@langchain/core 1.2.0-dev-1765937705265 → 1.2.0-dev-1775763803878

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 (1447) hide show
  1. package/CHANGELOG.md +309 -0
  2. package/README.md +1 -1
  3. package/dist/_virtual/{rolldown_runtime.cjs → _rolldown/runtime.cjs} +7 -6
  4. package/dist/_virtual/_rolldown/runtime.js +13 -0
  5. package/dist/agents.cjs +8 -8
  6. package/dist/agents.cjs.map +1 -1
  7. package/dist/agents.d.cts.map +1 -1
  8. package/dist/agents.d.ts.map +1 -1
  9. package/dist/agents.js +3 -2
  10. package/dist/agents.js.map +1 -1
  11. package/dist/caches/index.cjs +12 -13
  12. package/dist/caches/index.cjs.map +1 -1
  13. package/dist/caches/index.d.cts.map +1 -1
  14. package/dist/caches/index.d.ts.map +1 -1
  15. package/dist/caches/index.js +4 -6
  16. package/dist/caches/index.js.map +1 -1
  17. package/dist/callbacks/base.cjs +17 -25
  18. package/dist/callbacks/base.cjs.map +1 -1
  19. package/dist/callbacks/base.d.cts +80 -38
  20. package/dist/callbacks/base.d.cts.map +1 -1
  21. package/dist/callbacks/base.d.ts +80 -38
  22. package/dist/callbacks/base.d.ts.map +1 -1
  23. package/dist/callbacks/base.js +7 -17
  24. package/dist/callbacks/base.js.map +1 -1
  25. package/dist/callbacks/dispatch/index.cjs +11 -12
  26. package/dist/callbacks/dispatch/index.cjs.map +1 -1
  27. package/dist/callbacks/dispatch/index.d.cts +0 -2
  28. package/dist/callbacks/dispatch/index.d.cts.map +1 -1
  29. package/dist/callbacks/dispatch/index.d.ts +0 -3
  30. package/dist/callbacks/dispatch/index.d.ts.map +1 -1
  31. package/dist/callbacks/dispatch/index.js +5 -7
  32. package/dist/callbacks/dispatch/index.js.map +1 -1
  33. package/dist/callbacks/dispatch/web.cjs +3 -3
  34. package/dist/callbacks/dispatch/web.cjs.map +1 -1
  35. package/dist/callbacks/dispatch/web.d.cts +0 -2
  36. package/dist/callbacks/dispatch/web.d.cts.map +1 -1
  37. package/dist/callbacks/dispatch/web.d.ts +0 -3
  38. package/dist/callbacks/dispatch/web.d.ts.map +1 -1
  39. package/dist/callbacks/dispatch/web.js +1 -2
  40. package/dist/callbacks/dispatch/web.js.map +1 -1
  41. package/dist/callbacks/manager.cjs +68 -76
  42. package/dist/callbacks/manager.cjs.map +1 -1
  43. package/dist/callbacks/manager.d.cts +3 -2
  44. package/dist/callbacks/manager.d.cts.map +1 -1
  45. package/dist/callbacks/manager.d.ts +3 -2
  46. package/dist/callbacks/manager.d.ts.map +1 -1
  47. package/dist/callbacks/manager.js +51 -60
  48. package/dist/callbacks/manager.js.map +1 -1
  49. package/dist/callbacks/promises.cjs +10 -11
  50. package/dist/callbacks/promises.js +3 -5
  51. package/dist/chat_history.cjs +13 -14
  52. package/dist/chat_history.cjs.map +1 -1
  53. package/dist/chat_history.d.cts +0 -2
  54. package/dist/chat_history.d.cts.map +1 -1
  55. package/dist/chat_history.d.ts +0 -3
  56. package/dist/chat_history.d.ts.map +1 -1
  57. package/dist/chat_history.js +4 -6
  58. package/dist/chat_history.js.map +1 -1
  59. package/dist/context.cjs +14 -7
  60. package/dist/context.cjs.map +1 -1
  61. package/dist/context.d.cts.map +1 -1
  62. package/dist/context.d.ts.map +1 -1
  63. package/dist/context.js +8 -2
  64. package/dist/context.js.map +1 -1
  65. package/dist/document_loaders/base.cjs +8 -10
  66. package/dist/document_loaders/base.cjs.map +1 -1
  67. package/dist/document_loaders/base.d.cts +0 -1
  68. package/dist/document_loaders/base.d.cts.map +1 -1
  69. package/dist/document_loaders/base.d.ts +0 -1
  70. package/dist/document_loaders/base.d.ts.map +1 -1
  71. package/dist/document_loaders/base.js +3 -5
  72. package/dist/document_loaders/base.js.map +1 -1
  73. package/dist/document_loaders/langsmith.cjs +11 -12
  74. package/dist/document_loaders/langsmith.cjs.map +1 -1
  75. package/dist/document_loaders/langsmith.d.cts.map +1 -1
  76. package/dist/document_loaders/langsmith.d.ts.map +1 -1
  77. package/dist/document_loaders/langsmith.js +3 -5
  78. package/dist/document_loaders/langsmith.js.map +1 -1
  79. package/dist/documents/document.cjs +1 -2
  80. package/dist/documents/document.cjs.map +1 -1
  81. package/dist/documents/document.d.cts.map +1 -1
  82. package/dist/documents/document.d.ts.map +1 -1
  83. package/dist/documents/document.js +1 -1
  84. package/dist/documents/document.js.map +1 -1
  85. package/dist/documents/index.cjs +11 -12
  86. package/dist/documents/index.js +3 -5
  87. package/dist/documents/transformers.cjs +2 -3
  88. package/dist/documents/transformers.cjs.map +1 -1
  89. package/dist/documents/transformers.d.cts +0 -1
  90. package/dist/documents/transformers.d.cts.map +1 -1
  91. package/dist/documents/transformers.d.ts +0 -1
  92. package/dist/documents/transformers.d.ts.map +1 -1
  93. package/dist/documents/transformers.js +1 -2
  94. package/dist/documents/transformers.js.map +1 -1
  95. package/dist/embeddings.cjs +10 -11
  96. package/dist/embeddings.cjs.map +1 -1
  97. package/dist/embeddings.d.cts +0 -1
  98. package/dist/embeddings.d.cts.map +1 -1
  99. package/dist/embeddings.d.ts +0 -1
  100. package/dist/embeddings.d.ts.map +1 -1
  101. package/dist/embeddings.js +3 -5
  102. package/dist/embeddings.js.map +1 -1
  103. package/dist/errors/index.cjs +165 -2
  104. package/dist/errors/index.cjs.map +1 -1
  105. package/dist/errors/index.d.cts +150 -0
  106. package/dist/errors/index.d.cts.map +1 -0
  107. package/dist/errors/index.d.ts +150 -0
  108. package/dist/errors/index.d.ts.map +1 -0
  109. package/dist/errors/index.js +155 -2
  110. package/dist/errors/index.js.map +1 -1
  111. package/dist/example_selectors/base.cjs +2 -3
  112. package/dist/example_selectors/base.cjs.map +1 -1
  113. package/dist/example_selectors/base.d.cts +0 -1
  114. package/dist/example_selectors/base.d.cts.map +1 -1
  115. package/dist/example_selectors/base.d.ts +0 -1
  116. package/dist/example_selectors/base.d.ts.map +1 -1
  117. package/dist/example_selectors/base.js +1 -2
  118. package/dist/example_selectors/base.js.map +1 -1
  119. package/dist/example_selectors/conditional.cjs +2 -4
  120. package/dist/example_selectors/conditional.cjs.map +1 -1
  121. package/dist/example_selectors/conditional.d.cts.map +1 -1
  122. package/dist/example_selectors/conditional.d.ts.map +1 -1
  123. package/dist/example_selectors/conditional.js +2 -3
  124. package/dist/example_selectors/conditional.js.map +1 -1
  125. package/dist/example_selectors/index.cjs +13 -14
  126. package/dist/example_selectors/index.js +3 -5
  127. package/dist/example_selectors/length_based.cjs +3 -5
  128. package/dist/example_selectors/length_based.cjs.map +1 -1
  129. package/dist/example_selectors/length_based.d.cts +0 -1
  130. package/dist/example_selectors/length_based.d.cts.map +1 -1
  131. package/dist/example_selectors/length_based.d.ts +0 -1
  132. package/dist/example_selectors/length_based.d.ts.map +1 -1
  133. package/dist/example_selectors/length_based.js +2 -4
  134. package/dist/example_selectors/length_based.js.map +1 -1
  135. package/dist/example_selectors/semantic_similarity.cjs +7 -12
  136. package/dist/example_selectors/semantic_similarity.cjs.map +1 -1
  137. package/dist/example_selectors/semantic_similarity.d.cts +0 -1
  138. package/dist/example_selectors/semantic_similarity.d.cts.map +1 -1
  139. package/dist/example_selectors/semantic_similarity.d.ts +0 -1
  140. package/dist/example_selectors/semantic_similarity.d.ts.map +1 -1
  141. package/dist/example_selectors/semantic_similarity.js +5 -10
  142. package/dist/example_selectors/semantic_similarity.js.map +1 -1
  143. package/dist/index.cjs +8 -8
  144. package/dist/index.js +3 -2
  145. package/dist/indexing/base.cjs +12 -17
  146. package/dist/indexing/base.cjs.map +1 -1
  147. package/dist/indexing/base.d.cts.map +1 -1
  148. package/dist/indexing/base.d.ts.map +1 -1
  149. package/dist/indexing/base.js +6 -11
  150. package/dist/indexing/base.js.map +1 -1
  151. package/dist/indexing/index.cjs +11 -12
  152. package/dist/indexing/index.js +3 -5
  153. package/dist/indexing/record_manager.cjs +2 -3
  154. package/dist/indexing/record_manager.cjs.map +1 -1
  155. package/dist/indexing/record_manager.d.cts.map +1 -1
  156. package/dist/indexing/record_manager.d.ts.map +1 -1
  157. package/dist/indexing/record_manager.js +1 -2
  158. package/dist/indexing/record_manager.js.map +1 -1
  159. package/dist/language_models/base.cjs +32 -26
  160. package/dist/language_models/base.cjs.map +1 -1
  161. package/dist/language_models/base.d.cts +17 -14
  162. package/dist/language_models/base.d.cts.map +1 -1
  163. package/dist/language_models/base.d.ts +17 -16
  164. package/dist/language_models/base.d.ts.map +1 -1
  165. package/dist/language_models/base.js +21 -16
  166. package/dist/language_models/base.js.map +1 -1
  167. package/dist/language_models/chat_models.cjs +130 -70
  168. package/dist/language_models/chat_models.cjs.map +1 -1
  169. package/dist/language_models/chat_models.d.cts +76 -10
  170. package/dist/language_models/chat_models.d.cts.map +1 -1
  171. package/dist/language_models/chat_models.d.ts +76 -13
  172. package/dist/language_models/chat_models.d.ts.map +1 -1
  173. package/dist/language_models/chat_models.js +111 -52
  174. package/dist/language_models/chat_models.js.map +1 -1
  175. package/dist/language_models/compat.cjs +235 -0
  176. package/dist/language_models/compat.cjs.map +1 -0
  177. package/dist/language_models/compat.d.cts +34 -0
  178. package/dist/language_models/compat.d.cts.map +1 -0
  179. package/dist/language_models/compat.d.ts +34 -0
  180. package/dist/language_models/compat.d.ts.map +1 -0
  181. package/dist/language_models/compat.js +226 -0
  182. package/dist/language_models/compat.js.map +1 -0
  183. package/dist/language_models/event.cjs +12 -0
  184. package/dist/language_models/event.cjs.map +1 -0
  185. package/dist/language_models/event.d.cts +193 -0
  186. package/dist/language_models/event.d.cts.map +1 -0
  187. package/dist/language_models/event.d.ts +193 -0
  188. package/dist/language_models/event.d.ts.map +1 -0
  189. package/dist/language_models/event.js +7 -0
  190. package/dist/language_models/event.js.map +1 -0
  191. package/dist/language_models/llms.cjs +23 -27
  192. package/dist/language_models/llms.cjs.map +1 -1
  193. package/dist/language_models/llms.d.cts +4 -4
  194. package/dist/language_models/llms.d.cts.map +1 -1
  195. package/dist/language_models/llms.d.ts +4 -5
  196. package/dist/language_models/llms.d.ts.map +1 -1
  197. package/dist/language_models/llms.js +12 -17
  198. package/dist/language_models/llms.js.map +1 -1
  199. package/dist/language_models/profile.cjs +8 -8
  200. package/dist/language_models/profile.d.cts.map +1 -1
  201. package/dist/language_models/profile.d.ts.map +1 -1
  202. package/dist/language_models/profile.js +3 -2
  203. package/dist/language_models/stream.cjs +376 -0
  204. package/dist/language_models/stream.cjs.map +1 -0
  205. package/dist/language_models/stream.d.cts +129 -0
  206. package/dist/language_models/stream.d.cts.map +1 -0
  207. package/dist/language_models/stream.d.ts +129 -0
  208. package/dist/language_models/stream.d.ts.map +1 -0
  209. package/dist/language_models/stream.js +365 -0
  210. package/dist/language_models/stream.js.map +1 -0
  211. package/dist/language_models/structured_output.cjs +87 -0
  212. package/dist/language_models/structured_output.cjs.map +1 -0
  213. package/dist/language_models/structured_output.d.cts +45 -0
  214. package/dist/language_models/structured_output.d.cts.map +1 -0
  215. package/dist/language_models/structured_output.d.ts +45 -0
  216. package/dist/language_models/structured_output.d.ts.map +1 -0
  217. package/dist/language_models/structured_output.js +78 -0
  218. package/dist/language_models/structured_output.js.map +1 -0
  219. package/dist/language_models/utils.cjs +1 -2
  220. package/dist/language_models/utils.cjs.map +1 -1
  221. package/dist/language_models/utils.js +1 -1
  222. package/dist/language_models/utils.js.map +1 -1
  223. package/dist/load/import_constants.cjs +1 -2
  224. package/dist/load/import_constants.cjs.map +1 -1
  225. package/dist/load/import_constants.js +1 -1
  226. package/dist/load/import_constants.js.map +1 -1
  227. package/dist/load/import_map.cjs +82 -66
  228. package/dist/load/import_map.cjs.map +1 -1
  229. package/dist/load/import_map.js +45 -29
  230. package/dist/load/import_map.js.map +1 -1
  231. package/dist/load/import_type.d.cts.map +1 -1
  232. package/dist/load/import_type.d.ts.map +1 -1
  233. package/dist/load/index.cjs +160 -41
  234. package/dist/load/index.cjs.map +1 -1
  235. package/dist/load/index.d.cts +122 -3
  236. package/dist/load/index.d.cts.map +1 -1
  237. package/dist/load/index.d.ts +122 -3
  238. package/dist/load/index.d.ts.map +1 -1
  239. package/dist/load/index.js +149 -31
  240. package/dist/load/index.js.map +1 -1
  241. package/dist/load/map_keys.cjs +6 -5
  242. package/dist/load/map_keys.cjs.map +1 -1
  243. package/dist/load/map_keys.d.cts.map +1 -1
  244. package/dist/load/map_keys.d.ts.map +1 -1
  245. package/dist/load/map_keys.js +1 -2
  246. package/dist/load/map_keys.js.map +1 -1
  247. package/dist/load/serializable.cjs +22 -26
  248. package/dist/load/serializable.cjs.map +1 -1
  249. package/dist/load/serializable.d.cts +15 -1
  250. package/dist/load/serializable.d.cts.map +1 -1
  251. package/dist/load/serializable.d.ts +15 -1
  252. package/dist/load/serializable.d.ts.map +1 -1
  253. package/dist/load/serializable.js +15 -20
  254. package/dist/load/serializable.js.map +1 -1
  255. package/dist/load/validation.cjs +120 -0
  256. package/dist/load/validation.cjs.map +1 -0
  257. package/dist/load/validation.js +118 -0
  258. package/dist/load/validation.js.map +1 -0
  259. package/dist/memory.cjs +10 -18
  260. package/dist/memory.cjs.map +1 -1
  261. package/dist/memory.d.cts +2 -2
  262. package/dist/memory.d.cts.map +1 -1
  263. package/dist/memory.d.ts +2 -2
  264. package/dist/memory.d.ts.map +1 -1
  265. package/dist/memory.js +5 -13
  266. package/dist/memory.js.map +1 -1
  267. package/dist/messages/ai.cjs +15 -9
  268. package/dist/messages/ai.cjs.map +1 -1
  269. package/dist/messages/ai.d.cts +2 -2
  270. package/dist/messages/ai.d.cts.map +1 -1
  271. package/dist/messages/ai.d.ts +2 -2
  272. package/dist/messages/ai.d.ts.map +1 -1
  273. package/dist/messages/ai.js +10 -4
  274. package/dist/messages/ai.js.map +1 -1
  275. package/dist/messages/base.cjs +111 -44
  276. package/dist/messages/base.cjs.map +1 -1
  277. package/dist/messages/base.d.cts +49 -12
  278. package/dist/messages/base.d.cts.map +1 -1
  279. package/dist/messages/base.d.ts +49 -12
  280. package/dist/messages/base.d.ts.map +1 -1
  281. package/dist/messages/base.js +104 -38
  282. package/dist/messages/base.js.map +1 -1
  283. package/dist/messages/block_translators/anthropic.cjs +32 -38
  284. package/dist/messages/block_translators/anthropic.cjs.map +1 -1
  285. package/dist/messages/block_translators/anthropic.js +31 -37
  286. package/dist/messages/block_translators/anthropic.js.map +1 -1
  287. package/dist/messages/block_translators/bedrock_converse.cjs +40 -49
  288. package/dist/messages/block_translators/bedrock_converse.cjs.map +1 -1
  289. package/dist/messages/block_translators/bedrock_converse.js +39 -48
  290. package/dist/messages/block_translators/bedrock_converse.js.map +1 -1
  291. package/dist/messages/block_translators/data.cjs +3 -4
  292. package/dist/messages/block_translators/data.cjs.map +1 -1
  293. package/dist/messages/block_translators/data.js +1 -2
  294. package/dist/messages/block_translators/data.js.map +1 -1
  295. package/dist/messages/block_translators/deepseek.cjs +58 -0
  296. package/dist/messages/block_translators/deepseek.cjs.map +1 -0
  297. package/dist/messages/block_translators/deepseek.js +58 -0
  298. package/dist/messages/block_translators/deepseek.js.map +1 -0
  299. package/dist/messages/block_translators/google.cjs +97 -0
  300. package/dist/messages/block_translators/google.cjs.map +1 -0
  301. package/dist/messages/block_translators/google.js +97 -0
  302. package/dist/messages/block_translators/google.js.map +1 -0
  303. package/dist/messages/block_translators/google_genai.cjs +9 -3
  304. package/dist/messages/block_translators/google_genai.cjs.map +1 -1
  305. package/dist/messages/block_translators/google_genai.js +8 -2
  306. package/dist/messages/block_translators/google_genai.js.map +1 -1
  307. package/dist/messages/block_translators/google_vertexai.cjs +10 -6
  308. package/dist/messages/block_translators/google_vertexai.cjs.map +1 -1
  309. package/dist/messages/block_translators/google_vertexai.js +9 -5
  310. package/dist/messages/block_translators/google_vertexai.js.map +1 -1
  311. package/dist/messages/block_translators/groq.cjs +96 -0
  312. package/dist/messages/block_translators/groq.cjs.map +1 -0
  313. package/dist/messages/block_translators/groq.js +96 -0
  314. package/dist/messages/block_translators/groq.js.map +1 -0
  315. package/dist/messages/block_translators/index.cjs +17 -8
  316. package/dist/messages/block_translators/index.cjs.map +1 -1
  317. package/dist/messages/block_translators/index.js +12 -3
  318. package/dist/messages/block_translators/index.js.map +1 -1
  319. package/dist/messages/block_translators/ollama.cjs +58 -0
  320. package/dist/messages/block_translators/ollama.cjs.map +1 -0
  321. package/dist/messages/block_translators/ollama.js +58 -0
  322. package/dist/messages/block_translators/ollama.js.map +1 -0
  323. package/dist/messages/block_translators/openai.cjs +85 -26
  324. package/dist/messages/block_translators/openai.cjs.map +1 -1
  325. package/dist/messages/block_translators/openai.js +83 -24
  326. package/dist/messages/block_translators/openai.js.map +1 -1
  327. package/dist/messages/block_translators/utils.cjs +2 -3
  328. package/dist/messages/block_translators/utils.cjs.map +1 -1
  329. package/dist/messages/block_translators/utils.js +2 -2
  330. package/dist/messages/block_translators/utils.js.map +1 -1
  331. package/dist/messages/block_translators/xai.cjs +94 -0
  332. package/dist/messages/block_translators/xai.cjs.map +1 -0
  333. package/dist/messages/block_translators/xai.js +94 -0
  334. package/dist/messages/block_translators/xai.js.map +1 -0
  335. package/dist/messages/chat.cjs +2 -3
  336. package/dist/messages/chat.cjs.map +1 -1
  337. package/dist/messages/chat.d.cts.map +1 -1
  338. package/dist/messages/chat.d.ts.map +1 -1
  339. package/dist/messages/chat.js +1 -2
  340. package/dist/messages/chat.js.map +1 -1
  341. package/dist/messages/content/base.d.cts.map +1 -1
  342. package/dist/messages/content/base.d.ts.map +1 -1
  343. package/dist/messages/content/data.cjs +2 -5
  344. package/dist/messages/content/data.cjs.map +1 -1
  345. package/dist/messages/content/data.d.cts +0 -1
  346. package/dist/messages/content/data.d.cts.map +1 -1
  347. package/dist/messages/content/data.d.ts +0 -1
  348. package/dist/messages/content/data.d.ts.map +1 -1
  349. package/dist/messages/content/data.js +2 -4
  350. package/dist/messages/content/data.js.map +1 -1
  351. package/dist/messages/content/index.cjs +5 -6
  352. package/dist/messages/content/index.cjs.map +1 -1
  353. package/dist/messages/content/index.d.cts +7 -3
  354. package/dist/messages/content/index.d.cts.map +1 -1
  355. package/dist/messages/content/index.d.ts +7 -3
  356. package/dist/messages/content/index.d.ts.map +1 -1
  357. package/dist/messages/content/index.js +7 -8
  358. package/dist/messages/content/index.js.map +1 -1
  359. package/dist/messages/content/multimodal.cjs +1 -2
  360. package/dist/messages/content/multimodal.cjs.map +1 -1
  361. package/dist/messages/content/multimodal.d.cts +4 -8
  362. package/dist/messages/content/multimodal.d.cts.map +1 -1
  363. package/dist/messages/content/multimodal.d.ts +4 -8
  364. package/dist/messages/content/multimodal.d.ts.map +1 -1
  365. package/dist/messages/content/multimodal.js +1 -1
  366. package/dist/messages/content/multimodal.js.map +1 -1
  367. package/dist/messages/content/tools.cjs +1 -2
  368. package/dist/messages/content/tools.cjs.map +1 -1
  369. package/dist/messages/content/tools.d.cts +1 -1
  370. package/dist/messages/content/tools.d.cts.map +1 -1
  371. package/dist/messages/content/tools.d.ts +1 -1
  372. package/dist/messages/content/tools.d.ts.map +1 -1
  373. package/dist/messages/content/tools.js +1 -1
  374. package/dist/messages/content/tools.js.map +1 -1
  375. package/dist/messages/format.cjs +1 -2
  376. package/dist/messages/format.cjs.map +1 -1
  377. package/dist/messages/format.d.cts.map +1 -1
  378. package/dist/messages/format.d.ts.map +1 -1
  379. package/dist/messages/format.js +1 -1
  380. package/dist/messages/format.js.map +1 -1
  381. package/dist/messages/function.cjs +2 -3
  382. package/dist/messages/function.cjs.map +1 -1
  383. package/dist/messages/function.d.cts.map +1 -1
  384. package/dist/messages/function.d.ts.map +1 -1
  385. package/dist/messages/function.js +1 -2
  386. package/dist/messages/function.js.map +1 -1
  387. package/dist/messages/human.cjs +2 -3
  388. package/dist/messages/human.cjs.map +1 -1
  389. package/dist/messages/human.d.cts.map +1 -1
  390. package/dist/messages/human.d.ts.map +1 -1
  391. package/dist/messages/human.js +1 -2
  392. package/dist/messages/human.js.map +1 -1
  393. package/dist/messages/index.cjs +25 -24
  394. package/dist/messages/index.d.cts +3 -3
  395. package/dist/messages/index.d.ts +3 -3
  396. package/dist/messages/index.js +7 -8
  397. package/dist/messages/message.cjs +1 -2
  398. package/dist/messages/message.cjs.map +1 -1
  399. package/dist/messages/message.d.cts +50 -27
  400. package/dist/messages/message.d.cts.map +1 -1
  401. package/dist/messages/message.d.ts +50 -27
  402. package/dist/messages/message.d.ts.map +1 -1
  403. package/dist/messages/message.js +1 -1
  404. package/dist/messages/message.js.map +1 -1
  405. package/dist/messages/metadata.cjs +3 -5
  406. package/dist/messages/metadata.cjs.map +1 -1
  407. package/dist/messages/metadata.d.cts.map +1 -1
  408. package/dist/messages/metadata.d.ts.map +1 -1
  409. package/dist/messages/metadata.js +2 -4
  410. package/dist/messages/metadata.js.map +1 -1
  411. package/dist/messages/modifier.cjs +2 -3
  412. package/dist/messages/modifier.cjs.map +1 -1
  413. package/dist/messages/modifier.d.cts.map +1 -1
  414. package/dist/messages/modifier.d.ts.map +1 -1
  415. package/dist/messages/modifier.js +1 -2
  416. package/dist/messages/modifier.js.map +1 -1
  417. package/dist/messages/system.cjs +10 -7
  418. package/dist/messages/system.cjs.map +1 -1
  419. package/dist/messages/system.d.cts.map +1 -1
  420. package/dist/messages/system.d.ts.map +1 -1
  421. package/dist/messages/system.js +9 -6
  422. package/dist/messages/system.js.map +1 -1
  423. package/dist/messages/tool.cjs +10 -11
  424. package/dist/messages/tool.cjs.map +1 -1
  425. package/dist/messages/tool.d.cts +1 -1
  426. package/dist/messages/tool.d.cts.map +1 -1
  427. package/dist/messages/tool.d.ts +1 -1
  428. package/dist/messages/tool.d.ts.map +1 -1
  429. package/dist/messages/tool.js +3 -5
  430. package/dist/messages/tool.js.map +1 -1
  431. package/dist/messages/transformers.cjs +18 -25
  432. package/dist/messages/transformers.cjs.map +1 -1
  433. package/dist/messages/transformers.d.cts.map +1 -1
  434. package/dist/messages/transformers.d.ts.map +1 -1
  435. package/dist/messages/transformers.js +9 -16
  436. package/dist/messages/transformers.js.map +1 -1
  437. package/dist/messages/utils.cjs +71 -32
  438. package/dist/messages/utils.cjs.map +1 -1
  439. package/dist/messages/utils.d.cts +16 -7
  440. package/dist/messages/utils.d.cts.map +1 -1
  441. package/dist/messages/utils.d.ts +16 -7
  442. package/dist/messages/utils.d.ts.map +1 -1
  443. package/dist/messages/utils.js +63 -24
  444. package/dist/messages/utils.js.map +1 -1
  445. package/dist/output_parsers/base.cjs +10 -11
  446. package/dist/output_parsers/base.cjs.map +1 -1
  447. package/dist/output_parsers/base.d.cts +0 -1
  448. package/dist/output_parsers/base.d.cts.map +1 -1
  449. package/dist/output_parsers/base.d.ts +0 -4
  450. package/dist/output_parsers/base.d.ts.map +1 -1
  451. package/dist/output_parsers/base.js +6 -7
  452. package/dist/output_parsers/base.js.map +1 -1
  453. package/dist/output_parsers/bytes.cjs +2 -3
  454. package/dist/output_parsers/bytes.cjs.map +1 -1
  455. package/dist/output_parsers/bytes.d.cts +0 -1
  456. package/dist/output_parsers/bytes.d.cts.map +1 -1
  457. package/dist/output_parsers/bytes.d.ts +0 -1
  458. package/dist/output_parsers/bytes.d.ts.map +1 -1
  459. package/dist/output_parsers/bytes.js +1 -2
  460. package/dist/output_parsers/bytes.js.map +1 -1
  461. package/dist/output_parsers/index.cjs +21 -19
  462. package/dist/output_parsers/index.cjs.map +1 -1
  463. package/dist/output_parsers/index.d.cts +2 -1
  464. package/dist/output_parsers/index.d.ts +2 -1
  465. package/dist/output_parsers/index.js +7 -7
  466. package/dist/output_parsers/index.js.map +1 -1
  467. package/dist/output_parsers/json.cjs +16 -7
  468. package/dist/output_parsers/json.cjs.map +1 -1
  469. package/dist/output_parsers/json.d.cts +9 -1
  470. package/dist/output_parsers/json.d.cts.map +1 -1
  471. package/dist/output_parsers/json.d.ts +9 -1
  472. package/dist/output_parsers/json.d.ts.map +1 -1
  473. package/dist/output_parsers/json.js +13 -4
  474. package/dist/output_parsers/json.js.map +1 -1
  475. package/dist/output_parsers/list.cjs +3 -4
  476. package/dist/output_parsers/list.cjs.map +1 -1
  477. package/dist/output_parsers/list.d.cts +0 -1
  478. package/dist/output_parsers/list.d.cts.map +1 -1
  479. package/dist/output_parsers/list.d.ts +0 -2
  480. package/dist/output_parsers/list.d.ts.map +1 -1
  481. package/dist/output_parsers/list.js +1 -2
  482. package/dist/output_parsers/list.js.map +1 -1
  483. package/dist/output_parsers/openai_functions/index.cjs +10 -11
  484. package/dist/output_parsers/openai_functions/index.js +3 -5
  485. package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs +13 -17
  486. package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs.map +1 -1
  487. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts +1 -2
  488. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.cts.map +1 -1
  489. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts +1 -2
  490. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts.map +1 -1
  491. package/dist/output_parsers/openai_functions/json_output_functions_parsers.js +7 -11
  492. package/dist/output_parsers/openai_functions/json_output_functions_parsers.js.map +1 -1
  493. package/dist/output_parsers/openai_tools/index.cjs +10 -11
  494. package/dist/output_parsers/openai_tools/index.d.cts +2 -2
  495. package/dist/output_parsers/openai_tools/index.d.ts +2 -2
  496. package/dist/output_parsers/openai_tools/index.js +3 -5
  497. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs +29 -30
  498. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs.map +1 -1
  499. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts +10 -8
  500. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.cts.map +1 -1
  501. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts +10 -8
  502. package/dist/output_parsers/openai_tools/json_output_tools_parsers.d.ts.map +1 -1
  503. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js +23 -24
  504. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js.map +1 -1
  505. package/dist/output_parsers/standard_schema.cjs +39 -0
  506. package/dist/output_parsers/standard_schema.cjs.map +1 -0
  507. package/dist/output_parsers/standard_schema.d.cts +16 -0
  508. package/dist/output_parsers/standard_schema.d.cts.map +1 -0
  509. package/dist/output_parsers/standard_schema.d.ts +16 -0
  510. package/dist/output_parsers/standard_schema.d.ts.map +1 -0
  511. package/dist/output_parsers/standard_schema.js +39 -0
  512. package/dist/output_parsers/standard_schema.js.map +1 -0
  513. package/dist/output_parsers/string.cjs +5 -3
  514. package/dist/output_parsers/string.cjs.map +1 -1
  515. package/dist/output_parsers/string.d.cts +0 -1
  516. package/dist/output_parsers/string.d.cts.map +1 -1
  517. package/dist/output_parsers/string.d.ts +0 -2
  518. package/dist/output_parsers/string.d.ts.map +1 -1
  519. package/dist/output_parsers/string.js +4 -2
  520. package/dist/output_parsers/string.js.map +1 -1
  521. package/dist/output_parsers/structured.cjs +14 -18
  522. package/dist/output_parsers/structured.cjs.map +1 -1
  523. package/dist/output_parsers/structured.d.cts.map +1 -1
  524. package/dist/output_parsers/structured.d.ts.map +1 -1
  525. package/dist/output_parsers/structured.js +9 -13
  526. package/dist/output_parsers/structured.js.map +1 -1
  527. package/dist/output_parsers/transform.cjs +8 -9
  528. package/dist/output_parsers/transform.cjs.map +1 -1
  529. package/dist/output_parsers/transform.d.cts +0 -1
  530. package/dist/output_parsers/transform.d.cts.map +1 -1
  531. package/dist/output_parsers/transform.d.ts +0 -1
  532. package/dist/output_parsers/transform.d.ts.map +1 -1
  533. package/dist/output_parsers/transform.js +1 -2
  534. package/dist/output_parsers/transform.js.map +1 -1
  535. package/dist/output_parsers/xml.cjs +11 -15
  536. package/dist/output_parsers/xml.cjs.map +1 -1
  537. package/dist/output_parsers/xml.d.cts +1 -1
  538. package/dist/output_parsers/xml.d.cts.map +1 -1
  539. package/dist/output_parsers/xml.d.ts +1 -1
  540. package/dist/output_parsers/xml.d.ts.map +1 -1
  541. package/dist/output_parsers/xml.js +7 -11
  542. package/dist/output_parsers/xml.js.map +1 -1
  543. package/dist/outputs.cjs +8 -10
  544. package/dist/outputs.cjs.map +1 -1
  545. package/dist/outputs.d.cts.map +1 -1
  546. package/dist/outputs.d.ts.map +1 -1
  547. package/dist/outputs.js +3 -5
  548. package/dist/outputs.js.map +1 -1
  549. package/dist/prompt_values.cjs +12 -13
  550. package/dist/prompt_values.cjs.map +1 -1
  551. package/dist/prompt_values.d.cts +1 -3
  552. package/dist/prompt_values.d.cts.map +1 -1
  553. package/dist/prompt_values.d.ts +1 -3
  554. package/dist/prompt_values.d.ts.map +1 -1
  555. package/dist/prompt_values.js +3 -5
  556. package/dist/prompt_values.js.map +1 -1
  557. package/dist/prompts/base.cjs +4 -6
  558. package/dist/prompts/base.cjs.map +1 -1
  559. package/dist/prompts/base.d.cts +0 -1
  560. package/dist/prompts/base.d.cts.map +1 -1
  561. package/dist/prompts/base.d.ts +0 -2
  562. package/dist/prompts/base.d.ts.map +1 -1
  563. package/dist/prompts/base.js +3 -5
  564. package/dist/prompts/base.js.map +1 -1
  565. package/dist/prompts/chat.cjs +37 -53
  566. package/dist/prompts/chat.cjs.map +1 -1
  567. package/dist/prompts/chat.d.cts +1 -0
  568. package/dist/prompts/chat.d.cts.map +1 -1
  569. package/dist/prompts/chat.d.ts +1 -1
  570. package/dist/prompts/chat.d.ts.map +1 -1
  571. package/dist/prompts/chat.js +23 -39
  572. package/dist/prompts/chat.js.map +1 -1
  573. package/dist/prompts/dict.cjs +3 -4
  574. package/dist/prompts/dict.cjs.map +1 -1
  575. package/dist/prompts/dict.d.cts.map +1 -1
  576. package/dist/prompts/dict.d.ts.map +1 -1
  577. package/dist/prompts/dict.js +1 -2
  578. package/dist/prompts/dict.js.map +1 -1
  579. package/dist/prompts/few_shot.cjs +14 -20
  580. package/dist/prompts/few_shot.cjs.map +1 -1
  581. package/dist/prompts/few_shot.d.cts.map +1 -1
  582. package/dist/prompts/few_shot.d.ts +0 -1
  583. package/dist/prompts/few_shot.d.ts.map +1 -1
  584. package/dist/prompts/few_shot.js +10 -16
  585. package/dist/prompts/few_shot.js.map +1 -1
  586. package/dist/prompts/image.cjs +7 -10
  587. package/dist/prompts/image.cjs.map +1 -1
  588. package/dist/prompts/image.d.cts +0 -1
  589. package/dist/prompts/image.d.cts.map +1 -1
  590. package/dist/prompts/image.d.ts +0 -2
  591. package/dist/prompts/image.d.ts.map +1 -1
  592. package/dist/prompts/image.js +4 -7
  593. package/dist/prompts/image.js.map +1 -1
  594. package/dist/prompts/index.cjs +19 -20
  595. package/dist/prompts/index.js +3 -5
  596. package/dist/prompts/pipeline.cjs +3 -4
  597. package/dist/prompts/pipeline.cjs.map +1 -1
  598. package/dist/prompts/pipeline.d.cts +0 -1
  599. package/dist/prompts/pipeline.d.cts.map +1 -1
  600. package/dist/prompts/pipeline.d.ts +0 -1
  601. package/dist/prompts/pipeline.d.ts.map +1 -1
  602. package/dist/prompts/pipeline.js +1 -2
  603. package/dist/prompts/pipeline.js.map +1 -1
  604. package/dist/prompts/prompt.cjs +12 -16
  605. package/dist/prompts/prompt.cjs.map +1 -1
  606. package/dist/prompts/prompt.d.cts +0 -1
  607. package/dist/prompts/prompt.d.cts.map +1 -1
  608. package/dist/prompts/prompt.d.ts +0 -1
  609. package/dist/prompts/prompt.d.ts.map +1 -1
  610. package/dist/prompts/prompt.js +10 -14
  611. package/dist/prompts/prompt.js.map +1 -1
  612. package/dist/prompts/serde.d.cts +0 -1
  613. package/dist/prompts/serde.d.cts.map +1 -1
  614. package/dist/prompts/serde.d.ts +0 -2
  615. package/dist/prompts/serde.d.ts.map +1 -1
  616. package/dist/prompts/string.cjs +4 -6
  617. package/dist/prompts/string.cjs.map +1 -1
  618. package/dist/prompts/string.d.cts +0 -1
  619. package/dist/prompts/string.d.cts.map +1 -1
  620. package/dist/prompts/string.d.ts +0 -1
  621. package/dist/prompts/string.d.ts.map +1 -1
  622. package/dist/prompts/string.js +2 -4
  623. package/dist/prompts/string.js.map +1 -1
  624. package/dist/prompts/structured.cjs +3 -4
  625. package/dist/prompts/structured.cjs.map +1 -1
  626. package/dist/prompts/structured.d.cts +0 -1
  627. package/dist/prompts/structured.d.cts.map +1 -1
  628. package/dist/prompts/structured.d.ts +0 -1
  629. package/dist/prompts/structured.d.ts.map +1 -1
  630. package/dist/prompts/structured.js +1 -2
  631. package/dist/prompts/structured.js.map +1 -1
  632. package/dist/prompts/template.cjs +12 -23
  633. package/dist/prompts/template.cjs.map +1 -1
  634. package/dist/prompts/template.d.cts +0 -2
  635. package/dist/prompts/template.d.cts.map +1 -1
  636. package/dist/prompts/template.d.ts +0 -2
  637. package/dist/prompts/template.d.ts.map +1 -1
  638. package/dist/prompts/template.js +8 -20
  639. package/dist/prompts/template.js.map +1 -1
  640. package/dist/retrievers/document_compressors/index.cjs +8 -10
  641. package/dist/retrievers/document_compressors/index.cjs.map +1 -1
  642. package/dist/retrievers/document_compressors/index.d.cts +0 -1
  643. package/dist/retrievers/document_compressors/index.d.cts.map +1 -1
  644. package/dist/retrievers/document_compressors/index.d.ts +0 -1
  645. package/dist/retrievers/document_compressors/index.d.ts.map +1 -1
  646. package/dist/retrievers/document_compressors/index.js +3 -5
  647. package/dist/retrievers/document_compressors/index.js.map +1 -1
  648. package/dist/retrievers/index.cjs +13 -15
  649. package/dist/retrievers/index.cjs.map +1 -1
  650. package/dist/retrievers/index.d.cts +0 -1
  651. package/dist/retrievers/index.d.cts.map +1 -1
  652. package/dist/retrievers/index.d.ts +0 -2
  653. package/dist/retrievers/index.d.ts.map +1 -1
  654. package/dist/retrievers/index.js +4 -7
  655. package/dist/retrievers/index.js.map +1 -1
  656. package/dist/runnables/base.cjs +73 -100
  657. package/dist/runnables/base.cjs.map +1 -1
  658. package/dist/runnables/base.d.cts +3 -4
  659. package/dist/runnables/base.d.cts.map +1 -1
  660. package/dist/runnables/base.d.ts +3 -4
  661. package/dist/runnables/base.d.ts.map +1 -1
  662. package/dist/runnables/base.js +55 -82
  663. package/dist/runnables/base.js.map +1 -1
  664. package/dist/runnables/branch.cjs +8 -13
  665. package/dist/runnables/branch.cjs.map +1 -1
  666. package/dist/runnables/branch.d.cts +0 -1
  667. package/dist/runnables/branch.d.cts.map +1 -1
  668. package/dist/runnables/branch.d.ts +0 -2
  669. package/dist/runnables/branch.d.ts.map +1 -1
  670. package/dist/runnables/branch.js +5 -10
  671. package/dist/runnables/branch.js.map +1 -1
  672. package/dist/runnables/config.cjs +5 -8
  673. package/dist/runnables/config.cjs.map +1 -1
  674. package/dist/runnables/config.d.cts.map +1 -1
  675. package/dist/runnables/config.d.ts.map +1 -1
  676. package/dist/runnables/config.js +3 -5
  677. package/dist/runnables/config.js.map +1 -1
  678. package/dist/runnables/graph.cjs +15 -18
  679. package/dist/runnables/graph.cjs.map +1 -1
  680. package/dist/runnables/graph.d.cts.map +1 -1
  681. package/dist/runnables/graph.d.ts.map +1 -1
  682. package/dist/runnables/graph.js +5 -9
  683. package/dist/runnables/graph.js.map +1 -1
  684. package/dist/runnables/graph_mermaid.cjs +8 -12
  685. package/dist/runnables/graph_mermaid.cjs.map +1 -1
  686. package/dist/runnables/graph_mermaid.js +7 -11
  687. package/dist/runnables/graph_mermaid.js.map +1 -1
  688. package/dist/runnables/history.cjs +12 -17
  689. package/dist/runnables/history.cjs.map +1 -1
  690. package/dist/runnables/history.d.cts +2 -4
  691. package/dist/runnables/history.d.cts.map +1 -1
  692. package/dist/runnables/history.d.ts +2 -6
  693. package/dist/runnables/history.d.ts.map +1 -1
  694. package/dist/runnables/history.js +7 -12
  695. package/dist/runnables/history.js.map +1 -1
  696. package/dist/runnables/index.cjs +16 -17
  697. package/dist/runnables/index.js +3 -5
  698. package/dist/runnables/iter.cjs +21 -5
  699. package/dist/runnables/iter.cjs.map +1 -1
  700. package/dist/runnables/iter.js +17 -3
  701. package/dist/runnables/iter.js.map +1 -1
  702. package/dist/runnables/passthrough.cjs +5 -6
  703. package/dist/runnables/passthrough.cjs.map +1 -1
  704. package/dist/runnables/passthrough.d.cts.map +1 -1
  705. package/dist/runnables/passthrough.d.ts +0 -1
  706. package/dist/runnables/passthrough.d.ts.map +1 -1
  707. package/dist/runnables/passthrough.js +2 -3
  708. package/dist/runnables/passthrough.js.map +1 -1
  709. package/dist/runnables/router.cjs +5 -7
  710. package/dist/runnables/router.cjs.map +1 -1
  711. package/dist/runnables/router.d.cts.map +1 -1
  712. package/dist/runnables/router.d.ts +0 -1
  713. package/dist/runnables/router.d.ts.map +1 -1
  714. package/dist/runnables/router.js +3 -5
  715. package/dist/runnables/router.js.map +1 -1
  716. package/dist/runnables/types.d.cts +1 -2
  717. package/dist/runnables/types.d.cts.map +1 -1
  718. package/dist/runnables/types.d.ts +1 -2
  719. package/dist/runnables/types.d.ts.map +1 -1
  720. package/dist/runnables/utils.cjs +2 -4
  721. package/dist/runnables/utils.cjs.map +1 -1
  722. package/dist/runnables/utils.js +2 -3
  723. package/dist/runnables/utils.js.map +1 -1
  724. package/dist/runnables/wrappers.cjs +2 -3
  725. package/dist/runnables/wrappers.cjs.map +1 -1
  726. package/dist/runnables/wrappers.js +1 -2
  727. package/dist/runnables/wrappers.js.map +1 -1
  728. package/dist/singletons/async_local_storage/context.cjs +6 -8
  729. package/dist/singletons/async_local_storage/context.cjs.map +1 -1
  730. package/dist/singletons/async_local_storage/context.d.cts +0 -1
  731. package/dist/singletons/async_local_storage/context.d.cts.map +1 -1
  732. package/dist/singletons/async_local_storage/context.d.ts +0 -1
  733. package/dist/singletons/async_local_storage/context.d.ts.map +1 -1
  734. package/dist/singletons/async_local_storage/context.js +3 -5
  735. package/dist/singletons/async_local_storage/context.js.map +1 -1
  736. package/dist/singletons/async_local_storage/globals.cjs +1 -2
  737. package/dist/singletons/async_local_storage/globals.cjs.map +1 -1
  738. package/dist/singletons/async_local_storage/globals.d.cts.map +1 -1
  739. package/dist/singletons/async_local_storage/globals.d.ts.map +1 -1
  740. package/dist/singletons/async_local_storage/globals.js +1 -1
  741. package/dist/singletons/async_local_storage/globals.js.map +1 -1
  742. package/dist/singletons/async_local_storage/index.cjs +8 -14
  743. package/dist/singletons/async_local_storage/index.cjs.map +1 -1
  744. package/dist/singletons/async_local_storage/index.d.cts.map +1 -1
  745. package/dist/singletons/async_local_storage/index.d.ts.map +1 -1
  746. package/dist/singletons/async_local_storage/index.js +4 -10
  747. package/dist/singletons/async_local_storage/index.js.map +1 -1
  748. package/dist/singletons/callbacks.cjs +7 -8
  749. package/dist/singletons/callbacks.cjs.map +1 -1
  750. package/dist/singletons/callbacks.d.cts +0 -1
  751. package/dist/singletons/callbacks.d.cts.map +1 -1
  752. package/dist/singletons/callbacks.d.ts +0 -1
  753. package/dist/singletons/callbacks.d.ts.map +1 -1
  754. package/dist/singletons/callbacks.js +2 -4
  755. package/dist/singletons/callbacks.js.map +1 -1
  756. package/dist/singletons/index.cjs +11 -12
  757. package/dist/singletons/index.js +3 -5
  758. package/dist/singletons/tracer.cjs +5 -9
  759. package/dist/singletons/tracer.cjs.map +1 -1
  760. package/dist/singletons/tracer.js +2 -6
  761. package/dist/singletons/tracer.js.map +1 -1
  762. package/dist/stores.cjs +10 -11
  763. package/dist/stores.cjs.map +1 -1
  764. package/dist/stores.d.cts +0 -1
  765. package/dist/stores.d.cts.map +1 -1
  766. package/dist/stores.d.ts +0 -1
  767. package/dist/stores.d.ts.map +1 -1
  768. package/dist/stores.js +3 -5
  769. package/dist/stores.js.map +1 -1
  770. package/dist/structured_query/base.cjs +6 -7
  771. package/dist/structured_query/base.cjs.map +1 -1
  772. package/dist/structured_query/base.d.cts +0 -1
  773. package/dist/structured_query/base.d.cts.map +1 -1
  774. package/dist/structured_query/base.d.ts +0 -1
  775. package/dist/structured_query/base.d.ts.map +1 -1
  776. package/dist/structured_query/base.js +4 -5
  777. package/dist/structured_query/base.js.map +1 -1
  778. package/dist/structured_query/functional.cjs +7 -8
  779. package/dist/structured_query/functional.cjs.map +1 -1
  780. package/dist/structured_query/functional.d.cts +0 -1
  781. package/dist/structured_query/functional.d.cts.map +1 -1
  782. package/dist/structured_query/functional.d.ts +0 -1
  783. package/dist/structured_query/functional.d.ts.map +1 -1
  784. package/dist/structured_query/functional.js +4 -5
  785. package/dist/structured_query/functional.js.map +1 -1
  786. package/dist/structured_query/index.cjs +13 -14
  787. package/dist/structured_query/index.js +3 -5
  788. package/dist/structured_query/ir.cjs +1 -2
  789. package/dist/structured_query/ir.cjs.map +1 -1
  790. package/dist/structured_query/ir.d.cts +0 -1
  791. package/dist/structured_query/ir.d.cts.map +1 -1
  792. package/dist/structured_query/ir.d.ts +0 -1
  793. package/dist/structured_query/ir.d.ts.map +1 -1
  794. package/dist/structured_query/ir.js +1 -1
  795. package/dist/structured_query/ir.js.map +1 -1
  796. package/dist/structured_query/utils.cjs +1 -2
  797. package/dist/structured_query/utils.cjs.map +1 -1
  798. package/dist/structured_query/utils.d.cts.map +1 -1
  799. package/dist/structured_query/utils.d.ts.map +1 -1
  800. package/dist/structured_query/utils.js +1 -1
  801. package/dist/structured_query/utils.js.map +1 -1
  802. package/dist/testing/fake_model_builder.cjs +225 -0
  803. package/dist/testing/fake_model_builder.cjs.map +1 -0
  804. package/dist/testing/fake_model_builder.d.cts +138 -0
  805. package/dist/testing/fake_model_builder.d.cts.map +1 -0
  806. package/dist/testing/fake_model_builder.d.ts +138 -0
  807. package/dist/testing/fake_model_builder.d.ts.map +1 -0
  808. package/dist/testing/fake_model_builder.js +224 -0
  809. package/dist/testing/fake_model_builder.js.map +1 -0
  810. package/dist/testing/index.cjs +42 -0
  811. package/dist/testing/index.cjs.map +1 -0
  812. package/dist/testing/index.d.cts +3 -0
  813. package/dist/testing/index.d.ts +3 -0
  814. package/dist/testing/index.js +23 -0
  815. package/dist/testing/index.js.map +1 -0
  816. package/dist/testing/matchers.cjs +212 -0
  817. package/dist/testing/matchers.cjs.map +1 -0
  818. package/dist/testing/matchers.d.cts +94 -0
  819. package/dist/testing/matchers.d.cts.map +1 -0
  820. package/dist/testing/matchers.d.ts +94 -0
  821. package/dist/testing/matchers.d.ts.map +1 -0
  822. package/dist/testing/matchers.js +202 -0
  823. package/dist/testing/matchers.js.map +1 -0
  824. package/dist/tools/index.cjs +51 -36
  825. package/dist/tools/index.cjs.map +1 -1
  826. package/dist/tools/index.d.cts +31 -24
  827. package/dist/tools/index.d.cts.map +1 -1
  828. package/dist/tools/index.d.ts +31 -26
  829. package/dist/tools/index.d.ts.map +1 -1
  830. package/dist/tools/index.js +32 -18
  831. package/dist/tools/index.js.map +1 -1
  832. package/dist/tools/types.cjs +3 -4
  833. package/dist/tools/types.cjs.map +1 -1
  834. package/dist/tools/types.d.cts +26 -11
  835. package/dist/tools/types.d.cts.map +1 -1
  836. package/dist/tools/types.d.ts +26 -13
  837. package/dist/tools/types.d.ts.map +1 -1
  838. package/dist/tools/types.js +1 -2
  839. package/dist/tools/types.js.map +1 -1
  840. package/dist/tools/utils.cjs +1 -2
  841. package/dist/tools/utils.cjs.map +1 -1
  842. package/dist/tools/utils.d.cts +0 -1
  843. package/dist/tools/utils.d.cts.map +1 -1
  844. package/dist/tools/utils.d.ts +0 -1
  845. package/dist/tools/utils.d.ts.map +1 -1
  846. package/dist/tools/utils.js +1 -1
  847. package/dist/tools/utils.js.map +1 -1
  848. package/dist/tracers/base.cjs +20 -18
  849. package/dist/tracers/base.cjs.map +1 -1
  850. package/dist/tracers/base.d.cts +92 -98
  851. package/dist/tracers/base.d.cts.map +1 -1
  852. package/dist/tracers/base.d.ts +92 -98
  853. package/dist/tracers/base.d.ts.map +1 -1
  854. package/dist/tracers/base.js +11 -10
  855. package/dist/tracers/base.js.map +1 -1
  856. package/dist/tracers/console.cjs +16 -17
  857. package/dist/tracers/console.cjs.map +1 -1
  858. package/dist/tracers/console.d.cts +0 -1
  859. package/dist/tracers/console.d.cts.map +1 -1
  860. package/dist/tracers/console.d.ts +0 -1
  861. package/dist/tracers/console.d.ts.map +1 -1
  862. package/dist/tracers/console.js +7 -10
  863. package/dist/tracers/console.js.map +1 -1
  864. package/dist/tracers/event_stream.cjs +24 -10
  865. package/dist/tracers/event_stream.cjs.map +1 -1
  866. package/dist/tracers/event_stream.d.cts +7 -6
  867. package/dist/tracers/event_stream.d.cts.map +1 -1
  868. package/dist/tracers/event_stream.d.ts +7 -7
  869. package/dist/tracers/event_stream.d.ts.map +1 -1
  870. package/dist/tracers/event_stream.js +20 -6
  871. package/dist/tracers/event_stream.js.map +1 -1
  872. package/dist/tracers/log_stream.cjs +15 -16
  873. package/dist/tracers/log_stream.cjs.map +1 -1
  874. package/dist/tracers/log_stream.d.cts +14 -31
  875. package/dist/tracers/log_stream.d.cts.map +1 -1
  876. package/dist/tracers/log_stream.d.ts +14 -31
  877. package/dist/tracers/log_stream.d.ts.map +1 -1
  878. package/dist/tracers/log_stream.js +5 -7
  879. package/dist/tracers/log_stream.js.map +1 -1
  880. package/dist/tracers/root_listener.cjs +2 -3
  881. package/dist/tracers/root_listener.cjs.map +1 -1
  882. package/dist/tracers/root_listener.js +1 -2
  883. package/dist/tracers/root_listener.js.map +1 -1
  884. package/dist/tracers/run_collector.cjs +10 -11
  885. package/dist/tracers/run_collector.cjs.map +1 -1
  886. package/dist/tracers/run_collector.d.cts +0 -1
  887. package/dist/tracers/run_collector.d.cts.map +1 -1
  888. package/dist/tracers/run_collector.d.ts +0 -1
  889. package/dist/tracers/run_collector.d.ts.map +1 -1
  890. package/dist/tracers/run_collector.js +3 -5
  891. package/dist/tracers/run_collector.js.map +1 -1
  892. package/dist/tracers/tracer_langchain.cjs +43 -19
  893. package/dist/tracers/tracer_langchain.cjs.map +1 -1
  894. package/dist/tracers/tracer_langchain.d.cts +2 -1
  895. package/dist/tracers/tracer_langchain.d.cts.map +1 -1
  896. package/dist/tracers/tracer_langchain.d.ts +2 -1
  897. package/dist/tracers/tracer_langchain.d.ts.map +1 -1
  898. package/dist/tracers/tracer_langchain.js +33 -10
  899. package/dist/tracers/tracer_langchain.js.map +1 -1
  900. package/dist/types/_internal.d.cts.map +1 -1
  901. package/dist/types/_internal.d.ts.map +1 -1
  902. package/dist/types/stream.cjs +8 -8
  903. package/dist/types/stream.js +3 -2
  904. package/dist/types/type-utils.d.cts +2 -1
  905. package/dist/types/type-utils.d.cts.map +1 -1
  906. package/dist/types/type-utils.d.ts +2 -1
  907. package/dist/types/type-utils.d.ts.map +1 -1
  908. package/dist/utils/async_caller.cjs +29 -22
  909. package/dist/utils/async_caller.cjs.map +1 -1
  910. package/dist/utils/async_caller.d.cts.map +1 -1
  911. package/dist/utils/async_caller.d.ts.map +1 -1
  912. package/dist/utils/async_caller.js +19 -14
  913. package/dist/utils/async_caller.js.map +1 -1
  914. package/dist/utils/callbacks.cjs +4 -6
  915. package/dist/utils/callbacks.cjs.map +1 -1
  916. package/dist/utils/callbacks.js +3 -5
  917. package/dist/utils/callbacks.js.map +1 -1
  918. package/dist/utils/chunk_array.cjs +9 -12
  919. package/dist/utils/chunk_array.cjs.map +1 -1
  920. package/dist/utils/chunk_array.d.cts.map +1 -1
  921. package/dist/utils/chunk_array.d.ts.map +1 -1
  922. package/dist/utils/chunk_array.js +4 -7
  923. package/dist/utils/chunk_array.js.map +1 -1
  924. package/dist/utils/context.cjs +104 -0
  925. package/dist/utils/context.cjs.map +1 -0
  926. package/dist/utils/context.d.cts +44 -0
  927. package/dist/utils/context.d.cts.map +1 -0
  928. package/dist/utils/context.d.ts +44 -0
  929. package/dist/utils/context.d.ts.map +1 -0
  930. package/dist/utils/context.js +98 -0
  931. package/dist/utils/context.js.map +1 -0
  932. package/dist/utils/env.cjs +14 -19
  933. package/dist/utils/env.cjs.map +1 -1
  934. package/dist/utils/env.d.cts.map +1 -1
  935. package/dist/utils/env.d.ts.map +1 -1
  936. package/dist/utils/env.js +9 -14
  937. package/dist/utils/env.js.map +1 -1
  938. package/dist/utils/event_source_parse.cjs +16 -17
  939. package/dist/utils/event_source_parse.cjs.map +1 -1
  940. package/dist/utils/event_source_parse.d.cts +2 -2
  941. package/dist/utils/event_source_parse.d.cts.map +1 -1
  942. package/dist/utils/event_source_parse.d.ts +2 -2
  943. package/dist/utils/event_source_parse.d.ts.map +1 -1
  944. package/dist/utils/event_source_parse.js +9 -11
  945. package/dist/utils/event_source_parse.js.map +1 -1
  946. package/dist/utils/fast-json-patch/index.cjs +5 -13
  947. package/dist/utils/fast-json-patch/index.cjs.map +1 -1
  948. package/dist/utils/fast-json-patch/index.js +6 -13
  949. package/dist/utils/fast-json-patch/index.js.map +1 -1
  950. package/dist/utils/fast-json-patch/src/core.cjs +16 -28
  951. package/dist/utils/fast-json-patch/src/core.cjs.map +1 -1
  952. package/dist/utils/fast-json-patch/src/core.d.cts +0 -1
  953. package/dist/utils/fast-json-patch/src/core.d.cts.map +1 -1
  954. package/dist/utils/fast-json-patch/src/core.d.ts +0 -1
  955. package/dist/utils/fast-json-patch/src/core.d.ts.map +1 -1
  956. package/dist/utils/fast-json-patch/src/core.js +10 -22
  957. package/dist/utils/fast-json-patch/src/core.js.map +1 -1
  958. package/dist/utils/fast-json-patch/src/duplex.cjs +8 -7
  959. package/dist/utils/fast-json-patch/src/duplex.cjs.map +1 -1
  960. package/dist/utils/fast-json-patch/src/duplex.d.cts +0 -1
  961. package/dist/utils/fast-json-patch/src/duplex.d.cts.map +1 -1
  962. package/dist/utils/fast-json-patch/src/duplex.d.ts +0 -1
  963. package/dist/utils/fast-json-patch/src/duplex.d.ts.map +1 -1
  964. package/dist/utils/fast-json-patch/src/duplex.js +6 -5
  965. package/dist/utils/fast-json-patch/src/duplex.js.map +1 -1
  966. package/dist/utils/fast-json-patch/src/helpers.cjs +5 -6
  967. package/dist/utils/fast-json-patch/src/helpers.cjs.map +1 -1
  968. package/dist/utils/fast-json-patch/src/helpers.js +5 -5
  969. package/dist/utils/fast-json-patch/src/helpers.js.map +1 -1
  970. package/dist/utils/format.cjs +8 -8
  971. package/dist/utils/format.d.cts.map +1 -1
  972. package/dist/utils/format.d.ts.map +1 -1
  973. package/dist/utils/format.js +3 -2
  974. package/dist/utils/function_calling.cjs +11 -12
  975. package/dist/utils/function_calling.cjs.map +1 -1
  976. package/dist/utils/function_calling.d.cts +0 -1
  977. package/dist/utils/function_calling.d.cts.map +1 -1
  978. package/dist/utils/function_calling.d.ts +0 -1
  979. package/dist/utils/function_calling.d.ts.map +1 -1
  980. package/dist/utils/function_calling.js +3 -5
  981. package/dist/utils/function_calling.js.map +1 -1
  982. package/dist/utils/hash.cjs +10 -11
  983. package/dist/utils/hash.d.cts +0 -1
  984. package/dist/utils/hash.d.cts.map +1 -1
  985. package/dist/utils/hash.d.ts +0 -1
  986. package/dist/utils/hash.d.ts.map +1 -1
  987. package/dist/utils/hash.js +3 -5
  988. package/dist/utils/is-network-error/index.cjs +3 -5
  989. package/dist/utils/is-network-error/index.cjs.map +1 -1
  990. package/dist/utils/is-network-error/index.js +3 -4
  991. package/dist/utils/is-network-error/index.js.map +1 -1
  992. package/dist/utils/js-sha256/hash.cjs +42 -37
  993. package/dist/utils/js-sha256/hash.cjs.map +1 -1
  994. package/dist/utils/js-sha256/hash.d.cts.map +1 -1
  995. package/dist/utils/js-sha256/hash.d.ts.map +1 -1
  996. package/dist/utils/js-sha256/hash.js +42 -36
  997. package/dist/utils/js-sha256/hash.js.map +1 -1
  998. package/dist/utils/json.cjs +1 -2
  999. package/dist/utils/json.cjs.map +1 -1
  1000. package/dist/utils/json.d.cts.map +1 -1
  1001. package/dist/utils/json.d.ts.map +1 -1
  1002. package/dist/utils/json.js +1 -1
  1003. package/dist/utils/json.js.map +1 -1
  1004. package/dist/utils/json_patch.cjs +12 -13
  1005. package/dist/utils/json_patch.js +3 -5
  1006. package/dist/utils/json_schema.cjs +60 -37
  1007. package/dist/utils/json_schema.cjs.map +1 -1
  1008. package/dist/utils/json_schema.d.cts +4 -2
  1009. package/dist/utils/json_schema.d.cts.map +1 -1
  1010. package/dist/utils/json_schema.d.ts +4 -3
  1011. package/dist/utils/json_schema.d.ts.map +1 -1
  1012. package/dist/utils/json_schema.js +36 -14
  1013. package/dist/utils/json_schema.js.map +1 -1
  1014. package/dist/utils/math.cjs +16 -18
  1015. package/dist/utils/math.cjs.map +1 -1
  1016. package/dist/utils/math.d.cts.map +1 -1
  1017. package/dist/utils/math.d.ts.map +1 -1
  1018. package/dist/utils/math.js +9 -12
  1019. package/dist/utils/math.js.map +1 -1
  1020. package/dist/utils/ml-distance/distances.cjs +1 -2
  1021. package/dist/utils/ml-distance/distances.cjs.map +1 -1
  1022. package/dist/utils/ml-distance/distances.js +1 -1
  1023. package/dist/utils/ml-distance/distances.js.map +1 -1
  1024. package/dist/utils/ml-distance/similarities.cjs +1 -2
  1025. package/dist/utils/ml-distance/similarities.cjs.map +1 -1
  1026. package/dist/utils/ml-distance/similarities.d.cts.map +1 -1
  1027. package/dist/utils/ml-distance/similarities.d.ts.map +1 -1
  1028. package/dist/utils/ml-distance/similarities.js +1 -1
  1029. package/dist/utils/ml-distance/similarities.js.map +1 -1
  1030. package/dist/utils/ml-distance-euclidean/euclidean.cjs +1 -2
  1031. package/dist/utils/ml-distance-euclidean/euclidean.cjs.map +1 -1
  1032. package/dist/utils/ml-distance-euclidean/euclidean.js +1 -1
  1033. package/dist/utils/ml-distance-euclidean/euclidean.js.map +1 -1
  1034. package/dist/utils/namespace.cjs +62 -0
  1035. package/dist/utils/namespace.cjs.map +1 -0
  1036. package/dist/utils/namespace.d.cts +73 -0
  1037. package/dist/utils/namespace.d.cts.map +1 -0
  1038. package/dist/utils/namespace.d.ts +73 -0
  1039. package/dist/utils/namespace.d.ts.map +1 -0
  1040. package/dist/utils/namespace.js +62 -0
  1041. package/dist/utils/namespace.js.map +1 -0
  1042. package/dist/utils/p-retry/index.cjs +4 -5
  1043. package/dist/utils/p-retry/index.cjs.map +1 -1
  1044. package/dist/utils/p-retry/index.js +3 -4
  1045. package/dist/utils/p-retry/index.js.map +1 -1
  1046. package/dist/utils/sax-js/sax.cjs +29 -36
  1047. package/dist/utils/sax-js/sax.cjs.map +1 -1
  1048. package/dist/utils/sax-js/sax.js +29 -35
  1049. package/dist/utils/sax-js/sax.js.map +1 -1
  1050. package/dist/utils/signal.cjs +3 -4
  1051. package/dist/utils/signal.cjs.map +1 -1
  1052. package/dist/utils/signal.d.cts.map +1 -1
  1053. package/dist/utils/signal.d.ts.map +1 -1
  1054. package/dist/utils/signal.js +3 -3
  1055. package/dist/utils/signal.js.map +1 -1
  1056. package/dist/utils/ssrf.cjs +267 -0
  1057. package/dist/utils/ssrf.cjs.map +1 -0
  1058. package/dist/utils/ssrf.d.cts +52 -0
  1059. package/dist/utils/ssrf.d.cts.map +1 -0
  1060. package/dist/utils/ssrf.d.ts +52 -0
  1061. package/dist/utils/ssrf.d.ts.map +1 -0
  1062. package/dist/utils/ssrf.js +256 -0
  1063. package/dist/utils/ssrf.js.map +1 -0
  1064. package/dist/utils/standard_schema.cjs +41 -0
  1065. package/dist/utils/standard_schema.cjs.map +1 -0
  1066. package/dist/utils/standard_schema.d.cts +27 -0
  1067. package/dist/utils/standard_schema.d.cts.map +1 -0
  1068. package/dist/utils/standard_schema.d.ts +27 -0
  1069. package/dist/utils/standard_schema.d.ts.map +1 -0
  1070. package/dist/utils/standard_schema.js +33 -0
  1071. package/dist/utils/standard_schema.js.map +1 -0
  1072. package/dist/utils/stream.cjs +15 -16
  1073. package/dist/utils/stream.cjs.map +1 -1
  1074. package/dist/utils/stream.d.cts +2 -2
  1075. package/dist/utils/stream.d.cts.map +1 -1
  1076. package/dist/utils/stream.d.ts +2 -2
  1077. package/dist/utils/stream.d.ts.map +1 -1
  1078. package/dist/utils/stream.js +5 -7
  1079. package/dist/utils/stream.js.map +1 -1
  1080. package/dist/utils/testing/chat_models.cjs +10 -13
  1081. package/dist/utils/testing/chat_models.cjs.map +1 -1
  1082. package/dist/utils/testing/chat_models.d.cts.map +1 -1
  1083. package/dist/utils/testing/chat_models.d.ts +0 -1
  1084. package/dist/utils/testing/chat_models.d.ts.map +1 -1
  1085. package/dist/utils/testing/chat_models.js +4 -7
  1086. package/dist/utils/testing/chat_models.js.map +1 -1
  1087. package/dist/utils/testing/embeddings.cjs +4 -7
  1088. package/dist/utils/testing/embeddings.cjs.map +1 -1
  1089. package/dist/utils/testing/embeddings.d.cts +0 -1
  1090. package/dist/utils/testing/embeddings.d.cts.map +1 -1
  1091. package/dist/utils/testing/embeddings.d.ts +0 -1
  1092. package/dist/utils/testing/embeddings.d.ts.map +1 -1
  1093. package/dist/utils/testing/embeddings.js +3 -6
  1094. package/dist/utils/testing/embeddings.js.map +1 -1
  1095. package/dist/utils/testing/index.cjs +19 -20
  1096. package/dist/utils/testing/index.js +3 -5
  1097. package/dist/utils/testing/llms.cjs +2 -3
  1098. package/dist/utils/testing/llms.cjs.map +1 -1
  1099. package/dist/utils/testing/llms.d.cts.map +1 -1
  1100. package/dist/utils/testing/llms.d.ts.map +1 -1
  1101. package/dist/utils/testing/llms.js +1 -2
  1102. package/dist/utils/testing/llms.js.map +1 -1
  1103. package/dist/utils/testing/message_history.cjs +6 -7
  1104. package/dist/utils/testing/message_history.cjs.map +1 -1
  1105. package/dist/utils/testing/message_history.d.cts.map +1 -1
  1106. package/dist/utils/testing/message_history.d.ts +0 -1
  1107. package/dist/utils/testing/message_history.d.ts.map +1 -1
  1108. package/dist/utils/testing/message_history.js +2 -3
  1109. package/dist/utils/testing/message_history.js.map +1 -1
  1110. package/dist/utils/testing/output_parsers.cjs +2 -3
  1111. package/dist/utils/testing/output_parsers.cjs.map +1 -1
  1112. package/dist/utils/testing/output_parsers.d.cts +0 -1
  1113. package/dist/utils/testing/output_parsers.d.cts.map +1 -1
  1114. package/dist/utils/testing/output_parsers.d.ts +0 -1
  1115. package/dist/utils/testing/output_parsers.d.ts.map +1 -1
  1116. package/dist/utils/testing/output_parsers.js +1 -2
  1117. package/dist/utils/testing/output_parsers.js.map +1 -1
  1118. package/dist/utils/testing/retrievers.cjs +3 -4
  1119. package/dist/utils/testing/retrievers.cjs.map +1 -1
  1120. package/dist/utils/testing/retrievers.d.cts.map +1 -1
  1121. package/dist/utils/testing/retrievers.d.ts.map +1 -1
  1122. package/dist/utils/testing/retrievers.js +2 -3
  1123. package/dist/utils/testing/retrievers.js.map +1 -1
  1124. package/dist/utils/testing/runnables.cjs +2 -3
  1125. package/dist/utils/testing/runnables.cjs.map +1 -1
  1126. package/dist/utils/testing/runnables.d.cts.map +1 -1
  1127. package/dist/utils/testing/runnables.d.ts.map +1 -1
  1128. package/dist/utils/testing/runnables.js +1 -2
  1129. package/dist/utils/testing/runnables.js.map +1 -1
  1130. package/dist/utils/testing/tools.cjs +2 -3
  1131. package/dist/utils/testing/tools.cjs.map +1 -1
  1132. package/dist/utils/testing/tools.d.cts.map +1 -1
  1133. package/dist/utils/testing/tools.d.ts.map +1 -1
  1134. package/dist/utils/testing/tools.js +1 -2
  1135. package/dist/utils/testing/tools.js.map +1 -1
  1136. package/dist/utils/testing/tracers.cjs +2 -3
  1137. package/dist/utils/testing/tracers.cjs.map +1 -1
  1138. package/dist/utils/testing/tracers.d.cts.map +1 -1
  1139. package/dist/utils/testing/tracers.d.ts.map +1 -1
  1140. package/dist/utils/testing/tracers.js +1 -2
  1141. package/dist/utils/testing/tracers.js.map +1 -1
  1142. package/dist/utils/testing/vectorstores.cjs +10 -15
  1143. package/dist/utils/testing/vectorstores.cjs.map +1 -1
  1144. package/dist/utils/testing/vectorstores.d.cts +0 -1
  1145. package/dist/utils/testing/vectorstores.d.cts.map +1 -1
  1146. package/dist/utils/testing/vectorstores.d.ts +0 -1
  1147. package/dist/utils/testing/vectorstores.d.ts.map +1 -1
  1148. package/dist/utils/testing/vectorstores.js +8 -13
  1149. package/dist/utils/testing/vectorstores.js.map +1 -1
  1150. package/dist/utils/tiktoken.cjs +11 -12
  1151. package/dist/utils/tiktoken.cjs.map +1 -1
  1152. package/dist/utils/tiktoken.d.cts.map +1 -1
  1153. package/dist/utils/tiktoken.d.ts.map +1 -1
  1154. package/dist/utils/tiktoken.js +3 -5
  1155. package/dist/utils/tiktoken.js.map +1 -1
  1156. package/dist/utils/types/index.cjs +10 -11
  1157. package/dist/utils/types/index.cjs.map +1 -1
  1158. package/dist/utils/types/index.d.cts +2 -3
  1159. package/dist/utils/types/index.d.cts.map +1 -1
  1160. package/dist/utils/types/index.d.ts +2 -3
  1161. package/dist/utils/types/index.d.ts.map +1 -1
  1162. package/dist/utils/types/index.js +3 -5
  1163. package/dist/utils/types/index.js.map +1 -1
  1164. package/dist/utils/types/zod.cjs +20 -36
  1165. package/dist/utils/types/zod.cjs.map +1 -1
  1166. package/dist/utils/types/zod.d.cts +144 -33
  1167. package/dist/utils/types/zod.d.cts.map +1 -1
  1168. package/dist/utils/types/zod.d.ts +144 -33
  1169. package/dist/utils/types/zod.d.ts.map +1 -1
  1170. package/dist/utils/types/zod.js +18 -34
  1171. package/dist/utils/types/zod.js.map +1 -1
  1172. package/dist/utils/zod-to-json-schema/Options.cjs +1 -2
  1173. package/dist/utils/zod-to-json-schema/Options.cjs.map +1 -1
  1174. package/dist/utils/zod-to-json-schema/Options.d.cts +1 -0
  1175. package/dist/utils/zod-to-json-schema/Options.d.ts +1 -3
  1176. package/dist/utils/zod-to-json-schema/Options.js +1 -1
  1177. package/dist/utils/zod-to-json-schema/Options.js.map +1 -1
  1178. package/dist/utils/zod-to-json-schema/Refs.cjs +2 -3
  1179. package/dist/utils/zod-to-json-schema/Refs.cjs.map +1 -1
  1180. package/dist/utils/zod-to-json-schema/Refs.d.cts +1 -0
  1181. package/dist/utils/zod-to-json-schema/Refs.d.ts +1 -3
  1182. package/dist/utils/zod-to-json-schema/Refs.js +1 -2
  1183. package/dist/utils/zod-to-json-schema/Refs.js.map +1 -1
  1184. package/dist/utils/zod-to-json-schema/errorMessages.cjs +1 -2
  1185. package/dist/utils/zod-to-json-schema/errorMessages.cjs.map +1 -1
  1186. package/dist/utils/zod-to-json-schema/errorMessages.d.cts +0 -1
  1187. package/dist/utils/zod-to-json-schema/errorMessages.d.cts.map +1 -1
  1188. package/dist/utils/zod-to-json-schema/errorMessages.d.ts +0 -2
  1189. package/dist/utils/zod-to-json-schema/errorMessages.d.ts.map +1 -1
  1190. package/dist/utils/zod-to-json-schema/errorMessages.js +1 -1
  1191. package/dist/utils/zod-to-json-schema/errorMessages.js.map +1 -1
  1192. package/dist/utils/zod-to-json-schema/getRelativePath.cjs +1 -2
  1193. package/dist/utils/zod-to-json-schema/getRelativePath.cjs.map +1 -1
  1194. package/dist/utils/zod-to-json-schema/getRelativePath.js +1 -1
  1195. package/dist/utils/zod-to-json-schema/getRelativePath.js.map +1 -1
  1196. package/dist/utils/zod-to-json-schema/index.cjs +37 -37
  1197. package/dist/utils/zod-to-json-schema/index.d.cts +24 -0
  1198. package/dist/utils/zod-to-json-schema/index.d.ts +1 -14
  1199. package/dist/utils/zod-to-json-schema/index.js +38 -37
  1200. package/dist/utils/zod-to-json-schema/parseDef.cjs +5 -6
  1201. package/dist/utils/zod-to-json-schema/parseDef.cjs.map +1 -1
  1202. package/dist/utils/zod-to-json-schema/parseDef.d.cts +1 -0
  1203. package/dist/utils/zod-to-json-schema/parseDef.d.ts +1 -3
  1204. package/dist/utils/zod-to-json-schema/parseDef.js +1 -2
  1205. package/dist/utils/zod-to-json-schema/parseDef.js.map +1 -1
  1206. package/dist/utils/zod-to-json-schema/parseTypes.d.cts.map +1 -1
  1207. package/dist/utils/zod-to-json-schema/parseTypes.d.ts.map +1 -1
  1208. package/dist/utils/zod-to-json-schema/parsers/any.cjs +2 -3
  1209. package/dist/utils/zod-to-json-schema/parsers/any.cjs.map +1 -1
  1210. package/dist/utils/zod-to-json-schema/parsers/any.d.cts.map +1 -1
  1211. package/dist/utils/zod-to-json-schema/parsers/any.d.ts +0 -2
  1212. package/dist/utils/zod-to-json-schema/parsers/any.d.ts.map +1 -1
  1213. package/dist/utils/zod-to-json-schema/parsers/any.js +1 -2
  1214. package/dist/utils/zod-to-json-schema/parsers/any.js.map +1 -1
  1215. package/dist/utils/zod-to-json-schema/parsers/array.cjs +5 -6
  1216. package/dist/utils/zod-to-json-schema/parsers/array.cjs.map +1 -1
  1217. package/dist/utils/zod-to-json-schema/parsers/array.d.cts +0 -1
  1218. package/dist/utils/zod-to-json-schema/parsers/array.d.cts.map +1 -1
  1219. package/dist/utils/zod-to-json-schema/parsers/array.d.ts +0 -3
  1220. package/dist/utils/zod-to-json-schema/parsers/array.d.ts.map +1 -1
  1221. package/dist/utils/zod-to-json-schema/parsers/array.js +1 -2
  1222. package/dist/utils/zod-to-json-schema/parsers/array.js.map +1 -1
  1223. package/dist/utils/zod-to-json-schema/parsers/bigint.cjs +2 -3
  1224. package/dist/utils/zod-to-json-schema/parsers/bigint.cjs.map +1 -1
  1225. package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts +0 -1
  1226. package/dist/utils/zod-to-json-schema/parsers/bigint.d.cts.map +1 -1
  1227. package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts +0 -3
  1228. package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts.map +1 -1
  1229. package/dist/utils/zod-to-json-schema/parsers/bigint.js +1 -2
  1230. package/dist/utils/zod-to-json-schema/parsers/bigint.js.map +1 -1
  1231. package/dist/utils/zod-to-json-schema/parsers/boolean.cjs +1 -2
  1232. package/dist/utils/zod-to-json-schema/parsers/boolean.cjs.map +1 -1
  1233. package/dist/utils/zod-to-json-schema/parsers/boolean.d.cts.map +1 -1
  1234. package/dist/utils/zod-to-json-schema/parsers/boolean.d.ts.map +1 -1
  1235. package/dist/utils/zod-to-json-schema/parsers/boolean.js +1 -1
  1236. package/dist/utils/zod-to-json-schema/parsers/boolean.js.map +1 -1
  1237. package/dist/utils/zod-to-json-schema/parsers/branded.cjs +2 -3
  1238. package/dist/utils/zod-to-json-schema/parsers/branded.cjs.map +1 -1
  1239. package/dist/utils/zod-to-json-schema/parsers/branded.d.cts +1 -0
  1240. package/dist/utils/zod-to-json-schema/parsers/branded.d.ts +1 -3
  1241. package/dist/utils/zod-to-json-schema/parsers/branded.js +1 -2
  1242. package/dist/utils/zod-to-json-schema/parsers/branded.js.map +1 -1
  1243. package/dist/utils/zod-to-json-schema/parsers/catch.cjs +2 -3
  1244. package/dist/utils/zod-to-json-schema/parsers/catch.cjs.map +1 -1
  1245. package/dist/utils/zod-to-json-schema/parsers/catch.d.cts +1 -0
  1246. package/dist/utils/zod-to-json-schema/parsers/catch.d.ts +1 -3
  1247. package/dist/utils/zod-to-json-schema/parsers/catch.js +1 -2
  1248. package/dist/utils/zod-to-json-schema/parsers/catch.js.map +1 -1
  1249. package/dist/utils/zod-to-json-schema/parsers/date.cjs +2 -3
  1250. package/dist/utils/zod-to-json-schema/parsers/date.cjs.map +1 -1
  1251. package/dist/utils/zod-to-json-schema/parsers/date.d.cts +0 -2
  1252. package/dist/utils/zod-to-json-schema/parsers/date.d.cts.map +1 -1
  1253. package/dist/utils/zod-to-json-schema/parsers/date.d.ts +0 -4
  1254. package/dist/utils/zod-to-json-schema/parsers/date.d.ts.map +1 -1
  1255. package/dist/utils/zod-to-json-schema/parsers/date.js +1 -2
  1256. package/dist/utils/zod-to-json-schema/parsers/date.js.map +1 -1
  1257. package/dist/utils/zod-to-json-schema/parsers/default.cjs +2 -3
  1258. package/dist/utils/zod-to-json-schema/parsers/default.cjs.map +1 -1
  1259. package/dist/utils/zod-to-json-schema/parsers/default.d.cts +1 -0
  1260. package/dist/utils/zod-to-json-schema/parsers/default.d.ts +1 -3
  1261. package/dist/utils/zod-to-json-schema/parsers/default.js +1 -2
  1262. package/dist/utils/zod-to-json-schema/parsers/default.js.map +1 -1
  1263. package/dist/utils/zod-to-json-schema/parsers/effects.cjs +3 -4
  1264. package/dist/utils/zod-to-json-schema/parsers/effects.cjs.map +1 -1
  1265. package/dist/utils/zod-to-json-schema/parsers/effects.d.cts +1 -0
  1266. package/dist/utils/zod-to-json-schema/parsers/effects.d.ts +1 -3
  1267. package/dist/utils/zod-to-json-schema/parsers/effects.js +1 -2
  1268. package/dist/utils/zod-to-json-schema/parsers/effects.js.map +1 -1
  1269. package/dist/utils/zod-to-json-schema/parsers/enum.cjs +1 -2
  1270. package/dist/utils/zod-to-json-schema/parsers/enum.cjs.map +1 -1
  1271. package/dist/utils/zod-to-json-schema/parsers/enum.d.cts.map +1 -1
  1272. package/dist/utils/zod-to-json-schema/parsers/enum.d.ts +0 -2
  1273. package/dist/utils/zod-to-json-schema/parsers/enum.d.ts.map +1 -1
  1274. package/dist/utils/zod-to-json-schema/parsers/enum.js +1 -1
  1275. package/dist/utils/zod-to-json-schema/parsers/enum.js.map +1 -1
  1276. package/dist/utils/zod-to-json-schema/parsers/intersection.cjs +3 -4
  1277. package/dist/utils/zod-to-json-schema/parsers/intersection.cjs.map +1 -1
  1278. package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts +0 -1
  1279. package/dist/utils/zod-to-json-schema/parsers/intersection.d.cts.map +1 -1
  1280. package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts +0 -3
  1281. package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts.map +1 -1
  1282. package/dist/utils/zod-to-json-schema/parsers/intersection.js +2 -3
  1283. package/dist/utils/zod-to-json-schema/parsers/intersection.js.map +1 -1
  1284. package/dist/utils/zod-to-json-schema/parsers/literal.cjs +1 -2
  1285. package/dist/utils/zod-to-json-schema/parsers/literal.cjs.map +1 -1
  1286. package/dist/utils/zod-to-json-schema/parsers/literal.d.cts +0 -1
  1287. package/dist/utils/zod-to-json-schema/parsers/literal.d.cts.map +1 -1
  1288. package/dist/utils/zod-to-json-schema/parsers/literal.d.ts +0 -3
  1289. package/dist/utils/zod-to-json-schema/parsers/literal.d.ts.map +1 -1
  1290. package/dist/utils/zod-to-json-schema/parsers/literal.js +1 -1
  1291. package/dist/utils/zod-to-json-schema/parsers/literal.js.map +1 -1
  1292. package/dist/utils/zod-to-json-schema/parsers/map.cjs +21 -24
  1293. package/dist/utils/zod-to-json-schema/parsers/map.cjs.map +1 -1
  1294. package/dist/utils/zod-to-json-schema/parsers/map.d.cts +0 -2
  1295. package/dist/utils/zod-to-json-schema/parsers/map.d.cts.map +1 -1
  1296. package/dist/utils/zod-to-json-schema/parsers/map.d.ts +0 -4
  1297. package/dist/utils/zod-to-json-schema/parsers/map.d.ts.map +1 -1
  1298. package/dist/utils/zod-to-json-schema/parsers/map.js +18 -21
  1299. package/dist/utils/zod-to-json-schema/parsers/map.js.map +1 -1
  1300. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs +3 -5
  1301. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs.map +1 -1
  1302. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.cts.map +1 -1
  1303. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts +0 -2
  1304. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -1
  1305. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js +3 -4
  1306. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js.map +1 -1
  1307. package/dist/utils/zod-to-json-schema/parsers/never.cjs +2 -3
  1308. package/dist/utils/zod-to-json-schema/parsers/never.cjs.map +1 -1
  1309. package/dist/utils/zod-to-json-schema/parsers/never.d.cts +0 -1
  1310. package/dist/utils/zod-to-json-schema/parsers/never.d.cts.map +1 -1
  1311. package/dist/utils/zod-to-json-schema/parsers/never.d.ts +0 -2
  1312. package/dist/utils/zod-to-json-schema/parsers/never.d.ts.map +1 -1
  1313. package/dist/utils/zod-to-json-schema/parsers/never.js +1 -2
  1314. package/dist/utils/zod-to-json-schema/parsers/never.js.map +1 -1
  1315. package/dist/utils/zod-to-json-schema/parsers/null.cjs +1 -2
  1316. package/dist/utils/zod-to-json-schema/parsers/null.cjs.map +1 -1
  1317. package/dist/utils/zod-to-json-schema/parsers/null.d.cts.map +1 -1
  1318. package/dist/utils/zod-to-json-schema/parsers/null.d.ts +0 -2
  1319. package/dist/utils/zod-to-json-schema/parsers/null.d.ts.map +1 -1
  1320. package/dist/utils/zod-to-json-schema/parsers/null.js +1 -1
  1321. package/dist/utils/zod-to-json-schema/parsers/null.js.map +1 -1
  1322. package/dist/utils/zod-to-json-schema/parsers/nullable.cjs +8 -9
  1323. package/dist/utils/zod-to-json-schema/parsers/nullable.cjs.map +1 -1
  1324. package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts +0 -1
  1325. package/dist/utils/zod-to-json-schema/parsers/nullable.d.cts.map +1 -1
  1326. package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts +0 -3
  1327. package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
  1328. package/dist/utils/zod-to-json-schema/parsers/nullable.js +6 -7
  1329. package/dist/utils/zod-to-json-schema/parsers/nullable.js.map +1 -1
  1330. package/dist/utils/zod-to-json-schema/parsers/number.cjs +2 -3
  1331. package/dist/utils/zod-to-json-schema/parsers/number.cjs.map +1 -1
  1332. package/dist/utils/zod-to-json-schema/parsers/number.d.cts +0 -1
  1333. package/dist/utils/zod-to-json-schema/parsers/number.d.cts.map +1 -1
  1334. package/dist/utils/zod-to-json-schema/parsers/number.d.ts +0 -3
  1335. package/dist/utils/zod-to-json-schema/parsers/number.d.ts.map +1 -1
  1336. package/dist/utils/zod-to-json-schema/parsers/number.js +1 -2
  1337. package/dist/utils/zod-to-json-schema/parsers/number.js.map +1 -1
  1338. package/dist/utils/zod-to-json-schema/parsers/object.cjs +2 -3
  1339. package/dist/utils/zod-to-json-schema/parsers/object.cjs.map +1 -1
  1340. package/dist/utils/zod-to-json-schema/parsers/object.d.cts +0 -1
  1341. package/dist/utils/zod-to-json-schema/parsers/object.d.cts.map +1 -1
  1342. package/dist/utils/zod-to-json-schema/parsers/object.d.ts +0 -3
  1343. package/dist/utils/zod-to-json-schema/parsers/object.d.ts.map +1 -1
  1344. package/dist/utils/zod-to-json-schema/parsers/object.js +1 -2
  1345. package/dist/utils/zod-to-json-schema/parsers/object.js.map +1 -1
  1346. package/dist/utils/zod-to-json-schema/parsers/optional.cjs +3 -4
  1347. package/dist/utils/zod-to-json-schema/parsers/optional.cjs.map +1 -1
  1348. package/dist/utils/zod-to-json-schema/parsers/optional.d.cts +1 -0
  1349. package/dist/utils/zod-to-json-schema/parsers/optional.d.ts +1 -3
  1350. package/dist/utils/zod-to-json-schema/parsers/optional.js +1 -2
  1351. package/dist/utils/zod-to-json-schema/parsers/optional.js.map +1 -1
  1352. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs +4 -6
  1353. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs.map +1 -1
  1354. package/dist/utils/zod-to-json-schema/parsers/pipeline.d.cts +1 -0
  1355. package/dist/utils/zod-to-json-schema/parsers/pipeline.d.ts +1 -4
  1356. package/dist/utils/zod-to-json-schema/parsers/pipeline.js +3 -5
  1357. package/dist/utils/zod-to-json-schema/parsers/pipeline.js.map +1 -1
  1358. package/dist/utils/zod-to-json-schema/parsers/promise.cjs +2 -3
  1359. package/dist/utils/zod-to-json-schema/parsers/promise.cjs.map +1 -1
  1360. package/dist/utils/zod-to-json-schema/parsers/promise.d.cts +1 -0
  1361. package/dist/utils/zod-to-json-schema/parsers/promise.d.ts +1 -3
  1362. package/dist/utils/zod-to-json-schema/parsers/promise.js +1 -2
  1363. package/dist/utils/zod-to-json-schema/parsers/promise.js.map +1 -1
  1364. package/dist/utils/zod-to-json-schema/parsers/readonly.cjs +2 -3
  1365. package/dist/utils/zod-to-json-schema/parsers/readonly.cjs.map +1 -1
  1366. package/dist/utils/zod-to-json-schema/parsers/readonly.d.cts +1 -0
  1367. package/dist/utils/zod-to-json-schema/parsers/readonly.d.ts +1 -3
  1368. package/dist/utils/zod-to-json-schema/parsers/readonly.js +1 -2
  1369. package/dist/utils/zod-to-json-schema/parsers/readonly.js.map +1 -1
  1370. package/dist/utils/zod-to-json-schema/parsers/record.cjs +9 -10
  1371. package/dist/utils/zod-to-json-schema/parsers/record.cjs.map +1 -1
  1372. package/dist/utils/zod-to-json-schema/parsers/record.d.cts +0 -1
  1373. package/dist/utils/zod-to-json-schema/parsers/record.d.cts.map +1 -1
  1374. package/dist/utils/zod-to-json-schema/parsers/record.d.ts +0 -3
  1375. package/dist/utils/zod-to-json-schema/parsers/record.d.ts.map +1 -1
  1376. package/dist/utils/zod-to-json-schema/parsers/record.js +3 -4
  1377. package/dist/utils/zod-to-json-schema/parsers/record.js.map +1 -1
  1378. package/dist/utils/zod-to-json-schema/parsers/set.cjs +7 -9
  1379. package/dist/utils/zod-to-json-schema/parsers/set.cjs.map +1 -1
  1380. package/dist/utils/zod-to-json-schema/parsers/set.d.cts +0 -1
  1381. package/dist/utils/zod-to-json-schema/parsers/set.d.cts.map +1 -1
  1382. package/dist/utils/zod-to-json-schema/parsers/set.d.ts +0 -3
  1383. package/dist/utils/zod-to-json-schema/parsers/set.d.ts.map +1 -1
  1384. package/dist/utils/zod-to-json-schema/parsers/set.js +5 -7
  1385. package/dist/utils/zod-to-json-schema/parsers/set.js.map +1 -1
  1386. package/dist/utils/zod-to-json-schema/parsers/string.cjs +2 -3
  1387. package/dist/utils/zod-to-json-schema/parsers/string.cjs.map +1 -1
  1388. package/dist/utils/zod-to-json-schema/parsers/string.d.cts +0 -2
  1389. package/dist/utils/zod-to-json-schema/parsers/string.d.cts.map +1 -1
  1390. package/dist/utils/zod-to-json-schema/parsers/string.d.ts +0 -4
  1391. package/dist/utils/zod-to-json-schema/parsers/string.d.ts.map +1 -1
  1392. package/dist/utils/zod-to-json-schema/parsers/string.js +1 -2
  1393. package/dist/utils/zod-to-json-schema/parsers/string.js.map +1 -1
  1394. package/dist/utils/zod-to-json-schema/parsers/tuple.cjs +2 -3
  1395. package/dist/utils/zod-to-json-schema/parsers/tuple.cjs.map +1 -1
  1396. package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts +0 -1
  1397. package/dist/utils/zod-to-json-schema/parsers/tuple.d.cts.map +1 -1
  1398. package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts +0 -3
  1399. package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts.map +1 -1
  1400. package/dist/utils/zod-to-json-schema/parsers/tuple.js +1 -2
  1401. package/dist/utils/zod-to-json-schema/parsers/tuple.js.map +1 -1
  1402. package/dist/utils/zod-to-json-schema/parsers/undefined.cjs +2 -3
  1403. package/dist/utils/zod-to-json-schema/parsers/undefined.cjs.map +1 -1
  1404. package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts +0 -1
  1405. package/dist/utils/zod-to-json-schema/parsers/undefined.d.cts.map +1 -1
  1406. package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts +0 -2
  1407. package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts.map +1 -1
  1408. package/dist/utils/zod-to-json-schema/parsers/undefined.js +1 -2
  1409. package/dist/utils/zod-to-json-schema/parsers/undefined.js.map +1 -1
  1410. package/dist/utils/zod-to-json-schema/parsers/union.cjs +5 -9
  1411. package/dist/utils/zod-to-json-schema/parsers/union.cjs.map +1 -1
  1412. package/dist/utils/zod-to-json-schema/parsers/union.d.cts +1 -2
  1413. package/dist/utils/zod-to-json-schema/parsers/union.d.cts.map +1 -1
  1414. package/dist/utils/zod-to-json-schema/parsers/union.d.ts +0 -3
  1415. package/dist/utils/zod-to-json-schema/parsers/union.d.ts.map +1 -1
  1416. package/dist/utils/zod-to-json-schema/parsers/union.js +4 -8
  1417. package/dist/utils/zod-to-json-schema/parsers/union.js.map +1 -1
  1418. package/dist/utils/zod-to-json-schema/parsers/unknown.cjs +2 -3
  1419. package/dist/utils/zod-to-json-schema/parsers/unknown.cjs.map +1 -1
  1420. package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts +0 -1
  1421. package/dist/utils/zod-to-json-schema/parsers/unknown.d.cts.map +1 -1
  1422. package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts +0 -2
  1423. package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts.map +1 -1
  1424. package/dist/utils/zod-to-json-schema/parsers/unknown.js +1 -2
  1425. package/dist/utils/zod-to-json-schema/parsers/unknown.js.map +1 -1
  1426. package/dist/utils/zod-to-json-schema/selectParser.cjs +34 -35
  1427. package/dist/utils/zod-to-json-schema/selectParser.cjs.map +1 -1
  1428. package/dist/utils/zod-to-json-schema/selectParser.d.cts +1 -0
  1429. package/dist/utils/zod-to-json-schema/selectParser.d.ts +0 -2
  1430. package/dist/utils/zod-to-json-schema/selectParser.js +2 -3
  1431. package/dist/utils/zod-to-json-schema/selectParser.js.map +1 -1
  1432. package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs +7 -8
  1433. package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs.map +1 -1
  1434. package/dist/utils/zod-to-json-schema/zodToJsonSchema.d.cts +1 -0
  1435. package/dist/utils/zod-to-json-schema/zodToJsonSchema.d.ts +1 -3
  1436. package/dist/utils/zod-to-json-schema/zodToJsonSchema.js +4 -5
  1437. package/dist/utils/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
  1438. package/dist/vectorstores.cjs +12 -14
  1439. package/dist/vectorstores.cjs.map +1 -1
  1440. package/dist/vectorstores.d.cts +0 -1
  1441. package/dist/vectorstores.d.cts.map +1 -1
  1442. package/dist/vectorstores.d.ts +0 -1
  1443. package/dist/vectorstores.d.ts.map +1 -1
  1444. package/dist/vectorstores.js +4 -7
  1445. package/dist/vectorstores.js.map +1 -1
  1446. package/package.json +116 -19
  1447. package/dist/_virtual/rolldown_runtime.js +0 -11
