langchain 1.2.0 → 2.0.0-dev-1765937705265

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 (104) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/agents/ReactAgent.cjs +28 -0
  3. package/dist/agents/ReactAgent.cjs.map +1 -1
  4. package/dist/agents/ReactAgent.d.cts +50 -14
  5. package/dist/agents/ReactAgent.d.cts.map +1 -1
  6. package/dist/agents/ReactAgent.d.ts +50 -14
  7. package/dist/agents/ReactAgent.d.ts.map +1 -1
  8. package/dist/agents/ReactAgent.js +28 -0
  9. package/dist/agents/ReactAgent.js.map +1 -1
  10. package/dist/agents/index.cjs.map +1 -1
  11. package/dist/agents/index.d.cts +41 -29
  12. package/dist/agents/index.d.cts.map +1 -1
  13. package/dist/agents/index.d.ts +41 -29
  14. package/dist/agents/index.d.ts.map +1 -1
  15. package/dist/agents/index.js.map +1 -1
  16. package/dist/agents/middleware/contextEditing.d.cts +2 -1
  17. package/dist/agents/middleware/contextEditing.d.cts.map +1 -1
  18. package/dist/agents/middleware/contextEditing.d.ts +2 -1
  19. package/dist/agents/middleware/contextEditing.d.ts.map +1 -1
  20. package/dist/agents/middleware/dynamicSystemPrompt.d.cts +2 -1
  21. package/dist/agents/middleware/dynamicSystemPrompt.d.cts.map +1 -1
  22. package/dist/agents/middleware/dynamicSystemPrompt.d.ts +2 -1
  23. package/dist/agents/middleware/dynamicSystemPrompt.d.ts.map +1 -1
  24. package/dist/agents/middleware/hitl.d.cts +9 -1
  25. package/dist/agents/middleware/hitl.d.cts.map +1 -1
  26. package/dist/agents/middleware/hitl.d.ts +9 -1
  27. package/dist/agents/middleware/hitl.d.ts.map +1 -1
  28. package/dist/agents/middleware/llmToolSelector.d.cts +4 -4
  29. package/dist/agents/middleware/llmToolSelector.d.cts.map +1 -1
  30. package/dist/agents/middleware/llmToolSelector.d.ts +4 -4
  31. package/dist/agents/middleware/llmToolSelector.d.ts.map +1 -1
  32. package/dist/agents/middleware/modelCallLimit.d.cts +6 -1
  33. package/dist/agents/middleware/modelCallLimit.d.cts.map +1 -1
  34. package/dist/agents/middleware/modelCallLimit.d.ts +6 -1
  35. package/dist/agents/middleware/modelCallLimit.d.ts.map +1 -1
  36. package/dist/agents/middleware/provider/anthropic/promptCaching.d.cts +7 -1
  37. package/dist/agents/middleware/provider/anthropic/promptCaching.d.cts.map +1 -1
  38. package/dist/agents/middleware/provider/anthropic/promptCaching.d.ts +7 -1
  39. package/dist/agents/middleware/provider/anthropic/promptCaching.d.ts.map +1 -1
  40. package/dist/agents/middleware/summarization.d.cts +30 -7
  41. package/dist/agents/middleware/summarization.d.cts.map +1 -1
  42. package/dist/agents/middleware/summarization.d.ts +30 -7
  43. package/dist/agents/middleware/summarization.d.ts.map +1 -1
  44. package/dist/agents/middleware/todoListMiddleware.d.cts +42 -1
  45. package/dist/agents/middleware/todoListMiddleware.d.cts.map +1 -1
  46. package/dist/agents/middleware/todoListMiddleware.d.ts +42 -1
  47. package/dist/agents/middleware/todoListMiddleware.d.ts.map +1 -1
  48. package/dist/agents/middleware/toolCallLimit.d.cts +2 -1
  49. package/dist/agents/middleware/toolCallLimit.d.cts.map +1 -1
  50. package/dist/agents/middleware/toolCallLimit.d.ts +2 -1
  51. package/dist/agents/middleware/toolCallLimit.d.ts.map +1 -1
  52. package/dist/agents/middleware/types.cjs.map +1 -1
  53. package/dist/agents/middleware/types.d.cts +125 -32
  54. package/dist/agents/middleware/types.d.cts.map +1 -1
  55. package/dist/agents/middleware/types.d.ts +125 -32
  56. package/dist/agents/middleware/types.d.ts.map +1 -1
  57. package/dist/agents/middleware/types.js.map +1 -1
  58. package/dist/agents/middleware.cjs +1 -1
  59. package/dist/agents/middleware.cjs.map +1 -1
  60. package/dist/agents/middleware.d.cts +4 -4
  61. package/dist/agents/middleware.d.cts.map +1 -1
  62. package/dist/agents/middleware.d.ts +4 -4
  63. package/dist/agents/middleware.d.ts.map +1 -1
  64. package/dist/agents/middleware.js +1 -1
  65. package/dist/agents/middleware.js.map +1 -1
  66. package/dist/agents/types.d.cts +254 -8
  67. package/dist/agents/types.d.cts.map +1 -1
  68. package/dist/agents/types.d.ts +254 -8
  69. package/dist/agents/types.d.ts.map +1 -1
  70. package/dist/index.d.cts +3 -3
  71. package/dist/index.d.ts +3 -3
  72. package/package.json +5 -5
  73. package/chat_models/universal.cjs +0 -1
  74. package/chat_models/universal.d.cts +0 -1
  75. package/chat_models/universal.d.ts +0 -1
  76. package/chat_models/universal.js +0 -1
  77. package/hub/node.cjs +0 -1
  78. package/hub/node.d.cts +0 -1
  79. package/hub/node.d.ts +0 -1
  80. package/hub/node.js +0 -1
  81. package/hub.cjs +0 -1
  82. package/hub.d.cts +0 -1
  83. package/hub.d.ts +0 -1
  84. package/hub.js +0 -1
  85. package/load/serializable.cjs +0 -1
  86. package/load/serializable.d.cts +0 -1
  87. package/load/serializable.d.ts +0 -1
  88. package/load/serializable.js +0 -1
  89. package/load.cjs +0 -1
  90. package/load.d.cts +0 -1
  91. package/load.d.ts +0 -1
  92. package/load.js +0 -1
  93. package/storage/encoder_backed.cjs +0 -1
  94. package/storage/encoder_backed.d.cts +0 -1
  95. package/storage/encoder_backed.d.ts +0 -1
  96. package/storage/encoder_backed.js +0 -1
  97. package/storage/file_system.cjs +0 -1
  98. package/storage/file_system.d.cts +0 -1
  99. package/storage/file_system.d.ts +0 -1
  100. package/storage/file_system.js +0 -1
  101. package/storage/in_memory.cjs +0 -1
  102. package/storage/in_memory.d.cts +0 -1
  103. package/storage/in_memory.d.ts +0 -1
  104. package/storage/in_memory.js +0 -1
@@ -3,6 +3,7 @@ import * as _langchain_core_language_models_base0 from "@langchain/core/language
3
3
  import { BaseLanguageModel } from "@langchain/core/language_models/base";
4
4
  import * as _langchain_core_messages0 from "@langchain/core/messages";
5
5
  import { BaseMessage } from "@langchain/core/messages";
6
+ import * as _langchain_core_tools3 from "@langchain/core/tools";
6
7
  import { InferInteropZodInput } from "@langchain/core/utils/types";
7
8
  import { z } from "zod/v3";
8
9
 
