@langchain/core 1.1.32 → 1.1.33-dev-1773709997654

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 (1187) hide show
  1. package/dist/_virtual/_rolldown/runtime.cjs +12 -22
  2. package/dist/_virtual/_rolldown/runtime.js +6 -11
  3. package/dist/agents.cjs +8 -10
  4. package/dist/agents.js +1 -2
  5. package/dist/caches/index.cjs +11 -12
  6. package/dist/caches/index.cjs.map +1 -1
  7. package/dist/caches/index.js +1 -2
  8. package/dist/caches/index.js.map +1 -1
  9. package/dist/callbacks/base.cjs +10 -11
  10. package/dist/callbacks/base.cjs.map +1 -1
  11. package/dist/callbacks/base.js +1 -2
  12. package/dist/callbacks/base.js.map +1 -1
  13. package/dist/callbacks/dispatch/index.cjs +7 -8
  14. package/dist/callbacks/dispatch/index.cjs.map +1 -1
  15. package/dist/callbacks/dispatch/index.d.ts +0 -2
  16. package/dist/callbacks/dispatch/index.d.ts.map +1 -1
  17. package/dist/callbacks/dispatch/index.js +1 -2
  18. package/dist/callbacks/dispatch/index.js.map +1 -1
  19. package/dist/callbacks/dispatch/web.cjs +3 -4
  20. package/dist/callbacks/dispatch/web.cjs.map +1 -1
  21. package/dist/callbacks/dispatch/web.d.ts +0 -2
  22. package/dist/callbacks/dispatch/web.d.ts.map +1 -1
  23. package/dist/callbacks/dispatch/web.js +1 -2
  24. package/dist/callbacks/dispatch/web.js.map +1 -1
  25. package/dist/callbacks/manager.cjs +18 -19
  26. package/dist/callbacks/manager.cjs.map +1 -1
  27. package/dist/callbacks/manager.js +1 -2
  28. package/dist/callbacks/manager.js.map +1 -1
  29. package/dist/callbacks/promises.cjs +9 -10
  30. package/dist/callbacks/promises.js +1 -2
  31. package/dist/chat_history.cjs +12 -13
  32. package/dist/chat_history.cjs.map +1 -1
  33. package/dist/chat_history.d.ts +0 -2
  34. package/dist/chat_history.d.ts.map +1 -1
  35. package/dist/chat_history.js +1 -2
  36. package/dist/chat_history.js.map +1 -1
  37. package/dist/context.cjs +6 -7
  38. package/dist/context.cjs.map +1 -1
  39. package/dist/context.js +1 -2
  40. package/dist/context.js.map +1 -1
  41. package/dist/document_loaders/base.cjs +8 -10
  42. package/dist/document_loaders/base.cjs.map +1 -1
  43. package/dist/document_loaders/base.js +1 -2
  44. package/dist/document_loaders/base.js.map +1 -1
  45. package/dist/document_loaders/langsmith.cjs +9 -10
  46. package/dist/document_loaders/langsmith.cjs.map +1 -1
  47. package/dist/document_loaders/langsmith.js +1 -2
  48. package/dist/document_loaders/langsmith.js.map +1 -1
  49. package/dist/documents/document.cjs +1 -2
  50. package/dist/documents/document.cjs.map +1 -1
  51. package/dist/documents/document.js +1 -1
  52. package/dist/documents/document.js.map +1 -1
  53. package/dist/documents/index.cjs +10 -11
  54. package/dist/documents/index.js +1 -2
  55. package/dist/documents/transformers.cjs +2 -3
  56. package/dist/documents/transformers.cjs.map +1 -1
  57. package/dist/documents/transformers.js +1 -2
  58. package/dist/documents/transformers.js.map +1 -1
  59. package/dist/embeddings.cjs +9 -10
  60. package/dist/embeddings.cjs.map +1 -1
  61. package/dist/embeddings.js +1 -2
  62. package/dist/embeddings.js.map +1 -1
  63. package/dist/errors/index.cjs +9 -10
  64. package/dist/errors/index.cjs.map +1 -1
  65. package/dist/errors/index.js +1 -2
  66. package/dist/errors/index.js.map +1 -1
  67. package/dist/example_selectors/base.cjs +2 -3
  68. package/dist/example_selectors/base.cjs.map +1 -1
  69. package/dist/example_selectors/base.js +1 -2
  70. package/dist/example_selectors/base.js.map +1 -1
  71. package/dist/example_selectors/conditional.cjs +1 -2
  72. package/dist/example_selectors/conditional.cjs.map +1 -1
  73. package/dist/example_selectors/conditional.js +1 -1
  74. package/dist/example_selectors/index.cjs +12 -13
  75. package/dist/example_selectors/index.js +1 -2
  76. package/dist/example_selectors/length_based.cjs +2 -3
  77. package/dist/example_selectors/length_based.cjs.map +1 -1
  78. package/dist/example_selectors/length_based.js +1 -2
  79. package/dist/example_selectors/length_based.js.map +1 -1
  80. package/dist/example_selectors/semantic_similarity.cjs +3 -4
  81. package/dist/example_selectors/semantic_similarity.cjs.map +1 -1
  82. package/dist/example_selectors/semantic_similarity.js +1 -2
  83. package/dist/example_selectors/semantic_similarity.js.map +1 -1
  84. package/dist/index.cjs +8 -10
  85. package/dist/index.js +1 -2
  86. package/dist/indexing/base.cjs +6 -7
  87. package/dist/indexing/base.cjs.map +1 -1
  88. package/dist/indexing/base.js +1 -2
  89. package/dist/indexing/base.js.map +1 -1
  90. package/dist/indexing/index.cjs +10 -11
  91. package/dist/indexing/index.js +1 -2
  92. package/dist/indexing/record_manager.cjs +2 -3
  93. package/dist/indexing/record_manager.cjs.map +1 -1
  94. package/dist/indexing/record_manager.js +1 -2
  95. package/dist/indexing/record_manager.js.map +1 -1
  96. package/dist/language_models/base.cjs +15 -16
  97. package/dist/language_models/base.cjs.map +1 -1
  98. package/dist/language_models/base.d.ts +0 -2
  99. package/dist/language_models/base.d.ts.map +1 -1
  100. package/dist/language_models/base.js +2 -3
  101. package/dist/language_models/base.js.map +1 -1
  102. package/dist/language_models/chat_models.cjs +26 -27
  103. package/dist/language_models/chat_models.cjs.map +1 -1
  104. package/dist/language_models/chat_models.d.ts +0 -3
  105. package/dist/language_models/chat_models.d.ts.map +1 -1
  106. package/dist/language_models/chat_models.js +1 -2
  107. package/dist/language_models/chat_models.js.map +1 -1
  108. package/dist/language_models/llms.cjs +13 -14
  109. package/dist/language_models/llms.cjs.map +1 -1
  110. package/dist/language_models/llms.d.ts +0 -1
  111. package/dist/language_models/llms.d.ts.map +1 -1
  112. package/dist/language_models/llms.js +1 -2
  113. package/dist/language_models/llms.js.map +1 -1
  114. package/dist/language_models/profile.cjs +8 -10
  115. package/dist/language_models/profile.js +1 -2
  116. package/dist/language_models/structured_output.cjs +19 -20
  117. package/dist/language_models/structured_output.cjs.map +1 -1
  118. package/dist/language_models/structured_output.d.ts +0 -5
  119. package/dist/language_models/structured_output.d.ts.map +1 -1
  120. package/dist/language_models/structured_output.js +1 -2
  121. package/dist/language_models/structured_output.js.map +1 -1
  122. package/dist/language_models/utils.cjs +1 -2
  123. package/dist/language_models/utils.cjs.map +1 -1
  124. package/dist/language_models/utils.js +1 -1
  125. package/dist/load/import_constants.cjs +1 -2
  126. package/dist/load/import_constants.cjs.map +1 -1
  127. package/dist/load/import_constants.js +1 -1
  128. package/dist/load/import_map.cjs +69 -70
  129. package/dist/load/import_map.js +1 -2
  130. package/dist/load/index.cjs +8 -9
  131. package/dist/load/index.cjs.map +1 -1
  132. package/dist/load/index.js +1 -2
  133. package/dist/load/index.js.map +1 -1
  134. package/dist/load/map_keys.cjs +2 -3
  135. package/dist/load/map_keys.cjs.map +1 -1
  136. package/dist/load/map_keys.js +1 -2
  137. package/dist/load/map_keys.js.map +1 -1
  138. package/dist/load/serializable.cjs +10 -11
  139. package/dist/load/serializable.cjs.map +1 -1
  140. package/dist/load/serializable.js +1 -2
  141. package/dist/load/serializable.js.map +1 -1
  142. package/dist/load/validation.cjs +3 -4
  143. package/dist/load/validation.cjs.map +1 -1
  144. package/dist/load/validation.js +3 -3
  145. package/dist/load/validation.js.map +1 -1
  146. package/dist/memory.cjs +8 -10
  147. package/dist/memory.cjs.map +1 -1
  148. package/dist/memory.js +1 -2
  149. package/dist/memory.js.map +1 -1
  150. package/dist/messages/ai.cjs +6 -7
  151. package/dist/messages/ai.cjs.map +1 -1
  152. package/dist/messages/ai.js +1 -2
  153. package/dist/messages/ai.js.map +1 -1
  154. package/dist/messages/base.cjs +8 -9
  155. package/dist/messages/base.cjs.map +1 -1
  156. package/dist/messages/base.js +1 -2
  157. package/dist/messages/base.js.map +1 -1
  158. package/dist/messages/block_translators/anthropic.cjs +2 -3
  159. package/dist/messages/block_translators/anthropic.cjs.map +1 -1
  160. package/dist/messages/block_translators/anthropic.js +1 -2
  161. package/dist/messages/block_translators/anthropic.js.map +1 -1
  162. package/dist/messages/block_translators/bedrock_converse.cjs +2 -3
  163. package/dist/messages/block_translators/bedrock_converse.cjs.map +1 -1
  164. package/dist/messages/block_translators/bedrock_converse.js +1 -2
  165. package/dist/messages/block_translators/bedrock_converse.js.map +1 -1
  166. package/dist/messages/block_translators/data.cjs +3 -4
  167. package/dist/messages/block_translators/data.cjs.map +1 -1
  168. package/dist/messages/block_translators/data.js +1 -2
  169. package/dist/messages/block_translators/data.js.map +1 -1
  170. package/dist/messages/block_translators/deepseek.cjs +2 -3
  171. package/dist/messages/block_translators/deepseek.cjs.map +1 -1
  172. package/dist/messages/block_translators/deepseek.js +1 -2
  173. package/dist/messages/block_translators/deepseek.js.map +1 -1
  174. package/dist/messages/block_translators/google.cjs +2 -3
  175. package/dist/messages/block_translators/google.cjs.map +1 -1
  176. package/dist/messages/block_translators/google.js +1 -2
  177. package/dist/messages/block_translators/google.js.map +1 -1
  178. package/dist/messages/block_translators/google_genai.cjs +2 -3
  179. package/dist/messages/block_translators/google_genai.cjs.map +1 -1
  180. package/dist/messages/block_translators/google_genai.js +1 -2
  181. package/dist/messages/block_translators/google_genai.js.map +1 -1
  182. package/dist/messages/block_translators/google_vertexai.cjs +2 -3
  183. package/dist/messages/block_translators/google_vertexai.cjs.map +1 -1
  184. package/dist/messages/block_translators/google_vertexai.js +1 -2
  185. package/dist/messages/block_translators/google_vertexai.js.map +1 -1
  186. package/dist/messages/block_translators/groq.cjs +2 -3
  187. package/dist/messages/block_translators/groq.cjs.map +1 -1
  188. package/dist/messages/block_translators/groq.js +1 -2
  189. package/dist/messages/block_translators/groq.js.map +1 -1
  190. package/dist/messages/block_translators/index.cjs +11 -12
  191. package/dist/messages/block_translators/index.cjs.map +1 -1
  192. package/dist/messages/block_translators/index.js +1 -2
  193. package/dist/messages/block_translators/index.js.map +1 -1
  194. package/dist/messages/block_translators/ollama.cjs +2 -3
  195. package/dist/messages/block_translators/ollama.cjs.map +1 -1
  196. package/dist/messages/block_translators/ollama.js +1 -2
  197. package/dist/messages/block_translators/ollama.js.map +1 -1
  198. package/dist/messages/block_translators/openai.cjs +29 -4
  199. package/dist/messages/block_translators/openai.cjs.map +1 -1
  200. package/dist/messages/block_translators/openai.js +27 -2
  201. package/dist/messages/block_translators/openai.js.map +1 -1
  202. package/dist/messages/block_translators/utils.cjs +1 -2
  203. package/dist/messages/block_translators/utils.cjs.map +1 -1
  204. package/dist/messages/block_translators/utils.js +1 -1
  205. package/dist/messages/block_translators/xai.cjs +2 -3
  206. package/dist/messages/block_translators/xai.cjs.map +1 -1
  207. package/dist/messages/block_translators/xai.js +1 -2
  208. package/dist/messages/block_translators/xai.js.map +1 -1
  209. package/dist/messages/chat.cjs +2 -3
  210. package/dist/messages/chat.cjs.map +1 -1
  211. package/dist/messages/chat.js +1 -2
  212. package/dist/messages/chat.js.map +1 -1
  213. package/dist/messages/content/data.cjs +1 -2
  214. package/dist/messages/content/data.cjs.map +1 -1
  215. package/dist/messages/content/data.js +1 -1
  216. package/dist/messages/content/index.cjs +3 -4
  217. package/dist/messages/content/index.cjs.map +1 -1
  218. package/dist/messages/content/index.js +1 -2
  219. package/dist/messages/content/index.js.map +1 -1
  220. package/dist/messages/content/multimodal.cjs +1 -2
  221. package/dist/messages/content/multimodal.cjs.map +1 -1
  222. package/dist/messages/content/multimodal.js +1 -1
  223. package/dist/messages/content/tools.cjs +1 -2
  224. package/dist/messages/content/tools.cjs.map +1 -1
  225. package/dist/messages/content/tools.js +1 -1
  226. package/dist/messages/format.cjs +1 -2
  227. package/dist/messages/format.cjs.map +1 -1
  228. package/dist/messages/format.js +1 -1
  229. package/dist/messages/function.cjs +2 -3
  230. package/dist/messages/function.cjs.map +1 -1
  231. package/dist/messages/function.js +1 -2
  232. package/dist/messages/function.js.map +1 -1
  233. package/dist/messages/human.cjs +2 -3
  234. package/dist/messages/human.cjs.map +1 -1
  235. package/dist/messages/human.js +1 -2
  236. package/dist/messages/human.js.map +1 -1
  237. package/dist/messages/index.cjs +22 -23
  238. package/dist/messages/index.js +1 -2
  239. package/dist/messages/message.cjs +1 -2
  240. package/dist/messages/message.cjs.map +1 -1
  241. package/dist/messages/message.js +1 -1
  242. package/dist/messages/metadata.cjs +2 -3
  243. package/dist/messages/metadata.cjs.map +1 -1
  244. package/dist/messages/metadata.js +1 -2
  245. package/dist/messages/metadata.js.map +1 -1
  246. package/dist/messages/modifier.cjs +2 -3
  247. package/dist/messages/modifier.cjs.map +1 -1
  248. package/dist/messages/modifier.js +1 -2
  249. package/dist/messages/modifier.js.map +1 -1
  250. package/dist/messages/system.cjs +2 -3
  251. package/dist/messages/system.cjs.map +1 -1
  252. package/dist/messages/system.js +1 -2
  253. package/dist/messages/system.js.map +1 -1
  254. package/dist/messages/tool.cjs +9 -10
  255. package/dist/messages/tool.cjs.map +1 -1
  256. package/dist/messages/tool.js +1 -2
  257. package/dist/messages/tool.js.map +1 -1
  258. package/dist/messages/transformers.cjs +11 -12
  259. package/dist/messages/transformers.cjs.map +1 -1
  260. package/dist/messages/transformers.js +1 -2
  261. package/dist/messages/transformers.js.map +1 -1
  262. package/dist/messages/utils.cjs +12 -13
  263. package/dist/messages/utils.cjs.map +1 -1
  264. package/dist/messages/utils.js +1 -2
  265. package/dist/messages/utils.js.map +1 -1
  266. package/dist/output_parsers/base.cjs +4 -5
  267. package/dist/output_parsers/base.cjs.map +1 -1
  268. package/dist/output_parsers/base.d.ts +0 -4
  269. package/dist/output_parsers/base.d.ts.map +1 -1
  270. package/dist/output_parsers/base.js +1 -2
  271. package/dist/output_parsers/base.js.map +1 -1
  272. package/dist/output_parsers/bytes.cjs +2 -3
  273. package/dist/output_parsers/bytes.cjs.map +1 -1
  274. package/dist/output_parsers/bytes.js +1 -2
  275. package/dist/output_parsers/bytes.js.map +1 -1
  276. package/dist/output_parsers/index.cjs +18 -19
  277. package/dist/output_parsers/index.js +1 -2
  278. package/dist/output_parsers/json.cjs +5 -6
  279. package/dist/output_parsers/json.cjs.map +1 -1
  280. package/dist/output_parsers/json.d.ts +0 -1
  281. package/dist/output_parsers/json.d.ts.map +1 -1
  282. package/dist/output_parsers/json.js +2 -3
  283. package/dist/output_parsers/json.js.map +1 -1
  284. package/dist/output_parsers/list.cjs +3 -4
  285. package/dist/output_parsers/list.cjs.map +1 -1
  286. package/dist/output_parsers/list.d.ts +0 -1
  287. package/dist/output_parsers/list.d.ts.map +1 -1
  288. package/dist/output_parsers/list.js +1 -2
  289. package/dist/output_parsers/list.js.map +1 -1
  290. package/dist/output_parsers/openai_functions/index.cjs +9 -10
  291. package/dist/output_parsers/openai_functions/index.js +1 -2
  292. package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs +7 -8
  293. package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs.map +1 -1
  294. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts +0 -1
  295. package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts.map +1 -1
  296. package/dist/output_parsers/openai_functions/json_output_functions_parsers.js +1 -2
  297. package/dist/output_parsers/openai_functions/json_output_functions_parsers.js.map +1 -1
  298. package/dist/output_parsers/openai_tools/index.cjs +9 -10
  299. package/dist/output_parsers/openai_tools/index.js +1 -2
  300. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs +7 -8
  301. package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs.map +1 -1
  302. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js +1 -2
  303. package/dist/output_parsers/openai_tools/json_output_tools_parsers.js.map +1 -1
  304. package/dist/output_parsers/standard_schema.cjs +4 -5
  305. package/dist/output_parsers/standard_schema.cjs.map +1 -1
  306. package/dist/output_parsers/standard_schema.js +1 -2
  307. package/dist/output_parsers/standard_schema.js.map +1 -1
  308. package/dist/output_parsers/string.cjs +2 -3
  309. package/dist/output_parsers/string.cjs.map +1 -1
  310. package/dist/output_parsers/string.d.ts +0 -1
  311. package/dist/output_parsers/string.d.ts.map +1 -1
  312. package/dist/output_parsers/string.js +1 -2
  313. package/dist/output_parsers/string.js.map +1 -1
  314. package/dist/output_parsers/structured.cjs +5 -6
  315. package/dist/output_parsers/structured.cjs.map +1 -1
  316. package/dist/output_parsers/structured.js +1 -2
  317. package/dist/output_parsers/structured.js.map +1 -1
  318. package/dist/output_parsers/transform.cjs +6 -7
  319. package/dist/output_parsers/transform.cjs.map +1 -1
  320. package/dist/output_parsers/transform.js +1 -2
  321. package/dist/output_parsers/transform.js.map +1 -1
  322. package/dist/output_parsers/xml.cjs +5 -6
  323. package/dist/output_parsers/xml.cjs.map +1 -1
  324. package/dist/output_parsers/xml.js +1 -2
  325. package/dist/output_parsers/xml.js.map +1 -1
  326. package/dist/outputs.cjs +8 -10
  327. package/dist/outputs.cjs.map +1 -1
  328. package/dist/outputs.js +1 -2
  329. package/dist/outputs.js.map +1 -1
  330. package/dist/prompt_values.cjs +11 -12
  331. package/dist/prompt_values.cjs.map +1 -1
  332. package/dist/prompt_values.js +1 -2
  333. package/dist/prompt_values.js.map +1 -1
  334. package/dist/prompts/base.cjs +2 -3
  335. package/dist/prompts/base.cjs.map +1 -1
  336. package/dist/prompts/base.d.ts +0 -2
  337. package/dist/prompts/base.d.ts.map +1 -1
  338. package/dist/prompts/base.js +1 -2
  339. package/dist/prompts/base.js.map +1 -1
  340. package/dist/prompts/chat.cjs +17 -18
  341. package/dist/prompts/chat.cjs.map +1 -1
  342. package/dist/prompts/chat.d.ts +0 -1
  343. package/dist/prompts/chat.d.ts.map +1 -1
  344. package/dist/prompts/chat.js +1 -2
  345. package/dist/prompts/chat.js.map +1 -1
  346. package/dist/prompts/dict.cjs +3 -4
  347. package/dist/prompts/dict.cjs.map +1 -1
  348. package/dist/prompts/dict.js +1 -2
  349. package/dist/prompts/dict.js.map +1 -1
  350. package/dist/prompts/few_shot.cjs +5 -6
  351. package/dist/prompts/few_shot.cjs.map +1 -1
  352. package/dist/prompts/few_shot.d.ts +0 -1
  353. package/dist/prompts/few_shot.d.ts.map +1 -1
  354. package/dist/prompts/few_shot.js +1 -2
  355. package/dist/prompts/few_shot.js.map +1 -1
  356. package/dist/prompts/image.cjs +4 -5
  357. package/dist/prompts/image.cjs.map +1 -1
  358. package/dist/prompts/image.d.ts +0 -1
  359. package/dist/prompts/image.d.ts.map +1 -1
  360. package/dist/prompts/image.js +1 -2
  361. package/dist/prompts/image.js.map +1 -1
  362. package/dist/prompts/index.cjs +18 -19
  363. package/dist/prompts/index.js +1 -2
  364. package/dist/prompts/pipeline.cjs +3 -4
  365. package/dist/prompts/pipeline.cjs.map +1 -1
  366. package/dist/prompts/pipeline.js +1 -2
  367. package/dist/prompts/pipeline.js.map +1 -1
  368. package/dist/prompts/prompt.cjs +3 -4
  369. package/dist/prompts/prompt.cjs.map +1 -1
  370. package/dist/prompts/prompt.d.ts +0 -1
  371. package/dist/prompts/prompt.d.ts.map +1 -1
  372. package/dist/prompts/prompt.js +1 -2
  373. package/dist/prompts/prompt.js.map +1 -1
  374. package/dist/prompts/serde.d.ts +0 -1
  375. package/dist/prompts/serde.d.ts.map +1 -1
  376. package/dist/prompts/string.cjs +3 -4
  377. package/dist/prompts/string.cjs.map +1 -1
  378. package/dist/prompts/string.js +1 -2
  379. package/dist/prompts/string.js.map +1 -1
  380. package/dist/prompts/structured.cjs +3 -4
  381. package/dist/prompts/structured.cjs.map +1 -1
  382. package/dist/prompts/structured.d.ts +0 -1
  383. package/dist/prompts/structured.d.ts.map +1 -1
  384. package/dist/prompts/structured.js +1 -2
  385. package/dist/prompts/structured.js.map +1 -1
  386. package/dist/prompts/template.cjs +3 -4
  387. package/dist/prompts/template.cjs.map +1 -1
  388. package/dist/prompts/template.d.ts +0 -2
  389. package/dist/prompts/template.d.ts.map +1 -1
  390. package/dist/prompts/template.js +1 -2
  391. package/dist/prompts/template.js.map +1 -1
  392. package/dist/retrievers/document_compressors/index.cjs +8 -10
  393. package/dist/retrievers/document_compressors/index.cjs.map +1 -1
  394. package/dist/retrievers/document_compressors/index.js +1 -2
  395. package/dist/retrievers/document_compressors/index.js.map +1 -1
  396. package/dist/retrievers/index.cjs +11 -12
  397. package/dist/retrievers/index.cjs.map +1 -1
  398. package/dist/retrievers/index.d.ts +0 -1
  399. package/dist/retrievers/index.d.ts.map +1 -1
  400. package/dist/retrievers/index.js +1 -2
  401. package/dist/retrievers/index.js.map +1 -1
  402. package/dist/runnables/base.cjs +32 -36
  403. package/dist/runnables/base.cjs.map +1 -1
  404. package/dist/runnables/base.d.cts.map +1 -1
  405. package/dist/runnables/base.d.ts.map +1 -1
  406. package/dist/runnables/base.js +15 -19
  407. package/dist/runnables/base.js.map +1 -1
  408. package/dist/runnables/branch.cjs +4 -5
  409. package/dist/runnables/branch.cjs.map +1 -1
  410. package/dist/runnables/branch.d.ts +0 -1
  411. package/dist/runnables/branch.d.ts.map +1 -1
  412. package/dist/runnables/branch.js +1 -2
  413. package/dist/runnables/branch.js.map +1 -1
  414. package/dist/runnables/config.cjs +4 -7
  415. package/dist/runnables/config.cjs.map +1 -1
  416. package/dist/runnables/config.js +2 -4
  417. package/dist/runnables/config.js.map +1 -1
  418. package/dist/runnables/graph.cjs +11 -12
  419. package/dist/runnables/graph.cjs.map +1 -1
  420. package/dist/runnables/graph.js +1 -2
  421. package/dist/runnables/graph.js.map +1 -1
  422. package/dist/runnables/graph_mermaid.cjs +2 -3
  423. package/dist/runnables/graph_mermaid.cjs.map +1 -1
  424. package/dist/runnables/graph_mermaid.js +1 -2
  425. package/dist/runnables/graph_mermaid.js.map +1 -1
  426. package/dist/runnables/history.cjs +7 -8
  427. package/dist/runnables/history.cjs.map +1 -1
  428. package/dist/runnables/history.d.ts +0 -2
  429. package/dist/runnables/history.d.ts.map +1 -1
  430. package/dist/runnables/history.js +1 -2
  431. package/dist/runnables/history.js.map +1 -1
  432. package/dist/runnables/index.cjs +15 -16
  433. package/dist/runnables/index.js +1 -2
  434. package/dist/runnables/iter.cjs +4 -5
  435. package/dist/runnables/iter.cjs.map +1 -1
  436. package/dist/runnables/iter.js +1 -2
  437. package/dist/runnables/iter.js.map +1 -1
  438. package/dist/runnables/passthrough.cjs +4 -5
  439. package/dist/runnables/passthrough.cjs.map +1 -1
  440. package/dist/runnables/passthrough.d.ts +0 -1
  441. package/dist/runnables/passthrough.d.ts.map +1 -1
  442. package/dist/runnables/passthrough.js +1 -2
  443. package/dist/runnables/passthrough.js.map +1 -1
  444. package/dist/runnables/router.cjs +3 -4
  445. package/dist/runnables/router.cjs.map +1 -1
  446. package/dist/runnables/router.d.ts +0 -1
  447. package/dist/runnables/router.d.ts.map +1 -1
  448. package/dist/runnables/router.js +1 -2
  449. package/dist/runnables/router.js.map +1 -1
  450. package/dist/runnables/utils.cjs +1 -2
  451. package/dist/runnables/utils.cjs.map +1 -1
  452. package/dist/runnables/utils.js +1 -1
  453. package/dist/runnables/utils.js.map +1 -1
  454. package/dist/runnables/wrappers.cjs +2 -3
  455. package/dist/runnables/wrappers.cjs.map +1 -1
  456. package/dist/runnables/wrappers.js +1 -2
  457. package/dist/runnables/wrappers.js.map +1 -1
  458. package/dist/singletons/async_local_storage/context.cjs +3 -4
  459. package/dist/singletons/async_local_storage/context.cjs.map +1 -1
  460. package/dist/singletons/async_local_storage/context.js +1 -2
  461. package/dist/singletons/async_local_storage/context.js.map +1 -1
  462. package/dist/singletons/async_local_storage/globals.cjs +1 -2
  463. package/dist/singletons/async_local_storage/globals.cjs.map +1 -1
  464. package/dist/singletons/async_local_storage/globals.js +1 -1
  465. package/dist/singletons/async_local_storage/globals.js.map +1 -1
  466. package/dist/singletons/async_local_storage/index.cjs +4 -5
  467. package/dist/singletons/async_local_storage/index.cjs.map +1 -1
  468. package/dist/singletons/async_local_storage/index.js +1 -2
  469. package/dist/singletons/async_local_storage/index.js.map +1 -1
  470. package/dist/singletons/callbacks.cjs +4 -5
  471. package/dist/singletons/callbacks.cjs.map +1 -1
  472. package/dist/singletons/callbacks.js +1 -2
  473. package/dist/singletons/callbacks.js.map +1 -1
  474. package/dist/singletons/index.cjs +10 -11
  475. package/dist/singletons/index.js +1 -2
  476. package/dist/singletons/tracer.cjs +3 -4
  477. package/dist/singletons/tracer.cjs.map +1 -1
  478. package/dist/singletons/tracer.js +1 -2
  479. package/dist/singletons/tracer.js.map +1 -1
  480. package/dist/stores.cjs +9 -10
  481. package/dist/stores.cjs.map +1 -1
  482. package/dist/stores.js +1 -2
  483. package/dist/stores.js.map +1 -1
  484. package/dist/structured_query/base.cjs +3 -4
  485. package/dist/structured_query/base.cjs.map +1 -1
  486. package/dist/structured_query/base.js +1 -2
  487. package/dist/structured_query/base.js.map +1 -1
  488. package/dist/structured_query/functional.cjs +4 -5
  489. package/dist/structured_query/functional.cjs.map +1 -1
  490. package/dist/structured_query/functional.js +1 -2
  491. package/dist/structured_query/functional.js.map +1 -1
  492. package/dist/structured_query/index.cjs +12 -13
  493. package/dist/structured_query/index.js +1 -2
  494. package/dist/structured_query/ir.cjs +1 -2
  495. package/dist/structured_query/ir.cjs.map +1 -1
  496. package/dist/structured_query/ir.js +1 -1
  497. package/dist/structured_query/ir.js.map +1 -1
  498. package/dist/structured_query/utils.cjs +1 -2
  499. package/dist/structured_query/utils.cjs.map +1 -1
  500. package/dist/structured_query/utils.js +1 -1
  501. package/dist/testing/fake_model_builder.cjs +6 -7
  502. package/dist/testing/fake_model_builder.cjs.map +1 -1
  503. package/dist/testing/fake_model_builder.d.ts +0 -1
  504. package/dist/testing/fake_model_builder.d.ts.map +1 -1
  505. package/dist/testing/fake_model_builder.js +1 -2
  506. package/dist/testing/fake_model_builder.js.map +1 -1
  507. package/dist/testing/index.cjs +10 -11
  508. package/dist/testing/index.js +1 -2
  509. package/dist/testing/matchers.cjs +7 -8
  510. package/dist/testing/matchers.cjs.map +1 -1
  511. package/dist/testing/matchers.js +1 -2
  512. package/dist/testing/matchers.js.map +1 -1
  513. package/dist/tools/index.cjs +20 -21
  514. package/dist/tools/index.cjs.map +1 -1
  515. package/dist/tools/index.d.cts +1 -1
  516. package/dist/tools/index.d.cts.map +1 -1
  517. package/dist/tools/index.d.ts +1 -3
  518. package/dist/tools/index.d.ts.map +1 -1
  519. package/dist/tools/index.js +1 -2
  520. package/dist/tools/index.js.map +1 -1
  521. package/dist/tools/types.cjs +3 -4
  522. package/dist/tools/types.cjs.map +1 -1
  523. package/dist/tools/types.d.ts +0 -2
  524. package/dist/tools/types.d.ts.map +1 -1
  525. package/dist/tools/types.js +1 -2
  526. package/dist/tools/types.js.map +1 -1
  527. package/dist/tools/utils.cjs +1 -2
  528. package/dist/tools/utils.cjs.map +1 -1
  529. package/dist/tools/utils.js +1 -1
  530. package/dist/tracers/base.cjs +10 -11
  531. package/dist/tracers/base.cjs.map +1 -1
  532. package/dist/tracers/base.js +1 -2
  533. package/dist/tracers/base.js.map +1 -1
  534. package/dist/tracers/console.cjs +9 -10
  535. package/dist/tracers/console.cjs.map +1 -1
  536. package/dist/tracers/console.js +1 -2
  537. package/dist/tracers/console.js.map +1 -1
  538. package/dist/tracers/event_stream.cjs +5 -6
  539. package/dist/tracers/event_stream.cjs.map +1 -1
  540. package/dist/tracers/event_stream.d.ts +0 -2
  541. package/dist/tracers/event_stream.d.ts.map +1 -1
  542. package/dist/tracers/event_stream.js +1 -2
  543. package/dist/tracers/event_stream.js.map +1 -1
  544. package/dist/tracers/log_stream.cjs +13 -14
  545. package/dist/tracers/log_stream.cjs.map +1 -1
  546. package/dist/tracers/log_stream.js +1 -2
  547. package/dist/tracers/log_stream.js.map +1 -1
  548. package/dist/tracers/root_listener.cjs +2 -3
  549. package/dist/tracers/root_listener.cjs.map +1 -1
  550. package/dist/tracers/root_listener.js +1 -2
  551. package/dist/tracers/root_listener.js.map +1 -1
  552. package/dist/tracers/run_collector.cjs +9 -10
  553. package/dist/tracers/run_collector.cjs.map +1 -1
  554. package/dist/tracers/run_collector.js +1 -2
  555. package/dist/tracers/run_collector.js.map +1 -1
  556. package/dist/tracers/tracer_langchain.cjs +12 -13
  557. package/dist/tracers/tracer_langchain.cjs.map +1 -1
  558. package/dist/tracers/tracer_langchain.js +1 -2
  559. package/dist/tracers/tracer_langchain.js.map +1 -1
  560. package/dist/types/stream.cjs +8 -10
  561. package/dist/types/stream.js +1 -2
  562. package/dist/utils/async_caller.cjs +10 -11
  563. package/dist/utils/async_caller.cjs.map +1 -1
  564. package/dist/utils/async_caller.js +1 -2
  565. package/dist/utils/async_caller.js.map +1 -1
  566. package/dist/utils/callbacks.cjs +2 -3
  567. package/dist/utils/callbacks.cjs.map +1 -1
  568. package/dist/utils/callbacks.js +1 -2
  569. package/dist/utils/callbacks.js.map +1 -1
  570. package/dist/utils/chunk_array.cjs +8 -10
  571. package/dist/utils/chunk_array.cjs.map +1 -1
  572. package/dist/utils/chunk_array.js +1 -2
  573. package/dist/utils/chunk_array.js.map +1 -1
  574. package/dist/utils/context.cjs +8 -10
  575. package/dist/utils/context.cjs.map +1 -1
  576. package/dist/utils/context.js +1 -2
  577. package/dist/utils/context.js.map +1 -1
  578. package/dist/utils/env.cjs +8 -10
  579. package/dist/utils/env.cjs.map +1 -1
  580. package/dist/utils/env.js +1 -2
  581. package/dist/utils/env.js.map +1 -1
  582. package/dist/utils/event_source_parse.cjs +9 -10
  583. package/dist/utils/event_source_parse.cjs.map +1 -1
  584. package/dist/utils/event_source_parse.js +1 -2
  585. package/dist/utils/event_source_parse.js.map +1 -1
  586. package/dist/utils/fast-json-patch/index.cjs +5 -16
  587. package/dist/utils/fast-json-patch/index.cjs.map +1 -1
  588. package/dist/utils/fast-json-patch/index.js +6 -17
  589. package/dist/utils/fast-json-patch/index.js.map +1 -1
  590. package/dist/utils/fast-json-patch/src/core.cjs +8 -9
  591. package/dist/utils/fast-json-patch/src/core.cjs.map +1 -1
  592. package/dist/utils/fast-json-patch/src/core.js +1 -2
  593. package/dist/utils/fast-json-patch/src/core.js.map +1 -1
  594. package/dist/utils/fast-json-patch/src/duplex.cjs +3 -4
  595. package/dist/utils/fast-json-patch/src/duplex.cjs.map +1 -1
  596. package/dist/utils/fast-json-patch/src/duplex.js +1 -2
  597. package/dist/utils/fast-json-patch/src/duplex.js.map +1 -1
  598. package/dist/utils/fast-json-patch/src/helpers.cjs +1 -2
  599. package/dist/utils/fast-json-patch/src/helpers.cjs.map +1 -1
  600. package/dist/utils/fast-json-patch/src/helpers.js +1 -1
  601. package/dist/utils/fast-json-patch/src/helpers.js.map +1 -1
  602. package/dist/utils/format.cjs +8 -10
  603. package/dist/utils/format.js +1 -2
  604. package/dist/utils/function_calling.cjs +10 -11
  605. package/dist/utils/function_calling.cjs.map +1 -1
  606. package/dist/utils/function_calling.js +1 -2
  607. package/dist/utils/function_calling.js.map +1 -1
  608. package/dist/utils/hash.cjs +9 -10
  609. package/dist/utils/hash.js +1 -2
  610. package/dist/utils/is-network-error/index.cjs +1 -2
  611. package/dist/utils/is-network-error/index.cjs.map +1 -1
  612. package/dist/utils/is-network-error/index.js +1 -1
  613. package/dist/utils/is-network-error/index.js.map +1 -1
  614. package/dist/utils/js-sha256/hash.cjs +1 -3
  615. package/dist/utils/js-sha256/hash.cjs.map +1 -1
  616. package/dist/utils/js-sha256/hash.js +1 -1
  617. package/dist/utils/js-sha256/hash.js.map +1 -1
  618. package/dist/utils/json.cjs +1 -2
  619. package/dist/utils/json.cjs.map +1 -1
  620. package/dist/utils/json.js +1 -1
  621. package/dist/utils/json_patch.cjs +11 -12
  622. package/dist/utils/json_patch.js +1 -2
  623. package/dist/utils/json_schema.cjs +22 -23
  624. package/dist/utils/json_schema.cjs.map +1 -1
  625. package/dist/utils/json_schema.d.ts +0 -1
  626. package/dist/utils/json_schema.d.ts.map +1 -1
  627. package/dist/utils/json_schema.js +1 -2
  628. package/dist/utils/json_schema.js.map +1 -1
  629. package/dist/utils/math.cjs +11 -12
  630. package/dist/utils/math.cjs.map +1 -1
  631. package/dist/utils/math.js +1 -2
  632. package/dist/utils/math.js.map +1 -1
  633. package/dist/utils/ml-distance/distances.cjs +1 -2
  634. package/dist/utils/ml-distance/distances.cjs.map +1 -1
  635. package/dist/utils/ml-distance/distances.js +1 -1
  636. package/dist/utils/ml-distance/similarities.cjs +1 -2
  637. package/dist/utils/ml-distance/similarities.cjs.map +1 -1
  638. package/dist/utils/ml-distance/similarities.js +1 -1
  639. package/dist/utils/ml-distance-euclidean/euclidean.cjs +1 -2
  640. package/dist/utils/ml-distance-euclidean/euclidean.cjs.map +1 -1
  641. package/dist/utils/ml-distance-euclidean/euclidean.js +1 -1
  642. package/dist/utils/namespace.cjs +1 -2
  643. package/dist/utils/namespace.cjs.map +1 -1
  644. package/dist/utils/namespace.js +1 -1
  645. package/dist/utils/p-retry/index.cjs +2 -3
  646. package/dist/utils/p-retry/index.cjs.map +1 -1
  647. package/dist/utils/p-retry/index.js +1 -2
  648. package/dist/utils/p-retry/index.js.map +1 -1
  649. package/dist/utils/sax-js/sax.cjs +1 -2
  650. package/dist/utils/sax-js/sax.cjs.map +1 -1
  651. package/dist/utils/sax-js/sax.js +1 -1
  652. package/dist/utils/signal.cjs +1 -2
  653. package/dist/utils/signal.cjs.map +1 -1
  654. package/dist/utils/signal.js +1 -1
  655. package/dist/utils/signal.js.map +1 -1
  656. package/dist/utils/ssrf.cjs +8 -10
  657. package/dist/utils/ssrf.cjs.map +1 -1
  658. package/dist/utils/ssrf.js +1 -2
  659. package/dist/utils/ssrf.js.map +1 -1
  660. package/dist/utils/standard_schema.cjs +8 -10
  661. package/dist/utils/standard_schema.cjs.map +1 -1
  662. package/dist/utils/standard_schema.js +1 -2
  663. package/dist/utils/standard_schema.js.map +1 -1
  664. package/dist/utils/stream.cjs +13 -14
  665. package/dist/utils/stream.cjs.map +1 -1
  666. package/dist/utils/stream.d.cts.map +1 -1
  667. package/dist/utils/stream.d.ts.map +1 -1
  668. package/dist/utils/stream.js +2 -3
  669. package/dist/utils/stream.js.map +1 -1
  670. package/dist/utils/testing/chat_models.cjs +7 -8
  671. package/dist/utils/testing/chat_models.cjs.map +1 -1
  672. package/dist/utils/testing/chat_models.d.ts +0 -1
  673. package/dist/utils/testing/chat_models.d.ts.map +1 -1
  674. package/dist/utils/testing/chat_models.js +1 -2
  675. package/dist/utils/testing/chat_models.js.map +1 -1
  676. package/dist/utils/testing/embeddings.cjs +2 -3
  677. package/dist/utils/testing/embeddings.cjs.map +1 -1
  678. package/dist/utils/testing/embeddings.js +1 -2
  679. package/dist/utils/testing/embeddings.js.map +1 -1
  680. package/dist/utils/testing/index.cjs +18 -19
  681. package/dist/utils/testing/index.js +1 -2
  682. package/dist/utils/testing/llms.cjs +2 -3
  683. package/dist/utils/testing/llms.cjs.map +1 -1
  684. package/dist/utils/testing/llms.js +1 -2
  685. package/dist/utils/testing/llms.js.map +1 -1
  686. package/dist/utils/testing/message_history.cjs +6 -7
  687. package/dist/utils/testing/message_history.cjs.map +1 -1
  688. package/dist/utils/testing/message_history.d.ts +0 -1
  689. package/dist/utils/testing/message_history.d.ts.map +1 -1
  690. package/dist/utils/testing/message_history.js +1 -2
  691. package/dist/utils/testing/message_history.js.map +1 -1
  692. package/dist/utils/testing/output_parsers.cjs +2 -3
  693. package/dist/utils/testing/output_parsers.cjs.map +1 -1
  694. package/dist/utils/testing/output_parsers.js +1 -2
  695. package/dist/utils/testing/output_parsers.js.map +1 -1
  696. package/dist/utils/testing/retrievers.cjs +3 -4
  697. package/dist/utils/testing/retrievers.cjs.map +1 -1
  698. package/dist/utils/testing/retrievers.js +1 -2
  699. package/dist/utils/testing/retrievers.js.map +1 -1
  700. package/dist/utils/testing/runnables.cjs +2 -3
  701. package/dist/utils/testing/runnables.cjs.map +1 -1
  702. package/dist/utils/testing/runnables.js +1 -2
  703. package/dist/utils/testing/runnables.js.map +1 -1
  704. package/dist/utils/testing/tools.cjs +2 -3
  705. package/dist/utils/testing/tools.cjs.map +1 -1
  706. package/dist/utils/testing/tools.js +1 -2
  707. package/dist/utils/testing/tools.js.map +1 -1
  708. package/dist/utils/testing/tracers.cjs +2 -3
  709. package/dist/utils/testing/tracers.cjs.map +1 -1
  710. package/dist/utils/testing/tracers.js +1 -2
  711. package/dist/utils/testing/tracers.js.map +1 -1
  712. package/dist/utils/testing/vectorstores.cjs +4 -5
  713. package/dist/utils/testing/vectorstores.cjs.map +1 -1
  714. package/dist/utils/testing/vectorstores.js +1 -2
  715. package/dist/utils/testing/vectorstores.js.map +1 -1
  716. package/dist/utils/tiktoken.cjs +9 -10
  717. package/dist/utils/tiktoken.cjs.map +1 -1
  718. package/dist/utils/tiktoken.js +1 -2
  719. package/dist/utils/tiktoken.js.map +1 -1
  720. package/dist/utils/types/index.cjs +9 -10
  721. package/dist/utils/types/index.js +1 -2
  722. package/dist/utils/types/zod.cjs +2 -3
  723. package/dist/utils/types/zod.cjs.map +1 -1
  724. package/dist/utils/types/zod.js +1 -2
  725. package/dist/utils/types/zod.js.map +1 -1
  726. package/dist/utils/zod-to-json-schema/Options.cjs +1 -2
  727. package/dist/utils/zod-to-json-schema/Options.cjs.map +1 -1
  728. package/dist/utils/zod-to-json-schema/Options.d.ts +1 -3
  729. package/dist/utils/zod-to-json-schema/Options.js +1 -1
  730. package/dist/utils/zod-to-json-schema/Options.js.map +1 -1
  731. package/dist/utils/zod-to-json-schema/Refs.cjs +2 -3
  732. package/dist/utils/zod-to-json-schema/Refs.cjs.map +1 -1
  733. package/dist/utils/zod-to-json-schema/Refs.d.ts +1 -3
  734. package/dist/utils/zod-to-json-schema/Refs.js +1 -2
  735. package/dist/utils/zod-to-json-schema/Refs.js.map +1 -1
  736. package/dist/utils/zod-to-json-schema/errorMessages.cjs +1 -2
  737. package/dist/utils/zod-to-json-schema/errorMessages.cjs.map +1 -1
  738. package/dist/utils/zod-to-json-schema/errorMessages.d.ts +0 -2
  739. package/dist/utils/zod-to-json-schema/errorMessages.d.ts.map +1 -1
  740. package/dist/utils/zod-to-json-schema/errorMessages.js +1 -1
  741. package/dist/utils/zod-to-json-schema/getRelativePath.cjs +1 -2
  742. package/dist/utils/zod-to-json-schema/getRelativePath.cjs.map +1 -1
  743. package/dist/utils/zod-to-json-schema/getRelativePath.js +1 -1
  744. package/dist/utils/zod-to-json-schema/index.cjs +37 -37
  745. package/dist/utils/zod-to-json-schema/index.d.ts +1 -14
  746. package/dist/utils/zod-to-json-schema/index.js +38 -39
  747. package/dist/utils/zod-to-json-schema/parseDef.cjs +5 -6
  748. package/dist/utils/zod-to-json-schema/parseDef.cjs.map +1 -1
  749. package/dist/utils/zod-to-json-schema/parseDef.d.ts +1 -3
  750. package/dist/utils/zod-to-json-schema/parseDef.js +1 -2
  751. package/dist/utils/zod-to-json-schema/parseDef.js.map +1 -1
  752. package/dist/utils/zod-to-json-schema/parsers/any.cjs +2 -3
  753. package/dist/utils/zod-to-json-schema/parsers/any.cjs.map +1 -1
  754. package/dist/utils/zod-to-json-schema/parsers/any.d.ts +0 -2
  755. package/dist/utils/zod-to-json-schema/parsers/any.d.ts.map +1 -1
  756. package/dist/utils/zod-to-json-schema/parsers/any.js +1 -2
  757. package/dist/utils/zod-to-json-schema/parsers/any.js.map +1 -1
  758. package/dist/utils/zod-to-json-schema/parsers/array.cjs +4 -5
  759. package/dist/utils/zod-to-json-schema/parsers/array.cjs.map +1 -1
  760. package/dist/utils/zod-to-json-schema/parsers/array.d.ts +0 -3
  761. package/dist/utils/zod-to-json-schema/parsers/array.d.ts.map +1 -1
  762. package/dist/utils/zod-to-json-schema/parsers/array.js +1 -2
  763. package/dist/utils/zod-to-json-schema/parsers/array.js.map +1 -1
  764. package/dist/utils/zod-to-json-schema/parsers/bigint.cjs +2 -3
  765. package/dist/utils/zod-to-json-schema/parsers/bigint.cjs.map +1 -1
  766. package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts +0 -3
  767. package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts.map +1 -1
  768. package/dist/utils/zod-to-json-schema/parsers/bigint.js +1 -2
  769. package/dist/utils/zod-to-json-schema/parsers/bigint.js.map +1 -1
  770. package/dist/utils/zod-to-json-schema/parsers/boolean.cjs +1 -2
  771. package/dist/utils/zod-to-json-schema/parsers/boolean.cjs.map +1 -1
  772. package/dist/utils/zod-to-json-schema/parsers/boolean.js +1 -1
  773. package/dist/utils/zod-to-json-schema/parsers/branded.cjs +2 -3
  774. package/dist/utils/zod-to-json-schema/parsers/branded.cjs.map +1 -1
  775. package/dist/utils/zod-to-json-schema/parsers/branded.d.ts +1 -3
  776. package/dist/utils/zod-to-json-schema/parsers/branded.js +1 -2
  777. package/dist/utils/zod-to-json-schema/parsers/branded.js.map +1 -1
  778. package/dist/utils/zod-to-json-schema/parsers/catch.cjs +2 -3
  779. package/dist/utils/zod-to-json-schema/parsers/catch.cjs.map +1 -1
  780. package/dist/utils/zod-to-json-schema/parsers/catch.d.ts +1 -3
  781. package/dist/utils/zod-to-json-schema/parsers/catch.js +1 -2
  782. package/dist/utils/zod-to-json-schema/parsers/catch.js.map +1 -1
  783. package/dist/utils/zod-to-json-schema/parsers/date.cjs +2 -3
  784. package/dist/utils/zod-to-json-schema/parsers/date.cjs.map +1 -1
  785. package/dist/utils/zod-to-json-schema/parsers/date.d.ts +0 -4
  786. package/dist/utils/zod-to-json-schema/parsers/date.d.ts.map +1 -1
  787. package/dist/utils/zod-to-json-schema/parsers/date.js +1 -2
  788. package/dist/utils/zod-to-json-schema/parsers/date.js.map +1 -1
  789. package/dist/utils/zod-to-json-schema/parsers/default.cjs +2 -3
  790. package/dist/utils/zod-to-json-schema/parsers/default.cjs.map +1 -1
  791. package/dist/utils/zod-to-json-schema/parsers/default.d.ts +1 -3
  792. package/dist/utils/zod-to-json-schema/parsers/default.js +1 -2
  793. package/dist/utils/zod-to-json-schema/parsers/default.js.map +1 -1
  794. package/dist/utils/zod-to-json-schema/parsers/effects.cjs +3 -4
  795. package/dist/utils/zod-to-json-schema/parsers/effects.cjs.map +1 -1
  796. package/dist/utils/zod-to-json-schema/parsers/effects.d.ts +1 -3
  797. package/dist/utils/zod-to-json-schema/parsers/effects.js +1 -2
  798. package/dist/utils/zod-to-json-schema/parsers/effects.js.map +1 -1
  799. package/dist/utils/zod-to-json-schema/parsers/enum.cjs +1 -2
  800. package/dist/utils/zod-to-json-schema/parsers/enum.cjs.map +1 -1
  801. package/dist/utils/zod-to-json-schema/parsers/enum.d.ts +0 -2
  802. package/dist/utils/zod-to-json-schema/parsers/enum.d.ts.map +1 -1
  803. package/dist/utils/zod-to-json-schema/parsers/enum.js +1 -1
  804. package/dist/utils/zod-to-json-schema/parsers/intersection.cjs +2 -3
  805. package/dist/utils/zod-to-json-schema/parsers/intersection.cjs.map +1 -1
  806. package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts +0 -3
  807. package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts.map +1 -1
  808. package/dist/utils/zod-to-json-schema/parsers/intersection.js +1 -2
  809. package/dist/utils/zod-to-json-schema/parsers/intersection.js.map +1 -1
  810. package/dist/utils/zod-to-json-schema/parsers/literal.cjs +1 -2
  811. package/dist/utils/zod-to-json-schema/parsers/literal.cjs.map +1 -1
  812. package/dist/utils/zod-to-json-schema/parsers/literal.d.ts +0 -3
  813. package/dist/utils/zod-to-json-schema/parsers/literal.d.ts.map +1 -1
  814. package/dist/utils/zod-to-json-schema/parsers/literal.js +1 -1
  815. package/dist/utils/zod-to-json-schema/parsers/map.cjs +4 -5
  816. package/dist/utils/zod-to-json-schema/parsers/map.cjs.map +1 -1
  817. package/dist/utils/zod-to-json-schema/parsers/map.d.ts +0 -4
  818. package/dist/utils/zod-to-json-schema/parsers/map.d.ts.map +1 -1
  819. package/dist/utils/zod-to-json-schema/parsers/map.js +1 -2
  820. package/dist/utils/zod-to-json-schema/parsers/map.js.map +1 -1
  821. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs +1 -2
  822. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs.map +1 -1
  823. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts +0 -2
  824. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -1
  825. package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js +1 -1
  826. package/dist/utils/zod-to-json-schema/parsers/never.cjs +2 -3
  827. package/dist/utils/zod-to-json-schema/parsers/never.cjs.map +1 -1
  828. package/dist/utils/zod-to-json-schema/parsers/never.d.ts +0 -2
  829. package/dist/utils/zod-to-json-schema/parsers/never.d.ts.map +1 -1
  830. package/dist/utils/zod-to-json-schema/parsers/never.js +1 -2
  831. package/dist/utils/zod-to-json-schema/parsers/never.js.map +1 -1
  832. package/dist/utils/zod-to-json-schema/parsers/null.cjs +1 -2
  833. package/dist/utils/zod-to-json-schema/parsers/null.cjs.map +1 -1
  834. package/dist/utils/zod-to-json-schema/parsers/null.d.ts +0 -2
  835. package/dist/utils/zod-to-json-schema/parsers/null.d.ts.map +1 -1
  836. package/dist/utils/zod-to-json-schema/parsers/null.js +1 -1
  837. package/dist/utils/zod-to-json-schema/parsers/nullable.cjs +3 -4
  838. package/dist/utils/zod-to-json-schema/parsers/nullable.cjs.map +1 -1
  839. package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts +0 -3
  840. package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
  841. package/dist/utils/zod-to-json-schema/parsers/nullable.js +1 -2
  842. package/dist/utils/zod-to-json-schema/parsers/nullable.js.map +1 -1
  843. package/dist/utils/zod-to-json-schema/parsers/number.cjs +2 -3
  844. package/dist/utils/zod-to-json-schema/parsers/number.cjs.map +1 -1
  845. package/dist/utils/zod-to-json-schema/parsers/number.d.ts +0 -3
  846. package/dist/utils/zod-to-json-schema/parsers/number.d.ts.map +1 -1
  847. package/dist/utils/zod-to-json-schema/parsers/number.js +1 -2
  848. package/dist/utils/zod-to-json-schema/parsers/number.js.map +1 -1
  849. package/dist/utils/zod-to-json-schema/parsers/object.cjs +2 -3
  850. package/dist/utils/zod-to-json-schema/parsers/object.cjs.map +1 -1
  851. package/dist/utils/zod-to-json-schema/parsers/object.d.ts +0 -3
  852. package/dist/utils/zod-to-json-schema/parsers/object.d.ts.map +1 -1
  853. package/dist/utils/zod-to-json-schema/parsers/object.js +1 -2
  854. package/dist/utils/zod-to-json-schema/parsers/object.js.map +1 -1
  855. package/dist/utils/zod-to-json-schema/parsers/optional.cjs +3 -4
  856. package/dist/utils/zod-to-json-schema/parsers/optional.cjs.map +1 -1
  857. package/dist/utils/zod-to-json-schema/parsers/optional.d.ts +1 -3
  858. package/dist/utils/zod-to-json-schema/parsers/optional.js +1 -2
  859. package/dist/utils/zod-to-json-schema/parsers/optional.js.map +1 -1
  860. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs +2 -3
  861. package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs.map +1 -1
  862. package/dist/utils/zod-to-json-schema/parsers/pipeline.d.ts +1 -4
  863. package/dist/utils/zod-to-json-schema/parsers/pipeline.js +1 -2
  864. package/dist/utils/zod-to-json-schema/parsers/pipeline.js.map +1 -1
  865. package/dist/utils/zod-to-json-schema/parsers/promise.cjs +2 -3
  866. package/dist/utils/zod-to-json-schema/parsers/promise.cjs.map +1 -1
  867. package/dist/utils/zod-to-json-schema/parsers/promise.d.ts +1 -3
  868. package/dist/utils/zod-to-json-schema/parsers/promise.js +1 -2
  869. package/dist/utils/zod-to-json-schema/parsers/promise.js.map +1 -1
  870. package/dist/utils/zod-to-json-schema/parsers/readonly.cjs +2 -3
  871. package/dist/utils/zod-to-json-schema/parsers/readonly.cjs.map +1 -1
  872. package/dist/utils/zod-to-json-schema/parsers/readonly.d.ts +1 -3
  873. package/dist/utils/zod-to-json-schema/parsers/readonly.js +1 -2
  874. package/dist/utils/zod-to-json-schema/parsers/readonly.js.map +1 -1
  875. package/dist/utils/zod-to-json-schema/parsers/record.cjs +6 -7
  876. package/dist/utils/zod-to-json-schema/parsers/record.cjs.map +1 -1
  877. package/dist/utils/zod-to-json-schema/parsers/record.d.ts +0 -3
  878. package/dist/utils/zod-to-json-schema/parsers/record.d.ts.map +1 -1
  879. package/dist/utils/zod-to-json-schema/parsers/record.js +1 -2
  880. package/dist/utils/zod-to-json-schema/parsers/record.js.map +1 -1
  881. package/dist/utils/zod-to-json-schema/parsers/set.cjs +3 -4
  882. package/dist/utils/zod-to-json-schema/parsers/set.cjs.map +1 -1
  883. package/dist/utils/zod-to-json-schema/parsers/set.d.ts +0 -3
  884. package/dist/utils/zod-to-json-schema/parsers/set.d.ts.map +1 -1
  885. package/dist/utils/zod-to-json-schema/parsers/set.js +1 -2
  886. package/dist/utils/zod-to-json-schema/parsers/set.js.map +1 -1
  887. package/dist/utils/zod-to-json-schema/parsers/string.cjs +2 -3
  888. package/dist/utils/zod-to-json-schema/parsers/string.cjs.map +1 -1
  889. package/dist/utils/zod-to-json-schema/parsers/string.d.ts +0 -3
  890. package/dist/utils/zod-to-json-schema/parsers/string.d.ts.map +1 -1
  891. package/dist/utils/zod-to-json-schema/parsers/string.js +1 -2
  892. package/dist/utils/zod-to-json-schema/parsers/string.js.map +1 -1
  893. package/dist/utils/zod-to-json-schema/parsers/tuple.cjs +2 -3
  894. package/dist/utils/zod-to-json-schema/parsers/tuple.cjs.map +1 -1
  895. package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts +0 -3
  896. package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts.map +1 -1
  897. package/dist/utils/zod-to-json-schema/parsers/tuple.js +1 -2
  898. package/dist/utils/zod-to-json-schema/parsers/tuple.js.map +1 -1
  899. package/dist/utils/zod-to-json-schema/parsers/undefined.cjs +2 -3
  900. package/dist/utils/zod-to-json-schema/parsers/undefined.cjs.map +1 -1
  901. package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts +0 -2
  902. package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts.map +1 -1
  903. package/dist/utils/zod-to-json-schema/parsers/undefined.js +1 -2
  904. package/dist/utils/zod-to-json-schema/parsers/undefined.js.map +1 -1
  905. package/dist/utils/zod-to-json-schema/parsers/union.cjs +2 -3
  906. package/dist/utils/zod-to-json-schema/parsers/union.cjs.map +1 -1
  907. package/dist/utils/zod-to-json-schema/parsers/union.d.ts +0 -3
  908. package/dist/utils/zod-to-json-schema/parsers/union.d.ts.map +1 -1
  909. package/dist/utils/zod-to-json-schema/parsers/union.js +1 -2
  910. package/dist/utils/zod-to-json-schema/parsers/union.js.map +1 -1
  911. package/dist/utils/zod-to-json-schema/parsers/unknown.cjs +2 -3
  912. package/dist/utils/zod-to-json-schema/parsers/unknown.cjs.map +1 -1
  913. package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts +0 -2
  914. package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts.map +1 -1
  915. package/dist/utils/zod-to-json-schema/parsers/unknown.js +1 -2
  916. package/dist/utils/zod-to-json-schema/parsers/unknown.js.map +1 -1
  917. package/dist/utils/zod-to-json-schema/selectParser.cjs +32 -33
  918. package/dist/utils/zod-to-json-schema/selectParser.cjs.map +1 -1
  919. package/dist/utils/zod-to-json-schema/selectParser.d.ts +0 -2
  920. package/dist/utils/zod-to-json-schema/selectParser.js +1 -2
  921. package/dist/utils/zod-to-json-schema/selectParser.js.map +1 -1
  922. package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs +4 -5
  923. package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs.map +1 -1
  924. package/dist/utils/zod-to-json-schema/zodToJsonSchema.d.ts +1 -3
  925. package/dist/utils/zod-to-json-schema/zodToJsonSchema.js +1 -2
  926. package/dist/utils/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
  927. package/dist/vectorstores.cjs +10 -11
  928. package/dist/vectorstores.cjs.map +1 -1
  929. package/dist/vectorstores.js +1 -2
  930. package/dist/vectorstores.js.map +1 -1
  931. package/package.json +1 -1
  932. package/agents.cjs +0 -1
  933. package/agents.d.cts +0 -1
  934. package/agents.d.ts +0 -1
  935. package/agents.js +0 -1
  936. package/caches.cjs +0 -1
  937. package/caches.d.cts +0 -1
  938. package/caches.d.ts +0 -1
  939. package/caches.js +0 -1
  940. package/callbacks/base.cjs +0 -1
  941. package/callbacks/base.d.cts +0 -1
  942. package/callbacks/base.d.ts +0 -1
  943. package/callbacks/base.js +0 -1
  944. package/callbacks/dispatch/web.cjs +0 -1
  945. package/callbacks/dispatch/web.d.cts +0 -1
  946. package/callbacks/dispatch/web.d.ts +0 -1
  947. package/callbacks/dispatch/web.js +0 -1
  948. package/callbacks/dispatch.cjs +0 -1
  949. package/callbacks/dispatch.d.cts +0 -1
  950. package/callbacks/dispatch.d.ts +0 -1
  951. package/callbacks/dispatch.js +0 -1
  952. package/callbacks/manager.cjs +0 -1
  953. package/callbacks/manager.d.cts +0 -1
  954. package/callbacks/manager.d.ts +0 -1
  955. package/callbacks/manager.js +0 -1
  956. package/callbacks/promises.cjs +0 -1
  957. package/callbacks/promises.d.cts +0 -1
  958. package/callbacks/promises.d.ts +0 -1
  959. package/callbacks/promises.js +0 -1
  960. package/chat_history.cjs +0 -1
  961. package/chat_history.d.cts +0 -1
  962. package/chat_history.d.ts +0 -1
  963. package/chat_history.js +0 -1
  964. package/context.cjs +0 -1
  965. package/context.d.cts +0 -1
  966. package/context.d.ts +0 -1
  967. package/context.js +0 -1
  968. package/document_loaders/base.cjs +0 -1
  969. package/document_loaders/base.d.cts +0 -1
  970. package/document_loaders/base.d.ts +0 -1
  971. package/document_loaders/base.js +0 -1
  972. package/document_loaders/langsmith.cjs +0 -1
  973. package/document_loaders/langsmith.d.cts +0 -1
  974. package/document_loaders/langsmith.d.ts +0 -1
  975. package/document_loaders/langsmith.js +0 -1
  976. package/documents.cjs +0 -1
  977. package/documents.d.cts +0 -1
  978. package/documents.d.ts +0 -1
  979. package/documents.js +0 -1
  980. package/embeddings.cjs +0 -1
  981. package/embeddings.d.cts +0 -1
  982. package/embeddings.d.ts +0 -1
  983. package/embeddings.js +0 -1
  984. package/errors.cjs +0 -1
  985. package/errors.d.cts +0 -1
  986. package/errors.d.ts +0 -1
  987. package/errors.js +0 -1
  988. package/example_selectors.cjs +0 -1
  989. package/example_selectors.d.cts +0 -1
  990. package/example_selectors.d.ts +0 -1
  991. package/example_selectors.js +0 -1
  992. package/indexing.cjs +0 -1
  993. package/indexing.d.cts +0 -1
  994. package/indexing.d.ts +0 -1
  995. package/indexing.js +0 -1
  996. package/language_models/base.cjs +0 -1
  997. package/language_models/base.d.cts +0 -1
  998. package/language_models/base.d.ts +0 -1
  999. package/language_models/base.js +0 -1
  1000. package/language_models/chat_models.cjs +0 -1
  1001. package/language_models/chat_models.d.cts +0 -1
  1002. package/language_models/chat_models.d.ts +0 -1
  1003. package/language_models/chat_models.js +0 -1
  1004. package/language_models/llms.cjs +0 -1
  1005. package/language_models/llms.d.cts +0 -1
  1006. package/language_models/llms.d.ts +0 -1
  1007. package/language_models/llms.js +0 -1
  1008. package/language_models/profile.cjs +0 -1
  1009. package/language_models/profile.d.cts +0 -1
  1010. package/language_models/profile.d.ts +0 -1
  1011. package/language_models/profile.js +0 -1
  1012. package/language_models/structured_output.cjs +0 -1
  1013. package/language_models/structured_output.d.cts +0 -1
  1014. package/language_models/structured_output.d.ts +0 -1
  1015. package/language_models/structured_output.js +0 -1
  1016. package/load/serializable.cjs +0 -1
  1017. package/load/serializable.d.cts +0 -1
  1018. package/load/serializable.d.ts +0 -1
  1019. package/load/serializable.js +0 -1
  1020. package/load.cjs +0 -1
  1021. package/load.d.cts +0 -1
  1022. package/load.d.ts +0 -1
  1023. package/load.js +0 -1
  1024. package/memory.cjs +0 -1
  1025. package/memory.d.cts +0 -1
  1026. package/memory.d.ts +0 -1
  1027. package/memory.js +0 -1
  1028. package/messages/tool.cjs +0 -1
  1029. package/messages/tool.d.cts +0 -1
  1030. package/messages/tool.d.ts +0 -1
  1031. package/messages/tool.js +0 -1
  1032. package/messages.cjs +0 -1
  1033. package/messages.d.cts +0 -1
  1034. package/messages.d.ts +0 -1
  1035. package/messages.js +0 -1
  1036. package/output_parsers/openai_functions.cjs +0 -1
  1037. package/output_parsers/openai_functions.d.cts +0 -1
  1038. package/output_parsers/openai_functions.d.ts +0 -1
  1039. package/output_parsers/openai_functions.js +0 -1
  1040. package/output_parsers/openai_tools.cjs +0 -1
  1041. package/output_parsers/openai_tools.d.cts +0 -1
  1042. package/output_parsers/openai_tools.d.ts +0 -1
  1043. package/output_parsers/openai_tools.js +0 -1
  1044. package/output_parsers.cjs +0 -1
  1045. package/output_parsers.d.cts +0 -1
  1046. package/output_parsers.d.ts +0 -1
  1047. package/output_parsers.js +0 -1
  1048. package/outputs.cjs +0 -1
  1049. package/outputs.d.cts +0 -1
  1050. package/outputs.d.ts +0 -1
  1051. package/outputs.js +0 -1
  1052. package/prompt_values.cjs +0 -1
  1053. package/prompt_values.d.cts +0 -1
  1054. package/prompt_values.d.ts +0 -1
  1055. package/prompt_values.js +0 -1
  1056. package/prompts.cjs +0 -1
  1057. package/prompts.d.cts +0 -1
  1058. package/prompts.d.ts +0 -1
  1059. package/prompts.js +0 -1
  1060. package/retrievers/document_compressors.cjs +0 -1
  1061. package/retrievers/document_compressors.d.cts +0 -1
  1062. package/retrievers/document_compressors.d.ts +0 -1
  1063. package/retrievers/document_compressors.js +0 -1
  1064. package/retrievers.cjs +0 -1
  1065. package/retrievers.d.cts +0 -1
  1066. package/retrievers.d.ts +0 -1
  1067. package/retrievers.js +0 -1
  1068. package/runnables/graph.cjs +0 -1
  1069. package/runnables/graph.d.cts +0 -1
  1070. package/runnables/graph.d.ts +0 -1
  1071. package/runnables/graph.js +0 -1
  1072. package/runnables.cjs +0 -1
  1073. package/runnables.d.cts +0 -1
  1074. package/runnables.d.ts +0 -1
  1075. package/runnables.js +0 -1
  1076. package/singletons.cjs +0 -1
  1077. package/singletons.d.cts +0 -1
  1078. package/singletons.d.ts +0 -1
  1079. package/singletons.js +0 -1
  1080. package/stores.cjs +0 -1
  1081. package/stores.d.cts +0 -1
  1082. package/stores.d.ts +0 -1
  1083. package/stores.js +0 -1
  1084. package/structured_query.cjs +0 -1
  1085. package/structured_query.d.cts +0 -1
  1086. package/structured_query.d.ts +0 -1
  1087. package/structured_query.js +0 -1
  1088. package/tools.cjs +0 -1
  1089. package/tools.d.cts +0 -1
  1090. package/tools.d.ts +0 -1
  1091. package/tools.js +0 -1
  1092. package/tracers/base.cjs +0 -1
  1093. package/tracers/base.d.cts +0 -1
  1094. package/tracers/base.d.ts +0 -1
  1095. package/tracers/base.js +0 -1
  1096. package/tracers/console.cjs +0 -1
  1097. package/tracers/console.d.cts +0 -1
  1098. package/tracers/console.d.ts +0 -1
  1099. package/tracers/console.js +0 -1
  1100. package/tracers/log_stream.cjs +0 -1
  1101. package/tracers/log_stream.d.cts +0 -1
  1102. package/tracers/log_stream.d.ts +0 -1
  1103. package/tracers/log_stream.js +0 -1
  1104. package/tracers/run_collector.cjs +0 -1
  1105. package/tracers/run_collector.d.cts +0 -1
  1106. package/tracers/run_collector.d.ts +0 -1
  1107. package/tracers/run_collector.js +0 -1
  1108. package/tracers/tracer_langchain.cjs +0 -1
  1109. package/tracers/tracer_langchain.d.cts +0 -1
  1110. package/tracers/tracer_langchain.d.ts +0 -1
  1111. package/tracers/tracer_langchain.js +0 -1
  1112. package/types/stream.cjs +0 -1
  1113. package/types/stream.d.cts +0 -1
  1114. package/types/stream.d.ts +0 -1
  1115. package/types/stream.js +0 -1
  1116. package/utils/async_caller.cjs +0 -1
  1117. package/utils/async_caller.d.cts +0 -1
  1118. package/utils/async_caller.d.ts +0 -1
  1119. package/utils/async_caller.js +0 -1
  1120. package/utils/chunk_array.cjs +0 -1
  1121. package/utils/chunk_array.d.cts +0 -1
  1122. package/utils/chunk_array.d.ts +0 -1
  1123. package/utils/chunk_array.js +0 -1
  1124. package/utils/context.cjs +0 -1
  1125. package/utils/context.d.cts +0 -1
  1126. package/utils/context.d.ts +0 -1
  1127. package/utils/context.js +0 -1
  1128. package/utils/env.cjs +0 -1
  1129. package/utils/env.d.cts +0 -1
  1130. package/utils/env.d.ts +0 -1
  1131. package/utils/env.js +0 -1
  1132. package/utils/event_source_parse.cjs +0 -1
  1133. package/utils/event_source_parse.d.cts +0 -1
  1134. package/utils/event_source_parse.d.ts +0 -1
  1135. package/utils/event_source_parse.js +0 -1
  1136. package/utils/format.cjs +0 -1
  1137. package/utils/format.d.cts +0 -1
  1138. package/utils/format.d.ts +0 -1
  1139. package/utils/format.js +0 -1
  1140. package/utils/function_calling.cjs +0 -1
  1141. package/utils/function_calling.d.cts +0 -1
  1142. package/utils/function_calling.d.ts +0 -1
  1143. package/utils/function_calling.js +0 -1
  1144. package/utils/hash.cjs +0 -1
  1145. package/utils/hash.d.cts +0 -1
  1146. package/utils/hash.d.ts +0 -1
  1147. package/utils/hash.js +0 -1
  1148. package/utils/json_patch.cjs +0 -1
  1149. package/utils/json_patch.d.cts +0 -1
  1150. package/utils/json_patch.d.ts +0 -1
  1151. package/utils/json_patch.js +0 -1
  1152. package/utils/json_schema.cjs +0 -1
  1153. package/utils/json_schema.d.cts +0 -1
  1154. package/utils/json_schema.d.ts +0 -1
  1155. package/utils/json_schema.js +0 -1
  1156. package/utils/math.cjs +0 -1
  1157. package/utils/math.d.cts +0 -1
  1158. package/utils/math.d.ts +0 -1
  1159. package/utils/math.js +0 -1
  1160. package/utils/ssrf.cjs +0 -1
  1161. package/utils/ssrf.d.cts +0 -1
  1162. package/utils/ssrf.d.ts +0 -1
  1163. package/utils/ssrf.js +0 -1
  1164. package/utils/standard_schema.cjs +0 -1
  1165. package/utils/standard_schema.d.cts +0 -1
  1166. package/utils/standard_schema.d.ts +0 -1
  1167. package/utils/standard_schema.js +0 -1
  1168. package/utils/stream.cjs +0 -1
  1169. package/utils/stream.d.cts +0 -1
  1170. package/utils/stream.d.ts +0 -1
  1171. package/utils/stream.js +0 -1
  1172. package/utils/testing.cjs +0 -1
  1173. package/utils/testing.d.cts +0 -1
  1174. package/utils/testing.d.ts +0 -1
  1175. package/utils/testing.js +0 -1
  1176. package/utils/tiktoken.cjs +0 -1
  1177. package/utils/tiktoken.d.cts +0 -1
  1178. package/utils/tiktoken.d.ts +0 -1
  1179. package/utils/tiktoken.js +0 -1
  1180. package/utils/types.cjs +0 -1
  1181. package/utils/types.d.cts +0 -1
  1182. package/utils/types.d.ts +0 -1
  1183. package/utils/types.js +0 -1
  1184. package/vectorstores.cjs +0 -1
  1185. package/vectorstores.d.cts +0 -1
  1186. package/vectorstores.d.ts +0 -1
  1187. package/vectorstores.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sax.cjs","names":[],"sources":["../../../src/utils/sax-js/sax.ts"],"sourcesContent":["// @ts-nocheck\n\n// Inlined to deal with portability issues\n// Originally from: https://github.com/isaacs/sax-js\n\nconst initializeSax = function () {\n const sax: any = {};\n sax.parser = function (strict, opt) {\n return new SAXParser(strict, opt);\n };\n sax.SAXParser = SAXParser;\n sax.SAXStream = SAXStream;\n sax.createStream = createStream;\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024;\n\n const buffers = [\n \"comment\",\n \"sgmlDecl\",\n \"textNode\",\n \"tagName\",\n \"doctype\",\n \"procInstName\",\n \"procInstBody\",\n \"entity\",\n \"attribName\",\n \"attribValue\",\n \"cdata\",\n \"script\",\n ];\n\n sax.EVENTS = [\n \"text\",\n \"processinginstruction\",\n \"sgmldeclaration\",\n \"doctype\",\n \"comment\",\n \"opentagstart\",\n \"attribute\",\n \"opentag\",\n \"closetag\",\n \"opencdata\",\n \"cdata\",\n \"closecdata\",\n \"error\",\n \"end\",\n \"ready\",\n \"script\",\n \"opennamespace\",\n \"closenamespace\",\n ];\n\n function SAXParser(strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt);\n }\n\n var parser = this;\n clearBuffers(parser);\n parser.q = parser.c = \"\";\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH;\n parser.opt = opt || {};\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags;\n parser.looseCase = parser.opt.lowercase ? \"toLowerCase\" : \"toUpperCase\";\n parser.tags = [];\n parser.closed = parser.closedRoot = parser.sawRoot = false;\n parser.tag = parser.error = null;\n parser.strict = !!strict;\n parser.noscript = !!(strict || parser.opt.noscript);\n parser.state = S.BEGIN;\n parser.strictEntities = parser.opt.strictEntities;\n parser.ENTITIES = parser.strictEntities\n ? Object.create(sax.XML_ENTITIES)\n : Object.create(sax.ENTITIES);\n parser.attribList = [];\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS);\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false;\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0;\n }\n emit(parser, \"onready\");\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F() {}\n F.prototype = o;\n var newf = new F();\n return newf;\n };\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = [];\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i);\n return a;\n };\n }\n\n function checkBufferLength(parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10);\n var maxActual = 0;\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length;\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case \"textNode\":\n closeText(parser);\n break;\n\n case \"cdata\":\n emitNode(parser, \"oncdata\", parser.cdata);\n parser.cdata = \"\";\n break;\n\n case \"script\":\n emitNode(parser, \"onscript\", parser.script);\n parser.script = \"\";\n break;\n\n default:\n error(parser, \"Max buffer length exceeded: \" + buffers[i]);\n }\n }\n maxActual = Math.max(maxActual, len);\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual;\n parser.bufferCheckPosition = m + parser.position;\n }\n\n function clearBuffers(parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = \"\";\n }\n }\n\n function flushBuffers(parser) {\n closeText(parser);\n if (parser.cdata !== \"\") {\n emitNode(parser, \"oncdata\", parser.cdata);\n parser.cdata = \"\";\n }\n if (parser.script !== \"\") {\n emitNode(parser, \"onscript\", parser.script);\n parser.script = \"\";\n }\n }\n\n SAXParser.prototype = {\n end: function () {\n end(this);\n },\n write: write,\n resume: function () {\n this.error = null;\n return this;\n },\n close: function () {\n return this.write(null);\n },\n flush: function () {\n flushBuffers(this);\n },\n };\n\n var Stream = ReadableStream;\n if (!Stream) Stream = function () {};\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== \"error\" && ev !== \"end\";\n });\n\n function createStream(strict, opt) {\n return new SAXStream(strict, opt);\n }\n\n function SAXStream(strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt);\n }\n\n Stream.apply(this);\n\n this._parser = new SAXParser(strict, opt);\n this.writable = true;\n this.readable = true;\n\n var me = this;\n\n this._parser.onend = function () {\n me.emit(\"end\");\n };\n\n this._parser.onerror = function (er) {\n me.emit(\"error\", er);\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null;\n };\n\n this._decoder = null;\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, \"on\" + ev, {\n get: function () {\n return me._parser[\"on\" + ev];\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev);\n me._parser[\"on\" + ev] = h;\n return h;\n }\n me.on(ev, h);\n },\n enumerable: true,\n configurable: false,\n });\n });\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream,\n },\n });\n\n SAXStream.prototype.write = function (data) {\n this._parser.write(data.toString());\n this.emit(\"data\", data);\n return true;\n };\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk);\n }\n this._parser.end();\n return true;\n };\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this;\n if (!me._parser[\"on\" + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser[\"on\" + ev] = function () {\n var args =\n arguments.length === 1\n ? [arguments[0]]\n : Array.apply(null, arguments);\n args.splice(0, 0, ev);\n me.emit.apply(me, args);\n };\n }\n\n return Stream.prototype.on.call(me, ev, handler);\n };\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = \"[CDATA[\";\n var DOCTYPE = \"DOCTYPE\";\n var XML_NAMESPACE = \"http://www.w3.org/XML/1998/namespace\";\n var XMLNS_NAMESPACE = \"http://www.w3.org/2000/xmlns/\";\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE };\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart =\n /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/;\n\n var nameBody =\n /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/;\n\n var entityStart =\n /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/;\n var entityBody =\n /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/;\n\n function isWhitespace(c) {\n return c === \" \" || c === \"\\n\" || c === \"\\r\" || c === \"\\t\";\n }\n\n function isQuote(c) {\n return c === '\"' || c === \"'\";\n }\n\n function isAttribEnd(c) {\n return c === \">\" || isWhitespace(c);\n }\n\n function isMatch(regex, c) {\n return regex.test(c);\n }\n\n function notMatch(regex, c) {\n return !isMatch(regex, c);\n }\n\n var S = 0;\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // &amp and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // <!BLARG\n SGML_DECL_QUOTED: S++, // <!BLARG foo \"bar\n DOCTYPE: S++, // <!DOCTYPE\n DOCTYPE_QUOTED: S++, // <!DOCTYPE \"//blah\n DOCTYPE_DTD: S++, // <!DOCTYPE \"//blah\" [ ...\n DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE \"//blah\" [ \"foo\n COMMENT_STARTING: S++, // <!-\n COMMENT: S++, // <!--\n COMMENT_ENDING: S++, // <!-- blah -\n COMMENT_ENDED: S++, // <!-- blah --\n CDATA: S++, // <![CDATA[ something\n CDATA_ENDING: S++, // ]\n CDATA_ENDING_2: S++, // ]]\n PROC_INST: S++, // <?hi\n PROC_INST_BODY: S++, // <?hi there\n PROC_INST_ENDING: S++, // <?hi \"there\" ?\n OPEN_TAG: S++, // <strong\n OPEN_TAG_SLASH: S++, // <strong /\n ATTRIB: S++, // <a\n ATTRIB_NAME: S++, // <a foo\n ATTRIB_NAME_SAW_WHITE: S++, // <a foo _\n ATTRIB_VALUE: S++, // <a foo=\n ATTRIB_VALUE_QUOTED: S++, // <a foo=\"bar\n ATTRIB_VALUE_CLOSED: S++, // <a foo=\"bar\"\n ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar\n ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=\"&quot;\"\n ATTRIB_VALUE_ENTITY_U: S++, // <foo bar=&quot\n CLOSE_TAG: S++, // </a\n CLOSE_TAG_SAW_WHITE: S++, // </a >\n SCRIPT: S++, // <script> ...\n SCRIPT_ENDING: S++, // <script> ... <\n };\n\n sax.XML_ENTITIES = {\n amp: \"&\",\n gt: \">\",\n lt: \"<\",\n quot: '\"',\n apos: \"'\",\n };\n\n sax.ENTITIES = {\n amp: \"&\",\n gt: \">\",\n lt: \"<\",\n quot: '\"',\n apos: \"'\",\n AElig: 198,\n Aacute: 193,\n Acirc: 194,\n Agrave: 192,\n Aring: 197,\n Atilde: 195,\n Auml: 196,\n Ccedil: 199,\n ETH: 208,\n Eacute: 201,\n Ecirc: 202,\n Egrave: 200,\n Euml: 203,\n Iacute: 205,\n Icirc: 206,\n Igrave: 204,\n Iuml: 207,\n Ntilde: 209,\n Oacute: 211,\n Ocirc: 212,\n Ograve: 210,\n Oslash: 216,\n Otilde: 213,\n Ouml: 214,\n THORN: 222,\n Uacute: 218,\n Ucirc: 219,\n Ugrave: 217,\n Uuml: 220,\n Yacute: 221,\n aacute: 225,\n acirc: 226,\n aelig: 230,\n agrave: 224,\n aring: 229,\n atilde: 227,\n auml: 228,\n ccedil: 231,\n eacute: 233,\n ecirc: 234,\n egrave: 232,\n eth: 240,\n euml: 235,\n iacute: 237,\n icirc: 238,\n igrave: 236,\n iuml: 239,\n ntilde: 241,\n oacute: 243,\n ocirc: 244,\n ograve: 242,\n oslash: 248,\n otilde: 245,\n ouml: 246,\n szlig: 223,\n thorn: 254,\n uacute: 250,\n ucirc: 251,\n ugrave: 249,\n uuml: 252,\n yacute: 253,\n yuml: 255,\n copy: 169,\n reg: 174,\n nbsp: 160,\n iexcl: 161,\n cent: 162,\n pound: 163,\n curren: 164,\n yen: 165,\n brvbar: 166,\n sect: 167,\n uml: 168,\n ordf: 170,\n laquo: 171,\n not: 172,\n shy: 173,\n macr: 175,\n deg: 176,\n plusmn: 177,\n sup1: 185,\n sup2: 178,\n sup3: 179,\n acute: 180,\n micro: 181,\n para: 182,\n middot: 183,\n cedil: 184,\n ordm: 186,\n raquo: 187,\n frac14: 188,\n frac12: 189,\n frac34: 190,\n iquest: 191,\n times: 215,\n divide: 247,\n OElig: 338,\n oelig: 339,\n Scaron: 352,\n scaron: 353,\n Yuml: 376,\n fnof: 402,\n circ: 710,\n tilde: 732,\n Alpha: 913,\n Beta: 914,\n Gamma: 915,\n Delta: 916,\n Epsilon: 917,\n Zeta: 918,\n Eta: 919,\n Theta: 920,\n Iota: 921,\n Kappa: 922,\n Lambda: 923,\n Mu: 924,\n Nu: 925,\n Xi: 926,\n Omicron: 927,\n Pi: 928,\n Rho: 929,\n Sigma: 931,\n Tau: 932,\n Upsilon: 933,\n Phi: 934,\n Chi: 935,\n Psi: 936,\n Omega: 937,\n alpha: 945,\n beta: 946,\n gamma: 947,\n delta: 948,\n epsilon: 949,\n zeta: 950,\n eta: 951,\n theta: 952,\n iota: 953,\n kappa: 954,\n lambda: 955,\n mu: 956,\n nu: 957,\n xi: 958,\n omicron: 959,\n pi: 960,\n rho: 961,\n sigmaf: 962,\n sigma: 963,\n tau: 964,\n upsilon: 965,\n phi: 966,\n chi: 967,\n psi: 968,\n omega: 969,\n thetasym: 977,\n upsih: 978,\n piv: 982,\n ensp: 8194,\n emsp: 8195,\n thinsp: 8201,\n zwnj: 8204,\n zwj: 8205,\n lrm: 8206,\n rlm: 8207,\n ndash: 8211,\n mdash: 8212,\n lsquo: 8216,\n rsquo: 8217,\n sbquo: 8218,\n ldquo: 8220,\n rdquo: 8221,\n bdquo: 8222,\n dagger: 8224,\n Dagger: 8225,\n bull: 8226,\n hellip: 8230,\n permil: 8240,\n prime: 8242,\n Prime: 8243,\n lsaquo: 8249,\n rsaquo: 8250,\n oline: 8254,\n frasl: 8260,\n euro: 8364,\n image: 8465,\n weierp: 8472,\n real: 8476,\n trade: 8482,\n alefsym: 8501,\n larr: 8592,\n uarr: 8593,\n rarr: 8594,\n darr: 8595,\n harr: 8596,\n crarr: 8629,\n lArr: 8656,\n uArr: 8657,\n rArr: 8658,\n dArr: 8659,\n hArr: 8660,\n forall: 8704,\n part: 8706,\n exist: 8707,\n empty: 8709,\n nabla: 8711,\n isin: 8712,\n notin: 8713,\n ni: 8715,\n prod: 8719,\n sum: 8721,\n minus: 8722,\n lowast: 8727,\n radic: 8730,\n prop: 8733,\n infin: 8734,\n ang: 8736,\n and: 8743,\n or: 8744,\n cap: 8745,\n cup: 8746,\n int: 8747,\n there4: 8756,\n sim: 8764,\n cong: 8773,\n asymp: 8776,\n ne: 8800,\n equiv: 8801,\n le: 8804,\n ge: 8805,\n sub: 8834,\n sup: 8835,\n nsub: 8836,\n sube: 8838,\n supe: 8839,\n oplus: 8853,\n otimes: 8855,\n perp: 8869,\n sdot: 8901,\n lceil: 8968,\n rceil: 8969,\n lfloor: 8970,\n rfloor: 8971,\n lang: 9001,\n rang: 9002,\n loz: 9674,\n spades: 9824,\n clubs: 9827,\n hearts: 9829,\n diams: 9830,\n };\n\n Object.keys(sax.ENTITIES).forEach(function (key) {\n var e = sax.ENTITIES[key];\n var s = typeof e === \"number\" ? String.fromCharCode(e) : e;\n sax.ENTITIES[key] = s;\n });\n\n for (var s in sax.STATE) {\n sax.STATE[sax.STATE[s]] = s;\n }\n\n // shorthand\n S = sax.STATE;\n\n function emit(parser, event, data) {\n parser[event] && parser[event](data);\n }\n\n function emitNode(parser, nodeType, data) {\n if (parser.textNode) closeText(parser);\n emit(parser, nodeType, data);\n }\n\n function closeText(parser) {\n parser.textNode = textopts(parser.opt, parser.textNode);\n if (parser.textNode) emit(parser, \"ontext\", parser.textNode);\n parser.textNode = \"\";\n }\n\n function textopts(opt, text) {\n if (opt.trim) text = text.trim();\n if (opt.normalize) text = text.replace(/\\s+/g, \" \");\n return text;\n }\n\n function error(parser, er) {\n closeText(parser);\n if (parser.trackPosition) {\n er +=\n \"\\nLine: \" +\n parser.line +\n \"\\nColumn: \" +\n parser.column +\n \"\\nChar: \" +\n parser.c;\n }\n er = new Error(er);\n parser.error = er;\n emit(parser, \"onerror\", er);\n return parser;\n }\n\n function end(parser) {\n if (parser.sawRoot && !parser.closedRoot)\n strictFail(parser, \"Unclosed root tag\");\n if (\n parser.state !== S.BEGIN &&\n parser.state !== S.BEGIN_WHITESPACE &&\n parser.state !== S.TEXT\n ) {\n error(parser, \"Unexpected end\");\n }\n closeText(parser);\n parser.c = \"\";\n parser.closed = true;\n emit(parser, \"onend\");\n SAXParser.call(parser, parser.strict, parser.opt);\n return parser;\n }\n\n function strictFail(parser, message) {\n if (typeof parser !== \"object\" || !(parser instanceof SAXParser)) {\n throw new Error(\"bad call to strictFail\");\n }\n if (parser.strict) {\n error(parser, message);\n }\n }\n\n function newTag(parser) {\n if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]();\n var parent = parser.tags[parser.tags.length - 1] || parser;\n var tag = (parser.tag = { name: parser.tagName, attributes: {} });\n\n // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n if (parser.opt.xmlns) {\n tag.ns = parent.ns;\n }\n parser.attribList.length = 0;\n emitNode(parser, \"onopentagstart\", tag);\n }\n\n function qname(name, attribute) {\n var i = name.indexOf(\":\");\n var qualName = i < 0 ? [\"\", name] : name.split(\":\");\n var prefix = qualName[0];\n var local = qualName[1];\n\n // <x \"xmlns\"=\"http://foo\">\n if (attribute && name === \"xmlns\") {\n prefix = \"xmlns\";\n local = \"\";\n }\n\n return { prefix: prefix, local: local };\n }\n\n function attrib(parser) {\n if (!parser.strict) {\n parser.attribName = parser.attribName[parser.looseCase]();\n }\n\n if (\n parser.attribList.indexOf(parser.attribName) !== -1 ||\n parser.tag.attributes.hasOwnProperty(parser.attribName)\n ) {\n parser.attribName = parser.attribValue = \"\";\n return;\n }\n\n if (parser.opt.xmlns) {\n var qn = qname(parser.attribName, true);\n var prefix = qn.prefix;\n var local = qn.local;\n\n if (prefix === \"xmlns\") {\n // namespace binding attribute. push the binding into scope\n if (local === \"xml\" && parser.attribValue !== XML_NAMESPACE) {\n strictFail(\n parser,\n \"xml: prefix must be bound to \" +\n XML_NAMESPACE +\n \"\\n\" +\n \"Actual: \" +\n parser.attribValue\n );\n } else if (\n local === \"xmlns\" &&\n parser.attribValue !== XMLNS_NAMESPACE\n ) {\n strictFail(\n parser,\n \"xmlns: prefix must be bound to \" +\n XMLNS_NAMESPACE +\n \"\\n\" +\n \"Actual: \" +\n parser.attribValue\n );\n } else {\n var tag = parser.tag;\n var parent = parser.tags[parser.tags.length - 1] || parser;\n if (tag.ns === parent.ns) {\n tag.ns = Object.create(parent.ns);\n }\n tag.ns[local] = parser.attribValue;\n }\n }\n\n // defer onattribute events until all attributes have been seen\n // so any new bindings can take effect. preserve attribute order\n // so deferred events can be emitted in document order\n parser.attribList.push([parser.attribName, parser.attribValue]);\n } else {\n // in non-xmlns mode, we can emit the event right away\n parser.tag.attributes[parser.attribName] = parser.attribValue;\n emitNode(parser, \"onattribute\", {\n name: parser.attribName,\n value: parser.attribValue,\n });\n }\n\n parser.attribName = parser.attribValue = \"\";\n }\n\n function openTag(parser, selfClosing) {\n if (parser.opt.xmlns) {\n // emit namespace binding events\n var tag = parser.tag;\n\n // add namespace info to tag\n var qn = qname(parser.tagName);\n tag.prefix = qn.prefix;\n tag.local = qn.local;\n tag.uri = tag.ns[qn.prefix] || \"\";\n\n if (tag.prefix && !tag.uri) {\n strictFail(\n parser,\n \"Unbound namespace prefix: \" + JSON.stringify(parser.tagName)\n );\n tag.uri = qn.prefix;\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser;\n if (tag.ns && parent.ns !== tag.ns) {\n Object.keys(tag.ns).forEach(function (p) {\n emitNode(parser, \"onopennamespace\", {\n prefix: p,\n uri: tag.ns[p],\n });\n });\n }\n\n // handle deferred onattribute events\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (var i = 0, l = parser.attribList.length; i < l; i++) {\n var nv = parser.attribList[i];\n var name = nv[0];\n var value = nv[1];\n var qualName = qname(name, true);\n var prefix = qualName.prefix;\n var local = qualName.local;\n var uri = prefix === \"\" ? \"\" : tag.ns[prefix] || \"\";\n var a = {\n name: name,\n value: value,\n prefix: prefix,\n local: local,\n uri: uri,\n };\n\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (prefix && prefix !== \"xmlns\" && !uri) {\n strictFail(\n parser,\n \"Unbound namespace prefix: \" + JSON.stringify(prefix)\n );\n a.uri = prefix;\n }\n parser.tag.attributes[name] = a;\n emitNode(parser, \"onattribute\", a);\n }\n parser.attribList.length = 0;\n }\n\n parser.tag.isSelfClosing = !!selfClosing;\n\n // process the tag\n parser.sawRoot = true;\n parser.tags.push(parser.tag);\n emitNode(parser, \"onopentag\", parser.tag);\n if (!selfClosing) {\n // special case for <script> in non-strict mode.\n if (!parser.noscript && parser.tagName.toLowerCase() === \"script\") {\n parser.state = S.SCRIPT;\n } else {\n parser.state = S.TEXT;\n }\n parser.tag = null;\n parser.tagName = \"\";\n }\n parser.attribName = parser.attribValue = \"\";\n parser.attribList.length = 0;\n }\n\n function closeTag(parser) {\n if (!parser.tagName) {\n strictFail(parser, \"Weird empty close tag.\");\n parser.textNode += \"</>\";\n parser.state = S.TEXT;\n return;\n }\n\n if (parser.script) {\n if (parser.tagName !== \"script\") {\n parser.script += \"</\" + parser.tagName + \">\";\n parser.tagName = \"\";\n parser.state = S.SCRIPT;\n return;\n }\n emitNode(parser, \"onscript\", parser.script);\n parser.script = \"\";\n }\n\n // first make sure that the closing tag actually exists.\n // <a><b></c></b></a> will close everything, otherwise.\n var t = parser.tags.length;\n var tagName = parser.tagName;\n if (!parser.strict) {\n tagName = tagName[parser.looseCase]();\n }\n var closeTo = tagName;\n while (t--) {\n var close = parser.tags[t];\n if (close.name !== closeTo) {\n // fail the first time in strict mode\n strictFail(parser, \"Unexpected close tag\");\n } else {\n break;\n }\n }\n\n // didn't find it. we already failed for strict, so just abort.\n if (t < 0) {\n strictFail(parser, \"Unmatched closing tag: \" + parser.tagName);\n parser.textNode += \"</\" + parser.tagName + \">\";\n parser.state = S.TEXT;\n return;\n }\n parser.tagName = tagName;\n var s = parser.tags.length;\n while (s-- > t) {\n var tag = (parser.tag = parser.tags.pop());\n parser.tagName = parser.tag.name;\n emitNode(parser, \"onclosetag\", parser.tagName);\n\n var x = {};\n for (var i in tag.ns) {\n x[i] = tag.ns[i];\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser;\n if (parser.opt.xmlns && tag.ns !== parent.ns) {\n // remove namespace bindings introduced by tag\n Object.keys(tag.ns).forEach(function (p) {\n var n = tag.ns[p];\n emitNode(parser, \"onclosenamespace\", { prefix: p, uri: n });\n });\n }\n }\n if (t === 0) parser.closedRoot = true;\n parser.tagName = parser.attribValue = parser.attribName = \"\";\n parser.attribList.length = 0;\n parser.state = S.TEXT;\n }\n\n function parseEntity(parser) {\n var entity = parser.entity;\n var entityLC = entity.toLowerCase();\n var num;\n var numStr = \"\";\n\n if (parser.ENTITIES[entity]) {\n return parser.ENTITIES[entity];\n }\n if (parser.ENTITIES[entityLC]) {\n return parser.ENTITIES[entityLC];\n }\n entity = entityLC;\n if (entity.charAt(0) === \"#\") {\n if (entity.charAt(1) === \"x\") {\n entity = entity.slice(2);\n num = parseInt(entity, 16);\n numStr = num.toString(16);\n } else {\n entity = entity.slice(1);\n num = parseInt(entity, 10);\n numStr = num.toString(10);\n }\n }\n entity = entity.replace(/^0+/, \"\");\n if (isNaN(num) || numStr.toLowerCase() !== entity) {\n strictFail(parser, \"Invalid character entity\");\n return \"&\" + parser.entity + \";\";\n }\n\n return String.fromCodePoint(num);\n }\n\n function beginWhiteSpace(parser, c) {\n if (c === \"<\") {\n parser.state = S.OPEN_WAKA;\n parser.startTagPosition = parser.position;\n } else if (!isWhitespace(c)) {\n // have to process this as a text node.\n // weird, but happens.\n strictFail(parser, \"Non-whitespace before first tag.\");\n parser.textNode = c;\n parser.state = S.TEXT;\n }\n }\n\n function charAt(chunk, i) {\n var result = \"\";\n if (i < chunk.length) {\n result = chunk.charAt(i);\n }\n return result;\n }\n\n function write(chunk) {\n var parser = this;\n if (this.error) {\n throw this.error;\n }\n if (parser.closed) {\n return error(\n parser,\n \"Cannot write after close. Assign an onready handler.\"\n );\n }\n if (chunk === null) {\n return end(parser);\n }\n if (typeof chunk === \"object\") {\n chunk = chunk.toString();\n }\n var i = 0;\n var c = \"\";\n while (true) {\n c = charAt(chunk, i++);\n parser.c = c;\n\n if (!c) {\n break;\n }\n\n if (parser.trackPosition) {\n parser.position++;\n if (c === \"\\n\") {\n parser.line++;\n parser.column = 0;\n } else {\n parser.column++;\n }\n }\n\n switch (parser.state) {\n case S.BEGIN:\n parser.state = S.BEGIN_WHITESPACE;\n if (c === \"\\uFEFF\") {\n continue;\n }\n beginWhiteSpace(parser, c);\n continue;\n\n case S.BEGIN_WHITESPACE:\n beginWhiteSpace(parser, c);\n continue;\n\n case S.TEXT:\n if (parser.sawRoot && !parser.closedRoot) {\n var starti = i - 1;\n while (c && c !== \"<\" && c !== \"&\") {\n c = charAt(chunk, i++);\n if (c && parser.trackPosition) {\n parser.position++;\n if (c === \"\\n\") {\n parser.line++;\n parser.column = 0;\n } else {\n parser.column++;\n }\n }\n }\n parser.textNode += chunk.substring(starti, i - 1);\n }\n if (\n c === \"<\" &&\n !(parser.sawRoot && parser.closedRoot && !parser.strict)\n ) {\n parser.state = S.OPEN_WAKA;\n parser.startTagPosition = parser.position;\n } else {\n if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) {\n strictFail(parser, \"Text data outside of root node.\");\n }\n if (c === \"&\") {\n parser.state = S.TEXT_ENTITY;\n } else {\n parser.textNode += c;\n }\n }\n continue;\n\n case S.SCRIPT:\n // only non-strict\n if (c === \"<\") {\n parser.state = S.SCRIPT_ENDING;\n } else {\n parser.script += c;\n }\n continue;\n\n case S.SCRIPT_ENDING:\n if (c === \"/\") {\n parser.state = S.CLOSE_TAG;\n } else {\n parser.script += \"<\" + c;\n parser.state = S.SCRIPT;\n }\n continue;\n\n case S.OPEN_WAKA:\n // either a /, ?, !, or text is coming next.\n if (c === \"!\") {\n parser.state = S.SGML_DECL;\n parser.sgmlDecl = \"\";\n } else if (isWhitespace(c)) {\n // wait for it...\n } else if (isMatch(nameStart, c)) {\n parser.state = S.OPEN_TAG;\n parser.tagName = c;\n } else if (c === \"/\") {\n parser.state = S.CLOSE_TAG;\n parser.tagName = \"\";\n } else if (c === \"?\") {\n parser.state = S.PROC_INST;\n parser.procInstName = parser.procInstBody = \"\";\n } else {\n strictFail(parser, \"Unencoded <\");\n // if there was some whitespace, then add that in.\n if (parser.startTagPosition + 1 < parser.position) {\n var pad = parser.position - parser.startTagPosition;\n c = new Array(pad).join(\" \") + c;\n }\n parser.textNode += \"<\" + c;\n parser.state = S.TEXT;\n }\n continue;\n\n case S.SGML_DECL:\n if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n emitNode(parser, \"onopencdata\");\n parser.state = S.CDATA;\n parser.sgmlDecl = \"\";\n parser.cdata = \"\";\n } else if (parser.sgmlDecl + c === \"--\") {\n parser.state = S.COMMENT;\n parser.comment = \"\";\n parser.sgmlDecl = \"\";\n } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n parser.state = S.DOCTYPE;\n if (parser.doctype || parser.sawRoot) {\n strictFail(parser, \"Inappropriately located doctype declaration\");\n }\n parser.doctype = \"\";\n parser.sgmlDecl = \"\";\n } else if (c === \">\") {\n emitNode(parser, \"onsgmldeclaration\", parser.sgmlDecl);\n parser.sgmlDecl = \"\";\n parser.state = S.TEXT;\n } else if (isQuote(c)) {\n parser.state = S.SGML_DECL_QUOTED;\n parser.sgmlDecl += c;\n } else {\n parser.sgmlDecl += c;\n }\n continue;\n\n case S.SGML_DECL_QUOTED:\n if (c === parser.q) {\n parser.state = S.SGML_DECL;\n parser.q = \"\";\n }\n parser.sgmlDecl += c;\n continue;\n\n case S.DOCTYPE:\n if (c === \">\") {\n parser.state = S.TEXT;\n emitNode(parser, \"ondoctype\", parser.doctype);\n parser.doctype = true; // just remember that we saw it.\n } else {\n parser.doctype += c;\n if (c === \"[\") {\n parser.state = S.DOCTYPE_DTD;\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_QUOTED;\n parser.q = c;\n }\n }\n continue;\n\n case S.DOCTYPE_QUOTED:\n parser.doctype += c;\n if (c === parser.q) {\n parser.q = \"\";\n parser.state = S.DOCTYPE;\n }\n continue;\n\n case S.DOCTYPE_DTD:\n parser.doctype += c;\n if (c === \"]\") {\n parser.state = S.DOCTYPE;\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_DTD_QUOTED;\n parser.q = c;\n }\n continue;\n\n case S.DOCTYPE_DTD_QUOTED:\n parser.doctype += c;\n if (c === parser.q) {\n parser.state = S.DOCTYPE_DTD;\n parser.q = \"\";\n }\n continue;\n\n case S.COMMENT:\n if (c === \"-\") {\n parser.state = S.COMMENT_ENDING;\n } else {\n parser.comment += c;\n }\n continue;\n\n case S.COMMENT_ENDING:\n if (c === \"-\") {\n parser.state = S.COMMENT_ENDED;\n parser.comment = textopts(parser.opt, parser.comment);\n if (parser.comment) {\n emitNode(parser, \"oncomment\", parser.comment);\n }\n parser.comment = \"\";\n } else {\n parser.comment += \"-\" + c;\n parser.state = S.COMMENT;\n }\n continue;\n\n case S.COMMENT_ENDED:\n if (c !== \">\") {\n strictFail(parser, \"Malformed comment\");\n // allow <!-- blah -- bloo --> in non-strict mode,\n // which is a comment of \" blah -- bloo \"\n parser.comment += \"--\" + c;\n parser.state = S.COMMENT;\n } else {\n parser.state = S.TEXT;\n }\n continue;\n\n case S.CDATA:\n if (c === \"]\") {\n parser.state = S.CDATA_ENDING;\n } else {\n parser.cdata += c;\n }\n continue;\n\n case S.CDATA_ENDING:\n if (c === \"]\") {\n parser.state = S.CDATA_ENDING_2;\n } else {\n parser.cdata += \"]\" + c;\n parser.state = S.CDATA;\n }\n continue;\n\n case S.CDATA_ENDING_2:\n if (c === \">\") {\n if (parser.cdata) {\n emitNode(parser, \"oncdata\", parser.cdata);\n }\n emitNode(parser, \"onclosecdata\");\n parser.cdata = \"\";\n parser.state = S.TEXT;\n } else if (c === \"]\") {\n parser.cdata += \"]\";\n } else {\n parser.cdata += \"]]\" + c;\n parser.state = S.CDATA;\n }\n continue;\n\n case S.PROC_INST:\n if (c === \"?\") {\n parser.state = S.PROC_INST_ENDING;\n } else if (isWhitespace(c)) {\n parser.state = S.PROC_INST_BODY;\n } else {\n parser.procInstName += c;\n }\n continue;\n\n case S.PROC_INST_BODY:\n if (!parser.procInstBody && isWhitespace(c)) {\n continue;\n } else if (c === \"?\") {\n parser.state = S.PROC_INST_ENDING;\n } else {\n parser.procInstBody += c;\n }\n continue;\n\n case S.PROC_INST_ENDING:\n if (c === \">\") {\n emitNode(parser, \"onprocessinginstruction\", {\n name: parser.procInstName,\n body: parser.procInstBody,\n });\n parser.procInstName = parser.procInstBody = \"\";\n parser.state = S.TEXT;\n } else {\n parser.procInstBody += \"?\" + c;\n parser.state = S.PROC_INST_BODY;\n }\n continue;\n\n case S.OPEN_TAG:\n if (isMatch(nameBody, c)) {\n parser.tagName += c;\n } else {\n newTag(parser);\n if (c === \">\") {\n openTag(parser);\n } else if (c === \"/\") {\n parser.state = S.OPEN_TAG_SLASH;\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, \"Invalid character in tag name\");\n }\n parser.state = S.ATTRIB;\n }\n }\n continue;\n\n case S.OPEN_TAG_SLASH:\n if (c === \">\") {\n openTag(parser, true);\n closeTag(parser);\n } else {\n strictFail(\n parser,\n \"Forward-slash in opening tag not followed by >\"\n );\n parser.state = S.ATTRIB;\n }\n continue;\n\n case S.ATTRIB:\n // haven't read the attribute name yet.\n if (isWhitespace(c)) {\n continue;\n } else if (c === \">\") {\n openTag(parser);\n } else if (c === \"/\") {\n parser.state = S.OPEN_TAG_SLASH;\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c;\n parser.attribValue = \"\";\n parser.state = S.ATTRIB_NAME;\n } else {\n strictFail(parser, \"Invalid attribute name\");\n }\n continue;\n\n case S.ATTRIB_NAME:\n if (c === \"=\") {\n parser.state = S.ATTRIB_VALUE;\n } else if (c === \">\") {\n strictFail(parser, \"Attribute without value\");\n parser.attribValue = parser.attribName;\n attrib(parser);\n openTag(parser);\n } else if (isWhitespace(c)) {\n parser.state = S.ATTRIB_NAME_SAW_WHITE;\n } else if (isMatch(nameBody, c)) {\n parser.attribName += c;\n } else {\n strictFail(parser, \"Invalid attribute name\");\n }\n continue;\n\n case S.ATTRIB_NAME_SAW_WHITE:\n if (c === \"=\") {\n parser.state = S.ATTRIB_VALUE;\n } else if (isWhitespace(c)) {\n continue;\n } else {\n strictFail(parser, \"Attribute without value\");\n parser.tag.attributes[parser.attribName] = \"\";\n parser.attribValue = \"\";\n emitNode(parser, \"onattribute\", {\n name: parser.attribName,\n value: \"\",\n });\n parser.attribName = \"\";\n if (c === \">\") {\n openTag(parser);\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c;\n parser.state = S.ATTRIB_NAME;\n } else {\n strictFail(parser, \"Invalid attribute name\");\n parser.state = S.ATTRIB;\n }\n }\n continue;\n\n case S.ATTRIB_VALUE:\n if (isWhitespace(c)) {\n continue;\n } else if (isQuote(c)) {\n parser.q = c;\n parser.state = S.ATTRIB_VALUE_QUOTED;\n } else {\n strictFail(parser, \"Unquoted attribute value\");\n parser.state = S.ATTRIB_VALUE_UNQUOTED;\n parser.attribValue = c;\n }\n continue;\n\n case S.ATTRIB_VALUE_QUOTED:\n if (c !== parser.q) {\n if (c === \"&\") {\n parser.state = S.ATTRIB_VALUE_ENTITY_Q;\n } else {\n parser.attribValue += c;\n }\n continue;\n }\n attrib(parser);\n parser.q = \"\";\n parser.state = S.ATTRIB_VALUE_CLOSED;\n continue;\n\n case S.ATTRIB_VALUE_CLOSED:\n if (isWhitespace(c)) {\n parser.state = S.ATTRIB;\n } else if (c === \">\") {\n openTag(parser);\n } else if (c === \"/\") {\n parser.state = S.OPEN_TAG_SLASH;\n } else if (isMatch(nameStart, c)) {\n strictFail(parser, \"No whitespace between attributes\");\n parser.attribName = c;\n parser.attribValue = \"\";\n parser.state = S.ATTRIB_NAME;\n } else {\n strictFail(parser, \"Invalid attribute name\");\n }\n continue;\n\n case S.ATTRIB_VALUE_UNQUOTED:\n if (!isAttribEnd(c)) {\n if (c === \"&\") {\n parser.state = S.ATTRIB_VALUE_ENTITY_U;\n } else {\n parser.attribValue += c;\n }\n continue;\n }\n attrib(parser);\n if (c === \">\") {\n openTag(parser);\n } else {\n parser.state = S.ATTRIB;\n }\n continue;\n\n case S.CLOSE_TAG:\n if (!parser.tagName) {\n if (isWhitespace(c)) {\n continue;\n } else if (notMatch(nameStart, c)) {\n if (parser.script) {\n parser.script += \"</\" + c;\n parser.state = S.SCRIPT;\n } else {\n strictFail(parser, \"Invalid tagname in closing tag.\");\n }\n } else {\n parser.tagName = c;\n }\n } else if (c === \">\") {\n closeTag(parser);\n } else if (isMatch(nameBody, c)) {\n parser.tagName += c;\n } else if (parser.script) {\n parser.script += \"</\" + parser.tagName;\n parser.tagName = \"\";\n parser.state = S.SCRIPT;\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, \"Invalid tagname in closing tag\");\n }\n parser.state = S.CLOSE_TAG_SAW_WHITE;\n }\n continue;\n\n case S.CLOSE_TAG_SAW_WHITE:\n if (isWhitespace(c)) {\n continue;\n }\n if (c === \">\") {\n closeTag(parser);\n } else {\n strictFail(parser, \"Invalid characters in closing tag\");\n }\n continue;\n\n case S.TEXT_ENTITY:\n case S.ATTRIB_VALUE_ENTITY_Q:\n case S.ATTRIB_VALUE_ENTITY_U:\n var returnState;\n var buffer;\n switch (parser.state) {\n case S.TEXT_ENTITY:\n returnState = S.TEXT;\n buffer = \"textNode\";\n break;\n\n case S.ATTRIB_VALUE_ENTITY_Q:\n returnState = S.ATTRIB_VALUE_QUOTED;\n buffer = \"attribValue\";\n break;\n\n case S.ATTRIB_VALUE_ENTITY_U:\n returnState = S.ATTRIB_VALUE_UNQUOTED;\n buffer = \"attribValue\";\n break;\n }\n\n if (c === \";\") {\n if (parser.opt.unparsedEntities) {\n var parsedEntity = parseEntity(parser);\n parser.entity = \"\";\n parser.state = returnState;\n parser.write(parsedEntity);\n } else {\n parser[buffer] += parseEntity(parser);\n parser.entity = \"\";\n parser.state = returnState;\n }\n } else if (\n isMatch(parser.entity.length ? entityBody : entityStart, c)\n ) {\n parser.entity += c;\n } else {\n strictFail(parser, \"Invalid character in entity name\");\n parser[buffer] += \"&\" + parser.entity + c;\n parser.entity = \"\";\n parser.state = returnState;\n }\n\n continue;\n\n default: /* istanbul ignore next */ {\n throw new Error(parser, \"Unknown state: \" + parser.state);\n }\n }\n } // while\n\n if (parser.position >= parser.bufferCheckPosition) {\n checkBufferLength(parser);\n }\n return parser;\n }\n\n /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n /* istanbul ignore next */\n if (!String.fromCodePoint) {\n (function () {\n var stringFromCharCode = String.fromCharCode;\n var floor = Math.floor;\n var fromCodePoint = function () {\n var MAX_SIZE = 0x4000;\n var codeUnits = [];\n var highSurrogate;\n var lowSurrogate;\n var index = -1;\n var length = arguments.length;\n if (!length) {\n return \"\";\n }\n var result = \"\";\n while (++index < length) {\n var codePoint = Number(arguments[index]);\n if (\n !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10ffff || // not a valid Unicode code point\n floor(codePoint) !== codePoint // not an integer\n ) {\n throw RangeError(\"Invalid code point: \" + codePoint);\n }\n if (codePoint <= 0xffff) {\n // BMP code point\n codeUnits.push(codePoint);\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n highSurrogate = (codePoint >> 10) + 0xd800;\n lowSurrogate = (codePoint % 0x400) + 0xdc00;\n codeUnits.push(highSurrogate, lowSurrogate);\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n };\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(String, \"fromCodePoint\", {\n value: fromCodePoint,\n configurable: true,\n writable: true,\n });\n } else {\n String.fromCodePoint = fromCodePoint;\n }\n })();\n }\n return sax;\n};\n\nconst sax = /** #__PURE__ */ initializeSax();\n\nexport { sax };\n"],"mappings":"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"}
