@juspay/shooter 1.1.0 → 1.2.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 (330) hide show
  1. package/build/client/_app/immutable/assets/{0.DC5pAwP3.css → 0.BhZOCxO4.css} +1 -1
  2. package/build/client/_app/immutable/assets/0.BhZOCxO4.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.BhZOCxO4.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/1.BYutk3aU.css +1 -0
  5. package/build/client/_app/immutable/assets/1.BYutk3aU.css.br +0 -0
  6. package/build/client/_app/immutable/assets/1.BYutk3aU.css.gz +0 -0
  7. package/build/client/_app/immutable/assets/{3.BoXp0JoS.css → 3.DGDHCVnW.css} +1 -1
  8. package/build/client/_app/immutable/assets/3.DGDHCVnW.css.br +0 -0
  9. package/build/client/_app/immutable/assets/3.DGDHCVnW.css.gz +0 -0
  10. package/build/client/_app/immutable/assets/4.BFUut--w.css +1 -0
  11. package/build/client/_app/immutable/assets/4.BFUut--w.css.br +0 -0
  12. package/build/client/_app/immutable/assets/4.BFUut--w.css.gz +0 -0
  13. package/build/client/_app/immutable/assets/5.BTOx7yt7.css +1 -0
  14. package/build/client/_app/immutable/assets/5.BTOx7yt7.css.br +0 -0
  15. package/build/client/_app/immutable/assets/5.BTOx7yt7.css.gz +0 -0
  16. package/build/client/_app/immutable/assets/{7.PyEFVv_s.css → 7.DwS5ZHBh.css} +1 -1
  17. package/build/client/_app/immutable/assets/7.DwS5ZHBh.css.br +0 -0
  18. package/build/client/_app/immutable/assets/7.DwS5ZHBh.css.gz +0 -0
  19. package/build/client/_app/immutable/assets/ChatView.CwWbzIL-.css +1 -0
  20. package/build/client/_app/immutable/assets/ChatView.CwWbzIL-.css.br +0 -0
  21. package/build/client/_app/immutable/assets/ChatView.CwWbzIL-.css.gz +0 -0
  22. package/build/client/_app/immutable/chunks/B-K5Sh65.js +1 -0
  23. package/build/client/_app/immutable/chunks/B-K5Sh65.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/B-K5Sh65.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/B5NAKyil.js +20 -0
  26. package/build/client/_app/immutable/chunks/B5NAKyil.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/B5NAKyil.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/B8XegpSE.js +1 -0
  29. package/build/client/_app/immutable/chunks/B8XegpSE.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/B8XegpSE.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/{50RPd5u3.js → B8zoBsv3.js} +1 -1
  32. package/build/client/_app/immutable/chunks/B8zoBsv3.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/B8zoBsv3.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/BLszSzTT.js +1 -0
  35. package/build/client/_app/immutable/chunks/BLszSzTT.js.br +0 -0
  36. package/build/client/_app/immutable/chunks/BLszSzTT.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/BOYo8yTr.js +1 -0
  38. package/build/client/_app/immutable/chunks/BOYo8yTr.js.br +0 -0
  39. package/build/client/_app/immutable/chunks/BOYo8yTr.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/{CdL99jkG.js → BYqGCrTe.js} +1 -1
  41. package/build/client/_app/immutable/chunks/BYqGCrTe.js.br +0 -0
  42. package/build/client/_app/immutable/chunks/BYqGCrTe.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/Bu1aqm5j.js +1 -0
  44. package/build/client/_app/immutable/chunks/Bu1aqm5j.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/Bu1aqm5j.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/C4mLaWWx.js +1 -0
  47. package/build/client/_app/immutable/chunks/C4mLaWWx.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/C4mLaWWx.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/{ClK4wZbC.js → CQjSATpv.js} +16 -16
  50. package/build/client/_app/immutable/chunks/CQjSATpv.js.br +0 -0
  51. package/build/client/_app/immutable/chunks/CQjSATpv.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/{CojFyTPp.js → CSoRdFvv.js} +1 -1
  53. package/build/client/_app/immutable/chunks/CSoRdFvv.js.br +0 -0
  54. package/build/client/_app/immutable/chunks/CSoRdFvv.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/{tjbnEgXP.js → CZHsSL_X.js} +1 -1
  56. package/build/client/_app/immutable/chunks/CZHsSL_X.js.br +0 -0
  57. package/build/client/_app/immutable/chunks/CZHsSL_X.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/DVkn4r72.js +1 -0
  59. package/build/client/_app/immutable/chunks/DVkn4r72.js.br +0 -0
  60. package/build/client/_app/immutable/chunks/DVkn4r72.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/DjsDGxCa.js +41 -0
  62. package/build/client/_app/immutable/chunks/DjsDGxCa.js.br +0 -0
  63. package/build/client/_app/immutable/chunks/DjsDGxCa.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/UJOiqIYE.js +1 -0
  65. package/build/client/_app/immutable/chunks/UJOiqIYE.js.br +0 -0
  66. package/build/client/_app/immutable/chunks/UJOiqIYE.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/r0JawsZc.js +2 -0
  68. package/build/client/_app/immutable/chunks/r0JawsZc.js.br +0 -0
  69. package/build/client/_app/immutable/chunks/r0JawsZc.js.gz +0 -0
  70. package/build/client/_app/immutable/entry/app.Z3zMnuSx.js +2 -0
  71. package/build/client/_app/immutable/entry/app.Z3zMnuSx.js.br +0 -0
  72. package/build/client/_app/immutable/entry/app.Z3zMnuSx.js.gz +0 -0
  73. package/build/client/_app/immutable/entry/start.Dd-gIP4y.js +1 -0
  74. package/build/client/_app/immutable/entry/start.Dd-gIP4y.js.br +2 -0
  75. package/build/client/_app/immutable/entry/start.Dd-gIP4y.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/0.D2YR8tTD.js +1 -0
  77. package/build/client/_app/immutable/nodes/0.D2YR8tTD.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/0.D2YR8tTD.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/1.B3m6rO4C.js +1 -0
  80. package/build/client/_app/immutable/nodes/1.B3m6rO4C.js.br +0 -0
  81. package/build/client/_app/immutable/nodes/1.B3m6rO4C.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/2.CyRB2euU.js +1 -0
  83. package/build/client/_app/immutable/nodes/2.CyRB2euU.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/2.CyRB2euU.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/3.3yohCM25.js +3 -0
  86. package/build/client/_app/immutable/nodes/3.3yohCM25.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/3.3yohCM25.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/4.DEAcwl7l.js +1 -0
  89. package/build/client/_app/immutable/nodes/4.DEAcwl7l.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/4.DEAcwl7l.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/5.C6bLGWQR.js +4 -0
  92. package/build/client/_app/immutable/nodes/5.C6bLGWQR.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/5.C6bLGWQR.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/6.ByTzlA2D.js +2 -0
  95. package/build/client/_app/immutable/nodes/6.ByTzlA2D.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/6.ByTzlA2D.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/7.BPMfwzd2.js +2 -0
  98. package/build/client/_app/immutable/nodes/7.BPMfwzd2.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/7.BPMfwzd2.js.gz +0 -0
  100. package/build/client/_app/version.json +1 -1
  101. package/build/client/_app/version.json.br +0 -0
  102. package/build/client/_app/version.json.gz +0 -0
  103. package/build/client/manifest.json +13 -0
  104. package/build/client/manifest.json.br +0 -0
  105. package/build/client/manifest.json.gz +0 -0
  106. package/build/server/chunks/0-Vk38tI2J.js +9 -0
  107. package/build/server/chunks/0-Vk38tI2J.js.map +1 -0
  108. package/build/server/chunks/1-BvYQX5MR.js +9 -0
  109. package/build/server/chunks/1-BvYQX5MR.js.map +1 -0
  110. package/build/server/chunks/2-Cl7R4Qk2.js +9 -0
  111. package/build/server/chunks/2-Cl7R4Qk2.js.map +1 -0
  112. package/build/server/chunks/3-Ck7ewhOX.js +9 -0
  113. package/build/server/chunks/3-Ck7ewhOX.js.map +1 -0
  114. package/build/server/chunks/4-CnDeRm2Z.js +9 -0
  115. package/build/server/chunks/4-CnDeRm2Z.js.map +1 -0
  116. package/build/server/chunks/5-IxitzEvN.js +9 -0
  117. package/build/server/chunks/{5-D0wB7nfE.js.map → 5-IxitzEvN.js.map} +1 -1
  118. package/build/server/chunks/6-CyZ3r1iS.js +9 -0
  119. package/build/server/chunks/6-CyZ3r1iS.js.map +1 -0
  120. package/build/server/chunks/7-BmI7du46.js +9 -0
  121. package/build/server/chunks/7-BmI7du46.js.map +1 -0
  122. package/build/server/chunks/{Button-C7D5W6wV.js → Button-Cs1aE6ka.js} +2 -2
  123. package/build/server/chunks/{Button-C7D5W6wV.js.map → Button-Cs1aE6ka.js.map} +1 -1
  124. package/build/server/chunks/{EmptyState-Ci4pSpmY.js → EmptyState-DDFH1K8g.js} +10 -4
  125. package/build/server/chunks/EmptyState-DDFH1K8g.js.map +1 -0
  126. package/build/server/chunks/{Icon-DyrkHVnV.js → Icon-CEUrotA6.js} +3 -3
  127. package/build/server/chunks/{Icon-DyrkHVnV.js.map → Icon-CEUrotA6.js.map} +1 -1
  128. package/build/server/chunks/{Shimmer-BITK6wrm.js → Shimmer-DB8W1zt6.js} +2 -2
  129. package/build/server/chunks/{Shimmer-BITK6wrm.js.map → Shimmer-DB8W1zt6.js.map} +1 -1
  130. package/build/server/chunks/_error.svelte-uCOJNxvr.js +39 -0
  131. package/build/server/chunks/_error.svelte-uCOJNxvr.js.map +1 -0
  132. package/build/server/chunks/{_layout.svelte-CO4f8UD7.js → _layout.svelte-CtWmEJwe.js} +5 -25
  133. package/build/server/chunks/_layout.svelte-CtWmEJwe.js.map +1 -0
  134. package/build/server/chunks/{_page.svelte-C6bns9aQ.js → _page.svelte-BcZaKdX9.js} +13 -9
  135. package/build/server/chunks/_page.svelte-BcZaKdX9.js.map +1 -0
  136. package/build/server/chunks/{_page.svelte-3Cc3NMAP.js → _page.svelte-BdYynOck.js} +18 -14
  137. package/build/server/chunks/_page.svelte-BdYynOck.js.map +1 -0
  138. package/build/server/chunks/{_page.svelte-CFCONiDK.js → _page.svelte-BgevQjq1.js} +16 -12
  139. package/build/server/chunks/_page.svelte-BgevQjq1.js.map +1 -0
  140. package/build/server/chunks/{_page.svelte-DskND_G9.js → _page.svelte-CVq6tRb3.js} +8 -8
  141. package/build/server/chunks/_page.svelte-CVq6tRb3.js.map +1 -0
  142. package/build/server/chunks/{_page.svelte-rTrWmhOp.js → _page.svelte-CxWcQ0Am.js} +8 -8
  143. package/build/server/chunks/_page.svelte-CxWcQ0Am.js.map +1 -0
  144. package/build/server/chunks/{_page.svelte-C0p3HsIW.js → _page.svelte-DO4oa_LY.js} +11 -13
  145. package/build/server/chunks/_page.svelte-DO4oa_LY.js.map +1 -0
  146. package/build/server/chunks/{_server.ts-CS5H5klP.js → _server.ts-CAxsWKvS.js} +14 -10
  147. package/build/server/chunks/_server.ts-CAxsWKvS.js.map +1 -0
  148. package/build/server/chunks/{_server.ts-C8slOHB0.js → _server.ts-CTpcLUH8.js} +3 -2
  149. package/build/server/chunks/_server.ts-CTpcLUH8.js.map +1 -0
  150. package/build/server/chunks/_server.ts-CtH0dhUp.js +71 -0
  151. package/build/server/chunks/_server.ts-CtH0dhUp.js.map +1 -0
  152. package/build/server/chunks/{_server.ts-DhTrdlWH.js → _server.ts-DB_Kg97c.js} +14 -3
  153. package/build/server/chunks/_server.ts-DB_Kg97c.js.map +1 -0
  154. package/build/server/chunks/_server.ts-DYpJImqd.js +99 -0
  155. package/build/server/chunks/_server.ts-DYpJImqd.js.map +1 -0
  156. package/build/server/chunks/{_server.ts-DpEVfp8W.js → _server.ts-Deok2y88.js} +58 -40
  157. package/build/server/chunks/_server.ts-Deok2y88.js.map +1 -0
  158. package/build/server/chunks/{_server.ts-uHUi-4cd.js → _server.ts-vekTmWAx.js} +3 -2
  159. package/build/server/chunks/_server.ts-vekTmWAx.js.map +1 -0
  160. package/build/server/chunks/{client2-BjxIYuno.js → client-BdGHe_hY.js} +4 -4
  161. package/build/server/chunks/client-BdGHe_hY.js.map +1 -0
  162. package/build/server/chunks/client2-CCBGA-2V.js +7 -0
  163. package/build/server/chunks/client2-CCBGA-2V.js.map +1 -0
  164. package/build/server/chunks/{index-Cnl871UW.js → index-DwaY1cAm.js} +2 -2
  165. package/build/server/chunks/{index-Cnl871UW.js.map → index-DwaY1cAm.js.map} +1 -1
  166. package/build/server/chunks/{index-server-CUC9Jt7r.js → index-server-CrDaL06Y.js} +2 -2
  167. package/build/server/chunks/{index-server-CUC9Jt7r.js.map → index-server-CrDaL06Y.js.map} +1 -1
  168. package/build/server/chunks/{index2-HA3VTH7y.js → index2-CgclKpUj.js} +2 -2
  169. package/build/server/chunks/{index2-HA3VTH7y.js.map → index2-CgclKpUj.js.map} +1 -1
  170. package/build/server/chunks/opencode-db-path-DcfhJtJy.js +15 -0
  171. package/build/server/chunks/opencode-db-path-DcfhJtJy.js.map +1 -0
  172. package/build/server/chunks/{pty-manager-DR0Wt2Ac.js → pty-manager-BQVB7IVj.js} +17 -15
  173. package/build/server/chunks/pty-manager-BQVB7IVj.js.map +1 -0
  174. package/build/server/chunks/{root-DhswcH6o.js → root-DDSnEAZv.js} +2 -2
  175. package/build/server/chunks/{root-DhswcH6o.js.map → root-DDSnEAZv.js.map} +1 -1
  176. package/build/server/chunks/{state.svelte-2Lellg7t.js → state.svelte-hBbXlUak.js} +3 -3
  177. package/build/server/chunks/{state.svelte-2Lellg7t.js.map → state.svelte-hBbXlUak.js.map} +1 -1
  178. package/build/server/chunks/stores-DHNzYNpX.js +28 -0
  179. package/build/server/chunks/stores-DHNzYNpX.js.map +1 -0
  180. package/build/server/index.js +5 -5
  181. package/build/server/index.js.map +1 -1
  182. package/build/server/manifest.js +30 -16
  183. package/build/server/manifest.js.map +1 -1
  184. package/package.json +1 -1
  185. package/scripts/setup.cjs +87 -13
  186. package/server.ts +3 -0
  187. package/src/app.html +3 -0
  188. package/src/lib/modules/client/common/cache.ts +10 -2
  189. package/src/lib/modules/client/common/index.ts +1 -1
  190. package/src/lib/modules/client/common/markdown.ts +22 -1
  191. package/src/lib/modules/client/common/time.ts +13 -11
  192. package/src/lib/modules/client/terminal/ChatView.svelte +324 -67
  193. package/src/lib/modules/client/terminal/ConnectionStatus.svelte +1 -0
  194. package/src/lib/modules/client/terminal/xterm-wrapper.ts +4 -1
  195. package/src/lib/modules/server/sessions/jsonl-reader.ts +43 -28
  196. package/src/lib/modules/server/sessions/opencode-db-path.ts +26 -0
  197. package/src/lib/modules/server/sessions/opencode-reader.ts +13 -15
  198. package/src/lib/modules/server/sessions/process-detector.ts +103 -0
  199. package/src/lib/modules/server/terminal/opencode-watcher.ts +3 -14
  200. package/src/lib/modules/server/terminal/pty-manager.ts +20 -8
  201. package/src/lib/modules/server/ws/session-handler.ts +282 -104
  202. package/src/lib/theme.css +30 -0
  203. package/src/routes/+error.svelte +94 -0
  204. package/src/routes/+page.svelte +18 -8
  205. package/src/routes/api/health/+server.ts +14 -2
  206. package/src/routes/api/sessions/+server.ts +12 -4
  207. package/src/routes/api/sessions/connect/+server.ts +125 -0
  208. package/src/routes/api/sessions/detect/+server.ts +27 -0
  209. package/src/routes/api/terminals/+server.ts +12 -9
  210. package/src/routes/config/+page.svelte +22 -1
  211. package/src/routes/project/+page.svelte +159 -8
  212. package/src/routes/session/[id]/+page.svelte +477 -299
  213. package/src/routes/terminals/+page.svelte +14 -3
  214. package/src/routes/terminals/[id]/+page.svelte +25 -0
  215. package/build/client/_app/immutable/assets/0.DC5pAwP3.css.br +0 -0
  216. package/build/client/_app/immutable/assets/0.DC5pAwP3.css.gz +0 -0
  217. package/build/client/_app/immutable/assets/3.BoXp0JoS.css.br +0 -0
  218. package/build/client/_app/immutable/assets/3.BoXp0JoS.css.gz +0 -0
  219. package/build/client/_app/immutable/assets/4.cJuCkJKZ.css +0 -1
  220. package/build/client/_app/immutable/assets/4.cJuCkJKZ.css.br +0 -0
  221. package/build/client/_app/immutable/assets/4.cJuCkJKZ.css.gz +0 -0
  222. package/build/client/_app/immutable/assets/5.DRjApZQW.css +0 -1
  223. package/build/client/_app/immutable/assets/5.DRjApZQW.css.br +0 -0
  224. package/build/client/_app/immutable/assets/5.DRjApZQW.css.gz +0 -0
  225. package/build/client/_app/immutable/assets/7.PyEFVv_s.css.br +0 -0
  226. package/build/client/_app/immutable/assets/7.PyEFVv_s.css.gz +0 -0
  227. package/build/client/_app/immutable/assets/ChatView.CsdBAOKx.css +0 -1
  228. package/build/client/_app/immutable/assets/ChatView.CsdBAOKx.css.br +0 -0
  229. package/build/client/_app/immutable/assets/ChatView.CsdBAOKx.css.gz +0 -0
  230. package/build/client/_app/immutable/chunks/50RPd5u3.js.br +0 -0
  231. package/build/client/_app/immutable/chunks/50RPd5u3.js.gz +0 -0
  232. package/build/client/_app/immutable/chunks/BDC7XD4o.js +0 -1
  233. package/build/client/_app/immutable/chunks/BDC7XD4o.js.br +0 -0
  234. package/build/client/_app/immutable/chunks/BDC7XD4o.js.gz +0 -0
  235. package/build/client/_app/immutable/chunks/BeONA6_G.js +0 -2
  236. package/build/client/_app/immutable/chunks/BeONA6_G.js.br +0 -0
  237. package/build/client/_app/immutable/chunks/BeONA6_G.js.gz +0 -0
  238. package/build/client/_app/immutable/chunks/BygiiMA0.js +0 -1
  239. package/build/client/_app/immutable/chunks/BygiiMA0.js.br +0 -0
  240. package/build/client/_app/immutable/chunks/BygiiMA0.js.gz +0 -0
  241. package/build/client/_app/immutable/chunks/CGLrx-H5.js +0 -1
  242. package/build/client/_app/immutable/chunks/CGLrx-H5.js.br +0 -0
  243. package/build/client/_app/immutable/chunks/CGLrx-H5.js.gz +0 -0
  244. package/build/client/_app/immutable/chunks/CHvUpVYv.js +0 -1
  245. package/build/client/_app/immutable/chunks/CHvUpVYv.js.br +0 -0
  246. package/build/client/_app/immutable/chunks/CHvUpVYv.js.gz +0 -0
  247. package/build/client/_app/immutable/chunks/CbqC9BW7.js +0 -1
  248. package/build/client/_app/immutable/chunks/CbqC9BW7.js.br +0 -2
  249. package/build/client/_app/immutable/chunks/CbqC9BW7.js.gz +0 -0
  250. package/build/client/_app/immutable/chunks/CdL99jkG.js.br +0 -0
  251. package/build/client/_app/immutable/chunks/CdL99jkG.js.gz +0 -0
  252. package/build/client/_app/immutable/chunks/ClK4wZbC.js.br +0 -0
  253. package/build/client/_app/immutable/chunks/ClK4wZbC.js.gz +0 -0
  254. package/build/client/_app/immutable/chunks/CojFyTPp.js.br +0 -0
  255. package/build/client/_app/immutable/chunks/CojFyTPp.js.gz +0 -0
  256. package/build/client/_app/immutable/chunks/DREFAyhX.js +0 -60
  257. package/build/client/_app/immutable/chunks/DREFAyhX.js.br +0 -0
  258. package/build/client/_app/immutable/chunks/DREFAyhX.js.gz +0 -0
  259. package/build/client/_app/immutable/chunks/K_aHH2KN.js +0 -1
  260. package/build/client/_app/immutable/chunks/K_aHH2KN.js.br +0 -0
  261. package/build/client/_app/immutable/chunks/K_aHH2KN.js.gz +0 -0
  262. package/build/client/_app/immutable/chunks/Ona8oofC.js +0 -1
  263. package/build/client/_app/immutable/chunks/Ona8oofC.js.br +0 -0
  264. package/build/client/_app/immutable/chunks/Ona8oofC.js.gz +0 -0
  265. package/build/client/_app/immutable/chunks/tjbnEgXP.js.br +0 -0
  266. package/build/client/_app/immutable/chunks/tjbnEgXP.js.gz +0 -0
  267. package/build/client/_app/immutable/entry/app.anqwe7ZL.js +0 -2
  268. package/build/client/_app/immutable/entry/app.anqwe7ZL.js.br +0 -0
  269. package/build/client/_app/immutable/entry/app.anqwe7ZL.js.gz +0 -0
  270. package/build/client/_app/immutable/entry/start.BV2VRv6h.js +0 -1
  271. package/build/client/_app/immutable/entry/start.BV2VRv6h.js.br +0 -2
  272. package/build/client/_app/immutable/entry/start.BV2VRv6h.js.gz +0 -0
  273. package/build/client/_app/immutable/nodes/0.D0i5MqcI.js +0 -1
  274. package/build/client/_app/immutable/nodes/0.D0i5MqcI.js.br +0 -0
  275. package/build/client/_app/immutable/nodes/0.D0i5MqcI.js.gz +0 -0
  276. package/build/client/_app/immutable/nodes/1.DN5n5c6F.js +0 -1
  277. package/build/client/_app/immutable/nodes/1.DN5n5c6F.js.br +0 -0
  278. package/build/client/_app/immutable/nodes/1.DN5n5c6F.js.gz +0 -0
  279. package/build/client/_app/immutable/nodes/2.BTjkNKZJ.js +0 -1
  280. package/build/client/_app/immutable/nodes/2.BTjkNKZJ.js.br +0 -0
  281. package/build/client/_app/immutable/nodes/2.BTjkNKZJ.js.gz +0 -0
  282. package/build/client/_app/immutable/nodes/3.CEkigHDv.js +0 -3
  283. package/build/client/_app/immutable/nodes/3.CEkigHDv.js.br +0 -0
  284. package/build/client/_app/immutable/nodes/3.CEkigHDv.js.gz +0 -0
  285. package/build/client/_app/immutable/nodes/4.B-8Zsc9k.js +0 -1
  286. package/build/client/_app/immutable/nodes/4.B-8Zsc9k.js.br +0 -0
  287. package/build/client/_app/immutable/nodes/4.B-8Zsc9k.js.gz +0 -0
  288. package/build/client/_app/immutable/nodes/5.shitbtHc.js +0 -1
  289. package/build/client/_app/immutable/nodes/5.shitbtHc.js.br +0 -0
  290. package/build/client/_app/immutable/nodes/5.shitbtHc.js.gz +0 -0
  291. package/build/client/_app/immutable/nodes/6.CB8Q6eH8.js +0 -2
  292. package/build/client/_app/immutable/nodes/6.CB8Q6eH8.js.br +0 -0
  293. package/build/client/_app/immutable/nodes/6.CB8Q6eH8.js.gz +0 -0
  294. package/build/client/_app/immutable/nodes/7.D0CrR6pl.js +0 -2
  295. package/build/client/_app/immutable/nodes/7.D0CrR6pl.js.br +0 -0
  296. package/build/client/_app/immutable/nodes/7.D0CrR6pl.js.gz +0 -0
  297. package/build/server/chunks/0-Cs1dzfRz.js +0 -9
  298. package/build/server/chunks/0-Cs1dzfRz.js.map +0 -1
  299. package/build/server/chunks/1-BCSX7oED.js +0 -9
  300. package/build/server/chunks/1-BCSX7oED.js.map +0 -1
  301. package/build/server/chunks/2-6gkeO8b4.js +0 -9
  302. package/build/server/chunks/2-6gkeO8b4.js.map +0 -1
  303. package/build/server/chunks/3-DH9J9Vsc.js +0 -9
  304. package/build/server/chunks/3-DH9J9Vsc.js.map +0 -1
  305. package/build/server/chunks/4-Rzy5TYjl.js +0 -9
  306. package/build/server/chunks/4-Rzy5TYjl.js.map +0 -1
  307. package/build/server/chunks/5-D0wB7nfE.js +0 -9
  308. package/build/server/chunks/6-DR2ABDPq.js +0 -9
  309. package/build/server/chunks/6-DR2ABDPq.js.map +0 -1
  310. package/build/server/chunks/7-D-oQJsia.js +0 -9
  311. package/build/server/chunks/7-D-oQJsia.js.map +0 -1
  312. package/build/server/chunks/EmptyState-Ci4pSpmY.js.map +0 -1
  313. package/build/server/chunks/_layout.svelte-CO4f8UD7.js.map +0 -1
  314. package/build/server/chunks/_page.svelte-3Cc3NMAP.js.map +0 -1
  315. package/build/server/chunks/_page.svelte-C0p3HsIW.js.map +0 -1
  316. package/build/server/chunks/_page.svelte-C6bns9aQ.js.map +0 -1
  317. package/build/server/chunks/_page.svelte-CFCONiDK.js.map +0 -1
  318. package/build/server/chunks/_page.svelte-DskND_G9.js.map +0 -1
  319. package/build/server/chunks/_page.svelte-rTrWmhOp.js.map +0 -1
  320. package/build/server/chunks/_server.ts-C8slOHB0.js.map +0 -1
  321. package/build/server/chunks/_server.ts-CS5H5klP.js.map +0 -1
  322. package/build/server/chunks/_server.ts-DhTrdlWH.js.map +0 -1
  323. package/build/server/chunks/_server.ts-DpEVfp8W.js.map +0 -1
  324. package/build/server/chunks/_server.ts-uHUi-4cd.js.map +0 -1
  325. package/build/server/chunks/client-BYT9c0ig.js +0 -7
  326. package/build/server/chunks/client-BYT9c0ig.js.map +0 -1
  327. package/build/server/chunks/client2-BjxIYuno.js.map +0 -1
  328. package/build/server/chunks/error.svelte-BG_yE-Wt.js +0 -27
  329. package/build/server/chunks/error.svelte-BG_yE-Wt.js.map +0 -1
  330. package/build/server/chunks/pty-manager-DR0Wt2Ac.js.map +0 -1
