langflow-base-nightly 0.5.1.dev2__py3-none-any.whl → 0.5.1.dev4__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 (935) hide show
  1. langflow/__init__.py +215 -0
  2. langflow/__main__.py +16 -2
  3. langflow/alembic/versions/006b3990db50_add_unique_constraints.py +4 -7
  4. langflow/alembic/versions/012fb73ac359_add_folder_table.py +4 -5
  5. langflow/alembic/versions/0ae3a2674f32_update_the_columns_that_need_to_change_.py +11 -20
  6. langflow/alembic/versions/0b8757876a7c_.py +4 -7
  7. langflow/alembic/versions/0d60fcbd4e8e_create_vertex_builds_table.py +4 -6
  8. langflow/alembic/versions/1a110b568907_replace_credential_table_with_variable.py +4 -5
  9. langflow/alembic/versions/1b8b740a6fa3_remove_fk_constraint_in_message_.py +32 -27
  10. langflow/alembic/versions/1c79524817ed_add_unique_constraints_per_user_in_.py +4 -5
  11. langflow/alembic/versions/1d90f8a0efe1_update_description_columns_type.py +4 -5
  12. langflow/alembic/versions/1eab2c3eb45e_event_error.py +14 -15
  13. langflow/alembic/versions/1ef9c4f3765d_.py +5 -10
  14. langflow/alembic/versions/1f4d6df60295_add_default_fields_column.py +4 -5
  15. langflow/alembic/versions/260dbcc8b680_adds_tables.py +4 -5
  16. langflow/alembic/versions/29fe8f1f806b_add_missing_index.py +4 -5
  17. langflow/alembic/versions/2ac71eb9c3ae_adds_credential_table.py +4 -7
  18. langflow/alembic/versions/3bb0ddf32dfb_add_unique_constraints_per_user_in_flow_.py +4 -5
  19. langflow/alembic/versions/4e5980a44eaa_fix_date_times_again.py +1 -2
  20. langflow/alembic/versions/58b28437a398_modify_nullable.py +1 -2
  21. langflow/alembic/versions/5ace73a7f223_new_remove_table_upgrade_op.py +6 -12
  22. langflow/alembic/versions/631faacf5da2_add_webhook_columns.py +4 -5
  23. langflow/alembic/versions/63b9c451fd30_add_icon_and_icon_bg_color_to_flow.py +4 -5
  24. langflow/alembic/versions/66f72f04a1de_add_mcp_support_with_project_settings_.py +21 -23
  25. langflow/alembic/versions/67cc006d50bf_add_profile_image_column.py +4 -5
  26. langflow/alembic/versions/6e7b581b5648_fix_nullable.py +4 -5
  27. langflow/alembic/versions/7843803a87b5_store_updates.py +4 -6
  28. langflow/alembic/versions/79e675cb6752_change_datetime_type.py +1 -2
  29. langflow/alembic/versions/7d2162acc8b2_adds_updated_at_and_folder_cols.py +4 -10
  30. langflow/alembic/versions/90be8e2ed91e_create_transactions_table.py +4 -6
  31. langflow/alembic/versions/93e2705fa8d6_add_column_save_path_to_flow.py +7 -9
  32. langflow/alembic/versions/a72f5cf9c2f9_add_endpoint_name_col.py +4 -5
  33. langflow/alembic/versions/b2fa308044b5_add_unique_constraints.py +1 -2
  34. langflow/alembic/versions/bc2f01c40e4a_new_fixes.py +4 -5
  35. langflow/alembic/versions/c153816fd85f_set_name_and_value_to_not_nullable.py +4 -5
  36. langflow/alembic/versions/d066bfd22890_add_message_table.py +4 -4
  37. langflow/alembic/versions/d2d475a1f7c0_add_tags_column_to_flow.py +12 -13
  38. langflow/alembic/versions/d3dbf656a499_add_gradient_column_in_flow.py +12 -12
  39. langflow/alembic/versions/d9a6ea21edcd_rename_default_folder.py +7 -10
  40. langflow/alembic/versions/dd9e0804ebd1_add_v2_file_table.py +8 -7
  41. langflow/alembic/versions/e3162c1804e6_add_persistent_locked_state.py +10 -10
  42. langflow/alembic/versions/e3bc869fa272_fix_nullable.py +4 -5
  43. langflow/alembic/versions/e56d87f8994a_add_optins_column_to_user.py +13 -14
  44. langflow/alembic/versions/e5a65ecff2cd_nullable_in_vertex_build.py +4 -5
  45. langflow/alembic/versions/eb5866d51fd2_change_columns_to_be_nullable.py +4 -5
  46. langflow/alembic/versions/eb5e72293a8e_add_error_and_edit_flags_to_message.py +4 -5
  47. langflow/alembic/versions/f3b2d1f1002d_add_column_access_type_to_flow.py +19 -15
  48. langflow/alembic/versions/f5ee9749d1a6_user_id_can_be_null_in_flow.py +4 -6
  49. langflow/alembic/versions/fd531f8868b1_fix_credential_table.py +5 -8
  50. langflow/api/build.py +5 -4
  51. langflow/api/health_check_router.py +1 -1
  52. langflow/api/limited_background_tasks.py +1 -1
  53. langflow/api/log_router.py +1 -2
  54. langflow/api/utils.py +2 -2
  55. langflow/api/v1/base.py +1 -2
  56. langflow/api/v1/callback.py +4 -9
  57. langflow/api/v1/chat.py +6 -7
  58. langflow/api/v1/endpoints.py +15 -15
  59. langflow/api/v1/files.py +1 -1
  60. langflow/api/v1/flows.py +1 -1
  61. langflow/api/v1/knowledge_bases.py +1 -1
  62. langflow/api/v1/mcp.py +1 -1
  63. langflow/api/v1/mcp_projects.py +14 -5
  64. langflow/api/v1/mcp_utils.py +3 -3
  65. langflow/api/v1/openai_responses.py +4 -4
  66. langflow/api/v1/schemas.py +3 -38
  67. langflow/api/v1/starter_projects.py +61 -3
  68. langflow/api/v1/store.py +1 -1
  69. langflow/api/v1/validate.py +3 -3
  70. langflow/api/v1/voice_mode.py +2 -2
  71. langflow/api/v2/files.py +1 -1
  72. langflow/api/v2/mcp.py +2 -2
  73. langflow/base/__init__.py +11 -0
  74. langflow/base/agents/__init__.py +3 -0
  75. langflow/base/data/__init__.py +2 -4
  76. langflow/base/data/utils.py +2 -197
  77. langflow/base/embeddings/__init__.py +3 -0
  78. langflow/base/io/__init__.py +7 -0
  79. langflow/base/io/chat.py +5 -18
  80. langflow/base/io/text.py +2 -21
  81. langflow/base/knowledge_bases/__init__.py +3 -0
  82. langflow/base/memory/__init__.py +3 -0
  83. langflow/base/models/__init__.py +2 -2
  84. langflow/base/models/openai_constants.py +6 -120
  85. langflow/base/prompts/__init__.py +3 -0
  86. langflow/base/prompts/api_utils.py +2 -223
  87. langflow/base/textsplitters/__init__.py +3 -0
  88. langflow/base/tools/__init__.py +3 -0
  89. langflow/base/vectorstores/__init__.py +3 -0
  90. langflow/components/__init__.py +7 -259
  91. langflow/components/agents.py +6 -0
  92. langflow/components/anthropic.py +6 -0
  93. langflow/components/data.py +6 -0
  94. langflow/components/helpers.py +6 -0
  95. langflow/components/knowledge_bases/ingestion.py +13 -14
  96. langflow/components/knowledge_bases/retrieval.py +8 -7
  97. langflow/components/openai.py +6 -0
  98. langflow/components/processing/__init__.py +1 -117
  99. langflow/components/processing/converter.py +3 -149
  100. langflow/custom/__init__.py +26 -3
  101. langflow/custom/custom_component/__init__.py +4 -0
  102. langflow/custom/custom_component/component.py +20 -1738
  103. langflow/custom/custom_component/component_with_cache.py +1 -8
  104. langflow/custom/custom_component/custom_component.py +1 -552
  105. langflow/custom/utils.py +1 -872
  106. langflow/custom/validate.py +1 -0
  107. langflow/events/event_manager.py +18 -108
  108. langflow/field_typing/__init__.py +6 -6
  109. langflow/field_typing/constants.py +87 -122
  110. langflow/field_typing/range_spec.py +2 -32
  111. langflow/frontend/assets/{SlackIcon-Cc7Qnzki.js → SlackIcon-v88osOTA.js} +1 -1
  112. langflow/frontend/assets/{Wikipedia-7ulMZY46.js → Wikipedia-DD_S2k00.js} +1 -1
  113. langflow/frontend/assets/{Wolfram-By9PGsHS.js → Wolfram-EO2C5noN.js} +1 -1
  114. langflow/frontend/assets/{index-DVLIDc2_.js → index-1Gv1mfvk.js} +1 -1
  115. langflow/frontend/assets/{index-MVW4HTEk.js → index-7v-bzlzf.js} +1 -1
  116. langflow/frontend/assets/{index-CUzlcce2.js → index-9CbMazbV.js} +1 -1
  117. langflow/frontend/assets/{index-CU16NJD7.js → index-B8ZHP8g2.js} +1 -1
  118. langflow/frontend/assets/{index-v8eXbWlM.js → index-B8y2e6vN.js} +1 -1
  119. langflow/frontend/assets/{index-BX_asvRB.js → index-BBRUGsyr.js} +1 -1
  120. langflow/frontend/assets/{index-9FL5xjkL.js → index-BGwqQwlh.js} +1 -1
  121. langflow/frontend/assets/{index-BAn-AzCS.js → index-BIq-k-FG.js} +1 -1
  122. langflow/frontend/assets/{index-D5c2nNvp.js → index-BSN73YP8.js} +1 -1
  123. langflow/frontend/assets/{index-DMCerPJM.js → index-BU8R8jRn.js} +1 -1
  124. langflow/frontend/assets/{index-CvSoff-8.js → index-BV6yx8ey.js} +1 -1
  125. langflow/frontend/assets/{index-BISPW-f6.js → index-BYIsg-Eh.js} +1 -1
  126. langflow/frontend/assets/{index-GzOGB_fo.js → index-B_ksDBSQ.js} +1 -1
  127. langflow/frontend/assets/{index-BIqEYjNT.js → index-Ba1UOZ9A.js} +1 -1
  128. langflow/frontend/assets/{index-ByxGmq5p.js → index-Ba9tKRQg.js} +1 -1
  129. langflow/frontend/assets/{index-BLEWsL1U.js → index-Bbfaw8ca.js} +1 -1
  130. langflow/frontend/assets/{index-C_MhBX6R.js → index-BbuGqvAx.js} +1 -1
  131. langflow/frontend/assets/{index-RH_I78z_.js → index-BeoXu1YX.js} +1 -1
  132. langflow/frontend/assets/{index-cYFKmtmg.js → index-BfjZmOnH.js} +1 -1
  133. langflow/frontend/assets/{index-Bm9i8F4W.js → index-Bjzy_HZB.js} +1 -1
  134. langflow/frontend/assets/{index-_szO7sta.js → index-BofEkpYB.js} +1 -1
  135. langflow/frontend/assets/{index-DP1oE6QB.js → index-Bp7Mty2H.js} +1 -1
  136. langflow/frontend/assets/{index-CeswGUz3.js → index-BqX1H6yK.js} +1 -1
  137. langflow/frontend/assets/{index-C8pI0lzi.js → index-BqtBAJAN.js} +1 -1
  138. langflow/frontend/assets/{index-BusCv3bR.js → index-Bsfraj7A.js} +1 -1
  139. langflow/frontend/assets/{index-BWnKMRFJ.js → index-BtFl7fER.js} +1 -1
  140. langflow/frontend/assets/{index-DnlVWWU8.js → index-BvX993Sv.js} +1 -1
  141. langflow/frontend/assets/{index-C676MS3I.js → index-BvgQ2vzM.js} +1 -1
  142. langflow/frontend/assets/{index-DJ6HD14g.js → index-BwY98u8n.js} +1 -1
  143. langflow/frontend/assets/{index-C51yNvIL.js → index-C-RIJAOS.js} +1 -1
  144. langflow/frontend/assets/{index-DiblXWmk.js → index-C1K6A38P.js} +1 -1
  145. langflow/frontend/assets/{index-Co__gFM1.js → index-C3Vwhx0t.js} +1 -1
  146. langflow/frontend/assets/{index-Coi86oqP.js → index-C5XUG_gr.js} +1 -1
  147. langflow/frontend/assets/{index-jwzN3Jd_.js → index-C6ouLG9o.js} +1 -1
  148. langflow/frontend/assets/{index-CQQ-4XMS.js → index-C7ZJ_Z6f.js} +1 -1
  149. langflow/frontend/assets/{index-Bl7RpmrB.js → index-CCOGIwGY.js} +1 -1
  150. langflow/frontend/assets/{index-CVkIdc6y.js → index-CCcye2rt.js} +1 -1
  151. langflow/frontend/assets/{index-bMhyLtgS.js → index-CFR4yJQB.js} +1 -1
  152. langflow/frontend/assets/{index-aAgSKWb3.js → index-CIGmPP0H.js} +1 -1
  153. langflow/frontend/assets/{index-BGt6jQ4x.js → index-CJmMEa6d.js} +1 -1
  154. langflow/frontend/assets/{index-DX7JcSMz.js → index-CJxD7lyU.js} +1 -1
  155. langflow/frontend/assets/{index-BZ-A4K98.js → index-CL_vu6ut.js} +1 -1
  156. langflow/frontend/assets/{index-BMpKFGhI.js → index-COf3UnBn.js} +1 -1
  157. langflow/frontend/assets/{index-xN8ogFdo.js → index-CV9650h_.js} +1 -1
  158. langflow/frontend/assets/{index-OsUvqIUr.js → index-CVDzych0.js} +1 -1
  159. langflow/frontend/assets/{index-BH7AyHxp.js → index-CWIHsC4D.js} +1 -1
  160. langflow/frontend/assets/{index-mjwtJmkP.js → index-CXCnFZ0L.js} +1 -1
  161. langflow/frontend/assets/{index-3jlSQi5Y.js → index-Ca_Pw_Dn.js} +1 -1
  162. langflow/frontend/assets/{index-D-SnFlhU.js → index-Cbb3bX9e.js} +1 -1
  163. langflow/frontend/assets/{index--e0oQqZh.js → index-CcJtOz-Z.js} +1 -1
  164. langflow/frontend/assets/{index-S-sc0Cm9.js → index-CfTbTHEv.js} +1 -1
  165. langflow/frontend/assets/{index-Deu8rlaZ.js → index-ChoxDAgX.js} +1 -1
  166. langflow/frontend/assets/{index-lnF9Eqr2.js → index-Cn4gw8aE.js} +1 -1
  167. langflow/frontend/assets/{index-C_NwzK6j.js → index-CnpLg4zX.js} +1 -1
  168. langflow/frontend/assets/{index-DznH7Jbq.js → index-Cpao2omG.js} +1 -1
  169. langflow/frontend/assets/{index-DpWrk8mA.js → index-CqoxM01j.js} +1 -1
  170. langflow/frontend/assets/{index-Bw-TIIC6.js → index-CrHf2Ic1.js} +1 -1
  171. langflow/frontend/assets/{index-DmYLDQag.js → index-CrV0uIjp.js} +1 -1
  172. langflow/frontend/assets/{index-Dp7ZQyL3.js → index-CssADaak.js} +1 -1
  173. langflow/frontend/assets/{index-CNh0rwur.js → index-CtJdNLy9.js} +1 -1
  174. langflow/frontend/assets/{index-Ca1b7Iag.js → index-CyeWD2dh.js} +1 -1
  175. langflow/frontend/assets/{index-DcApTyZ7.js → index-D1xzD7uc.js} +1 -1
  176. langflow/frontend/assets/{index-B3GvPjhD.js → index-D6MuXC4L.js} +1 -1
  177. langflow/frontend/assets/{index-Cw0UComa.js → index-D8w9zvIF.js} +1 -1
  178. langflow/frontend/assets/{index-C-2MRYoJ.js → index-D98Gn0A6.js} +1 -1
  179. langflow/frontend/assets/{index-aWnZIwHd.js → index-DBhjpWkf.js} +1 -1
  180. langflow/frontend/assets/{index-nw3WF9lY.js → index-DCCRJzcY.js} +1 -1
  181. langflow/frontend/assets/{index-RjeC0kaX.js → index-DCTRSkEW.js} +1 -1
  182. langflow/frontend/assets/{index-B_kBTgxV.js → index-DCUfitVj.js} +1 -1
  183. langflow/frontend/assets/{index-ChsGhZn3.js → index-DDdz-Xcl.js} +1 -1
  184. langflow/frontend/assets/{index-7yAHPRxv.js → index-DGdMwZjG.js} +1 -1
  185. langflow/frontend/assets/{index-DjQElpEg.js → index-DGtl2vMw.js} +1 -1
  186. langflow/frontend/assets/{index-BCXhKCOK.js → index-DHVdkrni.js} +1 -1
  187. langflow/frontend/assets/{index-S8uJXTOq.js → index-DJBWwjgl.js} +1 -1
  188. langflow/frontend/assets/{index-qiVTWUuf.js → index-DMAkJ_qX.js} +1 -1
  189. langflow/frontend/assets/{index-D-WStJI6.js → index-DMEvEQI5.js} +1 -1
  190. langflow/frontend/assets/{index-BhqVw9WQ.js → index-DNGRoOsp.js} +1 -1
  191. langflow/frontend/assets/{index-Cu7vC48Y.js → index-DNT_TUTa.js} +1 -1
  192. langflow/frontend/assets/{index-Bhcv5M0n.js → index-DQKOH_9K.js} +1 -1
  193. langflow/frontend/assets/{index-CLcaktde.js → index-DQhqqtqQ.js} +1 -1
  194. langflow/frontend/assets/{index-DZVgPCio.js → index-DRM7KKnG.js} +1 -1
  195. langflow/frontend/assets/{index-uybez8MR.js → index-DSCtl3a5.js} +1 -1
  196. langflow/frontend/assets/{index-CJ5A6STv.js → index-DSLNlm0Z.js} +1 -1
  197. langflow/frontend/assets/{index-Drg8me2a.js → index-DT-PspE-.js} +1 -1
  198. langflow/frontend/assets/{index-DsEZjOcp.js → index-DTpbH-p8.js} +1 -1
  199. langflow/frontend/assets/{index-DrXXKzpD.js → index-DWV6MsIq.js} +1 -1
  200. langflow/frontend/assets/{index-4JIEdyIM.js → index-DWeL4US_.js} +1 -1
  201. langflow/frontend/assets/{index-BlDsBQ_1.js → index-DYKZHhpU.js} +1 -1
  202. langflow/frontend/assets/{index-DFY8YFbC.js → index-DZyQHiMR.js} +1 -1
  203. langflow/frontend/assets/{index-CKPZpkQk.js → index-Dc6qVuSa.js} +1 -1
  204. langflow/frontend/assets/{index-yyAaYjLR.js → index-DkYuicnC.js} +1 -1
  205. langflow/frontend/assets/{index-DmVt5Jlx.js → index-Dlj_2mMs.js} +1 -1
  206. langflow/frontend/assets/{index-BvRIG6P5.js → index-DmGJUrEp.js} +1 -1
  207. langflow/frontend/assets/{index-BWFIrwW1.js → index-Dn6hpCAZ.js} +1 -1
  208. langflow/frontend/assets/{index-Cb5G9Ifd.js → index-DrJU8Fgb.js} +1 -1
  209. langflow/frontend/assets/{index-COoTCxvs.js → index-DsWfdCzp.js} +1 -1
  210. langflow/frontend/assets/{index-ZjeocHyu.js → index-DvCPWs2_.js} +1 -1
  211. langflow/frontend/assets/{index-B5LHnuQR.js → index-DvPVq7OP.js} +1 -1
  212. langflow/frontend/assets/{index-BnCnYnao.js → index-Dw71ufW4.js} +1 -1
  213. langflow/frontend/assets/{index-AALDfCyt.js → index-DxkJactf.js} +1 -1
  214. langflow/frontend/assets/{index-k9jP5chN.js → index-Dz2GTphU.js} +1 -1
  215. langflow/frontend/assets/{index-BdjfHsrf.js → index-Fvd524_c.js} +1 -1
  216. langflow/frontend/assets/{index-AKVkmT4S.js → index-GAQ0Mk2M.js} +1 -1
  217. langflow/frontend/assets/{index-BZSa2qz7.js → index-Hm5-4ItD.js} +1 -1
  218. langflow/frontend/assets/{index-DbfS_UH-.js → index-IT67FzsK.js} +1 -1
  219. langflow/frontend/assets/{index-BLXN681C.js → index-ItYiij1i.js} +1 -1
  220. langflow/frontend/assets/{index-CiklyQU3.js → index-IuR_FEdB.js} +1 -1
  221. langflow/frontend/assets/{index-xV6ystWy.js → index-Jj60FQkv.js} +1 -1
  222. langflow/frontend/assets/{index-C_157Mb-.js → index-LlvshmVz.js} +1 -1
  223. langflow/frontend/assets/{index-CDphUsa3.js → index-LwKh3I_W.js} +1 -1
  224. langflow/frontend/assets/{index-BrDz-PxE.js → index-N-xxmKKH.js} +1 -1
  225. langflow/frontend/assets/{index-BsdLyYMY.js → index-RwpaHIAH.js} +1 -1
  226. langflow/frontend/assets/{index-Cu2Xr6_j.js → index-TVvsp-xh.js} +1 -1
  227. langflow/frontend/assets/{index-CPiM2oyj.js → index-TdE2u9zP.js} +1 -1
  228. langflow/frontend/assets/{index-DOj_QWqG.js → index-_x-NkYeW.js} +1 -1
  229. langflow/frontend/assets/{index-YJsAl7vm.js → index-a-YclEbW.js} +1 -1
  230. langflow/frontend/assets/{index-5-CSw2-z.js → index-e9MFKUCo.js} +1 -1
  231. langflow/frontend/assets/{index-BSwBVwyF.js → index-krPr8f2F.js} +1 -1
  232. langflow/frontend/assets/{index-Df6psZEj.js → index-kveiUWuL.js} +1 -1
  233. langflow/frontend/assets/{index-CF4_Og1m.js → index-lE3oSjJi.js} +1 -1
  234. langflow/frontend/assets/{index-C6nzdeYx.js → index-lM3UYg7F.js} +1 -1
  235. langflow/frontend/assets/{index-C-wnbBBY.js → index-nsRk3qgA.js} +1 -1
  236. langflow/frontend/assets/{index-D234yKNJ.js → index-pBO0SZLD.js} +4 -4
  237. langflow/frontend/assets/{index-BMvp94tO.js → index-pbZHsbuE.js} +1 -1
  238. langflow/frontend/assets/{index-hg2y9OAt.js → index-sfX3aWyp.js} +1 -1
  239. langflow/frontend/assets/{index-DTCrijba.js → index-xQz-VJ0-.js} +1 -1
  240. langflow/frontend/assets/{index-SB4rw8D5.js → index-yfcsaHS6.js} +1 -1
  241. langflow/frontend/assets/{index-C-bjC2sz.js → index-zcGjo9fx.js} +1 -1
  242. langflow/frontend/assets/lazyIconImports-BjqDmNYG.js +2 -0
  243. langflow/frontend/assets/{use-post-add-user-JUeLDErC.js → use-post-add-user-w3vpKSOB.js} +1 -1
  244. langflow/frontend/index.html +1 -1
  245. langflow/graph/__init__.py +4 -4
  246. langflow/helpers/data.py +2 -2
  247. langflow/helpers/flow.py +9 -7
  248. langflow/helpers/user.py +2 -2
  249. langflow/initial_setup/setup.py +9 -9
  250. langflow/initial_setup/starter_projects/Basic Prompt Chaining.json +119 -41
  251. langflow/initial_setup/starter_projects/Basic Prompting.json +45 -19
  252. langflow/initial_setup/starter_projects/Blog Writer.json +53 -21
  253. langflow/initial_setup/starter_projects/Custom Component Generator.json +121 -97
  254. langflow/initial_setup/starter_projects/Document Q&A.json +46 -18
  255. langflow/initial_setup/starter_projects/Financial Report Parser.json +49 -17
  256. langflow/initial_setup/starter_projects/Hybrid Search RAG.json +89 -50
  257. langflow/initial_setup/starter_projects/Image Sentiment Analysis.json +86 -22
  258. langflow/initial_setup/starter_projects/Instagram Copywriter.json +210 -57
  259. langflow/initial_setup/starter_projects/Invoice Summarizer.json +132 -35
  260. langflow/initial_setup/starter_projects/Knowledge Ingestion.json +8 -8
  261. langflow/initial_setup/starter_projects/Knowledge Retrieval.json +8 -8
  262. langflow/initial_setup/starter_projects/Market Research.json +174 -48
  263. langflow/initial_setup/starter_projects/Meeting Summary.json +102 -38
  264. langflow/initial_setup/starter_projects/Memory Chatbot.json +49 -21
  265. langflow/initial_setup/starter_projects/News Aggregator.json +140 -39
  266. langflow/initial_setup/starter_projects/Nvidia Remix.json +153 -181
  267. langflow/initial_setup/starter_projects/Pok/303/251dex Agent.json" +132 -35
  268. langflow/initial_setup/starter_projects/Portfolio Website Code Generator.json +106 -43
  269. langflow/initial_setup/starter_projects/Price Deal Finder.json +136 -39
  270. langflow/initial_setup/starter_projects/Research Agent.json +206 -53
  271. langflow/initial_setup/starter_projects/Research Translation Loop.json +66 -34
  272. langflow/initial_setup/starter_projects/SEO Keyword Generator.json +41 -15
  273. langflow/initial_setup/starter_projects/SaaS Pricing.json +128 -31
  274. langflow/initial_setup/starter_projects/Search agent.json +132 -35
  275. langflow/initial_setup/starter_projects/Sequential Tasks Agents.json +422 -98
  276. langflow/initial_setup/starter_projects/Simple Agent.json +150 -42
  277. langflow/initial_setup/starter_projects/Social Media Agent.json +150 -42
  278. langflow/initial_setup/starter_projects/Text Sentiment Analysis.json +120 -24
  279. langflow/initial_setup/starter_projects/Travel Planning Agents.json +418 -94
  280. langflow/initial_setup/starter_projects/Twitter Thread Generator.json +69 -37
  281. langflow/initial_setup/starter_projects/Vector Store RAG.json +66 -38
  282. langflow/initial_setup/starter_projects/Youtube Analysis.json +191 -51
  283. langflow/initial_setup/starter_projects/basic_prompting.py +4 -4
  284. langflow/initial_setup/starter_projects/blog_writer.py +5 -5
  285. langflow/initial_setup/starter_projects/complex_agent.py +8 -8
  286. langflow/initial_setup/starter_projects/document_qa.py +5 -5
  287. langflow/initial_setup/starter_projects/hierarchical_tasks_agent.py +8 -8
  288. langflow/initial_setup/starter_projects/memory_chatbot.py +6 -6
  289. langflow/initial_setup/starter_projects/sequential_tasks_agent.py +7 -7
  290. langflow/initial_setup/starter_projects/vector_store_rag.py +8 -8
  291. langflow/inputs/__init__.py +3 -2
  292. langflow/inputs/constants.py +3 -2
  293. langflow/inputs/input_mixin.py +49 -310
  294. langflow/inputs/inputs.py +72 -703
  295. langflow/inputs/validators.py +2 -18
  296. langflow/interface/__init__.py +4 -0
  297. langflow/interface/components.py +3 -491
  298. langflow/interface/initialize/loading.py +7 -6
  299. langflow/interface/listing.py +3 -25
  300. langflow/interface/run.py +1 -1
  301. langflow/interface/utils.py +3 -111
  302. langflow/io/__init__.py +2 -2
  303. langflow/io/schema.py +11 -302
  304. langflow/load/__init__.py +4 -2
  305. langflow/load/utils.py +2 -96
  306. langflow/logging/__init__.py +2 -1
  307. langflow/logging/setup.py +1 -1
  308. langflow/main.py +8 -5
  309. langflow/memory.py +12 -6
  310. langflow/middleware.py +1 -1
  311. langflow/processing/process.py +7 -7
  312. langflow/schema/__init__.py +22 -5
  313. langflow/schema/artifact.py +1 -1
  314. langflow/schema/data.py +5 -303
  315. langflow/schema/dataframe.py +2 -205
  316. langflow/schema/graph.py +4 -45
  317. langflow/schema/image.py +2 -67
  318. langflow/schema/message.py +6 -470
  319. langflow/schema/playground_events.py +5 -6
  320. langflow/schema/schema.py +24 -117
  321. langflow/serialization/constants.py +3 -2
  322. langflow/serialization/serialization.py +1 -1
  323. langflow/server.py +1 -2
  324. langflow/services/__init__.py +1 -2
  325. langflow/services/auth/mcp_encryption.py +1 -1
  326. langflow/services/auth/service.py +1 -1
  327. langflow/services/auth/utils.py +5 -5
  328. langflow/services/cache/disk.py +2 -2
  329. langflow/services/cache/factory.py +2 -2
  330. langflow/services/cache/service.py +2 -2
  331. langflow/services/cache/utils.py +0 -11
  332. langflow/services/database/factory.py +1 -1
  333. langflow/services/database/models/flow/model.py +1 -1
  334. langflow/services/database/models/message/crud.py +2 -1
  335. langflow/services/database/models/transactions/crud.py +1 -1
  336. langflow/services/database/models/user/crud.py +1 -1
  337. langflow/services/database/service.py +2 -2
  338. langflow/services/database/utils.py +1 -2
  339. langflow/services/deps.py +12 -17
  340. langflow/services/enhanced_manager.py +71 -0
  341. langflow/services/factory.py +14 -7
  342. langflow/services/flow/flow_runner.py +4 -4
  343. langflow/services/job_queue/service.py +2 -1
  344. langflow/services/manager.py +14 -130
  345. langflow/services/schema.py +0 -1
  346. langflow/services/session/service.py +3 -2
  347. langflow/services/settings/__init__.py +0 -3
  348. langflow/services/settings/base.py +16 -549
  349. langflow/services/settings/factory.py +2 -21
  350. langflow/services/settings/feature_flags.py +2 -11
  351. langflow/services/settings/service.py +2 -31
  352. langflow/services/shared_component_cache/factory.py +1 -1
  353. langflow/services/socket/service.py +1 -1
  354. langflow/services/socket/utils.py +1 -8
  355. langflow/services/state/factory.py +1 -1
  356. langflow/services/state/service.py +3 -2
  357. langflow/services/storage/factory.py +2 -2
  358. langflow/services/storage/local.py +1 -2
  359. langflow/services/storage/s3.py +1 -2
  360. langflow/services/storage/service.py +2 -1
  361. langflow/services/store/factory.py +1 -1
  362. langflow/services/store/service.py +2 -2
  363. langflow/services/store/utils.py +1 -2
  364. langflow/services/task/service.py +2 -1
  365. langflow/services/task/temp_flow_cleanup.py +1 -1
  366. langflow/services/telemetry/factory.py +1 -1
  367. langflow/services/telemetry/service.py +2 -3
  368. langflow/services/tracing/arize_phoenix.py +3 -3
  369. langflow/services/tracing/base.py +1 -1
  370. langflow/services/tracing/factory.py +1 -1
  371. langflow/services/tracing/langfuse.py +2 -2
  372. langflow/services/tracing/langsmith.py +2 -2
  373. langflow/services/tracing/langwatch.py +4 -4
  374. langflow/services/tracing/opik.py +2 -2
  375. langflow/services/tracing/service.py +17 -11
  376. langflow/services/tracing/traceloop.py +2 -2
  377. langflow/services/tracing/utils.py +1 -1
  378. langflow/services/utils.py +54 -9
  379. langflow/services/variable/factory.py +1 -1
  380. langflow/services/variable/kubernetes.py +2 -3
  381. langflow/services/variable/kubernetes_secrets.py +1 -2
  382. langflow/services/variable/service.py +2 -3
  383. langflow/template/__init__.py +2 -9
  384. langflow/template/field/__init__.py +3 -0
  385. langflow/template/field/base.py +2 -256
  386. langflow/template/frontend_node.py +3 -0
  387. langflow/template/utils.py +2 -216
  388. langflow/utils/constants.py +28 -204
  389. langflow/utils/lazy_load.py +3 -14
  390. langflow/utils/schemas.py +2 -3
  391. langflow/utils/template_validation.py +2 -2
  392. langflow/utils/util.py +59 -479
  393. langflow/utils/validate.py +2 -488
  394. langflow/utils/voice_utils.py +1 -2
  395. langflow/worker.py +1 -1
  396. {langflow_base_nightly-0.5.1.dev2.dist-info → langflow_base_nightly-0.5.1.dev4.dist-info}/METADATA +2 -1
  397. langflow_base_nightly-0.5.1.dev4.dist-info/RECORD +633 -0
  398. langflow/base/agents/agent.py +0 -267
  399. langflow/base/agents/callback.py +0 -130
  400. langflow/base/agents/context.py +0 -109
  401. langflow/base/agents/crewai/__init__.py +0 -0
  402. langflow/base/agents/crewai/crew.py +0 -231
  403. langflow/base/agents/crewai/tasks.py +0 -12
  404. langflow/base/agents/default_prompts.py +0 -23
  405. langflow/base/agents/errors.py +0 -15
  406. langflow/base/agents/events.py +0 -346
  407. langflow/base/agents/utils.py +0 -205
  408. langflow/base/astra_assistants/__init__.py +0 -0
  409. langflow/base/astra_assistants/util.py +0 -171
  410. langflow/base/chains/__init__.py +0 -0
  411. langflow/base/chains/model.py +0 -19
  412. langflow/base/composio/__init__.py +0 -0
  413. langflow/base/composio/composio_base.py +0 -1297
  414. langflow/base/compressors/__init__.py +0 -0
  415. langflow/base/compressors/model.py +0 -60
  416. langflow/base/constants.py +0 -46
  417. langflow/base/curl/__init__.py +0 -0
  418. langflow/base/curl/parse.py +0 -188
  419. langflow/base/data/base_file.py +0 -685
  420. langflow/base/data/docling_utils.py +0 -245
  421. langflow/base/document_transformers/__init__.py +0 -0
  422. langflow/base/document_transformers/model.py +0 -43
  423. langflow/base/embeddings/aiml_embeddings.py +0 -62
  424. langflow/base/embeddings/model.py +0 -26
  425. langflow/base/flow_processing/__init__.py +0 -0
  426. langflow/base/flow_processing/utils.py +0 -86
  427. langflow/base/huggingface/__init__.py +0 -0
  428. langflow/base/huggingface/model_bridge.py +0 -133
  429. langflow/base/langchain_utilities/__init__.py +0 -0
  430. langflow/base/langchain_utilities/model.py +0 -35
  431. langflow/base/langchain_utilities/spider_constants.py +0 -1
  432. langflow/base/langwatch/__init__.py +0 -0
  433. langflow/base/langwatch/utils.py +0 -18
  434. langflow/base/mcp/__init__.py +0 -0
  435. langflow/base/mcp/constants.py +0 -2
  436. langflow/base/mcp/util.py +0 -1524
  437. langflow/base/memory/memory.py +0 -49
  438. langflow/base/memory/model.py +0 -38
  439. langflow/base/models/aiml_constants.py +0 -51
  440. langflow/base/models/anthropic_constants.py +0 -47
  441. langflow/base/models/aws_constants.py +0 -151
  442. langflow/base/models/chat_result.py +0 -76
  443. langflow/base/models/google_generative_ai_constants.py +0 -70
  444. langflow/base/models/groq_constants.py +0 -134
  445. langflow/base/models/model.py +0 -375
  446. langflow/base/models/model_input_constants.py +0 -299
  447. langflow/base/models/model_metadata.py +0 -41
  448. langflow/base/models/model_utils.py +0 -8
  449. langflow/base/models/novita_constants.py +0 -35
  450. langflow/base/models/ollama_constants.py +0 -49
  451. langflow/base/models/sambanova_constants.py +0 -18
  452. langflow/base/processing/__init__.py +0 -0
  453. langflow/base/prompts/utils.py +0 -61
  454. langflow/base/textsplitters/model.py +0 -28
  455. langflow/base/tools/base.py +0 -26
  456. langflow/base/tools/component_tool.py +0 -324
  457. langflow/base/tools/constants.py +0 -49
  458. langflow/base/tools/flow_tool.py +0 -131
  459. langflow/base/tools/run_flow.py +0 -227
  460. langflow/base/vectorstores/model.py +0 -193
  461. langflow/base/vectorstores/utils.py +0 -22
  462. langflow/base/vectorstores/vector_store_connection_decorator.py +0 -52
  463. langflow/components/FAISS/__init__.py +0 -34
  464. langflow/components/FAISS/faiss.py +0 -111
  465. langflow/components/Notion/__init__.py +0 -19
  466. langflow/components/Notion/add_content_to_page.py +0 -269
  467. langflow/components/Notion/create_page.py +0 -94
  468. langflow/components/Notion/list_database_properties.py +0 -68
  469. langflow/components/Notion/list_pages.py +0 -122
  470. langflow/components/Notion/list_users.py +0 -77
  471. langflow/components/Notion/page_content_viewer.py +0 -93
  472. langflow/components/Notion/search.py +0 -111
  473. langflow/components/Notion/update_page_property.py +0 -114
  474. langflow/components/_importing.py +0 -37
  475. langflow/components/agentql/__init__.py +0 -3
  476. langflow/components/agentql/agentql_api.py +0 -151
  477. langflow/components/agents/__init__.py +0 -4
  478. langflow/components/agents/agent.py +0 -554
  479. langflow/components/agents/mcp_component.py +0 -501
  480. langflow/components/aiml/__init__.py +0 -37
  481. langflow/components/aiml/aiml.py +0 -112
  482. langflow/components/aiml/aiml_embeddings.py +0 -37
  483. langflow/components/amazon/__init__.py +0 -36
  484. langflow/components/amazon/amazon_bedrock_embedding.py +0 -109
  485. langflow/components/amazon/amazon_bedrock_model.py +0 -124
  486. langflow/components/amazon/s3_bucket_uploader.py +0 -211
  487. langflow/components/anthropic/__init__.py +0 -34
  488. langflow/components/anthropic/anthropic.py +0 -187
  489. langflow/components/apify/__init__.py +0 -5
  490. langflow/components/apify/apify_actor.py +0 -325
  491. langflow/components/arxiv/__init__.py +0 -3
  492. langflow/components/arxiv/arxiv.py +0 -163
  493. langflow/components/assemblyai/__init__.py +0 -46
  494. langflow/components/assemblyai/assemblyai_get_subtitles.py +0 -83
  495. langflow/components/assemblyai/assemblyai_lemur.py +0 -183
  496. langflow/components/assemblyai/assemblyai_list_transcripts.py +0 -95
  497. langflow/components/assemblyai/assemblyai_poll_transcript.py +0 -72
  498. langflow/components/assemblyai/assemblyai_start_transcript.py +0 -188
  499. langflow/components/azure/__init__.py +0 -37
  500. langflow/components/azure/azure_openai.py +0 -95
  501. langflow/components/azure/azure_openai_embeddings.py +0 -83
  502. langflow/components/baidu/__init__.py +0 -32
  503. langflow/components/baidu/baidu_qianfan_chat.py +0 -113
  504. langflow/components/bing/__init__.py +0 -3
  505. langflow/components/bing/bing_search_api.py +0 -61
  506. langflow/components/cassandra/__init__.py +0 -40
  507. langflow/components/cassandra/cassandra.py +0 -264
  508. langflow/components/cassandra/cassandra_chat.py +0 -92
  509. langflow/components/cassandra/cassandra_graph.py +0 -238
  510. langflow/components/chains/__init__.py +0 -0
  511. langflow/components/chroma/__init__.py +0 -34
  512. langflow/components/chroma/chroma.py +0 -167
  513. langflow/components/cleanlab/__init__.py +0 -40
  514. langflow/components/cleanlab/cleanlab_evaluator.py +0 -157
  515. langflow/components/cleanlab/cleanlab_rag_evaluator.py +0 -254
  516. langflow/components/cleanlab/cleanlab_remediator.py +0 -131
  517. langflow/components/clickhouse/__init__.py +0 -34
  518. langflow/components/clickhouse/clickhouse.py +0 -135
  519. langflow/components/cloudflare/__init__.py +0 -32
  520. langflow/components/cloudflare/cloudflare.py +0 -81
  521. langflow/components/cohere/__init__.py +0 -40
  522. langflow/components/cohere/cohere_embeddings.py +0 -81
  523. langflow/components/cohere/cohere_models.py +0 -46
  524. langflow/components/cohere/cohere_rerank.py +0 -51
  525. langflow/components/composio/__init__.py +0 -73
  526. langflow/components/composio/composio_api.py +0 -268
  527. langflow/components/composio/dropbox_compnent.py +0 -11
  528. langflow/components/composio/github_composio.py +0 -11
  529. langflow/components/composio/gmail_composio.py +0 -38
  530. langflow/components/composio/googlecalendar_composio.py +0 -11
  531. langflow/components/composio/googlemeet_composio.py +0 -11
  532. langflow/components/composio/googletasks_composio.py +0 -8
  533. langflow/components/composio/linear_composio.py +0 -11
  534. langflow/components/composio/outlook_composio.py +0 -11
  535. langflow/components/composio/reddit_composio.py +0 -11
  536. langflow/components/composio/slack_composio.py +0 -11
  537. langflow/components/composio/slackbot_composio.py +0 -11
  538. langflow/components/composio/supabase_composio.py +0 -11
  539. langflow/components/composio/todoist_composio.py +0 -11
  540. langflow/components/composio/youtube_composio.py +0 -11
  541. langflow/components/confluence/__init__.py +0 -3
  542. langflow/components/confluence/confluence.py +0 -84
  543. langflow/components/couchbase/__init__.py +0 -34
  544. langflow/components/couchbase/couchbase.py +0 -102
  545. langflow/components/crewai/__init__.py +0 -49
  546. langflow/components/crewai/crewai.py +0 -107
  547. langflow/components/crewai/hierarchical_crew.py +0 -46
  548. langflow/components/crewai/hierarchical_task.py +0 -44
  549. langflow/components/crewai/sequential_crew.py +0 -52
  550. langflow/components/crewai/sequential_task.py +0 -73
  551. langflow/components/crewai/sequential_task_agent.py +0 -143
  552. langflow/components/custom_component/__init__.py +0 -34
  553. langflow/components/custom_component/custom_component.py +0 -31
  554. langflow/components/data/__init__.py +0 -25
  555. langflow/components/data/api_request.py +0 -545
  556. langflow/components/data/csv_to_data.py +0 -95
  557. langflow/components/data/directory.py +0 -113
  558. langflow/components/data/file.py +0 -586
  559. langflow/components/data/json_to_data.py +0 -98
  560. langflow/components/data/news_search.py +0 -164
  561. langflow/components/data/rss.py +0 -69
  562. langflow/components/data/sql_executor.py +0 -99
  563. langflow/components/data/url.py +0 -299
  564. langflow/components/data/web_search.py +0 -112
  565. langflow/components/data/webhook.py +0 -56
  566. langflow/components/datastax/__init__.py +0 -70
  567. langflow/components/datastax/astra_assistant_manager.py +0 -306
  568. langflow/components/datastax/astra_db.py +0 -69
  569. langflow/components/datastax/astra_vectorize.py +0 -124
  570. langflow/components/datastax/astradb_cql.py +0 -314
  571. langflow/components/datastax/astradb_graph.py +0 -319
  572. langflow/components/datastax/astradb_tool.py +0 -414
  573. langflow/components/datastax/astradb_vectorstore.py +0 -1285
  574. langflow/components/datastax/create_assistant.py +0 -58
  575. langflow/components/datastax/create_thread.py +0 -32
  576. langflow/components/datastax/dotenv.py +0 -35
  577. langflow/components/datastax/get_assistant.py +0 -37
  578. langflow/components/datastax/getenvvar.py +0 -30
  579. langflow/components/datastax/graph_rag.py +0 -141
  580. langflow/components/datastax/hcd.py +0 -314
  581. langflow/components/datastax/list_assistants.py +0 -25
  582. langflow/components/datastax/run.py +0 -89
  583. langflow/components/deactivated/__init__.py +0 -19
  584. langflow/components/deactivated/amazon_kendra.py +0 -66
  585. langflow/components/deactivated/chat_litellm_model.py +0 -158
  586. langflow/components/deactivated/code_block_extractor.py +0 -26
  587. langflow/components/deactivated/documents_to_data.py +0 -22
  588. langflow/components/deactivated/embed.py +0 -16
  589. langflow/components/deactivated/extract_key_from_data.py +0 -46
  590. langflow/components/deactivated/json_document_builder.py +0 -59
  591. langflow/components/deactivated/list_flows.py +0 -20
  592. langflow/components/deactivated/mcp_sse.py +0 -61
  593. langflow/components/deactivated/mcp_stdio.py +0 -62
  594. langflow/components/deactivated/merge_data.py +0 -93
  595. langflow/components/deactivated/message.py +0 -37
  596. langflow/components/deactivated/metal.py +0 -54
  597. langflow/components/deactivated/multi_query.py +0 -59
  598. langflow/components/deactivated/retriever.py +0 -43
  599. langflow/components/deactivated/selective_passthrough.py +0 -77
  600. langflow/components/deactivated/should_run_next.py +0 -40
  601. langflow/components/deactivated/split_text.py +0 -63
  602. langflow/components/deactivated/store_message.py +0 -24
  603. langflow/components/deactivated/sub_flow.py +0 -124
  604. langflow/components/deactivated/vectara_self_query.py +0 -76
  605. langflow/components/deactivated/vector_store.py +0 -24
  606. langflow/components/deepseek/__init__.py +0 -34
  607. langflow/components/deepseek/deepseek.py +0 -136
  608. langflow/components/docling/__init__.py +0 -43
  609. langflow/components/docling/chunk_docling_document.py +0 -186
  610. langflow/components/docling/docling_inline.py +0 -235
  611. langflow/components/docling/docling_remote.py +0 -193
  612. langflow/components/docling/export_docling_document.py +0 -117
  613. langflow/components/documentloaders/__init__.py +0 -0
  614. langflow/components/duckduckgo/__init__.py +0 -3
  615. langflow/components/duckduckgo/duck_duck_go_search_run.py +0 -92
  616. langflow/components/elastic/__init__.py +0 -37
  617. langflow/components/elastic/elasticsearch.py +0 -267
  618. langflow/components/elastic/opensearch.py +0 -243
  619. langflow/components/embeddings/__init__.py +0 -37
  620. langflow/components/embeddings/similarity.py +0 -76
  621. langflow/components/embeddings/text_embedder.py +0 -64
  622. langflow/components/exa/__init__.py +0 -3
  623. langflow/components/exa/exa_search.py +0 -68
  624. langflow/components/firecrawl/__init__.py +0 -43
  625. langflow/components/firecrawl/firecrawl_crawl_api.py +0 -88
  626. langflow/components/firecrawl/firecrawl_extract_api.py +0 -136
  627. langflow/components/firecrawl/firecrawl_map_api.py +0 -89
  628. langflow/components/firecrawl/firecrawl_scrape_api.py +0 -73
  629. langflow/components/git/__init__.py +0 -4
  630. langflow/components/git/git.py +0 -262
  631. langflow/components/git/gitextractor.py +0 -196
  632. langflow/components/glean/__init__.py +0 -3
  633. langflow/components/glean/glean_search_api.py +0 -173
  634. langflow/components/google/__init__.py +0 -17
  635. langflow/components/google/gmail.py +0 -192
  636. langflow/components/google/google_bq_sql_executor.py +0 -157
  637. langflow/components/google/google_drive.py +0 -92
  638. langflow/components/google/google_drive_search.py +0 -152
  639. langflow/components/google/google_generative_ai.py +0 -147
  640. langflow/components/google/google_generative_ai_embeddings.py +0 -141
  641. langflow/components/google/google_oauth_token.py +0 -89
  642. langflow/components/google/google_search_api_core.py +0 -68
  643. langflow/components/google/google_serper_api_core.py +0 -74
  644. langflow/components/groq/__init__.py +0 -34
  645. langflow/components/groq/groq.py +0 -140
  646. langflow/components/helpers/__init__.py +0 -52
  647. langflow/components/helpers/calculator_core.py +0 -89
  648. langflow/components/helpers/create_list.py +0 -40
  649. langflow/components/helpers/current_date.py +0 -42
  650. langflow/components/helpers/id_generator.py +0 -42
  651. langflow/components/helpers/memory.py +0 -251
  652. langflow/components/helpers/output_parser.py +0 -45
  653. langflow/components/helpers/store_message.py +0 -90
  654. langflow/components/homeassistant/__init__.py +0 -7
  655. langflow/components/homeassistant/home_assistant_control.py +0 -152
  656. langflow/components/homeassistant/list_home_assistant_states.py +0 -137
  657. langflow/components/huggingface/__init__.py +0 -37
  658. langflow/components/huggingface/huggingface.py +0 -197
  659. langflow/components/huggingface/huggingface_inference_api.py +0 -106
  660. langflow/components/ibm/__init__.py +0 -34
  661. langflow/components/ibm/watsonx.py +0 -203
  662. langflow/components/ibm/watsonx_embeddings.py +0 -135
  663. langflow/components/icosacomputing/__init__.py +0 -5
  664. langflow/components/icosacomputing/combinatorial_reasoner.py +0 -84
  665. langflow/components/input_output/__init__.py +0 -38
  666. langflow/components/input_output/chat.py +0 -120
  667. langflow/components/input_output/chat_output.py +0 -200
  668. langflow/components/input_output/text.py +0 -27
  669. langflow/components/input_output/text_output.py +0 -29
  670. langflow/components/jigsawstack/__init__.py +0 -23
  671. langflow/components/jigsawstack/ai_scrape.py +0 -126
  672. langflow/components/jigsawstack/ai_web_search.py +0 -136
  673. langflow/components/jigsawstack/file_read.py +0 -115
  674. langflow/components/jigsawstack/file_upload.py +0 -94
  675. langflow/components/jigsawstack/image_generation.py +0 -205
  676. langflow/components/jigsawstack/nsfw.py +0 -60
  677. langflow/components/jigsawstack/object_detection.py +0 -124
  678. langflow/components/jigsawstack/sentiment.py +0 -112
  679. langflow/components/jigsawstack/text_to_sql.py +0 -90
  680. langflow/components/jigsawstack/text_translate.py +0 -77
  681. langflow/components/jigsawstack/vocr.py +0 -107
  682. langflow/components/langchain_utilities/__init__.py +0 -109
  683. langflow/components/langchain_utilities/character.py +0 -53
  684. langflow/components/langchain_utilities/conversation.py +0 -52
  685. langflow/components/langchain_utilities/csv_agent.py +0 -107
  686. langflow/components/langchain_utilities/fake_embeddings.py +0 -26
  687. langflow/components/langchain_utilities/html_link_extractor.py +0 -35
  688. langflow/components/langchain_utilities/json_agent.py +0 -45
  689. langflow/components/langchain_utilities/langchain_hub.py +0 -126
  690. langflow/components/langchain_utilities/language_recursive.py +0 -49
  691. langflow/components/langchain_utilities/language_semantic.py +0 -138
  692. langflow/components/langchain_utilities/llm_checker.py +0 -39
  693. langflow/components/langchain_utilities/llm_math.py +0 -42
  694. langflow/components/langchain_utilities/natural_language.py +0 -61
  695. langflow/components/langchain_utilities/openai_tools.py +0 -53
  696. langflow/components/langchain_utilities/openapi.py +0 -48
  697. langflow/components/langchain_utilities/recursive_character.py +0 -60
  698. langflow/components/langchain_utilities/retrieval_qa.py +0 -83
  699. langflow/components/langchain_utilities/runnable_executor.py +0 -137
  700. langflow/components/langchain_utilities/self_query.py +0 -80
  701. langflow/components/langchain_utilities/spider.py +0 -142
  702. langflow/components/langchain_utilities/sql.py +0 -40
  703. langflow/components/langchain_utilities/sql_database.py +0 -35
  704. langflow/components/langchain_utilities/sql_generator.py +0 -78
  705. langflow/components/langchain_utilities/tool_calling.py +0 -59
  706. langflow/components/langchain_utilities/vector_store_info.py +0 -49
  707. langflow/components/langchain_utilities/vector_store_router.py +0 -33
  708. langflow/components/langchain_utilities/xml_agent.py +0 -71
  709. langflow/components/langwatch/__init__.py +0 -3
  710. langflow/components/langwatch/langwatch.py +0 -278
  711. langflow/components/link_extractors/__init__.py +0 -0
  712. langflow/components/lmstudio/__init__.py +0 -34
  713. langflow/components/lmstudio/lmstudioembeddings.py +0 -89
  714. langflow/components/lmstudio/lmstudiomodel.py +0 -129
  715. langflow/components/logic/__init__.py +0 -52
  716. langflow/components/logic/conditional_router.py +0 -171
  717. langflow/components/logic/data_conditional_router.py +0 -125
  718. langflow/components/logic/flow_tool.py +0 -110
  719. langflow/components/logic/listen.py +0 -29
  720. langflow/components/logic/loop.py +0 -125
  721. langflow/components/logic/notify.py +0 -88
  722. langflow/components/logic/pass_message.py +0 -35
  723. langflow/components/logic/run_flow.py +0 -71
  724. langflow/components/logic/sub_flow.py +0 -114
  725. langflow/components/maritalk/__init__.py +0 -32
  726. langflow/components/maritalk/maritalk.py +0 -52
  727. langflow/components/mem0/__init__.py +0 -3
  728. langflow/components/mem0/mem0_chat_memory.py +0 -136
  729. langflow/components/milvus/__init__.py +0 -34
  730. langflow/components/milvus/milvus.py +0 -115
  731. langflow/components/mistral/__init__.py +0 -37
  732. langflow/components/mistral/mistral.py +0 -114
  733. langflow/components/mistral/mistral_embeddings.py +0 -58
  734. langflow/components/models/__init__.py +0 -34
  735. langflow/components/models/embedding_model.py +0 -114
  736. langflow/components/models/language_model.py +0 -144
  737. langflow/components/mongodb/__init__.py +0 -34
  738. langflow/components/mongodb/mongodb_atlas.py +0 -213
  739. langflow/components/needle/__init__.py +0 -3
  740. langflow/components/needle/needle.py +0 -104
  741. langflow/components/notdiamond/__init__.py +0 -36
  742. langflow/components/notdiamond/notdiamond.py +0 -228
  743. langflow/components/novita/__init__.py +0 -32
  744. langflow/components/novita/novita.py +0 -130
  745. langflow/components/nvidia/__init__.py +0 -57
  746. langflow/components/nvidia/nvidia.py +0 -157
  747. langflow/components/nvidia/nvidia_embedding.py +0 -77
  748. langflow/components/nvidia/nvidia_ingest.py +0 -317
  749. langflow/components/nvidia/nvidia_rerank.py +0 -63
  750. langflow/components/nvidia/system_assist.py +0 -65
  751. langflow/components/olivya/__init__.py +0 -3
  752. langflow/components/olivya/olivya.py +0 -116
  753. langflow/components/ollama/__init__.py +0 -37
  754. langflow/components/ollama/ollama.py +0 -330
  755. langflow/components/ollama/ollama_embeddings.py +0 -106
  756. langflow/components/openai/__init__.py +0 -37
  757. langflow/components/openai/openai.py +0 -100
  758. langflow/components/openai/openai_chat_model.py +0 -158
  759. langflow/components/openrouter/__init__.py +0 -32
  760. langflow/components/openrouter/openrouter.py +0 -202
  761. langflow/components/output_parsers/__init__.py +0 -0
  762. langflow/components/perplexity/__init__.py +0 -34
  763. langflow/components/perplexity/perplexity.py +0 -75
  764. langflow/components/pgvector/__init__.py +0 -34
  765. langflow/components/pgvector/pgvector.py +0 -72
  766. langflow/components/pinecone/__init__.py +0 -34
  767. langflow/components/pinecone/pinecone.py +0 -134
  768. langflow/components/processing/alter_metadata.py +0 -108
  769. langflow/components/processing/batch_run.py +0 -205
  770. langflow/components/processing/combine_text.py +0 -39
  771. langflow/components/processing/create_data.py +0 -110
  772. langflow/components/processing/data_operations.py +0 -438
  773. langflow/components/processing/data_to_dataframe.py +0 -70
  774. langflow/components/processing/dataframe_operations.py +0 -321
  775. langflow/components/processing/extract_key.py +0 -53
  776. langflow/components/processing/filter_data.py +0 -42
  777. langflow/components/processing/filter_data_values.py +0 -88
  778. langflow/components/processing/json_cleaner.py +0 -103
  779. langflow/components/processing/lambda_filter.py +0 -154
  780. langflow/components/processing/llm_router.py +0 -499
  781. langflow/components/processing/merge_data.py +0 -90
  782. langflow/components/processing/message_to_data.py +0 -36
  783. langflow/components/processing/parse_data.py +0 -70
  784. langflow/components/processing/parse_dataframe.py +0 -68
  785. langflow/components/processing/parse_json_data.py +0 -90
  786. langflow/components/processing/parser.py +0 -143
  787. langflow/components/processing/prompt.py +0 -67
  788. langflow/components/processing/python_repl_core.py +0 -98
  789. langflow/components/processing/regex.py +0 -82
  790. langflow/components/processing/save_file.py +0 -208
  791. langflow/components/processing/select_data.py +0 -48
  792. langflow/components/processing/split_text.py +0 -141
  793. langflow/components/processing/structured_output.py +0 -202
  794. langflow/components/processing/update_data.py +0 -160
  795. langflow/components/prototypes/__init__.py +0 -34
  796. langflow/components/prototypes/python_function.py +0 -73
  797. langflow/components/qdrant/__init__.py +0 -34
  798. langflow/components/qdrant/qdrant.py +0 -109
  799. langflow/components/redis/__init__.py +0 -37
  800. langflow/components/redis/redis.py +0 -89
  801. langflow/components/redis/redis_chat.py +0 -43
  802. langflow/components/sambanova/__init__.py +0 -32
  803. langflow/components/sambanova/sambanova.py +0 -84
  804. langflow/components/scrapegraph/__init__.py +0 -40
  805. langflow/components/scrapegraph/scrapegraph_markdownify_api.py +0 -64
  806. langflow/components/scrapegraph/scrapegraph_search_api.py +0 -64
  807. langflow/components/scrapegraph/scrapegraph_smart_scraper_api.py +0 -71
  808. langflow/components/searchapi/__init__.py +0 -36
  809. langflow/components/searchapi/search.py +0 -79
  810. langflow/components/serpapi/__init__.py +0 -3
  811. langflow/components/serpapi/serp.py +0 -115
  812. langflow/components/serper/__init__.py +0 -3
  813. langflow/components/serper/google_serper_api_core.py +0 -74
  814. langflow/components/supabase/__init__.py +0 -37
  815. langflow/components/supabase/supabase.py +0 -76
  816. langflow/components/tavily/__init__.py +0 -4
  817. langflow/components/tavily/tavily_extract.py +0 -117
  818. langflow/components/tavily/tavily_search.py +0 -212
  819. langflow/components/textsplitters/__init__.py +0 -0
  820. langflow/components/toolkits/__init__.py +0 -0
  821. langflow/components/tools/__init__.py +0 -72
  822. langflow/components/tools/calculator.py +0 -103
  823. langflow/components/tools/google_search_api.py +0 -45
  824. langflow/components/tools/google_serper_api.py +0 -115
  825. langflow/components/tools/python_code_structured_tool.py +0 -327
  826. langflow/components/tools/python_repl.py +0 -97
  827. langflow/components/tools/search_api.py +0 -87
  828. langflow/components/tools/searxng.py +0 -145
  829. langflow/components/tools/serp_api.py +0 -119
  830. langflow/components/tools/tavily_search_tool.py +0 -344
  831. langflow/components/tools/wikidata_api.py +0 -102
  832. langflow/components/tools/wikipedia_api.py +0 -49
  833. langflow/components/tools/yahoo_finance.py +0 -124
  834. langflow/components/twelvelabs/__init__.py +0 -52
  835. langflow/components/twelvelabs/convert_astra_results.py +0 -84
  836. langflow/components/twelvelabs/pegasus_index.py +0 -311
  837. langflow/components/twelvelabs/split_video.py +0 -291
  838. langflow/components/twelvelabs/text_embeddings.py +0 -57
  839. langflow/components/twelvelabs/twelvelabs_pegasus.py +0 -408
  840. langflow/components/twelvelabs/video_embeddings.py +0 -100
  841. langflow/components/twelvelabs/video_file.py +0 -179
  842. langflow/components/unstructured/__init__.py +0 -3
  843. langflow/components/unstructured/unstructured.py +0 -121
  844. langflow/components/upstash/__init__.py +0 -34
  845. langflow/components/upstash/upstash.py +0 -124
  846. langflow/components/vectara/__init__.py +0 -37
  847. langflow/components/vectara/vectara.py +0 -97
  848. langflow/components/vectara/vectara_rag.py +0 -164
  849. langflow/components/vectorstores/__init__.py +0 -34
  850. langflow/components/vectorstores/local_db.py +0 -261
  851. langflow/components/vertexai/__init__.py +0 -37
  852. langflow/components/vertexai/vertexai.py +0 -71
  853. langflow/components/vertexai/vertexai_embeddings.py +0 -67
  854. langflow/components/weaviate/__init__.py +0 -34
  855. langflow/components/weaviate/weaviate.py +0 -89
  856. langflow/components/wikipedia/__init__.py +0 -4
  857. langflow/components/wikipedia/wikidata.py +0 -86
  858. langflow/components/wikipedia/wikipedia.py +0 -53
  859. langflow/components/wolframalpha/__init__.py +0 -3
  860. langflow/components/wolframalpha/wolfram_alpha_api.py +0 -54
  861. langflow/components/xai/__init__.py +0 -32
  862. langflow/components/xai/xai.py +0 -167
  863. langflow/components/yahoosearch/__init__.py +0 -3
  864. langflow/components/yahoosearch/yahoo.py +0 -137
  865. langflow/components/youtube/__init__.py +0 -52
  866. langflow/components/youtube/channel.py +0 -227
  867. langflow/components/youtube/comments.py +0 -231
  868. langflow/components/youtube/playlist.py +0 -33
  869. langflow/components/youtube/search.py +0 -120
  870. langflow/components/youtube/trending.py +0 -285
  871. langflow/components/youtube/video_details.py +0 -263
  872. langflow/components/youtube/youtube_transcripts.py +0 -118
  873. langflow/components/zep/__init__.py +0 -3
  874. langflow/components/zep/zep.py +0 -44
  875. langflow/custom/attributes.py +0 -86
  876. langflow/custom/code_parser/__init__.py +0 -3
  877. langflow/custom/code_parser/code_parser.py +0 -361
  878. langflow/custom/custom_component/base_component.py +0 -118
  879. langflow/custom/dependency_analyzer.py +0 -165
  880. langflow/custom/directory_reader/__init__.py +0 -3
  881. langflow/custom/directory_reader/directory_reader.py +0 -359
  882. langflow/custom/directory_reader/utils.py +0 -171
  883. langflow/custom/eval.py +0 -12
  884. langflow/custom/schema.py +0 -32
  885. langflow/custom/tree_visitor.py +0 -21
  886. langflow/frontend/assets/lazyIconImports-Ci-S9xBA.js +0 -2
  887. langflow/graph/edge/__init__.py +0 -0
  888. langflow/graph/edge/base.py +0 -277
  889. langflow/graph/edge/schema.py +0 -119
  890. langflow/graph/edge/utils.py +0 -0
  891. langflow/graph/graph/__init__.py +0 -0
  892. langflow/graph/graph/ascii.py +0 -202
  893. langflow/graph/graph/base.py +0 -2185
  894. langflow/graph/graph/constants.py +0 -58
  895. langflow/graph/graph/runnable_vertices_manager.py +0 -133
  896. langflow/graph/graph/schema.py +0 -53
  897. langflow/graph/graph/state_model.py +0 -66
  898. langflow/graph/graph/utils.py +0 -1024
  899. langflow/graph/schema.py +0 -75
  900. langflow/graph/state/__init__.py +0 -0
  901. langflow/graph/state/model.py +0 -237
  902. langflow/graph/utils.py +0 -229
  903. langflow/graph/vertex/__init__.py +0 -0
  904. langflow/graph/vertex/base.py +0 -811
  905. langflow/graph/vertex/constants.py +0 -0
  906. langflow/graph/vertex/exceptions.py +0 -4
  907. langflow/graph/vertex/param_handler.py +0 -255
  908. langflow/graph/vertex/schema.py +0 -26
  909. langflow/graph/vertex/utils.py +0 -19
  910. langflow/graph/vertex/vertex_types.py +0 -489
  911. langflow/legacy_custom/__init__.py +0 -0
  912. langflow/legacy_custom/customs.py +0 -16
  913. langflow/load/load.py +0 -250
  914. langflow/logging/logger.py +0 -369
  915. langflow/processing/utils.py +0 -25
  916. langflow/schema/openai_responses_schemas.py +0 -74
  917. langflow/schema/serialize.py +0 -13
  918. langflow/services/chat/config.py +0 -2
  919. langflow/services/settings/auth.py +0 -130
  920. langflow/services/settings/constants.py +0 -31
  921. langflow/services/settings/manager.py +0 -49
  922. langflow/services/settings/utils.py +0 -40
  923. langflow/template/field/prompt.py +0 -2
  924. langflow/template/frontend_node/__init__.py +0 -6
  925. langflow/template/frontend_node/base.py +0 -212
  926. langflow/template/frontend_node/constants.py +0 -65
  927. langflow/template/frontend_node/custom_components.py +0 -97
  928. langflow/template/template/__init__.py +0 -0
  929. langflow/template/template/base.py +0 -99
  930. langflow/utils/async_helpers.py +0 -42
  931. langflow/utils/concurrency.py +0 -60
  932. langflow/utils/util_strings.py +0 -56
  933. langflow_base_nightly-0.5.1.dev2.dist-info/RECORD +0 -1159
  934. {langflow_base_nightly-0.5.1.dev2.dist-info → langflow_base_nightly-0.5.1.dev4.dist-info}/WHEEL +0 -0
  935. {langflow_base_nightly-0.5.1.dev2.dist-info → langflow_base_nightly-0.5.1.dev4.dist-info}/entry_points.txt +0 -0
