@n8n/n8n-nodes-langchain 3.0.0 → 3.1.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.
Files changed (98) hide show
  1. package/dist/credentials/CustomModelEndpointApi.credentials.d.ts +9 -0
  2. package/dist/credentials/CustomModelEndpointApi.credentials.js +133 -0
  3. package/dist/credentials/CustomModelEndpointApi.credentials.js.map +1 -0
  4. package/dist/credentials/McpOAuth2Api.credentials.js +2 -1
  5. package/dist/credentials/McpOAuth2Api.credentials.js.map +1 -1
  6. package/dist/credentials/WeaviateApi.credentials.js +14 -0
  7. package/dist/credentials/WeaviateApi.credentials.js.map +1 -1
  8. package/dist/credentials/icons/customModelEndpoint.dark.svg +1 -0
  9. package/dist/credentials/icons/customModelEndpoint.svg +1 -0
  10. package/dist/known/credentials.json +4 -0
  11. package/dist/node-definitions/.nodes-hash +1 -1
  12. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v1/mode_insert.ts +2 -1
  13. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v1/mode_load.ts +2 -1
  14. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v1/mode_retrieve.ts +2 -1
  15. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v1/mode_retrieve_as_tool.ts +2 -1
  16. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v11/mode_insert.ts +2 -1
  17. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v11/mode_load.ts +2 -1
  18. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v11/mode_retrieve.ts +2 -1
  19. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v11/mode_retrieve_as_tool.ts +2 -1
  20. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v12/mode_insert.ts +2 -1
  21. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v12/mode_load.ts +2 -1
  22. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v12/mode_retrieve.ts +2 -1
  23. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v12/mode_retrieve_as_tool.ts +2 -1
  24. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v13/mode_insert.ts +2 -1
  25. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v13/mode_load.ts +2 -1
  26. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v13/mode_retrieve.ts +2 -1
  27. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v13/mode_retrieve_as_tool.ts +2 -1
  28. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v14/mode_insert.ts +2 -1
  29. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v14/mode_load.ts +2 -1
  30. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v14/mode_retrieve.ts +2 -1
  31. package/dist/node-definitions/nodes/n8n-nodes-langchain/vectorStoreWeaviate/v14/mode_retrieve_as_tool.ts +2 -1
  32. package/dist/nodes/embeddings/EmbeddingsGoogleGemini/EmbeddingsGoogleGemini.node.js +2 -0
  33. package/dist/nodes/embeddings/EmbeddingsGoogleGemini/EmbeddingsGoogleGemini.node.js.map +1 -1
  34. package/dist/nodes/embeddings/EmbeddingsLemonade/EmbeddingsLemonade.node.js +3 -0
  35. package/dist/nodes/embeddings/EmbeddingsLemonade/EmbeddingsLemonade.node.js.map +1 -1
  36. package/dist/nodes/llms/LMLemonade/LmLemonade.node.js +3 -0
  37. package/dist/nodes/llms/LMLemonade/LmLemonade.node.js.map +1 -1
  38. package/dist/nodes/llms/LmChatAzureOpenAi/credentials/api-key.js +1 -1
  39. package/dist/nodes/llms/LmChatAzureOpenAi/credentials/api-key.js.map +1 -1
  40. package/dist/nodes/llms/LmChatAzureOpenAi/credentials/oauth2.js +1 -1
  41. package/dist/nodes/llms/LmChatAzureOpenAi/credentials/oauth2.js.map +1 -1
  42. package/dist/nodes/llms/LmChatAzureOpenAi/credentials/requireFoundryEndpoint.js +1 -1
  43. package/dist/nodes/llms/LmChatAzureOpenAi/credentials/requireFoundryEndpoint.js.map +1 -1
  44. package/dist/nodes/llms/LmChatGoogleGemini/LmChatGoogleGemini.node.js +2 -0
  45. package/dist/nodes/llms/LmChatGoogleGemini/LmChatGoogleGemini.node.js.map +1 -1
  46. package/dist/nodes/mcp/McpClientTool/utils.js +1 -1
  47. package/dist/nodes/mcp/McpClientTool/utils.js.map +1 -1
  48. package/dist/nodes/mcp/shared/runtime.js +14 -1
  49. package/dist/nodes/mcp/shared/runtime.js.map +1 -1
  50. package/dist/nodes/mcp/shared/utils.js +2 -0
  51. package/dist/nodes/mcp/shared/utils.js.map +1 -1
  52. package/dist/nodes/trigger/ChatTrigger/ChatTrigger.node.js +4 -0
  53. package/dist/nodes/trigger/ChatTrigger/ChatTrigger.node.js.map +1 -1
  54. package/dist/nodes/trigger/ChatTrigger/GenericFunctions.js +2 -2
  55. package/dist/nodes/trigger/ChatTrigger/GenericFunctions.js.map +1 -1
  56. package/dist/nodes/vector_store/VectorStoreWeaviate/VectorStoreWeaviate.node.js +3 -5
  57. package/dist/nodes/vector_store/VectorStoreWeaviate/VectorStoreWeaviate.node.js.map +1 -1
  58. package/dist/nodes/vector_store/VectorStoreWeaviate/Weaviate.utils.d.ts +3 -2
  59. package/dist/nodes/vector_store/VectorStoreWeaviate/Weaviate.utils.js +20 -2
  60. package/dist/nodes/vector_store/VectorStoreWeaviate/Weaviate.utils.js.map +1 -1
  61. package/dist/nodes/vendors/Microsoft/microsoft-utils.d.ts +1 -1
  62. package/dist/nodes/vendors/Microsoft/microsoft-utils.js +60 -39
  63. package/dist/nodes/vendors/Microsoft/microsoft-utils.js.map +1 -1
  64. package/dist/typecheck.tsbuildinfo +1 -1
  65. package/dist/types/credentials.json +3 -2
  66. package/dist/types/nodes.json +1 -1
  67. package/dist/utils/agent-execution/createEngineRequests.js +13 -1
  68. package/dist/utils/agent-execution/createEngineRequests.js.map +1 -1
  69. package/dist/utils/agent-execution/executeEngineAction.d.ts +1 -1
  70. package/dist/utils/agent-execution/executeEngineAction.js +10 -1
  71. package/dist/utils/agent-execution/executeEngineAction.js.map +1 -1
  72. package/dist/utils/agent-execution/index.d.ts +1 -0
  73. package/dist/utils/agent-execution/index.js +3 -1
  74. package/dist/utils/agent-execution/index.js.map +1 -1
  75. package/dist/utils/agent-execution/processHitlResponses.js +3 -2
  76. package/dist/utils/agent-execution/processHitlResponses.js.map +1 -1
  77. package/dist/utils/agent-execution/types.d.ts +2 -0
  78. package/dist/utils/agent-execution/types.js +2 -0
  79. package/dist/utils/agent-execution/types.js.map +1 -1
  80. package/dist/utils/custom-model-endpoint/auth-fetch.d.ts +9 -0
  81. package/dist/utils/custom-model-endpoint/auth-fetch.js +43 -0
  82. package/dist/utils/custom-model-endpoint/auth-fetch.js.map +1 -0
  83. package/dist/utils/custom-model-endpoint/credential-data.d.ts +17 -0
  84. package/dist/utils/custom-model-endpoint/credential-data.js +37 -0
  85. package/dist/utils/custom-model-endpoint/credential-data.js.map +1 -0
  86. package/dist/utils/custom-model-endpoint/headers.d.ts +7 -0
  87. package/dist/utils/custom-model-endpoint/headers.js +42 -0
  88. package/dist/utils/custom-model-endpoint/headers.js.map +1 -0
  89. package/dist/utils/custom-model-endpoint/types.d.ts +20 -0
  90. package/dist/utils/custom-model-endpoint/types.js +3 -0
  91. package/dist/utils/custom-model-endpoint/types.js.map +1 -0
  92. package/dist/utils/normalizeEndpoint.js.map +1 -0
  93. package/dist/utils/schemaParsing.js +1 -3
  94. package/dist/utils/schemaParsing.js.map +1 -1
  95. package/package.json +17 -17
  96. package/dist/nodes/llms/LmChatAzureOpenAi/credentials/normalizeEndpoint.js.map +0 -1
  97. /package/dist/{nodes/llms/LmChatAzureOpenAi/credentials → utils}/normalizeEndpoint.d.ts +0 -0
  98. /package/dist/{nodes/llms/LmChatAzureOpenAi/credentials → utils}/normalizeEndpoint.js +0 -0
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.serializeIntermediateSteps = exports.processHitlResponses = exports.buildToolContext = exports.saveToMemory = exports.loadMemory = exports.processEventStream = exports.buildSteps = exports.buildResponseMetadata = exports.executeEngineAction = exports.createEngineRequests = void 0;
3
+ exports.INTERNAL_TOOL_ARG_STASH_KEY = exports.serializeIntermediateSteps = exports.processHitlResponses = exports.buildToolContext = exports.saveToMemory = exports.loadMemory = exports.processEventStream = exports.buildSteps = exports.buildResponseMetadata = exports.executeEngineAction = exports.createEngineRequests = void 0;
4
4
  var createEngineRequests_1 = require("./createEngineRequests");
