claude-mux 0.30.17 → 0.30.18

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 (311) hide show
  1. package/CLAUDE.md +4 -1
  2. package/dist/server/files.d.ts +17 -8
  3. package/dist/server/files.d.ts.map +1 -1
  4. package/dist/server/files.js +34 -13
  5. package/dist/server/files.js.map +1 -1
  6. package/dist/utils/version.d.ts +1 -1
  7. package/dist/utils/version.js +1 -1
  8. package/dist/web/client/_app/immutable/chunks/{DaHtWhKv.js → 0B8apWdk.js} +2 -2
  9. package/{web/.svelte-kit/output/client/_app/immutable/chunks/DaHtWhKv.js.map → dist/web/client/_app/immutable/chunks/0B8apWdk.js.map} +1 -1
  10. package/dist/web/client/_app/immutable/chunks/{CFTsn0cO.js → BNTl7TWM.js} +2 -2
  11. package/dist/web/client/_app/immutable/chunks/{CFTsn0cO.js.map → BNTl7TWM.js.map} +1 -1
  12. package/dist/web/client/_app/immutable/chunks/{L8MaQ4NY.js → BZO8BywM.js} +2 -2
  13. package/dist/web/client/_app/immutable/chunks/{L8MaQ4NY.js.map → BZO8BywM.js.map} +1 -1
  14. package/dist/web/client/_app/immutable/chunks/{DDBYJLf4.js → B__yrn_5.js} +2 -2
  15. package/dist/web/client/_app/immutable/chunks/{DDBYJLf4.js.map → B__yrn_5.js.map} +1 -1
  16. package/{web/.svelte-kit/output/client/_app/immutable/chunks/C6ZyFG8P.js → dist/web/client/_app/immutable/chunks/Bgn20b6r.js} +2 -2
  17. package/{web/.svelte-kit/output/client/_app/immutable/chunks/C6ZyFG8P.js.map → dist/web/client/_app/immutable/chunks/Bgn20b6r.js.map} +1 -1
  18. package/dist/web/client/_app/immutable/chunks/{hOwUJj23.js → BjADSig5.js} +2 -2
  19. package/{web/.svelte-kit/output/client/_app/immutable/chunks/hOwUJj23.js.map → dist/web/client/_app/immutable/chunks/BjADSig5.js.map} +1 -1
  20. package/dist/web/client/_app/immutable/chunks/{Dy-q64qo.js → C5ZKoTYj.js} +2 -2
  21. package/dist/web/client/_app/immutable/chunks/{Dy-q64qo.js.map → C5ZKoTYj.js.map} +1 -1
  22. package/dist/web/client/_app/immutable/chunks/{Cbj-Dkzf.js → C8QS5N1A.js} +2 -2
  23. package/dist/web/client/_app/immutable/chunks/{Cbj-Dkzf.js.map → C8QS5N1A.js.map} +1 -1
  24. package/dist/web/client/_app/immutable/chunks/CSZ1QzGz.js +6 -0
  25. package/dist/web/client/_app/immutable/chunks/CSZ1QzGz.js.map +1 -0
  26. package/{web/.svelte-kit/output/client/_app/immutable/chunks/DKTKjZGd.js → dist/web/client/_app/immutable/chunks/Clh5663m.js} +2 -2
  27. package/{web/.svelte-kit/output/client/_app/immutable/chunks/DKTKjZGd.js.map → dist/web/client/_app/immutable/chunks/Clh5663m.js.map} +1 -1
  28. package/{web/.svelte-kit/output/client/_app/immutable/chunks/DzWaNfcS.js → dist/web/client/_app/immutable/chunks/DBa2iaI5.js} +3 -3
  29. package/dist/web/client/_app/immutable/chunks/{DzWaNfcS.js.map → DBa2iaI5.js.map} +1 -1
  30. package/{web/.svelte-kit/output/client/_app/immutable/chunks/CjD3FWJ6.js → dist/web/client/_app/immutable/chunks/DPz-1th-.js} +2 -2
  31. package/{web/.svelte-kit/output/client/_app/immutable/chunks/CjD3FWJ6.js.map → dist/web/client/_app/immutable/chunks/DPz-1th-.js.map} +1 -1
  32. package/dist/web/client/_app/immutable/chunks/{CoKHoj5A.js → YIyC5BHr.js} +2 -2
  33. package/dist/web/client/_app/immutable/chunks/{CoKHoj5A.js.map → YIyC5BHr.js.map} +1 -1
  34. package/dist/web/client/_app/immutable/chunks/{BoI74ykb.js → k81gJocT.js} +2 -2
  35. package/dist/web/client/_app/immutable/chunks/{BoI74ykb.js.map → k81gJocT.js.map} +1 -1
  36. package/{web/.svelte-kit/output/client/_app/immutable/chunks/DWcm_GIT.js → dist/web/client/_app/immutable/chunks/oHVjHnky.js} +2 -2
  37. package/{web/.svelte-kit/output/client/_app/immutable/chunks/DWcm_GIT.js.map → dist/web/client/_app/immutable/chunks/oHVjHnky.js.map} +1 -1
  38. package/dist/web/client/_app/immutable/entry/{app.C3WWIdPa.js → app.C2cUkw3c.js} +3 -3
  39. package/{web/.svelte-kit/output/client/_app/immutable/entry/app.C3WWIdPa.js.map → dist/web/client/_app/immutable/entry/app.C2cUkw3c.js.map} +1 -1
  40. package/dist/web/client/_app/immutable/entry/start.f6Mn6zms.js +2 -0
  41. package/dist/web/client/_app/immutable/entry/start.f6Mn6zms.js.map +1 -0
  42. package/{web/.svelte-kit/output/client/_app/immutable/nodes/0.3cWvYdnS.js → dist/web/client/_app/immutable/nodes/0.DS9w6r6Z.js} +2 -2
  43. package/dist/web/client/_app/immutable/nodes/{0.3cWvYdnS.js.map → 0.DS9w6r6Z.js.map} +1 -1
  44. package/dist/web/client/_app/immutable/nodes/{1.Qikg9O1S.js → 1.DIyfeN5P.js} +2 -2
  45. package/dist/web/client/_app/immutable/nodes/{1.Qikg9O1S.js.map → 1.DIyfeN5P.js.map} +1 -1
  46. package/dist/web/client/_app/immutable/nodes/{2.DDfWXz6l.js → 2.z2AOY4oV.js} +2 -2
  47. package/dist/web/client/_app/immutable/nodes/{2.DDfWXz6l.js.map → 2.z2AOY4oV.js.map} +1 -1
  48. package/dist/web/client/_app/immutable/nodes/{3.g9LLshn7.js → 3.9gvYW2fW.js} +2 -2
  49. package/dist/web/client/_app/immutable/nodes/{3.g9LLshn7.js.map → 3.9gvYW2fW.js.map} +1 -1
  50. package/dist/web/client/_app/immutable/nodes/{4.1LIZP8Gv.js → 4.qixumveN.js} +2 -2
  51. package/dist/web/client/_app/immutable/nodes/{4.1LIZP8Gv.js.map → 4.qixumveN.js.map} +1 -1
  52. package/dist/web/client/_app/immutable/nodes/{5.-kyFHZZC.js → 5.DUWYU66O.js} +2 -2
  53. package/dist/web/client/_app/immutable/nodes/{5.-kyFHZZC.js.map → 5.DUWYU66O.js.map} +1 -1
  54. package/dist/web/client/_app/immutable/nodes/{6.Bki05ybO.js → 6.B9AhpXhU.js} +2 -2
  55. package/{web/.svelte-kit/output/client/_app/immutable/nodes/6.Bki05ybO.js.map → dist/web/client/_app/immutable/nodes/6.B9AhpXhU.js.map} +1 -1
  56. package/dist/web/client/_app/immutable/nodes/{7.BybPjK7P.js → 7.Dz1K3KPS.js} +2 -2
  57. package/dist/web/client/_app/immutable/nodes/{7.BybPjK7P.js.map → 7.Dz1K3KPS.js.map} +1 -1
  58. package/dist/web/client/_app/immutable/nodes/{8.DZnC2EyL.js → 8.fUfD6OXM.js} +2 -2
  59. package/dist/web/client/_app/immutable/nodes/{8.DZnC2EyL.js.map → 8.fUfD6OXM.js.map} +1 -1
  60. package/dist/web/client/_app/immutable/nodes/{9.CzMUh8dK.js → 9.BsNjhC_q.js} +2 -2
  61. package/dist/web/client/_app/immutable/nodes/{9.CzMUh8dK.js.map → 9.BsNjhC_q.js.map} +1 -1
  62. package/dist/web/client/_app/version.json +1 -1
  63. package/dist/web/server/chunks/{0-RLZ8BVyi.js → 0-DBvEOCM7.js} +14 -14
  64. package/dist/web/server/chunks/{0-RLZ8BVyi.js.map → 0-DBvEOCM7.js.map} +1 -1
  65. package/dist/web/server/chunks/{1-BLWFX73z.js → 1-BnKLycEf.js} +4 -4
  66. package/dist/web/server/chunks/{1-BLWFX73z.js.map → 1-BnKLycEf.js.map} +1 -1
  67. package/dist/web/server/chunks/{2-BpdZvgKr.js → 2-oQf6lELf.js} +13 -13
  68. package/dist/web/server/chunks/{2-BpdZvgKr.js.map → 2-oQf6lELf.js.map} +1 -1
  69. package/dist/web/server/chunks/{3-8z1SPziM.js → 3-IhdW_zbc.js} +10 -10
  70. package/dist/web/server/chunks/{3-8z1SPziM.js.map → 3-IhdW_zbc.js.map} +1 -1
  71. package/dist/web/server/chunks/{4-DsZtVI3l.js → 4-EEa16FJ6.js} +12 -12
  72. package/dist/web/server/chunks/{4-DsZtVI3l.js.map → 4-EEa16FJ6.js.map} +1 -1
  73. package/dist/web/server/chunks/{5-UNYWzO0n.js → 5-DoP0wpil.js} +9 -9
  74. package/dist/web/server/chunks/{5-UNYWzO0n.js.map → 5-DoP0wpil.js.map} +1 -1
  75. package/dist/web/server/chunks/{6-7e7jIuhD.js → 6-Ci1QUcBH.js} +5 -5
  76. package/dist/web/server/chunks/{6-7e7jIuhD.js.map → 6-Ci1QUcBH.js.map} +1 -1
  77. package/dist/web/server/chunks/{7-DLQ4Hc66.js → 7-CDcvEQYV.js} +10 -10
  78. package/dist/web/server/chunks/{7-DLQ4Hc66.js.map → 7-CDcvEQYV.js.map} +1 -1
  79. package/dist/web/server/chunks/{8-BVzq-1Nb.js → 8-DGuDFZJp.js} +12 -12
  80. package/dist/web/server/chunks/{8-BVzq-1Nb.js.map → 8-DGuDFZJp.js.map} +1 -1
  81. package/dist/web/server/chunks/{9-5lWWyPHx.js → 9-EbsvnkW9.js} +9 -9
  82. package/dist/web/server/chunks/{9-5lWWyPHx.js.map → 9-EbsvnkW9.js.map} +1 -1
  83. package/dist/web/server/chunks/{_layout.svelte-BuXCHo_2.js → _layout.svelte-CfNOzXa3.js} +4 -4
  84. package/dist/web/server/chunks/{_layout.svelte-BuXCHo_2.js.map → _layout.svelte-CfNOzXa3.js.map} +1 -1
  85. package/dist/web/server/chunks/{_page.svelte-oVExp2Yh.js → _page.svelte-BF_tSzwu.js} +3 -3
  86. package/dist/web/server/chunks/{_page.svelte-oVExp2Yh.js.map → _page.svelte-BF_tSzwu.js.map} +1 -1
  87. package/dist/web/server/chunks/{_page.svelte-BVjgnuUa.js → _page.svelte-Dxac4woh.js} +5 -5
  88. package/dist/web/server/chunks/{_page.svelte-BVjgnuUa.js.map → _page.svelte-Dxac4woh.js.map} +1 -1
  89. package/dist/web/server/chunks/{_server.ts-BDoRLbcY.js → _server.ts-BIsNX_md.js} +3 -3
  90. package/dist/web/server/chunks/{_server.ts-BDoRLbcY.js.map → _server.ts-BIsNX_md.js.map} +1 -1
  91. package/dist/web/server/chunks/{_server.ts-8_dVsyaT.js → _server.ts-BXodeBnp.js} +2 -2
  92. package/dist/web/server/chunks/{_server.ts-8_dVsyaT.js.map → _server.ts-BXodeBnp.js.map} +1 -1
  93. package/dist/web/server/chunks/{_server.ts-8hKaEZQB.js → _server.ts-BY9hXtt9.js} +3 -3
  94. package/dist/web/server/chunks/{_server.ts-8hKaEZQB.js.map → _server.ts-BY9hXtt9.js.map} +1 -1
  95. package/dist/web/server/chunks/{_server.ts-Dh6JuhUm.js → _server.ts-Bif1RVCd.js} +4 -4
  96. package/dist/web/server/chunks/_server.ts-Bif1RVCd.js.map +1 -0
  97. package/dist/web/server/chunks/{_server.ts-CX4yX9B2.js → _server.ts-BkeXTYQO.js} +4 -3
  98. package/dist/web/server/chunks/_server.ts-BkeXTYQO.js.map +1 -0
  99. package/dist/web/server/chunks/{_server.ts-De62trGJ.js → _server.ts-BmeaJMsy.js} +2 -2
  100. package/dist/web/server/chunks/{_server.ts-De62trGJ.js.map → _server.ts-BmeaJMsy.js.map} +1 -1
  101. package/dist/web/server/chunks/{_server.ts-CgGPWLAJ.js → _server.ts-BoVl1cQv.js} +2 -2
  102. package/dist/web/server/chunks/{_server.ts-CgGPWLAJ.js.map → _server.ts-BoVl1cQv.js.map} +1 -1
  103. package/dist/web/server/chunks/{_server.ts-BhYp-oPw.js → _server.ts-BsfEM12B.js} +2 -2
  104. package/dist/web/server/chunks/{_server.ts-BhYp-oPw.js.map → _server.ts-BsfEM12B.js.map} +1 -1
  105. package/dist/web/server/chunks/{_server.ts-DfuYMMXD.js → _server.ts-CKvAUwU_.js} +2 -2
  106. package/dist/web/server/chunks/{_server.ts-DfuYMMXD.js.map → _server.ts-CKvAUwU_.js.map} +1 -1
  107. package/dist/web/server/chunks/{_server.ts-eRbGNyMc.js → _server.ts-CMwUDmKM.js} +3 -3
  108. package/dist/web/server/chunks/{_server.ts-eRbGNyMc.js.map → _server.ts-CMwUDmKM.js.map} +1 -1
  109. package/dist/web/server/chunks/{_server.ts-BLMonjYH.js → _server.ts-CQEnuBR8.js} +3 -3
  110. package/dist/web/server/chunks/{_server.ts-BLMonjYH.js.map → _server.ts-CQEnuBR8.js.map} +1 -1
  111. package/dist/web/server/chunks/{_server.ts-Ui8DQ0Z5.js → _server.ts-CUO9PGHg.js} +3 -3
  112. package/dist/web/server/chunks/{_server.ts-Ui8DQ0Z5.js.map → _server.ts-CUO9PGHg.js.map} +1 -1
  113. package/dist/web/server/chunks/{_server.ts-DmfSj3xe.js → _server.ts-CcEVcESY.js} +2 -2
  114. package/dist/web/server/chunks/{_server.ts-DmfSj3xe.js.map → _server.ts-CcEVcESY.js.map} +1 -1
  115. package/dist/web/server/chunks/{_server.ts-66p25KlU.js → _server.ts-CkBba_LG.js} +2 -2
  116. package/dist/web/server/chunks/{_server.ts-66p25KlU.js.map → _server.ts-CkBba_LG.js.map} +1 -1
  117. package/dist/web/server/chunks/{_server.ts-Cb2S9fyU.js → _server.ts-CnWB07bc.js} +2 -2
  118. package/dist/web/server/chunks/{_server.ts-Cb2S9fyU.js.map → _server.ts-CnWB07bc.js.map} +1 -1
  119. package/dist/web/server/chunks/{_server.ts-BvPh7dB1.js → _server.ts-Co5--ts6.js} +2 -2
  120. package/dist/web/server/chunks/{_server.ts-BvPh7dB1.js.map → _server.ts-Co5--ts6.js.map} +1 -1
  121. package/dist/web/server/chunks/{_server.ts-C9xmXQv4.js → _server.ts-CwWvw0FV.js} +2 -2
  122. package/dist/web/server/chunks/{_server.ts-C9xmXQv4.js.map → _server.ts-CwWvw0FV.js.map} +1 -1
  123. package/dist/web/server/chunks/{_server.ts-D9hAqoNi.js → _server.ts-Cx-oBE2i.js} +2 -2
  124. package/dist/web/server/chunks/{_server.ts-D9hAqoNi.js.map → _server.ts-Cx-oBE2i.js.map} +1 -1
  125. package/dist/web/server/chunks/{_server.ts-Wq4GXD0G.js → _server.ts-D0Sy2Wz8.js} +2 -2
  126. package/dist/web/server/chunks/{_server.ts-Wq4GXD0G.js.map → _server.ts-D0Sy2Wz8.js.map} +1 -1
  127. package/dist/web/server/chunks/{_server.ts-CqR0Gjgg.js → _server.ts-D8y5eUxZ.js} +2 -2
  128. package/dist/web/server/chunks/{_server.ts-CqR0Gjgg.js.map → _server.ts-D8y5eUxZ.js.map} +1 -1
  129. package/dist/web/server/chunks/{_server.ts-DbVrl3VR.js → _server.ts-DZGe0vXL.js} +2 -2
  130. package/dist/web/server/chunks/{_server.ts-DbVrl3VR.js.map → _server.ts-DZGe0vXL.js.map} +1 -1
  131. package/dist/web/server/chunks/{_server.ts-DXUly9iz.js → _server.ts-DlmHXQ-S.js} +3 -3
  132. package/dist/web/server/chunks/{_server.ts-DXUly9iz.js.map → _server.ts-DlmHXQ-S.js.map} +1 -1
  133. package/dist/web/server/chunks/{_server.ts-DKM4_IoM.js → _server.ts-DzFYI45M.js} +2 -2
  134. package/dist/web/server/chunks/{_server.ts-DKM4_IoM.js.map → _server.ts-DzFYI45M.js.map} +1 -1
  135. package/dist/web/server/chunks/{_server.ts-BzkcgRJ0.js → _server.ts-SgO0T3Rz.js} +2 -2
  136. package/dist/web/server/chunks/{_server.ts-BzkcgRJ0.js.map → _server.ts-SgO0T3Rz.js.map} +1 -1
  137. package/dist/web/server/chunks/{_server.ts-BnQmbApR.js → _server.ts-aSNXfSAo.js} +2 -2
  138. package/dist/web/server/chunks/{_server.ts-BnQmbApR.js.map → _server.ts-aSNXfSAo.js.map} +1 -1
  139. package/dist/web/server/chunks/{_server.ts-CPew-Zyx.js → _server.ts-f5qGPL0_.js} +2 -2
  140. package/dist/web/server/chunks/{_server.ts-CPew-Zyx.js.map → _server.ts-f5qGPL0_.js.map} +1 -1
  141. package/dist/web/server/chunks/{_server.ts-CGDTp71B.js → _server.ts-kKwLFukf.js} +3 -3
  142. package/dist/web/server/chunks/{_server.ts-CGDTp71B.js.map → _server.ts-kKwLFukf.js.map} +1 -1
  143. package/dist/web/server/chunks/{checkbox-Cpz0IxJb.js → checkbox-DnCnS3GP.js} +2 -2
  144. package/dist/web/server/chunks/{checkbox-Cpz0IxJb.js.map → checkbox-DnCnS3GP.js.map} +1 -1
  145. package/dist/web/server/chunks/{create-id-DB1LVkwa.js → create-id-Bx8A1rx5.js} +2 -2
  146. package/dist/web/server/chunks/{create-id-DB1LVkwa.js.map → create-id-Bx8A1rx5.js.map} +1 -1
  147. package/dist/web/server/chunks/{discover-Dr8XAtva.js → discover-NNKB-FA6.js} +2 -2
  148. package/dist/web/server/chunks/{discover-Dr8XAtva.js.map → discover-NNKB-FA6.js.map} +1 -1
  149. package/dist/web/server/chunks/{drafts.svelte-BYA3TQdS.js → drafts.svelte-Cx2s4vk_.js} +17 -9
  150. package/dist/web/server/chunks/drafts.svelte-Cx2s4vk_.js.map +1 -0
  151. package/dist/web/server/chunks/{end-session-B9Fz-uzr.js → end-session-TnaIOhLt.js} +2 -2
  152. package/dist/web/server/chunks/{end-session-B9Fz-uzr.js.map → end-session-TnaIOhLt.js.map} +1 -1
  153. package/dist/web/server/chunks/{files-gEtzPye4.js → files-CLuaKENR.js} +27 -10
  154. package/dist/web/server/chunks/files-CLuaKENR.js.map +1 -0
  155. package/dist/web/server/chunks/{fleet-B-mfF6uU.js → fleet-B54AvsxV.js} +3 -3
  156. package/dist/web/server/chunks/{fleet-B-mfF6uU.js.map → fleet-B54AvsxV.js.map} +1 -1
  157. package/dist/web/server/chunks/{hooks.server-C0qYrw7-.js → hooks.server-GuMo4pkH.js} +6 -6
  158. package/dist/web/server/chunks/{hooks.server-C0qYrw7-.js.map → hooks.server-GuMo4pkH.js.map} +1 -1
  159. package/dist/web/server/chunks/{project-icons-oaqhK5An.js → project-icons-B2u0tl8h.js} +2 -2
  160. package/dist/web/server/chunks/{project-icons-oaqhK5An.js.map → project-icons-B2u0tl8h.js.map} +1 -1
  161. package/dist/web/server/chunks/{push-BDU8N0jz.js → push-CEffd9ug.js} +3 -3
  162. package/dist/web/server/chunks/{push-BDU8N0jz.js.map → push-CEffd9ug.js.map} +1 -1
  163. package/dist/web/server/chunks/{start-session-NFcK1KuK.js → start-session-BUISycbb.js} +3 -3
  164. package/dist/web/server/chunks/{start-session-NFcK1KuK.js.map → start-session-BUISycbb.js.map} +1 -1
  165. package/dist/web/server/chunks/{version-BmrH-osu.js → version-Zs5FSLQk.js} +2 -2
  166. package/dist/web/server/chunks/version-Zs5FSLQk.js.map +1 -0
  167. package/dist/web/server/chunks/{web-preview-7tnI0oZZ.js → web-preview-LJy4S8Zy.js} +2 -2
  168. package/dist/web/server/chunks/{web-preview-7tnI0oZZ.js.map → web-preview-LJy4S8Zy.js.map} +1 -1
  169. package/dist/web/server/chunks/{ws-handlers-Cf_dlM6m.js → ws-handlers-DZxtCKXG.js} +2 -2
  170. package/dist/web/server/chunks/{ws-handlers-Cf_dlM6m.js.map → ws-handlers-DZxtCKXG.js.map} +1 -1
  171. package/dist/web/server/chunks/{ws-managers-C-i0GZa-.js → ws-managers-p7QhCETA.js} +2 -2
  172. package/dist/web/server/chunks/{ws-managers-C-i0GZa-.js.map → ws-managers-p7QhCETA.js.map} +1 -1
  173. package/dist/web/server/index.js +2 -2
  174. package/dist/web/server/index.js.map +1 -1
  175. package/dist/web/server/manifest.js +42 -42
  176. package/dist/web/server/manifest.js.map +1 -1
  177. package/package.json +1 -1
  178. package/src/server/files.ts +43 -14
  179. package/src/utils/version.ts +1 -1
  180. package/tests/server/files.test.ts +18 -0
  181. package/tests/web/files-pane.test.ts +6 -0
  182. package/web/.svelte-kit/adapter-bun/chunks/badge.js +5 -2
  183. package/web/.svelte-kit/adapter-bun/chunks/badge.js.map +1 -1
  184. package/web/.svelte-kit/adapter-bun/chunks/files.js +23 -10
  185. package/web/.svelte-kit/adapter-bun/chunks/files.js.map +1 -1
  186. package/web/.svelte-kit/adapter-bun/chunks/internal2.js +1 -1
  187. package/web/.svelte-kit/adapter-bun/chunks/internal2.js.map +1 -1
  188. package/web/.svelte-kit/adapter-bun/chunks/panes.js +15 -5
  189. package/web/.svelte-kit/adapter-bun/chunks/panes.js.map +1 -1
  190. package/web/.svelte-kit/adapter-bun/chunks/version.js +1 -1
  191. package/web/.svelte-kit/adapter-bun/chunks/version.js.map +1 -1
  192. package/web/.svelte-kit/adapter-bun/entries/endpoints/api/sessions/_id_/files/read/_server.ts.js +2 -2
  193. package/web/.svelte-kit/adapter-bun/entries/endpoints/api/sessions/_id_/files/read/_server.ts.js.map +1 -1
  194. package/web/.svelte-kit/adapter-bun/entries/endpoints/api/sessions/_id_/files/tree/_server.ts.js +2 -1
  195. package/web/.svelte-kit/adapter-bun/entries/endpoints/api/sessions/_id_/files/tree/_server.ts.js.map +1 -1
  196. package/web/.svelte-kit/adapter-bun/manifest-full.js +1 -1
  197. package/web/.svelte-kit/adapter-bun/manifest.js +1 -1
  198. package/web/.svelte-kit/adapter-bun/nodes/0.js +1 -1
  199. package/web/.svelte-kit/adapter-bun/nodes/1.js +1 -1
  200. package/web/.svelte-kit/adapter-bun/nodes/2.js +1 -1
  201. package/web/.svelte-kit/adapter-bun/nodes/3.js +1 -1
  202. package/web/.svelte-kit/adapter-bun/nodes/4.js +1 -1
  203. package/web/.svelte-kit/adapter-bun/nodes/5.js +1 -1
  204. package/web/.svelte-kit/adapter-bun/nodes/6.js +1 -1
  205. package/web/.svelte-kit/adapter-bun/nodes/7.js +1 -1
  206. package/web/.svelte-kit/adapter-bun/nodes/8.js +1 -1
  207. package/web/.svelte-kit/adapter-bun/nodes/9.js +1 -1
  208. package/web/.svelte-kit/generated/server/internal.js +1 -1
  209. package/web/.svelte-kit/output/client/.vite/manifest.json +216 -216
  210. package/web/.svelte-kit/output/client/_app/immutable/chunks/{DaHtWhKv.js → 0B8apWdk.js} +2 -2
  211. package/{dist/web/client/_app/immutable/chunks/DaHtWhKv.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/0B8apWdk.js.map} +1 -1
  212. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CFTsn0cO.js → BNTl7TWM.js} +2 -2
  213. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CFTsn0cO.js.map → BNTl7TWM.js.map} +1 -1
  214. package/web/.svelte-kit/output/client/_app/immutable/chunks/{L8MaQ4NY.js → BZO8BywM.js} +2 -2
  215. package/web/.svelte-kit/output/client/_app/immutable/chunks/{L8MaQ4NY.js.map → BZO8BywM.js.map} +1 -1
  216. package/web/.svelte-kit/output/client/_app/immutable/chunks/{DDBYJLf4.js → B__yrn_5.js} +2 -2
  217. package/web/.svelte-kit/output/client/_app/immutable/chunks/{DDBYJLf4.js.map → B__yrn_5.js.map} +1 -1
  218. package/{dist/web/client/_app/immutable/chunks/C6ZyFG8P.js → web/.svelte-kit/output/client/_app/immutable/chunks/Bgn20b6r.js} +2 -2
  219. package/{dist/web/client/_app/immutable/chunks/C6ZyFG8P.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/Bgn20b6r.js.map} +1 -1
  220. package/web/.svelte-kit/output/client/_app/immutable/chunks/{hOwUJj23.js → BjADSig5.js} +2 -2
  221. package/{dist/web/client/_app/immutable/chunks/hOwUJj23.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/BjADSig5.js.map} +1 -1
  222. package/web/.svelte-kit/output/client/_app/immutable/chunks/{Dy-q64qo.js → C5ZKoTYj.js} +2 -2
  223. package/web/.svelte-kit/output/client/_app/immutable/chunks/{Dy-q64qo.js.map → C5ZKoTYj.js.map} +1 -1
  224. package/web/.svelte-kit/output/client/_app/immutable/chunks/{Cbj-Dkzf.js → C8QS5N1A.js} +2 -2
  225. package/web/.svelte-kit/output/client/_app/immutable/chunks/{Cbj-Dkzf.js.map → C8QS5N1A.js.map} +1 -1
  226. package/web/.svelte-kit/output/client/_app/immutable/chunks/CSZ1QzGz.js +6 -0
  227. package/web/.svelte-kit/output/client/_app/immutable/chunks/CSZ1QzGz.js.map +1 -0
  228. package/{dist/web/client/_app/immutable/chunks/DKTKjZGd.js → web/.svelte-kit/output/client/_app/immutable/chunks/Clh5663m.js} +2 -2
  229. package/{dist/web/client/_app/immutable/chunks/DKTKjZGd.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/Clh5663m.js.map} +1 -1
  230. package/{dist/web/client/_app/immutable/chunks/DzWaNfcS.js → web/.svelte-kit/output/client/_app/immutable/chunks/DBa2iaI5.js} +3 -3
  231. package/web/.svelte-kit/output/client/_app/immutable/chunks/{DzWaNfcS.js.map → DBa2iaI5.js.map} +1 -1
  232. package/{dist/web/client/_app/immutable/chunks/CjD3FWJ6.js → web/.svelte-kit/output/client/_app/immutable/chunks/DPz-1th-.js} +2 -2
  233. package/{dist/web/client/_app/immutable/chunks/CjD3FWJ6.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/DPz-1th-.js.map} +1 -1
  234. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CoKHoj5A.js → YIyC5BHr.js} +2 -2
  235. package/web/.svelte-kit/output/client/_app/immutable/chunks/{CoKHoj5A.js.map → YIyC5BHr.js.map} +1 -1
  236. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BoI74ykb.js → k81gJocT.js} +2 -2
  237. package/web/.svelte-kit/output/client/_app/immutable/chunks/{BoI74ykb.js.map → k81gJocT.js.map} +1 -1
  238. package/{dist/web/client/_app/immutable/chunks/DWcm_GIT.js → web/.svelte-kit/output/client/_app/immutable/chunks/oHVjHnky.js} +2 -2
  239. package/{dist/web/client/_app/immutable/chunks/DWcm_GIT.js.map → web/.svelte-kit/output/client/_app/immutable/chunks/oHVjHnky.js.map} +1 -1
  240. package/web/.svelte-kit/output/client/_app/immutable/entry/{app.C3WWIdPa.js → app.C2cUkw3c.js} +3 -3
  241. package/{dist/web/client/_app/immutable/entry/app.C3WWIdPa.js.map → web/.svelte-kit/output/client/_app/immutable/entry/app.C2cUkw3c.js.map} +1 -1
  242. package/web/.svelte-kit/output/client/_app/immutable/entry/start.f6Mn6zms.js +2 -0
  243. package/web/.svelte-kit/output/client/_app/immutable/entry/start.f6Mn6zms.js.map +1 -0
  244. package/{dist/web/client/_app/immutable/nodes/0.3cWvYdnS.js → web/.svelte-kit/output/client/_app/immutable/nodes/0.DS9w6r6Z.js} +2 -2
  245. package/web/.svelte-kit/output/client/_app/immutable/nodes/{0.3cWvYdnS.js.map → 0.DS9w6r6Z.js.map} +1 -1
  246. package/web/.svelte-kit/output/client/_app/immutable/nodes/{1.Qikg9O1S.js → 1.DIyfeN5P.js} +2 -2
  247. package/web/.svelte-kit/output/client/_app/immutable/nodes/{1.Qikg9O1S.js.map → 1.DIyfeN5P.js.map} +1 -1
  248. package/web/.svelte-kit/output/client/_app/immutable/nodes/{2.DDfWXz6l.js → 2.z2AOY4oV.js} +2 -2
  249. package/web/.svelte-kit/output/client/_app/immutable/nodes/{2.DDfWXz6l.js.map → 2.z2AOY4oV.js.map} +1 -1
  250. package/web/.svelte-kit/output/client/_app/immutable/nodes/{3.g9LLshn7.js → 3.9gvYW2fW.js} +2 -2
  251. package/web/.svelte-kit/output/client/_app/immutable/nodes/{3.g9LLshn7.js.map → 3.9gvYW2fW.js.map} +1 -1
  252. package/web/.svelte-kit/output/client/_app/immutable/nodes/4.qixumveN.js +2 -0
  253. package/web/.svelte-kit/output/client/_app/immutable/nodes/{4.1LIZP8Gv.js.map → 4.qixumveN.js.map} +1 -1
  254. package/web/.svelte-kit/output/client/_app/immutable/nodes/5.DUWYU66O.js +2 -0
  255. package/web/.svelte-kit/output/client/_app/immutable/nodes/{5.-kyFHZZC.js.map → 5.DUWYU66O.js.map} +1 -1
  256. package/web/.svelte-kit/output/client/_app/immutable/nodes/{6.Bki05ybO.js → 6.B9AhpXhU.js} +2 -2
  257. package/{dist/web/client/_app/immutable/nodes/6.Bki05ybO.js.map → web/.svelte-kit/output/client/_app/immutable/nodes/6.B9AhpXhU.js.map} +1 -1
  258. package/web/.svelte-kit/output/client/_app/immutable/nodes/{7.BybPjK7P.js → 7.Dz1K3KPS.js} +2 -2
  259. package/web/.svelte-kit/output/client/_app/immutable/nodes/{7.BybPjK7P.js.map → 7.Dz1K3KPS.js.map} +1 -1
  260. package/web/.svelte-kit/output/client/_app/immutable/nodes/8.fUfD6OXM.js +2 -0
  261. package/web/.svelte-kit/output/client/_app/immutable/nodes/{8.DZnC2EyL.js.map → 8.fUfD6OXM.js.map} +1 -1
  262. package/web/.svelte-kit/output/client/_app/immutable/nodes/9.BsNjhC_q.js +2 -0
  263. package/web/.svelte-kit/output/client/_app/immutable/nodes/{9.CzMUh8dK.js.map → 9.BsNjhC_q.js.map} +1 -1
  264. package/web/.svelte-kit/output/client/_app/version.json +1 -1
  265. package/web/.svelte-kit/output/server/chunks/badge.js +5 -2
  266. package/web/.svelte-kit/output/server/chunks/badge.js.map +1 -1
  267. package/web/.svelte-kit/output/server/chunks/files.js +23 -10
  268. package/web/.svelte-kit/output/server/chunks/files.js.map +1 -1
  269. package/web/.svelte-kit/output/server/chunks/internal2.js +1 -1
  270. package/web/.svelte-kit/output/server/chunks/internal2.js.map +1 -1
  271. package/web/.svelte-kit/output/server/chunks/panes.js +15 -5
  272. package/web/.svelte-kit/output/server/chunks/panes.js.map +1 -1
  273. package/web/.svelte-kit/output/server/chunks/version.js +1 -1
  274. package/web/.svelte-kit/output/server/chunks/version.js.map +1 -1
  275. package/web/.svelte-kit/output/server/entries/endpoints/api/sessions/_id_/files/read/_server.ts.js +2 -2
  276. package/web/.svelte-kit/output/server/entries/endpoints/api/sessions/_id_/files/read/_server.ts.js.map +1 -1
  277. package/web/.svelte-kit/output/server/entries/endpoints/api/sessions/_id_/files/tree/_server.ts.js +2 -1
  278. package/web/.svelte-kit/output/server/entries/endpoints/api/sessions/_id_/files/tree/_server.ts.js.map +1 -1
  279. package/web/.svelte-kit/output/server/manifest-full.js +1 -1
  280. package/web/.svelte-kit/output/server/manifest.js +1 -1
  281. package/web/.svelte-kit/output/server/nodes/0.js +1 -1
  282. package/web/.svelte-kit/output/server/nodes/1.js +1 -1
  283. package/web/.svelte-kit/output/server/nodes/2.js +1 -1
  284. package/web/.svelte-kit/output/server/nodes/3.js +1 -1
  285. package/web/.svelte-kit/output/server/nodes/4.js +1 -1
  286. package/web/.svelte-kit/output/server/nodes/5.js +1 -1
  287. package/web/.svelte-kit/output/server/nodes/6.js +1 -1
  288. package/web/.svelte-kit/output/server/nodes/7.js +1 -1
  289. package/web/.svelte-kit/output/server/nodes/8.js +1 -1
  290. package/web/.svelte-kit/output/server/nodes/9.js +1 -1
  291. package/web/src/lib/components/side-panel/FilesPane.svelte +6 -3
  292. package/web/src/lib/side-panel/files.ts +14 -5
  293. package/web/src/routes/api/sessions/[id]/files/read/+server.ts +4 -3
  294. package/web/src/routes/api/sessions/[id]/files/tree/+server.ts +4 -2
  295. package/dist/web/client/_app/immutable/chunks/DwfMzCYe.js +0 -6
  296. package/dist/web/client/_app/immutable/chunks/DwfMzCYe.js.map +0 -1
  297. package/dist/web/client/_app/immutable/entry/start.M-rO10Rb.js +0 -2
  298. package/dist/web/client/_app/immutable/entry/start.M-rO10Rb.js.map +0 -1
  299. package/dist/web/server/chunks/_server.ts-CX4yX9B2.js.map +0 -1
  300. package/dist/web/server/chunks/_server.ts-Dh6JuhUm.js.map +0 -1
  301. package/dist/web/server/chunks/drafts.svelte-BYA3TQdS.js.map +0 -1
  302. package/dist/web/server/chunks/files-gEtzPye4.js.map +0 -1
  303. package/dist/web/server/chunks/version-BmrH-osu.js.map +0 -1
  304. package/web/.svelte-kit/output/client/_app/immutable/chunks/DwfMzCYe.js +0 -6
  305. package/web/.svelte-kit/output/client/_app/immutable/chunks/DwfMzCYe.js.map +0 -1
  306. package/web/.svelte-kit/output/client/_app/immutable/entry/start.M-rO10Rb.js +0 -2
  307. package/web/.svelte-kit/output/client/_app/immutable/entry/start.M-rO10Rb.js.map +0 -1
  308. package/web/.svelte-kit/output/client/_app/immutable/nodes/4.1LIZP8Gv.js +0 -2
  309. package/web/.svelte-kit/output/client/_app/immutable/nodes/5.-kyFHZZC.js +0 -2
  310. package/web/.svelte-kit/output/client/_app/immutable/nodes/8.DZnC2EyL.js +0 -2
  311. package/web/.svelte-kit/output/client/_app/immutable/nodes/9.CzMUh8dK.js +0 -2
