Feature/faq prompt handling#10275
Conversation
* fix: Properly import the ToolMessage from langchain * Update logger.py * Fix one line output
Fixed userSettings test
…validation (#9536) fix: remove warning log for unset TRACELOOP_API_KEY in configuration validation
* refactor: Improve code readability and organization in Knowledge Ingestion component - Reorganized import statements for better clarity. - Enhanced formatting of lists and function parameters for improved readability. - Removed unused parameters and streamlined the column configuration in the Knowledge Bases tab. - Updated JSON configuration for Knowledge Ingestion to reflect changes in code structure. These changes aim to enhance maintainability and readability of the codebase. * fix: Remove extraneous flag from package-lock and update column configuration in knowledge base - Removed the extraneous flag from the `@clack/prompts` dependency in `package-lock.json`. - Updated the `editable` property in the knowledge base columns configuration to `false`, enhancing the integrity of the data structure. * refactor: Update FlowToolbar and related components for improved API modal handling - Refactored FlowToolbar to replace openCodeModal with openApiModal for better clarity in modal management. - Updated FlowToolbarOptions to accept openApiModal and setOpenApiModal props, enhancing the component's flexibility. - Adjusted PublishDropdown to utilize the new API modal state, ensuring consistent behavior across the toolbar. - Cleaned up import statements for better organization and readability. * refactor: Clean up imports and streamline knowledge base column configuration - Reorganized import statements in KnowledgeBasesTab and knowledgeBaseColumns for improved clarity and consistency. - Removed unused parameters from the createKnowledgeBaseColumns function, simplifying its signature. - Adjusted column flex properties for better layout in the knowledge base table. - Enhanced overall readability and maintainability of the codebase. * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Fixed discord opening github * [autofix.ci] apply automated fixes * fixed mcp server tab test * Fixed flakyness on files test * fixed flaky file upload * Try to fix file upload component test --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
* remove python code component and experimental category * Refactor code area modal test to use custom component * fixed placeholder not returning default value
* Added margins to message paragraph * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
…nt title, add Replace and legacy tag functionality to components (#9645) * Remove deprecated components * Removed deprecated tags * removed mcp deprecated components * Add new applyComponentFilter * add replacement to node parameters * added filtercomponent to flow store * Added replacement to api class type * Made sidebar filter component more modular * remove unused props and pass props to filtercomponent * Apply component filters and get name and description for filter * Add resetting to handle and page * Added types to sidebar header * Added legacy and replacement to node description, activate component filter on click * updated sidebar header test * format test * update sidebar filter component test to match current behavior * Refactor to allow multiple replacements * removed legacy from node description * added dismissed legacy nodes * removed unused props * add node legacy component * changed replacement type to list * Instantiate nodelegacycomponent on generic node when component is legacy * Add components filtering in nodelegacycomponent * added replacement instead of display name * Added legacy tag to component name * Add replacement to some components * Added replacements to majority of legacy components * Made component name not be capitalized * fixed bundles not appearing at component filter * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * [autofix.ci] apply automated fixes (attempt 3/3) * added replacement for crew ai --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
fix: Correct url for docling remote
* remove agent dual output * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* refactor: improve code structure and add NodeDrawer component - Refactored import statements for better organization in agent.py and dropdownComponent. - Enhanced the AgentComponent's description and memory_inputs formatting for clarity. - Introduced a new NodeDrawer component for improved UI handling in the dropdown. - Updated Dropdown component to integrate NodeDrawer functionality, allowing for side panel interactions. * refactor: simplify NodeDrawer component and enhance Dropdown integration - Removed unnecessary props from NodeDrawer, streamlining its interface. - Updated the Dropdown component to improve the integration of NodeDrawer, ensuring better handling of side panel interactions. - Refactored the NodeDrawer's structure for improved readability and maintainability. * fix * refactor: enhance Dropdown and input components with externalOptions support - Updated Dropdown and related components to incorporate externalOptions for improved flexibility. - Refactored input classes to maintain consistent formatting and readability. - Removed deprecated dialogInputs functionality in favor of the new externalOptions structure. * fix: reorganize imports after cherry-pick resolution * refactor: enhance Dropdown component with loading state and source options - Introduced a loading state to the Dropdown component to indicate when a response is awaited. - Updated the logic to utilize sourceOptions instead of dialogInputs for better clarity and maintainability. - Refactored the rendering of options and associated UI elements to improve user experience. * refactor: improve Dropdown component structure and styling - Cleaned up import statements for better organization. - Enhanced the loading state display and adjusted the layout for better user experience. - Updated styling for CommandItem components to ensure consistent padding and font weight. - Refactored option rendering logic for improved clarity and maintainability. * refactor: reorganize imports and adjust Dropdown component behavior - Moved import statements for better clarity and organization. - Commented out the setOpen function call to modify Dropdown behavior when dialog inputs are present. * refactor: enhance Dropdown component functionality and logging - Removed unnecessary console log for source options. - Introduced handleSourceOptions function to streamline value handling and state management. - Updated onSelect logic to utilize handleSourceOptions for improved clarity and functionality. * refactor: enhance Dropdown component with flow store integration - Added useFlowStore to manage node state within the Dropdown component. - Introduced a new handleSourceOptions function to streamline value handling and API interaction. - Updated onSelect logic to ensure proper value handling when selecting options. * refactor: Update agent component to support custom model connections - Changed the agent component's dropdown input to allow selection of "connect_other_models" for custom model integration. - Enhanced the dropdown options and metadata for better user guidance. - Updated the build configuration to reflect these changes and ensure proper input handling. * refactor: Reorganize imports and enhance dropdown component logic - Moved and re-imported necessary dependencies for clarity. - Updated dropdown rendering logic to improve handling of selected values and loading states. - Ensured compatibility with agent component requirements by refining option checks. * small fix and revert * refactor: Clean up imports and improve dropdown component styling - Removed duplicate imports for PopoverAnchor and Fuse. - Simplified class names in the dropdown component for better readability. - Adjusted layout properties for improved visual consistency. * refactor: Enhance dropdown component functionality and clean up imports - Reorganized imports for better clarity and removed duplicates. - Implemented a new feature to handle "connect_other_models" option, improving the dropdown's interaction with flow store and types store. - Added logic to manage input types and display compatible handles, enhancing user experience. - Updated utility functions for better integration with the dropdown component. * style: format options_metadata in agent component * refactor: Update import statements in starter project JSON files and adjust proxy settings in frontend configuration - Refactored import statements in multiple starter project JSON files to improve readability by breaking long lines. - Changed proxy settings from "http://localhost:7860" to "http://127.0.0.1:7860" in frontend configuration files for consistency and to avoid potential issues with localhost resolution. * [autofix.ci] apply automated fixes * revert and fix * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * fixed dropdown * [autofix.ci] apply automated fixes * kb clean up * [autofix.ci] apply automated fixes (attempt 2/3) * update to templates with display name change --------- Co-authored-by: Edwin Jose <edwin.jose@datastax.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* encrypt oauth auth settings at rest * [autofix.ci] apply automated fixes * Fix rebase changes and add env to env server config * Correctly unmask secretstr before encryption * update mcp-composer args * [autofix.ci] apply automated fixes * ruff * ruff * ruff * [autofix.ci] apply automated fixes * ruff * catch invalidtoken error * ruff * [autofix.ci] apply automated fixes * ruff * [autofix.ci] apply automated fixes * ruff * ruff * [autofix.ci] apply automated fixes * ruff * [autofix.ci] apply automated fixes * fix test * Add initial mcp composer service and startup * remove token url * Register server on project creation * WARN: fall back to superuser on no auth params, to allow mcp-composer to connect. also fixes race condition in server creatoin * update sse url args * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Add langflow api keys to the server configs * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * add port searching * [autofix.ci] apply automated fixes * Fix for dead servers - use devnull on subprocess to avoid pipe from filling up * uvlock * [autofix.ci] apply automated fixes * Update composer startup behavior re: auth settings * [autofix.ci] apply automated fixes * fix some auth logic, add dynamic fetch of new url * Clean up sse-url parameters * [autofix.ci] apply automated fixes * Only call composer url when composer is enabled * [autofix.ci] apply automated fixes * improve shutdown * starter projects update * [autofix.ci] apply automated fixes * update logging git push * revert hack to auth mcp composer * [autofix.ci] apply automated fixes * Fix 500 on composer-url query * [autofix.ci] apply automated fixes * Update feature flag; update api key addition to aut-install * [autofix.ci] apply automated fixes * Fix composer url and re-add auth * Changed needs_api_key logic * Refactor use-get-composer-url * remove python fallback for now, then pipe stderr to pipe * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Changed api key logic to allow connection if not api key and auto login is off * fix oauth addition to cmd * restart server when auth values change * Restart server on oauth values changes * [autofix.ci] apply automated fixes * Changed project port to be the same as OAuth port * Changed endpoint to provide port_available * add is_port_available prop * Added port_available to request * Edit mutation to not have linting errors * Added port not available state to authentication * [autofix.ci] apply automated fixes * Added port and host to get composer url * Invalidate project composer url queries * Changed to display port and host that is not running * Cleanup old port finding and some mypy fixes * Add print, remove unused env var * Use mcp-composer directly in client and a lot of fixes * changed starter projects * refactor mcp_projects to use always IP generated for WSL * changed to check args -4 too on installed servers * changed to just check if sse url is in args * added member servers in gitignore * add check for ff * Handle secret request response cycle securely and add better logging * Use asycn logger * Add decorator to check if composer is enabled in settings * more logging changes * Much better handling of existing oauth servers when the flag is disabled on restart * Reset oauth projects to apikey or none when composer flag is disabled * fix url for api key auth * Fix auth check; set project auth to api key when auto login disabled * Ruff, comments, cleanup * [autofix.ci] apply automated fixes * [autofix.ci] apply automated fixes (attempt 2/3) * Consolidate the auth handling since its used in two endpoints * [autofix.ci] apply automated fixes * Ruff * [autofix.ci] apply automated fixes * last ruff * Update FE env var naming and dont unnecessarily decrypt auth settings at times * update feature flag usage - remove mcp composer * [autofix.ci] apply automated fixes * Update timeout methods to have more reliable startup * more feature flag changes * Attempt to extract helpful user messages * [autofix.ci] apply automated fixes * Added loading on mcp server tab auth * Changed to load on start too * cleanup mcp composer on project deletion * [autofix.ci] apply automated fixes * remove nested retry mech * Ruff * lint * Fix unit tests * [autofix.ci] apply automated fixes * ruff * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Edwin Jose <edwin.jose@datastax.com> Co-authored-by: Lucas Oliveira <lucas.edu.oli@hotmail.com> Co-authored-by: Mike Fortman <michael.fortman@datastax.com>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com> Co-authored-by: Deon Sanchez <69873175+deon-sanchez@users.noreply.github.com>
* Use separate conditional router flag to check if-else branch execution * clean comments * [autofix.ci] apply automated fixes * Ruff --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Disable keys when isLocked * Disabled adding and deleting nodes when flow is locked
* Refactor superuser credential handling for security * [autofix.ci] apply automated fixes * refactor: enhance superuser credential handling in setup process (#9574) * [autofix.ci] apply automated fixes * refactor: streamline superuser flow tests and enhance error handling (#9577) * [autofix.ci] apply automated fixes * None Super user is not allowed hence for a valid string resetting it to * None Super user is not allowed hence for a valid string resetting it to "" * use secret str for password everywhere * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Jordan Frazier <jordan.frazier@datastax.com>
fix: update version to 1.6.0 in package.json and package-lock.json
* removed left auto from log canvas controls * made initial position be fetched from event for notes * added relative class and put shadow box outside of the div that contains reactflow --------- Co-authored-by: Carlos Coelho <80289056+carlosrcoelho@users.noreply.github.com>
* Add stop propagation to chat input buttons * Made entire area focus chat when clicked
fix: Restore file component description
* 📝 (projects.py): add logic to separate flows and components from a single query result for better organization and readability 🐛 (projects.py): fix logic to correctly exclude project flows from the list of excluded flows * ✨ (test_projects.py): add tests to ensure project renaming preserves associated flows and components * 📝 (projects.py): remove unnecessary comment to improve code readability and maintainability * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
…lization errors (#9596) fix: Filter out None values from headers in URLComponent
Added enable_knowledge_bases feature flag everywhere it's been used
…or 1.6 (#9713) * sidebar fixes * [autofix.ci] apply automated fixes * refactor: update FlowMenu and CanvasControlsDropdown styles, enhance MemoizedCanvasControls with flow lock status * feat: add 'Sticky Notes' functionality to sidebar and enhance note handling - Introduced a new 'add_note' section in the sidebar for adding sticky notes. - Implemented event listeners to manage the add-note flow, allowing for better integration with the sidebar. - Updated styles and structure in various components to accommodate the new feature. - Refactored existing components for improved organization and readability. * fix: adjust button height in FlowSidebarComponent for improved UI consistency * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* updates templates * fix formating
* fix(docling): improve error handling for missing OCR dependencies - Add DoclingDependencyError custom exception - Detect specific OCR engine installation issues - Provide clear installation instructions to users - Suggest OCR disable as alternative solution - Fail fast when dependencies are missing Fixes issue where users received unclear error messages when OCR engines like ocrmac, easyocr, tesserocr, or rapidocr were not properly installed. * fix: prevent missing clean_data attribute error * chore: update starter_projects * [autofix.ci] apply automated fixes * refactor(docling): update dependency error messages to use uv and suggest complete install Address code review feedback by using 'uv pip install' and offering langflow[docling] as alternative * refactor(docling): simplify worker error handling per code review --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
* Added span to buttons to not remove casing * [autofix.ci] apply automated fixes --------- Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Authentication with Keycloak In Progress
- Add Select component for project switching - Implement new project creation with API call - Update backend URL configuration
feat(AgentBuilderPage): add project selection and creation functionality
…riables - Add BUILDER_AGENT_FLOW_ID and LANGFLOW_API_URL to config settings - Update MultiAgentOrchestrator to use config instead of hardcoded values - Add environment variables to .env.example - Fix AsyncGenerator import to use collections.abc instead of typing
…tem flow access - Add automatic initialization of Builder Agent flow on startup - Create system folder and flow with user_id=None - Read flow ID directly from BuilderAgent.json (single source of truth) - Enable system flow access for all users (TODO: admin-only) - Handle migration from user-owned to system flows - Add comprehensive installation documentation Changes: - Created Builder Agent system folder initialization - Added load_builder_agent_flow() and create_or_update_builder_agent_flow() - Updated projects and flows APIs to allow system resource access - Modified orchestrator to read flow ID from JSON file - Added BUILDER_AGENT_INSTALL.md documentation - Updated BuilderAgent.json with correct flow ID Related: AUTPE-6043
…to-init Builder Agent Auto-Initialization and System Flow Access
refactor(health): replace health check with static response feat(agent): add project creation modal and user display name
feat(auth): implement keycloak integration for logout and profile
- Increase Node.js memory limit with NODE_OPTIONS - Update config file extensions from .ts to .mjs - Remove unused prettier config file - Add BACKEND_URL arg to nginx stage
build(frontend): update Dockerfile configuration and dependencies
- Move azure-devops/ to .azure-pipelines/ directory - Remove Test and SecurityScan stages from both pipelines - Keep only Build and UpdatePlatformCharts stages - Remove test and security template files - Update documentation to reflect new structure - Update path references in pipeline files
removed bread crum from the header
Migrate azure pipelines
- Update login method to accept KeycloakLoginOptions and auto-redirect on login page - Improve logout flow by adding proper redirect URL with BASENAME - Add null return type for LoginPage when Keycloak is enabled
…ture/dockerfile-fix
Feature/dockerfile fix
Removed unnecessary files that are not required
- Change VALUES_FILE paths from charts/genesis-platform/ to genesis-umbrella/ - Update yq commands to target genesis-studio instead of ai-studio - Remove VALUES_FILE_STANDALONE variable (no longer needed) - Align with new umbrella chart architecture
…paths Update Azure pipeline paths for new platform charts structure
WalkthroughAdds Azure DevOps CI/CD pipelines and reusable templates for backend and frontend, including a release step that updates a separate platform-charts repo. Introduces Dockerfiles and compose setups for backend/frontend. Adds multiple docs. Replaces numerous GitHub Actions workflows and issue templates by deleting them. Updates env, license, Makefile, and ignores. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Dev
participant AzurePipelines as Azure Pipelines
participant TemplateBackend as backend-build-template.yml
participant ACR as Azure Container Registry
participant ChartsRepo as platform-charts (GitHub)
Dev->>AzurePipelines: Push/PR to backend paths
AzurePipelines->>TemplateBackend: Stage Build (params: repo, Dockerfile, BUILD_VERSION)
TemplateBackend->>ACR: docker build & push (tags: BuildNumber, latest)
AzurePipelines-->>AzurePipelines: Build Succeeded
AzurePipelines->>ChartsRepo: Stage UpdatePlatformCharts (release-template.yml)
ChartsRepo-->>ChartsRepo: Select values file by branch
ChartsRepo-->>ChartsRepo: Update image tag via yq
ChartsRepo->>ChartsRepo: Commit & push changes
sequenceDiagram
autonumber
actor Dev
participant AzurePipelines as Azure Pipelines
participant TemplateFrontend as frontend-build-template.yml
participant ACR as Azure Container Registry
participant ChartsRepo as platform-charts (GitHub)
Dev->>AzurePipelines: Push/PR to frontend paths
AzurePipelines->>TemplateFrontend: Stage Build (args: BUILD_VERSION, NODE_ENV)
TemplateFrontend->>ACR: docker build & push (tags: BuildNumber, latest)
AzurePipelines-->>AzurePipelines: Build Succeeded
AzurePipelines->>ChartsRepo: Stage UpdatePlatformCharts (SERVICE_NAME, IMAGE_NAME)
ChartsRepo-->>ChartsRepo: Update values file image tag
ChartsRepo->>ChartsRepo: Commit & push
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
There was a problem hiding this comment.
Actionable comments posted: 14
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
Makefile (1)
246-264: Do not combine uvicorn --reload with --workers.Uvicorn forbids using reload with workers. Only set --workers when >1 and omit --reload then.
- $(if $(filter-out 1,$(workers)),, --reload) \ + $(if $(filter-out 1,$(workers)),, --reload) \ --env-file $(env) \ --loop asyncio \ - $(if $(workers),--workers $(workers),) + $(if $(filter-out 1,$(workers)),--workers $(workers),)Apply same change in both branches (autologin and else).
LICENSE (1)
1-52: Restore Langflow’s MIT license in LICENSE
- The LICENSE file currently replaces the MIT license with proprietary terms; revert to the original MIT license header. Proprietary notices must not override the OSS license in this repository.
🧹 Nitpick comments (9)
.gitignore (1)
278-287: Ignore local secret key file.Add the committed secret path to .gitignore to prevent future leaks.
*.mcp.json member_servers.json # AI Assistant working files CLAUDE.md SPEC_CREATION_PROMPT.md test_spec_conversion.py +config/secret_keyREADME.md (1)
51-68: Add fenced code languages to satisfy markdownlint (MD040).Specify a language for the ASCII diagram and project structure blocks, e.g., text.
-``` +```text # diagram...-``` +```text ai-studio-service/ ...Also applies to: 175-185
docker-compose.yml (1)
19-25: Align services: use Postgres in backend and correct frontend BACKEND_URL.
- Backend currently uses SQLite while a Postgres service is defined. Point to database service for parity.
- Frontend build arg uses localhost; inside Compose, use the backend service name.
environment: - - PYTHONPATH=/app - - LANGFLOW_DATABASE_URL=sqlite:///app/data/langflow.db + - PYTHONPATH=/app + - LANGFLOW_DATABASE_URL=postgresql+psycopg://aistudio:dev_password_change_in_production@database:5432/ai_studio - LANGFLOW_CACHE_TYPE=memory - LANGFLOW_LOG_LEVEL=DEBUG - HOST=0.0.0.0 - PORT=7860args: BUILD_VERSION: local-dev - BACKEND_URL: http://localhost:7860 + BACKEND_URL: http://backend:7860 NODE_ENV: developmentIf SQLite is intentional, consider removing the Postgres service here or guard DB URL via an .env file.
Also applies to: 44-46
docker/backend/Dockerfile (1)
60-72: Consider a smaller base image for production.Switching to python:3.12-slim (or distroless) can reduce image size and CVE surface.
.azure-pipelines/templates/backend-build-template.yml (1)
22-35: ACR parameter semantics and build gating.
- Docker@2 containerRegistry expects a service connection; the summary uses it as an ACR name. Consider separate params (service connection vs ACR login server) to avoid confusion.
- Build/push are gated to Manual/IndividualCI/BatchedCI; PullRequest builds won’t build images. Confirm this is intended.
Example:
parameters: - name: ACR_SERVICE_CONNECTION type: string - name: ACR_LOGIN_SERVER type: string # e.g., myregistry.azurecr.io # Use: containerRegistry: '${{ parameters.ACR_SERVICE_CONNECTION }}' # Summary: echo "🐳 Image: ${{ parameters.ACR_LOGIN_SERVER }}/${{ parameters.CONTAINER_NAME }}:$(Build.BuildNumber)"Also applies to: 40-49, 51-59
AGENT_BUILDER_INTEGRATION_OVERVIEW.md (1)
343-347: Add language to fenced block for consistencySpecify a language (e.g., text) for this diagram block to satisfy linters and improve rendering.
-``` +```text User Request → Langflow API → AgentBuilderService → 5 Genesis Engines → YAML Response ↓ Streaming Events (SSE) → Frontend Updates</blockquote></details> <details> <summary>BUILDER_AGENT_INSTALL.md (1)</summary><blockquote> `11-27`: **Specify languages on fenced code blocks** Add appropriate languages to improve readability and pass linters. Suggested updates: - File tree: use text ```diff -``` +```text src/backend/base/langflow/ ...
- Single path block: use text
-``` +```text src/backend/base/langflow/initial_setup/builder_agent/BuilderAgent.json
- Log samples: use text
-``` +```text Creating/updating builder agent flow Builder agent flow created/updated successfully
- Endpoint block: use http or text
-``` +```http POST /api/v1/run/{flow_id}?stream=trueAlso applies to: 45-47, 152-156, 246-250, 263-266
docs/AZURE_DEVOPS.md (1)
7-21: Annotate neutral code fences with an explicit language.Plain triple backticks violate our docs rule that every code block must declare a language. Please tag this directory listing with something like
textso the renderer and linters stay happy.As per coding guidelines
-``` +```text ai-studio/ ├── .azure-pipelines/ │ ├── backend-cicd.yaml # Backend CI/CD pipeline @@ └── HELM.md # Helm chart documentation └── docs/ ├── AZURE_DEVOPS.md # This document └── HELM.md # Helm chart documentation -``` +```docs/DOCKER.md (1)
7-18: Give this code fence a language label.Every fenced block must declare a language. Mark this directory tree as
text(or similar) to satisfy the docs style and linter.As per coding guidelines
-``` +```text ai-studio/ ├── docker/ │ ├── backend/ @@ └── docs/ └── DOCKER.md # This documentation -``` +```
| - stage: UpdatePlatformCharts | ||
| displayName: 'Update Platform Charts' | ||
| dependsOn: Build | ||
| condition: succeeded() | ||
| jobs: | ||
| - template: templates/release-template.yml | ||
| parameters: | ||
| SERVICE_NAME: 'backend' | ||
| IMAGE_NAME: $(IMAGE_NAME) | ||
|
|
There was a problem hiding this comment.
Prevent release stage from running on PRs
If Build is skipped on PRs, UpdatePlatformCharts can still meet succeeded() and run. Add the same PR guard.
- stage: UpdatePlatformCharts
displayName: 'Update Platform Charts'
dependsOn: Build
- condition: succeeded()
+ condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
jobs:📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - stage: UpdatePlatformCharts | |
| displayName: 'Update Platform Charts' | |
| dependsOn: Build | |
| condition: succeeded() | |
| jobs: | |
| - template: templates/release-template.yml | |
| parameters: | |
| SERVICE_NAME: 'backend' | |
| IMAGE_NAME: $(IMAGE_NAME) | |
| - stage: UpdatePlatformCharts | |
| displayName: 'Update Platform Charts' | |
| dependsOn: Build | |
| condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) | |
| jobs: | |
| - template: templates/release-template.yml | |
| parameters: | |
| SERVICE_NAME: 'backend' | |
| IMAGE_NAME: $(IMAGE_NAME) |
🤖 Prompt for AI Agents
.azure-pipelines/backend-cicd.yaml around lines 76 to 85: the
UpdatePlatformCharts stage only uses condition: succeeded(), so it can still run
on PRs when Build is skipped; change the condition to include the same PR guard
used for Build, e.g. replace condition: succeeded() with condition:
and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) so the stage is
skipped for pull requests.
| - stage: UpdatePlatformCharts | ||
| displayName: 'Update Platform Charts' | ||
| dependsOn: Build | ||
| condition: succeeded() | ||
| jobs: | ||
| - template: templates/release-template.yml | ||
| parameters: | ||
| SERVICE_NAME: 'frontend' | ||
| IMAGE_NAME: $(IMAGE_NAME) | ||
|
|
There was a problem hiding this comment.
Prevent release stage from running on PRs
Mirror the Build stage PR guard on UpdatePlatformCharts to avoid pushing chart updates from PRs.
- stage: UpdatePlatformCharts
displayName: 'Update Platform Charts'
dependsOn: Build
- condition: succeeded()
+ condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'))
jobs:📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - stage: UpdatePlatformCharts | |
| displayName: 'Update Platform Charts' | |
| dependsOn: Build | |
| condition: succeeded() | |
| jobs: | |
| - template: templates/release-template.yml | |
| parameters: | |
| SERVICE_NAME: 'frontend' | |
| IMAGE_NAME: $(IMAGE_NAME) | |
| - stage: UpdatePlatformCharts | |
| displayName: 'Update Platform Charts' | |
| dependsOn: Build | |
| condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest')) | |
| jobs: | |
| - template: templates/release-template.yml | |
| parameters: | |
| SERVICE_NAME: 'frontend' | |
| IMAGE_NAME: $(IMAGE_NAME) |
🤖 Prompt for AI Agents
In .azure-pipelines/frontend-cicd.yaml around lines 71 to 80, the
UpdatePlatformCharts stage lacks the PR guard used by the Build stage and can
run for PRs; add the same condition to prevent PR-triggered runs by setting the
stage condition to mirror Build, e.g. use condition: and(succeeded(),
ne(variables['Build.Reason'], 'PullRequest')) so the stage only runs on
successful non-PR builds.
| - checkout: platform-charts | ||
| fetchDepth: 0 | ||
| persistCredentials: true | ||
|
|
||
| - script: | | ||
| git config --global user.email "release@autonomize.ai" | ||
| git config --global user.name "release" | ||
| git checkout main | ||
| displayName: 'Setup GIT' |
There was a problem hiding this comment.
Fix working directory and yq usage; export env for yq
Scripts run in the main repo by default, so git/yq act on the wrong repo. Also yq env() needs exported env var. Installing to /usr/local/bin may require sudo.
Apply:
steps:
- checkout: platform-charts
fetchDepth: 0
persistCredentials: true
- - script: |
+ - script: |
git config --global user.email "release@autonomize.ai"
git config --global user.name "release"
git checkout main
displayName: 'Setup GIT'
+ workingDirectory: '$(Build.SourcesDirectory)/platform-charts'
- - script: |
+ - script: |
echo "Build Number: $(Build.BuildNumber)"
echo "Source Branch: $(Build.SourceBranchName)"
- wget -q https://github.com/mikefarah/yq/releases/download/v4.42.1/yq_linux_amd64
- mv yq_linux_amd64 /usr/local/bin/yq
- chmod +x /usr/local/bin/yq
+ wget -q -O yq https://github.com/mikefarah/yq/releases/download/v4.42.1/yq_linux_amd64
+ chmod +x ./yq
@@
- buildnumber="$(Build.BuildNumber)" yq -i e '.genesis-studio.${{ parameters.SERVICE_NAME }}.image.tag = env(buildnumber)' $valuesFile
+ export buildnumber="$(Build.BuildNumber)"
+ ./yq -i e '.genesis-studio.${{ parameters.SERVICE_NAME }}.image.tag = env(buildnumber)' "$valuesFile"
@@
displayName: 'Update Image Tags'
+ workingDirectory: '$(Build.SourcesDirectory)/platform-charts'
- - script: |
+ - script: |
@@
git add $valuesFile
git commit -m "[skip ci] AI Studio ${{ parameters.SERVICE_NAME }} image tag updated: $(Build.BuildNumber) for $environment" || echo "No changes to commit"
git push --set-upstream origin main
@@
displayName: 'Commit and Push Changes'
+ workingDirectory: '$(Build.SourcesDirectory)/platform-charts'Optional: add set -euo pipefail to scripts for robustness.
Also applies to: 23-49, 50-71
🤖 Prompt for AI Agents
In .azure-pipelines/templates/release-template.yml around lines 13-21, the
script runs in the main repo instead of the platform-charts checkout and uses yq
env() without exporting the env var and installs binary to /usr/local/bin
without sudo; update the script to run in the platform-charts working directory
(or set the checkout path for platform-charts and add a workingDirectory to the
script), export any environment variable that yq.env() reads (export VAR=value)
before invoking yq, and when moving the binary to /usr/local/bin either use sudo
or install to a user-writable path; apply the same fixes to the other script
blocks at lines 23-49 and 50-71, and optionally add set -euo pipefail at the top
of each script for robustness.
| # Default: false | ||
| LANGFLOW_MCP_COMPOSER_ENABLED= |
There was a problem hiding this comment.
🧩 Analysis chain
Confirm default value documentation
Comment now claims the MCP composer flag defaults to false. Please verify the application code actually uses False as its fallback so the doc and behavior stay aligned.
🏁 Script executed:
#!/bin/bash
# Locate server/client defaults for LANGFLOW_MCP_COMPOSER_ENABLED
rg -n "LANGFLOW_MCP_COMPOSER_ENABLED"Length of output: 298
Align default value for LANGFLOW_MCP_COMPOSER_ENABLED
.env.example (lines 106–107) documents false as the default, but vite.config.mts falls back to "true", enabling the feature by default. Update the default in .env.example to true (or adjust the code fallback to false) so documentation and behavior match.
🤖 Prompt for AI Agents
In .env.example around lines 106–107, the documented default for
LANGFLOW_MCP_COMPOSER_ENABLED is "false" but the application (vite.config.mts)
falls back to "true", causing a mismatch; update .env.example to set
LANGFLOW_MCP_COMPOSER_ENABLED=true (or alternatively change the fallback in
vite.config.mts to "false") so the documented default and runtime behavior match
— pick one approach and apply it consistently across the env file and the code
fallback.
| - Schema: /Users/jagveersingh/Developer/studio/ai-studio/src/backend/base/langflow/specifications_library/documentation/schema/specification-schema.md | ||
| - Patterns: /Users/jagveersingh/Developer/studio/ai-studio/src/backend/base/langflow/specifications_library/documentation/patterns/pattern-catalog.md | ||
| - Components: /Users/jagveersingh/Developer/studio/ai-studio/src/backend/base/langflow/specifications_library/documentation/components/component-catalog.md | ||
| - Guide: /Users/jagveersingh/Developer/studio/ai-studio/src/backend/base/langflow/specifications_library/documentation/guides/creating-specifications.md | ||
|
|
There was a problem hiding this comment.
Replace absolute local paths with repo-relative paths
Hardcoded macOS user paths are not portable and break navigation. Point to repo-relative locations instead.
Example adjustments:
- - Schema: /Users/jagveersingh/Developer/studio/ai-studio/src/backend/base/langflow/specifications_library/documentation/schema/specification-schema.md
+ - Schema: src/backend/base/langflow/specifications_library/documentation/schema/specification-schema.md
- - Patterns: /Users/jagveersingh/Developer/studio/ai-studio/src/backend/base/langflow/specifications_library/documentation/patterns/pattern-catalog.md
+ - Patterns: src/backend/base/langflow/specifications_library/documentation/patterns/pattern-catalog.md
- - Components: /Users/jagveersingh/Developer/studio/ai-studio/src/backend/base/langflow/specifications_library/documentation/components/component-catalog.md
+ - Components: src/backend/base/langflow/specifications_library/documentation/components/component-catalog.md
- - Guide: /Users/jagveersingh/Developer/studio/ai-studio/src/backend/base/langflow/specifications_library/documentation/guides/creating-specifications.md
+ - Guide: src/backend/base/langflow/specifications_library/documentation/guides/creating-specifications.mdAlso update later references to the same absolute prefix (validation service, components path, etc.) similarly. If this doc is internal-only, consider moving it under docs/ with proper links.
Also applies to: 13-16, 24-25, 284-287, 501-505, 637-641
🧰 Tools
🪛 LanguageTool
[grammar] ~7-~7: There might be a mistake here.
Context: ...mentation/schema/specification-schema.md - Patterns: /Users/jagveersingh/Developer/...
(QB_NEW_EN)
[grammar] ~8-~8: There might be a mistake here.
Context: ...ocumentation/patterns/pattern-catalog.md - Components: /Users/jagveersingh/Develope...
(QB_NEW_EN)
[grammar] ~9-~9: There might be a mistake here.
Context: ...entation/components/component-catalog.md - Guide: /Users/jagveersingh/Developer/stu...
(QB_NEW_EN)
🤖 Prompt for AI Agents
In CLAUDE.md around lines 7 to 11 (and also apply the same fix to ranges 13-16,
24-25, 284-287, 501-505, 637-641), replace the hardcoded absolute macOS user
paths with repo-relative paths (e.g., start with ./ or docs/ or the repository
root path) so links are portable; update all subsequent references that share
the same absolute prefix, ensure paths point to the correct files within the
repo (move the doc under docs/ if internal), and verify each updated link
resolves correctly.
| # Set RUSTFLAGS for reqwest unstable features needed by apify-client v2.0.0 | ||
| ENV RUSTFLAGS='--cfg reqwest_unstable' | ||
|
|
There was a problem hiding this comment.
Correct the RUSTFLAGS value
The single quotes survive Docker parsing, so RUSTFLAGS becomes '--cfg reqwest_unstable', which Cargo hands to rustc as invalid flags. Switch to an unquoted or double-quoted value so the build actually enables the reqwest cfg.
-ENV RUSTFLAGS='--cfg reqwest_unstable'
+ENV RUSTFLAGS="--cfg reqwest_unstable"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # Set RUSTFLAGS for reqwest unstable features needed by apify-client v2.0.0 | |
| ENV RUSTFLAGS='--cfg reqwest_unstable' | |
| # Set RUSTFLAGS for reqwest unstable features needed by apify-client v2.0.0 | |
| ENV RUSTFLAGS="--cfg reqwest_unstable" |
🤖 Prompt for AI Agents
In docker/build_and_push_with_extras.Dockerfile around lines 23 to 25, the
RUSTFLAGS value is wrapped in single quotes which are preserved by Docker and
passed to rustc as invalid flags; change the ENV assignment to use an unquoted
or double-quoted value (for example: ENV RUSTFLAGS=--cfg reqwest_unstable or ENV
RUSTFLAGS="--cfg reqwest_unstable") so the cfg flag is passed correctly to
cargo/rustc.
| HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ | ||
| CMD curl -f http://localhost:3000 || exit 1 |
There was a problem hiding this comment.
Healthcheck needs curl installed.
The nginx Alpine image does not ship with curl, so the health check will fail immediately. Install curl (or use wget) in the runtime stage before you rely on it.
FROM nginx:1.25-alpine
+# Install curl for health checks
+RUN apk add --no-cache curl
+
# Copy custom nginx configuration
COPY src/frontend/nginx.conf /etc/nginx/conf.d/default.conf📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ | |
| CMD curl -f http://localhost:3000 || exit 1 | |
| FROM nginx:1.25-alpine | |
| # Install curl for health checks | |
| RUN apk add --no-cache curl | |
| # Copy custom nginx configuration | |
| COPY src/frontend/nginx.conf /etc/nginx/conf.d/default.conf | |
| HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ | |
| CMD curl -f http://localhost:3000 || exit 1 |
🤖 Prompt for AI Agents
In docker/frontend/Dockerfile around lines 82 to 83, the HEALTHCHECK uses curl
but the nginx Alpine runtime stage doesn't include curl, causing immediate
failures; modify the runtime stage to install curl (or wget) before the
HEALTHCHECK is added—e.g., add a small apk add --no-cache curl (or wget) command
in the runtime stage so the binary is available at container runtime, then keep
the HEALTHCHECK as-is.
| # AI Studio Azure DevOps Organization Guide | ||
|
|
||
| This document provides detailed information about the reorganized Azure DevOps structure and pipeline integration with the unified Helm chart. | ||
|
|
There was a problem hiding this comment.
Add required front matter metadata.
Docs under docs/** must start with front matter that at least sets title, description, and (when applicable) sidebar_position. Please add it so this page renders correctly in the docs site navigation.
As per coding guidelines
+---
+title: "AI studio Azure DevOps organization guide"
+description: "Explain how you reorganize the Azure DevOps pipelines and templates for AI Studio."
+sidebar_position: 1
+---
# AI Studio Azure DevOps Organization Guide📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # AI Studio Azure DevOps Organization Guide | |
| This document provides detailed information about the reorganized Azure DevOps structure and pipeline integration with the unified Helm chart. | |
| --- | |
| title: "AI studio Azure DevOps organization guide" | |
| description: "Explain how you reorganize the Azure DevOps pipelines and templates for AI Studio." | |
| sidebar_position: 1 | |
| --- | |
| # AI Studio Azure DevOps Organization Guide | |
| This document provides detailed information about the reorganized Azure DevOps structure and pipeline integration with the unified Helm chart. |
🤖 Prompt for AI Agents
In docs/AZURE_DEVOPS.md around lines 1 to 4, the file is missing required front
matter for the docs site; add YAML front matter at the top including at minimum
title and description (and sidebar_position if this page should appear in the
sidebar). Populate title with a concise page title, description with a short
summary, and add sidebar_position when applicable, ensuring the front matter
block is wrapped between --- lines and placed before the existing content.
| # AI Studio Development Guide | ||
|
|
||
| This document provides development setup, Docker configuration, and CI/CD pipeline information for the AI Studio monorepo. |
There was a problem hiding this comment.
🛠️ Refactor suggestion | 🟠 Major
Add required front matter and code fence language
Docs under docs/ must include front matter and specify languages for code blocks. Add title/description and set the first fence to text.
+---
+title: AI Studio development guide
+description: Set up, develop, test, and deploy AI Studio with Docker and Azure DevOps.
+sidebar_position: 1
+---
# AI Studio Development Guide
@@
-```
+```text
ai-studio/
├── src/
...
Also applies to: 7-23
<details>
<summary>🤖 Prompt for AI Agents</summary>
In docs/DEVELOPMENT.md around lines 1-3 (and also apply changes to lines 7-23),
the file is missing required front matter and the first code fence lacks a
language; add YAML front matter with title and description at the top (e.g.,
title and short description keys), and update the first fenced code block to use
appropriate language identifiers.
| # AI Studio Docker Setup Guide | ||
|
|
||
| This document provides comprehensive instructions for building, running, and developing AI Studio using Docker containers. | ||
|
|
There was a problem hiding this comment.
Insert the mandatory front matter block.
Docs need YAML front matter defining title, description, and a sidebar_position when published under docs/. Please add it so this guide integrates with the doc site correctly.
As per coding guidelines
+---
+title: "AI studio Docker setup guide"
+description: "Show how you build, run, and develop AI Studio with Docker and Compose."
+sidebar_position: 2
+---
# AI Studio Docker Setup Guide📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| # AI Studio Docker Setup Guide | |
| This document provides comprehensive instructions for building, running, and developing AI Studio using Docker containers. | |
| --- | |
| title: "AI studio Docker setup guide" | |
| description: "Show how you build, run, and develop AI Studio with Docker and Compose." | |
| sidebar_position: 2 | |
| --- | |
| # AI Studio Docker Setup Guide | |
| This document provides comprehensive instructions for building, running, and developing AI Studio using Docker containers. |
🤖 Prompt for AI Agents
In docs/DOCKER.md around lines 1 to 4, the file is missing the required YAML
front matter (title, description, and sidebar_position) that docs/ requires for
proper site integration; add a top-of-file YAML block with keys title,
description, and sidebar_position (with appropriate values reflecting this
Docker guide) so the document publishes correctly in the docs site.




Summary by CodeRabbit
New Features
Documentation
Chores