libre-webui 0.8.6 → 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 (102) 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 -15
  63. package/frontend/dist/js/ArtifactContainer-DXa2t8GS.js +24 -0
  64. package/frontend/dist/js/{ArtifactDemoPage-Xd-Ragpf.js → ArtifactDemoPage-Dms7P2gI.js} +1 -1
  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/{markdown-vendor-4lCPqxk5.js → markdown-vendor-DLzJCMRQ.js} +15 -15
  74. package/frontend/dist/js/{react-vendor-BUzyfgnZ.js → react-vendor-Dh6nfvM2.js} +4 -4
  75. package/frontend/dist/js/rolldown-runtime-QTnfLwEv.js +1 -0
  76. package/frontend/dist/js/ui-vendor-ClcVY3m-.js +177 -0
  77. package/frontend/dist/js/utils-vendor-BCQRX-0Q.js +9 -0
  78. package/package.json +8 -6
  79. package/plugins/llama-cpp.json +93 -0
  80. package/frontend/dist/assets/index-B1qNw5pA.js +0 -52
  81. package/frontend/dist/assets/index-DnG6512Q.css +0 -1
  82. package/frontend/dist/assets/ui-CsNe6lFV.css +0 -1
  83. package/frontend/dist/js/ArtifactContainer-Com7P5vK.js +0 -24
  84. package/frontend/dist/js/Button-D62PCbMW.js +0 -1
  85. package/frontend/dist/js/ChatPage-01JxVHRP.js +0 -15
  86. package/frontend/dist/js/GalleryPage-8nHGqKEu.js +0 -1
  87. package/frontend/dist/js/ModelsPage-C0MLVfwA.js +0 -1
  88. package/frontend/dist/js/OptimizedSyntaxHighlighter-DjnSqskO.js +0 -1
  89. package/frontend/dist/js/PersonasPage-D9YKnYz6.js +0 -13
  90. package/frontend/dist/js/UserManagementPage-b6NZdPTD.js +0 -1
  91. package/frontend/dist/js/api-B0pf9vdR.js +0 -1
  92. package/frontend/dist/js/api-BrzQvj_g.js +0 -3
  93. package/frontend/dist/js/appStore-k_e3JAM3.js +0 -2
  94. package/frontend/dist/js/authStore-BkobbhZS.js +0 -1
  95. package/frontend/dist/js/authStore-ge66S03D.js +0 -2
  96. package/frontend/dist/js/axios-CYrHjdt1.js +0 -1
  97. package/frontend/dist/js/rolldown-runtime-DWy-cpC1.js +0 -1
  98. package/frontend/dist/js/ui-DuH1cD2f.js +0 -267
  99. package/frontend/dist/js/ui-vendor-BFOABH-A.js +0 -177
  100. package/frontend/dist/js/userService-BndgbS1C.js +0 -1
  101. package/frontend/dist/js/utils-vendor-MBozwMfr.js +0 -6
  102. /package/frontend/dist/js/{demoMode-qyEGd_UM.js → demoMode-PKHbba1m.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,UAAU,CAAC;AAkFlB,QAAA,MAAM,GAAG,6CAAY,CAAC;AAgoDtB,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,UAAU,CAAC;AAoElB,QAAA,MAAM,GAAG,6CAAY,CAAC;AA6mDtB,eAAe,GAAG,CAAC"}
@@ -39,23 +39,6 @@ import helmet from 'helmet';
39
39
  import morgan from 'morgan';
40
40
  import { createServer } from 'http';
41
41
  import { WebSocketServer } from 'ws';
42
- import { createRequire } from 'module';
43
- const require = createRequire(import.meta.url);
44
- // Try to load package.json from multiple locations
45
- let pkg = { version: '0.0.0' };
46
- try {
47
- // Development: ../package.json (backend/package.json doesn't exist, but root does via symlink)
48
- pkg = require('../package.json');
49
- }
50
- catch {
51
- try {
52
- // npm install: package is at node_modules/libre-webui, package.json is at root
53
- pkg = require('../../package.json');
54
- }
55
- catch {
56
- console.warn('Could not read version from package.json, using default');
57
- }
58
- }
59
42
  import { errorHandler, notFoundHandler, requestLogger, } from './middleware/index.js';
60
43
  import { optionalAuth } from './middleware/auth.js';
61
44
  import ollamaRoutes from './routes/ollama.js';
@@ -68,6 +51,7 @@ import usersRoutes from './routes/users.js';
68
51
  import personaRoutes from './routes/personas.js';
69
52
  import ttsRoutes from './routes/tts.js';
70
53
  import imageGenRoutes from './routes/imageGen.js';
54
+ import embeddingsRoutes from './routes/embeddings.js';
71
55
  import huggingfaceHubRoutes from './routes/huggingfaceHub.js';
72
56
  import ollamaService from './services/ollamaService.js';
73
57
  import chatService from './services/chatService.js';
@@ -79,6 +63,8 @@ import documentService from './services/documentService.js';
79
63
  import openclawSessionService, { extractTextFromMessage, } from './services/openclawSessionService.js';
80
64
  import { mergeGenerationOptions } from './utils/generationUtils.js';
81
65
  import { verifyToken } from './utils/jwt.js';
66
+ import { loadAppPackage, resolveFrontendDist } from './utils/packagePaths.js';
67
+ const pkg = loadAppPackage(import.meta.url);
82
68
  const app = express();
83
69
  // Trust proxy setting for running behind reverse proxies (Nginx, Caddy, etc.)
84
70
  // Set TRUST_PROXY=1 or TRUST_PROXY=loopback or TRUST_PROXY=uniquelocal etc.
@@ -336,6 +322,7 @@ app.use('/api/ollama', ollamaRateLimiter, ollamaRoutes);
336
322
  app.use('/api/chat', chatRateLimiter, optionalAuth, chatRoutes);
337
323
  app.use('/api/preferences', preferencesRateLimiter, optionalAuth, preferencesRoutes);
338
324
  app.use('/api/plugins', pluginRoutes);
325
+ app.use('/api/embeddings', embeddingsRoutes);
339
326
  app.use('/api/documents', documentsRateLimiter, documentRoutes);
340
327
  app.use('/api/personas', personasRateLimiter, optionalAuth, personaRoutes);
341
328
  app.use('/api/tts', ttsRateLimiter, optionalAuth, ttsRoutes);
@@ -345,23 +332,7 @@ app.use('/api/huggingface-hub', huggingfaceHubRoutes);
345
332
  if (process.env.NODE_ENV === 'production' ||
346
333
  process.env.SERVE_FRONTEND === 'true') {
347
334
  const pathModule = await import('path');
348
- const urlModule = await import('url');
349
- const fsModule = await import('fs');
350
- const __filename = urlModule.fileURLToPath(import.meta.url);
351
- const __dirname = pathModule.dirname(__filename);
352
- // Try multiple possible frontend locations
353
- const possiblePaths = [
354
- pathModule.join(__dirname, '../../frontend/dist'), // npm package structure
355
- pathModule.join(__dirname, '../../../frontend/dist'), // development
356
- pathModule.join(process.cwd(), 'frontend/dist'), // running from project root
357
- ];
358
- let frontendPath = '';
359
- for (const p of possiblePaths) {
360
- if (fsModule.existsSync(pathModule.join(p, 'index.html'))) {
361
- frontendPath = p;
362
- break;
363
- }
364
- }
335
+ const frontendPath = resolveFrontendDist(import.meta.url);
365
336
  if (frontendPath) {
366
337
  console.log(`Serving frontend from: ${frontendPath}`);
367
338
  // Rate limiter for static files
@@ -419,7 +390,9 @@ wss.on('connection', (ws, req) => {
419
390
  }
420
391
  }
421
392
  catch (error) {
422
- console.error('WebSocket auth error:', error);
393
+ // An expired/invalid token here is expected (e.g. a stale browser token);
394
+ // fall back to the default user without dumping a stack trace.
395
+ console.warn('WebSocket auth failed, using default user:', error instanceof Error ? error.message : error);
423
396
  // Continue with default user for backward compatibility
424
397
  }
425
398
  ws.on('message', async (data) => {
@@ -518,10 +491,6 @@ wss.on('connection', (ws, req) => {
518
491
  role: msg.role,
519
492
  content: msg.content,
520
493
  };
521
- // Debug: Log what we're sending to Ollama
522
- if (msg.role === 'system') {
523
- console.log(`🚀 [DEBUG] Sending to Ollama - System message: "${msg.content.substring(0, 150)}${msg.content.length > 150 ? '...' : ''}"`);
524
- }
525
494
  // Use enhanced content for the last user message if we have document context
526
495
  if (msg.role === 'user' &&
527
496
  index === contextMessages.length - 1 &&
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAe,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG3E,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,GACvB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CA+Bd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GACvB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CAUd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GACvB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CA6Cd,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAe,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG3E,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,GACvB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CA+Bd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GACvB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CAUd,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GACvB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,OAAO,CAAC,IAAI,CAgBd,CAAC"}
@@ -67,27 +67,12 @@ export const requireAdmin = async (req, res, next) => {
67
67
  export const optionalAuth = async (req, res, next) => {
68
68
  try {
69
69
  const authHeader = req.headers.authorization;
70
- console.log('[OPTIONAL-AUTH-DEBUG] Request details - method:', req.method, 'path:', req.path, 'authHeader:', authHeader ? 'Present' : 'Missing');
71
70
  if (authHeader && authHeader.startsWith('Bearer ')) {
72
71
  const token = authHeader.substring(7);
73
- console.log('[OPTIONAL-AUTH-DEBUG] Token found, length:', token.length);
74
- console.log('[OPTIONAL-AUTH-DEBUG] Token preview:', token.length > 20 ? `${token.substring(0, 20)}...` : token);
75
- try {
76
- const payload = authService.verifyToken(token);
77
- if (payload) {
78
- req.user = payload;
79
- console.log('[OPTIONAL-AUTH-DEBUG] Auth successful for user:', payload.userId);
80
- }
81
- else {
82
- console.log('[OPTIONAL-AUTH-DEBUG] Token verification returned null');
83
- }
72
+ const payload = authService.verifyToken(token);
73
+ if (payload) {
74
+ req.user = payload;
84
75
  }
85
- catch (error) {
86
- console.log('[OPTIONAL-AUTH-DEBUG] Token verification failed:', error.message);
87
- }
88
- }
89
- else {
90
- console.log('[OPTIONAL-AUTH-DEBUG] No valid auth header found');
91
76
  }
92
77
  }
93
78
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,WAAW,EAAoB,MAAM,4BAA4B,CAAC;AAO3E;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,GAAyB,EACzB,GAAa,EACb,IAAkB,EACH,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7C,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,iCAAiC;aAC3C,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,0BAA0B;aACpC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;QACnB,IAAI,EAAE,CAAC;IACT,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;QAC9C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,uBAAuB;SACjC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,GAAyB,EACzB,GAAa,EACb,IAAkB,EACH,EAAE;IACjB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,uBAAuB;SACjC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,EAAE,CAAC;AACT,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC/B,GAAyB,EACzB,GAAa,EACb,IAAkB,EACH,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;QAE7C,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,OAAO,EAAE,CAAC;gBACZ,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,EAAE,CAAC;AACT,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"AAsCA,QAAA,MAAM,MAAM,4CAAmB,CAAC;AAsgChC,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/routes/chat.ts"],"names":[],"mappings":"AAsCA,QAAA,MAAM,MAAM,4CAAmB,CAAC;AAkgChC,eAAe,MAAM,CAAC"}
@@ -26,6 +26,7 @@ import { authenticate } from '../middleware/auth.js';
26
26
  import { mergeGenerationOptions, extractStatistics, } from '../utils/generationUtils.js';
27
27
  import { getErrorMessage, } from '../types/index.js';
28
28
  const router = express.Router();
29
+ const AUTO_TITLE_CURRENT_MODEL = '__current_running_model__';
29
30
  // Rate limiter for chat routes: 60 requests per minute (reasonable for chat)
30
31
  const chatRateLimiter = rateLimit({
31
32
  windowMs: 1 * 60 * 1000, // 1 minute
@@ -50,25 +51,29 @@ async function resolveActualModelName(sessionModel, userId = 'default') {
50
51
  // Try to get persona for the current user first, then fallback to 'default'
51
52
  let persona = await personaService.getPersonaById(personaId, userId);
52
53
  if (!persona && userId !== 'default') {
53
- console.log(`[DEBUG] Persona not found for user ${userId}, trying default user`);
54
54
  persona = await personaService.getPersonaById(personaId, 'default');
55
55
  }
56
56
  if (persona && persona.model) {
57
- console.log(`[DEBUG] Resolved persona ${personaId} to model: ${persona.model}`);
58
57
  return persona.model;
59
58
  }
60
59
  else {
61
- console.warn(`[DEBUG] Persona ${personaId} not found, falling back to session model`);
60
+ console.warn(`Persona ${personaId} not found, falling back to session model`);
62
61
  return sessionModel;
63
62
  }
64
63
  }
65
64
  catch (error) {
66
- console.error(`[DEBUG] Error resolving persona model:`, error);
65
+ console.error(`Error resolving persona model:`, error);
67
66
  return sessionModel;
68
67
  }
69
68
  }
70
69
  return sessionModel;
71
70
  }
71
+ async function resolveTitleGenerationModel(requestedModel, session, userId) {
72
+ if (requestedModel === AUTO_TITLE_CURRENT_MODEL) {
73
+ return resolveActualModelName(session.model, userId);
74
+ }
75
+ return requestedModel;
76
+ }
72
77
  // Get all chat sessions
73
78
  router.get('/sessions', async (req, res) => {
74
79
  try {
@@ -102,7 +107,6 @@ router.post('/sessions', async (req, res) => {
102
107
  let extractedPersonaId = personaId;
103
108
  if (model.startsWith('persona:') && !extractedPersonaId) {
104
109
  extractedPersonaId = model.replace('persona:', '');
105
- console.log(`[DEBUG] Extracted personaId from model: ${extractedPersonaId}`);
106
110
  }
107
111
  const session = await chatService.createSession(model, title, userId, extractedPersonaId);
108
112
  res.json({
@@ -321,9 +325,7 @@ router.post('/sessions/:sessionId/generate', async (req, res) => {
321
325
  try {
322
326
  const preferences = preferencesService.getPreferences();
323
327
  if (preferences.embeddingSettings?.enabled) {
324
- console.log(`[DEBUG] Embeddings enabled, searching documents for: "${message}"`);
325
328
  const relevantDocuments = await documentService.searchDocuments(message, sessionId);
326
- console.log(`[DEBUG] Found ${relevantDocuments.length} relevant document chunks`);
327
329
  if (relevantDocuments.length > 0) {
328
330
  // Get document info for each chunk
329
331
  const documentsMap = new Map();
@@ -343,18 +345,11 @@ router.post('/sessions/:sessionId/generate', async (req, res) => {
343
345
  })
344
346
  .join('\n---\n') +
345
347
  '\n--- END DOCUMENTS ---\n\n';
346
- console.log(`[DEBUG] Added ${documentContext.length} characters of document context`);
347
- }
348
- else {
349
- console.log(`[DEBUG] No relevant documents found for query: "${message}"`);
350
348
  }
351
349
  }
352
- else {
353
- console.log(`[DEBUG] Embeddings disabled, skipping document search`);
354
- }
355
350
  }
356
351
  catch (error) {
357
- console.error('[DEBUG] Error during document search:', error);
352
+ console.error('Error during document search:', error);
358
353
  // Continue without document context if search fails
359
354
  }
360
355
  // Convert chat messages to Ollama format and handle persona system prompts
@@ -373,11 +368,10 @@ router.post('/sessions/:sessionId/generate', async (req, res) => {
373
368
  role: 'system',
374
369
  content: persona.parameters.system_prompt,
375
370
  });
376
- console.log(`[DEBUG] Replaced system messages with persona instructions for: ${persona.name}`);
377
371
  }
378
372
  }
379
373
  catch (error) {
380
- console.error('[DEBUG] Error loading persona:', error);
374
+ console.error('Error loading persona:', error);
381
375
  // Continue without persona if loading fails
382
376
  }
383
377
  }
@@ -397,7 +391,6 @@ router.post('/sessions/:sessionId/generate', async (req, res) => {
397
391
  const mergedOptions = mergeGenerationOptions(userGenerationOptions, options);
398
392
  // Resolve the actual model name (handles persona IDs)
399
393
  const actualModelName = await resolveActualModelName(session.model, userId);
400
- console.log(`[DEBUG] Resolved model from "${session.model}" to "${actualModelName}"`);
401
394
  // Prepare common chat request for Ollama (used in both fallback and direct cases)
402
395
  const chatRequest = {
403
396
  model: actualModelName,
@@ -406,11 +399,8 @@ router.post('/sessions/:sessionId/generate', async (req, res) => {
406
399
  options: mergedOptions,
407
400
  };
408
401
  // Check if there's an active plugin for this model
409
- console.log(`[DEBUG] Looking for plugin for model: ${actualModelName}`);
410
402
  const activePlugin = pluginService.getActivePluginForModel(actualModelName);
411
- console.log(`[DEBUG] Found plugin:`, activePlugin ? activePlugin.id : 'none');
412
403
  if (activePlugin) {
413
- console.log(`[DEBUG] Using plugin ${activePlugin.id} for model ${actualModelName}`);
414
404
  try {
415
405
  // Use plugin for generation
416
406
  const pluginResponse = await pluginService.executePluginRequest(actualModelName, session.messages.concat([userMessage]), options);
@@ -435,7 +425,6 @@ router.post('/sessions/:sessionId/generate', async (req, res) => {
435
425
  }
436
426
  }
437
427
  else {
438
- console.log(`[DEBUG] No plugin found, using Ollama for model: ${actualModelName}`);
439
428
  // Use Ollama directly
440
429
  response = await ollamaService.generateChatResponse(chatRequest);
441
430
  assistantContent = response.message.content;
@@ -519,11 +508,10 @@ router.post('/sessions/:sessionId/generate/stream', async (req, res) => {
519
508
  role: 'system',
520
509
  content: persona.parameters.system_prompt,
521
510
  });
522
- console.log(`[DEBUG] Replaced system messages with persona instructions for streaming: ${persona.name}`);
523
511
  }
524
512
  }
525
513
  catch (error) {
526
- console.error('[DEBUG] Error loading persona for streaming:', error);
514
+ console.error('Error loading persona for streaming:', error);
527
515
  // Continue without persona if loading fails
528
516
  }
529
517
  }
@@ -538,7 +526,6 @@ router.post('/sessions/:sessionId/generate/stream', async (req, res) => {
538
526
  const mergedOptions = mergeGenerationOptions(userGenerationOptions, options);
539
527
  // Resolve the actual model name (handles persona IDs)
540
528
  const actualModelName = await resolveActualModelName(session.model, userId);
541
- console.log(`[DEBUG] Streaming - Resolved model from "${session.model}" to "${actualModelName}"`);
542
529
  const chatRequest = {
543
530
  model: actualModelName,
544
531
  messages: ollamaMessages,
@@ -607,6 +594,7 @@ router.post('/sessions/:sessionId/generate-title', async (req, res) => {
607
594
  });
608
595
  return;
609
596
  }
597
+ const actualModelName = await resolveTitleGenerationModel(model, session, userId);
610
598
  // Generate title using a simple prompt
611
599
  const titlePrompt = `Generate a very short, concise title (3-6 words max) for a chat that starts with this message. Only respond with the title, nothing else. No quotes, no punctuation at the end. Do not use any markdown formatting.
612
600
 
@@ -614,18 +602,37 @@ Message: "${message.substring(0, 500)}"
614
602
 
615
603
  Title:`;
616
604
  try {
617
- const response = await ollamaService.generateResponse({
618
- model: model,
619
- prompt: titlePrompt,
620
- stream: false,
621
- options: {
605
+ let titleResponse = '';
606
+ const activePlugin = pluginService.getActivePluginForModel(actualModelName);
607
+ if (activePlugin) {
608
+ const pluginResponse = await pluginService.executePluginRequest(actualModelName, [
609
+ {
610
+ id: `title-${sessionId}`,
611
+ role: 'user',
612
+ content: titlePrompt,
613
+ timestamp: Date.now(),
614
+ },
615
+ ], {
622
616
  temperature: 0.3,
623
617
  num_predict: 20,
624
- stop: ['\n', '.', '!', '?'],
625
- },
626
- });
618
+ });
619
+ titleResponse = pluginResponse.choices[0]?.message?.content || '';
620
+ }
621
+ else {
622
+ const response = await ollamaService.generateResponse({
623
+ model: actualModelName,
624
+ prompt: titlePrompt,
625
+ stream: false,
626
+ options: {
627
+ temperature: 0.3,
628
+ num_predict: 20,
629
+ stop: ['\n', '.', '!', '?'],
630
+ },
631
+ });
632
+ titleResponse = response.response;
633
+ }
627
634
  // Clean up the generated title
628
- let title = response.response
635
+ let title = titleResponse
629
636
  .trim()
630
637
  .replace(/^["']|["']$/g, '') // Remove quotes
631
638
  .replace(/[.!?]+$/, '') // Remove trailing punctuation