@banumeow/n8n-nodes-oracle-cloud 1.3.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 (70) hide show
  1. package/LICENSE.md +27 -0
  2. package/README.md +36 -0
  3. package/dist/credentials/OciApi.credentials.d.ts +11 -0
  4. package/dist/credentials/OciApi.credentials.js +74 -0
  5. package/dist/credentials/OciApi.credentials.js.map +1 -0
  6. package/dist/credentials/OracleDatabaseApi.credentials.d.ts +11 -0
  7. package/dist/credentials/OracleDatabaseApi.credentials.js +57 -0
  8. package/dist/credentials/OracleDatabaseApi.credentials.js.map +1 -0
  9. package/dist/credentials/icons/oracle.svg +3 -0
  10. package/dist/nodes/OCI/AISpeech/oracle.svg +3 -0
  11. package/dist/nodes/OCI/GenerativeAI/EmbeddingsOciGenerativeAi.node.d.ts +10 -0
  12. package/dist/nodes/OCI/GenerativeAI/EmbeddingsOciGenerativeAi.node.js +105 -0
  13. package/dist/nodes/OCI/GenerativeAI/EmbeddingsOciGenerativeAi.node.js.map +1 -0
  14. package/dist/nodes/OCI/GenerativeAI/LmChatOciGenerativeAi.node.d.ts +10 -0
  15. package/dist/nodes/OCI/GenerativeAI/LmChatOciGenerativeAi.node.js +169 -0
  16. package/dist/nodes/OCI/GenerativeAI/LmChatOciGenerativeAi.node.js.map +1 -0
  17. package/dist/nodes/OCI/GenerativeAI/langchain/ChatOci.d.ts +40 -0
  18. package/dist/nodes/OCI/GenerativeAI/langchain/ChatOci.js +377 -0
  19. package/dist/nodes/OCI/GenerativeAI/langchain/ChatOci.js.map +1 -0
  20. package/dist/nodes/OCI/GenerativeAI/langchain/OciEmbedings.d.ts +21 -0
  21. package/dist/nodes/OCI/GenerativeAI/langchain/OciEmbedings.js +84 -0
  22. package/dist/nodes/OCI/GenerativeAI/langchain/OciEmbedings.js.map +1 -0
  23. package/dist/nodes/OCI/GenerativeAI/oracle.svg +3 -0
  24. package/dist/nodes/OCI/Loaders/SimpleLoaders.d.ts +12 -0
  25. package/dist/nodes/OCI/Loaders/SimpleLoaders.js +58 -0
  26. package/dist/nodes/OCI/Loaders/SimpleLoaders.js.map +1 -0
  27. package/dist/nodes/OCI/N8nBinaryLoader.d.ts +18 -0
  28. package/dist/nodes/OCI/N8nBinaryLoader.js +168 -0
  29. package/dist/nodes/OCI/N8nBinaryLoader.js.map +1 -0
  30. package/dist/nodes/OCI/N8nJsonLoader.d.ts +11 -0
  31. package/dist/nodes/OCI/N8nJsonLoader.js +76 -0
  32. package/dist/nodes/OCI/N8nJsonLoader.js.map +1 -0
  33. package/dist/nodes/OCI/N8nLlmTracing.d.ts +46 -0
  34. package/dist/nodes/OCI/N8nLlmTracing.js +169 -0
  35. package/dist/nodes/OCI/N8nLlmTracing.js.map +1 -0
  36. package/dist/nodes/OCI/SpeechTranscriptionOci/SpeechTranscriptionOci.node.d.ts +5 -0
  37. package/dist/nodes/OCI/SpeechTranscriptionOci/SpeechTranscriptionOci.node.js +416 -0
  38. package/dist/nodes/OCI/SpeechTranscriptionOci/SpeechTranscriptionOci.node.js.map +1 -0
  39. package/dist/nodes/OCI/SpeechTranscriptionOci/oracle.svg +3 -0
  40. package/dist/nodes/OCI/VectorStore/VectorStoreOracle.node.d.ts +5 -0
  41. package/dist/nodes/OCI/VectorStore/VectorStoreOracle.node.js +113 -0
  42. package/dist/nodes/OCI/VectorStore/VectorStoreOracle.node.js.map +1 -0
  43. package/dist/nodes/OCI/VectorStore/VectorStoreOracleInsert.node.d.ts +5 -0
  44. package/dist/nodes/OCI/VectorStore/VectorStoreOracleInsert.node.js +100 -0
  45. package/dist/nodes/OCI/VectorStore/VectorStoreOracleInsert.node.js.map +1 -0
  46. package/dist/nodes/OCI/VectorStore/VectorStoreOracleTool.node.d.ts +6 -0
  47. package/dist/nodes/OCI/VectorStore/VectorStoreOracleTool.node.js +253 -0
  48. package/dist/nodes/OCI/VectorStore/VectorStoreOracleTool.node.js.map +1 -0
  49. package/dist/nodes/OCI/VectorStore/langchain/OracleDbVectorStore.d.ts +45 -0
  50. package/dist/nodes/OCI/VectorStore/langchain/OracleDbVectorStore.js +239 -0
  51. package/dist/nodes/OCI/VectorStore/langchain/OracleDbVectorStore.js.map +1 -0
  52. package/dist/nodes/OCI/VectorStore/oracle.svg +3 -0
  53. package/dist/nodes/OCI/logWrapper.d.ts +21 -0
  54. package/dist/nodes/OCI/logWrapper.js +152 -0
  55. package/dist/nodes/OCI/logWrapper.js.map +1 -0
  56. package/dist/nodes/OCI/n8nDefaultFailedAttemptHandler.d.ts +1 -0
  57. package/dist/nodes/OCI/n8nDefaultFailedAttemptHandler.js +31 -0
  58. package/dist/nodes/OCI/n8nDefaultFailedAttemptHandler.js.map +1 -0
  59. package/dist/nodes/OCI/n8nLlmFailedAttemptHandler.d.ts +3 -0
  60. package/dist/nodes/OCI/n8nLlmFailedAttemptHandler.js +28 -0
  61. package/dist/nodes/OCI/n8nLlmFailedAttemptHandler.js.map +1 -0
  62. package/dist/nodes/OCI/processDocuments.d.ts +25 -0
  63. package/dist/nodes/OCI/processDocuments.js +30 -0
  64. package/dist/nodes/OCI/processDocuments.js.map +1 -0
  65. package/dist/nodes/OCI/utils.d.ts +1 -0
  66. package/dist/nodes/OCI/utils.js +25 -0
  67. package/dist/nodes/OCI/utils.js.map +1 -0
  68. package/dist/package.json +85 -0
  69. package/dist/tsconfig.tsbuildinfo +1 -0
  70. package/package.json +85 -0
