libre-webui 0.8.5 → 0.10.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 (94) hide show
  1. package/backend/dist/index.d.ts.map +1 -1
  2. package/backend/dist/index.js +8 -39
  3. package/backend/dist/index.js.map +1 -1
  4. package/backend/dist/middleware/auth.d.ts.map +1 -1
  5. package/backend/dist/middleware/auth.js +3 -18
  6. package/backend/dist/middleware/auth.js.map +1 -1
  7. package/backend/dist/routes/chat.d.ts.map +1 -1
  8. package/backend/dist/routes/chat.js +41 -34
  9. package/backend/dist/routes/chat.js.map +1 -1
  10. package/backend/dist/routes/embeddings.d.ts +3 -0
  11. package/backend/dist/routes/embeddings.d.ts.map +1 -0
  12. package/backend/dist/routes/embeddings.js +52 -0
  13. package/backend/dist/routes/embeddings.js.map +1 -0
  14. package/backend/dist/routes/ollama.d.ts.map +1 -1
  15. package/backend/dist/routes/ollama.js +28 -5
  16. package/backend/dist/routes/ollama.js.map +1 -1
  17. package/backend/dist/routes/personas.d.ts.map +1 -1
  18. package/backend/dist/routes/personas.js +3 -1
  19. package/backend/dist/routes/personas.js.map +1 -1
  20. package/backend/dist/services/authService.d.ts.map +1 -1
  21. package/backend/dist/services/authService.js +7 -3
  22. package/backend/dist/services/authService.js.map +1 -1
  23. package/backend/dist/services/chatService.d.ts.map +1 -1
  24. package/backend/dist/services/chatService.js +9 -91
  25. package/backend/dist/services/chatService.js.map +1 -1
  26. package/backend/dist/services/documentService.js +2 -2
  27. package/backend/dist/services/documentService.js.map +1 -1
  28. package/backend/dist/services/embeddingService.d.ts +9 -0
  29. package/backend/dist/services/embeddingService.d.ts.map +1 -0
  30. package/backend/dist/services/embeddingService.js +153 -0
  31. package/backend/dist/services/embeddingService.js.map +1 -0
  32. package/backend/dist/services/memoryService.d.ts.map +1 -1
  33. package/backend/dist/services/memoryService.js +8 -13
  34. package/backend/dist/services/memoryService.js.map +1 -1
  35. package/backend/dist/services/mutationEngineService.d.ts.map +1 -1
  36. package/backend/dist/services/mutationEngineService.js +2 -2
  37. package/backend/dist/services/mutationEngineService.js.map +1 -1
  38. package/backend/dist/services/ollamaService.d.ts.map +1 -1
  39. package/backend/dist/services/ollamaService.js +31 -0
  40. package/backend/dist/services/ollamaService.js.map +1 -1
  41. package/backend/dist/services/personaService.d.ts.map +1 -1
  42. package/backend/dist/services/personaService.js +3 -1
  43. package/backend/dist/services/personaService.js.map +1 -1
  44. package/backend/dist/services/pluginService.d.ts +15 -2
  45. package/backend/dist/services/pluginService.d.ts.map +1 -1
  46. package/backend/dist/services/pluginService.js +179 -51
  47. package/backend/dist/services/pluginService.js.map +1 -1
  48. package/backend/dist/services/preferencesService.d.ts +1 -0
  49. package/backend/dist/services/preferencesService.d.ts.map +1 -1
  50. package/backend/dist/services/preferencesService.js +13 -1
  51. package/backend/dist/services/preferencesService.js.map +1 -1
  52. package/backend/dist/types/index.d.ts +6 -0
  53. package/backend/dist/types/index.d.ts.map +1 -1
  54. package/backend/dist/types/index.js.map +1 -1
  55. package/backend/dist/utils/packagePaths.d.ts +10 -0
  56. package/backend/dist/utils/packagePaths.d.ts.map +1 -0
  57. package/backend/dist/utils/packagePaths.js +81 -0
  58. package/backend/dist/utils/packagePaths.js.map +1 -0
  59. package/backend/package.json +55 -0
  60. package/frontend/dist/assets/index-cOuIFv6G.js +314 -0
  61. package/frontend/dist/assets/index-tuVjvNle.css +1 -0
  62. package/frontend/dist/index.html +11 -6
  63. package/frontend/dist/js/ArtifactContainer-DXa2t8GS.js +24 -0
  64. package/frontend/dist/js/ArtifactDemoPage-Dms7P2gI.js +98 -0
  65. package/frontend/dist/js/ChatPage-C6hOVIAS.js +15 -0
  66. package/frontend/dist/js/GalleryPage-CGKPECJV.js +1 -0
  67. package/frontend/dist/js/ModelsPage-CNB-c-JM.js +1 -0
  68. package/frontend/dist/js/PersonasPage-hDiS0Rvl.js +13 -0
  69. package/frontend/dist/js/UserManagementPage-1H9kcHeR.js +1 -0
  70. package/frontend/dist/js/api-MQ7bONaU.js +3 -0
  71. package/frontend/dist/js/appStore-BpzQfKOd.js +2 -0
  72. package/frontend/dist/js/authStore-Cn_WS6Kb.js +2 -0
  73. package/frontend/dist/js/demoMode-PKHbba1m.js +1 -0
  74. package/frontend/dist/js/markdown-vendor-DLzJCMRQ.js +22 -0
  75. package/frontend/dist/js/react-vendor-Dh6nfvM2.js +8 -0
  76. package/frontend/dist/js/rolldown-runtime-QTnfLwEv.js +1 -0
  77. package/frontend/dist/js/ui-vendor-ClcVY3m-.js +177 -0
  78. package/frontend/dist/js/utils-vendor-BCQRX-0Q.js +9 -0
  79. package/package.json +11 -9
  80. package/plugins/llama-cpp.json +93 -0
  81. package/frontend/dist/assets/index-fnpCaKr_.js +0 -51
  82. package/frontend/dist/css/index-WfujIMhR.css +0 -1
  83. package/frontend/dist/js/ArtifactContainer-CW_iHjsN.js +0 -24
  84. package/frontend/dist/js/ArtifactDemoPage-DkERDKtR.js +0 -98
  85. package/frontend/dist/js/ChatPage-D9dmPf4t.js +0 -281
  86. package/frontend/dist/js/GalleryPage-xkvacK1Y.js +0 -1
  87. package/frontend/dist/js/ModelsPage-CwUkhy1d.js +0 -1
  88. package/frontend/dist/js/PersonasPage-R8wVg6rE.js +0 -13
  89. package/frontend/dist/js/UserManagementPage-BbST0j99.js +0 -1
  90. package/frontend/dist/js/markdown-vendor-B0lXrrRZ.js +0 -22
  91. package/frontend/dist/js/react-vendor-l0sNRNKZ.js +0 -1
  92. package/frontend/dist/js/router-vendor-DdQhGl5t.js +0 -10
  93. package/frontend/dist/js/ui-vendor-C4ZcWovR.js +0 -177
  94. package/frontend/dist/js/utils-vendor-BFlGJDIj.js +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"personaService.d.ts","sourceRoot":"","sources":["../../src/services/personaService.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACd,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,cAAc;IACzB;;OAEG;IACG,WAAW,CAAC,MAAM,GAAE,MAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAsBjE;;OAEG;YACW,mBAAmB;IAiHjC;;OAEG;IACG,gBAAgB,CAAC,MAAM,GAAE,MAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAItE;;OAEG;IACG,cAAc,CAClB,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,MAAkB,GACzB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAe1B;;OAEG;IACG,mBAAmB,CACvB,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,MAAkB,GACzB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAI1B;;OAEG;IACG,aAAa,CACjB,IAAI,EAAE,oBAAoB,EAC1B,MAAM,GAAE,MAAkB,GACzB,OAAO,CAAC,OAAO,CAAC;IAqFnB;;OAEG;YACW,0BAA0B;IA+BxC;;OAEG;IACG,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,oBAAoB,EAC1B,MAAM,GAAE,MAAkB,GACzB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAgF1B;;OAEG;IACG,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,MAAkB,GACzB,OAAO,CAAC,OAAO,CAAC;IASnB;;OAEG;IACG,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,MAAkB,GACzB,OAAO,CAAC,aAAa,CAAC;IAsBzB;;OAEG;IACG,aAAa,CACjB,WAAW,EAAE,aAAa,EAC1B,MAAM,GAAE,MAAkB,GACzB,OAAO,CAAC,OAAO,CAAC;IAgCnB;;OAEG;IACG,gBAAgB,CAAC,MAAM,GAAE,MAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAInE;;OAEG;IACH,oBAAoB;;;;;;;;;;;CAarB;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
1
+ {"version":3,"file":"personaService.d.ts","sourceRoot":"","sources":["../../src/services/personaService.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACd,MAAM,mBAAmB,CAAC;AAE3B,qBAAa,cAAc;IACzB;;OAEG;IACG,WAAW,CAAC,MAAM,GAAE,MAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAsBjE;;OAEG;YACW,mBAAmB;IAkHjC;;OAEG;IACG,gBAAgB,CAAC,MAAM,GAAE,MAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAItE;;OAEG;IACG,cAAc,CAClB,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,MAAkB,GACzB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAe1B;;OAEG;IACG,mBAAmB,CACvB,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,MAAkB,GACzB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAI1B;;OAEG;IACG,aAAa,CACjB,IAAI,EAAE,oBAAoB,EAC1B,MAAM,GAAE,MAAkB,GACzB,OAAO,CAAC,OAAO,CAAC;IAqFnB;;OAEG;YACW,0BAA0B;IA+BxC;;OAEG;IACG,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,oBAAoB,EAC1B,MAAM,GAAE,MAAkB,GACzB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAgF1B;;OAEG;IACG,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,MAAkB,GACzB,OAAO,CAAC,OAAO,CAAC;IASnB;;OAEG;IACG,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,MAAkB,GACzB,OAAO,CAAC,aAAa,CAAC;IAsBzB;;OAEG;IACG,aAAa,CACjB,WAAW,EAAE,aAAa,EAC1B,MAAM,GAAE,MAAkB,GACzB,OAAO,CAAC,OAAO,CAAC;IAgCnB;;OAEG;IACG,gBAAgB,CAAC,MAAM,GAAE,MAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAInE;;OAEG;IACH,oBAAoB;;;;;;;;;;;CAarB;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -15,6 +15,7 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  import { personaModel } from '../models/personaModel.js';
18
+ import preferencesService from './preferencesService.js';
18
19
  export class PersonaService {
19
20
  /**
20
21
  * Get all personas for a user with optional advanced features
@@ -89,7 +90,8 @@ export class PersonaService {
89
90
  memorySettings ||
90
91
  mutationSettings) {
91
92
  return {
92
- embedding_model: personaAdvancedData.embedding_model || 'nomic-embed-text',
93
+ embedding_model: personaAdvancedData.embedding_model ||
94
+ preferencesService.getDefaultEmbeddingModel(userId),
93
95
  memory_settings: memorySettings || {
94
96
  enabled: true,
95
97
  max_memories: 1000,
@@ -1 +1 @@
1
- {"version":3,"file":"personaService.js","sourceRoot":"","sources":["../../src/services/personaService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"personaService.js","sourceRoot":"","sources":["../../src/services/personaService.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Plugin, PluginStatus, PluginResponse, ChatMessage, GenerationOptions, TTSConfig, ImageGenConfig, ImageGenResponse, PluginType } from '../types/index.js';
1
+ import { EmbeddingModel, OllamaEmbeddingsResponse, Plugin, PluginStatus, PluginResponse, ChatMessage, GenerationOptions, TTSConfig, ImageGenConfig, ImageGenResponse, PluginType } from '../types/index.js';
2
2
  declare class PluginService {
3
3
  private pluginsDir;
4
4
  private activePluginIds;
@@ -17,6 +17,7 @@ declare class PluginService {
17
17
  * Get resolved variable values for a plugin (decrypted, typed).
18
18
  */
19
19
  getPluginVariables(plugin: Plugin, userId?: string): Record<string, string | number | boolean>;
20
+ private getEmbeddingCapability;
20
21
  /**
21
22
  * Validate an endpoint URL for safety (SSRF protection).
22
23
  * Returns the URL string if valid, or null if invalid.
@@ -27,7 +28,7 @@ declare class PluginService {
27
28
  * Hits {baseUrl}/v1/models (OpenAI-compatible) and updates the plugin's model_map.
28
29
  * Falls back silently to the existing model_map if the endpoint is unavailable.
29
30
  */
30
- discoverModels(pluginId: string): Promise<string[]>;
31
+ discoverModels(pluginId: string, userId?: string): Promise<string[]>;
31
32
  getAllPlugins(): Plugin[];
32
33
  getPlugin(id: string): Plugin | null;
33
34
  installPlugin(pluginData: Plugin): Plugin;
@@ -59,6 +60,18 @@ declare class PluginService {
59
60
  exportPlugin(id: string): Plugin | null;
60
61
  importPlugin(pluginData: unknown): Plugin;
61
62
  getPluginForTTS(model: string): Plugin | null;
63
+ getPluginForEmbedding(model: string, pluginId?: string, userId?: string): Plugin | null;
64
+ getAvailableEmbeddingModels(userId?: string): Array<{
65
+ model: string;
66
+ plugin: string;
67
+ pluginName: string;
68
+ provider: EmbeddingModel['provider'];
69
+ description?: string;
70
+ fromEmbeddingCapability?: boolean;
71
+ }>;
72
+ executeEmbeddingRequest(model: string, input: string | string[], pluginId?: string, userId?: string): Promise<OllamaEmbeddingsResponse>;
73
+ private getEmbeddingEndpoint;
74
+ private getModelsEndpoint;
62
75
  getAvailableTTSModels(): {
63
76
  model: string;
64
77
  plugin: string;
@@ -1 +1 @@
1
- {"version":3,"file":"pluginService.d.ts","sourceRoot":"","sources":["../../src/services/pluginService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pluginService.d.ts","sourceRoot":"","sources":["../../src/services/pluginService.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,9 @@ class PluginService {
76
76
  }
77
77
  return pluginVariablesService.getResolvedVariables(plugin.id, plugin.variables, userId);
78
78
  }
79
+ getEmbeddingCapability(plugin) {
80
+ return plugin.capabilities?.embedding;
81
+ }
79
82
  /**
80
83
  * Validate an endpoint URL for safety (SSRF protection).
81
84
  * Returns the URL string if valid, or null if invalid.
@@ -101,20 +104,15 @@ class PluginService {
101
104
  * Hits {baseUrl}/v1/models (OpenAI-compatible) and updates the plugin's model_map.
102
105
  * Falls back silently to the existing model_map if the endpoint is unavailable.
103
106
  */
104
- async discoverModels(pluginId) {
107
+ async discoverModels(pluginId, userId) {
105
108
  const plugin = this.getPlugin(pluginId);
106
109
  if (!plugin)
107
110
  return [];
108
- // Derive base URL from endpoint (strip /v1/chat/completions etc.)
109
- let baseUrl;
110
- try {
111
- const url = new URL(plugin.endpoint);
112
- baseUrl = `${url.protocol}//${url.host}`;
113
- }
114
- catch {
115
- return plugin.model_map;
116
- }
117
- const apiKey = this.getApiKey(plugin);
111
+ const pluginVars = this.getPluginVariables(plugin, userId);
112
+ const endpointOverride = pluginVars.endpoint;
113
+ const effectiveEndpoint = (endpointOverride && this.validateEndpointUrl(endpointOverride)) ||
114
+ plugin.endpoint;
115
+ const apiKey = this.getApiKey(plugin, userId);
118
116
  const headers = {
119
117
  Accept: 'application/json',
120
118
  };
@@ -125,7 +123,7 @@ class PluginService {
125
123
  headers[plugin.auth.header] = authValue;
126
124
  }
127
125
  try {
128
- const response = await axios.get(`${baseUrl}/v1/models`, {
126
+ const response = await axios.get(this.getModelsEndpoint(effectiveEndpoint), {
129
127
  headers,
130
128
  timeout: 5000,
131
129
  });
@@ -238,27 +236,23 @@ class PluginService {
238
236
  }
239
237
  // Delete a plugin
240
238
  deletePlugin(id) {
241
- console.log('[Plugin Delete] Attempting to delete plugin:', id);
242
- console.log('[Plugin Delete] Plugins directory:', this.pluginsDir);
243
239
  // Validate the ID parameter using a strict pattern (allows dots for version numbers like 1.6b)
244
240
  const idPattern = /^[a-zA-Z0-9._-]+$/;
245
241
  if (!idPattern.test(id)) {
246
- console.error('[Plugin Delete] Invalid plugin ID format:', id);
242
+ console.error('Invalid plugin ID format:', id);
247
243
  return false;
248
244
  }
249
245
  // Sanitize the ID to prevent path traversal
250
246
  const sanitizedId = sanitize(id);
251
247
  if (!sanitizedId || sanitizedId !== id) {
252
- console.error('[Plugin Delete] Plugin ID failed sanitization:', id);
248
+ console.error('Plugin ID failed sanitization:', id);
253
249
  return false;
254
250
  }
255
251
  const filePath = path.resolve(this.pluginsDir, `${sanitizedId}.json`);
256
- console.log('[Plugin Delete] Resolved file path:', filePath);
257
- console.log('[Plugin Delete] File exists:', fs.existsSync(filePath));
258
252
  // Ensure the file path is within the plugins directory
259
253
  if (!filePath.startsWith(path.resolve(this.pluginsDir)) ||
260
254
  !fs.existsSync(filePath)) {
261
- console.error('[Plugin Delete] File path is invalid or does not exist:', filePath);
255
+ console.error('File path is invalid or does not exist:', filePath);
262
256
  return false;
263
257
  }
264
258
  try {
@@ -303,34 +297,25 @@ class PluginService {
303
297
  }
304
298
  // Get the active plugin for a specific model
305
299
  getActivePluginForModel(model) {
306
- console.log(`[DEBUG] Looking for plugin for model: ${model}`);
307
300
  // Get all available plugins (not just active ones)
308
301
  const allPlugins = this.getAllPlugins();
309
- console.log(`[DEBUG] Available plugins:`, allPlugins.map(p => p.id));
310
302
  // Find the plugin that supports this model
311
303
  for (const plugin of allPlugins) {
312
- console.log(`[DEBUG] Checking plugin ${plugin.id} with model_map:`, plugin.model_map);
313
304
  if (plugin.model_map.includes(model)) {
314
- console.log(`[DEBUG] Found plugin ${plugin.id} for model ${model}`);
315
305
  // Check if we have the required API key (from DB or env)
316
306
  const apiKey = this.getApiKey(plugin);
317
307
  if (!apiKey) {
318
- console.log(`[DEBUG] Plugin ${plugin.id} found but API key not set (checked DB and ${plugin.auth.key_env})`);
319
308
  continue;
320
309
  }
321
310
  return plugin;
322
311
  }
323
312
  }
324
- console.log(`[DEBUG] No plugin found for model: ${model}`);
325
313
  return null;
326
314
  }
327
315
  // Get all currently active plugins
328
316
  getActivePlugins() {
329
317
  const allPlugins = this.getAllPlugins();
330
- console.log('All plugins:', allPlugins.map(p => ({ id: p.id, active: p.active })));
331
- console.log('Active plugin IDs in memory:', Array.from(this.activePluginIds));
332
318
  const activePlugins = allPlugins.filter(plugin => this.activePluginIds.has(plugin.id));
333
- console.log('Filtered active plugins:', activePlugins.map(p => p.id));
334
319
  return activePlugins;
335
320
  }
336
321
  // Legacy method for backward compatibility - returns first active plugin
@@ -952,21 +937,18 @@ class PluginService {
952
937
  // ============================================
953
938
  // Get plugin that supports TTS for a specific model
954
939
  getPluginForTTS(model) {
955
- console.log(`[DEBUG] Looking for TTS plugin for model: ${model}`);
956
940
  const allPlugins = this.getAllPlugins();
957
941
  for (const plugin of allPlugins) {
958
942
  // Check if plugin has TTS capability
959
943
  if (plugin.capabilities?.tts) {
960
944
  const ttsCapability = plugin.capabilities.tts;
961
945
  if (ttsCapability.model_map.includes(model)) {
962
- console.log(`[DEBUG] Found TTS plugin ${plugin.id} for model ${model}`);
963
946
  // Check if no auth is required (e.g., local TTS servers)
964
947
  const noAuthRequired = ttsCapability.config
965
948
  ?.no_auth_required === true;
966
949
  // Check if we have the required API key (from DB or env)
967
950
  const apiKey = this.getApiKey(plugin);
968
951
  if (!apiKey && !noAuthRequired) {
969
- console.log(`[DEBUG] Plugin ${plugin.id} found but API key not set (checked DB and ${plugin.auth.key_env})`);
970
952
  continue;
971
953
  }
972
954
  return plugin;
@@ -974,20 +956,183 @@ class PluginService {
974
956
  }
975
957
  // Also check primary type for backward compatibility with TTS-only plugins
976
958
  if (plugin.type === 'tts' && plugin.model_map.includes(model)) {
977
- console.log(`[DEBUG] Found TTS-type plugin ${plugin.id} for model ${model}`);
978
959
  // Check if no auth is required
979
960
  const noAuthRequired = plugin.capabilities?.tts?.config?.no_auth_required === true;
980
961
  const apiKey = this.getApiKey(plugin);
981
962
  if (!apiKey && !noAuthRequired) {
982
- console.log(`[DEBUG] Plugin ${plugin.id} found but API key not set (checked DB and ${plugin.auth.key_env})`);
983
963
  continue;
984
964
  }
985
965
  return plugin;
986
966
  }
987
967
  }
988
- console.log(`[DEBUG] No TTS plugin found for model: ${model}`);
989
968
  return null;
990
969
  }
970
+ getPluginForEmbedding(model, pluginId, userId) {
971
+ const allPlugins = this.getAllPlugins();
972
+ for (const plugin of allPlugins) {
973
+ if (pluginId && plugin.id !== pluginId) {
974
+ continue;
975
+ }
976
+ const embeddingCapability = this.getEmbeddingCapability(plugin);
977
+ const supportsEmbedding = embeddingCapability?.model_map.includes(model) ||
978
+ ((plugin.type === 'embedding' ||
979
+ plugin.type === 'completion' ||
980
+ plugin.type === 'chat') &&
981
+ plugin.model_map.includes(model));
982
+ if (!supportsEmbedding) {
983
+ continue;
984
+ }
985
+ const noAuthRequired = embeddingCapability?.config
986
+ ?.no_auth_required === true;
987
+ const apiKey = this.getApiKey(plugin, userId);
988
+ if (apiKey || noAuthRequired) {
989
+ return plugin;
990
+ }
991
+ }
992
+ return null;
993
+ }
994
+ getAvailableEmbeddingModels(userId) {
995
+ const models = [];
996
+ const allPlugins = this.getAllPlugins();
997
+ for (const plugin of allPlugins) {
998
+ const embeddingCapability = this.getEmbeddingCapability(plugin);
999
+ const noAuthRequired = embeddingCapability?.config
1000
+ ?.no_auth_required === true;
1001
+ const apiKey = this.getApiKey(plugin, userId);
1002
+ if (!apiKey && !noAuthRequired) {
1003
+ continue;
1004
+ }
1005
+ const provider = plugin.id === 'huggingface' ? 'huggingface' : 'openai';
1006
+ const modelMap = embeddingCapability?.model_map ||
1007
+ ((plugin.type === 'embedding' ||
1008
+ plugin.type === 'completion' ||
1009
+ plugin.type === 'chat') &&
1010
+ Array.isArray(plugin.model_map)
1011
+ ? plugin.model_map
1012
+ : []);
1013
+ for (const model of modelMap) {
1014
+ models.push({
1015
+ model,
1016
+ plugin: plugin.id,
1017
+ pluginName: plugin.name,
1018
+ provider,
1019
+ description: embeddingCapability
1020
+ ? 'Embedding provider'
1021
+ : 'OpenAI-compatible provider',
1022
+ fromEmbeddingCapability: Boolean(embeddingCapability),
1023
+ });
1024
+ }
1025
+ }
1026
+ return models;
1027
+ }
1028
+ async executeEmbeddingRequest(model, input, pluginId, userId) {
1029
+ if (!model || typeof model !== 'string') {
1030
+ throw new Error('Invalid model parameter: must be a non-empty string');
1031
+ }
1032
+ const modelPattern = /^[a-zA-Z0-9\-_:./]+$/;
1033
+ if (!modelPattern.test(model) ||
1034
+ model.includes('..') ||
1035
+ model.includes('\\')) {
1036
+ throw new Error(`Invalid model parameter: ${model}`);
1037
+ }
1038
+ const plugin = this.getPluginForEmbedding(model, pluginId, userId);
1039
+ if (!plugin) {
1040
+ throw new Error(`No embedding plugin found for model: ${model}`);
1041
+ }
1042
+ const embeddingCapability = this.getEmbeddingCapability(plugin);
1043
+ const noAuthRequired = embeddingCapability?.config
1044
+ ?.no_auth_required === true;
1045
+ const apiKey = this.getApiKey(plugin, userId);
1046
+ if (!apiKey && !noAuthRequired) {
1047
+ throw new Error(`API key not found for plugin ${plugin.id} (set via Settings or ${plugin.auth.key_env} env var)`);
1048
+ }
1049
+ const pluginVars = this.getPluginVariables(plugin, userId);
1050
+ const endpointOverride = pluginVars.endpoint;
1051
+ const effectiveEndpoint = (endpointOverride && this.validateEndpointUrl(endpointOverride)) ||
1052
+ embeddingCapability?.endpoint ||
1053
+ plugin.endpoint;
1054
+ const headers = {
1055
+ 'Content-Type': 'application/json',
1056
+ };
1057
+ if (apiKey && plugin.auth.header) {
1058
+ const authValue = plugin.auth.prefix
1059
+ ? `${plugin.auth.prefix}${apiKey}`
1060
+ : apiKey;
1061
+ headers[plugin.auth.header] = authValue;
1062
+ }
1063
+ const response = await axios.post(this.getEmbeddingEndpoint(effectiveEndpoint), {
1064
+ model,
1065
+ input,
1066
+ }, {
1067
+ headers,
1068
+ timeout: 60000,
1069
+ });
1070
+ if (Array.isArray(response.data?.embeddings)) {
1071
+ return {
1072
+ embeddings: response.data.embeddings,
1073
+ };
1074
+ }
1075
+ if (Array.isArray(response.data?.data)) {
1076
+ return {
1077
+ embeddings: response.data.data
1078
+ .map((entry) => entry.embedding)
1079
+ .filter((embedding) => Array.isArray(embedding)),
1080
+ };
1081
+ }
1082
+ throw new Error('Embedding provider returned an unexpected response');
1083
+ }
1084
+ getEmbeddingEndpoint(endpoint) {
1085
+ const url = new URL(endpoint);
1086
+ url.search = '';
1087
+ if (url.pathname.endsWith('/embeddings')) {
1088
+ return url.toString();
1089
+ }
1090
+ if (url.pathname.endsWith('/chat/completions')) {
1091
+ url.pathname = `${url.pathname.slice(0, -'/chat/completions'.length)}/embeddings`;
1092
+ return url.toString();
1093
+ }
1094
+ if (url.pathname.endsWith('/completions')) {
1095
+ url.pathname = `${url.pathname.slice(0, -'/completions'.length)}/embeddings`;
1096
+ return url.toString();
1097
+ }
1098
+ if (url.pathname.endsWith('/models')) {
1099
+ url.pathname = `${url.pathname.slice(0, -'/models'.length)}/embeddings`;
1100
+ return url.toString();
1101
+ }
1102
+ const basePath = url.pathname === '/'
1103
+ ? ''
1104
+ : url.pathname.endsWith('/')
1105
+ ? url.pathname.slice(0, -1)
1106
+ : url.pathname;
1107
+ url.pathname = `${basePath}/embeddings`;
1108
+ return url.toString();
1109
+ }
1110
+ getModelsEndpoint(endpoint) {
1111
+ const url = new URL(endpoint);
1112
+ url.search = '';
1113
+ if (url.pathname.endsWith('/models')) {
1114
+ return url.toString();
1115
+ }
1116
+ if (url.pathname.endsWith('/chat/completions')) {
1117
+ url.pathname = `${url.pathname.slice(0, -'/chat/completions'.length)}/models`;
1118
+ return url.toString();
1119
+ }
1120
+ if (url.pathname.endsWith('/completions')) {
1121
+ url.pathname = `${url.pathname.slice(0, -'/completions'.length)}/models`;
1122
+ return url.toString();
1123
+ }
1124
+ if (url.pathname.endsWith('/embeddings')) {
1125
+ url.pathname = `${url.pathname.slice(0, -'/embeddings'.length)}/models`;
1126
+ return url.toString();
1127
+ }
1128
+ const basePath = url.pathname === '/'
1129
+ ? ''
1130
+ : url.pathname.endsWith('/')
1131
+ ? url.pathname.slice(0, -1)
1132
+ : url.pathname;
1133
+ url.pathname = `${basePath}/models`;
1134
+ return url.toString();
1135
+ }
991
1136
  // Get all available TTS models from all plugins
992
1137
  getAvailableTTSModels() {
993
1138
  const models = [];
@@ -1175,20 +1320,6 @@ class PluginService {
1175
1320
  catch (_error) {
1176
1321
  throw new Error(`Invalid endpoint URL constructed: ${processedEndpoint}`);
1177
1322
  }
1178
- // Debug logging for TTS request (redact sensitive headers)
1179
- const redactedHeaders = Object.fromEntries(Object.entries(headers).map(([key, value]) => [
1180
- key,
1181
- key.toLowerCase().includes('authorization') ||
1182
- key.toLowerCase().includes('api-key') ||
1183
- key.toLowerCase().includes('apikey') ||
1184
- key.toLowerCase().includes('token') ||
1185
- key.toLowerCase().includes('secret')
1186
- ? '[REDACTED]'
1187
- : value,
1188
- ]));
1189
- console.log(`[TTS Debug] Endpoint: ${processedEndpoint}`);
1190
- console.log(`[TTS Debug] Payload:`, JSON.stringify(payload, null, 2));
1191
- console.log(`[TTS Debug] Headers:`, JSON.stringify(redactedHeaders, null, 2));
1192
1323
  try {
1193
1324
  const response = await axios.post(processedEndpoint, payload, {
1194
1325
  headers,
@@ -1206,7 +1337,6 @@ class PluginService {
1206
1337
  if (axiosError.response.data) {
1207
1338
  try {
1208
1339
  const errorText = Buffer.from(axiosError.response.data).toString('utf8');
1209
- console.error(`[TTS Debug] Error response body:`, errorText);
1210
1340
  const errorJson = JSON.parse(errorText);
1211
1341
  errorMessage =
1212
1342
  errorJson.error?.message ||
@@ -1218,7 +1348,6 @@ class PluginService {
1218
1348
  // If not JSON, show raw text
1219
1349
  const rawText = Buffer.from(axiosError.response.data).toString('utf8');
1220
1350
  if (rawText) {
1221
- console.error(`[TTS Debug] Raw error response:`, rawText);
1222
1351
  errorMessage = rawText.substring(0, 200);
1223
1352
  }
1224
1353
  }
@@ -1298,7 +1427,6 @@ class PluginService {
1298
1427
  return plugin;
1299
1428
  }
1300
1429
  }
1301
- console.log(`[DEBUG] No image generation plugin found for model: ${model}`);
1302
1430
  return null;
1303
1431
  }
1304
1432
  // Get all available image generation models from all plugins