diff --git a/.github/docker-compose.yml b/.github/docker-compose.yml index b299d21a75..23e92d5b7e 100644 --- a/.github/docker-compose.yml +++ b/.github/docker-compose.yml @@ -9,6 +9,10 @@ services: - 3306:3306 tmpfs: - /var/lib/mysql + command: > + --wait-timeout=300 + --interactive-timeout=300 + --max-connections=200 mysql-8.4: image: mysql:8.4 @@ -19,6 +23,10 @@ services: - 3306:3306 tmpfs: - /var/lib/mysql + command: > + --wait-timeout=300 + --interactive-timeout=300 + --max-connections=200 postgres: image: postgres:16 diff --git a/.github/workflows/ci-postgres-mysql.yml b/.github/workflows/ci-postgres-mysql.yml index 0d5d3b536a..c740a77bdb 100644 --- a/.github/workflows/ci-postgres-mysql.yml +++ b/.github/workflows/ci-postgres-mysql.yml @@ -53,16 +53,19 @@ jobs: - name: Test SQLite Pooled working-directory: packages/cli - run: pnpm jest + run: pnpm test:sqlite mariadb: name: MariaDB needs: build - runs-on: blacksmith-2vcpu-ubuntu-2204 + runs-on: blacksmith-4vcpu-ubuntu-2204 timeout-minutes: 20 env: DB_MYSQLDB_PASSWORD: password DB_MYSQLDB_POOL_SIZE: 20 + DB_MYSQLDB_CONNECTION_TIMEOUT: 120000 + DB_MYSQLDB_ACQUIRE_TIMEOUT: 120000 + DB_MYSQLDB_TIMEOUT: 120000 steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -83,11 +86,14 @@ jobs: mysql: name: MySQL 8.4 needs: build - runs-on: blacksmith-2vcpu-ubuntu-2204 + runs-on: blacksmith-4vcpu-ubuntu-2204 timeout-minutes: 20 env: DB_MYSQLDB_PASSWORD: password - DB_MYSQLDB_POOL_SIZE: 20 + DB_MYSQLDB_POOL_SIZE: 30 + DB_MYSQLDB_CONNECTION_TIMEOUT: 120000 + DB_MYSQLDB_ACQUIRE_TIMEOUT: 120000 + DB_MYSQLDB_TIMEOUT: 120000 steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -132,7 +138,7 @@ jobs: notify-on-failure: name: Notify Slack on failure runs-on: ubuntu-latest - needs: [mariadb, postgres, mysql] + needs: [sqlite-pooled, mariadb, postgres, mysql] steps: - name: Notify Slack on failure uses: act10ns/slack@44541246747a30eb3102d87f7a4cc5471b0ffb7d # v2.1.0 diff --git a/packages/cli/eslint.config.mjs b/packages/cli/eslint.config.mjs index 2a626a67dd..183ed1f652 100644 --- a/packages/cli/eslint.config.mjs +++ b/packages/cli/eslint.config.mjs @@ -2,7 +2,7 @@ import { defineConfig, globalIgnores } from 'eslint/config'; import { nodeConfig } from '@n8n/eslint-config/node'; export default defineConfig( - globalIgnores(['scripts/**/*.mjs']), + globalIgnores(['scripts/**/*.mjs', 'jest.config.integration.js']), nodeConfig, { rules: { diff --git a/packages/cli/jest.config.integration.js b/packages/cli/jest.config.integration.js new file mode 100644 index 0000000000..ec81657308 --- /dev/null +++ b/packages/cli/jest.config.integration.js @@ -0,0 +1,19 @@ +/** @type {import('jest').Config} */ +module.exports = { + ...require('../../jest.config'), + testEnvironmentOptions: { + url: 'http://localhost/', + }, + globalSetup: '/test/setup.ts', + globalTeardown: '/test/teardown.ts', + setupFilesAfterEnv: [ + '/test/setup-test-folder.ts', + '/test/setup-mocks.ts', + '/test/extend-expect.ts', + ], + coveragePathIgnorePatterns: ['/src/databases/migrations/'], + testTimeout: 10_000, + prettierPath: null, + // Only run integration tests - exclude unit tests in src/ + testPathIgnorePatterns: ['/dist/', '/node_modules/', '/src/'], +}; diff --git a/packages/cli/package.json b/packages/cli/package.json index 346a19250e..1a109ffe36 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -20,18 +20,18 @@ "start": "run-script-os", "start:default": "cd bin && ./n8n", "start:windows": "cd bin && n8n", - "test": "pnpm test:sqlite", + "test": "N8N_LOG_LEVEL=silent DB_TYPE=sqlite jest", "test:dev": "N8N_LOG_LEVEL=silent DB_TYPE=sqlite jest --watch", - "test:sqlite": "N8N_LOG_LEVEL=silent DB_TYPE=sqlite jest", - "test:postgres": "N8N_LOG_LEVEL=silent DB_TYPE=postgresdb DB_POSTGRESDB_SCHEMA=alt_schema DB_TABLE_PREFIX=test_ jest --no-coverage", - "test:mariadb": "N8N_LOG_LEVEL=silent DB_TYPE=mariadb DB_TABLE_PREFIX=test_ jest --no-coverage", - "test:mysql": "N8N_LOG_LEVEL=silent DB_TYPE=mysqldb DB_TABLE_PREFIX=test_ jest --no-coverage", + "test:sqlite": "N8N_LOG_LEVEL=silent DB_TYPE=sqlite jest --config=jest.config.integration.js --no-coverage", + "test:postgres": "N8N_LOG_LEVEL=silent DB_TYPE=postgresdb DB_POSTGRESDB_SCHEMA=alt_schema DB_TABLE_PREFIX=test_ jest --config=jest.config.integration.js --no-coverage", + "test:mariadb": "N8N_LOG_LEVEL=silent DB_TYPE=mariadb DB_TABLE_PREFIX=test_ jest --config=jest.config.integration.js --no-coverage", + "test:mysql": "N8N_LOG_LEVEL=silent DB_TYPE=mysqldb DB_TABLE_PREFIX=test_ jest --config=jest.config.integration.js --no-coverage", "test:win": "pnpm test:sqlite:win", "test:dev:win": "set N8N_LOG_LEVEL=silent&& set DB_TYPE=sqlite&& jest --watch", - "test:sqlite:win": "set N8N_LOG_LEVEL=silent&& set DB_TYPE=sqlite&& jest", - "test:postgres:win": "set N8N_LOG_LEVEL=silent&& set DB_TYPE=postgresdb&& set DB_POSTGRESDB_SCHEMA=alt_schema&& set DB_TABLE_PREFIX=test_&& jest --no-coverage", - "test:mariadb:win": "set N8N_LOG_LEVEL=silent&& set DB_TYPE=mariadb&& set DB_TABLE_PREFIX=test_&& jest --no-coverage", - "test:mysql:win": "set N8N_LOG_LEVEL=silent&& set DB_TYPE=mysqldb&& set DB_TABLE_PREFIX=test_&& jest --no-coverage", + "test:sqlite:win": "set N8N_LOG_LEVEL=silent&& set DB_TYPE=sqlite&& jest --config=jest.config.integration.js", + "test:postgres:win": "set N8N_LOG_LEVEL=silent&& set DB_TYPE=postgresdb&& set DB_POSTGRESDB_SCHEMA=alt_schema&& set DB_TABLE_PREFIX=test_&& jest --config=jest.config.integration.js --no-coverage", + "test:mariadb:win": "set N8N_LOG_LEVEL=silent&& set DB_TYPE=mariadb&& set DB_TABLE_PREFIX=test_&& jest --config=jest.config.integration.js --no-coverage", + "test:mysql:win": "set N8N_LOG_LEVEL=silent&& set DB_TYPE=mysqldb&& set DB_TABLE_PREFIX=test_&& jest --config=jest.config.integration.js --no-coverage", "watch": "tsc-watch -p tsconfig.build.json --onCompilationComplete \"tsc-alias -p tsconfig.build.json\"" }, "bin": { @@ -147,7 +147,7 @@ "ldapts": "4.2.6", "lodash": "catalog:", "luxon": "catalog:", - "mysql2": "3.11.0", + "mysql2": "catalog:", "n8n-core": "workspace:*", "n8n-editor-ui": "workspace:*", "n8n-nodes-base": "workspace:*", diff --git a/packages/nodes-base/package.json b/packages/nodes-base/package.json index 2aac1dc26d..46e6a7ef5e 100644 --- a/packages/nodes-base/package.json +++ b/packages/nodes-base/package.json @@ -923,7 +923,7 @@ "mongodb": "6.11.0", "mqtt": "5.7.2", "mssql": "10.0.2", - "mysql2": "3.11.0", + "mysql2": "catalog:", "n8n-workflow": "workspace:*", "node-html-markdown": "1.2.0", "node-ssh": "13.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 87490c4f7d..4c7909e287 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -84,6 +84,9 @@ catalogs: luxon: specifier: 3.4.4 version: 3.4.4 + mysql2: + specifier: 3.15.0 + version: 3.15.0 nanoid: specifier: 3.3.8 version: 3.3.8 @@ -546,7 +549,7 @@ importers: version: link:../permissions '@n8n/typeorm': specifier: 'catalog:' - version: 0.3.20-12(@sentry/node@9.42.1)(ioredis@5.3.2)(mssql@10.0.2)(mysql2@3.11.0)(pg@8.12.0)(redis@4.6.14)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.19.14)(typescript@5.9.2)) + version: 0.3.20-12(@sentry/node@9.42.1)(ioredis@5.3.2)(mssql@10.0.2)(mysql2@3.15.0)(pg@8.12.0)(redis@4.6.14)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.19.14)(typescript@5.9.2)) jest-mock-extended: specifier: ^3.0.4 version: 3.0.4(jest@29.6.2(@types/node@20.19.14)(ts-node@10.9.2(@types/node@20.19.14)(typescript@5.9.2)))(typescript@5.9.2) @@ -709,7 +712,7 @@ importers: version: link:../permissions '@n8n/typeorm': specifier: 'catalog:' - version: 0.3.20-12(@sentry/node@9.42.1)(ioredis@5.3.2)(mssql@10.0.2)(mysql2@3.11.0)(pg@8.12.0)(redis@4.6.14)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.19.14)(typescript@5.9.2)) + version: 0.3.20-12(@sentry/node@9.42.1)(ioredis@5.3.2)(mssql@10.0.2)(mysql2@3.15.0)(pg@8.12.0)(redis@4.6.14)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.19.14)(typescript@5.9.2)) class-validator: specifier: 0.14.0 version: 0.14.0 @@ -1041,7 +1044,7 @@ importers: version: 4.3.0 '@getzep/zep-cloud': specifier: 1.0.12 - version: 1.0.12(@langchain/core@0.3.68(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(openai@5.12.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.67)))(encoding@0.1.13)(langchain@0.3.33(7a42417dea956926be3e8b241aa2bcbd)) + version: 1.0.12(@langchain/core@0.3.68(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(openai@5.12.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.67)))(encoding@0.1.13)(langchain@0.3.33(26b5bb5978b8557c32fd5d2ea983cfd2)) '@getzep/zep-js': specifier: 0.9.0 version: 0.9.0 @@ -1068,7 +1071,7 @@ importers: version: 0.3.4(@langchain/core@0.3.68(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(openai@5.12.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.67)))(encoding@0.1.13) '@langchain/community': specifier: 'catalog:' - version: 0.3.50(6fe9958e17342f067755a8c747f127cf) + version: 0.3.50(ad08edbb54ae1fb3cab4efe4b2e18294) '@langchain/core': specifier: 'catalog:' version: 0.3.68(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(openai@5.12.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.67)) @@ -1131,7 +1134,7 @@ importers: version: link:../json-schema-to-zod '@n8n/typeorm': specifier: 0.3.20-12 - version: 0.3.20-12(@sentry/node@9.42.1)(ioredis@5.3.2)(mongodb@6.11.0(@aws-sdk/credential-providers@3.808.0)(gcp-metadata@5.3.0(encoding@0.1.13))(socks@2.8.3))(mssql@10.0.2)(mysql2@3.11.0)(pg@8.12.0)(redis@4.6.12)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.19.14)(typescript@5.9.2)) + version: 0.3.20-12(@sentry/node@9.42.1)(ioredis@5.3.2)(mongodb@6.11.0(@aws-sdk/credential-providers@3.808.0)(gcp-metadata@5.3.0(encoding@0.1.13))(socks@2.8.3))(mssql@10.0.2)(mysql2@3.15.0)(pg@8.12.0)(redis@4.6.12)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.19.14)(typescript@5.9.2)) '@n8n/typescript-config': specifier: workspace:* version: link:../typescript-config @@ -1191,7 +1194,7 @@ importers: version: 23.0.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) langchain: specifier: 0.3.33 - version: 0.3.33(7a42417dea956926be3e8b241aa2bcbd) + version: 0.3.33(26b5bb5978b8557c32fd5d2ea983cfd2) lodash: specifier: 'catalog:' version: 4.17.21 @@ -1494,7 +1497,7 @@ importers: version: link:../@n8n/task-runner '@n8n/typeorm': specifier: 'catalog:' - version: 0.3.20-12(@sentry/node@9.42.1)(ioredis@5.3.2)(mssql@10.0.2)(mysql2@3.11.0)(pg@8.12.0)(redis@4.6.14)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.19.14)(typescript@5.9.2)) + version: 0.3.20-12(@sentry/node@9.42.1)(ioredis@5.3.2)(mssql@10.0.2)(mysql2@3.15.0)(pg@8.12.0)(redis@4.6.14)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.19.14)(typescript@5.9.2)) '@n8n_io/ai-assistant-sdk': specifier: 'catalog:' version: 1.15.0 @@ -1613,8 +1616,8 @@ importers: specifier: 'catalog:' version: 3.4.4 mysql2: - specifier: 3.11.0 - version: 3.11.0 + specifier: 'catalog:' + version: 3.15.0 n8n-core: specifier: workspace:* version: link:../core @@ -3006,8 +3009,8 @@ importers: specifier: 10.0.2 version: 10.0.2 mysql2: - specifier: 3.11.0 - version: 3.11.0 + specifier: 'catalog:' + version: 3.15.0 n8n-workflow: specifier: workspace:* version: link:../workflow @@ -11084,6 +11087,10 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} + iconv-lite@0.7.0: + resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} + engines: {node: '>=0.10.0'} + ics@2.40.0: resolution: {integrity: sha512-PPkE9ij60sGhqdTxZZzsXQPB/TCXAB/dD3NqUf1I/GkbJzPeJHHMzaoMQiYAsm1pFaHRp2OIhFDgUBihkk8s/w==} @@ -12236,6 +12243,10 @@ packages: resolution: {integrity: sha512-ERJq3FOzJTxBbFjZ7iDs+NiK4VI9Wz+RdrrAB8dio1oV+YvdPzUEE4QNiT2VD51DkIbCYRUUzCRkssXCHqSnKQ==} engines: {node: 14 || >=16.14} + lru.min@1.1.2: + resolution: {integrity: sha512-Nv9KddBcQSlQopmBHXSsZVY5xsdlZkdH/Iey0BlcBYggMd4two7cZnKOK9vmy3nY0O5RGH99z1PCeTpPqszUYg==} + engines: {bun: '>=1.0.0', deno: '>=1.30.0', node: '>=8.0.0'} + lunr@2.3.9: resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} @@ -12787,8 +12798,8 @@ packages: resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==} engines: {node: '>=12.0.0'} - mysql2@3.11.0: - resolution: {integrity: sha512-J9phbsXGvTOcRVPR95YedzVSxJecpW5A5+cQ57rhHIFXteTP10HCs+VBjS7DHIKfEaI1zQ5tlVrquCd64A6YvA==} + mysql2@3.15.0: + resolution: {integrity: sha512-tT6pomf5Z/I7Jzxu8sScgrYBMK9bUFWd7Kbo6Fs1L0M13OOIJ/ZobGKS3Z7tQ8Re4lj+LnLXIQVZZxa3fhYKzA==} engines: {node: '>= 8.0'} mz@2.7.0: @@ -18803,7 +18814,7 @@ snapshots: '@gar/promisify@1.1.3': optional: true - '@getzep/zep-cloud@1.0.12(@langchain/core@0.3.68(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(openai@5.12.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.67)))(encoding@0.1.13)(langchain@0.3.33(7a42417dea956926be3e8b241aa2bcbd))': + '@getzep/zep-cloud@1.0.12(@langchain/core@0.3.68(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(openai@5.12.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.67)))(encoding@0.1.13)(langchain@0.3.33(26b5bb5978b8557c32fd5d2ea983cfd2))': dependencies: form-data: 4.0.4 node-fetch: 2.7.0(encoding@0.1.13) @@ -18812,7 +18823,7 @@ snapshots: zod: 3.25.67 optionalDependencies: '@langchain/core': 0.3.68(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(openai@5.12.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.67)) - langchain: 0.3.33(7a42417dea956926be3e8b241aa2bcbd) + langchain: 0.3.33(26b5bb5978b8557c32fd5d2ea983cfd2) transitivePeerDependencies: - encoding @@ -19365,7 +19376,7 @@ snapshots: - aws-crt - encoding - '@langchain/community@0.3.50(6fe9958e17342f067755a8c747f127cf)': + '@langchain/community@0.3.50(ad08edbb54ae1fb3cab4efe4b2e18294)': dependencies: '@browserbasehq/stagehand': 1.9.0(@playwright/test@1.54.2)(bufferutil@4.0.9)(deepmerge@4.3.1)(dotenv@16.6.1)(encoding@0.1.13)(openai@5.12.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.67))(utf-8-validate@5.0.10)(zod@3.25.67) '@ibm-cloud/watsonx-ai': 1.1.2 @@ -19377,7 +19388,7 @@ snapshots: flat: 5.0.2 ibm-cloud-sdk-core: 5.3.2 js-yaml: 4.1.0 - langchain: 0.3.33(7a42417dea956926be3e8b241aa2bcbd) + langchain: 0.3.33(26b5bb5978b8557c32fd5d2ea983cfd2) langsmith: 0.3.55(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(openai@5.12.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.67)) openai: 5.12.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.67) uuid: 10.0.0 @@ -19391,7 +19402,7 @@ snapshots: '@aws-sdk/credential-provider-node': 3.808.0 '@azure/storage-blob': 12.26.0 '@browserbasehq/sdk': 2.6.0(encoding@0.1.13) - '@getzep/zep-cloud': 1.0.12(@langchain/core@0.3.68(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(openai@5.12.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.67)))(encoding@0.1.13)(langchain@0.3.33(7a42417dea956926be3e8b241aa2bcbd)) + '@getzep/zep-cloud': 1.0.12(@langchain/core@0.3.68(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(openai@5.12.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.67)))(encoding@0.1.13)(langchain@0.3.33(26b5bb5978b8557c32fd5d2ea983cfd2)) '@getzep/zep-js': 0.9.0 '@google-ai/generativelanguage': 2.6.0(encoding@0.1.13) '@google-cloud/storage': 7.12.1(encoding@0.1.13) @@ -19421,7 +19432,7 @@ snapshots: lodash: 4.17.21 mammoth: 1.7.2 mongodb: 6.11.0(@aws-sdk/credential-providers@3.808.0)(gcp-metadata@5.3.0(encoding@0.1.13))(socks@2.8.3) - mysql2: 3.11.0 + mysql2: 3.15.0 pdf-parse: 1.1.1 pg: 8.12.0 playwright: 1.54.2 @@ -19758,7 +19769,7 @@ snapshots: esprima-next: 5.8.4 recast: 0.22.0 - '@n8n/typeorm@0.3.20-12(@sentry/node@9.42.1)(ioredis@5.3.2)(mongodb@6.11.0(@aws-sdk/credential-providers@3.808.0)(gcp-metadata@5.3.0(encoding@0.1.13))(socks@2.8.3))(mssql@10.0.2)(mysql2@3.11.0)(pg@8.12.0)(redis@4.6.12)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.19.14)(typescript@5.9.2))': + '@n8n/typeorm@0.3.20-12(@sentry/node@9.42.1)(ioredis@5.3.2)(mongodb@6.11.0(@aws-sdk/credential-providers@3.808.0)(gcp-metadata@5.3.0(encoding@0.1.13))(socks@2.8.3))(mssql@10.0.2)(mysql2@3.15.0)(pg@8.12.0)(redis@4.6.12)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.19.14)(typescript@5.9.2))': dependencies: '@n8n/p-retry': 6.2.0-2 '@sqltools/formatter': 1.2.5 @@ -19782,7 +19793,7 @@ snapshots: ioredis: 5.3.2 mongodb: 6.11.0(@aws-sdk/credential-providers@3.808.0)(gcp-metadata@5.3.0(encoding@0.1.13))(socks@2.8.3) mssql: 10.0.2 - mysql2: 3.11.0 + mysql2: 3.15.0 pg: 8.12.0 redis: 4.6.12 sqlite3: 5.1.7 @@ -19790,7 +19801,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@n8n/typeorm@0.3.20-12(@sentry/node@9.42.1)(ioredis@5.3.2)(mssql@10.0.2)(mysql2@3.11.0)(pg@8.12.0)(redis@4.6.14)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.19.14)(typescript@5.9.2))': + '@n8n/typeorm@0.3.20-12(@sentry/node@9.42.1)(ioredis@5.3.2)(mssql@10.0.2)(mysql2@3.15.0)(pg@8.12.0)(redis@4.6.14)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.19.14)(typescript@5.9.2))': dependencies: '@n8n/p-retry': 6.2.0-2 '@sqltools/formatter': 1.2.5 @@ -19813,7 +19824,7 @@ snapshots: '@sentry/node': 9.42.1 ioredis: 5.3.2 mssql: 10.0.2 - mysql2: 3.11.0 + mysql2: 3.15.0 pg: 8.12.0 redis: 4.6.14 sqlite3: 5.1.7 @@ -23009,6 +23020,14 @@ snapshots: transitivePeerDependencies: - debug + axios@1.12.0(debug@4.4.3): + dependencies: + follow-redirects: 1.15.11(debug@4.4.3) + form-data: 4.0.4 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + b4a@1.6.7: {} babel-jest@29.6.2(@babel/core@7.26.10): @@ -25613,6 +25632,10 @@ snapshots: optionalDependencies: debug: 4.4.1(supports-color@8.1.1) + follow-redirects@1.15.11(debug@4.4.3): + optionalDependencies: + debug: 4.4.3(supports-color@8.1.1) + for-each@0.3.5: dependencies: is-callable: 1.2.7 @@ -26308,7 +26331,7 @@ snapshots: '@types/debug': 4.1.12 '@types/node': 20.19.14 '@types/tough-cookie': 4.0.5 - axios: 1.12.0(debug@4.4.1) + axios: 1.12.0(debug@4.4.3) camelcase: 6.3.0 debug: 4.4.3(supports-color@8.1.1) dotenv: 16.6.1 @@ -26318,7 +26341,7 @@ snapshots: isstream: 0.1.2 jsonwebtoken: 9.0.2 mime-types: 2.1.35 - retry-axios: 2.6.0(axios@1.12.0(debug@4.4.3)) + retry-axios: 2.6.0(axios@1.12.0) tough-cookie: 4.1.4 transitivePeerDependencies: - supports-color @@ -26333,6 +26356,10 @@ snapshots: dependencies: safer-buffer: 2.1.2 + iconv-lite@0.7.0: + dependencies: + safer-buffer: 2.1.2 + ics@2.40.0(patch_hash=163587ad2fa9bc787ed09cd5e958eace08b4aa8aaca651869e9434ba674e158d): dependencies: nanoid: 3.3.11 @@ -27438,7 +27465,7 @@ snapshots: kuler@2.0.0: {} - langchain@0.3.33(7a42417dea956926be3e8b241aa2bcbd): + langchain@0.3.33(26b5bb5978b8557c32fd5d2ea983cfd2): dependencies: '@langchain/core': 0.3.68(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(openai@5.12.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.67)) '@langchain/openai': 0.6.7(@langchain/core@0.3.68(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@1.30.1(@opentelemetry/api@1.9.0))(openai@5.12.2(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.67)))(ws@8.18.3(bufferutil@4.0.9)(utf-8-validate@5.0.10)) @@ -27765,6 +27792,8 @@ snapshots: lru-cache@9.1.2: {} + lru.min@1.1.2: {} + lunr@2.3.9: {} luxon@3.4.4: {} @@ -28562,14 +28591,14 @@ snapshots: mylas@2.1.13: {} - mysql2@3.11.0: + mysql2@3.15.0: dependencies: aws-ssl-profiles: 1.1.1 denque: 2.1.0 generate-function: 2.3.1 - iconv-lite: 0.6.3 + iconv-lite: 0.7.0 long: 5.3.2 - lru-cache: 8.0.5 + lru.min: 1.1.2 named-placeholders: 1.1.3 seq-queue: 0.0.5 sqlstring: 2.3.3 @@ -30202,7 +30231,7 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 - retry-axios@2.6.0(axios@1.12.0(debug@4.4.3)): + retry-axios@2.6.0(axios@1.12.0): dependencies: axios: 1.12.0(debug@4.4.1) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d173b77123..f37b094ae7 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -53,6 +53,7 @@ catalog: zod-to-json-schema: 3.23.3 typescript: 5.9.2 eslint: 9.29.0 + mysql2: 3.15.0 catalogs: frontend: