langflow-base-nightly 0.5.1.dev3__py3-none-any.whl → 0.5.1.dev5__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.
- langflow/__init__.py +215 -0
- langflow/__main__.py +16 -2
- langflow/alembic/versions/006b3990db50_add_unique_constraints.py +4 -7
- langflow/alembic/versions/012fb73ac359_add_folder_table.py +4 -5
- langflow/alembic/versions/0ae3a2674f32_update_the_columns_that_need_to_change_.py +11 -20
- langflow/alembic/versions/0b8757876a7c_.py +4 -7
- langflow/alembic/versions/0d60fcbd4e8e_create_vertex_builds_table.py +4 -6
- langflow/alembic/versions/1a110b568907_replace_credential_table_with_variable.py +4 -5
- langflow/alembic/versions/1b8b740a6fa3_remove_fk_constraint_in_message_.py +32 -27
- langflow/alembic/versions/1c79524817ed_add_unique_constraints_per_user_in_.py +4 -5
- langflow/alembic/versions/1d90f8a0efe1_update_description_columns_type.py +4 -5
- langflow/alembic/versions/1eab2c3eb45e_event_error.py +14 -15
- langflow/alembic/versions/1ef9c4f3765d_.py +5 -10
- langflow/alembic/versions/1f4d6df60295_add_default_fields_column.py +4 -5
- langflow/alembic/versions/260dbcc8b680_adds_tables.py +4 -5
- langflow/alembic/versions/29fe8f1f806b_add_missing_index.py +4 -5
- langflow/alembic/versions/2ac71eb9c3ae_adds_credential_table.py +4 -7
- langflow/alembic/versions/3bb0ddf32dfb_add_unique_constraints_per_user_in_flow_.py +4 -5
- langflow/alembic/versions/4e5980a44eaa_fix_date_times_again.py +1 -2
- langflow/alembic/versions/58b28437a398_modify_nullable.py +1 -2
- langflow/alembic/versions/5ace73a7f223_new_remove_table_upgrade_op.py +6 -12
- langflow/alembic/versions/631faacf5da2_add_webhook_columns.py +4 -5
- langflow/alembic/versions/63b9c451fd30_add_icon_and_icon_bg_color_to_flow.py +4 -5
- langflow/alembic/versions/66f72f04a1de_add_mcp_support_with_project_settings_.py +21 -23
- langflow/alembic/versions/67cc006d50bf_add_profile_image_column.py +4 -5
- langflow/alembic/versions/6e7b581b5648_fix_nullable.py +4 -5
- langflow/alembic/versions/7843803a87b5_store_updates.py +4 -6
- langflow/alembic/versions/79e675cb6752_change_datetime_type.py +1 -2
- langflow/alembic/versions/7d2162acc8b2_adds_updated_at_and_folder_cols.py +4 -10
- langflow/alembic/versions/90be8e2ed91e_create_transactions_table.py +4 -6
- langflow/alembic/versions/93e2705fa8d6_add_column_save_path_to_flow.py +7 -9
- langflow/alembic/versions/a72f5cf9c2f9_add_endpoint_name_col.py +4 -5
- langflow/alembic/versions/b2fa308044b5_add_unique_constraints.py +1 -2
- langflow/alembic/versions/bc2f01c40e4a_new_fixes.py +4 -5
- langflow/alembic/versions/c153816fd85f_set_name_and_value_to_not_nullable.py +4 -5
- langflow/alembic/versions/d066bfd22890_add_message_table.py +4 -4
- langflow/alembic/versions/d2d475a1f7c0_add_tags_column_to_flow.py +12 -13
- langflow/alembic/versions/d3dbf656a499_add_gradient_column_in_flow.py +12 -12
- langflow/alembic/versions/d9a6ea21edcd_rename_default_folder.py +7 -10
- langflow/alembic/versions/dd9e0804ebd1_add_v2_file_table.py +8 -7
- langflow/alembic/versions/e3162c1804e6_add_persistent_locked_state.py +10 -10
- langflow/alembic/versions/e3bc869fa272_fix_nullable.py +4 -5
- langflow/alembic/versions/e56d87f8994a_add_optins_column_to_user.py +13 -14
- langflow/alembic/versions/e5a65ecff2cd_nullable_in_vertex_build.py +4 -5
- langflow/alembic/versions/eb5866d51fd2_change_columns_to_be_nullable.py +4 -5
- langflow/alembic/versions/eb5e72293a8e_add_error_and_edit_flags_to_message.py +4 -5
- langflow/alembic/versions/f3b2d1f1002d_add_column_access_type_to_flow.py +19 -15
- langflow/alembic/versions/f5ee9749d1a6_user_id_can_be_null_in_flow.py +4 -6
- langflow/alembic/versions/fd531f8868b1_fix_credential_table.py +5 -8
- langflow/api/build.py +5 -4
- langflow/api/health_check_router.py +1 -1
- langflow/api/limited_background_tasks.py +1 -1
- langflow/api/log_router.py +1 -2
- langflow/api/utils.py +2 -2
- langflow/api/v1/base.py +1 -2
- langflow/api/v1/callback.py +4 -9
- langflow/api/v1/chat.py +6 -7
- langflow/api/v1/endpoints.py +15 -15
- langflow/api/v1/files.py +1 -1
- langflow/api/v1/flows.py +1 -1
- langflow/api/v1/knowledge_bases.py +1 -1
- langflow/api/v1/mcp.py +1 -1
- langflow/api/v1/mcp_projects.py +14 -5
- langflow/api/v1/mcp_utils.py +3 -3
- langflow/api/v1/openai_responses.py +4 -4
- langflow/api/v1/schemas.py +3 -38
- langflow/api/v1/starter_projects.py +61 -3
- langflow/api/v1/store.py +1 -1
- langflow/api/v1/validate.py +3 -3
- langflow/api/v1/voice_mode.py +2 -2
- langflow/api/v2/files.py +1 -1
- langflow/api/v2/mcp.py +2 -2
- langflow/base/__init__.py +11 -0
- langflow/base/agents/__init__.py +3 -0
- langflow/base/data/__init__.py +2 -4
- langflow/base/data/utils.py +2 -197
- langflow/base/embeddings/__init__.py +3 -0
- langflow/base/io/__init__.py +7 -0
- langflow/base/io/chat.py +5 -18
- langflow/base/io/text.py +2 -21
- langflow/base/knowledge_bases/__init__.py +3 -0
- langflow/base/memory/__init__.py +3 -0
- langflow/base/models/__init__.py +2 -2
- langflow/base/models/openai_constants.py +6 -120
- langflow/base/prompts/__init__.py +3 -0
- langflow/base/prompts/api_utils.py +2 -223
- langflow/base/textsplitters/__init__.py +3 -0
- langflow/base/tools/__init__.py +3 -0
- langflow/base/vectorstores/__init__.py +3 -0
- langflow/components/__init__.py +7 -259
- langflow/components/agents.py +6 -0
- langflow/components/anthropic.py +6 -0
- langflow/components/data.py +6 -0
- langflow/components/helpers.py +6 -0
- langflow/components/knowledge_bases/ingestion.py +13 -14
- langflow/components/knowledge_bases/retrieval.py +8 -7
- langflow/components/openai.py +6 -0
- langflow/components/processing/__init__.py +1 -117
- langflow/components/processing/converter.py +3 -149
- langflow/custom/__init__.py +26 -3
- langflow/custom/custom_component/__init__.py +4 -0
- langflow/custom/custom_component/component.py +20 -1738
- langflow/custom/custom_component/component_with_cache.py +1 -8
- langflow/custom/custom_component/custom_component.py +1 -552
- langflow/custom/utils.py +1 -872
- langflow/custom/validate.py +1 -0
- langflow/events/event_manager.py +18 -108
- langflow/field_typing/__init__.py +6 -6
- langflow/field_typing/constants.py +87 -122
- langflow/field_typing/range_spec.py +2 -32
- langflow/frontend/assets/{SlackIcon-Cc7Qnzki.js → SlackIcon-v88osOTA.js} +1 -1
- langflow/frontend/assets/{Wikipedia-7ulMZY46.js → Wikipedia-DD_S2k00.js} +1 -1
- langflow/frontend/assets/{Wolfram-By9PGsHS.js → Wolfram-EO2C5noN.js} +1 -1
- langflow/frontend/assets/{index-DVLIDc2_.js → index-1Gv1mfvk.js} +1 -1
- langflow/frontend/assets/{index-MVW4HTEk.js → index-7v-bzlzf.js} +1 -1
- langflow/frontend/assets/{index-CUzlcce2.js → index-9CbMazbV.js} +1 -1
- langflow/frontend/assets/{index-CU16NJD7.js → index-B8ZHP8g2.js} +1 -1
- langflow/frontend/assets/{index-v8eXbWlM.js → index-B8y2e6vN.js} +1 -1
- langflow/frontend/assets/{index-BX_asvRB.js → index-BBRUGsyr.js} +1 -1
- langflow/frontend/assets/{index-9FL5xjkL.js → index-BGwqQwlh.js} +1 -1
- langflow/frontend/assets/{index-BAn-AzCS.js → index-BIq-k-FG.js} +1 -1
- langflow/frontend/assets/{index-D5c2nNvp.js → index-BSN73YP8.js} +1 -1
- langflow/frontend/assets/{index-DMCerPJM.js → index-BU8R8jRn.js} +1 -1
- langflow/frontend/assets/{index-CvSoff-8.js → index-BV6yx8ey.js} +1 -1
- langflow/frontend/assets/{index-BISPW-f6.js → index-BYIsg-Eh.js} +1 -1
- langflow/frontend/assets/{index-GzOGB_fo.js → index-B_ksDBSQ.js} +1 -1
- langflow/frontend/assets/{index-BIqEYjNT.js → index-Ba1UOZ9A.js} +1 -1
- langflow/frontend/assets/{index-ByxGmq5p.js → index-Ba9tKRQg.js} +1 -1
- langflow/frontend/assets/{index-BLEWsL1U.js → index-Bbfaw8ca.js} +1 -1
- langflow/frontend/assets/{index-C_MhBX6R.js → index-BbuGqvAx.js} +1 -1
- langflow/frontend/assets/{index-RH_I78z_.js → index-BeoXu1YX.js} +1 -1
- langflow/frontend/assets/{index-cYFKmtmg.js → index-BfjZmOnH.js} +1 -1
- langflow/frontend/assets/{index-Bm9i8F4W.js → index-Bjzy_HZB.js} +1 -1
- langflow/frontend/assets/{index-_szO7sta.js → index-BofEkpYB.js} +1 -1
- langflow/frontend/assets/{index-DP1oE6QB.js → index-Bp7Mty2H.js} +1 -1
- langflow/frontend/assets/{index-CeswGUz3.js → index-BqX1H6yK.js} +1 -1
- langflow/frontend/assets/{index-C8pI0lzi.js → index-BqtBAJAN.js} +1 -1
- langflow/frontend/assets/{index-BusCv3bR.js → index-Bsfraj7A.js} +1 -1
- langflow/frontend/assets/{index-BWnKMRFJ.js → index-BtFl7fER.js} +1 -1
- langflow/frontend/assets/{index-DnlVWWU8.js → index-BvX993Sv.js} +1 -1
- langflow/frontend/assets/{index-C676MS3I.js → index-BvgQ2vzM.js} +1 -1
- langflow/frontend/assets/{index-DJ6HD14g.js → index-BwY98u8n.js} +1 -1
- langflow/frontend/assets/{index-C51yNvIL.js → index-C-RIJAOS.js} +1 -1
- langflow/frontend/assets/{index-DiblXWmk.js → index-C1K6A38P.js} +1 -1
- langflow/frontend/assets/{index-Co__gFM1.js → index-C3Vwhx0t.js} +1 -1
- langflow/frontend/assets/{index-Coi86oqP.js → index-C5XUG_gr.js} +1 -1
- langflow/frontend/assets/{index-jwzN3Jd_.js → index-C6ouLG9o.js} +1 -1
- langflow/frontend/assets/{index-CQQ-4XMS.js → index-C7ZJ_Z6f.js} +1 -1
- langflow/frontend/assets/{index-Bl7RpmrB.js → index-CCOGIwGY.js} +1 -1
- langflow/frontend/assets/{index-CVkIdc6y.js → index-CCcye2rt.js} +1 -1
- langflow/frontend/assets/{index-bMhyLtgS.js → index-CFR4yJQB.js} +1 -1
- langflow/frontend/assets/{index-aAgSKWb3.js → index-CIGmPP0H.js} +1 -1
- langflow/frontend/assets/{index-BGt6jQ4x.js → index-CJmMEa6d.js} +1 -1
- langflow/frontend/assets/{index-DX7JcSMz.js → index-CJxD7lyU.js} +1 -1
- langflow/frontend/assets/{index-BZ-A4K98.js → index-CL_vu6ut.js} +1 -1
- langflow/frontend/assets/{index-BMpKFGhI.js → index-COf3UnBn.js} +1 -1
- langflow/frontend/assets/{index-xN8ogFdo.js → index-CV9650h_.js} +1 -1
- langflow/frontend/assets/{index-OsUvqIUr.js → index-CVDzych0.js} +1 -1
- langflow/frontend/assets/{index-BH7AyHxp.js → index-CWIHsC4D.js} +1 -1
- langflow/frontend/assets/{index-mjwtJmkP.js → index-CXCnFZ0L.js} +1 -1
- langflow/frontend/assets/{index-3jlSQi5Y.js → index-Ca_Pw_Dn.js} +1 -1
- langflow/frontend/assets/{index-D-SnFlhU.js → index-Cbb3bX9e.js} +1 -1
- langflow/frontend/assets/{index--e0oQqZh.js → index-CcJtOz-Z.js} +1 -1
- langflow/frontend/assets/{index-S-sc0Cm9.js → index-CfTbTHEv.js} +1 -1
- langflow/frontend/assets/{index-Deu8rlaZ.js → index-ChoxDAgX.js} +1 -1
- langflow/frontend/assets/{index-lnF9Eqr2.js → index-Cn4gw8aE.js} +1 -1
- langflow/frontend/assets/{index-C_NwzK6j.js → index-CnpLg4zX.js} +1 -1
- langflow/frontend/assets/{index-DznH7Jbq.js → index-Cpao2omG.js} +1 -1
- langflow/frontend/assets/{index-DpWrk8mA.js → index-CqoxM01j.js} +1 -1
- langflow/frontend/assets/{index-Bw-TIIC6.js → index-CrHf2Ic1.js} +1 -1
- langflow/frontend/assets/{index-DmYLDQag.js → index-CrV0uIjp.js} +1 -1
- langflow/frontend/assets/{index-Dp7ZQyL3.js → index-CssADaak.js} +1 -1
- langflow/frontend/assets/{index-CNh0rwur.js → index-CtJdNLy9.js} +1 -1
- langflow/frontend/assets/{index-Ca1b7Iag.js → index-CyeWD2dh.js} +1 -1
- langflow/frontend/assets/{index-DcApTyZ7.js → index-D1xzD7uc.js} +1 -1
- langflow/frontend/assets/{index-B3GvPjhD.js → index-D6MuXC4L.js} +1 -1
- langflow/frontend/assets/{index-Cw0UComa.js → index-D8w9zvIF.js} +1 -1
- langflow/frontend/assets/{index-C-2MRYoJ.js → index-D98Gn0A6.js} +1 -1
- langflow/frontend/assets/{index-aWnZIwHd.js → index-DBhjpWkf.js} +1 -1
- langflow/frontend/assets/{index-nw3WF9lY.js → index-DCCRJzcY.js} +1 -1
- langflow/frontend/assets/{index-RjeC0kaX.js → index-DCTRSkEW.js} +1 -1
- langflow/frontend/assets/{index-B_kBTgxV.js → index-DCUfitVj.js} +1 -1
- langflow/frontend/assets/{index-ChsGhZn3.js → index-DDdz-Xcl.js} +1 -1
- langflow/frontend/assets/{index-7yAHPRxv.js → index-DGdMwZjG.js} +1 -1
- langflow/frontend/assets/{index-DjQElpEg.js → index-DGtl2vMw.js} +1 -1
- langflow/frontend/assets/{index-BCXhKCOK.js → index-DHVdkrni.js} +1 -1
- langflow/frontend/assets/{index-S8uJXTOq.js → index-DJBWwjgl.js} +1 -1
- langflow/frontend/assets/{index-qiVTWUuf.js → index-DMAkJ_qX.js} +1 -1
- langflow/frontend/assets/{index-D-WStJI6.js → index-DMEvEQI5.js} +1 -1
- langflow/frontend/assets/{index-BhqVw9WQ.js → index-DNGRoOsp.js} +1 -1
- langflow/frontend/assets/{index-Cu7vC48Y.js → index-DNT_TUTa.js} +1 -1
- langflow/frontend/assets/{index-Bhcv5M0n.js → index-DQKOH_9K.js} +1 -1
- langflow/frontend/assets/{index-CLcaktde.js → index-DQhqqtqQ.js} +1 -1
- langflow/frontend/assets/{index-DZVgPCio.js → index-DRM7KKnG.js} +1 -1
- langflow/frontend/assets/{index-uybez8MR.js → index-DSCtl3a5.js} +1 -1
- langflow/frontend/assets/{index-CJ5A6STv.js → index-DSLNlm0Z.js} +1 -1
- langflow/frontend/assets/{index-Drg8me2a.js → index-DT-PspE-.js} +1 -1
- langflow/frontend/assets/{index-DsEZjOcp.js → index-DTpbH-p8.js} +1 -1
- langflow/frontend/assets/{index-DrXXKzpD.js → index-DWV6MsIq.js} +1 -1
- langflow/frontend/assets/{index-4JIEdyIM.js → index-DWeL4US_.js} +1 -1
- langflow/frontend/assets/{index-BlDsBQ_1.js → index-DYKZHhpU.js} +1 -1
- langflow/frontend/assets/{index-DFY8YFbC.js → index-DZyQHiMR.js} +1 -1
- langflow/frontend/assets/{index-CKPZpkQk.js → index-Dc6qVuSa.js} +1 -1
- langflow/frontend/assets/{index-yyAaYjLR.js → index-DkYuicnC.js} +1 -1
- langflow/frontend/assets/{index-DmVt5Jlx.js → index-Dlj_2mMs.js} +1 -1
- langflow/frontend/assets/{index-BvRIG6P5.js → index-DmGJUrEp.js} +1 -1
- langflow/frontend/assets/{index-BWFIrwW1.js → index-Dn6hpCAZ.js} +1 -1
- langflow/frontend/assets/{index-Cb5G9Ifd.js → index-DrJU8Fgb.js} +1 -1
- langflow/frontend/assets/{index-COoTCxvs.js → index-DsWfdCzp.js} +1 -1
- langflow/frontend/assets/{index-ZjeocHyu.js → index-DvCPWs2_.js} +1 -1
- langflow/frontend/assets/{index-B5LHnuQR.js → index-DvPVq7OP.js} +1 -1
- langflow/frontend/assets/{index-BnCnYnao.js → index-Dw71ufW4.js} +1 -1
- langflow/frontend/assets/{index-AALDfCyt.js → index-DxkJactf.js} +1 -1
- langflow/frontend/assets/{index-k9jP5chN.js → index-Dz2GTphU.js} +1 -1
- langflow/frontend/assets/{index-BdjfHsrf.js → index-Fvd524_c.js} +1 -1
- langflow/frontend/assets/{index-AKVkmT4S.js → index-GAQ0Mk2M.js} +1 -1
- langflow/frontend/assets/{index-BZSa2qz7.js → index-Hm5-4ItD.js} +1 -1
- langflow/frontend/assets/{index-DbfS_UH-.js → index-IT67FzsK.js} +1 -1
- langflow/frontend/assets/{index-BLXN681C.js → index-ItYiij1i.js} +1 -1
- langflow/frontend/assets/{index-CiklyQU3.js → index-IuR_FEdB.js} +1 -1
- langflow/frontend/assets/{index-xV6ystWy.js → index-Jj60FQkv.js} +1 -1
- langflow/frontend/assets/{index-C_157Mb-.js → index-LlvshmVz.js} +1 -1
- langflow/frontend/assets/{index-CDphUsa3.js → index-LwKh3I_W.js} +1 -1
- langflow/frontend/assets/{index-BrDz-PxE.js → index-N-xxmKKH.js} +1 -1
- langflow/frontend/assets/{index-BsdLyYMY.js → index-RwpaHIAH.js} +1 -1
- langflow/frontend/assets/{index-Cu2Xr6_j.js → index-TVvsp-xh.js} +1 -1
- langflow/frontend/assets/{index-CPiM2oyj.js → index-TdE2u9zP.js} +1 -1
- langflow/frontend/assets/{index-DOj_QWqG.js → index-_x-NkYeW.js} +1 -1
- langflow/frontend/assets/{index-YJsAl7vm.js → index-a-YclEbW.js} +1 -1
- langflow/frontend/assets/{index-5-CSw2-z.js → index-e9MFKUCo.js} +1 -1
- langflow/frontend/assets/{index-BSwBVwyF.js → index-krPr8f2F.js} +1 -1
- langflow/frontend/assets/{index-Df6psZEj.js → index-kveiUWuL.js} +1 -1
- langflow/frontend/assets/{index-CF4_Og1m.js → index-lE3oSjJi.js} +1 -1
- langflow/frontend/assets/{index-C6nzdeYx.js → index-lM3UYg7F.js} +1 -1
- langflow/frontend/assets/{index-C-wnbBBY.js → index-nsRk3qgA.js} +1 -1
- langflow/frontend/assets/{index-D234yKNJ.js → index-pBO0SZLD.js} +4 -4
- langflow/frontend/assets/{index-BMvp94tO.js → index-pbZHsbuE.js} +1 -1
- langflow/frontend/assets/{index-hg2y9OAt.js → index-sfX3aWyp.js} +1 -1
- langflow/frontend/assets/{index-DTCrijba.js → index-xQz-VJ0-.js} +1 -1
- langflow/frontend/assets/{index-SB4rw8D5.js → index-yfcsaHS6.js} +1 -1
- langflow/frontend/assets/{index-C-bjC2sz.js → index-zcGjo9fx.js} +1 -1
- langflow/frontend/assets/lazyIconImports-BjqDmNYG.js +2 -0
- langflow/frontend/assets/{use-post-add-user-JUeLDErC.js → use-post-add-user-w3vpKSOB.js} +1 -1
- langflow/frontend/index.html +1 -1
- langflow/graph/__init__.py +4 -4
- langflow/helpers/data.py +2 -2
- langflow/helpers/flow.py +9 -7
- langflow/helpers/user.py +2 -2
- langflow/initial_setup/setup.py +9 -9
- langflow/initial_setup/starter_projects/Basic Prompt Chaining.json +119 -41
- langflow/initial_setup/starter_projects/Basic Prompting.json +45 -19
- langflow/initial_setup/starter_projects/Blog Writer.json +53 -21
- langflow/initial_setup/starter_projects/Custom Component Generator.json +121 -97
- langflow/initial_setup/starter_projects/Document Q&A.json +46 -18
- langflow/initial_setup/starter_projects/Financial Report Parser.json +49 -17
- langflow/initial_setup/starter_projects/Hybrid Search RAG.json +89 -50
- langflow/initial_setup/starter_projects/Image Sentiment Analysis.json +86 -22
- langflow/initial_setup/starter_projects/Instagram Copywriter.json +210 -57
- langflow/initial_setup/starter_projects/Invoice Summarizer.json +132 -35
- langflow/initial_setup/starter_projects/Knowledge Ingestion.json +8 -8
- langflow/initial_setup/starter_projects/Knowledge Retrieval.json +8 -8
- langflow/initial_setup/starter_projects/Market Research.json +174 -48
- langflow/initial_setup/starter_projects/Meeting Summary.json +102 -38
- langflow/initial_setup/starter_projects/Memory Chatbot.json +49 -21
- langflow/initial_setup/starter_projects/News Aggregator.json +140 -39
- langflow/initial_setup/starter_projects/Nvidia Remix.json +153 -181
- langflow/initial_setup/starter_projects/Pok/303/251dex Agent.json" +132 -35
- langflow/initial_setup/starter_projects/Portfolio Website Code Generator.json +106 -43
- langflow/initial_setup/starter_projects/Price Deal Finder.json +136 -39
- langflow/initial_setup/starter_projects/Research Agent.json +206 -53
- langflow/initial_setup/starter_projects/Research Translation Loop.json +66 -34
- langflow/initial_setup/starter_projects/SEO Keyword Generator.json +41 -15
- langflow/initial_setup/starter_projects/SaaS Pricing.json +128 -31
- langflow/initial_setup/starter_projects/Search agent.json +132 -35
- langflow/initial_setup/starter_projects/Sequential Tasks Agents.json +422 -98
- langflow/initial_setup/starter_projects/Simple Agent.json +150 -42
- langflow/initial_setup/starter_projects/Social Media Agent.json +150 -42
- langflow/initial_setup/starter_projects/Text Sentiment Analysis.json +120 -24
- langflow/initial_setup/starter_projects/Travel Planning Agents.json +418 -94
- langflow/initial_setup/starter_projects/Twitter Thread Generator.json +69 -37
- langflow/initial_setup/starter_projects/Vector Store RAG.json +66 -38
- langflow/initial_setup/starter_projects/Youtube Analysis.json +191 -51
- langflow/initial_setup/starter_projects/basic_prompting.py +4 -4
- langflow/initial_setup/starter_projects/blog_writer.py +5 -5
- langflow/initial_setup/starter_projects/complex_agent.py +8 -8
- langflow/initial_setup/starter_projects/document_qa.py +5 -5
- langflow/initial_setup/starter_projects/hierarchical_tasks_agent.py +8 -8
- langflow/initial_setup/starter_projects/memory_chatbot.py +6 -6
- langflow/initial_setup/starter_projects/sequential_tasks_agent.py +7 -7
- langflow/initial_setup/starter_projects/vector_store_rag.py +8 -8
- langflow/inputs/__init__.py +3 -2
- langflow/inputs/constants.py +3 -2
- langflow/inputs/input_mixin.py +49 -310
- langflow/inputs/inputs.py +72 -703
- langflow/inputs/validators.py +2 -18
- langflow/interface/__init__.py +4 -0
- langflow/interface/components.py +3 -491
- langflow/interface/initialize/loading.py +7 -6
- langflow/interface/listing.py +3 -25
- langflow/interface/run.py +1 -1
- langflow/interface/utils.py +3 -111
- langflow/io/__init__.py +2 -2
- langflow/io/schema.py +11 -302
- langflow/load/__init__.py +4 -2
- langflow/load/utils.py +2 -96
- langflow/logging/__init__.py +2 -1
- langflow/logging/setup.py +1 -1
- langflow/main.py +8 -5
- langflow/memory.py +12 -6
- langflow/middleware.py +1 -1
- langflow/processing/process.py +7 -7
- langflow/schema/__init__.py +22 -5
- langflow/schema/artifact.py +1 -1
- langflow/schema/data.py +5 -303
- langflow/schema/dataframe.py +2 -205
- langflow/schema/graph.py +4 -45
- langflow/schema/image.py +2 -67
- langflow/schema/message.py +6 -470
- langflow/schema/playground_events.py +5 -6
- langflow/schema/schema.py +24 -117
- langflow/serialization/constants.py +3 -2
- langflow/serialization/serialization.py +1 -1
- langflow/server.py +1 -2
- langflow/services/__init__.py +1 -2
- langflow/services/auth/mcp_encryption.py +1 -1
- langflow/services/auth/service.py +1 -1
- langflow/services/auth/utils.py +5 -5
- langflow/services/cache/disk.py +2 -2
- langflow/services/cache/factory.py +2 -2
- langflow/services/cache/service.py +2 -2
- langflow/services/cache/utils.py +0 -11
- langflow/services/database/factory.py +1 -1
- langflow/services/database/models/flow/model.py +1 -1
- langflow/services/database/models/message/crud.py +2 -1
- langflow/services/database/models/transactions/crud.py +1 -1
- langflow/services/database/models/user/crud.py +1 -1
- langflow/services/database/service.py +2 -2
- langflow/services/database/utils.py +1 -2
- langflow/services/deps.py +12 -17
- langflow/services/enhanced_manager.py +71 -0
- langflow/services/factory.py +14 -7
- langflow/services/flow/flow_runner.py +4 -4
- langflow/services/job_queue/service.py +2 -1
- langflow/services/manager.py +14 -130
- langflow/services/schema.py +0 -1
- langflow/services/session/service.py +3 -2
- langflow/services/settings/__init__.py +0 -3
- langflow/services/settings/base.py +16 -549
- langflow/services/settings/factory.py +2 -21
- langflow/services/settings/feature_flags.py +2 -11
- langflow/services/settings/service.py +2 -31
- langflow/services/shared_component_cache/factory.py +1 -1
- langflow/services/socket/service.py +1 -1
- langflow/services/socket/utils.py +1 -8
- langflow/services/state/factory.py +1 -1
- langflow/services/state/service.py +3 -2
- langflow/services/storage/factory.py +2 -2
- langflow/services/storage/local.py +1 -2
- langflow/services/storage/s3.py +1 -2
- langflow/services/storage/service.py +2 -1
- langflow/services/store/factory.py +1 -1
- langflow/services/store/service.py +2 -2
- langflow/services/store/utils.py +1 -2
- langflow/services/task/service.py +2 -1
- langflow/services/task/temp_flow_cleanup.py +1 -1
- langflow/services/telemetry/factory.py +1 -1
- langflow/services/telemetry/service.py +2 -3
- langflow/services/tracing/arize_phoenix.py +3 -3
- langflow/services/tracing/base.py +1 -1
- langflow/services/tracing/factory.py +1 -1
- langflow/services/tracing/langfuse.py +2 -2
- langflow/services/tracing/langsmith.py +2 -2
- langflow/services/tracing/langwatch.py +4 -4
- langflow/services/tracing/opik.py +2 -2
- langflow/services/tracing/service.py +17 -11
- langflow/services/tracing/traceloop.py +2 -2
- langflow/services/tracing/utils.py +1 -1
- langflow/services/utils.py +54 -9
- langflow/services/variable/factory.py +1 -1
- langflow/services/variable/kubernetes.py +2 -3
- langflow/services/variable/kubernetes_secrets.py +1 -2
- langflow/services/variable/service.py +2 -3
- langflow/template/__init__.py +2 -9
- langflow/template/field/__init__.py +3 -0
- langflow/template/field/base.py +2 -256
- langflow/template/frontend_node.py +3 -0
- langflow/template/utils.py +2 -216
- langflow/utils/constants.py +28 -204
- langflow/utils/lazy_load.py +3 -14
- langflow/utils/schemas.py +2 -3
- langflow/utils/template_validation.py +2 -2
- langflow/utils/util.py +59 -479
- langflow/utils/validate.py +2 -488
- langflow/utils/voice_utils.py +1 -2
- langflow/worker.py +1 -1
- {langflow_base_nightly-0.5.1.dev3.dist-info → langflow_base_nightly-0.5.1.dev5.dist-info}/METADATA +2 -1
- langflow_base_nightly-0.5.1.dev5.dist-info/RECORD +633 -0
- langflow/base/agents/agent.py +0 -267
- langflow/base/agents/callback.py +0 -130
- langflow/base/agents/context.py +0 -109
- langflow/base/agents/crewai/__init__.py +0 -0
- langflow/base/agents/crewai/crew.py +0 -231
- langflow/base/agents/crewai/tasks.py +0 -12
- langflow/base/agents/default_prompts.py +0 -23
- langflow/base/agents/errors.py +0 -15
- langflow/base/agents/events.py +0 -346
- langflow/base/agents/utils.py +0 -205
- langflow/base/astra_assistants/__init__.py +0 -0
- langflow/base/astra_assistants/util.py +0 -171
- langflow/base/chains/__init__.py +0 -0
- langflow/base/chains/model.py +0 -19
- langflow/base/composio/__init__.py +0 -0
- langflow/base/composio/composio_base.py +0 -1297
- langflow/base/compressors/__init__.py +0 -0
- langflow/base/compressors/model.py +0 -60
- langflow/base/constants.py +0 -46
- langflow/base/curl/__init__.py +0 -0
- langflow/base/curl/parse.py +0 -188
- langflow/base/data/base_file.py +0 -685
- langflow/base/data/docling_utils.py +0 -245
- langflow/base/document_transformers/__init__.py +0 -0
- langflow/base/document_transformers/model.py +0 -43
- langflow/base/embeddings/aiml_embeddings.py +0 -62
- langflow/base/embeddings/model.py +0 -26
- langflow/base/flow_processing/__init__.py +0 -0
- langflow/base/flow_processing/utils.py +0 -86
- langflow/base/huggingface/__init__.py +0 -0
- langflow/base/huggingface/model_bridge.py +0 -133
- langflow/base/langchain_utilities/__init__.py +0 -0
- langflow/base/langchain_utilities/model.py +0 -35
- langflow/base/langchain_utilities/spider_constants.py +0 -1
- langflow/base/langwatch/__init__.py +0 -0
- langflow/base/langwatch/utils.py +0 -18
- langflow/base/mcp/__init__.py +0 -0
- langflow/base/mcp/constants.py +0 -2
- langflow/base/mcp/util.py +0 -1524
- langflow/base/memory/memory.py +0 -49
- langflow/base/memory/model.py +0 -38
- langflow/base/models/aiml_constants.py +0 -51
- langflow/base/models/anthropic_constants.py +0 -47
- langflow/base/models/aws_constants.py +0 -151
- langflow/base/models/chat_result.py +0 -76
- langflow/base/models/google_generative_ai_constants.py +0 -70
- langflow/base/models/groq_constants.py +0 -134
- langflow/base/models/model.py +0 -375
- langflow/base/models/model_input_constants.py +0 -299
- langflow/base/models/model_metadata.py +0 -41
- langflow/base/models/model_utils.py +0 -8
- langflow/base/models/novita_constants.py +0 -35
- langflow/base/models/ollama_constants.py +0 -49
- langflow/base/models/sambanova_constants.py +0 -18
- langflow/base/processing/__init__.py +0 -0
- langflow/base/prompts/utils.py +0 -61
- langflow/base/textsplitters/model.py +0 -28
- langflow/base/tools/base.py +0 -26
- langflow/base/tools/component_tool.py +0 -324
- langflow/base/tools/constants.py +0 -49
- langflow/base/tools/flow_tool.py +0 -131
- langflow/base/tools/run_flow.py +0 -227
- langflow/base/vectorstores/model.py +0 -193
- langflow/base/vectorstores/utils.py +0 -22
- langflow/base/vectorstores/vector_store_connection_decorator.py +0 -52
- langflow/components/FAISS/__init__.py +0 -34
- langflow/components/FAISS/faiss.py +0 -111
- langflow/components/Notion/__init__.py +0 -19
- langflow/components/Notion/add_content_to_page.py +0 -269
- langflow/components/Notion/create_page.py +0 -94
- langflow/components/Notion/list_database_properties.py +0 -68
- langflow/components/Notion/list_pages.py +0 -122
- langflow/components/Notion/list_users.py +0 -77
- langflow/components/Notion/page_content_viewer.py +0 -93
- langflow/components/Notion/search.py +0 -111
- langflow/components/Notion/update_page_property.py +0 -114
- langflow/components/_importing.py +0 -37
- langflow/components/agentql/__init__.py +0 -3
- langflow/components/agentql/agentql_api.py +0 -151
- langflow/components/agents/__init__.py +0 -4
- langflow/components/agents/agent.py +0 -554
- langflow/components/agents/mcp_component.py +0 -501
- langflow/components/aiml/__init__.py +0 -37
- langflow/components/aiml/aiml.py +0 -112
- langflow/components/aiml/aiml_embeddings.py +0 -37
- langflow/components/amazon/__init__.py +0 -36
- langflow/components/amazon/amazon_bedrock_embedding.py +0 -109
- langflow/components/amazon/amazon_bedrock_model.py +0 -124
- langflow/components/amazon/s3_bucket_uploader.py +0 -211
- langflow/components/anthropic/__init__.py +0 -34
- langflow/components/anthropic/anthropic.py +0 -187
- langflow/components/apify/__init__.py +0 -5
- langflow/components/apify/apify_actor.py +0 -325
- langflow/components/arxiv/__init__.py +0 -3
- langflow/components/arxiv/arxiv.py +0 -163
- langflow/components/assemblyai/__init__.py +0 -46
- langflow/components/assemblyai/assemblyai_get_subtitles.py +0 -83
- langflow/components/assemblyai/assemblyai_lemur.py +0 -183
- langflow/components/assemblyai/assemblyai_list_transcripts.py +0 -95
- langflow/components/assemblyai/assemblyai_poll_transcript.py +0 -72
- langflow/components/assemblyai/assemblyai_start_transcript.py +0 -188
- langflow/components/azure/__init__.py +0 -37
- langflow/components/azure/azure_openai.py +0 -95
- langflow/components/azure/azure_openai_embeddings.py +0 -83
- langflow/components/baidu/__init__.py +0 -32
- langflow/components/baidu/baidu_qianfan_chat.py +0 -113
- langflow/components/bing/__init__.py +0 -3
- langflow/components/bing/bing_search_api.py +0 -61
- langflow/components/cassandra/__init__.py +0 -40
- langflow/components/cassandra/cassandra.py +0 -264
- langflow/components/cassandra/cassandra_chat.py +0 -92
- langflow/components/cassandra/cassandra_graph.py +0 -238
- langflow/components/chains/__init__.py +0 -0
- langflow/components/chroma/__init__.py +0 -34
- langflow/components/chroma/chroma.py +0 -167
- langflow/components/cleanlab/__init__.py +0 -40
- langflow/components/cleanlab/cleanlab_evaluator.py +0 -157
- langflow/components/cleanlab/cleanlab_rag_evaluator.py +0 -254
- langflow/components/cleanlab/cleanlab_remediator.py +0 -131
- langflow/components/clickhouse/__init__.py +0 -34
- langflow/components/clickhouse/clickhouse.py +0 -135
- langflow/components/cloudflare/__init__.py +0 -32
- langflow/components/cloudflare/cloudflare.py +0 -81
- langflow/components/cohere/__init__.py +0 -40
- langflow/components/cohere/cohere_embeddings.py +0 -81
- langflow/components/cohere/cohere_models.py +0 -46
- langflow/components/cohere/cohere_rerank.py +0 -51
- langflow/components/composio/__init__.py +0 -73
- langflow/components/composio/composio_api.py +0 -268
- langflow/components/composio/dropbox_compnent.py +0 -11
- langflow/components/composio/github_composio.py +0 -11
- langflow/components/composio/gmail_composio.py +0 -38
- langflow/components/composio/googlecalendar_composio.py +0 -11
- langflow/components/composio/googlemeet_composio.py +0 -11
- langflow/components/composio/googletasks_composio.py +0 -8
- langflow/components/composio/linear_composio.py +0 -11
- langflow/components/composio/outlook_composio.py +0 -11
- langflow/components/composio/reddit_composio.py +0 -11
- langflow/components/composio/slack_composio.py +0 -11
- langflow/components/composio/slackbot_composio.py +0 -11
- langflow/components/composio/supabase_composio.py +0 -11
- langflow/components/composio/todoist_composio.py +0 -11
- langflow/components/composio/youtube_composio.py +0 -11
- langflow/components/confluence/__init__.py +0 -3
- langflow/components/confluence/confluence.py +0 -84
- langflow/components/couchbase/__init__.py +0 -34
- langflow/components/couchbase/couchbase.py +0 -102
- langflow/components/crewai/__init__.py +0 -49
- langflow/components/crewai/crewai.py +0 -107
- langflow/components/crewai/hierarchical_crew.py +0 -46
- langflow/components/crewai/hierarchical_task.py +0 -44
- langflow/components/crewai/sequential_crew.py +0 -52
- langflow/components/crewai/sequential_task.py +0 -73
- langflow/components/crewai/sequential_task_agent.py +0 -143
- langflow/components/custom_component/__init__.py +0 -34
- langflow/components/custom_component/custom_component.py +0 -31
- langflow/components/data/__init__.py +0 -25
- langflow/components/data/api_request.py +0 -545
- langflow/components/data/csv_to_data.py +0 -95
- langflow/components/data/directory.py +0 -113
- langflow/components/data/file.py +0 -586
- langflow/components/data/json_to_data.py +0 -98
- langflow/components/data/news_search.py +0 -164
- langflow/components/data/rss.py +0 -69
- langflow/components/data/sql_executor.py +0 -99
- langflow/components/data/url.py +0 -299
- langflow/components/data/web_search.py +0 -112
- langflow/components/data/webhook.py +0 -56
- langflow/components/datastax/__init__.py +0 -70
- langflow/components/datastax/astra_assistant_manager.py +0 -306
- langflow/components/datastax/astra_db.py +0 -69
- langflow/components/datastax/astra_vectorize.py +0 -124
- langflow/components/datastax/astradb_cql.py +0 -314
- langflow/components/datastax/astradb_graph.py +0 -319
- langflow/components/datastax/astradb_tool.py +0 -414
- langflow/components/datastax/astradb_vectorstore.py +0 -1285
- langflow/components/datastax/create_assistant.py +0 -58
- langflow/components/datastax/create_thread.py +0 -32
- langflow/components/datastax/dotenv.py +0 -35
- langflow/components/datastax/get_assistant.py +0 -37
- langflow/components/datastax/getenvvar.py +0 -30
- langflow/components/datastax/graph_rag.py +0 -141
- langflow/components/datastax/hcd.py +0 -314
- langflow/components/datastax/list_assistants.py +0 -25
- langflow/components/datastax/run.py +0 -89
- langflow/components/deactivated/__init__.py +0 -19
- langflow/components/deactivated/amazon_kendra.py +0 -66
- langflow/components/deactivated/chat_litellm_model.py +0 -158
- langflow/components/deactivated/code_block_extractor.py +0 -26
- langflow/components/deactivated/documents_to_data.py +0 -22
- langflow/components/deactivated/embed.py +0 -16
- langflow/components/deactivated/extract_key_from_data.py +0 -46
- langflow/components/deactivated/json_document_builder.py +0 -59
- langflow/components/deactivated/list_flows.py +0 -20
- langflow/components/deactivated/mcp_sse.py +0 -61
- langflow/components/deactivated/mcp_stdio.py +0 -62
- langflow/components/deactivated/merge_data.py +0 -93
- langflow/components/deactivated/message.py +0 -37
- langflow/components/deactivated/metal.py +0 -54
- langflow/components/deactivated/multi_query.py +0 -59
- langflow/components/deactivated/retriever.py +0 -43
- langflow/components/deactivated/selective_passthrough.py +0 -77
- langflow/components/deactivated/should_run_next.py +0 -40
- langflow/components/deactivated/split_text.py +0 -63
- langflow/components/deactivated/store_message.py +0 -24
- langflow/components/deactivated/sub_flow.py +0 -124
- langflow/components/deactivated/vectara_self_query.py +0 -76
- langflow/components/deactivated/vector_store.py +0 -24
- langflow/components/deepseek/__init__.py +0 -34
- langflow/components/deepseek/deepseek.py +0 -136
- langflow/components/docling/__init__.py +0 -43
- langflow/components/docling/chunk_docling_document.py +0 -186
- langflow/components/docling/docling_inline.py +0 -235
- langflow/components/docling/docling_remote.py +0 -193
- langflow/components/docling/export_docling_document.py +0 -117
- langflow/components/documentloaders/__init__.py +0 -0
- langflow/components/duckduckgo/__init__.py +0 -3
- langflow/components/duckduckgo/duck_duck_go_search_run.py +0 -92
- langflow/components/elastic/__init__.py +0 -37
- langflow/components/elastic/elasticsearch.py +0 -267
- langflow/components/elastic/opensearch.py +0 -243
- langflow/components/embeddings/__init__.py +0 -37
- langflow/components/embeddings/similarity.py +0 -76
- langflow/components/embeddings/text_embedder.py +0 -64
- langflow/components/exa/__init__.py +0 -3
- langflow/components/exa/exa_search.py +0 -68
- langflow/components/firecrawl/__init__.py +0 -43
- langflow/components/firecrawl/firecrawl_crawl_api.py +0 -88
- langflow/components/firecrawl/firecrawl_extract_api.py +0 -136
- langflow/components/firecrawl/firecrawl_map_api.py +0 -89
- langflow/components/firecrawl/firecrawl_scrape_api.py +0 -73
- langflow/components/git/__init__.py +0 -4
- langflow/components/git/git.py +0 -262
- langflow/components/git/gitextractor.py +0 -196
- langflow/components/glean/__init__.py +0 -3
- langflow/components/glean/glean_search_api.py +0 -173
- langflow/components/google/__init__.py +0 -17
- langflow/components/google/gmail.py +0 -192
- langflow/components/google/google_bq_sql_executor.py +0 -157
- langflow/components/google/google_drive.py +0 -92
- langflow/components/google/google_drive_search.py +0 -152
- langflow/components/google/google_generative_ai.py +0 -147
- langflow/components/google/google_generative_ai_embeddings.py +0 -141
- langflow/components/google/google_oauth_token.py +0 -89
- langflow/components/google/google_search_api_core.py +0 -68
- langflow/components/google/google_serper_api_core.py +0 -74
- langflow/components/groq/__init__.py +0 -34
- langflow/components/groq/groq.py +0 -140
- langflow/components/helpers/__init__.py +0 -52
- langflow/components/helpers/calculator_core.py +0 -89
- langflow/components/helpers/create_list.py +0 -40
- langflow/components/helpers/current_date.py +0 -42
- langflow/components/helpers/id_generator.py +0 -42
- langflow/components/helpers/memory.py +0 -251
- langflow/components/helpers/output_parser.py +0 -45
- langflow/components/helpers/store_message.py +0 -90
- langflow/components/homeassistant/__init__.py +0 -7
- langflow/components/homeassistant/home_assistant_control.py +0 -152
- langflow/components/homeassistant/list_home_assistant_states.py +0 -137
- langflow/components/huggingface/__init__.py +0 -37
- langflow/components/huggingface/huggingface.py +0 -197
- langflow/components/huggingface/huggingface_inference_api.py +0 -106
- langflow/components/ibm/__init__.py +0 -34
- langflow/components/ibm/watsonx.py +0 -203
- langflow/components/ibm/watsonx_embeddings.py +0 -135
- langflow/components/icosacomputing/__init__.py +0 -5
- langflow/components/icosacomputing/combinatorial_reasoner.py +0 -84
- langflow/components/input_output/__init__.py +0 -38
- langflow/components/input_output/chat.py +0 -120
- langflow/components/input_output/chat_output.py +0 -200
- langflow/components/input_output/text.py +0 -27
- langflow/components/input_output/text_output.py +0 -29
- langflow/components/jigsawstack/__init__.py +0 -23
- langflow/components/jigsawstack/ai_scrape.py +0 -126
- langflow/components/jigsawstack/ai_web_search.py +0 -136
- langflow/components/jigsawstack/file_read.py +0 -115
- langflow/components/jigsawstack/file_upload.py +0 -94
- langflow/components/jigsawstack/image_generation.py +0 -205
- langflow/components/jigsawstack/nsfw.py +0 -60
- langflow/components/jigsawstack/object_detection.py +0 -124
- langflow/components/jigsawstack/sentiment.py +0 -112
- langflow/components/jigsawstack/text_to_sql.py +0 -90
- langflow/components/jigsawstack/text_translate.py +0 -77
- langflow/components/jigsawstack/vocr.py +0 -107
- langflow/components/langchain_utilities/__init__.py +0 -109
- langflow/components/langchain_utilities/character.py +0 -53
- langflow/components/langchain_utilities/conversation.py +0 -52
- langflow/components/langchain_utilities/csv_agent.py +0 -107
- langflow/components/langchain_utilities/fake_embeddings.py +0 -26
- langflow/components/langchain_utilities/html_link_extractor.py +0 -35
- langflow/components/langchain_utilities/json_agent.py +0 -45
- langflow/components/langchain_utilities/langchain_hub.py +0 -126
- langflow/components/langchain_utilities/language_recursive.py +0 -49
- langflow/components/langchain_utilities/language_semantic.py +0 -138
- langflow/components/langchain_utilities/llm_checker.py +0 -39
- langflow/components/langchain_utilities/llm_math.py +0 -42
- langflow/components/langchain_utilities/natural_language.py +0 -61
- langflow/components/langchain_utilities/openai_tools.py +0 -53
- langflow/components/langchain_utilities/openapi.py +0 -48
- langflow/components/langchain_utilities/recursive_character.py +0 -60
- langflow/components/langchain_utilities/retrieval_qa.py +0 -83
- langflow/components/langchain_utilities/runnable_executor.py +0 -137
- langflow/components/langchain_utilities/self_query.py +0 -80
- langflow/components/langchain_utilities/spider.py +0 -142
- langflow/components/langchain_utilities/sql.py +0 -40
- langflow/components/langchain_utilities/sql_database.py +0 -35
- langflow/components/langchain_utilities/sql_generator.py +0 -78
- langflow/components/langchain_utilities/tool_calling.py +0 -59
- langflow/components/langchain_utilities/vector_store_info.py +0 -49
- langflow/components/langchain_utilities/vector_store_router.py +0 -33
- langflow/components/langchain_utilities/xml_agent.py +0 -71
- langflow/components/langwatch/__init__.py +0 -3
- langflow/components/langwatch/langwatch.py +0 -278
- langflow/components/link_extractors/__init__.py +0 -0
- langflow/components/lmstudio/__init__.py +0 -34
- langflow/components/lmstudio/lmstudioembeddings.py +0 -89
- langflow/components/lmstudio/lmstudiomodel.py +0 -129
- langflow/components/logic/__init__.py +0 -52
- langflow/components/logic/conditional_router.py +0 -171
- langflow/components/logic/data_conditional_router.py +0 -125
- langflow/components/logic/flow_tool.py +0 -110
- langflow/components/logic/listen.py +0 -29
- langflow/components/logic/loop.py +0 -125
- langflow/components/logic/notify.py +0 -88
- langflow/components/logic/pass_message.py +0 -35
- langflow/components/logic/run_flow.py +0 -71
- langflow/components/logic/sub_flow.py +0 -114
- langflow/components/maritalk/__init__.py +0 -32
- langflow/components/maritalk/maritalk.py +0 -52
- langflow/components/mem0/__init__.py +0 -3
- langflow/components/mem0/mem0_chat_memory.py +0 -136
- langflow/components/milvus/__init__.py +0 -34
- langflow/components/milvus/milvus.py +0 -115
- langflow/components/mistral/__init__.py +0 -37
- langflow/components/mistral/mistral.py +0 -114
- langflow/components/mistral/mistral_embeddings.py +0 -58
- langflow/components/models/__init__.py +0 -34
- langflow/components/models/embedding_model.py +0 -114
- langflow/components/models/language_model.py +0 -144
- langflow/components/mongodb/__init__.py +0 -34
- langflow/components/mongodb/mongodb_atlas.py +0 -213
- langflow/components/needle/__init__.py +0 -3
- langflow/components/needle/needle.py +0 -104
- langflow/components/notdiamond/__init__.py +0 -36
- langflow/components/notdiamond/notdiamond.py +0 -228
- langflow/components/novita/__init__.py +0 -32
- langflow/components/novita/novita.py +0 -130
- langflow/components/nvidia/__init__.py +0 -57
- langflow/components/nvidia/nvidia.py +0 -157
- langflow/components/nvidia/nvidia_embedding.py +0 -77
- langflow/components/nvidia/nvidia_ingest.py +0 -317
- langflow/components/nvidia/nvidia_rerank.py +0 -63
- langflow/components/nvidia/system_assist.py +0 -65
- langflow/components/olivya/__init__.py +0 -3
- langflow/components/olivya/olivya.py +0 -116
- langflow/components/ollama/__init__.py +0 -37
- langflow/components/ollama/ollama.py +0 -330
- langflow/components/ollama/ollama_embeddings.py +0 -106
- langflow/components/openai/__init__.py +0 -37
- langflow/components/openai/openai.py +0 -100
- langflow/components/openai/openai_chat_model.py +0 -158
- langflow/components/openrouter/__init__.py +0 -32
- langflow/components/openrouter/openrouter.py +0 -202
- langflow/components/output_parsers/__init__.py +0 -0
- langflow/components/perplexity/__init__.py +0 -34
- langflow/components/perplexity/perplexity.py +0 -75
- langflow/components/pgvector/__init__.py +0 -34
- langflow/components/pgvector/pgvector.py +0 -72
- langflow/components/pinecone/__init__.py +0 -34
- langflow/components/pinecone/pinecone.py +0 -134
- langflow/components/processing/alter_metadata.py +0 -108
- langflow/components/processing/batch_run.py +0 -205
- langflow/components/processing/combine_text.py +0 -39
- langflow/components/processing/create_data.py +0 -110
- langflow/components/processing/data_operations.py +0 -438
- langflow/components/processing/data_to_dataframe.py +0 -70
- langflow/components/processing/dataframe_operations.py +0 -321
- langflow/components/processing/extract_key.py +0 -53
- langflow/components/processing/filter_data.py +0 -42
- langflow/components/processing/filter_data_values.py +0 -88
- langflow/components/processing/json_cleaner.py +0 -103
- langflow/components/processing/lambda_filter.py +0 -154
- langflow/components/processing/llm_router.py +0 -499
- langflow/components/processing/merge_data.py +0 -90
- langflow/components/processing/message_to_data.py +0 -36
- langflow/components/processing/parse_data.py +0 -70
- langflow/components/processing/parse_dataframe.py +0 -68
- langflow/components/processing/parse_json_data.py +0 -90
- langflow/components/processing/parser.py +0 -143
- langflow/components/processing/prompt.py +0 -67
- langflow/components/processing/python_repl_core.py +0 -98
- langflow/components/processing/regex.py +0 -82
- langflow/components/processing/save_file.py +0 -208
- langflow/components/processing/select_data.py +0 -48
- langflow/components/processing/split_text.py +0 -141
- langflow/components/processing/structured_output.py +0 -202
- langflow/components/processing/update_data.py +0 -160
- langflow/components/prototypes/__init__.py +0 -34
- langflow/components/prototypes/python_function.py +0 -73
- langflow/components/qdrant/__init__.py +0 -34
- langflow/components/qdrant/qdrant.py +0 -109
- langflow/components/redis/__init__.py +0 -37
- langflow/components/redis/redis.py +0 -89
- langflow/components/redis/redis_chat.py +0 -43
- langflow/components/sambanova/__init__.py +0 -32
- langflow/components/sambanova/sambanova.py +0 -84
- langflow/components/scrapegraph/__init__.py +0 -40
- langflow/components/scrapegraph/scrapegraph_markdownify_api.py +0 -64
- langflow/components/scrapegraph/scrapegraph_search_api.py +0 -64
- langflow/components/scrapegraph/scrapegraph_smart_scraper_api.py +0 -71
- langflow/components/searchapi/__init__.py +0 -36
- langflow/components/searchapi/search.py +0 -79
- langflow/components/serpapi/__init__.py +0 -3
- langflow/components/serpapi/serp.py +0 -115
- langflow/components/serper/__init__.py +0 -3
- langflow/components/serper/google_serper_api_core.py +0 -74
- langflow/components/supabase/__init__.py +0 -37
- langflow/components/supabase/supabase.py +0 -76
- langflow/components/tavily/__init__.py +0 -4
- langflow/components/tavily/tavily_extract.py +0 -117
- langflow/components/tavily/tavily_search.py +0 -212
- langflow/components/textsplitters/__init__.py +0 -0
- langflow/components/toolkits/__init__.py +0 -0
- langflow/components/tools/__init__.py +0 -72
- langflow/components/tools/calculator.py +0 -103
- langflow/components/tools/google_search_api.py +0 -45
- langflow/components/tools/google_serper_api.py +0 -115
- langflow/components/tools/python_code_structured_tool.py +0 -327
- langflow/components/tools/python_repl.py +0 -97
- langflow/components/tools/search_api.py +0 -87
- langflow/components/tools/searxng.py +0 -145
- langflow/components/tools/serp_api.py +0 -119
- langflow/components/tools/tavily_search_tool.py +0 -344
- langflow/components/tools/wikidata_api.py +0 -102
- langflow/components/tools/wikipedia_api.py +0 -49
- langflow/components/tools/yahoo_finance.py +0 -124
- langflow/components/twelvelabs/__init__.py +0 -52
- langflow/components/twelvelabs/convert_astra_results.py +0 -84
- langflow/components/twelvelabs/pegasus_index.py +0 -311
- langflow/components/twelvelabs/split_video.py +0 -291
- langflow/components/twelvelabs/text_embeddings.py +0 -57
- langflow/components/twelvelabs/twelvelabs_pegasus.py +0 -408
- langflow/components/twelvelabs/video_embeddings.py +0 -100
- langflow/components/twelvelabs/video_file.py +0 -179
- langflow/components/unstructured/__init__.py +0 -3
- langflow/components/unstructured/unstructured.py +0 -121
- langflow/components/upstash/__init__.py +0 -34
- langflow/components/upstash/upstash.py +0 -124
- langflow/components/vectara/__init__.py +0 -37
- langflow/components/vectara/vectara.py +0 -97
- langflow/components/vectara/vectara_rag.py +0 -164
- langflow/components/vectorstores/__init__.py +0 -34
- langflow/components/vectorstores/local_db.py +0 -261
- langflow/components/vertexai/__init__.py +0 -37
- langflow/components/vertexai/vertexai.py +0 -71
- langflow/components/vertexai/vertexai_embeddings.py +0 -67
- langflow/components/weaviate/__init__.py +0 -34
- langflow/components/weaviate/weaviate.py +0 -89
- langflow/components/wikipedia/__init__.py +0 -4
- langflow/components/wikipedia/wikidata.py +0 -86
- langflow/components/wikipedia/wikipedia.py +0 -53
- langflow/components/wolframalpha/__init__.py +0 -3
- langflow/components/wolframalpha/wolfram_alpha_api.py +0 -54
- langflow/components/xai/__init__.py +0 -32
- langflow/components/xai/xai.py +0 -167
- langflow/components/yahoosearch/__init__.py +0 -3
- langflow/components/yahoosearch/yahoo.py +0 -137
- langflow/components/youtube/__init__.py +0 -52
- langflow/components/youtube/channel.py +0 -227
- langflow/components/youtube/comments.py +0 -231
- langflow/components/youtube/playlist.py +0 -33
- langflow/components/youtube/search.py +0 -120
- langflow/components/youtube/trending.py +0 -285
- langflow/components/youtube/video_details.py +0 -263
- langflow/components/youtube/youtube_transcripts.py +0 -118
- langflow/components/zep/__init__.py +0 -3
- langflow/components/zep/zep.py +0 -44
- langflow/custom/attributes.py +0 -86
- langflow/custom/code_parser/__init__.py +0 -3
- langflow/custom/code_parser/code_parser.py +0 -361
- langflow/custom/custom_component/base_component.py +0 -118
- langflow/custom/dependency_analyzer.py +0 -165
- langflow/custom/directory_reader/__init__.py +0 -3
- langflow/custom/directory_reader/directory_reader.py +0 -359
- langflow/custom/directory_reader/utils.py +0 -171
- langflow/custom/eval.py +0 -12
- langflow/custom/schema.py +0 -32
- langflow/custom/tree_visitor.py +0 -21
- langflow/frontend/assets/lazyIconImports-Ci-S9xBA.js +0 -2
- langflow/graph/edge/__init__.py +0 -0
- langflow/graph/edge/base.py +0 -277
- langflow/graph/edge/schema.py +0 -119
- langflow/graph/edge/utils.py +0 -0
- langflow/graph/graph/__init__.py +0 -0
- langflow/graph/graph/ascii.py +0 -202
- langflow/graph/graph/base.py +0 -2185
- langflow/graph/graph/constants.py +0 -58
- langflow/graph/graph/runnable_vertices_manager.py +0 -133
- langflow/graph/graph/schema.py +0 -53
- langflow/graph/graph/state_model.py +0 -66
- langflow/graph/graph/utils.py +0 -1024
- langflow/graph/schema.py +0 -75
- langflow/graph/state/__init__.py +0 -0
- langflow/graph/state/model.py +0 -237
- langflow/graph/utils.py +0 -229
- langflow/graph/vertex/__init__.py +0 -0
- langflow/graph/vertex/base.py +0 -811
- langflow/graph/vertex/constants.py +0 -0
- langflow/graph/vertex/exceptions.py +0 -4
- langflow/graph/vertex/param_handler.py +0 -255
- langflow/graph/vertex/schema.py +0 -26
- langflow/graph/vertex/utils.py +0 -19
- langflow/graph/vertex/vertex_types.py +0 -489
- langflow/legacy_custom/__init__.py +0 -0
- langflow/legacy_custom/customs.py +0 -16
- langflow/load/load.py +0 -250
- langflow/logging/logger.py +0 -369
- langflow/processing/utils.py +0 -25
- langflow/schema/openai_responses_schemas.py +0 -74
- langflow/schema/serialize.py +0 -13
- langflow/services/chat/config.py +0 -2
- langflow/services/settings/auth.py +0 -130
- langflow/services/settings/constants.py +0 -31
- langflow/services/settings/manager.py +0 -49
- langflow/services/settings/utils.py +0 -40
- langflow/template/field/prompt.py +0 -2
- langflow/template/frontend_node/__init__.py +0 -6
- langflow/template/frontend_node/base.py +0 -212
- langflow/template/frontend_node/constants.py +0 -65
- langflow/template/frontend_node/custom_components.py +0 -97
- langflow/template/template/__init__.py +0 -0
- langflow/template/template/base.py +0 -99
- langflow/utils/async_helpers.py +0 -42
- langflow/utils/concurrency.py +0 -60
- langflow/utils/util_strings.py +0 -56
- langflow_base_nightly-0.5.1.dev3.dist-info/RECORD +0 -1159
- {langflow_base_nightly-0.5.1.dev3.dist-info → langflow_base_nightly-0.5.1.dev5.dist-info}/WHEEL +0 -0
- {langflow_base_nightly-0.5.1.dev3.dist-info → langflow_base_nightly-0.5.1.dev5.dist-info}/entry_points.txt +0 -0
langflow/api/utils.py
CHANGED
|
@@ -8,11 +8,11 @@ from typing import TYPE_CHECKING, Annotated, Any
|
|
|
8
8
|
|
|
9
9
|
from fastapi import Depends, HTTPException, Query
|
|
10
10
|
from fastapi_pagination import Params
|
|
11
|
+
from lfx.graph.graph.base import Graph
|
|
12
|
+
from lfx.log.logger import logger
|
|
11
13
|
from sqlalchemy import delete
|
|
12
14
|
from sqlmodel.ext.asyncio.session import AsyncSession
|
|
13
15
|
|
|
14
|
-
from langflow.graph.graph.base import Graph
|
|
15
|
-
from langflow.logging.logger import logger
|
|
16
16
|
from langflow.services.auth.utils import get_current_active_user, get_current_active_user_mcp
|
|
17
17
|
from langflow.services.database.models.flow.model import Flow
|
|
18
18
|
from langflow.services.database.models.message.model import MessageTable
|
langflow/api/v1/base.py
CHANGED
langflow/api/v1/callback.py
CHANGED
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from typing import
|
|
3
|
+
from typing import Any
|
|
4
4
|
from uuid import UUID
|
|
5
5
|
|
|
6
6
|
from langchain_core.agents import AgentAction, AgentFinish
|
|
7
7
|
from langchain_core.callbacks.base import AsyncCallbackHandler
|
|
8
|
+
from lfx.log.logger import logger
|
|
9
|
+
from lfx.utils.util import remove_ansi_escape_codes
|
|
8
10
|
from typing_extensions import override
|
|
9
11
|
|
|
10
12
|
from langflow.api.v1.schemas import ChatResponse, PromptResponse
|
|
11
|
-
from langflow.
|
|
12
|
-
from langflow.services.deps import get_chat_service, get_socket_service
|
|
13
|
-
from langflow.utils.util import remove_ansi_escape_codes
|
|
14
|
-
|
|
15
|
-
if TYPE_CHECKING:
|
|
16
|
-
from langflow.services.socket.service import SocketIOService
|
|
13
|
+
from langflow.services.deps import get_chat_service
|
|
17
14
|
|
|
18
15
|
|
|
19
16
|
# https://github.com/hwchase17/chat-langchain/blob/master/callback.py
|
|
@@ -28,9 +25,7 @@ class AsyncStreamingLLMCallbackHandleSIO(AsyncCallbackHandler):
|
|
|
28
25
|
def __init__(self, session_id: str):
|
|
29
26
|
self.chat_service = get_chat_service()
|
|
30
27
|
self.client_id = session_id
|
|
31
|
-
self.socketio_service: SocketIOService = get_socket_service()
|
|
32
28
|
self.sid = session_id
|
|
33
|
-
# self.socketio_service = self.chat_service.active_connections[self.client_id]
|
|
34
29
|
|
|
35
30
|
@override
|
|
36
31
|
async def on_llm_new_token(self, token: str, **kwargs: Any) -> None: # type: ignore[misc]
|
langflow/api/v1/chat.py
CHANGED
|
@@ -8,6 +8,11 @@ from typing import TYPE_CHECKING, Annotated
|
|
|
8
8
|
|
|
9
9
|
from fastapi import APIRouter, BackgroundTasks, Body, Depends, HTTPException, Request, status
|
|
10
10
|
from fastapi.responses import StreamingResponse
|
|
11
|
+
from lfx.graph.graph.base import Graph
|
|
12
|
+
from lfx.graph.utils import log_vertex_build
|
|
13
|
+
from lfx.log.logger import logger
|
|
14
|
+
from lfx.schema.schema import InputValueRequest, OutputValue
|
|
15
|
+
from lfx.services.cache.utils import CacheMiss
|
|
11
16
|
|
|
12
17
|
from langflow.api.build import cancel_flow_build, get_flow_events_response, start_flow_build
|
|
13
18
|
from langflow.api.limited_background_tasks import LimitVertexBuildBackgroundTasks
|
|
@@ -26,18 +31,12 @@ from langflow.api.utils import (
|
|
|
26
31
|
from langflow.api.v1.schemas import (
|
|
27
32
|
CancelFlowResponse,
|
|
28
33
|
FlowDataRequest,
|
|
29
|
-
InputValueRequest,
|
|
30
34
|
ResultDataResponse,
|
|
31
35
|
StreamData,
|
|
32
36
|
VertexBuildResponse,
|
|
33
37
|
VerticesOrderResponse,
|
|
34
38
|
)
|
|
35
39
|
from langflow.exceptions.component import ComponentBuildError
|
|
36
|
-
from langflow.graph.graph.base import Graph
|
|
37
|
-
from langflow.graph.utils import log_vertex_build
|
|
38
|
-
from langflow.logging.logger import logger
|
|
39
|
-
from langflow.schema.schema import OutputValue
|
|
40
|
-
from langflow.services.cache.utils import CacheMiss
|
|
41
40
|
from langflow.services.chat.service import ChatService
|
|
42
41
|
from langflow.services.database.models.flow.model import Flow
|
|
43
42
|
from langflow.services.deps import (
|
|
@@ -51,7 +50,7 @@ from langflow.services.job_queue.service import JobQueueNotFoundError, JobQueueS
|
|
|
51
50
|
from langflow.services.telemetry.schema import ComponentPayload, PlaygroundPayload
|
|
52
51
|
|
|
53
52
|
if TYPE_CHECKING:
|
|
54
|
-
from
|
|
53
|
+
from lfx.graph.vertex.vertex_types import InterfaceVertex
|
|
55
54
|
|
|
56
55
|
router = APIRouter(tags=["Chat"])
|
|
57
56
|
|
langflow/api/v1/endpoints.py
CHANGED
|
@@ -11,6 +11,18 @@ import sqlalchemy as sa
|
|
|
11
11
|
from fastapi import APIRouter, BackgroundTasks, Body, Depends, HTTPException, Request, UploadFile, status
|
|
12
12
|
from fastapi.encoders import jsonable_encoder
|
|
13
13
|
from fastapi.responses import StreamingResponse
|
|
14
|
+
from lfx.custom.custom_component.component import Component
|
|
15
|
+
from lfx.custom.utils import (
|
|
16
|
+
add_code_field_to_build_config,
|
|
17
|
+
build_custom_component_template,
|
|
18
|
+
get_instance_name,
|
|
19
|
+
update_component_build_config,
|
|
20
|
+
)
|
|
21
|
+
from lfx.graph.graph.base import Graph
|
|
22
|
+
from lfx.graph.schema import RunOutputs
|
|
23
|
+
from lfx.log.logger import logger
|
|
24
|
+
from lfx.schema.schema import InputValueRequest
|
|
25
|
+
from lfx.services.settings.service import SettingsService
|
|
14
26
|
from sqlmodel import select
|
|
15
27
|
|
|
16
28
|
from langflow.api.utils import CurrentActiveUser, DbSession, parse_value
|
|
@@ -18,28 +30,17 @@ from langflow.api.v1.schemas import (
|
|
|
18
30
|
ConfigResponse,
|
|
19
31
|
CustomComponentRequest,
|
|
20
32
|
CustomComponentResponse,
|
|
21
|
-
InputValueRequest,
|
|
22
33
|
RunResponse,
|
|
23
34
|
SimplifiedAPIRequest,
|
|
24
35
|
TaskStatusResponse,
|
|
25
36
|
UpdateCustomComponentRequest,
|
|
26
37
|
UploadFileResponse,
|
|
27
38
|
)
|
|
28
|
-
from langflow.custom.custom_component.component import Component
|
|
29
|
-
from langflow.custom.utils import (
|
|
30
|
-
add_code_field_to_build_config,
|
|
31
|
-
build_custom_component_template,
|
|
32
|
-
get_instance_name,
|
|
33
|
-
update_component_build_config,
|
|
34
|
-
)
|
|
35
39
|
from langflow.events.event_manager import create_stream_tokens_event_manager
|
|
36
40
|
from langflow.exceptions.api import APIException, InvalidChatInputError
|
|
37
41
|
from langflow.exceptions.serialization import SerializationError
|
|
38
|
-
from langflow.graph.graph.base import Graph
|
|
39
|
-
from langflow.graph.schema import RunOutputs
|
|
40
42
|
from langflow.helpers.flow import get_flow_by_id_or_endpoint_name
|
|
41
43
|
from langflow.interface.initialize.loading import update_params_with_load_from_db_fields
|
|
42
|
-
from langflow.logging.logger import logger
|
|
43
44
|
from langflow.processing.process import process_tweaks, run_graph_internal
|
|
44
45
|
from langflow.schema.graph import Tweaks
|
|
45
46
|
from langflow.services.auth.utils import api_key_security, get_current_active_user, get_webhook_user
|
|
@@ -54,7 +55,6 @@ from langflow.utils.version import get_version_info
|
|
|
54
55
|
|
|
55
56
|
if TYPE_CHECKING:
|
|
56
57
|
from langflow.events.event_manager import EventManager
|
|
57
|
-
from langflow.services.settings.service import SettingsService
|
|
58
58
|
|
|
59
59
|
router = APIRouter(tags=["Base"])
|
|
60
60
|
|
|
@@ -723,9 +723,9 @@ async def custom_component_update(
|
|
|
723
723
|
for field_name, field_dict in template.items()
|
|
724
724
|
if isinstance(field_dict, dict) and field_dict.get("load_from_db") and field_dict.get("value")
|
|
725
725
|
]
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
726
|
+
if isinstance(cc_instance, Component):
|
|
727
|
+
params = await update_params_with_load_from_db_fields(cc_instance, params, load_from_db_fields)
|
|
728
|
+
cc_instance.set_attributes(params)
|
|
729
729
|
updated_build_config = code_request.get_template()
|
|
730
730
|
await update_component_build_config(
|
|
731
731
|
cc_instance,
|
langflow/api/v1/files.py
CHANGED
|
@@ -8,12 +8,12 @@ from uuid import UUID
|
|
|
8
8
|
|
|
9
9
|
from fastapi import APIRouter, Depends, HTTPException, UploadFile
|
|
10
10
|
from fastapi.responses import StreamingResponse
|
|
11
|
+
from lfx.services.settings.service import SettingsService
|
|
11
12
|
|
|
12
13
|
from langflow.api.utils import CurrentActiveUser, DbSession
|
|
13
14
|
from langflow.api.v1.schemas import UploadFileResponse
|
|
14
15
|
from langflow.services.database.models.flow.model import Flow
|
|
15
16
|
from langflow.services.deps import get_settings_service, get_storage_service
|
|
16
|
-
from langflow.services.settings.service import SettingsService
|
|
17
17
|
from langflow.services.storage.service import StorageService
|
|
18
18
|
from langflow.services.storage.utils import build_content_type_from_extension
|
|
19
19
|
|
langflow/api/v1/flows.py
CHANGED
|
@@ -16,6 +16,7 @@ from fastapi.encoders import jsonable_encoder
|
|
|
16
16
|
from fastapi.responses import StreamingResponse
|
|
17
17
|
from fastapi_pagination import Page, Params
|
|
18
18
|
from fastapi_pagination.ext.sqlmodel import apaginate
|
|
19
|
+
from lfx.log import logger
|
|
19
20
|
from sqlmodel import and_, col, select
|
|
20
21
|
from sqlmodel.ext.asyncio.session import AsyncSession
|
|
21
22
|
|
|
@@ -23,7 +24,6 @@ from langflow.api.utils import CurrentActiveUser, DbSession, cascade_delete_flow
|
|
|
23
24
|
from langflow.api.v1.schemas import FlowListCreate
|
|
24
25
|
from langflow.helpers.user import get_user_by_flow_id_or_endpoint_name
|
|
25
26
|
from langflow.initial_setup.constants import STARTER_FOLDER_NAME
|
|
26
|
-
from langflow.logging import logger
|
|
27
27
|
from langflow.services.database.models.flow.model import (
|
|
28
28
|
AccessTypeEnum,
|
|
29
29
|
Flow,
|
|
@@ -6,10 +6,10 @@ from pathlib import Path
|
|
|
6
6
|
import pandas as pd
|
|
7
7
|
from fastapi import APIRouter, HTTPException
|
|
8
8
|
from langchain_chroma import Chroma
|
|
9
|
+
from lfx.log import logger
|
|
9
10
|
from pydantic import BaseModel
|
|
10
11
|
|
|
11
12
|
from langflow.api.utils import CurrentActiveUser
|
|
12
|
-
from langflow.logging import logger
|
|
13
13
|
from langflow.services.deps import get_settings_service
|
|
14
14
|
|
|
15
15
|
router = APIRouter(tags=["Knowledge Bases"], prefix="/knowledge_bases")
|
langflow/api/v1/mcp.py
CHANGED
|
@@ -4,6 +4,7 @@ import pydantic
|
|
|
4
4
|
from anyio import BrokenResourceError
|
|
5
5
|
from fastapi import APIRouter, HTTPException, Request, Response
|
|
6
6
|
from fastapi.responses import HTMLResponse, StreamingResponse
|
|
7
|
+
from lfx.log.logger import logger
|
|
7
8
|
from mcp import types
|
|
8
9
|
from mcp.server import NotificationOptions, Server
|
|
9
10
|
from mcp.server.sse import SseServerTransport
|
|
@@ -17,7 +18,6 @@ from langflow.api.v1.mcp_utils import (
|
|
|
17
18
|
handle_mcp_errors,
|
|
18
19
|
handle_read_resource,
|
|
19
20
|
)
|
|
20
|
-
from langflow.logging.logger import logger
|
|
21
21
|
from langflow.services.deps import get_settings_service
|
|
22
22
|
|
|
23
23
|
router = APIRouter(prefix="/mcp", tags=["mcp"])
|
langflow/api/v1/mcp_projects.py
CHANGED
|
@@ -14,6 +14,11 @@ from uuid import UUID
|
|
|
14
14
|
from anyio import BrokenResourceError
|
|
15
15
|
from fastapi import APIRouter, Depends, HTTPException, Request, Response
|
|
16
16
|
from fastapi.responses import HTMLResponse
|
|
17
|
+
from lfx.base.mcp.constants import MAX_MCP_SERVER_NAME_LENGTH
|
|
18
|
+
from lfx.base.mcp.util import sanitize_mcp_name
|
|
19
|
+
from lfx.log import logger
|
|
20
|
+
from lfx.services.deps import get_settings_service, session_scope
|
|
21
|
+
from lfx.services.settings.feature_flags import FEATURE_FLAGS
|
|
17
22
|
from mcp import types
|
|
18
23
|
from mcp.server import NotificationOptions, Server
|
|
19
24
|
from mcp.server.sse import SseServerTransport
|
|
@@ -36,16 +41,11 @@ from langflow.api.v1.schemas import (
|
|
|
36
41
|
MCPProjectUpdateRequest,
|
|
37
42
|
MCPSettings,
|
|
38
43
|
)
|
|
39
|
-
from langflow.base.mcp.constants import MAX_MCP_SERVER_NAME_LENGTH
|
|
40
|
-
from langflow.base.mcp.util import sanitize_mcp_name
|
|
41
|
-
from langflow.logging import logger
|
|
42
44
|
from langflow.services.auth.mcp_encryption import decrypt_auth_settings, encrypt_auth_settings
|
|
43
45
|
from langflow.services.database.models import Flow, Folder
|
|
44
46
|
from langflow.services.database.models.api_key.crud import check_key, create_api_key
|
|
45
47
|
from langflow.services.database.models.api_key.model import ApiKeyCreate
|
|
46
48
|
from langflow.services.database.models.user.model import User
|
|
47
|
-
from langflow.services.deps import get_settings_service, session_scope
|
|
48
|
-
from langflow.services.settings.feature_flags import FEATURE_FLAGS
|
|
49
49
|
|
|
50
50
|
router = APIRouter(prefix="/mcp/project", tags=["mcp_projects"])
|
|
51
51
|
|
|
@@ -249,6 +249,15 @@ async def handle_project_sse(
|
|
|
249
249
|
current_user: Annotated[User, Depends(verify_project_auth_conditional)],
|
|
250
250
|
):
|
|
251
251
|
"""Handle SSE connections for a specific project."""
|
|
252
|
+
# Verify project exists and user has access
|
|
253
|
+
async with session_scope() as session:
|
|
254
|
+
project = (
|
|
255
|
+
await session.exec(select(Folder).where(Folder.id == project_id, Folder.user_id == current_user.id))
|
|
256
|
+
).first()
|
|
257
|
+
|
|
258
|
+
if not project:
|
|
259
|
+
raise HTTPException(status_code=404, detail="Project not found")
|
|
260
|
+
|
|
252
261
|
# Get project-specific SSE transport and MCP server
|
|
253
262
|
sse = get_project_sse(project_id)
|
|
254
263
|
project_server = get_project_mcp_server(project_id)
|
langflow/api/v1/mcp_utils.py
CHANGED
|
@@ -12,15 +12,15 @@ from typing import Any, ParamSpec, TypeVar
|
|
|
12
12
|
from urllib.parse import quote, unquote, urlparse
|
|
13
13
|
from uuid import uuid4
|
|
14
14
|
|
|
15
|
+
from lfx.base.mcp.constants import MAX_MCP_TOOL_NAME_LENGTH
|
|
16
|
+
from lfx.base.mcp.util import get_flow_snake_case, get_unique_name, sanitize_mcp_name
|
|
17
|
+
from lfx.log.logger import logger
|
|
15
18
|
from mcp import types
|
|
16
19
|
from sqlmodel import select
|
|
17
20
|
|
|
18
21
|
from langflow.api.v1.endpoints import simple_run_flow
|
|
19
22
|
from langflow.api.v1.schemas import SimplifiedAPIRequest
|
|
20
|
-
from langflow.base.mcp.constants import MAX_MCP_TOOL_NAME_LENGTH
|
|
21
|
-
from langflow.base.mcp.util import get_flow_snake_case, get_unique_name, sanitize_mcp_name
|
|
22
23
|
from langflow.helpers.flow import json_schema_from_flow
|
|
23
|
-
from langflow.logging.logger import logger
|
|
24
24
|
from langflow.schema.message import Message
|
|
25
25
|
from langflow.services.database.models import Flow
|
|
26
26
|
from langflow.services.database.models.user.model import User
|
|
@@ -7,20 +7,20 @@ from typing import Annotated, Any
|
|
|
7
7
|
|
|
8
8
|
from fastapi import APIRouter, BackgroundTasks, Depends, HTTPException, Request
|
|
9
9
|
from fastapi.responses import StreamingResponse
|
|
10
|
-
from
|
|
10
|
+
from lfx.log.logger import logger
|
|
11
|
+
from lfx.schema.openai_responses_schemas import create_openai_error
|
|
11
12
|
|
|
12
13
|
from langflow.api.v1.endpoints import consume_and_yield, run_flow_generator, simple_run_flow
|
|
13
14
|
from langflow.api.v1.schemas import SimplifiedAPIRequest
|
|
14
15
|
from langflow.events.event_manager import create_stream_tokens_event_manager
|
|
15
16
|
from langflow.helpers.flow import get_flow_by_id_or_endpoint_name
|
|
16
|
-
from langflow.schema
|
|
17
|
-
from langflow.schema.openai_responses_schemas import (
|
|
17
|
+
from langflow.schema import (
|
|
18
18
|
OpenAIErrorResponse,
|
|
19
19
|
OpenAIResponsesRequest,
|
|
20
20
|
OpenAIResponsesResponse,
|
|
21
21
|
OpenAIResponsesStreamChunk,
|
|
22
|
-
create_openai_error,
|
|
23
22
|
)
|
|
23
|
+
from langflow.schema.content_types import ToolContent
|
|
24
24
|
from langflow.services.auth.utils import api_key_security
|
|
25
25
|
from langflow.services.database.models.flow.model import FlowRead
|
|
26
26
|
from langflow.services.database.models.user.model import UserRead
|
langflow/api/v1/schemas.py
CHANGED
|
@@ -4,6 +4,9 @@ from pathlib import Path
|
|
|
4
4
|
from typing import Any, Literal
|
|
5
5
|
from uuid import UUID
|
|
6
6
|
|
|
7
|
+
from lfx.graph.schema import RunOutputs
|
|
8
|
+
from lfx.services.settings.base import Settings
|
|
9
|
+
from lfx.services.settings.feature_flags import FEATURE_FLAGS, FeatureFlags
|
|
7
10
|
from pydantic import (
|
|
8
11
|
BaseModel,
|
|
9
12
|
ConfigDict,
|
|
@@ -14,7 +17,6 @@ from pydantic import (
|
|
|
14
17
|
model_serializer,
|
|
15
18
|
)
|
|
16
19
|
|
|
17
|
-
from langflow.graph.schema import RunOutputs
|
|
18
20
|
from langflow.schema.dotdict import dotdict
|
|
19
21
|
from langflow.schema.graph import Tweaks
|
|
20
22
|
from langflow.schema.schema import InputType, OutputType, OutputValue
|
|
@@ -23,8 +25,6 @@ from langflow.services.database.models.api_key.model import ApiKeyRead
|
|
|
23
25
|
from langflow.services.database.models.base import orjson_dumps
|
|
24
26
|
from langflow.services.database.models.flow.model import FlowCreate, FlowRead
|
|
25
27
|
from langflow.services.database.models.user.model import UserRead
|
|
26
|
-
from langflow.services.settings.base import Settings
|
|
27
|
-
from langflow.services.settings.feature_flags import FEATURE_FLAGS, FeatureFlags
|
|
28
28
|
from langflow.services.tracing.schema import Log
|
|
29
29
|
|
|
30
30
|
|
|
@@ -335,41 +335,6 @@ class VerticesBuiltResponse(BaseModel):
|
|
|
335
335
|
vertices: list[VertexBuildResponse]
|
|
336
336
|
|
|
337
337
|
|
|
338
|
-
class InputValueRequest(BaseModel):
|
|
339
|
-
components: list[str] | None = []
|
|
340
|
-
input_value: str | None = None
|
|
341
|
-
session: str | None = None
|
|
342
|
-
type: InputType | None = Field(
|
|
343
|
-
"any",
|
|
344
|
-
description="Defines on which components the input value should be applied. "
|
|
345
|
-
"'any' applies to all input components.",
|
|
346
|
-
)
|
|
347
|
-
|
|
348
|
-
# add an example
|
|
349
|
-
model_config = ConfigDict(
|
|
350
|
-
json_schema_extra={
|
|
351
|
-
"examples": [
|
|
352
|
-
{
|
|
353
|
-
"components": ["components_id", "Component Name"],
|
|
354
|
-
"input_value": "input_value",
|
|
355
|
-
"session": "session_id",
|
|
356
|
-
},
|
|
357
|
-
{"components": ["Component Name"], "input_value": "input_value"},
|
|
358
|
-
{"input_value": "input_value"},
|
|
359
|
-
{
|
|
360
|
-
"components": ["Component Name"],
|
|
361
|
-
"input_value": "input_value",
|
|
362
|
-
"session": "session_id",
|
|
363
|
-
},
|
|
364
|
-
{"input_value": "input_value", "session": "session_id"},
|
|
365
|
-
{"type": "chat", "input_value": "input_value"},
|
|
366
|
-
{"type": "json", "input_value": '{"key": "value"}'},
|
|
367
|
-
]
|
|
368
|
-
},
|
|
369
|
-
extra="forbid",
|
|
370
|
-
)
|
|
371
|
-
|
|
372
|
-
|
|
373
338
|
class SimplifiedAPIRequest(BaseModel):
|
|
374
339
|
input_value: str | None = Field(default=None, description="The input value")
|
|
375
340
|
input_type: InputType | None = Field(default="chat", description="The input type")
|
|
@@ -1,17 +1,75 @@
|
|
|
1
|
+
from typing import Any
|
|
2
|
+
|
|
1
3
|
from fastapi import APIRouter, Depends, HTTPException
|
|
4
|
+
from pydantic import BaseModel
|
|
2
5
|
|
|
3
|
-
from langflow.graph.graph.schema import GraphDump
|
|
4
6
|
from langflow.services.auth.utils import get_current_active_user
|
|
5
7
|
|
|
6
8
|
router = APIRouter(prefix="/starter-projects", tags=["Flows"])
|
|
7
9
|
|
|
8
10
|
|
|
11
|
+
# Pydantic models for API schema compatibility
|
|
12
|
+
class ViewPort(BaseModel):
|
|
13
|
+
x: float
|
|
14
|
+
y: float
|
|
15
|
+
zoom: float
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class NodeData(BaseModel):
|
|
19
|
+
# This is a simplified version - the actual NodeData has many more fields
|
|
20
|
+
# but we only need the basic structure for the API schema
|
|
21
|
+
model_config = {"extra": "allow"} # Allow extra fields
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class EdgeData(BaseModel):
|
|
25
|
+
# This is a simplified version - the actual EdgeData has many more fields
|
|
26
|
+
# but we only need the basic structure for the API schema
|
|
27
|
+
model_config = {"extra": "allow"} # Allow extra fields
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class GraphData(BaseModel):
|
|
31
|
+
nodes: list[dict[str, Any]] # Use dict to be flexible with the complex NodeData structure
|
|
32
|
+
edges: list[dict[str, Any]] # Use dict to be flexible with the complex EdgeData structure
|
|
33
|
+
viewport: ViewPort | None = None
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class GraphDumpResponse(BaseModel):
|
|
37
|
+
data: GraphData
|
|
38
|
+
is_component: bool | None = None
|
|
39
|
+
name: str | None = None
|
|
40
|
+
description: str | None = None
|
|
41
|
+
endpoint_name: str | None = None
|
|
42
|
+
|
|
43
|
+
|
|
9
44
|
@router.get("/", dependencies=[Depends(get_current_active_user)], status_code=200)
|
|
10
|
-
async def get_starter_projects() -> list[
|
|
45
|
+
async def get_starter_projects() -> list[GraphDumpResponse]:
|
|
11
46
|
"""Get a list of starter projects."""
|
|
12
47
|
from langflow.initial_setup.load import get_starter_projects_dump
|
|
13
48
|
|
|
14
49
|
try:
|
|
15
|
-
|
|
50
|
+
# Get the raw data from lfx GraphDump
|
|
51
|
+
raw_data = get_starter_projects_dump()
|
|
52
|
+
|
|
53
|
+
# Convert TypedDict GraphDump to Pydantic GraphDumpResponse
|
|
54
|
+
results = []
|
|
55
|
+
for item in raw_data:
|
|
56
|
+
# Create GraphData
|
|
57
|
+
graph_data = GraphData(
|
|
58
|
+
nodes=item.get("data", {}).get("nodes", []),
|
|
59
|
+
edges=item.get("data", {}).get("edges", []),
|
|
60
|
+
viewport=item.get("data", {}).get("viewport"),
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
# Create GraphDumpResponse
|
|
64
|
+
graph_dump = GraphDumpResponse(
|
|
65
|
+
data=graph_data,
|
|
66
|
+
is_component=item.get("is_component"),
|
|
67
|
+
name=item.get("name"),
|
|
68
|
+
description=item.get("description"),
|
|
69
|
+
endpoint_name=item.get("endpoint_name"),
|
|
70
|
+
)
|
|
71
|
+
results.append(graph_dump)
|
|
72
|
+
|
|
16
73
|
except Exception as exc:
|
|
17
74
|
raise HTTPException(status_code=500, detail=str(exc)) from exc
|
|
75
|
+
return results
|
langflow/api/v1/store.py
CHANGED
|
@@ -2,9 +2,9 @@ from typing import Annotated
|
|
|
2
2
|
from uuid import UUID
|
|
3
3
|
|
|
4
4
|
from fastapi import APIRouter, Depends, HTTPException, Query
|
|
5
|
+
from lfx.log.logger import logger
|
|
5
6
|
|
|
6
7
|
from langflow.api.utils import CurrentActiveUser, check_langflow_version
|
|
7
|
-
from langflow.logging.logger import logger
|
|
8
8
|
from langflow.services.auth import utils as auth_utils
|
|
9
9
|
from langflow.services.deps import get_settings_service, get_store_service
|
|
10
10
|
from langflow.services.store.exceptions import CustomError
|
langflow/api/v1/validate.py
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
from fastapi import APIRouter, HTTPException
|
|
2
|
+
from lfx.base.prompts.api_utils import process_prompt_template
|
|
3
|
+
from lfx.custom.validate import validate_code
|
|
4
|
+
from lfx.log.logger import logger
|
|
2
5
|
|
|
3
6
|
from langflow.api.utils import CurrentActiveUser
|
|
4
7
|
from langflow.api.v1.base import Code, CodeValidationResponse, PromptValidationResponse, ValidatePromptRequest
|
|
5
|
-
from langflow.base.prompts.api_utils import process_prompt_template
|
|
6
|
-
from langflow.logging.logger import logger
|
|
7
|
-
from langflow.utils.validate import validate_code
|
|
8
8
|
|
|
9
9
|
# build router
|
|
10
10
|
router = APIRouter(prefix="/validate", tags=["Validate"])
|
langflow/api/v1/voice_mode.py
CHANGED
|
@@ -18,14 +18,14 @@ import websockets
|
|
|
18
18
|
from cryptography.fernet import InvalidToken
|
|
19
19
|
from elevenlabs import ElevenLabs
|
|
20
20
|
from fastapi import APIRouter, BackgroundTasks
|
|
21
|
+
from lfx.log import logger
|
|
22
|
+
from lfx.schema.schema import InputValueRequest
|
|
21
23
|
from openai import OpenAI
|
|
22
24
|
from sqlalchemy import select
|
|
23
25
|
from starlette.websockets import WebSocket, WebSocketDisconnect
|
|
24
26
|
|
|
25
27
|
from langflow.api.utils import CurrentActiveUser, DbSession
|
|
26
28
|
from langflow.api.v1.chat import build_flow_and_stream
|
|
27
|
-
from langflow.api.v1.schemas import InputValueRequest
|
|
28
|
-
from langflow.logging import logger
|
|
29
29
|
from langflow.memory import aadd_messagetables
|
|
30
30
|
from langflow.schema.properties import Properties
|
|
31
31
|
from langflow.services.auth.utils import get_current_user_for_websocket
|
langflow/api/v2/files.py
CHANGED
|
@@ -11,11 +11,11 @@ from zoneinfo import ZoneInfo
|
|
|
11
11
|
|
|
12
12
|
from fastapi import APIRouter, Depends, File, HTTPException, UploadFile
|
|
13
13
|
from fastapi.responses import StreamingResponse
|
|
14
|
+
from lfx.log.logger import logger
|
|
14
15
|
from sqlmodel import col, select
|
|
15
16
|
|
|
16
17
|
from langflow.api.schemas import UploadFileResponse
|
|
17
18
|
from langflow.api.utils import CurrentActiveUser, DbSession
|
|
18
|
-
from langflow.logging.logger import logger
|
|
19
19
|
from langflow.services.database.models.file.model import File as UserFile
|
|
20
20
|
from langflow.services.deps import get_settings_service, get_storage_service
|
|
21
21
|
from langflow.services.storage.service import StorageService
|
langflow/api/v2/mcp.py
CHANGED
|
@@ -3,11 +3,11 @@ import json
|
|
|
3
3
|
from io import BytesIO
|
|
4
4
|
|
|
5
5
|
from fastapi import APIRouter, Depends, HTTPException, UploadFile
|
|
6
|
+
from lfx.base.mcp.util import update_tools
|
|
7
|
+
from lfx.log import logger
|
|
6
8
|
|
|
7
9
|
from langflow.api.utils import CurrentActiveUser, DbSession
|
|
8
10
|
from langflow.api.v2.files import MCP_SERVERS_FILE, delete_file, download_file, get_file_by_name, upload_user_file
|
|
9
|
-
from langflow.base.mcp.util import update_tools
|
|
10
|
-
from langflow.logging import logger
|
|
11
11
|
from langflow.services.deps import get_settings_service, get_storage_service
|
|
12
12
|
|
|
13
13
|
router = APIRouter(tags=["MCP"], prefix="/mcp")
|
langflow/base/__init__.py
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"""Backwards compatibility module for langflow.base.
|
|
2
|
+
|
|
3
|
+
This module imports from lfx.base to maintain compatibility with existing code
|
|
4
|
+
that expects to import from langflow.base.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
# Import all base modules from lfx for backwards compatibility
|
|
8
|
+
from lfx.base import * # noqa: F403
|
|
9
|
+
|
|
10
|
+
# Import langflow-specific modules that aren't in lfx.base
|
|
11
|
+
from . import knowledge_bases # noqa: F401
|
langflow/base/agents/__init__.py
CHANGED
langflow/base/data/__init__.py
CHANGED