@juspay/shooter 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. package/.claude/hooks/notifier.cjs +117 -33
  2. package/.claude/settings.json +14 -14
  3. package/README.md +116 -84
  4. package/bin/shooter.cjs +471 -102
  5. package/build/client/_app/immutable/assets/{0.CM9Hl6d-.css → 0.DC5pAwP3.css} +1 -1
  6. package/build/client/_app/immutable/assets/0.DC5pAwP3.css.br +0 -0
  7. package/build/client/_app/immutable/assets/{0.CM9Hl6d-.css.gz → 0.DC5pAwP3.css.gz} +0 -0
  8. package/build/client/_app/immutable/assets/2.CAShZ7lQ.css.gz +0 -0
  9. package/build/client/_app/immutable/assets/3.BoXp0JoS.css +1 -0
  10. package/build/client/_app/immutable/assets/3.BoXp0JoS.css.br +0 -0
  11. package/build/client/_app/immutable/assets/3.BoXp0JoS.css.gz +0 -0
  12. package/build/client/_app/immutable/assets/4.cJuCkJKZ.css.gz +0 -0
  13. package/build/client/_app/immutable/assets/5.DRjApZQW.css.gz +0 -0
  14. package/build/client/_app/immutable/assets/6.eZGZN-BF.css +1 -0
  15. package/build/client/_app/immutable/assets/6.eZGZN-BF.css.br +0 -0
  16. package/build/client/_app/immutable/assets/6.eZGZN-BF.css.gz +0 -0
  17. package/build/client/_app/immutable/assets/{7.BCJ1IuMx.css → 7.PyEFVv_s.css} +1 -1
  18. package/build/client/_app/immutable/assets/7.PyEFVv_s.css.br +0 -0
  19. package/build/client/_app/immutable/assets/7.PyEFVv_s.css.gz +0 -0
  20. package/build/client/_app/immutable/assets/ChatView.CsdBAOKx.css.gz +0 -0
  21. package/build/client/_app/immutable/assets/Phone.FQEfwCX2.css +1 -0
  22. package/build/client/_app/immutable/assets/Phone.FQEfwCX2.css.br +0 -0
  23. package/build/client/_app/immutable/assets/Phone.FQEfwCX2.css.gz +0 -0
  24. package/build/client/_app/immutable/assets/markdown.Dc-OSJWY.css +1 -0
  25. package/build/client/_app/immutable/assets/markdown.Dc-OSJWY.css.br +0 -0
  26. package/build/client/_app/immutable/assets/markdown.Dc-OSJWY.css.gz +0 -0
  27. package/build/client/_app/immutable/assets/xterm.DFuMZ0ql.css.gz +0 -0
  28. package/build/client/_app/immutable/chunks/{Cjwk_cGO.js → 50RPd5u3.js} +1 -1
  29. package/build/client/_app/immutable/chunks/50RPd5u3.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/50RPd5u3.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/BDC7XD4o.js +1 -0
  32. package/build/client/_app/immutable/chunks/BDC7XD4o.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/BDC7XD4o.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/BTGVxaYV.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/BeONA6_G.js +2 -0
  36. package/build/client/_app/immutable/chunks/BeONA6_G.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/BeONA6_G.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/BlxrFPDK.js.gz +0 -0
  39. package/build/client/_app/immutable/chunks/BygiiMA0.js +1 -0
  40. package/build/client/_app/immutable/chunks/BygiiMA0.js.br +0 -0
  41. package/build/client/_app/immutable/chunks/BygiiMA0.js.gz +0 -0
  42. package/build/client/_app/immutable/chunks/CGLrx-H5.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/CHvUpVYv.js +1 -0
  44. package/build/client/_app/immutable/chunks/CHvUpVYv.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/CHvUpVYv.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/CbqC9BW7.js +1 -0
  47. package/build/client/_app/immutable/chunks/CbqC9BW7.js.br +2 -0
  48. package/build/client/_app/immutable/chunks/CbqC9BW7.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/CdL99jkG.js +1 -0
  50. package/build/client/_app/immutable/chunks/CdL99jkG.js.br +0 -0
  51. package/build/client/_app/immutable/chunks/CdL99jkG.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/ClK4wZbC.js +61 -0
  53. package/build/client/_app/immutable/chunks/ClK4wZbC.js.br +0 -0
  54. package/build/client/_app/immutable/chunks/ClK4wZbC.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/CojFyTPp.js +1 -0
  56. package/build/client/_app/immutable/chunks/CojFyTPp.js.br +0 -0
  57. package/build/client/_app/immutable/chunks/CojFyTPp.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/DLu6yJIZ.js.gz +0 -0
  59. package/build/client/_app/immutable/chunks/DREFAyhX.js +60 -0
  60. package/build/client/_app/immutable/chunks/DREFAyhX.js.br +0 -0
  61. package/build/client/_app/immutable/chunks/DREFAyhX.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/DSU1n5N_.js +1 -0
  63. package/build/client/_app/immutable/chunks/DSU1n5N_.js.br +0 -0
  64. package/build/client/_app/immutable/chunks/DSU1n5N_.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/K_aHH2KN.js +1 -0
  66. package/build/client/_app/immutable/chunks/K_aHH2KN.js.br +0 -0
  67. package/build/client/_app/immutable/chunks/K_aHH2KN.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/Ona8oofC.js +1 -0
  69. package/build/client/_app/immutable/chunks/Ona8oofC.js.br +0 -0
  70. package/build/client/_app/immutable/chunks/Ona8oofC.js.gz +0 -0
  71. package/build/client/_app/immutable/chunks/PPVm8Dsz.js.gz +0 -0
  72. package/build/client/_app/immutable/chunks/tjbnEgXP.js +1 -0
  73. package/build/client/_app/immutable/chunks/tjbnEgXP.js.br +0 -0
  74. package/build/client/_app/immutable/chunks/tjbnEgXP.js.gz +0 -0
  75. package/build/client/_app/immutable/entry/app.anqwe7ZL.js +2 -0
  76. package/build/client/_app/immutable/entry/app.anqwe7ZL.js.br +0 -0
  77. package/build/client/_app/immutable/entry/app.anqwe7ZL.js.gz +0 -0
  78. package/build/client/_app/immutable/entry/start.BV2VRv6h.js +1 -0
  79. package/build/client/_app/immutable/entry/start.BV2VRv6h.js.br +2 -0
  80. package/build/client/_app/immutable/entry/start.BV2VRv6h.js.gz +0 -0
  81. package/build/client/_app/immutable/nodes/0.D0i5MqcI.js +1 -0
  82. package/build/client/_app/immutable/nodes/0.D0i5MqcI.js.br +0 -0
  83. package/build/client/_app/immutable/nodes/0.D0i5MqcI.js.gz +0 -0
  84. package/build/client/_app/immutable/nodes/1.DN5n5c6F.js +1 -0
  85. package/build/client/_app/immutable/nodes/1.DN5n5c6F.js.br +0 -0
  86. package/build/client/_app/immutable/nodes/1.DN5n5c6F.js.gz +0 -0
  87. package/build/client/_app/immutable/nodes/2.BTjkNKZJ.js +1 -0
  88. package/build/client/_app/immutable/nodes/2.BTjkNKZJ.js.br +0 -0
  89. package/build/client/_app/immutable/nodes/2.BTjkNKZJ.js.gz +0 -0
  90. package/build/client/_app/immutable/nodes/3.CEkigHDv.js +3 -0
  91. package/build/client/_app/immutable/nodes/3.CEkigHDv.js.br +0 -0
  92. package/build/client/_app/immutable/nodes/3.CEkigHDv.js.gz +0 -0
  93. package/build/client/_app/immutable/nodes/4.B-8Zsc9k.js +1 -0
  94. package/build/client/_app/immutable/nodes/4.B-8Zsc9k.js.br +0 -0
  95. package/build/client/_app/immutable/nodes/4.B-8Zsc9k.js.gz +0 -0
  96. package/build/client/_app/immutable/nodes/5.shitbtHc.js +1 -0
  97. package/build/client/_app/immutable/nodes/5.shitbtHc.js.br +0 -0
  98. package/build/client/_app/immutable/nodes/5.shitbtHc.js.gz +0 -0
  99. package/build/client/_app/immutable/nodes/6.CB8Q6eH8.js +2 -0
  100. package/build/client/_app/immutable/nodes/6.CB8Q6eH8.js.br +0 -0
  101. package/build/client/_app/immutable/nodes/6.CB8Q6eH8.js.gz +0 -0
  102. package/build/client/_app/immutable/nodes/7.D0CrR6pl.js +2 -0
  103. package/build/client/_app/immutable/nodes/7.D0CrR6pl.js.br +0 -0
  104. package/build/client/_app/immutable/nodes/7.D0CrR6pl.js.gz +0 -0
  105. package/build/client/_app/version.json +1 -1
  106. package/build/client/_app/version.json.br +0 -0
  107. package/build/client/_app/version.json.gz +0 -0
  108. package/build/client/favicon.svg.gz +0 -0
  109. package/build/pty-holder.cjs +37 -8
  110. package/build/server/chunks/0-Cs1dzfRz.js +9 -0
  111. package/build/server/chunks/{0-q2IUp76Y.js.map → 0-Cs1dzfRz.js.map} +1 -1
  112. package/build/server/chunks/1-BCSX7oED.js +9 -0
  113. package/build/server/chunks/{1-CU50G5wZ.js.map → 1-BCSX7oED.js.map} +1 -1
  114. package/build/server/chunks/2-6gkeO8b4.js +9 -0
  115. package/build/server/chunks/2-6gkeO8b4.js.map +1 -0
  116. package/build/server/chunks/3-DH9J9Vsc.js +9 -0
  117. package/build/server/chunks/3-DH9J9Vsc.js.map +1 -0
  118. package/build/server/chunks/4-Rzy5TYjl.js +9 -0
  119. package/build/server/chunks/4-Rzy5TYjl.js.map +1 -0
  120. package/build/server/chunks/5-D0wB7nfE.js +9 -0
  121. package/build/server/chunks/5-D0wB7nfE.js.map +1 -0
  122. package/build/server/chunks/6-DR2ABDPq.js +9 -0
  123. package/build/server/chunks/6-DR2ABDPq.js.map +1 -0
  124. package/build/server/chunks/7-D-oQJsia.js +9 -0
  125. package/build/server/chunks/7-D-oQJsia.js.map +1 -0
  126. package/build/server/chunks/Button-C7D5W6wV.js +80 -0
  127. package/build/server/chunks/Button-C7D5W6wV.js.map +1 -0
  128. package/build/server/chunks/EmptyState-Ci4pSpmY.js +20 -0
  129. package/build/server/chunks/EmptyState-Ci4pSpmY.js.map +1 -0
  130. package/build/server/chunks/Icon-DyrkHVnV.js +36 -0
  131. package/build/server/chunks/Icon-DyrkHVnV.js.map +1 -0
  132. package/build/server/chunks/Shimmer-BITK6wrm.js +10 -0
  133. package/build/server/chunks/Shimmer-BITK6wrm.js.map +1 -0
  134. package/build/server/chunks/_layout.svelte-CO4f8UD7.js +76 -0
  135. package/build/server/chunks/_layout.svelte-CO4f8UD7.js.map +1 -0
  136. package/build/server/chunks/_page.svelte-3Cc3NMAP.js +81 -0
  137. package/build/server/chunks/_page.svelte-3Cc3NMAP.js.map +1 -0
  138. package/build/server/chunks/_page.svelte-C0p3HsIW.js +46 -0
  139. package/build/server/chunks/_page.svelte-C0p3HsIW.js.map +1 -0
  140. package/build/server/chunks/_page.svelte-C6bns9aQ.js +41 -0
  141. package/build/server/chunks/_page.svelte-C6bns9aQ.js.map +1 -0
  142. package/build/server/chunks/_page.svelte-CFCONiDK.js +97 -0
  143. package/build/server/chunks/_page.svelte-CFCONiDK.js.map +1 -0
  144. package/build/server/chunks/_page.svelte-DskND_G9.js +550 -0
  145. package/build/server/chunks/_page.svelte-DskND_G9.js.map +1 -0
  146. package/build/server/chunks/_page.svelte-rTrWmhOp.js +651 -0
  147. package/build/server/chunks/_page.svelte-rTrWmhOp.js.map +1 -0
  148. package/build/server/chunks/{_server.ts-CbDRDIoP.js → _server.ts-BStnNIcq.js} +9 -11
  149. package/build/server/chunks/_server.ts-BStnNIcq.js.map +1 -0
  150. package/build/server/chunks/{_server.ts-C29xzfaw.js → _server.ts-C8slOHB0.js} +9 -10
  151. package/build/server/chunks/_server.ts-C8slOHB0.js.map +1 -0
  152. package/build/server/chunks/{_server.ts-CPa6DgIt.js → _server.ts-COu0vNpd.js} +6 -6
  153. package/build/server/chunks/_server.ts-COu0vNpd.js.map +1 -0
  154. package/build/server/chunks/{_server.ts-DRVbgm6k.js → _server.ts-CS5H5klP.js} +10 -17
  155. package/build/server/chunks/_server.ts-CS5H5klP.js.map +1 -0
  156. package/build/server/chunks/{_server.ts-D4MNi4cD.js → _server.ts-Cf84YIaW.js} +3 -3
  157. package/build/server/chunks/{_server.ts-D4MNi4cD.js.map → _server.ts-Cf84YIaW.js.map} +1 -1
  158. package/build/server/chunks/{_server.ts-BL2FGb5Z.js → _server.ts-Ch-6iOHp.js} +99 -53
  159. package/build/server/chunks/_server.ts-Ch-6iOHp.js.map +1 -0
  160. package/build/server/chunks/{_server.ts-DfajWaqh.js → _server.ts-DV8zTCF9.js} +7 -9
  161. package/build/server/chunks/_server.ts-DV8zTCF9.js.map +1 -0
  162. package/build/server/chunks/{_server.ts-ColfDHW8.js → _server.ts-DYvb9ijZ.js} +21 -10
  163. package/build/server/chunks/_server.ts-DYvb9ijZ.js.map +1 -0
  164. package/build/server/chunks/_server.ts-DhTrdlWH.js +62 -0
  165. package/build/server/chunks/_server.ts-DhTrdlWH.js.map +1 -0
  166. package/build/server/chunks/{_server.ts-Cv_OrRuL.js → _server.ts-DpEVfp8W.js} +165 -8
  167. package/build/server/chunks/_server.ts-DpEVfp8W.js.map +1 -0
  168. package/build/server/chunks/{_server.ts-y9-WYDMa.js → _server.ts-WhTJBEJy.js} +5 -4
  169. package/build/server/chunks/{_server.ts-y9-WYDMa.js.map → _server.ts-WhTJBEJy.js.map} +1 -1
  170. package/build/server/chunks/{_server.ts-BjOJsoy4.js → _server.ts-XzT2UHM1.js} +6 -5
  171. package/build/server/chunks/_server.ts-XzT2UHM1.js.map +1 -0
  172. package/build/server/chunks/{_server.ts-BgdjBZco.js → _server.ts-tSpgyl1D.js} +7 -5
  173. package/build/server/chunks/_server.ts-tSpgyl1D.js.map +1 -0
  174. package/build/server/chunks/{_server.ts-BihKSdj_.js → _server.ts-uHUi-4cd.js} +7 -8
  175. package/build/server/chunks/_server.ts-uHUi-4cd.js.map +1 -0
  176. package/build/server/chunks/{auth-CEgFis71.js → auth-DeCdZ83n.js} +2 -2
  177. package/build/server/chunks/{auth-CEgFis71.js.map → auth-DeCdZ83n.js.map} +1 -1
  178. package/build/server/chunks/client-BYT9c0ig.js +7 -0
  179. package/build/server/chunks/client-BYT9c0ig.js.map +1 -0
  180. package/build/server/chunks/client2-BjxIYuno.js +25 -0
  181. package/build/server/chunks/client2-BjxIYuno.js.map +1 -0
  182. package/build/server/chunks/error-DDXB3duW.js +12 -0
  183. package/build/server/chunks/error-DDXB3duW.js.map +1 -0
  184. package/build/server/chunks/error.svelte-BG_yE-Wt.js +27 -0
  185. package/build/server/chunks/error.svelte-BG_yE-Wt.js.map +1 -0
  186. package/build/server/chunks/{exports-CJ0Q5XmL.js → index-Cnl871UW.js} +1111 -1634
  187. package/build/server/chunks/index-Cnl871UW.js.map +1 -0
  188. package/build/server/chunks/index-server-CUC9Jt7r.js +9 -0
  189. package/build/server/chunks/index-server-CUC9Jt7r.js.map +1 -0
  190. package/build/server/chunks/index2-HA3VTH7y.js +58 -0
  191. package/build/server/chunks/index2-HA3VTH7y.js.map +1 -0
  192. package/build/server/chunks/{library-apns-BHxLmuIx.js → library-apns-BqJbvSKh.js} +4 -4
  193. package/build/server/chunks/library-apns-BqJbvSKh.js.map +1 -0
  194. package/build/server/chunks/markdown-W_mTBct0.js +8 -0
  195. package/build/server/chunks/markdown-W_mTBct0.js.map +1 -0
  196. package/build/server/chunks/{pty-manager-C0FhBiVq.js → pty-manager-DR0Wt2Ac.js} +146 -319
  197. package/build/server/chunks/pty-manager-DR0Wt2Ac.js.map +1 -0
  198. package/build/server/chunks/root-DhswcH6o.js +1171 -0
  199. package/build/server/chunks/root-DhswcH6o.js.map +1 -0
  200. package/build/server/chunks/{shared-server-BDY8jh20.js → shared-server-sSGG17Df.js} +2 -3
  201. package/build/server/chunks/{shared-server-BDY8jh20.js.map → shared-server-sSGG17Df.js.map} +1 -1
  202. package/build/server/chunks/state.svelte-2Lellg7t.js +11 -0
  203. package/build/server/chunks/state.svelte-2Lellg7t.js.map +1 -0
  204. package/build/server/index.js +1085 -2242
  205. package/build/server/index.js.map +1 -1
  206. package/build/server/manifest.js +23 -23
  207. package/build/server/manifest.js.map +1 -1
  208. package/package.json +32 -9
  209. package/scripts/fix-generated-types.sh +37 -0
  210. package/scripts/homebrew/shooter.rb +51 -0
  211. package/scripts/install.sh +348 -186
  212. package/scripts/setup.cjs +139 -43
  213. package/server.ts +111 -71
  214. package/src/app.css +12 -3
  215. package/src/app.d.ts +13 -20
  216. package/src/app.html +0 -2
  217. package/src/generated/types/API.ts +280 -0
  218. package/src/generated/types/APN.ts +186 -203
  219. package/src/generated/types/CLI.ts +18 -25
  220. package/src/generated/types/Client.ts +589 -0
  221. package/src/generated/types/Config.ts +53 -0
  222. package/src/generated/types/Holder.ts +638 -0
  223. package/src/generated/types/JWT.ts +39 -50
  224. package/src/generated/types/Notification.ts +426 -0
  225. package/src/generated/types/OpenCode.ts +356 -0
  226. package/src/generated/types/Sessions.ts +570 -0
  227. package/src/generated/types/Terminal.ts +2184 -2071
  228. package/src/generated/types/WsProtocol.ts +2004 -0
  229. package/src/generated/types/index.ts +9 -3
  230. package/src/lib/env.ts +29 -0
  231. package/src/lib/modules/client/common/config-guard.ts +37 -5
  232. package/src/lib/modules/client/common/error.ts +10 -0
  233. package/src/lib/modules/client/common/index.ts +6 -5
  234. package/src/lib/modules/client/common/native-bridge.ts +28 -20
  235. package/src/lib/modules/client/terminal/ChatView.svelte +46 -23
  236. package/src/lib/modules/client/terminal/CommandPalette.svelte +3 -2
  237. package/src/lib/modules/client/terminal/ConnectionStatus.svelte +6 -1
  238. package/src/lib/modules/client/terminal/LaunchSheet.svelte +147 -84
  239. package/src/lib/modules/client/terminal/QuickKeys.svelte +3 -1
  240. package/src/lib/modules/client/terminal/ShortcutsHelp.svelte +2 -5
  241. package/src/lib/modules/client/terminal/keyboard-shortcuts.ts +27 -24
  242. package/src/lib/modules/client/terminal/xterm-wrapper.ts +70 -44
  243. package/src/lib/modules/server/apn/library-apns.ts +3 -2
  244. package/src/lib/modules/server/apn/notification-history.ts +2 -13
  245. package/src/lib/modules/server/apn/notification-sessions.ts +3 -13
  246. package/src/lib/modules/server/apn/pending-requests.ts +3 -8
  247. package/src/lib/modules/server/apn/types.ts +5 -4
  248. package/src/lib/modules/server/cli/index.ts +3 -2
  249. package/src/lib/modules/server/fcm/fcm-service.ts +8 -6
  250. package/src/lib/modules/server/sessions/jsonl-parser.ts +3 -3
  251. package/src/lib/modules/server/sessions/jsonl-reader.ts +60 -15
  252. package/src/lib/modules/server/sessions/types.ts +11 -22
  253. package/src/lib/modules/server/terminal/holder-client.ts +272 -248
  254. package/src/lib/modules/server/terminal/opencode-watcher.ts +555 -553
  255. package/src/lib/modules/server/terminal/pty-holder.cjs +37 -8
  256. package/src/lib/modules/server/terminal/pty-manager.ts +141 -111
  257. package/src/lib/modules/server/terminal/session-watcher.ts +6 -4
  258. package/src/lib/modules/server/terminal/terminal-store.ts +131 -128
  259. package/src/lib/modules/server/utils/error.ts +9 -0
  260. package/src/lib/modules/server/ws/events-handler.ts +12 -6
  261. package/src/lib/modules/server/ws/keepalive.ts +86 -69
  262. package/src/lib/modules/server/ws/server.ts +43 -37
  263. package/src/lib/modules/server/ws/session-handler.ts +52 -45
  264. package/src/lib/modules/server/ws/terminal-handler.ts +29 -17
  265. package/src/lib/modules/server/ws/ticket-store.ts +29 -26
  266. package/src/lib/types/config.ts +1 -6
  267. package/src/routes/+layout.svelte +66 -31
  268. package/src/routes/+page.svelte +8 -15
  269. package/src/routes/api/debug/+server.ts +3 -1
  270. package/src/routes/api/device-token/+server.ts +60 -60
  271. package/src/routes/api/health/+server.ts +69 -73
  272. package/src/routes/api/notify/+server.ts +115 -68
  273. package/src/routes/api/qr-config/+server.ts +30 -32
  274. package/src/routes/api/response/+server.ts +9 -4
  275. package/src/routes/api/sessions/+server.ts +3 -1
  276. package/src/routes/api/terminals/+server.ts +14 -15
  277. package/src/routes/api/terminals/[id]/+server.ts +13 -7
  278. package/src/routes/api/terminals/[id]/paste-image/+server.ts +54 -52
  279. package/src/routes/api/terminals/[id]/resize/+server.ts +6 -3
  280. package/src/routes/api/webhook/+server.ts +8 -10
  281. package/src/routes/api/ws-status/+server.ts +7 -5
  282. package/src/routes/api/ws-ticket/+server.ts +42 -41
  283. package/src/routes/config/+page.svelte +129 -76
  284. package/src/routes/project/+page.svelte +7 -28
  285. package/src/routes/session/[id]/+page.svelte +70 -52
  286. package/src/routes/terminals/+page.svelte +45 -43
  287. package/src/routes/terminals/[id]/+page.svelte +198 -91
  288. package/build/client/_app/immutable/assets/0.CM9Hl6d-.css.br +0 -0
  289. package/build/client/_app/immutable/assets/3.C0uFg0IS.css +0 -1
  290. package/build/client/_app/immutable/assets/3.C0uFg0IS.css.br +0 -0
  291. package/build/client/_app/immutable/assets/3.C0uFg0IS.css.gz +0 -0
  292. package/build/client/_app/immutable/assets/6.AraZrY8I.css +0 -1
  293. package/build/client/_app/immutable/assets/6.AraZrY8I.css.br +0 -0
  294. package/build/client/_app/immutable/assets/6.AraZrY8I.css.gz +0 -0
  295. package/build/client/_app/immutable/assets/7.BCJ1IuMx.css.br +0 -0
  296. package/build/client/_app/immutable/assets/7.BCJ1IuMx.css.gz +0 -0
  297. package/build/client/_app/immutable/assets/markdown.B0b5w2tq.css +0 -1
  298. package/build/client/_app/immutable/assets/markdown.B0b5w2tq.css.br +0 -0
  299. package/build/client/_app/immutable/assets/markdown.B0b5w2tq.css.gz +0 -0
  300. package/build/client/_app/immutable/chunks/BNJphC1q.js +0 -56
  301. package/build/client/_app/immutable/chunks/BNJphC1q.js.br +0 -0
  302. package/build/client/_app/immutable/chunks/BNJphC1q.js.gz +0 -0
  303. package/build/client/_app/immutable/chunks/Bvk7mfPM.js +0 -1
  304. package/build/client/_app/immutable/chunks/Bvk7mfPM.js.br +0 -0
  305. package/build/client/_app/immutable/chunks/Bvk7mfPM.js.gz +0 -0
  306. package/build/client/_app/immutable/chunks/CAokzuPQ.js +0 -1
  307. package/build/client/_app/immutable/chunks/CAokzuPQ.js.br +0 -0
  308. package/build/client/_app/immutable/chunks/CAokzuPQ.js.gz +0 -0
  309. package/build/client/_app/immutable/chunks/CgCpWzEA.js +0 -1
  310. package/build/client/_app/immutable/chunks/CgCpWzEA.js.br +0 -0
  311. package/build/client/_app/immutable/chunks/CgCpWzEA.js.gz +0 -0
  312. package/build/client/_app/immutable/chunks/Cjwk_cGO.js.br +0 -0
  313. package/build/client/_app/immutable/chunks/Cjwk_cGO.js.gz +0 -0
  314. package/build/client/_app/immutable/chunks/CtQ8EED1.js +0 -11
  315. package/build/client/_app/immutable/chunks/CtQ8EED1.js.br +0 -0
  316. package/build/client/_app/immutable/chunks/CtQ8EED1.js.gz +0 -0
  317. package/build/client/_app/immutable/chunks/DERQCisl.js +0 -1
  318. package/build/client/_app/immutable/chunks/DERQCisl.js.br +0 -0
  319. package/build/client/_app/immutable/chunks/DERQCisl.js.gz +0 -0
  320. package/build/client/_app/immutable/chunks/DKrg8TQs.js +0 -1
  321. package/build/client/_app/immutable/chunks/DKrg8TQs.js.br +0 -0
  322. package/build/client/_app/immutable/chunks/DKrg8TQs.js.gz +0 -0
  323. package/build/client/_app/immutable/chunks/Dkkpz_4D.js +0 -126
  324. package/build/client/_app/immutable/chunks/Dkkpz_4D.js.br +0 -0
  325. package/build/client/_app/immutable/chunks/Dkkpz_4D.js.gz +0 -0
  326. package/build/client/_app/immutable/chunks/DoczjQhA.js +0 -1
  327. package/build/client/_app/immutable/chunks/DoczjQhA.js.br +0 -0
  328. package/build/client/_app/immutable/chunks/DoczjQhA.js.gz +0 -0
  329. package/build/client/_app/immutable/chunks/RpcNruLP.js +0 -2
  330. package/build/client/_app/immutable/chunks/RpcNruLP.js.br +0 -0
  331. package/build/client/_app/immutable/chunks/RpcNruLP.js.gz +0 -0
  332. package/build/client/_app/immutable/chunks/a-St0Zwo.js +0 -1
  333. package/build/client/_app/immutable/chunks/a-St0Zwo.js.br +0 -0
  334. package/build/client/_app/immutable/chunks/a-St0Zwo.js.gz +0 -0
  335. package/build/client/_app/immutable/chunks/bo70OQUZ.js +0 -1
  336. package/build/client/_app/immutable/chunks/bo70OQUZ.js.br +0 -0
  337. package/build/client/_app/immutable/chunks/bo70OQUZ.js.gz +0 -0
  338. package/build/client/_app/immutable/entry/app.QvGgdvTI.js +0 -2
  339. package/build/client/_app/immutable/entry/app.QvGgdvTI.js.br +0 -0
  340. package/build/client/_app/immutable/entry/app.QvGgdvTI.js.gz +0 -0
  341. package/build/client/_app/immutable/entry/start.BntDNRMC.js +0 -1
  342. package/build/client/_app/immutable/entry/start.BntDNRMC.js.br +0 -0
  343. package/build/client/_app/immutable/entry/start.BntDNRMC.js.gz +0 -0
  344. package/build/client/_app/immutable/nodes/0.CzkdvJ7j.js +0 -1
  345. package/build/client/_app/immutable/nodes/0.CzkdvJ7j.js.br +0 -0
  346. package/build/client/_app/immutable/nodes/0.CzkdvJ7j.js.gz +0 -0
  347. package/build/client/_app/immutable/nodes/1.MG1QhfrI.js +0 -1
  348. package/build/client/_app/immutable/nodes/1.MG1QhfrI.js.br +0 -0
  349. package/build/client/_app/immutable/nodes/1.MG1QhfrI.js.gz +0 -0
  350. package/build/client/_app/immutable/nodes/2.B4MlOSh6.js +0 -1
  351. package/build/client/_app/immutable/nodes/2.B4MlOSh6.js.br +0 -0
  352. package/build/client/_app/immutable/nodes/2.B4MlOSh6.js.gz +0 -0
  353. package/build/client/_app/immutable/nodes/3.DIwYkjDn.js +0 -3
  354. package/build/client/_app/immutable/nodes/3.DIwYkjDn.js.br +0 -0
  355. package/build/client/_app/immutable/nodes/3.DIwYkjDn.js.gz +0 -0
  356. package/build/client/_app/immutable/nodes/4.D-cIe70D.js +0 -1
  357. package/build/client/_app/immutable/nodes/4.D-cIe70D.js.br +0 -0
  358. package/build/client/_app/immutable/nodes/4.D-cIe70D.js.gz +0 -0
  359. package/build/client/_app/immutable/nodes/5.D7zPRe3L.js +0 -1
  360. package/build/client/_app/immutable/nodes/5.D7zPRe3L.js.br +0 -0
  361. package/build/client/_app/immutable/nodes/5.D7zPRe3L.js.gz +0 -0
  362. package/build/client/_app/immutable/nodes/6.BB7QE48r.js +0 -2
  363. package/build/client/_app/immutable/nodes/6.BB7QE48r.js.br +0 -0
  364. package/build/client/_app/immutable/nodes/6.BB7QE48r.js.gz +0 -0
  365. package/build/client/_app/immutable/nodes/7.D8mqsrZG.js +0 -2
  366. package/build/client/_app/immutable/nodes/7.D8mqsrZG.js.br +0 -0
  367. package/build/client/_app/immutable/nodes/7.D8mqsrZG.js.gz +0 -0
  368. package/build/client/manifest.webmanifest +0 -1
  369. package/build/client/registerSW.js +0 -1
  370. package/build/client/registerSW.js.br +0 -0
  371. package/build/client/registerSW.js.gz +0 -0
  372. package/build/client/sw.js +0 -222
  373. package/build/client/sw.js.br +0 -0
  374. package/build/client/sw.js.gz +0 -0
  375. package/build/client/workbox-5119daf5.js +0 -3395
  376. package/build/client/workbox-5119daf5.js.br +0 -0
  377. package/build/client/workbox-5119daf5.js.gz +0 -0
  378. package/build/server/chunks/0-q2IUp76Y.js +0 -9
  379. package/build/server/chunks/1-CU50G5wZ.js +0 -9
  380. package/build/server/chunks/2-D01t9s8T.js +0 -9
  381. package/build/server/chunks/2-D01t9s8T.js.map +0 -1
  382. package/build/server/chunks/3-5PUQ04wC.js +0 -9
  383. package/build/server/chunks/3-5PUQ04wC.js.map +0 -1
  384. package/build/server/chunks/4-e7gywnSG.js +0 -9
  385. package/build/server/chunks/4-e7gywnSG.js.map +0 -1
  386. package/build/server/chunks/5-CA1SA6KZ.js +0 -9
  387. package/build/server/chunks/5-CA1SA6KZ.js.map +0 -1
  388. package/build/server/chunks/6-71H221sV.js +0 -9
  389. package/build/server/chunks/6-71H221sV.js.map +0 -1
  390. package/build/server/chunks/7-Bo-vmdyz.js +0 -9
  391. package/build/server/chunks/7-Bo-vmdyz.js.map +0 -1
  392. package/build/server/chunks/_layout.svelte-SFHOxs74.js +0 -132
  393. package/build/server/chunks/_layout.svelte-SFHOxs74.js.map +0 -1
  394. package/build/server/chunks/_page.svelte-B4w-2wD-.js +0 -120
  395. package/build/server/chunks/_page.svelte-B4w-2wD-.js.map +0 -1
  396. package/build/server/chunks/_page.svelte-B_qAXjkh.js +0 -213
  397. package/build/server/chunks/_page.svelte-B_qAXjkh.js.map +0 -1
  398. package/build/server/chunks/_page.svelte-CsF1_TRG.js +0 -50
  399. package/build/server/chunks/_page.svelte-CsF1_TRG.js.map +0 -1
  400. package/build/server/chunks/_page.svelte-DJC6U-P0.js +0 -68
  401. package/build/server/chunks/_page.svelte-DJC6U-P0.js.map +0 -1
  402. package/build/server/chunks/_page.svelte-DQ6HBtsz.js +0 -407
  403. package/build/server/chunks/_page.svelte-DQ6HBtsz.js.map +0 -1
  404. package/build/server/chunks/_page.svelte-LbhhjP21.js +0 -148
  405. package/build/server/chunks/_page.svelte-LbhhjP21.js.map +0 -1
  406. package/build/server/chunks/_server.ts-BL2FGb5Z.js.map +0 -1
  407. package/build/server/chunks/_server.ts-BgdjBZco.js.map +0 -1
  408. package/build/server/chunks/_server.ts-BihKSdj_.js.map +0 -1
  409. package/build/server/chunks/_server.ts-BjOJsoy4.js.map +0 -1
  410. package/build/server/chunks/_server.ts-C29xzfaw.js.map +0 -1
  411. package/build/server/chunks/_server.ts-CPa6DgIt.js.map +0 -1
  412. package/build/server/chunks/_server.ts-CbDRDIoP.js.map +0 -1
  413. package/build/server/chunks/_server.ts-Cl1OEWL4.js +0 -54
  414. package/build/server/chunks/_server.ts-Cl1OEWL4.js.map +0 -1
  415. package/build/server/chunks/_server.ts-ColfDHW8.js.map +0 -1
  416. package/build/server/chunks/_server.ts-Cv_OrRuL.js.map +0 -1
  417. package/build/server/chunks/_server.ts-DRVbgm6k.js.map +0 -1
  418. package/build/server/chunks/_server.ts-DfajWaqh.js.map +0 -1
  419. package/build/server/chunks/client-CxCatAKr.js +0 -255
  420. package/build/server/chunks/client-CxCatAKr.js.map +0 -1
  421. package/build/server/chunks/error.svelte-BqdwMWdK.js +0 -26
  422. package/build/server/chunks/error.svelte-BqdwMWdK.js.map +0 -1
  423. package/build/server/chunks/exports-CJ0Q5XmL.js.map +0 -1
  424. package/build/server/chunks/index2-DAxIoAO-.js +0 -36
  425. package/build/server/chunks/index2-DAxIoAO-.js.map +0 -1
  426. package/build/server/chunks/jsonl-parser-dmZU_Hyu.js +0 -137
  427. package/build/server/chunks/jsonl-parser-dmZU_Hyu.js.map +0 -1
  428. package/build/server/chunks/library-apns-BHxLmuIx.js.map +0 -1
  429. package/build/server/chunks/markdown-Bxrl3cCF.js +0 -1241
  430. package/build/server/chunks/markdown-Bxrl3cCF.js.map +0 -1
  431. package/build/server/chunks/pty-manager-C0FhBiVq.js.map +0 -1
  432. package/build/server/chunks/stores-D0HorpgL.js +0 -36
  433. package/build/server/chunks/stores-D0HorpgL.js.map +0 -1