package/CLAUDE.md CHANGED
@@ -402,7 +402,10 @@ afresh. A message seldom spells a path from the root, so the Files pane reads
402
402
  with `locate=1`, which sends the read route through `locateProjectFile()`
403
403
  (`src/server/files.ts`): as given, then against
404
404
  the session's `cwd`, then as the tail of the one repo file that ends with it.
405
- A path that is nowhere gets the pane's ordinary error.
405
+ A path that is nowhere gets the pane's ordinary error. An absolute path
406
+ outside the project (a scratchpad, `/tmp`) is read and listed too, since the
407
+ read and tree routes pass `anywhere`; its breadcrumb starts at `/`. A relative
408
+ path stays inside the root, and `.git` is never read.
406
409
 
407
410
  A link to a GitHub pull request or issue is drawn as a chip. `renderMarkdown()`
408
411
  with `github` only marks it: `https://github.com/<owner>/<repo>/(pull|issues)/<n>`
@@ -4,10 +4,13 @@
4
4
  * the repo's file list for quick-open.
5
5
  *
6
6
  * The root is the session's repo (`git_root`, else the work tree its cwd sits
7
- * in), or the cwd itself outside a repo. Every path a caller names is resolved
8
- * with `realpath` and refused unless it lands inside the root's own realpath,
9
- * so neither `..` nor a symlink that points out of the project can reach
10
- * anything else. `.git` is never listed or read.
7
+ * in), or the cwd itself outside a repo. A relative path is resolved with
8
+ * `realpath` and refused unless it lands inside the root's own realpath, so
9
+ * neither `..` nor a symlink that points out of the project reaches anything
10
+ * else. An absolute path may name any file the server can read when the
11
+ * caller asks with `anywhere` (the Files pane does: whoever reaches this API
12
+ * can already type into a shell, and a message often names a file in a
13
+ * scratchpad or `/tmp`). `.git` is never listed or read.
11
14
  */
