claude-mux 0.30.12 → 0.30.13

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 (205) hide show
  1. package/CLAUDE.md +4 -1
  2. package/dist/utils/version.d.ts +1 -1
  3. package/dist/utils/version.js +1 -1
  4. package/dist/web/client/_app/immutable/chunks/{BvumWaKv.js → BQQ3-rqs.js} +2 -2
  5. package/dist/web/client/_app/immutable/chunks/{BvumWaKv.js.map → BQQ3-rqs.js.map} +1 -1
  6. package/dist/web/client/_app/immutable/chunks/{CuqNMNCh.js → BQzv8cqz.js} +2 -2
  7. package/{web/.svelte-kit/output/client/_app/immutable/chunks/CuqNMNCh.js.map → dist/web/client/_app/immutable/chunks/BQzv8cqz.js.map} +1 -1
  8. package/dist/web/client/_app/immutable/chunks/{Djib3OX9.js → BvX4FYxp.js} +2 -2
  9. package/{web/.svelte-kit/output/client/_app/immutable/chunks/Djib3OX9.js.map → dist/web/client/_app/immutable/chunks/BvX4FYxp.js.map} +1 -1
  10. package/dist/web/client/_app/immutable/chunks/CM0CI9GL.js +3 -0
  11. package/{web/.svelte-kit/output/client/_app/immutable/chunks/CFx1X5dv.js.map → dist/web/client/_app/immutable/chunks/CM0CI9GL.js.map} +1 -1
  12. package/dist/web/client/_app/immutable/chunks/{CgY8CVMX.js → CiU8KBun.js} +2 -2
  13. package/dist/web/client/_app/immutable/chunks/{CgY8CVMX.js.map → CiU8KBun.js.map} +1 -1
  14. package/{web/.svelte-kit/output/client/_app/immutable/chunks/CFKTes94.js → dist/web/client/_app/immutable/chunks/CtjkAirr.js} +2 -2
  15. package/dist/web/client/_app/immutable/chunks/{CFKTes94.js.map → CtjkAirr.js.map} +1 -1
  16. package/{web/.svelte-kit/output/client/_app/immutable/chunks/CZ0xQL03.js → dist/web/client/_app/immutable/chunks/CtlIfY1C.js} +2 -2
  17. package/dist/web/client/_app/immutable/chunks/{CZ0xQL03.js.map → CtlIfY1C.js.map} +1 -1
  18. package/{web/.svelte-kit/output/client/_app/immutable/chunks/BMdeNATU.js → dist/web/client/_app/immutable/chunks/Dck--FBb.js} +2 -2
  19. package/{web/.svelte-kit/output/client/_app/immutable/chunks/BMdeNATU.js.map → dist/web/client/_app/immutable/chunks/Dck--FBb.js.map} +1 -1
  20. package/dist/web/client/_app/immutable/chunks/{CBFZAP-M.js → DlENCZqZ.js} +2 -2
  21. package/{web/.svelte-kit/output/client/_app/immutable/chunks/CBFZAP-M.js.map → dist/web/client/_app/immutable/chunks/DlENCZqZ.js.map} +1 -1
  22. package/{web/.svelte-kit/output/client/_app/immutable/chunks/C_d6SvJ2.js → dist/web/client/_app/immutable/chunks/Q5yhzux8.js} +2 -2
  23. package/{web/.svelte-kit/output/client/_app/immutable/chunks/C_d6SvJ2.js.map → dist/web/client/_app/immutable/chunks/Q5yhzux8.js.map} +1 -1
  24. package/{web/.svelte-kit/output/client/_app/immutable/chunks/DMKEzxnc.js → dist/web/client/_app/immutable/chunks/VceCNUd7.js} +2 -2
  25. package/dist/web/client/_app/immutable/chunks/{DMKEzxnc.js.map → VceCNUd7.js.map} +1 -1
  26. package/dist/web/client/_app/immutable/chunks/{DATxby6u.js → W5_HMZ5E.js} +2 -2
  27. package/dist/web/client/_app/immutable/chunks/{DATxby6u.js.map → W5_HMZ5E.js.map} +1 -1
  28. package/dist/web/client/_app/immutable/chunks/{BY5WGGQP.js → XgSsj0QY.js} +2 -2
  29. package/dist/web/client/_app/immutable/chunks/{BY5WGGQP.js.map → XgSsj0QY.js.map} +1 -1
  30. package/dist/web/client/_app/immutable/chunks/{BwPDlhmz.js → cvsGFvDx.js} +2 -2
  31. package/dist/web/client/_app/immutable/chunks/{BwPDlhmz.js.map → cvsGFvDx.js.map} +1 -1
  32. package/dist/web/client/_app/immutable/chunks/{B3wFHwBp.js → sULMfRFG.js} +10 -10
  33. package/dist/web/client/_app/immutable/chunks/{B3wFHwBp.js.map → sULMfRFG.js.map} +1 -1
  34. package/dist/web/client/_app/immutable/entry/{app.D6ZoWARI.js → app.BwTbN8wB.js} +3 -3
  35. package/{web/.svelte-kit/output/client/_app/immutable/entry/app.D6ZoWARI.js.map → dist/web/client/_app/immutable/entry/app.BwTbN8wB.js.map} +1 -1
  36. package/dist/web/client/_app/immutable/entry/start.B2ZPizAt.js +2 -0
  37. package/dist/web/client/_app/immutable/entry/start.B2ZPizAt.js.map +1 -0
  38. package/{web/.svelte-kit/output/client/_app/immutable/nodes/0.DQpEqRwc.js → dist/web/client/_app/immutable/nodes/0.BnHV-ElR.js} +2 -2
  39. package/{web/.svelte-kit/output/client/_app/immutable/nodes/0.DQpEqRwc.js.map → dist/web/client/_app/immutable/nodes/0.BnHV-ElR.js.map} +1 -1
  40. package/dist/web/client/_app/immutable/nodes/{1.DZtqO_vJ.js → 1.Dc3ryOCf.js} +2 -2
  41. package/dist/web/client/_app/immutable/nodes/{1.DZtqO_vJ.js.map → 1.Dc3ryOCf.js.map} +1 -1
  42. package/dist/web/client/_app/immutable/nodes/{2.C5Qs1_oy.js → 2.DUrpAceY.js} +2 -2
  43. package/dist/web/client/_app/immutable/nodes/{2.C5Qs1_oy.js.map → 2.DUrpAceY.js.map} +1 -1
  44. package/dist/web/client/_app/immutable/nodes/{3.BU0CxqHT.js → 3.BaCofjAn.js} +2 -2
  45. package/dist/web/client/_app/immutable/nodes/{3.BU0CxqHT.js.map → 3.BaCofjAn.js.map} +1 -1
  46. package/dist/web/client/_app/immutable/nodes/{4.DUZfcDfX.js → 4.v1wYkrvS.js} +2 -2
  47. package/dist/web/client/_app/immutable/nodes/{4.DUZfcDfX.js.map → 4.v1wYkrvS.js.map} +1 -1
  48. package/dist/web/client/_app/immutable/nodes/{5.BUR8dPHU.js → 5.Bn4A77jK.js} +2 -2
  49. package/dist/web/client/_app/immutable/nodes/{5.BUR8dPHU.js.map → 5.Bn4A77jK.js.map} +1 -1
  50. package/dist/web/client/_app/immutable/nodes/{6.C0sXY_AI.js → 6.C2hEoITj.js} +2 -2
  51. package/dist/web/client/_app/immutable/nodes/{6.C0sXY_AI.js.map → 6.C2hEoITj.js.map} +1 -1
  52. package/dist/web/client/_app/immutable/nodes/{7.BwxdLqVN.js → 7.BcHOjWdp.js} +2 -2
  53. package/dist/web/client/_app/immutable/nodes/{7.BwxdLqVN.js.map → 7.BcHOjWdp.js.map} +1 -1
  54. package/dist/web/client/_app/immutable/nodes/{8.D7XNfIoQ.js → 8.D7NtqIYy.js} +2 -2
  55. package/dist/web/client/_app/immutable/nodes/{8.D7XNfIoQ.js.map → 8.D7NtqIYy.js.map} +1 -1
  56. package/dist/web/client/_app/immutable/nodes/{9.DK1PnFTi.js → 9.D-211z9-.js} +2 -2
  57. package/dist/web/client/_app/immutable/nodes/{9.DK1PnFTi.js.map → 9.D-211z9-.js.map} +1 -1
  58. package/dist/web/client/_app/version.json +1 -1
  59. package/dist/web/server/chunks/{0-C3qbHxYN.js → 0-CvglVGCY.js} +14 -14
  60. package/dist/web/server/chunks/{0-C3qbHxYN.js.map → 0-CvglVGCY.js.map} +1 -1
  61. package/dist/web/server/chunks/{1-D8Dnq6A4.js → 1-D-gJDFrG.js} +4 -4
  62. package/dist/web/server/chunks/{1-D8Dnq6A4.js.map → 1-D-gJDFrG.js.map} +1 -1
  63. package/dist/web/server/chunks/{2-D-erc0ov.js → 2-BCmEU5Qq.js} +13 -13
  64. package/dist/web/server/chunks/{2-D-erc0ov.js.map → 2-BCmEU5Qq.js.map} +1 -1
  65. package/dist/web/server/chunks/{3-DiIyiFTh.js → 3-CHn5Kw-T.js} +10 -10
  66. package/dist/web/server/chunks/{3-DiIyiFTh.js.map → 3-CHn5Kw-T.js.map} +1 -1
  67. package/dist/web/server/chunks/{4-C9dfruxJ.js → 4-Cxg7VcZ7.js} +12 -12
  68. package/dist/web/server/chunks/{4-C9dfruxJ.js.map → 4-Cxg7VcZ7.js.map} +1 -1
  69. package/dist/web/server/chunks/{5-CNxH6-gY.js → 5-DSgvnHF_.js} +9 -9
  70. package/dist/web/server/chunks/{5-CNxH6-gY.js.map → 5-DSgvnHF_.js.map} +1 -1
  71. package/dist/web/server/chunks/{6-DZFHsFC1.js → 6-B0rymWRR.js} +5 -5
  72. package/dist/web/server/chunks/{6-DZFHsFC1.js.map → 6-B0rymWRR.js.map} +1 -1
  73. package/dist/web/server/chunks/{7-BrAqYzww.js → 7-CNomBJux.js} +10 -10
  74. package/dist/web/server/chunks/{7-BrAqYzww.js.map → 7-CNomBJux.js.map} +1 -1
  75. package/dist/web/server/chunks/{8-hNuZYHp2.js → 8-TYbX-1bO.js} +12 -12
  76. package/dist/web/server/chunks/{8-hNuZYHp2.js.map → 8-TYbX-1bO.js.map} +1 -1
  77. package/dist/web/server/chunks/{9-KM8ukvws.js → 9-XGQQvTLc.js} +9 -9
  78. package/dist/web/server/chunks/{9-KM8ukvws.js.map → 9-XGQQvTLc.js.map} +1 -1
  79. package/dist/web/server/chunks/{_layout.svelte-DTdVhWSL.js → _layout.svelte-yrPX5VFm.js} +4 -4
  80. package/dist/web/server/chunks/{_layout.svelte-DTdVhWSL.js.map → _layout.svelte-yrPX5VFm.js.map} +1 -1
  81. package/dist/web/server/chunks/{_page.svelte-DlJs45B3.js → _page.svelte-C_kFA0Lq.js} +3 -3
  82. package/dist/web/server/chunks/{_page.svelte-DlJs45B3.js.map → _page.svelte-C_kFA0Lq.js.map} +1 -1
  83. package/dist/web/server/chunks/{_page.svelte-Bmge0Cj4.js → _page.svelte-DvxpwsgS.js} +5 -5
  84. package/dist/web/server/chunks/{_page.svelte-Bmge0Cj4.js.map → _page.svelte-DvxpwsgS.js.map} +1 -1
  85. package/dist/web/server/chunks/{_server.ts-DFw1dZh6.js → _server.ts-CNBy2p2U.js} +2 -2
  86. package/dist/web/server/chunks/{_server.ts-DFw1dZh6.js.map → _server.ts-CNBy2p2U.js.map} +1 -1
  87. package/dist/web/server/chunks/{_server.ts-C837tDPt.js → _server.ts-KbQyErIR.js} +2 -2
  88. package/dist/web/server/chunks/{_server.ts-C837tDPt.js.map → _server.ts-KbQyErIR.js.map} +1 -1
  89. package/dist/web/server/chunks/{checkbox-DEKquZNV.js → checkbox-DiJTAtHi.js} +2 -2
  90. package/dist/web/server/chunks/{checkbox-DEKquZNV.js.map → checkbox-DiJTAtHi.js.map} +1 -1
  91. package/dist/web/server/chunks/{create-id-CGB-ZsMW.js → create-id-DpoSQWrl.js} +2 -2
  92. package/dist/web/server/chunks/{create-id-CGB-ZsMW.js.map → create-id-DpoSQWrl.js.map} +1 -1
  93. package/dist/web/server/chunks/{drafts.svelte-DoF8wcyh.js → drafts.svelte-DsFAtH-s.js} +2 -2
  94. package/dist/web/server/chunks/{drafts.svelte-DoF8wcyh.js.map → drafts.svelte-DsFAtH-s.js.map} +1 -1
  95. package/dist/web/server/chunks/{version-Clbh-EaZ.js → version-BqEJmw2g.js} +2 -2
  96. package/dist/web/server/chunks/version-BqEJmw2g.js.map +1 -0
  97. package/dist/web/server/index.js +1 -1
  98. package/dist/web/server/index.js.map +1 -1
  99. package/dist/web/server/manifest.js +17 -17
  100. package/dist/web/server/manifest.js.map +1 -1
  101. package/package.json +1 -1
  102. package/src/utils/version.ts +1 -1
  103. package/web/.svelte-kit/adapter-bun/chunks/internal2.js +1 -1
  104. package/web/.svelte-kit/adapter-bun/chunks/internal2.js.map +1 -1
  105. package/web/.svelte-kit/adapter-bun/chunks/version.js +1 -1
  106. package/web/.svelte-kit/adapter-bun/chunks/version.js.map +1 -1
  107. package/web/.svelte-kit/adapter-bun/entries/pages/session/_target_/_page.svelte.js.map +1 -1
  108. package/web/.svelte-kit/adapter-bun/manifest-full.js +1 -1
  109. package/web/.svelte-kit/adapter-bun/manifest.js +1 -1
  110. package/web/.svelte-kit/adapter-bun/nodes/0.js +1 -1
  111. package/web/.svelte-kit/adapter-bun/nodes/1.js +1 -1
  112. package/web/.svelte-kit/adapter-bun/nodes/2.js +1 -1
  113. package/web/.svelte-kit/adapter-bun/nodes/3.js +1 -1
  114. package/web/.svelte-kit/adapter-bun/nodes/4.js +1 -1
  115. package/web/.svelte-kit/adapter-bun/nodes/5.js +1 -1
  116. package/web/.svelte-kit/adapter-bun/nodes/6.js +1 -1
  117. package/web/.svelte-kit/adapter-bun/nodes/7.js +1 -1
  118. package/web/.svelte-kit/adapter-bun/nodes/8.js +1 -1
  119. package/web/.svelte-kit/adapter-bun/nodes/9.js +1 -1
  120. package/web/.svelte-kit/generated/server/internal.js +1 -1
  121. package/web/.svelte-kit/output/client/.vite/manifest.json +206 -206
  122. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BvumWaKv.js → BQQ3-rqs.js} +2 -2
  123. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BvumWaKv.js.map → BQQ3-rqs.js.map} +1 -1
  124. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CuqNMNCh.js → BQzv8cqz.js} +2 -2
  125. package/{dist/web/client/_app/immutable/chunks/CuqNMNCh.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/BQzv8cqz.js.map} +1 -1
  126. package/web/.svelte-kit/output/client/_app/immutable/chunks/{Djib3OX9.js → BvX4FYxp.js} +2 -2
  127. package/{dist/web/client/_app/immutable/chunks/Djib3OX9.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/BvX4FYxp.js.map} +1 -1
  128. package/web/.svelte-kit/output/client/_app/immutable/chunks/CM0CI9GL.js +3 -0
  129. package/{dist/web/client/_app/immutable/chunks/CFx1X5dv.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/CM0CI9GL.js.map} +1 -1
  130. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CgY8CVMX.js → CiU8KBun.js} +2 -2
  131. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CgY8CVMX.js.map → CiU8KBun.js.map} +1 -1
  132. package/{dist/web/client/_app/immutable/chunks/CFKTes94.js → web/.svelte-kit/output/client/_app/immutable/chunks/CtjkAirr.js} +2 -2
  133. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CFKTes94.js.map → CtjkAirr.js.map} +1 -1
  134. package/{dist/web/client/_app/immutable/chunks/CZ0xQL03.js → web/.svelte-kit/output/client/_app/immutable/chunks/CtlIfY1C.js} +2 -2
  135. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CZ0xQL03.js.map → CtlIfY1C.js.map} +1 -1
  136. package/{dist/web/client/_app/immutable/chunks/BMdeNATU.js → web/.svelte-kit/output/client/_app/immutable/chunks/Dck--FBb.js} +2 -2
  137. package/{dist/web/client/_app/immutable/chunks/BMdeNATU.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/Dck--FBb.js.map} +1 -1
  138. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CBFZAP-M.js → DlENCZqZ.js} +2 -2
  139. package/{dist/web/client/_app/immutable/chunks/CBFZAP-M.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/DlENCZqZ.js.map} +1 -1
  140. package/{dist/web/client/_app/immutable/chunks/C_d6SvJ2.js → web/.svelte-kit/output/client/_app/immutable/chunks/Q5yhzux8.js} +2 -2
  141. package/{dist/web/client/_app/immutable/chunks/C_d6SvJ2.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/Q5yhzux8.js.map} +1 -1
  142. package/{dist/web/client/_app/immutable/chunks/DMKEzxnc.js → web/.svelte-kit/output/client/_app/immutable/chunks/VceCNUd7.js} +2 -2
  143. package/web/.svelte-kit/output/client/_app/immutable/chunks/{DMKEzxnc.js.map → VceCNUd7.js.map} +1 -1
  144. package/web/.svelte-kit/output/client/_app/immutable/chunks/{DATxby6u.js → W5_HMZ5E.js} +2 -2
  145. package/web/.svelte-kit/output/client/_app/immutable/chunks/{DATxby6u.js.map → W5_HMZ5E.js.map} +1 -1
  146. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BY5WGGQP.js → XgSsj0QY.js} +2 -2
  147. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BY5WGGQP.js.map → XgSsj0QY.js.map} +1 -1
  148. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BwPDlhmz.js → cvsGFvDx.js} +2 -2
  149. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BwPDlhmz.js.map → cvsGFvDx.js.map} +1 -1
  150. package/web/.svelte-kit/output/client/_app/immutable/chunks/{B3wFHwBp.js → sULMfRFG.js} +10 -10
  151. package/web/.svelte-kit/output/client/_app/immutable/chunks/{B3wFHwBp.js.map → sULMfRFG.js.map} +1 -1
  152. package/web/.svelte-kit/output/client/_app/immutable/entry/{app.D6ZoWARI.js → app.BwTbN8wB.js} +3 -3
  153. package/{dist/web/client/_app/immutable/entry/app.D6ZoWARI.js.map → web/.svelte-kit/output/client/_app/immutable/entry/app.BwTbN8wB.js.map} +1 -1
  154. package/web/.svelte-kit/output/client/_app/immutable/entry/start.B2ZPizAt.js +2 -0
  155. package/web/.svelte-kit/output/client/_app/immutable/entry/start.B2ZPizAt.js.map +1 -0
  156. package/{dist/web/client/_app/immutable/nodes/0.DQpEqRwc.js → web/.svelte-kit/output/client/_app/immutable/nodes/0.BnHV-ElR.js} +2 -2
  157. package/{dist/web/client/_app/immutable/nodes/0.DQpEqRwc.js.map → web/.svelte-kit/output/client/_app/immutable/nodes/0.BnHV-ElR.js.map} +1 -1
  158. package/web/.svelte-kit/output/client/_app/immutable/nodes/{1.DZtqO_vJ.js → 1.Dc3ryOCf.js} +2 -2
  159. package/web/.svelte-kit/output/client/_app/immutable/nodes/{1.DZtqO_vJ.js.map → 1.Dc3ryOCf.js.map} +1 -1
  160. package/web/.svelte-kit/output/client/_app/immutable/nodes/{2.C5Qs1_oy.js → 2.DUrpAceY.js} +2 -2
  161. package/web/.svelte-kit/output/client/_app/immutable/nodes/{2.C5Qs1_oy.js.map → 2.DUrpAceY.js.map} +1 -1
  162. package/web/.svelte-kit/output/client/_app/immutable/nodes/{3.BU0CxqHT.js → 3.BaCofjAn.js} +2 -2
  163. package/web/.svelte-kit/output/client/_app/immutable/nodes/{3.BU0CxqHT.js.map → 3.BaCofjAn.js.map} +1 -1
  164. package/web/.svelte-kit/output/client/_app/immutable/nodes/4.v1wYkrvS.js +2 -0
  165. package/web/.svelte-kit/output/client/_app/immutable/nodes/{4.DUZfcDfX.js.map → 4.v1wYkrvS.js.map} +1 -1
  166. package/web/.svelte-kit/output/client/_app/immutable/nodes/5.Bn4A77jK.js +2 -0
  167. package/web/.svelte-kit/output/client/_app/immutable/nodes/{5.BUR8dPHU.js.map → 5.Bn4A77jK.js.map} +1 -1
  168. package/web/.svelte-kit/output/client/_app/immutable/nodes/{6.C0sXY_AI.js → 6.C2hEoITj.js} +2 -2
  169. package/web/.svelte-kit/output/client/_app/immutable/nodes/{6.C0sXY_AI.js.map → 6.C2hEoITj.js.map} +1 -1
  170. package/web/.svelte-kit/output/client/_app/immutable/nodes/{7.BwxdLqVN.js → 7.BcHOjWdp.js} +2 -2
  171. package/web/.svelte-kit/output/client/_app/immutable/nodes/{7.BwxdLqVN.js.map → 7.BcHOjWdp.js.map} +1 -1
  172. package/web/.svelte-kit/output/client/_app/immutable/nodes/8.D7NtqIYy.js +2 -0
  173. package/web/.svelte-kit/output/client/_app/immutable/nodes/{8.D7XNfIoQ.js.map → 8.D7NtqIYy.js.map} +1 -1
  174. package/web/.svelte-kit/output/client/_app/immutable/nodes/9.D-211z9-.js +2 -0
  175. package/web/.svelte-kit/output/client/_app/immutable/nodes/{9.DK1PnFTi.js.map → 9.D-211z9-.js.map} +1 -1
  176. package/web/.svelte-kit/output/client/_app/version.json +1 -1
  177. package/web/.svelte-kit/output/server/chunks/internal2.js +1 -1
  178. package/web/.svelte-kit/output/server/chunks/internal2.js.map +1 -1
  179. package/web/.svelte-kit/output/server/chunks/version.js +1 -1
  180. package/web/.svelte-kit/output/server/chunks/version.js.map +1 -1
  181. package/web/.svelte-kit/output/server/entries/pages/session/_target_/_page.svelte.js.map +1 -1
  182. package/web/.svelte-kit/output/server/manifest-full.js +1 -1
  183. package/web/.svelte-kit/output/server/manifest.js +1 -1
  184. package/web/.svelte-kit/output/server/nodes/0.js +1 -1
  185. package/web/.svelte-kit/output/server/nodes/1.js +1 -1
  186. package/web/.svelte-kit/output/server/nodes/2.js +1 -1
  187. package/web/.svelte-kit/output/server/nodes/3.js +1 -1
  188. package/web/.svelte-kit/output/server/nodes/4.js +1 -1
  189. package/web/.svelte-kit/output/server/nodes/5.js +1 -1
  190. package/web/.svelte-kit/output/server/nodes/6.js +1 -1
  191. package/web/.svelte-kit/output/server/nodes/7.js +1 -1
  192. package/web/.svelte-kit/output/server/nodes/8.js +1 -1
  193. package/web/.svelte-kit/output/server/nodes/9.js +1 -1
  194. package/web/src/routes/session/[target]/+page.svelte +24 -1
  195. package/dist/web/client/_app/immutable/chunks/CFx1X5dv.js +0 -3
  196. package/dist/web/client/_app/immutable/entry/start.CGC2zRGN.js +0 -2
  197. package/dist/web/client/_app/immutable/entry/start.CGC2zRGN.js.map +0 -1
  198. package/dist/web/server/chunks/version-Clbh-EaZ.js.map +0 -1
  199. package/web/.svelte-kit/output/client/_app/immutable/chunks/CFx1X5dv.js +0 -3
  200. package/web/.svelte-kit/output/client/_app/immutable/entry/start.CGC2zRGN.js +0 -2
  201. package/web/.svelte-kit/output/client/_app/immutable/entry/start.CGC2zRGN.js.map +0 -1
  202. package/web/.svelte-kit/output/client/_app/immutable/nodes/4.DUZfcDfX.js +0 -2
  203. package/web/.svelte-kit/output/client/_app/immutable/nodes/5.BUR8dPHU.js +0 -2
  204. package/web/.svelte-kit/output/client/_app/immutable/nodes/8.D7XNfIoQ.js +0 -2
  205. package/web/.svelte-kit/output/client/_app/immutable/nodes/9.DK1PnFTi.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"BvumWaKv.js","sources":["../../../../../../src/lib/past-resume.ts"],"sourcesContent":["/**\n * Resume a past session on the machine that holds it (`POST <base>/api/past/<id>/resume`).\n * The machine starts `claude --resume` in the folder the session ran in, or\n * answers that the session is live already (its pane is the answer), or that\n * the folder is gone, with the project's root to offer instead.\n */\n\nimport { isSettled, setSettled, type Machine } from '$lib/stores/fleet.svelte';\n\nexport type ResumeResult =\n\t/** Running now in `tmuxTarget`: started, or `live` already. */\n\t| { kind: 'ok'; tmuxTarget: string; live: boolean }\n\t| { kind: 'folder-gone'; cwd: string | null; root: string | null }\n\t| { kind: 'error'; message: string };\n\nexport async function requestResume(base: string, id: string, cwd?: string): Promise<ResumeResult> {\n\tlet res: Response;\n\ttry {\n\t\tres = await fetch(`${base}/api/past/${encodeURIComponent(id)}/resume`, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t\tbody: JSON.stringify(cwd ? { cwd } : {})\n\t\t});\n\t} catch {\n\t\treturn { kind: 'error', message: 'The machine did not answer.' };\n\t}\n\tconst data = await res.json().catch(() => ({}));\n\tif (res.ok && typeof data.tmuxTarget === 'string') return { kind: 'ok', tmuxTarget: data.tmuxTarget, live: !!data.live };\n\tif (res.status === 409) return { kind: 'folder-gone', cwd: data.cwd ?? null, root: data.root ?? null };\n\treturn { kind: 'error', message: [data.error, data.detail].filter(Boolean).join(': ') || `Resume failed (${res.status}).` };\n}\n\nexport type ResumeOutcome =\n\t| { kind: 'ok'; tmuxTarget: string }\n\t/** The folder it ran in is gone: the project's root, to offer in its place. */\n\t| { kind: 'offer-root'; cwd: string | null; root: string }\n\t| { kind: 'error'; message: string };\n\n/**\n * Resume a past session and settle what follows: a gone folder becomes the\n * root to offer (only when none was chosen yet), and a resumed session that\n * was settled before it ended goes back among the live ones.\n */\nexport async function resumePast(machine: Machine | null, base: string, id: string, cwd?: string): Promise<ResumeOutcome> {\n\tconst result = await requestResume(base, id, cwd);\n\tif (result.kind === 'folder-gone') {\n\t\tif (result.root && !cwd) return { kind: 'offer-root', cwd: result.cwd, root: result.root };\n\t\treturn { kind: 'error', message: `${result.cwd ?? 'The folder it ran in'} is gone, and no project folder holds it.` };\n\t}\n\tif (result.kind === 'error') return result;\n\tif (machine && isSettled(machine, id)) setSettled(machine, id, false);\n\treturn { kind: 'ok', tmuxTarget: result.tmuxTarget };\n}\n"],"names":["requestResume","base","id","cwd","res","data","resumePast","machine","result","isSettled","setSettled"],"mappings":"yCAeA,eAAsBA,EAAcC,EAAcC,EAAYC,EAAqC,CAClG,IAAIC,EACJ,GAAI,CACHA,EAAM,MAAM,MAAM,GAAGH,CAAI,aAAa,mBAAmBC,CAAE,CAAC,UAAW,CACtE,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAA,EAC3B,KAAM,KAAK,UAAUC,EAAM,CAAE,IAAAA,CAAA,EAAQ,CAAA,CAAE,CAAA,CACvC,CACF,MAAQ,CACP,MAAO,CAAE,KAAM,QAAS,QAAS,6BAAA,CAClC,CACA,MAAME,EAAO,MAAMD,EAAI,KAAA,EAAO,MAAM,KAAO,CAAA,EAAG,EAC9C,OAAIA,EAAI,IAAM,OAAOC,EAAK,YAAe,SAAiB,CAAE,KAAM,KAAM,WAAYA,EAAK,WAAY,KAAM,CAAC,CAACA,EAAK,IAAA,EAC9GD,EAAI,SAAW,IAAY,CAAE,KAAM,cAAe,IAAKC,EAAK,KAAO,KAAM,KAAMA,EAAK,MAAQ,IAAA,EACzF,CAAE,KAAM,QAAS,QAAS,CAACA,EAAK,MAAOA,EAAK,MAAM,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI,GAAK,kBAAkBD,EAAI,MAAM,IAAA,CACtH,CAaA,eAAsBE,EAAWC,EAAyBN,EAAcC,EAAYC,EAAsC,CACzH,MAAMK,EAAS,MAAMR,EAAcC,EAAMC,EAAIC,CAAG,EAChD,OAAIK,EAAO,OAAS,cACfA,EAAO,MAAQ,CAACL,EAAY,CAAE,KAAM,aAAc,IAAKK,EAAO,IAAK,KAAMA,EAAO,IAAA,EAC7E,CAAE,KAAM,QAAS,QAAS,GAAGA,EAAO,KAAO,sBAAsB,2CAAA,EAErEA,EAAO,OAAS,QAAgBA,GAChCD,GAAWE,EAAUF,EAASL,CAAE,GAAGQ,EAAWH,EAASL,EAAI,EAAK,EAC7D,CAAE,KAAM,KAAM,WAAYM,EAAO,UAAA,EACzC"}