1
+ {"version":3,"file":"sax.cjs","names":[],"sources":["../../../src/utils/sax-js/sax.ts"],"sourcesContent":["// @ts-nocheck\n\n// Inlined to deal with portability issues\n// Originally from: https://github.com/isaacs/sax-js\n\nconst initializeSax = function () {\n const sax: any = {};\n sax.parser = function (strict, opt) {\n return new SAXParser(strict, opt);\n };\n sax.SAXParser = SAXParser;\n sax.SAXStream = SAXStream;\n sax.createStream = createStream;\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024;\n\n const buffers = [\n \"comment\",\n \"sgmlDecl\",\n \"textNode\",\n \"tagName\",\n \"doctype\",\n \"procInstName\",\n \"procInstBody\",\n \"entity\",\n \"attribName\",\n \"attribValue\",\n \"cdata\",\n \"script\",\n ];\n\n sax.EVENTS = [\n \"text\",\n \"processinginstruction\",\n \"sgmldeclaration\",\n \"doctype\",\n \"comment\",\n \"opentagstart\",\n \"attribute\",\n \"opentag\",\n \"closetag\",\n \"opencdata\",\n \"cdata\",\n \"closecdata\",\n \"error\",\n \"end\",\n \"ready\",\n \"script\",\n \"opennamespace\",\n \"closenamespace\",\n ];\n\n function SAXParser(strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt);\n }\n\n var parser = this;\n clearBuffers(parser);\n parser.q = parser.c = \"\";\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH;\n parser.opt = opt || {};\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags;\n parser.looseCase = parser.opt.lowercase ? \"toLowerCase\" : \"toUpperCase\";\n parser.tags = [];\n parser.closed = parser.closedRoot = parser.sawRoot = false;\n parser.tag = parser.error = null;\n parser.strict = !!strict;\n parser.noscript = !!(strict || parser.opt.noscript);\n parser.state = S.BEGIN;\n parser.strictEntities = parser.opt.strictEntities;\n parser.ENTITIES = parser.strictEntities\n ? Object.create(sax.XML_ENTITIES)\n : Object.create(sax.ENTITIES);\n parser.attribList = [];\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS);\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false;\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0;\n }\n emit(parser, \"onready\");\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F() {}\n F.prototype = o;\n var newf = new F();\n return newf;\n };\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = [];\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i);\n return a;\n };\n }\n\n function checkBufferLength(parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10);\n var maxActual = 0;\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length;\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case \"textNode\":\n closeText(parser);\n break;\n\n case \"cdata\":\n emitNode(parser, \"oncdata\", parser.cdata);\n parser.cdata = \"\";\n break;\n\n case \"script\":\n emitNode(parser, \"onscript\", parser.script);\n parser.script = \"\";\n break;\n\n default:\n error(parser, \"Max buffer length exceeded: \" + buffers[i]);\n }\n }\n maxActual = Math.max(maxActual, len);\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual;\n parser.bufferCheckPosition = m + parser.position;\n }\n\n function clearBuffers(parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = \"\";\n }\n }\n\n function flushBuffers(parser) {\n closeText(parser);\n if (parser.cdata !== \"\") {\n emitNode(parser, \"oncdata\", parser.cdata);\n parser.cdata = \"\";\n }\n if (parser.script !== \"\") {\n emitNode(parser, \"onscript\", parser.script);\n parser.script = \"\";\n }\n }\n\n SAXParser.prototype = {\n end: function () {\n end(this);\n },\n write: write,\n resume: function () {\n this.error = null;\n return this;\n },\n close: function () {\n return this.write(null);\n },\n flush: function () {\n flushBuffers(this);\n },\n };\n\n var Stream = ReadableStream;\n if (!Stream) Stream = function () {};\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== \"error\" && ev !== \"end\";\n });\n\n function createStream(strict, opt) {\n return new SAXStream(strict, opt);\n }\n\n function SAXStream(strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt);\n }\n\n Stream.apply(this);\n\n this._parser = new SAXParser(strict, opt);\n this.writable = true;\n this.readable = true;\n\n var me = this;\n\n this._parser.onend = function () {\n me.emit(\"end\");\n };\n\n this._parser.onerror = function (er) {\n me.emit(\"error\", er);\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null;\n };\n\n this._decoder = null;\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, \"on\" + ev, {\n get: function () {\n return me._parser[\"on\" + ev];\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev);\n me._parser[\"on\" + ev] = h;\n return h;\n }\n me.on(ev, h);\n },\n enumerable: true,\n configurable: false,\n });\n });\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream,\n },\n });\n\n SAXStream.prototype.write = function (data) {\n this._parser.write(data.toString());\n this.emit(\"data\", data);\n return true;\n };\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk);\n }\n this._parser.end();\n return true;\n };\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this;\n if (!me._parser[\"on\" + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser[\"on\" + ev] = function () {\n var args =\n arguments.length === 1\n ? [arguments[0]]\n : Array.apply(null, arguments);\n args.splice(0, 0, ev);\n me.emit.apply(me, args);\n };\n }\n\n return Stream.prototype.on.call(me, ev, handler);\n };\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = \"[CDATA[\";\n var DOCTYPE = \"DOCTYPE\";\n var XML_NAMESPACE = \"http://www.w3.org/XML/1998/namespace\";\n var XMLNS_NAMESPACE = \"http://www.w3.org/2000/xmlns/\";\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE };\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart =\n /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/;\n\n var nameBody =\n /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/;\n\n var entityStart =\n /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/;\n var entityBody =\n /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/;\n\n function isWhitespace(c) {\n return c === \" \" || c === \"\\n\" || c === \"\\r\" || c === \"\\t\";\n }\n\n function isQuote(c) {\n return c === '\"' || c === \"'\";\n }\n\n function isAttribEnd(c) {\n return c === \">\" || isWhitespace(c);\n }\n\n function isMatch(regex, c) {\n return regex.test(c);\n }\n\n function notMatch(regex, c) {\n return !isMatch(regex, c);\n }\n\n var S = 0;\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // &amp and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // <!BLARG\n SGML_DECL_QUOTED: S++, // <!BLARG foo \"bar\n DOCTYPE: S++, // <!DOCTYPE\n DOCTYPE_QUOTED: S++, // <!DOCTYPE \"//blah\n DOCTYPE_DTD: S++, // <!DOCTYPE \"//blah\" [ ...\n DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE \"//blah\" [ \"foo\n COMMENT_STARTING: S++, // <!-\n COMMENT: S++, // <!--\n COMMENT_ENDING: S++, // <!-- blah -\n COMMENT_ENDED: S++, // <!-- blah --\n CDATA: S++, // <![CDATA[ something\n CDATA_ENDING: S++, // ]\n CDATA_ENDING_2: S++, // ]]\n PROC_INST: S++, // <?hi\n PROC_INST_BODY: S++, // <?hi there\n PROC_INST_ENDING: S++, // <?hi \"there\" ?\n OPEN_TAG: S++, // <strong\n OPEN_TAG_SLASH: S++, // <strong /\n ATTRIB: S++, // <a\n ATTRIB_NAME: S++, // <a foo\n ATTRIB_NAME_SAW_WHITE: S++, // <a foo _\n ATTRIB_VALUE: S++, // <a foo=\n ATTRIB_VALUE_QUOTED: S++, // <a foo=\"bar\n ATTRIB_VALUE_CLOSED: S++, // <a foo=\"bar\"\n ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar\n ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=\"&quot;\"\n ATTRIB_VALUE_ENTITY_U: S++, // <foo bar=&quot\n CLOSE_TAG: S++, // </a\n CLOSE_TAG_SAW_WHITE: S++, // </a >\n SCRIPT: S++, // <script> ...\n SCRIPT_ENDING: S++, // <script> ... <\n };\n\n sax.XML_ENTITIES = {\n amp: \"&\",\n gt: \">\",\n lt: \"<\",\n quot: '\"',\n apos: \"'\",\n };\n\n sax.ENTITIES = {\n amp: \"&\",\n gt: \">\",\n lt: \"<\",\n quot: '\"',\n apos: \"'\",\n AElig: 198,\n Aacute: 193,\n Acirc: 194,\n Agrave: 192,\n Aring: 197,\n Atilde: 195,\n Auml: 196,\n Ccedil: 199,\n ETH: 208,\n Eacute: 201,\n Ecirc: 202,\n Egrave: 200,\n Euml: 203,\n Iacute: 205,\n Icirc: 206,\n Igrave: 204,\n Iuml: 207,\n Ntilde: 209,\n Oacute: 211,\n Ocirc: 212,\n Ograve: 210,\n Oslash: 216,\n Otilde: 213,\n Ouml: 214,\n THORN: 222,\n Uacute: 218,\n Ucirc: 219,\n Ugrave: 217,\n Uuml: 220,\n Yacute: 221,\n aacute: 225,\n acirc: 226,\n aelig: 230,\n agrave: 224,\n aring: 229,\n atilde: 227,\n auml: 228,\n ccedil: 231,\n eacute: 233,\n ecirc: 234,\n egrave: 232,\n eth: 240,\n euml: 235,\n iacute: 237,\n icirc: 238,\n igrave: 236,\n iuml: 239,\n ntilde: 241,\n oacute: 243,\n ocirc: 244,\n ograve: 242,\n oslash: 248,\n otilde: 245,\n ouml: 246,\n szlig: 223,\n thorn: 254,\n uacute: 250,\n ucirc: 251,\n ugrave: 249,\n uuml: 252,\n yacute: 253,\n yuml: 255,\n copy: 169,\n reg: 174,\n nbsp: 160,\n iexcl: 161,\n cent: 162,\n pound: 163,\n curren: 164,\n yen: 165,\n brvbar: 166,\n sect: 167,\n uml: 168,\n ordf: 170,\n laquo: 171,\n not: 172,\n shy: 173,\n macr: 175,\n deg: 176,\n plusmn: 177,\n sup1: 185,\n sup2: 178,\n sup3: 179,\n acute: 180,\n micro: 181,\n para: 182,\n middot: 183,\n cedil: 184,\n ordm: 186,\n raquo: 187,\n frac14: 188,\n frac12: 189,\n frac34: 190,\n iquest: 191,\n times: 215,\n divide: 247,\n OElig: 338,\n oelig: 339,\n Scaron: 352,\n scaron: 353,\n Yuml: 376,\n fnof: 402,\n circ: 710,\n tilde: 732,\n Alpha: 913,\n Beta: 914,\n Gamma: 915,\n Delta: 916,\n Epsilon: 917,\n Zeta: 918,\n Eta: 919,\n Theta: 920,\n Iota: 921,\n Kappa: 922,\n Lambda: 923,\n Mu: 924,\n Nu: 925,\n Xi: 926,\n Omicron: 927,\n Pi: 928,\n Rho: 929,\n Sigma: 931,\n Tau: 932,\n Upsilon: 933,\n Phi: 934,\n Chi: 935,\n Psi: 936,\n Omega: 937,\n alpha: 945,\n beta: 946,\n gamma: 947,\n delta: 948,\n epsilon: 949,\n zeta: 950,\n eta: 951,\n theta: 952,\n iota: 953,\n kappa: 954,\n lambda: 955,\n mu: 956,\n nu: 957,\n xi: 958,\n omicron: 959,\n pi: 960,\n rho: 961,\n sigmaf: 962,\n sigma: 963,\n tau: 964,\n upsilon: 965,\n phi: 966,\n chi: 967,\n psi: 968,\n omega: 969,\n thetasym: 977,\n upsih: 978,\n piv: 982,\n ensp: 8194,\n emsp: 8195,\n thinsp: 8201,\n zwnj: 8204,\n zwj: 8205,\n lrm: 8206,\n rlm: 8207,\n ndash: 8211,\n mdash: 8212,\n lsquo: 8216,\n rsquo: 8217,\n sbquo: 8218,\n ldquo: 8220,\n rdquo: 8221,\n bdquo: 8222,\n dagger: 8224,\n Dagger: 8225,\n bull: 8226,\n hellip: 8230,\n permil: 8240,\n prime: 8242,\n Prime: 8243,\n lsaquo: 8249,\n rsaquo: 8250,\n oline: 8254,\n frasl: 8260,\n euro: 8364,\n image: 8465,\n weierp: 8472,\n real: 8476,\n trade: 8482,\n alefsym: 8501,\n larr: 8592,\n uarr: 8593,\n rarr: 8594,\n darr: 8595,\n harr: 8596,\n crarr: 8629,\n lArr: 8656,\n uArr: 8657,\n rArr: 8658,\n dArr: 8659,\n hArr: 8660,\n forall: 8704,\n part: 8706,\n exist: 8707,\n empty: 8709,\n nabla: 8711,\n isin: 8712,\n notin: 8713,\n ni: 8715,\n prod: 8719,\n sum: 8721,\n minus: 8722,\n lowast: 8727,\n radic: 8730,\n prop: 8733,\n infin: 8734,\n ang: 8736,\n and: 8743,\n or: 8744,\n cap: 8745,\n cup: 8746,\n int: 8747,\n there4: 8756,\n sim: 8764,\n cong: 8773,\n asymp: 8776,\n ne: 8800,\n equiv: 8801,\n le: 8804,\n ge: 8805,\n sub: 8834,\n sup: 8835,\n nsub: 8836,\n sube: 8838,\n supe: 8839,\n oplus: 8853,\n otimes: 8855,\n perp: 8869,\n sdot: 8901,\n lceil: 8968,\n rceil: 8969,\n lfloor: 8970,\n rfloor: 8971,\n lang: 9001,\n rang: 9002,\n loz: 9674,\n spades: 9824,\n clubs: 9827,\n hearts: 9829,\n diams: 9830,\n };\n\n Object.keys(sax.ENTITIES).forEach(function (key) {\n var e = sax.ENTITIES[key];\n var s = typeof e === \"number\" ? String.fromCharCode(e) : e;\n sax.ENTITIES[key] = s;\n });\n\n for (var s in sax.STATE) {\n sax.STATE[sax.STATE[s]] = s;\n }\n\n // shorthand\n S = sax.STATE;\n\n function emit(parser, event, data) {\n parser[event] && parser[event](data);\n }\n\n function emitNode(parser, nodeType, data) {\n if (parser.textNode) closeText(parser);\n emit(parser, nodeType, data);\n }\n\n function closeText(parser) {\n parser.textNode = textopts(parser.opt, parser.textNode);\n if (parser.textNode) emit(parser, \"ontext\", parser.textNode);\n parser.textNode = \"\";\n }\n\n function textopts(opt, text) {\n if (opt.trim) text = text.trim();\n if (opt.normalize) text = text.replace(/\\s+/g, \" \");\n return text;\n }\n\n function error(parser, er) {\n closeText(parser);\n if (parser.trackPosition) {\n er +=\n \"\\nLine: \" +\n parser.line +\n \"\\nColumn: \" +\n parser.column +\n \"\\nChar: \" +\n parser.c;\n }\n er = new Error(er);\n parser.error = er;\n emit(parser, \"onerror\", er);\n return parser;\n }\n\n function end(parser) {\n if (parser.sawRoot && !parser.closedRoot)\n strictFail(parser, \"Unclosed root tag\");\n if (\n parser.state !== S.BEGIN &&\n parser.state !== S.BEGIN_WHITESPACE &&\n parser.state !== S.TEXT\n ) {\n error(parser, \"Unexpected end\");\n }\n closeText(parser);\n parser.c = \"\";\n parser.closed = true;\n emit(parser, \"onend\");\n SAXParser.call(parser, parser.strict, parser.opt);\n return parser;\n }\n\n function strictFail(parser, message) {\n if (typeof parser !== \"object\" || !(parser instanceof SAXParser)) {\n throw new Error(\"bad call to strictFail\");\n }\n if (parser.strict) {\n error(parser, message);\n }\n }\n\n function newTag(parser) {\n if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]();\n var parent = parser.tags[parser.tags.length - 1] || parser;\n var tag = (parser.tag = { name: parser.tagName, attributes: {} });\n\n // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n if (parser.opt.xmlns) {\n tag.ns = parent.ns;\n }\n parser.attribList.length = 0;\n emitNode(parser, \"onopentagstart\", tag);\n }\n\n function qname(name, attribute) {\n var i = name.indexOf(\":\");\n var qualName = i < 0 ? [\"\", name] : name.split(\":\");\n var prefix = qualName[0];\n var local = qualName[1];\n\n // <x \"xmlns\"=\"http://foo\">\n if (attribute && name === \"xmlns\") {\n prefix = \"xmlns\";\n local = \"\";\n }\n\n return { prefix: prefix, local: local };\n }\n\n function attrib(parser) {\n if (!parser.strict) {\n parser.attribName = parser.attribName[parser.looseCase]();\n }\n\n if (\n parser.attribList.indexOf(parser.attribName) !== -1 ||\n parser.tag.attributes.hasOwnProperty(parser.attribName)\n ) {\n parser.attribName = parser.attribValue = \"\";\n return;\n }\n\n if (parser.opt.xmlns) {\n var qn = qname(parser.attribName, true);\n var prefix = qn.prefix;\n var local = qn.local;\n\n if (prefix === \"xmlns\") {\n // namespace binding attribute. push the binding into scope\n if (local === \"xml\" && parser.attribValue !== XML_NAMESPACE) {\n strictFail(\n parser,\n \"xml: prefix must be bound to \" +\n XML_NAMESPACE +\n \"\\n\" +\n \"Actual: \" +\n parser.attribValue\n );\n } else if (\n local === \"xmlns\" &&\n parser.attribValue !== XMLNS_NAMESPACE\n ) {\n strictFail(\n parser,\n \"xmlns: prefix must be bound to \" +\n XMLNS_NAMESPACE +\n \"\\n\" +\n \"Actual: \" +\n parser.attribValue\n );\n } else {\n var tag = parser.tag;\n var parent = parser.tags[parser.tags.length - 1] || parser;\n if (tag.ns === parent.ns) {\n tag.ns = Object.create(parent.ns);\n }\n tag.ns[local] = parser.attribValue;\n }\n }\n\n // defer onattribute events until all attributes have been seen\n // so any new bindings can take effect. preserve attribute order\n // so deferred events can be emitted in document order\n parser.attribList.push([parser.attribName, parser.attribValue]);\n } else {\n // in non-xmlns mode, we can emit the event right away\n parser.tag.attributes[parser.attribName] = parser.attribValue;\n emitNode(parser, \"onattribute\", {\n name: parser.attribName,\n value: parser.attribValue,\n });\n }\n\n parser.attribName = parser.attribValue = \"\";\n }\n\n function openTag(parser, selfClosing) {\n if (parser.opt.xmlns) {\n // emit namespace binding events\n var tag = parser.tag;\n\n // add namespace info to tag\n var qn = qname(parser.tagName);\n tag.prefix = qn.prefix;\n tag.local = qn.local;\n tag.uri = tag.ns[qn.prefix] || \"\";\n\n if (tag.prefix && !tag.uri) {\n strictFail(\n parser,\n \"Unbound namespace prefix: \" + JSON.stringify(parser.tagName)\n );\n tag.uri = qn.prefix;\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser;\n if (tag.ns && parent.ns !== tag.ns) {\n Object.keys(tag.ns).forEach(function (p) {\n emitNode(parser, \"onopennamespace\", {\n prefix: p,\n uri: tag.ns[p],\n });\n });\n }\n\n // handle deferred onattribute events\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (var i = 0, l = parser.attribList.length; i < l; i++) {\n var nv = parser.attribList[i];\n var name = nv[0];\n var value = nv[1];\n var qualName = qname(name, true);\n var prefix = qualName.prefix;\n var local = qualName.local;\n var uri = prefix === \"\" ? \"\" : tag.ns[prefix] || \"\";\n var a = {\n name: name,\n value: value,\n prefix: prefix,\n local: local,\n uri: uri,\n };\n\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (prefix && prefix !== \"xmlns\" && !uri) {\n strictFail(\n parser,\n \"Unbound namespace prefix: \" + JSON.stringify(prefix)\n );\n a.uri = prefix;\n }\n parser.tag.attributes[name] = a;\n emitNode(parser, \"onattribute\", a);\n }\n parser.attribList.length = 0;\n }\n\n parser.tag.isSelfClosing = !!selfClosing;\n\n // process the tag\n parser.sawRoot = true;\n parser.tags.push(parser.tag);\n emitNode(parser, \"onopentag\", parser.tag);\n if (!selfClosing) {\n // special case for <script> in non-strict mode.\n if (!parser.noscript && parser.tagName.toLowerCase() === \"script\") {\n parser.state = S.SCRIPT;\n } else {\n parser.state = S.TEXT;\n }\n parser.tag = null;\n parser.tagName = \"\";\n }\n parser.attribName = parser.attribValue = \"\";\n parser.attribList.length = 0;\n }\n\n function closeTag(parser) {\n if (!parser.tagName) {\n strictFail(parser, \"Weird empty close tag.\");\n parser.textNode += \"</>\";\n parser.state = S.TEXT;\n return;\n }\n\n if (parser.script) {\n if (parser.tagName !== \"script\") {\n parser.script += \"</\" + parser.tagName + \">\";\n parser.tagName = \"\";\n parser.state = S.SCRIPT;\n return;\n }\n emitNode(parser, \"onscript\", parser.script);\n parser.script = \"\";\n }\n\n // first make sure that the closing tag actually exists.\n // <a><b></c></b></a> will close everything, otherwise.\n var t = parser.tags.length;\n var tagName = parser.tagName;\n if (!parser.strict) {\n tagName = tagName[parser.looseCase]();\n }\n var closeTo = tagName;\n while (t--) {\n var close = parser.tags[t];\n if (close.name !== closeTo) {\n // fail the first time in strict mode\n strictFail(parser, \"Unexpected close tag\");\n } else {\n break;\n }\n }\n\n // didn't find it. we already failed for strict, so just abort.\n if (t < 0) {\n strictFail(parser, \"Unmatched closing tag: \" + parser.tagName);\n parser.textNode += \"</\" + parser.tagName + \">\";\n parser.state = S.TEXT;\n return;\n }\n parser.tagName = tagName;\n var s = parser.tags.length;\n while (s-- > t) {\n var tag = (parser.tag = parser.tags.pop());\n parser.tagName = parser.tag.name;\n emitNode(parser, \"onclosetag\", parser.tagName);\n\n var x = {};\n for (var i in tag.ns) {\n x[i] = tag.ns[i];\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser;\n if (parser.opt.xmlns && tag.ns !== parent.ns) {\n // remove namespace bindings introduced by tag\n Object.keys(tag.ns).forEach(function (p) {\n var n = tag.ns[p];\n emitNode(parser, \"onclosenamespace\", { prefix: p, uri: n });\n });\n }\n }\n if (t === 0) parser.closedRoot = true;\n parser.tagName = parser.attribValue = parser.attribName = \"\";\n parser.attribList.length = 0;\n parser.state = S.TEXT;\n }\n\n function parseEntity(parser) {\n var entity = parser.entity;\n var entityLC = entity.toLowerCase();\n var num;\n var numStr = \"\";\n\n if (parser.ENTITIES[entity]) {\n return parser.ENTITIES[entity];\n }\n if (parser.ENTITIES[entityLC]) {\n return parser.ENTITIES[entityLC];\n }\n entity = entityLC;\n if (entity.charAt(0) === \"#\") {\n if (entity.charAt(1) === \"x\") {\n entity = entity.slice(2);\n num = parseInt(entity, 16);\n numStr = num.toString(16);\n } else {\n entity = entity.slice(1);\n num = parseInt(entity, 10);\n numStr = num.toString(10);\n }\n }\n entity = entity.replace(/^0+/, \"\");\n if (isNaN(num) || numStr.toLowerCase() !== entity) {\n strictFail(parser, \"Invalid character entity\");\n return \"&\" + parser.entity + \";\";\n }\n\n return String.fromCodePoint(num);\n }\n\n function beginWhiteSpace(parser, c) {\n if (c === \"<\") {\n parser.state = S.OPEN_WAKA;\n parser.startTagPosition = parser.position;\n } else if (!isWhitespace(c)) {\n // have to process this as a text node.\n // weird, but happens.\n strictFail(parser, \"Non-whitespace before first tag.\");\n parser.textNode = c;\n parser.state = S.TEXT;\n }\n }\n\n function charAt(chunk, i) {\n var result = \"\";\n if (i < chunk.length) {\n result = chunk.charAt(i);\n }\n return result;\n }\n\n function write(chunk) {\n var parser = this;\n if (this.error) {\n throw this.error;\n }\n if (parser.closed) {\n return error(\n parser,\n \"Cannot write after close. Assign an onready handler.\"\n );\n }\n if (chunk === null) {\n return end(parser);\n }\n if (typeof chunk === \"object\") {\n chunk = chunk.toString();\n }\n var i = 0;\n var c = \"\";\n while (true) {\n c = charAt(chunk, i++);\n parser.c = c;\n\n if (!c) {\n break;\n }\n\n if (parser.trackPosition) {\n parser.position++;\n if (c === \"\\n\") {\n parser.line++;\n parser.column = 0;\n } else {\n parser.column++;\n }\n }\n\n switch (parser.state) {\n case S.BEGIN:\n parser.state = S.BEGIN_WHITESPACE;\n if (c === \"\\uFEFF\") {\n continue;\n }\n beginWhiteSpace(parser, c);\n continue;\n\n case S.BEGIN_WHITESPACE:\n beginWhiteSpace(parser, c);\n continue;\n\n case S.TEXT:\n if (parser.sawRoot && !parser.closedRoot) {\n var starti = i - 1;\n while (c && c !== \"<\" && c !== \"&\") {\n c = charAt(chunk, i++);\n if (c && parser.trackPosition) {\n parser.position++;\n if (c === \"\\n\") {\n parser.line++;\n parser.column = 0;\n } else {\n parser.column++;\n }\n }\n }\n parser.textNode += chunk.substring(starti, i - 1);\n }\n if (\n c === \"<\" &&\n !(parser.sawRoot && parser.closedRoot && !parser.strict)\n ) {\n parser.state = S.OPEN_WAKA;\n parser.startTagPosition = parser.position;\n } else {\n if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) {\n strictFail(parser, \"Text data outside of root node.\");\n }\n if (c === \"&\") {\n parser.state = S.TEXT_ENTITY;\n } else {\n parser.textNode += c;\n }\n }\n continue;\n\n case S.SCRIPT:\n // only non-strict\n if (c === \"<\") {\n parser.state = S.SCRIPT_ENDING;\n } else {\n parser.script += c;\n }\n continue;\n\n case S.SCRIPT_ENDING:\n if (c === \"/\") {\n parser.state = S.CLOSE_TAG;\n } else {\n parser.script += \"<\" + c;\n parser.state = S.SCRIPT;\n }\n continue;\n\n case S.OPEN_WAKA:\n // either a /, ?, !, or text is coming next.\n if (c === \"!\") {\n parser.state = S.SGML_DECL;\n parser.sgmlDecl = \"\";\n } else if (isWhitespace(c)) {\n // wait for it...\n } else if (isMatch(nameStart, c)) {\n parser.state = S.OPEN_TAG;\n parser.tagName = c;\n } else if (c === \"/\") {\n parser.state = S.CLOSE_TAG;\n parser.tagName = \"\";\n } else if (c === \"?\") {\n parser.state = S.PROC_INST;\n parser.procInstName = parser.procInstBody = \"\";\n } else {\n strictFail(parser, \"Unencoded <\");\n // if there was some whitespace, then add that in.\n if (parser.startTagPosition + 1 < parser.position) {\n var pad = parser.position - parser.startTagPosition;\n c = new Array(pad).join(\" \") + c;\n }\n parser.textNode += \"<\" + c;\n parser.state = S.TEXT;\n }\n continue;\n\n case S.SGML_DECL:\n if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n emitNode(parser, \"onopencdata\");\n parser.state = S.CDATA;\n parser.sgmlDecl = \"\";\n parser.cdata = \"\";\n } else if (parser.sgmlDecl + c === \"--\") {\n parser.state = S.COMMENT;\n parser.comment = \"\";\n parser.sgmlDecl = \"\";\n } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n parser.state = S.DOCTYPE;\n if (parser.doctype || parser.sawRoot) {\n strictFail(parser, \"Inappropriately located doctype declaration\");\n }\n parser.doctype = \"\";\n parser.sgmlDecl = \"\";\n } else if (c === \">\") {\n emitNode(parser, \"onsgmldeclaration\", parser.sgmlDecl);\n parser.sgmlDecl = \"\";\n parser.state = S.TEXT;\n } else if (isQuote(c)) {\n parser.state = S.SGML_DECL_QUOTED;\n parser.sgmlDecl += c;\n } else {\n parser.sgmlDecl += c;\n }\n continue;\n\n case S.SGML_DECL_QUOTED:\n if (c === parser.q) {\n parser.state = S.SGML_DECL;\n parser.q = \"\";\n }\n parser.sgmlDecl += c;\n continue;\n\n case S.DOCTYPE:\n if (c === \">\") {\n parser.state = S.TEXT;\n emitNode(parser, \"ondoctype\", parser.doctype);\n parser.doctype = true; // just remember that we saw it.\n } else {\n parser.doctype += c;\n if (c === \"[\") {\n parser.state = S.DOCTYPE_DTD;\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_QUOTED;\n parser.q = c;\n }\n }\n continue;\n\n case S.DOCTYPE_QUOTED:\n parser.doctype += c;\n if (c === parser.q) {\n parser.q = \"\";\n parser.state = S.DOCTYPE;\n }\n continue;\n\n case S.DOCTYPE_DTD:\n parser.doctype += c;\n if (c === \"]\") {\n parser.state = S.DOCTYPE;\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_DTD_QUOTED;\n parser.q = c;\n }\n continue;\n\n case S.DOCTYPE_DTD_QUOTED:\n parser.doctype += c;\n if (c === parser.q) {\n parser.state = S.DOCTYPE_DTD;\n parser.q = \"\";\n }\n continue;\n\n case S.COMMENT:\n if (c === \"-\") {\n parser.state = S.COMMENT_ENDING;\n } else {\n parser.comment += c;\n }\n continue;\n\n case S.COMMENT_ENDING:\n if (c === \"-\") {\n parser.state = S.COMMENT_ENDED;\n parser.comment = textopts(parser.opt, parser.comment);\n if (parser.comment) {\n emitNode(parser, \"oncomment\", parser.comment);\n }\n parser.comment = \"\";\n } else {\n parser.comment += \"-\" + c;\n parser.state = S.COMMENT;\n }\n continue;\n\n case S.COMMENT_ENDED:\n if (c !== \">\") {\n strictFail(parser, \"Malformed comment\");\n // allow <!-- blah -- bloo --> in non-strict mode,\n // which is a comment of \" blah -- bloo \"\n parser.comment += \"--\" + c;\n parser.state = S.COMMENT;\n } else {\n parser.state = S.TEXT;\n }\n continue;\n\n case S.CDATA:\n if (c === \"]\") {\n parser.state = S.CDATA_ENDING;\n } else {\n parser.cdata += c;\n }\n continue;\n\n case S.CDATA_ENDING:\n if (c === \"]\") {\n parser.state = S.CDATA_ENDING_2;\n } else {\n parser.cdata += \"]\" + c;\n parser.state = S.CDATA;\n }\n continue;\n\n case S.CDATA_ENDING_2:\n if (c === \">\") {\n if (parser.cdata) {\n emitNode(parser, \"oncdata\", parser.cdata);\n }\n emitNode(parser, \"onclosecdata\");\n parser.cdata = \"\";\n parser.state = S.TEXT;\n } else if (c === \"]\") {\n parser.cdata += \"]\";\n } else {\n parser.cdata += \"]]\" + c;\n parser.state = S.CDATA;\n }\n continue;\n\n case S.PROC_INST:\n if (c === \"?\") {\n parser.state = S.PROC_INST_ENDING;\n } else if (isWhitespace(c)) {\n parser.state = S.PROC_INST_BODY;\n } else {\n parser.procInstName += c;\n }\n continue;\n\n case S.PROC_INST_BODY:\n if (!parser.procInstBody && isWhitespace(c)) {\n continue;\n } else if (c === \"?\") {\n parser.state = S.PROC_INST_ENDING;\n } else {\n parser.procInstBody += c;\n }\n continue;\n\n case S.PROC_INST_ENDING:\n if (c === \">\") {\n emitNode(parser, \"onprocessinginstruction\", {\n name: parser.procInstName,\n body: parser.procInstBody,\n });\n parser.procInstName = parser.procInstBody = \"\";\n parser.state = S.TEXT;\n } else {\n parser.procInstBody += \"?\" + c;\n parser.state = S.PROC_INST_BODY;\n }\n continue;\n\n case S.OPEN_TAG:\n if (isMatch(nameBody, c)) {\n parser.tagName += c;\n } else {\n newTag(parser);\n if (c === \">\") {\n openTag(parser);\n } else if (c === \"/\") {\n parser.state = S.OPEN_TAG_SLASH;\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, \"Invalid character in tag name\");\n }\n parser.state = S.ATTRIB;\n }\n }\n continue;\n\n case S.OPEN_TAG_SLASH:\n if (c === \">\") {\n openTag(parser, true);\n closeTag(parser);\n } else {\n strictFail(\n parser,\n \"Forward-slash in opening tag not followed by >\"\n );\n parser.state = S.ATTRIB;\n }\n continue;\n\n case S.ATTRIB:\n // haven't read the attribute name yet.\n if (isWhitespace(c)) {\n continue;\n } else if (c === \">\") {\n openTag(parser);\n } else if (c === \"/\") {\n parser.state = S.OPEN_TAG_SLASH;\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c;\n parser.attribValue = \"\";\n parser.state = S.ATTRIB_NAME;\n } else {\n strictFail(parser, \"Invalid attribute name\");\n }\n continue;\n\n case S.ATTRIB_NAME:\n if (c === \"=\") {\n parser.state = S.ATTRIB_VALUE;\n } else if (c === \">\") {\n strictFail(parser, \"Attribute without value\");\n parser.attribValue = parser.attribName;\n attrib(parser);\n openTag(parser);\n } else if (isWhitespace(c)) {\n parser.state = S.ATTRIB_NAME_SAW_WHITE;\n } else if (isMatch(nameBody, c)) {\n parser.attribName += c;\n } else {\n strictFail(parser, \"Invalid attribute name\");\n }\n continue;\n\n case S.ATTRIB_NAME_SAW_WHITE:\n if (c === \"=\") {\n parser.state = S.ATTRIB_VALUE;\n } else if (isWhitespace(c)) {\n continue;\n } else {\n strictFail(parser, \"Attribute without value\");\n parser.tag.attributes[parser.attribName] = \"\";\n parser.attribValue = \"\";\n emitNode(parser, \"onattribute\", {\n name: parser.attribName,\n value: \"\",\n });\n parser.attribName = \"\";\n if (c === \">\") {\n openTag(parser);\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c;\n parser.state = S.ATTRIB_NAME;\n } else {\n strictFail(parser, \"Invalid attribute name\");\n parser.state = S.ATTRIB;\n }\n }\n continue;\n\n case S.ATTRIB_VALUE:\n if (isWhitespace(c)) {\n continue;\n } else if (isQuote(c)) {\n parser.q = c;\n parser.state = S.ATTRIB_VALUE_QUOTED;\n } else {\n strictFail(parser, \"Unquoted attribute value\");\n parser.state = S.ATTRIB_VALUE_UNQUOTED;\n parser.attribValue = c;\n }\n continue;\n\n case S.ATTRIB_VALUE_QUOTED:\n if (c !== parser.q) {\n if (c === \"&\") {\n parser.state = S.ATTRIB_VALUE_ENTITY_Q;\n } else {\n parser.attribValue += c;\n }\n continue;\n }\n attrib(parser);\n parser.q = \"\";\n parser.state = S.ATTRIB_VALUE_CLOSED;\n continue;\n\n case S.ATTRIB_VALUE_CLOSED:\n if (isWhitespace(c)) {\n parser.state = S.ATTRIB;\n } else if (c === \">\") {\n openTag(parser);\n } else if (c === \"/\") {\n parser.state = S.OPEN_TAG_SLASH;\n } else if (isMatch(nameStart, c)) {\n strictFail(parser, \"No whitespace between attributes\");\n parser.attribName = c;\n parser.attribValue = \"\";\n parser.state = S.ATTRIB_NAME;\n } else {\n strictFail(parser, \"Invalid attribute name\");\n }\n continue;\n\n case S.ATTRIB_VALUE_UNQUOTED:\n if (!isAttribEnd(c)) {\n if (c === \"&\") {\n parser.state = S.ATTRIB_VALUE_ENTITY_U;\n } else {\n parser.attribValue += c;\n }\n continue;\n }\n attrib(parser);\n if (c === \">\") {\n openTag(parser);\n } else {\n parser.state = S.ATTRIB;\n }\n continue;\n\n case S.CLOSE_TAG:\n if (!parser.tagName) {\n if (isWhitespace(c)) {\n continue;\n } else if (notMatch(nameStart, c)) {\n if (parser.script) {\n parser.script += \"</\" + c;\n parser.state = S.SCRIPT;\n } else {\n strictFail(parser, \"Invalid tagname in closing tag.\");\n }\n } else {\n parser.tagName = c;\n }\n } else if (c === \">\") {\n closeTag(parser);\n } else if (isMatch(nameBody, c)) {\n parser.tagName += c;\n } else if (parser.script) {\n parser.script += \"</\" + parser.tagName;\n parser.tagName = \"\";\n parser.state = S.SCRIPT;\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, \"Invalid tagname in closing tag\");\n }\n parser.state = S.CLOSE_TAG_SAW_WHITE;\n }\n continue;\n\n case S.CLOSE_TAG_SAW_WHITE:\n if (isWhitespace(c)) {\n continue;\n }\n if (c === \">\") {\n closeTag(parser);\n } else {\n strictFail(parser, \"Invalid characters in closing tag\");\n }\n continue;\n\n case S.TEXT_ENTITY:\n case S.ATTRIB_VALUE_ENTITY_Q:\n case S.ATTRIB_VALUE_ENTITY_U:\n var returnState;\n var buffer;\n switch (parser.state) {\n case S.TEXT_ENTITY:\n returnState = S.TEXT;\n buffer = \"textNode\";\n break;\n\n case S.ATTRIB_VALUE_ENTITY_Q:\n returnState = S.ATTRIB_VALUE_QUOTED;\n buffer = \"attribValue\";\n break;\n\n case S.ATTRIB_VALUE_ENTITY_U:\n returnState = S.ATTRIB_VALUE_UNQUOTED;\n buffer = \"attribValue\";\n break;\n }\n\n if (c === \";\") {\n if (parser.opt.unparsedEntities) {\n var parsedEntity = parseEntity(parser);\n parser.entity = \"\";\n parser.state = returnState;\n parser.write(parsedEntity);\n } else {\n parser[buffer] += parseEntity(parser);\n parser.entity = \"\";\n parser.state = returnState;\n }\n } else if (\n isMatch(parser.entity.length ? entityBody : entityStart, c)\n ) {\n parser.entity += c;\n } else {\n strictFail(parser, \"Invalid character in entity name\");\n parser[buffer] += \"&\" + parser.entity + c;\n parser.entity = \"\";\n parser.state = returnState;\n }\n\n continue;\n\n default: /* istanbul ignore next */ {\n throw new Error(parser, \"Unknown state: \" + parser.state);\n }\n }\n } // while\n\n if (parser.position >= parser.bufferCheckPosition) {\n checkBufferLength(parser);\n }\n return parser;\n }\n\n /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n /* istanbul ignore next */\n if (!String.fromCodePoint) {\n (function () {\n var stringFromCharCode = String.fromCharCode;\n var floor = Math.floor;\n var fromCodePoint = function () {\n var MAX_SIZE = 0x4000;\n var codeUnits = [];\n var highSurrogate;\n var lowSurrogate;\n var index = -1;\n var length = arguments.length;\n if (!length) {\n return \"\";\n }\n var result = \"\";\n while (++index < length) {\n var codePoint = Number(arguments[index]);\n if (\n !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10ffff || // not a valid Unicode code point\n floor(codePoint) !== codePoint // not an integer\n ) {\n throw RangeError(\"Invalid code point: \" + codePoint);\n }\n if (codePoint <= 0xffff) {\n // BMP code point\n codeUnits.push(codePoint);\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n highSurrogate = (codePoint >> 10) + 0xd800;\n lowSurrogate = (codePoint % 0x400) + 0xdc00;\n codeUnits.push(highSurrogate, lowSurrogate);\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n };\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(String, \"fromCodePoint\", {\n value: fromCodePoint,\n configurable: true,\n writable: true,\n });\n } else {\n String.fromCodePoint = fromCodePoint;\n }\n })();\n }\n return sax;\n};\n\nconst sax = /** #__PURE__ */ initializeSax();\n\nexport { sax };\n"],"mappings":"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"}
@@ -1195,7 +1195,7 @@ const initializeSax = function() {
1195
1195
  return sax;
1196
1196
  };
