langchain 0.0.4 → 0.0.6

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 (387) hide show
  1. package/README.md +33 -0
  2. package/agents.d.ts +1 -0
  3. package/agents.js +1 -0
  4. package/chains.d.ts +1 -0
  5. package/chains.js +1 -0
  6. package/dist/agents/agent.d.ts +96 -0
  7. package/dist/agents/agent.js +151 -0
  8. package/dist/agents/agent.js.map +1 -0
  9. package/dist/{esm/agents → agents}/executor.d.ts +5 -0
  10. package/dist/agents/executor.js +99 -0
  11. package/dist/agents/executor.js.map +1 -0
  12. package/dist/{cjs/agents → agents}/helpers.d.ts +0 -0
  13. package/dist/agents/helpers.js +21 -0
  14. package/dist/agents/helpers.js.map +1 -0
  15. package/dist/{cjs/agents → agents}/index.d.ts +1 -0
  16. package/dist/{cjs/agents → agents}/index.js +5 -1
  17. package/dist/agents/index.js.map +1 -0
  18. package/dist/agents/initialize.d.ts +4 -0
  19. package/dist/agents/initialize.js +19 -0
  20. package/dist/agents/initialize.js.map +1 -0
  21. package/dist/{cjs/agents → agents}/load.d.ts +0 -0
  22. package/dist/agents/load.js +19 -0
  23. package/dist/agents/load.js.map +1 -0
  24. package/dist/{esm/agents → agents}/mrkl/index.d.ts +18 -1
  25. package/dist/{cjs/agents → agents}/mrkl/index.js +26 -34
  26. package/dist/agents/mrkl/index.js.map +1 -0
  27. package/dist/{cjs/agents → agents}/mrkl/prompt.d.ts +0 -0
  28. package/dist/{cjs/agents → agents}/mrkl/prompt.js +0 -1
  29. package/dist/agents/mrkl/prompt.js.map +1 -0
  30. package/dist/{cjs/agents → agents}/tests/agent.test.d.ts +0 -0
  31. package/dist/agents/tests/agent.test.js +35 -0
  32. package/dist/agents/tests/agent.test.js.map +1 -0
  33. package/dist/{cjs/chains/tests/llm_chain.test.d.ts → agents/tests/calculator.test.d.ts} +0 -0
  34. package/dist/agents/tests/calculator.test.js +30 -0
  35. package/dist/agents/tests/calculator.test.js.map +1 -0
  36. package/dist/agents/tools/base.d.ts +6 -0
  37. package/dist/agents/tools/base.js +15 -0
  38. package/dist/agents/tools/base.js.map +1 -0
  39. package/dist/agents/tools/calculator.d.ts +6 -0
  40. package/dist/agents/tools/calculator.js +33 -0
  41. package/dist/agents/tools/calculator.js.map +1 -0
  42. package/dist/agents/tools/index.d.ts +3 -0
  43. package/dist/agents/tools/index.js +10 -0
  44. package/dist/agents/tools/index.js.map +1 -0
  45. package/dist/{cjs/agents → agents}/tools/llm-math.d.ts +0 -0
  46. package/dist/{cjs/agents → agents}/tools/llm-math.js +0 -0
  47. package/dist/{cjs/agents → agents}/tools/llm-math.js.map +1 -1
  48. package/dist/agents/tools/serpapi.d.ts +18 -0
  49. package/dist/agents/tools/serpapi.js +93 -0
  50. package/dist/agents/tools/serpapi.js.map +1 -0
  51. package/dist/{cjs/agents → agents}/types.d.ts +0 -0
  52. package/dist/{cjs/agents → agents}/types.js +0 -0
  53. package/dist/{cjs/agents → agents}/types.js.map +1 -1
  54. package/dist/{cjs/cache.d.ts → cache.d.ts} +0 -0
  55. package/dist/{cjs/cache.js → cache.js} +0 -0
  56. package/dist/cache.js.map +1 -0
  57. package/dist/chains/base.d.ts +42 -0
  58. package/dist/chains/base.js +67 -0
  59. package/dist/chains/base.js.map +1 -0
  60. package/dist/chains/chat_vector_db_chain.d.ts +41 -0
  61. package/dist/chains/chat_vector_db_chain.js +146 -0
  62. package/dist/chains/chat_vector_db_chain.js.map +1 -0
  63. package/dist/chains/combine_docs_chain.d.ts +35 -0
  64. package/dist/chains/combine_docs_chain.js +75 -0
  65. package/dist/chains/combine_docs_chain.js.map +1 -0
  66. package/dist/chains/conversation.d.ts +12 -0
  67. package/dist/chains/conversation.js +29 -0
  68. package/dist/chains/conversation.js.map +1 -0
  69. package/dist/chains/index.d.ts +7 -0
  70. package/dist/chains/index.js +19 -0
  71. package/dist/chains/index.js.map +1 -0
  72. package/dist/{cjs/chains → chains}/llm_chain.d.ts +36 -1
  73. package/dist/chains/llm_chain.js +115 -0
  74. package/dist/chains/llm_chain.js.map +1 -0
  75. package/dist/chains/load.d.ts +21 -0
  76. package/dist/chains/load.js +37 -0
  77. package/dist/chains/load.js.map +1 -0
  78. package/dist/chains/question_answering/load.d.ts +3 -0
  79. package/dist/chains/question_answering/load.js +13 -0
  80. package/dist/chains/question_answering/load.js.map +1 -0
  81. package/dist/chains/question_answering/stuff_prompts.d.ts +2 -0
  82. package/dist/chains/question_answering/stuff_prompts.js +10 -0
  83. package/dist/chains/question_answering/stuff_prompts.js.map +1 -0
  84. package/dist/{cjs/prompt → chains/question_answering}/tests/load.test.d.ts +0 -0
  85. package/dist/chains/question_answering/tests/load.test.js +18 -0
  86. package/dist/chains/question_answering/tests/load.test.js.map +1 -0
  87. package/dist/{cjs/llms/tests/openai.test.d.ts → chains/tests/chat_vector_db_qa_chain.test.d.ts} +0 -0
  88. package/dist/chains/tests/chat_vector_db_qa_chain.test.js +35 -0
  89. package/dist/chains/tests/chat_vector_db_qa_chain.test.js.map +1 -0
  90. package/dist/{cjs/prompt/tests/template.test.d.ts → chains/tests/combine_docs_chain.test.d.ts} +0 -0
  91. package/dist/chains/tests/combine_docs_chain.test.js +39 -0
  92. package/dist/chains/tests/combine_docs_chain.test.js.map +1 -0
  93. package/dist/{esm/chains → chains}/tests/llm_chain.test.d.ts +0 -0
  94. package/dist/chains/tests/llm_chain.test.js +29 -0
  95. package/dist/chains/tests/llm_chain.test.js.map +1 -0
  96. package/dist/{esm/agents/tests/agent.test.d.ts → chains/tests/vector_db_qa_chain.test.d.ts} +0 -0
  97. package/dist/chains/tests/vector_db_qa_chain.test.js +46 -0
  98. package/dist/chains/tests/vector_db_qa_chain.test.js.map +1 -0
  99. package/dist/chains/vector_db_qa.d.ts +36 -0
  100. package/dist/chains/vector_db_qa.js +85 -0
  101. package/dist/chains/vector_db_qa.js.map +1 -0
  102. package/dist/document.d.ts +13 -0
  103. package/dist/document.js +28 -0
  104. package/dist/document.js.map +1 -0
  105. package/dist/embeddings/base.d.ts +4 -0
  106. package/dist/embeddings/base.js +7 -0
  107. package/dist/embeddings/base.js.map +1 -0
  108. package/dist/embeddings/index.d.ts +1 -0
  109. package/dist/embeddings/index.js +6 -0
  110. package/dist/embeddings/index.js.map +1 -0
  111. package/dist/embeddings/openai.d.ts +20 -0
  112. package/dist/embeddings/openai.js +86 -0
  113. package/dist/embeddings/openai.js.map +1 -0
  114. package/dist/{esm/llms → embeddings}/tests/openai.test.d.ts +0 -0
  115. package/dist/embeddings/tests/openai.test.js +17 -0
  116. package/dist/embeddings/tests/openai.test.js.map +1 -0
  117. package/dist/{cjs/index.d.ts → index.d.ts} +1 -1
  118. package/dist/{cjs/index.js → index.js} +4 -4
  119. package/dist/index.js.map +1 -0
  120. package/dist/llms/base.d.ts +64 -0
  121. package/dist/llms/base.js +164 -0
  122. package/dist/llms/base.js.map +1 -0
  123. package/dist/llms/cohere.d.ts +24 -0
  124. package/dist/llms/cohere.js +55 -0
  125. package/dist/llms/cohere.js.map +1 -0
  126. package/dist/{esm/llms → llms}/index.d.ts +20 -0
  127. package/dist/{cjs/llms → llms}/index.js +3 -1
  128. package/dist/llms/index.js.map +1 -0
  129. package/dist/llms/load.d.ts +11 -0
  130. package/dist/llms/load.js +17 -0
  131. package/dist/llms/load.js.map +1 -0
  132. package/dist/llms/openai.d.ts +125 -0
  133. package/dist/{cjs/llms → llms}/openai.js +96 -58
  134. package/dist/llms/openai.js.map +1 -0
  135. package/dist/{esm/prompt/tests/load.test.d.ts → llms/tests/cohere.test.d.ts} +0 -0
  136. package/dist/llms/tests/cohere.test.js +10 -0
  137. package/dist/llms/tests/cohere.test.js.map +1 -0
  138. package/dist/{esm/prompt/tests/template.test.d.ts → llms/tests/openai.test.d.ts} +0 -0
  139. package/dist/llms/tests/openai.test.js +10 -0
  140. package/dist/llms/tests/openai.test.js.map +1 -0
  141. package/dist/memory/base.d.ts +7 -0
  142. package/dist/memory/base.js +7 -0
  143. package/dist/memory/base.js.map +1 -0
  144. package/dist/memory/buffer_memory.d.ts +15 -0
  145. package/dist/memory/buffer_memory.js +57 -0
  146. package/dist/memory/buffer_memory.js.map +1 -0
  147. package/dist/memory/index.d.ts +2 -0
  148. package/dist/memory/index.js +8 -0
  149. package/dist/memory/index.js.map +1 -0
  150. package/dist/memory/tests/buffer_memory.test.d.ts +1 -0
  151. package/dist/memory/tests/buffer_memory.test.js +17 -0
  152. package/dist/memory/tests/buffer_memory.test.js.map +1 -0
  153. package/dist/prompts/base.d.ts +58 -0
  154. package/dist/prompts/base.js +53 -0
  155. package/dist/prompts/base.js.map +1 -0
  156. package/dist/{esm/prompt → prompts}/few_shot.d.ts +36 -1
  157. package/dist/{cjs/prompt → prompts}/few_shot.js +27 -33
  158. package/dist/prompts/few_shot.js.map +1 -0
  159. package/dist/{cjs/prompt → prompts}/index.d.ts +1 -0
  160. package/dist/{cjs/prompt → prompts}/index.js +3 -1
  161. package/dist/prompts/index.js.map +1 -0
  162. package/dist/prompts/load.d.ts +19 -0
  163. package/dist/prompts/load.js +33 -0
  164. package/dist/prompts/load.js.map +1 -0
  165. package/dist/{cjs/prompt → prompts}/parser.d.ts +30 -0
  166. package/dist/{cjs/prompt → prompts}/parser.js +21 -0
  167. package/dist/prompts/parser.js.map +1 -0
  168. package/dist/prompts/prompt.d.ts +76 -0
  169. package/dist/{cjs/prompt → prompts}/prompt.js +38 -18
  170. package/dist/prompts/prompt.js.map +1 -0
  171. package/dist/{cjs/prompt → prompts}/template.d.ts +0 -0
  172. package/dist/{cjs/prompt → prompts}/template.js +0 -0
  173. package/dist/prompts/template.js.map +1 -0
  174. package/dist/prompts/tests/load.test.d.ts +1 -0
  175. package/dist/prompts/tests/load.test.js +21 -0
  176. package/dist/prompts/tests/load.test.js.map +1 -0
  177. package/dist/prompts/tests/template.test.d.ts +1 -0
  178. package/dist/{cjs/prompt → prompts}/tests/template.test.js +0 -0
  179. package/dist/prompts/tests/template.test.js.map +1 -0
  180. package/dist/text_splitter.d.ts +32 -0
  181. package/dist/text_splitter.js +167 -0
  182. package/dist/text_splitter.js.map +1 -0
  183. package/dist/util/hub.d.ts +2 -0
  184. package/dist/{cjs/util → util}/hub.js +5 -14
  185. package/dist/util/hub.js.map +1 -0
  186. package/dist/{esm/util → util}/index.d.ts +1 -0
  187. package/dist/{cjs/util → util}/index.js +13 -25
  188. package/dist/util/index.js.map +1 -0
  189. package/dist/vectorstores/base.d.ts +18 -0
  190. package/dist/vectorstores/base.js +38 -0
  191. package/dist/vectorstores/base.js.map +1 -0
  192. package/dist/vectorstores/hnswlib.d.ts +19 -0
  193. package/dist/vectorstores/hnswlib.js +129 -0
  194. package/dist/vectorstores/hnswlib.js.map +1 -0
  195. package/dist/vectorstores/index.d.ts +1 -0
  196. package/dist/vectorstores/index.js +6 -0
  197. package/dist/vectorstores/index.js.map +1 -0
  198. package/dist/vectorstores/tests/hnswlib.test.d.ts +1 -0
  199. package/dist/vectorstores/tests/hnswlib.test.js +44 -0
  200. package/dist/vectorstores/tests/hnswlib.test.js.map +1 -0
  201. package/document.d.ts +1 -0
  202. package/document.js +1 -0
  203. package/embeddings.d.ts +1 -0
  204. package/embeddings.js +1 -0
  205. package/llms.d.ts +1 -0
  206. package/llms.js +1 -0
  207. package/memory.d.ts +1 -0
  208. package/memory.js +1 -0
  209. package/package.json +53 -44
  210. package/prompts.d.ts +1 -0
  211. package/prompts.js +1 -0
  212. package/text_splitter.d.ts +1 -0
  213. package/text_splitter.js +1 -0
  214. package/tools.d.ts +1 -0
  215. package/tools.js +1 -0
  216. package/vectorstores.d.ts +1 -0
  217. package/vectorstores.js +1 -0
  218. package/dist/cjs/agents/agent.d.ts +0 -42
  219. package/dist/cjs/agents/agent.js +0 -129
  220. package/dist/cjs/agents/agent.js.map +0 -1
  221. package/dist/cjs/agents/executor.d.ts +0 -27
  222. package/dist/cjs/agents/executor.js +0 -105
  223. package/dist/cjs/agents/executor.js.map +0 -1
  224. package/dist/cjs/agents/helpers.js +0 -30
  225. package/dist/cjs/agents/helpers.js.map +0 -1
  226. package/dist/cjs/agents/index.js.map +0 -1
  227. package/dist/cjs/agents/load.js +0 -28
  228. package/dist/cjs/agents/load.js.map +0 -1
  229. package/dist/cjs/agents/mrkl/index.d.ts +0 -33
  230. package/dist/cjs/agents/mrkl/index.js.map +0 -1
  231. package/dist/cjs/agents/mrkl/prompt.js.map +0 -1
  232. package/dist/cjs/agents/tests/agent.test.js +0 -31
  233. package/dist/cjs/agents/tests/agent.test.js.map +0 -1
  234. package/dist/cjs/agents/tools/index.d.ts +0 -7
  235. package/dist/cjs/agents/tools/index.js +0 -6
  236. package/dist/cjs/agents/tools/index.js.map +0 -1
  237. package/dist/cjs/agents/tools/serpapi.d.ts +0 -3
  238. package/dist/cjs/agents/tools/serpapi.js +0 -50
  239. package/dist/cjs/agents/tools/serpapi.js.map +0 -1
  240. package/dist/cjs/cache.js.map +0 -1
  241. package/dist/cjs/chains/base.d.ts +0 -12
  242. package/dist/cjs/chains/base.js +0 -23
  243. package/dist/cjs/chains/base.js.map +0 -1
  244. package/dist/cjs/chains/index.d.ts +0 -3
  245. package/dist/cjs/chains/index.js +0 -10
  246. package/dist/cjs/chains/index.js.map +0 -1
  247. package/dist/cjs/chains/llm_chain.js +0 -83
  248. package/dist/cjs/chains/llm_chain.js.map +0 -1
  249. package/dist/cjs/chains/llm_math_chain.d.ts +0 -0
  250. package/dist/cjs/chains/llm_math_chain.js +0 -129
  251. package/dist/cjs/chains/llm_math_chain.js.map +0 -1
  252. package/dist/cjs/chains/load.d.ts +0 -2
  253. package/dist/cjs/chains/load.js +0 -29
  254. package/dist/cjs/chains/load.js.map +0 -1
  255. package/dist/cjs/chains/tests/llm_chain.test.js +0 -32
  256. package/dist/cjs/chains/tests/llm_chain.test.js.map +0 -1
  257. package/dist/cjs/index.js.map +0 -1
  258. package/dist/cjs/llms/base.d.ts +0 -23
  259. package/dist/cjs/llms/base.js +0 -159
  260. package/dist/cjs/llms/base.js.map +0 -1
  261. package/dist/cjs/llms/index.d.ts +0 -18
  262. package/dist/cjs/llms/index.js.map +0 -1
  263. package/dist/cjs/llms/load.d.ts +0 -3
  264. package/dist/cjs/llms/load.js +0 -9
  265. package/dist/cjs/llms/load.js.map +0 -1
  266. package/dist/cjs/llms/openai.d.ts +0 -63
  267. package/dist/cjs/llms/openai.js.map +0 -1
  268. package/dist/cjs/llms/tests/openai.test.js +0 -19
  269. package/dist/cjs/llms/tests/openai.test.js.map +0 -1
  270. package/dist/cjs/prompt/base.d.ts +0 -19
  271. package/dist/cjs/prompt/base.js +0 -54
  272. package/dist/cjs/prompt/base.js.map +0 -1
  273. package/dist/cjs/prompt/few_shot.d.ts +0 -47
  274. package/dist/cjs/prompt/few_shot.js.map +0 -1
  275. package/dist/cjs/prompt/index.js.map +0 -1
  276. package/dist/cjs/prompt/load.d.ts +0 -2
  277. package/dist/cjs/prompt/load.js +0 -25
  278. package/dist/cjs/prompt/load.js.map +0 -1
  279. package/dist/cjs/prompt/parser.js.map +0 -1
  280. package/dist/cjs/prompt/prompt.d.ts +0 -28
  281. package/dist/cjs/prompt/prompt.js.map +0 -1
  282. package/dist/cjs/prompt/template.js.map +0 -1
  283. package/dist/cjs/prompt/tests/load.test.js +0 -30
  284. package/dist/cjs/prompt/tests/load.test.js.map +0 -1
  285. package/dist/cjs/prompt/tests/template.test.js.map +0 -1
  286. package/dist/cjs/util/hub.d.ts +0 -1
  287. package/dist/cjs/util/hub.js.map +0 -1
  288. package/dist/cjs/util/index.d.ts +0 -12
  289. package/dist/cjs/util/index.js.map +0 -1
  290. package/dist/esm/agents/agent.d.ts +0 -42
  291. package/dist/esm/agents/agent.js +0 -124
  292. package/dist/esm/agents/agent.js.map +0 -1
  293. package/dist/esm/agents/executor.js +0 -101
  294. package/dist/esm/agents/executor.js.map +0 -1
  295. package/dist/esm/agents/helpers.d.ts +0 -3
  296. package/dist/esm/agents/helpers.js +0 -26
  297. package/dist/esm/agents/helpers.js.map +0 -1
  298. package/dist/esm/agents/index.d.ts +0 -6
  299. package/dist/esm/agents/index.js +0 -5
  300. package/dist/esm/agents/index.js.map +0 -1
  301. package/dist/esm/agents/load.d.ts +0 -6
  302. package/dist/esm/agents/load.js +0 -24
  303. package/dist/esm/agents/load.js.map +0 -1
  304. package/dist/esm/agents/mrkl/index.js +0 -106
  305. package/dist/esm/agents/mrkl/index.js.map +0 -1
  306. package/dist/esm/agents/mrkl/prompt.d.ts +0 -3
  307. package/dist/esm/agents/mrkl/prompt.js +0 -17
  308. package/dist/esm/agents/mrkl/prompt.js.map +0 -1
  309. package/dist/esm/agents/tests/agent.test.js +0 -29
  310. package/dist/esm/agents/tests/agent.test.js.map +0 -1
  311. package/dist/esm/agents/tools/index.d.ts +0 -7
  312. package/dist/esm/agents/tools/index.js +0 -2
  313. package/dist/esm/agents/tools/index.js.map +0 -1
  314. package/dist/esm/agents/tools/llm-math.d.ts +0 -0
  315. package/dist/esm/agents/tools/llm-math.js +0 -2
  316. package/dist/esm/agents/tools/llm-math.js.map +0 -1
  317. package/dist/esm/agents/tools/serpapi.d.ts +0 -3
  318. package/dist/esm/agents/tools/serpapi.js +0 -46
  319. package/dist/esm/agents/tools/serpapi.js.map +0 -1
  320. package/dist/esm/agents/types.d.ts +0 -25
  321. package/dist/esm/agents/types.js +0 -2
  322. package/dist/esm/agents/types.js.map +0 -1
  323. package/dist/esm/cache.d.ts +0 -11
  324. package/dist/esm/cache.js +0 -22
  325. package/dist/esm/cache.js.map +0 -1
  326. package/dist/esm/chains/base.d.ts +0 -12
  327. package/dist/esm/chains/base.js +0 -19
  328. package/dist/esm/chains/base.js.map +0 -1
  329. package/dist/esm/chains/index.d.ts +0 -3
  330. package/dist/esm/chains/index.js +0 -4
  331. package/dist/esm/chains/index.js.map +0 -1
  332. package/dist/esm/chains/llm_chain.d.ts +0 -30
  333. package/dist/esm/chains/llm_chain.js +0 -79
  334. package/dist/esm/chains/llm_chain.js.map +0 -1
  335. package/dist/esm/chains/llm_math_chain.d.ts +0 -0
  336. package/dist/esm/chains/llm_math_chain.js +0 -129
  337. package/dist/esm/chains/llm_math_chain.js.map +0 -1
  338. package/dist/esm/chains/load.d.ts +0 -2
  339. package/dist/esm/chains/load.js +0 -25
  340. package/dist/esm/chains/load.js.map +0 -1
  341. package/dist/esm/chains/tests/llm_chain.test.js +0 -30
  342. package/dist/esm/chains/tests/llm_chain.test.js.map +0 -1
  343. package/dist/esm/index.d.ts +0 -3
  344. package/dist/esm/index.js +0 -4
  345. package/dist/esm/index.js.map +0 -1
  346. package/dist/esm/llms/base.d.ts +0 -23
  347. package/dist/esm/llms/base.js +0 -154
  348. package/dist/esm/llms/base.js.map +0 -1
  349. package/dist/esm/llms/index.js +0 -4
  350. package/dist/esm/llms/index.js.map +0 -1
  351. package/dist/esm/llms/load.d.ts +0 -3
  352. package/dist/esm/llms/load.js +0 -5
  353. package/dist/esm/llms/load.js.map +0 -1
  354. package/dist/esm/llms/openai.d.ts +0 -63
  355. package/dist/esm/llms/openai.js +0 -198
  356. package/dist/esm/llms/openai.js.map +0 -1
  357. package/dist/esm/llms/tests/openai.test.js +0 -17
  358. package/dist/esm/llms/tests/openai.test.js.map +0 -1
  359. package/dist/esm/prompt/base.d.ts +0 -19
  360. package/dist/esm/prompt/base.js +0 -50
  361. package/dist/esm/prompt/base.js.map +0 -1
  362. package/dist/esm/prompt/few_shot.js +0 -139
  363. package/dist/esm/prompt/few_shot.js.map +0 -1
  364. package/dist/esm/prompt/index.d.ts +0 -3
  365. package/dist/esm/prompt/index.js +0 -4
  366. package/dist/esm/prompt/index.js.map +0 -1
  367. package/dist/esm/prompt/load.d.ts +0 -2
  368. package/dist/esm/prompt/load.js +0 -21
  369. package/dist/esm/prompt/load.js.map +0 -1
  370. package/dist/esm/prompt/parser.d.ts +0 -40
  371. package/dist/esm/prompt/parser.js +0 -86
  372. package/dist/esm/prompt/parser.js.map +0 -1
  373. package/dist/esm/prompt/prompt.d.ts +0 -28
  374. package/dist/esm/prompt/prompt.js +0 -87
  375. package/dist/esm/prompt/prompt.js.map +0 -1
  376. package/dist/esm/prompt/template.d.ts +0 -16
  377. package/dist/esm/prompt/template.js +0 -80
  378. package/dist/esm/prompt/template.js.map +0 -1
  379. package/dist/esm/prompt/tests/load.test.js +0 -25
  380. package/dist/esm/prompt/tests/load.test.js.map +0 -1
  381. package/dist/esm/prompt/tests/template.test.js +0 -25
  382. package/dist/esm/prompt/tests/template.test.js.map +0 -1
  383. package/dist/esm/util/hub.d.ts +0 -1
  384. package/dist/esm/util/hub.js +0 -43
  385. package/dist/esm/util/hub.js.map +0 -1
  386. package/dist/esm/util/index.js +0 -74
  387. package/dist/esm/util/index.js.map +0 -1
