langflow-base-nightly 1.7.0.dev58__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.dev58.dist-info/METADATA +0 -99
  3557. langflow_base_nightly-1.7.0.dev58.dist-info/RECORD +0 -2283
  3558. {langflow_base_nightly-1.7.0.dev58.dist-info → langflow_base_nightly-1.7.1.dev0.dist-info}/WHEEL +0 -0
  3559. {langflow_base_nightly-1.7.0.dev58.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": "parser",
10
- "id": "parser-6caGE",
10
+ "id": "parser-tsqQI",
11
11
  "name": "parsed_text",
12
12
  "output_types": [
13
13
  "Message"
@@ -15,19 +15,19 @@
15
15
  },
16
16
  "targetHandle": {
17
17
  "fieldName": "input_value",
18
- "id": "LanguageModelComponent-DJzkZ",
18
+ "id": "LanguageModelComponent-kiTPL",
19
19
  "inputTypes": [
20
20
  "Message"
21
21
  ],
22
22
  "type": "str"
23
23
  }
24
24
  },
25
- "id": "reactflow__edge-parser-6caGE{œdataTypeœ:œparserœ,œidœ:œparser-6caGEœ,œnameœ:œparsed_textœ,œoutput_typesœ:[œMessageœ]}-LanguageModelComponent-DJzkZ{œfieldNameœ:œinput_valueœ,œidœ:œLanguageModelComponent-DJzkZœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}",
25
+ "id": "reactflow__edge-parser-tsqQI{œdataTypeœ:œparserœ,œidœ:œparser-tsqQIœ,œnameœ:œparsed_textœ,œoutput_typesœ:[œMessageœ]}-LanguageModelComponent-kiTPL{œfieldNameœ:œinput_valueœ,œidœ:œLanguageModelComponent-kiTPLœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}",
26
26
  "selected": false,
27
- "source": "parser-6caGE",
28
- "sourceHandle": "{œdataTypeœ: œparserœ, œidœ: œparser-6caGEœ, œnameœ: œparsed_textœ, œoutput_typesœ: [œMessageœ]}",
29
- "target": "LanguageModelComponent-DJzkZ",
30
- "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œLanguageModelComponent-DJzkZœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}"
27
+ "source": "parser-tsqQI",
28
+ "sourceHandle": "{œdataTypeœ: œparserœ, œidœ: œparser-tsqQIœ, œnameœ: œparsed_textœ, œoutput_typesœ: [œMessageœ]}",
29
+ "target": "LanguageModelComponent-kiTPL",
30
+ "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œLanguageModelComponent-kiTPLœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}"
31
31
  },