@@ -1,171 +0,0 @@
1
- import asyncio
2
-
3
- from langflow.custom.directory_reader.directory_reader import DirectoryReader
4
- from langflow.logging.logger import logger
5
- from langflow.template.frontend_node.custom_components import CustomComponentFrontendNode
6
-
7
-
8
- def merge_nested_dicts_with_renaming(dict1, dict2):
9
- for key, value in dict2.items():
10
- if key in dict1 and isinstance(value, dict) and isinstance(dict1.get(key), dict):
11
- for sub_key, sub_value in value.items():
12
- # if sub_key in dict1[key]:
13
- # new_key = get_new_key(dict1[key], sub_key)
14
- # dict1[key][new_key] = sub_value
15
- # else:
16
- dict1[key][sub_key] = sub_value
17
- else:
18
- dict1[key] = value
19
- return dict1
20
-
21
-
22
- def build_invalid_menu(invalid_components):
23
- """Build the invalid menu."""
24
- if not invalid_components.get("menu"):
25
- return {}
26
-
27
- logger.debug("------------------- INVALID COMPONENTS -------------------")
28
- invalid_menu = {}
29
- for menu_item in invalid_components["menu"]:
30
- menu_name = menu_item["name"]
31
- invalid_menu[menu_name] = build_invalid_menu_items(menu_item)
32
- return invalid_menu
33
-
34
-
35
- def build_valid_menu(valid_components):
36
- """Build the valid menu."""
37
- valid_menu = {}
38
- logger.debug("------------------- VALID COMPONENTS -------------------")
39
- for menu_item in valid_components["menu"]:
40
- menu_name = menu_item["name"]
41
- valid_menu[menu_name] = build_menu_items(menu_item)
42
- return valid_menu
43
-
44
-
45
- def build_and_validate_all_files(reader: DirectoryReader, file_list):
46
- """Build and validate all files."""
47
- data = reader.build_component_menu_list(file_list)
48
-
49
- valid_components = reader.filter_loaded_components(data=data, with_errors=False)
50
- invalid_components = reader.filter_loaded_components(data=data, with_errors=True)
51
-
52
- return valid_components, invalid_components
53
-
54
-
55
- async def abuild_and_validate_all_files(reader: DirectoryReader, file_list):
56
- """Build and validate all files."""
57
- data = await reader.abuild_component_menu_list(file_list)
58
-
59
- valid_components = reader.filter_loaded_components(data=data, with_errors=False)
60
- invalid_components = reader.filter_loaded_components(data=data, with_errors=True)
61
-
62
- return valid_components, invalid_components
63
-
64
-
65
- def load_files_from_path(path: str):
66
- """Load all files from a given path."""
67
- reader = DirectoryReader(path, compress_code_field=False)
68
-
69
- return reader.get_files()
70
-
71
-
72
- def build_custom_component_list_from_path(path: str):
73
- """Build a list of custom components for the langchain from a given path."""
74
- file_list = load_files_from_path(path)
75
- reader = DirectoryReader(path, compress_code_field=False)
76
-
77
- valid_components, invalid_components = build_and_validate_all_files(reader, file_list)
78
-
79
- valid_menu = build_valid_menu(valid_components)
80
- invalid_menu = build_invalid_menu(invalid_components)
81
-
82
- return merge_nested_dicts_with_renaming(valid_menu, invalid_menu)
83
-
84
-
85
- async def abuild_custom_component_list_from_path(path: str):
86
- """Build a list of custom components for the langchain from a given path."""
87
- file_list = await asyncio.to_thread(load_files_from_path, path)
88
- reader = DirectoryReader(path, compress_code_field=False)
89
-
90
- valid_components, invalid_components = await abuild_and_validate_all_files(reader, file_list)
91
-
92
- valid_menu = build_valid_menu(valid_components)
93
- invalid_menu = build_invalid_menu(invalid_components)
94
-
95
- return merge_nested_dicts_with_renaming(valid_menu, invalid_menu)
96
-
97
-
98
- def create_invalid_component_template(component, component_name):
99
- """Create a template for an invalid component."""
100
- component_code = component["code"]
101
- component_frontend_node = CustomComponentFrontendNode(
102
- description="ERROR - Check your Python Code",
103
- display_name=f"ERROR - {component_name}",
104
- )
105
-
106
- component_frontend_node.error = component.get("error", None)
107
- field = component_frontend_node.template.get_field("code")
108
- field.value = component_code
109
- component_frontend_node.template.update_field("code", field)
110
- return component_frontend_node.model_dump(by_alias=True, exclude_none=True)
111
-
112
-
113
- def log_invalid_component_details(component) -> None:
114
- """Log details of an invalid component."""
115
- logger.debug(component)
116
- logger.debug(f"Component Path: {component.get('path', None)}")
117
- logger.debug(f"Component Error: {component.get('error', None)}")
118
-
119
-
120
- def build_invalid_component(component):
121
- """Build a single invalid component."""
122
- component_name = component["name"]
123
- component_template = create_invalid_component_template(component, component_name)
124
- log_invalid_component_details(component)
125
- return component_name, component_template
126
-
127
-
128
- def build_invalid_menu_items(menu_item):
129
- """Build invalid menu items for a given menu."""
130
- menu_items = {}
131
- for component in menu_item["components"]:
132
- try:
133
- component_name, component_template = build_invalid_component(component)
134
- menu_items[component_name] = component_template
135
- logger.debug(f"Added {component_name} to invalid menu.")
136
- except Exception: # noqa: BLE001
137
- logger.exception(f"Error while creating custom component [{component_name}]")
138
- return menu_items
139
-
140
-
141
- def get_new_key(dictionary, original_key):
142
- counter = 1
143
- new_key = original_key + " (" + str(counter) + ")"
144
- while new_key in dictionary:
145
- counter += 1
146
- new_key = original_key + " (" + str(counter) + ")"
147
- return new_key
148
-
149
-
150
- def determine_component_name(component):
151
- """Determine the name of the component."""
152
- # component_output_types = component["output_types"]
153
- # if len(component_output_types) == 1:
154
- # return component_output_types[0]
155
- # else:
156
- # file_name = component.get("file").split(".")[0]
157
- # return "".join(word.capitalize() for word in file_name.split("_")) if "_" in file_name else file_name
158
- return component["name"]
159
-
160
-
161
- def build_menu_items(menu_item):
162
- """Build menu items for a given menu."""
163
- menu_items = {}
164
- logger.debug(f"Building menu items for {menu_item['name']}")
165
- logger.debug(f"Loading {len(menu_item['components'])} components")
166
- for component_name, component_template, component in menu_item["components"]:
167
- try:
168
- menu_items[component_name] = component_template
169
- except Exception: # noqa: BLE001
170
- logger.exception(f"Error while building custom component {component['output_types']}")
171
- return menu_items
langflow/custom/eval.py DELETED
@@ -1,12 +0,0 @@
1
- from typing import TYPE_CHECKING
2
-
3
- from langflow.utils import validate
4
-
5
- if TYPE_CHECKING:
6
- from langflow.custom.custom_component.custom_component import CustomComponent
7
-
8
-
9
- def eval_custom_component_code(code: str) -> type["CustomComponent"]:
10
- """Evaluate custom component code."""
11
- class_name = validate.extract_class_name(code)
12
- return validate.create_class(code, class_name)
langflow/custom/schema.py DELETED
@@ -1,32 +0,0 @@
1
- from typing import Any
2
-
3
- from pydantic import BaseModel, Field
4
-
5
-
6
- class ClassCodeDetails(BaseModel):
7
- """A dataclass for storing details about a class."""
8
-
9
- name: str
10
- doc: str | None = None
11
- bases: list
12
- attributes: list
13
- methods: list
14
- init: dict | None = Field(default_factory=dict)
15
-
16
-
17
- class CallableCodeDetails(BaseModel):
18
- """A dataclass for storing details about a callable."""
19
-
20
- name: str
21
- doc: str | None = None
22
- args: list
23
- body: list
24
- return_type: Any | None = None
25
- has_return: bool = False
26
-
27
-
28
- class MissingDefault:
29
- """A class to represent a missing default value."""
30
-
31
- def __repr__(self) -> str:
32
- return "MISSING"
@@ -1,21 +0,0 @@
1
- import ast
2
- from typing import Any
3
-
4
- from typing_extensions import override
5
-
6
-
7
- class RequiredInputsVisitor(ast.NodeVisitor):
8
- def __init__(self, inputs: dict[str, Any]):
9
- self.inputs: dict[str, Any] = inputs
10
- self.required_inputs: set[str] = set()
11
-
12
- @override
13
- def visit_Attribute(self, node) -> None:
14
- if (
15
- isinstance(node.value, ast.Name)
16
- and node.value.id == "self"
17
- and node.attr in self.inputs
18
- and self.inputs[node.attr].required
19
- ):
20
- self.required_inputs.add(node.attr)
21
- self.generic_visit(node)
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-ByxGmq5p.js","./index-D234yKNJ.js","./index-C1xroOlH.css","./index-DrXXKzpD.js","./index-C_157Mb-.js","./index-BZSa2qz7.js","./index-BSwBVwyF.js","./index-lnF9Eqr2.js","./index-D5c2nNvp.js","./index-AKVkmT4S.js","./index-DsEZjOcp.js","./index-CF4_Og1m.js","./index-CVkIdc6y.js","./index-C-bjC2sz.js","./index-Dp7ZQyL3.js","./index-D-WStJI6.js","./index-DnlVWWU8.js","./index-C_MhBX6R.js","./index-C8pI0lzi.js","./index-AALDfCyt.js","./index-S-sc0Cm9.js","./index-CU16NJD7.js","./index-aWnZIwHd.js","./index-Co__gFM1.js","./index-DmYLDQag.js","./index-YJsAl7vm.js","./index-v8eXbWlM.js","./index-DOj_QWqG.js","./index-BCXhKCOK.js","./index-uybez8MR.js","./index-DFY8YFbC.js","./index-CDphUsa3.js","./index-yyAaYjLR.js","./index-Coi86oqP.js","./index-CPiM2oyj.js","./index-BvRIG6P5.js","./index-BH7AyHxp.js","./index-cYFKmtmg.js","./index-DznH7Jbq.js","./index-9FL5xjkL.js","./index-BAn-AzCS.js","./index-ZjeocHyu.js","./index-Bw-TIIC6.js","./index-BusCv3bR.js","./index-BLXN681C.js","./index-3jlSQi5Y.js","./index-CUzlcce2.js","./index-B3GvPjhD.js","./index-BdjfHsrf.js","./index-RH_I78z_.js","./index-BMpKFGhI.js","./index-5-CSw2-z.js","./index-ChsGhZn3.js","./index-CJ5A6STv.js","./index-BX_asvRB.js","./index-4JIEdyIM.js","./index-C_NwzK6j.js","./index-Cb5G9Ifd.js","./index-B5LHnuQR.js","./index--e0oQqZh.js","./index-CiklyQU3.js","./index-hg2y9OAt.js","./index-OsUvqIUr.js","./index-CLcaktde.js","./index-Ca1b7Iag.js","./index-xV6ystWy.js","./index-B_kBTgxV.js","./index-mjwtJmkP.js","./index-BrDz-PxE.js","./index-nw3WF9lY.js","./index-DmVt5Jlx.js","./index-BLEWsL1U.js","./index-Cw0UComa.js","./index-7yAHPRxv.js","./index-BMvp94tO.js","./index-_szO7sta.js","./index-DX7JcSMz.js","./index-DZVgPCio.js","./index-BIqEYjNT.js","./index-Df6psZEj.js","./index-CQQ-4XMS.js","./index-DTCrijba.js","./index-D-SnFlhU.js","./index-DbfS_UH-.js","./index-MVW4HTEk.js","./index-BnCnYnao.js","./index-BISPW-f6.js","./index-Drg8me2a.js","./index-DcApTyZ7.js","./index-C-2MRYoJ.js","./index-DiblXWmk.js","./index-C51yNvIL.js","./index-RjeC0kaX.js","./index-DMCerPJM.js","./index-Deu8rlaZ.js","./index-S8uJXTOq.js","./index-DJ6HD14g.js","./index-Bm9i8F4W.js","./index-C-wnbBBY.js","./index-BZ-A4K98.js","./index-DpWrk8mA.js","./index-DVLIDc2_.js","./index-CvSoff-8.js","./index-qiVTWUuf.js","./index-C6nzdeYx.js","./index-COoTCxvs.js","./SlackIcon-Cc7Qnzki.js","./index-BWFIrwW1.js","./index-Bl7RpmrB.js","./index-DjQElpEg.js","./index-Bhcv5M0n.js","./index-BhqVw9WQ.js","./index-k9jP5chN.js","./index-Cu2Xr6_j.js","./index-GzOGB_fo.js","./index-BlDsBQ_1.js","./index-xN8ogFdo.js","./index-aAgSKWb3.js","./index-jwzN3Jd_.js","./index-CeswGUz3.js","./index-Cu7vC48Y.js","./Wikipedia-7ulMZY46.js","./index-DP1oE6QB.js","./Wolfram-By9PGsHS.js","./index-BsdLyYMY.js","./index-CKPZpkQk.js","./index-SB4rw8D5.js"])))=>i.map(i=>d[i]);
2
- import{a8 as e}from"./index-D234yKNJ.js";const r={AIML:()=>e(()=>import("./index-ByxGmq5p.js"),__vite__mapDeps([0,1,2]),import.meta.url).then(t=>({default:t.AIMLIcon})),AgentQL:()=>e(()=>import("./index-DrXXKzpD.js"),__vite__mapDeps([3,1,2]),import.meta.url).then(t=>({default:t.AgentQLIcon})),Airbyte:()=>e(()=>import("./index-C_157Mb-.js"),__vite__mapDeps([4,1,2]),import.meta.url).then(t=>({default:t.AirbyteIcon})),Anthropic:()=>e(()=>import("./index-BZSa2qz7.js"),__vite__mapDeps([5,1,2]),import.meta.url).then(t=>({default:t.AnthropicIcon})),Apify:()=>e(()=>import("./index-BSwBVwyF.js"),__vite__mapDeps([6,1,2]),import.meta.url).then(t=>({default:t.ApifyIcon})),ApifyWhite:()=>e(()=>import("./index-BSwBVwyF.js"),__vite__mapDeps([6,1,2]),import.meta.url).then(t=>({default:t.ApifyWhiteIcon})),ArXiv:()=>e(()=>import("./index-lnF9Eqr2.js"),__vite__mapDeps([7,1,2]),import.meta.url).then(t=>({default:t.ArXivIcon})),Arize:()=>e(()=>import("./index-D5c2nNvp.js"),__vite__mapDeps([8,1,2]),import.meta.url).then(t=>({default:t.ArizeIcon})),AssemblyAI:()=>e(()=>import("./index-AKVkmT4S.js"),__vite__mapDeps([9,1,2]),import.meta.url).then(t=>({default:t.AssemblyAIIcon})),AstraDB:()=>e(()=>import("./index-DsEZjOcp.js"),__vite__mapDeps([10,1,2]),import.meta.url).then(t=>({default:t.AstraDBIcon})),Athena:()=>e(()=>import("./index-CF4_Og1m.js"),__vite__mapDeps([11,1,2]),import.meta.url).then(t=>({default:t.AthenaIcon})),AWS:()=>e(()=>import("./index-CVkIdc6y.js"),__vite__mapDeps([12,1,2]),import.meta.url).then(t=>({default:t.AWSIcon})),AWSInverted:()=>e(()=>import("./index-C-bjC2sz.js"),__vite__mapDeps([13,1,2]),import.meta.url).then(t=>({default:t.AWSInvertedIcon})),Azure:()=>e(()=>import("./index-Dp7ZQyL3.js"),__vite__mapDeps([14,1,2]),import.meta.url).then(t=>({default:t.AzureIcon})),Bing:()=>e(()=>import("./index-D-WStJI6.js"),__vite__mapDeps([15,1,2]),import.meta.url).then(t=>({default:t.BingIcon})),BotMessageSquareIcon:()=>e(()=>import("./index-D234yKNJ.js").then(t=>t.a9),__vite__mapDeps([1,2]),import.meta.url).then(t=>({default:t.BotMessageSquareIcon})),BWPython:()=>e(()=>import("./index-DnlVWWU8.js"),__vite__mapDeps([16,1,2]),import.meta.url).then(t=>({default:t.BWPythonIcon})),Cassandra:()=>e(()=>import("./index-C_MhBX6R.js"),__vite__mapDeps([17,1,2]),import.meta.url).then(t=>({default:t.CassandraIcon})),Chroma:()=>e(()=>import("./index-C8pI0lzi.js"),__vite__mapDeps([18,1,2]),import.meta.url).then(t=>({default:t.ChromaIcon})),Cleanlab:()=>e(()=>import("./index-AALDfCyt.js"),__vite__mapDeps([19,1,2]),import.meta.url).then(t=>({default:t.CleanlabIcon})),Clickhouse:()=>e(()=>import("./index-S-sc0Cm9.js"),__vite__mapDeps([20,1,2]),import.meta.url).then(t=>({default:t.ClickhouseIcon})),Cloudflare:()=>e(()=>import("./index-CU16NJD7.js"),__vite__mapDeps([21,1,2]),import.meta.url).then(t=>({default:t.CloudflareIcon})),Cohere:()=>e(()=>import("./index-aWnZIwHd.js"),__vite__mapDeps([22,1,2]),import.meta.url).then(t=>({default:t.CohereIcon})),Composio:()=>e(()=>import("./index-Co__gFM1.js"),__vite__mapDeps([23,1,2]),import.meta.url).then(t=>({default:t.ComposioIcon})),Confluence:()=>e(()=>import("./index-DmYLDQag.js"),__vite__mapDeps([24,1,2]),import.meta.url).then(t=>({default:t.ConfluenceIcon})),Couchbase:()=>e(()=>import("./index-YJsAl7vm.js"),__vite__mapDeps([25,1,2]),import.meta.url).then(t=>({default:t.CouchbaseIcon})),Claude:()=>e(()=>import("./index-v8eXbWlM.js"),__vite__mapDeps([26,1,2]),import.meta.url).then(t=>({default:t.ClaudeIcon})),CrewAI:()=>e(()=>import("./index-DOj_QWqG.js"),__vite__mapDeps([27,1,2]),import.meta.url).then(t=>({default:t.CrewAiIcon})),Cursor:()=>e(()=>import("./index-BCXhKCOK.js"),__vite__mapDeps([28,1,2]),import.meta.url).then(t=>({default:t.CursorIcon})),DeepSeek:()=>e(()=>import("./index-uybez8MR.js"),__vite__mapDeps([29,1,2]),import.meta.url).then(t=>({default:t.DeepSeekIcon})),Docling:()=>e(()=>import("./index-DFY8YFbC.js"),__vite__mapDeps([30,1,2]),import.meta.url).then(t=>({default:t.DoclingIcon})),Dropbox:()=>e(()=>import("./index-CDphUsa3.js"),__vite__mapDeps([31,1,2]),import.meta.url).then(t=>({default:t.DropboxIcon})),DuckDuckGo:()=>e(()=>import("./index-yyAaYjLR.js"),__vite__mapDeps([32,1,2]),import.meta.url).then(t=>({default:t.DuckDuckGoIcon})),ElasticsearchStore:()=>e(()=>import("./index-Coi86oqP.js"),__vite__mapDeps([33,1,2]),import.meta.url).then(t=>({default:t.ElasticsearchIcon})),Evernote:()=>e(()=>import("./index-CPiM2oyj.js"),__vite__mapDeps([34,1,2]),import.meta.url).then(t=>({default:t.EvernoteIcon})),Exa:()=>e(()=>import("./index-BvRIG6P5.js"),__vite__mapDeps([35,1,2]),import.meta.url).then(t=>({default:t.ExaIcon})),FacebookMessenger:()=>e(()=>import("./index-BH7AyHxp.js"),__vite__mapDeps([36,1,2]),import.meta.url).then(t=>({default:t.FBIcon})),Firecrawl:()=>e(()=>import("./index-cYFKmtmg.js"),__vite__mapDeps([37,1,2]),import.meta.url).then(t=>({default:t.FirecrawlIcon})),FreezeAll:()=>e(()=>import("./index-DznH7Jbq.js"),__vite__mapDeps([38,1,2]),import.meta.url).then(t=>({default:t.freezeAllIcon})),GitBook:()=>e(()=>import("./index-9FL5xjkL.js"),__vite__mapDeps([39,1,2]),import.meta.url).then(t=>({default:t.GitBookIcon})),GitLoader:()=>e(()=>import("./index-BAn-AzCS.js"),__vite__mapDeps([40,1,2]),import.meta.url).then(t=>({default:t.GitLoaderIcon})),Glean:()=>e(()=>import("./index-ZjeocHyu.js"),__vite__mapDeps([41,1,2]),import.meta.url).then(t=>({default:t.GleanIcon})),GlobeOk:()=>e(()=>import("./index-Bw-TIIC6.js"),__vite__mapDeps([42,1,2]),import.meta.url).then(t=>({default:t.GlobeOkIcon})),Google:()=>e(()=>import("./index-BusCv3bR.js"),__vite__mapDeps([43,1,2]),import.meta.url).then(t=>({default:t.GoogleIcon})),GoogleDrive:()=>e(()=>import("./index-BLXN681C.js"),__vite__mapDeps([44,1,2]),import.meta.url).then(t=>({default:t.GoogleDriveIcon})),Googlemeet:()=>e(()=>import("./index-3jlSQi5Y.js"),__vite__mapDeps([45,1,2]),import.meta.url).then(t=>({default:t.GooglemeetIcon})),GoogleTasks:()=>e(()=>import("./index-CUzlcce2.js"),__vite__mapDeps([46,1,2]),import.meta.url).then(t=>({default:t.GoogleTasksIcon})),Googlesheets:()=>e(()=>import("./index-B3GvPjhD.js"),__vite__mapDeps([47,1,2]),import.meta.url).then(t=>({default:t.GooglesheetsIcon})),GoogleGenerativeAI:()=>e(()=>import("./index-BdjfHsrf.js"),__vite__mapDeps([48,1,2]),import.meta.url).then(t=>({default:t.GoogleGenerativeAIIcon})),Gmail:()=>e(()=>import("./index-RH_I78z_.js"),__vite__mapDeps([49,1,2]),import.meta.url).then(t=>({default:t.GmailIcon})),Outlook:()=>e(()=>import("./index-BMpKFGhI.js"),__vite__mapDeps([50,1,2]),import.meta.url).then(t=>({default:t.OutlookIcon})),Googlecalendar:()=>e(()=>import("./index-5-CSw2-z.js"),__vite__mapDeps([51,1,2]),import.meta.url).then(t=>({default:t.GooglecalendarIcon})),GradientInfinity:()=>e(()=>import("./index-D234yKNJ.js").then(t=>t.aa),__vite__mapDeps([1,2]),import.meta.url).then(t=>({default:t.GradientInfinity})),Googlemaps:()=>e(()=>import("./index-ChsGhZn3.js"),__vite__mapDeps([52,1,2]),import.meta.url).then(t=>({default:t.GooglemapsIcon})),Todoist:()=>e(()=>import("./index-CJ5A6STv.js"),__vite__mapDeps([53,1,2]),import.meta.url).then(t=>({default:t.TodoistIcon})),Zoom:()=>e(()=>import("./index-BX_asvRB.js"),__vite__mapDeps([54,1,2]),import.meta.url).then(t=>({default:t.ZoomIcon})),GradientUngroup:()=>e(()=>import("./index-D234yKNJ.js").then(t=>t.aa),__vite__mapDeps([1,2]),import.meta.url).then(t=>({default:t.GradientUngroup})),GradientSave:()=>e(()=>import("./index-D234yKNJ.js").then(t=>t.aa),__vite__mapDeps([1,2]),import.meta.url).then(t=>({default:t.GradientSave})),GridHorizontal:()=>e(()=>import("./index-4JIEdyIM.js"),__vite__mapDeps([55,1,2]),import.meta.url).then(t=>({default:t.GridHorizontalIcon})),Groq:()=>e(()=>import("./index-C_NwzK6j.js"),__vite__mapDeps([56,1,2]),import.meta.url).then(t=>({default:t.GroqIcon})),HackerNews:()=>e(()=>import("./index-Cb5G9Ifd.js"),__vite__mapDeps([57,1,2]),import.meta.url).then(t=>({default:t.HackerNewsIcon})),HCD:()=>e(()=>import("./index-B5LHnuQR.js"),__vite__mapDeps([58,1,2]),import.meta.url).then(t=>({default:t.HCDIcon})),HomeAssistant:()=>e(()=>import("./index--e0oQqZh.js"),__vite__mapDeps([59,1,2]),import.meta.url).then(t=>({default:t.HomeAssistantIcon})),HuggingFace:()=>e(()=>import("./index-CiklyQU3.js"),__vite__mapDeps([60,1,2]),import.meta.url).then(t=>({default:t.HuggingFaceIcon})),Icosa:()=>e(()=>import("./index-hg2y9OAt.js"),__vite__mapDeps([61,1,2]),import.meta.url).then(t=>({default:t.IcosaIcon})),IFixIt:()=>e(()=>import("./index-OsUvqIUr.js"),__vite__mapDeps([62,1,2]),import.meta.url).then(t=>({default:t.IFixIcon})),javascript:()=>e(()=>import("./index-CLcaktde.js"),__vite__mapDeps([63,1,2]),import.meta.url).then(t=>({default:t.JSIcon})),JigsawStack:()=>e(()=>import("./index-Ca1b7Iag.js"),__vite__mapDeps([64,1,2]),import.meta.url).then(t=>({default:t.JigsawStackIcon})),Linear:()=>e(()=>import("./index-xV6ystWy.js"),__vite__mapDeps([65,1,2]),import.meta.url).then(t=>({default:t.LinearIcon})),LangChain:()=>e(()=>import("./index-B_kBTgxV.js"),__vite__mapDeps([66,1,2]),import.meta.url).then(t=>({default:t.LangChainIcon})),Langwatch:()=>e(()=>import("./index-mjwtJmkP.js"),__vite__mapDeps([67,1,2]),import.meta.url).then(t=>({default:t.LangwatchIcon})),LMStudio:()=>e(()=>import("./index-BrDz-PxE.js"),__vite__mapDeps([68,1,2]),import.meta.url).then(t=>({default:t.LMStudioIcon})),Maritalk:()=>e(()=>import("./index-nw3WF9lY.js"),__vite__mapDeps([69,1,2]),import.meta.url).then(t=>({default:t.MaritalkIcon})),Mcp:()=>e(()=>import("./index-DmVt5Jlx.js"),__vite__mapDeps([70,1,2]),import.meta.url).then(t=>({default:t.McpIcon})),Mem0:()=>e(()=>import("./index-BLEWsL1U.js"),__vite__mapDeps([71,1,2]),import.meta.url).then(t=>({default:t.Mem0})),Meta:()=>e(()=>import("./index-Cw0UComa.js"),__vite__mapDeps([72,1,2]),import.meta.url).then(t=>({default:t.MetaIcon})),Midjourney:()=>e(()=>import("./index-7yAHPRxv.js"),__vite__mapDeps([73,1,2]),import.meta.url).then(t=>({default:t.MidjourneyIcon})),Milvus:()=>e(()=>import("./index-BMvp94tO.js"),__vite__mapDeps([74,1,2]),import.meta.url).then(t=>({default:t.MilvusIcon})),Mistral:()=>e(()=>import("./index-_szO7sta.js"),__vite__mapDeps([75,1,2]),import.meta.url).then(t=>({default:t.MistralIcon})),MongoDB:()=>e(()=>import("./index-DX7JcSMz.js"),__vite__mapDeps([76,1,2]),import.meta.url).then(t=>({default:t.MongoDBIcon})),Needle:()=>e(()=>import("./index-DZVgPCio.js"),__vite__mapDeps([77,1,2]),import.meta.url).then(t=>({default:t.NeedleIcon})),NotDiamond:()=>e(()=>import("./index-BIqEYjNT.js"),__vite__mapDeps([78,1,2]),import.meta.url).then(t=>({default:t.NotDiamondIcon})),Notion:()=>e(()=>import("./index-Df6psZEj.js"),__vite__mapDeps([79,1,2]),import.meta.url).then(t=>({default:t.NotionIcon})),Novita:()=>e(()=>import("./index-CQQ-4XMS.js"),__vite__mapDeps([80,1,2]),import.meta.url).then(t=>({default:t.NovitaIcon})),NVIDIA:()=>e(()=>import("./index-DTCrijba.js"),__vite__mapDeps([81,1,2]),import.meta.url).then(t=>({default:t.NvidiaIcon})),Olivya:()=>e(()=>import("./index-D-SnFlhU.js"),__vite__mapDeps([82,1,2]),import.meta.url).then(t=>({default:t.OlivyaIcon})),Ollama:()=>e(()=>import("./index-DbfS_UH-.js"),__vite__mapDeps([83,1,2]),import.meta.url).then(t=>({default:t.OllamaIcon})),OpenAI:()=>e(()=>import("./index-MVW4HTEk.js"),__vite__mapDeps([84,1,2]),import.meta.url).then(t=>({default:t.OpenAiIcon})),OpenRouter:()=>e(()=>import("./index-BnCnYnao.js"),__vite__mapDeps([85,1,2]),import.meta.url).then(t=>({default:t.OpenRouterIcon})),OpenSearch:()=>e(()=>import("./index-BISPW-f6.js"),__vite__mapDeps([86,1,2]),import.meta.url).then(t=>({default:t.OpenSearch})),Perplexity:()=>e(()=>import("./index-Drg8me2a.js"),__vite__mapDeps([87,1,2]),import.meta.url).then(t=>({default:t.PerplexityIcon})),Pinecone:()=>e(()=>import("./index-DcApTyZ7.js"),__vite__mapDeps([88,1,2]),import.meta.url).then(t=>({default:t.PineconeIcon})),Postgres:()=>e(()=>import("./index-C-2MRYoJ.js"),__vite__mapDeps([89,1,2]),import.meta.url).then(t=>({default:t.PostgresIcon})),Python:()=>e(()=>import("./index-DiblXWmk.js"),__vite__mapDeps([90,1,2]),import.meta.url).then(t=>({default:t.PythonIcon})),QDrant:()=>e(()=>import("./index-C51yNvIL.js"),__vite__mapDeps([91,1,2]),import.meta.url).then(t=>({default:t.QDrantIcon})),QianFanChat:()=>e(()=>import("./index-RjeC0kaX.js"),__vite__mapDeps([92,1,2]),import.meta.url).then(t=>({default:t.QianFanChatIcon})),Redis:()=>e(()=>import("./index-DMCerPJM.js"),__vite__mapDeps([93,1,2]),import.meta.url).then(t=>({default:t.RedisIcon})),Reddit:()=>e(()=>import("./index-Deu8rlaZ.js"),__vite__mapDeps([94,1,2]),import.meta.url).then(t=>({default:t.RedditIcon})),SambaNova:()=>e(()=>import("./index-S8uJXTOq.js"),__vite__mapDeps([95,1,2]),import.meta.url).then(t=>({default:t.SambaNovaIcon})),ScrapeGraph:()=>e(()=>import("./index-DJ6HD14g.js"),__vite__mapDeps([96,1,2]),import.meta.url).then(t=>({default:t.ScrapeGraph})),SearchAPI:()=>e(()=>import("./index-Bm9i8F4W.js"),__vite__mapDeps([97,1,2]),import.meta.url).then(t=>({default:t.SearchAPIIcon})),SearchLexical:()=>e(()=>import("./index-C-wnbBBY.js"),__vite__mapDeps([98,1,2]),import.meta.url).then(t=>({default:t.SearchLexicalIcon})),SearchHybrid:()=>e(()=>import("./index-BZ-A4K98.js"),__vite__mapDeps([99,1,2]),import.meta.url).then(t=>({default:t.SearchHybridIcon})),SearchVector:()=>e(()=>import("./index-DpWrk8mA.js"),__vite__mapDeps([100,1,2]),import.meta.url).then(t=>({default:t.SearchVectorIcon})),Searx:()=>e(()=>import("./index-DVLIDc2_.js"),__vite__mapDeps([101,1,2]),import.meta.url).then(t=>({default:t.SearxIcon})),SerpSearch:()=>e(()=>import("./index-CvSoff-8.js"),__vite__mapDeps([102,1,2]),import.meta.url).then(t=>({default:t.SerpSearchIcon})),Serper:()=>e(()=>import("./index-qiVTWUuf.js"),__vite__mapDeps([103,1,2]),import.meta.url).then(t=>({default:t.SerperIcon})),Share:()=>e(()=>import("./index-C6nzdeYx.js"),__vite__mapDeps([104,1,2]),import.meta.url).then(t=>({default:t.ShareIcon})),Share2:()=>e(()=>import("./index-COoTCxvs.js"),__vite__mapDeps([105,1,2]),import.meta.url).then(t=>({default:t.Share2Icon})),Slack:()=>e(()=>import("./SlackIcon-Cc7Qnzki.js"),__vite__mapDeps([106,1,2]),import.meta.url).then(t=>({default:t.default})),Spider:()=>e(()=>import("./index-BWFIrwW1.js"),__vite__mapDeps([107,1,2]),import.meta.url).then(t=>({default:t.SpiderIcon})),Streamlit:()=>e(()=>import("./index-Bl7RpmrB.js"),__vite__mapDeps([108,1,2]),import.meta.url).then(t=>({default:t.Streamlit})),Supabase:()=>e(()=>import("./index-DjQElpEg.js"),__vite__mapDeps([109,1,2]),import.meta.url).then(t=>({default:t.SupabaseIcon})),Tavily:()=>e(()=>import("./index-Bhcv5M0n.js"),__vite__mapDeps([110,1,2]),import.meta.url).then(t=>({default:t.TavilyIcon})),ThumbDownCustom:()=>e(()=>import("./index-BhqVw9WQ.js"),__vite__mapDeps([111,1,2]),import.meta.url).then(t=>({default:t.ThumbDownIconCustom})),ThumbUpCustom:()=>e(()=>import("./index-BhqVw9WQ.js"),__vite__mapDeps([111,1,2]),import.meta.url).then(t=>({default:t.ThumbUpIconCustom})),TwelveLabs:()=>e(()=>import("./index-k9jP5chN.js"),__vite__mapDeps([112,1,2]),import.meta.url).then(t=>({default:t.TwelveLabsIcon})),TwitterX:()=>e(()=>import("./index-Cu2Xr6_j.js"),__vite__mapDeps([113,1,2]),import.meta.url).then(t=>({default:t.TwitterXIcon})),Unstructured:()=>e(()=>import("./index-GzOGB_fo.js"),__vite__mapDeps([114,1,2]),import.meta.url).then(t=>({default:t.UnstructuredIcon})),Upstash:()=>e(()=>import("./index-BlDsBQ_1.js"),__vite__mapDeps([115,1,2]),import.meta.url).then(t=>({default:t.UpstashSvgIcon})),Vectara:()=>e(()=>import("./index-xN8ogFdo.js"),__vite__mapDeps([116,1,2]),import.meta.url).then(t=>({default:t.VectaraIcon})),VectorStores:()=>e(()=>import("./index-aAgSKWb3.js"),__vite__mapDeps([117,1,2]),import.meta.url).then(t=>({default:t.VectorStoresIcon})),VertexAI:()=>e(()=>import("./index-jwzN3Jd_.js"),__vite__mapDeps([118,1,2]),import.meta.url).then(t=>({default:t.VertexAIIcon})),WatsonxAI:()=>e(()=>import("./index-CeswGUz3.js"),__vite__mapDeps([119,1,2]),import.meta.url).then(t=>({default:t.WatsonxAiIcon})),Weaviate:()=>e(()=>import("./index-Cu7vC48Y.js"),__vite__mapDeps([120,1,2]),import.meta.url).then(t=>({default:t.WeaviateIcon})),Wikipedia:()=>e(()=>import("./Wikipedia-7ulMZY46.js"),__vite__mapDeps([121,1,2]),import.meta.url).then(t=>({default:t.default})),Windsurf:()=>e(()=>import("./index-DP1oE6QB.js"),__vite__mapDeps([122,1,2]),import.meta.url).then(t=>({default:t.WindsurfIcon})),Wolfram:()=>e(()=>import("./Wolfram-By9PGsHS.js"),__vite__mapDeps([123,1,2]),import.meta.url).then(t=>({default:t.default})),xAI:()=>e(()=>import("./index-BsdLyYMY.js"),__vite__mapDeps([124,1,2]),import.meta.url).then(t=>({default:t.XAIIcon})),YouTube:()=>e(()=>import("./index-CKPZpkQk.js"),__vite__mapDeps([125,1,2]),import.meta.url).then(t=>({default:t.YouTubeSvgIcon})),ZepMemory:()=>e(()=>import("./index-SB4rw8D5.js"),__vite__mapDeps([126,1,2]),import.meta.url).then(t=>({default:t.ZepMemoryIcon}))};export{r as lazyIconsMapping};
File without changes
@@ -1,277 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from typing import TYPE_CHECKING, Any, cast
4
-
5
- from langflow.graph.edge.schema import EdgeData, LoopTargetHandleDict, SourceHandle, TargetHandle, TargetHandleDict
6
- from langflow.logging.logger import logger
7
- from langflow.schema.schema import INPUT_FIELD_NAME
8
-
9
- if TYPE_CHECKING:
10
- from langflow.graph.vertex.base import Vertex
11
-
12
-
13
- class Edge:
14
- def __init__(self, source: Vertex, target: Vertex, edge: EdgeData):
15
- self.source_id: str = source.id if source else ""
16
- self.target_id: str = target.id if target else ""
17
- self.valid_handles: bool = False
18
- self.target_param: str | None = None
19
- self._target_handle: TargetHandleDict | str | None = None
20
- self._data = edge.copy()
21
- self.is_cycle = False
22
- if data := edge.get("data", {}):
23
- self._source_handle = data.get("sourceHandle", {})
24
- self._target_handle = cast("TargetHandleDict", data.get("targetHandle", {}))
25
- self.source_handle: SourceHandle = SourceHandle(**self._source_handle)
26
- if isinstance(self._target_handle, dict):
27
- try:
28
- if "name" in self._target_handle:
29
- self.target_handle: TargetHandle = TargetHandle.from_loop_target_handle(
30
- cast("LoopTargetHandleDict", self._target_handle)
31
- )
32
- else:
33
- self.target_handle = TargetHandle(**self._target_handle)
34
- except Exception as e:
35
- if "inputTypes" in self._target_handle and self._target_handle["inputTypes"] is None:
36
- # Check if self._target_handle['fieldName']
37
- if hasattr(target, "custom_component"):
38
- display_name = getattr(target.custom_component, "display_name", "")
39
- msg = (
40
- f"Component {display_name} field '{self._target_handle['fieldName']}' "
41
- "might not be a valid input."
42
- )
43
- raise ValueError(msg) from e
44
- msg = (
45
- f"Field '{self._target_handle['fieldName']}' on {target.display_name} "
46
- "might not be a valid input."
47
- )
48
- raise ValueError(msg) from e
49
- raise
50
-
51
- else:
52
- msg = "Target handle is not a dictionary"
53
- raise ValueError(msg)
54
- self.target_param = self.target_handle.field_name
55
- # validate handles
56
- self.validate_handles(source, target)
57
- else:
58
- # Logging here because this is a breaking change
59
- logger.error("Edge data is empty")
60
- self._source_handle = edge.get("sourceHandle", "") # type: ignore[assignment]
61
- self._target_handle = edge.get("targetHandle", "") # type: ignore[assignment]
62
- # 'BaseLoader;BaseOutputParser|documents|PromptTemplate-zmTlD'
63
- # target_param is documents
64
- if isinstance(self._target_handle, str):
65
- self.target_param = self._target_handle.split("|")[1]
66
- self.source_handle = None
67
- self.target_handle = None
68
- else:
69
- msg = "Target handle is not a string"
70
- raise ValueError(msg)
71
- # Validate in __init__ to fail fast
72
- self.validate_edge(source, target)
73
-
74
- def to_data(self):
75
- return self._data
76
-
77
- def validate_handles(self, source, target) -> None:
78
- if isinstance(self._source_handle, str) or self.source_handle.base_classes:
79
- self._legacy_validate_handles(source, target)
80
- else:
81
- self._validate_handles(source, target)
82
-
83
- def _validate_handles(self, source, target) -> None:
84
- if self.target_handle.input_types is None:
85
- self.valid_handles = self.target_handle.type in self.source_handle.output_types
86
- elif self.target_handle.type is None:
87
- # ! This is not a good solution
88
- # This is a loop edge
89
- # If the target_handle.type is None, it means it's a loop edge
90
- # and we should check if the source_handle.output_types is not empty
91
- # and if the target_handle.input_types is empty or if any of the source_handle.output_types
92
- # is in the target_handle.input_types
93
- self.valid_handles = bool(self.source_handle.output_types) and (
94
- not self.target_handle.input_types
95
- or any(output_type in self.target_handle.input_types for output_type in self.source_handle.output_types)
96
- )
97
-
98
- elif self.source_handle.output_types is not None:
99
- self.valid_handles = (
100
- any(output_type in self.target_handle.input_types for output_type in self.source_handle.output_types)
101
- or self.target_handle.type in self.source_handle.output_types
102
- )
103
-
104
- if not self.valid_handles:
105
- logger.debug(self.source_handle)
106
- logger.debug(self.target_handle)
107
- msg = f"Edge between {source.display_name} and {target.display_name} has invalid handles"
108
- raise ValueError(msg)
109
-
110
- def _legacy_validate_handles(self, source, target) -> None:
111
- if self.target_handle.input_types is None:
112
- self.valid_handles = self.target_handle.type in self.source_handle.base_classes
113
- else:
114
- self.valid_handles = (
115
- any(baseClass in self.target_handle.input_types for baseClass in self.source_handle.base_classes)
116
- or self.target_handle.type in self.source_handle.base_classes
117
- )
118
- if not self.valid_handles:
119
- logger.debug(self.source_handle)
120
- logger.debug(self.target_handle)
121
- msg = f"Edge between {source.vertex_type} and {target.vertex_type} has invalid handles"
122
- raise ValueError(msg)
123
-
124
- def __setstate__(self, state):
125
- self.source_id = state["source_id"]
126
- self.target_id = state["target_id"]
127
- self.target_param = state["target_param"]
128
- self.source_handle = state.get("source_handle")
129
- self.target_handle = state.get("target_handle")
130
- self._source_handle = state.get("_source_handle")
131
- self._target_handle = state.get("_target_handle")
132
- self._data = state.get("_data")
133
- self.valid_handles = state.get("valid_handles")
134
- self.source_types = state.get("source_types")
135
- self.target_reqs = state.get("target_reqs")
136
- self.matched_type = state.get("matched_type")
137
-
138
- def validate_edge(self, source, target) -> None:
139
- # If the self.source_handle has base_classes, then we are using the legacy
140
- # way of defining the source and target handles
141
- if isinstance(self._source_handle, str) or self.source_handle.base_classes:
142
- self._legacy_validate_edge(source, target)
143
- else:
144
- self._validate_edge(source, target)
145
-
146
- def _validate_edge(self, source, target) -> None:
147
- # Validate that the outputs of the source node are valid inputs
148
- # for the target node
149
- # .outputs is a list of Output objects as dictionaries
150
- # meaning: check for "types" key in each dictionary
151
- self.source_types = [output for output in source.outputs if output["name"] == self.source_handle.name]
152
- self.target_reqs = target.required_inputs + target.optional_inputs
153
- # Both lists contain strings and sometimes a string contains the value we are
154
- # looking for e.g. comgin_out=["Chain"] and target_reqs=["LLMChain"]
155
- # so we need to check if any of the strings in source_types is in target_reqs
156
- self.valid = any(
157
- any(output_type in target_req for output_type in output["types"])
158
- for output in self.source_types
159
- for target_req in self.target_reqs
160
- )
161
- # Get what type of input the target node is expecting
162
-
163
- # Update the matched type to be the first found match
164
- self.matched_type = next(
165
- (
166
- output_type
167
- for output in self.source_types
168
- for output_type in output["types"]
169
- for target_req in self.target_reqs
170
- if output_type in target_req
171
- ),
172
- None,
173
- )
174
- no_matched_type = self.matched_type is None
175
- if no_matched_type:
176
- logger.debug(self.source_types)
177
- logger.debug(self.target_reqs)
178
- msg = f"Edge between {source.vertex_type} and {target.vertex_type} has no matched type."
179
- raise ValueError(msg)
180
-
181
- def _legacy_validate_edge(self, source, target) -> None:
182
- # Validate that the outputs of the source node are valid inputs
183
- # for the target node
184
- self.source_types = source.output
185
- self.target_reqs = target.required_inputs + target.optional_inputs
186
- # Both lists contain strings and sometimes a string contains the value we are
187
- # looking for e.g. comgin_out=["Chain"] and target_reqs=["LLMChain"]
188
- # so we need to check if any of the strings in source_types is in target_reqs
189
- self.valid = any(output in target_req for output in self.source_types for target_req in self.target_reqs)
190
- # Get what type of input the target node is expecting
191
-
192
- self.matched_type = next(
193
- (output for output in self.source_types if output in self.target_reqs),
194
- None,
195
- )
196
- no_matched_type = self.matched_type is None
197
- if no_matched_type:
198
- logger.debug(self.source_types)
199
- logger.debug(self.target_reqs)
200
- msg = f"Edge between {source.vertex_type} and {target.vertex_type} has no matched type"
201
- raise ValueError(msg)
202
-
203
- def __repr__(self) -> str:
204
- if (hasattr(self, "source_handle") and self.source_handle) and (
205
- hasattr(self, "target_handle") and self.target_handle
206
- ):
207
- return f"{self.source_id} -[{self.source_handle.name}->{self.target_handle.field_name}]-> {self.target_id}"
208
- return f"{self.source_id} -[{self.target_param}]-> {self.target_id}"
209
-
210
- def __hash__(self) -> int:
211
- return hash(self.__repr__())
212
-
213
- def __eq__(self, /, other: object) -> bool:
214
- if not isinstance(other, Edge):
215
- return False
216
- return (
217
- self._source_handle == other._source_handle
218
- and self._target_handle == other._target_handle
219
- and self.target_param == other.target_param
220
- )
221
-
222
- def __str__(self) -> str:
223
- return self.__repr__()
224
-
225
-
226
- class CycleEdge(Edge):
227
- def __init__(self, source: Vertex, target: Vertex, raw_edge: EdgeData):
228
- super().__init__(source, target, raw_edge)
229
- self.is_fulfilled = False # Whether the contract has been fulfilled.
230
- self.result: Any = None
231
- self.is_cycle = True
232
- source.has_cycle_edges = True
233
- target.has_cycle_edges = True
234
-
235
- async def honor(self, source: Vertex, target: Vertex) -> None:
236
- """Fulfills the contract by setting the result of the source vertex to the target vertex's parameter.
237
-
238
- If the edge is runnable, the source vertex is run with the message text and the target vertex's
239
- root_field param is set to the
240
- result. If the edge is not runnable, the target vertex's parameter is set to the result.
241
- :param message: The message object to be processed if the edge is runnable.
242
- """
243
- if self.is_fulfilled:
244
- return
245
-
246
- if not source.built:
247
- # The system should be read-only, so we should not be building vertices
248
- # that are not already built.
249
- msg = f"Source vertex {source.id} is not built."
250
- raise ValueError(msg)
251
-
252
- if self.matched_type == "Text":
253
- self.result = source.built_result
254
- else:
255
- self.result = source.built_object
256
-
257
- target.params[self.target_param] = self.result
258
- self.is_fulfilled = True
259
-
260
- async def get_result_from_source(self, source: Vertex, target: Vertex):
261
- # Fulfill the contract if it has not been fulfilled.
262
- if not self.is_fulfilled:
263
- await self.honor(source, target)
264
-
265
- # If the target vertex is a power component we log messages
266
- if (
267
- target.vertex_type == "ChatOutput"
268
- and isinstance(target.params.get(INPUT_FIELD_NAME), str | dict)
269
- and target.params.get("message") == ""
270
- ):
271
- return self.result
272
- return self.result
273
-
274
- def __repr__(self) -> str:
275
- str_repr = super().__repr__()
276
- # Add a symbol to show this is a cycle edge
277
- return f"{str_repr} 🔄"