langflow-base-nightly 0.5.1.dev3__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.
- 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.dev4.dist-info}/METADATA +2 -1
- langflow_base_nightly-0.5.1.dev4.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.dev4.dist-info}/WHEEL +0 -0
- {langflow_base_nightly-0.5.1.dev3.dist-info → langflow_base_nightly-0.5.1.dev4.dist-info}/entry_points.txt +0 -0
langflow/inputs/inputs.py
CHANGED
|
@@ -1,705 +1,74 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
from
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
1
|
+
"""Re-export of all input classes from lfx.
|
|
2
|
+
|
|
3
|
+
This module maintains backward compatibility by re-exporting all input classes from lfx.
|
|
4
|
+
All input classes have been migrated to lfx and this file serves as a compatibility layer.
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
# Re-export all inputs from lfx
|
|
8
|
+
from lfx.inputs.inputs import (
|
|
9
|
+
AuthInput,
|
|
10
|
+
BoolInput,
|
|
11
|
+
CodeInput,
|
|
12
|
+
DataFrameInput,
|
|
13
|
+
DataInput,
|
|
14
|
+
DefaultPromptField,
|
|
15
|
+
DictInput,
|
|
16
|
+
DropdownInput,
|
|
17
|
+
FileInput,
|
|
18
|
+
FloatInput,
|
|
19
|
+
HandleInput,
|
|
20
|
+
InputTypes,
|
|
21
|
+
InputTypesMap,
|
|
22
|
+
IntInput,
|
|
23
|
+
LinkInput,
|
|
24
|
+
McpInput,
|
|
25
|
+
MessageInput,
|
|
26
|
+
MessageTextInput,
|
|
27
|
+
MultilineInput,
|
|
28
|
+
MultilineSecretInput,
|
|
29
|
+
MultiselectInput,
|
|
30
|
+
NestedDictInput,
|
|
31
|
+
PromptInput,
|
|
32
|
+
QueryInput,
|
|
33
|
+
SecretStrInput,
|
|
34
|
+
SliderInput,
|
|
35
|
+
StrInput,
|
|
36
|
+
TabInput,
|
|
37
|
+
TableInput,
|
|
38
|
+
ToolsInput,
|
|
39
|
+
instantiate_input,
|
|
35
40
|
)
|
|
36
41
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
f"Instead, got a {type(item).__name__}. Please check the format of your input data."
|
|
71
|
-
)
|
|
72
|
-
raise ValueError(msg) # noqa: TRY004
|
|
73
|
-
return v
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
class HandleInput(BaseInputMixin, ListableInputMixin, MetadataTraceMixin):
|
|
77
|
-
"""Represents an Input that has a Handle to a specific type (e.g. BaseLanguageModel, BaseRetriever, etc.).
|
|
78
|
-
|
|
79
|
-
This class inherits from the `BaseInputMixin` and `ListableInputMixin` classes.
|
|
80
|
-
|
|
81
|
-
Attributes:
|
|
82
|
-
input_types (list[str]): A list of input types.
|
|
83
|
-
field_type (SerializableFieldTypes): The field type of the input.
|
|
84
|
-
"""
|
|
85
|
-
|
|
86
|
-
input_types: list[str] = Field(default_factory=list)
|
|
87
|
-
field_type: SerializableFieldTypes = FieldTypes.OTHER
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
class ToolsInput(BaseInputMixin, ListableInputMixin, MetadataTraceMixin, ToolModeMixin):
|
|
91
|
-
"""Represents an Input that contains a list of tools to activate, deactivate, or edit.
|
|
92
|
-
|
|
93
|
-
Attributes:
|
|
94
|
-
field_type (SerializableFieldTypes): The field type of the input.
|
|
95
|
-
value (list[dict]): The value of the input.
|
|
96
|
-
|
|
97
|
-
"""
|
|
98
|
-
|
|
99
|
-
field_type: SerializableFieldTypes = FieldTypes.TOOLS
|
|
100
|
-
value: list[dict] = Field(default_factory=list)
|
|
101
|
-
is_list: bool = True
|
|
102
|
-
real_time_refresh: bool = True
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
class DataInput(HandleInput, InputTraceMixin, ListableInputMixin, ToolModeMixin):
|
|
106
|
-
"""Represents an Input that has a Handle that receives a Data object.
|
|
107
|
-
|
|
108
|
-
Attributes:
|
|
109
|
-
input_types (list[str]): A list of input types supported by this data input.
|
|
110
|
-
"""
|
|
111
|
-
|
|
112
|
-
input_types: list[str] = ["Data"]
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
class DataFrameInput(HandleInput, InputTraceMixin, ListableInputMixin, ToolModeMixin):
|
|
116
|
-
input_types: list[str] = ["DataFrame"]
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
class PromptInput(BaseInputMixin, ListableInputMixin, InputTraceMixin, ToolModeMixin):
|
|
120
|
-
field_type: SerializableFieldTypes = FieldTypes.PROMPT
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
class CodeInput(BaseInputMixin, ListableInputMixin, InputTraceMixin, ToolModeMixin):
|
|
124
|
-
field_type: SerializableFieldTypes = FieldTypes.CODE
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
# Applying mixins to a specific input type
|
|
128
|
-
class StrInput(
|
|
129
|
-
BaseInputMixin,
|
|
130
|
-
ListableInputMixin,
|
|
131
|
-
DatabaseLoadMixin,
|
|
132
|
-
MetadataTraceMixin,
|
|
133
|
-
ToolModeMixin,
|
|
134
|
-
):
|
|
135
|
-
field_type: SerializableFieldTypes = FieldTypes.TEXT
|
|
136
|
-
load_from_db: CoalesceBool = False
|
|
137
|
-
"""Defines if the field will allow the user to open a text editor. Default is False."""
|
|
138
|
-
|
|
139
|
-
@staticmethod
|
|
140
|
-
def _validate_value(v: Any, info):
|
|
141
|
-
"""Validates the given value and returns the processed value.
|
|
142
|
-
|
|
143
|
-
Args:
|
|
144
|
-
v (Any): The value to be validated.
|
|
145
|
-
info: Additional information about the input.
|
|
146
|
-
|
|
147
|
-
Returns:
|
|
148
|
-
The processed value.
|
|
149
|
-
|
|
150
|
-
Raises:
|
|
151
|
-
ValueError: If the value is not of a valid type or if the input is missing a required key.
|
|
152
|
-
"""
|
|
153
|
-
if not isinstance(v, str) and v is not None:
|
|
154
|
-
# Keep the warning for now, but we should change it to an error
|
|
155
|
-
if info.data.get("input_types") and v.__class__.__name__ not in info.data.get("input_types"):
|
|
156
|
-
warnings.warn(
|
|
157
|
-
f"Invalid value type {type(v)} for input {info.data.get('name')}. "
|
|
158
|
-
f"Expected types: {info.data.get('input_types')}",
|
|
159
|
-
stacklevel=4,
|
|
160
|
-
)
|
|
161
|
-
else:
|
|
162
|
-
warnings.warn(
|
|
163
|
-
f"Invalid value type {type(v)} for input {info.data.get('name')}.",
|
|
164
|
-
stacklevel=4,
|
|
165
|
-
)
|
|
166
|
-
return v
|
|
167
|
-
|
|
168
|
-
@field_validator("value")
|
|
169
|
-
@classmethod
|
|
170
|
-
def validate_value(cls, v: Any, info):
|
|
171
|
-
"""Validates the given value and returns the processed value.
|
|
172
|
-
|
|
173
|
-
Args:
|
|
174
|
-
v (Any): The value to be validated.
|
|
175
|
-
info: Additional information about the input.
|
|
176
|
-
|
|
177
|
-
Returns:
|
|
178
|
-
The processed value.
|
|
179
|
-
|
|
180
|
-
Raises:
|
|
181
|
-
ValueError: If the value is not of a valid type or if the input is missing a required key.
|
|
182
|
-
"""
|
|
183
|
-
is_list = info.data["is_list"]
|
|
184
|
-
return [cls._validate_value(vv, info) for vv in v] if is_list else cls._validate_value(v, info)
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
class MessageInput(StrInput, InputTraceMixin):
|
|
188
|
-
input_types: list[str] = ["Message"]
|
|
189
|
-
|
|
190
|
-
@staticmethod
|
|
191
|
-
def _validate_value(v: Any, _info):
|
|
192
|
-
# If v is a instance of Message, then its fine
|
|
193
|
-
if isinstance(v, dict):
|
|
194
|
-
return Message(**v)
|
|
195
|
-
if isinstance(v, Message):
|
|
196
|
-
return v
|
|
197
|
-
if isinstance(v, str | AsyncIterator | Iterator):
|
|
198
|
-
return Message(text=v)
|
|
199
|
-
if isinstance(v, MessageBase):
|
|
200
|
-
return Message(**v.model_dump())
|
|
201
|
-
msg = f"Invalid value type {type(v)}"
|
|
202
|
-
raise ValueError(msg)
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
class MessageTextInput(StrInput, MetadataTraceMixin, InputTraceMixin, ToolModeMixin):
|
|
206
|
-
"""Represents a text input component for the Langflow system.
|
|
207
|
-
|
|
208
|
-
This component is used to handle text inputs in the Langflow system.
|
|
209
|
-
It provides methods for validating and processing text values.
|
|
210
|
-
|
|
211
|
-
Attributes:
|
|
212
|
-
input_types (list[str]): A list of input types that this component supports.
|
|
213
|
-
In this case, it supports the "Message" input type.
|
|
214
|
-
"""
|
|
215
|
-
|
|
216
|
-
input_types: list[str] = ["Message"]
|
|
217
|
-
|
|
218
|
-
@staticmethod
|
|
219
|
-
def _validate_value(v: Any, info):
|
|
220
|
-
"""Validates the given value and returns the processed value.
|
|
221
|
-
|
|
222
|
-
Args:
|
|
223
|
-
v (Any): The value to be validated.
|
|
224
|
-
info: Additional information about the input.
|
|
225
|
-
|
|
226
|
-
Returns:
|
|
227
|
-
The processed value.
|
|
228
|
-
|
|
229
|
-
Raises:
|
|
230
|
-
ValueError: If the value is not of a valid type or if the input is missing a required key.
|
|
231
|
-
"""
|
|
232
|
-
value: str | AsyncIterator | Iterator | None = None
|
|
233
|
-
if isinstance(v, dict):
|
|
234
|
-
v = Message(**v)
|
|
235
|
-
if isinstance(v, str):
|
|
236
|
-
value = v
|
|
237
|
-
elif isinstance(v, Message):
|
|
238
|
-
value = v.text
|
|
239
|
-
elif isinstance(v, Data):
|
|
240
|
-
if v.text_key in v.data:
|
|
241
|
-
value = v.data[v.text_key]
|
|
242
|
-
else:
|
|
243
|
-
keys = ", ".join(v.data.keys())
|
|
244
|
-
input_name = info.data["name"]
|
|
245
|
-
msg = (
|
|
246
|
-
f"The input to '{input_name}' must contain the key '{v.text_key}'."
|
|
247
|
-
f"You can set `text_key` to one of the following keys: {keys} "
|
|
248
|
-
"or set the value using another Component."
|
|
249
|
-
)
|
|
250
|
-
raise ValueError(msg)
|
|
251
|
-
elif isinstance(v, AsyncIterator | Iterator):
|
|
252
|
-
value = v
|
|
253
|
-
else:
|
|
254
|
-
msg = f"Invalid value type {type(v)}"
|
|
255
|
-
raise ValueError(msg) # noqa: TRY004
|
|
256
|
-
return value
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
class MultilineInput(MessageTextInput, MultilineMixin, InputTraceMixin, ToolModeMixin):
|
|
260
|
-
"""Represents a multiline input field.
|
|
261
|
-
|
|
262
|
-
Attributes:
|
|
263
|
-
field_type (SerializableFieldTypes): The type of the field. Defaults to FieldTypes.TEXT.
|
|
264
|
-
multiline (CoalesceBool): Indicates whether the input field should support multiple lines. Defaults to True.
|
|
265
|
-
"""
|
|
266
|
-
|
|
267
|
-
field_type: SerializableFieldTypes = FieldTypes.TEXT
|
|
268
|
-
multiline: CoalesceBool = True
|
|
269
|
-
copy_field: CoalesceBool = False
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
class MultilineSecretInput(MessageTextInput, MultilineMixin, InputTraceMixin):
|
|
273
|
-
"""Represents a multiline input field.
|
|
274
|
-
|
|
275
|
-
Attributes:
|
|
276
|
-
field_type (SerializableFieldTypes): The type of the field. Defaults to FieldTypes.TEXT.
|
|
277
|
-
multiline (CoalesceBool): Indicates whether the input field should support multiple lines. Defaults to True.
|
|
278
|
-
"""
|
|
279
|
-
|
|
280
|
-
field_type: SerializableFieldTypes = FieldTypes.PASSWORD
|
|
281
|
-
multiline: CoalesceBool = True
|
|
282
|
-
password: CoalesceBool = Field(default=True)
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
class SecretStrInput(BaseInputMixin, DatabaseLoadMixin):
|
|
286
|
-
"""Represents a field with password field type.
|
|
287
|
-
|
|
288
|
-
This class inherits from `BaseInputMixin` and `DatabaseLoadMixin`.
|
|
289
|
-
|
|
290
|
-
Attributes:
|
|
291
|
-
field_type (SerializableFieldTypes): The field type of the input. Defaults to `FieldTypes.PASSWORD`.
|
|
292
|
-
password (CoalesceBool): A boolean indicating whether the input is a password. Defaults to `True`.
|
|
293
|
-
input_types (list[str]): A list of input types associated with this input. Defaults to an empty list.
|
|
294
|
-
"""
|
|
295
|
-
|
|
296
|
-
field_type: SerializableFieldTypes = FieldTypes.PASSWORD
|
|
297
|
-
password: CoalesceBool = Field(default=True)
|
|
298
|
-
input_types: list[str] = []
|
|
299
|
-
load_from_db: CoalesceBool = True
|
|
300
|
-
|
|
301
|
-
@field_validator("value")
|
|
302
|
-
@classmethod
|
|
303
|
-
def validate_value(cls, v: Any, info):
|
|
304
|
-
"""Validates the given value and returns the processed value.
|
|
305
|
-
|
|
306
|
-
Args:
|
|
307
|
-
v (Any): The value to be validated.
|
|
308
|
-
info: Additional information about the input.
|
|
309
|
-
|
|
310
|
-
Returns:
|
|
311
|
-
The processed value.
|
|
312
|
-
|
|
313
|
-
Raises:
|
|
314
|
-
ValueError: If the value is not of a valid type or if the input is missing a required key.
|
|
315
|
-
"""
|
|
316
|
-
value: str | AsyncIterator | Iterator | None = None
|
|
317
|
-
if isinstance(v, str):
|
|
318
|
-
value = v
|
|
319
|
-
elif isinstance(v, Message):
|
|
320
|
-
value = v.text
|
|
321
|
-
elif isinstance(v, Data):
|
|
322
|
-
if v.text_key in v.data:
|
|
323
|
-
value = v.data[v.text_key]
|
|
324
|
-
else:
|
|
325
|
-
keys = ", ".join(v.data.keys())
|
|
326
|
-
input_name = info.data["name"]
|
|
327
|
-
msg = (
|
|
328
|
-
f"The input to '{input_name}' must contain the key '{v.text_key}'."
|
|
329
|
-
f"You can set `text_key` to one of the following keys: {keys} "
|
|
330
|
-
"or set the value using another Component."
|
|
331
|
-
)
|
|
332
|
-
raise ValueError(msg)
|
|
333
|
-
elif isinstance(v, AsyncIterator | Iterator):
|
|
334
|
-
value = v
|
|
335
|
-
elif v is None:
|
|
336
|
-
value = None
|
|
337
|
-
else:
|
|
338
|
-
msg = f"Invalid value type `{type(v)}` for input `{info.data['name']}`"
|
|
339
|
-
raise ValueError(msg)
|
|
340
|
-
return value
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
class IntInput(BaseInputMixin, ListableInputMixin, RangeMixin, MetadataTraceMixin, ToolModeMixin):
|
|
344
|
-
"""Represents an integer field.
|
|
345
|
-
|
|
346
|
-
This class represents an integer input and provides functionality for handling integer values.
|
|
347
|
-
It inherits from the `BaseInputMixin`, `ListableInputMixin`, and `RangeMixin` classes.
|
|
348
|
-
|
|
349
|
-
Attributes:
|
|
350
|
-
field_type (SerializableFieldTypes): The field type of the input. Defaults to FieldTypes.INTEGER.
|
|
351
|
-
"""
|
|
352
|
-
|
|
353
|
-
field_type: SerializableFieldTypes = FieldTypes.INTEGER
|
|
354
|
-
|
|
355
|
-
@field_validator("value")
|
|
356
|
-
@classmethod
|
|
357
|
-
def validate_value(cls, v: Any, info):
|
|
358
|
-
"""Validates the given value and returns the processed value.
|
|
359
|
-
|
|
360
|
-
Args:
|
|
361
|
-
v (Any): The value to be validated.
|
|
362
|
-
info: Additional information about the input.
|
|
363
|
-
|
|
364
|
-
Returns:
|
|
365
|
-
The processed value.
|
|
366
|
-
|
|
367
|
-
Raises:
|
|
368
|
-
ValueError: If the value is not of a valid type or if the input is missing a required key.
|
|
369
|
-
"""
|
|
370
|
-
if v and not isinstance(v, int | float):
|
|
371
|
-
msg = f"Invalid value type {type(v)} for input {info.data.get('name')}."
|
|
372
|
-
raise ValueError(msg)
|
|
373
|
-
if isinstance(v, float):
|
|
374
|
-
v = int(v)
|
|
375
|
-
return v
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
class FloatInput(BaseInputMixin, ListableInputMixin, RangeMixin, MetadataTraceMixin, ToolModeMixin):
|
|
379
|
-
"""Represents a float field.
|
|
380
|
-
|
|
381
|
-
This class represents a float input and provides functionality for handling float values.
|
|
382
|
-
It inherits from the `BaseInputMixin`, `ListableInputMixin`, and `RangeMixin` classes.
|
|
383
|
-
|
|
384
|
-
Attributes:
|
|
385
|
-
field_type (SerializableFieldTypes): The field type of the input. Defaults to FieldTypes.FLOAT.
|
|
386
|
-
"""
|
|
387
|
-
|
|
388
|
-
field_type: SerializableFieldTypes = FieldTypes.FLOAT
|
|
389
|
-
|
|
390
|
-
@field_validator("value")
|
|
391
|
-
@classmethod
|
|
392
|
-
def validate_value(cls, v: Any, info):
|
|
393
|
-
"""Validates the given value and returns the processed value.
|
|
394
|
-
|
|
395
|
-
Args:
|
|
396
|
-
v (Any): The value to be validated.
|
|
397
|
-
info: Additional information about the input.
|
|
398
|
-
|
|
399
|
-
Returns:
|
|
400
|
-
The processed value.
|
|
401
|
-
|
|
402
|
-
Raises:
|
|
403
|
-
ValueError: If the value is not of a valid type or if the input is missing a required key.
|
|
404
|
-
"""
|
|
405
|
-
if v and not isinstance(v, int | float):
|
|
406
|
-
msg = f"Invalid value type {type(v)} for input {info.data.get('name')}."
|
|
407
|
-
raise ValueError(msg)
|
|
408
|
-
if isinstance(v, int):
|
|
409
|
-
v = float(v)
|
|
410
|
-
return v
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
class BoolInput(BaseInputMixin, ListableInputMixin, MetadataTraceMixin, ToolModeMixin):
|
|
414
|
-
"""Represents a boolean field.
|
|
415
|
-
|
|
416
|
-
This class represents a boolean input and provides functionality for handling boolean values.
|
|
417
|
-
It inherits from the `BaseInputMixin` and `ListableInputMixin` classes.
|
|
418
|
-
|
|
419
|
-
Attributes:
|
|
420
|
-
field_type (SerializableFieldTypes): The field type of the input. Defaults to FieldTypes.BOOLEAN.
|
|
421
|
-
value (CoalesceBool): The value of the boolean input.
|
|
422
|
-
"""
|
|
423
|
-
|
|
424
|
-
field_type: SerializableFieldTypes = FieldTypes.BOOLEAN
|
|
425
|
-
value: CoalesceBool = False
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
class NestedDictInput(
|
|
429
|
-
BaseInputMixin,
|
|
430
|
-
ListableInputMixin,
|
|
431
|
-
MetadataTraceMixin,
|
|
432
|
-
InputTraceMixin,
|
|
433
|
-
ToolModeMixin,
|
|
434
|
-
):
|
|
435
|
-
"""Represents a nested dictionary field.
|
|
436
|
-
|
|
437
|
-
This class represents a nested dictionary input and provides functionality for handling dictionary values.
|
|
438
|
-
It inherits from the `BaseInputMixin` and `ListableInputMixin` classes.
|
|
439
|
-
|
|
440
|
-
Attributes:
|
|
441
|
-
field_type (SerializableFieldTypes): The field type of the input. Defaults to FieldTypes.NESTED_DICT.
|
|
442
|
-
value (Optional[dict]): The value of the input. Defaults to an empty dictionary.
|
|
443
|
-
"""
|
|
444
|
-
|
|
445
|
-
field_type: SerializableFieldTypes = FieldTypes.NESTED_DICT
|
|
446
|
-
value: dict | None = {}
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
class DictInput(BaseInputMixin, ListableInputMixin, InputTraceMixin, ToolModeMixin):
|
|
450
|
-
"""Represents a dictionary field.
|
|
451
|
-
|
|
452
|
-
This class represents a dictionary input and provides functionality for handling dictionary values.
|
|
453
|
-
It inherits from the `BaseInputMixin` and `ListableInputMixin` classes.
|
|
454
|
-
|
|
455
|
-
Attributes:
|
|
456
|
-
field_type (SerializableFieldTypes): The field type of the input. Defaults to FieldTypes.DICT.
|
|
457
|
-
value (Optional[dict]): The value of the dictionary input. Defaults to an empty dictionary.
|
|
458
|
-
"""
|
|
459
|
-
|
|
460
|
-
field_type: SerializableFieldTypes = FieldTypes.DICT
|
|
461
|
-
# value: dict | None = {"key": "value"}
|
|
462
|
-
# Note do not set value to an empty dict, it will break the component in dynamic update build config
|
|
463
|
-
# value: dict | None = {}
|
|
464
|
-
value: dict = Field(default_factory=dict)
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
class DropdownInput(BaseInputMixin, DropDownMixin, MetadataTraceMixin, ToolModeMixin):
|
|
468
|
-
"""Represents a dropdown input field.
|
|
469
|
-
|
|
470
|
-
This class represents a dropdown input field and provides functionality for handling dropdown values.
|
|
471
|
-
It inherits from the `BaseInputMixin` and `DropDownMixin` classes.
|
|
472
|
-
|
|
473
|
-
Attributes:
|
|
474
|
-
field_type (SerializableFieldTypes): The field type of the input. Defaults to FieldTypes.TEXT.
|
|
475
|
-
options (Optional[Union[list[str], Callable]]): List of options for the field.
|
|
476
|
-
Default is None.
|
|
477
|
-
options_metadata (Optional[list[dict[str, str]]): List of dictionaries with metadata for each option.
|
|
478
|
-
Default is None.
|
|
479
|
-
combobox (CoalesceBool): Variable that defines if the user can insert custom values in the dropdown.
|
|
480
|
-
toggle (CoalesceBool): Variable that defines if a toggle button is shown.
|
|
481
|
-
toggle_value (CoalesceBool | None): Variable that defines the value of the toggle button. Defaults to None.
|
|
482
|
-
"""
|
|
483
|
-
|
|
484
|
-
field_type: SerializableFieldTypes = FieldTypes.TEXT
|
|
485
|
-
options: list[str] = Field(default_factory=list)
|
|
486
|
-
options_metadata: list[dict[str, Any]] = Field(default_factory=list)
|
|
487
|
-
combobox: CoalesceBool = False
|
|
488
|
-
dialog_inputs: dict[str, Any] = Field(default_factory=dict)
|
|
489
|
-
toggle: bool = False
|
|
490
|
-
toggle_disable: bool | None = None
|
|
491
|
-
toggle_value: bool | None = None
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
class ConnectionInput(BaseInputMixin, ConnectionMixin, MetadataTraceMixin, ToolModeMixin):
|
|
495
|
-
"""Represents a connection input field.
|
|
496
|
-
|
|
497
|
-
This class represents a connection input field and provides functionality for handling connection values.
|
|
498
|
-
It inherits from the `BaseInputMixin` and `ConnectionMixin` classes.
|
|
499
|
-
|
|
500
|
-
"""
|
|
501
|
-
|
|
502
|
-
field_type: SerializableFieldTypes = FieldTypes.CONNECTION
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
class AuthInput(BaseInputMixin, AuthMixin, MetadataTraceMixin):
|
|
506
|
-
"""Represents an authentication input field.
|
|
507
|
-
|
|
508
|
-
This class represents an authentication input field and provides functionality for handling authentication values.
|
|
509
|
-
It inherits from the `BaseInputMixin` and `AuthMixin` classes.
|
|
510
|
-
|
|
511
|
-
Attributes:
|
|
512
|
-
field_type (SerializableFieldTypes): The field type of the input. Defaults to FieldTypes.AUTH.
|
|
513
|
-
"""
|
|
514
|
-
|
|
515
|
-
field_type: SerializableFieldTypes = FieldTypes.AUTH
|
|
516
|
-
show: bool = False
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
class QueryInput(MessageTextInput, QueryMixin):
|
|
520
|
-
"""Represents a query input field.
|
|
521
|
-
|
|
522
|
-
This class represents an query input field and provides functionality for handling search values.
|
|
523
|
-
It inherits from the `BaseInputMixin` and `QueryMixin` classes.
|
|
524
|
-
|
|
525
|
-
Attributes:
|
|
526
|
-
field_type (SerializableFieldTypes): The field type of the input. Defaults to FieldTypes.SEARCH.
|
|
527
|
-
separator (str | None): The separator for the query input. Defaults to None.
|
|
528
|
-
value (str): The value for the query input. Defaults to an empty string.
|
|
529
|
-
"""
|
|
530
|
-
|
|
531
|
-
field_type: SerializableFieldTypes = FieldTypes.QUERY
|
|
532
|
-
separator: str | None = Field(default=None)
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
class SortableListInput(BaseInputMixin, SortableListMixin, MetadataTraceMixin, ToolModeMixin):
|
|
536
|
-
"""Represents a list selection input field.
|
|
537
|
-
|
|
538
|
-
This class represents a list selection input field and provides functionality for handling list selection values.
|
|
539
|
-
It inherits from the `BaseInputMixin` and `ListableInputMixin` classes.
|
|
540
|
-
|
|
541
|
-
Attributes:
|
|
542
|
-
field_type (SerializableFieldTypes): The field type of the input. Defaults to FieldTypes.SORTABLE_LIST.
|
|
543
|
-
"""
|
|
544
|
-
|
|
545
|
-
field_type: SerializableFieldTypes = FieldTypes.SORTABLE_LIST
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
class TabInput(BaseInputMixin, TabMixin, MetadataTraceMixin, ToolModeMixin):
|
|
549
|
-
"""Represents a tab input field.
|
|
550
|
-
|
|
551
|
-
This class represents a tab input field that allows a maximum of 3 values, each with a maximum of 20 characters.
|
|
552
|
-
It inherits from the `BaseInputMixin` and `TabMixin` classes.
|
|
553
|
-
|
|
554
|
-
Attributes:
|
|
555
|
-
field_type (SerializableFieldTypes): The field type of the input. Defaults to FieldTypes.TAB.
|
|
556
|
-
options (list[str]): List of tab options. Maximum of 3 values allowed, each with a maximum of 20 characters.
|
|
557
|
-
active_tab (int): Index of the currently active tab. Defaults to 0.
|
|
558
|
-
"""
|
|
559
|
-
|
|
560
|
-
field_type: SerializableFieldTypes = FieldTypes.TAB
|
|
561
|
-
options: list[str] = Field(default_factory=list)
|
|
562
|
-
|
|
563
|
-
@model_validator(mode="after")
|
|
564
|
-
@classmethod
|
|
565
|
-
def validate_value(cls, values):
|
|
566
|
-
"""Validates the value to ensure it's one of the tab values."""
|
|
567
|
-
options = values.options # Agora temos certeza de que options está disponível
|
|
568
|
-
value = values.value
|
|
569
|
-
|
|
570
|
-
if not isinstance(value, str):
|
|
571
|
-
msg = f"TabInput value must be a string. Got {type(value).__name__}."
|
|
572
|
-
raise TypeError(msg)
|
|
573
|
-
|
|
574
|
-
if value not in options and value != "":
|
|
575
|
-
msg = f"TabInput value must be one of the following: {options}. Got: '{value}'"
|
|
576
|
-
raise ValueError(msg)
|
|
577
|
-
|
|
578
|
-
return values
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
class MultiselectInput(BaseInputMixin, ListableInputMixin, DropDownMixin, MetadataTraceMixin, ToolModeMixin):
|
|
582
|
-
"""Represents a multiselect input field.
|
|
583
|
-
|
|
584
|
-
This class represents a multiselect input field and provides functionality for handling multiselect values.
|
|
585
|
-
It inherits from the `BaseInputMixin`, `ListableInputMixin` and `DropDownMixin` classes.
|
|
586
|
-
|
|
587
|
-
Attributes:
|
|
588
|
-
field_type (SerializableFieldTypes): The field type of the input. Defaults to FieldTypes.TEXT.
|
|
589
|
-
options (Optional[Union[list[str], Callable]]): List of options for the field. Only used when is_list=True.
|
|
590
|
-
Default is None.
|
|
591
|
-
"""
|
|
592
|
-
|
|
593
|
-
field_type: SerializableFieldTypes = FieldTypes.TEXT
|
|
594
|
-
options: list[str] = Field(default_factory=list)
|
|
595
|
-
is_list: bool = Field(default=True, serialization_alias="list")
|
|
596
|
-
combobox: CoalesceBool = False
|
|
597
|
-
|
|
598
|
-
@field_validator("value")
|
|
599
|
-
@classmethod
|
|
600
|
-
def validate_value(cls, v: Any, _info):
|
|
601
|
-
# Check if value is a list of dicts
|
|
602
|
-
if not isinstance(v, list):
|
|
603
|
-
msg = f"MultiselectInput value must be a list. Value: '{v}'"
|
|
604
|
-
raise ValueError(msg) # noqa: TRY004
|
|
605
|
-
for item in v:
|
|
606
|
-
if not isinstance(item, str):
|
|
607
|
-
msg = f"MultiselectInput value must be a list of strings. Item: '{item}' is not a string"
|
|
608
|
-
raise ValueError(msg) # noqa: TRY004
|
|
609
|
-
return v
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
class FileInput(BaseInputMixin, ListableInputMixin, FileMixin, MetadataTraceMixin):
|
|
613
|
-
"""Represents a file field.
|
|
614
|
-
|
|
615
|
-
This class represents a file input and provides functionality for handling file values.
|
|
616
|
-
It inherits from the `BaseInputMixin`, `ListableInputMixin`, and `FileMixin` classes.
|
|
617
|
-
|
|
618
|
-
Attributes:
|
|
619
|
-
field_type (SerializableFieldTypes): The field type of the input. Defaults to FieldTypes.FILE.
|
|
620
|
-
"""
|
|
621
|
-
|
|
622
|
-
field_type: SerializableFieldTypes = FieldTypes.FILE
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
class McpInput(BaseInputMixin, MetadataTraceMixin):
|
|
626
|
-
"""Represents a mcp input field.
|
|
627
|
-
|
|
628
|
-
This class represents a mcp input and provides functionality for handling mcp values.
|
|
629
|
-
It inherits from the `BaseInputMixin` and `MetadataTraceMixin` classes.
|
|
630
|
-
|
|
631
|
-
Attributes:
|
|
632
|
-
field_type (SerializableFieldTypes): The field type of the input. Defaults to FieldTypes.MCP.
|
|
633
|
-
"""
|
|
634
|
-
|
|
635
|
-
field_type: SerializableFieldTypes = FieldTypes.MCP
|
|
636
|
-
value: dict[str, Any] = Field(default_factory=dict)
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
class LinkInput(BaseInputMixin, LinkMixin):
|
|
640
|
-
field_type: SerializableFieldTypes = FieldTypes.LINK
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
class SliderInput(BaseInputMixin, RangeMixin, SliderMixin, ToolModeMixin):
|
|
644
|
-
field_type: SerializableFieldTypes = FieldTypes.SLIDER
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
DEFAULT_PROMPT_INTUT_TYPES = ["Message"]
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
class DefaultPromptField(Input):
|
|
651
|
-
name: str
|
|
652
|
-
display_name: str | None = None
|
|
653
|
-
field_type: str = "str"
|
|
654
|
-
advanced: bool = False
|
|
655
|
-
multiline: bool = True
|
|
656
|
-
input_types: list[str] = DEFAULT_PROMPT_INTUT_TYPES
|
|
657
|
-
value: Any = "" # Set the value to empty string
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
InputTypes: TypeAlias = (
|
|
661
|
-
Input
|
|
662
|
-
| AuthInput
|
|
663
|
-
| QueryInput
|
|
664
|
-
| DefaultPromptField
|
|
665
|
-
| BoolInput
|
|
666
|
-
| DataInput
|
|
667
|
-
| DictInput
|
|
668
|
-
| DropdownInput
|
|
669
|
-
| MultiselectInput
|
|
670
|
-
| SortableListInput
|
|
671
|
-
| ConnectionInput
|
|
672
|
-
| FileInput
|
|
673
|
-
| FloatInput
|
|
674
|
-
| HandleInput
|
|
675
|
-
| IntInput
|
|
676
|
-
| McpInput
|
|
677
|
-
| MultilineInput
|
|
678
|
-
| MultilineSecretInput
|
|
679
|
-
| NestedDictInput
|
|
680
|
-
| ToolsInput
|
|
681
|
-
| PromptInput
|
|
682
|
-
| CodeInput
|
|
683
|
-
| SecretStrInput
|
|
684
|
-
| StrInput
|
|
685
|
-
| MessageTextInput
|
|
686
|
-
| MessageInput
|
|
687
|
-
| TableInput
|
|
688
|
-
| LinkInput
|
|
689
|
-
| SliderInput
|
|
690
|
-
| DataFrameInput
|
|
691
|
-
| TabInput
|
|
692
|
-
)
|
|
693
|
-
|
|
694
|
-
InputTypesMap: dict[str, type[InputTypes]] = {t.__name__: t for t in get_args(InputTypes)}
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
def instantiate_input(input_type: str, data: dict) -> InputTypes:
|
|
698
|
-
input_type_class = InputTypesMap.get(input_type)
|
|
699
|
-
if "type" in data:
|
|
700
|
-
# Replate with field_type
|
|
701
|
-
data["field_type"] = data.pop("type")
|
|
702
|
-
if input_type_class:
|
|
703
|
-
return input_type_class(**data)
|
|
704
|
-
msg = f"Invalid input type: {input_type}"
|
|
705
|
-
raise ValueError(msg)
|
|
42
|
+
__all__ = [
|
|
43
|
+
"AuthInput",
|
|
44
|
+
"BoolInput",
|
|
45
|
+
"CodeInput",
|
|
46
|
+
"DataFrameInput",
|
|
47
|
+
"DataInput",
|
|
48
|
+
"DefaultPromptField",
|
|
49
|
+
"DictInput",
|
|
50
|
+
"DropdownInput",
|
|
51
|
+
"FileInput",
|
|
52
|
+
"FloatInput",
|
|
53
|
+
"HandleInput",
|
|
54
|
+
"InputTypes",
|
|
55
|
+
"InputTypesMap",
|
|
56
|
+
"IntInput",
|
|
57
|
+
"LinkInput",
|
|
58
|
+
"McpInput",
|
|
59
|
+
"MessageInput",
|
|
60
|
+
"MessageTextInput",
|
|
61
|
+
"MultilineInput",
|
|
62
|
+
"MultilineSecretInput",
|
|
63
|
+
"MultiselectInput",
|
|
64
|
+
"NestedDictInput",
|
|
65
|
+
"PromptInput",
|
|
66
|
+
"QueryInput",
|
|
67
|
+
"SecretStrInput",
|
|
68
|
+
"SliderInput",
|
|
69
|
+
"StrInput",
|
|
70
|
+
"TabInput",
|
|
71
|
+
"TableInput",
|
|
72
|
+
"ToolsInput",
|
|
73
|
+
"instantiate_input",
|
|
74
|
+
]
|