1197
1197
  const sax = initializeSax();
1198
-
1199
1198
  //#endregion
1200
1199
  export { sax };
1200
+
1201
1201
  //# sourceMappingURL=sax.js.map
@@ -1,4 +1,3 @@
1
-
2
1
  //#region src/utils/signal.ts
3
2
  /**
4
3
  * Race a promise with an abort signal. If the signal is aborted, the promise will
@@ -34,8 +33,8 @@ function getAbortSignalError(signal) {
34
33
  if (typeof signal?.reason === "string") return new Error(signal.reason);
35
34
  return /* @__PURE__ */ new Error("Aborted");
36
35
  }
37
-
38
36
  //#endregion
39
37
  exports.getAbortSignalError = getAbortSignalError;
40
38
  exports.raceWithSignal = raceWithSignal;
39
+
41
40
  //# sourceMappingURL=signal.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"signal.cjs","names":[],"sources":["../../src/utils/signal.ts"],"sourcesContent":["/**\n * Race a promise with an abort signal. If the signal is aborted, the promise will\n * be rejected with the error from the signal. If the promise is rejected, the signal will be aborted.\n *\n * @param promise - The promise to race.\n * @param signal - The abort signal.\n * @returns The result of the promise.\n */\nexport async function raceWithSignal<T>(\n promise: Promise<T>,\n signal?: AbortSignal\n): Promise<T> {\n if (signal === undefined) {\n return promise;\n }\n let listener: () => void;\n return Promise.race([\n promise.catch<T>((err) => {\n if (!signal?.aborted) {\n throw err;\n } else {\n return undefined as T;\n }\n }),\n new Promise<never>((_, reject) => {\n listener = () => {\n reject(getAbortSignalError(signal));\n };\n signal.addEventListener(\"abort\", listener, { once: true });\n // Must be here inside the promise to avoid a race condition\n if (signal.aborted) {\n reject(getAbortSignalError(signal));\n }\n }),\n ]).finally(() => signal.removeEventListener(\"abort\", listener));\n}\n\n/**\n * Get the error from an abort signal. Since you can set the reason to anything,\n * we have to do some type gymnastics to get a proper error message.\n *\n * @param signal - The abort signal.\n * @returns The error from the abort signal.\n */\nexport function getAbortSignalError(signal?: AbortSignal) {\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (signal?.reason instanceof Error) {\n return signal.reason;\n }\n\n if (typeof signal?.reason === \"string\") {\n return new Error(signal.reason);\n }\n\n return new Error(\"Aborted\");\n}\n"],"mappings":";;;;;;;;;;AAQA,eAAsB,eACpB,SACA,QACY;AACZ,KAAI,WAAW,OACb,QAAO;CAET,IAAI;AACJ,QAAO,QAAQ,KAAK,CAClB,QAAQ,OAAU,QAAQ;AACxB,MAAI,CAAC,QAAQ,QACX,OAAM;MAEN;GAEF,EACF,IAAI,SAAgB,GAAG,WAAW;AAChC,mBAAiB;AACf,UAAO,oBAAoB,OAAO,CAAC;;AAErC,SAAO,iBAAiB,SAAS,UAAU,EAAE,MAAM,MAAM,CAAC;AAE1D,MAAI,OAAO,QACT,QAAO,oBAAoB,OAAO,CAAC;GAErC,CACH,CAAC,CAAC,cAAc,OAAO,oBAAoB,SAAS,SAAS,CAAC;;;;;;;;;AAUjE,SAAgB,oBAAoB,QAAsB;AAExD,KAAI,QAAQ,kBAAkB,MAC5B,QAAO,OAAO;AAGhB,KAAI,OAAO,QAAQ,WAAW,SAC5B,QAAO,IAAI,MAAM,OAAO,OAAO;AAGjC,wBAAO,IAAI,MAAM,UAAU"}