@@ -1,28 +0,0 @@
1
- import { BasePromptTemplate, BasePromptTemplateInput, InputValues } from "./index";
2
- import { TemplateFormat } from "./template";
3
- import { SerializedOutputParser } from "./parser";
4
- export type SerializedPromptTemplate = {
5
- _type?: "prompt";
6
- input_variables: string[];
7
- output_parser?: SerializedOutputParser;
8
- template?: string;
9
- template_path?: string;
10
- template_format?: TemplateFormat;
11
- };
12
- export interface PromptTemplateInput extends BasePromptTemplateInput {
13
- template: string;
14
- templateFormat?: TemplateFormat;
15
- validateTemplate?: boolean;
16
- }
17
- export declare class PromptTemplate extends BasePromptTemplate implements PromptTemplateInput {
18
- template: string;
19
- templateFormat: TemplateFormat;
20
- validateTemplate: boolean;
21
- constructor(input: PromptTemplateInput);
22
- _getPromptType(): "prompt";
23
- format(values: InputValues): string;
24
- static fromExamples(examples: string[], suffix: string, inputVariables: string[], exampleSeparator?: string, prefix?: string): PromptTemplate;
25
- static fromTemplate(template: string): PromptTemplate;
26
- serialize(): SerializedPromptTemplate;
27
- static deserialize(data: SerializedPromptTemplate): Promise<PromptTemplate>;
28
- }
@@ -1,87 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { BasePromptTemplate, } from "./index";
11
- import { checkValidTemplate, renderTemplate, parseFString, } from "./template";
12
- import { resolveTemplateFromFile } from "../util";
13
- import { BaseOutputParser } from "./parser";
14
- export class PromptTemplate extends BasePromptTemplate {
15
- constructor(input) {
16
- super(input);
17
- Object.defineProperty(this, "template", {
18
- enumerable: true,
19
- configurable: true,
20
- writable: true,
21
- value: void 0
22
- });
23
- Object.defineProperty(this, "templateFormat", {
24
- enumerable: true,
25
- configurable: true,
26
- writable: true,
27
- value: "f-string"
28
- });
29
- Object.defineProperty(this, "validateTemplate", {
30
- enumerable: true,
31
- configurable: true,
32
- writable: true,
33
- value: true
34
- });
35
- Object.assign(this, input);
36
- if (this.validateTemplate) {
37
- checkValidTemplate(this.template, this.templateFormat, this.inputVariables);
38
- }
39
- }
40
- _getPromptType() {
41
- return "prompt";
42
- }
43
- format(values) {
44
- return renderTemplate(this.template, this.templateFormat, values);
45
- }
46
- static fromExamples(examples, suffix, inputVariables, exampleSeparator = "\n\n", prefix = "") {
47
- const template = [prefix, ...examples, suffix].join(exampleSeparator);
48
- return new PromptTemplate({
49
- inputVariables,
50
- template,
51
- });
52
- }
53
- static fromTemplate(template) {
54
- const names = new Set();
55
- parseFString(template).forEach((node) => {
56
- if (node.type === "variable") {
57
- names.add(node.name);
58
- }
59
- });
60
- return new PromptTemplate({
61
- inputVariables: [...names],
62
- template,
63
- });
64
- }
65
- serialize() {
66
- var _a;
67
- return {
68
- _type: this._getPromptType(),
69
- input_variables: this.inputVariables,
70
- output_parser: (_a = this.outputParser) === null || _a === void 0 ? void 0 : _a.serialize(),
71
- template: this.template,
72
- template_format: this.templateFormat,
73
- };
74
- }
75
- static deserialize(data) {
76
- return __awaiter(this, void 0, void 0, function* () {
77
- const res = new PromptTemplate({
78
- inputVariables: data.input_variables,
79
- outputParser: data.output_parser && BaseOutputParser.deserialize(data.output_parser),
80
- template: resolveTemplateFromFile("template", data),
81
- templateFormat: data.template_format,
82
- });
83
- return res;
84
- });
85
- }
86
- }
87
- //# sourceMappingURL=prompt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../prompt/prompt.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,kBAAkB,GAGnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAEL,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAA0B,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAiBpE,MAAM,OAAO,cACX,SAAQ,kBAAkB;IAS1B,YAAY,KAA0B;QACpC,KAAK,CAAC,KAAK,CAAC,CAAC;QAPf;;;;;WAAiB;QAEjB;;;;mBAAiC,UAAU;WAAC;QAE5C;;;;mBAAmB,IAAI;WAAC;QAItB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,kBAAkB,CAChB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CACpB,CAAC;SACH;IACH,CAAC;IAED,cAAc;QACZ,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,MAAmB;QACxB,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,YAAY,CACjB,QAAkB,EAClB,MAAc,EACd,cAAwB,EACxB,gBAAgB,GAAG,MAAM,EACzB,MAAM,GAAG,EAAE;QAEX,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACtE,OAAO,IAAI,cAAc,CAAC;YACxB,cAAc;YACd,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,QAAgB;QAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;gBAC5B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,cAAc,CAAC;YACxB,cAAc,EAAE,CAAC,GAAG,KAAK,CAAC;YAC1B,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED,SAAS;;QACP,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE;YAC5B,eAAe,EAAE,IAAI,CAAC,cAAc;YACpC,aAAa,EAAE,MAAA,IAAI,CAAC,YAAY,0CAAE,SAAS,EAAE;YAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,eAAe,EAAE,IAAI,CAAC,cAAc;SACrC,CAAC;IACJ,CAAC;IAED,MAAM,CAAO,WAAW,CACtB,IAA8B;;YAE9B,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC;gBAC7B,cAAc,EAAE,IAAI,CAAC,eAAe;gBACpC,YAAY,EACV,IAAI,CAAC,aAAa,IAAI,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC;gBACxE,QAAQ,EAAE,uBAAuB,CAAC,UAAU,EAAE,IAAI,CAAC;gBACnD,cAAc,EAAE,IAAI,CAAC,eAAe;aACrC,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;CAGF"}
@@ -1,16 +0,0 @@
1
- import { InputValues } from "./index";
2
- export type TemplateFormat = "f-string" | "jinja2";
3
- type ParsedFStringNode = {
4
- type: "literal";
5
- text: string;
6
- } | {
7
- type: "variable";
8
- name: string;
9
- };
10
- export declare const parseFString: (template: string) => ParsedFStringNode[];
11
- export declare const interpolateFString: (template: string, values: InputValues) => string;
12
- type Interpolator = (template: string, values: InputValues) => string;
13
- export declare const DEFAULT_FORMATTER_MAPPING: Record<TemplateFormat, Interpolator>;
14
- export declare const renderTemplate: (template: string, templateFormat: TemplateFormat, inputValues: InputValues) => string;
15
- export declare const checkValidTemplate: (template: string, templateFormat: TemplateFormat, inputVariables: string[]) => void;
16
- export {};
@@ -1,80 +0,0 @@
1
- export const parseFString = (template) => {
2
- // Core logic replicated from internals of pythons built in Formatter class.
3
- // https://github.com/python/cpython/blob/135ec7cefbaffd516b77362ad2b2ad1025af462e/Objects/stringlib/unicode_format.h#L700-L706
4
- const chars = template.split("");
5
- const nodes = [];
6
- const nextBracket = (bracket, start) => {
7
- for (let i = start; i < chars.length; i += 1) {
8
- if (bracket.includes(chars[i])) {
9
- return i;
10
- }
11
- }
12
- return -1;
13
- };
14
- let i = 0;
15
- while (i < chars.length) {
16
- if (chars[i] === "{" && i + 1 < chars.length && chars[i + 1] === "{") {
17
- nodes.push({ type: "literal", text: "{" });
18
- i += 2;
19
- }
20
- else if (chars[i] === "}" &&
21
- i + 1 < chars.length &&
22
- chars[i + 1] === "}") {
23
- nodes.push({ type: "literal", text: "}" });
24
- i += 2;
25
- }
26
- else if (chars[i] === "{") {
27
- const j = nextBracket("}", i);
28
- if (j < 0) {
29
- throw new Error("Unclosed '{' in template.");
30
- }
31
- nodes.push({
32
- type: "variable",
33
- name: chars.slice(i + 1, j).join(""),
34
- });
35
- i = j + 1;
36
- }
37
- else if (chars[i] === "}") {
38
- throw new Error("Single '}' in template.");
39
- }
40
- else {
41
- const next = nextBracket("{}", i);
42
- const text = (next < 0 ? chars.slice(i) : chars.slice(i, next)).join("");
43
- nodes.push({ type: "literal", text });
44
- i = next < 0 ? chars.length : next;
45
- }
46
- }
47
- return nodes;
48
- };
49
- export const interpolateFString = (template, values) => parseFString(template).reduce((res, node) => {
50
- if (node.type === "variable") {
51
- if (node.name in values) {
52
- return res + values[node.name];
53
- }
54
- throw new Error(`Missing value for input ${node.name}`);
55
- }
56
- return res + node.text;
57
- }, "");
58
- export const DEFAULT_FORMATTER_MAPPING = {
59
- "f-string": interpolateFString,
60
- jinja2: (_, __) => "",
61
- };
62
- export const renderTemplate = (template, templateFormat, inputValues) => DEFAULT_FORMATTER_MAPPING[templateFormat](template, inputValues);
63
- export const checkValidTemplate = (template, templateFormat, inputVariables) => {
64
- if (!(templateFormat in DEFAULT_FORMATTER_MAPPING)) {
65
- const validFormats = Object.keys(DEFAULT_FORMATTER_MAPPING);
66
- throw new Error(`Invalid template format. Got \`${templateFormat}\`;
67
- should be one of ${validFormats}`);
68
- }
69
- try {
70
- const dummyInputs = inputVariables.reduce((acc, v) => {
71
- acc[v] = "foo";
72
- return acc;
73
- }, {});
74
- renderTemplate(template, templateFormat, dummyInputs);
75
- }
76
- catch (_a) {
77
- throw new Error("Invalid prompt schema.");
78
- }
79
- };
80
- //# sourceMappingURL=template.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../prompt/template.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { expect, test } from "@jest/globals";
11
- import path from "path";
12
- import { loadPrompt } from "../load";
13
- const PROMPTS_DIR = path.join(__dirname, "prompts");
14
- test("Load Hello World Prompt", () => __awaiter(void 0, void 0, void 0, function* () {
15
- const helloWorld = path.join(PROMPTS_DIR, "hello_world.yaml");
16
- const prompt = yield loadPrompt(helloWorld);
17
- expect(prompt._getPromptType()).toBe("prompt");
18
- expect(prompt.format({})).toBe("Say hello world.");
19
- }));
20
- test("Load hub prompt", () => __awaiter(void 0, void 0, void 0, function* () {
21
- const prompt = yield loadPrompt("lc@abb92d8://prompts/hello-world/prompt.yaml");
22
- expect(prompt._getPromptType()).toBe("prompt");
23
- expect(prompt.format({})).toBe("Say hello world.");
24
- }));
25
- //# sourceMappingURL=load.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"load.test.js","sourceRoot":"","sources":["../../../../prompt/tests/load.test.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAEpD,IAAI,CAAC,yBAAyB,EAAE,GAAS,EAAE;IACzC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACrD,CAAC,CAAA,CAAC,CAAC;AAEH,IAAI,CAAC,iBAAiB,EAAE,GAAS,EAAE;IACjC,MAAM,MAAM,GAAG,MAAM,UAAU,CAC7B,8CAA8C,CAC/C,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACrD,CAAC,CAAA,CAAC,CAAC"}
@@ -1,25 +0,0 @@
1
- import { expect, test, describe } from "@jest/globals";
2
- import { interpolateFString } from "../template";
3
- describe.each([
4
- ["{foo}", { foo: "bar" }, "bar"],
5
- ["pre{foo}post", { foo: "bar" }, "prebarpost"],
6
- ["{{pre{foo}post}}", { foo: "bar" }, "{prebarpost}"],
7
- ["text", {}, "text"],
8
- ["}}{{", {}, "}{"],
9
- ["{first}_{second}", { first: "foo", second: "bar" }, "foo_bar"],
10
- ])("Valid f-string", (template, variables, result) => {
11
- test(`Interpolation works: ${template}`, () => {
12
- expect(interpolateFString(template, variables)).toBe(result);
13
- });
14
- });
15
- describe.each([
16
- ["{", {}],
17
- ["}", {}],
18
- ["{foo", {}],
19
- ["foo}", {}],
20
- ])("Invalid f-string", (template, variables) => {
21
- test(`Interpolation throws: ${template}`, () => {
22
- expect(() => interpolateFString(template, variables)).toThrow();
23
- });
24
- });
25
- //# sourceMappingURL=template.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template.test.js","sourceRoot":"","sources":["../../../../prompt/tests/template.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEjD,QAAQ,CAAC,IAAI,CAAC;IACZ,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC;IAChC,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,YAAY,CAAC;IAC9C,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,cAAc,CAAC;IACpD,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC;IACpB,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC;IAClB,CAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC;CACjE,CAAC,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;IACnD,IAAI,CAAC,wBAAwB,QAAQ,EAAE,EAAE,GAAG,EAAE;QAC5C,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,IAAI,CAAC;IACZ,CAAC,GAAG,EAAE,EAAE,CAAC;IACT,CAAC,GAAG,EAAE,EAAE,CAAC;IACT,CAAC,MAAM,EAAE,EAAE,CAAC;IACZ,CAAC,MAAM,EAAE,EAAE,CAAC;CACb,CAAC,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;IAC7C,IAAI,CAAC,yBAAyB,QAAQ,EAAE,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export declare const loadFromHub: <T>(uri: string, loader: (a: string) => T, validPrefix: string, validSuffixes: Set<string>) => Promise<T | undefined>;
@@ -1,43 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var _a, _b;
11
- import path from "path";
12
- import os from "os";
13
- import fs from "fs";
14
- import { fetchWithTimeout } from "./index";
15
- const HUB_PATH_REGEX = /lc(@[^:]+)?:\/\/(.*)/;
16
- const DEFAULT_REF = (_a = process.env.LANGCHAIN_HUB_DEFAULT_REF) !== null && _a !== void 0 ? _a : "master";
17
- const URL_BASE = (_b = process.env.LANGCHAIN_HUB_URL_BASE) !== null && _b !== void 0 ? _b : "https://raw.githubusercontent.com/hwchase17/langchain-hub/";
18
- export const loadFromHub = (uri, loader, validPrefix, validSuffixes) => __awaiter(void 0, void 0, void 0, function* () {
19
- const match = uri.match(HUB_PATH_REGEX);
20
- if (!match) {
21
- return undefined;
22
- }
23
- const [rawRef, remotePath] = match.slice(1);
24
- const ref = rawRef ? rawRef.slice(1) : DEFAULT_REF;
25
- const parts = remotePath.split(path.sep);
26
- if (parts[0] !== validPrefix) {
27
- return undefined;
28
- }
29
- if (!validSuffixes.has(path.extname(remotePath).slice(1))) {
30
- throw new Error("Unsupported file type.");
31
- }
32
- const url = [URL_BASE, ref, remotePath].join("/");
33
- const res = yield fetchWithTimeout(url, { timeout: 5000 });
34
- if (res.status !== 200) {
35
- throw new Error(`Could not find file at ${url}`);
36
- }
37
- const text = yield res.text();
38
- const tmpdir = fs.mkdtempSync(path.join(os.tmpdir(), "langchain"));
39
- const file = path.join(tmpdir, path.basename(remotePath));
40
- fs.writeFileSync(file, text);
41
- return loader(file);
42
- });
43
- //# sourceMappingURL=hub.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hub.js","sourceRoot":"","sources":["../../../util/hub.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAC9C,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,GAAG,CAAC,yBAAyB,mCAAI,QAAQ,CAAC;AACtE,MAAM,QAAQ,GACZ,MAAA,OAAO,CAAC,GAAG,CAAC,sBAAsB,mCAClC,4DAA4D,CAAC;AAE/D,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,GAAW,EACX,MAAwB,EACxB,WAAmB,EACnB,aAA0B,EACF,EAAE;IAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACnD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;QAC5B,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QACzD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IAED,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;KAClD;IAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1D,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC,CAAA,CAAC"}
@@ -1,74 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __rest = (this && this.__rest) || function (s, e) {
11
- var t = {};
12
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
13
- t[p] = s[p];
14
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
15
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
16
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
17
- t[p[i]] = s[p[i]];
18
- }
19
- return t;
20
- };
21
- import path from "path";
22
- import fetch from "node-fetch";
23
- import fs from "fs";
24
- import * as yaml from "yaml";
25
- export const fetchWithTimeout = (url, init) => __awaiter(void 0, void 0, void 0, function* () {
26
- const { timeout } = init, rest = __rest(init, ["timeout"]);
27
- const controller = new AbortController();
28
- const timeoutId = setTimeout(() => controller.abort(), timeout);
29
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
30
- const res = yield fetch(url, Object.assign(Object.assign({}, rest), { signal: controller.signal }));
31
- clearTimeout(timeoutId);
32
- return res;
33
- });
34
- const loadFileContents = (contents, format) => {
35
- switch (format) {
36
- case ".json":
37
- return JSON.parse(contents);
38
- case ".yml":
39
- case ".yaml":
40
- return yaml.parse(contents);
41
- default:
42
- throw new Error(`Unsupported filetype ${format}`);
43
- }
44
- };
45
- const resolveFieldFromFile = (fieldName, config, load, allowExtensions) => {
46
- const fieldPath = config[`${fieldName}_path`];
47
- const field = config[fieldName];
48
- if (fieldPath !== undefined && field !== undefined) {
49
- throw new Error(`Both '${fieldName}_path' and '${fieldName}' cannot be provided.`);
50
- }
51
- if (field !== undefined) {
52
- return field;
53
- }
54
- if (fieldPath !== undefined) {
55
- const suffix = path.extname(fieldPath);
56
- if (allowExtensions && !allowExtensions.includes(suffix)) {
57
- throw new Error("Invalid file type");
58
- }
59
- return load(fs.readFileSync(fieldPath).toString(), suffix);
60
- }
61
- throw new Error(`One of '${fieldName}_path' and '${fieldName}' must be provided.`);
62
- };
63
- export const resolveTemplateFromFile = (fieldName, config) => resolveFieldFromFile(fieldName, config, (contents) => contents, [".txt"]);
64
- export const resolveConfigFromFile = (fieldName, config) => resolveFieldFromFile(fieldName, config, loadFileContents, [".json", ".yaml"]);
65
- export const parseFileConfig = (file, supportedTypes) => {
66
- const suffix = path.extname(file);
67
- if (![".json", ".yaml"].includes(suffix) ||
68
- (supportedTypes && !supportedTypes.includes(suffix))) {
69
- throw new Error(`Unsupported filetype ${suffix}`);
70
- }
71
- const contents = fs.readFileSync(file).toString();
72
- return loadFileContents(contents, suffix);
73
- };
74
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../util/index.ts"],"names":[],"mappings":"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"}