@openpalm/ui 0.13.0-beta.7 → 0.13.0-beta.8

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 (433) hide show
  1. package/README.md +3 -2
  2. package/build/.openpalm-ui-version +1 -1
  3. package/build/client/_app/immutable/assets/7.DHMKw-HL.css +1 -0
  4. package/build/client/_app/immutable/assets/7.DHMKw-HL.css.br +0 -0
  5. package/build/client/_app/immutable/assets/7.DHMKw-HL.css.gz +0 -0
  6. package/build/client/_app/immutable/assets/9.CmCaAuiy.css +1 -0
  7. package/build/client/_app/immutable/assets/9.CmCaAuiy.css.br +0 -0
  8. package/build/client/_app/immutable/assets/9.CmCaAuiy.css.gz +0 -0
  9. package/build/client/_app/immutable/chunks/{BE_4J5sS.js → B9uMOgDZ.js} +2 -2
  10. package/build/client/_app/immutable/chunks/B9uMOgDZ.js.br +0 -0
  11. package/build/client/_app/immutable/chunks/B9uMOgDZ.js.gz +0 -0
  12. package/build/client/_app/immutable/chunks/BwKrb5qD.js +1 -0
  13. package/build/client/_app/immutable/chunks/BwKrb5qD.js.br +2 -0
  14. package/build/client/_app/immutable/chunks/BwKrb5qD.js.gz +0 -0
  15. package/build/client/_app/immutable/chunks/{mNzUu332.js → C092q_Hl.js} +1 -1
  16. package/build/client/_app/immutable/chunks/C092q_Hl.js.br +0 -0
  17. package/build/client/_app/immutable/chunks/C092q_Hl.js.gz +0 -0
  18. package/build/client/_app/immutable/chunks/C7g46Pjm.js +1 -0
  19. package/build/client/_app/immutable/chunks/C7g46Pjm.js.br +0 -0
  20. package/build/client/_app/immutable/chunks/C7g46Pjm.js.gz +0 -0
  21. package/build/client/_app/immutable/chunks/{CuKFR3Qo.js → CR3nChHO.js} +2 -2
  22. package/build/client/_app/immutable/chunks/CR3nChHO.js.br +0 -0
  23. package/build/client/_app/immutable/chunks/CR3nChHO.js.gz +0 -0
  24. package/build/client/_app/immutable/chunks/{Clt9pCG1.js → CXv_deBx.js} +1 -1
  25. package/build/client/_app/immutable/chunks/CXv_deBx.js.br +0 -0
  26. package/build/client/_app/immutable/chunks/CXv_deBx.js.gz +0 -0
  27. package/build/client/_app/immutable/chunks/D-DB6zTo.js +9 -0
  28. package/build/client/_app/immutable/chunks/D-DB6zTo.js.br +0 -0
  29. package/build/client/_app/immutable/chunks/D-DB6zTo.js.gz +0 -0
  30. package/build/client/_app/immutable/chunks/DDSqq1hR.js +1 -0
  31. package/build/client/_app/immutable/chunks/DDSqq1hR.js.br +0 -0
  32. package/build/client/_app/immutable/chunks/DDSqq1hR.js.gz +0 -0
  33. package/build/client/_app/immutable/chunks/d1cxvUgj.js +1 -0
  34. package/build/client/_app/immutable/chunks/d1cxvUgj.js.br +0 -0
  35. package/build/client/_app/immutable/chunks/d1cxvUgj.js.gz +0 -0
  36. package/build/client/_app/immutable/chunks/{BdIq5WIo.js → qrqTdjh7.js} +1 -1
  37. package/build/client/_app/immutable/chunks/qrqTdjh7.js.br +0 -0
  38. package/build/client/_app/immutable/chunks/qrqTdjh7.js.gz +0 -0
  39. package/build/client/_app/immutable/entry/{app.DKG33-gU.js → app.CXHi3StM.js} +2 -2
  40. package/build/client/_app/immutable/entry/app.CXHi3StM.js.br +0 -0
  41. package/build/client/_app/immutable/entry/app.CXHi3StM.js.gz +0 -0
  42. package/build/client/_app/immutable/entry/start.eS_-xLIC.js +1 -0
  43. package/build/client/_app/immutable/entry/start.eS_-xLIC.js.br +1 -0
  44. package/build/client/_app/immutable/entry/start.eS_-xLIC.js.gz +0 -0
  45. package/build/client/_app/immutable/nodes/{0.eA5H3idZ.js → 0.Bfv0aXoG.js} +1 -1
  46. package/build/client/_app/immutable/nodes/0.Bfv0aXoG.js.br +0 -0
  47. package/build/client/_app/immutable/nodes/0.Bfv0aXoG.js.gz +0 -0
  48. package/build/client/_app/immutable/nodes/{1.CvKFymDh.js → 1.B8Ebge5I.js} +1 -1
  49. package/build/client/_app/immutable/nodes/1.B8Ebge5I.js.br +0 -0
  50. package/build/client/_app/immutable/nodes/1.B8Ebge5I.js.gz +0 -0
  51. package/build/client/_app/immutable/nodes/{10.DFMf8WUQ.js → 10.Di4b61Rb.js} +1 -1
  52. package/build/client/_app/immutable/nodes/10.Di4b61Rb.js.br +0 -0
  53. package/build/client/_app/immutable/nodes/10.Di4b61Rb.js.gz +0 -0
  54. package/build/client/_app/immutable/nodes/11.CUlazdDv.js +8 -0
  55. package/build/client/_app/immutable/nodes/11.CUlazdDv.js.br +0 -0
  56. package/build/client/_app/immutable/nodes/11.CUlazdDv.js.gz +0 -0
  57. package/build/client/_app/immutable/nodes/4.DQOL0qY_.js +1 -0
  58. package/build/client/_app/immutable/nodes/4.DQOL0qY_.js.br +0 -0
  59. package/build/client/_app/immutable/nodes/4.DQOL0qY_.js.gz +0 -0
  60. package/build/client/_app/immutable/nodes/{5.bgdUYUlr.js → 5.BGqmDWpO.js} +1 -1
  61. package/build/client/_app/immutable/nodes/5.BGqmDWpO.js.br +0 -0
  62. package/build/client/_app/immutable/nodes/5.BGqmDWpO.js.gz +0 -0
  63. package/build/client/_app/immutable/nodes/6.Cf2kRGl-.js +2 -0
  64. package/build/client/_app/immutable/nodes/6.Cf2kRGl-.js.br +0 -0
  65. package/build/client/_app/immutable/nodes/6.Cf2kRGl-.js.gz +0 -0
  66. package/build/client/_app/immutable/nodes/7.CvaILUo5.js +16 -0
  67. package/build/client/_app/immutable/nodes/7.CvaILUo5.js.br +0 -0
  68. package/build/client/_app/immutable/nodes/7.CvaILUo5.js.gz +0 -0
  69. package/build/client/_app/immutable/nodes/9.DvOR66Q0.js +128 -0
  70. package/build/client/_app/immutable/nodes/9.DvOR66Q0.js.br +0 -0
  71. package/build/client/_app/immutable/nodes/9.DvOR66Q0.js.gz +0 -0
  72. package/build/client/_app/version.json +1 -1
  73. package/build/client/_app/version.json.br +1 -1
  74. package/build/client/_app/version.json.gz +0 -0
  75. package/build/server/chunks/{0-D9FIO-Bk.js → 0-D8UAPThv.js} +12 -6
  76. package/build/server/chunks/0-D8UAPThv.js.map +1 -0
  77. package/build/server/chunks/1-bS23Eg-d.js +9 -0
  78. package/build/server/chunks/{1-ItPJxTHP.js.map → 1-bS23Eg-d.js.map} +1 -1
  79. package/build/server/chunks/{10-B4fDiATl.js → 10-C5TUqG1t.js} +3 -3
  80. package/build/server/chunks/{10-B4fDiATl.js.map → 10-C5TUqG1t.js.map} +1 -1
  81. package/build/server/chunks/11-DSjZgp33.js +9 -0
  82. package/build/server/chunks/11-DSjZgp33.js.map +1 -0
  83. package/build/server/chunks/{3-DpC38K23.js → 3-D0iTJ9v2.js} +6 -6
  84. package/build/server/chunks/{3-DpC38K23.js.map → 3-D0iTJ9v2.js.map} +1 -1
  85. package/build/server/chunks/{4-DrJ64j1x.js → 4-CHJRF8qs.js} +3 -3
  86. package/build/server/chunks/{4-DrJ64j1x.js.map → 4-CHJRF8qs.js.map} +1 -1
  87. package/build/server/chunks/{5-BxzwX0rY.js → 5-CwCiwnFt.js} +3 -3
  88. package/build/server/chunks/{5-BxzwX0rY.js.map → 5-CwCiwnFt.js.map} +1 -1
  89. package/build/server/chunks/6-raswytzE.js +9 -0
  90. package/build/server/chunks/{6-DxXeT1e3.js.map → 6-raswytzE.js.map} +1 -1
  91. package/build/server/chunks/7-NC4-KlW9.js +9 -0
  92. package/build/server/chunks/7-NC4-KlW9.js.map +1 -0
  93. package/build/server/chunks/9-rIsHxfiY.js +9 -0
  94. package/build/server/chunks/9-rIsHxfiY.js.map +1 -0
  95. package/build/server/chunks/{ChatNavbar-CJYo_Hbc.js → ChatNavbar-DqdxDR5U.js} +9 -9
  96. package/build/server/chunks/{ChatNavbar-CJYo_Hbc.js.map → ChatNavbar-DqdxDR5U.js.map} +1 -1
  97. package/build/server/chunks/IconMic-CZN60P6B.js +10 -0
  98. package/build/server/chunks/IconMic-CZN60P6B.js.map +1 -0
  99. package/build/server/chunks/{IconServer-DkywyVFu.js → IconServer-BwcRjcsS.js} +4 -4
  100. package/build/server/chunks/{IconServer-DkywyVFu.js.map → IconServer-BwcRjcsS.js.map} +1 -1
  101. package/build/server/chunks/{IconSoundOn-DoAiK-qp.js → IconSoundOn-DTZuBn2-.js} +4 -4
  102. package/build/server/chunks/{IconSoundOn-DoAiK-qp.js.map → IconSoundOn-DTZuBn2-.js.map} +1 -1
  103. package/build/server/chunks/{IconStop-DKVpXPKq.js → IconStop-BxUfqTaV.js} +114 -847
  104. package/build/server/chunks/IconStop-BxUfqTaV.js.map +1 -0
  105. package/build/server/chunks/{QuestionCard-BCfoxMiS.js → QuestionCard-DOLuSSbI.js} +2 -2
  106. package/build/server/chunks/{QuestionCard-BCfoxMiS.js.map → QuestionCard-DOLuSSbI.js.map} +1 -1
  107. package/build/server/chunks/Spinner-2WZW6r_I.js +12 -0
  108. package/build/server/chunks/Spinner-2WZW6r_I.js.map +1 -0
  109. package/build/server/chunks/{_layout.svelte-DArOWGd3.js → _layout.svelte-CBBWJ3m3.js} +2 -3
  110. package/build/server/chunks/{_layout.svelte-DArOWGd3.js.map → _layout.svelte-CBBWJ3m3.js.map} +1 -1
  111. package/build/server/chunks/{_page.svelte-S90xJHRa.js → _page.svelte-CYzntFY4.js} +10 -10
  112. package/build/server/chunks/{_page.svelte-S90xJHRa.js.map → _page.svelte-CYzntFY4.js.map} +1 -1
  113. package/build/server/chunks/{_page.svelte-CGEtuNmS.js → _page.svelte-CysG6Te2.js} +13 -13
  114. package/build/server/chunks/_page.svelte-CysG6Te2.js.map +1 -0
  115. package/build/server/chunks/{_page.svelte-Dpf94Jor.js → _page.svelte-D-_cPU8e.js} +3 -3
  116. package/build/server/chunks/{_page.svelte-Dpf94Jor.js.map → _page.svelte-D-_cPU8e.js.map} +1 -1
  117. package/build/server/chunks/{_page.svelte-qxgG6hsh.js → _page.svelte-D4hOWjfm.js} +61 -351
  118. package/build/server/chunks/_page.svelte-D4hOWjfm.js.map +1 -0
  119. package/build/server/chunks/_page.svelte-D9au75wl.js +183 -0
  120. package/build/server/chunks/_page.svelte-D9au75wl.js.map +1 -0
  121. package/build/server/chunks/{_page.svelte-FOm-OMQe.js → _page.svelte-DjldYxQn.js} +25 -133
  122. package/build/server/chunks/_page.svelte-DjldYxQn.js.map +1 -0
  123. package/build/server/chunks/{_page.svelte-B2cX_j9w.js → _page.svelte-DsJgu4mW.js} +3 -3
  124. package/build/server/chunks/{_page.svelte-B2cX_j9w.js.map → _page.svelte-DsJgu4mW.js.map} +1 -1
  125. package/build/server/chunks/_server.ts-1qbl_1NY.js +87 -0
  126. package/build/server/chunks/_server.ts-1qbl_1NY.js.map +1 -0
  127. package/build/server/chunks/{_server.ts-DQI9hYcE.js → _server.ts-2VPdIZFH.js} +6 -6
  128. package/build/server/chunks/{_server.ts-DQI9hYcE.js.map → _server.ts-2VPdIZFH.js.map} +1 -1
  129. package/build/server/chunks/{_server.ts-C5T_Zuoy.js → _server.ts-68MuZYx_.js} +7 -7
  130. package/build/server/chunks/{_server.ts-C5T_Zuoy.js.map → _server.ts-68MuZYx_.js.map} +1 -1
  131. package/build/server/chunks/{_server.ts-Cph8nHvr.js → _server.ts-8AfutA1j.js} +6 -6
  132. package/build/server/chunks/{_server.ts-Cph8nHvr.js.map → _server.ts-8AfutA1j.js.map} +1 -1
  133. package/build/server/chunks/{_server.ts-ZKEBn-qW.js → _server.ts-B-5y1hA4.js} +8 -8
  134. package/build/server/chunks/{_server.ts-ZKEBn-qW.js.map → _server.ts-B-5y1hA4.js.map} +1 -1
  135. package/build/server/chunks/{_server.ts-Cjo35hc1.js → _server.ts-B1CunPF7.js} +6 -6
  136. package/build/server/chunks/{_server.ts-Cjo35hc1.js.map → _server.ts-B1CunPF7.js.map} +1 -1
  137. package/build/server/chunks/{_server.ts-DYLc6Os9.js → _server.ts-B1KGSkdl.js} +6 -6
  138. package/build/server/chunks/{_server.ts-DYLc6Os9.js.map → _server.ts-B1KGSkdl.js.map} +1 -1
  139. package/build/server/chunks/{_server.ts-B_7lGoo_.js → _server.ts-B2NALEcR.js} +6 -6
  140. package/build/server/chunks/{_server.ts-B_7lGoo_.js.map → _server.ts-B2NALEcR.js.map} +1 -1
  141. package/build/server/chunks/{_server.ts-i9TaUbWr.js → _server.ts-B2iUBxXh.js} +8 -8
  142. package/build/server/chunks/{_server.ts-i9TaUbWr.js.map → _server.ts-B2iUBxXh.js.map} +1 -1
  143. package/build/server/chunks/{_server.ts-IEM_8o6U.js → _server.ts-BN8EkPAZ.js} +7 -7
  144. package/build/server/chunks/{_server.ts-IEM_8o6U.js.map → _server.ts-BN8EkPAZ.js.map} +1 -1
  145. package/build/server/chunks/{_server.ts-N_mH0t0f.js → _server.ts-BQJfEfl9.js} +6 -6
  146. package/build/server/chunks/{_server.ts-N_mH0t0f.js.map → _server.ts-BQJfEfl9.js.map} +1 -1
  147. package/build/server/chunks/{_server.ts-C4tBc7fm.js → _server.ts-BQSMacks.js} +9 -9
  148. package/build/server/chunks/{_server.ts-C4tBc7fm.js.map → _server.ts-BQSMacks.js.map} +1 -1
  149. package/build/server/chunks/{_server.ts-vJBq3idp.js → _server.ts-BYt64wi5.js} +2 -2
  150. package/build/server/chunks/{_server.ts-vJBq3idp.js.map → _server.ts-BYt64wi5.js.map} +1 -1
  151. package/build/server/chunks/{_server.ts-BWMJRzwx.js → _server.ts-Ba0MJSs9.js} +6 -6
  152. package/build/server/chunks/{_server.ts-BWMJRzwx.js.map → _server.ts-Ba0MJSs9.js.map} +1 -1
  153. package/build/server/chunks/{_server.ts-B1vQkdVA.js → _server.ts-BdIM_pWg.js} +8 -8
  154. package/build/server/chunks/{_server.ts-B1vQkdVA.js.map → _server.ts-BdIM_pWg.js.map} +1 -1
  155. package/build/server/chunks/{_server.ts-DYg52Wyj.js → _server.ts-BfxTJHa-.js} +6 -6
  156. package/build/server/chunks/{_server.ts-DYg52Wyj.js.map → _server.ts-BfxTJHa-.js.map} +1 -1
  157. package/build/server/chunks/{_server.ts-CMfz71Do.js → _server.ts-BiVyFRNv.js} +6 -6
  158. package/build/server/chunks/{_server.ts-CMfz71Do.js.map → _server.ts-BiVyFRNv.js.map} +1 -1
  159. package/build/server/chunks/{_server.ts-vlaPk3to.js → _server.ts-BrgEQhDo.js} +6 -6
  160. package/build/server/chunks/{_server.ts-vlaPk3to.js.map → _server.ts-BrgEQhDo.js.map} +1 -1
  161. package/build/server/chunks/{_server.ts-BKnCIXe5.js → _server.ts-BtZN_8lV.js} +6 -6
  162. package/build/server/chunks/{_server.ts-BKnCIXe5.js.map → _server.ts-BtZN_8lV.js.map} +1 -1
  163. package/build/server/chunks/{_server.ts-BhA9ywuA.js → _server.ts-Bx0PXf1w.js} +6 -6
  164. package/build/server/chunks/{_server.ts-BhA9ywuA.js.map → _server.ts-Bx0PXf1w.js.map} +1 -1
  165. package/build/server/chunks/{_server.ts-CkVeEW46.js → _server.ts-Byaj9iKd.js} +6 -6
  166. package/build/server/chunks/{_server.ts-CkVeEW46.js.map → _server.ts-Byaj9iKd.js.map} +1 -1
  167. package/build/server/chunks/{_server.ts-oSGbQw4A.js → _server.ts-C1kDLq6m.js} +6 -6
  168. package/build/server/chunks/{_server.ts-oSGbQw4A.js.map → _server.ts-C1kDLq6m.js.map} +1 -1
  169. package/build/server/chunks/{_server.ts-CLMsuxkK.js → _server.ts-C28zIW49.js} +6 -6
  170. package/build/server/chunks/{_server.ts-CLMsuxkK.js.map → _server.ts-C28zIW49.js.map} +1 -1
  171. package/build/server/chunks/{_server.ts-BHaFrgm9.js → _server.ts-C2F80x6V.js} +7 -7
  172. package/build/server/chunks/{_server.ts-BHaFrgm9.js.map → _server.ts-C2F80x6V.js.map} +1 -1
  173. package/build/server/chunks/{_server.ts-BOn4TCRw.js → _server.ts-C70sKEjH.js} +7 -7
  174. package/build/server/chunks/{_server.ts-BOn4TCRw.js.map → _server.ts-C70sKEjH.js.map} +1 -1
  175. package/build/server/chunks/{_server.ts-CYu5XSM8.js → _server.ts-C754EzJA.js} +6 -6
  176. package/build/server/chunks/{_server.ts-CYu5XSM8.js.map → _server.ts-C754EzJA.js.map} +1 -1
  177. package/build/server/chunks/{_server.ts-B7319d6O.js → _server.ts-C8n83Xl1.js} +6 -6
  178. package/build/server/chunks/{_server.ts-B7319d6O.js.map → _server.ts-C8n83Xl1.js.map} +1 -1
  179. package/build/server/chunks/{_server.ts-DQTJ_bFp.js → _server.ts-CC6Bt-9t.js} +7 -7
  180. package/build/server/chunks/{_server.ts-DQTJ_bFp.js.map → _server.ts-CC6Bt-9t.js.map} +1 -1
  181. package/build/server/chunks/{_server.ts-Y5pBzFz4.js → _server.ts-CJ76gcOX.js} +6 -6
  182. package/build/server/chunks/{_server.ts-Y5pBzFz4.js.map → _server.ts-CJ76gcOX.js.map} +1 -1
  183. package/build/server/chunks/{_server.ts-B3iKXyUo.js → _server.ts-CMW6wbwP.js} +6 -6
  184. package/build/server/chunks/{_server.ts-B3iKXyUo.js.map → _server.ts-CMW6wbwP.js.map} +1 -1
  185. package/build/server/chunks/{_server.ts-pf6WrGLo.js → _server.ts-CNjG4x1a.js} +6 -6
  186. package/build/server/chunks/{_server.ts-pf6WrGLo.js.map → _server.ts-CNjG4x1a.js.map} +1 -1
  187. package/build/server/chunks/{_server.ts-DhcBS9KQ.js → _server.ts-CRl7GqvU.js} +6 -6
  188. package/build/server/chunks/{_server.ts-DhcBS9KQ.js.map → _server.ts-CRl7GqvU.js.map} +1 -1
  189. package/build/server/chunks/{_server.ts-D6-C5ctd.js → _server.ts-CUBWjRlp.js} +7 -7
  190. package/build/server/chunks/{_server.ts-D6-C5ctd.js.map → _server.ts-CUBWjRlp.js.map} +1 -1
  191. package/build/server/chunks/{_server.ts-B-uAgtQC.js → _server.ts-CYoKjlbj.js} +6 -6
  192. package/build/server/chunks/{_server.ts-B-uAgtQC.js.map → _server.ts-CYoKjlbj.js.map} +1 -1
  193. package/build/server/chunks/{_server.ts-Cu48eVwM.js → _server.ts-CafJDVBQ.js} +2 -2
  194. package/build/server/chunks/{_server.ts-Cu48eVwM.js.map → _server.ts-CafJDVBQ.js.map} +1 -1
  195. package/build/server/chunks/{_server.ts-CvjVUcFR.js → _server.ts-Cd9hDiKk.js} +6 -6
  196. package/build/server/chunks/{_server.ts-CvjVUcFR.js.map → _server.ts-Cd9hDiKk.js.map} +1 -1
  197. package/build/server/chunks/{_server.ts-BgL3_hTS.js → _server.ts-CgQfVR3g.js} +7 -7
  198. package/build/server/chunks/{_server.ts-BgL3_hTS.js.map → _server.ts-CgQfVR3g.js.map} +1 -1
  199. package/build/server/chunks/{_server.ts-BtZ9-ZYu.js → _server.ts-CilbVIRO.js} +2 -2
  200. package/build/server/chunks/{_server.ts-BtZ9-ZYu.js.map → _server.ts-CilbVIRO.js.map} +1 -1
  201. package/build/server/chunks/{_server.ts-CSBd_6yC.js → _server.ts-Ck25Xm32.js} +7 -7
  202. package/build/server/chunks/{_server.ts-CSBd_6yC.js.map → _server.ts-Ck25Xm32.js.map} +1 -1
  203. package/build/server/chunks/{_server.ts-DvUVX3X0.js → _server.ts-Cp-_qWC_.js} +7 -7
  204. package/build/server/chunks/{_server.ts-DvUVX3X0.js.map → _server.ts-Cp-_qWC_.js.map} +1 -1
  205. package/build/server/chunks/{_server.ts-7pcCO8Pf.js → _server.ts-CuEFmJ07.js} +7 -7
  206. package/build/server/chunks/{_server.ts-7pcCO8Pf.js.map → _server.ts-CuEFmJ07.js.map} +1 -1
  207. package/build/server/chunks/{_server.ts-DR0kmbl9.js → _server.ts-D5vc4lGC.js} +6 -6
  208. package/build/server/chunks/{_server.ts-DR0kmbl9.js.map → _server.ts-D5vc4lGC.js.map} +1 -1
  209. package/build/server/chunks/{_server.ts-CtkA_Ld0.js → _server.ts-DDLE66QT.js} +7 -7
  210. package/build/server/chunks/{_server.ts-CtkA_Ld0.js.map → _server.ts-DDLE66QT.js.map} +1 -1
  211. package/build/server/chunks/{_server.ts-xQhNjF_X.js → _server.ts-DEF1ChPD.js} +6 -6
  212. package/build/server/chunks/{_server.ts-xQhNjF_X.js.map → _server.ts-DEF1ChPD.js.map} +1 -1
  213. package/build/server/chunks/{_server.ts-BH8Y1mmb.js → _server.ts-DHUtPRWK.js} +4 -4
  214. package/build/server/chunks/{_server.ts-BH8Y1mmb.js.map → _server.ts-DHUtPRWK.js.map} +1 -1
  215. package/build/server/chunks/{_server.ts-B0MK-ynu.js → _server.ts-DHoTyKXL.js} +14 -10
  216. package/build/server/chunks/_server.ts-DHoTyKXL.js.map +1 -0
  217. package/build/server/chunks/{_server.ts-BaEUZaLH.js → _server.ts-DSB9Fzwa.js} +4 -4
  218. package/build/server/chunks/{_server.ts-BaEUZaLH.js.map → _server.ts-DSB9Fzwa.js.map} +1 -1
  219. package/build/server/chunks/{_server.ts-Dc1s3sLN.js → _server.ts-DW36Vbiq.js} +6 -6
  220. package/build/server/chunks/{_server.ts-Dc1s3sLN.js.map → _server.ts-DW36Vbiq.js.map} +1 -1
  221. package/build/server/chunks/{_server.ts-v3cF2xWi.js → _server.ts-DWG4CKWG.js} +6 -6
  222. package/build/server/chunks/{_server.ts-v3cF2xWi.js.map → _server.ts-DWG4CKWG.js.map} +1 -1
  223. package/build/server/chunks/{_server.ts-CCTZbI7L.js → _server.ts-DXxQIT2o.js} +7 -7
  224. package/build/server/chunks/{_server.ts-CCTZbI7L.js.map → _server.ts-DXxQIT2o.js.map} +1 -1
  225. package/build/server/chunks/{_server.ts-CSYdjKAH.js → _server.ts-Da8_J1a4.js} +7 -7
  226. package/build/server/chunks/{_server.ts-CSYdjKAH.js.map → _server.ts-Da8_J1a4.js.map} +1 -1
  227. package/build/server/chunks/{_server.ts-DeuURP8u.js → _server.ts-DcH5edss.js} +6 -6
  228. package/build/server/chunks/{_server.ts-DeuURP8u.js.map → _server.ts-DcH5edss.js.map} +1 -1
  229. package/build/server/chunks/{_server.ts-iXjPBf7J.js → _server.ts-DiHLYNbQ.js} +7 -7
  230. package/build/server/chunks/{_server.ts-iXjPBf7J.js.map → _server.ts-DiHLYNbQ.js.map} +1 -1
  231. package/build/server/chunks/{_server.ts-fenM6Iln.js → _server.ts-Dio2CslE.js} +7 -7
  232. package/build/server/chunks/_server.ts-Dio2CslE.js.map +1 -0
  233. package/build/server/chunks/{_server.ts-DcpOpD6s.js → _server.ts-Dlt1obi9.js} +6 -6
  234. package/build/server/chunks/{_server.ts-DcpOpD6s.js.map → _server.ts-Dlt1obi9.js.map} +1 -1
  235. package/build/server/chunks/{_server.ts-CEUFtmpE.js → _server.ts-Ds0U_zKR.js} +7 -7
  236. package/build/server/chunks/{_server.ts-CEUFtmpE.js.map → _server.ts-Ds0U_zKR.js.map} +1 -1
  237. package/build/server/chunks/{_server.ts-DlKT-RbM.js → _server.ts-DsVsFcf8.js} +15 -10
  238. package/build/server/chunks/_server.ts-DsVsFcf8.js.map +1 -0
  239. package/build/server/chunks/{_server.ts-BCpQ8Qdr.js → _server.ts-Du3PIYf8.js} +6 -6
  240. package/build/server/chunks/{_server.ts-BCpQ8Qdr.js.map → _server.ts-Du3PIYf8.js.map} +1 -1
  241. package/build/server/chunks/{_server.ts-3bBG0DBN.js → _server.ts-Duzj6Wm_.js} +6 -18
  242. package/build/server/chunks/_server.ts-Duzj6Wm_.js.map +1 -0
  243. package/build/server/chunks/{_server.ts-BGTw6w-C.js → _server.ts-DyaoaWIS.js} +7 -7
  244. package/build/server/chunks/{_server.ts-BGTw6w-C.js.map → _server.ts-DyaoaWIS.js.map} +1 -1
  245. package/build/server/chunks/{_server.ts-CxH-7UEc.js → _server.ts-EYtSo6HZ.js} +6 -6
  246. package/build/server/chunks/{_server.ts-CxH-7UEc.js.map → _server.ts-EYtSo6HZ.js.map} +1 -1
  247. package/build/server/chunks/{_server.ts-BgOS_sDK.js → _server.ts-JvnkkOhX.js} +7 -7
  248. package/build/server/chunks/{_server.ts-BgOS_sDK.js.map → _server.ts-JvnkkOhX.js.map} +1 -1
  249. package/build/server/chunks/{_server.ts-DzV6EO26.js → _server.ts-N0u5ruZe.js} +6 -6
  250. package/build/server/chunks/{_server.ts-DzV6EO26.js.map → _server.ts-N0u5ruZe.js.map} +1 -1
  251. package/build/server/chunks/{_server.ts-D0XsGdhx.js → _server.ts-NdCztCBP.js} +6 -6
  252. package/build/server/chunks/{_server.ts-D0XsGdhx.js.map → _server.ts-NdCztCBP.js.map} +1 -1
  253. package/build/server/chunks/{_server.ts-CFKGqT4L.js → _server.ts-OGUKP5Tu.js} +6 -6
  254. package/build/server/chunks/{_server.ts-CFKGqT4L.js.map → _server.ts-OGUKP5Tu.js.map} +1 -1
  255. package/build/server/chunks/{_server.ts-DuO_GU5A.js → _server.ts-Q1KEyBck.js} +6 -6
  256. package/build/server/chunks/{_server.ts-DuO_GU5A.js.map → _server.ts-Q1KEyBck.js.map} +1 -1
  257. package/build/server/chunks/{_server.ts-z5C3PAAB.js → _server.ts-TIRuudir.js} +2 -2
  258. package/build/server/chunks/{_server.ts-z5C3PAAB.js.map → _server.ts-TIRuudir.js.map} +1 -1
  259. package/build/server/chunks/{_server.ts-DXwG4w1_.js → _server.ts-WTZtC5sX.js} +10 -4
  260. package/build/server/chunks/_server.ts-WTZtC5sX.js.map +1 -0
  261. package/build/server/chunks/{_server.ts-DR_9WXW4.js → _server.ts-WsWoJE5V.js} +8 -8
  262. package/build/server/chunks/{_server.ts-DR_9WXW4.js.map → _server.ts-WsWoJE5V.js.map} +1 -1
  263. package/build/server/chunks/{_server.ts-CjeMP5Vf.js → _server.ts-X8GX4ChJ.js} +6 -6
  264. package/build/server/chunks/{_server.ts-CjeMP5Vf.js.map → _server.ts-X8GX4ChJ.js.map} +1 -1
  265. package/build/server/chunks/{_server.ts--F22byeV.js → _server.ts-XIc2PDRd.js} +7 -7
  266. package/build/server/chunks/{_server.ts--F22byeV.js.map → _server.ts-XIc2PDRd.js.map} +1 -1
  267. package/build/server/chunks/{_server.ts-CQeqwCqj.js → _server.ts-YsFgaaVd.js} +6 -6
  268. package/build/server/chunks/{_server.ts-CQeqwCqj.js.map → _server.ts-YsFgaaVd.js.map} +1 -1
  269. package/build/server/chunks/{_server.ts-CpyfojV9.js → _server.ts-bOcb37D9.js} +7 -7
  270. package/build/server/chunks/{_server.ts-CpyfojV9.js.map → _server.ts-bOcb37D9.js.map} +1 -1
  271. package/build/server/chunks/{_server.ts-yZ8CGJNE.js → _server.ts-e_8LykNe.js} +7 -7
  272. package/build/server/chunks/{_server.ts-yZ8CGJNE.js.map → _server.ts-e_8LykNe.js.map} +1 -1
  273. package/build/server/chunks/{_server.ts-CY-GNKZT.js → _server.ts-hLimfy8i.js} +6 -6
  274. package/build/server/chunks/{_server.ts-CY-GNKZT.js.map → _server.ts-hLimfy8i.js.map} +1 -1
  275. package/build/server/chunks/{_server.ts-AC1zqetQ.js → _server.ts-khI1sqja.js} +2 -2
  276. package/build/server/chunks/{_server.ts-AC1zqetQ.js.map → _server.ts-khI1sqja.js.map} +1 -1
  277. package/build/server/chunks/{_server.ts-BF5JzSrs.js → _server.ts-p1Z3DBlr.js} +6 -6
  278. package/build/server/chunks/{_server.ts-BF5JzSrs.js.map → _server.ts-p1Z3DBlr.js.map} +1 -1
  279. package/build/server/chunks/{_server.ts-DvfnkNfI.js → _server.ts-uzB454LO.js} +7 -7
  280. package/build/server/chunks/{_server.ts-DvfnkNfI.js.map → _server.ts-uzB454LO.js.map} +1 -1
  281. package/build/server/chunks/{_server.ts-jqktLs6L.js → _server.ts-wKSTgSwf.js} +6 -6
  282. package/build/server/chunks/{_server.ts-jqktLs6L.js.map → _server.ts-wKSTgSwf.js.map} +1 -1
  283. package/build/server/chunks/addon-helpers-DaC3GR9u.js +153 -0
  284. package/build/server/chunks/addon-helpers-DaC3GR9u.js.map +1 -0
  285. package/build/server/chunks/{admin-update-lock-B-z4UE8R.js → admin-update-lock-Bu3VvAoN.js} +3 -3
  286. package/build/server/chunks/{admin-update-lock-B-z4UE8R.js.map → admin-update-lock-Bu3VvAoN.js.map} +1 -1
  287. package/build/server/chunks/{akm-C4NCZfJB.js → akm-DsJ8_uuW.js} +2 -2
  288. package/build/server/chunks/{akm-C4NCZfJB.js.map → akm-DsJ8_uuW.js.map} +1 -1
  289. package/build/server/chunks/{_server.ts-08JCSzPu.js → bring-up-BBKMJltU.js} +30 -228
  290. package/build/server/chunks/bring-up-BBKMJltU.js.map +1 -0
  291. package/build/server/chunks/{catalog-Czlhb_2V.js → catalog-8d-U0FbY.js} +5 -5
  292. package/build/server/chunks/{catalog-Czlhb_2V.js.map → catalog-8d-U0FbY.js.map} +1 -1
  293. package/build/server/chunks/{client-HEAniq5u.js → client-CHoZA_w9.js} +2 -2
  294. package/build/server/chunks/{client-HEAniq5u.js.map → client-CHoZA_w9.js.map} +1 -1
  295. package/build/server/chunks/{compose-args2-B1cYvF5r.js → compose-args2-C9sLS6QR.js} +2 -2
  296. package/build/server/chunks/compose-args2-C9sLS6QR.js.map +1 -0
  297. package/build/server/chunks/{config-C15S-ENd.js → config-ChxZZk6h.js} +2 -2
  298. package/build/server/chunks/{config-C15S-ENd.js.map → config-ChxZZk6h.js.map} +1 -1
  299. package/build/server/chunks/{docker2-CF7qyd1U.js → docker2-DGq6J3Kp.js} +2 -2
  300. package/build/server/chunks/docker2-DGq6J3Kp.js.map +1 -0
  301. package/build/server/chunks/{docker3-BsPagEza.js → docker3-DFlJ-o_d.js} +2 -2
  302. package/build/server/chunks/{docker3-BsPagEza.js.map → docker3-DFlJ-o_d.js.map} +1 -1
  303. package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
  304. package/build/server/chunks/{error.svelte-C-lukbaB.js → error.svelte-BXxIEYd4.js} +4 -4
  305. package/build/server/chunks/{error.svelte-C-lukbaB.js.map → error.svelte-BXxIEYd4.js.map} +1 -1
  306. package/build/server/chunks/{features-DltizIi4.js → features-D8Ez2vwC.js} +26 -4
  307. package/build/server/chunks/features-D8Ez2vwC.js.map +1 -0
  308. package/build/server/chunks/{helpers-DWpoPvHz.js → helpers-BrD1e__f.js} +4 -4
  309. package/build/server/chunks/{helpers-DWpoPvHz.js.map → helpers-BrD1e__f.js.map} +1 -1
  310. package/build/server/chunks/{hooks.server-BcdEyWVU.js → hooks.server-Blba-Qw7.js} +9 -9
  311. package/build/server/chunks/{hooks.server-BcdEyWVU.js.map → hooks.server-Blba-Qw7.js.map} +1 -1
  312. package/build/server/chunks/{http-7E5W3vGt.js → http-B4Us23Mo.js} +2 -2
  313. package/build/server/chunks/{http-7E5W3vGt.js.map → http-B4Us23Mo.js.map} +1 -1
  314. package/build/server/chunks/{internal-BNSUwl-r.js → internal-CSnzBDeT.js} +3 -3
  315. package/build/server/chunks/{internal-BNSUwl-r.js.map → internal-CSnzBDeT.js.map} +1 -1
  316. package/build/server/chunks/{landing-DY53l_CN.js → landing-DxFOhZxH.js} +5 -5
  317. package/build/server/chunks/{landing-DY53l_CN.js.map → landing-DxFOhZxH.js.map} +1 -1
  318. package/build/server/chunks/{opencode-target-DYD2zQ4l.js → opencode-target-D4BxXYHJ.js} +3 -3
  319. package/build/server/chunks/{opencode-target-DYD2zQ4l.js.map → opencode-target-D4BxXYHJ.js.map} +1 -1
  320. package/build/server/chunks/{paths-BVdkvR9U.js → paths-6f-5gYkd.js} +2 -2
  321. package/build/server/chunks/{paths-BVdkvR9U.js.map → paths-6f-5gYkd.js.map} +1 -1
  322. package/build/server/chunks/{session-cookie-D2_H1UEW.js → session-cookie-5J3xCH94.js} +2 -2
  323. package/build/server/chunks/{session-cookie-D2_H1UEW.js.map → session-cookie-5J3xCH94.js.map} +1 -1
  324. package/build/server/chunks/{setup-deploy-C1h733rH.js → setup-deploy-DUbX3fHm.js} +2 -2
  325. package/build/server/chunks/{setup-deploy-C1h733rH.js.map → setup-deploy-DUbX3fHm.js.map} +1 -1
  326. package/build/server/chunks/{src-B2-r_9oB.js → src-B2wHibme.js} +55 -70
  327. package/build/server/chunks/src-B2wHibme.js.map +1 -0
  328. package/build/server/chunks/{state-Dkjz2T4C.js → state-JIy0tegD.js} +2 -2
  329. package/build/server/chunks/{state-Dkjz2T4C.js.map → state-JIy0tegD.js.map} +1 -1
  330. package/build/server/chunks/{state2-CS9rhust.js → state2-Br2snAqo.js} +2 -2
  331. package/build/server/chunks/{state2-CS9rhust.js.map → state2-Br2snAqo.js.map} +1 -1
  332. package/build/server/chunks/voice-state.svelte-DU9g_xEh.js +1610 -0
  333. package/build/server/chunks/voice-state.svelte-DU9g_xEh.js.map +1 -0
  334. package/build/server/index.js +1 -1
  335. package/build/server/manifest.js +96 -110
  336. package/build/server/manifest.js.map +1 -1
  337. package/package.json +3 -3
  338. package/build/client/_app/immutable/assets/7.BsquVIMw.css +0 -1
  339. package/build/client/_app/immutable/assets/7.BsquVIMw.css.br +0 -0
  340. package/build/client/_app/immutable/assets/7.BsquVIMw.css.gz +0 -0
  341. package/build/client/_app/immutable/assets/9.D8zTZB7v.css +0 -1
  342. package/build/client/_app/immutable/assets/9.D8zTZB7v.css.br +0 -0
  343. package/build/client/_app/immutable/assets/9.D8zTZB7v.css.gz +0 -0
  344. package/build/client/_app/immutable/chunks/BE_4J5sS.js.br +0 -0
  345. package/build/client/_app/immutable/chunks/BE_4J5sS.js.gz +0 -0
  346. package/build/client/_app/immutable/chunks/BdIq5WIo.js.br +0 -5
  347. package/build/client/_app/immutable/chunks/BdIq5WIo.js.gz +0 -0
  348. package/build/client/_app/immutable/chunks/Clt9pCG1.js.br +0 -0
  349. package/build/client/_app/immutable/chunks/Clt9pCG1.js.gz +0 -0
  350. package/build/client/_app/immutable/chunks/CuKFR3Qo.js.br +0 -0
  351. package/build/client/_app/immutable/chunks/CuKFR3Qo.js.gz +0 -0
  352. package/build/client/_app/immutable/chunks/D1VTYdXF.js +0 -1
  353. package/build/client/_app/immutable/chunks/D1VTYdXF.js.br +0 -0
  354. package/build/client/_app/immutable/chunks/D1VTYdXF.js.gz +0 -0
  355. package/build/client/_app/immutable/chunks/DF5Aoa59.js +0 -1
  356. package/build/client/_app/immutable/chunks/DF5Aoa59.js.br +0 -2
  357. package/build/client/_app/immutable/chunks/DF5Aoa59.js.gz +0 -0
  358. package/build/client/_app/immutable/chunks/DaRQZQEK.js +0 -5
  359. package/build/client/_app/immutable/chunks/DaRQZQEK.js.br +0 -0
  360. package/build/client/_app/immutable/chunks/DaRQZQEK.js.gz +0 -0
  361. package/build/client/_app/immutable/chunks/Dz-hw4Sz.js +0 -5
  362. package/build/client/_app/immutable/chunks/Dz-hw4Sz.js.br +0 -0
  363. package/build/client/_app/immutable/chunks/Dz-hw4Sz.js.gz +0 -0
  364. package/build/client/_app/immutable/chunks/mNzUu332.js.br +0 -0
  365. package/build/client/_app/immutable/chunks/mNzUu332.js.gz +0 -0
  366. package/build/client/_app/immutable/entry/app.DKG33-gU.js.br +0 -0
  367. package/build/client/_app/immutable/entry/app.DKG33-gU.js.gz +0 -0
  368. package/build/client/_app/immutable/entry/start.vDtUfDrT.js +0 -1
  369. package/build/client/_app/immutable/entry/start.vDtUfDrT.js.br +0 -1
  370. package/build/client/_app/immutable/entry/start.vDtUfDrT.js.gz +0 -0
  371. package/build/client/_app/immutable/nodes/0.eA5H3idZ.js.br +0 -0
  372. package/build/client/_app/immutable/nodes/0.eA5H3idZ.js.gz +0 -0
  373. package/build/client/_app/immutable/nodes/1.CvKFymDh.js.br +0 -0
  374. package/build/client/_app/immutable/nodes/1.CvKFymDh.js.gz +0 -0
  375. package/build/client/_app/immutable/nodes/10.DFMf8WUQ.js.br +0 -0
  376. package/build/client/_app/immutable/nodes/10.DFMf8WUQ.js.gz +0 -0
  377. package/build/client/_app/immutable/nodes/11.BZQW5Y67.js +0 -8
  378. package/build/client/_app/immutable/nodes/11.BZQW5Y67.js.br +0 -0
  379. package/build/client/_app/immutable/nodes/11.BZQW5Y67.js.gz +0 -0
  380. package/build/client/_app/immutable/nodes/4.B-36aGPk.js +0 -1
  381. package/build/client/_app/immutable/nodes/4.B-36aGPk.js.br +0 -0
  382. package/build/client/_app/immutable/nodes/4.B-36aGPk.js.gz +0 -0
  383. package/build/client/_app/immutable/nodes/5.bgdUYUlr.js.br +0 -0
  384. package/build/client/_app/immutable/nodes/5.bgdUYUlr.js.gz +0 -0
  385. package/build/client/_app/immutable/nodes/6.D0P837Li.js +0 -2
  386. package/build/client/_app/immutable/nodes/6.D0P837Li.js.br +0 -0
  387. package/build/client/_app/immutable/nodes/6.D0P837Li.js.gz +0 -0
  388. package/build/client/_app/immutable/nodes/7.C4seSCJq.js +0 -14
  389. package/build/client/_app/immutable/nodes/7.C4seSCJq.js.br +0 -0
  390. package/build/client/_app/immutable/nodes/7.C4seSCJq.js.gz +0 -0
  391. package/build/client/_app/immutable/nodes/9.DCgNAMuD.js +0 -128
  392. package/build/client/_app/immutable/nodes/9.DCgNAMuD.js.br +0 -0
  393. package/build/client/_app/immutable/nodes/9.DCgNAMuD.js.gz +0 -0
  394. package/build/server/chunks/0-D9FIO-Bk.js.map +0 -1
  395. package/build/server/chunks/1-ItPJxTHP.js +0 -9
  396. package/build/server/chunks/11-CZj9K6K7.js +0 -9
  397. package/build/server/chunks/11-CZj9K6K7.js.map +0 -1
  398. package/build/server/chunks/6-DxXeT1e3.js +0 -9
  399. package/build/server/chunks/7-CuHe_mFY.js +0 -9
  400. package/build/server/chunks/7-CuHe_mFY.js.map +0 -1
  401. package/build/server/chunks/9-CVIPxN5B.js +0 -9
  402. package/build/server/chunks/9-CVIPxN5B.js.map +0 -1
  403. package/build/server/chunks/IconMic-BbjkE_nG.js +0 -18
  404. package/build/server/chunks/IconMic-BbjkE_nG.js.map +0 -1
  405. package/build/server/chunks/IconStop-DKVpXPKq.js.map +0 -1
  406. package/build/server/chunks/_page.svelte-BcpGl-vl.js +0 -91
  407. package/build/server/chunks/_page.svelte-BcpGl-vl.js.map +0 -1
  408. package/build/server/chunks/_page.svelte-CGEtuNmS.js.map +0 -1
  409. package/build/server/chunks/_page.svelte-FOm-OMQe.js.map +0 -1
  410. package/build/server/chunks/_page.svelte-qxgG6hsh.js.map +0 -1
  411. package/build/server/chunks/_server.ts-08JCSzPu.js.map +0 -1
  412. package/build/server/chunks/_server.ts-3bBG0DBN.js.map +0 -1
  413. package/build/server/chunks/_server.ts-B0MK-ynu.js.map +0 -1
  414. package/build/server/chunks/_server.ts-BS4UTF4H.js +0 -93
  415. package/build/server/chunks/_server.ts-BS4UTF4H.js.map +0 -1
  416. package/build/server/chunks/_server.ts-DXwG4w1_.js.map +0 -1
  417. package/build/server/chunks/_server.ts-DlKT-RbM.js.map +0 -1
  418. package/build/server/chunks/_server.ts-fenM6Iln.js.map +0 -1
  419. package/build/server/chunks/_server.ts-zt3yI2wU.js +0 -97
  420. package/build/server/chunks/_server.ts-zt3yI2wU.js.map +0 -1
  421. package/build/server/chunks/addon-helpers-B7bkHg-K.js +0 -64
  422. package/build/server/chunks/addon-helpers-B7bkHg-K.js.map +0 -1
  423. package/build/server/chunks/compose-args2-B1cYvF5r.js.map +0 -1
  424. package/build/server/chunks/docker2-CF7qyd1U.js.map +0 -1
  425. package/build/server/chunks/features-DltizIi4.js.map +0 -1
  426. package/build/server/chunks/speakable-text-BflxDDdY.js +0 -65
  427. package/build/server/chunks/speakable-text-BflxDDdY.js.map +0 -1
  428. package/build/server/chunks/src-B2-r_9oB.js.map +0 -1
  429. package/build/server/chunks/voice-state.svelte-CSmyLPRH.js +0 -561
  430. package/build/server/chunks/voice-state.svelte-CSmyLPRH.js.map +0 -1
  431. /package/build/client/_app/immutable/chunks/{DD22UF1L.js → DD22UF1L2.js} +0 -0
  432. /package/build/client/_app/immutable/chunks/{DD22UF1L.js.br → DD22UF1L2.js.br} +0 -0
  433. /package/build/client/_app/immutable/chunks/{DD22UF1L.js.gz → DD22UF1L2.js.gz} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"0-D9FIO-Bk.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.server.ts.js","../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["import { t as computeServerRuntimeContext } from \"../../chunks/features.js\";\n//#region src/routes/+layout.server.ts\nvar load = (event) => {\n\treturn { serverRuntimeContext: computeServerRuntimeContext(event) };\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/_layout.server.ts.js';\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+layout.server.ts\";\nexport const imports = [\"_app/immutable/nodes/0.eA5H3idZ.js\",\"_app/immutable/chunks/DTLQuSQp.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/D3d8Mm8X.js\",\"_app/immutable/chunks/92accNiq.js\",\"_app/immutable/chunks/CJc9QEdG.js\",\"_app/immutable/chunks/Dz-hw4Sz.js\",\"_app/immutable/chunks/CzKYnjEX.js\"];\nexport const stylesheets = [\"_app/immutable/assets/0.CNWpIzQn.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AACA;AACA,IAAI,IAAI,GAAG,CAAC,KAAK,KAAK;AACtB,CAAC,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,CAAC,KAAK,CAAC,EAAE;AACpE,CAAC;;;;;;;ACFW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAAoC,CAAC,EAAE;AAElG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5S,MAAC,WAAW,GAAG,CAAC,sCAAsC;AACtD,MAAC,KAAK,GAAG;;;;"}
