langflow-base-nightly 1.7.0.dev47__py3-none-any.whl → 1.7.0.dev51__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/api/utils/core.py +4 -1
- langflow/initial_setup/starter_projects/Nvidia Remix.json +5 -1
- langflow/services/database/models/message/model.py +6 -2
- langflow/services/tracing/langwatch.py +30 -5
- {langflow_base_nightly-1.7.0.dev47.dist-info → langflow_base_nightly-1.7.0.dev51.dist-info}/METADATA +2 -2
- {langflow_base_nightly-1.7.0.dev47.dist-info → langflow_base_nightly-1.7.0.dev51.dist-info}/RECORD +8 -8
- {langflow_base_nightly-1.7.0.dev47.dist-info → langflow_base_nightly-1.7.0.dev51.dist-info}/WHEEL +0 -0
- {langflow_base_nightly-1.7.0.dev47.dist-info → langflow_base_nightly-1.7.0.dev51.dist-info}/entry_points.txt +0 -0
langflow/api/utils/core.py
CHANGED
|
@@ -420,4 +420,7 @@ def extract_global_variables_from_headers(headers) -> dict[str, str]:
|
|
|
420
420
|
|
|
421
421
|
def raise_error_if_astra_cloud_env():
|
|
422
422
|
"""Raise an error if we're in an Astra cloud environment."""
|
|
423
|
-
|
|
423
|
+
try:
|
|
424
|
+
raise_error_if_astra_cloud_disable_component(disable_endpoint_in_astra_cloud_msg)
|
|
425
|
+
except Exception as e:
|
|
426
|
+
raise HTTPException(status_code=403, detail=str(e)) from e
|
|
@@ -1806,7 +1806,11 @@
|
|
|
1806
1806
|
"dynamic": false,
|
|
1807
1807
|
"info": "Select your model provider",
|
|
1808
1808
|
"name": "model",
|
|
1809
|
-
"options": [
|
|
1809
|
+
"options": [
|
|
1810
|
+
"text-embedding-3-small",
|
|
1811
|
+
"text-embedding-3-large",
|
|
1812
|
+
"text-embedding-ada-002"
|
|
1813
|
+
],
|
|
1810
1814
|
"options_metadata": [],
|
|
1811
1815
|
"placeholder": "",
|
|
1812
1816
|
"required": true,
|
|
@@ -69,8 +69,12 @@ class MessageBase(SQLModel):
|
|
|
69
69
|
for file in message.files:
|
|
70
70
|
if hasattr(file, "path") and hasattr(file, "url") and file.path:
|
|
71
71
|
session_id = message.session_id
|
|
72
|
-
if session_id:
|
|
73
|
-
|
|
72
|
+
if session_id and str(session_id) in file.path:
|
|
73
|
+
parts = file.path.split(str(session_id))
|
|
74
|
+
if len(parts) > 1:
|
|
75
|
+
image_paths.append(f"{session_id}{parts[1]}")
|
|
76
|
+
else:
|
|
77
|
+
image_paths.append(file.path)
|
|
74
78
|
else:
|
|
75
79
|
image_paths.append(file.path)
|
|
76
80
|
if image_paths:
|
|
@@ -5,6 +5,9 @@ from typing import TYPE_CHECKING, Any, cast
|
|
|
5
5
|
|
|
6
6
|
import nanoid
|
|
7
7
|
from lfx.log.logger import logger
|
|
8
|
+
from opentelemetry.sdk.resources import Resource
|
|
9
|
+
from opentelemetry.sdk.trace import TracerProvider
|
|
10
|
+
from opentelemetry.sdk.trace.export import BatchSpanProcessor
|
|
8
11
|
from typing_extensions import override
|
|
9
12
|
|
|
10
13
|
from langflow.schema.data import Data
|
|
@@ -23,6 +26,7 @@ if TYPE_CHECKING:
|
|
|
23
26
|
|
|
24
27
|
class LangWatchTracer(BaseTracer):
|
|
25
28
|
flow_id: str
|
|
29
|
+
tracer_provider = None
|
|
26
30
|
|
|
27
31
|
def __init__(self, trace_name: str, trace_type: str, project_name: str, trace_id: UUID):
|
|
28
32
|
self.trace_name = trace_name
|
|
@@ -36,9 +40,8 @@ class LangWatchTracer(BaseTracer):
|
|
|
36
40
|
if not self._ready:
|
|
37
41
|
return
|
|
38
42
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
)
|
|
43
|
+
# Pass the dedicated tracer_provider here
|
|
44
|
+
self.trace = self._client.trace(trace_id=str(self.trace_id), tracer_provider=self.tracer_provider)
|
|
42
45
|
self.trace.__enter__()
|
|
43
46
|
self.spans: dict[str, ContextSpan] = {}
|
|
44
47
|
|
|
@@ -63,10 +66,32 @@ class LangWatchTracer(BaseTracer):
|
|
|
63
66
|
return False
|
|
64
67
|
try:
|
|
65
68
|
import langwatch
|
|
69
|
+
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
|
|
70
|
+
|
|
71
|
+
# Initialize the shared provider if it doesn't exist
|
|
72
|
+
if self.tracer_provider is None:
|
|
73
|
+
api_key = os.environ["LANGWATCH_API_KEY"]
|
|
74
|
+
endpoint = os.environ.get("LANGWATCH_ENDPOINT", "https://app.langwatch.ai")
|
|
75
|
+
|
|
76
|
+
resource = Resource.create(attributes={"service.name": "langflow"})
|
|
77
|
+
exporter = OTLPSpanExporter(
|
|
78
|
+
endpoint=f"{endpoint}/api/otel/v1/traces", headers={"Authorization": f"Bearer {api_key}"}
|
|
79
|
+
)
|
|
80
|
+
provider = TracerProvider(resource=resource)
|
|
81
|
+
provider.add_span_processor(BatchSpanProcessor(exporter))
|
|
82
|
+
LangWatchTracer.tracer_provider = provider
|
|
83
|
+
|
|
84
|
+
# Initialize LangWatch client but skip OTEL setup to avoid touching the global provider
|
|
85
|
+
# causing it to not receive traces from FastAPIInstrumentor
|
|
86
|
+
langwatch.setup(
|
|
87
|
+
api_key=api_key,
|
|
88
|
+
endpoint_url=endpoint,
|
|
89
|
+
skip_open_telemetry_setup=True,
|
|
90
|
+
)
|
|
66
91
|
|
|
67
92
|
self._client = langwatch
|
|
68
|
-
except ImportError:
|
|
69
|
-
logger.exception("
|
|
93
|
+
except ImportError as e:
|
|
94
|
+
logger.exception(f"{e}")
|
|
70
95
|
return False
|
|
71
96
|
return True
|
|
72
97
|
|
{langflow_base_nightly-1.7.0.dev47.dist-info → langflow_base_nightly-1.7.0.dev51.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: langflow-base-nightly
|
|
3
|
-
Version: 1.7.0.
|
|
3
|
+
Version: 1.7.0.dev51
|
|
4
4
|
Summary: A Python package with a built-in web application
|
|
5
5
|
Project-URL: Repository, https://github.com/langflow-ai/langflow
|
|
6
6
|
Project-URL: Documentation, https://docs.langflow.org
|
|
@@ -46,7 +46,7 @@ Requires-Dist: langchain-experimental<1.0.0,>=0.3.0
|
|
|
46
46
|
Requires-Dist: langchain-ibm<1.0.0,>=0.3.8
|
|
47
47
|
Requires-Dist: langchainhub~=0.1.15
|
|
48
48
|
Requires-Dist: langchain~=0.3.21
|
|
49
|
-
Requires-Dist: lfx-nightly==0.2.0.
|
|
49
|
+
Requires-Dist: lfx-nightly==0.2.0.dev51
|
|
50
50
|
Requires-Dist: loguru<1.0.0,>=0.7.1
|
|
51
51
|
Requires-Dist: mcp<2.0.0,>=1.17.0
|
|
52
52
|
Requires-Dist: multiprocess<1.0.0,>=0.70.14
|
{langflow_base_nightly-1.7.0.dev47.dist-info → langflow_base_nightly-1.7.0.dev51.dist-info}/RECORD
RENAMED
|
@@ -90,7 +90,7 @@ langflow/api/log_router.py,sha256=danE8G7l029hS5GQL3pfTNZ2IDlNcDClbgKdzq4tlxk,41
|
|
|
90
90
|
langflow/api/router.py,sha256=AM4eRk6hFcDHIqfUgieOT_YNcz583oYH-iDLDvtXru8,1985
|
|
91
91
|
langflow/api/schemas.py,sha256=OJkHZcoDp_yHKh-4ZV-_EI5H8XbCOpxMLfybt5J7LYs,246
|
|
92
92
|
langflow/api/utils/__init__.py,sha256=Hhlhf_fibPpGi4VVKgAbC7_QQdSHo-C3lg1FMgXrKFk,2138
|
|
93
|
-
langflow/api/utils/core.py,sha256=
|
|
93
|
+
langflow/api/utils/core.py,sha256=CN9w0glS0nv7j1uFhF7vio9ZprT1oyjjITQ-9OdEKIA,16569
|
|
94
94
|
langflow/api/utils/mcp/__init__.py,sha256=f-GmkXqw5_BGp4eSdyDnBIQUWTmigQHQYvt55tgx3Xs,432
|
|
95
95
|
langflow/api/utils/mcp/agentic_mcp.py,sha256=nM88GwMrC3ocn7LBHUjE0gjniuSRZmMeewZKWwRU5ZM,13764
|
|
96
96
|
langflow/api/utils/mcp/config_utils.py,sha256=sKWrnVL6c9emWYEW1V-XEecTLMpFhzTbCCI04_3K2wA,21143
|
|
@@ -2050,7 +2050,7 @@ langflow/initial_setup/starter_projects/Market Research.json,sha256=kbsut5mY6MR8
|
|
|
2050
2050
|
langflow/initial_setup/starter_projects/Meeting Summary.json,sha256=MvlcYD5l4GbBP5gNSz6AFOsoT0XFY5gL3QfHM-5Ncjw,191180
|
|
2051
2051
|
langflow/initial_setup/starter_projects/Memory Chatbot.json,sha256=e1kYhWOrWzV0F9KphpHlULM9go2NvblY6Qc4T1iuA_I,83132
|
|
2052
2052
|
langflow/initial_setup/starter_projects/News Aggregator.json,sha256=IaQJmDcokbnevWa3Jd9Hj1EQv7O-TPiDXU0kx0xsdf0,152679
|
|
2053
|
-
langflow/initial_setup/starter_projects/Nvidia Remix.json,sha256=
|
|
2053
|
+
langflow/initial_setup/starter_projects/Nvidia Remix.json,sha256=k_xEweK_kF0vmQuMCznZI9gMztmwXCZQLB0fzEpVL0c,329006
|
|
2054
2054
|
langflow/initial_setup/starter_projects/Pokédex Agent.json,sha256=bZOgm9nGVSpJGnU3hjEODV88AVRwlHW5LHcaGcfVPOk,115270
|
|
2055
2055
|
langflow/initial_setup/starter_projects/Portfolio Website Code Generator.json,sha256=KcUqLh9w9Mk-3t64Uo7LhABqF_OLb65rcFDWGk9pyw8,165342
|
|
2056
2056
|
langflow/initial_setup/starter_projects/Price Deal Finder.json,sha256=qtw4nHVeG1BqHfy7fQj6nW4gWea5Qwc4epYGMAtQtrI,124049
|
|
@@ -2168,7 +2168,7 @@ langflow/services/database/models/folder/pagination_model.py,sha256=gWbXRmxsqBHW
|
|
|
2168
2168
|
langflow/services/database/models/folder/utils.py,sha256=Fg1c_agTfwYAOJQvP-UZI5MZa1RdTc-Hmf4aETDbWTM,1427
|
|
2169
2169
|
langflow/services/database/models/message/__init__.py,sha256=8glb0_r05gIHgoSh4-Rb6p7Iz1xeqOBWFzMhAFm8sfY,152
|
|
2170
2170
|
langflow/services/database/models/message/crud.py,sha256=25qJJT1zjftboxWnDy3FAMYS2LfxGtqKdqXEid8Nnmc,1070
|
|
2171
|
-
langflow/services/database/models/message/model.py,sha256=
|
|
2171
|
+
langflow/services/database/models/message/model.py,sha256=qQQUGaDMyayg8SnYfbRbvm4vPDtydjyj1L7G93SNGr4,7600
|
|
2172
2172
|
langflow/services/database/models/transactions/__init__.py,sha256=rgYTZHOkYWztmiMjexefoaM4o76ftHKtJVqmuzq2Kvg,68
|
|
2173
2173
|
langflow/services/database/models/transactions/crud.py,sha256=HL_IlW83QptCguDdKGdfljgTS3aPfirdrSmkXVeLOrw,2822
|
|
2174
2174
|
langflow/services/database/models/transactions/model.py,sha256=8pcLHdtcnwemjvd3v8E30i-2WBULE1AdqsGSYE_jUpo,3233
|
|
@@ -2232,7 +2232,7 @@ langflow/services/tracing/base.py,sha256=WWrnPeyKCt3-Li82OH5xT3PFJFoyN6ULhDXt_12
|
|
|
2232
2232
|
langflow/services/tracing/factory.py,sha256=jJJER9j2luk3Lx4N2lhP1NaXNyUUMJGO4CXWJ2Xywj8,545
|
|
2233
2233
|
langflow/services/tracing/langfuse.py,sha256=clAz_Wvdr7vHzELlJZEjA8_ir3kHit5tYXl4ZZkmH9k,5411
|
|
2234
2234
|
langflow/services/tracing/langsmith.py,sha256=PvRZgQRYOb6Kc_Gdsq0bgRvk2MhZPHlcFUFEwftVPqA,7675
|
|
2235
|
-
langflow/services/tracing/langwatch.py,sha256=
|
|
2235
|
+
langflow/services/tracing/langwatch.py,sha256=Hn_pP1XozdLwgs4YIWA2f46x02kgcRJs4RevD6_1lyU,8225
|
|
2236
2236
|
langflow/services/tracing/opik.py,sha256=X9gjXCVZ8l7VXIZnwLwraID9h2_smrQG3k2k2XlhuIg,7579
|
|
2237
2237
|
langflow/services/tracing/schema.py,sha256=akEGkShvYJsUbxgExHj_niWKsL7ne6pSMbGCH4GnlX8,625
|
|
2238
2238
|
langflow/services/tracing/service.py,sha256=wVAICJEkkwe4pT1ZAxY605u6LGOQHyBfXys7LmdhZPE,17345
|
|
@@ -2277,7 +2277,7 @@ langflow/utils/util.py,sha256=bZqi9Fqj2mlp9tKUA-Q4ePpooxtbuVLjlAvdml4kcjs,1516
|
|
|
2277
2277
|
langflow/utils/validate.py,sha256=BPqoIMvjl4wbMJTTWo1zMHP0kQCa2TfmDT9f-nPT9Ng,112
|
|
2278
2278
|
langflow/utils/version.py,sha256=OjSj0smls9XnPd4-LpTH9AWyUO_NAn5mncqKkkXl_fw,2840
|
|
2279
2279
|
langflow/utils/voice_utils.py,sha256=Ypxg8s5jFd1o5wBbx1W8oKK7vh4kwo0-iuTcFqIwy5I,3350
|
|
2280
|
-
langflow_base_nightly-1.7.0.
|
|
2281
|
-
langflow_base_nightly-1.7.0.
|
|
2282
|
-
langflow_base_nightly-1.7.0.
|
|
2283
|
-
langflow_base_nightly-1.7.0.
|
|
2280
|
+
langflow_base_nightly-1.7.0.dev51.dist-info/METADATA,sha256=puFM9MCbOBsayzv8QpBIUDHAIksxEIXJ2rxfg-3FzhA,4461
|
|
2281
|
+
langflow_base_nightly-1.7.0.dev51.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
2282
|
+
langflow_base_nightly-1.7.0.dev51.dist-info/entry_points.txt,sha256=JvuLdXSrkeDmDdpb8M-VvFIzb84n4HmqUcIP10_EIF8,57
|
|
2283
|
+
langflow_base_nightly-1.7.0.dev51.dist-info/RECORD,,
|
{langflow_base_nightly-1.7.0.dev47.dist-info → langflow_base_nightly-1.7.0.dev51.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|