@@ -180,7 +181,7 @@ declare const contextSchema: z.ZodObject<{
180
181
  /**
181
182
  * Token counter function to use for summarization
182
183
  */
183
- tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>, z.ZodTypeDef, BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>>, "many">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;
184
+ tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>, z.ZodTypeDef, BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>>, "many">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;
184
185
  /**
185
186
  * Summary prompt to use for summarization
186
187
  * @default {@link DEFAULT_SUMMARY_PROMPT}
@@ -218,7 +219,7 @@ declare const contextSchema: z.ZodObject<{
218
219
  tokens?: number | undefined;
219
220
  messages?: number | undefined;
220
221
  } | undefined;
221
- tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
222
+ tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
222
223
  summaryPrompt: string;
223
224
  trimTokensToSummarize?: number | undefined;
224
225
  summaryPrefix?: string | undefined;
@@ -240,7 +241,7 @@ declare const contextSchema: z.ZodObject<{
240
241
  tokens?: number | undefined;
241
242
  messages?: number | undefined;
242
243
  } | undefined;
243
- tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
244
+ tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
244
245
  summaryPrompt?: string | undefined;
245
246
  trimTokensToSummarize?: number | undefined;
246
247
  summaryPrefix?: string | undefined;
@@ -381,7 +382,7 @@ declare function summarizationMiddleware(options: SummarizationMiddlewareConfig)
381
382
  tokens?: number | undefined;
382
383
  messages?: number | undefined;
383
384
  }>>;
384
- tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>, z.ZodTypeDef, BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>>, "many">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;
385
+ tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>, z.ZodTypeDef, BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>>, "many">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;
385
386
  summaryPrompt: z.ZodDefault<z.ZodString>;
386
387
  trimTokensToSummarize: z.ZodOptional<z.ZodNumber>;
387
388
  summaryPrefix: z.ZodOptional<z.ZodString>;
@@ -404,7 +405,7 @@ declare function summarizationMiddleware(options: SummarizationMiddlewareConfig)
404
405
  tokens?: number | undefined;
405
406
  messages?: number | undefined;
406
407
  } | undefined;
407
- tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
408
+ tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
408
409
  summaryPrompt: string;
409
410
  trimTokensToSummarize?: number | undefined;
410
411
  summaryPrefix?: string | undefined;
@@ -426,14 +427,36 @@ declare function summarizationMiddleware(options: SummarizationMiddlewareConfig)
426
427
  tokens?: number | undefined;
427
428
  messages?: number | undefined;
428
429
  } | undefined;
429
- tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
430
+ tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
430
431
  summaryPrompt?: string | undefined;
431
432
  trimTokensToSummarize?: number | undefined;
432
433
  summaryPrefix?: string | undefined;
433
434
  maxTokensBeforeSummary?: number | undefined;
434
435
  messagesToKeep?: number | undefined;
435
436
  model?: BaseLanguageModel<any, _langchain_core_language_models_base0.BaseLanguageModelCallOptions> | undefined;
436
- }>, any>;
437
+ }>, {
438
+ trigger?: {
439
+ fraction?: number | undefined;
440
+ tokens?: number | undefined;
441
+ messages?: number | undefined;
442
+ }[] | {
443
+ fraction?: number | undefined;
444
+ tokens?: number | undefined;
445
+ messages?: number | undefined;
446
+ } | undefined;
447
+ keep?: {
448
+ fraction?: number | undefined;
449
+ tokens?: number | undefined;
450
+ messages?: number | undefined;
451
+ } | undefined;
452
+ tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
453
+ summaryPrompt: string;
454
+ trimTokensToSummarize?: number | undefined;
455
+ summaryPrefix?: string | undefined;
456
+ maxTokensBeforeSummary?: number | undefined;
457
+ messagesToKeep?: number | undefined;
458
+ model?: BaseLanguageModel<any, _langchain_core_language_models_base0.BaseLanguageModelCallOptions> | undefined;
459
+ }, readonly (_langchain_core_tools3.ServerTool | _langchain_core_tools3.ClientTool)[]>;
437
460
  //#endregion
438
461
  export { ContextSize, KeepSize, SummarizationMiddlewareConfig, TokenCounter, summarizationMiddleware };
439
462
  //# sourceMappingURL=summarization.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"summarization.d.cts","names":["_langchain_core_messages0","__types_js8","z","BaseMessage","BaseLanguageModel","InferInteropZodInput","DEFAULT_SUMMARY_PROMPT","TokenCounter","Promise","contextSizeSchema","ZodNumber","ZodOptional","ZodTypeAny","ZodObject","ZodEffects","ContextSize","infer","keepSchema","KeepSize","contextSchema","_langchain_core_language_models_base0","BaseLanguageModelCallOptions","ZodTypeDef","ZodType","ZodArray","ZodUnion","MessageStructure","MessageType","ZodUnknown","ZodTuple","ZodPromise","ZodFunction","ZodString","ZodDefault","SummarizationMiddlewareConfig","getProfileLimits","summarizationMiddleware","AgentMiddleware"],"sources":["../../../src/agents/middleware/summarization.d.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport { BaseMessage } from \"@langchain/core/messages\";\nimport { BaseLanguageModel } from \"@langchain/core/language_models/base\";\nimport { InferInteropZodInput } from \"@langchain/core/utils/types\";\nexport declare const DEFAULT_SUMMARY_PROMPT = \"<role>\\nContext Extraction Assistant\\n</role>\\n\\n<primary_objective>\\nYour sole objective in this task is to extract the highest quality/most relevant context from the conversation history below.\\n</primary_objective>\\n\\n<objective_information>\\nYou're nearing the total number of input tokens you can accept, so you must extract the highest quality/most relevant pieces of information from your conversation history.\\nThis context will then overwrite the conversation history presented below. Because of this, ensure the context you extract is only the most important information to your overall goal.\\n</objective_information>\\n\\n<instructions>\\nThe conversation history below will be replaced with the context you extract in this step. Because of this, you must do your very best to extract and record all of the most important context from the conversation history.\\nYou want to ensure that you don't repeat any actions you've already completed, so the context you extract from the conversation history should be focused on the most important information to your overall goal.\\n</instructions>\\n\\nThe user will message you with the full message history you'll be extracting context from, to then replace. Carefully read over it all, and think deeply about what information is most important to your overall goal that should be saved:\\n\\nWith all of this in mind, please carefully read over the entire conversation history, and extract the most important and relevant context to replace it so that you can free up space in the conversation history.\\nRespond ONLY with the extracted context. Do not include any additional information, or text before or after the extracted context.\\n\\n<messages>\\nMessages to summarize:\\n{messages}\\n</messages>\";\nexport type TokenCounter = (messages: BaseMessage[]) => number | Promise<number>;\nexport declare const contextSizeSchema: z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n}, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>;\nexport type ContextSize = z.infer<typeof contextSizeSchema>;\nexport declare const keepSchema: z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to keep\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to keep\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n messages: z.ZodOptional<z.ZodNumber>;\n}, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>;\nexport type KeepSize = z.infer<typeof keepSchema>;\ndeclare const contextSchema: z.ZodObject<{\n /**\n * Model to use for summarization\n */\n model: z.ZodType<string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>, z.ZodTypeDef, string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>>;\n /**\n * Trigger conditions for summarization.\n * Can be a single condition object (all properties must be met) or an array of conditions (any condition must be met).\n *\n * @example\n * ```ts\n * // Single condition: trigger if tokens >= 5000 AND messages >= 3\n * trigger: { tokens: 5000, messages: 3 }\n *\n * // Multiple conditions: trigger if (tokens >= 5000 AND messages >= 3) OR (tokens >= 3000 AND messages >= 6)\n * trigger: [\n * { tokens: 5000, messages: 3 },\n * { tokens: 3000, messages: 6 }\n * ]\n * ```\n */\n trigger: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, z.ZodArray<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, \"many\">]>>;\n /**\n * Keep conditions for summarization\n */\n keep: z.ZodOptional<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to keep\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to keep\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>>;\n /**\n * Token counter function to use for summarization\n */\n tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>, z.ZodTypeDef, BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>>, \"many\">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;\n /**\n * Summary prompt to use for summarization\n * @default {@link DEFAULT_SUMMARY_PROMPT}\n */\n summaryPrompt: z.ZodDefault<z.ZodString>;\n /**\n * Number of tokens to trim to before summarizing\n */\n trimTokensToSummarize: z.ZodOptional<z.ZodNumber>;\n /**\n * Prefix to add to the summary\n */\n summaryPrefix: z.ZodOptional<z.ZodString>;\n /**\n * @deprecated Use `trigger: { tokens: value }` instead.\n */\n maxTokensBeforeSummary: z.ZodOptional<z.ZodNumber>;\n /**\n * @deprecated Use `keep: { messages: value }` instead.\n */\n messagesToKeep: z.ZodOptional<z.ZodNumber>;\n}, \"strip\", z.ZodTypeAny, {\n model: string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt: string;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n}, {\n model: string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt?: string | undefined;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n}>;\nexport type SummarizationMiddlewareConfig = InferInteropZodInput<typeof contextSchema>;\n/**\n * Get max input tokens from model profile or fallback to model name lookup\n */\nexport declare function getProfileLimits(input: BaseLanguageModel): number | undefined;\n/**\n * Summarization middleware that automatically summarizes conversation history when token limits are approached.\n *\n * This middleware monitors message token counts and automatically summarizes older\n * messages when a threshold is reached, preserving recent messages and maintaining\n * context continuity by ensuring AI/Tool message pairs remain together.\n *\n * @param options Configuration options for the summarization middleware\n * @returns A middleware instance\n *\n * @example\n * ```ts\n * import { summarizationMiddleware } from \"langchain\";\n * import { createAgent } from \"langchain\";\n *\n * // Single condition: trigger if tokens >= 4000 AND messages >= 10\n * const agent1 = createAgent({\n * llm: model,\n * tools: [getWeather],\n * middleware: [\n * summarizationMiddleware({\n * model: new ChatOpenAI({ model: \"gpt-4o\" }),\n * trigger: { tokens: 4000, messages: 10 },\n * keep: { messages: 20 },\n * })\n * ],\n * });\n *\n * // Multiple conditions: trigger if (tokens >= 5000 AND messages >= 3) OR (tokens >= 3000 AND messages >= 6)\n * const agent2 = createAgent({\n * llm: model,\n * tools: [getWeather],\n * middleware: [\n * summarizationMiddleware({\n * model: new ChatOpenAI({ model: \"gpt-4o\" }),\n * trigger: [\n * { tokens: 5000, messages: 3 },\n * { tokens: 3000, messages: 6 },\n * ],\n * keep: { messages: 20 },\n * })\n * ],\n * });\n *\n * ```\n */\nexport declare function summarizationMiddleware(options: SummarizationMiddlewareConfig): import(\"./types.js\").AgentMiddleware<undefined, z.ZodObject<{\n trigger: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, z.ZodArray<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, \"many\">]>>;\n keep: z.ZodOptional<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to keep\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to keep\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>>;\n tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>, z.ZodTypeDef, BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>>, \"many\">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;\n summaryPrompt: z.ZodDefault<z.ZodString>;\n trimTokensToSummarize: z.ZodOptional<z.ZodNumber>;\n summaryPrefix: z.ZodOptional<z.ZodString>;\n maxTokensBeforeSummary: z.ZodOptional<z.ZodNumber>;\n messagesToKeep: z.ZodOptional<z.ZodNumber>;\n} & {\n model: z.ZodOptional<z.ZodType<BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>, z.ZodTypeDef, BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>>>;\n}, \"strip\", z.ZodTypeAny, {\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt: string;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n model?: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions> | undefined;\n}, {\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt?: string | undefined;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n model?: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions> | undefined;\n}>, any>;\nexport {};\n//# sourceMappingURL=summarization.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"summarization.d.cts","names":["_langchain_core_messages0","_langchain_core_tools3","__types_js9","z","BaseMessage","BaseLanguageModel","InferInteropZodInput","DEFAULT_SUMMARY_PROMPT","TokenCounter","Promise","contextSizeSchema","ZodNumber","ZodOptional","ZodTypeAny","ZodObject","ZodEffects","ContextSize","infer","keepSchema","KeepSize","contextSchema","_langchain_core_language_models_base0","BaseLanguageModelCallOptions","ZodTypeDef","ZodType","ZodArray","ZodUnion","MessageToolSet","MessageStructure","MessageType","ZodUnknown","ZodTuple","ZodPromise","ZodFunction","ZodString","ZodDefault","SummarizationMiddlewareConfig","getProfileLimits","summarizationMiddleware","ServerTool","ClientTool","AgentMiddleware"],"sources":["../../../src/agents/middleware/summarization.d.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport { BaseMessage } from \"@langchain/core/messages\";\nimport { BaseLanguageModel } from \"@langchain/core/language_models/base\";\nimport { InferInteropZodInput } from \"@langchain/core/utils/types\";\nexport declare const DEFAULT_SUMMARY_PROMPT = \"<role>\\nContext Extraction Assistant\\n</role>\\n\\n<primary_objective>\\nYour sole objective in this task is to extract the highest quality/most relevant context from the conversation history below.\\n</primary_objective>\\n\\n<objective_information>\\nYou're nearing the total number of input tokens you can accept, so you must extract the highest quality/most relevant pieces of information from your conversation history.\\nThis context will then overwrite the conversation history presented below. Because of this, ensure the context you extract is only the most important information to your overall goal.\\n</objective_information>\\n\\n<instructions>\\nThe conversation history below will be replaced with the context you extract in this step. Because of this, you must do your very best to extract and record all of the most important context from the conversation history.\\nYou want to ensure that you don't repeat any actions you've already completed, so the context you extract from the conversation history should be focused on the most important information to your overall goal.\\n</instructions>\\n\\nThe user will message you with the full message history you'll be extracting context from, to then replace. Carefully read over it all, and think deeply about what information is most important to your overall goal that should be saved:\\n\\nWith all of this in mind, please carefully read over the entire conversation history, and extract the most important and relevant context to replace it so that you can free up space in the conversation history.\\nRespond ONLY with the extracted context. Do not include any additional information, or text before or after the extracted context.\\n\\n<messages>\\nMessages to summarize:\\n{messages}\\n</messages>\";\nexport type TokenCounter = (messages: BaseMessage[]) => number | Promise<number>;\nexport declare const contextSizeSchema: z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n}, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>;\nexport type ContextSize = z.infer<typeof contextSizeSchema>;\nexport declare const keepSchema: z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to keep\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to keep\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n messages: z.ZodOptional<z.ZodNumber>;\n}, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>;\nexport type KeepSize = z.infer<typeof keepSchema>;\ndeclare const contextSchema: z.ZodObject<{\n /**\n * Model to use for summarization\n */\n model: z.ZodType<string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>, z.ZodTypeDef, string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>>;\n /**\n * Trigger conditions for summarization.\n * Can be a single condition object (all properties must be met) or an array of conditions (any condition must be met).\n *\n * @example\n * ```ts\n * // Single condition: trigger if tokens >= 5000 AND messages >= 3\n * trigger: { tokens: 5000, messages: 3 }\n *\n * // Multiple conditions: trigger if (tokens >= 5000 AND messages >= 3) OR (tokens >= 3000 AND messages >= 6)\n * trigger: [\n * { tokens: 5000, messages: 3 },\n * { tokens: 3000, messages: 6 }\n * ]\n * ```\n */\n trigger: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, z.ZodArray<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, \"many\">]>>;\n /**\n * Keep conditions for summarization\n */\n keep: z.ZodOptional<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to keep\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to keep\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>>;\n /**\n * Token counter function to use for summarization\n */\n tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>, z.ZodTypeDef, BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>>, \"many\">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;\n /**\n * Summary prompt to use for summarization\n * @default {@link DEFAULT_SUMMARY_PROMPT}\n */\n summaryPrompt: z.ZodDefault<z.ZodString>;\n /**\n * Number of tokens to trim to before summarizing\n */\n trimTokensToSummarize: z.ZodOptional<z.ZodNumber>;\n /**\n * Prefix to add to the summary\n */\n summaryPrefix: z.ZodOptional<z.ZodString>;\n /**\n * @deprecated Use `trigger: { tokens: value }` instead.\n */\n maxTokensBeforeSummary: z.ZodOptional<z.ZodNumber>;\n /**\n * @deprecated Use `keep: { messages: value }` instead.\n */\n messagesToKeep: z.ZodOptional<z.ZodNumber>;\n}, \"strip\", z.ZodTypeAny, {\n model: string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt: string;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n}, {\n model: string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt?: string | undefined;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n}>;\nexport type SummarizationMiddlewareConfig = InferInteropZodInput<typeof contextSchema>;\n/**\n * Get max input tokens from model profile or fallback to model name lookup\n */\nexport declare function getProfileLimits(input: BaseLanguageModel): number | undefined;\n/**\n * Summarization middleware that automatically summarizes conversation history when token limits are approached.\n *\n * This middleware monitors message token counts and automatically summarizes older\n * messages when a threshold is reached, preserving recent messages and maintaining\n * context continuity by ensuring AI/Tool message pairs remain together.\n *\n * @param options Configuration options for the summarization middleware\n * @returns A middleware instance\n *\n * @example\n * ```ts\n * import { summarizationMiddleware } from \"langchain\";\n * import { createAgent } from \"langchain\";\n *\n * // Single condition: trigger if tokens >= 4000 AND messages >= 10\n * const agent1 = createAgent({\n * llm: model,\n * tools: [getWeather],\n * middleware: [\n * summarizationMiddleware({\n * model: new ChatOpenAI({ model: \"gpt-4o\" }),\n * trigger: { tokens: 4000, messages: 10 },\n * keep: { messages: 20 },\n * })\n * ],\n * });\n *\n * // Multiple conditions: trigger if (tokens >= 5000 AND messages >= 3) OR (tokens >= 3000 AND messages >= 6)\n * const agent2 = createAgent({\n * llm: model,\n * tools: [getWeather],\n * middleware: [\n * summarizationMiddleware({\n * model: new ChatOpenAI({ model: \"gpt-4o\" }),\n * trigger: [\n * { tokens: 5000, messages: 3 },\n * { tokens: 3000, messages: 6 },\n * ],\n * keep: { messages: 20 },\n * })\n * ],\n * });\n *\n * ```\n */\nexport declare function summarizationMiddleware(options: SummarizationMiddlewareConfig): import(\"./types.js\").AgentMiddleware<undefined, z.ZodObject<{\n trigger: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, z.ZodArray<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, \"many\">]>>;\n keep: z.ZodOptional<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to keep\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to keep\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>>;\n tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>, z.ZodTypeDef, BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>>, \"many\">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;\n summaryPrompt: z.ZodDefault<z.ZodString>;\n trimTokensToSummarize: z.ZodOptional<z.ZodNumber>;\n summaryPrefix: z.ZodOptional<z.ZodString>;\n maxTokensBeforeSummary: z.ZodOptional<z.ZodNumber>;\n messagesToKeep: z.ZodOptional<z.ZodNumber>;\n} & {\n model: z.ZodOptional<z.ZodType<BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>, z.ZodTypeDef, BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>>>;\n}, \"strip\", z.ZodTypeAny, {\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt: string;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n model?: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions> | undefined;\n}, {\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt?: string | undefined;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n model?: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions> | undefined;\n}>, {\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt: string;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n model?: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions> | undefined;\n}, readonly (import(\"@langchain/core/tools\").ServerTool | import(\"@langchain/core/tools\").ClientTool)[]>;\nexport {};\n//# sourceMappingURL=summarization.d.ts.map"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { AgentMiddleware } from "./types.js";
2
2
  import * as _langchain_core_messages0 from "@langchain/core/messages";
3
3
  import { BaseMessage } from "@langchain/core/messages";
4
+ import * as _langchain_core_tools1 from "@langchain/core/tools";
4
5
  import { z } from "zod/v3";
5
6
  import { InferInteropZodInput } from "@langchain/core/utils/types";
6
7
  import * as _langchain_core_language_models_base0 from "@langchain/core/language_models/base";
@@ -180,7 +181,7 @@ declare const contextSchema: z.ZodObject<{
180
181
  /**
181
182
  * Token counter function to use for summarization
182
183
  */
183
- tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>, z.ZodTypeDef, BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>>, "many">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;
184
+ tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>, z.ZodTypeDef, BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>>, "many">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;
184
185
  /**
185
186
  * Summary prompt to use for summarization
186
187
  * @default {@link DEFAULT_SUMMARY_PROMPT}
@@ -218,7 +219,7 @@ declare const contextSchema: z.ZodObject<{
218
219
  tokens?: number | undefined;
219
220
  messages?: number | undefined;
220
221
  } | undefined;
221
- tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
222
+ tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
222
223
  summaryPrompt: string;
223
224
  trimTokensToSummarize?: number | undefined;
224
225
  summaryPrefix?: string | undefined;
@@ -240,7 +241,7 @@ declare const contextSchema: z.ZodObject<{
240
241
  tokens?: number | undefined;
241
242
  messages?: number | undefined;
242
243
  } | undefined;
243
- tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
244
+ tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
244
245
  summaryPrompt?: string | undefined;
245
246
  trimTokensToSummarize?: number | undefined;
246
247
  summaryPrefix?: string | undefined;
@@ -381,7 +382,7 @@ declare function summarizationMiddleware(options: SummarizationMiddlewareConfig)
381
382
  tokens?: number | undefined;
382
383
  messages?: number | undefined;
383
384
  }>>;
384
- tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>, z.ZodTypeDef, BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>>, "many">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;
385
+ tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>, z.ZodTypeDef, BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>>, "many">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;
385
386
  summaryPrompt: z.ZodDefault<z.ZodString>;
386
387
  trimTokensToSummarize: z.ZodOptional<z.ZodNumber>;
387
388
  summaryPrefix: z.ZodOptional<z.ZodString>;
@@ -404,7 +405,7 @@ declare function summarizationMiddleware(options: SummarizationMiddlewareConfig)
404
405
  tokens?: number | undefined;
405
406
  messages?: number | undefined;
406
407
  } | undefined;
407
- tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
408
+ tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
408
409
  summaryPrompt: string;
409
410
  trimTokensToSummarize?: number | undefined;
410
411
  summaryPrefix?: string | undefined;
@@ -426,14 +427,36 @@ declare function summarizationMiddleware(options: SummarizationMiddlewareConfig)
426
427
  tokens?: number | undefined;
427
428
  messages?: number | undefined;
428
429
  } | undefined;
429
- tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
430
+ tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
430
431
  summaryPrompt?: string | undefined;
431
432
  trimTokensToSummarize?: number | undefined;
432
433
  summaryPrefix?: string | undefined;
433
434
  maxTokensBeforeSummary?: number | undefined;
434
435
  messagesToKeep?: number | undefined;
435
436
  model?: BaseLanguageModel<any, _langchain_core_language_models_base0.BaseLanguageModelCallOptions> | undefined;
436
- }>, any>;
437
+ }>, {
438
+ trigger?: {
439
+ fraction?: number | undefined;
440
+ tokens?: number | undefined;
441
+ messages?: number | undefined;
442
+ }[] | {
443
+ fraction?: number | undefined;
444
+ tokens?: number | undefined;
445
+ messages?: number | undefined;
446
+ } | undefined;
447
+ keep?: {
448
+ fraction?: number | undefined;
449
+ tokens?: number | undefined;
450
+ messages?: number | undefined;
451
+ } | undefined;
452
+ tokenCounter?: ((args_0: BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;
453
+ summaryPrompt: string;
454
+ trimTokensToSummarize?: number | undefined;
455
+ summaryPrefix?: string | undefined;
456
+ maxTokensBeforeSummary?: number | undefined;
457
+ messagesToKeep?: number | undefined;
458
+ model?: BaseLanguageModel<any, _langchain_core_language_models_base0.BaseLanguageModelCallOptions> | undefined;
459
+ }, readonly (_langchain_core_tools1.ServerTool | _langchain_core_tools1.ClientTool)[]>;
437
460
  //#endregion
438
461
  export { ContextSize, KeepSize, SummarizationMiddlewareConfig, TokenCounter, summarizationMiddleware };
439
462
  //# sourceMappingURL=summarization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"summarization.d.ts","names":["_langchain_core_messages0","__types_js8","z","BaseMessage","BaseLanguageModel","InferInteropZodInput","DEFAULT_SUMMARY_PROMPT","TokenCounter","Promise","contextSizeSchema","ZodNumber","ZodOptional","ZodTypeAny","ZodObject","ZodEffects","ContextSize","infer","keepSchema","KeepSize","contextSchema","_langchain_core_language_models_base0","BaseLanguageModelCallOptions","ZodTypeDef","ZodType","ZodArray","ZodUnion","MessageStructure","MessageType","ZodUnknown","ZodTuple","ZodPromise","ZodFunction","ZodString","ZodDefault","SummarizationMiddlewareConfig","getProfileLimits","summarizationMiddleware","AgentMiddleware"],"sources":["../../../src/agents/middleware/summarization.d.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport { BaseMessage } from \"@langchain/core/messages\";\nimport { BaseLanguageModel } from \"@langchain/core/language_models/base\";\nimport { InferInteropZodInput } from \"@langchain/core/utils/types\";\nexport declare const DEFAULT_SUMMARY_PROMPT = \"<role>\\nContext Extraction Assistant\\n</role>\\n\\n<primary_objective>\\nYour sole objective in this task is to extract the highest quality/most relevant context from the conversation history below.\\n</primary_objective>\\n\\n<objective_information>\\nYou're nearing the total number of input tokens you can accept, so you must extract the highest quality/most relevant pieces of information from your conversation history.\\nThis context will then overwrite the conversation history presented below. Because of this, ensure the context you extract is only the most important information to your overall goal.\\n</objective_information>\\n\\n<instructions>\\nThe conversation history below will be replaced with the context you extract in this step. Because of this, you must do your very best to extract and record all of the most important context from the conversation history.\\nYou want to ensure that you don't repeat any actions you've already completed, so the context you extract from the conversation history should be focused on the most important information to your overall goal.\\n</instructions>\\n\\nThe user will message you with the full message history you'll be extracting context from, to then replace. Carefully read over it all, and think deeply about what information is most important to your overall goal that should be saved:\\n\\nWith all of this in mind, please carefully read over the entire conversation history, and extract the most important and relevant context to replace it so that you can free up space in the conversation history.\\nRespond ONLY with the extracted context. Do not include any additional information, or text before or after the extracted context.\\n\\n<messages>\\nMessages to summarize:\\n{messages}\\n</messages>\";\nexport type TokenCounter = (messages: BaseMessage[]) => number | Promise<number>;\nexport declare const contextSizeSchema: z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n}, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>;\nexport type ContextSize = z.infer<typeof contextSizeSchema>;\nexport declare const keepSchema: z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to keep\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to keep\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n messages: z.ZodOptional<z.ZodNumber>;\n}, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>;\nexport type KeepSize = z.infer<typeof keepSchema>;\ndeclare const contextSchema: z.ZodObject<{\n /**\n * Model to use for summarization\n */\n model: z.ZodType<string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>, z.ZodTypeDef, string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>>;\n /**\n * Trigger conditions for summarization.\n * Can be a single condition object (all properties must be met) or an array of conditions (any condition must be met).\n *\n * @example\n * ```ts\n * // Single condition: trigger if tokens >= 5000 AND messages >= 3\n * trigger: { tokens: 5000, messages: 3 }\n *\n * // Multiple conditions: trigger if (tokens >= 5000 AND messages >= 3) OR (tokens >= 3000 AND messages >= 6)\n * trigger: [\n * { tokens: 5000, messages: 3 },\n * { tokens: 3000, messages: 6 }\n * ]\n * ```\n */\n trigger: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, z.ZodArray<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, \"many\">]>>;\n /**\n * Keep conditions for summarization\n */\n keep: z.ZodOptional<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to keep\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to keep\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>>;\n /**\n * Token counter function to use for summarization\n */\n tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>, z.ZodTypeDef, BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>>, \"many\">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;\n /**\n * Summary prompt to use for summarization\n * @default {@link DEFAULT_SUMMARY_PROMPT}\n */\n summaryPrompt: z.ZodDefault<z.ZodString>;\n /**\n * Number of tokens to trim to before summarizing\n */\n trimTokensToSummarize: z.ZodOptional<z.ZodNumber>;\n /**\n * Prefix to add to the summary\n */\n summaryPrefix: z.ZodOptional<z.ZodString>;\n /**\n * @deprecated Use `trigger: { tokens: value }` instead.\n */\n maxTokensBeforeSummary: z.ZodOptional<z.ZodNumber>;\n /**\n * @deprecated Use `keep: { messages: value }` instead.\n */\n messagesToKeep: z.ZodOptional<z.ZodNumber>;\n}, \"strip\", z.ZodTypeAny, {\n model: string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt: string;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n}, {\n model: string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt?: string | undefined;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n}>;\nexport type SummarizationMiddlewareConfig = InferInteropZodInput<typeof contextSchema>;\n/**\n * Get max input tokens from model profile or fallback to model name lookup\n */\nexport declare function getProfileLimits(input: BaseLanguageModel): number | undefined;\n/**\n * Summarization middleware that automatically summarizes conversation history when token limits are approached.\n *\n * This middleware monitors message token counts and automatically summarizes older\n * messages when a threshold is reached, preserving recent messages and maintaining\n * context continuity by ensuring AI/Tool message pairs remain together.\n *\n * @param options Configuration options for the summarization middleware\n * @returns A middleware instance\n *\n * @example\n * ```ts\n * import { summarizationMiddleware } from \"langchain\";\n * import { createAgent } from \"langchain\";\n *\n * // Single condition: trigger if tokens >= 4000 AND messages >= 10\n * const agent1 = createAgent({\n * llm: model,\n * tools: [getWeather],\n * middleware: [\n * summarizationMiddleware({\n * model: new ChatOpenAI({ model: \"gpt-4o\" }),\n * trigger: { tokens: 4000, messages: 10 },\n * keep: { messages: 20 },\n * })\n * ],\n * });\n *\n * // Multiple conditions: trigger if (tokens >= 5000 AND messages >= 3) OR (tokens >= 3000 AND messages >= 6)\n * const agent2 = createAgent({\n * llm: model,\n * tools: [getWeather],\n * middleware: [\n * summarizationMiddleware({\n * model: new ChatOpenAI({ model: \"gpt-4o\" }),\n * trigger: [\n * { tokens: 5000, messages: 3 },\n * { tokens: 3000, messages: 6 },\n * ],\n * keep: { messages: 20 },\n * })\n * ],\n * });\n *\n * ```\n */\nexport declare function summarizationMiddleware(options: SummarizationMiddlewareConfig): import(\"./types.js\").AgentMiddleware<undefined, z.ZodObject<{\n trigger: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, z.ZodArray<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, \"many\">]>>;\n keep: z.ZodOptional<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to keep\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to keep\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>>;\n tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>, z.ZodTypeDef, BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>>, \"many\">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;\n summaryPrompt: z.ZodDefault<z.ZodString>;\n trimTokensToSummarize: z.ZodOptional<z.ZodNumber>;\n summaryPrefix: z.ZodOptional<z.ZodString>;\n maxTokensBeforeSummary: z.ZodOptional<z.ZodNumber>;\n messagesToKeep: z.ZodOptional<z.ZodNumber>;\n} & {\n model: z.ZodOptional<z.ZodType<BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>, z.ZodTypeDef, BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>>>;\n}, \"strip\", z.ZodTypeAny, {\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt: string;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n model?: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions> | undefined;\n}, {\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt?: string | undefined;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n model?: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions> | undefined;\n}>, any>;\nexport {};\n//# sourceMappingURL=summarization.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"summarization.d.ts","names":["_langchain_core_messages0","_langchain_core_tools1","__types_js8","z","BaseMessage","BaseLanguageModel","InferInteropZodInput","DEFAULT_SUMMARY_PROMPT","TokenCounter","Promise","contextSizeSchema","ZodNumber","ZodOptional","ZodTypeAny","ZodObject","ZodEffects","ContextSize","infer","keepSchema","KeepSize","contextSchema","_langchain_core_language_models_base0","BaseLanguageModelCallOptions","ZodTypeDef","ZodType","ZodArray","ZodUnion","MessageToolSet","MessageStructure","MessageType","ZodUnknown","ZodTuple","ZodPromise","ZodFunction","ZodString","ZodDefault","SummarizationMiddlewareConfig","getProfileLimits","summarizationMiddleware","ServerTool","ClientTool","AgentMiddleware"],"sources":["../../../src/agents/middleware/summarization.d.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport { BaseMessage } from \"@langchain/core/messages\";\nimport { BaseLanguageModel } from \"@langchain/core/language_models/base\";\nimport { InferInteropZodInput } from \"@langchain/core/utils/types\";\nexport declare const DEFAULT_SUMMARY_PROMPT = \"<role>\\nContext Extraction Assistant\\n</role>\\n\\n<primary_objective>\\nYour sole objective in this task is to extract the highest quality/most relevant context from the conversation history below.\\n</primary_objective>\\n\\n<objective_information>\\nYou're nearing the total number of input tokens you can accept, so you must extract the highest quality/most relevant pieces of information from your conversation history.\\nThis context will then overwrite the conversation history presented below. Because of this, ensure the context you extract is only the most important information to your overall goal.\\n</objective_information>\\n\\n<instructions>\\nThe conversation history below will be replaced with the context you extract in this step. Because of this, you must do your very best to extract and record all of the most important context from the conversation history.\\nYou want to ensure that you don't repeat any actions you've already completed, so the context you extract from the conversation history should be focused on the most important information to your overall goal.\\n</instructions>\\n\\nThe user will message you with the full message history you'll be extracting context from, to then replace. Carefully read over it all, and think deeply about what information is most important to your overall goal that should be saved:\\n\\nWith all of this in mind, please carefully read over the entire conversation history, and extract the most important and relevant context to replace it so that you can free up space in the conversation history.\\nRespond ONLY with the extracted context. Do not include any additional information, or text before or after the extracted context.\\n\\n<messages>\\nMessages to summarize:\\n{messages}\\n</messages>\";\nexport type TokenCounter = (messages: BaseMessage[]) => number | Promise<number>;\nexport declare const contextSizeSchema: z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n}, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>;\nexport type ContextSize = z.infer<typeof contextSizeSchema>;\nexport declare const keepSchema: z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to keep\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to keep\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n messages: z.ZodOptional<z.ZodNumber>;\n}, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n}>;\nexport type KeepSize = z.infer<typeof keepSchema>;\ndeclare const contextSchema: z.ZodObject<{\n /**\n * Model to use for summarization\n */\n model: z.ZodType<string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>, z.ZodTypeDef, string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>>;\n /**\n * Trigger conditions for summarization.\n * Can be a single condition object (all properties must be met) or an array of conditions (any condition must be met).\n *\n * @example\n * ```ts\n * // Single condition: trigger if tokens >= 5000 AND messages >= 3\n * trigger: { tokens: 5000, messages: 3 }\n *\n * // Multiple conditions: trigger if (tokens >= 5000 AND messages >= 3) OR (tokens >= 3000 AND messages >= 6)\n * trigger: [\n * { tokens: 5000, messages: 3 },\n * { tokens: 3000, messages: 6 }\n * ]\n * ```\n */\n trigger: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, z.ZodArray<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, \"many\">]>>;\n /**\n * Keep conditions for summarization\n */\n keep: z.ZodOptional<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to keep\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to keep\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>>;\n /**\n * Token counter function to use for summarization\n */\n tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>, z.ZodTypeDef, BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>>, \"many\">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;\n /**\n * Summary prompt to use for summarization\n * @default {@link DEFAULT_SUMMARY_PROMPT}\n */\n summaryPrompt: z.ZodDefault<z.ZodString>;\n /**\n * Number of tokens to trim to before summarizing\n */\n trimTokensToSummarize: z.ZodOptional<z.ZodNumber>;\n /**\n * Prefix to add to the summary\n */\n summaryPrefix: z.ZodOptional<z.ZodString>;\n /**\n * @deprecated Use `trigger: { tokens: value }` instead.\n */\n maxTokensBeforeSummary: z.ZodOptional<z.ZodNumber>;\n /**\n * @deprecated Use `keep: { messages: value }` instead.\n */\n messagesToKeep: z.ZodOptional<z.ZodNumber>;\n}, \"strip\", z.ZodTypeAny, {\n model: string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt: string;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n}, {\n model: string | BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>;\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt?: string | undefined;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n}>;\nexport type SummarizationMiddlewareConfig = InferInteropZodInput<typeof contextSchema>;\n/**\n * Get max input tokens from model profile or fallback to model name lookup\n */\nexport declare function getProfileLimits(input: BaseLanguageModel): number | undefined;\n/**\n * Summarization middleware that automatically summarizes conversation history when token limits are approached.\n *\n * This middleware monitors message token counts and automatically summarizes older\n * messages when a threshold is reached, preserving recent messages and maintaining\n * context continuity by ensuring AI/Tool message pairs remain together.\n *\n * @param options Configuration options for the summarization middleware\n * @returns A middleware instance\n *\n * @example\n * ```ts\n * import { summarizationMiddleware } from \"langchain\";\n * import { createAgent } from \"langchain\";\n *\n * // Single condition: trigger if tokens >= 4000 AND messages >= 10\n * const agent1 = createAgent({\n * llm: model,\n * tools: [getWeather],\n * middleware: [\n * summarizationMiddleware({\n * model: new ChatOpenAI({ model: \"gpt-4o\" }),\n * trigger: { tokens: 4000, messages: 10 },\n * keep: { messages: 20 },\n * })\n * ],\n * });\n *\n * // Multiple conditions: trigger if (tokens >= 5000 AND messages >= 3) OR (tokens >= 3000 AND messages >= 6)\n * const agent2 = createAgent({\n * llm: model,\n * tools: [getWeather],\n * middleware: [\n * summarizationMiddleware({\n * model: new ChatOpenAI({ model: \"gpt-4o\" }),\n * trigger: [\n * { tokens: 5000, messages: 3 },\n * { tokens: 3000, messages: 6 },\n * ],\n * keep: { messages: 20 },\n * })\n * ],\n * });\n *\n * ```\n */\nexport declare function summarizationMiddleware(options: SummarizationMiddlewareConfig): import(\"./types.js\").AgentMiddleware<undefined, z.ZodObject<{\n trigger: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, z.ZodArray<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to use as the trigger\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to use as the trigger\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of messages to use as the trigger\n */\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, \"many\">]>>;\n keep: z.ZodOptional<z.ZodEffects<z.ZodObject<{\n /**\n * Fraction of the model's context size to keep\n */\n fraction: z.ZodOptional<z.ZodNumber>;\n /**\n * Number of tokens to keep\n */\n tokens: z.ZodOptional<z.ZodNumber>;\n messages: z.ZodOptional<z.ZodNumber>;\n }, \"strip\", z.ZodTypeAny, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }, {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }>>;\n tokenCounter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodArray<z.ZodType<BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>, z.ZodTypeDef, BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>>, \"many\">], z.ZodUnknown>, z.ZodUnion<[z.ZodNumber, z.ZodPromise<z.ZodNumber>]>>>;\n summaryPrompt: z.ZodDefault<z.ZodString>;\n trimTokensToSummarize: z.ZodOptional<z.ZodNumber>;\n summaryPrefix: z.ZodOptional<z.ZodString>;\n maxTokensBeforeSummary: z.ZodOptional<z.ZodNumber>;\n messagesToKeep: z.ZodOptional<z.ZodNumber>;\n} & {\n model: z.ZodOptional<z.ZodType<BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>, z.ZodTypeDef, BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions>>>;\n}, \"strip\", z.ZodTypeAny, {\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt: string;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n model?: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions> | undefined;\n}, {\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt?: string | undefined;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n model?: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions> | undefined;\n}>, {\n trigger?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n }[] | {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n keep?: {\n fraction?: number | undefined;\n tokens?: number | undefined;\n messages?: number | undefined;\n } | undefined;\n tokenCounter?: ((args_0: BaseMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>, import(\"@langchain/core/messages\").MessageType>[], ...args: unknown[]) => number | Promise<number>) | undefined;\n summaryPrompt: string;\n trimTokensToSummarize?: number | undefined;\n summaryPrefix?: string | undefined;\n maxTokensBeforeSummary?: number | undefined;\n messagesToKeep?: number | undefined;\n model?: BaseLanguageModel<any, import(\"@langchain/core/language_models/base\").BaseLanguageModelCallOptions> | undefined;\n}, readonly (import(\"@langchain/core/tools\").ServerTool | import(\"@langchain/core/tools\").ClientTool)[]>;\nexport {};\n//# sourceMappingURL=summarization.d.ts.map"],"mappings":";;;;;;;;;;KAKYQ,YAAAA,cAA0BJ,2BAA2BK;cAC5CC,mBAAmBP,CAAAA,CAAEY,WAAWZ,CAAAA,CAAEW;;;;EAD3CN,QAAAA,EAKEL,CAAAA,CAAES,WALQ,CAKIT,CAAAA,CAAEQ,SALQP,CAAAA;EACjBM;;;EAQOC,MAAAA,EAAhBR,CAAAA,CAAES,WAAcD,CAAFR,CAAAA,CAAEQ,SAAAA,CAAAA;EAAdC;;;EAKAC,QAAAA,EADAV,CAAAA,CAAES,WACFC,CADcV,CAAAA,CAAEQ,SAChBE,CAAAA;CAbuCV,EAAEW,OAAAA,EAa3CX,CAAAA,CAAEU,UAbyCC,EAAAA;EAAbC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAU,MAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EA8BxCC,QAAAA,CAAAA,EAAAA,MAAW,GAAA,SAAkBN;AACzC,CAAA,EAAA;EAI8BC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAdC,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAIYD,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;CAAhBR,CAAAA,EAAES;EACgBD,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAdC,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EACFC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;CAVgCV,EAAEW;EAAbC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAU,MAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EA2BjCI,QAAAA,CAAAA,EAAQ,MAAA,GAAA,SAAkBD;AAAY,CAAA,CAAA;AAoLhDG,KAhNUL,WAAAA,GAAcb,CAAAA,CAAEc,KAgN1BI,CAAAA,OAhNuCX,iBAiC2DY,CAAAA;AAAtEjB,cAhCTa,UAgCSb,EAhCGF,CAAAA,CAAEY,UAgCLV,CAhCgBF,CAAAA,CAAEW,SAgClBT,CAAAA;EAAuGkB;;;EAAxHC,QAAAA,EA5BCrB,CAAAA,CAAES,WA4BHY,CA5BerB,CAAAA,CAAEQ,SA4BjBa,CAAAA;EAqBqBb;;;EAIhBC,MAAAA,EAjDNT,CAAAA,CAAES,WAiDIA,CAjDQT,CAAAA,CAAEQ,SAiDVC,CAAAA;EAIgBD,QAAAA,EApDpBR,CAAAA,CAAES,WAoDkBD,CApDNR,CAAAA,CAAEQ,SAoDIA,CAAAA;CAAhBR,EAAES,OAAAA,EAnDRT,CAAAA,CAAEU,UAmDMD,EAAAA;EACFC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAboCC,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAbC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;CAiCTZ,EAAEQ;EAAdC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAIYD,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAdC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;CAIcT,CAAAA,EAAEQ;EAAdC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EACFC,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAbgBC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;CAAfX,EAAEY;EAAXU,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EA7BmBC,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAdd,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;CAkEiBT,CAAAA;AAAZS,KAxFRO,QAAAA,GAAWhB,CAAAA,CAAEc,KAwFLL,CAAAA,OAxFkBM,UAwFlBN,CAAAA;cAvFNQ,aA2FkBT,EA3FHR,CAAAA,CAAEW,SA2FCH,CAAAA;EAAdC;;;EAEAC,KAAAA,EAzFPV,CAAAA,CAAEqB,OAyFKX,CAAAA,MAAAA,GAzFYR,iBAyFZQ,CAAAA,GAAAA,EAsFhBQ,qCAAAA,CA/KkGC,4BAAAA,CAyFlFT,EAzFiHV,CAAAA,CAAEoB,UAyFnHV,EAAAA,MAAAA,GAzFwIR,iBAyFxIQ,CAAAA,GAAAA,EAzF6HQ,qCAAAA,CAAiFC,4BAAAA,CAyF9MT,CAAAA;EAVqBC;;;;;;;;;;;;;;;;EA8BwaH,OAAAA,EA5FlcR,CAAAA,CAAES,WA4FgcD,CA5FpbR,CAAAA,CAAEuB,QA4Fkbf,CAAAA,CA5FxaR,CAAAA,CAAEY,UA4FsaJ,CA5F3ZR,CAAAA,CAAEW,SA4FyZH,CAAAA;IAA0BA;;;IAAvcsB,QAAAA,EAxFhB9B,CAAAA,CAAES,WAwFcqB,CAxFF9B,CAAAA,CAAEQ,SAwFAsB,CAAAA;IAAdrB;;;IASuBD,MAAAA,EA7F3BR,CAAAA,CAAES,WA6FyBD,CA7FbR,CAAAA,CAAEQ,SA6FWA,CAAAA;IAAdC;;;IAQeD,QAAAA,EAjG1BR,CAAAA,CAAES,WAiGwBD,CAjGZR,CAAAA,CAAEQ,SAiGUA,CAAAA;EAAdC,CAAAA,EAAAA,OAAAA,EAhGdT,CAAAA,CAAEU,UAgGYD,EAAAA;IAIMD,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAAdC,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IACRC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAUQ,CAAAA,EAAAA;IACJhB,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAAiBL,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAe2F2B;IAAc3B,QAAAA,CAAAA,EAAAA,MAAAA,GAAlE4B,SAAAA;EAAgB5B,CAAAA,CAAAA,EAAAA;IAA/DI,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAAuMK,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAAOY,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAOvNhB,CAAAA,EAAAA;IAAiBL,QAAAA,CAAAA,EAAAA,MAAAA,GAe2F2B,SAAAA;IAAc3B,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAlE4B;IAAgB5B,QAAAA,CAAAA,EAAAA,MAAAA,GAAwF6B,SAAAA;EAAvJzB,CAAAA,CAAAA,EA3HrBD,CAAAA,CAAEsB,QA2HmBrB,CA3HVD,CAAAA,CAAEY,UA2HQX,CA3HGD,CAAAA,CAAEW,SA2HLV,CAAAA;IAAuMK;;AA7K5L;IAoL5B2B,QAAAA,EA9HMjC,CAAAA,CAAES,WA8HRwB,CA9HoBjC,CAAAA,CAAEQ,SA8HO,CAAA;IAmDjB2B;;;IAKJ1B,MAAAA,EAlLJT,CAAAA,CAAES,WAkLEA,CAlLUT,CAAAA,CAAEQ,SAkLZC,CAAAA;IAIYD;;;IAIZC,QAAAA,EAtLFT,CAAAA,CAAES,WAsLAA,CAtLYT,CAAAA,CAAEQ,SAsLdC,CAAAA;EACFC,CAAAA,EAAAA,OAAAA,EAtLFV,CAAAA,CAAEU,UAsLAA,EAAAA;IAboCC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAAbC,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAiCPJ,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAdC,CAAAA,EAAAA;IAIYD,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAAdC,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAIgBD,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAdC,CAAAA,CAAAA,EAAAA;IACFC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAbgBC,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAAbC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAXU,CAAAA,EAAAA;IA7BmBC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAAdd,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IA+DmBD,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAdC,CAAAA,CAAAA,EAAAA,MAAAA,CAAAA,CAAAA,CAAAA,CAAAA;EAIYD;;;EACZC,IAAAA,EAzNVT,CAAAA,CAAES,WAyNQA,CAzNIT,CAAAA,CAAEY,UAyNNH,CAzNiBT,CAAAA,CAAEW,SAyNnBF,CAAAA;IACFC;;;IAVND,QAAAA,EA5MMT,CAAAA,CAAES,WA4MRA,CA5MoBT,CAAAA,CAAEQ,SA4MtBC,CAAAA;IAAWZ;;;IA2BwDI,MAAAA,EAnO/DD,CAAAA,CAAES,WAmO6DR,CAnOjDD,CAAAA,CAAEQ,SAmO+CP,CAAAA;IAAuKmB,QAAAA,EAlOpOpB,CAAAA,CAAES,WAkOkOW,CAlOtNpB,CAAAA,CAAEQ,SAkOoNY,CAAAA;EAAUvB,CAAAA,EAAAA,OAAAA,EAjOhPG,CAAAA,CAAEU,UAiOmVc,EAAAA;IAAc3B,QAAAA,CAAAA,EAAAA,MAAAA,GAAlE4B,SAAAA;IAAgB5B,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAwF6B;IAAvJzB,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAA3LoB,CAAAA,EAAAA;IAAXC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAAwXK,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAApYC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAA+ZpB,CAAAA,CAAAA,EAAAA;IAA0BA,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAAbqB,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAAzBN,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAjaO,CAAAA,EAAAA;IAAdrB,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IACcsB,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAAbC,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EACsBxB,CAAAA,CAAAA,CAAAA;EAAdC;;;EAEeD,YAAAA,EAjN1BR,CAAAA,CAAES,WAiNwBD,CAjNZR,CAAAA,CAAE8B,WAiNUtB,CAjNER,CAAAA,CAAE4B,QAiNJpB,CAAAA,CAjNcR,CAAAA,CAAEsB,QAiNhBd,CAjNyBR,CAAAA,CAAEqB,OAiN3Bb,CAjNmCP,WAiNnCO,CAjNoJX,yBAAAA,CAAlE4B,gBAiNlFjB,CA/OrBX,yBAAAA,CA8B2J2B,cAAAA,CAiNtIhB,EAjNkGX,yBAAAA,CAAwF6B,WAAAA,CAiN1LlB,EAjNwMR,CAAAA,CAAEoB,UAiN1MZ,EAjNsNP,WAiNtNO,CAjNuUX,yBAAAA,CAAlE4B,gBAiNrQjB,CAjNoNX,yBAAAA,CAAqG2B,cAAAA,CAiNzThB,EAjNqRX,yBAAAA,CAAwF6B,WAAAA,CAiN7WlB,CAAAA,EAAAA,MAAAA,CAAAA,CAAAA,EAjNsYR,CAAAA,CAAE2B,UAiNxYnB,CAAAA,EAjNqZR,CAAAA,CAAEuB,QAiNvZf,CAAAA,CAjNiaR,CAAAA,CAAEQ,SAiNnaA,EAjN8aR,CAAAA,CAAE6B,UAiNhbrB,CAjN2bR,CAAAA,CAAEQ,SAiN7bA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA;EAAdC;;;;EAGKP,aAAAA,EA/MhBF,CAAAA,CAAEgC,UA+Mc9B,CA/MHF,CAAAA,CAAE+B,SA+MC7B,CAAAA;EAAuGkB;;;EAA/GC,qBAAAA,EA3MArB,CAAAA,CAAES,WA2MFY,CA3McrB,CAAAA,CAAEQ,SA2MhBa,CAAAA;EAAdZ;;;EAgBiIZ,aAAAA,EAvN3HG,CAAAA,CAAES,WAuNuDgB,CAvN3CzB,CAAAA,CAAE+B,SAuNyCN,CAAAA;EAAgB5B;;;EAA+IqB,sBAAAA,EAnN/MlB,CAAAA,CAAES,WAyNoDU,CAzNxCnB,CAAAA,CAAEQ,SAyNsCW,CAAAA;EAAtEjB;;;EAgBgFL,cAAAA,EArOxEG,CAAAA,CAAES,WAqO8JiB,CArOlJ1B,CAAAA,CAAEQ,SAqOgJkB,CAAAA;CAAvJzB,EAAAA,OAAAA,EApOjBD,CAAAA,CAAEU,UAoOeT,EAAAA;EAAuMK,KAAAA,EAAAA,MAAAA,GAnOhNJ,iBAmOgNI,CAAAA,GAAAA,EApO5MY,qCAAAA,CACkEC,4BAAAA,CAmO0Ib;EAAOY,OAAAA,CAAAA,EAAAA;IAM/NhB,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IA1I+HS,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAASd,QAAAA,CAAAA,EAAAA,MAAAA,GA0JpB2B,SAAAA;EAAc3B,CAAAA,EAAAA,GAAAA;IAAlDA,QAAAA,CAAAA,EAAAA,MAAAA,GAAwF6B,SAAAA;IAAvJzB,MAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;IAAuMK,QAAAA,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAOY,CAAAA,GAAAA,SAAAA;EAM/NhB,IAAAA,CAAAA,EAAAA;IAAiBJ,QAAAA,CAAAA,EAAAA,MACgBsC,GAAAA,SAAAA;IAAUtC,MAAAA,CAAAA,EAAAA,MAAAA,GAAmCuC,SAAAA;;EAjKmC,CAAA,GAAA,SAAA;2BAhFhGpC,YAAiHJ,yBAAAA,CAAlE4B,iBAfvC5B,yBAAAA,CAe2F2B,cAAAA,GAApC3B,yBAAAA,CAAwF6B,WAAAA,qCAAgDpB;;;;;;;kBAOhNJ,uBAPuNgB,qCAAAA,CAOjJC,4BAAAA;;;;;;;;;;;;;;;2BAe7DlB,YAAiHJ,yBAAAA,CAAlE4B,iBAfvC5B,yBAAAA,CAe2F2B,cAAAA,GAApC3B,yBAAAA,CAAwF6B,WAAAA,qCAAgDpB;;;;;;;KAOxN2B,6BAAAA,GAAgC9B,4BAA4Bc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmDhDkB,uBAAAA,UAAiCF,2DAAgFjC,CAAAA,CAAEW;WAC9HX,CAAAA,CAAES,YAAYT,CAAAA,CAAEuB,UAAUvB,CAAAA,CAAEY,WAAWZ,CAAAA,CAAEW;;;;cAIpCX,CAAAA,CAAES,YAAYT,CAAAA,CAAEQ;;;;YAIlBR,CAAAA,CAAES,YAAYT,CAAAA,CAAEQ;;;;cAIdR,CAAAA,CAAES,YAAYT,CAAAA,CAAEQ;cAClBR,CAAAA,CAAEU;;;;;;;;;;;;;;;;MAgBVV,CAAAA,CAAEsB,SAAStB,CAAAA,CAAEY,WAAWZ,CAAAA,CAAEW;;;;cAIhBX,CAAAA,CAAES,YAAYT,CAAAA,CAAEQ;;;;YAIlBR,CAAAA,CAAES,YAAYT,CAAAA,CAAEQ;;;;cAIdR,CAAAA,CAAES,YAAYT,CAAAA,CAAEQ;cAClBR,CAAAA,CAAEU;;;;;;;;;;;;;;;;;QAiBRV,CAAAA,CAAES,YAAYT,CAAAA,CAAEY,WAAWZ,CAAAA,CAAEW;;;;cAIrBX,CAAAA,CAAES,YAAYT,CAAAA,CAAEQ;;;;YAIlBR,CAAAA,CAAES,YAAYT,CAAAA,CAAEQ;cACdR,CAAAA,CAAES,YAAYT,CAAAA,CAAEQ;cAClBR,CAAAA,CAAEU;;;;;;;;;;;;;;;;;gBAiBAV,CAAAA,CAAES,YAAYT,CAAAA,CAAE8B,YAAY9B,CAAAA,CAAE4B,UAAU5B,CAAAA,CAAEsB,SAAStB,CAAAA,CAAEqB,QAAQpB,YAAiHJ,yBAAAA,CAAlE4B,iBA3BvG5B,yBAAAA,CA2B2J2B,cAAAA,GAApC3B,yBAAAA,CAAwF6B,WAAAA,GAAc1B,CAAAA,CAAEoB,YAAYnB,YAAiHJ,yBAAAA,CAAlE4B,iBAAjD5B,yBAAAA,CAAqG2B,cAAAA,GAApC3B,yBAAAA,CAAwF6B,WAAAA,cAAyB1B,CAAAA,CAAE2B,aAAa3B,CAAAA,CAAEuB,UAAUvB,CAAAA,CAAEQ,WAAWR,CAAAA,CAAE6B,WAAW7B,CAAAA,CAAEQ;iBACtdR,CAAAA,CAAEgC,WAAWhC,CAAAA,CAAE+B;yBACP/B,CAAAA,CAAES,YAAYT,CAAAA,CAAEQ;iBACxBR,CAAAA,CAAES,YAAYT,CAAAA,CAAE+B;0BACP/B,CAAAA,CAAES,YAAYT,CAAAA,CAAEQ;kBACxBR,CAAAA,CAAES,YAAYT,CAAAA,CAAEQ;;SAEzBR,CAAAA,CAAES,YAAYT,CAAAA,CAAEqB,QAAQnB,uBAFFgB,qCAAAA,CAEwEC,4BAAAA,GAA+BnB,CAAAA,CAAEoB,YAAYlB,uBAAFgB,qCAAAA,CAAwEC,4BAAAA;YAChNnB,CAAAA,CAAEU;;;;;;;;;;;;;;;2BAeeT,YAAiHJ,yBAAAA,CAAlE4B,iBAfpD5B,yBAAAA,CAewG2B,cAAAA,GAApC3B,yBAAAA,CAAwF6B,WAAAA,qCAAgDpB;;;;;;UAMxNJ,uBAN+NgB,qCAAAA,CAMzJC,4BAAAA;;;;;;;;;;;;;;;;2BAgBrDlB,YAAiHJ,yBAAAA,CAAlE4B,iBAhB/C5B,yBAAAA,CAgBmG2B,cAAAA,GAApC3B,yBAAAA,CAAwF6B,WAAAA,qCAAgDpB;;;;;;UAMxNJ,uBAN+NgB,qCAAAA,CAMzJC,4BAAAA;;;;;;;;;;;;;;;;2BAgBrDlB,YAAiHJ,yBAAAA,CAAlE4B,iBA1JwE5B,yBAAAA,CA0JpB2B,cAAAA,GAApC3B,yBAAAA,CAAwF6B,WAAAA,qCAAgDpB;;;;;;UAMxNJ,uBAN+NgB,qCAAAA,CAMzJC,4BAAAA;aAArDrB,sBAAAA,CACgBsC,UAAAA,GAAUtC,sBAAAA,CAAmCuC"}