@@ -1,9 +0,0 @@
1
- const index = 1;
2
- let component_cache;
3
- const component = async () => component_cache ??= (await import('./error.svelte-C-lukbaB.js')).default;
4
- const imports = ["_app/immutable/nodes/1.CvKFymDh.js","_app/immutable/chunks/DTLQuSQp.js","_app/immutable/chunks/BdIq5WIo.js","_app/immutable/chunks/BE_4J5sS.js","_app/immutable/chunks/CymRgjIC.js","_app/immutable/chunks/xihTtKlq.js"];
5
- const stylesheets = [];
6
- const fonts = [];
7
-
8
- export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=1-ItPJxTHP.js.map
@@ -1,9 +0,0 @@
1
- const index = 11;
2
- let component_cache;
3
- const component = async () => component_cache ??= (await import('./_page.svelte-FOm-OMQe.js')).default;
4
- const imports = ["_app/immutable/nodes/11.BZQW5Y67.js","_app/immutable/chunks/DTLQuSQp.js","_app/immutable/chunks/BE_4J5sS.js","_app/immutable/chunks/CymRgjIC.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D3d8Mm8X.js","_app/immutable/chunks/DD22UF1L.js","_app/immutable/chunks/BBXQKGHA.js","_app/immutable/chunks/BGx9HO1u.js","_app/immutable/chunks/_zkFsY4j.js","_app/immutable/chunks/ByiipSaR.js","_app/immutable/chunks/C4qTU5YY.js","_app/immutable/chunks/DTAO9S6h.js"];
5
- const stylesheets = ["_app/immutable/assets/Spinner.DfNgj4dl.css","_app/immutable/assets/11.D7iX4s2y.css"];
6
- const fonts = [];
7
-
8
- export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=11-CZj9K6K7.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"11-CZj9K6K7.js","sources":["../../../.svelte-kit/adapter-node/nodes/11.js"],"sourcesContent":["\n\nexport const index = 11;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/setup/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/11.BZQW5Y67.js\",\"_app/immutable/chunks/DTLQuSQp.js\",\"_app/immutable/chunks/BE_4J5sS.js\",\"_app/immutable/chunks/CymRgjIC.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/D3d8Mm8X.js\",\"_app/immutable/chunks/DD22UF1L.js\",\"_app/immutable/chunks/BBXQKGHA.js\",\"_app/immutable/chunks/BGx9HO1u.js\",\"_app/immutable/chunks/_zkFsY4j.js\",\"_app/immutable/chunks/ByiipSaR.js\",\"_app/immutable/chunks/C4qTU5YY.js\",\"_app/immutable/chunks/DTAO9S6h.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Spinner.DfNgj4dl.css\",\"_app/immutable/assets/11.D7iX4s2y.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAwC,CAAC,EAAE;AACtG,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACje,MAAC,WAAW,GAAG,CAAC,4CAA4C,CAAC,uCAAuC;AACpG,MAAC,KAAK,GAAG;;;;"}
@@ -1,9 +0,0 @@
1
- const index = 6;
2
- let component_cache;
3
- const component = async () => component_cache ??= (await import('./_page.svelte-S90xJHRa.js')).default;
4
- const imports = ["_app/immutable/nodes/6.D0P837Li.js","_app/immutable/chunks/DTLQuSQp.js","_app/immutable/chunks/BE_4J5sS.js","_app/immutable/chunks/CymRgjIC.js","_app/immutable/chunks/DF5Aoa59.js","_app/immutable/chunks/BdIq5WIo.js","_app/immutable/chunks/C6rMFkms.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/92accNiq.js","_app/immutable/chunks/DaRQZQEK.js","_app/immutable/chunks/Dz-hw4Sz.js","_app/immutable/chunks/1F1QVf3N.js","_app/immutable/chunks/CuKFR3Qo.js","_app/immutable/chunks/BBXQKGHA.js","_app/immutable/chunks/BGx9HO1u.js","_app/immutable/chunks/C4qTU5YY.js","_app/immutable/chunks/mNzUu332.js"];
5
- const stylesheets = ["_app/immutable/assets/ChatMessage.BdXOPwBm.css","_app/immutable/assets/Spinner.DfNgj4dl.css","_app/immutable/assets/IconSoundOn.BsTA83Hx.css","_app/immutable/assets/QuestionCard.CSfD3z_X.css","_app/immutable/assets/6.BM7A1dW5.css"];
6
- const fonts = [];
7
-
8
- export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=6-DxXeT1e3.js.map
@@ -1,9 +0,0 @@
1
- const index = 7;
2
- let component_cache;
3
- const component = async () => component_cache ??= (await import('./_page.svelte-BcpGl-vl.js')).default;
4
- const imports = ["_app/immutable/nodes/7.C4seSCJq.js","_app/immutable/chunks/DTLQuSQp.js","_app/immutable/chunks/BE_4J5sS.js","_app/immutable/chunks/CymRgjIC.js","_app/immutable/chunks/DF5Aoa59.js","_app/immutable/chunks/BdIq5WIo.js","_app/immutable/chunks/DaRQZQEK.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/Dz-hw4Sz.js","_app/immutable/chunks/D1VTYdXF.js","_app/immutable/chunks/Clt9pCG1.js","_app/immutable/chunks/ByiipSaR.js","_app/immutable/chunks/CzKYnjEX.js","_app/immutable/chunks/CuKFR3Qo.js","_app/immutable/chunks/BBXQKGHA.js","_app/immutable/chunks/C4qTU5YY.js","_app/immutable/chunks/DTAO9S6h.js","_app/immutable/chunks/_zkFsY4j.js"];
5
- const stylesheets = ["_app/immutable/assets/Drawer.C9zcL24P.css","_app/immutable/assets/Spinner.DfNgj4dl.css","_app/immutable/assets/IconSoundOn.BsTA83Hx.css","_app/immutable/assets/ChatNavbar.C7LJB8r7.css","_app/immutable/assets/7.BsquVIMw.css"];
6
- const fonts = [];
7
-
8
- export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=7-CuHe_mFY.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"7-CuHe_mFY.js","sources":["../../../.svelte-kit/adapter-node/nodes/7.js"],"sourcesContent":["\n\nexport const index = 7;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/connections/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/7.C4seSCJq.js\",\"_app/immutable/chunks/DTLQuSQp.js\",\"_app/immutable/chunks/BE_4J5sS.js\",\"_app/immutable/chunks/CymRgjIC.js\",\"_app/immutable/chunks/DF5Aoa59.js\",\"_app/immutable/chunks/BdIq5WIo.js\",\"_app/immutable/chunks/DaRQZQEK.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/Dz-hw4Sz.js\",\"_app/immutable/chunks/D1VTYdXF.js\",\"_app/immutable/chunks/Clt9pCG1.js\",\"_app/immutable/chunks/ByiipSaR.js\",\"_app/immutable/chunks/CzKYnjEX.js\",\"_app/immutable/chunks/CuKFR3Qo.js\",\"_app/immutable/chunks/BBXQKGHA.js\",\"_app/immutable/chunks/C4qTU5YY.js\",\"_app/immutable/chunks/DTAO9S6h.js\",\"_app/immutable/chunks/_zkFsY4j.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Drawer.C9zcL24P.css\",\"_app/immutable/assets/Spinner.DfNgj4dl.css\",\"_app/immutable/assets/IconSoundOn.BsTA83Hx.css\",\"_app/immutable/assets/ChatNavbar.C7LJB8r7.css\",\"_app/immutable/assets/7.BsquVIMw.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA8C,CAAC,EAAE;AAC5G,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACppB,MAAC,WAAW,GAAG,CAAC,2CAA2C,CAAC,4CAA4C,CAAC,gDAAgD,CAAC,+CAA+C,CAAC,sCAAsC;AAChP,MAAC,KAAK,GAAG;;;;"}
@@ -1,9 +0,0 @@
1
- const index = 9;
2
- let component_cache;
3
- const component = async () => component_cache ??= (await import('./_page.svelte-qxgG6hsh.js')).default;
4
- const imports = ["_app/immutable/nodes/9.DCgNAMuD.js","_app/immutable/chunks/DTLQuSQp.js","_app/immutable/chunks/BE_4J5sS.js","_app/immutable/chunks/CymRgjIC.js","_app/immutable/chunks/DF5Aoa59.js","_app/immutable/chunks/BdIq5WIo.js","_app/immutable/chunks/C6rMFkms.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/92accNiq.js","_app/immutable/chunks/DaRQZQEK.js","_app/immutable/chunks/Dz-hw4Sz.js","_app/immutable/chunks/DD22UF1L.js","_app/immutable/chunks/Clt9pCG1.js","_app/immutable/chunks/ByiipSaR.js","_app/immutable/chunks/CzKYnjEX.js","_app/immutable/chunks/BBXQKGHA.js","_app/immutable/chunks/1F1QVf3N.js","_app/immutable/chunks/BGx9HO1u.js","_app/immutable/chunks/CJc9QEdG.js","_app/immutable/chunks/_zkFsY4j.js","_app/immutable/chunks/C4qTU5YY.js","_app/immutable/chunks/DTAO9S6h.js"];
5
- const stylesheets = ["_app/immutable/assets/ChatMessage.BdXOPwBm.css","_app/immutable/assets/Drawer.C9zcL24P.css","_app/immutable/assets/Spinner.DfNgj4dl.css","_app/immutable/assets/9.D8zTZB7v.css"];
6
- const fonts = [];
7
-
8
- export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=9-CVIPxN5B.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"9-CVIPxN5B.js","sources":["../../../.svelte-kit/adapter-node/nodes/9.js"],"sourcesContent":["\n\nexport const index = 9;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/host/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/9.DCgNAMuD.js\",\"_app/immutable/chunks/DTLQuSQp.js\",\"_app/immutable/chunks/BE_4J5sS.js\",\"_app/immutable/chunks/CymRgjIC.js\",\"_app/immutable/chunks/DF5Aoa59.js\",\"_app/immutable/chunks/BdIq5WIo.js\",\"_app/immutable/chunks/C6rMFkms.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/92accNiq.js\",\"_app/immutable/chunks/DaRQZQEK.js\",\"_app/immutable/chunks/Dz-hw4Sz.js\",\"_app/immutable/chunks/DD22UF1L.js\",\"_app/immutable/chunks/Clt9pCG1.js\",\"_app/immutable/chunks/ByiipSaR.js\",\"_app/immutable/chunks/CzKYnjEX.js\",\"_app/immutable/chunks/BBXQKGHA.js\",\"_app/immutable/chunks/1F1QVf3N.js\",\"_app/immutable/chunks/BGx9HO1u.js\",\"_app/immutable/chunks/CJc9QEdG.js\",\"_app/immutable/chunks/_zkFsY4j.js\",\"_app/immutable/chunks/C4qTU5YY.js\",\"_app/immutable/chunks/DTAO9S6h.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ChatMessage.BdXOPwBm.css\",\"_app/immutable/assets/Drawer.C9zcL24P.css\",\"_app/immutable/assets/Spinner.DfNgj4dl.css\",\"_app/immutable/assets/9.D8zTZB7v.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAuC,CAAC,EAAE;AACrG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACpyB,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,2CAA2C,CAAC,4CAA4C,CAAC,sCAAsC;AAChM,MAAC,KAAK,GAAG;;;;"}
@@ -1,18 +0,0 @@
1
- import { f as attr_style, d as attr, a9 as stringify, e as attr_class } from './dev-D85DamNs.js';
2
-
3
- //#region ../ui-kit/src/lib/components/common/Spinner.svelte
4
- function Spinner($$renderer, $$props) {
5
- /** Diameter in px. */
6
- /** When set, exposes the spinner to assistive tech as a status. */
7
- let { size = 14, label } = $$props;
8
- $$renderer.push(`<span class="spinner svelte-4j4so5"${attr_style(`--spinner-size: ${stringify(size)}px`)}${attr("role", label ? "status" : void 0)}${attr("aria-label", label)}${attr("aria-hidden", label ? void 0 : "true")}></span>`);
9
- }
10
-
11
- //#region ../ui-kit/src/lib/components/icons/IconMic.svelte
12
- function IconMic($$renderer, $$props) {
13
- let { size = 20, class: className = "" } = $$props;
14
- $$renderer.push(`<svg aria-hidden="true"${attr("width", size)}${attr("height", size)} viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"${attr_class(`s-icon ${stringify(className)}`)}><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><line x1="12" y1="19" x2="12" y2="23"></line><line x1="8" y1="23" x2="16" y2="23"></line></svg>`);
15
- }
16
-
17
- export { IconMic as I, Spinner as S };
18
- //# sourceMappingURL=IconMic-BbjkE_nG.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IconMic-BbjkE_nG.js","sources":["../../../.svelte-kit/adapter-node/chunks/Spinner.js","../../../.svelte-kit/adapter-node/chunks/IconMic.js"],"sourcesContent":["import { V as attr, r as attr_style, u as stringify } from \"./dev.js\";\n//#region ../ui-kit/src/lib/components/common/Spinner.svelte\nfunction Spinner($$renderer, $$props) {\n\t/** Diameter in px. */\n\t/** When set, exposes the spinner to assistive tech as a status. */\n\tlet { size = 14, label } = $$props;\n\t$$renderer.push(`<span class=\"spinner svelte-4j4so5\"${attr_style(`--spinner-size: ${stringify(size)}px`)}${attr(\"role\", label ? \"status\" : void 0)}${attr(\"aria-label\", label)}${attr(\"aria-hidden\", label ? void 0 : \"true\")}></span>`);\n}\n//#endregion\nexport { Spinner as t };\n","import { V as attr, n as attr_class, u as stringify } from \"./dev.js\";\n//#region ../ui-kit/src/lib/components/icons/IconMic.svelte\nfunction IconMic($$renderer, $$props) {\n\tlet { size = 20, class: className = \"\" } = $$props;\n\t$$renderer.push(`<svg aria-hidden=\"true\"${attr(\"width\", size)}${attr(\"height\", size)} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"${attr_class(`s-icon ${stringify(className)}`)}><path d=\"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z\"></path><path d=\"M19 10v2a7 7 0 0 1-14 0v-2\"></path><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\"></line><line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\"></line></svg>`);\n}\n//#endregion\nexport { IconMic as t };\n"],"names":[],"mappings":";;AACA;AACA,SAAS,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE;AACtC;AACA;AACA,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO;AACnC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,mCAAmC,EAAE,UAAU,CAAC,CAAC,gBAAgB,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;AACzO;;ACNA;AACA,SAAS,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE;AACtC,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,OAAO;AACnD,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,uBAAuB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,sHAAsH,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,kNAAkN,CAAC,CAAC;AAC/c;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"IconStop-DKVpXPKq.js","sources":["../../../.svelte-kit/adapter-node/chunks/IconStop.js"],"sourcesContent":["import { V as attr, a as derived, n as attr_class, u as stringify } from \"./dev.js\";\nimport { f as randomId } from \"./voice-state.svelte.js\";\n//#region src/lib/chat/tool-strip.ts\nfunction valueToText$1(value) {\n\tif (typeof value === \"string\") return value;\n\tif (value == null) return \"\";\n\tif (typeof value === \"number\" || typeof value === \"boolean\") return String(value);\n\ttry {\n\t\treturn JSON.stringify(value);\n\t} catch {\n\t\treturn \"\";\n\t}\n}\nfunction firstText$1(...values) {\n\tfor (const value of values) {\n\t\tconst text = valueToText$1(value);\n\t\tif (text) return text;\n\t}\n\treturn \"\";\n}\nfunction toolStripEntryFromSessionPart(part, fallbackId) {\n\tif (part.type !== \"tool\" && !part.state) return null;\n\tconst status = part.state?.status ?? \"running\";\n\treturn {\n\t\tid: part.callID ?? part.id ?? fallbackId,\n\t\tkind: \"tool\",\n\t\ttool: part.tool ?? \"tool\",\n\t\tstatus,\n\t\ttitle: part.state?.title ?? part.tool ?? \"tool\",\n\t\tdetail: firstText$1(part.state?.input, part.state?.metadata, part.state?.progress, part.state?.output),\n\t\toutput: valueToText$1(part.state?.output),\n\t\terror: part.state?.error ?? \"\",\n\t\tupdatedAt: Date.now()\n\t};\n}\nfunction parseStructured(value) {\n\tconst trimmed = value.trim();\n\tif (!trimmed) return null;\n\tif (!(trimmed.startsWith(\"{\") && trimmed.endsWith(\"}\") || trimmed.startsWith(\"[\") && trimmed.endsWith(\"]\"))) return null;\n\ttry {\n\t\treturn JSON.parse(trimmed);\n\t} catch {\n\t\treturn null;\n\t}\n}\nfunction formatDetail(value) {\n\tconst structured = parseStructured(value);\n\treturn structured === null ? value : JSON.stringify(structured, null, 2);\n}\nfunction prettyLabel(label) {\n\tif (!label) return \"\";\n\treturn label.replace(/([a-z0-9])([A-Z])/g, \"$1 $2\").replace(/[_-]+/g, \" \").replace(/\\s+/g, \" \").trim().replace(/^./, (char) => char.toUpperCase());\n}\nfunction toolIconType(tool, status) {\n\tconst name = tool.toLowerCase();\n\tif (status === \"error\" || status === \"failed\") return \"alert\";\n\tif (name === \"step\") return status === \"completed\" ? \"done-circle\" : \"refresh\";\n\tif (name.includes(\"remember\") || name.includes(\"memory\")) return \"edit\";\n\tif (name.includes(\"help\") || name.includes(\"todo\")) return status === \"completed\" ? \"done\" : \"agent\";\n\tif (name.includes(\"bash\") || name.includes(\"shell\") || name.includes(\"command\")) return \"terminal\";\n\tif (name.includes(\"grep\") || name.includes(\"search\")) return \"search\";\n\tif (name.includes(\"read\") || name.includes(\"file\")) return \"file\";\n\tif (name.includes(\"edit\") || name.includes(\"write\") || name.includes(\"patch\")) return \"edit\";\n\tif (name.includes(\"web\") || name.includes(\"http\") || name.includes(\"fetch\")) return \"link\";\n\tif (name.includes(\"task\") || name.includes(\"agent\")) return \"agent\";\n\treturn status === \"completed\" ? \"done\" : \"clock\";\n}\nfunction timelineTitle(entry) {\n\treturn entry.kind === \"step\" ? entry.title : entry.title || entry.tool;\n}\nfunction toolKindLabel(entry) {\n\treturn entry.kind === \"step\" ? \"Step\" : \"Tool\";\n}\nfunction toolStatusLabel(status) {\n\tswitch (status) {\n\t\tcase \"completed\": return \"completed\";\n\t\tcase \"error\":\n\t\tcase \"failed\": return \"failed\";\n\t\tcase \"pending\": return \"queued\";\n\t\tdefault: return \"running\";\n\t}\n}\nfunction toolAriaLabel(entry) {\n\treturn `${toolKindLabel(entry)}: ${timelineTitle(entry)} (${toolStatusLabel(entry.status)})`;\n}\nfunction toolDetailRows(entry) {\n\tconst rows = [\n\t\t{\n\t\t\tlabel: \"Type\",\n\t\t\tvalue: toolKindLabel(entry)\n\t\t},\n\t\t{\n\t\t\tlabel: \"Name\",\n\t\t\tvalue: timelineTitle(entry)\n\t\t},\n\t\t{\n\t\t\tlabel: \"Status\",\n\t\t\tvalue: prettyLabel(toolStatusLabel(entry.status))\n\t\t}\n\t];\n\tif (entry.kind !== \"step\") rows.push({\n\t\tlabel: \"Tool ID\",\n\t\tvalue: entry.tool\n\t});\n\tif (entry.detail) rows.push({\n\t\tlabel: entry.kind === \"step\" ? \"Details\" : \"Input / Details\",\n\t\tvalue: formatDetail(entry.detail)\n\t});\n\tif (entry.output) rows.push({\n\t\tlabel: \"Output\",\n\t\tvalue: formatDetail(entry.output)\n\t});\n\tif (entry.error) rows.push({\n\t\tlabel: \"Error\",\n\t\tvalue: formatDetail(entry.error),\n\t\ttone: \"error\"\n\t});\n\treturn rows;\n}\n/** Patterns that indicate a command is carrying or referencing a secret. */\nvar SECRET_SIGNAL = /(token|secret|password|key\\s*=|key=)/i;\n/** Cleaned-first-segment prefix → friendly verb phrase. Order matters: more\n* specific prefixes must be checked before their broader siblings. */\nvar COMMAND_PHRASES = [\n\t{\n\t\tprefix: \"gh auth login\",\n\t\tphrase: \"Signed in to GitHub\"\n\t},\n\t{\n\t\tprefix: \"gh auth status\",\n\t\tphrase: \"Checked GitHub sign-in\"\n\t},\n\t{\n\t\tprefix: \"gh auth\",\n\t\tphrase: \"Set up GitHub access\"\n\t},\n\t{\n\t\tprefix: \"gh repo\",\n\t\tphrase: \"Looked up a GitHub repo\"\n\t},\n\t{\n\t\tprefix: \"gh \",\n\t\tphrase: \"Ran a GitHub command\"\n\t},\n\t{\n\t\tprefix: \"git config\",\n\t\tphrase: \"Configured git\"\n\t},\n\t{\n\t\tprefix: \"git \",\n\t\tphrase: \"Ran a git command\"\n\t},\n\t{\n\t\tprefix: \"akm add\",\n\t\tphrase: \"Added a knowledge source\"\n\t},\n\t{\n\t\tprefix: \"akm remove\",\n\t\tphrase: \"Removed a knowledge source\"\n\t},\n\t{\n\t\tprefix: \"akm \",\n\t\tphrase: \"Updated knowledge\"\n\t},\n\t{\n\t\tprefix: \"cat \",\n\t\tphrase: \"Read a file\"\n\t},\n\t{\n\t\tprefix: \"ls \",\n\t\tphrase: \"Listed files\"\n\t},\n\t{\n\t\tprefix: \"grep\",\n\t\tphrase: \"Searched files\"\n\t},\n\t{\n\t\tprefix: \"rg \",\n\t\tphrase: \"Searched files\"\n\t}\n];\n/** Strip leading `VAR=value ` env-var/token assignments repeatedly. */\nfunction stripLeadingAssignments(input) {\n\tlet out = input;\n\twhile (/^[A-Z_][A-Z0-9_]*=\\S+\\s+/.test(out)) out = out.replace(/^[A-Z_][A-Z0-9_]*=\\S+\\s+/, \"\");\n\treturn out;\n}\n/** Keep only the first command segment (before chaining/pipe operators). */\nfunction firstCommandSegment(input) {\n\tlet out = input;\n\tfor (const sep of [\n\t\t\" && \",\n\t\t\" || \",\n\t\t\" | \",\n\t\t\" ; \"\n\t]) {\n\t\tconst idx = out.indexOf(sep);\n\t\tif (idx >= 0) out = out.slice(0, idx);\n\t}\n\treturn out.trim();\n}\n/** Match a cleaned command against the friendly phrase table. */\nfunction phraseForCommand(cleaned) {\n\tconst lower = cleaned.toLowerCase();\n\tfor (const { prefix, phrase } of COMMAND_PHRASES) if (lower.startsWith(prefix)) return phrase;\n\treturn null;\n}\n/**\n* Human-readable, de-credentialed summary for a row title. Audience is\n* non-technical home users. Never throws and never returns an empty string.\n* Strips leading env-var/token assignments and refuses to surface raw commands\n* that contain secret material.\n*/\nfunction displayTitle(entry) {\n\ttry {\n\t\tif (entry.kind === \"step\") return entry.title;\n\t\tconst raw = (entry.title || entry.tool || \"\").trim();\n\t\tconst name = (entry.tool || \"\").toLowerCase();\n\t\tif (raw) {\n\t\t\tconst segment = firstCommandSegment(stripLeadingAssignments(raw));\n\t\t\tif (segment) {\n\t\t\t\tconst matched = phraseForCommand(segment);\n\t\t\t\tif (matched) return matched;\n\t\t\t\tif (SECRET_SIGNAL.test(segment)) {\n\t\t\t\t\tconst verb = segment.split(/\\s+/)[0] || \"\";\n\t\t\t\t\treturn verb ? `Ran a ${verb} command` : \"Ran a command\";\n\t\t\t\t}\n\t\t\t\tif (name.includes(\"read\") || name.includes(\"file\")) return \"Read a file\";\n\t\t\t\tif (name.includes(\"edit\") || name.includes(\"write\") || name.includes(\"patch\")) return \"Edited a file\";\n\t\t\t\tif (name.includes(\"grep\") || name.includes(\"search\")) return \"Searched\";\n\t\t\t\tif (name.includes(\"task\") || name.includes(\"agent\")) return entry.title;\n\t\t\t\treturn segment.replace(/^./, (char) => char.toUpperCase());\n\t\t\t}\n\t\t}\n\t\tif (name.includes(\"read\") || name.includes(\"file\")) return \"Read a file\";\n\t\tif (name.includes(\"edit\") || name.includes(\"write\") || name.includes(\"patch\")) return \"Edited a file\";\n\t\tif (name.includes(\"grep\") || name.includes(\"search\")) return \"Searched\";\n\t\tif (name.includes(\"task\") || name.includes(\"agent\")) return entry.title || entry.tool || \"Worked\";\n\t\treturn raw || entry.tool || \"Worked\";\n\t} catch {\n\t\treturn entry.title || entry.tool || \"Worked\";\n\t}\n}\n/**\n* Relative time label: \"just now\" (<45s), \"Nm ago\" (<60m), \"Nh ago\" (<24h),\n* \"Nd ago\" otherwise. Returns \"\" for falsy/zero timestamps and \"just now\" for\n* future timestamps.\n*/\nfunction relativeTimeLabel(updatedAt, now = Date.now()) {\n\tif (!updatedAt) return \"\";\n\tconst diff = now - updatedAt;\n\tif (diff < 0) return \"just now\";\n\tconst seconds = Math.floor(diff / 1e3);\n\tif (seconds < 45) return \"just now\";\n\tconst minutes = Math.floor(seconds / 60);\n\tif (minutes < 60) return `${minutes}m ago`;\n\tconst hours = Math.floor(minutes / 60);\n\tif (hours < 24) return `${hours}h ago`;\n\treturn `${Math.floor(hours / 24)}d ago`;\n}\n/**\n* Whether a tool entry should appear in the user-facing activity log. Filters\n* out internal todo-writer bookkeeping but never hides a failure.\n*/\nfunction isUserFacingTool(entry) {\n\tconst status = entry.status;\n\tif (status === \"error\" || status === \"failed\") return true;\n\tconst name = (entry.tool || \"\").toLowerCase();\n\tif (name === \"todowrite\" || name === \"todoread\") return false;\n\tconst label = entry.title || entry.tool || \"\";\n\tif (/^\\d+\\s+todos?$/i.test(label)) return false;\n\treturn true;\n}\n//#endregion\n//#region src/lib/chat/session-messages.ts\n/**\n* Flatten raw OpenCode session-message rows into UI `ChatEntry`s.\n*\n* Tool parts are grouped into the assistant turn that follows them (attached\n* as `toolStates` on the `ChatMessage`). If tool parts appear with no\n* following assistant text in the same OpenCode message they are emitted as a\n* single `ChatToolGroup` entry — never as N separate entries.\n*\n* Skips non-text, non-tool parts (files, reasoning, etc.). Empty-text\n* messages with no tool activity are dropped.\n*\n* Pure domain transformation (no transport) — kept next to `tool-strip.ts` so\n* the chat api client can call it and it can be unit-tested in isolation.\n*/\nfunction flattenSessionMessages(rows) {\n\tconst messages = [];\n\tfor (const row of rows) {\n\t\tconst timestamp = row.info.time?.created ?? Date.now();\n\t\tlet textBuffer = \"\";\n\t\tlet textIndex = 0;\n\t\tconst pendingToolStates = [];\n\t\tconst flushText = () => {\n\t\t\tconst text = textBuffer.trim();\n\t\t\ttextBuffer = \"\";\n\t\t\tif (!text && pendingToolStates.length === 0) return;\n\t\t\tif (text) {\n\t\t\t\tconst entry = {\n\t\t\t\t\tid: textIndex === 0 ? row.info.id : `${row.info.id}:text:${textIndex}`,\n\t\t\t\t\trole: row.info.role,\n\t\t\t\t\ttext,\n\t\t\t\t\ttimestamp\n\t\t\t\t};\n\t\t\t\tif (pendingToolStates.length > 0) {\n\t\t\t\t\tentry.toolStates = [...pendingToolStates];\n\t\t\t\t\tpendingToolStates.length = 0;\n\t\t\t\t}\n\t\t\t\tmessages.push(entry);\n\t\t\t\ttextIndex += 1;\n\t\t\t} else if (pendingToolStates.length > 0) {\n\t\t\t\tconst group = {\n\t\t\t\t\tid: `${row.info.id}:tools:${textIndex}`,\n\t\t\t\t\ttype: \"tool-group\",\n\t\t\t\t\ttoolStates: [...pendingToolStates],\n\t\t\t\t\ttimestamp\n\t\t\t\t};\n\t\t\t\tpendingToolStates.length = 0;\n\t\t\t\tmessages.push(group);\n\t\t\t\ttextIndex += 1;\n\t\t\t}\n\t\t};\n\t\trow.parts.forEach((part, index) => {\n\t\t\tif (part.type === \"text\" && part.text) {\n\t\t\t\ttextBuffer += part.text;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (part.type === \"tool\" || part.state) {\n\t\t\t\tconst toolState = toolStripEntryFromSessionPart(part, `${row.info.id}:${index}`);\n\t\t\t\tif (!toolState) return;\n\t\t\t\tpendingToolStates.push(toolState);\n\t\t\t}\n\t\t});\n\t\tflushText();\n\t}\n\treturn messages;\n}\n//#endregion\n//#region src/lib/connections/url-policy.ts\n/**\n* Browser-owned connection URL policy (Phase 3a — \"One UI, delete the split\").\n*\n* A leaf module with zero imports so both the direct transport\n* (`probeHealth()` short-circuit) and the connections form can consult it\n* without pulling in the IndexedDB store module. There is no guardian\n* `/oc`-appending helper — Guardian is a transparent OpenCode proxy now, so\n* the user provides the exact baseUrl and no path inference is performed.\n*\n* The ONLY refusal trigger: a plain-http, non-loopback connection URL is\n* refused iff the app itself runs on an https: origin. This is exactly the\n* platform mixed-content rule (an https origin cannot `fetch()` a plain-http\n* cross-origin target — the request would never leave the browser), not a\n* broader \"https or non-loopback origin\" check. Preserves:\n* - loopback TARGETS from any origin (mixed-content loopback exemption —\n* `http://127.0.0.1`/`localhost`/`::1` are \"potentially trustworthy\"),\n* - plain-http LAN targets from a loopback-origin client (the zero-TLS\n* desktop default — a `http://127.0.0.1` origin is a secure context),\n* - plain-http LAN targets from a non-loopback http ORIGIN (the LAN-served\n* tier: `rewriteLoopbackUrlForBrowserHost` in `./store.ts`).\n*/\n/** Canonical deep link to the TLS integration guide. Pinned by a test that\n* the path segment names a real file, so a docs rename breaks CI instead of\n* shipping a dead link. */\nvar TLS_GUIDE_URL = \"https://github.com/itlackey/openpalm/blob/main/docs/remote-access-tls.md\";\nfunction isLoopbackHost(hostname) {\n\treturn hostname === \"localhost\" || hostname === \"127.0.0.1\" || hostname === \"::1\" || hostname === \"[::1]\";\n}\n/** Remove legacy URL-embedded credentials before a URL reaches UI or storage. */\nfunction redactUrlUserinfo(rawUrl) {\n\ttry {\n\t\tconst url = new URL(rawUrl);\n\t\turl.username = \"\";\n\t\turl.password = \"\";\n\t\treturn url.toString().replace(/\\/$/, url.pathname === \"/\" && !rawUrl.endsWith(\"/\") ? \"\" : \"/\");\n\t} catch {\n\t\treturn rawUrl;\n\t}\n}\n/**\n* Refuse a plain-http non-loopback connection URL iff the app's own origin is\n* https: (mixed content — the request could never succeed, so refuse up front\n* with guidance instead of a generic fetch failure).\n*\n* `origin` defaults to `globalThis.location`; a null/undefined origin\n* (non-browser context — tests, SSR) always allows, since there is no browser\n* mixed-content policy to enforce there.\n*/\nfunction validateConnectionUrl(rawUrl, origin = globalThis.location ?? null) {\n\tlet url;\n\ttry {\n\t\turl = new URL(rawUrl);\n\t} catch {\n\t\treturn {\n\t\t\tok: false,\n\t\t\treason: \"invalid-url\",\n\t\t\tmessage: \"Enter a valid URL.\"\n\t\t};\n\t}\n\tif (url.protocol !== \"http:\" && url.protocol !== \"https:\") return {\n\t\tok: false,\n\t\treason: \"invalid-url\",\n\t\tmessage: \"The URL must use http:// or https://.\"\n\t};\n\tif (url.username || url.password) return {\n\t\tok: false,\n\t\treason: \"userinfo-not-allowed\",\n\t\tmessage: \"Do not put credentials in the URL. Use the Authentication fields instead.\"\n\t};\n\tif (url.protocol === \"https:\") return { ok: true };\n\tif (isLoopbackHost(url.hostname)) return { ok: true };\n\tif (origin?.protocol !== \"https:\") return { ok: true };\n\treturn {\n\t\tok: false,\n\t\treason: \"insecure-remote\",\n\t\tmessage: \"This app runs on a secure (https) origin, so browsers block plain-HTTP connections to remote servers. Use an https:// URL — see the TLS setup guide.\",\n\t\tguideUrl: TLS_GUIDE_URL\n\t};\n}\n//#endregion\n//#region src/lib/connections/store.ts\n/**\n* Browser-owned connection store (Phase 3a — \"One UI, delete the split\").\n*\n* Connection records persist behind a storage abstraction so the same store\n* logic runs over IndexedDB in the browser (offline-readable) and over an\n* in-memory backend in tests. The store API is async throughout (IndexedDB is\n* async) and keeps NO state in store-instance fields — a page reload\n* constructs a new store over the same backend and must see identical state.\n*\n* Locked/default entries are seeded from a runtime-config.json fetched from\n* the app's own origin at boot. Absent file = no default connection.\n*\n* The Connection shape is `{ id, label, baseUrl, auth }` with auth narrowed to\n* none | basic (Guardian is a transparent OpenCode proxy — Basic is the only\n* connection credential model).\n*/\nfunction rewriteLoopbackUrlForBrowserHost(rawUrl) {\n\tconst locationLike = globalThis.location;\n\tconst redactedUrl = redactUrlUserinfo(rawUrl);\n\tif (!locationLike || isLoopbackHost(locationLike.hostname)) return redactedUrl;\n\ttry {\n\t\tconst url = new URL(redactedUrl);\n\t\tif (!isLoopbackHost(url.hostname)) return redactedUrl;\n\t\turl.hostname = locationLike.hostname;\n\t\treturn url.toString();\n\t} catch {\n\t\treturn redactedUrl;\n\t}\n}\nfunction redactEntryUrl(entry) {\n\tconst baseUrl = redactUrlUserinfo(entry.baseUrl);\n\treturn baseUrl === entry.baseUrl ? entry : {\n\t\t...entry,\n\t\tbaseUrl\n\t};\n}\nfunction assertUrlHasNoUserinfo(rawUrl) {\n\tlet url;\n\ttry {\n\t\turl = new URL(rawUrl);\n\t} catch {\n\t\treturn;\n\t}\n\tif (url.username || url.password) throw new Error(\"Credentials must use the Authentication fields, not the connection URL.\");\n}\nfunction adaptRuntimeConfigForBrowser(config) {\n\treturn { connections: config.connections.map((entry) => ({\n\t\t...redactEntryUrl(entry),\n\t\tbaseUrl: entry.locked ? rewriteLoopbackUrlForBrowserHost(entry.baseUrl) : redactUrlUserinfo(entry.baseUrl)\n\t})) };\n}\nvar ACTIVE_ID_KEY = \"activeId\";\nfunction clone(value) {\n\treturn structuredClone(value);\n}\n/** In-memory storage backend — same semantics as the IndexedDB one. */\nfunction createMemoryStorage() {\n\tconst entries = /* @__PURE__ */ new Map();\n\tconst meta = /* @__PURE__ */ new Map();\n\tlet cryptoKey = null;\n\treturn {\n\t\tasync getAll() {\n\t\t\treturn [...entries.values()].map(clone);\n\t\t},\n\t\tasync get(id) {\n\t\t\tconst entry = entries.get(id);\n\t\t\treturn entry ? clone(entry) : null;\n\t\t},\n\t\tasync put(entry) {\n\t\t\tentries.set(entry.id, clone(redactEntryUrl(entry)));\n\t\t},\n\t\tasync delete(id) {\n\t\t\tentries.delete(id);\n\t\t},\n\t\tasync getMeta(key) {\n\t\t\treturn meta.get(key) ?? null;\n\t\t},\n\t\tasync setMeta(key, value) {\n\t\t\tif (value === null) meta.delete(key);\n\t\t\telse meta.set(key, value);\n\t\t},\n\t\tasync getCryptoKey() {\n\t\t\treturn cryptoKey;\n\t\t},\n\t\tasync setCryptoKey(key) {\n\t\t\tcryptoKey = key;\n\t\t}\n\t};\n}\nvar IDB_NAME = \"openpalm-ui-connections\";\nvar IDB_VERSION = 1;\nvar STORE_CONNECTIONS = \"connections\";\nvar STORE_META = \"meta\";\nvar STORE_KEYS = \"keys\";\nvar CRYPTO_KEY_ID = \"secret-store-aes-gcm-key\";\nfunction idbRequest(request) {\n\treturn new Promise((resolve, reject) => {\n\t\trequest.onsuccess = () => resolve(request.result);\n\t\trequest.onerror = () => reject(request.error ?? /* @__PURE__ */ new Error(\"IndexedDB request failed\"));\n\t});\n}\n/**\n* F11 hardening: an IDB version bump with no `onblocked` handler and no\n* `versionchange` listener can leave a boot hung forever with no error\n* surfaced anywhere. `onblocked` rejects the open promise; `onVersionChange`\n* is invoked once a successfully-opened connection later receives its OWN\n* `versionchange` event (some other tab needs an upgrade): the connection\n* closes itself immediately so it can't go on to block that upgrade in turn,\n* and the caller uses the callback to drop its cached db promise so the NEXT\n* storage operation reopens fresh.\n*/\nfunction openDatabase(onVersionChange) {\n\treturn new Promise((resolve, reject) => {\n\t\tconst request = indexedDB.open(IDB_NAME, IDB_VERSION);\n\t\trequest.onupgradeneeded = () => {\n\t\t\tconst db = request.result;\n\t\t\tif (!db.objectStoreNames.contains(STORE_CONNECTIONS)) db.createObjectStore(STORE_CONNECTIONS, { keyPath: \"id\" });\n\t\t\tif (!db.objectStoreNames.contains(STORE_META)) db.createObjectStore(STORE_META);\n\t\t\tif (!db.objectStoreNames.contains(STORE_KEYS)) db.createObjectStore(STORE_KEYS);\n\t\t};\n\t\trequest.onsuccess = () => {\n\t\t\tconst db = request.result;\n\t\t\tdb.onversionchange = () => {\n\t\t\t\tdb.close();\n\t\t\t\tonVersionChange();\n\t\t\t};\n\t\t\tresolve(db);\n\t\t};\n\t\trequest.onerror = () => reject(request.error ?? /* @__PURE__ */ new Error(\"IndexedDB open failed\"));\n\t\trequest.onblocked = () => reject(/* @__PURE__ */ new Error(\"IndexedDB upgrade blocked by another open connection (close other tabs of this app and retry)\"));\n\t});\n}\n/**\n* IndexedDB storage backend (raw IDB API, no deps). Lazily opens the database\n* on first use; each operation runs in its own short transaction.\n*/\nfunction createIndexedDbStorage() {\n\tlet db = null;\n\tconst invalidate = () => {\n\t\tdb = null;\n\t};\n\tconst database = () => {\n\t\tdb ??= openDatabase(invalidate);\n\t\treturn db;\n\t};\n\tconst store = async (name, mode) => (await database()).transaction(name, mode).objectStore(name);\n\treturn {\n\t\tasync getAll() {\n\t\t\treturn idbRequest((await store(STORE_CONNECTIONS, \"readonly\")).getAll());\n\t\t},\n\t\tasync get(id) {\n\t\t\treturn await idbRequest((await store(STORE_CONNECTIONS, \"readonly\")).get(id)) ?? null;\n\t\t},\n\t\tasync put(entry) {\n\t\t\tawait idbRequest((await store(STORE_CONNECTIONS, \"readwrite\")).put(redactEntryUrl(entry)));\n\t\t},\n\t\tasync delete(id) {\n\t\t\tawait idbRequest((await store(STORE_CONNECTIONS, \"readwrite\")).delete(id));\n\t\t},\n\t\tasync getMeta(key) {\n\t\t\treturn await idbRequest((await store(STORE_META, \"readonly\")).get(key)) ?? null;\n\t\t},\n\t\tasync setMeta(key, value) {\n\t\t\tconst metaStore = await store(STORE_META, \"readwrite\");\n\t\t\tif (value === null) await idbRequest(metaStore.delete(key));\n\t\t\telse await idbRequest(metaStore.put(value, key));\n\t\t},\n\t\tasync getCryptoKey() {\n\t\t\treturn await idbRequest((await store(STORE_KEYS, \"readonly\")).get(CRYPTO_KEY_ID)) ?? null;\n\t\t},\n\t\tasync setCryptoKey(key) {\n\t\t\tawait idbRequest((await store(STORE_KEYS, \"readwrite\")).put(key, CRYPTO_KEY_ID));\n\t\t}\n\t};\n}\nfunction createConnectionStore(options) {\n\tconst { storage } = options;\n\tasync function readEntry(id) {\n\t\tconst stored = await storage.get(id);\n\t\tif (!stored) return null;\n\t\tconst entry = redactEntryUrl(stored);\n\t\tif (entry.baseUrl !== stored.baseUrl) await storage.put(entry);\n\t\treturn entry;\n\t}\n\tasync function requireEntry(id) {\n\t\tconst entry = await readEntry(id);\n\t\tif (!entry) throw new Error(`Unknown connection: ${id}`);\n\t\treturn entry;\n\t}\n\treturn {\n\t\tasync list() {\n\t\t\tconst stored = await storage.getAll();\n\t\t\tconst entries = stored.map(redactEntryUrl);\n\t\t\tawait Promise.all(entries.map((entry, index) => entry.baseUrl === stored[index]?.baseUrl ? Promise.resolve() : storage.put(entry)));\n\t\t\treturn entries;\n\t\t},\n\t\tget(id) {\n\t\t\treturn readEntry(id);\n\t\t},\n\t\tasync add(input) {\n\t\t\tassertUrlHasNoUserinfo(input.baseUrl);\n\t\t\tconst id = input.id ?? randomId();\n\t\t\tif (await readEntry(id)) throw new Error(`Connection already exists: ${id}`);\n\t\t\tconst entry = {\n\t\t\t\t...input,\n\t\t\t\tid\n\t\t\t};\n\t\t\tawait storage.put(entry);\n\t\t\treturn clone(entry);\n\t\t},\n\t\tasync update(id, patch) {\n\t\t\tif (patch.baseUrl !== void 0) assertUrlHasNoUserinfo(patch.baseUrl);\n\t\t\tconst entry = await requireEntry(id);\n\t\t\tif (entry.locked) throw new Error(`Connection is locked (config-owned): ${id}`);\n\t\t\tconst updated = {\n\t\t\t\t...entry,\n\t\t\t\t...patch,\n\t\t\t\tid\n\t\t\t};\n\t\t\tawait storage.put(updated);\n\t\t\treturn clone(updated);\n\t\t},\n\t\tasync remove(id) {\n\t\t\tif ((await requireEntry(id)).locked) throw new Error(`Connection is locked (config-owned): ${id}`);\n\t\t\tawait storage.delete(id);\n\t\t\tif (await storage.getMeta(ACTIVE_ID_KEY) === id) await storage.setMeta(ACTIVE_ID_KEY, null);\n\t\t},\n\t\tasync setSecretRef(id, auth) {\n\t\t\tconst updated = {\n\t\t\t\t...await requireEntry(id),\n\t\t\t\tauth,\n\t\t\t\tid\n\t\t\t};\n\t\t\tawait storage.put(updated);\n\t\t\treturn clone(updated);\n\t\t},\n\t\tgetActiveId() {\n\t\t\treturn storage.getMeta(ACTIVE_ID_KEY);\n\t\t},\n\t\tasync getActive() {\n\t\t\tconst id = await storage.getMeta(ACTIVE_ID_KEY);\n\t\t\treturn id === null ? null : readEntry(id);\n\t\t},\n\t\tasync setActive(id) {\n\t\t\tawait requireEntry(id);\n\t\t\tawait storage.setMeta(ACTIVE_ID_KEY, id);\n\t\t},\n\t\tasync clearActive() {\n\t\t\tawait storage.setMeta(ACTIVE_ID_KEY, null);\n\t\t},\n\t\tasync seedFromRuntimeConfig(config) {\n\t\t\tif (!config) return;\n\t\t\tconst activeId = await storage.getMeta(ACTIVE_ID_KEY);\n\t\t\tconst configIds = new Set(config.connections.map((entry) => entry.id));\n\t\t\tfor (const existing of await storage.getAll()) {\n\t\t\t\tif (!existing.locked || configIds.has(existing.id)) continue;\n\t\t\t\tawait storage.delete(existing.id);\n\t\t\t\tif (activeId === existing.id) await storage.setMeta(ACTIVE_ID_KEY, null);\n\t\t\t}\n\t\t\tfor (const entry of config.connections) {\n\t\t\t\tconst seededEntry = redactEntryUrl(entry);\n\t\t\t\tconst existing = await readEntry(entry.id);\n\t\t\t\tif (!existing) await storage.put(clone(seededEntry));\n\t\t\t\telse if (existing.locked) {\n\t\t\t\t\tconst seeded = clone(seededEntry);\n\t\t\t\t\tconst preserveAuth = existing.auth && existing.auth.mode !== \"none\";\n\t\t\t\t\tawait storage.put(preserveAuth ? {\n\t\t\t\t\t\t...seeded,\n\t\t\t\t\t\tauth: existing.auth\n\t\t\t\t\t} : seeded);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (await storage.getMeta(ACTIVE_ID_KEY) !== null) return;\n\t\t\tconst fallback = config.connections.find((entry) => entry.isDefault);\n\t\t\tif (fallback && await storage.get(fallback.id)) await storage.setMeta(ACTIVE_ID_KEY, fallback.id);\n\t\t}\n\t};\n}\n/**\n* Fetch '/runtime-config.json' from the app's OWN origin (relative URL — the\n* static server ships the file beside the build; the app holds no other\n* trusted origin at boot). Absent (404), unreachable (offline), or malformed\n* -> null; never throws, so an offline PWA boot still reaches the stored\n* connection list.\n*/\nasync function loadRuntimeConfig(fetchImpl = globalThis.fetch) {\n\ttry {\n\t\tconst response = await fetchImpl(\"/runtime-config.json\", {\n\t\t\tmethod: \"GET\",\n\t\t\theaders: { accept: \"application/json\" },\n\t\t\tcredentials: \"omit\"\n\t\t});\n\t\tif (!response.ok) return null;\n\t\tconst parsed = await response.json();\n\t\tif (!parsed || typeof parsed !== \"object\" || !Array.isArray(parsed.connections)) return null;\n\t\treturn adaptRuntimeConfigForBrowser(parsed);\n\t} catch {\n\t\treturn null;\n\t}\n}\n//#endregion\n//#region src/lib/connections/secrets.ts\nvar META_PREFIX = \"secret:\";\nvar ENCRYPTED_MARKER = 2;\nvar AES_GCM_LENGTH = 256;\nvar IV_BYTES = 12;\n/**\n* WebCrypto's `SubtleCrypto` is secure-context-only: on a plain-http LAN origin\n* (the LAN-served tier) `crypto.subtle` is undefined, so encryption is simply\n* not available there. Callers degrade to the legacy plaintext record shape —\n* which `readMaterial` already reads — rather than throwing and blocking the\n* user from saving a credential at all.\n*/\nfunction subtleAvailable() {\n\treturn typeof crypto !== \"undefined\" && !!crypto.subtle;\n}\nfunction isEncryptedRecord(value) {\n\treturn !!value && typeof value === \"object\" && value.v === ENCRYPTED_MARKER && typeof value.iv === \"string\" && typeof value.ciphertext === \"string\";\n}\nfunction bytesToBase64(bytes) {\n\tlet binary = \"\";\n\tfor (const byte of bytes) binary += String.fromCharCode(byte);\n\treturn btoa(binary);\n}\nfunction base64ToBytes(b64) {\n\tconst binary = atob(b64);\n\tconst bytes = new Uint8Array(binary.length);\n\tfor (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i);\n\treturn bytes;\n}\nvar pendingKeys = /* @__PURE__ */ new WeakMap();\n/** Generate-once, reuse-forever non-extractable AES-GCM key for this storage backend. */\nasync function getOrCreateKey(storage) {\n\tconst existing = await storage.getCryptoKey();\n\tif (existing) return existing;\n\tlet pending = pendingKeys.get(storage);\n\tif (!pending) {\n\t\tpending = (async () => {\n\t\t\tconst key = await crypto.subtle.generateKey({\n\t\t\t\tname: \"AES-GCM\",\n\t\t\t\tlength: AES_GCM_LENGTH\n\t\t\t}, false, [\"encrypt\", \"decrypt\"]);\n\t\t\tawait storage.setCryptoKey(key);\n\t\t\treturn key;\n\t\t})();\n\t\tpendingKeys.set(storage, pending);\n\t\tpending.catch(() => {\n\t\t\tpendingKeys.delete(storage);\n\t\t});\n\t}\n\treturn pending;\n}\nasync function encryptMaterial(key, material) {\n\tconst iv = crypto.getRandomValues(new Uint8Array(IV_BYTES));\n\tconst plaintext = new TextEncoder().encode(JSON.stringify(material));\n\tconst ciphertext = new Uint8Array(await crypto.subtle.encrypt({\n\t\tname: \"AES-GCM\",\n\t\tiv\n\t}, key, plaintext));\n\treturn {\n\t\tv: ENCRYPTED_MARKER,\n\t\tiv: bytesToBase64(iv),\n\t\tciphertext: bytesToBase64(ciphertext)\n\t};\n}\nasync function decryptRecord(key, record) {\n\tconst iv = base64ToBytes(record.iv);\n\tconst ciphertext = base64ToBytes(record.ciphertext);\n\tconst plaintext = await crypto.subtle.decrypt({\n\t\tname: \"AES-GCM\",\n\t\tiv\n\t}, key, ciphertext);\n\treturn JSON.parse(new TextDecoder().decode(plaintext));\n}\nasync function writeMaterial(storage, ref, material) {\n\tif (!subtleAvailable()) {\n\t\tawait storage.setMeta(META_PREFIX + ref, JSON.stringify(material));\n\t\treturn;\n\t}\n\tconst record = await encryptMaterial(await getOrCreateKey(storage), material);\n\tawait storage.setMeta(META_PREFIX + ref, JSON.stringify(record));\n}\n/**\n* Read+decrypt a stored secret. Transparently migrates a legacy plaintext\n* record by re-encrypting it in place before returning. Returns null for a\n* missing ref or anything that can't be parsed/decrypted — the caller degrades\n* gracefully rather than throwing.\n*/\nasync function readMaterial(storage, ref) {\n\tconst raw = await storage.getMeta(META_PREFIX + ref);\n\tif (raw === null) return null;\n\tlet parsed;\n\ttry {\n\t\tparsed = JSON.parse(raw);\n\t} catch {\n\t\treturn null;\n\t}\n\tif (isEncryptedRecord(parsed)) try {\n\t\treturn await decryptRecord(await getOrCreateKey(storage), parsed);\n\t} catch {\n\t\treturn null;\n\t}\n\tconst material = parsed;\n\tif (subtleAvailable()) try {\n\t\tawait writeMaterial(storage, ref, material);\n\t} catch {}\n\treturn material;\n}\nfunction createSecretStore(storage) {\n\treturn {\n\t\tasync set(ref, material) {\n\t\t\tawait writeMaterial(storage, ref, material);\n\t\t},\n\t\tasync delete(ref) {\n\t\t\tawait storage.setMeta(META_PREFIX + ref, null);\n\t\t},\n\t\tasync resolveAuth(entry) {\n\t\t\tif (entry.auth.mode !== \"basic\" || !entry.auth.secretRef) return { mode: \"none\" };\n\t\t\tconst material = await readMaterial(storage, entry.auth.secretRef);\n\t\t\tif (!material || typeof material.password !== \"string\") return { mode: \"none\" };\n\t\t\tconst username = entry.auth.username || material.username;\n\t\t\treturn username ? {\n\t\t\t\tmode: \"basic\",\n\t\t\t\tusername,\n\t\t\t\tpassword: material.password\n\t\t\t} : {\n\t\t\t\tmode: \"basic\",\n\t\t\t\tpassword: material.password\n\t\t\t};\n\t\t},\n\t\tasync updateUsername(ref, username) {\n\t\t\tconst material = await readMaterial(storage, ref);\n\t\t\tif (!material) return;\n\t\t\tconst updated = { ...material };\n\t\t\tif (username === void 0) delete updated.username;\n\t\t\telse updated.username = username;\n\t\t\tawait writeMaterial(storage, ref, updated);\n\t\t}\n\t};\n}\n//#endregion\n//#region src/lib/chat/session-events.ts\n/**\n* SSE consumer for OpenCode's `/event` stream.\n*\n* Phase 3b (\"One UI, delete the split\"): the underlying stream is now opened by\n* the browser-owned direct transport (`$lib/connections/boot.getTransport()`\n* → `subscribeEvents(onFrame, signal)`), which talks to the active connection's\n* OpenCode/Guardian base URL directly (no host proxy, no admin cookie) and\n* REUSES this module's `parseFrame`. Reconnect/backoff, session-scoped dispatch,\n* and abort semantics stay here — the chat layer's concern, not the transport's.\n*\n* Phase D of docs/technical/multi-endpoint-session-ux.md.\n*/\nvar INITIAL_BACKOFF_MS = 1e3;\nvar MAX_BACKOFF_MS = 3e4;\n/**\n* Parse one `\\n\\n`-delimited SSE frame. Multi-line `data:` fields are\n* concatenated with `\\n` per the SSE spec. Reused by the direct transport.\n*/\nfunction parseFrame(chunk) {\n\tconst frame = {};\n\tconst dataLines = [];\n\tfor (const rawLine of chunk.split(\"\\n\")) {\n\t\tif (!rawLine || rawLine.startsWith(\":\")) continue;\n\t\tif (rawLine.startsWith(\"data:\")) dataLines.push(rawLine.replace(/^data:\\s?/, \"\"));\n\t\telse if (rawLine.startsWith(\"event:\")) frame.event = rawLine.replace(/^event:\\s?/, \"\");\n\t\telse if (rawLine.startsWith(\"id:\")) frame.id = rawLine.replace(/^id:\\s?/, \"\");\n\t}\n\tif (dataLines.length > 0) frame.data = dataLines.join(\"\\n\");\n\treturn frame;\n}\nfunction dispatch(handlers, payload) {\n\tconst info = payload.properties?.info;\n\tconst id = info?.id ?? payload.sessionID;\n\tif (!id) return;\n\tswitch (payload.type) {\n\t\tcase \"session.created\":\n\t\t\thandlers.onCreated(id);\n\t\t\treturn;\n\t\tcase \"session.updated\":\n\t\t\thandlers.onUpdated(id, {\n\t\t\t\ttitle: info?.title,\n\t\t\t\tupdatedAt: info?.time?.updated\n\t\t\t});\n\t\t\treturn;\n\t\tcase \"session.deleted\":\n\t\t\thandlers.onDeleted(id);\n\t\t\treturn;\n\t\tdefault: return;\n\t}\n}\n/**\n* Open the active connection's `/event` SSE stream (via the direct transport)\n* and dispatch session-scoped events. Returns an unsubscribe function that\n* aborts the stream and prevents reconnection.\n*\n* `onConnect` fires on the first frame of each (re)connected stream — the point\n* at which live updates are demonstrably flowing. The transport owns the fetch;\n* this loop owns exponential-backoff reconnect and abort.\n*/\nfunction subscribeSessionEvents(handlers) {\n\tlet stopped = false;\n\tlet controller = new AbortController();\n\tconst sleep = (ms) => new Promise((resolve) => {\n\t\tconst timer = setTimeout(resolve, ms);\n\t\tcontroller.signal.addEventListener(\"abort\", () => {\n\t\t\tclearTimeout(timer);\n\t\t\tresolve();\n\t\t}, { once: true });\n\t});\n\tasync function readStream() {\n\t\tlet connected = false;\n\t\tawait getTransport().subscribeEvents((event) => {\n\t\t\tif (!connected) {\n\t\t\t\tconnected = true;\n\t\t\t\thandlers.onConnect?.();\n\t\t\t}\n\t\t\tconst payload = event;\n\t\t\thandlers.onEvent?.(payload);\n\t\t\tdispatch(handlers, payload);\n\t\t}, controller.signal);\n\t}\n\t(async () => {\n\t\tlet attempt = 0;\n\t\twhile (!stopped) try {\n\t\t\tattempt++;\n\t\t\tawait readStream();\n\t\t\tattempt = 0;\n\t\t\tif (!stopped) await sleep(500);\n\t\t} catch (err) {\n\t\t\tif (stopped) return;\n\t\t\tconst error = err instanceof Error ? err : new Error(String(err));\n\t\t\tif (error.name !== \"AbortError\") {\n\t\t\t\tconsole.warn(\"[session-events] SSE error, reconnecting\", error);\n\t\t\t\thandlers.onDisconnect?.(error);\n\t\t\t}\n\t\t\tawait sleep(Math.min(INITIAL_BACKOFF_MS * 2 ** Math.max(0, attempt - 1), MAX_BACKOFF_MS));\n\t\t\tif (controller.signal.aborted && !stopped) controller = new AbortController();\n\t\t}\n\t})();\n\treturn () => {\n\t\tstopped = true;\n\t\ttry {\n\t\t\tcontroller.abort();\n\t\t} catch {}\n\t};\n}\n//#endregion\n//#region src/lib/transport/direct.ts\n/**\n* Minimal browser-owned direct transport (Phase 3a — \"One UI, delete the\n* split\").\n*\n* Talks to a connection's OpenCode/Guardian base URL directly from the\n* browser — no proxy, NO COOKIES (`credentials: 'omit'`). This is deliberately\n* small: it exposes only the calls the ui chat layer needs and REUSES ui's\n* existing SSE frame parser (`$lib/chat/session-events.ts` `parseFrame`) and\n* event envelope type (`$lib/chat/oc-events.ts` `RawEvent`) rather than\n* re-implementing them. Reconnect/backoff and session-scoped filtering are the\n* chat layer's concern, not this transport's.\n*/\nvar PROBE_TIMEOUT_MS = 5e3;\n/**\n* UTF-8-encode before base64ing: `btoa()` alone only accepts Latin-1 code\n* points and throws a synchronous `InvalidCharacterError` for any password\n* containing e.g. Cyrillic/CJK/emoji characters, before any network I/O.\n*/\nfunction base64Utf8(value) {\n\tconst bytes = new TextEncoder().encode(value);\n\tlet binary = \"\";\n\tfor (const byte of bytes) binary += String.fromCharCode(byte);\n\treturn btoa(binary);\n}\n/**\n* Build the `Authorization` header value for a resolved auth, or null for\n* `{ mode: 'none' }`. Basic username defaults to `'opencode'` (OpenCode's own\n* server default and what the host app sends).\n*/\nfunction authorizationHeader(auth) {\n\tif (auth.mode === \"basic\") return `Basic ${base64Utf8(`${auth.username ?? \"opencode\"}:${auth.password}`)}`;\n\treturn null;\n}\nfunction createDirectTransport(getConnection, resolveAuth, fetchImpl = globalThis.fetch) {\n\tfunction requireConnection() {\n\t\tconst connection = getConnection();\n\t\tif (!connection) throw new Error(\"No active connection\");\n\t\treturn connection;\n\t}\n\t/** Trailing-slash and path-prefix safe: reverse-proxied instances keep their prefix. */\n\tfunction baseFor(connection) {\n\t\treturn connection.baseUrl.replace(/\\/+$/, \"\");\n\t}\n\tasync function authHeaders(connection) {\n\t\tconst { authorization } = await resolveAuth(connection);\n\t\treturn authorization ? { authorization } : {};\n\t}\n\treturn {\n\t\tasync request(method, path, body) {\n\t\t\tconst connection = requireConnection();\n\t\t\tconst init = {\n\t\t\t\tmethod,\n\t\t\t\theaders: {\n\t\t\t\t\t...body === void 0 ? {} : { \"content-type\": \"application/json\" },\n\t\t\t\t\t...await authHeaders(connection)\n\t\t\t\t},\n\t\t\t\tcredentials: \"omit\"\n\t\t\t};\n\t\t\tif (body !== void 0) init.body = JSON.stringify(body);\n\t\t\tconst response = await fetchImpl(`${baseFor(connection)}${path}`, init);\n\t\t\tif (!response.ok) throw Object.assign(/* @__PURE__ */ new Error(`HTTP ${response.status}`), { status: response.status });\n\t\t\treturn response;\n\t\t},\n\t\tasync subscribeEvents(onFrame, signal) {\n\t\t\tconst connection = requireConnection();\n\t\t\tconst response = await fetchImpl(`${baseFor(connection)}/event`, {\n\t\t\t\tmethod: \"GET\",\n\t\t\t\theaders: {\n\t\t\t\t\taccept: \"text/event-stream\",\n\t\t\t\t\t...await authHeaders(connection)\n\t\t\t\t},\n\t\t\t\tcredentials: \"omit\",\n\t\t\t\tsignal\n\t\t\t});\n\t\t\tif (!response.ok || !response.body) throw Object.assign(/* @__PURE__ */ new Error(`SSE stream failed: HTTP ${response.status}`), { status: response.status });\n\t\t\tconst reader = response.body.getReader();\n\t\t\tconst decoder = new TextDecoder();\n\t\t\tlet buffer = \"\";\n\t\t\ttry {\n\t\t\t\twhile (true) {\n\t\t\t\t\tconst { done, value } = await reader.read();\n\t\t\t\t\tif (done) break;\n\t\t\t\t\tbuffer += decoder.decode(value, { stream: true });\n\t\t\t\t\tconst chunks = buffer.split(\"\\n\\n\");\n\t\t\t\t\tbuffer = chunks.pop() ?? \"\";\n\t\t\t\t\tfor (const chunk of chunks) {\n\t\t\t\t\t\tif (!chunk) continue;\n\t\t\t\t\t\tconst frame = parseFrame(chunk);\n\t\t\t\t\t\tif (!frame.data) continue;\n\t\t\t\t\t\tlet event;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tevent = JSON.parse(frame.data);\n\t\t\t\t\t\t} catch {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonFrame(event);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\ttry {\n\t\t\t\t\treader.releaseLock();\n\t\t\t\t} catch {}\n\t\t\t}\n\t\t},\n\t\tasync probeHealth() {\n\t\t\tconst connection = getConnection();\n\t\t\tif (!connection) return { status: \"unreachable\" };\n\t\t\tconst base = baseFor(connection);\n\t\t\tconst verdict = validateConnectionUrl(base);\n\t\t\tif (!verdict.ok && verdict.reason === \"insecure-remote\") return { status: \"insecure\" };\n\t\t\ttry {\n\t\t\t\tconst response = await fetchImpl(`${base}/`, {\n\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\theaders: await authHeaders(connection),\n\t\t\t\t\tcredentials: \"omit\",\n\t\t\t\t\tcache: \"no-store\",\n\t\t\t\t\tsignal: AbortSignal.timeout(PROBE_TIMEOUT_MS)\n\t\t\t\t});\n\t\t\t\tif (response.status === 401 || response.status === 403) return { status: \"unauthorized\" };\n\t\t\t\tif (response.ok || response.status >= 300 && response.status < 400) return { status: \"accessible\" };\n\t\t\t\treturn { status: \"unreachable\" };\n\t\t\t} catch {\n\t\t\t\treturn { status: \"unreachable\" };\n\t\t\t}\n\t\t}\n\t};\n}\n//#endregion\n//#region src/lib/connections/boot.ts\n/**\n* Browser connection boot (Phase 3b — \"One UI, delete the split\").\n*\n* One storage backend + one ConnectionStore + one SecretStore + one direct\n* transport per browsing session, created lazily on first access. The chat\n* layer (`$lib/api/chat.ts`, `$lib/chat/session-events.ts`) and the connection\n* switcher (`$lib/endpoints-state.svelte.ts`) all share these singletons so the\n* browser owns connections and talks to OpenCode/Guardian DIRECTLY — no host\n* proxy, no admin cookie.\n*\n* The transport reads the active connection SYNCHRONOUSLY from a snapshot the\n* connection store owner (`endpoints-state`) keeps in sync via\n* `setActiveConnection()`. The store's own `getActive()` is async (IndexedDB),\n* so it can't back the transport's synchronous `getConnection` directly.\n*\n* IndexedDB is the persistent backend; private-browsing modes that refuse it\n* degrade to an in-memory backend (session-only) rather than a blank page —\n* mirroring the client's `pickStorage`.\n*/\nvar store = null;\nvar secrets = null;\nvar transport = null;\n/** Synchronous snapshot of the active connection for the transport. */\nvar activeConnection = null;\n/**\n* Some private-browsing modes refuse IndexedDB entirely; degrade to a\n* session-only in-memory backend rather than a blank page (mirrors the\n* client's pickStorage).\n*/\nfunction pickStorage() {\n\ttry {\n\t\tif (typeof indexedDB !== \"undefined\") return createIndexedDbStorage();\n\t} catch {}\n\treturn createMemoryStorage();\n}\nfunction ensure() {\n\tif (store && secrets && transport) return;\n\tconst storage = pickStorage();\n\tconst connectionStore = createConnectionStore({ storage });\n\tconst secretStore = createSecretStore(storage);\n\tconst directTransport = createDirectTransport(() => activeConnection, async (connection) => {\n\t\treturn { authorization: authorizationHeader(await secretStore.resolveAuth(connection)) ?? void 0 };\n\t});\n\tstore = connectionStore;\n\tsecrets = secretStore;\n\ttransport = directTransport;\n}\nfunction getConnectionStore() {\n\tensure();\n\treturn store;\n}\nfunction getTransport() {\n\tensure();\n\treturn transport;\n}\n/**\n* Point the direct transport at `connection` (or clear it). Called by the\n* connection-store owner (`endpoints-state`) on load/activate — a plain\n* function, no `$effect`, so the transport's synchronous `getConnection`\n* always sees the current active connection.\n*/\nfunction setActiveConnection(connection) {\n\tactiveConnection = connection;\n}\n//#endregion\n//#region src/lib/api/chat.ts\n/** Create a new session on the active connection's OpenCode instance. */\nasync function createSession() {\n\treturn await (await getTransport().request(\"POST\", \"/session\", {})).json();\n}\n/**\n* List sessions on the active connection.\n*\n* OpenCode returns `Array<Session>` with no ordering guarantee; we sort\n* desc by `time.updated` here so consumers can rely on it. See\n* docs/technical/multi-endpoint-session-ux.md §2.\n*/\nasync function listSessions() {\n\tconst summaries = (await (await getTransport().request(\"GET\", \"/session\")).json()).map((s) => ({\n\t\tid: s.id,\n\t\ttitle: s.title ?? \"\",\n\t\tcreatedAt: s.time?.created ?? 0,\n\t\tupdatedAt: s.time?.updated ?? s.time?.created ?? 0\n\t}));\n\tsummaries.sort((a, b) => b.updatedAt - a.updatedAt);\n\treturn summaries;\n}\n/**\n* Fetch the messages for a session and map them to UI `ChatEntry`s.\n*\n* The part-flattening/grouping logic lives in `flattenSessionMessages`\n* (`$lib/chat/session-messages.ts`) — this client only handles transport.\n*/\nasync function getSessionMessages(sessionId) {\n\treturn flattenSessionMessages(await (await getTransport().request(\"GET\", `/session/${encodeURIComponent(sessionId)}/message`)).json());\n}\n/**\n* Send a message to an existing session and await the full response (the\n* non-streaming fallback used when the SSE event stream isn't connected).\n*/\nasync function sendChatMessage(sessionId, text) {\n\treturn await (await getTransport().request(\"POST\", `/session/${encodeURIComponent(sessionId)}/message`, { parts: [{\n\t\ttype: \"text\",\n\t\ttext\n\t}] })).json();\n}\n/** Start a turn without awaiting the reply — the SSE stream carries deltas. */\nasync function startChatMessageTurn(sessionId, text) {\n\tawait getTransport().request(\"POST\", `/session/${encodeURIComponent(sessionId)}/message`, { parts: [{\n\t\ttype: \"text\",\n\t\ttext\n\t}] });\n}\n/**\n* Abort the in-flight turn on an existing session. Best-effort from the\n* caller's perspective — OpenCode exposes this as `POST /session/{id}/abort`.\n*/\nasync function abortChatTurn(sessionId) {\n\tawait (await getTransport().request(\"POST\", `/session/${encodeURIComponent(sessionId)}/abort`, {})).text().catch(() => \"\");\n}\nasync function replyChatPermission(requestId, reply) {\n\tawait (await getTransport().request(\"POST\", `/permission/${encodeURIComponent(requestId)}/reply`, { reply })).text().catch(() => \"\");\n}\nasync function replyChatQuestion(requestId, answers) {\n\tawait (await getTransport().request(\"POST\", `/question/${encodeURIComponent(requestId)}/reply`, { answers })).text().catch(() => \"\");\n}\nasync function rejectChatQuestion(requestId) {\n\tawait (await getTransport().request(\"POST\", `/question/${encodeURIComponent(requestId)}/reject`, {})).text().catch(() => \"\");\n}\n/**\n* Probe whether the active connection is reachable. Returns true only when the\n* direct health probe reports the endpoint as accessible.\n*/\nasync function probeChatBackend() {\n\treturn (await getTransport().probeHealth()).status === \"accessible\";\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconThemeSystem.svelte\nfunction IconThemeSystem($$renderer, $$props) {\n\tlet { size = 20, class: className = \"\" } = $$props;\n\t$$renderer.push(`<svg xmlns=\"http://www.w3.org/2000/svg\"${attr(\"width\", size)}${attr(\"height\", size)} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"${attr_class(`lucide lucide-sun-moon-icon lucide-sun-moon s-icon ${stringify(className)}`)}><path d=\"M12 2v2\"></path><path d=\"M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715\"></path><path d=\"M16 12a4 4 0 0 0-4-4\"></path><path d=\"m19 5-1.256 1.256\"></path><path d=\"M20 12h2\"></path></svg>`);\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconThemeLight.svelte\nfunction IconThemeLight($$renderer, $$props) {\n\tlet { size = 20, class: className = \"\" } = $$props;\n\t$$renderer.push(`<svg aria-hidden=\"true\"${attr(\"width\", size)}${attr(\"height\", size)} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"${attr_class(`s-icon ${stringify(className)}`)}><circle cx=\"12\" cy=\"12\" r=\"4\"></circle><path d=\"M12 2.5v2.2M12 19.3v2.2M4.6 4.6l1.6 1.6M17.8 17.8l1.6 1.6M2.5 12h2.2M19.3 12h2.2M19.4 4.6l-1.6 1.6M6.2 17.8l-1.6 1.6\"></path></svg>`);\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconThemeDark.svelte\nfunction IconThemeDark($$renderer, $$props) {\n\tlet { size = 20, class: className = \"\" } = $$props;\n\t$$renderer.push(`<svg aria-hidden=\"true\"${attr(\"width\", size)}${attr(\"height\", size)} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"${attr_class(`s-icon ${stringify(className)}`)}><path d=\"M21 12.8A9 9 0 1 1 11.2 3 7 7 0 0 0 21 12.8z\"></path></svg>`);\n}\n//#endregion\n//#region src/lib/chat/oc-events.ts\nfunction propStr(props, key) {\n\tconst value = props?.[key];\n\treturn typeof value === \"string\" ? value : void 0;\n}\nfunction partSnapshotType(event) {\n\tif (event.type !== \"message.part.updated\") return null;\n\tconst part = event.properties?.part;\n\tif (typeof part?.id === \"string\" && typeof part.type === \"string\") return {\n\t\tpartID: part.id,\n\t\ttype: part.type\n\t};\n\treturn null;\n}\nfunction extractTextDelta(event, sessionId, reasoningPartIds) {\n\tconst props = event.properties ?? {};\n\tif (propStr(props, \"sessionID\") !== sessionId) return null;\n\tif (event.type === \"session.next.text.delta\") return propStr(props, \"delta\") ?? propStr(props, \"text\") ?? null;\n\tif (event.type === \"message.part.delta\") {\n\t\tconst field = propStr(props, \"field\");\n\t\tif (field && field !== \"text\") return null;\n\t\tconst partID = propStr(props, \"partID\");\n\t\tif (partID && reasoningPartIds?.has(partID)) return null;\n\t\treturn propStr(props, \"delta\") ?? null;\n\t}\n\treturn null;\n}\nfunction statusName(status) {\n\tif (typeof status === \"string\") return status;\n\tif (status && typeof status === \"object\" && typeof status.type === \"string\") return status.type;\n}\nfunction isTurnEnd(event, sessionId) {\n\tconst props = event.properties ?? {};\n\tif (propStr(props, \"sessionID\") !== sessionId) return false;\n\tif (event.type === \"session.idle\") return true;\n\tif (event.type === \"session.status\") {\n\t\tconst name = statusName(props.status);\n\t\treturn name === \"idle\" || name === \"completed\" || name === \"done\";\n\t}\n\treturn false;\n}\nfunction valueToText(value) {\n\tif (typeof value === \"string\") return value;\n\tif (value == null) return void 0;\n\tif (typeof value === \"number\" || typeof value === \"boolean\") return String(value);\n\ttry {\n\t\treturn JSON.stringify(value);\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction firstText(...values) {\n\tfor (const value of values) {\n\t\tconst text = valueToText(value);\n\t\tif (text) return text;\n\t}\n}\nfunction extractToolUpdate(event, sessionId) {\n\tconst props = event.properties ?? {};\n\tif (propStr(props, \"sessionID\") !== sessionId) return null;\n\tconst part = props.part ?? props.tool;\n\tif (event.type === \"message.part.updated\" && part && (part.type === \"tool\" || part.state)) {\n\t\tconst state = part.state ?? {};\n\t\treturn {\n\t\t\tcallID: String(part.callID ?? part.id ?? \"\"),\n\t\t\ttool: String(part.tool ?? \"tool\"),\n\t\t\tstatus: String(state.status ?? \"running\"),\n\t\t\ttitle: typeof state.title === \"string\" ? state.title : void 0,\n\t\t\tdetail: firstText(state.input, state.metadata, state.progress, state.output),\n\t\t\toutput: valueToText(state.output),\n\t\t\terror: typeof state.error === \"string\" ? state.error : void 0\n\t\t};\n\t}\n\tif (event.type.startsWith(\"session.next.tool.\")) {\n\t\tconst type = event.type.replace(\"session.next.tool.\", \"\");\n\t\treturn {\n\t\t\tcallID: propStr(props, \"callID\") ?? \"\",\n\t\t\ttool: propStr(props, \"tool\") ?? \"tool\",\n\t\t\tstatus: type === \"completed\" ? \"completed\" : type === \"failed\" ? \"error\" : type === \"called\" ? \"running\" : propStr(props, \"status\") ?? \"running\",\n\t\t\ttitle: propStr(props, \"title\") ?? propStr(props, \"tool\"),\n\t\t\tdetail: firstText(props.message, props.delta, props.progress, props.input, props.metadata),\n\t\t\toutput: firstText(props.output, props.result),\n\t\t\terror: firstText(props.error)\n\t\t};\n\t}\n\treturn null;\n}\nfunction isSessionError(event, sessionId) {\n\treturn event.type === \"session.error\" && propStr(event.properties, \"sessionID\") === sessionId;\n}\nfunction extractPermissionAsk(event, sessionId) {\n\tif (event.type !== \"permission.asked\") return null;\n\tif (propStr(event.properties, \"sessionID\") !== sessionId) return null;\n\tconst id = propStr(event.properties, \"id\");\n\tif (!id) return null;\n\tconst patterns = Array.isArray(event.properties?.patterns) ? event.properties.patterns.filter((item) => typeof item === \"string\") : [];\n\tconst always = Array.isArray(event.properties?.always) ? event.properties.always.filter((item) => typeof item === \"string\") : [];\n\tconst toolRecord = event.properties?.tool;\n\treturn {\n\t\trequestID: id,\n\t\tpermission: propStr(event.properties, \"permission\") ?? \"tool\",\n\t\tpatterns,\n\t\talways,\n\t\ttool: propStr(toolRecord, \"callID\") ?? propStr(event.properties, \"permission\") ?? \"tool\",\n\t\tdetail: firstText(event.properties?.metadata, event.properties?.message) ?? \"\"\n\t};\n}\nfunction extractQuestionAsk(event, sessionId) {\n\tif (event.type !== \"question.asked\") return null;\n\tif (propStr(event.properties, \"sessionID\") !== sessionId) return null;\n\tconst id = propStr(event.properties, \"id\");\n\tif (!id) return null;\n\tconst rawQuestions = Array.isArray(event.properties?.questions) ? event.properties.questions : [];\n\tconst questions = [];\n\tfor (const raw of rawQuestions) {\n\t\tconst item = raw;\n\t\tconst options = Array.isArray(item.options) ? item.options.map((option) => option).filter((option) => typeof option.label === \"string\").map((option) => ({\n\t\t\tlabel: option.label,\n\t\t\tdescription: typeof option.description === \"string\" ? option.description : \"\"\n\t\t})) : [];\n\t\tquestions.push({\n\t\t\tquestion: typeof item.question === \"string\" ? item.question : \"\",\n\t\t\theader: typeof item.header === \"string\" ? item.header : \"\",\n\t\t\toptions\n\t\t});\n\t}\n\tif (questions.length === 0) return null;\n\treturn {\n\t\trequestID: id,\n\t\tquestions\n\t};\n}\nfunction extractStepUpdate(event, sessionId) {\n\tconst props = event.properties ?? {};\n\tif (propStr(props, \"sessionID\") !== sessionId) return null;\n\tif (event.type !== \"session.next.step.started\" && event.type !== \"session.next.step.ended\") return null;\n\treturn {\n\t\tid: propStr(props, \"stepID\") ?? propStr(props, \"id\") ?? event.type,\n\t\ttitle: propStr(props, \"title\") ?? propStr(props, \"step\") ?? (event.type === \"session.next.step.started\" ? \"Working\" : \"Step complete\"),\n\t\tstatus: event.type === \"session.next.step.ended\" ? \"completed\" : \"running\",\n\t\tdetail: firstText(props.detail, props.message)\n\t};\n}\nglobalThis.Date;\nvar SvelteSet = globalThis.Set;\nvar SvelteMap = globalThis.Map;\nglobalThis.URL;\nglobalThis.URLSearchParams;\n//#endregion\n//#region src/lib/desktop-notifications.ts\nvar DESKTOP_NOTIFY_ENABLED_KEY = \"openpalm.desktop.notify\";\nvar DESKTOP_NOTIFY_PREVIEW_KEY = \"openpalm.desktop.notify.preview\";\nfunction readFlag(key) {\n\tif (typeof window === \"undefined\") return false;\n\ttry {\n\t\treturn window.localStorage.getItem(key) === \"1\";\n\t} catch {\n\t\treturn false;\n\t}\n}\nfunction desktopNotifyEnabled() {\n\treturn readFlag(DESKTOP_NOTIFY_ENABLED_KEY);\n}\nfunction desktopReplyPreviewEnabled() {\n\treturn readFlag(DESKTOP_NOTIFY_PREVIEW_KEY);\n}\nfunction shouldNotifyDesktop() {\n\tif (typeof document === \"undefined\") return false;\n\tif (document.hasFocus()) return false;\n\tif (!desktopNotifyEnabled()) return false;\n\treturn typeof window !== \"undefined\" && typeof window.openpalm?.notify === \"function\";\n}\nfunction notifyAssistantReply(replyText) {\n\tif (!shouldNotifyDesktop()) return;\n\tconst body = desktopReplyPreviewEnabled() && replyText.trim() ? replyText.trim() : \"Assistant replied\";\n\twindow.openpalm?.notify?.(\"OpenPalm\", body);\n}\nfunction notifyAssistantError() {\n\tif (!shouldNotifyDesktop()) return;\n\twindow.openpalm?.notify?.(\"OpenPalm\", \"Assistant error\");\n}\n//#endregion\n//#region src/lib/connection-events.ts\nvar listeners = /* @__PURE__ */ new Set();\nvar guards = /* @__PURE__ */ new Set();\n/** Subscribe to connection activation. Returns an unsubscribe function. */\nfunction onConnectionActivated(listener) {\n\tlisteners.add(listener);\n\treturn () => {\n\t\tlisteners.delete(listener);\n\t};\n}\n/**\n* Register a pre-switch veto. Return a user-facing reason string to block\n* the switch, or null to allow it. Returns an unregister function.\n*/\nfunction registerActivationGuard(guard) {\n\tguards.add(guard);\n\treturn () => {\n\t\tguards.delete(guard);\n\t};\n}\n/** First non-null guard reason blocks the switch; null means proceed. */\nfunction activationBlockReason() {\n\tfor (const guard of guards) {\n\t\tconst reason = guard();\n\t\tif (reason) return reason;\n\t}\n\treturn null;\n}\n/**\n* Notify subscribers that `connectionId` is now active. Awaited by the\n* emitter: activation is not complete until every subscriber's handoff\n* (e.g. the chat store loading the connection's sessions) has settled.\n*/\nasync function emitConnectionActivated(connectionId) {\n\tfor (const listener of listeners) await listener(connectionId);\n}\n//#endregion\n//#region src/lib/endpoints-state.svelte.ts\nfunction toView(c) {\n\treturn {\n\t\t...c,\n\t\turl: c.baseUrl,\n\t\tisDefault: Boolean(c.isDefault || c.locked),\n\t\thasPassword: c.auth.mode === \"basic\"\n\t};\n}\nvar ConnectionsService = class {\n\tendpoints = [];\n\tactiveId = \"\";\n\tloading = false;\n\tloaded = false;\n\terror = \"\";\n\t/** Runtime-config seed runs exactly once per browsing session. */\n\tseeded = false;\n\t#active = derived(() => this.endpoints.find((e) => e.id === this.activeId) ?? this.endpoints[0] ?? null);\n\tget active() {\n\t\treturn this.#active();\n\t}\n\tset active($$value) {\n\t\treturn this.#active($$value);\n\t}\n\tasync load(force = false) {\n\t\tif (this.loading) return;\n\t\tif (this.loaded && !force) return;\n\t\tthis.loading = true;\n\t\tthis.error = \"\";\n\t\ttry {\n\t\t\tconst store = getConnectionStore();\n\t\t\tif (!this.seeded) {\n\t\t\t\tthis.seeded = true;\n\t\t\t\tawait store.seedFromRuntimeConfig(await loadRuntimeConfig());\n\t\t\t}\n\t\t\tconst [connections, storedActiveId] = await Promise.all([store.list(), store.getActiveId()]);\n\t\t\tthis.endpoints = connections.map(toView);\n\t\t\tthis.activeId = storedActiveId ?? this.endpoints[0]?.id ?? \"\";\n\t\t\tsetActiveConnection(connections.find((c) => c.id === this.activeId) ?? null);\n\t\t\tthis.loaded = true;\n\t\t} catch (e) {\n\t\t\tconst err = e;\n\t\t\tthis.error = err.message ?? \"Failed to load connections\";\n\t\t} finally {\n\t\t\tthis.loading = false;\n\t\t}\n\t}\n\t/** Monotonic activation counter: a failed activation may only roll state\n\t* back if no NEWER activation has started since (otherwise a slow failure\n\t* would clobber the selection a later, successful switch just persisted). */\n\tactivationSeq = 0;\n\tasync activate(id) {\n\t\tif (id === this.activeId) return;\n\t\tconst blocked = activationBlockReason();\n\t\tif (blocked) {\n\t\t\tthis.error = blocked;\n\t\t\tthrow new Error(blocked);\n\t\t}\n\t\tconst seq = ++this.activationSeq;\n\t\tconst previous = this.activeId;\n\t\tconst previousConnection = this.endpoints.find((e) => e.id === previous) ?? null;\n\t\tthis.activeId = id;\n\t\tconst store = getConnectionStore();\n\t\ttry {\n\t\t\tawait store.setActive(id);\n\t\t\tsetActiveConnection(await store.get(id) ?? null);\n\t\t\tawait emitConnectionActivated(id);\n\t\t} catch (e) {\n\t\t\tif (seq === this.activationSeq) {\n\t\t\t\tthis.activeId = previous;\n\t\t\t\tif (previousConnection) {\n\t\t\t\t\tawait store.setActive(previous).catch(() => {});\n\t\t\t\t\tsetActiveConnection(previousConnection);\n\t\t\t\t} else {\n\t\t\t\t\tawait store.clearActive().catch(() => {});\n\t\t\t\t\tsetActiveConnection(null);\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst err = e;\n\t\t\tthis.error = err.message ?? \"Failed to switch connection\";\n\t\t\tthrow e;\n\t\t}\n\t}\n};\nvar endpointsService = new ConnectionsService();\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconClose.svelte\nfunction IconClose($$renderer, $$props) {\n\tlet { size = 20, class: className = \"\" } = $$props;\n\t$$renderer.push(`<svg aria-hidden=\"true\"${attr(\"width\", size)}${attr(\"height\", size)} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"${attr_class(`s-icon ${stringify(className)}`)}><path d=\"M18 6 6 18\"></path><path d=\"m6 6 12 12\"></path></svg>`);\n}\n//#endregion\n//#region ../ui-kit/src/lib/actions/focus-trap.ts\n/**\n* Shared modal focus-trap primitives (WCAG 2.4.3 / APG dialog pattern).\n*\n* A REAL kit-internal module — NOT an app-provided `$lib` contract. Drawer.svelte\n* and any future kit dialog import it by relative path, and it is re-exported to\n* consuming apps via the `./actions/*` package.json subpath for direct use.\n*\n* Use `createFocusTrap` as a Svelte attachment on the dialog panel and\n* `handleTrapKeydown` as its `onkeydown` handler.\n*/\n/** Selector matching every natively focusable / tabbable element. */\nvar FOCUSABLE = \"a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\\\"-1\\\"])\";\n/** Collect the visible, tabbable descendants of `root`, in document order. */\nfunction focusables(root) {\n\treturn Array.from(root.querySelectorAll(FOCUSABLE)).filter((el) => !el.hasAttribute(\"hidden\") && el.getAttribute(\"aria-hidden\") !== \"true\");\n}\n/**\n* Build a Svelte attachment that, when it runs, remembers the currently focused\n* element and moves focus inside `node`; when it is cleaned up, it restores\n* focus to the remembered element so keyboard / SR users are never dropped to\n* `<body>`.\n*/\nfunction createFocusTrap(options = {}) {\n\treturn (node) => {\n\t\tif (options.active === false) return;\n\t\tconst previouslyFocused = document.activeElement;\n\t\tconst container = options.initialFocus ? node.querySelector(options.initialFocus) : null;\n\t\t((container && focusables(container)[0]) ?? focusables(node)[0] ?? node).focus();\n\t\treturn () => {\n\t\t\tif (options.deferRestore) requestAnimationFrame(() => previouslyFocused?.focus?.());\n\t\t\telse previouslyFocused?.focus?.();\n\t\t};\n\t};\n}\n//#endregion\n//#region src/lib/format-date.ts\nvar TIME_FMT = new Intl.DateTimeFormat(void 0, {\n\thour: \"numeric\",\n\tminute: \"2-digit\"\n});\nvar DATE_TIME_FMT = new Intl.DateTimeFormat(void 0, {\n\tyear: \"numeric\",\n\tmonth: \"short\",\n\tday: \"numeric\",\n\thour: \"numeric\",\n\tminute: \"2-digit\"\n});\n/** Time of day, e.g. \"3:42 PM\" (locale-aware). Empty string for a falsy input. */\nfunction formatTime(ts) {\n\tif (!ts) return \"\";\n\treturn TIME_FMT.format(ts);\n}\n/**\n* Absolute date + time, e.g. \"Jun 7, 2026, 3:42 PM\". Use for tooltips / full\n* context where a relative label alone is ambiguous. Empty for a falsy input.\n*/\nfunction formatDateTime(ts) {\n\tif (!ts) return \"\";\n\treturn DATE_TIME_FMT.format(ts);\n}\n/**\n* Absolute date + time from a date string (ISO-8601 or anything `Date` accepts),\n* rendered with the runtime locale via `toLocaleString()`. Unlike the epoch-ms\n* helpers above, this takes the string shape returned by admin/AKM endpoints.\n* Returns `fallback` (default em dash) for null/empty or unparseable input.\n*/\nfunction formatDate(value, fallback = \"—\") {\n\tif (!value) return fallback;\n\tconst d = new Date(value);\n\treturn Number.isNaN(d.getTime()) ? fallback : d.toLocaleString();\n}\n/**\n* Human-readable byte size, e.g. \"512 B\", \"1.5 KB\", \"2.0 MB\". Scales through\n* B/KB/MB/GB/TB (binary, 1024-based) with adaptive precision: whole numbers for\n* bytes and for values ≥ 10, one decimal otherwise. Em dash for non-finite input.\n*/\nfunction formatBytes(bytes) {\n\tif (!Number.isFinite(bytes)) return \"—\";\n\tconst units = [\n\t\t\"B\",\n\t\t\"KB\",\n\t\t\"MB\",\n\t\t\"GB\",\n\t\t\"TB\"\n\t];\n\tlet value = bytes;\n\tlet i = 0;\n\twhile (value >= 1024 && i < units.length - 1) {\n\t\tvalue /= 1024;\n\t\ti += 1;\n\t}\n\treturn `${value.toFixed(value >= 10 || i === 0 ? 0 : 1)} ${units[i]}`;\n}\n/**\n* Compact relative time, e.g. \"just now\", \"5m ago\", \"yesterday\", \"3w ago\".\n* Empty string for a falsy input. No date-fns dependency — that would be ~30 KB\n* for these few cases.\n*/\nfunction formatRelativeTime(ts) {\n\tif (!ts) return \"\";\n\tconst diffSec = Math.max(0, (Date.now() - ts) / 1e3);\n\tif (diffSec < 60) return \"just now\";\n\tconst min = Math.floor(diffSec / 60);\n\tif (min < 60) return `${min}m ago`;\n\tconst hr = Math.floor(min / 60);\n\tif (hr < 24) return `${hr}h ago`;\n\tconst day = Math.floor(hr / 24);\n\tif (day === 1) return \"yesterday\";\n\tif (day < 7) return `${day}d ago`;\n\tconst wk = Math.floor(day / 7);\n\tif (wk < 5) return `${wk}w ago`;\n\tconst mo = Math.floor(day / 30);\n\tif (mo < 12) return `${mo}mo ago`;\n\treturn `${Math.floor(day / 365)}y ago`;\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconStop.svelte\nfunction IconStop($$renderer, $$props) {\n\tlet { size = 20, class: className = \"\" } = $$props;\n\t$$renderer.push(`<svg aria-hidden=\"true\"${attr(\"width\", size)}${attr(\"height\", size)} viewBox=\"0 0 24 24\"${attr_class(`s-icon ${stringify(className)}`)}><rect fill=\"currentColor\" stroke=\"none\" x=\"7\" y=\"7\" width=\"10\" height=\"10\" rx=\"1.4\"></rect></svg>`);\n}\n//#endregion\nexport { createSession as A, subscribeSessionEvents as B, isSessionError as C, IconThemeLight as D, IconThemeDark as E, replyChatPermission as F, relativeTimeLabel as G, validateConnectionUrl as H, replyChatQuestion as I, toolDetailRows as J, timelineTitle as K, sendChatMessage as L, listSessions as M, probeChatBackend as N, IconThemeSystem as O, rejectChatQuestion as P, startChatMessageTurn as R, extractToolUpdate as S, partSnapshotType as T, displayTitle as U, isLoopbackHost as V, isUserFacingTool as W, toolKindLabel as X, toolIconType as Y, toolStatusLabel as Z, SvelteSet as _, formatRelativeTime as a, extractStepUpdate as b, IconClose as c, registerActivationGuard as d, desktopNotifyEnabled as f, SvelteMap as g, notifyAssistantReply as h, formatDateTime as i, getSessionMessages as j, abortChatTurn as k, endpointsService as l, notifyAssistantError as m, formatBytes as n, formatTime as o, desktopReplyPreviewEnabled as p, toolAriaLabel as q, formatDate as r, createFocusTrap as s, IconStop as t, onConnectionActivated as u, extractPermissionAsk as v, isTurnEnd as w, extractTextDelta as x, extractQuestionAsk as y, getTransport as z };\n"],"names":[],"mappings":"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"}
@@ -1,91 +0,0 @@
1
- import { F as head, d as attr, s as escape_html, q as ensure_array_like, e as attr_class, p as derived } from './dev-D85DamNs.js';
2
- import 'node:module';
3
- import { h as hasCapability, a as runtimeContext } from './runtime-context.svelte-CRT-b6Ae.js';
4
- import { i as endpointsService } from './IconStop-DKVpXPKq.js';
5
- import './client-HEAniq5u.js';
6
- import { C as ChatNavbar } from './ChatNavbar-CJYo_Hbc.js';
7
- import { I as IconLock } from './IconLock-Bz5zHCBQ.js';
8
- import './voice-state.svelte-CSmyLPRH.js';
9
- import './speakable-text-BflxDDdY.js';
10
- import './exports2-BjzhbhYA.js';
11
- import './utils-OXHIhUb5.js';
12
- import './internal-BNSUwl-r.js';
13
- import './chunk-DOvWTNp_.js';
14
- import './paths-BVdkvR9U.js';
15
- import './environment-BYp8JQYM.js';
16
- import './state2-CS9rhust.js';
17
- import './IconServer-DkywyVFu.js';
18
- import './IconLogo-BRmPVDI_.js';
19
- import './IconSoundOn-DoAiK-qp.js';
20
- import './IconMic-BbjkE_nG.js';
21
-
22
- //#endregion
23
- //#region src/routes/connections/+page.svelte
24
- function _page($$renderer, $$props) {
25
- $$renderer.component(($$renderer) => {
26
- let deletingId = null;
27
- const connections = derived(() => endpointsService.endpoints);
28
- const active = derived(() => endpointsService.active);
29
- const hostRoute = derived(() => hasCapability("host:stack:read") ? runtimeContext.routes.host : void 0);
30
- const exitRoute = derived(() => hostRoute() ?? runtimeContext.routes.chat ?? "/chat");
31
- const exitLabel = derived(() => hostRoute() ? "Back to Admin" : "Back to Chat");
32
- head("xxtt2y", $$renderer, ($$renderer) => {
33
- $$renderer.title(($$renderer) => {
34
- $$renderer.push(`<title>Connections — OpenPalm</title>`);
35
- });
36
- });
37
- ChatNavbar($$renderer);
38
- $$renderer.push(`<!----> <main class="page svelte-xxtt2y"><header class="page-header svelte-xxtt2y"><a class="back-link svelte-xxtt2y"${attr("href", exitRoute())}${attr("aria-label", exitLabel())}>← ${escape_html(exitLabel())}</a> <h1 class="svelte-xxtt2y">Connections</h1> <p class="lede svelte-xxtt2y">Connect to local or remote OpenPalm assistants. The <strong>Default</strong> entry comes
39
- from the environment (set by the launcher) and cannot be deleted. Add more connections to
40
- switch between assistants at any time.</p></header> `);
41
- if (endpointsService.error) {
42
- $$renderer.push("<!--[0-->");
43
- $$renderer.push(`<div class="alert error svelte-xxtt2y" role="alert">${escape_html(endpointsService.error)}</div>`);
44
- } else $$renderer.push("<!--[-1-->");
45
- $$renderer.push(`<!--]--> <section class="connections-list svelte-xxtt2y" aria-label="Configured connections"><!--[-->`);
46
- const each_array = ensure_array_like(connections());
47
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
48
- let conn = each_array[$$index];
49
- $$renderer.push(`<article${attr_class("connection-card svelte-xxtt2y", void 0, { "active": conn.id === active()?.id })}><div class="connection-main svelte-xxtt2y"><div class="connection-title svelte-xxtt2y"><span class="connection-label svelte-xxtt2y">${escape_html(conn.label)}</span> `);
50
- if (conn.isDefault) {
51
- $$renderer.push("<!--[0-->");
52
- $$renderer.push(`<span class="badge default svelte-xxtt2y">Default</span>`);
53
- } else $$renderer.push("<!--[-1-->");
54
- $$renderer.push(`<!--]--> `);
55
- if (conn.id === active()?.id) {
56
- $$renderer.push("<!--[0-->");
57
- $$renderer.push(`<span class="badge active svelte-xxtt2y">Active</span>`);
58
- } else $$renderer.push("<!--[-1-->");
59
- $$renderer.push(`<!--]--> `);
60
- if (conn.hasPassword) {
61
- $$renderer.push("<!--[0-->");
62
- $$renderer.push(`<span class="badge password svelte-xxtt2y" title="Server password configured">`);
63
- IconLock($$renderer, { size: 11 });
64
- $$renderer.push(`<!----></span>`);
65
- } else $$renderer.push("<!--[-1-->");
66
- $$renderer.push(`<!--]--></div> <div class="connection-url svelte-xxtt2y">${escape_html(conn.url)}</div></div> <div class="connection-actions svelte-xxtt2y">`);
67
- if (conn.id !== active()?.id) {
68
- $$renderer.push("<!--[0-->");
69
- $$renderer.push(`<button type="button" class="btn btn-primary btn-sm">Use this</button>`);
70
- } else $$renderer.push("<!--[-1-->");
71
- $$renderer.push(`<!--]--> `);
72
- if (!conn.isDefault) {
73
- $$renderer.push("<!--[0-->");
74
- $$renderer.push(`<button type="button" class="btn btn-secondary btn-sm">Edit</button> <button type="button" class="btn btn-danger btn-sm svelte-xxtt2y"${attr("disabled", deletingId === conn.id, true)}>${escape_html(deletingId === conn.id ? "Removing…" : "Remove")}</button>`);
75
- } else $$renderer.push("<!--[-1-->");
76
- $$renderer.push(`<!--]--></div></article>`);
77
- }
78
- $$renderer.push(`<!--]--></section> `);
79
- $$renderer.push("<!--[0-->");
80
- $$renderer.push(`<div class="toolbar-row svelte-xxtt2y"><button type="button" class="btn btn-primary">+ Add connection</button> `);
81
- if (hasCapability("host:stack:write")) {
82
- $$renderer.push("<!--[0-->");
83
- $$renderer.push(`<button type="button" class="btn btn-secondary">Pair a device</button>`);
84
- } else $$renderer.push("<!--[-1-->");
85
- $$renderer.push(`<!--]--></div>`);
86
- $$renderer.push(`<!--]--></main>`);
87
- });
88
- }
89
-
90
- export { _page as default };
91
- //# sourceMappingURL=_page.svelte-BcpGl-vl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_page.svelte-BcpGl-vl.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/connections/_page.svelte.js"],"sourcesContent":["import { U as escape_html, V as attr, a as derived, n as attr_class, o as ensure_array_like, s as head } from \"../../../chunks/dev.js\";\nimport \"../../../chunks/index-server.js\";\nimport { a as runtimeContext, t as hasCapability } from \"../../../chunks/runtime-context.svelte.js\";\nimport { l as endpointsService } from \"../../../chunks/IconStop.js\";\nimport \"../../../chunks/client.js\";\nimport \"../../../chunks/state2.js\";\nimport \"../../../chunks/navigation.js\";\nimport { t as ChatNavbar } from \"../../../chunks/ChatNavbar.js\";\nimport { t as IconLock } from \"../../../chunks/IconLock.js\";\n//#endregion\n//#region src/routes/connections/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet deletingId = null;\n\t\tconst connections = derived(() => endpointsService.endpoints);\n\t\tconst active = derived(() => endpointsService.active);\n\t\tconst hostRoute = derived(() => hasCapability(\"host:stack:read\") ? runtimeContext.routes.host : void 0);\n\t\tconst exitRoute = derived(() => hostRoute() ?? runtimeContext.routes.chat ?? \"/chat\");\n\t\tconst exitLabel = derived(() => hostRoute() ? \"Back to Admin\" : \"Back to Chat\");\n\t\thead(\"xxtt2y\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Connections — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tChatNavbar($$renderer, {});\n\t\t$$renderer.push(`<!----> <main class=\"page svelte-xxtt2y\"><header class=\"page-header svelte-xxtt2y\"><a class=\"back-link svelte-xxtt2y\"${attr(\"href\", exitRoute())}${attr(\"aria-label\", exitLabel())}>← ${escape_html(exitLabel())}</a> <h1 class=\"svelte-xxtt2y\">Connections</h1> <p class=\"lede svelte-xxtt2y\">Connect to local or remote OpenPalm assistants. The <strong>Default</strong> entry comes\n from the environment (set by the launcher) and cannot be deleted. Add more connections to\n switch between assistants at any time.</p></header> `);\n\t\tif (endpointsService.error) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"alert error svelte-xxtt2y\" role=\"alert\">${escape_html(endpointsService.error)}</div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> <section class=\"connections-list svelte-xxtt2y\" aria-label=\"Configured connections\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(connections());\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet conn = each_array[$$index];\n\t\t\t$$renderer.push(`<article${attr_class(\"connection-card svelte-xxtt2y\", void 0, { \"active\": conn.id === active()?.id })}><div class=\"connection-main svelte-xxtt2y\"><div class=\"connection-title svelte-xxtt2y\"><span class=\"connection-label svelte-xxtt2y\">${escape_html(conn.label)}</span> `);\n\t\t\tif (conn.isDefault) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"badge default svelte-xxtt2y\">Default</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (conn.id === active()?.id) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"badge active svelte-xxtt2y\">Active</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (conn.hasPassword) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"badge password svelte-xxtt2y\" title=\"Server password configured\">`);\n\t\t\t\tIconLock($$renderer, { size: 11 });\n\t\t\t\t$$renderer.push(`<!----></span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div> <div class=\"connection-url svelte-xxtt2y\">${escape_html(conn.url)}</div></div> <div class=\"connection-actions svelte-xxtt2y\">`);\n\t\t\tif (conn.id !== active()?.id) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-primary btn-sm\">Use this</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (!conn.isDefault) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-secondary btn-sm\">Edit</button> <button type=\"button\" class=\"btn btn-danger btn-sm svelte-xxtt2y\"${attr(\"disabled\", deletingId === conn.id, true)}>${escape_html(deletingId === conn.id ? \"Removing…\" : \"Remove\")}</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div></article>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></section> `);\n\t\t$$renderer.push(\"<!--[0-->\");\n\t\t$$renderer.push(`<div class=\"toolbar-row svelte-xxtt2y\"><button type=\"button\" class=\"btn btn-primary\">+ Add connection</button> `);\n\t\tif (hasCapability(\"host:stack:write\")) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<button type=\"button\" class=\"btn btn-secondary\">Pair a device</button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t\t$$renderer.push(`<!--]--></main>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_page.svelte-CGEtuNmS.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/advanced/_page.svelte.js"],"sourcesContent":["import { U as escape_html, V as attr, a as derived, o as ensure_array_like, s as head, u as stringify } from \"../../../chunks/dev.js\";\nimport \"../../../chunks/index-server.js\";\nimport { V as isLoopbackHost, l as endpointsService, z as getTransport } from \"../../../chunks/IconStop.js\";\nimport { t as resolve } from \"../../../chunks/paths.js\";\nimport { t as afterNavigate } from \"../../../chunks/client.js\";\nimport { t as page } from \"../../../chunks/state2.js\";\nimport \"../../../chunks/navigation.js\";\nimport { t as ChatNavbar } from \"../../../chunks/ChatNavbar.js\";\nimport { c as buildAdvancedIframeUrl, f as chat } from \"../../../chunks/IconSoundOn.js\";\nimport { t as ChatMessage } from \"../../../chunks/ChatMessage.js\";\nimport { n as PermissionCard, r as ChatInput, t as QuestionCard } from \"../../../chunks/QuestionCard.js\";\n//#region src/routes/advanced/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst active = derived(() => endpointsService.active);\n\t\tconst requestedSessionId = derived(() => page.url.searchParams.get(\"session\"));\n\t\tlet mode = \"checking\";\n\t\tlet frameUrl = \"\";\n\t\tlet reconnecting = false;\n\t\tlet reloadNonce = 0;\n\t\tlet probeToken = 0;\n\t\t/**\n\t\t* Can this connection's OpenCode web UI ride in an iframe? Only when it needs\n\t\t* no credentials (none attached, no URL userinfo) AND the browser won't block\n\t\t* it as mixed content (loopback, or same http(s) scheme as this app).\n\t\t*/\n\t\tfunction isEmbeddable(conn) {\n\t\t\tif (conn.hasPassword) return false;\n\t\t\ttry {\n\t\t\t\tconst url = new URL(conn.baseUrl);\n\t\t\t\tif (url.protocol !== \"http:\" && url.protocol !== \"https:\") return false;\n\t\t\t\tif (url.username || url.password) return false;\n\t\t\t\tif (isLoopbackHost(url.hostname)) return true;\n\t\t\t\tif (page.url.protocol === \"https:\" && url.protocol === \"http:\") return false;\n\t\t\t\treturn true;\n\t\t\t} catch {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\tfunction isCurrentProbe(token, connectionId) {\n\t\t\treturn token === probeToken && endpointsService.active?.id === connectionId;\n\t\t}\n\t\tasync function resolve$1(reloadFrame = false) {\n\t\t\tconst token = ++probeToken;\n\t\t\tmode = \"checking\";\n\t\t\tframeUrl = \"\";\n\t\t\tconst conn = endpointsService.active;\n\t\t\tif (!conn) {\n\t\t\t\tmode = \"dead\";\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!isEmbeddable(conn)) {\n\t\t\t\tmode = \"native\";\n\t\t\t\tawait chat.onEndpointChanged(conn.id);\n\t\t\t\tif (requestedSessionId()) chat.openSession(requestedSessionId());\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst connectionId = conn.id;\n\t\t\tconst base = conn.baseUrl;\n\t\t\tconst sessionId = requestedSessionId();\n\t\t\tconst health = await getTransport().probeHealth();\n\t\t\tif (!isCurrentProbe(token, connectionId)) return;\n\t\t\tif (health.status !== \"accessible\") {\n\t\t\t\tmode = \"dead\";\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet url = base;\n\t\t\tif (sessionId) try {\n\t\t\t\tconst res = await getTransport().request(\"GET\", `/session/${encodeURIComponent(sessionId)}`);\n\t\t\t\tif (!isCurrentProbe(token, connectionId)) return;\n\t\t\t\tconst session = await res.json().catch(() => null);\n\t\t\t\tconst directory = session && typeof session === \"object\" && \"directory\" in session && typeof session.directory === \"string\" && session.directory.length > 0 ? session.directory : null;\n\t\t\t\tif (directory) {\n\t\t\t\t\turl = buildAdvancedIframeUrl(base, sessionId, directory);\n\t\t\t\t\tchat.alignActiveEndpoint(connectionId);\n\t\t\t\t\tchat.setActiveSessionId(sessionId, connectionId);\n\t\t\t\t}\n\t\t\t} catch {}\n\t\t\tif (!isCurrentProbe(token, connectionId)) return;\n\t\t\tframeUrl = url;\n\t\t\tmode = \"iframe\";\n\t\t\tif (reloadFrame) reloadNonce++;\n\t\t}\n\t\tlet permissionActionInFlight = null;\n\t\tasync function handleSend(text) {\n\t\t\tawait chat.send(text);\n\t\t}\n\t\tasync function handlePermissionReply(reply) {\n\t\t\tpermissionActionInFlight = reply;\n\t\t\ttry {\n\t\t\t\tawait chat.answerPermission(reply);\n\t\t\t} finally {\n\t\t\t\tpermissionActionInFlight = null;\n\t\t\t}\n\t\t}\n\t\tafterNavigate(() => {\n\t\t\tendpointsService.load().then(() => resolve$1());\n\t\t});\n\t\thead(\"1z0msvj\", $$renderer, ($$renderer) => {\n\t\t\t$$renderer.title(($$renderer) => {\n\t\t\t\t$$renderer.push(`<title>Advanced Chat — OpenPalm</title>`);\n\t\t\t});\n\t\t});\n\t\tChatNavbar($$renderer, {});\n\t\t$$renderer.push(`<!----> <div class=\"advanced-layout svelte-1z0msvj\">`);\n\t\tif (mode === \"iframe\") {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<!---->`);\n\t\t\t$$renderer.push(`<iframe class=\"opencode-frame svelte-1z0msvj\"${attr(\"src\", frameUrl)} title=\"OpenCode — Advanced Chat\" allow=\"clipboard-read; clipboard-write; microphone\"></iframe>`);\n\t\t\t$$renderer.push(`<!---->`);\n\t\t} else if (mode === \"native\") {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<section class=\"native-chat svelte-1z0msvj\"${attr(\"aria-label\", `Chat with ${stringify(active()?.label ?? \"your assistant\")}`)}><div class=\"native-scroll svelte-1z0msvj\">`);\n\t\t\tif (chat.entriesLoading) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<p class=\"native-status svelte-1z0msvj\" role=\"status\">Loading conversation…</p>`);\n\t\t\t} else if (chat.entries.length === 0) {\n\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t$$renderer.push(`<p class=\"native-status svelte-1z0msvj\" role=\"status\">Start chatting with ${escape_html(active()?.label ?? \"your assistant\")} below.</p>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> <!--[-->`);\n\t\t\tconst each_array = ensure_array_like(chat.entries);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet entry = each_array[$$index];\n\t\t\t\tChatMessage($$renderer, { entry });\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (chat.pendingAssistantText) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"native-pending svelte-1z0msvj\">${escape_html(chat.pendingAssistantText)}</div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (chat.pendingPermission) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\tPermissionCard($$renderer, {\n\t\t\t\t\tpermission: chat.pendingPermission,\n\t\t\t\t\tactionInFlight: permissionActionInFlight,\n\t\t\t\t\tonReply: handlePermissionReply\n\t\t\t\t});\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tif (chat.pendingQuestion) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\tQuestionCard($$renderer, {\n\t\t\t\t\tquestion: chat.pendingQuestion,\n\t\t\t\t\tonOption: (answer) => void chat.answerQuestion(answer),\n\t\t\t\t\tonSelect: (index, label) => chat.setQuestionAnswer(index, label),\n\t\t\t\t\tonDraft: (index, value) => chat.setQuestionAnswer(index, value),\n\t\t\t\t\tonSubmit: () => void chat.answerQuestion(),\n\t\t\t\t\tonReject: () => void chat.rejectQuestion()\n\t\t\t\t});\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\tif (chat.error) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<div class=\"alert error svelte-1z0msvj\" role=\"alert\">${escape_html(chat.error)}</div>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\tChatInput($$renderer, {\n\t\t\t\tsending: chat.sending,\n\t\t\t\tquestionPending: chat.pendingQuestion?.status === \"pending\",\n\t\t\t\tonSend: handleSend,\n\t\t\t\tonStop: () => void chat.stopTurn()\n\t\t\t});\n\t\t\t$$renderer.push(`<!----></section>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"advanced-status svelte-1z0msvj\"${attr(\"role\", mode === \"dead\" ? \"alert\" : \"status\")} aria-live=\"polite\">`);\n\t\t\tif (mode === \"checking\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<p class=\"status-line svelte-1z0msvj\">Connecting to ${escape_html(active()?.label ?? \"your assistant\")}…</p>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<h2 class=\"svelte-1z0msvj\">Can’t reach ${escape_html(active()?.label ?? \"your assistant\")}</h2> <p class=\"svelte-1z0msvj\">The connection looks dead or its session expired. Reconnect to try again, or pick a different assistant from the switcher above.</p> <button class=\"btn btn-primary btn-lg svelte-1z0msvj\"${attr(\"disabled\", reconnecting, true)}>${escape_html(\"Reconnect\")}</button> <a class=\"btn btn-secondary btn-lg svelte-1z0msvj\"${attr(\"href\", resolve(\"/connections\"))}>Manage connection</a>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}