Skip to content

Dev/merge/rename workflows #74

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Apr 11, 2025
Merged

Conversation

jmaddington
Copy link
Owner

Updates workflow names for consistency in Github UI. Replaces #73

jmaddington and others added 5 commits April 10, 2025 16:17
* 🖥️ feat: Code Interpreter API for Non-Agent Endpoints (danny-avila#6803)

* fix: Prevent parsing 'undefined' string in useLocalStorage initialization

* feat: first pass, code interpreter badge

* feat: Integrate API key authentication and default checked value in Code Interpreter Badge

* refactor: Rename showMCPServers to showEphemeralBadges and update related components, memoize values in useChatBadges

* refactor: Enhance AttachFileChat to support ephemeral agents in file attachment logic

* fix: Add baseURL configuration option to legacy function call

* refactor: Update dependency array in useDragHelpers to include handleFiles

* refactor: Update isEphemeralAgent function to accept optional endpoint parameter

* refactor: Update file handling to support ephemeral agents in AttachFileMenu and useDragHelpers

* fix: improve compatibility issues with OpenAI usage field handling in createRun function

* refactor: usage field compatibility

* fix: ensure mcp servers are no longer "selected" if mcp servers are now unavailable

* 💾 chore: Enhance Local Storage Handling and Update MCP SDK (danny-avila#6809)

* feat: Update MCP package version and dependencies; refactor ToolContentPart type

* refactor: Change module type to commonjs and update rollup configuration, remove unused dev dependency

* refactor: Change async calls to synchronous for MCP and FlowStateManager retrieval

* chore: Add eslint disable comment for i18next rule in DropdownPopup component

* fix: improve statefulness of mcp servers selected if some were removed since last session

* feat: implement conversation storage cleanup functions and integrate them into mutation success handlers

* feat: enhance storage condition logic in useLocalStorageAlt to prevent unnecessary local storage writes

* refactor: streamline local storage update logic in useLocalStorageAlt

* ⚡ feat: Self-hosted Artifacts Static Bundler URL (danny-avila#6827)

* v0.7.791

* feat: configuration via `SANDPACK_STATIC_BUNDLER_URL` env var and update bundlerURL logic in Artifact components

* fix: update minimum length requirement for auth fields from 10 to 1 character

* chore: Add cheerio library for HTML parsing

* chore: Add better-sqlite3 library

* chore: Add @e2b/code-interpreter library to dependencies

* chore: Update clean script to use npm ci for primary dependencies

* Fix GitHub workflow to use either manual ref or triggering branch/SHA/PR reference

* Add jm-upstream-sync workflow for daily synchronization with upstream

* chore: Update jm-deploy-build-only workflow to include tracking branches

* Rename workflow from jm-deploy-build-only to jm-build-only

* Update workflow title to 'Docker Build Only'

* Add GitHub workflow to automatically assign GitHub Copilot as a reviewer to all PRs

---------

Co-authored-by: Danny Avila <[email protected]>
@jmaddington jmaddington mentioned this pull request Apr 11, 2025
@jmaddington jmaddington requested a review from Copilot April 11, 2025 19:10
@jmaddington jmaddington self-assigned this Apr 11, 2025
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 7 out of 8 changed files in this pull request and generated 1 comment.

Files not reviewed (1)
  • .github/workflows/jm-sync-with-upstream.yml: Language not supported
Comments suppressed due to low confidence (1)

.github/workflows/jm-build-only.yml:11

  • [nitpick] For consistency with other workflows, consider quoting the branch pattern (e.g. 'release/**').
      - release/**

ref: ${{ github.event.inputs.branch || 'main' }}
# For manual runs: Use ref if provided, otherwise use branch
# For automated runs: Use the triggering ref
ref: ${{ github.event_name == 'workflow_dispatch' && (github.event.inputs.ref || github.event.inputs.branch) || github.ref }}
Copy link
Preview

Copilot AI Apr 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The conditional expression for selecting the branch could be ambiguous; adding explicit parentheses may improve clarity and ensure the intended evaluation order.

Suggested change
ref: ${{ github.event_name == 'workflow_dispatch' && (github.event.inputs.ref || github.event.inputs.branch) || github.ref }}
ref: ${{ (github.event_name == 'workflow_dispatch' && (github.event.inputs.ref || github.event.inputs.branch)) || github.ref }}

Copilot uses AI. Check for mistakes.

@jmaddington jmaddington merged commit 51b7eb1 into dev/main Apr 11, 2025
10 of 11 checks passed
@jmaddington jmaddington deleted the dev/merge/rename-workflows branch April 11, 2025 19:19
jmaddington added a commit that referenced this pull request Apr 16, 2025
* feat: add VS Code extensions in devcontainer for improved development experience

* feat: enhance devcontainer by installing Claude Code and configuring sudo for vscode user

* feat: update docker-compose and .gitignore for Claude Code configuration

* fix: fix clean.sh to more closely resemble main LibreChat dev instructions

 See https://www.librechat.ai/docs/development/get_started

* fix: update branch patterns in workflow files to include all subdirectories under dev

* chore: taking files from 12f4dbb and bringing them to our branch w/o merging

* fix: remove node_modules in sub-dirs

* fix: enhance build-local.sh for improved build validation and cleanup

* chore: add our fork's dependencies

* chore: change workflow timeouts to 15 minutes

Some were running over this, which they shouldn't

* fix: update promote-admin script to include force option and enhance argument parsing

* Dev/merge/rename workflows (#74)

chore: Updates workflow names for consistency in Github UI.

* chore: update workflow branch filters to avoid duplicate runs
jmaddington added a commit that referenced this pull request Apr 16, 2025
* feat: add VS Code extensions in devcontainer for improved development experience

* feat: enhance devcontainer by installing Claude Code and configuring sudo for vscode user

* feat: update docker-compose and .gitignore for Claude Code configuration

* fix: fix clean.sh to more closely resemble main LibreChat dev instructions

 See https://www.librechat.ai/docs/development/get_started

* fix: update branch patterns in workflow files to include all subdirectories under dev

* chore: taking files from 12f4dbb and bringing them to our branch w/o merging

* fix: remove node_modules in sub-dirs

* fix: enhance build-local.sh for improved build validation and cleanup

* chore: add our fork's dependencies

* chore: change workflow timeouts to 15 minutes

Some were running over this, which they shouldn't

* fix: update promote-admin script to include force option and enhance argument parsing

* Dev/merge/rename workflows (#74)

chore: Updates workflow names for consistency in Github UI.

* chore: update workflow branch filters to avoid duplicate runs

* docs: add post-merge instructions for building and PR creation

* Tracking/2025/04/16 (#76)

* 🖥️ feat: Code Interpreter API for Non-Agent Endpoints (danny-avila#6803)

* fix: Prevent parsing 'undefined' string in useLocalStorage initialization

* feat: first pass, code interpreter badge

* feat: Integrate API key authentication and default checked value in Code Interpreter Badge

* refactor: Rename showMCPServers to showEphemeralBadges and update related components, memoize values in useChatBadges

* refactor: Enhance AttachFileChat to support ephemeral agents in file attachment logic

* fix: Add baseURL configuration option to legacy function call

* refactor: Update dependency array in useDragHelpers to include handleFiles

* refactor: Update isEphemeralAgent function to accept optional endpoint parameter

* refactor: Update file handling to support ephemeral agents in AttachFileMenu and useDragHelpers

* fix: improve compatibility issues with OpenAI usage field handling in createRun function

* refactor: usage field compatibility

* fix: ensure mcp servers are no longer "selected" if mcp servers are now unavailable

* 💾 chore: Enhance Local Storage Handling and Update MCP SDK (danny-avila#6809)

* feat: Update MCP package version and dependencies; refactor ToolContentPart type

* refactor: Change module type to commonjs and update rollup configuration, remove unused dev dependency

* refactor: Change async calls to synchronous for MCP and FlowStateManager retrieval

* chore: Add eslint disable comment for i18next rule in DropdownPopup component

* fix: improve statefulness of mcp servers selected if some were removed since last session

* feat: implement conversation storage cleanup functions and integrate them into mutation success handlers

* feat: enhance storage condition logic in useLocalStorageAlt to prevent unnecessary local storage writes

* refactor: streamline local storage update logic in useLocalStorageAlt

* ⚡ feat: Self-hosted Artifacts Static Bundler URL (danny-avila#6827)

* v0.7.791

* feat: configuration via `SANDPACK_STATIC_BUNDLER_URL` env var and update bundlerURL logic in Artifact components

* fix: update minimum length requirement for auth fields from 10 to 1 character

* 🐳 feat: Add Jemalloc and UV to Docker Builds (danny-avila#6836)

* feat: Add `uv` for extended MCP support in Dockerfiles

* feat: Install jemalloc and set environment variable to use it

* 🤖 refactor: Improve Agents Memory Usage, Bump Keyv, Grok 3 (danny-avila#6850)

* chore: remove unused redis file

* chore: bump keyv dependencies, and update related imports

* refactor: Implement IoRedis client for rate limiting across middleware, as node-redis via keyv not compatible

* fix: Set max listeners to expected amount

* WIP: memory improvements

* refactor: Simplify getAbortData assignment in createAbortController

* refactor: Update getAbortData to use WeakRef for content management

* WIP: memory improvements in agent chat requests

* refactor: Enhance memory management with finalization registry and cleanup functions

* refactor: Simplify domainParser calls by removing unnecessary request parameter

* refactor: Update parameter types for action tools and agent loading functions to use minimal configs

* refactor: Simplify domainParser tests by removing unnecessary request parameter

* refactor: Simplify domainParser call by removing unnecessary request parameter

* refactor: Enhance client disposal by nullifying additional properties to improve memory management

* refactor: Improve title generation by adding abort controller and timeout handling, consolidate request cleanup

* refactor: Update checkIdleConnections to skip current user when checking for idle connections if passed

* refactor: Update createMCPTool to derive userId from config and handle abort signals

* refactor: Introduce createTokenCounter function and update tokenCounter usage; enhance disposeClient to reset Graph values

* refactor: Update getMCPManager to accept userId parameter for improved idle connection handling

* refactor: Extract logToolError function for improved error handling in AgentClient

* refactor: Update disposeClient to clear handlerRegistry and graphRunnable references in client.run

* refactor: Extract createHandleNewToken function to streamline token handling in initializeClient

* chore: bump @librechat/agents

* refactor: Improve timeout handling in addTitle function for better error management

* refactor: Introduce createFetch instead of using class method

* refactor: Enhance client disposal and request data handling in AskController and EditController

* refactor: Update import statements for AnthropicClient and OpenAIClient to use specific paths

* refactor: Use WeakRef for response handling in SplitStreamHandler to prevent memory leaks

* refactor: Simplify client disposal and rename getReqData to processReqData in AskController and EditController

* refactor: Improve logging structure and parameter handling in OpenAIClient

* refactor: Remove unused GraphEvents and improve stream event handling in AnthropicClient and OpenAIClient

* refactor: Simplify client initialization in AskController and EditController

* refactor: Remove unused mock functions and implement in-memory store for KeyvMongo

* chore: Update dependencies in package-lock.json to latest versions

* refactor: Await token usage recording in OpenAIClient to ensure proper async handling

* refactor: Remove handleAbort route from multiple endpoints and enhance client disposal logic

* refactor: Enhance abort controller logic by managing abortKey more effectively

* refactor: Add newConversation handling in useEventHandlers for improved conversation management

* fix: dropparams

* refactor: Use optional chaining for safer access to request properties in BaseClient

* refactor: Move client disposal and request data processing logic to cleanup module for better organization

* refactor: Remove aborted request check from addTitle function for cleaner logic

* feat: Add Grok 3 model pricing and update tests for new models

* chore: Remove trace warnings and inspect flags from backend start script used for debugging

* refactor: Replace user identifier handling with userId for consistency across controllers, use UserId in clientRegistry

* refactor: Enhance client disposal logic to prevent memory leaks by clearing additional references

* chore: Update @librechat/agents to version 2.4.14 in package.json and package-lock.json

* 💾 refactor: Enhance Memory In Image Encodings & Client Disposal (danny-avila#6852)

* 💾 chore: Clear Additional Properties in `disposeClient`

* refactor: stream handling and base64 conversion in encode.js to better free memory

* 🔧 fix: Keyv and Proxy Issues, and More Memory Optimizations (danny-avila#6867)

* chore: update @librechat/agents dependency to version 2.4.15

* refactor: Prevent memory leaks by nullifying boundModel.client in disposeClient function

* fix: use of proxy, use undici

* chore: update @librechat/agents dependency to version 2.4.16

* Revert "fix: use of proxy, use undici"

This reverts commit 83153cd.

* fix: ensure fetch is imported for HTTP requests

* fix: replace direct OpenAI import with CustomOpenAIClient from @librechat/agents

* fix: update keyv peer dependency to version 5.3.2

* fix: update keyv dependency to version 5.3.2

* refactor: replace KeyvMongo with custom implementation and update flow state manager usage

* fix: update @librechat/agents dependency to version 2.4.17

* ci: update OpenAIClient tests to use CustomOpenAIClient from @librechat/agents

* refactor: remove KeyvMongo mock and related dependencies

* 🤖 feat: GPT-4.1 (danny-avila#6880)

* fix: Agent Builder setting not applying in useSideNavLinks

* fix: Remove unused type imports in useSideNavLinks

* feat: gpt-4.1

* fix: Update getCacheMultiplier and getMultiplier tests to use dynamic token values

* feat: Add gpt-4.1 to the list of vision models

* chore: Bump version of librechat-data-provider to 0.7.792

* 🔁 refactor: Token Event Handler and Standardize `maxTokens` Key (danny-avila#6886)

* refactor: agent token handling to use createHandleLLMNewToken for improved closure

* refactor: update llmConfig to use maxTokens instead of max_tokens for consistency

* 👋 feat: remove Edge TTS (danny-avila#6885)

* feat: remove Edge TTS

* remove the remaining edge code

* chore: cleanup

* chore: cleanup package-lock

* ✨ style: Dynamic text sizing for greeting and name display (danny-avila#6833)

* ✨ feat: Implement dynamic text sizing for greeting and name display

* refactor: simplified text-size logic

* ⌨️ a11y: enhance accessibility & visual consistency (danny-avila#6866)

* a11y: TemporaryChat label

* style: ChatForm badges update

* 📜 refactor: Optimize Conversation History Nav with Cursor Pagination (danny-avila#5785)

* ✨ feat: improve Nav/Conversations/Convo/NewChat component performance

* ✨ feat: implement cursor-based pagination for conversations API

* 🔧 refactor: remove createdAt from conversation selection in API and type definitions

* 🔧 refactor: include createdAt in conversation selection and update related types

* ✨ fix: search functionality and bugs with loadMoreConversations

* feat: move ArchivedChats to cursor and DataTable standard

* 🔧 refactor: add InfiniteQueryObserverResult type import in Nav component

* feat: enhance conversation listing with pagination, sorting, and search capabilities

* 🔧 refactor: remove unnecessary comment regarding lodash/debounce in ArchivedChatsTable

* 🔧 refactor: remove unused translation keys for archived chats and search results

* 🔧 fix: Archived Chats, Delete Convo, Duplicate Convo

* 🔧 refactor: improve conversation components with layout adjustments and new translations

* 🔧 refactor: simplify archive conversation mutation and improve unarchive handling; fix: update fork mutation

* 🔧 refactor: decode search query parameter in conversation route; improve error handling in unarchive mutation; clean up DataTable component styles

* 🔧 refactor: remove unused translation key for empty archived chats

* 🚀 fix: `archivedConversation` query key not updated correctly while archiving

* 🧠 feat: Bedrock Anthropic Reasoning & Update Endpoint Handling (danny-avila#6163)

* feat: Add thinking and thinkingBudget parameters for Bedrock Anthropic models

* chore: Update @librechat/agents to version 2.1.8

* refactor: change region order in params

* refactor: Add maxTokens parameter to conversation preset schema

* refactor: Update agent client to use bedrockInputSchema and improve error handling for model parameters

* refactor: streamline/optimize llmConfig initialization and saving for bedrock

* fix: ensure config titleModel is used for all endpoints

* refactor: enhance OpenAIClient and agent initialization to support endpoint checks for OpenRouter

* chore: bump @google/generative-ai

* ✨ feat: improve Nav/Conversations/Convo/NewChat component performance

* 🔧 refactor: remove unnecessary comment regarding lodash/debounce in ArchivedChatsTable

* 🔧 refactor: update translation keys for clarity; simplify conversation query parameters and improve sorting functionality in SharedLinks component

* 🔧 refactor: optimize conversation loading logic and improve search handling in Nav component

* fix: package-lock

* fix: package-lock 2

* fix: package lock 3

* refactor: remove unused utility files and exports to clean up the codebase

* refactor: remove i18n and useAuthRedirect modules to streamline codebase

* refactor: optimize Conversations component and remove unused ToggleContext

* refactor(Convo): add RenameForm and ConvoLink components; enhance Conversations component with responsive design

* fix: add missing @azure/storage-blob dependency in package.json

* refactor(Search): add error handling with toast notification for search errors

* refactor: make createdAt and updatedAt fields of tConvoUpdateSchema less restrictive if timestamps are missing

* chore: update @azure/storage-blob dependency to version 12.27.0, ensure package-lock is correct

* refactor(Search): improve conversation handling server side

* fix: eslint warning and errors

* refactor(Search): improved search loading state and overall UX

* Refactors conversation cache management

Centralizes conversation mutation logic into dedicated utility functions for adding, updating, and removing conversations from query caches.

Improves reliability and maintainability by:
- Consolidating duplicate cache manipulation code
- Adding type safety for infinite query data structures
- Implementing consistent cache update patterns across all conversation operations
- Removing obsolete conversation helper functions in favor of standardized utilities

* fix: conversation handling and SSE event processing

- Optimizes conversation state management with useMemo and proper hook ordering
- Improves SSE event handler documentation and error handling
- Adds reset guard flag for conversation changes
- Removes redundant navigation call
- Cleans up cursor handling logic and document structure

Improves code maintainability and prevents potential race conditions in conversation state updates

* refactor: add type for SearchBar `onChange`

* fix: type tags

* style: rounded to xl all Header buttons

* fix: activeConvo in Convo not working

* style(Bookmarks): improved UI

* a11y(AccountSettings): fixed hover style not visible when using light theme

* style(SettingsTabs): improved tab switchers and dropdowns

* feat: add translations keys for Speech

* chore: fix package-lock

* fix(mutations): legacy import after rebase

* feat: refactor conversation navigation for accessibility

* fix(search): convo and message create/update date not returned

* fix(search): show correct iconURL and endpoint for searched messages

* fix: small UI improvements

* chore: console.log cleanup

* chore: fix tests

* fix(ChatForm): improve conversation ID handling and clean up useMemo dependencies

* chore: improve typing

* chore: improve typing

* fix(useSSE): clear conversation ID on submission to prevent draft restoration

* refactor(OpenAIClient): clean up abort handler

* refactor(abortMiddleware): change handleAbort to use function expression

* feat: add PENDING_CONVO constant and update conversation ID checks

* fix: final event handling on abort

* fix: improve title sync and query cache sync on final event

* fix: prevent overwriting cached conversation data if it already exists

---------

Co-authored-by: Danny Avila <[email protected]>

* 📝 fix: Mistral OCR Image Support and Azure Agent Titles (danny-avila#6901)

* fix: azure title model

* refactor: typing for uploadMistralOCR

* fix: update conversation ID handling in useSSE for better state management, only use PENDING_CONVO for new conversations

* fix: streamline conversation ID handling in useSSE for simplicity, only needs state update to prevent draft from applying

* fix: update performOCR and tests to support document and image URLs with appropriate types

* 📢 fix: Invalid `engineTTS` and Conversation State on Navigation (danny-avila#6904)

* fix: handle invalid engineTTS values and prevent VoiceDropdown render errors

* refactor: add verbose developer logging for debugging conversation state issues

* refactor: remove unnecessary effect for conversationId changes

* chore: imports

* fix: include model and entity IDs in conversation query selection

* feat: add fetchFreshData function to retrieve conversation data on navigation

* fix: remove unnecessary comment in fetchFreshData function

* chore: reorder imports in useNavigateToConvo for consistency

---------

Co-authored-by: Danny Avila <[email protected]>

* 🛠️ fix: Improve Accessibility and Display of Conversation Menu (danny-avila#6913)

* 📦 chore: update @ariakit/react-core to version 0.4.17 in package.json and package-lock.json

* refactor: add additional ariakit menu props and unmount menu if state changes

* fix: accessibility issues and incompatibility issues due to non-portaled menu

* fix: improve visibility and accessibility of conversation options, making sure to expand dynamically when becoming active

* fix: adjust max width for conversation options popover to improve visibility

* Revert changes to files that shouldn't be modified from upstream

Restored upstream versions of these files:
- api/server/routes/actions.js
- api/server/services/ActionService.js
- api/server/services/MCP.js
- client/src/components/Chat/Input/ChatForm.tsx
- client/src/components/ui/CheckboxButton.tsx
- client/src/components/ui/DropdownPopup.tsx
- client/src/data-provider/mutations.ts
- client/src/utils/convos.ts
- client/src/utils/index.ts
- packages/data-provider/package.json

* Revert changes to api/config/index.js and api/package.json

Restored upstream versions of these files to avoid conflicts in future merges.

* chore: updated dependencies

---------

Co-authored-by: Danny Avila <[email protected]>
Co-authored-by: Marco Beretta <[email protected]>

---------

Co-authored-by: Danny Avila <[email protected]>
Co-authored-by: Marco Beretta <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant