@openpalm/ui 0.13.0-beta.6 → 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 (589) hide show
  1. package/README.md +3 -2
  2. package/build/.openpalm-ui-version +1 -1
  3. package/build/client/_app/immutable/assets/4.Cd3Y_8BZ.css +1 -0
  4. package/build/client/_app/immutable/assets/4.Cd3Y_8BZ.css.br +3 -0
  5. package/build/client/_app/immutable/assets/4.Cd3Y_8BZ.css.gz +0 -0
  6. package/build/client/_app/immutable/assets/6.BM7A1dW5.css +1 -0
  7. package/build/client/_app/immutable/assets/6.BM7A1dW5.css.br +0 -0
  8. package/build/client/_app/immutable/assets/6.BM7A1dW5.css.gz +0 -0
  9. package/build/client/_app/immutable/assets/7.DHMKw-HL.css +1 -0
  10. package/build/client/_app/immutable/assets/7.DHMKw-HL.css.br +0 -0
  11. package/build/client/_app/immutable/assets/7.DHMKw-HL.css.gz +0 -0
  12. package/build/client/_app/immutable/assets/9.CmCaAuiy.css +1 -0
  13. package/build/client/_app/immutable/assets/9.CmCaAuiy.css.br +0 -0
  14. package/build/client/_app/immutable/assets/9.CmCaAuiy.css.gz +0 -0
  15. package/build/client/_app/immutable/assets/QuestionCard.CSfD3z_X.css +1 -0
  16. package/build/client/_app/immutable/assets/QuestionCard.CSfD3z_X.css.br +0 -0
  17. package/build/client/_app/immutable/assets/QuestionCard.CSfD3z_X.css.gz +0 -0
  18. package/build/client/_app/immutable/chunks/1F1QVf3N.js +1 -0
  19. package/build/client/_app/immutable/chunks/1F1QVf3N.js.br +0 -0
  20. package/build/client/_app/immutable/chunks/1F1QVf3N.js.gz +0 -0
  21. package/build/client/_app/immutable/chunks/{DmFbAjwW.js → 92accNiq.js} +1 -1
  22. package/build/client/_app/immutable/chunks/92accNiq.js.br +0 -0
  23. package/build/client/_app/immutable/chunks/92accNiq.js.gz +0 -0
  24. package/build/client/_app/immutable/chunks/B9uMOgDZ.js +3 -0
  25. package/build/client/_app/immutable/chunks/B9uMOgDZ.js.br +0 -0
  26. package/build/client/_app/immutable/chunks/B9uMOgDZ.js.gz +0 -0
  27. package/build/client/_app/immutable/chunks/{SXdvPq3_.js → BBXQKGHA.js} +1 -1
  28. package/build/client/_app/immutable/chunks/BBXQKGHA.js.br +1 -0
  29. package/build/client/_app/immutable/chunks/BBXQKGHA.js.gz +0 -0
  30. package/build/client/_app/immutable/chunks/{CUa5ff3d.js → BGx9HO1u.js} +1 -1
  31. package/build/client/_app/immutable/chunks/BGx9HO1u.js.br +0 -0
  32. package/build/client/_app/immutable/chunks/BGx9HO1u.js.gz +0 -0
  33. package/build/client/_app/immutable/chunks/BwKrb5qD.js +1 -0
  34. package/build/client/_app/immutable/chunks/BwKrb5qD.js.br +2 -0
  35. package/build/client/_app/immutable/chunks/BwKrb5qD.js.gz +0 -0
  36. package/build/client/_app/immutable/chunks/{BDK50g8a.js → ByiipSaR.js} +1 -1
  37. package/build/client/_app/immutable/chunks/ByiipSaR.js.br +3 -0
  38. package/build/client/_app/immutable/chunks/ByiipSaR.js.gz +0 -0
  39. package/build/client/_app/immutable/chunks/C092q_Hl.js +1 -0
  40. package/build/client/_app/immutable/chunks/C092q_Hl.js.br +0 -0
  41. package/build/client/_app/immutable/chunks/C092q_Hl.js.gz +0 -0
  42. package/build/client/_app/immutable/chunks/{D5FtEngX.js → C4qTU5YY.js} +1 -1
  43. package/build/client/_app/immutable/chunks/C4qTU5YY.js.br +0 -0
  44. package/build/client/_app/immutable/chunks/C4qTU5YY.js.gz +0 -0
  45. package/build/client/_app/immutable/chunks/C6rMFkms.js +14 -0
  46. package/build/client/_app/immutable/chunks/C6rMFkms.js.br +0 -0
  47. package/build/client/_app/immutable/chunks/C6rMFkms.js.gz +0 -0
  48. package/build/client/_app/immutable/chunks/C7g46Pjm.js +1 -0
  49. package/build/client/_app/immutable/chunks/C7g46Pjm.js.br +0 -0
  50. package/build/client/_app/immutable/chunks/C7g46Pjm.js.gz +0 -0
  51. package/build/client/_app/immutable/chunks/{mG6HnNbi.js → CJc9QEdG.js} +1 -1
  52. package/build/client/_app/immutable/chunks/CJc9QEdG.js.br +2 -0
  53. package/build/client/_app/immutable/chunks/CJc9QEdG.js.gz +0 -0
  54. package/build/client/_app/immutable/chunks/CR3nChHO.js +3 -0
  55. package/build/client/_app/immutable/chunks/CR3nChHO.js.br +0 -0
  56. package/build/client/_app/immutable/chunks/CR3nChHO.js.gz +0 -0
  57. package/build/client/_app/immutable/chunks/CXv_deBx.js +1 -0
  58. package/build/client/_app/immutable/chunks/CXv_deBx.js.br +0 -0
  59. package/build/client/_app/immutable/chunks/CXv_deBx.js.gz +0 -0
  60. package/build/client/_app/immutable/chunks/CzKYnjEX.js +1 -0
  61. package/build/client/_app/immutable/chunks/CzKYnjEX.js.br +0 -0
  62. package/build/client/_app/immutable/chunks/CzKYnjEX.js.gz +0 -0
  63. package/build/client/_app/immutable/chunks/D-DB6zTo.js +9 -0
  64. package/build/client/_app/immutable/chunks/D-DB6zTo.js.br +0 -0
  65. package/build/client/_app/immutable/chunks/D-DB6zTo.js.gz +0 -0
  66. package/build/client/_app/immutable/chunks/D3d8Mm8X.js +1 -0
  67. package/build/client/_app/immutable/chunks/D3d8Mm8X.js.br +1 -0
  68. package/build/client/_app/immutable/chunks/D3d8Mm8X.js.gz +0 -0
  69. package/build/client/_app/immutable/chunks/DDSqq1hR.js +1 -0
  70. package/build/client/_app/immutable/chunks/DDSqq1hR.js.br +0 -0
  71. package/build/client/_app/immutable/chunks/DDSqq1hR.js.gz +0 -0
  72. package/build/client/_app/immutable/chunks/{NR-JVJz-.js → DTAO9S6h.js} +1 -1
  73. package/build/client/_app/immutable/chunks/DTAO9S6h.js.br +0 -0
  74. package/build/client/_app/immutable/chunks/DTAO9S6h.js.gz +0 -0
  75. package/build/client/_app/immutable/chunks/DTLQuSQp.js +3 -0
  76. package/build/client/_app/immutable/chunks/DTLQuSQp.js.br +0 -0
  77. package/build/client/_app/immutable/chunks/DTLQuSQp.js.gz +0 -0
  78. package/build/client/_app/immutable/chunks/{hSjQday7.js → _zkFsY4j.js} +1 -1
  79. package/build/client/_app/immutable/chunks/_zkFsY4j.js.br +0 -0
  80. package/build/client/_app/immutable/chunks/_zkFsY4j.js.gz +0 -0
  81. package/build/client/_app/immutable/chunks/d1cxvUgj.js +1 -0
  82. package/build/client/_app/immutable/chunks/d1cxvUgj.js.br +0 -0
  83. package/build/client/_app/immutable/chunks/d1cxvUgj.js.gz +0 -0
  84. package/build/client/_app/immutable/chunks/qrqTdjh7.js +1 -0
  85. package/build/client/_app/immutable/chunks/qrqTdjh7.js.br +0 -0
  86. package/build/client/_app/immutable/chunks/qrqTdjh7.js.gz +0 -0
  87. package/build/client/_app/immutable/entry/app.CXHi3StM.js +2 -0
  88. package/build/client/_app/immutable/entry/app.CXHi3StM.js.br +0 -0
  89. package/build/client/_app/immutable/entry/app.CXHi3StM.js.gz +0 -0
  90. package/build/client/_app/immutable/entry/start.eS_-xLIC.js +1 -0
  91. package/build/client/_app/immutable/entry/start.eS_-xLIC.js.br +1 -0
  92. package/build/client/_app/immutable/entry/start.eS_-xLIC.js.gz +0 -0
  93. package/build/client/_app/immutable/nodes/0.Bfv0aXoG.js +1 -0
  94. package/build/client/_app/immutable/nodes/0.Bfv0aXoG.js.br +0 -0
  95. package/build/client/_app/immutable/nodes/0.Bfv0aXoG.js.gz +0 -0
  96. package/build/client/_app/immutable/nodes/1.B8Ebge5I.js +1 -0
  97. package/build/client/_app/immutable/nodes/1.B8Ebge5I.js.br +0 -0
  98. package/build/client/_app/immutable/nodes/1.B8Ebge5I.js.gz +0 -0
  99. package/build/client/_app/immutable/nodes/10.Di4b61Rb.js +1 -0
  100. package/build/client/_app/immutable/nodes/10.Di4b61Rb.js.br +0 -0
  101. package/build/client/_app/immutable/nodes/10.Di4b61Rb.js.gz +0 -0
  102. package/build/client/_app/immutable/nodes/11.CUlazdDv.js +8 -0
  103. package/build/client/_app/immutable/nodes/11.CUlazdDv.js.br +0 -0
  104. package/build/client/_app/immutable/nodes/11.CUlazdDv.js.gz +0 -0
  105. package/build/client/_app/immutable/nodes/2.tmtk1Bjc.js +1 -0
  106. package/build/client/_app/immutable/nodes/2.tmtk1Bjc.js.br +0 -0
  107. package/build/client/_app/immutable/nodes/2.tmtk1Bjc.js.gz +0 -0
  108. package/build/client/_app/immutable/nodes/3.BEaeucAu.js +1 -0
  109. package/build/client/_app/immutable/nodes/3.BEaeucAu.js.br +0 -0
  110. package/build/client/_app/immutable/nodes/3.BEaeucAu.js.gz +0 -0
  111. package/build/client/_app/immutable/nodes/4.DQOL0qY_.js +1 -0
  112. package/build/client/_app/immutable/nodes/4.DQOL0qY_.js.br +0 -0
  113. package/build/client/_app/immutable/nodes/4.DQOL0qY_.js.gz +0 -0
  114. package/build/client/_app/immutable/nodes/{5.CIMkqYzP.js → 5.BGqmDWpO.js} +2 -2
  115. package/build/client/_app/immutable/nodes/5.BGqmDWpO.js.br +0 -0
  116. package/build/client/_app/immutable/nodes/5.BGqmDWpO.js.gz +0 -0
  117. package/build/client/_app/immutable/nodes/6.Cf2kRGl-.js +2 -0
  118. package/build/client/_app/immutable/nodes/6.Cf2kRGl-.js.br +0 -0
  119. package/build/client/_app/immutable/nodes/6.Cf2kRGl-.js.gz +0 -0
  120. package/build/client/_app/immutable/nodes/7.CvaILUo5.js +16 -0
  121. package/build/client/_app/immutable/nodes/7.CvaILUo5.js.br +0 -0
  122. package/build/client/_app/immutable/nodes/7.CvaILUo5.js.gz +0 -0
  123. package/build/client/_app/immutable/nodes/8.BANf4x1v.js +1 -0
  124. package/build/client/_app/immutable/nodes/8.BANf4x1v.js.br +0 -0
  125. package/build/client/_app/immutable/nodes/8.BANf4x1v.js.gz +0 -0
  126. package/build/client/_app/immutable/nodes/9.DvOR66Q0.js +128 -0
  127. package/build/client/_app/immutable/nodes/9.DvOR66Q0.js.br +0 -0
  128. package/build/client/_app/immutable/nodes/9.DvOR66Q0.js.gz +0 -0
  129. package/build/client/_app/version.json +1 -1
  130. package/build/client/_app/version.json.br +1 -1
  131. package/build/client/_app/version.json.gz +0 -0
  132. package/build/server/chunks/{0-BtezztJz.js → 0-D8UAPThv.js} +13 -7
  133. package/build/server/chunks/0-D8UAPThv.js.map +1 -0
  134. package/build/server/chunks/1-bS23Eg-d.js +9 -0
  135. package/build/server/chunks/{1-CvGA_TOi.js.map → 1-bS23Eg-d.js.map} +1 -1
  136. package/build/server/chunks/{10-D_ipl62-.js → 10-C5TUqG1t.js} +3 -3
  137. package/build/server/chunks/{10-D_ipl62-.js.map → 10-C5TUqG1t.js.map} +1 -1
  138. package/build/server/chunks/11-DSjZgp33.js +9 -0
  139. package/build/server/chunks/11-DSjZgp33.js.map +1 -0
  140. package/build/server/chunks/{2-CQSBaE_w.js → 2-KPMSLSlE.js} +2 -2
  141. package/build/server/chunks/{2-CQSBaE_w.js.map → 2-KPMSLSlE.js.map} +1 -1
  142. package/build/server/chunks/{3-CZdWulB3.js → 3-D0iTJ9v2.js} +10 -11
  143. package/build/server/chunks/3-D0iTJ9v2.js.map +1 -0
  144. package/build/server/chunks/4-CHJRF8qs.js +9 -0
  145. package/build/server/chunks/4-CHJRF8qs.js.map +1 -0
  146. package/build/server/chunks/{5-CeJvfCdk.js → 5-CwCiwnFt.js} +3 -3
  147. package/build/server/chunks/{5-CeJvfCdk.js.map → 5-CwCiwnFt.js.map} +1 -1
  148. package/build/server/chunks/6-raswytzE.js +9 -0
  149. package/build/server/chunks/6-raswytzE.js.map +1 -0
  150. package/build/server/chunks/7-NC4-KlW9.js +9 -0
  151. package/build/server/chunks/7-NC4-KlW9.js.map +1 -0
  152. package/build/server/chunks/{8-DiHmrGkL.js → 8-DFD8sNRI.js} +5 -7
  153. package/build/server/chunks/8-DFD8sNRI.js.map +1 -0
  154. package/build/server/chunks/9-rIsHxfiY.js +9 -0
  155. package/build/server/chunks/9-rIsHxfiY.js.map +1 -0
  156. package/build/server/chunks/{IconActivity-DrgUhxxi.js → ChatMessage-fWnwEF6b.js} +3 -57
  157. package/build/server/chunks/ChatMessage-fWnwEF6b.js.map +1 -0
  158. package/build/server/chunks/{ChatNavbar-FJW5r496.js → ChatNavbar-DqdxDR5U.js} +9 -9
  159. package/build/server/chunks/{ChatNavbar-FJW5r496.js.map → ChatNavbar-DqdxDR5U.js.map} +1 -1
  160. package/build/server/chunks/IconActivity-BU1QGLAZ.js +58 -0
  161. package/build/server/chunks/IconActivity-BU1QGLAZ.js.map +1 -0
  162. package/build/server/chunks/IconMic-CZN60P6B.js +10 -0
  163. package/build/server/chunks/IconMic-CZN60P6B.js.map +1 -0
  164. package/build/server/chunks/{IconServer-w-1K5jNR.js → IconServer-BwcRjcsS.js} +5 -5
  165. package/build/server/chunks/{IconServer-w-1K5jNR.js.map → IconServer-BwcRjcsS.js.map} +1 -1
  166. package/build/server/chunks/{IconSoundOn-DZGaQz_p.js → IconSoundOn-DTZuBn2-.js} +9 -12
  167. package/build/server/chunks/IconSoundOn-DTZuBn2-.js.map +1 -0
  168. package/build/server/chunks/{IconStop-BPbovgch.js → IconStop-BxUfqTaV.js} +173 -214
  169. package/build/server/chunks/IconStop-BxUfqTaV.js.map +1 -0
  170. package/build/server/chunks/QuestionCard-DOLuSSbI.js +128 -0
  171. package/build/server/chunks/QuestionCard-DOLuSSbI.js.map +1 -0
  172. package/build/server/chunks/Spinner-2WZW6r_I.js +12 -0
  173. package/build/server/chunks/Spinner-2WZW6r_I.js.map +1 -0
  174. package/build/server/chunks/{_layout.svelte-B-_IlE2E.js → _layout.svelte-CBBWJ3m3.js} +3 -4
  175. package/build/server/chunks/{_layout.svelte-B-_IlE2E.js.map → _layout.svelte-CBBWJ3m3.js.map} +1 -1
  176. package/build/server/chunks/{_page.svelte-K6kU7jIW.js → _page.svelte-CYzntFY4.js} +45 -136
  177. package/build/server/chunks/_page.svelte-CYzntFY4.js.map +1 -0
  178. package/build/server/chunks/_page.svelte-CysG6Te2.js +192 -0
  179. package/build/server/chunks/_page.svelte-CysG6Te2.js.map +1 -0
  180. package/build/server/chunks/{_page.svelte-CPZBh4-z.js → _page.svelte-D-_cPU8e.js} +3 -3
  181. package/build/server/chunks/{_page.svelte-CPZBh4-z.js.map → _page.svelte-D-_cPU8e.js.map} +1 -1
  182. package/build/server/chunks/{_page.svelte-CPo3vFZf.js → _page.svelte-D4hOWjfm.js} +64 -353
  183. package/build/server/chunks/_page.svelte-D4hOWjfm.js.map +1 -0
  184. package/build/server/chunks/_page.svelte-D9au75wl.js +183 -0
  185. package/build/server/chunks/_page.svelte-D9au75wl.js.map +1 -0
  186. package/build/server/chunks/{_page.svelte-GcuuPiXq.js → _page.svelte-DjldYxQn.js} +28 -136
  187. package/build/server/chunks/_page.svelte-DjldYxQn.js.map +1 -0
  188. package/build/server/chunks/{_page.svelte-DM96lwQ1.js → _page.svelte-DsJgu4mW.js} +3 -3
  189. package/build/server/chunks/{_page.svelte-DM96lwQ1.js.map → _page.svelte-DsJgu4mW.js.map} +1 -1
  190. package/build/server/chunks/_server.ts-1qbl_1NY.js +87 -0
  191. package/build/server/chunks/_server.ts-1qbl_1NY.js.map +1 -0
  192. package/build/server/chunks/{_server.ts-BLXzfOzW.js → _server.ts-2VPdIZFH.js} +7 -7
  193. package/build/server/chunks/{_server.ts-BLXzfOzW.js.map → _server.ts-2VPdIZFH.js.map} +1 -1
  194. package/build/server/chunks/{_server.ts-513m4Yqs.js → _server.ts-68MuZYx_.js} +8 -8
  195. package/build/server/chunks/{_server.ts-513m4Yqs.js.map → _server.ts-68MuZYx_.js.map} +1 -1
  196. package/build/server/chunks/{_server.ts-BaVwMXGu.js → _server.ts-8AfutA1j.js} +7 -7
  197. package/build/server/chunks/{_server.ts-BaVwMXGu.js.map → _server.ts-8AfutA1j.js.map} +1 -1
  198. package/build/server/chunks/{_server.ts-Cp8YnPjm.js → _server.ts-B-5y1hA4.js} +9 -9
  199. package/build/server/chunks/{_server.ts-Cp8YnPjm.js.map → _server.ts-B-5y1hA4.js.map} +1 -1
  200. package/build/server/chunks/{_server.ts-CVvUFmDd.js → _server.ts-B1CunPF7.js} +7 -7
  201. package/build/server/chunks/{_server.ts-CVvUFmDd.js.map → _server.ts-B1CunPF7.js.map} +1 -1
  202. package/build/server/chunks/{_server.ts-Cgdl0C1I.js → _server.ts-B1KGSkdl.js} +7 -7
  203. package/build/server/chunks/{_server.ts-Cgdl0C1I.js.map → _server.ts-B1KGSkdl.js.map} +1 -1
  204. package/build/server/chunks/{_server.ts-WZl_x3WY.js → _server.ts-B2NALEcR.js} +7 -7
  205. package/build/server/chunks/{_server.ts-WZl_x3WY.js.map → _server.ts-B2NALEcR.js.map} +1 -1
  206. package/build/server/chunks/{_server.ts-DnonNBWq.js → _server.ts-B2iUBxXh.js} +9 -9
  207. package/build/server/chunks/{_server.ts-DnonNBWq.js.map → _server.ts-B2iUBxXh.js.map} +1 -1
  208. package/build/server/chunks/{_server.ts-rVmsBymo.js → _server.ts-BN8EkPAZ.js} +8 -8
  209. package/build/server/chunks/{_server.ts-rVmsBymo.js.map → _server.ts-BN8EkPAZ.js.map} +1 -1
  210. package/build/server/chunks/{_server.ts-Cf_ZLxIl.js → _server.ts-BQJfEfl9.js} +12 -13
  211. package/build/server/chunks/_server.ts-BQJfEfl9.js.map +1 -0
  212. package/build/server/chunks/{_server.ts-CPiybiLB.js → _server.ts-BQSMacks.js} +10 -10
  213. package/build/server/chunks/{_server.ts-CPiybiLB.js.map → _server.ts-BQSMacks.js.map} +1 -1
  214. package/build/server/chunks/{_server.ts-DwGTXfsS.js → _server.ts-BYt64wi5.js} +3 -3
  215. package/build/server/chunks/{_server.ts-DwGTXfsS.js.map → _server.ts-BYt64wi5.js.map} +1 -1
  216. package/build/server/chunks/{_server.ts-ykET4T6s.js → _server.ts-Ba0MJSs9.js} +9 -9
  217. package/build/server/chunks/_server.ts-Ba0MJSs9.js.map +1 -0
  218. package/build/server/chunks/{_server.ts-CMOAhXEC.js → _server.ts-BdIM_pWg.js} +9 -9
  219. package/build/server/chunks/{_server.ts-CMOAhXEC.js.map → _server.ts-BdIM_pWg.js.map} +1 -1
  220. package/build/server/chunks/{_server.ts-DbvC6vbj.js → _server.ts-BfxTJHa-.js} +7 -7
  221. package/build/server/chunks/{_server.ts-DbvC6vbj.js.map → _server.ts-BfxTJHa-.js.map} +1 -1
  222. package/build/server/chunks/{_server.ts-Dw7F066C.js → _server.ts-BiVyFRNv.js} +7 -7
  223. package/build/server/chunks/{_server.ts-Dw7F066C.js.map → _server.ts-BiVyFRNv.js.map} +1 -1
  224. package/build/server/chunks/{_server.ts-WLMG4R7D.js → _server.ts-BrgEQhDo.js} +7 -7
  225. package/build/server/chunks/{_server.ts-WLMG4R7D.js.map → _server.ts-BrgEQhDo.js.map} +1 -1
  226. package/build/server/chunks/{_server.ts-Bwt_pOeg.js → _server.ts-BtZN_8lV.js} +7 -7
  227. package/build/server/chunks/{_server.ts-Bwt_pOeg.js.map → _server.ts-BtZN_8lV.js.map} +1 -1
  228. package/build/server/chunks/{_server.ts-CFrPK6QO.js → _server.ts-Bx0PXf1w.js} +7 -7
  229. package/build/server/chunks/{_server.ts-CFrPK6QO.js.map → _server.ts-Bx0PXf1w.js.map} +1 -1
  230. package/build/server/chunks/{_server.ts-DpnNS7XE.js → _server.ts-Byaj9iKd.js} +7 -7
  231. package/build/server/chunks/{_server.ts-DpnNS7XE.js.map → _server.ts-Byaj9iKd.js.map} +1 -1
  232. package/build/server/chunks/{_server.ts-DbWhKo2R.js → _server.ts-C1kDLq6m.js} +7 -7
  233. package/build/server/chunks/{_server.ts-DbWhKo2R.js.map → _server.ts-C1kDLq6m.js.map} +1 -1
  234. package/build/server/chunks/{_server.ts-JhxhiGGc.js → _server.ts-C28zIW49.js} +7 -7
  235. package/build/server/chunks/{_server.ts-JhxhiGGc.js.map → _server.ts-C28zIW49.js.map} +1 -1
  236. package/build/server/chunks/{_server.ts-Dim_lnRX.js → _server.ts-C2F80x6V.js} +8 -8
  237. package/build/server/chunks/{_server.ts-Dim_lnRX.js.map → _server.ts-C2F80x6V.js.map} +1 -1
  238. package/build/server/chunks/{_server.ts-Blmg0cXL.js → _server.ts-C70sKEjH.js} +8 -8
  239. package/build/server/chunks/{_server.ts-Blmg0cXL.js.map → _server.ts-C70sKEjH.js.map} +1 -1
  240. package/build/server/chunks/{_server.ts-iFah_o1y.js → _server.ts-C754EzJA.js} +7 -7
  241. package/build/server/chunks/{_server.ts-iFah_o1y.js.map → _server.ts-C754EzJA.js.map} +1 -1
  242. package/build/server/chunks/{_server.ts-D3G8ICxb.js → _server.ts-C8n83Xl1.js} +7 -7
  243. package/build/server/chunks/{_server.ts-D3G8ICxb.js.map → _server.ts-C8n83Xl1.js.map} +1 -1
  244. package/build/server/chunks/{_server.ts-BvtdTKYv.js → _server.ts-CC6Bt-9t.js} +8 -8
  245. package/build/server/chunks/{_server.ts-BvtdTKYv.js.map → _server.ts-CC6Bt-9t.js.map} +1 -1
  246. package/build/server/chunks/{_server.ts-DgoPOMEf.js → _server.ts-CJ76gcOX.js} +7 -7
  247. package/build/server/chunks/{_server.ts-DgoPOMEf.js.map → _server.ts-CJ76gcOX.js.map} +1 -1
  248. package/build/server/chunks/{_server.ts-CZMdC1Kd.js → _server.ts-CMW6wbwP.js} +7 -7
  249. package/build/server/chunks/{_server.ts-CZMdC1Kd.js.map → _server.ts-CMW6wbwP.js.map} +1 -1
  250. package/build/server/chunks/{_server.ts-m7rCPG1J.js → _server.ts-CNjG4x1a.js} +8 -8
  251. package/build/server/chunks/{_server.ts-m7rCPG1J.js.map → _server.ts-CNjG4x1a.js.map} +1 -1
  252. package/build/server/chunks/{_server.ts-CjfZfEOL.js → _server.ts-CRl7GqvU.js} +7 -7
  253. package/build/server/chunks/{_server.ts-CjfZfEOL.js.map → _server.ts-CRl7GqvU.js.map} +1 -1
  254. package/build/server/chunks/{_server.ts-DMUseo0C.js → _server.ts-CUBWjRlp.js} +8 -8
  255. package/build/server/chunks/{_server.ts-DMUseo0C.js.map → _server.ts-CUBWjRlp.js.map} +1 -1
  256. package/build/server/chunks/{_server.ts-DjIJCqkv.js → _server.ts-CYoKjlbj.js} +7 -7
  257. package/build/server/chunks/{_server.ts-DjIJCqkv.js.map → _server.ts-CYoKjlbj.js.map} +1 -1
  258. package/build/server/chunks/{_server.ts-DgtgUx0V.js → _server.ts-CafJDVBQ.js} +3 -3
  259. package/build/server/chunks/{_server.ts-DgtgUx0V.js.map → _server.ts-CafJDVBQ.js.map} +1 -1
  260. package/build/server/chunks/{_server.ts-C4Pel5kC.js → _server.ts-Cd9hDiKk.js} +7 -7
  261. package/build/server/chunks/{_server.ts-C4Pel5kC.js.map → _server.ts-Cd9hDiKk.js.map} +1 -1
  262. package/build/server/chunks/{_server.ts-BfL_49xD.js → _server.ts-CgQfVR3g.js} +8 -8
  263. package/build/server/chunks/{_server.ts-BfL_49xD.js.map → _server.ts-CgQfVR3g.js.map} +1 -1
  264. package/build/server/chunks/{_server.ts-CzEoO4z1.js → _server.ts-CilbVIRO.js} +3 -3
  265. package/build/server/chunks/{_server.ts-CzEoO4z1.js.map → _server.ts-CilbVIRO.js.map} +1 -1
  266. package/build/server/chunks/{_server.ts-BXPj75Y1.js → _server.ts-Ck25Xm32.js} +8 -8
  267. package/build/server/chunks/{_server.ts-BXPj75Y1.js.map → _server.ts-Ck25Xm32.js.map} +1 -1
  268. package/build/server/chunks/{_server.ts-CGTCLl7g.js → _server.ts-Cp-_qWC_.js} +8 -8
  269. package/build/server/chunks/{_server.ts-CGTCLl7g.js.map → _server.ts-Cp-_qWC_.js.map} +1 -1
  270. package/build/server/chunks/{_server.ts-ygmDTh5G.js → _server.ts-CuEFmJ07.js} +8 -8
  271. package/build/server/chunks/{_server.ts-ygmDTh5G.js.map → _server.ts-CuEFmJ07.js.map} +1 -1
  272. package/build/server/chunks/{_server.ts-B_dmjFtu.js → _server.ts-D5vc4lGC.js} +8 -8
  273. package/build/server/chunks/_server.ts-D5vc4lGC.js.map +1 -0
  274. package/build/server/chunks/{_server.ts-CqK78x99.js → _server.ts-DDLE66QT.js} +8 -8
  275. package/build/server/chunks/{_server.ts-CqK78x99.js.map → _server.ts-DDLE66QT.js.map} +1 -1
  276. package/build/server/chunks/{_server.ts-CfLVH8TI.js → _server.ts-DEF1ChPD.js} +7 -7
  277. package/build/server/chunks/{_server.ts-CfLVH8TI.js.map → _server.ts-DEF1ChPD.js.map} +1 -1
  278. package/build/server/chunks/{_server.ts-CU4SIH7_.js → _server.ts-DHUtPRWK.js} +5 -5
  279. package/build/server/chunks/{_server.ts-CU4SIH7_.js.map → _server.ts-DHUtPRWK.js.map} +1 -1
  280. package/build/server/chunks/{_server.ts-w4ncTcy1.js → _server.ts-DHoTyKXL.js} +15 -11
  281. package/build/server/chunks/_server.ts-DHoTyKXL.js.map +1 -0
  282. package/build/server/chunks/{_server.ts-CtGn47WI.js → _server.ts-DSB9Fzwa.js} +5 -5
  283. package/build/server/chunks/{_server.ts-CtGn47WI.js.map → _server.ts-DSB9Fzwa.js.map} +1 -1
  284. package/build/server/chunks/{_server.ts-D3FpBEaY.js → _server.ts-DW36Vbiq.js} +9 -9
  285. package/build/server/chunks/_server.ts-DW36Vbiq.js.map +1 -0
  286. package/build/server/chunks/{_server.ts-B5wBYGeP.js → _server.ts-DWG4CKWG.js} +7 -7
  287. package/build/server/chunks/{_server.ts-B5wBYGeP.js.map → _server.ts-DWG4CKWG.js.map} +1 -1
  288. package/build/server/chunks/{_server.ts-BcqSTHN5.js → _server.ts-DXxQIT2o.js} +8 -8
  289. package/build/server/chunks/{_server.ts-BcqSTHN5.js.map → _server.ts-DXxQIT2o.js.map} +1 -1
  290. package/build/server/chunks/{_server.ts-BcO0Zf4D.js → _server.ts-Da8_J1a4.js} +8 -8
  291. package/build/server/chunks/{_server.ts-BcO0Zf4D.js.map → _server.ts-Da8_J1a4.js.map} +1 -1
  292. package/build/server/chunks/{_server.ts-BrQJNRtC.js → _server.ts-DcH5edss.js} +7 -7
  293. package/build/server/chunks/{_server.ts-BrQJNRtC.js.map → _server.ts-DcH5edss.js.map} +1 -1
  294. package/build/server/chunks/{_server.ts-CsI99fk3.js → _server.ts-DiHLYNbQ.js} +8 -8
  295. package/build/server/chunks/{_server.ts-CsI99fk3.js.map → _server.ts-DiHLYNbQ.js.map} +1 -1
  296. package/build/server/chunks/{_server.ts-Dy7MOoFx.js → _server.ts-Dio2CslE.js} +8 -8
  297. package/build/server/chunks/_server.ts-Dio2CslE.js.map +1 -0
  298. package/build/server/chunks/{_server.ts-CZ3VVtAj.js → _server.ts-Dlt1obi9.js} +7 -7
  299. package/build/server/chunks/{_server.ts-CZ3VVtAj.js.map → _server.ts-Dlt1obi9.js.map} +1 -1
  300. package/build/server/chunks/{_server.ts-YcvtqJwd.js → _server.ts-Ds0U_zKR.js} +8 -8
  301. package/build/server/chunks/{_server.ts-YcvtqJwd.js.map → _server.ts-Ds0U_zKR.js.map} +1 -1
  302. package/build/server/chunks/{_server.ts-CuLEqJd2.js → _server.ts-DsVsFcf8.js} +16 -11
  303. package/build/server/chunks/_server.ts-DsVsFcf8.js.map +1 -0
  304. package/build/server/chunks/{_server.ts-V-MiUhz4.js → _server.ts-Du3PIYf8.js} +7 -7
  305. package/build/server/chunks/{_server.ts-V-MiUhz4.js.map → _server.ts-Du3PIYf8.js.map} +1 -1
  306. package/build/server/chunks/{_server.ts-s2Seq_VN.js → _server.ts-Duzj6Wm_.js} +7 -19
  307. package/build/server/chunks/_server.ts-Duzj6Wm_.js.map +1 -0
  308. package/build/server/chunks/{_server.ts-Df7bUUvM.js → _server.ts-DyaoaWIS.js} +8 -8
  309. package/build/server/chunks/{_server.ts-Df7bUUvM.js.map → _server.ts-DyaoaWIS.js.map} +1 -1
  310. package/build/server/chunks/{_server.ts-Dixj3o5E.js → _server.ts-EYtSo6HZ.js} +7 -7
  311. package/build/server/chunks/{_server.ts-Dixj3o5E.js.map → _server.ts-EYtSo6HZ.js.map} +1 -1
  312. package/build/server/chunks/{_server.ts-CoVlX74M.js → _server.ts-JvnkkOhX.js} +8 -8
  313. package/build/server/chunks/{_server.ts-CoVlX74M.js.map → _server.ts-JvnkkOhX.js.map} +1 -1
  314. package/build/server/chunks/{_server.ts-MBgNxLF2.js → _server.ts-N0u5ruZe.js} +7 -7
  315. package/build/server/chunks/{_server.ts-MBgNxLF2.js.map → _server.ts-N0u5ruZe.js.map} +1 -1
  316. package/build/server/chunks/{_server.ts-Bnzq20kw.js → _server.ts-NdCztCBP.js} +7 -7
  317. package/build/server/chunks/{_server.ts-Bnzq20kw.js.map → _server.ts-NdCztCBP.js.map} +1 -1
  318. package/build/server/chunks/{_server.ts-BNOepqUw.js → _server.ts-OGUKP5Tu.js} +7 -7
  319. package/build/server/chunks/{_server.ts-BNOepqUw.js.map → _server.ts-OGUKP5Tu.js.map} +1 -1
  320. package/build/server/chunks/{_server.ts-DZrKSBmK.js → _server.ts-Q1KEyBck.js} +7 -7
  321. package/build/server/chunks/{_server.ts-DZrKSBmK.js.map → _server.ts-Q1KEyBck.js.map} +1 -1
  322. package/build/server/chunks/{_server.ts-B2BUFCOJ.js → _server.ts-TIRuudir.js} +3 -3
  323. package/build/server/chunks/{_server.ts-B2BUFCOJ.js.map → _server.ts-TIRuudir.js.map} +1 -1
  324. package/build/server/chunks/{_server.ts-HHMqD_RA.js → _server.ts-WTZtC5sX.js} +12 -7
  325. package/build/server/chunks/_server.ts-WTZtC5sX.js.map +1 -0
  326. package/build/server/chunks/{_server.ts-Bvb9c_At.js → _server.ts-WsWoJE5V.js} +9 -9
  327. package/build/server/chunks/{_server.ts-Bvb9c_At.js.map → _server.ts-WsWoJE5V.js.map} +1 -1
  328. package/build/server/chunks/{_server.ts-Do0cbyyq.js → _server.ts-X8GX4ChJ.js} +8 -8
  329. package/build/server/chunks/_server.ts-X8GX4ChJ.js.map +1 -0
  330. package/build/server/chunks/{_server.ts-BCrEvrVb.js → _server.ts-XIc2PDRd.js} +8 -8
  331. package/build/server/chunks/{_server.ts-BCrEvrVb.js.map → _server.ts-XIc2PDRd.js.map} +1 -1
  332. package/build/server/chunks/{_server.ts-CPNIDSmd.js → _server.ts-YsFgaaVd.js} +7 -7
  333. package/build/server/chunks/{_server.ts-CPNIDSmd.js.map → _server.ts-YsFgaaVd.js.map} +1 -1
  334. package/build/server/chunks/{_server.ts-BFRCkpIB.js → _server.ts-bOcb37D9.js} +8 -8
  335. package/build/server/chunks/{_server.ts-BFRCkpIB.js.map → _server.ts-bOcb37D9.js.map} +1 -1
  336. package/build/server/chunks/{_server.ts-D3CUgai-.js → _server.ts-e_8LykNe.js} +8 -8
  337. package/build/server/chunks/{_server.ts-D3CUgai-.js.map → _server.ts-e_8LykNe.js.map} +1 -1
  338. package/build/server/chunks/{_server.ts-DVNN4NHW.js → _server.ts-hLimfy8i.js} +7 -7
  339. package/build/server/chunks/{_server.ts-DVNN4NHW.js.map → _server.ts-hLimfy8i.js.map} +1 -1
  340. package/build/server/chunks/{_server.ts-BJGOO9Nn.js → _server.ts-khI1sqja.js} +3 -3
  341. package/build/server/chunks/{_server.ts-BJGOO9Nn.js.map → _server.ts-khI1sqja.js.map} +1 -1
  342. package/build/server/chunks/{_server.ts-6QSsgi7N.js → _server.ts-p1Z3DBlr.js} +7 -7
  343. package/build/server/chunks/{_server.ts-6QSsgi7N.js.map → _server.ts-p1Z3DBlr.js.map} +1 -1
  344. package/build/server/chunks/{_server.ts-BQdhHsGb.js → _server.ts-uzB454LO.js} +8 -8
  345. package/build/server/chunks/{_server.ts-BQdhHsGb.js.map → _server.ts-uzB454LO.js.map} +1 -1
  346. package/build/server/chunks/{_server.ts-D3EHXo-L.js → _server.ts-wKSTgSwf.js} +7 -7
  347. package/build/server/chunks/{_server.ts-D3EHXo-L.js.map → _server.ts-wKSTgSwf.js.map} +1 -1
  348. package/build/server/chunks/addon-helpers-DaC3GR9u.js +153 -0
  349. package/build/server/chunks/addon-helpers-DaC3GR9u.js.map +1 -0
  350. package/build/server/chunks/{admin-update-lock-ZHLAwYiV.js → admin-update-lock-Bu3VvAoN.js} +3 -3
  351. package/build/server/chunks/{admin-update-lock-ZHLAwYiV.js.map → admin-update-lock-Bu3VvAoN.js.map} +1 -1
  352. package/build/server/chunks/{akm-DU_4Aa4m.js → akm-DsJ8_uuW.js} +3 -3
  353. package/build/server/chunks/{akm-DU_4Aa4m.js.map → akm-DsJ8_uuW.js.map} +1 -1
  354. package/build/server/chunks/{_server.ts-CT0jVfA6.js → bring-up-BBKMJltU.js} +30 -228
  355. package/build/server/chunks/bring-up-BBKMJltU.js.map +1 -0
  356. package/build/server/chunks/{catalog-B4QoA_I8.js → catalog-8d-U0FbY.js} +5 -5
  357. package/build/server/chunks/{catalog-B4QoA_I8.js.map → catalog-8d-U0FbY.js.map} +1 -1
  358. package/build/server/chunks/{client-Dn-H0hgG.js → client-CHoZA_w9.js} +2 -2
  359. package/build/server/chunks/{client-Dn-H0hgG.js.map → client-CHoZA_w9.js.map} +1 -1
  360. package/build/server/chunks/{compose-args2-BFOGDQne.js → compose-args2-C9sLS6QR.js} +3 -3
  361. package/build/server/chunks/compose-args2-C9sLS6QR.js.map +1 -0
  362. package/build/server/chunks/{config-DoYNsM1_.js → config-ChxZZk6h.js} +2 -2
  363. package/build/server/chunks/{config-DoYNsM1_.js.map → config-ChxZZk6h.js.map} +1 -1
  364. package/build/server/chunks/{constants-1vPYIIwP.js → constants-C8L-P-CF.js} +2 -2
  365. package/build/server/chunks/{constants-1vPYIIwP.js.map → constants-C8L-P-CF.js.map} +1 -1
  366. package/build/server/chunks/{docker2-BYFlumV1.js → docker2-DGq6J3Kp.js} +3 -3
  367. package/build/server/chunks/docker2-DGq6J3Kp.js.map +1 -0
  368. package/build/server/chunks/{docker3-CtXDh00O.js → docker3-DFlJ-o_d.js} +2 -2
  369. package/build/server/chunks/{docker3-CtXDh00O.js.map → docker3-DFlJ-o_d.js.map} +1 -1
  370. package/build/server/chunks/environment-BYp8JQYM.js.map +1 -1
  371. package/build/server/chunks/{error.svelte-DWK4R1_M.js → error.svelte-BXxIEYd4.js} +4 -4
  372. package/build/server/chunks/{error.svelte-DWK4R1_M.js.map → error.svelte-BXxIEYd4.js.map} +1 -1
  373. package/build/server/chunks/features-D8Ez2vwC.js +101 -0
  374. package/build/server/chunks/features-D8Ez2vwC.js.map +1 -0
  375. package/build/server/chunks/{helpers-DxodR6tq.js → helpers-BrD1e__f.js} +17 -22
  376. package/build/server/chunks/helpers-BrD1e__f.js.map +1 -0
  377. package/build/server/chunks/{hooks.server-Bzj8OieV.js → hooks.server-Blba-Qw7.js} +12 -12
  378. package/build/server/chunks/hooks.server-Blba-Qw7.js.map +1 -0
  379. package/build/server/chunks/{http-CfHMreaI.js → http-B4Us23Mo.js} +3 -3
  380. package/build/server/chunks/http-B4Us23Mo.js.map +1 -0
  381. package/build/server/chunks/{internal-BcbUGF7Z.js → internal-CSnzBDeT.js} +8 -4
  382. package/build/server/chunks/{internal-BcbUGF7Z.js.map → internal-CSnzBDeT.js.map} +1 -1
  383. package/build/server/chunks/{landing-DhaVkN2f.js → landing-DxFOhZxH.js} +10 -12
  384. package/build/server/chunks/landing-DxFOhZxH.js.map +1 -0
  385. package/build/server/chunks/{network-preset-CJ1RRnki.js → network-preset-BvVAoagy.js} +14 -13
  386. package/build/server/chunks/network-preset-BvVAoagy.js.map +1 -0
  387. package/build/server/chunks/opencode-target-D4BxXYHJ.js +203 -0
  388. package/build/server/chunks/opencode-target-D4BxXYHJ.js.map +1 -0
  389. package/build/server/chunks/{paths-Bgos728b.js → paths-6f-5gYkd.js} +2 -2
  390. package/build/server/chunks/{paths-Bgos728b.js.map → paths-6f-5gYkd.js.map} +1 -1
  391. package/build/server/chunks/{runtime-context.svelte-C5zNEC6u.js → runtime-context.svelte-CRT-b6Ae.js} +8 -11
  392. package/build/server/chunks/runtime-context.svelte-CRT-b6Ae.js.map +1 -0
  393. package/build/server/chunks/{session-cookie-C8DcD6bt.js → session-cookie-5J3xCH94.js} +2 -2
  394. package/build/server/chunks/{session-cookie-C8DcD6bt.js.map → session-cookie-5J3xCH94.js.map} +1 -1
  395. package/build/server/chunks/{setup-deploy-D9j0EGGd.js → setup-deploy-DUbX3fHm.js} +2 -2
  396. package/build/server/chunks/{setup-deploy-D9j0EGGd.js.map → setup-deploy-DUbX3fHm.js.map} +1 -1
  397. package/build/server/chunks/{src-DbArH65P.js → src-B2wHibme.js} +118 -143
  398. package/build/server/chunks/src-B2wHibme.js.map +1 -0
  399. package/build/server/chunks/{state-Bq8fep3F.js → state-JIy0tegD.js} +2 -2
  400. package/build/server/chunks/{state-Bq8fep3F.js.map → state-JIy0tegD.js.map} +1 -1
  401. package/build/server/chunks/{state2-Cna2OZrd.js → state2-Br2snAqo.js} +2 -2
  402. package/build/server/chunks/{state2-Cna2OZrd.js.map → state2-Br2snAqo.js.map} +1 -1
  403. package/build/server/chunks/voice-state.svelte-DU9g_xEh.js +1610 -0
  404. package/build/server/chunks/voice-state.svelte-DU9g_xEh.js.map +1 -0
  405. package/build/server/index.js +1 -1
  406. package/build/server/manifest.js +98 -140
  407. package/build/server/manifest.js.map +1 -1
  408. package/package.json +3 -3
  409. package/build/client/_app/immutable/assets/4.B2m7mOkq.css +0 -1
  410. package/build/client/_app/immutable/assets/4.B2m7mOkq.css.br +0 -0
  411. package/build/client/_app/immutable/assets/4.B2m7mOkq.css.gz +0 -0
  412. package/build/client/_app/immutable/assets/6.CmRPKjbq.css +0 -1
  413. package/build/client/_app/immutable/assets/6.CmRPKjbq.css.br +0 -0
  414. package/build/client/_app/immutable/assets/6.CmRPKjbq.css.gz +0 -0
  415. package/build/client/_app/immutable/assets/7.BTWb8aLW.css +0 -1
  416. package/build/client/_app/immutable/assets/7.BTWb8aLW.css.br +0 -0
  417. package/build/client/_app/immutable/assets/7.BTWb8aLW.css.gz +0 -0
  418. package/build/client/_app/immutable/assets/9.D8zTZB7v.css +0 -1
  419. package/build/client/_app/immutable/assets/9.D8zTZB7v.css.br +0 -0
  420. package/build/client/_app/immutable/assets/9.D8zTZB7v.css.gz +0 -0
  421. package/build/client/_app/immutable/chunks/BDK50g8a.js.br +0 -0
  422. package/build/client/_app/immutable/chunks/BDK50g8a.js.gz +0 -0
  423. package/build/client/_app/immutable/chunks/BX_cLEyR.js +0 -1
  424. package/build/client/_app/immutable/chunks/BX_cLEyR.js.br +0 -0
  425. package/build/client/_app/immutable/chunks/BX_cLEyR.js.gz +0 -0
  426. package/build/client/_app/immutable/chunks/ByFgZDEl.js +0 -1
  427. package/build/client/_app/immutable/chunks/ByFgZDEl.js.br +0 -0
  428. package/build/client/_app/immutable/chunks/ByFgZDEl.js.gz +0 -0
  429. package/build/client/_app/immutable/chunks/BzIvC31O.js +0 -3
  430. package/build/client/_app/immutable/chunks/BzIvC31O.js.br +0 -0
  431. package/build/client/_app/immutable/chunks/BzIvC31O.js.gz +0 -0
  432. package/build/client/_app/immutable/chunks/C718MJXm.js +0 -5
  433. package/build/client/_app/immutable/chunks/C718MJXm.js.br +0 -0
  434. package/build/client/_app/immutable/chunks/C718MJXm.js.gz +0 -0
  435. package/build/client/_app/immutable/chunks/CUa5ff3d.js.br +0 -0
  436. package/build/client/_app/immutable/chunks/CUa5ff3d.js.gz +0 -0
  437. package/build/client/_app/immutable/chunks/Cnz20Kyu.js +0 -3
  438. package/build/client/_app/immutable/chunks/Cnz20Kyu.js.br +0 -0
  439. package/build/client/_app/immutable/chunks/Cnz20Kyu.js.gz +0 -0
  440. package/build/client/_app/immutable/chunks/CoOosFtk.js +0 -3
  441. package/build/client/_app/immutable/chunks/CoOosFtk.js.br +0 -0
  442. package/build/client/_app/immutable/chunks/CoOosFtk.js.gz +0 -0
  443. package/build/client/_app/immutable/chunks/D5FtEngX.js.br +0 -0
  444. package/build/client/_app/immutable/chunks/D5FtEngX.js.gz +0 -0
  445. package/build/client/_app/immutable/chunks/DBHgGGCD.js +0 -1
  446. package/build/client/_app/immutable/chunks/DBHgGGCD.js.br +0 -0
  447. package/build/client/_app/immutable/chunks/DBHgGGCD.js.gz +0 -0
  448. package/build/client/_app/immutable/chunks/DBaSfL95.js +0 -1
  449. package/build/client/_app/immutable/chunks/DBaSfL95.js.br +0 -0
  450. package/build/client/_app/immutable/chunks/DBaSfL95.js.gz +0 -0
  451. package/build/client/_app/immutable/chunks/DfZbBavE.js +0 -1
  452. package/build/client/_app/immutable/chunks/DfZbBavE.js.br +0 -1
  453. package/build/client/_app/immutable/chunks/DfZbBavE.js.gz +0 -0
  454. package/build/client/_app/immutable/chunks/DmFbAjwW.js.br +0 -3
  455. package/build/client/_app/immutable/chunks/DmFbAjwW.js.gz +0 -0
  456. package/build/client/_app/immutable/chunks/NR-JVJz-.js.br +0 -0
  457. package/build/client/_app/immutable/chunks/NR-JVJz-.js.gz +0 -0
  458. package/build/client/_app/immutable/chunks/R6GPcDBF.js +0 -14
  459. package/build/client/_app/immutable/chunks/R6GPcDBF.js.br +0 -0
  460. package/build/client/_app/immutable/chunks/R6GPcDBF.js.gz +0 -0
  461. package/build/client/_app/immutable/chunks/SXdvPq3_.js.br +0 -0
  462. package/build/client/_app/immutable/chunks/SXdvPq3_.js.gz +0 -0
  463. package/build/client/_app/immutable/chunks/c0lkYAgh.js +0 -5
  464. package/build/client/_app/immutable/chunks/c0lkYAgh.js.br +0 -0
  465. package/build/client/_app/immutable/chunks/c0lkYAgh.js.gz +0 -0
  466. package/build/client/_app/immutable/chunks/hSjQday7.js.br +0 -0
  467. package/build/client/_app/immutable/chunks/hSjQday7.js.gz +0 -0
  468. package/build/client/_app/immutable/chunks/mG6HnNbi.js.br +0 -0
  469. package/build/client/_app/immutable/chunks/mG6HnNbi.js.gz +0 -0
  470. package/build/client/_app/immutable/chunks/ra5AJhOl.js +0 -1
  471. package/build/client/_app/immutable/chunks/ra5AJhOl.js.br +0 -2
  472. package/build/client/_app/immutable/chunks/ra5AJhOl.js.gz +0 -0
  473. package/build/client/_app/immutable/entry/app.SHrJgM4c.js +0 -2
  474. package/build/client/_app/immutable/entry/app.SHrJgM4c.js.br +0 -0
  475. package/build/client/_app/immutable/entry/app.SHrJgM4c.js.gz +0 -0
  476. package/build/client/_app/immutable/entry/start.CM0OuHkF.js +0 -1
  477. package/build/client/_app/immutable/entry/start.CM0OuHkF.js.br +0 -0
  478. package/build/client/_app/immutable/entry/start.CM0OuHkF.js.gz +0 -0
  479. package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js +0 -1
  480. package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js.br +0 -0
  481. package/build/client/_app/immutable/nodes/0.mcDF2Cfv.js.gz +0 -0
  482. package/build/client/_app/immutable/nodes/1.BRotfm1G.js +0 -1
  483. package/build/client/_app/immutable/nodes/1.BRotfm1G.js.br +0 -2
  484. package/build/client/_app/immutable/nodes/1.BRotfm1G.js.gz +0 -0
  485. package/build/client/_app/immutable/nodes/10.CtHRQW64.js +0 -1
  486. package/build/client/_app/immutable/nodes/10.CtHRQW64.js.br +0 -0
  487. package/build/client/_app/immutable/nodes/10.CtHRQW64.js.gz +0 -0
  488. package/build/client/_app/immutable/nodes/11.DViPDhJG.js +0 -8
  489. package/build/client/_app/immutable/nodes/11.DViPDhJG.js.br +0 -0
  490. package/build/client/_app/immutable/nodes/11.DViPDhJG.js.gz +0 -0
  491. package/build/client/_app/immutable/nodes/2.C-PzaHZx.js +0 -1
  492. package/build/client/_app/immutable/nodes/2.C-PzaHZx.js.br +0 -0
  493. package/build/client/_app/immutable/nodes/2.C-PzaHZx.js.gz +0 -0
  494. package/build/client/_app/immutable/nodes/3.26Z_fr6N.js +0 -1
  495. package/build/client/_app/immutable/nodes/3.26Z_fr6N.js.br +0 -0
  496. package/build/client/_app/immutable/nodes/3.26Z_fr6N.js.gz +0 -0
  497. package/build/client/_app/immutable/nodes/4.B1PIKbh6.js +0 -6
  498. package/build/client/_app/immutable/nodes/4.B1PIKbh6.js.br +0 -0
  499. package/build/client/_app/immutable/nodes/4.B1PIKbh6.js.gz +0 -0
  500. package/build/client/_app/immutable/nodes/5.CIMkqYzP.js.br +0 -0
  501. package/build/client/_app/immutable/nodes/5.CIMkqYzP.js.gz +0 -0
  502. package/build/client/_app/immutable/nodes/6.U9QsdKdj.js +0 -2
  503. package/build/client/_app/immutable/nodes/6.U9QsdKdj.js.br +0 -0
  504. package/build/client/_app/immutable/nodes/6.U9QsdKdj.js.gz +0 -0
  505. package/build/client/_app/immutable/nodes/7.Dvpg6Lol.js +0 -14
  506. package/build/client/_app/immutable/nodes/7.Dvpg6Lol.js.br +0 -0
  507. package/build/client/_app/immutable/nodes/7.Dvpg6Lol.js.gz +0 -0
  508. package/build/client/_app/immutable/nodes/8.NHp_bSVx.js +0 -1
  509. package/build/client/_app/immutable/nodes/8.NHp_bSVx.js.br +0 -0
  510. package/build/client/_app/immutable/nodes/8.NHp_bSVx.js.gz +0 -0
  511. package/build/client/_app/immutable/nodes/9.zlIImD-K.js +0 -128
  512. package/build/client/_app/immutable/nodes/9.zlIImD-K.js.br +0 -0
  513. package/build/client/_app/immutable/nodes/9.zlIImD-K.js.gz +0 -0
  514. package/build/server/chunks/0-BtezztJz.js.map +0 -1
  515. package/build/server/chunks/1-CvGA_TOi.js +0 -9
  516. package/build/server/chunks/11-Bp7zXIv8.js +0 -9
  517. package/build/server/chunks/11-Bp7zXIv8.js.map +0 -1
  518. package/build/server/chunks/3-CZdWulB3.js.map +0 -1
  519. package/build/server/chunks/4-4bobZFC9.js +0 -9
  520. package/build/server/chunks/4-4bobZFC9.js.map +0 -1
  521. package/build/server/chunks/6-sGxxEzTB.js +0 -9
  522. package/build/server/chunks/6-sGxxEzTB.js.map +0 -1
  523. package/build/server/chunks/7-mi0k2tJn.js +0 -9
  524. package/build/server/chunks/7-mi0k2tJn.js.map +0 -1
  525. package/build/server/chunks/8-DiHmrGkL.js.map +0 -1
  526. package/build/server/chunks/9-DB22e_yA.js +0 -9
  527. package/build/server/chunks/9-DB22e_yA.js.map +0 -1
  528. package/build/server/chunks/IconActivity-DrgUhxxi.js.map +0 -1
  529. package/build/server/chunks/IconMic-BbjkE_nG.js +0 -18
  530. package/build/server/chunks/IconMic-BbjkE_nG.js.map +0 -1
  531. package/build/server/chunks/IconSoundOn-DZGaQz_p.js.map +0 -1
  532. package/build/server/chunks/IconStop-BPbovgch.js.map +0 -1
  533. package/build/server/chunks/_page.svelte-CB1qUSpk.js +0 -95
  534. package/build/server/chunks/_page.svelte-CB1qUSpk.js.map +0 -1
  535. package/build/server/chunks/_page.svelte-CPo3vFZf.js.map +0 -1
  536. package/build/server/chunks/_page.svelte-F3gki1Uz.js +0 -155
  537. package/build/server/chunks/_page.svelte-F3gki1Uz.js.map +0 -1
  538. package/build/server/chunks/_page.svelte-GcuuPiXq.js.map +0 -1
  539. package/build/server/chunks/_page.svelte-K6kU7jIW.js.map +0 -1
  540. package/build/server/chunks/_server.ts-BQZ6mdSh.js +0 -93
  541. package/build/server/chunks/_server.ts-BQZ6mdSh.js.map +0 -1
  542. package/build/server/chunks/_server.ts-B_dmjFtu.js.map +0 -1
  543. package/build/server/chunks/_server.ts-BmRwgrKB.js +0 -67
  544. package/build/server/chunks/_server.ts-BmRwgrKB.js.map +0 -1
  545. package/build/server/chunks/_server.ts-CT0jVfA6.js.map +0 -1
  546. package/build/server/chunks/_server.ts-Cf_ZLxIl.js.map +0 -1
  547. package/build/server/chunks/_server.ts-CixURe5F.js +0 -49
  548. package/build/server/chunks/_server.ts-CixURe5F.js.map +0 -1
  549. package/build/server/chunks/_server.ts-CuLEqJd2.js.map +0 -1
  550. package/build/server/chunks/_server.ts-CvkF5YMt.js +0 -97
  551. package/build/server/chunks/_server.ts-CvkF5YMt.js.map +0 -1
  552. package/build/server/chunks/_server.ts-CyIO3STA.js +0 -73
  553. package/build/server/chunks/_server.ts-CyIO3STA.js.map +0 -1
  554. package/build/server/chunks/_server.ts-CzIZ-UYy.js +0 -113
  555. package/build/server/chunks/_server.ts-CzIZ-UYy.js.map +0 -1
  556. package/build/server/chunks/_server.ts-D3FpBEaY.js.map +0 -1
  557. package/build/server/chunks/_server.ts-Do0cbyyq.js.map +0 -1
  558. package/build/server/chunks/_server.ts-Dy7MOoFx.js.map +0 -1
  559. package/build/server/chunks/_server.ts-HHMqD_RA.js.map +0 -1
  560. package/build/server/chunks/_server.ts-s2Seq_VN.js.map +0 -1
  561. package/build/server/chunks/_server.ts-w4ncTcy1.js.map +0 -1
  562. package/build/server/chunks/_server.ts-ykET4T6s.js.map +0 -1
  563. package/build/server/chunks/addon-helpers-tZ_tAgFZ.js +0 -64
  564. package/build/server/chunks/addon-helpers-tZ_tAgFZ.js.map +0 -1
  565. package/build/server/chunks/compose-args2-BFOGDQne.js.map +0 -1
  566. package/build/server/chunks/connections-api-DlEoE3-k.js +0 -35
  567. package/build/server/chunks/connections-api-DlEoE3-k.js.map +0 -1
  568. package/build/server/chunks/docker2-BYFlumV1.js.map +0 -1
  569. package/build/server/chunks/endpoints-IFTldlrt.js +0 -473
  570. package/build/server/chunks/endpoints-IFTldlrt.js.map +0 -1
  571. package/build/server/chunks/features-BW-bVsl8.js +0 -118
  572. package/build/server/chunks/features-BW-bVsl8.js.map +0 -1
  573. package/build/server/chunks/helpers-DxodR6tq.js.map +0 -1
  574. package/build/server/chunks/hooks.server-Bzj8OieV.js.map +0 -1
  575. package/build/server/chunks/http-CfHMreaI.js.map +0 -1
  576. package/build/server/chunks/landing-DhaVkN2f.js.map +0 -1
  577. package/build/server/chunks/network-preset-CJ1RRnki.js.map +0 -1
  578. package/build/server/chunks/runtime-context.svelte-C5zNEC6u.js.map +0 -1
  579. package/build/server/chunks/speakable-text-BflxDDdY.js +0 -65
  580. package/build/server/chunks/speakable-text-BflxDDdY.js.map +0 -1
  581. package/build/server/chunks/src-DbArH65P.js.map +0 -1
  582. package/build/server/chunks/voice-state.svelte-2hAkP5Di.js +0 -539
  583. package/build/server/chunks/voice-state.svelte-2hAkP5Di.js.map +0 -1
  584. /package/build/client/_app/immutable/assets/{IconActivity.BdXOPwBm.css → ChatMessage.BdXOPwBm.css} +0 -0
  585. /package/build/client/_app/immutable/assets/{IconActivity.BdXOPwBm.css.br → ChatMessage.BdXOPwBm.css.br} +0 -0
  586. /package/build/client/_app/immutable/assets/{IconActivity.BdXOPwBm.css.gz → ChatMessage.BdXOPwBm.css.gz} +0 -0
  587. /package/build/client/_app/immutable/chunks/{DD22UF1L.js → DD22UF1L2.js} +0 -0
  588. /package/build/client/_app/immutable/chunks/{DD22UF1L.js.br → DD22UF1L2.js.br} +0 -0
  589. /package/build/client/_app/immutable/chunks/{DD22UF1L.js.gz → DD22UF1L2.js.gz} +0 -0
@@ -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":"IconSoundOn-DZGaQz_p.js","sources":["../../../.svelte-kit/adapter-node/chunks/IconSoundOn.js"],"sourcesContent":["import { U as escape_html, V as attr, a as derived, n as attr_class, o as ensure_array_like, u as stringify } from \"./dev.js\";\nimport \"./index-server.js\";\nimport { c as voiceState, r as speakText, s as stopSpeaking } from \"./voice-state.svelte.js\";\nimport { A as abortChatTurn, C as extractToolUpdate, E as partSnapshotType, F as rejectChatQuestion, I as replyChatPermission, L as replyChatQuestion, M as getSessionMessages, N as listSessions, R as sendChatMessage, S as extractTextDelta, T as isTurnEnd, V as isUserFacingTool, _ as SvelteMap, a as formatRelativeTime, b as extractQuestionAsk, d as registerActivationGuard, g as subscribeSessionEvents, h as notifyAssistantReply, i as formatDateTime, j as createSession, l as endpointsService, m as notifyAssistantError, u as onConnectionActivated, w as isSessionError, x as extractStepUpdate, y as extractPermissionAsk, z as startChatMessageTurn } from \"./IconStop.js\";\nimport { t as Spinner } from \"./Spinner.js\";\n//#region src/lib/advanced-mode-state.svelte.ts\nvar ADVANCED_MODE_STORAGE_KEY = \"openpalm.chat.advanced\";\nvar AdvancedModeService = class {\n\tenabled = false;\n\tinitialized = false;\n\tinit() {\n\t\tif (typeof window === \"undefined\" || this.initialized) return;\n\t\tthis.enabled = this.#readStoredPreference();\n\t\tthis.initialized = true;\n\t}\n\tsetEnabled(value) {\n\t\tthis.enabled = value;\n\t\tthis.#writeStoredPreference(value);\n\t}\n\ttoggle() {\n\t\tconst next = !this.enabled;\n\t\tthis.setEnabled(next);\n\t\treturn next;\n\t}\n\tpreferredChatPath() {\n\t\treturn this.enabled ? \"/advanced\" : \"/chat\";\n\t}\n\t#readStoredPreference() {\n\t\tif (typeof window === \"undefined\") return false;\n\t\ttry {\n\t\t\treturn window.localStorage.getItem(ADVANCED_MODE_STORAGE_KEY) === \"1\";\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t}\n\t#writeStoredPreference(value) {\n\t\tif (typeof window === \"undefined\") return;\n\t\ttry {\n\t\t\twindow.localStorage.setItem(ADVANCED_MODE_STORAGE_KEY, value ? \"1\" : \"0\");\n\t\t} catch {}\n\t}\n};\nvar advancedModeService = new AdvancedModeService();\n//#endregion\n//#region src/lib/voice/earcon.ts\n/**\n* Earcon feedback — a short two-tone blip acknowledging a sent message,\n* replacing the old spoken ack phrases. Pure WebAudio: no asset files and\n* no TTS engine required, so the ack works wherever audio output exists.\n*\n* playAck runs inside the send-click user gesture, which also primes the\n* browser's autoplay policy for the TTS audio that follows.\n*\n* Only access browser APIs (window, AudioContext) from playAck — never at\n* module top level — for SSR safety.\n*/\nvar ctx = null;\n/** One sine tone with a fast-attack / fast-decay gain envelope. */\nfunction tone(context, frequency, startAt, durationS) {\n\tconst osc = context.createOscillator();\n\tconst gain = context.createGain();\n\tosc.type = \"sine\";\n\tosc.frequency.value = frequency;\n\tgain.gain.setValueAtTime(0, startAt);\n\tgain.gain.linearRampToValueAtTime(.08, startAt + .005);\n\tgain.gain.linearRampToValueAtTime(0, startAt + durationS);\n\tosc.connect(gain);\n\tgain.connect(context.destination);\n\tosc.start(startAt);\n\tosc.stop(startAt + durationS + .01);\n}\n/**\n* Play the \"message sent\" ack: two quick ascending sine tones, total under\n* 200ms. All failures are swallowed — the ack is best-effort feedback and\n* must never surface an error or block the send path.\n*/\nfunction playAck() {\n\tif (typeof window === \"undefined\") return;\n\ttry {\n\t\tif (!ctx) {\n\t\t\tconst Ctor = window.AudioContext ?? window.webkitAudioContext;\n\t\t\tif (!Ctor) return;\n\t\t\tctx = new Ctor();\n\t\t}\n\t\tif (ctx.state === \"suspended\") ctx.resume().catch(() => {});\n\t\tconst now = ctx.currentTime;\n\t\ttone(ctx, 880, now, .06);\n\t\ttone(ctx, 1320, now + .07, .08);\n\t} catch {}\n}\n//#endregion\n//#region src/lib/voice/sentence-stream.ts\n/**\n* Incremental sentence chunker for streamed TTS. As the assistant reply\n* streams in, the chat layer calls `extractSpeakableChunks` with the whole\n* accumulated buffer plus the offset it has already spoken up to; each\n* returned chunk is a complete sentence (or merged run of short sentences)\n* that can be handed to the speak queue immediately, so audio starts within\n* one sentence of the reply instead of after the full turn.\n*\n* Pure and dependency-free like speakable-text.ts — markdown stripping is\n* NOT done here (playOne applies toSpeakableText per chunk).\n*\n* Known limitations (accepted for v1): abbreviations outside the short\n* guard list below and initials cut early because they look like sentence\n* ends; a decimal split across two deltas (\"3.\" then \"14\") cuts mid-number\n* when whitespace happens to follow the dot. Both cost a short pause in the\n* audio, never lost text.\n*/\n/**\n* Chunks shorter than this merge forward into the following sentence — a\n* one-word utterance per TTS request wastes a round trip and sounds choppy.\n*/\nvar MIN_CHUNK_CHARS = 25;\n/**\n* Best-effort abbreviation guard: a period straight after one of these\n* tokens is almost never a sentence end (\"Dr. Smith\", \"e.g. this\"), so the\n* chunker skips the cut. Deliberately short — a missing abbreviation only\n* costs an early cut (short audio pause), a false positive only merges two\n* sentences into one chunk. Matched case-insensitively.\n*/\nvar ABBREVIATIONS = new Set([\n\t\"dr\",\n\t\"mr\",\n\t\"mrs\",\n\t\"ms\",\n\t\"prof\",\n\t\"st\",\n\t\"vs\",\n\t\"etc\",\n\t\"e.g\",\n\t\"i.e\",\n\t\"approx\"\n]);\n/**\n* Abbreviations matched case-SENSITIVELY: lowercase \"no\" is an ordinary word\n* that legitimately ends sentences (\"the answer is no.\"), while \"No. 5\" is\n* the numero abbreviation.\n*/\nvar CASED_ABBREVIATIONS = new Set([\"No\"]);\n/**\n* True when the token immediately before the period at `periodIndex` is a\n* known abbreviation. The token is scanned back over letters and interior\n* periods so multi-part abbreviations (\"e.g.\", \"i.e.\") match at their final\n* period (their interior periods are never cut candidates — no whitespace\n* follows them).\n*/\nfunction endsWithAbbreviation(buffer, periodIndex) {\n\tlet start = periodIndex;\n\twhile (start > 0 && /[a-zA-Z.]/.test(buffer[start - 1])) start -= 1;\n\tconst token = buffer.slice(start, periodIndex);\n\tif (!token) return false;\n\treturn ABBREVIATIONS.has(token.toLowerCase()) || CASED_ABBREVIATIONS.has(token);\n}\nfunction extractSpeakableChunks(buffer, offset) {\n\tconst chunks = [];\n\tlet nextOffset = offset;\n\tlet chunkStart = offset;\n\tlet inFence = false;\n\tlet i = 0;\n\twhile (i < buffer.length) {\n\t\tif (buffer.startsWith(\"```\", i)) {\n\t\t\tinFence = !inFence;\n\t\t\ti += 3;\n\t\t\tcontinue;\n\t\t}\n\t\tif (i < offset || inFence) {\n\t\t\ti += 1;\n\t\t\tcontinue;\n\t\t}\n\t\tlet cut = -1;\n\t\tconst ch = buffer[i];\n\t\tif ((ch === \".\" || ch === \"!\" || ch === \"?\") && i + 1 < buffer.length && /\\s/.test(buffer[i + 1])) {\n\t\t\tif (ch !== \".\" || !endsWithAbbreviation(buffer, i)) cut = i + 1;\n\t\t} else if (ch === \"\\n\" && buffer[i + 1] === \"\\n\") cut = i + 2;\n\t\tif (cut !== -1) {\n\t\t\tconst candidate = buffer.slice(chunkStart, cut).trim();\n\t\t\tif (candidate.length >= MIN_CHUNK_CHARS) {\n\t\t\t\tchunks.push(candidate);\n\t\t\t\tchunkStart = cut;\n\t\t\t\tnextOffset = cut;\n\t\t\t}\n\t\t}\n\t\ti += 1;\n\t}\n\treturn {\n\t\tchunks,\n\t\tnextOffset\n\t};\n}\n//#endregion\n//#region src/lib/chat/assistant-error.ts\n/**\n* Map an unknown thrown value to a user-facing string.\n*\n* - 503 / 502 -> \"Assistant is not reachable.\" (+ \" Try reconnecting.\" when\n* `reconnectHint` is set).\n* - 401 -> \"Sign-in required.\"\n* - otherwise -> the error's own `message`, falling back to `fallback`.\n*/\nfunction mapAssistantError(e, opts = {}) {\n\tconst { fallback = \"Something went wrong.\", reconnectHint = false } = opts;\n\tconst err = e ?? {};\n\tif (err.status === 503 || err.status === 502) return reconnectHint ? \"Assistant is not reachable. Try reconnecting.\" : \"Assistant is not reachable.\";\n\tif (err.status === 401) return \"Sign-in required.\";\n\treturn err.message ?? fallback;\n}\n//#endregion\n//#region src/lib/chat/chat-state.svelte.ts\nvar STREAM_TURN_TIMEOUT_MS = 15e4;\nfunction emptyEndpointState() {\n\treturn {\n\t\tsessions: [],\n\t\tsessionsLoaded: false,\n\t\tsessionsLoading: false,\n\t\tsessionsError: \"\",\n\t\tactiveSessionId: null\n\t};\n}\nvar ChatService = class {\n\t/**\n\t* Per-endpoint session cache. Reassigned on every mutation so Svelte 5\n\t* picks up the change. Never mutate the existing Map in place.\n\t*/\n\tbyEndpoint = new SvelteMap();\n\t/**\n\t* Mirrored from `endpointsService.activeId` via `onEndpointChanged()`\n\t* so the chat layer doesn't have to import the endpoint store.\n\t*/\n\tactiveEndpointId = \"default\";\n\t/** Messages for the currently rendered session only. */\n\tentries = [];\n\tentriesLoading = false;\n\tsending = false;\n\terror = \"\";\n\t/**\n\t* Text of the most recent send() call that failed before reaching the\n\t* assistant. Cleared at the start of every send() (success or not) so it\n\t* only ever reflects the latest failure. Drives the error banner's retry\n\t* button.\n\t*/\n\tlastFailedText = \"\";\n\tpendingAssistantText = \"\";\n\tpendingToolStates = [];\n\tpendingPermission = null;\n\tpendingQuestion = null;\n\t/**\n\t* Set true while the SSE event stream is connected. Surfaced by the\n\t* SessionPicker as a tiny green/gray dot so the operator can see at a\n\t* glance whether live updates are flowing.\n\t*/\n\tliveConnected = false;\n\t/**\n\t* Active SSE subscription handle. Reassigned on every endpoint switch.\n\t* Plain field (not `$state`) — only the chat service touches it.\n\t*/\n\t_unsubscribeEvents = null;\n\t_pendingTurn = null;\n\t#activeSessionId = derived(() => this.byEndpoint.get(this.activeEndpointId)?.activeSessionId ?? null);\n\tget activeSessionId() {\n\t\treturn this.#activeSessionId();\n\t}\n\tset activeSessionId($$value) {\n\t\treturn this.#activeSessionId($$value);\n\t}\n\t#toolLog = derived(() => {\n\t\tconst seen = {};\n\t\tconst out = [];\n\t\tconst push = (states, turnKey) => {\n\t\t\tif (!states) return;\n\t\t\tfor (const tool of states) {\n\t\t\t\tif (seen[tool.id]) continue;\n\t\t\t\tif (!isUserFacingTool(tool)) continue;\n\t\t\t\tseen[tool.id] = true;\n\t\t\t\tout.push({\n\t\t\t\t\t...tool,\n\t\t\t\t\tturnKey\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\tfor (const entry of this.entries) push(entry.toolStates, entry.id);\n\t\tpush(this.pendingToolStates, \"pending\");\n\t\treturn out;\n\t});\n\tget toolLog() {\n\t\treturn this.#toolLog();\n\t}\n\tset toolLog($$value) {\n\t\treturn this.#toolLog($$value);\n\t}\n\tsetEndpointState(id, patch) {\n\t\tconst next = {\n\t\t\t...this.byEndpoint.get(id) ?? emptyEndpointState(),\n\t\t\t...patch\n\t\t};\n\t\tthis.byEndpoint = new SvelteMap(this.byEndpoint).set(id, next);\n\t\treturn next;\n\t}\n\t/**\n\t* Handle an endpoint switch: load sessions, restore prior or pick\n\t* newest, fetch messages. Mid-generation switches are blocked.\n\t*/\n\tasync onEndpointChanged(id) {\n\t\tif (this.sending) {\n\t\t\tif (id === this.activeEndpointId) {\n\t\t\t\tthis.error = \"\";\n\t\t\t\tif (!this.liveConnected) this._resubscribeEvents();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\treturn;\n\t\t}\n\t\tthis.activeEndpointId = id;\n\t\tthis.entries = [];\n\t\tthis.error = \"\";\n\t\tthis._resubscribeEvents();\n\t\tawait this.loadSessions();\n\t\tconst state = this.byEndpoint.get(id) ?? emptyEndpointState();\n\t\tconst sessions = state.sessions ?? [];\n\t\tconst previous = state.activeSessionId;\n\t\tlet nextSessionId = null;\n\t\tif (previous && sessions.some((s) => s.id === previous)) nextSessionId = previous;\n\t\telse if (sessions.length > 0) nextSessionId = sessions[0].id;\n\t\tif (nextSessionId !== state.activeSessionId) this.setEndpointState(id, { activeSessionId: nextSessionId });\n\t\tif (nextSessionId) await this.openSession(nextSessionId);\n\t}\n\t/**\n\t* Tear down any prior SSE subscription and open a new one. Handlers\n\t* dispatch session.created / updated / deleted into the per-endpoint\n\t* cache, mirroring out-of-band changes (CLI, other clients).\n\t*/\n\t_resubscribeEvents() {\n\t\tif (this._unsubscribeEvents) {\n\t\t\ttry {\n\t\t\t\tthis._unsubscribeEvents();\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(\"[chat] failed to unsubscribe from previous event stream\", err);\n\t\t\t}\n\t\t\tthis._unsubscribeEvents = null;\n\t\t}\n\t\tthis.liveConnected = false;\n\t\tthis._unsubscribeEvents = subscribeSessionEvents({\n\t\t\tonCreated: (id) => {\n\t\t\t\tthis._onSessionCreated(id);\n\t\t\t},\n\t\t\tonUpdated: (id, info) => {\n\t\t\t\tthis._onSessionUpdated(id, info);\n\t\t\t},\n\t\t\tonDeleted: (id) => {\n\t\t\t\tthis._onSessionDeleted(id);\n\t\t\t},\n\t\t\tonEvent: (event) => {\n\t\t\t\tthis._onLiveEvent(event);\n\t\t\t},\n\t\t\tonConnect: () => {\n\t\t\t\tthis.liveConnected = true;\n\t\t\t},\n\t\t\tonDisconnect: () => {\n\t\t\t\tthis.liveConnected = false;\n\t\t\t\tif (this._pendingTurn) this._failPendingTurn(/* @__PURE__ */ new Error(\"Assistant event stream disconnected.\"));\n\t\t\t}\n\t\t});\n\t}\n\t_toRawEvent(event) {\n\t\treturn {\n\t\t\ttype: event.type,\n\t\t\tproperties: event.properties ?? {}\n\t\t};\n\t}\n\t_upsertPendingToolState(update) {\n\t\tconst id = update.callID || `${update.tool}:${this.pendingToolStates.length}`;\n\t\tconst next = {\n\t\t\tid,\n\t\t\tkind: \"tool\",\n\t\t\ttool: update.tool,\n\t\t\tstatus: update.status,\n\t\t\ttitle: update.title ?? update.tool,\n\t\t\tdetail: update.detail ?? \"\",\n\t\t\toutput: update.output ?? \"\",\n\t\t\terror: update.error ?? \"\",\n\t\t\tupdatedAt: Date.now()\n\t\t};\n\t\tif (!this.pendingToolStates.find((item) => item.id === id)) {\n\t\t\tthis.pendingToolStates = [...this.pendingToolStates, next];\n\t\t\treturn;\n\t\t}\n\t\tthis.pendingToolStates = this.pendingToolStates.map((item) => item.id === id ? {\n\t\t\t...item,\n\t\t\t...next\n\t\t} : item);\n\t}\n\t_upsertPendingStepState(update) {\n\t\tconst next = {\n\t\t\tid: update.id,\n\t\t\tkind: \"step\",\n\t\t\ttool: \"step\",\n\t\t\tstatus: update.status,\n\t\t\ttitle: update.title,\n\t\t\tdetail: update.detail ?? \"\",\n\t\t\toutput: \"\",\n\t\t\terror: \"\",\n\t\t\tupdatedAt: Date.now()\n\t\t};\n\t\tif (!this.pendingToolStates.find((item) => item.id === update.id)) {\n\t\t\tthis.pendingToolStates = [...this.pendingToolStates, next];\n\t\t\treturn;\n\t\t}\n\t\tthis.pendingToolStates = this.pendingToolStates.map((item) => item.id === update.id ? {\n\t\t\t...item,\n\t\t\t...next\n\t\t} : item);\n\t}\n\t_resetPendingRenderState() {\n\t\tthis.pendingAssistantText = \"\";\n\t\tthis.pendingToolStates = [];\n\t\tthis.pendingPermission = null;\n\t\tthis.pendingQuestion = null;\n\t}\n\t_appendAssistantReply(text, toolStates) {\n\t\tconst assistantEntry = {\n\t\t\tid: crypto.randomUUID(),\n\t\t\trole: \"assistant\",\n\t\t\ttext,\n\t\t\ttimestamp: Date.now(),\n\t\t\t...toolStates && toolStates.length > 0 ? { toolStates: [...toolStates] } : {}\n\t\t};\n\t\tthis.entries = [...this.entries, assistantEntry];\n\t}\n\t_clearPendingTurn() {\n\t\tconst pending = this._pendingTurn;\n\t\tif (!pending) return null;\n\t\tclearTimeout(pending.timeout);\n\t\tthis._pendingTurn = null;\n\t\treturn pending;\n\t}\n\t/**\n\t* Speak `text` via auto-TTS iff the browser supports it and the operator\n\t* has enabled auto-speak. Single guard for spoken replies so the\n\t* `ttsSupported && ttsAutoEnabled` check lives in one place.\n\t*/\n\tmaybeSpeak(text) {\n\t\tif (!voiceState.ttsSupported || !voiceState.ttsAutoEnabled) return;\n\t\tspeakText(text);\n\t}\n\t/**\n\t* Finalize a completed turn: append the assistant reply (with any captured\n\t* tool activity), clear the pending render state, bump the session to the\n\t* top, auto-speak the reply, and fire the reply notification. Shared by the\n\t* streaming (`_finishPendingTurn`) and non-streaming (`send`) paths so the\n\t* sequence — including the answered-question note preservation — exists once.\n\t*/\n\tfinalizeTurn(args) {\n\t\tconst raw = args.replyText ?? this.pendingAssistantText;\n\t\tconst text = raw.trim() || \"(no response)\";\n\t\tif (this.pendingQuestion?.status === \"answered\" && this.pendingQuestion.message) {\n\t\t\tconst questionNote = {\n\t\t\t\tid: crypto.randomUUID(),\n\t\t\t\ttype: \"note\",\n\t\t\t\tlabel: \"Question answered\",\n\t\t\t\ttext: this.pendingQuestion.message,\n\t\t\t\ttimestamp: Date.now()\n\t\t\t};\n\t\t\tthis.entries = [...this.entries, questionNote];\n\t\t}\n\t\tconst capturedToolStates = this.pendingToolStates.length > 0 ? [...this.pendingToolStates] : void 0;\n\t\tthis._appendAssistantReply(text, capturedToolStates);\n\t\tthis._resetPendingRenderState();\n\t\tthis._bumpSession(args.sessionId);\n\t\tif (text !== \"(no response)\" && !args.suppressSpeech) {\n\t\t\tconst remainder = raw.slice(args.spokenOffset ?? 0).trim();\n\t\t\tif (remainder) this.maybeSpeak(remainder);\n\t\t}\n\t\tnotifyAssistantReply(text === \"(no response)\" ? \"\" : text);\n\t}\n\t_finishPendingTurn(replyText) {\n\t\tconst pending = this._clearPendingTurn();\n\t\tif (!pending) return;\n\t\tthis.finalizeTurn({\n\t\t\tsessionId: pending.sessionId,\n\t\t\treplyText,\n\t\t\tspokenOffset: pending.spokenOffset\n\t\t});\n\t\tpending.resolve();\n\t}\n\t_failPendingTurn(error) {\n\t\tconst pending = this._clearPendingTurn();\n\t\tif (!pending) return;\n\t\tthis._resetPendingRenderState();\n\t\tpending.reject(error);\n\t}\n\t_bumpSession(sessionId) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId);\n\t\tif (!prev) return;\n\t\tconst now = Date.now();\n\t\tconst existing = prev.sessions.find((s) => s.id === sessionId);\n\t\tconst updated = existing ? {\n\t\t\t...existing,\n\t\t\tupdatedAt: now\n\t\t} : {\n\t\t\tid: sessionId,\n\t\t\ttitle: \"\",\n\t\t\tcreatedAt: now,\n\t\t\tupdatedAt: now\n\t\t};\n\t\tconst rest = prev.sessions.filter((s) => s.id !== sessionId);\n\t\tthis.setEndpointState(endpointId, { sessions: [updated, ...rest] });\n\t}\n\t_onLiveEvent(event) {\n\t\tconst pending = this._pendingTurn;\n\t\tif (!pending) return;\n\t\tconst raw = this._toRawEvent(event);\n\t\tif (pending.endpointId !== this.activeEndpointId) return;\n\t\tconst snapshot = partSnapshotType(raw);\n\t\tif (snapshot?.type === \"reasoning\") pending.reasoningPartIds.add(snapshot.partID);\n\t\tconst textDelta = extractTextDelta(raw, pending.sessionId, pending.reasoningPartIds);\n\t\tif (textDelta) {\n\t\t\tthis.pendingAssistantText += textDelta;\n\t\t\tif (voiceState.ttsSupported && voiceState.ttsAutoEnabled) {\n\t\t\t\tconst { chunks, nextOffset } = extractSpeakableChunks(this.pendingAssistantText, pending.spokenOffset);\n\t\t\t\tfor (const chunk of chunks) speakText(chunk);\n\t\t\t\tpending.spokenOffset = nextOffset;\n\t\t\t}\n\t\t}\n\t\tconst toolUpdate = extractToolUpdate(raw, pending.sessionId);\n\t\tif (toolUpdate) this._upsertPendingToolState(toolUpdate);\n\t\tconst stepUpdate = extractStepUpdate(raw, pending.sessionId);\n\t\tif (stepUpdate) this._upsertPendingStepState(stepUpdate);\n\t\tconst permissionAsk = extractPermissionAsk(raw, pending.sessionId);\n\t\tif (permissionAsk) this.pendingPermission = {\n\t\t\t...permissionAsk,\n\t\t\tstatus: \"pending\",\n\t\t\tdecision: \"\",\n\t\t\tmessage: \"\"\n\t\t};\n\t\tconst questionAsk = extractQuestionAsk(raw, pending.sessionId);\n\t\tif (questionAsk) this.pendingQuestion = {\n\t\t\t...questionAsk,\n\t\t\tstatus: \"pending\",\n\t\t\tanswers: questionAsk.questions.map(() => \"\"),\n\t\t\tmessage: \"\"\n\t\t};\n\t\tif (isSessionError(raw, pending.sessionId)) {\n\t\t\tthis._failPendingTurn(/* @__PURE__ */ new Error(\"Assistant session ended unexpectedly.\"));\n\t\t\treturn;\n\t\t}\n\t\tif (isTurnEnd(raw, pending.sessionId)) this._finishPendingTurn();\n\t}\n\t/**\n\t* A session was created out-of-band — prepend to the active endpoint's\n\t* list if not already known. Do not auto-switch to it: the user owns\n\t* navigation.\n\t*/\n\t_onSessionCreated(sessionId) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId) ?? emptyEndpointState();\n\t\tif (prev.sessions.some((s) => s.id === sessionId)) return;\n\t\tconst now = Date.now();\n\t\tconst summary = {\n\t\t\tid: sessionId,\n\t\t\ttitle: \"\",\n\t\t\tcreatedAt: now,\n\t\t\tupdatedAt: now\n\t\t};\n\t\tthis.setEndpointState(endpointId, {\n\t\t\tsessions: [summary, ...prev.sessions],\n\t\t\tsessionsLoaded: true\n\t\t});\n\t}\n\t/**\n\t* A session was touched out-of-band — patch its updatedAt (and title if\n\t* the event carries one) and re-sort. Do NOT refetch messages: if the\n\t* user is viewing this session, leave the in-memory entries alone for\n\t* v1. A follow-up phase can reconcile message deltas via the assistant\n\t* event stream.\n\t*/\n\t_onSessionUpdated(sessionId, info) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId);\n\t\tif (!prev) return;\n\t\tconst idx = prev.sessions.findIndex((s) => s.id === sessionId);\n\t\tif (idx === -1) {\n\t\t\tthis._onSessionCreated(sessionId);\n\t\t\treturn;\n\t\t}\n\t\tconst existing = prev.sessions[idx];\n\t\tconst sessions = [{\n\t\t\t...existing,\n\t\t\ttitle: info?.title ?? existing.title,\n\t\t\tupdatedAt: info?.updatedAt ?? Date.now()\n\t\t}, ...prev.sessions.filter((s) => s.id !== sessionId)];\n\t\tsessions.sort((a, b) => b.updatedAt - a.updatedAt);\n\t\tthis.setEndpointState(endpointId, { sessions });\n\t}\n\t/**\n\t* A session was deleted out-of-band. Remove it from the list; if it was\n\t* the active session, fall back to the newest remaining session (or\n\t* null) and reload its messages.\n\t*/\n\tasync _onSessionDeleted(sessionId) {\n\t\tconst endpointId = this.activeEndpointId;\n\t\tconst prev = this.byEndpoint.get(endpointId);\n\t\tif (!prev) return;\n\t\tif (!prev.sessions.some((s) => s.id === sessionId)) return;\n\t\tconst sessions = prev.sessions.filter((s) => s.id !== sessionId);\n\t\tconst wasActive = prev.activeSessionId === sessionId;\n\t\tconst nextActive = wasActive ? sessions[0]?.id ?? null : prev.activeSessionId;\n\t\tthis.setEndpointState(endpointId, {\n\t\t\tsessions,\n\t\t\tactiveSessionId: nextActive\n\t\t});\n\t\tif (wasActive) {\n\t\t\tthis.entries = [];\n\t\t\tif (nextActive) await this.openSession(nextActive);\n\t\t}\n\t}\n\t/**\n\t* Sync one endpoint's session cursor without loading messages or changing\n\t* which endpoint is active. Advanced uses this only after verifying that its\n\t* captured endpoint and probe generation are still current.\n\t*/\n\tsetActiveSessionId(sessionId, endpointId = this.activeEndpointId) {\n\t\tthis.setEndpointState(endpointId, { activeSessionId: sessionId });\n\t}\n\t/** Align the in-memory cursor owner on a validated direct Advanced entry. */\n\talignActiveEndpoint(endpointId) {\n\t\tthis.activeEndpointId = endpointId;\n\t}\n\t/** Fetch the session list for the active endpoint. */\n\tasync loadSessions() {\n\t\tconst id = this.activeEndpointId;\n\t\tthis.setEndpointState(id, {\n\t\t\tsessionsLoading: true,\n\t\t\tsessionsError: \"\"\n\t\t});\n\t\ttry {\n\t\t\tconst sessions = await listSessions();\n\t\t\tthis.setEndpointState(id, {\n\t\t\t\tsessions,\n\t\t\t\tsessionsLoaded: true,\n\t\t\t\tsessionsLoading: false,\n\t\t\t\tsessionsError: \"\"\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tthis.setEndpointState(id, {\n\t\t\t\tsessionsLoading: false,\n\t\t\t\tsessionsError: mapAssistantError(e, { fallback: \"Failed to load sessions.\" })\n\t\t\t});\n\t\t}\n\t}\n\t/** Select a session and render its messages. */\n\tasync openSession(sessionId) {\n\t\tif (this.sending) {\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\treturn;\n\t\t}\n\t\tconst endpointId = this.activeEndpointId;\n\t\tthis.setEndpointState(endpointId, { activeSessionId: sessionId });\n\t\tthis.entries = [];\n\t\tthis._resetPendingRenderState();\n\t\tthis.entriesLoading = true;\n\t\tthis.error = \"\";\n\t\ttry {\n\t\t\tconst messages = await getSessionMessages(sessionId);\n\t\t\tif (this.activeEndpointId === endpointId && this.byEndpoint.get(endpointId)?.activeSessionId === sessionId) this.entries = messages;\n\t\t} catch (e) {\n\t\t\tthis.error = mapAssistantError(e, {\n\t\t\t\tfallback: \"Failed to load messages.\",\n\t\t\t\treconnectHint: true\n\t\t\t});\n\t\t} finally {\n\t\t\tthis.entriesLoading = false;\n\t\t}\n\t}\n\t/** Create a new session on the active endpoint and select it. */\n\tasync startNewSession() {\n\t\tif (this.sending) {\n\t\t\tthis.error = \"Wait for the current reply to finish before switching.\";\n\t\t\treturn null;\n\t\t}\n\t\tconst endpointId = this.activeEndpointId;\n\t\tthis.error = \"\";\n\t\ttry {\n\t\t\tconst { id } = await createSession();\n\t\t\tconst now = Date.now();\n\t\t\tconst summary = {\n\t\t\t\tid,\n\t\t\t\ttitle: \"\",\n\t\t\t\tcreatedAt: now,\n\t\t\t\tupdatedAt: now\n\t\t\t};\n\t\t\tconst prev = this.byEndpoint.get(endpointId) ?? emptyEndpointState();\n\t\t\tthis.setEndpointState(endpointId, {\n\t\t\t\tsessions: [summary, ...prev.sessions.filter((s) => s.id !== id)],\n\t\t\t\tsessionsLoaded: true,\n\t\t\t\tactiveSessionId: id\n\t\t\t});\n\t\t\tthis.entries = [];\n\t\t\tthis._resetPendingRenderState();\n\t\t\treturn id;\n\t\t} catch (e) {\n\t\t\tconst err = e;\n\t\t\tthis.error = `Failed to start session: ${err.message ?? \"unknown error\"}`;\n\t\t\treturn null;\n\t\t}\n\t}\n\t/**\n\t* Send a message in the active session. If none is active, create one\n\t* first (matches the \"zero sessions\" empty-state flow).\n\t*/\n\tasync send(text) {\n\t\tconst trimmed = text.trim();\n\t\tif (!trimmed) return;\n\t\tthis.lastFailedText = \"\";\n\t\tif (this.pendingQuestion && this.pendingQuestion.questions.length === 1 && this.sending) {\n\t\t\tawait this.answerQuestion(trimmed);\n\t\t\treturn;\n\t\t}\n\t\tif (this.pendingQuestion && this.sending) {\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...this.pendingQuestion,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tmessage: \"This question has multiple parts and must be answered with the provided controls.\"\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\t\tif (this.sending) return;\n\t\tlet sessionId = this.activeSessionId;\n\t\tif (!sessionId) {\n\t\t\tsessionId = await this.startNewSession();\n\t\t\tif (!sessionId) return;\n\t\t}\n\t\tconst userEntry = {\n\t\t\tid: crypto.randomUUID(),\n\t\t\trole: \"user\",\n\t\t\ttext: trimmed,\n\t\t\ttimestamp: Date.now()\n\t\t};\n\t\tthis.entries = [...this.entries, userEntry];\n\t\tthis._resetPendingRenderState();\n\t\tthis.error = \"\";\n\t\tthis.sending = true;\n\t\tif (voiceState.ttsAutoEnabled) playAck();\n\t\ttry {\n\t\t\tif (this._unsubscribeEvents && this.liveConnected) await new Promise((resolve, reject) => {\n\t\t\t\tconst timeout = setTimeout(() => {\n\t\t\t\t\tthis._failPendingTurn(/* @__PURE__ */ new Error(\"Timed out waiting for the assistant response.\"));\n\t\t\t\t}, STREAM_TURN_TIMEOUT_MS);\n\t\t\t\tthis._pendingTurn = {\n\t\t\t\t\tendpointId: this.activeEndpointId,\n\t\t\t\t\tsessionId,\n\t\t\t\t\tspokenOffset: 0,\n\t\t\t\t\treasoningPartIds: /* @__PURE__ */ new Set(),\n\t\t\t\t\tresolve,\n\t\t\t\t\treject,\n\t\t\t\t\ttimeout\n\t\t\t\t};\n\t\t\t\tstartChatMessageTurn(sessionId, trimmed).catch((error) => {\n\t\t\t\t\tthis._failPendingTurn(error instanceof Error ? error : new Error(String(error)));\n\t\t\t\t});\n\t\t\t});\n\t\t\telse {\n\t\t\t\tconst replyText = (await sendChatMessage(sessionId, trimmed)).parts.filter((p) => p.type === \"text\" && p.text).map((p) => p.text ?? \"\").join(\"\");\n\t\t\t\tthis.finalizeTurn({\n\t\t\t\t\tsessionId,\n\t\t\t\t\treplyText\n\t\t\t\t});\n\t\t\t}\n\t\t} catch (e) {\n\t\t\tthis._resetPendingRenderState();\n\t\t\tthis.entries = this.entries.filter((entry) => entry.id !== userEntry.id);\n\t\t\tthis.lastFailedText = trimmed;\n\t\t\tconst status = e?.status;\n\t\t\tif (status === 503 || status === 502) this.setEndpointState(this.activeEndpointId, { activeSessionId: null });\n\t\t\tthis.error = mapAssistantError(e, {\n\t\t\t\tfallback: \"Message failed.\",\n\t\t\t\treconnectHint: true\n\t\t\t});\n\t\t\tnotifyAssistantError();\n\t\t} finally {\n\t\t\tthis.sending = false;\n\t\t}\n\t}\n\t/**\n\t* Conversation-mode entry point — barge-in aware. The composer's submit\n\t* path keeps calling send() directly (no-op while sending unless a\n\t* question is pending); a spoken utterance must never be silently dropped\n\t* by that guard. If a reply is mid-generation, stop it first — stopTurn()\n\t* halts TTS and finalizes the partial text unspoken — then send the\n\t* utterance. When a question is pending, send() already routes the text\n\t* as the answer, so no stop is needed.\n\t*/\n\tasync sendUtterance(text) {\n\t\tconst trimmed = text.trim();\n\t\tif (!trimmed) return;\n\t\tif (this.sending && !this.pendingQuestion) {\n\t\t\tawait this.stopTurn();\n\t\t\tfor (let i = 0; this.sending && i < 20; i++) await new Promise((resolve) => setTimeout(resolve, 10));\n\t\t\tif (this.sending) {\n\t\t\t\tthis.lastFailedText = trimmed;\n\t\t\t\tthis.error = \"The assistant is still finishing the previous reply — use retry to send your message.\";\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tawait this.send(trimmed);\n\t}\n\t/**\n\t* Stop the in-flight turn. No-op if nothing is sending. The upstream abort\n\t* is best-effort — OpenCode may have already finished or the endpoint may\n\t* be unreachable — the turn is always finished locally regardless so the\n\t* UI never gets stuck waiting on `sending`.\n\t*\n\t* Clearing `_pendingTurn` before resolving is what makes a late SSE\n\t* turn-end for the aborted turn a no-op: `_onLiveEvent` bails out as soon\n\t* as `_pendingTurn` is null.\n\t*/\n\tasync stopTurn() {\n\t\tif (!this.sending) return;\n\t\tconst sessionId = this.activeSessionId;\n\t\tif (sessionId) try {\n\t\t\tawait abortChatTurn(sessionId);\n\t\t} catch {}\n\t\tstopSpeaking();\n\t\tconst pending = this._clearPendingTurn();\n\t\tif (this.pendingAssistantText) this.finalizeTurn({\n\t\t\tsessionId: pending?.sessionId ?? sessionId ?? \"\",\n\t\t\tsuppressSpeech: true\n\t\t});\n\t\telse {\n\t\t\tthis._resetPendingRenderState();\n\t\t\tconst stoppedNote = {\n\t\t\t\tid: crypto.randomUUID(),\n\t\t\t\ttype: \"note\",\n\t\t\t\tlabel: \"Stopped\",\n\t\t\t\ttext: \"Stopped.\",\n\t\t\t\ttimestamp: Date.now()\n\t\t\t};\n\t\t\tthis.entries = [...this.entries, stoppedNote];\n\t\t}\n\t\tpending?.resolve();\n\t}\n\tasync answerPermission(reply) {\n\t\tif (!this.pendingPermission || this.pendingPermission.status === \"submitting\") return;\n\t\tconst current = this.pendingPermission;\n\t\tthis.pendingPermission = {\n\t\t\t...current,\n\t\t\tstatus: \"submitting\",\n\t\t\tdecision: reply,\n\t\t\tmessage: \"\"\n\t\t};\n\t\ttry {\n\t\t\tawait replyChatPermission(current.requestID, reply);\n\t\t\tthis.pendingPermission = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"resolved\",\n\t\t\t\tdecision: reply,\n\t\t\t\tmessage: reply === \"once\" ? `Allowed ${current.permission} once. Waiting for the assistant to continue...` : reply === \"always\" ? `Always allowed future matching ${current.permission} requests.` : `Denied ${current.permission}. Waiting for the assistant to continue...`\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : \"Failed to record permission reply.\";\n\t\t\tthis.pendingPermission = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tdecision: reply,\n\t\t\t\tmessage\n\t\t\t};\n\t\t}\n\t}\n\tsetQuestionAnswer(index, answer) {\n\t\tif (!this.pendingQuestion) return;\n\t\tif (index < 0 || index >= this.pendingQuestion.questions.length) return;\n\t\tconst answers = [...this.pendingQuestion.answers];\n\t\tanswers[index] = answer;\n\t\tthis.pendingQuestion = {\n\t\t\t...this.pendingQuestion,\n\t\t\tanswers,\n\t\t\tmessage: \"\"\n\t\t};\n\t}\n\tasync answerQuestion(answer) {\n\t\tif (!this.pendingQuestion || this.pendingQuestion.status === \"submitting\") return;\n\t\tconst current = this.pendingQuestion;\n\t\tconst answers = current.questions.length === 1 && typeof answer === \"string\" ? [answer.trim()] : current.answers.map((item) => item.trim());\n\t\tif (answers.some((item) => !item)) {\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tmessage: \"Answer every question before submitting.\"\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\t\tthis.pendingQuestion = {\n\t\t\t...current,\n\t\t\tstatus: \"submitting\",\n\t\t\tanswers,\n\t\t\tmessage: \"\"\n\t\t};\n\t\ttry {\n\t\t\tawait replyChatQuestion(current.requestID, answers.map((item) => [item]));\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"answered\",\n\t\t\t\tanswers,\n\t\t\t\tmessage: \"Answer sent.\"\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : \"Failed to send answer.\";\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tanswers,\n\t\t\t\tmessage\n\t\t\t};\n\t\t}\n\t}\n\tasync rejectQuestion() {\n\t\tif (!this.pendingQuestion || this.pendingQuestion.status === \"submitting\") return;\n\t\tconst current = this.pendingQuestion;\n\t\tthis.pendingQuestion = {\n\t\t\t...current,\n\t\t\tstatus: \"submitting\",\n\t\t\tmessage: \"\"\n\t\t};\n\t\ttry {\n\t\t\tawait rejectChatQuestion(current.requestID);\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"rejected\",\n\t\t\t\tmessage: \"Question declined.\"\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : \"Failed to reject question.\";\n\t\t\tthis.pendingQuestion = {\n\t\t\t\t...current,\n\t\t\t\tstatus: \"error\",\n\t\t\t\tmessage\n\t\t\t};\n\t\t}\n\t}\n\treset() {\n\t\tstopSpeaking();\n\t\tthis._clearPendingTurn();\n\t\tthis.entries = [];\n\t\tthis.error = \"\";\n\t\tthis.lastFailedText = \"\";\n\t\tthis._resetPendingRenderState();\n\t\tthis.byEndpoint = new SvelteMap();\n\t\tif (this._unsubscribeEvents) {\n\t\t\ttry {\n\t\t\t\tthis._unsubscribeEvents();\n\t\t\t} catch (err) {\n\t\t\t\tconsole.warn(\"[chat] failed to unsubscribe from event stream during reset\", err);\n\t\t\t}\n\t\t\tthis._unsubscribeEvents = null;\n\t\t}\n\t\tthis.liveConnected = false;\n\t}\n};\nvar chat = new ChatService();\nregisterActivationGuard(() => chat.sending ? \"Wait for the current reply to finish before switching.\" : null);\nonConnectionActivated((id) => chat.onEndpointChanged(id));\n//#endregion\n//#region src/lib/chat/navigation.ts\nfunction encodeWorkspacePath(path) {\n\tconst bytes = new TextEncoder().encode(path);\n\tlet binary = \"\";\n\tfor (const byte of bytes) binary += String.fromCharCode(byte);\n\treturn btoa(binary).replace(/=+$/g, \"\");\n}\nfunction currentChatSessionId() {\n\treturn chat.activeSessionId;\n}\nfunction buildAdvancedPath(sessionId) {\n\tconst params = new URLSearchParams();\n\tif (sessionId) params.set(\"session\", sessionId);\n\tconst query = params.toString();\n\treturn query ? `/advanced?${query}` : \"/advanced\";\n}\nfunction buildChatPath(sessionId, options) {\n\tconst params = new URLSearchParams();\n\tif (sessionId) params.set(\"session\", sessionId);\n\tif (options?.newChat) params.set(\"new\", \"1\");\n\tconst query = params.toString();\n\treturn query ? `/chat?${query}` : \"/chat\";\n}\n/**\n* Build the OpenCode web-UI deep link to a specific session. OpenCode scopes its\n* session list by directory, so the route is `/<base64(directory)>/session/<id>`\n* and the `directory` MUST be the workspace the session actually lives in —\n* resolve it from the session record (`session.directory`), never hardcode it.\n* Without a session id or directory, fall back to the base URL (OpenCode opens\n* its default view) so we never deep-link a session the embedded app can't find.\n*/\nfunction buildAdvancedIframeUrl(baseUrl, sessionId, directory) {\n\tif (!sessionId || !directory) return baseUrl;\n\treturn `${baseUrl.replace(/\\/$/, \"\")}/${encodeWorkspacePath(directory)}/session/${encodeURIComponent(sessionId)}`;\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconAdvanced.svelte\nfunction IconAdvanced($$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=\"M4 17l4-4-4-4\"></path><path d=\"M12 17h8\"></path></svg>`);\n}\n//#endregion\n//#region src/lib/assistant-endpoint.ts\nfunction isLocalAssistantUrl(url) {\n\tif (!url) return true;\n\ttry {\n\t\tconst host = new URL(url).hostname;\n\t\treturn host === \"localhost\" || host === \"127.0.0.1\" || host === \"::1\" || host === \"host.docker.internal\";\n\t} catch {\n\t\treturn true;\n\t}\n}\n//#endregion\n//#region src/lib/session-title.ts\nvar DEFAULT_TITLE_RE = /^New session - (\\d{4}-\\d{2}-\\d{2}T[0-9:.]+Z?)$/;\n/** Resolve a session's display title. */\nfunction resolveSessionTitle(title) {\n\tconst trimmed = (title ?? \"\").trim();\n\tif (!trimmed) return \"Untitled session\";\n\tconst match = DEFAULT_TITLE_RE.exec(trimmed);\n\tif (match) {\n\t\tconst ts = Date.parse(match[1]);\n\t\tif (!Number.isNaN(ts)) return formatDateTime(ts);\n\t}\n\treturn trimmed;\n}\n//#endregion\n//#region src/lib/components/chat/SessionTitle.svelte\nfunction SessionTitle($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { title } = $$props;\n\t\tconst display = derived(() => resolveSessionTitle(title));\n\t\t$$renderer.push(`<!---->${escape_html(display())}`);\n\t});\n}\n//#endregion\n//#region src/lib/components/chat/SessionList.svelte\nfunction SessionList($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Called after a session is opened or started (e.g. to close the drawer). */\n\t\t/** Hide the internal new-session button (use when the parent already provides one). */\n\t\tlet { onChosen, hideNewBtn = false } = $$props;\n\t\tconst SESSION_LIST_CAP = 50;\n\t\tconst active = derived(() => endpointsService.active);\n\t\tconst endpointState = derived(() => active() ? chat.byEndpoint.get(active().id) ?? null : null);\n\t\tconst sessions = derived(() => endpointState()?.sessions ?? []);\n\t\tconst loading = derived(() => endpointState()?.sessionsLoading ?? false);\n\t\tconst error = derived(() => endpointState()?.sessionsError ?? \"\");\n\t\tconst activeSessionId = derived(() => chat.activeSessionId);\n\t\tconst visibleSessions = derived(() => sessions().slice(0, SESSION_LIST_CAP));\n\t\tconst overflowCount = derived(() => Math.max(0, sessions().length - SESSION_LIST_CAP));\n\t\t$$renderer.push(`<div class=\"session-body svelte-1o6rxhb\">`);\n\t\tif (chat.sending) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"notice svelte-1o6rxhb\">Wait for the current reply to finish before switching.</div>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (!endpointState() || loading()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1o6rxhb\">`);\n\t\t\tSpinner($$renderer, { size: 12 });\n\t\t\t$$renderer.push(`<!----><span>Loading sessions…</span></div>`);\n\t\t} else if (error()) {\n\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t$$renderer.push(`<div class=\"list-error svelte-1o6rxhb\"><span class=\"svelte-1o6rxhb\">${escape_html(error())}</span> <button type=\"button\" class=\"retry-btn svelte-1o6rxhb\">Retry</button></div>`);\n\t\t} else if (sessions().length === 0) {\n\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t$$renderer.push(`<div class=\"empty svelte-1o6rxhb\">No sessions yet. Start the first one.</div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<div class=\"session-list svelte-1o6rxhb\" role=\"group\" aria-label=\"Sessions\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(visibleSessions());\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet s = each_array[$$index];\n\t\t\t\t$$renderer.push(`<button type=\"button\"${attr_class(\"list-item session-item svelte-1o6rxhb\", void 0, { \"active\": s.id === activeSessionId() })}${attr(\"aria-current\", s.id === activeSessionId() ? \"true\" : void 0)}${attr(\"disabled\", chat.sending, true)}${attr(\"title\", formatDateTime(s.updatedAt))}><span class=\"item-text svelte-1o6rxhb\"><span class=\"item-label svelte-1o6rxhb\">`);\n\t\t\t\tSessionTitle($$renderer, { title: s.title });\n\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\tif (s.id === activeSessionId()) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<span class=\"sr-only svelte-1o6rxhb\">(current)</span>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></span> <span class=\"item-meta svelte-1o6rxhb\">${escape_html(formatRelativeTime(s.updatedAt))}</span></span></button>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></div> `);\n\t\t\tif (overflowCount() > 0) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<button type=\"button\" class=\"show-all svelte-1o6rxhb\">Show all (${escape_html(overflowCount())} more)</button>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (!hideNewBtn) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"divider svelte-1o6rxhb\"></div> <button type=\"button\" class=\"list-item new-btn svelte-1o6rxhb\"${attr(\"disabled\", chat.sending, true)}><span class=\"check svelte-1o6rxhb\" aria-hidden=\"true\">+</span> <span class=\"item-text svelte-1o6rxhb\"><span class=\"item-label svelte-1o6rxhb\">New session</span></span></button>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div>`);\n\t});\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconConversations.svelte\nfunction IconConversations($$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.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"${attr_class(`s-icon ${stringify(className)}`)}><path d=\"M4 7h16\" opacity=\"0.9\"></path><path d=\"M4 12h11\" opacity=\"0.65\"></path><path d=\"M4 17h7.5\" opacity=\"0.5\"></path></svg>`);\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconSoundOff.svelte\nfunction IconSoundOff($$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)}`)}><polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon><line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\"></line><line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\"></line></svg>`);\n}\n//#endregion\n//#region ../ui-kit/src/lib/components/icons/IconSoundOn.svelte\nfunction IconSoundOn($$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)}`)}><polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon><path d=\"M15.54 8.46a5 5 0 0 1 0 7.07\"></path><path d=\"M19.07 4.93a10 10 0 0 1 0 14.14\"></path></svg>`);\n}\n//#endregion\nexport { resolveSessionTitle as a, buildAdvancedIframeUrl as c, currentChatSessionId as d, chat as f, SessionList as i, buildAdvancedPath as l, IconSoundOff as n, isLocalAssistantUrl as o, advancedModeService as p, IconConversations as r, IconAdvanced as s, IconSoundOn as t, buildChatPath as u };\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"IconStop-BPbovgch.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 { d as readErrorMessage, f as request, p as requireOk, u as buildHeaders } from \"./voice-state.svelte.js\";\n//#region src/lib/api/endpoints.ts\nasync function fetchConnections() {\n\treturn await (await requireOk(await request(\"GET\", \"/api/connections\"))).json();\n}\nasync function setActiveConnection(id) {\n\treturn await (await requireOk(await request(\"POST\", \"/api/connections/active\", { id }))).json();\n}\n//#endregion\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/api/chat.ts\n/**\n* Create a new OpenCode session via the SvelteKit broker.\n*\n* Only `/proxy/assistant/*` is reachable from the browser. The active\n* OpenCode instance is selected server-side via the connection switcher.\n*/\nasync function createSession() {\n\treturn await (await requireOk(await request(\"POST\", `/proxy/assistant/session`, {}))).json();\n}\n/**\n* List sessions on the active OpenCode endpoint.\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 requireOk(await request(\"GET\", \"/proxy/assistant/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 requireOk(await request(\"GET\", `/proxy/assistant/session/${encodeURIComponent(sessionId)}/message`))).json());\n}\n/**\n* Send a message to an existing OpenCode session via the SvelteKit broker.\n* Uses direct fetch with a 150s AbortSignal timeout — OpenCode responses\n* can take 30–120s.\n*/\nasync function sendChatMessage(sessionId, text) {\n\tconst res = await fetch(`/proxy/assistant/session/${encodeURIComponent(sessionId)}/message`, {\n\t\tmethod: \"POST\",\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t...buildHeaders()\n\t\t},\n\t\tcredentials: \"include\",\n\t\tbody: JSON.stringify({ parts: [{\n\t\t\ttype: \"text\",\n\t\t\ttext\n\t\t}] }),\n\t\tsignal: AbortSignal.timeout(15e4)\n\t});\n\tif (res.status === 401) throw Object.assign(/* @__PURE__ */ new Error(\"Sign-in required.\"), { status: 401 });\n\tif (!res.ok) {\n\t\tconst msg = await readErrorMessage(res);\n\t\tthrow Object.assign(new Error(msg), { status: res.status });\n\t}\n\treturn await res.json();\n}\nasync function startChatMessageTurn(sessionId, text) {\n\tconst res = await fetch(`/proxy/assistant/session/${encodeURIComponent(sessionId)}/message`, {\n\t\tmethod: \"POST\",\n\t\theaders: {\n\t\t\t\"content-type\": \"application/json\",\n\t\t\t...buildHeaders()\n\t\t},\n\t\tcredentials: \"include\",\n\t\tbody: JSON.stringify({ parts: [{\n\t\t\ttype: \"text\",\n\t\t\ttext\n\t\t}] }),\n\t\tsignal: AbortSignal.timeout(15e4)\n\t});\n\tif (res.status === 401) throw Object.assign(/* @__PURE__ */ new Error(\"Sign-in required.\"), { status: 401 });\n\tif (!res.ok) {\n\t\tconst msg = await readErrorMessage(res);\n\t\tthrow Object.assign(new Error(msg), { status: res.status });\n\t}\n}\n/**\n* Abort the in-flight turn on an existing session via the SvelteKit broker.\n* Best-effort from the caller's perspective — OpenCode exposes this as\n* `POST /session/{id}/abort` (see `@opencode-ai/sdk` `session.abort`).\n*/\nasync function abortChatTurn(sessionId) {\n\tawait (await requireOk(await request(\"POST\", `/proxy/assistant/session/${encodeURIComponent(sessionId)}/abort`, {}))).text().catch(() => \"\");\n}\nasync function replyChatPermission(requestId, reply) {\n\tawait (await requireOk(await request(\"POST\", `/proxy/assistant/permission/${encodeURIComponent(requestId)}/reply`, { reply }))).text().catch(() => \"\");\n}\nasync function replyChatQuestion(requestId, answers) {\n\tawait (await requireOk(await request(\"POST\", `/proxy/assistant/question/${encodeURIComponent(requestId)}/reply`, { answers }))).text().catch(() => \"\");\n}\nasync function rejectChatQuestion(requestId) {\n\tawait (await requireOk(await request(\"POST\", `/proxy/assistant/question/${encodeURIComponent(requestId)}/reject`, {}))).text().catch(() => \"\");\n}\n/**\n* Probe whether the assistant broker is reachable.\n* Returns true if the probe succeeds within 3s.\n*/\nasync function probeChatBackend() {\n\ttry {\n\t\treturn (await fetch(`/proxy/assistant/provider`, {\n\t\t\tmethod: \"GET\",\n\t\t\theaders: buildHeaders(),\n\t\t\tcredentials: \"include\",\n\t\t\tsignal: AbortSignal.timeout(3e3)\n\t\t})).ok;\n\t} catch {\n\t\treturn false;\n\t}\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/chat/session-events.ts\nvar INITIAL_BACKOFF_MS = 1e3;\nvar MAX_BACKOFF_MS = 3e4;\nvar STREAM_URL = \"/proxy/assistant/event\";\n/**\n* Parse one `\\n\\n`-delimited SSE frame. Multi-line `data:` fields are\n* concatenated with `\\n` per the SSE spec.\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 an SSE connection to `/proxy/assistant/event` and dispatch\n* session-scoped events. Returns an unsubscribe function that aborts the\n* stream and prevents reconnection.\n*/\nfunction subscribeSessionEvents(handlers) {\n\tlet stopped = false;\n\tlet controller = new AbortController();\n\tlet lastEventId;\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\tconst headers = { accept: \"text/event-stream\" };\n\t\tif (lastEventId !== void 0) headers[\"Last-Event-ID\"] = lastEventId;\n\t\tconst response = await fetch(STREAM_URL, {\n\t\t\tmethod: \"GET\",\n\t\t\theaders,\n\t\t\tcredentials: \"include\",\n\t\t\tsignal: controller.signal\n\t\t});\n\t\tif (!response.ok || !response.body) throw new Error(`SSE stream failed: ${response.status} ${response.statusText}`);\n\t\thandlers.onConnect?.();\n\t\tconst reader = response.body.pipeThrough(new TextDecoderStream()).getReader();\n\t\tlet buffer = \"\";\n\t\ttry {\n\t\t\twhile (true) {\n\t\t\t\tconst { done, value } = await reader.read();\n\t\t\t\tif (done) break;\n\t\t\t\tbuffer += value;\n\t\t\t\tconst chunks = buffer.split(\"\\n\\n\");\n\t\t\t\tbuffer = chunks.pop() ?? \"\";\n\t\t\t\tfor (const chunk of chunks) {\n\t\t\t\t\tif (!chunk) continue;\n\t\t\t\t\tconst frame = parseFrame(chunk);\n\t\t\t\t\tif (frame.id !== void 0) lastEventId = frame.id;\n\t\t\t\t\tif (!frame.data) continue;\n\t\t\t\t\tlet payload;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tpayload = JSON.parse(frame.data);\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tconsole.warn(\"[session-events] Bad JSON in SSE frame\", err);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\thandlers.onEvent?.(payload);\n\t\t\t\t\tdispatch(handlers, payload);\n\t\t\t\t}\n\t\t\t}\n\t\t} finally {\n\t\t\ttry {\n\t\t\t\treader.releaseLock();\n\t\t\t} catch {}\n\t\t}\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/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\nvar ConnectionsService = class {\n\tendpoints = [];\n\tactiveId = \"default\";\n\tloading = false;\n\tloaded = false;\n\terror = \"\";\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 { connections, activeId } = await fetchConnections();\n\t\t\tthis.endpoints = connections;\n\t\t\tthis.activeId = activeId;\n\t\t\tthis.loaded = true;\n\t\t} catch (e) {\n\t\t\tconst err = e;\n\t\t\tif (err.status !== 401) this.error = err.message ?? \"Failed to load connections\";\n\t\t} finally {\n\t\t\tthis.loading = false;\n\t\t}\n\t}\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 previous = this.activeId;\n\t\tthis.activeId = id;\n\t\ttry {\n\t\t\tawait setActiveConnection(id);\n\t\t\tawait emitConnectionActivated(id);\n\t\t} catch (e) {\n\t\t\tthis.activeId = previous;\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* Promoted from packages/ui's `$lib/actions/focus-trap.js` into ui-kit itself\n* (review 2026-07-10 §G3): Drawer.svelte previously imported the primitives\n* via `$lib/actions/focus-trap.js`, an app-provided contract resolved by\n* whichever app's Vite/SvelteKit pipeline compiles the raw ui-kit source\n* against ITS OWN `src/lib`. packages/ui ships that file; packages/client\n* does not, so the kit's only accessible-dialog primitive (Drawer) was\n* structurally unusable from the client — this also blocked the B14\n* small-screen sessions drawer. This module is the real, kit-internal\n* implementation; Drawer.svelte (and any future kit dialog) imports it by\n* relative path, and it is additionally re-exported to consuming apps via the\n* `./actions/*` package.json subpath for direct use (e.g. a client-owned\n* dialog that isn't built on Drawer).\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 { abortChatTurn as A, displayTitle as B, extractToolUpdate as C, IconThemeDark as D, partSnapshotType as E, rejectChatQuestion as F, toolDetailRows as G, relativeTimeLabel as H, replyChatPermission as I, toolStatusLabel as J, toolIconType as K, replyChatQuestion as L, getSessionMessages as M, listSessions as N, IconThemeLight as O, probeChatBackend as P, sendChatMessage as R, extractTextDelta as S, isTurnEnd as T, timelineTitle as U, isUserFacingTool as V, toolAriaLabel as W, SvelteMap as _, formatRelativeTime as a, extractQuestionAsk as b, IconClose as c, registerActivationGuard as d, desktopNotifyEnabled as f, subscribeSessionEvents as g, notifyAssistantReply as h, formatDateTime as i, createSession as j, IconThemeSystem as k, endpointsService as l, notifyAssistantError as m, formatBytes as n, formatTime as o, desktopReplyPreviewEnabled as p, toolKindLabel as q, formatDate as r, createFocusTrap as s, IconStop as t, onConnectionActivated as u, SvelteSet as v, isSessionError as w, extractStepUpdate as x, extractPermissionAsk as y, startChatMessageTurn as z };\n"],"names":[],"mappings":"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"}
@@ -1,95 +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-C5zNEC6u.js';
4
- import { i as endpointsService } from './IconStop-BPbovgch.js';
5
- import './client-Dn-H0hgG.js';
6
- import { C as ChatNavbar } from './ChatNavbar-FJW5r496.js';
7
- import { I as IconLock } from './IconLock-Bz5zHCBQ.js';
8
- import './voice-state.svelte-2hAkP5Di.js';
9
- import './speakable-text-BflxDDdY.js';
10
- import './exports2-BjzhbhYA.js';
11
- import './utils-OXHIhUb5.js';
12
- import './internal-BcbUGF7Z.js';
13
- import './chunk-DOvWTNp_.js';
14
- import './paths-Bgos728b.js';
15
- import './environment-BYp8JQYM.js';
16
- import './state2-Cna2OZrd.js';
17
- import './IconServer-w-1K5jNR.js';
18
- import './IconLogo-BRmPVDI_.js';
19
- import './IconSoundOn-DZGaQz_p.js';
20
- import './IconMic-BbjkE_nG.js';
21
-
22
- //#region src/routes/connections/+page.svelte
23
- function _page($$renderer, $$props) {
24
- $$renderer.component(($$renderer) => {
25
- let deletingId = null;
26
- const connections = derived(() => endpointsService.endpoints);
27
- const active = derived(() => endpointsService.active);
28
- const hostRoute = derived(() => hasCapability("host:stack:read") ? runtimeContext.routes.host : void 0);
29
- const exitRoute = derived(() => hostRoute() ?? runtimeContext.routes.chat ?? "/chat");
30
- const exitLabel = derived(() => hostRoute() ? "Back to Admin" : "Back to Chat");
31
- head("xxtt2y", $$renderer, ($$renderer) => {
32
- $$renderer.title(($$renderer) => {
33
- $$renderer.push(`<title>Connections — OpenPalm</title>`);
34
- });
35
- });
36
- ChatNavbar($$renderer);
37
- $$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
38
- from the environment (set by the launcher) and cannot be deleted. Add more connections to
39
- switch between assistants at any time.</p></header> `);
40
- if (endpointsService.error) {
41
- $$renderer.push("<!--[0-->");
42
- $$renderer.push(`<div class="alert error svelte-xxtt2y" role="alert">${escape_html(endpointsService.error)}</div>`);
43
- } else $$renderer.push("<!--[-1-->");
44
- $$renderer.push(`<!--]--> <section class="connections-list svelte-xxtt2y" aria-label="Configured connections"><!--[-->`);
45
- const each_array = ensure_array_like(connections());
46
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
47
- let conn = each_array[$$index];
48
- $$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> `);
49
- if (conn.isDefault) {
50
- $$renderer.push("<!--[0-->");
51
- $$renderer.push(`<span class="badge default svelte-xxtt2y">Default</span>`);
52
- } else $$renderer.push("<!--[-1-->");
53
- $$renderer.push(`<!--]--> `);
54
- if (conn.id === active()?.id) {
55
- $$renderer.push("<!--[0-->");
56
- $$renderer.push(`<span class="badge active svelte-xxtt2y">Active</span>`);
57
- } else $$renderer.push("<!--[-1-->");
58
- $$renderer.push(`<!--]--> `);
59
- if (conn.kind === "openpalm-client-api") {
60
- $$renderer.push("<!--[0-->");
61
- $$renderer.push(`<span class="badge kind svelte-xxtt2y">guardian</span>`);
62
- } else $$renderer.push("<!--[-1-->");
63
- $$renderer.push(`<!--]--> `);
64
- if (conn.hasPassword) {
65
- $$renderer.push("<!--[0-->");
66
- $$renderer.push(`<span class="badge password svelte-xxtt2y" title="Server password configured">`);
67
- IconLock($$renderer, { size: 11 });
68
- $$renderer.push(`<!----></span>`);
69
- } else $$renderer.push("<!--[-1-->");
70
- $$renderer.push(`<!--]--></div> <div class="connection-url svelte-xxtt2y">${escape_html(conn.url)}</div></div> <div class="connection-actions svelte-xxtt2y">`);
71
- if (conn.id !== active()?.id) {
72
- $$renderer.push("<!--[0-->");
73
- $$renderer.push(`<button type="button" class="btn btn-primary btn-sm">Use this</button>`);
74
- } else $$renderer.push("<!--[-1-->");
75
- $$renderer.push(`<!--]--> `);
76
- if (!conn.isDefault) {
77
- $$renderer.push("<!--[0-->");
78
- $$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>`);
79
- } else $$renderer.push("<!--[-1-->");
80
- $$renderer.push(`<!--]--></div></article>`);
81
- }
82
- $$renderer.push(`<!--]--></section> `);
83
- $$renderer.push("<!--[0-->");
84
- $$renderer.push(`<div class="toolbar-row svelte-xxtt2y"><button type="button" class="btn btn-primary">+ Add connection</button> `);
85
- if (hasCapability("host:stack:write")) {
86
- $$renderer.push("<!--[0-->");
87
- $$renderer.push(`<button type="button" class="btn btn-secondary">Pair a device</button>`);
88
- } else $$renderer.push("<!--[-1-->");
89
- $$renderer.push(`<!--]--></div>`);
90
- $$renderer.push(`<!--]--></main>`);
91
- });
92
- }
93
-
94
- export { _page as default };
95
- //# sourceMappingURL=_page.svelte-CB1qUSpk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_page.svelte-CB1qUSpk.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/state2.js\";\nimport { t as ChatNavbar } from \"../../../chunks/ChatNavbar.js\";\nimport { t as IconLock } from \"../../../chunks/IconLock.js\";\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.kind === \"openpalm-client-api\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span class=\"badge kind svelte-xxtt2y\">guardian</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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"}