libre-webui 0.19.4 → 0.19.6

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 (67) hide show
  1. package/backend/dist/services/ollamaService.d.ts +8 -0
  2. package/backend/dist/services/ollamaService.d.ts.map +1 -1
  3. package/backend/dist/services/ollamaService.js +17 -12
  4. package/backend/dist/services/ollamaService.js.map +1 -1
  5. package/backend/package.json +1 -1
  6. package/electron/main.js +196 -11
  7. package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
  8. package/frontend/dist/assets/{index-DrcHGnwk.js → index-Cd0_AoYV.js} +17 -58
  9. package/frontend/dist/index.html +9 -9
  10. package/frontend/dist/js/{ArtifactContainer-CEBbQqtg.js → ArtifactContainer-Dy_1KKWg.js} +1 -1
  11. package/frontend/dist/js/{ArtifactDemoPage-BDTtUPjk.js → ArtifactDemoPage-Big00RwH.js} +1 -1
  12. package/frontend/dist/js/{ArtifactSandboxFrame-DOQWmEAm.js → ArtifactSandboxFrame-C_S4j076.js} +2 -2
  13. package/frontend/dist/js/{ArtifactSlideOutPanel-BMhWWM3P.js → ArtifactSlideOutPanel-B4-D3HkB.js} +1 -1
  14. package/frontend/dist/js/{ChatPage-B64xgIPZ.js → ChatPage-BkFd1iac.js} +1 -1
  15. package/frontend/dist/js/{FirstTimeSetup-1IqkWCsV.js → FirstTimeSetup-C6YxrwR7.js} +1 -1
  16. package/frontend/dist/js/{GalleryPage-CKgQAYmH.js → GalleryPage-BtcPs7SO.js} +1 -1
  17. package/frontend/dist/js/{HomePage-aNO615Go.js → HomePage-5PhpAt14.js} +1 -1
  18. package/frontend/dist/js/{LibreClawPage-DZqgIOgT.js → LibreClawPage-B14Go5Mn.js} +1 -1
  19. package/frontend/dist/js/{ModelSelector-DhmVTh2d.js → ModelSelector-C1wN91tl.js} +1 -1
  20. package/frontend/dist/js/{ModelsPage-tzXaut3l.js → ModelsPage-Cc3L0ur8.js} +1 -1
  21. package/frontend/dist/js/{NotesPage-Ciwrazz9.js → NotesPage-BwEMW-Z3.js} +1 -1
  22. package/frontend/dist/js/{PersonasPage-C9Pkl4yH.js → PersonasPage-e-CbTxP3.js} +1 -1
  23. package/frontend/dist/js/{PluginUsagePage-DPfyos1y.js → PluginUsagePage-CvZMJJwv.js} +1 -1
  24. package/frontend/dist/js/{RichMessageContent-CUcmvdXW.js → RichMessageContent-DNl3_CIw.js} +1 -1
  25. package/frontend/dist/js/SettingsModal-C8KJJEud.js +1 -0
  26. package/frontend/dist/js/{SystemPage-CkUsJ-UR.js → SystemPage-8kEAS71H.js} +1 -1
  27. package/frontend/dist/js/{UserManagementPage-DClRsCeA.js → UserManagementPage-BSrZ0ucu.js} +1 -1
  28. package/frontend/dist/js/{WorkPage-cJEe9LZ_.js → WorkPage-spf92PVN.js} +3 -3
  29. package/frontend/dist/js/{api-iDBo7I0x.js → api-MySpmAK8.js} +2 -2
  30. package/frontend/dist/js/{appStore-BAFz_6aP.js → appStore-BpoXhleX.js} +2 -2
  31. package/frontend/dist/js/{ar-D3PgKaYD.js → ar-ClMsdoTH.js} +1 -1
  32. package/frontend/dist/js/{authStore-2665PsVB.js → authStore-DmrydYuS.js} +1 -1
  33. package/frontend/dist/js/{bn-DJiNo5j1.js → bn-LyPol_AY.js} +1 -1
  34. package/frontend/dist/js/{chatStore-fX9gMb9B.js → chatStore-CWqfsOjc.js} +2 -2
  35. package/frontend/dist/js/{config-CmH3hRFc.js → config-CuXlcWP1.js} +1 -1
  36. package/frontend/dist/js/{cs-BJ7pToPB.js → cs-D98fZaKF.js} +1 -1
  37. package/frontend/dist/js/{da-Cqw35YeI.js → da-M7ND0GQR.js} +1 -1
  38. package/frontend/dist/js/{de-DLw7O2DX.js → de-BV0q1kzb.js} +1 -1
  39. package/frontend/dist/js/{es-CLg6Zl_p.js → es-C7FvsVoN.js} +1 -1
  40. package/frontend/dist/js/{estree-63s2XfPj.js → estree-BuWOCMW0.js} +1 -1
  41. package/frontend/dist/js/{fr-BUmG4BWs.js → fr-5SloN0ok.js} +1 -1
  42. package/frontend/dist/js/{hi-CGktbsaL.js → hi-C6VeRgeR.js} +1 -1
  43. package/frontend/dist/js/{html-CRbptZf3.js → html-D7tW7UvW.js} +1 -1
  44. package/frontend/dist/js/{i18n-DFbHZ75-.js → i18n-CLd1FZPx.js} +2 -2
  45. package/frontend/dist/js/{id-C7FnPtw9.js → id-CkVp7Z1Z.js} +1 -1
  46. package/frontend/dist/js/{is-_FSS24Pj.js → is-DqxnBX4W.js} +1 -1
  47. package/frontend/dist/js/{it-DWTgF8my.js → it-CiW4_O5V.js} +1 -1
  48. package/frontend/dist/js/{ja-jYrlZiIs.js → ja-BZ3Sdund.js} +1 -1
  49. package/frontend/dist/js/{ko-3PZ87sc7.js → ko-CS7LAhfJ.js} +1 -1
  50. package/frontend/dist/js/{markdown-C23cybKA.js → markdown-CBSxWEtK.js} +1 -1
  51. package/frontend/dist/js/{messageCodeStyles-BJVb4sK7.js → messageCodeStyles-BlTi46wI.js} +1 -1
  52. package/frontend/dist/js/{ms-BfySq07T.js → ms-URvcYqgz.js} +1 -1
  53. package/frontend/dist/js/{nl-DupdNsDK.js → nl-CQJpW7wK.js} +1 -1
  54. package/frontend/dist/js/{pl-DYoPcTNe.js → pl-DDMgPMAz.js} +1 -1
  55. package/frontend/dist/js/{pt-p_-S_r1k.js → pt-JCqqmGn_.js} +1 -1
  56. package/frontend/dist/js/{ru-CuJFlVPc.js → ru-C_dwMbiK.js} +1 -1
  57. package/frontend/dist/js/{standalone-BwzoPJoZ.js → standalone-CaXys7q3.js} +1 -1
  58. package/frontend/dist/js/{sv-DyZJcYOQ.js → sv-CW3c9NGx.js} +1 -1
  59. package/frontend/dist/js/{th-Cd6fTxUn.js → th-9ARgClBr.js} +1 -1
  60. package/frontend/dist/js/{tr-BB1gefYF.js → tr-DNY5_DAg.js} +1 -1
  61. package/frontend/dist/js/{typescript-CS-sPC9m.js → typescript-DQ5zi5zo.js} +1 -1
  62. package/frontend/dist/js/{ui-B-C2BCTb.js → ui-DFQiHo_k.js} +2 -2
  63. package/frontend/dist/js/{uk-DFURilqa.js → uk-XDh4_7IL.js} +1 -1
  64. package/frontend/dist/js/{vi-BXclLwGp.js → vi-BaoJBXnt.js} +1 -1
  65. package/frontend/dist/js/{zh-BS8f68w1.js → zh-B202vYJt.js} +1 -1
  66. package/package.json +4 -1
  67. package/frontend/dist/js/SettingsModal-DhrjNMcd.js +0 -1
