@n8n/ai-utilities 0.2.1 → 0.4.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 (240) hide show
  1. package/README.md +9 -448
  2. package/dist/{adapters → cjs/adapters}/langchain-chat-model.d.ts +1 -1
  3. package/dist/cjs/adapters/langchain-chat-model.js +201 -0
  4. package/dist/cjs/adapters/langchain-chat-model.js.map +1 -0
  5. package/dist/cjs/adapters/langchain-history.js +37 -0
  6. package/dist/cjs/adapters/langchain-history.js.map +1 -0
  7. package/dist/cjs/adapters/langchain-memory.js +46 -0
  8. package/dist/cjs/adapters/langchain-memory.js.map +1 -0
  9. package/dist/cjs/ai-node-sdk-version.d.ts +1 -0
  10. package/dist/cjs/ai-node-sdk-version.js +15 -0
  11. package/dist/cjs/ai-node-sdk-version.js.map +1 -0
  12. package/dist/cjs/chat-model/base.js +35 -0
  13. package/dist/cjs/chat-model/base.js.map +1 -0
  14. package/dist/{converters → cjs/converters}/message.d.ts +2 -0
  15. package/dist/cjs/converters/message.js +388 -0
  16. package/dist/cjs/converters/message.js.map +1 -0
  17. package/dist/cjs/converters/tool.js +69 -0
  18. package/dist/cjs/converters/tool.js.map +1 -0
  19. package/dist/cjs/guards.js +37 -0
  20. package/dist/cjs/guards.js.map +1 -0
  21. package/dist/{index.d.ts → cjs/index.d.ts} +7 -5
  22. package/dist/cjs/index.js +73 -0
  23. package/dist/cjs/index.js.map +1 -0
  24. package/dist/cjs/memory/base-chat-history.js +22 -0
  25. package/dist/cjs/memory/base-chat-history.js.map +1 -0
  26. package/dist/cjs/memory/base-chat-memory.js +17 -0
  27. package/dist/cjs/memory/base-chat-memory.js.map +1 -0
  28. package/dist/cjs/memory/windowed-chat-memory.js +48 -0
  29. package/dist/cjs/memory/windowed-chat-memory.js.map +1 -0
  30. package/dist/cjs/suppliers/supplyMemory.js +24 -0
  31. package/dist/cjs/suppliers/supplyMemory.js.map +1 -0
  32. package/dist/cjs/suppliers/supplyModel.d.ts +8 -0
  33. package/dist/cjs/suppliers/supplyModel.js +89 -0
  34. package/dist/cjs/suppliers/supplyModel.js.map +1 -0
  35. package/dist/cjs/typecheck.tsbuildinfo +1 -0
  36. package/dist/cjs/types/chat-model.js +13 -0
  37. package/dist/{types → cjs/types}/chat-model.js.map +1 -1
  38. package/dist/cjs/types/json.js +13 -0
  39. package/dist/{types → cjs/types}/json.js.map +1 -1
  40. package/dist/cjs/types/memory.js +13 -0
  41. package/dist/{types → cjs/types}/memory.js.map +1 -1
  42. package/dist/{types → cjs/types}/message.d.ts +9 -2
  43. package/dist/cjs/types/message.js +13 -0
  44. package/dist/{types → cjs/types}/message.js.map +1 -1
  45. package/dist/cjs/types/openai.js +13 -0
  46. package/dist/{types → cjs/types}/openai.js.map +1 -1
  47. package/dist/{types → cjs/types}/output.d.ts +26 -16
  48. package/dist/cjs/types/output.js +13 -0
  49. package/dist/{types → cjs/types}/output.js.map +1 -1
  50. package/dist/cjs/types/tool.js +13 -0
  51. package/dist/{types → cjs/types}/tool.js.map +1 -1
  52. package/dist/cjs/utils/embeddings-input-validation.js +38 -0
  53. package/dist/cjs/utils/embeddings-input-validation.js.map +1 -0
  54. package/dist/cjs/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js +40 -0
  55. package/dist/cjs/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js.map +1 -0
  56. package/dist/cjs/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js +38 -0
  57. package/dist/cjs/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js.map +1 -0
  58. package/dist/cjs/utils/helpers.js +63 -0
  59. package/dist/cjs/utils/helpers.js.map +1 -0
  60. package/dist/cjs/utils/http-proxy-agent.js +58 -0
  61. package/dist/cjs/utils/http-proxy-agent.js.map +1 -0
  62. package/dist/cjs/utils/log-ai-event.js +23 -0
  63. package/dist/cjs/utils/log-ai-event.js.map +1 -0
  64. package/dist/cjs/utils/log-wrapper.js +339 -0
  65. package/dist/cjs/utils/log-wrapper.js.map +1 -0
  66. package/dist/cjs/utils/n8n-binary-loader.js +169 -0
  67. package/dist/cjs/utils/n8n-binary-loader.js.map +1 -0
  68. package/dist/cjs/utils/n8n-json-loader.js +76 -0
  69. package/dist/cjs/utils/n8n-json-loader.js.map +1 -0
  70. package/dist/cjs/utils/n8n-llm-tracing.js +167 -0
  71. package/dist/cjs/utils/n8n-llm-tracing.js.map +1 -0
  72. package/dist/{utils → cjs/utils}/sse.d.ts +1 -1
  73. package/dist/cjs/utils/sse.js +107 -0
  74. package/dist/cjs/utils/sse.js.map +1 -0
  75. package/dist/cjs/utils/tokenizer/tiktoken.js +50 -0
  76. package/dist/cjs/utils/tokenizer/tiktoken.js.map +1 -0
  77. package/dist/cjs/utils/tokenizer/token-estimator.js +108 -0
  78. package/dist/cjs/utils/tokenizer/token-estimator.js.map +1 -0
  79. package/dist/esm/adapters/langchain-chat-model.d.ts +20 -0
  80. package/dist/{adapters → esm/adapters}/langchain-chat-model.js +65 -54
  81. package/dist/esm/adapters/langchain-chat-model.js.map +1 -0
  82. package/dist/esm/adapters/langchain-history.d.ts +12 -0
  83. package/dist/esm/adapters/langchain-history.js.map +1 -0
  84. package/dist/esm/adapters/langchain-memory.d.ts +11 -0
  85. package/dist/esm/adapters/langchain-memory.js.map +1 -0
  86. package/dist/esm/ai-node-sdk-version.d.ts +1 -0
  87. package/dist/esm/ai-node-sdk-version.js +5 -0
  88. package/dist/esm/ai-node-sdk-version.js.map +1 -0
  89. package/dist/esm/chat-model/base.d.ts +15 -0
  90. package/dist/esm/chat-model/base.js.map +1 -0
  91. package/dist/esm/converters/message.d.ts +7 -0
  92. package/dist/{converters → esm/converters}/message.js +41 -28
  93. package/dist/esm/converters/message.js.map +1 -0
  94. package/dist/esm/converters/tool.d.ts +5 -0
  95. package/dist/esm/converters/tool.js.map +1 -0
  96. package/dist/esm/guards.d.ts +8 -0
  97. package/dist/esm/guards.js.map +1 -0
  98. package/dist/esm/index.d.ts +30 -0
  99. package/dist/{index.js → esm/index.js} +13 -6
  100. package/dist/esm/index.js.map +1 -0
  101. package/dist/esm/memory/base-chat-history.d.ts +8 -0
  102. package/dist/esm/memory/base-chat-history.js.map +1 -0
  103. package/dist/esm/memory/base-chat-memory.d.ts +8 -0
  104. package/dist/esm/memory/base-chat-memory.js.map +1 -0
  105. package/dist/esm/memory/windowed-chat-memory.d.ts +14 -0
  106. package/dist/{memory → esm/memory}/windowed-chat-memory.js +2 -2
  107. package/dist/esm/memory/windowed-chat-memory.js.map +1 -0
  108. package/dist/esm/suppliers/supplyMemory.d.ts +6 -0
  109. package/dist/esm/suppliers/supplyMemory.js.map +1 -0
  110. package/dist/esm/suppliers/supplyModel.d.ts +8 -0
  111. package/dist/{suppliers → esm/suppliers}/supplyModel.js +2 -1
  112. package/dist/esm/suppliers/supplyModel.js.map +1 -0
  113. package/dist/esm/typecheck.tsbuildinfo +1 -0
  114. package/dist/esm/types/chat-model.d.ts +26 -0
  115. package/dist/esm/types/chat-model.js.map +1 -0
  116. package/dist/esm/types/json.d.ts +5 -0
  117. package/dist/esm/types/json.js.map +1 -0
  118. package/dist/esm/types/memory.d.ts +13 -0
  119. package/dist/esm/types/memory.js.map +1 -0
  120. package/dist/esm/types/message.d.ts +56 -0
  121. package/dist/esm/types/message.js.map +1 -0
  122. package/dist/esm/types/openai.d.ts +39 -0
  123. package/dist/esm/types/openai.js.map +1 -0
  124. package/dist/esm/types/output.d.ts +47 -0
  125. package/dist/esm/types/output.js.map +1 -0
  126. package/dist/esm/types/tool.d.ts +28 -0
  127. package/dist/esm/types/tool.js.map +1 -0
  128. package/dist/esm/utils/embeddings-input-validation.d.ts +3 -0
  129. package/dist/esm/utils/embeddings-input-validation.js.map +1 -0
  130. package/dist/esm/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.d.ts +1 -0
  131. package/dist/esm/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js.map +1 -0
  132. package/dist/esm/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.d.ts +3 -0
  133. package/dist/esm/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js.map +1 -0
  134. package/dist/esm/utils/helpers.d.ts +3 -0
  135. package/dist/esm/utils/helpers.js.map +1 -0
  136. package/dist/esm/utils/http-proxy-agent.d.ts +10 -0
  137. package/dist/esm/utils/http-proxy-agent.js.map +1 -0
  138. package/dist/esm/utils/log-ai-event.d.ts +2 -0
  139. package/dist/esm/utils/log-ai-event.js.map +1 -0
  140. package/dist/esm/utils/log-wrapper.d.ts +28 -0
  141. package/dist/esm/utils/log-wrapper.js.map +1 -0
  142. package/dist/esm/utils/n8n-binary-loader.d.ts +18 -0
  143. package/dist/esm/utils/n8n-binary-loader.js.map +1 -0
  144. package/dist/esm/utils/n8n-json-loader.d.ts +11 -0
  145. package/dist/esm/utils/n8n-json-loader.js.map +1 -0
  146. package/dist/esm/utils/n8n-llm-tracing.d.ts +46 -0
  147. package/dist/esm/utils/n8n-llm-tracing.js.map +1 -0
  148. package/dist/esm/utils/sse.d.ts +8 -0
  149. package/dist/{utils → esm/utils}/sse.js +17 -27
  150. package/dist/esm/utils/sse.js.map +1 -0
  151. package/dist/esm/utils/tokenizer/cl100k_base.json +1 -0
  152. package/dist/esm/utils/tokenizer/o200k_base.json +1 -0
  153. package/dist/esm/utils/tokenizer/tiktoken.d.ts +4 -0
  154. package/dist/esm/utils/tokenizer/tiktoken.js.map +1 -0
  155. package/dist/esm/utils/tokenizer/token-estimator.d.ts +4 -0
  156. package/dist/esm/utils/tokenizer/token-estimator.js.map +1 -0
  157. package/package.json +20 -12
  158. package/dist/adapters/langchain-chat-model.js.map +0 -1
  159. package/dist/adapters/langchain-history.js.map +0 -1
  160. package/dist/adapters/langchain-memory.js.map +0 -1
  161. package/dist/build.tsbuildinfo +0 -1
  162. package/dist/chat-model/base.js.map +0 -1
  163. package/dist/converters/message.js.map +0 -1
  164. package/dist/converters/tool.js.map +0 -1
  165. package/dist/guards.js.map +0 -1
  166. package/dist/index.js.map +0 -1
  167. package/dist/memory/base-chat-history.js.map +0 -1
  168. package/dist/memory/base-chat-memory.js.map +0 -1
  169. package/dist/memory/windowed-chat-memory.js.map +0 -1
  170. package/dist/suppliers/supplyMemory.js.map +0 -1
  171. package/dist/suppliers/supplyModel.d.ts +0 -15
  172. package/dist/suppliers/supplyModel.js.map +0 -1
  173. package/dist/utils/embeddings-input-validation.js.map +0 -1
  174. package/dist/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js.map +0 -1
  175. package/dist/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js.map +0 -1
  176. package/dist/utils/helpers.js.map +0 -1
  177. package/dist/utils/http-proxy-agent.js.map +0 -1
  178. package/dist/utils/log-ai-event.js.map +0 -1
  179. package/dist/utils/log-wrapper.js.map +0 -1
  180. package/dist/utils/n8n-binary-loader.js.map +0 -1
  181. package/dist/utils/n8n-json-loader.js.map +0 -1
  182. package/dist/utils/n8n-llm-tracing.js.map +0 -1
  183. package/dist/utils/sse.js.map +0 -1
  184. package/dist/utils/tokenizer/tiktoken.js.map +0 -1
  185. package/dist/utils/tokenizer/token-estimator.js.map +0 -1
  186. /package/dist/{adapters → cjs/adapters}/langchain-history.d.ts +0 -0
  187. /package/dist/{adapters → cjs/adapters}/langchain-memory.d.ts +0 -0
  188. /package/dist/{chat-model → cjs/chat-model}/base.d.ts +0 -0
  189. /package/dist/{converters → cjs/converters}/tool.d.ts +0 -0
  190. /package/dist/{guards.d.ts → cjs/guards.d.ts} +0 -0
  191. /package/dist/{memory → cjs/memory}/base-chat-history.d.ts +0 -0
  192. /package/dist/{memory → cjs/memory}/base-chat-memory.d.ts +0 -0
  193. /package/dist/{memory → cjs/memory}/windowed-chat-memory.d.ts +0 -0
  194. /package/dist/{suppliers → cjs/suppliers}/supplyMemory.d.ts +0 -0
  195. /package/dist/{types → cjs/types}/chat-model.d.ts +0 -0
  196. /package/dist/{types → cjs/types}/json.d.ts +0 -0
  197. /package/dist/{types → cjs/types}/memory.d.ts +0 -0
  198. /package/dist/{types → cjs/types}/openai.d.ts +0 -0
  199. /package/dist/{types → cjs/types}/tool.d.ts +0 -0
  200. /package/dist/{utils → cjs/utils}/embeddings-input-validation.d.ts +0 -0
  201. /package/dist/{utils → cjs/utils}/failed-attempt-handler/n8nDefaultFailedAttemptHandler.d.ts +0 -0
  202. /package/dist/{utils → cjs/utils}/failed-attempt-handler/n8nLlmFailedAttemptHandler.d.ts +0 -0
  203. /package/dist/{utils → cjs/utils}/helpers.d.ts +0 -0
  204. /package/dist/{utils → cjs/utils}/http-proxy-agent.d.ts +0 -0
  205. /package/dist/{utils → cjs/utils}/log-ai-event.d.ts +0 -0
  206. /package/dist/{utils → cjs/utils}/log-wrapper.d.ts +0 -0
  207. /package/dist/{utils → cjs/utils}/n8n-binary-loader.d.ts +0 -0
  208. /package/dist/{utils → cjs/utils}/n8n-json-loader.d.ts +0 -0
  209. /package/dist/{utils → cjs/utils}/n8n-llm-tracing.d.ts +0 -0
  210. /package/dist/{utils → cjs/utils}/tokenizer/cl100k_base.json +0 -0
  211. /package/dist/{utils → cjs/utils}/tokenizer/o200k_base.json +0 -0
  212. /package/dist/{utils → cjs/utils}/tokenizer/tiktoken.d.ts +0 -0
  213. /package/dist/{utils → cjs/utils}/tokenizer/token-estimator.d.ts +0 -0
  214. /package/dist/{adapters → esm/adapters}/langchain-history.js +0 -0
  215. /package/dist/{adapters → esm/adapters}/langchain-memory.js +0 -0
  216. /package/dist/{chat-model → esm/chat-model}/base.js +0 -0
  217. /package/dist/{converters → esm/converters}/tool.js +0 -0
  218. /package/dist/{guards.js → esm/guards.js} +0 -0
  219. /package/dist/{memory → esm/memory}/base-chat-history.js +0 -0
  220. /package/dist/{memory → esm/memory}/base-chat-memory.js +0 -0
  221. /package/dist/{suppliers → esm/suppliers}/supplyMemory.js +0 -0
  222. /package/dist/{types → esm/types}/chat-model.js +0 -0
  223. /package/dist/{types → esm/types}/json.js +0 -0
  224. /package/dist/{types → esm/types}/memory.js +0 -0
  225. /package/dist/{types → esm/types}/message.js +0 -0
  226. /package/dist/{types → esm/types}/openai.js +0 -0
  227. /package/dist/{types → esm/types}/output.js +0 -0
  228. /package/dist/{types → esm/types}/tool.js +0 -0
  229. /package/dist/{utils → esm/utils}/embeddings-input-validation.js +0 -0
  230. /package/dist/{utils → esm/utils}/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js +0 -0
  231. /package/dist/{utils → esm/utils}/failed-attempt-handler/n8nLlmFailedAttemptHandler.js +0 -0
  232. /package/dist/{utils → esm/utils}/helpers.js +0 -0
  233. /package/dist/{utils → esm/utils}/http-proxy-agent.js +0 -0
  234. /package/dist/{utils → esm/utils}/log-ai-event.js +0 -0
  235. /package/dist/{utils → esm/utils}/log-wrapper.js +0 -0
  236. /package/dist/{utils → esm/utils}/n8n-binary-loader.js +0 -0
  237. /package/dist/{utils → esm/utils}/n8n-json-loader.js +0 -0
  238. /package/dist/{utils → esm/utils}/n8n-llm-tracing.js +0 -0
  239. /package/dist/{utils → esm/utils}/tokenizer/tiktoken.js +0 -0
  240. /package/dist/{utils → esm/utils}/tokenizer/token-estimator.js +0 -0
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LangchainAdapter = void 0;
3
+ exports.LangchainChatModelAdapter = void 0;
4
4
  const chat_models_1 = require("@langchain/core/language_models/chat_models");
