🔀 fix: MCP Improvements, Auto-Save Drafts, Artifact Markup (#7040)

* feat: Update MCP tool creation to use lowercase provider name

* refactor: handle MCP image output edge cases where tool outputs must contain string responses

* feat: Drop 'anyOf' and 'oneOf' fields from JSON schema conversion

* feat: Transform 'oneOf' and 'anyOf' fields to Zod union in JSON schema conversion

* fix: artifactPlugin to replace textDirective with expected text, closes #7029

* fix: auto-save functionality to handle conversation transitions from pending drafts, closes #7027

* refactor: improve async handling during user disconnection process

* fix: use correct user ID variable for MCP tool calling

* fix: improve handling of pending drafts in auto-save functionality

* fix: add support for additional model names in getValueKey function

* fix: reset form values on agent deletion when no agents remain
This commit is contained in:
Danny Avila 2025-04-23 18:56:06 -04:00 committed by GitHub
parent 150116eefe
commit 7f1d01c35a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 856 additions and 73 deletions

78
package-lock.json generated
View file

@ -64,7 +64,7 @@
"@langchain/google-genai": "^0.2.2",
"@langchain/google-vertexai": "^0.2.3",
"@langchain/textsplitters": "^0.1.0",
"@librechat/agents": "^2.4.20",
"@librechat/agents": "^2.4.22",
"@librechat/data-schemas": "*",
"@waylaidwanderer/fetch-event-source": "^3.0.1",
"axios": "^1.8.2",
@ -17626,9 +17626,9 @@
}
},
"node_modules/@langchain/langgraph": {
"version": "0.2.64",
"resolved": "https://registry.npmjs.org/@langchain/langgraph/-/langgraph-0.2.64.tgz",
"integrity": "sha512-M6lh8ekDoZVCLdA10jeqIsU58LODDzXpP38aeXil5A5pg31IJp5L8O4yBfbp8mRobVX+Bbga5R5ZRyQBQl6NTg==",
"version": "0.2.65",
"resolved": "https://registry.npmjs.org/@langchain/langgraph/-/langgraph-0.2.65.tgz",
"integrity": "sha512-g/Xap2KSEaEBXMJXGZTh31fd0qrdfaWA1l8NJzweJg6AkvVSf+d6DmMk9DtzGW8W1H1qQ2I6FWZ3AdP61Kkaig==",
"license": "MIT",
"dependencies": {
"@langchain/langgraph-checkpoint": "~0.0.17",
@ -17678,9 +17678,9 @@
}
},
"node_modules/@langchain/langgraph-sdk": {
"version": "0.0.66",
"resolved": "https://registry.npmjs.org/@langchain/langgraph-sdk/-/langgraph-sdk-0.0.66.tgz",
"integrity": "sha512-l0V4yfKXhHaTRK/1bKMfZ14k3wWZu27DWTlCUnbYJvdo7os5srhONgPCOqQgpazhi5EhXbW2EVgeu/wLW2zH6Q==",
"version": "0.0.69",
"resolved": "https://registry.npmjs.org/@langchain/langgraph-sdk/-/langgraph-sdk-0.0.69.tgz",
"integrity": "sha512-I58VmDnab/JwOjos9NdmBM4aDU1Zc5mc4NTinhn7cEeaVDhRRJfVajXKAsvfLLc1tKj4sbf5BS3xARgzNJqajg==",
"license": "MIT",
"dependencies": {
"@types/json-schema": "^7.0.15",
@ -17870,9 +17870,9 @@
}
},
"node_modules/@librechat/agents": {
"version": "2.4.20",
"resolved": "https://registry.npmjs.org/@librechat/agents/-/agents-2.4.20.tgz",
"integrity": "sha512-Wnrx123ZSrGkYE9P/pdXpWmPp+XPsAWrTwk3H3l1nN3UXLqb2E75V3i8UEoFvTMkya006p76+Rt/fHNT9y9E5w==",
"version": "2.4.22",
"resolved": "https://registry.npmjs.org/@librechat/agents/-/agents-2.4.22.tgz",
"integrity": "sha512-BDc4nCssCp9lLmbB/Zc5tzjuzaB3MEF9kKo+kGu28tyoq7K1OCTwZE53/ytbecK6sxi8trT6LpZzpGqcl5AqhA==",
"license": "MIT",
"dependencies": {
"@langchain/anthropic": "^0.3.16",
@ -17896,9 +17896,9 @@
}
},
"node_modules/@librechat/agents/node_modules/@langchain/community": {
"version": "0.3.40",
"resolved": "https://registry.npmjs.org/@langchain/community/-/community-0.3.40.tgz",
"integrity": "sha512-UvpEebdFKJsjFBKeUOvvYHOEFsUcjZnyU1qNirtDajwjzTJlszXtv+Mq8F6w5mJsznpI9x7ZMNzAqydVxMG5hA==",
"version": "0.3.41",
"resolved": "https://registry.npmjs.org/@langchain/community/-/community-0.3.41.tgz",
"integrity": "sha512-i/DQ4bkKW+0W+zFy8ZrH7gRiag3KZuZU15pFXYom7wdZ8zcHJZZh2wi43hiBEWt8asx8Osyx4EhYO5SNp9ewkg==",
"license": "MIT",
"dependencies": {
"@langchain/openai": ">=0.2.0 <0.6.0",
@ -17907,7 +17907,7 @@
"flat": "^5.0.2",
"js-yaml": "^4.1.0",
"langchain": ">=0.2.3 <0.3.0 || >=0.3.4 <0.4.0",
"langsmith": ">=0.2.8 <0.4.0",
"langsmith": "^0.3.16",
"uuid": "^10.0.0",
"zod": "^3.22.3",
"zod-to-json-schema": "^3.22.5"
@ -18421,13 +18421,13 @@
}
},
"node_modules/@librechat/agents/node_modules/@langchain/openai": {
"version": "0.5.5",
"resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.5.5.tgz",
"integrity": "sha512-QwdZrWcx6FB+UMKQ6+a0M9ZXzeUnZCwXP7ltqCCycPzdfiwxg3TQ6WkSefdEyiPpJcVVq/9HZSxrzGmf18QGyw==",
"version": "0.5.6",
"resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.5.6.tgz",
"integrity": "sha512-zN0iyJthPNmcefIBVybZwcTBgcqu/ElJFov42ZntxEncK4heOMAE9lkq9LQ5CaPU/SgrduibrM1oL57+tLUtaA==",
"license": "MIT",
"dependencies": {
"js-tiktoken": "^1.0.12",
"openai": "^4.87.3",
"openai": "^4.93.0",
"zod": "^3.22.4",
"zod-to-json-schema": "^3.22.3"
},
@ -25513,7 +25513,6 @@
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"dependencies": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
@ -25964,14 +25963,6 @@
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/commander": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
"integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
"engines": {
"node": ">=14"
}
},
"node_modules/common-tags": {
"version": "1.8.2",
"resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
@ -26087,6 +26078,15 @@
"integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
"dev": true
},
"node_modules/console-table-printer": {
"version": "2.12.1",
"resolved": "https://registry.npmjs.org/console-table-printer/-/console-table-printer-2.12.1.tgz",
"integrity": "sha512-wKGOQRRvdnd89pCeH96e2Fn4wkbenSP6LMHfjfyNLMbGuHEFbMqQNuxXqd0oXG9caIOQ1FTvc5Uijp9/4jujnQ==",
"license": "MIT",
"dependencies": {
"simple-wcswidth": "^1.0.1"
}
},
"node_modules/constants-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
@ -29590,7 +29590,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"engines": {
"node": ">=8"
}
@ -32374,13 +32373,14 @@
}
},
"node_modules/langsmith": {
"version": "0.2.14",
"resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.2.14.tgz",
"integrity": "sha512-ClAuAgSf3m9miMYotLEaZKQyKdaWlfjhebCuYco8bc6g72dU2VwTg31Bv4YINBq7EH2i1cMwbOiJxbOXPqjGig==",
"version": "0.3.20",
"resolved": "https://registry.npmjs.org/langsmith/-/langsmith-0.3.20.tgz",
"integrity": "sha512-zwVQos6tjcksCTfdM67QKq7yyED4GmQiZw/sJ6UCMYZxlvTMMg3PeQ9tOePXAWNWoJygOnH+EwGXr7gYOOETDg==",
"license": "MIT",
"dependencies": {
"@types/uuid": "^10.0.0",
"commander": "^10.0.1",
"chalk": "^4.1.2",
"console-table-printer": "^2.12.1",
"p-queue": "^6.6.2",
"p-retry": "4",
"semver": "^7.6.3",
@ -35406,9 +35406,10 @@
}
},
"node_modules/openai": {
"version": "4.91.1",
"resolved": "https://registry.npmjs.org/openai/-/openai-4.91.1.tgz",
"integrity": "sha512-DbjrR0hIMQFbxz8+3qBsfPJnh3+I/skPgoSlT7f9eiZuhGBUissPQULNgx6gHNkLoZ3uS0uYS6eXPUdtg4nHzw==",
"version": "4.95.1",
"resolved": "https://registry.npmjs.org/openai/-/openai-4.95.1.tgz",
"integrity": "sha512-IqJy+ymeW+k/Wq+2YVN3693OQMMcODRtHEYOlz263MdUwnN/Dwdl9c2EXSxLLtGEHkSHAfvzpDMHI5MaWJKXjQ==",
"license": "Apache-2.0",
"dependencies": {
"@types/node": "^18.11.18",
"@types/node-fetch": "^2.6.4",
@ -39931,6 +39932,12 @@
"node": ">=10"
}
},
"node_modules/simple-wcswidth": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/simple-wcswidth/-/simple-wcswidth-1.0.1.tgz",
"integrity": "sha512-xMO/8eNREtaROt7tJvWJqHBDTMFN4eiQ5I4JRMuilwfnFcV5W9u7RUkueNkdw0jPqGMX36iCywelS5yilTuOxg==",
"license": "MIT"
},
"node_modules/sisteransi": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
@ -40710,7 +40717,6 @@
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"dependencies": {
"has-flag": "^4.0.0"
},