@@ -0,0 +1 @@
1
+ var $t=Array.isArray,Xt=Array.prototype.indexOf,ue=Array.prototype.includes,zn=Array.from,Gn=Object.defineProperty,he=Object.getOwnPropertyDescriptor,Zt=Object.getOwnPropertyDescriptors,Wt=Object.prototype,Jt=Array.prototype,dt=Object.getPrototypeOf,rt=Object.isExtensible;function Kn(e){return typeof e=="function"}const pe=()=>{};function $n(e){return e()}function Qt(e){for(var t=0;t<e.length;t++)e[t]()}function vt(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}function Xn(e,t){if(Array.isArray(e))return e;if(!(Symbol.iterator in e))return Array.from(e);const n=[];for(const r of e)if(n.push(r),n.length===t)break;return n}const E=2,ee=4,ye=8,Ve=1<<24,K=16,F=32,te=64,en=128,x=512,y=1024,T=2048,L=4096,P=8192,C=16384,ie=32768,st=1<<25,Ne=65536,it=1<<17,tn=1<<18,ge=1<<19,ht=1<<20,Zn=1<<25,ne=65536,Le=1<<21,Be=1<<22,U=1<<23,J=Symbol("$state"),Wn=Symbol("legacy props"),Jn=Symbol(""),Y=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},er=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml"),Me=3,pt=8;function wt(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function nn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function tr(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function rn(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function sn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function an(e){throw new Error("https://svelte.dev/e/effect_orphan")}function ln(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function nr(){throw new Error("https://svelte.dev/e/hydration_failed")}function rr(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function fn(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function un(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function on(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function sr(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const ir=1,ar=2,lr=4,fr=8,ur=16,or=1,cr=2,_r=4,dr=8,vr=16,hr=1,pr=2,wr=4,br=1,yr=2,cn="[",_n="[!",gr="[?",dn="]",ze={},m=Symbol(),vn="http://www.w3.org/1999/xhtml",Er="http://www.w3.org/2000/svg",mr="http://www.w3.org/1998/Math/MathML",Tr="@attach";function Ge(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function Ar(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Sr(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let B=!1;function Rr(e){B=e}let S;function oe(e){if(e===null)throw Ge(),ze;return S=e}function Nr(){return oe($(S))}function xr(e){if(B){if($(S)!==null)throw Ge(),ze;S=e}}function Or(e=1){if(B){for(var t=e,n=S;t--;)n=$(n);S=n}}function kr(e=!0){for(var t=0,n=S;;){if(n.nodeType===pt){var r=n.data;if(r===dn){if(t===0)return n;t-=1}else(r===cn||r===_n||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(t+=1)}var s=$(n);e&&n.remove(),n=s}}function Ir(e){if(!e||e.nodeType!==pt)throw Ge(),ze;return e.data}function bt(e){return e===this.v}function yt(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function gt(e){return!yt(e,this.v)}let Ee=!1;function Dr(){Ee=!0}let g=null;function xe(e){g=e}function Mr(e,t=!1,n){g={p:g,i:!1,c:null,e:null,s:e,x:null,r:v,l:Ee&&!t?{s:null,u:null,$:[]}:null}}function Pr(e){var t=g,n=t.e;if(n!==null){t.e=null;for(var r of n)Ft(r)}return e!==void 0&&(t.x=e),t.i=!0,g=t.p,e??{}}function me(){return!Ee||g!==null&&g.l===null}let Z=[];function Et(){var e=Z;Z=[],Qt(e)}function je(e){if(Z.length===0&&!we){var t=Z;queueMicrotask(()=>{t===Z&&Et()})}Z.push(e)}function hn(){for(;Z.length>0;)Et()}function pn(e){var t=v;if(t===null)return d.f|=U,e;if((t.f&ie)===0&&(t.f&ee)===0)throw e;Oe(e,t)}function Oe(e,t){for(;t!==null;){if((t.f&en)!==0){if((t.f&ie)===0)throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const wn=-7169;function b(e,t){e.f=e.f&wn|t}function Ke(e){(e.f&x)!==0||e.deps===null?b(e,y):b(e,L)}function mt(e){if(e!==null)for(const t of e)(t.f&E)===0||(t.f&ne)===0||(t.f^=ne,mt(t.deps))}function bn(e,t,n){(e.f&T)!==0?t.add(e):(e.f&L)!==0&&n.add(e),mt(e.deps),b(e,y)}function yn(e,t,n){if(e==null)return t(void 0),pe;const r=nt(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}const ae=[];function Cr(e,t=pe){let n=null;const r=new Set;function s(l){if(yt(e,l)&&(e=l,n)){const f=!ae.length;for(const a of r)a[1](),ae.push(a,e);if(f){for(let a=0;a<ae.length;a+=2)ae[a][0](ae[a+1]);ae.length=0}}}function i(l){s(l(e))}function u(l,f=pe){const a=[l,f];return r.add(a),r.size===1&&(n=t(s,i)||pe),l(e),()=>{r.delete(a),r.size===0&&n&&(n(),n=null)}}return{set:s,update:i,subscribe:u}}function Fr(e){let t;return yn(e,n=>t=n)(),t}const H=new Set;let w=null,D=null,Ye=null,we=!1,Ce=!1,le=null,Se=null;var at=0;let gn=1;class z{id=gn++;current=new Map;previous=new Map;#l=new Set;#f=new Set;#r=new Map;#t=new Map;#_=null;#e=[];#i=new Set;#s=new Set;#n=new Map;is_fork=!1;#u=!1;#a=new Set;#o(){return this.is_fork||this.#t.size>0}#h(){for(const r of this.#a)for(const s of r.#t.keys()){for(var t=!1,n=s;n.parent!==null;){if(this.#n.has(n)){t=!0;break}n=n.parent}if(!t)return!0}return!1}skip_effect(t){this.#n.has(t)||this.#n.set(t,{d:[],m:[]})}unskip_effect(t){var n=this.#n.get(t);if(n){this.#n.delete(t);for(var r of n.d)b(r,T),this.schedule(r);for(r of n.m)b(r,L),this.schedule(r)}}#c(){if(at++>1e3&&(H.delete(this),mn()),!this.#o()){for(const l of this.#i)this.#s.delete(l),b(l,T),this.schedule(l);for(const l of this.#s)b(l,L),this.schedule(l)}const t=this.#e;this.#e=[],this.apply();var n=le=[],r=[],s=Se=[];for(const l of t)try{this.#d(l,n,r)}catch(f){throw Rt(l),f}if(w=null,s.length>0){var i=z.ensure();for(const l of s)i.schedule(l)}if(le=null,Se=null,this.#o()||this.#h()){this.#v(r),this.#v(n);for(const[l,f]of this.#n)St(l,f)}else{this.#r.size===0&&H.delete(this),this.#i.clear(),this.#s.clear();for(const l of this.#l)l(this);this.#l.clear(),lt(r),lt(n),this.#_?.resolve()}var u=w;if(this.#e.length>0){const l=u??=this;l.#e.push(...this.#e.filter(f=>!l.#e.includes(f)))}u!==null&&(H.add(u),u.#c()),H.has(this)||this.#p()}#d(t,n,r){t.f^=y;for(var s=t.first;s!==null;){var i=s.f,u=(i&(F|te))!==0,l=u&&(i&y)!==0,f=l||(i&P)!==0||this.#n.has(s);if(!f&&s.fn!==null){u?s.f^=y:(i&ee)!==0?n.push(s):Te(s)&&((i&K)!==0&&this.#s.add(s),_e(s));var a=s.first;if(a!==null){s=a;continue}}for(;s!==null;){var o=s.next;if(o!==null){s=o;break}s=s.parent}}}#v(t){for(var n=0;n<t.length;n+=1)bn(t[n],this.#i,this.#s)}capture(t,n,r=!1){n!==m&&!this.previous.has(t)&&this.previous.set(t,n),(t.f&U)===0&&(this.current.set(t,[t.v,r]),D?.set(t,t.v))}activate(){w=this}deactivate(){w=null,D=null}flush(){try{Ce=!0,w=this,this.#c()}finally{at=0,Ye=null,le=null,Se=null,Ce=!1,w=null,D=null,V.clear()}}discard(){for(const t of this.#f)t(this);this.#f.clear(),H.delete(this)}#p(){for(const a of H){var t=a.id<this.id,n=[];for(const[o,[_,c]]of this.current){if(a.current.has(o)){var r=a.current.get(o)[0];if(t&&_!==r)a.current.set(o,[_,c]);else continue}n.push(o)}var s=[...a.current.keys()].filter(o=>!this.current.has(o));if(s.length===0)t&&a.discard();else if(n.length>0){a.activate();var i=new Set,u=new Map;for(var l of n)Tt(l,s,i,u);if(a.#e.length>0){a.apply();for(var f of a.#e)a.#d(f,[],[]);a.#e=[]}a.deactivate()}}for(const a of H)a.#a.has(this)&&(a.#a.delete(this),a.#a.size===0&&!a.#o()&&(a.activate(),a.#c()))}increment(t,n){let r=this.#r.get(n)??0;if(this.#r.set(n,r+1),t){let s=this.#t.get(n)??0;this.#t.set(n,s+1)}}decrement(t,n,r){let s=this.#r.get(n)??0;if(s===1?this.#r.delete(n):this.#r.set(n,s-1),t){let i=this.#t.get(n)??0;i===1?this.#t.delete(n):this.#t.set(n,i-1)}this.#u||r||(this.#u=!0,je(()=>{this.#u=!1,this.flush()}))}transfer_effects(t,n){for(const r of t)this.#i.add(r);for(const r of n)this.#s.add(r);t.clear(),n.clear()}oncommit(t){this.#l.add(t)}ondiscard(t){this.#f.add(t)}settled(){return(this.#_??=vt()).promise}static ensure(){if(w===null){const t=w=new z;Ce||(H.add(w),we||je(()=>{w===t&&t.flush()}))}return w}apply(){{D=null;return}}schedule(t){if(Ye=t,t.b?.is_pending&&(t.f&(ee|ye|Ve))!==0&&(t.f&ie)===0){t.b.defer_effect(t);return}for(var n=t;n.parent!==null;){n=n.parent;var r=n.f;if(le!==null&&n===v&&(d===null||(d.f&E)===0))return;if((r&(te|F))!==0){if((r&y)===0)return;n.f^=y}}this.#e.push(n)}}function En(e){var t=we;we=!0;try{for(var n;;){if(hn(),w===null)return n;w.flush()}}finally{we=t}}function mn(){try{ln()}catch(e){Oe(e,Ye)}}let j=null;function lt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if((r.f&(C|P))===0&&Te(r)&&(j=new Set,_e(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&jt(r),j?.size>0)){V.clear();for(const s of j){if((s.f&(C|P))!==0)continue;const i=[s];let u=s.parent;for(;u!==null;)j.has(u)&&(j.delete(u),i.push(u)),u=u.parent;for(let l=i.length-1;l>=0;l--){const f=i[l];(f.f&(C|P))===0&&_e(f)}}j.clear()}}j=null}}function Tt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;(i&E)!==0?Tt(s,t,n,r):(i&(Be|K))!==0&&(i&T)===0&&At(s,t,r)&&(b(s,T),$e(s))}}function At(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(ue.call(t,s))return!0;if((s.f&E)!==0&&At(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function $e(e){w.schedule(e)}function St(e,t){if(!((e.f&F)!==0&&(e.f&y)!==0)){(e.f&T)!==0?t.d.push(e):(e.f&L)!==0&&t.m.push(e),b(e,y);for(var n=e.first;n!==null;)St(n,t),n=n.next}}function Rt(e){b(e,y);for(var t=e.first;t!==null;)Rt(t),t=t.next}function Nt(e,t,n,r){const s=me()?Ze:Sn;var i=e.filter(c=>!c.settled);if(n.length===0&&i.length===0){r(t.map(s));return}var u=v,l=Tn(),f=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(c=>c.promise)):null;function a(c){l();try{r(c)}catch(p){(u.f&C)===0&&Oe(p,u)}ke()}if(n.length===0){f.then(()=>a(t.map(s)));return}var o=Xe();function _(){Promise.all(n.map(c=>An(c))).then(c=>a([...t.map(s),...c])).catch(c=>Oe(c,u)).finally(()=>o())}f?f.then(()=>{l(),_(),ke()}):_()}function Tn(){var e=v,t=d,n=g,r=w;return function(i=!0){ce(e),G(t),xe(n),i&&(e.f&C)===0&&(r?.activate(),r?.apply())}}function ke(e=!0){ce(null),G(null),xe(null),e&&w?.deactivate()}function Xe(){var e=v,t=e.b,n=w,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),(s=!1)=>{t.update_pending_count(-1,n),n.decrement(r,e,s)}}function Ze(e){var t=E|T,n=d!==null&&(d.f&E)!==0?d:null;return v!==null&&(v.f|=ge),{ctx:g,deps:null,effects:null,equals:bt,f:t,fn:e,reactions:null,rv:0,v:m,wv:0,parent:n??v,ac:null}}function An(e,t,n){let r=v;r===null&&nn();var s=void 0,i=Je(m),u=!d,l=new Map;return Ln(()=>{var f=v,a=vt();s=a.promise;try{Promise.resolve(e()).then(a.resolve,a.reject).finally(ke)}catch(p){a.reject(p),ke()}var o=w;if(u){if((f.f&ie)!==0)var _=Xe();if(r.b.is_rendered())l.get(o)?.reject(Y),l.delete(o);else{for(const p of l.values())p.reject(Y);l.clear()}l.set(o,a)}const c=(p,h=void 0)=>{if(_){var I=h===Y;_(I)}if(!(h===Y||(f.f&C)!==0)){if(o.activate(),h)i.f|=U,qe(i,h);else{(i.f&U)!==0&&(i.f^=U),qe(i,p);for(const[de,Ae]of l){if(l.delete(de),de===o)break;Ae.reject(Y)}}o.deactivate()}};a.promise.then(c,p=>c(null,p||"unknown"))}),Cn(()=>{for(const f of l.values())f.reject(Y)}),new Promise(f=>{function a(o){function _(){o===s?f(i):a(s)}o.then(_,_)}a(s)})}function Lr(e){const t=Ze(e);return qt(t),t}function Sn(e){const t=Ze(e);return t.equals=gt,t}function Rn(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)re(t[n])}}function Nn(e){for(var t=e.parent;t!==null;){if((t.f&E)===0)return(t.f&C)===0?t:null;t=t.parent}return null}function We(e){var t,n=v;ce(Nn(e));try{e.f&=~ne,Rn(e),t=zt(e)}finally{ce(n)}return t}function xt(e){var t=e.v,n=We(e);if(!e.equals(n)&&(e.wv=Vt(),(!w?.is_fork||e.deps===null)&&(e.v=n,w?.capture(e,t,!0),e.deps===null))){b(e,y);return}se||(D!==null?(Ct()||w?.is_fork)&&D.set(e,n):Ke(e))}function xn(e){if(e.effects!==null)for(const t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(Y),t.teardown=pe,t.ac=null,be(t,0),tt(t))}function Ot(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&_e(t)}let He=new Set;const V=new Map;let kt=!1;function Je(e,t){var n={f:0,v:e,reactions:null,equals:bt,rv:0,wv:0};return n}function q(e,t){const n=Je(e);return qt(n),n}function jr(e,t=!1,n=!0){const r=Je(e);return t||(r.equals=gt),Ee&&n&&g!==null&&g.l!==null&&(g.l.s??=[]).push(r),r}function X(e,t,n=!1){d!==null&&(!M||(d.f&it)!==0)&&me()&&(d.f&(E|K|Be|it))!==0&&(O===null||!ue.call(O,e))&&on();let r=n?ve(t):t;return qe(e,r,Se)}function qe(e,t,n=null){if(!e.equals(t)){var r=e.v;se?V.set(e,t):V.set(e,r),e.v=t;var s=z.ensure();if(s.capture(e,r),(e.f&E)!==0){const i=e;(e.f&T)!==0&&We(i),D===null&&Ke(i)}e.wv=Vt(),It(e,T,n),me()&&v!==null&&(v.f&y)!==0&&(v.f&(F|te))===0&&(N===null?qn([e]):N.push(e)),!s.is_fork&&He.size>0&&!kt&&On()}return t}function On(){kt=!1;for(const e of He)(e.f&y)!==0&&b(e,L),Te(e)&&_e(e);He.clear()}function Fe(e){X(e,e.v+1)}function It(e,t,n){var r=e.reactions;if(r!==null)for(var s=me(),i=r.length,u=0;u<i;u++){var l=r[u],f=l.f;if(!(!s&&l===v)){var a=(f&T)===0;if(a&&b(l,t),(f&E)!==0){var o=l;D?.delete(o),(f&ne)===0&&(f&x&&(l.f|=ne),It(o,L,n))}else if(a){var _=l;(f&K)!==0&&j!==null&&j.add(_),n!==null?n.push(_):$e(_)}}}}function ve(e){if(typeof e!="object"||e===null||J in e)return e;const t=dt(e);if(t!==Wt&&t!==Jt)return e;var n=new Map,r=$t(e),s=q(0),i=Q,u=l=>{if(Q===i)return l();var f=d,a=Q;G(null),_t(i);var o=l();return G(f),_t(a),o};return r&&n.set("length",q(e.length)),new Proxy(e,{defineProperty(l,f,a){(!("value"in a)||a.configurable===!1||a.enumerable===!1||a.writable===!1)&&fn();var o=n.get(f);return o===void 0?u(()=>{var _=q(a.value);return n.set(f,_),_}):X(o,a.value,!0),!0},deleteProperty(l,f){var a=n.get(f);if(a===void 0){if(f in l){const o=u(()=>q(m));n.set(f,o),Fe(s)}}else X(a,m),Fe(s);return!0},get(l,f,a){if(f===J)return e;var o=n.get(f),_=f in l;if(o===void 0&&(!_||he(l,f)?.writable)&&(o=u(()=>{var p=ve(_?l[f]:m),h=q(p);return h}),n.set(f,o)),o!==void 0){var c=fe(o);return c===m?void 0:c}return Reflect.get(l,f,a)},getOwnPropertyDescriptor(l,f){var a=Reflect.getOwnPropertyDescriptor(l,f);if(a&&"value"in a){var o=n.get(f);o&&(a.value=fe(o))}else if(a===void 0){var _=n.get(f),c=_?.v;if(_!==void 0&&c!==m)return{enumerable:!0,configurable:!0,value:c,writable:!0}}return a},has(l,f){if(f===J)return!0;var a=n.get(f),o=a!==void 0&&a.v!==m||Reflect.has(l,f);if(a!==void 0||v!==null&&(!o||he(l,f)?.writable)){a===void 0&&(a=u(()=>{var c=o?ve(l[f]):m,p=q(c);return p}),n.set(f,a));var _=fe(a);if(_===m)return!1}return o},set(l,f,a,o){var _=n.get(f),c=f in l;if(r&&f==="length")for(var p=a;p<_.v;p+=1){var h=n.get(p+"");h!==void 0?X(h,m):p in l&&(h=u(()=>q(m)),n.set(p+"",h))}if(_===void 0)(!c||he(l,f)?.writable)&&(_=u(()=>q(void 0)),X(_,ve(a)),n.set(f,_));else{c=_.v!==m;var I=u(()=>ve(a));X(_,I)}var de=Reflect.getOwnPropertyDescriptor(l,f);if(de?.set&&de.set.call(o,a),!c){if(r&&typeof f=="string"){var Ae=n.get("length"),Pe=Number(f);Number.isInteger(Pe)&&Pe>=Ae.v&&X(Ae,Pe+1)}Fe(s)}return!0},ownKeys(l){fe(s);var f=Reflect.ownKeys(l).filter(_=>{var c=n.get(_);return c===void 0||c.v!==m});for(var[a,o]of n)o.v!==m&&!(a in l)&&f.push(a);return f},setPrototypeOf(){un()}})}function ft(e){try{if(e!==null&&typeof e=="object"&&J in e)return e[J]}catch{}return e}function Yr(e,t){return Object.is(ft(e),ft(t))}var ut,kn,In,Dt,Mt;function Hr(){if(ut===void 0){ut=window,kn=document,In=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Dt=he(t,"firstChild").get,Mt=he(t,"nextSibling").get,rt(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),rt(n)&&(n.__t=void 0)}}function Ie(e=""){return document.createTextNode(e)}function De(e){return Dt.call(e)}function $(e){return Mt.call(e)}function qr(e,t){if(!B)return De(e);var n=De(S);if(n===null)n=S.appendChild(Ie());else if(t&&n.nodeType!==Me){var r=Ie();return n?.before(r),oe(r),r}return t&&Qe(n),oe(n),n}function Ur(e,t=!1){if(!B){var n=De(e);return n instanceof Comment&&n.data===""?$(n):n}if(t){if(S?.nodeType!==Me){var r=Ie();return S?.before(r),oe(r),r}Qe(S)}return S}function Vr(e,t=1,n=!1){let r=B?S:e;for(var s;t--;)s=r,r=$(r);if(!B)return r;if(n){if(r?.nodeType!==Me){var i=Ie();return r===null?s?.after(i):r.before(i),oe(i),i}Qe(r)}return oe(r),r}function Dn(e){e.textContent=""}function Br(){return!1}function zr(e,t,n){return document.createElementNS(t??vn,e,void 0)}function Qe(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===Me;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function Gr(e,t){if(t){const n=document.body;e.autofocus=!0,je(()=>{document.activeElement===n&&e.focus()})}}function Kr(e){B&&De(e)!==null&&Dn(e)}let ot=!1;function Mn(){ot||(ot=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function et(e){var t=d,n=v;G(null),ce(null);try{return e()}finally{G(t),ce(n)}}function $r(e,t,n,r=n){e.addEventListener(t,()=>et(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),Mn()}function Pt(e){v===null&&(d===null&&an(),sn()),se&&rn()}function Pn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function k(e,t){var n=v;n!==null&&(n.f&P)!==0&&(e|=P);var r={ctx:g,deps:null,nodes:null,f:e|T|x,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null},s=r;if((e&ee)!==0)le!==null?le.push(r):z.ensure().schedule(r);else if(t!==null){try{_e(r)}catch(u){throw re(r),u}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&ge)===0&&(s=s.first,(e&K)!==0&&(e&Ne)!==0&&s!==null&&(s.f|=Ne))}if(s!==null&&(s.parent=n,n!==null&&Pn(s,n),d!==null&&(d.f&E)!==0&&(e&te)===0)){var i=d;(i.effects??=[]).push(s)}return r}function Ct(){return d!==null&&!M}function Cn(e){const t=k(ye,null);return b(t,y),t.teardown=e,t}function Fn(e){Pt();var t=v.f,n=!d&&(t&F)!==0&&(t&ie)===0;if(n){var r=g;(r.e??=[]).push(e)}else return Ft(e)}function Ft(e){return k(ee|ht,e)}function Xr(e){return Pt(),k(ye|ht,e)}function Zr(e){z.ensure();const t=k(te|ge,e);return(n={})=>new Promise(r=>{n.outro?Hn(t,()=>{re(t),r(void 0)}):(re(t),r(void 0))})}function Wr(e){return k(ee,e)}function Ln(e){return k(Be|ge,e)}function Jr(e,t=0){return k(ye|t,e)}function Qr(e,t=[],n=[],r=[]){Nt(r,t,n,s=>{k(ye,()=>e(...s.map(fe)))})}function es(e,t=[],n=[],r=[]){if(n.length>0||r.length>0)var s=Xe();Nt(r,t,n,i=>{k(ee,()=>e(...i.map(fe))),s&&s()})}function ts(e,t=0){var n=k(K|t,e);return n}function ns(e,t=0){var n=k(Ve|t,e);return n}function rs(e){return k(F|ge,e)}function Lt(e){var t=e.teardown;if(t!==null){const n=se,r=d;ct(!0),G(null);try{t.call(null)}finally{ct(n),G(r)}}}function tt(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&et(()=>{s.abort(Y)});var r=n.next;(n.f&te)!==0?n.parent=null:re(n,t),n=r}}function jn(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&F)===0&&re(t),t=n}}function re(e,t=!0){var n=!1;(t||(e.f&tn)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(Yn(e.nodes.start,e.nodes.end),n=!0),b(e,st),tt(e,t&&!n),be(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const i of r)i.stop();Lt(e),e.f^=st,e.f|=C;var s=e.parent;s!==null&&s.first!==null&&jt(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Yn(e,t){for(;e!==null;){var n=e===t?null:$(e);e.remove(),e=n}}function jt(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Hn(e,t,n=!0){var r=[];Yt(e,r,!0);var s=()=>{n&&re(e),t&&t()},i=r.length;if(i>0){var u=()=>--i||s();for(var l of r)l.out(u)}else s()}function Yt(e,t,n){if((e.f&P)===0){e.f^=P;var r=e.nodes&&e.nodes.t;if(r!==null)for(const l of r)(l.is_global||n)&&t.push(l);for(var s=e.first;s!==null;){var i=s.next,u=(s.f&Ne)!==0||(s.f&F)!==0&&(e.f&K)!==0;Yt(s,t,u?n:!1),s=i}}}function ss(e){Ht(e,!0)}function Ht(e,t){if((e.f&P)!==0){e.f^=P,(e.f&y)===0&&(b(e,T),z.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&Ne)!==0||(n.f&F)!==0;Ht(n,s?t:!1),n=r}var i=e.nodes&&e.nodes.t;if(i!==null)for(const u of i)(u.is_global||t)&&u.in()}}function is(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:$(n);t.append(n),n=s}}let Re=!1,se=!1;function ct(e){se=e}let d=null,M=!1;function G(e){d=e}let v=null;function ce(e){v=e}let O=null;function qt(e){d!==null&&(O===null?O=[e]:O.push(e))}let A=null,R=0,N=null;function qn(e){N=e}let Ut=1,W=0,Q=W;function _t(e){Q=e}function Vt(){return++Ut}function Te(e){var t=e.f;if((t&T)!==0)return!0;if(t&E&&(e.f&=~ne),(t&L)!==0){for(var n=e.deps,r=n.length,s=0;s<r;s++){var i=n[s];if(Te(i)&&xt(i),i.wv>e.wv)return!0}(t&x)!==0&&D===null&&b(e,y)}return!1}function Bt(e,t,n=!0){var r=e.reactions;if(r!==null&&!(O!==null&&ue.call(O,e)))for(var s=0;s<r.length;s++){var i=r[s];(i.f&E)!==0?Bt(i,t,!1):t===i&&(n?b(i,T):(i.f&y)!==0&&b(i,L),$e(i))}}function zt(e){var t=A,n=R,r=N,s=d,i=O,u=g,l=M,f=Q,a=e.f;A=null,R=0,N=null,d=(a&(F|te))===0?e:null,O=null,xe(e.ctx),M=!1,Q=++W,e.ac!==null&&(et(()=>{e.ac.abort(Y)}),e.ac=null);try{e.f|=Le;var o=e.fn,_=o();e.f|=ie;var c=e.deps,p=w?.is_fork;if(A!==null){var h;if(p||be(e,R),c!==null&&R>0)for(c.length=R+A.length,h=0;h<A.length;h++)c[R+h]=A[h];else e.deps=c=A;if(Ct()&&(e.f&x)!==0)for(h=R;h<c.length;h++)(c[h].reactions??=[]).push(e)}else!p&&c!==null&&R<c.length&&(be(e,R),c.length=R);if(me()&&N!==null&&!M&&c!==null&&(e.f&(E|L|T))===0)for(h=0;h<N.length;h++)Bt(N[h],e);if(s!==null&&s!==e){if(W++,s.deps!==null)for(let I=0;I<n;I+=1)s.deps[I].rv=W;if(t!==null)for(const I of t)I.rv=W;N!==null&&(r===null?r=N:r.push(...N))}return(e.f&U)!==0&&(e.f^=U),_}catch(I){return pn(I)}finally{e.f^=Le,A=t,R=n,N=r,d=s,O=i,xe(u),M=l,Q=f}}function Un(e,t){let n=t.reactions;if(n!==null){var r=Xt.call(n,e);if(r!==-1){var s=n.length-1;s===0?n=t.reactions=null:(n[r]=n[s],n.pop())}}if(n===null&&(t.f&E)!==0&&(A===null||!ue.call(A,t))){var i=t;(i.f&x)!==0&&(i.f^=x,i.f&=~ne),Ke(i),xn(i),be(i,0)}}function be(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Un(e,n[r])}function _e(e){var t=e.f;if((t&C)===0){b(e,y);var n=v,r=Re;v=e,Re=!0;try{(t&(K|Ve))!==0?jn(e):tt(e),Lt(e);var s=zt(e);e.teardown=typeof s=="function"?s:null,e.wv=Ut;var i}finally{Re=r,v=n}}}async function as(){await Promise.resolve(),En()}function ls(){return z.ensure().settled()}function fe(e){var t=e.f,n=(t&E)!==0;if(d!==null&&!M){var r=v!==null&&(v.f&C)!==0;if(!r&&(O===null||!ue.call(O,e))){var s=d.deps;if((d.f&Le)!==0)e.rv<W&&(e.rv=W,A===null&&s!==null&&s[R]===e?R++:A===null?A=[e]:A.push(e));else{(d.deps??=[]).push(e);var i=e.reactions;i===null?e.reactions=[d]:ue.call(i,d)||i.push(d)}}}if(se&&V.has(e))return V.get(e);if(n){var u=e;if(se){var l=u.v;return((u.f&y)===0&&u.reactions!==null||Kt(u))&&(l=We(u)),V.set(u,l),l}var f=(u.f&x)===0&&!M&&d!==null&&(Re||(d.f&x)!==0),a=(u.f&ie)===0;Te(u)&&(f&&(u.f|=x),xt(u)),f&&!a&&(Ot(u),Gt(u))}if(D?.has(e))return D.get(e);if((e.f&U)!==0)throw e.v;return e.v}function Gt(e){if(e.f|=x,e.deps!==null)for(const t of e.deps)(t.reactions??=[]).push(e),(t.f&E)!==0&&(t.f&x)===0&&(Ot(t),Gt(t))}function Kt(e){if(e.v===m)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(V.has(t)||(t.f&E)!==0&&Kt(t))return!0;return!1}function nt(e){var t=M;try{return M=!0,e()}finally{M=t}}function fs(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(J in e)Ue(e);else if(!Array.isArray(e))for(let t in e){const n=e[t];typeof n=="object"&&n&&J in n&&Ue(n)}}}function Ue(e,t=new Set){if(typeof e=="object"&&e!==null&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let r in e)try{Ue(e[r],t)}catch{}const n=dt(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){const r=Zt(n);for(let s in r){const i=r[s].get;if(i)try{i.call(e)}catch{}}}}}function Vn(e){g===null&&wt(),Ee&&g.l!==null?Bn(g).m.push(e):Fn(()=>{const t=nt(e);if(typeof t=="function")return t})}function us(e){g===null&&wt(),Vn(()=>()=>nt(e))}function Bn(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}export{kn as $,Ie as A,rs as B,w as C,B as D,S as E,is as F,Br as G,g as H,Xr as I,Fn as J,nt as K,Qt as L,$n as M,fs as N,Ze as O,Dr as P,ts as Q,Nr as R,Ne as S,Ir as T,kr as U,oe as V,Rr as W,Jr as X,v as Y,st as Z,J as _,q as a,F as a$,he as a0,rr as a1,_r as a2,se as a3,C as a4,dr as a5,Ee as a6,cr as a7,or as a8,Sn as a9,Sr as aA,et as aB,zr as aC,De as aD,In as aE,br as aF,yr as aG,ie as aH,Me as aI,Qe as aJ,Hr as aK,pt as aL,$ as aM,ze as aN,nr as aO,Dn as aP,Zr as aQ,zn as aR,dn as aS,Ge as aT,tr as aU,$t as aV,ar as aW,ir as aX,ur as aY,Zn as aZ,P as a_,vr as aa,Wn as ab,Kn as ac,ut as ad,Q as ae,Je as af,Fe as ag,as as ah,cn as ai,En as aj,Ct as ak,je as al,en as am,_n as an,gr as ao,bn as ap,ce as aq,G as ar,xe as as,z as at,pn as au,d as av,qe as aw,Oe as ax,ge as ay,sr as az,ve as b,lr as b0,fr as b1,Yn as b2,Er as b3,mr as b4,K as b5,wr as b6,hr as b7,pr as b8,tn as b9,ns as ba,Ar as bb,Yr as bc,Jn as bd,vn as be,er as bf,dt as bg,Mn as bh,Zt as bi,Nt as bj,Tr as bk,Gr as bl,m as bm,$r as bn,Kr as bo,Xn as bp,Cr as bq,ls as br,qr as c,us as d,Pr as e,Ur as f,X as g,fe as h,Wr as i,es as j,Cn as k,Gn as l,pe as m,Or as n,Vn as o,Mr as p,jr as q,xr as r,Vr as s,Qr as t,Lr as u,yn as v,Fr as w,ss as x,re as y,Hn as z};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.D0i5MqcI.js","../chunks/BeONA6_G.js","../chunks/tjbnEgXP.js","../chunks/K_aHH2KN.js","../chunks/ClK4wZbC.js","../assets/markdown.Dc-OSJWY.css","../chunks/CHvUpVYv.js","../chunks/CdL99jkG.js","../assets/0.DC5pAwP3.css","../nodes/1.DN5n5c6F.js","../chunks/BDC7XD4o.js","../nodes/2.BTjkNKZJ.js","../chunks/Ona8oofC.js","../chunks/DREFAyhX.js","../assets/Phone.FQEfwCX2.css","../chunks/CbqC9BW7.js","../chunks/DSU1n5N_.js","../chunks/CojFyTPp.js","../chunks/CGLrx-H5.js","../assets/2.CAShZ7lQ.css","../nodes/3.CEkigHDv.js","../assets/3.BoXp0JoS.css","../nodes/4.B-8Zsc9k.js","../assets/4.cJuCkJKZ.css","../nodes/5.shitbtHc.js","../chunks/BygiiMA0.js","../assets/ChatView.CsdBAOKx.css","../assets/5.DRjApZQW.css","../nodes/6.CB8Q6eH8.js","../assets/6.eZGZN-BF.css","../nodes/7.D0CrR6pl.js","../chunks/PPVm8Dsz.js","../assets/7.PyEFVv_s.css"])))=>i.map(i=>d[i]);
2
+ import{_}from"../chunks/PPVm8Dsz.js";import{D as V,R as G,Q as H,S as J,T as Q,U,V as W,W as j,ai as z,E as K,g as R,ab as X,h as u,aj as Z,l as $,q as tt,p as et,I as rt,J as at,o as st,ah as ot,f as b,s as nt,e as it,a as O,c as ct,r as ut,t as _t,u as p}from"../chunks/tjbnEgXP.js";import{h as mt,m as dt,u as lt,a as v,c as T,f as k,t as ft,s as ht}from"../chunks/BeONA6_G.js";import{p as A,i as x,b as D}from"../chunks/Ona8oofC.js";import{B as vt}from"../chunks/K_aHH2KN.js";function I(s,t,a){var n;V&&(n=K,G());var o=new vt(s);H(()=>{var e=t()??null;if(V){var r=Q(n),c=r===z,P=e!==null;if(c!==P){var g=U();W(g),o.anchor=g,j(!1),o.ensure(e,e&&(f=>a(f,e))),j(!0);return}}o.ensure(e,e&&(f=>a(f,e)))},J)}function gt(s){return class extends Et{constructor(t){super({component:s,...t})}}}class Et{#e;#t;constructor(t){var a=new Map,n=(e,r)=>{var c=tt(r,!1,!1);return a.set(e,c),c};const o=new Proxy({...t.props||{},$$events:{}},{get(e,r){return u(a.get(r)??n(r,Reflect.get(e,r)))},has(e,r){return r===X?!0:(u(a.get(r)??n(r,Reflect.get(e,r))),Reflect.has(e,r))},set(e,r,c){return R(a.get(r)??n(r,c),c),Reflect.set(e,r,c)}});this.#t=(t.hydrate?mt:dt)(t.component,{target:t.target,anchor:t.anchor,props:o,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError}),(!t?.props?.$$host||t.sync===!1)&&Z(),this.#e=o.$$events;for(const e of Object.keys(this.#t))e==="$set"||e==="$destroy"||e==="$on"||$(this,e,{get(){return this.#t[e]},set(r){this.#t[e]=r},enumerable:!0});this.#t.$set=e=>{Object.assign(o,e)},this.#t.$destroy=()=>{lt(this.#t)}}$set(t){this.#t.$set(t)}$on(t,a){this.#e[t]=this.#e[t]||[];const n=(...o)=>a.call(this,...o);return this.#e[t].push(n),()=>{this.#e[t]=this.#e[t].filter(o=>o!==n)}}$destroy(){this.#t.$destroy()}}const It={};var yt=k('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),bt=k("<!> <!>",1);function Rt(s,t){et(t,!0);let a=A(t,"components",23,()=>[]),n=A(t,"data_0",3,null),o=A(t,"data_1",3,null);rt(()=>t.stores.page.set(t.page)),at(()=>{t.stores,t.page,t.constructors,a(),t.form,n(),o(),t.stores.page.notify()});let e=O(!1),r=O(!1),c=O(null);st(()=>{const i=t.stores.page.subscribe(()=>{u(e)&&(R(r,!0),ot().then(()=>{R(c,document.title||"untitled page",!0)}))});return R(e,!0),i});const P=p(()=>t.constructors[1]);var g=bt(),f=b(g);{var S=i=>{const m=p(()=>t.constructors[0]);var d=T(),E=b(d);I(E,()=>u(m),(l,h)=>{D(h(l,{get data(){return n()},get form(){return t.form},get params(){return t.page.params},children:(y,Ot)=>{var L=T(),B=b(L);I(B,()=>u(P),(F,Y)=>{D(Y(F,{get data(){return o()},get form(){return t.form},get params(){return t.page.params}}),q=>a()[1]=q,()=>a()?.[1])}),v(y,L)},$$slots:{default:!0}}),y=>a()[0]=y,()=>a()?.[0])}),v(i,d)},C=i=>{const m=p(()=>t.constructors[0]);var d=T(),E=b(d);I(E,()=>u(m),(l,h)=>{D(h(l,{get data(){return n()},get form(){return t.form},get params(){return t.page.params}}),y=>a()[0]=y,()=>a()?.[0])}),v(i,d)};x(f,i=>{t.constructors[1]?i(S):i(C,-1)})}var M=nt(f,2);{var N=i=>{var m=yt(),d=ct(m);{var E=l=>{var h=ft();_t(()=>ht(h,u(c))),v(l,h)};x(d,l=>{u(r)&&l(E)})}ut(m),v(i,m)};x(M,i=>{u(e)&&i(N)})}v(s,g),it()}const Lt=gt(Rt),Vt=[()=>_(()=>import("../nodes/0.D0i5MqcI.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),()=>_(()=>import("../nodes/1.DN5n5c6F.js"),__vite__mapDeps([9,1,2,10,6]),import.meta.url),()=>_(()=>import("../nodes/2.BTjkNKZJ.js"),__vite__mapDeps([11,1,2,12,3,13,4,5,14,6,15,16,17,18,19]),import.meta.url),()=>_(()=>import("../nodes/3.CEkigHDv.js"),__vite__mapDeps([20,1,2,12,3,13,4,5,14,16,21]),import.meta.url),()=>_(()=>import("../nodes/4.B-8Zsc9k.js"),__vite__mapDeps([22,1,2,12,3,13,4,5,14,10,6,15,16,17,18,23]),import.meta.url),()=>_(()=>import("../nodes/5.shitbtHc.js"),__vite__mapDeps([24,1,2,12,3,13,4,5,14,10,6,15,17,25,26,27]),import.meta.url),()=>_(()=>import("../nodes/6.CB8Q6eH8.js"),__vite__mapDeps([28,1,2,12,3,13,4,5,14,6,15,16,17,18,29]),import.meta.url),()=>_(()=>import("../nodes/7.D0CrR6pl.js"),__vite__mapDeps([30,31,1,2,3,12,13,4,5,14,6,7,17,25,26,32]),import.meta.url)],jt=[],kt={"/":[2],"/config":[3],"/project":[4],"/session/[id]":[5],"/terminals":[6],"/terminals/[id]":[7]},w={handleError:(({error:s})=>{console.error(s)}),reroute:(()=>{}),transport:{}},Pt=Object.fromEntries(Object.entries(w.transport).map(([s,t])=>[s,t.decode])),wt=Object.fromEntries(Object.entries(w.transport).map(([s,t])=>[s,t.encode])),St=!1,Ct=(s,t)=>Pt[s](t);export{Ct as decode,Pt as decoders,kt as dictionary,wt as encoders,St as hash,w as hooks,It as matchers,Vt as nodes,Lt as root,jt as server_loads};
@@ -0,0 +1 @@
1
+ import{l as o,a as r}from"../chunks/CHvUpVYv.js";export{o as load_css,r as start};
@@ -0,0 +1,2 @@
1
+ )�import{l as o,a as r}from"../chunks/CHvUpVYv.js";export{o as load_css,r as start};
2
+ 
@@ -0,0 +1 @@
1
+ import{a as j,f as A,s as H,d as M,b as V}from"../chunks/BeONA6_G.js";import{t as C,s as i,c as t,r as e,p as W,o as z,e as I,g as f,h as O,a as D}from"../chunks/tjbnEgXP.js";import{s as L,a as P}from"../chunks/K_aHH2KN.js";import{a as v,s as T}from"../chunks/ClK4wZbC.js";import{g as E}from"../chunks/CHvUpVYv.js";import{p as F}from"../chunks/CdL99jkG.js";var G=A('<div><span class="status-dot"></span> <span> </span></div>');function J(u,c){function s(a){switch(a){case"degraded":return"Degraded";case"error":return"Offline";case"healthy":return"Online";default:return"Checking"}}function p(a){switch(a){case"degraded":return"degraded";case"error":return"offline";case"healthy":return"online";default:return""}}var n=G(),r=i(t(n),2),d=t(r,!0);e(r),e(n),C((a,h)=>{v(n,1,`status-badge ${a??""}`),H(d,h)},[()=>p(c.status),()=>s(c.status)]),j(u,n)}var K=A('<div class="app"><header class="header"><div class="header-content"><a href="/" class="logo"><img src="/app-icon.png" alt="Shooter" class="logo-icon" width="24" height="24"/> <span class="logo-text">Shooter</span></a> <div class="nav-right svelte-12qhfyh"><!> <button aria-label="Settings"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"></circle><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"></path></svg></button></div></div></header> <div class="content-area svelte-12qhfyh"><!></div> <nav class="bottom-tabs svelte-12qhfyh"><div class="bottom-tabs-inner svelte-12qhfyh"><a href="/"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path></svg> <span>Projects</span></a> <a href="/terminals"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 17 10 11 4 5"></polyline><line x1="12" y1="19" x2="20" y2="19"></line></svg> <span>Terminals</span></a></div></nav></div>');function Z(u,c){W(c,!0);const s=()=>P(F,"$page",p),[p,n]=L();let r=D("unknown");z(()=>{d();const o=setInterval(()=>{d()},3e4);return()=>{clearInterval(o)}});async function d(){try{const o=await fetch("/api/health");if(!o.ok){f(r,"error");return}const l=await o.json();f(r,l.status==="healthy"||l.status==="degraded"||l.status==="error"?l.status:"unknown",!0)}catch{f(r,"error")}}var a=K(),h=t(a),m=t(h),y=i(t(m),2),k=t(y);J(k,{get status(){return O(r)}});var b=i(k,2);e(y),e(m),e(h);var g=i(h,2),$=t(g);T($,()=>c.children),e(g);var w=i(g,2),_=t(w),x=t(_);let S;var B=i(x,2);let q;e(_),e(w),e(a),C((o,l)=>{v(b,1,`btn-gear ${s().url.pathname==="/config"?"btn-gear-active":""}`,"svelte-12qhfyh"),S=v(x,1,"tab-item svelte-12qhfyh",null,S,o),q=v(B,1,"tab-item svelte-12qhfyh",null,q,l)},[()=>({active:s().url.pathname==="/"||s().url.pathname.startsWith("/project")||s().url.pathname.startsWith("/session")}),()=>({active:s().url.pathname.startsWith("/terminals")})]),V("click",b,()=>E("/config")),j(u,a),I(),n()}M(["click"]);export{Z as component};
@@ -0,0 +1 @@
1
+ import{a as v,f as b,s as c}from"../chunks/BeONA6_G.js";import{H as x,I as k,J as i,K as y,L as u,M as E,h as d,N as H,O as I,P as J,p as K,f as L,t as M,e as N,c as m,r as _,s as O}from"../chunks/tjbnEgXP.js";import{p as g}from"../chunks/BDC7XD4o.js";function P(r=!1){const s=x,e=s.l.u;if(!e)return;let a=()=>H(s.s);if(r){let o=0,t={};const f=I(()=>{let p=!1;const l=s.s;for(const n in l)l[n]!==t[n]&&(t[n]=l[n],p=!0);return p&&o++,o});a=()=>d(f)}e.b.length&&k(()=>{h(s,a),u(e.b)}),i(()=>{const o=y(()=>e.m.map(E));return()=>{for(const t of o)typeof t=="function"&&t()}}),e.a.length&&i(()=>{h(s,a),u(e.a)})}function h(r,s){if(r.l.s)for(const e of r.l.s)d(e);s()}J();var j=b("<h1> </h1> <p> </p>",1);function A(r,s){K(s,!1),P();var e=j(),a=L(e),o=m(a,!0);_(a);var t=O(a,2),f=m(t,!0);_(t),M(()=>{c(o,g.status),c(f,g.error?.message)}),v(r,e),N()}export{A as component};
@@ -0,0 +1 @@
1
+ import{a as v,f as u,s as C}from"../chunks/BeONA6_G.js";import{p as de,a as m,b as ve,o as fe,d as ue,e as he,g as n,h as s,i as pe,$ as ge,c as r,s as f,f as N,n as me,r as a,u as O,t as _e}from"../chunks/tjbnEgXP.js";import{i as T}from"../chunks/Ona8oofC.js";import{h as ye,B as k,I as Ce,e as B,i as Se,P as xe,s as be}from"../chunks/DREFAyhX.js";import{g as Ie}from"../chunks/CHvUpVYv.js";import{g as Pe,s as je,S as $e}from"../chunks/CbqC9BW7.js";import{i as ke}from"../chunks/DSU1n5N_.js";import{E as z}from"../chunks/CojFyTPp.js";import"../chunks/ClK4wZbC.js";import{f as Me}from"../chunks/CGLrx-H5.js";var we=u('<meta name="description" content="Claude Code sessions across all projects"/>'),Ae=u("<!> Refresh",1),Ee=u('<div class="loading-container"></div>'),Le=u('<a class="session-card"><div class="session-card-header"><div><h3 class="session-card-title"> </h3> <div class="session-card-subtitle"> </div></div> <!></div> <div class="session-stats"><span><strong> </strong> </span></div></a>'),Re=u('<div style="text-align: center; padding: 1rem;"><!></div>'),Ke=u('<div class="projects-container svelte-1uha8ag"></div> <!>',1),Ne=u('<main class="main"><div class="page-header svelte-1uha8ag"><div class="page-header-content svelte-1uha8ag"><div><h1 class="page-title svelte-1uha8ag">Projects</h1> <p class="page-description svelte-1uha8ag">Claude Code sessions across all projects</p></div> <div class="page-actions svelte-1uha8ag"><!></div></div></div> <!></main>');function Ze(J,q){de(q,!0);const D=3e4,F=20;let i=m(ve([])),h=m(!1),S=!1,p=m(null),_=null,M=m(!1),w=m(0);fe(()=>{G();const e=Pe("shooter_projects");e&&(n(i,e,!0),n(h,!1)),y(),_=setInterval(()=>{s(p)?.apiKey&&y()},D)}),ue(()=>{_&&(clearInterval(_),_=null)});function G(){try{const e=localStorage.getItem("shooter_config");if(e){const t=JSON.parse(e);ke(t)?n(p,t,!0):(localStorage.removeItem("shooter_config"),n(p,null))}}catch{}}async function y(e=!1){if(!s(p)?.apiKey||S)return;S=!0,s(i).length===0&&n(h,!0);const t=e?s(w):0;try{const o=await fetch(`/api/sessions?limit=${F}&offset=${t}`,{headers:{Authorization:`Bearer ${s(p).apiKey}`}});if(!o.ok)return;const c=await o.json();e?n(i,[...s(i),...c.projects],!0):n(i,c.projects,!0),n(w,s(i).length,!0),n(M,c.total!==void 0?s(i).length<c.total:!1,!0),je("shooter_projects",s(i))}catch(o){console.error("Failed to fetch sessions:",o)}finally{n(h,!1),S=!1}}async function V(){await y(!0)}async function Z(){n(h,!0),sessionStorage.removeItem("shooter_projects"),await y()}function H(){Ie("/config")}function Q(){return s(i).reduce((e,t)=>e+t.sessionCount,0)}var x=Ne();ye("1uha8ag",e=>{var t=we();pe(()=>{ge.title="Projects - Shooter"}),v(e,t)});var b=r(x),A=r(b),E=f(r(A),2),U=r(E);k(U,{classes:"btn-secondary",onclick:Z,get disabled(){return s(h)},children:(e,t)=>{var o=Ae(),c=N(o);Ce(c,{name:"refresh",size:14}),me(),v(e,o)},$$slots:{default:!0}}),a(E),a(A),a(b);var W=f(b,2);{var X=e=>{var t=Ee();B(t,20,()=>Array(5),Se,(o,c)=>{$e(o,{classes:"shimmer-card"})}),a(t),v(e,t)},Y=e=>{z(e,{icon:"settings",title:"Configuration Required",description:"Set up your API credentials to start tracking sessions",children:(t,o)=>{k(t,{classes:"btn-primary",onclick:H,text:"Configure Settings"})}})},ee=e=>{z(e,{icon:"bell",title:"No sessions yet",description:"Claude Code sessions will appear here once JSONL files are found"})},se=O(()=>Q()===0),te=e=>{var t=Ke(),o=N(t);B(o,21,()=>s(i),d=>d.id,(d,l)=>{var g=Le(),I=r(g),P=r(I),j=r(P),oe=r(j,!0);a(j);var L=f(j,2),re=r(L,!0);a(L),a(P);var ie=f(P,2);{let ce=O(()=>Me(s(l).lastModified));xe(ie,{get text(){return s(ce)},classes:"pill-session-time"})}a(I);var R=f(I,2),K=r(R),$=r(K),ne=r($,!0);a($);var le=f($);a(K),a(R),a(g),_e(()=>{be(g,"href",`/project?id=${s(l).id??""}`),C(oe,s(l).name),C(re,s(l).fullPath),C(ne,s(l).sessionCount),C(le,` ${s(l).sessionCount===1?"session":"sessions"}`)}),v(d,g)}),a(o);var c=f(o,2);{var ae=d=>{var l=Re(),g=r(l);k(g,{classes:"btn-secondary",onclick:V,text:"Load More"}),a(l),v(d,l)};T(c,d=>{s(M)&&d(ae)})}v(e,t)};T(W,e=>{s(h)&&s(i).length===0?e(X):s(p)?.apiKey?s(se)?e(ee,2):e(te,-1):e(Y,1)})}a(x),v(J,x),he()}export{Ze as component};
@@ -0,0 +1,3 @@
1
+ import{a as d,f as u,s as G}from"../chunks/BeONA6_G.js";import{t as R,c as f,s as m,r as v,h as t,p as Re,o as qe,e as Qe,i as Ne,f as P,g as e,a as _,$ as Ae,u as k,n as Be}from"../chunks/tjbnEgXP.js";import{p as Ke,i as N}from"../chunks/Ona8oofC.js";import{e as Pe,d as De,i as Oe,h as Le,B as J,b as X,I as fe,a as Je,s as Me}from"../chunks/DREFAyhX.js";import{s as ze,a as ee}from"../chunks/ClK4wZbC.js";import{i as Ee}from"../chunks/DSU1n5N_.js";var Ge=u('<p class="card-description"> </p>'),je=u('<div class="card-header"><h2 class="card-title"> </h2> <!></div>'),Fe=u('<div><!> <div class="card-content"><!></div></div>');function z(c,l){const g=Ke(l,"class",3,"");var n=Fe(),p=f(n);{var i=C=>{var $=je(),U=f($),A=f(U,!0);v(U);var x=m(U,2);{var q=D=>{var B=Ge(),K=f(B,!0);v(B),R(()=>G(K,l.description)),d(D,B)};N(x,D=>{l.description&&D(q)})}v($),R(()=>G(A,l.title)),d(C,$)};N(p,C=>{l.title&&C(i)})}var h=m(p,2),o=f(h);ze(o,()=>l.children),v(h),v(n),R(()=>ee(n,1,`card ${g()??""}`)),d(c,n)}function E(c){return c instanceof Error?c.message:typeof c=="string"?c:String(c)}function He(){return ge()!==null}async function We(){const c=ge();if(!c)throw new Error("Scanner not available");return c()}function ge(){if(typeof window>"u")return null;const c=window.ShooterBridge?.scanner;if(c&&typeof c.scan=="function")return()=>c.scan();const l=window.ShooterNativeBridge?.scanner;return l&&typeof l.scan=="function"?()=>l.scan():null}var Ye=u("<div><!></div>"),Ze=u("<div></div>");function Ve(c,l){var g=Ze();Pe(g,21,()=>l.steps,Oe,(n,p,i)=>{var h=Ye();let o;var C=f(h);De(C,{get onclick(){return l.onhandleStepClick},get label(){return t(p).label},get icon(){return t(p).icon},stepIndex:i+1}),v(h),R(()=>o=ee(h,1,"step-container svelte-xw39st",null,o,{"active-step":l.currentStepIndex===i,"completed-step":l.currentStepIndex>i})),d(n,h)}),v(g),R(()=>ee(g,1,`container ${l.classes??""??""}`,"svelte-xw39st")),d(c,g)}var Xe=u('<meta name="description" content="Configure notification system settings"/>'),et=u("<!> <!> <!>",1),tt=u("<!> Test Connection",1),rt=u(`<p class="qr-description svelte-1gp6n77">Scan the QR code shown on your server's settings page to auto-configure the
2
+ connection.</p> <!>`,1),at=u('<p class="qr-server-url svelte-1gp6n77">Server: <code class="svelte-1gp6n77"> </code></p>'),nt=u('<div class="qr-container svelte-1gp6n77"><img alt="QR code for mobile app pairing" class="qr-image svelte-1gp6n77"/></div> <p class="qr-hint svelte-1gp6n77">Scan this QR code with the Shooter iOS or Android app to connect.</p> <!>',1),ot=u('<div class="qr-placeholder svelte-1gp6n77"><p class="qr-loading-text svelte-1gp6n77">Generating QR code...</p></div>'),it=u('<p class="qr-error svelte-1gp6n77"> </p>'),st=u(`<p class="qr-description svelte-1gp6n77">Generate a QR code containing your server URL and API key. Your mobile app can
3
+ scan it to auto-configure the connection.</p>`),ct=u("<!> <!>",1),lt=u('<div class="qr-section svelte-1gp6n77"><!></div>'),dt=u('<p class="danger-description svelte-1gp6n77">Clear all saved configuration data from this device.</p> <!>',1),vt=u('<main class="main"><div class="settings-container svelte-1gp6n77"><div class="page-header svelte-1gp6n77"><h1 class="page-title svelte-1gp6n77">Settings</h1> <p class="page-description svelte-1gp6n77">Configure your API credentials and notification preferences</p></div> <div class="settings-grid svelte-1gp6n77"><section class="settings-section svelte-1gp6n77"><!> <!> <div class="button-group svelte-1gp6n77"><!> <!></div></section> <aside class="settings-sidebar svelte-1gp6n77"><!> <!> <!></aside></div></div></main>');function yt(c,l){Re(l,!0);let g=_(""),n=_(""),p=_(""),i=_(""),h=_(!1),o=_(""),C=_(!1),$=_(""),U=_(""),A=_(!1),x=_(""),q=_(!1),D=_(!1),B=!1,K=_(!1);async function pe(){if(!t(n).trim()){e(x,"Save an API key first to generate a QR code");return}e(A,!0),e(x,""),e($,""),e(U,"");try{const r=await fetch("/api/qr-config",{headers:{Authorization:`Bearer ${t(n).trim()}`}});if(!r.ok){const s=await r.json();e(x,s.error||"Failed to generate QR code",!0);return}const a=await r.json();e($,a.dataUrl,!0),e(U,a.serverUrl,!0)}catch(r){e(x,`Network error: ${E(r)}`)}finally{e(A,!1)}}async function he(){e(K,!0),e(i,""),e(o,"");try{const r=await We();try{const a=JSON.parse(r);typeof a.serverUrl=="string"&&a.serverUrl&&e(g,a.serverUrl,!0),typeof a.apiKey=="string"&&a.apiKey&&e(n,a.apiKey,!0),await re();const s=t(o);s!=="error"&&s!=="warning"&&(e(i,"Configuration updated from QR code"),e(o,"success"))}catch{e(i,"Invalid QR code data"),e(o,"error")}}catch(r){const a=E(r);a!=="cancelled"&&(e(i,`Scanner error: ${a}`),e(o,"error"))}finally{e(K,!1)}}function j(){return typeof window>"u"?null:window.ShooterBridge?window.ShooterBridge:window.ShooterNativeBridge?window.ShooterNativeBridge:null}function F(){return window.location.origin}function te(){const r=j();if(r&&!B){e(C,!0);try{const a=JSON.parse(r.getConfig?.()??"{}");a.serverUrl&&e(g,a.serverUrl,!0),a.apiKey&&e(n,a.apiKey,!0);const s=r.getFcmToken?.();s&&e(p,s,!0),B=!0}catch{}}e(q,He(),!0)}qe(()=>{{try{const r=localStorage.getItem("shooter_config");if(r){const a=JSON.parse(r);Ee(a)?(a.apiKey&&e(n,a.apiKey,!0),a.deviceToken&&e(p,a.deviceToken,!0),a.serverUrl&&e(g,a.serverUrl,!0)):localStorage.removeItem("shooter_config")}}catch{}if(te(),t(g)||e(g,F(),!0),e(D,!0),!t(q)){const r=setInterval(()=>{te(),t(q)&&clearInterval(r)},200);setTimeout(()=>{clearInterval(r)},3e3)}}});async function re(){e(h,!0),e(i,""),e(o,"");try{const r=t(g).trim().replace(/\/+$/,"");localStorage.setItem("shooter_config",JSON.stringify({apiKey:t(n).trim(),deviceToken:t(p).trim(),lastUpdated:new Date().toISOString(),serverUrl:r||F()}));const a=j();a&&a.saveConfig?.(JSON.stringify({apiKey:t(n).trim(),serverUrl:r||F()})),(await fetch("/api/health")).ok?(e(i,"Configuration saved successfully"),e(o,"success")):(e(i,"Configuration saved but system health check failed"),e(o,"warning"))}catch(r){e(i,`Configuration failed: ${E(r)}`),e(o,"error")}e(h,!1)}async function me(){if(!t(n).trim()){e(i,"API key is required for testing"),e(o,"error");return}e(h,!0),e(i,""),e(o,"");try{const r={data:{source:"config-test",timestamp:Date.now()},message:`Configuration test at ${new Date().toLocaleTimeString()}`,title:"Configuration Test"};t(p).trim()&&(r.deviceToken=t(p).trim());const a=await fetch("/api/notify",{body:JSON.stringify(r),headers:{Authorization:`Bearer ${t(n)}`,"Content-Type":"application/json"},method:"POST"}),s=await a.json();a.ok?(e(i,"Test notification sent successfully"),e(o,"success")):(e(i,`Test failed: ${s.error||"Unknown error"}`),e(o,"error"))}catch(r){e(i,`Network error: ${E(r)}`),e(o,"error")}e(h,!1)}function ye(){{localStorage.removeItem("shooter_config"),e(g,typeof window<"u"?window.location.origin:"",!0),e(n,""),e(p,""),e(i,"Configuration cleared"),e(o,"success");const r=j();r&&r.saveConfig?.(JSON.stringify({apiKey:"",serverUrl:""}))}}var H=vt();Le("1gp6n77",r=>{var a=Xe();Ne(()=>{Ae.title="Settings - Shooter"}),d(r,a)});var ae=f(H),ne=m(f(ae),2),W=f(ne),oe=f(W);z(oe,{title:"Server Configuration",description:"Configure server connection and credentials",children:(r,a)=>{var s=et(),S=P(s);X(S,{name:"serverUrl",label:"Server URL",dataType:"text",placeholder:"https://shooter.breezehq.dev",infoMessage:"Base URL of your Shooter server. Apps will reload with this URL on next launch.",get value(){return t(g)},set value(b){e(g,b,!0)}});var I=m(S,2);X(I,{name:"apiKey",label:"API Key",dataType:"password",placeholder:"Enter your API key",infoMessage:"Required for sending notifications",get value(){return t(n)},set value(b){e(n,b,!0)}});var O=m(I,2);{let b=k(()=>t(C)?"Waiting for token...":"64-character hex string"),T=k(()=>t(C)&&t(p)?"Auto-detected from app":"Device token from app registration");X(O,{name:"deviceToken",label:"Device Token",dataType:"text",get placeholder(){return t(b)},get infoMessage(){return t(T)},classes:"input-mono",get value(){return t(p)},set value(Q){e(p,Q,!0)}})}d(r,s)},$$slots:{default:!0}});var ie=m(oe,2);{var _e=r=>{const a=k(()=>t(o)==="success"?"check-circle":t(o)==="error"?"x-circle":"alert-triangle");{const s=I=>{fe(I,{get name(){return t(a)},size:16})};let S=k(()=>t(o)||"info");Je(r,{get text(){return t(i)},get classes(){return`banner-${t(S)??""}`},icon:s,$$slots:{icon:!0}})}};N(ie,r=>{t(i)&&r(_e)})}var se=m(ie,2),ce=f(se);{let r=k(()=>t(h)||!t(n).trim());J(ce,{classes:"btn-secondary",onclick:me,get disabled(){return t(r)},children:(a,s)=>{var S=tt(),I=P(S);{var O=b=>{fe(b,{name:"play",size:14})};N(I,b=>{t(h)||b(O)})}Be(),d(a,S)},$$slots:{default:!0}})}var Se=m(ce,2);{let r=k(()=>t(h)||!t(n).trim());J(Se,{classes:"btn-primary",onclick:re,get disabled(){return t(r)},get showLoader(){return t(h)},text:"Save Changes"})}v(se),v(W);var le=m(W,2),de=f(le);z(de,{title:"Setup Guide",children:(r,a)=>{{let s=k(()=>t(n).trim()&&t(p).trim()?2:t(n).trim()?1:0);Ve(r,{steps:[{label:"Get API Key"},{label:"Find Device Token"},{label:"Test Connection"}],get currentStepIndex(){return t(s)},classes:"setup-stepper"})}},$$slots:{default:!0}});var ve=m(de,2);{let r=k(()=>t(q)?"Scan a QR code to connect":"Scan to connect your mobile app");z(ve,{title:"Mobile App Setup",get description(){return t(r)},children:(a,s)=>{var S=lt(),I=f(S);{var O=T=>{var Q=rt(),M=m(P(Q),2);{let Y=k(()=>t(K)?"Scanning...":"Scan QR Code");J(M,{classes:"btn-secondary btn-sm",onclick:he,get disabled(){return t(K)},get text(){return t(Y)}})}d(T,Q)},b=T=>{var Q=ct(),M=P(Q);{var Y=y=>{var w=nt(),L=P(w),Ue=f(L);v(L);var xe=m(L,4);{var Ie=Z=>{var V=at(),ue=m(f(V)),Te=f(ue,!0);v(ue),v(V),R(()=>G(Te,t(U))),d(Z,V)};N(xe,Z=>{t(U)&&Z(Ie)})}R(()=>Me(Ue,"src",t($))),d(y,w)},be=y=>{var w=ot();d(y,w)},ke=y=>{var w=it(),L=f(w,!0);v(w),R(()=>G(L,t(x))),d(y,w)},Ce=y=>{var w=st();d(y,w)};N(M,y=>{t($)?y(Y):t(A)?y(be,1):t(x)?y(ke,2):y(Ce,-1)})}var $e=m(M,2);{let y=k(()=>t(A)||!t(n).trim()),w=k(()=>t($)?"Regenerate QR Code":"Generate QR Code");J($e,{classes:"btn-secondary btn-sm",onclick:pe,get disabled(){return t(y)},get text(){return t(w)}})}d(T,Q)};N(I,T=>{t(q)?T(O):T(b,-1)})}v(S),d(a,S)},$$slots:{default:!0}})}var we=m(ve,2);z(we,{title:"Danger Zone",children:(r,a)=>{var s=dt(),S=m(P(s),2);J(S,{classes:"btn-danger btn-sm",onclick:ye,text:"Clear Configuration"}),d(r,s)},$$slots:{default:!0}}),v(le),v(ne),v(ae),v(H),d(c,H),Qe()}export{yt as component};
@@ -0,0 +1 @@
1
+ import{a as v,f,s as g}from"../chunks/BeONA6_G.js";import{p as Te,o as Ae,d as De,e as Le,j as Ne,h as e,g as d,$ as Re,c as o,r as s,u as k,a as I,s as c,f as w,n as H,t as q}from"../chunks/tjbnEgXP.js";import{i as S}from"../chunks/Ona8oofC.js";import{h as Ke,e as Q,i as Oe,B as W,I as ze,P as B,s as Fe}from"../chunks/DREFAyhX.js";import{p as qe}from"../chunks/BDC7XD4o.js";import{g as Ge,s as Je,S as X}from"../chunks/CbqC9BW7.js";import{i as Ue}from"../chunks/DSU1n5N_.js";import{E as Y}from"../chunks/CojFyTPp.js";import"../chunks/ClK4wZbC.js";import{f as Ve}from"../chunks/CGLrx-H5.js";var Ze=f('<meta name="description" content="Project sessions sorted by latest update"/>'),He=f('<div class="loading-container"><!> <!></div>'),Qe=f('<div class="project-back-row svelte-urn6fi"><a href="/" class="back-link"><span class="back-arrow">&larr;</span> Back to Projects</a></div> <!>',1),We=f("<!> Refresh",1),Xe=f('<div class="session-card-subtitle"> </div>'),Ye=f('<a class="session-card"><div class="session-card-header"><div><h3 class="session-card-title"> </h3> <!></div> <!></div> <div class="session-stats"><span><strong> </strong> messages</span> <!> <!></div> <div class="session-duration"> </div></a>'),ea=f('<div style="text-align: center; padding: 1rem;"><!></div>'),aa=f('<div class="sessions-container svelte-urn6fi"></div> <!>',1),sa=f('<div class="chat-session-header"><div class="chat-session-header-top svelte-urn6fi"><a href="/" class="back-link">&#8592; Back to Projects</a> <!></div> <h1 class="chat-session-title"> </h1> <div class="chat-session-meta"><span class="session-card-subtitle"> </span> <span> </span></div></div> <!>',1),ta=f('<main class="main"><!></main>');function ma(ee,ae){Te(ae,!0);const se=15e3,E=20;let i=I(null),u=I(!0),x=I(null),$=null,j=I(E);const p=k(()=>qe.url.searchParams.get("id")||""),te=k(()=>e(i)?e(i).sessions.slice(0,e(j)):[]),re=k(()=>e(i)?e(j)<e(i).sessions.length:!1);Ae(()=>{oe();const a=Ge(`shooter_project_${e(p)}`);a&&(d(i,a,!0),d(u,!1)),setTimeout(()=>{M()},50),$=setInterval(()=>{e(x)?.apiKey&&e(p)&&M()},se)}),De(()=>{$&&(clearInterval($),$=null)});function oe(){try{const a=localStorage.getItem("shooter_config");if(a){const t=JSON.parse(a);Ue(t)?d(x,t,!0):(localStorage.removeItem("shooter_config"),d(x,null))}}catch{}}async function M(){if(!e(x)?.apiKey||!e(p)){d(u,!1);return}e(i)||d(u,!0);try{const a=await fetch("/api/sessions",{headers:{Authorization:`Bearer ${e(x).apiKey}`}});if(!a.ok){d(u,!1);return}const l=(await a.json()).projects.find(_=>_.id===e(p))||null;d(i,l,!0),l&&Je(`shooter_project_${e(p)}`,l)}catch(a){console.error("Failed to fetch project:",a)}finally{d(u,!1)}}async function ie(){d(u,!0),sessionStorage.removeItem(`shooter_project_${e(p)}`),d(j,E),await M()}function ne(){d(j,e(j)+E)}function ce(a){return new Date(a).toLocaleDateString("en-US",{day:"numeric",hour:"2-digit",minute:"2-digit",month:"short"})}function le(a,t){return a.length<=t?a:`${a.slice(0,t).trimEnd()}...`}var T=ta();Ke("urn6fi",a=>{var t=Ze();Ne(()=>{Re.title=`${(e(i)?.name||"Project")??""} - Shooter`}),v(a,t)});var de=o(T);{var ve=a=>{var t=He(),l=o(t);X(l,{classes:"shimmer-header"});var _=c(l,2);Q(_,16,()=>Array(4),Oe,(A,C)=>{X(A,{classes:"shimmer-card"})}),s(t),v(a,t)},fe=a=>{var t=Qe(),l=c(w(t),2);Y(l,{icon:"alert-triangle",title:"Project Not Found",description:"The requested project could not be found."}),v(a,t)},ue=a=>{var t=sa(),l=w(t),_=o(l),A=c(o(_),2);W(A,{classes:"btn-secondary",onclick:ie,get disabled(){return e(u)},children:(m,L)=>{var y=We(),N=w(y);ze(N,{name:"refresh",size:14}),H(),v(m,y)},$$slots:{default:!0}}),s(_);var C=c(_,2),me=o(C,!0);s(C);var G=c(C,2),D=o(G),pe=o(D,!0);s(D);var J=c(D,2),_e=o(J);s(J),s(G),s(l);var he=c(l,2);{var ge=m=>{Y(m,{icon:"bell",title:"No sessions yet",description:"Sessions for this project will appear here"})},je=m=>{var L=aa(),y=w(L);Q(y,21,()=>e(te),h=>h.id,(h,n)=>{var b=Ye(),P=o(b),R=o(P),K=o(R),be=o(K,!0);s(K);var Se=c(K,2);{var xe=r=>{var F=Xe(),Ee=o(F,!0);s(F),q(Me=>g(Ee,Me),[()=>le(e(n).summary,80)]),v(r,F)};S(Se,r=>{e(n).summary&&r(xe)})}s(R);var Pe=c(R,2);{let r=k(()=>Ve(e(n).modified));B(Pe,{get text(){return e(r)},classes:"pill-session-time"})}s(P);var O=c(P,2),z=o(O),U=o(z),ke=o(U,!0);s(U),H(),s(z);var V=c(z,2);{var $e=r=>{B(r,{get text(){return`🌿 ${e(n).gitBranch??""}`},classes:"pill-git-branch"})};S(V,r=>{e(n).gitBranch&&r($e)})}var Ce=c(V,2);{var Ie=r=>{B(r,{text:"OpenCode",classes:"pill-source-opencode"})},we=r=>{B(r,{text:"Claude Code",classes:"pill-source-claude"})};S(Ce,r=>{e(n).source==="opencode"?r(Ie):r(we,-1)})}s(O);var Z=c(O,2),Be=o(Z);s(Z),s(b),q(r=>{Fe(b,"href",`/session/${e(n).id??""}?project=${e(p)??""}`),g(be,e(n).title),g(ke,e(n).messageCount),g(Be,`Created ${r??""}`)},[()=>ce(e(n).created)]),v(h,b)}),s(y);var N=c(y,2);{var ye=h=>{var n=ea(),b=o(n);{let P=k(()=>`Load More (${e(i).sessions.length-e(j)} remaining)`);W(b,{classes:"btn-secondary",onclick:ne,get text(){return e(P)}})}s(n),v(h,n)};S(N,h=>{e(re)&&h(ye)})}v(m,L)};S(he,m=>{e(i).sessions.length===0?m(ge):m(je,-1)})}q(()=>{g(me,e(i).name),g(pe,e(i).fullPath),g(_e,`${e(i).sessionCount??""} sessions`)}),v(a,t)};S(de,a=>{e(u)&&!e(i)?a(ve):e(i)?a(ue,-1):a(fe,1)})}s(T),v(ee,T),Le()}export{ma as component};
@@ -0,0 +1 @@
1
+ import{a as w,f as b,s as O}from"../chunks/BeONA6_G.js";import{p as ye,a as I,b as Se,o as ke,e as Ie,j as Pe,g as t,h as s,$ as $e,c as d,r as m,u as W,s as l,f as H,t as xe}from"../chunks/tjbnEgXP.js";import{i as T}from"../chunks/Ona8oofC.js";import{h as Me,s as Ae,P as je,a as De}from"../chunks/DREFAyhX.js";import{p as q}from"../chunks/BDC7XD4o.js";import{g as Ce,s as Oe,S as $}from"../chunks/CbqC9BW7.js";import{E as Te}from"../chunks/CojFyTPp.js";import"../chunks/ClK4wZbC.js";import{C as Ee}from"../chunks/BygiiMA0.js";var Ue=b('<meta name="description" content="Session conversation view"/>'),Be=b('<div class="loading-container"><!> <div class="chat-container"><!> <!> <!> <!> <!></div></div>'),Re=b('<div class="session-back-row svelte-1a2wdfb"><a href="/" class="back-link"><span class="back-arrow">&larr;</span> Back</a></div> <!>',1),Ne=b('<span class="connection-status connected"><span class="connection-status-dot"></span></span>'),Le=b('<span class="connection-status reconnecting"><span class="connection-status-dot"></span></span>'),We=b('<span class="connection-status disconnected"><span class="connection-status-dot"></span></span>'),qe=b('<div class="live-connection-row svelte-1a2wdfb"><!></div>'),Je=b('<div class="chat-session-header"><div class="chat-session-header-top svelte-1a2wdfb"><a class="back-link">&#8592; Back to Project</a> <!></div> <div class="chat-session-title-row svelte-1a2wdfb"><h1 class="chat-session-title"> </h1> <!></div> <div class="chat-session-meta"><span class="chat-session-meta-item"> </span> <span class="chat-session-meta-item"> </span> <span class="chat-session-meta-item"> </span> <span class="chat-session-meta-item"> </span></div> <!></div> <div class="session-chat-container svelte-1a2wdfb"><!></div>',1),ze=b('<main class="main session-page-main svelte-1a2wdfb"><!></main>');function es(Q,X){ye(X,!0);let v=I(null),o=I(Se([])),S=I(!0),P=I(null),u=I(!1),i=I("idle"),f=I(null),x=0,M=null,k=!1;const J=W(()=>q.params.id),z=W(()=>q.url.searchParams.get("project")||"");function Y(a){const e=new Date(a.modified).getTime(),n=Date.now()-300*1e3;return e>n}let K=0;function A(){return K++,`ws-msg-${Date.now()}-${K}`}function Z(a){let e;try{e=JSON.parse(a.data)}catch{return}if(e.type==="message"){const n={id:A(),parts:e.content||[],role:e.role||"assistant",timestamp:e.timestamp||new Date().toISOString()};t(o,[...s(o),n],!0)}else if(e.type==="tool-use"){const n={id:e.id||A(),input:e.input||{},toolName:e.name||"Unknown",type:"tool_use"};V(n)}else if(e.type==="tool-result"){const n={id:A(),parts:[{isError:e.isError||!1,output:e.output||"",toolUseId:e.id||"",type:"tool_result"}],role:"system",timestamp:new Date().toISOString()};t(o,[...s(o),n],!0)}else if(e.type==="thinking"){const n={content:e.text||"",type:"thinking"};V(n)}else if(e.type==="error"){const n={id:A(),parts:[{content:e.text||e.message||"Unknown error",type:"text"}],role:"system",timestamp:new Date().toISOString()};t(o,[...s(o),n],!0)}else e.type==="permission-requested"?console.log("[session] Permission requested:",e):e.type==="session-end"&&(t(u,!1),t(i,"disconnected"),s(f)&&(s(f).close(),t(f,null)))}function V(a){const e=s(o).length>0?s(o)[s(o).length-1]:null;if(e?.role==="assistant"){const n=[...e.parts,a],p={...e,parts:n};t(o,[...s(o).slice(0,-1),p],!0)}else{const n={id:A(),parts:[a],role:"assistant",timestamp:new Date().toISOString()};t(o,[...s(o),n],!0)}}async function E(){if(!s(u)||k)return;const a=localStorage.getItem("shooter_config");if(!a)return;let e;try{e=JSON.parse(a)}catch{return}t(i,"connecting");try{const n=await fetch("/api/ws-ticket",{headers:{Authorization:`Bearer ${e.apiKey}`},method:"POST"});if(!n.ok||k){t(i,"disconnected"),s(u)&&!k&&x<5&&(x++,M=window.setTimeout(()=>{E()},2e3));return}const{ticket:p}=await n.json();if(k){t(i,"disconnected");return}const h=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws/session/${s(J)}?ticket=${p}`,r=new WebSocket(h);r.onopen=()=>{if(k){r.close();return}t(i,"connected"),t(f,r,!0),x=0},r.onmessage=Z,r.onclose=()=>{t(i,"disconnected"),t(f,null),s(u)&&!k&&x<5&&(x++,M=window.setTimeout(()=>{E()},2e3))},r.onerror=()=>{t(i,"disconnected"),t(f,null)}}catch{t(i,"disconnected")}}function ee(a){return new Date(a).toLocaleDateString([],{day:"numeric",month:"short",year:"numeric"})}function se(a){return a.split("/").slice(-2).join("/")}async function te(){s(o).length===0&&t(S,!0);try{const a=localStorage.getItem("shooter_config");if(!a){t(P,"No configuration found. Please configure settings first."),t(S,!1);return}let e;try{e=JSON.parse(a)}catch{t(P,"Invalid saved configuration. Please reconfigure in settings."),t(S,!1);return}const n=s(J)||"",p=s(z)||"",y=p?`id=${encodeURIComponent(n)}&project=${encodeURIComponent(p)}`:`id=${encodeURIComponent(n)}`,h=await fetch(`/api/sessions?${y}`,{headers:{Authorization:`Bearer ${e.apiKey}`}});if(!h.ok){t(P,"Session not found"),t(S,!1);return}const r=await h.json();t(v,r.session,!0);const g=Array.isArray(r.messages)?r.messages:[];t(o,[...g].reverse(),!0),Oe(`shooter_session_${n}`,{messages:g,session:r.session}),r.session&&(t(u,Y(r.session),!0),s(u)&&E())}catch{t(P,"Failed to load session")}t(S,!1)}ke(()=>{const a=Ce(`shooter_session_${q.params.id}`);return a&&(t(v,a.session,!0),t(o,Array.isArray(a.messages)?[...a.messages].reverse():[],!0),t(S,!1)),te(),()=>{k=!0,M&&(clearTimeout(M),M=null),s(f)&&(s(f).close(),t(f,null))}});var U=ze();Me("1a2wdfb",a=>{var e=Ue();Pe(()=>{$e.title=`${(s(v)?.title||"Session")??""} - Shooter`}),w(a,e)});var ae=d(U);{var ne=a=>{var e=Be(),n=d(e);$(n,{classes:"shimmer-header"});var p=l(n,2),y=d(p);$(y,{classes:"shimmer-bubble shimmer-bubble-user"});var h=l(y,2);$(h,{classes:"shimmer-bubble shimmer-bubble-assistant"});var r=l(h,2);$(r,{classes:"shimmer-bubble shimmer-bubble-user-short"});var g=l(r,2);$(g,{classes:"shimmer-bubble shimmer-bubble-assistant-wide"});var j=l(g,2);$(j,{classes:"shimmer-bubble shimmer-bubble-assistant-short"}),m(p),m(e),w(a,e)},oe=a=>{var e=Re(),n=l(H(e),2);Te(n,{icon:"alert-triangle",title:"Error",get description(){return s(P)}}),w(a,e)},re=a=>{var e=Je(),n=H(e),p=d(n),y=d(p),h=l(y,2);{var r=c=>{var D=qe(),ge=d(D);{var _e=_=>{var C=Ne();w(_,C)},we=_=>{var C=Le();w(_,C)},be=_=>{var C=We();w(_,C)};T(ge,_=>{s(i)==="connected"?_(_e):s(i)==="connecting"?_(we,1):s(i)==="disconnected"&&_(be,2)})}m(D),w(c,D)};T(h,c=>{(s(u)||s(i)==="connected"||s(i)==="connecting")&&c(r)})}m(p);var g=l(p,2),j=d(g),ie=d(j,!0);m(j);var ce=l(j,2);{var le=c=>{je(c,{text:"LIVE",classes:"pill-live"})};T(ce,c=>{s(u)&&c(le)})}m(g);var B=l(g,2),R=d(B),de=d(R);m(R);var N=l(R,2),me=d(N);m(N);var L=l(N,2),pe=d(L);m(L);var F=l(L,2),ue=d(F);m(F),m(B);var ve=l(B,2);{var fe=c=>{De(c,{text:"Live updates paused",classes:"banner-warning"})};T(ve,c=>{s(i)==="disconnected"&&s(u)&&c(fe)})}m(n);var G=l(n,2),he=d(G);{let c=W(()=>!s(u));Ee(he,{get messages(){return s(o)},get connectionState(){return s(i)},showInput:!1,get sessionEnded(){return s(c)}})}m(G),xe((c,D)=>{Ae(y,"href",`/project?id=${s(z)??""}`),O(ie,s(v).title),O(de,`📁 ${c??""}`),O(me,`🌿 ${s(v).gitBranch??""}`),O(pe,`💬 ${s(v).messageCount??""} messages`),O(ue,`📅 ${D??""}`)},[()=>se(s(v).projectPath),()=>ee(s(v).created)]),w(a,e)};T(ae,a=>{s(S)&&s(o).length===0?a(ne):s(P)?a(oe,1):s(v)&&a(re,2)})}m(U),w(Q,U),Ie()}export{es as component};
@@ -0,0 +1,2 @@
1
+ import{d as Je,c as Ze,e as qe,a as u,t as Qe,s as $,b as Ve,f}from"../chunks/BeONA6_G.js";import{p as je,a as T,b as ze,o as Be,g as o,h as e,ad as We,f as Pe,e as De,c as r,s as l,n as de,t as M,u as S,r as a,d as Ye,i as Ge,$ as Ue}from"../chunks/tjbnEgXP.js";import{i as R}from"../chunks/Ona8oofC.js";import{e as ve,C as Xe,S as et,b as tt,B as V,a as at,h as st,I as rt,i as nt,P as Ae,T as Ee,s as Ne}from"../chunks/DREFAyhX.js";import{a as lt,c as it}from"../chunks/ClK4wZbC.js";import{g as Oe}from"../chunks/CHvUpVYv.js";import{s as Ie,g as ot,S as ct}from"../chunks/CbqC9BW7.js";import{i as dt}from"../chunks/DSU1n5N_.js";import{E as Ke}from"../chunks/CojFyTPp.js";import{f as ke}from"../chunks/CGLrx-H5.js";var vt=f('<div class="overlay svelte-plslui" role="presentation"><div class="sheet svelte-plslui" role="dialog" aria-modal="true" aria-label="New Terminal"><div class="handle-bar svelte-plslui"><div class="handle svelte-plslui"></div></div> <h2 class="sheet-title svelte-plslui">New Terminal</h2> <div class="section svelte-plslui"><span class="section-label svelte-plslui">Quick Launch</span> <div class="preset-grid svelte-plslui"></div></div> <div class="section svelte-plslui"><span class="section-label svelte-plslui">Working Directory</span> <!> <div class="custom-cwd-group svelte-plslui"><!></div></div> <!> <!></div></div>');function pt(pe,y){je(y,!0);const W=[{args:[],command:"claude",label:"Claude Code"},{args:[],command:"opencode",label:"OpenCode"},{args:[],command:"zsh",label:"Shell / zsh"},{args:[],command:"bash",label:"Bash"}];let A=T(0),k=T(ze([])),P=T(""),m=T(""),g=T(!1),L=T("");Be(()=>{_()});async function _(){try{const c=await fetch("/api/sessions?limit=50&offset=0",{headers:{Authorization:`Bearer ${y.apiKey}`}});if(!c.ok)return;const E=(await c.json()).projects.map(h=>h.fullPath).filter(h=>typeof h=="string"&&h.length>0);o(k,[...new Set(E)],!0),e(k).length>0&&!e(P)&&o(P,e(k)[0],!0)}catch{}}function F(c){o(A,c,!0)}function ue(){return W[e(A)].command}function me(){return W[e(A)].args}function fe(){const c=e(m).trim();return c||(e(P)?e(P):"/tmp")}async function Y(){const c=ue();if(c){o(g,!0),o(L,"");try{const w=await fetch("/api/terminals",{body:JSON.stringify({args:me(),command:c,cwd:fe()||void 0}),headers:{Authorization:`Bearer ${y.apiKey}`,"Content-Type":"application/json"},method:"POST"});if(!w.ok){const h=await w.json().catch(()=>({}));o(L,h.error||`Failed to launch (${w.status})`,!0);return}const E=await w.json();y.onLaunch(E)}catch{o(L,"Network error — is the server running?")}finally{o(g,!1)}}}function he(c){c.target===c.currentTarget&&y.onClose()}function ge(c){y.open&&c.key==="Escape"&&y.onClose()}var K=Ze();qe("keydown",We,ge);var se=Pe(K);{var _e=c=>{var w=vt(),E=r(w),h=l(r(E),4),re=l(r(h),2);ve(re,23,()=>W,v=>v.label,(v,Z,N)=>{{let we=S(()=>e(A)===e(N));Xe(v,{mode:"radio",get selected(){return e(we)},onclick:()=>{F(e(N))},classes:"preset-choice",children:(be,Le)=>{de();var oe=Qe();M(()=>$(oe,e(Z).label)),u(be,oe)},$$slots:{default:!0}})}}),a(re),a(h);var H=l(h,2),G=l(r(H),2);{let v=S(()=>e(k).length>0?e(k).map(N=>({id:N,label:N})):[{id:"",label:"No recent projects"}]),Z=S(()=>e(P)?[e(P)]:e(k).length>0?[e(k)[0]]:[""]);et(G,{get items(){return e(v)},get value(){return e(Z)},placeholder:"Select a project",onchange:N=>{o(P,N[0]||"",!0)},classes:"launch-select"})}var ne=l(G,2),le=r(ne);tt(le,{label:"Or enter a custom path",dataType:"text",placeholder:"/path/to/project",classes:"input-mono launch-input",get value(){return e(m)},set value(v){o(m,v,!0)}}),a(ne),a(H);var J=l(H,2);{let v=S(()=>e(g)?"Launching...":"Launch Terminal");V(J,{classes:"btn-launch",get disabled(){return e(g)},onclick:Y,get showLoader(){return e(g)},get text(){return e(v)}})}var U=l(J,2);{var ie=v=>{at(v,{get text(){return e(L)},classes:"banner-error launch-error-banner"})};R(U,v=>{e(L)&&v(ie)})}a(E),a(w),Ve("click",w,he),u(c,w)};R(se,c=>{y.open&&c(_e)})}u(pe,K),De()}Je(["click"]);var ut=f('<meta name="description" content="Active terminal sessions on this machine" class="svelte-1ewpmn2"/>'),mt=f("<!> Refresh",1),ft=f('<span class="plus-icon svelte-1ewpmn2">+</span> New Terminal',1),ht=f('<div class="loading-container svelte-1ewpmn2"></div>'),gt=f('<span class="plus-icon svelte-1ewpmn2">+</span> New Terminal',1),_t=f('<span class="terminal-cwd svelte-1ewpmn2"> </span>'),wt=f('<div class="terminal-preview svelte-1ewpmn2"><span class="terminal-preview-text svelte-1ewpmn2"> </span></div>'),bt=f('<a class="terminal-card svelte-1ewpmn2"><div class="terminal-card-header svelte-1ewpmn2"><div class="terminal-card-left svelte-1ewpmn2"><span class="status-indicator status-running svelte-1ewpmn2"><span></span></span> <span class="terminal-command svelte-1ewpmn2"> </span> <!></div> <span class="terminal-time svelte-1ewpmn2"> </span></div> <div class="terminal-card-meta svelte-1ewpmn2"><!> <span class="terminal-pid svelte-1ewpmn2"> </span></div> <!></a>'),xt=f('<span class="terminal-cwd svelte-1ewpmn2"> </span>'),yt=f('<div class="terminal-preview svelte-1ewpmn2"><span class="terminal-preview-text svelte-1ewpmn2"> </span></div>'),Ct=f('<a class="terminal-card terminal-card-exited svelte-1ewpmn2"><div class="terminal-card-header svelte-1ewpmn2"><div class="terminal-card-left svelte-1ewpmn2"><span class="status-indicator status-exited svelte-1ewpmn2"><span class="status-dot-static svelte-1ewpmn2"></span></span> <span class="terminal-command svelte-1ewpmn2"> </span> <!> <!></div> <div class="terminal-card-right svelte-1ewpmn2"><span class="terminal-time svelte-1ewpmn2"> </span> <!></div></div> <div class="terminal-card-meta svelte-1ewpmn2"><!></div> <!></a>'),$t=f('<div class="terminals-container svelte-1ewpmn2"><!> <!></div>'),Tt=f('<main class="main svelte-1ewpmn2"><div class="page-header svelte-1ewpmn2"><div class="page-header-content svelte-1ewpmn2"><div class="svelte-1ewpmn2"><h1 class="page-title svelte-1ewpmn2">Terminals</h1> <p class="page-description svelte-1ewpmn2">Active terminal sessions on this machine</p></div> <div class="page-actions svelte-1ewpmn2"><!> <!></div></div></div> <!></main> <!>',1);function jt(pe,y){je(y,!0);const W=1e4,A="shooter_terminals",k=["claude","opencode"],P=["zsh","bash","sh","fish"];let m=T(ze([])),g=T(!1),L=!1,_=T(null),F=null;const ue=S(()=>e(m).filter(t=>t.status==="running")),me=S(()=>e(m).filter(t=>t.status==="exited"));Be(()=>{fe();const t=ot(A,1e4);t&&(o(m,t,!0),o(g,!1)),Y(),F=setInterval(()=>{e(_)?.apiKey&&Y()},W)}),Ye(()=>{F&&(clearInterval(F),F=null)});function fe(){try{const t=localStorage.getItem("shooter_config");if(t){const s=JSON.parse(t);dt(s)?o(_,s,!0):(localStorage.removeItem("shooter_config"),o(_,null))}}catch{}}async function Y(){if(!(!e(_)?.apiKey||L)){L=!0,e(m).length===0&&o(g,!0);try{const t=await fetch("/api/terminals",{headers:{Authorization:`Bearer ${e(_).apiKey}`}});if(!t.ok)return;const s=await t.json();o(m,s.terminals.map(i=>({...i,lastOutput:i.lastOutput??null})),!0),Ie(A,e(m))}catch(t){console.error("Failed to fetch terminals:",t)}finally{o(g,!1),L=!1}}}async function he(){o(g,!0),sessionStorage.removeItem(A),await Y()}function ge(){Oe("/config")}let K=T(!1);function se(){o(K,!0)}function _e(){o(K,!1)}function c(t){o(K,!1),Oe(`/terminals/${t.id}`)}function w(t){const s=t.split("/").pop()||t;return k.includes(s)?"ai":(P.includes(s),"shell")}function E(t){return t.status==="exited"?{class:"pill-badge-ended",label:"ENDED"}:w(t.command)==="ai"?{class:"pill-badge-ai",label:"AI"}:{class:"pill-badge-shell",label:"SHELL"}}function h(t,s=40){if(t.length<=s)return t;const i=t.split("/");return i.length<=3?t:`${i[0]}/.../${i.slice(-2).join("/")}`}function re(t){return t.replace(/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07]*\x07|\x1b\[[\?]?[0-9;]*[a-zA-Z]|\x1b/g,"").replace(/[\x00-\x1f]/g,"").trim()}function H(t,s=80){if(!t)return"";const i=t.split(`
2
+ `).map(x=>re(x)).filter(x=>x.trim()),b=i[i.length-1]||"";return b.length<=s?b:`${b.slice(0,s)}...`}function G(t){return t.split("/").pop()||t}async function ne(t,s){if(t.preventDefault(),t.stopPropagation(),!!e(_)?.apiKey)try{(await fetch(`/api/terminals/${s}`,{headers:{Authorization:`Bearer ${e(_).apiKey}`},method:"DELETE"})).ok&&(o(m,e(m).filter(b=>b.id!==s),!0),Ie(A,e(m)))}catch(i){console.error("Failed to remove terminal:",i)}}var le=Tt();st("1ewpmn2",t=>{var s=ut();Ge(()=>{Ue.title="Terminals - Shooter"}),u(t,s)});var J=Pe(le),U=r(J),ie=r(U),v=l(r(ie),2),Z=r(v);V(Z,{classes:"btn-secondary",onclick:he,get disabled(){return e(g)},children:(t,s)=>{var i=mt(),b=Pe(i);rt(b,{name:"refresh",size:14}),de(),u(t,i)},$$slots:{default:!0}});var N=l(Z,2);V(N,{classes:"btn-primary",onclick:se,children:(t,s)=>{var i=ft();de(),u(t,i)},$$slots:{default:!0}}),a(v),a(ie),a(U);var we=l(U,2);{var be=t=>{var s=ht();ve(s,20,()=>Array(4),nt,(i,b)=>{ct(i,{classes:"shimmer-card"})}),a(s),u(t,s)},Le=t=>{Ke(t,{icon:"settings",title:"Configuration Required",description:"Set up your API credentials to view terminal sessions",children:(s,i)=>{V(s,{classes:"btn-primary",onclick:ge,text:"Configure Settings"})}})},oe=t=>{Ke(t,{icon:"terminal",title:"No terminals",description:"Launch a new terminal session to get started. Terminal sessions will appear here once created.",children:(s,i)=>{V(s,{classes:"btn-primary",onclick:se,children:(b,x)=>{var n=gt();de(),u(b,n)},$$slots:{default:!0}})}})},Me=t=>{var s=$t(),i=r(s);ve(i,17,()=>e(ue),x=>x.id,(x,n)=>{const X=S(()=>E(e(n)));var O=bt(),j=r(O),z=r(j),B=r(z),xe=r(B);a(B);var q=l(B,2),ye=r(q,!0);a(q);var Ce=l(q,2);Ae(Ce,{get text(){return e(X).label},get classes(){return e(X).class}}),a(z);var ee=l(z,2),te=r(ee,!0);a(ee),a(j);var ae=l(j,2),ce=r(ae);{let d=S(()=>e(n).currentCwd||e(n).cwd);Ee(ce,{get text(){return e(d)},position:"bottom",children:(p,C)=>{var I=_t(),D=r(I,!0);a(I),M(He=>$(D,He),[()=>h(e(n).currentCwd||e(n).cwd)]),u(p,I)},$$slots:{default:!0}})}var Q=l(ce,2),$e=r(Q);a(Q),a(ae);var Te=l(ae,2);{var Se=d=>{var p=wt(),C=r(p),I=r(C,!0);a(C),a(p),M(D=>$(I,D),[()=>H(e(n).lastOutput)]),u(d,p)};R(Te,d=>{e(n).lastOutput&&d(Se)})}a(O),M((d,p)=>{Ne(O,"href",`/terminals/${e(n).id??""}`),lt(xe,1,it(e(n).isActive?"status-dot-active":"status-dot-idle"),"svelte-1ewpmn2"),$(ye,d),$(te,p),$($e,`PID ${e(n).pid??""}`)},[()=>G(e(n).command),()=>ke(e(n).createdAt)]),u(x,O)});var b=l(i,2);ve(b,17,()=>e(me),x=>x.id,(x,n)=>{const X=S(()=>E(e(n)));var O=Ct(),j=r(O),z=r(j),B=l(r(z),2),xe=r(B,!0);a(B);var q=l(B,2);Ae(q,{get text(){return e(X).label},get classes(){return e(X).class}});var ye=l(q,2);{var Ce=d=>{{let p=S(()=>e(n).exitCode!==0?"pill-exit-error":"pill-exit-ok");Ae(d,{get text(){return`exit ${e(n).exitCode??""}`},get classes(){return e(p)}})}};R(ye,d=>{e(n).exitCode!==null&&d(Ce)})}a(z);var ee=l(z,2),te=r(ee),ae=r(te,!0);a(te);var ce=l(te,2);V(ce,{classes:"btn-ghost btn-sm btn-remove",onclick:d=>ne(d,e(n).id),text:"×"}),a(ee),a(j);var Q=l(j,2),$e=r(Q);Ee($e,{get text(){return e(n).cwd},position:"bottom",children:(d,p)=>{var C=xt(),I=r(C,!0);a(C),M(D=>$(I,D),[()=>h(e(n).cwd)]),u(d,C)},$$slots:{default:!0}}),a(Q);var Te=l(Q,2);{var Se=d=>{var p=yt(),C=r(p),I=r(C,!0);a(C),a(p),M(D=>$(I,D),[()=>H(e(n).lastOutput)]),u(d,p)};R(Te,d=>{e(n).lastOutput&&d(Se)})}a(O),M((d,p)=>{Ne(O,"href",`/terminals/${e(n).id??""}`),$(xe,d),$(ae,p)},[()=>G(e(n).command),()=>e(n).exitedAt?ke(e(n).exitedAt):ke(e(n).createdAt)]),u(x,O)}),a(s),u(t,s)};R(we,t=>{e(g)&&e(m).length===0?t(be):e(_)?.apiKey?e(m).length===0?t(oe,2):t(Me,-1):t(Le,1)})}a(J);var Re=l(J,2);{var Fe=t=>{pt(t,{get open(){return e(K)},get apiKey(){return e(_).apiKey},onClose:_e,onLaunch:c})};R(Re,t=>{e(_)?.apiKey&&t(Fe)})}u(pe,le),De()}export{jt as component};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/50RPd5u3.js","../chunks/PPVm8Dsz.js"])))=>i.map(i=>d[i]);
2
+ import{_ as be}from"../chunks/PPVm8Dsz.js";import{s as st,a as S,f as I,c as ye,d as we,b as _e}from"../chunks/BeONA6_G.js";import{p as rt,e as ot,h as t,u as y,c as _,s as c,r as m,t as X,f as Lt,a as p,b as ke,o as Se,d as xe,j as Ce,g as n,$ as Ie}from"../chunks/tjbnEgXP.js";import{s as Te,a as je}from"../chunks/K_aHH2KN.js";import{p as qe,i as K,b as Pt}from"../chunks/Ona8oofC.js";import{f as Ee,B as Z,e as Wt,M as Ke,K as $e,h as De,P as Nt,s as Ae,g as Ot,T as Rt,j as Me,b as Pe}from"../chunks/DREFAyhX.js";import{a as ft}from"../chunks/ClK4wZbC.js";import{g as V}from"../chunks/CHvUpVYv.js";import{p as Ne}from"../chunks/CdL99jkG.js";import{E as Oe}from"../chunks/CojFyTPp.js";import{C as Re}from"../chunks/BygiiMA0.js";function Le(h,r){rt(r,!0);let g=qe(r,"open",15,!1);const b=y(()=>r.commands.map((w,a)=>({label:w.label,value:String(a)})));function T(w){const a=parseInt(w.value,10);r.commands[a]&&r.commands[a].action()}Ee(h,{get items(){return t(b)},placeholder:"Type a command...",emptyText:"No matching commands",onselect:T,get onclose(){return r.onClose},classes:"command-palette",get open(){return g()},set open(w){g(w)}}),ot()}var We=I('<div><span></span> <span class="status-label svelte-1cg9pai"> </span> <!></div>');function ze(h,r){const g=y(()=>r.status==="connected"?"Connected":r.status==="reconnecting"?"Reconnecting...":"Disconnected");var b=We();let T;var w=_(b),a=c(w,2),N=_(a,!0);m(a);var E=c(a,2);{var j=k=>{Z(k,{classes:"btn-ghost btn-sm btn-retry",get onclick(){return r.onretry},text:"Retry"})};K(E,k=>{r.status==="disconnected"&&r.onretry&&k(j)})}m(b),X(()=>{T=ft(b,1,"connection-status svelte-1cg9pai",null,T,{reconnecting:r.status==="reconnecting",disconnected:r.status==="disconnected",connected:r.status==="connected"}),ft(w,1,`status-dot ${r.status??""}`,"svelte-1cg9pai"),st(N,t(g))}),S(h,b)}const zt=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.userAgent),vt=zt?"⌘":"Ctrl";function Be(h){function r(g){if((zt?g.metaKey:g.ctrlKey)&&!He()&&g.key==="/"){g.preventDefault(),g.stopPropagation(),h.onHelp();return}}return window.addEventListener("keydown",r,!0),{destroy(){window.removeEventListener("keydown",r,!0)}}}function Fe(){return[{description:"Command palette",keys:`${vt}+K`},{description:"Keyboard shortcuts",keys:`${vt}+/`}]}function He(){const h=document.activeElement;if(!h)return!1;const r=h.tagName;return!!(r==="INPUT"||r==="TEXTAREA"||h.isContentEditable||h.closest(".xterm"))}var Ue=I('<div class="quick-keys svelte-64qat5" role="toolbar" aria-label="Quick terminal keys"></div>');function Je(h,r){rt(r,!0);const g=[{escape:"",label:"Ctrl+C"},{escape:" ",label:"Tab"},{escape:"\x1B[A",label:"↑"},{escape:"\x1B[B",label:"↓"},{escape:"\x1B",label:"Esc"},{escape:"",label:"Ctrl+D"},{escape:"",label:"Ctrl+Z"}];var b=Ue();Wt(b,21,()=>g,T=>T.label,(T,w)=>{Z(T,{classes:"btn-quick-key",onclick:()=>{r.onKey(t(w).escape)},get text(){return t(w).label}})}),m(b),S(h,b),ot()}var Ge=I('<div class="shortcut-row svelte-1u7lstk"><span class="shortcut-desc svelte-1u7lstk"> </span> <!></div>'),Qe=I('<div class="shortcuts-list svelte-1u7lstk"></div>');function Ve(h,r){rt(r,!0);const g=Fe();var b=ye(),T=Lt(b);{var w=a=>{Ke(a,{header:{text:"Keyboard Shortcuts"},get onoverlayClick(){return r.onClose},classes:"shortcuts-modal",content:E=>{var j=Qe();Wt(j,21,()=>g,k=>k.keys,(k,W)=>{var O=Ge(),u=_(O),q=_(u,!0);m(u);var D=c(u,2);$e(D,{get keys(){return t(W).keys},classes:"shortcut-kbd"}),m(O),X(()=>st(q,t(W).description)),S(k,O)}),m(j),S(E,j)},$$slots:{content:!0}})};K(T,a=>{r.open&&a(w)})}S(h,b),ot()}var Xe=I('<meta name="description" content="Interactive terminal session" class="svelte-1tubujq"/>'),Ze=I('<div class="term-page svelte-1tubujq"><div class="term-topbar svelte-1tubujq"><div class="skeleton svelte-1tubujq" style="width: 120px; height: 20px;"></div></div> <div class="term-body-loading svelte-1tubujq"><div class="skeleton svelte-1tubujq" style="width: 100%; height: 100%;"></div></div></div>'),Ye=I('<main class="main svelte-1tubujq"><div class="session-back-row svelte-1tubujq"><a href="/terminals" class="back-link svelte-1tubujq"><span class="back-arrow svelte-1tubujq">&larr;</span> Terminals</a></div> <!></main>'),tn=I("<span></span>"),en=I('<span class="term-cwd svelte-1tubujq"> </span>'),nn=I('<div class="term-input-area svelte-1tubujq"><!> <div class="term-input-bar svelte-1tubujq"><!> <!></div></div>'),an=I('<div class="term-exited-bar svelte-1tubujq"><span class="svelte-1tubujq">Process exited</span> <!></div>'),sn=I('<div class="term-page svelte-1tubujq"><div class="term-topbar svelte-1tubujq"><div class="term-topbar-left svelte-1tubujq"><a href="/terminals" class="term-back svelte-1tubujq" aria-label="Back to terminals">&larr;</a> <span class="term-command-name svelte-1tubujq"> </span> <!> <!> <!> <!></div> <div class="term-topbar-right svelte-1tubujq"><!> <button class="term-shortcuts-btn svelte-1tubujq" type="button" aria-label="Keyboard shortcuts">?</button> <!></div></div> <div class="term-body svelte-1tubujq"></div> <!> <div class="term-chat-body svelte-1tubujq"><!></div> <!></div>'),rn=I("<!> <!> <!>",1);function bn(h,r){rt(r,!0);const g=()=>je(Ne,"$page",b),[b,T]=Te(),w=["claude","opencode"];let a=p(null),N=p(!0),E=p(null),j=p(!1),k=p(!1),W=p(!1),O=p(null),u=p("raw"),q=p("disconnected"),D=p("disconnected"),z=p(""),d=p(ke([])),pt=p(!1),H=p(null),it=p(null),A=null,mt=null,R=p(!1),lt=p(!1),f=null,L=null,v=!1;const U=y(()=>g().params.id),Y=y(()=>t(a)?w.includes((t(a).command.split("/").pop()||"").toLowerCase()):!1),B=y(()=>t(a)?.status==="running"),ht=y(()=>t(a)?.command.split("/").pop()||"terminal"),Bt=y(()=>t(Y)?"AI":"SHELL"),Ft=y(()=>t(Y)?"pill-badge-ai":"pill-badge-shell"),Ht=["Raw","Chat"],gt=y(()=>t(u)==="raw"?t(q):t(D)),Ut=y(()=>t(u)==="raw"?0:1),bt=y(()=>Gt(t(O)||t(a)?.cwd||"")),Jt=y(()=>{const e=[{action:()=>{V("/")},label:"Go to Home"},{action:()=>{V("/terminals")},label:"Go to Terminals"},{action:()=>{V("/config")},label:"Go to Settings"},{action:()=>{n(R,!0)},label:"Show keyboard shortcuts"}];return t(B)&&e.push({action:()=>{wt()},label:"Kill terminal"}),e});function Gt(e){if(!e)return"";const s="";let i=e;if(typeof navigator<"u"){const l=e.split("/");l.length>=3&&l[1]==="Users"?i=`~/${l.slice(3).join("/")}`:l.length>=3&&l[1]==="home"&&(i=`~/${l.slice(3).join("/")}`)}if(i.length>30){const l=i.split("/");if(l.length>2)return`.../${l.slice(-2).join("/")}`}return i||s}function J(){try{const e=localStorage.getItem("shooter_config");if(!e)return null;const s=JSON.parse(e);return typeof s?.apiKey=="string"&&s.apiKey?s:null}catch{return null}}async function Qt(){const e=J();if(!e){n(E,"No configuration found. Please configure settings first."),n(N,!1);return}try{const s=await fetch(`/api/terminals/${t(U)}`,{headers:{Authorization:`Bearer ${e.apiKey}`}});if(!s.ok){n(E,s.status===404?"Terminal not found":"Failed to load terminal",!0),n(N,!1);return}n(a,await s.json(),!0)}catch{n(E,"Failed to connect to server")}n(N,!1)}async function yt(){const e=J();if(!e)return null;try{const s=await fetch("/api/ws-ticket",{headers:{Authorization:`Bearer ${e.apiKey}`},method:"POST"});return s.ok?(await s.json()).ticket:null}catch{return null}}async function wt(){if(!t(a)||t(j))return;const e=J();if(e){n(j,!0);try{(await fetch(`/api/terminals/${t(U)}`,{headers:{Authorization:`Bearer ${e.apiKey}`},method:"DELETE"})).ok?V("/terminals"):n(j,!1)}catch{n(j,!1)}}}async function Vt(){if(!t(a)||t(k))return;const e=J();if(e){n(k,!0);try{(await fetch(`/api/terminals/${t(U)}`,{headers:{Authorization:`Bearer ${e.apiKey}`},method:"DELETE"})).ok?V("/terminals"):n(k,!1)}catch{n(k,!1)}}}async function ct(){if(!t(H)||!t(a)||v)return;const s=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}${t(a).ws}`,i=async()=>{const l=await yt();if(!l)throw new Error("Failed to obtain WebSocket ticket");return l};try{const{createTerminal:l}=await be(async()=>{const{createTerminal:$}=await import("../chunks/50RPd5u3.js");return{createTerminal:$}},__vite__mapDeps([0,1]),import.meta.url);if(v||!t(H))return;const M=await l({apiKey:J()?.apiKey,container:t(H),fontSize:window.innerWidth<768?12:14,getTicket:i,onActivity:$=>{v||n(W,$,!0)},onCwd:$=>{v||n(O,$,!0)},onDisconnect:()=>{v||n(q,"reconnecting")},onExit:$=>{!v&&t(a)&&(n(a,{...t(a),exitCode:$,exitedAt:new Date().toISOString(),status:"exited"},!0),n(q,"disconnected"))},onReconnect:()=>{v||n(q,"connected")},terminalId:t(U),wsUrl:s});if(v){M.dispose();return}A=M,n(q,"connected")}catch(l){console.error("Failed to initialize terminal:",l),n(q,"disconnected")}}function _t(){A&&(A.dispose(),A=null)}async function tt(){if(!t(a)||v||f&&(f.readyState===WebSocket.OPEN||f.readyState===WebSocket.CONNECTING))return;const e=await yt();if(!e||v||!t(a)){n(D,"disconnected");return}const i=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}${t(a).sessionWs}?ticket=${e}`;f=new WebSocket(i),f.onopen=()=>{v||(n(D,"connected"),f?.send(JSON.stringify({sessionId:t(U),type:"subscribe"})))},f.onmessage=l=>{if(!v)try{const M=JSON.parse(l.data);Xt(M)}catch{}},f.onclose=()=>{!v&&t(a)?.status==="running"&&(n(D,"reconnecting"),L&&clearTimeout(L),L=setTimeout(()=>{L=null,!v&&t(a)?.status==="running"&&tt()},2e3))},f.onerror=()=>{v||n(D,"disconnected")}}function Xt(e){if(e.type==="history"){const s=e.messages||[];n(d,s.map(i=>({id:i.id,parts:i.content,role:i.role,timestamp:i.timestamp})),!0)}else if(e.type==="message")n(d,[...t(d),{id:`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:e.content||[],role:e.role||"assistant",timestamp:e.timestamp||new Date().toISOString()}],!0);else if(e.type==="tool-use")n(d,[...t(d),{id:`tool-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:[{id:e.id||`tool-${Date.now()}`,input:e.input||{},toolName:e.name,type:"tool_use"}],role:"assistant",timestamp:new Date().toISOString()}],!0);else if(e.type==="tool-result")n(d,[...t(d),{id:`result-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:[{isError:e.isError||!1,output:e.output||"",toolUseId:e.id,type:"tool_result"}],role:"system",timestamp:new Date().toISOString()}],!0);else if(e.type==="thinking"){const s={content:e.text||"",type:"thinking"},i=t(d).length>0?t(d)[t(d).length-1]:null;i?.role==="assistant"?n(d,[...t(d).slice(0,-1),{...i,parts:[...i.parts,s]}],!0):n(d,[...t(d),{id:`think-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:[s],role:"assistant",timestamp:new Date().toISOString()}],!0)}else e.type==="error"?n(d,[...t(d),{id:`err-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:[{content:e.message||"Unknown error",type:"text"}],role:"system",timestamp:new Date().toISOString()}],!0):e.type==="session-end"&&(n(pt,!0),t(a)&&n(a,{...t(a),status:"exited"},!0))}function kt(){L&&(clearTimeout(L),L=null),f&&(f.onclose=null,f.close(),f=null)}function St(){t(z).trim()&&(A&&t(q)==="connected"&&A.sendInput(`${t(z)}\r`),n(z,""),t(it)?.focus())}function Zt(e){!e.trim()||f?.readyState!==WebSocket.OPEN||f.send(JSON.stringify({text:e,type:"send-input"}))}function xt(){f?.readyState===WebSocket.OPEN&&f.send(JSON.stringify({type:"cancel"}))}function Yt(e){t(u)==="raw"?A&&t(q)==="connected"&&A.sendInput(e):t(u)==="chat"&&e===""&&xt()}function te(e){e.key==="Enter"&&!e.shiftKey&&(e.preventDefault(),St())}let et=!1,nt=!1;function ee(e){e!==t(u)&&(n(u,e,!0),e==="raw"&&!et?(requestAnimationFrame(()=>{ct()}),et=!0):e==="chat"&&!nt&&(tt(),nt=!0))}function ne(){t(u)==="raw"?(_t(),n(q,"reconnecting"),ct(),et=!0):(kt(),n(D,"reconnecting"),tt(),nt=!0)}Se(async()=>{await Qt(),!v&&(mt=Be({onHelp:()=>{n(R,!t(R))}}),!(!t(a)||t(E))&&(t(Y)&&window.innerWidth<768?n(u,"chat"):n(u,"raw"),t(u)==="raw"?(requestAnimationFrame(()=>{ct()}),et=!0):(tt(),nt=!0)))}),xe(()=>{v=!0,_t(),kt(),mt?.destroy()});var Ct=rn();De("1tubujq",e=>{var s=Xe();Ce(()=>{Ie.title=`${t(ht)??""} - Terminal - Shooter`}),S(e,s)});var It=Lt(Ct);{var ae=e=>{var s=Ze();S(e,s)},se=e=>{var s=Ye(),i=c(_(s),2);Oe(i,{icon:"alert-triangle",title:"Error",get description(){return t(E)}}),m(s),S(e,s)},re=e=>{var s=sn(),i=_(s),l=_(i),M=c(_(l),2),$=_(M,!0);m(M);var jt=c(M,2);Nt(jt,{get text(){return t(Bt)},get classes(){return t(Ft)}});var qt=c(jt,2);{var ie=o=>{{let x=y(()=>t(W)?"Active":"Idle");Rt(o,{get text(){return t(x)},position:"bottom",children:(P,F)=>{var C=tn();X(()=>ft(C,1,`activity-dot ${t(W)?"activity-active":"activity-idle"}`,"svelte-1tubujq")),S(P,C)},$$slots:{default:!0}})}};K(qt,o=>{t(B)&&o(ie)})}var Et=c(qt,2);{var le=o=>{{let x=y(()=>t(O)||t(a)?.cwd||"");Rt(o,{get text(){return t(x)},position:"bottom",children:(P,F)=>{var C=en(),G=_(C,!0);m(C),X(()=>st(G,t(bt))),S(P,C)},$$slots:{default:!0}})}};K(Et,o=>{t(bt)&&o(le)})}var ce=c(Et,2);ze(ce,{get status(){return t(gt)},onretry:ne}),m(l);var Kt=c(l,2),$t=_(Kt);{var ue=o=>{Me(o,{get items(){return Ht},get activeIndex(){return t(Ut)},onchange:x=>{ee(x===0?"raw":"chat")},classes:"term-tabs"})};K($t,o=>{t(Y)&&o(ue)})}var ut=c($t,2),de=c(ut,2);{var fe=o=>{Z(o,{classes:"btn-danger btn-sm",onclick:wt,get disabled(){return t(j)},get showLoader(){return t(j)},text:"Kill"})},ve=o=>{Z(o,{classes:"btn-secondary btn-sm",onclick:Vt,get disabled(){return t(k)},get showLoader(){return t(k)},text:"Remove"})};K(de,o=>{t(B)?o(fe):o(ve,-1)})}m(Kt),m(i);var dt=c(i,2);let Dt;Pt(dt,o=>n(H,o),()=>t(H));var At=c(dt,2);{var pe=o=>{var x=nn(),P=_(x);Je(P,{onKey:Yt});var F=c(P,2),C=_(F);Pt(Pe(C,{dataType:"text",useTextArea:!0,placeholder:"Type command... (Shift+Enter for new line)",classes:"input-mono term-input-field",onKeyDown:te,get value(){return t(z)},set value(Q){n(z,Q,!0)}}),Q=>n(it,Q,!0),()=>t(it));var G=c(C,2);{let Q=y(()=>!t(z).trim());Z(G,{classes:"btn-primary btn-send",onclick:St,get disabled(){return t(Q)},text:"↵"})}m(F),m(x),S(o,x)};K(At,o=>{t(B)&&t(u)==="raw"&&o(pe)})}var at=c(At,2);let Mt;var me=_(at);Re(me,{get messages(){return t(d)},get connectionState(){return t(gt)},get sessionEnded(){return t(pt)},get showInput(){return t(B)},onSendInput:Zt,onCancel:xt}),m(at);var he=c(at,2);{var ge=o=>{var x=an(),P=c(_(x),2);{var F=C=>{{let G=y(()=>t(a).exitCode!==0?"pill-exit-error":"pill-exit-ok");Nt(C,{get text(){return`code ${t(a).exitCode??""}`},get classes(){return t(G)}})}};K(P,C=>{t(a).exitCode!==null&&C(F)})}m(x),S(o,x)};K(he,o=>{t(B)||o(ge)})}m(s),X(()=>{st($,t(ht)),Ae(ut,"title",`${vt??""}+/ for shortcuts`),Dt=Ot(dt,"",Dt,{display:t(u)==="raw"?"flex":"none"}),Mt=Ot(at,"",Mt,{display:t(u)==="chat"?"flex":"none"})}),_e("click",ut,()=>{n(R,!t(R))}),S(e,s)};K(It,e=>{t(N)?e(ae):t(E)?e(se,1):t(a)&&e(re,2)})}var Tt=c(It,2);Ve(Tt,{get open(){return t(R)},onClose:()=>{n(R,!1)}});var oe=c(Tt,2);Le(oe,{get commands(){return t(Jt)},onClose:()=>{n(lt,!1)},get open(){return t(lt)},set open(e){n(lt,e,!0)}}),S(h,Ct),ot(),T()}we(["click"]);export{bn as component};
@@ -1 +1 @@
1
- {"version":"1774431915522"}
1
+ {"version":"1774692397634"}
Binary file
Binary file
Binary file
@@ -15,7 +15,7 @@ const pty = require('node-pty');
15
15
  // Parse arguments
