langchain 1.0.0-alpha.6 → 1.0.0-alpha.8

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 (1451) hide show
  1. package/dist/agents/ReactAgent.cjs +2 -2
  2. package/dist/agents/ReactAgent.cjs.map +1 -1
  3. package/dist/agents/ReactAgent.d.cts +1 -2
  4. package/dist/agents/ReactAgent.d.cts.map +1 -1
  5. package/dist/agents/ReactAgent.d.ts +1 -2
  6. package/dist/agents/ReactAgent.d.ts.map +1 -1
  7. package/dist/agents/ReactAgent.js +2 -2
  8. package/dist/agents/ReactAgent.js.map +1 -1
  9. package/dist/agents/RunnableCallable.cjs +10 -0
  10. package/dist/agents/RunnableCallable.cjs.map +1 -1
  11. package/dist/agents/RunnableCallable.d.cts +5 -0
  12. package/dist/agents/RunnableCallable.d.cts.map +1 -1
  13. package/dist/agents/RunnableCallable.d.ts +5 -0
  14. package/dist/agents/RunnableCallable.d.ts.map +1 -1
  15. package/dist/agents/RunnableCallable.js +10 -0
  16. package/dist/agents/RunnableCallable.js.map +1 -1
  17. package/dist/agents/annotation.cjs +14 -0
  18. package/dist/agents/annotation.cjs.map +1 -1
  19. package/dist/agents/annotation.d.cts +17 -5
  20. package/dist/agents/annotation.d.cts.map +1 -1
  21. package/dist/agents/annotation.d.ts +16 -4
  22. package/dist/agents/annotation.d.ts.map +1 -1
  23. package/dist/agents/annotation.js +12 -1
  24. package/dist/agents/annotation.js.map +1 -1
  25. package/dist/agents/createAgent.cjs.map +1 -1
  26. package/dist/agents/createAgent.js.map +1 -1
  27. package/dist/agents/errors.d.cts +9 -2
  28. package/dist/agents/errors.d.cts.map +1 -1
  29. package/dist/agents/errors.d.ts +9 -2
  30. package/dist/agents/errors.d.ts.map +1 -1
  31. package/dist/agents/index.cjs +3 -0
  32. package/dist/agents/index.cjs.map +1 -1
  33. package/dist/agents/index.d.cts +7 -6
  34. package/dist/agents/index.d.cts.map +1 -1
  35. package/dist/agents/index.d.ts +7 -6
  36. package/dist/agents/index.d.ts.map +1 -1
  37. package/dist/agents/index.js +4 -1
  38. package/dist/agents/index.js.map +1 -1
  39. package/dist/agents/interrupt.d.cts +18 -16
  40. package/dist/agents/interrupt.d.cts.map +1 -1
  41. package/dist/agents/interrupt.d.ts +16 -17
  42. package/dist/agents/interrupt.d.ts.map +1 -1
  43. package/dist/agents/interrupt.js +3 -1
  44. package/dist/agents/middlewareAgent/ReactAgent.cjs +394 -70
  45. package/dist/agents/middlewareAgent/ReactAgent.cjs.map +1 -1
  46. package/dist/agents/middlewareAgent/ReactAgent.d.cts +178 -11
  47. package/dist/agents/middlewareAgent/ReactAgent.d.cts.map +1 -1
  48. package/dist/agents/middlewareAgent/ReactAgent.d.ts +178 -11
  49. package/dist/agents/middlewareAgent/ReactAgent.d.ts.map +1 -1
  50. package/dist/agents/middlewareAgent/ReactAgent.js +395 -71
  51. package/dist/agents/middlewareAgent/ReactAgent.js.map +1 -1
  52. package/dist/agents/middlewareAgent/annotation.cjs +10 -4
  53. package/dist/agents/middlewareAgent/annotation.cjs.map +1 -1
  54. package/dist/agents/middlewareAgent/annotation.js +10 -4
  55. package/dist/agents/middlewareAgent/annotation.js.map +1 -1
  56. package/dist/agents/middlewareAgent/constants.d.cts +5 -0
  57. package/dist/agents/middlewareAgent/constants.d.cts.map +1 -0
  58. package/dist/agents/middlewareAgent/constants.d.ts +5 -0
  59. package/dist/agents/middlewareAgent/constants.d.ts.map +1 -0
  60. package/dist/agents/middlewareAgent/index.cjs.map +1 -1
  61. package/dist/agents/middlewareAgent/index.js.map +1 -1
  62. package/dist/agents/middlewareAgent/middleware/callLimit.cjs +128 -0
  63. package/dist/agents/middlewareAgent/middleware/callLimit.cjs.map +1 -0
  64. package/dist/agents/middlewareAgent/middleware/callLimit.d.cts +119 -0
  65. package/dist/agents/middlewareAgent/middleware/callLimit.d.cts.map +1 -0
  66. package/dist/agents/middlewareAgent/middleware/callLimit.d.ts +119 -0
  67. package/dist/agents/middlewareAgent/middleware/callLimit.d.ts.map +1 -0
  68. package/dist/agents/middlewareAgent/middleware/callLimit.js +127 -0
  69. package/dist/agents/middlewareAgent/middleware/callLimit.js.map +1 -0
  70. package/dist/agents/middlewareAgent/middleware/contextEditing.cjs +278 -0
  71. package/dist/agents/middlewareAgent/middleware/contextEditing.cjs.map +1 -0
  72. package/dist/agents/middlewareAgent/middleware/contextEditing.d.cts +239 -0
  73. package/dist/agents/middlewareAgent/middleware/contextEditing.d.cts.map +1 -0
  74. package/dist/agents/middlewareAgent/middleware/contextEditing.d.ts +239 -0
  75. package/dist/agents/middlewareAgent/middleware/contextEditing.d.ts.map +1 -0
  76. package/dist/agents/middlewareAgent/middleware/contextEditing.js +276 -0
  77. package/dist/agents/middlewareAgent/middleware/contextEditing.js.map +1 -0
  78. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.cjs +58 -0
  79. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.cjs.map +1 -0
  80. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.cts +46 -0
  81. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.cts.map +1 -0
  82. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.ts +46 -0
  83. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.d.ts.map +1 -0
  84. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.js +58 -0
  85. package/dist/agents/middlewareAgent/middleware/dynamicSystemPrompt.js.map +1 -0
  86. package/dist/agents/middlewareAgent/middleware/hitl.cjs +192 -86
  87. package/dist/agents/middlewareAgent/middleware/hitl.cjs.map +1 -1
  88. package/dist/agents/middlewareAgent/middleware/hitl.d.cts +387 -62
  89. package/dist/agents/middlewareAgent/middleware/hitl.d.cts.map +1 -1
  90. package/dist/agents/middlewareAgent/middleware/hitl.d.ts +387 -62
  91. package/dist/agents/middlewareAgent/middleware/hitl.d.ts.map +1 -1
  92. package/dist/agents/middlewareAgent/middleware/hitl.js +193 -87
  93. package/dist/agents/middlewareAgent/middleware/hitl.js.map +1 -1
  94. package/dist/agents/middlewareAgent/middleware/index.cjs +29 -3
  95. package/dist/agents/middlewareAgent/middleware/index.cjs.map +1 -1
  96. package/dist/agents/middlewareAgent/middleware/index.d.cts +13 -4
  97. package/dist/agents/middlewareAgent/middleware/index.d.ts +13 -4
  98. package/dist/agents/middlewareAgent/middleware/index.js +20 -3
  99. package/dist/agents/middlewareAgent/middleware/index.js.map +1 -1
  100. package/dist/agents/middlewareAgent/middleware/llmToolSelector.cjs +193 -0
  101. package/dist/agents/middlewareAgent/middleware/llmToolSelector.cjs.map +1 -0
  102. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.cts +83 -0
  103. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.cts.map +1 -0
  104. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.ts +83 -0
  105. package/dist/agents/middlewareAgent/middleware/llmToolSelector.d.ts.map +1 -0
  106. package/dist/agents/middlewareAgent/middleware/llmToolSelector.js +192 -0
  107. package/dist/agents/middlewareAgent/middleware/llmToolSelector.js.map +1 -0
  108. package/dist/agents/middlewareAgent/middleware/modelFallback.cjs +67 -0
  109. package/dist/agents/middlewareAgent/middleware/modelFallback.cjs.map +1 -0
  110. package/dist/agents/middlewareAgent/middleware/modelFallback.d.cts +45 -0
  111. package/dist/agents/middlewareAgent/middleware/modelFallback.d.cts.map +1 -0
  112. package/dist/agents/middlewareAgent/middleware/modelFallback.d.ts +45 -0
  113. package/dist/agents/middlewareAgent/middleware/modelFallback.d.ts.map +1 -0
  114. package/dist/agents/middlewareAgent/middleware/modelFallback.js +67 -0
  115. package/dist/agents/middlewareAgent/middleware/modelFallback.js.map +1 -0
  116. package/dist/agents/middlewareAgent/middleware/piiRedaction.cjs +333 -0
  117. package/dist/agents/middlewareAgent/middleware/piiRedaction.cjs.map +1 -0
  118. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.cts +155 -0
  119. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.cts.map +1 -0
  120. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.ts +155 -0
  121. package/dist/agents/middlewareAgent/middleware/piiRedaction.d.ts.map +1 -0
  122. package/dist/agents/middlewareAgent/middleware/piiRedaction.js +332 -0
  123. package/dist/agents/middlewareAgent/middleware/piiRedaction.js.map +1 -0
  124. package/dist/agents/middlewareAgent/middleware/promptCaching.cjs +64 -36
  125. package/dist/agents/middlewareAgent/middleware/promptCaching.cjs.map +1 -1
  126. package/dist/agents/middlewareAgent/middleware/promptCaching.d.cts +64 -19
  127. package/dist/agents/middlewareAgent/middleware/promptCaching.d.cts.map +1 -1
  128. package/dist/agents/middlewareAgent/middleware/promptCaching.d.ts +64 -19
  129. package/dist/agents/middlewareAgent/middleware/promptCaching.d.ts.map +1 -1
  130. package/dist/agents/middlewareAgent/middleware/promptCaching.js +64 -36
  131. package/dist/agents/middlewareAgent/middleware/promptCaching.js.map +1 -1
  132. package/dist/agents/middlewareAgent/middleware/summarization.cjs +27 -35
  133. package/dist/agents/middlewareAgent/middleware/summarization.cjs.map +1 -1
  134. package/dist/agents/middlewareAgent/middleware/summarization.d.cts +12 -17
  135. package/dist/agents/middlewareAgent/middleware/summarization.d.cts.map +1 -1
  136. package/dist/agents/middlewareAgent/middleware/summarization.d.ts +12 -17
  137. package/dist/agents/middlewareAgent/middleware/summarization.d.ts.map +1 -1
  138. package/dist/agents/middlewareAgent/middleware/summarization.js +28 -35
  139. package/dist/agents/middlewareAgent/middleware/summarization.js.map +1 -1
  140. package/dist/agents/middlewareAgent/middleware/toolCallLimit.cjs +242 -0
  141. package/dist/agents/middlewareAgent/middleware/toolCallLimit.cjs.map +1 -0
  142. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.cts +158 -0
  143. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.cts.map +1 -0
  144. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.ts +158 -0
  145. package/dist/agents/middlewareAgent/middleware/toolCallLimit.d.ts.map +1 -0
  146. package/dist/agents/middlewareAgent/middleware/toolCallLimit.js +240 -0
  147. package/dist/agents/middlewareAgent/middleware/toolCallLimit.js.map +1 -0
  148. package/dist/agents/middlewareAgent/middleware/utils.cjs +26 -0
  149. package/dist/agents/middlewareAgent/middleware/utils.cjs.map +1 -0
  150. package/dist/agents/middlewareAgent/middleware/utils.d.cts +13 -0
  151. package/dist/agents/middlewareAgent/middleware/utils.d.cts.map +1 -0
  152. package/dist/agents/middlewareAgent/middleware/utils.d.ts +13 -0
  153. package/dist/agents/middlewareAgent/middleware/utils.d.ts.map +1 -0
  154. package/dist/agents/middlewareAgent/middleware/utils.js +25 -0
  155. package/dist/agents/middlewareAgent/middleware/utils.js.map +1 -0
  156. package/dist/agents/middlewareAgent/middleware.cjs +9 -5
  157. package/dist/agents/middlewareAgent/middleware.cjs.map +1 -1
  158. package/dist/agents/middlewareAgent/middleware.d.cts +78 -7
  159. package/dist/agents/middlewareAgent/middleware.d.cts.map +1 -1
  160. package/dist/agents/middlewareAgent/middleware.d.ts +78 -7
  161. package/dist/agents/middlewareAgent/middleware.d.ts.map +1 -1
  162. package/dist/agents/middlewareAgent/middleware.js +9 -5
  163. package/dist/agents/middlewareAgent/middleware.js.map +1 -1
  164. package/dist/agents/middlewareAgent/nodes/AfterModalNode.cjs +4 -4
  165. package/dist/agents/middlewareAgent/nodes/AfterModalNode.cjs.map +1 -1
  166. package/dist/agents/middlewareAgent/nodes/AfterModalNode.js +4 -4
  167. package/dist/agents/middlewareAgent/nodes/AfterModalNode.js.map +1 -1
  168. package/dist/agents/middlewareAgent/nodes/AgentNode.cjs +260 -117
  169. package/dist/agents/middlewareAgent/nodes/AgentNode.cjs.map +1 -1
  170. package/dist/agents/middlewareAgent/nodes/AgentNode.js +263 -120
  171. package/dist/agents/middlewareAgent/nodes/AgentNode.js.map +1 -1
  172. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.cjs +4 -4
  173. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.cjs.map +1 -1
  174. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.js +4 -4
  175. package/dist/agents/middlewareAgent/nodes/BeforeModalNode.js.map +1 -1
  176. package/dist/agents/middlewareAgent/nodes/middleware.cjs +51 -25
  177. package/dist/agents/middlewareAgent/nodes/middleware.cjs.map +1 -1
  178. package/dist/agents/middlewareAgent/nodes/middleware.js +51 -26
  179. package/dist/agents/middlewareAgent/nodes/middleware.js.map +1 -1
  180. package/dist/agents/middlewareAgent/nodes/utils.cjs +20 -28
  181. package/dist/agents/middlewareAgent/nodes/utils.cjs.map +1 -1
  182. package/dist/agents/middlewareAgent/nodes/utils.js +20 -27
  183. package/dist/agents/middlewareAgent/nodes/utils.js.map +1 -1
  184. package/dist/agents/middlewareAgent/types.d.cts +182 -90
  185. package/dist/agents/middlewareAgent/types.d.cts.map +1 -1
  186. package/dist/agents/middlewareAgent/types.d.ts +182 -90
  187. package/dist/agents/middlewareAgent/types.d.ts.map +1 -1
  188. package/dist/agents/model.cjs +13 -0
  189. package/dist/agents/model.cjs.map +1 -0
  190. package/dist/agents/model.js +11 -0
  191. package/dist/agents/model.js.map +1 -0
  192. package/dist/agents/nodes/AgentNode.cjs +56 -28
  193. package/dist/agents/nodes/AgentNode.cjs.map +1 -1
  194. package/dist/agents/nodes/AgentNode.js +57 -29
  195. package/dist/agents/nodes/AgentNode.js.map +1 -1
  196. package/dist/agents/nodes/ToolNode.cjs +1 -1
  197. package/dist/agents/nodes/ToolNode.cjs.map +1 -1
  198. package/dist/agents/nodes/ToolNode.d.cts +2 -2
  199. package/dist/agents/nodes/ToolNode.js +1 -1
  200. package/dist/agents/nodes/ToolNode.js.map +1 -1
  201. package/dist/agents/responses.cjs +52 -10
  202. package/dist/agents/responses.cjs.map +1 -1
  203. package/dist/agents/responses.d.cts +12 -20
  204. package/dist/agents/responses.d.cts.map +1 -1
  205. package/dist/agents/responses.d.ts +12 -20
  206. package/dist/agents/responses.d.ts.map +1 -1
  207. package/dist/agents/responses.js +52 -11
  208. package/dist/agents/responses.js.map +1 -1
  209. package/dist/agents/tests/utils.cjs +77 -0
  210. package/dist/agents/tests/utils.cjs.map +1 -0
  211. package/dist/agents/tests/utils.d.cts +53 -0
  212. package/dist/agents/tests/utils.d.cts.map +1 -0
  213. package/dist/agents/tests/utils.d.ts +53 -0
  214. package/dist/agents/tests/utils.d.ts.map +1 -0
  215. package/dist/agents/tests/utils.js +76 -0
  216. package/dist/agents/tests/utils.js.map +1 -0
  217. package/dist/agents/types.cjs +7 -0
  218. package/dist/agents/types.cjs.map +1 -0
  219. package/dist/agents/types.d.cts +40 -7
  220. package/dist/agents/types.d.cts.map +1 -1
  221. package/dist/agents/types.d.ts +40 -7
  222. package/dist/agents/types.d.ts.map +1 -1
  223. package/dist/agents/types.js +6 -0
  224. package/dist/agents/types.js.map +1 -0
  225. package/dist/agents/utils.cjs +5 -23
  226. package/dist/agents/utils.cjs.map +1 -1
  227. package/dist/agents/utils.js +2 -19
  228. package/dist/agents/utils.js.map +1 -1
  229. package/dist/chat_models/universal.cjs +7 -0
  230. package/dist/chat_models/universal.cjs.map +1 -1
  231. package/dist/chat_models/universal.d.cts +7 -2
  232. package/dist/chat_models/universal.d.cts.map +1 -1
  233. package/dist/chat_models/universal.d.ts +7 -2
  234. package/dist/chat_models/universal.d.ts.map +1 -1
  235. package/dist/chat_models/universal.js +7 -0
  236. package/dist/chat_models/universal.js.map +1 -1
  237. package/dist/embeddings/cache_backed.d.ts +1 -1
  238. package/dist/hub/base.cjs +4 -1
  239. package/dist/hub/base.cjs.map +1 -1
  240. package/dist/hub/base.js +4 -1
  241. package/dist/hub/base.js.map +1 -1
  242. package/dist/index.cjs +97 -7
  243. package/dist/index.cjs.map +1 -1
  244. package/dist/index.d.cts +24 -8
  245. package/dist/index.d.ts +24 -8
  246. package/dist/index.js +52 -6
  247. package/dist/index.js.map +1 -1
  248. package/dist/load/import_constants.cjs +0 -19
  249. package/dist/load/import_constants.cjs.map +1 -1
  250. package/dist/load/import_constants.js +0 -19
  251. package/dist/load/import_constants.js.map +1 -1
  252. package/dist/load/import_map.cjs +3 -114
  253. package/dist/load/import_map.cjs.map +1 -1
  254. package/dist/load/import_map.js +4 -115
  255. package/dist/load/import_map.js.map +1 -1
  256. package/dist/load/serializable.d.cts +1 -10
  257. package/dist/load/serializable.d.ts +1 -10
  258. package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.cjs +5 -4
  259. package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.cjs.map +1 -1
  260. package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.js +3 -2
  261. package/dist/node_modules/.pnpm/langsmith@0.3.64_@opentelemetry_api@1.9.0_openai@5.11.0_ws@8.18.3_bufferutil@4.0.9_utf-8-validate@6.0.5__zod@3.25.76_/node_modules/langsmith/dist/utils/async_caller.js.map +1 -1
  262. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.cjs +83 -0
  263. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.cjs.map +1 -0
  264. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.js +79 -0
  265. package/dist/node_modules/.pnpm/p-retry@4.6.2/node_modules/p-retry/index.js.map +1 -0
  266. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.cjs +16 -0
  267. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.cjs.map +1 -0
  268. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js +13 -0
  269. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/index.js.map +1 -0
  270. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.cjs +77 -0
  271. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.cjs.map +1 -0
  272. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js +74 -0
  273. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry.js.map +1 -0
  274. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.cjs +115 -0
  275. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.cjs.map +1 -0
  276. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js +112 -0
  277. package/dist/node_modules/.pnpm/retry@0.13.1/node_modules/retry/lib/retry_operation.js.map +1 -0
  278. package/dist/storage/encoder_backed.cjs +1 -1
  279. package/dist/storage/encoder_backed.d.cts +1 -1
  280. package/dist/storage/encoder_backed.d.ts +1 -1
  281. package/dist/storage/encoder_backed.js +1 -1
  282. package/dist/storage/file_system.cjs +1 -1
  283. package/dist/storage/file_system.js +1 -1
  284. package/package.json +39 -652
  285. package/dist/chains/analyze_documents_chain.cjs +0 -83
  286. package/dist/chains/analyze_documents_chain.cjs.map +0 -1
  287. package/dist/chains/analyze_documents_chain.d.cts +0 -58
  288. package/dist/chains/analyze_documents_chain.d.cts.map +0 -1
  289. package/dist/chains/analyze_documents_chain.d.ts +0 -58
  290. package/dist/chains/analyze_documents_chain.d.ts.map +0 -1
  291. package/dist/chains/analyze_documents_chain.js +0 -82
  292. package/dist/chains/analyze_documents_chain.js.map +0 -1
  293. package/dist/chains/api/api_chain.cjs +0 -100
  294. package/dist/chains/api/api_chain.cjs.map +0 -1
  295. package/dist/chains/api/api_chain.d.cts +0 -63
  296. package/dist/chains/api/api_chain.d.cts.map +0 -1
  297. package/dist/chains/api/api_chain.d.ts +0 -63
  298. package/dist/chains/api/api_chain.d.ts.map +0 -1
  299. package/dist/chains/api/api_chain.js +0 -100
  300. package/dist/chains/api/api_chain.js.map +0 -1
  301. package/dist/chains/api/prompts.cjs +0 -38
  302. package/dist/chains/api/prompts.cjs.map +0 -1
  303. package/dist/chains/api/prompts.js +0 -36
  304. package/dist/chains/api/prompts.js.map +0 -1
  305. package/dist/chains/base.cjs +0 -180
  306. package/dist/chains/base.cjs.map +0 -1
  307. package/dist/chains/base.d.cts +0 -88
  308. package/dist/chains/base.d.cts.map +0 -1
  309. package/dist/chains/base.d.ts +0 -88
  310. package/dist/chains/base.d.ts.map +0 -1
  311. package/dist/chains/base.js +0 -179
  312. package/dist/chains/base.js.map +0 -1
  313. package/dist/chains/chat_vector_db_chain.cjs +0 -130
  314. package/dist/chains/chat_vector_db_chain.cjs.map +0 -1
  315. package/dist/chains/chat_vector_db_chain.d.cts +0 -62
  316. package/dist/chains/chat_vector_db_chain.d.cts.map +0 -1
  317. package/dist/chains/chat_vector_db_chain.d.ts +0 -62
  318. package/dist/chains/chat_vector_db_chain.d.ts.map +0 -1
  319. package/dist/chains/chat_vector_db_chain.js +0 -129
  320. package/dist/chains/chat_vector_db_chain.js.map +0 -1
  321. package/dist/chains/combine_docs_chain.cjs +0 -275
  322. package/dist/chains/combine_docs_chain.cjs.map +0 -1
  323. package/dist/chains/combine_docs_chain.d.cts +0 -126
  324. package/dist/chains/combine_docs_chain.d.cts.map +0 -1
  325. package/dist/chains/combine_docs_chain.d.ts +0 -126
  326. package/dist/chains/combine_docs_chain.d.ts.map +0 -1
  327. package/dist/chains/combine_docs_chain.js +0 -272
  328. package/dist/chains/combine_docs_chain.js.map +0 -1
  329. package/dist/chains/combine_documents/base.cjs +0 -22
  330. package/dist/chains/combine_documents/base.cjs.map +0 -1
  331. package/dist/chains/combine_documents/base.js +0 -18
  332. package/dist/chains/combine_documents/base.js.map +0 -1
  333. package/dist/chains/combine_documents/index.cjs +0 -16
  334. package/dist/chains/combine_documents/index.cjs.map +0 -1
  335. package/dist/chains/combine_documents/index.d.cts +0 -2
  336. package/dist/chains/combine_documents/index.d.ts +0 -2
  337. package/dist/chains/combine_documents/index.js +0 -10
  338. package/dist/chains/combine_documents/index.js.map +0 -1
  339. package/dist/chains/combine_documents/reduce.cjs +0 -73
  340. package/dist/chains/combine_documents/reduce.cjs.map +0 -1
  341. package/dist/chains/combine_documents/reduce.d.cts +0 -36
  342. package/dist/chains/combine_documents/reduce.d.cts.map +0 -1
  343. package/dist/chains/combine_documents/reduce.d.ts +0 -36
  344. package/dist/chains/combine_documents/reduce.d.ts.map +0 -1
  345. package/dist/chains/combine_documents/reduce.js +0 -66
  346. package/dist/chains/combine_documents/reduce.js.map +0 -1
  347. package/dist/chains/combine_documents/stuff.cjs +0 -41
  348. package/dist/chains/combine_documents/stuff.cjs.map +0 -1
  349. package/dist/chains/combine_documents/stuff.d.cts +0 -40
  350. package/dist/chains/combine_documents/stuff.d.cts.map +0 -1
  351. package/dist/chains/combine_documents/stuff.d.ts +0 -40
  352. package/dist/chains/combine_documents/stuff.d.ts.map +0 -1
  353. package/dist/chains/combine_documents/stuff.js +0 -40
  354. package/dist/chains/combine_documents/stuff.js.map +0 -1
  355. package/dist/chains/constitutional_ai/constitutional_chain.cjs +0 -131
  356. package/dist/chains/constitutional_ai/constitutional_chain.cjs.map +0 -1
  357. package/dist/chains/constitutional_ai/constitutional_chain.d.cts +0 -79
  358. package/dist/chains/constitutional_ai/constitutional_chain.d.cts.map +0 -1
  359. package/dist/chains/constitutional_ai/constitutional_chain.d.ts +0 -79
  360. package/dist/chains/constitutional_ai/constitutional_chain.d.ts.map +0 -1
  361. package/dist/chains/constitutional_ai/constitutional_chain.js +0 -131
  362. package/dist/chains/constitutional_ai/constitutional_chain.js.map +0 -1
  363. package/dist/chains/constitutional_ai/constitutional_principle.cjs +0 -322
  364. package/dist/chains/constitutional_ai/constitutional_principle.cjs.map +0 -1
  365. package/dist/chains/constitutional_ai/constitutional_principle.d.cts +0 -50
  366. package/dist/chains/constitutional_ai/constitutional_principle.d.cts.map +0 -1
  367. package/dist/chains/constitutional_ai/constitutional_principle.d.ts +0 -50
  368. package/dist/chains/constitutional_ai/constitutional_principle.d.ts.map +0 -1
  369. package/dist/chains/constitutional_ai/constitutional_principle.js +0 -320
  370. package/dist/chains/constitutional_ai/constitutional_principle.js.map +0 -1
  371. package/dist/chains/constitutional_ai/constitutional_prompts.cjs +0 -96
  372. package/dist/chains/constitutional_ai/constitutional_prompts.cjs.map +0 -1
  373. package/dist/chains/constitutional_ai/constitutional_prompts.js +0 -94
  374. package/dist/chains/constitutional_ai/constitutional_prompts.js.map +0 -1
  375. package/dist/chains/conversation.cjs +0 -50
  376. package/dist/chains/conversation.cjs.map +0 -1
  377. package/dist/chains/conversation.d.cts +0 -34
  378. package/dist/chains/conversation.d.cts.map +0 -1
  379. package/dist/chains/conversation.d.ts +0 -34
  380. package/dist/chains/conversation.d.ts.map +0 -1
  381. package/dist/chains/conversation.js +0 -48
  382. package/dist/chains/conversation.js.map +0 -1
  383. package/dist/chains/conversational_retrieval_chain.cjs +0 -218
  384. package/dist/chains/conversational_retrieval_chain.cjs.map +0 -1
  385. package/dist/chains/conversational_retrieval_chain.d.cts +0 -152
  386. package/dist/chains/conversational_retrieval_chain.d.cts.map +0 -1
  387. package/dist/chains/conversational_retrieval_chain.d.ts +0 -152
  388. package/dist/chains/conversational_retrieval_chain.d.ts.map +0 -1
  389. package/dist/chains/conversational_retrieval_chain.js +0 -217
  390. package/dist/chains/conversational_retrieval_chain.js.map +0 -1
  391. package/dist/chains/graph_qa/cypher.cjs +0 -133
  392. package/dist/chains/graph_qa/cypher.cjs.map +0 -1
  393. package/dist/chains/graph_qa/cypher.d.cts +0 -76
  394. package/dist/chains/graph_qa/cypher.d.cts.map +0 -1
  395. package/dist/chains/graph_qa/cypher.d.ts +0 -76
  396. package/dist/chains/graph_qa/cypher.d.ts.map +0 -1
  397. package/dist/chains/graph_qa/cypher.js +0 -126
  398. package/dist/chains/graph_qa/cypher.js.map +0 -1
  399. package/dist/chains/graph_qa/prompts.cjs +0 -46
  400. package/dist/chains/graph_qa/prompts.cjs.map +0 -1
  401. package/dist/chains/graph_qa/prompts.js +0 -44
  402. package/dist/chains/graph_qa/prompts.js.map +0 -1
  403. package/dist/chains/history_aware_retriever.cjs +0 -55
  404. package/dist/chains/history_aware_retriever.cjs.map +0 -1
  405. package/dist/chains/history_aware_retriever.d.cts +0 -64
  406. package/dist/chains/history_aware_retriever.d.cts.map +0 -1
  407. package/dist/chains/history_aware_retriever.d.ts +0 -64
  408. package/dist/chains/history_aware_retriever.d.ts.map +0 -1
  409. package/dist/chains/history_aware_retriever.js +0 -49
  410. package/dist/chains/history_aware_retriever.js.map +0 -1
  411. package/dist/chains/index.cjs +0 -106
  412. package/dist/chains/index.cjs.map +0 -1
  413. package/dist/chains/index.d.cts +0 -25
  414. package/dist/chains/index.d.ts +0 -25
  415. package/dist/chains/index.js +0 -67
  416. package/dist/chains/index.js.map +0 -1
  417. package/dist/chains/llm_chain.cjs +0 -155
  418. package/dist/chains/llm_chain.cjs.map +0 -1
  419. package/dist/chains/llm_chain.d.cts +0 -97
  420. package/dist/chains/llm_chain.d.cts.map +0 -1
  421. package/dist/chains/llm_chain.d.ts +0 -97
  422. package/dist/chains/llm_chain.d.ts.map +0 -1
  423. package/dist/chains/llm_chain.js +0 -154
  424. package/dist/chains/llm_chain.js.map +0 -1
  425. package/dist/chains/load.cjs +0 -48
  426. package/dist/chains/load.cjs.map +0 -1
  427. package/dist/chains/load.d.cts +0 -30
  428. package/dist/chains/load.d.cts.map +0 -1
  429. package/dist/chains/load.d.ts +0 -30
  430. package/dist/chains/load.d.ts.map +0 -1
  431. package/dist/chains/load.js +0 -42
  432. package/dist/chains/load.js.map +0 -1
  433. package/dist/chains/openai_functions/base.cjs +0 -139
  434. package/dist/chains/openai_functions/base.cjs.map +0 -1
  435. package/dist/chains/openai_functions/base.d.cts +0 -172
  436. package/dist/chains/openai_functions/base.d.cts.map +0 -1
  437. package/dist/chains/openai_functions/base.d.ts +0 -172
  438. package/dist/chains/openai_functions/base.d.ts.map +0 -1
  439. package/dist/chains/openai_functions/base.js +0 -137
  440. package/dist/chains/openai_functions/base.js.map +0 -1
  441. package/dist/chains/openai_functions/extraction.cjs +0 -71
  442. package/dist/chains/openai_functions/extraction.cjs.map +0 -1
  443. package/dist/chains/openai_functions/extraction.d.cts +0 -29
  444. package/dist/chains/openai_functions/extraction.d.cts.map +0 -1
  445. package/dist/chains/openai_functions/extraction.d.ts +0 -29
  446. package/dist/chains/openai_functions/extraction.d.ts.map +0 -1
  447. package/dist/chains/openai_functions/extraction.js +0 -69
  448. package/dist/chains/openai_functions/extraction.js.map +0 -1
  449. package/dist/chains/openai_functions/index.cjs +0 -33
  450. package/dist/chains/openai_functions/index.cjs.map +0 -1
  451. package/dist/chains/openai_functions/index.d.cts +0 -5
  452. package/dist/chains/openai_functions/index.d.ts +0 -5
  453. package/dist/chains/openai_functions/index.js +0 -21
  454. package/dist/chains/openai_functions/index.js.map +0 -1
  455. package/dist/chains/openai_functions/openapi.cjs +0 -287
  456. package/dist/chains/openai_functions/openapi.cjs.map +0 -1
  457. package/dist/chains/openai_functions/openapi.d.cts +0 -61
  458. package/dist/chains/openai_functions/openapi.d.cts.map +0 -1
  459. package/dist/chains/openai_functions/openapi.d.ts +0 -61
  460. package/dist/chains/openai_functions/openapi.d.ts.map +0 -1
  461. package/dist/chains/openai_functions/openapi.js +0 -285
  462. package/dist/chains/openai_functions/openapi.js.map +0 -1
  463. package/dist/chains/openai_functions/tagging.cjs +0 -72
  464. package/dist/chains/openai_functions/tagging.cjs.map +0 -1
  465. package/dist/chains/openai_functions/tagging.d.cts +0 -47
  466. package/dist/chains/openai_functions/tagging.d.cts.map +0 -1
  467. package/dist/chains/openai_functions/tagging.d.ts +0 -47
  468. package/dist/chains/openai_functions/tagging.d.ts.map +0 -1
  469. package/dist/chains/openai_functions/tagging.js +0 -70
  470. package/dist/chains/openai_functions/tagging.js.map +0 -1
  471. package/dist/chains/query_constructor/index.cjs +0 -145
  472. package/dist/chains/query_constructor/index.cjs.map +0 -1
  473. package/dist/chains/query_constructor/index.d.cts +0 -82
  474. package/dist/chains/query_constructor/index.d.cts.map +0 -1
  475. package/dist/chains/query_constructor/index.d.ts +0 -82
  476. package/dist/chains/query_constructor/index.d.ts.map +0 -1
  477. package/dist/chains/query_constructor/index.js +0 -130
  478. package/dist/chains/query_constructor/index.js.map +0 -1
  479. package/dist/chains/query_constructor/ir.cjs +0 -22
  480. package/dist/chains/query_constructor/ir.cjs.map +0 -1
  481. package/dist/chains/query_constructor/ir.d.cts +0 -1
  482. package/dist/chains/query_constructor/ir.d.ts +0 -1
  483. package/dist/chains/query_constructor/ir.js +0 -12
  484. package/dist/chains/query_constructor/ir.js.map +0 -1
  485. package/dist/chains/query_constructor/parser.cjs +0 -80
  486. package/dist/chains/query_constructor/parser.cjs.map +0 -1
  487. package/dist/chains/query_constructor/parser.d.cts +0 -43
  488. package/dist/chains/query_constructor/parser.d.cts.map +0 -1
  489. package/dist/chains/query_constructor/parser.d.ts +0 -43
  490. package/dist/chains/query_constructor/parser.d.ts.map +0 -1
  491. package/dist/chains/query_constructor/parser.js +0 -79
  492. package/dist/chains/query_constructor/parser.js.map +0 -1
  493. package/dist/chains/query_constructor/prompt.cjs +0 -137
  494. package/dist/chains/query_constructor/prompt.cjs.map +0 -1
  495. package/dist/chains/query_constructor/prompt.d.cts +0 -22
  496. package/dist/chains/query_constructor/prompt.d.cts.map +0 -1
  497. package/dist/chains/query_constructor/prompt.d.ts +0 -22
  498. package/dist/chains/query_constructor/prompt.d.ts.map +0 -1
  499. package/dist/chains/query_constructor/prompt.js +0 -132
  500. package/dist/chains/query_constructor/prompt.js.map +0 -1
  501. package/dist/chains/question_answering/load.cjs +0 -99
  502. package/dist/chains/question_answering/load.cjs.map +0 -1
  503. package/dist/chains/question_answering/load.d.cts +0 -72
  504. package/dist/chains/question_answering/load.d.cts.map +0 -1
  505. package/dist/chains/question_answering/load.d.ts +0 -72
  506. package/dist/chains/question_answering/load.d.ts.map +0 -1
  507. package/dist/chains/question_answering/load.js +0 -96
  508. package/dist/chains/question_answering/load.js.map +0 -1
  509. package/dist/chains/question_answering/map_reduce_prompts.cjs +0 -61
  510. package/dist/chains/question_answering/map_reduce_prompts.cjs.map +0 -1
  511. package/dist/chains/question_answering/map_reduce_prompts.js +0 -59
  512. package/dist/chains/question_answering/map_reduce_prompts.js.map +0 -1
  513. package/dist/chains/question_answering/refine_prompts.cjs +0 -60
  514. package/dist/chains/question_answering/refine_prompts.cjs.map +0 -1
  515. package/dist/chains/question_answering/refine_prompts.js +0 -58
  516. package/dist/chains/question_answering/refine_prompts.js.map +0 -1
  517. package/dist/chains/question_answering/stuff_prompts.cjs +0 -20
  518. package/dist/chains/question_answering/stuff_prompts.cjs.map +0 -1
  519. package/dist/chains/question_answering/stuff_prompts.js +0 -19
  520. package/dist/chains/question_answering/stuff_prompts.js.map +0 -1
  521. package/dist/chains/retrieval.cjs +0 -55
  522. package/dist/chains/retrieval.cjs.map +0 -1
  523. package/dist/chains/retrieval.d.cts +0 -77
  524. package/dist/chains/retrieval.d.cts.map +0 -1
  525. package/dist/chains/retrieval.d.ts +0 -77
  526. package/dist/chains/retrieval.d.ts.map +0 -1
  527. package/dist/chains/retrieval.js +0 -49
  528. package/dist/chains/retrieval.js.map +0 -1
  529. package/dist/chains/retrieval_qa.cjs +0 -106
  530. package/dist/chains/retrieval_qa.cjs.map +0 -1
  531. package/dist/chains/retrieval_qa.d.cts +0 -81
  532. package/dist/chains/retrieval_qa.d.cts.map +0 -1
  533. package/dist/chains/retrieval_qa.d.ts +0 -81
  534. package/dist/chains/retrieval_qa.d.ts.map +0 -1
  535. package/dist/chains/retrieval_qa.js +0 -106
  536. package/dist/chains/retrieval_qa.js.map +0 -1
  537. package/dist/chains/router/llm_router.cjs +0 -50
  538. package/dist/chains/router/llm_router.cjs.map +0 -1
  539. package/dist/chains/router/llm_router.d.cts +0 -54
  540. package/dist/chains/router/llm_router.d.cts.map +0 -1
  541. package/dist/chains/router/llm_router.d.ts +0 -54
  542. package/dist/chains/router/llm_router.d.ts.map +0 -1
  543. package/dist/chains/router/llm_router.js +0 -50
  544. package/dist/chains/router/llm_router.js.map +0 -1
  545. package/dist/chains/router/multi_prompt.cjs +0 -116
  546. package/dist/chains/router/multi_prompt.cjs.map +0 -1
  547. package/dist/chains/router/multi_prompt.d.cts +0 -76
  548. package/dist/chains/router/multi_prompt.d.cts.map +0 -1
  549. package/dist/chains/router/multi_prompt.d.ts +0 -76
  550. package/dist/chains/router/multi_prompt.d.ts.map +0 -1
  551. package/dist/chains/router/multi_prompt.js +0 -115
  552. package/dist/chains/router/multi_prompt.js.map +0 -1
  553. package/dist/chains/router/multi_prompt_prompt.cjs +0 -22
  554. package/dist/chains/router/multi_prompt_prompt.cjs.map +0 -1
  555. package/dist/chains/router/multi_prompt_prompt.js +0 -21
  556. package/dist/chains/router/multi_prompt_prompt.js.map +0 -1
  557. package/dist/chains/router/multi_retrieval_prompt.cjs +0 -22
  558. package/dist/chains/router/multi_retrieval_prompt.cjs.map +0 -1
  559. package/dist/chains/router/multi_retrieval_prompt.js +0 -21
  560. package/dist/chains/router/multi_retrieval_prompt.js.map +0 -1
  561. package/dist/chains/router/multi_retrieval_qa.cjs +0 -137
  562. package/dist/chains/router/multi_retrieval_qa.cjs.map +0 -1
  563. package/dist/chains/router/multi_retrieval_qa.d.cts +0 -100
  564. package/dist/chains/router/multi_retrieval_qa.d.cts.map +0 -1
  565. package/dist/chains/router/multi_retrieval_qa.d.ts +0 -100
  566. package/dist/chains/router/multi_retrieval_qa.d.ts.map +0 -1
  567. package/dist/chains/router/multi_retrieval_qa.js +0 -136
  568. package/dist/chains/router/multi_retrieval_qa.js.map +0 -1
  569. package/dist/chains/router/multi_route.cjs +0 -69
  570. package/dist/chains/router/multi_route.cjs.map +0 -1
  571. package/dist/chains/router/multi_route.d.cts +0 -69
  572. package/dist/chains/router/multi_route.d.cts.map +0 -1
  573. package/dist/chains/router/multi_route.d.ts +0 -69
  574. package/dist/chains/router/multi_route.d.ts.map +0 -1
  575. package/dist/chains/router/multi_route.js +0 -68
  576. package/dist/chains/router/multi_route.js.map +0 -1
  577. package/dist/chains/router/utils.cjs +0 -18
  578. package/dist/chains/router/utils.cjs.map +0 -1
  579. package/dist/chains/router/utils.js +0 -17
  580. package/dist/chains/router/utils.js.map +0 -1
  581. package/dist/chains/sequential_chain.cjs +0 -255
  582. package/dist/chains/sequential_chain.cjs.map +0 -1
  583. package/dist/chains/sequential_chain.d.cts +0 -158
  584. package/dist/chains/sequential_chain.d.cts.map +0 -1
  585. package/dist/chains/sequential_chain.d.ts +0 -158
  586. package/dist/chains/sequential_chain.d.ts.map +0 -1
  587. package/dist/chains/sequential_chain.js +0 -254
  588. package/dist/chains/sequential_chain.js.map +0 -1
  589. package/dist/chains/serde.d.cts +0 -156
  590. package/dist/chains/serde.d.cts.map +0 -1
  591. package/dist/chains/serde.d.ts +0 -156
  592. package/dist/chains/serde.d.ts.map +0 -1
  593. package/dist/chains/sql_db/index.cjs +0 -35
  594. package/dist/chains/sql_db/index.cjs.map +0 -1
  595. package/dist/chains/sql_db/index.d.cts +0 -3
  596. package/dist/chains/sql_db/index.d.ts +0 -3
  597. package/dist/chains/sql_db/index.js +0 -21
  598. package/dist/chains/sql_db/index.js.map +0 -1
  599. package/dist/chains/sql_db/sql_db_chain.cjs +0 -196
  600. package/dist/chains/sql_db/sql_db_chain.cjs.map +0 -1
  601. package/dist/chains/sql_db/sql_db_chain.d.cts +0 -124
  602. package/dist/chains/sql_db/sql_db_chain.d.cts.map +0 -1
  603. package/dist/chains/sql_db/sql_db_chain.d.ts +0 -124
  604. package/dist/chains/sql_db/sql_db_chain.d.ts.map +0 -1
  605. package/dist/chains/sql_db/sql_db_chain.js +0 -194
  606. package/dist/chains/sql_db/sql_db_chain.js.map +0 -1
  607. package/dist/chains/sql_db/sql_db_prompt.cjs +0 -194
  608. package/dist/chains/sql_db/sql_db_prompt.cjs.map +0 -1
  609. package/dist/chains/sql_db/sql_db_prompt.d.cts +0 -44
  610. package/dist/chains/sql_db/sql_db_prompt.d.cts.map +0 -1
  611. package/dist/chains/sql_db/sql_db_prompt.d.ts +0 -44
  612. package/dist/chains/sql_db/sql_db_prompt.d.ts.map +0 -1
  613. package/dist/chains/sql_db/sql_db_prompt.js +0 -186
  614. package/dist/chains/sql_db/sql_db_prompt.js.map +0 -1
  615. package/dist/chains/summarization/load.cjs +0 -74
  616. package/dist/chains/summarization/load.cjs.map +0 -1
  617. package/dist/chains/summarization/load.d.cts +0 -33
  618. package/dist/chains/summarization/load.d.cts.map +0 -1
  619. package/dist/chains/summarization/load.d.ts +0 -33
  620. package/dist/chains/summarization/load.d.ts.map +0 -1
  621. package/dist/chains/summarization/load.js +0 -74
  622. package/dist/chains/summarization/load.js.map +0 -1
  623. package/dist/chains/summarization/refine_prompts.cjs +0 -24
  624. package/dist/chains/summarization/refine_prompts.cjs.map +0 -1
  625. package/dist/chains/summarization/refine_prompts.js +0 -23
  626. package/dist/chains/summarization/refine_prompts.js.map +0 -1
  627. package/dist/chains/summarization/stuff_prompts.cjs +0 -19
  628. package/dist/chains/summarization/stuff_prompts.cjs.map +0 -1
  629. package/dist/chains/summarization/stuff_prompts.js +0 -18
  630. package/dist/chains/summarization/stuff_prompts.js.map +0 -1
  631. package/dist/chains/transform.cjs +0 -43
  632. package/dist/chains/transform.cjs.map +0 -1
  633. package/dist/chains/transform.d.cts +0 -44
  634. package/dist/chains/transform.d.cts.map +0 -1
  635. package/dist/chains/transform.d.ts +0 -44
  636. package/dist/chains/transform.d.ts.map +0 -1
  637. package/dist/chains/transform.js +0 -43
  638. package/dist/chains/transform.js.map +0 -1
  639. package/dist/chains/vector_db_qa.cjs +0 -95
  640. package/dist/chains/vector_db_qa.cjs.map +0 -1
  641. package/dist/chains/vector_db_qa.d.cts +0 -66
  642. package/dist/chains/vector_db_qa.d.cts.map +0 -1
  643. package/dist/chains/vector_db_qa.d.ts +0 -66
  644. package/dist/chains/vector_db_qa.d.ts.map +0 -1
  645. package/dist/chains/vector_db_qa.js +0 -95
  646. package/dist/chains/vector_db_qa.js.map +0 -1
  647. package/dist/document.cjs +0 -21
  648. package/dist/document.cjs.map +0 -1
  649. package/dist/document.d.cts +0 -2
  650. package/dist/document.d.ts +0 -2
  651. package/dist/document.js +0 -10
  652. package/dist/document.js.map +0 -1
  653. package/dist/document_loaders/base.cjs +0 -22
  654. package/dist/document_loaders/base.cjs.map +0 -1
  655. package/dist/document_loaders/base.d.cts +0 -1
  656. package/dist/document_loaders/base.d.ts +0 -1
  657. package/dist/document_loaders/base.js +0 -12
  658. package/dist/document_loaders/base.js.map +0 -1
  659. package/dist/document_loaders/fs/buffer.cjs +0 -69
  660. package/dist/document_loaders/fs/buffer.cjs.map +0 -1
  661. package/dist/document_loaders/fs/buffer.d.cts +0 -46
  662. package/dist/document_loaders/fs/buffer.d.cts.map +0 -1
  663. package/dist/document_loaders/fs/buffer.d.ts +0 -46
  664. package/dist/document_loaders/fs/buffer.d.ts.map +0 -1
  665. package/dist/document_loaders/fs/buffer.js +0 -63
  666. package/dist/document_loaders/fs/buffer.js.map +0 -1
  667. package/dist/document_loaders/fs/directory.cjs +0 -116
  668. package/dist/document_loaders/fs/directory.cjs.map +0 -1
  669. package/dist/document_loaders/fs/directory.d.cts +0 -76
  670. package/dist/document_loaders/fs/directory.d.cts.map +0 -1
  671. package/dist/document_loaders/fs/directory.d.ts +0 -76
  672. package/dist/document_loaders/fs/directory.d.ts.map +0 -1
  673. package/dist/document_loaders/fs/directory.js +0 -109
  674. package/dist/document_loaders/fs/directory.js.map +0 -1
  675. package/dist/document_loaders/fs/json.cjs +0 -128
  676. package/dist/document_loaders/fs/json.cjs.map +0 -1
  677. package/dist/document_loaders/fs/json.d.cts +0 -65
  678. package/dist/document_loaders/fs/json.d.cts.map +0 -1
  679. package/dist/document_loaders/fs/json.d.ts +0 -65
  680. package/dist/document_loaders/fs/json.d.ts.map +0 -1
  681. package/dist/document_loaders/fs/json.js +0 -121
  682. package/dist/document_loaders/fs/json.js.map +0 -1
  683. package/dist/document_loaders/fs/multi_file.cjs +0 -82
  684. package/dist/document_loaders/fs/multi_file.cjs.map +0 -1
  685. package/dist/document_loaders/fs/multi_file.d.cts +0 -43
  686. package/dist/document_loaders/fs/multi_file.d.cts.map +0 -1
  687. package/dist/document_loaders/fs/multi_file.d.ts +0 -43
  688. package/dist/document_loaders/fs/multi_file.d.ts.map +0 -1
  689. package/dist/document_loaders/fs/multi_file.js +0 -76
  690. package/dist/document_loaders/fs/multi_file.js.map +0 -1
  691. package/dist/document_loaders/fs/text.cjs +0 -101
  692. package/dist/document_loaders/fs/text.cjs.map +0 -1
  693. package/dist/document_loaders/fs/text.d.cts +0 -57
  694. package/dist/document_loaders/fs/text.d.cts.map +0 -1
  695. package/dist/document_loaders/fs/text.d.ts +0 -57
  696. package/dist/document_loaders/fs/text.d.ts.map +0 -1
  697. package/dist/document_loaders/fs/text.js +0 -95
  698. package/dist/document_loaders/fs/text.js.map +0 -1
  699. package/dist/evaluation/agents/index.cjs +0 -1
  700. package/dist/evaluation/agents/index.js +0 -1
  701. package/dist/evaluation/agents/prompt.cjs +0 -132
  702. package/dist/evaluation/agents/prompt.cjs.map +0 -1
  703. package/dist/evaluation/agents/prompt.js +0 -130
  704. package/dist/evaluation/agents/prompt.js.map +0 -1
  705. package/dist/evaluation/agents/trajectory.cjs +0 -132
  706. package/dist/evaluation/agents/trajectory.cjs.map +0 -1
  707. package/dist/evaluation/agents/trajectory.d.cts +0 -61
  708. package/dist/evaluation/agents/trajectory.d.cts.map +0 -1
  709. package/dist/evaluation/agents/trajectory.d.ts +0 -61
  710. package/dist/evaluation/agents/trajectory.d.ts.map +0 -1
  711. package/dist/evaluation/agents/trajectory.js +0 -130
  712. package/dist/evaluation/agents/trajectory.js.map +0 -1
  713. package/dist/evaluation/base.cjs +0 -169
  714. package/dist/evaluation/base.cjs.map +0 -1
  715. package/dist/evaluation/base.d.cts +0 -240
  716. package/dist/evaluation/base.d.cts.map +0 -1
  717. package/dist/evaluation/base.d.ts +0 -240
  718. package/dist/evaluation/base.d.ts.map +0 -1
  719. package/dist/evaluation/base.js +0 -164
  720. package/dist/evaluation/base.js.map +0 -1
  721. package/dist/evaluation/comparison/index.cjs +0 -1
  722. package/dist/evaluation/comparison/index.js +0 -1
  723. package/dist/evaluation/comparison/pairwise.cjs +0 -178
  724. package/dist/evaluation/comparison/pairwise.cjs.map +0 -1
  725. package/dist/evaluation/comparison/pairwise.d.cts +0 -56
  726. package/dist/evaluation/comparison/pairwise.d.cts.map +0 -1
  727. package/dist/evaluation/comparison/pairwise.d.ts +0 -56
  728. package/dist/evaluation/comparison/pairwise.d.ts.map +0 -1
  729. package/dist/evaluation/comparison/pairwise.js +0 -175
  730. package/dist/evaluation/comparison/pairwise.js.map +0 -1
  731. package/dist/evaluation/comparison/prompt.cjs +0 -77
  732. package/dist/evaluation/comparison/prompt.cjs.map +0 -1
  733. package/dist/evaluation/comparison/prompt.js +0 -75
  734. package/dist/evaluation/comparison/prompt.js.map +0 -1
  735. package/dist/evaluation/criteria/criteria.cjs +0 -164
  736. package/dist/evaluation/criteria/criteria.cjs.map +0 -1
  737. package/dist/evaluation/criteria/criteria.d.cts +0 -85
  738. package/dist/evaluation/criteria/criteria.d.cts.map +0 -1
  739. package/dist/evaluation/criteria/criteria.d.ts +0 -85
  740. package/dist/evaluation/criteria/criteria.d.ts.map +0 -1
  741. package/dist/evaluation/criteria/criteria.js +0 -161
  742. package/dist/evaluation/criteria/criteria.js.map +0 -1
  743. package/dist/evaluation/criteria/index.cjs +0 -1
  744. package/dist/evaluation/criteria/index.js +0 -1
  745. package/dist/evaluation/criteria/prompt.cjs +0 -50
  746. package/dist/evaluation/criteria/prompt.cjs.map +0 -1
  747. package/dist/evaluation/criteria/prompt.js +0 -48
  748. package/dist/evaluation/criteria/prompt.js.map +0 -1
  749. package/dist/evaluation/embedding_distance/base.cjs +0 -108
  750. package/dist/evaluation/embedding_distance/base.cjs.map +0 -1
  751. package/dist/evaluation/embedding_distance/base.d.cts +0 -82
  752. package/dist/evaluation/embedding_distance/base.d.cts.map +0 -1
  753. package/dist/evaluation/embedding_distance/base.d.ts +0 -82
  754. package/dist/evaluation/embedding_distance/base.d.ts.map +0 -1
  755. package/dist/evaluation/embedding_distance/base.js +0 -105
  756. package/dist/evaluation/embedding_distance/base.js.map +0 -1
  757. package/dist/evaluation/embedding_distance/index.cjs +0 -1
  758. package/dist/evaluation/embedding_distance/index.js +0 -1
  759. package/dist/evaluation/index.cjs +0 -54
  760. package/dist/evaluation/index.cjs.map +0 -1
  761. package/dist/evaluation/index.d.cts +0 -8
  762. package/dist/evaluation/index.d.ts +0 -8
  763. package/dist/evaluation/index.js +0 -35
  764. package/dist/evaluation/index.js.map +0 -1
  765. package/dist/evaluation/loader.cjs +0 -57
  766. package/dist/evaluation/loader.cjs.map +0 -1
  767. package/dist/evaluation/loader.d.cts +0 -38
  768. package/dist/evaluation/loader.d.cts.map +0 -1
  769. package/dist/evaluation/loader.d.ts +0 -38
  770. package/dist/evaluation/loader.d.ts.map +0 -1
  771. package/dist/evaluation/loader.js +0 -56
  772. package/dist/evaluation/loader.js.map +0 -1
  773. package/dist/evaluation/qa/eval_chain.cjs +0 -41
  774. package/dist/evaluation/qa/eval_chain.cjs.map +0 -1
  775. package/dist/evaluation/qa/eval_chain.d.cts +0 -22
  776. package/dist/evaluation/qa/eval_chain.d.cts.map +0 -1
  777. package/dist/evaluation/qa/eval_chain.d.ts +0 -22
  778. package/dist/evaluation/qa/eval_chain.d.ts.map +0 -1
  779. package/dist/evaluation/qa/eval_chain.js +0 -41
  780. package/dist/evaluation/qa/eval_chain.js.map +0 -1
  781. package/dist/evaluation/qa/index.cjs +0 -1
  782. package/dist/evaluation/qa/index.js +0 -1
  783. package/dist/evaluation/qa/prompt.cjs +0 -31
  784. package/dist/evaluation/qa/prompt.cjs.map +0 -1
  785. package/dist/evaluation/qa/prompt.js +0 -30
  786. package/dist/evaluation/qa/prompt.js.map +0 -1
  787. package/dist/evaluation/types.d.cts +0 -40
  788. package/dist/evaluation/types.d.cts.map +0 -1
  789. package/dist/evaluation/types.d.ts +0 -40
  790. package/dist/evaluation/types.d.ts.map +0 -1
  791. package/dist/langchain-core/dist/load/map_keys.d.cts +0 -10
  792. package/dist/langchain-core/dist/load/map_keys.d.cts.map +0 -1
  793. package/dist/langchain-core/dist/load/serializable.d.cts +0 -82
  794. package/dist/langchain-core/dist/load/serializable.d.cts.map +0 -1
  795. package/dist/langchain-core/dist/messages/base.d.cts +0 -125
  796. package/dist/langchain-core/dist/messages/base.d.cts.map +0 -1
  797. package/dist/langchain-core/dist/messages/content/base.d.cts +0 -22
  798. package/dist/langchain-core/dist/messages/content/base.d.cts.map +0 -1
  799. package/dist/langchain-core/dist/messages/content/data.d.cts +0 -96
  800. package/dist/langchain-core/dist/messages/content/data.d.cts.map +0 -1
  801. package/dist/langchain-core/dist/messages/content/index.d.cts +0 -102
  802. package/dist/langchain-core/dist/messages/content/index.d.cts.map +0 -1
  803. package/dist/langchain-core/dist/messages/content/multimodal.d.cts +0 -110
  804. package/dist/langchain-core/dist/messages/content/multimodal.d.cts.map +0 -1
  805. package/dist/langchain-core/dist/messages/content/tools.d.cts +0 -153
  806. package/dist/langchain-core/dist/messages/content/tools.d.cts.map +0 -1
  807. package/dist/langchain-core/dist/messages/message.d.cts +0 -598
  808. package/dist/langchain-core/dist/messages/message.d.cts.map +0 -1
  809. package/dist/langchain-core/dist/messages/metadata.d.cts +0 -97
  810. package/dist/langchain-core/dist/messages/metadata.d.cts.map +0 -1
  811. package/dist/langchain-core/dist/messages/utils.d.cts +0 -75
  812. package/dist/langchain-core/dist/messages/utils.d.cts.map +0 -1
  813. package/dist/langchain-core/dist/prompt_values.d.cts +0 -13
  814. package/dist/langchain-core/dist/prompt_values.d.cts.map +0 -1
  815. package/dist/langchain-core/dist/utils/types/index.d.cts +0 -8
  816. package/dist/langchain-core/dist/utils/types/index.d.cts.map +0 -1
  817. package/dist/libs/langchain-core/dist/load/map_keys.d.ts +0 -10
  818. package/dist/libs/langchain-core/dist/load/map_keys.d.ts.map +0 -1
  819. package/dist/libs/langchain-core/dist/load/serializable.d.ts +0 -82
  820. package/dist/libs/langchain-core/dist/load/serializable.d.ts.map +0 -1
  821. package/dist/libs/langchain-core/dist/messages/base.d.ts +0 -125
  822. package/dist/libs/langchain-core/dist/messages/base.d.ts.map +0 -1
  823. package/dist/libs/langchain-core/dist/messages/content/base.d.ts +0 -22
  824. package/dist/libs/langchain-core/dist/messages/content/base.d.ts.map +0 -1
  825. package/dist/libs/langchain-core/dist/messages/content/data.d.ts +0 -96
  826. package/dist/libs/langchain-core/dist/messages/content/data.d.ts.map +0 -1
  827. package/dist/libs/langchain-core/dist/messages/content/index.d.ts +0 -102
  828. package/dist/libs/langchain-core/dist/messages/content/index.d.ts.map +0 -1
  829. package/dist/libs/langchain-core/dist/messages/content/multimodal.d.ts +0 -110
  830. package/dist/libs/langchain-core/dist/messages/content/multimodal.d.ts.map +0 -1
  831. package/dist/libs/langchain-core/dist/messages/content/tools.d.ts +0 -153
  832. package/dist/libs/langchain-core/dist/messages/content/tools.d.ts.map +0 -1
  833. package/dist/libs/langchain-core/dist/messages/message.d.ts +0 -598
  834. package/dist/libs/langchain-core/dist/messages/message.d.ts.map +0 -1
  835. package/dist/libs/langchain-core/dist/messages/metadata.d.ts +0 -97
  836. package/dist/libs/langchain-core/dist/messages/metadata.d.ts.map +0 -1
  837. package/dist/libs/langchain-core/dist/messages/utils.d.ts +0 -75
  838. package/dist/libs/langchain-core/dist/messages/utils.d.ts.map +0 -1
  839. package/dist/libs/langchain-core/dist/prompt_values.d.ts +0 -13
  840. package/dist/libs/langchain-core/dist/prompt_values.d.ts.map +0 -1
  841. package/dist/libs/langchain-core/dist/utils/types/index.d.ts +0 -10
  842. package/dist/libs/langchain-core/dist/utils/types/index.d.ts.map +0 -1
  843. package/dist/libs/langchain-core/dist/utils/types/zod.d.ts +0 -1
  844. package/dist/load/map_keys.d.cts +0 -8
  845. package/dist/load/map_keys.d.cts.map +0 -1
  846. package/dist/load/map_keys.d.ts +0 -8
  847. package/dist/load/map_keys.d.ts.map +0 -1
  848. package/dist/load/serializable.d.cts.map +0 -1
  849. package/dist/load/serializable.d.ts.map +0 -1
  850. package/dist/memory/buffer_memory.cjs +0 -80
  851. package/dist/memory/buffer_memory.cjs.map +0 -1
  852. package/dist/memory/buffer_memory.d.cts +0 -67
  853. package/dist/memory/buffer_memory.d.cts.map +0 -1
  854. package/dist/memory/buffer_memory.d.ts +0 -67
  855. package/dist/memory/buffer_memory.d.ts.map +0 -1
  856. package/dist/memory/buffer_memory.js +0 -79
  857. package/dist/memory/buffer_memory.js.map +0 -1
  858. package/dist/memory/buffer_token_memory.cjs +0 -80
  859. package/dist/memory/buffer_token_memory.cjs.map +0 -1
  860. package/dist/memory/buffer_token_memory.d.cts +0 -67
  861. package/dist/memory/buffer_token_memory.d.cts.map +0 -1
  862. package/dist/memory/buffer_token_memory.d.ts +0 -67
  863. package/dist/memory/buffer_token_memory.d.ts.map +0 -1
  864. package/dist/memory/buffer_token_memory.js +0 -79
  865. package/dist/memory/buffer_token_memory.js.map +0 -1
  866. package/dist/memory/buffer_window_memory.cjs +0 -77
  867. package/dist/memory/buffer_window_memory.cjs.map +0 -1
  868. package/dist/memory/buffer_window_memory.d.cts +0 -64
  869. package/dist/memory/buffer_window_memory.d.cts.map +0 -1
  870. package/dist/memory/buffer_window_memory.d.ts +0 -64
  871. package/dist/memory/buffer_window_memory.d.ts.map +0 -1
  872. package/dist/memory/buffer_window_memory.js +0 -76
  873. package/dist/memory/buffer_window_memory.js.map +0 -1
  874. package/dist/memory/chat_memory.cjs +0 -53
  875. package/dist/memory/chat_memory.cjs.map +0 -1
  876. package/dist/memory/chat_memory.d.cts +0 -42
  877. package/dist/memory/chat_memory.d.cts.map +0 -1
  878. package/dist/memory/chat_memory.d.ts +0 -42
  879. package/dist/memory/chat_memory.d.ts.map +0 -1
  880. package/dist/memory/chat_memory.js +0 -47
  881. package/dist/memory/chat_memory.js.map +0 -1
  882. package/dist/memory/combined_memory.cjs +0 -88
  883. package/dist/memory/combined_memory.cjs.map +0 -1
  884. package/dist/memory/combined_memory.d.cts +0 -60
  885. package/dist/memory/combined_memory.d.cts.map +0 -1
  886. package/dist/memory/combined_memory.d.ts +0 -60
  887. package/dist/memory/combined_memory.d.ts.map +0 -1
  888. package/dist/memory/combined_memory.js +0 -88
  889. package/dist/memory/combined_memory.js.map +0 -1
  890. package/dist/memory/entity_memory.cjs +0 -144
  891. package/dist/memory/entity_memory.cjs.map +0 -1
  892. package/dist/memory/entity_memory.d.cts +0 -99
  893. package/dist/memory/entity_memory.d.cts.map +0 -1
  894. package/dist/memory/entity_memory.d.ts +0 -99
  895. package/dist/memory/entity_memory.d.ts.map +0 -1
  896. package/dist/memory/entity_memory.js +0 -143
  897. package/dist/memory/entity_memory.js.map +0 -1
  898. package/dist/memory/index.cjs +0 -85
  899. package/dist/memory/index.cjs.map +0 -1
  900. package/dist/memory/index.d.cts +0 -14
  901. package/dist/memory/index.d.ts +0 -14
  902. package/dist/memory/index.js +0 -39
  903. package/dist/memory/index.js.map +0 -1
  904. package/dist/memory/prompt.cjs +0 -124
  905. package/dist/memory/prompt.cjs.map +0 -1
  906. package/dist/memory/prompt.d.cts +0 -12
  907. package/dist/memory/prompt.d.cts.map +0 -1
  908. package/dist/memory/prompt.d.ts +0 -12
  909. package/dist/memory/prompt.d.ts.map +0 -1
  910. package/dist/memory/prompt.js +0 -120
  911. package/dist/memory/prompt.js.map +0 -1
  912. package/dist/memory/stores/entity/base.cjs +0 -13
  913. package/dist/memory/stores/entity/base.cjs.map +0 -1
  914. package/dist/memory/stores/entity/base.d.cts +0 -18
  915. package/dist/memory/stores/entity/base.d.cts.map +0 -1
  916. package/dist/memory/stores/entity/base.d.ts +0 -18
  917. package/dist/memory/stores/entity/base.d.ts.map +0 -1
  918. package/dist/memory/stores/entity/base.js +0 -12
  919. package/dist/memory/stores/entity/base.js.map +0 -1
  920. package/dist/memory/stores/entity/in_memory.cjs +0 -64
  921. package/dist/memory/stores/entity/in_memory.cjs.map +0 -1
  922. package/dist/memory/stores/entity/in_memory.js +0 -64
  923. package/dist/memory/stores/entity/in_memory.js.map +0 -1
  924. package/dist/memory/summary.cjs +0 -127
  925. package/dist/memory/summary.cjs.map +0 -1
  926. package/dist/memory/summary.d.cts +0 -101
  927. package/dist/memory/summary.d.cts.map +0 -1
  928. package/dist/memory/summary.d.ts +0 -101
  929. package/dist/memory/summary.d.ts.map +0 -1
  930. package/dist/memory/summary.js +0 -125
  931. package/dist/memory/summary.js.map +0 -1
  932. package/dist/memory/summary_buffer.cjs +0 -117
  933. package/dist/memory/summary_buffer.cjs.map +0 -1
  934. package/dist/memory/summary_buffer.d.cts +0 -90
  935. package/dist/memory/summary_buffer.d.cts.map +0 -1
  936. package/dist/memory/summary_buffer.d.ts +0 -90
  937. package/dist/memory/summary_buffer.d.ts.map +0 -1
  938. package/dist/memory/summary_buffer.js +0 -116
  939. package/dist/memory/summary_buffer.js.map +0 -1
  940. package/dist/memory/vector_store.cjs +0 -87
  941. package/dist/memory/vector_store.cjs.map +0 -1
  942. package/dist/memory/vector_store.d.cts +0 -81
  943. package/dist/memory/vector_store.d.cts.map +0 -1
  944. package/dist/memory/vector_store.d.ts +0 -81
  945. package/dist/memory/vector_store.d.ts.map +0 -1
  946. package/dist/memory/vector_store.js +0 -86
  947. package/dist/memory/vector_store.js.map +0 -1
  948. package/dist/output_parsers/combining.cjs +0 -61
  949. package/dist/output_parsers/combining.cjs.map +0 -1
  950. package/dist/output_parsers/combining.d.cts +0 -46
  951. package/dist/output_parsers/combining.d.cts.map +0 -1
  952. package/dist/output_parsers/combining.d.ts +0 -46
  953. package/dist/output_parsers/combining.d.ts.map +0 -1
  954. package/dist/output_parsers/combining.js +0 -60
  955. package/dist/output_parsers/combining.js.map +0 -1
  956. package/dist/output_parsers/datetime.cjs +0 -46
  957. package/dist/output_parsers/datetime.cjs.map +0 -1
  958. package/dist/output_parsers/datetime.d.cts +0 -33
  959. package/dist/output_parsers/datetime.d.cts.map +0 -1
  960. package/dist/output_parsers/datetime.d.ts +0 -33
  961. package/dist/output_parsers/datetime.d.ts.map +0 -1
  962. package/dist/output_parsers/datetime.js +0 -45
  963. package/dist/output_parsers/datetime.js.map +0 -1
  964. package/dist/output_parsers/expression.cjs +0 -86
  965. package/dist/output_parsers/expression.cjs.map +0 -1
  966. package/dist/output_parsers/expression.d.cts +0 -53
  967. package/dist/output_parsers/expression.d.cts.map +0 -1
  968. package/dist/output_parsers/expression.d.ts +0 -53
  969. package/dist/output_parsers/expression.d.ts.map +0 -1
  970. package/dist/output_parsers/expression.js +0 -79
  971. package/dist/output_parsers/expression.js.map +0 -1
  972. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs +0 -38
  973. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.cjs.map +0 -1
  974. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js +0 -38
  975. package/dist/output_parsers/expression_type_handlers/array_literal_expression_handler.js.map +0 -1
  976. package/dist/output_parsers/expression_type_handlers/base.cjs +0 -130
  977. package/dist/output_parsers/expression_type_handlers/base.cjs.map +0 -1
  978. package/dist/output_parsers/expression_type_handlers/base.d.cts +0 -108
  979. package/dist/output_parsers/expression_type_handlers/base.d.cts.map +0 -1
  980. package/dist/output_parsers/expression_type_handlers/base.d.ts +0 -108
  981. package/dist/output_parsers/expression_type_handlers/base.d.ts.map +0 -1
  982. package/dist/output_parsers/expression_type_handlers/base.js +0 -129
  983. package/dist/output_parsers/expression_type_handlers/base.js.map +0 -1
  984. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs +0 -38
  985. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.cjs.map +0 -1
  986. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js +0 -38
  987. package/dist/output_parsers/expression_type_handlers/boolean_literal_handler.js.map +0 -1
  988. package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs +0 -64
  989. package/dist/output_parsers/expression_type_handlers/call_expression_handler.cjs.map +0 -1
  990. package/dist/output_parsers/expression_type_handlers/call_expression_handler.js +0 -64
  991. package/dist/output_parsers/expression_type_handlers/call_expression_handler.js.map +0 -1
  992. package/dist/output_parsers/expression_type_handlers/factory.cjs +0 -68
  993. package/dist/output_parsers/expression_type_handlers/factory.cjs.map +0 -1
  994. package/dist/output_parsers/expression_type_handlers/factory.d.cts +0 -35
  995. package/dist/output_parsers/expression_type_handlers/factory.d.cts.map +0 -1
  996. package/dist/output_parsers/expression_type_handlers/factory.d.ts +0 -35
  997. package/dist/output_parsers/expression_type_handlers/factory.d.ts.map +0 -1
  998. package/dist/output_parsers/expression_type_handlers/factory.js +0 -68
  999. package/dist/output_parsers/expression_type_handlers/factory.js.map +0 -1
  1000. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.cjs +0 -299
  1001. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.cjs.map +0 -1
  1002. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.js +0 -298
  1003. package/dist/output_parsers/expression_type_handlers/grammar/parser_grammar.js.map +0 -1
  1004. package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs +0 -40
  1005. package/dist/output_parsers/expression_type_handlers/identifier_handler.cjs.map +0 -1
  1006. package/dist/output_parsers/expression_type_handlers/identifier_handler.js +0 -40
  1007. package/dist/output_parsers/expression_type_handlers/identifier_handler.js.map +0 -1
  1008. package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs +0 -48
  1009. package/dist/output_parsers/expression_type_handlers/member_expression_handler.cjs.map +0 -1
  1010. package/dist/output_parsers/expression_type_handlers/member_expression_handler.js +0 -48
  1011. package/dist/output_parsers/expression_type_handlers/member_expression_handler.js.map +0 -1
  1012. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs +0 -36
  1013. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.cjs.map +0 -1
  1014. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js +0 -36
  1015. package/dist/output_parsers/expression_type_handlers/numeric_literal_handler.js.map +0 -1
  1016. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs +0 -40
  1017. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.cjs.map +0 -1
  1018. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js +0 -40
  1019. package/dist/output_parsers/expression_type_handlers/object_literal_expression_handler.js.map +0 -1
  1020. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs +0 -45
  1021. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.cjs.map +0 -1
  1022. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js +0 -45
  1023. package/dist/output_parsers/expression_type_handlers/property_assignment_handler.js.map +0 -1
  1024. package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs +0 -37
  1025. package/dist/output_parsers/expression_type_handlers/string_literal_handler.cjs.map +0 -1
  1026. package/dist/output_parsers/expression_type_handlers/string_literal_handler.js +0 -37
  1027. package/dist/output_parsers/expression_type_handlers/string_literal_handler.js.map +0 -1
  1028. package/dist/output_parsers/expression_type_handlers/types.d.cts +0 -95
  1029. package/dist/output_parsers/expression_type_handlers/types.d.cts.map +0 -1
  1030. package/dist/output_parsers/expression_type_handlers/types.d.ts +0 -95
  1031. package/dist/output_parsers/expression_type_handlers/types.d.ts.map +0 -1
  1032. package/dist/output_parsers/fix.cjs +0 -92
  1033. package/dist/output_parsers/fix.cjs.map +0 -1
  1034. package/dist/output_parsers/fix.d.cts +0 -60
  1035. package/dist/output_parsers/fix.d.cts.map +0 -1
  1036. package/dist/output_parsers/fix.d.ts +0 -60
  1037. package/dist/output_parsers/fix.d.ts.map +0 -1
  1038. package/dist/output_parsers/fix.js +0 -91
  1039. package/dist/output_parsers/fix.js.map +0 -1
  1040. package/dist/output_parsers/http_response.cjs +0 -53
  1041. package/dist/output_parsers/http_response.cjs.map +0 -1
  1042. package/dist/output_parsers/http_response.d.cts +0 -33
  1043. package/dist/output_parsers/http_response.d.cts.map +0 -1
  1044. package/dist/output_parsers/http_response.d.ts +0 -33
  1045. package/dist/output_parsers/http_response.d.ts.map +0 -1
  1046. package/dist/output_parsers/http_response.js +0 -52
  1047. package/dist/output_parsers/http_response.js.map +0 -1
  1048. package/dist/output_parsers/index.cjs +0 -74
  1049. package/dist/output_parsers/index.cjs.map +0 -1
  1050. package/dist/output_parsers/index.d.cts +0 -11
  1051. package/dist/output_parsers/index.d.ts +0 -11
  1052. package/dist/output_parsers/index.js +0 -37
  1053. package/dist/output_parsers/index.js.map +0 -1
  1054. package/dist/output_parsers/noop.cjs +0 -43
  1055. package/dist/output_parsers/noop.cjs.map +0 -1
  1056. package/dist/output_parsers/noop.js +0 -42
  1057. package/dist/output_parsers/noop.js.map +0 -1
  1058. package/dist/output_parsers/openai_functions.cjs +0 -145
  1059. package/dist/output_parsers/openai_functions.cjs.map +0 -1
  1060. package/dist/output_parsers/openai_functions.d.cts +0 -85
  1061. package/dist/output_parsers/openai_functions.d.cts.map +0 -1
  1062. package/dist/output_parsers/openai_functions.d.ts +0 -85
  1063. package/dist/output_parsers/openai_functions.d.ts.map +0 -1
  1064. package/dist/output_parsers/openai_functions.js +0 -142
  1065. package/dist/output_parsers/openai_functions.js.map +0 -1
  1066. package/dist/output_parsers/openai_tools.cjs +0 -89
  1067. package/dist/output_parsers/openai_tools.cjs.map +0 -1
  1068. package/dist/output_parsers/openai_tools.d.cts +0 -69
  1069. package/dist/output_parsers/openai_tools.d.cts.map +0 -1
  1070. package/dist/output_parsers/openai_tools.d.ts +0 -69
  1071. package/dist/output_parsers/openai_tools.d.ts.map +0 -1
  1072. package/dist/output_parsers/openai_tools.js +0 -87
  1073. package/dist/output_parsers/openai_tools.js.map +0 -1
  1074. package/dist/output_parsers/prompts.cjs +0 -25
  1075. package/dist/output_parsers/prompts.cjs.map +0 -1
  1076. package/dist/output_parsers/prompts.js +0 -24
  1077. package/dist/output_parsers/prompts.js.map +0 -1
  1078. package/dist/output_parsers/regex.cjs +0 -74
  1079. package/dist/output_parsers/regex.cjs.map +0 -1
  1080. package/dist/output_parsers/regex.d.cts +0 -49
  1081. package/dist/output_parsers/regex.d.cts.map +0 -1
  1082. package/dist/output_parsers/regex.d.ts +0 -49
  1083. package/dist/output_parsers/regex.d.ts.map +0 -1
  1084. package/dist/output_parsers/regex.js +0 -73
  1085. package/dist/output_parsers/regex.js.map +0 -1
  1086. package/dist/output_parsers/router.cjs +0 -40
  1087. package/dist/output_parsers/router.cjs.map +0 -1
  1088. package/dist/output_parsers/router.d.cts +0 -36
  1089. package/dist/output_parsers/router.d.cts.map +0 -1
  1090. package/dist/output_parsers/router.d.ts +0 -36
  1091. package/dist/output_parsers/router.d.ts.map +0 -1
  1092. package/dist/output_parsers/router.js +0 -39
  1093. package/dist/output_parsers/router.js.map +0 -1
  1094. package/dist/output_parsers/structured.cjs +0 -164
  1095. package/dist/output_parsers/structured.cjs.map +0 -1
  1096. package/dist/output_parsers/structured.d.cts +0 -97
  1097. package/dist/output_parsers/structured.d.cts.map +0 -1
  1098. package/dist/output_parsers/structured.d.ts +0 -97
  1099. package/dist/output_parsers/structured.d.ts.map +0 -1
  1100. package/dist/output_parsers/structured.js +0 -161
  1101. package/dist/output_parsers/structured.js.map +0 -1
  1102. package/dist/retrievers/contextual_compression.cjs +0 -53
  1103. package/dist/retrievers/contextual_compression.cjs.map +0 -1
  1104. package/dist/retrievers/contextual_compression.d.cts +0 -42
  1105. package/dist/retrievers/contextual_compression.d.cts.map +0 -1
  1106. package/dist/retrievers/contextual_compression.d.ts +0 -42
  1107. package/dist/retrievers/contextual_compression.d.ts.map +0 -1
  1108. package/dist/retrievers/contextual_compression.js +0 -47
  1109. package/dist/retrievers/contextual_compression.js.map +0 -1
  1110. package/dist/retrievers/document_compressors/chain_extract.cjs +0 -103
  1111. package/dist/retrievers/document_compressors/chain_extract.cjs.map +0 -1
  1112. package/dist/retrievers/document_compressors/chain_extract.d.cts +0 -47
  1113. package/dist/retrievers/document_compressors/chain_extract.d.cts.map +0 -1
  1114. package/dist/retrievers/document_compressors/chain_extract.d.ts +0 -47
  1115. package/dist/retrievers/document_compressors/chain_extract.d.ts.map +0 -1
  1116. package/dist/retrievers/document_compressors/chain_extract.js +0 -97
  1117. package/dist/retrievers/document_compressors/chain_extract.js.map +0 -1
  1118. package/dist/retrievers/document_compressors/chain_extract_prompt.cjs +0 -16
  1119. package/dist/retrievers/document_compressors/chain_extract_prompt.cjs.map +0 -1
  1120. package/dist/retrievers/document_compressors/chain_extract_prompt.js +0 -15
  1121. package/dist/retrievers/document_compressors/chain_extract_prompt.js.map +0 -1
  1122. package/dist/retrievers/document_compressors/embeddings_filter.cjs +0 -74
  1123. package/dist/retrievers/document_compressors/embeddings_filter.cjs.map +0 -1
  1124. package/dist/retrievers/document_compressors/embeddings_filter.d.cts +0 -58
  1125. package/dist/retrievers/document_compressors/embeddings_filter.d.cts.map +0 -1
  1126. package/dist/retrievers/document_compressors/embeddings_filter.d.ts +0 -58
  1127. package/dist/retrievers/document_compressors/embeddings_filter.d.ts.map +0 -1
  1128. package/dist/retrievers/document_compressors/embeddings_filter.js +0 -68
  1129. package/dist/retrievers/document_compressors/embeddings_filter.js.map +0 -1
  1130. package/dist/retrievers/document_compressors/index.cjs +0 -69
  1131. package/dist/retrievers/document_compressors/index.cjs.map +0 -1
  1132. package/dist/retrievers/document_compressors/index.d.cts +0 -61
  1133. package/dist/retrievers/document_compressors/index.d.cts.map +0 -1
  1134. package/dist/retrievers/document_compressors/index.d.ts +0 -61
  1135. package/dist/retrievers/document_compressors/index.d.ts.map +0 -1
  1136. package/dist/retrievers/document_compressors/index.js +0 -62
  1137. package/dist/retrievers/document_compressors/index.js.map +0 -1
  1138. package/dist/retrievers/ensemble.cjs +0 -76
  1139. package/dist/retrievers/ensemble.cjs.map +0 -1
  1140. package/dist/retrievers/ensemble.d.cts +0 -39
  1141. package/dist/retrievers/ensemble.d.cts.map +0 -1
  1142. package/dist/retrievers/ensemble.d.ts +0 -39
  1143. package/dist/retrievers/ensemble.d.ts.map +0 -1
  1144. package/dist/retrievers/ensemble.js +0 -70
  1145. package/dist/retrievers/ensemble.js.map +0 -1
  1146. package/dist/retrievers/hyde.cjs +0 -128
  1147. package/dist/retrievers/hyde.cjs.map +0 -1
  1148. package/dist/retrievers/hyde.d.cts +0 -61
  1149. package/dist/retrievers/hyde.d.cts.map +0 -1
  1150. package/dist/retrievers/hyde.d.ts +0 -61
  1151. package/dist/retrievers/hyde.d.ts.map +0 -1
  1152. package/dist/retrievers/hyde.js +0 -121
  1153. package/dist/retrievers/hyde.js.map +0 -1
  1154. package/dist/retrievers/matryoshka_retriever.cjs +0 -116
  1155. package/dist/retrievers/matryoshka_retriever.cjs.map +0 -1
  1156. package/dist/retrievers/matryoshka_retriever.d.cts +0 -99
  1157. package/dist/retrievers/matryoshka_retriever.d.cts.map +0 -1
  1158. package/dist/retrievers/matryoshka_retriever.d.ts +0 -99
  1159. package/dist/retrievers/matryoshka_retriever.d.ts.map +0 -1
  1160. package/dist/retrievers/matryoshka_retriever.js +0 -110
  1161. package/dist/retrievers/matryoshka_retriever.js.map +0 -1
  1162. package/dist/retrievers/multi_query.cjs +0 -150
  1163. package/dist/retrievers/multi_query.cjs.map +0 -1
  1164. package/dist/retrievers/multi_query.d.cts +0 -59
  1165. package/dist/retrievers/multi_query.d.cts.map +0 -1
  1166. package/dist/retrievers/multi_query.d.ts +0 -59
  1167. package/dist/retrievers/multi_query.d.ts.map +0 -1
  1168. package/dist/retrievers/multi_query.js +0 -144
  1169. package/dist/retrievers/multi_query.js.map +0 -1
  1170. package/dist/retrievers/multi_vector.cjs +0 -67
  1171. package/dist/retrievers/multi_vector.cjs.map +0 -1
  1172. package/dist/retrievers/multi_vector.d.cts +0 -51
  1173. package/dist/retrievers/multi_vector.d.cts.map +0 -1
  1174. package/dist/retrievers/multi_vector.d.ts +0 -51
  1175. package/dist/retrievers/multi_vector.d.ts.map +0 -1
  1176. package/dist/retrievers/multi_vector.js +0 -61
  1177. package/dist/retrievers/multi_vector.js.map +0 -1
  1178. package/dist/retrievers/parent_document.cjs +0 -137
  1179. package/dist/retrievers/parent_document.cjs.map +0 -1
  1180. package/dist/retrievers/parent_document.d.cts +0 -92
  1181. package/dist/retrievers/parent_document.d.cts.map +0 -1
  1182. package/dist/retrievers/parent_document.d.ts +0 -92
  1183. package/dist/retrievers/parent_document.d.ts.map +0 -1
  1184. package/dist/retrievers/parent_document.js +0 -131
  1185. package/dist/retrievers/parent_document.js.map +0 -1
  1186. package/dist/retrievers/score_threshold.cjs +0 -43
  1187. package/dist/retrievers/score_threshold.cjs.map +0 -1
  1188. package/dist/retrievers/score_threshold.d.cts +0 -20
  1189. package/dist/retrievers/score_threshold.d.cts.map +0 -1
  1190. package/dist/retrievers/score_threshold.d.ts +0 -20
  1191. package/dist/retrievers/score_threshold.d.ts.map +0 -1
  1192. package/dist/retrievers/score_threshold.js +0 -37
  1193. package/dist/retrievers/score_threshold.js.map +0 -1
  1194. package/dist/retrievers/self_query/functional.cjs +0 -21
  1195. package/dist/retrievers/self_query/functional.cjs.map +0 -1
  1196. package/dist/retrievers/self_query/functional.d.cts +0 -2
  1197. package/dist/retrievers/self_query/functional.d.ts +0 -2
  1198. package/dist/retrievers/self_query/functional.js +0 -10
  1199. package/dist/retrievers/self_query/functional.js.map +0 -1
  1200. package/dist/retrievers/self_query/index.cjs +0 -130
  1201. package/dist/retrievers/self_query/index.cjs.map +0 -1
  1202. package/dist/retrievers/self_query/index.d.cts +0 -79
  1203. package/dist/retrievers/self_query/index.d.cts.map +0 -1
  1204. package/dist/retrievers/self_query/index.d.ts +0 -79
  1205. package/dist/retrievers/self_query/index.d.ts.map +0 -1
  1206. package/dist/retrievers/self_query/index.js +0 -106
  1207. package/dist/retrievers/self_query/index.js.map +0 -1
  1208. package/dist/retrievers/time_weighted.cjs +0 -236
  1209. package/dist/retrievers/time_weighted.cjs.map +0 -1
  1210. package/dist/retrievers/time_weighted.d.cts +0 -142
  1211. package/dist/retrievers/time_weighted.d.cts.map +0 -1
  1212. package/dist/retrievers/time_weighted.d.ts +0 -142
  1213. package/dist/retrievers/time_weighted.d.ts.map +0 -1
  1214. package/dist/retrievers/time_weighted.js +0 -228
  1215. package/dist/retrievers/time_weighted.js.map +0 -1
  1216. package/dist/sql_db.cjs +0 -119
  1217. package/dist/sql_db.cjs.map +0 -1
  1218. package/dist/sql_db.d.cts +0 -60
  1219. package/dist/sql_db.d.cts.map +0 -1
  1220. package/dist/sql_db.d.ts +0 -60
  1221. package/dist/sql_db.d.ts.map +0 -1
  1222. package/dist/sql_db.js +0 -113
  1223. package/dist/sql_db.js.map +0 -1
  1224. package/dist/stores/doc/base.cjs +0 -20
  1225. package/dist/stores/doc/base.cjs.map +0 -1
  1226. package/dist/stores/doc/base.d.cts +0 -15
  1227. package/dist/stores/doc/base.d.cts.map +0 -1
  1228. package/dist/stores/doc/base.d.ts +0 -15
  1229. package/dist/stores/doc/base.d.ts.map +0 -1
  1230. package/dist/stores/doc/base.js +0 -14
  1231. package/dist/stores/doc/base.js.map +0 -1
  1232. package/dist/stores/doc/in_memory.cjs +0 -94
  1233. package/dist/stores/doc/in_memory.cjs.map +0 -1
  1234. package/dist/stores/doc/in_memory.d.cts +0 -53
  1235. package/dist/stores/doc/in_memory.d.cts.map +0 -1
  1236. package/dist/stores/doc/in_memory.d.ts +0 -53
  1237. package/dist/stores/doc/in_memory.d.ts.map +0 -1
  1238. package/dist/stores/doc/in_memory.js +0 -87
  1239. package/dist/stores/doc/in_memory.js.map +0 -1
  1240. package/dist/stores/file/base.cjs +0 -13
  1241. package/dist/stores/file/base.cjs.map +0 -1
  1242. package/dist/stores/file/base.d.cts +0 -15
  1243. package/dist/stores/file/base.d.cts.map +0 -1
  1244. package/dist/stores/file/base.d.ts +0 -15
  1245. package/dist/stores/file/base.d.ts.map +0 -1
  1246. package/dist/stores/file/base.js +0 -12
  1247. package/dist/stores/file/base.js.map +0 -1
  1248. package/dist/stores/file/in_memory.cjs +0 -53
  1249. package/dist/stores/file/in_memory.cjs.map +0 -1
  1250. package/dist/stores/file/in_memory.d.cts +0 -33
  1251. package/dist/stores/file/in_memory.d.cts.map +0 -1
  1252. package/dist/stores/file/in_memory.d.ts +0 -33
  1253. package/dist/stores/file/in_memory.d.ts.map +0 -1
  1254. package/dist/stores/file/in_memory.js +0 -47
  1255. package/dist/stores/file/in_memory.js.map +0 -1
  1256. package/dist/stores/file/node.cjs +0 -52
  1257. package/dist/stores/file/node.cjs.map +0 -1
  1258. package/dist/stores/file/node.d.cts +0 -29
  1259. package/dist/stores/file/node.d.cts.map +0 -1
  1260. package/dist/stores/file/node.d.ts +0 -29
  1261. package/dist/stores/file/node.d.ts.map +0 -1
  1262. package/dist/stores/file/node.js +0 -46
  1263. package/dist/stores/file/node.js.map +0 -1
  1264. package/dist/stores/message/in_memory.cjs +0 -21
  1265. package/dist/stores/message/in_memory.cjs.map +0 -1
  1266. package/dist/stores/message/in_memory.d.cts +0 -2
  1267. package/dist/stores/message/in_memory.d.ts +0 -2
  1268. package/dist/stores/message/in_memory.js +0 -10
  1269. package/dist/stores/message/in_memory.js.map +0 -1
  1270. package/dist/text_splitter.cjs +0 -22
  1271. package/dist/text_splitter.cjs.map +0 -1
  1272. package/dist/text_splitter.d.cts +0 -1
  1273. package/dist/text_splitter.d.ts +0 -1
  1274. package/dist/text_splitter.js +0 -12
  1275. package/dist/text_splitter.js.map +0 -1
  1276. package/dist/tools/chain.cjs +0 -36
  1277. package/dist/tools/chain.cjs.map +0 -1
  1278. package/dist/tools/chain.d.cts +0 -32
  1279. package/dist/tools/chain.d.cts.map +0 -1
  1280. package/dist/tools/chain.d.ts +0 -32
  1281. package/dist/tools/chain.d.ts.map +0 -1
  1282. package/dist/tools/chain.js +0 -30
  1283. package/dist/tools/chain.js.map +0 -1
  1284. package/dist/tools/fs.cjs +0 -56
  1285. package/dist/tools/fs.cjs.map +0 -1
  1286. package/dist/tools/fs.d.cts +0 -92
  1287. package/dist/tools/fs.d.cts.map +0 -1
  1288. package/dist/tools/fs.d.ts +0 -92
  1289. package/dist/tools/fs.d.ts.map +0 -1
  1290. package/dist/tools/fs.js +0 -54
  1291. package/dist/tools/fs.js.map +0 -1
  1292. package/dist/tools/index.cjs +0 -68
  1293. package/dist/tools/index.cjs.map +0 -1
  1294. package/dist/tools/index.d.cts +0 -8
  1295. package/dist/tools/index.d.ts +0 -8
  1296. package/dist/tools/index.js +0 -30
  1297. package/dist/tools/index.js.map +0 -1
  1298. package/dist/tools/json.cjs +0 -107
  1299. package/dist/tools/json.cjs.map +0 -1
  1300. package/dist/tools/json.d.cts +0 -65
  1301. package/dist/tools/json.d.cts.map +0 -1
  1302. package/dist/tools/json.d.ts +0 -65
  1303. package/dist/tools/json.d.ts.map +0 -1
  1304. package/dist/tools/json.js +0 -104
  1305. package/dist/tools/json.js.map +0 -1
  1306. package/dist/tools/render.cjs +0 -55
  1307. package/dist/tools/render.cjs.map +0 -1
  1308. package/dist/tools/render.d.cts +0 -32
  1309. package/dist/tools/render.d.cts.map +0 -1
  1310. package/dist/tools/render.d.ts +0 -32
  1311. package/dist/tools/render.d.ts.map +0 -1
  1312. package/dist/tools/render.js +0 -48
  1313. package/dist/tools/render.js.map +0 -1
  1314. package/dist/tools/requests.cjs +0 -73
  1315. package/dist/tools/requests.cjs.map +0 -1
  1316. package/dist/tools/requests.d.cts +0 -56
  1317. package/dist/tools/requests.d.cts.map +0 -1
  1318. package/dist/tools/requests.d.ts +0 -56
  1319. package/dist/tools/requests.d.ts.map +0 -1
  1320. package/dist/tools/requests.js +0 -71
  1321. package/dist/tools/requests.js.map +0 -1
  1322. package/dist/tools/retriever.cjs +0 -30
  1323. package/dist/tools/retriever.cjs.map +0 -1
  1324. package/dist/tools/retriever.d.cts +0 -19
  1325. package/dist/tools/retriever.d.cts.map +0 -1
  1326. package/dist/tools/retriever.d.ts +0 -19
  1327. package/dist/tools/retriever.d.ts.map +0 -1
  1328. package/dist/tools/retriever.js +0 -24
  1329. package/dist/tools/retriever.js.map +0 -1
  1330. package/dist/tools/sql.cjs +0 -165
  1331. package/dist/tools/sql.cjs.map +0 -1
  1332. package/dist/tools/sql.d.cts +0 -86
  1333. package/dist/tools/sql.d.cts.map +0 -1
  1334. package/dist/tools/sql.d.ts +0 -86
  1335. package/dist/tools/sql.d.ts.map +0 -1
  1336. package/dist/tools/sql.js +0 -156
  1337. package/dist/tools/sql.js.map +0 -1
  1338. package/dist/tools/vectorstore.cjs +0 -45
  1339. package/dist/tools/vectorstore.cjs.map +0 -1
  1340. package/dist/tools/vectorstore.d.cts +0 -40
  1341. package/dist/tools/vectorstore.d.cts.map +0 -1
  1342. package/dist/tools/vectorstore.d.ts +0 -40
  1343. package/dist/tools/vectorstore.d.ts.map +0 -1
  1344. package/dist/tools/vectorstore.js +0 -44
  1345. package/dist/tools/vectorstore.js.map +0 -1
  1346. package/dist/tools/webbrowser.cjs +0 -176
  1347. package/dist/tools/webbrowser.cjs.map +0 -1
  1348. package/dist/tools/webbrowser.d.cts +0 -69
  1349. package/dist/tools/webbrowser.d.cts.map +0 -1
  1350. package/dist/tools/webbrowser.d.ts +0 -69
  1351. package/dist/tools/webbrowser.d.ts.map +0 -1
  1352. package/dist/tools/webbrowser.js +0 -168
  1353. package/dist/tools/webbrowser.js.map +0 -1
  1354. package/dist/types/expression-parser.d.cts +0 -91
  1355. package/dist/types/expression-parser.d.cts.map +0 -1
  1356. package/dist/types/expression-parser.d.ts +0 -91
  1357. package/dist/types/expression-parser.d.ts.map +0 -1
  1358. package/dist/types/type-utils.d.cts +0 -7
  1359. package/dist/types/type-utils.d.cts.map +0 -1
  1360. package/dist/types/type-utils.d.ts +0 -7
  1361. package/dist/types/type-utils.d.ts.map +0 -1
  1362. package/dist/util/document.cjs +0 -23
  1363. package/dist/util/document.cjs.map +0 -1
  1364. package/dist/util/document.d.cts +0 -15
  1365. package/dist/util/document.d.cts.map +0 -1
  1366. package/dist/util/document.d.ts +0 -15
  1367. package/dist/util/document.d.ts.map +0 -1
  1368. package/dist/util/document.js +0 -17
  1369. package/dist/util/document.js.map +0 -1
  1370. package/dist/util/entrypoint_deprecation.cjs +0 -1
  1371. package/dist/util/entrypoint_deprecation.js +0 -1
  1372. package/dist/util/env.cjs +0 -2
  1373. package/dist/util/env.js +0 -1
  1374. package/dist/util/extname.cjs +0 -7
  1375. package/dist/util/extname.cjs.map +0 -1
  1376. package/dist/util/extname.js +0 -6
  1377. package/dist/util/extname.js.map +0 -1
  1378. package/dist/util/hub.cjs +0 -39
  1379. package/dist/util/hub.cjs.map +0 -1
  1380. package/dist/util/hub.js +0 -38
  1381. package/dist/util/hub.js.map +0 -1
  1382. package/dist/util/load.cjs +0 -15
  1383. package/dist/util/load.cjs.map +0 -1
  1384. package/dist/util/load.d.cts +0 -6
  1385. package/dist/util/load.d.cts.map +0 -1
  1386. package/dist/util/load.d.ts +0 -6
  1387. package/dist/util/load.d.ts.map +0 -1
  1388. package/dist/util/load.js +0 -14
  1389. package/dist/util/load.js.map +0 -1
  1390. package/dist/util/math.cjs +0 -22
  1391. package/dist/util/math.cjs.map +0 -1
  1392. package/dist/util/math.d.cts +0 -1
  1393. package/dist/util/math.d.ts +0 -1
  1394. package/dist/util/math.js +0 -12
  1395. package/dist/util/math.js.map +0 -1
  1396. package/dist/util/ml-distance/distances.cjs +0 -35
  1397. package/dist/util/ml-distance/distances.cjs.map +0 -1
  1398. package/dist/util/ml-distance/distances.js +0 -33
  1399. package/dist/util/ml-distance/distances.js.map +0 -1
  1400. package/dist/util/ml-distance/similarities.cjs +0 -23
  1401. package/dist/util/ml-distance/similarities.cjs.map +0 -1
  1402. package/dist/util/ml-distance/similarities.d.cts +0 -11
  1403. package/dist/util/ml-distance/similarities.d.cts.map +0 -1
  1404. package/dist/util/ml-distance/similarities.d.ts +0 -11
  1405. package/dist/util/ml-distance/similarities.d.ts.map +0 -1
  1406. package/dist/util/ml-distance/similarities.js +0 -22
  1407. package/dist/util/ml-distance/similarities.js.map +0 -1
  1408. package/dist/util/ml-distance-euclidean/euclidean.cjs +0 -14
  1409. package/dist/util/ml-distance-euclidean/euclidean.cjs.map +0 -1
  1410. package/dist/util/ml-distance-euclidean/euclidean.js +0 -13
  1411. package/dist/util/ml-distance-euclidean/euclidean.js.map +0 -1
  1412. package/dist/util/openapi.cjs +0 -149
  1413. package/dist/util/openapi.cjs.map +0 -1
  1414. package/dist/util/openapi.d.cts +0 -83
  1415. package/dist/util/openapi.d.cts.map +0 -1
  1416. package/dist/util/openapi.d.ts +0 -83
  1417. package/dist/util/openapi.d.ts.map +0 -1
  1418. package/dist/util/openapi.js +0 -148
  1419. package/dist/util/openapi.js.map +0 -1
  1420. package/dist/util/parse.cjs +0 -22
  1421. package/dist/util/parse.cjs.map +0 -1
  1422. package/dist/util/parse.js +0 -21
  1423. package/dist/util/parse.js.map +0 -1
  1424. package/dist/util/set.cjs +0 -35
  1425. package/dist/util/set.cjs.map +0 -1
  1426. package/dist/util/set.js +0 -32
  1427. package/dist/util/set.js.map +0 -1
  1428. package/dist/util/sql_utils.cjs +0 -178
  1429. package/dist/util/sql_utils.cjs.map +0 -1
  1430. package/dist/util/sql_utils.d.cts +0 -31
  1431. package/dist/util/sql_utils.d.cts.map +0 -1
  1432. package/dist/util/sql_utils.d.ts +0 -31
  1433. package/dist/util/sql_utils.d.ts.map +0 -1
  1434. package/dist/util/sql_utils.js +0 -173
  1435. package/dist/util/sql_utils.js.map +0 -1
  1436. package/dist/util/time.cjs +0 -25
  1437. package/dist/util/time.cjs.map +0 -1
  1438. package/dist/util/time.d.cts +0 -10
  1439. package/dist/util/time.d.cts.map +0 -1
  1440. package/dist/util/time.d.ts +0 -10
  1441. package/dist/util/time.d.ts.map +0 -1
  1442. package/dist/util/time.js +0 -19
  1443. package/dist/util/time.js.map +0 -1
  1444. package/dist/vectorstores/memory.cjs +0 -265
  1445. package/dist/vectorstores/memory.cjs.map +0 -1
  1446. package/dist/vectorstores/memory.d.cts +0 -216
  1447. package/dist/vectorstores/memory.d.cts.map +0 -1
  1448. package/dist/vectorstores/memory.d.ts +0 -216
  1449. package/dist/vectorstores/memory.d.ts.map +0 -1
  1450. package/dist/vectorstores/memory.js +0 -259
  1451. package/dist/vectorstores/memory.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"hitl.d.ts","names":["z","contextSchema","ZodString","ZodBoolean","ZodOptional","ZodTypeAny","ZodObject","ZodRecord","ZodDefault","Record","humanInTheLoopMiddleware","input","___types_js0","AgentMiddleware"],"sources":["../../../../src/agents/middlewareAgent/middleware/hitl.d.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { z } from \"zod/v3\";\ndeclare const contextSchema: z.ZodObject<{\n toolConfigs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{\n requireApproval: z.ZodOptional<z.ZodBoolean>;\n description: z.ZodOptional<z.ZodString>;\n }, \"strip\", z.ZodTypeAny, {\n requireApproval?: boolean | undefined;\n description?: string | undefined;\n }, {\n requireApproval?: boolean | undefined;\n description?: string | undefined;\n }>>>;\n messagePrefix: z.ZodDefault<z.ZodString>;\n}, \"strip\", z.ZodTypeAny, {\n toolConfigs: Record<string, {\n requireApproval?: boolean | undefined;\n description?: string | undefined;\n }>;\n messagePrefix: string;\n}, {\n toolConfigs?: Record<string, {\n requireApproval?: boolean | undefined;\n description?: string | undefined;\n }> | undefined;\n messagePrefix?: string | undefined;\n}>;\n/**\n * Creates a Human-in-the-Loop (HITL) middleware for tool approval and oversight.\n *\n * This middleware intercepts tool calls made by an AI agent and provides human oversight\n * capabilities before execution. It enables selective approval workflows where certain tools\n * require human intervention while others can execute automatically.\n *\n * ## Features\n *\n * - **Selective Tool Approval**: Configure which tools require human approval\n * - **Multiple Response Types**: Accept, edit, ignore, or manually respond to tool calls\n * - **Asynchronous Workflow**: Uses LangGraph's interrupt mechanism for non-blocking approval\n * - **Custom Approval Messages**: Provide context-specific descriptions for approval requests\n *\n * ## Response Types\n *\n * When a tool requires approval, the human operator can respond with:\n * - `accept`: Execute the tool with original arguments\n * - `edit`: Modify the tool arguments before execution\n * - `ignore`: Skip the tool and terminate the agent\n * - `response`: Provide a manual response instead of executing the tool\n *\n * @param options - Configuration options for the middleware\n * @param options.toolConfigs - Per-tool configuration mapping tool names to their settings\n * @param options.toolConfigs[toolName].requireApproval - Whether the tool requires human approval\n * @param options.toolConfigs[toolName].description - Custom approval message for the tool\n * @param options.messagePrefix - Default prefix for approval messages (default: \"Tool execution requires approval\")\n *\n * @returns A middleware instance that can be passed to `createAgent`\n *\n * @example\n * Basic usage with selective tool approval\n * ```typescript\n * import { humanInTheLoopMiddleware } from \"langchain/middleware\";\n * import { createAgent } from \"langchain\";\n *\n * const hitlMiddleware = humanInTheLoopMiddleware({\n * toolConfigs: {\n * \"write_file\": {\n * requireApproval: true,\n * description: \"⚠️ File write operation requires approval\"\n * },\n * \"read_file\": {\n * requireApproval: false // Safe operation, no approval needed\n * }\n * }\n * });\n *\n * const agent = createAgent({\n * model: \"openai:gpt-4\",\n * tools: [writeFileTool, readFileTool],\n * middleware: [hitlMiddleware]\n * });\n * ```\n *\n * @example\n * Handling approval requests\n * ```typescript\n * import { Command } from \"@langchain/langgraph\";\n *\n * // Initial agent invocation\n * const result = await agent.invoke({\n * messages: [new HumanMessage(\"Write 'Hello' to output.txt\")]\n * }, config);\n *\n * // Check if agent is paused for approval\n * const state = await agent.graph.getState(config);\n * if (state.next?.length > 0) {\n * // Get interrupt details\n * const task = state.tasks?.[0];\n * const requests = task?.interrupts?.[0]?.value;\n *\n * // Show tool call details to user\n * console.log(\"Tool:\", requests[0].action);\n * console.log(\"Args:\", requests[0].args);\n *\n * // Resume with approval\n * await agent.invoke(\n * new Command({ resume: [{ type: \"accept\" }] }),\n * config\n * );\n * }\n * ```\n *\n * @example\n * Different response types\n * ```typescript\n * // Accept the tool call as-is\n * new Command({ resume: [{ type: \"accept\" }] })\n *\n * // Edit the tool arguments\n * new Command({\n * resume: [{\n * type: \"edit\",\n * args: { action: \"write_file\", args: { filename: \"safe.txt\", content: \"Modified\" } }\n * }]\n * })\n *\n * // Skip tool and terminate agent\n * new Command({ resume: [{ type: \"ignore\" }] })\n *\n * // Provide manual response\n * new Command({\n * resume: [{\n * type: \"response\",\n * args: \"File operation not allowed in demo mode\"\n * }]\n * })\n * ```\n *\n * @example\n * Production use case with database operations\n * ```typescript\n * const hitlMiddleware = humanInTheLoopMiddleware({\n * toolConfigs: {\n * \"execute_sql\": {\n * requireApproval: true,\n * description: \"🚨 SQL query requires DBA approval\\nPlease review for safety and performance\"\n * },\n * \"read_schema\": {\n * requireApproval: false // Reading metadata is safe\n * },\n * \"delete_records\": {\n * requireApproval: true,\n * description: \"⛔ DESTRUCTIVE OPERATION - Requires manager approval\"\n * }\n * },\n * messagePrefix: \"Database operation pending approval\"\n * });\n * ```\n *\n * @remarks\n * - Tool calls are processed in the order they appear in the AI message\n * - Auto-approved tools execute immediately without interruption\n * - Multiple tools requiring approval are bundled into a single interrupt\n * - The middleware operates in the `afterModel` phase, intercepting before tool execution\n * - Requires a checkpointer to maintain state across interruptions\n *\n * @see {@link createAgent} for agent creation\n * @see {@link Command} for resuming interrupted execution\n * @public\n */\nexport declare function humanInTheLoopMiddleware(options?: z.input<typeof contextSchema>): import(\"../types.js\").AgentMiddleware<undefined, z.ZodObject<{\n toolConfigs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{\n requireApproval: z.ZodOptional<z.ZodBoolean>;\n description: z.ZodOptional<z.ZodString>;\n }, \"strip\", z.ZodTypeAny, {\n requireApproval?: boolean | undefined;\n description?: string | undefined;\n }, {\n requireApproval?: boolean | undefined;\n description?: string | undefined;\n }>>>;\n messagePrefix: z.ZodDefault<z.ZodString>;\n}, \"strip\", z.ZodTypeAny, {\n toolConfigs: Record<string, {\n requireApproval?: boolean | undefined;\n description?: string | undefined;\n }>;\n messagePrefix: string;\n}, {\n toolConfigs?: Record<string, {\n requireApproval?: boolean | undefined;\n description?: string | undefined;\n }> | undefined;\n messagePrefix?: string | undefined;\n}>, any>;\nexport {};\n"],"mappings":";;;;cAEcC,eAAeD,CAAAA,CAAEM;eACdN,CAAAA,CAAEQ,WAAWR,CAAAA,CAAEO,UAAUP,CAAAA,CAAEE,WAAWF,CAAAA,CAAEM;IAD3CL,eAwBZ,EAtBuBD,CAAAA,CAAEI,WAsBzB,CAtBqCJ,CAAAA,CAAEG,UAsBvC,CAAA;IAAA,WAAA,EArBmBH,CAAAA,CAAEI,WAqBrB,CArBiCJ,CAAAA,CAAEE,SAqBnC,CAAA;EAAA,CAAA,EAvBwCF,OAAEE,EAG5BF,CAAAA,CAAEK,UAH0BH,EAAAA;IACLF,eAAEG,CAAAA,EAAAA,OAAAA,GAAAA,SAAAA;IAAhBH,WAAEI,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAW,CAAA,EACHJ;IAAdA,eAAEI,CAAAA,EAAAA,OAAAA,GAAAA,SAAAA;IACPJ,WAAEK,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAU,CAAA,CAAA,CAH2BL,CAAAA;EAAW,aAAlCO,EAUbP,CAAAA,CAAEQ,UAVWD,CAUAP,CAAAA,CAAEE,SAVFK,CAAAA;CAAS,EAAA,OAAtBC,EAWPR,CAAAA,CAAEK,UAXKG,EAAAA;EAAU,WAUKN,EAEjBO,MAFiBP,CAAAA,MAAAA,EAAAA;IAAfF,eAAEQ,CAAAA,EAAAA,OAAAA,GAAAA,SAAAA;IACTR,WAAEK,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;EAAU,CAAA,CAAA;EACD,aAMLI,EAAAA,MAAAA;CAAM,EAAA;EAnBgB,WAAA,CAAA,EAmBtBA,MAnBsB,CAAA,MAAA,EAAA;IAuKhBC,eAAAA,CAAAA,EAAAA,OAAwB,GAAA,SAAA;IAAA,WAAA,CAAA,EAAA,MAAA,GAAA,SAAA;EAAA,CAAA,CAAA,GAA0BT,SAAAA;EAAa,aAA1BU,CAAAA,EAAAA,MAAAA,GAAAA,SAAAA;CAAK,CAAA;;;;;;;;;;;;;;;;AAA8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAxGD,wBAAAA,WAAmCV,CAAAA,CAAEW,aAAaV,iBAA6E,2BAAXD,CAAAA,CAAEM;eAC7HN,CAAAA,CAAEQ,WAAWR,CAAAA,CAAEO,UAAUP,CAAAA,CAAEE,WAAWF,CAAAA,CAAEM;qBAChCN,CAAAA,CAAEI,YAAYJ,CAAAA,CAAEG;iBACpBH,CAAAA,CAAEI,YAAYJ,CAAAA,CAAEE;cACrBF,CAAAA,CAAEK;;;;;;;iBAOCL,CAAAA,CAAEQ,WAAWR,CAAAA,CAAEE;YACtBF,CAAAA,CAAEK;eACGI;;;;;;gBAMCA"}
