@realtimex/email-automator 2.14.0 → 2.14.1

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.
@@ -255,6 +255,48 @@ export class SDKService {
255
255
  };
256
256
  }
257
257
 
258
+ // If only model is set, use default provider with custom model
259
+ if (!settings.llm_provider && settings.llm_model) {
260
+ const defaultProvider = await this.getDefaultChatProvider();
261
+ return {
262
+ provider: defaultProvider.provider,
263
+ model: settings.llm_model,
264
+ isDefaultFallback: false
265
+ };
266
+ }
267
+
268
+ // If only provider is set, use custom provider with its default model
269
+ if (settings.llm_provider && !settings.llm_model) {
270
+ const sdk = this.getSDK();
271
+ if (sdk) {
272
+ try {
273
+ const { providers } = await this.withTimeout<ProvidersResponse>(
274
+ sdk.llm.chatProviders(),
275
+ 30000,
276
+ 'Chat providers fetch timed out'
277
+ );
278
+ if (providers) {
279
+ const provider = providers.find(p => p.provider === settings.llm_provider);
280
+ if (provider && provider.models && provider.models.length > 0) {
281
+ return {
282
+ provider: settings.llm_provider,
283
+ model: provider.models[0].id,
284
+ isDefaultFallback: false
285
+ };
286
+ }
287
+ }
288
+ } catch (error: any) {
289
+ logger.warn(`Failed to fetch models for provider ${settings.llm_provider}`, { error: error?.message || String(error) });
290
+ }
291
+ }
292
+ // Fallback to using the provider with hardcoded default model
293
+ return {
294
+ provider: settings.llm_provider,
295
+ model: this.DEFAULT_LLM_MODEL,
296
+ isDefaultFallback: true
297
+ };
298
+ }
299
+
258
300
  // Try to get from SDK discovery first
259
301
  return await this.getDefaultChatProvider();
260
302
  }
@@ -215,6 +215,43 @@ export class SDKService {
215
215
  isDefaultFallback: false
216
216
  };
217
217
  }
218
+ // If only model is set, use default provider with custom model
219
+ if (!settings.llm_provider && settings.llm_model) {
220
+ const defaultProvider = await this.getDefaultChatProvider();
221
+ return {
222
+ provider: defaultProvider.provider,
223
+ model: settings.llm_model,
224
+ isDefaultFallback: false
225
+ };
226
+ }
227
+ // If only provider is set, use custom provider with its default model
228
+ if (settings.llm_provider && !settings.llm_model) {
229
+ const sdk = this.getSDK();
230
+ if (sdk) {
231
+ try {
232
+ const { providers } = await this.withTimeout(sdk.llm.chatProviders(), 30000, 'Chat providers fetch timed out');
233
+ if (providers) {
234
+ const provider = providers.find(p => p.provider === settings.llm_provider);
235
+ if (provider && provider.models && provider.models.length > 0) {
236
+ return {
237
+ provider: settings.llm_provider,
238
+ model: provider.models[0].id,
239
+ isDefaultFallback: false
240
+ };
241
+ }
242
+ }
243
+ }
244
+ catch (error) {
245
+ logger.warn(`Failed to fetch models for provider ${settings.llm_provider}`, { error: error?.message || String(error) });
246
+ }
247
+ }
248
+ // Fallback to using the provider with hardcoded default model
249
+ return {
250
+ provider: settings.llm_provider,
251
+ model: this.DEFAULT_LLM_MODEL,
252
+ isDefaultFallback: true
253
+ };
254
+ }
218
255
  // Try to get from SDK discovery first
219
256
  return await this.getDefaultChatProvider();
220
257
  }