@@ -7,19 +7,19 @@ function __memo(fn) {
7
7
  return {
8
8
  appDir: "_app",
9
9
  appPath: "_app",
10
- assets: new Set(["app-icon.png","apple-touch-icon.png","favicon.png","favicon.svg","pwa-192x192.png","pwa-512x512.png"]),
11
- mimeTypes: {".png":"image/png",".svg":"image/svg+xml"},
10
+ assets: new Set(["app-icon.png","apple-touch-icon.png","favicon.png","favicon.svg","manifest.json","pwa-192x192.png","pwa-512x512.png"]),
11
+ mimeTypes: {".png":"image/png",".svg":"image/svg+xml",".json":"application/json"},
12
12
  _: {
13
- client: {start:"_app/immutable/entry/start.BV2VRv6h.js",app:"_app/immutable/entry/app.anqwe7ZL.js",imports:["_app/immutable/entry/start.BV2VRv6h.js","_app/immutable/chunks/CHvUpVYv.js","_app/immutable/chunks/tjbnEgXP.js","_app/immutable/entry/app.anqwe7ZL.js","_app/immutable/chunks/PPVm8Dsz.js","_app/immutable/chunks/tjbnEgXP.js","_app/immutable/chunks/BeONA6_G.js","_app/immutable/chunks/Ona8oofC.js","_app/immutable/chunks/K_aHH2KN.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
13
+ client: {start:"_app/immutable/entry/start.Dd-gIP4y.js",app:"_app/immutable/entry/app.Z3zMnuSx.js",imports:["_app/immutable/entry/start.Dd-gIP4y.js","_app/immutable/chunks/B-K5Sh65.js","_app/immutable/chunks/CZHsSL_X.js","_app/immutable/entry/app.Z3zMnuSx.js","_app/immutable/chunks/PPVm8Dsz.js","_app/immutable/chunks/CZHsSL_X.js","_app/immutable/chunks/r0JawsZc.js","_app/immutable/chunks/B8XegpSE.js","_app/immutable/chunks/Bu1aqm5j.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
14
14
  nodes: [
15
- __memo(() => import('./chunks/0-Cs1dzfRz.js')),
16
- __memo(() => import('./chunks/1-BCSX7oED.js')),
17
- __memo(() => import('./chunks/2-6gkeO8b4.js')),
18
- __memo(() => import('./chunks/3-DH9J9Vsc.js')),
19
- __memo(() => import('./chunks/4-Rzy5TYjl.js')),
20
- __memo(() => import('./chunks/5-D0wB7nfE.js')),
21
- __memo(() => import('./chunks/6-DR2ABDPq.js')),
22
- __memo(() => import('./chunks/7-D-oQJsia.js'))
15
+ __memo(() => import('./chunks/0-Vk38tI2J.js')),
16
+ __memo(() => import('./chunks/1-BvYQX5MR.js')),
17
+ __memo(() => import('./chunks/2-Cl7R4Qk2.js')),
18
+ __memo(() => import('./chunks/3-Ck7ewhOX.js')),
19
+ __memo(() => import('./chunks/4-CnDeRm2Z.js')),
20
+ __memo(() => import('./chunks/5-IxitzEvN.js')),
21
+ __memo(() => import('./chunks/6-CyZ3r1iS.js')),
22
+ __memo(() => import('./chunks/7-BmI7du46.js'))
23
23
  ],
24
24
  remotes: {
25
25
 
@@ -51,7 +51,7 @@ return {
51
51
  pattern: /^\/api\/health\/?$/,
52
52
  params: [],
53
53
  page: null,
54
- endpoint: __memo(() => import('./chunks/_server.ts-DhTrdlWH.js'))
54
+ endpoint: __memo(() => import('./chunks/_server.ts-DB_Kg97c.js'))
55
55
  },
56
56
  {
57
57
  id: "/api/notify",
@@ -79,21 +79,35 @@ return {
79
79
  pattern: /^\/api\/sessions\/?$/,
80
80
  params: [],
81
81
  page: null,
82
- endpoint: __memo(() => import('./chunks/_server.ts-DpEVfp8W.js'))
82
+ endpoint: __memo(() => import('./chunks/_server.ts-Deok2y88.js'))
83
+ },
84
+ {
85
+ id: "/api/sessions/connect",
86
+ pattern: /^\/api\/sessions\/connect\/?$/,
87
+ params: [],
88
+ page: null,
89
+ endpoint: __memo(() => import('./chunks/_server.ts-DYpJImqd.js'))
90
+ },
91
+ {
92
+ id: "/api/sessions/detect",
93
+ pattern: /^\/api\/sessions\/detect\/?$/,
94
+ params: [],
95
+ page: null,
96
+ endpoint: __memo(() => import('./chunks/_server.ts-CtH0dhUp.js'))
83
97
  },
84
98
  {
85
99
  id: "/api/terminals",
86
100
  pattern: /^\/api\/terminals\/?$/,
87
101
  params: [],
88
102
  page: null,
89
- endpoint: __memo(() => import('./chunks/_server.ts-CS5H5klP.js'))
103
+ endpoint: __memo(() => import('./chunks/_server.ts-CAxsWKvS.js'))
90
104
  },
91
105
  {
92
106
  id: "/api/terminals/[id]",
93
107
  pattern: /^\/api\/terminals\/([^/]+?)\/?$/,
94
108
  params: [{"name":"id","optional":false,"rest":false,"chained":false}],
95
109
  page: null,
96
- endpoint: __memo(() => import('./chunks/_server.ts-C8slOHB0.js'))
110
+ endpoint: __memo(() => import('./chunks/_server.ts-CTpcLUH8.js'))
97
111
  },
98
112
  {
99
113
  id: "/api/terminals/[id]/paste-image",
@@ -107,7 +121,7 @@ return {
107
121
  pattern: /^\/api\/terminals\/([^/]+?)\/resize\/?$/,
108
122
  params: [{"name":"id","optional":false,"rest":false,"chained":false}],
109
123
  page: null,
110
- endpoint: __memo(() => import('./chunks/_server.ts-uHUi-4cd.js'))
124
+ endpoint: __memo(() => import('./chunks/_server.ts-vekTmWAx.js'))
111
125
  },
112
126
  {
113
127
  id: "/api/webhook",
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"app-icon.png\",\"apple-touch-icon.png\",\"favicon.png\",\"favicon.svg\",\"pwa-192x192.png\",\"pwa-512x512.png\"]),\n\tmimeTypes: {\".png\":\"image/png\",\".svg\":\"image/svg+xml\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.BV2VRv6h.js\",app:\"_app/immutable/entry/app.anqwe7ZL.js\",imports:[\"_app/immutable/entry/start.BV2VRv6h.js\",\"_app/immutable/chunks/CHvUpVYv.js\",\"_app/immutable/chunks/tjbnEgXP.js\",\"_app/immutable/entry/app.anqwe7ZL.js\",\"_app/immutable/chunks/PPVm8Dsz.js\",\"_app/immutable/chunks/tjbnEgXP.js\",\"_app/immutable/chunks/BeONA6_G.js\",\"_app/immutable/chunks/Ona8oofC.js\",\"_app/immutable/chunks/K_aHH2KN.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js')),\n\t\t\t__memo(() => import('./nodes/5.js')),\n\t\t\t__memo(() => import('./nodes/6.js')),\n\t\t\t__memo(() => import('./nodes/7.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/debug\",\n\t\t\t\tpattern: /^\\/api\\/debug\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/debug/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/device-token\",\n\t\t\t\tpattern: /^\\/api\\/device-token\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/device-token/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/health\",\n\t\t\t\tpattern: /^\\/api\\/health\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/health/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/notify\",\n\t\t\t\tpattern: /^\\/api\\/notify\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/notify/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/qr-config\",\n\t\t\t\tpattern: /^\\/api\\/qr-config\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/qr-config/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/response\",\n\t\t\t\tpattern: /^\\/api\\/response\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/response/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/sessions\",\n\t\t\t\tpattern: /^\\/api\\/sessions\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/sessions/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals/[id]\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_id_/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals/[id]/paste-image\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/([^/]+?)\\/paste-image\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_id_/paste-image/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals/[id]/resize\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/([^/]+?)\\/resize\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_id_/resize/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/webhook\",\n\t\t\t\tpattern: /^\\/api\\/webhook\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/webhook/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/ws-status\",\n\t\t\t\tpattern: /^\\/api\\/ws-status\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/ws-status/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/ws-ticket\",\n\t\t\t\tpattern: /^\\/api\\/ws-ticket\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/ws-ticket/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/config\",\n\t\t\t\tpattern: /^\\/config\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 3 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/project\",\n\t\t\t\tpattern: /^\\/project\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 4 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/session/[id]\",\n\t\t\t\tpattern: /^\\/session\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 5 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/terminals\",\n\t\t\t\tpattern: /^\\/terminals\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 6 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/terminals/[id]\",\n\t\t\t\tpattern: /^\\/terminals\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 7 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"AAAY,MAAC,QAAQ,GAAG,CAAC,MAAM;AAC/B,SAAS,MAAM,CAAC,EAAE,EAAE;AACpB,CAAC,IAAI,KAAK;AACV,CAAC,OAAO,MAAM,KAAK,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;AACtC;;AAEA,OAAO;AACP,CAAC,MAAM,EAAE,MAAM;AACf,CAAC,OAAO,EAAE,MAAM;AAChB,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,sBAAsB,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AACzH,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,CAAC;AACvD,CAAC,CAAC,EAAE;AACJ,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,wCAAwC,CAAC,GAAG,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC,wCAAwC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,sCAAsC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC;AACjf,EAAE,KAAK,EAAE;AACT,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC;AACtC,GAAG;AACH,EAAE,OAAO,EAAE;AACX;AACA,GAAG;AACH,EAAE,MAAM,EAAE;AACV,GAAG;AACH,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,YAAY;AACpB,IAAI,OAAO,EAAE,mBAAmB;AAChC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAA6C,CAAC;AAChF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,mBAAmB;AAC3B,IAAI,OAAO,EAAE,0BAA0B;AACvC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAoD,CAAC;AACvF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,aAAa;AACrB,IAAI,OAAO,EAAE,oBAAoB;AACjC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAA8C,CAAC;AACjF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,aAAa;AACrB,IAAI,OAAO,EAAE,oBAAoB;AACjC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAA8C,CAAC;AACjF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,gBAAgB;AACxB,IAAI,OAAO,EAAE,uBAAuB;AACpC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAiD,CAAC;AACpF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,eAAe;AACvB,IAAI,OAAO,EAAE,sBAAsB;AACnC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAgD,CAAC;AACnF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,eAAe;AACvB,IAAI,OAAO,EAAE,sBAAsB;AACnC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAgD,CAAC;AACnF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,gBAAgB;AACxB,IAAI,OAAO,EAAE,uBAAuB;AACpC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAiD,CAAC;AACpF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,qBAAqB;AAC7B,IAAI,OAAO,EAAE,iCAAiC;AAC9C,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACzE,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAsD,CAAC;AACzF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,iCAAiC;AACzC,IAAI,OAAO,EAAE,8CAA8C;AAC3D,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACzE,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAkE,CAAC;AACrG,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,4BAA4B;AACpC,IAAI,OAAO,EAAE,yCAAyC;AACtD,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACzE,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAA6D,CAAC;AAChG,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,cAAc;AACtB,IAAI,OAAO,EAAE,qBAAqB;AAClC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAA+C,CAAC;AAClF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,gBAAgB;AACxB,IAAI,OAAO,EAAE,uBAAuB;AACpC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAiD,CAAC;AACpF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,gBAAgB;AACxB,IAAI,OAAO,EAAE,uBAAuB;AACpC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAiD,CAAC;AACpF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,SAAS;AACjB,IAAI,OAAO,EAAE,eAAe;AAC5B,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,UAAU;AAClB,IAAI,OAAO,EAAE,gBAAgB;AAC7B,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,eAAe;AACvB,IAAI,OAAO,EAAE,0BAA0B;AACvC,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACzE,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,YAAY;AACpB,IAAI,OAAO,EAAE,kBAAkB;AAC/B,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,iBAAiB;AACzB,IAAI,OAAO,EAAE,4BAA4B;AACzC,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACzE,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd;AACA,GAAG;AACH,EAAE,kBAAkB,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;AACjC,EAAE,QAAQ,EAAE,YAAY;AACxB;AACA,GAAG,OAAO,IAAI;AACd,EAAE,CAAC;AACH,EAAE,aAAa,EAAE;AACjB;AACA;AACA,CAAC;;AAEW,MAAC,WAAW,GAAG,IAAI,GAAG,CAAC,EAAE;;AAEzB,MAAC,IAAI,GAAG;;;;"}
1
+ {"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"app-icon.png\",\"apple-touch-icon.png\",\"favicon.png\",\"favicon.svg\",\"manifest.json\",\"pwa-192x192.png\",\"pwa-512x512.png\"]),\n\tmimeTypes: {\".png\":\"image/png\",\".svg\":\"image/svg+xml\",\".json\":\"application/json\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.Dd-gIP4y.js\",app:\"_app/immutable/entry/app.Z3zMnuSx.js\",imports:[\"_app/immutable/entry/start.Dd-gIP4y.js\",\"_app/immutable/chunks/B-K5Sh65.js\",\"_app/immutable/chunks/CZHsSL_X.js\",\"_app/immutable/entry/app.Z3zMnuSx.js\",\"_app/immutable/chunks/PPVm8Dsz.js\",\"_app/immutable/chunks/CZHsSL_X.js\",\"_app/immutable/chunks/r0JawsZc.js\",\"_app/immutable/chunks/B8XegpSE.js\",\"_app/immutable/chunks/Bu1aqm5j.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js')),\n\t\t\t__memo(() => import('./nodes/5.js')),\n\t\t\t__memo(() => import('./nodes/6.js')),\n\t\t\t__memo(() => import('./nodes/7.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/debug\",\n\t\t\t\tpattern: /^\\/api\\/debug\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/debug/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/device-token\",\n\t\t\t\tpattern: /^\\/api\\/device-token\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/device-token/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/health\",\n\t\t\t\tpattern: /^\\/api\\/health\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/health/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/notify\",\n\t\t\t\tpattern: /^\\/api\\/notify\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/notify/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/qr-config\",\n\t\t\t\tpattern: /^\\/api\\/qr-config\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/qr-config/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/response\",\n\t\t\t\tpattern: /^\\/api\\/response\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/response/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/sessions\",\n\t\t\t\tpattern: /^\\/api\\/sessions\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/sessions/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/sessions/connect\",\n\t\t\t\tpattern: /^\\/api\\/sessions\\/connect\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/sessions/connect/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/sessions/detect\",\n\t\t\t\tpattern: /^\\/api\\/sessions\\/detect\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/sessions/detect/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals/[id]\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_id_/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals/[id]/paste-image\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/([^/]+?)\\/paste-image\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_id_/paste-image/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/terminals/[id]/resize\",\n\t\t\t\tpattern: /^\\/api\\/terminals\\/([^/]+?)\\/resize\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/terminals/_id_/resize/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/webhook\",\n\t\t\t\tpattern: /^\\/api\\/webhook\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/webhook/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/ws-status\",\n\t\t\t\tpattern: /^\\/api\\/ws-status\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/ws-status/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/ws-ticket\",\n\t\t\t\tpattern: /^\\/api\\/ws-ticket\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/ws-ticket/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/config\",\n\t\t\t\tpattern: /^\\/config\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 3 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/project\",\n\t\t\t\tpattern: /^\\/project\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 4 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/session/[id]\",\n\t\t\t\tpattern: /^\\/session\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 5 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/terminals\",\n\t\t\t\tpattern: /^\\/terminals\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 6 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/terminals/[id]\",\n\t\t\t\tpattern: /^\\/terminals\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 7 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juspay/shooter",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Bidirectional communication server for Claude Code and iOS — push notifications, remote terminal, session viewing",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.28.2",
package/scripts/setup.cjs CHANGED
@@ -52,6 +52,12 @@ function escapeForDoubleQuotedShell(s) {
52
52
  return s.replace(/[\\"$`]/g, '\\$&');
53
53
  }
54
54
 
55
+ // ── Secure key generator ─────────────────────────────────────────────
56
+ // Produces a 256-bit random hex key (64 characters).
57
+ function generateSecureKey() {
58
+ return crypto.randomBytes(32).toString('hex');
59
+ }
60
+
55
61
  // ── Globals ──────────────────────────────────────────────────────────
56
62
  const ROOT = process.env.SHOOTER_PKG_ROOT || path.resolve(__dirname, '..');
57
63
  const SHOOTER_HOME = process.env.SHOOTER_HOME || path.join(require('os').homedir(), '.shooter');
@@ -228,15 +234,15 @@ async function collectConfig() {
228
234
  const match = existing.match(/^API_KEY=(.+)$/m);
229
235
  if (match && match[1]) {
230
236
  config.apiKey = match[1];
231
- const masked = mask(config.apiKey);
232
- console.log(green(` Existing API key preserved: ${masked}`));
237
+ const maskedKey = mask(config.apiKey);
238
+ console.log(green(` Existing API key preserved: ${maskedKey}`));
233
239
  console.log(dim(' Push notifications skipped (run "shooter setup" to configure later)'));
234
240
  console.log('');
235
241
  return config;
236
242
  }
237
243
  }
238
244
 
239
- config.apiKey = crypto.randomBytes(32).toString('hex');
245
+ config.apiKey = generateSecureKey();
240
246
  const maskedKey = mask(config.apiKey);
241
247
  console.log(green(` API key generated: ${maskedKey}`));
242
248
  console.log(dim(' Push notifications skipped (run "shooter setup" to configure later)'));
@@ -250,9 +256,10 @@ async function collectConfig() {
250
256
  if (apiKeyAnswer) {
251
257
  config.apiKey = apiKeyAnswer;
252
258
  } else {
253
- config.apiKey = crypto.randomBytes(32).toString('hex');
254
- const maskedGenerated = mask(config.apiKey);
255
- console.log(green(` Generated: ${maskedGenerated} (saved to .env)`));
259
+ config.apiKey = generateSecureKey();
260
+ const maskedKey = mask(config.apiKey);
261
+ console.log(green(` Generated API key: ${maskedKey}`));
262
+ console.log(dim(' (Saved to ~/.shooter/.env)'));
256
263
  }
257
264
  console.log('');
258
265
 
@@ -629,12 +636,78 @@ async function main() {
629
636
 
630
637
  // ── Remote access info ───────────────────────────────────────────────
631
638
  console.log(bold('8. Remote access (optional)\n'));
632
- console.log(dim(' To access Shooter from your phone outside your local network,'));
633
- console.log(dim(' you\'ll need a Cloudflare Tunnel (or similar):\n'));
634
- console.log(cyan(' cloudflared tunnel --url http://localhost:54007\n'));
635
- console.log(dim(' Install: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/\n'));
636
- console.log(dim(' Without a tunnel, Shooter is only accessible on your local network.'));
637
- console.log('');
639
+
640
+ let cloudflaredAvailable = false;
641
+ try {
642
+ execSync('which cloudflared', { stdio: 'ignore' });
643
+ cloudflaredAvailable = true;
644
+ } catch {
645
+ // not installed
646
+ }
647
+
648
+ if (!cloudflaredAvailable) {
649
+ console.log(yellow(' cloudflared not found.'));
650
+ console.log(dim(' Install it to get a public URL for your phone:'));
651
+ console.log(dim(' https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/'));
652
+ console.log('');
653
+ console.log(dim(' Once installed, run:'));
654
+ console.log(cyan(' cloudflared tunnel --url http://localhost:54007'));
655
+ console.log('');
656
+ } else {
657
+ const port = process.env.PORT || 54007;
658
+ const startTunnel = AUTO_MODE || await confirm(' Start a Cloudflare Tunnel now to get your public URL?');
659
+ if (startTunnel) {
660
+ console.log(dim('\n Starting tunnel... (this may take a few seconds)\n'));
661
+ await new Promise((resolve) => {
662
+ const cf = spawn('cloudflared', ['tunnel', '--url', `http://localhost:${port}`], {
663
+ stdio: ['ignore', 'pipe', 'pipe'],
664
+ });
665
+
666
+ let urlFound = false;
667
+ const onData = (data) => {
668
+ const text = data.toString();
669
+ const match = text.match(/https:\/\/[a-z0-9-]+\.trycloudflare\.com/);
670
+ if (match && !urlFound) {
671
+ urlFound = true;
672
+ console.log(green(' Tunnel URL (use this on your phone):'));
673
+ console.log(`\n ${C.bold}${C.cyan}${match[0]}${C.reset}\n`);
674
+ console.log(dim(' Keep this terminal session open to maintain the tunnel.'));
675
+ console.log(dim(' For a persistent tunnel, see: https://developers.cloudflare.com/cloudflare-one/'));
676
+ console.log('');
677
+ resolve();
678
+ }
679
+ };
680
+
681
+ cf.stdout.on('data', onData);
682
+ cf.stderr.on('data', onData);
683
+
684
+ cf.on('error', (err) => {
685
+ console.log(yellow(` Could not start tunnel: ${err.message}`));
686
+ console.log('');
687
+ resolve();
688
+ });
689
+
690
+ // Timeout after 20 seconds
691
+ setTimeout(() => {
692
+ if (!urlFound) {
693
+ console.log(yellow(' Tunnel URL not received within 20 seconds.'));
694
+ console.log(dim(` Run manually: cloudflared tunnel --url http://localhost:${port}`));
695
+ console.log('');
696
+ resolve();
697
+ }
698
+ }, 20000);
699
+ });
700
+ } else {
701
+ console.log(dim(' Run this when you need remote access:'));
702
+ console.log(cyan(` cloudflared tunnel --url http://localhost:${port}`));
703
+ console.log('');
704
+ }
705
+ }
706
+
707
+ // Close readline after all interactive prompts are done — otherwise stdin EOF
708
+ // (in auto/non-interactive mode) triggers the "Setup cancelled" exit handler.
709
+ rl.removeAllListeners('close');
710
+ rl.close();
638
711
 
639
712
  if (buildOk) {
640
713
  await testHealth();
@@ -650,13 +723,14 @@ async function main() {
650
723
  console.log(` Open in browser: ${cyan(`http://localhost:${port}`)}`);
651
724
  console.log(` Health check: ${cyan(`curl http://localhost:${port}/api/health`)}`);
652
725
  console.log('');
726
+ console.log(bold(' Your API key (enter this in the app on your phone):'));
727
+ console.log(`\n ${C.bold}${C.cyan}${mask(config.apiKey)}${C.reset}\n`);
653
728
  if (!config.wantIos && !config.wantAndroid) {
654
729
  console.log(yellow(' Note: No push notification platform was configured.'));
655
730
  console.log(dim(' Run shooter setup again to add iOS or Android push notifications.'));
656
731
  console.log('');
657
732
  }
658
733
 
659
- rl.close();
660
734
  process.exit(0);
661
735
  }
662
736
 
package/server.ts CHANGED
@@ -51,6 +51,9 @@ const ptyManagerAdapter = {
51
51
  getTerminal(id: string) {
52
52
  return ptyManager.get(id) ?? undefined;
53
53
  },
54
+ list() {
55
+ return ptyManager.list();
56
+ },
54
57
  };
55
58
 
56
59
  /**
package/src/app.html CHANGED
@@ -7,6 +7,9 @@
7
7
  <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
8
8
  <meta name="theme-color" content="#0a0a0a" />
9
9
  <link rel="apple-touch-icon" href="%sveltekit.assets%/apple-touch-icon.png" />
10
+ <link rel="manifest" href="%sveltekit.assets%/manifest.json" />
11
+ <meta name="apple-mobile-web-app-capable" content="yes" />
12
+ <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
10
13
  <title>Shooter</title>
11
14
  <link rel="preconnect" href="https://fonts.googleapis.com" />
12
15
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
@@ -1,10 +1,18 @@
1
1
  /**
2
2
  * Shared sessionStorage cache helpers.
3
3
  *
4
- * Default TTL is 30 seconds. Callers may override per-call.
4
+ * Default TTL is 5 seconds. Callers may override per-call.
5
5
  */
6
6
 
7
- const DEFAULT_TTL_MS = 30_000;
7
+ const DEFAULT_TTL_MS = 5_000;
8
+
9
+ export function clearCache(key: string): void {
10
+ try {
11
+ sessionStorage.removeItem(key);
12
+ } catch {
13
+ // ignore
14
+ }
15
+ }
8
16
 
9
17
  export function getCached(key: string, ttlMs: number = DEFAULT_TTL_MS): unknown {
10
18
  try {
@@ -1,5 +1,5 @@
1
1
  // Shared client utilities
2
- export { getCached, setCache } from './cache';
2
+ export { clearCache, getCached, setCache } from './cache';
3
3
  export { default as Card } from './Card.svelte';
4
4
  export { isShooterConfig } from './config-guard';
5
5
  export { default as EmptyState } from './EmptyState.svelte';
@@ -14,10 +14,31 @@ marked.setOptions({
14
14
  gfm: true,
15
15
  });
16
16
 
17
+ // Memoize rendered markdown to avoid re-parsing identical strings
18
+ const markdownCache = new Map<string, string>();
19
+ const MAX_CACHE_SIZE = 500;
20
+
17
21
  export function renderMarkdown(text: string): string {
18
22
  if (!text) {
19
23
  return '';
20
24
  }
25
+
26
+ const cached = markdownCache.get(text);
27
+ if (cached !== undefined) {
28
+ return cached;
29
+ }
30
+
21
31
  const html = marked.parse(text) as string;
22
- return DOMPurify.sanitize(html);
32
+ const result = DOMPurify.sanitize(html);
33
+
34
+ // Evict oldest entry when cache is full
35
+ if (markdownCache.size >= MAX_CACHE_SIZE) {
36
+ const firstKey = markdownCache.keys().next().value;
37
+ if (firstKey !== undefined) {
38
+ markdownCache.delete(firstKey);
39
+ }
40
+ }
41
+ markdownCache.set(text, result);
42
+
43
+ return result;
23
44
  }
@@ -6,17 +6,19 @@
6
6
  */
7
7
 
8
8
  export function formatRelativeTime(ts: string): string {
9
- const diff = Date.now() - new Date(ts).getTime();
9
+ if (!ts) {return '';}
10
+ const date = new Date(ts);
11
+ if (isNaN(date.getTime())) {return '';}
12
+ const diff = Date.now() - date.getTime();
13
+ if (diff < 0) {return 'just now';}
10
14
  const mins = Math.floor(diff / 60000);
11
- if (mins < 1) {
12
- return 'just now';
13
- }
14
- if (mins < 60) {
15
- return `${mins}m ago`;
16
- }
15
+ if (mins < 1) {return 'just now';}
16
+ if (mins < 60) {return `${mins}m ago`;}
17
17
  const hrs = Math.floor(mins / 60);
18
- if (hrs < 24) {
19
- return `${hrs}h ago`;
20
- }
21
- return `${Math.floor(hrs / 24)}d ago`;
18
+ if (hrs < 24) {return `${hrs}h ago`;}
19
+ const days = Math.floor(hrs / 24);
20
+ if (days < 7) {return `${days}d ago`;}
21
+ if (days < 30) {return `${Math.floor(days / 7)}w ago`;}
22
+ if (days < 365) {return `${Math.floor(days / 30)}mo ago`;}
23
+ return `${Math.floor(days / 365)}y ago`;
22
24
  }