@n8n/ai-utilities 0.23.3 → 0.24.1
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/cjs/adapters/langchain-chat-model.js +174 -184
- package/dist/cjs/adapters/langchain-chat-model.js.map +1 -1
- package/dist/cjs/adapters/langchain-history.js +23 -33
- package/dist/cjs/adapters/langchain-history.js.map +1 -1
- package/dist/cjs/adapters/langchain-memory.js +32 -42
- package/dist/cjs/adapters/langchain-memory.js.map +1 -1
- package/dist/cjs/agent-config/config-normalization.d.ts +11 -0
- package/dist/cjs/agent-config/config-normalization.js +134 -0
- package/dist/cjs/agent-config/config-normalization.js.map +1 -0
- package/dist/cjs/agent-config/from-ai-node-parameters.d.ts +7 -0
- package/dist/cjs/agent-config/from-ai-node-parameters.js +43 -0
- package/dist/cjs/agent-config/from-ai-node-parameters.js.map +1 -0
- package/dist/cjs/agent-config/index.d.ts +3 -0
- package/dist/cjs/agent-config/index.js +17 -0
- package/dist/cjs/agent-config/index.js.map +1 -0
- package/dist/cjs/agent-config/model-id.d.ts +5 -0
- package/dist/cjs/agent-config/model-id.js +16 -0
- package/dist/cjs/agent-config/model-id.js.map +1 -0
- package/dist/cjs/agent-config/native-web-search-provider-tools.d.ts +7 -0
- package/dist/cjs/agent-config/native-web-search-provider-tools.js +55 -0
- package/dist/cjs/agent-config/native-web-search-provider-tools.js.map +1 -0
- package/dist/cjs/ai-node-sdk-version.js +4 -14
- package/dist/cjs/ai-node-sdk-version.js.map +1 -1
- package/dist/cjs/chat-model/base.js +21 -31
- package/dist/cjs/chat-model/base.js.map +1 -1
- package/dist/cjs/converters/message.js +308 -318
- package/dist/cjs/converters/message.js.map +1 -1
- package/dist/cjs/converters/tool.js +50 -60
- package/dist/cjs/converters/tool.js.map +1 -1
- package/dist/cjs/guards.js +26 -36
- package/dist/cjs/guards.js.map +1 -1
- package/dist/cjs/index.js +99 -108
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/memory/base-chat-history.js +9 -19
- package/dist/cjs/memory/base-chat-history.js.map +1 -1
- package/dist/cjs/memory/base-chat-memory.js +6 -16
- package/dist/cjs/memory/base-chat-memory.js.map +1 -1
- package/dist/cjs/memory/windowed-chat-memory.js +33 -43
- package/dist/cjs/memory/windowed-chat-memory.js.map +1 -1
- package/dist/cjs/model-discovery/index.js +61 -71
- package/dist/cjs/model-discovery/index.js.map +1 -1
- package/dist/cjs/model-discovery/providers/anthropic.js +12 -22
- package/dist/cjs/model-discovery/providers/anthropic.js.map +1 -1
- package/dist/cjs/model-discovery/providers/cohere.js +12 -22
- package/dist/cjs/model-discovery/providers/cohere.js.map +1 -1
- package/dist/cjs/model-discovery/providers/deepseek.js +5 -15
- package/dist/cjs/model-discovery/providers/deepseek.js.map +1 -1
- package/dist/cjs/model-discovery/providers/google.js +15 -25
- package/dist/cjs/model-discovery/providers/google.js.map +1 -1
- package/dist/cjs/model-discovery/providers/groq.js +9 -19
- package/dist/cjs/model-discovery/providers/groq.js.map +1 -1
- package/dist/cjs/model-discovery/providers/mistral.js +11 -21
- package/dist/cjs/model-discovery/providers/mistral.js.map +1 -1
- package/dist/cjs/model-discovery/providers/nvidia.js +21 -31
- package/dist/cjs/model-discovery/providers/nvidia.js.map +1 -1
- package/dist/cjs/model-discovery/providers/openai.js +31 -41
- package/dist/cjs/model-discovery/providers/openai.js.map +1 -1
- package/dist/cjs/model-discovery/providers/openrouter.js +5 -15
- package/dist/cjs/model-discovery/providers/openrouter.js.map +1 -1
- package/dist/cjs/model-discovery/providers/vercel.js +5 -15
- package/dist/cjs/model-discovery/providers/vercel.js.map +1 -1
- package/dist/cjs/model-discovery/providers/xai.js +5 -15
- package/dist/cjs/model-discovery/providers/xai.js.map +1 -1
- package/dist/cjs/model-discovery/request.js +40 -50
- package/dist/cjs/model-discovery/request.js.map +1 -1
- package/dist/cjs/model-discovery/types.js +2 -12
- package/dist/cjs/node-catalog/discriminator-utils.js +75 -85
- package/dist/cjs/node-catalog/discriminator-utils.js.map +1 -1
- package/dist/cjs/node-catalog/dynamic-node-parameters.js +169 -179
- package/dist/cjs/node-catalog/dynamic-node-parameters.js.map +1 -1
- package/dist/cjs/node-catalog/get.js +349 -359
- package/dist/cjs/node-catalog/get.js.map +1 -1
- package/dist/cjs/node-catalog/index.js +42 -52
- package/dist/cjs/node-catalog/index.js.map +1 -1
- package/dist/cjs/node-catalog/lean-node-type.js +46 -56
- package/dist/cjs/node-catalog/lean-node-type.js.map +1 -1
- package/dist/cjs/node-catalog/node-type-parser.js +61 -71
- package/dist/cjs/node-catalog/node-type-parser.js.map +1 -1
- package/dist/cjs/node-catalog/resource-operation-extractor.js +133 -143
- package/dist/cjs/node-catalog/resource-operation-extractor.js.map +1 -1
- package/dist/cjs/node-catalog/search-engine.js +285 -295
- package/dist/cjs/node-catalog/search-engine.js.map +1 -1
- package/dist/cjs/node-catalog/search.js +280 -290
- package/dist/cjs/node-catalog/search.js.map +1 -1
- package/dist/cjs/node-catalog/suggested-nodes-data.js +235 -245
- package/dist/cjs/node-catalog/suggested-nodes-data.js.map +1 -1
- package/dist/cjs/node-catalog/suggested.js +63 -73
- package/dist/cjs/node-catalog/suggested.js.map +1 -1
- package/dist/cjs/node-catalog/types.js +2 -12
- package/dist/cjs/suppliers/supplyMemory.js +13 -23
- package/dist/cjs/suppliers/supplyMemory.js.map +1 -1
- package/dist/cjs/suppliers/supplyModel.js +72 -82
- package/dist/cjs/suppliers/supplyModel.js.map +1 -1
- package/dist/cjs/typecheck.tsbuildinfo +1 -1
- package/dist/cjs/types/chat-model.js +2 -12
- package/dist/cjs/types/json.js +2 -12
- package/dist/cjs/types/memory.js +2 -12
- package/dist/cjs/types/message.js +2 -12
- package/dist/cjs/types/openai.js +2 -12
- package/dist/cjs/types/output.js +2 -12
- package/dist/cjs/types/tool.js +2 -12
- package/dist/cjs/utils/embeddings-input-validation.js +24 -34
- package/dist/cjs/utils/embeddings-input-validation.js.map +1 -1
- package/dist/cjs/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js +27 -37
- package/dist/cjs/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js.map +1 -1
- package/dist/cjs/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.d.ts +1 -1
- package/dist/cjs/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js +23 -33
- package/dist/cjs/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js.map +1 -1
- package/dist/cjs/utils/follow-redirects.js +38 -48
- package/dist/cjs/utils/follow-redirects.js.map +1 -1
- package/dist/cjs/utils/fromai-helpers.js +21 -31
- package/dist/cjs/utils/fromai-helpers.js.map +1 -1
- package/dist/cjs/utils/fromai-tool-factory.js +18 -28
- package/dist/cjs/utils/fromai-tool-factory.js.map +1 -1
- package/dist/cjs/utils/helpers.js +44 -54
- package/dist/cjs/utils/helpers.js.map +1 -1
- package/dist/cjs/utils/http-proxy-agent.js +38 -48
- package/dist/cjs/utils/http-proxy-agent.js.map +1 -1
- package/dist/cjs/utils/lazy-import.d.ts +1 -0
- package/dist/cjs/utils/lazy-import.js +7 -0
- package/dist/cjs/utils/lazy-import.js.map +1 -0
- package/dist/cjs/utils/loaders/n8n-pdf-loader.js +50 -94
- package/dist/cjs/utils/loaders/n8n-pdf-loader.js.map +1 -1
- package/dist/cjs/utils/log-ai-event.js +10 -20
- package/dist/cjs/utils/log-ai-event.js.map +1 -1
- package/dist/cjs/utils/log-wrapper.d.ts +1 -1
- package/dist/cjs/utils/log-wrapper.js +313 -323
- package/dist/cjs/utils/log-wrapper.js.map +1 -1
- package/dist/cjs/utils/n8n-binary-loader.js +143 -153
- package/dist/cjs/utils/n8n-binary-loader.js.map +1 -1
- package/dist/cjs/utils/n8n-json-loader.js +57 -67
- package/dist/cjs/utils/n8n-json-loader.js.map +1 -1
- package/dist/cjs/utils/n8n-llm-tracing.js +164 -174
- package/dist/cjs/utils/n8n-llm-tracing.js.map +1 -1
- package/dist/cjs/utils/redact-headers.js +42 -52
- package/dist/cjs/utils/redact-headers.js.map +1 -1
- package/dist/cjs/utils/shared-fields.js +137 -147
- package/dist/cjs/utils/shared-fields.js.map +1 -1
- package/dist/cjs/utils/sse.js +83 -93
- package/dist/cjs/utils/sse.js.map +1 -1
- package/dist/cjs/utils/text-editor.js +274 -284
- package/dist/cjs/utils/text-editor.js.map +1 -1
- package/dist/cjs/utils/tokenizer/tiktoken.js +38 -48
- package/dist/cjs/utils/tokenizer/tiktoken.js.map +1 -1
- package/dist/cjs/utils/tokenizer/token-estimator.js +86 -96
- package/dist/cjs/utils/tokenizer/token-estimator.js.map +1 -1
- package/dist/cjs/utils/vector-store/MemoryManager/MemoryCalculator.js +43 -53
- package/dist/cjs/utils/vector-store/MemoryManager/MemoryCalculator.js.map +1 -1
- package/dist/cjs/utils/vector-store/MemoryManager/MemoryVectorStoreManager.js +154 -164
- package/dist/cjs/utils/vector-store/MemoryManager/MemoryVectorStoreManager.js.map +1 -1
- package/dist/cjs/utils/vector-store/MemoryManager/StoreCleanupService.js +82 -92
- package/dist/cjs/utils/vector-store/MemoryManager/StoreCleanupService.js.map +1 -1
- package/dist/cjs/utils/vector-store/MemoryManager/config.js +34 -44
- package/dist/cjs/utils/vector-store/MemoryManager/config.js.map +1 -1
- package/dist/cjs/utils/vector-store/MemoryManager/types.js +2 -12
- package/dist/cjs/utils/vector-store/createVectorStoreNode/constants.js +44 -54
- package/dist/cjs/utils/vector-store/createVectorStoreNode/constants.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js +229 -229
- package/dist/cjs/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/index.js +8 -18
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/index.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/insertOperation.js +33 -43
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/insertOperation.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/loadOperation.js +41 -51
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/loadOperation.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js +59 -69
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js +58 -68
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.js +26 -36
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/updateOperation.js +34 -44
- package/dist/cjs/utils/vector-store/createVectorStoreNode/operations/updateOperation.js.map +1 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/types.js +2 -12
- package/dist/cjs/utils/vector-store/createVectorStoreNode/utils.d.ts +2 -1
- package/dist/cjs/utils/vector-store/createVectorStoreNode/utils.js +34 -29
- package/dist/cjs/utils/vector-store/createVectorStoreNode/utils.js.map +1 -1
- package/dist/cjs/utils/vector-store/processDocuments.js +37 -47
- package/dist/cjs/utils/vector-store/processDocuments.js.map +1 -1
- package/dist/cjs/utils/workflow-text-editor.js +50 -60
- package/dist/cjs/utils/workflow-text-editor.js.map +1 -1
- package/dist/cjs/web-search/brave-search.js +38 -48
- package/dist/cjs/web-search/brave-search.js.map +1 -1
- package/dist/cjs/web-search/index.js +7 -17
- package/dist/cjs/web-search/index.js.map +1 -1
- package/dist/cjs/web-search/searxng-search.js +35 -45
- package/dist/cjs/web-search/searxng-search.js.map +1 -1
- package/dist/cjs/web-search/types.js +2 -12
- package/dist/esm/adapters/langchain-chat-model.js.map +1 -1
- package/dist/esm/adapters/langchain-history.js.map +1 -1
- package/dist/esm/adapters/langchain-memory.js.map +1 -1
- package/dist/esm/agent-config/config-normalization.d.ts +11 -0
- package/dist/esm/agent-config/config-normalization.js +134 -0
- package/dist/esm/agent-config/config-normalization.js.map +1 -0
- package/dist/esm/agent-config/from-ai-node-parameters.d.ts +7 -0
- package/dist/esm/agent-config/from-ai-node-parameters.js +43 -0
- package/dist/esm/agent-config/from-ai-node-parameters.js.map +1 -0
- package/dist/esm/agent-config/index.d.ts +3 -0
- package/dist/esm/agent-config/index.js +17 -0
- package/dist/esm/agent-config/index.js.map +1 -0
- package/dist/esm/agent-config/model-id.d.ts +5 -0
- package/dist/esm/agent-config/model-id.js +16 -0
- package/dist/esm/agent-config/model-id.js.map +1 -0
- package/dist/esm/agent-config/native-web-search-provider-tools.d.ts +7 -0
- package/dist/esm/agent-config/native-web-search-provider-tools.js +55 -0
- package/dist/esm/agent-config/native-web-search-provider-tools.js.map +1 -0
- package/dist/esm/chat-model/base.js.map +1 -1
- package/dist/esm/converters/message.js.map +1 -1
- package/dist/esm/converters/tool.js.map +1 -1
- package/dist/esm/guards.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/memory/base-chat-history.js.map +1 -1
- package/dist/esm/memory/base-chat-memory.js.map +1 -1
- package/dist/esm/memory/windowed-chat-memory.js.map +1 -1
- package/dist/esm/model-discovery/index.js.map +1 -1
- package/dist/esm/model-discovery/providers/anthropic.js.map +1 -1
- package/dist/esm/model-discovery/providers/cohere.js.map +1 -1
- package/dist/esm/model-discovery/providers/google.js.map +1 -1
- package/dist/esm/model-discovery/providers/groq.js.map +1 -1
- package/dist/esm/model-discovery/providers/mistral.js.map +1 -1
- package/dist/esm/model-discovery/providers/nvidia.js.map +1 -1
- package/dist/esm/model-discovery/providers/openai.js.map +1 -1
- package/dist/esm/model-discovery/request.js.map +1 -1
- package/dist/esm/node-catalog/discriminator-utils.js.map +1 -1
- package/dist/esm/node-catalog/dynamic-node-parameters.js.map +1 -1
- package/dist/esm/node-catalog/get.js.map +1 -1
- package/dist/esm/node-catalog/lean-node-type.js.map +1 -1
- package/dist/esm/node-catalog/node-type-parser.js.map +1 -1
- package/dist/esm/node-catalog/resource-operation-extractor.js.map +1 -1
- package/dist/esm/node-catalog/search-engine.js.map +1 -1
- package/dist/esm/node-catalog/search.js.map +1 -1
- package/dist/esm/node-catalog/suggested-nodes-data.js.map +1 -1
- package/dist/esm/node-catalog/suggested.js.map +1 -1
- package/dist/esm/suppliers/supplyMemory.js.map +1 -1
- package/dist/esm/suppliers/supplyModel.js.map +1 -1
- package/dist/esm/typecheck.tsbuildinfo +1 -1
- package/dist/esm/utils/embeddings-input-validation.js.map +1 -1
- package/dist/esm/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js.map +1 -1
- package/dist/esm/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.d.ts +1 -1
- package/dist/esm/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js.map +1 -1
- package/dist/esm/utils/follow-redirects.js.map +1 -1
- package/dist/esm/utils/fromai-helpers.js.map +1 -1
- package/dist/esm/utils/fromai-tool-factory.js.map +1 -1
- package/dist/esm/utils/helpers.js.map +1 -1
- package/dist/esm/utils/http-proxy-agent.js.map +1 -1
- package/dist/esm/utils/lazy-import.d.ts +1 -0
- package/dist/esm/utils/lazy-import.js +7 -0
- package/dist/esm/utils/lazy-import.js.map +1 -0
- package/dist/esm/utils/loaders/n8n-pdf-loader.js +2 -35
- package/dist/esm/utils/loaders/n8n-pdf-loader.js.map +1 -1
- package/dist/esm/utils/log-ai-event.js.map +1 -1
- package/dist/esm/utils/log-wrapper.d.ts +1 -1
- package/dist/esm/utils/log-wrapper.js.map +1 -1
- package/dist/esm/utils/n8n-binary-loader.js.map +1 -1
- package/dist/esm/utils/n8n-json-loader.js.map +1 -1
- package/dist/esm/utils/n8n-llm-tracing.js.map +1 -1
- package/dist/esm/utils/redact-headers.js.map +1 -1
- package/dist/esm/utils/shared-fields.js.map +1 -1
- package/dist/esm/utils/sse.js.map +1 -1
- package/dist/esm/utils/text-editor.js.map +1 -1
- package/dist/esm/utils/tokenizer/tiktoken.js.map +1 -1
- package/dist/esm/utils/tokenizer/token-estimator.js.map +1 -1
- package/dist/esm/utils/vector-store/MemoryManager/MemoryCalculator.js.map +1 -1
- package/dist/esm/utils/vector-store/MemoryManager/MemoryVectorStoreManager.js.map +1 -1
- package/dist/esm/utils/vector-store/MemoryManager/StoreCleanupService.js.map +1 -1
- package/dist/esm/utils/vector-store/MemoryManager/config.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js +43 -33
- package/dist/esm/utils/vector-store/createVectorStoreNode/createVectorStoreNode.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/insertOperation.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/loadOperation.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolExecuteOperation.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveAsToolOperation.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/retrieveOperation.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/operations/updateOperation.js.map +1 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/utils.d.ts +2 -1
- package/dist/esm/utils/vector-store/createVectorStoreNode/utils.js +15 -0
- package/dist/esm/utils/vector-store/createVectorStoreNode/utils.js.map +1 -1
- package/dist/esm/utils/vector-store/processDocuments.js.map +1 -1
- package/dist/esm/utils/workflow-text-editor.js.map +1 -1
- package/dist/esm/web-search/brave-search.js.map +1 -1
- package/dist/esm/web-search/searxng-search.js.map +1 -1
- package/package.json +22 -7
|
@@ -1,201 +1,191 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LangchainChatModelAdapter = void 0;
|
|
4
|
+
const chat_models_1 = require("@langchain/core/language_models/chat_models");
|
|
5
|
+
const messages_1 = require("@langchain/core/messages");
|
|
6
|
+
const outputs_1 = require("@langchain/core/outputs");
|
|
7
|
+
const message_1 = require("../converters/message");
|
|
8
|
+
const tool_1 = require("../converters/tool");
|
|
9
|
+
const n8nLlmFailedAttemptHandler_1 = require("../utils/failed-attempt-handler/n8nLlmFailedAttemptHandler");
|
|
10
|
+
const n8n_llm_tracing_1 = require("../utils/n8n-llm-tracing");
|
|
11
|
+
class LangchainChatModelAdapter extends chat_models_1.BaseChatModel {
|
|
12
|
+
constructor(chatModel, ctx) {
|
|
13
|
+
const params = {
|
|
14
|
+
...(ctx
|
|
15
|
+
? {
|
|
16
|
+
callbacks: [
|
|
17
|
+
new n8n_llm_tracing_1.N8nLlmTracing(ctx, {
|
|
18
|
+
tokensUsageParser: (result) => {
|
|
19
|
+
const tokenUsage = result?.llmOutput?.tokenUsage;
|
|
20
|
+
const completionTokens = tokenUsage?.output_tokens ?? 0;
|
|
21
|
+
const promptTokens = tokenUsage?.input_tokens ?? 0;
|
|
22
|
+
return {
|
|
23
|
+
completionTokens,
|
|
24
|
+
promptTokens,
|
|
25
|
+
totalTokens: completionTokens + promptTokens,
|
|
26
|
+
};
|
|
27
|
+
},
|
|
28
|
+
}),
|
|
29
|
+
],
|
|
30
|
+
onFailedAttempt: (0, n8nLlmFailedAttemptHandler_1.makeN8nLlmFailedAttemptHandler)(ctx),
|
|
31
|
+
}
|
|
32
|
+
: {}),
|
|
33
|
+
};
|
|
34
|
+
super(params);
|
|
35
|
+
this.chatModel = chatModel;
|
|
36
|
+
this.ctx = ctx;
|
|
5
37
|
}
|
|
6
|
-
|
|
7
|
-
|
|
38
|
+
_llmType() {
|
|
39
|
+
return 'n8n-chat-model';
|
|
8
40
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const n8n_llm_tracing_1 = require("../utils/n8n-llm-tracing");
|
|
20
|
-
class LangchainChatModelAdapter extends chat_models_1.BaseChatModel {
|
|
21
|
-
constructor(chatModel, ctx) {
|
|
22
|
-
const params = {
|
|
23
|
-
...(ctx
|
|
41
|
+
async _generate(messages, options) {
|
|
42
|
+
const transformedMessages = messages.map(message_1.fromLcMessage);
|
|
43
|
+
const result = await this.chatModel.generate(transformedMessages, options);
|
|
44
|
+
const lcMessage = (0, message_1.toLcMessage)(result.message);
|
|
45
|
+
const usage_metadata = result.usage
|
|
46
|
+
? {
|
|
47
|
+
input_tokens: result.usage.promptTokens ?? 0,
|
|
48
|
+
output_tokens: result.usage.completionTokens ?? 0,
|
|
49
|
+
total_tokens: result.usage.totalTokens ?? 0,
|
|
50
|
+
input_token_details: result.usage.inputTokenDetails
|
|
24
51
|
? {
|
|
25
|
-
|
|
26
|
-
new n8n_llm_tracing_1.N8nLlmTracing(ctx, {
|
|
27
|
-
tokensUsageParser: (result) => {
|
|
28
|
-
const tokenUsage = result?.llmOutput?.tokenUsage;
|
|
29
|
-
const completionTokens = tokenUsage?.output_tokens ?? 0;
|
|
30
|
-
const promptTokens = tokenUsage?.input_tokens ?? 0;
|
|
31
|
-
return {
|
|
32
|
-
completionTokens,
|
|
33
|
-
promptTokens,
|
|
34
|
-
totalTokens: completionTokens + promptTokens,
|
|
35
|
-
};
|
|
36
|
-
},
|
|
37
|
-
}),
|
|
38
|
-
],
|
|
39
|
-
onFailedAttempt: (0, n8nLlmFailedAttemptHandler_1.makeN8nLlmFailedAttemptHandler)(ctx),
|
|
52
|
+
cache_read: result.usage.inputTokenDetails.cacheRead,
|
|
40
53
|
}
|
|
41
|
-
:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
54
|
+
: undefined,
|
|
55
|
+
output_token_details: result.usage.outputTokenDetails
|
|
56
|
+
? {
|
|
57
|
+
reasoning: result.usage.outputTokenDetails.reasoning,
|
|
58
|
+
}
|
|
59
|
+
: undefined,
|
|
60
|
+
}
|
|
61
|
+
: undefined;
|
|
62
|
+
if (messages_1.AIMessage.isInstance(lcMessage)) {
|
|
63
|
+
lcMessage.usage_metadata = usage_metadata;
|
|
49
64
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
65
|
+
lcMessage.response_metadata = {
|
|
66
|
+
...result.providerMetadata,
|
|
67
|
+
model: this.chatModel.modelId,
|
|
68
|
+
provider: this.chatModel.provider,
|
|
69
|
+
};
|
|
70
|
+
return {
|
|
71
|
+
generations: [
|
|
72
|
+
{
|
|
73
|
+
text: lcMessage.text,
|
|
74
|
+
message: lcMessage,
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
llmOutput: {
|
|
78
|
+
id: result.id,
|
|
79
|
+
tokenUsage: usage_metadata,
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
async *_streamResponseChunks(messages, options, runManager) {
|
|
84
|
+
const genericMessages = messages.map(message_1.fromLcMessage);
|
|
85
|
+
const stream = this.chatModel.stream(genericMessages, options);
|
|
86
|
+
for await (const chunk of stream) {
|
|
87
|
+
let lcChunk = undefined;
|
|
88
|
+
if (chunk.type === 'text-delta') {
|
|
89
|
+
const content = [
|
|
90
|
+
{
|
|
91
|
+
type: 'text',
|
|
92
|
+
text: chunk.delta,
|
|
93
|
+
},
|
|
94
|
+
];
|
|
95
|
+
lcChunk = new outputs_1.ChatGenerationChunk({
|
|
96
|
+
message: new messages_1.AIMessageChunk({
|
|
97
|
+
content,
|
|
98
|
+
}),
|
|
99
|
+
text: chunk.delta,
|
|
100
|
+
});
|
|
73
101
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
model: this.chatModel.modelId,
|
|
77
|
-
provider: this.chatModel.provider,
|
|
78
|
-
};
|
|
79
|
-
return {
|
|
80
|
-
generations: [
|
|
102
|
+
else if (chunk.type === 'tool-call-delta') {
|
|
103
|
+
const tool_call_chunks = [
|
|
81
104
|
{
|
|
82
|
-
|
|
83
|
-
|
|
105
|
+
type: 'tool_call_chunk',
|
|
106
|
+
id: chunk.id,
|
|
107
|
+
name: chunk.name,
|
|
108
|
+
args: chunk.argumentsDelta,
|
|
109
|
+
index: 0,
|
|
84
110
|
},
|
|
85
|
-
]
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}),
|
|
108
|
-
text: chunk.delta,
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
else if (chunk.type === 'tool-call-delta') {
|
|
112
|
-
const tool_call_chunks = [
|
|
113
|
-
{
|
|
114
|
-
type: 'tool_call_chunk',
|
|
115
|
-
id: chunk.id,
|
|
116
|
-
name: chunk.name,
|
|
117
|
-
args: chunk.argumentsDelta,
|
|
118
|
-
index: 0,
|
|
119
|
-
},
|
|
120
|
-
];
|
|
121
|
-
lcChunk = new outputs_1.ChatGenerationChunk({
|
|
122
|
-
message: new messages_1.AIMessageChunk({
|
|
123
|
-
content: '',
|
|
124
|
-
tool_call_chunks,
|
|
125
|
-
}),
|
|
126
|
-
text: '',
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
else if (chunk.type === 'finish') {
|
|
130
|
-
const usage_metadata = chunk.usage
|
|
131
|
-
? {
|
|
132
|
-
input_tokens: chunk.usage.promptTokens ?? 0,
|
|
133
|
-
output_tokens: chunk.usage.completionTokens ?? 0,
|
|
134
|
-
total_tokens: chunk.usage.totalTokens ?? 0,
|
|
135
|
-
}
|
|
136
|
-
: undefined;
|
|
137
|
-
lcChunk = new outputs_1.ChatGenerationChunk({
|
|
138
|
-
message: new messages_1.AIMessageChunk({
|
|
139
|
-
content: '',
|
|
140
|
-
usage_metadata,
|
|
141
|
-
response_metadata: {
|
|
142
|
-
finish_reason: chunk.finishReason,
|
|
143
|
-
},
|
|
144
|
-
}),
|
|
145
|
-
text: '',
|
|
146
|
-
generationInfo: {
|
|
111
|
+
];
|
|
112
|
+
lcChunk = new outputs_1.ChatGenerationChunk({
|
|
113
|
+
message: new messages_1.AIMessageChunk({
|
|
114
|
+
content: '',
|
|
115
|
+
tool_call_chunks,
|
|
116
|
+
}),
|
|
117
|
+
text: '',
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
else if (chunk.type === 'finish') {
|
|
121
|
+
const usage_metadata = chunk.usage
|
|
122
|
+
? {
|
|
123
|
+
input_tokens: chunk.usage.promptTokens ?? 0,
|
|
124
|
+
output_tokens: chunk.usage.completionTokens ?? 0,
|
|
125
|
+
total_tokens: chunk.usage.totalTokens ?? 0,
|
|
126
|
+
}
|
|
127
|
+
: undefined;
|
|
128
|
+
lcChunk = new outputs_1.ChatGenerationChunk({
|
|
129
|
+
message: new messages_1.AIMessageChunk({
|
|
130
|
+
content: '',
|
|
131
|
+
usage_metadata,
|
|
132
|
+
response_metadata: {
|
|
147
133
|
finish_reason: chunk.finishReason,
|
|
148
134
|
},
|
|
149
|
-
})
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
generationInfo: {
|
|
135
|
+
}),
|
|
136
|
+
text: '',
|
|
137
|
+
generationInfo: {
|
|
138
|
+
finish_reason: chunk.finishReason,
|
|
139
|
+
},
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
else if (chunk.type === 'error') {
|
|
143
|
+
lcChunk = new outputs_1.ChatGenerationChunk({
|
|
144
|
+
message: new messages_1.AIMessageChunk({
|
|
145
|
+
content: '',
|
|
146
|
+
response_metadata: {
|
|
162
147
|
finish_reason: 'error',
|
|
163
148
|
error: chunk.error,
|
|
164
149
|
},
|
|
165
|
-
})
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
150
|
+
}),
|
|
151
|
+
text: '',
|
|
152
|
+
generationInfo: {
|
|
153
|
+
finish_reason: 'error',
|
|
154
|
+
error: chunk.error,
|
|
155
|
+
},
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
else if (chunk.type === 'content') {
|
|
159
|
+
const lcMessage = (0, message_1.toLcMessage)({
|
|
160
|
+
role: 'assistant',
|
|
161
|
+
content: [chunk.content],
|
|
162
|
+
id: chunk.id,
|
|
163
|
+
});
|
|
164
|
+
const lcMessageChunk = new messages_1.AIMessageChunk({
|
|
165
|
+
content: lcMessage.content,
|
|
166
|
+
id: lcMessage.id,
|
|
167
|
+
name: lcMessage.name,
|
|
168
|
+
});
|
|
169
|
+
lcChunk = new outputs_1.ChatGenerationChunk({
|
|
170
|
+
message: lcMessageChunk,
|
|
171
|
+
text: lcMessage.text,
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
if (lcChunk) {
|
|
175
|
+
yield lcChunk;
|
|
176
|
+
await runManager?.handleLLMNewToken(lcChunk.text ?? '', {
|
|
177
|
+
prompt: 0,
|
|
178
|
+
completion: 0,
|
|
179
|
+
}, undefined, undefined, undefined, { chunk: lcChunk });
|
|
190
180
|
}
|
|
191
181
|
}
|
|
192
|
-
bindTools(tools) {
|
|
193
|
-
const genericTools = tools.map(tool_1.fromLcTool);
|
|
194
|
-
const newModel = this.chatModel.withTools(genericTools);
|
|
195
|
-
const newAdapter = new LangchainChatModelAdapter(newModel, this.ctx);
|
|
196
|
-
return newAdapter;
|
|
197
|
-
}
|
|
198
182
|
}
|
|
199
|
-
|
|
200
|
-
|
|
183
|
+
bindTools(tools) {
|
|
184
|
+
const genericTools = tools.map(tool_1.fromLcTool);
|
|
185
|
+
const newModel = this.chatModel.withTools(genericTools);
|
|
186
|
+
const newAdapter = new LangchainChatModelAdapter(newModel, this.ctx);
|
|
187
|
+
return newAdapter;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
exports.LangchainChatModelAdapter = LangchainChatModelAdapter;
|
|
201
191
|
//# sourceMappingURL=langchain-chat-model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langchain-chat-model.js","sourceRoot":"","sources":["../../../src/adapters/langchain-chat-model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"langchain-chat-model.js","sourceRoot":"","sources":["../../../src/adapters/langchain-chat-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LangchainHistoryAdapter = void 0;
|
|
4
|
+
const chat_history_1 = require("@langchain/core/chat_history");
|
|
5
|
+
const message_1 = require("../converters/message");
|
|
6
|
+
class LangchainHistoryAdapter extends chat_history_1.BaseListChatMessageHistory {
|
|
7
|
+
constructor(history) {
|
|
8
|
+
super();
|
|
9
|
+
this.history = history;
|
|
10
|
+
this.lc_namespace = ['n8n', 'ai-utilities'];
|
|
5
11
|
}
|
|
6
|
-
|
|
7
|
-
|
|
12
|
+
async getMessages() {
|
|
13
|
+
const messages = await this.history.getMessages();
|
|
14
|
+
return messages.map(message_1.toLcMessage);
|
|
8
15
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.LangchainHistoryAdapter = void 0;
|
|
13
|
-
const chat_history_1 = require("@langchain/core/chat_history");
|
|
14
|
-
const message_1 = require("../converters/message");
|
|
15
|
-
class LangchainHistoryAdapter extends chat_history_1.BaseListChatMessageHistory {
|
|
16
|
-
constructor(history) {
|
|
17
|
-
super();
|
|
18
|
-
this.history = history;
|
|
19
|
-
this.lc_namespace = ['n8n', 'ai-utilities'];
|
|
20
|
-
}
|
|
21
|
-
async getMessages() {
|
|
22
|
-
const messages = await this.history.getMessages();
|
|
23
|
-
return messages.map(message_1.toLcMessage);
|
|
24
|
-
}
|
|
25
|
-
async addMessage(message) {
|
|
26
|
-
await this.history.addMessage((0, message_1.fromLcMessage)(message));
|
|
27
|
-
}
|
|
28
|
-
async addMessages(messages) {
|
|
29
|
-
await this.history.addMessages(messages.map(message_1.fromLcMessage));
|
|
30
|
-
}
|
|
31
|
-
async clear() {
|
|
32
|
-
await this.history.clear();
|
|
33
|
-
}
|
|
16
|
+
async addMessage(message) {
|
|
17
|
+
await this.history.addMessage((0, message_1.fromLcMessage)(message));
|
|
34
18
|
}
|
|
35
|
-
|
|
36
|
-
|
|
19
|
+
async addMessages(messages) {
|
|
20
|
+
await this.history.addMessages(messages.map(message_1.fromLcMessage));
|
|
21
|
+
}
|
|
22
|
+
async clear() {
|
|
23
|
+
await this.history.clear();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.LangchainHistoryAdapter = LangchainHistoryAdapter;
|
|
37
27
|
//# sourceMappingURL=langchain-history.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langchain-history.js","sourceRoot":"","sources":["../../../src/adapters/langchain-history.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"langchain-history.js","sourceRoot":"","sources":["../../../src/adapters/langchain-history.ts"],"names":[],"mappings":";;;AAAA,+DAA0E;AAG1E,mDAAmE;AAGnE,6BAAqC,SAAQ,yCAA0B;IAGtE,YAA6B,OAAoB;QAChD,KAAK,EAAE,CAAC;QADoB,YAAO,GAAP,OAAO,CAAa;QAFjD,iBAAY,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAIvC,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAClD,OAAO,QAAQ,CAAC,GAAG,CAAC,qBAAW,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAoB;QACpC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAA,uBAAa,EAAC,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAuB;QACxC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAa,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,KAAK;QACV,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACD"}
|
|
@@ -1,46 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LangchainMemoryAdapter = void 0;
|
|
4
|
+
const chat_memory_1 = require("@langchain/community/memory/chat_memory");
|
|
5
|
+
const langchain_history_1 = require("./langchain-history");
|
|
6
|
+
const message_1 = require("../converters/message");
|
|
7
|
+
class LangchainMemoryAdapter extends chat_memory_1.BaseChatMemory {
|
|
8
|
+
constructor(memory) {
|
|
9
|
+
super({
|
|
10
|
+
chatHistory: new langchain_history_1.LangchainHistoryAdapter(memory.chatHistory),
|
|
11
|
+
returnMessages: true,
|
|
12
|
+
inputKey: 'input',
|
|
13
|
+
outputKey: 'output',
|
|
14
|
+
});
|
|
15
|
+
this.memory = memory;
|
|
5
16
|
}
|
|
6
|
-
|
|
7
|
-
|
|
17
|
+
get memoryKeys() {
|
|
18
|
+
return ['chat_history'];
|
|
8
19
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const langchain_history_1 = require("./langchain-history");
|
|
15
|
-
const message_1 = require("../converters/message");
|
|
16
|
-
class LangchainMemoryAdapter extends chat_memory_1.BaseChatMemory {
|
|
17
|
-
constructor(memory) {
|
|
18
|
-
super({
|
|
19
|
-
chatHistory: new langchain_history_1.LangchainHistoryAdapter(memory.chatHistory),
|
|
20
|
-
returnMessages: true,
|
|
21
|
-
inputKey: 'input',
|
|
22
|
-
outputKey: 'output',
|
|
23
|
-
});
|
|
24
|
-
this.memory = memory;
|
|
25
|
-
}
|
|
26
|
-
get memoryKeys() {
|
|
27
|
-
return ['chat_history'];
|
|
28
|
-
}
|
|
29
|
-
async loadMemoryVariables(_values) {
|
|
30
|
-
const messages = await this.memory.loadMessages();
|
|
31
|
-
return {
|
|
32
|
-
chat_history: messages.map(message_1.toLcMessage),
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
async saveContext(inputValues, outputValues) {
|
|
36
|
-
const input = String(inputValues.input ?? '');
|
|
37
|
-
const output = String(outputValues.output ?? '');
|
|
38
|
-
await this.memory.saveTurn(input, output);
|
|
39
|
-
}
|
|
40
|
-
async clear() {
|
|
41
|
-
await this.memory.clear();
|
|
42
|
-
}
|
|
20
|
+
async loadMemoryVariables(_values) {
|
|
21
|
+
const messages = await this.memory.loadMessages();
|
|
22
|
+
return {
|
|
23
|
+
chat_history: messages.map(message_1.toLcMessage),
|
|
24
|
+
};
|
|
43
25
|
}
|
|
44
|
-
|
|
45
|
-
|
|
26
|
+
async saveContext(inputValues, outputValues) {
|
|
27
|
+
const input = String(inputValues.input ?? '');
|
|
28
|
+
const output = String(outputValues.output ?? '');
|
|
29
|
+
await this.memory.saveTurn(input, output);
|
|
30
|
+
}
|
|
31
|
+
async clear() {
|
|
32
|
+
await this.memory.clear();
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.LangchainMemoryAdapter = LangchainMemoryAdapter;
|
|
46
36
|
//# sourceMappingURL=langchain-memory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langchain-memory.js","sourceRoot":"","sources":["../../../src/adapters/langchain-memory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"langchain-memory.js","sourceRoot":"","sources":["../../../src/adapters/langchain-memory.ts"],"names":[],"mappings":";;;AAAA,yEAAoG;AAGpG,2DAA8D;AAC9D,mDAAoD;AAGpD,4BAAoC,SAAQ,4BAAuB;IAClE,YAA6B,MAAkB;QAC9C,KAAK,CAAC;YACL,WAAW,EAAE,IAAI,2CAAuB,CAAC,MAAM,CAAC,WAAW,CAAC;YAC5D,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,QAAQ;SACnB,CAAC,CAAC;sBANyB,MAAM;IAOnC,CAAC;IAED,IAAI,UAAU;QACb,OAAO,CAAC,cAAc,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAAoB;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAClD,OAAO;YACN,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,qBAAW,CAAC;SACvC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAwB,EAAE,YAA0B;QACrE,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,KAAK;QACV,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;CACD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AgentJsonConfig, ConfigValidationError } from '@n8n/api-types';
|
|
2
|
+
import type { INodeTypes } from 'n8n-workflow';
|
|
3
|
+
export interface AgentConfigValidationMessages {
|
|
4
|
+
emptyInstructionsFollowUp: string;
|
|
5
|
+
dynamicSelectorFollowUp: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function reconcileNativeWebSearch(config: AgentJsonConfig): AgentJsonConfig;
|
|
8
|
+
export declare function applyNativeWebSearchDefaultOn(config: AgentJsonConfig): AgentJsonConfig;
|
|
9
|
+
export declare function rejectIfEmptyInstructions(config: AgentJsonConfig, messages: AgentConfigValidationMessages): ConfigValidationError[] | null;
|
|
10
|
+
export declare function rejectIfUnsupportedNativeWebSearch(config: AgentJsonConfig): ConfigValidationError[] | null;
|
|
11
|
+
export declare function rejectIfDynamicSelectorUsesFromAi(config: AgentJsonConfig, previousConfig: AgentJsonConfig | null, nodeTypes: INodeTypes | undefined, messages: AgentConfigValidationMessages): ConfigValidationError[] | null;
|