5
5
  const messages_1 = require("@langchain/core/messages");
6
6
  const outputs_1 = require("@langchain/core/outputs");
@@ -8,7 +8,7 @@ const message_1 = require("../converters/message");
8
8
  const tool_1 = require("../converters/tool");
9
9
  const n8nLlmFailedAttemptHandler_1 = require("../utils/failed-attempt-handler/n8nLlmFailedAttemptHandler");
10
10
  const n8n_llm_tracing_1 = require("../utils/n8n-llm-tracing");
11
- class LangchainAdapter extends chat_models_1.BaseChatModel {
11
+ class LangchainChatModelAdapter extends chat_models_1.BaseChatModel {
12
12
  constructor(chatModel, ctx) {
13
13
  const params = {
14
14
  ...(ctx
@@ -41,13 +41,7 @@ class LangchainAdapter extends chat_models_1.BaseChatModel {
41
41
  async _generate(messages, options) {
42
42
  const transformedMessages = messages.map(message_1.fromLcMessage);
43
43
  const result = await this.chatModel.generate(transformedMessages, options);
44
- const content = [];
45
- if (result.text) {
46
- content.push({
47
- type: 'text',
48
- text: result.text,
49
- });
50
- }
44
+ const lcMessage = (0, message_1.toLcMessage)(result.message);
51
45
  const usage_metadata = result.usage
52
46
  ? {
53
47
  input_tokens: result.usage.promptTokens ?? 0,
@@ -65,28 +59,19 @@ class LangchainAdapter extends chat_models_1.BaseChatModel {
65
59
  : undefined,
66
60
  }
67
61
  : undefined;
68
- const tool_calls = result.toolCalls?.map((tc) => ({
69
- id: tc.id,
70
- name: tc.name,
71
- args: tc.arguments,
72
- type: 'tool_call',
73
- })) ?? [];
74
- const aiMessage = new messages_1.AIMessage({
75
- content,
76
- usage_metadata,
77
- response_metadata: {
78
- ...result.providerMetadata,
79
- model: this.chatModel.modelId,
80
- provider: this.chatModel.provider,
81
- },
82
- id: result.id,
83
- tool_calls,
84
- });
62
+ if (messages_1.AIMessage.isInstance(lcMessage)) {
63
+ lcMessage.usage_metadata = usage_metadata;
64
+ }
65
+ lcMessage.response_metadata = {
66
+ ...result.providerMetadata,
67
+ model: this.chatModel.modelId,
68
+ provider: this.chatModel.provider,
69
+ };
85
70
  return {
86
71
  generations: [
87
72
  {
88
- text: result.text,
89
- message: aiMessage,
73
+ text: lcMessage.text,
74
+ message: lcMessage,
90
75
  },
91
76
  ],
92
77
  llmOutput: {
@@ -99,50 +84,38 @@ class LangchainAdapter extends chat_models_1.BaseChatModel {
99
84
  const genericMessages = messages.map(message_1.fromLcMessage);
100
85
  const stream = this.chatModel.stream(genericMessages, options);
101
86
  for await (const chunk of stream) {
102
- if (chunk.type === 'text-delta' && chunk.textDelta) {
87
+ let lcChunk = undefined;
88
+ if (chunk.type === 'text-delta') {
103
89
  const content = [
104
90
  {
105
91
  type: 'text',
106
- text: chunk.textDelta,
92
+ text: chunk.delta,
107
93
  },
108
94
  ];
109
- const chunkResult = new outputs_1.ChatGenerationChunk({
95
+ lcChunk = new outputs_1.ChatGenerationChunk({
110
96
  message: new messages_1.AIMessageChunk({
111
97
  content,
112
- usage_metadata: chunk.usage
113
- ? {
114
- input_tokens: chunk.usage.promptTokens ?? 0,
115
- output_tokens: chunk.usage.completionTokens ?? 0,
116
- total_tokens: chunk.usage.totalTokens ?? 0,
117
- }
118
- : undefined,
119
98
  }),
120
- text: chunk.textDelta,
99
+ text: chunk.delta,
121
100
  });
122
- yield chunkResult;
123
- await runManager?.handleLLMNewToken(chunkResult.text ?? '', {
124
- prompt: 0,
125
- completion: 0,
126
- }, undefined, undefined, undefined, { chunk: chunkResult });
127
101
  }
128
- else if (chunk.type === 'tool-call-delta' && chunk.toolCallDelta) {
102
+ else if (chunk.type === 'tool-call-delta') {
129
103
  const tool_call_chunks = [
130
104
  {
131
105
  type: 'tool_call_chunk',
132
- id: chunk.toolCallDelta.id,
133
- name: chunk.toolCallDelta.name,
134
- args: chunk.toolCallDelta.argumentsDelta,
106
+ id: chunk.id,
107
+ name: chunk.name,
108
+ args: chunk.argumentsDelta,
135
109
  index: 0,
136
110
  },
137
111
  ];
138
- const chunkResult = new outputs_1.ChatGenerationChunk({
112
+ lcChunk = new outputs_1.ChatGenerationChunk({
139
113
  message: new messages_1.AIMessageChunk({
140
114
  content: '',
141
115
  tool_call_chunks,
142
116
  }),
143
117
  text: '',
144
118
  });
145
- yield chunkResult;
146
119
  }
147
120
  else if (chunk.type === 'finish') {
148
121
  const usage_metadata = chunk.usage
@@ -152,7 +125,7 @@ class LangchainAdapter extends chat_models_1.BaseChatModel {
152
125
  total_tokens: chunk.usage.totalTokens ?? 0,
153
126
  }
154
127
  : undefined;
155
- const chunkResult = new outputs_1.ChatGenerationChunk({
128
+ lcChunk = new outputs_1.ChatGenerationChunk({
156
129
  message: new messages_1.AIMessageChunk({
157
130
  content: '',
158
131
  usage_metadata,
@@ -165,16 +138,54 @@ class LangchainAdapter extends chat_models_1.BaseChatModel {
165
138
  finish_reason: chunk.finishReason,
166
139
  },
167
140
  });
168
- yield chunkResult;
141
+ }
142
+ else if (chunk.type === 'error') {
143
+ lcChunk = new outputs_1.ChatGenerationChunk({
144
+ message: new messages_1.AIMessageChunk({
145
+ content: '',
146
+ response_metadata: {
147
+ finish_reason: 'error',
148
+ error: chunk.error,
149
+ },
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 });
169
180
  }
170
181
  }
171
182
  }
172
183
  bindTools(tools) {
173
184
  const genericTools = tools.map(tool_1.fromLcTool);
174
185
  const newModel = this.chatModel.withTools(genericTools);
175
- const newAdapter = new LangchainAdapter(newModel, this.ctx);
186
+ const newAdapter = new LangchainChatModelAdapter(newModel, this.ctx);
176
187
  return newAdapter;
177
188
  }
178
189
  }
179
- exports.LangchainAdapter = LangchainAdapter;
190
+ exports.LangchainChatModelAdapter = LangchainChatModelAdapter;
180
191
  //# sourceMappingURL=langchain-chat-model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langchain-chat-model.js","sourceRoot":"","sources":["../../../src/adapters/langchain-chat-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { BaseListChatMessageHistory } from '@langchain/core/chat_history';
2
+ import type { BaseMessage } from '@langchain/core/messages';
3
+ import type { ChatHistory } from '../types/memory';
4
+ export declare class LangchainHistoryAdapter extends BaseListChatMessageHistory {
5
+ private readonly history;
6
+ lc_namespace: string[];
7
+ constructor(history: ChatHistory);
8
+ getMessages(): Promise<BaseMessage[]>;
9
+ addMessage(message: BaseMessage): Promise<void>;
10
+ addMessages(messages: BaseMessage[]): Promise<void>;
11
+ clear(): Promise<void>;
12
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langchain-history.js","sourceRoot":"","sources":["../../../src/adapters/langchain-history.ts"],"names":[],"mappings":";;;AAAA,+DAA0E;AAG1E,mDAAmE;AAGnE,MAAa,uBAAwB,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;AAvBD,0DAuBC"}
@@ -0,0 +1,11 @@
1
+ import { BaseChatMemory as LangchainBaseChatMemory } from '@langchain/community/memory/chat_memory';
2
+ import type { InputValues, MemoryVariables, OutputValues } from '@langchain/core/memory';
3
+ import type { ChatMemory } from '../types/memory';
4
+ export declare class LangchainMemoryAdapter extends LangchainBaseChatMemory {
5
+ private readonly memory;
6
+ constructor(memory: ChatMemory);
7
+ get memoryKeys(): string[];
8
+ loadMemoryVariables(_values: InputValues): Promise<MemoryVariables>;
9
+ saveContext(inputValues: InputValues, outputValues: OutputValues): Promise<void>;
10
+ clear(): Promise<void>;
11
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"langchain-memory.js","sourceRoot":"","sources":["../../../src/adapters/langchain-memory.ts"],"names":[],"mappings":";;;AAAA,yEAAoG;AAGpG,2DAA8D;AAC9D,mDAAoD;AAGpD,MAAa,sBAAuB,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;QANyB,WAAM,GAAN,MAAM,CAAY;IAO/C,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;AA9BD,wDA8BC"}
@@ -0,0 +1 @@
1
+ export declare const AI_NODE_SDK_VERSION: number;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AI_NODE_SDK_VERSION = void 0;
4
+ exports.AI_NODE_SDK_VERSION = 1;
5
+ //# sourceMappingURL=ai-node-sdk-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-node-sdk-version.js","sourceRoot":"","sources":["../../src/ai-node-sdk-version.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAW,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ChatModel, ChatModelConfig } from '../types/chat-model';
2
+ import type { Message } from '../types/message';
3
+ import type { GenerateResult, StreamChunk } from '../types/output';
4
+ import type { Tool } from '../types/tool';
5
+ export declare abstract class BaseChatModel<TConfig extends ChatModelConfig = ChatModelConfig> implements ChatModel<TConfig> {
6
+ provider: string;
7
+ modelId: string;
8
+ defaultConfig?: TConfig | undefined;
9
+ protected tools: Tool[];
10
+ constructor(provider: string, modelId: string, defaultConfig?: TConfig | undefined, tools?: Tool[]);
11
+ abstract generate(messages: Message[], config?: TConfig): Promise<GenerateResult>;
12
+ abstract stream(messages: Message[], config?: TConfig): AsyncIterable<StreamChunk>;
13
+ withTools(tools: Tool[]): ChatModel<TConfig>;
14
+ protected mergeConfig(config?: TConfig): ChatModelConfig;
15
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/chat-model/base.ts"],"names":[],"mappings":";;;AAKA,MAAsB,aAAa;IAGlC,YACQ,QAAgB,EAChB,OAAe,EACf,aAAuB,EACpB,QAAgB,EAAE;QAHrB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,YAAO,GAAP,OAAO,CAAQ;QACf,kBAAa,GAAb,aAAa,CAAU;QACpB,UAAK,GAAL,KAAK,CAAa;IAC1B,CAAC;IAUJ,SAAS,CAAC,KAAa;QAEtB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAW,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACjC,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC;QAC9C,OAAO,WAAW,CAAC;IACpB,CAAC;IAKS,WAAW,CAAC,MAAgB;QACrC,OAAO;YACN,GAAG,IAAI,CAAC,aAAa;YACrB,GAAG,MAAM;SACT,CAAC;IACH,CAAC;CACD;AAnCD,sCAmCC"}
@@ -0,0 +1,7 @@
1
+ import * as LangchainMessages from '@langchain/core/messages';
2
+ import type * as N8nMessages from '../types/message';
3
+ import type { Message } from '../types/message';
4
+ export declare function fromLcContent(content: string | LangchainMessages.ContentBlock | LangchainMessages.ContentBlock[]): N8nMessages.MessageContent[];
5
+ export declare function fromLcMessage(msg: LangchainMessages.BaseMessage): N8nMessages.Message;
6
+ export declare function toLcContent(block: N8nMessages.MessageContent): LangchainMessages.ContentBlock;
7
+ export declare function toLcMessage(message: Message): LangchainMessages.BaseMessage;
@@ -33,7 +33,9 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.fromLcContent = fromLcContent;
36
37
  exports.fromLcMessage = fromLcMessage;
38
+ exports.toLcContent = toLcContent;
37
39
  exports.toLcMessage = toLcMessage;
38
40
  const LangchainMessages = __importStar(require("@langchain/core/messages"));
39
41
  const n8n_workflow_1 = require("n8n-workflow");
@@ -49,6 +51,9 @@ function isN8nFileBlock(block) {
49
51
  function isN8nToolCallBlock(block) {
50
52
  return block.type === 'tool-call';
51
53
  }
54
+ function isN8nInvalidToolCallBlock(block) {
55
+ return block.type === 'invalid-tool-call';
56
+ }
52
57
  function isN8nToolResultBlock(block) {
53
58
  return block.type === 'tool-result';
54
59
  }
@@ -62,14 +67,14 @@ function fromLcRole(role) {
62
67
  switch (role) {
63
68
  case 'system':
64
69
  return 'system';
65
- case 'human':
66
- return 'human';
67
- case 'ai':
68
- return 'ai';
70
+ case 'user':
71
+ return 'user';
72
+ case 'assistant':
73
+ return 'assistant';
69
74
  case 'tool':
70
75
  return 'tool';
71
76
  default:
72
- return 'human';
77
+ return 'user';
73
78
  }
74
79
  }
75
80
  function isTextBlock(block) {
@@ -92,7 +97,7 @@ function isInvalidToolCallBlock(block) {
92
97
  return block.type === 'invalid_tool_call';
93
98
  }
94
99
  function isToolResultBlock(block) {
95
- return block.type === 'tool-result';
100
+ return block.type === 'server_tool_call_result';
96
101
  }
97
102
  function isCitationBlock(block) {
98
103
  return (typeof block === 'object' && block !== null && 'type' in block && block.type === 'citation');
@@ -119,13 +124,13 @@ function fromLcContent(content) {
119
124
  text: block.text,
120
125
  };
121
126
  }
122
- if (isReasoningBlock(block)) {
127
+ else if (isReasoningBlock(block)) {
123
128
  content = {
124
129
  type: 'reasoning',
125
130
  text: block.reasoning,
126
131
  };
127
132
  }
128
- if (isFileBlock(block)) {
133
+ else if (isFileBlock(block)) {
129
134
  let metadata = {};
130
135
  if (block.metadata) {
131
136
  metadata = block.metadata;
@@ -143,7 +148,7 @@ function fromLcContent(content) {
143
148
  providerMetadata: Object.keys(metadata).length > 0 ? metadata : undefined,
144
149
  };
145
150
  }
146
- if (isToolCallBlock(block)) {
151
+ else if (isToolCallBlock(block)) {
147
152
  content = {
148
153
  type: 'tool-call',
149
154
  toolCallId: block.id,
@@ -151,15 +156,16 @@ function fromLcContent(content) {
151
156
  input: JSON.stringify(block.args),
152
157
  };
153
158
  }
154
- if (isInvalidToolCallBlock(block)) {
159
+ else if (isInvalidToolCallBlock(block)) {
155
160
  content = {
156
- type: 'tool-result',
161
+ type: 'invalid-tool-call',
157
162
  toolCallId: block.id,
158
- result: block.error,
159
- isError: true,
163
+ error: block.error,
164
+ args: block.args,
165
+ name: block.name,
160
166
  };
161
167
  }
162
- if (isToolResultBlock(block)) {
168
+ else if (isToolResultBlock(block)) {
163
169
  content = {
164
170
  type: 'tool-result',
165
171
  toolCallId: block.toolCallId,
@@ -167,7 +173,7 @@ function fromLcContent(content) {
167
173
  isError: block.status === 'error',
168
174
  };
169
175
  }
170
- if (isCitationBlock(block)) {
176
+ else if (isCitationBlock(block)) {
171
177
  content = {
172
178
  type: 'citation',
173
179
  source: block.source,
@@ -178,15 +184,12 @@ function fromLcContent(content) {
178
184
  text: block.citedText,
179
185
  };
180
186
  }
181
- if (isNonStandardBlock(block)) {
187
+ else if (isNonStandardBlock(block)) {
182
188
  content = {
183
189
  type: 'provider',
184
190
  value: block.value,
185
191
  };
186
192
  }
187
- if (!content) {
188
- return null;
189
- }
190
193
  return content;
191
194
  })
192
195
  .filter((content) => content !== null);
@@ -223,7 +226,7 @@ function fromLcMessage(msg) {
223
226
  content.push(...mappedToolsCalls);
224
227
  }
225
228
  return {
226
- role: 'ai',
229
+ role: 'assistant',
227
230
  content,
228
231
  id: msg.id,
229
232
  name: msg.name,
@@ -239,7 +242,7 @@ function fromLcMessage(msg) {
239
242
  }
240
243
  if (LangchainMessages.HumanMessage.isInstance(msg)) {
241
244
  return {
242
- role: 'human',
245
+ role: 'user',
243
246
  content: fromLcContent(msg.content),
244
247
  id: msg.id,
245
248
  name: msg.name,
@@ -281,6 +284,15 @@ function toLcContent(block) {
281
284
  args: (0, n8n_workflow_1.jsonParse)(block.input, { fallbackValue: {} }),
282
285
  };
283
286
  }
287
+ if (isN8nInvalidToolCallBlock(block)) {
288
+ return {
289
+ type: 'invalid_tool_call',
290
+ id: block.toolCallId,
291
+ error: block.error,
292
+ args: block.args,
293
+ name: block.name,
294
+ };
295
+ }
284
296
  if (isN8nToolResultBlock(block)) {
285
297
  return {
286
298
  type: 'server_tool_call_result',
@@ -306,12 +318,10 @@ function toLcContent(block) {
306
318
  value: block.value,
307
319
  };
308
320
  }
309
- return null;
321
+ throw new Error(`Failed to convert to Langchain content block: ${JSON.stringify(block)}`);
310
322
  }
311
323
  function toLcMessage(message) {
312
- const lcContent = message.content
313
- .map(toLcContent)
314
- .filter((c) => c !== null);
324
+ const lcContent = message.content.map(toLcContent);
315
325
  switch (message.role) {
316
326
  case 'system':
317
327
  return new LangchainMessages.SystemMessage({
@@ -319,14 +329,17 @@ function toLcMessage(message) {
319
329
  id: message.id,
320
330
  name: message.name,
321
331
  });
322
- case 'human':
332
+ case 'user':
323
333
  return new LangchainMessages.HumanMessage({
324
334
  content: lcContent,
325
335
  id: message.id,
326
336
  name: message.name,
327
337
  });
328
- case 'ai': {
329
- const toolCalls = message.content.filter(isN8nToolCallBlock).map((c) => ({
338
+ case 'assistant': {
339
+ const toolCalls = message.content
340
+ .filter(isN8nToolCallBlock)
341
+ .map((c) => ({
342
+ type: 'tool_call',
330
343
  id: c.toolCallId,
331
344
  name: c.toolName,
332
345
  args: (0, n8n_workflow_1.jsonParse)(c.input, { fallbackValue: {} }),
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/converters/message.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type * as LangchainChatModels from '@langchain/core/language_models/chat_models';
2
+ import type { JSONSchema7 } from 'json-schema';
3
+ import type * as N8nTools from '../types/tool';
4
+ export declare function fromLcTool(tool: LangchainChatModels.BindToolsInput): N8nTools.Tool;
5
+ export declare function getParametersJsonSchema(tool: N8nTools.FunctionTool): JSONSchema7;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/converters/tool.ts"],"names":[],"mappings":";;;;;AAYA,gCAuCC;AAED,0DASC;AA1DD,6BAAiD;AACjD,4EAAiD;AAOjD,SAAgB,UAAU,CAAC,IAAwC;IAClE,IAAI,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QAC1C,MAAM,cAAc,GAAG,IAAqC,CAAC;QAC7D,OAAO;YACN,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,WAAW,EAAE,cAAc,CAAC,MAAkC;SAC9D,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACxC,MAAM,cAAc,GAAG,IAA4C,CAAC;QACpE,OAAO;YACN,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,WAAW,EAAE,cAAc,CAAC,MAAkC;SAC9D,CAAC;IACH,CAAC;IACD,IAAI,MAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACxC,MAAM,cAAc,GAAG,IAAqC,CAAC;QAC7D,OAAO;YACN,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,WAAW,EAAE,cAAc,CAAC,MAAkC;SAC9D,CAAC;IACH,CAAC;IACD,IAAI,UAAU,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACtE,MAAM,YAAY,GAAG,IAAI,CAAC,QAA8B,CAAC;QACzD,OAAO;YACN,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,WAAW,EAAE,YAAY,CAAC,UAAyB;SACnD,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/E,CAAC;AAED,SAAgB,uBAAuB,CAAC,IAA2B;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;IAChC,IAAI,MAAM,YAAY,eAAS,EAAE,CAAC;QACjC,IAAI,cAAc,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YAC3E,OAAO,MAAM,CAAC,YAAY,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,IAAA,4BAAe,EAAC,MAAM,CAAgB,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { BaseChatMemory } from '@langchain/classic/memory';
2
+ import type { BaseChatMessageHistory } from '@langchain/core/chat_history';
3
+ import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
4
+ import type { Tool } from '@langchain/core/tools';
5
+ export declare function isBaseChatMemory(obj: unknown): obj is BaseChatMemory;
6
+ export declare function isBaseChatMessageHistory(obj: unknown): obj is BaseChatMessageHistory;
7
+ export declare function isChatInstance(model: unknown): model is BaseChatModel;
8
+ export declare function isToolsInstance(model: unknown): model is Tool;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/guards.ts"],"names":[],"mappings":";;AAgBA,4CAEC;AAED,4DAEC;AAED,wCAIC;AAED,0CAIC;AA5BD,SAAS,UAAU,CAAI,GAAY,EAAE,GAAG,WAAmC;IAC1E,OAAO,WAAW,CAAC,KAAK,CACvB,CAAC,UAAU,EAAE,EAAE,CACd,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,KAAK,IAAI;QACZ,UAAU,IAAI,GAAG;QACjB,OAAQ,GAAwC,CAAC,UAAU,CAAC,KAAK,UAAU,CAC5E,CAAC;AACH,CAAC;AAED,SAAgB,gBAAgB,CAAC,GAAY;IAC5C,OAAO,UAAU,CAAiB,GAAG,EAAE,qBAAqB,EAAE,aAAa,CAAC,CAAC;AAC9E,CAAC;AAED,SAAgB,wBAAwB,CAAC,GAAY;IACpD,OAAO,UAAU,CAAyB,GAAG,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AAC7E,CAAC;AAED,SAAgB,cAAc,CAAC,KAAc;IAC5C,MAAM,SAAS,GAAI,KAAiB,EAAE,YAAY,IAAI,EAAE,CAAC;IAEzD,OAAO,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,eAAe,CAAC,KAAc;IAC7C,MAAM,SAAS,GAAI,KAAc,EAAE,YAAY,IAAI,EAAE,CAAC;IAEtD,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,30 @@
1
+ export { AI_NODE_SDK_VERSION } from './ai-node-sdk-version';
2
+ export { logWrapper } from './utils/log-wrapper';
3
+ export { logAiEvent } from './utils/log-ai-event';
4
+ export { parseSSEStream } from './utils/sse';
5
+ export { validateEmbedQueryInput, validateEmbedDocumentsInput, } from './utils/embeddings-input-validation';
6
+ export { getMetadataFiltersValues, hasLongSequentialRepeat } from './utils/helpers';
7
+ export { N8nBinaryLoader } from './utils/n8n-binary-loader';
8
+ export { N8nJsonLoader } from './utils/n8n-json-loader';
9
+ export { N8nLlmTracing } from './utils/n8n-llm-tracing';
10
+ export { estimateTokensFromStringList, estimateTokensByCharCount, estimateTextSplitsByTokens, } from './utils/tokenizer/token-estimator';
11
+ export { encodingForModel, getEncoding } from './utils/tokenizer/tiktoken';
12
+ export { makeN8nLlmFailedAttemptHandler } from './utils/failed-attempt-handler/n8nLlmFailedAttemptHandler';
13
+ export { getProxyAgent, getNodeProxyAgent, proxyFetch, type AgentTimeoutOptions, } from './utils/http-proxy-agent';
14
+ export type { ServerSentEventMessage } from './utils/sse';
15
+ export { getParametersJsonSchema } from './converters/tool';
16
+ export { fromLcMessage, toLcMessage, toLcContent, fromLcContent } from './converters/message';
17
+ export { isBaseChatMemory, isBaseChatMessageHistory, isChatInstance, isToolsInstance, } from './guards';
18
+ export type { ChatModel, ChatModelConfig } from './types/chat-model';
19
+ export type { ChatHistory, ChatMemory } from './types/memory';
20
+ export type { GenerateResult, StreamChunk, TokenUsage, FinishReason } from './types/output';
21
+ export type { Tool, ToolResult, ToolCall, ProviderTool } from './types/tool';
22
+ export type { Message, ContentFile, ContentMetadata, ContentReasoning, ContentText, ContentToolCall, ContentToolResult, MessageContent, MessageRole, } from './types/message';
23
+ export type { JSONArray, JSONObject, JSONValue } from './types/json';
24
+ export { LangchainChatModelAdapter } from './adapters/langchain-chat-model';
25
+ export { BaseChatModel } from './chat-model/base';
26
+ export { BaseChatHistory } from './memory/base-chat-history';
27
+ export { BaseChatMemory } from './memory/base-chat-memory';
28
+ export { WindowedChatMemory, type WindowedChatMemoryConfig } from './memory/windowed-chat-memory';
29
+ export { supplyMemory, type SupplyMemoryOptions } from './suppliers/supplyMemory';
30
+ export { supplyModel, type SupplyModelOptions, type OpenAiModel } from './suppliers/supplyModel';
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.supplyMemory = exports.WindowedChatMemory = exports.BaseChatMemory = exports.BaseChatHistory = exports.supplyModel = exports.getParametersJsonSchema = exports.BaseChatModel = exports.LangchainAdapter = exports.isToolsInstance = exports.isChatInstance = exports.isBaseChatMessageHistory = exports.isBaseChatMemory = exports.proxyFetch = exports.getNodeProxyAgent = exports.getProxyAgent = exports.makeN8nLlmFailedAttemptHandler = exports.getEncoding = exports.encodingForModel = exports.estimateTextSplitsByTokens = exports.estimateTokensByCharCount = exports.estimateTokensFromStringList = exports.N8nLlmTracing = exports.N8nJsonLoader = exports.N8nBinaryLoader = exports.hasLongSequentialRepeat = exports.getMetadataFiltersValues = exports.validateEmbedDocumentsInput = exports.validateEmbedQueryInput = exports.parseSSEStream = exports.logAiEvent = exports.logWrapper = void 0;
3
+ exports.supplyModel = exports.supplyMemory = exports.WindowedChatMemory = exports.BaseChatMemory = exports.BaseChatHistory = exports.BaseChatModel = exports.LangchainChatModelAdapter = exports.isToolsInstance = exports.isChatInstance = exports.isBaseChatMessageHistory = exports.isBaseChatMemory = exports.fromLcContent = exports.toLcContent = exports.toLcMessage = exports.fromLcMessage = exports.getParametersJsonSchema = exports.proxyFetch = exports.getNodeProxyAgent = exports.getProxyAgent = exports.makeN8nLlmFailedAttemptHandler = exports.getEncoding = exports.encodingForModel = exports.estimateTextSplitsByTokens = exports.estimateTokensByCharCount = exports.estimateTokensFromStringList = exports.N8nLlmTracing = exports.N8nJsonLoader = exports.N8nBinaryLoader = exports.hasLongSequentialRepeat = exports.getMetadataFiltersValues = exports.validateEmbedDocumentsInput = exports.validateEmbedQueryInput = exports.parseSSEStream = exports.logAiEvent = exports.logWrapper = exports.AI_NODE_SDK_VERSION = void 0;
4
+ var ai_node_sdk_version_1 = require("./ai-node-sdk-version");
5
+ Object.defineProperty(exports, "AI_NODE_SDK_VERSION", { enumerable: true, get: function () { return ai_node_sdk_version_1.AI_NODE_SDK_VERSION; } });
4
6
  var log_wrapper_1 = require("./utils/log-wrapper");
5
7
  Object.defineProperty(exports, "logWrapper", { enumerable: true, get: function () { return log_wrapper_1.logWrapper; } });
6
8
  var log_ai_event_1 = require("./utils/log-ai-event");
@@ -32,19 +34,22 @@ var http_proxy_agent_1 = require("./utils/http-proxy-agent");
32
34
  Object.defineProperty(exports, "getProxyAgent", { enumerable: true, get: function () { return http_proxy_agent_1.getProxyAgent; } });
33
35
  Object.defineProperty(exports, "getNodeProxyAgent", { enumerable: true, get: function () { return http_proxy_agent_1.getNodeProxyAgent; } });
34
36
  Object.defineProperty(exports, "proxyFetch", { enumerable: true, get: function () { return http_proxy_agent_1.proxyFetch; } });
37
+ var tool_1 = require("./converters/tool");
38
+ Object.defineProperty(exports, "getParametersJsonSchema", { enumerable: true, get: function () { return tool_1.getParametersJsonSchema; } });
39
+ var message_1 = require("./converters/message");
40
+ Object.defineProperty(exports, "fromLcMessage", { enumerable: true, get: function () { return message_1.fromLcMessage; } });
41
+ Object.defineProperty(exports, "toLcMessage", { enumerable: true, get: function () { return message_1.toLcMessage; } });
42
+ Object.defineProperty(exports, "toLcContent", { enumerable: true, get: function () { return message_1.toLcContent; } });
43
+ Object.defineProperty(exports, "fromLcContent", { enumerable: true, get: function () { return message_1.fromLcContent; } });
35
44
  var guards_1 = require("./guards");
36
45
  Object.defineProperty(exports, "isBaseChatMemory", { enumerable: true, get: function () { return guards_1.isBaseChatMemory; } });
37
46
  Object.defineProperty(exports, "isBaseChatMessageHistory", { enumerable: true, get: function () { return guards_1.isBaseChatMessageHistory; } });
38
47
  Object.defineProperty(exports, "isChatInstance", { enumerable: true, get: function () { return guards_1.isChatInstance; } });
39
48
  Object.defineProperty(exports, "isToolsInstance", { enumerable: true, get: function () { return guards_1.isToolsInstance; } });
40
49
  var langchain_chat_model_1 = require("./adapters/langchain-chat-model");
41
- Object.defineProperty(exports, "LangchainAdapter", { enumerable: true, get: function () { return langchain_chat_model_1.LangchainAdapter; } });
50
+ Object.defineProperty(exports, "LangchainChatModelAdapter", { enumerable: true, get: function () { return langchain_chat_model_1.LangchainChatModelAdapter; } });
42
51
  var base_1 = require("./chat-model/base");
43
52
  Object.defineProperty(exports, "BaseChatModel", { enumerable: true, get: function () { return base_1.BaseChatModel; } });
44
- var tool_1 = require("./converters/tool");
45
- Object.defineProperty(exports, "getParametersJsonSchema", { enumerable: true, get: function () { return tool_1.getParametersJsonSchema; } });
46
- var supplyModel_1 = require("./suppliers/supplyModel");
47
- Object.defineProperty(exports, "supplyModel", { enumerable: true, get: function () { return supplyModel_1.supplyModel; } });
48
53
  var base_chat_history_1 = require("./memory/base-chat-history");
49
54
  Object.defineProperty(exports, "BaseChatHistory", { enumerable: true, get: function () { return base_chat_history_1.BaseChatHistory; } });
50
55
  var base_chat_memory_1 = require("./memory/base-chat-memory");
@@ -53,4 +58,6 @@ var windowed_chat_memory_1 = require("./memory/windowed-chat-memory");
53
58
  Object.defineProperty(exports, "WindowedChatMemory", { enumerable: true, get: function () { return windowed_chat_memory_1.WindowedChatMemory; } });
54
59
  var supplyMemory_1 = require("./suppliers/supplyMemory");
55
60
  Object.defineProperty(exports, "supplyMemory", { enumerable: true, get: function () { return supplyMemory_1.supplyMemory; } });
61
+ var supplyModel_1 = require("./suppliers/supplyModel");
62
+ Object.defineProperty(exports, "supplyModel", { enumerable: true, get: function () { return supplyModel_1.supplyModel; } });
56
63
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AACA,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAG5B,mDAAiD;AAAxC,yGAAA,UAAU,OAAA;AACnB,qDAAkD;AAAzC,0GAAA,UAAU,OAAA;AACnB,mCAA6C;AAApC,qGAAA,cAAc,OAAA;AACvB,mFAG6C;AAF5C,sIAAA,uBAAuB,OAAA;AACvB,0IAAA,2BAA2B,OAAA;AAE5B,2CAAoF;AAA3E,mHAAA,wBAAwB,OAAA;AAAE,kHAAA,uBAAuB,OAAA;AAC1D,+DAA4D;AAAnD,oHAAA,eAAe,OAAA;AACxB,2DAAwD;AAA/C,gHAAA,aAAa,OAAA;AACtB,2DAAwD;AAA/C,gHAAA,aAAa,OAAA;AACtB,qEAI2C;AAH1C,+HAAA,4BAA4B,OAAA;AAC5B,4HAAA,yBAAyB,OAAA;AACzB,6HAAA,0BAA0B,OAAA;AAE3B,uDAA2E;AAAlE,4GAAA,gBAAgB,OAAA;AAAE,uGAAA,WAAW,OAAA;AACtC,wGAA2G;AAAlG,4IAAA,8BAA8B,OAAA;AACvC,6DAKkC;AAJjC,iHAAA,aAAa,OAAA;AACb,qHAAA,iBAAiB,OAAA;AACjB,8GAAA,UAAU,OAAA;AAMX,0CAA4D;AAAnD,+GAAA,uBAAuB,OAAA;AAChC,gDAA8F;AAArF,wGAAA,aAAa,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,wGAAA,aAAa,OAAA;AAG/D,mCAKkB;AAJjB,0GAAA,gBAAgB,OAAA;AAChB,kHAAA,wBAAwB,OAAA;AACxB,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AAsBhB,wEAA4E;AAAnE,iIAAA,yBAAyB,OAAA;AAClC,0CAAkD;AAAzC,qGAAA,aAAa,OAAA;AAGtB,gEAA6D;AAApD,oHAAA,eAAe,OAAA;AACxB,8DAA2D;AAAlD,kHAAA,cAAc,OAAA;AAGvB,sEAAkG;AAAzF,0HAAA,kBAAkB,OAAA;AAG3B,yDAAkF;AAAzE,4GAAA,YAAY,OAAA;AACrB,uDAAiG;AAAxF,0GAAA,WAAW,OAAA"}
@@ -0,0 +1,8 @@
1
+ import type { ChatHistory } from '../types/memory';
2
+ import type { Message } from '../types/message';
3
+ export declare abstract class BaseChatHistory implements ChatHistory {
4
+ abstract getMessages(): Promise<Message[]>;
5
+ abstract addMessage(message: Message): Promise<void>;
6
+ addMessages(messages: Message[]): Promise<void>;
7
+ abstract clear(): Promise<void>;
8
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-chat-history.js","sourceRoot":"","sources":["../../../src/memory/base-chat-history.ts"],"names":[],"mappings":";;;AAGA,MAAsB,eAAe;IAKpC,KAAK,CAAC,WAAW,CAAC,QAAmB;QACpC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;CAGD;AAZD,0CAYC"}