diff --git a/index.ts b/index.ts index 8a0b6c6d..a8a34ab6 100644 --- a/index.ts +++ b/index.ts @@ -9,4 +9,7 @@ import { WebSocketConnector } from './src/connectors/websocket.js' import { Logger, logger } from './src/logging.js' import { MCPSession } from './src/session.js' +export { BaseAdapter, LangChainAdapter } from './src/adapters/index.js' +export { ServerManager } from './src/managers/server_manager.js' + export { BaseConnector, HttpConnector, loadConfigFile, Logger, logger, MCPAgent, MCPClient, MCPSession, StdioConnector, WebSocketConnector } diff --git a/package.json b/package.json index a517904a..e0eb3a7e 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "mcp-use", "type": "module", "version": "0.0.6", + "packageManager": "pnpm@10.6.1", "description": "A utility library for integrating Model Context Protocol (MCP) with LangChain, Zod, and related tools. Provides helpers for schema conversion, event streaming, and SDK usage.", "author": "Zane", "license": "MIT", @@ -44,7 +45,7 @@ "registry": "https://registry.npmjs.org" }, "scripts": { - "build": "rm -rf dist && tsc && shx chmod +x dist/*.js", + "build": "rm -rf dist && tsc", "watch": "tsc --watch", "start": "node dist/index.js", "prepublishOnly": "pnpm run build", @@ -56,21 +57,24 @@ }, "dependencies": { "@dmitryrechkin/json-schema-to-zod": "^1.0.1", - "@langchain/community": "0.3.42", - "@langchain/core": "0.3.54", - "@modelcontextprotocol/sdk": "1.11.0", + "@langchain/community": "0.3.45", + "@langchain/core": "0.3.57", + "@modelcontextprotocol/sdk": "1.12.1", "eventsource": "^3.0.6", - "langchain": "^0.3.24", + "fastembed": "^1.14.4", + "langchain": "^0.3.27", + "lodash-es": "^4.17.21", "uuid": "^11.1.0", "winston": "^3.17.0", "ws": "^8.18.2", - "zod": "^3.24.4", + "zod": "^3.25.48", "zod-to-json-schema": "^3.24.5" }, "devDependencies": { - "@antfu/eslint-config": "^4.13.0", + "@antfu/eslint-config": "^4.13.2", + "@types/lodash-es": "^4.17.12", "@types/ws": "^8.18.1", - "eslint": "^9.26.0", + "eslint": "^9.28.0", "eslint-plugin-format": "^1.0.1", "shx": "^0.4.0", "typescript": "^5.8.3" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 042a8fc0..20bc4e38 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,20 +12,26 @@ importers: specifier: ^1.0.1 version: 1.0.1 '@langchain/community': - specifier: 0.3.42 - version: 0.3.42(@browserbasehq/sdk@2.5.0)(@browserbasehq/stagehand@1.14.0(@playwright/test@1.52.0)(deepmerge@4.3.1)(dotenv@16.5.0)(openai@4.97.0(ws@8.18.2)(zod@3.24.4))(zod@3.24.4))(@ibm-cloud/watsonx-ai@1.6.4(@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4))))(@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4)))(axios@1.9.0)(ibm-cloud-sdk-core@5.3.2)(ignore@5.3.2)(jsonwebtoken@9.0.2)(lodash@4.17.21)(openai@4.97.0(ws@8.18.2)(zod@3.24.4))(playwright@1.52.0)(ws@8.18.2) + specifier: 0.3.45 + version: 0.3.45(@browserbasehq/sdk@2.6.0)(@browserbasehq/stagehand@1.14.0(@playwright/test@1.52.0)(deepmerge@4.3.1)(dotenv@16.5.0)(openai@4.104.0(ws@8.18.2)(zod@3.25.48))(zod@3.25.48))(@ibm-cloud/watsonx-ai@1.6.7)(@langchain/core@0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)))(axios@1.9.0)(ibm-cloud-sdk-core@5.4.0)(ignore@5.3.2)(jsonwebtoken@9.0.2)(lodash@4.17.21)(openai@4.104.0(ws@8.18.2)(zod@3.25.48))(playwright@1.52.0)(weaviate-client@3.5.5)(ws@8.18.2) '@langchain/core': - specifier: 0.3.54 - version: 0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4)) + specifier: 0.3.57 + version: 0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)) '@modelcontextprotocol/sdk': - specifier: 1.11.0 - version: 1.11.0 + specifier: 1.12.1 + version: 1.12.1 eventsource: specifier: ^3.0.6 - version: 3.0.6 + version: 3.0.7 + fastembed: + specifier: ^1.14.4 + version: 1.14.4 langchain: - specifier: ^0.3.24 - version: 0.3.24(@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4)))(axios@1.9.0)(openai@4.97.0(ws@8.18.2)(zod@3.24.4))(ws@8.18.2) + specifier: ^0.3.27 + version: 0.3.27(@langchain/core@0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)))(axios@1.9.0)(openai@4.104.0(ws@8.18.2)(zod@3.25.48))(ws@8.18.2) + lodash-es: + specifier: ^4.17.21 + version: 4.17.21 uuid: specifier: ^11.1.0 version: 11.1.0 @@ -36,24 +42,27 @@ importers: specifier: ^8.18.2 version: 8.18.2 zod: - specifier: ^3.24.4 - version: 3.24.4 + specifier: ^3.25.48 + version: 3.25.48 zod-to-json-schema: specifier: ^3.24.5 - version: 3.24.5(zod@3.24.4) + version: 3.24.5(zod@3.25.48) devDependencies: '@antfu/eslint-config': - specifier: ^4.13.0 - version: 4.13.0(@typescript-eslint/utils@8.32.0(eslint@9.26.0)(typescript@5.8.3))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@1.0.1(eslint@9.26.0))(eslint@9.26.0)(typescript@5.8.3) + specifier: ^4.13.2 + version: 4.13.2(@typescript-eslint/utils@8.33.0(eslint@9.28.0)(typescript@5.8.3))(@vue/compiler-sfc@3.5.16)(eslint-plugin-format@1.0.1(eslint@9.28.0))(eslint@9.28.0)(typescript@5.8.3) + '@types/lodash-es': + specifier: ^4.17.12 + version: 4.17.12 '@types/ws': specifier: ^8.18.1 version: 8.18.1 eslint: - specifier: ^9.26.0 - version: 9.26.0 + specifier: ^9.28.0 + version: 9.28.0 eslint-plugin-format: specifier: ^1.0.1 - version: 1.0.1(eslint@9.26.0) + version: 1.0.1(eslint@9.28.0) shx: specifier: ^0.4.0 version: 0.4.0 @@ -63,8 +72,8 @@ importers: packages: - '@antfu/eslint-config@4.13.0': - resolution: {integrity: sha512-zXEe1NWioKWgo094qo7D/IL2NjzWpLolslSFpZTBPtiFPR6DyRwfUVyWdODUgtzM9cU05ETnEPFRpXDYWFR0/A==} + '@antfu/eslint-config@4.13.2': + resolution: {integrity: sha512-F+IVIQUCfw6eW4H06c9a9USJ3UOnoBx4I0qsTL3kO6GcyJB6mwk+nawFf95DfHKT3fJKv58YPPz0XCmsY/w0XA==} hasBin: true peerDependencies: '@eslint-react/eslint-plugin': ^1.38.4 @@ -118,6 +127,27 @@ packages: '@anthropic-ai/sdk@0.27.3': resolution: {integrity: sha512-IjLt0gd3L4jlOfilxVXTifn42FnVffMgDC04RJK1KDZpmkBWLv0XC92MVVmkxrFZNS/7l3xWgP/I3nqtX1sQHw==} + '@anush008/tokenizers-darwin-universal@0.0.0': + resolution: {integrity: sha512-SACpWEooTjFX89dFKRVUhivMxxcZRtA3nJGVepdLyrwTkQ1TZQ8581B5JoXp0TcTMHfgnDaagifvVoBiFEdNCQ==} + engines: {node: '>= 10'} + os: [darwin] + + '@anush008/tokenizers-linux-x64-gnu@0.0.0': + resolution: {integrity: sha512-TLjByOPWUEq51L3EJkS+slyH57HKJ7lAz/aBtEt7TIPq4QsE2owOPGovByOLIq1x5Wgh9b+a4q2JasrEFSDDhg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@anush008/tokenizers-win32-x64-msvc@0.0.0': + resolution: {integrity: sha512-/5kP0G96+Cr6947F0ZetXnmL31YCaN15dbNbh2NHg7TXXRwfqk95+JtPP5Q7v4jbR2xxAmuseBqB4H/V7zKWuw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@anush008/tokenizers@0.0.0': + resolution: {integrity: sha512-IQD9wkVReKAhsEAbDjh/0KrBGTEXelqZLpOBRDaIRvlzZ9sjmUP+gKbpvzyJnei2JHQiE8JAgj7YcNloINbGBw==} + engines: {node: '>= 10'} + '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} @@ -126,17 +156,17 @@ packages: resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} - '@babel/parser@7.27.2': - resolution: {integrity: sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==} + '@babel/parser@7.27.4': + resolution: {integrity: sha512-BRmLHGwpUqLFR2jzx9orBuX/ABDkj2jLKOXrHDTN2aOKL+jFDDKaRNo9nyYsIl9h/UE/7lMKdDjKQQyxKKDZ7g==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/types@7.27.1': - resolution: {integrity: sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==} + '@babel/types@7.27.3': + resolution: {integrity: sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw==} engines: {node: '>=6.9.0'} - '@browserbasehq/sdk@2.5.0': - resolution: {integrity: sha512-bcnbYZvm5Ht1nrHUfWDK4crspiTy1ESJYMApsMiOTUnlKOan0ocRD6m7hZH34iSC2c2XWsoryR80cwsYgCBWzQ==} + '@browserbasehq/sdk@2.6.0': + resolution: {integrity: sha512-83iXP5D7xMm8Wyn66TUaUrgoByCmAJuoMoZQI3sGg3JAiMlTfnCIMqyVBoNSaItaPIkaCnrsj6LiusmXV2X9YA==} '@browserbasehq/stagehand@1.14.0': resolution: {integrity: sha512-Hi/EzgMFWz+FKyepxHTrqfTPjpsuBS4zRy3e9sbMpBgLPv+9c0R+YZEvS7Bw4mTS66QtvvURRT6zgDGFotthVQ==} @@ -184,12 +214,8 @@ packages: '@emnapi/wasi-threads@1.0.2': resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} - '@es-joy/jsdoccomment@0.49.0': - resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==} - engines: {node: '>=16'} - - '@es-joy/jsdoccomment@0.50.0': - resolution: {integrity: sha512-+zZymuVLH6zVwXPtCAtC+bDymxmEwEqDftdAK+f407IF1bnX49anIxvBhCA1AqUIfD6egj1jM1vUnSuijjNyYg==} + '@es-joy/jsdoccomment@0.50.2': + resolution: {integrity: sha512-YAdE/IJSpwbOTiaURNCKECdAwqrJuFiZhylmesBcIRawtYKnBR2wxPhoIewMg+Yu+QuYvHfJNReWpoxGBKOChA==} engines: {node: '>=18'} '@eslint-community/eslint-plugin-eslint-comments@4.5.0': @@ -233,12 +259,16 @@ packages: resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@0.14.0': + resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@3.3.1': resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.26.0': - resolution: {integrity: sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==} + '@eslint/js@9.28.0': + resolution: {integrity: sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/markdown@6.4.0': @@ -253,6 +283,24 @@ packages: resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/plugin-kit@0.3.1': + resolution: {integrity: sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@graphql-typed-document-node/core@3.2.0': + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@grpc/grpc-js@1.13.4': + resolution: {integrity: sha512-GsFaMXCkMqkKIvwCQjCrwH+GHbPKBjhwo/8ZuUkWHqbI73Kky9I+pQltrlT0+MWpedCoosda53lgjYfyEPgxBg==} + engines: {node: '>=12.10.0'} + + '@grpc/proto-loader@0.7.15': + resolution: {integrity: sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==} + engines: {node: '>=6'} + hasBin: true + '@humanfs/core@0.19.1': resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} @@ -269,19 +317,26 @@ packages: resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} engines: {node: '>=18.18'} - '@humanwhocodes/retry@0.4.2': - resolution: {integrity: sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==} + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} engines: {node: '>=18.18'} - '@ibm-cloud/watsonx-ai@1.6.4': - resolution: {integrity: sha512-u0fmXagywjLAd3apZTV6kRQAHjWl3bNKv5422mQJsM/MZB5YPjx28tjEbpoORh15RuWjYyO/wHZACRWBBkNhbQ==} + '@ibm-cloud/watsonx-ai@1.6.7': + resolution: {integrity: sha512-lyHG5pjIINc+3fVbodD+ui0kvs7xk6TRAPJasK+8d8+j/FXS6TNsNGjvP79nfQJPTTYYy9IXxFc/3Z4jAqfD7w==} + engines: {node: '>=18.0.0'} + + '@isaacs/fs-minipass@4.0.1': + resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - '@langchain/community@0.3.42': - resolution: {integrity: sha512-dTRoAy4XPalCB4Of5N4uQ8/KSGCddv48OGek8CULtdbBSkQ9s7iWtcb8hQEajkCwMfILVVzw1pU8IzE17oNHPA==} + '@js-sdsl/ordered-map@4.4.2': + resolution: {integrity: sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==} + + '@langchain/community@0.3.45': + resolution: {integrity: sha512-KkAGmnP+w5tozLYsj/kGKwyfuPnCcA6MyDXfNF7oDo7L1TxhUgdEKhvNsY7ooLXz6Xh/LV5Kqp2B8U0jfYCQKQ==} engines: {node: '>=18'} peerDependencies: '@arcjet/redact': ^v1.0.0-alpha.23 @@ -408,7 +463,7 @@ packages: typesense: ^1.5.3 usearch: ^1.1.1 voy-search: 0.6.2 - weaviate-ts-client: '*' + weaviate-client: ^3.5.2 web-auth-library: ^1.0.3 word-extractor: '*' ws: ^8.14.2 @@ -652,7 +707,7 @@ packages: optional: true voy-search: optional: true - weaviate-ts-client: + weaviate-client: optional: true web-auth-library: optional: true @@ -663,12 +718,12 @@ packages: youtubei.js: optional: true - '@langchain/core@0.3.54': - resolution: {integrity: sha512-GqUwao7X9LTxgTDY9jtQ81XStvNuJn8sfJL7JqaVb0Ebfu00bn9R+xC80KmcljO/1EApWUYsRzDzhRj0EtwHxA==} + '@langchain/core@0.3.57': + resolution: {integrity: sha512-jz28qCTKJmi47b6jqhQ6vYRTG5jRpqhtPQjriRTB5wR8mgvzo6xKs0fG/kExS3ZvM79ytD1npBvgf8i19xOo9Q==} engines: {node: '>=18'} - '@langchain/openai@0.5.10': - resolution: {integrity: sha512-hBQIWjcVxGS7tgVvgBBmrZ5jSaJ8nu9g6V64/Tx6KGjkW7VdGmUvqCO+koiQCOZVL7PBJkHWAvDsbghPYXiZEA==} + '@langchain/openai@0.5.11': + resolution: {integrity: sha512-DAp7x+NfjSqDvKVMle8yb85nzz+3ctP7zGJaeRS0vLmvkY9qf/jRkowsM0mcsIiEUKhG/AHzWqvxbhktb/jJ6Q==} engines: {node: '>=18'} peerDependencies: '@langchain/core': '>=0.3.48 <0.4.0' @@ -679,12 +734,18 @@ packages: peerDependencies: '@langchain/core': '>=0.2.21 <0.4.0' - '@modelcontextprotocol/sdk@1.11.0': - resolution: {integrity: sha512-k/1pb70eD638anoi0e8wUGAlbMJXyvdV4p62Ko+EZ7eBe1xMx8Uhak1R5DgfoofsK5IBBnRwsYGTaLZl+6/+RQ==} + '@langchain/weaviate@0.2.0': + resolution: {integrity: sha512-gAtTCxSllR8Z92qAuRn2ir0cop241VmftQHQN+UYtTeoLge8hvZT5k0j55PDVaXTVpjx0ecx6DKv5I/wLRQI+A==} + engines: {node: '>=18'} + peerDependencies: + '@langchain/core': '>=0.2.21 <0.4.0' + + '@modelcontextprotocol/sdk@1.12.1': + resolution: {integrity: sha512-KG1CZhZfWg+u8pxeM/mByJDScJSrjjxLc8fwQqbsS8xCjBmQfMNEBTotYdNanKekepnfRI85GtgQlctLFpcYPw==} engines: {node: '>=18'} - '@napi-rs/wasm-runtime@0.2.9': - resolution: {integrity: sha512-OKRBiajrrxB9ATokgEQoG87Z25c67pCpYcCwmXYX8PBftC9pBfN18gnm/fh1wurSLEKIAt+QRFLFCQISrb66Jg==} + '@napi-rs/wasm-runtime@0.2.10': + resolution: {integrity: sha512-bCsCyeZEwVErsGmyPNSzwfwFn4OdxBj0mmv6hOFucB/k81Ojdu68RbZdxYsRQUPc9l6SU5F/cG+bXgWs3oUgsQ==} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -702,8 +763,8 @@ packages: resolution: {integrity: sha512-fdDH1LSGfZdTH2sxdpVMw31BanV28K/Gry0cVFxaNP77neJSkd82mM8ErPNYs9e+0O7SdHBLTDzDgwUuy18RnQ==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@pkgr/core@0.2.4': - resolution: {integrity: sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==} + '@pkgr/core@0.2.7': + resolution: {integrity: sha512-YLT9Zo3oNPJoBjBc4q8G2mjU4tqIbf5CEOORbUUr48dCD9q3umJ3IPlVqOqDakPfd2HuwccBaqlGhN4Gmr5OWg==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} '@playwright/test@1.52.0': @@ -711,8 +772,38 @@ packages: engines: {node: '>=18'} hasBin: true - '@stylistic/eslint-plugin@4.2.0': - resolution: {integrity: sha512-8hXezgz7jexGHdo5WN6JBEIPHCSFyyU4vgbxevu4YLVS5vl+sxqAAGyXSzfNDyR6xMNSH5H1x67nsXcYMOHtZA==} + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + + '@protobufjs/codegen@2.0.4': + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + + '@protobufjs/eventemitter@1.1.0': + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + + '@protobufjs/fetch@1.1.0': + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + + '@protobufjs/inquire@1.1.0': + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + + '@protobufjs/utf8@1.1.0': + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + + '@stylistic/eslint-plugin@4.4.0': + resolution: {integrity: sha512-bIh/d9X+OQLCAMdhHtps+frvyjvAM4B1YlSJzcEEhl7wXLIqPar3ngn9DrHhkBOrTA/z9J0bUMtctAspe0dxdQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=9.0.0' @@ -726,15 +817,18 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/eslint@9.6.1': - resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} - '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/lodash-es@4.17.12': + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} + + '@types/lodash@4.17.17': + resolution: {integrity: sha512-RRVJ+J3J+WmyOTqnz3PiBLA501eKwXl2noseKOrNo/6+XEHjTAxO4xHvxQB6QuNm+s4WRbn6rSiap8+EA+ykFQ==} + '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -744,11 +838,11 @@ packages: '@types/node-fetch@2.6.12': resolution: {integrity: sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==} - '@types/node@18.19.97': - resolution: {integrity: sha512-4r3Y9EuCJjWduiam85Fo4GBQtneaEuoaBSdiKo+o6qwQUh0JFVBe7cRUK6I6yVzA0S1gBJJfoQx4VtBH4e5ikg==} + '@types/node@18.19.110': + resolution: {integrity: sha512-WW2o4gTmREtSnqKty9nhqF/vA0GKd0V/rbC0OyjSk9Bz6bzlsXKT+i7WDdS/a0z74rfT2PO4dArVCSnapNLA5Q==} - '@types/node@22.15.14': - resolution: {integrity: sha512-BL1eyu/XWsFGTtDWOYULQEs4KR0qdtYfCxYAUYRoB7JP7h9ETYLgQTww6kH8Sj2C0pFGgrpM0XKv6/kbIzYJ1g==} + '@types/node@22.15.29': + resolution: {integrity: sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==} '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -768,150 +862,151 @@ packages: '@types/ws@8.18.1': resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} - '@typescript-eslint/eslint-plugin@8.32.0': - resolution: {integrity: sha512-/jU9ettcntkBFmWUzzGgsClEi2ZFiikMX5eEQsmxIAWMOn4H3D4rvHssstmAHGVvrYnaMqdWWWg0b5M6IN/MTQ==} + '@typescript-eslint/eslint-plugin@8.33.0': + resolution: {integrity: sha512-CACyQuqSHt7ma3Ns601xykeBK/rDeZa3w6IS6UtMQbixO5DWy+8TilKkviGDH6jtWCo8FGRKEK5cLLkPvEammQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + '@typescript-eslint/parser': ^8.33.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@8.32.0': - resolution: {integrity: sha512-B2MdzyWxCE2+SqiZHAjPphft+/2x2FlO9YBx7eKE1BCb+rqBlQdhtAEhzIEdozHd55DXPmxBdpMygFJjfjjA9A==} + '@typescript-eslint/parser@8.33.0': + resolution: {integrity: sha512-JaehZvf6m0yqYp34+RVnihBAChkqeH+tqqhS0GuX1qgPpwLvmTPheKEs6OeCK6hVJgXZHJ2vbjnC9j119auStQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/scope-manager@8.32.0': - resolution: {integrity: sha512-jc/4IxGNedXkmG4mx4nJTILb6TMjL66D41vyeaPWvDUmeYQzF3lKtN15WsAeTr65ce4mPxwopPSo1yUUAWw0hQ==} + '@typescript-eslint/project-service@8.33.0': + resolution: {integrity: sha512-d1hz0u9l6N+u/gcrk6s6gYdl7/+pp8yHheRTqP6X5hVDKALEaTn8WfGiit7G511yueBEL3OpOEpD+3/MBdoN+A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/scope-manager@8.33.0': + resolution: {integrity: sha512-LMi/oqrzpqxyO72ltP+dBSP6V0xiUb4saY7WLtxSfiNEBI8m321LLVFU9/QDJxjDQG9/tjSqKz/E3380TEqSTw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.33.0': + resolution: {integrity: sha512-sTkETlbqhEoiFmGr1gsdq5HyVbSOF0145SYDJ/EQmXHtKViCaGvnyLqWFFHtEXoS0J1yU8Wyou2UGmgW88fEug==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/type-utils@8.32.0': - resolution: {integrity: sha512-t2vouuYQKEKSLtJaa5bB4jHeha2HJczQ6E5IXPDPgIty9EqcJxpr1QHQ86YyIPwDwxvUmLfP2YADQ5ZY4qddZg==} + '@typescript-eslint/type-utils@8.33.0': + resolution: {integrity: sha512-lScnHNCBqL1QayuSrWeqAL5GmqNdVUQAAMTaCwdYEdWfIrSrOGzyLGRCHXcCixa5NK6i5l0AfSO2oBSjCjf4XQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/types@8.32.0': - resolution: {integrity: sha512-O5Id6tGadAZEMThM6L9HmVf5hQUXNSxLVKeGJYWNhhVseps/0LddMkp7//VDkzwJ69lPL0UmZdcZwggj9akJaA==} + '@typescript-eslint/types@8.33.0': + resolution: {integrity: sha512-DKuXOKpM5IDT1FA2g9x9x1Ug81YuKrzf4mYX8FAVSNu5Wo/LELHWQyM1pQaDkI42bX15PWl0vNPt1uGiIFUOpg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.32.0': - resolution: {integrity: sha512-pU9VD7anSCOIoBFnhTGfOzlVFQIA1XXiQpH/CezqOBaDppRwTglJzCC6fUQGpfwey4T183NKhF1/mfatYmjRqQ==} + '@typescript-eslint/typescript-estree@8.33.0': + resolution: {integrity: sha512-vegY4FQoB6jL97Tu/lWRsAiUUp8qJTqzAmENH2k59SJhw0Th1oszb9Idq/FyyONLuNqT1OADJPXfyUNOR8SzAQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.32.0': - resolution: {integrity: sha512-8S9hXau6nQ/sYVtC3D6ISIDoJzS1NsCK+gluVhLN2YkBPX+/1wkwyUiDKnxRh15579WoOIyVWnoyIf3yGI9REw==} + '@typescript-eslint/utils@8.33.0': + resolution: {integrity: sha512-lPFuQaLA9aSNa7D5u2EpRiqdAUhzShwGg/nhpBlc4GR6kcTABttCuyjFs8BcEZ8VWrjCBof/bePhP3Q3fS+Yrw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/visitor-keys@8.32.0': - resolution: {integrity: sha512-1rYQTCLFFzOI5Nl0c8LUpJT8HxpwVRn9E4CkMsYfuN6ctmQqExjSTzzSk0Tz2apmXy7WU6/6fyaZVVA/thPN+w==} + '@typescript-eslint/visitor-keys@8.33.0': + resolution: {integrity: sha512-7RW7CMYoskiz5OOGAWjJFxgb7c5UNjTG292gYhWeOAcFmYCtVCSqjqSBj5zMhxbXo2JOW95YYrUWJfU0zrpaGQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@unrs/resolver-binding-darwin-arm64@1.7.2': - resolution: {integrity: sha512-vxtBno4xvowwNmO/ASL0Y45TpHqmNkAaDtz4Jqb+clmcVSSl8XCG/PNFFkGsXXXS6AMjP+ja/TtNCFFa1QwLRg==} + '@unrs/resolver-binding-darwin-arm64@1.7.8': + resolution: {integrity: sha512-rsRK8T7yxraNRDmpFLZCWqpea6OlXPNRRCjWMx24O1V86KFol7u2gj9zJCv6zB1oJjtnzWceuqdnCgOipFcJPA==} cpu: [arm64] os: [darwin] - '@unrs/resolver-binding-darwin-x64@1.7.2': - resolution: {integrity: sha512-qhVa8ozu92C23Hsmv0BF4+5Dyyd5STT1FolV4whNgbY6mj3kA0qsrGPe35zNR3wAN7eFict3s4Rc2dDTPBTuFQ==} + '@unrs/resolver-binding-darwin-x64@1.7.8': + resolution: {integrity: sha512-16yEMWa+Olqkk8Kl6Bu0ltT5OgEedkSAsxcz1B3yEctrDYp3EMBu/5PPAGhWVGnwhtf3hNe3y15gfYBAjOv5tQ==} cpu: [x64] os: [darwin] - '@unrs/resolver-binding-freebsd-x64@1.7.2': - resolution: {integrity: sha512-zKKdm2uMXqLFX6Ac7K5ElnnG5VIXbDlFWzg4WJ8CGUedJryM5A3cTgHuGMw1+P5ziV8CRhnSEgOnurTI4vpHpg==} + '@unrs/resolver-binding-freebsd-x64@1.7.8': + resolution: {integrity: sha512-ST4uqF6FmdZQgv+Q73FU1uHzppeT4mhX3IIEmHlLObrv5Ep50olWRz0iQ4PWovadjHMTAmpuJAGaAuCZYb7UAQ==} cpu: [x64] os: [freebsd] - '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.2': - resolution: {integrity: sha512-8N1z1TbPnHH+iDS/42GJ0bMPLiGK+cUqOhNbMKtWJ4oFGzqSJk/zoXFzcQkgtI63qMcUI7wW1tq2usZQSb2jxw==} + '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.8': + resolution: {integrity: sha512-Z/A/4Rm2VWku2g25C3tVb986fY6unx5jaaCFpx1pbAj0OKkyuJ5wcQLHvNbIcJ9qhiYwXfrkB7JNlxrAbg7YFg==} cpu: [arm] os: [linux] - '@unrs/resolver-binding-linux-arm-musleabihf@1.7.2': - resolution: {integrity: sha512-tjYzI9LcAXR9MYd9rO45m1s0B/6bJNuZ6jeOxo1pq1K6OBuRMMmfyvJYval3s9FPPGmrldYA3mi4gWDlWuTFGA==} + '@unrs/resolver-binding-linux-arm-musleabihf@1.7.8': + resolution: {integrity: sha512-HN0p7o38qKmDo3bZUiQa6gP7Qhf0sKgJZtRfSHi6JL2Gi4NaUVF0EO1sQ1RHbeQ4VvfjUGMh3QE5dxEh06BgQQ==} cpu: [arm] os: [linux] - '@unrs/resolver-binding-linux-arm64-gnu@1.7.2': - resolution: {integrity: sha512-jon9M7DKRLGZ9VYSkFMflvNqu9hDtOCEnO2QAryFWgT6o6AXU8du56V7YqnaLKr6rAbZBWYsYpikF226v423QA==} + '@unrs/resolver-binding-linux-arm64-gnu@1.7.8': + resolution: {integrity: sha512-HsoVqDBt9G69AN0KWeDNJW+7i8KFlwxrbbnJffgTGpiZd6Jw+Q95sqkXp8y458KhKduKLmXfVZGnKBTNxAgPjw==} cpu: [arm64] os: [linux] - libc: [glibc] - '@unrs/resolver-binding-linux-arm64-musl@1.7.2': - resolution: {integrity: sha512-c8Cg4/h+kQ63pL43wBNaVMmOjXI/X62wQmru51qjfTvI7kmCy5uHTJvK/9LrF0G8Jdx8r34d019P1DVJmhXQpA==} + '@unrs/resolver-binding-linux-arm64-musl@1.7.8': + resolution: {integrity: sha512-VfR2yTDUbUvn+e/Aw22CC9fQg9zdShHAfwWctNBdOk7w9CHWl2OtYlcMvjzMAns8QxoHQoqn3/CEnZ4Ts7hfrA==} cpu: [arm64] os: [linux] - libc: [musl] - '@unrs/resolver-binding-linux-ppc64-gnu@1.7.2': - resolution: {integrity: sha512-A+lcwRFyrjeJmv3JJvhz5NbcCkLQL6Mk16kHTNm6/aGNc4FwPHPE4DR9DwuCvCnVHvF5IAd9U4VIs/VvVir5lg==} + '@unrs/resolver-binding-linux-ppc64-gnu@1.7.8': + resolution: {integrity: sha512-xUauVQNz4uDgs4UJJiUAwMe3N0PA0wvtImh7V0IFu++UKZJhssXbKHBRR4ecUJpUHCX2bc4Wc8sGsB6P+7BANg==} cpu: [ppc64] os: [linux] - libc: [glibc] - '@unrs/resolver-binding-linux-riscv64-gnu@1.7.2': - resolution: {integrity: sha512-hQQ4TJQrSQW8JlPm7tRpXN8OCNP9ez7PajJNjRD1ZTHQAy685OYqPrKjfaMw/8LiHCt8AZ74rfUVHP9vn0N69Q==} + '@unrs/resolver-binding-linux-riscv64-gnu@1.7.8': + resolution: {integrity: sha512-GqyIB+CuSHGhhc8ph5RrurtNetYJjb6SctSHafqmdGcRuGi6uyTMR8l18hMEhZFsXdFMc/MpInPLvmNV22xn+A==} cpu: [riscv64] os: [linux] - libc: [glibc] - '@unrs/resolver-binding-linux-riscv64-musl@1.7.2': - resolution: {integrity: sha512-NoAGbiqrxtY8kVooZ24i70CjLDlUFI7nDj3I9y54U94p+3kPxwd2L692YsdLa+cqQ0VoqMWoehDFp21PKRUoIQ==} + '@unrs/resolver-binding-linux-riscv64-musl@1.7.8': + resolution: {integrity: sha512-eEU3rWIFRv60xaAbtsgwHNWRZGD7cqkpCvNtio/f1TjEE3HfKLzPNB24fA9X/8ZXQrGldE65b7UKK3PmO4eWIQ==} cpu: [riscv64] os: [linux] - libc: [musl] - '@unrs/resolver-binding-linux-s390x-gnu@1.7.2': - resolution: {integrity: sha512-KaZByo8xuQZbUhhreBTW+yUnOIHUsv04P8lKjQ5otiGoSJ17ISGYArc+4vKdLEpGaLbemGzr4ZeUbYQQsLWFjA==} + '@unrs/resolver-binding-linux-s390x-gnu@1.7.8': + resolution: {integrity: sha512-GVLI0f4I4TlLqEUoOFvTWedLsJEdvsD0+sxhdvQ5s+N+m2DSynTs8h9jxR0qQbKlpHWpc2Ortz3z48NHRT4l+w==} cpu: [s390x] os: [linux] - libc: [glibc] - '@unrs/resolver-binding-linux-x64-gnu@1.7.2': - resolution: {integrity: sha512-dEidzJDubxxhUCBJ/SHSMJD/9q7JkyfBMT77Px1npl4xpg9t0POLvnWywSk66BgZS/b2Hy9Y1yFaoMTFJUe9yg==} + '@unrs/resolver-binding-linux-x64-gnu@1.7.8': + resolution: {integrity: sha512-GX1pZ/4ncUreB0Rlp1l7bhKAZ8ZmvDIgXdeb5V2iK0eRRF332+6gRfR/r5LK88xfbtOpsmRHU6mQ4N8ZnwvGEA==} cpu: [x64] os: [linux] - libc: [glibc] - '@unrs/resolver-binding-linux-x64-musl@1.7.2': - resolution: {integrity: sha512-RvP+Ux3wDjmnZDT4XWFfNBRVG0fMsc+yVzNFUqOflnDfZ9OYujv6nkh+GOr+watwrW4wdp6ASfG/e7bkDradsw==} + '@unrs/resolver-binding-linux-x64-musl@1.7.8': + resolution: {integrity: sha512-n1N84MnsvDupzVuYqJGj+2pb9s8BI1A5RgXHvtVFHedGZVBCFjDpQVRlmsFMt6xZiKwDPaqsM16O/1isCUGt7w==} cpu: [x64] os: [linux] - libc: [musl] - '@unrs/resolver-binding-wasm32-wasi@1.7.2': - resolution: {integrity: sha512-y797JBmO9IsvXVRCKDXOxjyAE4+CcZpla2GSoBQ33TVb3ILXuFnMrbR/QQZoauBYeOFuu4w3ifWLw52sdHGz6g==} + '@unrs/resolver-binding-wasm32-wasi@1.7.8': + resolution: {integrity: sha512-x94WnaU5g+pCPDVedfnXzoG6lCOF2xFGebNwhtbJCWfceE94Zj8aysSxdxotlrZrxnz5D3ijtyFUYtpz04n39Q==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@unrs/resolver-binding-win32-arm64-msvc@1.7.2': - resolution: {integrity: sha512-gtYTh4/VREVSLA+gHrfbWxaMO/00y+34htY7XpioBTy56YN2eBjkPrY1ML1Zys89X3RJDKVaogzwxlM1qU7egg==} + '@unrs/resolver-binding-win32-arm64-msvc@1.7.8': + resolution: {integrity: sha512-vst2u8EJZ5L6jhJ6iLis3w9rg16aYqRxQuBAMYQRVrPMI43693hLP7DuqyOBRKgsQXy9/jgh204k0ViHkqQgdg==} cpu: [arm64] os: [win32] - '@unrs/resolver-binding-win32-ia32-msvc@1.7.2': - resolution: {integrity: sha512-Ywv20XHvHTDRQs12jd3MY8X5C8KLjDbg/jyaal/QLKx3fAShhJyD4blEANInsjxW3P7isHx1Blt56iUDDJO3jg==} + '@unrs/resolver-binding-win32-ia32-msvc@1.7.8': + resolution: {integrity: sha512-yb3LZOLMFqnA+/ShlE1E5bpYPGDsA590VHHJPB+efnyowT776GJXBoh82em6O9WmYBUq57YblGTcMYAFBm72HA==} cpu: [ia32] os: [win32] - '@unrs/resolver-binding-win32-x64-msvc@1.7.2': - resolution: {integrity: sha512-friS8NEQfHaDbkThxopGk+LuE5v3iY0StruifjQEt7SLbA46OnfgMO15sOTkbpJkol6RB+1l1TYPXh0sCddpvA==} + '@unrs/resolver-binding-win32-x64-msvc@1.7.8': + resolution: {integrity: sha512-hHKFx+opG5BA3/owMXon8ypwSotBGTdblG6oda/iOu9+OEYnk0cxD2uIcGyGT8jCK578kV+xMrNxqbn8Zjlpgw==} cpu: [x64] os: [win32] - '@vitest/eslint-plugin@1.1.44': - resolution: {integrity: sha512-m4XeohMT+Dj2RZfxnbiFR+Cv5dEC0H7C6TlxRQT7GK2556solm99kxgzJp/trKrZvanZcOFyw7aABykUTfWyrg==} + '@vitest/eslint-plugin@1.2.1': + resolution: {integrity: sha512-JQr1jdVcrsoS7Sdzn83h9sq4DvREf9Q/onTZbJCqTVlv/76qb+TZrLv/9VhjnjSMHweQH5FdpMDeCR6aDe2fgw==} peerDependencies: - '@typescript-eslint/utils': '>= 8.24.0' eslint: '>= 8.57.0' typescript: '>= 5.0.0' vitest: '*' @@ -921,20 +1016,23 @@ packages: vitest: optional: true - '@vue/compiler-core@3.5.13': - resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} + '@vue/compiler-core@3.5.16': + resolution: {integrity: sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==} - '@vue/compiler-dom@3.5.13': - resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} + '@vue/compiler-dom@3.5.16': + resolution: {integrity: sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==} - '@vue/compiler-sfc@3.5.13': - resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} + '@vue/compiler-sfc@3.5.16': + resolution: {integrity: sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw==} - '@vue/compiler-ssr@3.5.13': - resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} + '@vue/compiler-ssr@3.5.16': + resolution: {integrity: sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A==} - '@vue/shared@3.5.13': - resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} + '@vue/shared@3.5.16': + resolution: {integrity: sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==} + + abort-controller-x@0.4.3: + resolution: {integrity: sha512-VtUwTNU8fpMwvWGn4xE93ywbogTYsuT+AUxAXOeelbXuQVIwNmC5YLeho9sH4vZ4ITW8414TTAOG1nW6uIVHCA==} abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} @@ -961,6 +1059,10 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} @@ -969,8 +1071,8 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - ansis@3.17.0: - resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==} + ansis@4.1.0: + resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==} engines: {node: '>=14'} are-docs-informative@0.0.2: @@ -1006,6 +1108,10 @@ packages: boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -1016,8 +1122,8 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.24.5: - resolution: {integrity: sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==} + browserslist@4.25.0: + resolution: {integrity: sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1055,8 +1161,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001717: - resolution: {integrity: sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==} + caniuse-lite@1.0.30001720: + resolution: {integrity: sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -1068,6 +1174,14 @@ packages: character-entities@2.0.2: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + ci-info@4.2.0: resolution: {integrity: sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==} engines: {node: '>=8'} @@ -1076,6 +1190,10 @@ packages: resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} engines: {node: '>=4'} + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -1115,8 +1233,8 @@ packages: confbox@0.2.2: resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} - console-table-printer@2.12.1: - resolution: {integrity: sha512-wKGOQRRvdnd89pCeH96e2Fn4wkbenSP6LMHfjfyNLMbGuHEFbMqQNuxXqd0oXG9caIOQ1FTvc5Uijp9/4jujnQ==} + console-table-printer@2.14.1: + resolution: {integrity: sha512-Nvz+lt5BRvG8qJ8KrqhK0rtbE4hbi0oj4G5/2ig7pbMXBCvy+zcHEZbyIdidl2GEL0AwtxYX4Zc3C28fFSPXyA==} content-disposition@1.0.0: resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==} @@ -1141,6 +1259,9 @@ packages: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} + cross-fetch@3.2.0: + resolution: {integrity: sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==} + cross-spawn@6.0.6: resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} engines: {node: '>=4.8'} @@ -1154,16 +1275,8 @@ packages: engines: {node: '>=4'} hasBin: true - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1185,6 +1298,14 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -1197,6 +1318,9 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -1214,8 +1338,11 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.150: - resolution: {integrity: sha512-rOOkP2ZUMx1yL4fCxXQKDHQ8ZXwisb2OycOQVKHgvB3ZI4CvehOd4y2tfnnLDieJ3Zs1RL1Dlp3cMkyIn7nnXA==} + electron-to-chromium@1.5.161: + resolution: {integrity: sha512-hwtetwfKNZo/UlwHIVBlKZVdy7o8bIZxxKs0Mv/ROPiQQQmDgdm5a+KvKtBsxM8ZjFzTaCeLoodZ8jiBE3o9rA==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} enabled@2.0.0: resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} @@ -1251,6 +1378,9 @@ packages: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} + es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -1287,16 +1417,22 @@ packages: peerDependencies: eslint: ^9.5.0 - eslint-flat-config-utils@2.0.1: - resolution: {integrity: sha512-brf0eAgQ6JlKj3bKfOTuuI7VcCZvi8ZCD1MMTVoEvS/d38j8cByZViLFALH/36+eqB17ukmfmKq3bWzGvizejA==} + eslint-flat-config-utils@2.1.0: + resolution: {integrity: sha512-6fjOJ9tS0k28ketkUcQ+kKptB4dBZY2VijMZ9rGn8Cwnn1SH0cZBoPXT8AHBFHxmHcLFQK9zbELDinZ2Mr1rng==} eslint-formatting-reporter@0.0.0: resolution: {integrity: sha512-k9RdyTqxqN/wNYVaTk/ds5B5rA8lgoAmvceYN7bcZMBwU7TuXx5ntewJv81eF3pIL/CiJE+pJZm36llG8yhyyw==} peerDependencies: eslint: '>=8.40.0' - eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + eslint-import-context@0.1.6: + resolution: {integrity: sha512-/e2ZNPDLCrU8niIy0pddcvXuoO2YrKjf3NAIX+60mHJBT4yv7mqCqvVdyCW2E720e25e4S/1OSVef4U6efGLFg==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + peerDependencies: + unrs-resolver: ^1.0.0 + peerDependenciesMeta: + unrs-resolver: + optional: true eslint-json-compat-utils@0.2.1: resolution: {integrity: sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==} @@ -1322,8 +1458,8 @@ packages: peerDependencies: eslint: '*' - eslint-plugin-command@3.2.0: - resolution: {integrity: sha512-PSDOB9k7Wd57pp4HD/l3C1D93pKX8/wQo0kWDI4q6/UpgrfMTyNsavklipgiZqbXl1+VBABY1buCcQE5LDpg5g==} + eslint-plugin-command@3.2.1: + resolution: {integrity: sha512-PcpzWe8dvAPaBobxE9zgz1w94fO4JYvzciDzw6thlUb9Uqf5e2/gJz97itOGxvdq+mFeudi71m1OGFgvWmb93w==} peerDependencies: eslint: '*' @@ -1338,26 +1474,33 @@ packages: peerDependencies: eslint: ^8.40.0 || ^9.0.0 - eslint-plugin-import-x@4.11.0: - resolution: {integrity: sha512-NAaYY49342gj09QGvwnFFl5KcD5aLzjAz97Lo+upnN8MzjEGSIlmL5sxCYGqtIeMjw8fSRDFZIp2xjRLT+yl4Q==} + eslint-plugin-import-x@4.15.0: + resolution: {integrity: sha512-oqCESQlM8r0iRioPHmDqrblH69u11NuglErCnMIY2FcY0UfCCs7qlEuiuqkYKT0puJSQq+fXpDD0MvMTQsAhoQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: + '@typescript-eslint/utils': ^8.0.0 eslint: ^8.57.0 || ^9.0.0 + eslint-import-resolver-node: '*' + peerDependenciesMeta: + '@typescript-eslint/utils': + optional: true + eslint-import-resolver-node: + optional: true - eslint-plugin-jsdoc@50.6.11: - resolution: {integrity: sha512-k4+MnBCGR8cuIB5MZ++FGd4gbXxjob2rX1Nq0q3nWFF4xSGZENTgTLZSjb+u9B8SAnP6lpGV2FJrBjllV3pVSg==} + eslint-plugin-jsdoc@50.7.1: + resolution: {integrity: sha512-XBnVA5g2kUVokTNUiE1McEPse5n9/mNUmuJcx52psT6zBs2eVcXSmQBvjfa7NZdfLVSy3u1pEDDUxoxpwy89WA==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - eslint-plugin-jsonc@2.20.0: - resolution: {integrity: sha512-FRgCn9Hzk5eKboCbVMrr9QrhM0eO4G+WKH8IFXoaeqhM/2kuWzbStJn4kkr0VWL8J5H8RYZF+Aoam1vlBaZVkw==} + eslint-plugin-jsonc@2.20.1: + resolution: {integrity: sha512-gUzIwQHXx7ZPypUoadcyRi4WbHW2TPixDr0kqQ4miuJBU0emJmyGTlnaT3Og9X2a8R1CDayN9BFSq5weGWbTng==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' - eslint-plugin-n@17.17.0: - resolution: {integrity: sha512-2VvPK7Mo73z1rDFb6pTvkH6kFibAmnTubFq5l83vePxu0WiY1s0LOtj2WHb6Sa40R3w4mnh8GFYbHBQyMlotKw==} + eslint-plugin-n@17.19.0: + resolution: {integrity: sha512-qxn1NaDHtizbhVAPpbMT8wWFaLtPnwhfN/e+chdu2i6Vgzmo/tGM62tcJ1Hf7J5Ie4dhse3DOPMmDxduzfifzw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' @@ -1366,8 +1509,8 @@ packages: resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} engines: {node: '>=5.0.0'} - eslint-plugin-perfectionist@4.12.3: - resolution: {integrity: sha512-V0dmpq6fBbn0BYofHsiRuuY9wgkKMDkdruM0mIRBIJ8XZ8vEaTAZqFsywm40RuWNVnduWBt5HO1ZZ+flE2yqjg==} + eslint-plugin-perfectionist@4.13.0: + resolution: {integrity: sha512-dsPwXwV7IrG26PJ+h1crQ1f5kxay/gQAU0NJnbVTQc91l5Mz9kPjyIZ7fXgie+QSgi8a+0TwGbfaJx+GIhzuoQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: eslint: '>=8.45.0' @@ -1435,8 +1578,8 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.26.0: - resolution: {integrity: sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==} + eslint@9.28.0: + resolution: {integrity: sha512-ocgh41VhRlf9+fVpe7QKzwLj9c92fDiqOj8Y3Sd4/ZmVA4Btx4PlUYPq4pp9JDyupkf1upbEXecxL2mwNV7jPQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -1487,12 +1630,12 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - eventsource-parser@3.0.1: - resolution: {integrity: sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==} + eventsource-parser@3.0.2: + resolution: {integrity: sha512-6RxOBZ/cYgd8usLwsEl+EC09Au/9BcmCKYF2/xbml6DNczf7nv0MQb+7BA2F+li6//I+28VNlQR37XfQtcAJuA==} engines: {node: '>=18.0.0'} - eventsource@3.0.6: - resolution: {integrity: sha512-l19WpE2m9hSuyP06+FbuUUf1G+R0SFLrtQfbRb9PRr+oimOfxQhgGCbVaXg5IvZyyTThJsxh6L/srkMiCeBPDA==} + eventsource@3.0.7: + resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} engines: {node: '>=18.0.0'} execa@1.0.0: @@ -1534,14 +1677,17 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fastembed@1.14.4: + resolution: {integrity: sha512-ZU9hpQRkYKPD/k0A6NzFe/Z9voSU3Saxve/1kLY9aS9iyUJYLJPI/3gsDgRA9uxwIMi8w7/tjH1lRW8K1N+wWA==} + fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} fault@2.0.1: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} - fdir@6.4.4: - resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} + fdir@6.4.5: + resolution: {integrity: sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -1625,6 +1771,10 @@ packages: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -1633,6 +1783,10 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -1645,8 +1799,8 @@ packages: resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} engines: {node: '>=6'} - get-tsconfig@4.10.0: - resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} + get-tsconfig@4.10.1: + resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -1656,6 +1810,10 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} + global-agent@3.0.0: + resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} + engines: {node: '>=10.0'} + globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -1664,10 +1822,14 @@ packages: resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} - globals@16.0.0: - resolution: {integrity: sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==} + globals@16.2.0: + resolution: {integrity: sha512-O+7l9tPdHCU320IigZZPj5zmRCFG9xHmx9cU8FqU2Rp+JN714seHV+2S9+JslCpY4gJwU2vOGox0wzgae/MCEg==} engines: {node: '>=18'} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -1678,10 +1840,22 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + graphql-request@6.1.0: + resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} + peerDependencies: + graphql: 14 - 16 + + graphql@16.11.0: + resolution: {integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + has-symbols@1.1.0: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} @@ -1701,8 +1875,8 @@ packages: humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - ibm-cloud-sdk-core@5.3.2: - resolution: {integrity: sha512-YhtS+7hGNO61h/4jNShHxbbuJ1TnDqiFKQzfEaqePnonOvv8NnxWxOk92FlKKCCzZNOT34Gnd7WCLVJTntwEFQ==} + ibm-cloud-sdk-core@5.4.0: + resolution: {integrity: sha512-c4cwOuUDbMiFROYM/Ti1aC+Umi1v3TdvC2DO5zR7w44FYY/3xrs79+3DVPXt/nRhJeaMHN2L9XwlXsPSoVDHJA==} engines: {node: '>=18'} iconv-lite@0.6.3: @@ -1716,6 +1890,10 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -1754,6 +1932,10 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -1809,6 +1991,9 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + jsonc-eslint-parser@2.4.0: resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1821,8 +2006,8 @@ packages: resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} engines: {node: '>=12', npm: '>=6'} - jwa@1.4.1: - resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} + jwa@1.4.2: + resolution: {integrity: sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==} jws@3.2.2: resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} @@ -1833,8 +2018,8 @@ packages: kuler@2.0.0: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} - langchain@0.3.24: - resolution: {integrity: sha512-BTjiYkUCpWFAmufK8J5zMqc5aUs4eEnAXPWtPe2+R4ZPP+U7bXJSBHAcrB40rQ3VeTdRgMvgDjekOOgCMWut6Q==} + langchain@0.3.27: + resolution: {integrity: sha512-XfOuXetMSpkS11Mt6YJkDmvuSGTMPUsks5DJz4RCZ3y2dcbLkOe5kecjx2SWVJYqQIqcMMwsjsve3/ZjnRe7rQ==} engines: {node: '>=18'} peerDependencies: '@langchain/anthropic': '*' @@ -1891,8 +2076,8 @@ packages: typeorm: optional: true - langsmith@0.3.25: - resolution: {integrity: sha512-KuJu89VY3DmCdFvlVxQG4owQl546Z6pQc6TbhsyP77MkVJgZr8yvevZvvcXDWIpT2o2s52c9Aww2XVOH6GmHxQ==} + langsmith@0.3.29: + resolution: {integrity: sha512-JPF2B339qpYy9FyuY4Yz1aWYtgPlFc/a+VTj3L/JcFLHCiMP7+Ig8I9jO+o1QwVa+JU3iugL1RS0wwc+Glw0zA==} peerDependencies: openai: '*' peerDependenciesMeta: @@ -1911,6 +2096,12 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + lodash.includes@4.3.0: resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} @@ -1942,6 +2133,9 @@ packages: resolution: {integrity: sha512-TFYA4jnP7PVbmlBIfhlSe+WKxs9dklXMTEGcBCIvLhE/Tn3H6Gk1norupVW7m5Cnd4bLcr08AytbyV/xj7f/kQ==} engines: {node: '>= 12.0.0'} + long@5.3.2: + resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} + longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} @@ -1951,6 +2145,10 @@ packages: markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + matcher@3.0.0: + resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} + engines: {node: '>=10'} + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -2128,6 +2326,36 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + minizlib@3.0.2: + resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==} + engines: {node: '>= 18'} + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mkdirp@3.0.1: + resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} + engines: {node: '>=10'} + hasBin: true + mlly@1.7.4: resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} @@ -2143,8 +2371,8 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - napi-postinstall@0.2.3: - resolution: {integrity: sha512-Mi7JISo/4Ij2tDZ2xBE2WH+/KvVlkhA6juEjpEeRAVPNCpN3nxJo/5FhDNKgBcdmcmhaH6JjgST4xY/23ZYK0w==} + napi-postinstall@0.2.4: + resolution: {integrity: sha512-ZEzHJwBhZ8qQSbknHqYcdtQVr8zUgGyM/q6h6qAyhtyVMNrSgDhrC4disf03dYW0e+czXyLnZINnCTEkWy0eJg==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} hasBin: true @@ -2159,6 +2387,15 @@ packages: resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} engines: {node: '>= 0.6'} + nice-grpc-client-middleware-retry@3.1.11: + resolution: {integrity: sha512-xW/imz/kNG2g0DwTfH2eYEGrg1chSLrXtvGp9fg2qkhTgGFfAS/Pq3+t+9G8KThcC4hK/xlEyKvZWKk++33S6A==} + + nice-grpc-common@2.0.2: + resolution: {integrity: sha512-7RNWbls5kAL1QVUOXvBsv1uO0wPQK3lHv+cY1gwkTzirnG1Nop4cBJZubpgziNbaVc/bl9QJcyvsf/NQxa3rjQ==} + + nice-grpc@2.1.12: + resolution: {integrity: sha512-J1n4Wg+D3IhRhGQb+iqh2OpiM0GzTve/kf2lnlW4S+xczmIEd0aHUDV1OsJ5a3q8GSTqJf+s4Rgg1M8uJltarw==} + nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} @@ -2194,6 +2431,10 @@ packages: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -2204,8 +2445,15 @@ packages: one-time@1.0.0: resolution: {integrity: sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==} - openai@4.97.0: - resolution: {integrity: sha512-LRoiy0zvEf819ZUEJhgfV8PfsE8G5WpQi4AwA1uCV8SKvvtXQkoWUFkepD6plqyJQRghy2+AEPQ07FrJFKHZ9Q==} + onnxruntime-common@1.21.0: + resolution: {integrity: sha512-Q632iLLrtCAVOTO65dh2+mNbQir/QNTVBG3h/QdZBpns7mZ0RYbLRBgGABPbpU9351AgYy7SJf1WaeVwMrBFPQ==} + + onnxruntime-node@1.21.0: + resolution: {integrity: sha512-NeaCX6WW2L8cRCSqy3bInlo5ojjQqu2fD3D+9W5qb5irwxhEyWKXeH2vZ8W9r6VxaMPUan+4/7NDwZMtouZxEw==} + os: [win32, darwin, linux] + + openai@4.104.0: + resolution: {integrity: sha512-p99EFNsA/yX6UhVO93f5kJsDRLAg+CTA2RBqdHK4RtK8u5IJw32Hyb2dTGKbnnFmnuoBv5r7Z2CURI9sGZpSuA==} hasBin: true peerDependencies: ws: ^8.18.0 @@ -2336,8 +2584,8 @@ packages: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} - postcss@8.5.3: - resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} + postcss@8.5.4: + resolution: {integrity: sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -2357,6 +2605,14 @@ packages: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + protobufjs@7.5.3: + resolution: {integrity: sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw==} + engines: {node: '>=12.0.0'} + proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -2427,6 +2683,10 @@ packages: resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} hasBin: true + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} @@ -2456,6 +2716,10 @@ packages: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + roarr@2.15.4: + resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} + engines: {node: '>=8.0'} + router@2.2.0: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} @@ -2477,12 +2741,15 @@ packages: resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} engines: {node: ^14.0.0 || >=16.0.0} + semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true - semver@7.7.1: - resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} + semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} engines: {node: '>=10'} hasBin: true @@ -2490,6 +2757,10 @@ packages: resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} engines: {node: '>= 18'} + serialize-error@7.0.1: + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} + engines: {node: '>=10'} + serve-static@2.2.0: resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} engines: {node: '>= 18'} @@ -2564,6 +2835,9 @@ packages: spdx-license-ids@3.0.21: resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + stable-hash@0.0.5: resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} @@ -2574,9 +2848,17 @@ packages: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} engines: {node: '>= 0.8'} + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + strip-eof@1.0.0: resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} engines: {node: '>=0.10.0'} @@ -2601,26 +2883,34 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - synckit@0.10.3: - resolution: {integrity: sha512-R1urvuyiTaWfeCggqEvpDJwAlDVdsT9NM+IP//Tk2x7qHCkSvBk/fwFgw/TLAHzZlrAnnazMcRw0ZD8HlYFTEQ==} + synckit@0.11.8: + resolution: {integrity: sha512-+XZ+r1XGIJGeQk3VvXhT6xx/VpbHsRzsTkGgF6E5RX9TTXD0118l87puaEBZ566FhqblC6U0d4XnubznJDm30A==} engines: {node: ^14.18.0 || >=16.0.0} - synckit@0.9.2: - resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} + synckit@0.9.3: + resolution: {integrity: sha512-JJoOEKTfL1urb1mDoEblhD9NhEbWmq9jHEMEnxoC4ujUaZ4itA8vKgwkFAyNClgxplLi9tsUKX+EduK0p/l7sg==} engines: {node: ^14.18.0 || >=16.0.0} - tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + tapable@2.2.2: + resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} engines: {node: '>=6'} + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} + + tar@7.4.3: + resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==} + engines: {node: '>=18'} + text-hex@1.0.0: resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} tinyexec@1.0.1: resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} - tinyglobby@0.2.13: - resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} to-regex-range@5.0.1: @@ -2656,6 +2946,14 @@ packages: peerDependencies: typescript: '>=4.8.4' + ts-declaration-location@1.0.7: + resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==} + peerDependencies: + typescript: '>=4.0.0' + + ts-error@1.0.6: + resolution: {integrity: sha512-tLJxacIQUM82IR7JO1UUkKlYuUTmoY9HBJAmNWFzheSlDS5SPMcNIepejHJa4BpPQLAcbRhRf3GDJzyj6rbKvA==} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -2663,6 +2961,10 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} + type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + type-is@2.0.1: resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} engines: {node: '>= 0.6'} @@ -2701,8 +3003,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unrs-resolver@1.7.2: - resolution: {integrity: sha512-BBKpaylOW8KbHsu378Zky/dGh4ckT/4NW/0SHRABdqRLcQJ2dAOjDo9g97p04sWflm0kqPqpUatxReNV/dqI5A==} + unrs-resolver@1.7.8: + resolution: {integrity: sha512-2zsXwyOXmCX9nGz4vhtZRYhe30V78heAv+KDc21A/KMdovGHbZcixeD5JHEF0DrFXzdytwuzYclcPbvp8A3Jlw==} update-browserslist-db@1.1.3: resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} @@ -2727,6 +3029,10 @@ packages: resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} hasBin: true + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -2737,6 +3043,10 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 + weaviate-client@3.5.5: + resolution: {integrity: sha512-wAjJtJmBQn2KiTPkfUGEzddBIbySpN0y0wAcYPWDCBXVjXqf0UOExujFJ+QeeRp+AjHk15B6BmUaUX9NHVLzsw==} + engines: {node: '>=18.0.0'} + web-streams-polyfill@4.0.0-beta.3: resolution: {integrity: sha512-QW95TCTaHmsYfHDybGMwO5IJIM93I/6vTRk+daHTWFPhwh+C8Cg7j7XyKrwrj8Ib6vYXe0ocYNrmzY4xAAN6ug==} engines: {node: '>= 14'} @@ -2768,6 +3078,10 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -2787,15 +3101,34 @@ packages: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'} + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + yaml-eslint-parser@1.3.0: resolution: {integrity: sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==} engines: {node: ^14.17.0 || >=16.0.0} - yaml@2.7.1: - resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==} - engines: {node: '>= 14'} + yaml@2.8.0: + resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} + engines: {node: '>= 14.6'} hasBin: true + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -2805,59 +3138,60 @@ packages: peerDependencies: zod: ^3.24.1 - zod@3.24.4: - resolution: {integrity: sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==} + zod@3.25.48: + resolution: {integrity: sha512-0X1mz8FtgEIvaxGjdIImYpZEaZMrund9pGXm3M6vM7Reba0e2eI71KPjSCGXBfwKDPwPoywf6waUKc3/tFvX2Q==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: - '@antfu/eslint-config@4.13.0(@typescript-eslint/utils@8.32.0(eslint@9.26.0)(typescript@5.8.3))(@vue/compiler-sfc@3.5.13)(eslint-plugin-format@1.0.1(eslint@9.26.0))(eslint@9.26.0)(typescript@5.8.3)': + '@antfu/eslint-config@4.13.2(@typescript-eslint/utils@8.33.0(eslint@9.28.0)(typescript@5.8.3))(@vue/compiler-sfc@3.5.16)(eslint-plugin-format@1.0.1(eslint@9.28.0))(eslint@9.28.0)(typescript@5.8.3)': dependencies: '@antfu/install-pkg': 1.1.0 '@clack/prompts': 0.10.1 - '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.26.0) + '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.28.0) '@eslint/markdown': 6.4.0 - '@stylistic/eslint-plugin': 4.2.0(eslint@9.26.0)(typescript@5.8.3) - '@typescript-eslint/eslint-plugin': 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3) - '@typescript-eslint/parser': 8.32.0(eslint@9.26.0)(typescript@5.8.3) - '@vitest/eslint-plugin': 1.1.44(@typescript-eslint/utils@8.32.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3) - ansis: 3.17.0 + '@stylistic/eslint-plugin': 4.4.0(eslint@9.28.0)(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.33.0(@typescript-eslint/parser@8.33.0(eslint@9.28.0)(typescript@5.8.3))(eslint@9.28.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.33.0(eslint@9.28.0)(typescript@5.8.3) + '@vitest/eslint-plugin': 1.2.1(eslint@9.28.0)(typescript@5.8.3) + ansis: 4.1.0 cac: 6.7.14 - eslint: 9.26.0 - eslint-config-flat-gitignore: 2.1.0(eslint@9.26.0) - eslint-flat-config-utils: 2.0.1 - eslint-merge-processors: 2.0.0(eslint@9.26.0) - eslint-plugin-antfu: 3.1.1(eslint@9.26.0) - eslint-plugin-command: 3.2.0(eslint@9.26.0) - eslint-plugin-import-x: 4.11.0(eslint@9.26.0)(typescript@5.8.3) - eslint-plugin-jsdoc: 50.6.11(eslint@9.26.0) - eslint-plugin-jsonc: 2.20.0(eslint@9.26.0) - eslint-plugin-n: 17.17.0(eslint@9.26.0) + eslint: 9.28.0 + eslint-config-flat-gitignore: 2.1.0(eslint@9.28.0) + eslint-flat-config-utils: 2.1.0 + eslint-merge-processors: 2.0.0(eslint@9.28.0) + eslint-plugin-antfu: 3.1.1(eslint@9.28.0) + eslint-plugin-command: 3.2.1(eslint@9.28.0) + eslint-plugin-import-x: 4.15.0(@typescript-eslint/utils@8.33.0(eslint@9.28.0)(typescript@5.8.3))(eslint@9.28.0) + eslint-plugin-jsdoc: 50.7.1(eslint@9.28.0) + eslint-plugin-jsonc: 2.20.1(eslint@9.28.0) + eslint-plugin-n: 17.19.0(eslint@9.28.0)(typescript@5.8.3) eslint-plugin-no-only-tests: 3.3.0 - eslint-plugin-perfectionist: 4.12.3(eslint@9.26.0)(typescript@5.8.3) - eslint-plugin-pnpm: 0.3.1(eslint@9.26.0) - eslint-plugin-regexp: 2.7.0(eslint@9.26.0) - eslint-plugin-toml: 0.12.0(eslint@9.26.0) - eslint-plugin-unicorn: 59.0.1(eslint@9.26.0) - eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0) - eslint-plugin-vue: 10.1.0(eslint@9.26.0)(vue-eslint-parser@10.1.3(eslint@9.26.0)) - eslint-plugin-yml: 1.18.0(eslint@9.26.0) - eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.13)(eslint@9.26.0) - globals: 16.0.0 + eslint-plugin-perfectionist: 4.13.0(eslint@9.28.0)(typescript@5.8.3) + eslint-plugin-pnpm: 0.3.1(eslint@9.28.0) + eslint-plugin-regexp: 2.7.0(eslint@9.28.0) + eslint-plugin-toml: 0.12.0(eslint@9.28.0) + eslint-plugin-unicorn: 59.0.1(eslint@9.28.0) + eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.33.0(@typescript-eslint/parser@8.33.0(eslint@9.28.0)(typescript@5.8.3))(eslint@9.28.0)(typescript@5.8.3))(eslint@9.28.0) + eslint-plugin-vue: 10.1.0(eslint@9.28.0)(vue-eslint-parser@10.1.3(eslint@9.28.0)) + eslint-plugin-yml: 1.18.0(eslint@9.28.0) + eslint-processor-vue-blocks: 2.0.0(@vue/compiler-sfc@3.5.16)(eslint@9.28.0) + globals: 16.2.0 jsonc-eslint-parser: 2.4.0 local-pkg: 1.1.1 parse-gitignore: 2.0.0 toml-eslint-parser: 0.10.0 - vue-eslint-parser: 10.1.3(eslint@9.26.0) + vue-eslint-parser: 10.1.3(eslint@9.28.0) yaml-eslint-parser: 1.3.0 optionalDependencies: - eslint-plugin-format: 1.0.1(eslint@9.26.0) + eslint-plugin-format: 1.0.1(eslint@9.28.0) transitivePeerDependencies: - '@eslint/json' - '@typescript-eslint/utils' - '@vue/compiler-sfc' + - eslint-import-resolver-node - supports-color - typescript - vitest @@ -2869,7 +3203,7 @@ snapshots: '@anthropic-ai/sdk@0.27.3': dependencies: - '@types/node': 18.19.97 + '@types/node': 18.19.110 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 agentkeepalive: 4.6.0 @@ -2879,22 +3213,37 @@ snapshots: transitivePeerDependencies: - encoding + '@anush008/tokenizers-darwin-universal@0.0.0': + optional: true + + '@anush008/tokenizers-linux-x64-gnu@0.0.0': + optional: true + + '@anush008/tokenizers-win32-x64-msvc@0.0.0': + optional: true + + '@anush008/tokenizers@0.0.0': + optionalDependencies: + '@anush008/tokenizers-darwin-universal': 0.0.0 + '@anush008/tokenizers-linux-x64-gnu': 0.0.0 + '@anush008/tokenizers-win32-x64-msvc': 0.0.0 + '@babel/helper-string-parser@7.27.1': {} '@babel/helper-validator-identifier@7.27.1': {} - '@babel/parser@7.27.2': + '@babel/parser@7.27.4': dependencies: - '@babel/types': 7.27.1 + '@babel/types': 7.27.3 - '@babel/types@7.27.1': + '@babel/types@7.27.3': dependencies: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.27.1 - '@browserbasehq/sdk@2.5.0': + '@browserbasehq/sdk@2.6.0': dependencies: - '@types/node': 18.19.97 + '@types/node': 18.19.110 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 agentkeepalive: 4.6.0 @@ -2904,17 +3253,17 @@ snapshots: transitivePeerDependencies: - encoding - '@browserbasehq/stagehand@1.14.0(@playwright/test@1.52.0)(deepmerge@4.3.1)(dotenv@16.5.0)(openai@4.97.0(ws@8.18.2)(zod@3.24.4))(zod@3.24.4)': + '@browserbasehq/stagehand@1.14.0(@playwright/test@1.52.0)(deepmerge@4.3.1)(dotenv@16.5.0)(openai@4.104.0(ws@8.18.2)(zod@3.25.48))(zod@3.25.48)': dependencies: '@anthropic-ai/sdk': 0.27.3 - '@browserbasehq/sdk': 2.5.0 + '@browserbasehq/sdk': 2.6.0 '@playwright/test': 1.52.0 deepmerge: 4.3.1 dotenv: 16.5.0 - openai: 4.97.0(ws@8.18.2)(zod@3.24.4) + openai: 4.104.0(ws@8.18.2)(zod@3.25.48) ws: 8.18.2 - zod: 3.24.4 - zod-to-json-schema: 3.24.5(zod@3.24.4) + zod: 3.25.48 + zod-to-json-schema: 3.24.5(zod@3.25.48) transitivePeerDependencies: - bufferutil - encoding @@ -2943,7 +3292,7 @@ snapshots: '@dmitryrechkin/json-schema-to-zod@1.0.1': dependencies: - zod: 3.24.4 + zod: 3.25.48 '@dprint/formatter@0.3.0': {} @@ -2967,42 +3316,35 @@ snapshots: tslib: 2.8.1 optional: true - '@es-joy/jsdoccomment@0.49.0': - dependencies: - comment-parser: 1.4.1 - esquery: 1.6.0 - jsdoc-type-pratt-parser: 4.1.0 - - '@es-joy/jsdoccomment@0.50.0': + '@es-joy/jsdoccomment@0.50.2': dependencies: - '@types/eslint': 9.6.1 '@types/estree': 1.0.7 - '@typescript-eslint/types': 8.32.0 + '@typescript-eslint/types': 8.33.0 comment-parser: 1.4.1 esquery: 1.6.0 jsdoc-type-pratt-parser: 4.1.0 - '@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.26.0)': + '@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.28.0)': dependencies: escape-string-regexp: 4.0.0 - eslint: 9.26.0 + eslint: 9.28.0 ignore: 5.3.2 - '@eslint-community/eslint-utils@4.7.0(eslint@9.26.0)': + '@eslint-community/eslint-utils@4.7.0(eslint@9.28.0)': dependencies: - eslint: 9.26.0 + eslint: 9.28.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} - '@eslint/compat@1.2.9(eslint@9.26.0)': + '@eslint/compat@1.2.9(eslint@9.28.0)': optionalDependencies: - eslint: 9.26.0 + eslint: 9.28.0 '@eslint/config-array@0.20.0': dependencies: '@eslint/object-schema': 2.1.6 - debug: 4.4.0 + debug: 4.4.1 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -3017,10 +3359,14 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 + '@eslint/core@0.14.0': + dependencies: + '@types/json-schema': 7.0.15 + '@eslint/eslintrc@3.3.1': dependencies: ajv: 6.12.6 - debug: 4.4.0 + debug: 4.4.1 espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 @@ -3031,7 +3377,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.26.0': {} + '@eslint/js@9.28.0': {} '@eslint/markdown@6.4.0': dependencies: @@ -3052,6 +3398,27 @@ snapshots: '@eslint/core': 0.13.0 levn: 0.4.1 + '@eslint/plugin-kit@0.3.1': + dependencies: + '@eslint/core': 0.14.0 + levn: 0.4.1 + + '@graphql-typed-document-node/core@3.2.0(graphql@16.11.0)': + dependencies: + graphql: 16.11.0 + + '@grpc/grpc-js@1.13.4': + dependencies: + '@grpc/proto-loader': 0.7.15 + '@js-sdsl/ordered-map': 4.4.2 + + '@grpc/proto-loader@0.7.15': + dependencies: + lodash.camelcase: 4.3.0 + long: 5.3.2 + protobufjs: 7.5.3 + yargs: 17.7.2 + '@humanfs/core@0.19.1': {} '@humanfs/node@0.16.6': @@ -3063,43 +3430,49 @@ snapshots: '@humanwhocodes/retry@0.3.1': {} - '@humanwhocodes/retry@0.4.2': {} + '@humanwhocodes/retry@0.4.3': {} - '@ibm-cloud/watsonx-ai@1.6.4(@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4)))': + '@ibm-cloud/watsonx-ai@1.6.7': dependencies: - '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4))) - '@types/node': 18.19.97 + '@types/node': 18.19.110 extend: 3.0.2 - ibm-cloud-sdk-core: 5.3.2 + ibm-cloud-sdk-core: 5.4.0 transitivePeerDependencies: - - '@langchain/core' - supports-color + '@isaacs/fs-minipass@4.0.1': + dependencies: + minipass: 7.1.2 + '@jridgewell/sourcemap-codec@1.5.0': {} - '@langchain/community@0.3.42(@browserbasehq/sdk@2.5.0)(@browserbasehq/stagehand@1.14.0(@playwright/test@1.52.0)(deepmerge@4.3.1)(dotenv@16.5.0)(openai@4.97.0(ws@8.18.2)(zod@3.24.4))(zod@3.24.4))(@ibm-cloud/watsonx-ai@1.6.4(@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4))))(@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4)))(axios@1.9.0)(ibm-cloud-sdk-core@5.3.2)(ignore@5.3.2)(jsonwebtoken@9.0.2)(lodash@4.17.21)(openai@4.97.0(ws@8.18.2)(zod@3.24.4))(playwright@1.52.0)(ws@8.18.2)': + '@js-sdsl/ordered-map@4.4.2': {} + + '@langchain/community@0.3.45(@browserbasehq/sdk@2.6.0)(@browserbasehq/stagehand@1.14.0(@playwright/test@1.52.0)(deepmerge@4.3.1)(dotenv@16.5.0)(openai@4.104.0(ws@8.18.2)(zod@3.25.48))(zod@3.25.48))(@ibm-cloud/watsonx-ai@1.6.7)(@langchain/core@0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)))(axios@1.9.0)(ibm-cloud-sdk-core@5.4.0)(ignore@5.3.2)(jsonwebtoken@9.0.2)(lodash@4.17.21)(openai@4.104.0(ws@8.18.2)(zod@3.25.48))(playwright@1.52.0)(weaviate-client@3.5.5)(ws@8.18.2)': dependencies: - '@browserbasehq/stagehand': 1.14.0(@playwright/test@1.52.0)(deepmerge@4.3.1)(dotenv@16.5.0)(openai@4.97.0(ws@8.18.2)(zod@3.24.4))(zod@3.24.4) - '@ibm-cloud/watsonx-ai': 1.6.4(@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4))) - '@langchain/core': 0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4)) - '@langchain/openai': 0.5.10(@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4)))(ws@8.18.2) + '@browserbasehq/stagehand': 1.14.0(@playwright/test@1.52.0)(deepmerge@4.3.1)(dotenv@16.5.0)(openai@4.104.0(ws@8.18.2)(zod@3.25.48))(zod@3.25.48) + '@ibm-cloud/watsonx-ai': 1.6.7 + '@langchain/core': 0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)) + '@langchain/openai': 0.5.11(@langchain/core@0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)))(ws@8.18.2) + '@langchain/weaviate': 0.2.0(@langchain/core@0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48))) binary-extensions: 2.3.0 expr-eval: 2.0.2 flat: 5.0.2 - ibm-cloud-sdk-core: 5.3.2 + ibm-cloud-sdk-core: 5.4.0 js-yaml: 4.1.0 - langchain: 0.3.24(@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4)))(axios@1.9.0)(openai@4.97.0(ws@8.18.2)(zod@3.24.4))(ws@8.18.2) - langsmith: 0.3.25(openai@4.97.0(ws@8.18.2)(zod@3.24.4)) - openai: 4.97.0(ws@8.18.2)(zod@3.24.4) + langchain: 0.3.27(@langchain/core@0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)))(axios@1.9.0)(openai@4.104.0(ws@8.18.2)(zod@3.25.48))(ws@8.18.2) + langsmith: 0.3.29(openai@4.104.0(ws@8.18.2)(zod@3.25.48)) + openai: 4.104.0(ws@8.18.2)(zod@3.25.48) uuid: 10.0.0 - zod: 3.24.4 - zod-to-json-schema: 3.24.5(zod@3.24.4) + zod: 3.25.48 + zod-to-json-schema: 3.24.5(zod@3.25.48) optionalDependencies: - '@browserbasehq/sdk': 2.5.0 + '@browserbasehq/sdk': 2.6.0 ignore: 5.3.2 jsonwebtoken: 9.0.2 lodash: 4.17.21 playwright: 1.52.0 + weaviate-client: 3.5.5 ws: 8.18.2 transitivePeerDependencies: - '@langchain/anthropic' @@ -3119,55 +3492,64 @@ snapshots: - handlebars - peggy - '@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4))': + '@langchain/core@0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48))': dependencies: '@cfworker/json-schema': 4.1.1 ansi-styles: 5.2.0 camelcase: 6.3.0 decamelize: 1.2.0 js-tiktoken: 1.0.20 - langsmith: 0.3.25(openai@4.97.0(ws@8.18.2)(zod@3.24.4)) + langsmith: 0.3.29(openai@4.104.0(ws@8.18.2)(zod@3.25.48)) mustache: 4.2.0 p-queue: 6.6.2 p-retry: 4.6.2 uuid: 10.0.0 - zod: 3.24.4 - zod-to-json-schema: 3.24.5(zod@3.24.4) + zod: 3.25.48 + zod-to-json-schema: 3.24.5(zod@3.25.48) transitivePeerDependencies: - openai - '@langchain/openai@0.5.10(@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4)))(ws@8.18.2)': + '@langchain/openai@0.5.11(@langchain/core@0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)))(ws@8.18.2)': dependencies: - '@langchain/core': 0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4)) + '@langchain/core': 0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)) js-tiktoken: 1.0.20 - openai: 4.97.0(ws@8.18.2)(zod@3.24.4) - zod: 3.24.4 - zod-to-json-schema: 3.24.5(zod@3.24.4) + openai: 4.104.0(ws@8.18.2)(zod@3.25.48) + zod: 3.25.48 + zod-to-json-schema: 3.24.5(zod@3.25.48) transitivePeerDependencies: - encoding - ws - '@langchain/textsplitters@0.1.0(@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4)))': + '@langchain/textsplitters@0.1.0(@langchain/core@0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)))': dependencies: - '@langchain/core': 0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4)) + '@langchain/core': 0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)) js-tiktoken: 1.0.20 - '@modelcontextprotocol/sdk@1.11.0': + '@langchain/weaviate@0.2.0(@langchain/core@0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)))': dependencies: + '@langchain/core': 0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)) + uuid: 10.0.0 + weaviate-client: 3.5.5 + transitivePeerDependencies: + - encoding + + '@modelcontextprotocol/sdk@1.12.1': + dependencies: + ajv: 6.12.6 content-type: 1.0.5 cors: 2.8.5 cross-spawn: 7.0.6 - eventsource: 3.0.6 + eventsource: 3.0.7 express: 5.1.0 express-rate-limit: 7.5.0(express@5.1.0) pkce-challenge: 5.0.0 raw-body: 3.0.0 - zod: 3.24.4 - zod-to-json-schema: 3.24.5(zod@3.24.4) + zod: 3.25.48 + zod-to-json-schema: 3.24.5(zod@3.25.48) transitivePeerDependencies: - supports-color - '@napi-rs/wasm-runtime@0.2.9': + '@napi-rs/wasm-runtime@0.2.10': dependencies: '@emnapi/core': 1.4.3 '@emnapi/runtime': 1.4.3 @@ -3188,16 +3570,39 @@ snapshots: '@pkgr/core@0.1.2': {} - '@pkgr/core@0.2.4': {} + '@pkgr/core@0.2.7': {} '@playwright/test@1.52.0': dependencies: playwright: 1.52.0 - '@stylistic/eslint-plugin@4.2.0(eslint@9.26.0)(typescript@5.8.3)': + '@protobufjs/aspromise@1.1.2': {} + + '@protobufjs/base64@1.1.2': {} + + '@protobufjs/codegen@2.0.4': {} + + '@protobufjs/eventemitter@1.1.0': {} + + '@protobufjs/fetch@1.1.0': dependencies: - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0)(typescript@5.8.3) - eslint: 9.26.0 + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + + '@protobufjs/float@1.0.2': {} + + '@protobufjs/inquire@1.1.0': {} + + '@protobufjs/path@1.1.2': {} + + '@protobufjs/pool@1.1.0': {} + + '@protobufjs/utf8@1.1.0': {} + + '@stylistic/eslint-plugin@4.4.0(eslint@9.28.0)(typescript@5.8.3)': + dependencies: + '@typescript-eslint/utils': 8.33.0(eslint@9.28.0)(typescript@5.8.3) + eslint: 9.28.0 eslint-visitor-keys: 4.2.0 espree: 10.3.0 estraverse: 5.3.0 @@ -3217,15 +3622,16 @@ snapshots: dependencies: '@types/ms': 2.1.0 - '@types/eslint@9.6.1': - dependencies: - '@types/estree': 1.0.7 - '@types/json-schema': 7.0.15 - '@types/estree@1.0.7': {} '@types/json-schema@7.0.15': {} + '@types/lodash-es@4.17.12': + dependencies: + '@types/lodash': 4.17.17 + + '@types/lodash@4.17.17': {} + '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 @@ -3234,14 +3640,14 @@ snapshots: '@types/node-fetch@2.6.12': dependencies: - '@types/node': 18.19.97 + '@types/node': 18.19.110 form-data: 4.0.2 - '@types/node@18.19.97': + '@types/node@18.19.110': dependencies: undici-types: 5.26.5 - '@types/node@22.15.14': + '@types/node@22.15.29': dependencies: undici-types: 6.21.0 @@ -3257,176 +3663,195 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 22.15.14 + '@types/node': 22.15.29 - '@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.33.0(@typescript-eslint/parser@8.33.0(eslint@9.28.0)(typescript@5.8.3))(eslint@9.28.0)(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.32.0(eslint@9.26.0)(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.32.0 - '@typescript-eslint/type-utils': 8.32.0(eslint@9.26.0)(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0)(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.32.0 - eslint: 9.26.0 + '@typescript-eslint/parser': 8.33.0(eslint@9.28.0)(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.33.0 + '@typescript-eslint/type-utils': 8.33.0(eslint@9.28.0)(typescript@5.8.3) + '@typescript-eslint/utils': 8.33.0(eslint@9.28.0)(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.33.0 + eslint: 9.28.0 graphemer: 1.4.0 - ignore: 5.3.2 + ignore: 7.0.5 natural-compare: 1.4.0 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.32.0(eslint@9.26.0)(typescript@5.8.3)': + '@typescript-eslint/parser@8.33.0(eslint@9.28.0)(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 8.32.0 - '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.32.0 - debug: 4.4.0 - eslint: 9.26.0 + '@typescript-eslint/scope-manager': 8.33.0 + '@typescript-eslint/types': 8.33.0 + '@typescript-eslint/typescript-estree': 8.33.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.33.0 + debug: 4.4.1 + eslint: 9.28.0 typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.32.0': + '@typescript-eslint/project-service@8.33.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.33.0(typescript@5.8.3) + '@typescript-eslint/types': 8.33.0 + debug: 4.4.1 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/scope-manager@8.33.0': + dependencies: + '@typescript-eslint/types': 8.33.0 + '@typescript-eslint/visitor-keys': 8.33.0 + + '@typescript-eslint/tsconfig-utils@8.33.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/visitor-keys': 8.32.0 + typescript: 5.8.3 - '@typescript-eslint/type-utils@8.32.0(eslint@9.26.0)(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.33.0(eslint@9.28.0)(typescript@5.8.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0)(typescript@5.8.3) - debug: 4.4.0 - eslint: 9.26.0 + '@typescript-eslint/typescript-estree': 8.33.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.33.0(eslint@9.28.0)(typescript@5.8.3) + debug: 4.4.1 + eslint: 9.28.0 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.32.0': {} + '@typescript-eslint/types@8.33.0': {} - '@typescript-eslint/typescript-estree@8.32.0(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.33.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/visitor-keys': 8.32.0 - debug: 4.4.0 + '@typescript-eslint/project-service': 8.33.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.33.0(typescript@5.8.3) + '@typescript-eslint/types': 8.33.0 + '@typescript-eslint/visitor-keys': 8.33.0 + debug: 4.4.1 fast-glob: 3.3.3 is-glob: 4.0.3 minimatch: 9.0.5 - semver: 7.7.1 + semver: 7.7.2 ts-api-utils: 2.1.0(typescript@5.8.3) typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.32.0(eslint@9.26.0)(typescript@5.8.3)': + '@typescript-eslint/utils@8.33.0(eslint@9.28.0)(typescript@5.8.3)': dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) - '@typescript-eslint/scope-manager': 8.32.0 - '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) - eslint: 9.26.0 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0) + '@typescript-eslint/scope-manager': 8.33.0 + '@typescript-eslint/types': 8.33.0 + '@typescript-eslint/typescript-estree': 8.33.0(typescript@5.8.3) + eslint: 9.28.0 typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.32.0': + '@typescript-eslint/visitor-keys@8.33.0': dependencies: - '@typescript-eslint/types': 8.32.0 + '@typescript-eslint/types': 8.33.0 eslint-visitor-keys: 4.2.0 - '@unrs/resolver-binding-darwin-arm64@1.7.2': + '@unrs/resolver-binding-darwin-arm64@1.7.8': optional: true - '@unrs/resolver-binding-darwin-x64@1.7.2': + '@unrs/resolver-binding-darwin-x64@1.7.8': optional: true - '@unrs/resolver-binding-freebsd-x64@1.7.2': + '@unrs/resolver-binding-freebsd-x64@1.7.8': optional: true - '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.2': + '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.8': optional: true - '@unrs/resolver-binding-linux-arm-musleabihf@1.7.2': + '@unrs/resolver-binding-linux-arm-musleabihf@1.7.8': optional: true - '@unrs/resolver-binding-linux-arm64-gnu@1.7.2': + '@unrs/resolver-binding-linux-arm64-gnu@1.7.8': optional: true - '@unrs/resolver-binding-linux-arm64-musl@1.7.2': + '@unrs/resolver-binding-linux-arm64-musl@1.7.8': optional: true - '@unrs/resolver-binding-linux-ppc64-gnu@1.7.2': + '@unrs/resolver-binding-linux-ppc64-gnu@1.7.8': optional: true - '@unrs/resolver-binding-linux-riscv64-gnu@1.7.2': + '@unrs/resolver-binding-linux-riscv64-gnu@1.7.8': optional: true - '@unrs/resolver-binding-linux-riscv64-musl@1.7.2': + '@unrs/resolver-binding-linux-riscv64-musl@1.7.8': optional: true - '@unrs/resolver-binding-linux-s390x-gnu@1.7.2': + '@unrs/resolver-binding-linux-s390x-gnu@1.7.8': optional: true - '@unrs/resolver-binding-linux-x64-gnu@1.7.2': + '@unrs/resolver-binding-linux-x64-gnu@1.7.8': optional: true - '@unrs/resolver-binding-linux-x64-musl@1.7.2': + '@unrs/resolver-binding-linux-x64-musl@1.7.8': optional: true - '@unrs/resolver-binding-wasm32-wasi@1.7.2': + '@unrs/resolver-binding-wasm32-wasi@1.7.8': dependencies: - '@napi-rs/wasm-runtime': 0.2.9 + '@napi-rs/wasm-runtime': 0.2.10 optional: true - '@unrs/resolver-binding-win32-arm64-msvc@1.7.2': + '@unrs/resolver-binding-win32-arm64-msvc@1.7.8': optional: true - '@unrs/resolver-binding-win32-ia32-msvc@1.7.2': + '@unrs/resolver-binding-win32-ia32-msvc@1.7.8': optional: true - '@unrs/resolver-binding-win32-x64-msvc@1.7.2': + '@unrs/resolver-binding-win32-x64-msvc@1.7.8': optional: true - '@vitest/eslint-plugin@1.1.44(@typescript-eslint/utils@8.32.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3)': + '@vitest/eslint-plugin@1.2.1(eslint@9.28.0)(typescript@5.8.3)': dependencies: - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0)(typescript@5.8.3) - eslint: 9.26.0 + '@typescript-eslint/utils': 8.33.0(eslint@9.28.0)(typescript@5.8.3) + eslint: 9.28.0 optionalDependencies: typescript: 5.8.3 + transitivePeerDependencies: + - supports-color - '@vue/compiler-core@3.5.13': + '@vue/compiler-core@3.5.16': dependencies: - '@babel/parser': 7.27.2 - '@vue/shared': 3.5.13 + '@babel/parser': 7.27.4 + '@vue/shared': 3.5.16 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.13': + '@vue/compiler-dom@3.5.16': dependencies: - '@vue/compiler-core': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/compiler-core': 3.5.16 + '@vue/shared': 3.5.16 - '@vue/compiler-sfc@3.5.13': + '@vue/compiler-sfc@3.5.16': dependencies: - '@babel/parser': 7.27.2 - '@vue/compiler-core': 3.5.13 - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 + '@babel/parser': 7.27.4 + '@vue/compiler-core': 3.5.16 + '@vue/compiler-dom': 3.5.16 + '@vue/compiler-ssr': 3.5.16 + '@vue/shared': 3.5.16 estree-walker: 2.0.2 magic-string: 0.30.17 - postcss: 8.5.3 + postcss: 8.5.4 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.13': + '@vue/compiler-ssr@3.5.16': dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/compiler-dom': 3.5.16 + '@vue/shared': 3.5.16 - '@vue/shared@3.5.13': {} + '@vue/shared@3.5.16': {} + + abort-controller-x@0.4.3: {} abort-controller@3.0.0: dependencies: @@ -3454,13 +3879,15 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 + ansi-regex@5.0.1: {} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 ansi-styles@5.2.0: {} - ansis@3.17.0: {} + ansis@4.1.0: {} are-docs-informative@0.0.2: {} @@ -3470,9 +3897,9 @@ snapshots: asynckit@0.4.0: {} - axios@1.9.0(debug@4.4.0): + axios@1.9.0(debug@4.4.1): dependencies: - follow-redirects: 1.15.9(debug@4.4.0) + follow-redirects: 1.15.9(debug@4.4.1) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -3488,7 +3915,7 @@ snapshots: dependencies: bytes: 3.1.2 content-type: 1.0.5 - debug: 4.4.0 + debug: 4.4.1 http-errors: 2.0.0 iconv-lite: 0.6.3 on-finished: 2.4.1 @@ -3500,6 +3927,8 @@ snapshots: boolbase@1.0.0: {} + boolean@3.2.0: {} + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -3513,12 +3942,12 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.24.5: + browserslist@4.25.0: dependencies: - caniuse-lite: 1.0.30001717 - electron-to-chromium: 1.5.150 + caniuse-lite: 1.0.30001720 + electron-to-chromium: 1.5.161 node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.24.5) + update-browserslist-db: 1.1.3(browserslist@4.25.0) buffer-equal-constant-time@1.0.1: {} @@ -3547,7 +3976,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001717: {} + caniuse-lite@1.0.30001720: {} ccount@2.0.1: {} @@ -3558,12 +3987,22 @@ snapshots: character-entities@2.0.2: {} + chownr@2.0.0: {} + + chownr@3.0.0: {} + ci-info@4.2.0: {} clean-regexp@1.0.0: dependencies: escape-string-regexp: 1.0.5 + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + color-convert@1.9.3: dependencies: color-name: 1.1.3 @@ -3603,7 +4042,7 @@ snapshots: confbox@0.2.2: {} - console-table-printer@2.12.1: + console-table-printer@2.14.1: dependencies: simple-wcswidth: 1.0.1 @@ -3619,13 +4058,19 @@ snapshots: core-js-compat@3.42.0: dependencies: - browserslist: 4.24.5 + browserslist: 4.25.0 cors@2.8.5: dependencies: object-assign: 4.1.1 vary: 1.1.2 + cross-fetch@3.2.0: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + cross-spawn@6.0.6: dependencies: nice-try: 1.0.5 @@ -3642,11 +4087,7 @@ snapshots: cssesc@3.0.0: {} - debug@3.2.7: - dependencies: - ms: 2.1.3 - - debug@4.4.0: + debug@4.4.1: dependencies: ms: 2.1.3 @@ -3660,12 +4101,26 @@ snapshots: deepmerge@4.3.1: {} + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + delayed-stream@1.0.0: {} depd@2.0.0: {} dequal@2.0.3: {} + detect-node@2.1.0: {} + devlop@1.1.0: dependencies: dequal: 2.0.3 @@ -3684,7 +4139,9 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.150: {} + electron-to-chromium@1.5.161: {} + + emoji-regex@8.0.0: {} enabled@2.0.0: {} @@ -3697,7 +4154,7 @@ snapshots: enhanced-resolve@5.18.1: dependencies: graceful-fs: 4.2.11 - tapable: 2.2.1 + tapable: 2.2.2 entities@4.5.0: {} @@ -3716,6 +4173,8 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 + es6-error@4.1.1: {} + escalade@3.2.0: {} escape-html@1.0.3: {} @@ -3726,233 +4185,236 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.5.1(eslint@9.26.0): + eslint-compat-utils@0.5.1(eslint@9.28.0): dependencies: - eslint: 9.26.0 - semver: 7.7.1 + eslint: 9.28.0 + semver: 7.7.2 - eslint-compat-utils@0.6.5(eslint@9.26.0): + eslint-compat-utils@0.6.5(eslint@9.28.0): dependencies: - eslint: 9.26.0 - semver: 7.7.1 + eslint: 9.28.0 + semver: 7.7.2 - eslint-config-flat-gitignore@2.1.0(eslint@9.26.0): + eslint-config-flat-gitignore@2.1.0(eslint@9.28.0): dependencies: - '@eslint/compat': 1.2.9(eslint@9.26.0) - eslint: 9.26.0 + '@eslint/compat': 1.2.9(eslint@9.28.0) + eslint: 9.28.0 - eslint-flat-config-utils@2.0.1: + eslint-flat-config-utils@2.1.0: dependencies: pathe: 2.0.3 - eslint-formatting-reporter@0.0.0(eslint@9.26.0): + eslint-formatting-reporter@0.0.0(eslint@9.28.0): dependencies: - eslint: 9.26.0 + eslint: 9.28.0 prettier-linter-helpers: 1.0.0 - eslint-import-resolver-node@0.3.9: + eslint-import-context@0.1.6(unrs-resolver@1.7.8): dependencies: - debug: 3.2.7 - is-core-module: 2.16.1 - resolve: 1.22.10 - transitivePeerDependencies: - - supports-color + get-tsconfig: 4.10.1 + stable-hash: 0.0.5 + optionalDependencies: + unrs-resolver: 1.7.8 - eslint-json-compat-utils@0.2.1(eslint@9.26.0)(jsonc-eslint-parser@2.4.0): + eslint-json-compat-utils@0.2.1(eslint@9.28.0)(jsonc-eslint-parser@2.4.0): dependencies: - eslint: 9.26.0 + eslint: 9.28.0 esquery: 1.6.0 jsonc-eslint-parser: 2.4.0 - eslint-merge-processors@2.0.0(eslint@9.26.0): + eslint-merge-processors@2.0.0(eslint@9.28.0): dependencies: - eslint: 9.26.0 + eslint: 9.28.0 eslint-parser-plain@0.1.1: {} - eslint-plugin-antfu@3.1.1(eslint@9.26.0): + eslint-plugin-antfu@3.1.1(eslint@9.28.0): dependencies: - eslint: 9.26.0 + eslint: 9.28.0 - eslint-plugin-command@3.2.0(eslint@9.26.0): + eslint-plugin-command@3.2.1(eslint@9.28.0): dependencies: - '@es-joy/jsdoccomment': 0.50.0 - eslint: 9.26.0 + '@es-joy/jsdoccomment': 0.50.2 + eslint: 9.28.0 - eslint-plugin-es-x@7.8.0(eslint@9.26.0): + eslint-plugin-es-x@7.8.0(eslint@9.28.0): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0) '@eslint-community/regexpp': 4.12.1 - eslint: 9.26.0 - eslint-compat-utils: 0.5.1(eslint@9.26.0) + eslint: 9.28.0 + eslint-compat-utils: 0.5.1(eslint@9.28.0) - eslint-plugin-format@1.0.1(eslint@9.26.0): + eslint-plugin-format@1.0.1(eslint@9.28.0): dependencies: '@dprint/formatter': 0.3.0 '@dprint/markdown': 0.17.8 '@dprint/toml': 0.6.4 - eslint: 9.26.0 - eslint-formatting-reporter: 0.0.0(eslint@9.26.0) + eslint: 9.28.0 + eslint-formatting-reporter: 0.0.0(eslint@9.28.0) eslint-parser-plain: 0.1.1 prettier: 3.5.3 - synckit: 0.9.2 + synckit: 0.9.3 - eslint-plugin-import-x@4.11.0(eslint@9.26.0)(typescript@5.8.3): + eslint-plugin-import-x@4.15.0(@typescript-eslint/utils@8.33.0(eslint@9.28.0)(typescript@5.8.3))(eslint@9.28.0): dependencies: - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0)(typescript@5.8.3) + '@typescript-eslint/types': 8.33.0 comment-parser: 1.4.1 - debug: 4.4.0 - eslint: 9.26.0 - eslint-import-resolver-node: 0.3.9 - get-tsconfig: 4.10.0 + debug: 4.4.1 + eslint: 9.28.0 + eslint-import-context: 0.1.6(unrs-resolver@1.7.8) is-glob: 4.0.3 minimatch: 10.0.1 - semver: 7.7.1 + semver: 7.7.2 stable-hash: 0.0.5 - tslib: 2.8.1 - unrs-resolver: 1.7.2 + unrs-resolver: 1.7.8 + optionalDependencies: + '@typescript-eslint/utils': 8.33.0(eslint@9.28.0)(typescript@5.8.3) transitivePeerDependencies: - supports-color - - typescript - eslint-plugin-jsdoc@50.6.11(eslint@9.26.0): + eslint-plugin-jsdoc@50.7.1(eslint@9.28.0): dependencies: - '@es-joy/jsdoccomment': 0.49.0 + '@es-joy/jsdoccomment': 0.50.2 are-docs-informative: 0.0.2 comment-parser: 1.4.1 - debug: 4.4.0 + debug: 4.4.1 escape-string-regexp: 4.0.0 - eslint: 9.26.0 + eslint: 9.28.0 espree: 10.3.0 esquery: 1.6.0 parse-imports-exports: 0.2.4 - semver: 7.7.1 + semver: 7.7.2 spdx-expression-parse: 4.0.0 transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.20.0(eslint@9.26.0): + eslint-plugin-jsonc@2.20.1(eslint@9.28.0): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) - eslint: 9.26.0 - eslint-compat-utils: 0.6.5(eslint@9.26.0) - eslint-json-compat-utils: 0.2.1(eslint@9.26.0)(jsonc-eslint-parser@2.4.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0) + eslint: 9.28.0 + eslint-compat-utils: 0.6.5(eslint@9.28.0) + eslint-json-compat-utils: 0.2.1(eslint@9.28.0)(jsonc-eslint-parser@2.4.0) espree: 10.3.0 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 - synckit: 0.10.3 + synckit: 0.11.8 transitivePeerDependencies: - '@eslint/json' - eslint-plugin-n@17.17.0(eslint@9.26.0): + eslint-plugin-n@17.19.0(eslint@9.28.0)(typescript@5.8.3): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0) + '@typescript-eslint/utils': 8.33.0(eslint@9.28.0)(typescript@5.8.3) enhanced-resolve: 5.18.1 - eslint: 9.26.0 - eslint-plugin-es-x: 7.8.0(eslint@9.26.0) - get-tsconfig: 4.10.0 + eslint: 9.28.0 + eslint-plugin-es-x: 7.8.0(eslint@9.28.0) + get-tsconfig: 4.10.1 globals: 15.15.0 ignore: 5.3.2 minimatch: 9.0.5 - semver: 7.7.1 + semver: 7.7.2 + ts-declaration-location: 1.0.7(typescript@5.8.3) + transitivePeerDependencies: + - supports-color + - typescript eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@4.12.3(eslint@9.26.0)(typescript@5.8.3): + eslint-plugin-perfectionist@4.13.0(eslint@9.28.0)(typescript@5.8.3): dependencies: - '@typescript-eslint/types': 8.32.0 - '@typescript-eslint/utils': 8.32.0(eslint@9.26.0)(typescript@5.8.3) - eslint: 9.26.0 + '@typescript-eslint/types': 8.33.0 + '@typescript-eslint/utils': 8.33.0(eslint@9.28.0)(typescript@5.8.3) + eslint: 9.28.0 natural-orderby: 5.0.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-pnpm@0.3.1(eslint@9.26.0): + eslint-plugin-pnpm@0.3.1(eslint@9.28.0): dependencies: - eslint: 9.26.0 + eslint: 9.28.0 find-up-simple: 1.0.1 jsonc-eslint-parser: 2.4.0 pathe: 2.0.3 pnpm-workspace-yaml: 0.3.1 - tinyglobby: 0.2.13 + tinyglobby: 0.2.14 yaml-eslint-parser: 1.3.0 - eslint-plugin-regexp@2.7.0(eslint@9.26.0): + eslint-plugin-regexp@2.7.0(eslint@9.28.0): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0) '@eslint-community/regexpp': 4.12.1 comment-parser: 1.4.1 - eslint: 9.26.0 + eslint: 9.28.0 jsdoc-type-pratt-parser: 4.1.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-toml@0.12.0(eslint@9.26.0): + eslint-plugin-toml@0.12.0(eslint@9.28.0): dependencies: - debug: 4.4.0 - eslint: 9.26.0 - eslint-compat-utils: 0.6.5(eslint@9.26.0) + debug: 4.4.1 + eslint: 9.28.0 + eslint-compat-utils: 0.6.5(eslint@9.28.0) lodash: 4.17.21 toml-eslint-parser: 0.10.0 transitivePeerDependencies: - supports-color - eslint-plugin-unicorn@59.0.1(eslint@9.26.0): + eslint-plugin-unicorn@59.0.1(eslint@9.28.0): dependencies: '@babel/helper-validator-identifier': 7.27.1 - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0) '@eslint/plugin-kit': 0.2.8 ci-info: 4.2.0 clean-regexp: 1.0.0 core-js-compat: 3.42.0 - eslint: 9.26.0 + eslint: 9.28.0 esquery: 1.6.0 find-up-simple: 1.0.1 - globals: 16.0.0 + globals: 16.2.0 indent-string: 5.0.0 is-builtin-module: 5.0.0 jsesc: 3.1.0 pluralize: 8.0.0 regexp-tree: 0.1.27 regjsparser: 0.12.0 - semver: 7.7.1 + semver: 7.7.2 strip-indent: 4.0.0 - eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0): + eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.33.0(@typescript-eslint/parser@8.33.0(eslint@9.28.0)(typescript@5.8.3))(eslint@9.28.0)(typescript@5.8.3))(eslint@9.28.0): dependencies: - eslint: 9.26.0 + eslint: 9.28.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0)(typescript@5.8.3))(eslint@9.26.0)(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.33.0(@typescript-eslint/parser@8.33.0(eslint@9.28.0)(typescript@5.8.3))(eslint@9.28.0)(typescript@5.8.3) - eslint-plugin-vue@10.1.0(eslint@9.26.0)(vue-eslint-parser@10.1.3(eslint@9.26.0)): + eslint-plugin-vue@10.1.0(eslint@9.28.0)(vue-eslint-parser@10.1.3(eslint@9.28.0)): dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) - eslint: 9.26.0 + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0) + eslint: 9.28.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.1.2 - semver: 7.7.1 - vue-eslint-parser: 10.1.3(eslint@9.26.0) + semver: 7.7.2 + vue-eslint-parser: 10.1.3(eslint@9.28.0) xml-name-validator: 4.0.0 - eslint-plugin-yml@1.18.0(eslint@9.26.0): + eslint-plugin-yml@1.18.0(eslint@9.28.0): dependencies: - debug: 4.4.0 + debug: 4.4.1 escape-string-regexp: 4.0.0 - eslint: 9.26.0 - eslint-compat-utils: 0.6.5(eslint@9.26.0) + eslint: 9.28.0 + eslint-compat-utils: 0.6.5(eslint@9.28.0) natural-compare: 1.4.0 yaml-eslint-parser: 1.3.0 transitivePeerDependencies: - supports-color - eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.13)(eslint@9.26.0): + eslint-processor-vue-blocks@2.0.0(@vue/compiler-sfc@3.5.16)(eslint@9.28.0): dependencies: - '@vue/compiler-sfc': 3.5.13 - eslint: 9.26.0 + '@vue/compiler-sfc': 3.5.16 + eslint: 9.28.0 eslint-scope@8.3.0: dependencies: @@ -3963,26 +4425,25 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.26.0: + eslint@9.28.0: dependencies: - '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0) + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.20.0 '@eslint/config-helpers': 0.2.2 - '@eslint/core': 0.13.0 + '@eslint/core': 0.14.0 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.26.0 - '@eslint/plugin-kit': 0.2.8 + '@eslint/js': 9.28.0 + '@eslint/plugin-kit': 0.3.1 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.4.2 - '@modelcontextprotocol/sdk': 1.11.0 + '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.7 '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.4.0 + debug: 4.4.1 escape-string-regexp: 4.0.0 eslint-scope: 8.3.0 eslint-visitor-keys: 4.2.0 @@ -4001,7 +4462,6 @@ snapshots: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - zod: 3.24.4 transitivePeerDependencies: - supports-color @@ -4039,11 +4499,11 @@ snapshots: events@3.3.0: {} - eventsource-parser@3.0.1: {} + eventsource-parser@3.0.2: {} - eventsource@3.0.6: + eventsource@3.0.7: dependencies: - eventsource-parser: 3.0.1 + eventsource-parser: 3.0.2 execa@1.0.0: dependencies: @@ -4069,7 +4529,7 @@ snapshots: content-type: 1.0.5 cookie: 0.7.2 cookie-signature: 1.2.2 - debug: 4.4.0 + debug: 4.4.1 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -4113,6 +4573,13 @@ snapshots: fast-levenshtein@2.0.6: {} + fastembed@1.14.4: + dependencies: + '@anush008/tokenizers': 0.0.0 + onnxruntime-node: 1.21.0 + progress: 2.0.3 + tar: 6.2.1 + fastq@1.19.1: dependencies: reusify: 1.1.0 @@ -4121,7 +4588,7 @@ snapshots: dependencies: format: 0.2.2 - fdir@6.4.4(picomatch@4.0.2): + fdir@6.4.5(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -4143,7 +4610,7 @@ snapshots: finalhandler@2.1.0: dependencies: - debug: 4.4.0 + debug: 4.4.1 encodeurl: 2.0.0 escape-html: 1.0.3 on-finished: 2.4.1 @@ -4170,9 +4637,9 @@ snapshots: fn.name@1.1.0: {} - follow-redirects@1.15.9(debug@4.4.0): + follow-redirects@1.15.9(debug@4.4.1): optionalDependencies: - debug: 4.4.0 + debug: 4.4.1 form-data-encoder@1.7.2: {} @@ -4200,11 +4667,17 @@ snapshots: fresh@2.0.0: {} + fs-minipass@2.1.0: + dependencies: + minipass: 3.3.6 + fsevents@2.3.2: optional: true function-bind@1.1.2: {} + get-caller-file@2.0.5: {} + get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -4227,7 +4700,7 @@ snapshots: dependencies: pump: 3.0.2 - get-tsconfig@4.10.0: + get-tsconfig@4.10.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -4239,11 +4712,25 @@ snapshots: dependencies: is-glob: 4.0.3 + global-agent@3.0.0: + dependencies: + boolean: 3.2.0 + es6-error: 4.1.1 + matcher: 3.0.0 + roarr: 2.15.4 + semver: 7.7.2 + serialize-error: 7.0.1 + globals@14.0.0: {} globals@15.15.0: {} - globals@16.0.0: {} + globals@16.2.0: {} + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.2.0 gopd@1.2.0: {} @@ -4251,8 +4738,22 @@ snapshots: graphemer@1.4.0: {} + graphql-request@6.1.0(graphql@16.11.0): + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@16.11.0) + cross-fetch: 3.2.0 + graphql: 16.11.0 + transitivePeerDependencies: + - encoding + + graphql@16.11.0: {} + has-flag@4.0.0: {} + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + has-symbols@1.1.0: {} has-tostringtag@1.0.2: @@ -4275,14 +4776,14 @@ snapshots: dependencies: ms: 2.1.3 - ibm-cloud-sdk-core@5.3.2: + ibm-cloud-sdk-core@5.4.0: dependencies: '@types/debug': 4.1.12 - '@types/node': 18.19.97 + '@types/node': 18.19.110 '@types/tough-cookie': 4.0.5 - axios: 1.9.0(debug@4.4.0) + axios: 1.9.0(debug@4.4.1) camelcase: 6.3.0 - debug: 4.4.0 + debug: 4.4.1 dotenv: 16.5.0 extend: 3.0.2 file-type: 16.5.4 @@ -4303,6 +4804,8 @@ snapshots: ignore@5.3.2: {} + ignore@7.0.5: {} + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -4330,6 +4833,8 @@ snapshots: is-extglob@2.1.1: {} + is-fullwidth-code-point@3.0.0: {} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -4366,12 +4871,14 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} + json-stringify-safe@5.0.1: {} + jsonc-eslint-parser@2.4.0: dependencies: acorn: 8.14.1 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - semver: 7.7.1 + semver: 7.7.2 jsonpointer@5.0.1: {} @@ -4386,9 +4893,9 @@ snapshots: lodash.isstring: 4.0.1 lodash.once: 4.1.1 ms: 2.1.3 - semver: 7.7.1 + semver: 7.7.2 - jwa@1.4.1: + jwa@1.4.2: dependencies: buffer-equal-constant-time: 1.0.1 ecdsa-sig-formatter: 1.0.11 @@ -4396,7 +4903,7 @@ snapshots: jws@3.2.2: dependencies: - jwa: 1.4.1 + jwa: 1.4.2 safe-buffer: 5.2.1 keyv@4.5.4: @@ -4405,39 +4912,39 @@ snapshots: kuler@2.0.0: {} - langchain@0.3.24(@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4)))(axios@1.9.0)(openai@4.97.0(ws@8.18.2)(zod@3.24.4))(ws@8.18.2): + langchain@0.3.27(@langchain/core@0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)))(axios@1.9.0)(openai@4.104.0(ws@8.18.2)(zod@3.25.48))(ws@8.18.2): dependencies: - '@langchain/core': 0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4)) - '@langchain/openai': 0.5.10(@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4)))(ws@8.18.2) - '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.54(openai@4.97.0(ws@8.18.2)(zod@3.24.4))) + '@langchain/core': 0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)) + '@langchain/openai': 0.5.11(@langchain/core@0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48)))(ws@8.18.2) + '@langchain/textsplitters': 0.1.0(@langchain/core@0.3.57(openai@4.104.0(ws@8.18.2)(zod@3.25.48))) js-tiktoken: 1.0.20 js-yaml: 4.1.0 jsonpointer: 5.0.1 - langsmith: 0.3.25(openai@4.97.0(ws@8.18.2)(zod@3.24.4)) + langsmith: 0.3.29(openai@4.104.0(ws@8.18.2)(zod@3.25.48)) openapi-types: 12.1.3 p-retry: 4.6.2 uuid: 10.0.0 - yaml: 2.7.1 - zod: 3.24.4 - zod-to-json-schema: 3.24.5(zod@3.24.4) + yaml: 2.8.0 + zod: 3.25.48 + zod-to-json-schema: 3.24.5(zod@3.25.48) optionalDependencies: - axios: 1.9.0(debug@4.4.0) + axios: 1.9.0(debug@4.4.1) transitivePeerDependencies: - encoding - openai - ws - langsmith@0.3.25(openai@4.97.0(ws@8.18.2)(zod@3.24.4)): + langsmith@0.3.29(openai@4.104.0(ws@8.18.2)(zod@3.25.48)): dependencies: '@types/uuid': 10.0.0 chalk: 4.1.2 - console-table-printer: 2.12.1 + console-table-printer: 2.14.1 p-queue: 6.6.2 p-retry: 4.6.2 - semver: 7.7.1 + semver: 7.7.2 uuid: 10.0.0 optionalDependencies: - openai: 4.97.0(ws@8.18.2)(zod@3.24.4) + openai: 4.104.0(ws@8.18.2)(zod@3.25.48) levn@0.4.1: dependencies: @@ -4454,6 +4961,10 @@ snapshots: dependencies: p-locate: 5.0.0 + lodash-es@4.17.21: {} + + lodash.camelcase@4.3.0: {} + lodash.includes@4.3.0: {} lodash.isboolean@3.0.3: {} @@ -4481,6 +4992,8 @@ snapshots: safe-stable-stringify: 2.5.0 triple-beam: 1.4.1 + long@5.3.2: {} + longest-streak@3.1.0: {} magic-string@0.30.17: @@ -4489,6 +5002,10 @@ snapshots: markdown-table@3.0.4: {} + matcher@3.0.0: + dependencies: + escape-string-regexp: 4.0.0 + math-intrinsics@1.1.0: {} mdast-util-find-and-replace@3.0.2: @@ -4789,7 +5306,7 @@ snapshots: micromark@4.0.2: dependencies: '@types/debug': 4.1.12 - debug: 4.4.0 + debug: 4.4.1 decode-named-character-reference: 1.1.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 @@ -4841,6 +5358,27 @@ snapshots: minimist@1.2.8: {} + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + + minipass@7.1.2: {} + + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + minizlib@3.0.2: + dependencies: + minipass: 7.1.2 + + mkdirp@1.0.4: {} + + mkdirp@3.0.1: {} + mlly@1.7.4: dependencies: acorn: 8.14.1 @@ -4854,7 +5392,7 @@ snapshots: nanoid@3.3.11: {} - napi-postinstall@0.2.3: {} + napi-postinstall@0.2.4: {} natural-compare@1.4.0: {} @@ -4862,6 +5400,21 @@ snapshots: negotiator@1.0.0: {} + nice-grpc-client-middleware-retry@3.1.11: + dependencies: + abort-controller-x: 0.4.3 + nice-grpc-common: 2.0.2 + + nice-grpc-common@2.0.2: + dependencies: + ts-error: 1.0.6 + + nice-grpc@2.1.12: + dependencies: + '@grpc/grpc-js': 1.13.4 + abort-controller-x: 0.4.3 + nice-grpc-common: 2.0.2 + nice-try@1.0.5: {} node-domexception@1.0.0: {} @@ -4884,6 +5437,8 @@ snapshots: object-inspect@1.13.4: {} + object-keys@1.1.1: {} + on-finished@2.4.1: dependencies: ee-first: 1.1.1 @@ -4896,9 +5451,17 @@ snapshots: dependencies: fn.name: 1.1.0 - openai@4.97.0(ws@8.18.2)(zod@3.24.4): + onnxruntime-common@1.21.0: {} + + onnxruntime-node@1.21.0: + dependencies: + global-agent: 3.0.0 + onnxruntime-common: 1.21.0 + tar: 7.4.3 + + openai@4.104.0(ws@8.18.2)(zod@3.25.48): dependencies: - '@types/node': 18.19.97 + '@types/node': 18.19.110 '@types/node-fetch': 2.6.12 abort-controller: 3.0.0 agentkeepalive: 4.6.0 @@ -4907,7 +5470,7 @@ snapshots: node-fetch: 2.7.0 optionalDependencies: ws: 8.18.2 - zod: 3.24.4 + zod: 3.25.48 transitivePeerDependencies: - encoding @@ -5008,14 +5571,14 @@ snapshots: pnpm-workspace-yaml@0.3.1: dependencies: - yaml: 2.7.1 + yaml: 2.8.0 postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss@8.5.3: + postcss@8.5.4: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 @@ -5031,6 +5594,23 @@ snapshots: process@0.11.10: {} + progress@2.0.3: {} + + protobufjs@7.5.3: + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 22.15.29 + long: 5.3.2 + proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 @@ -5105,6 +5685,8 @@ snapshots: dependencies: jsesc: 3.0.2 + require-directory@2.1.1: {} + requires-port@1.0.0: {} resolve-from@4.0.0: {} @@ -5119,15 +5701,24 @@ snapshots: retry-axios@2.6.0(axios@1.9.0): dependencies: - axios: 1.9.0(debug@4.4.0) + axios: 1.9.0(debug@4.4.1) retry@0.13.1: {} reusify@1.1.0: {} + roarr@2.15.4: + dependencies: + boolean: 3.2.0 + detect-node: 2.1.0 + globalthis: 1.0.4 + json-stringify-safe: 5.0.1 + semver-compare: 1.0.0 + sprintf-js: 1.1.3 + router@2.2.0: dependencies: - debug: 4.4.0 + debug: 4.4.1 depd: 2.0.0 is-promise: 4.0.0 parseurl: 1.3.3 @@ -5151,13 +5742,15 @@ snapshots: refa: 0.12.1 regexp-ast-analysis: 0.7.1 + semver-compare@1.0.0: {} + semver@5.7.2: {} - semver@7.7.1: {} + semver@7.7.2: {} send@1.2.0: dependencies: - debug: 4.4.0 + debug: 4.4.1 encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 @@ -5171,6 +5764,10 @@ snapshots: transitivePeerDependencies: - supports-color + serialize-error@7.0.1: + dependencies: + type-fest: 0.13.1 + serve-static@2.2.0: dependencies: encodeurl: 2.0.0 @@ -5255,16 +5852,28 @@ snapshots: spdx-license-ids@3.0.21: {} + sprintf-js@1.1.3: {} + stable-hash@0.0.5: {} stack-trace@0.0.10: {} statuses@2.0.1: {} + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + strip-eof@1.0.0: {} strip-indent@4.0.0: @@ -5284,25 +5893,42 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - synckit@0.10.3: + synckit@0.11.8: dependencies: - '@pkgr/core': 0.2.4 - tslib: 2.8.1 + '@pkgr/core': 0.2.7 - synckit@0.9.2: + synckit@0.9.3: dependencies: '@pkgr/core': 0.1.2 tslib: 2.8.1 - tapable@2.2.1: {} + tapable@2.2.2: {} + + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + + tar@7.4.3: + dependencies: + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.2 + minizlib: 3.0.2 + mkdirp: 3.0.1 + yallist: 5.0.0 text-hex@1.0.0: {} tinyexec@1.0.1: {} - tinyglobby@0.2.13: + tinyglobby@0.2.14: dependencies: - fdir: 6.4.4(picomatch@4.0.2) + fdir: 6.4.5(picomatch@4.0.2) picomatch: 4.0.2 to-regex-range@5.0.1: @@ -5335,12 +5961,21 @@ snapshots: dependencies: typescript: 5.8.3 + ts-declaration-location@1.0.7(typescript@5.8.3): + dependencies: + picomatch: 4.0.2 + typescript: 5.8.3 + + ts-error@1.0.6: {} + tslib@2.8.1: {} type-check@0.4.0: dependencies: prelude-ls: 1.2.1 + type-fest@0.13.1: {} + type-is@2.0.1: dependencies: content-type: 1.0.5 @@ -5378,31 +6013,31 @@ snapshots: unpipe@1.0.0: {} - unrs-resolver@1.7.2: + unrs-resolver@1.7.8: dependencies: - napi-postinstall: 0.2.3 + napi-postinstall: 0.2.4 optionalDependencies: - '@unrs/resolver-binding-darwin-arm64': 1.7.2 - '@unrs/resolver-binding-darwin-x64': 1.7.2 - '@unrs/resolver-binding-freebsd-x64': 1.7.2 - '@unrs/resolver-binding-linux-arm-gnueabihf': 1.7.2 - '@unrs/resolver-binding-linux-arm-musleabihf': 1.7.2 - '@unrs/resolver-binding-linux-arm64-gnu': 1.7.2 - '@unrs/resolver-binding-linux-arm64-musl': 1.7.2 - '@unrs/resolver-binding-linux-ppc64-gnu': 1.7.2 - '@unrs/resolver-binding-linux-riscv64-gnu': 1.7.2 - '@unrs/resolver-binding-linux-riscv64-musl': 1.7.2 - '@unrs/resolver-binding-linux-s390x-gnu': 1.7.2 - '@unrs/resolver-binding-linux-x64-gnu': 1.7.2 - '@unrs/resolver-binding-linux-x64-musl': 1.7.2 - '@unrs/resolver-binding-wasm32-wasi': 1.7.2 - '@unrs/resolver-binding-win32-arm64-msvc': 1.7.2 - '@unrs/resolver-binding-win32-ia32-msvc': 1.7.2 - '@unrs/resolver-binding-win32-x64-msvc': 1.7.2 - - update-browserslist-db@1.1.3(browserslist@4.24.5): - dependencies: - browserslist: 4.24.5 + '@unrs/resolver-binding-darwin-arm64': 1.7.8 + '@unrs/resolver-binding-darwin-x64': 1.7.8 + '@unrs/resolver-binding-freebsd-x64': 1.7.8 + '@unrs/resolver-binding-linux-arm-gnueabihf': 1.7.8 + '@unrs/resolver-binding-linux-arm-musleabihf': 1.7.8 + '@unrs/resolver-binding-linux-arm64-gnu': 1.7.8 + '@unrs/resolver-binding-linux-arm64-musl': 1.7.8 + '@unrs/resolver-binding-linux-ppc64-gnu': 1.7.8 + '@unrs/resolver-binding-linux-riscv64-gnu': 1.7.8 + '@unrs/resolver-binding-linux-riscv64-musl': 1.7.8 + '@unrs/resolver-binding-linux-s390x-gnu': 1.7.8 + '@unrs/resolver-binding-linux-x64-gnu': 1.7.8 + '@unrs/resolver-binding-linux-x64-musl': 1.7.8 + '@unrs/resolver-binding-wasm32-wasi': 1.7.8 + '@unrs/resolver-binding-win32-arm64-msvc': 1.7.8 + '@unrs/resolver-binding-win32-ia32-msvc': 1.7.8 + '@unrs/resolver-binding-win32-x64-msvc': 1.7.8 + + update-browserslist-db@1.1.3(browserslist@4.25.0): + dependencies: + browserslist: 4.25.0 escalade: 3.2.0 picocolors: 1.1.1 @@ -5421,21 +6056,36 @@ snapshots: uuid@11.1.0: {} + uuid@9.0.1: {} + vary@1.1.2: {} - vue-eslint-parser@10.1.3(eslint@9.26.0): + vue-eslint-parser@10.1.3(eslint@9.28.0): dependencies: - debug: 4.4.0 - eslint: 9.26.0 + debug: 4.4.1 + eslint: 9.28.0 eslint-scope: 8.3.0 eslint-visitor-keys: 4.2.0 espree: 10.3.0 esquery: 1.6.0 lodash: 4.17.21 - semver: 7.7.1 + semver: 7.7.2 transitivePeerDependencies: - supports-color + weaviate-client@3.5.5: + dependencies: + abort-controller-x: 0.4.3 + graphql: 16.11.0 + graphql-request: 6.1.0(graphql@16.11.0) + long: 5.3.2 + nice-grpc: 2.1.12 + nice-grpc-client-middleware-retry: 3.1.11 + nice-grpc-common: 2.0.2 + uuid: 9.0.1 + transitivePeerDependencies: + - encoding + web-streams-polyfill@4.0.0-beta.3: {} webidl-conversions@3.0.1: {} @@ -5475,25 +6125,49 @@ snapshots: word-wrap@1.2.5: {} + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrappy@1.0.2: {} ws@8.18.2: {} xml-name-validator@4.0.0: {} + y18n@5.0.8: {} + + yallist@4.0.0: {} + + yallist@5.0.0: {} + yaml-eslint-parser@1.3.0: dependencies: eslint-visitor-keys: 3.4.3 - yaml: 2.7.1 + yaml: 2.8.0 + + yaml@2.8.0: {} + + yargs-parser@21.1.1: {} - yaml@2.7.1: {} + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 yocto-queue@0.1.0: {} - zod-to-json-schema@3.24.5(zod@3.24.4): + zod-to-json-schema@3.24.5(zod@3.25.48): dependencies: - zod: 3.24.4 + zod: 3.25.48 - zod@3.24.4: {} + zod@3.25.48: {} zwitch@2.0.4: {} diff --git a/src/adapters/langchain_adapter.ts b/src/adapters/langchain_adapter.ts index ba0768ba..cec04b0d 100644 --- a/src/adapters/langchain_adapter.ts +++ b/src/adapters/langchain_adapter.ts @@ -102,7 +102,7 @@ export class LangChainAdapter extends BaseAdapter { return parseMcpToolResult(result) } catch (err: any) { - logger.error(`Error executing MCP tool: ${err}`) + logger.error(`Error executing MCP tool: ${err.message}`) return `Error executing MCP tool: ${String(err)}` } }, diff --git a/src/agents/index.ts b/src/agents/index.ts index 57e7e838..16d72466 100644 --- a/src/agents/index.ts +++ b/src/agents/index.ts @@ -1,3 +1,2 @@ export { BaseAgent } from './base.js' export { MCPAgent } from './mcp_agent.js' -export { ServerManager } from './server_manager.js' diff --git a/src/agents/mcp_agent.ts b/src/agents/mcp_agent.ts index e2fd9dfc..891a8d44 100644 --- a/src/agents/mcp_agent.ts +++ b/src/agents/mcp_agent.ts @@ -6,8 +6,8 @@ import type { StructuredToolInterface, ToolInterface } from '@langchain/core/too import type { AgentFinish, AgentStep } from 'langchain/agents' import type { MCPClient } from '../client.js' import type { BaseConnector } from '../connectors/base.js' +import type { ServerManager } from '../managers/server_manager.js' import type { MCPSession } from '../session.js' -import type { ServerManager } from './server_manager.js' import { AIMessage, HumanMessage, @@ -107,7 +107,7 @@ export class MCPAgent { await this.serverManager.initialize() // Get server management tools - const managementTools = await this.serverManager.getServerManagementTools() + const managementTools = this.serverManager.tools this.tools = managementTools logger.info( `🔧 Server manager mode active with ${managementTools.length} management tools`, @@ -302,7 +302,7 @@ export class MCPAgent { for (let stepNum = 0; stepNum < steps; stepNum++) { if (this.useServerManager && this.serverManager) { - const currentTools = await this.serverManager.getAllTools() + const currentTools = this.serverManager.tools const currentToolNames = new Set(currentTools.map(t => t.name)) const existingToolNames = new Set(this.tools.map(t => t.name)) @@ -322,7 +322,7 @@ export class MCPAgent { } } - logger.info(`🔍 Step ${stepNum + 1}/${steps}`) + logger.info(`👣 Step ${stepNum + 1}/${steps}`) try { logger.debug('Starting agent step execution') diff --git a/src/agents/server_manager.ts b/src/agents/server_manager.ts deleted file mode 100644 index 50bd9fed..00000000 --- a/src/agents/server_manager.ts +++ /dev/null @@ -1,188 +0,0 @@ -import type { StructuredToolInterface } from '@langchain/core/tools' -import type { LangChainAdapter } from '../adapters/langchain_adapter.js' -import type { MCPClient } from '../client.js' -import type { BaseConnector } from '../connectors/base.js' -import { DynamicStructuredTool } from '@langchain/core/tools' -import { z } from 'zod' -import { logger } from '../logging.js' - -const ServerActionInputSchema = z.object({ - serverName: z.string().describe('The name of the MCP server'), -}) - -const DisconnectServerInputSchema = z.object({}) -const ListServersInputSchema = z.object({}) -const CurrentServerInputSchema = z.object({}) - -export class ServerManager { - private activeServer: string | null = null - private readonly initializedServers: Record = {} - private readonly serverTools: Record = {} - - constructor( - private readonly client: MCPClient, - private readonly adapter: LangChainAdapter, - ) {} - - async initialize(): Promise { - if (!this.client.getServerNames?.().length) { - logger.warning('No MCP servers defined in client configuration') - } - } - - async getServerManagementTools(): Promise { - const listServersTool = new DynamicStructuredTool({ - name: 'list_mcp_servers', - description: - 'Lists all available MCP (Model Context Protocol) servers that can be connected to, along with the tools available on each server. Use this tool to discover servers and see what functionalities they offer.', - schema: ListServersInputSchema, - func: async () => this.listServers(), - }) - - const connectServerTool = new DynamicStructuredTool({ - name: 'connect_to_mcp_server', - description: 'Connect to a specific MCP (Model Context Protocol) server to use its tools. Use this tool to connect to a specific server and use its tools.', - schema: ServerActionInputSchema, - func: async ({ serverName }) => this.connectToServer(serverName), - }) - - const getActiveServerTool = new DynamicStructuredTool({ - name: 'get_active_mcp_server', - description: 'Get the currently active MCP (Model Context Protocol) server.', - schema: CurrentServerInputSchema, - func: async () => this.getActiveServer(), - }) - - const disconnectServerTool = new DynamicStructuredTool({ - name: 'disconnect_from_mcp_server', - description: 'Disconnect from the currently active MCP (Model Context Protocol) server.', - schema: DisconnectServerInputSchema, - func: async () => this.disconnectFromServer(), - }) - - return [ - listServersTool, - connectServerTool, - getActiveServerTool, - disconnectServerTool, - ] - } - - async listServers(): Promise { - const servers = this.client.getServerNames?.() ?? [] - if (!servers.length) - return 'No MCP servers are currently defined.' - - let out = 'Available MCP servers:\n' - - for (const [idx, serverName] of servers.entries()) { - const active = serverName === this.activeServer ? ' (ACTIVE)' : '' - out += `${idx + 1}. ${serverName}${active}\n` - - try { - const tools = await this.ensureToolsFetched(serverName) - out += tools.length - ? ` Tools: ${tools.map(t => t.name).join(', ')}\n` - : ' Tools: (Could not retrieve or none available)\n' - } - catch (err) { - logger?.error?.(`Error listing tools for server '${serverName}':`, err) - out += ' Tools: (Error retrieving tools)\n' - } - } - - return out - } - - async connectToServer(serverName: string): Promise { - const servers = this.client.getServerNames() ?? [] - if (!servers.includes(serverName)) { - return `Server '${serverName}' not found. Available servers: ${servers.join(', ') || 'none'}` - } - - if (this.activeServer === serverName) { - return `Already connected to MCP server '${serverName}'` - } - - try { - const session = await this.ensureSession(serverName, /* create */ true) - this.activeServer = serverName - - // Ensure tools cached - await this.ensureToolsFetched(serverName, session?.connector) - const tools = this.serverTools[serverName] ?? [] - - const toolDetails = tools - .map((t, i) => `${i + 1}. ${t.name}: ${t.description}`) - .join('\n') - - return ( - `Connected to MCP server '${serverName}'. ${tools.length} tools are now available.${ - tools.length ? `\nAvailable tools for this server:\n${toolDetails}` : ''}` - ) - } - catch (err) { - logger.error(`Error connecting to server '${serverName}':`, err) - return `Failed to connect to server '${serverName}': ${String(err)}` - } - } - - async getActiveServer(): Promise { - return this.activeServer - ? `Currently active MCP server: ${this.activeServer}` - : 'No MCP server is currently active. Use connect_to_mcp_server to connect.' - } - - async disconnectFromServer(): Promise { - if (!this.activeServer) { - return 'No MCP server is currently active, so there\'s nothing to disconnect from.' - } - - const was = this.activeServer - this.activeServer = null - return `Successfully disconnected from MCP server '${was}'.` - } - - async getActiveServerTools(): Promise { - return this.activeServer ? this.serverTools[this.activeServer] ?? [] : [] - } - - async getAllTools(): Promise { - return [...(await this.getServerManagementTools()), ...(await this.getActiveServerTools())] - } - - private async ensureSession(serverName: string, createIfMissing = false) { - try { - return this.client.getSession(serverName) - } - catch { - if (!createIfMissing) - return undefined - return this.client.createSession ? await this.client.createSession(serverName) : undefined - } - } - - private async ensureToolsFetched(serverName: string, connector?: BaseConnector): Promise { - if (this.serverTools[serverName]) - return this.serverTools[serverName] - - const session = connector ? { connector } : await this.ensureSession(serverName, true) - if (!session) { - this.serverTools[serverName] = [] - return [] - } - - try { - const tools = await this.adapter.createToolsFromConnectors([session.connector]) - this.serverTools[serverName] = tools - this.initializedServers[serverName] = true - logger.debug(`Fetched ${tools.length} tools for server '${serverName}'.`) - return tools - } - catch (err) { - logger.warning(`Could not fetch tools for server '${serverName}':`, err) - this.serverTools[serverName] = [] - return [] - } - } -} diff --git a/src/client.ts b/src/client.ts index 4707add1..cd7e4e54 100644 --- a/src/client.ts +++ b/src/client.ts @@ -95,10 +95,13 @@ export class MCPClient { return this.sessions } - public getSession(serverName: string): MCPSession { + public getSession(serverName: string): MCPSession | null { const session = this.sessions[serverName] + // if (!session) { + // throw new Error(`No session exists for server '${serverName}'`) + // } if (!session) { - throw new Error(`No session exists for server '${serverName}'`) + return null } return session } diff --git a/src/logging.ts b/src/logging.ts index 96d17279..926ed3b3 100644 --- a/src/logging.ts +++ b/src/logging.ts @@ -11,6 +11,7 @@ interface LoggerOptions { level?: LogLevel console?: boolean file?: string + format?: 'minimal' | 'detailed' | 'emoji' } const DEFAULT_LOGGER_NAME = 'mcp-use' @@ -26,12 +27,21 @@ function resolveLevel(env: string | undefined): LogLevel { } } -const defaultFormatter = printf(({ level, message, label, timestamp }) => { +const minimalFormatter = printf(({ level, message, label, timestamp }) => { + return `${timestamp} [${label}] ${level}: ${message}` +}) + +const detailedFormatter = printf(({ level, message, label, timestamp }) => { + return `${timestamp} [${label}] ${level.toUpperCase()}: ${message}` +}) + +const emojiFormatter = printf(({ level, message, label, timestamp }) => { return `${timestamp} [${label}] ${level.toUpperCase()}: ${message}` }) export class Logger { private static instances: Record = {} + private static currentFormat: 'minimal' | 'detailed' | 'emoji' = 'minimal' public static get(name: string = DEFAULT_LOGGER_NAME): WinstonLogger { if (!this.instances[name]) { @@ -41,8 +51,8 @@ export class Logger { colorize(), splat(), label({ label: name }), - timestamp(), - defaultFormatter, + timestamp({ format: 'HH:mm:ss' }), + this.getFormatter(), ), transports: [], }) @@ -51,10 +61,24 @@ export class Logger { return this.instances[name] } + private static getFormatter() { + switch (this.currentFormat) { + case 'minimal': + return minimalFormatter + case 'detailed': + return detailedFormatter + case 'emoji': + return emojiFormatter + default: + return minimalFormatter + } + } + public static configure(options: LoggerOptions = {}): void { - const { level, console = true, file } = options + const { level, console = true, file, format = 'minimal' } = options const resolvedLevel = level ?? resolveLevel(process.env.DEBUG) + this.currentFormat = format const root = this.get() root.level = resolvedLevel @@ -72,6 +96,18 @@ export class Logger { } root.add(new transports.File({ filename: file })) } + + // Update all existing loggers with new format + Object.values(this.instances).forEach((logger) => { + logger.level = resolvedLevel + logger.format = combine( + colorize(), + splat(), + label({ label: DEFAULT_LOGGER_NAME }), + timestamp({ format: 'HH:mm:ss' }), + this.getFormatter(), + ) + }) } public static setDebug(enabled: boolean | 0 | 1 | 2): void { @@ -87,6 +123,11 @@ export class Logger { }) process.env.DEBUG = enabled ? (enabled === true ? '2' : String(enabled)) : '0' } + + public static setFormat(format: 'minimal' | 'detailed' | 'emoji'): void { + this.currentFormat = format + this.configure({ format }) + } } Logger.configure() diff --git a/src/managers/index.ts b/src/managers/index.ts new file mode 100644 index 00000000..a18924a6 --- /dev/null +++ b/src/managers/index.ts @@ -0,0 +1,2 @@ +export * from './server_manager.js' +export * from './tools/index.js' diff --git a/src/managers/server_manager.ts b/src/managers/server_manager.ts new file mode 100644 index 00000000..baf34de5 --- /dev/null +++ b/src/managers/server_manager.ts @@ -0,0 +1,93 @@ +import type { StructuredToolInterface } from '@langchain/core/tools' +import type { LangChainAdapter } from '../adapters/langchain_adapter.js' +import type { MCPClient } from '../client.js' +import type { BaseConnector } from '../connectors/base.js' +import type { MCPSession } from '../session.js' +import { isEqual } from 'lodash-es' +import { logger } from '../logging.js' +import { AcquireActiveMCPServerTool } from './tools/acquire_active_mcp_server.js' +import { ConnectMCPServerTool } from './tools/connect_mcp_server.js' +import { ListMCPServersTool } from './tools/list_mcp_servers.js' +import { ReleaseMCPServerConnectionTool } from './tools/release_mcp_server_connection.js' + +export class ServerManager { + public readonly initializedServers: Record = {} + public readonly serverTools: Record = {} + + public readonly client: MCPClient + public readonly adapter: LangChainAdapter + public activeServer: string | null = null + + constructor(client: MCPClient, adapter: LangChainAdapter) { + this.client = client + this.adapter = adapter + } + + initialize(): void { + const serverNames = this.client.getServerNames?.() + if (serverNames.length === 0) { + logger.warning('No MCP servers defined in client configuration') + } + } + + async prefetchServerTools(): Promise { + const servers: string[] = this.client.getServerNames() + + for (const serverName of servers) { + try { + let session: MCPSession | null = null + + session = this.client.getSession(serverName) + logger.debug(`Using existing session for server '${serverName}' to prefetch tools.`) + + if (!session) { + session = await this.client.createSession(serverName).catch((createSessionError) => { + logger.warn(`Could not create session for '${serverName}' during prefetch: ${createSessionError}`) + return null + }) + logger.debug(`Temporarily created session for '${serverName}' to prefetch tools.`) + } + + if (session) { + const connector: BaseConnector = session.connector + let tools: StructuredToolInterface[] = [] + + try { + tools = await this.adapter.createToolsFromConnectors([connector]) + } + catch (toolFetchError) { + logger.error(`Failed to create tools from connector for server '${serverName}': ${toolFetchError}`) + continue + } + + const cachedTools = this.serverTools[serverName] + const toolsChanged + = !cachedTools || !isEqual(cachedTools, tools) + + if (toolsChanged) { + this.serverTools[serverName] = tools + this.initializedServers[serverName] = true + logger.debug(`Prefetched ${tools.length} tools for server '${serverName}'.`) + } + else { + logger.debug( + `Tools for server '${serverName}' unchanged, using cached version.`, + ) + } + } + } + catch (outerError) { + logger.error(`Error prefetching tools for server '${serverName}': ${outerError}`) + } + } + } + + get tools(): StructuredToolInterface[] { + return [ + new ListMCPServersTool(this), + new ConnectMCPServerTool(this), + new AcquireActiveMCPServerTool(this), + new ReleaseMCPServerConnectionTool(this), + ] + } +} diff --git a/src/managers/tools/acquire_active_mcp_server.ts b/src/managers/tools/acquire_active_mcp_server.ts new file mode 100644 index 00000000..cec9a7c1 --- /dev/null +++ b/src/managers/tools/acquire_active_mcp_server.ts @@ -0,0 +1,23 @@ +import type { ServerManager } from '../server_manager.js' +import { z } from 'zod' +import { MCPServerTool } from './base.js' + +const PresentActiveServerSchema = z.object({}) + +export class AcquireActiveMCPServerTool extends MCPServerTool { + override name = 'get_active_mcp_server' + override description = 'Get the currently active MCP (Model Context Protocol) server' + override schema = PresentActiveServerSchema + + constructor(manager: ServerManager) { + super(manager) + } + + async _call(): Promise { + if (!this.manager.activeServer) { + return `No MCP server is currently active. Use connect_to_mcp_server to connect to a server.` + } + + return `Currently active MCP server: ${this.manager.activeServer}` + } +} diff --git a/src/managers/tools/base.ts b/src/managers/tools/base.ts new file mode 100644 index 00000000..0d3fc1fa --- /dev/null +++ b/src/managers/tools/base.ts @@ -0,0 +1,45 @@ +import type { CallbackManagerForToolRun } from '@langchain/core/callbacks/manager' +import type { ToolParams, ToolRunnableConfig, ToolSchemaBase } from '@langchain/core/tools' +import type { JSONSchema } from '@langchain/core/utils/json_schema' +import type z from 'zod' +import type { ServerManager } from '../server_manager.js' +import { StructuredTool } from '@langchain/core/tools' + +export type ToolOutputT = any +export type SchemaOutputT = T extends z.ZodSchema + ? z.output + : T extends JSONSchema + ? unknown + : never + +export interface MCPServerToolOptions extends ToolParams { + name?: string + description?: string + returnDirect?: boolean + sandboxId?: string +} + +export class MCPServerTool extends StructuredTool { + override name: string = 'mcp_server_tool' + override description: string = 'Base tool for MCP server operations.' + override schema!: SchemaT + + private readonly _manager: ServerManager + + constructor(manager: ServerManager) { + super() + this._manager = manager + } + + protected async _call( + _arg: SchemaOutputT, + _runManager?: CallbackManagerForToolRun, + _parentConfig?: ToolRunnableConfig, + ): Promise { + throw new Error('Method not implemented.') + } + + get manager(): ServerManager { + return this._manager + } +} diff --git a/src/managers/tools/connect_mcp_server.ts b/src/managers/tools/connect_mcp_server.ts new file mode 100644 index 00000000..31e0c7d7 --- /dev/null +++ b/src/managers/tools/connect_mcp_server.ts @@ -0,0 +1,57 @@ +import type { StructuredToolInterface } from '@langchain/core/tools' +import type { BaseConnector } from '../../connectors/base.js' +import type { ServerManager } from '../server_manager.js' +import type { SchemaOutputT } from './base.js' +import { z } from 'zod' +import { logger } from '../../logging.js' +import { MCPServerTool } from './base.js' + +const ConnectMCPServerSchema = z.object({ + serverName: z.string().describe('The name of the MCP server.'), +}) + +export class ConnectMCPServerTool extends MCPServerTool { + override name = 'connect_to_mcp_server' + override description = 'Connect to a specific MCP (Model Context Protocol) server to use its tools. Use this tool to connect to a specific server and use its tools.' + override schema = ConnectMCPServerSchema + + constructor(manager: ServerManager) { + super(manager) + } + + async _call({ serverName }: SchemaOutputT) { + const serverNames = this.manager.client.getServerNames() + + if (!serverNames.includes(serverName)) { + const available = serverNames.length > 0 ? serverNames.join(', ') : 'none' + return `Server '${serverName}' not found. Available servers: ${available}` + } + + if (this.manager.activeServer === serverName) { + return `Already connected to MCP server '${serverName}'` + } + + try { + let session = this.manager.client.getSession(serverName) + logger.debug(`Using existing session for server '${serverName}'`) + if (!session) { + logger.debug(`Creating new session for server '${serverName}'`) + session = await this.manager.client.createSession(serverName) + } + this.manager.activeServer = serverName + if (this.manager.serverTools[serverName]) { + const connector: BaseConnector = session.connector + const tools: StructuredToolInterface[] = await this.manager.adapter.createToolsFromConnectors([connector]) + this.manager.serverTools[serverName] = tools + this.manager.initializedServers[serverName] = true + } + const serverTools: StructuredToolInterface[] = this.manager.serverTools[serverName] || [] + const numTools: number = serverTools.length + return `Connected to MCP server '${serverName}'. ${numTools} tools are now available.` + } + catch (error) { + logger.error(`Error connecting to server '${serverName}': ${String(error)}`) + return `Failed to connect to server '${serverName}': ${String(error)}` + } + } +} diff --git a/src/managers/tools/index.ts b/src/managers/tools/index.ts new file mode 100644 index 00000000..8f1057d7 --- /dev/null +++ b/src/managers/tools/index.ts @@ -0,0 +1,4 @@ +export * from './acquire_active_mcp_server.js' +export * from './connect_mcp_server.js' +export * from './list_mcp_servers.js' +export * from './release_mcp_server_connection.js' diff --git a/src/managers/tools/list_mcp_servers.ts b/src/managers/tools/list_mcp_servers.ts new file mode 100644 index 00000000..cd99e19d --- /dev/null +++ b/src/managers/tools/list_mcp_servers.ts @@ -0,0 +1,41 @@ +import type { ServerManager } from '../server_manager.js' +import { z } from 'zod' +import { logger } from '../../logging.js' +import { MCPServerTool } from './base.js' + +const EnumerateServersSchema = z.object({}) + +export class ListMCPServersTool extends MCPServerTool { + override name = 'list_mcp_servers' + override description = `Lists all available MCP (Model Context Protocol) servers that can be connected to, along with the tools available on each server. Use this tool to discover servers and see what functionalities they offer.` + override schema = EnumerateServersSchema + + constructor(manager: ServerManager) { + super(manager) + } + + async _call(): Promise { + const serverNames = this.manager.client.getServerNames() + if (serverNames.length === 0) { + return `No MCP servers are currently defined.` + } + + const outputLines: string[] = ['Available MCP servers:'] + + for (const serverName of serverNames) { + const isActiveServer = serverName === this.manager.activeServer + const activeFlag = isActiveServer ? ' (ACTIVE)' : '' + outputLines.push(`- ${serverName}${activeFlag}`) + + try { + const serverTools = this.manager.serverTools?.[serverName] ?? [] + const numberOfTools = Array.isArray(serverTools) ? serverTools.length : 0 + outputLines.push(`${numberOfTools} tools available for this server\n`) + } + catch (error) { + logger.error(`Unexpected error listing tools for server '${serverName}': ${String(error)}`) + } + } + return outputLines.join('\n') + } +} diff --git a/src/managers/tools/release_mcp_server_connection.ts b/src/managers/tools/release_mcp_server_connection.ts new file mode 100644 index 00000000..b36a05eb --- /dev/null +++ b/src/managers/tools/release_mcp_server_connection.ts @@ -0,0 +1,24 @@ +import type { ServerManager } from '../server_manager.js' +import { z } from 'zod' +import { MCPServerTool } from './base.js' + +const ReleaseConnectionSchema = z.object({}) + +export class ReleaseMCPServerConnectionTool extends MCPServerTool { + override name = 'disconnect_from_mcp_server' + override description = 'Disconnect from the currently active MCP (Model Context Protocol) server' + override schema = ReleaseConnectionSchema + + constructor(manager: ServerManager) { + super(manager) + } + + async _call(): Promise { + if (!this.manager.activeServer) { + return `No MCP server is currently active, so there's nothing to disconnect from.` + } + const serverName = this.manager.activeServer + this.manager.activeServer = null + return `Successfully disconnected from MCP server '${serverName}'.` + } +} diff --git a/tsconfig.json b/tsconfig.json index be11680c..8611fad1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,6 +13,6 @@ "forceConsistentCasingInFileNames": true, "skipLibCheck": true }, - "include": ["./**/*.ts"], - "exclude": ["node_modules"] + "include": ["**/*.ts"], + "exclude": ["node_modules", "dist"] }