1
+ {"version":3,"file":"signal.cjs","names":[],"sources":["../../src/utils/signal.ts"],"sourcesContent":["/**\n * Race a promise with an abort signal. If the signal is aborted, the promise will\n * be rejected with the error from the signal. If the promise is rejected, the signal will be aborted.\n *\n * @param promise - The promise to race.\n * @param signal - The abort signal.\n * @returns The result of the promise.\n */\nexport async function raceWithSignal<T>(\n promise: Promise<T>,\n signal?: AbortSignal\n): Promise<T> {\n if (signal === undefined) {\n return promise;\n }\n let listener: () => void;\n return Promise.race([\n promise.catch<T>((err) => {\n if (!signal?.aborted) {\n throw err;\n } else {\n return undefined as T;\n }\n }),\n new Promise<never>((_, reject) => {\n listener = () => {\n reject(getAbortSignalError(signal));\n };\n signal.addEventListener(\"abort\", listener, { once: true });\n // Must be here inside the promise to avoid a race condition\n if (signal.aborted) {\n reject(getAbortSignalError(signal));\n }\n }),\n ]).finally(() => signal.removeEventListener(\"abort\", listener));\n}\n\n/**\n * Get the error from an abort signal. Since you can set the reason to anything,\n * we have to do some type gymnastics to get a proper error message.\n *\n * @param signal - The abort signal.\n * @returns The error from the abort signal.\n */\nexport function getAbortSignalError(signal?: AbortSignal) {\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (signal?.reason instanceof Error) {\n return signal.reason;\n }\n\n if (typeof signal?.reason === \"string\") {\n return new Error(signal.reason);\n }\n\n return new Error(\"Aborted\");\n}\n"],"mappings":";;;;;;;;;AAQA,eAAsB,eACpB,SACA,QACY;AACZ,KAAI,WAAW,KAAA,EACb,QAAO;CAET,IAAI;AACJ,QAAO,QAAQ,KAAK,CAClB,QAAQ,OAAU,QAAQ;AACxB,MAAI,CAAC,QAAQ,QACX,OAAM;MAEN;GAEF,EACF,IAAI,SAAgB,GAAG,WAAW;AAChC,mBAAiB;AACf,UAAO,oBAAoB,OAAO,CAAC;;AAErC,SAAO,iBAAiB,SAAS,UAAU,EAAE,MAAM,MAAM,CAAC;AAE1D,MAAI,OAAO,QACT,QAAO,oBAAoB,OAAO,CAAC;GAErC,CACH,CAAC,CAAC,cAAc,OAAO,oBAAoB,SAAS,SAAS,CAAC;;;;;;;;;AAUjE,SAAgB,oBAAoB,QAAsB;AAExD,KAAI,QAAQ,kBAAkB,MAC5B,QAAO,OAAO;AAGhB,KAAI,OAAO,QAAQ,WAAW,SAC5B,QAAO,IAAI,MAAM,OAAO,OAAO;AAGjC,wBAAO,IAAI,MAAM,UAAU"}
@@ -33,7 +33,7 @@ function getAbortSignalError(signal) {
33
33
  if (typeof signal?.reason === "string") return new Error(signal.reason);
34
34
  return /* @__PURE__ */ new Error("Aborted");
35
35
  }
