langflow-base-nightly 1.7.0.dev55__py3-none-any.whl → 1.7.0.dev58__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/v2/files.py +6 -6
- langflow/initial_setup/starter_projects/Basic Prompt Chaining.json +31 -1088
- langflow/initial_setup/starter_projects/Basic Prompting.json +196 -135
- langflow/initial_setup/starter_projects/Blog Writer.json +141 -84
- langflow/initial_setup/starter_projects/Custom Component Generator.json +133 -73
- langflow/initial_setup/starter_projects/Document Q&A.json +136 -81
- langflow/initial_setup/starter_projects/Financial Report Parser.json +12 -365
- langflow/initial_setup/starter_projects/Hybrid Search RAG.json +19 -729
- langflow/initial_setup/starter_projects/Image Sentiment Analysis.json +688 -733
- langflow/initial_setup/starter_projects/Instagram Copywriter.json +322 -203
- langflow/initial_setup/starter_projects/Invoice Summarizer.json +47 -21
- langflow/initial_setup/starter_projects/Market Research.json +63 -394
- langflow/initial_setup/starter_projects/Meeting Summary.json +266 -168
- langflow/initial_setup/starter_projects/Memory Chatbot.json +136 -81
- langflow/initial_setup/starter_projects/News Aggregator.json +49 -24
- langflow/initial_setup/starter_projects/Nvidia Remix.json +48 -23
- langflow/initial_setup/starter_projects/Pok/303/251dex Agent.json" +49 -23
- langflow/initial_setup/starter_projects/Portfolio Website Code Generator.json +113 -418
- langflow/initial_setup/starter_projects/Price Deal Finder.json +48 -22
- langflow/initial_setup/starter_projects/Research Agent.json +319 -181
- langflow/initial_setup/starter_projects/Research Translation Loop.json +636 -615
- langflow/initial_setup/starter_projects/SEO Keyword Generator.json +145 -89
- langflow/initial_setup/starter_projects/SaaS Pricing.json +48 -22
- langflow/initial_setup/starter_projects/Search agent.json +47 -21
- langflow/initial_setup/starter_projects/Sequential Tasks Agents.json +147 -54
- langflow/initial_setup/starter_projects/Simple Agent.json +47 -16
- langflow/initial_setup/starter_projects/Social Media Agent.json +47 -16
- langflow/initial_setup/starter_projects/Text Sentiment Analysis.json +398 -251
- langflow/initial_setup/starter_projects/Travel Planning Agents.json +146 -53
- langflow/initial_setup/starter_projects/Twitter Thread Generator.json +137 -81
- langflow/initial_setup/starter_projects/Vector Store RAG.json +133 -82
- langflow/initial_setup/starter_projects/Youtube Analysis.json +182 -106
- langflow/services/storage/local.py +13 -8
- langflow/services/storage/s3.py +0 -6
- {langflow_base_nightly-1.7.0.dev55.dist-info → langflow_base_nightly-1.7.0.dev58.dist-info}/METADATA +2 -2
- {langflow_base_nightly-1.7.0.dev55.dist-info → langflow_base_nightly-1.7.0.dev58.dist-info}/RECORD +38 -38
- {langflow_base_nightly-1.7.0.dev55.dist-info → langflow_base_nightly-1.7.0.dev58.dist-info}/WHEEL +0 -0
- {langflow_base_nightly-1.7.0.dev55.dist-info → langflow_base_nightly-1.7.0.dev58.dist-info}/entry_points.txt +0 -0
langflow/api/v2/files.py
CHANGED
|
@@ -186,7 +186,7 @@ async def upload_user_file(
|
|
|
186
186
|
if existing_file:
|
|
187
187
|
# File exists, append to it by reusing the same filename
|
|
188
188
|
# Extract the filename from the path
|
|
189
|
-
unique_filename = existing_file.path
|
|
189
|
+
unique_filename = Path(existing_file.path).name
|
|
190
190
|
else:
|
|
191
191
|
# File doesn't exist yet, create new one with extension
|
|
192
192
|
unique_filename = f"{root_filename}.{file_extension}" if file_extension else root_filename
|
|
@@ -383,7 +383,7 @@ async def delete_files_batch(
|
|
|
383
383
|
# Delete all files from the storage service
|
|
384
384
|
for file in files:
|
|
385
385
|
# Extract just the filename from the path (strip user_id prefix)
|
|
386
|
-
file_name = file.path.
|
|
386
|
+
file_name = Path(file.path).name
|
|
387
387
|
storage_deleted = False
|
|
388
388
|
|
|
389
389
|
try:
|
|
@@ -480,7 +480,7 @@ async def download_files_batch(
|
|
|
480
480
|
for file in files:
|
|
481
481
|
# Get the file content from storage
|
|
482
482
|
file_content = await storage_service.get_file(
|
|
483
|
-
flow_id=str(current_user.id), file_name=file.path.
|
|
483
|
+
flow_id=str(current_user.id), file_name=Path(file.path).name
|
|
484
484
|
)
|
|
485
485
|
|
|
486
486
|
# Get the file extension from the original filename
|
|
@@ -574,7 +574,7 @@ async def download_file(
|
|
|
574
574
|
raise HTTPException(status_code=404, detail="File not found")
|
|
575
575
|
|
|
576
576
|
# Get the basename of the file path
|
|
577
|
-
file_name = file.path.
|
|
577
|
+
file_name = Path(file.path).name
|
|
578
578
|
|
|
579
579
|
# If return_content is True, read the file content and return it
|
|
580
580
|
if return_content:
|
|
@@ -650,7 +650,7 @@ async def delete_file(
|
|
|
650
650
|
raise HTTPException(status_code=404, detail="File not found")
|
|
651
651
|
|
|
652
652
|
# Extract just the filename from the path (strip user_id prefix)
|
|
653
|
-
file_name = file_to_delete.path.
|
|
653
|
+
file_name = Path(file_to_delete.path).name
|
|
654
654
|
|
|
655
655
|
# Delete the file from the storage service first
|
|
656
656
|
storage_deleted = False
|
|
@@ -724,7 +724,7 @@ async def delete_all_files(
|
|
|
724
724
|
# Delete all files from the storage service
|
|
725
725
|
for file in files:
|
|
726
726
|
# Extract just the filename from the path (strip user_id prefix)
|
|
727
|
-
file_name = file.path.
|
|
727
|
+
file_name = Path(file.path).name
|
|
728
728
|
storage_deleted = False
|
|
729
729
|
|
|
730
730
|
try:
|