5
5
  Object.defineProperty(exports, "createEngineRequests", { enumerable: true, get: function () { return createEngineRequests_1.createEngineRequests; } });
6
6
  var executeEngineAction_1 = require("./executeEngineAction");
@@ -19,4 +19,6 @@ var processHitlResponses_1 = require("./processHitlResponses");
19
19
  Object.defineProperty(exports, "processHitlResponses", { enumerable: true, get: function () { return processHitlResponses_1.processHitlResponses; } });
20
20
  var serializeIntermediateSteps_1 = require("./serializeIntermediateSteps");
21
21
  Object.defineProperty(exports, "serializeIntermediateSteps", { enumerable: true, get: function () { return serializeIntermediateSteps_1.serializeIntermediateSteps; } });
22
+ var types_1 = require("./types");
23
+ Object.defineProperty(exports, "INTERNAL_TOOL_ARG_STASH_KEY", { enumerable: true, get: function () { return types_1.INTERNAL_TOOL_ARG_STASH_KEY; } });
22
24
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/agent-execution/index.ts"],"names":[],"mappings":";;;AAUA,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,uDAAgF;AAAvE,8GAAA,UAAU,OAAA;AAAE,gHAAA,YAAY,OAAA;AAAE,oHAAA,gBAAgB,OAAA;AACnD,+DAAyF;AAAhF,4HAAA,oBAAoB,OAAA;AAC7B,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../utils/agent-execution/index.ts"],"names":[],"mappings":";;;AAUA,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,uDAAgF;AAAvE,8GAAA,UAAU,OAAA;AAAE,gHAAA,YAAY,OAAA;AAAE,oHAAA,gBAAgB,OAAA;AACnD,+DAAyF;AAAhF,4HAAA,oBAAoB,OAAA;AAC7B,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AAYnC,iCAAsD;AAA7C,oHAAA,2BAA2B,OAAA"}
@@ -69,8 +69,9 @@ function processHitlResponses(response, itemIndex) {
69
69
  if (approved === true) {
70
70
  hasApprovedHitlTools = true;
71
71
  const input = typeof hitl.originalInput === 'object'
72
- ? { tool: hitl.toolName, ...hitl.originalInput }
73
- : { tool: hitl.toolName, input: hitl.originalInput };
72
+ ? { ...hitl.originalInput }
73
+ : { input: hitl.originalInput };
74
+ input.tool = hitl.toolName;
74
75
  pendingGatedToolActions.push({
75
76
  actionType: 'ExecutionNodeAction',
76
77
  nodeName: hitl.gatedToolNodeName,
@@ -1 +1 @@
1
- {"version":3,"file":"processHitlResponses.js","sourceRoot":"","sources":["../../../utils/agent-execution/processHitlResponses.ts"],"names":[],"mappings":";;;AAAA,+CAAmD;AAyBnD,SAAS,oBAAoB,CAC5B,cAA0D;IAI1D,MAAM,IAAI,GAAI,cAAc,CAAC,MAAM,EAAE,QAAgD,EAAE,IAAI,CAAC;IAC5F,OAAO,IAAI,KAAK,SAAS,CAAC;AAC3B,CAAC;AAKD,SAAS,cAAc,CAAC,IAAa;IACpC,OAAO,CACN,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,UAAU,IAAI,IAAI;QAClB,OAAQ,IAAgC,CAAC,QAAQ,KAAK,SAAS,CAC/D,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,cAA0D;IACxF,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;AAC3D,CAAC;AAKD,SAAS,iBAAiB,CACzB,cAA0D;IAE1D,MAAM,IAAI,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAEnD,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED,MAAM,UAAU,GAAI,IAAgC,EAAE,IAAI,CAAC;IAC3D,IAAI,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,OAAO,UAAU,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,YAAY,CAAC,cAA0D;IAC/E,MAAM,IAAI,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAK,IAAI,EAAE,IAAgC,EAAE,SAAS,CAAC;IACxF,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB,EAAE,MAAc,EAAE,SAAkB;IAC7E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,SAAS,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CACT,+CAA+C,QAAQ,SAAS,MAAM,6BAA6B,SAAS,IAAI,CAChH,CAAC;IACH,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,kCAAkC,QAAQ,SAAS,MAAM,IAAI,CAAC,CAAC;QAC1E,KAAK,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;IACzF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAcD,8BACC,QAA6D,EAC7D,SAAiB;IAEjB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrF,OAAO;YACN,iBAAiB,EAAE,QAAQ,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YACpE,oBAAoB,EAAE,KAAK;SAC3B,CAAC;IACH,CAAC;IAED,MAAM,uBAAuB,GAAsD,EAAE,CAAC;IACtF,MAAM,wBAAwB,GAAsD,EAAE,CAAC;IACvF,IAAI,oBAAoB,GAAG,KAAK,CAAC;IAEjC,KAAK,MAAM,cAAc,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QACvD,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,EAAE,CAAC;YAE3C,wBAAwB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC9C,SAAS;QACV,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACxC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QACxC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACvB,oBAAoB,GAAG,IAAI,CAAC;YAE5B,MAAM,KAAK,GACV,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;gBACrC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE;gBAChD,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;YAEvD,uBAAuB,CAAC,IAAI,CAAC;gBAC5B,UAAU,EAAE,qBAA8B;gBAC1C,QAAQ,EAAE,IAAI,CAAC,iBAAiB;gBAChC,KAAK;gBACL,IAAI,EAAE,kCAAmB,CAAC,MAAM;gBAChC,EAAE,EAAE,MAAM;gBACV,QAAQ,EAAE;oBACT,SAAS;oBAET,cAAc,EAAE,cAAc,CAAC,MAAM,CAAC,QAAQ;iBAC9C;aACD,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,MAAM,gBAAgB,GAA+C;gBACpE,GAAG,cAAc;gBACjB,IAAI,EAAE;oBACL,GAAG,cAAc,CAAC,IAAI;oBACtB,IAAI,EAAE;wBACL,OAAO,EAAE;4BACR;gCACC;oCACC,IAAI,EAAE;wCACL,MAAM,EAAE,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;qCACrD;iCACD;6BACD;yBACD;qBACD;iBACD;aACD,CAAC;YACF,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACjD,CAAC;IACF,CAAC;IAED,MAAM,MAAM,GAAyB;QACpC,iBAAiB,EAAE;YAClB,GAAG,QAAQ;YACX,eAAe,EAAE,wBAAwB;SACzC;QACD,oBAAoB;KACpB,CAAC;IAEF,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,CAAC,uBAAuB,GAAG;YAChC,OAAO,EAAE,uBAAuB;YAChC,QAAQ,EAAE;gBACT,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,EAAE,gBAAgB;aACrD;SACD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"processHitlResponses.js","sourceRoot":"","sources":["../../../utils/agent-execution/processHitlResponses.ts"],"names":[],"mappings":"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"}
@@ -85,8 +85,10 @@ export interface ToolMetadata extends Record<string, unknown> {
85
85
  gatedToolNodeName?: string;
86
86
  originalSchema?: ZodType;
87
87
  isFromToolkit?: boolean;
88
+ isMcpTool?: boolean;
88
89
  attribution?: string;
89
90
  }
90
91
  export declare function isThinkingBlock(block: unknown): block is ThinkingContentBlock;
92
+ export declare const INTERNAL_TOOL_ARG_STASH_KEY = "_n8nOriginalToolArg";
91
93
  export declare function isRedactedThinkingBlock(block: unknown): block is RedactedThinkingContentBlock;
92
94
  export declare function isGeminiThoughtSignatureBlock(block: unknown): block is GeminiThoughtSignatureBlock;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.INTERNAL_TOOL_ARG_STASH_KEY = void 0;
3
4
  exports.isThinkingBlock = isThinkingBlock;
4
5
  exports.isRedactedThinkingBlock = isRedactedThinkingBlock;
5
6
  exports.isGeminiThoughtSignatureBlock = isGeminiThoughtSignatureBlock;
@@ -13,6 +14,7 @@ function isThinkingBlock(block) {
13
14
  'signature' in block &&
14
15
  typeof block.signature === 'string');
15
16
  }
17
+ exports.INTERNAL_TOOL_ARG_STASH_KEY = '_n8nOriginalToolArg';
16
18
  function isRedactedThinkingBlock(block) {
17
19
  return (typeof block === 'object' &&
18
20
  block !== null &&
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../utils/agent-execution/types.ts"],"names":[],"mappings":";;;;;AAuMA,yBAAgC,KAAc;IAC7C,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,IAAI,KAAK,UAAU;QACzB,UAAU,IAAI,KAAK;QACnB,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,WAAW,IAAI,KAAK;QACpB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CACnC,CAAC;AACH,CAAC;AAKD,iCAAwC,KAAc;IACrD,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,IAAI,KAAK,mBAAmB;QAClC,MAAM,IAAI,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAC9B,CAAC;AACH,CAAC;AAKD,uCACC,KAAc;IAEd,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,kBAAkB,IAAI,KAAK;QAC3B,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,CAC1C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../utils/agent-execution/types.ts"],"names":[],"mappings":";;;;;;AAyMA,yBAAgC,KAAc;IAC7C,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,IAAI,KAAK,UAAU;QACzB,UAAU,IAAI,KAAK;QACnB,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,WAAW,IAAI,KAAK;QACpB,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CACnC,CAAC;AACH,CAAC;AAMY,QAAA,2BAA2B,GAAG,qBAAqB,CAAC;AAKjE,iCAAwC,KAAc;IACrD,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,KAAK,CAAC,IAAI,KAAK,mBAAmB;QAClC,MAAM,IAAI,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAC9B,CAAC;AACH,CAAC;AAKD,uCACC,KAAc;IAEd,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,kBAAkB,IAAI,KAAK;QAC3B,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,CAC1C,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type ICredentialDataDecryptedObject, type IExecuteFunctions, type ILoadOptionsFunctions, type ISupplyDataFunctions, type NodeEgressFilter } from 'n8n-workflow';
2
+ import type { EndpointCredential } from './types';
3
+ export type CustomModelEndpointFetchContext = IExecuteFunctions | ISupplyDataFunctions | ILoadOptionsFunctions;
4
+ export declare function createCustomModelEndpointAuthFetch(ctx: CustomModelEndpointFetchContext, credential: ICredentialDataDecryptedObject, options: {
5
+ endpoint: EndpointCredential;
6
+ egressFilter: NodeEgressFilter;
7
+ baseFetch: typeof fetch;
8
+ requestHeaders?: Record<string, string>;
9
+ }): typeof fetch;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createCustomModelEndpointAuthFetch = createCustomModelEndpointAuthFetch;
4
+ const ai_utilities_1 = require("@n8n/ai-utilities");
5
+ const n8n_workflow_1 = require("n8n-workflow");
6
+ const headers_1 = require("./headers");
7
+ function withoutInheritedAuthorization(input, init) {
8
+ const source = init?.headers ?? (input instanceof Request ? input.headers : undefined);
9
+ if (source === undefined)
10
+ return { input, init };
11
+ const headers = new Headers(source);
12
+ if (!headers.has('authorization'))
13
+ return { input, init };
14
+ headers.delete('authorization');
15
+ return { input, init: { ...init, headers } };
16
+ }
17
+ function createCustomModelEndpointAuthFetch(ctx, credential, options) {
18
+ const { endpoint, egressFilter, baseFetch, requestHeaders } = options;
19
+ const node = ctx.getNode();
20
+ const allowedDomains = (0, n8n_workflow_1.getCredentialAllowedDomains)({
21
+ node,
22
+ credentialData: credential,
23
+ credentialOwnedSurface: true,
24
+ nodeEndpointUrl: endpoint.baseUrl,
25
+ });
26
+ const authFetch = (0, ai_utilities_1.createRefreshingAuthFetch)({
27
+ baseFetch,
28
+ resolveHeaders: async () => (0, headers_1.buildRequestHeaders)({ endpoint, requestHeaders }),
29
+ assertAllowedUrl: async (hopUrl) => {
30
+ (0, n8n_workflow_1.assertUrlAllowed)({ url: hopUrl, allowedDomains, node });
31
+ if (!egressFilter)
32
+ return;
33
+ const result = await egressFilter.validateUrl(hopUrl);
34
+ if (!result.ok)
35
+ throw result.error;
36
+ },
37
+ });
38
+ return async (input, init) => {
39
+ const stripped = withoutInheritedAuthorization(input, init);
40
+ return await authFetch(stripped.input, stripped.init);
41
+ };
42
+ }
43
+ //# sourceMappingURL=auth-fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-fetch.js","sourceRoot":"","sources":["../../../utils/custom-model-endpoint/auth-fetch.ts"],"names":[],"mappings":";;;AAAA,oDAA8D;AAC9D,+CAQsB;AAEtB,uCAAgD;AAShD,SAAS,6BAA6B,CACrC,KAAwB,EACxB,IAA6B;IAE7B,MAAM,MAAM,GAAG,IAAI,EAAE,OAAO,IAAI,CAAC,KAAK,YAAY,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEjD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAE1D,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAChC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC;AAC9C,CAAC;AAED,4CACC,GAAoC,EACpC,UAA0C,EAC1C,OAKC;IAED,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IACtE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3B,MAAM,cAAc,GAAG,IAAA,0CAA2B,EAAC;QAClD,IAAI;QACJ,cAAc,EAAE,UAAU;QAC1B,sBAAsB,EAAE,IAAI;QAC5B,eAAe,EAAE,QAAQ,CAAC,OAAO;KACjC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,IAAA,wCAAyB,EAAC;QAC3C,SAAS;QACT,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,IAAA,6BAAmB,EAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;QAC7E,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAClC,IAAA,+BAAgB,EAAC,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC1B,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,MAAM,MAAM,CAAC,KAAK,CAAC;QACpC,CAAC;KACD,CAAC,CAAC;IAEH,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,6BAA6B,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5D,OAAO,MAAM,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { EndpointCredential } from './types';
2
+ export type CustomModelEndpointCredentialData = {
3
+ url?: string;
4
+ authentication?: 'bearer' | 'header' | 'basic' | 'none';
5
+ apiKey?: string;
6
+ authHeaderName?: string;
7
+ authHeaderPrefix?: string;
8
+ username?: string;
9
+ password?: string;
10
+ gatewayHeaders?: {
11
+ headers?: Array<{
12
+ name?: string;
13
+ value?: string;
14
+ }>;
15
+ };
16
+ };
17
+ export declare function readCustomModelEndpointCredential(data: CustomModelEndpointCredentialData): EndpointCredential;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readCustomModelEndpointCredential = readCustomModelEndpointCredential;
4
+ const normalizeEndpoint_1 = require("../normalizeEndpoint");
5
+ function readLoginMethod(data) {
6
+ switch (data.authentication) {
7
+ case 'header':
8
+ return {
9
+ type: 'header',
10
+ name: data.authHeaderName?.trim() ?? '',
11
+ prefix: data.authHeaderPrefix?.trim() ?? '',
12
+ key: data.apiKey?.trim() ?? '',
13
+ };
14
+ case 'basic':
15
+ return {
16
+ type: 'basic',
17
+ username: data.username?.trim() ?? '',
18
+ password: data.password ?? '',
19
+ };
20
+ case 'none':
21
+ return { type: 'none' };
22
+ default:
23
+ return { type: 'bearer', token: data.apiKey?.trim() ?? '' };
24
+ }
25
+ }
26
+ function readCustomModelEndpointCredential(data) {
27
+ const gatewayHeaders = (data.gatewayHeaders?.headers ?? []).flatMap(({ name, value }) => {
28
+ const headerName = name?.trim();
29
+ return headerName ? [[headerName, value ?? '']] : [];
30
+ });
31
+ return {
32
+ baseUrl: (0, normalizeEndpoint_1.normalizeEndpoint)(data.url) ?? '',
33
+ login: readLoginMethod(data),
34
+ gatewayHeaders: Object.fromEntries(gatewayHeaders),
35
+ };
36
+ }
37
+ //# sourceMappingURL=credential-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-data.js","sourceRoot":"","sources":["../../../utils/custom-model-endpoint/credential-data.ts"],"names":[],"mappings":";;;AACA,4DAAyD;AAazD,SAAS,eAAe,CAAC,IAAuC;IAC/D,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7B,KAAK,QAAQ;YACZ,OAAO;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;gBACvC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC3C,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;aAC9B,CAAC;QACH,KAAK,OAAO;YACX,OAAO;gBACN,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE;gBAErC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;aAC7B,CAAC;QACH,KAAK,MAAM;YACV,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACzB;YACC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;IAC9D,CAAC;AACF,CAAC;AAED,2CACC,IAAuC;IAEvC,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAClE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACnB,MAAM,UAAU,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;QAChC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC,CACD,CAAC;IAEF,OAAO;QACN,OAAO,EAAE,IAAA,qCAAiB,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAC1C,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC;QAC5B,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC;KAClD,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { IDataObject } from 'n8n-workflow';
2
+ import type { EndpointCredential } from './types';
3
+ export declare function toHeaderRecord(headers: IDataObject | undefined): Record<string, string>;
4
+ export declare function buildRequestHeaders(options: {
5
+ endpoint: Pick<EndpointCredential, 'login' | 'gatewayHeaders'>;
6
+ requestHeaders?: Record<string, string>;
7
+ }): Record<string, string>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toHeaderRecord = toHeaderRecord;
4
+ exports.buildRequestHeaders = buildRequestHeaders;
5
+ const n8n_workflow_1 = require("n8n-workflow");
6
+ function getLoginHeader(login) {
7
+ switch (login.type) {
8
+ case 'bearer':
9
+ return { Authorization: `Bearer ${login.token}` };
10
+ case 'header':
11
+ return { [login.name]: login.prefix ? `${login.prefix} ${login.key}` : login.key };
12
+ case 'basic':
13
+ return {
14
+ Authorization: `Basic ${Buffer.from(`${login.username}:${login.password}`).toString('base64')}`,
15
+ };
16
+ case 'none':
17
+ return {};
18
+ }
19
+ }
20
+ function toHeaderRecord(headers) {
21
+ return Object.fromEntries(Object.entries(headers ?? {})
22
+ .filter(([, value]) => ['string', 'number', 'boolean'].includes(typeof value))
23
+ .map(([name, value]) => [name, String(value)]));
24
+ }
25
+ function buildRequestHeaders(options) {
26
+ const { endpoint, requestHeaders = {} } = options;
27
+ const headers = new Headers();
28
+ [endpoint.gatewayHeaders, requestHeaders, getLoginHeader(endpoint.login)]
29
+ .flatMap((layer) => Object.entries(layer))
30
+ .forEach(([name, value]) => {
31
+ try {
32
+ headers.set(name, value);
33
+ }
34
+ catch {
35
+ throw new n8n_workflow_1.UserError(`The header "${name}" is not valid`, {
36
+ description: 'Check the name and the value of the header.',
37
+ });
38
+ }
39
+ });
40
+ return Object.fromEntries(headers);
41
+ }
42
+ //# sourceMappingURL=headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../../utils/custom-model-endpoint/headers.ts"],"names":[],"mappings":";;;;AACA,+CAAyC;AAIzC,SAAS,cAAc,CAAC,KAAkB;IACzC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,QAAQ;YACZ,OAAO,EAAE,aAAa,EAAE,UAAU,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QACnD,KAAK,QAAQ;YACZ,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QACpF,KAAK,OAAO;YACX,OAAO;gBACN,aAAa,EAAE,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;aAC/F,CAAC;QACH,KAAK,MAAM;YACV,OAAO,EAAE,CAAC;IACZ,CAAC;AACF,CAAC;AAED,wBAA+B,OAAgC;IAC9D,OAAO,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,CAAC;SAC7E,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAC/C,CAAC;AACH,CAAC;AAGD,6BAAoC,OAGnC;IACA,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAElD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACvE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACzC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAC1B,IAAI,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YAER,MAAM,IAAI,wBAAS,CAAC,eAAe,IAAI,gBAAgB,EAAE;gBACxD,WAAW,EAAE,6CAA6C;aAC1D,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC,CAAC;IAEJ,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,20 @@
1
+ export type LoginMethod = {
2
+ type: 'none';
3
+ } | {
4
+ type: 'bearer';
5
+ token: string;
6
+ } | {
7
+ type: 'header';
8
+ name: string;
9
+ prefix: string;
10
+ key: string;
11
+ } | {
12
+ type: 'basic';
13
+ username: string;
14
+ password: string;
15
+ };
16
+ export interface EndpointCredential {
17
+ baseUrl: string;
18
+ login: LoginMethod;
19
+ gatewayHeaders: Record<string, string>;
20
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../utils/custom-model-endpoint/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalizeEndpoint.js","sourceRoot":"","sources":["../../utils/normalizeEndpoint.ts"],"names":[],"mappings":";;;AAKA,2BAAkC,QAA4B;IAC7D,OAAO,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC"}
@@ -5,7 +5,6 @@ exports.generateSchemaFromExample = generateSchemaFromExample;
5
5
  exports.convertJsonSchemaToZod = convertJsonSchemaToZod;
6
6
  exports.throwIfToolSchema = throwIfToolSchema;
7
7
  const json_schema_to_zod_1 = require("@n8n/json-schema-to-zod");
8
- const generate_schema_1 = require("generate-schema");
9
8
  const n8n_workflow_1 = require("n8n-workflow");
10
9
  function makeAllPropertiesRequired(schema) {
11
10
  function isPropertySchema(property) {
@@ -36,8 +35,7 @@ function parseJsonSchemaParameter(raw) {
36
35
  return (0, n8n_workflow_1.jsonParse)(asSchemaText(raw));
37
36
  }
38
37
  function generateSchemaFromExample(exampleJson, allFieldsRequired = false) {
39
- const parsedExample = (0, n8n_workflow_1.jsonParse)(asSchemaText(exampleJson));
40
- const schema = (0, generate_schema_1.json)(parsedExample);
38
+ const schema = (0, n8n_workflow_1.generateSchemaFromExample)(asSchemaText(exampleJson));
41
39
  if (allFieldsRequired) {
42
40
  return makeAllPropertiesRequired(schema);
43
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schemaParsing.js","sourceRoot":"","sources":["../../utils/schemaParsing.ts"],"names":[],"mappings":";;;;;;AAAA,gEAA0D;AAC1D,qDAA6D;AAI7D,+CAA6D;AAG7D,SAAS,yBAAyB,CAAC,MAAmB;IACrD,SAAS,gBAAgB,CAAC,QAAiB;QAC1C,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,MAAM,IAAI,QAAQ,CAAC;IAChF,CAAC;IAGD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC9B,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC9C,yBAAyB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC;QACF,CAAC;IACF,CAAC;IAGD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/E,MAAM,CAAC,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAOD,SAAS,YAAY,CAAC,GAAY;IACjC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAGxE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC;AAGD,kCAAyC,GAAY;IACpD,OAAO,IAAA,wBAAS,EAAc,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,mCACC,WAAoB,EACpB,iBAAiB,GAAG,KAAK;IAEzB,MAAM,aAAa,GAAG,IAAA,wBAAS,EAAe,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IAEzE,MAAM,MAAM,GAAG,IAAA,sBAAkB,EAAC,aAAa,CAAgB,CAAC;IAEhE,IAAI,iBAAiB,EAAE,CAAC;QACvB,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,gCAA8E,MAAmB;IAChG,OAAO,IAAA,oCAAe,EAAI,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,2BAAkC,GAAsB,EAAE,KAAY;IACrE,IAAI,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,0CAA0C,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,iCAAkB,CAC3B,GAAG,CAAC,OAAO,EAAE,EACb,GAAG,KAAK,CAAC,OAAO;wNACqM,CACrN,CAAC;IACH,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"schemaParsing.js","sourceRoot":"","sources":["../../utils/schemaParsing.ts"],"names":[],"mappings":";;;;;;AAAA,gEAA0D;AAG1D,+CAIsB;AAGtB,SAAS,yBAAyB,CAAC,MAAmB;IACrD,SAAS,gBAAgB,CAAC,QAAiB;QAC1C,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,MAAM,IAAI,QAAQ,CAAC;IAChF,CAAC;IAGD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,GAAG,UAAU,CAAC;QAC9B,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC9C,yBAAyB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC;QACF,CAAC;IACF,CAAC;IAGD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/E,MAAM,CAAC,KAAK,GAAG,yBAAyB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAOD,SAAS,YAAY,CAAC,GAAY;IACjC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAGxE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC;AAGD,kCAAyC,GAAY;IACpD,OAAO,IAAA,wBAAS,EAAc,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,mCACC,WAAoB,EACpB,iBAAiB,GAAG,KAAK;IAEzB,MAAM,MAAM,GAAG,IAAA,wCAA6B,EAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;IAExE,IAAI,iBAAiB,EAAE,CAAC;QACvB,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,gCAA8E,MAAmB;IAChG,OAAO,IAAA,oCAAe,EAAI,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,2BAAkC,GAAsB,EAAE,KAAY;IACrE,IAAI,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,0CAA0C,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,iCAAkB,CAC3B,GAAG,CAAC,OAAO,EAAE,EACb,GAAG,KAAK,CAAC,OAAO;wNACqM,CACrN,CAAC;IACH,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/n8n-nodes-langchain",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "exports": {
@@ -40,6 +40,7 @@
40
40
  "dist/credentials/ChromaSelfHostedApi.credentials.js",
41
41
  "dist/credentials/ChromaCloudApi.credentials.js",
42
42
  "dist/credentials/CohereApi.credentials.js",
43
+ "dist/credentials/CustomModelEndpointApi.credentials.js",
43
44
  "dist/credentials/DaytonaApi.credentials.js",
44
45
  "dist/credentials/DeepSeekApi.credentials.js",
45
46
  "dist/credentials/GooglePalmApi.credentials.js",
@@ -178,8 +179,8 @@
178
179
  ]
179
180
  },
180
181
  "devDependencies": {
181
- "@n8n/eslint-plugin-community-nodes": "1.0.0",
182
- "@n8n/vitest-config": "2.0.0",
182
+ "@n8n/eslint-plugin-community-nodes": "1.1.0",
183
+ "@n8n/vitest-config": "2.1.0",
183
184
  "@typescript-eslint/typescript-estree": "8.70.0",
184
185
  "@types/basic-auth": "^1.1.3",
185
186
  "@types/express": "^5.0.1",
@@ -205,7 +206,7 @@
205
206
  "@aws-sdk/credential-providers": "3.808.0",
206
207
  "@azure/identity": "4.13.0",
207
208
  "@azure/search-documents": "12.1.0",
208
- "@google-cloud/resource-manager": "5.3.0",
209
+ "@google-cloud/resource-manager": "6.0.1",
209
210
  "@google/genai": "1.19.0",
210
211
  "@google/generative-ai": "0.24.0",
211
212
  "@huggingface/inference": "4.0.5",
@@ -230,21 +231,21 @@
230
231
  "@langchain/redis": "1.1.1",
231
232
  "@langchain/textsplitters": "1.0.1",
232
233
  "@langchain/weaviate": "1.0.1",
233
- "@microsoft/agents-a365-observability": "1.0.0",
234
234
  "@microsoft/agents-a365-runtime": "1.0.0",
235
235
  "@microsoft/agents-a365-tooling": "1.0.0",
236
236
  "@microsoft/agents-activity": "1.6.1",
237
237
  "@microsoft/agents-hosting": "1.6.1",
238
+ "@microsoft/opentelemetry": "1.5.0",
238
239
  "@mistralai/mistralai": "^2.2.1",
239
- "@modelcontextprotocol/sdk": "1.31.0",
240
+ "@modelcontextprotocol/sdk": "1.32.0",
240
241
  "@mozilla/readability": "^0.6.0",
241
- "@n8n/ai-utilities": "1.0.0",
242
- "@n8n/client-oauth2": "2.0.0",
243
- "@n8n/config": "3.0.0",
244
- "@n8n/di": "1.0.0",
245
- "@n8n/json-schema-to-zod": "2.0.0",
246
- "@n8n/typescript-config": "2.0.0",
247
- "@n8n/utils": "2.0.0",
242
+ "@n8n/ai-utilities": "1.1.0",
243
+ "@n8n/client-oauth2": "2.1.0",
244
+ "@n8n/config": "3.1.0",
245
+ "@n8n/di": "1.1.0",
246
+ "@n8n/json-schema-to-zod": "2.1.0",
247
+ "@n8n/typescript-config": "2.1.0",
248
+ "@n8n/utils": "2.1.0",
248
249
  "@oracle/langchain-oracledb": "0.2.0",
249
250
  "@pinecone-database/pinecone": "^5.0.2",
250
251
  "@qdrant/js-client-rest": "^1.19.0",
@@ -261,7 +262,6 @@
261
262
  "epub2": "3.0.2",
262
263
  "express": "5.1.0",
263
264
  "form-data": "4.0.6",
264
- "generate-schema": "2.6.0",
265
265
  "html-to-text": "9.0.5",
266
266
  "ignore": "^5.2.0",
267
267
  "js-tiktoken": "1.0.21",
@@ -272,9 +272,9 @@
272
272
  "mime-types": "3.0.2",
273
273
  "mongodb": "^6.17.0",
274
274
  "mysql2": "3.23.1",
275
- "n8n-core": "3.0.0",
276
- "n8n-nodes-base": "3.0.0",
277
- "n8n-workflow": "3.0.0",
275
+ "n8n-core": "3.1.0",
276
+ "n8n-nodes-base": "3.1.0",
277
+ "n8n-workflow": "3.1.0",
278
278
  "openai": "6.46.0",
279
279
  "oracledb": "6.10.0",
280
280
  "pg": "8.21.0",
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalizeEndpoint.js","sourceRoot":"","sources":["../../../../../nodes/llms/LmChatAzureOpenAi/credentials/normalizeEndpoint.ts"],"names":[],"mappings":";;;AAKA,2BAAkC,QAA4B;IAC7D,OAAO,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC"}