@n8n/n8n-nodes-langchain 2.14.1 → 2.15.0
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.
- package/dist/node-definitions/.nodes-hash +1 -1
- package/dist/nodes/chains/ChainLLM/methods/chainExecutor.js +1 -4
- package/dist/nodes/chains/ChainLLM/methods/chainExecutor.js.map +1 -1
- package/dist/nodes/llms/LMChatOpenAi/methods/loadModels.js +6 -4
- package/dist/nodes/llms/LMChatOpenAi/methods/loadModels.js.map +1 -1
- package/dist/nodes/mcp/shared/utils.js +41 -30
- package/dist/nodes/mcp/shared/utils.js.map +1 -1
- package/dist/typecheck.tsbuildinfo +1 -1
- package/dist/utils/output_parsers/N8nStructuredOutputParser.js +13 -8
- package/dist/utils/output_parsers/N8nStructuredOutputParser.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
450ed92fcacd9529a36bd873c7fb5742c384869cba2ed60ac3bed3f21e59f0f1
|
|
@@ -56,10 +56,7 @@ function getOutputParserForLLM(llm) {
|
|
|
56
56
|
async function executeSimpleChain({ context, llm, query, prompt, }) {
|
|
57
57
|
const outputParser = getOutputParserForLLM(llm);
|
|
58
58
|
const chain = prompt.pipe(llm).pipe(outputParser).withConfig((0, tracing_1.getTracingConfig)(context));
|
|
59
|
-
const response = await chain.invoke({
|
|
60
|
-
query,
|
|
61
|
-
signal: context.getExecutionCancelSignal(),
|
|
62
|
-
});
|
|
59
|
+
const response = await chain.invoke({ query }, { signal: context.getExecutionCancelSignal() });
|
|
63
60
|
return [response];
|
|
64
61
|
}
|
|
65
62
|
function withBuiltInTools(llm) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chainExecutor.js","sourceRoot":"","sources":["../../../../../nodes/chains/ChainLLM/methods/chainExecutor.ts"],"names":[],"mappings":";;;AAiCA,8DASC;AAED,sDAUC;AAKD,8CAIC;AAKD,sDAqBC;
|
|
1
|
+
{"version":3,"file":"chainExecutor.js","sourceRoot":"","sources":["../../../../../nodes/chains/ChainLLM/methods/chainExecutor.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,17 +4,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.searchModels = searchModels;
|
|
7
|
-
const openai_1 = __importDefault(require("openai"));
|
|
8
|
-
const modelFiltering_1 = require("../../../vendors/OpenAi/helpers/modelFiltering");
|
|
9
7
|
const ai_utilities_1 = require("@n8n/ai-utilities");
|
|
10
|
-
const di_1 = require("@n8n/di");
|
|
11
8
|
const config_1 = require("@n8n/config");
|
|
9
|
+
const di_1 = require("@n8n/di");
|
|
10
|
+
const openai_1 = __importDefault(require("openai"));
|
|
11
|
+
const helpers_1 = require("../../../../utils/helpers");
|
|
12
|
+
const modelFiltering_1 = require("../../../vendors/OpenAi/helpers/modelFiltering");
|
|
12
13
|
async function searchModels(filter) {
|
|
13
14
|
const credentials = await this.getCredentials('openAiApi');
|
|
14
15
|
const baseURL = this.getNodeParameter('options.baseURL', '') ||
|
|
15
16
|
credentials.url ||
|
|
16
17
|
'https://api.openai.com/v1';
|
|
17
|
-
const { openAiDefaultHeaders
|
|
18
|
+
const { openAiDefaultHeaders } = di_1.Container.get(config_1.AiConfig);
|
|
19
|
+
const defaultHeaders = (0, helpers_1.mergeCustomHeaders)(credentials, openAiDefaultHeaders ?? {});
|
|
18
20
|
const openai = new openai_1.default({
|
|
19
21
|
baseURL,
|
|
20
22
|
apiKey: credentials.apiKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadModels.js","sourceRoot":"","sources":["../../../../../nodes/llms/LMChatOpenAi/methods/loadModels.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"loadModels.js","sourceRoot":"","sources":["../../../../../nodes/llms/LMChatOpenAi/methods/loadModels.ts"],"names":[],"mappings":";;;;;AASA,oCAyCC;AAlDD,oDAAkD;AAClD,wCAAuC;AACvC,gCAAoC;AAEpC,oDAA4B;AAE5B,uDAA+D;AAC/D,mFAAoF;AAE7E,KAAK,UAAU,YAAY,CAEjC,MAAe;IAEf,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,OAAO,GACX,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,EAAE,CAAY;QACvD,WAAW,CAAC,GAAc;QAC3B,2BAA2B,CAAC;IAC7B,MAAM,EAAE,oBAAoB,EAAE,GAAG,cAAS,CAAC,GAAG,CAAC,iBAAQ,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,IAAA,4BAAkB,EAAC,WAAW,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;IAEnF,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC;QACzB,OAAO;QACP,MAAM,EAAE,WAAW,CAAC,MAAgB;QACpC,YAAY,EAAE;YACb,UAAU,EAAE,IAAA,4BAAa,EAAC,OAAO,CAAC;SAClC;QACD,cAAc;KACd,CAAC,CAAC;IACH,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAEzD,MAAM,GAAG,GAAG,OAAO,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjG,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAqB,EAAE,EAAE;QAC9D,MAAM,YAAY,GAAG,IAAA,mCAAkB,EAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAE/D,IAAI,CAAC,MAAM;YAAE,OAAO,YAAY,CAAC;QAEjC,OAAO,YAAY,IAAI,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAExD,OAAO;QACN,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,KAAqB,EAAE,EAAE,CAAC,CAAC;YACvD,IAAI,EAAE,KAAK,CAAC,EAAE;YACd,KAAK,EAAE,KAAK,CAAC,EAAE;SACf,CAAC,CAAC;KACH,CAAC;AACH,CAAC"}
|
|
@@ -71,29 +71,17 @@ async function connectMcpClient({ headers, serverTransport, endpointUrl, name, v
|
|
|
71
71
|
if (!endpoint.ok) {
|
|
72
72
|
return (0, n8n_workflow_1.createResultError)({ type: 'invalid_url', error: endpoint.error });
|
|
73
73
|
}
|
|
74
|
+
const authFetch = createAuthFetch(headers, onUnauthorized);
|
|
74
75
|
const client = new index_js_1.Client({ name, version: version.toString() }, { capabilities: {} });
|
|
75
76
|
if (serverTransport === 'httpStreamable') {
|
|
76
77
|
try {
|
|
77
78
|
const transport = new streamableHttp_js_1.StreamableHTTPClientTransport(endpoint.result, {
|
|
78
|
-
|
|
79
|
-
fetch: ai_utilities_1.proxyFetch,
|
|
79
|
+
fetch: authFetch,
|
|
80
80
|
});
|
|
81
81
|
await client.connect(transport);
|
|
82
82
|
return (0, n8n_workflow_1.createResultOk)(client);
|
|
83
83
|
}
|
|
84
84
|
catch (error) {
|
|
85
|
-
if (onUnauthorized && isUnauthorizedError(error)) {
|
|
86
|
-
const newHeaders = await onUnauthorized(headers);
|
|
87
|
-
if (newHeaders) {
|
|
88
|
-
return await connectMcpClient({
|
|
89
|
-
headers: newHeaders,
|
|
90
|
-
serverTransport,
|
|
91
|
-
endpointUrl,
|
|
92
|
-
name,
|
|
93
|
-
version,
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
85
|
if (isUnauthorizedError(error) || isForbiddenError(error)) {
|
|
98
86
|
return (0, n8n_workflow_1.createResultError)({ type: 'auth', error: error });
|
|
99
87
|
}
|
|
@@ -105,33 +93,20 @@ async function connectMcpClient({ headers, serverTransport, endpointUrl, name, v
|
|
|
105
93
|
try {
|
|
106
94
|
const sseTransport = new sse_js_1.SSEClientTransport(endpoint.result, {
|
|
107
95
|
eventSourceInit: {
|
|
108
|
-
fetch: async (url, init) => await (
|
|
96
|
+
fetch: async (url, init) => await authFetch(url, {
|
|
109
97
|
...init,
|
|
110
98
|
headers: {
|
|
111
|
-
...headers,
|
|
99
|
+
...headersToRecord(init?.headers),
|
|
112
100
|
Accept: 'text/event-stream',
|
|
113
101
|
},
|
|
114
102
|
}),
|
|
115
103
|
},
|
|
116
|
-
fetch:
|
|
117
|
-
requestInit: { headers },
|
|
104
|
+
fetch: authFetch,
|
|
118
105
|
});
|
|
119
106
|
await client.connect(sseTransport);
|
|
120
107
|
return (0, n8n_workflow_1.createResultOk)(client);
|
|
121
108
|
}
|
|
122
109
|
catch (error) {
|
|
123
|
-
if (onUnauthorized && isUnauthorizedError(error)) {
|
|
124
|
-
const newHeaders = await onUnauthorized(headers);
|
|
125
|
-
if (newHeaders) {
|
|
126
|
-
return await connectMcpClient({
|
|
127
|
-
headers: newHeaders,
|
|
128
|
-
serverTransport,
|
|
129
|
-
endpointUrl,
|
|
130
|
-
name,
|
|
131
|
-
version,
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
110
|
if (isUnauthorizedError(error) || isForbiddenError(error)) {
|
|
136
111
|
return (0, n8n_workflow_1.createResultError)({ type: 'auth', error: error });
|
|
137
112
|
}
|
|
@@ -140,6 +115,42 @@ async function connectMcpClient({ headers, serverTransport, endpointUrl, name, v
|
|
|
140
115
|
}
|
|
141
116
|
}
|
|
142
117
|
}
|
|
118
|
+
function headersToRecord(headers) {
|
|
119
|
+
if (!headers)
|
|
120
|
+
return {};
|
|
121
|
+
if (headers instanceof Headers)
|
|
122
|
+
return Object.fromEntries(headers.entries());
|
|
123
|
+
if (Array.isArray(headers))
|
|
124
|
+
return Object.fromEntries(headers);
|
|
125
|
+
return headers;
|
|
126
|
+
}
|
|
127
|
+
function createAuthFetch(initialHeaders, onUnauthorized) {
|
|
128
|
+
let headers = initialHeaders;
|
|
129
|
+
return async (input, init) => {
|
|
130
|
+
const response = await (0, ai_utilities_1.proxyFetch)(input, {
|
|
131
|
+
...init,
|
|
132
|
+
headers: {
|
|
133
|
+
...headersToRecord(init?.headers),
|
|
134
|
+
...headers,
|
|
135
|
+
},
|
|
136
|
+
});
|
|
137
|
+
if (response.status !== 401 || !onUnauthorized) {
|
|
138
|
+
return response;
|
|
139
|
+
}
|
|
140
|
+
const refreshedHeaders = await onUnauthorized(headers);
|
|
141
|
+
if (!refreshedHeaders) {
|
|
142
|
+
return response;
|
|
143
|
+
}
|
|
144
|
+
headers = refreshedHeaders;
|
|
145
|
+
return await (0, ai_utilities_1.proxyFetch)(input, {
|
|
146
|
+
...init,
|
|
147
|
+
headers: {
|
|
148
|
+
...headersToRecord(init?.headers),
|
|
149
|
+
...headers,
|
|
150
|
+
},
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
}
|
|
143
154
|
async function getAuthHeaders(ctx, authentication) {
|
|
144
155
|
switch (authentication) {
|
|
145
156
|
case 'headerAuth': {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../nodes/mcp/shared/utils.ts"],"names":[],"mappings":";;AAiBA,kCAQC;AAiDD,0DAqBC;AAED,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../nodes/mcp/shared/utils.ts"],"names":[],"mappings":"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"}
|