@@ -1,4 +1,8 @@
1
1
  import { AgentMiddleware } from "./types.cjs";
2
+ import * as _langchain_core_messages26 from "@langchain/core/messages";
3
+ import { ToolMessage } from "@langchain/core/messages";
4
+ import * as _langchain_core_tools9 from "@langchain/core/tools";
5
+ import { Command } from "@langchain/langgraph";
2
6
  import { z } from "zod/v3";
3
7
 
4
8
  //#region src/agents/middleware/todoListMiddleware.d.ts
@@ -69,7 +73,44 @@ declare function todoListMiddleware(options?: TodoListMiddlewareOptions): AgentM
69
73
  content: string;
70
74
  status: "completed" | "in_progress" | "pending";
71
75
  }[] | undefined;
72
- }>, undefined, any>;
76
+ }>, undefined, unknown, readonly [_langchain_core_tools9.DynamicStructuredTool<z.ZodObject<{
77
+ todos: z.ZodArray<z.ZodObject<{
78
+ content: z.ZodString;
79
+ status: z.ZodEnum<["pending", "in_progress", "completed"]>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ content: string;
82
+ status: "completed" | "in_progress" | "pending";
83
+ }, {
84
+ content: string;
85
+ status: "completed" | "in_progress" | "pending";
86
+ }>, "many">;
87
+ }, "strip", z.ZodTypeAny, {
88
+ todos: {
89
+ content: string;
90
+ status: "completed" | "in_progress" | "pending";
91
+ }[];
92
+ }, {
93
+ todos: {
94
+ content: string;
95
+ status: "completed" | "in_progress" | "pending";
96
+ }[];
97
+ }>, {
98
+ todos: {
99
+ content: string;
100
+ status: "completed" | "in_progress" | "pending";
101
+ }[];
102
+ }, {
103
+ todos: {
104
+ content: string;
105
+ status: "completed" | "in_progress" | "pending";
106
+ }[];
107
+ }, Command<unknown, {
108
+ todos: {
109
+ content: string;
110
+ status: "completed" | "in_progress" | "pending";
111
+ }[];
112
+ messages: ToolMessage<_langchain_core_messages26.MessageStructure<_langchain_core_messages26.MessageToolSet>>[];
113
+ }, string>, "write_todos">]>;
73
114
  //#endregion
