diff --git a/package.json b/package.json index 2f08bb935..018004f5f 100644 --- a/package.json +++ b/package.json @@ -1422,7 +1422,7 @@ "dotenv": "^16.4.5", "lodash": "^4.17.21", "micromatch": "^4.0.8", - "mongodb": "^6.20.0", + "mongodb": "^6.21.0", "mongodb-build-info": "^1.7.2", "mongodb-cloud-info": "^2.2.2", "mongodb-connection-string-url": "^3.0.2", @@ -1437,7 +1437,7 @@ "react": "^18.3.1", "react-dom": "^18.3.1", "ts-log": "^2.2.7", - "uuid": "^8.3.2", + "uuid": "^13.0.0", "vscode-languageclient": "^9.0.1", "vscode-languageserver": "^9.0.1", "vscode-languageserver-textdocument": "^1.0.12" @@ -1445,7 +1445,7 @@ "devDependencies": { "@babel/preset-typescript": "^7.25.7", "@babel/types": "^7.25.8", - "@modelcontextprotocol/sdk": "^1.24.0", + "@modelcontextprotocol/sdk": "^1.24.3", "@mongodb-js/eslint-config-devtools": "^0.9.12", "@mongodb-js/oidc-mock-provider": "^0.11.5", "@mongodb-js/oidc-plugin": "^2.0.5", @@ -1484,7 +1484,7 @@ "eslint": "^8.57.1", "eslint-plugin-mocha": "^10.5.0", "fork-ts-checker-webpack-plugin": "^9.0.2", - "glob": "^7.2.3", + "glob": "^13.0.0", "husky": "^9.1.6", "jsdom": "^23.2.0", "mkdirp": "^1.0.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 02be5b59e..053517bf3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -67,7 +67,7 @@ importers: specifier: ^4.0.8 version: 4.0.8 mongodb: - specifier: ^6.20.0 + specifier: ^6.21.0 version: 6.21.0(kerberos@2.1.0)(mongodb-client-encryption@6.5.0)(socks@2.8.7) mongodb-build-info: specifier: ^1.7.2 @@ -112,8 +112,8 @@ importers: specifier: ^2.2.7 version: 2.2.7 uuid: - specifier: ^8.3.2 - version: 8.3.2 + specifier: ^13.0.0 + version: 13.0.0 vscode-languageclient: specifier: ^9.0.1 version: 9.0.1 @@ -131,7 +131,7 @@ importers: specifier: ^7.25.8 version: 7.28.5 '@modelcontextprotocol/sdk': - specifier: ^1.24.0 + specifier: ^1.24.3 version: 1.24.3(@cfworker/json-schema@4.1.1)(zod@3.25.76) '@mongodb-js/eslint-config-devtools': specifier: ^0.9.12 @@ -248,8 +248,8 @@ importers: specifier: ^9.0.2 version: 9.1.0(typescript@5.9.3)(webpack@5.103.0) glob: - specifier: ^7.2.3 - version: 7.2.3 + specifier: ^13.0.0 + version: 13.0.0 husky: specifier: ^9.1.6 version: 9.1.7 @@ -273,7 +273,7 @@ importers: version: 6.5.0 mongodb-rag-core: specifier: ^0.7.1 - version: 0.7.1(@browserbasehq/sdk@2.6.0)(@browserbasehq/stagehand@1.14.0(@playwright/test@1.56.1)(deepmerge@4.3.1)(dotenv@16.6.1)(openai@4.104.0(ws@8.18.3)(zod@3.25.76))(zod@3.25.76))(@ibm-cloud/watsonx-ai@1.7.4)(@opentelemetry/api@1.9.0)(axios@1.13.2(debug@4.4.3))(cheerio@1.1.2)(fast-xml-parser@4.5.3)(ibm-cloud-sdk-core@5.4.4)(jsdom@23.2.0(canvas@2.11.2))(jsonwebtoken@9.0.2)(kerberos@2.1.0)(lodash@4.17.21)(mongodb-client-encryption@6.5.0)(openapi-types@12.1.3)(playwright@1.56.1)(socks@2.8.7)(weaviate-client@3.9.0)(ws@8.18.3) + version: 0.7.1(@browserbasehq/sdk@2.6.0)(@browserbasehq/stagehand@1.14.0(@playwright/test@1.56.1)(deepmerge@4.3.1)(dotenv@16.6.1)(openai@4.104.0(ws@8.18.3)(zod@3.25.76))(zod@3.25.76))(@ibm-cloud/watsonx-ai@1.7.4)(@opentelemetry/api@1.9.0)(axios@1.13.2(debug@4.4.3))(cheerio@1.1.2)(fast-xml-parser@4.5.3)(ibm-cloud-sdk-core@5.4.4)(jsdom@23.2.0(canvas@2.11.2))(jsonwebtoken@9.0.3)(kerberos@2.1.0)(lodash@4.17.21)(mongodb-client-encryption@6.5.0)(openapi-types@12.1.3)(playwright@1.56.1)(socks@2.8.7)(weaviate-client@3.9.0)(ws@8.18.3) mongodb-runner: specifier: ^5.10.0 version: 5.11.1(kerberos@2.1.0)(mongodb-client-encryption@6.5.0)(socks@2.8.7) @@ -3709,8 +3709,8 @@ packages: bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - body-parser@1.20.3: - resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==} + body-parser@1.20.4: + resolution: {integrity: sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} body-parser@2.2.1: @@ -4067,17 +4067,13 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + cookie-signature@1.0.7: + resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} cookie-signature@1.2.2: resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} engines: {node: '>=6.6.0'} - cookie@0.7.1: - resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} - engines: {node: '>= 0.6'} - cookie@0.7.2: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} @@ -4765,14 +4761,18 @@ packages: peerDependencies: express: '>= 4.11' - express@4.21.2: - resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} + express@4.22.1: + resolution: {integrity: sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==} engines: {node: '>= 0.10.0'} express@5.1.0: resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} engines: {node: '>= 18'} + express@5.2.1: + resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==} + engines: {node: '>= 18'} + extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} engines: {node: '>=0.10.0'} @@ -4856,14 +4856,18 @@ packages: resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} engines: {node: '>=0.10.0'} - finalhandler@1.3.1: - resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==} + finalhandler@1.3.2: + resolution: {integrity: sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==} engines: {node: '>= 0.8'} finalhandler@2.1.0: resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} engines: {node: '>= 0.8'} + finalhandler@2.1.1: + resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==} + engines: {node: '>= 18.0.0'} + find-root@1.1.0: resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} @@ -5652,6 +5656,9 @@ packages: jose@6.1.2: resolution: {integrity: sha512-MpcPtHLE5EmztuFIqB0vzHAWJPpmN1E6L4oo+kze56LIs3MyXIj9ZHMDxqOvkP38gBR7K1v3jqd4WU2+nrfONQ==} + jose@6.1.3: + resolution: {integrity: sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==} + js-tiktoken@1.0.21: resolution: {integrity: sha512-biOj/6M5qdgx5TKjDnFT1ymSpM5tbd3ylwDtrQvFQSu0Z7bBYko2dF+W/aUkXUPuk6IVpRxk/3Q2sHOzGlS36g==} @@ -5732,8 +5739,8 @@ packages: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} - jsonwebtoken@9.0.2: - resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} + jsonwebtoken@9.0.3: + resolution: {integrity: sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==} engines: {node: '>=12', npm: '>=6'} jsx-ast-utils@3.3.5: @@ -5755,6 +5762,9 @@ packages: jws@3.2.3: resolution: {integrity: sha512-byiJ0FLRdLdSVSReO/U4E7RoEyOCKnEnEPMjq3HxWtvzLsV08/i5RQKsFVNkCldrCaPr2vDNAOMsfs8T/Hze7g==} + jws@4.0.0: + resolution: {integrity: sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==} + jws@4.0.1: resolution: {integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==} @@ -5976,8 +5986,8 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.2.2: - resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==} + lru-cache@11.2.4: + resolution: {integrity: sha512-B5Y16Jr9LB9dHVkh6ZevG+vAbOsNOYCX+sXvFWFu7B3Iz5mijW3zdbMyhsh8ANd2mSWBYdJgnqi+mL7/LrOPYg==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -6967,10 +6977,6 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - qs@6.13.0: - resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} - engines: {node: '>=0.6'} - qs@6.14.0: resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} @@ -7006,8 +7012,8 @@ packages: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + raw-body@2.5.3: + resolution: {integrity: sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==} engines: {node: '>= 0.8'} raw-body@3.0.2: @@ -7419,6 +7425,10 @@ packages: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} engines: {node: '>= 0.8.0'} + send@0.19.1: + resolution: {integrity: sha512-p4rRk4f23ynFEfcD9LA0xRYngj+IyGiEYyqqOak8kaN0TvNmuxC2dcVeBn62GpCeR2CpWqyHCNScTP91QbAVFg==} + engines: {node: '>= 0.8.0'} + send@1.2.0: resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} engines: {node: '>= 18'} @@ -8233,6 +8243,10 @@ packages: resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} hasBin: true + uuid@13.0.0: + resolution: {integrity: sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==} + hasBin: true + uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -8798,7 +8812,7 @@ snapshots: '@azure/msal-node@3.8.3': dependencies: '@azure/msal-common': 15.13.2 - jsonwebtoken: 9.0.2 + jsonwebtoken: 9.0.3 uuid: 8.3.2 '@babel/code-frame@7.27.1': @@ -10034,7 +10048,7 @@ snapshots: transitivePeerDependencies: - zod - '@langchain/community@0.3.58(@browserbasehq/sdk@2.6.0)(@browserbasehq/stagehand@1.14.0(@playwright/test@1.56.1)(deepmerge@4.3.1)(dotenv@16.6.1)(openai@4.104.0(ws@8.18.3)(zod@3.25.76))(zod@3.25.76))(@ibm-cloud/watsonx-ai@1.7.4)(@langchain/anthropic@0.3.33(@langchain/core@0.3.79(@opentelemetry/api@1.9.0)(openai@5.23.2(ws@8.18.3)(zod@3.25.76)))(zod@3.25.76))(@langchain/core@0.3.79(@opentelemetry/api@1.9.0)(openai@5.23.2(ws@8.18.3)(zod@3.25.76)))(@opentelemetry/api@1.9.0)(axios@1.13.2(debug@4.4.3))(cheerio@1.1.2)(fast-xml-parser@4.5.3)(google-auth-library@9.15.1)(ibm-cloud-sdk-core@5.4.4)(ignore@5.3.2)(jsdom@23.2.0(canvas@2.11.2))(jsonwebtoken@9.0.2)(lodash@4.17.21)(mongodb@6.21.0(kerberos@2.1.0)(mongodb-client-encryption@6.5.0)(socks@2.8.7))(openai@5.23.2(ws@8.18.3)(zod@3.25.76))(playwright@1.56.1)(weaviate-client@3.9.0)(ws@8.18.3)': + '@langchain/community@0.3.58(@browserbasehq/sdk@2.6.0)(@browserbasehq/stagehand@1.14.0(@playwright/test@1.56.1)(deepmerge@4.3.1)(dotenv@16.6.1)(openai@4.104.0(ws@8.18.3)(zod@3.25.76))(zod@3.25.76))(@ibm-cloud/watsonx-ai@1.7.4)(@langchain/anthropic@0.3.33(@langchain/core@0.3.79(@opentelemetry/api@1.9.0)(openai@5.23.2(ws@8.18.3)(zod@3.25.76)))(zod@3.25.76))(@langchain/core@0.3.79(@opentelemetry/api@1.9.0)(openai@5.23.2(ws@8.18.3)(zod@3.25.76)))(@opentelemetry/api@1.9.0)(axios@1.13.2(debug@4.4.3))(cheerio@1.1.2)(fast-xml-parser@4.5.3)(google-auth-library@9.15.1)(ibm-cloud-sdk-core@5.4.4)(ignore@5.3.2)(jsdom@23.2.0(canvas@2.11.2))(jsonwebtoken@9.0.3)(lodash@4.17.21)(mongodb@6.21.0(kerberos@2.1.0)(mongodb-client-encryption@6.5.0)(socks@2.8.7))(openai@5.23.2(ws@8.18.3)(zod@3.25.76))(playwright@1.56.1)(weaviate-client@3.9.0)(ws@8.18.3)': dependencies: '@browserbasehq/stagehand': 1.14.0(@playwright/test@1.56.1)(deepmerge@4.3.1)(dotenv@16.6.1)(openai@4.104.0(ws@8.18.3)(zod@3.25.76))(zod@3.25.76) '@ibm-cloud/watsonx-ai': 1.7.4 @@ -10058,7 +10072,7 @@ snapshots: google-auth-library: 9.15.1 ignore: 5.3.2 jsdom: 23.2.0(canvas@2.11.2) - jsonwebtoken: 9.0.2 + jsonwebtoken: 9.0.3 lodash: 4.17.21 mongodb: 6.21.0(kerberos@2.1.0)(mongodb-client-encryption@6.5.0)(socks@2.8.7) playwright: 1.56.1 @@ -11278,9 +11292,9 @@ snapshots: cross-spawn: 7.0.6 eventsource: 3.0.7 eventsource-parser: 3.0.6 - express: 5.1.0 - express-rate-limit: 7.5.1(express@5.1.0) - jose: 6.1.2 + express: 5.2.1 + express-rate-limit: 7.5.1(express@5.2.1) + jose: 6.1.3 pkce-challenge: 5.0.1 raw-body: 3.0.2 zod: 3.25.76 @@ -11574,7 +11588,7 @@ snapshots: debug: 4.4.3(supports-color@8.1.1) http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 - lru-cache: 11.2.2 + lru-cache: 11.2.4 node-fetch: 3.3.2 pac-proxy-agent: 7.2.0 socks-proxy-agent: 8.0.5 @@ -13295,18 +13309,18 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 - body-parser@1.20.3: + body-parser@1.20.4: dependencies: bytes: 3.1.2 content-type: 1.0.5 debug: 2.6.9 depd: 2.0.0 destroy: 1.2.0 - http-errors: 2.0.0 + http-errors: 2.0.1 iconv-lite: 0.4.24 on-finished: 2.4.1 - qs: 6.13.0 - raw-body: 2.5.2 + qs: 6.14.0 + raw-body: 2.5.3 type-is: 1.6.18 unpipe: 1.0.0 transitivePeerDependencies: @@ -13358,7 +13372,7 @@ snapshots: dotenv: 16.6.1 esbuild: 0.25.12 eventsource-parser: 1.1.2 - express: 4.21.2 + express: 4.22.1 graceful-fs: 4.2.11 http-errors: 2.0.1 minimatch: 9.0.5 @@ -13704,12 +13718,10 @@ snapshots: convert-source-map@2.0.0: {} - cookie-signature@1.0.6: {} + cookie-signature@1.0.7: {} cookie-signature@1.2.2: {} - cookie@0.7.1: {} - cookie@0.7.2: {} core-js-compat@3.47.0: @@ -14547,40 +14559,40 @@ snapshots: exponential-backoff@3.1.3: {} - express-rate-limit@7.5.1(express@5.1.0): + express-rate-limit@7.5.1(express@5.2.1): dependencies: - express: 5.1.0 + express: 5.2.1 - express@4.21.2: + express@4.22.1: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 - body-parser: 1.20.3 + body-parser: 1.20.4 content-disposition: 0.5.4 content-type: 1.0.5 - cookie: 0.7.1 - cookie-signature: 1.0.6 + cookie: 0.7.2 + cookie-signature: 1.0.7 debug: 2.6.9 depd: 2.0.0 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - finalhandler: 1.3.1 + finalhandler: 1.3.2 fresh: 0.5.2 - http-errors: 2.0.0 + http-errors: 2.0.1 merge-descriptors: 1.0.3 methods: 1.1.2 on-finished: 2.4.1 parseurl: 1.3.3 path-to-regexp: 0.1.12 proxy-addr: 2.0.7 - qs: 6.13.0 + qs: 6.14.0 range-parser: 1.2.1 safe-buffer: 5.2.1 - send: 0.19.0 + send: 0.19.1 serve-static: 1.16.2 setprototypeof: 1.2.0 - statuses: 2.0.1 + statuses: 2.0.2 type-is: 1.6.18 utils-merge: 1.0.1 vary: 1.1.2 @@ -14619,6 +14631,39 @@ snapshots: transitivePeerDependencies: - supports-color + express@5.2.1: + dependencies: + accepts: 2.0.0 + body-parser: 2.2.1 + content-disposition: 1.0.1 + content-type: 1.0.5 + cookie: 0.7.2 + cookie-signature: 1.2.2 + debug: 4.4.3(supports-color@8.1.1) + depd: 2.0.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 2.1.1 + fresh: 2.0.0 + http-errors: 2.0.1 + merge-descriptors: 2.0.0 + mime-types: 3.0.2 + on-finished: 2.4.1 + once: 1.4.0 + parseurl: 1.3.3 + proxy-addr: 2.0.7 + qs: 6.14.0 + range-parser: 1.2.1 + router: 2.2.0 + send: 1.2.0 + serve-static: 2.2.0 + statuses: 2.0.2 + type-is: 2.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 @@ -14699,14 +14744,14 @@ snapshots: filter-obj@1.1.0: {} - finalhandler@1.3.1: + finalhandler@1.3.2: dependencies: debug: 2.6.9 encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 parseurl: 1.3.3 - statuses: 2.0.1 + statuses: 2.0.2 unpipe: 1.0.0 transitivePeerDependencies: - supports-color @@ -14722,6 +14767,17 @@ snapshots: transitivePeerDependencies: - supports-color + finalhandler@2.1.1: + dependencies: + debug: 4.4.3(supports-color@8.1.1) + encodeurl: 2.0.0 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.2 + transitivePeerDependencies: + - supports-color + find-root@1.1.0: {} find-up@4.1.0: @@ -15063,7 +15119,7 @@ snapshots: gaxios: 6.7.1 gcp-metadata: 6.1.1 gtoken: 7.1.0 - jws: 4.0.1 + jws: 4.0.0 transitivePeerDependencies: - encoding - supports-color @@ -15294,7 +15350,7 @@ snapshots: file-type: 16.5.4 form-data: 4.0.5 isstream: 0.1.2 - jsonwebtoken: 9.0.2 + jsonwebtoken: 9.0.3 mime-types: 2.1.35 retry-axios: 2.6.0(axios@1.13.2(debug@4.4.3)) tough-cookie: 4.1.4 @@ -15601,6 +15657,8 @@ snapshots: jose@6.1.2: {} + jose@6.1.3: {} + js-tiktoken@1.0.21: dependencies: base64-js: 1.5.1 @@ -15691,7 +15749,7 @@ snapshots: jsonpointer@5.0.1: {} - jsonwebtoken@9.0.2: + jsonwebtoken@9.0.3: dependencies: jws: 3.2.3 lodash.includes: 4.3.0 @@ -15737,6 +15795,11 @@ snapshots: jwa: 1.4.2 safe-buffer: 5.2.1 + jws@4.0.0: + dependencies: + jwa: 2.0.1 + safe-buffer: 5.2.1 + jws@4.0.1: dependencies: jwa: 2.0.1 @@ -15932,7 +15995,7 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.2.2: {} + lru-cache@11.2.4: {} lru-cache@5.1.1: dependencies: @@ -16410,8 +16473,8 @@ snapshots: '@mongosh/service-provider-node-driver': 3.17.5(mongodb-log-writer@2.4.4(bson@6.10.4)) ai: 5.0.101(zod@3.25.76) bson: 6.10.4 - express: 5.1.0 - lru-cache: 11.2.2 + express: 5.2.1 + lru-cache: 11.2.4 mongodb-connection-string-url: 3.0.2 mongodb-log-writer: 2.4.4(bson@6.10.4) mongodb-redact: 1.3.0 @@ -16459,7 +16522,7 @@ snapshots: '@ai-sdk/openai': 2.0.0-beta.13(zod@3.25.76) '@apidevtools/swagger-parser': 10.1.1(openapi-types@12.1.3) '@langchain/anthropic': 0.3.33(@langchain/core@0.3.79(@opentelemetry/api@1.9.0)(openai@5.23.2(ws@8.18.3)(zod@3.25.76)))(zod@3.25.76) - '@langchain/community': 0.3.58(@browserbasehq/sdk@2.6.0)(@browserbasehq/stagehand@1.14.0(@playwright/test@1.56.1)(deepmerge@4.3.1)(dotenv@16.6.1)(openai@4.104.0(ws@8.18.3)(zod@3.25.76))(zod@3.25.76))(@ibm-cloud/watsonx-ai@1.7.4)(@langchain/anthropic@0.3.33(@langchain/core@0.3.79(@opentelemetry/api@1.9.0)(openai@5.23.2(ws@8.18.3)(zod@3.25.76)))(zod@3.25.76))(@langchain/core@0.3.79(@opentelemetry/api@1.9.0)(openai@5.23.2(ws@8.18.3)(zod@3.25.76)))(@opentelemetry/api@1.9.0)(axios@1.13.2(debug@4.4.3))(cheerio@1.1.2)(fast-xml-parser@4.5.3)(google-auth-library@9.15.1)(ibm-cloud-sdk-core@5.4.4)(ignore@5.3.2)(jsdom@23.2.0(canvas@2.11.2))(jsonwebtoken@9.0.2)(lodash@4.17.21)(mongodb@6.21.0(kerberos@2.1.0)(mongodb-client-encryption@6.5.0)(socks@2.8.7))(openai@5.23.2(ws@8.18.3)(zod@3.25.76))(playwright@1.56.1)(weaviate-client@3.9.0)(ws@8.18.3) + '@langchain/community': 0.3.58(@browserbasehq/sdk@2.6.0)(@browserbasehq/stagehand@1.14.0(@playwright/test@1.56.1)(deepmerge@4.3.1)(dotenv@16.6.1)(openai@4.104.0(ws@8.18.3)(zod@3.25.76))(zod@3.25.76))(@ibm-cloud/watsonx-ai@1.7.4)(@langchain/anthropic@0.3.33(@langchain/core@0.3.79(@opentelemetry/api@1.9.0)(openai@5.23.2(ws@8.18.3)(zod@3.25.76)))(zod@3.25.76))(@langchain/core@0.3.79(@opentelemetry/api@1.9.0)(openai@5.23.2(ws@8.18.3)(zod@3.25.76)))(@opentelemetry/api@1.9.0)(axios@1.13.2(debug@4.4.3))(cheerio@1.1.2)(fast-xml-parser@4.5.3)(google-auth-library@9.15.1)(ibm-cloud-sdk-core@5.4.4)(ignore@5.3.2)(jsdom@23.2.0(canvas@2.11.2))(jsonwebtoken@9.0.3)(lodash@4.17.21)(mongodb@6.21.0(kerberos@2.1.0)(mongodb-client-encryption@6.5.0)(socks@2.8.7))(openai@5.23.2(ws@8.18.3)(zod@3.25.76))(playwright@1.56.1)(weaviate-client@3.9.0)(ws@8.18.3) '@langchain/core': 0.3.79(@opentelemetry/api@1.9.0)(openai@4.104.0(ws@8.18.3)(zod@3.25.76)) '@langchain/openai': 0.3.17(@langchain/core@0.3.79(@opentelemetry/api@1.9.0)(openai@5.23.2(ws@8.18.3)(zod@3.25.76)))(ws@8.18.3) '@opendocsg/pdf2md': 0.2.2 @@ -17190,7 +17253,7 @@ snapshots: path-scurry@2.0.1: dependencies: - lru-cache: 11.2.2 + lru-cache: 11.2.4 minipass: 7.1.2 path-to-regexp@0.1.12: {} @@ -17365,10 +17428,6 @@ snapshots: punycode@2.3.1: {} - qs@6.13.0: - dependencies: - side-channel: 1.1.0 - qs@6.14.0: dependencies: side-channel: 1.1.0 @@ -17398,10 +17457,10 @@ snapshots: range-parser@1.2.1: {} - raw-body@2.5.2: + raw-body@2.5.3: dependencies: bytes: 3.1.2 - http-errors: 2.0.0 + http-errors: 2.0.1 iconv-lite: 0.4.24 unpipe: 1.0.0 @@ -17918,6 +17977,24 @@ snapshots: transitivePeerDependencies: - supports-color + send@0.19.1: + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 2.0.0 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + send@1.2.0: dependencies: debug: 4.4.3(supports-color@8.1.1) @@ -18835,6 +18912,8 @@ snapshots: uuid@10.0.0: {} + uuid@13.0.0: {} + uuid@8.3.2: {} uuid@9.0.1: {} diff --git a/scripts/snyk-test.js b/scripts/snyk-test.js index bdb320a70..7156859d5 100644 --- a/scripts/snyk-test.js +++ b/scripts/snyk-test.js @@ -5,6 +5,11 @@ const os = require('os'); const { promisify } = require('util'); const execFile = promisify(childProcess.execFile); +// On Windows, commands like pnpm/npx need the .cmd extension +const isWindows = process.platform === 'win32'; +const pnpmCmd = isWindows ? 'pnpm.cmd' : 'pnpm'; +const npxCmd = isWindows ? 'npx.cmd' : 'npx'; + async function snykTest(cwd) { const tmpPath = path.join(os.tmpdir(), 'tempfile-' + Date.now()); @@ -14,7 +19,7 @@ async function snykTest(cwd) { try { await execFile( - 'pnpm', + pnpmCmd, [ 'exec', 'snyk', @@ -23,7 +28,7 @@ async function snykTest(cwd) { '--dev', `--json-file-output=${tmpPath}`, ], - { cwd, stdio: 'inherit' }, + { cwd, stdio: 'inherit', shell: isWindows }, ); } catch (err) { console.warn(err); @@ -60,7 +65,7 @@ async function main() { ); await execFile( - 'npx', + npxCmd, [ 'snyk-to-html', '-i', @@ -68,7 +73,7 @@ async function main() { '-o', path.join(rootPath, `.sbom/snyk-test-result.html`), ], - { cwd: rootPath }, + { cwd: rootPath, shell: isWindows }, ); } diff --git a/src/test/suite/editors/editorsController.test.ts b/src/test/suite/editors/editorsController.test.ts index c7d5f2ed3..8489f6f2a 100644 --- a/src/test/suite/editors/editorsController.test.ts +++ b/src/test/suite/editors/editorsController.test.ts @@ -106,9 +106,14 @@ suite('Editors Controller Test Suite', function () { test('saveMongoDBDocument returns false if there is no active editor', async function () { sandbox.replaceGetter(vscode.window, 'activeTextEditor', () => undefined); - const result = await vscode.commands.executeCommand( - 'mdb.saveMongoDBDocument', - ); + // Stub the built-in save command to prevent it from blocking in tests + const executeCommandStub = sandbox.stub(vscode.commands, 'executeCommand'); + executeCommandStub + .withArgs('workbench.action.files.save') + .resolves(undefined); + executeCommandStub.callThrough(); + + const result = await executeCommandStub('mdb.saveMongoDBDocument'); expect(result).to.be.equal(false); expect(showErrorMessageStub.notCalled).to.be.equal(true); diff --git a/src/test/suite/index.ts b/src/test/suite/index.ts index 13de8b55e..9765ab829 100644 --- a/src/test/suite/index.ts +++ b/src/test/suite/index.ts @@ -1,7 +1,7 @@ import sourceMapSupport from 'source-map-support'; sourceMapSupport.install(); import Mocha from 'mocha'; -import glob from 'glob'; +import { glob } from 'glob'; import path from 'path'; import MDBExtensionController from '../../mdbExtensionController'; import { ExtensionContextStub } from './stubs'; @@ -37,45 +37,38 @@ export async function run(): Promise { await mdbTestExtension.testExtensionController.activate(); - return new Promise((c, e) => { - void glob( - '**/**.test.js', - { - cwd: testsRoot, - ignore: ['**/webview-app/**/*.js'], - }, - (err, files) => { - if (err) { - return e(err); - } + const files = await glob('**/**.test.js', { + cwd: testsRoot, + ignore: ['**/webview-app/**/*.js'], + }); - // Add files to the test suite. - files.forEach((f) => mocha.addFile(path.resolve(testsRoot, f))); - try { - // Run the mocha test. - mocha.run((failures) => { - // Deactivate the extension to properly clean up the language server - void mdbTestExtension.testExtensionController - .deactivate() - .then(() => { - if (failures > 0) { - e(new Error(`${failures} tests failed.`)); - } else { - c(); - } - }) - .catch((deactivateErr) => { - console.error('Error deactivating extension:'); - console.error(deactivateErr); - e(deactivateErr); - }); + // Add files to the test suite. + files.forEach((f) => mocha.addFile(path.resolve(testsRoot, f))); + + return new Promise((c, e) => { + try { + // Run the mocha test. + mocha.run((failures) => { + // Deactivate the extension to properly clean up the language server + void mdbTestExtension.testExtensionController + .deactivate() + .then(() => { + if (failures > 0) { + e(new Error(`${failures} tests failed.`)); + } else { + c(); + } + }) + .catch((deactivateErr) => { + console.error('Error deactivating extension:'); + console.error(deactivateErr); + e(deactivateErr); }); - } catch (mochaRunErr) { - console.error('Error running mocha tests:'); - console.error(mochaRunErr); - e(mochaRunErr); - } - }, - ); + }); + } catch (mochaRunErr) { + console.error('Error running mocha tests:'); + console.error(mochaRunErr); + e(mochaRunErr); + } }); } diff --git a/src/test/suite/participant/participant.test.ts b/src/test/suite/participant/participant.test.ts index 13f478884..59cf99dd4 100644 --- a/src/test/suite/participant/participant.test.ts +++ b/src/test/suite/participant/participant.test.ts @@ -1595,11 +1595,26 @@ Schema: suite('includes the history of previous requests', function () { let addMessageStub: sinon.SinonStub; + let createConversationStub: sinon.SinonStub; beforeEach(function () { + createConversationStub = sinon.stub( + testParticipantController._docsChatbotAIService, + 'createConversation', + ); + createConversationStub.resolves({ + _id: 'test-conversation-id', + messages: [], + }); addMessageStub = sinon.stub( testParticipantController._docsChatbotAIService, 'addMessage', ); + addMessageStub.resolves({ + id: 'test-message-id', + role: 'assistant', + content: 'test response', + references: [], + }); }); test('since the beginning', async function () {