36
-
37
36
  //#endregion
38
37
  export { getAbortSignalError, raceWithSignal };
38
+
39
39
  //# sourceMappingURL=signal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signal.js","names":[],"sources":["../../src/utils/signal.ts"],"sourcesContent":["/**\n * Race a promise with an abort signal. If the signal is aborted, the promise will\n * be rejected with the error from the signal. If the promise is rejected, the signal will be aborted.\n *\n * @param promise - The promise to race.\n * @param signal - The abort signal.\n * @returns The result of the promise.\n */\nexport async function raceWithSignal<T>(\n promise: Promise<T>,\n signal?: AbortSignal\n): Promise<T> {\n if (signal === undefined) {\n return promise;\n }\n let listener: () => void;\n return Promise.race([\n promise.catch<T>((err) => {\n if (!signal?.aborted) {\n throw err;\n } else {\n return undefined as T;\n }\n }),\n new Promise<never>((_, reject) => {\n listener = () => {\n reject(getAbortSignalError(signal));\n };\n signal.addEventListener(\"abort\", listener, { once: true });\n // Must be here inside the promise to avoid a race condition\n if (signal.aborted) {\n reject(getAbortSignalError(signal));\n }\n }),\n ]).finally(() => signal.removeEventListener(\"abort\", listener));\n}\n\n/**\n * Get the error from an abort signal. Since you can set the reason to anything,\n * we have to do some type gymnastics to get a proper error message.\n *\n * @param signal - The abort signal.\n * @returns The error from the abort signal.\n */\nexport function getAbortSignalError(signal?: AbortSignal) {\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (signal?.reason instanceof Error) {\n return signal.reason;\n }\n\n if (typeof signal?.reason === \"string\") {\n return new Error(signal.reason);\n }\n\n return new Error(\"Aborted\");\n}\n"],"mappings":";;;;;;;;;AAQA,eAAsB,eACpB,SACA,QACY;AACZ,KAAI,WAAW,OACb,QAAO;CAET,IAAI;AACJ,QAAO,QAAQ,KAAK,CAClB,QAAQ,OAAU,QAAQ;AACxB,MAAI,CAAC,QAAQ,QACX,OAAM;MAEN;GAEF,EACF,IAAI,SAAgB,GAAG,WAAW;AAChC,mBAAiB;AACf,UAAO,oBAAoB,OAAO,CAAC;;AAErC,SAAO,iBAAiB,SAAS,UAAU,EAAE,MAAM,MAAM,CAAC;AAE1D,MAAI,OAAO,QACT,QAAO,oBAAoB,OAAO,CAAC;GAErC,CACH,CAAC,CAAC,cAAc,OAAO,oBAAoB,SAAS,SAAS,CAAC;;;;;;;;;AAUjE,SAAgB,oBAAoB,QAAsB;AAExD,KAAI,QAAQ,kBAAkB,MAC5B,QAAO,OAAO;AAGhB,KAAI,OAAO,QAAQ,WAAW,SAC5B,QAAO,IAAI,MAAM,OAAO,OAAO;AAGjC,wBAAO,IAAI,MAAM,UAAU"}
