libre-webui 0.13.2 → 0.13.3

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 (32) hide show
  1. package/README.md +118 -247
  2. package/backend/dist/routes/chat.d.ts.map +1 -1
  3. package/backend/dist/routes/chat.js +5 -1
  4. package/backend/dist/routes/chat.js.map +1 -1
  5. package/backend/dist/services/titleGenerationService.d.ts +5 -0
  6. package/backend/dist/services/titleGenerationService.d.ts.map +1 -1
  7. package/backend/dist/services/titleGenerationService.js +30 -6
  8. package/backend/dist/services/titleGenerationService.js.map +1 -1
  9. package/backend/package.json +1 -1
  10. package/frontend/dist/assets/index-CXKTQEWS.js +5 -0
  11. package/frontend/dist/assets/index-ClnPpnM5.css +1 -0
  12. package/frontend/dist/index.html +3 -3
  13. package/frontend/dist/js/{ArtifactContainer-urMJnZ_h.js → ArtifactContainer-DiRnahHG.js} +1 -1
  14. package/frontend/dist/js/{ArtifactDemoPage-CVxPfyus.js → ArtifactDemoPage-DlROHIWC.js} +1 -1
  15. package/frontend/dist/js/{ArtifactSlideOutPanel-MP4ap9If.js → ArtifactSlideOutPanel-Bsj35Ixs.js} +1 -1
  16. package/frontend/dist/js/{ChatPage-D35quAJJ.js → ChatPage-CjrNWkGe.js} +3 -3
  17. package/frontend/dist/js/{FirstTimeSetup-B9NVXnGv.js → FirstTimeSetup-DHqRxGnu.js} +1 -1
  18. package/frontend/dist/js/{GalleryPage-BNdUukNh.js → GalleryPage-D6JI9-bu.js} +1 -1
  19. package/frontend/dist/js/{LibreClawPage-D_N9GBg7.js → LibreClawPage-C5UCG3UO.js} +1 -1
  20. package/frontend/dist/js/{ModelManagerModals-C7wlZoV2.js → ModelManagerModals-ibSD3Sfs.js} +1 -1
  21. package/frontend/dist/js/{ModelsPage-1ykVyEI4.js → ModelsPage-4isgqfxd.js} +2 -2
  22. package/frontend/dist/js/{PersonasPage-Dg1AQ0e8.js → PersonasPage-CQPSBBkb.js} +1 -1
  23. package/frontend/dist/js/{RichMessageContent-tAv_35Ur.js → RichMessageContent-DmV_QHWo.js} +1 -1
  24. package/frontend/dist/js/{SettingsModal-BRQcVyKI.js → SettingsModal-CMgPDKKF.js} +1 -1
  25. package/frontend/dist/js/{UserManagementPage-CA15W6yb.js → UserManagementPage-KmYKTbzm.js} +1 -1
  26. package/frontend/dist/js/{api-BsUaU_IW.js → api-CdKv5S1E.js} +2 -2
  27. package/frontend/dist/js/{useBaseQuery-DDZrESRv.js → useBaseQuery-4Pd5VVAl.js} +1 -1
  28. package/frontend/dist/js/useQuery-BgOybVfP.js +1 -0
  29. package/package.json +1 -1
  30. package/frontend/dist/assets/index-BJsjOpGD.css +0 -1
  31. package/frontend/dist/assets/index-DgL4shIj.js +0 -5
  32. package/frontend/dist/js/useQuery-BFOeNWc6.js +0 -1
@@ -30,17 +30,40 @@ Title:`;
30
30
  export function buildFallbackTitle(message) {
31
31
  return message.substring(0, 30) + (message.length > 30 ? '...' : '');
32
32
  }
33
- export function sanitizeGeneratedTitle(rawTitle, sourceMessage) {
33
+ function truncateGeneratedTitle(title, maxLength = 50) {
34
+ if (title.length <= maxLength) {
35
+ return title;
36
+ }
37
+ const availableLength = maxLength - 3;
38
+ const hardCut = title.slice(0, availableLength).trimEnd();
39
+ const lastSpace = hardCut.lastIndexOf(' ');
40
+ const wordBoundary = lastSpace >= Math.floor(availableLength * 0.6)
41
+ ? hardCut.slice(0, lastSpace)
42
+ : hardCut;
43
+ return `${wordBoundary.replace(/[,:;.!?]+$/, '').trimEnd()}...`;
44
+ }
45
+ export function sanitizeGeneratedTitleResult(rawTitle, sourceMessage) {
34
46
  const title = rawTitle
35
47
  .trim()
48
+ .replace(/^```(?:\w+)?\s*|\s*```$/g, '')
36
49
  .replace(/^["'`]+|["'`]+$/g, '')
50
+ .replace(/^title\s*:\s*/i, '')
37
51
  .replace(/\s+/g, ' ')
38
52
  .replace(/[.!?]+$/, '')
39
53
  .trim();
40
- if (!title || title.length > 50) {
41
- return buildFallbackTitle(sourceMessage);
54
+ if (!title) {
55
+ return {
56
+ title: buildFallbackTitle(sourceMessage),
57
+ usedFallback: true,
58
+ };
42
59
  }
43
- return title;
60
+ return {
61
+ title: truncateGeneratedTitle(title),
62
+ usedFallback: false,
63
+ };
64
+ }
65
+ export function sanitizeGeneratedTitle(rawTitle, sourceMessage) {
66
+ return sanitizeGeneratedTitleResult(rawTitle, sourceMessage).title;
44
67
  }
45
68
  export class TitleGenerationService {
46
69
  constructor({ chatService, chatGenerationService, pluginService, ollamaService, now = Date.now, logger = console, }) {
@@ -67,8 +90,9 @@ export class TitleGenerationService {
67
90
  let source = 'fallback';
68
91
  try {
69
92
  const generation = await this.generateTitleWithModel(sessionId, model, message, userId);
70
- title = sanitizeGeneratedTitle(generation.title, message);
71
- source = generation.source;
93
+ const sanitizedTitle = sanitizeGeneratedTitleResult(generation.title, message);
94
+ title = sanitizedTitle.title;
95
+ source = sanitizedTitle.usedFallback ? 'fallback' : generation.source;
72
96
  }
73
97
  catch (error) {
74
98
  this.logger.error('Error generating title:', error);
@@ -1 +1 @@
1
- {"version":3,"file":"titleGenerationService.js","sourceRoot":"","sources":["../../src/services/titleGenerationService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"titleGenerationService.js","sourceRoot":"","sources":["../../src/services/titleGenerationService.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "libre-webui-backend",
3
- "version": "0.13.2",
3
+ "version": "0.13.3",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "description": "Backend API for Libre WebUI",