libre-webui 0.20.0 → 0.21.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 (175) hide show
  1. package/README.md +31 -21
  2. package/backend/dist/db.d.ts.map +1 -1
  3. package/backend/dist/db.js +2 -0
  4. package/backend/dist/db.js.map +1 -1
  5. package/backend/dist/index.d.ts.map +1 -1
  6. package/backend/dist/index.js +2 -0
  7. package/backend/dist/index.js.map +1 -1
  8. package/backend/dist/routes/chat.d.ts.map +1 -1
  9. package/backend/dist/routes/chat.js +97 -10
  10. package/backend/dist/routes/chat.js.map +1 -1
  11. package/backend/dist/routes/libreClaw.d.ts.map +1 -1
  12. package/backend/dist/routes/libreClaw.js +41 -0
  13. package/backend/dist/routes/libreClaw.js.map +1 -1
  14. package/backend/dist/routes/ollama.d.ts.map +1 -1
  15. package/backend/dist/routes/ollama.js +52 -2
  16. package/backend/dist/routes/ollama.js.map +1 -1
  17. package/backend/dist/routes/search.d.ts +3 -0
  18. package/backend/dist/routes/search.d.ts.map +1 -0
  19. package/backend/dist/routes/search.js +143 -0
  20. package/backend/dist/routes/search.js.map +1 -0
  21. package/backend/dist/services/agentAccessService.d.ts +6 -0
  22. package/backend/dist/services/agentAccessService.d.ts.map +1 -0
  23. package/backend/dist/services/agentAccessService.js +58 -0
  24. package/backend/dist/services/agentAccessService.js.map +1 -0
  25. package/backend/dist/services/agentCliService.d.ts.map +1 -1
  26. package/backend/dist/services/agentCliService.js +2 -1
  27. package/backend/dist/services/agentCliService.js.map +1 -1
  28. package/backend/dist/services/authService.d.ts +1 -0
  29. package/backend/dist/services/authService.d.ts.map +1 -1
  30. package/backend/dist/services/authService.js +2 -0
  31. package/backend/dist/services/authService.js.map +1 -1
  32. package/backend/dist/services/documentService.d.ts +2 -0
  33. package/backend/dist/services/documentService.d.ts.map +1 -1
  34. package/backend/dist/services/documentService.js +51 -23
  35. package/backend/dist/services/documentService.js.map +1 -1
  36. package/backend/dist/services/modelAccessService.d.ts +12 -0
  37. package/backend/dist/services/modelAccessService.d.ts.map +1 -0
  38. package/backend/dist/services/modelAccessService.js +66 -0
  39. package/backend/dist/services/modelAccessService.js.map +1 -0
  40. package/backend/dist/services/webSearchService.d.ts +64 -0
  41. package/backend/dist/services/webSearchService.d.ts.map +1 -0
  42. package/backend/dist/services/webSearchService.js +230 -0
  43. package/backend/dist/services/webSearchService.js.map +1 -0
  44. package/backend/dist/services/workAgentGuidance.d.ts +1 -0
  45. package/backend/dist/services/workAgentGuidance.d.ts.map +1 -1
  46. package/backend/dist/services/workAgentGuidance.js +3 -0
  47. package/backend/dist/services/workAgentGuidance.js.map +1 -1
  48. package/backend/dist/services/workAgentService.d.ts +6 -0
  49. package/backend/dist/services/workAgentService.d.ts.map +1 -1
  50. package/backend/dist/services/workAgentService.js +199 -11
  51. package/backend/dist/services/workAgentService.js.map +1 -1
  52. package/backend/dist/services/workPolicyService.d.ts.map +1 -1
  53. package/backend/dist/services/workPolicyService.js +61 -11
  54. package/backend/dist/services/workPolicyService.js.map +1 -1
  55. package/backend/dist/storage.d.ts.map +1 -1
  56. package/backend/dist/storage.js +3 -3
  57. package/backend/dist/storage.js.map +1 -1
  58. package/backend/dist/storageMappers.d.ts +1 -0
  59. package/backend/dist/storageMappers.d.ts.map +1 -1
  60. package/backend/dist/storageMappers.js +1 -0
  61. package/backend/dist/storageMappers.js.map +1 -1
  62. package/backend/dist/types/index.d.ts +1 -0
  63. package/backend/dist/types/index.d.ts.map +1 -1
  64. package/backend/dist/types/index.js.map +1 -1
  65. package/backend/dist/utils/chatDocumentContext.d.ts +7 -0
  66. package/backend/dist/utils/chatDocumentContext.d.ts.map +1 -1
  67. package/backend/dist/utils/chatDocumentContext.js +38 -30
  68. package/backend/dist/utils/chatDocumentContext.js.map +1 -1
  69. package/backend/dist/websocketServer.d.ts.map +1 -1
  70. package/backend/dist/websocketServer.js +79 -15
  71. package/backend/dist/websocketServer.js.map +1 -1
  72. package/backend/package.json +1 -1
  73. package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
  74. package/frontend/dist/assets/index-0wfi-EpC.js +40 -0
  75. package/frontend/dist/assets/index-D7m1zWWg.css +1 -0
  76. package/frontend/dist/index.html +12 -12
  77. package/frontend/dist/js/ArtifactContainer-DPRPcuES.js +1 -0
  78. package/frontend/dist/js/{ArtifactDemoPage-BOlB1lS-.js → ArtifactDemoPage-DzwPlz9J.js} +1 -1
  79. package/frontend/dist/js/{ArtifactSandboxFrame-DqU5GDrI.js → ArtifactSandboxFrame-CKi4mSTH.js} +2 -2
  80. package/frontend/dist/js/{ArtifactSlideOutPanel-B0I-hCux.js → ArtifactSlideOutPanel-BskRCzP0.js} +1 -1
  81. package/frontend/dist/js/ChatPage-DRutCyJ5.js +16 -0
  82. package/frontend/dist/js/FirstTimeSetup-DU50YWrE.js +1 -0
  83. package/frontend/dist/js/GalleryPage-DxXIUesf.js +1 -0
  84. package/frontend/dist/js/HomePage-Bew9kMKx.js +1 -0
  85. package/frontend/dist/js/{LibreClawPage-DUd3tjQE.js → LibreClawPage-Cy9y3YlF.js} +1 -1
  86. package/frontend/dist/js/{ModelManagerModals-D9j9RECi.js → ModelManagerModals-D-NxeVvV.js} +1 -1
  87. package/frontend/dist/js/ModelSelector-DXDcDmDR.js +1 -0
  88. package/frontend/dist/js/ModelsPage-Bj2reiF9.js +2 -0
  89. package/frontend/dist/js/{NotesPage-CTutDN50.js → NotesPage-CJKEbj3J.js} +1 -1
  90. package/frontend/dist/js/{PersonasPage-C6iTMI3N.js → PersonasPage-bgWF9S7b.js} +2 -2
  91. package/frontend/dist/js/{PluginUsagePage-BQQ0-_PP.js → PluginUsagePage-CRkD1Tz6.js} +1 -1
  92. package/frontend/dist/js/{RichMessageContent-DPqeqxkQ.js → RichMessageContent-DeNjCiyN.js} +1 -1
  93. package/frontend/dist/js/SettingsModal-BUUlkZcv.js +1 -0
  94. package/frontend/dist/js/SystemPage-DcO51urv.js +1 -0
  95. package/frontend/dist/js/UserManagementPage-DLiYw6xG.js +1 -0
  96. package/frontend/dist/js/WorkPage-MMQ0Y0U5.js +5 -0
  97. package/frontend/dist/js/{api-iCpOEijB.js → api-CZURQtuc.js} +4 -4
  98. package/frontend/dist/js/{appStore-DTd6dWg2.js → appStore-sGaWMSDr.js} +2 -2
  99. package/frontend/dist/js/ar-Bm27TCMQ.js +2 -0
  100. package/frontend/dist/js/{authStore-CuK4HUVh.js → authStore-uaj0hswV.js} +3 -3
  101. package/frontend/dist/js/bn-C7CHC42H.js +2 -0
  102. package/frontend/dist/js/chatStore-tRx0Ulq0.js +2 -0
  103. package/frontend/dist/js/{config--Xp9rZtJ.js → config-D-jxRG52.js} +1 -1
  104. package/frontend/dist/js/cs-zGEtwQn_.js +2 -0
  105. package/frontend/dist/js/da-B-0sHNTu.js +2 -0
  106. package/frontend/dist/js/de-UZNE6t2h.js +2 -0
  107. package/frontend/dist/js/es-CPLnFYIw.js +2 -0
  108. package/frontend/dist/js/{estree-BAQkciRX.js → estree-CRuerC6a.js} +1 -1
  109. package/frontend/dist/js/fr-Br1o0WVz.js +2 -0
  110. package/frontend/dist/js/hi-BcEvNEpb.js +2 -0
  111. package/frontend/dist/js/{html-DxA-Bcvi.js → html-BYKlz3Jp.js} +1 -1
  112. package/frontend/dist/js/i18n-DJTg6xWw.js +2 -0
  113. package/frontend/dist/js/id-C30L2DoT.js +2 -0
  114. package/frontend/dist/js/is-BAEhfi5Z.js +2 -0
  115. package/frontend/dist/js/it-HWnfQXZY.js +2 -0
  116. package/frontend/dist/js/ja-Dvux1mon.js +2 -0
  117. package/frontend/dist/js/ko-agDQ__KP.js +2 -0
  118. package/frontend/dist/js/{markdown-IsZpJ5ke.js → markdown-DFy8bILU.js} +1 -1
  119. package/frontend/dist/js/{messageCodeStyles-CsV3zwyK.js → messageCodeStyles-_gGirbe-.js} +2 -2
  120. package/frontend/dist/js/ms-aNRa2QX7.js +2 -0
  121. package/frontend/dist/js/nl-BtkiDUn-.js +2 -0
  122. package/frontend/dist/js/pl-SEO0lBnX.js +2 -0
  123. package/frontend/dist/js/pt-BYtjmvq1.js +2 -0
  124. package/frontend/dist/js/ru-B-ynj2hU.js +2 -0
  125. package/frontend/dist/js/{standalone-CK3b5Ktq.js → standalone-jOqWoOmp.js} +1 -1
  126. package/frontend/dist/js/sv-CliKR15U.js +2 -0
  127. package/frontend/dist/js/th-DJQyDr9J.js +2 -0
  128. package/frontend/dist/js/tr-BBGKZ1la.js +2 -0
  129. package/frontend/dist/js/{typescript-BMYmVohw.js → typescript-TwGXpgeF.js} +1 -1
  130. package/frontend/dist/js/{ui-C2kNYwfG.js → ui-DSFUl2vT.js} +2 -2
  131. package/frontend/dist/js/{ui-vendor-D_pYT79f.js → ui-vendor-xUzKqAXI.js} +1 -1
  132. package/frontend/dist/js/uk-C1GcFWxE.js +2 -0
  133. package/frontend/dist/js/vi-CIxgICOQ.js +2 -0
  134. package/frontend/dist/js/{workApi-C33ZrPws.js → workApi-kClHFVkJ.js} +2 -2
  135. package/frontend/dist/js/zh-Cm7vsQ9s.js +2 -0
  136. package/package.json +2 -2
  137. package/frontend/dist/assets/index-Z4-oLWDC.js +0 -2
  138. package/frontend/dist/assets/index-tBUyDbHh.css +0 -1
  139. package/frontend/dist/js/ArtifactContainer-DQRF4rh-.js +0 -1
  140. package/frontend/dist/js/ChatPage-DyV0_oCt.js +0 -16
  141. package/frontend/dist/js/FirstTimeSetup-ButTmjp0.js +0 -1
  142. package/frontend/dist/js/GalleryPage-CaT63b-s.js +0 -1
  143. package/frontend/dist/js/HomePage-BWyg3nHu.js +0 -1
  144. package/frontend/dist/js/ModelSelector-COFcJnMJ.js +0 -1
  145. package/frontend/dist/js/ModelsPage-BRbTEXNL.js +0 -2
  146. package/frontend/dist/js/SettingsModal-C_1k75Kv.js +0 -1
  147. package/frontend/dist/js/SystemPage-CUecyRPh.js +0 -1
  148. package/frontend/dist/js/UserManagementPage-CZ4KMOY9.js +0 -1
  149. package/frontend/dist/js/WorkPage-BqDcfXV6.js +0 -5
  150. package/frontend/dist/js/ar-C8YV99Y-.js +0 -2
  151. package/frontend/dist/js/bn-C9dcls7_.js +0 -2
  152. package/frontend/dist/js/chatStore-VNT0eHRB.js +0 -2
  153. package/frontend/dist/js/cs-DtL8VeeX.js +0 -2
  154. package/frontend/dist/js/da-U3aNn1aF.js +0 -2
  155. package/frontend/dist/js/de-DzuyeVpX.js +0 -2
  156. package/frontend/dist/js/es-OiU8plii.js +0 -2
  157. package/frontend/dist/js/fr-DDa3R8bs.js +0 -2
  158. package/frontend/dist/js/hi-D8Y0hl34.js +0 -2
  159. package/frontend/dist/js/i18n-BqWNFeNo.js +0 -2
  160. package/frontend/dist/js/id-BwcWtkBv.js +0 -2
  161. package/frontend/dist/js/is-DzfQHQih.js +0 -2
  162. package/frontend/dist/js/it-C5VU3_Je.js +0 -2
  163. package/frontend/dist/js/ja-DLhOhxvf.js +0 -2
  164. package/frontend/dist/js/ko-CCKiyQD6.js +0 -2
  165. package/frontend/dist/js/ms-CXXkPvWw.js +0 -2
  166. package/frontend/dist/js/nl-CA_e0Epl.js +0 -2
  167. package/frontend/dist/js/pl-BG32wdpx.js +0 -2
  168. package/frontend/dist/js/pt-BzRGWQXO.js +0 -2
  169. package/frontend/dist/js/ru-DBjn_Q-Q.js +0 -2
  170. package/frontend/dist/js/sv-Hz_iRGdF.js +0 -2
  171. package/frontend/dist/js/th-MsyXlGH9.js +0 -2
  172. package/frontend/dist/js/tr-Cofmy_ef.js +0 -2
  173. package/frontend/dist/js/uk-B2o05LCR.js +0 -2
  174. package/frontend/dist/js/vi-CZh8uJgV.js +0 -2
  175. package/frontend/dist/js/zh-DhKXi8ZA.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"authService.d.ts","sourceRoot":"","sources":["../../src/services/authService.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAa,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAK/D,OAAO,EAAoB,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAwBhF,eAAO,MAAM,UAAU,QAWjB,CAAC;AAEP,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,qBAAqB,CAAC;CAClC;AAED,qBAAa,WAAW;IACtB;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAYtC;IAED;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAelD;IAED;;OAEG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAY1E;IAED;;OAEG;IACH,aAAa,IAAI,UAAU,CAW1B;IAED,+DAA+D;IAC/D,2BAA2B,IAAI,OAAO,CAErC;IAED,yEAAyE;IACzE,qBAAqB,IAAI,OAAO,CAE/B;IAED;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAMhE;IAED;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAKpE;IAED;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAsC5B;CACF;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
1
+ {"version":3,"file":"authService.d.ts","sourceRoot":"","sources":["../../src/services/authService.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAa,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAK/D,OAAO,EAAoB,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAyBhF,eAAO,MAAM,UAAU,QAWjB,CAAC;AAEP,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,MAAM,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,qBAAqB,CAAC;CAClC;AAED,qBAAa,WAAW;IACtB;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAYtC;IAED;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAelD;IAED;;OAEG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAY1E;IAED;;OAEG;IACH,aAAa,IAAI,UAAU,CAY1B;IAED,+DAA+D;IAC/D,2BAA2B,IAAI,OAAO,CAErC;IAED,yEAAyE;IACzE,qBAAqB,IAAI,OAAO,CAE/B;IAED;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAMhE;IAED;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAKpE;IAED;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAsC5B;CACF;AAED,eAAO,MAAM,WAAW,aAAoB,CAAC"}
@@ -21,6 +21,7 @@ import { fileURLToPath } from 'url';
21
21
  import { dirname, join } from 'path';
22
22
  import { randomBytes } from 'crypto';
23
23
  import { turnstileService } from './turnstileService.js';
24
+ import { getAgentsEnabled } from './agentAccessService.js';
24
25
  import { canCreateLocalAccount, isPublicRegistrationEnabled, } from './registrationPolicy.js';
25
26
  import { createLogger } from '../utils/logger.js';
26
27
  import { validatePasswordStrength } from '../utils/hash.js';
@@ -103,6 +104,7 @@ export class AuthService {
103
104
  hasUsers: userCount > 0,
104
105
  userCount,
105
106
  signupEnabled: canCreateLocalAccount(userCount),
107
+ agentsEnabled: getAgentsEnabled(),
106
108
  version: packageVersion,
107
109
  turnstile: turnstileService.getPublicConfig(),
108
110
  };
@@ -1 +1 @@
1
- {"version":3,"file":"authService.js","sourceRoot":"","sources":["../../src/services/authService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authService.js","sourceRoot":"","sources":["../../src/services/authService.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,8 @@ declare class DocumentService {
31
31
  private documentInScope;
32
32
  searchDocuments(query: string, userId: string, sessionId?: string, limit?: number, collectionIds?: string[]): Promise<DocumentChunk[]>;
33
33
  private semanticSearchDocuments;
34
+ /** Term-frequency scores for a set of chunks, best first. */
35
+ private scoreChunksByKeywords;
34
36
  private keywordSearchDocuments;
35
37
  getRelevantContext(query: string, userId: string, sessionId?: string): Promise<string[]>;
36
38
  restoreDocument(document: Document, userId: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"documentService.d.ts","sourceRoot":"","sources":["../../src/services/documentService.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AA0CzC,cAAM,eAAe;IACnB,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,MAAM,CAA2C;IAEzD,cAGC;IAED,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,UAAU;IAKZ,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,CAAC,CA4EnB;IAED,OAAO,CAAC,aAAa;YAiFP,wBAAwB;YAyBxB,2BAA2B;IA8BnC,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B3D;IAGK,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACnD,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,oBAAoB,EAAE,MAAM,CAAC;QAC7B,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAiBD;IAED,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEpE;IAED,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAM3D;IAED,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,CAGrE;IAED,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAM1D;IAED;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAgBjB,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,SAAI,EACT,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,aAAa,EAAE,CAAC,CAsB1B;YAEa,uBAAuB;IAsErC,OAAO,CAAC,sBAAsB;IAoDxB,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAanB;IAGD,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAgBxD;IAED,OAAO,CAAC,kBAAkB;CAO3B"}
1
+ {"version":3,"file":"documentService.d.ts","sourceRoot":"","sources":["../../src/services/documentService.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AA0CzC,cAAM,eAAe;IACnB,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,MAAM,CAA2C;IAEzD,cAGC;IAED,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,UAAU;IAKZ,eAAe,CACnB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,CAAC,CA4EnB;IAED,OAAO,CAAC,aAAa;YAiFP,wBAAwB;YAyBxB,2BAA2B;IA8BnC,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B3D;IAGK,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QACnD,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,oBAAoB,EAAE,MAAM,CAAC;QAC7B,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAiBD;IAED,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEpE;IAED,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAM3D;IAED,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,CAGrE;IAED,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAM1D;IAED;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAoBjB,eAAe,CACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,SAAI,EACT,aAAa,CAAC,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,aAAa,EAAE,CAAC,CAsB1B;YAEa,uBAAuB;IAmGrC,6DAA6D;IAC7D,OAAO,CAAC,qBAAqB;IA0B7B,OAAO,CAAC,sBAAsB;IA2BxB,kBAAkB,CACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAanB;IAGD,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAgBxD;IAED,OAAO,CAAC,kBAAkB;CAO3B"}
@@ -326,6 +326,11 @@ class DocumentService {
326
326
  const hasCollections = Boolean(collectionIds && collectionIds.length > 0);
327
327
  if (!sessionId && !hasCollections)
328
328
  return true;
329
+ // User-scoped uploads (no session, no collection) are part of the
330
+ // user's standing knowledge and join every chat's searchable scope —
331
+ // previously they were unreachable from any session.
332
+ if (!document.sessionId && !document.collectionId)
333
+ return true;
329
334
  if (sessionId && document.sessionId === sessionId)
330
335
  return true;
331
336
  return Boolean(hasCollections &&
@@ -352,13 +357,20 @@ class DocumentService {
352
357
  }
353
358
  const preferences = preferencesService.getPreferences(userId);
354
359
  const results = [];
360
+ // Chunks without embeddings (uploaded while embeddings were off, or
361
+ // whose embedding generation failed) would otherwise be invisible to
362
+ // semantic search forever — exactly the "only my first document is
363
+ // used" failure. They compete through keyword scoring instead.
364
+ const unembedded = [];
355
365
  for (const document of storageService.getAllDocuments(userId)) {
356
366
  const documentChunks = this.loadDocumentChunks(document.id);
357
367
  if (!this.documentInScope(document, sessionId, collectionIds))
358
368
  continue;
359
369
  for (const chunk of documentChunks) {
360
- if (!chunk.embedding)
370
+ if (!chunk.embedding) {
371
+ unembedded.push({ chunk, document });
361
372
  continue;
373
+ }
362
374
  const similarity = cosineSimilarity(queryEmbedding, chunk.embedding);
363
375
  // Only include chunks above similarity threshold
364
376
  if (similarity >= preferences.embeddingSettings.similarityThreshold) {
@@ -366,51 +378,67 @@ class DocumentService {
366
378
  }
367
379
  }
368
380
  }
369
- // Sort by similarity score and return top results
370
- return results
381
+ const top = results
371
382
  .sort((a, b) => b.similarity - a.similarity)
372
383
  .slice(0, limit)
373
384
  .map(result => ({
374
385
  ...result.chunk,
375
386
  filename: result.document.filename, // Add filename for context
376
387
  }));
388
+ if (top.length < limit && unembedded.length > 0) {
389
+ const scored = this.scoreChunksByKeywords(query, unembedded);
390
+ for (const entry of scored) {
391
+ if (top.length >= limit)
392
+ break;
393
+ top.push({
394
+ ...entry.chunk,
395
+ filename: entry.document.filename,
396
+ });
397
+ }
398
+ }
399
+ if (top.length > 0)
400
+ return top;
401
+ // Nothing cleared the similarity threshold: keyword search is a
402
+ // better answer than an empty context.
403
+ return this.keywordSearchDocuments(query, userId, sessionId, limit, collectionIds);
377
404
  }
378
405
  catch (error) {
379
406
  logger.error('Semantic search failed, falling back to keyword search:', error);
380
407
  return this.keywordSearchDocuments(query, userId, sessionId, limit, collectionIds);
381
408
  }
382
409
  }
383
- keywordSearchDocuments(query, userId, sessionId, limit = 5, collectionIds) {
410
+ /** Term-frequency scores for a set of chunks, best first. */
411
+ scoreChunksByKeywords(query, entries) {
384
412
  const searchTerms = query
385
413
  .toLowerCase()
386
414
  .split(/\s+/)
387
415
  .filter(term => term.length > 2);
388
- const results = [];
416
+ const scored = [];
417
+ for (const { chunk, document } of entries) {
418
+ const chunkText = chunk.content.toLowerCase();
419
+ let score = 0;
420
+ for (const term of searchTerms) {
421
+ // Escape special regex characters to prevent injection
422
+ const escapedTerm = term.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
423
+ score += (chunkText.match(new RegExp(escapedTerm, 'gi')) || []).length;
424
+ }
425
+ if (score > 0)
426
+ scored.push({ chunk, score, document });
427
+ }
428
+ return scored.sort((a, b) => b.score - a.score);
429
+ }
430
+ keywordSearchDocuments(query, userId, sessionId, limit = 5, collectionIds) {
431
+ const candidates = [];
389
432
  for (const document of storageService.getAllDocuments(userId)) {
390
433
  const documentChunks = this.loadDocumentChunks(document.id);
391
434
  if (!this.documentInScope(document, sessionId, collectionIds))
392
435
  continue;
393
436
  for (const chunk of documentChunks) {
394
- const chunkText = chunk.content.toLowerCase();
395
- let score = 0;
396
- // Simple scoring based on term frequency
397
- for (const term of searchTerms) {
398
- // Escape special regex characters to prevent injection
399
- const escapedTerm = term.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
400
- const matches = (chunkText.match(new RegExp(escapedTerm, 'gi')) || [])
401
- .length;
402
- score += matches;
403
- }
404
- if (score > 0) {
405
- results.push({ chunk, score, document });
406
- }
437
+ candidates.push({ chunk, document });
407
438
  }
408
439
  }
409
- // Sort by score and return top results
410
- return results
411
- .sort((a, b) => b.score - a.score)
412
- .slice(0, limit)
413
- .map(result => ({
440
+ const results = this.scoreChunksByKeywords(query, candidates);
441
+ return results.slice(0, limit).map(result => ({
414
442
  ...result.chunk,
415
443
  filename: result.document.filename, // Add filename for context
416
444
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"documentService.js","sourceRoot":"","sources":["../../src/services/documentService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAGpC,OAAO,cAAc,MAAM,eAAe,CAAC;AAC3C,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAEzC,0CAA0C;AAC1C,MAAM,gBAAgB,GAAG,CAAC,CAAW,EAAE,CAAW,EAAU,EAAE;IAC5D,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IAEpC,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1B,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,gDAAgD;AAChD,IAAI,QAAQ,GAA4D,IAAI,CAAC;AAC7E,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,IAAI,CAAC;YACH,iDAAiD;YACjD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,iCAAiC,CAAC,CAAC;YAC9D,QAAQ,GAAG,KAAK,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,eAAe;IAInB;QAHQ,cAAS,GAA0B,IAAI,GAAG,EAAE,CAAC;QAC7C,WAAM,GAAiC,IAAI,GAAG,EAAE,CAAC;QAGvD,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,cAAc,CAAC,eAAe,EAAE,CAAC;YACxD,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,CAAC,KAAK,CAAC,UAAU,cAAc,CAAC,MAAM,yBAAyB,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC;YACH,gCAAgC;YAChC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3D,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,cAAc,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YACD,MAAM,CAAC,KAAK,CACV,qBAAqB,IAAI,CAAC,MAAM,CAAC,IAAI,yBAAyB,CAC/D,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAEO,aAAa;QACnB,oEAAoE;QACpE,8BAA8B;IAChC,CAAC;IAEO,UAAU;QAChB,iEAAiE;QACjE,8BAA8B;IAChC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,UAAkB,EAClB,QAAgB,EAChB,MAAc,EACd,SAAkB;QAElB,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC;QAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,QAAuB,CAAC;QAE5B,IAAI,CAAC;YACH,IAAI,QAAQ,KAAK,iBAAiB,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,WAAW,EAAE,CAAC;oBACnC,4DAA4D;oBAC5D,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;oBAC9C,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;yBAC/D,OAAO,CAAC;oBACX,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;oBACtC,IAAI,WAAW,GAAG,EAAE,CAAC;oBAErB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;wBACrD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;wBAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK;6BAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;6BAC5C,IAAI,CAAC,GAAG,CAAC,CAAC;wBACb,WAAW,IAAI,WAAW,GAAG,MAAM,CAAC;oBACtC,CAAC;oBAED,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;oBAC7B,QAAQ,GAAG,KAAK,CAAC;gBACnB,CAAC;gBAAC,OAAO,QAAQ,EAAE,CAAC;oBAClB,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;oBAC7C,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAC7F,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;gBACrC,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACvC,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,QAAQ,GAAa;gBACzB,EAAE,EAAE,UAAU;gBACd,QAAQ,EAAE,QAAQ;gBAClB,OAAO;gBACP,QAAQ;gBACR,IAAI,EAAE,UAAU,CAAC,MAAM;gBACvB,SAAS;gBACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;aACvB,CAAC;YAEF,mCAAmC;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAEpD,4CAA4C;YAC5C,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CACjE,MAAM,EACN,MAAM,CACP,CAAC;YAEF,4BAA4B;YAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;YAElD,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9C,cAAc,CAAC,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;YAEpE,MAAM,CAAC,KAAK,CACV,aAAa,QAAQ,CAAC,WAAW,EAAE,cAAc,QAAQ,KAAK,oBAAoB,CAAC,MAAM,UAAU,CACpG,CAAC;YACF,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YAClD,MAAM,IAAI,KAAK,CACb,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,QAAkB,EAAE,MAAc;QACtD,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,WAAW,CAAC,iBAAiB,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC,uBAAuB;QAC3F,MAAM,OAAO,GAAG,WAAW,CAAC,iBAAiB,EAAE,YAAY,IAAI,GAAG,CAAC,CAAC,mCAAmC;QAEvG,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI;YAAE,OAAO,MAAM,CAAC;QAEzB,6EAA6E;QAC7E,MAAM,yBAAyB,GAAG,CAChC,YAAoB,EACpB,iBAAiB,GAAW,CAAC,EACrB,EAAE;YACV,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,iBAAiB,CAAC,CAAC;QACtD,CAAC,CAAC;QAEF,yDAAyD;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzE,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,4CAA4C;QAEnE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YAEvC,uEAAuE;YACvE,IACE,YAAY;gBACZ,YAAY,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,SAAS,EACtD,CAAC;gBACD,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxB,MAAM,UAAU,GAAG,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC;oBACvD,MAAM,QAAQ,GAAG,aAAa,CAAC;oBAE/B,MAAM,CAAC,IAAI,CAAC;wBACV,EAAE,EAAE,MAAM,EAAE;wBACZ,UAAU,EAAE,QAAQ,CAAC,EAAE;wBACvB,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE;wBAC5B,UAAU,EAAE,UAAU,EAAE;wBACxB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC;wBAClC,OAAO,EAAE,QAAQ;qBAClB,CAAC,CAAC;gBACL,CAAC;gBAED,mDAAmD;gBACnD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC;gBACtE,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,aAAa,CAAC;gBAC/D,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,cAAc;YAC3D,CAAC;iBAAM,CAAC;gBACN,iCAAiC;gBACjC,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,IAAI,MAAM,GAAG,aAAa,CAAC;oBACvC,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,cAAc;gBAC3D,CAAC;qBAAM,CAAC;oBACN,YAAY,GAAG,aAAa,CAAC;oBAC7B,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC;YACvD,MAAM,QAAQ,GAAG,aAAa,CAAC;YAE/B,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,MAAM,EAAE;gBACZ,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE;gBAC5B,UAAU,EAAE,UAAU;gBACtB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC;gBAClC,OAAO,EAAE,QAAQ;aAClB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,IAAY,EACZ,MAAc;QAEd,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,kBAAkB,CACxD;gBACE,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC,KAAK;gBAC1C,KAAK,EAAE,IAAI;aACZ,EACD,MAAM,CACP,CAAC;YAEF,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACvC,MAAuB,EACvB,MAAc;QAEd,MAAM,WAAW,GAAG,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC3C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,6BAA6B,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;QACrE,MAAM,oBAAoB,GAAoB,EAAE,CAAC;QAEjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,wBAAwB,CACnD,KAAK,CAAC,OAAO,EACb,MAAM,CACP,CAAC;YACF,oBAAoB,CAAC,IAAI,CAAC;gBACxB,GAAG,KAAK;gBACR,SAAS,EAAE,SAAS,IAAI,SAAS;aAClC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,KAAK,CACV,4BAA4B,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,SAAS,CAC1F,CAAC;QACF,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,uBAAuB,CAAC,MAAc;QAC1C,MAAM,WAAW,GAAG,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACvE,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,MAAM,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACnD,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC;YAC7B,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CACjE,MAAM,EACN,MAAM,CACP,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;YAClD,cAAc,CAAC,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;YACpE,eAAe,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QAC1E,CAAC;QAED,MAAM,CAAC,KAAK,CACV,8BAA8B,eAAe,IAAI,WAAW,SAAS,CACtE,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,KAAK,CAAC,qBAAqB,CAAC,MAAc;QAMxC,MAAM,WAAW,GAAG,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,oBAAoB,GAAG,CAAC,CAAC;QAC7B,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpD,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC;YAC7B,oBAAoB,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QACjE,CAAC;QAED,OAAO;YACL,SAAS,EAAE,WAAW,CAAC,iBAAiB,CAAC,OAAO;YAChD,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC,KAAK;YAC1C,oBAAoB;YACpB,WAAW;SACZ,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,UAAkB,EAAE,MAAc;QAC5C,OAAO,cAAc,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,YAAY,CAAC,MAAc,EAAE,SAAkB;QAC7C,MAAM,OAAO,GAAG,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED,iBAAiB,CAAC,UAAkB,EAAE,MAAc;QAClD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED,cAAc,CAAC,UAAkB,EAAE,MAAc;QAC/C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/B,cAAc,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAChD,OAAO,cAAc,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACK,eAAe,CACrB,QAAkB,EAClB,SAAkB,EAClB,aAAwB;QAExB,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAC/C,IAAI,SAAS,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC/D,OAAO,OAAO,CACZ,cAAc;YACd,QAAQ,CAAC,YAAY;YACrB,aAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAC/C,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,eAAe,CACnB,KAAa,EACb,MAAc,EACd,SAAkB,EAClB,KAAK,GAAG,CAAC,EACT,aAAwB;QAExB,MAAM,WAAW,GAAG,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE9D,gDAAgD;QAChD,IAAI,WAAW,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,uBAAuB,CACjC,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,CACd,CAAC;QACJ,CAAC;QAED,8BAA8B;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAChC,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,CACd,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,uBAAuB,CACnC,KAAa,EACb,MAAc,EACd,SAAkB,EAClB,KAAK,GAAG,CAAC,EACT,aAAwB;QAExB,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC1E,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CACT,oEAAoE,CACrE,CAAC;gBACF,OAAO,IAAI,CAAC,sBAAsB,CAChC,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,CACd,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAC9D,MAAM,OAAO,GAIP,EAAE,CAAC;YAET,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAE5D,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC;oBAAE,SAAS;gBAExE,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;oBACnC,IAAI,CAAC,KAAK,CAAC,SAAS;wBAAE,SAAS;oBAE/B,MAAM,UAAU,GAAG,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;oBAErE,iDAAiD;oBACjD,IAAI,UAAU,IAAI,WAAW,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;wBACpE,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;YACH,CAAC;YAED,kDAAkD;YAClD,OAAO,OAAO;iBACX,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC;iBAC3C,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;iBACf,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACd,GAAG,MAAM,CAAC,KAAK;gBACf,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,2BAA2B;aAChE,CAAC,CAAoB,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,yDAAyD,EACzD,KAAK,CACN,CAAC;YACF,OAAO,IAAI,CAAC,sBAAsB,CAChC,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,CACd,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,sBAAsB,CAC5B,KAAa,EACb,MAAc,EACd,SAAkB,EAClB,KAAK,GAAG,CAAC,EACT,aAAwB;QAExB,MAAM,WAAW,GAAG,KAAK;aACtB,WAAW,EAAE;aACb,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnC,MAAM,OAAO,GAIP,EAAE,CAAC;QAET,KAAK,MAAM,QAAQ,IAAI,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAE5D,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC;gBAAE,SAAS;YAExE,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC9C,IAAI,KAAK,GAAG,CAAC,CAAC;gBAEd,yCAAyC;gBACzC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/B,uDAAuD;oBACvD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;oBAChE,MAAM,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;yBACnE,MAAM,CAAC;oBACV,KAAK,IAAI,OAAO,CAAC;gBACnB,CAAC;gBAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,OAAO,OAAO;aACX,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;aACf,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACd,GAAG,MAAM,CAAC,KAAK;YACf,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,2BAA2B;SAChE,CAAC,CAAoB,CAAC;IAC3B,CAAC;IAED,+BAA+B;IAC/B,KAAK,CAAC,kBAAkB,CACtB,KAAa,EACb,MAAc,EACd,SAAkB;QAElB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAC/C,KAAK,EACL,MAAM,EACN,SAAS,EACT,CAAC,CACF,CAAC;QACF,OAAO,cAAc,CAAC,GAAG,CACvB,CAAC,KAA4C,EAAE,EAAE;YAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC;YAC7C,OAAO,UAAU,QAAQ,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACjD,CAAC,CACF,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,eAAe,CAAC,QAAkB,EAAE,MAAc;QAChD,IAAI,CAAC;YACH,gBAAgB;YAChB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YAE1C,kBAAkB;YAClB,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAE9C,4EAA4E;YAC5E,MAAM,CAAC,KAAK,CAAC,sBAAsB,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC1F,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,UAAkB;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,MAAM,GAAG,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,eAAe,IAAI,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"documentService.js","sourceRoot":"","sources":["../../src/services/documentService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export type ModelDownloadMode = 'admins' | 'all-users';
2
+ export declare const MODEL_DOWNLOAD_MODES: readonly ModelDownloadMode[];
3
+ export declare const MODEL_DOWNLOAD_MODE_KEY = "model_download_mode";
4
+ export declare function isModelDownloadMode(value: unknown): value is ModelDownloadMode;
5
+ export declare function getModelDownloadMode(): ModelDownloadMode;
6
+ export declare function setModelDownloadMode(mode: ModelDownloadMode): void;
7
+ /** Whether a user may pull models right now. */
8
+ export declare function userCanDownloadModels(user: {
9
+ role?: string;
10
+ status?: string;
11
+ }): boolean;
12
+ //# sourceMappingURL=modelAccessService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelAccessService.d.ts","sourceRoot":"","sources":["../../src/services/modelAccessService.ts"],"names":[],"mappings":"AA4BA,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEvD,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EAG5D,CAAC;AAEF,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,iBAAiB,CAK5B;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CASxD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAalE;AAED,gDAAgD;AAChD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAIV"}
@@ -0,0 +1,66 @@
1
+ /*
2
+ * Libre WebUI
3
+ * Copyright (C) 2025 Kroonen AI, Inc.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at:
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ /**
18
+ * Who may download models (Ollama pulls, including the Hugging Face
19
+ * browser, which pulls through Ollama). A persisted system setting read on
20
+ * every check, mirroring the Work access mode: administrators always may;
21
+ * other active users only when an administrator opens downloads to all
22
+ * users. The default is admins-only — model pulls consume disk and
23
+ * bandwidth on the server, which is an administrator's call to share.
24
+ */
25
+ import { getDatabase } from '../db.js';
26
+ export const MODEL_DOWNLOAD_MODES = [
27
+ 'admins',
28
+ 'all-users',
29
+ ];
30
+ export const MODEL_DOWNLOAD_MODE_KEY = 'model_download_mode';
31
+ export function isModelDownloadMode(value) {
32
+ return (typeof value === 'string' &&
33
+ MODEL_DOWNLOAD_MODES.includes(value));
34
+ }
35
+ export function getModelDownloadMode() {
36
+ try {
37
+ const row = getDatabase()
38
+ .prepare('SELECT value FROM system_settings WHERE key = ?')
39
+ .get(MODEL_DOWNLOAD_MODE_KEY);
40
+ return isModelDownloadMode(row?.value) ? row.value : 'admins';
41
+ }
42
+ catch {
43
+ return 'admins';
44
+ }
45
+ }
46
+ export function setModelDownloadMode(mode) {
47
+ if (!isModelDownloadMode(mode)) {
48
+ throw new Error(`Invalid model download mode "${String(mode)}".`);
49
+ }
50
+ getDatabase()
51
+ .prepare(`INSERT INTO system_settings (key, value, updated_at)
52
+ VALUES (?, ?, ?)
53
+ ON CONFLICT(key) DO UPDATE SET
54
+ value = excluded.value,
55
+ updated_at = excluded.updated_at`)
56
+ .run(MODEL_DOWNLOAD_MODE_KEY, mode, Date.now());
57
+ }
58
+ /** Whether a user may pull models right now. */
59
+ export function userCanDownloadModels(user) {
60
+ if (user.status !== undefined && user.status !== 'active')
61
+ return false;
62
+ if (user.role === 'admin')
63
+ return true;
64
+ return getModelDownloadMode() === 'all-users';
65
+ }
66
+ //# sourceMappingURL=modelAccessService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modelAccessService.js","sourceRoot":"","sources":["../../src/services/modelAccessService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,MAAM,CAAC,MAAM,oBAAoB,GAAiC;IAChE,QAAQ;IACR,WAAW;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CACjC,KAAc;IAEd,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACxB,oBAA0C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,WAAW,EAAE;aACtB,OAAO,CAAC,iDAAiD,CAAC;aAC1D,GAAG,CAAC,uBAAuB,CAAmC,CAAC;QAClE,OAAO,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAuB;IAC1D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IACD,WAAW,EAAE;SACV,OAAO,CACN;;;;0CAIoC,CACrC;SACA,GAAG,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACpD,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,qBAAqB,CAAC,IAGrC;IACC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxE,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,oBAAoB,EAAE,KAAK,WAAW,CAAC;AAChD,CAAC"}
@@ -0,0 +1,64 @@
1
+ export declare const WEB_SEARCH_ENABLED_KEY = "web_search_enabled";
2
+ export declare const WEB_SEARCH_URL_KEY = "web_search_url";
3
+ export declare const WEB_SEARCH_ACCESS_KEY = "web_search_access";
4
+ export declare const WEB_SEARCH_MAX_RESULTS_KEY = "web_search_max_results";
5
+ export declare const WEB_SEARCH_SAFE_SEARCH_KEY = "web_search_safe_search";
6
+ export declare const WEB_SEARCH_DEFAULT_MAX_RESULTS = 6;
7
+ export declare const WEB_SEARCH_RESULTS_CEILING = 10;
8
+ export type WebSearchAccessMode = 'admins' | 'all-users';
9
+ export declare function isWebSearchAccessMode(value: unknown): value is WebSearchAccessMode;
10
+ export interface WebSearchResult {
11
+ title: string;
12
+ url: string;
13
+ content: string;
14
+ engine?: string;
15
+ }
16
+ export interface WebSearchConfig {
17
+ enabled: boolean;
18
+ url: string;
19
+ /** Enabled and a URL is set — search can actually run. */
20
+ available: boolean;
21
+ /** Admin ceiling on results per search, 1-10. */
22
+ maxResults: number;
23
+ safeSearch: boolean;
24
+ }
25
+ export declare function normalizeWebSearchMaxResults(value: unknown): number;
26
+ export declare function normalizeWebSearchUrl(value: unknown): string;
27
+ export declare function getWebSearchConfig(): WebSearchConfig;
28
+ export declare function setWebSearchConfig(input: {
29
+ enabled: boolean;
30
+ url: string;
31
+ maxResults?: number;
32
+ safeSearch?: boolean;
33
+ }): WebSearchConfig;
34
+ export declare function isWebSearchAvailable(): boolean;
35
+ /**
36
+ * Who may use web search, mirroring the Work access mode: administrators
37
+ * always may; other active users only when an administrator opens it up in
38
+ * User Management. Defaults to admins-only and fails closed.
39
+ */
40
+ export declare function getWebSearchAccessMode(): WebSearchAccessMode;
41
+ export declare function setWebSearchAccessMode(mode: WebSearchAccessMode): void;
42
+ /** Whether this user may run web searches right now (search must also be available). */
43
+ export declare function userCanUseWebSearch(user: {
44
+ role?: string;
45
+ status?: string;
46
+ } | undefined | null): boolean;
47
+ export declare function webSearch(query: string, maxResults?: number): Promise<WebSearchResult[]>;
48
+ /**
49
+ * The latest user message enhanced with search context, mirroring the
50
+ * document-RAG enhancement shape so every provider path benefits.
51
+ */
52
+ export declare function buildWebSearchEnhancedContent(content: string, results: readonly WebSearchResult[], query: string): string;
53
+ declare const _default: {
54
+ getWebSearchConfig: typeof getWebSearchConfig;
55
+ setWebSearchConfig: typeof setWebSearchConfig;
56
+ isWebSearchAvailable: typeof isWebSearchAvailable;
57
+ getWebSearchAccessMode: typeof getWebSearchAccessMode;
58
+ setWebSearchAccessMode: typeof setWebSearchAccessMode;
59
+ userCanUseWebSearch: typeof userCanUseWebSearch;
60
+ webSearch: typeof webSearch;
61
+ buildWebSearchEnhancedContent: typeof buildWebSearchEnhancedContent;
62
+ };
63
+ export default _default;
64
+ //# sourceMappingURL=webSearchService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webSearchService.d.ts","sourceRoot":"","sources":["../../src/services/webSearchService.ts"],"names":[],"mappings":"AAiCA,eAAO,MAAM,sBAAsB,uBAAuB,CAAC;AAC3D,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,0BAA0B,2BAA2B,CAAC;AACnE,eAAO,MAAM,0BAA0B,2BAA2B,CAAC;AAEnE,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAChD,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEzD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mBAAmB,CAE9B;AAMD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,SAAS,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAInE;AAyBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAc5D;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAiBpD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,eAAe,CAoBlB;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CAG5D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,CAKtE;AAED,wFAAwF;AACxF,wBAAgB,mBAAmB,CACjC,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAAG,IAAI,GAC1D,OAAO,CAKT;AAcD,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,EAAE,CAAC,CAiE5B;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,eAAe,EAAE,EACnC,KAAK,EAAE,MAAM,GACZ,MAAM,CAWR"}