@n8n/ai-utilities 0.3.0 → 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 -462
  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 +1 -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 +8 -1
  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/cjs/types/output.js +13 -0
  48. package/dist/{types → cjs/types}/output.js.map +1 -1
  49. package/dist/cjs/types/tool.js +13 -0
  50. package/dist/{types → cjs/types}/tool.js.map +1 -1
  51. package/dist/cjs/utils/embeddings-input-validation.js +38 -0
  52. package/dist/cjs/utils/embeddings-input-validation.js.map +1 -0
  53. package/dist/cjs/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js +40 -0
  54. package/dist/cjs/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js.map +1 -0
  55. package/dist/cjs/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js +38 -0
  56. package/dist/cjs/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js.map +1 -0
  57. package/dist/cjs/utils/helpers.js +63 -0
  58. package/dist/cjs/utils/helpers.js.map +1 -0
  59. package/dist/cjs/utils/http-proxy-agent.js +58 -0
  60. package/dist/cjs/utils/http-proxy-agent.js.map +1 -0
  61. package/dist/cjs/utils/log-ai-event.js +23 -0
  62. package/dist/cjs/utils/log-ai-event.js.map +1 -0
  63. package/dist/cjs/utils/log-wrapper.js +339 -0
  64. package/dist/cjs/utils/log-wrapper.js.map +1 -0
  65. package/dist/cjs/utils/n8n-binary-loader.js +169 -0
  66. package/dist/cjs/utils/n8n-binary-loader.js.map +1 -0
  67. package/dist/cjs/utils/n8n-json-loader.js +76 -0
  68. package/dist/cjs/utils/n8n-json-loader.js.map +1 -0
  69. package/dist/cjs/utils/n8n-llm-tracing.js +167 -0
  70. package/dist/cjs/utils/n8n-llm-tracing.js.map +1 -0
  71. package/dist/{utils → cjs/utils}/sse.d.ts +1 -1
  72. package/dist/cjs/utils/sse.js +107 -0
  73. package/dist/cjs/utils/sse.js.map +1 -0
  74. package/dist/cjs/utils/tokenizer/tiktoken.js +50 -0
  75. package/dist/cjs/utils/tokenizer/tiktoken.js.map +1 -0
  76. package/dist/cjs/utils/tokenizer/token-estimator.js +108 -0
  77. package/dist/cjs/utils/tokenizer/token-estimator.js.map +1 -0
  78. package/dist/esm/adapters/langchain-chat-model.d.ts +20 -0
  79. package/dist/{adapters → esm/adapters}/langchain-chat-model.js +4 -4
  80. package/dist/esm/adapters/langchain-chat-model.js.map +1 -0
  81. package/dist/esm/adapters/langchain-history.d.ts +12 -0
  82. package/dist/esm/adapters/langchain-history.js.map +1 -0
  83. package/dist/esm/adapters/langchain-memory.d.ts +11 -0
  84. package/dist/esm/adapters/langchain-memory.js.map +1 -0
  85. package/dist/esm/ai-node-sdk-version.d.ts +1 -0
  86. package/dist/esm/ai-node-sdk-version.js +5 -0
  87. package/dist/esm/ai-node-sdk-version.js.map +1 -0
  88. package/dist/esm/chat-model/base.d.ts +15 -0
  89. package/dist/esm/chat-model/base.js.map +1 -0
  90. package/dist/esm/converters/message.d.ts +7 -0
  91. package/dist/{converters → esm/converters}/message.js +24 -13
  92. package/dist/esm/converters/message.js.map +1 -0
  93. package/dist/esm/converters/tool.d.ts +5 -0
  94. package/dist/esm/converters/tool.js.map +1 -0
  95. package/dist/esm/guards.d.ts +8 -0
  96. package/dist/esm/guards.js.map +1 -0
  97. package/dist/esm/index.d.ts +30 -0
  98. package/dist/{index.js → esm/index.js} +13 -6
  99. package/dist/esm/index.js.map +1 -0
  100. package/dist/esm/memory/base-chat-history.d.ts +8 -0
  101. package/dist/esm/memory/base-chat-history.js.map +1 -0
  102. package/dist/esm/memory/base-chat-memory.d.ts +8 -0
  103. package/dist/esm/memory/base-chat-memory.js.map +1 -0
  104. package/dist/esm/memory/windowed-chat-memory.d.ts +14 -0
  105. package/dist/esm/memory/windowed-chat-memory.js.map +1 -0
  106. package/dist/esm/suppliers/supplyMemory.d.ts +6 -0
  107. package/dist/esm/suppliers/supplyMemory.js.map +1 -0
  108. package/dist/esm/suppliers/supplyModel.d.ts +8 -0
  109. package/dist/{suppliers → esm/suppliers}/supplyModel.js +1 -1
  110. package/dist/esm/suppliers/supplyModel.js.map +1 -0
  111. package/dist/esm/typecheck.tsbuildinfo +1 -0
  112. package/dist/esm/types/chat-model.d.ts +26 -0
  113. package/dist/esm/types/chat-model.js.map +1 -0
  114. package/dist/esm/types/json.d.ts +5 -0
  115. package/dist/esm/types/json.js.map +1 -0
  116. package/dist/esm/types/memory.d.ts +13 -0
  117. package/dist/esm/types/memory.js.map +1 -0
  118. package/dist/esm/types/message.d.ts +56 -0
  119. package/dist/esm/types/message.js.map +1 -0
  120. package/dist/esm/types/openai.d.ts +39 -0
  121. package/dist/esm/types/openai.js.map +1 -0
  122. package/dist/esm/types/output.d.ts +47 -0
  123. package/dist/esm/types/output.js.map +1 -0
  124. package/dist/esm/types/tool.d.ts +28 -0
  125. package/dist/esm/types/tool.js.map +1 -0
  126. package/dist/esm/utils/embeddings-input-validation.d.ts +3 -0
  127. package/dist/esm/utils/embeddings-input-validation.js.map +1 -0
  128. package/dist/esm/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.d.ts +1 -0
  129. package/dist/esm/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js.map +1 -0
  130. package/dist/esm/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.d.ts +3 -0
  131. package/dist/esm/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js.map +1 -0
  132. package/dist/esm/utils/helpers.d.ts +3 -0
  133. package/dist/esm/utils/helpers.js.map +1 -0
  134. package/dist/esm/utils/http-proxy-agent.d.ts +10 -0
  135. package/dist/esm/utils/http-proxy-agent.js.map +1 -0
  136. package/dist/esm/utils/log-ai-event.d.ts +2 -0
  137. package/dist/esm/utils/log-ai-event.js.map +1 -0
  138. package/dist/esm/utils/log-wrapper.d.ts +28 -0
  139. package/dist/esm/utils/log-wrapper.js.map +1 -0
  140. package/dist/esm/utils/n8n-binary-loader.d.ts +18 -0
  141. package/dist/esm/utils/n8n-binary-loader.js.map +1 -0
  142. package/dist/esm/utils/n8n-json-loader.d.ts +11 -0
  143. package/dist/esm/utils/n8n-json-loader.js.map +1 -0
  144. package/dist/esm/utils/n8n-llm-tracing.d.ts +46 -0
  145. package/dist/esm/utils/n8n-llm-tracing.js.map +1 -0
  146. package/dist/esm/utils/sse.d.ts +8 -0
  147. package/dist/{utils → esm/utils}/sse.js +17 -27
  148. package/dist/esm/utils/sse.js.map +1 -0
  149. package/dist/esm/utils/tokenizer/cl100k_base.json +1 -0
  150. package/dist/esm/utils/tokenizer/o200k_base.json +1 -0
  151. package/dist/esm/utils/tokenizer/tiktoken.d.ts +4 -0
  152. package/dist/esm/utils/tokenizer/tiktoken.js.map +1 -0
  153. package/dist/esm/utils/tokenizer/token-estimator.d.ts +4 -0
  154. package/dist/esm/utils/tokenizer/token-estimator.js.map +1 -0
  155. package/package.json +18 -11
  156. package/dist/adapters/langchain-chat-model.js.map +0 -1
  157. package/dist/adapters/langchain-history.js.map +0 -1
  158. package/dist/adapters/langchain-memory.js.map +0 -1
  159. package/dist/build.tsbuildinfo +0 -1
  160. package/dist/chat-model/base.js.map +0 -1
  161. package/dist/converters/message.js.map +0 -1
  162. package/dist/converters/tool.js.map +0 -1
  163. package/dist/guards.js.map +0 -1
  164. package/dist/index.js.map +0 -1
  165. package/dist/memory/base-chat-history.js.map +0 -1
  166. package/dist/memory/base-chat-memory.js.map +0 -1
  167. package/dist/memory/windowed-chat-memory.js.map +0 -1
  168. package/dist/suppliers/supplyMemory.js.map +0 -1
  169. package/dist/suppliers/supplyModel.d.ts +0 -15
  170. package/dist/suppliers/supplyModel.js.map +0 -1
  171. package/dist/utils/embeddings-input-validation.js.map +0 -1
  172. package/dist/utils/failed-attempt-handler/n8nDefaultFailedAttemptHandler.js.map +0 -1
  173. package/dist/utils/failed-attempt-handler/n8nLlmFailedAttemptHandler.js.map +0 -1
  174. package/dist/utils/helpers.js.map +0 -1
  175. package/dist/utils/http-proxy-agent.js.map +0 -1
  176. package/dist/utils/log-ai-event.js.map +0 -1
  177. package/dist/utils/log-wrapper.js.map +0 -1
  178. package/dist/utils/n8n-binary-loader.js.map +0 -1
  179. package/dist/utils/n8n-json-loader.js.map +0 -1
  180. package/dist/utils/n8n-llm-tracing.js.map +0 -1
  181. package/dist/utils/sse.js.map +0 -1
  182. package/dist/utils/tokenizer/tiktoken.js.map +0 -1
  183. package/dist/utils/tokenizer/token-estimator.js.map +0 -1
  184. /package/dist/{adapters → cjs/adapters}/langchain-history.d.ts +0 -0
  185. /package/dist/{adapters → cjs/adapters}/langchain-memory.d.ts +0 -0
  186. /package/dist/{chat-model → cjs/chat-model}/base.d.ts +0 -0
  187. /package/dist/{converters → cjs/converters}/tool.d.ts +0 -0
  188. /package/dist/{guards.d.ts → cjs/guards.d.ts} +0 -0
  189. /package/dist/{memory → cjs/memory}/base-chat-history.d.ts +0 -0
  190. /package/dist/{memory → cjs/memory}/base-chat-memory.d.ts +0 -0
  191. /package/dist/{memory → cjs/memory}/windowed-chat-memory.d.ts +0 -0
  192. /package/dist/{suppliers → cjs/suppliers}/supplyMemory.d.ts +0 -0
  193. /package/dist/{types → cjs/types}/chat-model.d.ts +0 -0
  194. /package/dist/{types → cjs/types}/json.d.ts +0 -0
  195. /package/dist/{types → cjs/types}/memory.d.ts +0 -0
  196. /package/dist/{types → cjs/types}/openai.d.ts +0 -0
  197. /package/dist/{types → cjs/types}/output.d.ts +0 -0
  198. /package/dist/{types → cjs/types}/tool.d.ts +0 -0
  199. /package/dist/{utils → cjs/utils}/embeddings-input-validation.d.ts +0 -0
  200. /package/dist/{utils → cjs/utils}/failed-attempt-handler/n8nDefaultFailedAttemptHandler.d.ts +0 -0
  201. /package/dist/{utils → cjs/utils}/failed-attempt-handler/n8nLlmFailedAttemptHandler.d.ts +0 -0
  202. /package/dist/{utils → cjs/utils}/helpers.d.ts +0 -0
  203. /package/dist/{utils → cjs/utils}/http-proxy-agent.d.ts +0 -0
  204. /package/dist/{utils → cjs/utils}/log-ai-event.d.ts +0 -0
  205. /package/dist/{utils → cjs/utils}/log-wrapper.d.ts +0 -0
  206. /package/dist/{utils → cjs/utils}/n8n-binary-loader.d.ts +0 -0
  207. /package/dist/{utils → cjs/utils}/n8n-json-loader.d.ts +0 -0
  208. /package/dist/{utils → cjs/utils}/n8n-llm-tracing.d.ts +0 -0
  209. /package/dist/{utils → cjs/utils}/tokenizer/cl100k_base.json +0 -0
  210. /package/dist/{utils → cjs/utils}/tokenizer/o200k_base.json +0 -0
  211. /package/dist/{utils → cjs/utils}/tokenizer/tiktoken.d.ts +0 -0
  212. /package/dist/{utils → cjs/utils}/tokenizer/token-estimator.d.ts +0 -0
  213. /package/dist/{adapters → esm/adapters}/langchain-history.js +0 -0
  214. /package/dist/{adapters → esm/adapters}/langchain-memory.js +0 -0
  215. /package/dist/{chat-model → esm/chat-model}/base.js +0 -0
  216. /package/dist/{converters → esm/converters}/tool.js +0 -0
  217. /package/dist/{guards.js → esm/guards.js} +0 -0
  218. /package/dist/{memory → esm/memory}/base-chat-history.js +0 -0
  219. /package/dist/{memory → esm/memory}/base-chat-memory.js +0 -0
  220. /package/dist/{memory → esm/memory}/windowed-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