74
115
  export { TODO_LIST_MIDDLEWARE_SYSTEM_PROMPT, TodoListMiddlewareOptions, todoListMiddleware };
75
116
  //# sourceMappingURL=todoListMiddleware.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"todoListMiddleware.d.cts","names":["z","TODO_LIST_MIDDLEWARE_SYSTEM_PROMPT","stateSchema","ZodString","ZodEnum","ZodTypeAny","ZodObject","ZodArray","ZodDefault","TodoMiddlewareState","infer","TodoListMiddlewareOptions","todoListMiddleware","__types_js12","AgentMiddleware"],"sources":["../../../src/agents/middleware/todoListMiddleware.d.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nexport declare const TODO_LIST_MIDDLEWARE_SYSTEM_PROMPT = \"## `write_todos`\\n\\nYou have access to the `write_todos` tool to help you manage and plan complex objectives. \\nUse this tool for complex objectives to ensure that you are tracking each necessary step and giving the user visibility into your progress.\\nThis tool is very helpful for planning complex objectives, and for breaking down these larger complex objectives into smaller steps.\\n\\nIt is critical that you mark todos as completed as soon as you are done with a step. Do not batch up multiple steps before marking them as completed.\\nFor simple objectives that only require a few steps, it is better to just complete the objective directly and NOT use this tool.\\nWriting todos takes time and tokens, use it when it is helpful for managing complex many-step problems! But not for simple few-step requests.\\n\\n## Important To-Do List Usage Notes to Remember\\n- The `write_todos` tool should never be called multiple times in parallel.\\n- Don't be afraid to revise the To-Do list as you go. New information may reveal new tasks that need to be done, or old tasks that are irrelevant.\";\ndeclare const stateSchema: z.ZodObject<{\n todos: z.ZodDefault<z.ZodArray<z.ZodObject<{\n content: z.ZodString;\n status: z.ZodEnum<[\"pending\", \"in_progress\", \"completed\"]>;\n }, \"strip\", z.ZodTypeAny, {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }, {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }>, \"many\">>;\n}, \"strip\", z.ZodTypeAny, {\n todos: {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }[];\n}, {\n todos?: {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }[] | undefined;\n}>;\nexport type TodoMiddlewareState = z.infer<typeof stateSchema>;\nexport interface TodoListMiddlewareOptions {\n /**\n * Custom system prompt to guide the agent on using the todo tool.\n * If not provided, uses the default {@link PLANNING_MIDDLEWARE_SYSTEM_PROMPT}.\n */\n systemPrompt?: string;\n /**\n * Custom description for the {@link writeTodos} tool.\n * If not provided, uses the default {@link WRITE_TODOS_DESCRIPTION}.\n */\n toolDescription?: string;\n}\n/**\n * Creates a middleware that provides todo list management capabilities to agents.\n *\n * This middleware adds a `write_todos` tool that allows agents to create and manage\n * structured task lists for complex multi-step operations. It's designed to help\n * agents track progress, organize complex tasks, and provide users with visibility\n * into task completion status.\n *\n * The middleware automatically injects system prompts that guide the agent on when\n * and how to use the todo functionality effectively.\n *\n * @example\n * ```typescript\n * import { todoListMiddleware, createAgent } from 'langchain';\n *\n * const agent = createAgent({\n * model: \"openai:gpt-4o\",\n * middleware: [todoListMiddleware()],\n * });\n *\n * // Agent now has access to write_todos tool and todo state tracking\n * const result = await agent.invoke({\n * messages: [new HumanMessage(\"Help me refactor my codebase\")]\n * });\n *\n * console.log(result.todos); // Array of todo items with status tracking\n * ```\n *\n * @returns A configured middleware instance that provides todo management capabilities\n *\n * @see {@link TodoMiddlewareState} for the state schema\n * @see {@link writeTodos} for the tool implementation\n */\nexport declare function todoListMiddleware(options?: TodoListMiddlewareOptions): import(\"./types.js\").AgentMiddleware<z.ZodObject<{\n todos: z.ZodDefault<z.ZodArray<z.ZodObject<{\n content: z.ZodString;\n status: z.ZodEnum<[\"pending\", \"in_progress\", \"completed\"]>;\n }, \"strip\", z.ZodTypeAny, {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }, {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }>, \"many\">>;\n}, \"strip\", z.ZodTypeAny, {\n todos: {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }[];\n}, {\n todos?: {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }[] | undefined;\n}>, undefined, any>;\nexport {};\n//# sourceMappingURL=todoListMiddleware.d.ts.map"],"mappings":";;;;cACqBC,kCAAAA;UAwBJU,yBAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6COC,kBAAAA,WAA6BD,4CAAiEX,CAAAA,CAAEM;SAC7GN,CAAAA,CAAEQ,WAAWR,CAAAA,CAAEO,SAASP,CAAAA,CAAEM;aACpBN,CAAAA,CAAEG;YACHH,CAAAA,CAAEI;cACFJ,CAAAA,CAAEK;;;;;;;YAONL,CAAAA,CAAEK"}
