@n8n/n8n-nodes-langchain 1.122.28 → 1.122.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -104,7 +104,8 @@ async function transferFile(i, downloadUrl, fallbackMimeType, qs) {
|
|
|
104
104
|
params: qs,
|
|
105
105
|
responseType: "stream"
|
|
106
106
|
});
|
|
107
|
-
|
|
107
|
+
const contentType = downloadResponse.headers["content-type"];
|
|
108
|
+
mimeType = contentType?.split(";")?.[0] ?? fallbackMimeType ?? "application/octet-stream";
|
|
108
109
|
stream = downloadResponse.data;
|
|
109
110
|
} else {
|
|
110
111
|
const binaryPropertyName = this.getNodeParameter("binaryPropertyName", i, "data");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../nodes/vendors/GoogleGemini/helpers/utils.ts"],"sourcesContent":["import type { IDataObject, IExecuteFunctions } from 'n8n-workflow';\nimport { NodeOperationError } from 'n8n-workflow';\n\nimport { apiRequest } from '../transport';\n\nimport axios from 'axios';\nimport type Stream from 'node:stream';\n\ninterface File {\n\tname: string;\n\turi: string;\n\tmimeType: string;\n\tstate: string;\n\terror?: { message: string };\n}\n\nconst CHUNK_SIZE = 256 * 1024;\n\nexport async function downloadFile(\n\tthis: IExecuteFunctions,\n\turl: string,\n\tfallbackMimeType?: string,\n\tqs?: IDataObject,\n) {\n\tconst downloadResponse = (await this.helpers.httpRequest({\n\t\tmethod: 'GET',\n\t\turl,\n\t\tqs,\n\t\treturnFullResponse: true,\n\t\tencoding: 'arraybuffer',\n\t})) as { body: ArrayBuffer; headers: IDataObject };\n\n\tconst mimeType =\n\t\t(downloadResponse.headers?.['content-type'] as string)?.split(';')?.[0] ?? fallbackMimeType;\n\tconst fileContent = Buffer.from(downloadResponse.body);\n\treturn {\n\t\tfileContent,\n\t\tmimeType,\n\t};\n}\n\nexport async function uploadFile(this: IExecuteFunctions, fileContent: Buffer, mimeType: string) {\n\tconst numBytes = fileContent.length.toString();\n\tconst uploadInitResponse = (await apiRequest.call(this, 'POST', '/upload/v1beta/files', {\n\t\theaders: {\n\t\t\t'X-Goog-Upload-Protocol': 'resumable',\n\t\t\t'X-Goog-Upload-Command': 'start',\n\t\t\t'X-Goog-Upload-Header-Content-Length': numBytes,\n\t\t\t'X-Goog-Upload-Header-Content-Type': mimeType,\n\t\t\t'Content-Type': 'application/json',\n\t\t},\n\t\toption: {\n\t\t\treturnFullResponse: true,\n\t\t},\n\t})) as { headers: IDataObject };\n\tconst uploadUrl = uploadInitResponse.headers['x-goog-upload-url'] as string;\n\n\tconst uploadResponse = (await this.helpers.httpRequest({\n\t\tmethod: 'POST',\n\t\turl: uploadUrl,\n\t\theaders: {\n\t\t\t'Content-Length': numBytes,\n\t\t\t'X-Goog-Upload-Offset': '0',\n\t\t\t'X-Goog-Upload-Command': 'upload, finalize',\n\t\t},\n\t\tbody: fileContent,\n\t})) as { file: File };\n\n\twhile (uploadResponse.file.state !== 'ACTIVE' && uploadResponse.file.state !== 'FAILED') {\n\t\tawait new Promise((resolve) => setTimeout(resolve, 1000));\n\t\tuploadResponse.file = (await apiRequest.call(\n\t\t\tthis,\n\t\t\t'GET',\n\t\t\t`/v1beta/${uploadResponse.file.name}`,\n\t\t)) as File;\n\t}\n\n\tif (uploadResponse.file.state === 'FAILED') {\n\t\tthrow new NodeOperationError(\n\t\t\tthis.getNode(),\n\t\t\tuploadResponse.file.error?.message ?? 'Unknown error',\n\t\t\t{\n\t\t\t\tdescription: 'Error uploading file',\n\t\t\t},\n\t\t);\n\t}\n\n\treturn { fileUri: uploadResponse.file.uri, mimeType: uploadResponse.file.mimeType };\n}\n\nexport async function transferFile(\n\tthis: IExecuteFunctions,\n\ti: number,\n\tdownloadUrl?: string,\n\tfallbackMimeType?: string,\n\tqs?: IDataObject,\n) {\n\tlet stream: Stream;\n\tlet mimeType: string;\n\n\tif (downloadUrl) {\n\t\tconst downloadResponse = await axios.get(downloadUrl, {\n\t\t\tparams: qs,\n\t\t\tresponseType: 'stream',\n\t\t});\n\n\t\
|
|
1
|
+
{"version":3,"sources":["../../../../../nodes/vendors/GoogleGemini/helpers/utils.ts"],"sourcesContent":["import type { IDataObject, IExecuteFunctions } from 'n8n-workflow';\nimport { NodeOperationError } from 'n8n-workflow';\n\nimport { apiRequest } from '../transport';\n\nimport axios from 'axios';\nimport type Stream from 'node:stream';\n\ninterface File {\n\tname: string;\n\turi: string;\n\tmimeType: string;\n\tstate: string;\n\terror?: { message: string };\n}\n\nconst CHUNK_SIZE = 256 * 1024;\n\nexport async function downloadFile(\n\tthis: IExecuteFunctions,\n\turl: string,\n\tfallbackMimeType?: string,\n\tqs?: IDataObject,\n) {\n\tconst downloadResponse = (await this.helpers.httpRequest({\n\t\tmethod: 'GET',\n\t\turl,\n\t\tqs,\n\t\treturnFullResponse: true,\n\t\tencoding: 'arraybuffer',\n\t})) as { body: ArrayBuffer; headers: IDataObject };\n\n\tconst mimeType =\n\t\t(downloadResponse.headers?.['content-type'] as string)?.split(';')?.[0] ?? fallbackMimeType;\n\tconst fileContent = Buffer.from(downloadResponse.body);\n\treturn {\n\t\tfileContent,\n\t\tmimeType,\n\t};\n}\n\nexport async function uploadFile(this: IExecuteFunctions, fileContent: Buffer, mimeType: string) {\n\tconst numBytes = fileContent.length.toString();\n\tconst uploadInitResponse = (await apiRequest.call(this, 'POST', '/upload/v1beta/files', {\n\t\theaders: {\n\t\t\t'X-Goog-Upload-Protocol': 'resumable',\n\t\t\t'X-Goog-Upload-Command': 'start',\n\t\t\t'X-Goog-Upload-Header-Content-Length': numBytes,\n\t\t\t'X-Goog-Upload-Header-Content-Type': mimeType,\n\t\t\t'Content-Type': 'application/json',\n\t\t},\n\t\toption: {\n\t\t\treturnFullResponse: true,\n\t\t},\n\t})) as { headers: IDataObject };\n\tconst uploadUrl = uploadInitResponse.headers['x-goog-upload-url'] as string;\n\n\tconst uploadResponse = (await this.helpers.httpRequest({\n\t\tmethod: 'POST',\n\t\turl: uploadUrl,\n\t\theaders: {\n\t\t\t'Content-Length': numBytes,\n\t\t\t'X-Goog-Upload-Offset': '0',\n\t\t\t'X-Goog-Upload-Command': 'upload, finalize',\n\t\t},\n\t\tbody: fileContent,\n\t})) as { file: File };\n\n\twhile (uploadResponse.file.state !== 'ACTIVE' && uploadResponse.file.state !== 'FAILED') {\n\t\tawait new Promise((resolve) => setTimeout(resolve, 1000));\n\t\tuploadResponse.file = (await apiRequest.call(\n\t\t\tthis,\n\t\t\t'GET',\n\t\t\t`/v1beta/${uploadResponse.file.name}`,\n\t\t)) as File;\n\t}\n\n\tif (uploadResponse.file.state === 'FAILED') {\n\t\tthrow new NodeOperationError(\n\t\t\tthis.getNode(),\n\t\t\tuploadResponse.file.error?.message ?? 'Unknown error',\n\t\t\t{\n\t\t\t\tdescription: 'Error uploading file',\n\t\t\t},\n\t\t);\n\t}\n\n\treturn { fileUri: uploadResponse.file.uri, mimeType: uploadResponse.file.mimeType };\n}\n\nexport async function transferFile(\n\tthis: IExecuteFunctions,\n\ti: number,\n\tdownloadUrl?: string,\n\tfallbackMimeType?: string,\n\tqs?: IDataObject,\n) {\n\tlet stream: Stream;\n\tlet mimeType: string;\n\n\tif (downloadUrl) {\n\t\tconst downloadResponse = await axios.get(downloadUrl, {\n\t\t\tparams: qs,\n\t\t\tresponseType: 'stream',\n\t\t});\n\n\t\tconst contentType = downloadResponse.headers['content-type'] as string | undefined;\n\t\tmimeType = contentType?.split(';')?.[0] ?? fallbackMimeType ?? 'application/octet-stream';\n\t\tstream = downloadResponse.data;\n\t} else {\n\t\tconst binaryPropertyName = this.getNodeParameter('binaryPropertyName', i, 'data');\n\t\tif (!binaryPropertyName) {\n\t\t\tthrow new NodeOperationError(this.getNode(), 'Binary property name is required', {\n\t\t\t\tdescription: 'Error uploading file',\n\t\t\t});\n\t\t}\n\t\tconst binaryData = this.helpers.assertBinaryData(i, binaryPropertyName);\n\t\tif (!binaryData.id) {\n\t\t\tconst buffer = await this.helpers.getBinaryDataBuffer(i, binaryPropertyName);\n\t\t\treturn await uploadFile.call(this, buffer, binaryData.mimeType);\n\t\t} else {\n\t\t\tstream = await this.helpers.getBinaryStream(binaryData.id, CHUNK_SIZE);\n\t\t\tmimeType = binaryData.mimeType;\n\t\t}\n\t}\n\n\tconst uploadInitResponse = (await apiRequest.call(this, 'POST', '/upload/v1beta/files', {\n\t\theaders: {\n\t\t\t'X-Goog-Upload-Protocol': 'resumable',\n\t\t\t'X-Goog-Upload-Command': 'start',\n\t\t\t'X-Goog-Upload-Header-Content-Type': mimeType,\n\t\t\t'Content-Type': 'application/json',\n\t\t},\n\t\toption: { returnFullResponse: true },\n\t})) as { headers: IDataObject };\n\n\tconst uploadUrl = uploadInitResponse.headers['x-goog-upload-url'] as string;\n\tif (!uploadUrl) {\n\t\tthrow new NodeOperationError(this.getNode(), 'Failed to get upload URL');\n\t}\n\n\tconst uploadResponse = (await this.helpers.httpRequest({\n\t\tmethod: 'POST',\n\t\turl: uploadUrl,\n\t\theaders: {\n\t\t\t'X-Goog-Upload-Offset': '0',\n\t\t\t'X-Goog-Upload-Command': 'upload, finalize',\n\t\t\t'Content-Type': mimeType,\n\t\t},\n\t\tbody: stream,\n\t\treturnFullResponse: true,\n\t})) as { body: { file: File } };\n\n\tlet file = uploadResponse.body.file;\n\n\twhile (file.state !== 'ACTIVE' && file.state !== 'FAILED') {\n\t\tawait new Promise((resolve) => setTimeout(resolve, 1000));\n\t\tfile = (await apiRequest.call(this, 'GET', `/v1beta/${file.name}`)) as File;\n\t}\n\n\tif (file.state === 'FAILED') {\n\t\tthrow new NodeOperationError(this.getNode(), file.error?.message ?? 'Unknown error', {\n\t\t\tdescription: 'Error uploading file',\n\t\t});\n\t}\n\n\treturn { fileUri: file.uri, mimeType: file.mimeType };\n}\n"],"mappings":"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","names":["axios"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/n8n-nodes-langchain",
|
|
3
|
-
"version": "1.122.
|
|
3
|
+
"version": "1.122.30",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
@@ -159,8 +159,8 @@
|
|
|
159
159
|
"fast-glob": "3.2.12",
|
|
160
160
|
"jest-mock-extended": "^3.0.4",
|
|
161
161
|
"tsup": "^8.5.1",
|
|
162
|
-
"
|
|
163
|
-
"n8n-
|
|
162
|
+
"n8n-core": "1.122.25",
|
|
163
|
+
"@n8n/eslint-plugin-community-nodes": "0.7.0"
|
|
164
164
|
},
|
|
165
165
|
"dependencies": {
|
|
166
166
|
"@aws-sdk/client-sso-oidc": "3.808.0",
|
|
@@ -225,18 +225,18 @@
|
|
|
225
225
|
"temp": "0.9.4",
|
|
226
226
|
"tmp-promise": "3.0.3",
|
|
227
227
|
"undici": "^6.21.0",
|
|
228
|
-
"vm2": "
|
|
228
|
+
"vm2": "3.11.2",
|
|
229
229
|
"weaviate-client": "3.6.2",
|
|
230
230
|
"zod": "3.25.67",
|
|
231
231
|
"zod-to-json-schema": "3.23.3",
|
|
232
|
-
"@n8n/client-oauth2": "0.33.2",
|
|
233
232
|
"@n8n/config": "1.65.5",
|
|
234
|
-
"@n8n/
|
|
233
|
+
"@n8n/client-oauth2": "0.33.3",
|
|
235
234
|
"@n8n/errors": "0.5.0",
|
|
236
|
-
"@n8n/
|
|
235
|
+
"@n8n/di": "0.10.0",
|
|
237
236
|
"@n8n/json-schema-to-zod": "1.6.0",
|
|
238
|
-
"n8n-
|
|
239
|
-
"n8n-workflow": "1.120.13"
|
|
237
|
+
"@n8n/typescript-config": "1.3.0",
|
|
238
|
+
"n8n-workflow": "1.120.13",
|
|
239
|
+
"n8n-nodes-base": "1.121.28"
|
|
240
240
|
},
|
|
241
241
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
242
242
|
"homepage": "https://n8n.io",
|