@gatanot/qualia_web 0.1.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 (224) hide show
  1. package/build/client/_app/immutable/assets/0.BlmLthUu.css +1 -0
  2. package/build/client/_app/immutable/assets/0.BlmLthUu.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.BlmLthUu.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/2.C6F1hpzI.css +1 -0
  5. package/build/client/_app/immutable/assets/2.C6F1hpzI.css.br +0 -0
  6. package/build/client/_app/immutable/assets/2.C6F1hpzI.css.gz +0 -0
  7. package/build/client/_app/immutable/assets/3.D8sLuVpx.css +1 -0
  8. package/build/client/_app/immutable/assets/3.D8sLuVpx.css.br +0 -0
  9. package/build/client/_app/immutable/assets/3.D8sLuVpx.css.gz +0 -0
  10. package/build/client/_app/immutable/assets/4.1xWrYHn4.css +1 -0
  11. package/build/client/_app/immutable/assets/4.1xWrYHn4.css.br +0 -0
  12. package/build/client/_app/immutable/assets/4.1xWrYHn4.css.gz +0 -0
  13. package/build/client/_app/immutable/assets/5.K6sy6bnZ.css +1 -0
  14. package/build/client/_app/immutable/assets/5.K6sy6bnZ.css.br +0 -0
  15. package/build/client/_app/immutable/assets/5.K6sy6bnZ.css.gz +0 -0
  16. package/build/client/_app/immutable/assets/ChatInput.CmxPxwkj.css +1 -0
  17. package/build/client/_app/immutable/assets/ChatInput.CmxPxwkj.css.br +0 -0
  18. package/build/client/_app/immutable/assets/ChatInput.CmxPxwkj.css.gz +0 -0
  19. package/build/client/_app/immutable/assets/KaTeX_AMS-Regular.BQhdFMY1.woff2 +0 -0
  20. package/build/client/_app/immutable/assets/KaTeX_AMS-Regular.DMm9YOAa.woff +0 -0
  21. package/build/client/_app/immutable/assets/KaTeX_AMS-Regular.DRggAlZN.ttf +0 -0
  22. package/build/client/_app/immutable/assets/KaTeX_Caligraphic-Bold.ATXxdsX0.ttf +0 -0
  23. package/build/client/_app/immutable/assets/KaTeX_Caligraphic-Bold.BEiXGLvX.woff +0 -0
  24. package/build/client/_app/immutable/assets/KaTeX_Caligraphic-Bold.Dq_IR9rO.woff2 +0 -0
  25. package/build/client/_app/immutable/assets/KaTeX_Caligraphic-Regular.CTRA-rTL.woff +0 -0
  26. package/build/client/_app/immutable/assets/KaTeX_Caligraphic-Regular.Di6jR-x-.woff2 +0 -0
  27. package/build/client/_app/immutable/assets/KaTeX_Caligraphic-Regular.wX97UBjC.ttf +0 -0
  28. package/build/client/_app/immutable/assets/KaTeX_Fraktur-Bold.BdnERNNW.ttf +0 -0
  29. package/build/client/_app/immutable/assets/KaTeX_Fraktur-Bold.BsDP51OF.woff +0 -0
  30. package/build/client/_app/immutable/assets/KaTeX_Fraktur-Bold.CL6g_b3V.woff2 +0 -0
  31. package/build/client/_app/immutable/assets/KaTeX_Fraktur-Regular.CB_wures.ttf +0 -0
  32. package/build/client/_app/immutable/assets/KaTeX_Fraktur-Regular.CTYiF6lA.woff2 +0 -0
  33. package/build/client/_app/immutable/assets/KaTeX_Fraktur-Regular.Dxdc4cR9.woff +0 -0
  34. package/build/client/_app/immutable/assets/KaTeX_Main-Bold.Cx986IdX.woff2 +0 -0
  35. package/build/client/_app/immutable/assets/KaTeX_Main-Bold.Jm3AIy58.woff +0 -0
  36. package/build/client/_app/immutable/assets/KaTeX_Main-Bold.waoOVXN0.ttf +0 -0
  37. package/build/client/_app/immutable/assets/KaTeX_Main-BoldItalic.DxDJ3AOS.woff2 +0 -0
  38. package/build/client/_app/immutable/assets/KaTeX_Main-BoldItalic.DzxPMmG6.ttf +0 -0
  39. package/build/client/_app/immutable/assets/KaTeX_Main-BoldItalic.SpSLRI95.woff +0 -0
  40. package/build/client/_app/immutable/assets/KaTeX_Main-Italic.3WenGoN9.ttf +0 -0
  41. package/build/client/_app/immutable/assets/KaTeX_Main-Italic.BMLOBm91.woff +0 -0
  42. package/build/client/_app/immutable/assets/KaTeX_Main-Italic.NWA7e6Wa.woff2 +0 -0
  43. package/build/client/_app/immutable/assets/KaTeX_Main-Regular.B22Nviop.woff2 +0 -0
  44. package/build/client/_app/immutable/assets/KaTeX_Main-Regular.Dr94JaBh.woff +0 -0
  45. package/build/client/_app/immutable/assets/KaTeX_Main-Regular.ypZvNtVU.ttf +0 -0
  46. package/build/client/_app/immutable/assets/KaTeX_Math-BoldItalic.B3XSjfu4.ttf +0 -0
  47. package/build/client/_app/immutable/assets/KaTeX_Math-BoldItalic.CZnvNsCZ.woff2 +0 -0
  48. package/build/client/_app/immutable/assets/KaTeX_Math-BoldItalic.iY-2wyZ7.woff +0 -0
  49. package/build/client/_app/immutable/assets/KaTeX_Math-Italic.DA0__PXp.woff +0 -0
  50. package/build/client/_app/immutable/assets/KaTeX_Math-Italic.flOr_0UB.ttf +0 -0
  51. package/build/client/_app/immutable/assets/KaTeX_Math-Italic.t53AETM-.woff2 +0 -0
  52. package/build/client/_app/immutable/assets/KaTeX_SansSerif-Bold.CFMepnvq.ttf +0 -0
  53. package/build/client/_app/immutable/assets/KaTeX_SansSerif-Bold.D1sUS0GD.woff2 +0 -0
  54. package/build/client/_app/immutable/assets/KaTeX_SansSerif-Bold.DbIhKOiC.woff +0 -0
  55. package/build/client/_app/immutable/assets/KaTeX_SansSerif-Italic.C3H0VqGB.woff2 +0 -0
  56. package/build/client/_app/immutable/assets/KaTeX_SansSerif-Italic.DN2j7dab.woff +0 -0
  57. package/build/client/_app/immutable/assets/KaTeX_SansSerif-Italic.YYjJ1zSn.ttf +0 -0
  58. package/build/client/_app/immutable/assets/KaTeX_SansSerif-Regular.BNo7hRIc.ttf +0 -0
  59. package/build/client/_app/immutable/assets/KaTeX_SansSerif-Regular.CS6fqUqJ.woff +0 -0
  60. package/build/client/_app/immutable/assets/KaTeX_SansSerif-Regular.DDBCnlJ7.woff2 +0 -0
  61. package/build/client/_app/immutable/assets/KaTeX_Script-Regular.C5JkGWo-.ttf +0 -0
  62. package/build/client/_app/immutable/assets/KaTeX_Script-Regular.D3wIWfF6.woff2 +0 -0
  63. package/build/client/_app/immutable/assets/KaTeX_Script-Regular.D5yQViql.woff +0 -0
  64. package/build/client/_app/immutable/assets/KaTeX_Size1-Regular.C195tn64.woff +0 -0
  65. package/build/client/_app/immutable/assets/KaTeX_Size1-Regular.Dbsnue_I.ttf +0 -0
  66. package/build/client/_app/immutable/assets/KaTeX_Size1-Regular.mCD8mA8B.woff2 +0 -0
  67. package/build/client/_app/immutable/assets/KaTeX_Size2-Regular.B7gKUWhC.ttf +0 -0
  68. package/build/client/_app/immutable/assets/KaTeX_Size2-Regular.Dy4dx90m.woff2 +0 -0
  69. package/build/client/_app/immutable/assets/KaTeX_Size2-Regular.oD1tc_U0.woff +0 -0
  70. package/build/client/_app/immutable/assets/KaTeX_Size3-Regular.CTq5MqoE.woff +0 -0
  71. package/build/client/_app/immutable/assets/KaTeX_Size3-Regular.DgpXs0kz.ttf +0 -0
  72. package/build/client/_app/immutable/assets/KaTeX_Size4-Regular.BF-4gkZK.woff +0 -0
  73. package/build/client/_app/immutable/assets/KaTeX_Size4-Regular.DWFBv043.ttf +0 -0
  74. package/build/client/_app/immutable/assets/KaTeX_Size4-Regular.Dl5lxZxV.woff2 +0 -0
  75. package/build/client/_app/immutable/assets/KaTeX_Typewriter-Regular.C0xS9mPB.woff +0 -0
  76. package/build/client/_app/immutable/assets/KaTeX_Typewriter-Regular.CO6r4hn1.woff2 +0 -0
  77. package/build/client/_app/immutable/assets/KaTeX_Typewriter-Regular.D3Ib7_Hf.ttf +0 -0
  78. package/build/client/_app/immutable/chunks/B39M1lOz.js +3 -0
  79. package/build/client/_app/immutable/chunks/B39M1lOz.js.br +0 -0
  80. package/build/client/_app/immutable/chunks/B39M1lOz.js.gz +0 -0
  81. package/build/client/_app/immutable/chunks/BMcRbUT8.js +3 -0
  82. package/build/client/_app/immutable/chunks/BMcRbUT8.js.br +0 -0
  83. package/build/client/_app/immutable/chunks/BMcRbUT8.js.gz +0 -0
  84. package/build/client/_app/immutable/chunks/BN2zEB6w.js +1 -0
  85. package/build/client/_app/immutable/chunks/BN2zEB6w.js.br +0 -0
  86. package/build/client/_app/immutable/chunks/BN2zEB6w.js.gz +0 -0
  87. package/build/client/_app/immutable/chunks/BVDlhZK_.js +1 -0
  88. package/build/client/_app/immutable/chunks/BVDlhZK_.js.br +2 -0
  89. package/build/client/_app/immutable/chunks/BVDlhZK_.js.gz +0 -0
  90. package/build/client/_app/immutable/chunks/CxmPiQW9.js +1 -0
  91. package/build/client/_app/immutable/chunks/CxmPiQW9.js.br +0 -0
  92. package/build/client/_app/immutable/chunks/CxmPiQW9.js.gz +0 -0
  93. package/build/client/_app/immutable/chunks/DAIlYrs_.js +1 -0
  94. package/build/client/_app/immutable/chunks/DAIlYrs_.js.br +0 -0
  95. package/build/client/_app/immutable/chunks/DAIlYrs_.js.gz +0 -0
  96. package/build/client/_app/immutable/chunks/Ir23lSxH.js +329 -0
  97. package/build/client/_app/immutable/chunks/Ir23lSxH.js.br +0 -0
  98. package/build/client/_app/immutable/chunks/Ir23lSxH.js.gz +0 -0
  99. package/build/client/_app/immutable/chunks/gZTJ0hjf.js +1 -0
  100. package/build/client/_app/immutable/chunks/gZTJ0hjf.js.br +0 -0
  101. package/build/client/_app/immutable/chunks/gZTJ0hjf.js.gz +0 -0
  102. package/build/client/_app/immutable/chunks/idCMFvY6.js +1 -0
  103. package/build/client/_app/immutable/chunks/idCMFvY6.js.br +2 -0
  104. package/build/client/_app/immutable/chunks/idCMFvY6.js.gz +0 -0
  105. package/build/client/_app/immutable/chunks/kNaey6uv.js +1 -0
  106. package/build/client/_app/immutable/chunks/kNaey6uv.js.br +0 -0
  107. package/build/client/_app/immutable/chunks/kNaey6uv.js.gz +0 -0
  108. package/build/client/_app/immutable/chunks/xihTtKlq.js +1 -0
  109. package/build/client/_app/immutable/chunks/xihTtKlq.js.br +1 -0
  110. package/build/client/_app/immutable/chunks/xihTtKlq.js.gz +0 -0
  111. package/build/client/_app/immutable/entry/app.CAKAEcgA.js +2 -0
  112. package/build/client/_app/immutable/entry/app.CAKAEcgA.js.br +0 -0
  113. package/build/client/_app/immutable/entry/app.CAKAEcgA.js.gz +0 -0
  114. package/build/client/_app/immutable/entry/start.BSM2k8tg.js +1 -0
  115. package/build/client/_app/immutable/entry/start.BSM2k8tg.js.br +0 -0
  116. package/build/client/_app/immutable/entry/start.BSM2k8tg.js.gz +0 -0
  117. package/build/client/_app/immutable/nodes/0.fnpvsEAN.js +1 -0
  118. package/build/client/_app/immutable/nodes/0.fnpvsEAN.js.br +0 -0
  119. package/build/client/_app/immutable/nodes/0.fnpvsEAN.js.gz +0 -0
  120. package/build/client/_app/immutable/nodes/1.CLtaTeie.js +1 -0
  121. package/build/client/_app/immutable/nodes/1.CLtaTeie.js.br +0 -0
  122. package/build/client/_app/immutable/nodes/1.CLtaTeie.js.gz +0 -0
  123. package/build/client/_app/immutable/nodes/2.BwxFyRtn.js +1 -0
  124. package/build/client/_app/immutable/nodes/2.BwxFyRtn.js.br +0 -0
  125. package/build/client/_app/immutable/nodes/2.BwxFyRtn.js.gz +0 -0
  126. package/build/client/_app/immutable/nodes/3.D2KZBL5g.js +4 -0
  127. package/build/client/_app/immutable/nodes/3.D2KZBL5g.js.br +0 -0
  128. package/build/client/_app/immutable/nodes/3.D2KZBL5g.js.gz +0 -0
  129. package/build/client/_app/immutable/nodes/4.B6LN5K9i.js +1 -0
  130. package/build/client/_app/immutable/nodes/4.B6LN5K9i.js.br +0 -0
  131. package/build/client/_app/immutable/nodes/4.B6LN5K9i.js.gz +0 -0
  132. package/build/client/_app/immutable/nodes/5.CVHYq0o4.js +10 -0
  133. package/build/client/_app/immutable/nodes/5.CVHYq0o4.js.br +0 -0
  134. package/build/client/_app/immutable/nodes/5.CVHYq0o4.js.gz +0 -0
  135. package/build/client/_app/version.json +1 -0
  136. package/build/client/_app/version.json.br +0 -0
  137. package/build/client/_app/version.json.gz +0 -0
  138. package/build/client/robots.txt +3 -0
  139. package/build/client/robots.txt.br +0 -0
  140. package/build/client/robots.txt.gz +0 -0
  141. package/build/env.js +70 -0
  142. package/build/env.js.map +1 -0
  143. package/build/handler.js +17 -0
  144. package/build/handler.js.map +1 -0
  145. package/build/index.js +140 -0
  146. package/build/index.js.map +1 -0
  147. package/build/server/chunks/0-CF_dr3E0.js +9 -0
  148. package/build/server/chunks/0-CF_dr3E0.js.map +1 -0
  149. package/build/server/chunks/1-CVoEVbhQ.js +9 -0
  150. package/build/server/chunks/1-CVoEVbhQ.js.map +1 -0
  151. package/build/server/chunks/2-BzhQC8cX.js +38 -0
  152. package/build/server/chunks/2-BzhQC8cX.js.map +1 -0
  153. package/build/server/chunks/3-CukYFw9L.js +9 -0
  154. package/build/server/chunks/3-CukYFw9L.js.map +1 -0
  155. package/build/server/chunks/4-4e_Gaah7.js +9 -0
  156. package/build/server/chunks/4-4e_Gaah7.js.map +1 -0
  157. package/build/server/chunks/5-B4fCEv4c.js +9 -0
  158. package/build/server/chunks/5-B4fCEv4c.js.map +1 -0
  159. package/build/server/chunks/ChatInput-GWTgCE1t.js +122 -0
  160. package/build/server/chunks/ChatInput-GWTgCE1t.js.map +1 -0
  161. package/build/server/chunks/_layout.svelte-MrMdtdjr.js +232 -0
  162. package/build/server/chunks/_layout.svelte-MrMdtdjr.js.map +1 -0
  163. package/build/server/chunks/_page.svelte-CfQFFres.js +64 -0
  164. package/build/server/chunks/_page.svelte-CfQFFres.js.map +1 -0
  165. package/build/server/chunks/_page.svelte-CgTaVEr0.js +189 -0
  166. package/build/server/chunks/_page.svelte-CgTaVEr0.js.map +1 -0
  167. package/build/server/chunks/_page.svelte-DEDJBB4D.js +602 -0
  168. package/build/server/chunks/_page.svelte-DEDJBB4D.js.map +1 -0
  169. package/build/server/chunks/_page.svelte-OC4xDCWu.js +67 -0
  170. package/build/server/chunks/_page.svelte-OC4xDCWu.js.map +1 -0
  171. package/build/server/chunks/_server.ts-BG3v883h.js +115 -0
  172. package/build/server/chunks/_server.ts-BG3v883h.js.map +1 -0
  173. package/build/server/chunks/_server.ts-C1hU_FnX.js +28 -0
  174. package/build/server/chunks/_server.ts-C1hU_FnX.js.map +1 -0
  175. package/build/server/chunks/_server.ts-CJOrsy4y.js +30 -0
  176. package/build/server/chunks/_server.ts-CJOrsy4y.js.map +1 -0
  177. package/build/server/chunks/_server.ts-Co2FAQm2.js +43 -0
  178. package/build/server/chunks/_server.ts-Co2FAQm2.js.map +1 -0
  179. package/build/server/chunks/_server.ts-D6NGuqud.js +106 -0
  180. package/build/server/chunks/_server.ts-D6NGuqud.js.map +1 -0
  181. package/build/server/chunks/_server.ts-DaHUgm60.js +26 -0
  182. package/build/server/chunks/_server.ts-DaHUgm60.js.map +1 -0
  183. package/build/server/chunks/_server.ts-DiHyx5ij.js +64 -0
  184. package/build/server/chunks/_server.ts-DiHyx5ij.js.map +1 -0
  185. package/build/server/chunks/_server.ts-GB-Qo389.js +73 -0
  186. package/build/server/chunks/_server.ts-GB-Qo389.js.map +1 -0
  187. package/build/server/chunks/_server.ts-K359HUPL.js +32 -0
  188. package/build/server/chunks/_server.ts-K359HUPL.js.map +1 -0
  189. package/build/server/chunks/_server.ts-e4VKCo3M.js +54 -0
  190. package/build/server/chunks/_server.ts-e4VKCo3M.js.map +1 -0
  191. package/build/server/chunks/_server.ts-nr6qwbTw.js +42 -0
  192. package/build/server/chunks/_server.ts-nr6qwbTw.js.map +1 -0
  193. package/build/server/chunks/chat-confirm-BW2aJ2qz.js +5 -0
  194. package/build/server/chunks/chat-confirm-BW2aJ2qz.js.map +1 -0
  195. package/build/server/chunks/chat-steering-DTefLITL.js +5 -0
  196. package/build/server/chunks/chat-steering-DTefLITL.js.map +1 -0
  197. package/build/server/chunks/client-BoLIct8q.js +69 -0
  198. package/build/server/chunks/client-BoLIct8q.js.map +1 -0
  199. package/build/server/chunks/config-d3FC8naq.js +4907 -0
  200. package/build/server/chunks/config-d3FC8naq.js.map +1 -0
  201. package/build/server/chunks/error.svelte-BpxjjtfZ.js +65 -0
  202. package/build/server/chunks/error.svelte-BpxjjtfZ.js.map +1 -0
  203. package/build/server/chunks/gateway-DWcUFfHo.js +478 -0
  204. package/build/server/chunks/gateway-DWcUFfHo.js.map +1 -0
  205. package/build/server/chunks/handler-BAQYBQgy.js +1454 -0
  206. package/build/server/chunks/handler-BAQYBQgy.js.map +1 -0
  207. package/build/server/chunks/hooks.server-C6heBR7o.js +35 -0
  208. package/build/server/chunks/hooks.server-C6heBR7o.js.map +1 -0
  209. package/build/server/chunks/index.js-N7Sh42pC.js +11584 -0
  210. package/build/server/chunks/index.js-N7Sh42pC.js.map +1 -0
  211. package/build/server/chunks/manifest.js-D2rH2GXr.js +143 -0
  212. package/build/server/chunks/manifest.js-D2rH2GXr.js.map +1 -0
  213. package/build/server/chunks/markdown-BYqQ8bKF.js +78593 -0
  214. package/build/server/chunks/markdown-BYqQ8bKF.js.map +1 -0
  215. package/build/server/chunks/prompts-tcGD1LCs.js +37 -0
  216. package/build/server/chunks/prompts-tcGD1LCs.js.map +1 -0
  217. package/build/server/chunks/session-store-B1Aop0Qn.js +50 -0
  218. package/build/server/chunks/session-store-B1Aop0Qn.js.map +1 -0
  219. package/build/server/chunks/stores-D_6JNTkz.js +36 -0
  220. package/build/server/chunks/stores-D_6JNTkz.js.map +1 -0
  221. package/build/shims.js +33 -0
  222. package/build/shims.js.map +1 -0
  223. package/handler.d.ts +8 -0
  224. package/package.json +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_layout.svelte-MrMdtdjr.js","sources":["../../../.svelte-kit/output/server/entries/pages/_layout.svelte.js"],"sourcesContent":["import { H as attr, U as escape_html, a as ensure_array_like, c as store_get, i as derived, n as attr_class, o as head, r as bind_props, u as unsubscribe_stores } from \"../../chunks/dev.js\";\nimport { t as afterNavigate } from \"../../chunks/client.js\";\nimport { t as page } from \"../../chunks/stores.js\";\nimport \"../../chunks/navigation.js\";\nimport { s as sessions, t as activeWorkspace } from \"../../chunks/session-store.js\";\nimport \"../../chunks/model-picker-state.svelte.js\";\n//#region src/lib/assets/favicon.svg\nvar favicon_default = \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='107'%20height='128'%20viewBox='0%200%20107%20128'%3e%3ctitle%3esvelte-logo%3c/title%3e%3cpath%20d='M94.157%2022.819c-10.4-14.885-30.94-19.297-45.792-9.835L22.282%2029.608A29.92%2029.92%200%200%200%208.764%2049.65a31.5%2031.5%200%200%200%203.108%2020.231%2030%2030%200%200%200-4.477%2011.183%2031.9%2031.9%200%200%200%205.448%2024.116c10.402%2014.887%2030.942%2019.297%2045.791%209.835l26.083-16.624A29.92%2029.92%200%200%200%2098.235%2078.35a31.53%2031.53%200%200%200-3.105-20.232%2030%2030%200%200%200%204.474-11.182%2031.88%2031.88%200%200%200-5.447-24.116'%20style='fill:%23ff3e00'/%3e%3cpath%20d='M45.817%20106.582a20.72%2020.72%200%200%201-22.237-8.243%2019.17%2019.17%200%200%201-3.277-14.503%2018%2018%200%200%201%20.624-2.435l.49-1.498%201.337.981a33.6%2033.6%200%200%200%2010.203%205.098l.97.294-.09.968a5.85%205.85%200%200%200%201.052%203.878%206.24%206.24%200%200%200%206.695%202.485%205.8%205.8%200%200%200%201.603-.704L69.27%2076.28a5.43%205.43%200%200%200%202.45-3.631%205.8%205.8%200%200%200-.987-4.371%206.24%206.24%200%200%200-6.698-2.487%205.7%205.7%200%200%200-1.6.704l-9.953%206.345a19%2019%200%200%201-5.296%202.326%2020.72%2020.72%200%200%201-22.237-8.243%2019.17%2019.17%200%200%201-3.277-14.502%2017.99%2017.99%200%200%201%208.13-12.052l26.081-16.623a19%2019%200%200%201%205.3-2.329%2020.72%2020.72%200%200%201%2022.237%208.243%2019.17%2019.17%200%200%201%203.277%2014.503%2018%2018%200%200%201-.624%202.435l-.49%201.498-1.337-.98a33.6%2033.6%200%200%200-10.203-5.1l-.97-.294.09-.968a5.86%205.86%200%200%200-1.052-3.878%206.24%206.24%200%200%200-6.696-2.485%205.8%205.8%200%200%200-1.602.704L37.73%2051.72a5.42%205.42%200%200%200-2.449%203.63%205.79%205.79%200%200%200%20.986%204.372%206.24%206.24%200%200%200%206.698%202.486%205.8%205.8%200%200%200%201.602-.704l9.952-6.342a19%2019%200%200%201%205.295-2.328%2020.72%2020.72%200%200%201%2022.237%208.242%2019.17%2019.17%200%200%201%203.277%2014.503%2018%2018%200%200%201-8.13%2012.053l-26.081%2016.622a19%2019%200%200%201-5.3%202.328'%20style='fill:%23fff'/%3e%3c/svg%3e\";\n//#endregion\n//#region src/lib/components/SearchDialog.svelte\nfunction SearchDialog($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { sessions, open = false } = $$props;\n\t\tlet keyword = \"\";\n\t\tlet filtered = derived(() => {\n\t\t\tconst kw = keyword.trim().toLowerCase();\n\t\t\tif (!kw) return sessions;\n\t\t\treturn sessions.filter((s) => s.title.toLowerCase().includes(kw));\n\t\t});\n\t\tfunction formatTime(ts) {\n\t\t\tconst d = new Date(ts);\n\t\t\tif ((/* @__PURE__ */ new Date()).getTime() - d.getTime() < 864e5) return d.toLocaleTimeString(\"zh-CN\", {\n\t\t\t\thour: \"2-digit\",\n\t\t\t\tminute: \"2-digit\"\n\t\t\t});\n\t\t\treturn d.toLocaleDateString(\"zh-CN\", {\n\t\t\t\tmonth: \"short\",\n\t\t\t\tday: \"numeric\"\n\t\t\t});\n\t\t}\n\t\tif (open) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"search-overlay svelte-jfym0o\" role=\"dialog\"><div class=\"search-panel svelte-jfym0o\" role=\"document\"><div class=\"search-header svelte-jfym0o\"><span class=\"material-symbols-rounded search-icon svelte-jfym0o\">search</span> <input class=\"search-input svelte-jfym0o\" type=\"text\" placeholder=\"搜索对话标题...\"${attr(\"value\", keyword)} autocomplete=\"off\"/> `);\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div> <div class=\"search-results svelte-jfym0o\">`);\n\t\t\tif (sessions.length === 0) {\n\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t$$renderer.push(`<div class=\"empty-hint svelte-jfym0o\">暂无对话</div>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\tconst each_array = ensure_array_like(filtered());\n\t\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\t\tlet session = each_array[$$index];\n\t\t\t\t\t$$renderer.push(`<button class=\"search-item svelte-jfym0o\"><span class=\"material-symbols-rounded session-icon svelte-jfym0o\">chat_bubble</span> <div class=\"session-info svelte-jfym0o\"><div class=\"session-title svelte-jfym0o\">${escape_html(session.title)}</div> <div class=\"session-time svelte-jfym0o\">${escape_html(formatTime(session.updated_at))}</div></div></button>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div></div></div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t\tbind_props($$props, { open });\n\t});\n}\n//#endregion\n//#region src/lib/theme.ts\nfunction getSystemTheme() {\n\tif (typeof window === \"undefined\") return \"light\";\n\treturn window.matchMedia(\"(prefers-color-scheme: dark)\").matches ? \"dark\" : \"light\";\n}\nfunction getStoredTheme() {\n\tif (typeof window === \"undefined\") return null;\n\treturn localStorage.getItem(\"qualia-theme\");\n}\nvar current = getStoredTheme() || getSystemTheme();\nfunction getTheme() {\n\treturn current;\n}\n//#endregion\n//#region src/lib/components/SessionSidebar.svelte\nfunction SessionSidebar($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tvar $$store_subs;\n\t\tlet { mobileOpen = false, customIcon = false } = $$props;\n\t\tlet editingId = null;\n\t\tlet editTitle = \"\";\n\t\tlet searchOpen = false;\n\t\tlet themeIcon = getTheme() === \"dark\" ? \"light_mode\" : \"dark_mode\";\n\t\tlet collapsedGroups = /* @__PURE__ */ new Set();\n\t\tafterNavigate(() => {\n\t\t\tmobileOpen = false;\n\t\t});\n\t\tfunction formatTime(ts) {\n\t\t\tconst d = new Date(ts);\n\t\t\tif ((/* @__PURE__ */ new Date()).getTime() - d.getTime() < 864e5) return d.toLocaleTimeString(\"zh-CN\", {\n\t\t\t\thour: \"2-digit\",\n\t\t\t\tminute: \"2-digit\"\n\t\t\t});\n\t\t\treturn d.toLocaleDateString(\"zh-CN\", {\n\t\t\t\tmonth: \"short\",\n\t\t\t\tday: \"numeric\"\n\t\t\t});\n\t\t}\n\t\tfunction wsLabel(ws) {\n\t\t\tif (!ws) return \"默认工作区\";\n\t\t\tconst parts = ws.replace(/\\\\/g, \"/\").split(\"/\");\n\t\t\treturn parts[parts.length - 1] || ws;\n\t\t}\n\t\tlet groups = derived(() => {\n\t\t\tconst map = /* @__PURE__ */ new Map();\n\t\t\tfor (const s of store_get($$store_subs ??= {}, \"$sessions\", sessions)) {\n\t\t\t\tconst key = s.workspace || \"\";\n\t\t\t\tif (!map.has(key)) map.set(key, []);\n\t\t\t\tmap.get(key).push(s);\n\t\t\t}\n\t\t\treturn Array.from(map.entries()).map(([ws, items]) => ({\n\t\t\t\tworkspace: ws,\n\t\t\t\tsessions: items\n\t\t\t})).sort((a, b) => {\n\t\t\t\tif (!a.workspace) return -1;\n\t\t\t\tif (!b.workspace) return 1;\n\t\t\t\treturn a.workspace.localeCompare(b.workspace);\n\t\t\t});\n\t\t});\n\t\tlet $$settled = true;\n\t\tlet $$inner_renderer;\n\t\tfunction $$render_inner($$renderer) {\n\t\t\t$$renderer.push(`<div${attr_class(\"sidebar svelte-103bhu0\", void 0, { \"mobile-open\": mobileOpen })}><div class=\"sidebar-header svelte-103bhu0\"><a href=\"/\" class=\"brand svelte-103bhu0\">`);\n\t\t\tif (customIcon) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<img src=\"/api/brand-icon\" alt=\"\" class=\"brand-img svelte-103bhu0\"/>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<span class=\"material-symbols-rounded brand-icon svelte-103bhu0\">spa</span>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> <span class=\"brand-name svelte-103bhu0\">Qualia</span></a> <button class=\"collapse-btn svelte-103bhu0\" title=\"收起侧边栏\"><span class=\"material-symbols-rounded\">menu_open</span></button></div> <div class=\"workspace-bar svelte-103bhu0\"><button class=\"ws-selector svelte-103bhu0\"><span class=\"material-symbols-rounded ws-icon svelte-103bhu0\">folder</span> <span class=\"ws-label svelte-103bhu0\">${escape_html(wsLabel(store_get($$store_subs ??= {}, \"$activeWorkspace\", activeWorkspace)))}</span> <span class=\"material-symbols-rounded ws-arrow svelte-103bhu0\">expand_more</span></button> `);\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div> <div class=\"section-label svelte-103bhu0\"><span>对话</span> <button class=\"new-btn svelte-103bhu0\"><span class=\"material-symbols-rounded\">add</span></button></div> <div class=\"session-list svelte-103bhu0\"><!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(groups());\n\t\t\tfor (let $$index_2 = 0, $$length = each_array_1.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet group = each_array_1[$$index_2];\n\t\t\t\tconst isCollapsed = collapsedGroups.has(group.workspace);\n\t\t\t\t$$renderer.push(`<button class=\"group-header svelte-103bhu0\"><span class=\"material-symbols-rounded group-arrow svelte-103bhu0\">${escape_html(isCollapsed ? \"chevron_right\" : \"expand_more\")}</span> <span class=\"material-symbols-rounded group-icon svelte-103bhu0\">folder</span> <span class=\"group-name svelte-103bhu0\">${escape_html(wsLabel(group.workspace))}</span> <span class=\"group-count svelte-103bhu0\">${escape_html(group.sessions.length)}</span></button> `);\n\t\t\t\tif (!isCollapsed) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\t\t\tconst each_array_2 = ensure_array_like(group.sessions.slice(0, 8));\n\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\tlet session = each_array_2[$$index_1];\n\t\t\t\t\t\t$$renderer.push(`<div${attr_class(\"session-item svelte-103bhu0\", void 0, { \"active\": session.id === store_get($$store_subs ??= {}, \"$page\", page).params.sessionId })} role=\"button\" tabindex=\"0\"><span class=\"material-symbols-rounded session-icon svelte-103bhu0\">chat_bubble</span> <div class=\"session-info svelte-103bhu0\">`);\n\t\t\t\t\t\tif (editingId === session.id) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<input class=\"session-title-input svelte-103bhu0\" type=\"text\"${attr(\"value\", editTitle)} autofocus=\"\"/>`);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<div class=\"session-title svelte-103bhu0\" role=\"textbox\" tabindex=\"-1\">${escape_html(session.title)}</div> <div class=\"session-time svelte-103bhu0\">${escape_html(formatTime(session.updated_at))}</div>`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$$renderer.push(`<!--]--></div> <button class=\"delete-btn svelte-103bhu0\" title=\"删除\"><span class=\"material-symbols-rounded\">delete</span></button></div>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> <a href=\"/records\" class=\"view-all-link svelte-103bhu0\"><span class=\"material-symbols-rounded view-all-icon svelte-103bhu0\">history</span> <span class=\"view-all-text\">查看全部记录</span></a></div> <div class=\"sidebar-footer svelte-103bhu0\"><a href=\"/settings\"${attr_class(\"footer-link svelte-103bhu0\", void 0, { \"active\": store_get($$store_subs ??= {}, \"$page\", page).url.pathname === \"/settings\" })}><span class=\"material-symbols-rounded\">settings</span> 设置</a> <button class=\"footer-link search-btn svelte-103bhu0\"><span class=\"material-symbols-rounded\">search</span> 搜索</button> <button class=\"footer-link theme-btn svelte-103bhu0\" title=\"切换主题\"><span class=\"material-symbols-rounded\">${escape_html(themeIcon)}</span></button></div></div> `);\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tSearchDialog($$renderer, {\n\t\t\t\tsessions: store_get($$store_subs ??= {}, \"$sessions\", sessions),\n\t\t\t\tget open() {\n\t\t\t\t\treturn searchOpen;\n\t\t\t\t},\n\t\t\t\tset open($$value) {\n\t\t\t\t\tsearchOpen = $$value;\n\t\t\t\t\t$$settled = false;\n\t\t\t\t}\n\t\t\t});\n\t\t\t$$renderer.push(`<!---->`);\n\t\t}\n\t\tdo {\n\t\t\t$$settled = true;\n\t\t\t$$inner_renderer = $$renderer.copy();\n\t\t\t$$render_inner($$inner_renderer);\n\t\t} while (!$$settled);\n\t\t$$renderer.subsume($$inner_renderer);\n\t\tif ($$store_subs) unsubscribe_stores($$store_subs);\n\t\tbind_props($$props, { mobileOpen });\n\t});\n}\n//#endregion\n//#region src/routes/+layout.svelte\nfunction _layout($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { children } = $$props;\n\t\tlet sidebarOpen = false;\n\t\tlet customIcon = false;\n\t\tlet $$settled = true;\n\t\tlet $$inner_renderer;\n\t\tfunction $$render_inner($$renderer) {\n\t\t\thead(\"12qhfyh\", $$renderer, ($$renderer) => {\n\t\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t\t$$renderer.push(`<title>Qualia</title>`);\n\t\t\t\t});\n\t\t\t\t$$renderer.push(`<link rel=\"icon\"${attr(\"href\", favicon_default)}/> <link rel=\"preconnect\" href=\"https://fonts.googleapis.com\"/> <link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin=\"\"/> <link href=\"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700&amp;family=Noto+Serif+SC:wght@400;700&amp;family=Roboto:wght@300;400;500;700&amp;display=swap\" rel=\"stylesheet\"/> <link href=\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,400,0,0\" rel=\"stylesheet\"/> `);\n\t\t\t\tif (sidebarOpen) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<style>\n\t\t\thtml, body { overflow: hidden; }\n\t\t</style>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t});\n\t\t\t$$renderer.push(`<div class=\"app svelte-12qhfyh\">`);\n\t\t\tSessionSidebar($$renderer, {\n\t\t\t\tcustomIcon,\n\t\t\t\tget mobileOpen() {\n\t\t\t\t\treturn sidebarOpen;\n\t\t\t\t},\n\t\t\t\tset mobileOpen($$value) {\n\t\t\t\t\tsidebarOpen = $$value;\n\t\t\t\t\t$$settled = false;\n\t\t\t\t}\n\t\t\t});\n\t\t\t$$renderer.push(`<!----> <div class=\"main-wrapper svelte-12qhfyh\"><header class=\"app-header svelte-12qhfyh\"><button class=\"icon-btn svelte-12qhfyh\"><span class=\"material-symbols-rounded\">menu</span></button> <a href=\"/\" class=\"app-title svelte-12qhfyh\">Qualia</a> <div class=\"header-right svelte-12qhfyh\"><a href=\"/\" class=\"icon-btn new-chat-btn svelte-12qhfyh\"><span class=\"material-symbols-rounded\">add_comment</span></a></div></header> <main class=\"svelte-12qhfyh\">`);\n\t\t\tif (sidebarOpen) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"scrim svelte-12qhfyh\"></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tchildren($$renderer);\n\t\t\t$$renderer.push(`<!----></main></div></div>`);\n\t\t}\n\t\tdo {\n\t\t\t$$settled = true;\n\t\t\t$$inner_renderer = $$renderer.copy();\n\t\t\t$$render_inner($$inner_renderer);\n\t\t} while (!$$settled);\n\t\t$$renderer.subsume($$inner_renderer);\n\t});\n}\n//#endregion\nexport { _layout as default };\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import { e as escape_html, d as store_get, f as ensure_array_like, m as html, i as attr, u as unsubscribe_stores, k as derived } from './index.js-N7Sh42pC.js';