16
16
  // ---------------------------------------------------------------------------
17
17
 
18
- const [,, id, socketPath, cwd, colsStr, rowsStr, command, ...args] = process.argv;
18
+ const [, , id, socketPath, cwd, colsStr, rowsStr, command, ...args] = process.argv;
19
19
 
20
20
  if (!id || !socketPath || !cwd || !colsStr || !rowsStr || !command) {
21
21
  process.stderr.write('pty-holder: missing required arguments\n');
@@ -31,6 +31,29 @@ const rows = parseInt(rowsStr, 10);
31
31
 
32
32
  const MAX_SCROLLBACK_LINES = 5000;
33
33
  const MAX_INPUT_BYTES = 65_536; // 64 KB — cap per-write to prevent memory abuse
34
+
35
+ /**
36
+ * Truncate a string to at most maxBytes bytes without splitting a multi-byte
37
+ * UTF-8 character. String.prototype.slice() counts UTF-16 code units, not
38
+ * bytes, so a naive slice can produce more bytes than intended or cut a
39
+ * multi-byte character in half. This helper uses Buffer to measure byte length
40
+ * and binary-searches for the right code-unit boundary.
41
+ */
42
+ function truncateUtf8(str, maxBytes) {
43
+ if (Buffer.byteLength(str, 'utf8') <= maxBytes) return str;
44
+ // Binary search for the largest code-unit prefix that fits
45
+ let lo = 0;
46
+ let hi = str.length;
47
+ while (lo < hi) {
48
+ const mid = (lo + hi + 1) >>> 1;
49
+ if (Buffer.byteLength(str.slice(0, mid), 'utf8') <= maxBytes) {
50
+ lo = mid;
51
+ } else {
52
+ hi = mid - 1;
53
+ }
54
+ }
55
+ return str.slice(0, lo);
56
+ }
34
57
  const GRACE_PERIOD_MS = 60_000; // 60 seconds after PTY exit before self-terminating
35
58
  const ACTIVITY_IDLE_MS = 5_000; // 5 seconds of no output → idle
36
59
 
@@ -49,7 +72,7 @@ function pushScrollback(data) {
49
72
  while (scrollbackLineCount > MAX_SCROLLBACK_LINES && scrollbackChunks.length > 1) {
50
73
  const removed = scrollbackChunks.shift();
51
74
  if (removed) {
52
- scrollbackLineCount -= (removed.split('\n').length - 1);
75
+ scrollbackLineCount -= removed.split('\n').length - 1;
53
76
  }
54
77
  }
55
78
  }
@@ -85,7 +108,11 @@ const ptyEnv = { ...process.env };
85
108
 
86
109
  // Clipboard image paste support: per-terminal clipboard directory
87
110
  const clipboardDir = path.join(os.tmpdir(), `shooter-clipboard-${id}`);
88
- try { fs.mkdirSync(clipboardDir, { recursive: true }); } catch { /* best effort */ }
111
+ try {
112
+ fs.mkdirSync(clipboardDir, { recursive: true });
113
+ } catch {
114
+ /* best effort */
115
+ }
89
116
  ptyEnv.SHOOTER_CLIPBOARD_DIR = clipboardDir;
90
117
 
91
118
  // Prepend clipboard shim scripts to PATH so tools find our xclip/wl-paste
@@ -102,7 +129,10 @@ let spawnCommand;
102
129
  let spawnArgs;
103
130
 
104
131
  if (SHELL_COMMANDS.includes(commandBase)) {
105
- if (commandBase === 'zsh' || (commandBase === 'sh' && (process.env.SHELL || '').includes('zsh'))) {
132
+ if (
133
+ commandBase === 'zsh' ||
134
+ (commandBase === 'sh' && (process.env.SHELL || '').includes('zsh'))
135
+ ) {
106
136
  // zsh: use ZDOTDIR with custom .zshrc
107
137
  const zdotdir = path.join(os.tmpdir(), `shooter-zd-${id}`);
108
138
  try {
@@ -208,7 +238,8 @@ function broadcast(msg) {
208
238
  // ---------------------------------------------------------------------------
209
239
 
210
240
  // Matches: \x1b]7;file://hostname/path\x1b\\ or \x1b]7;file://hostname/path\x07
211
- const OSC7_RE = /\x1b\]7;file:\/\/[^/]*([^\x07\x1b]*)\x07|\x1b\]7;file:\/\/[^/]*([^\x07\x1b]*)\x1b\\/g;
241
+ const OSC7_RE =
242
+ /\x1b\]7;file:\/\/[^/]*([^\x07\x1b]*)\x07|\x1b\]7;file:\/\/[^/]*([^\x07\x1b]*)\x1b\\/g;
212
243
 
213
244
  // Buffer for incomplete OSC 7 sequences split across data chunks
214
245
  let osc7PartialBuf = '';
@@ -391,9 +422,7 @@ function handleMessage(msg) {
391
422
  // static-analysis scanners and prevent memory abuse.
392
423
  if (!exited && typeof msg.data === 'string' && msg.data.length > 0) {
393
424
  try {
394
- const input = msg.data.length > MAX_INPUT_BYTES
395
- ? msg.data.slice(0, MAX_INPUT_BYTES)
396
- : msg.data;
425
+ const input = truncateUtf8(msg.data, MAX_INPUT_BYTES);
397
426
  ptyProcess.write(input); // CodeQL[js/code-injection] — intentional PTY stdin
398
427
  } catch {
399
428
  // PTY may have closed between check and write
@@ -0,0 +1,9 @@
1
+ const index = 0;
2
+ let component_cache;
3
+ const component = async () => component_cache ??= (await import('./_layout.svelte-CO4f8UD7.js')).default;
4
+ const imports = ["_app/immutable/nodes/0.D0i5MqcI.js","_app/immutable/chunks/BeONA6_G.js","_app/immutable/chunks/tjbnEgXP.js","_app/immutable/chunks/K_aHH2KN.js","_app/immutable/chunks/ClK4wZbC.js","_app/immutable/chunks/CHvUpVYv.js","_app/immutable/chunks/CdL99jkG.js"];
5
+ const stylesheets = ["_app/immutable/assets/markdown.Dc-OSJWY.css","_app/immutable/assets/0.DC5pAwP3.css"];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=0-Cs1dzfRz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"0-q2IUp76Y.js","sources":["../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/0.CzkdvJ7j.js\",\"_app/immutable/chunks/RpcNruLP.js\",\"_app/immutable/chunks/BNJphC1q.js\",\"_app/immutable/chunks/Dkkpz_4D.js\",\"_app/immutable/chunks/CgCpWzEA.js\",\"_app/immutable/chunks/CtQ8EED1.js\",\"_app/immutable/chunks/a-St0Zwo.js\"];\nexport const stylesheets = [\"_app/immutable/assets/markdown.B0b5w2tq.css\",\"_app/immutable/assets/0.CM9Hl6d-.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAAoC,CAAC,EAAE;AAClG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACxQ,MAAC,WAAW,GAAG,CAAC,6CAA6C,CAAC,sCAAsC;AACpG,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"0-Cs1dzfRz.js","sources":["../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/0.D0i5MqcI.js\",\"_app/immutable/chunks/BeONA6_G.js\",\"_app/immutable/chunks/tjbnEgXP.js\",\"_app/immutable/chunks/K_aHH2KN.js\",\"_app/immutable/chunks/ClK4wZbC.js\",\"_app/immutable/chunks/CHvUpVYv.js\",\"_app/immutable/chunks/CdL99jkG.js\"];\nexport const stylesheets = [\"_app/immutable/assets/markdown.Dc-OSJWY.css\",\"_app/immutable/assets/0.DC5pAwP3.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAAoC,CAAC,EAAE;AAClG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACxQ,MAAC,WAAW,GAAG,CAAC,6CAA6C,CAAC,sCAAsC;AACpG,MAAC,KAAK,GAAG;;;;"}
@@ -0,0 +1,9 @@
1
+ const index = 1;
2
+ let component_cache;
3
+ const component = async () => component_cache ??= (await import('./error.svelte-BG_yE-Wt.js')).default;
4
+ const imports = ["_app/immutable/nodes/1.DN5n5c6F.js","_app/immutable/chunks/BeONA6_G.js","_app/immutable/chunks/tjbnEgXP.js","_app/immutable/chunks/BDC7XD4o.js","_app/immutable/chunks/CHvUpVYv.js"];
5
+ const stylesheets = [];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=1-BCSX7oED.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"1-CU50G5wZ.js","sources":["../../../.svelte-kit/adapter-node/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/1.MG1QhfrI.js\",\"_app/immutable/chunks/RpcNruLP.js\",\"_app/immutable/chunks/BNJphC1q.js\",\"_app/immutable/chunks/bo70OQUZ.js\",\"_app/immutable/chunks/CtQ8EED1.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChM,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"1-BCSX7oED.js","sources":["../../../.svelte-kit/adapter-node/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/1.DN5n5c6F.js\",\"_app/immutable/chunks/BeONA6_G.js\",\"_app/immutable/chunks/tjbnEgXP.js\",\"_app/immutable/chunks/BDC7XD4o.js\",\"_app/immutable/chunks/CHvUpVYv.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChM,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -0,0 +1,9 @@
1
+ const index = 2;
2
+ let component_cache;
3
+ const component = async () => component_cache ??= (await import('./_page.svelte-3Cc3NMAP.js')).default;
4
+ const imports = ["_app/immutable/nodes/2.BTjkNKZJ.js","_app/immutable/chunks/BeONA6_G.js","_app/immutable/chunks/tjbnEgXP.js","_app/immutable/chunks/Ona8oofC.js","_app/immutable/chunks/K_aHH2KN.js","_app/immutable/chunks/DREFAyhX.js","_app/immutable/chunks/ClK4wZbC.js","_app/immutable/chunks/CHvUpVYv.js","_app/immutable/chunks/CbqC9BW7.js","_app/immutable/chunks/DSU1n5N_.js","_app/immutable/chunks/CojFyTPp.js","_app/immutable/chunks/CGLrx-H5.js"];
5
+ const stylesheets = ["_app/immutable/assets/markdown.Dc-OSJWY.css","_app/immutable/assets/Phone.FQEfwCX2.css","_app/immutable/assets/2.CAShZ7lQ.css"];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=2-6gkeO8b4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"2-6gkeO8b4.js","sources":["../../../.svelte-kit/adapter-node/nodes/2.js"],"sourcesContent":["\n\nexport const index = 2;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/2.BTjkNKZJ.js\",\"_app/immutable/chunks/BeONA6_G.js\",\"_app/immutable/chunks/tjbnEgXP.js\",\"_app/immutable/chunks/Ona8oofC.js\",\"_app/immutable/chunks/K_aHH2KN.js\",\"_app/immutable/chunks/DREFAyhX.js\",\"_app/immutable/chunks/ClK4wZbC.js\",\"_app/immutable/chunks/CHvUpVYv.js\",\"_app/immutable/chunks/CbqC9BW7.js\",\"_app/immutable/chunks/DSU1n5N_.js\",\"_app/immutable/chunks/CojFyTPp.js\",\"_app/immutable/chunks/CGLrx-H5.js\"];\nexport const stylesheets = [\"_app/immutable/assets/markdown.Dc-OSJWY.css\",\"_app/immutable/assets/Phone.FQEfwCX2.css\",\"_app/immutable/assets/2.CAShZ7lQ.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAkC,CAAC,EAAE;AAChG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5b,MAAC,WAAW,GAAG,CAAC,6CAA6C,CAAC,0CAA0C,CAAC,sCAAsC;AAC/I,MAAC,KAAK,GAAG;;;;"}
@@ -0,0 +1,9 @@
1
+ const index = 3;
2
+ let component_cache;
3
+ const component = async () => component_cache ??= (await import('./_page.svelte-rTrWmhOp.js')).default;
4
+ const imports = ["_app/immutable/nodes/3.CEkigHDv.js","_app/immutable/chunks/BeONA6_G.js","_app/immutable/chunks/tjbnEgXP.js","_app/immutable/chunks/Ona8oofC.js","_app/immutable/chunks/K_aHH2KN.js","_app/immutable/chunks/DREFAyhX.js","_app/immutable/chunks/ClK4wZbC.js","_app/immutable/chunks/DSU1n5N_.js"];
5
+ const stylesheets = ["_app/immutable/assets/markdown.Dc-OSJWY.css","_app/immutable/assets/Phone.FQEfwCX2.css","_app/immutable/assets/3.BoXp0JoS.css"];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=3-DH9J9Vsc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"3-DH9J9Vsc.js","sources":["../../../.svelte-kit/adapter-node/nodes/3.js"],"sourcesContent":["\n\nexport const index = 3;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/config/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/3.CEkigHDv.js\",\"_app/immutable/chunks/BeONA6_G.js\",\"_app/immutable/chunks/tjbnEgXP.js\",\"_app/immutable/chunks/Ona8oofC.js\",\"_app/immutable/chunks/K_aHH2KN.js\",\"_app/immutable/chunks/DREFAyhX.js\",\"_app/immutable/chunks/ClK4wZbC.js\",\"_app/immutable/chunks/DSU1n5N_.js\"];\nexport const stylesheets = [\"_app/immutable/assets/markdown.Dc-OSJWY.css\",\"_app/immutable/assets/Phone.FQEfwCX2.css\",\"_app/immutable/assets/3.BoXp0JoS.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAyC,CAAC,EAAE;AACvG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5S,MAAC,WAAW,GAAG,CAAC,6CAA6C,CAAC,0CAA0C,CAAC,sCAAsC;AAC/I,MAAC,KAAK,GAAG;;;;"}
@@ -0,0 +1,9 @@
1
+ const index = 4;
2
+ let component_cache;
3
+ const component = async () => component_cache ??= (await import('./_page.svelte-C6bns9aQ.js')).default;
4
+ const imports = ["_app/immutable/nodes/4.B-8Zsc9k.js","_app/immutable/chunks/BeONA6_G.js","_app/immutable/chunks/tjbnEgXP.js","_app/immutable/chunks/Ona8oofC.js","_app/immutable/chunks/K_aHH2KN.js","_app/immutable/chunks/DREFAyhX.js","_app/immutable/chunks/ClK4wZbC.js","_app/immutable/chunks/BDC7XD4o.js","_app/immutable/chunks/CHvUpVYv.js","_app/immutable/chunks/CbqC9BW7.js","_app/immutable/chunks/DSU1n5N_.js","_app/immutable/chunks/CojFyTPp.js","_app/immutable/chunks/CGLrx-H5.js"];
5
+ const stylesheets = ["_app/immutable/assets/markdown.Dc-OSJWY.css","_app/immutable/assets/Phone.FQEfwCX2.css","_app/immutable/assets/4.cJuCkJKZ.css"];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=4-Rzy5TYjl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"4-Rzy5TYjl.js","sources":["../../../.svelte-kit/adapter-node/nodes/4.js"],"sourcesContent":["\n\nexport const index = 4;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/project/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/4.B-8Zsc9k.js\",\"_app/immutable/chunks/BeONA6_G.js\",\"_app/immutable/chunks/tjbnEgXP.js\",\"_app/immutable/chunks/Ona8oofC.js\",\"_app/immutable/chunks/K_aHH2KN.js\",\"_app/immutable/chunks/DREFAyhX.js\",\"_app/immutable/chunks/ClK4wZbC.js\",\"_app/immutable/chunks/BDC7XD4o.js\",\"_app/immutable/chunks/CHvUpVYv.js\",\"_app/immutable/chunks/CbqC9BW7.js\",\"_app/immutable/chunks/DSU1n5N_.js\",\"_app/immutable/chunks/CojFyTPp.js\",\"_app/immutable/chunks/CGLrx-H5.js\"];\nexport const stylesheets = [\"_app/immutable/assets/markdown.Dc-OSJWY.css\",\"_app/immutable/assets/Phone.FQEfwCX2.css\",\"_app/immutable/assets/4.cJuCkJKZ.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA0C,CAAC,EAAE;AACxG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChe,MAAC,WAAW,GAAG,CAAC,6CAA6C,CAAC,0CAA0C,CAAC,sCAAsC;AAC/I,MAAC,KAAK,GAAG;;;;"}
@@ -0,0 +1,9 @@
1
+ const index = 5;
2
+ let component_cache;
3
+ const component = async () => component_cache ??= (await import('./_page.svelte-C0p3HsIW.js')).default;
4
+ const imports = ["_app/immutable/nodes/5.shitbtHc.js","_app/immutable/chunks/BeONA6_G.js","_app/immutable/chunks/tjbnEgXP.js","_app/immutable/chunks/Ona8oofC.js","_app/immutable/chunks/K_aHH2KN.js","_app/immutable/chunks/DREFAyhX.js","_app/immutable/chunks/ClK4wZbC.js","_app/immutable/chunks/BDC7XD4o.js","_app/immutable/chunks/CHvUpVYv.js","_app/immutable/chunks/CbqC9BW7.js","_app/immutable/chunks/CojFyTPp.js","_app/immutable/chunks/BygiiMA0.js"];
5
+ const stylesheets = ["_app/immutable/assets/markdown.Dc-OSJWY.css","_app/immutable/assets/Phone.FQEfwCX2.css","_app/immutable/assets/ChatView.CsdBAOKx.css","_app/immutable/assets/5.DRjApZQW.css"];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=5-D0wB7nfE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"5-D0wB7nfE.js","sources":["../../../.svelte-kit/adapter-node/nodes/5.js"],"sourcesContent":["\n\nexport const index = 5;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/session/_id_/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/5.shitbtHc.js\",\"_app/immutable/chunks/BeONA6_G.js\",\"_app/immutable/chunks/tjbnEgXP.js\",\"_app/immutable/chunks/Ona8oofC.js\",\"_app/immutable/chunks/K_aHH2KN.js\",\"_app/immutable/chunks/DREFAyhX.js\",\"_app/immutable/chunks/ClK4wZbC.js\",\"_app/immutable/chunks/BDC7XD4o.js\",\"_app/immutable/chunks/CHvUpVYv.js\",\"_app/immutable/chunks/CbqC9BW7.js\",\"_app/immutable/chunks/CojFyTPp.js\",\"_app/immutable/chunks/BygiiMA0.js\"];\nexport const stylesheets = [\"_app/immutable/assets/markdown.Dc-OSJWY.css\",\"_app/immutable/assets/Phone.FQEfwCX2.css\",\"_app/immutable/assets/ChatView.CsdBAOKx.css\",\"_app/immutable/assets/5.DRjApZQW.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA+C,CAAC,EAAE;AAC7G,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5b,MAAC,WAAW,GAAG,CAAC,6CAA6C,CAAC,0CAA0C,CAAC,6CAA6C,CAAC,sCAAsC;AAC7L,MAAC,KAAK,GAAG;;;;"}
@@ -0,0 +1,9 @@
1
+ const index = 6;
2
+ let component_cache;
3
+ const component = async () => component_cache ??= (await import('./_page.svelte-CFCONiDK.js')).default;
4
+ const imports = ["_app/immutable/nodes/6.CB8Q6eH8.js","_app/immutable/chunks/BeONA6_G.js","_app/immutable/chunks/tjbnEgXP.js","_app/immutable/chunks/Ona8oofC.js","_app/immutable/chunks/K_aHH2KN.js","_app/immutable/chunks/DREFAyhX.js","_app/immutable/chunks/ClK4wZbC.js","_app/immutable/chunks/CHvUpVYv.js","_app/immutable/chunks/CbqC9BW7.js","_app/immutable/chunks/DSU1n5N_.js","_app/immutable/chunks/CojFyTPp.js","_app/immutable/chunks/CGLrx-H5.js"];
5
+ const stylesheets = ["_app/immutable/assets/markdown.Dc-OSJWY.css","_app/immutable/assets/Phone.FQEfwCX2.css","_app/immutable/assets/6.eZGZN-BF.css"];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=6-DR2ABDPq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"6-DR2ABDPq.js","sources":["../../../.svelte-kit/adapter-node/nodes/6.js"],"sourcesContent":["\n\nexport const index = 6;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/terminals/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/6.CB8Q6eH8.js\",\"_app/immutable/chunks/BeONA6_G.js\",\"_app/immutable/chunks/tjbnEgXP.js\",\"_app/immutable/chunks/Ona8oofC.js\",\"_app/immutable/chunks/K_aHH2KN.js\",\"_app/immutable/chunks/DREFAyhX.js\",\"_app/immutable/chunks/ClK4wZbC.js\",\"_app/immutable/chunks/CHvUpVYv.js\",\"_app/immutable/chunks/CbqC9BW7.js\",\"_app/immutable/chunks/DSU1n5N_.js\",\"_app/immutable/chunks/CojFyTPp.js\",\"_app/immutable/chunks/CGLrx-H5.js\"];\nexport const stylesheets = [\"_app/immutable/assets/markdown.Dc-OSJWY.css\",\"_app/immutable/assets/Phone.FQEfwCX2.css\",\"_app/immutable/assets/6.eZGZN-BF.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA4C,CAAC,EAAE;AAC1G,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5b,MAAC,WAAW,GAAG,CAAC,6CAA6C,CAAC,0CAA0C,CAAC,sCAAsC;AAC/I,MAAC,KAAK,GAAG;;;;"}