1
+ {"version":3,"file":"hitl.d.ts","names":["z","AIMessage","InferInteropZodInput","AgentBuiltInState","Runtime","ToolConfigSchema","ZodBoolean","ZodOptional","ZodString","ZodUnknown","ZodTuple","ZodFunction","ZodUnion","ZodTypeAny","ZodObject","input","ToolCall","NonNullable","DescriptionFactory","State","Promise","HumanInTheLoopConfig","Omit","ActionRequest","Record","HumanInTheLoopRequest","AcceptPayload","ResponsePayload","EditPayload","HumanInTheLoopMiddlewareHumanResponse","ToolConfig","contextSchema","ZodRecord","ZodDefault","HumanInTheLoopMiddlewareConfig","humanInTheLoopMiddleware","__index_js2","AgentMiddleware"],"sources":["../../../../src/agents/middlewareAgent/middleware/hitl.d.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { z } from \"zod/v3\";\nimport { AIMessage } from \"@langchain/core/messages\";\nimport { InferInteropZodInput } from \"@langchain/core/utils/types\";\nimport type { AgentBuiltInState, Runtime } from \"../types.js\";\ndeclare const ToolConfigSchema: z.ZodObject<{\n /**\n * Whether the human can approve the current action without changes\n */\n allowAccept: z.ZodOptional<z.ZodBoolean>;\n /**\n * Whether the human can reject the current action with feedback\n */\n allowEdit: z.ZodOptional<z.ZodBoolean>;\n /**\n * Whether the human can approve the current action with edited content\n */\n allowRespond: z.ZodOptional<z.ZodBoolean>;\n /**\n * The description attached to the request for human input.\n * Can be either:\n * - A static string describing the approval request\n * - A callable that dynamically generates the description based on agent state,\n * runtime, and tool call information\n *\n * @example\n * Static string description\n * ```typescript\n * const config: ToolConfig = {\n * allowAccept: true,\n * description: \"Please review this tool execution\"\n * };\n * ```\n *\n * @example\n * Dynamic callable description\n * ```typescript\n * const formatToolDescription: DescriptionFactory = (toolCall, state, runtime) => {\n * return `Tool: ${toolCall.name}\\nArguments:\\n${JSON.stringify(toolCall.args, null, 2)}`;\n * };\n *\n * const config: ToolConfig = {\n * allowAccept: true,\n * description: formatToolDescription\n * };\n * ```\n */\n description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>]>>;\n}, \"strip\", z.ZodTypeAny, {\n allowAccept?: boolean | undefined;\n allowEdit?: boolean | undefined;\n allowRespond?: boolean | undefined;\n description?: string | ((...args: unknown[]) => unknown) | undefined;\n}, {\n allowAccept?: boolean | undefined;\n allowEdit?: boolean | undefined;\n allowRespond?: boolean | undefined;\n description?: string | ((...args: unknown[]) => unknown) | undefined;\n}>;\ntype ToolConfigSchema = z.input<typeof ToolConfigSchema>;\ntype ToolCall = NonNullable<AIMessage[\"tool_calls\"]>[number];\n/**\n * Function type that dynamically generates a description based on agent state,\n * runtime, and tool call information.\n */\nexport type DescriptionFactory<State extends AgentBuiltInState = AgentBuiltInState> = (toolCall: ToolCall, state: State, runtime: Runtime<unknown>) => string | Promise<string>;\n/**\n * Configuration that defines which reviewer response types are permitted during a human interrupt.\n * These flags control what the human reviewer may do (e.g., accept/edit/respond),\n * not the tool action the agent has requested.\n */\nexport interface HumanInTheLoopConfig extends Omit<ToolConfigSchema, \"description\"> {\n}\n/**\n * Describes the agent-requested tool action (name and arguments).\n * This is what the AI intends to execute, subject to human review.\n */\nexport interface ActionRequest {\n /**\n * The tool/action name requested by the agent (e.g., \"send_email\").\n */\n action: string;\n /**\n * Arguments for the requested tool call (e.g., {\"a\": 1, \"b\": 2}).\n */\n args: Record<string, any>;\n}\n/**\n * Represents an interrupt triggered by the graph that requires human intervention\n * to approve, edit, or respond to an agent-requested tool action.\n *\n * @example\n * ```ts\n * const hitlRequest: HumanInTheLoopRequest = {\n * actionRequest: { action: \"Approve XYZ action\", args: { ... } },\n * config: { allowAccept: true, allowEdit: true, allowRespond: true },\n * description: \"Please review the command before execution\"\n * };\n * response = interrupt([request])[0]\n * ```\n */\nexport interface HumanInTheLoopRequest {\n /**\n * The agent-requested tool action to be reviewed.\n */\n actionRequest: ActionRequest;\n /**\n * Which reviewer responses are allowed (accept/edit/respond).\n */\n config: HumanInTheLoopConfig;\n /**\n * Optional human-facing description shown in the approval prompt.\n */\n description?: string;\n}\n/**\n * Response when a human approves the agent-requested action.\n */\nexport interface AcceptPayload {\n type: \"accept\";\n}\n/**\n * Response when a human provides a manual response instead of executing\n * the agent-requested action.\n */\nexport interface ResponsePayload {\n type: \"response\";\n args?: string;\n}\n/**\n * Response when a human edits the agent-requested action (tool name and/or args).\n */\nexport interface EditPayload {\n type: \"edit\";\n args: ActionRequest;\n}\nexport type HumanInTheLoopMiddlewareHumanResponse = AcceptPayload | ResponsePayload | EditPayload;\n/**\n * Configuration for a tool requiring human in the loop.\n */\nexport interface ToolConfig extends HumanInTheLoopConfig {\n /**\n * Human-facing description shown in the approval request.\n * Can be either:\n * - A static string describing the approval request\n * - A callable that dynamically generates the description based on agent state,\n * runtime, and tool call information\n */\n description?: string | DescriptionFactory;\n}\ndeclare const contextSchema: z.ZodObject<{\n /**\n * Mapping of tool name to allowed reviewer responses.\n * If a tool doesn't have an entry, it's auto-approved by default.\n *\n * - `true` -> pause for approval and allow accept/edit/respond\n * - `false` -> auto-approve (no human review)\n * - `ToolConfig` -> explicitly specify which reviewer responses are allowed for this tool\n */\n interruptOn: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodBoolean, z.ZodObject<{\n /**\n * Whether the human can approve the current action without changes\n */\n allowAccept: z.ZodOptional<z.ZodBoolean>;\n /**\n * Whether the human can reject the current action with feedback\n */\n allowEdit: z.ZodOptional<z.ZodBoolean>;\n /**\n * Whether the human can approve the current action with edited content\n */\n allowRespond: z.ZodOptional<z.ZodBoolean>;\n /**\n * The description attached to the request for human input.\n * Can be either:\n * - A static string describing the approval request\n * - A callable that dynamically generates the description based on agent state,\n * runtime, and tool call information\n *\n * @example\n * Static string description\n * ```typescript\n * const config: ToolConfig = {\n * allowAccept: true,\n * description: \"Please review this tool execution\"\n * };\n * ```\n *\n * @example\n * Dynamic callable description\n * ```typescript\n * const formatToolDescription: DescriptionFactory = (toolCall, state, runtime) => {\n * return `Tool: ${toolCall.name}\\nArguments:\\n${JSON.stringify(toolCall.args, null, 2)}`;\n * };\n *\n * const config: ToolConfig = {\n * allowAccept: true,\n * description: formatToolDescription\n * };\n * ```\n */\n description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>]>>;\n }, \"strip\", z.ZodTypeAny, {\n allowAccept?: boolean | undefined;\n allowEdit?: boolean | undefined;\n allowRespond?: boolean | undefined;\n description?: string | ((...args: unknown[]) => unknown) | undefined;\n }, {\n allowAccept?: boolean | undefined;\n allowEdit?: boolean | undefined;\n allowRespond?: boolean | undefined;\n description?: string | ((...args: unknown[]) => unknown) | undefined;\n }>]>>>;\n /**\n * Prefix used when constructing human-facing approval messages.\n * Provides context about the tool call being reviewed; does not change the underlying action.\n *\n * Note: This prefix is only applied for tools that do not provide a custom\n * `description` via their {@link ToolConfig}. If a tool specifies a custom\n * `description`, that per-tool text is used and this prefix is ignored.\n */\n descriptionPrefix: z.ZodDefault<z.ZodString>;\n}, \"strip\", z.ZodTypeAny, {\n interruptOn?: Record<string, boolean | {\n allowAccept?: boolean | undefined;\n allowEdit?: boolean | undefined;\n allowRespond?: boolean | undefined;\n description?: string | ((...args: unknown[]) => unknown) | undefined;\n }> | undefined;\n descriptionPrefix: string;\n}, {\n interruptOn?: Record<string, boolean | {\n allowAccept?: boolean | undefined;\n allowEdit?: boolean | undefined;\n allowRespond?: boolean | undefined;\n description?: string | ((...args: unknown[]) => unknown) | undefined;\n }> | undefined;\n descriptionPrefix?: string | undefined;\n}>;\nexport type HumanInTheLoopMiddlewareConfig = InferInteropZodInput<typeof contextSchema>;\n/**\n * Creates a Human-in-the-Loop (HITL) middleware for tool approval and oversight.\n *\n * This middleware intercepts tool calls made by an AI agent and provides human oversight\n * capabilities before execution. It enables selective approval workflows where certain tools\n * require human intervention while others can execute automatically.\n *\n * A invocation result that has been interrupted by the middleware will have a `__interrupt__`\n * property that contains the interrupt request. You can loop over the request to determine\n * which tools were interrupted, and how to handle them separately.\n *\n * ```ts\n * import { type ToolApprovalRequest, type HumanInTheLoopMiddlewareHumanResponse } from \"langchain\";\n * import { type Interrupt } from \"langchain\";\n *\n * const result = await agent.invoke(request);\n * const interruptRequest = initialResult.__interrupt__?.[0] as Interrupt<\n * ToolApprovalRequest[]\n * >;\n * const resume: HumanInTheLoopMiddlewareHumanResponse[] =\n * interruptRequest.value.map((request) => {\n * if (request.action === \"calculator\") {\n * return { id: request.toolCallId, type: \"accept\" };\n * } else if (request.action === \"write_file\") {\n * return {\n * id: request.toolCallId,\n * type: \"edit\",\n * args: { filename: \"safe.txt\", content: \"Safe content\" },\n * };\n * }\n *\n * throw new Error(`Unknown action: ${request.action}`);\n * });\n *\n * // Resume with approval\n * await agent.invoke(new Command({ resume }), config);\n * ```\n *\n * ## Features\n *\n * - **Selective Tool Approval**: Configure which tools require human approval\n * - **Multiple Response Types**: Accept, edit, ignore, or manually respond to tool calls\n * - **Asynchronous Workflow**: Uses LangGraph's interrupt mechanism for non-blocking approval\n * - **Custom Approval Messages**: Provide context-specific descriptions for approval requests\n *\n * ## Response Types\n *\n * When a tool requires approval, the human operator can respond with:\n * - `accept`: Execute the tool with original arguments\n * - `edit`: Modify the tool arguments before execution\n * - `ignore`: Skip the tool and terminate the agent\n * - `response`: Provide a manual response instead of executing the tool\n *\n * @param options - Configuration options for the middleware\n * @param options.interruptOn - Per-tool configuration mapping tool names to their settings\n * @param options.interruptOn[toolName].allowAccept - Whether the human can approve the current action without changes\n * @param options.interruptOn[toolName].allowEdit - Whether the human can reject the current action with feedback\n * @param options.interruptOn[toolName].allowRespond - Whether the human can approve the current action with edited content\n * @param options.interruptOn[toolName].description - Custom approval message for the tool. Can be either a static string or a callable that dynamically generates the description based on agent state, runtime, and tool call information\n * @param options.messagePrefix - Default prefix for approval messages (default: \"Tool execution requires approval\"). Only used for tools that do not define a custom `description` in their ToolConfig.\n *\n * @returns A middleware instance that can be passed to `createAgent`\n *\n * @example\n * Basic usage with selective tool approval\n * ```typescript\n * import { humanInTheLoopMiddleware } from \"langchain\";\n * import { createAgent } from \"langchain\";\n *\n * const hitlMiddleware = humanInTheLoopMiddleware({\n * interruptOn: {\n * // Interrupt write_file tool and allow edits or accepts\n * \"write_file\": {\n * allowEdit: true,\n * allowAccept: true,\n * description: \"⚠️ File write operation requires approval\"\n * },\n * // Auto-approve read_file tool\n * \"read_file\": false\n * }\n * });\n *\n * const agent = createAgent({\n * model: \"openai:gpt-4\",\n * tools: [writeFileTool, readFileTool],\n * middleware: [hitlMiddleware]\n * });\n * ```\n *\n * @example\n * Handling approval requests\n * ```typescript\n * import { type HumanInTheLoopRequest, type Interrupt } from \"langchain\";\n * import { Command } from \"@langchain/langgraph\";\n *\n * // Initial agent invocation\n * const result = await agent.invoke({\n * messages: [new HumanMessage(\"Write 'Hello' to output.txt\")]\n * }, config);\n *\n * // Check if agent is paused for approval\n * if (result.__interrupt__) {\n * const interruptRequest = initialResult.__interrupt__?.[0] as Interrupt<\n * HumanInTheLoopRequest[]\n * >;\n *\n * // Show tool call details to user\n * console.log(\"Tool:\", interruptRequest.value[0].actionRequest);\n * console.log(\"Allowed actions:\", interruptRequest.value[0].config);\n *\n * // Resume with approval\n * await agent.invoke(\n * new Command({ resume: [{ type: \"accept\" }] }),\n * config\n * );\n * }\n * ```\n *\n * @example\n * Different response types\n * ```typescript\n * // Accept the tool call as-is\n * new Command({ resume: [{ type: \"accept\" }] })\n *\n * // Edit the tool arguments\n * new Command({\n * resume: [{\n * type: \"edit\",\n * args: { action: \"write_file\", args: { filename: \"safe.txt\", content: \"Modified\" } }\n * }]\n * })\n *\n * // Skip tool and terminate agent\n * new Command({ resume: [{ type: \"response\" }] })\n *\n * // Provide manual response\n * new Command({\n * resume: [{\n * type: \"response\",\n * // this must be a string\n * args: \"File operation not allowed in demo mode\"\n * }]\n * })\n * ```\n *\n * @example\n * Production use case with database operations\n * ```typescript\n * const hitlMiddleware = humanInTheLoopMiddleware({\n * interruptOn: {\n * \"execute_sql\": {\n * allowAccept: true,\n * allowEdit: true,\n * allowRespond: true,\n * description: \"🚨 SQL query requires DBA approval\\nPlease review for safety and performance\"\n * },\n * \"read_schema\": false // Reading metadata is safe\n * \"delete_records\": {\n * allowAccept: true,\n * description: \"⛔ DESTRUCTIVE OPERATION - Requires manager approval\"\n * }\n * },\n * messagePrefix: \"Database operation pending approval\"\n * });\n * ```\n *\n * @example\n * Using dynamic callable descriptions\n * ```typescript\n * import { type DescriptionFactory } from \"langchain\";\n *\n * // Define a dynamic description factory\n * const formatToolDescription: DescriptionFactory = (toolCall, state, runtime) => {\n * return `Tool: ${toolCall.name}\\nArguments:\\n${JSON.stringify(toolCall.args, null, 2)}`;\n * };\n *\n * const hitlMiddleware = humanInTheLoopMiddleware({\n * interruptOn: {\n * \"write_file\": {\n * allowAccept: true,\n * allowEdit: true,\n * // Use dynamic description that can access tool call, state, and runtime\n * description: formatToolDescription\n * },\n * // Or use an inline function\n * \"send_email\": {\n * allowAccept: true,\n * description: (toolCall, state, runtime) => {\n * const { to, subject } = toolCall.args;\n * return `Email to ${to}\\nSubject: ${subject}\\n\\nRequires approval before sending`;\n * }\n * }\n * }\n * });\n * ```\n *\n * @remarks\n * - Tool calls are processed in the order they appear in the AI message\n * - Auto-approved tools execute immediately without interruption\n * - Multiple tools requiring approval are bundled into a single interrupt\n * - The middleware operates in the `afterModel` phase, intercepting before tool execution\n * - Requires a checkpointer to maintain state across interruptions\n *\n * @see {@link createAgent} for agent creation\n * @see {@link Command} for resuming interrupted execution\n * @public\n */\nexport declare function humanInTheLoopMiddleware(options: NonNullable<HumanInTheLoopMiddlewareConfig>): import(\"./index.js\").AgentMiddleware<undefined, z.ZodObject<{\n /**\n * Mapping of tool name to allowed reviewer responses.\n * If a tool doesn't have an entry, it's auto-approved by default.\n *\n * - `true` -> pause for approval and allow accept/edit/respond\n * - `false` -> auto-approve (no human review)\n * - `ToolConfig` -> explicitly specify which reviewer responses are allowed for this tool\n */\n interruptOn: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodBoolean, z.ZodObject<{\n /**\n * Whether the human can approve the current action without changes\n */\n allowAccept: z.ZodOptional<z.ZodBoolean>;\n /**\n * Whether the human can reject the current action with feedback\n */\n allowEdit: z.ZodOptional<z.ZodBoolean>;\n /**\n * Whether the human can approve the current action with edited content\n */\n allowRespond: z.ZodOptional<z.ZodBoolean>;\n /**\n * The description attached to the request for human input.\n * Can be either:\n * - A static string describing the approval request\n * - A callable that dynamically generates the description based on agent state,\n * runtime, and tool call information\n *\n * @example\n * Static string description\n * ```typescript\n * const config: ToolConfig = {\n * allowAccept: true,\n * description: \"Please review this tool execution\"\n * };\n * ```\n *\n * @example\n * Dynamic callable description\n * ```typescript\n * const formatToolDescription: DescriptionFactory = (toolCall, state, runtime) => {\n * return `Tool: ${toolCall.name}\\nArguments:\\n${JSON.stringify(toolCall.args, null, 2)}`;\n * };\n *\n * const config: ToolConfig = {\n * allowAccept: true,\n * description: formatToolDescription\n * };\n * ```\n */\n description: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>]>>;\n }, \"strip\", z.ZodTypeAny, {\n allowAccept?: boolean | undefined;\n allowEdit?: boolean | undefined;\n allowRespond?: boolean | undefined;\n description?: string | ((...args: unknown[]) => unknown) | undefined;\n }, {\n allowAccept?: boolean | undefined;\n allowEdit?: boolean | undefined;\n allowRespond?: boolean | undefined;\n description?: string | ((...args: unknown[]) => unknown) | undefined;\n }>]>>>;\n /**\n * Prefix used when constructing human-facing approval messages.\n * Provides context about the tool call being reviewed; does not change the underlying action.\n *\n * Note: This prefix is only applied for tools that do not provide a custom\n * `description` via their {@link ToolConfig}. If a tool specifies a custom\n * `description`, that per-tool text is used and this prefix is ignored.\n */\n descriptionPrefix: z.ZodDefault<z.ZodString>;\n}, \"strip\", z.ZodTypeAny, {\n interruptOn?: Record<string, boolean | {\n allowAccept?: boolean | undefined;\n allowEdit?: boolean | undefined;\n allowRespond?: boolean | undefined;\n description?: string | ((...args: unknown[]) => unknown) | undefined;\n }> | undefined;\n descriptionPrefix: string;\n}, {\n interruptOn?: Record<string, boolean | {\n allowAccept?: boolean | undefined;\n allowEdit?: boolean | undefined;\n allowRespond?: boolean | undefined;\n description?: string | ((...args: unknown[]) => unknown) | undefined;\n }> | undefined;\n descriptionPrefix?: string | undefined;\n}>, any>;\nexport {};\n"],"mappings":";;;;;;cAKcK,kBAAkBL,CAAAA,CAAEc;EAApBT;;;EAI6B,WAAxBE,EAAFP,CAAAA,CAAEO,WAAAA,CAAYP,CAAAA,CAAEM,UAAdC,CAAAA;EAAW;;;EAQc,SAAxBA,EAJLP,CAAAA,CAAEO,WAIGA,CAJSP,CAAAA,CAAEM,UAIXC,CAAAA;EAAW;;;EA8BiD,YAAsBE,EA9BpFT,CAAAA,CAAEO,WA8BkFE,CA9BtET,CAAAA,CAAEM,UA8BoEG,CAAAA;EAAU;;;;;AA1CrE;AAAA;;;;AAsDZ;AAY/B;;;;AAAkD;AAMlD;AAwBA;;;;AAQgC;AAShC;AAOA;AAOA;AAIA;;;;EAAmF,WAAGmB,EAzFrE5B,CAAAA,CAAEO,WAyFmEqB,CAzFvD5B,CAAAA,CAAEY,QAyFqDgB,CAAAA,CAzF3C5B,CAAAA,CAAEQ,SAyFyCoB,EAzF9B5B,CAAAA,CAAEW,WAyF4BiB,CAzFhB5B,CAAAA,CAAEU,QAyFckB,CAAAA,EAAAA,EAzFD5B,CAAAA,CAAES,UAyFDmB,CAAAA,EAzFc5B,CAAAA,CAAES,UAyFhBmB,CAAAA,CAAAA,CAAAA,CAAAA;AAAW,CAAA,EAAA,OAAA,EAxFrF5B,CAAAA,CAAEa,UAwFmF,EAAA;EAcnFkB,WAAAA,CAAAA,EAAAA,OAwFZ,GAAA,SAAA;EAAA,SAAA,CAAA,EAAA,OAAA,GAAA,SAAA;EAAA,YA/E2CvB,CAAAA,EAAAA,OAAAA,GAAAA,SAAAA;EAAS,WAAgBF,CAAAA,EAAAA,MAAAA,GAAAA,CAAAA,CAAAA,GAAAA,IAAAA,EAAAA,OAAAA,EAAAA,EAAAA,GAAAA,OAAAA,CAAAA,GAAAA,SAAAA;CAAU,EAAA;EAIjC,WAAxBC,CAAAA,EAAAA,OAAAA,GAAAA,SAAAA;EAAW,SAICD,CAAAA,EAAAA,OAAAA,GAAAA,SAAAA;EAAU,YAAxBC,CAAAA,EAAAA,OAAAA,GAAAA,SAAAA;EAAW,WAIMD,CAAAA,EAAAA,MAAAA,GAAAA,CAAAA,CAAAA,GAAAA,IAAAA,EAAAA,OAAAA,EAAAA,EAAAA,GAAAA,OAAAA,CAAAA,GAAAA,SAAAA;CAAU,CAAA;KAhH3CD,gBAAAA,GAAmBL,CAAAA,CAAEe,KA8IuBP,CAAAA,OA9IVH,gBA8IUG,CAAAA;;;;;;AAoBbR,UAtJnBqB,oBAAAA,SAA6BC,IAsJRd,CAtJaH,gBAsJbG,EAAAA,aAAAA,CAAAA,CAAAA;;;;;AAvEE,UAzEvBe,aAAAA,CAyEuB;EAyF5BW;;;EAA0E,MAAzChC,EAAAA,MAAAA;EAAoB;AAgNjE;;EAAgD,IAAsBgC,EA1W5DV,MA0W4DU,CAAAA,MAAAA,EAAAA,GAAAA,CAAAA;;;;;;;;;;;;;;;;AAmDjDlC,UA7YJyB,qBAAAA,CA6YMlB;EAAW;;;EA1CgC,aAAjCyB,EA/VdT,aA+VcS;EAAS;;;EA8DP,MACrBnB,EA1ZFQ,oBA0ZER;EAAU;;;EAxE2I,WAAA,CAAA,EAAA,MAAA;AAAvB;;;;UAzU3Ha,aAAAA;;;;;;;UAOAC,eAAAA;;;;;;;UAOAC,WAAAA;;QAEPL;;KAEEM,qCAAAA,GAAwCH,gBAAgBC,kBAAkBC;;;;;cAcxEG,eAAe/B,CAAAA,CAAEc;;;;;;;;;eASdd,CAAAA,CAAEO,YAAYP,CAAAA,CAAEgC,UAAUhC,CAAAA,CAAEQ,WAAWR,CAAAA,CAAEY,UAAUZ,CAAAA,CAAEM,YAAYN,CAAAA,CAAEc;;;;iBAI/Dd,CAAAA,CAAEO,YAAYP,CAAAA,CAAEM;;;;eAIlBN,CAAAA,CAAEO,YAAYP,CAAAA,CAAEM;;;;kBAIbN,CAAAA,CAAEO,YAAYP,CAAAA,CAAEM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8BjBN,CAAAA,CAAEO,YAAYP,CAAAA,CAAEY,UAAUZ,CAAAA,CAAEQ,WAAWR,CAAAA,CAAEW,YAAYX,CAAAA,CAAEU,aAAaV,CAAAA,CAAES,aAAaT,CAAAA,CAAES;cAC1FT,CAAAA,CAAEa;;;;;;;;;;;;;;;;;;;qBAmBKb,CAAAA,CAAEiC,WAAWjC,CAAAA,CAAEQ;YAC1BR,CAAAA,CAAEa;gBACIW;;;;;;;;gBAQAA;;;;;;;;KAQNU,8BAAAA,GAAiChC,4BAA4B6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgNjDI,wBAAAA,UAAkClB,YAAYiB,kCAA6F,2BAAXlC,CAAAA,CAAEc;;;;;;;;;eASzId,CAAAA,CAAEO,YAAYP,CAAAA,CAAEgC,UAAUhC,CAAAA,CAAEQ,WAAWR,CAAAA,CAAEY,UAAUZ,CAAAA,CAAEM,YAAYN,CAAAA,CAAEc;;;;iBAI/Dd,CAAAA,CAAEO,YAAYP,CAAAA,CAAEM;;;;eAIlBN,CAAAA,CAAEO,YAAYP,CAAAA,CAAEM;;;;kBAIbN,CAAAA,CAAEO,YAAYP,CAAAA,CAAEM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8BjBN,CAAAA,CAAEO,YAAYP,CAAAA,CAAEY,UAAUZ,CAAAA,CAAEQ,WAAWR,CAAAA,CAAEW,YAAYX,CAAAA,CAAEU,aAAaV,CAAAA,CAAES,aAAaT,CAAAA,CAAES;cAC1FT,CAAAA,CAAEa;;;;;;;;;;;;;;;;;;;qBAmBKb,CAAAA,CAAEiC,WAAWjC,CAAAA,CAAEQ;YAC1BR,CAAAA,CAAEa;gBACIW;;;;;;;;gBAQAA"}
@@ -1,16 +1,19 @@
1
1
  import { createMiddleware } from "../middleware.js";