2
+ import './client-BoLIct8q.js';
3
+ import { s as sessions } from './session-store-B1Aop0Qn.js';
4
+ import { r as renderMarkdown } from './markdown-BYqQ8bKF.js';
5
+ import 'node:module';
6
+
7
+ //#region src/routes/records/+page.svelte
8
+ function _page($$renderer, $$props) {
9
+ $$renderer.component(($$renderer) => {
10
+ var $$store_subs;
11
+ const PAGE_SIZE = 20;
12
+ let currentPage = 1;
13
+ let totalPages = derived(() => Math.max(1, Math.ceil(store_get($$store_subs ??= {}, "$sessions", sessions).length / PAGE_SIZE)));
14
+ let visibleSessions = derived(() => {
15
+ if (currentPage > totalPages()) currentPage = totalPages();
16
+ const start = (currentPage - 1) * PAGE_SIZE;
17
+ return store_get($$store_subs ??= {}, "$sessions", sessions).slice(start, start + PAGE_SIZE);
18
+ });
19
+ function formatDate(ts) {
20
+ const d = new Date(ts);
21
+ const diff = (/* @__PURE__ */ new Date()).getTime() - d.getTime();
22
+ const timeStr = d.toLocaleTimeString("zh-CN", {
23
+ hour: "2-digit",
24
+ minute: "2-digit"
25
+ });
26
+ if (diff < 864e5) return `今天 ${timeStr}`;
27
+ else if (diff < 1728e5) return `昨天 ${timeStr}`;
28
+ return d.toLocaleDateString("zh-CN", {
29
+ year: "numeric",
30
+ month: "long",
31
+ day: "numeric"
32
+ }) + " " + timeStr;
33
+ }
34
+ $$renderer.push(`<div class="records-page svelte-192mfm1"><div class="records-inner svelte-192mfm1"><header class="records-header svelte-192mfm1"><button class="back-btn svelte-192mfm1"><span class="material-symbols-rounded">arrow_back</span></button> <h1 class="svelte-192mfm1">对话记录</h1> <span class="record-count svelte-192mfm1">${escape_html(visibleSessions().length > 0 ? `${(currentPage - 1) * PAGE_SIZE + 1}–${Math.min(currentPage * PAGE_SIZE, store_get($$store_subs ??= {}, "$sessions", sessions).length)} / ${store_get($$store_subs ??= {}, "$sessions", sessions).length}` : "")}</span></header> `);
35
+ if (store_get($$store_subs ??= {}, "$sessions", sessions).length === 0) {
36
+ $$renderer.push("<!--[0-->");
37
+ $$renderer.push(`<div class="empty-state svelte-192mfm1"><span class="material-symbols-rounded empty-icon svelte-192mfm1">chat_bubble</span> <p class="svelte-192mfm1">暂无对话记录</p></div>`);
38
+ } else {
39
+ $$renderer.push("<!--[-1-->");
40
+ $$renderer.push(`<div class="record-list svelte-192mfm1"><!--[-->`);
41
+ const each_array = ensure_array_like(visibleSessions());
42
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
43
+ let session = each_array[$$index];
44
+ $$renderer.push(`<button class="record-card svelte-192mfm1"><div class="record-header svelte-192mfm1"><span class="record-title svelte-192mfm1">${escape_html(session.title)}</span> <span class="record-time svelte-192mfm1">${escape_html(formatDate(session.updated_at))}</span></div> `);
45
+ if (session.summary) {
46
+ $$renderer.push("<!--[0-->");
47
+ $$renderer.push(`<div class="record-summary svelte-192mfm1">${html(renderMarkdown(session.summary))}</div>`);
48
+ } else $$renderer.push("<!--[-1-->");
49
+ $$renderer.push(`<!--]--></button>`);
50
+ }
51
+ $$renderer.push(`<!--]--></div> `);
52
+ if (totalPages() > 1) {
53
+ $$renderer.push("<!--[0-->");
54
+ $$renderer.push(`<div class="pagination svelte-192mfm1"><button class="page-btn svelte-192mfm1"${attr("disabled", currentPage <= 1, true)}><span class="material-symbols-rounded">chevron_left</span></button> <span class="page-info svelte-192mfm1">${escape_html(currentPage)} / ${escape_html(totalPages())}</span> <button class="page-btn svelte-192mfm1"${attr("disabled", currentPage >= totalPages(), true)}><span class="material-symbols-rounded">chevron_right</span></button></div>`);
55
+ } else $$renderer.push("<!--[-1-->");
56
+ $$renderer.push(`<!--]-->`);
57
+ }
58
+ $$renderer.push(`<!--]--></div></div>`);
59
+ if ($$store_subs) unsubscribe_stores($$store_subs);
60
+ });
61
+ }
62
+
63
+ export { _page as default };
64
+ //# sourceMappingURL=_page.svelte-CfQFFres.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-CfQFFres.js","sources":["../../../.svelte-kit/output/server/entries/pages/records/_page.svelte.js"],"sourcesContent":["import { H as attr, U as escape_html, a as ensure_array_like, c as store_get, d as html, i as derived, u as unsubscribe_stores } from \"../../../chunks/dev.js\";\nimport \"../../../chunks/navigation.js\";\nimport { s as sessions } from \"../../../chunks/session-store.js\";\nimport { t as renderMarkdown } from \"../../../chunks/markdown.js\";\n//#region src/routes/records/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tvar $$store_subs;\n\t\tconst PAGE_SIZE = 20;\n\t\tlet currentPage = 1;\n\t\tlet totalPages = derived(() => Math.max(1, Math.ceil(store_get($$store_subs ??= {}, \"$sessions\", sessions).length / PAGE_SIZE)));\n\t\tlet visibleSessions = derived(() => {\n\t\t\tif (currentPage > totalPages()) currentPage = totalPages();\n\t\t\tconst start = (currentPage - 1) * PAGE_SIZE;\n\t\t\treturn store_get($$store_subs ??= {}, \"$sessions\", sessions).slice(start, start + PAGE_SIZE);\n\t\t});\n\t\tfunction formatDate(ts) {\n\t\t\tconst d = new Date(ts);\n\t\t\tconst diff = (/* @__PURE__ */ new Date()).getTime() - d.getTime();\n\t\t\tconst timeStr = d.toLocaleTimeString(\"zh-CN\", {\n\t\t\t\thour: \"2-digit\",\n\t\t\t\tminute: \"2-digit\"\n\t\t\t});\n\t\t\tif (diff < 864e5) return `今天 ${timeStr}`;\n\t\t\telse if (diff < 1728e5) return `昨天 ${timeStr}`;\n\t\t\treturn d.toLocaleDateString(\"zh-CN\", {\n\t\t\t\tyear: \"numeric\",\n\t\t\t\tmonth: \"long\",\n\t\t\t\tday: \"numeric\"\n\t\t\t}) + \" \" + timeStr;\n\t\t}\n\t\t$$renderer.push(`<div class=\"records-page svelte-192mfm1\"><div class=\"records-inner svelte-192mfm1\"><header class=\"records-header svelte-192mfm1\"><button class=\"back-btn svelte-192mfm1\"><span class=\"material-symbols-rounded\">arrow_back</span></button> <h1 class=\"svelte-192mfm1\">对话记录</h1> <span class=\"record-count svelte-192mfm1\">${escape_html(visibleSessions().length > 0 ? `${(currentPage - 1) * PAGE_SIZE + 1}–${Math.min(currentPage * PAGE_SIZE, store_get($$store_subs ??= {}, \"$sessions\", sessions).length)} / ${store_get($$store_subs ??= {}, \"$sessions\", sessions).length}` : \"\")}</span></header> `);\n\t\tif (store_get($$store_subs ??= {}, \"$sessions\", sessions).length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"empty-state svelte-192mfm1\"><span class=\"material-symbols-rounded empty-icon svelte-192mfm1\">chat_bubble</span> <p class=\"svelte-192mfm1\">暂无对话记录</p></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"record-list svelte-192mfm1\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(visibleSessions());\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet session = each_array[$$index];\n\t\t\t\t$$renderer.push(`<button class=\"record-card svelte-192mfm1\"><div class=\"record-header svelte-192mfm1\"><span class=\"record-title svelte-192mfm1\">${escape_html(session.title)}</span> <span class=\"record-time svelte-192mfm1\">${escape_html(formatDate(session.updated_at))}</span></div> `);\n\t\t\t\tif (session.summary) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<div class=\"record-summary svelte-192mfm1\">${html(renderMarkdown(session.summary))}</div>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></button>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\tif (totalPages() > 1) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"pagination svelte-192mfm1\"><button class=\"page-btn svelte-192mfm1\"${attr(\"disabled\", currentPage <= 1, true)}><span class=\"material-symbols-rounded\">chevron_left</span></button> <span class=\"page-info svelte-192mfm1\">${escape_html(currentPage)} / ${escape_html(totalPages())}</span> <button class=\"page-btn svelte-192mfm1\"${attr(\"disabled\", currentPage >= totalPages(), true)}><span class=\"material-symbols-rounded\">chevron_right</span></button></div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div></div>`);\n\t\tif ($$store_subs) unsubscribe_stores($$store_subs);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,189 @@
1
+ import { f as ensure_array_like, c as attr_class, e as escape_html, b as bind_props, i as attr, p as stringify } from './index.js-N7Sh42pC.js';
2
+ import { D as DEFAULT_SYSTEM_PROMPT } from './prompts-tcGD1LCs.js';
3
+ import './session-store-B1Aop0Qn.js';
4
+ import 'node:module';
5
+
6
+ //#region src/lib/components/settings/StorageToggle.svelte
7
+ function StorageToggle($$renderer, $$props) {
8
+ $$renderer.component(($$renderer) => {
9
+ let { enabled = false, ontoggle } = $$props;
10
+ $$renderer.push(`<section class="section svelte-ux4set"><h2 class="svelte-ux4set">常规</h2> <div class="setting-row svelte-ux4set"><div class="setting-label"><div class="setting-title svelte-ux4set">对话存储</div> <div class="setting-desc svelte-ux4set">`);
11
+ if (enabled) {
12
+ $$renderer.push("<!--[0-->");
13
+ $$renderer.push(`已开启 — 对话历史持久化到本地数据库`);
14
+ } else {
15
+ $$renderer.push("<!--[-1-->");
16
+ $$renderer.push(`已关闭 — 数据仅保存在内存,重启后丢失(适合开发测试)`);
17
+ }
18
+ $$renderer.push(`<!--]--></div></div> <button${attr_class("toggle svelte-ux4set", void 0, { "on": enabled })} aria-label="切换存储开关"><span class="toggle-knob svelte-ux4set"></span></button></div></section>`);
19
+ bind_props($$props, { enabled });
20
+ });
21
+ }
22
+ //#endregion
23
+ //#region src/lib/components/settings/PromptEditor.svelte
24
+ function PromptEditor($$renderer, $$props) {
25
+ $$renderer.component(($$renderer) => {
26
+ let { systemPrompt = "", onsave } = $$props;
27
+ $$renderer.push(`<section class="section svelte-1cqdm0h"><h2 class="svelte-1cqdm0h">系统提示词</h2> <p class="section-desc svelte-1cqdm0h">定义 Qualia 的角色和行为准则,将作为每条对话的 system prompt 发送给模型。</p> <textarea class="prompt-editor svelte-1cqdm0h"${attr("rows", 10)} placeholder="输入系统提示词...">`);
28
+ const $$body = escape_html(systemPrompt);
29
+ if ($$body) $$renderer.push(`${$$body}`);
30
+ $$renderer.push(`</textarea> <div class="prompt-actions svelte-1cqdm0h"><span class="prompt-hint svelte-1cqdm0h">${escape_html(systemPrompt?.length || 0)} 字符</span> <div class="prompt-actions-right svelte-1cqdm0h"><button type="button" class="btn svelte-1cqdm0h"${attr("disabled", systemPrompt === DEFAULT_SYSTEM_PROMPT, true)}>恢复默认</button> <button class="btn btn-primary svelte-1cqdm0h">保存提示词</button></div></div></section>`);
31
+ bind_props($$props, { systemPrompt });
32
+ });
33
+ }
34
+ //#endregion
35
+ //#region src/lib/components/settings/AvatarEditor.svelte
36
+ function AvatarEditor($$renderer, $$props) {
37
+ $$renderer.component(($$renderer) => {
38
+ let { customBrandIcon} = $$props;
39
+ $$renderer.push(`<div class="brand-icon-row svelte-1ae3gd2"><div class="brand-icon-preview svelte-1ae3gd2">`);
40
+ if (customBrandIcon) {
41
+ $$renderer.push("<!--[0-->");
42
+ $$renderer.push(`<img${attr("src", `/api/brand-icon?t=${stringify(Date.now())}`)} alt="头像" class="preview-img svelte-1ae3gd2"/>`);
43
+ } else {
44
+ $$renderer.push("<!--[-1-->");
45
+ $$renderer.push(`<span class="material-symbols-rounded preview-icon svelte-1ae3gd2">spa</span>`);
46
+ }
47
+ $$renderer.push(`<!--]--></div> <div class="brand-icon-actions svelte-1ae3gd2"><button class="btn btn-sm svelte-1ae3gd2">上传图片</button> `);
48
+ if (customBrandIcon) {
49
+ $$renderer.push("<!--[0-->");
50
+ $$renderer.push(`<button class="btn btn-sm btn-danger svelte-1ae3gd2">恢复默认</button>`);
51
+ } else $$renderer.push("<!--[-1-->");
52
+ $$renderer.push(`<!--]--></div></div> `);
53
+ $$renderer.push("<!--[-1-->");
54
+ $$renderer.push(`<!--]-->`);
55
+ });
56
+ }
57
+ //#endregion
58
+ //#region src/routes/settings/+page.svelte
59
+ function _page($$renderer, $$props) {
60
+ $$renderer.component(($$renderer) => {
61
+ const TABS = [
62
+ {
63
+ id: "general",
64
+ label: "常规"
65
+ },
66
+ {
67
+ id: "provider",
68
+ label: "供应商"
69
+ },
70
+ {
71
+ id: "notify",
72
+ label: "通知"
73
+ },
74
+ {
75
+ id: "summary",
76
+ label: "摘要"
77
+ },
78
+ {
79
+ id: "compress",
80
+ label: "压缩"
81
+ },
82
+ {
83
+ id: "search",
84
+ label: "搜索"
85
+ },
86
+ {
87
+ id: "tasks",
88
+ label: "任务"
89
+ }
90
+ ];
91
+ let config = {
92
+ providers: [],
93
+ activeModel: "",
94
+ storageEnabled: false,
95
+ systemPrompt: "",
96
+ customBrandIcon: false,
97
+ autoSummarize: true,
98
+ summaryMode: "idle",
99
+ summaryIdleHours: 8,
100
+ summaryScheduleHour: 2,
101
+ summaryIntervalMin: 30,
102
+ compressionMode: "auto",
103
+ compressionThreshold: 256e3,
104
+ searchEnabled: false,
105
+ searchProvider: "searxng",
106
+ searxngURL: "http://localhost:8080",
107
+ tavilyApiKey: "",
108
+ emailNotifications: false,
109
+ emailSmtpHost: "",
110
+ emailSmtpPort: 465,
111
+ emailSmtpSecure: true,
112
+ emailSmtpUser: "",
113
+ emailSmtpPass: "",
114
+ emailFrom: "",
115
+ emailTo: "",
116
+ telegramEnabled: false,
117
+ telegramBotToken: "",
118
+ telegramAllowedUsers: ""
119
+ };
120
+ let activeTab = "general";
121
+ async function toggleStorage() {
122
+ const updated = {
123
+ ...config,
124
+ storageEnabled: !config.storageEnabled
125
+ };
126
+ const res = await fetch("/api/config", {
127
+ method: "PUT",
128
+ headers: { "Content-Type": "application/json" },
129
+ body: JSON.stringify({
130
+ action: "writeConfig",
131
+ config: updated
132
+ })
133
+ });
134
+ if (res.ok) config = await res.json();
135
+ }
136
+ async function saveSystemPrompt() {
137
+ const res = await fetch("/api/config", {
138
+ method: "PUT",
139
+ headers: { "Content-Type": "application/json" },
140
+ body: JSON.stringify({
141
+ action: "writeConfig",
142
+ config
143
+ })
144
+ });
145
+ if (res.ok) config = await res.json();
146
+ }
147
+ let $$settled = true;
148
+ let $$inner_renderer;
149
+ function $$render_inner($$renderer) {
150
+ $$renderer.push(`<div class="settings svelte-1i19ct2"><div class="settings-inner svelte-1i19ct2"><h1 class="svelte-1i19ct2">设置</h1> <nav class="tab-bar svelte-1i19ct2"><!--[-->`);
151
+ const each_array = ensure_array_like(TABS);
152
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
153
+ let tab = each_array[$$index];
154
+ $$renderer.push(`<button${attr_class("tab-btn svelte-1i19ct2", void 0, { "active": activeTab === tab.id })}>${escape_html(tab.label)}</button>`);
155
+ }
156
+ $$renderer.push(`<!--]--></nav> <div class="tab-content">`);
157
+ $$renderer.push("<!--[0-->");
158
+ StorageToggle($$renderer, {
159
+ enabled: config.storageEnabled,
160
+ ontoggle: toggleStorage
161
+ });
162
+ $$renderer.push(`<!----> `);
163
+ PromptEditor($$renderer, {
164
+ onsave: saveSystemPrompt,
165
+ get systemPrompt() {
166
+ return config.systemPrompt;
167
+ },
168
+ set systemPrompt($$value) {
169
+ config.systemPrompt = $$value;
170
+ $$settled = false;
171
+ }
172
+ });
173
+ $$renderer.push(`<!----> <section class="section svelte-1i19ct2"><h2 class="svelte-1i19ct2">头像</h2> `);
174
+ AvatarEditor($$renderer, {
175
+ customBrandIcon: config.customBrandIcon});
176
+ $$renderer.push(`<!----></section>`);
177
+ $$renderer.push(`<!--]--></div></div></div>`);
178
+ }
179
+ do {
180
+ $$settled = true;
181
+ $$inner_renderer = $$renderer.copy();
182
+ $$render_inner($$inner_renderer);
183
+ } while (!$$settled);
184
+ $$renderer.subsume($$inner_renderer);
185
+ });
186
+ }
187
+
188
+ export { _page as default };
189
+ //# sourceMappingURL=_page.svelte-CgTaVEr0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-CgTaVEr0.js","sources":["../../../.svelte-kit/output/server/entries/pages/settings/_page.svelte.js"],"sourcesContent":["import { H as attr, U as escape_html, a as ensure_array_like, l as stringify, n as attr_class, r as bind_props } from \"../../../chunks/dev.js\";\nimport { t as DEFAULT_SYSTEM_PROMPT } from \"../../../chunks/prompts.js\";\nimport \"../../../chunks/session-store.js\";\nimport \"../../../chunks/model-picker-state.svelte.js\";\n//#region src/lib/components/settings/StorageToggle.svelte\nfunction StorageToggle($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { enabled = false, ontoggle } = $$props;\n\t\t$$renderer.push(`<section class=\"section svelte-ux4set\"><h2 class=\"svelte-ux4set\">常规</h2> <div class=\"setting-row svelte-ux4set\"><div class=\"setting-label\"><div class=\"setting-title svelte-ux4set\">对话存储</div> <div class=\"setting-desc svelte-ux4set\">`);\n\t\tif (enabled) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`已开启 — 对话历史持久化到本地数据库`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`已关闭 — 数据仅保存在内存,重启后丢失(适合开发测试)`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div></div> <button${attr_class(\"toggle svelte-ux4set\", void 0, { \"on\": enabled })} aria-label=\"切换存储开关\"><span class=\"toggle-knob svelte-ux4set\"></span></button></div></section>`);\n\t\tbind_props($$props, { enabled });\n\t});\n}\n//#endregion\n//#region src/lib/components/settings/PromptEditor.svelte\nfunction PromptEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { systemPrompt = \"\", onsave } = $$props;\n\t\t$$renderer.push(`<section class=\"section svelte-1cqdm0h\"><h2 class=\"svelte-1cqdm0h\">系统提示词</h2> <p class=\"section-desc svelte-1cqdm0h\">定义 Qualia 的角色和行为准则,将作为每条对话的 system prompt 发送给模型。</p> <textarea class=\"prompt-editor svelte-1cqdm0h\"${attr(\"rows\", 10)} placeholder=\"输入系统提示词...\">`);\n\t\tconst $$body = escape_html(systemPrompt);\n\t\tif ($$body) $$renderer.push(`${$$body}`);\n\t\t$$renderer.push(`</textarea> <div class=\"prompt-actions svelte-1cqdm0h\"><span class=\"prompt-hint svelte-1cqdm0h\">${escape_html(systemPrompt?.length || 0)} 字符</span> <div class=\"prompt-actions-right svelte-1cqdm0h\"><button type=\"button\" class=\"btn svelte-1cqdm0h\"${attr(\"disabled\", systemPrompt === DEFAULT_SYSTEM_PROMPT, true)}>恢复默认</button> <button class=\"btn btn-primary svelte-1cqdm0h\">保存提示词</button></div></div></section>`);\n\t\tbind_props($$props, { systemPrompt });\n\t});\n}\n//#endregion\n//#region src/lib/components/settings/AvatarEditor.svelte\nfunction AvatarEditor($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { customBrandIcon, onsave, onreset } = $$props;\n\t\t$$renderer.push(`<div class=\"brand-icon-row svelte-1ae3gd2\"><div class=\"brand-icon-preview svelte-1ae3gd2\">`);\n\t\tif (customBrandIcon) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<img${attr(\"src\", `/api/brand-icon?t=${stringify(Date.now())}`)} alt=\"头像\" class=\"preview-img svelte-1ae3gd2\"/>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<span class=\"material-symbols-rounded preview-icon svelte-1ae3gd2\">spa</span>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div> <div class=\"brand-icon-actions svelte-1ae3gd2\"><button class=\"btn btn-sm svelte-1ae3gd2\">上传图片</button> `);\n\t\tif (customBrandIcon) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button class=\"btn btn-sm btn-danger svelte-1ae3gd2\">恢复默认</button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div></div> `);\n\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\n//#region src/routes/settings/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst TABS = [\n\t\t\t{\n\t\t\t\tid: \"general\",\n\t\t\t\tlabel: \"常规\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"provider\",\n\t\t\t\tlabel: \"供应商\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"notify\",\n\t\t\t\tlabel: \"通知\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"summary\",\n\t\t\t\tlabel: \"摘要\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"compress\",\n\t\t\t\tlabel: \"压缩\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"search\",\n\t\t\t\tlabel: \"搜索\"\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"tasks\",\n\t\t\t\tlabel: \"任务\"\n\t\t\t}\n\t\t];\n\t\tlet config = {\n\t\t\tproviders: [],\n\t\t\tactiveModel: \"\",\n\t\t\tstorageEnabled: false,\n\t\t\tsystemPrompt: \"\",\n\t\t\tcustomBrandIcon: false,\n\t\t\tautoSummarize: true,\n\t\t\tsummaryMode: \"idle\",\n\t\t\tsummaryIdleHours: 8,\n\t\t\tsummaryScheduleHour: 2,\n\t\t\tsummaryIntervalMin: 30,\n\t\t\tcompressionMode: \"auto\",\n\t\t\tcompressionThreshold: 256e3,\n\t\t\tsearchEnabled: false,\n\t\t\tsearchProvider: \"searxng\",\n\t\t\tsearxngURL: \"http://localhost:8080\",\n\t\t\ttavilyApiKey: \"\",\n\t\t\temailNotifications: false,\n\t\t\temailSmtpHost: \"\",\n\t\t\temailSmtpPort: 465,\n\t\t\temailSmtpSecure: true,\n\t\t\temailSmtpUser: \"\",\n\t\t\temailSmtpPass: \"\",\n\t\t\temailFrom: \"\",\n\t\t\temailTo: \"\",\n\t\t\ttelegramEnabled: false,\n\t\t\ttelegramBotToken: \"\",\n\t\t\ttelegramAllowedUsers: \"\"\n\t\t};\n\t\tlet activeTab = \"general\";\n\t\tasync function loadConfig() {\n\t\t\ttry {\n\t\t\t\tconst res = await fetch(\"/api/config\");\n\t\t\t\tif (res.ok) config = await res.json();\n\t\t\t} catch {}\n\t\t}\n\t\tasync function toggleStorage() {\n\t\t\tconst updated = {\n\t\t\t\t...config,\n\t\t\t\tstorageEnabled: !config.storageEnabled\n\t\t\t};\n\t\t\tconst res = await fetch(\"/api/config\", {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\taction: \"writeConfig\",\n\t\t\t\t\tconfig: updated\n\t\t\t\t})\n\t\t\t});\n\t\t\tif (res.ok) config = await res.json();\n\t\t}\n\t\tasync function saveSystemPrompt() {\n\t\t\tconst res = await fetch(\"/api/config\", {\n\t\t\t\tmethod: \"PUT\",\n\t\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\taction: \"writeConfig\",\n\t\t\t\t\tconfig\n\t\t\t\t})\n\t\t\t});\n\t\t\tif (res.ok) config = await res.json();\n\t\t}\n\t\tlet $$settled = true;\n\t\tlet $$inner_renderer;\n\t\tfunction $$render_inner($$renderer) {\n\t\t\t$$renderer.push(`<div class=\"settings svelte-1i19ct2\"><div class=\"settings-inner svelte-1i19ct2\"><h1 class=\"svelte-1i19ct2\">设置</h1> <nav class=\"tab-bar svelte-1i19ct2\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(TABS);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet tab = each_array[$$index];\n\t\t\t\t$$renderer.push(`<button${attr_class(\"tab-btn svelte-1i19ct2\", void 0, { \"active\": activeTab === tab.id })}>${escape_html(tab.label)}</button>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></nav> <div class=\"tab-content\">`);\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\tStorageToggle($$renderer, {\n\t\t\t\tenabled: config.storageEnabled,\n\t\t\t\tontoggle: toggleStorage\n\t\t\t});\n\t\t\t$$renderer.push(`<!----> `);\n\t\t\tPromptEditor($$renderer, {\n\t\t\t\tonsave: saveSystemPrompt,\n\t\t\t\tget systemPrompt() {\n\t\t\t\t\treturn config.systemPrompt;\n\t\t\t\t},\n\t\t\t\tset systemPrompt($$value) {\n\t\t\t\t\tconfig.systemPrompt = $$value;\n\t\t\t\t\t$$settled = false;\n\t\t\t\t}\n\t\t\t});\n\t\t\t$$renderer.push(`<!----> <section class=\"section svelte-1i19ct2\"><h2 class=\"svelte-1i19ct2\">头像</h2> `);\n\t\t\tAvatarEditor($$renderer, {\n\t\t\t\tcustomBrandIcon: config.customBrandIcon,\n\t\t\t\tonsave: () => loadConfig(),\n\t\t\t\tonreset: () => loadConfig()\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></section>`);\n\t\t\t$$renderer.push(`<!--]--></div></div></div>`);\n\t\t}\n\t\tdo {\n\t\t\t$$settled = true;\n\t\t\t$$inner_renderer = $$renderer.copy();\n\t\t\t$$render_inner($$inner_renderer);\n\t\t} while (!$$settled);\n\t\t$$renderer.subsume($$inner_renderer);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}