@@ -5,6 +5,14 @@ import { type OllamaModelDefaults } from '../utils/ollamaModelDefaults.js';
5
5
  * are hosted and proxy through ollama.com.
6
6
  */
7
7
  export declare function isCloudModel(model: string | undefined): boolean;
8
+ /**
9
+ * Strip option values Ollama cannot take. num_ctx has no "unlimited" sentinel:
10
+ * a context size must be positive everywhere, and pins written while a hosted
11
+ * model was selected can carry -1. num_predict: -1 is valid locally (it means
12
+ * unlimited), but the cloud backend maps num_predict -> max_tokens, which must
13
+ * be positive, so for cloud we omit it and let the host apply its default.
14
+ */
15
+ export declare function sanitizeOptionsForModel(model: string, options: Record<string, unknown> | undefined): Record<string, unknown> | undefined;
8
16
  declare class OllamaService {
9
17
  private modelDefaultsCache;
10
18
  private client;
@@ -1 +1 @@
1
- {"version":3,"file":"ollamaService.d.ts","sourceRoot":"","sources":["../../src/services/ollamaService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ollamaService.d.ts","sourceRoot":"","sources":["../../src/services/ollamaService.ts"],"names":[],"mappings":"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"}
@@ -30,21 +30,26 @@ export function isCloudModel(model) {
30
30
  (normalized.endsWith(':cloud') || normalized.endsWith('-cloud')));
31
31
  }
32
32
  /**
33
- * Strip options that hosted cloud models reject. The cloud backend maps
34
- * num_predict -> max_tokens, which must be positive; locally num_predict: -1
35
- * means "unlimited", so for cloud we omit it and let the host apply its default.
36
- * Returns the options unchanged for local models.
33
+ * Strip option values Ollama cannot take. num_ctx has no "unlimited" sentinel:
34
+ * a context size must be positive everywhere, and pins written while a hosted
35
+ * model was selected can carry -1. num_predict: -1 is valid locally (it means
36
+ * unlimited), but the cloud backend maps num_predict -> max_tokens, which must
37
+ * be positive, so for cloud we omit it and let the host apply its default.
37
38
  */
38
- function sanitizeOptionsForModel(model, options) {
39
- if (!options || !isCloudModel(model))
39
+ export function sanitizeOptionsForModel(model, options) {
40
+ if (!options)
40
41
  return options;
41
- const numPredict = options.num_predict;
42
- if (typeof numPredict === 'number' && numPredict <= 0) {
43
- const sanitized = { ...options };
42
+ const isInvalid = (value) => typeof value === 'number' && value <= 0;
43
+ const dropNumCtx = isInvalid(options.num_ctx);
44
+ const dropNumPredict = isCloudModel(model) && isInvalid(options.num_predict);
45
+ if (!dropNumCtx && !dropNumPredict)
46
+ return options;
47
+ const sanitized = { ...options };
48
+ if (dropNumCtx)
49
+ delete sanitized.num_ctx;
50
+ if (dropNumPredict)
44
51
  delete sanitized.num_predict;
45
- return sanitized;
46
- }
47
- return options;
52
+ return sanitized;
48
53
  }
49
54
  const MODEL_DEFAULTS_TTL_MS = 10 * 60 * 1000;
50
55
  class OllamaService {
@@ -1 +1 @@
1
- {"version":3,"file":"ollamaService.js","sourceRoot":"","sources":["../../src/services/ollamaService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ollamaService.js","sourceRoot":"","sources":["../../src/services/ollamaService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EASL,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EACL,wBAAwB,GAEzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,kBAEN,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AAEtC;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,KAAyB;IACpD,MAAM,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,OAAO,OAAO,CACZ,UAAU;QACV,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CACjE,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAa,EACb,OAA4C;IAE5C,IAAI,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC;IAC7B,MAAM,SAAS,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7E,IAAI,CAAC,UAAU,IAAI,CAAC,cAAc;QAAE,OAAO,OAAO,CAAC;IACnD,MAAM,SAAS,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IACjC,IAAI,UAAU;QAAE,OAAO,SAAS,CAAC,OAAO,CAAC;IACzC,IAAI,cAAc;QAAE,OAAO,SAAS,CAAC,WAAW,CAAC;IACjD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7C,MAAM,aAAa;IASjB;QARQ,uBAAkB,GAAG,IAAI,GAAG,EAGjC,CAAC;QAMF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,wBAAwB,CAAC;QACvE,+FAA+F;QAC/F,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,QAAQ,CAAC,CAAC;QACjE,sFAAsF;QACtF,MAAM,oBAAoB,GAAG,QAAQ,CACnC,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,QAAQ,CACtD,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC;YACtC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,oBAAoB;YAC7B,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5C,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC;QACjC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IACE,KAAK;gBACL,OAAO,KAAK,KAAK,QAAQ;gBACzB,MAAM,IAAI,KAAK;gBACd,KAA0B,CAAC,IAAI,KAAK,cAAc,EACnD,CAAC;gBACD,MAAM,CAAC,IAAI,CACT,mEAAmE,CACpE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CACV,6BAA6B,EAC7B,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,CACxC,CAAC;YACJ,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;YAC1C,MAAM,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IACE,KAAK;gBACL,OAAO,KAAK,KAAK,QAAQ;gBACzB,MAAM,IAAI,KAAK;gBACd,KAA0B,CAAC,IAAI,KAAK,cAAc,EACnD,CAAC;gBACD,MAAM,CAAC,KAAK,CACV,8EAA8E,CAC/E,CAAC;gBACF,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CACV,yBAAyB,EACzB,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,CACxC,CAAC;gBACF,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,OAA8B;QAE9B,IAAI,CAAC;YACH,qFAAqF;YACrF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,EAAE;gBACpE,GAAG,OAAO;gBACV,OAAO,EAAE,uBAAuB,CAC9B,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,OAA8C,CACvD;gBACD,MAAM,EAAE,KAAK,EAAE,8BAA8B;aAC9C,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,OAA8B,EAC9B,OAAgD,EAChD,OAA+B,EAC/B,UAAsB;QAEtB,IAAI,CAAC;YACH,+FAA+F;YAC/F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAClD,eAAe,EACf;gBACE,GAAG,OAAO;gBACV,OAAO,EAAE,uBAAuB,CAC9B,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,OAA8C,CACvD;gBACD,MAAM,EAAE,IAAI;aACb,EACD;gBACE,YAAY,EAAE,QAAQ;aACvB,CACF,CAAC;YAEF,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;wBAChB,IAAI,CAAC;4BACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;4BACd,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gCACd,UAAU,EAAE,CAAC;gCACb,OAAO;4BACT,CAAC;wBACH,CAAC;wBAAC,OAAO,UAAU,EAAE,CAAC;4BACpB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;wBACrD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBACzC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBAC3B,UAAU,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC3D,OAAO,CACL,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,oCAAoC,CAAC,CAAC,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;YAC5C,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC/C,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CACV,uBAAuB,EACvB,MAAM,CAAC,SAAS,CAAC,EACjB,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,CACxC,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,SAAiB,EACjB,UAMU,EACV,OAA+B,EAC/B,UAAsB;QAEtB,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAClD,WAAW,EACX;gBACE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,IAAI;aACb,EACD;gBACE,YAAY,EAAE,QAAQ;aACvB,CACF,CAAC;YAEF,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;wBAChB,IAAI,CAAC;4BACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAE9B,4DAA4D;4BAC5D,IAAI,OAA2B,CAAC;4BAChC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gCACjC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;4BAC5D,CAAC;4BAED,UAAU,CAAC;gCACT,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS;gCAChC,MAAM,EAAE,IAAI,CAAC,MAAM;gCACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gCACjB,SAAS,EAAE,IAAI,CAAC,SAAS;gCACzB,OAAO;6BACR,CAAC,CAAC;4BAEH,4BAA4B;4BAC5B,IACE,IAAI,CAAC,MAAM,KAAK,SAAS;gCACzB,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,EAC/C,CAAC;gCACD,UAAU,EAAE,CAAC;gCACb,OAAO;4BACT,CAAC;wBACH,CAAC;wBAAC,OAAO,UAAU,EAAE,CAAC;4BACpB,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,UAAU,CAAC,CAAC;wBACnE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBACzC,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBAC3B,UAAU,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,CACL,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,qCAAqC,CAAC,CAAC,CACzE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE;gBACtC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC1B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,SAAiB;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,EAAE,GAAG,qBAAqB,EAAE,CAAC;YAC7D,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACrE,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uEAAuE;YACvE,0CAA0C;YAC1C,MAAM,CAAC,KAAK,CACV,+BAA+B,SAAS,KAAK,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,EAAE,CACvF,CAAC;YACF,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CACb,SAAiB,EACjB,OAAO,GAAG,KAAK;QAEf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;gBACnD,KAAK,EAAE,SAAS;gBAChB,OAAO;aACR,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA4B;QAC5C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,WAAmB;QACjD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,OAAgC;QAEhC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC/D,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB;QACjC,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;YAC9C,iFAAiF;YACjF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;gBACtC,KAAK,EAAE,SAAS;gBAChB,UAAU,EAAE,CAAC;aACd,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,IAAI,EAAE,CAAC;YAC1C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAI,KAA2B,CAAC,IAAI,CAAC;gBACpD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACvD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,8BAA8B,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,0EAA0E;IAClE,eAAe,CACrB,KAAa,EACb,MAAyB,EACzB,SAAiB,EACjB,MAAe,EACf,QAA6B;QAE7B,MAAM,YAAY,GAAG,QAAQ,EAAE,iBAAiB,CAAC;QACjD,MAAM,gBAAgB,GAAG,QAAQ,EAAE,UAAU,CAAC;QAC9C,kBAAkB,CAAC,MAAM,CAAC;YACxB,MAAM;YACN,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,QAAQ;YACpB,UAAU,EAAE,MAAM;YAClB,KAAK;YACL,MAAM;YACN,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YAClC,MAAM,EACJ,YAAY,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS;gBAC1D,CAAC,CAAC;oBACE,YAAY,EAAE,YAAY,IAAI,CAAC;oBAC/B,gBAAgB,EAAE,gBAAgB,IAAI,CAAC;oBACvC,WAAW,EAAE,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC;iBAC3D;gBACH,CAAC,CAAC,SAAS;SAChB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,OAA0B,EAC1B,MAAoB,EACpB,KAA2B;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,0FAA0F;YAC1F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAClD,WAAW,EACX;gBACE,GAAG,OAAO;gBACV,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC;gBAChE,MAAM,EAAE,KAAK;aACd,EACD,EAAE,MAAM,EAAE,CACX,CAAC;YACF,IAAI,CAAC,eAAe,CAClB,OAAO,CAAC,KAAK,EACb,SAAS,EACT,SAAS,EACT,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,IAAI,CACd,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAClB,OAAO,CAAC,KAAK,EACb,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EACvC,SAAS,EACT,KAAK,EAAE,MAAM,CACd,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,eAAe,CAAC,KAAK,EAAE,kCAAkC,CAAC,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,OAA0B,EAC1B,OAA4C,EAC5C,OAA+B,EAC/B,UAAsB,EACtB,MAAoB,EACpB,KAA2B;QAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,MAAM,UAAU,GAAG,CACjB,MAAyB,EACzB,UAA+B,EAC/B,EAAE;YACF,IAAI,aAAa;gBAAE,OAAO;YAC1B,aAAa,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,eAAe,CAClB,OAAO,CAAC,KAAK,EACb,MAAM,EACN,SAAS,EACT,KAAK,EAAE,MAAM,EACb,UAAU,CACX,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,CAAC;YACH,yFAAyF;YACzF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAClD,WAAW,EACX;gBACE,GAAG,OAAO;gBACV,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC;gBAChE,MAAM,EAAE,IAAI;aACb,EACD;gBACE,YAAY,EAAE,QAAQ;gBACtB,MAAM;aACP,CACF,CAAC;YAEF,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;wBAChB,IAAI,CAAC;4BACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;4BAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;4BACd,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gCACd,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gCAC5B,UAAU,EAAE,CAAC;gCACb,OAAO;4BACT,CAAC;wBACH,CAAC;wBAAC,OAAO,UAAU,EAAE,CAAC;4BACpB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,UAAU,CAAC,CAAC;wBACrD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;gBACzC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACpD,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBAC3B,yDAAyD;gBACzD,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACtD,UAAU,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YAChE,OAAO,CACL,IAAI,KAAK,CACP,eAAe,CAAC,KAAK,EAAE,yCAAyC,CAAC,CAClE,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC;YAChE,OAAO,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC;QACjC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;gBAC9D,MAAM,SAAS,GAAG,KAA2C,CAAC;gBAC9D,IAAI,SAAS,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;oBACvC,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,gCAAgC,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,IAAqB;QAClD,yDAAyD;QACzD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,MAAM,EAAE,EAAE,IAAI,EAAE;gBACnD,OAAO,EAAE;oBACP,cAAc,EAAE,0BAA0B;iBAC3C;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,KAAK,CAAC,wBAAwB,CAC5B,OAAgC;QAEhC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;YACpE,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAC7D,MAAM,IAAI,KAAK,CACb,eAAe,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,aAAa;QAIjB,MAAM,OAAO,GAAyC,EAAE,CAAC;QACzD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACjC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpD,CAAC;gBAAC,OAAO,IAAa,EAAE,CAAC;oBACvB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,MAAe,EAAE,CAAC;YACzB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,KAAK,CAAC,mBAAmB,CACvB,UAMU,EACV,UAAsB,EACtB,OAAgC;QAEhC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;YAE5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC;oBACH,UAAU,CAAC;wBACT,OAAO,EAAE,CAAC,GAAG,CAAC;wBACd,KAAK;wBACL,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,MAAM,EAAE,UAAU;qBACnB,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACjC,UAAU,CAAC;wBACT,OAAO,EAAE,CAAC,GAAG,CAAC;wBACd,KAAK;wBACL,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,MAAM,EAAE,SAAS;qBAClB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACtB,MAAM,YAAY,GAChB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;oBACvD,UAAU,CAAC;wBACT,OAAO,EAAE,CAAC,GAAG,CAAC;wBACd,KAAK;wBACL,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,MAAM,EAAE,OAAO;wBACf,KAAK,EAAE,YAAY;qBACpB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,UAAU,EAAE,CAAC;QACf,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,CAAC,eAAe,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;CACF;AAED,eAAe,IAAI,aAAa,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "libre-webui-backend",
3
- "version": "0.19.4",
3
+ "version": "0.19.6",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "description": "Backend API for Libre WebUI",
package/electron/main.js CHANGED
@@ -15,11 +15,14 @@ const {
15
15
  shell,
16
16
  Menu,
17
17
  dialog,
18
+ ipcMain,
18
19
  nativeTheme,
19
20
  nativeImage,
20
21
  } = require('electron');
21
22
  const path = require('path');
23
+ const fs = require('fs');
22
24
  const http = require('http');
25
+ const https = require('https');
23
26
  const { spawn } = require('child_process');
24
27
 
25
28
  // Get icon path for Linux (icons are in extraResources for production)
@@ -145,6 +148,179 @@ function createMainWindow() {
145
148
  return mainWindow;
146
149
  }
147
150
 
151
+ // Where the last landing choice is remembered: {mode: 'local'} or
152
+ // {mode: 'remote', url}. Absent means the landing page decides.
153
+ const getLandingChoicePath = () =>
154
+ path.join(app.getPath('userData'), 'landing.json');
155
+
156
+ function readLandingChoice() {
157
+ try {
158
+ const choice = JSON.parse(fs.readFileSync(getLandingChoicePath(), 'utf8'));
159
+ if (choice && choice.mode === 'local') return choice;
160
+ if (
161
+ choice &&
162
+ choice.mode === 'remote' &&
163
+ typeof choice.url === 'string' &&
164
+ /^https?:\/\//.test(choice.url)
165
+ ) {
166
+ return choice;
167
+ }
168
+ } catch {
169
+ // No saved choice, or an unreadable one: the landing page decides.
170
+ }
171
+ return null;
172
+ }
173
+
174
+ function saveLandingChoice(choice) {
175
+ try {
176
+ fs.mkdirSync(app.getPath('userData'), { recursive: true });
177
+ fs.writeFileSync(getLandingChoicePath(), JSON.stringify(choice));
178
+ } catch (error) {
179
+ console.error('Could not remember the landing choice:', error);
180
+ }
181
+ }
182
+
183
+ // A server qualifies when its health endpoint answers. Both the Docker image
184
+ // and a bare `npm run dev:backend` expose /health at the root.
185
+ function probeServer(baseUrl) {
186
+ return new Promise(resolve => {
187
+ let target;
188
+ try {
189
+ target = new URL('/health', baseUrl);
190
+ } catch {
191
+ resolve(false);
192
+ return;
193
+ }
194
+ const client = target.protocol === 'https:' ? https : http;
195
+ const request = client.get(target.toString(), response => {
196
+ response.resume();
197
+ resolve(response.statusCode === 200);
198
+ });
199
+ request.on('error', () => resolve(false));
200
+ request.setTimeout(5000, () => {
201
+ request.destroy();
202
+ resolve(false);
203
+ });
204
+ });
205
+ }
206
+
207
+ // Only the bundled landing page may steer the window; content loaded from a
208
+ // server must not be able to invoke these channels.
209
+ const isLandingSender = event => {
210
+ try {
211
+ const senderUrl = new URL(event.senderFrame.url);
212
+ return (
213
+ senderUrl.protocol === 'file:' &&
214
+ senderUrl.pathname.endsWith('/landing.html')
215
+ );
216
+ } catch {
217
+ return false;
218
+ }
219
+ };
220
+
221
+ function loadLocalApp(window) {
222
+ if (isDev) {
223
+ window.loadURL(`http://localhost:${FRONTEND_PORT}`);
224
+ return;
225
+ }
226
+ const frontendPath = getResourcePath('frontend', 'dist', 'index.html');
227
+ window.loadFile(frontendPath).catch(err => {
228
+ console.error('Failed to load frontend:', err);
229
+ dialog.showErrorBox('Load Error', `Could not load app: ${err.message}`);
230
+ });
231
+ }
232
+
233
+ function showLanding(window) {
234
+ window.loadFile(path.join(__dirname, 'landing.html'));
235
+ }
236
+
237
+ // A tolerant version lookup for the setup screen; the system-info endpoint is
238
+ // public and answers before any login.
239
+ function fetchLocalVersion() {
240
+ return new Promise(resolve => {
241
+ const request = http.get(
242
+ `http://localhost:${BACKEND_PORT}/api/auth/system-info`,
243
+ response => {
244
+ let body = '';
245
+ response.on('data', chunk => {
246
+ body += chunk;
247
+ });
248
+ response.on('end', () => {
249
+ try {
250
+ resolve(JSON.parse(body).data.version || null);
251
+ } catch {
252
+ resolve(null);
253
+ }
254
+ });
255
+ }
256
+ );
257
+ request.on('error', () => resolve(null));
258
+ request.setTimeout(2000, () => {
259
+ request.destroy();
260
+ resolve(null);
261
+ });
262
+ });
263
+ }
264
+
265
+ function registerLandingHandlers() {
266
+ ipcMain.on('landing-launch-local', event => {
267
+ if (!isLandingSender(event) || !mainWindow) return;
268
+ saveLandingChoice({ mode: 'local' });
269
+ loadLocalApp(mainWindow);
270
+ });
271
+
272
+ ipcMain.handle('landing-probe-local', async event => {
273
+ if (!isLandingSender(event)) return { healthy: false, version: null };
274
+ const healthy = await probeServer(`http://localhost:${BACKEND_PORT}`);
275
+ const version = healthy ? await fetchLocalVersion() : null;
276
+ return { healthy, version };
277
+ });
278
+
279
+ // The preload has always exposed getVersion; answer it.
280
+ ipcMain.handle('get-version', () => app.getVersion());
281
+
282
+ // The landing page's guidance links only; arbitrary pages stay out.
283
+ const LANDING_LINKS = new Set([
284
+ 'https://docs.librewebui.org/DOCKER/',
285
+ 'https://docs.docker.com/get-docker/',
286
+ 'https://ollama.com/download',
287
+ 'https://librewebui.org',
288
+ 'https://docs.librewebui.org',
289
+ 'https://kroonen.ai',
290
+ ]);
291
+ ipcMain.on('landing-open-external', (event, url) => {
292
+ if (!isLandingSender(event)) return;
293
+ if (LANDING_LINKS.has(url)) shell.openExternal(url);
294
+ });
295
+
296
+ ipcMain.handle('landing-connect', async (event, rawUrl) => {
297
+ if (!isLandingSender(event) || !mainWindow) {
298
+ return { ok: false, error: 'Not available right now.' };
299
+ }
300
+ let url;
301
+ try {
302
+ url = new URL(String(rawUrl));
303
+ } catch {
304
+ return { ok: false, error: 'That is not a valid address.' };
305
+ }
306
+ if (url.protocol !== 'http:' && url.protocol !== 'https:') {
307
+ return { ok: false, error: 'The address must start with http or https.' };
308
+ }
309
+ const base = url.toString().replace(/\/+$/, '');
310
+ if (!(await probeServer(base))) {
311
+ return {
312
+ ok: false,
313
+ error: 'No Libre WebUI server answered at that address.',
314
+ };
315
+ }
316
+ saveLandingChoice({ mode: 'remote', url: base });
317
+ mainWindow.loadURL(base);
318
+ return { ok: true };
319
+ });
320
+ }
321
+
322
+ registerLandingHandlers();
323
+
148
324
  // Check if backend is running
149
325
  async function checkBackend() {
150
326
  return new Promise(resolve => {
@@ -209,6 +385,13 @@ function createMenu() {
209
385
  }
210
386
  },
211
387
  },
388
+ {
389
+ label: 'Switch Server…',
390
+ click: () => {
391
+ fs.rmSync(getLandingChoicePath(), { force: true });
392
+ if (mainWindow) showLanding(mainWindow);
393
+ },
394
+ },
212
395
  { type: 'separator' },
213
396
  { role: 'services' },
214
397
  { type: 'separator' },
@@ -305,18 +488,20 @@ async function main() {
305
488
  // Create main window
306
489
  const window = createMainWindow();
307
490
 
308
- // Load the app
309
- if (isDev) {
310
- // In development, load from Vite dev server
311
- window.loadURL(`http://localhost:${FRONTEND_PORT}`);
491
+ // The landing page decides on first launch; afterwards the remembered
492
+ // choice routes straight in. A remembered server that stops answering
493
+ // returns to the landing page rather than a blank window.
494
+ const choice = readLandingChoice();
495
+ if (!choice) {
496
+ showLanding(window);
497
+ } else if (choice.mode === 'remote') {
498
+ if (await probeServer(choice.url)) {
499
+ window.loadURL(choice.url);
500
+ } else {
501
+ showLanding(window);
502
+ }
312
503
  } else {
313
- // In production, load the built frontend
314
- const frontendPath = getResourcePath('frontend', 'dist', 'index.html');
315
- console.log('Loading frontend from:', frontendPath);
316
- window.loadFile(frontendPath).catch(err => {
317
- console.error('Failed to load frontend:', err);
318
- dialog.showErrorBox('Load Error', `Could not load app: ${err.message}`);
319
- });
504
+ loadLocalApp(window);
320
505
  }
321
506
 
322
507
  // Open DevTools in dev mode
@@ -1 +1 @@
1
- bc6fb2127968ce0decabc20315848c221a2e11b1d5e5f834e0958b0ef1d99ed7
1
+ 793cdf43cecd594b17579f14b2300d8dba5e378ac842a2490a94238d5619e6a8