2
- import { AIMessage, ToolMessage, isAIMessage } from "@langchain/core/messages";
2
+ import { AIMessage, ToolMessage } from "@langchain/core/messages";
3
3
  import { interrupt } from "@langchain/langgraph";
4
+ import { interopParse } from "@langchain/core/utils/types";
4
5
  import { z } from "zod/v3";
5
- import { v4 } from "uuid";
6
6
 
7
7
  //#region src/agents/middlewareAgent/middleware/hitl.ts
8
+ const ToolConfigSchema = z.object({
9
+ allowAccept: z.boolean().optional(),
10
+ allowEdit: z.boolean().optional(),
11
+ allowRespond: z.boolean().optional(),
12
+ description: z.union([z.string(), z.function()]).optional()
13
+ });
8
14
  const contextSchema = z.object({
9
- toolConfigs: z.record(z.object({
10
- requireApproval: z.boolean().optional(),
11
- description: z.string().optional()
12
- })).default({}),
13
- messagePrefix: z.string().default("Tool execution requires approval")
15
+ interruptOn: z.record(z.union([z.boolean(), ToolConfigSchema])).optional(),
16
+ descriptionPrefix: z.string().default("Tool execution requires approval")
14
17
  });
15
18
  /**
16
19
  * Creates a Human-in-the-Loop (HITL) middleware for tool approval and oversight.
@@ -19,6 +22,37 @@ const contextSchema = z.object({
19
22
  * capabilities before execution. It enables selective approval workflows where certain tools
20
23
  * require human intervention while others can execute automatically.
21
24
  *
25
+ * A invocation result that has been interrupted by the middleware will have a `__interrupt__`
26
+ * property that contains the interrupt request. You can loop over the request to determine
27
+ * which tools were interrupted, and how to handle them separately.
28
+ *
29
+ * ```ts
30
+ * import { type ToolApprovalRequest, type HumanInTheLoopMiddlewareHumanResponse } from "langchain";
31
+ * import { type Interrupt } from "langchain";
32
+ *
33
+ * const result = await agent.invoke(request);
34
+ * const interruptRequest = initialResult.__interrupt__?.[0] as Interrupt<
35
+ * ToolApprovalRequest[]
36
+ * >;
37
+ * const resume: HumanInTheLoopMiddlewareHumanResponse[] =
38
+ * interruptRequest.value.map((request) => {
39
+ * if (request.action === "calculator") {
40
+ * return { id: request.toolCallId, type: "accept" };
41
+ * } else if (request.action === "write_file") {
42
+ * return {
43
+ * id: request.toolCallId,
44
+ * type: "edit",
45
+ * args: { filename: "safe.txt", content: "Safe content" },
46
+ * };
47
+ * }
48
+ *
49
+ * throw new Error(`Unknown action: ${request.action}`);
50
+ * });
51
+ *
52
+ * // Resume with approval
53
+ * await agent.invoke(new Command({ resume }), config);
54
+ * ```
55
+ *
22
56
  * ## Features
23
57
  *
24
58
  * - **Selective Tool Approval**: Configure which tools require human approval
@@ -35,28 +69,31 @@ const contextSchema = z.object({
35
69
  * - `response`: Provide a manual response instead of executing the tool
36
70
  *
37
71
  * @param options - Configuration options for the middleware
38
- * @param options.toolConfigs - Per-tool configuration mapping tool names to their settings
39
- * @param options.toolConfigs[toolName].requireApproval - Whether the tool requires human approval
40
- * @param options.toolConfigs[toolName].description - Custom approval message for the tool
41
- * @param options.messagePrefix - Default prefix for approval messages (default: "Tool execution requires approval")
72
+ * @param options.interruptOn - Per-tool configuration mapping tool names to their settings
73
+ * @param options.interruptOn[toolName].allowAccept - Whether the human can approve the current action without changes
74
+ * @param options.interruptOn[toolName].allowEdit - Whether the human can reject the current action with feedback
75
+ * @param options.interruptOn[toolName].allowRespond - Whether the human can approve the current action with edited content
76
+ * @param options.interruptOn[toolName].description - Custom approval message for the tool. Can be either a static string or a callable that dynamically generates the description based on agent state, runtime, and tool call information
77
+ * @param options.messagePrefix - Default prefix for approval messages (default: "Tool execution requires approval"). Only used for tools that do not define a custom `description` in their ToolConfig.
42
78
  *
43
79
  * @returns A middleware instance that can be passed to `createAgent`
44
80
  *
45
81
  * @example
46
82
  * Basic usage with selective tool approval
47
83
  * ```typescript
48
- * import { humanInTheLoopMiddleware } from "langchain/middleware";
84
+ * import { humanInTheLoopMiddleware } from "langchain";
49
85
  * import { createAgent } from "langchain";
50
86
  *
51
87
  * const hitlMiddleware = humanInTheLoopMiddleware({
52
- * toolConfigs: {
88
+ * interruptOn: {
89
+ * // Interrupt write_file tool and allow edits or accepts
53
90
  * "write_file": {
54
- * requireApproval: true,
91
+ * allowEdit: true,
92
+ * allowAccept: true,
55
93
  * description: "⚠️ File write operation requires approval"
56
94
  * },
57
- * "read_file": {
58
- * requireApproval: false // Safe operation, no approval needed
59
- * }
95
+ * // Auto-approve read_file tool
96
+ * "read_file": false
60
97
  * }
61
98
  * });
62
99
  *
@@ -70,6 +107,7 @@ const contextSchema = z.object({
70
107
  * @example
71
108
  * Handling approval requests
72
109
  * ```typescript
110
+ * import { type HumanInTheLoopRequest, type Interrupt } from "langchain";
73
111
  * import { Command } from "@langchain/langgraph";
74
112
  *
75
113
  * // Initial agent invocation
@@ -78,15 +116,14 @@ const contextSchema = z.object({
78
116
  * }, config);
79
117
  *
80
118
  * // Check if agent is paused for approval
81
- * const state = await agent.graph.getState(config);
82
- * if (state.next?.length > 0) {
83
- * // Get interrupt details
84
- * const task = state.tasks?.[0];
85
- * const requests = task?.interrupts?.[0]?.value;
119
+ * if (result.__interrupt__) {
120
+ * const interruptRequest = initialResult.__interrupt__?.[0] as Interrupt<
121
+ * HumanInTheLoopRequest[]
122
+ * >;
86
123
  *
87
124
  * // Show tool call details to user
88
- * console.log("Tool:", requests[0].action);
89
- * console.log("Args:", requests[0].args);
125
+ * console.log("Tool:", interruptRequest.value[0].actionRequest);
126
+ * console.log("Allowed actions:", interruptRequest.value[0].config);
90
127
  *
91
128
  * // Resume with approval
92
129
  * await agent.invoke(
@@ -111,12 +148,13 @@ const contextSchema = z.object({
111
148
  * })
112
149
  *
113
150
  * // Skip tool and terminate agent
114
- * new Command({ resume: [{ type: "ignore" }] })
151
+ * new Command({ resume: [{ type: "response" }] })
115
152
  *
116
153
  * // Provide manual response
117
154
  * new Command({
118
155
  * resume: [{
119
156
  * type: "response",
157
+ * // this must be a string
120
158
  * args: "File operation not allowed in demo mode"
121
159
  * }]
122
160
  * })
@@ -126,16 +164,16 @@ const contextSchema = z.object({
126
164
  * Production use case with database operations
127
165
  * ```typescript
128
166
  * const hitlMiddleware = humanInTheLoopMiddleware({
129
- * toolConfigs: {
167
+ * interruptOn: {
130
168
  * "execute_sql": {
131
- * requireApproval: true,
169
+ * allowAccept: true,
170
+ * allowEdit: true,
171
+ * allowRespond: true,
132
172
  * description: "🚨 SQL query requires DBA approval\nPlease review for safety and performance"
133
173
  * },
134
- * "read_schema": {
135
- * requireApproval: false // Reading metadata is safe
136
- * },
174
+ * "read_schema": false // Reading metadata is safe
137
175
  * "delete_records": {
138
- * requireApproval: true,
176
+ * allowAccept: true,
139
177
  * description: "⛔ DESTRUCTIVE OPERATION - Requires manager approval"
140
178
  * }
141
179
  * },
@@ -143,6 +181,36 @@ const contextSchema = z.object({
143
181
  * });
144
182
  * ```
145
183
  *
184
+ * @example
185
+ * Using dynamic callable descriptions
186
+ * ```typescript
187
+ * import { type DescriptionFactory } from "langchain";
188
+ *
189
+ * // Define a dynamic description factory
190
+ * const formatToolDescription: DescriptionFactory = (toolCall, state, runtime) => {
191
+ * return `Tool: ${toolCall.name}\nArguments:\n${JSON.stringify(toolCall.args, null, 2)}`;
192
+ * };
193
+ *
194
+ * const hitlMiddleware = humanInTheLoopMiddleware({
195
+ * interruptOn: {
196
+ * "write_file": {
197
+ * allowAccept: true,
198
+ * allowEdit: true,
199
+ * // Use dynamic description that can access tool call, state, and runtime
200
+ * description: formatToolDescription
201
+ * },
202
+ * // Or use an inline function
203
+ * "send_email": {
204
+ * allowAccept: true,
205
+ * description: (toolCall, state, runtime) => {
206
+ * const { to, subject } = toolCall.args;
207
+ * return `Email to ${to}\nSubject: ${subject}\n\nRequires approval before sending`;
208
+ * }
209
+ * }
210
+ * }
211
+ * });
212
+ * ```
213
+ *
146
214
  * @remarks
147
215
  * - Tool calls are processed in the order they appear in the AI message
148
216
  * - Auto-approved tools execute immediately without interruption
@@ -154,77 +222,115 @@ const contextSchema = z.object({
154
222
  * @see {@link Command} for resuming interrupted execution
155
223
  * @public
156
224
  */