@@ -1,34 +1,57 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require_zod = require('./types/zod.cjs');
3
- const require_zodToJsonSchema = require('./zod-to-json-schema/zodToJsonSchema.cjs');
4
- require('./zod-to-json-schema/index.cjs');
5
- const zod_v4_core = require_rolldown_runtime.__toESM(require("zod/v4/core"));
6
- const __cfworker_json_schema = require_rolldown_runtime.__toESM(require("@cfworker/json-schema"));
7
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
3
+ const require_zod = require("./types/zod.cjs");
4
+ const require_zodToJsonSchema = require("./zod-to-json-schema/zodToJsonSchema.cjs");
5
+ require("./zod-to-json-schema/index.cjs");
6
+ const require_utils_standard_schema = require("./standard_schema.cjs");
7
+ let zod_v4_core = require("zod/v4/core");
8
+ let _cfworker_json_schema = require("@cfworker/json-schema");
8
9
  //#region src/utils/json_schema.ts
9
- var json_schema_exports = {};
10
- require_rolldown_runtime.__export(json_schema_exports, {
11
- Validator: () => __cfworker_json_schema.Validator,
12
- deepCompareStrict: () => __cfworker_json_schema.deepCompareStrict,
10
+ var json_schema_exports = /* @__PURE__ */ require_runtime.__exportAll({
11
+ Validator: () => _cfworker_json_schema.Validator,
12
+ deepCompareStrict: () => _cfworker_json_schema.deepCompareStrict,
13
13
  toJsonSchema: () => toJsonSchema,
14
14
  validatesOnlyStrings: () => validatesOnlyStrings
15
15
  });
16
16
  /**
17
- * Converts a Zod schema or JSON schema to a JSON schema.
17
+ * WeakMap cache for Zod/Standard-Schema JSON Schema conversions.
18
+ *
19
+ * Keyed on the schema object reference. Since Zod schemas are immutable and
20
+ * the same `tool.schema` reference is passed on every LLM call, this
21
+ * eliminates redundant serializations. For example, an agent with 6 tools
22
+ * doing 15 steps across 3 parallel subagents would otherwise run 270
23
+ * identical conversions per invocation.
24
+ *
25
+ * Only used when no custom `params` are passed (the common case for tool
26
+ * binding). WeakMap ensures cached entries are GC'd when the schema goes
27
+ * out of scope.
28
+ *
29
+ * @internal
30
+ */
31
+ const _jsonSchemaCache = /* @__PURE__ */ new WeakMap();
32
+ /**
33
+ * Converts a Standard JSON schema, Zod schema or JSON schema to a JSON schema.
34
+ * Results are cached by schema reference when no custom params are passed.
18
35
  * @param schema - The schema to convert.
19
36
  * @param params - The parameters to pass to the toJSONSchema function.
20
37
  * @returns The converted schema.
21
38
  */
22
39
  function toJsonSchema(schema, params) {
23
- if (require_zod.isZodSchemaV4(schema)) {
24
- const inputSchema = require_zod.interopZodTransformInputSchema(schema, true);
25
- if (require_zod.isZodObjectV4(inputSchema)) {
26
- const strictSchema = require_zod.interopZodObjectStrict(inputSchema, true);
27
- return (0, zod_v4_core.toJSONSchema)(strictSchema, params);
28
- } else return (0, zod_v4_core.toJSONSchema)(schema, params);
40
+ const canCache = !params && schema != null && typeof schema === "object";
41
+ if (canCache) {
42
+ const cached = _jsonSchemaCache.get(schema);
43
+ if (cached) return cached;
29
44
  }
30
- if (require_zod.isZodSchemaV3(schema)) return require_zodToJsonSchema.zodToJsonSchema(schema);
31
- return schema;
45
+ let result;
46
+ if (require_utils_standard_schema.isStandardJsonSchema(schema) && !require_zod.isZodSchemaV4(schema)) result = schema["~standard"].jsonSchema.input({ target: "draft-07" });
47
+ else if (require_zod.isZodSchemaV4(schema)) {
48
+ const inputSchema = require_zod.interopZodTransformInputSchema(schema, true);
49
+ if (require_zod.isZodObjectV4(inputSchema)) result = (0, zod_v4_core.toJSONSchema)(require_zod.interopZodObjectStrict(inputSchema, true), params);
50
+ else result = (0, zod_v4_core.toJSONSchema)(schema, params);
51
+ } else if (require_zod.isZodSchemaV3(schema)) result = require_zodToJsonSchema.zodToJsonSchema(schema);
52
+ else result = schema;
53
+ if (canCache && result != null && typeof result === "object") _jsonSchemaCache.set(schema, result);
54
+ return result;
32
55
  }
33
56
  /**
34
57
  * Validates if a JSON schema validates only strings. May return false negatives in some edge cases
@@ -54,32 +77,32 @@ function validatesOnlyStrings(schema) {
54
77
  if ("not" in schema) return false;
55
78
  if ("$ref" in schema && typeof schema.$ref === "string") {
56
79
  const ref = schema.$ref;
57
- const resolved = (0, __cfworker_json_schema.dereference)(schema);
80
+ const resolved = (0, _cfworker_json_schema.dereference)(schema);
58
81
  if (resolved[ref]) return validatesOnlyStrings(resolved[ref]);
59
82
  return false;
60
83
  }
61
84
  return false;
62
85
  }
63
-
64
86
  //#endregion
65
- Object.defineProperty(exports, 'Validator', {
66
- enumerable: true,
67
- get: function () {
68
- return __cfworker_json_schema.Validator;
69
- }
87
+ Object.defineProperty(exports, "Validator", {
88
+ enumerable: true,
89
+ get: function() {
90
+ return _cfworker_json_schema.Validator;
91
+ }
70
92
  });
71
- Object.defineProperty(exports, 'deepCompareStrict', {
72
- enumerable: true,
73
- get: function () {
74
- return __cfworker_json_schema.deepCompareStrict;
75
- }
93
+ Object.defineProperty(exports, "deepCompareStrict", {
94
+ enumerable: true,
95
+ get: function() {
96
+ return _cfworker_json_schema.deepCompareStrict;
97
+ }
76
98
  });
77
- Object.defineProperty(exports, 'json_schema_exports', {
78
- enumerable: true,
79
- get: function () {
80
- return json_schema_exports;
81
- }
99
+ Object.defineProperty(exports, "json_schema_exports", {
100
+ enumerable: true,
101
+ get: function() {
102
+ return json_schema_exports;
103
+ }
82
104
  });
83
105
  exports.toJsonSchema = toJsonSchema;
84
106
  exports.validatesOnlyStrings = validatesOnlyStrings;
107
+
85
108
  //# sourceMappingURL=json_schema.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"json_schema.cjs","names":["schema: InteropZodType | JSONSchema","params?: ToJSONSchemaParams","isZodSchemaV4","interopZodTransformInputSchema","isZodObjectV4","interopZodObjectStrict","isZodSchemaV3","zodToJsonSchema","schema: unknown"],"sources":["../../src/utils/json_schema.ts"],"sourcesContent":["import { toJSONSchema } from \"zod/v4/core\";\nimport { dereference, type Schema } from \"@cfworker/json-schema\";\nimport {\n isZodSchemaV3,\n isZodSchemaV4,\n InteropZodType,\n interopZodObjectStrict,\n isZodObjectV4,\n ZodObjectV4,\n interopZodTransformInputSchema,\n} from \"./types/zod.js\";\nimport {\n type JsonSchema7Type as JSONSchema,\n zodToJsonSchema,\n} from \"./zod-to-json-schema/index.js\";\n\nexport { deepCompareStrict, Validator } from \"@cfworker/json-schema\";\n\nexport type ToJSONSchemaParams = NonNullable<\n Parameters<typeof toJSONSchema>[1]\n>;\n\n/**\n * Converts a Zod schema or JSON schema to a JSON schema.\n * @param schema - The schema to convert.\n * @param params - The parameters to pass to the toJSONSchema function.\n * @returns The converted schema.\n */\nexport function toJsonSchema(\n schema: InteropZodType | JSONSchema,\n params?: ToJSONSchemaParams\n): JSONSchema {\n if (isZodSchemaV4(schema)) {\n const inputSchema = interopZodTransformInputSchema(schema, true);\n if (isZodObjectV4(inputSchema)) {\n const strictSchema = interopZodObjectStrict(\n inputSchema,\n true\n ) as ZodObjectV4;\n return toJSONSchema(strictSchema, params);\n } else {\n return toJSONSchema(schema, params);\n }\n }\n if (isZodSchemaV3(schema)) {\n return zodToJsonSchema(schema);\n }\n return schema as JSONSchema;\n}\n\n/**\n * Validates if a JSON schema validates only strings. May return false negatives in some edge cases\n * (like recursive or unresolvable refs).\n *\n * @param schema - The schema to validate.\n * @returns `true` if the schema validates only strings, `false` otherwise.\n */\nexport function validatesOnlyStrings(schema: unknown): boolean {\n // Null, undefined, or empty schema\n if (\n !schema ||\n typeof schema !== \"object\" ||\n Object.keys(schema).length === 0 ||\n Array.isArray(schema)\n ) {\n return false; // Validates anything, not just strings\n }\n\n // Explicit type constraint\n if (\"type\" in schema) {\n if (typeof schema.type === \"string\") {\n return schema.type === \"string\";\n }\n\n if (Array.isArray(schema.type)) {\n // not sure why someone would do `\"type\": [\"string\"]` or especially `\"type\": [\"string\",\n // \"string\", \"string\", ...]` but we're not here to judge\n return schema.type.every((t) => t === \"string\");\n }\n return false; // Invalid or non-string type\n }\n\n // Enum with only string values\n if (\"enum\" in schema) {\n return (\n Array.isArray(schema.enum) &&\n schema.enum.length > 0 &&\n schema.enum.every((val) => typeof val === \"string\")\n );\n }\n\n // String constant\n if (\"const\" in schema) {\n return typeof schema.const === \"string\";\n }\n\n // Schema combinations\n if (\"allOf\" in schema && Array.isArray(schema.allOf)) {\n // If any subschema validates only strings, then the overall schema validates only strings\n return schema.allOf.some((subschema) => validatesOnlyStrings(subschema));\n }\n\n if (\n (\"anyOf\" in schema && Array.isArray(schema.anyOf)) ||\n (\"oneOf\" in schema && Array.isArray(schema.oneOf))\n ) {\n const subschemas = (\n \"anyOf\" in schema ? schema.anyOf : schema.oneOf\n ) as unknown[];\n\n // All subschemas must validate only strings\n return (\n subschemas.length > 0 &&\n subschemas.every((subschema) => validatesOnlyStrings(subschema))\n );\n }\n\n // We're not going to try on this one, it's too complex - we just assume if it has a \"not\" key and hasn't matched one of the above checks, it's not a string schema.\n if (\"not\" in schema) {\n return false; // The not case can validate non-strings\n }\n\n if (\"$ref\" in schema && typeof schema.$ref === \"string\") {\n const ref = schema.$ref as string;\n const resolved = dereference(schema as Schema);\n if (resolved[ref]) {\n return validatesOnlyStrings(resolved[ref]);\n }\n return false;\n }\n\n // ignore recursive refs and other cases where type is omitted for now\n // ignore other cases for now where type is omitted\n\n return false;\n}\n\n// Re-export of the types used throughout langchain for json schema serialization.\n// The plan is to eventually nix zod-to-json-schema altogether in place for\n// zod v4 / a more standardized way of serializing validated inputs, so its re-exported\n// here to remove the dependency on zod-to-json-schema in downstream packages until\n// a determination is made.\n\nexport {\n type JsonSchema7Type,\n type JsonSchema7Type as JSONSchema,\n type JsonSchema7ArrayType,\n type JsonSchema7ObjectType,\n type JsonSchema7StringType,\n type JsonSchema7NumberType,\n type JsonSchema7NullableType,\n} from \"./zod-to-json-schema/index.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA4BA,SAAgB,aACdA,QACAC,QACY;AACZ,KAAIC,0BAAc,OAAO,EAAE;EACzB,MAAM,cAAcC,2CAA+B,QAAQ,KAAK;AAChE,MAAIC,0BAAc,YAAY,EAAE;GAC9B,MAAM,eAAeC,mCACnB,aACA,KACD;AACD,wCAAoB,cAAc,OAAO;EAC1C,MACC,sCAAoB,QAAQ,OAAO;CAEtC;AACD,KAAIC,0BAAc,OAAO,CACvB,QAAOC,wCAAgB,OAAO;AAEhC,QAAO;AACR;;;;;;;;AASD,SAAgB,qBAAqBC,QAA0B;AAE7D,KACE,CAAC,UACD,OAAO,WAAW,YAClB,OAAO,KAAK,OAAO,CAAC,WAAW,KAC/B,MAAM,QAAQ,OAAO,CAErB,QAAO;AAIT,KAAI,UAAU,QAAQ;AACpB,MAAI,OAAO,OAAO,SAAS,SACzB,QAAO,OAAO,SAAS;AAGzB,MAAI,MAAM,QAAQ,OAAO,KAAK,CAG5B,QAAO,OAAO,KAAK,MAAM,CAAC,MAAM,MAAM,SAAS;AAEjD,SAAO;CACR;AAGD,KAAI,UAAU,OACZ,QACE,MAAM,QAAQ,OAAO,KAAK,IAC1B,OAAO,KAAK,SAAS,KACrB,OAAO,KAAK,MAAM,CAAC,QAAQ,OAAO,QAAQ,SAAS;AAKvD,KAAI,WAAW,OACb,QAAO,OAAO,OAAO,UAAU;AAIjC,KAAI,WAAW,UAAU,MAAM,QAAQ,OAAO,MAAM,CAElD,QAAO,OAAO,MAAM,KAAK,CAAC,cAAc,qBAAqB,UAAU,CAAC;AAG1E,KACG,WAAW,UAAU,MAAM,QAAQ,OAAO,MAAM,IAChD,WAAW,UAAU,MAAM,QAAQ,OAAO,MAAM,EACjD;EACA,MAAM,aACJ,WAAW,SAAS,OAAO,QAAQ,OAAO;AAI5C,SACE,WAAW,SAAS,KACpB,WAAW,MAAM,CAAC,cAAc,qBAAqB,UAAU,CAAC;CAEnE;AAGD,KAAI,SAAS,OACX,QAAO;AAGT,KAAI,UAAU,UAAU,OAAO,OAAO,SAAS,UAAU;EACvD,MAAM,MAAM,OAAO;EACnB,MAAM,mDAAuB,OAAiB;AAC9C,MAAI,SAAS,KACX,QAAO,qBAAqB,SAAS,KAAK;AAE5C,SAAO;CACR;AAKD,QAAO;AACR"}
1
+ {"version":3,"file":"json_schema.cjs","names":["isStandardJsonSchema","isZodSchemaV4","interopZodTransformInputSchema","isZodObjectV4","interopZodObjectStrict","isZodSchemaV3","zodToJsonSchema"],"sources":["../../src/utils/json_schema.ts"],"sourcesContent":["import { toJSONSchema, type $ZodType } from \"zod/v4/core\";\nimport { dereference, type Schema } from \"@cfworker/json-schema\";\nimport {\n isZodSchemaV3,\n isZodSchemaV4,\n InteropZodType,\n interopZodObjectStrict,\n isZodObjectV4,\n interopZodTransformInputSchema,\n} from \"./types/zod.js\";\nimport {\n type JsonSchema7Type as JSONSchema,\n zodToJsonSchema,\n} from \"./zod-to-json-schema/index.js\";\nimport { StandardJSONSchemaV1 } from \"@standard-schema/spec\";\nimport { isStandardJsonSchema } from \"./standard_schema.js\";\n\nexport { deepCompareStrict, Validator } from \"@cfworker/json-schema\";\n\nexport type ToJSONSchemaParams = NonNullable<\n Parameters<typeof toJSONSchema>[1]\n>;\n\n/**\n * WeakMap cache for Zod/Standard-Schema → JSON Schema conversions.\n *\n * Keyed on the schema object reference. Since Zod schemas are immutable and\n * the same `tool.schema` reference is passed on every LLM call, this\n * eliminates redundant serializations. For example, an agent with 6 tools\n * doing 15 steps across 3 parallel subagents would otherwise run 270\n * identical conversions per invocation.\n *\n * Only used when no custom `params` are passed (the common case for tool\n * binding). WeakMap ensures cached entries are GC'd when the schema goes\n * out of scope.\n *\n * @internal\n */\nconst _jsonSchemaCache = new WeakMap<object, JSONSchema>();\n\n/**\n * Converts a Standard JSON schema, Zod schema or JSON schema to a JSON schema.\n * Results are cached by schema reference when no custom params are passed.\n * @param schema - The schema to convert.\n * @param params - The parameters to pass to the toJSONSchema function.\n * @returns The converted schema.\n */\nexport function toJsonSchema(\n schema: StandardJSONSchemaV1 | InteropZodType | JSONSchema,\n params?: ToJSONSchemaParams\n): JSONSchema {\n // Cache when no custom params are passed (the default for tool binding).\n // Params can change the output (e.g., different target draft), so we\n // bypass the cache when they're provided.\n const canCache = !params && schema != null && typeof schema === \"object\";\n\n if (canCache) {\n const cached = _jsonSchemaCache.get(schema);\n if (cached) return cached;\n }\n\n let result: JSONSchema;\n\n if (isStandardJsonSchema(schema) && !isZodSchemaV4(schema)) {\n result = schema[\"~standard\"].jsonSchema.input({\n target: \"draft-07\",\n }) as JSONSchema;\n } else if (isZodSchemaV4(schema)) {\n const inputSchema = interopZodTransformInputSchema(schema, true);\n if (isZodObjectV4(inputSchema)) {\n const strictSchema = interopZodObjectStrict(inputSchema, true);\n result = toJSONSchema(strictSchema as unknown as $ZodType, params);\n } else {\n result = toJSONSchema(schema as unknown as $ZodType, params);\n }\n } else if (isZodSchemaV3(schema)) {\n result = zodToJsonSchema(schema as never);\n } else {\n result = schema as JSONSchema;\n }\n\n if (canCache && result != null && typeof result === \"object\") {\n _jsonSchemaCache.set(schema, result);\n }\n\n return result;\n}\n\n/**\n * Validates if a JSON schema validates only strings. May return false negatives in some edge cases\n * (like recursive or unresolvable refs).\n *\n * @param schema - The schema to validate.\n * @returns `true` if the schema validates only strings, `false` otherwise.\n */\nexport function validatesOnlyStrings(schema: unknown): boolean {\n // Null, undefined, or empty schema\n if (\n !schema ||\n typeof schema !== \"object\" ||\n Object.keys(schema).length === 0 ||\n Array.isArray(schema)\n ) {\n return false; // Validates anything, not just strings\n }\n\n // Explicit type constraint\n if (\"type\" in schema) {\n if (typeof schema.type === \"string\") {\n return schema.type === \"string\";\n }\n\n if (Array.isArray(schema.type)) {\n // not sure why someone would do `\"type\": [\"string\"]` or especially `\"type\": [\"string\",\n // \"string\", \"string\", ...]` but we're not here to judge\n return schema.type.every((t) => t === \"string\");\n }\n return false; // Invalid or non-string type\n }\n\n // Enum with only string values\n if (\"enum\" in schema) {\n return (\n Array.isArray(schema.enum) &&\n schema.enum.length > 0 &&\n schema.enum.every((val) => typeof val === \"string\")\n );\n }\n\n // String constant\n if (\"const\" in schema) {\n return typeof schema.const === \"string\";\n }\n\n // Schema combinations\n if (\"allOf\" in schema && Array.isArray(schema.allOf)) {\n // If any subschema validates only strings, then the overall schema validates only strings\n return schema.allOf.some((subschema) => validatesOnlyStrings(subschema));\n }\n\n if (\n (\"anyOf\" in schema && Array.isArray(schema.anyOf)) ||\n (\"oneOf\" in schema && Array.isArray(schema.oneOf))\n ) {\n const subschemas = (\n \"anyOf\" in schema ? schema.anyOf : schema.oneOf\n ) as unknown[];\n\n // All subschemas must validate only strings\n return (\n subschemas.length > 0 &&\n subschemas.every((subschema) => validatesOnlyStrings(subschema))\n );\n }\n\n // We're not going to try on this one, it's too complex - we just assume if it has a \"not\" key and hasn't matched one of the above checks, it's not a string schema.\n if (\"not\" in schema) {\n return false; // The not case can validate non-strings\n }\n\n if (\"$ref\" in schema && typeof schema.$ref === \"string\") {\n const ref = schema.$ref as string;\n const resolved = dereference(schema as Schema);\n if (resolved[ref]) {\n return validatesOnlyStrings(resolved[ref]);\n }\n return false;\n }\n\n // ignore recursive refs and other cases where type is omitted for now\n // ignore other cases for now where type is omitted\n\n return false;\n}\n\n// Re-export of the types used throughout langchain for json schema serialization.\n// The plan is to eventually nix zod-to-json-schema altogether in place for\n// zod v4 / a more standardized way of serializing validated inputs, so its re-exported\n// here to remove the dependency on zod-to-json-schema in downstream packages until\n// a determination is made.\n\nexport {\n type JsonSchema7Type,\n type JsonSchema7Type as JSONSchema,\n type JsonSchema7ArrayType,\n type JsonSchema7ObjectType,\n type JsonSchema7StringType,\n type JsonSchema7NumberType,\n type JsonSchema7NullableType,\n} from \"./zod-to-json-schema/index.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,MAAM,mCAAmB,IAAI,SAA6B;;;;;;;;AAS1D,SAAgB,aACd,QACA,QACY;CAIZ,MAAM,WAAW,CAAC,UAAU,UAAU,QAAQ,OAAO,WAAW;AAEhE,KAAI,UAAU;EACZ,MAAM,SAAS,iBAAiB,IAAI,OAAO;AAC3C,MAAI,OAAQ,QAAO;;CAGrB,IAAI;AAEJ,KAAIA,8BAAAA,qBAAqB,OAAO,IAAI,CAACC,YAAAA,cAAc,OAAO,CACxD,UAAS,OAAO,aAAa,WAAW,MAAM,EAC5C,QAAQ,YACT,CAAC;UACOA,YAAAA,cAAc,OAAO,EAAE;EAChC,MAAM,cAAcC,YAAAA,+BAA+B,QAAQ,KAAK;AAChE,MAAIC,YAAAA,cAAc,YAAY,CAE5B,WAAA,GAAA,YAAA,cADqBC,YAAAA,uBAAuB,aAAa,KAAK,EACH,OAAO;MAElE,WAAA,GAAA,YAAA,cAAsB,QAA+B,OAAO;YAErDC,YAAAA,cAAc,OAAO,CAC9B,UAASC,wBAAAA,gBAAgB,OAAgB;KAEzC,UAAS;AAGX,KAAI,YAAY,UAAU,QAAQ,OAAO,WAAW,SAClD,kBAAiB,IAAI,QAAQ,OAAO;AAGtC,QAAO;;;;;;;;;AAUT,SAAgB,qBAAqB,QAA0B;AAE7D,KACE,CAAC,UACD,OAAO,WAAW,YAClB,OAAO,KAAK,OAAO,CAAC,WAAW,KAC/B,MAAM,QAAQ,OAAO,CAErB,QAAO;AAIT,KAAI,UAAU,QAAQ;AACpB,MAAI,OAAO,OAAO,SAAS,SACzB,QAAO,OAAO,SAAS;AAGzB,MAAI,MAAM,QAAQ,OAAO,KAAK,CAG5B,QAAO,OAAO,KAAK,OAAO,MAAM,MAAM,SAAS;AAEjD,SAAO;;AAIT,KAAI,UAAU,OACZ,QACE,MAAM,QAAQ,OAAO,KAAK,IAC1B,OAAO,KAAK,SAAS,KACrB,OAAO,KAAK,OAAO,QAAQ,OAAO,QAAQ,SAAS;AAKvD,KAAI,WAAW,OACb,QAAO,OAAO,OAAO,UAAU;AAIjC,KAAI,WAAW,UAAU,MAAM,QAAQ,OAAO,MAAM,CAElD,QAAO,OAAO,MAAM,MAAM,cAAc,qBAAqB,UAAU,CAAC;AAG1E,KACG,WAAW,UAAU,MAAM,QAAQ,OAAO,MAAM,IAChD,WAAW,UAAU,MAAM,QAAQ,OAAO,MAAM,EACjD;EACA,MAAM,aACJ,WAAW,SAAS,OAAO,QAAQ,OAAO;AAI5C,SACE,WAAW,SAAS,KACpB,WAAW,OAAO,cAAc,qBAAqB,UAAU,CAAC;;AAKpE,KAAI,SAAS,OACX,QAAO;AAGT,KAAI,UAAU,UAAU,OAAO,OAAO,SAAS,UAAU;EACvD,MAAM,MAAM,OAAO;EACnB,MAAM,YAAA,GAAA,sBAAA,aAAuB,OAAiB;AAC9C,MAAI,SAAS,KACX,QAAO,qBAAqB,SAAS,KAAK;AAE5C,SAAO;;AAMT,QAAO"}
@@ -5,18 +5,20 @@ import { JsonSchema7StringType } from "./zod-to-json-schema/parsers/string.cjs";
5
5
  import { JsonSchema7NullableType } from "./zod-to-json-schema/parsers/nullable.cjs";
6
6
  import { JsonSchema7ObjectType } from "./zod-to-json-schema/parsers/object.cjs";
7
7
  import { JsonSchema7Type } from "./zod-to-json-schema/parseTypes.cjs";
8
+ import { StandardJSONSchemaV1 } from "@standard-schema/spec";
8
9
  import { toJSONSchema } from "zod/v4/core";
9
10
  import { Validator, deepCompareStrict } from "@cfworker/json-schema";
10
11
 
11
12
  //#region src/utils/json_schema.d.ts
12
13
  type ToJSONSchemaParams = NonNullable<Parameters<typeof toJSONSchema>[1]>;
13
14
  /**
14
- * Converts a Zod schema or JSON schema to a JSON schema.
15
+ * Converts a Standard JSON schema, Zod schema or JSON schema to a JSON schema.
16
+ * Results are cached by schema reference when no custom params are passed.
15
17
  * @param schema - The schema to convert.
16
18
  * @param params - The parameters to pass to the toJSONSchema function.
17
19
  * @returns The converted schema.
18
20
  */
19
- declare function toJsonSchema(schema: InteropZodType | JsonSchema7Type, params?: ToJSONSchemaParams): JsonSchema7Type;
21
+ declare function toJsonSchema(schema: StandardJSONSchemaV1 | InteropZodType | JsonSchema7Type, params?: ToJSONSchemaParams): JsonSchema7Type;
20
22
  /**
21
23
  * Validates if a JSON schema validates only strings. May return false negatives in some edge cases
22
24
  * (like recursive or unresolvable refs).
@@ -1 +1 @@
1
- {"version":3,"file":"json_schema.d.cts","names":["toJSONSchema","InteropZodType","JsonSchema7Type","JSONSchema","deepCompareStrict","Validator","ToJSONSchemaParams","Parameters","NonNullable","toJsonSchema","validatesOnlyStrings","JsonSchema7ArrayType","JsonSchema7ObjectType","JsonSchema7StringType","JsonSchema7NumberType","JsonSchema7NullableType"],"sources":["../../src/utils/json_schema.d.ts"],"sourcesContent":["import { toJSONSchema } from \"zod/v4/core\";\nimport { InteropZodType } from \"./types/zod.js\";\nimport { type JsonSchema7Type as JSONSchema } from \"./zod-to-json-schema/index.js\";\nexport { deepCompareStrict, Validator } from \"@cfworker/json-schema\";\nexport type ToJSONSchemaParams = NonNullable<Parameters<typeof toJSONSchema>[1]>;\n/**\n * Converts a Zod schema or JSON schema to a JSON schema.\n * @param schema - The schema to convert.\n * @param params - The parameters to pass to the toJSONSchema function.\n * @returns The converted schema.\n */\nexport declare function toJsonSchema(schema: InteropZodType | JSONSchema, params?: ToJSONSchemaParams): JSONSchema;\n/**\n * Validates if a JSON schema validates only strings. May return false negatives in some edge cases\n * (like recursive or unresolvable refs).\n *\n * @param schema - The schema to validate.\n * @returns `true` if the schema validates only strings, `false` otherwise.\n */\nexport declare function validatesOnlyStrings(schema: unknown): boolean;\nexport { type JsonSchema7Type, type JsonSchema7Type as JSONSchema, type JsonSchema7ArrayType, type JsonSchema7ObjectType, type JsonSchema7StringType, type JsonSchema7NumberType, type JsonSchema7NullableType, } from \"./zod-to-json-schema/index.js\";\n//# sourceMappingURL=json_schema.d.ts.map"],"mappings":";;;;;;;;;;;KAIYM,kBAAAA,GAAqBE,YAAYD,kBAAkBP;;;;;;;AAAnDM,iBAOYG,YAAAA,CAPM,MAAA,EAOeR,cAPf,GAOgCE,eAPhC,EAAA,MAAA,CAAA,EAOqDG,kBAPrD,CAAA,EAO0EH,eAP1E;;;;AAAc;AAO5C;;;AAAmFG,iBAQ3DI,oBAAAA,CAR2DJ,MAAAA,EAAAA,OAAAA,CAAAA,EAAAA,OAAAA"}
1
+ {"version":3,"file":"json_schema.d.cts","names":[],"sources":["../../src/utils/json_schema.ts"],"mappings":";;;;;;;;;;;;KAmBY,kBAAA,GAAqB,WAAA,CAC/B,UAAA,QAAkB,YAAA;;;;;;;;iBA2BJ,YAAA,CACd,MAAA,EAAQ,oBAAA,GAAuB,cAAA,GAAiB,eAAA,EAChD,MAAA,GAAS,kBAAA,GACR,eAAA;;;;;;;;iBA6Ca,oBAAA,CAAqB,MAAA"}
@@ -5,19 +5,20 @@ import { JsonSchema7StringType } from "./zod-to-json-schema/parsers/string.js";
5
5
  import { JsonSchema7NullableType } from "./zod-to-json-schema/parsers/nullable.js";
6
6
  import { JsonSchema7ObjectType } from "./zod-to-json-schema/parsers/object.js";
7
7
  import { JsonSchema7Type } from "./zod-to-json-schema/parseTypes.js";
8
- import "./zod-to-json-schema/index.js";
9
8
  import { toJSONSchema } from "zod/v4/core";
10
9
  import { Validator, deepCompareStrict } from "@cfworker/json-schema";
10
+ import { StandardJSONSchemaV1 } from "@standard-schema/spec";
11
11
 
12
12
  //#region src/utils/json_schema.d.ts
13
13
  type ToJSONSchemaParams = NonNullable<Parameters<typeof toJSONSchema>[1]>;
14
14
  /**
15
- * Converts a Zod schema or JSON schema to a JSON schema.
15
+ * Converts a Standard JSON schema, Zod schema or JSON schema to a JSON schema.
16
+ * Results are cached by schema reference when no custom params are passed.
16
17
  * @param schema - The schema to convert.
17
18
  * @param params - The parameters to pass to the toJSONSchema function.
18
19
  * @returns The converted schema.
19
20
  */
20
- declare function toJsonSchema(schema: InteropZodType | JsonSchema7Type, params?: ToJSONSchemaParams): JsonSchema7Type;
21
+ declare function toJsonSchema(schema: StandardJSONSchemaV1 | InteropZodType | JsonSchema7Type, params?: ToJSONSchemaParams): JsonSchema7Type;
21
22
  /**
22
23
  * Validates if a JSON schema validates only strings. May return false negatives in some edge cases
23
24
  * (like recursive or unresolvable refs).
@@ -1 +1 @@
1
- {"version":3,"file":"json_schema.d.ts","names":["toJSONSchema","InteropZodType","JsonSchema7Type","JSONSchema","deepCompareStrict","Validator","ToJSONSchemaParams","Parameters","NonNullable","toJsonSchema","validatesOnlyStrings","JsonSchema7ArrayType","JsonSchema7ObjectType","JsonSchema7StringType","JsonSchema7NumberType","JsonSchema7NullableType"],"sources":["../../src/utils/json_schema.d.ts"],"sourcesContent":["import { toJSONSchema } from \"zod/v4/core\";\nimport { InteropZodType } from \"./types/zod.js\";\nimport { type JsonSchema7Type as JSONSchema } from \"./zod-to-json-schema/index.js\";\nexport { deepCompareStrict, Validator } from \"@cfworker/json-schema\";\nexport type ToJSONSchemaParams = NonNullable<Parameters<typeof toJSONSchema>[1]>;\n/**\n * Converts a Zod schema or JSON schema to a JSON schema.\n * @param schema - The schema to convert.\n * @param params - The parameters to pass to the toJSONSchema function.\n * @returns The converted schema.\n */\nexport declare function toJsonSchema(schema: InteropZodType | JSONSchema, params?: ToJSONSchemaParams): JSONSchema;\n/**\n * Validates if a JSON schema validates only strings. May return false negatives in some edge cases\n * (like recursive or unresolvable refs).\n *\n * @param schema - The schema to validate.\n * @returns `true` if the schema validates only strings, `false` otherwise.\n */\nexport declare function validatesOnlyStrings(schema: unknown): boolean;\nexport { type JsonSchema7Type, type JsonSchema7Type as JSONSchema, type JsonSchema7ArrayType, type JsonSchema7ObjectType, type JsonSchema7StringType, type JsonSchema7NumberType, type JsonSchema7NullableType, } from \"./zod-to-json-schema/index.js\";\n//# sourceMappingURL=json_schema.d.ts.map"],"mappings":";;;;;;;;;;;;KAIYM,kBAAAA,GAAqBE,YAAYD,kBAAkBP;;;;;;;iBAOvCS,YAAAA,SAAqBR,iBAAiBE,0BAAqBG,qBAAqBH;AAPxG;;;;AAA4C;AAO5C;;AAA8DA,iBAQtCO,oBAAAA,CARsCP,MAAAA,EAAAA,OAAAA,CAAAA,EAAAA,OAAAA"}
1
+ {"version":3,"file":"json_schema.d.ts","names":[],"sources":["../../src/utils/json_schema.ts"],"mappings":";;;;;;;;;;;;KAmBY,kBAAA,GAAqB,WAAA,CAC/B,UAAA,QAAkB,YAAA;;;;;;;;iBA2BJ,YAAA,CACd,MAAA,EAAQ,oBAAA,GAAuB,cAAA,GAAiB,eAAA,EAChD,MAAA,GAAS,kBAAA,GACR,eAAA;;;;;;;;iBA6Ca,oBAAA,CAAqB,MAAA"}
@@ -1,34 +1,56 @@
1
- import { __export } from "../_virtual/rolldown_runtime.js";
1
+ import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import { interopZodObjectStrict, interopZodTransformInputSchema, isZodObjectV4, isZodSchemaV3, isZodSchemaV4 } from "./types/zod.js";
3
3
  import { zodToJsonSchema } from "./zod-to-json-schema/zodToJsonSchema.js";
4
4
  import "./zod-to-json-schema/index.js";
5
+ import { isStandardJsonSchema } from "./standard_schema.js";
5
6
  import { toJSONSchema } from "zod/v4/core";
6
7
  import { Validator, deepCompareStrict, dereference } from "@cfworker/json-schema";
7
-
8
8
  //#region src/utils/json_schema.ts
9
- var json_schema_exports = {};
10
- __export(json_schema_exports, {
9
+ var json_schema_exports = /* @__PURE__ */ __exportAll({
11
10
  Validator: () => Validator,
12
11
  deepCompareStrict: () => deepCompareStrict,
13
12
  toJsonSchema: () => toJsonSchema,
14
13
  validatesOnlyStrings: () => validatesOnlyStrings
15
14
  });
16
15
  /**
17
- * Converts a Zod schema or JSON schema to a JSON schema.
16
+ * WeakMap cache for Zod/Standard-Schema JSON Schema conversions.
17
+ *
18
+ * Keyed on the schema object reference. Since Zod schemas are immutable and
19
+ * the same `tool.schema` reference is passed on every LLM call, this
20
+ * eliminates redundant serializations. For example, an agent with 6 tools
21
+ * doing 15 steps across 3 parallel subagents would otherwise run 270
22
+ * identical conversions per invocation.
23
+ *
24
+ * Only used when no custom `params` are passed (the common case for tool
25
+ * binding). WeakMap ensures cached entries are GC'd when the schema goes
26
+ * out of scope.
27
+ *
28
+ * @internal
29
+ */
30
+ const _jsonSchemaCache = /* @__PURE__ */ new WeakMap();
31
+ /**
32
+ * Converts a Standard JSON schema, Zod schema or JSON schema to a JSON schema.
33
+ * Results are cached by schema reference when no custom params are passed.
18
34
  * @param schema - The schema to convert.
19
35
  * @param params - The parameters to pass to the toJSONSchema function.
20
36
  * @returns The converted schema.
21
37
  */
22
38
  function toJsonSchema(schema, params) {
23
- if (isZodSchemaV4(schema)) {
24
- const inputSchema = interopZodTransformInputSchema(schema, true);
25
- if (isZodObjectV4(inputSchema)) {
26
- const strictSchema = interopZodObjectStrict(inputSchema, true);
27
- return toJSONSchema(strictSchema, params);
28
- } else return toJSONSchema(schema, params);
39
+ const canCache = !params && schema != null && typeof schema === "object";
40
+ if (canCache) {
41
+ const cached = _jsonSchemaCache.get(schema);
42
+ if (cached) return cached;
29
43
  }
30
- if (isZodSchemaV3(schema)) return zodToJsonSchema(schema);
31
- return schema;
44
+ let result;
45
+ if (isStandardJsonSchema(schema) && !isZodSchemaV4(schema)) result = schema["~standard"].jsonSchema.input({ target: "draft-07" });
46
+ else if (isZodSchemaV4(schema)) {
47
+ const inputSchema = interopZodTransformInputSchema(schema, true);
48
+ if (isZodObjectV4(inputSchema)) result = toJSONSchema(interopZodObjectStrict(inputSchema, true), params);
49
+ else result = toJSONSchema(schema, params);
50
+ } else if (isZodSchemaV3(schema)) result = zodToJsonSchema(schema);
51
+ else result = schema;
52
+ if (canCache && result != null && typeof result === "object") _jsonSchemaCache.set(schema, result);
53
+ return result;
32
54
  }
33
55
  /**
34
56
  * Validates if a JSON schema validates only strings. May return false negatives in some edge cases
@@ -60,7 +82,7 @@ function validatesOnlyStrings(schema) {
60
82
  }
61
83
  return false;
62
84
  }
63
-
64
85
  //#endregion
65
86
  export { Validator, deepCompareStrict, json_schema_exports, toJsonSchema, validatesOnlyStrings };
87
+
66
88
  //# sourceMappingURL=json_schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json_schema.js","names":["schema: InteropZodType | JSONSchema","params?: ToJSONSchemaParams","schema: unknown"],"sources":["../../src/utils/json_schema.ts"],"sourcesContent":["import { toJSONSchema } from \"zod/v4/core\";\nimport { dereference, type Schema } from \"@cfworker/json-schema\";\nimport {\n isZodSchemaV3,\n isZodSchemaV4,\n InteropZodType,\n interopZodObjectStrict,\n isZodObjectV4,\n ZodObjectV4,\n interopZodTransformInputSchema,\n} from \"./types/zod.js\";\nimport {\n type JsonSchema7Type as JSONSchema,\n zodToJsonSchema,\n} from \"./zod-to-json-schema/index.js\";\n\nexport { deepCompareStrict, Validator } from \"@cfworker/json-schema\";\n\nexport type ToJSONSchemaParams = NonNullable<\n Parameters<typeof toJSONSchema>[1]\n>;\n\n/**\n * Converts a Zod schema or JSON schema to a JSON schema.\n * @param schema - The schema to convert.\n * @param params - The parameters to pass to the toJSONSchema function.\n * @returns The converted schema.\n */\nexport function toJsonSchema(\n schema: InteropZodType | JSONSchema,\n params?: ToJSONSchemaParams\n): JSONSchema {\n if (isZodSchemaV4(schema)) {\n const inputSchema = interopZodTransformInputSchema(schema, true);\n if (isZodObjectV4(inputSchema)) {\n const strictSchema = interopZodObjectStrict(\n inputSchema,\n true\n ) as ZodObjectV4;\n return toJSONSchema(strictSchema, params);\n } else {\n return toJSONSchema(schema, params);\n }\n }\n if (isZodSchemaV3(schema)) {\n return zodToJsonSchema(schema);\n }\n return schema as JSONSchema;\n}\n\n/**\n * Validates if a JSON schema validates only strings. May return false negatives in some edge cases\n * (like recursive or unresolvable refs).\n *\n * @param schema - The schema to validate.\n * @returns `true` if the schema validates only strings, `false` otherwise.\n */\nexport function validatesOnlyStrings(schema: unknown): boolean {\n // Null, undefined, or empty schema\n if (\n !schema ||\n typeof schema !== \"object\" ||\n Object.keys(schema).length === 0 ||\n Array.isArray(schema)\n ) {\n return false; // Validates anything, not just strings\n }\n\n // Explicit type constraint\n if (\"type\" in schema) {\n if (typeof schema.type === \"string\") {\n return schema.type === \"string\";\n }\n\n if (Array.isArray(schema.type)) {\n // not sure why someone would do `\"type\": [\"string\"]` or especially `\"type\": [\"string\",\n // \"string\", \"string\", ...]` but we're not here to judge\n return schema.type.every((t) => t === \"string\");\n }\n return false; // Invalid or non-string type\n }\n\n // Enum with only string values\n if (\"enum\" in schema) {\n return (\n Array.isArray(schema.enum) &&\n schema.enum.length > 0 &&\n schema.enum.every((val) => typeof val === \"string\")\n );\n }\n\n // String constant\n if (\"const\" in schema) {\n return typeof schema.const === \"string\";\n }\n\n // Schema combinations\n if (\"allOf\" in schema && Array.isArray(schema.allOf)) {\n // If any subschema validates only strings, then the overall schema validates only strings\n return schema.allOf.some((subschema) => validatesOnlyStrings(subschema));\n }\n\n if (\n (\"anyOf\" in schema && Array.isArray(schema.anyOf)) ||\n (\"oneOf\" in schema && Array.isArray(schema.oneOf))\n ) {\n const subschemas = (\n \"anyOf\" in schema ? schema.anyOf : schema.oneOf\n ) as unknown[];\n\n // All subschemas must validate only strings\n return (\n subschemas.length > 0 &&\n subschemas.every((subschema) => validatesOnlyStrings(subschema))\n );\n }\n\n // We're not going to try on this one, it's too complex - we just assume if it has a \"not\" key and hasn't matched one of the above checks, it's not a string schema.\n if (\"not\" in schema) {\n return false; // The not case can validate non-strings\n }\n\n if (\"$ref\" in schema && typeof schema.$ref === \"string\") {\n const ref = schema.$ref as string;\n const resolved = dereference(schema as Schema);\n if (resolved[ref]) {\n return validatesOnlyStrings(resolved[ref]);\n }\n return false;\n }\n\n // ignore recursive refs and other cases where type is omitted for now\n // ignore other cases for now where type is omitted\n\n return false;\n}\n\n// Re-export of the types used throughout langchain for json schema serialization.\n// The plan is to eventually nix zod-to-json-schema altogether in place for\n// zod v4 / a more standardized way of serializing validated inputs, so its re-exported\n// here to remove the dependency on zod-to-json-schema in downstream packages until\n// a determination is made.\n\nexport {\n type JsonSchema7Type,\n type JsonSchema7Type as JSONSchema,\n type JsonSchema7ArrayType,\n type JsonSchema7ObjectType,\n type JsonSchema7StringType,\n type JsonSchema7NumberType,\n type JsonSchema7NullableType,\n} from \"./zod-to-json-schema/index.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA4BA,SAAgB,aACdA,QACAC,QACY;AACZ,KAAI,cAAc,OAAO,EAAE;EACzB,MAAM,cAAc,+BAA+B,QAAQ,KAAK;AAChE,MAAI,cAAc,YAAY,EAAE;GAC9B,MAAM,eAAe,uBACnB,aACA,KACD;AACD,UAAO,aAAa,cAAc,OAAO;EAC1C,MACC,QAAO,aAAa,QAAQ,OAAO;CAEtC;AACD,KAAI,cAAc,OAAO,CACvB,QAAO,gBAAgB,OAAO;AAEhC,QAAO;AACR;;;;;;;;AASD,SAAgB,qBAAqBC,QAA0B;AAE7D,KACE,CAAC,UACD,OAAO,WAAW,YAClB,OAAO,KAAK,OAAO,CAAC,WAAW,KAC/B,MAAM,QAAQ,OAAO,CAErB,QAAO;AAIT,KAAI,UAAU,QAAQ;AACpB,MAAI,OAAO,OAAO,SAAS,SACzB,QAAO,OAAO,SAAS;AAGzB,MAAI,MAAM,QAAQ,OAAO,KAAK,CAG5B,QAAO,OAAO,KAAK,MAAM,CAAC,MAAM,MAAM,SAAS;AAEjD,SAAO;CACR;AAGD,KAAI,UAAU,OACZ,QACE,MAAM,QAAQ,OAAO,KAAK,IAC1B,OAAO,KAAK,SAAS,KACrB,OAAO,KAAK,MAAM,CAAC,QAAQ,OAAO,QAAQ,SAAS;AAKvD,KAAI,WAAW,OACb,QAAO,OAAO,OAAO,UAAU;AAIjC,KAAI,WAAW,UAAU,MAAM,QAAQ,OAAO,MAAM,CAElD,QAAO,OAAO,MAAM,KAAK,CAAC,cAAc,qBAAqB,UAAU,CAAC;AAG1E,KACG,WAAW,UAAU,MAAM,QAAQ,OAAO,MAAM,IAChD,WAAW,UAAU,MAAM,QAAQ,OAAO,MAAM,EACjD;EACA,MAAM,aACJ,WAAW,SAAS,OAAO,QAAQ,OAAO;AAI5C,SACE,WAAW,SAAS,KACpB,WAAW,MAAM,CAAC,cAAc,qBAAqB,UAAU,CAAC;CAEnE;AAGD,KAAI,SAAS,OACX,QAAO;AAGT,KAAI,UAAU,UAAU,OAAO,OAAO,SAAS,UAAU;EACvD,MAAM,MAAM,OAAO;EACnB,MAAM,WAAW,YAAY,OAAiB;AAC9C,MAAI,SAAS,KACX,QAAO,qBAAqB,SAAS,KAAK;AAE5C,SAAO;CACR;AAKD,QAAO;AACR"}
1
+ {"version":3,"file":"json_schema.js","names":[],"sources":["../../src/utils/json_schema.ts"],"sourcesContent":["import { toJSONSchema, type $ZodType } from \"zod/v4/core\";\nimport { dereference, type Schema } from \"@cfworker/json-schema\";\nimport {\n isZodSchemaV3,\n isZodSchemaV4,\n InteropZodType,\n interopZodObjectStrict,\n isZodObjectV4,\n interopZodTransformInputSchema,\n} from \"./types/zod.js\";\nimport {\n type JsonSchema7Type as JSONSchema,\n zodToJsonSchema,\n} from \"./zod-to-json-schema/index.js\";\nimport { StandardJSONSchemaV1 } from \"@standard-schema/spec\";\nimport { isStandardJsonSchema } from \"./standard_schema.js\";\n\nexport { deepCompareStrict, Validator } from \"@cfworker/json-schema\";\n\nexport type ToJSONSchemaParams = NonNullable<\n Parameters<typeof toJSONSchema>[1]\n>;\n\n/**\n * WeakMap cache for Zod/Standard-Schema → JSON Schema conversions.\n *\n * Keyed on the schema object reference. Since Zod schemas are immutable and\n * the same `tool.schema` reference is passed on every LLM call, this\n * eliminates redundant serializations. For example, an agent with 6 tools\n * doing 15 steps across 3 parallel subagents would otherwise run 270\n * identical conversions per invocation.\n *\n * Only used when no custom `params` are passed (the common case for tool\n * binding). WeakMap ensures cached entries are GC'd when the schema goes\n * out of scope.\n *\n * @internal\n */\nconst _jsonSchemaCache = new WeakMap<object, JSONSchema>();\n\n/**\n * Converts a Standard JSON schema, Zod schema or JSON schema to a JSON schema.\n * Results are cached by schema reference when no custom params are passed.\n * @param schema - The schema to convert.\n * @param params - The parameters to pass to the toJSONSchema function.\n * @returns The converted schema.\n */\nexport function toJsonSchema(\n schema: StandardJSONSchemaV1 | InteropZodType | JSONSchema,\n params?: ToJSONSchemaParams\n): JSONSchema {\n // Cache when no custom params are passed (the default for tool binding).\n // Params can change the output (e.g., different target draft), so we\n // bypass the cache when they're provided.\n const canCache = !params && schema != null && typeof schema === \"object\";\n\n if (canCache) {\n const cached = _jsonSchemaCache.get(schema);\n if (cached) return cached;\n }\n\n let result: JSONSchema;\n\n if (isStandardJsonSchema(schema) && !isZodSchemaV4(schema)) {\n result = schema[\"~standard\"].jsonSchema.input({\n target: \"draft-07\",\n }) as JSONSchema;\n } else if (isZodSchemaV4(schema)) {\n const inputSchema = interopZodTransformInputSchema(schema, true);\n if (isZodObjectV4(inputSchema)) {\n const strictSchema = interopZodObjectStrict(inputSchema, true);\n result = toJSONSchema(strictSchema as unknown as $ZodType, params);\n } else {\n result = toJSONSchema(schema as unknown as $ZodType, params);\n }\n } else if (isZodSchemaV3(schema)) {\n result = zodToJsonSchema(schema as never);\n } else {\n result = schema as JSONSchema;\n }\n\n if (canCache && result != null && typeof result === \"object\") {\n _jsonSchemaCache.set(schema, result);\n }\n\n return result;\n}\n\n/**\n * Validates if a JSON schema validates only strings. May return false negatives in some edge cases\n * (like recursive or unresolvable refs).\n *\n * @param schema - The schema to validate.\n * @returns `true` if the schema validates only strings, `false` otherwise.\n */\nexport function validatesOnlyStrings(schema: unknown): boolean {\n // Null, undefined, or empty schema\n if (\n !schema ||\n typeof schema !== \"object\" ||\n Object.keys(schema).length === 0 ||\n Array.isArray(schema)\n ) {\n return false; // Validates anything, not just strings\n }\n\n // Explicit type constraint\n if (\"type\" in schema) {\n if (typeof schema.type === \"string\") {\n return schema.type === \"string\";\n }\n\n if (Array.isArray(schema.type)) {\n // not sure why someone would do `\"type\": [\"string\"]` or especially `\"type\": [\"string\",\n // \"string\", \"string\", ...]` but we're not here to judge\n return schema.type.every((t) => t === \"string\");\n }\n return false; // Invalid or non-string type\n }\n\n // Enum with only string values\n if (\"enum\" in schema) {\n return (\n Array.isArray(schema.enum) &&\n schema.enum.length > 0 &&\n schema.enum.every((val) => typeof val === \"string\")\n );\n }\n\n // String constant\n if (\"const\" in schema) {\n return typeof schema.const === \"string\";\n }\n\n // Schema combinations\n if (\"allOf\" in schema && Array.isArray(schema.allOf)) {\n // If any subschema validates only strings, then the overall schema validates only strings\n return schema.allOf.some((subschema) => validatesOnlyStrings(subschema));\n }\n\n if (\n (\"anyOf\" in schema && Array.isArray(schema.anyOf)) ||\n (\"oneOf\" in schema && Array.isArray(schema.oneOf))\n ) {\n const subschemas = (\n \"anyOf\" in schema ? schema.anyOf : schema.oneOf\n ) as unknown[];\n\n // All subschemas must validate only strings\n return (\n subschemas.length > 0 &&\n subschemas.every((subschema) => validatesOnlyStrings(subschema))\n );\n }\n\n // We're not going to try on this one, it's too complex - we just assume if it has a \"not\" key and hasn't matched one of the above checks, it's not a string schema.\n if (\"not\" in schema) {\n return false; // The not case can validate non-strings\n }\n\n if (\"$ref\" in schema && typeof schema.$ref === \"string\") {\n const ref = schema.$ref as string;\n const resolved = dereference(schema as Schema);\n if (resolved[ref]) {\n return validatesOnlyStrings(resolved[ref]);\n }\n return false;\n }\n\n // ignore recursive refs and other cases where type is omitted for now\n // ignore other cases for now where type is omitted\n\n return false;\n}\n\n// Re-export of the types used throughout langchain for json schema serialization.\n// The plan is to eventually nix zod-to-json-schema altogether in place for\n// zod v4 / a more standardized way of serializing validated inputs, so its re-exported\n// here to remove the dependency on zod-to-json-schema in downstream packages until\n// a determination is made.\n\nexport {\n type JsonSchema7Type,\n type JsonSchema7Type as JSONSchema,\n type JsonSchema7ArrayType,\n type JsonSchema7ObjectType,\n type JsonSchema7StringType,\n type JsonSchema7NumberType,\n type JsonSchema7NullableType,\n} from \"./zod-to-json-schema/index.js\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,MAAM,mCAAmB,IAAI,SAA6B;;;;;;;;AAS1D,SAAgB,aACd,QACA,QACY;CAIZ,MAAM,WAAW,CAAC,UAAU,UAAU,QAAQ,OAAO,WAAW;AAEhE,KAAI,UAAU;EACZ,MAAM,SAAS,iBAAiB,IAAI,OAAO;AAC3C,MAAI,OAAQ,QAAO;;CAGrB,IAAI;AAEJ,KAAI,qBAAqB,OAAO,IAAI,CAAC,cAAc,OAAO,CACxD,UAAS,OAAO,aAAa,WAAW,MAAM,EAC5C,QAAQ,YACT,CAAC;UACO,cAAc,OAAO,EAAE;EAChC,MAAM,cAAc,+BAA+B,QAAQ,KAAK;AAChE,MAAI,cAAc,YAAY,CAE5B,UAAS,aADY,uBAAuB,aAAa,KAAK,EACH,OAAO;MAElE,UAAS,aAAa,QAA+B,OAAO;YAErD,cAAc,OAAO,CAC9B,UAAS,gBAAgB,OAAgB;KAEzC,UAAS;AAGX,KAAI,YAAY,UAAU,QAAQ,OAAO,WAAW,SAClD,kBAAiB,IAAI,QAAQ,OAAO;AAGtC,QAAO;;;;;;;;;AAUT,SAAgB,qBAAqB,QAA0B;AAE7D,KACE,CAAC,UACD,OAAO,WAAW,YAClB,OAAO,KAAK,OAAO,CAAC,WAAW,KAC/B,MAAM,QAAQ,OAAO,CAErB,QAAO;AAIT,KAAI,UAAU,QAAQ;AACpB,MAAI,OAAO,OAAO,SAAS,SACzB,QAAO,OAAO,SAAS;AAGzB,MAAI,MAAM,QAAQ,OAAO,KAAK,CAG5B,QAAO,OAAO,KAAK,OAAO,MAAM,MAAM,SAAS;AAEjD,SAAO;;AAIT,KAAI,UAAU,OACZ,QACE,MAAM,QAAQ,OAAO,KAAK,IAC1B,OAAO,KAAK,SAAS,KACrB,OAAO,KAAK,OAAO,QAAQ,OAAO,QAAQ,SAAS;AAKvD,KAAI,WAAW,OACb,QAAO,OAAO,OAAO,UAAU;AAIjC,KAAI,WAAW,UAAU,MAAM,QAAQ,OAAO,MAAM,CAElD,QAAO,OAAO,MAAM,MAAM,cAAc,qBAAqB,UAAU,CAAC;AAG1E,KACG,WAAW,UAAU,MAAM,QAAQ,OAAO,MAAM,IAChD,WAAW,UAAU,MAAM,QAAQ,OAAO,MAAM,EACjD;EACA,MAAM,aACJ,WAAW,SAAS,OAAO,QAAQ,OAAO;AAI5C,SACE,WAAW,SAAS,KACpB,WAAW,OAAO,cAAc,qBAAqB,UAAU,CAAC;;AAKpE,KAAI,SAAS,OACX,QAAO;AAGT,KAAI,UAAU,UAAU,OAAO,OAAO,SAAS,UAAU;EACvD,MAAM,MAAM,OAAO;EACnB,MAAM,WAAW,YAAY,OAAiB;AAC9C,MAAI,SAAS,KACX,QAAO,qBAAqB,SAAS,KAAK;AAE5C,SAAO;;AAMT,QAAO"}
@@ -1,14 +1,13 @@
1
- const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs');
2
- const require_similarities = require('./ml-distance/similarities.cjs');
3
- const require_distances = require('./ml-distance/distances.cjs');
4
- const require_euclidean = require('./ml-distance-euclidean/euclidean.cjs');
5
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
3
+ const require_similarities = require("./ml-distance/similarities.cjs");
4
+ const require_distances = require("./ml-distance/distances.cjs");
5
+ const require_euclidean = require("./ml-distance-euclidean/euclidean.cjs");
6
6
  //#region src/utils/math.ts
7
- var math_exports = {};
8
- require_rolldown_runtime.__export(math_exports, {
7
+ var math_exports = /* @__PURE__ */ require_runtime.__exportAll({
9
8
  cosineSimilarity: () => cosineSimilarity,
10
9
  euclideanDistance: () => euclideanDistance,
11
- innerProduct: () => innerProduct$1,
10
+ innerProduct: () => innerProduct,
12
11
  matrixFunc: () => matrixFunc,
13
12
  maximalMarginalRelevance: () => maximalMarginalRelevance,
14
13
  normalize: () => normalize
@@ -46,7 +45,7 @@ function normalize(M, similarity = false) {
46
45
  function cosineSimilarity(X, Y) {
47
46
  return matrixFunc(X, Y, require_similarities.cosine);
48
47
  }
49
- function innerProduct$1(X, Y) {
48
+ function innerProduct(X, Y) {
50
49
  return matrixFunc(X, Y, require_distances.innerProduct);
51
50
  }
52
51
  function euclideanDistance(X, Y) {
@@ -65,8 +64,7 @@ function euclideanDistance(X, Y) {
65
64
  */
66
65
  function maximalMarginalRelevance(queryEmbedding, embeddingList, lambda = .5, k = 4) {
67
66
  if (Math.min(k, embeddingList.length) <= 0) return [];
68
- const queryEmbeddingExpanded = Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding];
69
- const similarityToQuery = cosineSimilarity(queryEmbeddingExpanded, embeddingList)[0];
67
+ const similarityToQuery = cosineSimilarity(Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding], embeddingList)[0];
70
68
  const mostSimilarEmbeddingIndex = argMax(similarityToQuery).maxIndex;
71
69
  const selectedEmbeddings = [embeddingList[mostSimilarEmbeddingIndex]];
72
70
  const selectedEmbeddingsIndexes = [mostSimilarEmbeddingIndex];
@@ -113,18 +111,18 @@ function argMax(array) {
113
111
  function matrixMaxVal(arrays) {
114
112
  return arrays.reduce((acc, array) => Math.max(acc, argMax(array).maxValue), 0);
115
113
  }
116
-
117
114
  //#endregion
118
115
  exports.cosineSimilarity = cosineSimilarity;
119
116
  exports.euclideanDistance = euclideanDistance;
120
- exports.innerProduct = innerProduct$1;
121
- Object.defineProperty(exports, 'math_exports', {
122
- enumerable: true,
123
- get: function () {
124
- return math_exports;
125
- }
117
+ exports.innerProduct = innerProduct;
118
+ Object.defineProperty(exports, "math_exports", {
119
+ enumerable: true,
120
+ get: function() {
121
+ return math_exports;
122
+ }
126
123
  });
127
124
  exports.matrixFunc = matrixFunc;
128
125
  exports.maximalMarginalRelevance = maximalMarginalRelevance;
129
126
  exports.normalize = normalize;
127
+
130
128
  //# sourceMappingURL=math.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"math.cjs","names":["X: number[][]","Y: number[][]","func: VectorFunction","M: number[][]","cosine","innerProduct","innerProductDistance","euclidean","queryEmbedding: number[] | number[][]","embeddingList: number[][]","array: number[]","arrays: number[][]"],"sources":["../../src/utils/math.ts"],"sourcesContent":["import { cosine } from \"./ml-distance/similarities.js\";\nimport { innerProduct as innerProductDistance } from \"./ml-distance/distances.js\";\nimport { euclidean } from \"./ml-distance-euclidean/euclidean.js\";\n\ntype VectorFunction = (xVector: number[], yVector: number[]) => number;\n\n/**\n * Apply a row-wise function between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n * @param {VectorFunction} func - The function to apply.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.\n */\n\nexport function matrixFunc(\n X: number[][],\n Y: number[][],\n func: VectorFunction\n): number[][] {\n if (\n X.length === 0 ||\n X[0].length === 0 ||\n Y.length === 0 ||\n Y[0].length === 0\n ) {\n return [[]];\n }\n\n if (X[0].length !== Y[0].length) {\n throw new Error(\n `Number of columns in X and Y must be the same. X has shape ${[\n X.length,\n X[0].length,\n ]} and Y has shape ${[Y.length, Y[0].length]}.`\n );\n }\n\n return X.map((xVector) =>\n Y.map((yVector) => func(xVector, yVector)).map((similarity) =>\n Number.isNaN(similarity) ? 0 : similarity\n )\n );\n}\n\nexport function normalize(M: number[][], similarity = false): number[][] {\n const max = matrixMaxVal(M);\n return M.map((row) =>\n row.map((val) => (similarity ? 1 - val / max : val / max))\n );\n}\n\n/**\n * This function calculates the row-wise cosine similarity between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.\n */\nexport function cosineSimilarity(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, cosine);\n}\n\nexport function innerProduct(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, innerProductDistance);\n}\n\nexport function euclideanDistance(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, euclidean);\n}\n\n/**\n * This function implements the Maximal Marginal Relevance algorithm\n * to select a set of embeddings that maximizes the diversity and relevance to a query embedding.\n *\n * @param {number[]|number[][]} queryEmbedding - The query embedding.\n * @param {number[][]} embeddingList - The list of embeddings to select from.\n * @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.\n * @param {number} [k=4] - The maximum number of embeddings to select.\n *\n * @returns {number[]} The indexes of the selected embeddings in the embeddingList.\n */\nexport function maximalMarginalRelevance(\n queryEmbedding: number[] | number[][],\n embeddingList: number[][],\n lambda = 0.5,\n k = 4\n): number[] {\n if (Math.min(k, embeddingList.length) <= 0) {\n return [];\n }\n\n const queryEmbeddingExpanded = (\n Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding]\n ) as number[][];\n\n const similarityToQuery = cosineSimilarity(\n queryEmbeddingExpanded,\n embeddingList\n )[0];\n const mostSimilarEmbeddingIndex = argMax(similarityToQuery).maxIndex;\n\n const selectedEmbeddings = [embeddingList[mostSimilarEmbeddingIndex]];\n const selectedEmbeddingsIndexes = [mostSimilarEmbeddingIndex];\n\n while (selectedEmbeddingsIndexes.length < Math.min(k, embeddingList.length)) {\n let bestScore = -Infinity;\n let bestIndex = -1;\n\n const similarityToSelected = cosineSimilarity(\n embeddingList,\n selectedEmbeddings\n );\n\n similarityToQuery.forEach((queryScore, queryScoreIndex) => {\n if (selectedEmbeddingsIndexes.includes(queryScoreIndex)) {\n return;\n }\n const maxSimilarityToSelected = Math.max(\n ...similarityToSelected[queryScoreIndex]\n );\n const score =\n lambda * queryScore - (1 - lambda) * maxSimilarityToSelected;\n\n if (score > bestScore) {\n bestScore = score;\n bestIndex = queryScoreIndex;\n }\n });\n selectedEmbeddings.push(embeddingList[bestIndex]);\n selectedEmbeddingsIndexes.push(bestIndex);\n }\n\n return selectedEmbeddingsIndexes;\n}\n\ntype MaxInfo = {\n maxIndex: number;\n maxValue: number;\n};\n\n/**\n * Finds the index of the maximum value in the given array.\n * @param {number[]} array - The input array.\n *\n * @returns {number} The index of the maximum value in the array. If the array is empty, returns -1.\n */\nfunction argMax(array: number[]): MaxInfo {\n if (array.length === 0) {\n return {\n maxIndex: -1,\n maxValue: NaN,\n };\n }\n\n let maxValue = array[0];\n let maxIndex = 0;\n\n for (let i = 1; i < array.length; i += 1) {\n if (array[i] > maxValue) {\n maxIndex = i;\n maxValue = array[i];\n }\n }\n return { maxIndex, maxValue };\n}\n\nfunction matrixMaxVal(arrays: number[][]): number {\n return arrays.reduce(\n (acc, array) => Math.max(acc, argMax(array).maxValue),\n 0\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,SAAgB,WACdA,GACAC,GACAC,MACY;AACZ,KACE,EAAE,WAAW,KACb,EAAE,GAAG,WAAW,KAChB,EAAE,WAAW,KACb,EAAE,GAAG,WAAW,EAEhB,QAAO,CAAC,CAAE,CAAC;AAGb,KAAI,EAAE,GAAG,WAAW,EAAE,GAAG,OACvB,OAAM,IAAI,MACR,CAAC,2DAA2D,EAAE,CAC5D,EAAE,QACF,EAAE,GAAG,MACN,EAAC,iBAAiB,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAO,EAAC,CAAC,CAAC;AAInD,QAAO,EAAE,IAAI,CAAC,YACZ,EAAE,IAAI,CAAC,YAAY,KAAK,SAAS,QAAQ,CAAC,CAAC,IAAI,CAAC,eAC9C,OAAO,MAAM,WAAW,GAAG,IAAI,WAChC,CACF;AACF;AAED,SAAgB,UAAUC,GAAe,aAAa,OAAmB;CACvE,MAAM,MAAM,aAAa,EAAE;AAC3B,QAAO,EAAE,IAAI,CAAC,QACZ,IAAI,IAAI,CAAC,QAAS,aAAa,IAAI,MAAM,MAAM,MAAM,IAAK,CAC3D;AACF;;;;;;;;;;;AAYD,SAAgB,iBAAiBH,GAAeC,GAA2B;AACzE,QAAO,WAAW,GAAG,GAAGG,4BAAO;AAChC;AAED,SAAgBC,eAAaL,GAAeC,GAA2B;AACrE,QAAO,WAAW,GAAG,GAAGK,+BAAqB;AAC9C;AAED,SAAgB,kBAAkBN,GAAeC,GAA2B;AAC1E,QAAO,WAAW,GAAG,GAAGM,4BAAU;AACnC;;;;;;;;;;;;AAaD,SAAgB,yBACdC,gBACAC,eACA,SAAS,IACT,IAAI,GACM;AACV,KAAI,KAAK,IAAI,GAAG,cAAc,OAAO,IAAI,EACvC,QAAO,CAAE;CAGX,MAAM,yBACJ,MAAM,QAAQ,eAAe,GAAG,GAAG,iBAAiB,CAAC,cAAe;CAGtE,MAAM,oBAAoB,iBACxB,wBACA,cACD,CAAC;CACF,MAAM,4BAA4B,OAAO,kBAAkB,CAAC;CAE5D,MAAM,qBAAqB,CAAC,cAAc,0BAA2B;CACrE,MAAM,4BAA4B,CAAC,yBAA0B;AAE7D,QAAO,0BAA0B,SAAS,KAAK,IAAI,GAAG,cAAc,OAAO,EAAE;EAC3E,IAAI,YAAY;EAChB,IAAI,YAAY;EAEhB,MAAM,uBAAuB,iBAC3B,eACA,mBACD;EAED,kBAAkB,QAAQ,CAAC,YAAY,oBAAoB;AACzD,OAAI,0BAA0B,SAAS,gBAAgB,CACrD;GAEF,MAAM,0BAA0B,KAAK,IACnC,GAAG,qBAAqB,iBACzB;GACD,MAAM,QACJ,SAAS,cAAc,IAAI,UAAU;AAEvC,OAAI,QAAQ,WAAW;IACrB,YAAY;IACZ,YAAY;GACb;EACF,EAAC;EACF,mBAAmB,KAAK,cAAc,WAAW;EACjD,0BAA0B,KAAK,UAAU;CAC1C;AAED,QAAO;AACR;;;;;;;AAaD,SAAS,OAAOC,OAA0B;AACxC,KAAI,MAAM,WAAW,EACnB,QAAO;EACL,UAAU;EACV,UAAU;CACX;CAGH,IAAI,WAAW,MAAM;CACrB,IAAI,WAAW;AAEf,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,EACrC,KAAI,MAAM,KAAK,UAAU;EACvB,WAAW;EACX,WAAW,MAAM;CAClB;AAEH,QAAO;EAAE;EAAU;CAAU;AAC9B;AAED,SAAS,aAAaC,QAA4B;AAChD,QAAO,OAAO,OACZ,CAAC,KAAK,UAAU,KAAK,IAAI,KAAK,OAAO,MAAM,CAAC,SAAS,EACrD,EACD;AACF"}
1
+ {"version":3,"file":"math.cjs","names":["cosine","innerProductDistance","euclidean"],"sources":["../../src/utils/math.ts"],"sourcesContent":["import { cosine } from \"./ml-distance/similarities.js\";\nimport { innerProduct as innerProductDistance } from \"./ml-distance/distances.js\";\nimport { euclidean } from \"./ml-distance-euclidean/euclidean.js\";\n\ntype VectorFunction = (xVector: number[], yVector: number[]) => number;\n\n/**\n * Apply a row-wise function between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n * @param {VectorFunction} func - The function to apply.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.\n */\n\nexport function matrixFunc(\n X: number[][],\n Y: number[][],\n func: VectorFunction\n): number[][] {\n if (\n X.length === 0 ||\n X[0].length === 0 ||\n Y.length === 0 ||\n Y[0].length === 0\n ) {\n return [[]];\n }\n\n if (X[0].length !== Y[0].length) {\n throw new Error(\n `Number of columns in X and Y must be the same. X has shape ${[\n X.length,\n X[0].length,\n ]} and Y has shape ${[Y.length, Y[0].length]}.`\n );\n }\n\n return X.map((xVector) =>\n Y.map((yVector) => func(xVector, yVector)).map((similarity) =>\n Number.isNaN(similarity) ? 0 : similarity\n )\n );\n}\n\nexport function normalize(M: number[][], similarity = false): number[][] {\n const max = matrixMaxVal(M);\n return M.map((row) =>\n row.map((val) => (similarity ? 1 - val / max : val / max))\n );\n}\n\n/**\n * This function calculates the row-wise cosine similarity between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.\n */\nexport function cosineSimilarity(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, cosine);\n}\n\nexport function innerProduct(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, innerProductDistance);\n}\n\nexport function euclideanDistance(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, euclidean);\n}\n\n/**\n * This function implements the Maximal Marginal Relevance algorithm\n * to select a set of embeddings that maximizes the diversity and relevance to a query embedding.\n *\n * @param {number[]|number[][]} queryEmbedding - The query embedding.\n * @param {number[][]} embeddingList - The list of embeddings to select from.\n * @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.\n * @param {number} [k=4] - The maximum number of embeddings to select.\n *\n * @returns {number[]} The indexes of the selected embeddings in the embeddingList.\n */\nexport function maximalMarginalRelevance(\n queryEmbedding: number[] | number[][],\n embeddingList: number[][],\n lambda = 0.5,\n k = 4\n): number[] {\n if (Math.min(k, embeddingList.length) <= 0) {\n return [];\n }\n\n const queryEmbeddingExpanded = (\n Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding]\n ) as number[][];\n\n const similarityToQuery = cosineSimilarity(\n queryEmbeddingExpanded,\n embeddingList\n )[0];\n const mostSimilarEmbeddingIndex = argMax(similarityToQuery).maxIndex;\n\n const selectedEmbeddings = [embeddingList[mostSimilarEmbeddingIndex]];\n const selectedEmbeddingsIndexes = [mostSimilarEmbeddingIndex];\n\n while (selectedEmbeddingsIndexes.length < Math.min(k, embeddingList.length)) {\n let bestScore = -Infinity;\n let bestIndex = -1;\n\n const similarityToSelected = cosineSimilarity(\n embeddingList,\n selectedEmbeddings\n );\n\n similarityToQuery.forEach((queryScore, queryScoreIndex) => {\n if (selectedEmbeddingsIndexes.includes(queryScoreIndex)) {\n return;\n }\n const maxSimilarityToSelected = Math.max(\n ...similarityToSelected[queryScoreIndex]\n );\n const score =\n lambda * queryScore - (1 - lambda) * maxSimilarityToSelected;\n\n if (score > bestScore) {\n bestScore = score;\n bestIndex = queryScoreIndex;\n }\n });\n selectedEmbeddings.push(embeddingList[bestIndex]);\n selectedEmbeddingsIndexes.push(bestIndex);\n }\n\n return selectedEmbeddingsIndexes;\n}\n\ntype MaxInfo = {\n maxIndex: number;\n maxValue: number;\n};\n\n/**\n * Finds the index of the maximum value in the given array.\n * @param {number[]} array - The input array.\n *\n * @returns {number} The index of the maximum value in the array. If the array is empty, returns -1.\n */\nfunction argMax(array: number[]): MaxInfo {\n if (array.length === 0) {\n return {\n maxIndex: -1,\n maxValue: NaN,\n };\n }\n\n let maxValue = array[0];\n let maxIndex = 0;\n\n for (let i = 1; i < array.length; i += 1) {\n if (array[i] > maxValue) {\n maxIndex = i;\n maxValue = array[i];\n }\n }\n return { maxIndex, maxValue };\n}\n\nfunction matrixMaxVal(arrays: number[][]): number {\n return arrays.reduce(\n (acc, array) => Math.max(acc, argMax(array).maxValue),\n 0\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,SAAgB,WACd,GACA,GACA,MACY;AACZ,KACE,EAAE,WAAW,KACb,EAAE,GAAG,WAAW,KAChB,EAAE,WAAW,KACb,EAAE,GAAG,WAAW,EAEhB,QAAO,CAAC,EAAE,CAAC;AAGb,KAAI,EAAE,GAAG,WAAW,EAAE,GAAG,OACvB,OAAM,IAAI,MACR,8DAA8D,CAC5D,EAAE,QACF,EAAE,GAAG,OACN,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,GAC9C;AAGH,QAAO,EAAE,KAAK,YACZ,EAAE,KAAK,YAAY,KAAK,SAAS,QAAQ,CAAC,CAAC,KAAK,eAC9C,OAAO,MAAM,WAAW,GAAG,IAAI,WAChC,CACF;;AAGH,SAAgB,UAAU,GAAe,aAAa,OAAmB;CACvE,MAAM,MAAM,aAAa,EAAE;AAC3B,QAAO,EAAE,KAAK,QACZ,IAAI,KAAK,QAAS,aAAa,IAAI,MAAM,MAAM,MAAM,IAAK,CAC3D;;;;;;;;;;;;AAaH,SAAgB,iBAAiB,GAAe,GAA2B;AACzE,QAAO,WAAW,GAAG,GAAGA,qBAAAA,OAAO;;AAGjC,SAAgB,aAAa,GAAe,GAA2B;AACrE,QAAO,WAAW,GAAG,GAAGC,kBAAAA,aAAqB;;AAG/C,SAAgB,kBAAkB,GAAe,GAA2B;AAC1E,QAAO,WAAW,GAAG,GAAGC,kBAAAA,UAAU;;;;;;;;;;;;;AAcpC,SAAgB,yBACd,gBACA,eACA,SAAS,IACT,IAAI,GACM;AACV,KAAI,KAAK,IAAI,GAAG,cAAc,OAAO,IAAI,EACvC,QAAO,EAAE;CAOX,MAAM,oBAAoB,iBAHxB,MAAM,QAAQ,eAAe,GAAG,GAAG,iBAAiB,CAAC,eAAe,EAKpE,cACD,CAAC;CACF,MAAM,4BAA4B,OAAO,kBAAkB,CAAC;CAE5D,MAAM,qBAAqB,CAAC,cAAc,2BAA2B;CACrE,MAAM,4BAA4B,CAAC,0BAA0B;AAE7D,QAAO,0BAA0B,SAAS,KAAK,IAAI,GAAG,cAAc,OAAO,EAAE;EAC3E,IAAI,YAAY;EAChB,IAAI,YAAY;EAEhB,MAAM,uBAAuB,iBAC3B,eACA,mBACD;AAED,oBAAkB,SAAS,YAAY,oBAAoB;AACzD,OAAI,0BAA0B,SAAS,gBAAgB,CACrD;GAEF,MAAM,0BAA0B,KAAK,IACnC,GAAG,qBAAqB,iBACzB;GACD,MAAM,QACJ,SAAS,cAAc,IAAI,UAAU;AAEvC,OAAI,QAAQ,WAAW;AACrB,gBAAY;AACZ,gBAAY;;IAEd;AACF,qBAAmB,KAAK,cAAc,WAAW;AACjD,4BAA0B,KAAK,UAAU;;AAG3C,QAAO;;;;;;;;AAcT,SAAS,OAAO,OAA0B;AACxC,KAAI,MAAM,WAAW,EACnB,QAAO;EACL,UAAU;EACV,UAAU;EACX;CAGH,IAAI,WAAW,MAAM;CACrB,IAAI,WAAW;AAEf,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,EACrC,KAAI,MAAM,KAAK,UAAU;AACvB,aAAW;AACX,aAAW,MAAM;;AAGrB,QAAO;EAAE;EAAU;EAAU;;AAG/B,SAAS,aAAa,QAA4B;AAChD,QAAO,OAAO,QACX,KAAK,UAAU,KAAK,IAAI,KAAK,OAAO,MAAM,CAAC,SAAS,EACrD,EACD"}
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.cts","names":["VectorFunction","matrixFunc","normalize","cosineSimilarity","innerProduct","euclideanDistance","maximalMarginalRelevance"],"sources":["../../src/utils/math.d.ts"],"sourcesContent":["type VectorFunction = (xVector: number[], yVector: number[]) => number;\n/**\n * Apply a row-wise function between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n * @param {VectorFunction} func - The function to apply.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.\n */\nexport declare function matrixFunc(X: number[][], Y: number[][], func: VectorFunction): number[][];\nexport declare function normalize(M: number[][], similarity?: boolean): number[][];\n/**\n * This function calculates the row-wise cosine similarity between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.\n */\nexport declare function cosineSimilarity(X: number[][], Y: number[][]): number[][];\nexport declare function innerProduct(X: number[][], Y: number[][]): number[][];\nexport declare function euclideanDistance(X: number[][], Y: number[][]): number[][];\n/**\n * This function implements the Maximal Marginal Relevance algorithm\n * to select a set of embeddings that maximizes the diversity and relevance to a query embedding.\n *\n * @param {number[]|number[][]} queryEmbedding - The query embedding.\n * @param {number[][]} embeddingList - The list of embeddings to select from.\n * @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.\n * @param {number} [k=4] - The maximum number of embeddings to select.\n *\n * @returns {number[]} The indexes of the selected embeddings in the embeddingList.\n */\nexport declare function maximalMarginalRelevance(queryEmbedding: number[] | number[][], embeddingList: number[][], lambda?: number, k?: number): number[];\nexport {};\n//# sourceMappingURL=math.d.ts.map"],"mappings":";KAAKA,cAAAA;;AAYL;AACA;AAWA;AACA;AACA;AAYA;;;;;iBA1BwBC,UAAAA,qCAA+CD;iBAC/CE,SAAAA;;;;;;;;;;;iBAWAC,gBAAAA;iBACAC,YAAAA;iBACAC,iBAAAA;;;;;;;;;;;;iBAYAC,wBAAAA"}
1
+ {"version":3,"file":"math.d.cts","names":[],"sources":["../../src/utils/math.ts"],"mappings":";KAIK,cAAA,IAAkB,OAAA,YAAmB,OAAA;;;;;;AAc1C;;;;;;iBAAgB,UAAA,CACd,CAAA,cACA,CAAA,cACA,IAAA,EAAM,cAAA;AAAA,iBA2BQ,SAAA,CAAU,CAAA,cAAe,UAAA;;;AAAzC;;;;;AAiBA;;;iBAAgB,gBAAA,CAAiB,CAAA,cAAe,CAAA;AAAA,iBAIhC,YAAA,CAAa,CAAA,cAAe,CAAA;AAAA,iBAI5B,iBAAA,CAAkB,CAAA,cAAe,CAAA;;;;;AAAjD;;;;;AAeA;;iBAAgB,wBAAA,CACd,cAAA,yBACA,aAAA,cACA,MAAA,WACA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"math.d.ts","names":["VectorFunction","matrixFunc","normalize","cosineSimilarity","innerProduct","euclideanDistance","maximalMarginalRelevance"],"sources":["../../src/utils/math.d.ts"],"sourcesContent":["type VectorFunction = (xVector: number[], yVector: number[]) => number;\n/**\n * Apply a row-wise function between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n * @param {VectorFunction} func - The function to apply.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.\n */\nexport declare function matrixFunc(X: number[][], Y: number[][], func: VectorFunction): number[][];\nexport declare function normalize(M: number[][], similarity?: boolean): number[][];\n/**\n * This function calculates the row-wise cosine similarity between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.\n */\nexport declare function cosineSimilarity(X: number[][], Y: number[][]): number[][];\nexport declare function innerProduct(X: number[][], Y: number[][]): number[][];\nexport declare function euclideanDistance(X: number[][], Y: number[][]): number[][];\n/**\n * This function implements the Maximal Marginal Relevance algorithm\n * to select a set of embeddings that maximizes the diversity and relevance to a query embedding.\n *\n * @param {number[]|number[][]} queryEmbedding - The query embedding.\n * @param {number[][]} embeddingList - The list of embeddings to select from.\n * @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.\n * @param {number} [k=4] - The maximum number of embeddings to select.\n *\n * @returns {number[]} The indexes of the selected embeddings in the embeddingList.\n */\nexport declare function maximalMarginalRelevance(queryEmbedding: number[] | number[][], embeddingList: number[][], lambda?: number, k?: number): number[];\nexport {};\n//# sourceMappingURL=math.d.ts.map"],"mappings":";KAAKA,cAAAA;;AAYL;AACA;AAWA;AACA;AACA;AAYA;;;;;iBA1BwBC,UAAAA,qCAA+CD;iBAC/CE,SAAAA;;;;;;;;;;;iBAWAC,gBAAAA;iBACAC,YAAAA;iBACAC,iBAAAA;;;;;;;;;;;;iBAYAC,wBAAAA"}
1
+ {"version":3,"file":"math.d.ts","names":[],"sources":["../../src/utils/math.ts"],"mappings":";KAIK,cAAA,IAAkB,OAAA,YAAmB,OAAA;;;;;;AAc1C;;;;;;iBAAgB,UAAA,CACd,CAAA,cACA,CAAA,cACA,IAAA,EAAM,cAAA;AAAA,iBA2BQ,SAAA,CAAU,CAAA,cAAe,UAAA;;;AAAzC;;;;;AAiBA;;;iBAAgB,gBAAA,CAAiB,CAAA,cAAe,CAAA;AAAA,iBAIhC,YAAA,CAAa,CAAA,cAAe,CAAA;AAAA,iBAI5B,iBAAA,CAAkB,CAAA,cAAe,CAAA;;;;;AAAjD;;;;;AAeA;;iBAAgB,wBAAA,CACd,cAAA,yBACA,aAAA,cACA,MAAA,WACA,CAAA"}
@@ -1,14 +1,12 @@
1
- import { __export } from "../_virtual/rolldown_runtime.js";
1
+ import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
2
  import { cosine } from "./ml-distance/similarities.js";
3
- import { innerProduct } from "./ml-distance/distances.js";
3
+ import { innerProduct as innerProduct$1 } from "./ml-distance/distances.js";
4
4
  import { euclidean } from "./ml-distance-euclidean/euclidean.js";
5
-
6
5
  //#region src/utils/math.ts
7
- var math_exports = {};
8
- __export(math_exports, {
6
+ var math_exports = /* @__PURE__ */ __exportAll({
9
7
  cosineSimilarity: () => cosineSimilarity,
10
8
  euclideanDistance: () => euclideanDistance,
11
- innerProduct: () => innerProduct$1,
9
+ innerProduct: () => innerProduct,
12
10
  matrixFunc: () => matrixFunc,
13
11
  maximalMarginalRelevance: () => maximalMarginalRelevance,
14
12
  normalize: () => normalize
@@ -46,8 +44,8 @@ function normalize(M, similarity = false) {
46
44
  function cosineSimilarity(X, Y) {
47
45
  return matrixFunc(X, Y, cosine);
48
46
  }
49
- function innerProduct$1(X, Y) {
50
- return matrixFunc(X, Y, innerProduct);
47
+ function innerProduct(X, Y) {
48
+ return matrixFunc(X, Y, innerProduct$1);
51
49
  }
52
50
  function euclideanDistance(X, Y) {
53
51
  return matrixFunc(X, Y, euclidean);
@@ -65,8 +63,7 @@ function euclideanDistance(X, Y) {
65
63
  */
66
64
  function maximalMarginalRelevance(queryEmbedding, embeddingList, lambda = .5, k = 4) {
67
65
  if (Math.min(k, embeddingList.length) <= 0) return [];
68
- const queryEmbeddingExpanded = Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding];
69
- const similarityToQuery = cosineSimilarity(queryEmbeddingExpanded, embeddingList)[0];
66
+ const similarityToQuery = cosineSimilarity(Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding], embeddingList)[0];
70
67
  const mostSimilarEmbeddingIndex = argMax(similarityToQuery).maxIndex;
71
68
  const selectedEmbeddings = [embeddingList[mostSimilarEmbeddingIndex]];
72
69
  const selectedEmbeddingsIndexes = [mostSimilarEmbeddingIndex];
@@ -113,7 +110,7 @@ function argMax(array) {
113
110
  function matrixMaxVal(arrays) {
114
111
  return arrays.reduce((acc, array) => Math.max(acc, argMax(array).maxValue), 0);
115
112
  }
116
-
117
113
  //#endregion
118
- export { cosineSimilarity, euclideanDistance, innerProduct$1 as innerProduct, math_exports, matrixFunc, maximalMarginalRelevance, normalize };
114
+ export { cosineSimilarity, euclideanDistance, innerProduct, math_exports, matrixFunc, maximalMarginalRelevance, normalize };
115
+
119
116
  //# sourceMappingURL=math.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"math.js","names":["X: number[][]","Y: number[][]","func: VectorFunction","M: number[][]","innerProduct","innerProductDistance","queryEmbedding: number[] | number[][]","embeddingList: number[][]","array: number[]","arrays: number[][]"],"sources":["../../src/utils/math.ts"],"sourcesContent":["import { cosine } from \"./ml-distance/similarities.js\";\nimport { innerProduct as innerProductDistance } from \"./ml-distance/distances.js\";\nimport { euclidean } from \"./ml-distance-euclidean/euclidean.js\";\n\ntype VectorFunction = (xVector: number[], yVector: number[]) => number;\n\n/**\n * Apply a row-wise function between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n * @param {VectorFunction} func - The function to apply.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.\n */\n\nexport function matrixFunc(\n X: number[][],\n Y: number[][],\n func: VectorFunction\n): number[][] {\n if (\n X.length === 0 ||\n X[0].length === 0 ||\n Y.length === 0 ||\n Y[0].length === 0\n ) {\n return [[]];\n }\n\n if (X[0].length !== Y[0].length) {\n throw new Error(\n `Number of columns in X and Y must be the same. X has shape ${[\n X.length,\n X[0].length,\n ]} and Y has shape ${[Y.length, Y[0].length]}.`\n );\n }\n\n return X.map((xVector) =>\n Y.map((yVector) => func(xVector, yVector)).map((similarity) =>\n Number.isNaN(similarity) ? 0 : similarity\n )\n );\n}\n\nexport function normalize(M: number[][], similarity = false): number[][] {\n const max = matrixMaxVal(M);\n return M.map((row) =>\n row.map((val) => (similarity ? 1 - val / max : val / max))\n );\n}\n\n/**\n * This function calculates the row-wise cosine similarity between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.\n */\nexport function cosineSimilarity(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, cosine);\n}\n\nexport function innerProduct(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, innerProductDistance);\n}\n\nexport function euclideanDistance(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, euclidean);\n}\n\n/**\n * This function implements the Maximal Marginal Relevance algorithm\n * to select a set of embeddings that maximizes the diversity and relevance to a query embedding.\n *\n * @param {number[]|number[][]} queryEmbedding - The query embedding.\n * @param {number[][]} embeddingList - The list of embeddings to select from.\n * @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.\n * @param {number} [k=4] - The maximum number of embeddings to select.\n *\n * @returns {number[]} The indexes of the selected embeddings in the embeddingList.\n */\nexport function maximalMarginalRelevance(\n queryEmbedding: number[] | number[][],\n embeddingList: number[][],\n lambda = 0.5,\n k = 4\n): number[] {\n if (Math.min(k, embeddingList.length) <= 0) {\n return [];\n }\n\n const queryEmbeddingExpanded = (\n Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding]\n ) as number[][];\n\n const similarityToQuery = cosineSimilarity(\n queryEmbeddingExpanded,\n embeddingList\n )[0];\n const mostSimilarEmbeddingIndex = argMax(similarityToQuery).maxIndex;\n\n const selectedEmbeddings = [embeddingList[mostSimilarEmbeddingIndex]];\n const selectedEmbeddingsIndexes = [mostSimilarEmbeddingIndex];\n\n while (selectedEmbeddingsIndexes.length < Math.min(k, embeddingList.length)) {\n let bestScore = -Infinity;\n let bestIndex = -1;\n\n const similarityToSelected = cosineSimilarity(\n embeddingList,\n selectedEmbeddings\n );\n\n similarityToQuery.forEach((queryScore, queryScoreIndex) => {\n if (selectedEmbeddingsIndexes.includes(queryScoreIndex)) {\n return;\n }\n const maxSimilarityToSelected = Math.max(\n ...similarityToSelected[queryScoreIndex]\n );\n const score =\n lambda * queryScore - (1 - lambda) * maxSimilarityToSelected;\n\n if (score > bestScore) {\n bestScore = score;\n bestIndex = queryScoreIndex;\n }\n });\n selectedEmbeddings.push(embeddingList[bestIndex]);\n selectedEmbeddingsIndexes.push(bestIndex);\n }\n\n return selectedEmbeddingsIndexes;\n}\n\ntype MaxInfo = {\n maxIndex: number;\n maxValue: number;\n};\n\n/**\n * Finds the index of the maximum value in the given array.\n * @param {number[]} array - The input array.\n *\n * @returns {number} The index of the maximum value in the array. If the array is empty, returns -1.\n */\nfunction argMax(array: number[]): MaxInfo {\n if (array.length === 0) {\n return {\n maxIndex: -1,\n maxValue: NaN,\n };\n }\n\n let maxValue = array[0];\n let maxIndex = 0;\n\n for (let i = 1; i < array.length; i += 1) {\n if (array[i] > maxValue) {\n maxIndex = i;\n maxValue = array[i];\n }\n }\n return { maxIndex, maxValue };\n}\n\nfunction matrixMaxVal(arrays: number[][]): number {\n return arrays.reduce(\n (acc, array) => Math.max(acc, argMax(array).maxValue),\n 0\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,SAAgB,WACdA,GACAC,GACAC,MACY;AACZ,KACE,EAAE,WAAW,KACb,EAAE,GAAG,WAAW,KAChB,EAAE,WAAW,KACb,EAAE,GAAG,WAAW,EAEhB,QAAO,CAAC,CAAE,CAAC;AAGb,KAAI,EAAE,GAAG,WAAW,EAAE,GAAG,OACvB,OAAM,IAAI,MACR,CAAC,2DAA2D,EAAE,CAC5D,EAAE,QACF,EAAE,GAAG,MACN,EAAC,iBAAiB,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,MAAO,EAAC,CAAC,CAAC;AAInD,QAAO,EAAE,IAAI,CAAC,YACZ,EAAE,IAAI,CAAC,YAAY,KAAK,SAAS,QAAQ,CAAC,CAAC,IAAI,CAAC,eAC9C,OAAO,MAAM,WAAW,GAAG,IAAI,WAChC,CACF;AACF;AAED,SAAgB,UAAUC,GAAe,aAAa,OAAmB;CACvE,MAAM,MAAM,aAAa,EAAE;AAC3B,QAAO,EAAE,IAAI,CAAC,QACZ,IAAI,IAAI,CAAC,QAAS,aAAa,IAAI,MAAM,MAAM,MAAM,IAAK,CAC3D;AACF;;;;;;;;;;;AAYD,SAAgB,iBAAiBH,GAAeC,GAA2B;AACzE,QAAO,WAAW,GAAG,GAAG,OAAO;AAChC;AAED,SAAgBG,eAAaJ,GAAeC,GAA2B;AACrE,QAAO,WAAW,GAAG,GAAGI,aAAqB;AAC9C;AAED,SAAgB,kBAAkBL,GAAeC,GAA2B;AAC1E,QAAO,WAAW,GAAG,GAAG,UAAU;AACnC;;;;;;;;;;;;AAaD,SAAgB,yBACdK,gBACAC,eACA,SAAS,IACT,IAAI,GACM;AACV,KAAI,KAAK,IAAI,GAAG,cAAc,OAAO,IAAI,EACvC,QAAO,CAAE;CAGX,MAAM,yBACJ,MAAM,QAAQ,eAAe,GAAG,GAAG,iBAAiB,CAAC,cAAe;CAGtE,MAAM,oBAAoB,iBACxB,wBACA,cACD,CAAC;CACF,MAAM,4BAA4B,OAAO,kBAAkB,CAAC;CAE5D,MAAM,qBAAqB,CAAC,cAAc,0BAA2B;CACrE,MAAM,4BAA4B,CAAC,yBAA0B;AAE7D,QAAO,0BAA0B,SAAS,KAAK,IAAI,GAAG,cAAc,OAAO,EAAE;EAC3E,IAAI,YAAY;EAChB,IAAI,YAAY;EAEhB,MAAM,uBAAuB,iBAC3B,eACA,mBACD;EAED,kBAAkB,QAAQ,CAAC,YAAY,oBAAoB;AACzD,OAAI,0BAA0B,SAAS,gBAAgB,CACrD;GAEF,MAAM,0BAA0B,KAAK,IACnC,GAAG,qBAAqB,iBACzB;GACD,MAAM,QACJ,SAAS,cAAc,IAAI,UAAU;AAEvC,OAAI,QAAQ,WAAW;IACrB,YAAY;IACZ,YAAY;GACb;EACF,EAAC;EACF,mBAAmB,KAAK,cAAc,WAAW;EACjD,0BAA0B,KAAK,UAAU;CAC1C;AAED,QAAO;AACR;;;;;;;AAaD,SAAS,OAAOC,OAA0B;AACxC,KAAI,MAAM,WAAW,EACnB,QAAO;EACL,UAAU;EACV,UAAU;CACX;CAGH,IAAI,WAAW,MAAM;CACrB,IAAI,WAAW;AAEf,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,EACrC,KAAI,MAAM,KAAK,UAAU;EACvB,WAAW;EACX,WAAW,MAAM;CAClB;AAEH,QAAO;EAAE;EAAU;CAAU;AAC9B;AAED,SAAS,aAAaC,QAA4B;AAChD,QAAO,OAAO,OACZ,CAAC,KAAK,UAAU,KAAK,IAAI,KAAK,OAAO,MAAM,CAAC,SAAS,EACrD,EACD;AACF"}
1
+ {"version":3,"file":"math.js","names":["innerProductDistance"],"sources":["../../src/utils/math.ts"],"sourcesContent":["import { cosine } from \"./ml-distance/similarities.js\";\nimport { innerProduct as innerProductDistance } from \"./ml-distance/distances.js\";\nimport { euclidean } from \"./ml-distance-euclidean/euclidean.js\";\n\ntype VectorFunction = (xVector: number[], yVector: number[]) => number;\n\n/**\n * Apply a row-wise function between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n * @param {VectorFunction} func - The function to apply.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the result of applying the function between the corresponding rows of X and Y.\n */\n\nexport function matrixFunc(\n X: number[][],\n Y: number[][],\n func: VectorFunction\n): number[][] {\n if (\n X.length === 0 ||\n X[0].length === 0 ||\n Y.length === 0 ||\n Y[0].length === 0\n ) {\n return [[]];\n }\n\n if (X[0].length !== Y[0].length) {\n throw new Error(\n `Number of columns in X and Y must be the same. X has shape ${[\n X.length,\n X[0].length,\n ]} and Y has shape ${[Y.length, Y[0].length]}.`\n );\n }\n\n return X.map((xVector) =>\n Y.map((yVector) => func(xVector, yVector)).map((similarity) =>\n Number.isNaN(similarity) ? 0 : similarity\n )\n );\n}\n\nexport function normalize(M: number[][], similarity = false): number[][] {\n const max = matrixMaxVal(M);\n return M.map((row) =>\n row.map((val) => (similarity ? 1 - val / max : val / max))\n );\n}\n\n/**\n * This function calculates the row-wise cosine similarity between two matrices with the same number of columns.\n *\n * @param {number[][]} X - The first matrix.\n * @param {number[][]} Y - The second matrix.\n *\n * @throws {Error} If the number of columns in X and Y are not the same.\n *\n * @returns {number[][] | [[]]} A matrix where each row represents the cosine similarity values between the corresponding rows of X and Y.\n */\nexport function cosineSimilarity(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, cosine);\n}\n\nexport function innerProduct(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, innerProductDistance);\n}\n\nexport function euclideanDistance(X: number[][], Y: number[][]): number[][] {\n return matrixFunc(X, Y, euclidean);\n}\n\n/**\n * This function implements the Maximal Marginal Relevance algorithm\n * to select a set of embeddings that maximizes the diversity and relevance to a query embedding.\n *\n * @param {number[]|number[][]} queryEmbedding - The query embedding.\n * @param {number[][]} embeddingList - The list of embeddings to select from.\n * @param {number} [lambda=0.5] - The trade-off parameter between relevance and diversity.\n * @param {number} [k=4] - The maximum number of embeddings to select.\n *\n * @returns {number[]} The indexes of the selected embeddings in the embeddingList.\n */\nexport function maximalMarginalRelevance(\n queryEmbedding: number[] | number[][],\n embeddingList: number[][],\n lambda = 0.5,\n k = 4\n): number[] {\n if (Math.min(k, embeddingList.length) <= 0) {\n return [];\n }\n\n const queryEmbeddingExpanded = (\n Array.isArray(queryEmbedding[0]) ? queryEmbedding : [queryEmbedding]\n ) as number[][];\n\n const similarityToQuery = cosineSimilarity(\n queryEmbeddingExpanded,\n embeddingList\n )[0];\n const mostSimilarEmbeddingIndex = argMax(similarityToQuery).maxIndex;\n\n const selectedEmbeddings = [embeddingList[mostSimilarEmbeddingIndex]];\n const selectedEmbeddingsIndexes = [mostSimilarEmbeddingIndex];\n\n while (selectedEmbeddingsIndexes.length < Math.min(k, embeddingList.length)) {\n let bestScore = -Infinity;\n let bestIndex = -1;\n\n const similarityToSelected = cosineSimilarity(\n embeddingList,\n selectedEmbeddings\n );\n\n similarityToQuery.forEach((queryScore, queryScoreIndex) => {\n if (selectedEmbeddingsIndexes.includes(queryScoreIndex)) {\n return;\n }\n const maxSimilarityToSelected = Math.max(\n ...similarityToSelected[queryScoreIndex]\n );\n const score =\n lambda * queryScore - (1 - lambda) * maxSimilarityToSelected;\n\n if (score > bestScore) {\n bestScore = score;\n bestIndex = queryScoreIndex;\n }\n });\n selectedEmbeddings.push(embeddingList[bestIndex]);\n selectedEmbeddingsIndexes.push(bestIndex);\n }\n\n return selectedEmbeddingsIndexes;\n}\n\ntype MaxInfo = {\n maxIndex: number;\n maxValue: number;\n};\n\n/**\n * Finds the index of the maximum value in the given array.\n * @param {number[]} array - The input array.\n *\n * @returns {number} The index of the maximum value in the array. If the array is empty, returns -1.\n */\nfunction argMax(array: number[]): MaxInfo {\n if (array.length === 0) {\n return {\n maxIndex: -1,\n maxValue: NaN,\n };\n }\n\n let maxValue = array[0];\n let maxIndex = 0;\n\n for (let i = 1; i < array.length; i += 1) {\n if (array[i] > maxValue) {\n maxIndex = i;\n maxValue = array[i];\n }\n }\n return { maxIndex, maxValue };\n}\n\nfunction matrixMaxVal(arrays: number[][]): number {\n return arrays.reduce(\n (acc, array) => Math.max(acc, argMax(array).maxValue),\n 0\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAkBA,SAAgB,WACd,GACA,GACA,MACY;AACZ,KACE,EAAE,WAAW,KACb,EAAE,GAAG,WAAW,KAChB,EAAE,WAAW,KACb,EAAE,GAAG,WAAW,EAEhB,QAAO,CAAC,EAAE,CAAC;AAGb,KAAI,EAAE,GAAG,WAAW,EAAE,GAAG,OACvB,OAAM,IAAI,MACR,8DAA8D,CAC5D,EAAE,QACF,EAAE,GAAG,OACN,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,GAC9C;AAGH,QAAO,EAAE,KAAK,YACZ,EAAE,KAAK,YAAY,KAAK,SAAS,QAAQ,CAAC,CAAC,KAAK,eAC9C,OAAO,MAAM,WAAW,GAAG,IAAI,WAChC,CACF;;AAGH,SAAgB,UAAU,GAAe,aAAa,OAAmB;CACvE,MAAM,MAAM,aAAa,EAAE;AAC3B,QAAO,EAAE,KAAK,QACZ,IAAI,KAAK,QAAS,aAAa,IAAI,MAAM,MAAM,MAAM,IAAK,CAC3D;;;;;;;;;;;;AAaH,SAAgB,iBAAiB,GAAe,GAA2B;AACzE,QAAO,WAAW,GAAG,GAAG,OAAO;;AAGjC,SAAgB,aAAa,GAAe,GAA2B;AACrE,QAAO,WAAW,GAAG,GAAGA,eAAqB;;AAG/C,SAAgB,kBAAkB,GAAe,GAA2B;AAC1E,QAAO,WAAW,GAAG,GAAG,UAAU;;;;;;;;;;;;;AAcpC,SAAgB,yBACd,gBACA,eACA,SAAS,IACT,IAAI,GACM;AACV,KAAI,KAAK,IAAI,GAAG,cAAc,OAAO,IAAI,EACvC,QAAO,EAAE;CAOX,MAAM,oBAAoB,iBAHxB,MAAM,QAAQ,eAAe,GAAG,GAAG,iBAAiB,CAAC,eAAe,EAKpE,cACD,CAAC;CACF,MAAM,4BAA4B,OAAO,kBAAkB,CAAC;CAE5D,MAAM,qBAAqB,CAAC,cAAc,2BAA2B;CACrE,MAAM,4BAA4B,CAAC,0BAA0B;AAE7D,QAAO,0BAA0B,SAAS,KAAK,IAAI,GAAG,cAAc,OAAO,EAAE;EAC3E,IAAI,YAAY;EAChB,IAAI,YAAY;EAEhB,MAAM,uBAAuB,iBAC3B,eACA,mBACD;AAED,oBAAkB,SAAS,YAAY,oBAAoB;AACzD,OAAI,0BAA0B,SAAS,gBAAgB,CACrD;GAEF,MAAM,0BAA0B,KAAK,IACnC,GAAG,qBAAqB,iBACzB;GACD,MAAM,QACJ,SAAS,cAAc,IAAI,UAAU;AAEvC,OAAI,QAAQ,WAAW;AACrB,gBAAY;AACZ,gBAAY;;IAEd;AACF,qBAAmB,KAAK,cAAc,WAAW;AACjD,4BAA0B,KAAK,UAAU;;AAG3C,QAAO;;;;;;;;AAcT,SAAS,OAAO,OAA0B;AACxC,KAAI,MAAM,WAAW,EACnB,QAAO;EACL,UAAU;EACV,UAAU;EACX;CAGH,IAAI,WAAW,MAAM;CACrB,IAAI,WAAW;AAEf,MAAK,IAAI,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,EACrC,KAAI,MAAM,KAAK,UAAU;AACvB,aAAW;AACX,aAAW,MAAM;;AAGrB,QAAO;EAAE;EAAU;EAAU;;AAG/B,SAAS,aAAa,QAA4B;AAChD,QAAO,OAAO,QACX,KAAK,UAAU,KAAK,IAAI,KAAK,OAAO,MAAM,CAAC,SAAS,EACrD,EACD"}
@@ -1,4 +1,3 @@
1
-
2
1
  //#region src/utils/ml-distance/distances.ts
3
2
  /**
4
3
  *Returns the Inner Product similarity between vectors a and b
@@ -12,7 +11,7 @@ function innerProduct(a, b) {
12
11
  for (let i = 0; i < a.length; i++) ans += a[i] * b[i];
13
12
  return ans;
14
13
  }
15
-
16
14
  //#endregion
17
15
  exports.innerProduct = innerProduct;
16
+
18
17
  //# sourceMappingURL=distances.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"distances.cjs","names":["a: number[]","b: number[]"],"sources":["../../../src/utils/ml-distance/distances.ts"],"sourcesContent":["/**\n *Returns the Inner Product similarity between vectors a and b\n * @link [Inner Product Similarity algorithm](https://www.naun.org/main/NAUN/ijmmas/mmmas-49.pdf)\n * @param a - first vector\n * @param b - second vector\n *\n */\nexport function innerProduct(a: number[], b: number[]): number {\n let ans = 0;\n for (let i = 0; i < a.length; i++) {\n ans += a[i] * b[i];\n }\n return ans;\n}\n"],"mappings":";;;;;;;;;AAOA,SAAgB,aAAaA,GAAaC,GAAqB;CAC7D,IAAI,MAAM;AACV,MAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAC5B,OAAO,EAAE,KAAK,EAAE;AAElB,QAAO;AACR"}
1
+ {"version":3,"file":"distances.cjs","names":[],"sources":["../../../src/utils/ml-distance/distances.ts"],"sourcesContent":["/**\n *Returns the Inner Product similarity between vectors a and b\n * @link [Inner Product Similarity algorithm](https://www.naun.org/main/NAUN/ijmmas/mmmas-49.pdf)\n * @param a - first vector\n * @param b - second vector\n *\n */\nexport function innerProduct(a: number[], b: number[]): number {\n let ans = 0;\n for (let i = 0; i < a.length; i++) {\n ans += a[i] * b[i];\n }\n return ans;\n}\n"],"mappings":";;;;;;;;AAOA,SAAgB,aAAa,GAAa,GAAqB;CAC7D,IAAI,MAAM;AACV,MAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,IAC5B,QAAO,EAAE,KAAK,EAAE;AAElB,QAAO"}