@@ -33,6 +33,7 @@ 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;
37
38
  exports.toLcContent = toLcContent;
38
39
  exports.toLcMessage = toLcMessage;
@@ -50,6 +51,9 @@ function isN8nFileBlock(block) {
50
51
  function isN8nToolCallBlock(block) {
51
52
  return block.type === 'tool-call';
52
53
  }
54
+ function isN8nInvalidToolCallBlock(block) {
55
+ return block.type === 'invalid-tool-call';
56
+ }
53
57
  function isN8nToolResultBlock(block) {
54
58
  return block.type === 'tool-result';
55
59
  }
@@ -120,13 +124,13 @@ function fromLcContent(content) {
120
124
  text: block.text,
121
125
  };
122
126
  }
123
- if (isReasoningBlock(block)) {
127
+ else if (isReasoningBlock(block)) {
124
128
  content = {
125
129
  type: 'reasoning',
126
130
  text: block.reasoning,
127
131
  };
128
132
  }
129
- if (isFileBlock(block)) {
133
+ else if (isFileBlock(block)) {
130
134
  let metadata = {};
131
135
  if (block.metadata) {
132
136
  metadata = block.metadata;
@@ -144,7 +148,7 @@ function fromLcContent(content) {
144
148
  providerMetadata: Object.keys(metadata).length > 0 ? metadata : undefined,
145
149
  };
146
150
  }
147
- if (isToolCallBlock(block)) {
151
+ else if (isToolCallBlock(block)) {
148
152
  content = {
149
153
  type: 'tool-call',
150
154
  toolCallId: block.id,
@@ -152,15 +156,16 @@ function fromLcContent(content) {
152
156
  input: JSON.stringify(block.args),
153
157
  };
154
158
  }
155
- if (isInvalidToolCallBlock(block)) {
159
+ else if (isInvalidToolCallBlock(block)) {
156
160
  content = {
157
- type: 'tool-result',
161
+ type: 'invalid-tool-call',
158
162
  toolCallId: block.id,
159
- result: block.error,
160
- isError: true,
163
+ error: block.error,
164
+ args: block.args,
165
+ name: block.name,
161
166
  };
162
167
  }
163
- if (isToolResultBlock(block)) {
168
+ else if (isToolResultBlock(block)) {
164
169
  content = {
165
170
  type: 'tool-result',
166
171
  toolCallId: block.toolCallId,
@@ -168,7 +173,7 @@ function fromLcContent(content) {
168
173
  isError: block.status === 'error',
169
174
  };
170
175
  }
171
- if (isCitationBlock(block)) {
176
+ else if (isCitationBlock(block)) {
172
177
  content = {
173
178
  type: 'citation',
174
179
  source: block.source,
@@ -179,15 +184,12 @@ function fromLcContent(content) {
179
184
  text: block.citedText,
180
185
  };
181
186
  }
182
- if (isNonStandardBlock(block)) {
187
+ else if (isNonStandardBlock(block)) {
183
188
  content = {
184
189
  type: 'provider',
185
190
  value: block.value,
186
191
  };
187
192
  }
188
- if (!content) {
189
- return null;
190
- }
191
193
  return content;
192
194
  })
193
195
  .filter((content) => content !== null);
@@ -282,6 +284,15 @@ function toLcContent(block) {
282
284
  args: (0, n8n_workflow_1.jsonParse)(block.input, { fallbackValue: {} }),
283
285
  };
284
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
+ }
285
296
  if (isN8nToolResultBlock(block)) {
286
297
  return {
287
298
  type: 'server_tool_call_result',
@@ -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"}
@@ -0,0 +1,8 @@
1
+ import type { ChatHistory, ChatMemory } from '../types/memory';
2
+ import type { Message } from '../types/message';
3
+ export declare abstract class BaseChatMemory implements ChatMemory {
4
+ abstract readonly chatHistory: ChatHistory;
5
+ abstract loadMessages(): Promise<Message[]>;
6
+ abstract saveTurn(input: string, output: string): Promise<void>;
7
+ abstract clear(): Promise<void>;
8
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-chat-memory.js","sourceRoot":"","sources":["../../../src/memory/base-chat-memory.ts"],"names":[],"mappings":";;;AAGA,MAAsB,cAAc;CAQnC;AARD,wCAQC"}
@@ -0,0 +1,14 @@
1
+ import { BaseChatMemory } from './base-chat-memory';
2
+ import type { ChatHistory } from '../types/memory';
3
+ import type { Message } from '../types/message';
4
+ export interface WindowedChatMemoryConfig {
5
+ windowSize?: number;
6
+ }
7
+ export declare class WindowedChatMemory extends BaseChatMemory {
8
+ readonly chatHistory: ChatHistory;
9
+ private readonly windowSize;
10
+ constructor(chatHistory: ChatHistory, config?: WindowedChatMemoryConfig);
11
+ loadMessages(): Promise<Message[]>;
12
+ saveTurn(input: string, output: string): Promise<void>;
13
+ clear(): Promise<void>;
14
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windowed-chat-memory.js","sourceRoot":"","sources":["../../../src/memory/windowed-chat-memory.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AASpD,MAAa,kBAAmB,SAAQ,iCAAc;IAIrD,YAAY,WAAwB,EAAE,MAAiC;QACtE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,YAAY;QACjB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAEzD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QAExC,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;YACvC,OAAO,WAAW,CAAC;QACpB,CAAC;QAED,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,MAAc;QAC3C,MAAM,YAAY,GAAY;YAC7B,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;SACxC,CAAC;QAEF,MAAM,SAAS,GAAY;YAC1B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SACzC,CAAC;QAEF,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,KAAK;QACV,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACD;AA3CD,gDA2CC"}
@@ -0,0 +1,6 @@
1
+ import type { ISupplyDataFunctions, SupplyData } from 'n8n-workflow';
2
+ import type { ChatMemory } from '../types/memory';
3
+ export interface SupplyMemoryOptions {
4
+ closeFunction?: () => Promise<void>;
5
+ }
6
+ export declare function supplyMemory(context: ISupplyDataFunctions, memory: ChatMemory, options?: SupplyMemoryOptions): SupplyData;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supplyMemory.js","sourceRoot":"","sources":["../../../src/suppliers/supplyMemory.ts"],"names":[],"mappings":";;AAUA,oCAYC;AApBD,mEAAsE;AAEtE,sDAAkD;AAMlD,SAAgB,YAAY,CAC3B,OAA6B,EAC7B,MAAkB,EAClB,OAA6B;IAE7B,MAAM,OAAO,GAAG,IAAI,yCAAsB,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,IAAA,wBAAU,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAEpD,OAAO;QACN,QAAQ,EAAE,cAAc;QACxB,aAAa,EAAE,OAAO,EAAE,aAAa;KACrC,CAAC;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ISupplyDataFunctions, SupplyData } from 'n8n-workflow';
2
+ import type { ChatModel } from '../types/chat-model';
3
+ import type { OpenAIModelOptions } from '../types/openai';
4
+ export type OpenAiModel = OpenAIModelOptions & {
5
+ type: 'openai';
6
+ };
7
+ export type SupplyModelOptions = ChatModel | OpenAiModel;
8
+ export declare function supplyModel(ctx: ISupplyDataFunctions, model: SupplyModelOptions): SupplyData;
@@ -71,7 +71,7 @@ function supplyModel(ctx, model) {
71
71
  response: openAiModel,
72
72
  };
73
73
  }
74
- const adapter = new langchain_chat_model_1.LangchainAdapter(model, ctx);
74
+ const adapter = new langchain_chat_model_1.LangchainChatModelAdapter(model, ctx);
75
75
  return {
76
76
  response: adapter,
77
77
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supplyModel.js","sourceRoot":"","sources":["../../../src/suppliers/supplyModel.ts"],"names":[],"mappings":"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"}