12
15
  import type { Session } from '../db/sessions-json.js';
13
16
  /** Text past this many bytes is cut off, and the answer says so. */
@@ -61,13 +64,19 @@ export declare function filesRoot(session: Pick<Session, 'cwd' | 'git_root'>): P
61
64
  }>;
62
65
  /** Whether `abs` is `root` or sits somewhere below it. */
63
66
  export declare function isInside(root: string, abs: string): boolean;
67
+ /** Where the read routes may reach: the root only, or any absolute path as well. */
68
+ export interface Reach {
69
+ anywhere?: boolean;
70
+ }
64
71
  /**
65
72
  * Resolve `path` (relative to `root`, or absolute) to a real path inside the
66
73
  * root. An absolute path is taken as given, so one that names the root through
67
74
  * another spelling (a symlink to it) still resolves. Throws a 403 for a path
68
75
  * that lands outside the root or in `.git`, and a 404 for one that is not there.
76
+ * With `anywhere`, an absolute path outside the root resolves too, and its
77
+ * `rel` is its absolute real path.
69
78
  */
70
- export declare function resolveInRoot(root: string, path: string): Promise<{
79
+ export declare function resolveInRoot(root: string, path: string, reach?: Reach): Promise<{
71
80
  abs: string;
72
81
  rel: string;
73
82
  realRoot: string;
@@ -79,15 +88,15 @@ export declare function resolveInRoot(root: string, path: string): Promise<{
79
88
  export declare function listDir(root: string, dir: string, opts: {
80
89
  repo: boolean;
81
90
  showIgnored?: boolean;
82
- }): Promise<DirListing>;
91
+ } & Reach): Promise<DirListing>;
83
92
  /**
84
93
  * Read one file: text up to READ_LIMIT_BYTES (cut at a line end where one is
85
94
  * near), an image's type for the raw route, or `binary` for anything with a
86
95
  * NUL in its first bytes.
87
96
  */
88
- export declare function readProjectFile(root: string, path: string): Promise<FileRead>;
97
+ export declare function readProjectFile(root: string, path: string, reach?: Reach): Promise<FileRead>;
89
98
  /** An image's bytes, through the same guard as any read. */
90
- export declare function readProjectImage(root: string, path: string): Promise<{
99
+ export declare function readProjectImage(root: string, path: string, reach?: Reach): Promise<{
91
100
  bytes: Buffer;
92
101
  mime: string;
93
102
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/server/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/server/files.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,13 @@
4
4
  * the repo's file list for quick-open.
5
5
  *
6
6
  * The root is the session's repo (`git_root`, else the work tree its cwd sits
7
- * in), or the cwd itself outside a repo. Every path a caller names is resolved
8
- * with `realpath` and refused unless it lands inside the root's own realpath,
9
- * so neither `..` nor a symlink that points out of the project can reach
10
- * anything else. `.git` is never listed or read.
7
+ * in), or the cwd itself outside a repo. A relative path is resolved with
8
+ * `realpath` and refused unless it lands inside the root's own realpath, so
9
+ * neither `..` nor a symlink that points out of the project reaches anything
10
+ * else. An absolute path may name any file the server can read when the
11
+ * caller asks with `anywhere` (the Files pane does: whoever reaches this API
12
+ * can already type into a shell, and a message often names a file in a
13
+ * scratchpad or `/tmp`). `.git` is never listed or read.
11
14
  */
12
15
  import { execFile } from 'child_process';
13
16
  import { StringDecoder } from 'string_decoder';
@@ -51,14 +54,30 @@ function isGitPath(rel) {
51
54
  * root. An absolute path is taken as given, so one that names the root through
52
55
  * another spelling (a symlink to it) still resolves. Throws a 403 for a path
53
56
  * that lands outside the root or in `.git`, and a 404 for one that is not there.
57
+ * With `anywhere`, an absolute path outside the root resolves too, and its
58
+ * `rel` is its absolute real path.
54
59
  */
55
- export async function resolveInRoot(root, path) {
60
+ export async function resolveInRoot(root, path, reach = {}) {
56
61
  if (path.includes('\0'))
57
62
  throw new FileAccessError('Invalid path', 400);
58
63
  const realRoot = await realpath(root).catch(() => {
59
64
  throw new FileAccessError('Project directory not found', 404);
60
65
  });
61
66
  const wanted = isAbsolute(path) ? resolve(path) : resolve(realRoot, path);
67
+ if (reach.anywhere && isAbsolute(path) && !isInside(realRoot, wanted) && !isInside(resolve(root), wanted)) {
68
+ let abs;
69
+ try {
70
+ abs = await realpath(wanted);
71
+ }
72
+ catch {
73
+ throw new FileAccessError('No such file or directory', 404);
74
+ }
75
+ if (!isInside(realRoot, abs)) {
76
+ if (isGitPath(abs.split(sep).join('/')))
77
+ throw new FileAccessError('Path is inside .git', 403);
78
+ return { abs, rel: abs.split(sep).join('/'), realRoot };
79
+ }
80
+ }
62
81
  // Refuse a path that climbs out before touching the disk, so its existence is not told.
63
82
  if (!isInside(realRoot, wanted) && !(isAbsolute(path) && isInside(resolve(root), wanted))) {
64
83
  throw new FileAccessError('Path is outside the project', 403);
@@ -102,13 +121,15 @@ function byTypeThenName(a, b) {
102
121
  * and left out when it points outside the root or nowhere.
103
122
  */
104
123
  export async function listDir(root, dir, opts) {
105
- const { abs, rel, realRoot } = await resolveInRoot(root, dir || '.');
124
+ const { abs, rel, realRoot } = await resolveInRoot(root, dir || '.', opts);
125
+ // A folder outside the project, reached by its absolute path: links go wherever they point, and git has no say.
126
+ const outside = isAbsolute(rel);
106
127
  const dirents = await readdir(abs, { withFileTypes: true }).catch((err) => {
107
128
  throw new FileAccessError(err.code === 'ENOTDIR' ? 'Not a directory' : 'Cannot read directory', 400);
108
129
  });
109
130
  const entries = [];
110
131
  await Promise.all(dirents.map(async (d) => {
111
- const path = rel ? `${rel}/${d.name}` : d.name;
132
+ const path = rel ? `${rel.replace(/\/$/, '')}/${d.name}` : d.name;
112
133
  if (isGitPath(path))
113
134
  return;
114
135
  if (d.isDirectory())
@@ -119,7 +140,7 @@ export async function listDir(root, dir, opts) {
119
140
  return;
120
141
  try {
121
142
  const target = await realpath(join(abs, d.name));
122
- if (!isInside(realRoot, target))
143
+ if (!outside && !isInside(realRoot, target))
123
144
  return;
124
145
  const s = await stat(target);
125
146
  entries.push({ name: d.name, path, type: s.isDirectory() ? 'dir' : 'file', link: true });
@@ -130,7 +151,7 @@ export async function listDir(root, dir, opts) {
130
151
  }));
131
152
  let hidden = 0;
132
153
  let shown = entries;
133
- if (opts.repo && entries.length > 0) {
154
+ if (opts.repo && !outside && entries.length > 0) {
134
155
  // git wants a directory spelled with its slash to match a `dir/` pattern, and answers in the same
135
156
  // spelling; a link to one goes without, since git refuses a path that runs through a symlink.
136
157
  const spelled = (e) => (e.type === 'dir' && !e.link ? `${e.path}/` : e.path);
@@ -162,8 +183,8 @@ async function readHead(abs, limit) {
162
183
  * near), an image's type for the raw route, or `binary` for anything with a
163
184
  * NUL in its first bytes.
164
185
  */
165
- export async function readProjectFile(root, path) {
166
- const { abs, rel } = await resolveInRoot(root, path);
186
+ export async function readProjectFile(root, path, reach = {}) {
187
+ const { abs, rel } = await resolveInRoot(root, path, reach);
167
188
  const s = await stat(abs);
168
189
  if (!s.isFile())
169
190
  throw new FileAccessError('Not a file', 400);
@@ -186,8 +207,8 @@ export async function readProjectFile(root, path) {
186
207
  return { kind: 'text', path: rel, size: s.size, shown: Buffer.byteLength(text), text, truncated };
187
208
  }
188
209
  /** An image's bytes, through the same guard as any read. */
189
- export async function readProjectImage(root, path) {
190
- const { abs } = await resolveInRoot(root, path);
210
+ export async function readProjectImage(root, path, reach = {}) {
211
+ const { abs } = await resolveInRoot(root, path, reach);
191
212
  const mime = imageMimeFor(abs);
192
213
  if (!mime)
193
214
  throw new FileAccessError('Not an image', 415);
@@ -1 +1 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/server/files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/server/files.ts"],"names":[],"mappings":"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"}
@@ -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.17";
5
+ export declare const VERSION = "0.30.18";
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.17";
5
+ export const VERSION = "0.30.18";
6
6
  //# sourceMappingURL=version.js.map
@@ -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"./CFTsn0cO.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=DaHtWhKv.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"./BNTl7TWM.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=0B8apWdk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DaHtWhKv.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":"0B8apWdk.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]}