@@ -0,0 +1,377 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChatOciGenerativeAi = void 0;
4
+ const chat_models_1 = require("@langchain/core/language_models/chat_models");
5
+ const messages_1 = require("@langchain/core/messages");
6
+ const oci_generativeaiinference_1 = require("oci-generativeaiinference");
7
+ const json_schema_1 = require("@langchain/core/utils/json_schema");
8
+ function jsonSchemaTypeToCohereType(jsonSchema) {
9
+ if (jsonSchema && typeof jsonSchema === 'object' && 'enum' in jsonSchema) {
10
+ return 'str';
11
+ }
12
+ if (jsonSchema && typeof jsonSchema === 'object' && 'type' in jsonSchema && jsonSchema.type === 'array') {
13
+ return 'list';
14
+ }
15
+ if (jsonSchema && typeof jsonSchema === 'object' && 'type' in jsonSchema && jsonSchema.type === 'object') {
16
+ return 'dict';
17
+ }
18
+ if (jsonSchema && typeof jsonSchema === 'object' && 'type' in jsonSchema && jsonSchema.type) {
19
+ switch (jsonSchema.type) {
20
+ case 'string':
21
+ return 'str';
22
+ case 'number':
23
+ case 'integer':
24
+ return 'float';
25
+ case 'boolean':
26
+ return 'bool';
27
+ default:
28
+ return 'str';
29
+ }
30
+ }
31
+ return 'str';
32
+ }
33
+ function jsonSchemaToCoherePrameters(jsonSchema) {
34
+ const parameters = {};
35
+ if (jsonSchema &&
36
+ typeof jsonSchema === 'object' &&
37
+ 'type' in jsonSchema &&
38
+ jsonSchema.type === 'object' &&
39
+ 'properties' in jsonSchema &&
40
+ jsonSchema.properties) {
41
+ Object.entries(jsonSchema.properties).forEach(([key, propertySchema]) => {
42
+ const description = (propertySchema && typeof propertySchema === 'object' && 'description' in propertySchema && propertySchema.description) ||
43
+ (propertySchema && typeof propertySchema === 'object' && 'title' in propertySchema && propertySchema.title) ||
44
+ `Parameter ${key}`;
45
+ parameters[key] = {
46
+ description: String(description),
47
+ type: jsonSchemaTypeToCohereType(propertySchema),
48
+ isRequired: true
49
+ };
50
+ });
51
+ }
52
+ return parameters;
53
+ }
54
+ function _toOciGenericApiMessage(message) {
55
+ var _a;
56
+ if ((0, messages_1.isHumanMessage)(message)) {
57
+ const humanMessage = message;
58
+ return {
59
+ role: 'USER',
60
+ content: [
61
+ {
62
+ type: 'TEXT',
63
+ text: humanMessage.content,
64
+ },
65
+ ],
66
+ };
67
+ }
68
+ else if ((0, messages_1.isAIMessage)(message)) {
69
+ const aiMessage = message;
70
+ return {
71
+ role: 'ASSISTANT',
72
+ content: [
73
+ {
74
+ type: 'TEXT',
75
+ text: aiMessage.content
76
+ }
77
+ ],
78
+ toolCalls: (_a = aiMessage.tool_calls) === null || _a === void 0 ? void 0 : _a.map((toolCall) => {
79
+ return {
80
+ id: toolCall.id,
81
+ type: "FUNCTION",
82
+ name: toolCall.name,
83
+ arguments: JSON.stringify(toolCall.args)
84
+ };
85
+ })
86
+ };
87
+ }
88
+ else if ((0, messages_1.isSystemMessage)(message)) {
89
+ const systemMessage = message;
90
+ return {
91
+ role: 'SYSTEM',
92
+ content: [
93
+ {
94
+ type: 'TEXT',
95
+ text: systemMessage.content,
96
+ },
97
+ ],
98
+ };
99
+ }
100
+ else if ((0, messages_1.isToolMessage)(message)) {
101
+ const toolMessage = message;
102
+ return {
103
+ role: 'TOOL',
104
+ toolCallId: toolMessage.tool_call_id,
105
+ content: [
106
+ {
107
+ type: 'TEXT',
108
+ text: toolMessage.content,
109
+ },
110
+ ],
111
+ };
112
+ }
113
+ else {
114
+ throw new Error(`Got unexpected message type for Generic format`);
115
+ }
116
+ }
117
+ function _toOciCohereMessage(message) {
118
+ var _a, _b;
119
+ if ((0, messages_1.isHumanMessage)(message)) {
120
+ const humanMessage = message;
121
+ return {
122
+ role: 'USER',
123
+ message: humanMessage.content
124
+ };
125
+ }
126
+ else if ((0, messages_1.isAIMessage)(message)) {
127
+ const aiMessage = message;
128
+ if (aiMessage.tool_calls && ((_a = aiMessage.tool_calls) === null || _a === void 0 ? void 0 : _a.length) > 0) {
129
+ if (aiMessage.content) {
130
+ console.log("DANGER DANGER DANGER DANGER ", aiMessage.content);
131
+ }
132
+ return aiMessage.tool_calls;
133
+ }
134
+ return {
135
+ role: 'CHATBOT',
136
+ message: aiMessage.content,
137
+ toolCalls: (_b = aiMessage.tool_calls) === null || _b === void 0 ? void 0 : _b.map((toolCall) => {
138
+ return {
139
+ name: toolCall.name,
140
+ parameters: toolCall.args
141
+ };
142
+ })
143
+ };
144
+ }
145
+ else if ((0, messages_1.isSystemMessage)(message)) {
146
+ const systemMessage = message;
147
+ return {
148
+ role: 'SYSTEM',
149
+ message: systemMessage.content,
150
+ };
151
+ }
152
+ else if ((0, messages_1.isToolMessage)(message)) {
153
+ const toolMessage = message;
154
+ return {
155
+ role: 'TOOL',
156
+ toolResults: [
157
+ {
158
+ call: {
159
+ name: toolMessage.tool_call_id,
160
+ parameters: {}
161
+ },
162
+ outputs: JSON.parse(toolMessage.content)
163
+ }
164
+ ]
165
+ };
166
+ }
167
+ else {
168
+ throw new Error(`Got unexpected message type for Generic format`);
169
+ }
170
+ }
171
+ class ChatOciGenerativeAi extends chat_models_1.BaseChatModel {
172
+ constructor(fields) {
173
+ super(fields);
174
+ this.model = fields.model;
175
+ this.temperature = fields.temperature;
176
+ this.topP = fields.topP;
177
+ this.topK = fields.topK;
178
+ this.frequencyPenalty = fields.frequencyPenalty;
179
+ this.presencePenalty = fields.presencePenalty;
180
+ this.compartmentId = fields.compartmentId;
181
+ this.auth = fields.auth;
182
+ this.client = new oci_generativeaiinference_1.GenerativeAiInferenceClient({
183
+ authenticationDetailsProvider: fields.auth.authProvider,
184
+ });
185
+ this.tools = fields.tools;
186
+ }
187
+ _llmType() {
188
+ return 'oci_generative_ai';
189
+ }
190
+ bindTools(tools) {
191
+ let genericTools = [];
192
+ let cohereTools = [];
193
+ if (this.model.startsWith('cohere')) {
194
+ cohereTools = tools.map((tool) => {
195
+ const jsonSchema = (0, json_schema_1.toJsonSchema)(tool.schema);
196
+ return {
197
+ name: tool.name,
198
+ description: tool.description,
199
+ parameterDefinitions: jsonSchemaToCoherePrameters(jsonSchema),
200
+ };
201
+ });
202
+ }
203
+ else {
204
+ genericTools = tools.map((tool) => {
205
+ return {
206
+ name: tool.name,
207
+ description: tool.description,
208
+ parameters: (0, json_schema_1.toJsonSchema)(tool.schema),
209
+ type: 'FUNCTION'
210
+ };
211
+ });
212
+ }
213
+ const ociTools = genericTools.length > 0 ? genericTools : cohereTools;
214
+ const fields = {
215
+ model: this.model,
216
+ temperature: this.temperature,
217
+ frequencyPenalty: this.frequencyPenalty,
218
+ presencePenalty: this.presencePenalty,
219
+ topP: this.topP,
220
+ topK: this.topK,
221
+ compartmentId: this.compartmentId,
222
+ auth: this.auth,
223
+ tools: ociTools
224
+ };
225
+ return new this.constructor(fields);
226
+ }
227
+ async _generate(messages, options, runManager) {
228
+ var _a, _b, _c, _d;
229
+ let chatRequest;
230
+ let temperature = this.temperature;
231
+ let frequencyPenalty = this.frequencyPenalty;
232
+ let presencePenalty = this.presencePenalty;
233
+ if (!this.model.startsWith('cohere')) {
234
+ if (temperature) {
235
+ temperature = 2 * temperature;
236
+ }
237
+ if (frequencyPenalty) {
238
+ frequencyPenalty = 2 * frequencyPenalty;
239
+ }
240
+ if (presencePenalty) {
241
+ presencePenalty = 2 * presencePenalty;
242
+ }
243
+ }
244
+ if (this.model === "xai.grok-4") {
245
+ frequencyPenalty = undefined;
246
+ presencePenalty = undefined;
247
+ }
248
+ let topK = undefined;
249
+ if (this.model.startsWith('meta')) {
250
+ topK = this.topK === 0 ? -1 : this.topK;
251
+ }
252
+ if (this.model.startsWith('cohere')) {
253
+ topK = this.topK === -1 ? 0 : this.topK;
254
+ }
255
+ if (this.model.startsWith('cohere')) {
256
+ const ociMessages = messages.map(_toOciCohereMessage);
257
+ const toolMessages = [];
258
+ let toolCalls = [];
259
+ ociMessages.forEach((message) => {
260
+ if (Array.isArray(message)) {
261
+ toolCalls = message;
262
+ }
263
+ else if (message.role === "TOOL") {
264
+ toolMessages.push(message);
265
+ }
266
+ });
267
+ const ociMessagesClean = ociMessages.filter((message) => (!Array.isArray(message) && message.role !== "TOOL"));
268
+ let message = '';
269
+ let toolResults;
270
+ let toolMessageLast;
271
+ if (toolMessages.length > 0) {
272
+ toolResults = toolMessages.map((toolMessage) => {
273
+ const toolResult = toolMessage.toolResults[0];
274
+ const toolCall = toolCalls.find((toolCall) => toolCall.id === toolResult.call.name);
275
+ if (toolCall) {
276
+ toolResult.call.parameters = toolCall.args;
277
+ }
278
+ return toolResult;
279
+ });
280
+ toolMessageLast = {
281
+ toolResults,
282
+ role: "TOOL"
283
+ };
284
+ }
285
+ else {
286
+ const lastMessage = ociMessagesClean.pop();
287
+ if (lastMessage && !Array.isArray(lastMessage) && lastMessage.role === "USER") {
288
+ message = lastMessage === null || lastMessage === void 0 ? void 0 : lastMessage.message;
289
+ }
290
+ else {
291
+ if (lastMessage) {
292
+ ociMessagesClean.push(lastMessage);
293
+ }
294
+ }
295
+ }
296
+ if (toolMessageLast) {
297
+ ociMessagesClean.push(toolMessageLast);
298
+ }
299
+ chatRequest = {
300
+ apiFormat: 'COHERE',
301
+ message,
302
+ chatHistory: ociMessagesClean,
303
+ temperature,
304
+ topP: this.topP,
305
+ topK,
306
+ frequencyPenalty,
307
+ presencePenalty,
308
+ tools: this.tools,
309
+ toolResults
310
+ };
311
+ }
312
+ else {
313
+ const ociMessages = messages.map(_toOciGenericApiMessage).flat();
314
+ chatRequest = {
315
+ apiFormat: 'GENERIC',
316
+ messages: ociMessages,
317
+ temperature,
318
+ topP: this.topP,
319
+ topK,
320
+ frequencyPenalty,
321
+ presencePenalty,
322
+ tools: this.tools
323
+ };
324
+ }
325
+ const chatDetails = {
326
+ compartmentId: this.compartmentId,
327
+ servingMode: {
328
+ servingType: 'ON_DEMAND',
329
+ modelId: this.model,
330
+ },
331
+ chatRequest: chatRequest,
332
+ };
333
+ const response = await this.client.chat({ chatDetails });
334
+ let text;
335
+ let toolCalls;
336
+ if (response.chatResult.chatResponse.apiFormat === 'COHERE') {
337
+ const cohereResponse = response.chatResult.chatResponse;
338
+ toolCalls = (_a = cohereResponse.toolCalls) === null || _a === void 0 ? void 0 : _a.map((toolCall) => {
339
+ return {
340
+ name: toolCall.name,
341
+ args: toolCall.parameters,
342
+ id: toolCall.name,
343
+ type: "tool_call"
344
+ };
345
+ });
346
+ text = cohereResponse.text;
347
+ }
348
+ else {
349
+ const genericResponse = response.chatResult.chatResponse;
350
+ const choice = genericResponse.choices.at(0);
351
+ const assistantMessage = choice === null || choice === void 0 ? void 0 : choice.message;
352
+ toolCalls = (_b = assistantMessage === null || assistantMessage === void 0 ? void 0 : assistantMessage.toolCalls) === null || _b === void 0 ? void 0 : _b.filter((toolCall) => toolCall).map((toolCall) => {
353
+ const args = JSON.parse(toolCall.arguments || "");
354
+ return {
355
+ name: toolCall.name,
356
+ args,
357
+ id: toolCall.id,
358
+ type: "tool_call"
359
+ };
360
+ });
361
+ text = ((_d = (_c = choice === null || choice === void 0 ? void 0 : choice.message) === null || _c === void 0 ? void 0 : _c.content) === null || _d === void 0 ? void 0 : _d.map((c) => c.text).join('')) || '';
362
+ }
363
+ return {
364
+ generations: [
365
+ {
366
+ text,
367
+ message: new messages_1.AIMessage({
368
+ content: text,
369
+ tool_calls: toolCalls,
370
+ }),
371
+ },
372
+ ],
373
+ };
374
+ }
375
+ }
376
+ exports.ChatOciGenerativeAi = ChatOciGenerativeAi;
377
+ //# sourceMappingURL=ChatOci.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatOci.js","sourceRoot":"","sources":["../../../../../nodes/OCI/GenerativeAI/langchain/ChatOci.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { Embeddings, type EmbeddingsParams } from "@langchain/core/embeddings";
2
+ import { AuthenticationDetailsProvider } from "oci-common";
3
+ import { GenerativeAiInferenceClient } from "oci-generativeaiinference";
4
+ export interface OciEmbeddingsInput extends EmbeddingsParams {
5
+ model: string;
6
+ compartmentId: string;
7
+ auth: {
8
+ authProvider: AuthenticationDetailsProvider;
9
+ };
10
+ }
11
+ export declare class OciEmbeddings extends Embeddings {
12
+ model: string;
13
+ compartmentId: string;
14
+ auth: {
15
+ authProvider: AuthenticationDetailsProvider;
16
+ };
17
+ client: GenerativeAiInferenceClient;
18
+ constructor(fields: OciEmbeddingsInput);
19
+ embedDocuments(documents: string[]): Promise<number[][]>;
20
+ embedQuery(document: string): Promise<number[]>;
21
+ }
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OciEmbeddings = void 0;
4
+ const embeddings_1 = require("@langchain/core/embeddings");
5
+ const lodash_1 = require("lodash");
6
+ const oci_generativeaiinference_1 = require("oci-generativeaiinference");
7
+ class OciEmbeddings extends embeddings_1.Embeddings {
8
+ constructor(fields) {
9
+ super(fields);
10
+ this.model = fields.model;
11
+ this.compartmentId = fields.compartmentId;
12
+ this.auth = fields.auth;
13
+ this.client = new oci_generativeaiinference_1.GenerativeAiInferenceClient({
14
+ authenticationDetailsProvider: fields.auth.authProvider,
15
+ });
16
+ }
17
+ async embedDocuments(documents) {
18
+ var _a, _b;
19
+ const BATCH_SIZE = 90;
20
+ documents = documents.filter(Boolean);
21
+ if (documents.length <= BATCH_SIZE) {
22
+ const embedRequest = {
23
+ embedTextDetails: {
24
+ inputs: documents,
25
+ truncate: oci_generativeaiinference_1.models.EmbedTextDetails.Truncate.None,
26
+ servingMode: {
27
+ modelId: this.model,
28
+ servingType: "ON_DEMAND",
29
+ },
30
+ compartmentId: this.compartmentId,
31
+ inputType: oci_generativeaiinference_1.models.EmbedTextDetails.InputType.SearchDocument,
32
+ },
33
+ };
34
+ const embedResponse = await this.client.embedText(embedRequest);
35
+ if (!(0, lodash_1.isArray)((_a = embedResponse === null || embedResponse === void 0 ? void 0 : embedResponse.embedTextResult) === null || _a === void 0 ? void 0 : _a.embeddings)) {
36
+ throw new Error("Error in single batch embedding: worng respose format");
37
+ }
38
+ return embedResponse.embedTextResult.embeddings;
39
+ }
40
+ const batches = [];
41
+ for (let i = 0; i < documents.length; i += BATCH_SIZE) {
42
+ batches.push(documents.slice(i, i + BATCH_SIZE));
43
+ }
44
+ let batchResults = [];
45
+ for (const batch of batches) {
46
+ const embedRequest = {
47
+ embedTextDetails: {
48
+ inputs: batch,
49
+ truncate: oci_generativeaiinference_1.models.EmbedTextDetails.Truncate.None,
50
+ servingMode: {
51
+ modelId: this.model,
52
+ servingType: "ON_DEMAND",
53
+ },
54
+ compartmentId: this.compartmentId,
55
+ inputType: oci_generativeaiinference_1.models.EmbedTextDetails.InputType.SearchDocument,
56
+ },
57
+ };
58
+ const embedResponse = await this.client.embedText(embedRequest);
59
+ if (!(0, lodash_1.isArray)((_b = embedResponse === null || embedResponse === void 0 ? void 0 : embedResponse.embedTextResult) === null || _b === void 0 ? void 0 : _b.embeddings)) {
60
+ throw new Error("Error in single batch embedding: worng respose format");
61
+ }
62
+ batchResults = batchResults.concat(embedResponse.embedTextResult.embeddings);
63
+ }
64
+ return batchResults;
65
+ }
66
+ async embedQuery(document) {
67
+ const embedRequest = {
68
+ embedTextDetails: {
69
+ inputs: [document],
70
+ truncate: oci_generativeaiinference_1.models.EmbedTextDetails.Truncate.None,
71
+ servingMode: {
72
+ modelId: this.model,
73
+ servingType: "ON_DEMAND",
74
+ },
75
+ compartmentId: this.compartmentId,
76
+ inputType: oci_generativeaiinference_1.models.EmbedTextDetails.InputType.SearchQuery,
77
+ },
78
+ };
79
+ const embedResponse = await this.client.embedText(embedRequest);
80
+ return embedResponse.embedTextResult.embeddings[0];
81
+ }
82
+ }
83
+ exports.OciEmbeddings = OciEmbeddings;
84
+ //# sourceMappingURL=OciEmbedings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OciEmbedings.js","sourceRoot":"","sources":["../../../../../nodes/OCI/GenerativeAI/langchain/OciEmbedings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="32" height="20">
2
+ <path fill="none" stroke="#C74634" stroke-width="4" d="m10,2a8,8 0 1,0 0,16h12a8,8 0 1,0 0-16z"/>
3
+ </svg>
@@ -0,0 +1,12 @@
1
+ import type { Document } from '@langchain/core/documents';
2
+ export declare class JSONBlobLoader {
3
+ private file;
4
+ private pointers;
5
+ constructor(file: Blob | string, pointers?: string[]);
6
+ load(): Promise<Document[]>;
7
+ }
8
+ export declare class TextBlobLoader {
9
+ private file;
10
+ constructor(file: Blob | string);
11
+ load(): Promise<Document[]>;
12
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TextBlobLoader = exports.JSONBlobLoader = void 0;
4
+ function readBlobOrString(input) {
5
+ if (typeof input === 'string')
6
+ return Promise.resolve(input);
7
+ return input.text();
8
+ }
9
+ function getByJsonPointer(obj, pointer) {
10
+ if (!pointer || pointer === '' || pointer === '/')
11
+ return obj;
12
+ if (pointer[0] !== '/')
13
+ return obj;
14
+ const parts = pointer
15
+ .split('/')
16
+ .slice(1)
17
+ .map((p) => p.replace(/~1/g, '/').replace(/~0/g, '~'));
18
+ return parts.reduce((acc, key) => (acc != null ? acc[key] : undefined), obj);
19
+ }
20
+ class JSONBlobLoader {
21
+ constructor(file, pointers = []) {
22
+ this.file = file;
23
+ this.pointers = pointers;
24
+ }
25
+ async load() {
26
+ const raw = await readBlobOrString(this.file);
27
+ const json = JSON.parse(raw);
28
+ const docs = [];
29
+ const targets = this.pointers.length ? this.pointers : [''];
30
+ for (const ptr of targets) {
31
+ const value = getByJsonPointer(json, ptr);
32
+ if (Array.isArray(value)) {
33
+ for (const item of value) {
34
+ docs.push({ pageContent: typeof item === 'string' ? item : JSON.stringify(item), metadata: {} });
35
+ }
36
+ }
37
+ else if (value !== undefined) {
38
+ docs.push({ pageContent: typeof value === 'string' ? value : JSON.stringify(value), metadata: {} });
39
+ }
40
+ }
41
+ if (docs.length === 0) {
42
+ docs.push({ pageContent: JSON.stringify(json), metadata: {} });
43
+ }
44
+ return docs;
45
+ }
46
+ }
47
+ exports.JSONBlobLoader = JSONBlobLoader;
48
+ class TextBlobLoader {
49
+ constructor(file) {
50
+ this.file = file;
51
+ }
52
+ async load() {
53
+ const text = await readBlobOrString(this.file);
54
+ return [{ pageContent: text, metadata: {} }];
55
+ }
56
+ }
57
+ exports.TextBlobLoader = TextBlobLoader;
58
+ //# sourceMappingURL=SimpleLoaders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleLoaders.js","sourceRoot":"","sources":["../../../../nodes/OCI/Loaders/SimpleLoaders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { Document } from '@langchain/core/documents';
2
+ import type { TextSplitter } from '@langchain/textsplitters';
3
+ import type { IExecuteFunctions, INodeExecutionData, ISupplyDataFunctions } from 'n8n-workflow';
4
+ export declare class N8nBinaryLoader {
5
+ private context;
6
+ private optionsPrefix;
7
+ private binaryDataKey;
8
+ private textSplitter?;
9
+ constructor(context: IExecuteFunctions | ISupplyDataFunctions, optionsPrefix?: string, binaryDataKey?: string, textSplitter?: TextSplitter | undefined);
10
+ processAll(items?: INodeExecutionData[]): Promise<Document[]>;
11
+ private validateMimeType;
12
+ private getFilePathOrBlob;
13
+ private getLoader;
14
+ private loadDocuments;
15
+ private cleanupTmpFileIfNeeded;
16
+ processItem(item: INodeExecutionData, itemIndex: number): Promise<Document[]>;
17
+ processItemByKey(item: INodeExecutionData, itemIndex: number, binaryKey: string): Promise<Document[]>;
18
+ }