157
- function humanInTheLoopMiddleware(options = {}) {
225
+ function humanInTheLoopMiddleware(options) {
158
226
  return createMiddleware({
159
227
  name: "HumanInTheLoopMiddleware",
160
228
  contextSchema,
161
- afterModel: async (state, runtime, controls) => {
162
- const config = {
163
- ...contextSchema.parse(options),
164
- ...runtime.context
165
- };
229
+ afterModelJumpTo: ["model"],
230
+ afterModel: async (state, runtime) => {
231
+ const config = interopParse(contextSchema, {
232
+ ...options,
233
+ ...runtime.context || {}
234
+ });
235
+ if (!config) return;
166
236
  const { messages } = state;
167
237
  if (!messages.length) return;
168
- const lastMessage = messages[messages.length - 1];
169
- if (!isAIMessage(lastMessage) || !lastMessage.tool_calls?.length) return;
238
+ /**
239
+ * Don't do anything if the last message isn't an AI message with tool calls.
240
+ */
241
+ const lastMessage = [...messages].reverse().find((msg) => AIMessage.isInstance(msg));
242
+ if (!lastMessage || !lastMessage.tool_calls?.length) return;
243
+ /**
244
+ * If the user omits the interruptOn config, we don't do anything.
245
+ */
246
+ if (!config.interruptOn) return;
247
+ const resolvedToolConfigs = {};
248
+ for (const [toolName, toolConfig] of Object.entries(config.interruptOn)) if (typeof toolConfig === "boolean") {
249
+ if (toolConfig === true) resolvedToolConfigs[toolName] = {
250
+ allowAccept: true,
251
+ allowEdit: true,
252
+ allowRespond: true
253
+ };
254
+ } else resolvedToolConfigs[toolName] = toolConfig;
170
255
  const interruptToolCalls = [];
171
256
  const autoApprovedToolCalls = [];
172
- for (const toolCall of lastMessage.tool_calls) {
173
- const normalizedToolCall = {
174
- id: toolCall.id || v4(),
175
- name: toolCall.name,
176
- args: toolCall.args
177
- };
178
- const toolConfig = config.toolConfigs[normalizedToolCall.name];
179
- if (toolConfig?.requireApproval) interruptToolCalls.push(normalizedToolCall);
180
- else autoApprovedToolCalls.push(normalizedToolCall);
181
- }
257
+ for (const toolCall of lastMessage.tool_calls) if (toolCall.name in resolvedToolConfigs) interruptToolCalls.push(toolCall);
258
+ else autoApprovedToolCalls.push(toolCall);
259
+ /**
260
+ * No interrupt tool calls, so we can just return.
261
+ */
182
262
  if (!interruptToolCalls.length) return;
183
- const approvedToolCalls = [...autoApprovedToolCalls];
184
- const requests = interruptToolCalls.map((toolCall) => {
185
- const toolConfig = config.toolConfigs[toolCall.name];
186
- const description = toolConfig?.description || `${config.messagePrefix}\n\nTool: ${toolCall.name}\nArgs: ${JSON.stringify(toolCall.args, null, 2)}`;
263
+ const hitlRequests = await Promise.all(interruptToolCalls.map(async (toolCall) => {
264
+ const toolConfig = resolvedToolConfigs[toolCall.name];
265
+ const description = toolConfig.description ? typeof toolConfig.description === "function" ? await toolConfig.description(toolCall, state, runtime) : toolConfig.description : `${config.descriptionPrefix}\n\nTool: ${toolCall.name}\nArgs: ${JSON.stringify(toolCall.args, null, 2)}`;
187
266
  return {
188
- action: toolCall.name,
189
- args: toolCall.args,
190
- toolCallId: toolCall.id,
267
+ actionRequest: {
268
+ action: toolCall.name,
269
+ args: toolCall.args
270
+ },
271
+ config: toolConfig,
191
272
  description
192
273
  };
193
- });
194
- const responses = await interrupt(requests);
195
- for (let i = 0; i < responses.length; i++) {
196
- const response = responses[i];
274
+ }));
275
+ const responses = await interrupt(hitlRequests);
276
+ if (responses.length !== interruptToolCalls.length) throw new Error(`Number of human responses (${responses.length}) does not match number of hanging tool calls (${interruptToolCalls.length}).`);
277
+ const approvedToolCalls = [...autoApprovedToolCalls];
278
+ const artificialToolMessages = [];
279
+ for (const [i, response] of responses.entries()) {
197
280
  const toolCall = interruptToolCalls[i];
198
- switch (response.type) {
199
- case "accept":
200
- approvedToolCalls.push(toolCall);
201
- break;
202
- case "edit":
203
- if (response.args && typeof response.args === "object" && "args" in response.args) approvedToolCalls.push({
204
- ...toolCall,
205
- args: response.args.args
206
- });
207
- break;
208
- case "ignore": return controls.terminate();
209
- case "response": {
210
- const toolMessage = new ToolMessage({
211
- content: typeof response.args === "string" ? response.args : "",
212
- tool_call_id: toolCall.id
213
- });
214
- return {
215
- messages: [...state.messages, toolMessage],
216
- jump_to: "model"
217
- };
218
- }
219
- default: throw new Error(`Unknown response type: ${response.type}`);
281
+ const toolConfig = resolvedToolConfigs[toolCall.name];
282
+ if (response.type === "accept" && toolConfig?.allowAccept) {
283
+ approvedToolCalls.push(toolCall);
284
+ continue;
285
+ }
286
+ if (response.type === "edit" && toolConfig?.allowEdit) {
287
+ const edited = response.args;
288
+ approvedToolCalls.push({
289
+ id: toolCall.id,
290
+ name: edited.action,
291
+ args: edited.args
292
+ });
293
+ continue;
220
294
  }
295
+ if (response.type === "response" && toolConfig?.allowRespond) {
296
+ const content = response.args ?? `User rejected the tool call for \`${toolCall.name}\` with id ${toolCall.id}`;
297
+ /**
298
+ * Providing a meaningful error message for this case that should never happen.
299
+ */
300
+ if (!toolCall.id) throw new Error(`Can't provide custom tool response for tool call without an ID: ${toolCall.name}!\nThis use case is not expected to happen, please report this as a bug.`);
301
+ /**
302
+ * ToolMessage expects a string, so we need to throw an error if it's not a string
303
+ * as we currently have no way to proper type responses from users through the
304
+ * Command object.
305
+ */
306
+ if (typeof content !== "string") throw new Error(`Tool call response for "${toolCall.name}" must be a string, got ${typeof content}`);
307
+ artificialToolMessages.push(new ToolMessage({
308
+ content,
309
+ name: toolCall.name,
310
+ tool_call_id: toolCall.id,
311
+ status: "error"
312
+ }));
313
+ continue;
314
+ }
315
+ const allowedActions = [
316
+ toolConfig?.allowAccept && "accept",
317
+ toolConfig?.allowEdit && "edit",
318
+ toolConfig?.allowRespond && "response"
319
+ ].filter(Boolean).join("\", \"");
320
+ throw new Error(`Unexpected human response: ${JSON.stringify(response)}. Response action '${response.type}' is not allowed for tool '${toolCall.name}'. Expected one of: "${allowedActions}", based on the tool's configuration.`);
221
321
  }
222
- const updatedMessage = new AIMessage({
223
- content: lastMessage.content,
224
- tool_calls: approvedToolCalls,
225
- id: lastMessage.id
322
+ /**
323
+ * Replace the tool calls with the approved tool calls
324
+ */
325
+ if (AIMessage.isInstance(lastMessage)) lastMessage.tool_calls = lastMessage.tool_calls?.map((tc) => {
326
+ const approvedToolCall = approvedToolCalls.find((atc) => atc.id === tc.id);
327
+ return approvedToolCall ?? tc;
226
328
  });
227
- return { messages: [...state.messages.slice(0, -1), updatedMessage] };
329
+ if (approvedToolCalls.length > 0) return { messages: [...state.messages, ...artificialToolMessages] };
330
+ return {
331
+ jumpTo: "model",
332
+ messages: [...state.messages, ...artificialToolMessages]
333
+ };
228
334
  }
229
335
  });
230
336
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hitl.js","names":["options: z.input<typeof contextSchema>","interruptToolCalls: ToolCall[]","autoApprovedToolCalls: ToolCall[]","normalizedToolCall: ToolCall","uuid","requests: ToolApprovalRequest[]"],"sources":["../../../../src/agents/middlewareAgent/middleware/hitl.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { z } from \"zod/v3\";\nimport { v4 as uuid } from \"uuid\";\nimport { AIMessage, ToolMessage, isAIMessage } from \"@langchain/core/messages\";\nimport { interrupt } from \"@langchain/langgraph\";\n\nimport { createMiddleware } from \"../middleware.js\";\nimport type { ToolCall } from \"../types.js\";\nimport { HumanResponse } from \"../../interrupt.js\";\n\n/**\n * Interrupt request for tool approval\n */\ninterface ToolApprovalRequest {\n action: string;\n args: Record<string, any>;\n toolCallId: string;\n description?: string;\n}\n\nconst contextSchema = z.object({\n toolConfigs: z\n .record(\n z.object({\n requireApproval: z.boolean().optional(),\n description: z.string().optional(),\n })\n )\n .default({}),\n messagePrefix: z.string().default(\"Tool execution requires approval\"),\n});\n\n/**\n * Creates a Human-in-the-Loop (HITL) middleware for tool approval and oversight.\n *\n * This middleware intercepts tool calls made by an AI agent and provides human oversight\n * capabilities before execution. It enables selective approval workflows where certain tools\n * require human intervention while others can execute automatically.\n *\n * ## Features\n *\n * - **Selective Tool Approval**: Configure which tools require human approval\n * - **Multiple Response Types**: Accept, edit, ignore, or manually respond to tool calls\n * - **Asynchronous Workflow**: Uses LangGraph's interrupt mechanism for non-blocking approval\n * - **Custom Approval Messages**: Provide context-specific descriptions for approval requests\n *\n * ## Response Types\n *\n * When a tool requires approval, the human operator can respond with:\n * - `accept`: Execute the tool with original arguments\n * - `edit`: Modify the tool arguments before execution\n * - `ignore`: Skip the tool and terminate the agent\n * - `response`: Provide a manual response instead of executing the tool\n *\n * @param options - Configuration options for the middleware\n * @param options.toolConfigs - Per-tool configuration mapping tool names to their settings\n * @param options.toolConfigs[toolName].requireApproval - Whether the tool requires human approval\n * @param options.toolConfigs[toolName].description - Custom approval message for the tool\n * @param options.messagePrefix - Default prefix for approval messages (default: \"Tool execution requires approval\")\n *\n * @returns A middleware instance that can be passed to `createAgent`\n *\n * @example\n * Basic usage with selective tool approval\n * ```typescript\n * import { humanInTheLoopMiddleware } from \"langchain/middleware\";\n * import { createAgent } from \"langchain\";\n *\n * const hitlMiddleware = humanInTheLoopMiddleware({\n * toolConfigs: {\n * \"write_file\": {\n * requireApproval: true,\n * description: \"⚠️ File write operation requires approval\"\n * },\n * \"read_file\": {\n * requireApproval: false // Safe operation, no approval needed\n * }\n * }\n * });\n *\n * const agent = createAgent({\n * model: \"openai:gpt-4\",\n * tools: [writeFileTool, readFileTool],\n * middleware: [hitlMiddleware]\n * });\n * ```\n *\n * @example\n * Handling approval requests\n * ```typescript\n * import { Command } from \"@langchain/langgraph\";\n *\n * // Initial agent invocation\n * const result = await agent.invoke({\n * messages: [new HumanMessage(\"Write 'Hello' to output.txt\")]\n * }, config);\n *\n * // Check if agent is paused for approval\n * const state = await agent.graph.getState(config);\n * if (state.next?.length > 0) {\n * // Get interrupt details\n * const task = state.tasks?.[0];\n * const requests = task?.interrupts?.[0]?.value;\n *\n * // Show tool call details to user\n * console.log(\"Tool:\", requests[0].action);\n * console.log(\"Args:\", requests[0].args);\n *\n * // Resume with approval\n * await agent.invoke(\n * new Command({ resume: [{ type: \"accept\" }] }),\n * config\n * );\n * }\n * ```\n *\n * @example\n * Different response types\n * ```typescript\n * // Accept the tool call as-is\n * new Command({ resume: [{ type: \"accept\" }] })\n *\n * // Edit the tool arguments\n * new Command({\n * resume: [{\n * type: \"edit\",\n * args: { action: \"write_file\", args: { filename: \"safe.txt\", content: \"Modified\" } }\n * }]\n * })\n *\n * // Skip tool and terminate agent\n * new Command({ resume: [{ type: \"ignore\" }] })\n *\n * // Provide manual response\n * new Command({\n * resume: [{\n * type: \"response\",\n * args: \"File operation not allowed in demo mode\"\n * }]\n * })\n * ```\n *\n * @example\n * Production use case with database operations\n * ```typescript\n * const hitlMiddleware = humanInTheLoopMiddleware({\n * toolConfigs: {\n * \"execute_sql\": {\n * requireApproval: true,\n * description: \"🚨 SQL query requires DBA approval\\nPlease review for safety and performance\"\n * },\n * \"read_schema\": {\n * requireApproval: false // Reading metadata is safe\n * },\n * \"delete_records\": {\n * requireApproval: true,\n * description: \"⛔ DESTRUCTIVE OPERATION - Requires manager approval\"\n * }\n * },\n * messagePrefix: \"Database operation pending approval\"\n * });\n * ```\n *\n * @remarks\n * - Tool calls are processed in the order they appear in the AI message\n * - Auto-approved tools execute immediately without interruption\n * - Multiple tools requiring approval are bundled into a single interrupt\n * - The middleware operates in the `afterModel` phase, intercepting before tool execution\n * - Requires a checkpointer to maintain state across interruptions\n *\n * @see {@link createAgent} for agent creation\n * @see {@link Command} for resuming interrupted execution\n * @public\n */\nexport function humanInTheLoopMiddleware(\n options: z.input<typeof contextSchema> = {}\n) {\n return createMiddleware({\n name: \"HumanInTheLoopMiddleware\",\n contextSchema,\n afterModel: async (state, runtime, controls) => {\n const config = { ...contextSchema.parse(options), ...runtime.context };\n const { messages } = state;\n\n if (!messages.length) {\n return;\n }\n\n const lastMessage = messages[messages.length - 1];\n\n // Check if it's an AI message with tool calls\n if (!isAIMessage(lastMessage) || !lastMessage.tool_calls?.length) {\n return;\n }\n\n // Separate tool calls that need interrupts from those that don't\n const interruptToolCalls: ToolCall[] = [];\n const autoApprovedToolCalls: ToolCall[] = [];\n\n for (const toolCall of lastMessage.tool_calls) {\n // Ensure tool call has an ID\n const normalizedToolCall: ToolCall = {\n id: toolCall.id || uuid(),\n name: toolCall.name,\n args: toolCall.args,\n };\n\n const toolConfig = config.toolConfigs[normalizedToolCall.name];\n\n if (toolConfig?.requireApproval) {\n interruptToolCalls.push(normalizedToolCall);\n } else {\n autoApprovedToolCalls.push(normalizedToolCall);\n }\n }\n\n // If no interrupts needed, return early\n if (!interruptToolCalls.length) {\n return;\n }\n\n const approvedToolCalls = [...autoApprovedToolCalls];\n\n // Process tool calls that need interrupts\n const requests: ToolApprovalRequest[] = interruptToolCalls.map(\n (toolCall) => {\n const toolConfig = config.toolConfigs[toolCall.name];\n const description =\n toolConfig?.description ||\n `${config.messagePrefix}\\n\\nTool: ${\n toolCall.name\n }\\nArgs: ${JSON.stringify(toolCall.args, null, 2)}`;\n\n return {\n action: toolCall.name,\n args: toolCall.args,\n toolCallId: toolCall.id,\n description,\n };\n }\n );\n\n // Interrupt and wait for human responses\n const responses = (await interrupt(requests)) as HumanResponse[];\n\n // Process responses\n for (let i = 0; i < responses.length; i++) {\n const response = responses[i];\n const toolCall = interruptToolCalls[i];\n\n switch (response.type) {\n case \"accept\":\n approvedToolCalls.push(toolCall);\n break;\n\n case \"edit\":\n // For edit, args is an ActionRequest with updated args\n if (\n response.args &&\n typeof response.args === \"object\" &&\n \"args\" in response.args\n ) {\n approvedToolCalls.push({\n ...toolCall,\n args: (\n response.args as { action: string; args: Record<string, any> }\n ).args,\n });\n }\n break;\n\n case \"ignore\":\n // Skip to end - terminate the agent\n return controls.terminate();\n\n case \"response\": {\n // Return manual tool response and jump back to model\n // For response, args is a string\n const toolMessage = new ToolMessage({\n content: typeof response.args === \"string\" ? response.args : \"\",\n tool_call_id: toolCall.id,\n });\n return {\n messages: [...state.messages, toolMessage],\n jump_to: \"model\",\n };\n }\n default:\n throw new Error(`Unknown response type: ${(response as any).type}`);\n }\n }\n\n // Update the last message with approved tool calls\n const updatedMessage = new AIMessage({\n content: lastMessage.content,\n tool_calls: approvedToolCalls,\n id: lastMessage.id,\n });\n\n // Replace the last message with the updated one\n return {\n messages: [...state.messages.slice(0, -1), updatedMessage],\n };\n },\n });\n}\n"],"mappings":";;;;;;;AAoBA,MAAM,gBAAgB,EAAE,OAAO;CAC7B,aAAa,EACV,OACC,EAAE,OAAO;EACP,iBAAiB,EAAE,SAAS,CAAC,UAAU;EACvC,aAAa,EAAE,QAAQ,CAAC,UAAU;CACnC,EAAC,CACH,CACA,QAAQ,CAAE,EAAC;CACd,eAAe,EAAE,QAAQ,CAAC,QAAQ,mCAAmC;AACtE,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgJF,SAAgB,yBACdA,UAAyC,CAAE,GAC3C;AACA,QAAO,iBAAiB;EACtB,MAAM;EACN;EACA,YAAY,OAAO,OAAO,SAAS,aAAa;GAC9C,MAAM,SAAS;IAAE,GAAG,cAAc,MAAM,QAAQ;IAAE,GAAG,QAAQ;GAAS;GACtE,MAAM,EAAE,UAAU,GAAG;AAErB,OAAI,CAAC,SAAS,OACZ;GAGF,MAAM,cAAc,SAAS,SAAS,SAAS;AAG/C,OAAI,CAAC,YAAY,YAAY,IAAI,CAAC,YAAY,YAAY,OACxD;GAIF,MAAMC,qBAAiC,CAAE;GACzC,MAAMC,wBAAoC,CAAE;AAE5C,QAAK,MAAM,YAAY,YAAY,YAAY;IAE7C,MAAMC,qBAA+B;KACnC,IAAI,SAAS,MAAMC,IAAM;KACzB,MAAM,SAAS;KACf,MAAM,SAAS;IAChB;IAED,MAAM,aAAa,OAAO,YAAY,mBAAmB;AAEzD,QAAI,YAAY,iBACd,mBAAmB,KAAK,mBAAmB;SAE3C,sBAAsB,KAAK,mBAAmB;GAEjD;AAGD,OAAI,CAAC,mBAAmB,OACtB;GAGF,MAAM,oBAAoB,CAAC,GAAG,qBAAsB;GAGpD,MAAMC,WAAkC,mBAAmB,IACzD,CAAC,aAAa;IACZ,MAAM,aAAa,OAAO,YAAY,SAAS;IAC/C,MAAM,cACJ,YAAY,eACZ,GAAG,OAAO,cAAc,UAAU,EAChC,SAAS,KACV,QAAQ,EAAE,KAAK,UAAU,SAAS,MAAM,MAAM,EAAE,EAAE;AAErD,WAAO;KACL,QAAQ,SAAS;KACjB,MAAM,SAAS;KACf,YAAY,SAAS;KACrB;IACD;GACF,EACF;GAGD,MAAM,YAAa,MAAM,UAAU,SAAS;AAG5C,QAAK,IAAI,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;IACzC,MAAM,WAAW,UAAU;IAC3B,MAAM,WAAW,mBAAmB;AAEpC,YAAQ,SAAS,MAAjB;KACE,KAAK;MACH,kBAAkB,KAAK,SAAS;AAChC;KAEF,KAAK;AAEH,UACE,SAAS,QACT,OAAO,SAAS,SAAS,YACzB,UAAU,SAAS,MAEnB,kBAAkB,KAAK;OACrB,GAAG;OACH,MACE,SAAS,KACT;MACH,EAAC;AAEJ;KAEF,KAAK,SAEH,QAAO,SAAS,WAAW;KAE7B,KAAK,YAAY;MAGf,MAAM,cAAc,IAAI,YAAY;OAClC,SAAS,OAAO,SAAS,SAAS,WAAW,SAAS,OAAO;OAC7D,cAAc,SAAS;MACxB;AACD,aAAO;OACL,UAAU,CAAC,GAAG,MAAM,UAAU,WAAY;OAC1C,SAAS;MACV;KACF;KACD,QACE,OAAM,IAAI,MAAM,CAAC,uBAAuB,EAAG,SAAiB,MAAM;IACrE;GACF;GAGD,MAAM,iBAAiB,IAAI,UAAU;IACnC,SAAS,YAAY;IACrB,YAAY;IACZ,IAAI,YAAY;GACjB;AAGD,UAAO,EACL,UAAU,CAAC,GAAG,MAAM,SAAS,MAAM,GAAG,GAAG,EAAE,cAAe,EAC3D;EACF;CACF,EAAC;AACH"}
1
+ {"version":3,"file":"hitl.js","names":["options: NonNullable<HumanInTheLoopMiddlewareConfig>","resolvedToolConfigs: Record<string, ToolConfig>","interruptToolCalls: ToolCall[]","autoApprovedToolCalls: ToolCall[]","hitlRequests: HumanInTheLoopRequest[]","approvedToolCalls: ToolCall[]","artificialToolMessages: ToolMessage[]"],"sources":["../../../../src/agents/middlewareAgent/middleware/hitl.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { z } from \"zod/v3\";\nimport { AIMessage, ToolMessage } from \"@langchain/core/messages\";\nimport {\n InferInteropZodInput,\n interopParse,\n} from \"@langchain/core/utils/types\";\nimport { interrupt } from \"@langchain/langgraph\";\n\nimport { createMiddleware } from \"../middleware.js\";\nimport type { AgentBuiltInState, Runtime } from \"../types.js\";\n\nconst ToolConfigSchema = z.object({\n /**\n * Whether the human can approve the current action without changes\n */\n allowAccept: z.boolean().optional(),\n /**\n * Whether the human can reject the current action with feedback\n */\n allowEdit: z.boolean().optional(),\n /**\n * Whether the human can approve the current action with edited content\n */\n allowRespond: z.boolean().optional(),\n /**\n * The description attached to the request for human input.\n * Can be either:\n * - A static string describing the approval request\n * - A callable that dynamically generates the description based on agent state,\n * runtime, and tool call information\n *\n * @example\n * Static string description\n * ```typescript\n * const config: ToolConfig = {\n * allowAccept: true,\n * description: \"Please review this tool execution\"\n * };\n * ```\n *\n * @example\n * Dynamic callable description\n * ```typescript\n * const formatToolDescription: DescriptionFactory = (toolCall, state, runtime) => {\n * return `Tool: ${toolCall.name}\\nArguments:\\n${JSON.stringify(toolCall.args, null, 2)}`;\n * };\n *\n * const config: ToolConfig = {\n * allowAccept: true,\n * description: formatToolDescription\n * };\n * ```\n */\n description: z.union([z.string(), z.function()]).optional(),\n});\n\ntype ToolConfigSchema = z.input<typeof ToolConfigSchema>;\ntype ToolCall = NonNullable<AIMessage[\"tool_calls\"]>[number];\n\n/**\n * Function type that dynamically generates a description based on agent state,\n * runtime, and tool call information.\n */\nexport type DescriptionFactory<\n State extends AgentBuiltInState = AgentBuiltInState\n> = (\n toolCall: ToolCall,\n state: State,\n runtime: Runtime<unknown>\n) => string | Promise<string>;\n\n/**\n * Configuration that defines which reviewer response types are permitted during a human interrupt.\n * These flags control what the human reviewer may do (e.g., accept/edit/respond),\n * not the tool action the agent has requested.\n */\nexport interface HumanInTheLoopConfig\n extends Omit<ToolConfigSchema, \"description\"> {}\n\n/**\n * Describes the agent-requested tool action (name and arguments).\n * This is what the AI intends to execute, subject to human review.\n */\nexport interface ActionRequest {\n /**\n * The tool/action name requested by the agent (e.g., \"send_email\").\n */\n action: string;\n /**\n * Arguments for the requested tool call (e.g., {\"a\": 1, \"b\": 2}).\n */\n args: Record<string, any>;\n}\n\n/**\n * Represents an interrupt triggered by the graph that requires human intervention\n * to approve, edit, or respond to an agent-requested tool action.\n *\n * @example\n * ```ts\n * const hitlRequest: HumanInTheLoopRequest = {\n * actionRequest: { action: \"Approve XYZ action\", args: { ... } },\n * config: { allowAccept: true, allowEdit: true, allowRespond: true },\n * description: \"Please review the command before execution\"\n * };\n * response = interrupt([request])[0]\n * ```\n */\nexport interface HumanInTheLoopRequest {\n /**\n * The agent-requested tool action to be reviewed.\n */\n actionRequest: ActionRequest;\n /**\n * Which reviewer responses are allowed (accept/edit/respond).\n */\n config: HumanInTheLoopConfig;\n /**\n * Optional human-facing description shown in the approval prompt.\n */\n description?: string;\n}\n\n/**\n * Response when a human approves the agent-requested action.\n */\nexport interface AcceptPayload {\n type: \"accept\";\n}\n\n/**\n * Response when a human provides a manual response instead of executing\n * the agent-requested action.\n */\nexport interface ResponsePayload {\n type: \"response\";\n args?: string;\n}\n\n/**\n * Response when a human edits the agent-requested action (tool name and/or args).\n */\nexport interface EditPayload {\n type: \"edit\";\n args: ActionRequest;\n}\n\nexport type HumanInTheLoopMiddlewareHumanResponse =\n | AcceptPayload\n | ResponsePayload\n | EditPayload;\n\n/**\n * Configuration for a tool requiring human in the loop.\n */\nexport interface ToolConfig extends HumanInTheLoopConfig {\n /**\n * Human-facing description shown in the approval request.\n * Can be either:\n * - A static string describing the approval request\n * - A callable that dynamically generates the description based on agent state,\n * runtime, and tool call information\n */\n description?: string | DescriptionFactory;\n}\n\nconst contextSchema = z.object({\n /**\n * Mapping of tool name to allowed reviewer responses.\n * If a tool doesn't have an entry, it's auto-approved by default.\n *\n * - `true` -> pause for approval and allow accept/edit/respond\n * - `false` -> auto-approve (no human review)\n * - `ToolConfig` -> explicitly specify which reviewer responses are allowed for this tool\n */\n interruptOn: z.record(z.union([z.boolean(), ToolConfigSchema])).optional(),\n /**\n * Prefix used when constructing human-facing approval messages.\n * Provides context about the tool call being reviewed; does not change the underlying action.\n *\n * Note: This prefix is only applied for tools that do not provide a custom\n * `description` via their {@link ToolConfig}. If a tool specifies a custom\n * `description`, that per-tool text is used and this prefix is ignored.\n */\n descriptionPrefix: z.string().default(\"Tool execution requires approval\"),\n});\nexport type HumanInTheLoopMiddlewareConfig = InferInteropZodInput<\n typeof contextSchema\n>;\n\n/**\n * Creates a Human-in-the-Loop (HITL) middleware for tool approval and oversight.\n *\n * This middleware intercepts tool calls made by an AI agent and provides human oversight\n * capabilities before execution. It enables selective approval workflows where certain tools\n * require human intervention while others can execute automatically.\n *\n * A invocation result that has been interrupted by the middleware will have a `__interrupt__`\n * property that contains the interrupt request. You can loop over the request to determine\n * which tools were interrupted, and how to handle them separately.\n *\n * ```ts\n * import { type ToolApprovalRequest, type HumanInTheLoopMiddlewareHumanResponse } from \"langchain\";\n * import { type Interrupt } from \"langchain\";\n *\n * const result = await agent.invoke(request);\n * const interruptRequest = initialResult.__interrupt__?.[0] as Interrupt<\n * ToolApprovalRequest[]\n * >;\n * const resume: HumanInTheLoopMiddlewareHumanResponse[] =\n * interruptRequest.value.map((request) => {\n * if (request.action === \"calculator\") {\n * return { id: request.toolCallId, type: \"accept\" };\n * } else if (request.action === \"write_file\") {\n * return {\n * id: request.toolCallId,\n * type: \"edit\",\n * args: { filename: \"safe.txt\", content: \"Safe content\" },\n * };\n * }\n *\n * throw new Error(`Unknown action: ${request.action}`);\n * });\n *\n * // Resume with approval\n * await agent.invoke(new Command({ resume }), config);\n * ```\n *\n * ## Features\n *\n * - **Selective Tool Approval**: Configure which tools require human approval\n * - **Multiple Response Types**: Accept, edit, ignore, or manually respond to tool calls\n * - **Asynchronous Workflow**: Uses LangGraph's interrupt mechanism for non-blocking approval\n * - **Custom Approval Messages**: Provide context-specific descriptions for approval requests\n *\n * ## Response Types\n *\n * When a tool requires approval, the human operator can respond with:\n * - `accept`: Execute the tool with original arguments\n * - `edit`: Modify the tool arguments before execution\n * - `ignore`: Skip the tool and terminate the agent\n * - `response`: Provide a manual response instead of executing the tool\n *\n * @param options - Configuration options for the middleware\n * @param options.interruptOn - Per-tool configuration mapping tool names to their settings\n * @param options.interruptOn[toolName].allowAccept - Whether the human can approve the current action without changes\n * @param options.interruptOn[toolName].allowEdit - Whether the human can reject the current action with feedback\n * @param options.interruptOn[toolName].allowRespond - Whether the human can approve the current action with edited content\n * @param options.interruptOn[toolName].description - Custom approval message for the tool. Can be either a static string or a callable that dynamically generates the description based on agent state, runtime, and tool call information\n * @param options.messagePrefix - Default prefix for approval messages (default: \"Tool execution requires approval\"). Only used for tools that do not define a custom `description` in their ToolConfig.\n *\n * @returns A middleware instance that can be passed to `createAgent`\n *\n * @example\n * Basic usage with selective tool approval\n * ```typescript\n * import { humanInTheLoopMiddleware } from \"langchain\";\n * import { createAgent } from \"langchain\";\n *\n * const hitlMiddleware = humanInTheLoopMiddleware({\n * interruptOn: {\n * // Interrupt write_file tool and allow edits or accepts\n * \"write_file\": {\n * allowEdit: true,\n * allowAccept: true,\n * description: \"⚠️ File write operation requires approval\"\n * },\n * // Auto-approve read_file tool\n * \"read_file\": false\n * }\n * });\n *\n * const agent = createAgent({\n * model: \"openai:gpt-4\",\n * tools: [writeFileTool, readFileTool],\n * middleware: [hitlMiddleware]\n * });\n * ```\n *\n * @example\n * Handling approval requests\n * ```typescript\n * import { type HumanInTheLoopRequest, type Interrupt } from \"langchain\";\n * import { Command } from \"@langchain/langgraph\";\n *\n * // Initial agent invocation\n * const result = await agent.invoke({\n * messages: [new HumanMessage(\"Write 'Hello' to output.txt\")]\n * }, config);\n *\n * // Check if agent is paused for approval\n * if (result.__interrupt__) {\n * const interruptRequest = initialResult.__interrupt__?.[0] as Interrupt<\n * HumanInTheLoopRequest[]\n * >;\n *\n * // Show tool call details to user\n * console.log(\"Tool:\", interruptRequest.value[0].actionRequest);\n * console.log(\"Allowed actions:\", interruptRequest.value[0].config);\n *\n * // Resume with approval\n * await agent.invoke(\n * new Command({ resume: [{ type: \"accept\" }] }),\n * config\n * );\n * }\n * ```\n *\n * @example\n * Different response types\n * ```typescript\n * // Accept the tool call as-is\n * new Command({ resume: [{ type: \"accept\" }] })\n *\n * // Edit the tool arguments\n * new Command({\n * resume: [{\n * type: \"edit\",\n * args: { action: \"write_file\", args: { filename: \"safe.txt\", content: \"Modified\" } }\n * }]\n * })\n *\n * // Skip tool and terminate agent\n * new Command({ resume: [{ type: \"response\" }] })\n *\n * // Provide manual response\n * new Command({\n * resume: [{\n * type: \"response\",\n * // this must be a string\n * args: \"File operation not allowed in demo mode\"\n * }]\n * })\n * ```\n *\n * @example\n * Production use case with database operations\n * ```typescript\n * const hitlMiddleware = humanInTheLoopMiddleware({\n * interruptOn: {\n * \"execute_sql\": {\n * allowAccept: true,\n * allowEdit: true,\n * allowRespond: true,\n * description: \"🚨 SQL query requires DBA approval\\nPlease review for safety and performance\"\n * },\n * \"read_schema\": false // Reading metadata is safe\n * \"delete_records\": {\n * allowAccept: true,\n * description: \"⛔ DESTRUCTIVE OPERATION - Requires manager approval\"\n * }\n * },\n * messagePrefix: \"Database operation pending approval\"\n * });\n * ```\n *\n * @example\n * Using dynamic callable descriptions\n * ```typescript\n * import { type DescriptionFactory } from \"langchain\";\n *\n * // Define a dynamic description factory\n * const formatToolDescription: DescriptionFactory = (toolCall, state, runtime) => {\n * return `Tool: ${toolCall.name}\\nArguments:\\n${JSON.stringify(toolCall.args, null, 2)}`;\n * };\n *\n * const hitlMiddleware = humanInTheLoopMiddleware({\n * interruptOn: {\n * \"write_file\": {\n * allowAccept: true,\n * allowEdit: true,\n * // Use dynamic description that can access tool call, state, and runtime\n * description: formatToolDescription\n * },\n * // Or use an inline function\n * \"send_email\": {\n * allowAccept: true,\n * description: (toolCall, state, runtime) => {\n * const { to, subject } = toolCall.args;\n * return `Email to ${to}\\nSubject: ${subject}\\n\\nRequires approval before sending`;\n * }\n * }\n * }\n * });\n * ```\n *\n * @remarks\n * - Tool calls are processed in the order they appear in the AI message\n * - Auto-approved tools execute immediately without interruption\n * - Multiple tools requiring approval are bundled into a single interrupt\n * - The middleware operates in the `afterModel` phase, intercepting before tool execution\n * - Requires a checkpointer to maintain state across interruptions\n *\n * @see {@link createAgent} for agent creation\n * @see {@link Command} for resuming interrupted execution\n * @public\n */\nexport function humanInTheLoopMiddleware(\n options: NonNullable<HumanInTheLoopMiddlewareConfig>\n) {\n return createMiddleware({\n name: \"HumanInTheLoopMiddleware\",\n contextSchema,\n afterModelJumpTo: [\"model\"],\n afterModel: async (state, runtime) => {\n const config = interopParse(contextSchema, {\n ...options,\n ...(runtime.context || {}),\n });\n if (!config) {\n return;\n }\n\n const { messages } = state;\n if (!messages.length) {\n return;\n }\n\n /**\n * Don't do anything if the last message isn't an AI message with tool calls.\n */\n const lastMessage = [...messages]\n .reverse()\n .find((msg) => AIMessage.isInstance(msg)) as AIMessage;\n if (!lastMessage || !lastMessage.tool_calls?.length) {\n return;\n }\n\n /**\n * If the user omits the interruptOn config, we don't do anything.\n */\n if (!config.interruptOn) {\n return;\n }\n\n // Resolve per-tool configs (boolean true -> all actions allowed; false -> auto-approve)\n const resolvedToolConfigs: Record<string, ToolConfig> = {};\n for (const [toolName, toolConfig] of Object.entries(config.interruptOn)) {\n if (typeof toolConfig === \"boolean\") {\n if (toolConfig === true) {\n resolvedToolConfigs[toolName] = {\n allowAccept: true,\n allowEdit: true,\n allowRespond: true,\n };\n }\n } else {\n resolvedToolConfigs[toolName] = toolConfig as ToolConfig;\n }\n }\n\n const interruptToolCalls: ToolCall[] = [];\n const autoApprovedToolCalls: ToolCall[] = [];\n\n for (const toolCall of lastMessage.tool_calls) {\n if (toolCall.name in resolvedToolConfigs) {\n interruptToolCalls.push(toolCall);\n } else {\n autoApprovedToolCalls.push(toolCall);\n }\n }\n\n /**\n * No interrupt tool calls, so we can just return.\n */\n if (!interruptToolCalls.length) {\n return;\n }\n\n const hitlRequests: HumanInTheLoopRequest[] = await Promise.all(\n interruptToolCalls.map(async (toolCall) => {\n const toolConfig = resolvedToolConfigs[toolCall.name]!;\n const description = toolConfig.description\n ? typeof toolConfig.description === \"function\"\n ? /**\n * If description is a function, call it with the required parameters\n */\n await toolConfig.description(toolCall, state, runtime)\n : /**\n * Otherwise, use the static string\n */\n toolConfig.description\n : /**\n * Fall back to the default description\n */\n `${config.descriptionPrefix}\\n\\nTool: ${\n toolCall.name\n }\\nArgs: ${JSON.stringify(toolCall.args, null, 2)}`;\n\n return {\n actionRequest: { action: toolCall.name, args: toolCall.args },\n config: toolConfig,\n description,\n };\n })\n );\n\n const responses = (await interrupt(\n hitlRequests\n )) as HumanInTheLoopMiddlewareHumanResponse[];\n\n if (responses.length !== interruptToolCalls.length) {\n throw new Error(\n `Number of human responses (${responses.length}) does not match number of hanging tool calls (${interruptToolCalls.length}).`\n );\n }\n\n const approvedToolCalls: ToolCall[] = [...autoApprovedToolCalls];\n const artificialToolMessages: ToolMessage[] = [];\n\n for (const [i, response] of responses.entries()) {\n const toolCall = interruptToolCalls[i]!;\n const toolConfig = resolvedToolConfigs[toolCall.name]!;\n\n if (response.type === \"accept\" && toolConfig?.allowAccept) {\n approvedToolCalls.push(toolCall);\n continue;\n }\n\n if (response.type === \"edit\" && toolConfig?.allowEdit) {\n const edited = response.args;\n approvedToolCalls.push({\n id: toolCall.id,\n name: edited.action,\n args: edited.args,\n });\n continue;\n }\n\n if (response.type === \"response\" && toolConfig?.allowRespond) {\n const content =\n response.args ??\n `User rejected the tool call for \\`${toolCall.name}\\` with id ${toolCall.id}`;\n\n /**\n * Providing a meaningful error message for this case that should never happen.\n */\n if (!toolCall.id) {\n throw new Error(\n `Can't provide custom tool response for tool call without an ID: ${toolCall.name}!\\n` +\n \"This use case is not expected to happen, please report this as a bug.\"\n );\n }\n\n /**\n * ToolMessage expects a string, so we need to throw an error if it's not a string\n * as we currently have no way to proper type responses from users through the\n * Command object.\n */\n if (typeof content !== \"string\") {\n throw new Error(\n `Tool call response for \"${\n toolCall.name\n }\" must be a string, got ${typeof content}`\n );\n }\n\n artificialToolMessages.push(\n new ToolMessage({\n content,\n name: toolCall.name,\n tool_call_id: toolCall.id,\n status: \"error\",\n })\n );\n continue;\n }\n\n const allowedActions = [\n toolConfig?.allowAccept && \"accept\",\n toolConfig?.allowEdit && \"edit\",\n toolConfig?.allowRespond && \"response\",\n ]\n .filter(Boolean)\n .join('\", \"');\n throw new Error(\n `Unexpected human response: ${JSON.stringify(\n response\n )}. Response action '${response.type}' is not allowed for tool '${\n toolCall.name\n }'. Expected one of: \"${allowedActions}\", based on the tool's configuration.`\n );\n }\n\n /**\n * Replace the tool calls with the approved tool calls\n */\n if (AIMessage.isInstance(lastMessage)) {\n lastMessage.tool_calls = lastMessage.tool_calls?.map((tc) => {\n const approvedToolCall = approvedToolCalls.find(\n (atc) => atc.id === tc.id\n );\n return approvedToolCall ?? tc;\n });\n }\n\n if (approvedToolCalls.length > 0) {\n return { messages: [...state.messages, ...artificialToolMessages] };\n }\n\n return {\n jumpTo: \"model\",\n messages: [...state.messages, ...artificialToolMessages],\n };\n },\n });\n}\n"],"mappings":";;;;;;;AAYA,MAAM,mBAAmB,EAAE,OAAO;CAIhC,aAAa,EAAE,SAAS,CAAC,UAAU;CAInC,WAAW,EAAE,SAAS,CAAC,UAAU;CAIjC,cAAc,EAAE,SAAS,CAAC,UAAU;CA8BpC,aAAa,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,UAAU,AAAC,EAAC,CAAC,UAAU;AAC5D,EAAC;AAgHF,MAAM,gBAAgB,EAAE,OAAO;CAS7B,aAAa,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,gBAAiB,EAAC,CAAC,CAAC,UAAU;CAS1E,mBAAmB,EAAE,QAAQ,CAAC,QAAQ,mCAAmC;AAC1E,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoNF,SAAgB,yBACdA,SACA;AACA,QAAO,iBAAiB;EACtB,MAAM;EACN;EACA,kBAAkB,CAAC,OAAQ;EAC3B,YAAY,OAAO,OAAO,YAAY;GACpC,MAAM,SAAS,aAAa,eAAe;IACzC,GAAG;IACH,GAAI,QAAQ,WAAW,CAAE;GAC1B,EAAC;AACF,OAAI,CAAC,OACH;GAGF,MAAM,EAAE,UAAU,GAAG;AACrB,OAAI,CAAC,SAAS,OACZ;;;;GAMF,MAAM,cAAc,CAAC,GAAG,QAAS,EAC9B,SAAS,CACT,KAAK,CAAC,QAAQ,UAAU,WAAW,IAAI,CAAC;AAC3C,OAAI,CAAC,eAAe,CAAC,YAAY,YAAY,OAC3C;;;;AAMF,OAAI,CAAC,OAAO,YACV;GAIF,MAAMC,sBAAkD,CAAE;AAC1D,QAAK,MAAM,CAAC,UAAU,WAAW,IAAI,OAAO,QAAQ,OAAO,YAAY,CACrE,KAAI,OAAO,eAAe,WACxB;QAAI,eAAe,MACjB,oBAAoB,YAAY;KAC9B,aAAa;KACb,WAAW;KACX,cAAc;IACf;GACF,OAED,oBAAoB,YAAY;GAIpC,MAAMC,qBAAiC,CAAE;GACzC,MAAMC,wBAAoC,CAAE;AAE5C,QAAK,MAAM,YAAY,YAAY,WACjC,KAAI,SAAS,QAAQ,qBACnB,mBAAmB,KAAK,SAAS;QAEjC,sBAAsB,KAAK,SAAS;;;;AAOxC,OAAI,CAAC,mBAAmB,OACtB;GAGF,MAAMC,eAAwC,MAAM,QAAQ,IAC1D,mBAAmB,IAAI,OAAO,aAAa;IACzC,MAAM,aAAa,oBAAoB,SAAS;IAChD,MAAM,cAAc,WAAW,cAC3B,OAAO,WAAW,gBAAgB,aAIhC,MAAM,WAAW,YAAY,UAAU,OAAO,QAAQ,GAItD,WAAW,cAIb,GAAG,OAAO,kBAAkB,UAAU,EACpC,SAAS,KACV,QAAQ,EAAE,KAAK,UAAU,SAAS,MAAM,MAAM,EAAE,EAAE;AAEvD,WAAO;KACL,eAAe;MAAE,QAAQ,SAAS;MAAM,MAAM,SAAS;KAAM;KAC7D,QAAQ;KACR;IACD;GACF,EAAC,CACH;GAED,MAAM,YAAa,MAAM,UACvB,aACD;AAED,OAAI,UAAU,WAAW,mBAAmB,OAC1C,OAAM,IAAI,MACR,CAAC,2BAA2B,EAAE,UAAU,OAAO,+CAA+C,EAAE,mBAAmB,OAAO,EAAE,CAAC;GAIjI,MAAMC,oBAAgC,CAAC,GAAG,qBAAsB;GAChE,MAAMC,yBAAwC,CAAE;AAEhD,QAAK,MAAM,CAAC,GAAG,SAAS,IAAI,UAAU,SAAS,EAAE;IAC/C,MAAM,WAAW,mBAAmB;IACpC,MAAM,aAAa,oBAAoB,SAAS;AAEhD,QAAI,SAAS,SAAS,YAAY,YAAY,aAAa;KACzD,kBAAkB,KAAK,SAAS;AAChC;IACD;AAED,QAAI,SAAS,SAAS,UAAU,YAAY,WAAW;KACrD,MAAM,SAAS,SAAS;KACxB,kBAAkB,KAAK;MACrB,IAAI,SAAS;MACb,MAAM,OAAO;MACb,MAAM,OAAO;KACd,EAAC;AACF;IACD;AAED,QAAI,SAAS,SAAS,cAAc,YAAY,cAAc;KAC5D,MAAM,UACJ,SAAS,QACT,CAAC,kCAAkC,EAAE,SAAS,KAAK,WAAW,EAAE,SAAS,IAAI;;;;AAK/E,SAAI,CAAC,SAAS,GACZ,OAAM,IAAI,MACR,CAAC,gEAAgE,EAAE,SAAS,KAAK,wEAAG,CACX;;;;;;AAS7E,SAAI,OAAO,YAAY,SACrB,OAAM,IAAI,MACR,CAAC,wBAAwB,EACvB,SAAS,KACV,wBAAwB,EAAE,OAAO,SAAS;KAI/C,uBAAuB,KACrB,IAAI,YAAY;MACd;MACA,MAAM,SAAS;MACf,cAAc,SAAS;MACvB,QAAQ;KACT,GACF;AACD;IACD;IAED,MAAM,iBAAiB;KACrB,YAAY,eAAe;KAC3B,YAAY,aAAa;KACzB,YAAY,gBAAgB;IAC7B,EACE,OAAO,QAAQ,CACf,KAAK,SAAO;AACf,UAAM,IAAI,MACR,CAAC,2BAA2B,EAAE,KAAK,UACjC,SACD,CAAC,mBAAmB,EAAE,SAAS,KAAK,2BAA2B,EAC9D,SAAS,KACV,qBAAqB,EAAE,eAAe,qCAAqC,CAAC;GAEhF;;;;AAKD,OAAI,UAAU,WAAW,YAAY,EACnC,YAAY,aAAa,YAAY,YAAY,IAAI,CAAC,OAAO;IAC3D,MAAM,mBAAmB,kBAAkB,KACzC,CAAC,QAAQ,IAAI,OAAO,GAAG,GACxB;AACD,WAAO,oBAAoB;GAC5B,EAAC;AAGJ,OAAI,kBAAkB,SAAS,EAC7B,QAAO,EAAE,UAAU,CAAC,GAAG,MAAM,UAAU,GAAG,sBAAuB,EAAE;AAGrE,UAAO;IACL,QAAQ;IACR,UAAU,CAAC,GAAG,MAAM,UAAU,GAAG,sBAAuB;GACzD;EACF;CACF,EAAC;AACH"}
@@ -1,26 +1,52 @@
1
1
  const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
+ const require_utils = require('./utils.cjs');
2
3
  const require_summarization = require('./summarization.cjs');
3
4
  const require_hitl = require('./hitl.cjs');
4
5
  const require_promptCaching = require('./promptCaching.cjs');
6
+ const require_dynamicSystemPrompt = require('./dynamicSystemPrompt.cjs');
7
+ const require_llmToolSelector = require('./llmToolSelector.cjs');
8
+ const require_piiRedaction = require('./piiRedaction.cjs');
9
+ const require_contextEditing = require('./contextEditing.cjs');
10
+ const require_toolCallLimit = require('./toolCallLimit.cjs');
11
+ const require_callLimit = require('./callLimit.cjs');
12
+ const require_modelFallback = require('./modelFallback.cjs');
5
13
 
6
14
  //#region src/agents/middlewareAgent/middleware/index.ts
7
15
  var middleware_exports = {};
8
16
  require_rolldown_runtime.__export(middleware_exports, {
17
+ ClearToolUsesEdit: () => require_contextEditing.ClearToolUsesEdit,
18
+ ToolCallLimitExceededError: () => require_toolCallLimit.ToolCallLimitExceededError,
9
19
  anthropicPromptCachingMiddleware: () => require_promptCaching.anthropicPromptCachingMiddleware,
10
- countTokensApproximately: () => require_summarization.countTokensApproximately,
20
+ contextEditingMiddleware: () => require_contextEditing.contextEditingMiddleware,
21
+ countTokensApproximately: () => require_utils.countTokensApproximately,
22
+ dynamicSystemPromptMiddleware: () => require_dynamicSystemPrompt.dynamicSystemPromptMiddleware,
11
23
  humanInTheLoopMiddleware: () => require_hitl.humanInTheLoopMiddleware,
12
- summarizationMiddleware: () => require_summarization.summarizationMiddleware
24
+ llmToolSelectorMiddleware: () => require_llmToolSelector.llmToolSelectorMiddleware,
25
+ modelCallLimitMiddleware: () => require_callLimit.modelCallLimitMiddleware,
26
+ modelFallbackMiddleware: () => require_modelFallback.modelFallbackMiddleware,
27
+ piiRedactionMiddleware: () => require_piiRedaction.piiRedactionMiddleware,
28
+ summarizationMiddleware: () => require_summarization.summarizationMiddleware,
29
+ toolCallLimitMiddleware: () => require_toolCallLimit.toolCallLimitMiddleware
13
30
  });
14
31
 
15
32
  //#endregion
33
+ exports.ClearToolUsesEdit = require_contextEditing.ClearToolUsesEdit;
34
+ exports.ToolCallLimitExceededError = require_toolCallLimit.ToolCallLimitExceededError;
16
35
  exports.anthropicPromptCachingMiddleware = require_promptCaching.anthropicPromptCachingMiddleware;
17
- exports.countTokensApproximately = require_summarization.countTokensApproximately;
36
+ exports.contextEditingMiddleware = require_contextEditing.contextEditingMiddleware;
37
+ exports.countTokensApproximately = require_utils.countTokensApproximately;
38
+ exports.dynamicSystemPromptMiddleware = require_dynamicSystemPrompt.dynamicSystemPromptMiddleware;
18
39
  exports.humanInTheLoopMiddleware = require_hitl.humanInTheLoopMiddleware;
40
+ exports.llmToolSelectorMiddleware = require_llmToolSelector.llmToolSelectorMiddleware;
19
41
  Object.defineProperty(exports, 'middleware_exports', {
20
42
  enumerable: true,
21
43
  get: function () {
22
44
  return middleware_exports;
23
45
  }
24
46
  });
47
+ exports.modelCallLimitMiddleware = require_callLimit.modelCallLimitMiddleware;
48
+ exports.modelFallbackMiddleware = require_modelFallback.modelFallbackMiddleware;
49
+ exports.piiRedactionMiddleware = require_piiRedaction.piiRedactionMiddleware;
25
50
  exports.summarizationMiddleware = require_summarization.summarizationMiddleware;
51
+ exports.toolCallLimitMiddleware = require_toolCallLimit.toolCallLimitMiddleware;
26
52
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/agents/middlewareAgent/middleware/index.ts"],"sourcesContent":["export {\n summarizationMiddleware,\n countTokensApproximately,\n} from \"./summarization.js\";\nexport { humanInTheLoopMiddleware } from \"./hitl.js\";\nexport { anthropicPromptCachingMiddleware } from \"./promptCaching.js\";\n"],"mappings":""}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../../../src/agents/middlewareAgent/middleware/index.ts"],"sourcesContent":["export {\n summarizationMiddleware,\n type SummarizationMiddlewareConfig,\n} from \"./summarization.js\";\nexport {\n humanInTheLoopMiddleware,\n type HumanInTheLoopRequest,\n type HumanInTheLoopMiddlewareHumanResponse,\n type HumanInTheLoopMiddlewareConfig,\n type ActionRequest,\n} from \"./hitl.js\";\nexport {\n anthropicPromptCachingMiddleware,\n type PromptCachingMiddlewareConfig,\n} from \"./promptCaching.js\";\nexport {\n dynamicSystemPromptMiddleware,\n type DynamicSystemPromptMiddlewareConfig,\n} from \"./dynamicSystemPrompt.js\";\nexport {\n llmToolSelectorMiddleware,\n type LLMToolSelectorConfig,\n} from \"./llmToolSelector.js\";\nexport {\n piiRedactionMiddleware,\n type PIIRedactionMiddlewareConfig,\n} from \"./piiRedaction.js\";\nexport {\n contextEditingMiddleware,\n ClearToolUsesEdit,\n type ContextEditingMiddlewareConfig,\n type ContextEdit,\n type ClearToolUsesEditConfig,\n type TokenCounter,\n} from \"./contextEditing.js\";\nexport {\n toolCallLimitMiddleware,\n ToolCallLimitExceededError,\n type ToolCallLimitConfig,\n} from \"./toolCallLimit.js\";\nexport {\n modelCallLimitMiddleware,\n type ModelCallLimitMiddlewareConfig,\n} from \"./callLimit.js\";\nexport { modelFallbackMiddleware } from \"./modelFallback.js\";\nexport { type AgentMiddleware } from \"../types.js\";\nexport { countTokensApproximately } from \"./utils.js\";\n"],"mappings":""}