@n8n/n8n-nodes-langchain 2.17.2 → 2.18.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.
- package/dist/credentials/AlibabaCloudApi.credentials.js +8 -2
- package/dist/credentials/AlibabaCloudApi.credentials.js.map +1 -1
- package/dist/credentials/BraveSearchApi.credentials.d.ts +9 -0
- package/dist/credentials/BraveSearchApi.credentials.js +36 -0
- package/dist/credentials/BraveSearchApi.credentials.js.map +1 -0
- package/dist/credentials/DaytonaApi.credentials.d.ts +7 -0
- package/dist/credentials/DaytonaApi.credentials.js +29 -0
- package/dist/credentials/DaytonaApi.credentials.js.map +1 -0
- package/dist/known/credentials.json +8 -0
- package/dist/node-definitions/.nodes-hash +1 -1
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/index.ts +3 -1
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v2/resource_image/operation_generate.ts +3 -3
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v21/resource_image/operation_generate.ts +3 -3
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/index.schema.js +30 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/index.ts +27 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_audio/index.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_audio/index.ts +18 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_audio/operation_generate.schema.js +32 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_audio/operation_generate.ts +60 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_audio/operation_transcribe.schema.js +30 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_audio/operation_transcribe.ts +46 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_audio/operation_translate.schema.js +30 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_audio/operation_translate.ts +43 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_conversation/index.schema.js +26 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_conversation/index.ts +21 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_conversation/operation_create.schema.js +30 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_conversation/operation_create.ts +54 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_conversation/operation_get.schema.js +29 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_conversation/operation_get.ts +31 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_conversation/operation_remove.schema.js +29 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_conversation/operation_remove.ts +31 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_conversation/operation_update.schema.js +30 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_conversation/operation_update.ts +36 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_file/index.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_file/index.ts +18 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_file/operation_delete_file.schema.js +29 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_file/operation_delete_file.ts +33 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_file/operation_list.schema.js +29 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_file/operation_list.ts +37 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_file/operation_upload.schema.js +30 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_file/operation_upload.ts +43 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_image/index.schema.js +24 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_image/index.ts +18 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_image/operation_analyze.schema.js +35 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_image/operation_analyze.ts +74 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_image/operation_edit.schema.js +39 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_image/operation_edit.ts +116 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_image/operation_generate.schema.js +31 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_image/operation_generate.ts +89 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_text/index.schema.js +22 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_text/index.ts +15 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_text/operation_classify.schema.js +30 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_text/operation_classify.ts +36 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_text/operation_response.schema.js +34 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_text/operation_response.ts +317 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_video/index.schema.js +18 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_video/index.ts +10 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_video/operation_generate.schema.js +33 -0
- package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_video/operation_generate.ts +67 -0
- package/dist/nodes/llms/LmChatAlibabaCloud/LmChatAlibabaCloud.node.js +2 -2
- package/dist/nodes/llms/LmChatAlibabaCloud/LmChatAlibabaCloud.node.js.map +1 -1
- package/dist/nodes/llms/LmChatAlibabaCloud/alibaba-cloud-base-url.d.ts +2 -3
- package/dist/nodes/llms/LmChatAlibabaCloud/alibaba-cloud-base-url.js +3 -22
- package/dist/nodes/llms/LmChatAlibabaCloud/alibaba-cloud-base-url.js.map +1 -1
- package/dist/nodes/vendors/AlibabaCloud/transport/index.d.ts +0 -1
- package/dist/nodes/vendors/AlibabaCloud/transport/index.js +1 -11
- package/dist/nodes/vendors/AlibabaCloud/transport/index.js.map +1 -1
- package/dist/nodes/vendors/GoogleGemini/actions/image/edit.operation.js +3 -1
- package/dist/nodes/vendors/GoogleGemini/actions/image/edit.operation.js.map +1 -1
- package/dist/nodes/vendors/GoogleGemini/actions/image/generate.operation.js +6 -2
- package/dist/nodes/vendors/GoogleGemini/actions/image/generate.operation.js.map +1 -1
- package/dist/nodes/vendors/GoogleGemini/actions/video/download.operation.js +2 -1
- package/dist/nodes/vendors/GoogleGemini/actions/video/download.operation.js.map +1 -1
- package/dist/nodes/vendors/GoogleGemini/actions/video/generate.operation.js +2 -1
- package/dist/nodes/vendors/GoogleGemini/actions/video/generate.operation.js.map +1 -1
- package/dist/nodes/vendors/GoogleGemini/helpers/utils.d.ts +1 -0
- package/dist/nodes/vendors/GoogleGemini/helpers/utils.js +8 -0
- package/dist/nodes/vendors/GoogleGemini/helpers/utils.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/OpenAi.node.js +2 -1
- package/dist/nodes/vendors/OpenAi/OpenAi.node.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/methods/listSearch.d.ts +1 -0
- package/dist/nodes/vendors/OpenAi/methods/listSearch.js +4 -0
- package/dist/nodes/vendors/OpenAi/methods/listSearch.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/v2/OpenAiV2.node.js +1 -1
- package/dist/nodes/vendors/OpenAi/v2/OpenAiV2.node.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/v2/actions/descriptions.d.ts +2 -0
- package/dist/nodes/vendors/OpenAi/v2/actions/descriptions.js +401 -1
- package/dist/nodes/vendors/OpenAi/v2/actions/descriptions.js.map +1 -1
- package/dist/nodes/vendors/OpenAi/v2/actions/image/generate.operation.js +28 -198
- package/dist/nodes/vendors/OpenAi/v2/actions/image/generate.operation.js.map +1 -1
- package/dist/typecheck.tsbuildinfo +1 -1
- package/dist/types/credentials.json +3 -1
- package/dist/types/nodes.json +3 -3
- package/package.json +12 -10
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Node - Version 2.2
|
|
3
|
+
* Discriminator: resource=text, operation=response
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
interface Credentials {
|
|
8
|
+
openAiApi: CredentialReference;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** Generate a model response with GPT 3, 4, 5, etc. using Responses API */
|
|
12
|
+
export type LcOpenAiV22TextResponseParams = {
|
|
13
|
+
resource: 'text';
|
|
14
|
+
operation: 'response';
|
|
15
|
+
/**
|
|
16
|
+
* Model
|
|
17
|
+
* @searchListMethod modelSearch
|
|
18
|
+
* @default {"mode":"list","value":""}
|
|
19
|
+
*/
|
|
20
|
+
modelId?: { __rl: true; mode: 'list' | 'id'; value: string; cachedResultName?: string };
|
|
21
|
+
/**
|
|
22
|
+
* Messages
|
|
23
|
+
* @default {"values":[{"type":"text"}]}
|
|
24
|
+
*/
|
|
25
|
+
responses?: {
|
|
26
|
+
/** Message
|
|
27
|
+
*/
|
|
28
|
+
values?: Array<{
|
|
29
|
+
/** Type
|
|
30
|
+
* @default text
|
|
31
|
+
*/
|
|
32
|
+
type?: 'text' | 'image' | 'file' | Expression<string>;
|
|
33
|
+
/** Role in shaping the model's response, it tells the model how it should behave and interact with the user
|
|
34
|
+
* @default user
|
|
35
|
+
*/
|
|
36
|
+
role?: 'user' | 'assistant' | 'system' | Expression<string>;
|
|
37
|
+
/** The content of the message to be send
|
|
38
|
+
* @displayOptions.show { type: ["text"] }
|
|
39
|
+
*/
|
|
40
|
+
content?: string | Expression<string> | PlaceholderValue;
|
|
41
|
+
/** Image Type
|
|
42
|
+
* @displayOptions.show { type: ["image"] }
|
|
43
|
+
* @default url
|
|
44
|
+
*/
|
|
45
|
+
imageType?: 'url' | 'fileId' | 'base64' | Expression<string>;
|
|
46
|
+
/** URL of the image to be sent
|
|
47
|
+
* @displayOptions.show { type: ["image"], imageType: ["url"] }
|
|
48
|
+
*/
|
|
49
|
+
imageUrl?: string | Expression<string> | PlaceholderValue;
|
|
50
|
+
/** Name of the binary property which contains the image(s)
|
|
51
|
+
* @hint The name of the input field containing the binary file data to be processed
|
|
52
|
+
* @displayOptions.show { type: ["image"], imageType: ["base64"] }
|
|
53
|
+
* @default data
|
|
54
|
+
*/
|
|
55
|
+
binaryPropertyName?: string | Expression<string> | PlaceholderValue;
|
|
56
|
+
/** ID of the file to be sent
|
|
57
|
+
* @displayOptions.show { type: ["image"], imageType: ["fileId"] }
|
|
58
|
+
*/
|
|
59
|
+
fileId?: string | Expression<string> | PlaceholderValue;
|
|
60
|
+
/** The detail level of the image to be sent to the model
|
|
61
|
+
* @displayOptions.show { type: ["image"] }
|
|
62
|
+
* @default auto
|
|
63
|
+
*/
|
|
64
|
+
imageDetail?: 'auto' | 'low' | 'high' | Expression<string>;
|
|
65
|
+
/** File Type
|
|
66
|
+
* @displayOptions.show { type: ["file"] }
|
|
67
|
+
* @default url
|
|
68
|
+
*/
|
|
69
|
+
fileType?: 'url' | 'fileId' | 'base64' | Expression<string>;
|
|
70
|
+
/** URL of the file to be sent. Accepts base64 encoded files as well.
|
|
71
|
+
* @displayOptions.show { type: ["file"], fileType: ["url"] }
|
|
72
|
+
*/
|
|
73
|
+
fileUrl?: string | Expression<string> | PlaceholderValue;
|
|
74
|
+
/** ID of the file to be sent
|
|
75
|
+
* @displayOptions.show { type: ["file"], fileType: ["fileId"] }
|
|
76
|
+
*/
|
|
77
|
+
fileId?: string | Expression<string> | PlaceholderValue;
|
|
78
|
+
/** Name of the binary property which contains the file
|
|
79
|
+
* @hint The name of the input field containing the binary file data to be processed
|
|
80
|
+
* @displayOptions.show { type: ["file"], fileType: ["base64"] }
|
|
81
|
+
* @default data
|
|
82
|
+
*/
|
|
83
|
+
binaryPropertyName?: string | Expression<string> | PlaceholderValue;
|
|
84
|
+
/** File Name
|
|
85
|
+
* @displayOptions.show { type: ["file"], fileType: ["base64"] }
|
|
86
|
+
*/
|
|
87
|
+
fileName?: string | Expression<string> | PlaceholderValue;
|
|
88
|
+
}>;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Whether to return a simplified version of the response instead of the raw data
|
|
92
|
+
* @default true
|
|
93
|
+
*/
|
|
94
|
+
simplify?: boolean | Expression<boolean>;
|
|
95
|
+
/**
|
|
96
|
+
* Hide Tools
|
|
97
|
+
* @displayOptions.show { modelId: ["gpt-3.5-turbo-16k-0613", "dall-e-3", "text-embedding-3-large", "dall-e-2", "whisper-1", "tts-1-hd-1106", "tts-1-hd", "gpt-4-0314", "text-embedding-3-small", "gpt-4-32k-0314", "gpt-3.5-turbo-0301", "gpt-4-vision-preview", "gpt-3.5-turbo-16k", "gpt-3.5-turbo-instruct-0914", "tts-1", "davinci-002", "gpt-3.5-turbo-instruct", "babbage-002", "tts-1-1106", "text-embedding-ada-002"] }
|
|
98
|
+
* @default hide
|
|
99
|
+
*/
|
|
100
|
+
hideTools?: unknown;
|
|
101
|
+
/**
|
|
102
|
+
* Built-in Tools
|
|
103
|
+
* @default {}
|
|
104
|
+
*/
|
|
105
|
+
builtInTools?: {
|
|
106
|
+
/** Web Search
|
|
107
|
+
* @default {"searchContextSize":"medium"}
|
|
108
|
+
*/
|
|
109
|
+
webSearch?: {
|
|
110
|
+
/** High level guidance for the amount of context window space to use for the search
|
|
111
|
+
* @default medium
|
|
112
|
+
*/
|
|
113
|
+
searchContextSize?: 'low' | 'medium' | 'high' | Expression<string>;
|
|
114
|
+
/** Comma-separated list of domains to search. Only domains in this list will be searched.
|
|
115
|
+
*/
|
|
116
|
+
allowedDomains?: string | Expression<string> | PlaceholderValue;
|
|
117
|
+
/** Country
|
|
118
|
+
*/
|
|
119
|
+
country?: string | Expression<string> | PlaceholderValue;
|
|
120
|
+
/** City
|
|
121
|
+
*/
|
|
122
|
+
city?: string | Expression<string> | PlaceholderValue;
|
|
123
|
+
/** Region
|
|
124
|
+
*/
|
|
125
|
+
region?: string | Expression<string> | PlaceholderValue;
|
|
126
|
+
};
|
|
127
|
+
/** File Search
|
|
128
|
+
* @default {"vectorStoreIds":"[]"}
|
|
129
|
+
*/
|
|
130
|
+
fileSearch?: {
|
|
131
|
+
/** The vector store IDs to use for the file search. Vector stores are managed via OpenAI Dashboard.
|
|
132
|
+
* @default []
|
|
133
|
+
*/
|
|
134
|
+
vectorStoreIds?: IDataObject | string | Expression<string>;
|
|
135
|
+
/** Filters
|
|
136
|
+
* @default {}
|
|
137
|
+
*/
|
|
138
|
+
filters?: IDataObject | string | Expression<string>;
|
|
139
|
+
/** Max Results
|
|
140
|
+
* @default 1
|
|
141
|
+
*/
|
|
142
|
+
maxResults?: number | Expression<number>;
|
|
143
|
+
};
|
|
144
|
+
/** Whether to allow the model to execute code in a sandboxed environment
|
|
145
|
+
* @default true
|
|
146
|
+
*/
|
|
147
|
+
codeInterpreter?: boolean | Expression<boolean>;
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Options
|
|
151
|
+
* @default {}
|
|
152
|
+
*/
|
|
153
|
+
options?: {
|
|
154
|
+
/** The conversation that this response belongs to. Input items and output items from this response are automatically added to this conversation after this response completes.
|
|
155
|
+
*/
|
|
156
|
+
conversationId?: string | Expression<string> | PlaceholderValue;
|
|
157
|
+
/** Specify additional output data to include in the model response
|
|
158
|
+
* @default []
|
|
159
|
+
*/
|
|
160
|
+
include?: Array<'code_interpreter_call.outputs' | 'computer_call_output.output.image_url' | 'file_search_call.results' | 'message.input_image.image_url' | 'message.output_text.logprobs' | 'reasoning.encrypted_content' | 'web_search_call.action.sources'>;
|
|
161
|
+
/** Instructions for the model to follow
|
|
162
|
+
*/
|
|
163
|
+
instructions?: string | Expression<string> | PlaceholderValue;
|
|
164
|
+
/** The maximum number of tokens to generate in the completion. Most models have a context length of 2048 tokens (except for the newest models, which support 32,768).
|
|
165
|
+
* @default 16
|
|
166
|
+
*/
|
|
167
|
+
maxTokens?: number | Expression<number>;
|
|
168
|
+
/** The maximum number of tool iteration cycles the LLM will run before stopping. A single iteration can contain multiple tool calls. Set to 0 for no limit.
|
|
169
|
+
* @default 15
|
|
170
|
+
*/
|
|
171
|
+
maxToolsIterations?: number | Expression<number>;
|
|
172
|
+
/** The maximum number of total calls to built-in tools that can be processed in a response. This maximum number applies across all built-in tool calls, not per individual tool. Any further attempts to call a tool by the model will be ignored.
|
|
173
|
+
* @default 15
|
|
174
|
+
*/
|
|
175
|
+
maxToolCalls?: number | Expression<number>;
|
|
176
|
+
/** Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard. Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.
|
|
177
|
+
* @default {}
|
|
178
|
+
*/
|
|
179
|
+
metadata?: IDataObject | string | Expression<string>;
|
|
180
|
+
/** Whether to allow parallel tool calls. If true, the model can call multiple tools at once.
|
|
181
|
+
* @default false
|
|
182
|
+
*/
|
|
183
|
+
parallelToolCalls?: boolean | Expression<boolean>;
|
|
184
|
+
/** The ID of the previous response to continue from. Cannot be used in conjunction with Conversation ID.
|
|
185
|
+
*/
|
|
186
|
+
previousResponseId?: string | Expression<string> | PlaceholderValue;
|
|
187
|
+
/** Configure the reusable prompt template configured via OpenAI Dashboard. <a href="https://platform.openai.com/docs/guides/prompt-engineering#reusable-prompts">Learn more</a>.
|
|
188
|
+
* @default {"promptOptions":[{"promptId":""}]}
|
|
189
|
+
*/
|
|
190
|
+
promptConfig?: {
|
|
191
|
+
/** Prompt
|
|
192
|
+
*/
|
|
193
|
+
promptOptions?: {
|
|
194
|
+
/** The unique identifier of the prompt template to use
|
|
195
|
+
*/
|
|
196
|
+
promptId?: string | Expression<string> | PlaceholderValue;
|
|
197
|
+
/** Optional version of the prompt template
|
|
198
|
+
*/
|
|
199
|
+
version?: string | Expression<string> | PlaceholderValue;
|
|
200
|
+
/** Variables to be substituted into the prompt template
|
|
201
|
+
* @default {}
|
|
202
|
+
*/
|
|
203
|
+
variables?: IDataObject | string | Expression<string>;
|
|
204
|
+
};
|
|
205
|
+
};
|
|
206
|
+
/** Used by OpenAI to cache responses for similar requests to optimize your cache hit rates
|
|
207
|
+
*/
|
|
208
|
+
promptCacheKey?: string | Expression<string> | PlaceholderValue;
|
|
209
|
+
/** Reasoning
|
|
210
|
+
* @default {"reasoningOptions":[{"effort":"medium","summary":"none"}]}
|
|
211
|
+
*/
|
|
212
|
+
reasoning?: {
|
|
213
|
+
/** Reasoning
|
|
214
|
+
*/
|
|
215
|
+
reasoningOptions?: {
|
|
216
|
+
/** Effort
|
|
217
|
+
* @default medium
|
|
218
|
+
*/
|
|
219
|
+
effort?: 'low' | 'medium' | 'high' | Expression<string>;
|
|
220
|
+
/** A summary of the reasoning performed by the model. This can be useful for debugging and understanding the model's reasoning process.
|
|
221
|
+
* @default auto
|
|
222
|
+
*/
|
|
223
|
+
summary?: 'none' | 'auto' | 'concise' | 'detailed' | Expression<string>;
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
/** A stable identifier used to help detect users of your application that may be violating OpenAI's usage policies. The IDs should be a string that uniquely identifies each user.
|
|
227
|
+
*/
|
|
228
|
+
safetyIdentifier?: string | Expression<string> | PlaceholderValue;
|
|
229
|
+
/** The service tier to use for the request
|
|
230
|
+
* @default auto
|
|
231
|
+
*/
|
|
232
|
+
serviceTier?: 'auto' | 'flex' | 'default' | 'priority' | Expression<string>;
|
|
233
|
+
/** Whether to store the generated model response for later retrieval via API
|
|
234
|
+
* @default true
|
|
235
|
+
*/
|
|
236
|
+
store?: boolean | Expression<boolean>;
|
|
237
|
+
/** Output Format
|
|
238
|
+
* @default {"textOptions":[{"type":"text"}]}
|
|
239
|
+
*/
|
|
240
|
+
textFormat?: {
|
|
241
|
+
/** Text
|
|
242
|
+
*/
|
|
243
|
+
textOptions?: {
|
|
244
|
+
/** Type
|
|
245
|
+
*/
|
|
246
|
+
type?: 'text' | 'json_schema' | 'json_object' | Expression<string>;
|
|
247
|
+
/** Verbosity
|
|
248
|
+
* @default medium
|
|
249
|
+
*/
|
|
250
|
+
verbosity?: 'low' | 'medium' | 'high' | Expression<string>;
|
|
251
|
+
/** The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.
|
|
252
|
+
* @displayOptions.show { type: ["json_schema"] }
|
|
253
|
+
* @default my_schema
|
|
254
|
+
*/
|
|
255
|
+
name?: string | Expression<string> | PlaceholderValue;
|
|
256
|
+
/** The schema of the response format
|
|
257
|
+
* @displayOptions.show { type: ["json_schema"] }
|
|
258
|
+
*/
|
|
259
|
+
schema?: IDataObject | string | Expression<string>;
|
|
260
|
+
/** The description of the response format
|
|
261
|
+
* @displayOptions.show { type: ["json_schema"] }
|
|
262
|
+
*/
|
|
263
|
+
description?: string | Expression<string> | PlaceholderValue;
|
|
264
|
+
/** Whether to require that the AI will always generate responses that match the provided JSON Schema
|
|
265
|
+
* @displayOptions.show { type: ["json_schema"] }
|
|
266
|
+
* @default false
|
|
267
|
+
*/
|
|
268
|
+
strict?: boolean | Expression<boolean>;
|
|
269
|
+
};
|
|
270
|
+
};
|
|
271
|
+
/** An integer between 0 and 20 specifying the number of most likely tokens to return at each token position, each with an associated log probability
|
|
272
|
+
* @default 0
|
|
273
|
+
*/
|
|
274
|
+
topLogprobs?: number | Expression<number>;
|
|
275
|
+
/** What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. We generally recommend altering this or top_p but not both
|
|
276
|
+
* @default 1
|
|
277
|
+
*/
|
|
278
|
+
temperature?: number | Expression<number>;
|
|
279
|
+
/** An alternative to sampling with temperature, controls diversity via nucleus sampling: 0.5 means half of all likelihood-weighted options are considered. We generally recommend altering this or temperature but not both.
|
|
280
|
+
* @default 1
|
|
281
|
+
*/
|
|
282
|
+
topP?: number | Expression<number>;
|
|
283
|
+
/** Whether to truncate the input to the model's context window size. When disabled will throw a 400 error instead.
|
|
284
|
+
* @default false
|
|
285
|
+
*/
|
|
286
|
+
truncation?: boolean | Expression<boolean>;
|
|
287
|
+
/** Background Mode
|
|
288
|
+
* @default {"values":[{"backgroundMode":true}]}
|
|
289
|
+
*/
|
|
290
|
+
backgroundMode?: {
|
|
291
|
+
/** Bakground
|
|
292
|
+
*/
|
|
293
|
+
values?: {
|
|
294
|
+
/** Whether to run the model in background mode. If true, the model will run in background mode.
|
|
295
|
+
* @default false
|
|
296
|
+
*/
|
|
297
|
+
enabled?: boolean | Expression<boolean>;
|
|
298
|
+
/** The timeout for the background mode in seconds. If 0, the timeout is infinite.
|
|
299
|
+
* @default 300
|
|
300
|
+
*/
|
|
301
|
+
timeout?: number | Expression<number>;
|
|
302
|
+
};
|
|
303
|
+
};
|
|
304
|
+
};
|
|
305
|
+
};
|
|
306
|
+
|
|
307
|
+
export interface LcOpenAiV22TextResponseSubnodeConfig {
|
|
308
|
+
tools?: ToolInstance[];
|
|
309
|
+
memory?: MemoryInstance;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
export type LcOpenAiV22TextResponseNode = {
|
|
313
|
+
type: '@n8n/n8n-nodes-langchain.openAi';
|
|
314
|
+
version: 2.2;
|
|
315
|
+
credentials?: Credentials;
|
|
316
|
+
config: NodeConfig<LcOpenAiV22TextResponseParams> & { subnodes?: LcOpenAiV22TextResponseSubnodeConfig };
|
|
317
|
+
};
|
package/dist/node-definitions/nodes/n8n-nodes-langchain/openAi/v22/resource_video/index.schema.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI - Video Resource - Zod Schema Factory
|
|
3
|
+
* Exports a factory that unions all operation schemas for this resource.
|
|
4
|
+
*
|
|
5
|
+
* Schema helpers (z, expressionSchema, etc.) are passed as parameters
|
|
6
|
+
* by the schema-validator, not imported from external files.
|
|
7
|
+
*
|
|
8
|
+
* @generated - CommonJS JavaScript for runtime loading
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
const getGenerateSchema = require('./operation_generate.schema');
|
|
12
|
+
|
|
13
|
+
module.exports = function getSchema(helpers) {
|
|
14
|
+
const { parameters, z } = helpers;
|
|
15
|
+
// Apply operation default if not set
|
|
16
|
+
const effectiveParams = parameters.operation === undefined ? { ...parameters, operation: 'generate' } : parameters;
|
|
17
|
+
return getGenerateSchema({ ...helpers, parameters: effectiveParams });
|
|
18
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI - Video Resource
|
|
3
|
+
* Re-exports all operation types for this resource.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { LcOpenAiV22VideoGenerateNode } from './operation_generate';
|
|
7
|
+
|
|
8
|
+
export * from './operation_generate';
|
|
9
|
+
|
|
10
|
+
export type LcOpenAiV22VideoNode = LcOpenAiV22VideoGenerateNode;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Node - Version 2.2 - Zod Schema
|
|
3
|
+
* Discriminator: resource=video, operation=generate
|
|
4
|
+
*
|
|
5
|
+
* Use .parse() for strict validation or .safeParse() for error handling.
|
|
6
|
+
*
|
|
7
|
+
* Schema helpers (z, expressionSchema, etc.) are passed as parameters
|
|
8
|
+
* by the schema-validator, not imported from external files.
|
|
9
|
+
*
|
|
10
|
+
* @generated - CommonJS JavaScript for runtime loading
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
module.exports = function getSchema({ parameters, z, expressionSchema, stringOrExpression, numberOrExpression, booleanOrExpression, resourceLocatorValueSchema, resourceMapperValueSchema, filterValueSchema, assignmentCollectionValueSchema, iDataObjectSchema, toolInstanceSchema, memoryInstanceSchema }) {
|
|
14
|
+
|
|
15
|
+
// Static subnode schema
|
|
16
|
+
const subnodesSchema = z.object({
|
|
17
|
+
tools: z.array(toolInstanceSchema).optional(),
|
|
18
|
+
memory: memoryInstanceSchema.optional(),
|
|
19
|
+
}).strict();
|
|
20
|
+
|
|
21
|
+
return z.object({
|
|
22
|
+
parameters: z.object({
|
|
23
|
+
resource: z.literal('video'),
|
|
24
|
+
operation: z.literal('generate').default('generate'),
|
|
25
|
+
modelId: z.union([z.object({ __rl: z.literal(true), mode: z.union([z.literal('list'), z.literal('id')]), value: z.union([z.string(), z.number()]), cachedResultName: z.string().optional(), cachedResultUrl: z.string().optional() }), expressionSchema]).optional(),
|
|
26
|
+
prompt: stringOrExpression.optional(),
|
|
27
|
+
seconds: numberOrExpression.optional(),
|
|
28
|
+
size: z.union([z.literal('720x1280'), z.literal('1280x720'), z.literal('1024x1792'), z.literal('1792x1024'), expressionSchema]).optional(),
|
|
29
|
+
options: z.object({ binaryPropertyNameReference: stringOrExpression.optional(), waitTime: numberOrExpression.optional(), fileName: stringOrExpression.optional() }).optional(),
|
|
30
|
+
}).optional(),
|
|
31
|
+
subnodes: subnodesSchema.optional(),
|
|
32
|
+
});
|
|
33
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Node - Version 2.2
|
|
3
|
+
* Discriminator: resource=video, operation=generate
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
interface Credentials {
|
|
8
|
+
openAiApi: CredentialReference;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** Creates audio from a text prompt */
|
|
12
|
+
export type LcOpenAiV22VideoGenerateParams = {
|
|
13
|
+
resource: 'video';
|
|
14
|
+
operation: 'generate';
|
|
15
|
+
/**
|
|
16
|
+
* Model
|
|
17
|
+
* @searchListMethod videoModelSearch
|
|
18
|
+
* @default {"mode":"list","value":""}
|
|
19
|
+
*/
|
|
20
|
+
modelId?: { __rl: true; mode: 'list' | 'id'; value: string; cachedResultName?: string };
|
|
21
|
+
/**
|
|
22
|
+
* The prompt to generate a video from
|
|
23
|
+
* @default A video of a cat playing with a ball
|
|
24
|
+
*/
|
|
25
|
+
prompt?: string | Expression<string> | PlaceholderValue;
|
|
26
|
+
/**
|
|
27
|
+
* Clip duration in seconds
|
|
28
|
+
* @default 4
|
|
29
|
+
*/
|
|
30
|
+
seconds?: number | Expression<number>;
|
|
31
|
+
/**
|
|
32
|
+
* Output resolution formatted as width x height. 1024x1792 and 1792x1024 are only supported by Sora 2 Pro.
|
|
33
|
+
* @default 1280x720
|
|
34
|
+
*/
|
|
35
|
+
size?: '720x1280' | '1280x720' | '1024x1792' | '1792x1024' | Expression<string>;
|
|
36
|
+
/**
|
|
37
|
+
* Options
|
|
38
|
+
* @default {}
|
|
39
|
+
*/
|
|
40
|
+
options?: {
|
|
41
|
+
/** Optional image reference that guides generation
|
|
42
|
+
* @default data
|
|
43
|
+
*/
|
|
44
|
+
binaryPropertyNameReference?: string | Expression<string> | PlaceholderValue;
|
|
45
|
+
/** Time to wait for the video to be generated in seconds
|
|
46
|
+
* @default 300
|
|
47
|
+
*/
|
|
48
|
+
waitTime?: number | Expression<number>;
|
|
49
|
+
/** Output Field Name
|
|
50
|
+
* @hint The name of the output field to put the binary file data in
|
|
51
|
+
* @default data
|
|
52
|
+
*/
|
|
53
|
+
fileName?: string | Expression<string> | PlaceholderValue;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export interface LcOpenAiV22VideoGenerateSubnodeConfig {
|
|
58
|
+
tools?: ToolInstance[];
|
|
59
|
+
memory?: MemoryInstance;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export type LcOpenAiV22VideoGenerateNode = {
|
|
63
|
+
type: '@n8n/n8n-nodes-langchain.openAi';
|
|
64
|
+
version: 2.2;
|
|
65
|
+
credentials?: Credentials;
|
|
66
|
+
config: NodeConfig<LcOpenAiV22VideoGenerateParams> & { subnodes?: LcOpenAiV22VideoGenerateSubnodeConfig };
|
|
67
|
+
};
|
|
@@ -44,7 +44,7 @@ class LmChatAlibabaCloud {
|
|
|
44
44
|
],
|
|
45
45
|
requestDefaults: {
|
|
46
46
|
ignoreHttpStatusErrors: true,
|
|
47
|
-
baseURL: alibaba_cloud_base_url_1.
|
|
47
|
+
baseURL: `={{ $credentials?.url + "${alibaba_cloud_base_url_1.COMPATIBLE_MODE_SUFFIX}" }}`,
|
|
48
48
|
},
|
|
49
49
|
properties: [
|
|
50
50
|
(0, ai_utilities_1.getConnectionHintNoticeField)([n8n_workflow_1.NodeConnectionTypes.AiChain, n8n_workflow_1.NodeConnectionTypes.AiAgent]),
|
|
@@ -196,7 +196,7 @@ class LmChatAlibabaCloud {
|
|
|
196
196
|
if (credentials.region === 'eu-central-1' && !credentials.workspaceId) {
|
|
197
197
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Workspace ID is required for the Germany (Frankfurt) region');
|
|
198
198
|
}
|
|
199
|
-
const baseURL =
|
|
199
|
+
const baseURL = credentials.url + alibaba_cloud_base_url_1.COMPATIBLE_MODE_SUFFIX;
|
|
200
200
|
const timeout = options.timeout;
|
|
201
201
|
const configuration = {
|
|
202
202
|
baseURL,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LmChatAlibabaCloud.node.js","sourceRoot":"","sources":["../../../../nodes/llms/LmChatAlibabaCloud/LmChatAlibabaCloud.node.ts"],"names":[],"mappings":";;;AAAA,8CAAmE;AACnE,oDAK2B;AAC3B,+CAOsB;AAEtB,
|
|
1
|
+
{"version":3,"file":"LmChatAlibabaCloud.node.js","sourceRoot":"","sources":["../../../../nodes/llms/LmChatAlibabaCloud/LmChatAlibabaCloud.node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
export declare
|
|
3
|
-
export declare const BASE_URL_EXPRESSION: string;
|
|
1
|
+
export declare const REGION_BASE_HOSTS: Record<string, string>;
|
|
2
|
+
export declare const COMPATIBLE_MODE_SUFFIX = "/compatible-mode/v1";
|
|
@@ -1,30 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
5
|
-
exports.getBaseUrl = getBaseUrl;
|
|
6
|
-
const REGION_BASE_HOSTS = {
|
|
3
|
+
exports.COMPATIBLE_MODE_SUFFIX = exports.REGION_BASE_HOSTS = void 0;
|
|
4
|
+
exports.REGION_BASE_HOSTS = {
|
|
7
5
|
'ap-southeast-1': 'https://dashscope-intl.aliyuncs.com',
|
|
8
6
|
'us-east-1': 'https://dashscope-us.aliyuncs.com',
|
|
9
7
|
'cn-beijing': 'https://dashscope.aliyuncs.com',
|
|
10
8
|
'cn-hongkong': 'https://cn-hongkong.dashscope.aliyuncs.com',
|
|
11
9
|
};
|
|
12
|
-
|
|
13
|
-
function getBaseHost(region, workspaceId) {
|
|
14
|
-
if (region === 'eu-central-1') {
|
|
15
|
-
return `https://${workspaceId}.eu-central-1.maas.aliyuncs.com`;
|
|
16
|
-
}
|
|
17
|
-
return REGION_BASE_HOSTS[region] ?? REGION_BASE_HOSTS['ap-southeast-1'];
|
|
18
|
-
}
|
|
19
|
-
function getBaseUrl(region, workspaceId) {
|
|
20
|
-
return getBaseHost(region, workspaceId) + COMPATIBLE_MODE_SUFFIX;
|
|
21
|
-
}
|
|
22
|
-
exports.BASE_URL_EXPRESSION = `={{ (() => {
|
|
23
|
-
const hosts = ${JSON.stringify(REGION_BASE_HOSTS)};
|
|
24
|
-
const region = $credentials.region;
|
|
25
|
-
if (region === 'eu-central-1') {
|
|
26
|
-
return 'https://' + $credentials.workspaceId + '.eu-central-1.maas.aliyuncs.com' + '${COMPATIBLE_MODE_SUFFIX}';
|
|
27
|
-
}
|
|
28
|
-
return (hosts[region] || hosts['ap-southeast-1']) + '${COMPATIBLE_MODE_SUFFIX}';
|
|
29
|
-
})() }}`;
|
|
10
|
+
exports.COMPATIBLE_MODE_SUFFIX = '/compatible-mode/v1';
|
|
30
11
|
//# sourceMappingURL=alibaba-cloud-base-url.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alibaba-cloud-base-url.js","sourceRoot":"","sources":["../../../../nodes/llms/LmChatAlibabaCloud/alibaba-cloud-base-url.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"alibaba-cloud-base-url.js","sourceRoot":"","sources":["../../../../nodes/llms/LmChatAlibabaCloud/alibaba-cloud-base-url.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAA2B;IACxD,gBAAgB,EAAE,qCAAqC;IACvD,WAAW,EAAE,mCAAmC;IAChD,YAAY,EAAE,gCAAgC;IAC9C,aAAa,EAAE,4CAA4C;CAC3D,CAAC;AAEW,QAAA,sBAAsB,GAAG,qBAAqB,CAAC"}
|
|
@@ -5,7 +5,6 @@ type RequestParameters = {
|
|
|
5
5
|
qs?: IDataObject;
|
|
6
6
|
option?: IDataObject;
|
|
7
7
|
};
|
|
8
|
-
export declare function getBaseUrl(credentials: IDataObject): string;
|
|
9
8
|
export declare function apiRequest(this: IExecuteFunctions | ILoadOptionsFunctions, method: IHttpRequestMethods, endpoint: string, parameters?: RequestParameters): Promise<any>;
|
|
10
9
|
export declare function pollTaskResult(this: IExecuteFunctions, taskId: string, pollIntervalMs?: number): Promise<IDataObject>;
|
|
11
10
|
export {};
|
|
@@ -1,25 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getBaseUrl = getBaseUrl;
|
|
4
3
|
exports.apiRequest = apiRequest;
|
|
5
4
|
exports.pollTaskResult = pollTaskResult;
|
|
6
5
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
7
|
-
const alibaba_cloud_base_url_1 = require("../../../llms/LmChatAlibabaCloud/alibaba-cloud-base-url");
|
|
8
|
-
function getBaseUrl(credentials) {
|
|
9
|
-
const region = credentials.region || 'ap-southeast-1';
|
|
10
|
-
if (region === 'eu-central-1' && !credentials.workspaceId) {
|
|
11
|
-
throw new n8n_workflow_1.UserError('Workspace ID is required for the Germany (Frankfurt) region');
|
|
12
|
-
}
|
|
13
|
-
return (0, alibaba_cloud_base_url_1.getBaseHost)(region, credentials.workspaceId);
|
|
14
|
-
}
|
|
15
6
|
const TERMINAL_STATUSES = ['SUCCEEDED', 'FAILED', 'CANCELED'];
|
|
16
7
|
const DEFAULT_POLL_INTERVAL_MS = 15_000;
|
|
17
8
|
const MAX_POLL_ATTEMPTS = 60;
|
|
18
9
|
async function apiRequest(method, endpoint, parameters) {
|
|
19
10
|
const { body, qs, option } = parameters ?? {};
|
|
20
11
|
const credentials = await this.getCredentials('alibabaCloudApi');
|
|
21
|
-
const
|
|
22
|
-
const uri = `${baseUrl}${endpoint}`;
|
|
12
|
+
const uri = `${credentials.url}${endpoint}`;
|
|
23
13
|
const headers = parameters?.headers ?? {};
|
|
24
14
|
const options = {
|
|
25
15
|
headers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/vendors/AlibabaCloud/transport/index.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/vendors/AlibabaCloud/transport/index.ts"],"names":[],"mappings":";;AAmBA,gCAqCC;AASD,wCAkCC;AA7FD,+CAAyD;AASzD,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC9D,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEtB,KAAK,UAAU,UAAU,CAE/B,MAA2B,EAC3B,QAAgB,EAChB,UAA8B;IAE9B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,UAAU,IAAI,EAAE,CAAC;IAE9C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAEjE,MAAM,GAAG,GAAG,GAAG,WAAW,CAAC,GAAa,GAAG,QAAQ,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC;IAE1C,MAAM,OAAO,GAAG;QACf,OAAO;QACP,MAAM;QACN,IAAI;QACJ,EAAE;QACF,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,IAAI;KACV,CAAC;IAEF,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CACrE,IAAI,EACJ,iBAAiB,EACjB,OAAO,CACP,CAAC;IAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC,KAAK,CAAC;IACvB,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AASM,KAAK,UAAU,cAAc,CAEnC,MAAc,EACd,iBAAyB,wBAAwB;IAEjD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,iBAAiB,MAAM,EAAE,CAAC,CAAC;QAE/E,MAAM,UAAU,GAAG,QAAQ,EAAE,MAAM,EAAE,WAAqB,CAAC;QAE3D,IAAI,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,QAAQ,EAAE,MAAM,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,IAAI,SAAS,CAAC;gBACxE,MAAM,YAAY,GACjB,QAAQ,EAAE,MAAM,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,IAAI,8BAA8B,CAAC;gBAClF,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,iBAAiB,SAAS,KAAK,YAAY,EAAE,CAAC,CAAC;YAC7F,CAAC;YAED,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC/B,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,oCAAoC,CAAC,CAAC;YACpF,CAAC;YAGD,OAAO,QAAuB,CAAC;QAChC,CAAC;QAGD,MAAM,IAAA,oBAAK,EAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,IAAI,iCAAkB,CAC3B,IAAI,CAAC,OAAO,EAAE,EACd,QAAQ,MAAM,qIAAqI,CACnJ,CAAC;AACH,CAAC"}
|
|
@@ -163,8 +163,10 @@ async function execute(i) {
|
|
|
163
163
|
if (!imagePart?.inlineData?.data) {
|
|
164
164
|
throw new Error('No image data returned from Gemini API');
|
|
165
165
|
}
|
|
166
|
+
const mimeType = imagePart.inlineData.mimeType;
|
|
167
|
+
const fileName = (0, utils_1.getFilenameFromMimeType)(mimeType, 'image', 'png');
|
|
166
168
|
const bufferOut = Buffer.from(imagePart.inlineData.data, 'base64');
|
|
167
|
-
const binaryOut = await this.helpers.prepareBinaryData(bufferOut,
|
|
169
|
+
const binaryOut = await this.helpers.prepareBinaryData(bufferOut, fileName, mimeType);
|
|
168
170
|
return {
|
|
169
171
|
binary: {
|
|
170
172
|
[outputKey]: binaryOut,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.operation.js","sourceRoot":"","sources":["../../../../../../nodes/vendors/GoogleGemini/actions/image/edit.operation.ts"],"names":[],"mappings":";;;AAgJA,
|
|
1
|
+
{"version":3,"file":"edit.operation.js","sourceRoot":"","sources":["../../../../../../nodes/vendors/GoogleGemini/actions/image/edit.operation.ts"],"names":[],"mappings":"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"}
|