1
+ {"version":3,"file":"BQQ3-rqs.js","sources":["../../../../../../src/lib/past-resume.ts"],"sourcesContent":["/**\n * Resume a past session on the machine that holds it (`POST <base>/api/past/<id>/resume`).\n * The machine starts `claude --resume` in the folder the session ran in, or\n * answers that the session is live already (its pane is the answer), or that\n * the folder is gone, with the project's root to offer instead.\n */\n\nimport { isSettled, setSettled, type Machine } from '$lib/stores/fleet.svelte';\n\nexport type ResumeResult =\n\t/** Running now in `tmuxTarget`: started, or `live` already. */\n\t| { kind: 'ok'; tmuxTarget: string; live: boolean }\n\t| { kind: 'folder-gone'; cwd: string | null; root: string | null }\n\t| { kind: 'error'; message: string };\n\nexport async function requestResume(base: string, id: string, cwd?: string): Promise<ResumeResult> {\n\tlet res: Response;\n\ttry {\n\t\tres = await fetch(`${base}/api/past/${encodeURIComponent(id)}/resume`, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t\tbody: JSON.stringify(cwd ? { cwd } : {})\n\t\t});\n\t} catch {\n\t\treturn { kind: 'error', message: 'The machine did not answer.' };\n\t}\n\tconst data = await res.json().catch(() => ({}));\n\tif (res.ok && typeof data.tmuxTarget === 'string') return { kind: 'ok', tmuxTarget: data.tmuxTarget, live: !!data.live };\n\tif (res.status === 409) return { kind: 'folder-gone', cwd: data.cwd ?? null, root: data.root ?? null };\n\treturn { kind: 'error', message: [data.error, data.detail].filter(Boolean).join(': ') || `Resume failed (${res.status}).` };\n}\n\nexport type ResumeOutcome =\n\t| { kind: 'ok'; tmuxTarget: string }\n\t/** The folder it ran in is gone: the project's root, to offer in its place. */\n\t| { kind: 'offer-root'; cwd: string | null; root: string }\n\t| { kind: 'error'; message: string };\n\n/**\n * Resume a past session and settle what follows: a gone folder becomes the\n * root to offer (only when none was chosen yet), and a resumed session that\n * was settled before it ended goes back among the live ones.\n */\nexport async function resumePast(machine: Machine | null, base: string, id: string, cwd?: string): Promise<ResumeOutcome> {\n\tconst result = await requestResume(base, id, cwd);\n\tif (result.kind === 'folder-gone') {\n\t\tif (result.root && !cwd) return { kind: 'offer-root', cwd: result.cwd, root: result.root };\n\t\treturn { kind: 'error', message: `${result.cwd ?? 'The folder it ran in'} is gone, and no project folder holds it.` };\n\t}\n\tif (result.kind === 'error') return result;\n\tif (machine && isSettled(machine, id)) setSettled(machine, id, false);\n\treturn { kind: 'ok', tmuxTarget: result.tmuxTarget };\n}\n"],"names":["requestResume","base","id","cwd","res","data","resumePast","machine","result","isSettled","setSettled"],"mappings":"yCAeA,eAAsBA,EAAcC,EAAcC,EAAYC,EAAqC,CAClG,IAAIC,EACJ,GAAI,CACHA,EAAM,MAAM,MAAM,GAAGH,CAAI,aAAa,mBAAmBC,CAAE,CAAC,UAAW,CACtE,OAAQ,OACR,QAAS,CAAE,eAAgB,kBAAA,EAC3B,KAAM,KAAK,UAAUC,EAAM,CAAE,IAAAA,CAAA,EAAQ,CAAA,CAAE,CAAA,CACvC,CACF,MAAQ,CACP,MAAO,CAAE,KAAM,QAAS,QAAS,6BAAA,CAClC,CACA,MAAME,EAAO,MAAMD,EAAI,KAAA,EAAO,MAAM,KAAO,CAAA,EAAG,EAC9C,OAAIA,EAAI,IAAM,OAAOC,EAAK,YAAe,SAAiB,CAAE,KAAM,KAAM,WAAYA,EAAK,WAAY,KAAM,CAAC,CAACA,EAAK,IAAA,EAC9GD,EAAI,SAAW,IAAY,CAAE,KAAM,cAAe,IAAKC,EAAK,KAAO,KAAM,KAAMA,EAAK,MAAQ,IAAA,EACzF,CAAE,KAAM,QAAS,QAAS,CAACA,EAAK,MAAOA,EAAK,MAAM,EAAE,OAAO,OAAO,EAAE,KAAK,IAAI,GAAK,kBAAkBD,EAAI,MAAM,IAAA,CACtH,CAaA,eAAsBE,EAAWC,EAAyBN,EAAcC,EAAYC,EAAsC,CACzH,MAAMK,EAAS,MAAMR,EAAcC,EAAMC,EAAIC,CAAG,EAChD,OAAIK,EAAO,OAAS,cACfA,EAAO,MAAQ,CAACL,EAAY,CAAE,KAAM,aAAc,IAAKK,EAAO,IAAK,KAAMA,EAAO,IAAA,EAC7E,CAAE,KAAM,QAAS,QAAS,GAAGA,EAAO,KAAO,sBAAsB,2CAAA,EAErEA,EAAO,OAAS,QAAgBA,GAChCD,GAAWE,EAAUF,EAASL,CAAE,GAAGQ,EAAWH,EAASL,EAAI,EAAK,EAC7D,CAAE,KAAM,KAAM,WAAYM,EAAO,UAAA,EACzC"}
@@ -1,2 +1,2 @@
1
- import"./DxJTiTth.js";import{au as ce,aX as ue,ba as de,a5 as he,T as le,bb as V,w as X,I as Z,bc as fe,i as u,bd as pe,ao as me,z as m,j as x,p as R,x as N,f as _,a as k,b as D,c as z,be as ge,s as $,A as j,ac as I,B as G,bf as ke,bg as be}from"./BeqCgGI7.js";import{p as h,i as O,r as T,c as E}from"./Cjnj9mVX.js";import{c as ve}from"./BgY8YOrV.js";import{y as ye,C as ee,z as xe,A as H,E as _e,D as we,F as Y,G as K,H as Ce,I as Se,J as Re,K as te,L as Ne,M as y,N as A,O as De,P as Pe}from"./CFKTes94.js";import{o as M,e as qe,i as Te}from"./VDVYssW5.js";import"./C1USgZe4.js";const Ae=[];function Me(t,e=!1,r=!1){return W(t,new Map,"",Ae,null,r)}function W(t,e,r,s,n=null,c=!1){if(typeof t=="object"&&t!==null){var a=e.get(t);if(a!==void 0)return a;if(t instanceof Map)return new Map(t);if(t instanceof Set)return new Set(t);if(ce(t)){var o=Array(t.length);e.set(t,o),n!==null&&e.set(n,o);for(var d=0;d<t.length;d+=1){var i=t[d];d in t&&(o[d]=W(i,e,r,s,null,c))}return o}if(ue(t)===de){o={},e.set(t,o),n!==null&&e.set(n,o);for(var l of Object.keys(t))o[l]=W(t[l],e,r,s,null,c);return o}if(t instanceof Date)return t.getTime(),structuredClone(t);if(typeof t.toJSON=="function"&&!c)return W(t.toJSON(),e,r,s,t)}if(t instanceof EventTarget)return t;try{return structuredClone(t)}catch{return t}}function We(t=!1){const e=he,r=e.l.u;if(!r)return;let s=()=>pe(e.s);if(t){let n=0,c={};const a=me(()=>{let o=!1;const d=e.s;for(const i in d)d[i]!==c[i]&&(c[i]=d[i],o=!0);return o&&n++,n});s=()=>u(a)}r.b.length&&le(()=>{U(e,s),V(r.b)}),X(()=>{const n=Z(()=>r.m.map(fe));return()=>{for(const c of n)typeof c=="function"&&c()}}),r.a.length&&X(()=>{U(e,s),V(r.a)})}function U(t,e){if(t.l.s)for(const r of t.l.s)u(r);e()}const re={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",transform:"translateX(-100%)"};ye(re);const ze=Re({component:"checkbox",parts:["root","group","group-label","input"]}),Ie=new ee("Checkbox.Group"),se=new ee("Checkbox.Root");class J{static create(e,r=null){return se.set(new J(e,r))}opts;group;#e=m(()=>this.group&&this.group.opts.name.current?this.group.opts.name.current:this.opts.name.current);get trueName(){return u(this.#e)}set trueName(e){x(this.#e,e)}#t=m(()=>this.group&&this.group.opts.required.current?!0:this.opts.required.current);get trueRequired(){return u(this.#t)}set trueRequired(e){x(this.#t,e)}#r=m(()=>this.group&&this.group.opts.disabled.current?!0:this.opts.disabled.current);get trueDisabled(){return u(this.#r)}set trueDisabled(e){x(this.#r,e)}#n=m(()=>this.group&&this.group.opts.readonly.current?!0:this.opts.readonly.current);get trueReadonly(){return u(this.#n)}set trueReadonly(e){x(this.#n,e)}attachment;constructor(e,r){this.opts=e,this.group=r,this.attachment=xe(this.opts.ref),this.onkeydown=this.onkeydown.bind(this),this.onclick=this.onclick.bind(this),H.pre([()=>Me(this.group?.opts.value.current),()=>this.opts.value.current],([s,n])=>{!s||!n||(this.opts.checked.current=s.includes(n))}),H.pre(()=>this.opts.checked.current,s=>{this.group&&(s?this.group?.addValue(this.opts.value.current):this.group?.removeValue(this.opts.value.current))})}onkeydown(e){if(!(this.trueDisabled||this.trueReadonly)){if(e.key===_e){e.preventDefault(),this.opts.type.current==="submit"&&(e.currentTarget.form??e.currentTarget.closest("form"))?.requestSubmit();return}e.key===we&&(e.preventDefault(),this.#s())}}#s(){this.opts.indeterminate.current?(this.opts.indeterminate.current=!1,this.opts.checked.current=!0):this.opts.checked.current=!this.opts.checked.current}onclick(e){if(!(this.trueDisabled||this.trueReadonly)){if(this.opts.type.current==="submit"){this.#s();return}e.preventDefault(),this.#s()}}#i=m(()=>({checked:this.opts.checked.current,indeterminate:this.opts.indeterminate.current}));get snippetProps(){return u(this.#i)}set snippetProps(e){x(this.#i,e)}#o=m(()=>({id:this.opts.id.current,role:"checkbox",type:this.opts.type.current,form:this.opts.form.current,disabled:this.trueDisabled,"aria-checked":Ce(this.opts.checked.current,this.opts.indeterminate.current),"aria-required":K(this.trueRequired),"aria-readonly":K(this.trueReadonly),"data-disabled":Y(this.trueDisabled),"data-readonly":Y(this.trueReadonly),"data-state":Oe(this.opts.checked.current,this.opts.indeterminate.current),[ze.root]:"",onclick:this.onclick,onkeydown:this.onkeydown,...this.attachment}));get props(){return u(this.#o)}set props(e){x(this.#o,e)}}class F{static create(){return new F(se.get())}root;#e=m(()=>this.root.group?!!(this.root.opts.value.current!==void 0&&this.root.group.opts.value.current.includes(this.root.opts.value.current)):this.root.opts.checked.current);get trueChecked(){return u(this.#e)}set trueChecked(e){x(this.#e,e)}#t=m(()=>!!this.root.trueName);get shouldRender(){return u(this.#t)}set shouldRender(e){x(this.#t,e)}constructor(e){this.root=e,this.onfocus=this.onfocus.bind(this)}onfocus(e){Se(this.root.opts.ref.current)&&this.root.opts.ref.current.focus()}#r=m(()=>({type:"checkbox",checked:this.root.opts.checked.current===!0,disabled:this.root.trueDisabled,required:this.root.trueRequired,name:this.root.trueName,form:this.root.opts.form.current,value:this.root.opts.value.current,readonly:this.root.trueReadonly,onfocus:this.onfocus}));get props(){return u(this.#r)}set props(e){x(this.#r,e)}}function Oe(t,e){return e?"indeterminate":t?"checked":"unchecked"}var Ee=new Set(["$$slots","$$events","$$legacy","value"]),Q=z("<input/>");function Be(t,e){R(e,!0);let r=h(e,"value",15),s=T(e,Ee);const n=m(()=>te(s,{"aria-hidden":"true",tabindex:-1,style:{...re,position:"absolute",top:"0",left:"0"}}));var c=N(),a=_(c);{var o=i=>{var l=Q();M(l,()=>({...u(n),value:r(),defaultChecked:u(n).checked})),k(i,l)},d=i=>{var l=Q(),f=g=>r(g.currentTarget.value);M(l,()=>({...u(n),value:r(),defaultValue:r()??"",oninput:f})),k(i,l)};O(a,i=>{u(n).type==="checkbox"?i(o):i(d,-1)})}k(t,c),D()}function He(t,e){R(e,!1);const r=F.create();We();var s=N(),n=_(s);{var c=a=>{Be(a,E(()=>r.props))};O(n,a=>{r.shouldRender&&a(c)})}k(t,s),D()}var je=new Set(["$$slots","$$events","$$legacy","checked","ref","onCheckedChange","children","disabled","required","name","form","value","id","indeterminate","onIndeterminateChange","child","type","readonly"]),Ge=z("<button><!></button>"),Je=z("<!> <!>",1);function Fe(t,e){const r=ge();R(e,!0);let s=h(e,"checked",15,!1),n=h(e,"ref",15,null),c=h(e,"disabled",3,!1),a=h(e,"required",3,!1),o=h(e,"name",3,void 0),d=h(e,"form",3,void 0),i=h(e,"value",3,"on"),l=h(e,"id",19,()=>Ne(r)),f=h(e,"indeterminate",15,!1),g=h(e,"type",3,"button"),P=T(e,je);const b=Ie.getOr(null);Z(()=>{b&&i()&&(b.opts.value.current.includes(i())?s(!0):s(!1))}),H.pre(()=>i(),()=>{b&&i()&&(b.opts.value.current.includes(i())?s(!0):s(!1))});const w=J.create({checked:y(()=>s(),p=>{s(p),e.onCheckedChange?.(p)}),disabled:y(()=>c()??!1),required:y(()=>a()),name:y(()=>o()),form:y(()=>d()),value:y(()=>i()),id:y(()=>l()),ref:y(()=>n(),p=>n(p)),indeterminate:y(()=>f(),p=>{f(p),e.onIndeterminateChange?.(p)}),type:y(()=>g()),readonly:y(()=>!!e.readonly)},b),C=m(()=>te({...P},w.props));var q=Je(),v=_(q);{var L=p=>{var S=N(),B=_(S);{let ae=m(()=>({props:u(C),...w.snippetProps}));A(B,()=>e.child,()=>u(ae))}k(p,S)},ie=p=>{var S=Ge();M(S,()=>({...u(C)}));var B=j(S);A(B,()=>e.children??I,()=>w.snippetProps),G(S),k(p,S)};O(v,p=>{e.child?p(L):p(ie,-1)})}var oe=$(v,2);He(oe,{}),k(t,q),D()}const Le={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};var Ve=new Set(["$$slots","$$events","$$legacy","name","color","size","strokeWidth","absoluteStrokeWidth","iconNode","children"]),Xe=ke("<svg><!><!></svg>");function ne(t,e){R(e,!0);const r=h(e,"color",3,"currentColor"),s=h(e,"size",3,24),n=h(e,"strokeWidth",3,2),c=h(e,"absoluteStrokeWidth",3,!1),a=h(e,"iconNode",19,()=>[]),o=T(e,Ve);var d=Xe();M(d,f=>({...Le,...o,width:s(),height:s(),stroke:r(),"stroke-width":f,class:["lucide-icon lucide",e.name&&`lucide-${e.name}`,e.class]}),[()=>c()?Number(n())*24/Number(s()):n()]);var i=j(d);qe(i,17,a,Te,(f,g)=>{var P=m(()=>be(u(g),2));let b=()=>u(P)[0],w=()=>u(P)[1];var C=N(),q=_(C);De(q,b,!0,(v,L)=>{M(v,()=>({...w()}))}),k(f,C)});var l=$(i);A(l,()=>e.children??I),G(d),k(t,d),D()}var Ye=new Set(["$$slots","$$events","$$legacy"]);function Ke(t,e){R(e,!0);let r=T(e,Ye);const s=[["path",{d:"M20 6 9 17l-5-5"}]];ne(t,E({name:"check"},()=>r,{get iconNode(){return s},children:(n,c)=>{var a=N(),o=_(a);A(o,()=>e.children??I),k(n,a)},$$slots:{default:!0}})),D()}function ct(t,e){return t.startsWith("tag: ")?{kind:"tag",name:t.slice(5)}:{kind:e.has(t)||!t.includes("/")?"branch":"remote",name:t}}const Ue=new Intl.DateTimeFormat(void 0,{weekday:"long",day:"numeric",month:"short"});function ut(t,e){const r=n=>new Date(n).setHours(0,0,0,0),s=Math.round((r(e)-r(t))/864e5);return s===0?"Today":s===1?"Yesterday":Ue.format(t)}const dt=t=>t.slice(0,7);var Qe=new Set(["$$slots","$$events","$$legacy"]);function Ze(t,e){R(e,!0);let r=T(e,Qe);const s=[["path",{d:"M5 12h14"}]];ne(t,E({name:"minus"},()=>r,{get iconNode(){return s},children:(n,c)=>{var a=N(),o=_(a);A(o,()=>e.children??I),k(n,a)},$$slots:{default:!0}})),D()}var $e=new Set(["$$slots","$$events","$$legacy","ref","checked","indeterminate","class"]),et=z('<div data-slot="checkbox-indicator" class="text-current transition-none"><!></div>');function ht(t,e){R(e,!0);let r=h(e,"ref",15,null),s=h(e,"checked",15,!1),n=h(e,"indeterminate",15,!1),c=T(e,$e);var a=N(),o=_(a);{const d=(l,f)=>{let g=()=>(f?.()).checked,P=()=>(f?.()).indeterminate;var b=et(),w=j(b);{var C=v=>{Ke(v,{class:"size-3.5"})},q=v=>{Ze(v,{class:"size-3.5"})};O(w,v=>{g()?v(C):P()&&v(q,1)})}G(b),k(l,b)};let i=m(()=>Pe("border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e.class));ve(o,()=>Fe,(l,f)=>{f(l,E({"data-slot":"checkbox",get class(){return u(i)}},()=>c,{get ref(){return r()},set ref(g){r(g)},get checked(){return s()},set checked(g){s(g)},get indeterminate(){return n()},set indeterminate(g){n(g)},children:d,$$slots:{default:!0}}))})}k(t,a),D()}export{ht as C,ne as I,Me as a,re as b,Ke as c,ut as d,ct as r,dt as s};
2
- //# sourceMappingURL=CuqNMNCh.js.map
1
+ import"./DxJTiTth.js";import{au as ce,aX as ue,ba as de,a5 as he,T as le,bb as V,w as X,I as Z,bc as fe,i as u,bd as pe,ao as me,z as m,j as x,p as R,x as N,f as _,a as k,b as D,c as z,be as ge,s as $,A as j,ac as I,B as G,bf as ke,bg as be}from"./BeqCgGI7.js";import{p as h,i as O,r as T,c as E}from"./Cjnj9mVX.js";import{c as ve}from"./BgY8YOrV.js";import{y as ye,C as ee,z as xe,A as H,E as _e,D as we,F as Y,G as K,H as Ce,I as Se,J as Re,K as te,L as Ne,M as y,N as A,O as De,P as Pe}from"./CtjkAirr.js";import{o as M,e as qe,i as Te}from"./VDVYssW5.js";import"./C1USgZe4.js";const Ae=[];function Me(t,e=!1,r=!1){return W(t,new Map,"",Ae,null,r)}function W(t,e,r,s,n=null,c=!1){if(typeof t=="object"&&t!==null){var a=e.get(t);if(a!==void 0)return a;if(t instanceof Map)return new Map(t);if(t instanceof Set)return new Set(t);if(ce(t)){var o=Array(t.length);e.set(t,o),n!==null&&e.set(n,o);for(var d=0;d<t.length;d+=1){var i=t[d];d in t&&(o[d]=W(i,e,r,s,null,c))}return o}if(ue(t)===de){o={},e.set(t,o),n!==null&&e.set(n,o);for(var l of Object.keys(t))o[l]=W(t[l],e,r,s,null,c);return o}if(t instanceof Date)return t.getTime(),structuredClone(t);if(typeof t.toJSON=="function"&&!c)return W(t.toJSON(),e,r,s,t)}if(t instanceof EventTarget)return t;try{return structuredClone(t)}catch{return t}}function We(t=!1){const e=he,r=e.l.u;if(!r)return;let s=()=>pe(e.s);if(t){let n=0,c={};const a=me(()=>{let o=!1;const d=e.s;for(const i in d)d[i]!==c[i]&&(c[i]=d[i],o=!0);return o&&n++,n});s=()=>u(a)}r.b.length&&le(()=>{U(e,s),V(r.b)}),X(()=>{const n=Z(()=>r.m.map(fe));return()=>{for(const c of n)typeof c=="function"&&c()}}),r.a.length&&X(()=>{U(e,s),V(r.a)})}function U(t,e){if(t.l.s)for(const r of t.l.s)u(r);e()}const re={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0",transform:"translateX(-100%)"};ye(re);const ze=Re({component:"checkbox",parts:["root","group","group-label","input"]}),Ie=new ee("Checkbox.Group"),se=new ee("Checkbox.Root");class J{static create(e,r=null){return se.set(new J(e,r))}opts;group;#e=m(()=>this.group&&this.group.opts.name.current?this.group.opts.name.current:this.opts.name.current);get trueName(){return u(this.#e)}set trueName(e){x(this.#e,e)}#t=m(()=>this.group&&this.group.opts.required.current?!0:this.opts.required.current);get trueRequired(){return u(this.#t)}set trueRequired(e){x(this.#t,e)}#r=m(()=>this.group&&this.group.opts.disabled.current?!0:this.opts.disabled.current);get trueDisabled(){return u(this.#r)}set trueDisabled(e){x(this.#r,e)}#n=m(()=>this.group&&this.group.opts.readonly.current?!0:this.opts.readonly.current);get trueReadonly(){return u(this.#n)}set trueReadonly(e){x(this.#n,e)}attachment;constructor(e,r){this.opts=e,this.group=r,this.attachment=xe(this.opts.ref),this.onkeydown=this.onkeydown.bind(this),this.onclick=this.onclick.bind(this),H.pre([()=>Me(this.group?.opts.value.current),()=>this.opts.value.current],([s,n])=>{!s||!n||(this.opts.checked.current=s.includes(n))}),H.pre(()=>this.opts.checked.current,s=>{this.group&&(s?this.group?.addValue(this.opts.value.current):this.group?.removeValue(this.opts.value.current))})}onkeydown(e){if(!(this.trueDisabled||this.trueReadonly)){if(e.key===_e){e.preventDefault(),this.opts.type.current==="submit"&&(e.currentTarget.form??e.currentTarget.closest("form"))?.requestSubmit();return}e.key===we&&(e.preventDefault(),this.#s())}}#s(){this.opts.indeterminate.current?(this.opts.indeterminate.current=!1,this.opts.checked.current=!0):this.opts.checked.current=!this.opts.checked.current}onclick(e){if(!(this.trueDisabled||this.trueReadonly)){if(this.opts.type.current==="submit"){this.#s();return}e.preventDefault(),this.#s()}}#i=m(()=>({checked:this.opts.checked.current,indeterminate:this.opts.indeterminate.current}));get snippetProps(){return u(this.#i)}set snippetProps(e){x(this.#i,e)}#o=m(()=>({id:this.opts.id.current,role:"checkbox",type:this.opts.type.current,form:this.opts.form.current,disabled:this.trueDisabled,"aria-checked":Ce(this.opts.checked.current,this.opts.indeterminate.current),"aria-required":K(this.trueRequired),"aria-readonly":K(this.trueReadonly),"data-disabled":Y(this.trueDisabled),"data-readonly":Y(this.trueReadonly),"data-state":Oe(this.opts.checked.current,this.opts.indeterminate.current),[ze.root]:"",onclick:this.onclick,onkeydown:this.onkeydown,...this.attachment}));get props(){return u(this.#o)}set props(e){x(this.#o,e)}}class F{static create(){return new F(se.get())}root;#e=m(()=>this.root.group?!!(this.root.opts.value.current!==void 0&&this.root.group.opts.value.current.includes(this.root.opts.value.current)):this.root.opts.checked.current);get trueChecked(){return u(this.#e)}set trueChecked(e){x(this.#e,e)}#t=m(()=>!!this.root.trueName);get shouldRender(){return u(this.#t)}set shouldRender(e){x(this.#t,e)}constructor(e){this.root=e,this.onfocus=this.onfocus.bind(this)}onfocus(e){Se(this.root.opts.ref.current)&&this.root.opts.ref.current.focus()}#r=m(()=>({type:"checkbox",checked:this.root.opts.checked.current===!0,disabled:this.root.trueDisabled,required:this.root.trueRequired,name:this.root.trueName,form:this.root.opts.form.current,value:this.root.opts.value.current,readonly:this.root.trueReadonly,onfocus:this.onfocus}));get props(){return u(this.#r)}set props(e){x(this.#r,e)}}function Oe(t,e){return e?"indeterminate":t?"checked":"unchecked"}var Ee=new Set(["$$slots","$$events","$$legacy","value"]),Q=z("<input/>");function Be(t,e){R(e,!0);let r=h(e,"value",15),s=T(e,Ee);const n=m(()=>te(s,{"aria-hidden":"true",tabindex:-1,style:{...re,position:"absolute",top:"0",left:"0"}}));var c=N(),a=_(c);{var o=i=>{var l=Q();M(l,()=>({...u(n),value:r(),defaultChecked:u(n).checked})),k(i,l)},d=i=>{var l=Q(),f=g=>r(g.currentTarget.value);M(l,()=>({...u(n),value:r(),defaultValue:r()??"",oninput:f})),k(i,l)};O(a,i=>{u(n).type==="checkbox"?i(o):i(d,-1)})}k(t,c),D()}function He(t,e){R(e,!1);const r=F.create();We();var s=N(),n=_(s);{var c=a=>{Be(a,E(()=>r.props))};O(n,a=>{r.shouldRender&&a(c)})}k(t,s),D()}var je=new Set(["$$slots","$$events","$$legacy","checked","ref","onCheckedChange","children","disabled","required","name","form","value","id","indeterminate","onIndeterminateChange","child","type","readonly"]),Ge=z("<button><!></button>"),Je=z("<!> <!>",1);function Fe(t,e){const r=ge();R(e,!0);let s=h(e,"checked",15,!1),n=h(e,"ref",15,null),c=h(e,"disabled",3,!1),a=h(e,"required",3,!1),o=h(e,"name",3,void 0),d=h(e,"form",3,void 0),i=h(e,"value",3,"on"),l=h(e,"id",19,()=>Ne(r)),f=h(e,"indeterminate",15,!1),g=h(e,"type",3,"button"),P=T(e,je);const b=Ie.getOr(null);Z(()=>{b&&i()&&(b.opts.value.current.includes(i())?s(!0):s(!1))}),H.pre(()=>i(),()=>{b&&i()&&(b.opts.value.current.includes(i())?s(!0):s(!1))});const w=J.create({checked:y(()=>s(),p=>{s(p),e.onCheckedChange?.(p)}),disabled:y(()=>c()??!1),required:y(()=>a()),name:y(()=>o()),form:y(()=>d()),value:y(()=>i()),id:y(()=>l()),ref:y(()=>n(),p=>n(p)),indeterminate:y(()=>f(),p=>{f(p),e.onIndeterminateChange?.(p)}),type:y(()=>g()),readonly:y(()=>!!e.readonly)},b),C=m(()=>te({...P},w.props));var q=Je(),v=_(q);{var L=p=>{var S=N(),B=_(S);{let ae=m(()=>({props:u(C),...w.snippetProps}));A(B,()=>e.child,()=>u(ae))}k(p,S)},ie=p=>{var S=Ge();M(S,()=>({...u(C)}));var B=j(S);A(B,()=>e.children??I,()=>w.snippetProps),G(S),k(p,S)};O(v,p=>{e.child?p(L):p(ie,-1)})}var oe=$(v,2);He(oe,{}),k(t,q),D()}const Le={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};var Ve=new Set(["$$slots","$$events","$$legacy","name","color","size","strokeWidth","absoluteStrokeWidth","iconNode","children"]),Xe=ke("<svg><!><!></svg>");function ne(t,e){R(e,!0);const r=h(e,"color",3,"currentColor"),s=h(e,"size",3,24),n=h(e,"strokeWidth",3,2),c=h(e,"absoluteStrokeWidth",3,!1),a=h(e,"iconNode",19,()=>[]),o=T(e,Ve);var d=Xe();M(d,f=>({...Le,...o,width:s(),height:s(),stroke:r(),"stroke-width":f,class:["lucide-icon lucide",e.name&&`lucide-${e.name}`,e.class]}),[()=>c()?Number(n())*24/Number(s()):n()]);var i=j(d);qe(i,17,a,Te,(f,g)=>{var P=m(()=>be(u(g),2));let b=()=>u(P)[0],w=()=>u(P)[1];var C=N(),q=_(C);De(q,b,!0,(v,L)=>{M(v,()=>({...w()}))}),k(f,C)});var l=$(i);A(l,()=>e.children??I),G(d),k(t,d),D()}var Ye=new Set(["$$slots","$$events","$$legacy"]);function Ke(t,e){R(e,!0);let r=T(e,Ye);const s=[["path",{d:"M20 6 9 17l-5-5"}]];ne(t,E({name:"check"},()=>r,{get iconNode(){return s},children:(n,c)=>{var a=N(),o=_(a);A(o,()=>e.children??I),k(n,a)},$$slots:{default:!0}})),D()}function ct(t,e){return t.startsWith("tag: ")?{kind:"tag",name:t.slice(5)}:{kind:e.has(t)||!t.includes("/")?"branch":"remote",name:t}}const Ue=new Intl.DateTimeFormat(void 0,{weekday:"long",day:"numeric",month:"short"});function ut(t,e){const r=n=>new Date(n).setHours(0,0,0,0),s=Math.round((r(e)-r(t))/864e5);return s===0?"Today":s===1?"Yesterday":Ue.format(t)}const dt=t=>t.slice(0,7);var Qe=new Set(["$$slots","$$events","$$legacy"]);function Ze(t,e){R(e,!0);let r=T(e,Qe);const s=[["path",{d:"M5 12h14"}]];ne(t,E({name:"minus"},()=>r,{get iconNode(){return s},children:(n,c)=>{var a=N(),o=_(a);A(o,()=>e.children??I),k(n,a)},$$slots:{default:!0}})),D()}var $e=new Set(["$$slots","$$events","$$legacy","ref","checked","indeterminate","class"]),et=z('<div data-slot="checkbox-indicator" class="text-current transition-none"><!></div>');function ht(t,e){R(e,!0);let r=h(e,"ref",15,null),s=h(e,"checked",15,!1),n=h(e,"indeterminate",15,!1),c=T(e,$e);var a=N(),o=_(a);{const d=(l,f)=>{let g=()=>(f?.()).checked,P=()=>(f?.()).indeterminate;var b=et(),w=j(b);{var C=v=>{Ke(v,{class:"size-3.5"})},q=v=>{Ze(v,{class:"size-3.5"})};O(w,v=>{g()?v(C):P()&&v(q,1)})}G(b),k(l,b)};let i=m(()=>Pe("border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e.class));ve(o,()=>Fe,(l,f)=>{f(l,E({"data-slot":"checkbox",get class(){return u(i)}},()=>c,{get ref(){return r()},set ref(g){r(g)},get checked(){return s()},set checked(g){s(g)},get indeterminate(){return n()},set indeterminate(g){n(g)},children:d,$$slots:{default:!0}}))})}k(t,a),D()}export{ht as C,ne as I,Me as a,re as b,Ke as c,ut as d,ct as r,dt as s};
2
+ //# sourceMappingURL=BQzv8cqz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CuqNMNCh.js","sources":["../../../../../../../node_modules/.bun/svelte@5.57.3/node_modules/svelte/src/internal/shared/clone.js","../../../../../../../node_modules/.bun/svelte@5.57.3/node_modules/svelte/src/internal/client/dom/legacy/lifecycle.js","../../../../../../../node_modules/.bun/svelte-toolbelt@0.10.6+ec0a64a97e9eb16b/node_modules/svelte-toolbelt/dist/utils/sr-only-styles.js","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/checkbox/checkbox.svelte.js","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/utilities/hidden-input.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/checkbox/components/checkbox-input.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/checkbox/components/checkbox.svelte","../../../../../../../node_modules/.bun/@lucide+svelte@0.561.0+ec0a64a97e9eb16b/node_modules/@lucide/svelte/dist/defaultAttributes.js","../../../../../../../node_modules/.bun/@lucide+svelte@0.561.0+ec0a64a97e9eb16b/node_modules/@lucide/svelte/dist/Icon.svelte","../../../../../../../node_modules/.bun/@lucide+svelte@0.561.0+ec0a64a97e9eb16b/node_modules/@lucide/svelte/dist/icons/check.svelte","../../../../../../src/lib/side-panel/history.ts","../../../../../../../node_modules/.bun/@lucide+svelte@0.561.0+ec0a64a97e9eb16b/node_modules/@lucide/svelte/dist/icons/minus.svelte","../../../../../../src/lib/components/ui/checkbox/checkbox.svelte"],"sourcesContent":["/** @import { Snapshot } from './types' */\nimport { DEV } from 'esm-env';\nimport * as w from './warnings.js';\nimport { get_prototype_of, is_array, object_prototype } from './utils.js';\n\n/**\n * In dev, we keep track of which properties could not be cloned. In prod\n * we don't bother, but we keep a dummy array around so that the\n * signature stays the same\n * @type {string[]}\n */\nconst empty = [];\n\n/**\n * @template T\n * @param {T} value\n * @param {boolean} [skip_warning]\n * @param {boolean} [no_tojson]\n * @returns {Snapshot<T>}\n */\nexport function snapshot(value, skip_warning = false, no_tojson = false) {\n\tif (DEV && !skip_warning) {\n\t\t/** @type {string[]} */\n\t\tconst paths = [];\n\n\t\tconst copy = clone(value, new Map(), '', paths, null, no_tojson);\n\t\tif (paths.length === 1 && paths[0] === '') {\n\t\t\t// value could not be cloned\n\t\t\tw.state_snapshot_uncloneable();\n\t\t} else if (paths.length > 0) {\n\t\t\t// some properties could not be cloned\n\t\t\tconst slice = paths.length > 10 ? paths.slice(0, 7) : paths.slice(0, 10);\n\t\t\tconst excess = paths.length - slice.length;\n\n\t\t\tlet uncloned = slice.map((path) => `- <value>${path}`).join('\\n');\n\t\t\tif (excess > 0) uncloned += `\\n- ...and ${excess} more`;\n\n\t\t\tw.state_snapshot_uncloneable(uncloned);\n\t\t}\n\n\t\treturn copy;\n\t}\n\n\treturn clone(value, new Map(), '', empty, null, no_tojson);\n}\n\n/**\n * @template T\n * @param {T} value\n * @param {Map<T, Snapshot<T>>} cloned\n * @param {string} path\n * @param {string[]} paths\n * @param {null | T} [original] The original value, if `value` was produced from a `toJSON` call\n * @param {boolean} [no_tojson]\n * @returns {Snapshot<T>}\n */\nfunction clone(value, cloned, path, paths, original = null, no_tojson = false) {\n\tif (typeof value === 'object' && value !== null) {\n\t\tvar unwrapped = cloned.get(value);\n\t\tif (unwrapped !== undefined) return unwrapped;\n\n\t\tif (value instanceof Map) return /** @type {Snapshot<T>} */ (new Map(value));\n\t\tif (value instanceof Set) return /** @type {Snapshot<T>} */ (new Set(value));\n\n\t\tif (is_array(value)) {\n\t\t\tvar copy = /** @type {Snapshot<any>} */ (Array(value.length));\n\t\t\tcloned.set(value, copy);\n\n\t\t\tif (original !== null) {\n\t\t\t\tcloned.set(original, copy);\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < value.length; i += 1) {\n\t\t\t\tvar element = value[i];\n\t\t\t\tif (i in value) {\n\t\t\t\t\tcopy[i] = clone(element, cloned, DEV ? `${path}[${i}]` : path, paths, null, no_tojson);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn copy;\n\t\t}\n\n\t\tif (get_prototype_of(value) === object_prototype) {\n\t\t\t/** @type {Snapshot<any>} */\n\t\t\tcopy = {};\n\t\t\tcloned.set(value, copy);\n\n\t\t\tif (original !== null) {\n\t\t\t\tcloned.set(original, copy);\n\t\t\t}\n\n\t\t\tfor (var key of Object.keys(value)) {\n\t\t\t\tcopy[key] = clone(\n\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\tvalue[key],\n\t\t\t\t\tcloned,\n\t\t\t\t\tDEV ? `${path}.${key}` : path,\n\t\t\t\t\tpaths,\n\t\t\t\t\tnull,\n\t\t\t\t\tno_tojson\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn copy;\n\t\t}\n\n\t\tif (value instanceof Date) {\n\t\t\t// Ensure SvelteDate snapshots are tracked\n\t\t\tvalue.getTime();\n\t\t\treturn /** @type {Snapshot<T>} */ (structuredClone(value));\n\t\t}\n\n\t\tif (typeof (/** @type {T & { toJSON?: any } } */ (value).toJSON) === 'function' && !no_tojson) {\n\t\t\treturn clone(\n\t\t\t\t/** @type {T & { toJSON(): any } } */ (value).toJSON(),\n\t\t\t\tcloned,\n\t\t\t\tDEV ? `${path}.toJSON()` : path,\n\t\t\t\tpaths,\n\t\t\t\t// Associate the instance with the toJSON clone\n\t\t\t\tvalue\n\t\t\t);\n\t\t}\n\t}\n\n\tif (value instanceof EventTarget) {\n\t\t// can't be cloned\n\t\treturn /** @type {Snapshot<T>} */ (value);\n\t}\n\n\ttry {\n\t\treturn /** @type {Snapshot<T>} */ (structuredClone(value));\n\t} catch (e) {\n\t\tif (DEV) {\n\t\t\tpaths.push(path);\n\t\t}\n\n\t\treturn /** @type {Snapshot<T>} */ (value);\n\t}\n}\n","/** @import { ComponentContextLegacy } from '#client' */\nimport { run, run_all } from '../../../shared/utils.js';\nimport { component_context } from '../../context.js';\nimport { derived } from '../../reactivity/deriveds.js';\nimport { user_pre_effect, user_effect } from '../../reactivity/effects.js';\nimport { deep_read_state, get, untrack } from '../../runtime.js';\n\n/**\n * Legacy-mode only: Call `onMount` callbacks and set up `beforeUpdate`/`afterUpdate` effects\n * @param {boolean} [immutable]\n */\nexport function init(immutable = false) {\n\tconst context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\tconst callbacks = context.l.u;\n\tif (!callbacks) return;\n\n\tlet props = () => deep_read_state(context.s);\n\n\tif (immutable) {\n\t\tlet version = 0;\n\t\tlet prev = /** @type {Record<string, any>} */ ({});\n\n\t\t// In legacy immutable mode, before/afterUpdate only fire if the object identity of a prop changes\n\t\tconst d = derived(() => {\n\t\t\tlet changed = false;\n\t\t\tconst props = context.s;\n\t\t\tfor (const key in props) {\n\t\t\t\tif (props[key] !== prev[key]) {\n\t\t\t\t\tprev[key] = props[key];\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (changed) version++;\n\t\t\treturn version;\n\t\t});\n\n\t\tprops = () => get(d);\n\t}\n\n\t// beforeUpdate\n\tif (callbacks.b.length) {\n\t\tuser_pre_effect(() => {\n\t\t\tobserve_all(context, props);\n\t\t\trun_all(callbacks.b);\n\t\t});\n\t}\n\n\t// onMount (must run before afterUpdate)\n\tuser_effect(() => {\n\t\tconst fns = untrack(() => callbacks.m.map(run));\n\t\treturn () => {\n\t\t\tfor (const fn of fns) {\n\t\t\t\tif (typeof fn === 'function') {\n\t\t\t\t\tfn();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n\n\t// afterUpdate\n\tif (callbacks.a.length) {\n\t\tuser_effect(() => {\n\t\t\tobserve_all(context, props);\n\t\t\trun_all(callbacks.a);\n\t\t});\n\t}\n}\n\n/**\n * Invoke the getter of all signals associated with a component\n * so they can be registered to the effect this function is called in.\n * @param {ComponentContextLegacy} context\n * @param {(() => void)} props\n */\nfunction observe_all(context, props) {\n\tif (context.l.s) {\n\t\tfor (const signal of context.l.s) get(signal);\n\t}\n\n\tprops();\n}\n","import { styleToString } from \"./style.js\";\nexport const srOnlyStyles = {\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n padding: \"0\",\n margin: \"-1px\",\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n borderWidth: \"0\",\n transform: \"translateX(-100%)\"\n};\nexport const srOnlyStylesString = styleToString(srOnlyStyles);\n","import { attachRef } from \"svelte-toolbelt\";\nimport { Context, watch } from \"runed\";\nimport { boolToStr, createBitsAttrs, getAriaChecked, boolToEmptyStrOrUndef, } from \"../../internal/attrs.js\";\nimport { kbd } from \"../../internal/kbd.js\";\nimport { arraysAreEqual } from \"../../internal/arrays.js\";\nimport { isHTMLElement } from \"../../internal/is.js\";\nconst checkboxAttrs = createBitsAttrs({\n component: \"checkbox\",\n parts: [\"root\", \"group\", \"group-label\", \"input\"],\n});\nexport const CheckboxGroupContext = new Context(\"Checkbox.Group\");\nexport class CheckboxGroupState {\n static create(opts) {\n return CheckboxGroupContext.set(new CheckboxGroupState(opts));\n }\n opts;\n attachment;\n labelId = $state(undefined);\n constructor(opts) {\n this.opts = opts;\n this.attachment = attachRef(this.opts.ref);\n }\n addValue(checkboxValue) {\n if (!checkboxValue)\n return;\n if (!this.opts.value.current.includes(checkboxValue)) {\n const newValue = [...$state.snapshot(this.opts.value.current), checkboxValue];\n this.opts.value.current = newValue;\n if (arraysAreEqual(this.opts.value.current, newValue))\n return;\n this.opts.onValueChange.current(newValue);\n }\n }\n removeValue(checkboxValue) {\n if (!checkboxValue)\n return;\n const index = this.opts.value.current.indexOf(checkboxValue);\n if (index === -1)\n return;\n const newValue = this.opts.value.current.filter((v) => v !== checkboxValue);\n this.opts.value.current = newValue;\n if (arraysAreEqual(this.opts.value.current, newValue))\n return;\n this.opts.onValueChange.current(newValue);\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n role: \"group\",\n \"aria-labelledby\": this.labelId,\n \"data-disabled\": boolToEmptyStrOrUndef(this.opts.disabled.current),\n [checkboxAttrs.group]: \"\",\n ...this.attachment,\n }));\n}\nexport class CheckboxGroupLabelState {\n static create(opts) {\n return new CheckboxGroupLabelState(opts, CheckboxGroupContext.get());\n }\n opts;\n group;\n attachment;\n constructor(opts, group) {\n this.opts = opts;\n this.group = group;\n this.group.labelId = this.opts.id.current;\n this.attachment = attachRef(this.opts.ref);\n watch.pre(() => this.opts.id.current, (id) => {\n this.group.labelId = id;\n });\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n \"data-disabled\": boolToEmptyStrOrUndef(this.group.opts.disabled.current),\n [checkboxAttrs[\"group-label\"]]: \"\",\n ...this.attachment,\n }));\n}\nconst CheckboxRootContext = new Context(\"Checkbox.Root\");\nexport class CheckboxRootState {\n static create(opts, group = null) {\n return CheckboxRootContext.set(new CheckboxRootState(opts, group));\n }\n opts;\n group;\n trueName = $derived.by(() => {\n if (this.group && this.group.opts.name.current)\n return this.group.opts.name.current;\n return this.opts.name.current;\n });\n trueRequired = $derived.by(() => {\n if (this.group && this.group.opts.required.current)\n return true;\n return this.opts.required.current;\n });\n trueDisabled = $derived.by(() => {\n if (this.group && this.group.opts.disabled.current)\n return true;\n return this.opts.disabled.current;\n });\n trueReadonly = $derived.by(() => {\n if (this.group && this.group.opts.readonly.current)\n return true;\n return this.opts.readonly.current;\n });\n attachment;\n constructor(opts, group) {\n this.opts = opts;\n this.group = group;\n this.attachment = attachRef(this.opts.ref);\n this.onkeydown = this.onkeydown.bind(this);\n this.onclick = this.onclick.bind(this);\n watch.pre([() => $state.snapshot(this.group?.opts.value.current), () => this.opts.value.current], ([groupValue, value]) => {\n if (!groupValue || !value)\n return;\n this.opts.checked.current = groupValue.includes(value);\n });\n watch.pre(() => this.opts.checked.current, (checked) => {\n if (!this.group)\n return;\n if (checked) {\n this.group?.addValue(this.opts.value.current);\n }\n else {\n this.group?.removeValue(this.opts.value.current);\n }\n });\n }\n onkeydown(e) {\n if (this.trueDisabled || this.trueReadonly)\n return;\n if (e.key === kbd.ENTER) {\n e.preventDefault();\n if (this.opts.type.current === \"submit\") {\n const form = e.currentTarget.form ?? e.currentTarget.closest(\"form\");\n form?.requestSubmit();\n }\n return;\n }\n if (e.key === kbd.SPACE) {\n e.preventDefault();\n this.#toggle();\n }\n }\n #toggle() {\n if (this.opts.indeterminate.current) {\n this.opts.indeterminate.current = false;\n this.opts.checked.current = true;\n }\n else {\n this.opts.checked.current = !this.opts.checked.current;\n }\n }\n onclick(e) {\n if (this.trueDisabled || this.trueReadonly)\n return;\n if (this.opts.type.current === \"submit\") {\n this.#toggle();\n return;\n }\n e.preventDefault();\n this.#toggle();\n }\n snippetProps = $derived.by(() => ({\n checked: this.opts.checked.current,\n indeterminate: this.opts.indeterminate.current,\n }));\n props = $derived.by(() => ({\n id: this.opts.id.current,\n role: \"checkbox\",\n type: this.opts.type.current,\n form: this.opts.form.current,\n disabled: this.trueDisabled,\n \"aria-checked\": getAriaChecked(this.opts.checked.current, this.opts.indeterminate.current),\n \"aria-required\": boolToStr(this.trueRequired),\n \"aria-readonly\": boolToStr(this.trueReadonly),\n \"data-disabled\": boolToEmptyStrOrUndef(this.trueDisabled),\n \"data-readonly\": boolToEmptyStrOrUndef(this.trueReadonly),\n \"data-state\": getCheckboxDataState(this.opts.checked.current, this.opts.indeterminate.current),\n [checkboxAttrs.root]: \"\",\n //\n onclick: this.onclick,\n onkeydown: this.onkeydown,\n ...this.attachment,\n }));\n}\nexport class CheckboxInputState {\n static create() {\n return new CheckboxInputState(CheckboxRootContext.get());\n }\n root;\n trueChecked = $derived.by(() => {\n if (!this.root.group)\n return this.root.opts.checked.current;\n if (this.root.opts.value.current !== undefined &&\n this.root.group.opts.value.current.includes(this.root.opts.value.current)) {\n return true;\n }\n return false;\n });\n shouldRender = $derived.by(() => Boolean(this.root.trueName));\n constructor(root) {\n this.root = root;\n this.onfocus = this.onfocus.bind(this);\n }\n onfocus(_) {\n if (!isHTMLElement(this.root.opts.ref.current))\n return;\n this.root.opts.ref.current.focus();\n }\n props = $derived.by(() => ({\n type: \"checkbox\",\n checked: this.root.opts.checked.current === true,\n disabled: this.root.trueDisabled,\n required: this.root.trueRequired,\n name: this.root.trueName,\n form: this.root.opts.form.current,\n value: this.root.opts.value.current,\n readonly: this.root.trueReadonly,\n onfocus: this.onfocus,\n }));\n}\nfunction getCheckboxDataState(checked, indeterminate) {\n if (indeterminate)\n return \"indeterminate\";\n return checked ? \"checked\" : \"unchecked\";\n}\n","<script lang=\"ts\">\n\timport { mergeProps, srOnlyStyles } from \"svelte-toolbelt\";\n\timport type { HTMLInputAttributes } from \"svelte/elements\";\n\n\tlet { value = $bindable(), ...restProps }: HTMLInputAttributes = $props();\n\n\tconst mergedProps = $derived(\n\t\tmergeProps(restProps, {\n\t\t\t\"aria-hidden\": \"true\",\n\t\t\ttabindex: -1,\n\t\t\tstyle: {\n\t\t\t\t...srOnlyStyles,\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"0\",\n\t\t\t\tleft: \"0\",\n\t\t\t},\n\t\t})\n\t);\n</script>\n\n<!--\n\tThe component state is the source of truth. Mirroring it into `defaultValue`/`defaultChecked`\n\tmakes a native form reset restore the current state instead of clearing the input, and avoids\n\t`bind:value`, whose reset handler would write a stale value back into `value` (#1942).\n-->\n{#if mergedProps.type === \"checkbox\"}\n\t<input {...mergedProps} {value} defaultChecked={mergedProps.checked} />\n{:else}\n\t<input\n\t\t{...mergedProps}\n\t\t{value}\n\t\tdefaultValue={value ?? \"\"}\n\t\toninput={(e) => (value = e.currentTarget.value)}\n\t/>\n{/if}\n","<script lang=\"ts\">\n\timport { CheckboxInputState } from \"../checkbox.svelte.js\";\n\timport HiddenInput from \"../../utilities/hidden-input.svelte\";\n\n\tconst inputState = CheckboxInputState.create();\n</script>\n\n{#if inputState.shouldRender}\n\t<HiddenInput {...inputState.props} />\n{/if}\n","<script lang=\"ts\">\n\timport { boxWith, mergeProps } from \"svelte-toolbelt\";\n\timport { untrack } from \"svelte\";\n\timport type { CheckboxRootProps } from \"../types.js\";\n\timport { CheckboxGroupContext, CheckboxRootState } from \"../checkbox.svelte.js\";\n\timport CheckboxInput from \"./checkbox-input.svelte\";\n\timport { createId } from \"../../../internal/create-id.js\";\n\timport { watch } from \"runed\";\n\n\tconst uid = $props.id();\n\n\tlet {\n\t\tchecked = $bindable(false),\n\t\tref = $bindable(null),\n\t\tonCheckedChange,\n\t\tchildren,\n\t\tdisabled = false,\n\t\trequired = false,\n\t\tname = undefined,\n\t\tform = undefined,\n\t\tvalue = \"on\",\n\t\tid = createId(uid),\n\t\tindeterminate = $bindable(false),\n\t\tonIndeterminateChange,\n\t\tchild,\n\t\ttype = \"button\",\n\t\treadonly,\n\t\t...restProps\n\t}: CheckboxRootProps = $props();\n\n\tconst group = CheckboxGroupContext.getOr(null);\n\n\tuntrack(() => {\n\t\tif (group && value) {\n\t\t\tif (group.opts.value.current.includes(value)) {\n\t\t\t\tchecked = true;\n\t\t\t} else {\n\t\t\t\tchecked = false;\n\t\t\t}\n\t\t}\n\t});\n\n\twatch.pre(\n\t\t() => value,\n\t\t() => {\n\t\t\tif (group && value) {\n\t\t\t\tif (group.opts.value.current.includes(value)) {\n\t\t\t\t\tchecked = true;\n\t\t\t\t} else {\n\t\t\t\t\tchecked = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t);\n\n\tconst rootState = CheckboxRootState.create(\n\t\t{\n\t\t\tchecked: boxWith(\n\t\t\t\t() => checked,\n\t\t\t\t(v) => {\n\t\t\t\t\tchecked = v;\n\t\t\t\t\tonCheckedChange?.(v);\n\t\t\t\t}\n\t\t\t),\n\t\t\tdisabled: boxWith(() => disabled ?? false),\n\t\t\trequired: boxWith(() => required),\n\t\t\tname: boxWith(() => name),\n\t\t\tform: boxWith(() => form),\n\t\t\tvalue: boxWith(() => value),\n\t\t\tid: boxWith(() => id),\n\t\t\tref: boxWith(\n\t\t\t\t() => ref,\n\t\t\t\t(v) => (ref = v)\n\t\t\t),\n\t\t\tindeterminate: boxWith(\n\t\t\t\t() => indeterminate,\n\t\t\t\t(v) => {\n\t\t\t\t\tindeterminate = v;\n\t\t\t\t\tonIndeterminateChange?.(v);\n\t\t\t\t}\n\t\t\t),\n\t\t\ttype: boxWith(() => type),\n\t\t\treadonly: boxWith(() => Boolean(readonly)),\n\t\t},\n\t\tgroup\n\t);\n\n\tconst mergedProps = $derived(mergeProps({ ...restProps }, rootState.props));\n</script>\n\n{#if child}\n\t{@render child({\n\t\tprops: mergedProps,\n\t\t...rootState.snippetProps,\n\t})}\n{:else}\n\t<button {...mergedProps}>\n\t\t{@render children?.(rootState.snippetProps)}\n\t</button>\n{/if}\n\n<CheckboxInput />\n","/**\n * @license @lucide/svelte v0.561.0 - ISC\n *\n * ISC License\n * \n * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2023 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2025.\n * \n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n * \n * ---\n * \n * The MIT License (MIT) (for portions derived from Feather)\n * \n * Copyright (c) 2013-2023 Cole Bemis\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n * \n */\nconst defaultAttributes = {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n 'stroke-width': 2,\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n};\nexport default defaultAttributes;\n","<script lang=\"ts\">import defaultAttributes from './defaultAttributes.js';\nconst { name, color = 'currentColor', size = 24, strokeWidth = 2, absoluteStrokeWidth = false, iconNode = [], children, ...props } = $props();\n</script>\n\n<svg\n {...defaultAttributes}\n {...props}\n width={size}\n height={size}\n stroke={color}\n stroke-width={absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth}\n class={['lucide-icon lucide', name && `lucide-${name}`, props.class]}\n>\n {#each iconNode as [tag, attrs]}\n <svelte:element\n this={tag}\n {...attrs}\n />\n {/each}\n {@render children?.()}\n</svg>\n","<script lang=\"ts\">/**\n * @license @lucide/svelte v0.561.0 - ISC\n *\n * ISC License\n *\n * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2023 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2025.\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n *\n * ---\n *\n * The MIT License (MIT) (for portions derived from Feather)\n *\n * Copyright (c) 2013-2023 Cole Bemis\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n */\nimport Icon from '../Icon.svelte';\nlet props = $props();\nconst iconNode = [[\"path\", { \"d\": \"M20 6 9 17l-5-5\" }]];\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n</script>\n\n<Icon name=\"check\" {...props} iconNode={iconNode}>\n {@render props.children?.()}\n</Icon>\n","/**\n * The History pane's pure half: what the API answers with, how a commit's\n * refs read, and the day a commit is filed under.\n */\nimport type { CommitFile, GitHistory, HistoryCommit } from '$shared/server/git-history.js';\n\nexport type { CommitFile };\n\n/** A commit as the list route answers: git's own facts, plus whether this session made it. */\nexport type Commit = HistoryCommit & {\n\tmine?: true;\n\t/** The prompt that opened the turn the commit was made in. */\n\tturn?: string | null;\n};\n\nexport type History = Omit<GitHistory, 'commits'> & { commits: Commit[] };\n\nexport type RefKind = 'tag' | 'remote' | 'branch';\n\n/** One of git's decorations, sorted into what it is: `tag: v1`, `origin/main`, `main`. */\nexport function readRef(ref: string, branches: ReadonlySet<string>): { kind: RefKind; name: string } {\n\tif (ref.startsWith('tag: ')) return { kind: 'tag', name: ref.slice(5) };\n\t// A local branch may have a slash in its name too, so only the list of checkouts tells them apart.\n\treturn { kind: branches.has(ref) || !ref.includes('/') ? 'branch' : 'remote', name: ref };\n}\n\nconst DAY = new Intl.DateTimeFormat(undefined, { weekday: 'long', day: 'numeric', month: 'short' });\n\n/** The heading a commit is listed under: \"Today\", \"Yesterday\", or its date. */\nexport function dayOf(at: number, now: number): string {\n\tconst start = (ms: number) => new Date(ms).setHours(0, 0, 0, 0);\n\tconst days = Math.round((start(now) - start(at)) / 86_400_000);\n\treturn days === 0 ? 'Today' : days === 1 ? 'Yesterday' : DAY.format(at);\n}\n\n/** A hash as people say it. */\nexport const shortHash = (hash: string) => hash.slice(0, 7);\n","<script lang=\"ts\">/**\n * @license @lucide/svelte v0.561.0 - ISC\n *\n * ISC License\n *\n * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2023 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2025.\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n *\n * ---\n *\n * The MIT License (MIT) (for portions derived from Feather)\n *\n * Copyright (c) 2013-2023 Cole Bemis\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n */\nimport Icon from '../Icon.svelte';\nlet props = $props();\nconst iconNode = [[\"path\", { \"d\": \"M5 12h14\" }]];\n/**\n * @component @name Minus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxMmgxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/minus\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n</script>\n\n<Icon name=\"minus\" {...props} iconNode={iconNode}>\n {@render props.children?.()}\n</Icon>\n","<script lang=\"ts\">\n\timport { Checkbox as CheckboxPrimitive } from \"bits-ui\";\n\timport CheckIcon from \"@lucide/svelte/icons/check\";\n\timport MinusIcon from \"@lucide/svelte/icons/minus\";\n\timport { cn, type WithoutChildrenOrChild } from \"$lib/utils.js\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tchecked = $bindable(false),\n\t\tindeterminate = $bindable(false),\n\t\tclass: className,\n\t\t...restProps\n\t}: WithoutChildrenOrChild<CheckboxPrimitive.RootProps> = $props();\n</script>\n\n<CheckboxPrimitive.Root\n\tbind:ref\n\tdata-slot=\"checkbox\"\n\tclass={cn(\n\t\t\"border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n\t\tclassName\n\t)}\n\tbind:checked\n\tbind:indeterminate\n\t{...restProps}\n>\n\t{#snippet children({ checked, indeterminate })}\n\t\t<div data-slot=\"checkbox-indicator\" class=\"text-current transition-none\">\n\t\t\t{#if checked}\n\t\t\t\t<CheckIcon class=\"size-3.5\" />\n\t\t\t{:else if indeterminate}\n\t\t\t\t<MinusIcon class=\"size-3.5\" />\n\t\t\t{/if}\n\t\t</div>\n\t{/snippet}\n</CheckboxPrimitive.Root>\n"],"names":["empty","snapshot","value","skip_warning","no_tojson","clone","cloned","path","paths","original","unwrapped","is_array","copy","i","element","get_prototype_of","object_prototype","key","init","immutable","context","component_context","callbacks","props","deep_read_state","version","prev","d","derived","changed","get","user_pre_effect","observe_all","run_all","user_effect","fns","untrack","run","fn","signal","srOnlyStyles","styleToString","checkboxAttrs","createBitsAttrs","CheckboxGroupContext","Context","CheckboxRootContext","CheckboxRootState","opts","group","#trueName","$.derived","#trueRequired","#trueDisabled","#trueReadonly","attachRef","watch","$.snapshot","groupValue","checked","kbd.ENTER","kbd.SPACE","#toggle","#snippetProps","#props","getAriaChecked","boolToStr","boolToEmptyStrOrUndef","getCheckboxDataState","CheckboxInputState","#trueChecked","#shouldRender","root","_","isHTMLElement","indeterminate","$.prop","$$props","restProps","$.rest_props","rest_excludes","mergedProps","mergeProps","input","$.get","input_1","e","$.attribute_effect","$.append","$$anchor","$$render","consequent","alternate","inputState","HiddenInput","$.spread_props","uid","$.props_id","ref","disabled","required","name","form","id","createId","type","rootState","boxWith","v","button","$.snippet","node_2","$.noop","CheckboxInput","node_3","defaultAttributes","color","size","strokeWidth","absoluteStrokeWidth","iconNode","svg","node","$.child","$.index","$$item","tag","$$array","attrs","$$element","$.reset","Icon","readRef","branches","DAY","dayOf","at","now","start","ms","days","shortHash","hash","children","$$arg0","div","CheckIcon","MinusIcon","consequent_1","cn","CheckboxPrimitive_Root","$$value"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,11]}
1
+ {"version":3,"file":"BQzv8cqz.js","sources":["../../../../../../../node_modules/.bun/svelte@5.57.3/node_modules/svelte/src/internal/shared/clone.js","../../../../../../../node_modules/.bun/svelte@5.57.3/node_modules/svelte/src/internal/client/dom/legacy/lifecycle.js","../../../../../../../node_modules/.bun/svelte-toolbelt@0.10.6+ec0a64a97e9eb16b/node_modules/svelte-toolbelt/dist/utils/sr-only-styles.js","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/checkbox/checkbox.svelte.js","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/utilities/hidden-input.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/checkbox/components/checkbox-input.svelte","../../../../../../../node_modules/.bun/bits-ui@2.20.2+2df16ea90105ef5c/node_modules/bits-ui/dist/bits/checkbox/components/checkbox.svelte","../../../../../../../node_modules/.bun/@lucide+svelte@0.561.0+ec0a64a97e9eb16b/node_modules/@lucide/svelte/dist/defaultAttributes.js","../../../../../../../node_modules/.bun/@lucide+svelte@0.561.0+ec0a64a97e9eb16b/node_modules/@lucide/svelte/dist/Icon.svelte","../../../../../../../node_modules/.bun/@lucide+svelte@0.561.0+ec0a64a97e9eb16b/node_modules/@lucide/svelte/dist/icons/check.svelte","../../../../../../src/lib/side-panel/history.ts","../../../../../../../node_modules/.bun/@lucide+svelte@0.561.0+ec0a64a97e9eb16b/node_modules/@lucide/svelte/dist/icons/minus.svelte","../../../../../../src/lib/components/ui/checkbox/checkbox.svelte"],"sourcesContent":["/** @import { Snapshot } from './types' */\nimport { DEV } from 'esm-env';\nimport * as w from './warnings.js';\nimport { get_prototype_of, is_array, object_prototype } from './utils.js';\n\n/**\n * In dev, we keep track of which properties could not be cloned. In prod\n * we don't bother, but we keep a dummy array around so that the\n * signature stays the same\n * @type {string[]}\n */\nconst empty = [];\n\n/**\n * @template T\n * @param {T} value\n * @param {boolean} [skip_warning]\n * @param {boolean} [no_tojson]\n * @returns {Snapshot<T>}\n */\nexport function snapshot(value, skip_warning = false, no_tojson = false) {\n\tif (DEV && !skip_warning) {\n\t\t/** @type {string[]} */\n\t\tconst paths = [];\n\n\t\tconst copy = clone(value, new Map(), '', paths, null, no_tojson);\n\t\tif (paths.length === 1 && paths[0] === '') {\n\t\t\t// value could not be cloned\n\t\t\tw.state_snapshot_uncloneable();\n\t\t} else if (paths.length > 0) {\n\t\t\t// some properties could not be cloned\n\t\t\tconst slice = paths.length > 10 ? paths.slice(0, 7) : paths.slice(0, 10);\n\t\t\tconst excess = paths.length - slice.length;\n\n\t\t\tlet uncloned = slice.map((path) => `- <value>${path}`).join('\\n');\n\t\t\tif (excess > 0) uncloned += `\\n- ...and ${excess} more`;\n\n\t\t\tw.state_snapshot_uncloneable(uncloned);\n\t\t}\n\n\t\treturn copy;\n\t}\n\n\treturn clone(value, new Map(), '', empty, null, no_tojson);\n}\n\n/**\n * @template T\n * @param {T} value\n * @param {Map<T, Snapshot<T>>} cloned\n * @param {string} path\n * @param {string[]} paths\n * @param {null | T} [original] The original value, if `value` was produced from a `toJSON` call\n * @param {boolean} [no_tojson]\n * @returns {Snapshot<T>}\n */\nfunction clone(value, cloned, path, paths, original = null, no_tojson = false) {\n\tif (typeof value === 'object' && value !== null) {\n\t\tvar unwrapped = cloned.get(value);\n\t\tif (unwrapped !== undefined) return unwrapped;\n\n\t\tif (value instanceof Map) return /** @type {Snapshot<T>} */ (new Map(value));\n\t\tif (value instanceof Set) return /** @type {Snapshot<T>} */ (new Set(value));\n\n\t\tif (is_array(value)) {\n\t\t\tvar copy = /** @type {Snapshot<any>} */ (Array(value.length));\n\t\t\tcloned.set(value, copy);\n\n\t\t\tif (original !== null) {\n\t\t\t\tcloned.set(original, copy);\n\t\t\t}\n\n\t\t\tfor (var i = 0; i < value.length; i += 1) {\n\t\t\t\tvar element = value[i];\n\t\t\t\tif (i in value) {\n\t\t\t\t\tcopy[i] = clone(element, cloned, DEV ? `${path}[${i}]` : path, paths, null, no_tojson);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn copy;\n\t\t}\n\n\t\tif (get_prototype_of(value) === object_prototype) {\n\t\t\t/** @type {Snapshot<any>} */\n\t\t\tcopy = {};\n\t\t\tcloned.set(value, copy);\n\n\t\t\tif (original !== null) {\n\t\t\t\tcloned.set(original, copy);\n\t\t\t}\n\n\t\t\tfor (var key of Object.keys(value)) {\n\t\t\t\tcopy[key] = clone(\n\t\t\t\t\t// @ts-expect-error\n\t\t\t\t\tvalue[key],\n\t\t\t\t\tcloned,\n\t\t\t\t\tDEV ? `${path}.${key}` : path,\n\t\t\t\t\tpaths,\n\t\t\t\t\tnull,\n\t\t\t\t\tno_tojson\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn copy;\n\t\t}\n\n\t\tif (value instanceof Date) {\n\t\t\t// Ensure SvelteDate snapshots are tracked\n\t\t\tvalue.getTime();\n\t\t\treturn /** @type {Snapshot<T>} */ (structuredClone(value));\n\t\t}\n\n\t\tif (typeof (/** @type {T & { toJSON?: any } } */ (value).toJSON) === 'function' && !no_tojson) {\n\t\t\treturn clone(\n\t\t\t\t/** @type {T & { toJSON(): any } } */ (value).toJSON(),\n\t\t\t\tcloned,\n\t\t\t\tDEV ? `${path}.toJSON()` : path,\n\t\t\t\tpaths,\n\t\t\t\t// Associate the instance with the toJSON clone\n\t\t\t\tvalue\n\t\t\t);\n\t\t}\n\t}\n\n\tif (value instanceof EventTarget) {\n\t\t// can't be cloned\n\t\treturn /** @type {Snapshot<T>} */ (value);\n\t}\n\n\ttry {\n\t\treturn /** @type {Snapshot<T>} */ (structuredClone(value));\n\t} catch (e) {\n\t\tif (DEV) {\n\t\t\tpaths.push(path);\n\t\t}\n\n\t\treturn /** @type {Snapshot<T>} */ (value);\n\t}\n}\n","/** @import { ComponentContextLegacy } from '#client' */\nimport { run, run_all } from '../../../shared/utils.js';\nimport { component_context } from '../../context.js';\nimport { derived } from '../../reactivity/deriveds.js';\nimport { user_pre_effect, user_effect } from '../../reactivity/effects.js';\nimport { deep_read_state, get, untrack } from '../../runtime.js';\n\n/**\n * Legacy-mode only: Call `onMount` callbacks and set up `beforeUpdate`/`afterUpdate` effects\n * @param {boolean} [immutable]\n */\nexport function init(immutable = false) {\n\tconst context = /** @type {ComponentContextLegacy} */ (component_context);\n\n\tconst callbacks = context.l.u;\n\tif (!callbacks) return;\n\n\tlet props = () => deep_read_state(context.s);\n\n\tif (immutable) {\n\t\tlet version = 0;\n\t\tlet prev = /** @type {Record<string, any>} */ ({});\n\n\t\t// In legacy immutable mode, before/afterUpdate only fire if the object identity of a prop changes\n\t\tconst d = derived(() => {\n\t\t\tlet changed = false;\n\t\t\tconst props = context.s;\n\t\t\tfor (const key in props) {\n\t\t\t\tif (props[key] !== prev[key]) {\n\t\t\t\t\tprev[key] = props[key];\n\t\t\t\t\tchanged = true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (changed) version++;\n\t\t\treturn version;\n\t\t});\n\n\t\tprops = () => get(d);\n\t}\n\n\t// beforeUpdate\n\tif (callbacks.b.length) {\n\t\tuser_pre_effect(() => {\n\t\t\tobserve_all(context, props);\n\t\t\trun_all(callbacks.b);\n\t\t});\n\t}\n\n\t// onMount (must run before afterUpdate)\n\tuser_effect(() => {\n\t\tconst fns = untrack(() => callbacks.m.map(run));\n\t\treturn () => {\n\t\t\tfor (const fn of fns) {\n\t\t\t\tif (typeof fn === 'function') {\n\t\t\t\t\tfn();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t});\n\n\t// afterUpdate\n\tif (callbacks.a.length) {\n\t\tuser_effect(() => {\n\t\t\tobserve_all(context, props);\n\t\t\trun_all(callbacks.a);\n\t\t});\n\t}\n}\n\n/**\n * Invoke the getter of all signals associated with a component\n * so they can be registered to the effect this function is called in.\n * @param {ComponentContextLegacy} context\n * @param {(() => void)} props\n */\nfunction observe_all(context, props) {\n\tif (context.l.s) {\n\t\tfor (const signal of context.l.s) get(signal);\n\t}\n\n\tprops();\n}\n","import { styleToString } from \"./style.js\";\nexport const srOnlyStyles = {\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n padding: \"0\",\n margin: \"-1px\",\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n borderWidth: \"0\",\n transform: \"translateX(-100%)\"\n};\nexport const srOnlyStylesString = styleToString(srOnlyStyles);\n","import { attachRef } from \"svelte-toolbelt\";\nimport { Context, watch } from \"runed\";\nimport { boolToStr, createBitsAttrs, getAriaChecked, boolToEmptyStrOrUndef, } from \"../../internal/attrs.js\";\nimport { kbd } from \"../../internal/kbd.js\";\nimport { arraysAreEqual } from \"../../internal/arrays.js\";\nimport { isHTMLElement } from \"../../internal/is.js\";\nconst checkboxAttrs = createBitsAttrs({\n component: \"checkbox\",\n parts: [\"root\", \"group\", \"group-label\", \"input\"],\n});\nexport const CheckboxGroupContext = new Context(\"Checkbox.Group\");\nexport class CheckboxGroupState {\n static create(opts) {\n return CheckboxGroupContext.set(new CheckboxGroupState(opts));\n }\n opts;\n attachment;\n labelId = $state(undefined);\n constructor(opts) {\n this.opts = opts;\n this.attachment = attachRef(this.opts.ref);\n }\n addValue(checkboxValue) {\n if (!checkboxValue)\n return;\n if (!this.opts.value.current.includes(checkboxValue)) {\n const newValue = [...$state.snapshot(this.opts.value.current), checkboxValue];\n this.opts.value.current = newValue;\n if (arraysAreEqual(this.opts.value.current, newValue))\n return;\n this.opts.onValueChange.current(newValue);\n }\n }\n removeValue(checkboxValue) {\n if (!checkboxValue)\n return;\n const index = this.opts.value.current.indexOf(checkboxValue);\n if (index === -1)\n return;\n const newValue = this.opts.value.current.filter((v) => v !== checkboxValue);\n this.opts.value.current = newValue;\n if (arraysAreEqual(this.opts.value.current, newValue))\n return;\n this.opts.onValueChange.current(newValue);\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n role: \"group\",\n \"aria-labelledby\": this.labelId,\n \"data-disabled\": boolToEmptyStrOrUndef(this.opts.disabled.current),\n [checkboxAttrs.group]: \"\",\n ...this.attachment,\n }));\n}\nexport class CheckboxGroupLabelState {\n static create(opts) {\n return new CheckboxGroupLabelState(opts, CheckboxGroupContext.get());\n }\n opts;\n group;\n attachment;\n constructor(opts, group) {\n this.opts = opts;\n this.group = group;\n this.group.labelId = this.opts.id.current;\n this.attachment = attachRef(this.opts.ref);\n watch.pre(() => this.opts.id.current, (id) => {\n this.group.labelId = id;\n });\n }\n props = $derived.by(() => ({\n id: this.opts.id.current,\n \"data-disabled\": boolToEmptyStrOrUndef(this.group.opts.disabled.current),\n [checkboxAttrs[\"group-label\"]]: \"\",\n ...this.attachment,\n }));\n}\nconst CheckboxRootContext = new Context(\"Checkbox.Root\");\nexport class CheckboxRootState {\n static create(opts, group = null) {\n return CheckboxRootContext.set(new CheckboxRootState(opts, group));\n }\n opts;\n group;\n trueName = $derived.by(() => {\n if (this.group && this.group.opts.name.current)\n return this.group.opts.name.current;\n return this.opts.name.current;\n });\n trueRequired = $derived.by(() => {\n if (this.group && this.group.opts.required.current)\n return true;\n return this.opts.required.current;\n });\n trueDisabled = $derived.by(() => {\n if (this.group && this.group.opts.disabled.current)\n return true;\n return this.opts.disabled.current;\n });\n trueReadonly = $derived.by(() => {\n if (this.group && this.group.opts.readonly.current)\n return true;\n return this.opts.readonly.current;\n });\n attachment;\n constructor(opts, group) {\n this.opts = opts;\n this.group = group;\n this.attachment = attachRef(this.opts.ref);\n this.onkeydown = this.onkeydown.bind(this);\n this.onclick = this.onclick.bind(this);\n watch.pre([() => $state.snapshot(this.group?.opts.value.current), () => this.opts.value.current], ([groupValue, value]) => {\n if (!groupValue || !value)\n return;\n this.opts.checked.current = groupValue.includes(value);\n });\n watch.pre(() => this.opts.checked.current, (checked) => {\n if (!this.group)\n return;\n if (checked) {\n this.group?.addValue(this.opts.value.current);\n }\n else {\n this.group?.removeValue(this.opts.value.current);\n }\n });\n }\n onkeydown(e) {\n if (this.trueDisabled || this.trueReadonly)\n return;\n if (e.key === kbd.ENTER) {\n e.preventDefault();\n if (this.opts.type.current === \"submit\") {\n const form = e.currentTarget.form ?? e.currentTarget.closest(\"form\");\n form?.requestSubmit();\n }\n return;\n }\n if (e.key === kbd.SPACE) {\n e.preventDefault();\n this.#toggle();\n }\n }\n #toggle() {\n if (this.opts.indeterminate.current) {\n this.opts.indeterminate.current = false;\n this.opts.checked.current = true;\n }\n else {\n this.opts.checked.current = !this.opts.checked.current;\n }\n }\n onclick(e) {\n if (this.trueDisabled || this.trueReadonly)\n return;\n if (this.opts.type.current === \"submit\") {\n this.#toggle();\n return;\n }\n e.preventDefault();\n this.#toggle();\n }\n snippetProps = $derived.by(() => ({\n checked: this.opts.checked.current,\n indeterminate: this.opts.indeterminate.current,\n }));\n props = $derived.by(() => ({\n id: this.opts.id.current,\n role: \"checkbox\",\n type: this.opts.type.current,\n form: this.opts.form.current,\n disabled: this.trueDisabled,\n \"aria-checked\": getAriaChecked(this.opts.checked.current, this.opts.indeterminate.current),\n \"aria-required\": boolToStr(this.trueRequired),\n \"aria-readonly\": boolToStr(this.trueReadonly),\n \"data-disabled\": boolToEmptyStrOrUndef(this.trueDisabled),\n \"data-readonly\": boolToEmptyStrOrUndef(this.trueReadonly),\n \"data-state\": getCheckboxDataState(this.opts.checked.current, this.opts.indeterminate.current),\n [checkboxAttrs.root]: \"\",\n //\n onclick: this.onclick,\n onkeydown: this.onkeydown,\n ...this.attachment,\n }));\n}\nexport class CheckboxInputState {\n static create() {\n return new CheckboxInputState(CheckboxRootContext.get());\n }\n root;\n trueChecked = $derived.by(() => {\n if (!this.root.group)\n return this.root.opts.checked.current;\n if (this.root.opts.value.current !== undefined &&\n this.root.group.opts.value.current.includes(this.root.opts.value.current)) {\n return true;\n }\n return false;\n });\n shouldRender = $derived.by(() => Boolean(this.root.trueName));\n constructor(root) {\n this.root = root;\n this.onfocus = this.onfocus.bind(this);\n }\n onfocus(_) {\n if (!isHTMLElement(this.root.opts.ref.current))\n return;\n this.root.opts.ref.current.focus();\n }\n props = $derived.by(() => ({\n type: \"checkbox\",\n checked: this.root.opts.checked.current === true,\n disabled: this.root.trueDisabled,\n required: this.root.trueRequired,\n name: this.root.trueName,\n form: this.root.opts.form.current,\n value: this.root.opts.value.current,\n readonly: this.root.trueReadonly,\n onfocus: this.onfocus,\n }));\n}\nfunction getCheckboxDataState(checked, indeterminate) {\n if (indeterminate)\n return \"indeterminate\";\n return checked ? \"checked\" : \"unchecked\";\n}\n","<script lang=\"ts\">\n\timport { mergeProps, srOnlyStyles } from \"svelte-toolbelt\";\n\timport type { HTMLInputAttributes } from \"svelte/elements\";\n\n\tlet { value = $bindable(), ...restProps }: HTMLInputAttributes = $props();\n\n\tconst mergedProps = $derived(\n\t\tmergeProps(restProps, {\n\t\t\t\"aria-hidden\": \"true\",\n\t\t\ttabindex: -1,\n\t\t\tstyle: {\n\t\t\t\t...srOnlyStyles,\n\t\t\t\tposition: \"absolute\",\n\t\t\t\ttop: \"0\",\n\t\t\t\tleft: \"0\",\n\t\t\t},\n\t\t})\n\t);\n</script>\n\n<!--\n\tThe component state is the source of truth. Mirroring it into `defaultValue`/`defaultChecked`\n\tmakes a native form reset restore the current state instead of clearing the input, and avoids\n\t`bind:value`, whose reset handler would write a stale value back into `value` (#1942).\n-->\n{#if mergedProps.type === \"checkbox\"}\n\t<input {...mergedProps} {value} defaultChecked={mergedProps.checked} />\n{:else}\n\t<input\n\t\t{...mergedProps}\n\t\t{value}\n\t\tdefaultValue={value ?? \"\"}\n\t\toninput={(e) => (value = e.currentTarget.value)}\n\t/>\n{/if}\n","<script lang=\"ts\">\n\timport { CheckboxInputState } from \"../checkbox.svelte.js\";\n\timport HiddenInput from \"../../utilities/hidden-input.svelte\";\n\n\tconst inputState = CheckboxInputState.create();\n</script>\n\n{#if inputState.shouldRender}\n\t<HiddenInput {...inputState.props} />\n{/if}\n","<script lang=\"ts\">\n\timport { boxWith, mergeProps } from \"svelte-toolbelt\";\n\timport { untrack } from \"svelte\";\n\timport type { CheckboxRootProps } from \"../types.js\";\n\timport { CheckboxGroupContext, CheckboxRootState } from \"../checkbox.svelte.js\";\n\timport CheckboxInput from \"./checkbox-input.svelte\";\n\timport { createId } from \"../../../internal/create-id.js\";\n\timport { watch } from \"runed\";\n\n\tconst uid = $props.id();\n\n\tlet {\n\t\tchecked = $bindable(false),\n\t\tref = $bindable(null),\n\t\tonCheckedChange,\n\t\tchildren,\n\t\tdisabled = false,\n\t\trequired = false,\n\t\tname = undefined,\n\t\tform = undefined,\n\t\tvalue = \"on\",\n\t\tid = createId(uid),\n\t\tindeterminate = $bindable(false),\n\t\tonIndeterminateChange,\n\t\tchild,\n\t\ttype = \"button\",\n\t\treadonly,\n\t\t...restProps\n\t}: CheckboxRootProps = $props();\n\n\tconst group = CheckboxGroupContext.getOr(null);\n\n\tuntrack(() => {\n\t\tif (group && value) {\n\t\t\tif (group.opts.value.current.includes(value)) {\n\t\t\t\tchecked = true;\n\t\t\t} else {\n\t\t\t\tchecked = false;\n\t\t\t}\n\t\t}\n\t});\n\n\twatch.pre(\n\t\t() => value,\n\t\t() => {\n\t\t\tif (group && value) {\n\t\t\t\tif (group.opts.value.current.includes(value)) {\n\t\t\t\t\tchecked = true;\n\t\t\t\t} else {\n\t\t\t\t\tchecked = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t);\n\n\tconst rootState = CheckboxRootState.create(\n\t\t{\n\t\t\tchecked: boxWith(\n\t\t\t\t() => checked,\n\t\t\t\t(v) => {\n\t\t\t\t\tchecked = v;\n\t\t\t\t\tonCheckedChange?.(v);\n\t\t\t\t}\n\t\t\t),\n\t\t\tdisabled: boxWith(() => disabled ?? false),\n\t\t\trequired: boxWith(() => required),\n\t\t\tname: boxWith(() => name),\n\t\t\tform: boxWith(() => form),\n\t\t\tvalue: boxWith(() => value),\n\t\t\tid: boxWith(() => id),\n\t\t\tref: boxWith(\n\t\t\t\t() => ref,\n\t\t\t\t(v) => (ref = v)\n\t\t\t),\n\t\t\tindeterminate: boxWith(\n\t\t\t\t() => indeterminate,\n\t\t\t\t(v) => {\n\t\t\t\t\tindeterminate = v;\n\t\t\t\t\tonIndeterminateChange?.(v);\n\t\t\t\t}\n\t\t\t),\n\t\t\ttype: boxWith(() => type),\n\t\t\treadonly: boxWith(() => Boolean(readonly)),\n\t\t},\n\t\tgroup\n\t);\n\n\tconst mergedProps = $derived(mergeProps({ ...restProps }, rootState.props));\n</script>\n\n{#if child}\n\t{@render child({\n\t\tprops: mergedProps,\n\t\t...rootState.snippetProps,\n\t})}\n{:else}\n\t<button {...mergedProps}>\n\t\t{@render children?.(rootState.snippetProps)}\n\t</button>\n{/if}\n\n<CheckboxInput />\n","/**\n * @license @lucide/svelte v0.561.0 - ISC\n *\n * ISC License\n * \n * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2023 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2025.\n * \n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n * \n * ---\n * \n * The MIT License (MIT) (for portions derived from Feather)\n * \n * Copyright (c) 2013-2023 Cole Bemis\n * \n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n * \n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n * \n */\nconst defaultAttributes = {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n 'stroke-width': 2,\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n};\nexport default defaultAttributes;\n","<script lang=\"ts\">import defaultAttributes from './defaultAttributes.js';\nconst { name, color = 'currentColor', size = 24, strokeWidth = 2, absoluteStrokeWidth = false, iconNode = [], children, ...props } = $props();\n</script>\n\n<svg\n {...defaultAttributes}\n {...props}\n width={size}\n height={size}\n stroke={color}\n stroke-width={absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth}\n class={['lucide-icon lucide', name && `lucide-${name}`, props.class]}\n>\n {#each iconNode as [tag, attrs]}\n <svelte:element\n this={tag}\n {...attrs}\n />\n {/each}\n {@render children?.()}\n</svg>\n","<script lang=\"ts\">/**\n * @license @lucide/svelte v0.561.0 - ISC\n *\n * ISC License\n *\n * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2023 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2025.\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n *\n * ---\n *\n * The MIT License (MIT) (for portions derived from Feather)\n *\n * Copyright (c) 2013-2023 Cole Bemis\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n */\nimport Icon from '../Icon.svelte';\nlet props = $props();\nconst iconNode = [[\"path\", { \"d\": \"M20 6 9 17l-5-5\" }]];\n/**\n * @component @name Check\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjAgNiA5IDE3bC01LTUiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/check\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n</script>\n\n<Icon name=\"check\" {...props} iconNode={iconNode}>\n {@render props.children?.()}\n</Icon>\n","/**\n * The History pane's pure half: what the API answers with, how a commit's\n * refs read, and the day a commit is filed under.\n */\nimport type { CommitFile, GitHistory, HistoryCommit } from '$shared/server/git-history.js';\n\nexport type { CommitFile };\n\n/** A commit as the list route answers: git's own facts, plus whether this session made it. */\nexport type Commit = HistoryCommit & {\n\tmine?: true;\n\t/** The prompt that opened the turn the commit was made in. */\n\tturn?: string | null;\n};\n\nexport type History = Omit<GitHistory, 'commits'> & { commits: Commit[] };\n\nexport type RefKind = 'tag' | 'remote' | 'branch';\n\n/** One of git's decorations, sorted into what it is: `tag: v1`, `origin/main`, `main`. */\nexport function readRef(ref: string, branches: ReadonlySet<string>): { kind: RefKind; name: string } {\n\tif (ref.startsWith('tag: ')) return { kind: 'tag', name: ref.slice(5) };\n\t// A local branch may have a slash in its name too, so only the list of checkouts tells them apart.\n\treturn { kind: branches.has(ref) || !ref.includes('/') ? 'branch' : 'remote', name: ref };\n}\n\nconst DAY = new Intl.DateTimeFormat(undefined, { weekday: 'long', day: 'numeric', month: 'short' });\n\n/** The heading a commit is listed under: \"Today\", \"Yesterday\", or its date. */\nexport function dayOf(at: number, now: number): string {\n\tconst start = (ms: number) => new Date(ms).setHours(0, 0, 0, 0);\n\tconst days = Math.round((start(now) - start(at)) / 86_400_000);\n\treturn days === 0 ? 'Today' : days === 1 ? 'Yesterday' : DAY.format(at);\n}\n\n/** A hash as people say it. */\nexport const shortHash = (hash: string) => hash.slice(0, 7);\n","<script lang=\"ts\">/**\n * @license @lucide/svelte v0.561.0 - ISC\n *\n * ISC License\n *\n * Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2023 as part of Feather (MIT). All other copyright (c) for Lucide are held by Lucide Contributors 2025.\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n *\n * ---\n *\n * The MIT License (MIT) (for portions derived from Feather)\n *\n * Copyright (c) 2013-2023 Cole Bemis\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n */\nimport Icon from '../Icon.svelte';\nlet props = $props();\nconst iconNode = [[\"path\", { \"d\": \"M5 12h14\" }]];\n/**\n * @component @name Minus\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNSAxMmgxNCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/minus\n * @see https://lucide.dev/guide/packages/lucide-svelte - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {FunctionalComponent} Svelte component\n *\n */\n</script>\n\n<Icon name=\"minus\" {...props} iconNode={iconNode}>\n {@render props.children?.()}\n</Icon>\n","<script lang=\"ts\">\n\timport { Checkbox as CheckboxPrimitive } from \"bits-ui\";\n\timport CheckIcon from \"@lucide/svelte/icons/check\";\n\timport MinusIcon from \"@lucide/svelte/icons/minus\";\n\timport { cn, type WithoutChildrenOrChild } from \"$lib/utils.js\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\tchecked = $bindable(false),\n\t\tindeterminate = $bindable(false),\n\t\tclass: className,\n\t\t...restProps\n\t}: WithoutChildrenOrChild<CheckboxPrimitive.RootProps> = $props();\n</script>\n\n<CheckboxPrimitive.Root\n\tbind:ref\n\tdata-slot=\"checkbox\"\n\tclass={cn(\n\t\t\"border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive peer flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n\t\tclassName\n\t)}\n\tbind:checked\n\tbind:indeterminate\n\t{...restProps}\n>\n\t{#snippet children({ checked, indeterminate })}\n\t\t<div data-slot=\"checkbox-indicator\" class=\"text-current transition-none\">\n\t\t\t{#if checked}\n\t\t\t\t<CheckIcon class=\"size-3.5\" />\n\t\t\t{:else if indeterminate}\n\t\t\t\t<MinusIcon class=\"size-3.5\" />\n\t\t\t{/if}\n\t\t</div>\n\t{/snippet}\n</CheckboxPrimitive.Root>\n"],"names":["empty","snapshot","value","skip_warning","no_tojson","clone","cloned","path","paths","original","unwrapped","is_array","copy","i","element","get_prototype_of","object_prototype","key","init","immutable","context","component_context","callbacks","props","deep_read_state","version","prev","d","derived","changed","get","user_pre_effect","observe_all","run_all","user_effect","fns","untrack","run","fn","signal","srOnlyStyles","styleToString","checkboxAttrs","createBitsAttrs","CheckboxGroupContext","Context","CheckboxRootContext","CheckboxRootState","opts","group","#trueName","$.derived","#trueRequired","#trueDisabled","#trueReadonly","attachRef","watch","$.snapshot","groupValue","checked","kbd.ENTER","kbd.SPACE","#toggle","#snippetProps","#props","getAriaChecked","boolToStr","boolToEmptyStrOrUndef","getCheckboxDataState","CheckboxInputState","#trueChecked","#shouldRender","root","_","isHTMLElement","indeterminate","$.prop","$$props","restProps","$.rest_props","rest_excludes","mergedProps","mergeProps","input","$.get","input_1","e","$.attribute_effect","$.append","$$anchor","$$render","consequent","alternate","inputState","HiddenInput","$.spread_props","uid","$.props_id","ref","disabled","required","name","form","id","createId","type","rootState","boxWith","v","button","$.snippet","node_2","$.noop","CheckboxInput","node_3","defaultAttributes","color","size","strokeWidth","absoluteStrokeWidth","iconNode","svg","node","$.child","$.index","$$item","tag","$$array","attrs","$$element","$.reset","Icon","readRef","branches","DAY","dayOf","at","now","start","ms","days","shortHash","hash","children","$$arg0","div","CheckIcon","MinusIcon","consequent_1","cn","CheckboxPrimitive_Root","$$value"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,11]}
@@ -1,3 +1,3 @@
1
- import"./DxJTiTth.js";import{p as Re,w as P,C as Ae,a as d,s as o,A as u,t as y,b as Le,y as Qe,c as g,i as e,j as ge,I as Ue,D as _e,$ as Fe,B as f,o as M,d as h,z as a,g as he,f as Q,F as se,G as te,J as Ge,x as Je}from"./BeqCgGI7.js";import{i as I,s as Ve,a as We,b as Ke}from"./Cjnj9mVX.js";import{d as Oe,p as Xe,k as Ye}from"./C_d6SvJ2.js";import{h as Ze,s as ae,b as es,a as U,c as ss,d as ts}from"./VDVYssW5.js";import{g as as}from"./CFx1X5dv.js";import{r as rs,B as F,e as me,h as ns,g as os,a as is,j as ls}from"./CFKTes94.js";import{T as cs,a as ds,b as vs}from"./CBFZAP-M.js";import{a as we}from"./DgWtfoCb.js";import{d as $e}from"./DATxby6u.js";var ps=g("<iconify-icon></iconify-icon>",2),us=g('<span class="chip svelte-1wrr99q"> </span>'),fs=g("<span><span></span> </span>"),gs=g('<p class="empty-title svelte-1wrr99q">This session is no longer running</p> <p class="empty-body svelte-1wrr99q">Its subagents went with it.</p> <!>',1),_s=g('<p class="empty-title svelte-1wrr99q">No subagent with this id</p> <p class="empty-body svelte-1wrr99q"> </p> <!>',1),hs=g('<div class="empty svelte-1wrr99q"><span class="dia big svelte-1wrr99q" aria-hidden="true"><svg viewBox="0 0 24 24" class="svelte-1wrr99q"><path d="M12 3l9 9-9 9-9-9z"></path></svg></span> <!></div>'),ms=g('<section class="brief svelte-1wrr99q" aria-label="Brief"><span class="brief-from svelte-1wrr99q"> </span> <p class="svelte-1wrr99q"> </p></section>'),ws=g('<p class="waiting svelte-1wrr99q">Waiting for the agent to write its first line…</p>'),$s=g('<div class="scroll svelte-1wrr99q"><div class="column svelte-1wrr99q"><!> <!></div></div> <footer class="svelte-1wrr99q"><div class="readonly svelte-1wrr99q"><iconify-icon></iconify-icon> <span class="svelte-1wrr99q">Subagents take no input. To steer, talk to the session that spawned it.</span> <!></div></footer>',3),bs=g('<div class="window svelte-1wrr99q"><header class="svelte-1wrr99q"><!> <a class="crumb svelte-1wrr99q"><svg viewBox="0 0 24 24" aria-hidden="true" class="svelte-1wrr99q"><path d="M15 18l-6-6 6-6"></path></svg> </a> <span class="slash svelte-1wrr99q" aria-hidden="true">/</span> <span aria-hidden="true"><svg viewBox="0 0 24 24" class="svelte-1wrr99q"><path d="M12 3l9 9-9 9-9-9z"></path></svg></span> <h1 class="svelte-1wrr99q"> </h1> <!> <span class="grow svelte-1wrr99q"></span> <!></header> <!></div>');function Ds(be,qe){Re(qe,!0);const G=()=>We(Xe,"$page",ye),[ye,xe]=Ve(),z=a(()=>decodeURIComponent(G().params.target??"")),x=a(()=>decodeURIComponent(G().params.agentId??"")),m=rs(()=>G().params.machine??null),re=a(()=>m.base),J=a(()=>m.remoteHost),ne=a(()=>e(J)?m.machine?.sessions??[]:is.sessions),k=a(()=>m.session(e(z))),S=a(()=>e(k)?ns(e(k)):e(z)),C=a(()=>os({host:e(J),target:e(z)}));function ke(t){const r=ls({host:e(J),target:e(z)});$e.set(r,vs($e.get(r),t)),as(`${e(C)}?compose`)}const w=a(()=>e(k)?.subagents?.find(t=>t.id===e(x))??null),s=new cs;let V=he(null);P(()=>{e(k)&&ge(V,{id:e(k).id,address:m.address},!0)}),P(()=>{s.setSession(e(V)?.address===m.address?e(V).id:null,e(x),e(re),m.address)}),Ae(()=>s.setSession(null));const $=a(()=>s.subagents[e(x)]??null),j=a(()=>e(w)?.state??(e($)?.running?"running":"done")),N=a(()=>e(j)==="running"),Se=a(()=>e(w)?.description??e($)?.description??null),R=a(()=>e(w)?.type??e($)?.agentType??null),oe=a(()=>e(Se)??(e(R)?we(e(R)):"Subagent")),ie=a(()=>s.firstIndex===0&&s.entries[0]?.kind==="user"?s.entries[0]:null),Te=a(()=>e(ie)?s.entries.slice(1):s.entries),le=a(()=>e($)?.prompt??e(ie)?.text??null);P(()=>{if(e(N))return me.fine()});const Be=a(()=>{const t=s.firstIndex===0?s.entries[0]?.ts:void 0,r=e(w)?.started_at??t??null,n=e(N)?me.now:e(w)?.ended_at??s.entries.at(-1)?.ts??null,l=[e(j)];if(r!==null&&n!==null&&l.push(ss((n-r)/1e3)),e($)){const v=e($).activity.length+e($).trimmed;l.push(`${v} tool${v===1?"":"s"}`)}return s.context&&l.push(`${ts(s.context.tokens)} tok`),l.join(" · ")}),ce=a(()=>s.receivedData&&!s.available&&!e(w)&&e(ne).length>0),W=a(()=>e(ne).length>0&&!e(k));let i=he(null),K=!0;function Ie(){e(i)&&(K=e(i).scrollHeight-e(i).scrollTop-e(i).clientHeight<60)}P(()=>{s.entries.length,s.appended,Ue(()=>{K&&_e().then(()=>{e(i)&&(e(i).scrollTop=e(i).scrollHeight)})})}),P(()=>{e(x),K=!0});async function He(){if(!e(i))return void s.loadEarlier();const t=e(i).scrollHeight-e(i).scrollTop;await s.loadEarlier(),await _e(),e(i)&&(e(i).scrollTop=e(i).scrollHeight-t)}var O=bs();Ze("1wrr99q",t=>{Qe(()=>{Fe.title=`◆ ${e(oe)??""} · ${e(S)??""}`})});var X=u(O),de=u(X);F(de,{variant:"ghost",size:"icon",class:"menu",onclick:()=>Oe.toggle(),"aria-label":"Sessions",children:(t,r)=>{var n=ps();ae(n,"icon","mdi:menu"),d(t,n)},$$slots:{default:!0}});var A=o(de,2),Ee=o(u(A));f(A);var ve=o(A,4);let pe;var ue=o(ve,2),De=M(ue,!0),fe=o(ue,2);{var Pe=t=>{var r=us(),n=M(r,!0);y(l=>h(n,l),[()=>we(e(R))]),d(t,r)};I(fe,t=>{e(R)&&t(Pe)})}var Me=o(fe,4);{var ze=t=>{var r=fs();let n;var l=u(r);let v;var p=o(l,1,!0);f(r),y(()=>{n=U(r,1,"status svelte-1wrr99q",null,n,{failed:e(j)==="failed"}),v=U(l,1,"dot svelte-1wrr99q",null,v,{live:e(N)}),h(p,e(Be))}),d(t,r)};I(Me,t=>{!e(ce)&&!e(W)&&t(ze)})}f(X);var Ce=o(X,2);{var je=t=>{var r=hs(),n=o(u(r),2);{var l=p=>{var b=gs(),T=o(Q(b),4);F(T,{variant:"outline",href:"/",children:(H,E)=>{se();var B=te("See all sessions");d(H,B)},$$slots:{default:!0}}),d(p,b)},v=p=>{var b=_s(),T=o(Q(b),2),H=M(T),E=o(T,2);F(E,{variant:"outline",get href(){return e(C)},children:(B,D)=>{se();var L=te();y(()=>h(L,`Back to ${e(S)??""}`)),d(B,L)},$$slots:{default:!0}}),y(()=>h(H,`${e(S)??""} has no record of agent ${e(x)??""}. It may have been spawned by another session,
1
+ import"./DxJTiTth.js";import{p as Re,w as P,C as Ae,a as d,s as o,A as u,t as y,b as Le,y as Qe,c as g,i as e,j as ge,I as Ue,D as _e,$ as Fe,B as f,o as M,d as h,z as a,g as he,f as Q,F as se,G as te,J as Ge,x as Je}from"./BeqCgGI7.js";import{i as I,s as Ve,a as We,b as Ke}from"./Cjnj9mVX.js";import{d as Oe,p as Xe,k as Ye}from"./Q5yhzux8.js";import{h as Ze,s as ae,b as es,a as U,c as ss,d as ts}from"./VDVYssW5.js";import{g as as}from"./CM0CI9GL.js";import{r as rs,B as F,e as me,h as ns,g as os,a as is,j as ls}from"./CtjkAirr.js";import{T as cs,a as ds,b as vs}from"./DlENCZqZ.js";import{a as we}from"./DgWtfoCb.js";import{d as $e}from"./W5_HMZ5E.js";var ps=g("<iconify-icon></iconify-icon>",2),us=g('<span class="chip svelte-1wrr99q"> </span>'),fs=g("<span><span></span> </span>"),gs=g('<p class="empty-title svelte-1wrr99q">This session is no longer running</p> <p class="empty-body svelte-1wrr99q">Its subagents went with it.</p> <!>',1),_s=g('<p class="empty-title svelte-1wrr99q">No subagent with this id</p> <p class="empty-body svelte-1wrr99q"> </p> <!>',1),hs=g('<div class="empty svelte-1wrr99q"><span class="dia big svelte-1wrr99q" aria-hidden="true"><svg viewBox="0 0 24 24" class="svelte-1wrr99q"><path d="M12 3l9 9-9 9-9-9z"></path></svg></span> <!></div>'),ms=g('<section class="brief svelte-1wrr99q" aria-label="Brief"><span class="brief-from svelte-1wrr99q"> </span> <p class="svelte-1wrr99q"> </p></section>'),ws=g('<p class="waiting svelte-1wrr99q">Waiting for the agent to write its first line…</p>'),$s=g('<div class="scroll svelte-1wrr99q"><div class="column svelte-1wrr99q"><!> <!></div></div> <footer class="svelte-1wrr99q"><div class="readonly svelte-1wrr99q"><iconify-icon></iconify-icon> <span class="svelte-1wrr99q">Subagents take no input. To steer, talk to the session that spawned it.</span> <!></div></footer>',3),bs=g('<div class="window svelte-1wrr99q"><header class="svelte-1wrr99q"><!> <a class="crumb svelte-1wrr99q"><svg viewBox="0 0 24 24" aria-hidden="true" class="svelte-1wrr99q"><path d="M15 18l-6-6 6-6"></path></svg> </a> <span class="slash svelte-1wrr99q" aria-hidden="true">/</span> <span aria-hidden="true"><svg viewBox="0 0 24 24" class="svelte-1wrr99q"><path d="M12 3l9 9-9 9-9-9z"></path></svg></span> <h1 class="svelte-1wrr99q"> </h1> <!> <span class="grow svelte-1wrr99q"></span> <!></header> <!></div>');function Ds(be,qe){Re(qe,!0);const G=()=>We(Xe,"$page",ye),[ye,xe]=Ve(),z=a(()=>decodeURIComponent(G().params.target??"")),x=a(()=>decodeURIComponent(G().params.agentId??"")),m=rs(()=>G().params.machine??null),re=a(()=>m.base),J=a(()=>m.remoteHost),ne=a(()=>e(J)?m.machine?.sessions??[]:is.sessions),k=a(()=>m.session(e(z))),S=a(()=>e(k)?ns(e(k)):e(z)),C=a(()=>os({host:e(J),target:e(z)}));function ke(t){const r=ls({host:e(J),target:e(z)});$e.set(r,vs($e.get(r),t)),as(`${e(C)}?compose`)}const w=a(()=>e(k)?.subagents?.find(t=>t.id===e(x))??null),s=new cs;let V=he(null);P(()=>{e(k)&&ge(V,{id:e(k).id,address:m.address},!0)}),P(()=>{s.setSession(e(V)?.address===m.address?e(V).id:null,e(x),e(re),m.address)}),Ae(()=>s.setSession(null));const $=a(()=>s.subagents[e(x)]??null),j=a(()=>e(w)?.state??(e($)?.running?"running":"done")),N=a(()=>e(j)==="running"),Se=a(()=>e(w)?.description??e($)?.description??null),R=a(()=>e(w)?.type??e($)?.agentType??null),oe=a(()=>e(Se)??(e(R)?we(e(R)):"Subagent")),ie=a(()=>s.firstIndex===0&&s.entries[0]?.kind==="user"?s.entries[0]:null),Te=a(()=>e(ie)?s.entries.slice(1):s.entries),le=a(()=>e($)?.prompt??e(ie)?.text??null);P(()=>{if(e(N))return me.fine()});const Be=a(()=>{const t=s.firstIndex===0?s.entries[0]?.ts:void 0,r=e(w)?.started_at??t??null,n=e(N)?me.now:e(w)?.ended_at??s.entries.at(-1)?.ts??null,l=[e(j)];if(r!==null&&n!==null&&l.push(ss((n-r)/1e3)),e($)){const v=e($).activity.length+e($).trimmed;l.push(`${v} tool${v===1?"":"s"}`)}return s.context&&l.push(`${ts(s.context.tokens)} tok`),l.join(" · ")}),ce=a(()=>s.receivedData&&!s.available&&!e(w)&&e(ne).length>0),W=a(()=>e(ne).length>0&&!e(k));let i=he(null),K=!0;function Ie(){e(i)&&(K=e(i).scrollHeight-e(i).scrollTop-e(i).clientHeight<60)}P(()=>{s.entries.length,s.appended,Ue(()=>{K&&_e().then(()=>{e(i)&&(e(i).scrollTop=e(i).scrollHeight)})})}),P(()=>{e(x),K=!0});async function He(){if(!e(i))return void s.loadEarlier();const t=e(i).scrollHeight-e(i).scrollTop;await s.loadEarlier(),await _e(),e(i)&&(e(i).scrollTop=e(i).scrollHeight-t)}var O=bs();Ze("1wrr99q",t=>{Qe(()=>{Fe.title=`◆ ${e(oe)??""} · ${e(S)??""}`})});var X=u(O),de=u(X);F(de,{variant:"ghost",size:"icon",class:"menu",onclick:()=>Oe.toggle(),"aria-label":"Sessions",children:(t,r)=>{var n=ps();ae(n,"icon","mdi:menu"),d(t,n)},$$slots:{default:!0}});var A=o(de,2),Ee=o(u(A));f(A);var ve=o(A,4);let pe;var ue=o(ve,2),De=M(ue,!0),fe=o(ue,2);{var Pe=t=>{var r=us(),n=M(r,!0);y(l=>h(n,l),[()=>we(e(R))]),d(t,r)};I(fe,t=>{e(R)&&t(Pe)})}var Me=o(fe,4);{var ze=t=>{var r=fs();let n;var l=u(r);let v;var p=o(l,1,!0);f(r),y(()=>{n=U(r,1,"status svelte-1wrr99q",null,n,{failed:e(j)==="failed"}),v=U(l,1,"dot svelte-1wrr99q",null,v,{live:e(N)}),h(p,e(Be))}),d(t,r)};I(Me,t=>{!e(ce)&&!e(W)&&t(ze)})}f(X);var Ce=o(X,2);{var je=t=>{var r=hs(),n=o(u(r),2);{var l=p=>{var b=gs(),T=o(Q(b),4);F(T,{variant:"outline",href:"/",children:(H,E)=>{se();var B=te("See all sessions");d(H,B)},$$slots:{default:!0}}),d(p,b)},v=p=>{var b=_s(),T=o(Q(b),2),H=M(T),E=o(T,2);F(E,{variant:"outline",get href(){return e(C)},children:(B,D)=>{se();var L=te();y(()=>h(L,`Back to ${e(S)??""}`)),d(B,L)},$$slots:{default:!0}}),y(()=>h(H,`${e(S)??""} has no record of agent ${e(x)??""}. It may have been spawned by another session,
2
2
  or its transcript was removed.`)),d(p,b)};I(n,p=>{e(W)?p(l):p(v,-1)})}f(r),d(t,r)},Ne=t=>{var r=$s(),n=Q(r),l=u(n),v=u(l);{var p=c=>{var _=ms(),q=u(_),Y=M(q),Z=o(q,2),ee=M(Z,!0);f(_),y(()=>{h(Y,`Brief from ${e(S)??""}`),h(ee,e(le))}),d(c,_)};I(v,c=>{e(le)&&c(p)})}var b=o(v,2);{var T=c=>{var _=ws();d(c,_)},H=c=>{var _=Je(),q=Q(_);Ye(q,()=>e(x),Y=>{{let Z=a(()=>e(N)?"busy":"idle"),ee=a(()=>e(w)?.current_tool??null);ds(Y,{get entries(){return e(Te)},get available(){return s.available},get loaded(){return s.receivedData},get sessionState(){return e(Z)},get currentAction(){return e(ee)},get olderCount(){return s.firstIndex},get loadingEarlier(){return s.loadingEarlier},onLoadEarlier:()=>{He()},onQuote:ke,get base(){return e(re)}})}}),d(c,_)};I(b,c=>{s.receivedData&&!s.available?c(T):c(H,-1)})}f(l),f(n),Ke(n,c=>ge(i,c),()=>e(i));var E=o(n,2),B=u(E),D=u(B);ae(D,"icon","mdi:eye-outline"),ae(D,"aria-hidden","true"),U(D,1,"svelte-1wrr99q");var L=o(D,4);F(L,{variant:"outline",class:"message",get href(){return`${e(C)??""}?compose`},children:(c,_)=>{se();var q=te();y(()=>h(q,`Message ${e(S)??""}`)),d(c,q)},$$slots:{default:!0}}),f(B),f(E),Ge("scroll",n,Ie),d(t,r)};I(Ce,t=>{e(ce)||e(W)?t(je):t(Ne,-1)})}f(O),y(()=>{es(A,"href",e(C)),h(Ee,` ${e(S)??""}`),pe=U(ve,1,"dia svelte-1wrr99q",null,pe,{failed:e(j)==="failed"}),h(De,e(oe))}),d(be,O),Le(),xe()}export{Ds as _};
3
- //# sourceMappingURL=Djib3OX9.js.map
3
+ //# sourceMappingURL=BvX4FYxp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Djib3OX9.js","sources":["../../../../../../src/routes/session/[target]/agent/[agentId]/+page.svelte"],"sourcesContent":["<script lang=\"ts\">\n\t/**\n\t * A subagent opened as a window of its own, in the main view beside the\n\t * app's sidebar. It reads like a session — the same transcript, the same\n\t * tool-run grouping — but takes no input: the composer gives way to a bar\n\t * that sends the reader back to the session that spawned it.\n\t *\n\t * The entries come over the parent session's transcript socket, which\n\t * already tails every subagent for the Task cards; this page asks it for\n\t * one agent's (see TranscriptWsManager.addClient).\n\t */\n\timport { page } from '$app/stores';\n\timport { goto } from '$app/navigation';\n\timport { onDestroy, tick, untrack } from 'svelte';\n\timport { sessionStore, getSessionDisplayName } from '$lib/stores/sessions.svelte';\n\timport { TranscriptStore } from '$lib/stores/transcript.svelte';\n\timport TranscriptView from '$lib/components/TranscriptView.svelte';\n\timport { Button } from '$lib/components/ui/button';\n\timport { agentTypeLabel } from '$shared/subagents.js';\n\timport { compact, formatElapsed } from '$lib/format';\n\timport { clock } from '$lib/stores/clock.svelte';\n\timport { drawer } from '$lib/stores/drawer.svelte';\n\timport { draftsStore } from '$lib/stores/drafts.svelte';\n\timport { appendQuote } from '$lib/quote';\n\timport { routeMachine } from '$lib/stores/fleet.svelte';\n\timport { sessionPath } from '$lib/session-route';\n\timport { formatRef } from '$lib/split-refs';\n\n\tconst target = $derived(decodeURIComponent($page.params.target ?? ''));\n\tconst agentId = $derived(decodeURIComponent($page.params.agentId ?? ''));\n\n\t/** The parent's machine, as on the session page: '' here, the relay path elsewhere. */\n\tconst route = routeMachine(() => $page.params.machine ?? null);\n\tconst base = $derived(route.base);\n\tconst remoteHost = $derived(route.remoteHost);\n\tconst sessions = $derived(remoteHost ? (route.machine?.sessions ?? []) : sessionStore.sessions);\n\tconst session = $derived(route.session(target));\n\tconst parentName = $derived(session ? getSessionDisplayName(session) : target);\n\tconst parentHref = $derived(sessionPath({ host: remoteHost, target }));\n\n\t/** There is no composer here: the quote joins the parent's draft, and the reader follows it there. */\n\tfunction quoteToParent(text: string) {\n\t\tconst ref = formatRef({ host: remoteHost, target });\n\t\tdraftsStore.set(ref, appendQuote(draftsStore.get(ref), text));\n\t\tvoid goto(`${parentHref}?compose`);\n\t}\n\n\t/** What the hooks recorded of the agent; gone an hour after it finished. */\n\tconst hooked = $derived(session?.subagents?.find((a) => a.id === agentId) ?? null);\n\n\tconst store = new TranscriptStore();\n\t// Held through a sessions-socket reconnect, when the list is briefly\n\t// empty: dropping the id would throw away the entries and the scroll.\n\t// It is held with its machine, so moving to another machine's agent does\n\t// not open the old id there.\n\tlet held = $state<{ id: string; address: string } | null>(null);\n\t$effect(() => {\n\t\tif (session) held = { id: session.id, address: route.address };\n\t});\n\t$effect(() => {\n\t\tstore.setSession(held?.address === route.address ? held.id : null, agentId, base, route.address);\n\t});\n\tonDestroy(() => store.setSession(null));\n\n\t/** What the transcript knows of it: the type, the brief, the tools it ran. */\n\tconst payload = $derived(store.subagents[agentId] ?? null);\n\n\tconst agentState = $derived<'running' | 'done' | 'failed'>(\n\t\thooked?.state ?? (payload?.running ? 'running' : 'done')\n\t);\n\tconst running = $derived(agentState === 'running');\n\tconst description = $derived(hooked?.description ?? payload?.description ?? null);\n\tconst type = $derived(hooked?.type ?? payload?.agentType ?? null);\n\tconst title = $derived(description ?? (type ? agentTypeLabel(type) : 'Subagent'));\n\n\t/** The brief is the agent's first line; it is pinned above rather than drawn as a prompt. */\n\tconst head = $derived(\n\t\tstore.firstIndex === 0 && store.entries[0]?.kind === 'user' ? store.entries[0] : null\n\t);\n\tconst entries = $derived(head ? store.entries.slice(1) : store.entries);\n\tconst brief = $derived(payload?.prompt ?? head?.text ?? null);\n\n\t$effect(() => {\n\t\tif (running) return clock.fine();\n\t});\n\n\tconst status = $derived.by(() => {\n\t\tconst first = store.firstIndex === 0 ? store.entries[0]?.ts : undefined;\n\t\tconst started = hooked?.started_at ?? first ?? null;\n\t\tconst ended = running ? clock.now : (hooked?.ended_at ?? store.entries.at(-1)?.ts ?? null);\n\t\tconst parts: string[] = [agentState];\n\t\tif (started !== null && ended !== null) parts.push(formatElapsed((ended - started) / 1000));\n\t\tif (payload) {\n\t\t\tconst tools = payload.activity.length + payload.trimmed;\n\t\t\tparts.push(`${tools} tool${tools === 1 ? '' : 's'}`);\n\t\t}\n\t\tif (store.context) parts.push(`${compact(store.context.tokens)} tok`);\n\t\treturn parts.join(' · ');\n\t});\n\n\t/** Neither the hooks nor the files have heard of it. */\n\tconst unknown = $derived(\n\t\tstore.receivedData && !store.available && !hooked && sessions.length > 0\n\t);\n\tconst noSession = $derived(sessions.length > 0 && !session);\n\n\t// ── keep to the newest line while the reader is at the bottom ─────────\n\tlet scroller: HTMLDivElement | null = $state(null);\n\tlet pinned = true;\n\tfunction onScroll() {\n\t\tif (!scroller) return;\n\t\tpinned = scroller.scrollHeight - scroller.scrollTop - scroller.clientHeight < 60;\n\t}\n\t$effect(() => {\n\t\tvoid store.entries.length;\n\t\tvoid store.appended;\n\t\tuntrack(() => {\n\t\t\tif (!pinned) return;\n\t\t\tvoid tick().then(() => {\n\t\t\t\tif (scroller) scroller.scrollTop = scroller.scrollHeight;\n\t\t\t});\n\t\t});\n\t});\n\t$effect(() => {\n\t\tvoid agentId;\n\t\tpinned = true;\n\t});\n\n\tasync function loadEarlier() {\n\t\tif (!scroller) return void store.loadEarlier();\n\t\tconst fromBottom = scroller.scrollHeight - scroller.scrollTop;\n\t\tawait store.loadEarlier();\n\t\tawait tick();\n\t\tif (scroller) scroller.scrollTop = scroller.scrollHeight - fromBottom;\n\t}\n</script>\n\n<svelte:head>\n\t<title>◆ {title} · {parentName}</title>\n</svelte:head>\n\n<div class=\"window\">\n\t<header>\n\t\t<Button variant=\"ghost\" size=\"icon\" class=\"menu\" onclick={() => drawer.toggle()} aria-label=\"Sessions\">\n\t\t\t<iconify-icon icon=\"mdi:menu\"></iconify-icon>\n\t\t</Button>\n\t\t<a class=\"crumb\" href={parentHref}>\n\t\t\t<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M15 18l-6-6 6-6\" /></svg>\n\t\t\t{parentName}\n\t\t</a>\n\t\t<span class=\"slash\" aria-hidden=\"true\">/</span>\n\t\t<span class=\"dia\" class:failed={agentState === 'failed'} aria-hidden=\"true\">\n\t\t\t<svg viewBox=\"0 0 24 24\"><path d=\"M12 3l9 9-9 9-9-9z\" /></svg>\n\t\t</span>\n\t\t<h1>{title}</h1>\n\t\t{#if type}<span class=\"chip\">{agentTypeLabel(type)}</span>{/if}\n\t\t<span class=\"grow\"></span>\n\t\t{#if !unknown && !noSession}\n\t\t\t<span class=\"status\" class:failed={agentState === 'failed'}>\n\t\t\t\t<span class=\"dot\" class:live={running}></span>{status}\n\t\t\t</span>\n\t\t{/if}\n\t</header>\n\n\t{#if unknown || noSession}\n\t\t<div class=\"empty\">\n\t\t\t<span class=\"dia big\" aria-hidden=\"true\">\n\t\t\t\t<svg viewBox=\"0 0 24 24\"><path d=\"M12 3l9 9-9 9-9-9z\" /></svg>\n\t\t\t</span>\n\t\t\t{#if noSession}\n\t\t\t\t<p class=\"empty-title\">This session is no longer running</p>\n\t\t\t\t<p class=\"empty-body\">Its subagents went with it.</p>\n\t\t\t\t<Button variant=\"outline\" href=\"/\">See all sessions</Button>\n\t\t\t{:else}\n\t\t\t\t<p class=\"empty-title\">No subagent with this id</p>\n\t\t\t\t<p class=\"empty-body\">\n\t\t\t\t\t{parentName} has no record of agent {agentId}. It may have been spawned by another session,\n\t\t\t\t\tor its transcript was removed.\n\t\t\t\t</p>\n\t\t\t\t<Button variant=\"outline\" href={parentHref}>Back to {parentName}</Button>\n\t\t\t{/if}\n\t\t</div>\n\t{:else}\n\t\t<div class=\"scroll\" bind:this={scroller} onscroll={onScroll}>\n\t\t\t<div class=\"column\">\n\t\t\t\t{#if brief}\n\t\t\t\t\t<section class=\"brief\" aria-label=\"Brief\">\n\t\t\t\t\t\t<span class=\"brief-from\">Brief from {parentName}</span>\n\t\t\t\t\t\t<p>{brief}</p>\n\t\t\t\t\t</section>\n\t\t\t\t{/if}\n\t\t\t\t{#if store.receivedData && !store.available}\n\t\t\t\t\t<p class=\"waiting\">Waiting for the agent to write its first line…</p>\n\t\t\t\t{:else}\n\t\t\t\t\t{#key agentId}\n\t\t\t\t\t\t<TranscriptView\n\t\t\t\t\t\t\t{entries}\n\t\t\t\t\t\t\tavailable={store.available}\n\t\t\t\t\t\t\tloaded={store.receivedData}\n\t\t\t\t\t\t\tsessionState={running ? 'busy' : 'idle'}\n\t\t\t\t\t\t\tcurrentAction={hooked?.current_tool ?? null}\n\t\t\t\t\t\t\tolderCount={store.firstIndex}\n\t\t\t\t\t\t\tloadingEarlier={store.loadingEarlier}\n\t\t\t\t\t\t\tonLoadEarlier={() => void loadEarlier()}\n\t\t\t\t\t\t\tonQuote={quoteToParent}\n\t\t\t\t\t\t\t{base}\n\t\t\t\t\t\t/>\n\t\t\t\t\t{/key}\n\t\t\t\t{/if}\n\t\t\t</div>\n\t\t</div>\n\n\t\t<footer>\n\t\t\t<div class=\"readonly\">\n\t\t\t\t<iconify-icon icon=\"mdi:eye-outline\" aria-hidden=\"true\"></iconify-icon>\n\t\t\t\t<span>Subagents take no input. To steer, talk to the session that spawned it.</span>\n\t\t\t\t<Button variant=\"outline\" class=\"message\" href=\"{parentHref}?compose\">Message {parentName}</Button>\n\t\t\t</div>\n\t\t</footer>\n\t{/if}\n</div>\n\n<style>\n\t.window {\n\t\t--teal: #5eead4;\n\t\t--teal-deep: #155e63;\n\t\theight: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tbackground: #000;\n\t\tcolor: #e7e5e4;\n\t\tmin-width: 0;\n\t}\n\theader {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 10px;\n\t\tpadding: 12px 24px;\n\t\tborder-bottom: 1px solid #1f1f1f;\n\t\tmin-width: 0;\n\t}\n\theader :global(.menu) {\n\t\tdisplay: none;\n\t\tflex: none;\n\t\twidth: 36px;\n\t\tmargin-left: -8px;\n\t\tcolor: #a8a29e;\n\t\tfont-size: 20px;\n\t}\n\t.crumb {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 4px;\n\t\tfont-family: var(--font-mono);\n\t\tfont-size: 12.5px;\n\t\tcolor: #a8a29e;\n\t\ttext-decoration: none;\n\t\twhite-space: nowrap;\n\t\tmax-width: 30%;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\t.crumb:hover {\n\t\tcolor: #f5f5f4;\n\t}\n\t.crumb svg,\n\t.dia svg {\n\t\twidth: 13px;\n\t\theight: 13px;\n\t\tflex: none;\n\t\tfill: none;\n\t\tstroke: currentColor;\n\t\tstroke-width: 2.4;\n\t\tstroke-linecap: round;\n\t\tstroke-linejoin: round;\n\t}\n\t.slash {\n\t\tcolor: #44403c;\n\t}\n\t.dia {\n\t\tdisplay: flex;\n\t\tcolor: var(--teal);\n\t}\n\t.dia.failed {\n\t\tcolor: #f87171;\n\t}\n\th1 {\n\t\tmargin: 0;\n\t\tfont-size: 14px;\n\t\tfont-weight: 600;\n\t\tmin-width: 0;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t}\n\t.chip {\n\t\tfont-family: var(--font-mono);\n\t\tfont-size: 10.5px;\n\t\tcolor: var(--teal);\n\t\tborder: 1px solid var(--teal-deep);\n\t\tborder-radius: 4px;\n\t\tpadding: 1px 6px;\n\t\twhite-space: nowrap;\n\t}\n\t.grow {\n\t\tflex: 1;\n\t}\n\t.status {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 6px;\n\t\tfont-family: var(--font-mono);\n\t\tfont-size: 11.5px;\n\t\tcolor: #a8a29e;\n\t\twhite-space: nowrap;\n\t\tfont-variant-numeric: tabular-nums;\n\t}\n\t.status.failed {\n\t\tcolor: #f87171;\n\t}\n\t.dot {\n\t\twidth: 7px;\n\t\theight: 7px;\n\t\tborder-radius: 50%;\n\t\tbackground: #57534e;\n\t}\n\t.dot.live {\n\t\tbackground: #22c55e;\n\t}\n\t.status.failed .dot {\n\t\tbackground: #f87171;\n\t}\n\n\t.scroll {\n\t\tflex: 1;\n\t\tmin-height: 0;\n\t\toverflow-y: auto;\n\t\tpadding: 24px 16px;\n\t}\n\t.column {\n\t\tmax-width: 860px;\n\t\tmargin: 0 auto;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 14px;\n\t}\n\t.brief {\n\t\tborder-left: 3px solid var(--teal-deep);\n\t\tbackground: #0a1c1d;\n\t\tborder-radius: 0 10px 10px 0;\n\t\tpadding: 12px 16px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 4px;\n\t}\n\t.brief-from {\n\t\tfont-family: var(--font-mono);\n\t\tfont-size: 11px;\n\t\tcolor: var(--teal);\n\t}\n\t.brief p {\n\t\tmargin: 0;\n\t\tfont-size: 13.5px;\n\t\tline-height: 1.55;\n\t\twhite-space: pre-wrap;\n\t\toverflow-wrap: anywhere;\n\t\tmax-height: 14em;\n\t\toverflow-y: auto;\n\t}\n\t.waiting {\n\t\tcolor: #78716c;\n\t\tfont-size: 13px;\n\t}\n\n\tfooter {\n\t\tpadding: 12px 16px 18px;\n\t}\n\t.readonly {\n\t\tmax-width: 860px;\n\t\tmargin: 0 auto;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 14px;\n\t\tborder: 1px dashed #2f3b3b;\n\t\tborder-radius: 12px;\n\t\tpadding: 10px 12px 10px 16px;\n\t\tbackground: #0f1414;\n\t\tfont-size: 13px;\n\t\tcolor: #a8a29e;\n\t}\n\t.readonly iconify-icon {\n\t\tcolor: #78716c;\n\t\tfont-size: 16px;\n\t\tflex: none;\n\t}\n\t.readonly span {\n\t\tflex: 1;\n\t}\n\t.readonly :global(.message) {\n\t\tmax-width: 50%;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tdisplay: block;\n\t\tline-height: 2.4;\n\t\tborder-color: var(--teal-deep);\n\t\tcolor: var(--teal);\n\t\tmin-height: 40px;\n\t}\n\n\t.empty {\n\t\tflex: 1;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tgap: 10px;\n\t\tpadding: 24px 16px;\n\t\ttext-align: center;\n\t}\n\t.dia.big svg {\n\t\twidth: 28px;\n\t\theight: 28px;\n\t\tcolor: #44403c;\n\t}\n\t.empty-title {\n\t\tmargin: 6px 0 0;\n\t\tfont-size: 15px;\n\t\tfont-weight: 600;\n\t}\n\t.empty-body {\n\t\tmargin: 0 0 8px;\n\t\tmax-width: 46ch;\n\t\tfont-size: 13px;\n\t\tline-height: 1.5;\n\t\tcolor: #a8a29e;\n\t}\n\n\t@media (max-width: 767px) {\n\t\theader {\n\t\t\tpadding: 8px 16px;\n\t\t\tflex-wrap: wrap;\n\t\t}\n\t\theader :global(.menu) {\n\t\t\tdisplay: inline-flex;\n\t\t}\n\t\t.status {\n\t\t\tflex-basis: 100%;\n\t\t}\n\t\t.grow {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.readonly {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\t\t.readonly :global(.message) {\n\t\t\twidth: 100%;\n\t\t\tmax-width: 100%;\n\t\t}\n\t\t.crumb {\n\t\t\tmax-width: calc(100% - 60px);\n\t\t}\n\t}\n</style>\n"],"names":["target","$.derived","$page","agentId","route","routeMachine","base","remoteHost","sessions","$.get","sessionStore","session","parentName","getSessionDisplayName","parentHref","sessionPath","quoteToParent","text","ref","formatRef","draftsStore","appendQuote","goto","hooked","a","store","TranscriptStore","held","$.state","$.user_effect","$.set","onDestroy","payload","agentState","running","description","type","title","agentTypeLabel","head","entries","brief","clock","status","first","started","ended","parts","formatElapsed","tools","compact","unknown","noSession","scroller","pinned","onScroll","untrack","tick","loadEarlier","fromBottom","div","root_9","$.head","$$anchor","header","Button","node","drawer","iconify_icon","root","a_1","$.sibling","text_1","$.child","$.reset","span","h1","span_1","root_1","text_3","$.only_child","$.append","$$render","consequent","span_2","root_2","span_3","text_4","classes_1","$.set_class","consequent_1","div_1","root_5","node_4","node_5","p","$.first_child","fragment_1","node_6","$.template_effect","$.set_text","text_6","consequent_2","alternate","div_2","fragment_3","div_3","node_7","section","root_6","span_4","text_8","p_1","text_9","consequent_4","p_2","root_7","TranscriptView","consequent_5","alternate_1","$.bind_this","$$value","footer","div_4","iconify_icon_1","$.set_custom_element_data","node_10","consequent_3","alternate_2","classes"],"mappings":"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"}
1
+ {"version":3,"file":"BvX4FYxp.js","sources":["../../../../../../src/routes/session/[target]/agent/[agentId]/+page.svelte"],"sourcesContent":["<script lang=\"ts\">\n\t/**\n\t * A subagent opened as a window of its own, in the main view beside the\n\t * app's sidebar. It reads like a session — the same transcript, the same\n\t * tool-run grouping — but takes no input: the composer gives way to a bar\n\t * that sends the reader back to the session that spawned it.\n\t *\n\t * The entries come over the parent session's transcript socket, which\n\t * already tails every subagent for the Task cards; this page asks it for\n\t * one agent's (see TranscriptWsManager.addClient).\n\t */\n\timport { page } from '$app/stores';\n\timport { goto } from '$app/navigation';\n\timport { onDestroy, tick, untrack } from 'svelte';\n\timport { sessionStore, getSessionDisplayName } from '$lib/stores/sessions.svelte';\n\timport { TranscriptStore } from '$lib/stores/transcript.svelte';\n\timport TranscriptView from '$lib/components/TranscriptView.svelte';\n\timport { Button } from '$lib/components/ui/button';\n\timport { agentTypeLabel } from '$shared/subagents.js';\n\timport { compact, formatElapsed } from '$lib/format';\n\timport { clock } from '$lib/stores/clock.svelte';\n\timport { drawer } from '$lib/stores/drawer.svelte';\n\timport { draftsStore } from '$lib/stores/drafts.svelte';\n\timport { appendQuote } from '$lib/quote';\n\timport { routeMachine } from '$lib/stores/fleet.svelte';\n\timport { sessionPath } from '$lib/session-route';\n\timport { formatRef } from '$lib/split-refs';\n\n\tconst target = $derived(decodeURIComponent($page.params.target ?? ''));\n\tconst agentId = $derived(decodeURIComponent($page.params.agentId ?? ''));\n\n\t/** The parent's machine, as on the session page: '' here, the relay path elsewhere. */\n\tconst route = routeMachine(() => $page.params.machine ?? null);\n\tconst base = $derived(route.base);\n\tconst remoteHost = $derived(route.remoteHost);\n\tconst sessions = $derived(remoteHost ? (route.machine?.sessions ?? []) : sessionStore.sessions);\n\tconst session = $derived(route.session(target));\n\tconst parentName = $derived(session ? getSessionDisplayName(session) : target);\n\tconst parentHref = $derived(sessionPath({ host: remoteHost, target }));\n\n\t/** There is no composer here: the quote joins the parent's draft, and the reader follows it there. */\n\tfunction quoteToParent(text: string) {\n\t\tconst ref = formatRef({ host: remoteHost, target });\n\t\tdraftsStore.set(ref, appendQuote(draftsStore.get(ref), text));\n\t\tvoid goto(`${parentHref}?compose`);\n\t}\n\n\t/** What the hooks recorded of the agent; gone an hour after it finished. */\n\tconst hooked = $derived(session?.subagents?.find((a) => a.id === agentId) ?? null);\n\n\tconst store = new TranscriptStore();\n\t// Held through a sessions-socket reconnect, when the list is briefly\n\t// empty: dropping the id would throw away the entries and the scroll.\n\t// It is held with its machine, so moving to another machine's agent does\n\t// not open the old id there.\n\tlet held = $state<{ id: string; address: string } | null>(null);\n\t$effect(() => {\n\t\tif (session) held = { id: session.id, address: route.address };\n\t});\n\t$effect(() => {\n\t\tstore.setSession(held?.address === route.address ? held.id : null, agentId, base, route.address);\n\t});\n\tonDestroy(() => store.setSession(null));\n\n\t/** What the transcript knows of it: the type, the brief, the tools it ran. */\n\tconst payload = $derived(store.subagents[agentId] ?? null);\n\n\tconst agentState = $derived<'running' | 'done' | 'failed'>(\n\t\thooked?.state ?? (payload?.running ? 'running' : 'done')\n\t);\n\tconst running = $derived(agentState === 'running');\n\tconst description = $derived(hooked?.description ?? payload?.description ?? null);\n\tconst type = $derived(hooked?.type ?? payload?.agentType ?? null);\n\tconst title = $derived(description ?? (type ? agentTypeLabel(type) : 'Subagent'));\n\n\t/** The brief is the agent's first line; it is pinned above rather than drawn as a prompt. */\n\tconst head = $derived(\n\t\tstore.firstIndex === 0 && store.entries[0]?.kind === 'user' ? store.entries[0] : null\n\t);\n\tconst entries = $derived(head ? store.entries.slice(1) : store.entries);\n\tconst brief = $derived(payload?.prompt ?? head?.text ?? null);\n\n\t$effect(() => {\n\t\tif (running) return clock.fine();\n\t});\n\n\tconst status = $derived.by(() => {\n\t\tconst first = store.firstIndex === 0 ? store.entries[0]?.ts : undefined;\n\t\tconst started = hooked?.started_at ?? first ?? null;\n\t\tconst ended = running ? clock.now : (hooked?.ended_at ?? store.entries.at(-1)?.ts ?? null);\n\t\tconst parts: string[] = [agentState];\n\t\tif (started !== null && ended !== null) parts.push(formatElapsed((ended - started) / 1000));\n\t\tif (payload) {\n\t\t\tconst tools = payload.activity.length + payload.trimmed;\n\t\t\tparts.push(`${tools} tool${tools === 1 ? '' : 's'}`);\n\t\t}\n\t\tif (store.context) parts.push(`${compact(store.context.tokens)} tok`);\n\t\treturn parts.join(' · ');\n\t});\n\n\t/** Neither the hooks nor the files have heard of it. */\n\tconst unknown = $derived(\n\t\tstore.receivedData && !store.available && !hooked && sessions.length > 0\n\t);\n\tconst noSession = $derived(sessions.length > 0 && !session);\n\n\t// ── keep to the newest line while the reader is at the bottom ─────────\n\tlet scroller: HTMLDivElement | null = $state(null);\n\tlet pinned = true;\n\tfunction onScroll() {\n\t\tif (!scroller) return;\n\t\tpinned = scroller.scrollHeight - scroller.scrollTop - scroller.clientHeight < 60;\n\t}\n\t$effect(() => {\n\t\tvoid store.entries.length;\n\t\tvoid store.appended;\n\t\tuntrack(() => {\n\t\t\tif (!pinned) return;\n\t\t\tvoid tick().then(() => {\n\t\t\t\tif (scroller) scroller.scrollTop = scroller.scrollHeight;\n\t\t\t});\n\t\t});\n\t});\n\t$effect(() => {\n\t\tvoid agentId;\n\t\tpinned = true;\n\t});\n\n\tasync function loadEarlier() {\n\t\tif (!scroller) return void store.loadEarlier();\n\t\tconst fromBottom = scroller.scrollHeight - scroller.scrollTop;\n\t\tawait store.loadEarlier();\n\t\tawait tick();\n\t\tif (scroller) scroller.scrollTop = scroller.scrollHeight - fromBottom;\n\t}\n</script>\n\n<svelte:head>\n\t<title>◆ {title} · {parentName}</title>\n</svelte:head>\n\n<div class=\"window\">\n\t<header>\n\t\t<Button variant=\"ghost\" size=\"icon\" class=\"menu\" onclick={() => drawer.toggle()} aria-label=\"Sessions\">\n\t\t\t<iconify-icon icon=\"mdi:menu\"></iconify-icon>\n\t\t</Button>\n\t\t<a class=\"crumb\" href={parentHref}>\n\t\t\t<svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M15 18l-6-6 6-6\" /></svg>\n\t\t\t{parentName}\n\t\t</a>\n\t\t<span class=\"slash\" aria-hidden=\"true\">/</span>\n\t\t<span class=\"dia\" class:failed={agentState === 'failed'} aria-hidden=\"true\">\n\t\t\t<svg viewBox=\"0 0 24 24\"><path d=\"M12 3l9 9-9 9-9-9z\" /></svg>\n\t\t</span>\n\t\t<h1>{title}</h1>\n\t\t{#if type}<span class=\"chip\">{agentTypeLabel(type)}</span>{/if}\n\t\t<span class=\"grow\"></span>\n\t\t{#if !unknown && !noSession}\n\t\t\t<span class=\"status\" class:failed={agentState === 'failed'}>\n\t\t\t\t<span class=\"dot\" class:live={running}></span>{status}\n\t\t\t</span>\n\t\t{/if}\n\t</header>\n\n\t{#if unknown || noSession}\n\t\t<div class=\"empty\">\n\t\t\t<span class=\"dia big\" aria-hidden=\"true\">\n\t\t\t\t<svg viewBox=\"0 0 24 24\"><path d=\"M12 3l9 9-9 9-9-9z\" /></svg>\n\t\t\t</span>\n\t\t\t{#if noSession}\n\t\t\t\t<p class=\"empty-title\">This session is no longer running</p>\n\t\t\t\t<p class=\"empty-body\">Its subagents went with it.</p>\n\t\t\t\t<Button variant=\"outline\" href=\"/\">See all sessions</Button>\n\t\t\t{:else}\n\t\t\t\t<p class=\"empty-title\">No subagent with this id</p>\n\t\t\t\t<p class=\"empty-body\">\n\t\t\t\t\t{parentName} has no record of agent {agentId}. It may have been spawned by another session,\n\t\t\t\t\tor its transcript was removed.\n\t\t\t\t</p>\n\t\t\t\t<Button variant=\"outline\" href={parentHref}>Back to {parentName}</Button>\n\t\t\t{/if}\n\t\t</div>\n\t{:else}\n\t\t<div class=\"scroll\" bind:this={scroller} onscroll={onScroll}>\n\t\t\t<div class=\"column\">\n\t\t\t\t{#if brief}\n\t\t\t\t\t<section class=\"brief\" aria-label=\"Brief\">\n\t\t\t\t\t\t<span class=\"brief-from\">Brief from {parentName}</span>\n\t\t\t\t\t\t<p>{brief}</p>\n\t\t\t\t\t</section>\n\t\t\t\t{/if}\n\t\t\t\t{#if store.receivedData && !store.available}\n\t\t\t\t\t<p class=\"waiting\">Waiting for the agent to write its first line…</p>\n\t\t\t\t{:else}\n\t\t\t\t\t{#key agentId}\n\t\t\t\t\t\t<TranscriptView\n\t\t\t\t\t\t\t{entries}\n\t\t\t\t\t\t\tavailable={store.available}\n\t\t\t\t\t\t\tloaded={store.receivedData}\n\t\t\t\t\t\t\tsessionState={running ? 'busy' : 'idle'}\n\t\t\t\t\t\t\tcurrentAction={hooked?.current_tool ?? null}\n\t\t\t\t\t\t\tolderCount={store.firstIndex}\n\t\t\t\t\t\t\tloadingEarlier={store.loadingEarlier}\n\t\t\t\t\t\t\tonLoadEarlier={() => void loadEarlier()}\n\t\t\t\t\t\t\tonQuote={quoteToParent}\n\t\t\t\t\t\t\t{base}\n\t\t\t\t\t\t/>\n\t\t\t\t\t{/key}\n\t\t\t\t{/if}\n\t\t\t</div>\n\t\t</div>\n\n\t\t<footer>\n\t\t\t<div class=\"readonly\">\n\t\t\t\t<iconify-icon icon=\"mdi:eye-outline\" aria-hidden=\"true\"></iconify-icon>\n\t\t\t\t<span>Subagents take no input. To steer, talk to the session that spawned it.</span>\n\t\t\t\t<Button variant=\"outline\" class=\"message\" href=\"{parentHref}?compose\">Message {parentName}</Button>\n\t\t\t</div>\n\t\t</footer>\n\t{/if}\n</div>\n\n<style>\n\t.window {\n\t\t--teal: #5eead4;\n\t\t--teal-deep: #155e63;\n\t\theight: 100%;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tbackground: #000;\n\t\tcolor: #e7e5e4;\n\t\tmin-width: 0;\n\t}\n\theader {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 10px;\n\t\tpadding: 12px 24px;\n\t\tborder-bottom: 1px solid #1f1f1f;\n\t\tmin-width: 0;\n\t}\n\theader :global(.menu) {\n\t\tdisplay: none;\n\t\tflex: none;\n\t\twidth: 36px;\n\t\tmargin-left: -8px;\n\t\tcolor: #a8a29e;\n\t\tfont-size: 20px;\n\t}\n\t.crumb {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 4px;\n\t\tfont-family: var(--font-mono);\n\t\tfont-size: 12.5px;\n\t\tcolor: #a8a29e;\n\t\ttext-decoration: none;\n\t\twhite-space: nowrap;\n\t\tmax-width: 30%;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\t.crumb:hover {\n\t\tcolor: #f5f5f4;\n\t}\n\t.crumb svg,\n\t.dia svg {\n\t\twidth: 13px;\n\t\theight: 13px;\n\t\tflex: none;\n\t\tfill: none;\n\t\tstroke: currentColor;\n\t\tstroke-width: 2.4;\n\t\tstroke-linecap: round;\n\t\tstroke-linejoin: round;\n\t}\n\t.slash {\n\t\tcolor: #44403c;\n\t}\n\t.dia {\n\t\tdisplay: flex;\n\t\tcolor: var(--teal);\n\t}\n\t.dia.failed {\n\t\tcolor: #f87171;\n\t}\n\th1 {\n\t\tmargin: 0;\n\t\tfont-size: 14px;\n\t\tfont-weight: 600;\n\t\tmin-width: 0;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t}\n\t.chip {\n\t\tfont-family: var(--font-mono);\n\t\tfont-size: 10.5px;\n\t\tcolor: var(--teal);\n\t\tborder: 1px solid var(--teal-deep);\n\t\tborder-radius: 4px;\n\t\tpadding: 1px 6px;\n\t\twhite-space: nowrap;\n\t}\n\t.grow {\n\t\tflex: 1;\n\t}\n\t.status {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 6px;\n\t\tfont-family: var(--font-mono);\n\t\tfont-size: 11.5px;\n\t\tcolor: #a8a29e;\n\t\twhite-space: nowrap;\n\t\tfont-variant-numeric: tabular-nums;\n\t}\n\t.status.failed {\n\t\tcolor: #f87171;\n\t}\n\t.dot {\n\t\twidth: 7px;\n\t\theight: 7px;\n\t\tborder-radius: 50%;\n\t\tbackground: #57534e;\n\t}\n\t.dot.live {\n\t\tbackground: #22c55e;\n\t}\n\t.status.failed .dot {\n\t\tbackground: #f87171;\n\t}\n\n\t.scroll {\n\t\tflex: 1;\n\t\tmin-height: 0;\n\t\toverflow-y: auto;\n\t\tpadding: 24px 16px;\n\t}\n\t.column {\n\t\tmax-width: 860px;\n\t\tmargin: 0 auto;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 14px;\n\t}\n\t.brief {\n\t\tborder-left: 3px solid var(--teal-deep);\n\t\tbackground: #0a1c1d;\n\t\tborder-radius: 0 10px 10px 0;\n\t\tpadding: 12px 16px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 4px;\n\t}\n\t.brief-from {\n\t\tfont-family: var(--font-mono);\n\t\tfont-size: 11px;\n\t\tcolor: var(--teal);\n\t}\n\t.brief p {\n\t\tmargin: 0;\n\t\tfont-size: 13.5px;\n\t\tline-height: 1.55;\n\t\twhite-space: pre-wrap;\n\t\toverflow-wrap: anywhere;\n\t\tmax-height: 14em;\n\t\toverflow-y: auto;\n\t}\n\t.waiting {\n\t\tcolor: #78716c;\n\t\tfont-size: 13px;\n\t}\n\n\tfooter {\n\t\tpadding: 12px 16px 18px;\n\t}\n\t.readonly {\n\t\tmax-width: 860px;\n\t\tmargin: 0 auto;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 14px;\n\t\tborder: 1px dashed #2f3b3b;\n\t\tborder-radius: 12px;\n\t\tpadding: 10px 12px 10px 16px;\n\t\tbackground: #0f1414;\n\t\tfont-size: 13px;\n\t\tcolor: #a8a29e;\n\t}\n\t.readonly iconify-icon {\n\t\tcolor: #78716c;\n\t\tfont-size: 16px;\n\t\tflex: none;\n\t}\n\t.readonly span {\n\t\tflex: 1;\n\t}\n\t.readonly :global(.message) {\n\t\tmax-width: 50%;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tdisplay: block;\n\t\tline-height: 2.4;\n\t\tborder-color: var(--teal-deep);\n\t\tcolor: var(--teal);\n\t\tmin-height: 40px;\n\t}\n\n\t.empty {\n\t\tflex: 1;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tgap: 10px;\n\t\tpadding: 24px 16px;\n\t\ttext-align: center;\n\t}\n\t.dia.big svg {\n\t\twidth: 28px;\n\t\theight: 28px;\n\t\tcolor: #44403c;\n\t}\n\t.empty-title {\n\t\tmargin: 6px 0 0;\n\t\tfont-size: 15px;\n\t\tfont-weight: 600;\n\t}\n\t.empty-body {\n\t\tmargin: 0 0 8px;\n\t\tmax-width: 46ch;\n\t\tfont-size: 13px;\n\t\tline-height: 1.5;\n\t\tcolor: #a8a29e;\n\t}\n\n\t@media (max-width: 767px) {\n\t\theader {\n\t\t\tpadding: 8px 16px;\n\t\t\tflex-wrap: wrap;\n\t\t}\n\t\theader :global(.menu) {\n\t\t\tdisplay: inline-flex;\n\t\t}\n\t\t.status {\n\t\t\tflex-basis: 100%;\n\t\t}\n\t\t.grow {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.readonly {\n\t\t\tflex-wrap: wrap;\n\t\t}\n\t\t.readonly :global(.message) {\n\t\t\twidth: 100%;\n\t\t\tmax-width: 100%;\n\t\t}\n\t\t.crumb {\n\t\t\tmax-width: calc(100% - 60px);\n\t\t}\n\t}\n</style>\n"],"names":["target","$.derived","$page","agentId","route","routeMachine","base","remoteHost","sessions","$.get","sessionStore","session","parentName","getSessionDisplayName","parentHref","sessionPath","quoteToParent","text","ref","formatRef","draftsStore","appendQuote","goto","hooked","a","store","TranscriptStore","held","$.state","$.user_effect","$.set","onDestroy","payload","agentState","running","description","type","title","agentTypeLabel","head","entries","brief","clock","status","first","started","ended","parts","formatElapsed","tools","compact","unknown","noSession","scroller","pinned","onScroll","untrack","tick","loadEarlier","fromBottom","div","root_9","$.head","$$anchor","header","Button","node","drawer","iconify_icon","root","a_1","$.sibling","text_1","$.child","$.reset","span","h1","span_1","root_1","text_3","$.only_child","$.append","$$render","consequent","span_2","root_2","span_3","text_4","classes_1","$.set_class","consequent_1","div_1","root_5","node_4","node_5","p","$.first_child","fragment_1","node_6","$.template_effect","$.set_text","text_6","consequent_2","alternate","div_2","fragment_3","div_3","node_7","section","root_6","span_4","text_8","p_1","text_9","consequent_4","p_2","root_7","TranscriptView","consequent_5","alternate_1","$.bind_this","$$value","footer","div_4","iconify_icon_1","$.set_custom_element_data","node_10","consequent_3","alternate_2","classes"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import{bE as Oe,g as L,i as O,j,U as Ye,D as le,bF as Tt,bG as Lt}from"./BeqCgGI7.js";class oe{constructor(t,r){this.status=t,typeof r=="string"?this.body={message:r}:r?this.body=r:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class je{constructor(t,r){try{new Headers({location:r})}catch{throw new Error(`Invalid redirect location ${JSON.stringify(r)}: this string contains characters that cannot be used in HTTP headers`)}this.status=t,this.location=r}}class Ne extends Error{constructor(t,r,n){super(n),this.status=t,this.text=r}}new URL("sveltekit-internal://");function Ot(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function jt(e){return e.split("%25").map(decodeURI).join("%25")}function Nt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function Ae({href:e}){return e.split("#")[0]}function xt(e,t,r,n=!1){const a=new URL(e);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(i,s){if(s==="get"||s==="getAll"||s==="has")return(f,...l)=>(r(f),i[s](f,...l));t();const c=Reflect.get(i,s);return typeof c=="function"?c.bind(i):c}}),enumerable:!0,configurable:!0});const o=["href","pathname","search","toString","toJSON"];n&&o.push("hash");for(const i of o)Object.defineProperty(a,i,{get(){return t(),e[i]},enumerable:!0,configurable:!0});return a}function C(){}function Ct(...e){let t=5381;for(const r of e)if(typeof r=="string"){let n=r.length;for(;n;)t=t*33^r.charCodeAt(--n)}else if(ArrayBuffer.isView(r)){const n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);let a=n.length;for(;a;)t=t*33^n[--a]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;function Dt(e){const t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}const $t=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&Q.delete(xe(e)),$t(e,t));const Q=new Map;function Bt(e,t){const r=xe(e,t),n=document.querySelector(r);if(n?.textContent){n.remove();let{body:a,...o}=JSON.parse(n.textContent);n.getAttribute("data-b64")!==null&&(a=Dt(a));const s=n.getAttribute("data-ttl");return s&&Q.set(r,{body:a,init:o,ttl:1e3*Number(s)}),Promise.resolve(new Response(a,o))}return window.fetch(e,t)}function Mt(e,t,r){if(Q.size>0){const n=xe(e,r),a=Q.get(n);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(r?.cache))return new Response(a.body,a.init);Q.delete(n)}}return window.fetch(t,r)}function xe(e,t){let n=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){const a=[];t.headers&&a.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&a.push(t.body),n+=`[data-hash="${Ct(...a)}"]`}return n}const Vt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/,Ft=/^\/\((?:[^)]+)\)$/;function qt(e){const t=[];return{pattern:e==="/"||Ft.test(e)?/^\/$/:new RegExp(`^${Gt(e).map(n=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(n);if(a)return t.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const o=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(n);if(o)return t.push({name:o[1],matcher:o[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!n)return;const i=n.split(/\[(.+?)\](?!\])/);return"/"+i.map((c,f)=>{if(f%2){if(c.startsWith("x+"))return ke(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return ke(String.fromCharCode(...c.slice(2).split("-").map(y=>parseInt(y,16))));const l=Vt.exec(c),[,h,d,u,p]=l;return t.push({name:u,matcher:p,optional:!!h,rest:!!d,chained:d?f===1&&i[0]==="":!1}),d?"([^]*?)":h?"([^/]*)?":"([^/]+?)"}return ke(c)}).join("")}).join("")}/?$`),params:t}}function Ht(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Gt(e){return e.slice(1).split("/").filter(Ht)}function Yt(e,t,r){const n={},a=e.slice(1),o=a.filter(s=>s!==void 0);let i=0;for(let s=0;s<t.length;s+=1){const c=t[s];let f=a[s-i];if(c.chained&&c.rest&&i&&(f=a.slice(s-i,s+1).filter(l=>l).join("/"),i=0),f===void 0)if(c.rest)f="";else continue;if(!c.matcher||r[c.matcher](f)){n[c.name]=f;const l=t[s+1],h=a[s+1];l&&!l.rest&&l.optional&&h&&c.chained&&(i=0),!l&&!h&&Object.keys(n).length===o.length&&(i=0);continue}if(c.optional&&c.chained){i++;continue}return}if(!i)return n}function ke(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Kt({nodes:e,server_loads:t,dictionary:r,matchers:n}){const a=new Set(t);return Object.entries(r).map(([s,[c,f,l]])=>{const{pattern:h,params:d}=qt(s),u={id:s,exec:p=>{const y=h.exec(p);if(y)return Yt(y,d,n)},errors:[1,...l||[]].map(p=>e[p]),layouts:[0,...f||[]].map(i),leaf:o(c)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function o(s){const c=s<0;return c&&(s=~s),[c,e[s]]}function i(s){return s===void 0?s:[a.has(s),e[s]]}}function ot(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function Ke(e,t,r=JSON.stringify){const n=r(t);try{sessionStorage[e]=n}catch{}}const T=globalThis.__sveltekit_1pkl9hv?.base??"",Wt=globalThis.__sveltekit_1pkl9hv?.assets??T??"",Jt="1793193428870",st="sveltekit:snapshot",it="sveltekit:scroll",ct="sveltekit:states",Xt="sveltekit:pageurl",Y="sveltekit:history",te="sveltekit:navigation",V={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},se=location.origin;function Ce(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const r=document.getElementsByTagName("base");t=r.length?r[0].href:document.URL}return new URL(e,t)}function q(){return{x:pageXOffset,y:pageYOffset}}function H(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const We={...V,"":V.hover};function lt(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function ft(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=lt(e)}}function Ie(e,t,r){let n;try{if(n=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),r&&n.hash.match(/^#[^/]/)){const s=location.hash.split("#")[1]||"/";n.hash=`#${s}${n.hash}`}}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,o=!n||!!a||we(n,t,r)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),i=n?.origin===se&&e.hasAttribute("download");return{url:n,external:o,target:a,download:i}}function fe(e){let t=null,r=null,n=null,a=null,o=null,i=null,s=e;for(;s&&s!==document.documentElement;)n===null&&(n=H(s,"preload-code")),a===null&&(a=H(s,"preload-data")),t===null&&(t=H(s,"keepfocus")),r===null&&(r=H(s,"noscroll")),o===null&&(o=H(s,"reload")),i===null&&(i=H(s,"replacestate")),s=lt(s);function c(f){switch(f){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:We[n??"off"],preload_data:We[a??"off"],keepfocus:c(t),noscroll:c(r),reload:c(o),replace_state:c(i)}}function Je(e){const t=Oe(e);let r=!0;function n(){r=!0,t.update(i=>i)}function a(i){r=!1,t.set(i)}function o(i){let s;return t.subscribe(c=>{(s===void 0||r&&c!==s)&&i(s=c)})}return{notify:n,set:a,subscribe:o}}const ut={v:C};function zt(){const{set:e,subscribe:t}=Oe(!1),r=6e4;let n;async function a(){clearTimeout(n),n=setTimeout(a,r);try{const o=await fetch(`${Wt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!o.ok)return!1;const s=(await o.json()).version!==Jt;return s&&(e(!0),ut.v(),clearTimeout(n)),s}catch{return!1}}return n=setTimeout(a,r),{subscribe:t,check:a}}function we(e,t,r){return e.origin!==se||!e.pathname.startsWith(t)?!0:r?e.pathname!==location.pathname:!1}function Wr(e){}const Zt=-1,Qt=-2,er=-3,tr=-4,rr=-5,nr=-6,ar=-7,dt=2**32-1,Pe=dt-1;function or(e){return!(!Number.isInteger(e)||e<0||e>Pe)}function sr(e){return!(!Number.isInteger(e)||e<0||e>dt)}function ir(e){return Uint8Array.fromBase64(e).buffer}function cr(e){return Uint8Array.from(Buffer.from(e,"base64")).buffer}function lr(e){const t=atob(e),r=t.length,n=new Uint8Array(r);for(let a=0;a<r;a++)n[a]=t.charCodeAt(a);return n.buffer}const fr=typeof Uint8Array.fromBase64=="function",ur=typeof process=="object"&&process.versions?.node!==void 0,dr=fr?ir:ur?cr:lr;function hr(e,t){return e}const pr=Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get,Xe=typeof SharedArrayBuffer>"u"?void 0:Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype,"byteLength").get,mr={fromPrimitive:e=>e,fromISOString:e=>new Date(e),fromStringValue:(e,t)=>e==="URL"?new URL(t):e==="URLSearchParams"?new URLSearchParams(t):Temporal[e.slice(9)].from(t),fromArrayBuffer:e=>e,fromRegExpInfo:(e,t)=>new RegExp(e,t),fromViewInfo:(e,t,r,n)=>{try{pr.call(t)}catch(o){if(!Xe)throw o;Xe.call(t)}const a=globalThis[e];return r!==void 0?new a(t,r,n):new a(t)},box:e=>Object(e),createArray:e=>new Array(e),createSparseArray:e=>{const t=[];return t[Pe]=void 0,delete t[Pe],t.length=e,t},createObject:()=>({}),createNullPrototypeObject:()=>Object.create(null),createSet:()=>new Set,createMap:()=>new Map,set:(e,t,r)=>{e[t]=r},addValue:(e,t)=>{e.add(t)},addEntry:(e,t,r)=>{e.set(t,r)}},_r=Object.freeze(mr);function gr(e,t,r){const n=hr(_r);if(typeof e=="number")return s(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const a=e,o=Array(a.length);let i=null;function s(c,f=!1){if(c===Zt)return n.fromPrimitive(void 0);if(c===er)return n.fromPrimitive(NaN);if(c===tr)return n.fromPrimitive(1/0);if(c===rr)return n.fromPrimitive(-1/0);if(c===nr)return n.fromPrimitive(-0);if(f||typeof c!="number")throw new Error("Invalid input");if(c in o)return o[c];if(c>=a.length)throw new Error("Invalid input");const l=a[c];if(!l||typeof l!="object")o[c]=n.fromPrimitive(l);else if(Array.isArray(l))if(typeof l[0]=="string"){const h=l[0],d=t&&Object.hasOwn(t,h)?t[h]:void 0;if(d){let u=l[1];if(typeof u!="number"&&(u=a.push(l[1])-1),Object.hasOwn(o,u))return o[c]=d(o[u]);if(i??=new Set,i.has(u))throw new Error("Invalid circular reference");return i.add(u),o[c]=d(s(u)),i.delete(u),o[c]}switch(h){case"Date":o[c]=n.fromISOString(l[1]);break;case"Set":const u=n.createSet();o[c]=u;for(let m=1;m<l.length;m+=1)n.addValue(u,s(l[m]));break;case"Map":const p=n.createMap();o[c]=p;for(let m=1;m<l.length;m+=2)n.addEntry(p,s(l[m]),s(l[m+1]));break;case"RegExp":o[c]=n.fromRegExpInfo(l[1],l[2]);break;case"Object":{const m=l[1];if(typeof a[m]=="object"&&a[m][0]!=="BigInt")throw new Error("Invalid input");o[c]=n.box(s(m));break}case"BigInt":o[c]=n.fromPrimitive(BigInt(l[1]));break;case"null":const y=n.createNullPrototypeObject();o[c]=y;for(let m=1;m<l.length;m+=2){const _=l[m];if(typeof _!="string")throw new Error("Cannot parse an object with a non-string key");if(_==="__proto__")throw new Error("Cannot parse an object with a `__proto__` property");n.set(y,_,s(l[m+1]))}break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Float16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":case"DataView":{if(a[l[1]][0]!=="ArrayBuffer")throw new Error("Invalid data");const m=s(l[1]);o[c]=n.fromViewInfo(h,m,l[2],l[3]);break}case"ArrayBuffer":{const m=l[1];if(typeof m!="string")throw new Error("Invalid ArrayBuffer encoding");o[c]=n.fromArrayBuffer(dr(m));break}case"URL":case"URLSearchParams":case"Temporal.Duration":case"Temporal.Instant":case"Temporal.PlainDate":case"Temporal.PlainTime":case"Temporal.PlainDateTime":case"Temporal.PlainMonthDay":case"Temporal.PlainYearMonth":case"Temporal.ZonedDateTime":{o[c]=n.fromStringValue(h,l[1]);break}default:throw new Error(`Unknown type ${h}`)}}else if(l[0]===ar){const h=l[1];if(!sr(h))throw new Error("Invalid input");const d=n.createSparseArray(h);o[c]=d;for(let u=2;u<l.length;u+=2){const p=l[u];if(!or(p)||p>=h)throw new Error("Invalid input");n.set(d,p,s(l[u+1]))}}else{const h=n.createArray(l.length);o[c]=h;for(let d=0;d<l.length;d+=1){const u=l[d];u!==Qt&&n.set(h,d,s(u))}}else{const h=n.createObject();o[c]=h;for(const d of Object.keys(l)){if(d==="__proto__")throw new Error("Cannot parse an object with a `__proto__` property");n.set(h,d,s(l[d]))}}return o[c]}return s(0)}const ht=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...ht];const yr=new Set([...ht]);[...yr];function wr(e){return e.filter(t=>t!=null)}const vr="x-sveltekit-invalidated",br="x-sveltekit-trailing-slash";function ie(e,t){return e+"/"+t}function ue(e){return e instanceof oe||e instanceof Ne?e.status:500}function Er(e){return e instanceof Ne?e.text:"Internal Error"}let I,re,Se;const Ar=Ye.toString().includes("$$")||/function \w+\(\) \{\}/.test(Ye.toString()),ze="a:";Ar?(I={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL(ze)},re={current:null},Se={current:!1}):(I=new class{#e=L({});get data(){return O(this.#e)}set data(t){j(this.#e,t)}#t=L(null);get form(){return O(this.#t)}set form(t){j(this.#t,t)}#r=L(null);get error(){return O(this.#r)}set error(t){j(this.#r,t)}#n=L({});get params(){return O(this.#n)}set params(t){j(this.#n,t)}#a=L({id:null});get route(){return O(this.#a)}set route(t){j(this.#a,t)}#o=L({});get state(){return O(this.#o)}set state(t){j(this.#o,t)}#s=L(-1);get status(){return O(this.#s)}set status(t){j(this.#s,t)}#i=L(new URL(ze));get url(){return O(this.#i)}set url(t){j(this.#i,t)}},re=new class{#e=L(null);get current(){return O(this.#e)}set current(t){j(this.#e,t)}},Se=new class{#e=L(!1);get current(){return O(this.#e)}set current(t){j(this.#e,t)}},ut.v=()=>Se.current=!0);function pt(e){Object.assign(I,e)}const kr="/__data.json",Sr=".html__data.json";function Rr(e){return e.endsWith(".html")?e.replace(/\.html$/,Sr):e.replace(/\/$/,"")+kr}const Ze={spanContext(){return Ir},setAttribute(){return this},setAttributes(){return this},addEvent(){return this},setStatus(){return this},updateName(){return this},end(){return this},isRecording(){return!1},recordException(){return this},addLink(){return this},addLinks(){return this}},Ir={traceId:"",spanId:"",traceFlags:0};async function*Pr(e,t){let r=!1,n="";const a=new TextDecoder;for(;;){let o=n.indexOf(t);for(;o!==-1;)yield n.slice(0,o),n=n.slice(o+t.length),o=n.indexOf(t);if(r){n&&(yield n);return}const i=await e.read();r=i.done,i.value&&(n+=a.decode(i.value,{stream:!0})),r&&(n+=a.decode())}}async function*Ur(e){for await(const t of Pr(e,`
2
+ `)){const r=t.trim();r&&(yield JSON.parse(r))}}const{onMount:Tr}=Tt,Lr=new Set(["icon","shortcut icon","apple-touch-icon"]);let z=null;const B=ot(it)??{},ne=ot(st)??{},$={url:Je({}),page:Je({}),navigating:Oe(null),updated:zt()};function De(e){B[e]=q()}function Or(e,t){let r=e+1;for(;B[r];)delete B[r],r+=1;for(r=t+1;ne[r];)delete ne[r],r+=1}function J(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(C)}async function mt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(T||"/");e&&await e.update()}}let $e,Ue,de,x,Te,E;const he=[],pe=[];let P=null;function me(){P?.fork?.then(e=>e?.discard()),P=null,G={element:void 0,href:void 0}}const ce=new Map,Be=new Set,jr=new Set,K=new Set;let w={branch:[],error:null,url:null},Me=!1,_e=!1,Qe=!0,ae=!1,Z=!1,_t=!1,Ve=!1,gt,S,U,D;const ee=new Set,et=new Map,tt=new Map;async function Zr(e,t,r){if(globalThis.__sveltekit_1pkl9hv.data){const{q:o={},p:i={},l:s={},f:c={}}=globalThis.__sveltekit_1pkl9hv.data;for(const f in o)o[f];for(const f in s)s[f];for(const f in c)c[f];for(const f in i)i[f]}document.URL!==location.href&&(location.href=location.href),E=e,await e.hooks.init?.(),$e=Kt(e),x=document.documentElement,Te=t,Ue=e.nodes[0],de=e.nodes[1],Ue(),de(),S=history.state?.[Y],U=history.state?.[te],S||(S=U=Date.now(),history.replaceState({...history.state,[Y]:S,[te]:U},""));const n=B[S];function a(){n&&(history.scrollRestoration="manual",scrollTo(n.x,n.y))}r?(a(),await qr(Te,r)):(await W({type:"enter",url:Ce(E.hash?Yr(new URL(location.href)):location.href),replace_state:!0}),a()),Fr()}function Nr(){he.length=0,Ve=!1}function yt(e){pe.some(t=>t?.snapshot)&&(ne[e]=pe.map(t=>t?.snapshot?.capture()))}function wt(e){ne[e]?.forEach((t,r)=>{pe[r]?.snapshot?.restore(t)})}function rt(){De(S),Ke(it,B),yt(U),Ke(st,ne)}async function vt(e,t,r,n){let a,o;t.invalidateAll&&me(),await W({type:"goto",url:Ce(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:r,nav_token:n,accept:()=>{if(t.invalidateAll){Ve=!0,a=new Set;for(const[i,s]of et)for(const[c,f]of s)f.resource?.reset(),a.add(ie(i,c));o=new Set;for(const[i,s]of tt)for(const c of s.keys())o.add(ie(i,c))}t.invalidate&&t.invalidate.forEach(Vr)}}),t.invalidateAll&&le().then(le).then(()=>{for(const[i,s]of et)for(const[c,{resource:f}]of s)a?.has(ie(i,c))&&f.start();for(const[i,s]of tt)for(const[c,{resource:f}]of s)o?.has(ie(i,c))&&f.reconnect()})}async function xr(e){if(e.id!==P?.id){me();const t={};ee.add(t),P={id:e.id,token:t,promise:At({...e,preload:t}).then(r=>(ee.delete(t),r.type==="loaded"&&r.state.error&&me(),r)),fork:null}}return P.promise}async function Re(e){const t=(await be(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].filter(Boolean).map(r=>r[1]()))}async function bt(e,t,r){const n={params:w.params,route:{id:w.route?.id??null},url:new URL(location.href)};if(w={...e.state,nav:n},pt(e.props.page),gt=new E.root({target:t,props:{...e.props,stores:$,components:pe},hydrate:r,sync:!1,transformError:void 0}),await Promise.resolve(),r){const a={from:null,to:{...n,scroll:B[S]??q()},willUnload:!1,type:"enter",complete:Promise.resolve()};K.forEach(o=>o(a))}wt(U),_e=!0}async function ge({url:e,params:t,branch:r,errors:n,status:a,error:o,route:i,form:s}){let c="never";if(T&&(e.pathname===T||e.pathname===T+"/"))c="always";else for(const p of r)p?.slash!==void 0&&(c=p.slash);e.pathname=Ot(e.pathname,c),e.search=e.search;const f={type:"loaded",state:{url:e,params:t,branch:r,error:o,route:i},props:{constructors:wr(r).map(p=>p.node.component),page:Ge(I)}};s!==void 0&&(f.props.form=s);let l={},h=!I,d=0;for(let p=0;p<Math.max(r.length,w.branch.length);p+=1){const y=r[p],m=w.branch[p];y?.data!==m?.data&&(h=!0),y&&(l={...l,...y.data},h&&(f.props[`data_${d}`]=l),d+=1)}return(!w.url||e.href!==w.url.href||w.error!==o||s!==void 0&&s!==I.form||h)&&(f.props.page={error:o,params:t,route:{id:i?.id??null},state:{},status:a,url:new URL(e),form:s??null,data:h?l:I.data}),f}async function Fe({loader:e,parent:t,url:r,params:n,route:a,server_data_node:o}){let i=null,s=!0;const c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},f=await e();if(f.universal?.load){let l=function(...d){for(const u of d){const{href:p}=new URL(u,r);c.dependencies.add(p)}};const h={tracing:{enabled:!1,root:Ze,current:Ze},route:new Proxy(a,{get:(d,u)=>(s&&(c.route=!0),d[u])}),params:new Proxy(n,{get:(d,u)=>(s&&c.params.add(u),d[u])}),data:o?.data??null,url:xt(r,()=>{s&&(c.url=!0)},d=>{s&&c.search_params.add(d)},E.hash),async fetch(d,u){d instanceof Request&&(u={body:d.method==="GET"||d.method==="HEAD"?void 0:await d.blob(),cache:d.cache,credentials:d.credentials,headers:[...d.headers].length>0?d?.headers:void 0,integrity:d.integrity,keepalive:d.keepalive,method:d.method,mode:d.mode,redirect:d.redirect,referrer:d.referrer,referrerPolicy:d.referrerPolicy,signal:d.signal,...u});const{resolved:p,promise:y}=Et(d,u,r);return s&&l(p.href),y},setHeaders:C,depends:l,parent(){return s&&(c.parent=!0),t()},untrack(d){s=!1;try{return d()}finally{s=!0}}};i=await f.universal.load.call(null,h)??null}return{node:f,loader:e,server:o,universal:f.universal?.load?{type:"data",data:i,uses:c}:null,data:i??o?.data??null,slash:f.universal?.trailingSlash??o?.slash}}function Et(e,t,r){let n=e instanceof Request?e.url:e;const a=new URL(n,r);a.origin===r.origin&&(n=a.href.slice(r.origin.length));const o=_e?Mt(n,a.href,t):Bt(n,t);return{resolved:a,promise:o}}function nt(e,t,r,n,a,o){if(Ve)return!0;if(!a)return!1;if(a.parent&&e||a.route&&t||a.url&&r)return!0;for(const i of a.search_params)if(n.has(i))return!0;for(const i of a.params)if(o[i]!==w.params[i])return!0;for(const i of a.dependencies)if(he.some(s=>s(new URL(i))))return!0;return!1}function qe(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function Cr(e,t){if(!e)return new Set(t.searchParams.keys());const r=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const n of r){const a=e.searchParams.getAll(n),o=t.searchParams.getAll(n);a.every(i=>o.includes(i))&&o.every(i=>a.includes(i))&&r.delete(n)}return r}function at({error:e,url:t,route:r,params:n}){return{type:"loaded",state:{error:e,url:t,route:r,params:n,branch:[]},props:{page:Ge(I),constructors:[]}}}async function At({id:e,invalidating:t,url:r,params:n,route:a,preload:o}){if(P?.id===e)return ee.delete(P.token),P.promise;const{errors:i,layouts:s,leaf:c}=a,f=[...s,c];i.forEach(g=>g?.().catch(C)),f.forEach(g=>g?.[1]().catch(C));let l=null;const h=w.url?e!==ye(w.url):!1,d=w.route?a.id!==w.route.id:!1,u=Cr(w.url,r);let p=!1;{const g=f.map((v,A)=>{const k=w.branch[A],b=!!v?.[0]&&(k?.loader!==v[1]||nt(p,d,h,u,k.server?.uses,n));return b&&(p=!0),b});if(g.some(Boolean)){try{l=await It(r,g)}catch(v){const A=await F(v,{url:r,params:n,route:{id:e}});return o&&ee.has(o)?at({error:A,url:r,params:n,route:a}):ve({status:ue(v),error:A,url:r,route:a})}if(l.type==="redirect")return l}}const y=l?.nodes;let m=!1;const _=f.map(async(g,v)=>{if(!g)return;const A=w.branch[v],k=y?.[v];if((!k||k.type==="skip")&&g[1]===A?.loader&&!nt(m,d,h,u,A.universal?.uses,n))return A;if(m=!0,k?.type==="error")throw k;return Fe({loader:g[1],url:r,params:n,route:a,parent:async()=>{const N={};for(let M=0;M<v;M+=1)Object.assign(N,(await _[M])?.data);return N},server_data_node:qe(k===void 0&&g[0]?{type:"skip"}:k??null,g[0]?A?.server:void 0)})});for(const g of _)g.catch(C);const R=[];for(let g=0;g<f.length;g+=1)if(f[g])try{R.push(await _[g])}catch(v){if(v instanceof je)return{type:"redirect",location:v.location};if(o&&ee.has(o))return at({error:await F(v,{params:n,url:r,route:{id:a.id}}),url:r,params:n,route:a});let A=ue(v),k;if(y?.includes(v))A=v.status??A,k=v.error;else if(v instanceof oe)k=v.body;else{if(await $.updated.check())return await mt(),await J(r);k=await F(v,{params:n,url:r,route:{id:a.id}})}const b=await Dr(g,R,i);return b?ge({url:r,params:n,branch:R.slice(0,b.idx).concat(b.node),errors:i,status:A,error:k,route:a}):await St(r,{id:a.id},k,A)}else R.push(void 0);return ge({url:r,params:n,branch:R,errors:i,status:200,error:null,route:a,form:t?void 0:null})}async function Dr(e,t,r){for(;e--;)if(r[e]){let n=e;for(;!t[n];)n-=1;try{return{idx:n+1,node:{node:await r[e](),loader:r[e],data:{},server:null,universal:null}}}catch{continue}}}async function ve({status:e,error:t,url:r,route:n}){const a={};let o=null;if(E.server_loads[0]===0)try{const s=await It(r,[!0]);if(s.type!=="data"||s.nodes[0]&&s.nodes[0].type!=="data")throw 0;o=s.nodes[0]??null}catch(s){if(!(s instanceof oe&&s.status===404)&&(r.origin!==se||r.pathname!==location.pathname||Me))return await J(r)}try{const i=await Fe({loader:Ue,url:r,params:a,route:n,parent:()=>Promise.resolve({}),server_data_node:qe(o)}),s={node:await de(),loader:de,universal:null,server:null,data:null};return ge({url:r,params:a,branch:[i,s],status:e,error:t,errors:[],route:null})}catch(i){if(i instanceof je){await vt(new URL(i.location,location.href),{},0);return}const s=await E.get_error_template(),c=await F(i,{url:r,params:a,route:n}),f=String(c?.message??"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),l=s({status:e,message:f}),h=new DOMParser().parseFromString(l,"text/html");throw document.documentElement.replaceChild(document.adoptNode(h.head),document.head),document.documentElement.replaceChild(document.adoptNode(h.body),document.body),i}}async function $r(e){const t=e.href;if(ce.has(t))return ce.get(t);let r;try{const n=(async()=>{let a=await E.hooks.reroute({url:new URL(e),fetch:async(o,i)=>Et(o,i,e).promise})??e;if(typeof a=="string"){const o=new URL(e);E.hash?o.hash=a:o.pathname=a,a=o}return a})();ce.set(t,n),r=await n}catch{ce.delete(t);return}return r}async function be(e,t){if(e&&!we(e,T,E.hash)){const r=await $r(e);if(!r)return;const n=Br(r);for(const a of $e){const o=a.exec(n);if(o)return{id:ye(e),invalidating:t,route:a,params:Nt(o),url:e}}}}function Br(e){return jt(E.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(T.length))||"/"}function ye(e){return(E.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function kt({url:e,type:t,intent:r,delta:n,event:a,scroll:o}){let i=!1;const s=He(w,r,e,t,o??null);n!==void 0&&(s.navigation.delta=n),a!==void 0&&(s.navigation.event=a);const c={...s.navigation,cancel:()=>{i=!0,s.reject(new Error("navigation cancelled"))}};return ae||Be.forEach(f=>f(c)),i?null:s}async function W({type:e,url:t,popped:r,keepfocus:n,noscroll:a,replace_state:o,state:i={},redirect_count:s=0,nav_token:c={},accept:f=C,block:l=C,event:h}){const d=D;D=c;const u=await be(t,!1),p=e==="enter"?He(w,u,t,e):kt({url:t,type:e,delta:r?.delta,intent:u,scroll:r?.scroll,event:h});if(!p){l(),D===c&&(D=d);return}const y=S,m=U;f(),ae=!0,_e&&p.navigation.type!=="enter"&&$.navigating.set(re.current=p.navigation);let _=u&&await At(u);if(!_){if(we(t,T,E.hash))return await J(t,o);_=await St(t,{id:null},await F(new Ne(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,o)}if(t=u?.url||t,D!==c){p.reject(new Error("navigation aborted"));return}if(!_)return;if(_.type==="redirect"){if(s<20){await W({type:e,url:new URL(_.location,t),popped:r,keepfocus:n,noscroll:a,replace_state:o,state:i,redirect_count:s+1,nav_token:c}),p.fulfil(void 0);return}if(_=await ve({status:500,error:await F(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}}),!_)return}else if(_.props.page.status>=400&&await $.updated.check())return await mt(),await J(t,o);if(Nr(),De(y),yt(m),_.props.page.url.pathname!==t.pathname&&(t.pathname=_.props.page.url.pathname),i=r?r.state:i,!r){const b=o?0:1,N={[Y]:S+=b,[te]:U+=b,[ct]:i};(o?history.replaceState:history.pushState).call(history,N,"",t),o||Or(S,U)}const R=u&&P?.id===u.id?P.fork:null;P?.fork&&!R?me():(P=null,G={element:void 0,href:void 0}),_.props.page.state=i;let g;if(_e){const b=(await Promise.all(Array.from(jr,X=>X(p.navigation)))).filter(X=>typeof X=="function");if(b.length>0){let X=function(){b.forEach(Ee=>{K.delete(Ee)})};b.push(X),b.forEach(Ee=>{K.add(Ee)})}const N=p.navigation.to;w={..._.state,nav:{params:N.params,route:N.route,url:N.url}},_.props.page&&(_.props.page.url=t),!n&&document.activeElement instanceof HTMLElement&&document.activeElement!==document.body&&document.activeElement.blur();const M=R&&await R;M?g=M.commit():(z=null,gt.$set(_.props),z&&Object.assign(_.props.page,z),pt(_.props.page),g=Lt?.()),_t=!0}else await bt(_,Te,!1);const{activeElement:v}=document;if(await g,await le(),await le(),D!==c){p.reject(new Error("navigation aborted"));return}_.props.page&&z&&Object.assign(_.props.page,z);let A=null;if(Qe){const b=r?r.scroll:a?q():null;b?scrollTo(b.x,b.y):(A=t.hash&&document.getElementById(Ut(t)))?A.scrollIntoView():scrollTo(0,0)}const k=document.activeElement!==v&&document.activeElement!==document.body;!n&&!k&&Gr(t,!A),Qe=!0,ae=!1,p.fulfil(void 0),p.navigation.to&&(p.navigation.to.scroll=q()),K.forEach(b=>b(p.navigation)),e==="popstate"&&wt(U),$.navigating.set(re.current=null)}async function St(e,t,r,n,a){return e.origin===se&&e.pathname===location.pathname&&!Me?await ve({status:n,error:r,url:e,route:t}):await J(e,a)}let G={element:void 0,href:void 0};function Mr(){let e,t;x.addEventListener("mousemove",i=>{const s=i.target;clearTimeout(e),e=setTimeout(()=>{a(s,V.hover)},20)});function r(i){i.defaultPrevented||a(i.composedPath()[0],V.tap)}x.addEventListener("mousedown",r),x.addEventListener("touchstart",r,{passive:!0});const n=new IntersectionObserver(i=>{for(const s of i)s.isIntersecting&&(Re(new URL(s.target.href)),n.unobserve(s.target))},{threshold:0});async function a(i,s){const c=ft(i,x),f=c===G.element&&c?.href===G.href&&s>=t;if(!c||f)return;const{url:l,external:h,download:d}=Ie(c,T,E.hash);if(h||d)return;const u=fe(c),p=l&&ye(w.url)===ye(l);if(!(u.reload||p))if(s<=u.preload_data){G={element:c,href:c.href},t=V.tap;const y=await be(l,!1);if(!y)return;xr(y)}else s<=u.preload_code&&(G={element:c,href:c.href},t=s,Re(l))}function o(){n.disconnect();for(const i of x.querySelectorAll("a")){const{url:s,external:c,download:f}=Ie(i,T,E.hash);if(c||f)continue;const l=fe(i);l.reload||(l.preload_code===V.viewport&&n.observe(i),l.preload_code===V.eager&&Re(s))}}K.add(o),o()}function F(e,t){if(e instanceof oe)return e.body;const r=ue(e),n=Er(e);return E.hooks.handleError({error:e,event:t,status:r,message:n})??{message:n}}function Rt(e,t){Tr(()=>(e.add(t),()=>{e.delete(t)}))}function Qr(e){Rt(K,e)}function en(e){Rt(Be,e)}function tn(e,t={}){return e=new URL(Ce(e)),e.origin!==se?Promise.reject(new Error("goto: invalid URL")):vt(e,t,0)}function Vr(e){if(typeof e=="function")he.push(e);else{const{href:t}=new URL(e,location.href);he.push(r=>r.href===t)}}function Fr(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let r=!1;if(rt(),!ae){const n=He(w,void 0,null,"leave"),a={...n.navigation,cancel:()=>{r=!0,n.reject(new Error("navigation cancelled"))}};Be.forEach(o=>o(a))}r?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&rt()}),navigator.connection?.saveData||Mr(),x.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const r=ft(t.composedPath()[0],x);if(!r)return;const{url:n,external:a,target:o,download:i}=Ie(r,T,E.hash);if(!n)return;if(o==="_parent"||o==="_top"){if(window.parent!==window)return}else if(o&&o!=="_self")return;const s=fe(r);if(!(r instanceof SVGAElement)&&n.protocol!==location.protocol&&!(n.protocol==="https:"||n.protocol==="http:")||i)return;const[f,l]=(E.hash?n.hash.replace(/^#/,""):n.href).split("#"),h=f===Ae(location);if(a||s.reload&&(!h||!l)){kt({url:n,type:"link",event:t})?ae=!0:t.preventDefault();return}if(l!==void 0&&h){const[,d]=w.url.href.split("#");if(d===l){if(t.preventDefault(),l===""||l==="top"&&r.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const u=r.ownerDocument.getElementById(decodeURIComponent(l));u&&(u.scrollIntoView(),u.focus())}return}if(Z=!0,De(S),e(n),!s.replace_state)return;Z=!1}t.preventDefault(),await new Promise(d=>{requestAnimationFrame(()=>{setTimeout(d,0)}),setTimeout(d,100)}),await W({type:"link",url:n,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??n.href===location.href,event:t})}),x.addEventListener("submit",t=>{if(t.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(t.target),n=t.submitter;if((n?.formTarget||r.target)==="_blank"||(n?.formMethod||r.method)!=="get")return;const i=new URL(n?.hasAttribute("formaction")&&n?.formAction||r.action);if(we(i,T,!1))return;const s=t.target,c=fe(s);if(c.reload)return;t.preventDefault(),t.stopPropagation();const f=new FormData(s,n);i.search=new URLSearchParams(f).toString(),W({type:"form",url:i,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??i.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!Le){if(t.state?.[Y]){const r=t.state[Y];if(D={},r===S)return;const n=B[r],a=t.state[ct]??{},o=new URL(t.state[Xt]??location.href),i=t.state[te],s=w.url?Ae(location)===Ae(w.url):!1;if(i===U&&(_t||s)){a!==I.state&&(I.state=a),e(o),B[S]=q(),n&&scrollTo(n.x,n.y),S=r;return}const f=r-S;await W({type:"popstate",url:o,popped:{state:a,scroll:n,delta:f},accept:()=>{S=r,U=i},block:()=>{history.go(-f)},nav_token:D,event:t})}else if(!Z){const r=new URL(location.href);e(r),E.hash&&location.reload()}}}),addEventListener("hashchange",()=>{Z&&(Z=!1,history.replaceState({...history.state,[Y]:++S,[te]:U},"",location.href))});for(const t of document.querySelectorAll("link"))Lr.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&$.navigating.set(re.current=null)});function e(t){w.url=I.url=t,$.page.set(Ge(I)),$.page.notify()}}async function qr(e,{status:t=200,error:r,node_ids:n,params:a,route:o,server_route:i,data:s,form:c}){Me=!0;const f=new URL(location.href);let l;({params:a={},route:o={id:null}}=await be(f,!1)||{}),l=$e.find(({id:u})=>u===o.id);let h,d=!0;try{const u=n.map(async(y,m)=>{const _=s[m];return _?.uses&&(_.uses=Pt(_.uses)),Fe({loader:E.nodes[y],url:f,params:a,route:o,parent:async()=>{const R={};for(let g=0;g<m;g+=1)Object.assign(R,(await u[g]).data);return R},server_data_node:qe(_)})}),p=await Promise.all(u);if(l){const y=l.layouts;for(let m=0;m<y.length;m++)y[m]||p.splice(m,0,void 0)}h=await ge({url:f,params:a,branch:p,status:t,error:r,errors:l?.errors,form:c,route:l??null})}catch(u){if(u instanceof je)return await J(new URL(u.location,location.href));h=await ve({status:ue(u),error:await F(u,{url:f,params:a,route:o}),url:f,route:o}),e.textContent="",d=!1}h&&(h.props.page&&(h.props.page.state={}),await bt(h,e,d))}async function It(e,t){const r=new URL(e);r.pathname=Rr(e.pathname),e.pathname.endsWith("/")&&r.searchParams.append(br,"1"),r.searchParams.append(vr,t.map(o=>o?"1":"0").join(""));const n=window.fetch,a=await n(r.href,{});if(!a.ok){let o;throw a.headers.get("content-type")?.includes("application/json")?o=await a.json():a.status===404?o="Not Found":a.status===500&&(o="Internal Error"),new oe(a.status,o)}return new Promise((o,i)=>{Hr(o,a).catch(i)})}async function Hr(e,t){const r=t.body.getReader(),n=new Map;function a(o){return gr(o,{...E.decoders,Promise:i=>new Promise((s,c)=>{n.set(i,{fulfil:s,reject:c})})})}for await(const o of Ur(r)){if(o.type==="redirect")return e(o);if(o.type==="data")o.nodes?.forEach(i=>{i?.type==="data"&&(i.uses=Pt(i.uses),i.data=a(i.data))}),e(o);else if(o.type==="chunk"){const{id:i,data:s,error:c}=o,f=n.get(i);n.delete(i),c?f.reject(a(c)):f.fulfil(a(s))}}}function Pt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let Le=!1;function Gr(e,t=!0){const r=document.querySelector("[autofocus]");if(r)r.focus();else{const n=Ut(e);if(n&&document.getElementById(n)){const{x:o,y:i}=q();setTimeout(()=>{const s=history.state;Le=!0,location.replace(new URL(`#${n}`,location.href)),history.replaceState(s,"",e),t&&scrollTo(o,i),Le=!1})}else{const o=document.body,i=o.getAttribute("tabindex");o.tabIndex=-1,o.focus({preventScroll:!0,focusVisible:!1}),i!==null?o.setAttribute("tabindex",i):o.removeAttribute("tabindex")}const a=getSelection();if(a&&a.type!=="None"){const o=[];for(let i=0;i<a.rangeCount;i+=1)o.push(a.getRangeAt(i));setTimeout(()=>{if(a.rangeCount===o.length){for(let i=0;i<a.rangeCount;i+=1){const s=o[i],c=a.getRangeAt(i);if(s.commonAncestorContainer!==c.commonAncestorContainer||s.startContainer!==c.startContainer||s.endContainer!==c.endContainer||s.startOffset!==c.startOffset||s.endOffset!==c.endOffset)return}a.removeAllRanges()}})}}}function He(e,t,r,n,a=null){let o,i;const s=new Promise((f,l)=>{o=f,i=l});return s.catch(C),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url,scroll:q()},to:r&&{params:t?.params??null,route:{id:t?.route?.id??null},url:r,scroll:a},willUnload:!t,type:n,complete:s},fulfil:o,reject:i}}function Ge(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function Yr(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function Ut(e){let t;if(E.hash){const[,,r]=e.hash.split("#",3);t=r??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{Qr as a,en as b,Zr as c,tn as g,Wr as l,I as p,$ as s,Se as u};
3
+ //# sourceMappingURL=CM0CI9GL.js.map