1
+ {"version":3,"file":"signal.js","names":[],"sources":["../../src/utils/signal.ts"],"sourcesContent":["/**\n * Race a promise with an abort signal. If the signal is aborted, the promise will\n * be rejected with the error from the signal. If the promise is rejected, the signal will be aborted.\n *\n * @param promise - The promise to race.\n * @param signal - The abort signal.\n * @returns The result of the promise.\n */\nexport async function raceWithSignal<T>(\n promise: Promise<T>,\n signal?: AbortSignal\n): Promise<T> {\n if (signal === undefined) {\n return promise;\n }\n let listener: () => void;\n return Promise.race([\n promise.catch<T>((err) => {\n if (!signal?.aborted) {\n throw err;\n } else {\n return undefined as T;\n }\n }),\n new Promise<never>((_, reject) => {\n listener = () => {\n reject(getAbortSignalError(signal));\n };\n signal.addEventListener(\"abort\", listener, { once: true });\n // Must be here inside the promise to avoid a race condition\n if (signal.aborted) {\n reject(getAbortSignalError(signal));\n }\n }),\n ]).finally(() => signal.removeEventListener(\"abort\", listener));\n}\n\n/**\n * Get the error from an abort signal. Since you can set the reason to anything,\n * we have to do some type gymnastics to get a proper error message.\n *\n * @param signal - The abort signal.\n * @returns The error from the abort signal.\n */\nexport function getAbortSignalError(signal?: AbortSignal) {\n // eslint-disable-next-line no-instanceof/no-instanceof\n if (signal?.reason instanceof Error) {\n return signal.reason;\n }\n\n if (typeof signal?.reason === \"string\") {\n return new Error(signal.reason);\n }\n\n return new Error(\"Aborted\");\n}\n"],"mappings":";;;;;;;;;AAQA,eAAsB,eACpB,SACA,QACY;AACZ,KAAI,WAAW,KAAA,EACb,QAAO;CAET,IAAI;AACJ,QAAO,QAAQ,KAAK,CAClB,QAAQ,OAAU,QAAQ;AACxB,MAAI,CAAC,QAAQ,QACX,OAAM;MAEN;GAEF,EACF,IAAI,SAAgB,GAAG,WAAW;AAChC,mBAAiB;AACf,UAAO,oBAAoB,OAAO,CAAC;;AAErC,SAAO,iBAAiB,SAAS,UAAU,EAAE,MAAM,MAAM,CAAC;AAE1D,MAAI,OAAO,QACT,QAAO,oBAAoB,OAAO,CAAC;GAErC,CACH,CAAC,CAAC,cAAc,OAAO,oBAAoB,SAAS,SAAS,CAAC;;;;;;;;;AAUjE,SAAgB,oBAAoB,QAAsB;AAExD,KAAI,QAAQ,kBAAkB,MAC5B,QAAO,OAAO;AAGhB,KAAI,OAAO,QAAQ,WAAW,SAC5B,QAAO,IAAI,MAAM,OAAO,OAAO;AAGjC,wBAAO,IAAI,MAAM,UAAU"}
@@ -1,8 +1,6 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
3
-
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
2
  //#region src/utils/ssrf.ts