32
32
  {
33
33
  "animated": false,
@@ -35,7 +35,7 @@
35
35
  "data": {
36
36
  "sourceHandle": {
37
37
  "dataType": "TextInput",
38
- "id": "TextInput-fQKUN",
38
+ "id": "TextInput-y6Hxj",
39
39
  "name": "text",
40
40
  "output_types": [
41
41
  "Message"
@@ -43,19 +43,19 @@
43
43
  },
44
44
  "targetHandle": {
45
45
  "fieldName": "system_message",
46
- "id": "LanguageModelComponent-DJzkZ",
46
+ "id": "LanguageModelComponent-kiTPL",
47
47
  "inputTypes": [
48
48
  "Message"
49
49
  ],
50
50
  "type": "str"
51
51
  }
52
52
  },
53
- "id": "reactflow__edge-TextInput-fQKUN{œdataTypeœ:œTextInputœ,œidœ:œTextInput-fQKUNœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-LanguageModelComponent-DJzkZ{œfieldNameœ:œsystem_messageœ,œidœ:œLanguageModelComponent-DJzkZœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}",
53
+ "id": "reactflow__edge-TextInput-y6Hxj{œdataTypeœ:œTextInputœ,œidœ:œTextInput-y6Hxjœ,œnameœ:œtextœ,œoutput_typesœ:[œMessageœ]}-LanguageModelComponent-kiTPL{œfieldNameœ:œsystem_messageœ,œidœ:œLanguageModelComponent-kiTPLœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}",
54
54
  "selected": false,
55
- "source": "TextInput-fQKUN",
56
- "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-fQKUNœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}",
57
- "target": "LanguageModelComponent-DJzkZ",
58
- "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œLanguageModelComponent-DJzkZœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}"
55
+ "source": "TextInput-y6Hxj",
56
+ "sourceHandle": "{œdataTypeœ: œTextInputœ, œidœ: œTextInput-y6Hxjœ, œnameœ: œtextœ, œoutput_typesœ: [œMessageœ]}",
57
+ "target": "LanguageModelComponent-kiTPL",
58
+ "targetHandle": "{œfieldNameœ: œsystem_messageœ, œidœ: œLanguageModelComponent-kiTPLœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}"
59
59
  },
60
60
  {
61
61
  "animated": false,
@@ -63,7 +63,7 @@
63
63
  "data": {
64
64
  "sourceHandle": {
65
65
  "dataType": "LanguageModelComponent",
66
- "id": "LanguageModelComponent-DJzkZ",
66
+ "id": "LanguageModelComponent-kiTPL",
67
67
  "name": "text_output",
68
68
  "output_types": [
69
69
  "Message"
@@ -71,7 +71,7 @@
71
71
  },
72
72
  "targetHandle": {
73
73
  "fieldName": "input_value",
74
- "id": "ChatOutput-q991L",
74
+ "id": "ChatOutput-KnHDm",
75
75
  "inputTypes": [
76
76
  "Data",
77
77
  "DataFrame",
@@ -80,75 +80,75 @@
80
80
  "type": "str"
81
81
  }
82
82
  },
83
- "id": "reactflow__edge-LanguageModelComponent-DJzkZ{œdataTypeœ:œLanguageModelComponentœ,œidœ:œLanguageModelComponent-DJzkZœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-q991L{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-q991Lœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}",
83
+ "id": "reactflow__edge-LanguageModelComponent-kiTPL{œdataTypeœ:œLanguageModelComponentœ,œidœ:œLanguageModelComponent-kiTPLœ,œnameœ:œtext_outputœ,œoutput_typesœ:[œMessageœ]}-ChatOutput-KnHDm{œfieldNameœ:œinput_valueœ,œidœ:œChatOutput-KnHDmœ,œinputTypesœ:[œDataœ,œDataFrameœ,œMessageœ],œtypeœ:œstrœ}",
84
84
  "selected": false,
85
- "source": "LanguageModelComponent-DJzkZ",
86
- "sourceHandle": "{œdataTypeœ: œLanguageModelComponentœ, œidœ: œLanguageModelComponent-DJzkZœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}",
87
- "target": "ChatOutput-q991L",
88
- "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-q991Lœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}"
85
+ "source": "LanguageModelComponent-kiTPL",
86
+ "sourceHandle": "{œdataTypeœ: œLanguageModelComponentœ, œidœ: œLanguageModelComponent-kiTPLœ, œnameœ: œtext_outputœ, œoutput_typesœ: [œMessageœ]}",
87
+ "target": "ChatOutput-KnHDm",
88
+ "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œChatOutput-KnHDmœ, œinputTypesœ: [œDataœ, œDataFrameœ, œMessageœ], œtypeœ: œstrœ}"
89
89
  },
90
90
  {
91
91
  "animated": false,
92
92
  "className": "",
93
93
  "data": {
94
94
  "sourceHandle": {
95
- "dataType": "File",
96
- "id": "File-gVVqw",
97
- "name": "message",
95
+ "dataType": "StructuredOutput",
96
+ "id": "StructuredOutput-GJE9p",
97
+ "name": "dataframe_output",
98
98
  "output_types": [
99
- "Message"
99
+ "DataFrame"
100
100
  ]
101
101
  },
102
102
  "targetHandle": {
103
- "fieldName": "input_value",
104
- "id": "StructuredOutput-wsAT3",
103
+ "fieldName": "input_data",
104
+ "id": "parser-tsqQI",
105
105
  "inputTypes": [
106
- "Message"
106
+ "DataFrame",
107
+ "Data"
107
108
  ],
108
- "type": "str"
109
+ "type": "other"
109
110
  }
110
111
  },
111
- "id": "xy-edge__File-gVVqw{œdataTypeœ:œFileœ,œidœ:œFile-gVVqwœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-StructuredOutput-wsAT3{œfieldNameœ:œinput_valueœ,œidœ:œStructuredOutput-wsAT3œ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}",
112
+ "id": "reactflow__edge-StructuredOutput-GJE9p{œdataTypeœ:œStructuredOutputœ,œidœ:œStructuredOutput-GJE9pœ,œnameœ:œdataframe_outputœ,œoutput_typesœ:[œDataFrameœ]}-parser-tsqQI{œfieldNameœ:œinput_dataœ,œidœ:œparser-tsqQIœ,œinputTypesœ:[œDataFrameœ,œDataœ],œtypeœ:œotherœ}",
112
113
  "selected": false,
113
- "source": "File-gVVqw",
114
- "sourceHandle": "{œdataTypeœ: œFileœ, œidœ: œFile-gVVqwœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}",
115
- "target": "StructuredOutput-wsAT3",
116
- "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œStructuredOutput-wsAT3œ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}"
114
+ "source": "StructuredOutput-GJE9p",
115
+ "sourceHandle": "{œdataTypeœ: œStructuredOutputœ, œidœ: œStructuredOutput-GJE9pœ, œnameœ: œdataframe_outputœ, œoutput_typesœ: [œDataFrameœ]}",
116
+ "target": "parser-tsqQI",
117
+ "targetHandle": "{œfieldNameœ: œinput_dataœ, œidœ: œparser-tsqQIœ, œinputTypesœ: [œDataFrameœ, œDataœ], œtypeœ: œotherœ}"
117
118
  },
118
119
  {
119
120
  "animated": false,
120
121
  "className": "",
121
122
  "data": {
122
123
  "sourceHandle": {
123
- "dataType": "StructuredOutput",
124
- "id": "StructuredOutput-wsAT3",
125
- "name": "dataframe_output",
124
+ "dataType": "File",
125
+ "id": "File-Ln2gO",
126
+ "name": "message",
126
127
  "output_types": [
127
- "DataFrame"
128
+ "Message"
128
129
  ]
129
130
  },
130
131
  "targetHandle": {
131
- "fieldName": "input_data",
132
- "id": "parser-6caGE",
132
+ "fieldName": "input_value",
133
+ "id": "StructuredOutput-GJE9p",
133
134
  "inputTypes": [
134
- "DataFrame",
135
- "Data"
135
+ "Message"
136
136
  ],
137
- "type": "other"
137
+ "type": "str"
138
138
  }
139
139
  },
140
- "id": "xy-edge__StructuredOutput-wsAT3{œdataTypeœ:œStructuredOutputœ,œidœ:œStructuredOutput-wsAT3œ,œnameœ:œdataframe_outputœ,œoutput_typesœ:[œDataFrameœ]}-parser-6caGE{œfieldNameœ:œinput_dataœ,œidœ:œparser-6caGEœ,œinputTypesœ:[œDataFrameœ,œDataœ],œtypeœ:œotherœ}",
140
+ "id": "reactflow__edge-File-Ln2gO{œdataTypeœ:œFileœ,œidœ:œFile-Ln2gOœ,œnameœ:œmessageœ,œoutput_typesœ:[œMessageœ]}-StructuredOutput-GJE9p{œfieldNameœ:œinput_valueœ,œidœ:œStructuredOutput-GJE9pœ,œinputTypesœ:[œMessageœ],œtypeœ:œstrœ}",
141
141
  "selected": false,
142
- "source": "StructuredOutput-wsAT3",
143
- "sourceHandle": "{œdataTypeœ: œStructuredOutputœ, œidœ: œStructuredOutput-wsAT3œ, œnameœ: œdataframe_outputœ, œoutput_typesœ: [œDataFrameœ]}",
144
- "target": "parser-6caGE",
145
- "targetHandle": "{œfieldNameœ: œinput_dataœ, œidœ: œparser-6caGEœ, œinputTypesœ: [œDataFrameœ, œDataœ], œtypeœ: œotherœ}"
142
+ "source": "File-Ln2gO",
143
+ "sourceHandle": "{œdataTypeœ: œFileœ, œidœ: œFile-Ln2gOœ, œnameœ: œmessageœ, œoutput_typesœ: [œMessageœ]}",
144
+ "target": "StructuredOutput-GJE9p",
145
+ "targetHandle": "{œfieldNameœ: œinput_valueœ, œidœ: œStructuredOutput-GJE9pœ, œinputTypesœ: [œMessageœ], œtypeœ: œstrœ}"
146
146
  }
147
147
  ],
148
148
  "nodes": [
149
149
  {
150
150
  "data": {
151
- "id": "TextInput-fQKUN",
151
+ "id": "TextInput-y6Hxj",
152
152
  "node": {
153
153
  "base_classes": [
154
154
  "Message"
@@ -254,7 +254,7 @@
254
254
  "type": "TextInput"
255
255
  },
256
256
  "dragging": false,
257
- "id": "TextInput-fQKUN",
257
+ "id": "TextInput-y6Hxj",
258
258
  "measured": {
259
259
  "height": 204,
260
260
  "width": 320
@@ -268,7 +268,7 @@
268
268
  },
269
269
  {
270
270
  "data": {
271
- "id": "ChatOutput-q991L",
271
+ "id": "ChatOutput-KnHDm",
272
272
  "node": {
273
273
  "base_classes": [
274
274
  "Message"
@@ -541,7 +541,7 @@
541
541
  "type": "ChatOutput"
542
542
  },
543
543
  "dragging": false,
544
- "id": "ChatOutput-q991L",
544
+ "id": "ChatOutput-KnHDm",
545
545
  "measured": {
546
546
  "height": 48,
547
547
  "width": 192
@@ -555,7 +555,7 @@
555
555
  },
556
556
  {
557
557
  "data": {
558
- "id": "note-N5ILW",
558
+ "id": "note-MZGLD",
559
559
  "node": {
560
560
  "description": "### 💡 Upload your resume here",
561
561
  "display_name": "",
@@ -568,7 +568,7 @@
568
568
  },
569
569
  "dragging": false,
570
570
  "height": 358,
571
- "id": "note-N5ILW",
571
+ "id": "note-MZGLD",
572
572
  "measured": {
573
573
  "height": 358,
574
574
  "width": 346
@@ -584,7 +584,7 @@
584
584
  },
585
585
  {
586
586
  "data": {
587
- "id": "note-bCQJm",
587
+ "id": "note-8Zjd4",
588
588
  "node": {
589
589
  "description": "## 📝 Portfolio Website Code Generator\n\nYour uploaded resume is parsed into a structured format, and output as HTML/CSS code for your own resume website!\n\n✅ **Accepted Formats:** PDF or TXT \n✅ To ensure readability, provide clear headings, bullet points, and proper formatting. \n### 📌 Structured output fields:\n1. 🏷 **Full Name** - Candidate's full name \n2. 📧 **Email** - A valid email address \n3. 📞 **Phone Number** - Contact number \n4. 🔗 **LinkedIn** - LinkedIn profile URL \n5. 🖥 **GitHub** - GitHub profile URL (if applicable) \n6. 🌐 **Portfolio** - Personal website or portfolio URL \n7. 🛂 **Visa Status** - Work authorization details (if applicable) \n8. 📝 **Summary** - A brief professional summary or objective statement \n9. 💼 **Experience** - Work experience details (in dictionary format) \n10. 🎓 **Education** - Education details (in dictionary format) \n11. 🛠 **Skills** - Skills mentioned in the resume (comma-separated) \n12. 🚀 **Projects** - Titles, descriptions, and details of projects.",
590
590
  "display_name": "",
@@ -595,7 +595,7 @@
595
595
  },
596
596
  "dragging": false,
597
597
  "height": 621,
598
- "id": "note-bCQJm",
598
+ "id": "note-8Zjd4",
599
599
  "measured": {
600
600
  "height": 621,
601
601
  "width": 478
@@ -611,7 +611,7 @@
611
611
  },
612
612
  {
613
613
  "data": {
614
- "id": "note-wJ9Jw",
614
+ "id": "note-7jRmc",
615
615
  "node": {
616
616
  "description": "### 💡 Click **Open table** to view the schema",
617
617
  "display_name": "",
@@ -624,7 +624,7 @@
624
624
  },
625
625
  "dragging": false,
626
626
  "height": 438,
627
- "id": "note-wJ9Jw",
627
+ "id": "note-7jRmc",
628
628
  "measured": {
629
629
  "height": 438,
630
630
  "width": 359
@@ -640,7 +640,7 @@
640
640
  },
641
641
  {
642
642
  "data": {
643
- "id": "note-1mSYT",
643
+ "id": "note-PLSHf",
644
644
  "node": {
645
645
  "description": "### 💡 Add your OpenAI API key here",
646
646
  "display_name": "",
@@ -653,7 +653,7 @@
653
653
  },
654
654
  "dragging": false,
655
655
  "height": 324,
656
- "id": "note-1mSYT",
656
+ "id": "note-PLSHf",
657
657
  "measured": {
658
658
  "height": 324,
659
659
  "width": 362
@@ -669,7 +669,7 @@
669
669
  },
670
670
  {
671
671
  "data": {
672
- "id": "note-tzsYo",
672
+ "id": "note-2qzrm",
673
673
  "node": {
674
674
  "description": "### 💡 Add your Anthropic API key here",
675
675
  "display_name": "",
@@ -682,7 +682,7 @@
682
682
  },
683
683
  "dragging": false,
684
684
  "height": 324,
685
- "id": "note-tzsYo",
685
+ "id": "note-2qzrm",
686
686
  "measured": {
687
687
  "height": 324,
688
688
  "width": 344
@@ -698,7 +698,7 @@
698
698
  },
699
699
  {
700
700
  "data": {
701
- "id": "parser-6caGE",
701
+ "id": "parser-tsqQI",
702
702
  "node": {
703
703
  "base_classes": [
704
704
  "Message"
@@ -860,7 +860,7 @@
860
860
  "type": "parser"
861
861
  },
862
862
  "dragging": false,
863
- "id": "parser-6caGE",
863
+ "id": "parser-tsqQI",
864
864
  "measured": {
865
865
  "height": 278,
866
866
  "width": 320
@@ -874,54 +874,53 @@
874
874
  },
875
875
  {
876
876
  "data": {
877
- "id": "File-gVVqw",
877
+ "id": "LanguageModelComponent-kiTPL",
878
878
  "node": {
879
879
  "base_classes": [
880
+ "LanguageModel",
880
881
  "Message"
881
882
  ],
882
883
  "beta": false,
883
884
  "conditional_paths": [],
884
885
  "custom_fields": {},
885
- "description": "Loads and returns the content from uploaded files.",
886
- "display_name": "File",
887
- "documentation": "",
886
+ "description": "Runs a language model given a specified provider.",
887
+ "display_name": "Language Model",
888
+ "documentation": "https://docs.langflow.org/components-models",
888
889
  "edited": false,
889
890
  "field_order": [
890
- "path",
891
- "file_path",
892
- "separator",
893
- "silent_errors",
894
- "delete_server_file_after_processing",
895
- "ignore_unsupported_extensions",
896
- "ignore_unspecified_files",
897
- "use_multithreading",
898
- "concurrency_multithreading"
891
+ "model",
892
+ "api_key",
893
+ "base_url_ibm_watsonx",
894
+ "project_id",
895
+ "ollama_base_url",
896
+ "input_value",
897
+ "system_message",
898
+ "stream",
899
+ "temperature"
899
900
  ],
900
901
  "frozen": false,
901
- "icon": "file-text",
902
- "last_updated": "2025-09-29T16:08:14.225Z",
902
+ "icon": "brain-circuit",
903
+ "last_updated": "2025-12-20T16:49:42.272Z",
903
904
  "legacy": false,
904
- "lf_version": "1.6.0",
905
+ "lf_version": "1.7.0",
905
906
  "metadata": {
906
- "code_hash": "9cad30eb26b9",
907
+ "code_hash": "7fe3257f2169",
907
908
  "dependencies": {
908
909
  "dependencies": [
909
910
  {
910
911
  "name": "lfx",
911
912
  "version": null
912
- },
913
- {
914
- "name": "langchain_core",
915
- "version": "0.3.80"
916
- },
917
- {
918
- "name": "pydantic",
919
- "version": "2.11.10"
920
913
  }
921
914
  ],
922
- "total_dependencies": 3
915
+ "total_dependencies": 1
923
916
  },
924
- "module": "lfx.components.files_and_knowledge.file.FileComponent"
917
+ "keywords": [
918
+ "model",
919
+ "llm",
920
+ "language model",
921
+ "large language model"
922
+ ],
923
+ "module": "lfx.components.models_and_agents.language_model.LanguageModelComponent"
925
924
  },
926
925
  "minimized": false,
927
926
  "output_types": [],
@@ -929,39 +928,101 @@
929
928
  {
930
929
  "allows_loop": false,
931
930
  "cache": true,
932
- "display_name": "Raw Content",
931
+ "display_name": "Model Response",
933
932
  "group_outputs": false,
934
- "method": "load_files_message",
935
- "name": "message",
933
+ "hidden": null,
934
+ "loop_types": null,
935
+ "method": "text_response",
936
+ "name": "text_output",
937
+ "options": null,
938
+ "required_inputs": null,
936
939
  "selected": "Message",
937
940
  "tool_mode": true,
938
941
  "types": [
939
942
  "Message"
940
943
  ],
941
944
  "value": "__UNDEFINED__"
945
+ },
946
+ {
947
+ "allows_loop": false,
948
+ "cache": true,
949
+ "display_name": "Language Model",
950
+ "group_outputs": false,
951
+ "hidden": null,
952
+ "loop_types": null,
953
+ "method": "build_model",
954
+ "name": "model_output",
955
+ "options": null,
956
+ "required_inputs": null,
957
+ "selected": "LanguageModel",
958
+ "tool_mode": true,
959
+ "types": [
960
+ "LanguageModel"
961
+ ],
962
+ "value": "__UNDEFINED__"
942
963
  }
943
964
  ],
944
965
  "pinned": false,
966
+ "priority": 0,
945
967
  "template": {
968
+ "_frontend_node_flow_id": {
969
+ "value": "89c8132e-a746-460b-b091-24b7b9279147"
970
+ },
971
+ "_frontend_node_folder_id": {
972
+ "value": "34260300-cae1-43f3-8b14-1272b8cffe4c"
973
+ },
946
974
  "_type": "Component",
947
- "advanced_mode": {
948
- "_input_type": "BoolInput",
975
+ "api_key": {
976
+ "_input_type": "SecretStrInput",
977
+ "advanced": true,
978
+ "display_name": "API Key",
979
+ "dynamic": false,
980
+ "info": "Model Provider API key",
981
+ "input_types": [],
982
+ "load_from_db": false,
983
+ "name": "api_key",
984
+ "override_skip": false,
985
+ "password": true,
986
+ "placeholder": "",
987
+ "real_time_refresh": true,
988
+ "required": false,
989
+ "show": true,
990
+ "title_case": false,
991
+ "track_in_telemetry": false,
992
+ "type": "str",
993
+ "value": ""
994
+ },
995
+ "base_url_ibm_watsonx": {
996
+ "_input_type": "DropdownInput",
949
997
  "advanced": false,
950
- "display_name": "Advanced Parser",
998
+ "combobox": false,
999
+ "dialog_inputs": {},
1000
+ "display_name": "watsonx API Endpoint",
951
1001
  "dynamic": false,
952
- "info": "Enable advanced document processing and export with Docling for PDFs, images, and office documents. Note that advanced document processing can consume significant resources.",
953
- "list": false,
954
- "list_add_label": "Add More",
955
- "name": "advanced_mode",
1002
+ "external_options": {},
1003
+ "info": "The base URL of the API (IBM watsonx.ai only)",
1004
+ "name": "base_url_ibm_watsonx",
1005
+ "options": [
1006
+ "https://us-south.ml.cloud.ibm.com",
1007
+ "https://eu-de.ml.cloud.ibm.com",
1008
+ "https://eu-gb.ml.cloud.ibm.com",
1009
+ "https://au-syd.ml.cloud.ibm.com",
1010
+ "https://jp-tok.ml.cloud.ibm.com",
1011
+ "https://ca-tor.ml.cloud.ibm.com"
1012
+ ],
1013
+ "options_metadata": [],
1014
+ "override_skip": false,
956
1015
  "placeholder": "",
957
1016
  "real_time_refresh": true,
958
1017
  "required": false,
959
1018
  "show": false,
960
1019
  "title_case": false,
1020
+ "toggle": false,
961
1021
  "tool_mode": false,
962
1022
  "trace_as_metadata": true,
963
- "type": "bool",
964
- "value": false
1023
+ "track_in_telemetry": true,
1024
+ "type": "str",
1025
+ "value": "https://us-south.ml.cloud.ibm.com"
965
1026
  },
966
1027
  "code": {
967
1028
  "advanced": true,
@@ -979,442 +1040,931 @@
979
1040
  "show": true,
980
1041
  "title_case": false,
981
1042
  "type": "code",
982
- "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"
1043
+ "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"
983
1044
  },
984
- "concurrency_multithreading": {
985
- "_input_type": "IntInput",
986
- "advanced": true,
987
- "display_name": "Processing Concurrency",
1045
+ "input_value": {
1046
+ "_input_type": "MessageInput",
1047
+ "advanced": false,
1048
+ "display_name": "Input",
988
1049
  "dynamic": false,
989
- "info": "When multiple files are being processed, the number of files to process concurrently.",
1050
+ "info": "The input text to send to the model",
1051
+ "input_types": [
1052
+ "Message"
1053
+ ],
990
1054
  "list": false,
991
1055
  "list_add_label": "Add More",
992
- "name": "concurrency_multithreading",
1056
+ "load_from_db": false,
1057
+ "name": "input_value",
1058
+ "override_skip": false,
993
1059
  "placeholder": "",
994
1060
  "required": false,
995
1061
  "show": true,
996
1062
  "title_case": false,
997
1063
  "tool_mode": false,
1064
+ "trace_as_input": true,
998
1065
  "trace_as_metadata": true,
999
- "type": "int",
1000
- "value": 1
1066
+ "track_in_telemetry": false,
1067
+ "type": "str",
1068
+ "value": ""
1001
1069
  },
1002
- "delete_server_file_after_processing": {
1003
- "_input_type": "BoolInput",
1004
- "advanced": true,
1005
- "display_name": "Delete Server File After Processing",
1070
+ "is_refresh": true,
1071
+ "model": {
1072
+ "_input_type": "ModelInput",
1073
+ "advanced": false,
1074
+ "display_name": "Language Model",
1006
1075
  "dynamic": false,
1007
- "info": "If true, the Server File Path will be deleted after processing.",
1076
+ "external_options": {
1077
+ "fields": {
1078
+ "data": {
1079
+ "node": {
1080
+ "display_name": "Connect other models",
1081
+ "icon": "CornerDownLeft",
1082
+ "name": "connect_other_models"
1083
+ }
1084
+ }
1085
+ }
1086
+ },
1087
+ "info": "Select your model provider",
1088
+ "input_types": [],
1008
1089
  "list": false,
1009
1090
  "list_add_label": "Add More",
1010
- "name": "delete_server_file_after_processing",
1011
- "placeholder": "",
1012
- "required": false,
1091
+ "model_type": "language",
1092
+ "name": "model",
1093
+ "options": [
1094
+ {
1095
+ "category": "OpenAI",
1096
+ "icon": "OpenAI",
1097
+ "metadata": {
1098
+ "api_key_param": "api_key",
1099
+ "context_length": 128000,
1100
+ "model_class": "ChatOpenAI",
1101
+ "model_name_param": "model",
1102
+ "reasoning_models": [
1103
+ "gpt-5"
1104
+ ]
1105
+ },
1106
+ "name": "gpt-5",
1107
+ "provider": "OpenAI"
1108
+ },
1109
+ {
1110
+ "category": "OpenAI",
1111
+ "icon": "OpenAI",
1112
+ "metadata": {
1113
+ "api_key_param": "api_key",
1114
+ "context_length": 128000,
1115
+ "model_class": "ChatOpenAI",
1116
+ "model_name_param": "model",
1117
+ "reasoning_models": [
1118
+ "gpt-5-mini"
1119
+ ]
1120
+ },
1121
+ "name": "gpt-5-mini",
1122
+ "provider": "OpenAI"
1123
+ },
1124
+ {
1125
+ "category": "OpenAI",
1126
+ "icon": "OpenAI",
1127
+ "metadata": {
1128
+ "api_key_param": "api_key",
1129
+ "context_length": 128000,
1130
+ "model_class": "ChatOpenAI",
1131
+ "model_name_param": "model",
1132
+ "reasoning_models": [
1133
+ "gpt-5-nano"
1134
+ ]
1135
+ },
1136
+ "name": "gpt-5-nano",
1137
+ "provider": "OpenAI"
1138
+ },
1139
+ {
1140
+ "category": "OpenAI",
1141
+ "icon": "OpenAI",
1142
+ "metadata": {
1143
+ "api_key_param": "api_key",
1144
+ "context_length": 128000,
1145
+ "model_class": "ChatOpenAI",
1146
+ "model_name_param": "model"
1147
+ },
1148
+ "name": "gpt-4o-mini",
1149
+ "provider": "OpenAI"
1150
+ },
1151
+ {
1152
+ "category": "OpenAI",
1153
+ "icon": "OpenAI",
1154
+ "metadata": {
1155
+ "api_key_param": "api_key",
1156
+ "context_length": 128000,
1157
+ "model_class": "ChatOpenAI",
1158
+ "model_name_param": "model"
1159
+ },
1160
+ "name": "gpt-4o",
1161
+ "provider": "OpenAI"
1162
+ },
1163
+ {
1164
+ "category": "Google Generative AI",
1165
+ "icon": "GoogleGenerativeAI",
1166
+ "metadata": {
1167
+ "is_disabled_provider": true,
1168
+ "variable_name": "GOOGLE_API_KEY"
1169
+ },
1170
+ "name": "__enable_provider_Google Generative AI__",
1171
+ "provider": "Google Generative AI"
1172
+ },
1173
+ {
1174
+ "category": "Ollama",
1175
+ "icon": "Ollama",
1176
+ "metadata": {
1177
+ "is_disabled_provider": true,
1178
+ "variable_name": "OLLAMA_BASE_URL"
1179
+ },
1180
+ "name": "__enable_provider_Ollama__",
1181
+ "provider": "Ollama"
1182
+ },
1183
+ {
1184
+ "category": "IBM Watsonx",
1185
+ "icon": "WatsonxAI",
1186
+ "metadata": {
1187
+ "is_disabled_provider": true,
1188
+ "variable_name": "WATSONX_APIKEY"
1189
+ },
1190
+ "name": "__enable_provider_IBM Watsonx__",
1191
+ "provider": "IBM Watsonx"
1192
+ }
1193
+ ],
1194
+ "override_skip": false,
1195
+ "placeholder": "Setup Provider",
1196
+ "real_time_refresh": true,
1197
+ "refresh_button": true,
1198
+ "required": true,
1013
1199
  "show": true,
1014
1200
  "title_case": false,
1015
1201
  "tool_mode": false,
1016
- "trace_as_metadata": true,
1017
- "type": "bool",
1018
- "value": true
1202
+ "trace_as_input": true,
1203
+ "track_in_telemetry": false,
1204
+ "type": "model",
1205
+ "value": [
1206
+ {
1207
+ "category": "OpenAI",
1208
+ "icon": "OpenAI",
1209
+ "metadata": {
1210
+ "api_key_param": "api_key",
1211
+ "context_length": 128000,
1212
+ "model_class": "ChatOpenAI",
1213
+ "model_name_param": "model",
1214
+ "reasoning_models": [
1215
+ "gpt-5"
1216
+ ]
1217
+ },
1218
+ "name": "gpt-5",
1219
+ "provider": "OpenAI"
1220
+ }
1221
+ ]
1019
1222
  },
1020
- "doc_key": {
1021
- "_input_type": "MessageTextInput",
1022
- "advanced": true,
1023
- "display_name": "Doc Key",
1223
+ "ollama_base_url": {
1224
+ "_input_type": "MessageInput",
1225
+ "advanced": false,
1226
+ "display_name": "Ollama API URL",
1024
1227
  "dynamic": false,
1025
- "info": "The key to use for the DoclingDocument column.",
1228
+ "info": "Endpoint of the Ollama API (Ollama only). Defaults to http://localhost:11434",
1026
1229
  "input_types": [
1027
1230
  "Message"
1028
1231
  ],
1029
1232
  "list": false,
1030
1233
  "list_add_label": "Add More",
1031
1234
  "load_from_db": false,
1032
- "name": "doc_key",
1235
+ "name": "ollama_base_url",
1236
+ "override_skip": false,
1033
1237
  "placeholder": "",
1238
+ "real_time_refresh": true,
1034
1239
  "required": false,
1035
1240
  "show": false,
1036
1241
  "title_case": false,
1037
1242
  "tool_mode": false,
1038
1243
  "trace_as_input": true,
1039
1244
  "trace_as_metadata": true,
1245
+ "track_in_telemetry": false,
1040
1246
  "type": "str",
1041
- "value": "doc"
1247
+ "value": ""
1042
1248
  },
1043
- "file_path": {
1044
- "_input_type": "HandleInput",
1045
- "advanced": true,
1046
- "display_name": "Server File Path",
1047
- "dynamic": false,
1048
- "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.",
1049
- "input_types": [
1050
- "Data",
1051
- "Message"
1052
- ],
1053
- "list": true,
1054
- "list_add_label": "Add More",
1055
- "name": "file_path",
1056
- "placeholder": "",
1057
- "required": false,
1058
- "show": true,
1059
- "title_case": false,
1060
- "trace_as_metadata": true,
1061
- "type": "other",
1062
- "value": ""
1063
- },
1064
- "file_path_str": {
1249
+ "project_id": {
1065
1250
  "_input_type": "StrInput",
1066
- "advanced": true,
1067
- "display_name": "File Path",
1251
+ "advanced": false,
1252
+ "display_name": "watsonx Project ID",
1068
1253
  "dynamic": false,
1069
- "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.",
1254
+ "info": "The project ID associated with the foundation model (IBM watsonx.ai only)",
1070
1255
  "list": false,
1071
1256
  "list_add_label": "Add More",
1072
1257
  "load_from_db": false,
1073
- "name": "file_path_str",
1258
+ "name": "project_id",
1074
1259
  "override_skip": false,
1075
1260
  "placeholder": "",
1076
1261
  "required": false,
1077
1262
  "show": false,
1078
1263
  "title_case": false,
1079
- "tool_mode": true,
1264
+ "tool_mode": false,
1080
1265
  "trace_as_metadata": true,
1081
1266
  "track_in_telemetry": false,
1082
1267
  "type": "str",
1083
1268
  "value": ""
1084
1269
  },
1085
- "ignore_unspecified_files": {
1270
+ "stream": {
1086
1271
  "_input_type": "BoolInput",
1087
1272
  "advanced": true,
1088
- "display_name": "Ignore Unspecified Files",
1273
+ "display_name": "Stream",
1089
1274
  "dynamic": false,
1090
- "info": "If true, Data with no 'file_path' property will be ignored.",
1275
+ "info": "Whether to stream the response",
1091
1276
  "list": false,
1092
1277
  "list_add_label": "Add More",
1093
- "name": "ignore_unspecified_files",
1278
+ "name": "stream",
1279
+ "override_skip": false,
1094
1280
  "placeholder": "",
1095
1281
  "required": false,
1096
1282
  "show": true,
1097
1283
  "title_case": false,
1098
1284
  "tool_mode": false,
1099
1285
  "trace_as_metadata": true,
1286
+ "track_in_telemetry": true,
1100
1287
  "type": "bool",
1101
1288
  "value": false
1102
1289
  },
1103
- "ignore_unsupported_extensions": {
1104
- "_input_type": "BoolInput",
1105
- "advanced": true,
1106
- "display_name": "Ignore Unsupported Extensions",
1290
+ "system_message": {
1291
+ "_input_type": "MultilineInput",
1292
+ "advanced": false,
1293
+ "ai_enabled": false,
1294
+ "copy_field": false,
1295
+ "display_name": "System Message",
1107
1296
  "dynamic": false,
1108
- "info": "If true, files with unsupported extensions will not be processed.",
1297
+ "info": "A system message that helps set the behavior of the assistant",
1298
+ "input_types": [
1299
+ "Message"
1300
+ ],
1109
1301
  "list": false,
1110
1302
  "list_add_label": "Add More",
1111
- "name": "ignore_unsupported_extensions",
1303
+ "load_from_db": false,
1304
+ "multiline": true,
1305
+ "name": "system_message",
1306
+ "override_skip": false,
1112
1307
  "placeholder": "",
1113
1308
  "required": false,
1114
1309
  "show": true,
1115
1310
  "title_case": false,
1116
1311
  "tool_mode": false,
1312
+ "trace_as_input": true,
1117
1313
  "trace_as_metadata": true,
1118
- "type": "bool",
1119
- "value": true
1314
+ "track_in_telemetry": false,
1315
+ "type": "str",
1316
+ "value": ""
1120
1317
  },
1121
- "markdown": {
1122
- "_input_type": "BoolInput",
1123
- "advanced": false,
1124
- "display_name": "Markdown Export",
1318
+ "temperature": {
1319
+ "_input_type": "SliderInput",
1320
+ "advanced": true,
1321
+ "display_name": "Temperature",
1125
1322
  "dynamic": false,
1126
- "info": "Export processed documents to Markdown format. Only available when advanced mode is enabled.",
1127
- "list": false,
1128
- "list_add_label": "Add More",
1129
- "name": "markdown",
1323
+ "info": "Controls randomness in responses",
1324
+ "max_label": "",
1325
+ "max_label_icon": "",
1326
+ "min_label": "",
1327
+ "min_label_icon": "",
1328
+ "name": "temperature",
1329
+ "override_skip": false,
1130
1330
  "placeholder": "",
1331
+ "range_spec": {
1332
+ "max": 1,
1333
+ "min": 0,
1334
+ "step": 0.01,
1335
+ "step_type": "float"
1336
+ },
1131
1337
  "required": false,
1132
- "show": false,
1338
+ "show": true,
1339
+ "slider_buttons": false,
1340
+ "slider_buttons_options": [],
1341
+ "slider_input": false,
1133
1342
  "title_case": false,
1134
1343
  "tool_mode": false,
1135
- "trace_as_metadata": true,
1136
- "type": "bool",
1137
- "value": false
1344
+ "track_in_telemetry": false,
1345
+ "type": "slider",
1346
+ "value": 0.1
1347
+ }
1348
+ },
1349
+ "tool_mode": false
1350
+ },
1351
+ "selected_output": "text_output",
1352
+ "showNode": true,
1353
+ "type": "LanguageModelComponent"
1354
+ },
1355
+ "dragging": false,
1356
+ "id": "LanguageModelComponent-kiTPL",
1357
+ "measured": {
1358
+ "height": 369,
1359
+ "width": 320
1360
+ },
1361
+ "position": {
1362
+ "x": 2174.626510909065,
1363
+ "y": 439.5147119393939
1364
+ },
1365
+ "selected": false,
1366
+ "type": "genericNode"
1367
+ },
1368
+ {
1369
+ "data": {
1370
+ "id": "note-s01cs",
1371
+ "node": {
1372
+ "description": "### 💡 Add your OpenAI API key here",
1373
+ "display_name": "",
1374
+ "documentation": "",
1375
+ "template": {
1376
+ "backgroundColor": "transparent"
1377
+ }
1378
+ },
1379
+ "type": "note"
1380
+ },
1381
+ "dragging": false,
1382
+ "id": "note-s01cs",
1383
+ "measured": {
1384
+ "height": 324,
1385
+ "width": 324
1386
+ },
1387
+ "position": {
1388
+ "x": 2177.24956539088,
1389
+ "y": 384.73691533198325
1390
+ },
1391
+ "selected": false,
1392
+ "type": "noteNode"
1393
+ },
1394
+ {
1395
+ "data": {
1396
+ "id": "StructuredOutput-GJE9p",
1397
+ "node": {
1398
+ "base_classes": [
1399
+ "Data",
1400
+ "DataFrame"
1401
+ ],
1402
+ "beta": false,
1403
+ "conditional_paths": [],
1404
+ "custom_fields": {},
1405
+ "description": "Uses an LLM to generate structured data. Ideal for extraction and consistency.",
1406
+ "display_name": "Structured Output",
1407
+ "documentation": "https://docs.langflow.org/components-processing#structured-output",
1408
+ "edited": false,
1409
+ "field_order": [
1410
+ "llm",
1411
+ "input_value",
1412
+ "system_prompt",
1413
+ "schema_name",
1414
+ "output_schema"
1415
+ ],
1416
+ "frozen": false,
1417
+ "icon": "braces",
1418
+ "last_updated": "2025-12-20T16:49:42.272Z",
1419
+ "legacy": false,
1420
+ "lf_version": "1.6.0",
1421
+ "metadata": {
1422
+ "code_hash": "058ca1f51e9f",
1423
+ "dependencies": {
1424
+ "dependencies": [
1425
+ {
1426
+ "name": "pydantic",
1427
+ "version": "2.11.10"
1428
+ },
1429
+ {
1430
+ "name": "trustcall",
1431
+ "version": "0.0.39"
1432
+ },
1433
+ {
1434
+ "name": "lfx",
1435
+ "version": null
1436
+ }
1437
+ ],
1438
+ "total_dependencies": 3
1138
1439
  },
1139
- "md_image_placeholder": {
1140
- "_input_type": "StrInput",
1440
+ "module": "lfx.components.llm_operations.structured_output.StructuredOutputComponent"
1441
+ },
1442
+ "minimized": false,
1443
+ "output_types": [],
1444
+ "outputs": [
1445
+ {
1446
+ "allows_loop": false,
1447
+ "cache": true,
1448
+ "display_name": "Structured Output",
1449
+ "group_outputs": false,
1450
+ "method": "build_structured_output",
1451
+ "name": "structured_output",
1452
+ "selected": "Data",
1453
+ "tool_mode": true,
1454
+ "types": [
1455
+ "Data"
1456
+ ],
1457
+ "value": "__UNDEFINED__"
1458
+ },
1459
+ {
1460
+ "allows_loop": false,
1461
+ "cache": true,
1462
+ "display_name": "Structured Output",
1463
+ "group_outputs": false,
1464
+ "method": "build_structured_dataframe",
1465
+ "name": "dataframe_output",
1466
+ "selected": "DataFrame",
1467
+ "tool_mode": true,
1468
+ "types": [
1469
+ "DataFrame"
1470
+ ],
1471
+ "value": "__UNDEFINED__"
1472
+ }
1473
+ ],
1474
+ "pinned": false,
1475
+ "template": {
1476
+ "_type": "Component",
1477
+ "api_key": {
1478
+ "_input_type": "SecretStrInput",
1141
1479
  "advanced": true,
1142
- "display_name": "Image placeholder",
1480
+ "display_name": "API Key",
1143
1481
  "dynamic": false,
1144
- "info": "Specify the image placeholder for markdown exports.",
1145
- "list": false,
1146
- "list_add_label": "Add More",
1482
+ "info": "Model Provider API key",
1483
+ "input_types": [],
1147
1484
  "load_from_db": false,
1148
- "name": "md_image_placeholder",
1485
+ "name": "api_key",
1486
+ "override_skip": false,
1487
+ "password": true,
1149
1488
  "placeholder": "",
1489
+ "real_time_refresh": true,
1150
1490
  "required": false,
1151
- "show": false,
1491
+ "show": true,
1152
1492
  "title_case": false,
1153
- "tool_mode": false,
1154
- "trace_as_metadata": true,
1493
+ "track_in_telemetry": false,
1155
1494
  "type": "str",
1156
- "value": "<!-- image -->"
1495
+ "value": ""
1157
1496
  },
1158
- "md_page_break_placeholder": {
1159
- "_input_type": "StrInput",
1497
+ "code": {
1160
1498
  "advanced": true,
1161
- "display_name": "Page break placeholder",
1162
- "dynamic": false,
1163
- "info": "Add this placeholder between pages in the markdown output.",
1164
- "list": false,
1165
- "list_add_label": "Add More",
1499
+ "dynamic": true,
1500
+ "fileTypes": [],
1501
+ "file_path": "",
1502
+ "info": "",
1503
+ "list": false,
1166
1504
  "load_from_db": false,
1167
- "name": "md_page_break_placeholder",
1168
- "placeholder": "",
1169
- "required": false,
1170
- "show": false,
1171
- "title_case": false,
1172
- "tool_mode": false,
1173
- "trace_as_metadata": true,
1174
- "type": "str",
1175
- "value": ""
1176
- },
1177
- "ocr_engine": {
1178
- "_input_type": "DropdownInput",
1179
- "advanced": true,
1180
- "combobox": false,
1181
- "dialog_inputs": {},
1182
- "display_name": "OCR Engine",
1183
- "dynamic": false,
1184
- "external_options": {},
1185
- "info": "OCR engine to use. Only available when pipeline is set to 'standard'.",
1186
- "name": "ocr_engine",
1187
- "options": [
1188
- "None",
1189
- "easyocr"
1190
- ],
1191
- "options_metadata": [],
1505
+ "multiline": true,
1506
+ "name": "code",
1507
+ "password": false,
1192
1508
  "placeholder": "",
1193
- "required": false,
1194
- "show": false,
1509
+ "required": true,
1510
+ "show": true,
1195
1511
  "title_case": false,
1196
- "toggle": false,
1197
- "tool_mode": false,
1198
- "trace_as_metadata": true,
1199
- "type": "str",
1200
- "value": "easyocr"
1512
+ "type": "code",
1513
+ "value": "from pydantic import BaseModel, Field, create_model\nfrom trustcall import create_extractor\n\nfrom lfx.base.models.chat_result import get_chat_result\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.custom.custom_component.component import Component\nfrom lfx.helpers.base_model import build_model_from_schema\nfrom lfx.io import (\n MessageTextInput,\n ModelInput,\n MultilineInput,\n Output,\n SecretStrInput,\n TableInput,\n)\nfrom lfx.log.logger import logger\nfrom lfx.schema.data import Data\nfrom lfx.schema.dataframe import DataFrame\nfrom lfx.schema.table import EditMode\n\n\nclass StructuredOutputComponent(Component):\n display_name = \"Structured Output\"\n description = \"Uses an LLM to generate structured data. Ideal for extraction and consistency.\"\n documentation: str = \"https://docs.langflow.org/structured-output\"\n name = \"StructuredOutput\"\n icon = \"braces\"\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 real_time_refresh=True,\n advanced=True,\n ),\n MultilineInput(\n name=\"input_value\",\n display_name=\"Input Message\",\n info=\"The input message to the language model.\",\n tool_mode=True,\n required=True,\n ),\n MultilineInput(\n name=\"system_prompt\",\n display_name=\"Format Instructions\",\n info=\"The instructions to the language model for formatting the output.\",\n value=(\n \"You are an AI that extracts structured JSON objects from unstructured text. \"\n \"Use a predefined schema with expected types (str, int, float, bool, dict). \"\n \"Extract ALL relevant instances that match the schema - if multiple patterns exist, capture them all. \"\n \"Fill missing or ambiguous values with defaults: null for missing values. \"\n \"Remove exact duplicates but keep variations that have different field values. \"\n \"Always return valid JSON in the expected format, never throw errors. \"\n \"If multiple objects can be extracted, return them all in the structured format.\"\n ),\n required=True,\n advanced=True,\n ),\n MessageTextInput(\n name=\"schema_name\",\n display_name=\"Schema Name\",\n info=\"Provide a name for the output data schema.\",\n advanced=True,\n ),\n TableInput(\n name=\"output_schema\",\n display_name=\"Output Schema\",\n info=\"Define the structure and data types for the model's output.\",\n required=True,\n # TODO: remove deault value\n table_schema=[\n {\n \"name\": \"name\",\n \"display_name\": \"Name\",\n \"type\": \"str\",\n \"description\": \"Specify the name of the output field.\",\n \"default\": \"field\",\n \"edit_mode\": EditMode.INLINE,\n },\n {\n \"name\": \"description\",\n \"display_name\": \"Description\",\n \"type\": \"str\",\n \"description\": \"Describe the purpose of the output field.\",\n \"default\": \"description of field\",\n \"edit_mode\": EditMode.POPOVER,\n },\n {\n \"name\": \"type\",\n \"display_name\": \"Type\",\n \"type\": \"str\",\n \"edit_mode\": EditMode.INLINE,\n \"description\": (\"Indicate the data type of the output field (e.g., str, int, float, bool, dict).\"),\n \"options\": [\"str\", \"int\", \"float\", \"bool\", \"dict\"],\n \"default\": \"str\",\n },\n {\n \"name\": \"multiple\",\n \"display_name\": \"As List\",\n \"type\": \"boolean\",\n \"description\": \"Set to True if this output field should be a list of the specified type.\",\n \"default\": \"False\",\n \"edit_mode\": EditMode.INLINE,\n },\n ],\n value=[\n {\n \"name\": \"field\",\n \"description\": \"description of field\",\n \"type\": \"str\",\n \"multiple\": \"False\",\n }\n ],\n ),\n ]\n\n outputs = [\n Output(\n name=\"structured_output\",\n display_name=\"Structured Output\",\n method=\"build_structured_output\",\n ),\n Output(\n name=\"dataframe_output\",\n display_name=\"Structured Output\",\n method=\"build_structured_dataframe\",\n ),\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\n def build_structured_output_base(self):\n schema_name = self.schema_name or \"OutputModel\"\n\n llm = get_llm(model=self.model, user_id=self.user_id, api_key=self.api_key)\n\n if not hasattr(llm, \"with_structured_output\"):\n msg = \"Language model does not support structured output.\"\n raise TypeError(msg)\n if not self.output_schema:\n msg = \"Output schema cannot be empty\"\n raise ValueError(msg)\n\n output_model_ = build_model_from_schema(self.output_schema)\n output_model = create_model(\n schema_name,\n __doc__=f\"A list of {schema_name}.\",\n objects=(\n list[output_model_],\n Field(\n description=f\"A list of {schema_name}.\", # type: ignore[valid-type]\n min_length=1, # help ensure non-empty output\n ),\n ),\n )\n # Tracing config\n config_dict = {\n \"run_name\": self.display_name,\n \"project_name\": self.get_project_name(),\n \"callbacks\": self.get_langchain_callbacks(),\n }\n # Generate structured output using Trustcall first, then fallback to Langchain if it fails\n result = self._extract_output_with_trustcall(llm, output_model, config_dict)\n if result is None:\n result = self._extract_output_with_langchain(llm, output_model, config_dict)\n\n # OPTIMIZATION NOTE: Simplified processing based on trustcall response structure\n # Handle non-dict responses (shouldn't happen with trustcall, but defensive)\n if not isinstance(result, dict):\n return result\n\n # Extract first response and convert BaseModel to dict\n responses = result.get(\"responses\", [])\n if not responses:\n return result\n\n # Convert BaseModel to dict (creates the \"objects\" key)\n first_response = responses[0]\n structured_data = first_response\n if isinstance(first_response, BaseModel):\n structured_data = first_response.model_dump()\n # Extract the objects array (guaranteed to exist due to our Pydantic model structure)\n return structured_data.get(\"objects\", structured_data)\n\n def build_structured_output(self) -> Data:\n output = self.build_structured_output_base()\n if not isinstance(output, list) or not output:\n # handle empty or unexpected type case\n msg = \"No structured output returned\"\n raise ValueError(msg)\n if len(output) == 1:\n return Data(data=output[0])\n if len(output) > 1:\n # Multiple outputs - wrap them in a results container\n return Data(data={\"results\": output})\n return Data()\n\n def build_structured_dataframe(self) -> DataFrame:\n output = self.build_structured_output_base()\n if not isinstance(output, list) or not output:\n # handle empty or unexpected type case\n msg = \"No structured output returned\"\n raise ValueError(msg)\n if len(output) == 1:\n # For single dictionary, wrap in a list to create DataFrame with one row\n return DataFrame([output[0]])\n if len(output) > 1:\n # Multiple outputs - convert to DataFrame directly\n return DataFrame(output)\n return DataFrame()\n\n def _extract_output_with_trustcall(self, llm, schema: BaseModel, config_dict: dict) -> list[BaseModel] | None:\n try:\n llm_with_structured_output = create_extractor(llm, tools=[schema], tool_choice=schema.__name__)\n result = get_chat_result(\n runnable=llm_with_structured_output,\n system_message=self.system_prompt,\n input_value=self.input_value,\n config=config_dict,\n )\n except Exception as e: # noqa: BLE001\n logger.warning(\n f\"Trustcall extraction failed, falling back to Langchain: {e} \"\n \"(Note: This may not be an error—some models or configurations do not support tool calling. \"\n \"Falling back is normal in such cases.)\"\n )\n return None\n return result or None # langchain fallback is used if error occurs or the result is empty\n\n def _extract_output_with_langchain(self, llm, schema: BaseModel, config_dict: dict) -> list[BaseModel] | None:\n try:\n llm_with_structured_output = llm.with_structured_output(schema)\n result = get_chat_result(\n runnable=llm_with_structured_output,\n system_message=self.system_prompt,\n input_value=self.input_value,\n config=config_dict,\n )\n if isinstance(result, BaseModel):\n result = result.model_dump()\n result = result.get(\"objects\", result)\n except Exception as fallback_error:\n msg = (\n f\"Model does not support tool calling (trustcall failed) \"\n f\"and fallback with_structured_output also failed: {fallback_error}\"\n )\n raise ValueError(msg) from fallback_error\n\n return result or None\n"
1201
1514
  },
1202
- "path": {
1203
- "_input_type": "FileInput",
1515
+ "input_value": {
1516
+ "_input_type": "MultilineInput",
1204
1517
  "advanced": false,
1205
- "display_name": "Files",
1518
+ "copy_field": false,
1519
+ "display_name": "Input Message",
1206
1520
  "dynamic": false,
1207
- "fileTypes": [
1208
- "csv",
1209
- "json",
1210
- "pdf",
1211
- "txt",
1212
- "md",
1213
- "mdx",
1214
- "yaml",
1215
- "yml",
1216
- "xml",
1217
- "html",
1218
- "htm",
1219
- "docx",
1220
- "py",
1221
- "sh",
1222
- "sql",
1223
- "js",
1224
- "ts",
1225
- "tsx",
1226
- "adoc",
1227
- "asciidoc",
1228
- "asc",
1229
- "bmp",
1230
- "dotx",
1231
- "dotm",
1232
- "docm",
1233
- "jpg",
1234
- "jpeg",
1235
- "png",
1236
- "potx",
1237
- "ppsx",
1238
- "pptm",
1239
- "potm",
1240
- "ppsm",
1241
- "pptx",
1242
- "tiff",
1243
- "xls",
1244
- "xlsx",
1245
- "xhtml",
1246
- "webp",
1247
- "zip",
1248
- "tar",
1249
- "tgz",
1250
- "bz2",
1251
- "gz"
1521
+ "info": "The input message to the language model.",
1522
+ "input_types": [
1523
+ "Message"
1252
1524
  ],
1253
- "file_path": [],
1254
- "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",
1255
- "list": true,
1525
+ "list": false,
1256
1526
  "list_add_label": "Add More",
1257
- "name": "path",
1527
+ "load_from_db": false,
1528
+ "multiline": true,
1529
+ "name": "input_value",
1258
1530
  "placeholder": "",
1259
- "real_time_refresh": true,
1260
- "required": false,
1531
+ "required": true,
1261
1532
  "show": true,
1262
- "temp_file": false,
1263
1533
  "title_case": false,
1534
+ "tool_mode": true,
1535
+ "trace_as_input": true,
1264
1536
  "trace_as_metadata": true,
1265
- "type": "file",
1537
+ "type": "str",
1266
1538
  "value": ""
1267
1539
  },
1268
- "pipeline": {
1269
- "_input_type": "DropdownInput",
1270
- "advanced": true,
1271
- "combobox": false,
1272
- "dialog_inputs": {},
1273
- "display_name": "Pipeline",
1540
+ "model": {
1541
+ "_input_type": "ModelInput",
1542
+ "advanced": false,
1543
+ "display_name": "Language Model",
1274
1544
  "dynamic": false,
1275
- "external_options": {},
1276
- "info": "Docling pipeline to use",
1277
- "name": "pipeline",
1545
+ "external_options": {
1546
+ "fields": {
1547
+ "data": {
1548
+ "node": {
1549
+ "display_name": "Connect other models",
1550
+ "icon": "CornerDownLeft",
1551
+ "name": "connect_other_models"
1552
+ }
1553
+ }
1554
+ }
1555
+ },
1556
+ "info": "Select your model provider",
1557
+ "input_types": [],
1558
+ "list": false,
1559
+ "list_add_label": "Add More",
1560
+ "model_type": "language",
1561
+ "name": "model",
1278
1562
  "options": [
1279
- "standard",
1280
- "vlm"
1563
+ {
1564
+ "category": "OpenAI",
1565
+ "icon": "OpenAI",
1566
+ "metadata": {
1567
+ "api_key_param": "api_key",
1568
+ "context_length": 128000,
1569
+ "model_class": "ChatOpenAI",
1570
+ "model_name_param": "model",
1571
+ "reasoning_models": [
1572
+ "gpt-5"
1573
+ ]
1574
+ },
1575
+ "name": "gpt-5",
1576
+ "provider": "OpenAI"
1577
+ },
1578
+ {
1579
+ "category": "OpenAI",
1580
+ "icon": "OpenAI",
1581
+ "metadata": {
1582
+ "api_key_param": "api_key",
1583
+ "context_length": 128000,
1584
+ "model_class": "ChatOpenAI",
1585
+ "model_name_param": "model",
1586
+ "reasoning_models": [
1587
+ "gpt-5-mini"
1588
+ ]
1589
+ },
1590
+ "name": "gpt-5-mini",
1591
+ "provider": "OpenAI"
1592
+ },
1593
+ {
1594
+ "category": "OpenAI",
1595
+ "icon": "OpenAI",
1596
+ "metadata": {
1597
+ "api_key_param": "api_key",
1598
+ "context_length": 128000,
1599
+ "model_class": "ChatOpenAI",
1600
+ "model_name_param": "model",
1601
+ "reasoning_models": [
1602
+ "gpt-5-nano"
1603
+ ]
1604
+ },
1605
+ "name": "gpt-5-nano",
1606
+ "provider": "OpenAI"
1607
+ },
1608
+ {
1609
+ "category": "OpenAI",
1610
+ "icon": "OpenAI",
1611
+ "metadata": {
1612
+ "api_key_param": "api_key",
1613
+ "context_length": 128000,
1614
+ "model_class": "ChatOpenAI",
1615
+ "model_name_param": "model"
1616
+ },
1617
+ "name": "gpt-4o-mini",
1618
+ "provider": "OpenAI"
1619
+ },
1620
+ {
1621
+ "category": "OpenAI",
1622
+ "icon": "OpenAI",
1623
+ "metadata": {
1624
+ "api_key_param": "api_key",
1625
+ "context_length": 128000,
1626
+ "model_class": "ChatOpenAI",
1627
+ "model_name_param": "model"
1628
+ },
1629
+ "name": "gpt-4o",
1630
+ "provider": "OpenAI"
1631
+ },
1632
+ {
1633
+ "category": "Google Generative AI",
1634
+ "icon": "GoogleGenerativeAI",
1635
+ "metadata": {
1636
+ "is_disabled_provider": true,
1637
+ "variable_name": "GOOGLE_API_KEY"
1638
+ },
1639
+ "name": "__enable_provider_Google Generative AI__",
1640
+ "provider": "Google Generative AI"
1641
+ },
1642
+ {
1643
+ "category": "Ollama",
1644
+ "icon": "Ollama",
1645
+ "metadata": {
1646
+ "is_disabled_provider": true,
1647
+ "variable_name": "OLLAMA_BASE_URL"
1648
+ },
1649
+ "name": "__enable_provider_Ollama__",
1650
+ "provider": "Ollama"
1651
+ },
1652
+ {
1653
+ "category": "IBM Watsonx",
1654
+ "icon": "WatsonxAI",
1655
+ "metadata": {
1656
+ "is_disabled_provider": true,
1657
+ "variable_name": "WATSONX_APIKEY"
1658
+ },
1659
+ "name": "__enable_provider_IBM Watsonx__",
1660
+ "provider": "IBM Watsonx"
1661
+ }
1281
1662
  ],
1282
- "options_metadata": [],
1283
- "placeholder": "",
1663
+ "override_skip": false,
1664
+ "placeholder": "Setup Provider",
1284
1665
  "real_time_refresh": true,
1285
- "required": false,
1286
- "show": false,
1666
+ "refresh_button": true,
1667
+ "required": true,
1668
+ "show": true,
1287
1669
  "title_case": false,
1288
- "toggle": false,
1289
1670
  "tool_mode": false,
1290
- "trace_as_metadata": true,
1291
- "type": "str",
1292
- "value": "standard"
1671
+ "trace_as_input": true,
1672
+ "track_in_telemetry": false,
1673
+ "type": "model",
1674
+ "value": [
1675
+ {
1676
+ "category": "OpenAI",
1677
+ "icon": "OpenAI",
1678
+ "metadata": {
1679
+ "api_key_param": "api_key",
1680
+ "context_length": 128000,
1681
+ "model_class": "ChatOpenAI",
1682
+ "model_name_param": "model",
1683
+ "reasoning_models": [
1684
+ "gpt-5"
1685
+ ]
1686
+ },
1687
+ "name": "gpt-5",
1688
+ "provider": "OpenAI"
1689
+ }
1690
+ ]
1293
1691
  },
1294
- "separator": {
1295
- "_input_type": "StrInput",
1296
- "advanced": true,
1297
- "display_name": "Separator",
1692
+ "output_schema": {
1693
+ "_input_type": "TableInput",
1694
+ "advanced": false,
1695
+ "display_name": "Output Schema",
1298
1696
  "dynamic": false,
1299
- "info": "Specify the separator to use between multiple outputs in Message format.",
1300
- "list": false,
1697
+ "info": "Define the structure and data types for the model's output.",
1698
+ "is_list": true,
1301
1699
  "list_add_label": "Add More",
1302
- "load_from_db": false,
1303
- "name": "separator",
1700
+ "name": "output_schema",
1304
1701
  "placeholder": "",
1305
- "required": false,
1702
+ "required": true,
1306
1703
  "show": true,
1704
+ "table_icon": "Table",
1705
+ "table_schema": [
1706
+ {
1707
+ "default": "field",
1708
+ "description": "Specify the name of the output field.",
1709
+ "display_name": "Name",
1710
+ "edit_mode": "inline",
1711
+ "formatter": "text",
1712
+ "name": "name",
1713
+ "type": "str"
1714
+ },
1715
+ {
1716
+ "default": "description of field",
1717
+ "description": "Describe the purpose of the output field.",
1718
+ "display_name": "Description",
1719
+ "edit_mode": "popover",
1720
+ "formatter": "text",
1721
+ "name": "description",
1722
+ "type": "str"
1723
+ },
1724
+ {
1725
+ "default": "str",
1726
+ "description": "Indicate the data type of the output field (e.g., str, int, float, bool, dict).",
1727
+ "display_name": "Type",
1728
+ "edit_mode": "inline",
1729
+ "formatter": "text",
1730
+ "name": "type",
1731
+ "options": [
1732
+ "str",
1733
+ "int",
1734
+ "float",
1735
+ "bool",
1736
+ "dict"
1737
+ ],
1738
+ "type": "str"
1739
+ },
1740
+ {
1741
+ "default": "False",
1742
+ "description": "Set to True if this output field should be a list of the specified type.",
1743
+ "display_name": "As List",
1744
+ "edit_mode": "inline",
1745
+ "formatter": "text",
1746
+ "name": "multiple",
1747
+ "type": "boolean"
1748
+ }
1749
+ ],
1307
1750
  "title_case": false,
1308
1751
  "tool_mode": false,
1309
1752
  "trace_as_metadata": true,
1310
- "type": "str",
1311
- "value": "\n\n"
1312
- },
1313
- "silent_errors": {
1314
- "_input_type": "BoolInput",
1315
- "advanced": true,
1316
- "display_name": "Silent Errors",
1317
- "dynamic": false,
1318
- "info": "If true, errors will not raise an exception.",
1753
+ "trigger_icon": "Table",
1754
+ "trigger_text": "Open table",
1755
+ "type": "table",
1756
+ "value": [
1757
+ {
1758
+ "description": "Full name of the candidate",
1759
+ "multiple": "False",
1760
+ "name": "full_name",
1761
+ "type": "str"
1762
+ },
1763
+ {
1764
+ "description": "Email ID",
1765
+ "multiple": "False",
1766
+ "name": "email",
1767
+ "type": "str"
1768
+ },
1769
+ {
1770
+ "description": "Contact Number",
1771
+ "multiple": "False",
1772
+ "name": "phone_number",
1773
+ "type": "str"
1774
+ },
1775
+ {
1776
+ "description": "LinkedIn URL",
1777
+ "multiple": "False",
1778
+ "name": "linkedin",
1779
+ "type": "str"
1780
+ },
1781
+ {
1782
+ "description": "GitHub profile URL (if applicable)",
1783
+ "multiple": "False",
1784
+ "name": "github",
1785
+ "type": "str"
1786
+ },
1787
+ {
1788
+ "description": "Personal website or portfolio URL",
1789
+ "multiple": "False",
1790
+ "name": "portfolio",
1791
+ "type": "str"
1792
+ },
1793
+ {
1794
+ "description": "Visa/work authorization details (if applicable)",
1795
+ "multiple": "False",
1796
+ "name": "visa_status",
1797
+ "type": "str"
1798
+ },
1799
+ {
1800
+ "description": "Short professional summary or objective statement",
1801
+ "multiple": "False",
1802
+ "name": "summary",
1803
+ "type": "str"
1804
+ },
1805
+ {
1806
+ "description": "Dictionaries of experience details with following keys:\\n \\\"job_title\\\": Job position/title,\\n\\t\\\"company_name\\\": Employer or organization\\n\\t\\\"location\\\": Job location (remote/in-office)\\n\\t\\\"start_date\\\": Start date (YYYY-MM)\\n\\t\\\"end_date\\\": End date or \\\"Present\\\"\\n\\t\\\"responsibilities\\\": List of responsibilities and tasks\\n\\t\\\"achievements\\\": List of key achievements and contributions",
1807
+ "multiple": "True",
1808
+ "name": "experience",
1809
+ "type": "dict"
1810
+ },
1811
+ {
1812
+ "description": "Dictionaries of Education details with following keys:\\n\\\"degree\\\": Degree obtained (e.g., B.Sc., M.Sc., Ph.D.),\\n\\\"field_of_study\\\": Major or specialization,\\n\\\"institution\\\": University/college name,\\n\\\"location\\\": Location of institution,\\n\\\"start_date\\\": Start date (YYYY-MM),\\n\\\"end_date\\\": Graduation/completion date (YYYY-MM),\\n\\\"gpa\\\": GPA/grade (if available),\\n\\\"relevant_courses\\\": List of relevant coursework (if applicable)",
1813
+ "multiple": "True",
1814
+ "name": "education",
1815
+ "type": "dict"
1816
+ },
1817
+ {
1818
+ "description": "Skills mentioned in the resume. Comma separated.",
1819
+ "multiple": "True",
1820
+ "name": "skills",
1821
+ "type": "str"
1822
+ },
1823
+ {
1824
+ "description": "Title and description and details of the project. Including the skills and technologies used.",
1825
+ "multiple": "False",
1826
+ "name": "projects",
1827
+ "type": "str"
1828
+ }
1829
+ ]
1830
+ },
1831
+ "schema_name": {
1832
+ "_input_type": "MessageTextInput",
1833
+ "advanced": true,
1834
+ "display_name": "Schema Name",
1835
+ "dynamic": false,
1836
+ "info": "Provide a name for the output data schema.",
1837
+ "input_types": [
1838
+ "Message"
1839
+ ],
1319
1840
  "list": false,
1320
1841
  "list_add_label": "Add More",
1321
- "name": "silent_errors",
1842
+ "load_from_db": false,
1843
+ "name": "schema_name",
1322
1844
  "placeholder": "",
1323
1845
  "required": false,
1324
1846
  "show": true,
1325
1847
  "title_case": false,
1326
1848
  "tool_mode": false,
1849
+ "trace_as_input": true,
1327
1850
  "trace_as_metadata": true,
1328
- "type": "bool",
1329
- "value": false
1851
+ "type": "str",
1852
+ "value": ""
1330
1853
  },
1331
- "use_multithreading": {
1332
- "_input_type": "BoolInput",
1854
+ "system_prompt": {
1855
+ "_input_type": "MultilineInput",
1333
1856
  "advanced": true,
1334
- "display_name": "[Deprecated] Use Multithreading",
1857
+ "copy_field": false,
1858
+ "display_name": "Format Instructions",
1335
1859
  "dynamic": false,
1336
- "info": "Set 'Processing Concurrency' greater than 1 to enable multithreading.",
1860
+ "info": "The instructions to the language model for formatting the output.",
1861
+ "input_types": [
1862
+ "Message"
1863
+ ],
1337
1864
  "list": false,
1338
1865
  "list_add_label": "Add More",
1339
- "name": "use_multithreading",
1866
+ "load_from_db": false,
1867
+ "multiline": true,
1868
+ "name": "system_prompt",
1340
1869
  "placeholder": "",
1341
- "required": false,
1870
+ "required": true,
1342
1871
  "show": true,
1343
1872
  "title_case": false,
1344
1873
  "tool_mode": false,
1874
+ "trace_as_input": true,
1345
1875
  "trace_as_metadata": true,
1346
- "type": "bool",
1347
- "value": true
1876
+ "type": "str",
1877
+ "value": "You are an AI that extracts structured JSON objects from unstructured text. Use a predefined schema with expected types (str, int, float, bool, dict). Extract ALL relevant instances that match the schema - if multiple patterns exist, capture them all. Fill missing or ambiguous values with defaults: null for missing values. Remove exact duplicates but keep variations that have different field values. Always return valid JSON in the expected format, never throw errors. If multiple objects can be extracted, return them all in the structured format."
1348
1878
  }
1349
1879
  },
1350
1880
  "tool_mode": false
1351
1881
  },
1352
- "selected_output": "message",
1882
+ "selected_output": "dataframe_output",
1353
1883
  "showNode": true,
1354
- "type": "File"
1884
+ "type": "StructuredOutput"
1355
1885
  },
1356
1886
  "dragging": false,
1357
- "id": "File-gVVqw",
1887
+ "id": "StructuredOutput-GJE9p",
1358
1888
  "measured": {
1359
- "height": 214,
1889
+ "height": 387,
1360
1890
  "width": 320
1361
1891
  },
1362
1892
  "position": {
1363
- "x": 927.3702382252801,
1364
- "y": 647.5603858397075
1893
+ "x": 1308.5338025647359,
1894
+ "y": 651.6998573907567
1365
1895
  },
1366
1896
  "selected": false,
1367
1897
  "type": "genericNode"
1368
1898
  },
1369
1899
  {
1370
1900
  "data": {
1371
- "id": "LanguageModelComponent-DJzkZ",
1901
+ "id": "File-Ln2gO",
1372
1902
  "node": {
1373
1903
  "base_classes": [
1374
- "LanguageModel",
1375
1904
  "Message"
1376
1905
  ],
1377
1906
  "beta": false,
1378
1907
  "conditional_paths": [],
1379
1908
  "custom_fields": {},
1380
- "description": "Runs a language model given a specified provider.",
1381
- "display_name": "Language Model",
1382
- "documentation": "https://docs.langflow.org/components-models",
1909
+ "description": "Loads and returns the content from uploaded files.",
1910
+ "display_name": "Read File",
1911
+ "documentation": "https://docs.langflow.org/read-file",
1383
1912
  "edited": false,
1384
1913
  "field_order": [
1385
- "model",
1386
- "api_key",
1387
- "base_url_ibm_watsonx",
1388
- "project_id",
1389
- "ollama_base_url",
1390
- "input_value",
1391
- "system_message",
1392
- "stream",
1393
- "temperature"
1914
+ "storage_location",
1915
+ "path",
1916
+ "file_path",
1917
+ "separator",
1918
+ "silent_errors",
1919
+ "delete_server_file_after_processing",
1920
+ "ignore_unsupported_extensions",
1921
+ "ignore_unspecified_files",
1922
+ "file_path_str",
1923
+ "aws_access_key_id",
1924
+ "aws_secret_access_key",
1925
+ "bucket_name",
1926
+ "aws_region",
1927
+ "s3_file_key",
1928
+ "service_account_key",
1929
+ "file_id",
1930
+ "advanced_mode",
1931
+ "pipeline",
1932
+ "ocr_engine",
1933
+ "md_image_placeholder",
1934
+ "md_page_break_placeholder",
1935
+ "doc_key",
1936
+ "use_multithreading",
1937
+ "concurrency_multithreading",
1938
+ "markdown"
1394
1939
  ],
1395
1940
  "frozen": false,
1396
- "icon": "brain-circuit",
1397
- "last_updated": "2025-12-11T21:29:10.202Z",
1941
+ "icon": "file-text",
1942
+ "last_updated": "2025-12-20T17:34:46.873Z",
1398
1943
  "legacy": false,
1399
- "lf_version": "1.7.0",
1400
1944
  "metadata": {
1401
- "code_hash": "7fe3257f2169",
1945
+ "code_hash": "9d57e0bfda44",
1402
1946
  "dependencies": {
1403
1947
  "dependencies": [
1404
1948
  {
1405
1949
  "name": "lfx",
1406
1950
  "version": null
1951
+ },
1952
+ {
1953
+ "name": "langchain_core",
1954
+ "version": "0.3.80"
1955
+ },
1956
+ {
1957
+ "name": "pydantic",
1958
+ "version": "2.11.10"
1959
+ },
1960
+ {
1961
+ "name": "googleapiclient",
1962
+ "version": "2.154.0"
1407
1963
  }
1408
1964
  ],
1409
- "total_dependencies": 1
1965
+ "total_dependencies": 4
1410
1966
  },
1411
- "keywords": [
1412
- "model",
1413
- "llm",
1414
- "language model",
1415
- "large language model"
1416
- ],
1417
- "module": "lfx.components.models_and_agents.language_model.LanguageModelComponent"
1967
+ "module": "lfx.components.files_and_knowledge.file.FileComponent"
1418
1968
  },
1419
1969
  "minimized": false,
1420
1970
  "output_types": [],
@@ -1422,99 +1972,121 @@
1422
1972
  {
1423
1973
  "allows_loop": false,
1424
1974
  "cache": true,
1425
- "display_name": "Model Response",
1975
+ "display_name": "Raw Content",
1426
1976
  "group_outputs": false,
1427
- "loop_types": null,
1428
- "method": "text_response",
1429
- "name": "text_output",
1430
- "options": null,
1431
- "required_inputs": null,
1977
+ "method": "load_files_message",
1978
+ "name": "message",
1432
1979
  "selected": "Message",
1433
1980
  "tool_mode": true,
1434
1981
  "types": [
1435
1982
  "Message"
1436
1983
  ],
1437
1984
  "value": "__UNDEFINED__"
1438
- },
1439
- {
1440
- "allows_loop": false,
1441
- "cache": true,
1442
- "display_name": "Language Model",
1443
- "group_outputs": false,
1444
- "loop_types": null,
1445
- "method": "build_model",
1446
- "name": "model_output",
1447
- "options": null,
1448
- "required_inputs": null,
1449
- "selected": "LanguageModel",
1450
- "tool_mode": true,
1451
- "types": [
1452
- "LanguageModel"
1453
- ],
1454
- "value": "__UNDEFINED__"
1455
1985
  }
1456
1986
  ],
1457
1987
  "pinned": false,
1458
- "priority": 0,
1459
1988
  "template": {
1460
- "_frontend_node_flow_id": {
1461
- "value": "524f71dc-cc58-441a-a009-c71d6755765f"
1462
- },
1463
- "_frontend_node_folder_id": {
1464
- "value": "afaca9ee-97e3-4211-8569-722a4058ea5e"
1465
- },
1466
1989
  "_type": "Component",
1467
- "api_key": {
1468
- "_input_type": "SecretStrInput",
1469
- "advanced": true,
1470
- "display_name": "API Key",
1990
+ "advanced_mode": {
1991
+ "_input_type": "BoolInput",
1992
+ "advanced": false,
1993
+ "display_name": "Advanced Parser",
1471
1994
  "dynamic": false,
1472
- "info": "Model Provider API key",
1473
- "input_types": [],
1474
- "load_from_db": false,
1475
- "name": "api_key",
1995
+ "info": "Enable advanced document processing and export with Docling for PDFs, images, and office documents. Note that advanced document processing can consume significant resources.",
1996
+ "list": false,
1997
+ "list_add_label": "Add More",
1998
+ "name": "advanced_mode",
1476
1999
  "override_skip": false,
1477
- "password": true,
1478
2000
  "placeholder": "",
1479
2001
  "real_time_refresh": true,
1480
2002
  "required": false,
1481
2003
  "show": true,
1482
2004
  "title_case": false,
2005
+ "tool_mode": false,
2006
+ "trace_as_metadata": true,
2007
+ "track_in_telemetry": true,
2008
+ "type": "bool",
2009
+ "value": false
2010
+ },
2011
+ "aws_access_key_id": {
2012
+ "_input_type": "SecretStrInput",
2013
+ "advanced": false,
2014
+ "display_name": "AWS Access Key ID",
2015
+ "dynamic": false,
2016
+ "info": "AWS Access key ID.",
2017
+ "input_types": [],
2018
+ "load_from_db": true,
2019
+ "name": "aws_access_key_id",
2020
+ "override_skip": false,
2021
+ "password": true,
2022
+ "placeholder": "",
2023
+ "required": true,
2024
+ "show": false,
2025
+ "title_case": false,
1483
2026
  "track_in_telemetry": false,
1484
2027
  "type": "str",
1485
2028
  "value": ""
1486
2029
  },
1487
- "base_url_ibm_watsonx": {
1488
- "_input_type": "DropdownInput",
2030
+ "aws_region": {
2031
+ "_input_type": "StrInput",
1489
2032
  "advanced": false,
1490
- "combobox": false,
1491
- "dialog_inputs": {},
1492
- "display_name": "watsonx API Endpoint",
2033
+ "display_name": "AWS Region",
1493
2034
  "dynamic": false,
1494
- "external_options": {},
1495
- "info": "The base URL of the API (IBM watsonx.ai only)",
1496
- "name": "base_url_ibm_watsonx",
1497
- "options": [
1498
- "https://us-south.ml.cloud.ibm.com",
1499
- "https://eu-de.ml.cloud.ibm.com",
1500
- "https://eu-gb.ml.cloud.ibm.com",
1501
- "https://au-syd.ml.cloud.ibm.com",
1502
- "https://jp-tok.ml.cloud.ibm.com",
1503
- "https://ca-tor.ml.cloud.ibm.com"
1504
- ],
1505
- "options_metadata": [],
2035
+ "info": "AWS region (e.g., us-east-1, eu-west-1).",
2036
+ "list": false,
2037
+ "list_add_label": "Add More",
2038
+ "load_from_db": false,
2039
+ "name": "aws_region",
1506
2040
  "override_skip": false,
1507
2041
  "placeholder": "",
1508
- "real_time_refresh": true,
1509
2042
  "required": false,
1510
2043
  "show": false,
1511
2044
  "title_case": false,
1512
- "toggle": false,
1513
2045
  "tool_mode": false,
1514
2046
  "trace_as_metadata": true,
1515
- "track_in_telemetry": true,
2047
+ "track_in_telemetry": false,
1516
2048
  "type": "str",
1517
- "value": "https://us-south.ml.cloud.ibm.com"
2049
+ "value": ""
2050
+ },
2051
+ "aws_secret_access_key": {
2052
+ "_input_type": "SecretStrInput",
2053
+ "advanced": false,
2054
+ "display_name": "AWS Secret Key",
2055
+ "dynamic": false,
2056
+ "info": "AWS Secret Key.",
2057
+ "input_types": [],
2058
+ "load_from_db": true,
2059
+ "name": "aws_secret_access_key",
2060
+ "override_skip": false,
2061
+ "password": true,
2062
+ "placeholder": "",
2063
+ "required": true,
2064
+ "show": false,
2065
+ "title_case": false,
2066
+ "track_in_telemetry": false,
2067
+ "type": "str",
2068
+ "value": ""
2069
+ },
2070
+ "bucket_name": {
2071
+ "_input_type": "StrInput",
2072
+ "advanced": false,
2073
+ "display_name": "S3 Bucket Name",
2074
+ "dynamic": false,
2075
+ "info": "Enter the name of the S3 bucket.",
2076
+ "list": false,
2077
+ "list_add_label": "Add More",
2078
+ "load_from_db": false,
2079
+ "name": "bucket_name",
2080
+ "override_skip": false,
2081
+ "placeholder": "",
2082
+ "required": true,
2083
+ "show": false,
2084
+ "title_case": false,
2085
+ "tool_mode": false,
2086
+ "trace_as_metadata": true,
2087
+ "track_in_telemetry": false,
2088
+ "type": "str",
2089
+ "value": ""
1518
2090
  },
1519
2091
  "code": {
1520
2092
  "advanced": true,
@@ -1532,128 +2104,147 @@
1532
2104
  "show": true,
1533
2105
  "title_case": false,
1534
2106
  "type": "code",
1535
- "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"
2107
+ "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"
1536
2108
  },
1537
- "input_value": {
1538
- "_input_type": "MessageInput",
1539
- "advanced": false,
1540
- "display_name": "Input",
2109
+ "concurrency_multithreading": {
2110
+ "_input_type": "IntInput",
2111
+ "advanced": true,
2112
+ "display_name": "Processing Concurrency",
1541
2113
  "dynamic": false,
1542
- "info": "The input text to send to the model",
2114
+ "info": "When multiple files are being processed, the number of files to process concurrently.",
2115
+ "list": false,
2116
+ "list_add_label": "Add More",
2117
+ "name": "concurrency_multithreading",
2118
+ "override_skip": false,
2119
+ "placeholder": "",
2120
+ "required": false,
2121
+ "show": true,
2122
+ "title_case": false,
2123
+ "tool_mode": false,
2124
+ "trace_as_metadata": true,
2125
+ "track_in_telemetry": true,
2126
+ "type": "int",
2127
+ "value": 1
2128
+ },
2129
+ "delete_server_file_after_processing": {
2130
+ "_input_type": "BoolInput",
2131
+ "advanced": true,
2132
+ "display_name": "Delete Server File After Processing",
2133
+ "dynamic": false,
2134
+ "info": "If true, the Server File Path will be deleted after processing.",
2135
+ "list": false,
2136
+ "list_add_label": "Add More",
2137
+ "name": "delete_server_file_after_processing",
2138
+ "override_skip": false,
2139
+ "placeholder": "",
2140
+ "required": false,
2141
+ "show": true,
2142
+ "title_case": false,
2143
+ "tool_mode": false,
2144
+ "trace_as_metadata": true,
2145
+ "track_in_telemetry": true,
2146
+ "type": "bool",
2147
+ "value": true
2148
+ },
2149
+ "doc_key": {
2150
+ "_input_type": "MessageTextInput",
2151
+ "advanced": true,
2152
+ "display_name": "Doc Key",
2153
+ "dynamic": false,
2154
+ "info": "The key to use for the DoclingDocument column.",
1543
2155
  "input_types": [
1544
2156
  "Message"
1545
2157
  ],
1546
2158
  "list": false,
1547
2159
  "list_add_label": "Add More",
1548
2160
  "load_from_db": false,
1549
- "name": "input_value",
2161
+ "name": "doc_key",
1550
2162
  "override_skip": false,
1551
2163
  "placeholder": "",
1552
2164
  "required": false,
1553
- "show": true,
2165
+ "show": false,
1554
2166
  "title_case": false,
1555
2167
  "tool_mode": false,
1556
2168
  "trace_as_input": true,
1557
2169
  "trace_as_metadata": true,
1558
2170
  "track_in_telemetry": false,
1559
2171
  "type": "str",
1560
- "value": ""
2172
+ "value": "doc"
1561
2173
  },
1562
- "is_refresh": false,
1563
- "model": {
1564
- "_input_type": "ModelInput",
2174
+ "file_id": {
2175
+ "_input_type": "StrInput",
1565
2176
  "advanced": false,
1566
- "display_name": "Language Model",
2177
+ "display_name": "Google Drive File ID",
1567
2178
  "dynamic": false,
1568
- "external_options": {
1569
- "fields": {
1570
- "data": {
1571
- "node": {
1572
- "display_name": "Connect other models",
1573
- "icon": "CornerDownLeft",
1574
- "name": "connect_other_models"
1575
- }
1576
- }
1577
- }
1578
- },
1579
- "info": "Select your model provider",
1580
- "input_types": [
1581
- "LanguageModel"
1582
- ],
2179
+ "info": "The Google Drive file ID to read. The file must be shared with the service account email.",
1583
2180
  "list": false,
1584
2181
  "list_add_label": "Add More",
1585
- "model_type": "language",
1586
- "name": "model",
1587
- "options": [],
2182
+ "load_from_db": false,
2183
+ "name": "file_id",
1588
2184
  "override_skip": false,
1589
- "placeholder": "Setup Provider",
1590
- "real_time_refresh": true,
1591
- "refresh_button": true,
2185
+ "placeholder": "",
1592
2186
  "required": true,
1593
- "show": true,
2187
+ "show": false,
1594
2188
  "title_case": false,
1595
2189
  "tool_mode": false,
1596
- "trace_as_input": true,
2190
+ "trace_as_metadata": true,
1597
2191
  "track_in_telemetry": false,
1598
- "type": "model",
1599
- "value": []
2192
+ "type": "str",
2193
+ "value": ""
1600
2194
  },
1601
- "ollama_base_url": {
1602
- "_input_type": "MessageInput",
1603
- "advanced": false,
1604
- "display_name": "Ollama API URL",
2195
+ "file_path": {
2196
+ "_input_type": "HandleInput",
2197
+ "advanced": true,
2198
+ "display_name": "Server File Path",
1605
2199
  "dynamic": false,
1606
- "info": "Endpoint of the Ollama API (Ollama only). Defaults to http://localhost:11434",
2200
+ "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.",
1607
2201
  "input_types": [
2202
+ "Data",
1608
2203
  "Message"
1609
2204
  ],
1610
- "list": false,
2205
+ "list": true,
1611
2206
  "list_add_label": "Add More",
1612
- "load_from_db": false,
1613
- "name": "ollama_base_url",
2207
+ "name": "file_path",
1614
2208
  "override_skip": false,
1615
2209
  "placeholder": "",
1616
- "real_time_refresh": true,
1617
2210
  "required": false,
1618
- "show": false,
2211
+ "show": true,
1619
2212
  "title_case": false,
1620
- "tool_mode": false,
1621
- "trace_as_input": true,
1622
2213
  "trace_as_metadata": true,
1623
2214
  "track_in_telemetry": false,
1624
- "type": "str",
2215
+ "type": "other",
1625
2216
  "value": ""
1626
2217
  },
1627
- "project_id": {
2218
+ "file_path_str": {
1628
2219
  "_input_type": "StrInput",
1629
- "advanced": false,
1630
- "display_name": "watsonx Project ID",
2220
+ "advanced": true,
2221
+ "display_name": "File Path",
1631
2222
  "dynamic": false,
1632
- "info": "The project ID associated with the foundation model (IBM watsonx.ai only)",
2223
+ "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.",
1633
2224
  "list": false,
1634
2225
  "list_add_label": "Add More",
1635
2226
  "load_from_db": false,
1636
- "name": "project_id",
2227
+ "name": "file_path_str",
1637
2228
  "override_skip": false,
1638
2229
  "placeholder": "",
1639
2230
  "required": false,
1640
2231
  "show": false,
1641
2232
  "title_case": false,
1642
- "tool_mode": false,
2233
+ "tool_mode": true,
1643
2234
  "trace_as_metadata": true,
1644
2235
  "track_in_telemetry": false,
1645
2236
  "type": "str",
1646
2237
  "value": ""
1647
2238
  },
1648
- "stream": {
2239
+ "ignore_unspecified_files": {
1649
2240
  "_input_type": "BoolInput",
1650
2241
  "advanced": true,
1651
- "display_name": "Stream",
2242
+ "display_name": "Ignore Unspecified Files",
1652
2243
  "dynamic": false,
1653
- "info": "Whether to stream the response",
2244
+ "info": "If true, Data with no 'file_path' property will be ignored.",
1654
2245
  "list": false,
1655
2246
  "list_add_label": "Add More",
1656
- "name": "stream",
2247
+ "name": "ignore_unspecified_files",
1657
2248
  "override_skip": false,
1658
2249
  "placeholder": "",
1659
2250
  "required": false,
@@ -1665,511 +2256,379 @@
1665
2256
  "type": "bool",
1666
2257
  "value": false
1667
2258
  },
1668
- "system_message": {
1669
- "_input_type": "MultilineInput",
1670
- "advanced": false,
1671
- "ai_enabled": false,
1672
- "copy_field": false,
1673
- "display_name": "System Message",
2259
+ "ignore_unsupported_extensions": {
2260
+ "_input_type": "BoolInput",
2261
+ "advanced": true,
2262
+ "display_name": "Ignore Unsupported Extensions",
1674
2263
  "dynamic": false,
1675
- "info": "A system message that helps set the behavior of the assistant",
1676
- "input_types": [
1677
- "Message"
1678
- ],
2264
+ "info": "If true, files with unsupported extensions will not be processed.",
1679
2265
  "list": false,
1680
2266
  "list_add_label": "Add More",
1681
- "load_from_db": false,
1682
- "multiline": true,
1683
- "name": "system_message",
2267
+ "name": "ignore_unsupported_extensions",
1684
2268
  "override_skip": false,
1685
2269
  "placeholder": "",
1686
2270
  "required": false,
1687
2271
  "show": true,
1688
2272
  "title_case": false,
1689
2273
  "tool_mode": false,
1690
- "trace_as_input": true,
1691
2274
  "trace_as_metadata": true,
1692
- "track_in_telemetry": false,
1693
- "type": "str",
1694
- "value": ""
2275
+ "track_in_telemetry": true,
2276
+ "type": "bool",
2277
+ "value": true
1695
2278
  },
1696
- "temperature": {
1697
- "_input_type": "SliderInput",
2279
+ "markdown": {
2280
+ "_input_type": "BoolInput",
2281
+ "advanced": false,
2282
+ "display_name": "Markdown Export",
2283
+ "dynamic": false,
2284
+ "info": "Export processed documents to Markdown format. Only available when advanced mode is enabled.",
2285
+ "list": false,
2286
+ "list_add_label": "Add More",
2287
+ "name": "markdown",
2288
+ "override_skip": false,
2289
+ "placeholder": "",
2290
+ "required": false,
2291
+ "show": false,
2292
+ "title_case": false,
2293
+ "tool_mode": false,
2294
+ "trace_as_metadata": true,
2295
+ "track_in_telemetry": true,
2296
+ "type": "bool",
2297
+ "value": false
2298
+ },
2299
+ "md_image_placeholder": {
2300
+ "_input_type": "StrInput",
1698
2301
  "advanced": true,
1699
- "display_name": "Temperature",
2302
+ "display_name": "Image placeholder",
1700
2303
  "dynamic": false,
1701
- "info": "Controls randomness in responses",
1702
- "max_label": "",
1703
- "max_label_icon": "",
1704
- "min_label": "",
1705
- "min_label_icon": "",
1706
- "name": "temperature",
2304
+ "info": "Specify the image placeholder for markdown exports.",
2305
+ "list": false,
2306
+ "list_add_label": "Add More",
2307
+ "load_from_db": false,
2308
+ "name": "md_image_placeholder",
1707
2309
  "override_skip": false,
1708
2310
  "placeholder": "",
1709
- "range_spec": {
1710
- "max": 1,
1711
- "min": 0,
1712
- "step": 0.01,
1713
- "step_type": "float"
1714
- },
1715
2311
  "required": false,
1716
- "show": true,
1717
- "slider_buttons": false,
1718
- "slider_buttons_options": [],
1719
- "slider_input": false,
2312
+ "show": false,
1720
2313
  "title_case": false,
1721
2314
  "tool_mode": false,
2315
+ "trace_as_metadata": true,
1722
2316
  "track_in_telemetry": false,
1723
- "type": "slider",
1724
- "value": 0.1
1725
- }
1726
- },
1727
- "tool_mode": false
1728
- },
1729
- "selected_output": "text_output",
1730
- "showNode": true,
1731
- "type": "LanguageModelComponent"
1732
- },
1733
- "dragging": false,
1734
- "id": "LanguageModelComponent-DJzkZ",
1735
- "measured": {
1736
- "height": 534,
1737
- "width": 320
1738
- },
1739
- "position": {
1740
- "x": 2174.626510909065,
1741
- "y": 439.5147119393939
1742
- },
1743
- "selected": false,
1744
- "type": "genericNode"
1745
- },
1746
- {
1747
- "data": {
1748
- "id": "note-Sm9Ca",
1749
- "node": {
1750
- "description": "### 💡 Add your OpenAI API key here",
1751
- "display_name": "",
1752
- "documentation": "",
1753
- "template": {
1754
- "backgroundColor": "transparent"
1755
- }
1756
- },
1757
- "type": "note"
1758
- },
1759
- "dragging": false,
1760
- "id": "note-Sm9Ca",
1761
- "measured": {
1762
- "height": 324,
1763
- "width": 324
1764
- },
1765
- "position": {
1766
- "x": 2177.24956539088,
1767
- "y": 384.73691533198325
1768
- },
1769
- "selected": false,
1770
- "type": "noteNode"
1771
- },
1772
- {
1773
- "data": {
1774
- "id": "StructuredOutput-wsAT3",
1775
- "node": {
1776
- "base_classes": [
1777
- "Data",
1778
- "DataFrame"
1779
- ],
1780
- "beta": false,
1781
- "conditional_paths": [],
1782
- "custom_fields": {},
1783
- "description": "Uses an LLM to generate structured data. Ideal for extraction and consistency.",
1784
- "display_name": "Structured Output",
1785
- "documentation": "https://docs.langflow.org/components-processing#structured-output",
1786
- "edited": false,
1787
- "field_order": [
1788
- "llm",
1789
- "input_value",
1790
- "system_prompt",
1791
- "schema_name",
1792
- "output_schema"
1793
- ],
1794
- "frozen": false,
1795
- "icon": "braces",
1796
- "legacy": false,
1797
- "lf_version": "1.6.0",
1798
- "metadata": {
1799
- "code_hash": "058ca1f51e9f",
1800
- "dependencies": {
1801
- "dependencies": [
1802
- {
1803
- "name": "pydantic",
1804
- "version": "2.11.10"
1805
- },
1806
- {
1807
- "name": "trustcall",
1808
- "version": "0.0.39"
1809
- },
1810
- {
1811
- "name": "lfx",
1812
- "version": null
1813
- }
1814
- ],
1815
- "total_dependencies": 3
1816
- },
1817
- "module": "lfx.components.llm_operations.structured_output.StructuredOutputComponent"
1818
- },
1819
- "minimized": false,
1820
- "output_types": [],
1821
- "outputs": [
1822
- {
1823
- "allows_loop": false,
1824
- "cache": true,
1825
- "display_name": "Structured Output",
1826
- "group_outputs": false,
1827
- "method": "build_structured_output",
1828
- "name": "structured_output",
1829
- "selected": null,
1830
- "tool_mode": true,
1831
- "types": [
1832
- "Data"
1833
- ],
1834
- "value": "__UNDEFINED__"
2317
+ "type": "str",
2318
+ "value": "<!-- image -->"
1835
2319
  },
1836
- {
1837
- "allows_loop": false,
1838
- "cache": true,
1839
- "display_name": "Structured Output",
1840
- "group_outputs": false,
1841
- "method": "build_structured_dataframe",
1842
- "name": "dataframe_output",
1843
- "selected": "DataFrame",
1844
- "tool_mode": true,
1845
- "types": [
1846
- "DataFrame"
1847
- ],
1848
- "value": "__UNDEFINED__"
1849
- }
1850
- ],
1851
- "pinned": false,
1852
- "template": {
1853
- "_type": "Component",
1854
- "api_key": {
1855
- "_input_type": "SecretStrInput",
2320
+ "md_page_break_placeholder": {
2321
+ "_input_type": "StrInput",
1856
2322
  "advanced": true,
1857
- "display_name": "API Key",
2323
+ "display_name": "Page break placeholder",
1858
2324
  "dynamic": false,
1859
- "info": "Model Provider API key",
1860
- "input_types": [],
1861
- "load_from_db": true,
1862
- "name": "api_key",
2325
+ "info": "Add this placeholder between pages in the markdown output.",
2326
+ "list": false,
2327
+ "list_add_label": "Add More",
2328
+ "load_from_db": false,
2329
+ "name": "md_page_break_placeholder",
1863
2330
  "override_skip": false,
1864
- "password": true,
1865
2331
  "placeholder": "",
1866
- "real_time_refresh": true,
1867
2332
  "required": false,
1868
- "show": true,
2333
+ "show": false,
1869
2334
  "title_case": false,
2335
+ "tool_mode": false,
2336
+ "trace_as_metadata": true,
1870
2337
  "track_in_telemetry": false,
1871
2338
  "type": "str",
1872
2339
  "value": ""
1873
2340
  },
1874
- "code": {
2341
+ "ocr_engine": {
2342
+ "_input_type": "DropdownInput",
1875
2343
  "advanced": true,
1876
- "dynamic": true,
1877
- "fileTypes": [],
1878
- "file_path": "",
1879
- "info": "",
1880
- "list": false,
1881
- "load_from_db": false,
1882
- "multiline": true,
1883
- "name": "code",
1884
- "password": false,
2344
+ "combobox": false,
2345
+ "dialog_inputs": {},
2346
+ "display_name": "OCR Engine",
2347
+ "dynamic": false,
2348
+ "external_options": {},
2349
+ "info": "OCR engine to use. Only available when pipeline is set to 'standard'.",
2350
+ "name": "ocr_engine",
2351
+ "options": [
2352
+ "None",
2353
+ "easyocr"
2354
+ ],
2355
+ "options_metadata": [],
2356
+ "override_skip": false,
1885
2357
  "placeholder": "",
1886
- "required": true,
1887
- "show": true,
2358
+ "required": false,
2359
+ "show": false,
1888
2360
  "title_case": false,
1889
- "type": "code",
1890
- "value": "from pydantic import BaseModel, Field, create_model\nfrom trustcall import create_extractor\n\nfrom lfx.base.models.chat_result import get_chat_result\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.custom.custom_component.component import Component\nfrom lfx.helpers.base_model import build_model_from_schema\nfrom lfx.io import (\n MessageTextInput,\n ModelInput,\n MultilineInput,\n Output,\n SecretStrInput,\n TableInput,\n)\nfrom lfx.log.logger import logger\nfrom lfx.schema.data import Data\nfrom lfx.schema.dataframe import DataFrame\nfrom lfx.schema.table import EditMode\n\n\nclass StructuredOutputComponent(Component):\n display_name = \"Structured Output\"\n description = \"Uses an LLM to generate structured data. Ideal for extraction and consistency.\"\n documentation: str = \"https://docs.langflow.org/structured-output\"\n name = \"StructuredOutput\"\n icon = \"braces\"\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 real_time_refresh=True,\n advanced=True,\n ),\n MultilineInput(\n name=\"input_value\",\n display_name=\"Input Message\",\n info=\"The input message to the language model.\",\n tool_mode=True,\n required=True,\n ),\n MultilineInput(\n name=\"system_prompt\",\n display_name=\"Format Instructions\",\n info=\"The instructions to the language model for formatting the output.\",\n value=(\n \"You are an AI that extracts structured JSON objects from unstructured text. \"\n \"Use a predefined schema with expected types (str, int, float, bool, dict). \"\n \"Extract ALL relevant instances that match the schema - if multiple patterns exist, capture them all. \"\n \"Fill missing or ambiguous values with defaults: null for missing values. \"\n \"Remove exact duplicates but keep variations that have different field values. \"\n \"Always return valid JSON in the expected format, never throw errors. \"\n \"If multiple objects can be extracted, return them all in the structured format.\"\n ),\n required=True,\n advanced=True,\n ),\n MessageTextInput(\n name=\"schema_name\",\n display_name=\"Schema Name\",\n info=\"Provide a name for the output data schema.\",\n advanced=True,\n ),\n TableInput(\n name=\"output_schema\",\n display_name=\"Output Schema\",\n info=\"Define the structure and data types for the model's output.\",\n required=True,\n # TODO: remove deault value\n table_schema=[\n {\n \"name\": \"name\",\n \"display_name\": \"Name\",\n \"type\": \"str\",\n \"description\": \"Specify the name of the output field.\",\n \"default\": \"field\",\n \"edit_mode\": EditMode.INLINE,\n },\n {\n \"name\": \"description\",\n \"display_name\": \"Description\",\n \"type\": \"str\",\n \"description\": \"Describe the purpose of the output field.\",\n \"default\": \"description of field\",\n \"edit_mode\": EditMode.POPOVER,\n },\n {\n \"name\": \"type\",\n \"display_name\": \"Type\",\n \"type\": \"str\",\n \"edit_mode\": EditMode.INLINE,\n \"description\": (\"Indicate the data type of the output field (e.g., str, int, float, bool, dict).\"),\n \"options\": [\"str\", \"int\", \"float\", \"bool\", \"dict\"],\n \"default\": \"str\",\n },\n {\n \"name\": \"multiple\",\n \"display_name\": \"As List\",\n \"type\": \"boolean\",\n \"description\": \"Set to True if this output field should be a list of the specified type.\",\n \"default\": \"False\",\n \"edit_mode\": EditMode.INLINE,\n },\n ],\n value=[\n {\n \"name\": \"field\",\n \"description\": \"description of field\",\n \"type\": \"str\",\n \"multiple\": \"False\",\n }\n ],\n ),\n ]\n\n outputs = [\n Output(\n name=\"structured_output\",\n display_name=\"Structured Output\",\n method=\"build_structured_output\",\n ),\n Output(\n name=\"dataframe_output\",\n display_name=\"Structured Output\",\n method=\"build_structured_dataframe\",\n ),\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\n def build_structured_output_base(self):\n schema_name = self.schema_name or \"OutputModel\"\n\n llm = get_llm(model=self.model, user_id=self.user_id, api_key=self.api_key)\n\n if not hasattr(llm, \"with_structured_output\"):\n msg = \"Language model does not support structured output.\"\n raise TypeError(msg)\n if not self.output_schema:\n msg = \"Output schema cannot be empty\"\n raise ValueError(msg)\n\n output_model_ = build_model_from_schema(self.output_schema)\n output_model = create_model(\n schema_name,\n __doc__=f\"A list of {schema_name}.\",\n objects=(\n list[output_model_],\n Field(\n description=f\"A list of {schema_name}.\", # type: ignore[valid-type]\n min_length=1, # help ensure non-empty output\n ),\n ),\n )\n # Tracing config\n config_dict = {\n \"run_name\": self.display_name,\n \"project_name\": self.get_project_name(),\n \"callbacks\": self.get_langchain_callbacks(),\n }\n # Generate structured output using Trustcall first, then fallback to Langchain if it fails\n result = self._extract_output_with_trustcall(llm, output_model, config_dict)\n if result is None:\n result = self._extract_output_with_langchain(llm, output_model, config_dict)\n\n # OPTIMIZATION NOTE: Simplified processing based on trustcall response structure\n # Handle non-dict responses (shouldn't happen with trustcall, but defensive)\n if not isinstance(result, dict):\n return result\n\n # Extract first response and convert BaseModel to dict\n responses = result.get(\"responses\", [])\n if not responses:\n return result\n\n # Convert BaseModel to dict (creates the \"objects\" key)\n first_response = responses[0]\n structured_data = first_response\n if isinstance(first_response, BaseModel):\n structured_data = first_response.model_dump()\n # Extract the objects array (guaranteed to exist due to our Pydantic model structure)\n return structured_data.get(\"objects\", structured_data)\n\n def build_structured_output(self) -> Data:\n output = self.build_structured_output_base()\n if not isinstance(output, list) or not output:\n # handle empty or unexpected type case\n msg = \"No structured output returned\"\n raise ValueError(msg)\n if len(output) == 1:\n return Data(data=output[0])\n if len(output) > 1:\n # Multiple outputs - wrap them in a results container\n return Data(data={\"results\": output})\n return Data()\n\n def build_structured_dataframe(self) -> DataFrame:\n output = self.build_structured_output_base()\n if not isinstance(output, list) or not output:\n # handle empty or unexpected type case\n msg = \"No structured output returned\"\n raise ValueError(msg)\n if len(output) == 1:\n # For single dictionary, wrap in a list to create DataFrame with one row\n return DataFrame([output[0]])\n if len(output) > 1:\n # Multiple outputs - convert to DataFrame directly\n return DataFrame(output)\n return DataFrame()\n\n def _extract_output_with_trustcall(self, llm, schema: BaseModel, config_dict: dict) -> list[BaseModel] | None:\n try:\n llm_with_structured_output = create_extractor(llm, tools=[schema], tool_choice=schema.__name__)\n result = get_chat_result(\n runnable=llm_with_structured_output,\n system_message=self.system_prompt,\n input_value=self.input_value,\n config=config_dict,\n )\n except Exception as e: # noqa: BLE001\n logger.warning(\n f\"Trustcall extraction failed, falling back to Langchain: {e} \"\n \"(Note: This may not be an error—some models or configurations do not support tool calling. \"\n \"Falling back is normal in such cases.)\"\n )\n return None\n return result or None # langchain fallback is used if error occurs or the result is empty\n\n def _extract_output_with_langchain(self, llm, schema: BaseModel, config_dict: dict) -> list[BaseModel] | None:\n try:\n llm_with_structured_output = llm.with_structured_output(schema)\n result = get_chat_result(\n runnable=llm_with_structured_output,\n system_message=self.system_prompt,\n input_value=self.input_value,\n config=config_dict,\n )\n if isinstance(result, BaseModel):\n result = result.model_dump()\n result = result.get(\"objects\", result)\n except Exception as fallback_error:\n msg = (\n f\"Model does not support tool calling (trustcall failed) \"\n f\"and fallback with_structured_output also failed: {fallback_error}\"\n )\n raise ValueError(msg) from fallback_error\n\n return result or None\n"
2361
+ "toggle": false,
2362
+ "tool_mode": false,
2363
+ "trace_as_metadata": true,
2364
+ "track_in_telemetry": true,
2365
+ "type": "str",
2366
+ "value": "easyocr"
1891
2367
  },
1892
- "input_value": {
1893
- "_input_type": "MultilineInput",
2368
+ "path": {
2369
+ "_input_type": "FileInput",
1894
2370
  "advanced": false,
1895
- "copy_field": false,
1896
- "display_name": "Input Message",
2371
+ "display_name": "Files",
1897
2372
  "dynamic": false,
1898
- "info": "The input message to the language model.",
1899
- "input_types": [
1900
- "Message"
2373
+ "fileTypes": [
2374
+ "csv",
2375
+ "json",
2376
+ "pdf",
2377
+ "txt",
2378
+ "md",
2379
+ "mdx",
2380
+ "yaml",
2381
+ "yml",
2382
+ "xml",
2383
+ "html",
2384
+ "htm",
2385
+ "docx",
2386
+ "py",
2387
+ "sh",
2388
+ "sql",
2389
+ "js",
2390
+ "ts",
2391
+ "tsx",
2392
+ "adoc",
2393
+ "asciidoc",
2394
+ "asc",
2395
+ "bmp",
2396
+ "dotx",
2397
+ "dotm",
2398
+ "docm",
2399
+ "jpg",
2400
+ "jpeg",
2401
+ "png",
2402
+ "potx",
2403
+ "ppsx",
2404
+ "pptm",
2405
+ "potm",
2406
+ "ppsm",
2407
+ "pptx",
2408
+ "tiff",
2409
+ "xls",
2410
+ "xlsx",
2411
+ "xhtml",
2412
+ "webp",
2413
+ "zip",
2414
+ "tar",
2415
+ "tgz",
2416
+ "bz2",
2417
+ "gz"
2418
+ ],
2419
+ "file_path": [],
2420
+ "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",
2421
+ "list": true,
2422
+ "list_add_label": "Add More",
2423
+ "name": "path",
2424
+ "override_skip": false,
2425
+ "placeholder": "",
2426
+ "real_time_refresh": true,
2427
+ "required": false,
2428
+ "show": true,
2429
+ "temp_file": false,
2430
+ "title_case": false,
2431
+ "tool_mode": false,
2432
+ "trace_as_metadata": true,
2433
+ "track_in_telemetry": false,
2434
+ "type": "file",
2435
+ "value": ""
2436
+ },
2437
+ "pipeline": {
2438
+ "_input_type": "DropdownInput",
2439
+ "advanced": true,
2440
+ "combobox": false,
2441
+ "dialog_inputs": {},
2442
+ "display_name": "Pipeline",
2443
+ "dynamic": false,
2444
+ "external_options": {},
2445
+ "info": "Docling pipeline to use",
2446
+ "name": "pipeline",
2447
+ "options": [
2448
+ "standard",
2449
+ "vlm"
1901
2450
  ],
2451
+ "options_metadata": [],
2452
+ "override_skip": false,
2453
+ "placeholder": "",
2454
+ "real_time_refresh": true,
2455
+ "required": false,
2456
+ "show": true,
2457
+ "title_case": false,
2458
+ "toggle": false,
2459
+ "tool_mode": false,
2460
+ "trace_as_metadata": true,
2461
+ "track_in_telemetry": true,
2462
+ "type": "str",
2463
+ "value": "standard"
2464
+ },
2465
+ "s3_file_key": {
2466
+ "_input_type": "StrInput",
2467
+ "advanced": false,
2468
+ "display_name": "S3 File Key",
2469
+ "dynamic": false,
2470
+ "info": "The key (path) of the file in S3 bucket.",
1902
2471
  "list": false,
1903
2472
  "list_add_label": "Add More",
1904
2473
  "load_from_db": false,
1905
- "multiline": true,
1906
- "name": "input_value",
2474
+ "name": "s3_file_key",
2475
+ "override_skip": false,
1907
2476
  "placeholder": "",
1908
2477
  "required": true,
1909
- "show": true,
2478
+ "show": false,
1910
2479
  "title_case": false,
1911
- "tool_mode": true,
1912
- "trace_as_input": true,
2480
+ "tool_mode": false,
1913
2481
  "trace_as_metadata": true,
2482
+ "track_in_telemetry": false,
1914
2483
  "type": "str",
1915
2484
  "value": ""
1916
2485
  },
1917
- "model": {
1918
- "_input_type": "ModelInput",
1919
- "advanced": false,
1920
- "display_name": "Language Model",
2486
+ "separator": {
2487
+ "_input_type": "StrInput",
2488
+ "advanced": true,
2489
+ "display_name": "Separator",
1921
2490
  "dynamic": false,
1922
- "external_options": {
1923
- "fields": {
1924
- "data": {
1925
- "node": {
1926
- "display_name": "Connect other models",
1927
- "icon": "CornerDownLeft",
1928
- "name": "connect_other_models"
1929
- }
1930
- }
1931
- }
1932
- },
1933
- "info": "Select your model provider",
1934
- "input_types": [
1935
- "LanguageModel"
1936
- ],
2491
+ "info": "Specify the separator to use between multiple outputs in Message format.",
1937
2492
  "list": false,
1938
2493
  "list_add_label": "Add More",
1939
- "model_type": "language",
1940
- "name": "model",
2494
+ "load_from_db": false,
2495
+ "name": "separator",
1941
2496
  "override_skip": false,
1942
- "placeholder": "Setup Provider",
1943
- "real_time_refresh": true,
1944
- "refresh_button": true,
1945
- "required": true,
2497
+ "placeholder": "",
2498
+ "required": false,
1946
2499
  "show": true,
1947
2500
  "title_case": false,
1948
2501
  "tool_mode": false,
1949
- "trace_as_input": true,
2502
+ "trace_as_metadata": true,
1950
2503
  "track_in_telemetry": false,
1951
- "type": "model",
1952
- "value": ""
2504
+ "type": "str",
2505
+ "value": "\n\n"
1953
2506
  },
1954
- "output_schema": {
1955
- "_input_type": "TableInput",
2507
+ "service_account_key": {
2508
+ "_input_type": "SecretStrInput",
1956
2509
  "advanced": false,
1957
- "display_name": "Output Schema",
2510
+ "display_name": "GCP Credentials Secret Key",
1958
2511
  "dynamic": false,
1959
- "info": "Define the structure and data types for the model's output.",
1960
- "is_list": true,
1961
- "list_add_label": "Add More",
1962
- "name": "output_schema",
2512
+ "info": "Your Google Cloud Platform service account JSON key as a secret string (complete JSON content).",
2513
+ "input_types": [],
2514
+ "load_from_db": true,
2515
+ "name": "service_account_key",
2516
+ "override_skip": false,
2517
+ "password": true,
1963
2518
  "placeholder": "",
1964
2519
  "required": true,
2520
+ "show": false,
2521
+ "title_case": false,
2522
+ "track_in_telemetry": false,
2523
+ "type": "str",
2524
+ "value": ""
2525
+ },
2526
+ "silent_errors": {
2527
+ "_input_type": "BoolInput",
2528
+ "advanced": true,
2529
+ "display_name": "Silent Errors",
2530
+ "dynamic": false,
2531
+ "info": "If true, errors will not raise an exception.",
2532
+ "list": false,
2533
+ "list_add_label": "Add More",
2534
+ "name": "silent_errors",
2535
+ "override_skip": false,
2536
+ "placeholder": "",
2537
+ "required": false,
1965
2538
  "show": true,
1966
- "table_icon": "Table",
1967
- "table_schema": [
1968
- {
1969
- "default": "field",
1970
- "description": "Specify the name of the output field.",
1971
- "display_name": "Name",
1972
- "edit_mode": "inline",
1973
- "formatter": "text",
1974
- "name": "name",
1975
- "type": "str"
1976
- },
1977
- {
1978
- "default": "description of field",
1979
- "description": "Describe the purpose of the output field.",
1980
- "display_name": "Description",
1981
- "edit_mode": "popover",
1982
- "formatter": "text",
1983
- "name": "description",
1984
- "type": "str"
1985
- },
1986
- {
1987
- "default": "str",
1988
- "description": "Indicate the data type of the output field (e.g., str, int, float, bool, dict).",
1989
- "display_name": "Type",
1990
- "edit_mode": "inline",
1991
- "formatter": "text",
1992
- "name": "type",
1993
- "options": [
1994
- "str",
1995
- "int",
1996
- "float",
1997
- "bool",
1998
- "dict"
1999
- ],
2000
- "type": "str"
2001
- },
2002
- {
2003
- "default": "False",
2004
- "description": "Set to True if this output field should be a list of the specified type.",
2005
- "display_name": "As List",
2006
- "edit_mode": "inline",
2007
- "formatter": "text",
2008
- "name": "multiple",
2009
- "type": "boolean"
2010
- }
2011
- ],
2012
2539
  "title_case": false,
2013
2540
  "tool_mode": false,
2014
2541
  "trace_as_metadata": true,
2015
- "trigger_icon": "Table",
2016
- "trigger_text": "Open table",
2017
- "type": "table",
2018
- "value": [
2019
- {
2020
- "description": "Full name of the candidate",
2021
- "multiple": "False",
2022
- "name": "full_name",
2023
- "type": "str"
2024
- },
2025
- {
2026
- "description": "Email ID",
2027
- "multiple": "False",
2028
- "name": "email",
2029
- "type": "str"
2030
- },
2031
- {
2032
- "description": "Contact Number",
2033
- "multiple": "False",
2034
- "name": "phone_number",
2035
- "type": "str"
2036
- },
2037
- {
2038
- "description": "LinkedIn URL",
2039
- "multiple": "False",
2040
- "name": "linkedin",
2041
- "type": "str"
2042
- },
2043
- {
2044
- "description": "GitHub profile URL (if applicable)",
2045
- "multiple": "False",
2046
- "name": "github",
2047
- "type": "str"
2048
- },
2049
- {
2050
- "description": "Personal website or portfolio URL",
2051
- "multiple": "False",
2052
- "name": "portfolio",
2053
- "type": "str"
2054
- },
2055
- {
2056
- "description": "Visa/work authorization details (if applicable)",
2057
- "multiple": "False",
2058
- "name": "visa_status",
2059
- "type": "str"
2060
- },
2061
- {
2062
- "description": "Short professional summary or objective statement",
2063
- "multiple": "False",
2064
- "name": "summary",
2065
- "type": "str"
2066
- },
2067
- {
2068
- "description": "Dictionaries of experience details with following keys:\\n \\\"job_title\\\": Job position/title,\\n\\t\\\"company_name\\\": Employer or organization\\n\\t\\\"location\\\": Job location (remote/in-office)\\n\\t\\\"start_date\\\": Start date (YYYY-MM)\\n\\t\\\"end_date\\\": End date or \\\"Present\\\"\\n\\t\\\"responsibilities\\\": List of responsibilities and tasks\\n\\t\\\"achievements\\\": List of key achievements and contributions",
2069
- "multiple": "True",
2070
- "name": "experience",
2071
- "type": "dict"
2072
- },
2542
+ "track_in_telemetry": true,
2543
+ "type": "bool",
2544
+ "value": false
2545
+ },
2546
+ "storage_location": {
2547
+ "_input_type": "SortableListInput",
2548
+ "advanced": false,
2549
+ "display_name": "Storage Location",
2550
+ "dynamic": false,
2551
+ "info": "Choose where to read the file from.",
2552
+ "limit": 1,
2553
+ "name": "storage_location",
2554
+ "options": [
2073
2555
  {
2074
- "description": "Dictionaries of Education details with following keys:\\n\\\"degree\\\": Degree obtained (e.g., B.Sc., M.Sc., Ph.D.),\\n\\\"field_of_study\\\": Major or specialization,\\n\\\"institution\\\": University/college name,\\n\\\"location\\\": Location of institution,\\n\\\"start_date\\\": Start date (YYYY-MM),\\n\\\"end_date\\\": Graduation/completion date (YYYY-MM),\\n\\\"gpa\\\": GPA/grade (if available),\\n\\\"relevant_courses\\\": List of relevant coursework (if applicable)",
2075
- "multiple": "True",
2076
- "name": "education",
2077
- "type": "dict"
2556
+ "icon": "hard-drive",
2557
+ "name": "Local"
2078
2558
  },
2079
2559
  {
2080
- "description": "Skills mentioned in the resume. Comma separated.",
2081
- "multiple": "True",
2082
- "name": "skills",
2083
- "type": "str"
2560
+ "icon": "Amazon",
2561
+ "name": "AWS"
2084
2562
  },
2085
2563
  {
2086
- "description": "Title and description and details of the project. Including the skills and technologies used.",
2087
- "multiple": "False",
2088
- "name": "projects",
2089
- "type": "str"
2564
+ "icon": "google",
2565
+ "name": "Google Drive"
2090
2566
  }
2091
- ]
2092
- },
2093
- "schema_name": {
2094
- "_input_type": "MessageTextInput",
2095
- "advanced": true,
2096
- "display_name": "Schema Name",
2097
- "dynamic": false,
2098
- "info": "Provide a name for the output data schema.",
2099
- "input_types": [
2100
- "Message"
2101
2567
  ],
2102
- "list": false,
2103
- "list_add_label": "Add More",
2104
- "load_from_db": false,
2105
- "name": "schema_name",
2106
- "placeholder": "",
2568
+ "override_skip": false,
2569
+ "placeholder": "Select Location",
2570
+ "real_time_refresh": true,
2107
2571
  "required": false,
2572
+ "search_category": [],
2108
2573
  "show": true,
2109
2574
  "title_case": false,
2110
2575
  "tool_mode": false,
2111
- "trace_as_input": true,
2112
2576
  "trace_as_metadata": true,
2113
- "type": "str",
2577
+ "track_in_telemetry": false,
2578
+ "type": "sortableList",
2114
2579
  "value": ""
2115
2580
  },
2116
- "system_prompt": {
2117
- "_input_type": "MultilineInput",
2581
+ "use_multithreading": {
2582
+ "_input_type": "BoolInput",
2118
2583
  "advanced": true,
2119
- "copy_field": false,
2120
- "display_name": "Format Instructions",
2584
+ "display_name": "[Deprecated] Use Multithreading",
2121
2585
  "dynamic": false,
2122
- "info": "The instructions to the language model for formatting the output.",
2123
- "input_types": [
2124
- "Message"
2125
- ],
2586
+ "info": "Set 'Processing Concurrency' greater than 1 to enable multithreading.",
2126
2587
  "list": false,
2127
2588
  "list_add_label": "Add More",
2128
- "load_from_db": false,
2129
- "multiline": true,
2130
- "name": "system_prompt",
2589
+ "name": "use_multithreading",
2590
+ "override_skip": false,
2131
2591
  "placeholder": "",
2132
- "required": true,
2592
+ "required": false,
2133
2593
  "show": true,
2134
2594
  "title_case": false,
2135
2595
  "tool_mode": false,
2136
- "trace_as_input": true,
2137
2596
  "trace_as_metadata": true,
2138
- "type": "str",
2139
- "value": "You are an AI that extracts structured JSON objects from unstructured text. Use a predefined schema with expected types (str, int, float, bool, dict). Extract ALL relevant instances that match the schema - if multiple patterns exist, capture them all. Fill missing or ambiguous values with defaults: null for missing values. Remove exact duplicates but keep variations that have different field values. Always return valid JSON in the expected format, never throw errors. If multiple objects can be extracted, return them all in the structured format."
2597
+ "track_in_telemetry": true,
2598
+ "type": "bool",
2599
+ "value": true
2140
2600
  }
2141
2601
  },
2142
2602
  "tool_mode": false
2143
2603
  },
2144
- "selected_output": "dataframe_output",
2145
2604
  "showNode": true,
2146
- "type": "StructuredOutput"
2605
+ "type": "File"
2147
2606
  },
2148
2607
  "dragging": false,
2149
- "id": "StructuredOutput-wsAT3",
2608
+ "id": "File-Ln2gO",
2150
2609
  "measured": {
2151
- "height": 349,
2610
+ "height": 341,
2152
2611
  "width": 320
2153
2612
  },
2154
2613
  "position": {
2155
- "x": 1308.5338025647359,
2156
- "y": 651.6998573907567
2614
+ "x": 939.716428493645,
2615
+ "y": 648.3992877545212
2157
2616
  },
2158
- "selected": false,
2617
+ "selected": true,
2159
2618
  "type": "genericNode"
2160
2619
  }
2161
2620
  ],
2162
2621
  "viewport": {
2163
- "x": -89.9205649953526,
2164
- "y": 43.735261805036544,
2165
- "zoom": 0.5746419520979581
2622
+ "x": -109.59928978699065,
2623
+ "y": 92.33264934787798,
2624
+ "zoom": 0.42585711094575973
2166
2625
  }
2167
2626
  },
2168
2627
  "description": "This template transforms PDF or TXT resume documents into structured JSON, generating a portfolio website HTML code from the structured data.",
2169
2628
  "endpoint_name": null,
2170
- "id": "34740f33-b354-440e-a984-fc51079578e7",
2629
+ "id": "89c8132e-a746-460b-b091-24b7b9279147",
2171
2630
  "is_component": false,
2172
- "last_tested_version": "1.6.0",
2631
+ "last_tested_version": "1.7.0",
2173
2632
  "name": "Portfolio Website Code Generator",
2174
2633
  "tags": [
2175
2634
  "chatbots",