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
package/CLAUDE.md CHANGED
@@ -258,7 +258,10 @@ to every other check, so adding a detector there costs no extra `tmux` calls.
258
258
  `draft_input`, `draft_kind`, `pane_queue`, `pane_choice`, `pane_login`, `pane_rewind` and `pane_update` (Claude
259
259
  Code's notice about its own update, which `readUpdateNotice()` finds in the
260
260
  footer below the box, or right-aligned just above the box in the fullscreen
261
- layout; an "Update available! Run: …" notice carries its `command` when it is
261
+ layout; an "Update installed · /restart to apply" notice has the status line's
262
+ button type `/restart` while idle, Claude Code's own restart, which resumes
263
+ the same session in the same process, where the older "Restart to apply"
264
+ gets claude-mux's kill-and-resume; an "Update available! Run: …" notice carries its `command` when it is
262
265
  one of the known upgrade commands, and the status line's button then has
263
266
  `upgradeThenRestart()` type it into Claude Code as a `!` shell line, wait for
264
267
  the shell Claude Code runs it in (a child of its process whose argv carries
@@ -2,5 +2,5 @@
2
2
  * Central version constant for claude-watch.
3
3
  * Keep in sync with package.json version.
4
4
  */
5
- export declare const VERSION = "0.30.12";
5
+ export declare const VERSION = "0.30.13";
6
6
  //# sourceMappingURL=version.d.ts.map
@@ -2,5 +2,5 @@
2
2
  * Central version constant for claude-watch.
3
3
  * Keep in sync with package.json version.
4
4
  */
5
- export const VERSION = "0.30.12";
5
+ export const VERSION = "0.30.13";
6
6
  //# sourceMappingURL=version.js.map
@@ -1,2 +1,2 @@
1
- import{i as s,s as a}from"./CFKTes94.js";async function i(o,n,r){let t;try{t=await fetch(`${o}/api/past/${encodeURIComponent(n)}/resume`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r?{cwd:r}:{})})}catch{return{kind:"error",message:"The machine did not answer."}}const e=await t.json().catch(()=>({}));return t.ok&&typeof e.tmuxTarget=="string"?{kind:"ok",tmuxTarget:e.tmuxTarget,live:!!e.live}:t.status===409?{kind:"folder-gone",cwd:e.cwd??null,root:e.root??null}:{kind:"error",message:[e.error,e.detail].filter(Boolean).join(": ")||`Resume failed (${t.status}).`}}async function u(o,n,r,t){const e=await i(n,r,t);return e.kind==="folder-gone"?e.root&&!t?{kind:"offer-root",cwd:e.cwd,root:e.root}:{kind:"error",message:`${e.cwd??"The folder it ran in"} is gone, and no project folder holds it.`}:e.kind==="error"?e:(o&&s(o,r)&&a(o,r,!1),{kind:"ok",tmuxTarget:e.tmuxTarget})}export{u as r};
2
- //# sourceMappingURL=BvumWaKv.js.map
1
+ import{i as s,s as a}from"./CtjkAirr.js";async function i(o,n,r){let t;try{t=await fetch(`${o}/api/past/${encodeURIComponent(n)}/resume`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r?{cwd:r}:{})})}catch{return{kind:"error",message:"The machine did not answer."}}const e=await t.json().catch(()=>({}));return t.ok&&typeof e.tmuxTarget=="string"?{kind:"ok",tmuxTarget:e.tmuxTarget,live:!!e.live}:t.status===409?{kind:"folder-gone",cwd:e.cwd??null,root:e.root??null}:{kind:"error",message:[e.error,e.detail].filter(Boolean).join(": ")||`Resume failed (${t.status}).`}}async function u(o,n,r,t){const e=await i(n,r,t);return e.kind==="folder-gone"?e.root&&!t?{kind:"offer-root",cwd:e.cwd,root:e.root}:{kind:"error",message:`${e.cwd??"The folder it ran in"} is gone, and no project folder holds it.`}:e.kind==="error"?e:(o&&s(o,r)&&a(o,r,!1),{kind:"ok",tmuxTarget:e.tmuxTarget})}export{u as r};
2
+ //# sourceMappingURL=BQQ3-rqs.js.map
@@ -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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"}