🔄 fix: Ollama Think Tag Edge Case with Tools (#7275)

This commit is contained in:
Danny Avila 2025-05-07 17:49:42 -04:00 committed by GitHub
parent 71105cd49c
commit d7390d24ec
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 34 additions and 611 deletions

View file

@ -48,7 +48,7 @@
"@langchain/google-genai": "^0.2.5",
"@langchain/google-vertexai": "^0.2.5",
"@langchain/textsplitters": "^0.1.0",
"@librechat/agents": "^2.4.30",
"@librechat/agents": "^2.4.314",
"@librechat/data-schemas": "*",
"@waylaidwanderer/fetch-event-source": "^3.0.1",
"axios": "^1.8.2",

643
package-lock.json generated
View file

@ -64,7 +64,7 @@
"@langchain/google-genai": "^0.2.5",
"@langchain/google-vertexai": "^0.2.5",
"@langchain/textsplitters": "^0.1.0",
"@librechat/agents": "^2.4.30",
"@librechat/agents": "^2.4.314",
"@librechat/data-schemas": "*",
"@waylaidwanderer/fetch-event-source": "^3.0.1",
"axios": "^1.8.2",
@ -696,12 +696,13 @@
}
},
"api/node_modules/@langchain/openai": {
"version": "0.5.4",
"resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.5.4.tgz",
"integrity": "sha512-fBIEgaAMs1OHHjSuOwtonhtFTlRyFETAS9y/4SZxlXV5lLdwEU5OAbfaBTcCR0A58rrlmgt8iPnm2IWn4Onjjw==",
"version": "0.5.10",
"resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.5.10.tgz",
"integrity": "sha512-hBQIWjcVxGS7tgVvgBBmrZ5jSaJ8nu9g6V64/Tx6KGjkW7VdGmUvqCO+koiQCOZVL7PBJkHWAvDsbghPYXiZEA==",
"license": "MIT",
"dependencies": {
"js-tiktoken": "^1.0.12",
"openai": "^4.87.3",
"openai": "^4.96.0",
"zod": "^3.22.4",
"zod-to-json-schema": "^3.22.3"
},
@ -709,7 +710,33 @@
"node": ">=18"
},
"peerDependencies": {
"@langchain/core": ">=0.3.39 <0.4.0"
"@langchain/core": ">=0.3.48 <0.4.0"
}
},
"api/node_modules/@librechat/agents": {
"version": "2.4.314",
"resolved": "https://registry.npmjs.org/@librechat/agents/-/agents-2.4.314.tgz",
"integrity": "sha512-883NrWJzFMQA/7u56zCdkJRKgBlsxcIWYgiysRDBYEgTA3yLtpzt8yn9SPXB97dY6PVmn+saNeOQ008fHsbxvw==",
"license": "MIT",
"dependencies": {
"@langchain/anthropic": "^0.3.20",
"@langchain/aws": "^0.1.9",
"@langchain/community": "^0.3.42",
"@langchain/core": "^0.3.51",
"@langchain/deepseek": "^0.0.1",
"@langchain/google-genai": "^0.2.5",
"@langchain/google-vertexai": "^0.2.5",
"@langchain/langgraph": "^0.2.67",
"@langchain/mistralai": "^0.2.0",
"@langchain/ollama": "^0.2.0",
"@langchain/openai": "^0.5.10",
"@langchain/xai": "^0.0.2",
"dotenv": "^16.4.7",
"https-proxy-agent": "^7.0.6",
"nanoid": "^3.3.7"
},
"engines": {
"node": ">=14.0.0"
}
},
"api/node_modules/@types/node": {
@ -17773,610 +17800,6 @@
"@lezer/common": "^1.0.0"
}
},
"node_modules/@librechat/agents": {
"version": "2.4.30",
"resolved": "https://registry.npmjs.org/@librechat/agents/-/agents-2.4.30.tgz",
"integrity": "sha512-1t8xvuA90x0pYlIf2A+TnAhVYtI/W5K+KutNJ4ePF8p8GoKkaYWK5JDKiJE7arZM+U7vguHDnRHgfoeoC5PkMQ==",
"license": "MIT",
"dependencies": {
"@langchain/anthropic": "^0.3.20",
"@langchain/aws": "^0.1.9",
"@langchain/community": "^0.3.42",
"@langchain/core": "^0.3.51",
"@langchain/deepseek": "^0.0.1",
"@langchain/google-genai": "^0.2.5",
"@langchain/google-vertexai": "^0.2.5",
"@langchain/langgraph": "^0.2.67",
"@langchain/mistralai": "^0.2.0",
"@langchain/ollama": "^0.2.0",
"@langchain/openai": "^0.5.10",
"@langchain/xai": "^0.0.2",
"dotenv": "^16.4.7",
"https-proxy-agent": "^7.0.6",
"nanoid": "^3.3.7"
},
"engines": {
"node": ">=14.0.0"
}
},
"node_modules/@librechat/agents/node_modules/@langchain/community": {
"version": "0.3.42",
"resolved": "https://registry.npmjs.org/@langchain/community/-/community-0.3.42.tgz",
"integrity": "sha512-dTRoAy4XPalCB4Of5N4uQ8/KSGCddv48OGek8CULtdbBSkQ9s7iWtcb8hQEajkCwMfILVVzw1pU8IzE17oNHPA==",
"license": "MIT",
"dependencies": {
"@langchain/openai": ">=0.2.0 <0.6.0",
"binary-extensions": "^2.2.0",
"expr-eval": "^2.0.2",
"flat": "^5.0.2",
"js-yaml": "^4.1.0",
"langchain": ">=0.2.3 <0.3.0 || >=0.3.4 <0.4.0",
"langsmith": "^0.3.16",
"uuid": "^10.0.0",
"zod": "^3.22.3",
"zod-to-json-schema": "^3.22.5"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
"@arcjet/redact": "^v1.0.0-alpha.23",
"@aws-crypto/sha256-js": "^5.0.0",
"@aws-sdk/client-bedrock-agent-runtime": "^3.749.0",
"@aws-sdk/client-bedrock-runtime": "^3.749.0",
"@aws-sdk/client-dynamodb": "^3.749.0",
"@aws-sdk/client-kendra": "^3.749.0",
"@aws-sdk/client-lambda": "^3.749.0",
"@aws-sdk/client-s3": "^3.749.0",
"@aws-sdk/client-sagemaker-runtime": "^3.749.0",
"@aws-sdk/client-sfn": "^3.749.0",
"@aws-sdk/credential-provider-node": "^3.388.0",
"@azure/search-documents": "^12.0.0",
"@azure/storage-blob": "^12.15.0",
"@browserbasehq/sdk": "*",
"@browserbasehq/stagehand": "^1.0.0",
"@clickhouse/client": "^0.2.5",
"@cloudflare/ai": "*",
"@datastax/astra-db-ts": "^1.0.0",
"@elastic/elasticsearch": "^8.4.0",
"@getmetal/metal-sdk": "*",
"@getzep/zep-cloud": "^1.0.6",
"@getzep/zep-js": "^0.9.0",
"@gomomento/sdk": "^1.51.1",
"@gomomento/sdk-core": "^1.51.1",
"@google-ai/generativelanguage": "*",
"@google-cloud/storage": "^6.10.1 || ^7.7.0",
"@gradientai/nodejs-sdk": "^1.2.0",
"@huggingface/inference": "^2.6.4",
"@huggingface/transformers": "^3.2.3",
"@ibm-cloud/watsonx-ai": "*",
"@lancedb/lancedb": "^0.12.0",
"@langchain/core": ">=0.2.21 <0.4.0",
"@layerup/layerup-security": "^1.5.12",
"@libsql/client": "^0.14.0",
"@mendable/firecrawl-js": "^1.4.3",
"@mlc-ai/web-llm": "*",
"@mozilla/readability": "*",
"@neondatabase/serverless": "*",
"@notionhq/client": "^2.2.10",
"@opensearch-project/opensearch": "*",
"@pinecone-database/pinecone": "*",
"@planetscale/database": "^1.8.0",
"@premai/prem-sdk": "^0.3.25",
"@qdrant/js-client-rest": "^1.8.2",
"@raycast/api": "^1.55.2",
"@rockset/client": "^0.9.1",
"@smithy/eventstream-codec": "^2.0.5",
"@smithy/protocol-http": "^3.0.6",
"@smithy/signature-v4": "^2.0.10",
"@smithy/util-utf8": "^2.0.0",
"@spider-cloud/spider-client": "^0.0.21",
"@supabase/supabase-js": "^2.45.0",
"@tensorflow-models/universal-sentence-encoder": "*",
"@tensorflow/tfjs-converter": "*",
"@tensorflow/tfjs-core": "*",
"@upstash/ratelimit": "^1.1.3 || ^2.0.3",
"@upstash/redis": "^1.20.6",
"@upstash/vector": "^1.1.1",
"@vercel/kv": "*",
"@vercel/postgres": "*",
"@writerai/writer-sdk": "^0.40.2",
"@xata.io/client": "^0.28.0",
"@zilliz/milvus2-sdk-node": ">=2.3.5",
"apify-client": "^2.7.1",
"assemblyai": "^4.6.0",
"azion": "^1.11.1",
"better-sqlite3": ">=9.4.0 <12.0.0",
"cassandra-driver": "^4.7.2",
"cborg": "^4.1.1",
"cheerio": "^1.0.0-rc.12",
"chromadb": "*",
"closevector-common": "0.1.3",
"closevector-node": "0.1.6",
"closevector-web": "0.1.6",
"cohere-ai": "*",
"convex": "^1.3.1",
"crypto-js": "^4.2.0",
"d3-dsv": "^2.0.0",
"discord.js": "^14.14.1",
"dria": "^0.0.3",
"duck-duck-scrape": "^2.2.5",
"epub2": "^3.0.1",
"fast-xml-parser": "*",
"firebase-admin": "^11.9.0 || ^12.0.0",
"google-auth-library": "*",
"googleapis": "*",
"hnswlib-node": "^3.0.0",
"html-to-text": "^9.0.5",
"ibm-cloud-sdk-core": "*",
"ignore": "^5.2.0",
"interface-datastore": "^8.2.11",
"ioredis": "^5.3.2",
"it-all": "^3.0.4",
"jsdom": "*",
"jsonwebtoken": "^9.0.2",
"llmonitor": "^0.5.9",
"lodash": "^4.17.21",
"lunary": "^0.7.10",
"mammoth": "^1.6.0",
"mariadb": "^3.4.0",
"mem0ai": "^2.1.8",
"mongodb": ">=5.2.0",
"mysql2": "^3.9.8",
"neo4j-driver": "*",
"notion-to-md": "^3.1.0",
"officeparser": "^4.0.4",
"openai": "*",
"pdf-parse": "1.1.1",
"pg": "^8.11.0",
"pg-copy-streams": "^6.0.5",
"pickleparser": "^0.2.1",
"playwright": "^1.32.1",
"portkey-ai": "^0.1.11",
"puppeteer": "*",
"pyodide": ">=0.24.1 <0.27.0",
"redis": "*",
"replicate": "*",
"sonix-speech-recognition": "^2.1.1",
"srt-parser-2": "^1.2.3",
"typeorm": "^0.3.20",
"typesense": "^1.5.3",
"usearch": "^1.1.1",
"voy-search": "0.6.2",
"weaviate-ts-client": "*",
"web-auth-library": "^1.0.3",
"word-extractor": "*",
"ws": "^8.14.2",
"youtubei.js": "*"
},
"peerDependenciesMeta": {
"@arcjet/redact": {
"optional": true
},
"@aws-crypto/sha256-js": {
"optional": true
},
"@aws-sdk/client-bedrock-agent-runtime": {
"optional": true
},
"@aws-sdk/client-bedrock-runtime": {
"optional": true
},
"@aws-sdk/client-dynamodb": {
"optional": true
},
"@aws-sdk/client-kendra": {
"optional": true
},
"@aws-sdk/client-lambda": {
"optional": true
},
"@aws-sdk/client-s3": {
"optional": true
},
"@aws-sdk/client-sagemaker-runtime": {
"optional": true
},
"@aws-sdk/client-sfn": {
"optional": true
},
"@aws-sdk/credential-provider-node": {
"optional": true
},
"@aws-sdk/dsql-signer": {
"optional": true
},
"@azure/search-documents": {
"optional": true
},
"@azure/storage-blob": {
"optional": true
},
"@browserbasehq/sdk": {
"optional": true
},
"@clickhouse/client": {
"optional": true
},
"@cloudflare/ai": {
"optional": true
},
"@datastax/astra-db-ts": {
"optional": true
},
"@elastic/elasticsearch": {
"optional": true
},
"@getmetal/metal-sdk": {
"optional": true
},
"@getzep/zep-cloud": {
"optional": true
},
"@getzep/zep-js": {
"optional": true
},
"@gomomento/sdk": {
"optional": true
},
"@gomomento/sdk-core": {
"optional": true
},
"@google-ai/generativelanguage": {
"optional": true
},
"@google-cloud/storage": {
"optional": true
},
"@gradientai/nodejs-sdk": {
"optional": true
},
"@huggingface/inference": {
"optional": true
},
"@huggingface/transformers": {
"optional": true
},
"@lancedb/lancedb": {
"optional": true
},
"@layerup/layerup-security": {
"optional": true
},
"@libsql/client": {
"optional": true
},
"@mendable/firecrawl-js": {
"optional": true
},
"@mlc-ai/web-llm": {
"optional": true
},
"@mozilla/readability": {
"optional": true
},
"@neondatabase/serverless": {
"optional": true
},
"@notionhq/client": {
"optional": true
},
"@opensearch-project/opensearch": {
"optional": true
},
"@pinecone-database/pinecone": {
"optional": true
},
"@planetscale/database": {
"optional": true
},
"@premai/prem-sdk": {
"optional": true
},
"@qdrant/js-client-rest": {
"optional": true
},
"@raycast/api": {
"optional": true
},
"@rockset/client": {
"optional": true
},
"@smithy/eventstream-codec": {
"optional": true
},
"@smithy/protocol-http": {
"optional": true
},
"@smithy/signature-v4": {
"optional": true
},
"@smithy/util-utf8": {
"optional": true
},
"@spider-cloud/spider-client": {
"optional": true
},
"@supabase/supabase-js": {
"optional": true
},
"@tensorflow-models/universal-sentence-encoder": {
"optional": true
},
"@tensorflow/tfjs-converter": {
"optional": true
},
"@tensorflow/tfjs-core": {
"optional": true
},
"@upstash/ratelimit": {
"optional": true
},
"@upstash/redis": {
"optional": true
},
"@upstash/vector": {
"optional": true
},
"@vercel/kv": {
"optional": true
},
"@vercel/postgres": {
"optional": true
},
"@writerai/writer-sdk": {
"optional": true
},
"@xata.io/client": {
"optional": true
},
"@zilliz/milvus2-sdk-node": {
"optional": true
},
"apify-client": {
"optional": true
},
"assemblyai": {
"optional": true
},
"azion": {
"optional": true
},
"better-sqlite3": {
"optional": true
},
"cassandra-driver": {
"optional": true
},
"cborg": {
"optional": true
},
"cheerio": {
"optional": true
},
"chromadb": {
"optional": true
},
"closevector-common": {
"optional": true
},
"closevector-node": {
"optional": true
},
"closevector-web": {
"optional": true
},
"cohere-ai": {
"optional": true
},
"convex": {
"optional": true
},
"crypto-js": {
"optional": true
},
"d3-dsv": {
"optional": true
},
"discord.js": {
"optional": true
},
"dria": {
"optional": true
},
"duck-duck-scrape": {
"optional": true
},
"epub2": {
"optional": true
},
"fast-xml-parser": {
"optional": true
},
"firebase-admin": {
"optional": true
},
"google-auth-library": {
"optional": true
},
"googleapis": {
"optional": true
},
"hnswlib-node": {
"optional": true
},
"html-to-text": {
"optional": true
},
"ignore": {
"optional": true
},
"interface-datastore": {
"optional": true
},
"ioredis": {
"optional": true
},
"it-all": {
"optional": true
},
"jsdom": {
"optional": true
},
"jsonwebtoken": {
"optional": true
},
"llmonitor": {
"optional": true
},
"lodash": {
"optional": true
},
"lunary": {
"optional": true
},
"mammoth": {
"optional": true
},
"mariadb": {
"optional": true
},
"mem0ai": {
"optional": true
},
"mongodb": {
"optional": true
},
"mysql2": {
"optional": true
},
"neo4j-driver": {
"optional": true
},
"notion-to-md": {
"optional": true
},
"officeparser": {
"optional": true
},
"pdf-parse": {
"optional": true
},
"pg": {
"optional": true
},
"pg-copy-streams": {
"optional": true
},
"pickleparser": {
"optional": true
},
"playwright": {
"optional": true
},
"portkey-ai": {
"optional": true
},
"puppeteer": {
"optional": true
},
"pyodide": {
"optional": true
},
"redis": {
"optional": true
},
"replicate": {
"optional": true
},
"sonix-speech-recognition": {
"optional": true
},
"srt-parser-2": {
"optional": true
},
"typeorm": {
"optional": true
},
"typesense": {
"optional": true
},
"usearch": {
"optional": true
},
"voy-search": {
"optional": true
},
"weaviate-ts-client": {
"optional": true
},
"web-auth-library": {
"optional": true
},
"word-extractor": {
"optional": true
},
"ws": {
"optional": true
},
"youtubei.js": {
"optional": true
}
}
},
"node_modules/@librechat/agents/node_modules/@langchain/openai": {
"version": "0.5.10",
"resolved": "https://registry.npmjs.org/@langchain/openai/-/openai-0.5.10.tgz",
"integrity": "sha512-hBQIWjcVxGS7tgVvgBBmrZ5jSaJ8nu9g6V64/Tx6KGjkW7VdGmUvqCO+koiQCOZVL7PBJkHWAvDsbghPYXiZEA==",
"license": "MIT",
"dependencies": {
"js-tiktoken": "^1.0.12",
"openai": "^4.96.0",
"zod": "^3.22.4",
"zod-to-json-schema": "^3.22.3"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
"@langchain/core": ">=0.3.48 <0.4.0"
}
},
"node_modules/@librechat/agents/node_modules/agent-base": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz",
"integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==",
"license": "MIT",
"engines": {
"node": ">= 14"
}
},
"node_modules/@librechat/agents/node_modules/https-proxy-agent": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
"integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
"license": "MIT",
"dependencies": {
"agent-base": "^7.1.2",
"debug": "4"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/@librechat/agents/node_modules/uuid": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz",
"integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==",
"funding": [
"https://github.com/sponsors/broofa",
"https://github.com/sponsors/ctavan"
],
"license": "MIT",
"bin": {
"uuid": "dist/bin/uuid"
}
},
"node_modules/@librechat/backend": {
"resolved": "api",
"link": true