langflow-base-nightly 1.7.0.dev57__py3-none-any.whl → 1.7.1.dev0__py3-none-any.whl

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 (3559) hide show
  1. langflow/api/utils/core.py +1 -1
  2. langflow/api/v1/monitor.py +15 -4
  3. langflow/frontend/assets/SlackIcon-DlvHzgKf.js +1 -0
  4. langflow/frontend/assets/Wikipedia-CYCV3OwN.js +1 -0
  5. langflow/frontend/assets/Wolfram-fMi_u0PK.js +1 -0
  6. langflow/frontend/assets/a-arrow-down-C-cKYF2u.js +6 -0
  7. langflow/frontend/assets/a-arrow-up-CjwOuxws.js +6 -0
  8. langflow/frontend/assets/a-large-small-BDIumVKt.js +6 -0
  9. langflow/frontend/assets/accessibility-VxSbFy72.js +6 -0
  10. langflow/frontend/assets/activity-DBQy7ieS.js +6 -0
  11. langflow/frontend/assets/air-vent-Cs9_6_fM.js +6 -0
  12. langflow/frontend/assets/airplay-BZzTsovO.js +6 -0
  13. langflow/frontend/assets/alarm-clock-DnuUE4q6.js +6 -0
  14. langflow/frontend/assets/alarm-clock-check-D9vPjx5g.js +6 -0
  15. langflow/frontend/assets/alarm-clock-minus-xvXgVo6N.js +6 -0
  16. langflow/frontend/assets/alarm-clock-off-urGc_tcx.js +6 -0
  17. langflow/frontend/assets/alarm-clock-plus-C0PRaTdf.js +6 -0
  18. langflow/frontend/assets/alarm-smoke-B7mkLxOd.js +6 -0
  19. langflow/frontend/assets/album-BxAwduhM.js +6 -0
  20. langflow/frontend/assets/align-center-Crw-ls4R.js +6 -0
  21. langflow/frontend/assets/align-center-horizontal-DXvNpJPJ.js +6 -0
  22. langflow/frontend/assets/align-center-vertical-DGzyvvpM.js +6 -0
  23. langflow/frontend/assets/align-end-horizontal-DpO7sNv7.js +6 -0
  24. langflow/frontend/assets/align-end-vertical-G0aeph-u.js +6 -0
  25. langflow/frontend/assets/align-horizontal-distribute-center-BSl3E5Nv.js +6 -0
  26. langflow/frontend/assets/align-horizontal-distribute-end-DuDXse3X.js +6 -0
  27. langflow/frontend/assets/align-horizontal-distribute-start-B8UftvCS.js +6 -0
  28. langflow/frontend/assets/align-horizontal-justify-center-DsXH3H42.js +6 -0
  29. langflow/frontend/assets/align-horizontal-justify-end-BPAbO3qj.js +6 -0
  30. langflow/frontend/assets/align-horizontal-justify-start-B-Qty91v.js +6 -0
  31. langflow/frontend/assets/align-horizontal-space-around-Du3vqrf0.js +6 -0
  32. langflow/frontend/assets/align-horizontal-space-between-DoZ3Zop3.js +6 -0
  33. langflow/frontend/assets/align-justify-BbXRzIze.js +6 -0
  34. langflow/frontend/assets/align-left-BSz--dCv.js +6 -0
  35. langflow/frontend/assets/align-right-Bt8cnyTd.js +6 -0
  36. langflow/frontend/assets/align-start-horizontal-DWOH9BZU.js +6 -0
  37. langflow/frontend/assets/align-start-vertical-D7XdSqFQ.js +6 -0
  38. langflow/frontend/assets/align-vertical-distribute-center-DLLTYLZF.js +6 -0
  39. langflow/frontend/assets/align-vertical-distribute-end-DzcBOjpB.js +6 -0
  40. langflow/frontend/assets/align-vertical-distribute-start-i2a7YBO2.js +6 -0
  41. langflow/frontend/assets/align-vertical-justify-center-CnYrDOH_.js +6 -0
  42. langflow/frontend/assets/align-vertical-justify-end-CdegC7Kz.js +6 -0
  43. langflow/frontend/assets/align-vertical-justify-start-U0OVlrHk.js +6 -0
  44. langflow/frontend/assets/align-vertical-space-around-CvEYXneb.js +6 -0
  45. langflow/frontend/assets/align-vertical-space-between-B1HyKGZk.js +6 -0
  46. langflow/frontend/assets/ambulance-DuquWylK.js +6 -0
  47. langflow/frontend/assets/ampersand-R7rN7SvC.js +6 -0
  48. langflow/frontend/assets/ampersands-DutqkC5g.js +6 -0
  49. langflow/frontend/assets/amphora-B9bwdfXP.js +6 -0
  50. langflow/frontend/assets/anchor-CFpd29Js.js +6 -0
  51. langflow/frontend/assets/angry-DX0PxOP2.js +6 -0
  52. langflow/frontend/assets/annoyed-DFX17Hcx.js +6 -0
  53. langflow/frontend/assets/antenna-DiDXzp22.js +6 -0
  54. langflow/frontend/assets/anvil-BQjvi-3Z.js +6 -0
  55. langflow/frontend/assets/aperture-CNhAABAW.js +6 -0
  56. langflow/frontend/assets/app-window-DefwAbL-.js +6 -0
  57. langflow/frontend/assets/app-window-mac-B4t54BVR.js +6 -0
  58. langflow/frontend/assets/apple-C5qyCn8r.js +6 -0
  59. langflow/frontend/assets/archive-DWf2FQEN.js +6 -0
  60. langflow/frontend/assets/archive-restore-DtUVGrj7.js +6 -0
  61. langflow/frontend/assets/archive-x-Bl8w7YVq.js +6 -0
  62. langflow/frontend/assets/armchair-2VmOH0Wx.js +6 -0
  63. langflow/frontend/assets/arrow-big-down-Dxqlc6ty.js +6 -0
  64. langflow/frontend/assets/arrow-big-down-dash-PzaImcJy.js +6 -0
  65. langflow/frontend/assets/arrow-big-left-C0Uauzog.js +6 -0
  66. langflow/frontend/assets/arrow-big-left-dash-CQIDKTrp.js +6 -0
  67. langflow/frontend/assets/arrow-big-right-BJ1xS76I.js +6 -0
  68. langflow/frontend/assets/arrow-big-right-dash-BuOgK9Tc.js +6 -0
  69. langflow/frontend/assets/arrow-big-up-DZbIG1H4.js +6 -0
  70. langflow/frontend/assets/arrow-big-up-dash-4sLnAgWE.js +6 -0
  71. langflow/frontend/assets/arrow-down-0-1-Dh8THg85.js +6 -0
  72. langflow/frontend/assets/arrow-down-1-0-DRV58dNG.js +6 -0
  73. langflow/frontend/assets/arrow-down-RD7ST_Nj.js +6 -0
  74. langflow/frontend/assets/arrow-down-a-z-C-wYDNF1.js +6 -0
  75. langflow/frontend/assets/arrow-down-from-line-BucYmlvv.js +6 -0
  76. langflow/frontend/assets/arrow-down-left-Bh8RGAOn.js +6 -0
  77. langflow/frontend/assets/arrow-down-narrow-wide-Ci_P181I.js +6 -0
  78. langflow/frontend/assets/arrow-down-right-DGrqds5u.js +6 -0
  79. langflow/frontend/assets/arrow-down-to-dot-DUIKSyS9.js +6 -0
  80. langflow/frontend/assets/arrow-down-to-line-QdGRHCqF.js +6 -0
  81. langflow/frontend/assets/arrow-down-up-BjZ1jBtf.js +6 -0
  82. langflow/frontend/assets/arrow-down-wide-narrow-CEThH-ay.js +6 -0
  83. langflow/frontend/assets/arrow-down-z-a-5r6_408o.js +6 -0
  84. langflow/frontend/assets/arrow-left-D177jAk0.js +6 -0
  85. langflow/frontend/assets/arrow-left-from-line-CLuPv4Wq.js +6 -0
  86. langflow/frontend/assets/arrow-left-right-B0INawSB.js +6 -0
  87. langflow/frontend/assets/arrow-left-to-line-Dc_ro8bi.js +6 -0
  88. langflow/frontend/assets/arrow-right-BqNyjCWp.js +6 -0
  89. langflow/frontend/assets/arrow-right-from-line-KnCuBR8_.js +6 -0
  90. langflow/frontend/assets/arrow-right-left-C1o6GXbI.js +6 -0
  91. langflow/frontend/assets/arrow-right-to-line-DsIaCn5Q.js +6 -0
  92. langflow/frontend/assets/arrow-up-0-1-ByOT4vth.js +6 -0
  93. langflow/frontend/assets/arrow-up-1-0-ChLvN8H3.js +6 -0
  94. langflow/frontend/assets/arrow-up-KyW95RNF.js +6 -0
  95. langflow/frontend/assets/arrow-up-a-z-DnjngiQw.js +6 -0
  96. langflow/frontend/assets/arrow-up-down-BItspH3q.js +6 -0
  97. langflow/frontend/assets/arrow-up-from-dot-De5jcxsZ.js +6 -0
  98. langflow/frontend/assets/arrow-up-from-line-CRDq0-f0.js +6 -0
  99. langflow/frontend/assets/arrow-up-left-CSnyYerZ.js +6 -0
  100. langflow/frontend/assets/arrow-up-narrow-wide-CbGzUVnv.js +6 -0
  101. langflow/frontend/assets/arrow-up-right-ByVD2w8X.js +6 -0
  102. langflow/frontend/assets/arrow-up-to-line-DyBCZvY2.js +6 -0
  103. langflow/frontend/assets/arrow-up-wide-narrow-B2v-OL3l.js +6 -0
  104. langflow/frontend/assets/arrow-up-z-a-B6PSmC8w.js +6 -0
  105. langflow/frontend/assets/arrows-up-from-line-N5YM9t7n.js +6 -0
  106. langflow/frontend/assets/asterisk-6MbKPf-C.js +6 -0
  107. langflow/frontend/assets/at-sign-BKL3x2d_.js +6 -0
  108. langflow/frontend/assets/atom-Dc-JfPxf.js +6 -0
  109. langflow/frontend/assets/audio-lines-C-W8ts0k.js +6 -0
  110. langflow/frontend/assets/audio-waveform-C8czrmcq.js +6 -0
  111. langflow/frontend/assets/award-BuS4O2sw.js +6 -0
  112. langflow/frontend/assets/axe-LZiGFi2K.js +6 -0
  113. langflow/frontend/assets/axis-3d-Da0Hf8SY.js +6 -0
  114. langflow/frontend/assets/baby-C8LJqA3a.js +6 -0
  115. langflow/frontend/assets/backpack-8eR3mOTW.js +6 -0
  116. langflow/frontend/assets/badge-EDGPdlUz.js +6 -0
  117. langflow/frontend/assets/badge-alert-DzCydZ7S.js +6 -0
  118. langflow/frontend/assets/badge-cent-CT6B4tD5.js +6 -0
  119. langflow/frontend/assets/badge-check-Bxp_sun1.js +6 -0
  120. langflow/frontend/assets/badge-dollar-sign-Dze0rwlL.js +6 -0
  121. langflow/frontend/assets/badge-euro-D5Cm88hn.js +6 -0
  122. langflow/frontend/assets/badge-help-BsOXh8oK.js +6 -0
  123. langflow/frontend/assets/badge-indian-rupee-IOz-tV_2.js +6 -0
  124. langflow/frontend/assets/badge-info-D1OVWVm6.js +6 -0
  125. langflow/frontend/assets/badge-japanese-yen-Blwx4dbl.js +6 -0
  126. langflow/frontend/assets/badge-minus-tk-dBTIA.js +6 -0
  127. langflow/frontend/assets/badge-percent-q0BruWSx.js +6 -0
  128. langflow/frontend/assets/badge-plus-DMgNmy5x.js +6 -0
  129. langflow/frontend/assets/badge-pound-sterling-CHHRcVdr.js +6 -0
  130. langflow/frontend/assets/badge-russian-ruble-CEbVxGdy.js +6 -0
  131. langflow/frontend/assets/badge-swiss-franc-VkeTV2Jb.js +6 -0
  132. langflow/frontend/assets/badge-x-DpIs2VJS.js +6 -0
  133. langflow/frontend/assets/baggage-claim-0qf3dIRz.js +6 -0
  134. langflow/frontend/assets/ban-CYRXZEE5.js +6 -0
  135. langflow/frontend/assets/banana-DmJiIL3h.js +6 -0
  136. langflow/frontend/assets/bandage-8iK18u6O.js +6 -0
  137. langflow/frontend/assets/banknote-CZjau31E.js +6 -0
  138. langflow/frontend/assets/banknote-arrow-down-CDpXvmFu.js +6 -0
  139. langflow/frontend/assets/banknote-arrow-up-CHPZQBVP.js +6 -0
  140. langflow/frontend/assets/banknote-x-CVpQfLSf.js +6 -0
  141. langflow/frontend/assets/barcode-C7Q5lrBn.js +6 -0
  142. langflow/frontend/assets/baseline-Cs7ZHPZ4.js +6 -0
  143. langflow/frontend/assets/bath-CDWPMaym.js +6 -0
  144. langflow/frontend/assets/battery-BFbHgRpU.js +6 -0
  145. langflow/frontend/assets/battery-charging-CsdGXssX.js +6 -0
  146. langflow/frontend/assets/battery-full-CcwmBaAZ.js +6 -0
  147. langflow/frontend/assets/battery-low-DAjILXda.js +6 -0
  148. langflow/frontend/assets/battery-medium-CZyQCN5h.js +6 -0
  149. langflow/frontend/assets/battery-plus-DfsE3RTm.js +6 -0
  150. langflow/frontend/assets/battery-warning-BZw_7xKe.js +6 -0
  151. langflow/frontend/assets/beaker-DHNVlyVo.js +6 -0
  152. langflow/frontend/assets/bean-YLVO9evq.js +6 -0
  153. langflow/frontend/assets/bean-off-Db3YBVDD.js +6 -0
  154. langflow/frontend/assets/bed-CgUwmyeT.js +6 -0
  155. langflow/frontend/assets/bed-double-BLNGBOmV.js +6 -0
  156. langflow/frontend/assets/bed-single-BcSlS0k2.js +6 -0
  157. langflow/frontend/assets/beef-BX03LzQv.js +6 -0
  158. langflow/frontend/assets/beer-DtRKaakP.js +6 -0
  159. langflow/frontend/assets/beer-off-ntawv8J3.js +6 -0
  160. langflow/frontend/assets/bell-BQ1MS1h3.js +6 -0
  161. langflow/frontend/assets/bell-dot-DFJQsNba.js +6 -0
  162. langflow/frontend/assets/bell-electric-ugdmLwOH.js +6 -0
  163. langflow/frontend/assets/bell-minus-CUT7k6WY.js +6 -0
  164. langflow/frontend/assets/bell-off-DcOEFLSM.js +6 -0
  165. langflow/frontend/assets/bell-plus-CTv3L84z.js +6 -0
  166. langflow/frontend/assets/bell-ring-BQGCbeNK.js +6 -0
  167. langflow/frontend/assets/between-horizontal-end-DQm9wHWZ.js +6 -0
  168. langflow/frontend/assets/between-horizontal-start-B4n63M4w.js +6 -0
  169. langflow/frontend/assets/between-vertical-end-4V70-Tmf.js +6 -0
  170. langflow/frontend/assets/between-vertical-start-CiuWpjd_.js +6 -0
  171. langflow/frontend/assets/biceps-flexed-BRkse63U.js +6 -0
  172. langflow/frontend/assets/bike-DbODYZa9.js +6 -0
  173. langflow/frontend/assets/binary-BZrFV6uU.js +6 -0
  174. langflow/frontend/assets/binoculars-XPRKuSmF.js +6 -0
  175. langflow/frontend/assets/biohazard-Cyq2kDJG.js +6 -0
  176. langflow/frontend/assets/bird-BhZ8WtVr.js +6 -0
  177. langflow/frontend/assets/bitcoin-B3F5kR4-.js +6 -0
  178. langflow/frontend/assets/blend-BGryF9qq.js +6 -0
  179. langflow/frontend/assets/blinds-DbFIu1bT.js +6 -0
  180. langflow/frontend/assets/blocks-DWcBLodr.js +6 -0
  181. langflow/frontend/assets/bluetooth-connected-Dhf9pdI-.js +6 -0
  182. langflow/frontend/assets/bluetooth-kswXe1Y-.js +6 -0
  183. langflow/frontend/assets/bluetooth-off-szFkxRUi.js +6 -0
  184. langflow/frontend/assets/bluetooth-searching-CTF5tAkg.js +6 -0
  185. langflow/frontend/assets/bold-BGg4fc3J.js +6 -0
  186. langflow/frontend/assets/bolt-R60irphj.js +6 -0
  187. langflow/frontend/assets/bomb-igGJjPrs.js +6 -0
  188. langflow/frontend/assets/bone-BeFpkzE9.js +6 -0
  189. langflow/frontend/assets/book-B1Z9x77f.js +6 -0
  190. langflow/frontend/assets/book-a-DTwZwHeL.js +6 -0
  191. langflow/frontend/assets/book-audio-D03bcHN1.js +6 -0
  192. langflow/frontend/assets/book-check-1PwIBLvI.js +6 -0
  193. langflow/frontend/assets/book-copy-yb_crTZw.js +6 -0
  194. langflow/frontend/assets/book-dashed-CKh4AvE3.js +6 -0
  195. langflow/frontend/assets/book-down-C6uWFaMI.js +6 -0
  196. langflow/frontend/assets/book-headphones-CmPZIaha.js +6 -0
  197. langflow/frontend/assets/book-heart-DUjyWUw6.js +6 -0
  198. langflow/frontend/assets/book-image-DZGANV-s.js +6 -0
  199. langflow/frontend/assets/book-key-QkydeqUW.js +6 -0
  200. langflow/frontend/assets/book-lock-kIjH4dFY.js +6 -0
  201. langflow/frontend/assets/book-marked-e2WkHwpc.js +6 -0
  202. langflow/frontend/assets/book-minus-aSaz_QR8.js +6 -0
  203. langflow/frontend/assets/book-open-CGX9M2Np.js +6 -0
  204. langflow/frontend/assets/book-open-check-BTGqcf-8.js +6 -0
  205. langflow/frontend/assets/book-open-text-CLMMMAyZ.js +6 -0
  206. langflow/frontend/assets/book-plus-BsA7fEJn.js +6 -0
  207. langflow/frontend/assets/book-text-COaes1xV.js +6 -0
  208. langflow/frontend/assets/book-type-BOySdQYg.js +6 -0
  209. langflow/frontend/assets/book-up-2-B0cQqCZK.js +6 -0
  210. langflow/frontend/assets/book-up-CH4D33N2.js +6 -0
  211. langflow/frontend/assets/book-user-CTPsc8o9.js +6 -0
  212. langflow/frontend/assets/book-x-Cef8efkv.js +6 -0
  213. langflow/frontend/assets/bookmark-BIROAsWh.js +6 -0
  214. langflow/frontend/assets/bookmark-check-CswzE8Mt.js +6 -0
  215. langflow/frontend/assets/bookmark-minus-CkJxt1p3.js +6 -0
  216. langflow/frontend/assets/bookmark-plus-CRoRb-5i.js +6 -0
  217. langflow/frontend/assets/bookmark-x-D2cLMMcO.js +6 -0
  218. langflow/frontend/assets/boom-box-DGyKFFGr.js +6 -0
  219. langflow/frontend/assets/bot-GomJtx3A.js +6 -0
  220. langflow/frontend/assets/bot-message-square-BlRIV6QC.js +6 -0
  221. langflow/frontend/assets/bot-off-VjlqlN2U.js +6 -0
  222. langflow/frontend/assets/bow-arrow-Co9G_lG1.js +6 -0
  223. langflow/frontend/assets/box-CS1eZvCH.js +6 -0
  224. langflow/frontend/assets/boxes-qndAkj1J.js +6 -0
  225. langflow/frontend/assets/braces-DK97MG-e.js +6 -0
  226. langflow/frontend/assets/brackets-s8GDjwqe.js +6 -0
  227. langflow/frontend/assets/brain-BgzfhgZ9.js +6 -0
  228. langflow/frontend/assets/brain-circuit-DV-WYKsx.js +6 -0
  229. langflow/frontend/assets/brain-cog-DAOJ3HcZ.js +6 -0
  230. langflow/frontend/assets/brick-wall-Cnn8IJBp.js +6 -0
  231. langflow/frontend/assets/brick-wall-fire-Cn5Q_Z7T.js +6 -0
  232. langflow/frontend/assets/briefcase-CfD4XT3g.js +6 -0
  233. langflow/frontend/assets/briefcase-business-BsVaxwTz.js +6 -0
  234. langflow/frontend/assets/briefcase-conveyor-belt-BsyQzp9D.js +6 -0
  235. langflow/frontend/assets/briefcase-medical-BafOnW6h.js +6 -0
  236. langflow/frontend/assets/bring-to-front-D6LTGUAM.js +6 -0
  237. langflow/frontend/assets/brush-CMSgAyCy.js +6 -0
  238. langflow/frontend/assets/bubbles-CpYAzFFq.js +6 -0
  239. langflow/frontend/assets/bug-DEH7fEs7.js +6 -0
  240. langflow/frontend/assets/bug-off-HWRB0ShZ.js +6 -0
  241. langflow/frontend/assets/bug-play-B5QFRuKR.js +6 -0
  242. langflow/frontend/assets/building-2-CBJPkScT.js +6 -0
  243. langflow/frontend/assets/building-Dc_XpMzY.js +6 -0
  244. langflow/frontend/assets/bus-YOWyUCDM.js +6 -0
  245. langflow/frontend/assets/bus-front-DU56GrjN.js +6 -0
  246. langflow/frontend/assets/cable-PspUAHj5.js +6 -0
  247. langflow/frontend/assets/cable-car-DPo9b_Qk.js +6 -0
  248. langflow/frontend/assets/cake-qPqSfib8.js +6 -0
  249. langflow/frontend/assets/cake-slice-Dr6vBGPs.js +6 -0
  250. langflow/frontend/assets/calculator-ZQMPmiOA.js +6 -0
  251. langflow/frontend/assets/calendar-1-B0eE9_1b.js +6 -0
  252. langflow/frontend/assets/calendar-BGF8IDyi.js +6 -0
  253. langflow/frontend/assets/calendar-arrow-down-BX7NVTYl.js +6 -0
  254. langflow/frontend/assets/calendar-arrow-up-Do_rf2fp.js +6 -0
  255. langflow/frontend/assets/calendar-check-2-BVcDTCp3.js +6 -0
  256. langflow/frontend/assets/calendar-check-3ROSiiel.js +6 -0
  257. langflow/frontend/assets/calendar-clock-Bn9fe9QX.js +6 -0
  258. langflow/frontend/assets/calendar-cog-kuhRz4OH.js +6 -0
  259. langflow/frontend/assets/calendar-days-CKruG6Kp.js +6 -0
  260. langflow/frontend/assets/calendar-fold-DuirA1WZ.js +6 -0
  261. langflow/frontend/assets/calendar-heart-Bq2qoO83.js +6 -0
  262. langflow/frontend/assets/calendar-minus-2-BOSwCuOW.js +6 -0
  263. langflow/frontend/assets/calendar-minus-DiFVtQeo.js +6 -0
  264. langflow/frontend/assets/calendar-off-B-YGSx4p.js +6 -0
  265. langflow/frontend/assets/calendar-plus-2-NFXvsHxT.js +6 -0
  266. langflow/frontend/assets/calendar-plus-C1avJN4z.js +6 -0
  267. langflow/frontend/assets/calendar-range-BXR42bOX.js +6 -0
  268. langflow/frontend/assets/calendar-search-C-lFyn7p.js +6 -0
  269. langflow/frontend/assets/calendar-sync-DNa0lIv7.js +6 -0
  270. langflow/frontend/assets/calendar-x-2-z_E7oB4p.js +6 -0
  271. langflow/frontend/assets/calendar-x-CMLxjjmV.js +6 -0
  272. langflow/frontend/assets/camera-off-2dTvMGgv.js +6 -0
  273. langflow/frontend/assets/camera-qbwR10p_.js +6 -0
  274. langflow/frontend/assets/candy-BQ4t-DqD.js +6 -0
  275. langflow/frontend/assets/candy-cane-DrBGvfys.js +6 -0
  276. langflow/frontend/assets/candy-off-BubtPe60.js +6 -0
  277. langflow/frontend/assets/cannabis-DC5SYNIc.js +6 -0
  278. langflow/frontend/assets/captions-DFA2Oe5Z.js +6 -0
  279. langflow/frontend/assets/captions-off-BrNnxb6q.js +6 -0
  280. langflow/frontend/assets/car-QyBdI2SI.js +6 -0
  281. langflow/frontend/assets/car-front-CWS10Ibz.js +6 -0
  282. langflow/frontend/assets/car-taxi-front-wxCgLXuk.js +6 -0
  283. langflow/frontend/assets/caravan-BlCPl6aV.js +6 -0
  284. langflow/frontend/assets/carrot-BGvkK6EI.js +6 -0
  285. langflow/frontend/assets/case-lower-J0JsWk74.js +6 -0
  286. langflow/frontend/assets/case-sensitive-D9uPJFLk.js +6 -0
  287. langflow/frontend/assets/case-upper-C-CJ5igC.js +6 -0
  288. langflow/frontend/assets/cassette-tape-CckW_qZY.js +6 -0
  289. langflow/frontend/assets/cast-BHip4cyK.js +6 -0
  290. langflow/frontend/assets/castle-8kj-YW4y.js +6 -0
  291. langflow/frontend/assets/cat-_Td3TyXI.js +6 -0
  292. langflow/frontend/assets/cctv-X-HCVWTb.js +6 -0
  293. langflow/frontend/assets/chart-area-D92RtYIO.js +6 -0
  294. langflow/frontend/assets/chart-bar-DT90TlU5.js +6 -0
  295. langflow/frontend/assets/chart-bar-big-B9PJar0z.js +6 -0
  296. langflow/frontend/assets/chart-bar-decreasing-CzB6usic.js +6 -0
  297. langflow/frontend/assets/chart-bar-increasing-Lb4NqLYv.js +6 -0
  298. langflow/frontend/assets/chart-bar-stacked-D2PFpYb4.js +6 -0
  299. langflow/frontend/assets/chart-candlestick-DgBrkDfA.js +6 -0
  300. langflow/frontend/assets/chart-column-CyJ7jHlw.js +6 -0
  301. langflow/frontend/assets/chart-column-big-DNLCRh6v.js +6 -0
  302. langflow/frontend/assets/chart-column-decreasing-agiKdO9q.js +6 -0
  303. langflow/frontend/assets/chart-column-increasing-8xSN0RFX.js +6 -0
  304. langflow/frontend/assets/chart-column-stacked-ByjSIgVm.js +6 -0
  305. langflow/frontend/assets/chart-gantt-Cb-QgWLY.js +6 -0
  306. langflow/frontend/assets/chart-line-DJdXADIj.js +6 -0
  307. langflow/frontend/assets/chart-network-DiItS55y.js +6 -0
  308. langflow/frontend/assets/chart-no-axes-column-S1Y3Gzin.js +6 -0
  309. langflow/frontend/assets/chart-no-axes-column-decreasing-DlWnCnHN.js +6 -0
  310. langflow/frontend/assets/chart-no-axes-column-increasing-CEJu_Nut.js +6 -0
  311. langflow/frontend/assets/chart-no-axes-combined-DiRTVosK.js +6 -0
  312. langflow/frontend/assets/chart-no-axes-gantt-ClvHJAwI.js +6 -0
  313. langflow/frontend/assets/chart-pie-DrFGw6jy.js +6 -0
  314. langflow/frontend/assets/chart-scatter-BGYtUfNW.js +6 -0
  315. langflow/frontend/assets/chart-spline-DTa9Xe4n.js +6 -0
  316. langflow/frontend/assets/check-check-9L6jvp8Y.js +6 -0
  317. langflow/frontend/assets/chef-hat-BjzWpgjV.js +6 -0
  318. langflow/frontend/assets/cherry-B5SpzY_P.js +6 -0
  319. langflow/frontend/assets/chevron-first-DX3vbLUS.js +6 -0
  320. langflow/frontend/assets/chevron-last-CNWwWmpW.js +6 -0
  321. langflow/frontend/assets/chevron-left-CjLu6ldM.js +6 -0
  322. langflow/frontend/assets/chevron-right-BbrGRs7_.js +6 -0
  323. langflow/frontend/assets/chevrons-down-H2ZS5rUc.js +6 -0
  324. langflow/frontend/assets/chevrons-down-up-DQWC2qjS.js +6 -0
  325. langflow/frontend/assets/chevrons-left-7Na6UmCj.js +6 -0
  326. langflow/frontend/assets/chevrons-left-right-Btk4IHsh.js +6 -0
  327. langflow/frontend/assets/chevrons-left-right-ellipsis-CHTwyaJS.js +6 -0
  328. langflow/frontend/assets/chevrons-right-BOCimP-Y.js +6 -0
  329. langflow/frontend/assets/chevrons-right-left-BDGV7ZHN.js +6 -0
  330. langflow/frontend/assets/chevrons-up-BtBbYTIX.js +6 -0
  331. langflow/frontend/assets/chrome-CLHrUdL7.js +6 -0
  332. langflow/frontend/assets/church-DyP20Di6.js +6 -0
  333. langflow/frontend/assets/cigarette-B2UOS8lf.js +6 -0
  334. langflow/frontend/assets/cigarette-off-ByckuC3q.js +6 -0
  335. langflow/frontend/assets/circle-alert-DXzq9xj6.js +6 -0
  336. langflow/frontend/assets/circle-arrow-down-D6Wnw5dJ.js +6 -0
  337. langflow/frontend/assets/circle-arrow-left-CTcR5KD9.js +6 -0
  338. langflow/frontend/assets/circle-arrow-out-down-left-CqGME175.js +6 -0
  339. langflow/frontend/assets/circle-arrow-out-down-right--1pHhm_S.js +6 -0
  340. langflow/frontend/assets/circle-arrow-out-up-left-CokBstE4.js +6 -0
  341. langflow/frontend/assets/circle-arrow-out-up-right-CkWhrB1W.js +6 -0
  342. langflow/frontend/assets/circle-arrow-right-BaxjllQX.js +6 -0
  343. langflow/frontend/assets/circle-arrow-up-DcjKtZmC.js +6 -0
  344. langflow/frontend/assets/circle-check-DVIF3Nr_.js +6 -0
  345. langflow/frontend/assets/circle-check-big-CMfOraW9.js +6 -0
  346. langflow/frontend/assets/circle-chevron-down-D9WiS2SB.js +6 -0
  347. langflow/frontend/assets/circle-chevron-left-B-qkgP0T.js +6 -0
  348. langflow/frontend/assets/circle-chevron-right-CKqdjZu0.js +6 -0
  349. langflow/frontend/assets/circle-chevron-up-BmLC2mks.js +6 -0
  350. langflow/frontend/assets/circle-dashed-C8Uk1RfD.js +6 -0
  351. langflow/frontend/assets/circle-divide-BljEFvGL.js +6 -0
  352. langflow/frontend/assets/circle-dollar-sign-YeM-HVIq.js +6 -0
  353. langflow/frontend/assets/circle-dot-CmAA73ex.js +6 -0
  354. langflow/frontend/assets/circle-dot-dashed-DUTuJBCb.js +6 -0
  355. langflow/frontend/assets/circle-ellipsis-y8nFdmyO.js +6 -0
  356. langflow/frontend/assets/circle-equal-vYkDHToT.js +6 -0
  357. langflow/frontend/assets/circle-fading-arrow-up-nOYwIMqy.js +6 -0
  358. langflow/frontend/assets/circle-fading-plus-D0I4QaEI.js +6 -0
  359. langflow/frontend/assets/circle-gauge-m4IG1O-u.js +6 -0
  360. langflow/frontend/assets/circle-help-DVb_wNDM.js +6 -0
  361. langflow/frontend/assets/circle-minus-Byf1m04e.js +6 -0
  362. langflow/frontend/assets/circle-off-C2TaaGNm.js +6 -0
  363. langflow/frontend/assets/circle-parking-BxXpvySV.js +6 -0
  364. langflow/frontend/assets/circle-parking-off-CmE2Bihs.js +6 -0
  365. langflow/frontend/assets/circle-pause-DroDtAej.js +6 -0
  366. langflow/frontend/assets/circle-percent-BfzBs559.js +6 -0
  367. langflow/frontend/assets/circle-play-C0-l24Qf.js +6 -0
  368. langflow/frontend/assets/circle-plus-_EnqRPM0.js +6 -0
  369. langflow/frontend/assets/circle-power-uMj-rVOp.js +6 -0
  370. langflow/frontend/assets/circle-slash-2-KKegU_qW.js +6 -0
  371. langflow/frontend/assets/circle-slash-DfJK2Ho_.js +6 -0
  372. langflow/frontend/assets/circle-small-CXWhZ8Yq.js +6 -0
  373. langflow/frontend/assets/circle-stop-O25AHDTz.js +6 -0
  374. langflow/frontend/assets/circle-user-DZosvpw2.js +6 -0
  375. langflow/frontend/assets/circle-user-round-CdsDXkBp.js +6 -0
  376. langflow/frontend/assets/circuit-board-DNRBzrQM.js +6 -0
  377. langflow/frontend/assets/citrus-j_jtDGPb.js +6 -0
  378. langflow/frontend/assets/clapperboard-B4kGMwR1.js +6 -0
  379. langflow/frontend/assets/clipboard-WThr5izD.js +6 -0
  380. langflow/frontend/assets/clipboard-check-DT_MbRwb.js +6 -0
  381. langflow/frontend/assets/clipboard-copy-BvkHI3rh.js +6 -0
  382. langflow/frontend/assets/clipboard-list-CLUD2tKX.js +6 -0
  383. langflow/frontend/assets/clipboard-minus-DEZOHV09.js +6 -0
  384. langflow/frontend/assets/clipboard-paste-DBMsxziB.js +6 -0
  385. langflow/frontend/assets/clipboard-pen-D22TKKPD.js +6 -0
  386. langflow/frontend/assets/clipboard-pen-line-BWyQZZIT.js +6 -0
  387. langflow/frontend/assets/clipboard-plus-D1UFMJum.js +6 -0
  388. langflow/frontend/assets/clipboard-type-CxijHV2W.js +6 -0
  389. langflow/frontend/assets/clipboard-x-D9yy-3lO.js +6 -0
  390. langflow/frontend/assets/clock-1-DAwU43Ut.js +6 -0
  391. langflow/frontend/assets/clock-10-BPoZP6ds.js +6 -0
  392. langflow/frontend/assets/clock-11-C9LQgTl3.js +6 -0
  393. langflow/frontend/assets/clock-12-yIaDqcZ3.js +6 -0
  394. langflow/frontend/assets/clock-2-CBoyj7R6.js +6 -0
  395. langflow/frontend/assets/clock-3-CC1_E6dN.js +6 -0
  396. langflow/frontend/assets/clock-4-8pIV05ob.js +6 -0
  397. langflow/frontend/assets/clock-5-C2hXuSwF.js +6 -0
  398. langflow/frontend/assets/clock-6-CcMALSp2.js +6 -0
  399. langflow/frontend/assets/clock-7-C-SHYfUw.js +6 -0
  400. langflow/frontend/assets/clock-8-_gJjLUJ4.js +6 -0
  401. langflow/frontend/assets/clock-9-Ck4K3tqp.js +6 -0
  402. langflow/frontend/assets/clock-alert-Cyk2IRBc.js +6 -0
  403. langflow/frontend/assets/clock-arrow-down-DFTDL4kx.js +6 -0
  404. langflow/frontend/assets/clock-arrow-up-BnDhCzb4.js +6 -0
  405. langflow/frontend/assets/clock-fading-Bjka-Vfr.js +6 -0
  406. langflow/frontend/assets/clock-gYcFsLDS.js +6 -0
  407. langflow/frontend/assets/cloud-CkDxBGiX.js +6 -0
  408. langflow/frontend/assets/cloud-alert-5_4mbkbT.js +6 -0
  409. langflow/frontend/assets/cloud-cog-D_4-dUI8.js +6 -0
  410. langflow/frontend/assets/cloud-download-BeAnuH6V.js +6 -0
  411. langflow/frontend/assets/cloud-drizzle-BZNgGQjK.js +6 -0
  412. langflow/frontend/assets/cloud-fog-g6H9mnPB.js +6 -0
  413. langflow/frontend/assets/cloud-hail-mfOY3PyQ.js +6 -0
  414. langflow/frontend/assets/cloud-lightning-BTT7SZeG.js +6 -0
  415. langflow/frontend/assets/cloud-moon-BwWkVJ49.js +6 -0
  416. langflow/frontend/assets/cloud-moon-rain-1U_w8q9_.js +6 -0
  417. langflow/frontend/assets/cloud-off-Ch0rgW4F.js +6 -0
  418. langflow/frontend/assets/cloud-rain-BMlRf1it.js +6 -0
  419. langflow/frontend/assets/cloud-rain-wind-DdXJxzsJ.js +6 -0
  420. langflow/frontend/assets/cloud-snow-l7BHiF66.js +6 -0
  421. langflow/frontend/assets/cloud-sun-B9xczlpe.js +6 -0
  422. langflow/frontend/assets/cloud-sun-rain-C2EhPc8d.js +6 -0
  423. langflow/frontend/assets/cloud-upload--IrI73uY.js +6 -0
  424. langflow/frontend/assets/cloudy-BLY2P7pI.js +6 -0
  425. langflow/frontend/assets/clover-CCa69VCu.js +6 -0
  426. langflow/frontend/assets/club-BoK3QkZI.js +6 -0
  427. langflow/frontend/assets/code-xml-BJ4pcmNb.js +6 -0
  428. langflow/frontend/assets/codepen-y-bmhV7C.js +6 -0
  429. langflow/frontend/assets/codesandbox-BHyCD9aN.js +6 -0
  430. langflow/frontend/assets/coffee-CHqvDOjz.js +6 -0
  431. langflow/frontend/assets/cog-B3awbO3E.js +6 -0
  432. langflow/frontend/assets/coins-C-6NNAjI.js +6 -0
  433. langflow/frontend/assets/columns-2-Hg_ZeGuF.js +6 -0
  434. langflow/frontend/assets/columns-3-CrY0stzR.js +6 -0
  435. langflow/frontend/assets/columns-3-cog-CkEOZTSJ.js +6 -0
  436. langflow/frontend/assets/columns-4-C6O27Uk6.js +6 -0
  437. langflow/frontend/assets/combine-BQHXMUAE.js +6 -0
  438. langflow/frontend/assets/command-FnSqkckB.js +6 -0
  439. langflow/frontend/assets/compass-EebvLOoc.js +6 -0
  440. langflow/frontend/assets/component-DKKIEb9c.js +6 -0
  441. langflow/frontend/assets/computer-D20RZor-.js +6 -0
  442. langflow/frontend/assets/concierge-bell-BNQwfuW3.js +6 -0
  443. langflow/frontend/assets/cone-rfMmNEJj.js +6 -0
  444. langflow/frontend/assets/construction-Ctz76OTY.js +6 -0
  445. langflow/frontend/assets/contact-BsvQyBK4.js +6 -0
  446. langflow/frontend/assets/contact-round-BXIpbAgi.js +6 -0
  447. langflow/frontend/assets/container-5iUx3nlv.js +6 -0
  448. langflow/frontend/assets/contrast-cefwbAsE.js +6 -0
  449. langflow/frontend/assets/cookie-DL58azAK.js +6 -0
  450. langflow/frontend/assets/cooking-pot-C3wBu1s4.js +6 -0
  451. langflow/frontend/assets/copy-UJnbiPtr.js +6 -0
  452. langflow/frontend/assets/copy-check-CIbqpkRk.js +6 -0
  453. langflow/frontend/assets/copy-minus-BLf0JZxV.js +6 -0
  454. langflow/frontend/assets/copy-plus-D30XipeU.js +6 -0
  455. langflow/frontend/assets/copy-slash-MruO4PRW.js +6 -0
  456. langflow/frontend/assets/copy-x-CqG1DirU.js +6 -0
  457. langflow/frontend/assets/copyleft-qecPjIRB.js +6 -0
  458. langflow/frontend/assets/copyright-BAvLTBZh.js +6 -0
  459. langflow/frontend/assets/corner-down-left-DhdODoB2.js +6 -0
  460. langflow/frontend/assets/corner-down-right-GFzNTX3d.js +6 -0
  461. langflow/frontend/assets/corner-left-down-BsEoXyb8.js +6 -0
  462. langflow/frontend/assets/corner-left-up-CWc90yLu.js +6 -0
  463. langflow/frontend/assets/corner-right-down-zb58ewkb.js +6 -0
  464. langflow/frontend/assets/corner-right-up-B4D23RNY.js +6 -0
  465. langflow/frontend/assets/corner-up-left-BEPUYLy9.js +6 -0
  466. langflow/frontend/assets/corner-up-right-UEwbxN-r.js +6 -0
  467. langflow/frontend/assets/cpu-CiAfriZ0.js +6 -0
  468. langflow/frontend/assets/creative-commons-DTsqWMLQ.js +6 -0
  469. langflow/frontend/assets/credit-card-BsqZCwy7.js +6 -0
  470. langflow/frontend/assets/croissant-Dne9gpD6.js +6 -0
  471. langflow/frontend/assets/crop-BWr5Nt9j.js +6 -0
  472. langflow/frontend/assets/cross-CShHDmEw.js +6 -0
  473. langflow/frontend/assets/crosshair-BCE8MhW3.js +6 -0
  474. langflow/frontend/assets/crown-CIXLAW1p.js +6 -0
  475. langflow/frontend/assets/cuboid-BdVM9bLq.js +6 -0
  476. langflow/frontend/assets/cup-soda-BSwVg3a5.js +6 -0
  477. langflow/frontend/assets/currency-DJp8xWtW.js +6 -0
  478. langflow/frontend/assets/cylinder-Bahv0XqP.js +6 -0
  479. langflow/frontend/assets/dam-BiiN0uXc.js +6 -0
  480. langflow/frontend/assets/database-CgOq8Ih-.js +6 -0
  481. langflow/frontend/assets/database-backup-BEmFvF40.js +6 -0
  482. langflow/frontend/assets/database-zap-B4qlD4xw.js +6 -0
  483. langflow/frontend/assets/decimals-arrow-left-DTVAe_Hn.js +6 -0
  484. langflow/frontend/assets/decimals-arrow-right-BJpvQaKs.js +6 -0
  485. langflow/frontend/assets/delete-DNgmAcy0.js +6 -0
  486. langflow/frontend/assets/dessert-Bi6gyYf-.js +6 -0
  487. langflow/frontend/assets/diameter-a93r8rjy.js +6 -0
  488. langflow/frontend/assets/diamond-0p-8DpG5.js +6 -0
  489. langflow/frontend/assets/diamond-minus-COaE18H5.js +6 -0
  490. langflow/frontend/assets/diamond-percent-Df698BfA.js +6 -0
  491. langflow/frontend/assets/diamond-plus-D3eQ62H4.js +6 -0
  492. langflow/frontend/assets/dice-1-DnL3C4vE.js +6 -0
  493. langflow/frontend/assets/dice-2-BtEh1DPp.js +6 -0
  494. langflow/frontend/assets/dice-3-DVXeHqgh.js +6 -0
  495. langflow/frontend/assets/dice-4-i1t533VC.js +6 -0
  496. langflow/frontend/assets/dice-5-DL_QrdV9.js +6 -0
  497. langflow/frontend/assets/dice-6-CEN5iQ7F.js +6 -0
  498. langflow/frontend/assets/dices-BJFgAPPA.js +6 -0
  499. langflow/frontend/assets/diff-C5upn_lT.js +6 -0
  500. langflow/frontend/assets/disc-2-CWruH8PS.js +6 -0
  501. langflow/frontend/assets/disc-3-BHOYBnsT.js +6 -0
  502. langflow/frontend/assets/disc-album-BQllRW2x.js +6 -0
  503. langflow/frontend/assets/disc-eKt9DAPl.js +6 -0
  504. langflow/frontend/assets/divide-BQ4_k1d1.js +6 -0
  505. langflow/frontend/assets/dna-dZI_EwH-.js +6 -0
  506. langflow/frontend/assets/dna-off-I9s41lB9.js +6 -0
  507. langflow/frontend/assets/dock-B1Bdxowp.js +6 -0
  508. langflow/frontend/assets/dog-BR7ug1Wi.js +6 -0
  509. langflow/frontend/assets/dollar-sign-BrPvGKWr.js +6 -0
  510. langflow/frontend/assets/donut-Dj02uIog.js +6 -0
  511. langflow/frontend/assets/door-closed-wL5v0Vb0.js +6 -0
  512. langflow/frontend/assets/door-open-CcjATHeV.js +6 -0
  513. langflow/frontend/assets/dot-b94B4R9h.js +6 -0
  514. langflow/frontend/assets/download-Dq5Dm54C.js +6 -0
  515. langflow/frontend/assets/drafting-compass-vwA4Ho1z.js +6 -0
  516. langflow/frontend/assets/drama-CvKReENk.js +6 -0
  517. langflow/frontend/assets/dribbble-BbwrE9Yy.js +6 -0
  518. langflow/frontend/assets/drill--IJn0pWJ.js +6 -0
  519. langflow/frontend/assets/droplet-ClYRsdb8.js +6 -0
  520. langflow/frontend/assets/droplet-off-CFIzG0Ol.js +6 -0
  521. langflow/frontend/assets/droplets-BKLSMAGX.js +6 -0
  522. langflow/frontend/assets/drum-C7xB3QRH.js +6 -0
  523. langflow/frontend/assets/drumstick-B-hfKO8B.js +6 -0
  524. langflow/frontend/assets/dumbbell-DVaOS0FX.js +6 -0
  525. langflow/frontend/assets/ear-Ds37MAXI.js +6 -0
  526. langflow/frontend/assets/ear-off-PR_WQH1k.js +6 -0
  527. langflow/frontend/assets/earth-CA7q24-B.js +6 -0
  528. langflow/frontend/assets/earth-lock-C_A8Ahn1.js +6 -0
  529. langflow/frontend/assets/eclipse-BszuASH0.js +6 -0
  530. langflow/frontend/assets/egg-dhQLHf-p.js +6 -0
  531. langflow/frontend/assets/egg-fried-CCdZahuH.js +6 -0
  532. langflow/frontend/assets/egg-off-DjWCi1Kv.js +6 -0
  533. langflow/frontend/assets/ellipsis-CVuUKx17.js +6 -0
  534. langflow/frontend/assets/ellipsis-vertical-D_fRPINS.js +6 -0
  535. langflow/frontend/assets/equal-Bt5xcGZG.js +6 -0
  536. langflow/frontend/assets/equal-approximately-B1e5vblr.js +6 -0
  537. langflow/frontend/assets/equal-not-COi6tuqB.js +6 -0
  538. langflow/frontend/assets/eraser-ClwGEu2r.js +6 -0
  539. langflow/frontend/assets/ethernet-port-BaIsGepi.js +6 -0
  540. langflow/frontend/assets/euro-CzKiwxLv.js +6 -0
  541. langflow/frontend/assets/expand-C7mmmW2t.js +6 -0
  542. langflow/frontend/assets/eye-Y1wrQoS5.js +6 -0
  543. langflow/frontend/assets/eye-closed-Og5A_krH.js +6 -0
  544. langflow/frontend/assets/eye-off-Bny-wJcw.js +6 -0
  545. langflow/frontend/assets/facebook-D1YivKM-.js +6 -0
  546. langflow/frontend/assets/factory-BEYmvm6v.js +6 -0
  547. langflow/frontend/assets/fan-BV08YHfu.js +6 -0
  548. langflow/frontend/assets/fast-forward-CHJOu0Q-.js +6 -0
  549. langflow/frontend/assets/feather-B3rvCCo9.js +6 -0
  550. langflow/frontend/assets/fence-kbQqi4Ww.js +6 -0
  551. langflow/frontend/assets/ferris-wheel-C_MWhi8b.js +6 -0
  552. langflow/frontend/assets/figma-mbLL6Z_A.js +6 -0
  553. langflow/frontend/assets/file-DjQpgvN_.js +6 -0
  554. langflow/frontend/assets/file-archive-Cy00BTxG.js +6 -0
  555. langflow/frontend/assets/file-audio-2-1ZahxTag.js +6 -0
  556. langflow/frontend/assets/file-audio-BfdYg6TN.js +6 -0
  557. langflow/frontend/assets/file-axis-3d-D_PzfWrG.js +6 -0
  558. langflow/frontend/assets/file-badge-2-DW_r3C03.js +6 -0
  559. langflow/frontend/assets/file-badge-P_R0iIF4.js +6 -0
  560. langflow/frontend/assets/file-box-BbdwRlZo.js +6 -0
  561. langflow/frontend/assets/file-chart-column-CH5Cl6Vo.js +6 -0
  562. langflow/frontend/assets/file-chart-column-increasing-BwKb_oTm.js +6 -0
  563. langflow/frontend/assets/file-chart-line-DqFdt9kQ.js +6 -0
  564. langflow/frontend/assets/file-chart-pie-DefSZfRa.js +6 -0
  565. langflow/frontend/assets/file-check-2-RXuJsXXj.js +6 -0
  566. langflow/frontend/assets/file-check-BYDnCPax.js +6 -0
  567. langflow/frontend/assets/file-clock-DOERBDCj.js +6 -0
  568. langflow/frontend/assets/file-code-0-hWc2HC.js +6 -0
  569. langflow/frontend/assets/file-code-2-DQ_93XuW.js +6 -0
  570. langflow/frontend/assets/file-cog-BdE4EEMa.js +6 -0
  571. langflow/frontend/assets/file-diff-CtTrIgxG.js +6 -0
  572. langflow/frontend/assets/file-digit-Iwphm6BD.js +6 -0
  573. langflow/frontend/assets/file-down-Ck14OjJt.js +6 -0
  574. langflow/frontend/assets/file-heart-DgeG_u2p.js +6 -0
  575. langflow/frontend/assets/file-image-BRsYiX2B.js +6 -0
  576. langflow/frontend/assets/file-input-D8d6wAL7.js +6 -0
  577. langflow/frontend/assets/file-json-2-Cp005a7z.js +6 -0
  578. langflow/frontend/assets/file-json-DOxvIPN5.js +6 -0
  579. langflow/frontend/assets/file-key-2-B9ul6SjG.js +6 -0
  580. langflow/frontend/assets/file-key-CjH4-RUQ.js +6 -0
  581. langflow/frontend/assets/file-lock-2-Cmos9f8R.js +6 -0
  582. langflow/frontend/assets/file-lock-qOLsgF3e.js +6 -0
  583. langflow/frontend/assets/file-minus-2-k1jAjC0Z.js +6 -0
  584. langflow/frontend/assets/file-minus-CIP6ezxw.js +6 -0
  585. langflow/frontend/assets/file-music-BO8AilAF.js +6 -0
  586. langflow/frontend/assets/file-output-BWt-jJjY.js +6 -0
  587. langflow/frontend/assets/file-pen-Cl_qYiOD.js +6 -0
  588. langflow/frontend/assets/file-pen-line-BLsV3na3.js +6 -0
  589. langflow/frontend/assets/file-plus-2-DmtjcO1f.js +6 -0
  590. langflow/frontend/assets/file-plus-CjX61yZI.js +6 -0
  591. langflow/frontend/assets/file-question-D1s2EnEi.js +6 -0
  592. langflow/frontend/assets/file-scan-BtOXjfkx.js +6 -0
  593. langflow/frontend/assets/file-search-2-C62uqFii.js +6 -0
  594. langflow/frontend/assets/file-search-SoFJ_6Ps.js +6 -0
  595. langflow/frontend/assets/file-sliders-BwoNTa0w.js +6 -0
  596. langflow/frontend/assets/file-spreadsheet-D7s0vz6X.js +6 -0
  597. langflow/frontend/assets/file-stack-CAOg05Cf.js +6 -0
  598. langflow/frontend/assets/file-symlink-BieImjU3.js +6 -0
  599. langflow/frontend/assets/file-terminal-DEJpQ6UE.js +6 -0
  600. langflow/frontend/assets/file-text-BPOIgq28.js +6 -0
  601. langflow/frontend/assets/file-type-2-4jD6JU2J.js +6 -0
  602. langflow/frontend/assets/file-type-DvUFi4hv.js +6 -0
  603. langflow/frontend/assets/file-up-Ctxhu7Ye.js +6 -0
  604. langflow/frontend/assets/file-user-Pi0Aj9xA.js +6 -0
  605. langflow/frontend/assets/file-video-2-_psUeOOy.js +6 -0
  606. langflow/frontend/assets/file-video-C7sonoXL.js +6 -0
  607. langflow/frontend/assets/file-volume-2-DBBXt8gz.js +6 -0
  608. langflow/frontend/assets/file-volume-DVbA5-Ds.js +6 -0
  609. langflow/frontend/assets/file-warning-MAtWC6L8.js +6 -0
  610. langflow/frontend/assets/file-x-2-Buf7GU_G.js +6 -0
  611. langflow/frontend/assets/file-x-B6HPhurJ.js +6 -0
  612. langflow/frontend/assets/files-DSBUfdWk.js +6 -0
  613. langflow/frontend/assets/film-DOi3QeWb.js +6 -0
  614. langflow/frontend/assets/fingerprint-CXB2dcmC.js +6 -0
  615. langflow/frontend/assets/fire-extinguisher-CeDLzfLT.js +6 -0
  616. langflow/frontend/assets/fish-e0C3erj5.js +6 -0
  617. langflow/frontend/assets/fish-off-B15WwwXi.js +6 -0
  618. langflow/frontend/assets/fish-symbol-BWvljjWX.js +6 -0
  619. langflow/frontend/assets/flag-BFn9drT6.js +6 -0
  620. langflow/frontend/assets/flag-off-B93JBYsq.js +6 -0
  621. langflow/frontend/assets/flag-triangle-left-DI0eYHt7.js +6 -0
  622. langflow/frontend/assets/flag-triangle-right-B42qvniw.js +6 -0
  623. langflow/frontend/assets/flame-kindling-B8TD1nJQ.js +6 -0
  624. langflow/frontend/assets/flame-yaZnwjKV.js +6 -0
  625. langflow/frontend/assets/flashlight-BQIl3IpW.js +6 -0
  626. langflow/frontend/assets/flashlight-off-D_-jT97K.js +6 -0
  627. langflow/frontend/assets/flask-conical-CHYXrQz0.js +6 -0
  628. langflow/frontend/assets/flask-conical-off-DKVX4iqz.js +6 -0
  629. langflow/frontend/assets/flask-round-BjQ9GAQf.js +6 -0
  630. langflow/frontend/assets/flip-horizontal-2-CLXO4TGg.js +6 -0
  631. langflow/frontend/assets/flip-horizontal-CBCzeHti.js +6 -0
  632. langflow/frontend/assets/flip-vertical-2-iT_B38iJ.js +6 -0
  633. langflow/frontend/assets/flip-vertical-gXuxA0OQ.js +6 -0
  634. langflow/frontend/assets/flower-2-Bca1Ck7g.js +6 -0
  635. langflow/frontend/assets/flower-DpuQRbmp.js +6 -0
  636. langflow/frontend/assets/focus-BqPsaGjU.js +6 -0
  637. langflow/frontend/assets/fold-horizontal-BehS_WQ7.js +6 -0
  638. langflow/frontend/assets/fold-vertical-CyY2vtMk.js +6 -0
  639. langflow/frontend/assets/folder-archive-BAinHuMQ.js +6 -0
  640. langflow/frontend/assets/folder-check-DNFwTBTN.js +6 -0
  641. langflow/frontend/assets/folder-clock-D_2WLn5P.js +6 -0
  642. langflow/frontend/assets/folder-closed-CGYZNl2H.js +6 -0
  643. langflow/frontend/assets/folder-code-BuzzI1RJ.js +6 -0
  644. langflow/frontend/assets/folder-cog-CuLMHoIt.js +6 -0
  645. langflow/frontend/assets/folder-dot-quKDC9Lq.js +6 -0
  646. langflow/frontend/assets/folder-down-DSLmJgPq.js +6 -0
  647. langflow/frontend/assets/folder-git-2-Bxh5ZAVa.js +6 -0
  648. langflow/frontend/assets/folder-git-a_CI5g4g.js +6 -0
  649. langflow/frontend/assets/folder-heart-D_ZGMgfz.js +6 -0
  650. langflow/frontend/assets/folder-input-CiL9qPZV.js +6 -0
  651. langflow/frontend/assets/folder-kanban-BgyHqi0P.js +6 -0
  652. langflow/frontend/assets/folder-key-DeICPkae.js +6 -0
  653. langflow/frontend/assets/folder-lock-CHM-fXY_.js +6 -0
  654. langflow/frontend/assets/folder-minus-Im-1anc5.js +6 -0
  655. langflow/frontend/assets/folder-open-RTm4lw0r.js +6 -0
  656. langflow/frontend/assets/folder-open-dot-K6CDwJgB.js +6 -0
  657. langflow/frontend/assets/folder-output-B_dfcjyZ.js +6 -0
  658. langflow/frontend/assets/folder-pFgJBlMx.js +6 -0
  659. langflow/frontend/assets/folder-pen-Chockbm5.js +6 -0
  660. langflow/frontend/assets/folder-plus-dniwJW7J.js +6 -0
  661. langflow/frontend/assets/folder-root-D_57lkVb.js +6 -0
  662. langflow/frontend/assets/folder-search-2-DC-2VrkS.js +6 -0
  663. langflow/frontend/assets/folder-search-BNKm965K.js +6 -0
  664. langflow/frontend/assets/folder-symlink-BcgdmDtb.js +6 -0
  665. langflow/frontend/assets/folder-sync-1T6-XOtQ.js +6 -0
  666. langflow/frontend/assets/folder-tree-C3so4vEU.js +6 -0
  667. langflow/frontend/assets/folder-up-COFYP1oz.js +6 -0
  668. langflow/frontend/assets/folder-x-BLlN3YLu.js +6 -0
  669. langflow/frontend/assets/folders-SZrVKXwg.js +6 -0
  670. langflow/frontend/assets/footprints-CDAAy4Wz.js +6 -0
  671. langflow/frontend/assets/forklift-DmdG35uV.js +6 -0
  672. langflow/frontend/assets/forward-1HsNRcG8.js +6 -0
  673. langflow/frontend/assets/frame-BovTax1d.js +6 -0
  674. langflow/frontend/assets/framer-j8ff6pIs.js +6 -0
  675. langflow/frontend/assets/frown-D0iaoYNS.js +6 -0
  676. langflow/frontend/assets/fuel-faXeMv1N.js +6 -0
  677. langflow/frontend/assets/fullscreen-CRpzIegV.js +6 -0
  678. langflow/frontend/assets/funnel-1-bk_QHe.js +6 -0
  679. langflow/frontend/assets/funnel-plus-Bsp208XH.js +6 -0
  680. langflow/frontend/assets/funnel-x-DL396SXW.js +6 -0
  681. langflow/frontend/assets/gallery-horizontal-Dm9sdx68.js +6 -0
  682. langflow/frontend/assets/gallery-horizontal-end-Dpyr4Ygb.js +6 -0
  683. langflow/frontend/assets/gallery-thumbnails-BizYXv_e.js +6 -0
  684. langflow/frontend/assets/gallery-vertical-HRB_iyK6.js +6 -0
  685. langflow/frontend/assets/gallery-vertical-end-DyaCoNJE.js +6 -0
  686. langflow/frontend/assets/gamepad-2-BVTF3mqj.js +6 -0
  687. langflow/frontend/assets/gamepad-CxEGgC35.js +6 -0
  688. langflow/frontend/assets/gauge-IdAEJ0kJ.js +6 -0
  689. langflow/frontend/assets/gavel-Cf_t06A-.js +6 -0
  690. langflow/frontend/assets/gem-CIIJrACa.js +6 -0
  691. langflow/frontend/assets/ghost-bq0rR6Q6.js +6 -0
  692. langflow/frontend/assets/gift-C04GwpRr.js +6 -0
  693. langflow/frontend/assets/git-branch-DT8lJfIe.js +6 -0
  694. langflow/frontend/assets/git-branch-plus-z2nKEguc.js +6 -0
  695. langflow/frontend/assets/git-commit-horizontal-BNrw6h_X.js +6 -0
  696. langflow/frontend/assets/git-commit-vertical-BJBCCrSu.js +6 -0
  697. langflow/frontend/assets/git-compare-Q4kwJVvG.js +6 -0
  698. langflow/frontend/assets/git-compare-arrows-D18LA56E.js +6 -0
  699. langflow/frontend/assets/git-fork-630Vd8C-.js +6 -0
  700. langflow/frontend/assets/git-graph-DMgYs0my.js +6 -0
  701. langflow/frontend/assets/git-merge-Di4VPVPr.js +6 -0
  702. langflow/frontend/assets/git-pull-request-BkXRobDX.js +6 -0
  703. langflow/frontend/assets/git-pull-request-arrow-50B44C11.js +6 -0
  704. langflow/frontend/assets/git-pull-request-closed-CMx3VK_Y.js +6 -0
  705. langflow/frontend/assets/git-pull-request-create-VathYLG_.js +6 -0
  706. langflow/frontend/assets/git-pull-request-create-arrow-1hRlGHo3.js +6 -0
  707. langflow/frontend/assets/git-pull-request-draft-4Z_CKmgP.js +6 -0
  708. langflow/frontend/assets/github-DMd3-02s.js +6 -0
  709. langflow/frontend/assets/gitlab-BU_ET8_I.js +6 -0
  710. langflow/frontend/assets/glass-water-BqDe1o7x.js +6 -0
  711. langflow/frontend/assets/glasses-DsB_LgQy.js +6 -0
  712. langflow/frontend/assets/globe-80YdjaPb.js +6 -0
  713. langflow/frontend/assets/globe-lock-Bw-Cd6nF.js +6 -0
  714. langflow/frontend/assets/goal-DY8IQVn2.js +6 -0
  715. langflow/frontend/assets/grab-Ui5GAGKe.js +6 -0
  716. langflow/frontend/assets/graduation-cap-DZd5qlKy.js +6 -0
  717. langflow/frontend/assets/grape-CPzDhPID.js +6 -0
  718. langflow/frontend/assets/grid-2x2-UdjQWFOV.js +6 -0
  719. langflow/frontend/assets/grid-2x2-check-C8BnNSGI.js +6 -0
  720. langflow/frontend/assets/grid-2x2-plus-BBMBYUjt.js +6 -0
  721. langflow/frontend/assets/grid-2x2-x-Dj93ZVGM.js +6 -0
  722. langflow/frontend/assets/grid-3x3-DbDDPh2n.js +6 -0
  723. langflow/frontend/assets/grip-Bz90IxX4.js +6 -0
  724. langflow/frontend/assets/grip-horizontal-Cz3Khj1B.js +6 -0
  725. langflow/frontend/assets/grip-vertical-DtSLX07r.js +6 -0
  726. langflow/frontend/assets/group-DKDntQd1.js +6 -0
  727. langflow/frontend/assets/guitar-BWU2nMRN.js +6 -0
  728. langflow/frontend/assets/ham-Cma1G8Xs.js +6 -0
  729. langflow/frontend/assets/hammer-1jG8-eZm.js +6 -0
  730. langflow/frontend/assets/hand-BIkojRmR.js +6 -0
  731. langflow/frontend/assets/hand-coins-hqlxvxmm.js +6 -0
  732. langflow/frontend/assets/hand-heart-6e_zAGTv.js +6 -0
  733. langflow/frontend/assets/hand-helping-BF5hAl_w.js +6 -0
  734. langflow/frontend/assets/hand-metal-BVy7_4cQ.js +6 -0
  735. langflow/frontend/assets/hand-platter-D-xscMcU.js +6 -0
  736. langflow/frontend/assets/handshake-7AXlWWGI.js +6 -0
  737. langflow/frontend/assets/hard-drive-BxRnPUbK.js +6 -0
  738. langflow/frontend/assets/hard-drive-download-BX5QHVFg.js +6 -0
  739. langflow/frontend/assets/hard-drive-upload-chMNyeSV.js +6 -0
  740. langflow/frontend/assets/hard-hat-WbgSDXg5.js +6 -0
  741. langflow/frontend/assets/hash-BQ4uug9c.js +6 -0
  742. langflow/frontend/assets/haze-D-GnfVst.js +6 -0
  743. langflow/frontend/assets/hdmi-port-BEAd4Wt8.js +6 -0
  744. langflow/frontend/assets/heading-1-CiMsyZDi.js +6 -0
  745. langflow/frontend/assets/heading-2-Czgj1mkH.js +6 -0
  746. langflow/frontend/assets/heading-3-CqFM-jwy.js +6 -0
  747. langflow/frontend/assets/heading-4-CjwRHdKG.js +6 -0
  748. langflow/frontend/assets/heading-5-C-KlC8s6.js +6 -0
  749. langflow/frontend/assets/heading-6-5tcIOjiS.js +6 -0
  750. langflow/frontend/assets/heading-CD7FeKN6.js +6 -0
  751. langflow/frontend/assets/headphone-off-COoiJV1r.js +6 -0
  752. langflow/frontend/assets/headphones-D7S1AuC5.js +6 -0
  753. langflow/frontend/assets/headset-CdE6Eym6.js +6 -0
  754. langflow/frontend/assets/heart-Ch8JKUDz.js +6 -0
  755. langflow/frontend/assets/heart-crack-BPf4Xkm0.js +6 -0
  756. langflow/frontend/assets/heart-handshake-CDz69yh7.js +6 -0
  757. langflow/frontend/assets/heart-minus-CqauV_Cx.js +6 -0
  758. langflow/frontend/assets/heart-off-DC5wBzLR.js +6 -0
  759. langflow/frontend/assets/heart-plus-hOv51cgy.js +6 -0
  760. langflow/frontend/assets/heart-pulse-C2nsALV-.js +6 -0
  761. langflow/frontend/assets/heater-DxLum1pL.js +6 -0
  762. langflow/frontend/assets/hexagon-D5ZXW5tT.js +6 -0
  763. langflow/frontend/assets/highlighter-DPDvMwDP.js +6 -0
  764. langflow/frontend/assets/history-m8Qq4Xlb.js +6 -0
  765. langflow/frontend/assets/hop-D-AxGIUW.js +6 -0
  766. langflow/frontend/assets/hop-off-hT2fB8jS.js +6 -0
  767. langflow/frontend/assets/hospital-CvJ0Ia_m.js +6 -0
  768. langflow/frontend/assets/hotel-D3j7DKAC.js +6 -0
  769. langflow/frontend/assets/hourglass-BWi6M7BG.js +6 -0
  770. langflow/frontend/assets/house-CgaaxzBK.js +6 -0
  771. langflow/frontend/assets/house-plug-CrW_XgHI.js +6 -0
  772. langflow/frontend/assets/house-plus-F3MX9EEk.js +6 -0
  773. langflow/frontend/assets/house-wifi-DtAD1vys.js +6 -0
  774. langflow/frontend/assets/ice-cream-bowl-C03CRKp4.js +6 -0
  775. langflow/frontend/assets/ice-cream-cone-BJabUeaL.js +6 -0
  776. langflow/frontend/assets/id-card-eNoaabz9.js +6 -0
  777. langflow/frontend/assets/image-Blup1gPl.js +6 -0
  778. langflow/frontend/assets/image-down-C61adJyK.js +6 -0
  779. langflow/frontend/assets/image-minus-C3dJhb4e.js +6 -0
  780. langflow/frontend/assets/image-off-CTcTSFvq.js +6 -0
  781. langflow/frontend/assets/image-play-DDGhNBe9.js +6 -0
  782. langflow/frontend/assets/image-plus-BBgwn8Sd.js +6 -0
  783. langflow/frontend/assets/image-up-BbB-kmNq.js +6 -0
  784. langflow/frontend/assets/image-upscale-BuO3Qya1.js +6 -0
  785. langflow/frontend/assets/images-BiSj3APX.js +6 -0
  786. langflow/frontend/assets/import-B-7G1Qt_.js +6 -0
  787. langflow/frontend/assets/inbox-Cyq4vqkn.js +6 -0
  788. langflow/frontend/assets/indent-decrease-DEXPKrbt.js +6 -0
  789. langflow/frontend/assets/indent-increase-2G5O9EIn.js +6 -0
  790. langflow/frontend/assets/index-0FVhSSXv.js +205 -0
  791. langflow/frontend/assets/index-3TrwYqia.js +1 -0
  792. langflow/frontend/assets/index-4tJA7_nN.js +1 -0
  793. langflow/frontend/assets/index-6z0Nqvyk.js +1 -0
  794. langflow/frontend/assets/index-B-wbXhJt.js +1 -0
  795. langflow/frontend/assets/index-B-zoVY6N.js +1 -0
  796. langflow/frontend/assets/index-B0_6chj_.js +1 -0
  797. langflow/frontend/assets/index-B0a_OwEU.js +1 -0
  798. langflow/frontend/assets/index-B2m30Cet.js +1 -0
  799. langflow/frontend/assets/index-B3onOnMw.js +1 -0
  800. langflow/frontend/assets/index-B7uNcRJ1.js +1 -0
  801. langflow/frontend/assets/index-B90nnG-X.js +1 -0
  802. langflow/frontend/assets/index-BBHMmEw_.js +1 -0
  803. langflow/frontend/assets/index-BB_YHLpx.js +1 -0
  804. langflow/frontend/assets/index-BDj-iXXL.js +1 -0
  805. langflow/frontend/assets/index-BE8UJPuj.js +1 -0
  806. langflow/frontend/assets/index-BF_6Sfpu.js +1 -0
  807. langflow/frontend/assets/index-BImV1khi.js +495 -0
  808. langflow/frontend/assets/index-BK82cETY.js +1 -0
  809. langflow/frontend/assets/index-BMIxHQqW.js +1 -0
  810. langflow/frontend/assets/index-BMo4bXAs.css +1 -0
  811. langflow/frontend/assets/index-BPfryKGe.js +1 -0
  812. langflow/frontend/assets/index-BPoWJLjN.js +14 -0
  813. langflow/frontend/assets/index-BPy7LexL.js +1 -0
  814. langflow/frontend/assets/index-BUHeDdFy.js +1 -0
  815. langflow/frontend/assets/index-BUb0b7ZX.js +1 -0
  816. langflow/frontend/assets/index-BUbZZukK.js +1 -0
  817. langflow/frontend/assets/index-BV5J-v-J.js +399 -0
  818. langflow/frontend/assets/index-BWd0ZN4Z.js +1 -0
  819. langflow/frontend/assets/index-BYochfm8.js +1 -0
  820. langflow/frontend/assets/index-BZ-7dQnL.js +1 -0
  821. langflow/frontend/assets/index-BZmREVHV.js +1 -0
  822. langflow/frontend/assets/index-B_8ZL5Hy.js +1 -0
  823. langflow/frontend/assets/index-B_MVKVuF.js +1 -0
  824. langflow/frontend/assets/index-Ba1bU4sM.js +1 -0
  825. langflow/frontend/assets/index-Ba7-7Y4d.js +1 -0
  826. langflow/frontend/assets/index-Bc3VsIgk.js +1 -0
  827. langflow/frontend/assets/index-BjqgdepV.js +1 -0
  828. langflow/frontend/assets/index-BkuIpYm8.js +1 -0
  829. langflow/frontend/assets/index-BlSzfje3.js +1 -0
  830. langflow/frontend/assets/index-Bmg2KVh7.js +21 -0
  831. langflow/frontend/assets/index-Bn0-oJDX.js +1 -0
  832. langflow/frontend/assets/index-Bnz4XJLx.js +1 -0
  833. langflow/frontend/assets/index-BqyyhVGV.js +1 -0
  834. langflow/frontend/assets/index-BrBvpJOO.js +20 -0
  835. langflow/frontend/assets/index-BrGwyEoL.js +1 -0
  836. langflow/frontend/assets/index-Brdx25QD.js +1 -0
  837. langflow/frontend/assets/index-Bs0eD38T.js +1 -0
  838. langflow/frontend/assets/index-BsIUtXG7.js +1 -0
  839. langflow/frontend/assets/index-Bv9WeVXs.js +1 -0
  840. langflow/frontend/assets/index-BxpvIsii.js +1 -0
  841. langflow/frontend/assets/index-BzTe6EYl.js +1 -0
  842. langflow/frontend/assets/index-C5vI_DSn.js +1 -0
  843. langflow/frontend/assets/index-C7DBsE76.js +1 -0
  844. langflow/frontend/assets/index-C7xEabxZ.js +1 -0
  845. langflow/frontend/assets/index-C8SBiyP0.js +1 -0
  846. langflow/frontend/assets/index-C9C4YVFL.js +1 -0
  847. langflow/frontend/assets/index-CAM7421R.js +1 -0
  848. langflow/frontend/assets/index-CAx53syk.js +1 -0
  849. langflow/frontend/assets/index-CBVLw8FA.js +1 -0
  850. langflow/frontend/assets/index-CC6ON7Xj.js +1 -0
  851. langflow/frontend/assets/index-CCCVPbc3.js +1 -0
  852. langflow/frontend/assets/index-CDDB9iyu.js +1 -0
  853. langflow/frontend/assets/index-CH-Nr_Xj.js +127 -0
  854. langflow/frontend/assets/index-CH3Fbxcb.js +1 -0
  855. langflow/frontend/assets/index-CH4A6lMb.js +1 -0
  856. langflow/frontend/assets/index-CI2V4Zfj.js +1 -0
  857. langflow/frontend/assets/index-CJ8Nr12j.js +1 -0
  858. langflow/frontend/assets/index-CKbYBqDg.js +1 -0
  859. langflow/frontend/assets/index-CKpYWc8V.js +1 -0
  860. langflow/frontend/assets/index-CNVTXezp.js +1 -0
  861. langflow/frontend/assets/index-COBP87dd.js +7 -0
  862. langflow/frontend/assets/index-CQ8v6mfY.js +1 -0
  863. langflow/frontend/assets/index-CQL2k-_E.js +1 -0
  864. langflow/frontend/assets/index-CQuU9_fh.js +1 -0
  865. langflow/frontend/assets/index-CTEuNhFa.js +7323 -0
  866. langflow/frontend/assets/index-CULqnlGT.js +1 -0
  867. langflow/frontend/assets/index-CVMEQfzA.js +1 -0
  868. langflow/frontend/assets/index-CVR_do-o.js +1 -0
  869. langflow/frontend/assets/index-CWSXsDGU.js +1 -0
  870. langflow/frontend/assets/index-CX-PfSVM.js +1 -0
  871. langflow/frontend/assets/index-CZ8tibho.js +1 -0
  872. langflow/frontend/assets/index-CZTlbmew.js +1 -0
  873. langflow/frontend/assets/index-C_ShAAtC.js +1 -0
  874. langflow/frontend/assets/index-Cc2rBMbl.js +1 -0
  875. langflow/frontend/assets/index-CcSLA83H.js +1 -0
  876. langflow/frontend/assets/index-CdtkkJBK.js +1 -0
  877. langflow/frontend/assets/index-CgpTeXS9.js +1 -0
  878. langflow/frontend/assets/index-ChynGSoW.js +1 -0
  879. langflow/frontend/assets/index-Cj4zskyc.js +1 -0
  880. langflow/frontend/assets/index-Cn-Pe2iI.js +1 -0
  881. langflow/frontend/assets/index-CnH1bLaj.js +1 -0
  882. langflow/frontend/assets/index-CnZk24hL.js +1 -0
  883. langflow/frontend/assets/index-Cq4kSK7t.js +1 -0
  884. langflow/frontend/assets/index-CqlUxg9E.js +1 -0
  885. langflow/frontend/assets/index-Cr_BpdBW.js +1 -0
  886. langflow/frontend/assets/index-CriFKi76.js +1 -0
  887. langflow/frontend/assets/index-CsaGD2DA.js +1 -0
  888. langflow/frontend/assets/index-CsuUoVB-.js +1 -0
  889. langflow/frontend/assets/index-CuUVncgq.js +1 -0
  890. langflow/frontend/assets/index-CvbYiTWN.js +1 -0
  891. langflow/frontend/assets/index-CyxvoQUw.js +1 -0
  892. langflow/frontend/assets/index-D-x1xRrh.js +1 -0
  893. langflow/frontend/assets/index-D0uzI1O9.js +1 -0
  894. langflow/frontend/assets/index-D19iHHLJ.js +1 -0
  895. langflow/frontend/assets/index-D4p1ZLVX.js +1 -0
  896. langflow/frontend/assets/index-D6dQ6puQ.js +1 -0
  897. langflow/frontend/assets/index-D7EzEbxj.js +1 -0
  898. langflow/frontend/assets/index-D7JcUIGR.js +1 -0
  899. langflow/frontend/assets/index-D854M0_Y.js +1 -0
  900. langflow/frontend/assets/index-D88_YaoZ.js +1 -0
  901. langflow/frontend/assets/index-DBf8ynaZ.js +1 -0
  902. langflow/frontend/assets/index-DBpyCJ7o.js +1 -0
  903. langflow/frontend/assets/index-DEOJMf2K.js +1 -0
  904. langflow/frontend/assets/index-DEXnLTMJ.js +1 -0
  905. langflow/frontend/assets/index-DJuq831c.js +1 -0
  906. langflow/frontend/assets/index-DOZ-8rBU.js +1 -0
  907. langflow/frontend/assets/index-DOwyim5c.js +2 -0
  908. langflow/frontend/assets/index-DPndDoCo.js +1 -0
  909. langflow/frontend/assets/index-DRZjpDlS.js +767 -0
  910. langflow/frontend/assets/index-DTryTo6Q.js +1 -0
  911. langflow/frontend/assets/index-DTwufW2W.js +1 -0
  912. langflow/frontend/assets/index-DVEX_HvJ.js +1 -0
  913. langflow/frontend/assets/index-DWNBIxSU.js +1 -0
  914. langflow/frontend/assets/index-DWkXX_YH.js +1 -0
  915. langflow/frontend/assets/index-DWzy33dX.js +1 -0
  916. langflow/frontend/assets/index-DZ8wwkX-.js +1 -0
  917. langflow/frontend/assets/index-DZK5BZ9V.js +1 -0
  918. langflow/frontend/assets/index-Da-5C6pQ.js +1 -0
  919. langflow/frontend/assets/index-DaRoQgoQ.js +1 -0
  920. langflow/frontend/assets/index-DdohG-Qv.js +1 -0
  921. langflow/frontend/assets/index-DfIZo4rh.js +1 -0
  922. langflow/frontend/assets/index-DguSSpbV.js +381 -0
  923. langflow/frontend/assets/index-DhLLSj_s.js +1 -0
  924. langflow/frontend/assets/index-DkxRkOAO.js +13 -0
  925. langflow/frontend/assets/index-DlcXxKOf.js +1 -0
  926. langflow/frontend/assets/index-Dn7Bu2s3.js +1 -0
  927. langflow/frontend/assets/index-DqytFMQU.js +1 -0
  928. langflow/frontend/assets/index-DsWxDyLL.js +1 -0
  929. langflow/frontend/assets/index-DucJAaGN.js +1 -0
  930. langflow/frontend/assets/index-Duvn0GMv.js +1 -0
  931. langflow/frontend/assets/index-Dv-O2BNC.js +1 -0
  932. langflow/frontend/assets/index-DvD84j3j.js +1 -0
  933. langflow/frontend/assets/index-DwyTXOJO.js +108 -0
  934. langflow/frontend/assets/index-DyBgwwg4.js +1 -0
  935. langflow/frontend/assets/index-Dydanyt3.js +1 -0
  936. langflow/frontend/assets/index-DyfrLdCx.js +1 -0
  937. langflow/frontend/assets/index-FxcnBKx3.js +1 -0
  938. langflow/frontend/assets/index-H4l1i6Hf.js +1 -0
  939. langflow/frontend/assets/index-HvwWx3rB.js +1 -0
  940. langflow/frontend/assets/index-IHc6vxe5.js +1 -0
  941. langflow/frontend/assets/index-JPA_hYSx.js +1 -0
  942. langflow/frontend/assets/index-LeTXg6wZ.js +1 -0
  943. langflow/frontend/assets/index-NQqBMCDr.js +1 -0
  944. langflow/frontend/assets/index-OL9tpD8A.js +1 -0
  945. langflow/frontend/assets/index-Ow6054nJ.js +1 -0
  946. langflow/frontend/assets/index-Pla3pGip.js +1 -0
  947. langflow/frontend/assets/index-TLARXkF8.js +1 -0
  948. langflow/frontend/assets/index-TgoV8nd0.js +1 -0
  949. langflow/frontend/assets/index-UehLlmiN.js +1 -0
  950. langflow/frontend/assets/index-VPb5Shjk.js +1 -0
  951. langflow/frontend/assets/index-VmuECpu0.js +1 -0
  952. langflow/frontend/assets/index-XXuNHAdJ.js +1 -0
  953. langflow/frontend/assets/index-ZTgKVccl.js +1 -0
  954. langflow/frontend/assets/index-bbTYAs6U.js +1 -0
  955. langflow/frontend/assets/index-fcx9Ylo7.js +1 -0
  956. langflow/frontend/assets/index-fmLYhkZ4.js +1 -0
  957. langflow/frontend/assets/index-gew3mVjB.js +1 -0
  958. langflow/frontend/assets/index-gkeXAmfA.js +1 -0
  959. langflow/frontend/assets/index-gsd0bDLj.js +1 -0
  960. langflow/frontend/assets/index-h1HAJ9a1.js +1 -0
  961. langflow/frontend/assets/index-icvJtI-t.js +1 -0
  962. langflow/frontend/assets/index-ie1u1Rqn.js +1 -0
  963. langflow/frontend/assets/index-is2u2Wgo.js +1 -0
  964. langflow/frontend/assets/index-jBXwIfZq.js +1 -0
  965. langflow/frontend/assets/index-lKCW6ily.js +1 -0
  966. langflow/frontend/assets/index-lUnzlObc.js +281 -0
  967. langflow/frontend/assets/index-lqCXugWU.js +1 -0
  968. langflow/frontend/assets/index-m0YGyHmR.js +1 -0
  969. langflow/frontend/assets/index-nXK9OaaZ.js +1 -0
  970. langflow/frontend/assets/index-nj_JyHAD.js +1 -0
  971. langflow/frontend/assets/index-oMJGhkku.js +185 -0
  972. langflow/frontend/assets/index-p-PXl1xt.js +1 -0
  973. langflow/frontend/assets/index-sz-M1vIJ.js +1 -0
  974. langflow/frontend/assets/index-tukYrrXk.js +1 -0
  975. langflow/frontend/assets/index-vUHuwGVZ.js +1 -0
  976. langflow/frontend/assets/indian-rupee-O9CajFfS.js +6 -0
  977. langflow/frontend/assets/infinity-BLkxpdqX.js +6 -0
  978. langflow/frontend/assets/info-CRQ-dTnF.js +6 -0
  979. langflow/frontend/assets/inspection-panel-DyJB7Wom.js +6 -0
  980. langflow/frontend/assets/instagram-DZaH_wEg.js +6 -0
  981. langflow/frontend/assets/italic-BLBM0ICf.js +6 -0
  982. langflow/frontend/assets/iteration-ccw-Ctc5cT_j.js +6 -0
  983. langflow/frontend/assets/iteration-cw-D3WN-p9y.js +6 -0
  984. langflow/frontend/assets/japanese-yen-BaNr_JXN.js +6 -0
  985. langflow/frontend/assets/joystick-Dd6AOiiS.js +6 -0
  986. langflow/frontend/assets/kanban-BtZegnlG.js +6 -0
  987. langflow/frontend/assets/key-round-D_3Woi3H.js +6 -0
  988. langflow/frontend/assets/key-square-DRvn_Fhv.js +6 -0
  989. langflow/frontend/assets/key-zFF66mCi.js +6 -0
  990. langflow/frontend/assets/keyboard-B0SoxtCN.js +6 -0
  991. langflow/frontend/assets/keyboard-music-DG_C2eKO.js +6 -0
  992. langflow/frontend/assets/keyboard-off-D7BZV1cQ.js +6 -0
  993. langflow/frontend/assets/lamp-Cp1EqzWW.js +6 -0
  994. langflow/frontend/assets/lamp-ceiling-Cr08nNTI.js +6 -0
  995. langflow/frontend/assets/lamp-desk-DvViVB0_.js +6 -0
  996. langflow/frontend/assets/lamp-floor-Cp21ki8G.js +6 -0
  997. langflow/frontend/assets/lamp-wall-down-DvS5L49E.js +6 -0
  998. langflow/frontend/assets/lamp-wall-up-O77RoPL-.js +6 -0
  999. langflow/frontend/assets/land-plot-D3xUsCYa.js +6 -0
  1000. langflow/frontend/assets/landmark-2eY-OvMd.js +6 -0
  1001. langflow/frontend/assets/languages-BdVhV2IM.js +6 -0
  1002. langflow/frontend/assets/laptop-C2VZUCQD.js +6 -0
  1003. langflow/frontend/assets/laptop-minimal-BJmhaeC9.js +6 -0
  1004. langflow/frontend/assets/laptop-minimal-check-DrO5ess9.js +6 -0
  1005. langflow/frontend/assets/lasso-DNQGgH84.js +6 -0
  1006. langflow/frontend/assets/lasso-select-BbdGmThB.js +6 -0
  1007. langflow/frontend/assets/laugh-CuitpOqG.js +6 -0
  1008. langflow/frontend/assets/layers-2-FPRQxAFw.js +6 -0
  1009. langflow/frontend/assets/layers-DRi3jFWj.js +6 -0
  1010. langflow/frontend/assets/layout-dashboard-BF0un9K1.js +6 -0
  1011. langflow/frontend/assets/layout-grid-CYofp62a.js +6 -0
  1012. langflow/frontend/assets/layout-list-q7uJyOgL.js +6 -0
  1013. langflow/frontend/assets/layout-panel-left-By0304sR.js +6 -0
  1014. langflow/frontend/assets/layout-panel-top-7c11t79V.js +6 -0
  1015. langflow/frontend/assets/layout-template-DlHlYFx3.js +6 -0
  1016. langflow/frontend/assets/lazyIconImports-Cpou1J0T.js +2 -0
  1017. langflow/frontend/assets/leaf-BNWCDP1g.js +6 -0
  1018. langflow/frontend/assets/leafy-green-DHk3mPVC.js +6 -0
  1019. langflow/frontend/assets/lectern-DEclGS1a.js +6 -0
  1020. langflow/frontend/assets/letter-text-CzMFT0LY.js +6 -0
  1021. langflow/frontend/assets/library-big-v4lQ02Zc.js +6 -0
  1022. langflow/frontend/assets/library-bqq5Rhw3.js +6 -0
  1023. langflow/frontend/assets/life-buoy-BQVxU42T.js +6 -0
  1024. langflow/frontend/assets/ligature-CiYMF-Zl.js +6 -0
  1025. langflow/frontend/assets/lightbulb-C1uLV46z.js +6 -0
  1026. langflow/frontend/assets/lightbulb-off-CC_iPnyx.js +6 -0
  1027. langflow/frontend/assets/link-2-C82GqZ-C.js +6 -0
  1028. langflow/frontend/assets/link-2-off-BgWfumJo.js +6 -0
  1029. langflow/frontend/assets/link-DTylDZ0C.js +6 -0
  1030. langflow/frontend/assets/linkedin-CpAifWSc.js +6 -0
  1031. langflow/frontend/assets/list-Bsm1c838.js +6 -0
  1032. langflow/frontend/assets/list-check-DkFVgmbv.js +6 -0
  1033. langflow/frontend/assets/list-checks-CH8lwwUg.js +6 -0
  1034. langflow/frontend/assets/list-collapse-D2zPQK9o.js +6 -0
  1035. langflow/frontend/assets/list-end-BlRzFD6x.js +6 -0
  1036. langflow/frontend/assets/list-filter-DOGy2z29.js +6 -0
  1037. langflow/frontend/assets/list-filter-plus-DCVg8G43.js +6 -0
  1038. langflow/frontend/assets/list-minus-BIgBUelo.js +6 -0
  1039. langflow/frontend/assets/list-music-dBn-4Mm8.js +6 -0
  1040. langflow/frontend/assets/list-ordered-DrUsxiSC.js +6 -0
  1041. langflow/frontend/assets/list-plus-B921qzMz.js +6 -0
  1042. langflow/frontend/assets/list-restart-DZP10dFa.js +6 -0
  1043. langflow/frontend/assets/list-start-Dq6SleaQ.js +6 -0
  1044. langflow/frontend/assets/list-todo-DoArrowv.js +6 -0
  1045. langflow/frontend/assets/list-tree-BteVOs83.js +6 -0
  1046. langflow/frontend/assets/list-video-DOUMNcqp.js +6 -0
  1047. langflow/frontend/assets/list-x-Cn7qooKc.js +6 -0
  1048. langflow/frontend/assets/loader-CLSGXN2K.js +6 -0
  1049. langflow/frontend/assets/loader-circle-CbBtPl5L.js +6 -0
  1050. langflow/frontend/assets/loader-pinwheel-DGQQ3P0g.js +6 -0
  1051. langflow/frontend/assets/locate-BIDQI7kl.js +6 -0
  1052. langflow/frontend/assets/locate-fixed-1ZjWxarq.js +6 -0
  1053. langflow/frontend/assets/locate-off-f5erpF72.js +6 -0
  1054. langflow/frontend/assets/location-edit-B4sHedB_.js +6 -0
  1055. langflow/frontend/assets/lock-kHFfo1hu.js +6 -0
  1056. langflow/frontend/assets/lock-keyhole-B-CuQgk8.js +6 -0
  1057. langflow/frontend/assets/lock-keyhole-open-D4j7TAAJ.js +6 -0
  1058. langflow/frontend/assets/lock-open-Dcu-zpze.js +6 -0
  1059. langflow/frontend/assets/log-in-_KHOd-3D.js +6 -0
  1060. langflow/frontend/assets/log-out-Xkeby2sI.js +6 -0
  1061. langflow/frontend/assets/logs-CtG2TZ4x.js +6 -0
  1062. langflow/frontend/assets/lollipop-Cew1zdny.js +6 -0
  1063. langflow/frontend/assets/luggage-R4ZGQqSn.js +6 -0
  1064. langflow/frontend/assets/magnet-DOeB4KDt.js +6 -0
  1065. langflow/frontend/assets/mail-Dgs-CcLl.js +6 -0
  1066. langflow/frontend/assets/mail-check-BAqb6yI8.js +6 -0
  1067. langflow/frontend/assets/mail-minus-D1XUAODi.js +6 -0
  1068. langflow/frontend/assets/mail-open-C2DJBolg.js +6 -0
  1069. langflow/frontend/assets/mail-plus-Bl8r6je6.js +6 -0
  1070. langflow/frontend/assets/mail-question-B5s6mxi8.js +6 -0
  1071. langflow/frontend/assets/mail-search--7gakGgL.js +6 -0
  1072. langflow/frontend/assets/mail-warning-Ch0V9e_Z.js +6 -0
  1073. langflow/frontend/assets/mail-x-Bwpl0eMc.js +6 -0
  1074. langflow/frontend/assets/mailbox-nJIr9W2E.js +6 -0
  1075. langflow/frontend/assets/mails-81iqcapA.js +6 -0
  1076. langflow/frontend/assets/map-CQftFnvl.js +6 -0
  1077. langflow/frontend/assets/map-pin-CUOp900Y.js +6 -0
  1078. langflow/frontend/assets/map-pin-check-DbqWv8NL.js +6 -0
  1079. langflow/frontend/assets/map-pin-check-inside-CWLZqSnt.js +6 -0
  1080. langflow/frontend/assets/map-pin-house-CO861FH0.js +6 -0
  1081. langflow/frontend/assets/map-pin-minus-B2S150yc.js +6 -0
  1082. langflow/frontend/assets/map-pin-minus-inside-DwS78c7Y.js +6 -0
  1083. langflow/frontend/assets/map-pin-off-CA45Pbr2.js +6 -0
  1084. langflow/frontend/assets/map-pin-plus-C3DW3yiK.js +6 -0
  1085. langflow/frontend/assets/map-pin-plus-inside-CEyg5KWT.js +6 -0
  1086. langflow/frontend/assets/map-pin-x-inside-DlbdMlF9.js +6 -0
  1087. langflow/frontend/assets/map-pin-x-tCZ255vf.js +6 -0
  1088. langflow/frontend/assets/map-pinned-U7TH5B5a.js +6 -0
  1089. langflow/frontend/assets/map-plus-DxkNK7O-.js +6 -0
  1090. langflow/frontend/assets/mars-Bq6dxU-a.js +6 -0
  1091. langflow/frontend/assets/mars-stroke-CFm76TLb.js +6 -0
  1092. langflow/frontend/assets/martini-Dw6KBRgP.js +6 -0
  1093. langflow/frontend/assets/maximize-2-BNKFwRHb.js +6 -0
  1094. langflow/frontend/assets/maximize-D3-JEsfX.js +6 -0
  1095. langflow/frontend/assets/medal-CauenFs4.js +6 -0
  1096. langflow/frontend/assets/megaphone-D7kmzfRC.js +6 -0
  1097. langflow/frontend/assets/megaphone-off-Cn6Jo5m8.js +6 -0
  1098. langflow/frontend/assets/meh-z760gabb.js +6 -0
  1099. langflow/frontend/assets/memory-stick-KRxB_2jP.js +6 -0
  1100. langflow/frontend/assets/menu-uOGZG3qo.js +6 -0
  1101. langflow/frontend/assets/merge-DnDGlkVl.js +6 -0
  1102. langflow/frontend/assets/message-circle-BkFBLmV0.js +6 -0
  1103. langflow/frontend/assets/message-circle-code-twRgt9ie.js +6 -0
  1104. langflow/frontend/assets/message-circle-dashed-CIdxrnDM.js +6 -0
  1105. langflow/frontend/assets/message-circle-heart-DMonDpvo.js +6 -0
  1106. langflow/frontend/assets/message-circle-more-BJbPTNX8.js +6 -0
  1107. langflow/frontend/assets/message-circle-off-DPHNReWf.js +6 -0
  1108. langflow/frontend/assets/message-circle-plus-T93DQ6jO.js +6 -0
  1109. langflow/frontend/assets/message-circle-question-Cxt-C85V.js +6 -0
  1110. langflow/frontend/assets/message-circle-reply-BglI2Pvs.js +6 -0
  1111. langflow/frontend/assets/message-circle-warning-D6CQM6xv.js +6 -0
  1112. langflow/frontend/assets/message-circle-x-CIPC25Ab.js +6 -0
  1113. langflow/frontend/assets/message-square-BFwyyBT7.js +6 -0
  1114. langflow/frontend/assets/message-square-code-CyTY-CB1.js +6 -0
  1115. langflow/frontend/assets/message-square-dashed-CRkRfB3s.js +6 -0
  1116. langflow/frontend/assets/message-square-diff-CzoRjWTT.js +6 -0
  1117. langflow/frontend/assets/message-square-dot-DCjfEv6u.js +6 -0
  1118. langflow/frontend/assets/message-square-heart-LG_8nM-J.js +6 -0
  1119. langflow/frontend/assets/message-square-lock-B5TelWyj.js +6 -0
  1120. langflow/frontend/assets/message-square-more-oHlvSOaG.js +6 -0
  1121. langflow/frontend/assets/message-square-off-J3wAR8jK.js +6 -0
  1122. langflow/frontend/assets/message-square-plus-Bw2mX7ri.js +6 -0
  1123. langflow/frontend/assets/message-square-quote-CjQ-xjIp.js +6 -0
  1124. langflow/frontend/assets/message-square-reply-tOnN3-5u.js +6 -0
  1125. langflow/frontend/assets/message-square-share-BbLmn1G2.js +6 -0
  1126. langflow/frontend/assets/message-square-text-CRVWb6Cp.js +6 -0
  1127. langflow/frontend/assets/message-square-warning-BY120G5T.js +6 -0
  1128. langflow/frontend/assets/message-square-x-BgfkluvH.js +6 -0
  1129. langflow/frontend/assets/messages-square-1baSsz7J.js +6 -0
  1130. langflow/frontend/assets/mic-CoMOmSwJ.js +6 -0
  1131. langflow/frontend/assets/mic-off-uugKWxAQ.js +6 -0
  1132. langflow/frontend/assets/mic-vocal-Ph31ypWV.js +6 -0
  1133. langflow/frontend/assets/microchip-oIIqhc8B.js +6 -0
  1134. langflow/frontend/assets/microscope-JviZz8EH.js +6 -0
  1135. langflow/frontend/assets/microwave-Cb3tDfts.js +6 -0
  1136. langflow/frontend/assets/milestone-we_zJhAj.js +6 -0
  1137. langflow/frontend/assets/milk-Ds1WWU0k.js +6 -0
  1138. langflow/frontend/assets/milk-off-DtKFexun.js +6 -0
  1139. langflow/frontend/assets/minimize-2-46WSe-cS.js +6 -0
  1140. langflow/frontend/assets/minimize-D471s40a.js +6 -0
  1141. langflow/frontend/assets/monitor-COKxc0gv.js +6 -0
  1142. langflow/frontend/assets/monitor-check-CFfe6oBS.js +6 -0
  1143. langflow/frontend/assets/monitor-cog-CbgXTZuH.js +6 -0
  1144. langflow/frontend/assets/monitor-dot-BdxxgiXD.js +6 -0
  1145. langflow/frontend/assets/monitor-down-D9dqmgVG.js +6 -0
  1146. langflow/frontend/assets/monitor-off-D-j26EZz.js +6 -0
  1147. langflow/frontend/assets/monitor-pause-DfY_CimT.js +6 -0
  1148. langflow/frontend/assets/monitor-play-D0VrVyw8.js +6 -0
  1149. langflow/frontend/assets/monitor-smartphone-xsPkq7Af.js +6 -0
  1150. langflow/frontend/assets/monitor-speaker-D1PpHMvJ.js +6 -0
  1151. langflow/frontend/assets/monitor-stop-DuqxZnXB.js +6 -0
  1152. langflow/frontend/assets/monitor-up-CSDmyc7t.js +6 -0
  1153. langflow/frontend/assets/monitor-x-CcqgnK5f.js +6 -0
  1154. langflow/frontend/assets/moon-Bc-GKFwT.js +6 -0
  1155. langflow/frontend/assets/moon-star-De8EJ5ST.js +6 -0
  1156. langflow/frontend/assets/mountain-Byfyw1_1.js +6 -0
  1157. langflow/frontend/assets/mountain-snow-BozktKiw.js +6 -0
  1158. langflow/frontend/assets/mouse-CnXbNZkF.js +6 -0
  1159. langflow/frontend/assets/mouse-off-A9CV8v3e.js +6 -0
  1160. langflow/frontend/assets/mouse-pointer-2-E2-CAYli.js +6 -0
  1161. langflow/frontend/assets/mouse-pointer-D5ZpyXuu.js +6 -0
  1162. langflow/frontend/assets/mouse-pointer-ban-KvFuo6C0.js +6 -0
  1163. langflow/frontend/assets/mouse-pointer-click-D0oVH4nj.js +6 -0
  1164. langflow/frontend/assets/move-3d-Dlna4k5m.js +6 -0
  1165. langflow/frontend/assets/move-CicozcKz.js +6 -0
  1166. langflow/frontend/assets/move-diagonal-2-1PxjsAeb.js +6 -0
  1167. langflow/frontend/assets/move-diagonal-Bx7dX_j4.js +6 -0
  1168. langflow/frontend/assets/move-down-D7YAMc7C.js +6 -0
  1169. langflow/frontend/assets/move-down-left-DaCZ2XB7.js +6 -0
  1170. langflow/frontend/assets/move-down-right-DgHZPcFQ.js +6 -0
  1171. langflow/frontend/assets/move-horizontal-DdYIl4gV.js +6 -0
  1172. langflow/frontend/assets/move-left-BqDYPNUw.js +6 -0
  1173. langflow/frontend/assets/move-right-BLoOZHiE.js +6 -0
  1174. langflow/frontend/assets/move-up-OPhbOP5P.js +6 -0
  1175. langflow/frontend/assets/move-up-left-DfiRDuVI.js +6 -0
  1176. langflow/frontend/assets/move-up-right-B8ZRd_FM.js +6 -0
  1177. langflow/frontend/assets/move-vertical-owBNq-3q.js +6 -0
  1178. langflow/frontend/assets/music-2-BSl2xmrB.js +6 -0
  1179. langflow/frontend/assets/music-3-DcbdkGD7.js +6 -0
  1180. langflow/frontend/assets/music-4-DQ_duFrH.js +6 -0
  1181. langflow/frontend/assets/music-CdWslsrh.js +6 -0
  1182. langflow/frontend/assets/navigation-2-off-kipqIC6c.js +6 -0
  1183. langflow/frontend/assets/navigation-2-ou3_uwx_.js +6 -0
  1184. langflow/frontend/assets/navigation-BGorI29_.js +6 -0
  1185. langflow/frontend/assets/navigation-off-DiKBigUx.js +6 -0
  1186. langflow/frontend/assets/network-B1zlCNCH.js +6 -0
  1187. langflow/frontend/assets/newspaper-ZJkvUiGT.js +6 -0
  1188. langflow/frontend/assets/nfc-ki1E6Wu_.js +6 -0
  1189. langflow/frontend/assets/non-binary-Dw7g8ADa.js +6 -0
  1190. langflow/frontend/assets/notebook-MGg1DFzz.js +6 -0
  1191. langflow/frontend/assets/notebook-pen-Dn8gfd1n.js +6 -0
  1192. langflow/frontend/assets/notebook-tabs-QnBSJLEd.js +6 -0
  1193. langflow/frontend/assets/notebook-text-B7IuR6_c.js +6 -0
  1194. langflow/frontend/assets/notepad-text-CckGiO6e.js +6 -0
  1195. langflow/frontend/assets/notepad-text-dashed-KkN3Nakr.js +6 -0
  1196. langflow/frontend/assets/nut-BXPbojDE.js +6 -0
  1197. langflow/frontend/assets/nut-off-DZTCqi0s.js +6 -0
  1198. langflow/frontend/assets/octagon-Up0Wyg0P.js +6 -0
  1199. langflow/frontend/assets/octagon-alert-CKuEnfc8.js +6 -0
  1200. langflow/frontend/assets/octagon-minus-COG8HpgJ.js +6 -0
  1201. langflow/frontend/assets/octagon-pause-BsYhHQXx.js +6 -0
  1202. langflow/frontend/assets/octagon-x-ChDFRb7_.js +6 -0
  1203. langflow/frontend/assets/omega-DbnL9sfu.js +6 -0
  1204. langflow/frontend/assets/option-BU0sXztM.js +6 -0
  1205. langflow/frontend/assets/orbit-DA7LIi2l.js +6 -0
  1206. langflow/frontend/assets/origami-3Mw-nuYZ.js +6 -0
  1207. langflow/frontend/assets/package-2-D3YZn55Y.js +6 -0
  1208. langflow/frontend/assets/package-DIxU8-mn.js +6 -0
  1209. langflow/frontend/assets/package-check-COtMqIfA.js +6 -0
  1210. langflow/frontend/assets/package-minus-DZANe_7p.js +6 -0
  1211. langflow/frontend/assets/package-open-D7XrIaw9.js +6 -0
  1212. langflow/frontend/assets/package-plus-CcvN7-U9.js +6 -0
  1213. langflow/frontend/assets/package-search-ChoPdke-.js +6 -0
  1214. langflow/frontend/assets/package-x-D16htF83.js +6 -0
  1215. langflow/frontend/assets/paint-bucket-Cg95GQJg.js +6 -0
  1216. langflow/frontend/assets/paint-roller-B9StqV_J.js +6 -0
  1217. langflow/frontend/assets/paintbrush-Dqhtnpuw.js +6 -0
  1218. langflow/frontend/assets/paintbrush-vertical-DNx8M5S3.js +6 -0
  1219. langflow/frontend/assets/palette-ml0w3t49.js +6 -0
  1220. langflow/frontend/assets/panel-bottom-B4Fc3TY7.js +6 -0
  1221. langflow/frontend/assets/panel-bottom-close-BObhTb0s.js +6 -0
  1222. langflow/frontend/assets/panel-bottom-dashed-gIsS9Hjf.js +6 -0
  1223. langflow/frontend/assets/panel-bottom-open-DEOCcwzh.js +6 -0
  1224. langflow/frontend/assets/panel-left-close-Dx5cCbL_.js +6 -0
  1225. langflow/frontend/assets/panel-left-dashed-BcTUvq4P.js +6 -0
  1226. langflow/frontend/assets/panel-left-open-CBaufHFE.js +6 -0
  1227. langflow/frontend/assets/panel-right-DukXmi7_.js +6 -0
  1228. langflow/frontend/assets/panel-right-close-BR1KtkeR.js +6 -0
  1229. langflow/frontend/assets/panel-right-dashed-BgYuwA98.js +6 -0
  1230. langflow/frontend/assets/panel-right-open-CDp7CHNs.js +6 -0
  1231. langflow/frontend/assets/panel-top-CggW0ygS.js +6 -0
  1232. langflow/frontend/assets/panel-top-close-CX83WQ0J.js +6 -0
  1233. langflow/frontend/assets/panel-top-dashed-DjWcxIEH.js +6 -0
  1234. langflow/frontend/assets/panel-top-open-5FBkjYnT.js +6 -0
  1235. langflow/frontend/assets/panels-left-bottom-Dd5Uhjjk.js +6 -0
  1236. langflow/frontend/assets/panels-right-bottom-D1VAC8Ws.js +6 -0
  1237. langflow/frontend/assets/panels-top-left-DxWEvl8n.js +6 -0
  1238. langflow/frontend/assets/paperclip-B0E4rvBS.js +6 -0
  1239. langflow/frontend/assets/parentheses-GRd4nHRu.js +6 -0
  1240. langflow/frontend/assets/parking-meter-B2lHw4LQ.js +6 -0
  1241. langflow/frontend/assets/party-popper-BK2qV8eJ.js +6 -0
  1242. langflow/frontend/assets/pause-K2jMW6A9.js +6 -0
  1243. langflow/frontend/assets/paw-print-BGG82aAa.js +6 -0
  1244. langflow/frontend/assets/pc-case-CzNSMaLT.js +6 -0
  1245. langflow/frontend/assets/pen-BlTvvvRX.js +6 -0
  1246. langflow/frontend/assets/pen-line-4xoIubOi.js +6 -0
  1247. langflow/frontend/assets/pen-off-Bag43XIY.js +6 -0
  1248. langflow/frontend/assets/pen-tool-vNJyU9of.js +6 -0
  1249. langflow/frontend/assets/pencil-DZKbwkbZ.js +6 -0
  1250. langflow/frontend/assets/pencil-line-Nt_KP5Lc.js +6 -0
  1251. langflow/frontend/assets/pencil-off-CuDqMcng.js +6 -0
  1252. langflow/frontend/assets/pencil-ruler-CImuuOx_.js +6 -0
  1253. langflow/frontend/assets/pentagon-D-CZ45sZ.js +6 -0
  1254. langflow/frontend/assets/percent-BjcnLxmM.js +6 -0
  1255. langflow/frontend/assets/person-standing-BhX3_FVx.js +6 -0
  1256. langflow/frontend/assets/philippine-peso-BGPHMxW-.js +6 -0
  1257. langflow/frontend/assets/phone-Drv1610G.js +6 -0
  1258. langflow/frontend/assets/phone-call-hNCS3EAC.js +6 -0
  1259. langflow/frontend/assets/phone-forwarded-DPwM5QWJ.js +6 -0
  1260. langflow/frontend/assets/phone-incoming-J8Zk7Uaq.js +6 -0
  1261. langflow/frontend/assets/phone-missed-Bwf0yKjB.js +6 -0
  1262. langflow/frontend/assets/phone-off-BEPNB9YQ.js +6 -0
  1263. langflow/frontend/assets/phone-outgoing-Dd67K4qS.js +6 -0
  1264. langflow/frontend/assets/pi-5tYLsPYG.js +6 -0
  1265. langflow/frontend/assets/piano-BYOW-jJM.js +6 -0
  1266. langflow/frontend/assets/pickaxe-xg-dd9G0.js +6 -0
  1267. langflow/frontend/assets/picture-in-picture-2-DYvd32Sb.js +6 -0
  1268. langflow/frontend/assets/picture-in-picture-BuYYC7zv.js +6 -0
  1269. langflow/frontend/assets/piggy-bank-DqrvEQ1U.js +6 -0
  1270. langflow/frontend/assets/pilcrow-Cdy2DjQu.js +6 -0
  1271. langflow/frontend/assets/pilcrow-left-B6Ln7oAk.js +6 -0
  1272. langflow/frontend/assets/pilcrow-right-hGingT2I.js +6 -0
  1273. langflow/frontend/assets/pill-bottle-viCjW_dN.js +6 -0
  1274. langflow/frontend/assets/pill-rcos0Gwl.js +6 -0
  1275. langflow/frontend/assets/pin-COe3feft.js +6 -0
  1276. langflow/frontend/assets/pin-off-Cf8rmYhN.js +6 -0
  1277. langflow/frontend/assets/pipette-BD8aK2nD.js +6 -0
  1278. langflow/frontend/assets/pizza-ChtyZT0P.js +6 -0
  1279. langflow/frontend/assets/plane-BU8RSOGd.js +6 -0
  1280. langflow/frontend/assets/plane-landing-CRsPY9tD.js +6 -0
  1281. langflow/frontend/assets/plane-takeoff-COtgWdSj.js +6 -0
  1282. langflow/frontend/assets/play-cUXKlRp3.js +6 -0
  1283. langflow/frontend/assets/plug-2-CB_Ge12h.js +6 -0
  1284. langflow/frontend/assets/plug-D-vLfFIX.js +6 -0
  1285. langflow/frontend/assets/plug-zap-DKQDHSqW.js +6 -0
  1286. langflow/frontend/assets/pocket-CysXRFIR.js +6 -0
  1287. langflow/frontend/assets/pocket-knife-C7_ru-LL.js +6 -0
  1288. langflow/frontend/assets/podcast-DJ5XAYjJ.js +6 -0
  1289. langflow/frontend/assets/pointer-BIiC-_d_.js +6 -0
  1290. langflow/frontend/assets/pointer-off-BgLdCJv2.js +6 -0
  1291. langflow/frontend/assets/popcorn-PPPqTD51.js +6 -0
  1292. langflow/frontend/assets/popsicle-KkBxYpO_.js +6 -0
  1293. langflow/frontend/assets/pound-sterling-D6auPFM-.js +6 -0
  1294. langflow/frontend/assets/power-DAittmgO.js +6 -0
  1295. langflow/frontend/assets/power-off-CtyC7qMY.js +6 -0
  1296. langflow/frontend/assets/presentation-CrLBd5SY.js +6 -0
  1297. langflow/frontend/assets/printer-D-4NfnGp.js +6 -0
  1298. langflow/frontend/assets/printer-check-BrudpiyS.js +6 -0
  1299. langflow/frontend/assets/projector-CcBr8mus.js +6 -0
  1300. langflow/frontend/assets/proportions-CjtlThAF.js +6 -0
  1301. langflow/frontend/assets/puzzle-GqbuqBoI.js +6 -0
  1302. langflow/frontend/assets/pyramid-A25y0wHK.js +6 -0
  1303. langflow/frontend/assets/qr-code-CnbB-HOQ.js +6 -0
  1304. langflow/frontend/assets/quote-8bjDM3DM.js +6 -0
  1305. langflow/frontend/assets/rabbit-tPoi1qgo.js +6 -0
  1306. langflow/frontend/assets/radar-DOoH9E2V.js +6 -0
  1307. langflow/frontend/assets/radiation-Cs_vGE-8.js +6 -0
  1308. langflow/frontend/assets/radical-l5TAqT6I.js +6 -0
  1309. langflow/frontend/assets/radio-CHhGcBW-.js +6 -0
  1310. langflow/frontend/assets/radio-receiver-lgMwagtd.js +6 -0
  1311. langflow/frontend/assets/radio-tower-C47hi01B.js +6 -0
  1312. langflow/frontend/assets/radius-GYZZpbcU.js +6 -0
  1313. langflow/frontend/assets/rail-symbol-BEfZfdfa.js +6 -0
  1314. langflow/frontend/assets/rainbow-DYaGMx8X.js +6 -0
  1315. langflow/frontend/assets/rat-C4oT7Esn.js +6 -0
  1316. langflow/frontend/assets/ratio-DWlHZIKo.js +6 -0
  1317. langflow/frontend/assets/receipt-BWUMmVQx.js +6 -0
  1318. langflow/frontend/assets/receipt-cent-C-INmgac.js +6 -0
  1319. langflow/frontend/assets/receipt-euro-BXEdpPTC.js +6 -0
  1320. langflow/frontend/assets/receipt-indian-rupee-Ix3oSht2.js +6 -0
  1321. langflow/frontend/assets/receipt-japanese-yen-CnXVdgfQ.js +6 -0
  1322. langflow/frontend/assets/receipt-pound-sterling-ViZJJzIl.js +6 -0
  1323. langflow/frontend/assets/receipt-russian-ruble-B2X6Y82i.js +6 -0
  1324. langflow/frontend/assets/receipt-swiss-franc-CG7XQFnM.js +6 -0
  1325. langflow/frontend/assets/receipt-text-BFuy4Mtu.js +6 -0
  1326. langflow/frontend/assets/rectangle-ellipsis-C0oDiTNW.js +6 -0
  1327. langflow/frontend/assets/rectangle-goggles-DnpXYzwI.js +6 -0
  1328. langflow/frontend/assets/rectangle-horizontal-C0jnuJHd.js +6 -0
  1329. langflow/frontend/assets/rectangle-vertical-DWRK77EG.js +6 -0
  1330. langflow/frontend/assets/recycle-DkYy8axK.js +6 -0
  1331. langflow/frontend/assets/redo-2-BTDxMgjZ.js +6 -0
  1332. langflow/frontend/assets/redo-BPIpXxhh.js +6 -0
  1333. langflow/frontend/assets/redo-dot-DRM6Krp1.js +6 -0
  1334. langflow/frontend/assets/refresh-ccw-CjjAztF7.js +6 -0
  1335. langflow/frontend/assets/refresh-ccw-dot-CGdyOFyk.js +6 -0
  1336. langflow/frontend/assets/refresh-cw-CmT4eP1U.js +6 -0
  1337. langflow/frontend/assets/refresh-cw-off-R7RGumwY.js +6 -0
  1338. langflow/frontend/assets/refrigerator-Bt5nPIOc.js +6 -0
  1339. langflow/frontend/assets/regex-DXPhd4TQ.js +6 -0
  1340. langflow/frontend/assets/remove-formatting-DnOY_Y_8.js +6 -0
  1341. langflow/frontend/assets/repeat-1-B_BYElvF.js +6 -0
  1342. langflow/frontend/assets/repeat-2-nZrjtGL9.js +6 -0
  1343. langflow/frontend/assets/repeat-D71ZgNJH.js +6 -0
  1344. langflow/frontend/assets/replace-CgT3zPue.js +6 -0
  1345. langflow/frontend/assets/replace-all-goYc_7ja.js +6 -0
  1346. langflow/frontend/assets/reply-Bk1gbMw1.js +6 -0
  1347. langflow/frontend/assets/reply-all-DMC60NG1.js +6 -0
  1348. langflow/frontend/assets/rewind-IkM2mqXp.js +6 -0
  1349. langflow/frontend/assets/ribbon-BDF2Glqb.js +6 -0
  1350. langflow/frontend/assets/rocket-DlBDrD19.js +6 -0
  1351. langflow/frontend/assets/rocking-chair-mRglbsWf.js +6 -0
  1352. langflow/frontend/assets/roller-coaster-B9C8vO02.js +6 -0
  1353. langflow/frontend/assets/rotate-3d-CILd3GEW.js +6 -0
  1354. langflow/frontend/assets/rotate-ccw-DtqiMJ2f.js +6 -0
  1355. langflow/frontend/assets/rotate-ccw-key-CO5xvtp-.js +6 -0
  1356. langflow/frontend/assets/rotate-ccw-square-stD8hoL5.js +6 -0
  1357. langflow/frontend/assets/rotate-cw-CYhRTfOC.js +6 -0
  1358. langflow/frontend/assets/rotate-cw-square-mudZ7kJf.js +6 -0
  1359. langflow/frontend/assets/route-off-7TpcpjRK.js +6 -0
  1360. langflow/frontend/assets/route-u8D7bxc0.js +6 -0
  1361. langflow/frontend/assets/router-2HYD_5_E.js +6 -0
  1362. langflow/frontend/assets/rows-2-B1HQxy9j.js +6 -0
  1363. langflow/frontend/assets/rows-3-CPRHRKwH.js +6 -0
  1364. langflow/frontend/assets/rows-4-DQiWV0KJ.js +6 -0
  1365. langflow/frontend/assets/rss-Cq8PJFPa.js +6 -0
  1366. langflow/frontend/assets/ruler-Baha0aCS.js +6 -0
  1367. langflow/frontend/assets/ruler-dimension-line-D45C7zen.js +6 -0
  1368. langflow/frontend/assets/russian-ruble-CRQXgdXr.js +6 -0
  1369. langflow/frontend/assets/sailboat-CN71MmOO.js +6 -0
  1370. langflow/frontend/assets/salad-BEAkQZLI.js +6 -0
  1371. langflow/frontend/assets/sandwich-8-bhD6Lv.js +6 -0
  1372. langflow/frontend/assets/satellite-M4Xy05pu.js +6 -0
  1373. langflow/frontend/assets/satellite-dish-B-J5yd_u.js +6 -0
  1374. langflow/frontend/assets/saudi-riyal-CLyYhFH6.js +6 -0
  1375. langflow/frontend/assets/save-Cmg4FIq7.js +6 -0
  1376. langflow/frontend/assets/save-all-KbILrbmU.js +6 -0
  1377. langflow/frontend/assets/save-off-C4bXdmgS.js +6 -0
  1378. langflow/frontend/assets/scale-3d-CbIbjoQ3.js +6 -0
  1379. langflow/frontend/assets/scale-C1sJwlRK.js +6 -0
  1380. langflow/frontend/assets/scaling-CvKV2_IZ.js +6 -0
  1381. langflow/frontend/assets/scan-BDEwQ7Qe.js +6 -0
  1382. langflow/frontend/assets/scan-barcode-C2nTxAk4.js +6 -0
  1383. langflow/frontend/assets/scan-eye-BjJwhbWs.js +6 -0
  1384. langflow/frontend/assets/scan-face-D1YY5tPf.js +6 -0
  1385. langflow/frontend/assets/scan-heart-C9pNOc3_.js +6 -0
  1386. langflow/frontend/assets/scan-line-CKEFJJud.js +6 -0
  1387. langflow/frontend/assets/scan-qr-code-ZpPxr-2R.js +6 -0
  1388. langflow/frontend/assets/scan-search-D3cLXOQE.js +6 -0
  1389. langflow/frontend/assets/scan-text-R4Bo1rkO.js +6 -0
  1390. langflow/frontend/assets/school-DHnEwERf.js +6 -0
  1391. langflow/frontend/assets/scissors-DJBNVPEd.js +6 -0
  1392. langflow/frontend/assets/scissors-line-dashed-DtbVK4yt.js +6 -0
  1393. langflow/frontend/assets/screen-share-DRhvEcLS.js +6 -0
  1394. langflow/frontend/assets/screen-share-off-B2PVmcvE.js +6 -0
  1395. langflow/frontend/assets/scroll-BU6XKFjb.js +6 -0
  1396. langflow/frontend/assets/scroll-text-BpNlVscN.js +6 -0
  1397. langflow/frontend/assets/search-check-D-fxBLS6.js +6 -0
  1398. langflow/frontend/assets/search-code-BfV61dvt.js +6 -0
  1399. langflow/frontend/assets/search-slash-Cjg39A6b.js +6 -0
  1400. langflow/frontend/assets/search-x-CrFEhfc4.js +6 -0
  1401. langflow/frontend/assets/section-Dyb7dEpB.js +6 -0
  1402. langflow/frontend/assets/send-BllmTSMK.js +6 -0
  1403. langflow/frontend/assets/send-horizontal-CCxFsK5t.js +6 -0
  1404. langflow/frontend/assets/send-to-back-BZ-WqaQe.js +6 -0
  1405. langflow/frontend/assets/separator-horizontal-CFhasEpa.js +6 -0
  1406. langflow/frontend/assets/separator-vertical-CK1na9fJ.js +6 -0
  1407. langflow/frontend/assets/server-VD2WErCz.js +6 -0
  1408. langflow/frontend/assets/server-cog-qPLT2GIt.js +6 -0
  1409. langflow/frontend/assets/server-crash-BpLIHREN.js +6 -0
  1410. langflow/frontend/assets/server-off-D2t2Lhg-.js +6 -0
  1411. langflow/frontend/assets/settings-2-CTcz7fll.js +6 -0
  1412. langflow/frontend/assets/settings-DU7g50L9.js +6 -0
  1413. langflow/frontend/assets/shapes-D_kEvZKl.js +6 -0
  1414. langflow/frontend/assets/share-2-VJhfJKXF.js +6 -0
  1415. langflow/frontend/assets/share-Dd3bqAM0.js +6 -0
  1416. langflow/frontend/assets/sheet-CEvHadfJ.js +6 -0
  1417. langflow/frontend/assets/shell-fHfvIDwC.js +6 -0
  1418. langflow/frontend/assets/shield-VfPqlRRB.js +6 -0
  1419. langflow/frontend/assets/shield-alert-BOj9J5zA.js +6 -0
  1420. langflow/frontend/assets/shield-ban-Doa7ulWd.js +6 -0
  1421. langflow/frontend/assets/shield-check-DAQ-z00W.js +6 -0
  1422. langflow/frontend/assets/shield-ellipsis-CtmsinWw.js +6 -0
  1423. langflow/frontend/assets/shield-half-V-o-t5Lx.js +6 -0
  1424. langflow/frontend/assets/shield-minus-BnemIpJa.js +6 -0
  1425. langflow/frontend/assets/shield-off-CxWlvk7r.js +6 -0
  1426. langflow/frontend/assets/shield-plus-QVkbakld.js +6 -0
  1427. langflow/frontend/assets/shield-question-COpg9NoY.js +6 -0
  1428. langflow/frontend/assets/shield-user-CoegU97t.js +6 -0
  1429. langflow/frontend/assets/shield-x-CdAKkcdI.js +6 -0
  1430. langflow/frontend/assets/ship-bCYOVjm_.js +6 -0
  1431. langflow/frontend/assets/ship-wheel-aj3UgWgh.js +6 -0
  1432. langflow/frontend/assets/shirt-BwKnuoqa.js +6 -0
  1433. langflow/frontend/assets/shopping-bag-Bvykz-u-.js +6 -0
  1434. langflow/frontend/assets/shopping-basket-BLh-v-4F.js +6 -0
  1435. langflow/frontend/assets/shopping-cart-BNLlkyR3.js +6 -0
  1436. langflow/frontend/assets/shovel-D-LTCign.js +6 -0
  1437. langflow/frontend/assets/shower-head-CJm7lELS.js +6 -0
  1438. langflow/frontend/assets/shredder-BN6oQYYI.js +6 -0
  1439. langflow/frontend/assets/shrimp-B8mIXZcn.js +6 -0
  1440. langflow/frontend/assets/shrink-B2Sm00Dl.js +6 -0
  1441. langflow/frontend/assets/shrub-BKHi38Mv.js +6 -0
  1442. langflow/frontend/assets/shuffle-BQfd6nc5.js +6 -0
  1443. langflow/frontend/assets/sigma-B3b0S0YW.js +6 -0
  1444. langflow/frontend/assets/signal-BL47tRVd.js +6 -0
  1445. langflow/frontend/assets/signal-high-CPznMUVb.js +6 -0
  1446. langflow/frontend/assets/signal-low-DdsZioS0.js +6 -0
  1447. langflow/frontend/assets/signal-medium-MAOoWyo-.js +6 -0
  1448. langflow/frontend/assets/signal-zero-DO9onBMK.js +6 -0
  1449. langflow/frontend/assets/signature-CDNllhD4.js +6 -0
  1450. langflow/frontend/assets/signpost-DZukqY2Q.js +6 -0
  1451. langflow/frontend/assets/signpost-big-l_gZ54oE.js +6 -0
  1452. langflow/frontend/assets/siren-DZEpjIxI.js +6 -0
  1453. langflow/frontend/assets/skip-back-LMMyX7i0.js +6 -0
  1454. langflow/frontend/assets/skip-forward-3fbdqmxL.js +6 -0
  1455. langflow/frontend/assets/skull-D150-BdX.js +6 -0
  1456. langflow/frontend/assets/slack-CA2vty0-.js +6 -0
  1457. langflow/frontend/assets/slash-DLRamBMc.js +6 -0
  1458. langflow/frontend/assets/slice-Ns8IcsJm.js +6 -0
  1459. langflow/frontend/assets/sliders-horizontal-BfxJVpu0.js +6 -0
  1460. langflow/frontend/assets/sliders-vertical-fdYgGvdp.js +6 -0
  1461. langflow/frontend/assets/smartphone-C5dYq0M7.js +6 -0
  1462. langflow/frontend/assets/smartphone-charging-t1Cr621u.js +6 -0
  1463. langflow/frontend/assets/smartphone-nfc-CHD61XTv.js +6 -0
  1464. langflow/frontend/assets/smile-ByaOAGFV.js +6 -0
  1465. langflow/frontend/assets/smile-plus-BYKQT_2e.js +6 -0
  1466. langflow/frontend/assets/snail-BLq7uuoW.js +6 -0
  1467. langflow/frontend/assets/snowflake-CYsf9pfZ.js +6 -0
  1468. langflow/frontend/assets/sofa-DG5ZPgXr.js +6 -0
  1469. langflow/frontend/assets/soup-Dc1bXxzM.js +6 -0
  1470. langflow/frontend/assets/space-DKkvCXLd.js +6 -0
  1471. langflow/frontend/assets/spade-DgB5W-OB.js +6 -0
  1472. langflow/frontend/assets/sparkle-Db93NDtI.js +6 -0
  1473. langflow/frontend/assets/sparkles-xUIuou4A.js +6 -0
  1474. langflow/frontend/assets/speaker-BWn1Qonx.js +6 -0
  1475. langflow/frontend/assets/speech-qIGem1Go.js +6 -0
  1476. langflow/frontend/assets/spell-check-2-B2cZXUCa.js +6 -0
  1477. langflow/frontend/assets/spell-check-lHnH8H0N.js +6 -0
  1478. langflow/frontend/assets/spline-Cm4A2C0d.js +6 -0
  1479. langflow/frontend/assets/spline-pointer-BFCnQNhM.js +6 -0
  1480. langflow/frontend/assets/split-BlaNB-m6.js +6 -0
  1481. langflow/frontend/assets/spray-can-PQvbyFN8.js +6 -0
  1482. langflow/frontend/assets/sprout-DYLKUJOm.js +6 -0
  1483. langflow/frontend/assets/square-BQ25rjZN.js +6 -0
  1484. langflow/frontend/assets/square-activity-BC1g9hIH.js +6 -0
  1485. langflow/frontend/assets/square-arrow-down-9W_S03ge.js +6 -0
  1486. langflow/frontend/assets/square-arrow-down-left-B82nM0R2.js +6 -0
  1487. langflow/frontend/assets/square-arrow-down-right-DZyom3ae.js +6 -0
  1488. langflow/frontend/assets/square-arrow-left-BSWuTucu.js +6 -0
  1489. langflow/frontend/assets/square-arrow-out-down-left-t_j7aQzA.js +6 -0
  1490. langflow/frontend/assets/square-arrow-out-down-right-D1Hb89jV.js +6 -0
  1491. langflow/frontend/assets/square-arrow-out-up-left-Bdv-jLVA.js +6 -0
  1492. langflow/frontend/assets/square-arrow-out-up-right-CDgfw9T8.js +6 -0
  1493. langflow/frontend/assets/square-arrow-right-DHtj4Z_y.js +6 -0
  1494. langflow/frontend/assets/square-arrow-up-DMEDT3wd.js +6 -0
  1495. langflow/frontend/assets/square-arrow-up-left-CrcmXV4q.js +6 -0
  1496. langflow/frontend/assets/square-arrow-up-right-CBhrXMOc.js +6 -0
  1497. langflow/frontend/assets/square-asterisk-DzFQ9VAS.js +6 -0
  1498. langflow/frontend/assets/square-bottom-dashed-scissors-CKGBy4R6.js +6 -0
  1499. langflow/frontend/assets/square-chart-gantt-ZNVQ-GTo.js +6 -0
  1500. langflow/frontend/assets/square-check-C2jJjf49.js +6 -0
  1501. langflow/frontend/assets/square-check-big-DKucpNkQ.js +6 -0
  1502. langflow/frontend/assets/square-chevron-down-Co2qpqTr.js +6 -0
  1503. langflow/frontend/assets/square-chevron-left-Dh7yqYBt.js +6 -0
  1504. langflow/frontend/assets/square-chevron-right-CAbBfYZO.js +6 -0
  1505. langflow/frontend/assets/square-chevron-up-ByEpnR1d.js +6 -0
  1506. langflow/frontend/assets/square-code-WlCO2khm.js +6 -0
  1507. langflow/frontend/assets/square-dashed-Cwzejq82.js +6 -0
  1508. langflow/frontend/assets/square-dashed-bottom-CRS9IWk0.js +6 -0
  1509. langflow/frontend/assets/square-dashed-bottom-code-Co6R2kEY.js +6 -0
  1510. langflow/frontend/assets/square-dashed-kanban-DNVYpJR1.js +6 -0
  1511. langflow/frontend/assets/square-dashed-mouse-pointer-D6zwqIPb.js +6 -0
  1512. langflow/frontend/assets/square-divide-BRsu17TA.js +6 -0
  1513. langflow/frontend/assets/square-dot-BSZERpMQ.js +6 -0
  1514. langflow/frontend/assets/square-equal-DlCTNRwu.js +6 -0
  1515. langflow/frontend/assets/square-function-5r9z4b4I.js +6 -0
  1516. langflow/frontend/assets/square-kanban-DZYGxOjU.js +6 -0
  1517. langflow/frontend/assets/square-library-Bt0Alrgq.js +6 -0
  1518. langflow/frontend/assets/square-m-CP4kRUKD.js +6 -0
  1519. langflow/frontend/assets/square-menu-CFiyqUWn.js +6 -0
  1520. langflow/frontend/assets/square-minus-C3MV7njF.js +6 -0
  1521. langflow/frontend/assets/square-mouse-pointer-ClV0LfR7.js +6 -0
  1522. langflow/frontend/assets/square-parking-off-BhmYVwPZ.js +6 -0
  1523. langflow/frontend/assets/square-parking-uNTgxoGp.js +6 -0
  1524. langflow/frontend/assets/square-pen-Cy2Zcc1n.js +6 -0
  1525. langflow/frontend/assets/square-percent-DQshRjbA.js +6 -0
  1526. langflow/frontend/assets/square-pi-DxR8I-Ds.js +6 -0
  1527. langflow/frontend/assets/square-pilcrow-C8R5P-PO.js +6 -0
  1528. langflow/frontend/assets/square-play-9lJv1T9C.js +6 -0
  1529. langflow/frontend/assets/square-plus-iEfwebn-.js +6 -0
  1530. langflow/frontend/assets/square-power-jfsm1NJs.js +6 -0
  1531. langflow/frontend/assets/square-radical-CDzy5o5Y.js +6 -0
  1532. langflow/frontend/assets/square-round-corner-Dv5vMY1f.js +6 -0
  1533. langflow/frontend/assets/square-scissors-DbINkDNT.js +6 -0
  1534. langflow/frontend/assets/square-sigma-BReMNGhb.js +6 -0
  1535. langflow/frontend/assets/square-slash-CNsgv2Sa.js +6 -0
  1536. langflow/frontend/assets/square-split-horizontal-BfRg2lDm.js +6 -0
  1537. langflow/frontend/assets/square-split-vertical-UHKpEkGO.js +6 -0
  1538. langflow/frontend/assets/square-square-luklvd5N.js +6 -0
  1539. langflow/frontend/assets/square-stack-BS73UeKd.js +6 -0
  1540. langflow/frontend/assets/square-terminal-8WO2IeBX.js +6 -0
  1541. langflow/frontend/assets/square-user-BZ_UjNNJ.js +6 -0
  1542. langflow/frontend/assets/square-user-round-B944rjkk.js +6 -0
  1543. langflow/frontend/assets/square-x-7sE2TBTz.js +6 -0
  1544. langflow/frontend/assets/squares-exclude-3ZemYBRj.js +6 -0
  1545. langflow/frontend/assets/squares-intersect-BXYVvy27.js +6 -0
  1546. langflow/frontend/assets/squares-subtract-Tjdd6hOn.js +6 -0
  1547. langflow/frontend/assets/squares-unite-BhQQi1A3.js +6 -0
  1548. langflow/frontend/assets/squircle-BSCiAU0_.js +6 -0
  1549. langflow/frontend/assets/squirrel-CsXgCg0Q.js +6 -0
  1550. langflow/frontend/assets/stamp-BwxxPiyC.js +6 -0
  1551. langflow/frontend/assets/star-CbBgte9t.js +6 -0
  1552. langflow/frontend/assets/star-half-BQhwQUTH.js +6 -0
  1553. langflow/frontend/assets/star-off-Bn8ZUUY1.js +6 -0
  1554. langflow/frontend/assets/step-back-QUCTSaOM.js +6 -0
  1555. langflow/frontend/assets/step-forward-CtCNr_zk.js +6 -0
  1556. langflow/frontend/assets/stethoscope-CcSMreKr.js +6 -0
  1557. langflow/frontend/assets/sticker-aZRJZHLI.js +6 -0
  1558. langflow/frontend/assets/sticky-note-CNWxkXTS.js +6 -0
  1559. langflow/frontend/assets/store-BRTrEFn3.js +6 -0
  1560. langflow/frontend/assets/stretch-horizontal-BEjd_tbW.js +6 -0
  1561. langflow/frontend/assets/stretch-vertical-BrafkJPM.js +6 -0
  1562. langflow/frontend/assets/strikethrough-COieVoOZ.js +6 -0
  1563. langflow/frontend/assets/subscript-DTohsurC.js +6 -0
  1564. langflow/frontend/assets/sun-Co4GkUR3.js +6 -0
  1565. langflow/frontend/assets/sun-dim-BW6p6o9O.js +6 -0
  1566. langflow/frontend/assets/sun-medium-BNYoaEvK.js +6 -0
  1567. langflow/frontend/assets/sun-moon-D0Pq4quP.js +6 -0
  1568. langflow/frontend/assets/sun-snow-CqbqlvmM.js +6 -0
  1569. langflow/frontend/assets/sunrise-CO4mIMSv.js +6 -0
  1570. langflow/frontend/assets/sunset-CIfdXk9C.js +6 -0
  1571. langflow/frontend/assets/superscript-DUu0Q4_D.js +6 -0
  1572. langflow/frontend/assets/swatch-book-C4J3lI_J.js +6 -0
  1573. langflow/frontend/assets/swiss-franc-BH8id42u.js +6 -0
  1574. langflow/frontend/assets/switch-camera-CiePjak0.js +6 -0
  1575. langflow/frontend/assets/sword-strwHoxD.js +6 -0
  1576. langflow/frontend/assets/swords-C-w1IwO9.js +6 -0
  1577. langflow/frontend/assets/syringe-BRV2C8cA.js +6 -0
  1578. langflow/frontend/assets/table-2-BMr7H6eP.js +6 -0
  1579. langflow/frontend/assets/table-B_7Oj7Ox.js +6 -0
  1580. langflow/frontend/assets/table-cells-merge-C54Qw23Y.js +6 -0
  1581. langflow/frontend/assets/table-cells-split-CtHVdDeS.js +6 -0
  1582. langflow/frontend/assets/table-columns-split-BcaQrCr4.js +6 -0
  1583. langflow/frontend/assets/table-of-contents-D0mUFGft.js +6 -0
  1584. langflow/frontend/assets/table-properties--I6nXBR3.js +6 -0
  1585. langflow/frontend/assets/table-rows-split-B0xJQ37f.js +6 -0
  1586. langflow/frontend/assets/tablet-Cf0EWdJK.js +6 -0
  1587. langflow/frontend/assets/tablet-smartphone-DY4wZHr1.js +6 -0
  1588. langflow/frontend/assets/tablets-BwdeIRo8.js +6 -0
  1589. langflow/frontend/assets/tag-CctZN7kL.js +6 -0
  1590. langflow/frontend/assets/tags-BCHRjKYf.js +6 -0
  1591. langflow/frontend/assets/tally-1-BldVxrsQ.js +6 -0
  1592. langflow/frontend/assets/tally-2-DXrwGFrl.js +6 -0
  1593. langflow/frontend/assets/tally-3-DmfWkX76.js +6 -0
  1594. langflow/frontend/assets/tally-4-5HQCUDdA.js +6 -0
  1595. langflow/frontend/assets/tally-5-CJ6oLp3v.js +6 -0
  1596. langflow/frontend/assets/tangent-DB7fZRai.js +6 -0
  1597. langflow/frontend/assets/target-DpuUfDL-.js +6 -0
  1598. langflow/frontend/assets/telescope-DI51EUze.js +6 -0
  1599. langflow/frontend/assets/tent-B0JEjxdf.js +6 -0
  1600. langflow/frontend/assets/tent-tree-7eQIWJxt.js +6 -0
  1601. langflow/frontend/assets/terminal-DkJIR40E.js +6 -0
  1602. langflow/frontend/assets/test-tube-CVcsryKJ.js +6 -0
  1603. langflow/frontend/assets/test-tube-diagonal-DUWwW59l.js +6 -0
  1604. langflow/frontend/assets/test-tubes-CEazaT1A.js +6 -0
  1605. langflow/frontend/assets/text-ChX5VB23.js +6 -0
  1606. langflow/frontend/assets/text-cursor-D0W6SvBT.js +6 -0
  1607. langflow/frontend/assets/text-cursor-input-DZJywZl8.js +6 -0
  1608. langflow/frontend/assets/text-quote-A7E7kGXh.js +6 -0
  1609. langflow/frontend/assets/text-search-Ci_9VX5o.js +6 -0
  1610. langflow/frontend/assets/text-select-B-MYo7Bk.js +6 -0
  1611. langflow/frontend/assets/theater-CLA9VUyd.js +6 -0
  1612. langflow/frontend/assets/thermometer-CCtu28Uk.js +6 -0
  1613. langflow/frontend/assets/thermometer-snowflake-Den4-Bn4.js +6 -0
  1614. langflow/frontend/assets/thermometer-sun-NEOdjDsY.js +6 -0
  1615. langflow/frontend/assets/thumbs-down-Bvp584LU.js +6 -0
  1616. langflow/frontend/assets/thumbs-up-BtrMFbVS.js +6 -0
  1617. langflow/frontend/assets/ticket-CV7UPEHN.js +6 -0
  1618. langflow/frontend/assets/ticket-check-C6fPp3wU.js +6 -0
  1619. langflow/frontend/assets/ticket-minus-KNNJ2iM0.js +6 -0
  1620. langflow/frontend/assets/ticket-percent-Rezekn-N.js +6 -0
  1621. langflow/frontend/assets/ticket-plus-Aps5a9CM.js +6 -0
  1622. langflow/frontend/assets/ticket-slash-Qbdnbd0m.js +6 -0
  1623. langflow/frontend/assets/ticket-x-1zRdxQPQ.js +6 -0
  1624. langflow/frontend/assets/tickets-BdBUXSkg.js +6 -0
  1625. langflow/frontend/assets/tickets-plane-DjIofQ62.js +6 -0
  1626. langflow/frontend/assets/timer-BplY9xWf.js +6 -0
  1627. langflow/frontend/assets/timer-off-BCLZxVnv.js +6 -0
  1628. langflow/frontend/assets/timer-reset-Od914fdl.js +6 -0
  1629. langflow/frontend/assets/toggle-left-BcEMIa-0.js +6 -0
  1630. langflow/frontend/assets/toggle-right-DFcq7xBW.js +6 -0
  1631. langflow/frontend/assets/toilet-B7pvq6hs.js +6 -0
  1632. langflow/frontend/assets/tornado-CcwjCEya.js +6 -0
  1633. langflow/frontend/assets/torus-BHd2P0M2.js +6 -0
  1634. langflow/frontend/assets/touchpad-BkSEryoR.js +6 -0
  1635. langflow/frontend/assets/touchpad-off-Bp4VNri8.js +6 -0
  1636. langflow/frontend/assets/tower-control-B0M5LDMG.js +6 -0
  1637. langflow/frontend/assets/toy-brick-DYPUOrpo.js +6 -0
  1638. langflow/frontend/assets/tractor-BdjeAU29.js +6 -0
  1639. langflow/frontend/assets/traffic-cone-Rid-92fN.js +6 -0
  1640. langflow/frontend/assets/train-front-Bn9pj37z.js +6 -0
  1641. langflow/frontend/assets/train-front-tunnel-CDtFf3il.js +6 -0
  1642. langflow/frontend/assets/train-track-C2lvGo-p.js +6 -0
  1643. langflow/frontend/assets/tram-front-hCk6g-kr.js +6 -0
  1644. langflow/frontend/assets/transgender-DmKUhVdN.js +6 -0
  1645. langflow/frontend/assets/trash-qOGvIrQP.js +6 -0
  1646. langflow/frontend/assets/tree-deciduous-CPX20v9X.js +6 -0
  1647. langflow/frontend/assets/tree-palm-Bba_s6WM.js +6 -0
  1648. langflow/frontend/assets/tree-pine-B46HVi1j.js +6 -0
  1649. langflow/frontend/assets/trees-DMrXWyAI.js +6 -0
  1650. langflow/frontend/assets/trello-BdNjucj5.js +6 -0
  1651. langflow/frontend/assets/trending-down-mobVRn87.js +6 -0
  1652. langflow/frontend/assets/trending-up-BccTwVQ3.js +6 -0
  1653. langflow/frontend/assets/trending-up-down-BFBzmCek.js +6 -0
  1654. langflow/frontend/assets/triangle-B_1SxMhH.js +6 -0
  1655. langflow/frontend/assets/triangle-alert-Cp51jOjb.js +6 -0
  1656. langflow/frontend/assets/triangle-dashed-DFBRieof.js +6 -0
  1657. langflow/frontend/assets/triangle-right-mdPj_yGd.js +6 -0
  1658. langflow/frontend/assets/trophy-BwYmkEKJ.js +6 -0
  1659. langflow/frontend/assets/truck-ByXs4MRT.js +6 -0
  1660. langflow/frontend/assets/truck-electric-CoDLeURU.js +6 -0
  1661. langflow/frontend/assets/turtle-B_0t1L1r.js +6 -0
  1662. langflow/frontend/assets/tv-LKP4Yd6G.js +6 -0
  1663. langflow/frontend/assets/tv-minimal-0UIB2_YF.js +6 -0
  1664. langflow/frontend/assets/tv-minimal-play-D6WpFMoW.js +6 -0
  1665. langflow/frontend/assets/twitch-CdmKqstS.js +6 -0
  1666. langflow/frontend/assets/twitter-Bn3B-nJs.js +6 -0
  1667. langflow/frontend/assets/type-CdLC62-v.js +6 -0
  1668. langflow/frontend/assets/type-outline-B9sZx19h.js +6 -0
  1669. langflow/frontend/assets/umbrella-DhyhsQ7f.js +6 -0
  1670. langflow/frontend/assets/umbrella-off-DW-WFw75.js +6 -0
  1671. langflow/frontend/assets/underline-oZz1nZHE.js +6 -0
  1672. langflow/frontend/assets/undo-2-CF3ZpvsA.js +6 -0
  1673. langflow/frontend/assets/undo-CpBc-ZlX.js +6 -0
  1674. langflow/frontend/assets/undo-dot-Kp9DVLqw.js +6 -0
  1675. langflow/frontend/assets/unfold-horizontal-GffCoo9x.js +6 -0
  1676. langflow/frontend/assets/unfold-vertical-QVa3f1Wo.js +6 -0
  1677. langflow/frontend/assets/ungroup-BP26g4VQ.js +6 -0
  1678. langflow/frontend/assets/university-CForBFku.js +6 -0
  1679. langflow/frontend/assets/unlink-2-DszR0Pss.js +6 -0
  1680. langflow/frontend/assets/unlink-DtGPnmVI.js +6 -0
  1681. langflow/frontend/assets/unplug-CRH0Dguu.js +6 -0
  1682. langflow/frontend/assets/upload-DiPD_gzi.js +6 -0
  1683. langflow/frontend/assets/usb-DZJXI9d7.js +6 -0
  1684. langflow/frontend/assets/use-post-add-user-Bs41teEN.js +1 -0
  1685. langflow/frontend/assets/user-cHu1Tb-j.js +6 -0
  1686. langflow/frontend/assets/user-check-By1TfF1x.js +6 -0
  1687. langflow/frontend/assets/user-cog-DSrSQLdm.js +6 -0
  1688. langflow/frontend/assets/user-lock-Dr0nssIA.js +6 -0
  1689. langflow/frontend/assets/user-minus-D5YKaMHP.js +6 -0
  1690. langflow/frontend/assets/user-pen-CsLTR5OS.js +6 -0
  1691. langflow/frontend/assets/user-plus-De5dKowi.js +6 -0
  1692. langflow/frontend/assets/user-round-Db-PGyeS.js +6 -0
  1693. langflow/frontend/assets/user-round-check-oeAhvgtX.js +6 -0
  1694. langflow/frontend/assets/user-round-cog-D0PrF4c8.js +6 -0
  1695. langflow/frontend/assets/user-round-minus-CqlSkZqX.js +6 -0
  1696. langflow/frontend/assets/user-round-pen-QLTzzwnf.js +6 -0
  1697. langflow/frontend/assets/user-round-plus-Bx3K4KAU.js +6 -0
  1698. langflow/frontend/assets/user-round-search-CTuvbxcv.js +6 -0
  1699. langflow/frontend/assets/user-round-x-CXiWjGk5.js +6 -0
  1700. langflow/frontend/assets/user-search-Wx8LBIpw.js +6 -0
  1701. langflow/frontend/assets/user-x-C7dP93Wk.js +6 -0
  1702. langflow/frontend/assets/users-Db7zYFpA.js +6 -0
  1703. langflow/frontend/assets/users-round-DHr5Sr0N.js +6 -0
  1704. langflow/frontend/assets/utensils-DtHkOs6Z.js +6 -0
  1705. langflow/frontend/assets/utensils-crossed-DLcgsz-O.js +6 -0
  1706. langflow/frontend/assets/utility-pole-B_wWOFgu.js +6 -0
  1707. langflow/frontend/assets/variable-DApkrROK.js +6 -0
  1708. langflow/frontend/assets/vault-ui3qi5oL.js +6 -0
  1709. langflow/frontend/assets/vegan-DbeU7GCW.js +6 -0
  1710. langflow/frontend/assets/venetian-mask-TngPVMQi.js +6 -0
  1711. langflow/frontend/assets/venus-DGTRr7NR.js +6 -0
  1712. langflow/frontend/assets/venus-and-mars-D3LGBlDX.js +6 -0
  1713. langflow/frontend/assets/vibrate-CgFeMpsJ.js +6 -0
  1714. langflow/frontend/assets/vibrate-off-Dfo2gom0.js +6 -0
  1715. langflow/frontend/assets/video-C37dbk9j.js +6 -0
  1716. langflow/frontend/assets/video-off-4ADfzTwY.js +6 -0
  1717. langflow/frontend/assets/videotape-B04hZc74.js +6 -0
  1718. langflow/frontend/assets/view-qgN5VhRW.js +6 -0
  1719. langflow/frontend/assets/voicemail-CmDdOF5x.js +6 -0
  1720. langflow/frontend/assets/volleyball-Cjg-162g.js +6 -0
  1721. langflow/frontend/assets/volume-1-CIkQ8iIg.js +6 -0
  1722. langflow/frontend/assets/volume-2-BMioCS8E.js +6 -0
  1723. langflow/frontend/assets/volume-B7ES03Qv.js +6 -0
  1724. langflow/frontend/assets/volume-off-D5XWZrKI.js +6 -0
  1725. langflow/frontend/assets/volume-x-7XVRVJ9B.js +6 -0
  1726. langflow/frontend/assets/vote-Dw1I2FfB.js +6 -0
  1727. langflow/frontend/assets/wallet-BFzQLkbo.js +6 -0
  1728. langflow/frontend/assets/wallet-cards-D13f7MeJ.js +6 -0
  1729. langflow/frontend/assets/wallet-minimal-Dqd8mUUI.js +6 -0
  1730. langflow/frontend/assets/wallpaper-BsSO8Odk.js +6 -0
  1731. langflow/frontend/assets/wand-TBE2I8GE.js +6 -0
  1732. langflow/frontend/assets/wand-sparkles-CRKbXOJZ.js +6 -0
  1733. langflow/frontend/assets/warehouse-CMbzjlH6.js +6 -0
  1734. langflow/frontend/assets/washing-machine-BGn-KReA.js +6 -0
  1735. langflow/frontend/assets/watch-CIGWSZt6.js +6 -0
  1736. langflow/frontend/assets/waves-ladder-DcF2y9VG.js +6 -0
  1737. langflow/frontend/assets/waves-wIUBgocz.js +6 -0
  1738. langflow/frontend/assets/waypoints-BQurfXX_.js +6 -0
  1739. langflow/frontend/assets/webcam-YKtMPPFX.js +6 -0
  1740. langflow/frontend/assets/webhook-BkjGp-iI.js +6 -0
  1741. langflow/frontend/assets/webhook-off-BQDPVLml.js +6 -0
  1742. langflow/frontend/assets/weight-B3FKVk1f.js +6 -0
  1743. langflow/frontend/assets/wheat-CX8yqsV1.js +6 -0
  1744. langflow/frontend/assets/wheat-off-CJNcq7KF.js +6 -0
  1745. langflow/frontend/assets/whole-word-B5MfrMWF.js +6 -0
  1746. langflow/frontend/assets/wifi-DZJleZd3.js +6 -0
  1747. langflow/frontend/assets/wifi-high-LKM0TXbk.js +6 -0
  1748. langflow/frontend/assets/wifi-low-CxVH1qJM.js +6 -0
  1749. langflow/frontend/assets/wifi-off-Dn9vsBGP.js +6 -0
  1750. langflow/frontend/assets/wifi-pen-Da_-sk9d.js +6 -0
  1751. langflow/frontend/assets/wifi-zero-DcMNjWZC.js +6 -0
  1752. langflow/frontend/assets/wind-DPrxycW5.js +6 -0
  1753. langflow/frontend/assets/wind-arrow-down-BrWeaZmh.js +6 -0
  1754. langflow/frontend/assets/wine-DAadDbxi.js +6 -0
  1755. langflow/frontend/assets/wine-off-C2Vv12g_.js +6 -0
  1756. langflow/frontend/assets/workflow-BxHBdxzI.js +6 -0
  1757. langflow/frontend/assets/worm-CZy7u8Xa.js +6 -0
  1758. langflow/frontend/assets/wrap-text-BoowhP_g.js +6 -0
  1759. langflow/frontend/assets/wrench-CwBP6vOn.js +6 -0
  1760. langflow/frontend/assets/youtube-BxpODfJZ.js +6 -0
  1761. langflow/frontend/assets/zap-CWSGMMkE.js +6 -0
  1762. langflow/frontend/assets/zap-off-D40--2OK.js +6 -0
  1763. langflow/frontend/assets/zoom-in-DZbBfX5Y.js +6 -0
  1764. langflow/frontend/assets/zoom-out-C4WVFDS7.js +6 -0
  1765. langflow/frontend/index.html +2 -2
  1766. langflow/initial_setup/starter_projects/Document Q&A.json +412 -69
  1767. langflow/initial_setup/starter_projects/Financial Report Parser.json +13 -15
  1768. langflow/initial_setup/starter_projects/Hybrid Search RAG.json +20 -22
  1769. langflow/initial_setup/starter_projects/Image Sentiment Analysis.json +1 -3
  1770. langflow/initial_setup/starter_projects/Instagram Copywriter.json +3 -5
  1771. langflow/initial_setup/starter_projects/Invoice Summarizer.json +3 -5
  1772. langflow/initial_setup/starter_projects/Market Research.json +20 -24
  1773. langflow/initial_setup/starter_projects/News Aggregator.json +10 -16
  1774. langflow/initial_setup/starter_projects/Nvidia Remix.json +4 -5
  1775. langflow/initial_setup/starter_projects/Pok/303/251dex Agent.json" +3 -5
  1776. langflow/initial_setup/starter_projects/Portfolio Website Code Generator.json +1344 -885
  1777. langflow/initial_setup/starter_projects/Price Deal Finder.json +3 -5
  1778. langflow/initial_setup/starter_projects/Research Agent.json +3 -5
  1779. langflow/initial_setup/starter_projects/Research Translation Loop.json +1 -0
  1780. langflow/initial_setup/starter_projects/SaaS Pricing.json +3 -5
  1781. langflow/initial_setup/starter_projects/Search agent.json +3 -5
  1782. langflow/initial_setup/starter_projects/Sequential Tasks Agents.json +9 -15
  1783. langflow/initial_setup/starter_projects/Simple Agent.json +3 -5
  1784. langflow/initial_setup/starter_projects/Social Media Agent.json +3 -5
  1785. langflow/initial_setup/starter_projects/Text Sentiment Analysis.json +728 -138
  1786. langflow/initial_setup/starter_projects/Travel Planning Agents.json +9 -15
  1787. langflow/initial_setup/starter_projects/Vector Store RAG.json +1609 -1254
  1788. langflow/initial_setup/starter_projects/Youtube Analysis.json +766 -841
  1789. langflow/memory.py +6 -2
  1790. langflow/services/deps.py +2 -2
  1791. langflow/services/storage/s3.py +5 -1
  1792. langflow_base_nightly-1.7.1.dev0.dist-info/METADATA +99 -0
  1793. langflow_base_nightly-1.7.1.dev0.dist-info/RECORD +2283 -0
  1794. langflow/frontend/assets/SlackIcon-CiDRMRPJ.js +0 -1
  1795. langflow/frontend/assets/Wikipedia-Dy2BbcVZ.js +0 -1
  1796. langflow/frontend/assets/Wolfram-Cqcm65J8.js +0 -1
  1797. langflow/frontend/assets/a-arrow-down-D0QDfPwx.js +0 -6
  1798. langflow/frontend/assets/a-arrow-up-DToMBqme.js +0 -6
  1799. langflow/frontend/assets/a-large-small-DoI6Lbmh.js +0 -6
  1800. langflow/frontend/assets/accessibility-Cw-mNMt4.js +0 -6
  1801. langflow/frontend/assets/activity-hWot7v0y.js +0 -6
  1802. langflow/frontend/assets/air-vent-Byvqj6UO.js +0 -6
  1803. langflow/frontend/assets/airplay-DHukvi2i.js +0 -6
  1804. langflow/frontend/assets/alarm-clock-DtrrEQBq.js +0 -6
  1805. langflow/frontend/assets/alarm-clock-check-D6AI3OPX.js +0 -6
  1806. langflow/frontend/assets/alarm-clock-minus-BL3qcCTv.js +0 -6
  1807. langflow/frontend/assets/alarm-clock-off-Cp1EL8zC.js +0 -6
  1808. langflow/frontend/assets/alarm-clock-plus-kX0kuGbg.js +0 -6
  1809. langflow/frontend/assets/alarm-smoke-B_ihQo4m.js +0 -6
  1810. langflow/frontend/assets/album-C7gkxb6p.js +0 -6
  1811. langflow/frontend/assets/align-center-DtKFvIp-.js +0 -6
  1812. langflow/frontend/assets/align-center-horizontal-CmKZBJ3p.js +0 -6
  1813. langflow/frontend/assets/align-center-vertical-BVHpQ5jm.js +0 -6
  1814. langflow/frontend/assets/align-end-horizontal-CnTv9v1g.js +0 -6
  1815. langflow/frontend/assets/align-end-vertical-DOXV_CPn.js +0 -6
  1816. langflow/frontend/assets/align-horizontal-distribute-center-Gp4cXira.js +0 -6
  1817. langflow/frontend/assets/align-horizontal-distribute-end-TJv5yc-l.js +0 -6
  1818. langflow/frontend/assets/align-horizontal-distribute-start-Dma5h49X.js +0 -6
  1819. langflow/frontend/assets/align-horizontal-justify-center-D_Va6wiK.js +0 -6
  1820. langflow/frontend/assets/align-horizontal-justify-end-C6QiubjB.js +0 -6
  1821. langflow/frontend/assets/align-horizontal-justify-start-XdwaVYgG.js +0 -6
  1822. langflow/frontend/assets/align-horizontal-space-around-X1tLLrkW.js +0 -6
  1823. langflow/frontend/assets/align-horizontal-space-between-Dh3018_K.js +0 -6
  1824. langflow/frontend/assets/align-justify-DHg8_U1g.js +0 -6
  1825. langflow/frontend/assets/align-left-DhwQkbhk.js +0 -6
  1826. langflow/frontend/assets/align-right-BPRo6jGb.js +0 -6
  1827. langflow/frontend/assets/align-start-horizontal-BCuSphdX.js +0 -6
  1828. langflow/frontend/assets/align-start-vertical-ab2DXCS5.js +0 -6
  1829. langflow/frontend/assets/align-vertical-distribute-center-DFhGK-rN.js +0 -6
  1830. langflow/frontend/assets/align-vertical-distribute-end-Dfe56eVW.js +0 -6
  1831. langflow/frontend/assets/align-vertical-distribute-start-URfCfDOt.js +0 -6
  1832. langflow/frontend/assets/align-vertical-justify-center-Io8SQ_x_.js +0 -6
  1833. langflow/frontend/assets/align-vertical-justify-end-BRreSma-.js +0 -6
  1834. langflow/frontend/assets/align-vertical-justify-start-BKE4PAN5.js +0 -6
  1835. langflow/frontend/assets/align-vertical-space-around-BUAWwmKu.js +0 -6
  1836. langflow/frontend/assets/align-vertical-space-between-D0dmJ62l.js +0 -6
  1837. langflow/frontend/assets/ambulance-CBSM6r9I.js +0 -6
  1838. langflow/frontend/assets/ampersand-OwbxfSoT.js +0 -6
  1839. langflow/frontend/assets/ampersands-phDhbc5_.js +0 -6
  1840. langflow/frontend/assets/amphora-XJ0wSntH.js +0 -6
  1841. langflow/frontend/assets/anchor-YZR9yXb1.js +0 -6
  1842. langflow/frontend/assets/angry-7RJyr8Ks.js +0 -6
  1843. langflow/frontend/assets/annoyed-CQgFRIXq.js +0 -6
  1844. langflow/frontend/assets/antenna-DWt3JquC.js +0 -6
  1845. langflow/frontend/assets/anvil-oydRBR5k.js +0 -6
  1846. langflow/frontend/assets/aperture-ConT4Ais.js +0 -6
  1847. langflow/frontend/assets/app-window-BEQBdken.js +0 -6
  1848. langflow/frontend/assets/app-window-mac-derfeq8Q.js +0 -6
  1849. langflow/frontend/assets/apple-oQkXFKHk.js +0 -6
  1850. langflow/frontend/assets/archive-DL4Jju_X.js +0 -6
  1851. langflow/frontend/assets/archive-restore-tbbdtHnz.js +0 -6
  1852. langflow/frontend/assets/archive-x-B9xJPjFQ.js +0 -6
  1853. langflow/frontend/assets/armchair-BZsNazfR.js +0 -6
  1854. langflow/frontend/assets/arrow-big-down-_w3gYubJ.js +0 -6
  1855. langflow/frontend/assets/arrow-big-down-dash-ZWzf7_Vm.js +0 -6
  1856. langflow/frontend/assets/arrow-big-left-CwRD-vU8.js +0 -6
  1857. langflow/frontend/assets/arrow-big-left-dash-CLj6et2F.js +0 -6
  1858. langflow/frontend/assets/arrow-big-right-BU1ZIOoI.js +0 -6
  1859. langflow/frontend/assets/arrow-big-right-dash-mVNtCmy4.js +0 -6
  1860. langflow/frontend/assets/arrow-big-up-MZBxWcLb.js +0 -6
  1861. langflow/frontend/assets/arrow-big-up-dash-BTSaZ3rL.js +0 -6
  1862. langflow/frontend/assets/arrow-down-0-1-CtQvLh_F.js +0 -6
  1863. langflow/frontend/assets/arrow-down-1-0-G0DV_-jJ.js +0 -6
  1864. langflow/frontend/assets/arrow-down-B-l93xHD.js +0 -6
  1865. langflow/frontend/assets/arrow-down-a-z-Tzg5tpD_.js +0 -6
  1866. langflow/frontend/assets/arrow-down-from-line-B66kDVSw.js +0 -6
  1867. langflow/frontend/assets/arrow-down-left-Bb9_3CCF.js +0 -6
  1868. langflow/frontend/assets/arrow-down-narrow-wide-DVQ_iZIB.js +0 -6
  1869. langflow/frontend/assets/arrow-down-right-BrFOGPEk.js +0 -6
  1870. langflow/frontend/assets/arrow-down-to-dot-BUHlbyD0.js +0 -6
  1871. langflow/frontend/assets/arrow-down-to-line-CUx9iPzf.js +0 -6
  1872. langflow/frontend/assets/arrow-down-up-DEGIbqld.js +0 -6
  1873. langflow/frontend/assets/arrow-down-wide-narrow-BDGmkk1h.js +0 -6
  1874. langflow/frontend/assets/arrow-down-z-a-CZLqKUx0.js +0 -6
  1875. langflow/frontend/assets/arrow-left-B_OBt03y.js +0 -6
  1876. langflow/frontend/assets/arrow-left-from-line-9ufi0ecO.js +0 -6
  1877. langflow/frontend/assets/arrow-left-right-gOh2Y7oY.js +0 -6
  1878. langflow/frontend/assets/arrow-left-to-line-D70iFjNH.js +0 -6
  1879. langflow/frontend/assets/arrow-right-CKq9pdal.js +0 -6
  1880. langflow/frontend/assets/arrow-right-from-line-DvnunoU0.js +0 -6
  1881. langflow/frontend/assets/arrow-right-left-_2oF7m9r.js +0 -6
  1882. langflow/frontend/assets/arrow-right-to-line-BxWsuvcP.js +0 -6
  1883. langflow/frontend/assets/arrow-up-0-1-UrjSfDJn.js +0 -6
  1884. langflow/frontend/assets/arrow-up-1-0-CM2dh3AB.js +0 -6
  1885. langflow/frontend/assets/arrow-up-D_Y7BGJZ.js +0 -6
  1886. langflow/frontend/assets/arrow-up-a-z-CZ5_KOss.js +0 -6
  1887. langflow/frontend/assets/arrow-up-down-D-WPBja4.js +0 -6
  1888. langflow/frontend/assets/arrow-up-from-dot-C1ebyeMB.js +0 -6
  1889. langflow/frontend/assets/arrow-up-from-line-BGDFNOIe.js +0 -6
  1890. langflow/frontend/assets/arrow-up-left-oYJa1lK6.js +0 -6
  1891. langflow/frontend/assets/arrow-up-narrow-wide-CL-SemHX.js +0 -6
  1892. langflow/frontend/assets/arrow-up-right-q5RfBzKt.js +0 -6
  1893. langflow/frontend/assets/arrow-up-to-line-D9O_vbe8.js +0 -6
  1894. langflow/frontend/assets/arrow-up-wide-narrow-C1Q3vBuZ.js +0 -6
  1895. langflow/frontend/assets/arrow-up-z-a-D-kVvjSu.js +0 -6
  1896. langflow/frontend/assets/arrows-up-from-line-DJQdeKsZ.js +0 -6
  1897. langflow/frontend/assets/asterisk-Ca3MsPZE.js +0 -6
  1898. langflow/frontend/assets/at-sign-BAJSJ1qU.js +0 -6
  1899. langflow/frontend/assets/atom-BvwGZJ3B.js +0 -6
  1900. langflow/frontend/assets/audio-lines-Du741dSy.js +0 -6
  1901. langflow/frontend/assets/audio-waveform-esSOCFic.js +0 -6
  1902. langflow/frontend/assets/award-B4Q8oZG_.js +0 -6
  1903. langflow/frontend/assets/axe-CVfqqqJ0.js +0 -6
  1904. langflow/frontend/assets/axis-3d-DeT-zV7X.js +0 -6
  1905. langflow/frontend/assets/baby-BdI6Bx5H.js +0 -6
  1906. langflow/frontend/assets/backpack-YYgLRu05.js +0 -6
  1907. langflow/frontend/assets/badge-CtIB0t_6.js +0 -6
  1908. langflow/frontend/assets/badge-alert-BqPiZdq9.js +0 -6
  1909. langflow/frontend/assets/badge-cent-Dzwmq_lP.js +0 -6
  1910. langflow/frontend/assets/badge-check-DszgZEqQ.js +0 -6
  1911. langflow/frontend/assets/badge-dollar-sign-D6_EslRQ.js +0 -6
  1912. langflow/frontend/assets/badge-euro-BQql-pg0.js +0 -6
  1913. langflow/frontend/assets/badge-help-BnNCR5F0.js +0 -6
  1914. langflow/frontend/assets/badge-indian-rupee-BIYCaJCb.js +0 -6
  1915. langflow/frontend/assets/badge-info-Dri8mwgT.js +0 -6
  1916. langflow/frontend/assets/badge-japanese-yen-BwcOCoeZ.js +0 -6
  1917. langflow/frontend/assets/badge-minus-DBkvvSwv.js +0 -6
  1918. langflow/frontend/assets/badge-percent-Cxy2Fo-N.js +0 -6
  1919. langflow/frontend/assets/badge-plus-DE8fShhE.js +0 -6
  1920. langflow/frontend/assets/badge-pound-sterling-BofEzkg2.js +0 -6
  1921. langflow/frontend/assets/badge-russian-ruble-Cm0gaD62.js +0 -6
  1922. langflow/frontend/assets/badge-swiss-franc-DrYVhggb.js +0 -6
  1923. langflow/frontend/assets/badge-x-BX5JqZV7.js +0 -6
  1924. langflow/frontend/assets/baggage-claim-DvpoauZf.js +0 -6
  1925. langflow/frontend/assets/ban-B1KHPWy2.js +0 -6
  1926. langflow/frontend/assets/banana-CfdacHC0.js +0 -6
  1927. langflow/frontend/assets/bandage-D_DmeXTQ.js +0 -6
  1928. langflow/frontend/assets/banknote-CGf35Nu_.js +0 -6
  1929. langflow/frontend/assets/banknote-arrow-down-Bsk5AYgW.js +0 -6
  1930. langflow/frontend/assets/banknote-arrow-up-DxrrWbYd.js +0 -6
  1931. langflow/frontend/assets/banknote-x-CNLoLyte.js +0 -6
  1932. langflow/frontend/assets/barcode-CkAiQpv_.js +0 -6
  1933. langflow/frontend/assets/baseline-DmSN7vJT.js +0 -6
  1934. langflow/frontend/assets/bath-BVUupyhv.js +0 -6
  1935. langflow/frontend/assets/battery-CEAwSkFP.js +0 -6
  1936. langflow/frontend/assets/battery-charging-BfLCX2-h.js +0 -6
  1937. langflow/frontend/assets/battery-full-0iDVp-o0.js +0 -6
  1938. langflow/frontend/assets/battery-low-BcZQ08Dw.js +0 -6
  1939. langflow/frontend/assets/battery-medium-DGqJYD1t.js +0 -6
  1940. langflow/frontend/assets/battery-plus-BOSFZqZe.js +0 -6
  1941. langflow/frontend/assets/battery-warning-ic4lJJVp.js +0 -6
  1942. langflow/frontend/assets/beaker-BFuons2p.js +0 -6
  1943. langflow/frontend/assets/bean-8vnDx1I9.js +0 -6
  1944. langflow/frontend/assets/bean-off-Ysohtf4O.js +0 -6
  1945. langflow/frontend/assets/bed-DuqIrPmN.js +0 -6
  1946. langflow/frontend/assets/bed-double-BAIWPGsm.js +0 -6
  1947. langflow/frontend/assets/bed-single-YYvXUljj.js +0 -6
  1948. langflow/frontend/assets/beef-CK-4EOk9.js +0 -6
  1949. langflow/frontend/assets/beer-DxRkOXll.js +0 -6
  1950. langflow/frontend/assets/beer-off-ca2uo1xU.js +0 -6
  1951. langflow/frontend/assets/bell-Udiy8X0N.js +0 -6
  1952. langflow/frontend/assets/bell-dot-BBHKkc5C.js +0 -6
  1953. langflow/frontend/assets/bell-electric-gUJz2OHW.js +0 -6
  1954. langflow/frontend/assets/bell-minus-CVq_mjkN.js +0 -6
  1955. langflow/frontend/assets/bell-off-0qN--6Yo.js +0 -6
  1956. langflow/frontend/assets/bell-plus-BhRzK6QJ.js +0 -6
  1957. langflow/frontend/assets/bell-ring-DjQSsyYE.js +0 -6
  1958. langflow/frontend/assets/between-horizontal-end-NpyCdfOE.js +0 -6
  1959. langflow/frontend/assets/between-horizontal-start-Dnpc4BAO.js +0 -6
  1960. langflow/frontend/assets/between-vertical-end-CHrjEpfS.js +0 -6
  1961. langflow/frontend/assets/between-vertical-start-DKJs53Sx.js +0 -6
  1962. langflow/frontend/assets/biceps-flexed-CsE7dV3u.js +0 -6
  1963. langflow/frontend/assets/bike-CVR0RzpQ.js +0 -6
  1964. langflow/frontend/assets/binary-Bcih0o69.js +0 -6
  1965. langflow/frontend/assets/binoculars-ICtPwNib.js +0 -6
  1966. langflow/frontend/assets/biohazard-D03rerME.js +0 -6
  1967. langflow/frontend/assets/bird-B5I4-Y1a.js +0 -6
  1968. langflow/frontend/assets/bitcoin-CY0RUO73.js +0 -6
  1969. langflow/frontend/assets/blend-ByVWGP-D.js +0 -6
  1970. langflow/frontend/assets/blinds-8P6aWn71.js +0 -6
  1971. langflow/frontend/assets/blocks-C7fg3_Sh.js +0 -6
  1972. langflow/frontend/assets/bluetooth-DF_2-I3H.js +0 -6
  1973. langflow/frontend/assets/bluetooth-connected-C7eddUdy.js +0 -6
  1974. langflow/frontend/assets/bluetooth-off-Br88awpS.js +0 -6
  1975. langflow/frontend/assets/bluetooth-searching-B4WptJbX.js +0 -6
  1976. langflow/frontend/assets/bold-CqjK5dvo.js +0 -6
  1977. langflow/frontend/assets/bolt-D9ewNwxl.js +0 -6
  1978. langflow/frontend/assets/bomb-D89BBj0x.js +0 -6
  1979. langflow/frontend/assets/bone-DZfW0e9X.js +0 -6
  1980. langflow/frontend/assets/book-CU5lbLsx.js +0 -6
  1981. langflow/frontend/assets/book-a-DyEiNbAO.js +0 -6
  1982. langflow/frontend/assets/book-audio-BOz0SK3h.js +0 -6
  1983. langflow/frontend/assets/book-check-bAiLk1v0.js +0 -6
  1984. langflow/frontend/assets/book-copy-Bjyl8Dxj.js +0 -6
  1985. langflow/frontend/assets/book-dashed-87-hTIj-.js +0 -6
  1986. langflow/frontend/assets/book-down-DMGDvX6c.js +0 -6
  1987. langflow/frontend/assets/book-headphones-DxzgLbtY.js +0 -6
  1988. langflow/frontend/assets/book-heart-CoddRiQc.js +0 -6
  1989. langflow/frontend/assets/book-image-Bvm0otFu.js +0 -6
  1990. langflow/frontend/assets/book-key-Crv25-1b.js +0 -6
  1991. langflow/frontend/assets/book-lock-CE-TUGNT.js +0 -6
  1992. langflow/frontend/assets/book-marked-DyXwsEf8.js +0 -6
  1993. langflow/frontend/assets/book-minus-B4Q7tkGf.js +0 -6
  1994. langflow/frontend/assets/book-open-BwdF_mSV.js +0 -6
  1995. langflow/frontend/assets/book-open-check-DAKXiQog.js +0 -6
  1996. langflow/frontend/assets/book-open-text-DmYpNWDa.js +0 -6
  1997. langflow/frontend/assets/book-plus-nDtW0juH.js +0 -6
  1998. langflow/frontend/assets/book-text-A0c-fc0P.js +0 -6
  1999. langflow/frontend/assets/book-type-Byqm2yjx.js +0 -6
  2000. langflow/frontend/assets/book-up-2-CoIJp0vk.js +0 -6
  2001. langflow/frontend/assets/book-up-PCEt_ENQ.js +0 -6
  2002. langflow/frontend/assets/book-user-TA8Et36C.js +0 -6
  2003. langflow/frontend/assets/book-x-BFRasTEI.js +0 -6
  2004. langflow/frontend/assets/bookmark-BJ6wtUhD.js +0 -6
  2005. langflow/frontend/assets/bookmark-check-CxMqJ7-P.js +0 -6
  2006. langflow/frontend/assets/bookmark-minus-B0_-EHIw.js +0 -6
  2007. langflow/frontend/assets/bookmark-plus-CZbCCZjc.js +0 -6
  2008. langflow/frontend/assets/bookmark-x-CXVmt1v4.js +0 -6
  2009. langflow/frontend/assets/boom-box-CgZrwetT.js +0 -6
  2010. langflow/frontend/assets/bot-DQRMipsE.js +0 -6
  2011. langflow/frontend/assets/bot-message-square-CZBvDG_-.js +0 -6
  2012. langflow/frontend/assets/bot-off-vPdD2RlP.js +0 -6
  2013. langflow/frontend/assets/bow-arrow-EPgHlepf.js +0 -6
  2014. langflow/frontend/assets/box-BgDOdcN1.js +0 -6
  2015. langflow/frontend/assets/boxes-1Ph2c29h.js +0 -6
  2016. langflow/frontend/assets/braces-C3gETHIP.js +0 -6
  2017. langflow/frontend/assets/brackets-DQQ4xUwP.js +0 -6
  2018. langflow/frontend/assets/brain-CKgUPawu.js +0 -6
  2019. langflow/frontend/assets/brain-circuit-71o2XFnH.js +0 -6
  2020. langflow/frontend/assets/brain-cog-CkwmrEVa.js +0 -6
  2021. langflow/frontend/assets/brick-wall-CIfP2291.js +0 -6
  2022. langflow/frontend/assets/brick-wall-fire-CVapRCpF.js +0 -6
  2023. langflow/frontend/assets/briefcase-CUCjqLGO.js +0 -6
  2024. langflow/frontend/assets/briefcase-business-C6KvOrlm.js +0 -6
  2025. langflow/frontend/assets/briefcase-conveyor-belt-D8-KT8xV.js +0 -6
  2026. langflow/frontend/assets/briefcase-medical-BMcjLsMG.js +0 -6
  2027. langflow/frontend/assets/bring-to-front-BglFFtX9.js +0 -6
  2028. langflow/frontend/assets/brush-BlEF7vZs.js +0 -6
  2029. langflow/frontend/assets/bubbles-Cm5afSpk.js +0 -6
  2030. langflow/frontend/assets/bug-CROT4EB9.js +0 -6
  2031. langflow/frontend/assets/bug-off-B5pdze6F.js +0 -6
  2032. langflow/frontend/assets/bug-play-B6XD7tsh.js +0 -6
  2033. langflow/frontend/assets/building-2-CsWtjYjF.js +0 -6
  2034. langflow/frontend/assets/building-CzrfPDJV.js +0 -6
  2035. langflow/frontend/assets/bus-C-85lnrJ.js +0 -6
  2036. langflow/frontend/assets/bus-front-Cxmu9qEn.js +0 -6
  2037. langflow/frontend/assets/cable-B58qv4J-.js +0 -6
  2038. langflow/frontend/assets/cable-car-BHokOmFT.js +0 -6
  2039. langflow/frontend/assets/cake-CGFaGIrC.js +0 -6
  2040. langflow/frontend/assets/cake-slice-BBjohR7D.js +0 -6
  2041. langflow/frontend/assets/calculator-B-0BeATJ.js +0 -6
  2042. langflow/frontend/assets/calendar-1-cuaB_r0e.js +0 -6
  2043. langflow/frontend/assets/calendar-DTeTAlFN.js +0 -6
  2044. langflow/frontend/assets/calendar-arrow-down-C-nN5_4E.js +0 -6
  2045. langflow/frontend/assets/calendar-arrow-up-friUOxYZ.js +0 -6
  2046. langflow/frontend/assets/calendar-check-2-Ddx3rWxC.js +0 -6
  2047. langflow/frontend/assets/calendar-check-CVcw0Oaa.js +0 -6
  2048. langflow/frontend/assets/calendar-clock-DB3BqPqH.js +0 -6
  2049. langflow/frontend/assets/calendar-cog-qufoRfNY.js +0 -6
  2050. langflow/frontend/assets/calendar-days-JGKw613e.js +0 -6
  2051. langflow/frontend/assets/calendar-fold-xVSKci71.js +0 -6
  2052. langflow/frontend/assets/calendar-heart-DVc8QSMQ.js +0 -6
  2053. langflow/frontend/assets/calendar-minus-2-XIDnJ8bN.js +0 -6
  2054. langflow/frontend/assets/calendar-minus-BG-9Gyu2.js +0 -6
  2055. langflow/frontend/assets/calendar-off-U_58_9a9.js +0 -6
  2056. langflow/frontend/assets/calendar-plus-2-DlZ32tDq.js +0 -6
  2057. langflow/frontend/assets/calendar-plus-wPVwP8XH.js +0 -6
  2058. langflow/frontend/assets/calendar-range-Dh3Mn4wk.js +0 -6
  2059. langflow/frontend/assets/calendar-search-BYxcN8lZ.js +0 -6
  2060. langflow/frontend/assets/calendar-sync-Dml9hu0M.js +0 -6
  2061. langflow/frontend/assets/calendar-x-2-BCfg_6G9.js +0 -6
  2062. langflow/frontend/assets/calendar-x-_X2UsDsD.js +0 -6
  2063. langflow/frontend/assets/camera-Bq6YMUSz.js +0 -6
  2064. langflow/frontend/assets/camera-off-D87mM-V8.js +0 -6
  2065. langflow/frontend/assets/candy-B-0zd1zJ.js +0 -6
  2066. langflow/frontend/assets/candy-cane-B02xZ8Yh.js +0 -6
  2067. langflow/frontend/assets/candy-off-B31YgP4X.js +0 -6
  2068. langflow/frontend/assets/cannabis-vbR60kvp.js +0 -6
  2069. langflow/frontend/assets/captions-IapwnCWY.js +0 -6
  2070. langflow/frontend/assets/captions-off-Cqyp0BCZ.js +0 -6
  2071. langflow/frontend/assets/car-CFU8YDmN.js +0 -6
  2072. langflow/frontend/assets/car-front-uwGBK8Yy.js +0 -6
  2073. langflow/frontend/assets/car-taxi-front-9uT_Py1s.js +0 -6
  2074. langflow/frontend/assets/caravan-CucvY9fQ.js +0 -6
  2075. langflow/frontend/assets/carrot-Bb2TYO_E.js +0 -6
  2076. langflow/frontend/assets/case-lower-DAlIbIk7.js +0 -6
  2077. langflow/frontend/assets/case-sensitive-DVwMfk_g.js +0 -6
  2078. langflow/frontend/assets/case-upper-DCIiTCMq.js +0 -6
  2079. langflow/frontend/assets/cassette-tape-Bdfd7Nu2.js +0 -6
  2080. langflow/frontend/assets/cast-C703ktdG.js +0 -6
  2081. langflow/frontend/assets/castle-CMOrKjig.js +0 -6
  2082. langflow/frontend/assets/cat-BAQE-Uvu.js +0 -6
  2083. langflow/frontend/assets/cctv-Bm1ksqgN.js +0 -6
  2084. langflow/frontend/assets/chart-area-0ZVeQsVc.js +0 -6
  2085. langflow/frontend/assets/chart-bar-D9XeOk_i.js +0 -6
  2086. langflow/frontend/assets/chart-bar-big-CW3qe26X.js +0 -6
  2087. langflow/frontend/assets/chart-bar-decreasing-C0-1_ZyP.js +0 -6
  2088. langflow/frontend/assets/chart-bar-increasing-CkeXMrpE.js +0 -6
  2089. langflow/frontend/assets/chart-bar-stacked-LJjgMToq.js +0 -6
  2090. langflow/frontend/assets/chart-candlestick-k1gVX8Te.js +0 -6
  2091. langflow/frontend/assets/chart-column-BBJrPy0c.js +0 -6
  2092. langflow/frontend/assets/chart-column-big-DcVBLwTs.js +0 -6
  2093. langflow/frontend/assets/chart-column-decreasing-Cadd5KDq.js +0 -6
  2094. langflow/frontend/assets/chart-column-increasing-CVGwOZ7O.js +0 -6
  2095. langflow/frontend/assets/chart-column-stacked-nkTWIhS7.js +0 -6
  2096. langflow/frontend/assets/chart-gantt-CDUJnFDM.js +0 -6
  2097. langflow/frontend/assets/chart-line-CZBVm0lz.js +0 -6
  2098. langflow/frontend/assets/chart-network-35pXQTAP.js +0 -6
  2099. langflow/frontend/assets/chart-no-axes-column-cNjR2jbE.js +0 -6
  2100. langflow/frontend/assets/chart-no-axes-column-decreasing-BOmLD1-Q.js +0 -6
  2101. langflow/frontend/assets/chart-no-axes-column-increasing-yAD6_Y5Q.js +0 -6
  2102. langflow/frontend/assets/chart-no-axes-combined-BkyhRYPE.js +0 -6
  2103. langflow/frontend/assets/chart-no-axes-gantt-BnnWuplR.js +0 -6
  2104. langflow/frontend/assets/chart-pie-D345szvo.js +0 -6
  2105. langflow/frontend/assets/chart-scatter-BCE828AF.js +0 -6
  2106. langflow/frontend/assets/chart-spline-DezWqFYo.js +0 -6
  2107. langflow/frontend/assets/check-check-jYR0NdUS.js +0 -6
  2108. langflow/frontend/assets/chef-hat-dWKJciCE.js +0 -6
  2109. langflow/frontend/assets/cherry-C1B8wlvn.js +0 -6
  2110. langflow/frontend/assets/chevron-first-DMbVTlgQ.js +0 -6
  2111. langflow/frontend/assets/chevron-last-DUFi9nfs.js +0 -6
  2112. langflow/frontend/assets/chevron-left-YByHwjJF.js +0 -6
  2113. langflow/frontend/assets/chevron-right-BY1WKmJZ.js +0 -6
  2114. langflow/frontend/assets/chevrons-down-CrEwkPTZ.js +0 -6
  2115. langflow/frontend/assets/chevrons-down-up-B5omkIRL.js +0 -6
  2116. langflow/frontend/assets/chevrons-left-CM5G6uIl.js +0 -6
  2117. langflow/frontend/assets/chevrons-left-right-B3JKONgK.js +0 -6
  2118. langflow/frontend/assets/chevrons-left-right-ellipsis-BsM6mFG_.js +0 -6
  2119. langflow/frontend/assets/chevrons-right-fATY3ztz.js +0 -6
  2120. langflow/frontend/assets/chevrons-right-left-CByP6P6z.js +0 -6
  2121. langflow/frontend/assets/chevrons-up-CbWgePoj.js +0 -6
  2122. langflow/frontend/assets/chrome-CWus5OOn.js +0 -6
  2123. langflow/frontend/assets/church-DpYoZOhe.js +0 -6
  2124. langflow/frontend/assets/cigarette-BmmVmlkc.js +0 -6
  2125. langflow/frontend/assets/cigarette-off-CIEgMxHs.js +0 -6
  2126. langflow/frontend/assets/circle-alert-CGmUq1ya.js +0 -6
  2127. langflow/frontend/assets/circle-arrow-down-8jMDMeCm.js +0 -6
  2128. langflow/frontend/assets/circle-arrow-left-CWYEEHDb.js +0 -6
  2129. langflow/frontend/assets/circle-arrow-out-down-left-PqJt80DA.js +0 -6
  2130. langflow/frontend/assets/circle-arrow-out-down-right-Bo9MkoPr.js +0 -6
  2131. langflow/frontend/assets/circle-arrow-out-up-left-Bc0KGGYv.js +0 -6
  2132. langflow/frontend/assets/circle-arrow-out-up-right-ByDZT4Rk.js +0 -6
  2133. langflow/frontend/assets/circle-arrow-right-HbEOzhU9.js +0 -6
  2134. langflow/frontend/assets/circle-arrow-up-ytUDzbm6.js +0 -6
  2135. langflow/frontend/assets/circle-check-big-CXyZID9v.js +0 -6
  2136. langflow/frontend/assets/circle-check-pEV54vM8.js +0 -6
  2137. langflow/frontend/assets/circle-chevron-down-DS_rpf-8.js +0 -6
  2138. langflow/frontend/assets/circle-chevron-left-CKeX3Rs-.js +0 -6
  2139. langflow/frontend/assets/circle-chevron-right-DCI9ueTi.js +0 -6
  2140. langflow/frontend/assets/circle-chevron-up-CptWpWQz.js +0 -6
  2141. langflow/frontend/assets/circle-dashed-BYSh0yLh.js +0 -6
  2142. langflow/frontend/assets/circle-divide-CaJ8BhKC.js +0 -6
  2143. langflow/frontend/assets/circle-dollar-sign-bP6otW6i.js +0 -6
  2144. langflow/frontend/assets/circle-dot-Dm-xR7J-.js +0 -6
  2145. langflow/frontend/assets/circle-dot-dashed-DgOLrW-Y.js +0 -6
  2146. langflow/frontend/assets/circle-ellipsis-CyuQbkx5.js +0 -6
  2147. langflow/frontend/assets/circle-equal-ssfZnjeF.js +0 -6
  2148. langflow/frontend/assets/circle-fading-arrow-up-CySl1dVh.js +0 -6
  2149. langflow/frontend/assets/circle-fading-plus-DMkF1waP.js +0 -6
  2150. langflow/frontend/assets/circle-gauge-BGrOst9L.js +0 -6
  2151. langflow/frontend/assets/circle-help-CdMXDZFr.js +0 -6
  2152. langflow/frontend/assets/circle-minus-DXLI43-p.js +0 -6
  2153. langflow/frontend/assets/circle-off-C0JmuYH0.js +0 -6
  2154. langflow/frontend/assets/circle-parking-CaoT_oV9.js +0 -6
  2155. langflow/frontend/assets/circle-parking-off-Wl6mU15R.js +0 -6
  2156. langflow/frontend/assets/circle-pause-nra2vq3x.js +0 -6
  2157. langflow/frontend/assets/circle-percent-BtjKjrfI.js +0 -6
  2158. langflow/frontend/assets/circle-play-BE-c8K8S.js +0 -6
  2159. langflow/frontend/assets/circle-plus-PzFpxIZH.js +0 -6
  2160. langflow/frontend/assets/circle-power-Ha2F1tSB.js +0 -6
  2161. langflow/frontend/assets/circle-slash-2-DHcrnWlR.js +0 -6
  2162. langflow/frontend/assets/circle-slash-CA-S0W4g.js +0 -6
  2163. langflow/frontend/assets/circle-small-BvhryrIK.js +0 -6
  2164. langflow/frontend/assets/circle-stop-Ct35yBZk.js +0 -6
  2165. langflow/frontend/assets/circle-user-CPz8bqCl.js +0 -6
  2166. langflow/frontend/assets/circle-user-round-yXIR-WgU.js +0 -6
  2167. langflow/frontend/assets/circuit-board-CVkWlM5E.js +0 -6
  2168. langflow/frontend/assets/citrus-BZCxNd7O.js +0 -6
  2169. langflow/frontend/assets/clapperboard-dK4xZgsP.js +0 -6
  2170. langflow/frontend/assets/clipboard-Ds5Z07sv.js +0 -6
  2171. langflow/frontend/assets/clipboard-check-CT7rgWE7.js +0 -6
  2172. langflow/frontend/assets/clipboard-copy-7ubC4Yza.js +0 -6
  2173. langflow/frontend/assets/clipboard-list-o0oDhA77.js +0 -6
  2174. langflow/frontend/assets/clipboard-minus-0Tz_adOm.js +0 -6
  2175. langflow/frontend/assets/clipboard-paste-CoL1xZzr.js +0 -6
  2176. langflow/frontend/assets/clipboard-pen-DuFR5bFR.js +0 -6
  2177. langflow/frontend/assets/clipboard-pen-line-DGQtHbq3.js +0 -6
  2178. langflow/frontend/assets/clipboard-plus-Y_fHUXMT.js +0 -6
  2179. langflow/frontend/assets/clipboard-type-Du6tDpB5.js +0 -6
  2180. langflow/frontend/assets/clipboard-x-CXlHspQq.js +0 -6
  2181. langflow/frontend/assets/clock-1-Cy6_CrM-.js +0 -6
  2182. langflow/frontend/assets/clock-10-DsU4PSzZ.js +0 -6
  2183. langflow/frontend/assets/clock-11-DW5wXcwz.js +0 -6
  2184. langflow/frontend/assets/clock-12-DRROOWaF.js +0 -6
  2185. langflow/frontend/assets/clock-2-BYx-WvG0.js +0 -6
  2186. langflow/frontend/assets/clock-3-BuBfWBH5.js +0 -6
  2187. langflow/frontend/assets/clock-4-YZVu0Ndv.js +0 -6
  2188. langflow/frontend/assets/clock-4ZjirP4v.js +0 -6
  2189. langflow/frontend/assets/clock-5-OFWQOHb4.js +0 -6
  2190. langflow/frontend/assets/clock-6-DxeICftX.js +0 -6
  2191. langflow/frontend/assets/clock-7-CXQOXN6H.js +0 -6
  2192. langflow/frontend/assets/clock-8-3KkUcd3O.js +0 -6
  2193. langflow/frontend/assets/clock-9-6wbf25s1.js +0 -6
  2194. langflow/frontend/assets/clock-alert-D452LIEg.js +0 -6
  2195. langflow/frontend/assets/clock-arrow-down-TZUf1BSr.js +0 -6
  2196. langflow/frontend/assets/clock-arrow-up-FXv7ULpb.js +0 -6
  2197. langflow/frontend/assets/clock-fading-Da23qbqo.js +0 -6
  2198. langflow/frontend/assets/cloud-Bo7mxJI_.js +0 -6
  2199. langflow/frontend/assets/cloud-alert-BS8A9duL.js +0 -6
  2200. langflow/frontend/assets/cloud-cog-Dpz4nFHS.js +0 -6
  2201. langflow/frontend/assets/cloud-download-BVDMyr-G.js +0 -6
  2202. langflow/frontend/assets/cloud-drizzle-BF3Y0HIk.js +0 -6
  2203. langflow/frontend/assets/cloud-fog-B36RLGg6.js +0 -6
  2204. langflow/frontend/assets/cloud-hail-CIDuu6t8.js +0 -6
  2205. langflow/frontend/assets/cloud-lightning-CAi65H2c.js +0 -6
  2206. langflow/frontend/assets/cloud-moon-qTvrUE7I.js +0 -6
  2207. langflow/frontend/assets/cloud-moon-rain-ow_c2stP.js +0 -6
  2208. langflow/frontend/assets/cloud-off-BLZed7la.js +0 -6
  2209. langflow/frontend/assets/cloud-rain-CkjUfBVa.js +0 -6
  2210. langflow/frontend/assets/cloud-rain-wind-B8R8wlV5.js +0 -6
  2211. langflow/frontend/assets/cloud-snow-jnovgErB.js +0 -6
  2212. langflow/frontend/assets/cloud-sun-Bfiu6mlL.js +0 -6
  2213. langflow/frontend/assets/cloud-sun-rain-DHrnuDTE.js +0 -6
  2214. langflow/frontend/assets/cloud-upload-E5DtpyCY.js +0 -6
  2215. langflow/frontend/assets/cloudy-DpXNakKX.js +0 -6
  2216. langflow/frontend/assets/clover-CSiWVDIr.js +0 -6
  2217. langflow/frontend/assets/club-BwR217MS.js +0 -6
  2218. langflow/frontend/assets/code-xml-DlFYVj3F.js +0 -6
  2219. langflow/frontend/assets/codepen-UiUQU8WH.js +0 -6
  2220. langflow/frontend/assets/codesandbox-B_mdLC3X.js +0 -6
  2221. langflow/frontend/assets/coffee-DikHS02J.js +0 -6
  2222. langflow/frontend/assets/cog-D2FSybxc.js +0 -6
  2223. langflow/frontend/assets/coins-B3Ya8Atq.js +0 -6
  2224. langflow/frontend/assets/columns-2-Drto25WB.js +0 -6
  2225. langflow/frontend/assets/columns-3-CmrffVop.js +0 -6
  2226. langflow/frontend/assets/columns-3-cog-CoWf_Nd8.js +0 -6
  2227. langflow/frontend/assets/columns-4-H_EZ1mDg.js +0 -6
  2228. langflow/frontend/assets/combine-mDtTaynV.js +0 -6
  2229. langflow/frontend/assets/command-DSyz5JVi.js +0 -6
  2230. langflow/frontend/assets/compass-BUS0JqW-.js +0 -6
  2231. langflow/frontend/assets/component-CfzKr799.js +0 -6
  2232. langflow/frontend/assets/computer-CN82ro8w.js +0 -6
  2233. langflow/frontend/assets/concierge-bell-ByYUTkOH.js +0 -6
  2234. langflow/frontend/assets/cone-D28CyZL2.js +0 -6
  2235. langflow/frontend/assets/construction-BXaUJNkf.js +0 -6
  2236. langflow/frontend/assets/contact-BODZSa_7.js +0 -6
  2237. langflow/frontend/assets/contact-round-vAysxw5u.js +0 -6
  2238. langflow/frontend/assets/container-i-a2gr02.js +0 -6
  2239. langflow/frontend/assets/contrast-CbcHXjip.js +0 -6
  2240. langflow/frontend/assets/cookie-hLfPjk6N.js +0 -6
  2241. langflow/frontend/assets/cooking-pot-B4uLRrHG.js +0 -6
  2242. langflow/frontend/assets/copy-4ZcB4prM.js +0 -6
  2243. langflow/frontend/assets/copy-check-CUGgeRgc.js +0 -6
  2244. langflow/frontend/assets/copy-minus-CB5xeyvB.js +0 -6
  2245. langflow/frontend/assets/copy-plus-B8G2k-oB.js +0 -6
  2246. langflow/frontend/assets/copy-slash-5Ap4tA3k.js +0 -6
  2247. langflow/frontend/assets/copy-x-BhfHJzxP.js +0 -6
  2248. langflow/frontend/assets/copyleft-CXRD8E9w.js +0 -6
  2249. langflow/frontend/assets/copyright-BiA3grV6.js +0 -6
  2250. langflow/frontend/assets/corner-down-left-ClJMDHI0.js +0 -6
  2251. langflow/frontend/assets/corner-down-right-DCRPuYSm.js +0 -6
  2252. langflow/frontend/assets/corner-left-down-BvS0G4W9.js +0 -6
  2253. langflow/frontend/assets/corner-left-up-DWHo1WXV.js +0 -6
  2254. langflow/frontend/assets/corner-right-down-BBB10evG.js +0 -6
  2255. langflow/frontend/assets/corner-right-up-DXbv20S0.js +0 -6
  2256. langflow/frontend/assets/corner-up-left-DomYLrA5.js +0 -6
  2257. langflow/frontend/assets/corner-up-right-DEtvY6ys.js +0 -6
  2258. langflow/frontend/assets/cpu-Dh88Q9fD.js +0 -6
  2259. langflow/frontend/assets/creative-commons-BAe3nwZQ.js +0 -6
  2260. langflow/frontend/assets/credit-card-DaB3cpBZ.js +0 -6
  2261. langflow/frontend/assets/croissant-D96TGpzu.js +0 -6
  2262. langflow/frontend/assets/crop-C8FxaeL1.js +0 -6
  2263. langflow/frontend/assets/cross-5bdVltt9.js +0 -6
  2264. langflow/frontend/assets/crosshair-CyZbfDct.js +0 -6
  2265. langflow/frontend/assets/crown-BZnnOYwP.js +0 -6
  2266. langflow/frontend/assets/cuboid-BqWogU5y.js +0 -6
  2267. langflow/frontend/assets/cup-soda-Dz7NtIvF.js +0 -6
  2268. langflow/frontend/assets/currency-5tPdc9Zh.js +0 -6
  2269. langflow/frontend/assets/cylinder-B4mmn8ns.js +0 -6
  2270. langflow/frontend/assets/dam-C2fbdkPV.js +0 -6
  2271. langflow/frontend/assets/database-C8DmijcH.js +0 -6
  2272. langflow/frontend/assets/database-backup-71ce-aHZ.js +0 -6
  2273. langflow/frontend/assets/database-zap-DzH5GBmm.js +0 -6
  2274. langflow/frontend/assets/decimals-arrow-left-DlR2OMIu.js +0 -6
  2275. langflow/frontend/assets/decimals-arrow-right-Dx4ObfYv.js +0 -6
  2276. langflow/frontend/assets/delete-BHxYtCY6.js +0 -6
  2277. langflow/frontend/assets/dessert-CfOk8Cm8.js +0 -6
  2278. langflow/frontend/assets/diameter-PFK47COt.js +0 -6
  2279. langflow/frontend/assets/diamond-D2hRkW3R.js +0 -6
  2280. langflow/frontend/assets/diamond-minus-BmmkztHK.js +0 -6
  2281. langflow/frontend/assets/diamond-percent-Um3urkva.js +0 -6
  2282. langflow/frontend/assets/diamond-plus-BctFfXFQ.js +0 -6
  2283. langflow/frontend/assets/dice-1-iAashtM4.js +0 -6
  2284. langflow/frontend/assets/dice-2-DYFUv-fQ.js +0 -6
  2285. langflow/frontend/assets/dice-3-BKhH_7UE.js +0 -6
  2286. langflow/frontend/assets/dice-4-DXL3N_4x.js +0 -6
  2287. langflow/frontend/assets/dice-5-DnplP8dS.js +0 -6
  2288. langflow/frontend/assets/dice-6-B60nh8vo.js +0 -6
  2289. langflow/frontend/assets/dices-Dhvt0dI6.js +0 -6
  2290. langflow/frontend/assets/diff-C0ITnBBr.js +0 -6
  2291. langflow/frontend/assets/disc-2-BuaKHZRj.js +0 -6
  2292. langflow/frontend/assets/disc-3-NMQNF-ZM.js +0 -6
  2293. langflow/frontend/assets/disc-album-BcLrWjhq.js +0 -6
  2294. langflow/frontend/assets/disc-yALpXpks.js +0 -6
  2295. langflow/frontend/assets/divide-Dh7ujBOW.js +0 -6
  2296. langflow/frontend/assets/dna-Bjifao3X.js +0 -6
  2297. langflow/frontend/assets/dna-off-BUJlgzYb.js +0 -6
  2298. langflow/frontend/assets/dock-B7EXITnl.js +0 -6
  2299. langflow/frontend/assets/dog-B7U04mka.js +0 -6
  2300. langflow/frontend/assets/dollar-sign-BMgFrD98.js +0 -6
  2301. langflow/frontend/assets/donut-Bi1ebPXI.js +0 -6
  2302. langflow/frontend/assets/door-closed-CSJ7S_5P.js +0 -6
  2303. langflow/frontend/assets/door-open-DETl8Hsq.js +0 -6
  2304. langflow/frontend/assets/dot-D3t9y3Ei.js +0 -6
  2305. langflow/frontend/assets/download-QVQHjJbn.js +0 -6
  2306. langflow/frontend/assets/drafting-compass-C_G_-w6o.js +0 -6
  2307. langflow/frontend/assets/drama-C3d5snUt.js +0 -6
  2308. langflow/frontend/assets/dribbble-gc8Hu2iM.js +0 -6
  2309. langflow/frontend/assets/drill-C-_x7kVx.js +0 -6
  2310. langflow/frontend/assets/droplet-CGpBURa1.js +0 -6
  2311. langflow/frontend/assets/droplet-off-Pzyqut0G.js +0 -6
  2312. langflow/frontend/assets/droplets-DUbFcMnM.js +0 -6
  2313. langflow/frontend/assets/drum-Dc54lUwD.js +0 -6
  2314. langflow/frontend/assets/drumstick-HKILk0Ot.js +0 -6
  2315. langflow/frontend/assets/dumbbell-CW1875td.js +0 -6
  2316. langflow/frontend/assets/ear-0Ch7ti8X.js +0 -6
  2317. langflow/frontend/assets/ear-off-DraFLzw1.js +0 -6
  2318. langflow/frontend/assets/earth-CFLvTzOE.js +0 -6
  2319. langflow/frontend/assets/earth-lock-DnZmTPsn.js +0 -6
  2320. langflow/frontend/assets/eclipse-CUbD3Qmh.js +0 -6
  2321. langflow/frontend/assets/egg-Cbjn6S80.js +0 -6
  2322. langflow/frontend/assets/egg-fried-CdBx5g4H.js +0 -6
  2323. langflow/frontend/assets/egg-off-CxJ1u2w-.js +0 -6
  2324. langflow/frontend/assets/ellipsis-BlbxdKlT.js +0 -6
  2325. langflow/frontend/assets/ellipsis-vertical-COL6TUrg.js +0 -6
  2326. langflow/frontend/assets/equal-BAjxFHm9.js +0 -6
  2327. langflow/frontend/assets/equal-approximately-C_CIwv4D.js +0 -6
  2328. langflow/frontend/assets/equal-not-Do3tztaX.js +0 -6
  2329. langflow/frontend/assets/eraser-DF0f0uKS.js +0 -6
  2330. langflow/frontend/assets/ethernet-port-WBTFOR3g.js +0 -6
  2331. langflow/frontend/assets/euro-CEzliHoa.js +0 -6
  2332. langflow/frontend/assets/expand-CuqWvmGR.js +0 -6
  2333. langflow/frontend/assets/eye-BGqdGvP5.js +0 -6
  2334. langflow/frontend/assets/eye-closed-DLJqwgv0.js +0 -6
  2335. langflow/frontend/assets/eye-off-KDImmRkJ.js +0 -6
  2336. langflow/frontend/assets/facebook-CYcXd9Iu.js +0 -6
  2337. langflow/frontend/assets/factory-BWOF7gQH.js +0 -6
  2338. langflow/frontend/assets/fan-CbdBZoHh.js +0 -6
  2339. langflow/frontend/assets/fast-forward-nZ4kgGaR.js +0 -6
  2340. langflow/frontend/assets/feather-Bpthyo1u.js +0 -6
  2341. langflow/frontend/assets/fence-Cme7hk6F.js +0 -6
  2342. langflow/frontend/assets/ferris-wheel-jGi85-Eg.js +0 -6
  2343. langflow/frontend/assets/figma-Cjv8Tt79.js +0 -6
  2344. langflow/frontend/assets/file-archive-Dly_3YF2.js +0 -6
  2345. langflow/frontend/assets/file-audio-2-xj82e07p.js +0 -6
  2346. langflow/frontend/assets/file-audio-9pU0xORZ.js +0 -6
  2347. langflow/frontend/assets/file-axis-3d-BnYGLTM3.js +0 -6
  2348. langflow/frontend/assets/file-badge-2-D0HG_ejF.js +0 -6
  2349. langflow/frontend/assets/file-badge-BuHpQjAI.js +0 -6
  2350. langflow/frontend/assets/file-box-D1VeNtpk.js +0 -6
  2351. langflow/frontend/assets/file-chart-column-CnCcp9LE.js +0 -6
  2352. langflow/frontend/assets/file-chart-column-increasing-C1rCConI.js +0 -6
  2353. langflow/frontend/assets/file-chart-line-hgrAAx_4.js +0 -6
  2354. langflow/frontend/assets/file-chart-pie-Dib4XDbW.js +0 -6
  2355. langflow/frontend/assets/file-check-2-rLTogQx4.js +0 -6
  2356. langflow/frontend/assets/file-check-DsnWAUT2.js +0 -6
  2357. langflow/frontend/assets/file-clock---MrJeyO.js +0 -6
  2358. langflow/frontend/assets/file-code-2-BdBTEdln.js +0 -6
  2359. langflow/frontend/assets/file-code-BSD6ungW.js +0 -6
  2360. langflow/frontend/assets/file-cog-BZQy-ba9.js +0 -6
  2361. langflow/frontend/assets/file-dKQZYwuH.js +0 -6
  2362. langflow/frontend/assets/file-diff-CH7EDtJC.js +0 -6
  2363. langflow/frontend/assets/file-digit-D7_d-0CW.js +0 -6
  2364. langflow/frontend/assets/file-down-Dt_7usLA.js +0 -6
  2365. langflow/frontend/assets/file-heart-DT8xufAg.js +0 -6
  2366. langflow/frontend/assets/file-image-DxvKruYd.js +0 -6
  2367. langflow/frontend/assets/file-input-DxHp4Alf.js +0 -6
  2368. langflow/frontend/assets/file-json-1-XvNhLQ.js +0 -6
  2369. langflow/frontend/assets/file-json-2-DRiAa60m.js +0 -6
  2370. langflow/frontend/assets/file-key-2-MRdv5jhW.js +0 -6
  2371. langflow/frontend/assets/file-key-BzyIQNd6.js +0 -6
  2372. langflow/frontend/assets/file-lock-2-Bkidiloq.js +0 -6
  2373. langflow/frontend/assets/file-lock-D7DhBd2i.js +0 -6
  2374. langflow/frontend/assets/file-minus-2-DyXNKy2T.js +0 -6
  2375. langflow/frontend/assets/file-minus-DF3g9dIu.js +0 -6
  2376. langflow/frontend/assets/file-music-DqiM-iAp.js +0 -6
  2377. langflow/frontend/assets/file-output-D_Wg1CeJ.js +0 -6
  2378. langflow/frontend/assets/file-pen-Bxm1mc6w.js +0 -6
  2379. langflow/frontend/assets/file-pen-line-C4OMd3fE.js +0 -6
  2380. langflow/frontend/assets/file-plus-2-kLdziRLd.js +0 -6
  2381. langflow/frontend/assets/file-plus-CTa-OXIp.js +0 -6
  2382. langflow/frontend/assets/file-question-CfxvLxIm.js +0 -6
  2383. langflow/frontend/assets/file-scan-pgmy9fvz.js +0 -6
  2384. langflow/frontend/assets/file-search-2-BwkJ5R6W.js +0 -6
  2385. langflow/frontend/assets/file-search-DgBAyK6K.js +0 -6
  2386. langflow/frontend/assets/file-sliders-B_OpLmha.js +0 -6
  2387. langflow/frontend/assets/file-spreadsheet-DOtP8Gg9.js +0 -6
  2388. langflow/frontend/assets/file-stack-DgDtpiMd.js +0 -6
  2389. langflow/frontend/assets/file-symlink-vbXhuo8H.js +0 -6
  2390. langflow/frontend/assets/file-terminal-DVvboZq6.js +0 -6
  2391. langflow/frontend/assets/file-text-DGC7sdsW.js +0 -6
  2392. langflow/frontend/assets/file-type-2-CfUahUxh.js +0 -6
  2393. langflow/frontend/assets/file-type-BfSvTYPv.js +0 -6
  2394. langflow/frontend/assets/file-up-Bvvikwm4.js +0 -6
  2395. langflow/frontend/assets/file-user-DaUm7IPn.js +0 -6
  2396. langflow/frontend/assets/file-video-2-DKvfIpuU.js +0 -6
  2397. langflow/frontend/assets/file-video-Bu3OwNfA.js +0 -6
  2398. langflow/frontend/assets/file-volume-2-9TCupQJ0.js +0 -6
  2399. langflow/frontend/assets/file-volume-B79HFEYG.js +0 -6
  2400. langflow/frontend/assets/file-warning-ox5Dn4wi.js +0 -6
  2401. langflow/frontend/assets/file-x-2-BIUsvjws.js +0 -6
  2402. langflow/frontend/assets/file-x-BbofT8LN.js +0 -6
  2403. langflow/frontend/assets/files-DDq74A_H.js +0 -6
  2404. langflow/frontend/assets/film-Cc-5l2Ug.js +0 -6
  2405. langflow/frontend/assets/fingerprint-Bk43daa2.js +0 -6
  2406. langflow/frontend/assets/fire-extinguisher-BpYWRcDE.js +0 -6
  2407. langflow/frontend/assets/fish-CcgTXDr0.js +0 -6
  2408. langflow/frontend/assets/fish-off-CTSoMjtL.js +0 -6
  2409. langflow/frontend/assets/fish-symbol-4qaq4eUT.js +0 -6
  2410. langflow/frontend/assets/flag-off-B6WIJPdA.js +0 -6
  2411. langflow/frontend/assets/flag-s8A97f1C.js +0 -6
  2412. langflow/frontend/assets/flag-triangle-left-Cb13gKSR.js +0 -6
  2413. langflow/frontend/assets/flag-triangle-right-B2eU89J-.js +0 -6
  2414. langflow/frontend/assets/flame-BdBUc1r8.js +0 -6
  2415. langflow/frontend/assets/flame-kindling-B7n5jjlj.js +0 -6
  2416. langflow/frontend/assets/flashlight-fNk35AiJ.js +0 -6
  2417. langflow/frontend/assets/flashlight-off-D_RazXUc.js +0 -6
  2418. langflow/frontend/assets/flask-conical-BGnLLMGf.js +0 -6
  2419. langflow/frontend/assets/flask-conical-off-CnQAoWVR.js +0 -6
  2420. langflow/frontend/assets/flask-round-fIBIuEdL.js +0 -6
  2421. langflow/frontend/assets/flip-horizontal-2-CrrY3ni3.js +0 -6
  2422. langflow/frontend/assets/flip-horizontal-hx2JiivV.js +0 -6
  2423. langflow/frontend/assets/flip-vertical-2-DwP6Bzum.js +0 -6
  2424. langflow/frontend/assets/flip-vertical-DcWXhqJt.js +0 -6
  2425. langflow/frontend/assets/flower-2-BVqurWNh.js +0 -6
  2426. langflow/frontend/assets/flower-DJSvFbmv.js +0 -6
  2427. langflow/frontend/assets/focus-DdtKbmAh.js +0 -6
  2428. langflow/frontend/assets/fold-horizontal-ZEKAo_f5.js +0 -6
  2429. langflow/frontend/assets/fold-vertical-tn9KV2gT.js +0 -6
  2430. langflow/frontend/assets/folder-D65_ctxW.js +0 -6
  2431. langflow/frontend/assets/folder-archive-CSZUIv0L.js +0 -6
  2432. langflow/frontend/assets/folder-check-DAD0Wbb0.js +0 -6
  2433. langflow/frontend/assets/folder-clock-DKBSEbt1.js +0 -6
  2434. langflow/frontend/assets/folder-closed-Da_IyQl-.js +0 -6
  2435. langflow/frontend/assets/folder-code-BjK12yQl.js +0 -6
  2436. langflow/frontend/assets/folder-cog-gMICaCve.js +0 -6
  2437. langflow/frontend/assets/folder-dot-YKXGT1nq.js +0 -6
  2438. langflow/frontend/assets/folder-down-U1ORGhse.js +0 -6
  2439. langflow/frontend/assets/folder-git-2-CbITkZ8X.js +0 -6
  2440. langflow/frontend/assets/folder-git-DqiNhlgf.js +0 -6
  2441. langflow/frontend/assets/folder-heart-D3Oj_-2a.js +0 -6
  2442. langflow/frontend/assets/folder-input-nAAMicET.js +0 -6
  2443. langflow/frontend/assets/folder-kanban-CSdvrbDp.js +0 -6
  2444. langflow/frontend/assets/folder-key-DLXTk8pJ.js +0 -6
  2445. langflow/frontend/assets/folder-lock-WUABa7Oe.js +0 -6
  2446. langflow/frontend/assets/folder-minus-B5xGdFAn.js +0 -6
  2447. langflow/frontend/assets/folder-open-Bgv6WmI3.js +0 -6
  2448. langflow/frontend/assets/folder-open-dot-DC2HgEPN.js +0 -6
  2449. langflow/frontend/assets/folder-output-DwyLKy4X.js +0 -6
  2450. langflow/frontend/assets/folder-pen-tcF02hyr.js +0 -6
  2451. langflow/frontend/assets/folder-plus-B9_vaYDU.js +0 -6
  2452. langflow/frontend/assets/folder-root-VwCr5OUC.js +0 -6
  2453. langflow/frontend/assets/folder-search-2-BfQXzu7L.js +0 -6
  2454. langflow/frontend/assets/folder-search-paV45aMl.js +0 -6
  2455. langflow/frontend/assets/folder-symlink-COgmF5VW.js +0 -6
  2456. langflow/frontend/assets/folder-sync-DrURUnNI.js +0 -6
  2457. langflow/frontend/assets/folder-tree-CdICwYAj.js +0 -6
  2458. langflow/frontend/assets/folder-up-D4WwIsp_.js +0 -6
  2459. langflow/frontend/assets/folder-x-J2_4fdUF.js +0 -6
  2460. langflow/frontend/assets/folders-7Xpsj7jV.js +0 -6
  2461. langflow/frontend/assets/footprints-DVRSLXMk.js +0 -6
  2462. langflow/frontend/assets/forklift-VMigNBFJ.js +0 -6
  2463. langflow/frontend/assets/forward-CE54kWRO.js +0 -6
  2464. langflow/frontend/assets/frame-BdXE1XDm.js +0 -6
  2465. langflow/frontend/assets/framer-CA5fZhO7.js +0 -6
  2466. langflow/frontend/assets/frown-oWG9DrD9.js +0 -6
  2467. langflow/frontend/assets/fuel-ClmPVHZi.js +0 -6
  2468. langflow/frontend/assets/fullscreen-DZIeVmwf.js +0 -6
  2469. langflow/frontend/assets/funnel-DXZIwh3S.js +0 -6
  2470. langflow/frontend/assets/funnel-plus-I5y8cnUa.js +0 -6
  2471. langflow/frontend/assets/funnel-x-BRv8lJ4W.js +0 -6
  2472. langflow/frontend/assets/gallery-horizontal-CTWQRiwE.js +0 -6
  2473. langflow/frontend/assets/gallery-horizontal-end-CgCNLcQc.js +0 -6
  2474. langflow/frontend/assets/gallery-thumbnails-DN-r2ZhB.js +0 -6
  2475. langflow/frontend/assets/gallery-vertical-BsYEUvUD.js +0 -6
  2476. langflow/frontend/assets/gallery-vertical-end-B3eXPsrk.js +0 -6
  2477. langflow/frontend/assets/gamepad-2-Dw8h7uZr.js +0 -6
  2478. langflow/frontend/assets/gamepad-CCft0e71.js +0 -6
  2479. langflow/frontend/assets/gauge-mS-OblJR.js +0 -6
  2480. langflow/frontend/assets/gavel-CupBXWg7.js +0 -6
  2481. langflow/frontend/assets/gem-BUEaPolw.js +0 -6
  2482. langflow/frontend/assets/ghost-3ME0nRk0.js +0 -6
  2483. langflow/frontend/assets/gift-BtPeSI-o.js +0 -6
  2484. langflow/frontend/assets/git-branch-D6kfZJaL.js +0 -6
  2485. langflow/frontend/assets/git-branch-plus-3njkIJRK.js +0 -6
  2486. langflow/frontend/assets/git-commit-horizontal-CFXGXdxi.js +0 -6
  2487. langflow/frontend/assets/git-commit-vertical-CodAcvyH.js +0 -6
  2488. langflow/frontend/assets/git-compare-DFPGVUFR.js +0 -6
  2489. langflow/frontend/assets/git-compare-arrows-G2uE17iL.js +0 -6
  2490. langflow/frontend/assets/git-fork-QJnff6sK.js +0 -6
  2491. langflow/frontend/assets/git-graph-BucU4GOG.js +0 -6
  2492. langflow/frontend/assets/git-merge-B0MmNtRI.js +0 -6
  2493. langflow/frontend/assets/git-pull-request-DSB5VAZk.js +0 -6
  2494. langflow/frontend/assets/git-pull-request-arrow-CmrmZgBw.js +0 -6
  2495. langflow/frontend/assets/git-pull-request-closed-IdMIAzQ5.js +0 -6
  2496. langflow/frontend/assets/git-pull-request-create-BaiY-zu7.js +0 -6
  2497. langflow/frontend/assets/git-pull-request-create-arrow-Boj2Q1Ag.js +0 -6
  2498. langflow/frontend/assets/git-pull-request-draft-BrbDUuPH.js +0 -6
  2499. langflow/frontend/assets/github-B_uKXLGN.js +0 -6
  2500. langflow/frontend/assets/gitlab-Dssfz-7b.js +0 -6
  2501. langflow/frontend/assets/glass-water-DctUWtdy.js +0 -6
  2502. langflow/frontend/assets/glasses-CJUqREJR.js +0 -6
  2503. langflow/frontend/assets/globe-CW-N7YFg.js +0 -6
  2504. langflow/frontend/assets/globe-lock-DmWaI8LB.js +0 -6
  2505. langflow/frontend/assets/goal-C-A92vzq.js +0 -6
  2506. langflow/frontend/assets/grab-DXNtbqNu.js +0 -6
  2507. langflow/frontend/assets/graduation-cap-BvKxds3-.js +0 -6
  2508. langflow/frontend/assets/grape-vxg-QmAa.js +0 -6
  2509. langflow/frontend/assets/grid-2x2-Bda9xvw8.js +0 -6
  2510. langflow/frontend/assets/grid-2x2-check-Cq4oXCG_.js +0 -6
  2511. langflow/frontend/assets/grid-2x2-plus-DlbSyK4w.js +0 -6
  2512. langflow/frontend/assets/grid-2x2-x-COkPyLW2.js +0 -6
  2513. langflow/frontend/assets/grid-3x3-P5m98H0I.js +0 -6
  2514. langflow/frontend/assets/grip-C8l1seJj.js +0 -6
  2515. langflow/frontend/assets/grip-horizontal-C8xf9EqD.js +0 -6
  2516. langflow/frontend/assets/grip-vertical-Dp8b3qVy.js +0 -6
  2517. langflow/frontend/assets/group-NMh_xbhf.js +0 -6
  2518. langflow/frontend/assets/guitar-Dohq_76_.js +0 -6
  2519. langflow/frontend/assets/ham-CmDFmjBB.js +0 -6
  2520. langflow/frontend/assets/hammer-_CGQRxth.js +0 -6
  2521. langflow/frontend/assets/hand-CHd9erzR.js +0 -6
  2522. langflow/frontend/assets/hand-coins-BhEGokvW.js +0 -6
  2523. langflow/frontend/assets/hand-heart-7Oby7SAS.js +0 -6
  2524. langflow/frontend/assets/hand-helping-CXMrHB_F.js +0 -6
  2525. langflow/frontend/assets/hand-metal-C6MrIW5O.js +0 -6
  2526. langflow/frontend/assets/hand-platter-Cbs2yD55.js +0 -6
  2527. langflow/frontend/assets/handshake-DnW2f3e-.js +0 -6
  2528. langflow/frontend/assets/hard-drive-B5MqVYDD.js +0 -6
  2529. langflow/frontend/assets/hard-drive-download-DQm3Jx-J.js +0 -6
  2530. langflow/frontend/assets/hard-drive-upload-UyeC7okZ.js +0 -6
  2531. langflow/frontend/assets/hard-hat-DuBdE6ld.js +0 -6
  2532. langflow/frontend/assets/hash-41NgbFLv.js +0 -6
  2533. langflow/frontend/assets/haze-BoMT93pB.js +0 -6
  2534. langflow/frontend/assets/hdmi-port-CKp8ZzL2.js +0 -6
  2535. langflow/frontend/assets/heading-1-OsGkodnl.js +0 -6
  2536. langflow/frontend/assets/heading-2-ByrEnN6x.js +0 -6
  2537. langflow/frontend/assets/heading-3-C5NsklPz.js +0 -6
  2538. langflow/frontend/assets/heading-4-Bhl4hzbe.js +0 -6
  2539. langflow/frontend/assets/heading-5-DBI6pawb.js +0 -6
  2540. langflow/frontend/assets/heading-6-DfxwQfT7.js +0 -6
  2541. langflow/frontend/assets/heading-zd0OZwON.js +0 -6
  2542. langflow/frontend/assets/headphone-off-mURIsBWJ.js +0 -6
  2543. langflow/frontend/assets/headphones-BFe-lgHV.js +0 -6
  2544. langflow/frontend/assets/headset-Bwf3fpi7.js +0 -6
  2545. langflow/frontend/assets/heart-Dq1D84te.js +0 -6
  2546. langflow/frontend/assets/heart-crack-CG--JiGk.js +0 -6
  2547. langflow/frontend/assets/heart-handshake-oDkkGSno.js +0 -6
  2548. langflow/frontend/assets/heart-minus-CCNRC1c0.js +0 -6
  2549. langflow/frontend/assets/heart-off-BAPYXlds.js +0 -6
  2550. langflow/frontend/assets/heart-plus-CvC3EhpP.js +0 -6
  2551. langflow/frontend/assets/heart-pulse-DF-ORHct.js +0 -6
  2552. langflow/frontend/assets/heater-eJfnwYYQ.js +0 -6
  2553. langflow/frontend/assets/hexagon-BcDEx4Wb.js +0 -6
  2554. langflow/frontend/assets/highlighter-j24gyp2u.js +0 -6
  2555. langflow/frontend/assets/history-myIN6jVF.js +0 -6
  2556. langflow/frontend/assets/hop-DSJJg5IW.js +0 -6
  2557. langflow/frontend/assets/hop-off-CDIpY23y.js +0 -6
  2558. langflow/frontend/assets/hospital-C2kjtT3N.js +0 -6
  2559. langflow/frontend/assets/hotel-BiI9qopK.js +0 -6
  2560. langflow/frontend/assets/hourglass-DdgptFb-.js +0 -6
  2561. langflow/frontend/assets/house-D9nykhn2.js +0 -6
  2562. langflow/frontend/assets/house-plug-CE2Jg8bl.js +0 -6
  2563. langflow/frontend/assets/house-plus-DT80fPIW.js +0 -6
  2564. langflow/frontend/assets/house-wifi-BB9Ytt9Q.js +0 -6
  2565. langflow/frontend/assets/ice-cream-bowl-BtGfB4bc.js +0 -6
  2566. langflow/frontend/assets/ice-cream-cone-q1HuFU8K.js +0 -6
  2567. langflow/frontend/assets/id-card-CT13zAKZ.js +0 -6
  2568. langflow/frontend/assets/image-D0ZjsAQs.js +0 -6
  2569. langflow/frontend/assets/image-down-Du2TxYUV.js +0 -6
  2570. langflow/frontend/assets/image-minus-DtJgK1SX.js +0 -6
  2571. langflow/frontend/assets/image-off-CJM0L0Pm.js +0 -6
  2572. langflow/frontend/assets/image-play-rO_sigy3.js +0 -6
  2573. langflow/frontend/assets/image-plus-BtHXKAhF.js +0 -6
  2574. langflow/frontend/assets/image-up-BedomcGK.js +0 -6
  2575. langflow/frontend/assets/image-upscale-CTytoZQ7.js +0 -6
  2576. langflow/frontend/assets/images-DQdzA8PB.js +0 -6
  2577. langflow/frontend/assets/import-BSj_tVee.js +0 -6
  2578. langflow/frontend/assets/inbox-CLdA6iO6.js +0 -6
  2579. langflow/frontend/assets/indent-decrease-eBOWpxsA.js +0 -6
  2580. langflow/frontend/assets/indent-increase-PUZyQsBH.js +0 -6
  2581. langflow/frontend/assets/index--3O3NqKN.js +0 -1
  2582. langflow/frontend/assets/index--IHrpBoo.js +0 -1
  2583. langflow/frontend/assets/index-2kWQOuop.js +0 -1
  2584. langflow/frontend/assets/index-5KYiBJ4r.js +0 -1
  2585. langflow/frontend/assets/index-7l4lKqCJ.js +0 -1
  2586. langflow/frontend/assets/index-8zD_EsG6.js +0 -1
  2587. langflow/frontend/assets/index-9-TuTYSh.js +0 -1
  2588. langflow/frontend/assets/index-Ayc8Z_Hb.js +0 -1
  2589. langflow/frontend/assets/index-B0jfUxmL.js +0 -1
  2590. langflow/frontend/assets/index-B12iJWz4.js +0 -1
  2591. langflow/frontend/assets/index-B2tpdHrx.js +0 -1
  2592. langflow/frontend/assets/index-B5ecjJUs.js +0 -1
  2593. langflow/frontend/assets/index-B8V3us4q.js +0 -1
  2594. langflow/frontend/assets/index-B94OQ3jt.js +0 -1
  2595. langflow/frontend/assets/index-B9ommOZl.js +0 -1
  2596. langflow/frontend/assets/index-BCAS0lQ_.js +0 -1
  2597. langflow/frontend/assets/index-BDRoIsie.js +0 -1
  2598. langflow/frontend/assets/index-BEDcwmO-.js +0 -1
  2599. langflow/frontend/assets/index-BG8kF-GV.js +0 -1
  2600. langflow/frontend/assets/index-BHAQc8Wu.js +0 -1
  2601. langflow/frontend/assets/index-BI78KkAp.js +0 -1
  2602. langflow/frontend/assets/index-BIK_Gncf.js +0 -1
  2603. langflow/frontend/assets/index-BIitGLYF.js +0 -1
  2604. langflow/frontend/assets/index-BJ2E8Jz2.js +0 -1
  2605. langflow/frontend/assets/index-BJJAM1fq.js +0 -1
  2606. langflow/frontend/assets/index-BJvXXLH0.js +0 -1
  2607. langflow/frontend/assets/index-BK7ASEdZ.js +0 -1
  2608. langflow/frontend/assets/index-BL9t0aq2.js +0 -1
  2609. langflow/frontend/assets/index-BMw6t_pn.js +0 -1
  2610. langflow/frontend/assets/index-BN_YNwOx.js +0 -1
  2611. langflow/frontend/assets/index-BPkpEYRa.js +0 -1
  2612. langflow/frontend/assets/index-BPoAfmHl.js +0 -1
  2613. langflow/frontend/assets/index-BQ4YbPOt.js +0 -1
  2614. langflow/frontend/assets/index-BRWCSHPL.js +0 -1
  2615. langflow/frontend/assets/index-BTIO2Hd1.js +0 -1
  2616. langflow/frontend/assets/index-BTn9ARUB.js +0 -13
  2617. langflow/frontend/assets/index-BVLcStRP.js +0 -1
  2618. langflow/frontend/assets/index-BVTk2F-Y.js +0 -1
  2619. langflow/frontend/assets/index-BVnY-2eL.js +0 -1
  2620. langflow/frontend/assets/index-BW_0_NQR.js +0 -1
  2621. langflow/frontend/assets/index-BYGyku6g.js +0 -1
  2622. langflow/frontend/assets/index-BYVzErJa.js +0 -1
  2623. langflow/frontend/assets/index-BYaZbRmc.js +0 -1
  2624. langflow/frontend/assets/index-BYnidR2j.js +0 -1
  2625. langflow/frontend/assets/index-B_WRaKpb.js +0 -1
  2626. langflow/frontend/assets/index-Bbd-X_I4.js +0 -1
  2627. langflow/frontend/assets/index-Bd02jzx4.css +0 -1
  2628. langflow/frontend/assets/index-BebbP1_3.js +0 -2
  2629. langflow/frontend/assets/index-BfpDvtx9.js +0 -1
  2630. langflow/frontend/assets/index-BguOvTIt.js +0 -1
  2631. langflow/frontend/assets/index-Bh4jFZOt.js +0 -1
  2632. langflow/frontend/assets/index-BlbxL0_F.js +0 -1
  2633. langflow/frontend/assets/index-BlpMuHC1.js +0 -1
  2634. langflow/frontend/assets/index-BmILSNO1.js +0 -1
  2635. langflow/frontend/assets/index-Bnb_9gFT.js +0 -1
  2636. langflow/frontend/assets/index-BnhOQvim.js +0 -1
  2637. langflow/frontend/assets/index-BpQ_FwEx.js +0 -1
  2638. langflow/frontend/assets/index-BrhCPWHl.js +0 -1
  2639. langflow/frontend/assets/index-Bs66S-cg.js +0 -1
  2640. langflow/frontend/assets/index-Bt8ozu-9.js +0 -1
  2641. langflow/frontend/assets/index-Bte_MSlg.js +0 -21
  2642. langflow/frontend/assets/index-Bu9UBPcf.js +0 -1
  2643. langflow/frontend/assets/index-BuWUz5Es.js +0 -1
  2644. langflow/frontend/assets/index-BxDCY7GA.js +0 -1
  2645. langflow/frontend/assets/index-ByYWULC4.js +0 -1
  2646. langflow/frontend/assets/index-Bylvmlsj.js +0 -399
  2647. langflow/frontend/assets/index-BzcJzsWn.js +0 -1
  2648. langflow/frontend/assets/index-C6jWT2p-.js +0 -1
  2649. langflow/frontend/assets/index-C9Y1VV1M.js +0 -1
  2650. langflow/frontend/assets/index-C9k7xHBe.js +0 -1
  2651. langflow/frontend/assets/index-CB1BfuBr.js +0 -1
  2652. langflow/frontend/assets/index-CDtwENIK.js +0 -1
  2653. langflow/frontend/assets/index-CE488wQD.js +0 -1
  2654. langflow/frontend/assets/index-CGvfR3yr.js +0 -1
  2655. langflow/frontend/assets/index-CHJ-CBzq.js +0 -1
  2656. langflow/frontend/assets/index-CHZjBnIE.js +0 -1
  2657. langflow/frontend/assets/index-CI-vC5Lq.js +0 -1
  2658. langflow/frontend/assets/index-CIZmTxGi.js +0 -1
  2659. langflow/frontend/assets/index-CIcq7OmA.js +0 -1
  2660. langflow/frontend/assets/index-CKMr8E1p.js +0 -1
  2661. langflow/frontend/assets/index-CKTmIMMn.js +0 -1
  2662. langflow/frontend/assets/index-CKpOimEN.js +0 -381
  2663. langflow/frontend/assets/index-CLcE4nRm.js +0 -1
  2664. langflow/frontend/assets/index-CM1jxAtr.js +0 -1
  2665. langflow/frontend/assets/index-CM9ccl8R.js +0 -1
  2666. langflow/frontend/assets/index-CN1xk2bm.js +0 -1
  2667. langflow/frontend/assets/index-CPhJ9MJ3.js +0 -1
  2668. langflow/frontend/assets/index-CPq9Cq75.js +0 -1
  2669. langflow/frontend/assets/index-CQLuLC1H.js +0 -1
  2670. langflow/frontend/assets/index-CQtCkREE.js +0 -1
  2671. langflow/frontend/assets/index-CRzDwBcv.js +0 -1
  2672. langflow/frontend/assets/index-CSKeDy3F.js +0 -1
  2673. langflow/frontend/assets/index-CTTFx3hy.js +0 -1
  2674. langflow/frontend/assets/index-CWO6aLRj.js +0 -1
  2675. langflow/frontend/assets/index-CXJx-x2V.js +0 -1
  2676. langflow/frontend/assets/index-CY8ExIlC.js +0 -1
  2677. langflow/frontend/assets/index-CYS-koZD.js +0 -1
  2678. langflow/frontend/assets/index-CYlls8yU.js +0 -1
  2679. langflow/frontend/assets/index-CZDezo23.js +0 -1
  2680. langflow/frontend/assets/index-Cc6LQgxi.js +0 -1
  2681. langflow/frontend/assets/index-Cea1VdoP.js +0 -20
  2682. langflow/frontend/assets/index-Ch73zLO7.js +0 -1
  2683. langflow/frontend/assets/index-Chvm9gnt.js +0 -1
  2684. langflow/frontend/assets/index-CiMhzwVm.js +0 -1
  2685. langflow/frontend/assets/index-CjIpaN28.js +0 -1
  2686. langflow/frontend/assets/index-Cmqey3tV.js +0 -1
  2687. langflow/frontend/assets/index-CpKrIPML.js +0 -205
  2688. langflow/frontend/assets/index-CpXuZ5Yj.js +0 -1
  2689. langflow/frontend/assets/index-Cql8nLGl.js +0 -1
  2690. langflow/frontend/assets/index-Cu5di6tV.js +0 -1
  2691. langflow/frontend/assets/index-Cy2hauYT.js +0 -185
  2692. langflow/frontend/assets/index-CyPXGUjM.js +0 -1
  2693. langflow/frontend/assets/index-CzVx1ZZG.js +0 -1
  2694. langflow/frontend/assets/index-D-sbAj3-.js +0 -767
  2695. langflow/frontend/assets/index-D0faXIRw.js +0 -1
  2696. langflow/frontend/assets/index-D2F1nNcS.js +0 -1
  2697. langflow/frontend/assets/index-D6rNZM8d.js +0 -1
  2698. langflow/frontend/assets/index-D7c71Ncp.js +0 -7323
  2699. langflow/frontend/assets/index-D7nicSdX.js +0 -1
  2700. langflow/frontend/assets/index-D8b32AEu.js +0 -1
  2701. langflow/frontend/assets/index-DAp88IjZ.js +0 -1
  2702. langflow/frontend/assets/index-DBLewSdZ.js +0 -1
  2703. langflow/frontend/assets/index-DCAYv_9J.js +0 -1
  2704. langflow/frontend/assets/index-DCdIQCmd.js +0 -281
  2705. langflow/frontend/assets/index-DCjaZqzk.js +0 -1
  2706. langflow/frontend/assets/index-DFsk-5F7.js +0 -1
  2707. langflow/frontend/assets/index-DGHIyISG.js +0 -1
  2708. langflow/frontend/assets/index-DHr2zhC0.js +0 -1
  2709. langflow/frontend/assets/index-DJYsexlm.js +0 -1
  2710. langflow/frontend/assets/index-DK6ZzpFl.js +0 -1
  2711. langflow/frontend/assets/index-DL-XWPcx.js +0 -7
  2712. langflow/frontend/assets/index-DNRIGLMN.js +0 -1
  2713. langflow/frontend/assets/index-DORDRALN.js +0 -1
  2714. langflow/frontend/assets/index-DOVsIs1Y.js +0 -1
  2715. langflow/frontend/assets/index-DOYJ_CZN.js +0 -1
  2716. langflow/frontend/assets/index-DQvsXVLs.js +0 -1
  2717. langflow/frontend/assets/index-DThcEP2S.js +0 -1
  2718. langflow/frontend/assets/index-DWW4i1mS.js +0 -1
  2719. langflow/frontend/assets/index-DZydxXk-.js +0 -1
  2720. langflow/frontend/assets/index-Daw8xyJf.js +0 -1
  2721. langflow/frontend/assets/index-Dc0nF4D_.js +0 -1
  2722. langflow/frontend/assets/index-DctkFwnK.js +0 -108
  2723. langflow/frontend/assets/index-DjCcbnqJ.js +0 -127
  2724. langflow/frontend/assets/index-DjG319lz.js +0 -1
  2725. langflow/frontend/assets/index-DkxwwfUL.js +0 -1
  2726. langflow/frontend/assets/index-DlNYEnyO.js +0 -1
  2727. langflow/frontend/assets/index-DpNGpygE.js +0 -14
  2728. langflow/frontend/assets/index-DwGroZ5i.js +0 -1
  2729. langflow/frontend/assets/index-DwdF4A_k.js +0 -1
  2730. langflow/frontend/assets/index-DwupFUE1.js +0 -1
  2731. langflow/frontend/assets/index-DyFJaxvz.js +0 -1
  2732. langflow/frontend/assets/index-DylRhyva.js +0 -1
  2733. langflow/frontend/assets/index-Dz6LtjFc.js +0 -1
  2734. langflow/frontend/assets/index-E_woFm9H.js +0 -1
  2735. langflow/frontend/assets/index-IYvFl1oN.js +0 -1
  2736. langflow/frontend/assets/index-KWmSW1LE.js +0 -1
  2737. langflow/frontend/assets/index-KyJaEIZu.js +0 -495
  2738. langflow/frontend/assets/index-L2r_nVW-.js +0 -1
  2739. langflow/frontend/assets/index-LKY1_Kuv.js +0 -1
  2740. langflow/frontend/assets/index-LykvuH3z.js +0 -1
  2741. langflow/frontend/assets/index-PgeGlQPr.js +0 -1
  2742. langflow/frontend/assets/index-Pj0GaUuE.js +0 -1
  2743. langflow/frontend/assets/index-RHN6mdhz.js +0 -1
  2744. langflow/frontend/assets/index-T-7O_UCg.js +0 -1
  2745. langflow/frontend/assets/index-TaFYKyCQ.js +0 -1
  2746. langflow/frontend/assets/index-V652fUKL.js +0 -1
  2747. langflow/frontend/assets/index-WVOTQJ09.js +0 -1
  2748. langflow/frontend/assets/index-WuyU7hfS.js +0 -1
  2749. langflow/frontend/assets/index-XdlnxfM1.js +0 -1
  2750. langflow/frontend/assets/index-Zb3do5-I.js +0 -1
  2751. langflow/frontend/assets/index-_msEUPyj.js +0 -1
  2752. langflow/frontend/assets/index-cP7Rj7nE.js +0 -1
  2753. langflow/frontend/assets/index-dHzQlvPn.js +0 -1
  2754. langflow/frontend/assets/index-gItsUULG.js +0 -1
  2755. langflow/frontend/assets/index-heRrRQYO.js +0 -1
  2756. langflow/frontend/assets/index-iP58GKwK.js +0 -1
  2757. langflow/frontend/assets/index-iwuC6nMx.js +0 -1
  2758. langflow/frontend/assets/index-jONH7mX0.js +0 -1
  2759. langflow/frontend/assets/index-mj8XK9Tl.js +0 -1
  2760. langflow/frontend/assets/index-oiBWx4w9.js +0 -1
  2761. langflow/frontend/assets/index-pKCSZFwa.js +0 -1
  2762. langflow/frontend/assets/index-qF5m8J6W.js +0 -1
  2763. langflow/frontend/assets/index-s2HlLerd.js +0 -1
  2764. langflow/frontend/assets/index-sDM3dLyW.js +0 -1
  2765. langflow/frontend/assets/index-twqYNsoX.js +0 -1
  2766. langflow/frontend/assets/index-ukjxiqG1.js +0 -1
  2767. langflow/frontend/assets/indian-rupee-DDsHHnpw.js +0 -6
  2768. langflow/frontend/assets/infinity-BBPXbhl6.js +0 -6
  2769. langflow/frontend/assets/info-pijX_lAI.js +0 -6
  2770. langflow/frontend/assets/inspection-panel-B3s01EPS.js +0 -6
  2771. langflow/frontend/assets/instagram-DQjEVc1a.js +0 -6
  2772. langflow/frontend/assets/italic-DmZqJc3s.js +0 -6
  2773. langflow/frontend/assets/iteration-ccw-Btg_E23q.js +0 -6
  2774. langflow/frontend/assets/iteration-cw-Db00y5_M.js +0 -6
  2775. langflow/frontend/assets/japanese-yen-GDtYmkLT.js +0 -6
  2776. langflow/frontend/assets/joystick-oCzqrBnq.js +0 -6
  2777. langflow/frontend/assets/kanban-we0yz9mS.js +0 -6
  2778. langflow/frontend/assets/key-DAr2T7wP.js +0 -6
  2779. langflow/frontend/assets/key-round-BlVlTn-g.js +0 -6
  2780. langflow/frontend/assets/key-square-QfUsUzpk.js +0 -6
  2781. langflow/frontend/assets/keyboard-BU9Zjv_Y.js +0 -6
  2782. langflow/frontend/assets/keyboard-music-Gpxy8HJ1.js +0 -6
  2783. langflow/frontend/assets/keyboard-off-DyG_chgi.js +0 -6
  2784. langflow/frontend/assets/lamp-CHwGph0N.js +0 -6
  2785. langflow/frontend/assets/lamp-ceiling-BvzzpZjI.js +0 -6
  2786. langflow/frontend/assets/lamp-desk-wFruCDAT.js +0 -6
  2787. langflow/frontend/assets/lamp-floor-BmL4iQON.js +0 -6
  2788. langflow/frontend/assets/lamp-wall-down-CqQUSQrD.js +0 -6
  2789. langflow/frontend/assets/lamp-wall-up-DaIm2ZHs.js +0 -6
  2790. langflow/frontend/assets/land-plot-BOPhLWQf.js +0 -6
  2791. langflow/frontend/assets/landmark-CDhFL2--.js +0 -6
  2792. langflow/frontend/assets/languages-DeYdLiLU.js +0 -6
  2793. langflow/frontend/assets/laptop-bZpl3U9i.js +0 -6
  2794. langflow/frontend/assets/laptop-minimal-D3HG41A6.js +0 -6
  2795. langflow/frontend/assets/laptop-minimal-check-BCTwuOkq.js +0 -6
  2796. langflow/frontend/assets/lasso-8Rzjwdvb.js +0 -6
  2797. langflow/frontend/assets/lasso-select-KR_FJ8Sz.js +0 -6
  2798. langflow/frontend/assets/laugh-DPLw2kQc.js +0 -6
  2799. langflow/frontend/assets/layers-2-ccTMvAQJ.js +0 -6
  2800. langflow/frontend/assets/layers-C9PBhMbR.js +0 -6
  2801. langflow/frontend/assets/layout-dashboard-DWhDHJLb.js +0 -6
  2802. langflow/frontend/assets/layout-grid-j545VrOo.js +0 -6
  2803. langflow/frontend/assets/layout-list-B6mdFVQM.js +0 -6
  2804. langflow/frontend/assets/layout-panel-left-DNm1Lb-C.js +0 -6
  2805. langflow/frontend/assets/layout-panel-top--RhZXVol.js +0 -6
  2806. langflow/frontend/assets/layout-template-Bqrsfj6g.js +0 -6
  2807. langflow/frontend/assets/lazyIconImports-DRfFaNPB.js +0 -2
  2808. langflow/frontend/assets/leaf-C4sMkYhR.js +0 -6
  2809. langflow/frontend/assets/leafy-green-C6iBk6n7.js +0 -6
  2810. langflow/frontend/assets/lectern-D_jCIZYa.js +0 -6
  2811. langflow/frontend/assets/letter-text-C20LU8vc.js +0 -6
  2812. langflow/frontend/assets/library-C6q6nxw1.js +0 -6
  2813. langflow/frontend/assets/library-big-BMOPwYLP.js +0 -6
  2814. langflow/frontend/assets/life-buoy-BdTs-3qm.js +0 -6
  2815. langflow/frontend/assets/ligature-59BNBdFO.js +0 -6
  2816. langflow/frontend/assets/lightbulb-B6rFe3OL.js +0 -6
  2817. langflow/frontend/assets/lightbulb-off-B21C0ap6.js +0 -6
  2818. langflow/frontend/assets/link-2-DFDRgD6E.js +0 -6
  2819. langflow/frontend/assets/link-2-off-DuyJz9Te.js +0 -6
  2820. langflow/frontend/assets/link-BW7ikAR2.js +0 -6
  2821. langflow/frontend/assets/linkedin-BC54gln0.js +0 -6
  2822. langflow/frontend/assets/list-D9uknRtj.js +0 -6
  2823. langflow/frontend/assets/list-check-CZp0P9j8.js +0 -6
  2824. langflow/frontend/assets/list-checks-DtbWypeT.js +0 -6
  2825. langflow/frontend/assets/list-collapse-BYTfMbYt.js +0 -6
  2826. langflow/frontend/assets/list-end-CNOAFpq7.js +0 -6
  2827. langflow/frontend/assets/list-filter-B0frV5dv.js +0 -6
  2828. langflow/frontend/assets/list-filter-plus-CK5Lcsa4.js +0 -6
  2829. langflow/frontend/assets/list-minus-C6ulm7vt.js +0 -6
  2830. langflow/frontend/assets/list-music-B4L-9duN.js +0 -6
  2831. langflow/frontend/assets/list-ordered-C86H0C6g.js +0 -6
  2832. langflow/frontend/assets/list-plus-D78K3DjW.js +0 -6
  2833. langflow/frontend/assets/list-restart-CVZZyeJ2.js +0 -6
  2834. langflow/frontend/assets/list-start-gDuX8tMg.js +0 -6
  2835. langflow/frontend/assets/list-todo-DtkFXzaW.js +0 -6
  2836. langflow/frontend/assets/list-tree-Oi6vkVwR.js +0 -6
  2837. langflow/frontend/assets/list-video-DE73_LYJ.js +0 -6
  2838. langflow/frontend/assets/list-x-CgQzsjRB.js +0 -6
  2839. langflow/frontend/assets/loader-RDvq_gck.js +0 -6
  2840. langflow/frontend/assets/loader-circle-DkJY-7be.js +0 -6
  2841. langflow/frontend/assets/loader-pinwheel-DqLtT1OW.js +0 -6
  2842. langflow/frontend/assets/locate-27R1wayC.js +0 -6
  2843. langflow/frontend/assets/locate-fixed-B25GqMPm.js +0 -6
  2844. langflow/frontend/assets/locate-off-DxcIo3ue.js +0 -6
  2845. langflow/frontend/assets/location-edit-C8GKuWlO.js +0 -6
  2846. langflow/frontend/assets/lock-DbdTPRie.js +0 -6
  2847. langflow/frontend/assets/lock-keyhole-Cx4a6BYs.js +0 -6
  2848. langflow/frontend/assets/lock-keyhole-open-DTLQHZiP.js +0 -6
  2849. langflow/frontend/assets/lock-open-CnTQhpTU.js +0 -6
  2850. langflow/frontend/assets/log-in-DEu4f9CT.js +0 -6
  2851. langflow/frontend/assets/log-out-Rw31_grB.js +0 -6
  2852. langflow/frontend/assets/logs-C_xcALe5.js +0 -6
  2853. langflow/frontend/assets/lollipop-B6UBSkOr.js +0 -6
  2854. langflow/frontend/assets/luggage-B759at-b.js +0 -6
  2855. langflow/frontend/assets/magnet-CeNQFjoD.js +0 -6
  2856. langflow/frontend/assets/mail-De4rBGVq.js +0 -6
  2857. langflow/frontend/assets/mail-check-CbJ1IOaN.js +0 -6
  2858. langflow/frontend/assets/mail-minus-RnPcqZ0v.js +0 -6
  2859. langflow/frontend/assets/mail-open-D9M_LY0y.js +0 -6
  2860. langflow/frontend/assets/mail-plus-BT5pdOrC.js +0 -6
  2861. langflow/frontend/assets/mail-question-C2SIW5_-.js +0 -6
  2862. langflow/frontend/assets/mail-search-Cyt39aW3.js +0 -6
  2863. langflow/frontend/assets/mail-warning-DeMRXgCc.js +0 -6
  2864. langflow/frontend/assets/mail-x-B8pe3ypI.js +0 -6
  2865. langflow/frontend/assets/mailbox-DOr4Jgda.js +0 -6
  2866. langflow/frontend/assets/mails-Ce7xii1i.js +0 -6
  2867. langflow/frontend/assets/map-DpiPYH-Q.js +0 -6
  2868. langflow/frontend/assets/map-pin-Cc26OxY-.js +0 -6
  2869. langflow/frontend/assets/map-pin-check-CByGWxEF.js +0 -6
  2870. langflow/frontend/assets/map-pin-check-inside-DiG2kXfQ.js +0 -6
  2871. langflow/frontend/assets/map-pin-house-23Gzpmu2.js +0 -6
  2872. langflow/frontend/assets/map-pin-minus-ITQdHJk5.js +0 -6
  2873. langflow/frontend/assets/map-pin-minus-inside-B679vGwS.js +0 -6
  2874. langflow/frontend/assets/map-pin-off-CWKH97P5.js +0 -6
  2875. langflow/frontend/assets/map-pin-plus-DfAOd7pB.js +0 -6
  2876. langflow/frontend/assets/map-pin-plus-inside-JzHwlP76.js +0 -6
  2877. langflow/frontend/assets/map-pin-x-DUyBhfDm.js +0 -6
  2878. langflow/frontend/assets/map-pin-x-inside-C6k1KmNh.js +0 -6
  2879. langflow/frontend/assets/map-pinned-BpuyCi6Y.js +0 -6
  2880. langflow/frontend/assets/map-plus-DO7OUsBp.js +0 -6
  2881. langflow/frontend/assets/mars-09Pgjyim.js +0 -6
  2882. langflow/frontend/assets/mars-stroke-DoS_IHT5.js +0 -6
  2883. langflow/frontend/assets/martini-C4dLdwZz.js +0 -6
  2884. langflow/frontend/assets/maximize-2-BgGWLpMa.js +0 -6
  2885. langflow/frontend/assets/maximize-BnmFD7Ea.js +0 -6
  2886. langflow/frontend/assets/medal-CVtEX92m.js +0 -6
  2887. langflow/frontend/assets/megaphone-B_S1jdP6.js +0 -6
  2888. langflow/frontend/assets/megaphone-off-CRjvXD1m.js +0 -6
  2889. langflow/frontend/assets/meh-C8uPKyUp.js +0 -6
  2890. langflow/frontend/assets/memory-stick-Bj3nN5dk.js +0 -6
  2891. langflow/frontend/assets/menu-B9s_-3BK.js +0 -6
  2892. langflow/frontend/assets/merge-J8TxoB_I.js +0 -6
  2893. langflow/frontend/assets/message-circle-code-f4mtGDDw.js +0 -6
  2894. langflow/frontend/assets/message-circle-dashed-r3VtirOd.js +0 -6
  2895. langflow/frontend/assets/message-circle-heart-Bgz1ew21.js +0 -6
  2896. langflow/frontend/assets/message-circle-jUyFs-es.js +0 -6
  2897. langflow/frontend/assets/message-circle-more-Bla7Vdfj.js +0 -6
  2898. langflow/frontend/assets/message-circle-off-CLEvmyW9.js +0 -6
  2899. langflow/frontend/assets/message-circle-plus-a11z-ovw.js +0 -6
  2900. langflow/frontend/assets/message-circle-question-B5_XYWTb.js +0 -6
  2901. langflow/frontend/assets/message-circle-reply-CPOzJ66g.js +0 -6
  2902. langflow/frontend/assets/message-circle-warning-DRIi-daa.js +0 -6
  2903. langflow/frontend/assets/message-circle-x-CIBETEKZ.js +0 -6
  2904. langflow/frontend/assets/message-square-code-B2wt6I5-.js +0 -6
  2905. langflow/frontend/assets/message-square-dashed-4X0h0pQb.js +0 -6
  2906. langflow/frontend/assets/message-square-diff-xWeaewsx.js +0 -6
  2907. langflow/frontend/assets/message-square-dot--0-tnQXG.js +0 -6
  2908. langflow/frontend/assets/message-square-heart-5g8BhHmh.js +0 -6
  2909. langflow/frontend/assets/message-square-k6VTaNBS.js +0 -6
  2910. langflow/frontend/assets/message-square-lock-RQv6B-95.js +0 -6
  2911. langflow/frontend/assets/message-square-more-CG788VX0.js +0 -6
  2912. langflow/frontend/assets/message-square-off-BhjWfl1b.js +0 -6
  2913. langflow/frontend/assets/message-square-plus-BI-H6jxM.js +0 -6
  2914. langflow/frontend/assets/message-square-quote-Cp8iAUVq.js +0 -6
  2915. langflow/frontend/assets/message-square-reply-ciwL0PNR.js +0 -6
  2916. langflow/frontend/assets/message-square-share-BtRNOwXY.js +0 -6
  2917. langflow/frontend/assets/message-square-text-CQcrmsOB.js +0 -6
  2918. langflow/frontend/assets/message-square-warning-BW_paLfj.js +0 -6
  2919. langflow/frontend/assets/message-square-x-CzT3l51X.js +0 -6
  2920. langflow/frontend/assets/messages-square-Bk4KnQ8F.js +0 -6
  2921. langflow/frontend/assets/mic-CVjPC0nA.js +0 -6
  2922. langflow/frontend/assets/mic-off-cvNpAnCO.js +0 -6
  2923. langflow/frontend/assets/mic-vocal-Bvu_7-1P.js +0 -6
  2924. langflow/frontend/assets/microchip-CL7Q_1xX.js +0 -6
  2925. langflow/frontend/assets/microscope-DRVScFmr.js +0 -6
  2926. langflow/frontend/assets/microwave--4oIy06y.js +0 -6
  2927. langflow/frontend/assets/milestone-KpASYh3p.js +0 -6
  2928. langflow/frontend/assets/milk-ZOs_y1PL.js +0 -6
  2929. langflow/frontend/assets/milk-off-CvETS96K.js +0 -6
  2930. langflow/frontend/assets/minimize-2-ZcENftRc.js +0 -6
  2931. langflow/frontend/assets/minimize-D7d37njo.js +0 -6
  2932. langflow/frontend/assets/monitor-DOlbFky5.js +0 -6
  2933. langflow/frontend/assets/monitor-check-DmUCeR9A.js +0 -6
  2934. langflow/frontend/assets/monitor-cog-m74VAarh.js +0 -6
  2935. langflow/frontend/assets/monitor-dot-CaDHU0F7.js +0 -6
  2936. langflow/frontend/assets/monitor-down-5IIJ7Hp3.js +0 -6
  2937. langflow/frontend/assets/monitor-off-BF07OCtl.js +0 -6
  2938. langflow/frontend/assets/monitor-pause-BWHoCkC-.js +0 -6
  2939. langflow/frontend/assets/monitor-play-xck1Q3K3.js +0 -6
  2940. langflow/frontend/assets/monitor-smartphone-BAz_rtXC.js +0 -6
  2941. langflow/frontend/assets/monitor-speaker-CSzIdDUR.js +0 -6
  2942. langflow/frontend/assets/monitor-stop-Cg4Yysvq.js +0 -6
  2943. langflow/frontend/assets/monitor-up-BibsRz8A.js +0 -6
  2944. langflow/frontend/assets/monitor-x-CnIc-XPo.js +0 -6
  2945. langflow/frontend/assets/moon-CwBh9jCb.js +0 -6
  2946. langflow/frontend/assets/moon-star-Cqz6Au_k.js +0 -6
  2947. langflow/frontend/assets/mountain-DBNjOkPk.js +0 -6
  2948. langflow/frontend/assets/mountain-snow-o4r6usrx.js +0 -6
  2949. langflow/frontend/assets/mouse-C1nhRUcr.js +0 -6
  2950. langflow/frontend/assets/mouse-off-CASRo_QW.js +0 -6
  2951. langflow/frontend/assets/mouse-pointer-2-Mb8VGr0o.js +0 -6
  2952. langflow/frontend/assets/mouse-pointer-D94fPNG2.js +0 -6
  2953. langflow/frontend/assets/mouse-pointer-ban-KUQlGU-A.js +0 -6
  2954. langflow/frontend/assets/mouse-pointer-click-CaZdrkEQ.js +0 -6
  2955. langflow/frontend/assets/move-3d-C0T67La1.js +0 -6
  2956. langflow/frontend/assets/move-Bpi1PuOT.js +0 -6
  2957. langflow/frontend/assets/move-diagonal-2-uxLMwSLU.js +0 -6
  2958. langflow/frontend/assets/move-diagonal-BI_kq6Ri.js +0 -6
  2959. langflow/frontend/assets/move-down-BaiJALD6.js +0 -6
  2960. langflow/frontend/assets/move-down-left-DvHTc324.js +0 -6
  2961. langflow/frontend/assets/move-down-right-bDhB8pmN.js +0 -6
  2962. langflow/frontend/assets/move-horizontal-Gg4hQwWM.js +0 -6
  2963. langflow/frontend/assets/move-left-DyKB1bwc.js +0 -6
  2964. langflow/frontend/assets/move-right-BA7N--Qc.js +0 -6
  2965. langflow/frontend/assets/move-up-DFrSH8tg.js +0 -6
  2966. langflow/frontend/assets/move-up-left-BTjfll8R.js +0 -6
  2967. langflow/frontend/assets/move-up-right-CtNx6SNy.js +0 -6
  2968. langflow/frontend/assets/move-vertical-DL7X4ZR7.js +0 -6
  2969. langflow/frontend/assets/music-2-mR0Ncuz9.js +0 -6
  2970. langflow/frontend/assets/music-3-D5hWNdP9.js +0 -6
  2971. langflow/frontend/assets/music-4-C02EtyPP.js +0 -6
  2972. langflow/frontend/assets/music-JFE7Sjcf.js +0 -6
  2973. langflow/frontend/assets/navigation-2-BdKxOaeL.js +0 -6
  2974. langflow/frontend/assets/navigation-2-off-DRqqqtsH.js +0 -6
  2975. langflow/frontend/assets/navigation-BXXLD9fO.js +0 -6
  2976. langflow/frontend/assets/navigation-off-BXq2L8Di.js +0 -6
  2977. langflow/frontend/assets/network-B0vJejCu.js +0 -6
  2978. langflow/frontend/assets/newspaper-DOjvrahU.js +0 -6
  2979. langflow/frontend/assets/nfc-DjQCvvsE.js +0 -6
  2980. langflow/frontend/assets/non-binary-D9LpkBPk.js +0 -6
  2981. langflow/frontend/assets/notebook-DndOO5LI.js +0 -6
  2982. langflow/frontend/assets/notebook-pen-BUm3h1SI.js +0 -6
  2983. langflow/frontend/assets/notebook-tabs-K5Tr_Osa.js +0 -6
  2984. langflow/frontend/assets/notebook-text-eJKgVHF9.js +0 -6
  2985. langflow/frontend/assets/notepad-text-DdGjs0YI.js +0 -6
  2986. langflow/frontend/assets/notepad-text-dashed-CAnbEisZ.js +0 -6
  2987. langflow/frontend/assets/nut-B_EAyVRW.js +0 -6
  2988. langflow/frontend/assets/nut-off-Dj7aFgNZ.js +0 -6
  2989. langflow/frontend/assets/octagon-BkhRt-4I.js +0 -6
  2990. langflow/frontend/assets/octagon-alert-CqRFnA7H.js +0 -6
  2991. langflow/frontend/assets/octagon-minus-DLVOuzms.js +0 -6
  2992. langflow/frontend/assets/octagon-pause-js4QzBZA.js +0 -6
  2993. langflow/frontend/assets/octagon-x-Dk9a4j2g.js +0 -6
  2994. langflow/frontend/assets/omega-mYamy5wP.js +0 -6
  2995. langflow/frontend/assets/option-CUYRIOMu.js +0 -6
  2996. langflow/frontend/assets/orbit-CKv-3NP9.js +0 -6
  2997. langflow/frontend/assets/origami-Db03P-HH.js +0 -6
  2998. langflow/frontend/assets/package-2-2Juwg_5K.js +0 -6
  2999. langflow/frontend/assets/package-BRGSHC5m.js +0 -6
  3000. langflow/frontend/assets/package-check-B2UvoBTd.js +0 -6
  3001. langflow/frontend/assets/package-minus-eCu1HcH4.js +0 -6
  3002. langflow/frontend/assets/package-open-D5apDq0b.js +0 -6
  3003. langflow/frontend/assets/package-plus-DcmauE5Y.js +0 -6
  3004. langflow/frontend/assets/package-search-DPrIAldx.js +0 -6
  3005. langflow/frontend/assets/package-x-XPlCRqVg.js +0 -6
  3006. langflow/frontend/assets/paint-bucket-Dtt7DipG.js +0 -6
  3007. langflow/frontend/assets/paint-roller-D54hQ9EL.js +0 -6
  3008. langflow/frontend/assets/paintbrush-D6DVlQY-.js +0 -6
  3009. langflow/frontend/assets/paintbrush-vertical-Cvrh0dv8.js +0 -6
  3010. langflow/frontend/assets/palette-DZjLqWEE.js +0 -6
  3011. langflow/frontend/assets/panel-bottom-DKkfhNbE.js +0 -6
  3012. langflow/frontend/assets/panel-bottom-close-Y9inZ-Lg.js +0 -6
  3013. langflow/frontend/assets/panel-bottom-dashed-BkJIn8pA.js +0 -6
  3014. langflow/frontend/assets/panel-bottom-open-q4f0GVbZ.js +0 -6
  3015. langflow/frontend/assets/panel-left-close-BmtAQrKJ.js +0 -6
  3016. langflow/frontend/assets/panel-left-dashed-ChlwFy74.js +0 -6
  3017. langflow/frontend/assets/panel-left-open-XHXZVNWv.js +0 -6
  3018. langflow/frontend/assets/panel-right-B_GO73R6.js +0 -6
  3019. langflow/frontend/assets/panel-right-close-CjTH2SAn.js +0 -6
  3020. langflow/frontend/assets/panel-right-dashed-L5Yp190t.js +0 -6
  3021. langflow/frontend/assets/panel-right-open--iHtcOYZ.js +0 -6
  3022. langflow/frontend/assets/panel-top-DOXfrMML.js +0 -6
  3023. langflow/frontend/assets/panel-top-close-CfDHwCd3.js +0 -6
  3024. langflow/frontend/assets/panel-top-dashed-CLOfFL5Y.js +0 -6
  3025. langflow/frontend/assets/panel-top-open-C6x3bGks.js +0 -6
  3026. langflow/frontend/assets/panels-left-bottom-DErJphT8.js +0 -6
  3027. langflow/frontend/assets/panels-right-bottom-D81AMxRS.js +0 -6
  3028. langflow/frontend/assets/panels-top-left-C2K8WXtA.js +0 -6
  3029. langflow/frontend/assets/paperclip-DoulwVXo.js +0 -6
  3030. langflow/frontend/assets/parentheses-D1sMSJok.js +0 -6
  3031. langflow/frontend/assets/parking-meter-kicxVB57.js +0 -6
  3032. langflow/frontend/assets/party-popper-DOehfOsh.js +0 -6
  3033. langflow/frontend/assets/pause-DC3AS1_H.js +0 -6
  3034. langflow/frontend/assets/paw-print-DjOLImjW.js +0 -6
  3035. langflow/frontend/assets/pc-case-DQC3GYeR.js +0 -6
  3036. langflow/frontend/assets/pen-DM7kR0Jw.js +0 -6
  3037. langflow/frontend/assets/pen-line-Bsvdd4jV.js +0 -6
  3038. langflow/frontend/assets/pen-off-CAEWPqXv.js +0 -6
  3039. langflow/frontend/assets/pen-tool-BcVfRopU.js +0 -6
  3040. langflow/frontend/assets/pencil-BlUEec4X.js +0 -6
  3041. langflow/frontend/assets/pencil-line-L2QYrPj8.js +0 -6
  3042. langflow/frontend/assets/pencil-off-CGzZM-T2.js +0 -6
  3043. langflow/frontend/assets/pencil-ruler-B3oatjJU.js +0 -6
  3044. langflow/frontend/assets/pentagon-BLB278_6.js +0 -6
  3045. langflow/frontend/assets/percent-BDXmF2EC.js +0 -6
  3046. langflow/frontend/assets/person-standing-Dzk1Z3_N.js +0 -6
  3047. langflow/frontend/assets/philippine-peso-8pW6097O.js +0 -6
  3048. langflow/frontend/assets/phone-BSB5gkXg.js +0 -6
  3049. langflow/frontend/assets/phone-call-DaUk93Y4.js +0 -6
  3050. langflow/frontend/assets/phone-forwarded-Dc7TrVMY.js +0 -6
  3051. langflow/frontend/assets/phone-incoming-BDqjCVEn.js +0 -6
  3052. langflow/frontend/assets/phone-missed-C6jXid_r.js +0 -6
  3053. langflow/frontend/assets/phone-off-DX2bd0Rz.js +0 -6
  3054. langflow/frontend/assets/phone-outgoing-CIBRSzlg.js +0 -6
  3055. langflow/frontend/assets/pi-DFvu6Rvd.js +0 -6
  3056. langflow/frontend/assets/piano-BrBrplYm.js +0 -6
  3057. langflow/frontend/assets/pickaxe-C-_uD3S4.js +0 -6
  3058. langflow/frontend/assets/picture-in-picture-2-CYPLZgIz.js +0 -6
  3059. langflow/frontend/assets/picture-in-picture-CzJMCFL0.js +0 -6
  3060. langflow/frontend/assets/piggy-bank-VrsksHBR.js +0 -6
  3061. langflow/frontend/assets/pilcrow-CRVQVjXq.js +0 -6
  3062. langflow/frontend/assets/pilcrow-left-Bw5MDtcD.js +0 -6
  3063. langflow/frontend/assets/pilcrow-right-BSvYW3Bs.js +0 -6
  3064. langflow/frontend/assets/pill-CCgZIZaU.js +0 -6
  3065. langflow/frontend/assets/pill-bottle-Bz8L-myc.js +0 -6
  3066. langflow/frontend/assets/pin-CpcZfyaQ.js +0 -6
  3067. langflow/frontend/assets/pin-off-BWxMlSF9.js +0 -6
  3068. langflow/frontend/assets/pipette-DIOU6U4M.js +0 -6
  3069. langflow/frontend/assets/pizza-DPndoBkE.js +0 -6
  3070. langflow/frontend/assets/plane-BjKU1SMi.js +0 -6
  3071. langflow/frontend/assets/plane-landing-BwaoIaxM.js +0 -6
  3072. langflow/frontend/assets/plane-takeoff-cJrbN5JR.js +0 -6
  3073. langflow/frontend/assets/play-JWwcgO_a.js +0 -6
  3074. langflow/frontend/assets/plug-2-BkULzhLG.js +0 -6
  3075. langflow/frontend/assets/plug-EGvNpePB.js +0 -6
  3076. langflow/frontend/assets/plug-zap-PocgL_HA.js +0 -6
  3077. langflow/frontend/assets/pocket-B1PYQMj8.js +0 -6
  3078. langflow/frontend/assets/pocket-knife-W8PnIhO8.js +0 -6
  3079. langflow/frontend/assets/podcast-Bn9vBhTr.js +0 -6
  3080. langflow/frontend/assets/pointer-ZXX5ydr8.js +0 -6
  3081. langflow/frontend/assets/pointer-off-DGMoG6N9.js +0 -6
  3082. langflow/frontend/assets/popcorn-CjKmsViy.js +0 -6
  3083. langflow/frontend/assets/popsicle-CEJfaRsa.js +0 -6
  3084. langflow/frontend/assets/pound-sterling-4pIuM8qN.js +0 -6
  3085. langflow/frontend/assets/power-Ce_RpKLS.js +0 -6
  3086. langflow/frontend/assets/power-off-BTk6a4jN.js +0 -6
  3087. langflow/frontend/assets/presentation-zDaQAcCi.js +0 -6
  3088. langflow/frontend/assets/printer-DiHhWOSl.js +0 -6
  3089. langflow/frontend/assets/printer-check-DD2-75np.js +0 -6
  3090. langflow/frontend/assets/projector-BPXyhKc4.js +0 -6
  3091. langflow/frontend/assets/proportions-CMaVT9lx.js +0 -6
  3092. langflow/frontend/assets/puzzle-Dt6QmOyl.js +0 -6
  3093. langflow/frontend/assets/pyramid-Bv9KPys4.js +0 -6
  3094. langflow/frontend/assets/qr-code-BQh4vsHb.js +0 -6
  3095. langflow/frontend/assets/quote-BIyJsKFu.js +0 -6
  3096. langflow/frontend/assets/rabbit-CwpQ58xh.js +0 -6
  3097. langflow/frontend/assets/radar-BPXLopgw.js +0 -6
  3098. langflow/frontend/assets/radiation-XiU5J_0y.js +0 -6
  3099. langflow/frontend/assets/radical-DBsO9JOZ.js +0 -6
  3100. langflow/frontend/assets/radio-8plMkBKD.js +0 -6
  3101. langflow/frontend/assets/radio-receiver-DGCIRtlV.js +0 -6
  3102. langflow/frontend/assets/radio-tower-D-K-Dq1j.js +0 -6
  3103. langflow/frontend/assets/radius-BtxdGraC.js +0 -6
  3104. langflow/frontend/assets/rail-symbol-2saYAXmw.js +0 -6
  3105. langflow/frontend/assets/rainbow-D-vQhn_P.js +0 -6
  3106. langflow/frontend/assets/rat-ksp-2Opn.js +0 -6
  3107. langflow/frontend/assets/ratio-b2pIUzfC.js +0 -6
  3108. langflow/frontend/assets/receipt-DnxW2sTC.js +0 -6
  3109. langflow/frontend/assets/receipt-cent-DgTFiFsN.js +0 -6
  3110. langflow/frontend/assets/receipt-euro-CroU75OQ.js +0 -6
  3111. langflow/frontend/assets/receipt-indian-rupee-BelGNdhL.js +0 -6
  3112. langflow/frontend/assets/receipt-japanese-yen-Dneos7wW.js +0 -6
  3113. langflow/frontend/assets/receipt-pound-sterling-D9oMyPW3.js +0 -6
  3114. langflow/frontend/assets/receipt-russian-ruble-BaAMI2z5.js +0 -6
  3115. langflow/frontend/assets/receipt-swiss-franc-CApWMWoy.js +0 -6
  3116. langflow/frontend/assets/receipt-text-DWaWoT63.js +0 -6
  3117. langflow/frontend/assets/rectangle-ellipsis-Dy7FN8ah.js +0 -6
  3118. langflow/frontend/assets/rectangle-goggles-BZVdtly_.js +0 -6
  3119. langflow/frontend/assets/rectangle-horizontal-DhnV4Cu8.js +0 -6
  3120. langflow/frontend/assets/rectangle-vertical-SWDCzzA3.js +0 -6
  3121. langflow/frontend/assets/recycle-BXD3AUyp.js +0 -6
  3122. langflow/frontend/assets/redo-2-W_Any8U_.js +0 -6
  3123. langflow/frontend/assets/redo-BxyriiyO.js +0 -6
  3124. langflow/frontend/assets/redo-dot-DXqHkWDY.js +0 -6
  3125. langflow/frontend/assets/refresh-ccw-DDJPywZK.js +0 -6
  3126. langflow/frontend/assets/refresh-ccw-dot-CaQZuaz7.js +0 -6
  3127. langflow/frontend/assets/refresh-cw-off-BAgYS8rV.js +0 -6
  3128. langflow/frontend/assets/refresh-cw-qPmtnxQM.js +0 -6
  3129. langflow/frontend/assets/refrigerator-79QxWziD.js +0 -6
  3130. langflow/frontend/assets/regex-DAMPVDJy.js +0 -6
  3131. langflow/frontend/assets/remove-formatting-Bzr7ewLV.js +0 -6
  3132. langflow/frontend/assets/repeat-1-CoOD4iUH.js +0 -6
  3133. langflow/frontend/assets/repeat-2-go-DpP_V.js +0 -6
  3134. langflow/frontend/assets/repeat-Cb229YM9.js +0 -6
  3135. langflow/frontend/assets/replace-CEVfl2u6.js +0 -6
  3136. langflow/frontend/assets/replace-all-DWkdmDKo.js +0 -6
  3137. langflow/frontend/assets/reply-7f-PQSmd.js +0 -6
  3138. langflow/frontend/assets/reply-all-REIVdVRK.js +0 -6
  3139. langflow/frontend/assets/rewind-jMTQjdh4.js +0 -6
  3140. langflow/frontend/assets/ribbon-DwOcydsj.js +0 -6
  3141. langflow/frontend/assets/rocket-B3qiDK0E.js +0 -6
  3142. langflow/frontend/assets/rocking-chair-DVFxjG7x.js +0 -6
  3143. langflow/frontend/assets/roller-coaster-B_hAk2yh.js +0 -6
  3144. langflow/frontend/assets/rotate-3d-CJDyYXfO.js +0 -6
  3145. langflow/frontend/assets/rotate-ccw-DTYUML5q.js +0 -6
  3146. langflow/frontend/assets/rotate-ccw-key-B6lAxVk3.js +0 -6
  3147. langflow/frontend/assets/rotate-ccw-square-ZpzHg3BG.js +0 -6
  3148. langflow/frontend/assets/rotate-cw--goANcZb.js +0 -6
  3149. langflow/frontend/assets/rotate-cw-square-CQme4RDc.js +0 -6
  3150. langflow/frontend/assets/route-U0PdlpK1.js +0 -6
  3151. langflow/frontend/assets/route-off-Dmd6qmJr.js +0 -6
  3152. langflow/frontend/assets/router-CqVHwsp4.js +0 -6
  3153. langflow/frontend/assets/rows-2-DZd3r_d1.js +0 -6
  3154. langflow/frontend/assets/rows-3-DlRhRNBS.js +0 -6
  3155. langflow/frontend/assets/rows-4-Bnr3F5Ig.js +0 -6
  3156. langflow/frontend/assets/rss-hfQ63sRl.js +0 -6
  3157. langflow/frontend/assets/ruler-CNOWvm8e.js +0 -6
  3158. langflow/frontend/assets/ruler-dimension-line-B-_7fa-e.js +0 -6
  3159. langflow/frontend/assets/russian-ruble-CWj2DXGa.js +0 -6
  3160. langflow/frontend/assets/sailboat-BN755CkX.js +0 -6
  3161. langflow/frontend/assets/salad-B1FASsWL.js +0 -6
  3162. langflow/frontend/assets/sandwich-B8Gbp6Uu.js +0 -6
  3163. langflow/frontend/assets/satellite-DJ_-Qrkd.js +0 -6
  3164. langflow/frontend/assets/satellite-dish-C5W00Cw4.js +0 -6
  3165. langflow/frontend/assets/saudi-riyal-BaHsEeX2.js +0 -6
  3166. langflow/frontend/assets/save-all-Cq-IUzX0.js +0 -6
  3167. langflow/frontend/assets/save-off-BFUHSfZB.js +0 -6
  3168. langflow/frontend/assets/save-rUXWuhsE.js +0 -6
  3169. langflow/frontend/assets/scale-3d-DRHbTf94.js +0 -6
  3170. langflow/frontend/assets/scale-Bwvd5eQq.js +0 -6
  3171. langflow/frontend/assets/scaling-T7W3r6OS.js +0 -6
  3172. langflow/frontend/assets/scan-BYcsyfUO.js +0 -6
  3173. langflow/frontend/assets/scan-barcode-WDmK-SAE.js +0 -6
  3174. langflow/frontend/assets/scan-eye-DvLqoQk9.js +0 -6
  3175. langflow/frontend/assets/scan-face-ErJORfeD.js +0 -6
  3176. langflow/frontend/assets/scan-heart-B17SEF1b.js +0 -6
  3177. langflow/frontend/assets/scan-line-DJVPfHlj.js +0 -6
  3178. langflow/frontend/assets/scan-qr-code-Dp5pDTe9.js +0 -6
  3179. langflow/frontend/assets/scan-search-CyMMc6uG.js +0 -6
  3180. langflow/frontend/assets/scan-text-BvfPVvZd.js +0 -6
  3181. langflow/frontend/assets/school-6RZvHm3Y.js +0 -6
  3182. langflow/frontend/assets/scissors-BnZH5FLV.js +0 -6
  3183. langflow/frontend/assets/scissors-line-dashed-B8CnhLpp.js +0 -6
  3184. langflow/frontend/assets/screen-share-B-IdJsWf.js +0 -6
  3185. langflow/frontend/assets/screen-share-off-BcLgB-QY.js +0 -6
  3186. langflow/frontend/assets/scroll-BAbvzFhw.js +0 -6
  3187. langflow/frontend/assets/scroll-text-CTyVAGzP.js +0 -6
  3188. langflow/frontend/assets/search-check-ZLjbC5QE.js +0 -6
  3189. langflow/frontend/assets/search-code-Dz2bEMJ1.js +0 -6
  3190. langflow/frontend/assets/search-slash-C0GPHmeV.js +0 -6
  3191. langflow/frontend/assets/search-x-DSRVo8Q0.js +0 -6
  3192. langflow/frontend/assets/section-BXtLLfVB.js +0 -6
  3193. langflow/frontend/assets/send-horizontal-Bk0C5xTn.js +0 -6
  3194. langflow/frontend/assets/send-to-back-DVDTCTmY.js +0 -6
  3195. langflow/frontend/assets/send-y3xac-Z8.js +0 -6
  3196. langflow/frontend/assets/separator-horizontal-DjhyGqlL.js +0 -6
  3197. langflow/frontend/assets/separator-vertical-C8yHKi3A.js +0 -6
  3198. langflow/frontend/assets/server-DLMBtLRi.js +0 -6
  3199. langflow/frontend/assets/server-cog-C_acTz3o.js +0 -6
  3200. langflow/frontend/assets/server-crash-DiB_eAS0.js +0 -6
  3201. langflow/frontend/assets/server-off-Ce2m2PO8.js +0 -6
  3202. langflow/frontend/assets/settings-2-BXS8p9yd.js +0 -6
  3203. langflow/frontend/assets/settings-CECtcUku.js +0 -6
  3204. langflow/frontend/assets/shapes-CyAdB2p1.js +0 -6
  3205. langflow/frontend/assets/share-2-CkR2XJ4w.js +0 -6
  3206. langflow/frontend/assets/share-aU1oQycm.js +0 -6
  3207. langflow/frontend/assets/sheet-wd6yVF1G.js +0 -6
  3208. langflow/frontend/assets/shell-BsVxCNun.js +0 -6
  3209. langflow/frontend/assets/shield-BYup7Kta.js +0 -6
  3210. langflow/frontend/assets/shield-alert-jWbvzd7t.js +0 -6
  3211. langflow/frontend/assets/shield-ban-CMOWtw6F.js +0 -6
  3212. langflow/frontend/assets/shield-check-CGQOVQ5t.js +0 -6
  3213. langflow/frontend/assets/shield-ellipsis-BjZtu1ZK.js +0 -6
  3214. langflow/frontend/assets/shield-half-hSgNZ-Dk.js +0 -6
  3215. langflow/frontend/assets/shield-minus-vA1GzWXQ.js +0 -6
  3216. langflow/frontend/assets/shield-off-BI1Unp0c.js +0 -6
  3217. langflow/frontend/assets/shield-plus-jS3THPuG.js +0 -6
  3218. langflow/frontend/assets/shield-question-CvfF4Pzd.js +0 -6
  3219. langflow/frontend/assets/shield-user-BET3N5mT.js +0 -6
  3220. langflow/frontend/assets/shield-x-COkQc8o5.js +0 -6
  3221. langflow/frontend/assets/ship-CcNhSIdY.js +0 -6
  3222. langflow/frontend/assets/ship-wheel-Bw6rSHjc.js +0 -6
  3223. langflow/frontend/assets/shirt-C5JGmzKr.js +0 -6
  3224. langflow/frontend/assets/shopping-bag-BQ76dBeS.js +0 -6
  3225. langflow/frontend/assets/shopping-basket-Dblk_9d-.js +0 -6
  3226. langflow/frontend/assets/shopping-cart-CZAlfqop.js +0 -6
  3227. langflow/frontend/assets/shovel-CDBUKSze.js +0 -6
  3228. langflow/frontend/assets/shower-head-CpzqDVGY.js +0 -6
  3229. langflow/frontend/assets/shredder-JSFjoB_H.js +0 -6
  3230. langflow/frontend/assets/shrimp-CFl1_DR9.js +0 -6
  3231. langflow/frontend/assets/shrink-hfrXOzVx.js +0 -6
  3232. langflow/frontend/assets/shrub-qz_D8MIN.js +0 -6
  3233. langflow/frontend/assets/shuffle-B0RZ6qeq.js +0 -6
  3234. langflow/frontend/assets/sigma-DgOloNah.js +0 -6
  3235. langflow/frontend/assets/signal-MDPVUvhX.js +0 -6
  3236. langflow/frontend/assets/signal-high-D1zK4rF8.js +0 -6
  3237. langflow/frontend/assets/signal-low-Dua5YeAL.js +0 -6
  3238. langflow/frontend/assets/signal-medium-BmB_4ag4.js +0 -6
  3239. langflow/frontend/assets/signal-zero-D3JYrbLc.js +0 -6
  3240. langflow/frontend/assets/signature-BfLVCz_j.js +0 -6
  3241. langflow/frontend/assets/signpost-C9alkE0N.js +0 -6
  3242. langflow/frontend/assets/signpost-big-CZqm-mwM.js +0 -6
  3243. langflow/frontend/assets/siren-C5_yv4zf.js +0 -6
  3244. langflow/frontend/assets/skip-back-CoBWwFvy.js +0 -6
  3245. langflow/frontend/assets/skip-forward-BvNbx8_A.js +0 -6
  3246. langflow/frontend/assets/skull-CoN9k39Z.js +0 -6
  3247. langflow/frontend/assets/slack-DR-xhp_D.js +0 -6
  3248. langflow/frontend/assets/slash-YOt-xLyu.js +0 -6
  3249. langflow/frontend/assets/slice-CTm9mXYF.js +0 -6
  3250. langflow/frontend/assets/sliders-horizontal-Bbllrlfg.js +0 -6
  3251. langflow/frontend/assets/sliders-vertical-BqJXkXug.js +0 -6
  3252. langflow/frontend/assets/smartphone-charging-qqe-f_oj.js +0 -6
  3253. langflow/frontend/assets/smartphone-nfc-gg3LXEcw.js +0 -6
  3254. langflow/frontend/assets/smartphone-pTpD7ZG6.js +0 -6
  3255. langflow/frontend/assets/smile-C9kL5Bua.js +0 -6
  3256. langflow/frontend/assets/smile-plus-btM6Cy_d.js +0 -6
  3257. langflow/frontend/assets/snail-CGrap-4v.js +0 -6
  3258. langflow/frontend/assets/snowflake-CVgE3j4c.js +0 -6
  3259. langflow/frontend/assets/sofa-B9ORaq0V.js +0 -6
  3260. langflow/frontend/assets/soup-9KCvJm6J.js +0 -6
  3261. langflow/frontend/assets/space-CawtjWB3.js +0 -6
  3262. langflow/frontend/assets/spade-W3RW53k8.js +0 -6
  3263. langflow/frontend/assets/sparkle-C0YNDR10.js +0 -6
  3264. langflow/frontend/assets/sparkles-BAmY14PC.js +0 -6
  3265. langflow/frontend/assets/speaker-CLczsiCK.js +0 -6
  3266. langflow/frontend/assets/speech-LrPI1Bg8.js +0 -6
  3267. langflow/frontend/assets/spell-check-2-vl6PmkgZ.js +0 -6
  3268. langflow/frontend/assets/spell-check-B6_0sdGp.js +0 -6
  3269. langflow/frontend/assets/spline-Cps3LTJ7.js +0 -6
  3270. langflow/frontend/assets/spline-pointer-CgACMmpv.js +0 -6
  3271. langflow/frontend/assets/split-Du8iRMG7.js +0 -6
  3272. langflow/frontend/assets/spray-can-CRoAiiwu.js +0 -6
  3273. langflow/frontend/assets/sprout-CMvJ56QM.js +0 -6
  3274. langflow/frontend/assets/square-CkroTjSQ.js +0 -6
  3275. langflow/frontend/assets/square-activity-CcOSYBrS.js +0 -6
  3276. langflow/frontend/assets/square-arrow-down-BVdJOZEJ.js +0 -6
  3277. langflow/frontend/assets/square-arrow-down-left-Cmzi6p1x.js +0 -6
  3278. langflow/frontend/assets/square-arrow-down-right-CZLHVnQz.js +0 -6
  3279. langflow/frontend/assets/square-arrow-left-DjVpjsrO.js +0 -6
  3280. langflow/frontend/assets/square-arrow-out-down-left-wXj5IWRk.js +0 -6
  3281. langflow/frontend/assets/square-arrow-out-down-right-CwtDp41D.js +0 -6
  3282. langflow/frontend/assets/square-arrow-out-up-left-FRvjXB1a.js +0 -6
  3283. langflow/frontend/assets/square-arrow-out-up-right-DlPfPEyw.js +0 -6
  3284. langflow/frontend/assets/square-arrow-right-CXsKizML.js +0 -6
  3285. langflow/frontend/assets/square-arrow-up-CEkTBxex.js +0 -6
  3286. langflow/frontend/assets/square-arrow-up-left-BP02lXAS.js +0 -6
  3287. langflow/frontend/assets/square-arrow-up-right-BmSDFkDr.js +0 -6
  3288. langflow/frontend/assets/square-asterisk-hbwvBM2B.js +0 -6
  3289. langflow/frontend/assets/square-bottom-dashed-scissors-DYKrJw1y.js +0 -6
  3290. langflow/frontend/assets/square-chart-gantt-Vwnfo_Pn.js +0 -6
  3291. langflow/frontend/assets/square-check-C04cs5ZB.js +0 -6
  3292. langflow/frontend/assets/square-check-big-BF3AAHOB.js +0 -6
  3293. langflow/frontend/assets/square-chevron-down-DmNdYA3q.js +0 -6
  3294. langflow/frontend/assets/square-chevron-left-BtlOVCVY.js +0 -6
  3295. langflow/frontend/assets/square-chevron-right-GIZBQEzx.js +0 -6
  3296. langflow/frontend/assets/square-chevron-up-CQEO5ONV.js +0 -6
  3297. langflow/frontend/assets/square-code-CD0gAgvN.js +0 -6
  3298. langflow/frontend/assets/square-dashed-BDrI1c-R.js +0 -6
  3299. langflow/frontend/assets/square-dashed-bottom-BJL9d4pa.js +0 -6
  3300. langflow/frontend/assets/square-dashed-bottom-code-BeOBZkR0.js +0 -6
  3301. langflow/frontend/assets/square-dashed-kanban-CErbmiES.js +0 -6
  3302. langflow/frontend/assets/square-dashed-mouse-pointer-Zmi5agfp.js +0 -6
  3303. langflow/frontend/assets/square-divide-B6A6zkw1.js +0 -6
  3304. langflow/frontend/assets/square-dot-P6fcdHPf.js +0 -6
  3305. langflow/frontend/assets/square-equal-WJbHP_t4.js +0 -6
  3306. langflow/frontend/assets/square-function-CettiR3X.js +0 -6
  3307. langflow/frontend/assets/square-kanban-BsXU8E_y.js +0 -6
  3308. langflow/frontend/assets/square-library-BmQ3hTyB.js +0 -6
  3309. langflow/frontend/assets/square-m-DwfZ-vok.js +0 -6
  3310. langflow/frontend/assets/square-menu-Dpthf6jm.js +0 -6
  3311. langflow/frontend/assets/square-minus-Tj5ClIqx.js +0 -6
  3312. langflow/frontend/assets/square-mouse-pointer-mr8timW7.js +0 -6
  3313. langflow/frontend/assets/square-parking-Bk9SzHc8.js +0 -6
  3314. langflow/frontend/assets/square-parking-off-IrrpobT0.js +0 -6
  3315. langflow/frontend/assets/square-pen-KiRrTvtS.js +0 -6
  3316. langflow/frontend/assets/square-percent-C8aOSpg0.js +0 -6
  3317. langflow/frontend/assets/square-pi-DgKhv0At.js +0 -6
  3318. langflow/frontend/assets/square-pilcrow-COH3OK9n.js +0 -6
  3319. langflow/frontend/assets/square-play-CAUGl-72.js +0 -6
  3320. langflow/frontend/assets/square-plus-CRlzaeG6.js +0 -6
  3321. langflow/frontend/assets/square-power-BUV-DpO9.js +0 -6
  3322. langflow/frontend/assets/square-radical-mDbhE1Jp.js +0 -6
  3323. langflow/frontend/assets/square-round-corner-D8ikBzW8.js +0 -6
  3324. langflow/frontend/assets/square-scissors-sOPUwUTq.js +0 -6
  3325. langflow/frontend/assets/square-sigma-pZR7i2en.js +0 -6
  3326. langflow/frontend/assets/square-slash-CecdJ-2g.js +0 -6
  3327. langflow/frontend/assets/square-split-horizontal-Cn1YMMw-.js +0 -6
  3328. langflow/frontend/assets/square-split-vertical-C3Z8n5KC.js +0 -6
  3329. langflow/frontend/assets/square-square-CiXxR3Ie.js +0 -6
  3330. langflow/frontend/assets/square-stack-B2uKFYXm.js +0 -6
  3331. langflow/frontend/assets/square-terminal-DE1v-WES.js +0 -6
  3332. langflow/frontend/assets/square-user-CdQ5nItk.js +0 -6
  3333. langflow/frontend/assets/square-user-round-BAGRGZ4p.js +0 -6
  3334. langflow/frontend/assets/square-x-BI3Pn3yZ.js +0 -6
  3335. langflow/frontend/assets/squares-exclude-CBt3NOOB.js +0 -6
  3336. langflow/frontend/assets/squares-intersect-C1ol5eE2.js +0 -6
  3337. langflow/frontend/assets/squares-subtract-CxQ-opYW.js +0 -6
  3338. langflow/frontend/assets/squares-unite-bHbJjImE.js +0 -6
  3339. langflow/frontend/assets/squircle-BKxd9XrI.js +0 -6
  3340. langflow/frontend/assets/squirrel-BdGL91Qm.js +0 -6
  3341. langflow/frontend/assets/stamp-BIQg-SUE.js +0 -6
  3342. langflow/frontend/assets/star-Cpa4WlZd.js +0 -6
  3343. langflow/frontend/assets/star-half-BnsiPaVT.js +0 -6
  3344. langflow/frontend/assets/star-off-AO1QRqoS.js +0 -6
  3345. langflow/frontend/assets/step-back-CcOvZiFD.js +0 -6
  3346. langflow/frontend/assets/step-forward-C4x-q-G6.js +0 -6
  3347. langflow/frontend/assets/stethoscope-CANnOOAi.js +0 -6
  3348. langflow/frontend/assets/sticker-Q5M0hcLB.js +0 -6
  3349. langflow/frontend/assets/sticky-note-C4QwXCe_.js +0 -6
  3350. langflow/frontend/assets/store-CJCVnYZH.js +0 -6
  3351. langflow/frontend/assets/stretch-horizontal-3ZhE2sCc.js +0 -6
  3352. langflow/frontend/assets/stretch-vertical-mf41Xa4e.js +0 -6
  3353. langflow/frontend/assets/strikethrough-yFT7jPwx.js +0 -6
  3354. langflow/frontend/assets/subscript-VCxtxqO7.js +0 -6
  3355. langflow/frontend/assets/sun-dim-4VSc0tI8.js +0 -6
  3356. langflow/frontend/assets/sun-medium-CJ4xVMuF.js +0 -6
  3357. langflow/frontend/assets/sun-moon-BO47Jkl4.js +0 -6
  3358. langflow/frontend/assets/sun-rRloNURd.js +0 -6
  3359. langflow/frontend/assets/sun-snow-BlSdUi7g.js +0 -6
  3360. langflow/frontend/assets/sunrise-sO4wXyPP.js +0 -6
  3361. langflow/frontend/assets/sunset-E9GFs51P.js +0 -6
  3362. langflow/frontend/assets/superscript-BWmyCaUT.js +0 -6
  3363. langflow/frontend/assets/swatch-book-BmWfAu49.js +0 -6
  3364. langflow/frontend/assets/swiss-franc-hV1KP_fg.js +0 -6
  3365. langflow/frontend/assets/switch-camera-BWkYvwXl.js +0 -6
  3366. langflow/frontend/assets/sword-BDSHehSN.js +0 -6
  3367. langflow/frontend/assets/swords-BRibwz0-.js +0 -6
  3368. langflow/frontend/assets/syringe-C7_FV9Po.js +0 -6
  3369. langflow/frontend/assets/table-2-CkYqc62r.js +0 -6
  3370. langflow/frontend/assets/table-CASDU2H0.js +0 -6
  3371. langflow/frontend/assets/table-cells-merge-DpXjO7d-.js +0 -6
  3372. langflow/frontend/assets/table-cells-split-aydpayp8.js +0 -6
  3373. langflow/frontend/assets/table-columns-split-B8VrYcuj.js +0 -6
  3374. langflow/frontend/assets/table-of-contents-oGuU6U6i.js +0 -6
  3375. langflow/frontend/assets/table-properties-DAgm8rqw.js +0 -6
  3376. langflow/frontend/assets/table-rows-split-BFIJj2J8.js +0 -6
  3377. langflow/frontend/assets/tablet-BliqtQBM.js +0 -6
  3378. langflow/frontend/assets/tablet-smartphone-CE2tqU0B.js +0 -6
  3379. langflow/frontend/assets/tablets-CswnoDNg.js +0 -6
  3380. langflow/frontend/assets/tag-BerZ0133.js +0 -6
  3381. langflow/frontend/assets/tags-DYlK_nbG.js +0 -6
  3382. langflow/frontend/assets/tally-1-IN24qgmu.js +0 -6
  3383. langflow/frontend/assets/tally-2-D02oV5rO.js +0 -6
  3384. langflow/frontend/assets/tally-3-DYlGnbrA.js +0 -6
  3385. langflow/frontend/assets/tally-4-D2KLKgKj.js +0 -6
  3386. langflow/frontend/assets/tally-5-Cd0kRXrn.js +0 -6
  3387. langflow/frontend/assets/tangent-G01MUkHP.js +0 -6
  3388. langflow/frontend/assets/target-DbUvoffS.js +0 -6
  3389. langflow/frontend/assets/telescope-KhvkA8ff.js +0 -6
  3390. langflow/frontend/assets/tent-BgTD0ty8.js +0 -6
  3391. langflow/frontend/assets/tent-tree-_R3-gT0M.js +0 -6
  3392. langflow/frontend/assets/terminal-CqO1pA0S.js +0 -6
  3393. langflow/frontend/assets/test-tube-Cosu5dmV.js +0 -6
  3394. langflow/frontend/assets/test-tube-diagonal-BdAA9XeL.js +0 -6
  3395. langflow/frontend/assets/test-tubes-Cd4n2GvV.js +0 -6
  3396. langflow/frontend/assets/text-B0Xnj4ft.js +0 -6
  3397. langflow/frontend/assets/text-cursor-Cy8p6TjV.js +0 -6
  3398. langflow/frontend/assets/text-cursor-input-DgOo4wY8.js +0 -6
  3399. langflow/frontend/assets/text-quote-C92ek5Lo.js +0 -6
  3400. langflow/frontend/assets/text-search-Cy6e1fBt.js +0 -6
  3401. langflow/frontend/assets/text-select-BdMHFJow.js +0 -6
  3402. langflow/frontend/assets/theater-DK0cChU_.js +0 -6
  3403. langflow/frontend/assets/thermometer-BcSnLB44.js +0 -6
  3404. langflow/frontend/assets/thermometer-snowflake-BFFQB-J0.js +0 -6
  3405. langflow/frontend/assets/thermometer-sun-By6M7z2S.js +0 -6
  3406. langflow/frontend/assets/thumbs-down-DpArakqZ.js +0 -6
  3407. langflow/frontend/assets/thumbs-up-OCTYaIsr.js +0 -6
  3408. langflow/frontend/assets/ticket-DKk9KFsa.js +0 -6
  3409. langflow/frontend/assets/ticket-check-CxlmH0TZ.js +0 -6
  3410. langflow/frontend/assets/ticket-minus-yYNVgAXv.js +0 -6
  3411. langflow/frontend/assets/ticket-percent-DTK_Eij8.js +0 -6
  3412. langflow/frontend/assets/ticket-plus-DZH6kdc0.js +0 -6
  3413. langflow/frontend/assets/ticket-slash-DaT9cJnH.js +0 -6
  3414. langflow/frontend/assets/ticket-x-C91cugzp.js +0 -6
  3415. langflow/frontend/assets/tickets-D8_swpjZ.js +0 -6
  3416. langflow/frontend/assets/tickets-plane-Bs7N6tut.js +0 -6
  3417. langflow/frontend/assets/timer-D1A5dgcp.js +0 -6
  3418. langflow/frontend/assets/timer-off-Bnj53uqH.js +0 -6
  3419. langflow/frontend/assets/timer-reset-CH2_6LXB.js +0 -6
  3420. langflow/frontend/assets/toggle-left-Bms5HJPp.js +0 -6
  3421. langflow/frontend/assets/toggle-right-Cm22-5tq.js +0 -6
  3422. langflow/frontend/assets/toilet-B_EZH3rv.js +0 -6
  3423. langflow/frontend/assets/tornado-DH7xrdf8.js +0 -6
  3424. langflow/frontend/assets/torus-CeDcEzNl.js +0 -6
  3425. langflow/frontend/assets/touchpad-BkFD1ONX.js +0 -6
  3426. langflow/frontend/assets/touchpad-off-B0uLi6UN.js +0 -6
  3427. langflow/frontend/assets/tower-control-vAS-GcnT.js +0 -6
  3428. langflow/frontend/assets/toy-brick-Cp_hT2tX.js +0 -6
  3429. langflow/frontend/assets/tractor-C6J-q888.js +0 -6
  3430. langflow/frontend/assets/traffic-cone-Bf6tu1aR.js +0 -6
  3431. langflow/frontend/assets/train-front-DFS_gdr7.js +0 -6
  3432. langflow/frontend/assets/train-front-tunnel-B_B45p2C.js +0 -6
  3433. langflow/frontend/assets/train-track-BYxDcy6T.js +0 -6
  3434. langflow/frontend/assets/tram-front-mrGC7NJo.js +0 -6
  3435. langflow/frontend/assets/transgender-imH1_ahf.js +0 -6
  3436. langflow/frontend/assets/trash-CLIJ7hzA.js +0 -6
  3437. langflow/frontend/assets/tree-deciduous-CcMF7uqB.js +0 -6
  3438. langflow/frontend/assets/tree-palm-Cz7loG-5.js +0 -6
  3439. langflow/frontend/assets/tree-pine-_KnmdDVv.js +0 -6
  3440. langflow/frontend/assets/trees-DcMR2K_M.js +0 -6
  3441. langflow/frontend/assets/trello-BNZfFWYi.js +0 -6
  3442. langflow/frontend/assets/trending-down-BWrM4zQ0.js +0 -6
  3443. langflow/frontend/assets/trending-up-BWgdc-K5.js +0 -6
  3444. langflow/frontend/assets/trending-up-down-DQhSV3Za.js +0 -6
  3445. langflow/frontend/assets/triangle-BQ6LFOFJ.js +0 -6
  3446. langflow/frontend/assets/triangle-alert-BdJuJY-l.js +0 -6
  3447. langflow/frontend/assets/triangle-dashed-Ch_AzxG9.js +0 -6
  3448. langflow/frontend/assets/triangle-right-DqHR4ZXG.js +0 -6
  3449. langflow/frontend/assets/trophy-eLjuXzFa.js +0 -6
  3450. langflow/frontend/assets/truck-DXuqRqEe.js +0 -6
  3451. langflow/frontend/assets/truck-electric-D3HyVQnU.js +0 -6
  3452. langflow/frontend/assets/turtle-BuFnjN3h.js +0 -6
  3453. langflow/frontend/assets/tv-BlUmv2d2.js +0 -6
  3454. langflow/frontend/assets/tv-minimal-CpWoecoV.js +0 -6
  3455. langflow/frontend/assets/tv-minimal-play-CPnVQl2f.js +0 -6
  3456. langflow/frontend/assets/twitch-BkdmleL2.js +0 -6
  3457. langflow/frontend/assets/twitter-05QHmZD0.js +0 -6
  3458. langflow/frontend/assets/type-DNr3dfa5.js +0 -6
  3459. langflow/frontend/assets/type-outline-CIrmdXWg.js +0 -6
  3460. langflow/frontend/assets/umbrella-BdhvIGDz.js +0 -6
  3461. langflow/frontend/assets/umbrella-off-BHSI8Bue.js +0 -6
  3462. langflow/frontend/assets/underline-BslkaCEJ.js +0 -6
  3463. langflow/frontend/assets/undo-2-BMx3oDcQ.js +0 -6
  3464. langflow/frontend/assets/undo-CH0IX0A-.js +0 -6
  3465. langflow/frontend/assets/undo-dot-B6yP9J8b.js +0 -6
  3466. langflow/frontend/assets/unfold-horizontal-qqXqOLiN.js +0 -6
  3467. langflow/frontend/assets/unfold-vertical-CLJkyOZ8.js +0 -6
  3468. langflow/frontend/assets/ungroup--gpU_yyB.js +0 -6
  3469. langflow/frontend/assets/university-DcMAR2QE.js +0 -6
  3470. langflow/frontend/assets/unlink-2-DgHQM-Ol.js +0 -6
  3471. langflow/frontend/assets/unlink-CFlKKKjg.js +0 -6
  3472. langflow/frontend/assets/unplug-t7thfy3A.js +0 -6
  3473. langflow/frontend/assets/upload-B47QANX4.js +0 -6
  3474. langflow/frontend/assets/usb-Bao-9jlF.js +0 -6
  3475. langflow/frontend/assets/use-post-add-user-DcUHAOql.js +0 -1
  3476. langflow/frontend/assets/user-Drfvifu4.js +0 -6
  3477. langflow/frontend/assets/user-check-Cl2Cugpa.js +0 -6
  3478. langflow/frontend/assets/user-cog-yKYAgaSS.js +0 -6
  3479. langflow/frontend/assets/user-lock-BspYeCuz.js +0 -6
  3480. langflow/frontend/assets/user-minus-AkYkI7UT.js +0 -6
  3481. langflow/frontend/assets/user-pen-nm0syYEm.js +0 -6
  3482. langflow/frontend/assets/user-plus-ClieQhai.js +0 -6
  3483. langflow/frontend/assets/user-round-DOm2Rvec.js +0 -6
  3484. langflow/frontend/assets/user-round-check-CkC7KhO_.js +0 -6
  3485. langflow/frontend/assets/user-round-cog-B40OFz4y.js +0 -6
  3486. langflow/frontend/assets/user-round-minus-DzKXVvj5.js +0 -6
  3487. langflow/frontend/assets/user-round-pen-B7Hx7T-z.js +0 -6
  3488. langflow/frontend/assets/user-round-plus-gPUNVs5p.js +0 -6
  3489. langflow/frontend/assets/user-round-search-BuCrN7rk.js +0 -6
  3490. langflow/frontend/assets/user-round-x-Clw_HKFu.js +0 -6
  3491. langflow/frontend/assets/user-search-7r9kPJdn.js +0 -6
  3492. langflow/frontend/assets/user-x-D-08UDtO.js +0 -6
  3493. langflow/frontend/assets/users-C4G9vyGr.js +0 -6
  3494. langflow/frontend/assets/users-round-C3zj8mhR.js +0 -6
  3495. langflow/frontend/assets/utensils-BVhMMIp4.js +0 -6
  3496. langflow/frontend/assets/utensils-crossed-DwXOXddJ.js +0 -6
  3497. langflow/frontend/assets/utility-pole-CPmMsN8O.js +0 -6
  3498. langflow/frontend/assets/variable-ihOqLInK.js +0 -6
  3499. langflow/frontend/assets/vault-BL-zlOyC.js +0 -6
  3500. langflow/frontend/assets/vegan-HSv936HT.js +0 -6
  3501. langflow/frontend/assets/venetian-mask-CPF9ez22.js +0 -6
  3502. langflow/frontend/assets/venus-WD9kncdm.js +0 -6
  3503. langflow/frontend/assets/venus-and-mars-DJuedjXD.js +0 -6
  3504. langflow/frontend/assets/vibrate-BlIj-Jgh.js +0 -6
  3505. langflow/frontend/assets/vibrate-off-Bs5X_4sP.js +0 -6
  3506. langflow/frontend/assets/video-Cp1GFFC_.js +0 -6
  3507. langflow/frontend/assets/video-off-BYJF_42a.js +0 -6
  3508. langflow/frontend/assets/videotape-CuedGIlK.js +0 -6
  3509. langflow/frontend/assets/view-uwAlPOmt.js +0 -6
  3510. langflow/frontend/assets/voicemail-IRTIXCuv.js +0 -6
  3511. langflow/frontend/assets/volleyball-Dm8hJeFi.js +0 -6
  3512. langflow/frontend/assets/volume-1-B7dG7AaQ.js +0 -6
  3513. langflow/frontend/assets/volume-1UMvsCQJ.js +0 -6
  3514. langflow/frontend/assets/volume-2-Dbb7rUtl.js +0 -6
  3515. langflow/frontend/assets/volume-off-kXe4C-Hg.js +0 -6
  3516. langflow/frontend/assets/volume-x-Bd5C5IxT.js +0 -6
  3517. langflow/frontend/assets/vote-CBtMBPq5.js +0 -6
  3518. langflow/frontend/assets/wallet-D8Q8uawC.js +0 -6
  3519. langflow/frontend/assets/wallet-cards-_GGB7vF_.js +0 -6
  3520. langflow/frontend/assets/wallet-minimal-CucBi0Jd.js +0 -6
  3521. langflow/frontend/assets/wallpaper-C_9hKf-n.js +0 -6
  3522. langflow/frontend/assets/wand-DPL3CBte.js +0 -6
  3523. langflow/frontend/assets/wand-sparkles-Cl_E8IQM.js +0 -6
  3524. langflow/frontend/assets/warehouse-si5e0uad.js +0 -6
  3525. langflow/frontend/assets/washing-machine-DAoYXz8S.js +0 -6
  3526. langflow/frontend/assets/watch-vHRKFSRo.js +0 -6
  3527. langflow/frontend/assets/waves-DIE8r4QU.js +0 -6
  3528. langflow/frontend/assets/waves-ladder-DmCrSafi.js +0 -6
  3529. langflow/frontend/assets/waypoints-BxAb3sb6.js +0 -6
  3530. langflow/frontend/assets/webcam-DXKnwxjx.js +0 -6
  3531. langflow/frontend/assets/webhook-DIcfjt0z.js +0 -6
  3532. langflow/frontend/assets/webhook-off-Cizw6u19.js +0 -6
  3533. langflow/frontend/assets/weight-C8waPDsY.js +0 -6
  3534. langflow/frontend/assets/wheat-DjhsGbzN.js +0 -6
  3535. langflow/frontend/assets/wheat-off-D159TbMR.js +0 -6
  3536. langflow/frontend/assets/whole-word-BWpJx-dg.js +0 -6
  3537. langflow/frontend/assets/wifi-Bvv6U9Hi.js +0 -6
  3538. langflow/frontend/assets/wifi-high-Ct1ZekJ4.js +0 -6
  3539. langflow/frontend/assets/wifi-low-BfylmAcn.js +0 -6
  3540. langflow/frontend/assets/wifi-off-BD5Wk1pw.js +0 -6
  3541. langflow/frontend/assets/wifi-pen-Bxkh4qXC.js +0 -6
  3542. langflow/frontend/assets/wifi-zero-CqfrN4bl.js +0 -6
  3543. langflow/frontend/assets/wind-D6hRFy66.js +0 -6
  3544. langflow/frontend/assets/wind-arrow-down-DGVpj5j-.js +0 -6
  3545. langflow/frontend/assets/wine-Dbt_7b9f.js +0 -6
  3546. langflow/frontend/assets/wine-off-BuB0kkR9.js +0 -6
  3547. langflow/frontend/assets/workflow-Cfb_GZf0.js +0 -6
  3548. langflow/frontend/assets/worm-B7O5ml_A.js +0 -6
  3549. langflow/frontend/assets/wrap-text-Pa-62zfV.js +0 -6
  3550. langflow/frontend/assets/wrench-BIR5N1wl.js +0 -6
  3551. langflow/frontend/assets/youtube-DvEYbar7.js +0 -6
  3552. langflow/frontend/assets/zap-B7FF_DHv.js +0 -6
  3553. langflow/frontend/assets/zap-off-ZtPxT6cL.js +0 -6
  3554. langflow/frontend/assets/zoom-in-B0wOuivz.js +0 -6
  3555. langflow/frontend/assets/zoom-out-DEmL9kzZ.js +0 -6
  3556. langflow_base_nightly-1.7.0.dev57.dist-info/METADATA +0 -99
  3557. langflow_base_nightly-1.7.0.dev57.dist-info/RECORD +0 -2283
  3558. {langflow_base_nightly-1.7.0.dev57.dist-info → langflow_base_nightly-1.7.1.dev0.dist-info}/WHEEL +0 -0
  3559. {langflow_base_nightly-1.7.0.dev57.dist-info → langflow_base_nightly-1.7.1.dev0.dist-info}/entry_points.txt +0 -0
@@ -7,7 +7,7 @@
7
7
  "data": {
8
8
  "sourceHandle": {
9
9
  "dataType": "ChatInput",
10
- "id": "ChatInput-8l9oz",
10
+ "id": "ChatInput-bK5uZ",
11
11
  "name": "message",
12
12
  "output_types": [
13
13
  "Message"
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "targetHandle": {
17
17
  "fieldName": "question",
18
- "id": "Prompt-ML5XQ",
18
+ "id": "Prompt-zBlCK",
19
19
  "inputTypes": [
20
20
  "Message",
21
21
  "Text"
@@ -23,12 +23,12 @@
23
23
  "type": "str"
24
24
  }
25
25
  },
26
- "id": "reactflow__edge-ChatInput-8l9oz{œdataTypeœ:œChatInputœ,œidœ:œChatInput-8l9ozœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-ML5XQ{œfieldNameœ:œquestionœ,œidœ:œPrompt-ML5XQœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}",
26
+ "id": "reactflow__edge-ChatInput-bK5uZ{œdataTypeœ:œChatInputœ,œidœ:œChatInput-bK5uZœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-Prompt-zBlCK{œfieldNameœ:œquestionœ,œidœ:œPrompt-zBlCKœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}",
27
27
  "selected": false,
28
- "source": "ChatInput-8l9oz",
29
- "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-8l9ozœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}",
30
- "target": "Prompt-ML5XQ",
31
- "targetHandle": "{œfieldNameœ: œquestionœ, œidœ: œPrompt-ML5XQœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}"
28
+ "source": "ChatInput-bK5uZ",
29
+ "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-bK5uZœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}",
30
+ "target": "Prompt-zBlCK",
31
+ "targetHandle": "{œfieldNameœ: œquestionœ, œidœ: œPrompt-zBlCKœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}"
32
32
  },
33
33
  {
34
34
  "animated": false,
@@ -36,7 +36,7 @@
36
36
  "data": {
37
37
  "sourceHandle": {
38
38
  "dataType": "parser",
39
- "id": "parser-oHf4E",
39
+ "id": "parser-brnh5",
40
40
  "name": "parsed_text",
41
41
  "output_types": [
42
42
  "Message"
@@ -44,7 +44,7 @@
44
44
  },
45
45
  "targetHandle": {
46
46
  "fieldName": "context",
47
- "id": "Prompt-ML5XQ",
47
+ "id": "Prompt-zBlCK",
48
48
  "inputTypes": [
49
49
  "Message",
50
50
  "Text"
@@ -52,42 +52,12 @@
52
52
  "type": "str"
53
53
  }
54
54
  },
55
- "id": "reactflow__edge-parser-oHf4E{œdataTypeœ:œparserœ,œidœ:œparser-oHf4Eœ,œnameœ:œparsed_textœ,œoutput_typesœ:[œMessageœ]}-Prompt-ML5XQ{œfieldNameœ:œcontextœ,œidœ:œPrompt-ML5XQœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}",
55
+ "id": "reactflow__edge-parser-brnh5{œdataTypeœ:œparserœ,œidœ:œparser-brnh5œ,œnameœ:œparsed_textœ,œoutput_typesœ:[œMessageœ]}-Prompt-zBlCK{œfieldNameœ:œcontextœ,œidœ:œPrompt-zBlCKœ,œinputTypesœ:[œMessageœ,œTextœ],œtypeœ:œstrœ}",
56
56
  "selected": false,
57
- "source": "parser-oHf4E",
58
- "sourceHandle": "{œdataTypeœ: œparserœ, œidœ: œparser-oHf4Eœ, œnameœ: œparsed_textœ, œoutput_typesœ: [œMessageœ]}",
59
- "target": "Prompt-ML5XQ",
60
- "targetHandle": "{œfieldNameœ: œcontextœ, œidœ: œPrompt-ML5XQœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}"
61
- },
62
- {
63
- "animated": false,
64
- "className": "",
65
- "data": {
66
- "sourceHandle": {
67
- "dataType": "File",
68
- "id": "File-7D3hP",
69
- "name": "message",
70
- "output_types": [
71
- "Message"
72
- ]
73
- },
74
- "targetHandle": {
75
- "fieldName": "data_inputs",
76
- "id": "SplitText-4s7Dt",
77
- "inputTypes": [
78
- "Data",
79
- "DataFrame",
80
- "Message"
81
- ],
82
- "type": "other"
83
- }
84
- },
85
- "id": "reactflow__edge-File-7D3hP{œdataTypeœ:œFileœ,œidœ:œFile-7D3hPœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-SplitText-4s7Dt{œfieldNameœ:œdata_inputsœ,œidœ:œSplitText-4s7Dtœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}",
86
- "selected": false,
87
- "source": "File-7D3hP",
88
- "sourceHandle": "{œdataTypeœ: œFileœ, œidœ: œFile-7D3hPœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}",
89
- "target": "SplitText-4s7Dt",
90
- "targetHandle": "{œfieldNameœ: œdata_inputsœ, œidœ: œSplitText-4s7Dtœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œotherœ}"
57
+ "source": "parser-brnh5",
58
+ "sourceHandle": "{œdataTypeœ: œparserœ, œidœ: œparser-brnh5œ, œnameœ: œparsed_textœ, œoutput_typesœ: [œMessageœ]}",
59
+ "target": "Prompt-zBlCK",
60
+ "targetHandle": "{œfieldNameœ: œcontextœ, œidœ: œPrompt-zBlCKœ, œinputTypesœ: [œMessageœ, œTextœ], œtypeœ: œstrœ}"
91
61
  },
92
62
  {
93
63
  "animated": false,
@@ -95,7 +65,7 @@
95
65
  "data": {
96
66
  "sourceHandle": {
97
67
  "dataType": "Prompt",
98
- "id": "Prompt-ML5XQ",
68
+ "id": "Prompt-zBlCK",
99
69
  "name": "prompt",
100
70
  "output_types": [
101
71
  "Message"
@@ -103,19 +73,19 @@
103
73
  },
104
74
  "targetHandle": {
105
75
  "fieldName": "input_value",
106
- "id": "LanguageModelComponent-Wqbva",
76
+ "id": "LanguageModelComponent-rL7g3",
107
77
  "inputTypes": [
108
78
  "Message"
109
79
  ],
110
80
  "type": "str"
111
81
  }
112
82
  },
113
- "id": "reactflow__edge-Prompt-ML5XQ{œdataTypeœ:œPromptœ,œidœ:œPrompt-ML5XQœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-LanguageModelComponent-Wqbva{œfieldNameœ:œinput_valueœ,œidœ:œLanguageModelComponent-Wqbvaœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}",
83
+ "id": "reactflow__edge-Prompt-zBlCK{œdataTypeœ:œPromptœ,œidœ:œPrompt-zBlCKœ,œnameœ:œpromptœ,œoutput_typesœ:[œMessageœ]}-LanguageModelComponent-rL7g3{œfieldNameœ:œinput_valueœ,œidœ:œLanguageModelComponent-rL7g3œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}",
114
84
  "selected": false,
115
- "source": "Prompt-ML5XQ",
116
- "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-ML5XQœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}",
117
- "target": "LanguageModelComponent-Wqbva",
118
- "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œLanguageModelComponent-Wqbvaœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}"
85
+ "source": "Prompt-zBlCK",
86
+ "sourceHandle": "{œdataTypeœ: œPromptœ, œidœ: œPrompt-zBlCKœ, œnameœ: œpromptœ, œoutput_typesœ: [œMessageœ]}",
87
+ "target": "LanguageModelComponent-rL7g3",
88
+ "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œLanguageModelComponent-rL7g3œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}"
119
89
  },
120
90
  {
121
91
  "animated": false,
@@ -123,7 +93,7 @@
123
93
  "data": {
124
94
  "sourceHandle": {
125
95
  "dataType": "LanguageModelComponent",
126
- "id": "LanguageModelComponent-Wqbva",
96
+ "id": "LanguageModelComponent-rL7g3",
127
97
  "name": "text_output",
128
98
  "output_types": [
129
99
  "Message"
@@ -131,7 +101,7 @@
131
101
  },
132
102
  "targetHandle": {
133
103
  "fieldName": "input_value",
134
- "id": "ChatOutput-g0Phk",
104
+ "id": "ChatOutput-G4VgE",
135
105
  "inputTypes": [
136
106
  "Data",
137
107
  "DataFrame",
@@ -140,12 +110,12 @@
140
110
  "type": "str"
141
111
  }
142
112
  },
143
- "id": "reactflow__edge-LanguageModelComponent-Wqbva{œdataTypeœ:œLanguageModelComponentœ,œidœ:œLanguageModelComponent-Wqbvaœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-g0Phk{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-g0Phkœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}",
113
+ "id": "reactflow__edge-LanguageModelComponent-rL7g3{œdataTypeœ:œLanguageModelComponentœ,œidœ:œLanguageModelComponent-rL7g3œ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-G4VgE{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-G4VgEœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}",
144
114
  "selected": false,
145
- "source": "LanguageModelComponent-Wqbva",
146
- "sourceHandle": "{œdataTypeœ: œLanguageModelComponentœ, œidœ: œLanguageModelComponent-Wqbvaœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}",
147
- "target": "ChatOutput-g0Phk",
148
- "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-g0Phkœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}"
115
+ "source": "LanguageModelComponent-rL7g3",
116
+ "sourceHandle": "{œdataTypeœ: œLanguageModelComponentœ, œidœ: œLanguageModelComponent-rL7g3œ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}",
117
+ "target": "ChatOutput-G4VgE",
118
+ "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-G4VgEœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}"
149
119
  },
150
120
  {
151
121
  "animated": false,
@@ -153,7 +123,7 @@
153
123
  "data": {
154
124
  "sourceHandle": {
155
125
  "dataType": "SplitText",
156
- "id": "SplitText-4s7Dt",
126
+ "id": "SplitText-1fBfh",
157
127
  "name": "dataframe",
158
128
  "output_types": [
159
129
  "DataFrame"
@@ -161,7 +131,7 @@
161
131
  },
162
132
  "targetHandle": {
163
133
  "fieldName": "ingest_data",
164
- "id": "AstraDB-TCSqR",
134
+ "id": "AstraDB-ECtXX",
165
135
  "inputTypes": [
166
136
  "Data",
167
137
  "DataFrame"
@@ -169,12 +139,12 @@
169
139
  "type": "other"
170
140
  }
171
141
  },
172
- "id": "reactflow__edge-SplitText-4s7Dt{œdataTypeœ:œSplitTextœ,œidœ:œSplitText-4s7Dtœ,œnameœ:œdataframeœ,œoutput_typesœ:[œDataFrameœ]}-AstraDB-TCSqR{œfieldNameœ:œingest_dataœ,œidœ:œAstraDB-TCSqRœ,œinputTypesœ:[œDataœ,œDataFrameœ],œtypeœ:œotherœ}",
142
+ "id": "reactflow__edge-SplitText-1fBfh{œdataTypeœ:œSplitTextœ,œidœ:œSplitText-1fBfhœ,œnameœ:œdataframeœ,œoutput_typesœ:[œDataFrameœ]}-AstraDB-ECtXX{œfieldNameœ:œingest_dataœ,œidœ:œAstraDB-ECtXXœ,œinputTypesœ:[œDataœ,œDataFrameœ],œtypeœ:œotherœ}",
173
143
  "selected": false,
174
- "source": "SplitText-4s7Dt",
175
- "sourceHandle": "{œdataTypeœ: œSplitTextœ, œidœ: œSplitText-4s7Dtœ, œnameœ: œdataframeœ, œoutput_typesœ: [œDataFrameœ]}",
176
- "target": "AstraDB-TCSqR",
177
- "targetHandle": "{œfieldNameœ: œingest_dataœ, œidœ: œAstraDB-TCSqRœ, œinputTypesœ: [œDataœ, œDataFrameœ], œtypeœ: œotherœ}"
144
+ "source": "SplitText-1fBfh",
145
+ "sourceHandle": "{œdataTypeœ: œSplitTextœ, œidœ: œSplitText-1fBfhœ, œnameœ: œdataframeœ, œoutput_typesœ: [œDataFrameœ]}",
146
+ "target": "AstraDB-ECtXX",
147
+ "targetHandle": "{œfieldNameœ: œingest_dataœ, œidœ: œAstraDB-ECtXXœ, œinputTypesœ: [œDataœ, œDataFrameœ], œtypeœ: œotherœ}"
178
148
  },
179
149
  {
180
150
  "animated": false,
@@ -182,7 +152,7 @@
182
152
  "data": {
183
153
  "sourceHandle": {
184
154
  "dataType": "ChatInput",
185
- "id": "ChatInput-8l9oz",
155
+ "id": "ChatInput-bK5uZ",
186
156
  "name": "message",
187
157
  "output_types": [
188
158
  "Message"
@@ -190,19 +160,19 @@
190
160
  },
191
161
  "targetHandle": {
192
162
  "fieldName": "search_query",
193
- "id": "AstraDB-BteL9",
163
+ "id": "AstraDB-RaUqw",
194
164
  "inputTypes": [
195
165
  "Message"
196
166
  ],
197
167
  "type": "query"
198
168
  }
199
169
  },
200
- "id": "reactflow__edge-ChatInput-8l9oz{œdataTypeœ:œChatInputœ,œidœ:œChatInput-8l9ozœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-AstraDB-BteL9{œfieldNameœ:œsearch_queryœ,œidœ:œAstraDB-BteL9œ,œinputTypesœ:[œMessageœ],œtypeœ:œqueryœ}",
170
+ "id": "reactflow__edge-ChatInput-bK5uZ{œdataTypeœ:œChatInputœ,œidœ:œChatInput-bK5uZœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-AstraDB-RaUqw{œfieldNameœ:œsearch_queryœ,œidœ:œAstraDB-RaUqwœ,œinputTypesœ:[œMessageœ],œtypeœ:œqueryœ}",
201
171
  "selected": false,
202
- "source": "ChatInput-8l9oz",
203
- "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-8l9ozœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}",
204
- "target": "AstraDB-BteL9",
205
- "targetHandle": "{œfieldNameœ: œsearch_queryœ, œidœ: œAstraDB-BteL9œ, œinputTypesœ: [œMessageœ], œtypeœ: œqueryœ}"
172
+ "source": "ChatInput-bK5uZ",
173
+ "sourceHandle": "{œdataTypeœ: œChatInputœ, œidœ: œChatInput-bK5uZœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}",
174
+ "target": "AstraDB-RaUqw",
175
+ "targetHandle": "{œfieldNameœ: œsearch_queryœ, œidœ: œAstraDB-RaUqwœ, œinputTypesœ: [œMessageœ], œtypeœ: œqueryœ}"
206
176
  },
207
177
  {
208
178
  "animated": false,
@@ -210,7 +180,7 @@
210
180
  "data": {
211
181
  "sourceHandle": {
212
182
  "dataType": "AstraDB",
213
- "id": "AstraDB-BteL9",
183
+ "id": "AstraDB-RaUqw",
214
184
  "name": "dataframe",
215
185
  "output_types": [
216
186
  "DataFrame"
@@ -218,7 +188,7 @@
218
188
  },
219
189
  "targetHandle": {
220
190
  "fieldName": "input_data",
221
- "id": "parser-oHf4E",
191
+ "id": "parser-brnh5",
222
192
  "inputTypes": [
223
193
  "DataFrame",
224
194
  "Data"
@@ -226,12 +196,12 @@
226
196
  "type": "other"
227
197
  }
228
198
  },
229
- "id": "reactflow__edge-AstraDB-BteL9{œdataTypeœ:œAstraDBœ,œidœ:œAstraDB-BteL9œ,œnameœ:œdataframeœ,œoutput_typesœ:[œDataFrameœ]}-parser-oHf4E{œfieldNameœ:œinput_dataœ,œidœ:œparser-oHf4Eœ,œinputTypesœ:[œDataFrameœ,œDataœ],œtypeœ:œotherœ}",
199
+ "id": "reactflow__edge-AstraDB-RaUqw{œdataTypeœ:œAstraDBœ,œidœ:œAstraDB-RaUqwœ,œnameœ:œdataframeœ,œoutput_typesœ:[œDataFrameœ]}-parser-brnh5{œfieldNameœ:œinput_dataœ,œidœ:œparser-brnh5œ,œinputTypesœ:[œDataFrameœ,œDataœ],œtypeœ:œotherœ}",
230
200
  "selected": false,
231
- "source": "AstraDB-BteL9",
232
- "sourceHandle": "{œdataTypeœ: œAstraDBœ, œidœ: œAstraDB-BteL9œ, œnameœ: œdataframeœ, œoutput_typesœ: [œDataFrameœ]}",
233
- "target": "parser-oHf4E",
234
- "targetHandle": "{œfieldNameœ: œinput_dataœ, œidœ: œparser-oHf4Eœ, œinputTypesœ: [œDataFrameœ, œDataœ], œtypeœ: œotherœ}"
201
+ "source": "AstraDB-RaUqw",
202
+ "sourceHandle": "{œdataTypeœ: œAstraDBœ, œidœ: œAstraDB-RaUqwœ, œnameœ: œdataframeœ, œoutput_typesœ: [œDataFrameœ]}",
203
+ "target": "parser-brnh5",
204
+ "targetHandle": "{œfieldNameœ: œinput_dataœ, œidœ: œparser-brnh5œ, œinputTypesœ: [œDataFrameœ, œDataœ], œtypeœ: œotherœ}"
235
205
  },
236
206
  {
237
207
  "animated": false,
@@ -239,7 +209,7 @@
239
209
  "data": {
240
210
  "sourceHandle": {
241
211
  "dataType": "OpenAIEmbeddings",
242
- "id": "OpenAIEmbeddings-U8tZg",
212
+ "id": "OpenAIEmbeddings-CYjxN",
243
213
  "name": "embeddings",
244
214
  "output_types": [
245
215
  "Embeddings"
@@ -247,26 +217,27 @@
247
217
  },
248
218
  "targetHandle": {
249
219
  "fieldName": "embedding_model",
250
- "id": "AstraDB-TCSqR",
220
+ "id": "AstraDB-ECtXX",
251
221
  "inputTypes": [
252
222
  "Embeddings"
253
223
  ],
254
224
  "type": "other"
255
225
  }
256
226
  },
257
- "id": "xy-edge__OpenAIEmbeddings-U8tZg{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-U8tZgœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDB-TCSqR{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDB-TCSqRœ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}",
227
+ "id": "reactflow__edge-OpenAIEmbeddings-CYjxN{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-CYjxNœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDB-ECtXX{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDB-ECtXXœ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}",
258
228
  "selected": false,
259
- "source": "OpenAIEmbeddings-U8tZg",
260
- "sourceHandle": "{œdataTypeœ: œOpenAIEmbeddingsœ, œidœ: œOpenAIEmbeddings-U8tZgœ, œnameœ: œembeddingsœ, œoutput_typesœ: [œEmbeddingsœ]}",
261
- "target": "AstraDB-TCSqR",
262
- "targetHandle": "{œfieldNameœ: œembedding_modelœ, œidœ: œAstraDB-TCSqRœ, œinputTypesœ: [œEmbeddingsœ], œtypeœ: œotherœ}"
229
+ "source": "OpenAIEmbeddings-CYjxN",
230
+ "sourceHandle": "{œdataTypeœ: œOpenAIEmbeddingsœ, œidœ: œOpenAIEmbeddings-CYjxNœ, œnameœ: œembeddingsœ, œoutput_typesœ: [œEmbeddingsœ]}",
231
+ "target": "AstraDB-ECtXX",
232
+ "targetHandle": "{œfieldNameœ: œembedding_modelœ, œidœ: œAstraDB-ECtXXœ, œinputTypesœ: [œEmbeddingsœ], œtypeœ: œotherœ}"
263
233
  },
264
234
  {
235
+ "animated": false,
265
236
  "className": "",
266
237
  "data": {
267
238
  "sourceHandle": {
268
239
  "dataType": "OpenAIEmbeddings",
269
- "id": "OpenAIEmbeddings-jsaKm",
240
+ "id": "OpenAIEmbeddings-m4ukj",
270
241
  "name": "embeddings",
271
242
  "output_types": [
272
243
  "Embeddings"
@@ -274,18 +245,49 @@
274
245
  },
275
246
  "targetHandle": {
276
247
  "fieldName": "embedding_model",
277
- "id": "AstraDB-BteL9",
248
+ "id": "AstraDB-RaUqw",
278
249
  "inputTypes": [
279
250
  "Embeddings"
280
251
  ],
281
252
  "type": "other"
282
253
  }
283
254
  },
284
- "id": "xy-edge__OpenAIEmbeddings-jsaKm{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-jsaKmœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDB-BteL9{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDB-BteL9œ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}",
285
- "source": "OpenAIEmbeddings-jsaKm",
286
- "sourceHandle": "{œdataTypeœ: œOpenAIEmbeddingsœ, œidœ: œOpenAIEmbeddings-jsaKmœ, œnameœ: œembeddingsœ, œoutput_typesœ: [œEmbeddingsœ]}",
287
- "target": "AstraDB-BteL9",
288
- "targetHandle": "{œfieldNameœ: œembedding_modelœ, œidœ: œAstraDB-BteL9œ, œinputTypesœ: [œEmbeddingsœ], œtypeœ: œotherœ}"
255
+ "id": "reactflow__edge-OpenAIEmbeddings-m4ukj{œdataTypeœ:œOpenAIEmbeddingsœ,œidœ:œOpenAIEmbeddings-m4ukjœ,œnameœ:œembeddingsœ,œoutput_typesœ:[œEmbeddingsœ]}-AstraDB-RaUqw{œfieldNameœ:œembedding_modelœ,œidœ:œAstraDB-RaUqwœ,œinputTypesœ:[œEmbeddingsœ],œtypeœ:œotherœ}",
256
+ "selected": false,
257
+ "source": "OpenAIEmbeddings-m4ukj",
258
+ "sourceHandle": "{œdataTypeœ: œOpenAIEmbeddingsœ, œidœ: œOpenAIEmbeddings-m4ukjœ, œnameœ: œembeddingsœ, œoutput_typesœ: [œEmbeddingsœ]}",
259
+ "target": "AstraDB-RaUqw",
260
+ "targetHandle": "{œfieldNameœ: œembedding_modelœ, œidœ: œAstraDB-RaUqwœ, œinputTypesœ: [œEmbeddingsœ], œtypeœ: œotherœ}"
261
+ },
262
+ {
263
+ "animated": false,
264
+ "className": "",
265
+ "data": {
266
+ "sourceHandle": {
267
+ "dataType": "File",
268
+ "id": "File-CxEQk",
269
+ "name": "message",
270
+ "output_types": [
271
+ "Message"
272
+ ]
273
+ },
274
+ "targetHandle": {
275
+ "fieldName": "data_inputs",
276
+ "id": "SplitText-1fBfh",
277
+ "inputTypes": [
278
+ "Data",
279
+ "DataFrame",
280
+ "Message"
281
+ ],
282
+ "type": "other"
283
+ }
284
+ },
285
+ "id": "reactflow__edge-File-CxEQk{œdataTypeœ:œFileœ,œidœ:œFile-CxEQkœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-SplitText-1fBfh{œfieldNameœ:œdata_inputsœ,œidœ:œSplitText-1fBfhœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œotherœ}",
286
+ "selected": false,
287
+ "source": "File-CxEQk",
288
+ "sourceHandle": "{œdataTypeœ: œFileœ, œidœ: œFile-CxEQkœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}",
289
+ "target": "SplitText-1fBfh",
290
+ "targetHandle": "{œfieldNameœ: œdata_inputsœ, œidœ: œSplitText-1fBfhœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œotherœ}"
289
291
  }
290
292
  ],
291
293
  "nodes": [
@@ -293,7 +295,7 @@
293
295
  "data": {
294
296
  "description": "Get chat inputs from the Playground.",
295
297
  "display_name": "Chat Input",
296
- "id": "ChatInput-8l9oz",
298
+ "id": "ChatInput-bK5uZ",
297
299
  "node": {
298
300
  "base_classes": [
299
301
  "Message"
@@ -531,9 +533,9 @@
531
533
  "type": "ChatInput"
532
534
  },
533
535
  "dragging": false,
534
- "id": "ChatInput-8l9oz",
536
+ "id": "ChatInput-bK5uZ",
535
537
  "measured": {
536
- "height": 234,
538
+ "height": 204,
537
539
  "width": 320
538
540
  },
539
541
  "position": {
@@ -551,7 +553,7 @@
551
553
  "data": {
552
554
  "description": "Create a prompt template with dynamic variables.",
553
555
  "display_name": "Prompt",
554
- "id": "Prompt-ML5XQ",
556
+ "id": "Prompt-zBlCK",
555
557
  "node": {
556
558
  "base_classes": [
557
559
  "Message"
@@ -714,9 +716,9 @@
714
716
  "type": "Prompt"
715
717
  },
716
718
  "dragging": false,
717
- "id": "Prompt-ML5XQ",
719
+ "id": "Prompt-zBlCK",
718
720
  "measured": {
719
- "height": 433,
721
+ "height": 449,
720
722
  "width": 320
721
723
  },
722
724
  "position": {
@@ -734,7 +736,7 @@
734
736
  "data": {
735
737
  "description": "Split text into chunks based on specified criteria.",
736
738
  "display_name": "Split Text",
737
- "id": "SplitText-4s7Dt",
739
+ "id": "SplitText-1fBfh",
738
740
  "node": {
739
741
  "base_classes": [
740
742
  "Data"
@@ -935,9 +937,9 @@
935
937
  "type": "SplitText"
936
938
  },
937
939
  "dragging": false,
938
- "id": "SplitText-4s7Dt",
940
+ "id": "SplitText-1fBfh",
939
941
  "measured": {
940
- "height": 475,
942
+ "height": 413,
941
943
  "width": 320
942
944
  },
943
945
  "position": {
@@ -953,7 +955,7 @@
953
955
  },
954
956
  {
955
957
  "data": {
956
- "id": "note-PMpi6",
958
+ "id": "note-TwiPL",
957
959
  "node": {
958
960
  "description": "## 🐕 2. Retriever Flow\n\nThis flow answers your questions with contextual data retrieved from your vector database.\n\nOpen the **Playground** and ask, \n\n```\nWhat is this document about?\n```\n",
959
961
  "display_name": "",
@@ -966,7 +968,7 @@
966
968
  },
967
969
  "dragging": false,
968
970
  "height": 324,
969
- "id": "note-PMpi6",
971
+ "id": "note-TwiPL",
970
972
  "measured": {
971
973
  "height": 324,
972
974
  "width": 324
@@ -990,7 +992,7 @@
990
992
  },
991
993
  {
992
994
  "data": {
993
- "id": "note-WvtH0",
995
+ "id": "note-67DoI",
994
996
  "node": {
995
997
  "description": "Retrieval Augmented Generation (RAG) is a way of providing additional context to a Large Language Model (LLM) by preloading a vector database with embeddings for relevant content. When a user chats with the LLM, a _similarity search_ retrieves relevant content by comparing an embedding for the user's query against the embeddings in the vector database.\nFor example, a RAG chatbot could be pre-loaded with product data, and then it can help customers find specific products based on their queries.\nThis template has two sub-flows. One flow loads data into your vector store, and the other is the user-driven chat flow that compares a new query against the existing content in your vector database.\n\n## Quickstart\n1. Add your OpenAI API key to the **Language Model** component and the two **Embeddings** components.\n2. Add an Astra application token to the **Astra DB** vector store components, or replace these components with other vector store components available in the **Components** menu.\n**💡 Store your credentials as Langflow global variables 🌐 to simplify token management and reuse in your flows.**\n\n## Run the flows\n1. Load your data into a vector database with the 📚 **Load Data** flow. Select a file to upload in the **File** component, and then click **Play** ▶️ on the **Astra DB** component to run the **Load Data** flow.\n2. Open the **Playground** to start a chat with the 🐕 **Retriever** flow.\n\nOnly the run the **Load Data** flow when you need to populate your vector database with baseline content, such as product data.\nThe **Retriever** flow is the user-facing chat flow. This flow generates an embedding from chat input, runs a similarity search against the vector database to retrieve relevant content, and then passes the original query and the retrieved content to the LLM, which produces the chat response sent to the user.\n\n## Next steps\nExperiment by changing the prompt and the loaded data to see how the LLM's responses change.",
996
998
  "display_name": "Read Me",
@@ -1003,7 +1005,7 @@
1003
1005
  },
1004
1006
  "dragging": false,
1005
1007
  "height": 556,
1006
- "id": "note-WvtH0",
1008
+ "id": "note-67DoI",
1007
1009
  "measured": {
1008
1010
  "height": 556,
1009
1011
  "width": 389
@@ -1029,7 +1031,7 @@
1029
1031
  "data": {
1030
1032
  "description": "Display a chat message in the Playground.",
1031
1033
  "display_name": "Chat Output",
1032
- "id": "ChatOutput-g0Phk",
1034
+ "id": "ChatOutput-G4VgE",
1033
1035
  "node": {
1034
1036
  "base_classes": [
1035
1037
  "Message"
@@ -1288,9 +1290,9 @@
1288
1290
  "type": "ChatOutput"
1289
1291
  },
1290
1292
  "dragging": false,
1291
- "id": "ChatOutput-g0Phk",
1293
+ "id": "ChatOutput-G4VgE",
1292
1294
  "measured": {
1293
- "height": 234,
1295
+ "height": 204,
1294
1296
  "width": 320
1295
1297
  },
1296
1298
  "position": {
@@ -1306,7 +1308,7 @@
1306
1308
  },
1307
1309
  {
1308
1310
  "data": {
1309
- "id": "OpenAIEmbeddings-jsaKm",
1311
+ "id": "OpenAIEmbeddings-m4ukj",
1310
1312
  "node": {
1311
1313
  "base_classes": [
1312
1314
  "Embeddings"
@@ -1607,7 +1609,7 @@
1607
1609
  "dynamic": false,
1608
1610
  "info": "",
1609
1611
  "input_types": [],
1610
- "load_from_db": true,
1612
+ "load_from_db": false,
1611
1613
  "name": "openai_api_key",
1612
1614
  "password": true,
1613
1615
  "placeholder": "",
@@ -1615,7 +1617,7 @@
1615
1617
  "show": true,
1616
1618
  "title_case": false,
1617
1619
  "type": "str",
1618
- "value": "OPENAI_API_KEY"
1620
+ "value": ""
1619
1621
  },
1620
1622
  "openai_api_type": {
1621
1623
  "_input_type": "MessageTextInput",
@@ -1798,9 +1800,9 @@
1798
1800
  "type": "OpenAIEmbeddings"
1799
1801
  },
1800
1802
  "dragging": false,
1801
- "id": "OpenAIEmbeddings-jsaKm",
1803
+ "id": "OpenAIEmbeddings-m4ukj",
1802
1804
  "measured": {
1803
- "height": 320,
1805
+ "height": 286,
1804
1806
  "width": 320
1805
1807
  },
1806
1808
  "position": {
@@ -1816,7 +1818,7 @@
1816
1818
  },
1817
1819
  {
1818
1820
  "data": {
1819
- "id": "note-WLlNM",
1821
+ "id": "note-RfY95",
1820
1822
  "node": {
1821
1823
  "description": "## 📚 1. Load Data Flow\n\nRun this first! Load data from a local file and embed it into the vector database.\n\nSelect a Database and a Collection, or create new ones. \n\nClick **Run component** on the **Astra DB** component to load your data.\n\n\n### Next steps:\n Experiment by changing the prompt and the contextual data to see how the retrieval flow's responses change.",
1822
1824
  "display_name": "",
@@ -1829,7 +1831,7 @@
1829
1831
  },
1830
1832
  "dragging": false,
1831
1833
  "height": 460,
1832
- "id": "note-WLlNM",
1834
+ "id": "note-RfY95",
1833
1835
  "measured": {
1834
1836
  "height": 460,
1835
1837
  "width": 340
@@ -1853,7 +1855,7 @@
1853
1855
  },
1854
1856
  {
1855
1857
  "data": {
1856
- "id": "OpenAIEmbeddings-U8tZg",
1858
+ "id": "OpenAIEmbeddings-CYjxN",
1857
1859
  "node": {
1858
1860
  "base_classes": [
1859
1861
  "Embeddings"
@@ -2154,7 +2156,7 @@
2154
2156
  "dynamic": false,
2155
2157
  "info": "",
2156
2158
  "input_types": [],
2157
- "load_from_db": true,
2159
+ "load_from_db": false,
2158
2160
  "name": "openai_api_key",
2159
2161
  "password": true,
2160
2162
  "placeholder": "",
@@ -2162,7 +2164,7 @@
2162
2164
  "show": true,
2163
2165
  "title_case": false,
2164
2166
  "type": "str",
2165
- "value": "OPENAI_API_KEY"
2167
+ "value": ""
2166
2168
  },
2167
2169
  "openai_api_type": {
2168
2170
  "_input_type": "MessageTextInput",
@@ -2345,9 +2347,9 @@
2345
2347
  "type": "OpenAIEmbeddings"
2346
2348
  },
2347
2349
  "dragging": false,
2348
- "id": "OpenAIEmbeddings-U8tZg",
2350
+ "id": "OpenAIEmbeddings-CYjxN",
2349
2351
  "measured": {
2350
- "height": 320,
2352
+ "height": 286,
2351
2353
  "width": 320
2352
2354
  },
2353
2355
  "position": {
@@ -2363,7 +2365,7 @@
2363
2365
  },
2364
2366
  {
2365
2367
  "data": {
2366
- "id": "note-5qEgh",
2368
+ "id": "note-7vsn8",
2367
2369
  "node": {
2368
2370
  "description": "### 💡 Add your OpenAI API key here 👇",
2369
2371
  "display_name": "",
@@ -2376,7 +2378,7 @@
2376
2378
  },
2377
2379
  "dragging": false,
2378
2380
  "height": 324,
2379
- "id": "note-5qEgh",
2381
+ "id": "note-7vsn8",
2380
2382
  "measured": {
2381
2383
  "height": 324,
2382
2384
  "width": 324
@@ -2395,7 +2397,7 @@
2395
2397
  },
2396
2398
  {
2397
2399
  "data": {
2398
- "id": "note-siZGp",
2400
+ "id": "note-eZXHW",
2399
2401
  "node": {
2400
2402
  "description": "### 💡 Add your OpenAI API key here 👇",
2401
2403
  "display_name": "",
@@ -2408,7 +2410,7 @@
2408
2410
  },
2409
2411
  "dragging": false,
2410
2412
  "height": 324,
2411
- "id": "note-siZGp",
2413
+ "id": "note-eZXHW",
2412
2414
  "measured": {
2413
2415
  "height": 324,
2414
2416
  "width": 324
@@ -2427,7 +2429,7 @@
2427
2429
  },
2428
2430
  {
2429
2431
  "data": {
2430
- "id": "note-qKdBl",
2432
+ "id": "note-JkBeF",
2431
2433
  "node": {
2432
2434
  "description": "### 💡 Add your OpenAI API key here 👇",
2433
2435
  "display_name": "",
@@ -2440,7 +2442,7 @@
2440
2442
  },
2441
2443
  "dragging": false,
2442
2444
  "height": 324,
2443
- "id": "note-qKdBl",
2445
+ "id": "note-JkBeF",
2444
2446
  "measured": {
2445
2447
  "height": 324,
2446
2448
  "width": 324
@@ -2459,7 +2461,7 @@
2459
2461
  },
2460
2462
  {
2461
2463
  "data": {
2462
- "id": "parser-oHf4E",
2464
+ "id": "parser-brnh5",
2463
2465
  "node": {
2464
2466
  "base_classes": [
2465
2467
  "Message"
@@ -2621,7 +2623,7 @@
2621
2623
  "type": "parser"
2622
2624
  },
2623
2625
  "dragging": false,
2624
- "id": "parser-oHf4E",
2626
+ "id": "parser-brnh5",
2625
2627
  "measured": {
2626
2628
  "height": 361,
2627
2629
  "width": 320
@@ -2635,53 +2637,53 @@
2635
2637
  },
2636
2638
  {
2637
2639
  "data": {
2638
- "id": "File-7D3hP",
2640
+ "id": "LanguageModelComponent-rL7g3",
2639
2641
  "node": {
2640
2642
  "base_classes": [
2643
+ "LanguageModel",
2641
2644
  "Message"
2642
2645
  ],
2643
2646
  "beta": false,
2644
2647
  "conditional_paths": [],
2645
2648
  "custom_fields": {},
2646
- "description": "Loads and returns the content from uploaded files.",
2647
- "display_name": "File",
2648
- "documentation": "",
2649
+ "description": "Runs a language model given a specified provider.",
2650
+ "display_name": "Language Model",
2651
+ "documentation": "https://docs.langflow.org/components-models",
2649
2652
  "edited": false,
2650
2653
  "field_order": [
2651
- "path",
2652
- "file_path",
2653
- "separator",
2654
- "silent_errors",
2655
- "delete_server_file_after_processing",
2656
- "ignore_unsupported_extensions",
2657
- "ignore_unspecified_files",
2658
- "use_multithreading",
2659
- "concurrency_multithreading"
2654
+ "model",
2655
+ "api_key",
2656
+ "base_url_ibm_watsonx",
2657
+ "project_id",
2658
+ "ollama_base_url",
2659
+ "input_value",
2660
+ "system_message",
2661
+ "stream",
2662
+ "temperature"
2660
2663
  ],
2661
2664
  "frozen": false,
2662
- "icon": "file-text",
2663
- "last_updated": "2025-10-10T17:51:29.596Z",
2665
+ "icon": "brain-circuit",
2666
+ "last_updated": "2025-12-20T16:56:30.808Z",
2664
2667
  "legacy": false,
2668
+ "lf_version": "1.7.0",
2665
2669
  "metadata": {
2666
- "code_hash": "9cad30eb26b9",
2670
+ "code_hash": "7fe3257f2169",
2667
2671
  "dependencies": {
2668
2672
  "dependencies": [
2669
2673
  {
2670
2674
  "name": "lfx",
2671
2675
  "version": null
2672
- },
2673
- {
2674
- "name": "langchain_core",
2675
- "version": "0.3.80"
2676
- },
2677
- {
2678
- "name": "pydantic",
2679
- "version": "2.11.10"
2680
2676
  }
2681
2677
  ],
2682
- "total_dependencies": 3
2678
+ "total_dependencies": 1
2683
2679
  },
2684
- "module": "lfx.components.files_and_knowledge.file.FileComponent"
2680
+ "keywords": [
2681
+ "model",
2682
+ "llm",
2683
+ "language model",
2684
+ "large language model"
2685
+ ],
2686
+ "module": "lfx.components.models_and_agents.language_model.LanguageModelComponent"
2685
2687
  },
2686
2688
  "minimized": false,
2687
2689
  "output_types": [],
@@ -2689,39 +2691,101 @@
2689
2691
  {
2690
2692
  "allows_loop": false,
2691
2693
  "cache": true,
2692
- "display_name": "Raw Content",
2694
+ "display_name": "Model Response",
2693
2695
  "group_outputs": false,
2694
- "method": "load_files_message",
2695
- "name": "message",
2696
+ "hidden": null,
2697
+ "loop_types": null,
2698
+ "method": "text_response",
2699
+ "name": "text_output",
2700
+ "options": null,
2701
+ "required_inputs": null,
2696
2702
  "selected": "Message",
2697
2703
  "tool_mode": true,
2698
2704
  "types": [
2699
2705
  "Message"
2700
2706
  ],
2701
2707
  "value": "__UNDEFINED__"
2708
+ },
2709
+ {
2710
+ "allows_loop": false,
2711
+ "cache": true,
2712
+ "display_name": "Language Model",
2713
+ "group_outputs": false,
2714
+ "hidden": null,
2715
+ "loop_types": null,
2716
+ "method": "build_model",
2717
+ "name": "model_output",
2718
+ "options": null,
2719
+ "required_inputs": null,
2720
+ "selected": "LanguageModel",
2721
+ "tool_mode": true,
2722
+ "types": [
2723
+ "LanguageModel"
2724
+ ],
2725
+ "value": "__UNDEFINED__"
2702
2726
  }
2703
2727
  ],
2704
2728
  "pinned": false,
2729
+ "priority": 0,
2705
2730
  "template": {
2731
+ "_frontend_node_flow_id": {
2732
+ "value": "be165273-a6ce-4053-9548-e5b5c8a657bf"
2733
+ },
2734
+ "_frontend_node_folder_id": {
2735
+ "value": "34260300-cae1-43f3-8b14-1272b8cffe4c"
2736
+ },
2706
2737
  "_type": "Component",
2707
- "advanced_mode": {
2708
- "_input_type": "BoolInput",
2709
- "advanced": false,
2710
- "display_name": "Advanced Parser",
2738
+ "api_key": {
2739
+ "_input_type": "SecretStrInput",
2740
+ "advanced": true,
2741
+ "display_name": "API Key",
2711
2742
  "dynamic": false,
2712
- "info": "Enable advanced document processing and export with Docling for PDFs, images, and office documents. Note that advanced document processing can consume significant resources.",
2713
- "list": false,
2714
- "list_add_label": "Add More",
2715
- "name": "advanced_mode",
2743
+ "info": "Model Provider API key",
2744
+ "input_types": [],
2745
+ "load_from_db": false,
2746
+ "name": "api_key",
2747
+ "override_skip": false,
2748
+ "password": true,
2716
2749
  "placeholder": "",
2717
2750
  "real_time_refresh": true,
2718
2751
  "required": false,
2719
2752
  "show": true,
2720
2753
  "title_case": false,
2754
+ "track_in_telemetry": false,
2755
+ "type": "str",
2756
+ "value": ""
2757
+ },
2758
+ "base_url_ibm_watsonx": {
2759
+ "_input_type": "DropdownInput",
2760
+ "advanced": false,
2761
+ "combobox": false,
2762
+ "dialog_inputs": {},
2763
+ "display_name": "watsonx API Endpoint",
2764
+ "dynamic": false,
2765
+ "external_options": {},
2766
+ "info": "The base URL of the API (IBM watsonx.ai only)",
2767
+ "name": "base_url_ibm_watsonx",
2768
+ "options": [
2769
+ "https://us-south.ml.cloud.ibm.com",
2770
+ "https://eu-de.ml.cloud.ibm.com",
2771
+ "https://eu-gb.ml.cloud.ibm.com",
2772
+ "https://au-syd.ml.cloud.ibm.com",
2773
+ "https://jp-tok.ml.cloud.ibm.com",
2774
+ "https://ca-tor.ml.cloud.ibm.com"
2775
+ ],
2776
+ "options_metadata": [],
2777
+ "override_skip": false,
2778
+ "placeholder": "",
2779
+ "real_time_refresh": true,
2780
+ "required": false,
2781
+ "show": false,
2782
+ "title_case": false,
2783
+ "toggle": false,
2721
2784
  "tool_mode": false,
2722
2785
  "trace_as_metadata": true,
2723
- "type": "bool",
2724
- "value": false
2786
+ "track_in_telemetry": true,
2787
+ "type": "str",
2788
+ "value": "https://us-south.ml.cloud.ibm.com"
2725
2789
  },
2726
2790
  "code": {
2727
2791
  "advanced": true,
@@ -2739,441 +2803,399 @@
2739
2803
  "show": true,
2740
2804
  "title_case": false,
2741
2805
  "type": "code",
2742
- "value": "\"\"\"Enhanced file component with Docling support and process isolation.\n\nNotes:\n-----\n- ALL Docling parsing/export runs in a separate OS process to prevent memory\n growth and native library state from impacting the main Langflow process.\n- Standard text/structured parsing continues to use existing BaseFileComponent\n utilities (and optional threading via `parallel_load_data`).\n\"\"\"\n\nfrom __future__ import annotations\n\nimport contextlib\nimport json\nimport subprocess\nimport sys\nimport textwrap\nfrom copy import deepcopy\nfrom pathlib import Path\nfrom tempfile import NamedTemporaryFile\nfrom typing import Any\n\nfrom lfx.base.data.base_file import BaseFileComponent\nfrom lfx.base.data.storage_utils import parse_storage_path, read_file_bytes, validate_image_content_type\nfrom lfx.base.data.utils import TEXT_FILE_TYPES, parallel_load_data, parse_text_file_to_data\nfrom lfx.inputs.inputs import DropdownInput, MessageTextInput, StrInput\nfrom lfx.io import BoolInput, FileInput, IntInput, Output\nfrom lfx.schema.data import Data\nfrom lfx.schema.dataframe import DataFrame # noqa: TC001\nfrom lfx.schema.message import Message\nfrom lfx.services.deps import get_settings_service, get_storage_service\nfrom lfx.utils.async_helpers import run_until_complete\n\n\nclass FileComponent(BaseFileComponent):\n \"\"\"File component with optional Docling processing (isolated in a subprocess).\"\"\"\n\n display_name = \"Read File\"\n # description is now a dynamic property - see get_tool_description()\n _base_description = \"Loads content from one or more files.\"\n documentation: str = \"https://docs.langflow.org/read-file\"\n icon = \"file-text\"\n name = \"File\"\n add_tool_output = True # Enable tool mode toggle without requiring tool_mode inputs\n\n # Extensions that can be processed without Docling (using standard text parsing)\n TEXT_EXTENSIONS = TEXT_FILE_TYPES\n\n # Extensions that require Docling for processing (images, advanced office formats, etc.)\n DOCLING_ONLY_EXTENSIONS = [\n \"adoc\",\n \"asciidoc\",\n \"asc\",\n \"bmp\",\n \"dotx\",\n \"dotm\",\n \"docm\",\n \"jpg\",\n \"jpeg\",\n \"png\",\n \"potx\",\n \"ppsx\",\n \"pptm\",\n \"potm\",\n \"ppsm\",\n \"pptx\",\n \"tiff\",\n \"xls\",\n \"xlsx\",\n \"xhtml\",\n \"webp\",\n ]\n\n # Docling-supported/compatible extensions; TEXT_FILE_TYPES are supported by the base loader.\n VALID_EXTENSIONS = [\n *TEXT_EXTENSIONS,\n *DOCLING_ONLY_EXTENSIONS,\n ]\n\n # Fixed export settings used when markdown export is requested.\n EXPORT_FORMAT = \"Markdown\"\n IMAGE_MODE = \"placeholder\"\n\n _base_inputs = deepcopy(BaseFileComponent.get_base_inputs())\n\n for input_item in _base_inputs:\n if isinstance(input_item, FileInput) and input_item.name == \"path\":\n input_item.real_time_refresh = True\n input_item.tool_mode = False # Disable tool mode for file upload input\n input_item.required = False # Make it optional so it doesn't error in tool mode\n break\n\n inputs = [\n *_base_inputs,\n StrInput(\n name=\"file_path_str\",\n display_name=\"File Path\",\n info=(\n \"Path to the file to read. Used when component is called as a tool. \"\n \"If not provided, will use the uploaded file from 'path' input.\"\n ),\n show=False,\n advanced=True,\n tool_mode=True, # Required for Toolset toggle, but _get_tools() ignores this parameter\n required=False,\n ),\n BoolInput(\n name=\"advanced_mode\",\n display_name=\"Advanced Parser\",\n value=False,\n real_time_refresh=True,\n info=(\n \"Enable advanced document processing and export with Docling for PDFs, images, and office documents. \"\n \"Note that advanced document processing can consume significant resources.\"\n ),\n show=True,\n ),\n DropdownInput(\n name=\"pipeline\",\n display_name=\"Pipeline\",\n info=\"Docling pipeline to use\",\n options=[\"standard\", \"vlm\"],\n value=\"standard\",\n advanced=True,\n real_time_refresh=True,\n ),\n DropdownInput(\n name=\"ocr_engine\",\n display_name=\"OCR Engine\",\n info=\"OCR engine to use. Only available when pipeline is set to 'standard'.\",\n options=[\"None\", \"easyocr\"],\n value=\"easyocr\",\n show=False,\n advanced=True,\n ),\n StrInput(\n name=\"md_image_placeholder\",\n display_name=\"Image placeholder\",\n info=\"Specify the image placeholder for markdown exports.\",\n value=\"<!-- image -->\",\n advanced=True,\n show=False,\n ),\n StrInput(\n name=\"md_page_break_placeholder\",\n display_name=\"Page break placeholder\",\n info=\"Add this placeholder between pages in the markdown output.\",\n value=\"\",\n advanced=True,\n show=False,\n ),\n MessageTextInput(\n name=\"doc_key\",\n display_name=\"Doc Key\",\n info=\"The key to use for the DoclingDocument column.\",\n value=\"doc\",\n advanced=True,\n show=False,\n ),\n # Deprecated input retained for backward-compatibility.\n BoolInput(\n name=\"use_multithreading\",\n display_name=\"[Deprecated] Use Multithreading\",\n advanced=True,\n value=True,\n info=\"Set 'Processing Concurrency' greater than 1 to enable multithreading.\",\n ),\n IntInput(\n name=\"concurrency_multithreading\",\n display_name=\"Processing Concurrency\",\n advanced=True,\n info=\"When multiple files are being processed, the number of files to process concurrently.\",\n value=1,\n ),\n BoolInput(\n name=\"markdown\",\n display_name=\"Markdown Export\",\n info=\"Export processed documents to Markdown format. Only available when advanced mode is enabled.\",\n value=False,\n show=False,\n ),\n ]\n\n outputs = [\n Output(display_name=\"Raw Content\", name=\"message\", method=\"load_files_message\", tool_mode=True),\n ]\n\n # ------------------------------ Tool description with file names --------------\n\n def get_tool_description(self) -> str:\n \"\"\"Return a dynamic description that includes the names of uploaded files.\n\n This helps the Agent understand which files are available to read.\n \"\"\"\n base_description = \"Loads and returns the content from uploaded files.\"\n\n # Get the list of uploaded file paths\n file_paths = getattr(self, \"path\", None)\n if not file_paths:\n return base_description\n\n # Ensure it's a list\n if not isinstance(file_paths, list):\n file_paths = [file_paths]\n\n # Extract just the file names from the paths\n file_names = []\n for fp in file_paths:\n if fp:\n name = Path(fp).name\n file_names.append(name)\n\n if file_names:\n files_str = \", \".join(file_names)\n return f\"{base_description} Available files: {files_str}. Call this tool to read these files.\"\n\n return base_description\n\n @property\n def description(self) -> str:\n \"\"\"Dynamic description property that includes uploaded file names.\"\"\"\n return self.get_tool_description()\n\n async def _get_tools(self) -> list:\n \"\"\"Override to create a tool without parameters.\n\n The Read File component should use the files already uploaded via UI,\n not accept file paths from the Agent (which wouldn't know the internal paths).\n \"\"\"\n from langchain_core.tools import StructuredTool\n from pydantic import BaseModel\n\n # Empty schema - no parameters needed\n class EmptySchema(BaseModel):\n \"\"\"No parameters required - uses pre-uploaded files.\"\"\"\n\n async def read_files_tool() -> str:\n \"\"\"Read the content of uploaded files.\"\"\"\n try:\n result = self.load_files_message()\n if hasattr(result, \"get_text\"):\n return result.get_text()\n if hasattr(result, \"text\"):\n return result.text\n return str(result)\n except (FileNotFoundError, ValueError, OSError, RuntimeError) as e:\n return f\"Error reading files: {e}\"\n\n description = self.get_tool_description()\n\n tool = StructuredTool(\n name=\"load_files_message\",\n description=description,\n coroutine=read_files_tool,\n args_schema=EmptySchema,\n handle_tool_error=True,\n tags=[\"load_files_message\"],\n metadata={\n \"display_name\": \"Read File\",\n \"display_description\": description,\n },\n )\n\n return [tool]\n\n # ------------------------------ UI helpers --------------------------------------\n\n def _path_value(self, template: dict) -> list[str]:\n \"\"\"Return the list of currently selected file paths from the template.\"\"\"\n return template.get(\"path\", {}).get(\"file_path\", [])\n\n def update_build_config(\n self,\n build_config: dict[str, Any],\n field_value: Any,\n field_name: str | None = None,\n ) -> dict[str, Any]:\n \"\"\"Show/hide Advanced Parser and related fields based on selection context.\"\"\"\n if field_name == \"path\":\n paths = self._path_value(build_config)\n\n # If all files can be processed by docling, do so\n allow_advanced = all(not file_path.endswith((\".csv\", \".xlsx\", \".parquet\")) for file_path in paths)\n build_config[\"advanced_mode\"][\"show\"] = allow_advanced\n if not allow_advanced:\n build_config[\"advanced_mode\"][\"value\"] = False\n for f in (\"pipeline\", \"ocr_engine\", \"doc_key\", \"md_image_placeholder\", \"md_page_break_placeholder\"):\n if f in build_config:\n build_config[f][\"show\"] = False\n\n # Docling Processing\n elif field_name == \"advanced_mode\":\n for f in (\"pipeline\", \"ocr_engine\", \"doc_key\", \"md_image_placeholder\", \"md_page_break_placeholder\"):\n if f in build_config:\n build_config[f][\"show\"] = bool(field_value)\n if f == \"pipeline\":\n build_config[f][\"advanced\"] = not bool(field_value)\n\n elif field_name == \"pipeline\":\n if field_value == \"standard\":\n build_config[\"ocr_engine\"][\"show\"] = True\n build_config[\"ocr_engine\"][\"value\"] = \"easyocr\"\n else:\n build_config[\"ocr_engine\"][\"show\"] = False\n build_config[\"ocr_engine\"][\"value\"] = \"None\"\n\n return build_config\n\n def update_outputs(self, frontend_node: dict[str, Any], field_name: str, field_value: Any) -> dict[str, Any]: # noqa: ARG002\n \"\"\"Dynamically show outputs based on file count/type and advanced mode.\"\"\"\n if field_name not in [\"path\", \"advanced_mode\", \"pipeline\"]:\n return frontend_node\n\n template = frontend_node.get(\"template\", {})\n paths = self._path_value(template)\n if not paths:\n return frontend_node\n\n frontend_node[\"outputs\"] = []\n if len(paths) == 1:\n file_path = paths[0] if field_name == \"path\" else frontend_node[\"template\"][\"path\"][\"file_path\"][0]\n if file_path.endswith((\".csv\", \".xlsx\", \".parquet\")):\n frontend_node[\"outputs\"].append(\n Output(\n display_name=\"Structured Content\",\n name=\"dataframe\",\n method=\"load_files_structured\",\n tool_mode=True,\n ),\n )\n elif file_path.endswith(\".json\"):\n frontend_node[\"outputs\"].append(\n Output(display_name=\"Structured Content\", name=\"json\", method=\"load_files_json\", tool_mode=True),\n )\n\n advanced_mode = frontend_node.get(\"template\", {}).get(\"advanced_mode\", {}).get(\"value\", False)\n if advanced_mode:\n frontend_node[\"outputs\"].append(\n Output(\n display_name=\"Structured Output\",\n name=\"advanced_dataframe\",\n method=\"load_files_dataframe\",\n tool_mode=True,\n ),\n )\n frontend_node[\"outputs\"].append(\n Output(\n display_name=\"Markdown\", name=\"advanced_markdown\", method=\"load_files_markdown\", tool_mode=True\n ),\n )\n frontend_node[\"outputs\"].append(\n Output(display_name=\"File Path\", name=\"path\", method=\"load_files_path\", tool_mode=True),\n )\n else:\n frontend_node[\"outputs\"].append(\n Output(display_name=\"Raw Content\", name=\"message\", method=\"load_files_message\", tool_mode=True),\n )\n frontend_node[\"outputs\"].append(\n Output(display_name=\"File Path\", name=\"path\", method=\"load_files_path\", tool_mode=True),\n )\n else:\n # Multiple files => DataFrame output; advanced parser disabled\n frontend_node[\"outputs\"].append(\n Output(display_name=\"Files\", name=\"dataframe\", method=\"load_files\", tool_mode=True)\n )\n\n return frontend_node\n\n # ------------------------------ Core processing ----------------------------------\n\n def _validate_and_resolve_paths(self) -> list[BaseFileComponent.BaseFile]:\n \"\"\"Override to handle file_path_str input from tool mode.\n\n When called as a tool, the file_path_str parameter can be set.\n If not provided, it will fall back to using the path FileInput (uploaded file).\n Priority:\n 1. file_path_str (if provided by the tool call)\n 2. path (uploaded file from UI)\n \"\"\"\n # Check if file_path_str is provided (from tool mode)\n file_path_str = getattr(self, \"file_path_str\", None)\n if file_path_str:\n # Use the string path from tool mode\n from pathlib import Path\n\n from lfx.schema.data import Data\n\n resolved_path = Path(self.resolve_path(file_path_str))\n if not resolved_path.exists():\n msg = f\"File or directory not found: {file_path_str}\"\n self.log(msg)\n if not self.silent_errors:\n raise ValueError(msg)\n return []\n\n data_obj = Data(data={self.SERVER_FILE_PATH_FIELDNAME: str(resolved_path)})\n return [BaseFileComponent.BaseFile(data_obj, resolved_path, delete_after_processing=False)]\n\n # Otherwise use the default implementation (uses path FileInput)\n return super()._validate_and_resolve_paths()\n\n def _is_docling_compatible(self, file_path: str) -> bool:\n \"\"\"Lightweight extension gate for Docling-compatible types.\"\"\"\n docling_exts = (\n \".adoc\",\n \".asciidoc\",\n \".asc\",\n \".bmp\",\n \".csv\",\n \".dotx\",\n \".dotm\",\n \".docm\",\n \".docx\",\n \".htm\",\n \".html\",\n \".jpg\",\n \".jpeg\",\n \".json\",\n \".md\",\n \".pdf\",\n \".png\",\n \".potx\",\n \".ppsx\",\n \".pptm\",\n \".potm\",\n \".ppsm\",\n \".pptx\",\n \".tiff\",\n \".txt\",\n \".xls\",\n \".xlsx\",\n \".xhtml\",\n \".xml\",\n \".webp\",\n )\n return file_path.lower().endswith(docling_exts)\n\n async def _get_local_file_for_docling(self, file_path: str) -> tuple[str, bool]:\n \"\"\"Get a local file path for Docling processing, downloading from S3 if needed.\n\n Args:\n file_path: Either a local path or S3 key (format \"flow_id/filename\")\n\n Returns:\n tuple[str, bool]: (local_path, should_delete) where should_delete indicates\n if this is a temporary file that should be cleaned up\n \"\"\"\n settings = get_settings_service().settings\n if settings.storage_type == \"local\":\n return file_path, False\n\n # S3 storage - download to temp file\n parsed = parse_storage_path(file_path)\n if not parsed:\n msg = f\"Invalid S3 path format: {file_path}. Expected 'flow_id/filename'\"\n raise ValueError(msg)\n\n storage_service = get_storage_service()\n flow_id, filename = parsed\n\n # Get file content from S3\n content = await storage_service.get_file(flow_id, filename)\n\n suffix = Path(filename).suffix\n with NamedTemporaryFile(mode=\"wb\", suffix=suffix, delete=False) as tmp_file:\n tmp_file.write(content)\n temp_path = tmp_file.name\n\n return temp_path, True\n\n def _process_docling_in_subprocess(self, file_path: str) -> Data | None:\n \"\"\"Run Docling in a separate OS process and map the result to a Data object.\n\n We avoid multiprocessing pickling by launching `python -c \"<script>\"` and\n passing JSON config via stdin. The child prints a JSON result to stdout.\n\n For S3 storage, the file is downloaded to a temp file first.\n \"\"\"\n if not file_path:\n return None\n\n settings = get_settings_service().settings\n if settings.storage_type == \"s3\":\n local_path, should_delete = run_until_complete(self._get_local_file_for_docling(file_path))\n else:\n local_path = file_path\n should_delete = False\n\n try:\n return self._process_docling_subprocess_impl(local_path, file_path)\n finally:\n # Clean up temp file if we created one\n if should_delete:\n with contextlib.suppress(Exception):\n Path(local_path).unlink() # Ignore cleanup errors\n\n def _process_docling_subprocess_impl(self, local_file_path: str, original_file_path: str) -> Data | None:\n \"\"\"Implementation of Docling subprocess processing.\n\n Args:\n local_file_path: Path to local file to process\n original_file_path: Original file path to include in metadata\n Returns:\n Data object with processed content\n \"\"\"\n args: dict[str, Any] = {\n \"file_path\": local_file_path,\n \"markdown\": bool(self.markdown),\n \"image_mode\": str(self.IMAGE_MODE),\n \"md_image_placeholder\": str(self.md_image_placeholder),\n \"md_page_break_placeholder\": str(self.md_page_break_placeholder),\n \"pipeline\": str(self.pipeline),\n \"ocr_engine\": (\n self.ocr_engine if self.ocr_engine and self.ocr_engine != \"None\" and self.pipeline != \"vlm\" else None\n ),\n }\n\n # Child script for isolating the docling processing\n child_script = textwrap.dedent(\n r\"\"\"\n import json, sys\n\n def try_imports():\n try:\n from docling.datamodel.base_models import ConversionStatus, InputFormat # type: ignore\n from docling.document_converter import DocumentConverter # type: ignore\n from docling_core.types.doc import ImageRefMode # type: ignore\n return ConversionStatus, InputFormat, DocumentConverter, ImageRefMode, \"latest\"\n except Exception as e:\n raise e\n\n def create_converter(strategy, input_format, DocumentConverter, pipeline, ocr_engine):\n # --- Standard PDF/IMAGE pipeline (your existing behavior), with optional OCR ---\n if pipeline == \"standard\":\n try:\n from docling.datamodel.pipeline_options import PdfPipelineOptions # type: ignore\n from docling.document_converter import PdfFormatOption # type: ignore\n\n pipe = PdfPipelineOptions()\n pipe.do_ocr = False\n\n if ocr_engine:\n try:\n from docling.models.factories import get_ocr_factory # type: ignore\n pipe.do_ocr = True\n fac = get_ocr_factory(allow_external_plugins=False)\n pipe.ocr_options = fac.create_options(kind=ocr_engine)\n except Exception:\n # If OCR setup fails, disable it\n pipe.do_ocr = False\n\n fmt = {}\n if hasattr(input_format, \"PDF\"):\n fmt[getattr(input_format, \"PDF\")] = PdfFormatOption(pipeline_options=pipe)\n if hasattr(input_format, \"IMAGE\"):\n fmt[getattr(input_format, \"IMAGE\")] = PdfFormatOption(pipeline_options=pipe)\n\n return DocumentConverter(format_options=fmt)\n except Exception:\n return DocumentConverter()\n\n # --- Vision-Language Model (VLM) pipeline ---\n if pipeline == \"vlm\":\n try:\n from docling.datamodel.pipeline_options import VlmPipelineOptions\n from docling.datamodel.vlm_model_specs import GRANITEDOCLING_MLX, GRANITEDOCLING_TRANSFORMERS\n from docling.document_converter import PdfFormatOption\n from docling.pipeline.vlm_pipeline import VlmPipeline\n\n vl_pipe = VlmPipelineOptions(\n vlm_options=GRANITEDOCLING_TRANSFORMERS,\n )\n\n if sys.platform == \"darwin\":\n try:\n import mlx_vlm\n vl_pipe.vlm_options = GRANITEDOCLING_MLX\n except ImportError as e:\n raise e\n\n # VLM paths generally don't need OCR; keep OCR off by default here.\n fmt = {}\n if hasattr(input_format, \"PDF\"):\n fmt[getattr(input_format, \"PDF\")] = PdfFormatOption(\n pipeline_cls=VlmPipeline,\n pipeline_options=vl_pipe\n )\n if hasattr(input_format, \"IMAGE\"):\n fmt[getattr(input_format, \"IMAGE\")] = PdfFormatOption(\n pipeline_cls=VlmPipeline,\n pipeline_options=vl_pipe\n )\n\n return DocumentConverter(format_options=fmt)\n except Exception as e:\n raise e\n\n # --- Fallback: default converter with no special options ---\n return DocumentConverter()\n\n def export_markdown(document, ImageRefMode, image_mode, img_ph, pg_ph):\n try:\n mode = getattr(ImageRefMode, image_mode.upper(), image_mode)\n return document.export_to_markdown(\n image_mode=mode,\n image_placeholder=img_ph,\n page_break_placeholder=pg_ph,\n )\n except Exception:\n try:\n return document.export_to_text()\n except Exception:\n return str(document)\n\n def to_rows(doc_dict):\n rows = []\n for t in doc_dict.get(\"texts\", []):\n prov = t.get(\"prov\") or []\n page_no = None\n if prov and isinstance(prov, list) and isinstance(prov[0], dict):\n page_no = prov[0].get(\"page_no\")\n rows.append({\n \"page_no\": page_no,\n \"label\": t.get(\"label\"),\n \"text\": t.get(\"text\"),\n \"level\": t.get(\"level\"),\n })\n return rows\n\n def main():\n cfg = json.loads(sys.stdin.read())\n file_path = cfg[\"file_path\"]\n markdown = cfg[\"markdown\"]\n image_mode = cfg[\"image_mode\"]\n img_ph = cfg[\"md_image_placeholder\"]\n pg_ph = cfg[\"md_page_break_placeholder\"]\n pipeline = cfg[\"pipeline\"]\n ocr_engine = cfg.get(\"ocr_engine\")\n meta = {\"file_path\": file_path}\n\n try:\n ConversionStatus, InputFormat, DocumentConverter, ImageRefMode, strategy = try_imports()\n converter = create_converter(strategy, InputFormat, DocumentConverter, pipeline, ocr_engine)\n try:\n res = converter.convert(file_path)\n except Exception as e:\n print(json.dumps({\"ok\": False, \"error\": f\"Docling conversion error: {e}\", \"meta\": meta}))\n return\n\n ok = False\n if hasattr(res, \"status\"):\n try:\n ok = (res.status == ConversionStatus.SUCCESS) or (str(res.status).lower() == \"success\")\n except Exception:\n ok = (str(res.status).lower() == \"success\")\n if not ok and hasattr(res, \"document\"):\n ok = getattr(res, \"document\", None) is not None\n if not ok:\n print(json.dumps({\"ok\": False, \"error\": \"Docling conversion failed\", \"meta\": meta}))\n return\n\n doc = getattr(res, \"document\", None)\n if doc is None:\n print(json.dumps({\"ok\": False, \"error\": \"Docling produced no document\", \"meta\": meta}))\n return\n\n if markdown:\n text = export_markdown(doc, ImageRefMode, image_mode, img_ph, pg_ph)\n print(json.dumps({\"ok\": True, \"mode\": \"markdown\", \"text\": text, \"meta\": meta}))\n return\n\n # structured\n try:\n doc_dict = doc.export_to_dict()\n except Exception as e:\n print(json.dumps({\"ok\": False, \"error\": f\"Docling export_to_dict failed: {e}\", \"meta\": meta}))\n return\n\n rows = to_rows(doc_dict)\n print(json.dumps({\"ok\": True, \"mode\": \"structured\", \"doc\": rows, \"meta\": meta}))\n except Exception as e:\n print(\n json.dumps({\n \"ok\": False,\n \"error\": f\"Docling processing error: {e}\",\n \"meta\": {\"file_path\": file_path},\n })\n )\n\n if __name__ == \"__main__\":\n main()\n \"\"\"\n )\n\n # Validate file_path to avoid command injection or unsafe input\n if not isinstance(args[\"file_path\"], str) or any(c in args[\"file_path\"] for c in [\";\", \"|\", \"&\", \"$\", \"`\"]):\n return Data(data={\"error\": \"Unsafe file path detected.\", \"file_path\": args[\"file_path\"]})\n\n proc = subprocess.run( # noqa: S603\n [sys.executable, \"-u\", \"-c\", child_script],\n input=json.dumps(args).encode(\"utf-8\"),\n capture_output=True,\n check=False,\n )\n\n if not proc.stdout:\n err_msg = proc.stderr.decode(\"utf-8\", errors=\"replace\") if proc.stderr else \"no output from child process\"\n return Data(data={\"error\": f\"Docling subprocess error: {err_msg}\", \"file_path\": original_file_path})\n\n try:\n result = json.loads(proc.stdout.decode(\"utf-8\"))\n except Exception as e: # noqa: BLE001\n err_msg = proc.stderr.decode(\"utf-8\", errors=\"replace\")\n return Data(\n data={\n \"error\": f\"Invalid JSON from Docling subprocess: {e}. stderr={err_msg}\",\n \"file_path\": original_file_path,\n },\n )\n\n if not result.get(\"ok\"):\n error_msg = result.get(\"error\", \"Unknown Docling error\")\n # Override meta file_path with original_file_path to ensure correct path matching\n meta = result.get(\"meta\", {})\n meta[\"file_path\"] = original_file_path\n return Data(data={\"error\": error_msg, **meta})\n\n meta = result.get(\"meta\", {})\n # Override meta file_path with original_file_path to ensure correct path matching\n # The subprocess returns the temp file path, but we need the original S3/local path for rollup_data\n meta[\"file_path\"] = original_file_path\n if result.get(\"mode\") == \"markdown\":\n exported_content = str(result.get(\"text\", \"\"))\n return Data(\n text=exported_content,\n data={\"exported_content\": exported_content, \"export_format\": self.EXPORT_FORMAT, **meta},\n )\n\n rows = list(result.get(\"doc\", []))\n return Data(data={\"doc\": rows, \"export_format\": self.EXPORT_FORMAT, **meta})\n\n def process_files(\n self,\n file_list: list[BaseFileComponent.BaseFile],\n ) -> list[BaseFileComponent.BaseFile]:\n \"\"\"Process input files.\n\n - advanced_mode => Docling in a separate process.\n - Otherwise => standard parsing in current process (optionally threaded).\n \"\"\"\n if not file_list:\n msg = \"No files to process.\"\n raise ValueError(msg)\n\n # Validate image files to detect content/extension mismatches\n # This prevents API errors like \"Image does not match the provided media type\"\n image_extensions = {\"jpeg\", \"jpg\", \"png\", \"gif\", \"webp\", \"bmp\", \"tiff\"}\n settings = get_settings_service().settings\n for file in file_list:\n extension = file.path.suffix[1:].lower()\n if extension in image_extensions:\n # Read bytes based on storage type\n try:\n if settings.storage_type == \"s3\":\n # For S3 storage, use storage service to read file bytes\n file_path_str = str(file.path)\n content = run_until_complete(read_file_bytes(file_path_str))\n else:\n # For local storage, read bytes directly from filesystem\n content = file.path.read_bytes()\n\n is_valid, error_msg = validate_image_content_type(\n str(file.path),\n content=content,\n )\n if not is_valid:\n self.log(error_msg)\n if not self.silent_errors:\n raise ValueError(error_msg)\n except (OSError, FileNotFoundError) as e:\n self.log(f\"Could not read file for validation: {e}\")\n # Continue - let it fail later with better error\n\n # Validate that files requiring Docling are only processed when advanced mode is enabled\n if not self.advanced_mode:\n for file in file_list:\n extension = file.path.suffix[1:].lower()\n if extension in self.DOCLING_ONLY_EXTENSIONS:\n msg = (\n f\"File '{file.path.name}' has extension '.{extension}' which requires \"\n f\"Advanced Parser mode. Please enable 'Advanced Parser' to process this file.\"\n )\n self.log(msg)\n raise ValueError(msg)\n\n def process_file_standard(file_path: str, *, silent_errors: bool = False) -> Data | None:\n try:\n return parse_text_file_to_data(file_path, silent_errors=silent_errors)\n except FileNotFoundError as e:\n self.log(f\"File not found: {file_path}. Error: {e}\")\n if not silent_errors:\n raise\n return None\n except Exception as e:\n self.log(f\"Unexpected error processing {file_path}: {e}\")\n if not silent_errors:\n raise\n return None\n\n docling_compatible = all(self._is_docling_compatible(str(f.path)) for f in file_list)\n\n # Advanced path: Check if ALL files are compatible with Docling\n if self.advanced_mode and docling_compatible:\n final_return: list[BaseFileComponent.BaseFile] = []\n for file in file_list:\n file_path = str(file.path)\n advanced_data: Data | None = self._process_docling_in_subprocess(file_path)\n\n # Handle None case - Docling processing failed or returned None\n if advanced_data is None:\n error_data = Data(\n data={\n \"file_path\": file_path,\n \"error\": \"Docling processing returned no result. Check logs for details.\",\n },\n )\n final_return.extend(self.rollup_data([file], [error_data]))\n continue\n\n # --- UNNEST: expand each element in `doc` to its own Data row\n payload = getattr(advanced_data, \"data\", {}) or {}\n\n # Check for errors first\n if \"error\" in payload:\n error_msg = payload.get(\"error\", \"Unknown error\")\n error_data = Data(\n data={\n \"file_path\": file_path,\n \"error\": error_msg,\n **{k: v for k, v in payload.items() if k not in (\"error\", \"file_path\")},\n },\n )\n final_return.extend(self.rollup_data([file], [error_data]))\n continue\n\n doc_rows = payload.get(\"doc\")\n if isinstance(doc_rows, list) and doc_rows:\n # Non-empty list of structured rows\n rows: list[Data | None] = [\n Data(\n data={\n \"file_path\": file_path,\n **(item if isinstance(item, dict) else {\"value\": item}),\n },\n )\n for item in doc_rows\n ]\n final_return.extend(self.rollup_data([file], rows))\n elif isinstance(doc_rows, list) and not doc_rows:\n # Empty list - file was processed but no text content found\n # Create a Data object indicating no content was extracted\n self.log(f\"No text extracted from '{file_path}', creating placeholder data\")\n empty_data = Data(\n data={\n \"file_path\": file_path,\n \"text\": \"(No text content extracted from image)\",\n \"info\": \"Image processed successfully but contained no extractable text\",\n **{k: v for k, v in payload.items() if k != \"doc\"},\n },\n )\n final_return.extend(self.rollup_data([file], [empty_data]))\n else:\n # If not structured, keep as-is (e.g., markdown export or error dict)\n # Ensure file_path is set for proper rollup matching\n if not payload.get(\"file_path\"):\n payload[\"file_path\"] = file_path\n # Create new Data with file_path\n advanced_data = Data(\n data=payload,\n text=getattr(advanced_data, \"text\", None),\n )\n final_return.extend(self.rollup_data([file], [advanced_data]))\n return final_return\n\n # Standard multi-file (or single non-advanced) path\n concurrency = 1 if not self.use_multithreading else max(1, self.concurrency_multithreading)\n\n file_paths = [str(f.path) for f in file_list]\n self.log(f\"Starting parallel processing of {len(file_paths)} files with concurrency: {concurrency}.\")\n my_data = parallel_load_data(\n file_paths,\n silent_errors=self.silent_errors,\n load_function=process_file_standard,\n max_concurrency=concurrency,\n )\n return self.rollup_data(file_list, my_data)\n\n # ------------------------------ Output helpers -----------------------------------\n\n def load_files_helper(self) -> DataFrame:\n result = self.load_files()\n\n # Result is a DataFrame - check if it has any rows\n if result.empty:\n msg = \"Could not extract content from the provided file(s).\"\n raise ValueError(msg)\n\n # Check for error column with error messages\n if \"error\" in result.columns:\n errors = result[\"error\"].dropna().tolist()\n if errors and not any(col in result.columns for col in [\"text\", \"doc\", \"exported_content\"]):\n raise ValueError(errors[0])\n\n return result\n\n def load_files_dataframe(self) -> DataFrame:\n \"\"\"Load files using advanced Docling processing and export to DataFrame format.\"\"\"\n self.markdown = False\n return self.load_files_helper()\n\n def load_files_markdown(self) -> Message:\n \"\"\"Load files using advanced Docling processing and export to Markdown format.\"\"\"\n self.markdown = True\n result = self.load_files_helper()\n\n # Result is a DataFrame - check for text or exported_content columns\n if \"text\" in result.columns and not result[\"text\"].isna().all():\n text_values = result[\"text\"].dropna().tolist()\n if text_values:\n return Message(text=str(text_values[0]))\n\n if \"exported_content\" in result.columns and not result[\"exported_content\"].isna().all():\n content_values = result[\"exported_content\"].dropna().tolist()\n if content_values:\n return Message(text=str(content_values[0]))\n\n # Return empty message with info that no text was found\n return Message(text=\"(No text content extracted from file)\")\n"
2743
- },
2744
- "concurrency_multithreading": {
2745
- "_input_type": "IntInput",
2746
- "advanced": true,
2747
- "display_name": "Processing Concurrency",
2748
- "dynamic": false,
2749
- "info": "When multiple files are being processed, the number of files to process concurrently.",
2750
- "list": false,
2751
- "list_add_label": "Add More",
2752
- "name": "concurrency_multithreading",
2753
- "placeholder": "",
2754
- "required": false,
2755
- "show": true,
2756
- "title_case": false,
2757
- "tool_mode": false,
2758
- "trace_as_metadata": true,
2759
- "type": "int",
2760
- "value": 1
2761
- },
2762
- "delete_server_file_after_processing": {
2763
- "_input_type": "BoolInput",
2764
- "advanced": true,
2765
- "display_name": "Delete Server File After Processing",
2766
- "dynamic": false,
2767
- "info": "If true, the Server File Path will be deleted after processing.",
2768
- "list": false,
2769
- "list_add_label": "Add More",
2770
- "name": "delete_server_file_after_processing",
2771
- "placeholder": "",
2772
- "required": false,
2773
- "show": true,
2774
- "title_case": false,
2775
- "tool_mode": false,
2776
- "trace_as_metadata": true,
2777
- "type": "bool",
2778
- "value": true
2806
+ "value": "from lfx.base.models.model import LCModelComponent\nfrom lfx.base.models.unified_models import (\n get_language_model_options,\n get_llm,\n update_model_options_in_build_config,\n)\nfrom lfx.base.models.watsonx_constants import IBM_WATSONX_URLS\nfrom lfx.field_typing import LanguageModel\nfrom lfx.field_typing.range_spec import RangeSpec\nfrom lfx.inputs.inputs import BoolInput, DropdownInput, StrInput\nfrom lfx.io import MessageInput, ModelInput, MultilineInput, SecretStrInput, SliderInput\n\nDEFAULT_OLLAMA_URL = \"http://localhost:11434\"\n\n\nclass LanguageModelComponent(LCModelComponent):\n display_name = \"Language Model\"\n description = \"Runs a language model given a specified provider.\"\n documentation: str = \"https://docs.langflow.org/components-models\"\n icon = \"brain-circuit\"\n category = \"models\"\n priority = 0 # Set priority to 0 to make it appear first\n\n inputs = [\n ModelInput(\n name=\"model\",\n display_name=\"Language Model\",\n info=\"Select your model provider\",\n real_time_refresh=True,\n required=True,\n ),\n SecretStrInput(\n name=\"api_key\",\n display_name=\"API Key\",\n info=\"Model Provider API key\",\n required=False,\n show=True,\n real_time_refresh=True,\n advanced=True,\n ),\n DropdownInput(\n name=\"base_url_ibm_watsonx\",\n display_name=\"watsonx API Endpoint\",\n info=\"The base URL of the API (IBM watsonx.ai only)\",\n options=IBM_WATSONX_URLS,\n value=IBM_WATSONX_URLS[0],\n show=False,\n real_time_refresh=True,\n ),\n StrInput(\n name=\"project_id\",\n display_name=\"watsonx Project ID\",\n info=\"The project ID associated with the foundation model (IBM watsonx.ai only)\",\n show=False,\n required=False,\n ),\n MessageInput(\n name=\"ollama_base_url\",\n display_name=\"Ollama API URL\",\n info=f\"Endpoint of the Ollama API (Ollama only). Defaults to {DEFAULT_OLLAMA_URL}\",\n value=DEFAULT_OLLAMA_URL,\n show=False,\n real_time_refresh=True,\n load_from_db=True,\n ),\n MessageInput(\n name=\"input_value\",\n display_name=\"Input\",\n info=\"The input text to send to the model\",\n ),\n MultilineInput(\n name=\"system_message\",\n display_name=\"System Message\",\n info=\"A system message that helps set the behavior of the assistant\",\n advanced=False,\n ),\n BoolInput(\n name=\"stream\",\n display_name=\"Stream\",\n info=\"Whether to stream the response\",\n value=False,\n advanced=True,\n ),\n SliderInput(\n name=\"temperature\",\n display_name=\"Temperature\",\n value=0.1,\n info=\"Controls randomness in responses\",\n range_spec=RangeSpec(min=0, max=1, step=0.01),\n advanced=True,\n ),\n ]\n\n def build_model(self) -> LanguageModel:\n return get_llm(\n model=self.model,\n user_id=self.user_id,\n api_key=self.api_key,\n temperature=self.temperature,\n stream=self.stream,\n )\n\n def update_build_config(self, build_config: dict, field_value: str, field_name: str | None = None):\n \"\"\"Dynamically update build config with user-filtered model options.\"\"\"\n return update_model_options_in_build_config(\n component=self,\n build_config=build_config,\n cache_key_prefix=\"language_model_options\",\n get_options_func=get_language_model_options,\n field_name=field_name,\n field_value=field_value,\n )\n"
2779
2807
  },
2780
- "doc_key": {
2781
- "_input_type": "MessageTextInput",
2782
- "advanced": true,
2783
- "display_name": "Doc Key",
2808
+ "input_value": {
2809
+ "_input_type": "MessageInput",
2810
+ "advanced": false,
2811
+ "display_name": "Input",
2784
2812
  "dynamic": false,
2785
- "info": "The key to use for the DoclingDocument column.",
2813
+ "info": "The input text to send to the model",
2786
2814
  "input_types": [
2787
2815
  "Message"
2788
2816
  ],
2789
2817
  "list": false,
2790
2818
  "list_add_label": "Add More",
2791
2819
  "load_from_db": false,
2792
- "name": "doc_key",
2820
+ "name": "input_value",
2821
+ "override_skip": false,
2793
2822
  "placeholder": "",
2794
2823
  "required": false,
2795
- "show": false,
2824
+ "show": true,
2796
2825
  "title_case": false,
2797
2826
  "tool_mode": false,
2798
2827
  "trace_as_input": true,
2799
2828
  "trace_as_metadata": true,
2829
+ "track_in_telemetry": false,
2800
2830
  "type": "str",
2801
- "value": "doc"
2831
+ "value": ""
2802
2832
  },
2803
- "file_path": {
2804
- "_input_type": "HandleInput",
2805
- "advanced": true,
2806
- "display_name": "Server File Path",
2833
+ "is_refresh": true,
2834
+ "model": {
2835
+ "_input_type": "ModelInput",
2836
+ "advanced": false,
2837
+ "display_name": "Language Model",
2807
2838
  "dynamic": false,
2808
- "info": "Data object with a 'file_path' property pointing to server file or a Message object with a path to the file. Supercedes 'Path' but supports same file types.",
2809
- "input_types": [
2810
- "Data",
2811
- "Message"
2812
- ],
2813
- "list": true,
2814
- "list_add_label": "Add More",
2815
- "name": "file_path",
2816
- "placeholder": "",
2817
- "required": false,
2839
+ "external_options": {
2840
+ "fields": {
2841
+ "data": {
2842
+ "node": {
2843
+ "display_name": "Connect other models",
2844
+ "icon": "CornerDownLeft",
2845
+ "name": "connect_other_models"
2846
+ }
2847
+ }
2848
+ }
2849
+ },
2850
+ "info": "Select your model provider",
2851
+ "input_types": [],
2852
+ "list": false,
2853
+ "list_add_label": "Add More",
2854
+ "model_type": "language",
2855
+ "name": "model",
2856
+ "options": [
2857
+ {
2858
+ "category": "OpenAI",
2859
+ "icon": "OpenAI",
2860
+ "metadata": {
2861
+ "api_key_param": "api_key",
2862
+ "context_length": 128000,
2863
+ "model_class": "ChatOpenAI",
2864
+ "model_name_param": "model",
2865
+ "reasoning_models": [
2866
+ "gpt-5"
2867
+ ]
2868
+ },
2869
+ "name": "gpt-5",
2870
+ "provider": "OpenAI"
2871
+ },
2872
+ {
2873
+ "category": "OpenAI",
2874
+ "icon": "OpenAI",
2875
+ "metadata": {
2876
+ "api_key_param": "api_key",
2877
+ "context_length": 128000,
2878
+ "model_class": "ChatOpenAI",
2879
+ "model_name_param": "model",
2880
+ "reasoning_models": [
2881
+ "gpt-5-mini"
2882
+ ]
2883
+ },
2884
+ "name": "gpt-5-mini",
2885
+ "provider": "OpenAI"
2886
+ },
2887
+ {
2888
+ "category": "OpenAI",
2889
+ "icon": "OpenAI",
2890
+ "metadata": {
2891
+ "api_key_param": "api_key",
2892
+ "context_length": 128000,
2893
+ "model_class": "ChatOpenAI",
2894
+ "model_name_param": "model",
2895
+ "reasoning_models": [
2896
+ "gpt-5-nano"
2897
+ ]
2898
+ },
2899
+ "name": "gpt-5-nano",
2900
+ "provider": "OpenAI"
2901
+ },
2902
+ {
2903
+ "category": "OpenAI",
2904
+ "icon": "OpenAI",
2905
+ "metadata": {
2906
+ "api_key_param": "api_key",
2907
+ "context_length": 128000,
2908
+ "model_class": "ChatOpenAI",
2909
+ "model_name_param": "model"
2910
+ },
2911
+ "name": "gpt-4o-mini",
2912
+ "provider": "OpenAI"
2913
+ },
2914
+ {
2915
+ "category": "OpenAI",
2916
+ "icon": "OpenAI",
2917
+ "metadata": {
2918
+ "api_key_param": "api_key",
2919
+ "context_length": 128000,
2920
+ "model_class": "ChatOpenAI",
2921
+ "model_name_param": "model"
2922
+ },
2923
+ "name": "gpt-4o",
2924
+ "provider": "OpenAI"
2925
+ },
2926
+ {
2927
+ "category": "Google Generative AI",
2928
+ "icon": "GoogleGenerativeAI",
2929
+ "metadata": {
2930
+ "is_disabled_provider": true,
2931
+ "variable_name": "GOOGLE_API_KEY"
2932
+ },
2933
+ "name": "__enable_provider_Google Generative AI__",
2934
+ "provider": "Google Generative AI"
2935
+ },
2936
+ {
2937
+ "category": "Ollama",
2938
+ "icon": "Ollama",
2939
+ "metadata": {
2940
+ "is_disabled_provider": true,
2941
+ "variable_name": "OLLAMA_BASE_URL"
2942
+ },
2943
+ "name": "__enable_provider_Ollama__",
2944
+ "provider": "Ollama"
2945
+ },
2946
+ {
2947
+ "category": "IBM Watsonx",
2948
+ "icon": "WatsonxAI",
2949
+ "metadata": {
2950
+ "is_disabled_provider": true,
2951
+ "variable_name": "WATSONX_APIKEY"
2952
+ },
2953
+ "name": "__enable_provider_IBM Watsonx__",
2954
+ "provider": "IBM Watsonx"
2955
+ }
2956
+ ],
2957
+ "override_skip": false,
2958
+ "placeholder": "Setup Provider",
2959
+ "real_time_refresh": true,
2960
+ "refresh_button": true,
2961
+ "required": true,
2818
2962
  "show": true,
2819
2963
  "title_case": false,
2820
- "trace_as_metadata": true,
2821
- "type": "other",
2822
- "value": ""
2964
+ "tool_mode": false,
2965
+ "trace_as_input": true,
2966
+ "track_in_telemetry": false,
2967
+ "type": "model",
2968
+ "value": [
2969
+ {
2970
+ "category": "OpenAI",
2971
+ "icon": "OpenAI",
2972
+ "metadata": {
2973
+ "api_key_param": "api_key",
2974
+ "context_length": 128000,
2975
+ "model_class": "ChatOpenAI",
2976
+ "model_name_param": "model",
2977
+ "reasoning_models": [
2978
+ "gpt-5"
2979
+ ]
2980
+ },
2981
+ "name": "gpt-5",
2982
+ "provider": "OpenAI"
2983
+ }
2984
+ ]
2823
2985
  },
2824
- "file_path_str": {
2825
- "_input_type": "StrInput",
2826
- "advanced": true,
2827
- "display_name": "File Path",
2986
+ "ollama_base_url": {
2987
+ "_input_type": "MessageInput",
2988
+ "advanced": false,
2989
+ "display_name": "Ollama API URL",
2828
2990
  "dynamic": false,
2829
- "info": "Path to the file to read. Used when component is called as a tool. If not provided, will use the uploaded file from 'path' input.",
2991
+ "info": "Endpoint of the Ollama API (Ollama only). Defaults to http://localhost:11434",
2992
+ "input_types": [
2993
+ "Message"
2994
+ ],
2830
2995
  "list": false,
2831
2996
  "list_add_label": "Add More",
2832
2997
  "load_from_db": false,
2833
- "name": "file_path_str",
2998
+ "name": "ollama_base_url",
2834
2999
  "override_skip": false,
2835
3000
  "placeholder": "",
3001
+ "real_time_refresh": true,
2836
3002
  "required": false,
2837
3003
  "show": false,
2838
3004
  "title_case": false,
2839
- "tool_mode": true,
3005
+ "tool_mode": false,
3006
+ "trace_as_input": true,
2840
3007
  "trace_as_metadata": true,
2841
3008
  "track_in_telemetry": false,
2842
3009
  "type": "str",
2843
3010
  "value": ""
2844
3011
  },
2845
- "ignore_unspecified_files": {
2846
- "_input_type": "BoolInput",
2847
- "advanced": true,
2848
- "display_name": "Ignore Unspecified Files",
3012
+ "project_id": {
3013
+ "_input_type": "StrInput",
3014
+ "advanced": false,
3015
+ "display_name": "watsonx Project ID",
2849
3016
  "dynamic": false,
2850
- "info": "If true, Data with no 'file_path' property will be ignored.",
3017
+ "info": "The project ID associated with the foundation model (IBM watsonx.ai only)",
2851
3018
  "list": false,
2852
3019
  "list_add_label": "Add More",
2853
- "name": "ignore_unspecified_files",
3020
+ "load_from_db": false,
3021
+ "name": "project_id",
3022
+ "override_skip": false,
2854
3023
  "placeholder": "",
2855
3024
  "required": false,
2856
- "show": true,
3025
+ "show": false,
2857
3026
  "title_case": false,
2858
3027
  "tool_mode": false,
2859
3028
  "trace_as_metadata": true,
2860
- "type": "bool",
2861
- "value": false
3029
+ "track_in_telemetry": false,
3030
+ "type": "str",
3031
+ "value": ""
2862
3032
  },
2863
- "ignore_unsupported_extensions": {
3033
+ "stream": {
2864
3034
  "_input_type": "BoolInput",
2865
3035
  "advanced": true,
2866
- "display_name": "Ignore Unsupported Extensions",
3036
+ "display_name": "Stream",
2867
3037
  "dynamic": false,
2868
- "info": "If true, files with unsupported extensions will not be processed.",
3038
+ "info": "Whether to stream the response",
2869
3039
  "list": false,
2870
3040
  "list_add_label": "Add More",
2871
- "name": "ignore_unsupported_extensions",
3041
+ "name": "stream",
3042
+ "override_skip": false,
2872
3043
  "placeholder": "",
2873
3044
  "required": false,
2874
3045
  "show": true,
2875
3046
  "title_case": false,
2876
3047
  "tool_mode": false,
2877
3048
  "trace_as_metadata": true,
2878
- "type": "bool",
2879
- "value": true
2880
- },
2881
- "markdown": {
2882
- "_input_type": "BoolInput",
2883
- "advanced": false,
2884
- "display_name": "Markdown Export",
2885
- "dynamic": false,
2886
- "info": "Export processed documents to Markdown format. Only available when advanced mode is enabled.",
2887
- "list": false,
2888
- "list_add_label": "Add More",
2889
- "name": "markdown",
2890
- "placeholder": "",
2891
- "required": false,
2892
- "show": false,
2893
- "title_case": false,
2894
- "tool_mode": false,
2895
- "trace_as_metadata": true,
3049
+ "track_in_telemetry": true,
2896
3050
  "type": "bool",
2897
3051
  "value": false
2898
3052
  },
2899
- "md_image_placeholder": {
2900
- "_input_type": "StrInput",
2901
- "advanced": true,
2902
- "display_name": "Image placeholder",
2903
- "dynamic": false,
2904
- "info": "Specify the image placeholder for markdown exports.",
2905
- "list": false,
2906
- "list_add_label": "Add More",
2907
- "load_from_db": false,
2908
- "name": "md_image_placeholder",
2909
- "placeholder": "",
2910
- "required": false,
2911
- "show": false,
2912
- "title_case": false,
2913
- "tool_mode": false,
2914
- "trace_as_metadata": true,
2915
- "type": "str",
2916
- "value": "<!-- image -->"
2917
- },
2918
- "md_page_break_placeholder": {
2919
- "_input_type": "StrInput",
2920
- "advanced": true,
2921
- "display_name": "Page break placeholder",
3053
+ "system_message": {
3054
+ "_input_type": "MultilineInput",
3055
+ "advanced": false,
3056
+ "ai_enabled": false,
3057
+ "copy_field": false,
3058
+ "display_name": "System Message",
2922
3059
  "dynamic": false,
2923
- "info": "Add this placeholder between pages in the markdown output.",
3060
+ "info": "A system message that helps set the behavior of the assistant",
3061
+ "input_types": [
3062
+ "Message"
3063
+ ],
2924
3064
  "list": false,
2925
3065
  "list_add_label": "Add More",
2926
3066
  "load_from_db": false,
2927
- "name": "md_page_break_placeholder",
3067
+ "multiline": true,
3068
+ "name": "system_message",
3069
+ "override_skip": false,
2928
3070
  "placeholder": "",
2929
3071
  "required": false,
2930
- "show": false,
3072
+ "show": true,
2931
3073
  "title_case": false,
2932
3074
  "tool_mode": false,
3075
+ "trace_as_input": true,
2933
3076
  "trace_as_metadata": true,
3077
+ "track_in_telemetry": false,
2934
3078
  "type": "str",
2935
3079
  "value": ""
2936
3080
  },
2937
- "ocr_engine": {
2938
- "_input_type": "DropdownInput",
3081
+ "temperature": {
3082
+ "_input_type": "SliderInput",
2939
3083
  "advanced": true,
2940
- "combobox": false,
2941
- "dialog_inputs": {},
2942
- "display_name": "OCR Engine",
3084
+ "display_name": "Temperature",
2943
3085
  "dynamic": false,
2944
- "external_options": {},
2945
- "info": "OCR engine to use. Only available when pipeline is set to 'standard'.",
2946
- "name": "ocr_engine",
2947
- "options": [
2948
- "None",
2949
- "easyocr"
2950
- ],
2951
- "options_metadata": [],
3086
+ "info": "Controls randomness in responses",
3087
+ "max_label": "",
3088
+ "max_label_icon": "",
3089
+ "min_label": "",
3090
+ "min_label_icon": "",
3091
+ "name": "temperature",
3092
+ "override_skip": false,
2952
3093
  "placeholder": "",
3094
+ "range_spec": {
3095
+ "max": 1,
3096
+ "min": 0,
3097
+ "step": 0.01,
3098
+ "step_type": "float"
3099
+ },
2953
3100
  "required": false,
2954
- "show": false,
3101
+ "show": true,
3102
+ "slider_buttons": false,
3103
+ "slider_buttons_options": [],
3104
+ "slider_input": false,
2955
3105
  "title_case": false,
2956
- "toggle": false,
2957
3106
  "tool_mode": false,
2958
- "trace_as_metadata": true,
2959
- "type": "str",
2960
- "value": "easyocr"
2961
- },
2962
- "path": {
2963
- "_input_type": "FileInput",
2964
- "advanced": false,
2965
- "display_name": "Files",
2966
- "dynamic": false,
2967
- "fileTypes": [
2968
- "csv",
2969
- "json",
2970
- "pdf",
2971
- "txt",
2972
- "md",
2973
- "mdx",
2974
- "yaml",
2975
- "yml",
2976
- "xml",
2977
- "html",
2978
- "htm",
2979
- "docx",
2980
- "py",
2981
- "sh",
2982
- "sql",
2983
- "js",
2984
- "ts",
2985
- "tsx",
2986
- "adoc",
2987
- "asciidoc",
2988
- "asc",
2989
- "bmp",
2990
- "dotx",
2991
- "dotm",
2992
- "docm",
2993
- "jpg",
2994
- "jpeg",
2995
- "png",
2996
- "potx",
2997
- "ppsx",
2998
- "pptm",
2999
- "potm",
3000
- "ppsm",
3001
- "pptx",
3002
- "tiff",
3003
- "xls",
3004
- "xlsx",
3005
- "xhtml",
3006
- "webp",
3007
- "zip",
3008
- "tar",
3009
- "tgz",
3010
- "bz2",
3011
- "gz"
3012
- ],
3013
- "file_path": [],
3014
- "info": "Supported file extensions: csv, json, pdf, txt, md, mdx, yaml, yml, xml, html, htm, docx, py, sh, sql, js, ts, tsx, adoc, asciidoc, asc, bmp, dotx, dotm, docm, jpg, jpeg, png, potx, ppsx, pptm, potm, ppsm, pptx, tiff, xls, xlsx, xhtml, webp; optionally bundled in file extensions: zip, tar, tgz, bz2, gz",
3015
- "list": true,
3016
- "list_add_label": "Add More",
3017
- "name": "path",
3018
- "placeholder": "",
3019
- "real_time_refresh": true,
3020
- "required": false,
3021
- "show": true,
3022
- "temp_file": false,
3023
- "title_case": false,
3024
- "trace_as_metadata": true,
3025
- "type": "file",
3026
- "value": ""
3027
- },
3028
- "pipeline": {
3029
- "_input_type": "DropdownInput",
3030
- "advanced": true,
3031
- "combobox": false,
3032
- "dialog_inputs": {},
3033
- "display_name": "Pipeline",
3034
- "dynamic": false,
3035
- "external_options": {},
3036
- "info": "Docling pipeline to use",
3037
- "name": "pipeline",
3038
- "options": [
3039
- "standard",
3040
- "vlm"
3041
- ],
3042
- "options_metadata": [],
3043
- "placeholder": "",
3044
- "real_time_refresh": true,
3045
- "required": false,
3046
- "show": false,
3047
- "title_case": false,
3048
- "toggle": false,
3049
- "tool_mode": false,
3050
- "trace_as_metadata": true,
3051
- "type": "str",
3052
- "value": "standard"
3053
- },
3054
- "separator": {
3055
- "_input_type": "StrInput",
3056
- "advanced": true,
3057
- "display_name": "Separator",
3058
- "dynamic": false,
3059
- "info": "Specify the separator to use between multiple outputs in Message format.",
3060
- "list": false,
3061
- "list_add_label": "Add More",
3062
- "load_from_db": false,
3063
- "name": "separator",
3064
- "placeholder": "",
3065
- "required": false,
3066
- "show": true,
3067
- "title_case": false,
3068
- "tool_mode": false,
3069
- "trace_as_metadata": true,
3070
- "type": "str",
3071
- "value": "\n\n"
3072
- },
3073
- "silent_errors": {
3074
- "_input_type": "BoolInput",
3075
- "advanced": true,
3076
- "display_name": "Silent Errors",
3077
- "dynamic": false,
3078
- "info": "If true, errors will not raise an exception.",
3079
- "list": false,
3080
- "list_add_label": "Add More",
3081
- "name": "silent_errors",
3082
- "placeholder": "",
3083
- "required": false,
3084
- "show": true,
3085
- "title_case": false,
3086
- "tool_mode": false,
3087
- "trace_as_metadata": true,
3088
- "type": "bool",
3089
- "value": false
3090
- },
3091
- "use_multithreading": {
3092
- "_input_type": "BoolInput",
3093
- "advanced": true,
3094
- "display_name": "[Deprecated] Use Multithreading",
3095
- "dynamic": false,
3096
- "info": "Set 'Processing Concurrency' greater than 1 to enable multithreading.",
3097
- "list": false,
3098
- "list_add_label": "Add More",
3099
- "name": "use_multithreading",
3100
- "placeholder": "",
3101
- "required": false,
3102
- "show": true,
3103
- "title_case": false,
3104
- "tool_mode": false,
3105
- "trace_as_metadata": true,
3106
- "type": "bool",
3107
- "value": true
3107
+ "track_in_telemetry": false,
3108
+ "type": "slider",
3109
+ "value": 0.1
3108
3110
  }
3109
3111
  },
3110
3112
  "tool_mode": false
3111
3113
  },
3114
+ "selected_output": "text_output",
3112
3115
  "showNode": true,
3113
- "type": "File"
3116
+ "type": "LanguageModelComponent"
3114
3117
  },
3115
3118
  "dragging": false,
3116
- "id": "File-7D3hP",
3119
+ "id": "LanguageModelComponent-rL7g3",
3117
3120
  "measured": {
3118
- "height": 256,
3121
+ "height": 369,
3119
3122
  "width": 320
3120
3123
  },
3121
3124
  "position": {
3122
- "x": 1330.7650978046952,
3123
- "y": 1431.5905495627503
3125
+ "x": 2354.7612483129965,
3126
+ "y": 633.8261067248878
3124
3127
  },
3125
3128
  "selected": false,
3126
3129
  "type": "genericNode"
3127
3130
  },
3128
3131
  {
3129
3132
  "data": {
3130
- "id": "LanguageModelComponent-Wqbva",
3133
+ "id": "AstraDB-ECtXX",
3131
3134
  "node": {
3132
3135
  "base_classes": [
3133
- "LanguageModel",
3134
- "Message"
3136
+ "Data",
3137
+ "DataFrame",
3138
+ "VectorStore"
3135
3139
  ],
3136
3140
  "beta": false,
3137
3141
  "conditional_paths": [],
3138
3142
  "custom_fields": {},
3139
- "description": "Runs a language model given a specified provider.",
3140
- "display_name": "Language Model",
3141
- "documentation": "https://docs.langflow.org/components-models",
3143
+ "description": "Ingest and search documents in Astra DB",
3144
+ "display_name": "Astra DB",
3145
+ "documentation": "https://docs.datastax.com/en/langflow/astra-components.html",
3142
3146
  "edited": false,
3143
3147
  "field_order": [
3144
- "model",
3145
- "api_key",
3146
- "base_url_ibm_watsonx",
3147
- "project_id",
3148
- "ollama_base_url",
3149
- "input_value",
3150
- "system_message",
3151
- "stream",
3152
- "temperature"
3148
+ "token",
3149
+ "environment",
3150
+ "database_name",
3151
+ "api_endpoint",
3152
+ "keyspace",
3153
+ "collection_name",
3154
+ "embedding_model",
3155
+ "ingest_data",
3156
+ "search_query",
3157
+ "should_cache_vector_store",
3158
+ "search_method",
3159
+ "reranker",
3160
+ "lexical_terms",
3161
+ "number_of_results",
3162
+ "search_type",
3163
+ "search_score_threshold",
3164
+ "advanced_search_filter",
3165
+ "autodetect_collection",
3166
+ "content_field",
3167
+ "deletion_field",
3168
+ "ignore_invalid_documents",
3169
+ "astradb_vectorstore_kwargs"
3153
3170
  ],
3154
3171
  "frozen": false,
3155
- "icon": "brain-circuit",
3156
- "last_updated": "2025-12-11T21:29:10.202Z",
3172
+ "icon": "AstraDB",
3173
+ "last_updated": "2025-12-20T17:35:17.510Z",
3157
3174
  "legacy": false,
3158
- "lf_version": "1.7.0",
3159
3175
  "metadata": {
3160
- "code_hash": "7fe3257f2169",
3176
+ "code_hash": "d52094e54e96",
3161
3177
  "dependencies": {
3162
3178
  "dependencies": [
3179
+ {
3180
+ "name": "astrapy",
3181
+ "version": "2.1.0"
3182
+ },
3183
+ {
3184
+ "name": "langchain_core",
3185
+ "version": "0.3.80"
3186
+ },
3163
3187
  {
3164
3188
  "name": "lfx",
3165
3189
  "version": null
3190
+ },
3191
+ {
3192
+ "name": "langchain_astradb",
3193
+ "version": "0.6.1"
3166
3194
  }
3167
3195
  ],
3168
- "total_dependencies": 1
3196
+ "total_dependencies": 4
3169
3197
  },
3170
- "keywords": [
3171
- "model",
3172
- "llm",
3173
- "language model",
3174
- "large language model"
3175
- ],
3176
- "module": "lfx.components.models_and_agents.language_model.LanguageModelComponent"
3198
+ "module": "lfx.components.datastax.astradb_vectorstore.AstraDBVectorStoreComponent"
3177
3199
  },
3178
3200
  "minimized": false,
3179
3201
  "output_types": [],
@@ -3181,99 +3203,127 @@
3181
3203
  {
3182
3204
  "allows_loop": false,
3183
3205
  "cache": true,
3184
- "display_name": "Model Response",
3206
+ "display_name": "Search Results",
3185
3207
  "group_outputs": false,
3186
- "loop_types": null,
3187
- "method": "text_response",
3188
- "name": "text_output",
3189
- "options": null,
3190
- "required_inputs": null,
3191
- "selected": "Message",
3208
+ "method": "search_documents",
3209
+ "name": "search_results",
3210
+ "selected": "Data",
3192
3211
  "tool_mode": true,
3193
3212
  "types": [
3194
- "Message"
3213
+ "Data"
3195
3214
  ],
3196
3215
  "value": "__UNDEFINED__"
3197
3216
  },
3198
3217
  {
3199
3218
  "allows_loop": false,
3200
3219
  "cache": true,
3201
- "display_name": "Language Model",
3220
+ "display_name": "DataFrame",
3202
3221
  "group_outputs": false,
3203
- "loop_types": null,
3204
- "method": "build_model",
3205
- "name": "model_output",
3206
- "options": null,
3207
- "required_inputs": null,
3208
- "selected": "LanguageModel",
3222
+ "method": "as_dataframe",
3223
+ "name": "dataframe",
3224
+ "selected": "DataFrame",
3209
3225
  "tool_mode": true,
3210
3226
  "types": [
3211
- "LanguageModel"
3227
+ "DataFrame"
3228
+ ],
3229
+ "value": "__UNDEFINED__"
3230
+ },
3231
+ {
3232
+ "allows_loop": false,
3233
+ "cache": true,
3234
+ "display_name": "Vector Store Connection",
3235
+ "group_outputs": false,
3236
+ "hidden": false,
3237
+ "method": "as_vector_store",
3238
+ "name": "vectorstoreconnection",
3239
+ "selected": "VectorStore",
3240
+ "tool_mode": true,
3241
+ "types": [
3242
+ "VectorStore"
3212
3243
  ],
3213
3244
  "value": "__UNDEFINED__"
3214
3245
  }
3215
3246
  ],
3216
3247
  "pinned": false,
3217
- "priority": 0,
3218
3248
  "template": {
3219
- "_frontend_node_flow_id": {
3220
- "value": "524f71dc-cc58-441a-a009-c71d6755765f"
3221
- },
3222
- "_frontend_node_folder_id": {
3223
- "value": "afaca9ee-97e3-4211-8569-722a4058ea5e"
3224
- },
3225
3249
  "_type": "Component",
3226
- "api_key": {
3227
- "_input_type": "SecretStrInput",
3250
+ "advanced_search_filter": {
3251
+ "_input_type": "NestedDictInput",
3228
3252
  "advanced": true,
3229
- "display_name": "API Key",
3253
+ "display_name": "Search Metadata Filter",
3230
3254
  "dynamic": false,
3231
- "info": "Model Provider API key",
3232
- "input_types": [],
3233
- "load_from_db": false,
3234
- "name": "api_key",
3235
- "override_skip": false,
3236
- "password": true,
3255
+ "info": "Optional dictionary of filters to apply to the search query.",
3256
+ "list": false,
3257
+ "list_add_label": "Add More",
3258
+ "name": "advanced_search_filter",
3237
3259
  "placeholder": "",
3238
- "real_time_refresh": true,
3239
3260
  "required": false,
3240
3261
  "show": true,
3241
3262
  "title_case": false,
3242
- "track_in_telemetry": false,
3243
- "type": "str",
3244
- "value": ""
3263
+ "tool_mode": false,
3264
+ "trace_as_input": true,
3265
+ "trace_as_metadata": true,
3266
+ "type": "NestedDict",
3267
+ "value": {}
3245
3268
  },
3246
- "base_url_ibm_watsonx": {
3269
+ "api_endpoint": {
3247
3270
  "_input_type": "DropdownInput",
3248
- "advanced": false,
3271
+ "advanced": true,
3249
3272
  "combobox": false,
3250
3273
  "dialog_inputs": {},
3251
- "display_name": "watsonx API Endpoint",
3274
+ "display_name": "Astra DB API Endpoint",
3252
3275
  "dynamic": false,
3253
3276
  "external_options": {},
3254
- "info": "The base URL of the API (IBM watsonx.ai only)",
3255
- "name": "base_url_ibm_watsonx",
3256
- "options": [
3257
- "https://us-south.ml.cloud.ibm.com",
3258
- "https://eu-de.ml.cloud.ibm.com",
3259
- "https://eu-gb.ml.cloud.ibm.com",
3260
- "https://au-syd.ml.cloud.ibm.com",
3261
- "https://jp-tok.ml.cloud.ibm.com",
3262
- "https://ca-tor.ml.cloud.ibm.com"
3263
- ],
3277
+ "info": "The API Endpoint for the Astra DB instance. Supercedes database selection.",
3278
+ "name": "api_endpoint",
3279
+ "options": [],
3264
3280
  "options_metadata": [],
3265
- "override_skip": false,
3266
3281
  "placeholder": "",
3267
- "real_time_refresh": true,
3268
3282
  "required": false,
3269
- "show": false,
3283
+ "show": true,
3270
3284
  "title_case": false,
3271
3285
  "toggle": false,
3272
3286
  "tool_mode": false,
3273
3287
  "trace_as_metadata": true,
3274
- "track_in_telemetry": true,
3275
3288
  "type": "str",
3276
- "value": "https://us-south.ml.cloud.ibm.com"
3289
+ "value": ""
3290
+ },
3291
+ "astradb_vectorstore_kwargs": {
3292
+ "_input_type": "NestedDictInput",
3293
+ "advanced": true,
3294
+ "display_name": "AstraDBVectorStore Parameters",
3295
+ "dynamic": false,
3296
+ "info": "Optional dictionary of additional parameters for the AstraDBVectorStore.",
3297
+ "list": false,
3298
+ "list_add_label": "Add More",
3299
+ "name": "astradb_vectorstore_kwargs",
3300
+ "placeholder": "",
3301
+ "required": false,
3302
+ "show": true,
3303
+ "title_case": false,
3304
+ "tool_mode": false,
3305
+ "trace_as_input": true,
3306
+ "trace_as_metadata": true,
3307
+ "type": "NestedDict",
3308
+ "value": {}
3309
+ },
3310
+ "autodetect_collection": {
3311
+ "_input_type": "BoolInput",
3312
+ "advanced": true,
3313
+ "display_name": "Autodetect Collection",
3314
+ "dynamic": false,
3315
+ "info": "Boolean flag to determine whether to autodetect the collection.",
3316
+ "list": false,
3317
+ "list_add_label": "Add More",
3318
+ "name": "autodetect_collection",
3319
+ "placeholder": "",
3320
+ "required": false,
3321
+ "show": true,
3322
+ "title_case": false,
3323
+ "tool_mode": false,
3324
+ "trace_as_metadata": true,
3325
+ "type": "bool",
3326
+ "value": true
3277
3327
  },
3278
3328
  "code": {
3279
3329
  "advanced": true,
@@ -3291,220 +3341,613 @@
3291
3341
  "show": true,
3292
3342
  "title_case": false,
3293
3343
  "type": "code",
3294
- "value": "from lfx.base.models.model import LCModelComponent\nfrom lfx.base.models.unified_models import (\n get_language_model_options,\n get_llm,\n update_model_options_in_build_config,\n)\nfrom lfx.base.models.watsonx_constants import IBM_WATSONX_URLS\nfrom lfx.field_typing import LanguageModel\nfrom lfx.field_typing.range_spec import RangeSpec\nfrom lfx.inputs.inputs import BoolInput, DropdownInput, StrInput\nfrom lfx.io import MessageInput, ModelInput, MultilineInput, SecretStrInput, SliderInput\n\nDEFAULT_OLLAMA_URL = \"http://localhost:11434\"\n\n\nclass LanguageModelComponent(LCModelComponent):\n display_name = \"Language Model\"\n description = \"Runs a language model given a specified provider.\"\n documentation: str = \"https://docs.langflow.org/components-models\"\n icon = \"brain-circuit\"\n category = \"models\"\n priority = 0 # Set priority to 0 to make it appear first\n\n inputs = [\n ModelInput(\n name=\"model\",\n display_name=\"Language Model\",\n info=\"Select your model provider\",\n real_time_refresh=True,\n required=True,\n ),\n SecretStrInput(\n name=\"api_key\",\n display_name=\"API Key\",\n info=\"Model Provider API key\",\n required=False,\n show=True,\n real_time_refresh=True,\n advanced=True,\n ),\n DropdownInput(\n name=\"base_url_ibm_watsonx\",\n display_name=\"watsonx API Endpoint\",\n info=\"The base URL of the API (IBM watsonx.ai only)\",\n options=IBM_WATSONX_URLS,\n value=IBM_WATSONX_URLS[0],\n show=False,\n real_time_refresh=True,\n ),\n StrInput(\n name=\"project_id\",\n display_name=\"watsonx Project ID\",\n info=\"The project ID associated with the foundation model (IBM watsonx.ai only)\",\n show=False,\n required=False,\n ),\n MessageInput(\n name=\"ollama_base_url\",\n display_name=\"Ollama API URL\",\n info=f\"Endpoint of the Ollama API (Ollama only). Defaults to {DEFAULT_OLLAMA_URL}\",\n value=DEFAULT_OLLAMA_URL,\n show=False,\n real_time_refresh=True,\n load_from_db=True,\n ),\n MessageInput(\n name=\"input_value\",\n display_name=\"Input\",\n info=\"The input text to send to the model\",\n ),\n MultilineInput(\n name=\"system_message\",\n display_name=\"System Message\",\n info=\"A system message that helps set the behavior of the assistant\",\n advanced=False,\n ),\n BoolInput(\n name=\"stream\",\n display_name=\"Stream\",\n info=\"Whether to stream the response\",\n value=False,\n advanced=True,\n ),\n SliderInput(\n name=\"temperature\",\n display_name=\"Temperature\",\n value=0.1,\n info=\"Controls randomness in responses\",\n range_spec=RangeSpec(min=0, max=1, step=0.01),\n advanced=True,\n ),\n ]\n\n def build_model(self) -> LanguageModel:\n return get_llm(\n model=self.model,\n user_id=self.user_id,\n api_key=self.api_key,\n temperature=self.temperature,\n stream=self.stream,\n )\n\n def update_build_config(self, build_config: dict, field_value: str, field_name: str | None = None):\n \"\"\"Dynamically update build config with user-filtered model options.\"\"\"\n return update_model_options_in_build_config(\n component=self,\n build_config=build_config,\n cache_key_prefix=\"language_model_options\",\n get_options_func=get_language_model_options,\n field_name=field_name,\n field_value=field_value,\n )\n"
3295
- },
3296
- "input_value": {
3297
- "_input_type": "MessageInput",
3298
- "advanced": false,
3299
- "display_name": "Input",
3300
- "dynamic": false,
3301
- "info": "The input text to send to the model",
3302
- "input_types": [
3303
- "Message"
3304
- ],
3305
- "list": false,
3306
- "list_add_label": "Add More",
3307
- "load_from_db": false,
3308
- "name": "input_value",
3309
- "override_skip": false,
3310
- "placeholder": "",
3311
- "required": false,
3312
- "show": true,
3313
- "title_case": false,
3314
- "tool_mode": false,
3315
- "trace_as_input": true,
3316
- "trace_as_metadata": true,
3317
- "track_in_telemetry": false,
3318
- "type": "str",
3319
- "value": ""
3344
+ "value": "from astrapy import DataAPIClient\nfrom langchain_core.documents import Document\n\nfrom lfx.base.datastax.astradb_base import AstraDBBaseComponent\nfrom lfx.base.vectorstores.model import LCVectorStoreComponent, check_cached_vector_store\nfrom lfx.base.vectorstores.vector_store_connection_decorator import vector_store_connection\nfrom lfx.helpers.data import docs_to_data\nfrom lfx.io import BoolInput, DropdownInput, FloatInput, HandleInput, IntInput, NestedDictInput, QueryInput, StrInput\nfrom lfx.schema.data import Data\nfrom lfx.serialization import serialize\nfrom lfx.utils.version import get_version_info\n\n\n@vector_store_connection\nclass AstraDBVectorStoreComponent(AstraDBBaseComponent, LCVectorStoreComponent):\n display_name: str = \"Astra DB\"\n description: str = \"Ingest and search documents in Astra DB\"\n documentation: str = \"https://docs.langflow.org/bundles-datastax\"\n name = \"AstraDB\"\n icon: str = \"AstraDB\"\n\n inputs = [\n *AstraDBBaseComponent.inputs,\n *LCVectorStoreComponent.inputs,\n HandleInput(\n name=\"embedding_model\",\n display_name=\"Embedding Model\",\n input_types=[\"Embeddings\"],\n info=\"Specify the Embedding Model. Not required for Astra Vectorize collections.\",\n required=False,\n show=True,\n ),\n StrInput(\n name=\"content_field\",\n display_name=\"Content Field\",\n info=\"Field to use as the text content field for the vector store.\",\n advanced=True,\n ),\n StrInput(\n name=\"deletion_field\",\n display_name=\"Deletion Based On Field\",\n info=\"When this parameter is provided, documents in the target collection with \"\n \"metadata field values matching the input metadata field value will be deleted \"\n \"before new data is loaded.\",\n advanced=True,\n ),\n BoolInput(\n name=\"ignore_invalid_documents\",\n display_name=\"Ignore Invalid Documents\",\n info=\"Boolean flag to determine whether to ignore invalid documents at runtime.\",\n advanced=True,\n ),\n NestedDictInput(\n name=\"astradb_vectorstore_kwargs\",\n display_name=\"AstraDBVectorStore Parameters\",\n info=\"Optional dictionary of additional parameters for the AstraDBVectorStore.\",\n advanced=True,\n ),\n DropdownInput(\n name=\"search_method\",\n display_name=\"Search Method\",\n info=(\n \"Determine how your content is matched: Vector finds semantic similarity, \"\n \"and Hybrid Search (suggested) combines both approaches \"\n \"with a reranker.\"\n ),\n options=[\"Hybrid Search\", \"Vector Search\"], # TODO: Restore Lexical Search?\n options_metadata=[{\"icon\": \"SearchHybrid\"}, {\"icon\": \"SearchVector\"}],\n value=\"Vector Search\",\n advanced=True,\n real_time_refresh=True,\n ),\n DropdownInput(\n name=\"reranker\",\n display_name=\"Reranker\",\n info=\"Post-retrieval model that re-scores results for optimal relevance ranking.\",\n show=False,\n toggle=True,\n ),\n QueryInput(\n name=\"lexical_terms\",\n display_name=\"Lexical Terms\",\n info=\"Add additional terms/keywords to augment search precision.\",\n placeholder=\"Enter terms to search...\",\n separator=\" \",\n show=False,\n value=\"\",\n ),\n IntInput(\n name=\"number_of_results\",\n display_name=\"Number of Search Results\",\n info=\"Number of search results to return.\",\n advanced=True,\n value=4,\n ),\n DropdownInput(\n name=\"search_type\",\n display_name=\"Search Type\",\n info=\"Search type to use\",\n options=[\"Similarity\", \"Similarity with score threshold\", \"MMR (Max Marginal Relevance)\"],\n value=\"Similarity\",\n advanced=True,\n ),\n FloatInput(\n name=\"search_score_threshold\",\n display_name=\"Search Score Threshold\",\n info=\"Minimum similarity score threshold for search results. \"\n \"(when using 'Similarity with score threshold')\",\n value=0,\n advanced=True,\n ),\n NestedDictInput(\n name=\"advanced_search_filter\",\n display_name=\"Search Metadata Filter\",\n info=\"Optional dictionary of filters to apply to the search query.\",\n advanced=True,\n ),\n ]\n\n async def update_build_config(\n self,\n build_config: dict,\n field_value: str | dict,\n field_name: str | None = None,\n ) -> dict:\n \"\"\"Update build configuration with proper handling of embedding and search options.\"\"\"\n # Handle base astra db build config updates\n build_config = await super().update_build_config(\n build_config,\n field_value=field_value,\n field_name=field_name,\n )\n\n # Set embedding model display based on provider selection\n if isinstance(field_value, dict) and \"02_embedding_generation_provider\" in field_value:\n embedding_provider = field_value.get(\"02_embedding_generation_provider\")\n is_custom_provider = embedding_provider and embedding_provider != \"Bring your own\"\n provider = embedding_provider.lower() if is_custom_provider and embedding_provider is not None else None\n\n build_config[\"embedding_model\"][\"show\"] = not bool(provider)\n build_config[\"embedding_model\"][\"required\"] = not bool(provider)\n\n # Early return if no API endpoint is configured\n if not self.get_api_endpoint():\n return build_config\n\n # Configure search method and related options\n return self._configure_search_options(build_config)\n\n def _configure_search_options(self, build_config: dict) -> dict:\n \"\"\"Configure hybrid search, reranker, and vector search options.\"\"\"\n # Detect available hybrid search capabilities\n hybrid_capabilities = self._detect_hybrid_capabilities()\n\n # Return if we haven't selected a collection\n if not build_config[\"collection_name\"][\"options\"] or not build_config[\"collection_name\"][\"value\"]:\n return build_config\n\n # Get collection options\n collection_options = self._get_collection_options(build_config)\n\n # Get the selected collection index\n index = build_config[\"collection_name\"][\"options\"].index(build_config[\"collection_name\"][\"value\"])\n provider = build_config[\"collection_name\"][\"options_metadata\"][index][\"provider\"]\n build_config[\"embedding_model\"][\"show\"] = not bool(provider)\n build_config[\"embedding_model\"][\"required\"] = not bool(provider)\n\n # Determine search configuration\n is_vector_search = build_config[\"search_method\"][\"value\"] == \"Vector Search\"\n is_autodetect = build_config[\"autodetect_collection\"][\"value\"]\n\n # Apply hybrid search configuration\n if hybrid_capabilities[\"available\"]:\n build_config[\"search_method\"][\"show\"] = True\n build_config[\"search_method\"][\"options\"] = [\"Hybrid Search\", \"Vector Search\"]\n build_config[\"search_method\"][\"value\"] = build_config[\"search_method\"].get(\"value\", \"Hybrid Search\")\n\n build_config[\"reranker\"][\"options\"] = hybrid_capabilities[\"reranker_models\"]\n build_config[\"reranker\"][\"options_metadata\"] = hybrid_capabilities[\"reranker_metadata\"]\n if hybrid_capabilities[\"reranker_models\"]:\n build_config[\"reranker\"][\"value\"] = hybrid_capabilities[\"reranker_models\"][0]\n else:\n build_config[\"search_method\"][\"show\"] = False\n build_config[\"search_method\"][\"options\"] = [\"Vector Search\"]\n build_config[\"search_method\"][\"value\"] = \"Vector Search\"\n build_config[\"reranker\"][\"options\"] = []\n build_config[\"reranker\"][\"options_metadata\"] = []\n\n # Configure reranker visibility and state\n hybrid_enabled = (\n collection_options[\"rerank_enabled\"] and build_config[\"search_method\"][\"value\"] == \"Hybrid Search\"\n )\n\n build_config[\"reranker\"][\"show\"] = hybrid_enabled\n build_config[\"reranker\"][\"toggle_value\"] = hybrid_enabled\n build_config[\"reranker\"][\"toggle_disable\"] = is_vector_search\n\n # Configure lexical terms\n lexical_visible = collection_options[\"lexical_enabled\"] and not is_vector_search\n build_config[\"lexical_terms\"][\"show\"] = lexical_visible\n build_config[\"lexical_terms\"][\"value\"] = \"\" if is_vector_search else build_config[\"lexical_terms\"][\"value\"]\n\n # Configure search type and score threshold\n build_config[\"search_type\"][\"show\"] = is_vector_search\n build_config[\"search_score_threshold\"][\"show\"] = is_vector_search\n\n # Force similarity search for hybrid mode or autodetect\n if hybrid_enabled or is_autodetect:\n build_config[\"search_type\"][\"value\"] = \"Similarity\"\n\n return build_config\n\n def _detect_hybrid_capabilities(self) -> dict:\n \"\"\"Detect available hybrid search and reranking capabilities.\"\"\"\n environment = self.get_environment(self.environment)\n client = DataAPIClient(environment=environment)\n admin_client = client.get_admin()\n db_admin = admin_client.get_database_admin(self.get_api_endpoint(), token=self.token)\n\n try:\n providers = db_admin.find_reranking_providers()\n reranker_models = [\n model.name for provider_data in providers.reranking_providers.values() for model in provider_data.models\n ]\n reranker_metadata = [\n {\"icon\": self.get_provider_icon(provider_name=model.name.split(\"/\")[0])}\n for provider in providers.reranking_providers.values()\n for model in provider.models\n ]\n except Exception as e: # noqa: BLE001\n self.log(f\"Hybrid search not available: {e}\")\n return {\n \"available\": False,\n \"reranker_models\": [],\n \"reranker_metadata\": [],\n }\n else:\n return {\n \"available\": True,\n \"reranker_models\": reranker_models,\n \"reranker_metadata\": reranker_metadata,\n }\n\n def _get_collection_options(self, build_config: dict) -> dict:\n \"\"\"Retrieve collection-level search options.\"\"\"\n database = self.get_database_object(api_endpoint=build_config[\"api_endpoint\"][\"value\"])\n collection = database.get_collection(\n name=build_config[\"collection_name\"][\"value\"],\n keyspace=build_config[\"keyspace\"][\"value\"],\n )\n\n col_options = collection.options()\n\n return {\n \"rerank_enabled\": bool(col_options.rerank and col_options.rerank.enabled),\n \"lexical_enabled\": bool(col_options.lexical and col_options.lexical.enabled),\n }\n\n @check_cached_vector_store\n def build_vector_store(self):\n try:\n from langchain_astradb import AstraDBVectorStore\n from langchain_astradb.utils.astradb import HybridSearchMode\n except ImportError as e:\n msg = (\n \"Could not import langchain Astra DB integration package. \"\n \"Please install it with `pip install langchain-astradb`.\"\n )\n raise ImportError(msg) from e\n\n # Get the embedding model and additional params\n embedding_params = {\"embedding\": self.embedding_model} if self.embedding_model else {}\n\n # Get the additional parameters\n additional_params = self.astradb_vectorstore_kwargs or {}\n\n # Get Langflow version and platform information\n __version__ = get_version_info()[\"version\"]\n langflow_prefix = \"\"\n # if os.getenv(\"AWS_EXECUTION_ENV\") == \"AWS_ECS_FARGATE\": # TODO: More precise way of detecting\n # langflow_prefix = \"ds-\"\n\n # Get the database object\n database = self.get_database_object()\n autodetect = self.collection_name in database.list_collection_names() and self.autodetect_collection\n\n # Bundle up the auto-detect parameters\n autodetect_params = {\n \"autodetect_collection\": autodetect,\n \"content_field\": (\n self.content_field\n if self.content_field and embedding_params\n else (\n \"page_content\"\n if embedding_params\n and self.collection_data(collection_name=self.collection_name, database=database) == 0\n else None\n )\n ),\n \"ignore_invalid_documents\": self.ignore_invalid_documents,\n }\n\n # Choose HybridSearchMode based on the selected param\n hybrid_search_mode = HybridSearchMode.DEFAULT if self.search_method == \"Hybrid Search\" else HybridSearchMode.OFF\n\n # Attempt to build the Vector Store object\n try:\n vector_store = AstraDBVectorStore(\n # Astra DB Authentication Parameters\n token=self.token,\n api_endpoint=database.api_endpoint,\n namespace=database.keyspace,\n collection_name=self.collection_name,\n environment=self.environment,\n # Hybrid Search Parameters\n hybrid_search=hybrid_search_mode,\n # Astra DB Usage Tracking Parameters\n ext_callers=[(f\"{langflow_prefix}langflow\", __version__)],\n # Astra DB Vector Store Parameters\n **autodetect_params,\n **embedding_params,\n **additional_params,\n )\n except ValueError as e:\n msg = f\"Error initializing AstraDBVectorStore: {e}\"\n raise ValueError(msg) from e\n\n # Add documents to the vector store\n self._add_documents_to_vector_store(vector_store)\n\n return vector_store\n\n def _add_documents_to_vector_store(self, vector_store) -> None:\n self.ingest_data = self._prepare_ingest_data()\n\n documents = []\n for _input in self.ingest_data or []:\n if isinstance(_input, Data):\n documents.append(_input.to_lc_document())\n else:\n msg = \"Vector Store Inputs must be Data objects.\"\n raise TypeError(msg)\n\n documents = [\n Document(page_content=doc.page_content, metadata=serialize(doc.metadata, to_str=True)) for doc in documents\n ]\n\n if documents and self.deletion_field:\n self.log(f\"Deleting documents where {self.deletion_field}\")\n try:\n database = self.get_database_object()\n collection = database.get_collection(self.collection_name, keyspace=database.keyspace)\n delete_values = list({doc.metadata[self.deletion_field] for doc in documents})\n self.log(f\"Deleting documents where {self.deletion_field} matches {delete_values}.\")\n collection.delete_many({f\"metadata.{self.deletion_field}\": {\"$in\": delete_values}})\n except ValueError as e:\n msg = f\"Error deleting documents from AstraDBVectorStore based on '{self.deletion_field}': {e}\"\n raise ValueError(msg) from e\n\n if documents:\n self.log(f\"Adding {len(documents)} documents to the Vector Store.\")\n try:\n vector_store.add_documents(documents)\n except ValueError as e:\n msg = f\"Error adding documents to AstraDBVectorStore: {e}\"\n raise ValueError(msg) from e\n else:\n self.log(\"No documents to add to the Vector Store.\")\n\n def _map_search_type(self) -> str:\n search_type_mapping = {\n \"Similarity with score threshold\": \"similarity_score_threshold\",\n \"MMR (Max Marginal Relevance)\": \"mmr\",\n }\n\n return search_type_mapping.get(self.search_type, \"similarity\")\n\n def _build_search_args(self):\n # Clean up the search query\n query = self.search_query if isinstance(self.search_query, str) and self.search_query.strip() else None\n lexical_terms = self.lexical_terms or None\n\n # Check if we have a search query, and if so set the args\n if query:\n args = {\n \"query\": query,\n \"search_type\": self._map_search_type(),\n \"k\": self.number_of_results,\n \"score_threshold\": self.search_score_threshold,\n \"lexical_query\": lexical_terms,\n }\n elif self.advanced_search_filter:\n args = {\n \"n\": self.number_of_results,\n }\n else:\n return {}\n\n filter_arg = self.advanced_search_filter or {}\n if filter_arg:\n args[\"filter\"] = filter_arg\n\n return args\n\n def search_documents(self, vector_store=None) -> list[Data]:\n vector_store = vector_store or self.build_vector_store()\n\n self.log(f\"Search input: {self.search_query}\")\n self.log(f\"Search type: {self.search_type}\")\n self.log(f\"Number of results: {self.number_of_results}\")\n self.log(f\"store.hybrid_search: {vector_store.hybrid_search}\")\n self.log(f\"Lexical terms: {self.lexical_terms}\")\n self.log(f\"Reranker: {self.reranker}\")\n\n try:\n search_args = self._build_search_args()\n except ValueError as e:\n msg = f\"Error in AstraDBVectorStore._build_search_args: {e}\"\n raise ValueError(msg) from e\n\n if not search_args:\n self.log(\"No search input or filters provided. Skipping search.\")\n return []\n\n docs = []\n search_method = \"search\" if \"query\" in search_args else \"metadata_search\"\n\n try:\n self.log(f\"Calling vector_store.{search_method} with args: {search_args}\")\n docs = getattr(vector_store, search_method)(**search_args)\n except ValueError as e:\n msg = f\"Error performing {search_method} in AstraDBVectorStore: {e}\"\n raise ValueError(msg) from e\n\n self.log(f\"Retrieved documents: {len(docs)}\")\n\n data = docs_to_data(docs)\n self.log(f\"Converted documents to data: {len(data)}\")\n self.status = data\n\n return data\n\n def get_retriever_kwargs(self):\n search_args = self._build_search_args()\n\n return {\n \"search_type\": self._map_search_type(),\n \"search_kwargs\": search_args,\n }\n"
3320
3345
  },
3321
- "is_refresh": false,
3322
- "model": {
3323
- "_input_type": "ModelInput",
3346
+ "collection_name": {
3347
+ "_input_type": "DropdownInput",
3324
3348
  "advanced": false,
3325
- "display_name": "Language Model",
3326
- "dynamic": false,
3327
- "external_options": {
3349
+ "combobox": true,
3350
+ "dialog_inputs": {
3328
3351
  "fields": {
3329
3352
  "data": {
3330
3353
  "node": {
3331
- "display_name": "Connect other models",
3332
- "icon": "CornerDownLeft",
3333
- "name": "connect_other_models"
3354
+ "description": "Please allow several seconds for creation to complete.",
3355
+ "display_name": "Create new collection",
3356
+ "field_order": [
3357
+ "01_new_collection_name",
3358
+ "02_embedding_generation_provider",
3359
+ "03_embedding_generation_model",
3360
+ "04_dimension"
3361
+ ],
3362
+ "name": "create_collection",
3363
+ "template": {
3364
+ "01_new_collection_name": {
3365
+ "_input_type": "StrInput",
3366
+ "advanced": false,
3367
+ "display_name": "Name",
3368
+ "dynamic": false,
3369
+ "info": "Name of the new collection to create in Astra DB.",
3370
+ "list": false,
3371
+ "list_add_label": "Add More",
3372
+ "load_from_db": false,
3373
+ "name": "new_collection_name",
3374
+ "placeholder": "",
3375
+ "required": true,
3376
+ "show": true,
3377
+ "title_case": false,
3378
+ "tool_mode": false,
3379
+ "trace_as_metadata": true,
3380
+ "type": "str",
3381
+ "value": ""
3382
+ },
3383
+ "02_embedding_generation_provider": {
3384
+ "_input_type": "DropdownInput",
3385
+ "advanced": false,
3386
+ "combobox": false,
3387
+ "dialog_inputs": {},
3388
+ "display_name": "Embedding generation method",
3389
+ "dynamic": false,
3390
+ "external_options": {},
3391
+ "helper_text": "To create collections with more embedding provider options, go to <a class=\"underline\" href=\"https://astra.datastax.com/\" target=\" _blank\" rel=\"noopener noreferrer\">your database in Astra DB</a>",
3392
+ "info": "Provider to use for generating embeddings.",
3393
+ "name": "embedding_generation_provider",
3394
+ "options": [],
3395
+ "options_metadata": [],
3396
+ "placeholder": "",
3397
+ "real_time_refresh": true,
3398
+ "required": true,
3399
+ "show": true,
3400
+ "title_case": false,
3401
+ "toggle": false,
3402
+ "tool_mode": false,
3403
+ "trace_as_metadata": true,
3404
+ "type": "str",
3405
+ "value": ""
3406
+ },
3407
+ "03_embedding_generation_model": {
3408
+ "_input_type": "DropdownInput",
3409
+ "advanced": false,
3410
+ "combobox": false,
3411
+ "dialog_inputs": {},
3412
+ "display_name": "Embedding model",
3413
+ "dynamic": false,
3414
+ "external_options": {},
3415
+ "info": "Model to use for generating embeddings.",
3416
+ "name": "embedding_generation_model",
3417
+ "options": [],
3418
+ "options_metadata": [],
3419
+ "placeholder": "",
3420
+ "real_time_refresh": true,
3421
+ "required": false,
3422
+ "show": true,
3423
+ "title_case": false,
3424
+ "toggle": false,
3425
+ "tool_mode": false,
3426
+ "trace_as_metadata": true,
3427
+ "type": "str",
3428
+ "value": ""
3429
+ },
3430
+ "04_dimension": {
3431
+ "_input_type": "IntInput",
3432
+ "advanced": false,
3433
+ "display_name": "Dimensions",
3434
+ "dynamic": false,
3435
+ "info": "Dimensions of the embeddings to generate.",
3436
+ "list": false,
3437
+ "list_add_label": "Add More",
3438
+ "name": "dimension",
3439
+ "placeholder": "",
3440
+ "required": false,
3441
+ "show": true,
3442
+ "title_case": false,
3443
+ "tool_mode": false,
3444
+ "trace_as_metadata": true,
3445
+ "type": "int"
3446
+ }
3447
+ }
3334
3448
  }
3335
3449
  }
3336
- }
3450
+ },
3451
+ "functionality": "create"
3337
3452
  },
3338
- "info": "Select your model provider",
3339
- "input_types": [
3340
- "LanguageModel"
3341
- ],
3342
- "list": false,
3343
- "list_add_label": "Add More",
3344
- "model_type": "language",
3345
- "name": "model",
3453
+ "display_name": "Collection",
3454
+ "dynamic": false,
3455
+ "external_options": {},
3456
+ "info": "The name of the collection within Astra DB where the vectors will be stored.",
3457
+ "name": "collection_name",
3346
3458
  "options": [],
3347
- "override_skip": false,
3348
- "placeholder": "Setup Provider",
3459
+ "options_metadata": [],
3460
+ "placeholder": "",
3349
3461
  "real_time_refresh": true,
3350
3462
  "refresh_button": true,
3351
3463
  "required": true,
3352
- "show": true,
3353
- "title_case": false,
3354
- "tool_mode": false,
3355
- "trace_as_input": true,
3356
- "track_in_telemetry": false,
3357
- "type": "model",
3358
- "value": []
3359
- },
3360
- "ollama_base_url": {
3361
- "_input_type": "MessageInput",
3362
- "advanced": false,
3363
- "display_name": "Ollama API URL",
3364
- "dynamic": false,
3365
- "info": "Endpoint of the Ollama API (Ollama only). Defaults to http://localhost:11434",
3366
- "input_types": [
3367
- "Message"
3368
- ],
3369
- "list": false,
3370
- "list_add_label": "Add More",
3371
- "load_from_db": false,
3372
- "name": "ollama_base_url",
3373
- "override_skip": false,
3374
- "placeholder": "",
3375
- "real_time_refresh": true,
3376
- "required": false,
3377
3464
  "show": false,
3378
3465
  "title_case": false,
3466
+ "toggle": false,
3379
3467
  "tool_mode": false,
3380
- "trace_as_input": true,
3381
3468
  "trace_as_metadata": true,
3382
- "track_in_telemetry": false,
3383
3469
  "type": "str",
3384
3470
  "value": ""
3385
3471
  },
3386
- "project_id": {
3472
+ "content_field": {
3387
3473
  "_input_type": "StrInput",
3388
- "advanced": false,
3389
- "display_name": "watsonx Project ID",
3474
+ "advanced": true,
3475
+ "display_name": "Content Field",
3390
3476
  "dynamic": false,
3391
- "info": "The project ID associated with the foundation model (IBM watsonx.ai only)",
3477
+ "info": "Field to use as the text content field for the vector store.",
3392
3478
  "list": false,
3393
3479
  "list_add_label": "Add More",
3394
3480
  "load_from_db": false,
3395
- "name": "project_id",
3396
- "override_skip": false,
3481
+ "name": "content_field",
3397
3482
  "placeholder": "",
3398
3483
  "required": false,
3399
- "show": false,
3484
+ "show": true,
3400
3485
  "title_case": false,
3401
3486
  "tool_mode": false,
3402
3487
  "trace_as_metadata": true,
3403
- "track_in_telemetry": false,
3404
3488
  "type": "str",
3405
3489
  "value": ""
3406
3490
  },
3407
- "stream": {
3408
- "_input_type": "BoolInput",
3409
- "advanced": true,
3410
- "display_name": "Stream",
3411
- "dynamic": false,
3412
- "info": "Whether to stream the response",
3413
- "list": false,
3414
- "list_add_label": "Add More",
3415
- "name": "stream",
3416
- "override_skip": false,
3417
- "placeholder": "",
3418
- "required": false,
3419
- "show": true,
3420
- "title_case": false,
3421
- "tool_mode": false,
3422
- "trace_as_metadata": true,
3423
- "track_in_telemetry": true,
3424
- "type": "bool",
3425
- "value": false
3491
+ "database_name": {
3492
+ "_input_type": "DropdownInput",
3493
+ "advanced": false,
3494
+ "combobox": true,
3495
+ "dialog_inputs": {
3496
+ "fields": {
3497
+ "data": {
3498
+ "node": {
3499
+ "description": "Please allow several minutes for creation to complete.",
3500
+ "display_name": "Create new database",
3501
+ "field_order": [
3502
+ "01_new_database_name",
3503
+ "02_cloud_provider",
3504
+ "03_region"
3505
+ ],
3506
+ "name": "create_database",
3507
+ "template": {
3508
+ "01_new_database_name": {
3509
+ "_input_type": "StrInput",
3510
+ "advanced": false,
3511
+ "display_name": "Name",
3512
+ "dynamic": false,
3513
+ "info": "Name of the new database to create in Astra DB.",
3514
+ "list": false,
3515
+ "list_add_label": "Add More",
3516
+ "load_from_db": false,
3517
+ "name": "new_database_name",
3518
+ "placeholder": "",
3519
+ "required": true,
3520
+ "show": true,
3521
+ "title_case": false,
3522
+ "tool_mode": false,
3523
+ "trace_as_metadata": true,
3524
+ "type": "str",
3525
+ "value": ""
3526
+ },
3527
+ "02_cloud_provider": {
3528
+ "_input_type": "DropdownInput",
3529
+ "advanced": false,
3530
+ "combobox": false,
3531
+ "dialog_inputs": {},
3532
+ "display_name": "Cloud provider",
3533
+ "dynamic": false,
3534
+ "external_options": {},
3535
+ "info": "Cloud provider for the new database.",
3536
+ "name": "cloud_provider",
3537
+ "options": [
3538
+ "Google Cloud Platform",
3539
+ "Amazon Web Services"
3540
+ ],
3541
+ "options_metadata": [],
3542
+ "placeholder": "",
3543
+ "real_time_refresh": true,
3544
+ "required": true,
3545
+ "show": true,
3546
+ "title_case": false,
3547
+ "toggle": false,
3548
+ "tool_mode": false,
3549
+ "trace_as_metadata": true,
3550
+ "type": "str",
3551
+ "value": ""
3552
+ },
3553
+ "03_region": {
3554
+ "_input_type": "DropdownInput",
3555
+ "advanced": false,
3556
+ "combobox": false,
3557
+ "dialog_inputs": {},
3558
+ "display_name": "Region",
3559
+ "dynamic": false,
3560
+ "external_options": {},
3561
+ "info": "Region for the new database.",
3562
+ "name": "region",
3563
+ "options": [],
3564
+ "options_metadata": [],
3565
+ "placeholder": "",
3566
+ "required": true,
3567
+ "show": true,
3568
+ "title_case": false,
3569
+ "toggle": false,
3570
+ "tool_mode": false,
3571
+ "trace_as_metadata": true,
3572
+ "type": "str",
3573
+ "value": ""
3574
+ }
3575
+ }
3576
+ }
3577
+ }
3578
+ },
3579
+ "functionality": "create"
3580
+ },
3581
+ "display_name": "Database",
3582
+ "dynamic": false,
3583
+ "external_options": {},
3584
+ "info": "The Database name for the Astra DB instance.",
3585
+ "name": "database_name",
3586
+ "options": [],
3587
+ "options_metadata": [],
3588
+ "placeholder": "",
3589
+ "real_time_refresh": true,
3590
+ "refresh_button": true,
3591
+ "required": true,
3592
+ "show": false,
3593
+ "title_case": false,
3594
+ "toggle": false,
3595
+ "tool_mode": false,
3596
+ "trace_as_metadata": true,
3597
+ "type": "str",
3598
+ "value": ""
3426
3599
  },
3427
- "system_message": {
3428
- "_input_type": "MultilineInput",
3600
+ "deletion_field": {
3601
+ "_input_type": "StrInput",
3602
+ "advanced": true,
3603
+ "display_name": "Deletion Based On Field",
3604
+ "dynamic": false,
3605
+ "info": "When this parameter is provided, documents in the target collection with metadata field values matching the input metadata field value will be deleted before new data is loaded.",
3606
+ "list": false,
3607
+ "list_add_label": "Add More",
3608
+ "load_from_db": false,
3609
+ "name": "deletion_field",
3610
+ "placeholder": "",
3611
+ "required": false,
3612
+ "show": true,
3613
+ "title_case": false,
3614
+ "tool_mode": false,
3615
+ "trace_as_metadata": true,
3616
+ "type": "str",
3617
+ "value": ""
3618
+ },
3619
+ "embedding_model": {
3620
+ "_input_type": "HandleInput",
3429
3621
  "advanced": false,
3430
- "ai_enabled": false,
3431
- "copy_field": false,
3432
- "display_name": "System Message",
3622
+ "display_name": "Embedding Model",
3433
3623
  "dynamic": false,
3434
- "info": "A system message that helps set the behavior of the assistant",
3624
+ "info": "Specify the Embedding Model. Not required for Astra Vectorize collections.",
3625
+ "input_types": [
3626
+ "Embeddings"
3627
+ ],
3628
+ "list": false,
3629
+ "list_add_label": "Add More",
3630
+ "name": "embedding_model",
3631
+ "placeholder": "",
3632
+ "required": false,
3633
+ "show": true,
3634
+ "title_case": false,
3635
+ "trace_as_metadata": true,
3636
+ "type": "other",
3637
+ "value": ""
3638
+ },
3639
+ "environment": {
3640
+ "_input_type": "DropdownInput",
3641
+ "advanced": true,
3642
+ "combobox": true,
3643
+ "dialog_inputs": {},
3644
+ "display_name": "Environment",
3645
+ "dynamic": false,
3646
+ "external_options": {},
3647
+ "info": "The environment for the Astra DB API Endpoint.",
3648
+ "name": "environment",
3649
+ "options": [
3650
+ "prod",
3651
+ "test",
3652
+ "dev"
3653
+ ],
3654
+ "options_metadata": [],
3655
+ "placeholder": "",
3656
+ "real_time_refresh": true,
3657
+ "required": false,
3658
+ "show": true,
3659
+ "title_case": false,
3660
+ "toggle": false,
3661
+ "tool_mode": false,
3662
+ "trace_as_metadata": true,
3663
+ "type": "str",
3664
+ "value": "prod"
3665
+ },
3666
+ "ignore_invalid_documents": {
3667
+ "_input_type": "BoolInput",
3668
+ "advanced": true,
3669
+ "display_name": "Ignore Invalid Documents",
3670
+ "dynamic": false,
3671
+ "info": "Boolean flag to determine whether to ignore invalid documents at runtime.",
3672
+ "list": false,
3673
+ "list_add_label": "Add More",
3674
+ "name": "ignore_invalid_documents",
3675
+ "placeholder": "",
3676
+ "required": false,
3677
+ "show": true,
3678
+ "title_case": false,
3679
+ "tool_mode": false,
3680
+ "trace_as_metadata": true,
3681
+ "type": "bool",
3682
+ "value": false
3683
+ },
3684
+ "ingest_data": {
3685
+ "_input_type": "HandleInput",
3686
+ "advanced": false,
3687
+ "display_name": "Ingest Data",
3688
+ "dynamic": false,
3689
+ "info": "",
3690
+ "input_types": [
3691
+ "Data",
3692
+ "DataFrame"
3693
+ ],
3694
+ "list": true,
3695
+ "list_add_label": "Add More",
3696
+ "name": "ingest_data",
3697
+ "placeholder": "",
3698
+ "required": false,
3699
+ "show": true,
3700
+ "title_case": false,
3701
+ "trace_as_metadata": true,
3702
+ "type": "other",
3703
+ "value": ""
3704
+ },
3705
+ "keyspace": {
3706
+ "_input_type": "DropdownInput",
3707
+ "advanced": true,
3708
+ "combobox": false,
3709
+ "dialog_inputs": {},
3710
+ "display_name": "Keyspace",
3711
+ "dynamic": false,
3712
+ "external_options": {},
3713
+ "info": "Optional keyspace within Astra DB to use for the collection.",
3714
+ "name": "keyspace",
3715
+ "options": [],
3716
+ "options_metadata": [],
3717
+ "placeholder": "",
3718
+ "real_time_refresh": true,
3719
+ "required": false,
3720
+ "show": true,
3721
+ "title_case": false,
3722
+ "toggle": false,
3723
+ "tool_mode": false,
3724
+ "trace_as_metadata": true,
3725
+ "type": "str",
3726
+ "value": ""
3727
+ },
3728
+ "lexical_terms": {
3729
+ "_input_type": "QueryInput",
3730
+ "advanced": false,
3731
+ "display_name": "Lexical Terms",
3732
+ "dynamic": false,
3733
+ "info": "Add additional terms/keywords to augment search precision.",
3734
+ "input_types": [
3735
+ "Message"
3736
+ ],
3737
+ "list": false,
3738
+ "list_add_label": "Add More",
3739
+ "load_from_db": false,
3740
+ "name": "lexical_terms",
3741
+ "placeholder": "Enter terms to search...",
3742
+ "required": false,
3743
+ "separator": " ",
3744
+ "show": false,
3745
+ "title_case": false,
3746
+ "tool_mode": false,
3747
+ "trace_as_input": true,
3748
+ "trace_as_metadata": true,
3749
+ "type": "query",
3750
+ "value": ""
3751
+ },
3752
+ "number_of_results": {
3753
+ "_input_type": "IntInput",
3754
+ "advanced": true,
3755
+ "display_name": "Number of Search Results",
3756
+ "dynamic": false,
3757
+ "info": "Number of search results to return.",
3758
+ "list": false,
3759
+ "list_add_label": "Add More",
3760
+ "name": "number_of_results",
3761
+ "placeholder": "",
3762
+ "required": false,
3763
+ "show": true,
3764
+ "title_case": false,
3765
+ "tool_mode": false,
3766
+ "trace_as_metadata": true,
3767
+ "type": "int",
3768
+ "value": 4
3769
+ },
3770
+ "reranker": {
3771
+ "_input_type": "DropdownInput",
3772
+ "advanced": false,
3773
+ "combobox": false,
3774
+ "dialog_inputs": {},
3775
+ "display_name": "Reranker",
3776
+ "dynamic": false,
3777
+ "external_options": {},
3778
+ "info": "Post-retrieval model that re-scores results for optimal relevance ranking.",
3779
+ "name": "reranker",
3780
+ "options": [],
3781
+ "options_metadata": [],
3782
+ "placeholder": "",
3783
+ "required": false,
3784
+ "show": false,
3785
+ "title_case": false,
3786
+ "toggle": true,
3787
+ "tool_mode": false,
3788
+ "trace_as_metadata": true,
3789
+ "type": "str",
3790
+ "value": ""
3791
+ },
3792
+ "search_method": {
3793
+ "_input_type": "DropdownInput",
3794
+ "advanced": true,
3795
+ "combobox": false,
3796
+ "dialog_inputs": {},
3797
+ "display_name": "Search Method",
3798
+ "dynamic": false,
3799
+ "external_options": {},
3800
+ "info": "Determine how your content is matched: Vector finds semantic similarity, and Hybrid Search (suggested) combines both approaches with a reranker.",
3801
+ "name": "search_method",
3802
+ "options": [
3803
+ "Hybrid Search",
3804
+ "Vector Search"
3805
+ ],
3806
+ "options_metadata": [
3807
+ {
3808
+ "icon": "SearchHybrid"
3809
+ },
3810
+ {
3811
+ "icon": "SearchVector"
3812
+ }
3813
+ ],
3814
+ "placeholder": "",
3815
+ "real_time_refresh": true,
3816
+ "required": false,
3817
+ "show": true,
3818
+ "title_case": false,
3819
+ "toggle": false,
3820
+ "tool_mode": false,
3821
+ "trace_as_metadata": true,
3822
+ "type": "str",
3823
+ "value": "Vector Search"
3824
+ },
3825
+ "search_query": {
3826
+ "_input_type": "QueryInput",
3827
+ "advanced": false,
3828
+ "display_name": "Search Query",
3829
+ "dynamic": false,
3830
+ "info": "Enter a query to run a similarity search.",
3435
3831
  "input_types": [
3436
3832
  "Message"
3437
3833
  ],
3438
- "list": false,
3439
- "list_add_label": "Add More",
3440
- "load_from_db": false,
3441
- "multiline": true,
3442
- "name": "system_message",
3443
- "override_skip": false,
3834
+ "list": false,
3835
+ "list_add_label": "Add More",
3836
+ "load_from_db": false,
3837
+ "name": "search_query",
3838
+ "placeholder": "Enter a query...",
3839
+ "required": false,
3840
+ "show": true,
3841
+ "title_case": false,
3842
+ "tool_mode": true,
3843
+ "trace_as_input": true,
3844
+ "trace_as_metadata": true,
3845
+ "type": "query",
3846
+ "value": ""
3847
+ },
3848
+ "search_score_threshold": {
3849
+ "_input_type": "FloatInput",
3850
+ "advanced": true,
3851
+ "display_name": "Search Score Threshold",
3852
+ "dynamic": false,
3853
+ "info": "Minimum similarity score threshold for search results. (when using 'Similarity with score threshold')",
3854
+ "list": false,
3855
+ "list_add_label": "Add More",
3856
+ "name": "search_score_threshold",
3857
+ "placeholder": "",
3858
+ "required": false,
3859
+ "show": true,
3860
+ "title_case": false,
3861
+ "tool_mode": false,
3862
+ "trace_as_metadata": true,
3863
+ "type": "float",
3864
+ "value": 0
3865
+ },
3866
+ "search_type": {
3867
+ "_input_type": "DropdownInput",
3868
+ "advanced": true,
3869
+ "combobox": false,
3870
+ "dialog_inputs": {},
3871
+ "display_name": "Search Type",
3872
+ "dynamic": false,
3873
+ "external_options": {},
3874
+ "info": "Search type to use",
3875
+ "name": "search_type",
3876
+ "options": [
3877
+ "Similarity",
3878
+ "Similarity with score threshold",
3879
+ "MMR (Max Marginal Relevance)"
3880
+ ],
3881
+ "options_metadata": [],
3444
3882
  "placeholder": "",
3445
3883
  "required": false,
3446
3884
  "show": true,
3447
3885
  "title_case": false,
3886
+ "toggle": false,
3448
3887
  "tool_mode": false,
3449
- "trace_as_input": true,
3450
3888
  "trace_as_metadata": true,
3451
- "track_in_telemetry": false,
3452
3889
  "type": "str",
3453
- "value": ""
3890
+ "value": "Similarity"
3454
3891
  },
3455
- "temperature": {
3456
- "_input_type": "SliderInput",
3892
+ "should_cache_vector_store": {
3893
+ "_input_type": "BoolInput",
3457
3894
  "advanced": true,
3458
- "display_name": "Temperature",
3895
+ "display_name": "Cache Vector Store",
3459
3896
  "dynamic": false,
3460
- "info": "Controls randomness in responses",
3461
- "max_label": "",
3462
- "max_label_icon": "",
3463
- "min_label": "",
3464
- "min_label_icon": "",
3465
- "name": "temperature",
3466
- "override_skip": false,
3897
+ "info": "If True, the vector store will be cached for the current build of the component. This is useful for components that have multiple output methods and want to share the same vector store.",
3898
+ "list": false,
3899
+ "list_add_label": "Add More",
3900
+ "name": "should_cache_vector_store",
3467
3901
  "placeholder": "",
3468
- "range_spec": {
3469
- "max": 1,
3470
- "min": 0,
3471
- "step": 0.01,
3472
- "step_type": "float"
3473
- },
3474
3902
  "required": false,
3475
3903
  "show": true,
3476
- "slider_buttons": false,
3477
- "slider_buttons_options": [],
3478
- "slider_input": false,
3479
3904
  "title_case": false,
3480
3905
  "tool_mode": false,
3481
- "track_in_telemetry": false,
3482
- "type": "slider",
3483
- "value": 0.1
3906
+ "trace_as_metadata": true,
3907
+ "type": "bool",
3908
+ "value": true
3909
+ },
3910
+ "token": {
3911
+ "_input_type": "SecretStrInput",
3912
+ "advanced": false,
3913
+ "display_name": "Astra DB Application Token",
3914
+ "dynamic": false,
3915
+ "info": "Authentication token for accessing Astra DB.",
3916
+ "input_types": [],
3917
+ "load_from_db": false,
3918
+ "name": "token",
3919
+ "password": true,
3920
+ "placeholder": "",
3921
+ "real_time_refresh": true,
3922
+ "required": true,
3923
+ "show": true,
3924
+ "title_case": false,
3925
+ "type": "str",
3926
+ "value": ""
3484
3927
  }
3485
3928
  },
3486
3929
  "tool_mode": false
3487
3930
  },
3488
- "selected_output": "text_output",
3931
+ "selected_output": "search_results",
3489
3932
  "showNode": true,
3490
- "type": "LanguageModelComponent"
3933
+ "type": "AstraDB"
3491
3934
  },
3492
3935
  "dragging": false,
3493
- "id": "LanguageModelComponent-Wqbva",
3936
+ "id": "AstraDB-ECtXX",
3494
3937
  "measured": {
3495
- "height": 451,
3938
+ "height": 375,
3496
3939
  "width": 320
3497
3940
  },
3498
3941
  "position": {
3499
- "x": 2354.7612483129965,
3500
- "y": 633.8261067248878
3942
+ "x": 2095.3200255891484,
3943
+ "y": 1501.719729125222
3501
3944
  },
3502
3945
  "selected": false,
3503
3946
  "type": "genericNode"
3504
3947
  },
3505
3948
  {
3506
3949
  "data": {
3507
- "id": "AstraDB-TCSqR",
3950
+ "id": "AstraDB-RaUqw",
3508
3951
  "node": {
3509
3952
  "base_classes": [
3510
3953
  "Data",
@@ -3544,6 +3987,7 @@
3544
3987
  ],
3545
3988
  "frozen": false,
3546
3989
  "icon": "AstraDB",
3990
+ "last_updated": "2025-12-20T17:35:17.511Z",
3547
3991
  "legacy": false,
3548
3992
  "metadata": {
3549
3993
  "code_hash": "d52094e54e96",
@@ -3907,7 +4351,10 @@
3907
4351
  "external_options": {},
3908
4352
  "info": "Cloud provider for the new database.",
3909
4353
  "name": "cloud_provider",
3910
- "options": [],
4354
+ "options": [
4355
+ "Google Cloud Platform",
4356
+ "Amazon Web Services"
4357
+ ],
3911
4358
  "options_metadata": [],
3912
4359
  "placeholder": "",
3913
4360
  "real_time_refresh": true,
@@ -3959,7 +4406,7 @@
3959
4406
  "real_time_refresh": true,
3960
4407
  "refresh_button": true,
3961
4408
  "required": true,
3962
- "show": true,
4409
+ "show": false,
3963
4410
  "title_case": false,
3964
4411
  "toggle": false,
3965
4412
  "tool_mode": false,
@@ -4284,7 +4731,7 @@
4284
4731
  "dynamic": false,
4285
4732
  "info": "Authentication token for accessing Astra DB.",
4286
4733
  "input_types": [],
4287
- "load_from_db": true,
4734
+ "load_from_db": false,
4288
4735
  "name": "token",
4289
4736
  "password": true,
4290
4737
  "placeholder": "",
@@ -4293,95 +4740,97 @@
4293
4740
  "show": true,
4294
4741
  "title_case": false,
4295
4742
  "type": "str",
4296
- "value": "ASTRA_DB_APPLICATION_TOKEN"
4743
+ "value": ""
4297
4744
  }
4298
4745
  },
4299
4746
  "tool_mode": false
4300
4747
  },
4301
- "selected_output": "search_results",
4748
+ "selected_output": "dataframe",
4302
4749
  "showNode": true,
4303
4750
  "type": "AstraDB"
4304
4751
  },
4305
4752
  "dragging": false,
4306
- "id": "AstraDB-TCSqR",
4753
+ "id": "AstraDB-RaUqw",
4307
4754
  "measured": {
4308
- "height": 458,
4755
+ "height": 375,
4309
4756
  "width": 320
4310
4757
  },
4311
4758
  "position": {
4312
- "x": 2095.3200255891484,
4313
- "y": 1501.719729125222
4759
+ "x": 1210.9603958451855,
4760
+ "y": 519.26557834351
4314
4761
  },
4315
4762
  "selected": false,
4316
4763
  "type": "genericNode"
4317
4764
  },
4318
4765
  {
4319
4766
  "data": {
4320
- "id": "AstraDB-BteL9",
4767
+ "id": "File-CxEQk",
4321
4768
  "node": {
4322
4769
  "base_classes": [
4323
- "Data",
4324
- "DataFrame",
4325
- "VectorStore"
4770
+ "Message"
4326
4771
  ],
4327
4772
  "beta": false,
4328
4773
  "conditional_paths": [],
4329
4774
  "custom_fields": {},
4330
- "description": "Ingest and search documents in Astra DB",
4331
- "display_name": "Astra DB",
4332
- "documentation": "https://docs.datastax.com/en/langflow/astra-components.html",
4775
+ "description": "Loads and returns the content from uploaded files.",
4776
+ "display_name": "Read File",
4777
+ "documentation": "https://docs.langflow.org/read-file",
4333
4778
  "edited": false,
4334
4779
  "field_order": [
4335
- "token",
4336
- "environment",
4337
- "database_name",
4338
- "api_endpoint",
4339
- "keyspace",
4340
- "collection_name",
4341
- "embedding_model",
4342
- "ingest_data",
4343
- "search_query",
4344
- "should_cache_vector_store",
4345
- "search_method",
4346
- "reranker",
4347
- "lexical_terms",
4348
- "number_of_results",
4349
- "search_type",
4350
- "search_score_threshold",
4351
- "advanced_search_filter",
4352
- "autodetect_collection",
4353
- "content_field",
4354
- "deletion_field",
4355
- "ignore_invalid_documents",
4356
- "astradb_vectorstore_kwargs"
4780
+ "storage_location",
4781
+ "path",
4782
+ "file_path",
4783
+ "separator",
4784
+ "silent_errors",
4785
+ "delete_server_file_after_processing",
4786
+ "ignore_unsupported_extensions",
4787
+ "ignore_unspecified_files",
4788
+ "file_path_str",
4789
+ "aws_access_key_id",
4790
+ "aws_secret_access_key",
4791
+ "bucket_name",
4792
+ "aws_region",
4793
+ "s3_file_key",
4794
+ "service_account_key",
4795
+ "file_id",
4796
+ "advanced_mode",
4797
+ "pipeline",
4798
+ "ocr_engine",
4799
+ "md_image_placeholder",
4800
+ "md_page_break_placeholder",
4801
+ "doc_key",
4802
+ "use_multithreading",
4803
+ "concurrency_multithreading",
4804
+ "markdown"
4357
4805
  ],
4358
4806
  "frozen": false,
4359
- "icon": "AstraDB",
4807
+ "icon": "file-text",
4808
+ "last_updated": "2025-12-20T17:35:27.280Z",
4360
4809
  "legacy": false,
4361
4810
  "metadata": {
4362
- "code_hash": "d52094e54e96",
4811
+ "code_hash": "9d57e0bfda44",
4363
4812
  "dependencies": {
4364
4813
  "dependencies": [
4365
4814
  {
4366
- "name": "astrapy",
4367
- "version": "2.1.0"
4815
+ "name": "lfx",
4816
+ "version": null
4368
4817
  },
4369
4818
  {
4370
4819
  "name": "langchain_core",
4371
4820
  "version": "0.3.80"
4372
4821
  },
4373
4822
  {
4374
- "name": "lfx",
4375
- "version": null
4823
+ "name": "pydantic",
4824
+ "version": "2.11.10"
4376
4825
  },
4377
4826
  {
4378
- "name": "langchain_astradb",
4379
- "version": "0.6.1"
4827
+ "name": "googleapiclient",
4828
+ "version": "2.154.0"
4380
4829
  }
4381
4830
  ],
4382
4831
  "total_dependencies": 4
4383
4832
  },
4384
- "module": "lfx.components.datastax.astradb_vectorstore.AstraDBVectorStoreComponent"
4833
+ "module": "lfx.components.files_and_knowledge.file.FileComponent"
4385
4834
  },
4386
4835
  "minimized": false,
4387
4836
  "output_types": [],
@@ -4389,43 +4838,14 @@
4389
4838
  {
4390
4839
  "allows_loop": false,
4391
4840
  "cache": true,
4392
- "display_name": "Search Results",
4393
- "group_outputs": false,
4394
- "method": "search_documents",
4395
- "name": "search_results",
4396
- "selected": "Data",
4397
- "tool_mode": true,
4398
- "types": [
4399
- "Data"
4400
- ],
4401
- "value": "__UNDEFINED__"
4402
- },
4403
- {
4404
- "allows_loop": false,
4405
- "cache": true,
4406
- "display_name": "DataFrame",
4407
- "group_outputs": false,
4408
- "method": "as_dataframe",
4409
- "name": "dataframe",
4410
- "selected": "DataFrame",
4411
- "tool_mode": true,
4412
- "types": [
4413
- "DataFrame"
4414
- ],
4415
- "value": "__UNDEFINED__"
4416
- },
4417
- {
4418
- "allows_loop": false,
4419
- "cache": true,
4420
- "display_name": "Vector Store Connection",
4841
+ "display_name": "Raw Content",
4421
4842
  "group_outputs": false,
4422
- "hidden": false,
4423
- "method": "as_vector_store",
4424
- "name": "vectorstoreconnection",
4425
- "selected": "VectorStore",
4843
+ "method": "load_files_message",
4844
+ "name": "message",
4845
+ "selected": "Message",
4426
4846
  "tool_mode": true,
4427
4847
  "types": [
4428
- "VectorStore"
4848
+ "Message"
4429
4849
  ],
4430
4850
  "value": "__UNDEFINED__"
4431
4851
  }
@@ -4433,470 +4853,469 @@
4433
4853
  "pinned": false,
4434
4854
  "template": {
4435
4855
  "_type": "Component",
4436
- "advanced_search_filter": {
4437
- "_input_type": "NestedDictInput",
4438
- "advanced": true,
4439
- "display_name": "Search Metadata Filter",
4856
+ "advanced_mode": {
4857
+ "_input_type": "BoolInput",
4858
+ "advanced": false,
4859
+ "display_name": "Advanced Parser",
4860
+ "dynamic": false,
4861
+ "info": "Enable advanced document processing and export with Docling for PDFs, images, and office documents. Note that advanced document processing can consume significant resources.",
4862
+ "list": false,
4863
+ "list_add_label": "Add More",
4864
+ "name": "advanced_mode",
4865
+ "override_skip": false,
4866
+ "placeholder": "",
4867
+ "real_time_refresh": true,
4868
+ "required": false,
4869
+ "show": true,
4870
+ "title_case": false,
4871
+ "tool_mode": false,
4872
+ "trace_as_metadata": true,
4873
+ "track_in_telemetry": true,
4874
+ "type": "bool",
4875
+ "value": false
4876
+ },
4877
+ "aws_access_key_id": {
4878
+ "_input_type": "SecretStrInput",
4879
+ "advanced": false,
4880
+ "display_name": "AWS Access Key ID",
4881
+ "dynamic": false,
4882
+ "info": "AWS Access key ID.",
4883
+ "input_types": [],
4884
+ "load_from_db": true,
4885
+ "name": "aws_access_key_id",
4886
+ "override_skip": false,
4887
+ "password": true,
4888
+ "placeholder": "",
4889
+ "required": true,
4890
+ "show": false,
4891
+ "title_case": false,
4892
+ "track_in_telemetry": false,
4893
+ "type": "str",
4894
+ "value": ""
4895
+ },
4896
+ "aws_region": {
4897
+ "_input_type": "StrInput",
4898
+ "advanced": false,
4899
+ "display_name": "AWS Region",
4900
+ "dynamic": false,
4901
+ "info": "AWS region (e.g., us-east-1, eu-west-1).",
4902
+ "list": false,
4903
+ "list_add_label": "Add More",
4904
+ "load_from_db": false,
4905
+ "name": "aws_region",
4906
+ "override_skip": false,
4907
+ "placeholder": "",
4908
+ "required": false,
4909
+ "show": false,
4910
+ "title_case": false,
4911
+ "tool_mode": false,
4912
+ "trace_as_metadata": true,
4913
+ "track_in_telemetry": false,
4914
+ "type": "str",
4915
+ "value": ""
4916
+ },
4917
+ "aws_secret_access_key": {
4918
+ "_input_type": "SecretStrInput",
4919
+ "advanced": false,
4920
+ "display_name": "AWS Secret Key",
4921
+ "dynamic": false,
4922
+ "info": "AWS Secret Key.",
4923
+ "input_types": [],
4924
+ "load_from_db": true,
4925
+ "name": "aws_secret_access_key",
4926
+ "override_skip": false,
4927
+ "password": true,
4928
+ "placeholder": "",
4929
+ "required": true,
4930
+ "show": false,
4931
+ "title_case": false,
4932
+ "track_in_telemetry": false,
4933
+ "type": "str",
4934
+ "value": ""
4935
+ },
4936
+ "bucket_name": {
4937
+ "_input_type": "StrInput",
4938
+ "advanced": false,
4939
+ "display_name": "S3 Bucket Name",
4440
4940
  "dynamic": false,
4441
- "info": "Optional dictionary of filters to apply to the search query.",
4941
+ "info": "Enter the name of the S3 bucket.",
4442
4942
  "list": false,
4443
4943
  "list_add_label": "Add More",
4444
- "name": "advanced_search_filter",
4944
+ "load_from_db": false,
4945
+ "name": "bucket_name",
4946
+ "override_skip": false,
4445
4947
  "placeholder": "",
4446
- "required": false,
4447
- "show": true,
4948
+ "required": true,
4949
+ "show": false,
4448
4950
  "title_case": false,
4449
4951
  "tool_mode": false,
4450
- "trace_as_input": true,
4451
4952
  "trace_as_metadata": true,
4452
- "type": "NestedDict",
4453
- "value": {}
4953
+ "track_in_telemetry": false,
4954
+ "type": "str",
4955
+ "value": ""
4454
4956
  },
4455
- "api_endpoint": {
4456
- "_input_type": "DropdownInput",
4957
+ "code": {
4457
4958
  "advanced": true,
4458
- "combobox": false,
4459
- "dialog_inputs": {},
4460
- "display_name": "Astra DB API Endpoint",
4461
- "dynamic": false,
4462
- "external_options": {},
4463
- "info": "The API Endpoint for the Astra DB instance. Supercedes database selection.",
4464
- "name": "api_endpoint",
4465
- "options": [],
4466
- "options_metadata": [],
4959
+ "dynamic": true,
4960
+ "fileTypes": [],
4961
+ "file_path": "",
4962
+ "info": "",
4963
+ "list": false,
4964
+ "load_from_db": false,
4965
+ "multiline": true,
4966
+ "name": "code",
4967
+ "password": false,
4467
4968
  "placeholder": "",
4468
- "required": false,
4969
+ "required": true,
4469
4970
  "show": true,
4470
4971
  "title_case": false,
4471
- "toggle": false,
4472
- "tool_mode": false,
4473
- "trace_as_metadata": true,
4474
- "type": "str",
4475
- "value": ""
4972
+ "type": "code",
4973
+ "value": "\"\"\"Enhanced file component with Docling support and process isolation.\n\nNotes:\n-----\n- ALL Docling parsing/export runs in a separate OS process to prevent memory\n growth and native library state from impacting the main Langflow process.\n- Standard text/structured parsing continues to use existing BaseFileComponent\n utilities (and optional threading via `parallel_load_data`).\n\"\"\"\n\nfrom __future__ import annotations\n\nimport contextlib\nimport json\nimport subprocess\nimport sys\nimport textwrap\nfrom copy import deepcopy\nfrom pathlib import Path\nfrom tempfile import NamedTemporaryFile\nfrom typing import Any\n\nfrom lfx.base.data.base_file import BaseFileComponent\nfrom lfx.base.data.storage_utils import parse_storage_path, read_file_bytes, validate_image_content_type\nfrom lfx.base.data.utils import TEXT_FILE_TYPES, parallel_load_data, parse_text_file_to_data\nfrom lfx.inputs import SortableListInput\nfrom lfx.inputs.inputs import DropdownInput, MessageTextInput, StrInput\nfrom lfx.io import BoolInput, FileInput, IntInput, Output, SecretStrInput\nfrom lfx.schema.data import Data\nfrom lfx.schema.dataframe import DataFrame # noqa: TC001\nfrom lfx.schema.message import Message\nfrom lfx.services.deps import get_settings_service, get_storage_service\nfrom lfx.utils.async_helpers import run_until_complete\nfrom lfx.utils.validate_cloud import is_astra_cloud_environment\n\n\ndef _get_storage_location_options():\n \"\"\"Get storage location options, filtering out Local if in Astra cloud environment.\"\"\"\n all_options = [{\"name\": \"AWS\", \"icon\": \"Amazon\"}, {\"name\": \"Google Drive\", \"icon\": \"google\"}]\n if is_astra_cloud_environment():\n return all_options\n return [{\"name\": \"Local\", \"icon\": \"hard-drive\"}, *all_options]\n\n\nclass FileComponent(BaseFileComponent):\n \"\"\"File component with optional Docling processing (isolated in a subprocess).\"\"\"\n\n display_name = \"Read File\"\n # description is now a dynamic property - see get_tool_description()\n _base_description = \"Loads content from one or more files.\"\n documentation: str = \"https://docs.langflow.org/read-file\"\n icon = \"file-text\"\n name = \"File\"\n add_tool_output = True # Enable tool mode toggle without requiring tool_mode inputs\n\n # Extensions that can be processed without Docling (using standard text parsing)\n TEXT_EXTENSIONS = TEXT_FILE_TYPES\n\n # Extensions that require Docling for processing (images, advanced office formats, etc.)\n DOCLING_ONLY_EXTENSIONS = [\n \"adoc\",\n \"asciidoc\",\n \"asc\",\n \"bmp\",\n \"dotx\",\n \"dotm\",\n \"docm\",\n \"jpg\",\n \"jpeg\",\n \"png\",\n \"potx\",\n \"ppsx\",\n \"pptm\",\n \"potm\",\n \"ppsm\",\n \"pptx\",\n \"tiff\",\n \"xls\",\n \"xlsx\",\n \"xhtml\",\n \"webp\",\n ]\n\n # Docling-supported/compatible extensions; TEXT_FILE_TYPES are supported by the base loader.\n VALID_EXTENSIONS = [\n *TEXT_EXTENSIONS,\n *DOCLING_ONLY_EXTENSIONS,\n ]\n\n # Fixed export settings used when markdown export is requested.\n EXPORT_FORMAT = \"Markdown\"\n IMAGE_MODE = \"placeholder\"\n\n _base_inputs = deepcopy(BaseFileComponent.get_base_inputs())\n\n for input_item in _base_inputs:\n if isinstance(input_item, FileInput) and input_item.name == \"path\":\n input_item.real_time_refresh = True\n input_item.tool_mode = False # Disable tool mode for file upload input\n input_item.required = False # Make it optional so it doesn't error in tool mode\n break\n\n inputs = [\n SortableListInput(\n name=\"storage_location\",\n display_name=\"Storage Location\",\n placeholder=\"Select Location\",\n info=\"Choose where to read the file from.\",\n options=_get_storage_location_options(),\n real_time_refresh=True,\n limit=1,\n ),\n *_base_inputs,\n StrInput(\n name=\"file_path_str\",\n display_name=\"File Path\",\n info=(\n \"Path to the file to read. Used when component is called as a tool. \"\n \"If not provided, will use the uploaded file from 'path' input.\"\n ),\n show=False,\n advanced=True,\n tool_mode=True, # Required for Toolset toggle, but _get_tools() ignores this parameter\n required=False,\n ),\n # AWS S3 specific inputs\n SecretStrInput(\n name=\"aws_access_key_id\",\n display_name=\"AWS Access Key ID\",\n info=\"AWS Access key ID.\",\n show=False,\n advanced=False,\n required=True,\n ),\n SecretStrInput(\n name=\"aws_secret_access_key\",\n display_name=\"AWS Secret Key\",\n info=\"AWS Secret Key.\",\n show=False,\n advanced=False,\n required=True,\n ),\n StrInput(\n name=\"bucket_name\",\n display_name=\"S3 Bucket Name\",\n info=\"Enter the name of the S3 bucket.\",\n show=False,\n advanced=False,\n required=True,\n ),\n StrInput(\n name=\"aws_region\",\n display_name=\"AWS Region\",\n info=\"AWS region (e.g., us-east-1, eu-west-1).\",\n show=False,\n advanced=False,\n ),\n StrInput(\n name=\"s3_file_key\",\n display_name=\"S3 File Key\",\n info=\"The key (path) of the file in S3 bucket.\",\n show=False,\n advanced=False,\n required=True,\n ),\n # Google Drive specific inputs\n SecretStrInput(\n name=\"service_account_key\",\n display_name=\"GCP Credentials Secret Key\",\n info=\"Your Google Cloud Platform service account JSON key as a secret string (complete JSON content).\",\n show=False,\n advanced=False,\n required=True,\n ),\n StrInput(\n name=\"file_id\",\n display_name=\"Google Drive File ID\",\n info=(\"The Google Drive file ID to read. The file must be shared with the service account email.\"),\n show=False,\n advanced=False,\n required=True,\n ),\n BoolInput(\n name=\"advanced_mode\",\n display_name=\"Advanced Parser\",\n value=False,\n real_time_refresh=True,\n info=(\n \"Enable advanced document processing and export with Docling for PDFs, images, and office documents. \"\n \"Note that advanced document processing can consume significant resources.\"\n ),\n show=True,\n ),\n DropdownInput(\n name=\"pipeline\",\n display_name=\"Pipeline\",\n info=\"Docling pipeline to use\",\n options=[\"standard\", \"vlm\"],\n value=\"standard\",\n advanced=True,\n real_time_refresh=True,\n ),\n DropdownInput(\n name=\"ocr_engine\",\n display_name=\"OCR Engine\",\n info=\"OCR engine to use. Only available when pipeline is set to 'standard'.\",\n options=[\"None\", \"easyocr\"],\n value=\"easyocr\",\n show=False,\n advanced=True,\n ),\n StrInput(\n name=\"md_image_placeholder\",\n display_name=\"Image placeholder\",\n info=\"Specify the image placeholder for markdown exports.\",\n value=\"<!-- image -->\",\n advanced=True,\n show=False,\n ),\n StrInput(\n name=\"md_page_break_placeholder\",\n display_name=\"Page break placeholder\",\n info=\"Add this placeholder between pages in the markdown output.\",\n value=\"\",\n advanced=True,\n show=False,\n ),\n MessageTextInput(\n name=\"doc_key\",\n display_name=\"Doc Key\",\n info=\"The key to use for the DoclingDocument column.\",\n value=\"doc\",\n advanced=True,\n show=False,\n ),\n # Deprecated input retained for backward-compatibility.\n BoolInput(\n name=\"use_multithreading\",\n display_name=\"[Deprecated] Use Multithreading\",\n advanced=True,\n value=True,\n info=\"Set 'Processing Concurrency' greater than 1 to enable multithreading.\",\n ),\n IntInput(\n name=\"concurrency_multithreading\",\n display_name=\"Processing Concurrency\",\n advanced=True,\n info=\"When multiple files are being processed, the number of files to process concurrently.\",\n value=1,\n ),\n BoolInput(\n name=\"markdown\",\n display_name=\"Markdown Export\",\n info=\"Export processed documents to Markdown format. Only available when advanced mode is enabled.\",\n value=False,\n show=False,\n ),\n ]\n\n outputs = [\n Output(display_name=\"Raw Content\", name=\"message\", method=\"load_files_message\", tool_mode=True),\n ]\n\n # ------------------------------ Tool description with file names --------------\n\n def get_tool_description(self) -> str:\n \"\"\"Return a dynamic description that includes the names of uploaded files.\n\n This helps the Agent understand which files are available to read.\n \"\"\"\n base_description = \"Loads and returns the content from uploaded files.\"\n\n # Get the list of uploaded file paths\n file_paths = getattr(self, \"path\", None)\n if not file_paths:\n return base_description\n\n # Ensure it's a list\n if not isinstance(file_paths, list):\n file_paths = [file_paths]\n\n # Extract just the file names from the paths\n file_names = []\n for fp in file_paths:\n if fp:\n name = Path(fp).name\n file_names.append(name)\n\n if file_names:\n files_str = \", \".join(file_names)\n return f\"{base_description} Available files: {files_str}. Call this tool to read these files.\"\n\n return base_description\n\n @property\n def description(self) -> str:\n \"\"\"Dynamic description property that includes uploaded file names.\"\"\"\n return self.get_tool_description()\n\n async def _get_tools(self) -> list:\n \"\"\"Override to create a tool without parameters.\n\n The Read File component should use the files already uploaded via UI,\n not accept file paths from the Agent (which wouldn't know the internal paths).\n \"\"\"\n from langchain_core.tools import StructuredTool\n from pydantic import BaseModel\n\n # Empty schema - no parameters needed\n class EmptySchema(BaseModel):\n \"\"\"No parameters required - uses pre-uploaded files.\"\"\"\n\n async def read_files_tool() -> str:\n \"\"\"Read the content of uploaded files.\"\"\"\n try:\n result = self.load_files_message()\n if hasattr(result, \"get_text\"):\n return result.get_text()\n if hasattr(result, \"text\"):\n return result.text\n return str(result)\n except (FileNotFoundError, ValueError, OSError, RuntimeError) as e:\n return f\"Error reading files: {e}\"\n\n description = self.get_tool_description()\n\n tool = StructuredTool(\n name=\"load_files_message\",\n description=description,\n coroutine=read_files_tool,\n args_schema=EmptySchema,\n handle_tool_error=True,\n tags=[\"load_files_message\"],\n metadata={\n \"display_name\": \"Read File\",\n \"display_description\": description,\n },\n )\n\n return [tool]\n\n # ------------------------------ UI helpers --------------------------------------\n\n def _path_value(self, template: dict) -> list[str]:\n \"\"\"Return the list of currently selected file paths from the template.\"\"\"\n return template.get(\"path\", {}).get(\"file_path\", [])\n\n def update_build_config(\n self,\n build_config: dict[str, Any],\n field_value: Any,\n field_name: str | None = None,\n ) -> dict[str, Any]:\n \"\"\"Show/hide Advanced Parser and related fields based on selection context.\"\"\"\n # Update storage location options dynamically based on cloud environment\n if \"storage_location\" in build_config:\n updated_options = _get_storage_location_options()\n build_config[\"storage_location\"][\"options\"] = updated_options\n\n # Handle storage location selection\n if field_name == \"storage_location\":\n # Extract selected storage location\n selected = [location[\"name\"] for location in field_value] if isinstance(field_value, list) else []\n\n # Hide all storage-specific fields first\n storage_fields = [\n \"aws_access_key_id\",\n \"aws_secret_access_key\",\n \"bucket_name\",\n \"aws_region\",\n \"s3_file_key\",\n \"service_account_key\",\n \"file_id\",\n ]\n\n for f_name in storage_fields:\n if f_name in build_config:\n build_config[f_name][\"show\"] = False\n\n # Show fields based on selected storage location\n if len(selected) == 1:\n location = selected[0]\n\n if location == \"Local\":\n # Show file upload input for local storage\n if \"path\" in build_config:\n build_config[\"path\"][\"show\"] = True\n\n elif location == \"AWS\":\n # Hide file upload input, show AWS fields\n if \"path\" in build_config:\n build_config[\"path\"][\"show\"] = False\n\n aws_fields = [\n \"aws_access_key_id\",\n \"aws_secret_access_key\",\n \"bucket_name\",\n \"aws_region\",\n \"s3_file_key\",\n ]\n for f_name in aws_fields:\n if f_name in build_config:\n build_config[f_name][\"show\"] = True\n build_config[f_name][\"advanced\"] = False\n\n elif location == \"Google Drive\":\n # Hide file upload input, show Google Drive fields\n if \"path\" in build_config:\n build_config[\"path\"][\"show\"] = False\n\n gdrive_fields = [\"service_account_key\", \"file_id\"]\n for f_name in gdrive_fields:\n if f_name in build_config:\n build_config[f_name][\"show\"] = True\n build_config[f_name][\"advanced\"] = False\n # No storage location selected - show file upload by default\n elif \"path\" in build_config:\n build_config[\"path\"][\"show\"] = True\n\n return build_config\n\n if field_name == \"path\":\n paths = self._path_value(build_config)\n\n # If all files can be processed by docling, do so\n allow_advanced = all(not file_path.endswith((\".csv\", \".xlsx\", \".parquet\")) for file_path in paths)\n build_config[\"advanced_mode\"][\"show\"] = allow_advanced\n if not allow_advanced:\n build_config[\"advanced_mode\"][\"value\"] = False\n for f in (\"pipeline\", \"ocr_engine\", \"doc_key\", \"md_image_placeholder\", \"md_page_break_placeholder\"):\n if f in build_config:\n build_config[f][\"show\"] = False\n\n # Docling Processing\n elif field_name == \"advanced_mode\":\n for f in (\"pipeline\", \"ocr_engine\", \"doc_key\", \"md_image_placeholder\", \"md_page_break_placeholder\"):\n if f in build_config:\n build_config[f][\"show\"] = bool(field_value)\n if f == \"pipeline\":\n build_config[f][\"advanced\"] = not bool(field_value)\n\n elif field_name == \"pipeline\":\n if field_value == \"standard\":\n build_config[\"ocr_engine\"][\"show\"] = True\n build_config[\"ocr_engine\"][\"value\"] = \"easyocr\"\n else:\n build_config[\"ocr_engine\"][\"show\"] = False\n build_config[\"ocr_engine\"][\"value\"] = \"None\"\n\n return build_config\n\n def update_outputs(self, frontend_node: dict[str, Any], field_name: str, field_value: Any) -> dict[str, Any]: # noqa: ARG002\n \"\"\"Dynamically show outputs based on file count/type and advanced mode.\"\"\"\n if field_name not in [\"path\", \"advanced_mode\", \"pipeline\"]:\n return frontend_node\n\n template = frontend_node.get(\"template\", {})\n paths = self._path_value(template)\n if not paths:\n return frontend_node\n\n frontend_node[\"outputs\"] = []\n if len(paths) == 1:\n file_path = paths[0] if field_name == \"path\" else frontend_node[\"template\"][\"path\"][\"file_path\"][0]\n if file_path.endswith((\".csv\", \".xlsx\", \".parquet\")):\n frontend_node[\"outputs\"].append(\n Output(\n display_name=\"Structured Content\",\n name=\"dataframe\",\n method=\"load_files_structured\",\n tool_mode=True,\n ),\n )\n elif file_path.endswith(\".json\"):\n frontend_node[\"outputs\"].append(\n Output(display_name=\"Structured Content\", name=\"json\", method=\"load_files_json\", tool_mode=True),\n )\n\n advanced_mode = frontend_node.get(\"template\", {}).get(\"advanced_mode\", {}).get(\"value\", False)\n if advanced_mode:\n frontend_node[\"outputs\"].append(\n Output(\n display_name=\"Structured Output\",\n name=\"advanced_dataframe\",\n method=\"load_files_dataframe\",\n tool_mode=True,\n ),\n )\n frontend_node[\"outputs\"].append(\n Output(\n display_name=\"Markdown\", name=\"advanced_markdown\", method=\"load_files_markdown\", tool_mode=True\n ),\n )\n frontend_node[\"outputs\"].append(\n Output(display_name=\"File Path\", name=\"path\", method=\"load_files_path\", tool_mode=True),\n )\n else:\n frontend_node[\"outputs\"].append(\n Output(display_name=\"Raw Content\", name=\"message\", method=\"load_files_message\", tool_mode=True),\n )\n frontend_node[\"outputs\"].append(\n Output(display_name=\"File Path\", name=\"path\", method=\"load_files_path\", tool_mode=True),\n )\n else:\n # Multiple files => DataFrame output; advanced parser disabled\n frontend_node[\"outputs\"].append(\n Output(display_name=\"Files\", name=\"dataframe\", method=\"load_files\", tool_mode=True)\n )\n\n return frontend_node\n\n # ------------------------------ Core processing ----------------------------------\n\n def _get_selected_storage_location(self) -> str:\n \"\"\"Get the selected storage location from the SortableListInput.\"\"\"\n if hasattr(self, \"storage_location\") and self.storage_location:\n if isinstance(self.storage_location, list) and len(self.storage_location) > 0:\n return self.storage_location[0].get(\"name\", \"\")\n if isinstance(self.storage_location, dict):\n return self.storage_location.get(\"name\", \"\")\n return \"Local\" # Default to Local if not specified\n\n def _validate_and_resolve_paths(self) -> list[BaseFileComponent.BaseFile]:\n \"\"\"Override to handle file_path_str input from tool mode and cloud storage.\n\n Priority:\n 1. Cloud storage (AWS/Google Drive) if selected\n 2. file_path_str (if provided by the tool call)\n 3. path (uploaded file from UI)\n \"\"\"\n storage_location = self._get_selected_storage_location()\n\n # Handle AWS S3\n if storage_location == \"AWS\":\n return self._read_from_aws_s3()\n\n # Handle Google Drive\n if storage_location == \"Google Drive\":\n return self._read_from_google_drive()\n\n # Handle Local storage\n # Check if file_path_str is provided (from tool mode)\n file_path_str = getattr(self, \"file_path_str\", None)\n if file_path_str:\n # Use the string path from tool mode\n from pathlib import Path\n\n from lfx.schema.data import Data\n\n resolved_path = Path(self.resolve_path(file_path_str))\n if not resolved_path.exists():\n msg = f\"File or directory not found: {file_path_str}\"\n self.log(msg)\n if not self.silent_errors:\n raise ValueError(msg)\n return []\n\n data_obj = Data(data={self.SERVER_FILE_PATH_FIELDNAME: str(resolved_path)})\n return [BaseFileComponent.BaseFile(data_obj, resolved_path, delete_after_processing=False)]\n\n # Otherwise use the default implementation (uses path FileInput)\n return super()._validate_and_resolve_paths()\n\n def _read_from_aws_s3(self) -> list[BaseFileComponent.BaseFile]:\n \"\"\"Read file from AWS S3.\"\"\"\n from lfx.base.data.cloud_storage_utils import create_s3_client, validate_aws_credentials\n\n # Validate AWS credentials\n validate_aws_credentials(self)\n if not getattr(self, \"s3_file_key\", None):\n msg = \"S3 File Key is required\"\n raise ValueError(msg)\n\n # Create S3 client\n s3_client = create_s3_client(self)\n\n # Download file to temp location\n import tempfile\n\n # Get file extension from S3 key\n file_extension = Path(self.s3_file_key).suffix or \"\"\n\n with tempfile.NamedTemporaryFile(mode=\"wb\", suffix=file_extension, delete=False) as temp_file:\n temp_file_path = temp_file.name\n try:\n s3_client.download_fileobj(self.bucket_name, self.s3_file_key, temp_file)\n except Exception as e:\n # Clean up temp file on failure\n with contextlib.suppress(OSError):\n Path(temp_file_path).unlink()\n msg = f\"Failed to download file from S3: {e}\"\n raise RuntimeError(msg) from e\n\n # Create BaseFile object\n from lfx.schema.data import Data\n\n temp_path = Path(temp_file_path)\n data_obj = Data(data={self.SERVER_FILE_PATH_FIELDNAME: str(temp_path)})\n return [BaseFileComponent.BaseFile(data_obj, temp_path, delete_after_processing=True)]\n\n def _read_from_google_drive(self) -> list[BaseFileComponent.BaseFile]:\n \"\"\"Read file from Google Drive.\"\"\"\n import tempfile\n\n from googleapiclient.http import MediaIoBaseDownload\n\n from lfx.base.data.cloud_storage_utils import create_google_drive_service\n\n # Validate Google Drive credentials\n if not getattr(self, \"service_account_key\", None):\n msg = \"GCP Credentials Secret Key is required for Google Drive storage\"\n raise ValueError(msg)\n if not getattr(self, \"file_id\", None):\n msg = \"Google Drive File ID is required\"\n raise ValueError(msg)\n\n # Create Google Drive service with read-only scope\n drive_service = create_google_drive_service(\n self.service_account_key, scopes=[\"https://www.googleapis.com/auth/drive.readonly\"]\n )\n\n # Get file metadata to determine file name and extension\n try:\n file_metadata = drive_service.files().get(fileId=self.file_id, fields=\"name,mimeType\").execute()\n file_name = file_metadata.get(\"name\", \"download\")\n except Exception as e:\n msg = (\n f\"Unable to access file with ID '{self.file_id}'. \"\n f\"Error: {e!s}. \"\n \"Please ensure: 1) The file ID is correct, 2) The file exists, \"\n \"3) The service account has been granted access to this file.\"\n )\n raise ValueError(msg) from e\n\n # Download file to temp location\n file_extension = Path(file_name).suffix or \"\"\n with tempfile.NamedTemporaryFile(mode=\"wb\", suffix=file_extension, delete=False) as temp_file:\n temp_file_path = temp_file.name\n try:\n request = drive_service.files().get_media(fileId=self.file_id)\n downloader = MediaIoBaseDownload(temp_file, request)\n done = False\n while not done:\n _status, done = downloader.next_chunk()\n except Exception as e:\n # Clean up temp file on failure\n with contextlib.suppress(OSError):\n Path(temp_file_path).unlink()\n msg = f\"Failed to download file from Google Drive: {e}\"\n raise RuntimeError(msg) from e\n\n # Create BaseFile object\n from lfx.schema.data import Data\n\n temp_path = Path(temp_file_path)\n data_obj = Data(data={self.SERVER_FILE_PATH_FIELDNAME: str(temp_path)})\n return [BaseFileComponent.BaseFile(data_obj, temp_path, delete_after_processing=True)]\n\n def _is_docling_compatible(self, file_path: str) -> bool:\n \"\"\"Lightweight extension gate for Docling-compatible types.\"\"\"\n docling_exts = (\n \".adoc\",\n \".asciidoc\",\n \".asc\",\n \".bmp\",\n \".csv\",\n \".dotx\",\n \".dotm\",\n \".docm\",\n \".docx\",\n \".htm\",\n \".html\",\n \".jpg\",\n \".jpeg\",\n \".json\",\n \".md\",\n \".pdf\",\n \".png\",\n \".potx\",\n \".ppsx\",\n \".pptm\",\n \".potm\",\n \".ppsm\",\n \".pptx\",\n \".tiff\",\n \".txt\",\n \".xls\",\n \".xlsx\",\n \".xhtml\",\n \".xml\",\n \".webp\",\n )\n return file_path.lower().endswith(docling_exts)\n\n async def _get_local_file_for_docling(self, file_path: str) -> tuple[str, bool]:\n \"\"\"Get a local file path for Docling processing, downloading from S3 if needed.\n\n Args:\n file_path: Either a local path or S3 key (format \"flow_id/filename\")\n\n Returns:\n tuple[str, bool]: (local_path, should_delete) where should_delete indicates\n if this is a temporary file that should be cleaned up\n \"\"\"\n settings = get_settings_service().settings\n if settings.storage_type == \"local\":\n return file_path, False\n\n # S3 storage - download to temp file\n parsed = parse_storage_path(file_path)\n if not parsed:\n msg = f\"Invalid S3 path format: {file_path}. Expected 'flow_id/filename'\"\n raise ValueError(msg)\n\n storage_service = get_storage_service()\n flow_id, filename = parsed\n\n # Get file content from S3\n content = await storage_service.get_file(flow_id, filename)\n\n suffix = Path(filename).suffix\n with NamedTemporaryFile(mode=\"wb\", suffix=suffix, delete=False) as tmp_file:\n tmp_file.write(content)\n temp_path = tmp_file.name\n\n return temp_path, True\n\n def _process_docling_in_subprocess(self, file_path: str) -> Data | None:\n \"\"\"Run Docling in a separate OS process and map the result to a Data object.\n\n We avoid multiprocessing pickling by launching `python -c \"<script>\"` and\n passing JSON config via stdin. The child prints a JSON result to stdout.\n\n For S3 storage, the file is downloaded to a temp file first.\n \"\"\"\n if not file_path:\n return None\n\n settings = get_settings_service().settings\n if settings.storage_type == \"s3\":\n local_path, should_delete = run_until_complete(self._get_local_file_for_docling(file_path))\n else:\n local_path = file_path\n should_delete = False\n\n try:\n return self._process_docling_subprocess_impl(local_path, file_path)\n finally:\n # Clean up temp file if we created one\n if should_delete:\n with contextlib.suppress(Exception):\n Path(local_path).unlink() # Ignore cleanup errors\n\n def _process_docling_subprocess_impl(self, local_file_path: str, original_file_path: str) -> Data | None:\n \"\"\"Implementation of Docling subprocess processing.\n\n Args:\n local_file_path: Path to local file to process\n original_file_path: Original file path to include in metadata\n Returns:\n Data object with processed content\n \"\"\"\n args: dict[str, Any] = {\n \"file_path\": local_file_path,\n \"markdown\": bool(self.markdown),\n \"image_mode\": str(self.IMAGE_MODE),\n \"md_image_placeholder\": str(self.md_image_placeholder),\n \"md_page_break_placeholder\": str(self.md_page_break_placeholder),\n \"pipeline\": str(self.pipeline),\n \"ocr_engine\": (\n self.ocr_engine if self.ocr_engine and self.ocr_engine != \"None\" and self.pipeline != \"vlm\" else None\n ),\n }\n\n # Child script for isolating the docling processing\n child_script = textwrap.dedent(\n r\"\"\"\n import json, sys\n\n def try_imports():\n try:\n from docling.datamodel.base_models import ConversionStatus, InputFormat # type: ignore\n from docling.document_converter import DocumentConverter # type: ignore\n from docling_core.types.doc import ImageRefMode # type: ignore\n return ConversionStatus, InputFormat, DocumentConverter, ImageRefMode, \"latest\"\n except Exception as e:\n raise e\n\n def create_converter(strategy, input_format, DocumentConverter, pipeline, ocr_engine):\n # --- Standard PDF/IMAGE pipeline (your existing behavior), with optional OCR ---\n if pipeline == \"standard\":\n try:\n from docling.datamodel.pipeline_options import PdfPipelineOptions # type: ignore\n from docling.document_converter import PdfFormatOption # type: ignore\n\n pipe = PdfPipelineOptions()\n pipe.do_ocr = False\n\n if ocr_engine:\n try:\n from docling.models.factories import get_ocr_factory # type: ignore\n pipe.do_ocr = True\n fac = get_ocr_factory(allow_external_plugins=False)\n pipe.ocr_options = fac.create_options(kind=ocr_engine)\n except Exception:\n # If OCR setup fails, disable it\n pipe.do_ocr = False\n\n fmt = {}\n if hasattr(input_format, \"PDF\"):\n fmt[getattr(input_format, \"PDF\")] = PdfFormatOption(pipeline_options=pipe)\n if hasattr(input_format, \"IMAGE\"):\n fmt[getattr(input_format, \"IMAGE\")] = PdfFormatOption(pipeline_options=pipe)\n\n return DocumentConverter(format_options=fmt)\n except Exception:\n return DocumentConverter()\n\n # --- Vision-Language Model (VLM) pipeline ---\n if pipeline == \"vlm\":\n try:\n from docling.datamodel.pipeline_options import VlmPipelineOptions\n from docling.datamodel.vlm_model_specs import GRANITEDOCLING_MLX, GRANITEDOCLING_TRANSFORMERS\n from docling.document_converter import PdfFormatOption\n from docling.pipeline.vlm_pipeline import VlmPipeline\n\n vl_pipe = VlmPipelineOptions(\n vlm_options=GRANITEDOCLING_TRANSFORMERS,\n )\n\n if sys.platform == \"darwin\":\n try:\n import mlx_vlm\n vl_pipe.vlm_options = GRANITEDOCLING_MLX\n except ImportError as e:\n raise e\n\n # VLM paths generally don't need OCR; keep OCR off by default here.\n fmt = {}\n if hasattr(input_format, \"PDF\"):\n fmt[getattr(input_format, \"PDF\")] = PdfFormatOption(\n pipeline_cls=VlmPipeline,\n pipeline_options=vl_pipe\n )\n if hasattr(input_format, \"IMAGE\"):\n fmt[getattr(input_format, \"IMAGE\")] = PdfFormatOption(\n pipeline_cls=VlmPipeline,\n pipeline_options=vl_pipe\n )\n\n return DocumentConverter(format_options=fmt)\n except Exception as e:\n raise e\n\n # --- Fallback: default converter with no special options ---\n return DocumentConverter()\n\n def export_markdown(document, ImageRefMode, image_mode, img_ph, pg_ph):\n try:\n mode = getattr(ImageRefMode, image_mode.upper(), image_mode)\n return document.export_to_markdown(\n image_mode=mode,\n image_placeholder=img_ph,\n page_break_placeholder=pg_ph,\n )\n except Exception:\n try:\n return document.export_to_text()\n except Exception:\n return str(document)\n\n def to_rows(doc_dict):\n rows = []\n for t in doc_dict.get(\"texts\", []):\n prov = t.get(\"prov\") or []\n page_no = None\n if prov and isinstance(prov, list) and isinstance(prov[0], dict):\n page_no = prov[0].get(\"page_no\")\n rows.append({\n \"page_no\": page_no,\n \"label\": t.get(\"label\"),\n \"text\": t.get(\"text\"),\n \"level\": t.get(\"level\"),\n })\n return rows\n\n def main():\n cfg = json.loads(sys.stdin.read())\n file_path = cfg[\"file_path\"]\n markdown = cfg[\"markdown\"]\n image_mode = cfg[\"image_mode\"]\n img_ph = cfg[\"md_image_placeholder\"]\n pg_ph = cfg[\"md_page_break_placeholder\"]\n pipeline = cfg[\"pipeline\"]\n ocr_engine = cfg.get(\"ocr_engine\")\n meta = {\"file_path\": file_path}\n\n try:\n ConversionStatus, InputFormat, DocumentConverter, ImageRefMode, strategy = try_imports()\n converter = create_converter(strategy, InputFormat, DocumentConverter, pipeline, ocr_engine)\n try:\n res = converter.convert(file_path)\n except Exception as e:\n print(json.dumps({\"ok\": False, \"error\": f\"Docling conversion error: {e}\", \"meta\": meta}))\n return\n\n ok = False\n if hasattr(res, \"status\"):\n try:\n ok = (res.status == ConversionStatus.SUCCESS) or (str(res.status).lower() == \"success\")\n except Exception:\n ok = (str(res.status).lower() == \"success\")\n if not ok and hasattr(res, \"document\"):\n ok = getattr(res, \"document\", None) is not None\n if not ok:\n print(json.dumps({\"ok\": False, \"error\": \"Docling conversion failed\", \"meta\": meta}))\n return\n\n doc = getattr(res, \"document\", None)\n if doc is None:\n print(json.dumps({\"ok\": False, \"error\": \"Docling produced no document\", \"meta\": meta}))\n return\n\n if markdown:\n text = export_markdown(doc, ImageRefMode, image_mode, img_ph, pg_ph)\n print(json.dumps({\"ok\": True, \"mode\": \"markdown\", \"text\": text, \"meta\": meta}))\n return\n\n # structured\n try:\n doc_dict = doc.export_to_dict()\n except Exception as e:\n print(json.dumps({\"ok\": False, \"error\": f\"Docling export_to_dict failed: {e}\", \"meta\": meta}))\n return\n\n rows = to_rows(doc_dict)\n print(json.dumps({\"ok\": True, \"mode\": \"structured\", \"doc\": rows, \"meta\": meta}))\n except Exception as e:\n print(\n json.dumps({\n \"ok\": False,\n \"error\": f\"Docling processing error: {e}\",\n \"meta\": {\"file_path\": file_path},\n })\n )\n\n if __name__ == \"__main__\":\n main()\n \"\"\"\n )\n\n # Validate file_path to avoid command injection or unsafe input\n if not isinstance(args[\"file_path\"], str) or any(c in args[\"file_path\"] for c in [\";\", \"|\", \"&\", \"$\", \"`\"]):\n return Data(data={\"error\": \"Unsafe file path detected.\", \"file_path\": args[\"file_path\"]})\n\n proc = subprocess.run( # noqa: S603\n [sys.executable, \"-u\", \"-c\", child_script],\n input=json.dumps(args).encode(\"utf-8\"),\n capture_output=True,\n check=False,\n )\n\n if not proc.stdout:\n err_msg = proc.stderr.decode(\"utf-8\", errors=\"replace\") if proc.stderr else \"no output from child process\"\n return Data(data={\"error\": f\"Docling subprocess error: {err_msg}\", \"file_path\": original_file_path})\n\n try:\n result = json.loads(proc.stdout.decode(\"utf-8\"))\n except Exception as e: # noqa: BLE001\n err_msg = proc.stderr.decode(\"utf-8\", errors=\"replace\")\n return Data(\n data={\n \"error\": f\"Invalid JSON from Docling subprocess: {e}. stderr={err_msg}\",\n \"file_path\": original_file_path,\n },\n )\n\n if not result.get(\"ok\"):\n error_msg = result.get(\"error\", \"Unknown Docling error\")\n # Override meta file_path with original_file_path to ensure correct path matching\n meta = result.get(\"meta\", {})\n meta[\"file_path\"] = original_file_path\n return Data(data={\"error\": error_msg, **meta})\n\n meta = result.get(\"meta\", {})\n # Override meta file_path with original_file_path to ensure correct path matching\n # The subprocess returns the temp file path, but we need the original S3/local path for rollup_data\n meta[\"file_path\"] = original_file_path\n if result.get(\"mode\") == \"markdown\":\n exported_content = str(result.get(\"text\", \"\"))\n return Data(\n text=exported_content,\n data={\"exported_content\": exported_content, \"export_format\": self.EXPORT_FORMAT, **meta},\n )\n\n rows = list(result.get(\"doc\", []))\n return Data(data={\"doc\": rows, \"export_format\": self.EXPORT_FORMAT, **meta})\n\n def process_files(\n self,\n file_list: list[BaseFileComponent.BaseFile],\n ) -> list[BaseFileComponent.BaseFile]:\n \"\"\"Process input files.\n\n - advanced_mode => Docling in a separate process.\n - Otherwise => standard parsing in current process (optionally threaded).\n \"\"\"\n if not file_list:\n msg = \"No files to process.\"\n raise ValueError(msg)\n\n # Validate image files to detect content/extension mismatches\n # This prevents API errors like \"Image does not match the provided media type\"\n image_extensions = {\"jpeg\", \"jpg\", \"png\", \"gif\", \"webp\", \"bmp\", \"tiff\"}\n settings = get_settings_service().settings\n for file in file_list:\n extension = file.path.suffix[1:].lower()\n if extension in image_extensions:\n # Read bytes based on storage type\n try:\n if settings.storage_type == \"s3\":\n # For S3 storage, use storage service to read file bytes\n file_path_str = str(file.path)\n content = run_until_complete(read_file_bytes(file_path_str))\n else:\n # For local storage, read bytes directly from filesystem\n content = file.path.read_bytes()\n\n is_valid, error_msg = validate_image_content_type(\n str(file.path),\n content=content,\n )\n if not is_valid:\n self.log(error_msg)\n if not self.silent_errors:\n raise ValueError(error_msg)\n except (OSError, FileNotFoundError) as e:\n self.log(f\"Could not read file for validation: {e}\")\n # Continue - let it fail later with better error\n\n # Validate that files requiring Docling are only processed when advanced mode is enabled\n if not self.advanced_mode:\n for file in file_list:\n extension = file.path.suffix[1:].lower()\n if extension in self.DOCLING_ONLY_EXTENSIONS:\n msg = (\n f\"File '{file.path.name}' has extension '.{extension}' which requires \"\n f\"Advanced Parser mode. Please enable 'Advanced Parser' to process this file.\"\n )\n self.log(msg)\n raise ValueError(msg)\n\n def process_file_standard(file_path: str, *, silent_errors: bool = False) -> Data | None:\n try:\n return parse_text_file_to_data(file_path, silent_errors=silent_errors)\n except FileNotFoundError as e:\n self.log(f\"File not found: {file_path}. Error: {e}\")\n if not silent_errors:\n raise\n return None\n except Exception as e:\n self.log(f\"Unexpected error processing {file_path}: {e}\")\n if not silent_errors:\n raise\n return None\n\n docling_compatible = all(self._is_docling_compatible(str(f.path)) for f in file_list)\n\n # Advanced path: Check if ALL files are compatible with Docling\n if self.advanced_mode and docling_compatible:\n final_return: list[BaseFileComponent.BaseFile] = []\n for file in file_list:\n file_path = str(file.path)\n advanced_data: Data | None = self._process_docling_in_subprocess(file_path)\n\n # Handle None case - Docling processing failed or returned None\n if advanced_data is None:\n error_data = Data(\n data={\n \"file_path\": file_path,\n \"error\": \"Docling processing returned no result. Check logs for details.\",\n },\n )\n final_return.extend(self.rollup_data([file], [error_data]))\n continue\n\n # --- UNNEST: expand each element in `doc` to its own Data row\n payload = getattr(advanced_data, \"data\", {}) or {}\n\n # Check for errors first\n if \"error\" in payload:\n error_msg = payload.get(\"error\", \"Unknown error\")\n error_data = Data(\n data={\n \"file_path\": file_path,\n \"error\": error_msg,\n **{k: v for k, v in payload.items() if k not in (\"error\", \"file_path\")},\n },\n )\n final_return.extend(self.rollup_data([file], [error_data]))\n continue\n\n doc_rows = payload.get(\"doc\")\n if isinstance(doc_rows, list) and doc_rows:\n # Non-empty list of structured rows\n rows: list[Data | None] = [\n Data(\n data={\n \"file_path\": file_path,\n **(item if isinstance(item, dict) else {\"value\": item}),\n },\n )\n for item in doc_rows\n ]\n final_return.extend(self.rollup_data([file], rows))\n elif isinstance(doc_rows, list) and not doc_rows:\n # Empty list - file was processed but no text content found\n # Create a Data object indicating no content was extracted\n self.log(f\"No text extracted from '{file_path}', creating placeholder data\")\n empty_data = Data(\n data={\n \"file_path\": file_path,\n \"text\": \"(No text content extracted from image)\",\n \"info\": \"Image processed successfully but contained no extractable text\",\n **{k: v for k, v in payload.items() if k != \"doc\"},\n },\n )\n final_return.extend(self.rollup_data([file], [empty_data]))\n else:\n # If not structured, keep as-is (e.g., markdown export or error dict)\n # Ensure file_path is set for proper rollup matching\n if not payload.get(\"file_path\"):\n payload[\"file_path\"] = file_path\n # Create new Data with file_path\n advanced_data = Data(\n data=payload,\n text=getattr(advanced_data, \"text\", None),\n )\n final_return.extend(self.rollup_data([file], [advanced_data]))\n return final_return\n\n # Standard multi-file (or single non-advanced) path\n concurrency = 1 if not self.use_multithreading else max(1, self.concurrency_multithreading)\n\n file_paths = [str(f.path) for f in file_list]\n self.log(f\"Starting parallel processing of {len(file_paths)} files with concurrency: {concurrency}.\")\n my_data = parallel_load_data(\n file_paths,\n silent_errors=self.silent_errors,\n load_function=process_file_standard,\n max_concurrency=concurrency,\n )\n return self.rollup_data(file_list, my_data)\n\n # ------------------------------ Output helpers -----------------------------------\n\n def load_files_helper(self) -> DataFrame:\n result = self.load_files()\n\n # Result is a DataFrame - check if it has any rows\n if result.empty:\n msg = \"Could not extract content from the provided file(s).\"\n raise ValueError(msg)\n\n # Check for error column with error messages\n if \"error\" in result.columns:\n errors = result[\"error\"].dropna().tolist()\n if errors and not any(col in result.columns for col in [\"text\", \"doc\", \"exported_content\"]):\n raise ValueError(errors[0])\n\n return result\n\n def load_files_dataframe(self) -> DataFrame:\n \"\"\"Load files using advanced Docling processing and export to DataFrame format.\"\"\"\n self.markdown = False\n return self.load_files_helper()\n\n def load_files_markdown(self) -> Message:\n \"\"\"Load files using advanced Docling processing and export to Markdown format.\"\"\"\n self.markdown = True\n result = self.load_files_helper()\n\n # Result is a DataFrame - check for text or exported_content columns\n if \"text\" in result.columns and not result[\"text\"].isna().all():\n text_values = result[\"text\"].dropna().tolist()\n if text_values:\n return Message(text=str(text_values[0]))\n\n if \"exported_content\" in result.columns and not result[\"exported_content\"].isna().all():\n content_values = result[\"exported_content\"].dropna().tolist()\n if content_values:\n return Message(text=str(content_values[0]))\n\n # Return empty message with info that no text was found\n return Message(text=\"(No text content extracted from file)\")\n"
4476
4974
  },
4477
- "astradb_vectorstore_kwargs": {
4478
- "_input_type": "NestedDictInput",
4975
+ "concurrency_multithreading": {
4976
+ "_input_type": "IntInput",
4479
4977
  "advanced": true,
4480
- "display_name": "AstraDBVectorStore Parameters",
4978
+ "display_name": "Processing Concurrency",
4481
4979
  "dynamic": false,
4482
- "info": "Optional dictionary of additional parameters for the AstraDBVectorStore.",
4980
+ "info": "When multiple files are being processed, the number of files to process concurrently.",
4483
4981
  "list": false,
4484
4982
  "list_add_label": "Add More",
4485
- "name": "astradb_vectorstore_kwargs",
4983
+ "name": "concurrency_multithreading",
4984
+ "override_skip": false,
4486
4985
  "placeholder": "",
4487
4986
  "required": false,
4488
4987
  "show": true,
4489
4988
  "title_case": false,
4490
4989
  "tool_mode": false,
4491
- "trace_as_input": true,
4492
4990
  "trace_as_metadata": true,
4493
- "type": "NestedDict",
4494
- "value": {}
4991
+ "track_in_telemetry": true,
4992
+ "type": "int",
4993
+ "value": 1
4495
4994
  },
4496
- "autodetect_collection": {
4995
+ "delete_server_file_after_processing": {
4497
4996
  "_input_type": "BoolInput",
4498
4997
  "advanced": true,
4499
- "display_name": "Autodetect Collection",
4998
+ "display_name": "Delete Server File After Processing",
4500
4999
  "dynamic": false,
4501
- "info": "Boolean flag to determine whether to autodetect the collection.",
5000
+ "info": "If true, the Server File Path will be deleted after processing.",
4502
5001
  "list": false,
4503
5002
  "list_add_label": "Add More",
4504
- "name": "autodetect_collection",
5003
+ "name": "delete_server_file_after_processing",
5004
+ "override_skip": false,
4505
5005
  "placeholder": "",
4506
5006
  "required": false,
4507
5007
  "show": true,
4508
5008
  "title_case": false,
4509
5009
  "tool_mode": false,
4510
5010
  "trace_as_metadata": true,
5011
+ "track_in_telemetry": true,
4511
5012
  "type": "bool",
4512
5013
  "value": true
4513
5014
  },
4514
- "code": {
5015
+ "doc_key": {
5016
+ "_input_type": "MessageTextInput",
4515
5017
  "advanced": true,
4516
- "dynamic": true,
4517
- "fileTypes": [],
4518
- "file_path": "",
4519
- "info": "",
5018
+ "display_name": "Doc Key",
5019
+ "dynamic": false,
5020
+ "info": "The key to use for the DoclingDocument column.",
5021
+ "input_types": [
5022
+ "Message"
5023
+ ],
4520
5024
  "list": false,
5025
+ "list_add_label": "Add More",
4521
5026
  "load_from_db": false,
4522
- "multiline": true,
4523
- "name": "code",
4524
- "password": false,
5027
+ "name": "doc_key",
5028
+ "override_skip": false,
5029
+ "placeholder": "",
5030
+ "required": false,
5031
+ "show": false,
5032
+ "title_case": false,
5033
+ "tool_mode": false,
5034
+ "trace_as_input": true,
5035
+ "trace_as_metadata": true,
5036
+ "track_in_telemetry": false,
5037
+ "type": "str",
5038
+ "value": "doc"
5039
+ },
5040
+ "file_id": {
5041
+ "_input_type": "StrInput",
5042
+ "advanced": false,
5043
+ "display_name": "Google Drive File ID",
5044
+ "dynamic": false,
5045
+ "info": "The Google Drive file ID to read. The file must be shared with the service account email.",
5046
+ "list": false,
5047
+ "list_add_label": "Add More",
5048
+ "load_from_db": false,
5049
+ "name": "file_id",
5050
+ "override_skip": false,
4525
5051
  "placeholder": "",
4526
5052
  "required": true,
5053
+ "show": false,
5054
+ "title_case": false,
5055
+ "tool_mode": false,
5056
+ "trace_as_metadata": true,
5057
+ "track_in_telemetry": false,
5058
+ "type": "str",
5059
+ "value": ""
5060
+ },
5061
+ "file_path": {
5062
+ "_input_type": "HandleInput",
5063
+ "advanced": true,
5064
+ "display_name": "Server File Path",
5065
+ "dynamic": false,
5066
+ "info": "Data object with a 'file_path' property pointing to server file or a Message object with a path to the file. Supercedes 'Path' but supports same file types.",
5067
+ "input_types": [
5068
+ "Data",
5069
+ "Message"
5070
+ ],
5071
+ "list": true,
5072
+ "list_add_label": "Add More",
5073
+ "name": "file_path",
5074
+ "override_skip": false,
5075
+ "placeholder": "",
5076
+ "required": false,
4527
5077
  "show": true,
4528
5078
  "title_case": false,
4529
- "type": "code",
4530
- "value": "from astrapy import DataAPIClient\nfrom langchain_core.documents import Document\n\nfrom lfx.base.datastax.astradb_base import AstraDBBaseComponent\nfrom lfx.base.vectorstores.model import LCVectorStoreComponent, check_cached_vector_store\nfrom lfx.base.vectorstores.vector_store_connection_decorator import vector_store_connection\nfrom lfx.helpers.data import docs_to_data\nfrom lfx.io import BoolInput, DropdownInput, FloatInput, HandleInput, IntInput, NestedDictInput, QueryInput, StrInput\nfrom lfx.schema.data import Data\nfrom lfx.serialization import serialize\nfrom lfx.utils.version import get_version_info\n\n\n@vector_store_connection\nclass AstraDBVectorStoreComponent(AstraDBBaseComponent, LCVectorStoreComponent):\n display_name: str = \"Astra DB\"\n description: str = \"Ingest and search documents in Astra DB\"\n documentation: str = \"https://docs.langflow.org/bundles-datastax\"\n name = \"AstraDB\"\n icon: str = \"AstraDB\"\n\n inputs = [\n *AstraDBBaseComponent.inputs,\n *LCVectorStoreComponent.inputs,\n HandleInput(\n name=\"embedding_model\",\n display_name=\"Embedding Model\",\n input_types=[\"Embeddings\"],\n info=\"Specify the Embedding Model. Not required for Astra Vectorize collections.\",\n required=False,\n show=True,\n ),\n StrInput(\n name=\"content_field\",\n display_name=\"Content Field\",\n info=\"Field to use as the text content field for the vector store.\",\n advanced=True,\n ),\n StrInput(\n name=\"deletion_field\",\n display_name=\"Deletion Based On Field\",\n info=\"When this parameter is provided, documents in the target collection with \"\n \"metadata field values matching the input metadata field value will be deleted \"\n \"before new data is loaded.\",\n advanced=True,\n ),\n BoolInput(\n name=\"ignore_invalid_documents\",\n display_name=\"Ignore Invalid Documents\",\n info=\"Boolean flag to determine whether to ignore invalid documents at runtime.\",\n advanced=True,\n ),\n NestedDictInput(\n name=\"astradb_vectorstore_kwargs\",\n display_name=\"AstraDBVectorStore Parameters\",\n info=\"Optional dictionary of additional parameters for the AstraDBVectorStore.\",\n advanced=True,\n ),\n DropdownInput(\n name=\"search_method\",\n display_name=\"Search Method\",\n info=(\n \"Determine how your content is matched: Vector finds semantic similarity, \"\n \"and Hybrid Search (suggested) combines both approaches \"\n \"with a reranker.\"\n ),\n options=[\"Hybrid Search\", \"Vector Search\"], # TODO: Restore Lexical Search?\n options_metadata=[{\"icon\": \"SearchHybrid\"}, {\"icon\": \"SearchVector\"}],\n value=\"Vector Search\",\n advanced=True,\n real_time_refresh=True,\n ),\n DropdownInput(\n name=\"reranker\",\n display_name=\"Reranker\",\n info=\"Post-retrieval model that re-scores results for optimal relevance ranking.\",\n show=False,\n toggle=True,\n ),\n QueryInput(\n name=\"lexical_terms\",\n display_name=\"Lexical Terms\",\n info=\"Add additional terms/keywords to augment search precision.\",\n placeholder=\"Enter terms to search...\",\n separator=\" \",\n show=False,\n value=\"\",\n ),\n IntInput(\n name=\"number_of_results\",\n display_name=\"Number of Search Results\",\n info=\"Number of search results to return.\",\n advanced=True,\n value=4,\n ),\n DropdownInput(\n name=\"search_type\",\n display_name=\"Search Type\",\n info=\"Search type to use\",\n options=[\"Similarity\", \"Similarity with score threshold\", \"MMR (Max Marginal Relevance)\"],\n value=\"Similarity\",\n advanced=True,\n ),\n FloatInput(\n name=\"search_score_threshold\",\n display_name=\"Search Score Threshold\",\n info=\"Minimum similarity score threshold for search results. \"\n \"(when using 'Similarity with score threshold')\",\n value=0,\n advanced=True,\n ),\n NestedDictInput(\n name=\"advanced_search_filter\",\n display_name=\"Search Metadata Filter\",\n info=\"Optional dictionary of filters to apply to the search query.\",\n advanced=True,\n ),\n ]\n\n async def update_build_config(\n self,\n build_config: dict,\n field_value: str | dict,\n field_name: str | None = None,\n ) -> dict:\n \"\"\"Update build configuration with proper handling of embedding and search options.\"\"\"\n # Handle base astra db build config updates\n build_config = await super().update_build_config(\n build_config,\n field_value=field_value,\n field_name=field_name,\n )\n\n # Set embedding model display based on provider selection\n if isinstance(field_value, dict) and \"02_embedding_generation_provider\" in field_value:\n embedding_provider = field_value.get(\"02_embedding_generation_provider\")\n is_custom_provider = embedding_provider and embedding_provider != \"Bring your own\"\n provider = embedding_provider.lower() if is_custom_provider and embedding_provider is not None else None\n\n build_config[\"embedding_model\"][\"show\"] = not bool(provider)\n build_config[\"embedding_model\"][\"required\"] = not bool(provider)\n\n # Early return if no API endpoint is configured\n if not self.get_api_endpoint():\n return build_config\n\n # Configure search method and related options\n return self._configure_search_options(build_config)\n\n def _configure_search_options(self, build_config: dict) -> dict:\n \"\"\"Configure hybrid search, reranker, and vector search options.\"\"\"\n # Detect available hybrid search capabilities\n hybrid_capabilities = self._detect_hybrid_capabilities()\n\n # Return if we haven't selected a collection\n if not build_config[\"collection_name\"][\"options\"] or not build_config[\"collection_name\"][\"value\"]:\n return build_config\n\n # Get collection options\n collection_options = self._get_collection_options(build_config)\n\n # Get the selected collection index\n index = build_config[\"collection_name\"][\"options\"].index(build_config[\"collection_name\"][\"value\"])\n provider = build_config[\"collection_name\"][\"options_metadata\"][index][\"provider\"]\n build_config[\"embedding_model\"][\"show\"] = not bool(provider)\n build_config[\"embedding_model\"][\"required\"] = not bool(provider)\n\n # Determine search configuration\n is_vector_search = build_config[\"search_method\"][\"value\"] == \"Vector Search\"\n is_autodetect = build_config[\"autodetect_collection\"][\"value\"]\n\n # Apply hybrid search configuration\n if hybrid_capabilities[\"available\"]:\n build_config[\"search_method\"][\"show\"] = True\n build_config[\"search_method\"][\"options\"] = [\"Hybrid Search\", \"Vector Search\"]\n build_config[\"search_method\"][\"value\"] = build_config[\"search_method\"].get(\"value\", \"Hybrid Search\")\n\n build_config[\"reranker\"][\"options\"] = hybrid_capabilities[\"reranker_models\"]\n build_config[\"reranker\"][\"options_metadata\"] = hybrid_capabilities[\"reranker_metadata\"]\n if hybrid_capabilities[\"reranker_models\"]:\n build_config[\"reranker\"][\"value\"] = hybrid_capabilities[\"reranker_models\"][0]\n else:\n build_config[\"search_method\"][\"show\"] = False\n build_config[\"search_method\"][\"options\"] = [\"Vector Search\"]\n build_config[\"search_method\"][\"value\"] = \"Vector Search\"\n build_config[\"reranker\"][\"options\"] = []\n build_config[\"reranker\"][\"options_metadata\"] = []\n\n # Configure reranker visibility and state\n hybrid_enabled = (\n collection_options[\"rerank_enabled\"] and build_config[\"search_method\"][\"value\"] == \"Hybrid Search\"\n )\n\n build_config[\"reranker\"][\"show\"] = hybrid_enabled\n build_config[\"reranker\"][\"toggle_value\"] = hybrid_enabled\n build_config[\"reranker\"][\"toggle_disable\"] = is_vector_search\n\n # Configure lexical terms\n lexical_visible = collection_options[\"lexical_enabled\"] and not is_vector_search\n build_config[\"lexical_terms\"][\"show\"] = lexical_visible\n build_config[\"lexical_terms\"][\"value\"] = \"\" if is_vector_search else build_config[\"lexical_terms\"][\"value\"]\n\n # Configure search type and score threshold\n build_config[\"search_type\"][\"show\"] = is_vector_search\n build_config[\"search_score_threshold\"][\"show\"] = is_vector_search\n\n # Force similarity search for hybrid mode or autodetect\n if hybrid_enabled or is_autodetect:\n build_config[\"search_type\"][\"value\"] = \"Similarity\"\n\n return build_config\n\n def _detect_hybrid_capabilities(self) -> dict:\n \"\"\"Detect available hybrid search and reranking capabilities.\"\"\"\n environment = self.get_environment(self.environment)\n client = DataAPIClient(environment=environment)\n admin_client = client.get_admin()\n db_admin = admin_client.get_database_admin(self.get_api_endpoint(), token=self.token)\n\n try:\n providers = db_admin.find_reranking_providers()\n reranker_models = [\n model.name for provider_data in providers.reranking_providers.values() for model in provider_data.models\n ]\n reranker_metadata = [\n {\"icon\": self.get_provider_icon(provider_name=model.name.split(\"/\")[0])}\n for provider in providers.reranking_providers.values()\n for model in provider.models\n ]\n except Exception as e: # noqa: BLE001\n self.log(f\"Hybrid search not available: {e}\")\n return {\n \"available\": False,\n \"reranker_models\": [],\n \"reranker_metadata\": [],\n }\n else:\n return {\n \"available\": True,\n \"reranker_models\": reranker_models,\n \"reranker_metadata\": reranker_metadata,\n }\n\n def _get_collection_options(self, build_config: dict) -> dict:\n \"\"\"Retrieve collection-level search options.\"\"\"\n database = self.get_database_object(api_endpoint=build_config[\"api_endpoint\"][\"value\"])\n collection = database.get_collection(\n name=build_config[\"collection_name\"][\"value\"],\n keyspace=build_config[\"keyspace\"][\"value\"],\n )\n\n col_options = collection.options()\n\n return {\n \"rerank_enabled\": bool(col_options.rerank and col_options.rerank.enabled),\n \"lexical_enabled\": bool(col_options.lexical and col_options.lexical.enabled),\n }\n\n @check_cached_vector_store\n def build_vector_store(self):\n try:\n from langchain_astradb import AstraDBVectorStore\n from langchain_astradb.utils.astradb import HybridSearchMode\n except ImportError as e:\n msg = (\n \"Could not import langchain Astra DB integration package. \"\n \"Please install it with `pip install langchain-astradb`.\"\n )\n raise ImportError(msg) from e\n\n # Get the embedding model and additional params\n embedding_params = {\"embedding\": self.embedding_model} if self.embedding_model else {}\n\n # Get the additional parameters\n additional_params = self.astradb_vectorstore_kwargs or {}\n\n # Get Langflow version and platform information\n __version__ = get_version_info()[\"version\"]\n langflow_prefix = \"\"\n # if os.getenv(\"AWS_EXECUTION_ENV\") == \"AWS_ECS_FARGATE\": # TODO: More precise way of detecting\n # langflow_prefix = \"ds-\"\n\n # Get the database object\n database = self.get_database_object()\n autodetect = self.collection_name in database.list_collection_names() and self.autodetect_collection\n\n # Bundle up the auto-detect parameters\n autodetect_params = {\n \"autodetect_collection\": autodetect,\n \"content_field\": (\n self.content_field\n if self.content_field and embedding_params\n else (\n \"page_content\"\n if embedding_params\n and self.collection_data(collection_name=self.collection_name, database=database) == 0\n else None\n )\n ),\n \"ignore_invalid_documents\": self.ignore_invalid_documents,\n }\n\n # Choose HybridSearchMode based on the selected param\n hybrid_search_mode = HybridSearchMode.DEFAULT if self.search_method == \"Hybrid Search\" else HybridSearchMode.OFF\n\n # Attempt to build the Vector Store object\n try:\n vector_store = AstraDBVectorStore(\n # Astra DB Authentication Parameters\n token=self.token,\n api_endpoint=database.api_endpoint,\n namespace=database.keyspace,\n collection_name=self.collection_name,\n environment=self.environment,\n # Hybrid Search Parameters\n hybrid_search=hybrid_search_mode,\n # Astra DB Usage Tracking Parameters\n ext_callers=[(f\"{langflow_prefix}langflow\", __version__)],\n # Astra DB Vector Store Parameters\n **autodetect_params,\n **embedding_params,\n **additional_params,\n )\n except ValueError as e:\n msg = f\"Error initializing AstraDBVectorStore: {e}\"\n raise ValueError(msg) from e\n\n # Add documents to the vector store\n self._add_documents_to_vector_store(vector_store)\n\n return vector_store\n\n def _add_documents_to_vector_store(self, vector_store) -> None:\n self.ingest_data = self._prepare_ingest_data()\n\n documents = []\n for _input in self.ingest_data or []:\n if isinstance(_input, Data):\n documents.append(_input.to_lc_document())\n else:\n msg = \"Vector Store Inputs must be Data objects.\"\n raise TypeError(msg)\n\n documents = [\n Document(page_content=doc.page_content, metadata=serialize(doc.metadata, to_str=True)) for doc in documents\n ]\n\n if documents and self.deletion_field:\n self.log(f\"Deleting documents where {self.deletion_field}\")\n try:\n database = self.get_database_object()\n collection = database.get_collection(self.collection_name, keyspace=database.keyspace)\n delete_values = list({doc.metadata[self.deletion_field] for doc in documents})\n self.log(f\"Deleting documents where {self.deletion_field} matches {delete_values}.\")\n collection.delete_many({f\"metadata.{self.deletion_field}\": {\"$in\": delete_values}})\n except ValueError as e:\n msg = f\"Error deleting documents from AstraDBVectorStore based on '{self.deletion_field}': {e}\"\n raise ValueError(msg) from e\n\n if documents:\n self.log(f\"Adding {len(documents)} documents to the Vector Store.\")\n try:\n vector_store.add_documents(documents)\n except ValueError as e:\n msg = f\"Error adding documents to AstraDBVectorStore: {e}\"\n raise ValueError(msg) from e\n else:\n self.log(\"No documents to add to the Vector Store.\")\n\n def _map_search_type(self) -> str:\n search_type_mapping = {\n \"Similarity with score threshold\": \"similarity_score_threshold\",\n \"MMR (Max Marginal Relevance)\": \"mmr\",\n }\n\n return search_type_mapping.get(self.search_type, \"similarity\")\n\n def _build_search_args(self):\n # Clean up the search query\n query = self.search_query if isinstance(self.search_query, str) and self.search_query.strip() else None\n lexical_terms = self.lexical_terms or None\n\n # Check if we have a search query, and if so set the args\n if query:\n args = {\n \"query\": query,\n \"search_type\": self._map_search_type(),\n \"k\": self.number_of_results,\n \"score_threshold\": self.search_score_threshold,\n \"lexical_query\": lexical_terms,\n }\n elif self.advanced_search_filter:\n args = {\n \"n\": self.number_of_results,\n }\n else:\n return {}\n\n filter_arg = self.advanced_search_filter or {}\n if filter_arg:\n args[\"filter\"] = filter_arg\n\n return args\n\n def search_documents(self, vector_store=None) -> list[Data]:\n vector_store = vector_store or self.build_vector_store()\n\n self.log(f\"Search input: {self.search_query}\")\n self.log(f\"Search type: {self.search_type}\")\n self.log(f\"Number of results: {self.number_of_results}\")\n self.log(f\"store.hybrid_search: {vector_store.hybrid_search}\")\n self.log(f\"Lexical terms: {self.lexical_terms}\")\n self.log(f\"Reranker: {self.reranker}\")\n\n try:\n search_args = self._build_search_args()\n except ValueError as e:\n msg = f\"Error in AstraDBVectorStore._build_search_args: {e}\"\n raise ValueError(msg) from e\n\n if not search_args:\n self.log(\"No search input or filters provided. Skipping search.\")\n return []\n\n docs = []\n search_method = \"search\" if \"query\" in search_args else \"metadata_search\"\n\n try:\n self.log(f\"Calling vector_store.{search_method} with args: {search_args}\")\n docs = getattr(vector_store, search_method)(**search_args)\n except ValueError as e:\n msg = f\"Error performing {search_method} in AstraDBVectorStore: {e}\"\n raise ValueError(msg) from e\n\n self.log(f\"Retrieved documents: {len(docs)}\")\n\n data = docs_to_data(docs)\n self.log(f\"Converted documents to data: {len(data)}\")\n self.status = data\n\n return data\n\n def get_retriever_kwargs(self):\n search_args = self._build_search_args()\n\n return {\n \"search_type\": self._map_search_type(),\n \"search_kwargs\": search_args,\n }\n"
5079
+ "trace_as_metadata": true,
5080
+ "track_in_telemetry": false,
5081
+ "type": "other",
5082
+ "value": ""
4531
5083
  },
4532
- "collection_name": {
4533
- "_input_type": "DropdownInput",
4534
- "advanced": false,
4535
- "combobox": true,
4536
- "dialog_inputs": {
4537
- "fields": {
4538
- "data": {
4539
- "node": {
4540
- "description": "Please allow several seconds for creation to complete.",
4541
- "display_name": "Create new collection",
4542
- "field_order": [
4543
- "01_new_collection_name",
4544
- "02_embedding_generation_provider",
4545
- "03_embedding_generation_model",
4546
- "04_dimension"
4547
- ],
4548
- "name": "create_collection",
4549
- "template": {
4550
- "01_new_collection_name": {
4551
- "_input_type": "StrInput",
4552
- "advanced": false,
4553
- "display_name": "Name",
4554
- "dynamic": false,
4555
- "info": "Name of the new collection to create in Astra DB.",
4556
- "list": false,
4557
- "list_add_label": "Add More",
4558
- "load_from_db": false,
4559
- "name": "new_collection_name",
4560
- "placeholder": "",
4561
- "required": true,
4562
- "show": true,
4563
- "title_case": false,
4564
- "tool_mode": false,
4565
- "trace_as_metadata": true,
4566
- "type": "str",
4567
- "value": ""
4568
- },
4569
- "02_embedding_generation_provider": {
4570
- "_input_type": "DropdownInput",
4571
- "advanced": false,
4572
- "combobox": false,
4573
- "dialog_inputs": {},
4574
- "display_name": "Embedding generation method",
4575
- "dynamic": false,
4576
- "external_options": {},
4577
- "helper_text": "To create collections with more embedding provider options, go to <a class=\"underline\" href=\"https://astra.datastax.com/\" target=\" _blank\" rel=\"noopener noreferrer\">your database in Astra DB</a>",
4578
- "info": "Provider to use for generating embeddings.",
4579
- "name": "embedding_generation_provider",
4580
- "options": [],
4581
- "options_metadata": [],
4582
- "placeholder": "",
4583
- "real_time_refresh": true,
4584
- "required": true,
4585
- "show": true,
4586
- "title_case": false,
4587
- "toggle": false,
4588
- "tool_mode": false,
4589
- "trace_as_metadata": true,
4590
- "type": "str",
4591
- "value": ""
4592
- },
4593
- "03_embedding_generation_model": {
4594
- "_input_type": "DropdownInput",
4595
- "advanced": false,
4596
- "combobox": false,
4597
- "dialog_inputs": {},
4598
- "display_name": "Embedding model",
4599
- "dynamic": false,
4600
- "external_options": {},
4601
- "info": "Model to use for generating embeddings.",
4602
- "name": "embedding_generation_model",
4603
- "options": [],
4604
- "options_metadata": [],
4605
- "placeholder": "",
4606
- "real_time_refresh": true,
4607
- "required": false,
4608
- "show": true,
4609
- "title_case": false,
4610
- "toggle": false,
4611
- "tool_mode": false,
4612
- "trace_as_metadata": true,
4613
- "type": "str",
4614
- "value": ""
4615
- },
4616
- "04_dimension": {
4617
- "_input_type": "IntInput",
4618
- "advanced": false,
4619
- "display_name": "Dimensions",
4620
- "dynamic": false,
4621
- "info": "Dimensions of the embeddings to generate.",
4622
- "list": false,
4623
- "list_add_label": "Add More",
4624
- "name": "dimension",
4625
- "placeholder": "",
4626
- "required": false,
4627
- "show": true,
4628
- "title_case": false,
4629
- "tool_mode": false,
4630
- "trace_as_metadata": true,
4631
- "type": "int"
4632
- }
4633
- }
4634
- }
4635
- }
4636
- },
4637
- "functionality": "create"
4638
- },
4639
- "display_name": "Collection",
5084
+ "file_path_str": {
5085
+ "_input_type": "StrInput",
5086
+ "advanced": true,
5087
+ "display_name": "File Path",
4640
5088
  "dynamic": false,
4641
- "external_options": {},
4642
- "info": "The name of the collection within Astra DB where the vectors will be stored.",
4643
- "name": "collection_name",
4644
- "options": [],
4645
- "options_metadata": [],
5089
+ "info": "Path to the file to read. Used when component is called as a tool. If not provided, will use the uploaded file from 'path' input.",
5090
+ "list": false,
5091
+ "list_add_label": "Add More",
5092
+ "load_from_db": false,
5093
+ "name": "file_path_str",
5094
+ "override_skip": false,
4646
5095
  "placeholder": "",
4647
- "real_time_refresh": true,
4648
- "refresh_button": true,
4649
- "required": true,
5096
+ "required": false,
4650
5097
  "show": false,
4651
5098
  "title_case": false,
4652
- "toggle": false,
4653
- "tool_mode": false,
5099
+ "tool_mode": true,
4654
5100
  "trace_as_metadata": true,
5101
+ "track_in_telemetry": false,
4655
5102
  "type": "str",
4656
5103
  "value": ""
4657
5104
  },
4658
- "content_field": {
4659
- "_input_type": "StrInput",
5105
+ "ignore_unspecified_files": {
5106
+ "_input_type": "BoolInput",
4660
5107
  "advanced": true,
4661
- "display_name": "Content Field",
5108
+ "display_name": "Ignore Unspecified Files",
4662
5109
  "dynamic": false,
4663
- "info": "Field to use as the text content field for the vector store.",
5110
+ "info": "If true, Data with no 'file_path' property will be ignored.",
4664
5111
  "list": false,
4665
5112
  "list_add_label": "Add More",
4666
- "load_from_db": false,
4667
- "name": "content_field",
5113
+ "name": "ignore_unspecified_files",
5114
+ "override_skip": false,
4668
5115
  "placeholder": "",
4669
5116
  "required": false,
4670
5117
  "show": true,
4671
5118
  "title_case": false,
4672
5119
  "tool_mode": false,
4673
5120
  "trace_as_metadata": true,
4674
- "type": "str",
4675
- "value": ""
5121
+ "track_in_telemetry": true,
5122
+ "type": "bool",
5123
+ "value": false
4676
5124
  },
4677
- "database_name": {
4678
- "_input_type": "DropdownInput",
4679
- "advanced": false,
4680
- "combobox": true,
4681
- "dialog_inputs": {
4682
- "fields": {
4683
- "data": {
4684
- "node": {
4685
- "description": "Please allow several minutes for creation to complete.",
4686
- "display_name": "Create new database",
4687
- "field_order": [
4688
- "01_new_database_name",
4689
- "02_cloud_provider",
4690
- "03_region"
4691
- ],
4692
- "name": "create_database",
4693
- "template": {
4694
- "01_new_database_name": {
4695
- "_input_type": "StrInput",
4696
- "advanced": false,
4697
- "display_name": "Name",
4698
- "dynamic": false,
4699
- "info": "Name of the new database to create in Astra DB.",
4700
- "list": false,
4701
- "list_add_label": "Add More",
4702
- "load_from_db": false,
4703
- "name": "new_database_name",
4704
- "placeholder": "",
4705
- "required": true,
4706
- "show": true,
4707
- "title_case": false,
4708
- "tool_mode": false,
4709
- "trace_as_metadata": true,
4710
- "type": "str",
4711
- "value": ""
4712
- },
4713
- "02_cloud_provider": {
4714
- "_input_type": "DropdownInput",
4715
- "advanced": false,
4716
- "combobox": false,
4717
- "dialog_inputs": {},
4718
- "display_name": "Cloud provider",
4719
- "dynamic": false,
4720
- "external_options": {},
4721
- "info": "Cloud provider for the new database.",
4722
- "name": "cloud_provider",
4723
- "options": [],
4724
- "options_metadata": [],
4725
- "placeholder": "",
4726
- "real_time_refresh": true,
4727
- "required": true,
4728
- "show": true,
4729
- "title_case": false,
4730
- "toggle": false,
4731
- "tool_mode": false,
4732
- "trace_as_metadata": true,
4733
- "type": "str",
4734
- "value": ""
4735
- },
4736
- "03_region": {
4737
- "_input_type": "DropdownInput",
4738
- "advanced": false,
4739
- "combobox": false,
4740
- "dialog_inputs": {},
4741
- "display_name": "Region",
4742
- "dynamic": false,
4743
- "external_options": {},
4744
- "info": "Region for the new database.",
4745
- "name": "region",
4746
- "options": [],
4747
- "options_metadata": [],
4748
- "placeholder": "",
4749
- "required": true,
4750
- "show": true,
4751
- "title_case": false,
4752
- "toggle": false,
4753
- "tool_mode": false,
4754
- "trace_as_metadata": true,
4755
- "type": "str",
4756
- "value": ""
4757
- }
4758
- }
4759
- }
4760
- }
4761
- },
4762
- "functionality": "create"
4763
- },
4764
- "display_name": "Database",
5125
+ "ignore_unsupported_extensions": {
5126
+ "_input_type": "BoolInput",
5127
+ "advanced": true,
5128
+ "display_name": "Ignore Unsupported Extensions",
4765
5129
  "dynamic": false,
4766
- "external_options": {},
4767
- "info": "The Database name for the Astra DB instance.",
4768
- "name": "database_name",
4769
- "options": [],
4770
- "options_metadata": [],
5130
+ "info": "If true, files with unsupported extensions will not be processed.",
5131
+ "list": false,
5132
+ "list_add_label": "Add More",
5133
+ "name": "ignore_unsupported_extensions",
5134
+ "override_skip": false,
4771
5135
  "placeholder": "",
4772
- "real_time_refresh": true,
4773
- "refresh_button": true,
4774
- "required": true,
5136
+ "required": false,
4775
5137
  "show": true,
4776
5138
  "title_case": false,
4777
- "toggle": false,
4778
5139
  "tool_mode": false,
4779
5140
  "trace_as_metadata": true,
4780
- "type": "str",
4781
- "value": ""
5141
+ "track_in_telemetry": true,
5142
+ "type": "bool",
5143
+ "value": true
4782
5144
  },
4783
- "deletion_field": {
5145
+ "markdown": {
5146
+ "_input_type": "BoolInput",
5147
+ "advanced": false,
5148
+ "display_name": "Markdown Export",
5149
+ "dynamic": false,
5150
+ "info": "Export processed documents to Markdown format. Only available when advanced mode is enabled.",
5151
+ "list": false,
5152
+ "list_add_label": "Add More",
5153
+ "name": "markdown",
5154
+ "override_skip": false,
5155
+ "placeholder": "",
5156
+ "required": false,
5157
+ "show": false,
5158
+ "title_case": false,
5159
+ "tool_mode": false,
5160
+ "trace_as_metadata": true,
5161
+ "track_in_telemetry": true,
5162
+ "type": "bool",
5163
+ "value": false
5164
+ },
5165
+ "md_image_placeholder": {
4784
5166
  "_input_type": "StrInput",
4785
5167
  "advanced": true,
4786
- "display_name": "Deletion Based On Field",
5168
+ "display_name": "Image placeholder",
4787
5169
  "dynamic": false,
4788
- "info": "When this parameter is provided, documents in the target collection with metadata field values matching the input metadata field value will be deleted before new data is loaded.",
5170
+ "info": "Specify the image placeholder for markdown exports.",
4789
5171
  "list": false,
4790
5172
  "list_add_label": "Add More",
4791
5173
  "load_from_db": false,
4792
- "name": "deletion_field",
5174
+ "name": "md_image_placeholder",
5175
+ "override_skip": false,
4793
5176
  "placeholder": "",
4794
5177
  "required": false,
4795
- "show": true,
5178
+ "show": false,
4796
5179
  "title_case": false,
4797
5180
  "tool_mode": false,
4798
5181
  "trace_as_metadata": true,
5182
+ "track_in_telemetry": false,
4799
5183
  "type": "str",
4800
- "value": ""
5184
+ "value": "<!-- image -->"
4801
5185
  },
4802
- "embedding_model": {
4803
- "_input_type": "HandleInput",
4804
- "advanced": false,
4805
- "display_name": "Embedding Model",
5186
+ "md_page_break_placeholder": {
5187
+ "_input_type": "StrInput",
5188
+ "advanced": true,
5189
+ "display_name": "Page break placeholder",
4806
5190
  "dynamic": false,
4807
- "info": "Specify the Embedding Model. Not required for Astra Vectorize collections.",
4808
- "input_types": [
4809
- "Embeddings"
4810
- ],
5191
+ "info": "Add this placeholder between pages in the markdown output.",
4811
5192
  "list": false,
4812
5193
  "list_add_label": "Add More",
4813
- "name": "embedding_model",
5194
+ "load_from_db": false,
5195
+ "name": "md_page_break_placeholder",
5196
+ "override_skip": false,
4814
5197
  "placeholder": "",
4815
5198
  "required": false,
4816
- "show": true,
5199
+ "show": false,
4817
5200
  "title_case": false,
5201
+ "tool_mode": false,
4818
5202
  "trace_as_metadata": true,
4819
- "type": "other",
5203
+ "track_in_telemetry": false,
5204
+ "type": "str",
4820
5205
  "value": ""
4821
5206
  },
4822
- "environment": {
5207
+ "ocr_engine": {
4823
5208
  "_input_type": "DropdownInput",
4824
5209
  "advanced": true,
4825
- "combobox": true,
5210
+ "combobox": false,
4826
5211
  "dialog_inputs": {},
4827
- "display_name": "Environment",
5212
+ "display_name": "OCR Engine",
4828
5213
  "dynamic": false,
4829
5214
  "external_options": {},
4830
- "info": "The environment for the Astra DB API Endpoint.",
4831
- "name": "environment",
5215
+ "info": "OCR engine to use. Only available when pipeline is set to 'standard'.",
5216
+ "name": "ocr_engine",
4832
5217
  "options": [
4833
- "prod",
4834
- "test",
4835
- "dev"
5218
+ "None",
5219
+ "easyocr"
4836
5220
  ],
4837
5221
  "options_metadata": [],
5222
+ "override_skip": false,
4838
5223
  "placeholder": "",
4839
- "real_time_refresh": true,
4840
5224
  "required": false,
4841
- "show": true,
5225
+ "show": false,
4842
5226
  "title_case": false,
4843
5227
  "toggle": false,
4844
5228
  "tool_mode": false,
4845
5229
  "trace_as_metadata": true,
5230
+ "track_in_telemetry": true,
4846
5231
  "type": "str",
4847
- "value": "prod"
4848
- },
4849
- "ignore_invalid_documents": {
4850
- "_input_type": "BoolInput",
4851
- "advanced": true,
4852
- "display_name": "Ignore Invalid Documents",
4853
- "dynamic": false,
4854
- "info": "Boolean flag to determine whether to ignore invalid documents at runtime.",
4855
- "list": false,
4856
- "list_add_label": "Add More",
4857
- "name": "ignore_invalid_documents",
4858
- "placeholder": "",
4859
- "required": false,
4860
- "show": true,
4861
- "title_case": false,
4862
- "tool_mode": false,
4863
- "trace_as_metadata": true,
4864
- "type": "bool",
4865
- "value": false
5232
+ "value": "easyocr"
4866
5233
  },
4867
- "ingest_data": {
4868
- "_input_type": "HandleInput",
5234
+ "path": {
5235
+ "_input_type": "FileInput",
4869
5236
  "advanced": false,
4870
- "display_name": "Ingest Data",
5237
+ "display_name": "Files",
4871
5238
  "dynamic": false,
4872
- "info": "",
4873
- "input_types": [
4874
- "Data",
4875
- "DataFrame"
5239
+ "fileTypes": [
5240
+ "csv",
5241
+ "json",
5242
+ "pdf",
5243
+ "txt",
5244
+ "md",
5245
+ "mdx",
5246
+ "yaml",
5247
+ "yml",
5248
+ "xml",
5249
+ "html",
5250
+ "htm",
5251
+ "docx",
5252
+ "py",
5253
+ "sh",
5254
+ "sql",
5255
+ "js",
5256
+ "ts",
5257
+ "tsx",
5258
+ "adoc",
5259
+ "asciidoc",
5260
+ "asc",
5261
+ "bmp",
5262
+ "dotx",
5263
+ "dotm",
5264
+ "docm",
5265
+ "jpg",
5266
+ "jpeg",
5267
+ "png",
5268
+ "potx",
5269
+ "ppsx",
5270
+ "pptm",
5271
+ "potm",
5272
+ "ppsm",
5273
+ "pptx",
5274
+ "tiff",
5275
+ "xls",
5276
+ "xlsx",
5277
+ "xhtml",
5278
+ "webp",
5279
+ "zip",
5280
+ "tar",
5281
+ "tgz",
5282
+ "bz2",
5283
+ "gz"
4876
5284
  ],
5285
+ "file_path": [],
5286
+ "info": "Supported file extensions: csv, json, pdf, txt, md, mdx, yaml, yml, xml, html, htm, docx, py, sh, sql, js, ts, tsx, adoc, asciidoc, asc, bmp, dotx, dotm, docm, jpg, jpeg, png, potx, ppsx, pptm, potm, ppsm, pptx, tiff, xls, xlsx, xhtml, webp; optionally bundled in file extensions: zip, tar, tgz, bz2, gz",
4877
5287
  "list": true,
4878
5288
  "list_add_label": "Add More",
4879
- "name": "ingest_data",
5289
+ "name": "path",
5290
+ "override_skip": false,
4880
5291
  "placeholder": "",
5292
+ "real_time_refresh": true,
4881
5293
  "required": false,
4882
5294
  "show": true,
5295
+ "temp_file": false,
4883
5296
  "title_case": false,
5297
+ "tool_mode": false,
4884
5298
  "trace_as_metadata": true,
4885
- "type": "other",
5299
+ "track_in_telemetry": false,
5300
+ "type": "file",
4886
5301
  "value": ""
4887
5302
  },
4888
- "keyspace": {
5303
+ "pipeline": {
4889
5304
  "_input_type": "DropdownInput",
4890
5305
  "advanced": true,
4891
5306
  "combobox": false,
4892
5307
  "dialog_inputs": {},
4893
- "display_name": "Keyspace",
5308
+ "display_name": "Pipeline",
4894
5309
  "dynamic": false,
4895
5310
  "external_options": {},
4896
- "info": "Optional keyspace within Astra DB to use for the collection.",
4897
- "name": "keyspace",
4898
- "options": [],
5311
+ "info": "Docling pipeline to use",
5312
+ "name": "pipeline",
5313
+ "options": [
5314
+ "standard",
5315
+ "vlm"
5316
+ ],
4899
5317
  "options_metadata": [],
5318
+ "override_skip": false,
4900
5319
  "placeholder": "",
4901
5320
  "real_time_refresh": true,
4902
5321
  "required": false,
@@ -4905,241 +5324,177 @@
4905
5324
  "toggle": false,
4906
5325
  "tool_mode": false,
4907
5326
  "trace_as_metadata": true,
5327
+ "track_in_telemetry": true,
4908
5328
  "type": "str",
4909
- "value": ""
5329
+ "value": "standard"
4910
5330
  },
4911
- "lexical_terms": {
4912
- "_input_type": "QueryInput",
5331
+ "s3_file_key": {
5332
+ "_input_type": "StrInput",
4913
5333
  "advanced": false,
4914
- "display_name": "Lexical Terms",
5334
+ "display_name": "S3 File Key",
4915
5335
  "dynamic": false,
4916
- "info": "Add additional terms/keywords to augment search precision.",
4917
- "input_types": [
4918
- "Message"
4919
- ],
5336
+ "info": "The key (path) of the file in S3 bucket.",
4920
5337
  "list": false,
4921
5338
  "list_add_label": "Add More",
4922
5339
  "load_from_db": false,
4923
- "name": "lexical_terms",
4924
- "placeholder": "Enter terms to search...",
4925
- "required": false,
4926
- "separator": " ",
5340
+ "name": "s3_file_key",
5341
+ "override_skip": false,
5342
+ "placeholder": "",
5343
+ "required": true,
4927
5344
  "show": false,
4928
5345
  "title_case": false,
4929
5346
  "tool_mode": false,
4930
- "trace_as_input": true,
4931
5347
  "trace_as_metadata": true,
4932
- "type": "query",
5348
+ "track_in_telemetry": false,
5349
+ "type": "str",
4933
5350
  "value": ""
4934
5351
  },
4935
- "number_of_results": {
4936
- "_input_type": "IntInput",
5352
+ "separator": {
5353
+ "_input_type": "StrInput",
4937
5354
  "advanced": true,
4938
- "display_name": "Number of Search Results",
5355
+ "display_name": "Separator",
4939
5356
  "dynamic": false,
4940
- "info": "Number of search results to return.",
5357
+ "info": "Specify the separator to use between multiple outputs in Message format.",
4941
5358
  "list": false,
4942
5359
  "list_add_label": "Add More",
4943
- "name": "number_of_results",
5360
+ "load_from_db": false,
5361
+ "name": "separator",
5362
+ "override_skip": false,
4944
5363
  "placeholder": "",
4945
5364
  "required": false,
4946
5365
  "show": true,
4947
5366
  "title_case": false,
4948
5367
  "tool_mode": false,
4949
5368
  "trace_as_metadata": true,
4950
- "type": "int",
4951
- "value": 4
5369
+ "track_in_telemetry": false,
5370
+ "type": "str",
5371
+ "value": "\n\n"
4952
5372
  },
4953
- "reranker": {
4954
- "_input_type": "DropdownInput",
5373
+ "service_account_key": {
5374
+ "_input_type": "SecretStrInput",
4955
5375
  "advanced": false,
4956
- "combobox": false,
4957
- "dialog_inputs": {},
4958
- "display_name": "Reranker",
5376
+ "display_name": "GCP Credentials Secret Key",
4959
5377
  "dynamic": false,
4960
- "external_options": {},
4961
- "info": "Post-retrieval model that re-scores results for optimal relevance ranking.",
4962
- "name": "reranker",
4963
- "options": [],
4964
- "options_metadata": [],
5378
+ "info": "Your Google Cloud Platform service account JSON key as a secret string (complete JSON content).",
5379
+ "input_types": [],
5380
+ "load_from_db": true,
5381
+ "name": "service_account_key",
5382
+ "override_skip": false,
5383
+ "password": true,
4965
5384
  "placeholder": "",
4966
- "required": false,
5385
+ "required": true,
4967
5386
  "show": false,
4968
5387
  "title_case": false,
4969
- "toggle": true,
4970
- "tool_mode": false,
4971
- "trace_as_metadata": true,
4972
- "type": "str",
4973
- "value": ""
4974
- },
4975
- "search_method": {
4976
- "_input_type": "DropdownInput",
4977
- "advanced": true,
4978
- "combobox": false,
4979
- "dialog_inputs": {},
4980
- "display_name": "Search Method",
4981
- "dynamic": false,
4982
- "external_options": {},
4983
- "info": "Determine how your content is matched: Vector finds semantic similarity, and Hybrid Search (suggested) combines both approaches with a reranker.",
4984
- "name": "search_method",
4985
- "options": [
4986
- "Hybrid Search",
4987
- "Vector Search"
4988
- ],
4989
- "options_metadata": [
4990
- {
4991
- "icon": "SearchHybrid"
4992
- },
4993
- {
4994
- "icon": "SearchVector"
4995
- }
4996
- ],
4997
- "placeholder": "",
4998
- "real_time_refresh": true,
4999
- "required": false,
5000
- "show": true,
5001
- "title_case": false,
5002
- "toggle": false,
5003
- "tool_mode": false,
5004
- "trace_as_metadata": true,
5388
+ "track_in_telemetry": false,
5005
5389
  "type": "str",
5006
- "value": "Vector Search"
5007
- },
5008
- "search_query": {
5009
- "_input_type": "QueryInput",
5010
- "advanced": false,
5011
- "display_name": "Search Query",
5012
- "dynamic": false,
5013
- "info": "Enter a query to run a similarity search.",
5014
- "input_types": [
5015
- "Message"
5016
- ],
5017
- "list": false,
5018
- "list_add_label": "Add More",
5019
- "load_from_db": false,
5020
- "name": "search_query",
5021
- "placeholder": "Enter a query...",
5022
- "required": false,
5023
- "show": true,
5024
- "title_case": false,
5025
- "tool_mode": true,
5026
- "trace_as_input": true,
5027
- "trace_as_metadata": true,
5028
- "type": "query",
5029
5390
  "value": ""
5030
5391
  },
5031
- "search_score_threshold": {
5032
- "_input_type": "FloatInput",
5392
+ "silent_errors": {
5393
+ "_input_type": "BoolInput",
5033
5394
  "advanced": true,
5034
- "display_name": "Search Score Threshold",
5395
+ "display_name": "Silent Errors",
5035
5396
  "dynamic": false,
5036
- "info": "Minimum similarity score threshold for search results. (when using 'Similarity with score threshold')",
5397
+ "info": "If true, errors will not raise an exception.",
5037
5398
  "list": false,
5038
5399
  "list_add_label": "Add More",
5039
- "name": "search_score_threshold",
5400
+ "name": "silent_errors",
5401
+ "override_skip": false,
5040
5402
  "placeholder": "",
5041
5403
  "required": false,
5042
5404
  "show": true,
5043
5405
  "title_case": false,
5044
5406
  "tool_mode": false,
5045
5407
  "trace_as_metadata": true,
5046
- "type": "float",
5047
- "value": 0
5408
+ "track_in_telemetry": true,
5409
+ "type": "bool",
5410
+ "value": false
5048
5411
  },
5049
- "search_type": {
5050
- "_input_type": "DropdownInput",
5051
- "advanced": true,
5052
- "combobox": false,
5053
- "dialog_inputs": {},
5054
- "display_name": "Search Type",
5412
+ "storage_location": {
5413
+ "_input_type": "SortableListInput",
5414
+ "advanced": false,
5415
+ "display_name": "Storage Location",
5055
5416
  "dynamic": false,
5056
- "external_options": {},
5057
- "info": "Search type to use",
5058
- "name": "search_type",
5417
+ "info": "Choose where to read the file from.",
5418
+ "limit": 1,
5419
+ "name": "storage_location",
5059
5420
  "options": [
5060
- "Similarity",
5061
- "Similarity with score threshold",
5062
- "MMR (Max Marginal Relevance)"
5421
+ {
5422
+ "icon": "hard-drive",
5423
+ "name": "Local"
5424
+ },
5425
+ {
5426
+ "icon": "Amazon",
5427
+ "name": "AWS"
5428
+ },
5429
+ {
5430
+ "icon": "google",
5431
+ "name": "Google Drive"
5432
+ }
5063
5433
  ],
5064
- "options_metadata": [],
5065
- "placeholder": "",
5434
+ "override_skip": false,
5435
+ "placeholder": "Select Location",
5436
+ "real_time_refresh": true,
5066
5437
  "required": false,
5438
+ "search_category": [],
5067
5439
  "show": true,
5068
5440
  "title_case": false,
5069
- "toggle": false,
5070
5441
  "tool_mode": false,
5071
5442
  "trace_as_metadata": true,
5072
- "type": "str",
5073
- "value": "Similarity"
5443
+ "track_in_telemetry": false,
5444
+ "type": "sortableList",
5445
+ "value": ""
5074
5446
  },
5075
- "should_cache_vector_store": {
5447
+ "use_multithreading": {
5076
5448
  "_input_type": "BoolInput",
5077
5449
  "advanced": true,
5078
- "display_name": "Cache Vector Store",
5450
+ "display_name": "[Deprecated] Use Multithreading",
5079
5451
  "dynamic": false,
5080
- "info": "If True, the vector store will be cached for the current build of the component. This is useful for components that have multiple output methods and want to share the same vector store.",
5452
+ "info": "Set 'Processing Concurrency' greater than 1 to enable multithreading.",
5081
5453
  "list": false,
5082
5454
  "list_add_label": "Add More",
5083
- "name": "should_cache_vector_store",
5455
+ "name": "use_multithreading",
5456
+ "override_skip": false,
5084
5457
  "placeholder": "",
5085
5458
  "required": false,
5086
5459
  "show": true,
5087
5460
  "title_case": false,
5088
5461
  "tool_mode": false,
5089
5462
  "trace_as_metadata": true,
5463
+ "track_in_telemetry": true,
5090
5464
  "type": "bool",
5091
5465
  "value": true
5092
- },
5093
- "token": {
5094
- "_input_type": "SecretStrInput",
5095
- "advanced": false,
5096
- "display_name": "Astra DB Application Token",
5097
- "dynamic": false,
5098
- "info": "Authentication token for accessing Astra DB.",
5099
- "input_types": [],
5100
- "load_from_db": true,
5101
- "name": "token",
5102
- "password": true,
5103
- "placeholder": "",
5104
- "real_time_refresh": true,
5105
- "required": true,
5106
- "show": true,
5107
- "title_case": false,
5108
- "type": "str",
5109
- "value": "ASTRA_DB_APPLICATION_TOKEN"
5110
5466
  }
5111
5467
  },
5112
5468
  "tool_mode": false
5113
5469
  },
5114
- "selected_output": "dataframe",
5115
5470
  "showNode": true,
5116
- "type": "AstraDB"
5471
+ "type": "File"
5117
5472
  },
5118
5473
  "dragging": false,
5119
- "id": "AstraDB-BteL9",
5474
+ "id": "File-CxEQk",
5120
5475
  "measured": {
5121
- "height": 458,
5476
+ "height": 341,
5122
5477
  "width": 320
5123
5478
  },
5124
5479
  "position": {
5125
- "x": 1210.9603958451855,
5126
- "y": 519.26557834351
5480
+ "x": 1302.7984173779507,
5481
+ "y": 1488.2184097961633
5127
5482
  },
5128
- "selected": false,
5483
+ "selected": true,
5129
5484
  "type": "genericNode"
5130
5485
  }
5131
5486
  ],
5132
5487
  "viewport": {
5133
- "x": -242.44739610333954,
5134
- "y": -59.21391294314947,
5135
- "zoom": 0.4677494046491174
5488
+ "x": -4.162462882999193,
5489
+ "y": -126.94022637175613,
5490
+ "zoom": 0.37674635518371946
5136
5491
  }
5137
5492
  },
5138
5493
  "description": "Load your data for chat context with Retrieval Augmented Generation.",
5139
5494
  "endpoint_name": null,
5140
- "id": "64f82d31-c711-441d-8082-fdb46cda7cdd",
5495
+ "id": "be165273-a6ce-4053-9548-e5b5c8a657bf",
5141
5496
  "is_component": false,
5142
- "last_tested_version": "1.6.4",
5497
+ "last_tested_version": "1.7.0",
5143
5498
  "name": "Vector Store RAG",
5144
5499
  "tags": [
5145
5500
  "openai",