1
+ {"version":3,"file":"todoListMiddleware.d.cts","names":["_langchain_core_tools9","__types_js12","z","Command","ToolMessage","TODO_LIST_MIDDLEWARE_SYSTEM_PROMPT","stateSchema","ZodString","ZodEnum","ZodTypeAny","ZodObject","ZodArray","ZodDefault","TodoMiddlewareState","infer","TodoListMiddlewareOptions","todoListMiddleware","_langchain_core_messages26","MessageToolSet","MessageStructure","DynamicStructuredTool","AgentMiddleware"],"sources":["../../../src/agents/middleware/todoListMiddleware.d.ts"],"sourcesContent":["import { z } from \"zod/v3\";\nimport { Command } from \"@langchain/langgraph\";\nimport { ToolMessage } from \"@langchain/core/messages\";\nexport declare const TODO_LIST_MIDDLEWARE_SYSTEM_PROMPT = \"## `write_todos`\\n\\nYou have access to the `write_todos` tool to help you manage and plan complex objectives. \\nUse this tool for complex objectives to ensure that you are tracking each necessary step and giving the user visibility into your progress.\\nThis tool is very helpful for planning complex objectives, and for breaking down these larger complex objectives into smaller steps.\\n\\nIt is critical that you mark todos as completed as soon as you are done with a step. Do not batch up multiple steps before marking them as completed.\\nFor simple objectives that only require a few steps, it is better to just complete the objective directly and NOT use this tool.\\nWriting todos takes time and tokens, use it when it is helpful for managing complex many-step problems! But not for simple few-step requests.\\n\\n## Important To-Do List Usage Notes to Remember\\n- The `write_todos` tool should never be called multiple times in parallel.\\n- Don't be afraid to revise the To-Do list as you go. New information may reveal new tasks that need to be done, or old tasks that are irrelevant.\";\ndeclare const stateSchema: z.ZodObject<{\n todos: z.ZodDefault<z.ZodArray<z.ZodObject<{\n content: z.ZodString;\n status: z.ZodEnum<[\"pending\", \"in_progress\", \"completed\"]>;\n }, \"strip\", z.ZodTypeAny, {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }, {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }>, \"many\">>;\n}, \"strip\", z.ZodTypeAny, {\n todos: {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }[];\n}, {\n todos?: {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }[] | undefined;\n}>;\nexport type TodoMiddlewareState = z.infer<typeof stateSchema>;\nexport interface TodoListMiddlewareOptions {\n /**\n * Custom system prompt to guide the agent on using the todo tool.\n * If not provided, uses the default {@link PLANNING_MIDDLEWARE_SYSTEM_PROMPT}.\n */\n systemPrompt?: string;\n /**\n * Custom description for the {@link writeTodos} tool.\n * If not provided, uses the default {@link WRITE_TODOS_DESCRIPTION}.\n */\n toolDescription?: string;\n}\n/**\n * Creates a middleware that provides todo list management capabilities to agents.\n *\n * This middleware adds a `write_todos` tool that allows agents to create and manage\n * structured task lists for complex multi-step operations. It's designed to help\n * agents track progress, organize complex tasks, and provide users with visibility\n * into task completion status.\n *\n * The middleware automatically injects system prompts that guide the agent on when\n * and how to use the todo functionality effectively.\n *\n * @example\n * ```typescript\n * import { todoListMiddleware, createAgent } from 'langchain';\n *\n * const agent = createAgent({\n * model: \"openai:gpt-4o\",\n * middleware: [todoListMiddleware()],\n * });\n *\n * // Agent now has access to write_todos tool and todo state tracking\n * const result = await agent.invoke({\n * messages: [new HumanMessage(\"Help me refactor my codebase\")]\n * });\n *\n * console.log(result.todos); // Array of todo items with status tracking\n * ```\n *\n * @returns A configured middleware instance that provides todo management capabilities\n *\n * @see {@link TodoMiddlewareState} for the state schema\n * @see {@link writeTodos} for the tool implementation\n */\nexport declare function todoListMiddleware(options?: TodoListMiddlewareOptions): import(\"./types.js\").AgentMiddleware<z.ZodObject<{\n todos: z.ZodDefault<z.ZodArray<z.ZodObject<{\n content: z.ZodString;\n status: z.ZodEnum<[\"pending\", \"in_progress\", \"completed\"]>;\n }, \"strip\", z.ZodTypeAny, {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }, {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }>, \"many\">>;\n}, \"strip\", z.ZodTypeAny, {\n todos: {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }[];\n}, {\n todos?: {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }[] | undefined;\n}>, undefined, unknown, readonly [import(\"@langchain/core/tools\").DynamicStructuredTool<z.ZodObject<{\n todos: z.ZodArray<z.ZodObject<{\n content: z.ZodString;\n status: z.ZodEnum<[\"pending\", \"in_progress\", \"completed\"]>;\n }, \"strip\", z.ZodTypeAny, {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }, {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }>, \"many\">;\n}, \"strip\", z.ZodTypeAny, {\n todos: {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }[];\n}, {\n todos: {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }[];\n}>, {\n todos: {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }[];\n}, {\n todos: {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }[];\n}, Command<unknown, {\n todos: {\n content: string;\n status: \"completed\" | \"in_progress\" | \"pending\";\n }[];\n messages: ToolMessage<import(\"@langchain/core/messages\").MessageStructure<import(\"@langchain/core/messages\").MessageToolSet>>[];\n}, string>, \"write_todos\">]>;\nexport {};\n//# sourceMappingURL=todoListMiddleware.d.ts.map"],"mappings":";;;;;;;;cAGqBK,kCAAAA;AA0F8EY,UAlElFF,yBAAAA,CAsGgGG;EAAcD;;;;;EAzDV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA7FD,kBAAAA,WAA6BD,4CAAiEb,CAAAA,CAAEQ;SAC7GR,CAAAA,CAAEU,WAAWV,CAAAA,CAAES,SAAST,CAAAA,CAAEQ;aACpBR,CAAAA,CAAEK;YACHL,CAAAA,CAAEM;cACFN,CAAAA,CAAEO;;;;;;;YAONP,CAAAA,CAAEO;;;;;;;;;;kCAyCJT,sBAAAA,CA/BwDoB,sBAAsBlB,CAAAA,CAAEQ;SAC/ER,CAAAA,CAAES,SAAST,CAAAA,CAAEQ;aACPR,CAAAA,CAAEK;YACHL,CAAAA,CAAEM;cACFN,CAAAA,CAAEO;;;;;;;YAONP,CAAAA,CAAEO;;;;;;;;;;;;;;;;;;;;GAoBXN;;;;;YAKWC,YAAiHa,0BAAAA,CAAlEE,iBApCsCF,0BAAAA,CAoCcC,cAAAA"}