5
- var ssrf_exports = /* @__PURE__ */ require_runtime.__exportAll({
3
+ var ssrf_exports = /* @__PURE__ */ require("../_virtual/_rolldown/runtime.cjs").__exportAll({
6
4
  isCloudMetadata: () => isCloudMetadata,
7
5
  isLocalhost: () => isLocalhost,
8
6
  isPrivateIp: () => isPrivateIp,
@@ -252,18 +250,18 @@ function isSameOrigin(url1, url2) {
252
250
  return false;
253
251
  }
254
252
  }
255
-
256
253
  //#endregion
257
254
  exports.isCloudMetadata = isCloudMetadata;
258
255
  exports.isLocalhost = isLocalhost;
259
256
  exports.isPrivateIp = isPrivateIp;
260
257
  exports.isSafeUrl = isSafeUrl;
261
258
  exports.isSameOrigin = isSameOrigin;
262
- Object.defineProperty(exports, 'ssrf_exports', {
263
- enumerable: true,
264
- get: function () {
265
- return ssrf_exports;
266
- }
259
+ Object.defineProperty(exports, "ssrf_exports", {
260
+ enumerable: true,
261
+ get: function() {
262
+ return ssrf_exports;
263
+ }
267
264
  });
268
265
  exports.validateSafeUrl = validateSafeUrl;
266
+
269
267
  //# sourceMappingURL=ssrf.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ssrf.cjs","names":[],"sources":["../../src/utils/ssrf.ts"],"sourcesContent":["// Private IP ranges (RFC 1918, loopback, link-local, etc.)\nconst PRIVATE_IP_RANGES = [\n \"10.0.0.0/8\",\n \"172.16.0.0/12\",\n \"192.168.0.0/16\",\n \"127.0.0.0/8\",\n \"169.254.0.0/16\",\n \"0.0.0.0/8\",\n \"::1/128\",\n \"fc00::/7\",\n \"fe80::/10\",\n \"ff00::/8\",\n];\n\n// Cloud metadata IPs\nconst CLOUD_METADATA_IPS = [\n \"169.254.169.254\",\n \"169.254.170.2\",\n \"100.100.100.200\",\n];\n\n// Cloud metadata hostnames (case-insensitive)\nconst CLOUD_METADATA_HOSTNAMES = [\n \"metadata.google.internal\",\n \"metadata\",\n \"instance-data\",\n];\n\n// Localhost variations\nconst LOCALHOST_NAMES = [\"localhost\", \"localhost.localdomain\"];\n\n/**\n * IPv4 regex: four octets 0-255\n */\nconst IPV4_REGEX =\n /^(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)$/;\n\n/**\n * Check if a string is a valid IPv4 address.\n */\nfunction isIPv4(ip: string): boolean {\n return IPV4_REGEX.test(ip);\n}\n\n/**\n * Check if a string is a valid IPv6 address.\n * Uses expandIpv6 for validation.\n */\nfunction isIPv6(ip: string): boolean {\n return expandIpv6(ip) !== null;\n}\n\n/**\n * Check if a string is a valid IP address (IPv4 or IPv6).\n */\nfunction isIP(ip: string): boolean {\n return isIPv4(ip) || isIPv6(ip);\n}\n\n/**\n * Parse an IP address string to an array of integers (for IPv4) or an array of 16-bit values (for IPv6)\n * Returns null if the IP is invalid.\n */\nfunction parseIp(ip: string): number[] | null {\n if (isIPv4(ip)) {\n return ip.split(\".\").map((octet) => parseInt(octet, 10));\n } else if (isIPv6(ip)) {\n // Normalize IPv6\n const expanded = expandIpv6(ip);\n if (!expanded) return null;\n const parts = expanded.split(\":\");\n const result: number[] = [];\n for (const part of parts) {\n result.push(parseInt(part, 16));\n }\n return result;\n }\n return null;\n}\n\n/**\n * Expand compressed IPv6 address to full form.\n */\nfunction expandIpv6(ip: string): string | null {\n // Basic structural validation\n if (!ip || typeof ip !== \"string\") return null;\n\n // Must contain at least one colon\n if (!ip.includes(\":\")) return null;\n\n // Check for invalid characters\n if (!/^[0-9a-fA-F:]+$/.test(ip)) return null;\n\n let normalized = ip;\n\n // Handle :: compression\n if (normalized.includes(\"::\")) {\n const parts = normalized.split(\"::\");\n if (parts.length > 2) return null; // Multiple :: is invalid\n\n const [left, right] = parts;\n const leftParts = left ? left.split(\":\") : [];\n const rightParts = right ? right.split(\":\") : [];\n const missing = 8 - (leftParts.length + rightParts.length);\n\n if (missing < 0) return null;\n\n const zeros = Array(missing).fill(\"0\");\n normalized = [...leftParts, ...zeros, ...rightParts]\n .filter((p) => p !== \"\")\n .join(\":\");\n }\n\n const parts = normalized.split(\":\");\n if (parts.length !== 8) return null;\n\n // Validate each part is a valid hex group (1-4 chars)\n for (const part of parts) {\n if (part.length === 0 || part.length > 4) return null;\n if (!/^[0-9a-fA-F]+$/.test(part)) return null;\n }\n\n return parts.map((p) => p.padStart(4, \"0\").toLowerCase()).join(\":\");\n}\n\n/**\n * Parse CIDR notation (e.g., \"192.168.0.0/24\") into network address and prefix length.\n */\nfunction parseCidr(\n cidr: string\n): { addr: number[]; prefixLen: number; isIpv6: boolean } | null {\n const [addrStr, prefixStr] = cidr.split(\"/\");\n if (!addrStr || !prefixStr) {\n return null;\n }\n\n const addr = parseIp(addrStr);\n if (!addr) {\n return null;\n }\n\n const prefixLen = parseInt(prefixStr, 10);\n if (isNaN(prefixLen)) {\n return null;\n }\n\n const isIpv6 = isIPv6(addrStr);\n\n if (isIpv6 && prefixLen > 128) {\n return null;\n }\n if (!isIpv6 && prefixLen > 32) {\n return null;\n }\n\n return { addr, prefixLen, isIpv6 };\n}\n\n/**\n * Check if an IP address is in a given CIDR range.\n */\nfunction isIpInCidr(ip: string, cidr: string): boolean {\n const ipParsed = parseIp(ip);\n if (!ipParsed) {\n return false;\n }\n\n const cidrParsed = parseCidr(cidr);\n if (!cidrParsed) {\n return false;\n }\n\n // Check IPv4 vs IPv6 mismatch\n const isIpv6 = isIPv6(ip);\n if (isIpv6 !== cidrParsed.isIpv6) {\n return false;\n }\n\n const { addr: cidrAddr, prefixLen } = cidrParsed;\n\n // Convert to bits and compare\n if (isIpv6) {\n // IPv6: each element is 16 bits\n for (let i = 0; i < Math.ceil(prefixLen / 16); i++) {\n const bitsToCheck = Math.min(16, prefixLen - i * 16);\n const mask = (0xffff << (16 - bitsToCheck)) & 0xffff;\n if ((ipParsed[i] & mask) !== (cidrAddr[i] & mask)) {\n return false;\n }\n }\n } else {\n // IPv4: each element is 8 bits\n for (let i = 0; i < Math.ceil(prefixLen / 8); i++) {\n const bitsToCheck = Math.min(8, prefixLen - i * 8);\n const mask = (0xff << (8 - bitsToCheck)) & 0xff;\n if ((ipParsed[i] & mask) !== (cidrAddr[i] & mask)) {\n return false;\n }\n }\n }\n\n return true;\n}\n\n/**\n * Check if an IP address is private (RFC 1918, loopback, link-local, etc.)\n */\nexport function isPrivateIp(ip: string): boolean {\n // Validate it's a proper IP\n if (!isIP(ip)) {\n return false;\n }\n\n for (const range of PRIVATE_IP_RANGES) {\n if (isIpInCidr(ip, range)) {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * Check if a hostname or IP is a known cloud metadata endpoint.\n */\nexport function isCloudMetadata(hostname: string, ip?: string): boolean {\n // Check if it's a known metadata IP\n if (CLOUD_METADATA_IPS.includes(ip || \"\")) {\n return true;\n }\n\n // Check if hostname matches (case-insensitive)\n const lowerHostname = hostname.toLowerCase();\n if (CLOUD_METADATA_HOSTNAMES.includes(lowerHostname)) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Check if a hostname or IP is localhost.\n */\nexport function isLocalhost(hostname: string, ip?: string): boolean {\n // Check if it's a localhost IP\n if (ip) {\n // Check for typical localhost IPs (loopback range)\n if (ip === \"127.0.0.1\" || ip === \"::1\" || ip === \"0.0.0.0\") {\n return true;\n }\n // Check if IP starts with 127. (entire loopback range)\n if (ip.startsWith(\"127.\")) {\n return true;\n }\n }\n\n // Check if hostname is localhost\n const lowerHostname = hostname.toLowerCase();\n if (LOCALHOST_NAMES.includes(lowerHostname)) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Validate that a URL is safe to connect to.\n * Performs static validation checks against hostnames and direct IP addresses.\n * Does not perform DNS resolution.\n *\n * @param url URL to validate\n * @param options.allowPrivate Allow private IPs (default: false)\n * @param options.allowHttp Allow http:// scheme (default: false)\n * @returns The validated URL\n * @throws Error if URL is not safe\n */\nexport function validateSafeUrl(\n url: string,\n options?: { allowPrivate?: boolean; allowHttp?: boolean }\n): string {\n const allowPrivate = options?.allowPrivate ?? false;\n const allowHttp = options?.allowHttp ?? false;\n\n try {\n let parsedUrl: URL;\n try {\n parsedUrl = new URL(url);\n } catch {\n throw new Error(`Invalid URL: ${url}`);\n }\n\n const hostname = parsedUrl.hostname;\n if (!hostname) {\n throw new Error(\"URL missing hostname.\");\n }\n\n // Check if it's a cloud metadata endpoint (always blocked)\n if (isCloudMetadata(hostname)) {\n throw new Error(`URL points to cloud metadata endpoint: ${hostname}`);\n }\n\n // Check if it's localhost (blocked unless allowPrivate is true)\n if (isLocalhost(hostname)) {\n if (!allowPrivate) {\n throw new Error(`URL points to localhost: ${hostname}`);\n }\n return url;\n }\n\n // Check scheme (after localhost checks to give better error messages)\n const scheme = parsedUrl.protocol;\n if (scheme !== \"http:\" && scheme !== \"https:\") {\n throw new Error(\n `Invalid URL scheme: ${scheme}. Only http and https are allowed.`\n );\n }\n\n if (scheme === \"http:\" && !allowHttp) {\n throw new Error(\n \"HTTP scheme not allowed. Use HTTPS or set allowHttp: true.\"\n );\n }\n\n // If hostname is already an IP, validate it directly\n if (isIP(hostname)) {\n const ip = hostname;\n\n // Check if it's localhost first (before private IP check)\n if (isLocalhost(hostname, ip)) {\n if (!allowPrivate) {\n throw new Error(`URL points to localhost: ${hostname}`);\n }\n return url;\n }\n\n // Cloud metadata is always blocked\n if (isCloudMetadata(hostname, ip)) {\n throw new Error(\n `URL resolves to cloud metadata IP: ${ip} (${hostname})`\n );\n }\n\n // Check private IPs\n if (isPrivateIp(ip)) {\n if (!allowPrivate) {\n throw new Error(\n `URL resolves to private IP: ${ip} (${hostname}). Set allowPrivate: true to allow.`\n );\n }\n }\n\n return url;\n }\n\n // For regular hostnames, we've already done all hostname-based checks above\n // (cloud metadata, localhost). If those passed, the URL is safe.\n // We don't perform DNS resolution in this environment-agnostic function.\n return url;\n } catch (error) {\n if (error && typeof error === \"object\" && \"message\" in error) {\n throw error;\n }\n throw new Error(`URL validation failed: ${error}`);\n }\n}\n\n/**\n * Check if a URL is safe to connect to (non-throwing version).\n *\n * @param url URL to check\n * @param options.allowPrivate Allow private IPs (default: false)\n * @param options.allowHttp Allow http:// scheme (default: false)\n * @returns true if URL is safe, false otherwise\n */\nexport function isSafeUrl(\n url: string,\n options?: { allowPrivate?: boolean; allowHttp?: boolean }\n): boolean {\n try {\n validateSafeUrl(url, options);\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Check if two URLs have the same origin (scheme, host, port).\n * Uses semantic URL parsing to prevent SSRF bypasses via URL variations.\n *\n * @param url1 First URL\n * @param url2 Second URL\n * @returns true if both URLs have the same origin, false otherwise\n */\nexport function isSameOrigin(url1: string, url2: string): boolean {\n try {\n return new URL(url1).origin === new URL(url2).origin;\n } catch {\n return false;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ssrf.cjs","names":[],"sources":["../../src/utils/ssrf.ts"],"sourcesContent":["// Private IP ranges (RFC 1918, loopback, link-local, etc.)\nconst PRIVATE_IP_RANGES = [\n \"10.0.0.0/8\",\n \"172.16.0.0/12\",\n \"192.168.0.0/16\",\n \"127.0.0.0/8\",\n \"169.254.0.0/16\",\n \"0.0.0.0/8\",\n \"::1/128\",\n \"fc00::/7\",\n \"fe80::/10\",\n \"ff00::/8\",\n];\n\n// Cloud metadata IPs\nconst CLOUD_METADATA_IPS = [\n \"169.254.169.254\",\n \"169.254.170.2\",\n \"100.100.100.200\",\n];\n\n// Cloud metadata hostnames (case-insensitive)\nconst CLOUD_METADATA_HOSTNAMES = [\n \"metadata.google.internal\",\n \"metadata\",\n \"instance-data\",\n];\n\n// Localhost variations\nconst LOCALHOST_NAMES = [\"localhost\", \"localhost.localdomain\"];\n\n/**\n * IPv4 regex: four octets 0-255\n */\nconst IPV4_REGEX =\n /^(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)$/;\n\n/**\n * Check if a string is a valid IPv4 address.\n */\nfunction isIPv4(ip: string): boolean {\n return IPV4_REGEX.test(ip);\n}\n\n/**\n * Check if a string is a valid IPv6 address.\n * Uses expandIpv6 for validation.\n */\nfunction isIPv6(ip: string): boolean {\n return expandIpv6(ip) !== null;\n}\n\n/**\n * Check if a string is a valid IP address (IPv4 or IPv6).\n */\nfunction isIP(ip: string): boolean {\n return isIPv4(ip) || isIPv6(ip);\n}\n\n/**\n * Parse an IP address string to an array of integers (for IPv4) or an array of 16-bit values (for IPv6)\n * Returns null if the IP is invalid.\n */\nfunction parseIp(ip: string): number[] | null {\n if (isIPv4(ip)) {\n return ip.split(\".\").map((octet) => parseInt(octet, 10));\n } else if (isIPv6(ip)) {\n // Normalize IPv6\n const expanded = expandIpv6(ip);\n if (!expanded) return null;\n const parts = expanded.split(\":\");\n const result: number[] = [];\n for (const part of parts) {\n result.push(parseInt(part, 16));\n }\n return result;\n }\n return null;\n}\n\n/**\n * Expand compressed IPv6 address to full form.\n */\nfunction expandIpv6(ip: string): string | null {\n // Basic structural validation\n if (!ip || typeof ip !== \"string\") return null;\n\n // Must contain at least one colon\n if (!ip.includes(\":\")) return null;\n\n // Check for invalid characters\n if (!/^[0-9a-fA-F:]+$/.test(ip)) return null;\n\n let normalized = ip;\n\n // Handle :: compression\n if (normalized.includes(\"::\")) {\n const parts = normalized.split(\"::\");\n if (parts.length > 2) return null; // Multiple :: is invalid\n\n const [left, right] = parts;\n const leftParts = left ? left.split(\":\") : [];\n const rightParts = right ? right.split(\":\") : [];\n const missing = 8 - (leftParts.length + rightParts.length);\n\n if (missing < 0) return null;\n\n const zeros = Array(missing).fill(\"0\");\n normalized = [...leftParts, ...zeros, ...rightParts]\n .filter((p) => p !== \"\")\n .join(\":\");\n }\n\n const parts = normalized.split(\":\");\n if (parts.length !== 8) return null;\n\n // Validate each part is a valid hex group (1-4 chars)\n for (const part of parts) {\n if (part.length === 0 || part.length > 4) return null;\n if (!/^[0-9a-fA-F]+$/.test(part)) return null;\n }\n\n return parts.map((p) => p.padStart(4, \"0\").toLowerCase()).join(\":\");\n}\n\n/**\n * Parse CIDR notation (e.g., \"192.168.0.0/24\") into network address and prefix length.\n */\nfunction parseCidr(\n cidr: string\n): { addr: number[]; prefixLen: number; isIpv6: boolean } | null {\n const [addrStr, prefixStr] = cidr.split(\"/\");\n if (!addrStr || !prefixStr) {\n return null;\n }\n\n const addr = parseIp(addrStr);\n if (!addr) {\n return null;\n }\n\n const prefixLen = parseInt(prefixStr, 10);\n if (isNaN(prefixLen)) {\n return null;\n }\n\n const isIpv6 = isIPv6(addrStr);\n\n if (isIpv6 && prefixLen > 128) {\n return null;\n }\n if (!isIpv6 && prefixLen > 32) {\n return null;\n }\n\n return { addr, prefixLen, isIpv6 };\n}\n\n/**\n * Check if an IP address is in a given CIDR range.\n */\nfunction isIpInCidr(ip: string, cidr: string): boolean {\n const ipParsed = parseIp(ip);\n if (!ipParsed) {\n return false;\n }\n\n const cidrParsed = parseCidr(cidr);\n if (!cidrParsed) {\n return false;\n }\n\n // Check IPv4 vs IPv6 mismatch\n const isIpv6 = isIPv6(ip);\n if (isIpv6 !== cidrParsed.isIpv6) {\n return false;\n }\n\n const { addr: cidrAddr, prefixLen } = cidrParsed;\n\n // Convert to bits and compare\n if (isIpv6) {\n // IPv6: each element is 16 bits\n for (let i = 0; i < Math.ceil(prefixLen / 16); i++) {\n const bitsToCheck = Math.min(16, prefixLen - i * 16);\n const mask = (0xffff << (16 - bitsToCheck)) & 0xffff;\n if ((ipParsed[i] & mask) !== (cidrAddr[i] & mask)) {\n return false;\n }\n }\n } else {\n // IPv4: each element is 8 bits\n for (let i = 0; i < Math.ceil(prefixLen / 8); i++) {\n const bitsToCheck = Math.min(8, prefixLen - i * 8);\n const mask = (0xff << (8 - bitsToCheck)) & 0xff;\n if ((ipParsed[i] & mask) !== (cidrAddr[i] & mask)) {\n return false;\n }\n }\n }\n\n return true;\n}\n\n/**\n * Check if an IP address is private (RFC 1918, loopback, link-local, etc.)\n */\nexport function isPrivateIp(ip: string): boolean {\n // Validate it's a proper IP\n if (!isIP(ip)) {\n return false;\n }\n\n for (const range of PRIVATE_IP_RANGES) {\n if (isIpInCidr(ip, range)) {\n return true;\n }\n }\n\n return false;\n}\n\n/**\n * Check if a hostname or IP is a known cloud metadata endpoint.\n */\nexport function isCloudMetadata(hostname: string, ip?: string): boolean {\n // Check if it's a known metadata IP\n if (CLOUD_METADATA_IPS.includes(ip || \"\")) {\n return true;\n }\n\n // Check if hostname matches (case-insensitive)\n const lowerHostname = hostname.toLowerCase();\n if (CLOUD_METADATA_HOSTNAMES.includes(lowerHostname)) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Check if a hostname or IP is localhost.\n */\nexport function isLocalhost(hostname: string, ip?: string): boolean {\n // Check if it's a localhost IP\n if (ip) {\n // Check for typical localhost IPs (loopback range)\n if (ip === \"127.0.0.1\" || ip === \"::1\" || ip === \"0.0.0.0\") {\n return true;\n }\n // Check if IP starts with 127. (entire loopback range)\n if (ip.startsWith(\"127.\")) {\n return true;\n }\n }\n\n // Check if hostname is localhost\n const lowerHostname = hostname.toLowerCase();\n if (LOCALHOST_NAMES.includes(lowerHostname)) {\n return true;\n }\n\n return false;\n}\n\n/**\n * Validate that a URL is safe to connect to.\n * Performs static validation checks against hostnames and direct IP addresses.\n * Does not perform DNS resolution.\n *\n * @param url URL to validate\n * @param options.allowPrivate Allow private IPs (default: false)\n * @param options.allowHttp Allow http:// scheme (default: false)\n * @returns The validated URL\n * @throws Error if URL is not safe\n */\nexport function validateSafeUrl(\n url: string,\n options?: { allowPrivate?: boolean; allowHttp?: boolean }\n): string {\n const allowPrivate = options?.allowPrivate ?? false;\n const allowHttp = options?.allowHttp ?? false;\n\n try {\n let parsedUrl: URL;\n try {\n parsedUrl = new URL(url);\n } catch {\n throw new Error(`Invalid URL: ${url}`);\n }\n\n const hostname = parsedUrl.hostname;\n if (!hostname) {\n throw new Error(\"URL missing hostname.\");\n }\n\n // Check if it's a cloud metadata endpoint (always blocked)\n if (isCloudMetadata(hostname)) {\n throw new Error(`URL points to cloud metadata endpoint: ${hostname}`);\n }\n\n // Check if it's localhost (blocked unless allowPrivate is true)\n if (isLocalhost(hostname)) {\n if (!allowPrivate) {\n throw new Error(`URL points to localhost: ${hostname}`);\n }\n return url;\n }\n\n // Check scheme (after localhost checks to give better error messages)\n const scheme = parsedUrl.protocol;\n if (scheme !== \"http:\" && scheme !== \"https:\") {\n throw new Error(\n `Invalid URL scheme: ${scheme}. Only http and https are allowed.`\n );\n }\n\n if (scheme === \"http:\" && !allowHttp) {\n throw new Error(\n \"HTTP scheme not allowed. Use HTTPS or set allowHttp: true.\"\n );\n }\n\n // If hostname is already an IP, validate it directly\n if (isIP(hostname)) {\n const ip = hostname;\n\n // Check if it's localhost first (before private IP check)\n if (isLocalhost(hostname, ip)) {\n if (!allowPrivate) {\n throw new Error(`URL points to localhost: ${hostname}`);\n }\n return url;\n }\n\n // Cloud metadata is always blocked\n if (isCloudMetadata(hostname, ip)) {\n throw new Error(\n `URL resolves to cloud metadata IP: ${ip} (${hostname})`\n );\n }\n\n // Check private IPs\n if (isPrivateIp(ip)) {\n if (!allowPrivate) {\n throw new Error(\n `URL resolves to private IP: ${ip} (${hostname}). Set allowPrivate: true to allow.`\n );\n }\n }\n\n return url;\n }\n\n // For regular hostnames, we've already done all hostname-based checks above\n // (cloud metadata, localhost). If those passed, the URL is safe.\n // We don't perform DNS resolution in this environment-agnostic function.\n return url;\n } catch (error) {\n if (error && typeof error === \"object\" && \"message\" in error) {\n throw error;\n }\n throw new Error(`URL validation failed: ${error}`);\n }\n}\n\n/**\n * Check if a URL is safe to connect to (non-throwing version).\n *\n * @param url URL to check\n * @param options.allowPrivate Allow private IPs (default: false)\n * @param options.allowHttp Allow http:// scheme (default: false)\n * @returns true if URL is safe, false otherwise\n */\nexport function isSafeUrl(\n url: string,\n options?: { allowPrivate?: boolean; allowHttp?: boolean }\n): boolean {\n try {\n validateSafeUrl(url, options);\n return true;\n } catch {\n return false;\n }\n}\n\n/**\n * Check if two URLs have the same origin (scheme, host, port).\n * Uses semantic URL parsing to prevent SSRF bypasses via URL variations.\n *\n * @param url1 First URL\n * @param url2 Second URL\n * @returns true if both URLs have the same origin, false otherwise\n */\nexport function isSameOrigin(url1: string, url2: string): boolean {\n try {\n return new URL(url1).origin === new URL(url2).origin;\n } catch {\n return false;\n }\n}\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.js";
2
-
3
2
  //#region src/utils/ssrf.ts
4
3
  var ssrf_exports = /* @__PURE__ */ __exportAll({
5
4
  isCloudMetadata: () => isCloudMetadata,
@@ -251,7 +250,7 @@ function isSameOrigin(url1, url2) {
251
250
  return false;
252
251
  }
253
252
  }
254
-
255
253
  //#endregion
256
254
  export { isCloudMetadata, isLocalhost, isPrivateIp, isSafeUrl, isSameOrigin, ssrf_exports, validateSafeUrl };
255
+
257
256
  //# sourceMappingURL=ssrf.js.map