lfx-nightly 0.2.1.dev7__py3-none-any.whl → 0.3.0.dev3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. lfx/__main__.py +137 -6
  2. lfx/_assets/component_index.json +1 -1
  3. lfx/base/agents/agent.py +9 -5
  4. lfx/base/agents/altk_base_agent.py +5 -3
  5. lfx/base/agents/events.py +1 -1
  6. lfx/base/models/unified_models.py +1 -1
  7. lfx/base/models/watsonx_constants.py +10 -7
  8. lfx/base/prompts/api_utils.py +40 -5
  9. lfx/cli/__init__.py +10 -2
  10. lfx/cli/script_loader.py +5 -4
  11. lfx/cli/validation.py +6 -3
  12. lfx/components/datastax/astradb_assistant_manager.py +4 -2
  13. lfx/components/docling/docling_remote.py +1 -0
  14. lfx/components/langchain_utilities/ibm_granite_handler.py +211 -0
  15. lfx/components/langchain_utilities/tool_calling.py +24 -1
  16. lfx/components/llm_operations/lambda_filter.py +182 -97
  17. lfx/components/models_and_agents/mcp_component.py +38 -1
  18. lfx/components/models_and_agents/prompt.py +105 -18
  19. lfx/components/ollama/ollama_embeddings.py +109 -28
  20. lfx/components/processing/text_operations.py +580 -0
  21. lfx/custom/custom_component/component.py +65 -10
  22. lfx/events/observability/__init__.py +0 -0
  23. lfx/events/observability/lifecycle_events.py +111 -0
  24. lfx/field_typing/__init__.py +57 -58
  25. lfx/graph/graph/base.py +36 -0
  26. lfx/graph/utils.py +45 -12
  27. lfx/graph/vertex/base.py +71 -22
  28. lfx/graph/vertex/vertex_types.py +0 -5
  29. lfx/inputs/input_mixin.py +1 -0
  30. lfx/inputs/inputs.py +5 -0
  31. lfx/interface/components.py +24 -7
  32. lfx/run/base.py +47 -77
  33. lfx/schema/__init__.py +50 -0
  34. lfx/schema/message.py +85 -8
  35. lfx/schema/workflow.py +171 -0
  36. lfx/services/deps.py +12 -0
  37. lfx/services/interfaces.py +43 -1
  38. lfx/services/schema.py +1 -0
  39. lfx/services/settings/auth.py +95 -4
  40. lfx/services/settings/base.py +4 -0
  41. lfx/services/settings/utils.py +82 -0
  42. lfx/services/transaction/__init__.py +5 -0
  43. lfx/services/transaction/service.py +35 -0
  44. lfx/tests/unit/components/__init__.py +0 -0
  45. lfx/utils/constants.py +1 -0
  46. lfx/utils/mustache_security.py +79 -0
  47. lfx/utils/validate_cloud.py +67 -0
  48. {lfx_nightly-0.2.1.dev7.dist-info → lfx_nightly-0.3.0.dev3.dist-info}/METADATA +3 -1
  49. {lfx_nightly-0.2.1.dev7.dist-info → lfx_nightly-0.3.0.dev3.dist-info}/RECORD +51 -42
  50. {lfx_nightly-0.2.1.dev7.dist-info → lfx_nightly-0.3.0.dev3.dist-info}/WHEEL +0 -0
  51. {lfx_nightly-0.2.1.dev7.dist-info → lfx_nightly-0.3.0.dev3.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,79 @@
1
+ """Security utilities for mustache template processing."""
2
+
3
+ import re
4
+ from typing import Any
5
+
6
+ # Regex pattern for simple variables only - same as frontend
7
+ SIMPLE_VARIABLE_PATTERN = re.compile(r"\{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}")
8
+
9
+ # Patterns for complex mustache syntax that we want to block
10
+ DANGEROUS_PATTERNS = [
11
+ re.compile(r"\{\{\{"), # Triple braces (unescaped HTML in Mustache)
12
+ re.compile(r"\{\{#"), # Conditionals/sections start
13
+ re.compile(r"\{\{/"), # Conditionals/sections end
14
+ re.compile(r"\{\{\^"), # Inverted sections
15
+ re.compile(r"\{\{&"), # Unescaped variables
16
+ re.compile(r"\{\{>"), # Partials
17
+ re.compile(r"\{\{!"), # Comments
18
+ re.compile(r"\{\{\."), # Current context
19
+ ]
20
+
21
+
22
+ def validate_mustache_template(template: str) -> None:
23
+ """Validate that a mustache template only contains simple variable substitutions.
24
+
25
+ Raises ValueError if complex mustache syntax is detected.
26
+ """
27
+ if not template:
28
+ return
29
+
30
+ # Check for dangerous patterns
31
+ for pattern in DANGEROUS_PATTERNS:
32
+ if pattern.search(template):
33
+ msg = (
34
+ "Complex mustache syntax is not allowed. Only simple variable substitution "
35
+ "like {{variable}} is permitted."
36
+ )
37
+ raise ValueError(msg)
38
+
39
+ # Check that all {{ }} patterns are simple variables
40
+ all_mustache_patterns = re.findall(r"\{\{[^}]*\}\}", template)
41
+ for pattern in all_mustache_patterns:
42
+ if not SIMPLE_VARIABLE_PATTERN.match(pattern):
43
+ msg = f"Invalid mustache variable: {pattern}. Only simple variable names like {{{{variable}}}} are allowed."
44
+ raise ValueError(msg)
45
+
46
+
47
+ def safe_mustache_render(template: str, variables: dict[str, Any]) -> str:
48
+ """Safely render a mustache template with only simple variable substitution.
49
+
50
+ This function performs a single-pass replacement of all {{variable}} patterns.
51
+ Variable values that themselves contain mustache-like patterns (e.g., "{{other}}")
52
+ will NOT be processed - they are treated as literal strings. This prevents
53
+ injection attacks where user-controlled values could introduce new template variables.
54
+
55
+ Args:
56
+ template: The mustache template string
57
+ variables: Dictionary of variables to substitute
58
+
59
+ Returns:
60
+ The rendered template
61
+
62
+ Raises:
63
+ ValueError: If template contains complex mustache syntax
64
+ """
65
+ # Validate template first
66
+ validate_mustache_template(template)
67
+
68
+ # Simple replacement - find all simple variables and replace them
69
+ def replace_variable(match):
70
+ var_name = match.group(1)
71
+
72
+ # Get the variable value directly (no dot notation support)
73
+ value = variables.get(var_name, "")
74
+
75
+ # Convert to string
76
+ return str(value) if value is not None else ""
77
+
78
+ # Replace all simple variables
79
+ return SIMPLE_VARIABLE_PATTERN.sub(replace_variable, template)
@@ -5,6 +5,7 @@ such as disabling certain features when running in Astra cloud environment.
5
5
  """
6
6
 
7
7
  import os
8
+ from typing import Any
8
9
 
9
10
 
10
11
  def is_astra_cloud_environment() -> bool:
@@ -35,3 +36,69 @@ def raise_error_if_astra_cloud_disable_component(msg: str):
35
36
  """
36
37
  if is_astra_cloud_environment():
37
38
  raise ValueError(msg)
39
+
40
+
41
+ # Mapping of component types to their disabled module names and component names when in Astra cloud environment.
42
+ # Keys are component type names (e.g., "docling")
43
+ # Values are sets containing both module filenames (e.g., "chunk_docling_document")
44
+ # and component names (e.g., "ChunkDoclingDocument")
45
+ # To add new disabled components in the future, simply add entries to this dictionary.
46
+ ASTRA_CLOUD_DISABLED_COMPONENTS: dict[str, set[str]] = {
47
+ "docling": {
48
+ # Module filenames (for dynamic loading)
49
+ "chunk_docling_document",
50
+ "docling_inline",
51
+ "export_docling_document",
52
+ # Component names (for index/cache loading)
53
+ "ChunkDoclingDocument",
54
+ "DoclingInline",
55
+ "ExportDoclingDocument",
56
+ }
57
+ }
58
+
59
+
60
+ def is_component_disabled_in_astra_cloud(component_type: str, module_filename: str) -> bool:
61
+ """Check if a specific component module should be disabled in cloud environment.
62
+
63
+ Args:
64
+ component_type: The top-level component type (e.g., "docling")
65
+ module_filename: The module filename without extension (e.g., "chunk_docling_document")
66
+
67
+ Returns:
68
+ bool: True if the component should be disabled, False otherwise.
69
+ """
70
+ if not is_astra_cloud_environment():
71
+ return False
72
+
73
+ disabled_modules = ASTRA_CLOUD_DISABLED_COMPONENTS.get(component_type.lower(), set())
74
+ return module_filename in disabled_modules
75
+
76
+
77
+ def filter_disabled_components_from_dict(modules_dict: dict[str, dict[str, Any]]) -> dict[str, dict[str, Any]]:
78
+ """Filter out disabled components from a loaded modules dictionary.
79
+
80
+ This function is used to filter components that were loaded from index/cache,
81
+ since those bypass the dynamic loading filter.
82
+
83
+ Args:
84
+ modules_dict: Dictionary mapping component types to their components
85
+
86
+ Returns:
87
+ Filtered dictionary with disabled components removed
88
+ """
89
+ if not is_astra_cloud_environment():
90
+ return modules_dict
91
+
92
+ filtered_dict: dict[str, dict[str, Any]] = {}
93
+ for component_type, components in modules_dict.items():
94
+ disabled_set = ASTRA_CLOUD_DISABLED_COMPONENTS.get(component_type.lower(), set())
95
+ if disabled_set:
96
+ # Filter out disabled components
97
+ filtered_components = {name: comp for name, comp in components.items() if name not in disabled_set}
98
+ if filtered_components: # Only add if there are remaining components
99
+ filtered_dict[component_type] = filtered_components
100
+ else:
101
+ # No disabled components for this type, keep all
102
+ filtered_dict[component_type] = components
103
+
104
+ return filtered_dict
@@ -1,14 +1,16 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lfx-nightly
3
- Version: 0.2.1.dev7
3
+ Version: 0.3.0.dev3
4
4
  Summary: Langflow Executor - A lightweight CLI tool for executing and serving Langflow AI flows
5
5
  Author-email: Gabriel Luiz Freitas Almeida <gabriel@langflow.org>
6
6
  Requires-Python: <3.14,>=3.10
7
+ Requires-Dist: ag-ui-protocol>=0.1.10
7
8
  Requires-Dist: aiofile<4.0.0,>=3.8.0
8
9
  Requires-Dist: aiofiles<25.0.0,>=24.1.0
9
10
  Requires-Dist: asyncer<1.0.0,>=0.0.8
10
11
  Requires-Dist: cachetools>=6.0.0
11
12
  Requires-Dist: chardet<6.0.0,>=5.2.0
13
+ Requires-Dist: cryptography>=43.0.0
12
14
  Requires-Dist: defusedxml<1.0.0,>=0.7.1
13
15
  Requires-Dist: docstring-parser<1.0.0,>=0.16
14
16
  Requires-Dist: emoji<3.0.0,>=2.14.1
@@ -1,21 +1,21 @@
1
1
  lfx/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- lfx/__main__.py,sha256=G80cEo-dOSbrG6u1GiRVTe9rqBJAm6-lE6KBQ-lIOBs,510
2
+ lfx/__main__.py,sha256=rpOsbQZgKhHvhz5yjFLU8xFQt9PWTXR2sFY2BqXtuto,4748
3
3
  lfx/constants.py,sha256=Ert_SpwXhutgcTKEvtDArtkONXgyE5x68opMoQfukMA,203
4
4
  lfx/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  lfx/settings.py,sha256=wnx4zkOLQ8mvampYsnnvVV9GvEnRUuWQpKFSbFTCIp4,181
6
6
  lfx/type_extraction.py,sha256=eCZNl9nAQivKdaPv_9BK71N0JV9Rtr--veAht0dnQ4A,2921
7
- lfx/_assets/component_index.json,sha256=8eQpsy3mR4O6DKsHngtIxGYfky-s-HhCaP8xeH0KUqk,4026013
7
+ lfx/_assets/component_index.json,sha256=_2gaPgiKdICPFrvsi-tNIA6WsCcF1FUt-9Zd6oNpya0,4107949
8
8
  lfx/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  lfx/base/constants.py,sha256=v9vo0Ifg8RxDu__XqgGzIXHlsnUFyWM-SSux0uHHoz8,1187
10
10
  lfx/base/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- lfx/base/agents/agent.py,sha256=9w3DcGVO_P0a37lOqyeaDdaJd0u3TsCtweM861HCI7M,16240
12
- lfx/base/agents/altk_base_agent.py,sha256=AE6_uKnBVLz1Jq2eTBwV4rUWui9M6ofyXzxMgmOVae8,16415
11
+ lfx/base/agents/agent.py,sha256=-Fbtd7UcXq813vaY5DxIThJ-wTpNfwFFGhmqrTQ_ZBs,16487
12
+ lfx/base/agents/altk_base_agent.py,sha256=OMpLGkj4FRciE8RUZfFYo3KNCGqtaZdXmbk3lXX8gKc,16494
13
13
  lfx/base/agents/altk_tool_wrappers.py,sha256=bOYWQopPpWRU8dyC4M7F05fv-4JRhl5ZBAr8LlByTeo,23715
14
14
  lfx/base/agents/callback.py,sha256=mjlT9ukBMVrfjYrHsJowqpY4g9hVGBVBIYhncLWr3tQ,3692
15
15
  lfx/base/agents/context.py,sha256=u0wboX1aRR22Ia8gY14WF12RjhE0Rxv9hPBiixT9DtQ,3916
16
16
  lfx/base/agents/default_prompts.py,sha256=tUjfczwt4D5R1KozNOl1uSL2V2rSCZeUMS-cfV4Gwn0,955
17
17
  lfx/base/agents/errors.py,sha256=4QY1AqSWZaOjq-iQRYH_aeCfH_hWECLQkiwybNXz66U,531
18
- lfx/base/agents/events.py,sha256=L4nGtCEnr5_bY_yE7MXS3TKvrDuQEgutesEq49dbceE,17323
18
+ lfx/base/agents/events.py,sha256=eas3B0wWCKvAx3FRirG7VF2bAOyO-DBHUhv-X7pun3o,17287
19
19
  lfx/base/agents/utils.py,sha256=t-J-RH_bEy4OznQSZNtBrQ3hPdJt_dQTzbdDnCx8ZB4,7297
20
20
  lfx/base/agents/crewai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
21
  lfx/base/agents/crewai/crew.py,sha256=TN1JyLXMpJc2yPH3tokhFmxKKYoJ4lMvmG19DmpKfeY,7953
@@ -82,11 +82,11 @@ lfx/base/models/novita_constants.py,sha256=_mgBYGwpddUw4CLhLKJl-psOUzA_SQGHrfZJU
82
82
  lfx/base/models/ollama_constants.py,sha256=Ei7pyggA9lcvaBgThSKad-jgM1XL6TPV-f0f8ISwFxE,5161
83
83
  lfx/base/models/openai_constants.py,sha256=PO2pW9cJ7KEjEqdYcEZkDkZ9PaMn0liq3w3scyo0N6Y,5635
84
84
  lfx/base/models/sambanova_constants.py,sha256=mYPF7vUbMow9l4jQ2OJrIkAJhGs3fGWTCVNfG3oQZTc,519
85
- lfx/base/models/unified_models.py,sha256=ZCE7tvyENZwH-7nX1wOgEudrAWwteOaPv_HB1SvsVY4,44366
86
- lfx/base/models/watsonx_constants.py,sha256=PSuwznoBYDnQf1wO7qznliLASp7qB_6cSZOVWHp37Ew,2015
85
+ lfx/base/models/unified_models.py,sha256=chFo4GrmyuBaW_M4qXpK9U6yuyV025ULRh0tAMWcMys,44366
86
+ lfx/base/models/watsonx_constants.py,sha256=FdioEqGcUSBH5Lmjw1vIin32b-_mKi9MDdkqiXfx5ZA,2098
87
87
  lfx/base/processing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
88
  lfx/base/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
- lfx/base/prompts/api_utils.py,sha256=f1LHI6w4sVrSXxfi8zE9bfdre73sFrGtxr96VoLJByU,8032
89
+ lfx/base/prompts/api_utils.py,sha256=LYIkcxbFYum390AZxkS3WYD9GKM6-5cC-E8mAM-wZSE,9655
90
90
  lfx/base/prompts/utils.py,sha256=oWlLwTFxYTKkkleJ0-0lb2Z8qkESagXpi0Mx8DMTCbI,1720
91
91
  lfx/base/textsplitters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
92
  lfx/base/textsplitters/model.py,sha256=UtZ1vhnsikzGoKk7vE9MREWHO6ASNkBr9mOvhlPDSNA,1066
@@ -100,13 +100,13 @@ lfx/base/vectorstores/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
100
100
  lfx/base/vectorstores/model.py,sha256=pDAZ6D6XnMxGAV9hJjc3DYhjI9n77sc_FIs5lnpsDbU,6932
101
101
  lfx/base/vectorstores/utils.py,sha256=OhBNYs9Z9poe82rTNFPdrESNRGuP6RO6-eOpwqJLBG0,750
102
102
  lfx/base/vectorstores/vector_store_connection_decorator.py,sha256=2gh3DMhcMsCgVYFEFaVNMT3zsbd-fkFy5Bl_-jXDu8c,1998
103
- lfx/cli/__init__.py,sha256=Oy17zrnwBlwJn80sMGyRJXos2n2eQGvSsh9CS_-v2R4,113
103
+ lfx/cli/__init__.py,sha256=7FMlFAE8hfcOsZqmRMbf0GMm2iOyGlInOk7opZIGxdI,342
104
104
  lfx/cli/commands.py,sha256=k3I7VN_rnlybK7HMs3Gn6BHBY5eOosCwHdNcq1VXiYw,12308
105
105
  lfx/cli/common.py,sha256=oeaRbSEIL9eH-4mhadojNb4TuBDVegmABxEQrzwShAo,22072
106
106
  lfx/cli/run.py,sha256=ZtF6mXootO5aeXqz7TWM5dVP2iOrvzF0UzT0M8LPY9g,6213
107
- lfx/cli/script_loader.py,sha256=3PC7lTvVPj34IhHxQhBvsODtWB8PQXDNh8xYAfmxLHU,11172
107
+ lfx/cli/script_loader.py,sha256=VH-rCjEqwK5cYkr5lW_mEOaNxNwu8KFS6G6KZ4lD-V8,11212
108
108
  lfx/cli/serve_app.py,sha256=3U0QsoCkf-1DxSpxfNOr8ap7Giaxm_MfuLrii5GpIHM,22485
109
- lfx/cli/validation.py,sha256=xZfL-rKt_Y-Lek19GMZffyxhPIyYMQHBIpR0Hwa_Ji8,2615
109
+ lfx/cli/validation.py,sha256=Me_pDiVKOOBhQb6lfHCGzei8U8Ns_y3x9YIPfJA1kfg,2677
110
110
  lfx/components/__init__.py,sha256=H6Orx4S3IWalORUxd1CmL09oQ1sej5vsWp5czJsJO6I,11713
111
111
  lfx/components/_importing.py,sha256=XYMV7cnw6QAw9hdY5dOybc3RZ7esDVYd8pOV822xdsU,1625
112
112
  lfx/components/FAISS/__init__.py,sha256=gbdyinU7MBtv4PRUfUcPuR08_Ixx0W95LdIXHEgmrfg,935
@@ -263,7 +263,7 @@ lfx/components/data_source/sql_executor.py,sha256=qN15r1C4bFcbLzJQeyXXc5fgY70LeL
263
263
  lfx/components/data_source/url.py,sha256=R9PMuS1xJeD4Q16zZlQC2IBY1tlTMoYSO3FJLLXYGeo,10985
264
264
  lfx/components/data_source/web_search.py,sha256=y-6u-IiaZ9xMsvWsK_yTLM9R5rxz5siTFrzWrofOsR0,12742
265
265
  lfx/components/datastax/__init__.py,sha256=4zuJU2d0ucI2sCrfXQ06lpURgli_8DkIyd1szjkx2Ts,2712
266
- lfx/components/datastax/astradb_assistant_manager.py,sha256=jUrBzuN6ws_KuWG4NplR0Mbcw-7FlDCnXFeWpckvNdc,11575
266
+ lfx/components/datastax/astradb_assistant_manager.py,sha256=YNcXTGOhCTyHl29_S-cIsyPflCsio1ZSAQhiLyZK63E,11685
267
267
  lfx/components/datastax/astradb_chatmemory.py,sha256=uvyB94x2O_6LH7CBeNp6watpYU31_wTPPPcSeXyF3t8,1475
268
268
  lfx/components/datastax/astradb_cql.py,sha256=cMRSP4Qd49PvM6KxgvuktYaLdoXSdDg_B7b-a0377Mk,10917
269
269
  lfx/components/datastax/astradb_graph.py,sha256=n11XazDKugWYy1e4jEVBxI4uEIqTS7O4cbn1sUFSmso,8400
@@ -307,7 +307,7 @@ lfx/components/deepseek/deepseek.py,sha256=yNrHoljXOMScKng-oSB-ceWhVZeuh11lmrAY7
307
307
  lfx/components/docling/__init__.py,sha256=YPs8f2ufi8rniz22vN2MxvP1E5gQ6qO5Wo7SNbQhVJ0,2954
308
308
  lfx/components/docling/chunk_docling_document.py,sha256=2Ezn_8bLJgTCVNYSBUc9dZfqopNK6XN1m82goVSUMFg,7663
309
309
  lfx/components/docling/docling_inline.py,sha256=UZ0SvWRRgWKE23EnqgzMLTBLlZroCUP-GFp4oiKrTGc,8146
310
- lfx/components/docling/docling_remote.py,sha256=Ju61E93tLBq6KsRRGVA1_ySWzEOdOFj9jS9kJ7gc3H4,6980
310
+ lfx/components/docling/docling_remote.py,sha256=VyNXbQDl9SwqPuY-hj_aZeLQFKjkjeVIQcFVspqVW1Q,6995
311
311
  lfx/components/docling/export_docling_document.py,sha256=Mld6fjlrW0FyTN3Nd1f-RO8SZWCtiYKqOLUGFC1Zv_A,4744
312
312
  lfx/components/documentloaders/__init__.py,sha256=LNl2hG2InevQCUREFKhF9ylaTf_kwPsdjiDbx2ElX3M,69
313
313
  lfx/components/duckduckgo/__init__.py,sha256=Y4zaOLVOKsD_qwF7KRLek1pcaKKHa6lGUHObuQTR9iY,104
@@ -396,6 +396,7 @@ lfx/components/langchain_utilities/conversation.py,sha256=sOQETT8IHogc_xZu4PIEKC
396
396
  lfx/components/langchain_utilities/csv_agent.py,sha256=l5R-IS2p_IPfQmYuXHAWxnATHRMDIWz8AlDn0iIJqrA,6008
397
397
  lfx/components/langchain_utilities/fake_embeddings.py,sha256=-qob5kKhYIh8tL9JE8n-D-H8pWOIxOJg0W9vVpNsAS0,791
398
398
  lfx/components/langchain_utilities/html_link_extractor.py,sha256=E8xkV_hMNQAJeQdKCIRs10jba9w-3ZtGDso3SswVXsk,1493
399
+ lfx/components/langchain_utilities/ibm_granite_handler.py,sha256=MsLbIpoGb-GLDTHvTXu98hd6UrSwRFlWj110r0Ex9Ng,8231
399
400
  lfx/components/langchain_utilities/json_agent.py,sha256=EXpB4ULG_qZEXuRQvvtwd4EqZNiQT-asHiRmKMTr_cc,3595
400
401
  lfx/components/langchain_utilities/langchain_hub.py,sha256=n1m_I2IxIWUkrgGmQGU1YK_9Qx231ZZ_mowp5giurwc,4459
401
402
  lfx/components/langchain_utilities/language_recursive.py,sha256=IHqIsgp-mohDvZ8G4kBQiPe7FccZ0XmXxMAfPavpnO8,1677
@@ -413,7 +414,7 @@ lfx/components/langchain_utilities/spider.py,sha256=CMgjogI3UJATgi6YSQS_9BOfL19c
413
414
  lfx/components/langchain_utilities/sql.py,sha256=jQJZhwX8gNuvNeyrO_HZQqCuM6uS_Cxym10PEPa1Ky8,1690
414
415
  lfx/components/langchain_utilities/sql_database.py,sha256=fQe3-qNBviGvLZ5JD0whgN5qXh_2o9FQJAUq_B_nHJM,1060
415
416
  lfx/components/langchain_utilities/sql_generator.py,sha256=lxqCQH7GVZWfpTPZd8j6Fsuibd1_LD8iCBAiwX9ZwGo,2751
416
- lfx/components/langchain_utilities/tool_calling.py,sha256=7m1V2rl9SQRsSg6duGUWy9ET3XyxKEQaudjRehKfy9Q,2418
417
+ lfx/components/langchain_utilities/tool_calling.py,sha256=pa_nJN6c3fPJGWUSJsdJHbMVO-frRm5lPrvVTcqM7Zo,3466
417
418
  lfx/components/langchain_utilities/vector_store_info.py,sha256=YvBu_uwsq5nY5ZlnKycXhBP36IYyk5tU8gzqfqtSWrA,1517
418
419
  lfx/components/langchain_utilities/vector_store_router.py,sha256=sWUV9ucihbavYuq3VtWh0iV41eXA9InJxQozwd-n2sU,1169
419
420
  lfx/components/langchain_utilities/xml_agent.py,sha256=M4MymEkBTseLRuYt1s-rUjw_C_ECtq3AvYHuZPbFRJM,2599
@@ -422,7 +423,7 @@ lfx/components/langwatch/langwatch.py,sha256=bbO8zVlF7YVCcC6iaHc10Cu45mixMJptewP
422
423
  lfx/components/link_extractors/__init__.py,sha256=dL4pKVepOSxdKYRggng-sz9eVL-7Rg7g70-w4hP1xEM,68
423
424
  lfx/components/llm_operations/__init__.py,sha256=5fK2RxPtCRQcjl9bkO2CLCzrMSbXiPYcv_hGsRaWVmU,1620
424
425
  lfx/components/llm_operations/batch_run.py,sha256=U5NeVN_non2D8J7C1Xc9sedmASwohoVZvu4D-tCUMqw,10245
425
- lfx/components/llm_operations/lambda_filter.py,sha256=PHYXt1D60-btx2adSHARMKStqoxnH6jEJEWg36n_eak,9021
426
+ lfx/components/llm_operations/lambda_filter.py,sha256=mRL-jH8bvvoDS_kzyq22kFD-5nBvtQ9MyeYwRrHChaY,13245
426
427
  lfx/components/llm_operations/llm_conditional_router.py,sha256=nGc254T2iXJI8BgCRVJ-y85dBjZwOQwHuzesJBwmU3U,19680
427
428
  lfx/components/llm_operations/llm_selector.py,sha256=Wd4_QBX_lZ5HNUIaOMgIYGSKg9W1Oe0924EPc4Na3W4,23182
428
429
  lfx/components/llm_operations/structured_output.py,sha256=BYyh9R6f27t6j7aeWyQK0KuszNljytV7NsVbG5l53i4,10900
@@ -444,9 +445,9 @@ lfx/components/models_and_agents/__init__.py,sha256=Sud57drCSkOfldTat8qdFuoI2GZe
444
445
  lfx/components/models_and_agents/agent.py,sha256=vcMJvC0qtazif0LQva1qjgVfjJW1PD0OzvwiWsyMHhE,20689
445
446
  lfx/components/models_and_agents/embedding_model.py,sha256=J39fKCFb1qIzCXTmCG9cg2Su9wa1kr4Wh6xgt3g-KvQ,10338
446
447
  lfx/components/models_and_agents/language_model.py,sha256=ucu35ggm6Kyd3h62PfMQ1ztMr0ZFPc6uMfqbLAtwr2Q,4919
447
- lfx/components/models_and_agents/mcp_component.py,sha256=ORh-J9k4DfUcZr0P5lsv1XznphvUhRzNvIuV8WTb3ec,30028
448
+ lfx/components/models_and_agents/mcp_component.py,sha256=9Qk1n_Qfy1gW3GtcSonNMSmNcxXXVH90bf1318y_1dI,31971
448
449
  lfx/components/models_and_agents/memory.py,sha256=79Bk70j_WY5T77CJFljadjm1ekFTqGNj_FELEodZTnE,10363
449
- lfx/components/models_and_agents/prompt.py,sha256=c4LQPOQSvz1Z1e73uyOm8TaTxWDpCGcujBd-a6AxL1A,2761
450
+ lfx/components/models_and_agents/prompt.py,sha256=WV98nIRjx6-BJqhqiAX_mS9XPG7OOgASkKJEuNIGHVU,7207
450
451
  lfx/components/mongodb/__init__.py,sha256=nFOQgiIvDnWGiWDSqZ0ERQme5DpA-cQgzybUiqXQtGw,953
451
452
  lfx/components/mongodb/mongodb_atlas.py,sha256=OlAstNMToHuvGI-8djkiGr7kdGBr927O0SE5cnVd0O0,8594
452
453
  lfx/components/needle/__init__.py,sha256=JeuDv_leDFPquDkypRh7hTmO40zMPZvD5XjmWN1VJMU,67
@@ -465,7 +466,7 @@ lfx/components/olivya/__init__.py,sha256=ilZR88huL3vnQHO27g4jsUkyIYSgN7RPOq8Corb
465
466
  lfx/components/olivya/olivya.py,sha256=taXCAcTgrZKPahgPiGvmL8ehfXO_7vSXqHBVGr8PnNs,4172
466
467
  lfx/components/ollama/__init__.py,sha256=fau8QcWs_eHO2MmtQ4coiKj9CzFA9X4hqFf541ekgXk,1068
467
468
  lfx/components/ollama/ollama.py,sha256=EuXBlU_hzNx2kPjfJo1REyCO60QoUSPuGIRLDewmuTU,22263
468
- lfx/components/ollama/ollama_embeddings.py,sha256=6ignwqif6T881u9ZaXuxVcY5QXQmkwgC3uwOWb_Q_EI,4082
469
+ lfx/components/ollama/ollama_embeddings.py,sha256=wfE44fdxdR2OwNuaikk4qakT1GHzueh2yK1gbs6Wwjo,7508
469
470
  lfx/components/openai/__init__.py,sha256=G4Fgw4pmmDohdIOmzaeSCGijzKjyqFXNJPLwlcUDZ3w,1113
470
471
  lfx/components/openai/openai.py,sha256=imWO1tTJ0tTLqax1v5bNBPCRINTj2f2wN8j5G-a07GI,4505
471
472
  lfx/components/openai/openai_chat_model.py,sha256=Eo2O9mHULa9NyWp85LEt6E_N0LnwyZ6X_33yqGIF5lw,6986
@@ -503,6 +504,7 @@ lfx/components/processing/regex.py,sha256=9n171_Ze--5gpKFJJyJlYafuEOwbPQPiyjhdLY
503
504
  lfx/components/processing/select_data.py,sha256=BRK9mM5NuHveCrMOyIXjzzpEsNMEiA7oQXvk1DZLHM4,1788
504
505
  lfx/components/processing/split_text.py,sha256=udY65Z6KGaazGg0PTQ-mpm9y2-iWlxe8mWXbq7Pc2SA,5271
505
506
  lfx/components/processing/store_message.py,sha256=mtGqCLWXuB2RnHufqj1FbiGAnTQOURSZMCvvo3gNLtc,3489
507
+ lfx/components/processing/text_operations.py,sha256=LCmR7wo3nSxoEOyfJbAk1_cvfLj007GSKI8lFmmG7o4,21022
506
508
  lfx/components/processing/update_data.py,sha256=0HkK86ybp0vWc_KKMWD0j0dnaxS6zQMOjAY8lLwNkr4,6090
507
509
  lfx/components/prototypes/__init__.py,sha256=uJRmThNAq6Tr_mBppcD95dV07WkOF6BYdy-zq7uXUhY,1061
508
510
  lfx/components/prototypes/python_function.py,sha256=fafYVqVFqusIkJP4jgmHMZnwgVkYdhYBmD51Dtst9Z4,2419
@@ -604,7 +606,7 @@ lfx/custom/code_parser/__init__.py,sha256=qIwZQdEp1z7ldn0z-GY44wmwRaywN3L6VPoPt6
604
606
  lfx/custom/code_parser/code_parser.py,sha256=QAqsp4QF607319dClK60BsaiwZLV55n0xeGR-DthSoE,14280
605
607
  lfx/custom/custom_component/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
606
608
  lfx/custom/custom_component/base_component.py,sha256=Pxi-qCocrGIwcG0x5fu-7ty1Py71bl_KG9Fku5SeO_M,4053
607
- lfx/custom/custom_component/component.py,sha256=qc4WYBtqBRBx9TY39GFYC75xaZEoccOdULnFPxEdiMs,78485
609
+ lfx/custom/custom_component/component.py,sha256=jTSDJ-Emw9FHUJzp2WgOc_-8Dx5fIAg52ExIWqrf4_0,81069
608
610
  lfx/custom/custom_component/component_with_cache.py,sha256=por6CiPL3EHdLp_DvfI7qz1n4tc1KkqMOJNbsxoqVaI,313
609
611
  lfx/custom/custom_component/custom_component.py,sha256=fVor14RYpOJhKqa_EUsSmbD3vczgzB_svCioCcyGEqM,25111
610
612
  lfx/custom/directory_reader/__init__.py,sha256=eFjlhKjpt2Kha_sJ2EqWofLRbpvfOTjvDSCpdpaTqWk,77
@@ -612,21 +614,23 @@ lfx/custom/directory_reader/directory_reader.py,sha256=6fJPMYEfUSN_k46MX3aQlDG5v
612
614
  lfx/custom/directory_reader/utils.py,sha256=etts9VysmfP0kkbxn76shqLURPYZizF2YvEc4KeGPY4,6532
613
615
  lfx/events/__init__.py,sha256=JYTRs3U5vt73UtAJ6mawyXWa8jW38pBtmW_rfx8blVg,35
614
616
  lfx/events/event_manager.py,sha256=M2-k9obLHiAdjipPtjDf2tI2g7AUZLLrKMSBj60PNzY,3992
617
+ lfx/events/observability/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
618
+ lfx/events/observability/lifecycle_events.py,sha256=3brEUWClfbj44D9zjqTpEs1_PffpPt_63QjQ6FJCBzI,4947
615
619
  lfx/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
616
620
  lfx/exceptions/component.py,sha256=Tu9OYNXs3dOuOAujr4KMqkqAmFGgW7aqhTNsDPyYf3Q,446
617
- lfx/field_typing/__init__.py,sha256=cfwSKHa79AIGqvbH4gmcGRA0purLyLy_XG_YihfWdBU,1730
621
+ lfx/field_typing/__init__.py,sha256=1SIlVWBB9WTTLUNSmiR0LdMNY2pGg_-jnCF4Ll6FlG4,1808
618
622
  lfx/field_typing/constants.py,sha256=VVkolqwicz8CUppSZ2N0OfhwwBbEOUdNxVerKgleXOQ,5790
619
623
  lfx/field_typing/range_spec.py,sha256=q7_CHhOO6YA1tFOgDAaeval-C_wzoAMSZQ8flkzCwnQ,1187
620
624
  lfx/graph/__init__.py,sha256=uHjF2QW6i88_q3uspuPnulTyEA_QNV6eygOD8UZgG40,309
621
625
  lfx/graph/schema.py,sha256=58vzeUEseURXBjLFeEFFWcXmFSzeQczYdzIhQ_79Nlg,2668
622
- lfx/graph/utils.py,sha256=fiNv-rnx-Xgf1X_R4TPB7S1vO-_Eig4jBAXOPn7mTNs,8055
626
+ lfx/graph/utils.py,sha256=_xgCed7O84tTp29040FrZBY5f60v9OMe25pxj6psU70,9273
623
627
  lfx/graph/edge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
624
628
  lfx/graph/edge/base.py,sha256=cL6A6QPVS0ezB6Kbx_Hm2Sgm2Nbo4fjXMB-Up-bTM3U,13957
625
629
  lfx/graph/edge/schema.py,sha256=bKlprxymeV04bTMw3jDLpYQAA3eRc4BIdD_-4XGGU3c,3806
626
630
  lfx/graph/edge/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
627
631
  lfx/graph/graph/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
628
632
  lfx/graph/graph/ascii.py,sha256=-jYWI_Zmz24mfLOxJrzIINZ0dbQgd9PXJfqwZa03xas,6211
629
- lfx/graph/graph/base.py,sha256=dI3Wy28RU74TFnFAIu7NNT9793QLIC7qy_Qndd-7cD0,96277
633
+ lfx/graph/graph/base.py,sha256=v0ikzWUYuQYnaoBkhCDRxpXcIrcpycbjWD4Cf8aoSXo,97916
630
634
  lfx/graph/graph/constants.py,sha256=jwjl4RydV_k_zawbI8FIgiLHeBBgH-cStVitxxSyXQs,1641
631
635
  lfx/graph/graph/runnable_vertices_manager.py,sha256=c-qQP3koKyAsIADDSONiiz4FIRIn6q5kAMX6EQIBBfA,6148
632
636
  lfx/graph/graph/schema.py,sha256=1a8pictdRVN6ByqpvhOYu7heDeVs7A3eGpZuYIF7kaY,1086
@@ -635,13 +639,13 @@ lfx/graph/graph/utils.py,sha256=rsUaMjhpZzyIFD8QSf-G5J5PDTPFNJXxV5zDs5eLPqw,3774
635
639
  lfx/graph/state/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
636
640
  lfx/graph/state/model.py,sha256=n6FQuBDoTPPSDzNgSUekWPMHplRj5DJNFr8IoyBO9Bc,11042
637
641
  lfx/graph/vertex/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
638
- lfx/graph/vertex/base.py,sha256=5qDYqHgUg3Dn5WEbSo8oO6q3lZL3ld7xCOMq29d_g1k,33541
642
+ lfx/graph/vertex/base.py,sha256=K86aiDUlkviv5bkrwQbE53t3v2olz11Rf880iw7DTqo,35779
639
643
  lfx/graph/vertex/constants.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
640
644
  lfx/graph/vertex/exceptions.py,sha256=QTe-7TRCI0TXswRZh1kh0Z3KySjQsJgY5zTU6o0jboQ,193
641
645
  lfx/graph/vertex/param_handler.py,sha256=N8y2eqrXifsJyUc8d3tlj2o10LSgvqeITv0_UPR3PIA,12896
642
646
  lfx/graph/vertex/schema.py,sha256=3h6c7TTdZI1mzfAebhD-6CCCRLu1mQ8UDmgJijx5zWg,552
643
647
  lfx/graph/vertex/utils.py,sha256=iJmY4PXta5dYWTX2SMEbpfMKrzwkJVQmi8qstSv8D7I,738
644
- lfx/graph/vertex/vertex_types.py,sha256=pHSzH0ePGWmYCbD67QlG3_kxRpM4OHbs3S6FYDj6Tjw,21145
648
+ lfx/graph/vertex/vertex_types.py,sha256=tgwrd3qN0lOKqGjav5S-Wt-TXt_pS5QYJgYZcoan1e8,20828
645
649
  lfx/helpers/__init__.py,sha256=Z_F0KExSiCjTFhDUGVDV8eGx0CGf1n32Zn5afG_gy34,3330
646
650
  lfx/helpers/base_model.py,sha256=EiBdNJVE83BNKsg-IedyZYd78Mbl0m7BN2XTFeTlBhw,1956
647
651
  lfx/helpers/custom.py,sha256=9Z6rVfIrih27qsGkV1lzVpkK-ifpQuOaGSUog_w4asM,306
@@ -649,11 +653,11 @@ lfx/helpers/data.py,sha256=1jGqlVrLEgr0M5J_wJf-vZ-IRTV13Jm5W6wuxYL2Hdg,6004
649
653
  lfx/helpers/flow.py,sha256=uQS4dMgModqrIlRqYxu-jnl79_pZaDDSb89iEbskk0s,9934
650
654
  lfx/inputs/__init__.py,sha256=Zr7MU--X6KLsTHh06AmZexxYD1aHOFcvn1OhzI0rVoU,1247
651
655
  lfx/inputs/constants.py,sha256=vG60oUv1xy5vrnZtU65jBCzb6oaOuiRDq1ucl_9bz70,47
652
- lfx/inputs/input_mixin.py,sha256=8MgyZarAgZ9hVnegCIoa3ockSppZnkX13Na6IKVac8o,13844
653
- lfx/inputs/inputs.py,sha256=NHiMyXAqqcw5Ud85XLeqDZt5N5vIsirwx-zJiLlb1WQ,31278
656
+ lfx/inputs/input_mixin.py,sha256=s6MM0njLOsL7fF6cElZjtHCp_lY_z-WF8iEmAiUUNWQ,13877
657
+ lfx/inputs/inputs.py,sha256=k3zAV3hkVminoNvspzZZxIjr3ld5OF-pdVEXERyN20c,31414
654
658
  lfx/inputs/validators.py,sha256=i_PyQHQUmNpeS-_jRJNNsP3WlTPMkCJk2iFmFt3_ijw,505
655
659
  lfx/interface/__init__.py,sha256=hlivcb8kMhU_V8VeXClNfz5fRyF-u5PZZMXkgu0U5a0,211
656
- lfx/interface/components.py,sha256=n_VDrKnQalVnHk4vJZy3Avm7K1JGRs-srNI_kDyAlTI,35119
660
+ lfx/interface/components.py,sha256=TsdNYCMSSMlZ-dO4DjfF1ug9aY-r5xg6jgXWwJDESKM,35978
657
661
  lfx/interface/listing.py,sha256=fCpnp1F4foldTEbt1sQcF2HNqsaUZZ5uEyIe_FDL42c,711
658
662
  lfx/interface/run.py,sha256=m2u9r7K-v_FIe19GpwPUoaCeOMhA1iqp1k7Cy5G75uE,743
659
663
  lfx/interface/utils.py,sha256=qKi2HRg-QgeI3hmXLMtG6DHBbaQPuVMW5-o9lcN7j0Q,3790
@@ -676,8 +680,8 @@ lfx/processing/__init__.py,sha256=jERZg6it9mhOzrbTAt9YtakSNXPSjUXFh5MfKBN48wA,41
676
680
  lfx/processing/process.py,sha256=FSYjseEWEgfBxP4GDkfRVVSyrvXwyIb7U0pTVc1gV_w,9252
677
681
  lfx/processing/utils.py,sha256=ptX2AHbhoPkmZ5O7BXITCo58jBZ_u1OuK59VlQRQsYU,754
678
682
  lfx/run/__init__.py,sha256=ubj2KpXu2Ufs0BoIIsSHVekwdu1yGBWYL_yF16hoo5M,129
679
- lfx/run/base.py,sha256=5SpuhVlGkvAMtWIEn38v45sWj86Sk8vgD6QTHSL_Ow4,20998
680
- lfx/schema/__init__.py,sha256=PyFfbQryedA67VjrTbJMuGZaau1zHjVZ1YfZO4J8OW4,1656
683
+ lfx/run/base.py,sha256=HXYAR1Rr_Mlhr-afaicexG2U0ZCgIO1MGt7G1hShrLQ,19718
684
+ lfx/schema/__init__.py,sha256=gNgRVdRi_actcipg0se39S0nwfR3VpRyUrRaAFbBIvY,3138
681
685
  lfx/schema/artifact.py,sha256=ooWPuiolxsRI9jeTSSQecYTb8vyIaGwPF8C1udZ5kYo,2604
682
686
  lfx/schema/content_block.py,sha256=DBjj6O4UaV2bkzz7vcGP7-ZuLREl5O413LUfAz8bIbs,2042
683
687
  lfx/schema/content_types.py,sha256=Towg01dGR9PMC7JrVkzfIPYMMJttl16XC6BvQXH03bw,2390
@@ -690,24 +694,25 @@ lfx/schema/graph.py,sha256=o7qXhHZT4lEwjJZtlg4k9SNPgmMVZsZsclBbe8v_y6Y,1313
690
694
  lfx/schema/image.py,sha256=n8tiatIpvenMANvZt1Yh5veoWqWN_wUF4TjHy46B09E,6276
691
695
  lfx/schema/json_schema.py,sha256=UzMRSSAiLewJpf7B0XY4jPnPt0iskf61QUBxPdyiYys,6871
692
696
  lfx/schema/log.py,sha256=TISQa44D4pL_-AOw9p0nOPV-7s6Phl-0yrpuZihhEsU,1981
693
- lfx/schema/message.py,sha256=qboL9-7RlhiPwuMubMIFV162WbwengDi2lwkTieZUoo,19384
697
+ lfx/schema/message.py,sha256=w6uutJ_dMunQfjp0zj-WnyGEgtoO1LCBPod220Ic6D4,22392
694
698
  lfx/schema/openai_responses_schemas.py,sha256=drMCAlliefHfGRojBTMepPwk4DyEGh67naWvMPD10Sw,2596
695
699
  lfx/schema/properties.py,sha256=ZRY6FUDfqpc5wQ-bi-ZuUUrusF9t-pt9fQa_FNPpia0,1356
696
700
  lfx/schema/schema.py,sha256=WkwdKNbtnHlh4GhQANXuxHRyS9SAXnTPd7KFhsGIoiU,5296
697
701
  lfx/schema/serialize.py,sha256=Y7aL91w3BW4ZYkgdIHosUYdpIJUDku-SoqYoIQtwtGM,252
698
702
  lfx/schema/table.py,sha256=1RdMmk1vbzmPFW0JEGhP7WDDRtvUKH9lkDw5v-JWhSw,4668
699
703
  lfx/schema/validators.py,sha256=1CC4jU3sFmPnauie_U_Xb_QpcnsBf3XT7oWphr5Lt8U,4023
704
+ lfx/schema/workflow.py,sha256=Wx1JvrK0EXCF2LZiGaRC0t7yU1q4AdZ1AZHVqX_F1_Q,5126
700
705
  lfx/serialization/__init__.py,sha256=g-CG7Y--Eog6mSPMI7wqXh6J8lYygFthqmJWrCa3P7k,145
701
706
  lfx/serialization/constants.py,sha256=mAYNbapEPu9-KixSHVPCXUyM-bsFMjSoCc4ohkQGvQY,47
702
707
  lfx/serialization/serialization.py,sha256=CjVZls0DlS2ETUS3iXmhce7G_8vKkbF5RaJo4o5cY94,12407
703
708
  lfx/services/__init__.py,sha256=3BPHQWtpTMiWEx5lcc8tNjcTz7vRUY981vuN37KHsxs,686
704
709
  lfx/services/base.py,sha256=HF2iEszRAMEk4crKAyCtLRjv3GAoQvx62tVGH-TMskA,581
705
- lfx/services/deps.py,sha256=xuHA1zvKfF_jx-NjXxLRE99WbacrgOyuza0MgBTnNPE,7006
710
+ lfx/services/deps.py,sha256=JNrp6uUqMHy5IZtduIMu4nn9CmYocziyEhL9GNdtZzU,7405
706
711
  lfx/services/factory.py,sha256=ObiIGivEB9fI97HH8ciA9qdGqDSyf9u9n_OayQAxxJc,447
707
712
  lfx/services/initialize.py,sha256=HwZyBADkrUUO5-NuLy8XCn9zbz4t3z4OdcziGfi8pXw,588
708
- lfx/services/interfaces.py,sha256=6-O2FO0NxYTRr6OQskYHNjuntY8vAbpyznQ1xgxx5jk,2607
713
+ lfx/services/interfaces.py,sha256=HyFItHenXinZPZXFoXmlxzYIUB2KyzV6LPDQvd4EhEM,3844
709
714
  lfx/services/manager.py,sha256=Sw6X214ekZHMAWKTfFSH0hY2WilWrFI_azdEzDO8f8U,7233
710
- lfx/services/schema.py,sha256=5jVHuacjqcoXmBCFcawObkkeUMK7RvWTdyVQXNRXSmA,735
715
+ lfx/services/schema.py,sha256=e5beaSbTjZD6yVMs06SNBvPMkKuNQTZOfEFcKIaCMAw,783
711
716
  lfx/services/session.py,sha256=cy4--VlVHVu2qDAKF5LUxKTZocU1ZA1S-OjDxgE1nkQ,2026
712
717
  lfx/services/cache/__init__.py,sha256=1WjePEjUSyiP-VJIQhuQ2YemIgQSgwNSKKG8JGFYafw,165
713
718
  lfx/services/cache/base.py,sha256=zklDG7WAD9p2bmWZlAn7w1yOQ38nCkmlpJadinAKyrE,5076
@@ -722,13 +727,13 @@ lfx/services/mcp_composer/__init__.py,sha256=Y5IahKX0siDJuRCvUF_KrpAQq6UmHzQtXu8
722
727
  lfx/services/mcp_composer/factory.py,sha256=f8Bj0ZR9A_o1c3Kw5JKyR6SbtbCEPNWOy8b0OK990Z8,530
723
728
  lfx/services/mcp_composer/service.py,sha256=e3VloJInLmzsafgiOZLhX_gXDaVYh4rLpf9eGamH3SA,67885
724
729
  lfx/services/settings/__init__.py,sha256=UISBvOQIqoA3a8opwJrTQp4PSTqpReY6GQ_7O6WuqJQ,65
725
- lfx/services/settings/auth.py,sha256=skmS1bjZLRkTQFkrJ1d_tsTJ9iO32aEosh-KG9ZSOfY,5944
726
- lfx/services/settings/base.py,sha256=xsyel9oGkxFl2Z0-uV_4ELgE8bfDWcXSt1EdO4GMtII,29626
730
+ lfx/services/settings/auth.py,sha256=V2g6yU0zF7JUEIo2d24j-iVYuaCUZkIgDGeRWOj-YtE,10004
731
+ lfx/services/settings/base.py,sha256=lEorAiDv33Q8RPDgpbCQy_QWU7kxfpNxPa46zrE_t48,29800
727
732
  lfx/services/settings/constants.py,sha256=M2lrVTMz6FdJWwrcehaSPDjlM57Xcajbngj2JCBWObQ,1102
728
733
  lfx/services/settings/factory.py,sha256=NezZ6TE_xP955B9l9pI6ONNyoylrHPfUZN8arvLVRXg,615
729
734
  lfx/services/settings/feature_flags.py,sha256=HGuDGgfOBIDtuEiEVTgoWHxKqX2vuVBRgsqdX_4D9kg,205
730
735
  lfx/services/settings/service.py,sha256=af2L45QAfp2YWh5T59FJfGhw1wF_bVniNRRKeFwy2Xs,1001
731
- lfx/services/settings/utils.py,sha256=yovrKLBTzsX_8XtI5q4bxh7IyuOINh12uqxQDL8EdLw,1386
736
+ lfx/services/settings/utils.py,sha256=VyCz_KyeCokGiHtAxTDlip__TEzz92Rqc_lS0aYvgbc,3909
732
737
  lfx/services/shared_component_cache/__init__.py,sha256=IgNhcxklLHwu8sUh3dYlaVQ0IP65aYi4nke4AVVVH8Y,45
733
738
  lfx/services/shared_component_cache/factory.py,sha256=0YZa3wSyQC9up7dA5Pu93llNjENGizGUWYtmmQfx-oo,995
734
739
  lfx/services/shared_component_cache/service.py,sha256=wXa3wWMcMOwnpaE2pTmU6rKvEzPSv_dc01VjPV5kRwg,276
@@ -737,6 +742,8 @@ lfx/services/storage/local.py,sha256=2HST4a2B3VPGRKlW6jVa8WXxX--_G9h-ANDCPACDi6o
737
742
  lfx/services/storage/service.py,sha256=0Q4dFyuHEsH7OR7EYZIBR2ZubqyJAWZQhEYlY_1NLTQ,6321
738
743
  lfx/services/tracing/__init__.py,sha256=qZbZBFCR8Zm0Iq-lXp8_zN5w6nkX5Kfg5dn2Z1gpXus,34
739
744
  lfx/services/tracing/service.py,sha256=40Do7y2T5FNWSKJQK0ODQoilOr9oYWbaiA7UjHkMQXk,584
745
+ lfx/services/transaction/__init__.py,sha256=UNAuzrmCBNXSxmA36B5akP5mTiakM-vEYax8MSawIG8,149
746
+ lfx/services/transaction/service.py,sha256=qNkG9i8tWZSSda5sYIDrzwkmrUZ57NsVRVW6N-3s8Vw,1023
740
747
  lfx/template/__init__.py,sha256=RqDg910Ck5cL3tohdZISRB_R86vn1qSBp6o9ELzAhhg,92
741
748
  lfx/template/utils.py,sha256=xzhGj3h3xFpYuqErxlr8nkreSl7KzNXdAt_1UOmF2Yg,8408
742
749
  lfx/template/field/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -748,6 +755,7 @@ lfx/template/frontend_node/constants.py,sha256=SBxpXr8xShPv8-sy26zowG9wjoe5Osyhn
748
755
  lfx/template/frontend_node/custom_components.py,sha256=G2nS-vyu8KD-vxPCW4xfvbgK3-xuSorSB8pIm3O1Htw,2158
749
756
  lfx/template/template/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
750
757
  lfx/template/template/base.py,sha256=k58FQ7GWD2dpR_6nY_RHjVxIKaM60y1jqXi1ARJINYc,3594
758
+ lfx/tests/unit/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
751
759
  lfx/type_extraction/__init__.py,sha256=8kKUjudbOHkYHVEOA14jD4A-9UUlG1lj1rznKuWoPk0,534
752
760
  lfx/type_extraction/type_extraction.py,sha256=AnOIQJ6X44j1EUGGDyqrAqHJRNKguCTXjhZGQMItHAE,2847
753
761
  lfx/utils/__init__.py,sha256=J94ZyLg4eoNv4Bhf43wVnjXoln6_OLralibaKYVYArk,33
@@ -755,21 +763,22 @@ lfx/utils/async_helpers.py,sha256=py1koriS60Y0DAcX8FY0HLSWP7o7cWiYN3T0avermhs,13
755
763
  lfx/utils/component_utils.py,sha256=Zq2_HvXGd5V6ERMulY0slo-piKzKiXRK7QCOWeTnlqM,5734
756
764
  lfx/utils/concurrency.py,sha256=2k6hwDvGejH1Zr1yLylziG9LDePoQ18eIM2vkpyb6lo,1636
757
765
  lfx/utils/connection_string_parser.py,sha256=NmqhphFRNbhh7jvyNywDvUFgA4hPr8ikL-Sn11riizY,453
758
- lfx/utils/constants.py,sha256=GXhV31EEQSkKFM2nJlenSkUxHGpBCaDCKKqkgMPp7CU,7049
766
+ lfx/utils/constants.py,sha256=2tC1ghtWIggsjsZxaHu75eFpYXtNWfHBSRkiRX4rA00,7065
759
767
  lfx/utils/data_structure.py,sha256=xU3JNa_4jcGOVa_ctfMxiImEj6dKQQPE_zZsTAyy2T4,6888
760
768
  lfx/utils/exceptions.py,sha256=RgIkI4uBssJsJUnuhluNGDSzdcuW5fnxPLhGfXYU9Uc,973
761
769
  lfx/utils/helpers.py,sha256=0LE0barnVp-8Y5cCoDRzhDzesvXqgiT7IXP6vtTSyGE,889
762
770
  lfx/utils/image.py,sha256=CaMGwpCCKxcu_pWmP7FZXwZ3kr1-ymGKjN92Bv_yr5k,3160
763
771
  lfx/utils/langflow_utils.py,sha256=JHCsYGAvpwXOhe8DrqFF08cYKGdjsz5_iA7glJDdEiY,1441
764
772
  lfx/utils/lazy_load.py,sha256=UDtXi8N7NT9r-FRGxsLUfDtGU_X8yqt-RQqgpc9TqAw,394
773
+ lfx/utils/mustache_security.py,sha256=Y0pQHemv-PxEKjvDEYS1cyZjm4aLHGfENjulpgxZFQc,2923
765
774
  lfx/utils/request_utils.py,sha256=A6vmwpr7f3ZUxHg6Sz2-BdUUsyAwg84-7N_DNoPC8_Q,518
766
775
  lfx/utils/schemas.py,sha256=NbOtVQBrn4d0BAu-0H_eCTZI2CXkKZlRY37XCSmuJwc,3865
767
776
  lfx/utils/ssrf_protection.py,sha256=gPDzPZlu6e6CGa6-1m0Jw1IPX7gfAxLCnSJVmikjUKI,13608
768
777
  lfx/utils/util.py,sha256=Ww85wbr1-vjh2pXVtmTqoUVr6MXAW8S7eDx_Ys6HpE8,20696
769
778
  lfx/utils/util_strings.py,sha256=nU_IcdphNaj6bAPbjeL-c1cInQPfTBit8mp5Y57lwQk,1686
770
- lfx/utils/validate_cloud.py,sha256=LPJ4WCzaOiWpbSQ_uCksFFPEllpnhnfz9q0yHm6T3Iw,1336
779
+ lfx/utils/validate_cloud.py,sha256=x0odLpqn5puMCziQQGQWlggHvJLpAp5isakr5RKPNDU,4018
771
780
  lfx/utils/version.py,sha256=cHpbO0OJD2JQAvVaTH_6ibYeFbHJV0QDHs_YXXZ-bT8,671
772
- lfx_nightly-0.2.1.dev7.dist-info/METADATA,sha256=hqjo6RnJmCUqqndrwz1bgNRDqQbLHOBq9zedu0ToQ3Q,9041
773
- lfx_nightly-0.2.1.dev7.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
774
- lfx_nightly-0.2.1.dev7.dist-info/entry_points.txt,sha256=1724p3RHDQRT2CKx_QRzEIa7sFuSVO0Ux70YfXfoMT4,42
775
- lfx_nightly-0.2.1.dev7.dist-info/RECORD,,
781
+ lfx_nightly-0.3.0.dev3.dist-info/METADATA,sha256=-gHemsXjan8YsEp1MqFOIRq1T7BbmtA2gKj74W97SVM,9115
782
+ lfx_nightly-0.3.0.dev3.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
783
+ lfx_nightly-0.3.0.dev3.dist-info/entry_points.txt,sha256=1724p3RHDQRT2CKx_QRzEIa7sFuSVO0Ux70YfXfoMT4,42
784
+ lfx_nightly-0.3.0.dev3.dist-info/RECORD,,