From a8880cb4493efe42d413b795de462f8c879553d7 Mon Sep 17 00:00:00 2001 From: Luigi Gubello <27034386+luigigubello@users.noreply.github.com> Date: Thu, 15 Oct 2026 09:13:43 +0000 Subject: [PATCH] chore: Update pdfjs-dist to 6.3.289 (#40677) Co-authored-by: Claude Opus 5.5 --- .../utils/loaders/n8n-pdf-loader.test.ts | 15 + .../utils/n8n-binary-loader.real-pdf.test.ts | 11 + .../src/utils/loaders/n8n-pdf-loader.ts | 9 +- .../test/ReadPDF-encrypted.workflow.json | 2 +- .../nodes/ReadPdf/test/ReadPDF.workflow.json | 2 +- .../nodes-base/utils/__tests__/binary.test.ts | 32 ++- packages/nodes-base/utils/binary.ts | 8 +- patches/pdf-parse@2.4.5.patch | 14 + patches/pdfjs-dist@5.4.296.patch | 27 -- pnpm-lock.yaml | 263 +++++++++--------- pnpm-workspace.yaml | 6 +- 11 files changed, 228 insertions(+), 161 deletions(-) create mode 100644 patches/pdf-parse@2.4.5.patch delete mode 100644 patches/pdfjs-dist@5.4.296.patch diff --git a/packages/@n8n/ai-utilities/src/__tests__/utils/loaders/n8n-pdf-loader.test.ts b/packages/@n8n/ai-utilities/src/__tests__/utils/loaders/n8n-pdf-loader.test.ts index 7775187e300..d559c97dbfe 100644 --- a/packages/@n8n/ai-utilities/src/__tests__/utils/loaders/n8n-pdf-loader.test.ts +++ b/packages/@n8n/ai-utilities/src/__tests__/utils/loaders/n8n-pdf-loader.test.ts @@ -73,6 +73,21 @@ describe('N8nPdfLoader', () => { expect(docs[2].metadata.loc).toEqual({ pageNumber: 3 }); }); + it('returns custom document info entries as a plain object', async () => { + mockGetText.mockResolvedValue({ pages: [{ num: 1, text: 'Body' }], text: 'Body', total: 1 }); + mockGetInfo.mockResolvedValue({ + info: { Title: 'Sample', Custom: new Map([['Department', 'Finance']]) }, + metadata: undefined, + }); + + const docs = await new N8nPdfLoader(makeBlob()).load(); + + expect(docs[0].metadata.pdf.info).toEqual({ + Title: 'Sample', + Custom: { Department: 'Finance' }, + }); + }); + it('concatenates pages into a single Document when splitPages is false', async () => { mockGetText.mockResolvedValue({ pages: [ diff --git a/packages/@n8n/ai-utilities/src/__tests__/utils/n8n-binary-loader.real-pdf.test.ts b/packages/@n8n/ai-utilities/src/__tests__/utils/n8n-binary-loader.real-pdf.test.ts index 83ff4c4a8bf..1ce1300dda7 100644 --- a/packages/@n8n/ai-utilities/src/__tests__/utils/n8n-binary-loader.real-pdf.test.ts +++ b/packages/@n8n/ai-utilities/src/__tests__/utils/n8n-binary-loader.real-pdf.test.ts @@ -83,4 +83,15 @@ describe('N8nBinaryLoader with real PDF data', () => { PDFParse.setWorker(originalWorker); } }); + + it('releases a real PDF after parsing', async () => { + const parser = new PDFParse({ + data: readFileSync( + join(__dirname, '../../../../../nodes-base/nodes/ReadPdf/test/sample.pdf'), + ), + }); + + await expect(parser.getText()).resolves.toMatchObject({ total: 1 }); + await expect(parser.destroy()).resolves.toBeUndefined(); + }); }); diff --git a/packages/@n8n/ai-utilities/src/utils/loaders/n8n-pdf-loader.ts b/packages/@n8n/ai-utilities/src/utils/loaders/n8n-pdf-loader.ts index 7ad27f95ac7..18a3712cdc3 100644 --- a/packages/@n8n/ai-utilities/src/utils/loaders/n8n-pdf-loader.ts +++ b/packages/@n8n/ai-utilities/src/utils/loaders/n8n-pdf-loader.ts @@ -48,7 +48,7 @@ export class N8nPdfLoader extends BufferLoader { }); const pdfMeta = { - info: info?.info, + info: toPlainInfo(info?.info), metadata: info?.metadata, totalPages: result.total, }; @@ -83,3 +83,10 @@ export class N8nPdfLoader extends BufferLoader { } } } + +/** pdfjs-dist returns custom info entries as a Map, which JSON serializes as an empty object. */ +function toPlainInfo(info: unknown): unknown { + if (typeof info !== 'object' || info === null || !('Custom' in info)) return info; + if (!(info.Custom instanceof Map)) return info; + return { ...info, Custom: Object.fromEntries(info.Custom) }; +} diff --git a/packages/nodes-base/nodes/ReadPdf/test/ReadPDF-encrypted.workflow.json b/packages/nodes-base/nodes/ReadPdf/test/ReadPDF-encrypted.workflow.json index 7cb312f8c41..c55e1ca1291 100644 --- a/packages/nodes-base/nodes/ReadPdf/test/ReadPDF-encrypted.workflow.json +++ b/packages/nodes-base/nodes/ReadPdf/test/ReadPDF-encrypted.workflow.json @@ -57,7 +57,7 @@ "Title": "sample" }, "text": "N8N\nSample PDF\nLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor\ninvidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et\njusto duo dolores et ea rebum.", - "version": "5.4.296" + "version": "6.3.289" } } ] diff --git a/packages/nodes-base/nodes/ReadPdf/test/ReadPDF.workflow.json b/packages/nodes-base/nodes/ReadPdf/test/ReadPDF.workflow.json index 74e8eb0f73e..0373a224d9e 100644 --- a/packages/nodes-base/nodes/ReadPdf/test/ReadPDF.workflow.json +++ b/packages/nodes-base/nodes/ReadPdf/test/ReadPDF.workflow.json @@ -54,7 +54,7 @@ "ModDate": "D:20230210122750Z" }, "text": "N8N\nSample PDF\nLorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor\ninvidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et\njusto duo dolores et ea rebum.", - "version": "5.4.296" + "version": "6.3.289" } } ] diff --git a/packages/nodes-base/utils/__tests__/binary.test.ts b/packages/nodes-base/utils/__tests__/binary.test.ts index b19b1bc03f0..a85c208e32a 100644 --- a/packages/nodes-base/utils/__tests__/binary.test.ts +++ b/packages/nodes-base/utils/__tests__/binary.test.ts @@ -20,7 +20,7 @@ vi.mock('@e965/xlsx', () => ({ vi.mock('pdfjs-dist/legacy/build/pdf.mjs', () => ({ getDocument: vi.fn(), - version: '5.4.296', + version: '6.3.289', })); describe('convertJsonToSpreadsheetBinary', () => { @@ -122,6 +122,36 @@ describe('extractDataFromPDF', () => { } }); + it('should return custom document info entries as a plain object', async () => { + const mockDocument = { + numPages: 0, + getMetadata: vi.fn().mockResolvedValue({ + info: { Title: 'Report', Custom: new Map([['Department', 'Finance']]) }, + metadata: null, + }), + getPage: vi.fn(), + }; + const { getDocument } = await import('pdfjs-dist/legacy/build/pdf.mjs'); + (getDocument as Mock).mockReturnValue({ + promise: Promise.resolve(mockDocument), + }); + helpers.assertBinaryData.mockReturnValue({ + data: Buffer.from('fake pdf content').toString(BINARY_ENCODING), + mimeType: 'application/pdf', + }); + + const result = await extractDataFromPDF.call( + executeFunctions, + 'data', + undefined, + undefined, + true, + 0, + ); + + expect(result.info).toEqual({ Title: 'Report', Custom: { Department: 'Finance' } }); + }); + describe('DOMMatrix polyfill', () => { it('should polyfill DOMMatrix when it is undefined', async () => { // @ts-expect-error - Intentionally deleting for test diff --git a/packages/nodes-base/utils/binary.ts b/packages/nodes-base/utils/binary.ts index e71764d266b..8b7411eb77c 100644 --- a/packages/nodes-base/utils/binary.ts +++ b/packages/nodes-base/utils/binary.ts @@ -241,12 +241,16 @@ export async function extractDataFromPDF( ); const document = await readPDF({ password, - isEvalSupported: false, data: new Uint8Array(buffer), }).promise; - const { info, metadata } = await document + const { info: documentInfo, metadata } = await document .getMetadata() .catch(() => ({ info: null, metadata: null })); + // pdfjs-dist returns custom info entries as a Map, which JSON serializes as an empty object. + const info = + documentInfo && 'Custom' in documentInfo && documentInfo.Custom instanceof Map + ? { ...documentInfo, Custom: Object.fromEntries(documentInfo.Custom) } + : documentInfo; const pages = []; if (maxPages !== 0) { diff --git a/patches/pdf-parse@2.4.5.patch b/patches/pdf-parse@2.4.5.patch new file mode 100644 index 00000000000..bcbabf3de7a --- /dev/null +++ b/patches/pdf-parse@2.4.5.patch @@ -0,0 +1,14 @@ +diff --git a/dist/pdf-parse/esm/PDFParse.js b/dist/pdf-parse/esm/PDFParse.js +index c7db69f699ac425e7fab7c2bb35422270e6b9699..36ea71b340258ba1101dee46fb2bf1822b64ccfa 100644 +--- a/dist/pdf-parse/esm/PDFParse.js ++++ b/dist/pdf-parse/esm/PDFParse.js +@@ -32,7 +32,8 @@ export class PDFParse { + } + async destroy() { + if (this.doc) { +- await this.doc.destroy(); ++ // pdfjs-dist 6 removed PDFDocumentProxy.destroy(); destroy the loading task instead. ++ await this.doc.loadingTask.destroy(); + this.doc = undefined; + } + } diff --git a/patches/pdfjs-dist@5.4.296.patch b/patches/pdfjs-dist@5.4.296.patch deleted file mode 100644 index 8a8110080b8..00000000000 --- a/patches/pdfjs-dist@5.4.296.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/legacy/build/pdf.mjs b/legacy/build/pdf.mjs -index d0c1864edb1d3a042468fd3f8ca98f9b52b67a1b..e26bc47c11e5ce612a7f6f4fead34e04473e68f1 100644 ---- a/legacy/build/pdf.mjs -+++ b/legacy/build/pdf.mjs -@@ -14336,9 +14336,9 @@ class AnnotationEditor { - if (isNodeJS) { - let canvas; - try { -- const require = process.getBuiltinModule("module").createRequire(import.meta.url); -+ const _require = process.getBuiltinModule("module").createRequire(import.meta.url); - try { -- canvas = require("@napi-rs/canvas"); -+ canvas = _require("@napi-rs/canvas"); - } catch (ex) { - warn(`Cannot load "@napi-rs/canvas" package: "${ex}".`); - } -@@ -14382,8 +14382,8 @@ async function node_utils_fetchData(url) { - class NodeFilterFactory extends BaseFilterFactory {} - class NodeCanvasFactory extends BaseCanvasFactory { - _createCanvas(width, height) { -- const require = process.getBuiltinModule("module").createRequire(import.meta.url); -- const canvas = require("@napi-rs/canvas"); -+ const _require = process.getBuiltinModule("module").createRequire(import.meta.url); -+ const canvas = _require("@napi-rs/canvas"); - return canvas.createCanvas(width, height); - } - } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9dd8948cd86..0369fa0f40c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -973,7 +973,7 @@ overrides: date-fns-tz: 2.0.0 form-data: 4.0.6 pdf-parse: 2.4.5 - pdfjs-dist: 5.4.296 + pdfjs-dist: 6.3.289 tmp: 0.2.7 nodemailer: 10.0.14 validator: 13.15.26 @@ -1062,6 +1062,7 @@ overrides: '@grpc/grpc-js@<1.14.5': 1.14.5 prosemirror-model: 1.25.12 prosemirror-view@<1.42.3: 1.42.3 + pdf-parse>@napi-rs/canvas: ^1.0.0 '@icetee/ftp>xregexp': npm:empty-npm-package@1.0.0 patchedDependencies: @@ -1081,7 +1082,7 @@ patchedDependencies: imapflow@1.7.1: 9a2144a656c11ce1dbc8a0400e46e4fb575dc28be8b461e612cecf31be6f8025 lodash@4.18.1: 81ead1b07fc8efda87bd2724dbd876ab49f4a0aa03f96c3770060b2ea47d9e0b minifaker: bc707e2c34a2464da2c9c93ead33e80fd9883a00434ef64907ddc45208a08b33 - pdfjs-dist@5.4.296: e652436fd7a04798432ecfcf33f92fbe6ebedbc248af535faca00b8181aa936f + pdf-parse@2.4.5: 3827ce0d19ea8a667a03b05afe753b3d8a7a5a837ccfc4b8f5516e738e6cea82 pkce-challenge@5.0.0: 651e785d0b7bbf5be9210e1e895c39a16dc3ce8a5a3843b4819565fb6e175b90 reka-ui@2.5.0: f1cec654cb01a5751dfc1de06604bb22f9518860ea9c72fb685e770509923a2f v-code-diff: 21588de80e591bbc1e5a068d9bce311db5254686443652945d2c7887fdafe9d9 @@ -1380,7 +1381,7 @@ importers: version: 1.0.27(@aws-sdk/credential-provider-node@3.972.80)(@langchain/core@1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(@smithy/signature-v4@5.7.2)(cheerio@1.1.0)(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) '@langchain/community': specifier: 'catalog:' - version: 1.1.27(2c7cff29d0c770c5716f6aff97059c1e) + version: 1.1.27(41022259841e95b98b729f6a5b2d6eb1) '@langchain/core': specifier: 'catalog:' version: 1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) @@ -1419,7 +1420,7 @@ importers: version: link:../../workflow pdf-parse: specifier: 2.4.5 - version: 2.4.5 + version: 2.4.5(patch_hash=3827ce0d19ea8a667a03b05afe753b3d8a7a5a837ccfc4b8f5516e738e6cea82) tmp-promise: specifier: 'catalog:' version: 3.0.3 @@ -3218,7 +3219,7 @@ importers: version: 6.0.1 pdf-parse: specifier: 2.4.5 - version: 2.4.5 + version: 2.4.5(patch_hash=3827ce0d19ea8a667a03b05afe753b3d8a7a5a837ccfc4b8f5516e738e6cea82) psl: specifier: 1.15.0 version: 1.15.0 @@ -3787,7 +3788,7 @@ importers: version: 1.0.1(@langchain/core@1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(encoding@0.1.13) '@langchain/community': specifier: 'catalog:' - version: 1.1.27(00e8b9f9102bb4ca0b330139e4f49dd4) + version: 1.1.27(43ffcdb9884d930c39a50941c65912b3) '@langchain/core': specifier: 'catalog:' version: 1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) @@ -5129,7 +5130,7 @@ importers: version: 3.1.0 pdf-parse: specifier: 2.4.5 - version: 2.4.5 + version: 2.4.5(patch_hash=3827ce0d19ea8a667a03b05afe753b3d8a7a5a837ccfc4b8f5516e738e6cea82) pg: specifier: 8.21.0 version: 8.21.0(pg-native@3.8.0) @@ -7955,8 +7956,8 @@ importers: specifier: 9.1.1 version: 9.1.1 pdfjs-dist: - specifier: 5.4.296 - version: 5.4.296(patch_hash=e652436fd7a04798432ecfcf33f92fbe6ebedbc248af535faca00b8181aa936f) + specifier: 6.3.289 + version: 6.3.289 pg: specifier: 8.21.0 version: 8.21.0(pg-native@3.8.0) @@ -11769,73 +11770,79 @@ packages: resolution: {integrity: sha512-067T0HncCKaqQmgA0hc/Bad+ztL67ZYyePnc263kEX0PfxQaAXRIofHPYLVrKxPbZlxgB5+SmuDlDeDtXAiZKg==} engines: {node: '>=20'} - '@napi-rs/canvas-android-arm64@0.1.80': - resolution: {integrity: sha512-sk7xhN/MoXeuExlggf91pNziBxLPVUqF2CAVnB57KLG/pz7+U5TKG8eXdc3pm0d7Od0WreB6ZKLj37sX9muGOQ==} + '@napi-rs/canvas-android-arm64@1.0.11': + resolution: {integrity: sha512-dtJS4FQEfH9OwSYLtMrEnj7T8DzBbJc/97LI/OkiWOYpW/iW5t6R/gcxVrUXS8l45gCVpwMufgucRe/pe0ISqA==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - '@napi-rs/canvas-darwin-arm64@0.1.80': - resolution: {integrity: sha512-O64APRTXRUiAz0P8gErkfEr3lipLJgM6pjATwavZ22ebhjYl/SUbpgM0xcWPQBNMP1n29afAC/Us5PX1vg+JNQ==} + '@napi-rs/canvas-darwin-arm64@1.0.11': + resolution: {integrity: sha512-J/JylWoJTG8OQqZaiqly4IODyAxNofUlZo0wtSBJtHk6AdymbdIkPynAM1JvQaZpPaG5h+msk9QuK8y4i1ooqw==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@napi-rs/canvas-darwin-x64@0.1.80': - resolution: {integrity: sha512-FqqSU7qFce0Cp3pwnTjVkKjjOtxMqRe6lmINxpIZYaZNnVI0H5FtsaraZJ36SiTHNjZlUB69/HhxNDT1Aaa9vA==} + '@napi-rs/canvas-darwin-x64@1.0.11': + resolution: {integrity: sha512-nlecCk3xy06eAGC7krZtzNDm9UNTHKuHQYK8ZYegdjzgSL8anGt/eLJZm86OWaNgZkwQwvDqfSmG8Nqe6MPZNQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.80': - resolution: {integrity: sha512-eyWz0ddBDQc7/JbAtY4OtZ5SpK8tR4JsCYEZjCE3dI8pqoWUC8oMwYSBGCYfsx2w47cQgQCgMVRVTFiiO38hHQ==} + '@napi-rs/canvas-linux-arm-gnueabihf@1.0.11': + resolution: {integrity: sha512-DKImmG+sTPolE0kGPsYPBxTtOjb3INALp32O2lW2CfSr0bAzSEKKuu+GrQbtilClyoPOahUErS3OrznFDraoWA==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@napi-rs/canvas-linux-arm64-gnu@0.1.80': - resolution: {integrity: sha512-qwA63t8A86bnxhuA/GwOkK3jvb+XTQaTiVML0vAWoHyoZYTjNs7BzoOONDgTnNtr8/yHrq64XXzUoLqDzU+Uuw==} + '@napi-rs/canvas-linux-arm64-gnu@1.0.11': + resolution: {integrity: sha512-55sykACGENj5j1rhj+81AO8JbR9HYgGjRZ7/H+pNr4VE1DvINKYNMTcutk8ZmWxk276jAQvUKJ3+Kdj9GXU3lQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@napi-rs/canvas-linux-arm64-musl@0.1.80': - resolution: {integrity: sha512-1XbCOz/ymhj24lFaIXtWnwv/6eFHXDrjP0jYkc6iHQ9q8oXKzUX1Lc6bu+wuGiLhGh2GS/2JlfORC5ZcXimRcg==} + '@napi-rs/canvas-linux-arm64-musl@1.0.11': + resolution: {integrity: sha512-6Jz6jys17yXydO+WdJgu7JhoB4K7/w9sWHByzzTmLjQghUx3TDMWvLv+UcCdnWhg4oprET67EMymnrETdeGNAg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@napi-rs/canvas-linux-riscv64-gnu@0.1.80': - resolution: {integrity: sha512-XTzR125w5ZMs0lJcxRlS1K3P5RaZ9RmUsPtd1uGt+EfDyYMu4c6SEROYsxyatbbu/2+lPe7MPHOO/0a0x7L/gw==} + '@napi-rs/canvas-linux-riscv64-gnu@1.0.11': + resolution: {integrity: sha512-lf2XeEebWiUYVOVEjLXxF7dfXrBBSEOBn9AqBh39VYXrPt5cDqI+1t58IFSjn8npqkg5jIOs8TQbjKABbFW1gQ==} engines: {node: '>= 10'} cpu: [riscv64] os: [linux] libc: [glibc] - '@napi-rs/canvas-linux-x64-gnu@0.1.80': - resolution: {integrity: sha512-BeXAmhKg1kX3UCrJsYbdQd3hIMDH/K6HnP/pG2LuITaXhXBiNdh//TVVVVCBbJzVQaV5gK/4ZOCMrQW9mvuTqA==} + '@napi-rs/canvas-linux-x64-gnu@1.0.11': + resolution: {integrity: sha512-iDapw7nFSE5tsmQxcH2+KotJhyfVPmHd6vUOQN/Em+8WNbkZJwJ/rDowlJMFnMl0SYSDSfgKCNUGi6Sn5++Smg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@napi-rs/canvas-linux-x64-musl@0.1.80': - resolution: {integrity: sha512-x0XvZWdHbkgdgucJsRxprX/4o4sEed7qo9rCQA9ugiS9qE2QvP0RIiEugtZhfLH3cyI+jIRFJHV4Fuz+1BHHMg==} + '@napi-rs/canvas-linux-x64-musl@1.0.11': + resolution: {integrity: sha512-26q26AyITo3CGZX4HWFIMgBMA1lu3YN07gxzBm4tW6Hglq/OVyTP50kDrmWuKybCX6dh3m8Ly+c7YhI+sqCgCQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@napi-rs/canvas-win32-x64-msvc@0.1.80': - resolution: {integrity: sha512-Z8jPsM6df5V8B1HrCHB05+bDiCxjE9QA//3YrkKIdVDEwn5RKaqOxCJDRJkl48cJbylcrJbW4HxZbTte8juuPg==} + '@napi-rs/canvas-win32-arm64-msvc@1.0.11': + resolution: {integrity: sha512-cUO96IdsfvIj2S+2PNcDSkTcLhjPj8pIOEWRV1Kj70MOP4wnE9zSk7N4C1EKHlFGRcgdR5AkbnBZj0dfHK9nbQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@napi-rs/canvas-win32-x64-msvc@1.0.11': + resolution: {integrity: sha512-DFYp/ZQRdKunI/LPc0UkRXG1vlNjJKOJf8O8Ctb8+wm2Nt2ELg9Eamc31D2VoakkfGo8L+z0Iejz6WtFbQwyGw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@napi-rs/canvas@0.1.80': - resolution: {integrity: sha512-DxuT1ClnIPts1kQx8FBmkk4BQDTfI5kIzywAaMjQSXfNnra5UFU9PwurXrl+Je3bJ6BGsp/zmshVVFbCmyI+ww==} + '@napi-rs/canvas@1.0.11': + resolution: {integrity: sha512-vt5tog1cr+QKadIddGe+3LrcX0EmjEd0izF717Uwf92mBmgYfq2XRmL2r4bZU40spB69exxhrBn9I91HYEr/7w==} engines: {node: '>= 10'} '@napi-rs/image-android-arm64@1.12.0': @@ -21967,9 +21974,9 @@ packages: engines: {node: '>=20.16.0 <21 || >=22.3.0'} hasBin: true - pdfjs-dist@5.4.296: - resolution: {integrity: sha512-DlOzet0HO7OEnmUmB6wWGJrrdvbyJKftI1bhMitK7O2N8W2gc757yyYBbINy9IDafXAV9wmKr9t7xsTaNKRG5Q==} - engines: {node: '>=20.16.0 || >=22.3.0'} + pdfjs-dist@6.3.289: + resolution: {integrity: sha512-ZHjSVpDa3D6izMq8/04lvkhkATUmL9px6ChPaXc1k6nU2Mrhlg1/7F0bdUqCwUjw3NsPTfPZsMDUU6ZIcRaeQw==} + engines: {node: '>=22.13.0 || >=24'} pe-library@0.4.1: resolution: {integrity: sha512-eRWB5LBz7PpDu4PUlwT0PhnQfTQJlDDdPa35urV4Osrm0t0AqQFGn+UIkU3klZvwJ8KPO3VbBFsXquA6p6kqZw==} @@ -29023,7 +29030,71 @@ snapshots: - aws-crt - encoding - '@langchain/community@1.1.27(00e8b9f9102bb4ca0b330139e4f49dd4)': + '@langchain/community@1.1.27(41022259841e95b98b729f6a5b2d6eb1)': + dependencies: + '@browserbasehq/stagehand': empty-npm-package@1.0.0 + '@ibm-cloud/watsonx-ai': 1.1.2(supports-color@8.1.1) + '@langchain/classic': 1.0.27(@aws-sdk/credential-provider-node@3.972.80)(@langchain/core@1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(@smithy/signature-v4@5.7.2)(cheerio@1.1.0)(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@langchain/core': 1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + '@langchain/openai': 1.4.1(@aws-sdk/credential-provider-node@3.972.80)(@langchain/core@1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + binary-extensions: 2.2.0 + flat: 5.0.2 + ibm-cloud-sdk-core: 5.5.0(supports-color@8.1.1) + js-yaml: 4.3.2 + langsmith: 0.6.0(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) + math-expression-evaluator: 2.0.7 + openai: 6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76) + uuid: 13.0.1 + zod: 3.25.76 + optionalDependencies: + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-s3': 3.1111.0 + '@aws-sdk/credential-provider-node': 3.972.80 + '@azure/storage-blob': 12.32.0(supports-color@8.1.1) + '@browserbasehq/sdk': 2.12.0(encoding@0.1.13) + '@getzep/zep-cloud': 1.0.6(4525d96962c4570274073bd4f9765799) + '@google-cloud/storage': 7.12.1(encoding@0.1.13)(supports-color@8.1.1) + '@libsql/client': 0.17.2(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) + '@mozilla/readability': 0.6.0 + '@pinecone-database/pinecone': 5.1.2 + '@qdrant/js-client-rest': 1.19.0(typescript@7.0.2) + '@smithy/eventstream-codec': 4.4.14 + '@smithy/protocol-http': 5.3.12 + '@smithy/signature-v4': 5.7.2 + '@smithy/util-utf8': 4.4.14 + '@supabase/supabase-js': 2.112.3(@opentelemetry/api@1.9.1) + '@zilliz/milvus2-sdk-node': 2.5.7 + chromadb: 3.2.0 + cohere-ai: 7.14.0(encoding@0.1.13) + crypto-js: 4.2.0 + discord.js: 14.27.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + epub2: 3.0.2(ts-toolbelt@9.6.0) + fast-xml-parser: 5.7.2 + google-auth-library: 10.9.1(supports-color@8.1.1) + html-to-text: 9.0.5 + ignore: 7.0.5 + ioredis: 5.3.2(supports-color@8.1.1) + jsdom: 23.0.1(bufferutil@4.0.9)(supports-color@8.1.1)(utf-8-validate@5.0.10) + jsonwebtoken: 9.0.3 + lodash: 4.18.1(patch_hash=81ead1b07fc8efda87bd2724dbd876ab49f4a0aa03f96c3770060b2ea47d9e0b) + mammoth: 1.12.1 + mongodb: 6.21.0(@aws-sdk/credential-providers@3.808.0)(gcp-metadata@5.3.0(supports-color@8.1.1))(socks@2.8.9) + mysql2: 3.23.1(@types/node@20.19.41) + pdf-parse: 2.4.5(patch_hash=3827ce0d19ea8a667a03b05afe753b3d8a7a5a837ccfc4b8f5516e738e6cea82) + pg: 8.21.0(pg-native@3.8.0) + playwright: 1.62.1 + puppeteer: 24.41.0(bufferutil@4.0.9)(supports-color@8.1.1)(typescript@7.0.2)(utf-8-validate@5.0.10) + redis: 4.6.14 + weaviate-client: 3.9.0(encoding@0.1.13) + ws: 8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - '@opentelemetry/api' + - '@opentelemetry/exporter-trace-otlp-proto' + - '@opentelemetry/sdk-trace-base' + - '@smithy/hash-node' + - peggy + + '@langchain/community@1.1.27(43ffcdb9884d930c39a50941c65912b3)': dependencies: '@browserbasehq/stagehand': empty-npm-package@1.0.0 '@ibm-cloud/watsonx-ai': 1.1.2(supports-color@8.1.1) @@ -29079,7 +29150,7 @@ snapshots: mammoth: 1.12.1 mongodb: 6.21.0(@aws-sdk/credential-providers@3.808.0)(gcp-metadata@5.3.0(supports-color@8.1.1))(socks@2.8.3) mysql2: 3.23.1(@types/node@20.19.41) - pdf-parse: 2.4.5 + pdf-parse: 2.4.5(patch_hash=3827ce0d19ea8a667a03b05afe753b3d8a7a5a837ccfc4b8f5516e738e6cea82) pg: 8.21.0(pg-native@3.8.0) playwright: 1.62.1 puppeteer: 24.41.0(@typescript/typescript6@6.0.2)(bufferutil@4.0.9)(supports-color@8.1.1)(utf-8-validate@5.0.10) @@ -29093,70 +29164,6 @@ snapshots: - '@smithy/hash-node' - peggy - '@langchain/community@1.1.27(2c7cff29d0c770c5716f6aff97059c1e)': - dependencies: - '@browserbasehq/stagehand': empty-npm-package@1.0.0 - '@ibm-cloud/watsonx-ai': 1.1.2(supports-color@8.1.1) - '@langchain/classic': 1.0.27(@aws-sdk/credential-provider-node@3.972.80)(@langchain/core@1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(@smithy/signature-v4@5.7.2)(cheerio@1.1.0)(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@langchain/core': 1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - '@langchain/openai': 1.4.1(@aws-sdk/credential-provider-node@3.972.80)(@langchain/core@1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)))(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - binary-extensions: 2.2.0 - flat: 5.0.2 - ibm-cloud-sdk-core: 5.5.0(supports-color@8.1.1) - js-yaml: 4.3.2 - langsmith: 0.6.0(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10)) - math-expression-evaluator: 2.0.7 - openai: 6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76) - uuid: 13.0.1 - zod: 3.25.76 - optionalDependencies: - '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-s3': 3.1111.0 - '@aws-sdk/credential-provider-node': 3.972.80 - '@azure/storage-blob': 12.32.0(supports-color@8.1.1) - '@browserbasehq/sdk': 2.12.0(encoding@0.1.13) - '@getzep/zep-cloud': 1.0.6(4525d96962c4570274073bd4f9765799) - '@google-cloud/storage': 7.12.1(encoding@0.1.13)(supports-color@8.1.1) - '@libsql/client': 0.17.2(bufferutil@4.0.9)(encoding@0.1.13)(utf-8-validate@5.0.10) - '@mozilla/readability': 0.6.0 - '@pinecone-database/pinecone': 5.1.2 - '@qdrant/js-client-rest': 1.19.0(typescript@7.0.2) - '@smithy/eventstream-codec': 4.4.14 - '@smithy/protocol-http': 5.3.12 - '@smithy/signature-v4': 5.7.2 - '@smithy/util-utf8': 4.4.14 - '@supabase/supabase-js': 2.112.3(@opentelemetry/api@1.9.1) - '@zilliz/milvus2-sdk-node': 2.5.7 - chromadb: 3.2.0 - cohere-ai: 7.14.0(encoding@0.1.13) - crypto-js: 4.2.0 - discord.js: 14.27.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) - epub2: 3.0.2(ts-toolbelt@9.6.0) - fast-xml-parser: 5.7.2 - google-auth-library: 10.9.1(supports-color@8.1.1) - html-to-text: 9.0.5 - ignore: 7.0.5 - ioredis: 5.3.2(supports-color@8.1.1) - jsdom: 23.0.1(bufferutil@4.0.9)(supports-color@8.1.1)(utf-8-validate@5.0.10) - jsonwebtoken: 9.0.3 - lodash: 4.18.1(patch_hash=81ead1b07fc8efda87bd2724dbd876ab49f4a0aa03f96c3770060b2ea47d9e0b) - mammoth: 1.12.1 - mongodb: 6.21.0(@aws-sdk/credential-providers@3.808.0)(gcp-metadata@5.3.0(supports-color@8.1.1))(socks@2.8.9) - mysql2: 3.23.1(@types/node@20.19.41) - pdf-parse: 2.4.5 - pg: 8.21.0(pg-native@3.8.0) - playwright: 1.62.1 - puppeteer: 24.41.0(bufferutil@4.0.9)(supports-color@8.1.1)(typescript@7.0.2)(utf-8-validate@5.0.10) - redis: 4.6.14 - weaviate-client: 3.9.0(encoding@0.1.13) - ws: 8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - '@opentelemetry/api' - - '@opentelemetry/exporter-trace-otlp-proto' - - '@opentelemetry/sdk-trace-base' - - '@smithy/hash-node' - - peggy - '@langchain/core@1.2.8(@opentelemetry/api@1.9.1)(@opentelemetry/exporter-trace-otlp-proto@0.221.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.10.0(@opentelemetry/api@1.9.1))(openai@6.46.0(@aws-sdk/credential-provider-node@3.972.80)(@smithy/signature-v4@5.7.2)(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))(zod@3.25.76))(ws@8.21.1(bufferutil@4.0.9)(utf-8-validate@5.0.10))': dependencies: '@cfworker/json-schema': 4.1.0 @@ -29912,48 +29919,52 @@ snapshots: node-rsa: 2.0.0 undici: 7.29.1 - '@napi-rs/canvas-android-arm64@0.1.80': + '@napi-rs/canvas-android-arm64@1.0.11': optional: true - '@napi-rs/canvas-darwin-arm64@0.1.80': + '@napi-rs/canvas-darwin-arm64@1.0.11': optional: true - '@napi-rs/canvas-darwin-x64@0.1.80': + '@napi-rs/canvas-darwin-x64@1.0.11': optional: true - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.80': + '@napi-rs/canvas-linux-arm-gnueabihf@1.0.11': optional: true - '@napi-rs/canvas-linux-arm64-gnu@0.1.80': + '@napi-rs/canvas-linux-arm64-gnu@1.0.11': optional: true - '@napi-rs/canvas-linux-arm64-musl@0.1.80': + '@napi-rs/canvas-linux-arm64-musl@1.0.11': optional: true - '@napi-rs/canvas-linux-riscv64-gnu@0.1.80': + '@napi-rs/canvas-linux-riscv64-gnu@1.0.11': optional: true - '@napi-rs/canvas-linux-x64-gnu@0.1.80': + '@napi-rs/canvas-linux-x64-gnu@1.0.11': optional: true - '@napi-rs/canvas-linux-x64-musl@0.1.80': + '@napi-rs/canvas-linux-x64-musl@1.0.11': optional: true - '@napi-rs/canvas-win32-x64-msvc@0.1.80': + '@napi-rs/canvas-win32-arm64-msvc@1.0.11': optional: true - '@napi-rs/canvas@0.1.80': + '@napi-rs/canvas-win32-x64-msvc@1.0.11': + optional: true + + '@napi-rs/canvas@1.0.11': optionalDependencies: - '@napi-rs/canvas-android-arm64': 0.1.80 - '@napi-rs/canvas-darwin-arm64': 0.1.80 - '@napi-rs/canvas-darwin-x64': 0.1.80 - '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.80 - '@napi-rs/canvas-linux-arm64-gnu': 0.1.80 - '@napi-rs/canvas-linux-arm64-musl': 0.1.80 - '@napi-rs/canvas-linux-riscv64-gnu': 0.1.80 - '@napi-rs/canvas-linux-x64-gnu': 0.1.80 - '@napi-rs/canvas-linux-x64-musl': 0.1.80 - '@napi-rs/canvas-win32-x64-msvc': 0.1.80 + '@napi-rs/canvas-android-arm64': 1.0.11 + '@napi-rs/canvas-darwin-arm64': 1.0.11 + '@napi-rs/canvas-darwin-x64': 1.0.11 + '@napi-rs/canvas-linux-arm-gnueabihf': 1.0.11 + '@napi-rs/canvas-linux-arm64-gnu': 1.0.11 + '@napi-rs/canvas-linux-arm64-musl': 1.0.11 + '@napi-rs/canvas-linux-riscv64-gnu': 1.0.11 + '@napi-rs/canvas-linux-x64-gnu': 1.0.11 + '@napi-rs/canvas-linux-x64-musl': 1.0.11 + '@napi-rs/canvas-win32-arm64-msvc': 1.0.11 + '@napi-rs/canvas-win32-x64-msvc': 1.0.11 '@napi-rs/image-android-arm64@1.12.0': optional: true @@ -41545,14 +41556,14 @@ snapshots: dependencies: through: 2.3.8 - pdf-parse@2.4.5: + pdf-parse@2.4.5(patch_hash=3827ce0d19ea8a667a03b05afe753b3d8a7a5a837ccfc4b8f5516e738e6cea82): dependencies: - '@napi-rs/canvas': 0.1.80 - pdfjs-dist: 5.4.296(patch_hash=e652436fd7a04798432ecfcf33f92fbe6ebedbc248af535faca00b8181aa936f) + '@napi-rs/canvas': 1.0.11 + pdfjs-dist: 6.3.289 - pdfjs-dist@5.4.296(patch_hash=e652436fd7a04798432ecfcf33f92fbe6ebedbc248af535faca00b8181aa936f): + pdfjs-dist@6.3.289: optionalDependencies: - '@napi-rs/canvas': 0.1.80 + '@napi-rs/canvas': 1.0.11 pe-library@0.4.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index c2770b92e61..1ad0cf9207a 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -248,7 +248,7 @@ catalog: oxlint-tsgolint: ^0.21.1 p-limit: ^3.1.0 pdf-parse: 2.4.5 - pdfjs-dist: 5.4.296 + pdfjs-dist: 6.3.289 pg: 8.21.0 picocolors: 1.0.1 playwright-core: 1.62.1 @@ -486,13 +486,14 @@ overrides: # The editor schema and DOM parser must use the same model classes. prosemirror-model: 1.25.12 'prosemirror-view@<1.42.3': 1.42.3 + # Only the pdf-parse CommonJS build loads this copy. Match pdfjs-dist so the image ships one binary. + 'pdf-parse>@napi-rs/canvas': ^1.0.0 # The @icetee/ftp patch replaces xregexp with native RegExp. '@icetee/ftp>xregexp': npm:empty-npm-package@1.0.0 patchedDependencies: bull@4.16.4: patches/bull@4.16.4.patch element-plus@2.4.3: patches/element-plus@2.4.3.patch - pdfjs-dist@5.4.296: patches/pdfjs-dist@5.4.296.patch pkce-challenge@5.0.0: patches/pkce-challenge@5.0.0.patch '@types/express-serve-static-core@5.0.6': patches/@types__express-serve-static-core@5.0.6.patch '@types/ws@8.18.1': patches/@types__ws@8.18.1.patch @@ -512,6 +513,7 @@ patchedDependencies: imapflow@1.7.1: patches/imapflow@1.7.1.patch '@chat-adapter/teams@4.37.0': patches/@chat-adapter__teams@4.37.0.patch '@chat-adapter/whatsapp@4.37.0': patches/@chat-adapter__whatsapp@4.37.0.patch + pdf-parse@2.4.5: patches/pdf-parse@2.4.5.patch '@icetee/ftp@0.3.15': patches/@icetee__ftp@0.3.15.patch xml2js@0.6.2: patches/xml2js@0.6.2.patch