@juspay/shooter 1.5.0 → 1.6.1

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 (478) hide show
  1. package/README.md +24 -20
  2. package/bin/shooter.cjs +68 -17
  3. package/build/client/_app/immutable/assets/2.Dk9NfqnS.css +1 -0
  4. package/build/client/_app/immutable/assets/2.Dk9NfqnS.css.br +0 -0
  5. package/build/client/_app/immutable/assets/2.Dk9NfqnS.css.gz +0 -0
  6. package/build/client/_app/immutable/assets/3.DHxQoulp.css +1 -0
  7. package/build/client/_app/immutable/assets/3.DHxQoulp.css.br +0 -0
  8. package/build/client/_app/immutable/assets/3.DHxQoulp.css.gz +0 -0
  9. package/build/client/_app/immutable/assets/{3.DGDHCVnW.css → 4.D5l1JxgO.css} +1 -1
  10. package/build/client/_app/immutable/assets/4.D5l1JxgO.css.br +0 -0
  11. package/build/client/_app/immutable/assets/4.D5l1JxgO.css.gz +0 -0
  12. package/build/client/_app/immutable/assets/5.C5qz-NeI.css +1 -0
  13. package/build/client/_app/immutable/assets/5.C5qz-NeI.css.br +0 -0
  14. package/build/client/_app/immutable/assets/5.C5qz-NeI.css.gz +0 -0
  15. package/build/client/_app/immutable/chunks/1mEchsPO.js +1 -0
  16. package/build/client/_app/immutable/chunks/1mEchsPO.js.br +0 -0
  17. package/build/client/_app/immutable/chunks/1mEchsPO.js.gz +0 -0
  18. package/build/client/_app/immutable/chunks/B7X-vhXI.js +1 -0
  19. package/build/client/_app/immutable/chunks/B7X-vhXI.js.br +0 -0
  20. package/build/client/_app/immutable/chunks/B7X-vhXI.js.gz +0 -0
  21. package/build/client/_app/immutable/chunks/BRkqKgVG.js +1 -0
  22. package/build/client/_app/immutable/chunks/BRkqKgVG.js.br +0 -0
  23. package/build/client/_app/immutable/chunks/BRkqKgVG.js.gz +0 -0
  24. package/build/client/_app/immutable/chunks/BfJ-f-Tu.js +1 -0
  25. package/build/client/_app/immutable/chunks/BfJ-f-Tu.js.br +2 -0
  26. package/build/client/_app/immutable/chunks/BfJ-f-Tu.js.gz +0 -0
  27. package/build/client/_app/immutable/chunks/CGMJxf7r.js +1 -0
  28. package/build/client/_app/immutable/chunks/CGMJxf7r.js.br +0 -0
  29. package/build/client/_app/immutable/chunks/CGMJxf7r.js.gz +0 -0
  30. package/build/client/_app/immutable/chunks/{CZHsSL_X.js → CJFjKwJ7.js} +1 -1
  31. package/build/client/_app/immutable/chunks/CJFjKwJ7.js.br +0 -0
  32. package/build/client/_app/immutable/chunks/CJFjKwJ7.js.gz +0 -0
  33. package/build/client/_app/immutable/chunks/CNH2HlKj.js +20 -0
  34. package/build/client/_app/immutable/chunks/CNH2HlKj.js.br +0 -0
  35. package/build/client/_app/immutable/chunks/CNH2HlKj.js.gz +0 -0
  36. package/build/client/_app/immutable/chunks/CR6bkGJW.js +6 -0
  37. package/build/client/_app/immutable/chunks/CR6bkGJW.js.br +0 -0
  38. package/build/client/_app/immutable/chunks/CR6bkGJW.js.gz +0 -0
  39. package/build/client/_app/immutable/chunks/CVtJ6yRM.js +1 -0
  40. package/build/client/_app/immutable/chunks/CVtJ6yRM.js.br +0 -0
  41. package/build/client/_app/immutable/chunks/CVtJ6yRM.js.gz +0 -0
  42. package/build/client/_app/immutable/chunks/{CSoRdFvv.js → CaiJSUi3.js} +1 -1
  43. package/build/client/_app/immutable/chunks/CaiJSUi3.js.br +0 -0
  44. package/build/client/_app/immutable/chunks/CaiJSUi3.js.gz +0 -0
  45. package/build/client/_app/immutable/chunks/{DjsDGxCa.js → CmczWE_d.js} +4 -4
  46. package/build/client/_app/immutable/chunks/CmczWE_d.js.br +0 -0
  47. package/build/client/_app/immutable/chunks/CmczWE_d.js.gz +0 -0
  48. package/build/client/_app/immutable/chunks/CsgHjHGZ.js +1 -0
  49. package/build/client/_app/immutable/chunks/CsgHjHGZ.js.br +0 -0
  50. package/build/client/_app/immutable/chunks/CsgHjHGZ.js.gz +0 -0
  51. package/build/client/_app/immutable/chunks/{UJOiqIYE.js → CtrCjGZT.js} +1 -1
  52. package/build/client/_app/immutable/chunks/CtrCjGZT.js.br +0 -0
  53. package/build/client/_app/immutable/chunks/CtrCjGZT.js.gz +0 -0
  54. package/build/client/_app/immutable/chunks/DDiOVAd8.js +61 -0
  55. package/build/client/_app/immutable/chunks/DDiOVAd8.js.br +0 -0
  56. package/build/client/_app/immutable/chunks/DDiOVAd8.js.gz +0 -0
  57. package/build/client/_app/immutable/chunks/DVl0sebP.js +2 -0
  58. package/build/client/_app/immutable/chunks/DVl0sebP.js.br +0 -0
  59. package/build/client/_app/immutable/chunks/DVl0sebP.js.gz +0 -0
  60. package/build/client/_app/immutable/chunks/{CiF38mQq.js → Dc_Gg2H6.js} +1 -1
  61. package/build/client/_app/immutable/chunks/Dc_Gg2H6.js.br +0 -0
  62. package/build/client/_app/immutable/chunks/Dc_Gg2H6.js.gz +0 -0
  63. package/build/client/_app/immutable/chunks/{CRbaG9cv.js → DlnAjkg1.js} +1 -1
  64. package/build/client/_app/immutable/chunks/DlnAjkg1.js.br +0 -0
  65. package/build/client/_app/immutable/chunks/{CRbaG9cv.js.gz → DlnAjkg1.js.gz} +0 -0
  66. package/build/client/_app/immutable/chunks/YKoRJzXZ.js +3 -0
  67. package/build/client/_app/immutable/chunks/YKoRJzXZ.js.br +0 -0
  68. package/build/client/_app/immutable/chunks/YKoRJzXZ.js.gz +0 -0
  69. package/build/client/_app/immutable/chunks/gQJcRhou.js +1 -0
  70. package/build/client/_app/immutable/chunks/gQJcRhou.js.br +0 -0
  71. package/build/client/_app/immutable/chunks/gQJcRhou.js.gz +0 -0
  72. package/build/client/_app/immutable/chunks/pRcLbE0d.js +1 -0
  73. package/build/client/_app/immutable/chunks/pRcLbE0d.js.br +0 -0
  74. package/build/client/_app/immutable/chunks/pRcLbE0d.js.gz +0 -0
  75. package/build/client/_app/immutable/entry/app.CFPgQOa8.js +2 -0
  76. package/build/client/_app/immutable/entry/app.CFPgQOa8.js.br +0 -0
  77. package/build/client/_app/immutable/entry/app.CFPgQOa8.js.gz +0 -0
  78. package/build/client/_app/immutable/entry/start.BnJOVqhI.js +1 -0
  79. package/build/client/_app/immutable/entry/start.BnJOVqhI.js.br +2 -0
  80. package/build/client/_app/immutable/entry/start.BnJOVqhI.js.gz +0 -0
  81. package/build/client/_app/immutable/nodes/0.DR-BBF5r.js +1 -0
  82. package/build/client/_app/immutable/nodes/0.DR-BBF5r.js.br +0 -0
  83. package/build/client/_app/immutable/nodes/0.DR-BBF5r.js.gz +0 -0
  84. package/build/client/_app/immutable/nodes/1.CNm6rAwf.js +1 -0
  85. package/build/client/_app/immutable/nodes/1.CNm6rAwf.js.br +0 -0
  86. package/build/client/_app/immutable/nodes/1.CNm6rAwf.js.gz +0 -0
  87. package/build/client/_app/immutable/nodes/2.B08usYzr.js +13 -0
  88. package/build/client/_app/immutable/nodes/2.B08usYzr.js.br +0 -0
  89. package/build/client/_app/immutable/nodes/2.B08usYzr.js.gz +0 -0
  90. package/build/client/_app/immutable/nodes/3.CsY6J5HS.js +9 -0
  91. package/build/client/_app/immutable/nodes/3.CsY6J5HS.js.br +0 -0
  92. package/build/client/_app/immutable/nodes/3.CsY6J5HS.js.gz +0 -0
  93. package/build/client/_app/immutable/nodes/4.B_pbOZoD.js +4 -0
  94. package/build/client/_app/immutable/nodes/4.B_pbOZoD.js.br +0 -0
  95. package/build/client/_app/immutable/nodes/4.B_pbOZoD.js.gz +0 -0
  96. package/build/client/_app/immutable/nodes/5.CdLPNo5-.js +1 -0
  97. package/build/client/_app/immutable/nodes/5.CdLPNo5-.js.br +0 -0
  98. package/build/client/_app/immutable/nodes/5.CdLPNo5-.js.gz +0 -0
  99. package/build/client/_app/immutable/nodes/6.CbQQ3FtZ.js +1 -0
  100. package/build/client/_app/immutable/nodes/6.CbQQ3FtZ.js.br +0 -0
  101. package/build/client/_app/immutable/nodes/6.CbQQ3FtZ.js.gz +0 -0
  102. package/build/client/_app/immutable/nodes/{5.DIkXVP4q.js → 7.CCKgiNNk.js} +3 -3
  103. package/build/client/_app/immutable/nodes/7.CCKgiNNk.js.br +0 -0
  104. package/build/client/_app/immutable/nodes/7.CCKgiNNk.js.gz +0 -0
  105. package/build/client/_app/immutable/nodes/8.C7AaheUD.js +2 -0
  106. package/build/client/_app/immutable/nodes/8.C7AaheUD.js.br +0 -0
  107. package/build/client/_app/immutable/nodes/8.C7AaheUD.js.gz +0 -0
  108. package/build/client/_app/immutable/nodes/9.DfL9kMC4.js +2 -0
  109. package/build/client/_app/immutable/nodes/9.DfL9kMC4.js.br +0 -0
  110. package/build/client/_app/immutable/nodes/9.DfL9kMC4.js.gz +0 -0
  111. package/build/client/_app/version.json +1 -1
  112. package/build/client/_app/version.json.br +0 -0
  113. package/build/client/_app/version.json.gz +0 -0
  114. package/build/server/chunks/0-DC2VLooL.js +23 -0
  115. package/build/server/chunks/0-DC2VLooL.js.map +1 -0
  116. package/build/server/chunks/1-XJaf8Jvf.js +9 -0
  117. package/build/server/chunks/{1-D0N7vVhH.js.map → 1-XJaf8Jvf.js.map} +1 -1
  118. package/build/server/chunks/2-D4Cx-1QL.js +21 -0
  119. package/build/server/chunks/2-D4Cx-1QL.js.map +1 -0
  120. package/build/server/chunks/3-CVhIEP-u.js +21 -0
  121. package/build/server/chunks/3-CVhIEP-u.js.map +1 -0
  122. package/build/server/chunks/4-0UE_6Ep-.js +23 -0
  123. package/build/server/chunks/4-0UE_6Ep-.js.map +1 -0
  124. package/build/server/chunks/5-BBIP1PzX.js +24 -0
  125. package/build/server/chunks/5-BBIP1PzX.js.map +1 -0
  126. package/build/server/chunks/6-QFSbzRMP.js +9 -0
  127. package/build/server/chunks/6-QFSbzRMP.js.map +1 -0
  128. package/build/server/chunks/7-CZ_YGjMV.js +9 -0
  129. package/build/server/chunks/7-CZ_YGjMV.js.map +1 -0
  130. package/build/server/chunks/8-Xe2Rugb4.js +9 -0
  131. package/build/server/chunks/8-Xe2Rugb4.js.map +1 -0
  132. package/build/server/chunks/9-IwHpC4SO.js +9 -0
  133. package/build/server/chunks/9-IwHpC4SO.js.map +1 -0
  134. package/build/server/chunks/{Button-Cs1aE6ka.js → Button-WKgiLWZI.js} +4 -9
  135. package/build/server/chunks/Button-WKgiLWZI.js.map +1 -0
  136. package/build/server/chunks/{EmptyState-DDFH1K8g.js → EmptyState-BUBqASsp.js} +3 -3
  137. package/build/server/chunks/{EmptyState-DDFH1K8g.js.map → EmptyState-BUBqASsp.js.map} +1 -1
  138. package/build/server/chunks/{Icon-CEUrotA6.js → Icon-BNBAg85a.js} +3 -3
  139. package/build/server/chunks/Icon-BNBAg85a.js.map +1 -0
  140. package/build/server/chunks/{Shimmer-DB8W1zt6.js → Shimmer-C4uBVwxz.js} +2 -2
  141. package/build/server/chunks/{Shimmer-DB8W1zt6.js.map → Shimmer-C4uBVwxz.js.map} +1 -1
  142. package/build/server/chunks/{_error.svelte-uCOJNxvr.js → _error.svelte-DkIwmECt.js} +5 -5
  143. package/build/server/chunks/{_error.svelte-uCOJNxvr.js.map → _error.svelte-DkIwmECt.js.map} +1 -1
  144. package/build/server/chunks/{_layout.svelte-CtWmEJwe.js → _layout.svelte-DllETxmJ.js} +13 -7
  145. package/build/server/chunks/_layout.svelte-DllETxmJ.js.map +1 -0
  146. package/build/server/chunks/_page.svelte-BZSdLKE_.js +118 -0
  147. package/build/server/chunks/_page.svelte-BZSdLKE_.js.map +1 -0
  148. package/build/server/chunks/{_page.svelte-CxWcQ0Am.js → _page.svelte-Cmuco1mC.js} +84 -199
  149. package/build/server/chunks/_page.svelte-Cmuco1mC.js.map +1 -0
  150. package/build/server/chunks/{_page.svelte-BgevQjq1.js → _page.svelte-Co5sF7W-.js} +12 -11
  151. package/build/server/chunks/{_page.svelte-BgevQjq1.js.map → _page.svelte-Co5sF7W-.js.map} +1 -1
  152. package/build/server/chunks/{_page.svelte-DO4oa_LY.js → _page.svelte-CpL3R-VI.js} +8 -8
  153. package/build/server/chunks/{_page.svelte-DO4oa_LY.js.map → _page.svelte-CpL3R-VI.js.map} +1 -1
  154. package/build/server/chunks/_page.svelte-DDSzYLUs.js +137 -0
  155. package/build/server/chunks/_page.svelte-DDSzYLUs.js.map +1 -0
  156. package/build/server/chunks/_page.svelte-JIkgFUFf.js +26 -0
  157. package/build/server/chunks/_page.svelte-JIkgFUFf.js.map +1 -0
  158. package/build/server/chunks/{_page.svelte-CVq6tRb3.js → _page.svelte-Y9-O5a5w.js} +10 -9
  159. package/build/server/chunks/_page.svelte-Y9-O5a5w.js.map +1 -0
  160. package/build/server/chunks/{_page.svelte-BcZaKdX9.js → _page.svelte-fcX09N4d.js} +9 -9
  161. package/build/server/chunks/{_page.svelte-BcZaKdX9.js.map → _page.svelte-fcX09N4d.js.map} +1 -1
  162. package/build/server/chunks/{_server.ts-DYpJImqd.js → _server.ts-0Xr2fWaq.js} +9 -5
  163. package/build/server/chunks/_server.ts-0Xr2fWaq.js.map +1 -0
  164. package/build/server/chunks/{_server.ts-CTpcLUH8.js → _server.ts-2ixC-X3K.js} +20 -5
  165. package/build/server/chunks/_server.ts-2ixC-X3K.js.map +1 -0
  166. package/build/server/chunks/{_server.ts-CAxsWKvS.js → _server.ts-40c_epk8.js} +20 -4
  167. package/build/server/chunks/_server.ts-40c_epk8.js.map +1 -0
  168. package/build/server/chunks/{_server.ts-WhTJBEJy.js → _server.ts-A9_tRR-K.js} +5 -4
  169. package/build/server/chunks/{_server.ts-WhTJBEJy.js.map → _server.ts-A9_tRR-K.js.map} +1 -1
  170. package/build/server/chunks/_server.ts-BRAzC6W1.js +98 -0
  171. package/build/server/chunks/_server.ts-BRAzC6W1.js.map +1 -0
  172. package/build/server/chunks/{_server.ts-DB_Kg97c.js → _server.ts-BScvgttw.js} +24 -4
  173. package/build/server/chunks/_server.ts-BScvgttw.js.map +1 -0
  174. package/build/server/chunks/{_server.ts-tSpgyl1D.js → _server.ts-Bjbr7glm.js} +4 -3
  175. package/build/server/chunks/_server.ts-Bjbr7glm.js.map +1 -0
  176. package/build/server/chunks/{_server.ts-COu0vNpd.js → _server.ts-BrqaMMAa.js} +7 -6
  177. package/build/server/chunks/_server.ts-BrqaMMAa.js.map +1 -0
  178. package/build/server/chunks/{_server.ts-vekTmWAx.js → _server.ts-BuYyCrnF.js} +6 -4
  179. package/build/server/chunks/_server.ts-BuYyCrnF.js.map +1 -0
  180. package/build/server/chunks/{_server.ts-DYvb9ijZ.js → _server.ts-ByPExYfO.js} +4 -3
  181. package/build/server/chunks/{_server.ts-DYvb9ijZ.js.map → _server.ts-ByPExYfO.js.map} +1 -1
  182. package/build/server/chunks/_server.ts-CjpQ10xh.js +123 -0
  183. package/build/server/chunks/_server.ts-CjpQ10xh.js.map +1 -0
  184. package/build/server/chunks/_server.ts-CyjDrcZN.js +21 -0
  185. package/build/server/chunks/_server.ts-CyjDrcZN.js.map +1 -0
  186. package/build/server/chunks/{_server.ts-DV8zTCF9.js → _server.ts-DOGUMzPx.js} +4 -3
  187. package/build/server/chunks/{_server.ts-DV8zTCF9.js.map → _server.ts-DOGUMzPx.js.map} +1 -1
  188. package/build/server/chunks/_server.ts-DZvfyuNj.js +15 -0
  189. package/build/server/chunks/_server.ts-DZvfyuNj.js.map +1 -0
  190. package/build/server/chunks/{_server.ts-XzT2UHM1.js → _server.ts-DkPPTUPo.js} +4 -3
  191. package/build/server/chunks/{_server.ts-XzT2UHM1.js.map → _server.ts-DkPPTUPo.js.map} +1 -1
  192. package/build/server/chunks/{_server.ts-Deok2y88.js → _server.ts-Ds_SUGC3.js} +184 -90
  193. package/build/server/chunks/_server.ts-Ds_SUGC3.js.map +1 -0
  194. package/build/server/chunks/{_server.ts-Ch-6iOHp.js → _server.ts-G8OeADGj.js} +141 -89
  195. package/build/server/chunks/_server.ts-G8OeADGj.js.map +1 -0
  196. package/build/server/chunks/{auth-DeCdZ83n.js → auth-DuunT7Cg.js} +2 -2
  197. package/build/server/chunks/{auth-DeCdZ83n.js.map → auth-DuunT7Cg.js.map} +1 -1
  198. package/build/server/chunks/{client-BdGHe_hY.js → client-DRtPDkMh.js} +4 -4
  199. package/build/server/chunks/{client-BdGHe_hY.js.map → client-DRtPDkMh.js.map} +1 -1
  200. package/build/server/chunks/client2-bqqmu0b7.js +7 -0
  201. package/build/server/chunks/{client2-CCBGA-2V.js.map → client2-bqqmu0b7.js.map} +1 -1
  202. package/build/server/chunks/close-BGlLztTb.js +192 -0
  203. package/build/server/chunks/close-BGlLztTb.js.map +1 -0
  204. package/build/server/chunks/events-handler-Dm1mNPQP.js +20 -0
  205. package/build/server/chunks/events-handler-Dm1mNPQP.js.map +1 -0
  206. package/build/server/chunks/html-FW6Ia4bL.js +8 -0
  207. package/build/server/chunks/html-FW6Ia4bL.js.map +1 -0
  208. package/build/server/chunks/{shared-server-sSGG17Df.js → index-CoD1IJuy.js} +2 -11
  209. package/build/server/chunks/index-CoD1IJuy.js.map +1 -0
  210. package/build/server/chunks/{index-DwaY1cAm.js → index-DP9bWJrR.js} +2 -2
  211. package/build/server/chunks/{index-DwaY1cAm.js.map → index-DP9bWJrR.js.map} +1 -1
  212. package/build/server/chunks/{index-server-CrDaL06Y.js → index-server-BUmV4MIG.js} +2 -2
  213. package/build/server/chunks/index-server-BUmV4MIG.js.map +1 -0
  214. package/build/server/chunks/index-server2-BJrT0wnA.js +5 -0
  215. package/build/server/chunks/index-server2-BJrT0wnA.js.map +1 -0
  216. package/build/server/chunks/{index2-CgclKpUj.js → index2-D5Y19GKR.js} +2 -2
  217. package/build/server/chunks/index2-D5Y19GKR.js.map +1 -0
  218. package/build/server/chunks/{library-apns-BqJbvSKh.js → library-apns-Cf-E-DhM.js} +5 -2
  219. package/build/server/chunks/library-apns-Cf-E-DhM.js.map +1 -0
  220. package/build/server/chunks/providers-DtstoHQ0.js +17 -0
  221. package/build/server/chunks/providers-DtstoHQ0.js.map +1 -0
  222. package/build/server/chunks/{pty-manager-BQVB7IVj.js → pty-manager-TyMUpDA9.js} +41 -9
  223. package/build/server/chunks/pty-manager-TyMUpDA9.js.map +1 -0
  224. package/build/server/chunks/{root-DDSnEAZv.js → root-CATOR_0t.js} +2 -2
  225. package/build/server/chunks/root-CATOR_0t.js.map +1 -0
  226. package/build/server/chunks/shared-server-DaWdgxVh.js +11 -0
  227. package/build/server/chunks/shared-server-DaWdgxVh.js.map +1 -0
  228. package/build/server/chunks/{state.svelte-hBbXlUak.js → state.svelte-CftllyvC.js} +3 -3
  229. package/build/server/chunks/state.svelte-CftllyvC.js.map +1 -0
  230. package/build/server/chunks/{stores-DHNzYNpX.js → stores-BjL57aOK.js} +4 -4
  231. package/build/server/chunks/{stores-DHNzYNpX.js.map → stores-BjL57aOK.js.map} +1 -1
  232. package/build/server/index.js +173 -6
  233. package/build/server/index.js.map +1 -1
  234. package/build/server/manifest.js +53 -30
  235. package/build/server/manifest.js.map +1 -1
  236. package/package.json +24 -6
  237. package/scripts/dev.mjs +361 -0
  238. package/scripts/install.sh +11 -3
  239. package/scripts/{fix-generated-types.sh → postgen-types.sh} +2 -2
  240. package/scripts/setup.cjs +219 -24
  241. package/scripts/vercel-env-commands.sh +3 -3
  242. package/server.ts +3 -3
  243. package/src/app.html +163 -0
  244. package/src/lib/modules/client/activity/ActivityFeed.svelte +279 -0
  245. package/src/lib/modules/client/activity/index.ts +8 -0
  246. package/src/lib/modules/client/activity/store.svelte.ts +478 -0
  247. package/src/lib/modules/client/activity/summarizer.ts +224 -0
  248. package/src/lib/modules/client/common/Card.svelte +2 -9
  249. package/src/lib/modules/client/common/EmptyState.svelte +2 -20
  250. package/src/lib/modules/client/common/Icon.svelte +3 -7
  251. package/src/lib/modules/client/common/StatusBadge.svelte +2 -4
  252. package/src/lib/modules/client/common/config-guard.ts +22 -2
  253. package/src/lib/modules/client/common/index.ts +1 -1
  254. package/src/lib/modules/client/common/time.ts +27 -9
  255. package/src/lib/modules/client/dashboard/DashboardCard.svelte +374 -0
  256. package/src/lib/modules/client/dashboard/DashboardView.svelte +66 -0
  257. package/src/lib/modules/client/dashboard/index.ts +12 -0
  258. package/src/lib/modules/client/dashboard/store.svelte.ts +663 -0
  259. package/src/lib/modules/client/dashboard/summarizer.ts +205 -0
  260. package/src/lib/modules/client/neurolink/fetch-proxy.ts +70 -0
  261. package/src/lib/modules/client/neurolink/provider-config.ts +111 -0
  262. package/src/lib/modules/client/terminal/ChatView.svelte +46 -43
  263. package/src/lib/modules/client/terminal/CommandPalette.svelte +3 -12
  264. package/src/lib/modules/client/terminal/ConnectionStatus.svelte +3 -6
  265. package/src/lib/modules/client/terminal/LaunchSheet.svelte +10 -21
  266. package/src/lib/modules/client/terminal/QuickKeys.svelte +4 -11
  267. package/src/lib/modules/client/terminal/ShortcutsHelp.svelte +3 -6
  268. package/src/lib/modules/client/terminal/keyboard-shortcuts.ts +5 -7
  269. package/src/lib/modules/client/terminal/xterm-wrapper.ts +27 -47
  270. package/src/lib/modules/server/apn/library-apns.ts +6 -3
  271. package/src/lib/modules/server/apn/notification-history.ts +2 -2
  272. package/src/lib/modules/server/apn/notification-sessions.ts +1 -3
  273. package/src/lib/modules/server/apn/pending-requests.ts +1 -1
  274. package/src/lib/modules/server/apn/types.ts +2 -52
  275. package/src/lib/modules/server/cli/index.ts +1 -30
  276. package/src/lib/modules/server/cli/runner.ts +7 -15
  277. package/src/lib/modules/server/fcm/fcm-service.ts +2 -2
  278. package/src/lib/modules/server/sessions/jsonl-parser.ts +97 -42
  279. package/src/lib/modules/server/sessions/jsonl-reader.ts +144 -76
  280. package/src/lib/modules/server/sessions/opencode-reader.ts +1 -1
  281. package/src/lib/modules/server/sessions/process-detector.ts +72 -31
  282. package/src/lib/modules/server/sessions/types.ts +2 -42
  283. package/src/lib/modules/server/terminal/holder-client.ts +11 -35
  284. package/src/lib/modules/server/terminal/opencode-watcher.ts +16 -24
  285. package/src/lib/modules/server/terminal/pty-manager.ts +40 -45
  286. package/src/lib/modules/server/terminal/session-watcher.ts +15 -17
  287. package/src/lib/modules/server/terminal/terminal-store.ts +1 -1
  288. package/src/lib/modules/server/ws/events-handler.ts +1 -16
  289. package/src/lib/modules/server/ws/keepalive.ts +1 -5
  290. package/src/lib/modules/server/ws/server.ts +1 -1
  291. package/src/lib/modules/server/ws/session-handler.ts +20 -86
  292. package/src/lib/modules/server/ws/terminal-handler.ts +28 -51
  293. package/src/lib/modules/server/ws/ticket-store.ts +1 -1
  294. package/src/lib/modules/shared/providers.ts +21 -0
  295. package/src/lib/types/activity.ts +18 -0
  296. package/src/lib/types/apn.ts +43 -0
  297. package/src/lib/types/cli.ts +39 -0
  298. package/src/lib/types/common.ts +39 -0
  299. package/src/lib/types/dashboard.ts +4 -0
  300. package/src/lib/types/generated/Client.ts +1656 -0
  301. package/src/{generated/types → lib/types/generated}/WsProtocol.ts +344 -2
  302. package/src/lib/types/index.ts +28 -0
  303. package/src/lib/types/neurolink.ts +4 -0
  304. package/src/lib/types/server.ts +93 -0
  305. package/src/lib/types/sessions.ts +59 -0
  306. package/src/lib/types/terminal-client.ts +132 -0
  307. package/src/lib/types/ws.ts +161 -0
  308. package/src/routes/+error.svelte +7 -2
  309. package/src/routes/+layout.server.ts +9 -0
  310. package/src/routes/+layout.svelte +36 -7
  311. package/src/routes/+page.server.ts +7 -0
  312. package/src/routes/+page.svelte +85 -35
  313. package/src/routes/activity/+page.server.ts +7 -0
  314. package/src/routes/activity/+page.svelte +58 -0
  315. package/src/routes/api/health/+server.ts +32 -19
  316. package/src/routes/api/neurolink-proxy/+server.ts +136 -0
  317. package/src/routes/api/notify/+server.ts +190 -87
  318. package/src/routes/api/sessions/+server.ts +1 -1
  319. package/src/routes/api/sessions/connect/+server.ts +10 -6
  320. package/src/routes/api/terminals/+server.ts +20 -1
  321. package/src/routes/api/terminals/[id]/+server.ts +16 -2
  322. package/src/routes/api/webhook/+server.ts +5 -33
  323. package/src/routes/api/ws-ticket/+server.ts +4 -4
  324. package/src/routes/config/+page.server.ts +9 -0
  325. package/src/routes/config/+page.svelte +118 -25
  326. package/src/routes/neurolink/+page.server.ts +10 -0
  327. package/src/routes/neurolink/+page.svelte +331 -0
  328. package/src/routes/project/+page.svelte +17 -12
  329. package/src/routes/session/[id]/+page.svelte +146 -62
  330. package/src/routes/terminals/+page.svelte +2 -2
  331. package/src/routes/terminals/[id]/+page.svelte +99 -88
  332. package/svelte.config.js +1 -3
  333. package/tsconfig.json +1 -0
  334. package/build/client/_app/immutable/assets/2.CAShZ7lQ.css +0 -1
  335. package/build/client/_app/immutable/assets/2.CAShZ7lQ.css.br +0 -1
  336. package/build/client/_app/immutable/assets/2.CAShZ7lQ.css.gz +0 -0
  337. package/build/client/_app/immutable/assets/3.DGDHCVnW.css.br +0 -0
  338. package/build/client/_app/immutable/assets/3.DGDHCVnW.css.gz +0 -0
  339. package/build/client/_app/immutable/chunks/B5NAKyil.js +0 -20
  340. package/build/client/_app/immutable/chunks/B5NAKyil.js.br +0 -0
  341. package/build/client/_app/immutable/chunks/B5NAKyil.js.gz +0 -0
  342. package/build/client/_app/immutable/chunks/B8XegpSE.js +0 -1
  343. package/build/client/_app/immutable/chunks/B8XegpSE.js.br +0 -0
  344. package/build/client/_app/immutable/chunks/B8XegpSE.js.gz +0 -0
  345. package/build/client/_app/immutable/chunks/B8zoBsv3.js +0 -6
  346. package/build/client/_app/immutable/chunks/B8zoBsv3.js.br +0 -0
  347. package/build/client/_app/immutable/chunks/B8zoBsv3.js.gz +0 -0
  348. package/build/client/_app/immutable/chunks/BIaXC2t9.js +0 -1
  349. package/build/client/_app/immutable/chunks/BIaXC2t9.js.br +0 -0
  350. package/build/client/_app/immutable/chunks/BIaXC2t9.js.gz +0 -0
  351. package/build/client/_app/immutable/chunks/BOYo8yTr.js +0 -1
  352. package/build/client/_app/immutable/chunks/BOYo8yTr.js.br +0 -0
  353. package/build/client/_app/immutable/chunks/BOYo8yTr.js.gz +0 -0
  354. package/build/client/_app/immutable/chunks/Bu1aqm5j.js +0 -1
  355. package/build/client/_app/immutable/chunks/Bu1aqm5j.js.br +0 -0
  356. package/build/client/_app/immutable/chunks/Bu1aqm5j.js.gz +0 -0
  357. package/build/client/_app/immutable/chunks/CQjSATpv.js +0 -61
  358. package/build/client/_app/immutable/chunks/CQjSATpv.js.br +0 -0
  359. package/build/client/_app/immutable/chunks/CQjSATpv.js.gz +0 -0
  360. package/build/client/_app/immutable/chunks/CRbaG9cv.js.br +0 -0
  361. package/build/client/_app/immutable/chunks/CSoRdFvv.js.br +0 -0
  362. package/build/client/_app/immutable/chunks/CSoRdFvv.js.gz +0 -0
  363. package/build/client/_app/immutable/chunks/CZHsSL_X.js.br +0 -0
  364. package/build/client/_app/immutable/chunks/CZHsSL_X.js.gz +0 -0
  365. package/build/client/_app/immutable/chunks/CiF38mQq.js.br +0 -0
  366. package/build/client/_app/immutable/chunks/CiF38mQq.js.gz +0 -0
  367. package/build/client/_app/immutable/chunks/DSU1n5N_.js +0 -1
  368. package/build/client/_app/immutable/chunks/DSU1n5N_.js.br +0 -0
  369. package/build/client/_app/immutable/chunks/DSU1n5N_.js.gz +0 -0
  370. package/build/client/_app/immutable/chunks/DVkn4r72.js +0 -1
  371. package/build/client/_app/immutable/chunks/DVkn4r72.js.br +0 -0
  372. package/build/client/_app/immutable/chunks/DVkn4r72.js.gz +0 -0
  373. package/build/client/_app/immutable/chunks/DjsDGxCa.js.br +0 -0
  374. package/build/client/_app/immutable/chunks/DjsDGxCa.js.gz +0 -0
  375. package/build/client/_app/immutable/chunks/UJOiqIYE.js.br +0 -0
  376. package/build/client/_app/immutable/chunks/UJOiqIYE.js.gz +0 -0
  377. package/build/client/_app/immutable/chunks/r0JawsZc.js +0 -2
  378. package/build/client/_app/immutable/chunks/r0JawsZc.js.br +0 -0
  379. package/build/client/_app/immutable/chunks/r0JawsZc.js.gz +0 -0
  380. package/build/client/_app/immutable/entry/app.CU7KVZja.js +0 -2
  381. package/build/client/_app/immutable/entry/app.CU7KVZja.js.br +0 -0
  382. package/build/client/_app/immutable/entry/app.CU7KVZja.js.gz +0 -0
  383. package/build/client/_app/immutable/entry/start.RAMZY19t.js +0 -1
  384. package/build/client/_app/immutable/entry/start.RAMZY19t.js.br +0 -2
  385. package/build/client/_app/immutable/entry/start.RAMZY19t.js.gz +0 -0
  386. package/build/client/_app/immutable/nodes/0.Bi3XYMSu.js +0 -1
  387. package/build/client/_app/immutable/nodes/0.Bi3XYMSu.js.br +0 -0
  388. package/build/client/_app/immutable/nodes/0.Bi3XYMSu.js.gz +0 -0
  389. package/build/client/_app/immutable/nodes/1.DTmfBFmm.js +0 -1
  390. package/build/client/_app/immutable/nodes/1.DTmfBFmm.js.br +0 -0
  391. package/build/client/_app/immutable/nodes/1.DTmfBFmm.js.gz +0 -0
  392. package/build/client/_app/immutable/nodes/2.Cm269yzt.js +0 -1
  393. package/build/client/_app/immutable/nodes/2.Cm269yzt.js.br +0 -0
  394. package/build/client/_app/immutable/nodes/2.Cm269yzt.js.gz +0 -0
  395. package/build/client/_app/immutable/nodes/3.3yohCM25.js +0 -3
  396. package/build/client/_app/immutable/nodes/3.3yohCM25.js.br +0 -0
  397. package/build/client/_app/immutable/nodes/3.3yohCM25.js.gz +0 -0
  398. package/build/client/_app/immutable/nodes/4.C25c5hMg.js +0 -1
  399. package/build/client/_app/immutable/nodes/4.C25c5hMg.js.br +0 -0
  400. package/build/client/_app/immutable/nodes/4.C25c5hMg.js.gz +0 -0
  401. package/build/client/_app/immutable/nodes/5.DIkXVP4q.js.br +0 -0
  402. package/build/client/_app/immutable/nodes/5.DIkXVP4q.js.gz +0 -0
  403. package/build/client/_app/immutable/nodes/6.BPL-HzUX.js +0 -2
  404. package/build/client/_app/immutable/nodes/6.BPL-HzUX.js.br +0 -0
  405. package/build/client/_app/immutable/nodes/6.BPL-HzUX.js.gz +0 -0
  406. package/build/client/_app/immutable/nodes/7.IgEqce53.js +0 -2
  407. package/build/client/_app/immutable/nodes/7.IgEqce53.js.br +0 -0
  408. package/build/client/_app/immutable/nodes/7.IgEqce53.js.gz +0 -0
  409. package/build/server/chunks/0-DiORznXb.js +0 -9
  410. package/build/server/chunks/0-DiORznXb.js.map +0 -1
  411. package/build/server/chunks/1-D0N7vVhH.js +0 -9
  412. package/build/server/chunks/2-DfSav7a7.js +0 -9
  413. package/build/server/chunks/2-DfSav7a7.js.map +0 -1
  414. package/build/server/chunks/3-Ck7ewhOX.js +0 -9
  415. package/build/server/chunks/3-Ck7ewhOX.js.map +0 -1
  416. package/build/server/chunks/4-DV5MZUz_.js +0 -9
  417. package/build/server/chunks/4-DV5MZUz_.js.map +0 -1
  418. package/build/server/chunks/5-DJhoAjb0.js +0 -9
  419. package/build/server/chunks/5-DJhoAjb0.js.map +0 -1
  420. package/build/server/chunks/6-Cp8CzYbr.js +0 -9
  421. package/build/server/chunks/6-Cp8CzYbr.js.map +0 -1
  422. package/build/server/chunks/7-BA4xzUj3.js +0 -9
  423. package/build/server/chunks/7-BA4xzUj3.js.map +0 -1
  424. package/build/server/chunks/Button-Cs1aE6ka.js.map +0 -1
  425. package/build/server/chunks/Icon-CEUrotA6.js.map +0 -1
  426. package/build/server/chunks/_layout.svelte-CtWmEJwe.js.map +0 -1
  427. package/build/server/chunks/_page.svelte-BdYynOck.js +0 -85
  428. package/build/server/chunks/_page.svelte-BdYynOck.js.map +0 -1
  429. package/build/server/chunks/_page.svelte-CVq6tRb3.js.map +0 -1
  430. package/build/server/chunks/_page.svelte-CxWcQ0Am.js.map +0 -1
  431. package/build/server/chunks/_server.ts-BStnNIcq.js +0 -34
  432. package/build/server/chunks/_server.ts-BStnNIcq.js.map +0 -1
  433. package/build/server/chunks/_server.ts-CAxsWKvS.js.map +0 -1
  434. package/build/server/chunks/_server.ts-COu0vNpd.js.map +0 -1
  435. package/build/server/chunks/_server.ts-CTpcLUH8.js.map +0 -1
  436. package/build/server/chunks/_server.ts-Cf84YIaW.js +0 -25
  437. package/build/server/chunks/_server.ts-Cf84YIaW.js.map +0 -1
  438. package/build/server/chunks/_server.ts-Ch-6iOHp.js.map +0 -1
  439. package/build/server/chunks/_server.ts-CtH0dhUp.js +0 -71
  440. package/build/server/chunks/_server.ts-CtH0dhUp.js.map +0 -1
  441. package/build/server/chunks/_server.ts-DB_Kg97c.js.map +0 -1
  442. package/build/server/chunks/_server.ts-DYpJImqd.js.map +0 -1
  443. package/build/server/chunks/_server.ts-Deok2y88.js.map +0 -1
  444. package/build/server/chunks/_server.ts-tSpgyl1D.js.map +0 -1
  445. package/build/server/chunks/_server.ts-vekTmWAx.js.map +0 -1
  446. package/build/server/chunks/client2-CCBGA-2V.js +0 -7
  447. package/build/server/chunks/index-server-CrDaL06Y.js.map +0 -1
  448. package/build/server/chunks/index2-CgclKpUj.js.map +0 -1
  449. package/build/server/chunks/library-apns-BqJbvSKh.js.map +0 -1
  450. package/build/server/chunks/pty-manager-BQVB7IVj.js.map +0 -1
  451. package/build/server/chunks/root-DDSnEAZv.js.map +0 -1
  452. package/build/server/chunks/shared-server-sSGG17Df.js.map +0 -1
  453. package/build/server/chunks/state.svelte-hBbXlUak.js.map +0 -1
  454. package/src/generated/types/Client.ts +0 -589
  455. package/src/lib/types/config.ts +0 -1
  456. /package/build/client/_app/immutable/assets/{4.BFUut--w.css → 6.BFUut--w.css} +0 -0
  457. /package/build/client/_app/immutable/assets/{4.BFUut--w.css.br → 6.BFUut--w.css.br} +0 -0
  458. /package/build/client/_app/immutable/assets/{4.BFUut--w.css.gz → 6.BFUut--w.css.gz} +0 -0
  459. /package/build/client/_app/immutable/assets/{5.BTOx7yt7.css → 7.BTOx7yt7.css} +0 -0
  460. /package/build/client/_app/immutable/assets/{5.BTOx7yt7.css.br → 7.BTOx7yt7.css.br} +0 -0
  461. /package/build/client/_app/immutable/assets/{5.BTOx7yt7.css.gz → 7.BTOx7yt7.css.gz} +0 -0
  462. /package/build/client/_app/immutable/assets/{6.eZGZN-BF.css → 8.eZGZN-BF.css} +0 -0
  463. /package/build/client/_app/immutable/assets/{6.eZGZN-BF.css.br → 8.eZGZN-BF.css.br} +0 -0
  464. /package/build/client/_app/immutable/assets/{6.eZGZN-BF.css.gz → 8.eZGZN-BF.css.gz} +0 -0
  465. /package/build/client/_app/immutable/assets/{7.DwS5ZHBh.css → 9.DwS5ZHBh.css} +0 -0
  466. /package/build/client/_app/immutable/assets/{7.DwS5ZHBh.css.br → 9.DwS5ZHBh.css.br} +0 -0
  467. /package/build/client/_app/immutable/assets/{7.DwS5ZHBh.css.gz → 9.DwS5ZHBh.css.gz} +0 -0
  468. /package/src/{generated/types → lib/types/generated}/API.ts +0 -0
  469. /package/src/{generated/types → lib/types/generated}/APN.ts +0 -0
  470. /package/src/{generated/types → lib/types/generated}/CLI.ts +0 -0
  471. /package/src/{generated/types → lib/types/generated}/Config.ts +0 -0
  472. /package/src/{generated/types → lib/types/generated}/Holder.ts +0 -0
  473. /package/src/{generated/types → lib/types/generated}/JWT.ts +0 -0
  474. /package/src/{generated/types → lib/types/generated}/Notification.ts +0 -0
  475. /package/src/{generated/types → lib/types/generated}/OpenCode.ts +0 -0
  476. /package/src/{generated/types → lib/types/generated}/Sessions.ts +0 -0
  477. /package/src/{generated/types → lib/types/generated}/Terminal.ts +0 -0
  478. /package/src/{generated/types → lib/types/generated}/index.ts +0 -0
@@ -0,0 +1,118 @@
1
+ import { n as ensure_array_like, d as attr_class, f as stringify, k as escape_html, al as attr, an as spread_props, o as derived } from './index-DP9bWJrR.js';
2
+ import './markdown-W_mTBct0.js';
3
+ import { B as Button } from './Button-WKgiLWZI.js';
4
+ import { I as Input, c as closeSvg } from './close-BGlLztTb.js';
5
+ import { h as html } from './html-FW6Ia4bL.js';
6
+ import 'dompurify';
7
+ import 'marked';
8
+
9
+ function Pill($$renderer, $$props) {
10
+ $$renderer.component(($$renderer2) => {
11
+ let {
12
+ text,
13
+ dismissible = false,
14
+ disabled = false,
15
+ testId,
16
+ dismissIcon,
17
+ onclick,
18
+ ondismiss,
19
+ classes
20
+ } = $$props;
21
+ let interactive = derived(() => typeof onclick === "function");
22
+ function handleDismiss(event) {
23
+ event.stopPropagation();
24
+ if (disabled) {
25
+ return;
26
+ }
27
+ ondismiss?.();
28
+ }
29
+ $$renderer2.push(`<div${attr_class(`pill ${stringify(classes ?? "")}`, "svelte-12l9ye1", { "disabled": disabled })}${attr("role", interactive() ? "button" : null)}${attr("tabindex", interactive() ? 0 : null)}${attr("aria-disabled", interactive() && disabled ? true : null)}${attr("data-pw", typeof testId === "string" ? testId : null)}><span class="pill-text svelte-12l9ye1">${escape_html(text)}</span> `);
30
+ if (dismissible) {
31
+ $$renderer2.push("<!--[0-->");
32
+ $$renderer2.push(`<div class="pill-dismiss svelte-12l9ye1">`);
33
+ Button($$renderer2, spread_props([
34
+ { disabled, onclick: handleDismiss, ariaLabel: "Dismiss" },
35
+ typeof testId === "string" ? { testId: `${testId}-dismiss` } : {},
36
+ {
37
+ children: ($$renderer3) => {
38
+ if (typeof dismissIcon === "function") {
39
+ $$renderer3.push("<!--[0-->");
40
+ dismissIcon($$renderer3);
41
+ $$renderer3.push(`<!---->`);
42
+ } else {
43
+ $$renderer3.push("<!--[-1-->");
44
+ $$renderer3.push(`${html(closeSvg)}`);
45
+ }
46
+ $$renderer3.push(`<!--]-->`);
47
+ },
48
+ $$slots: { default: true }
49
+ }
50
+ ]));
51
+ $$renderer2.push(`<!----></div>`);
52
+ } else {
53
+ $$renderer2.push("<!--[-1-->");
54
+ }
55
+ $$renderer2.push(`<!--]--></div>`);
56
+ });
57
+ }
58
+ function _page($$renderer, $$props) {
59
+ $$renderer.component(($$renderer2) => {
60
+ const { data } = $$props;
61
+ let logs = [];
62
+ let prompt = "";
63
+ async function send() {
64
+ if (!prompt.trim() || true) {
65
+ return;
66
+ }
67
+ }
68
+ let $$settled = true;
69
+ let $$inner_renderer;
70
+ function $$render_inner($$renderer3) {
71
+ $$renderer3.push(`<div class="page svelte-sjabew"><header class="svelte-sjabew"><h1 class="svelte-sjabew">NeuroLink</h1> <span class="version svelte-sjabew">new NeuroLink()</span> `);
72
+ {
73
+ $$renderer3.push("<!--[-1-->");
74
+ Pill($$renderer3, { text: "Loading...", classes: "pill-loading" });
75
+ }
76
+ $$renderer3.push(`<!--]--></header> `);
77
+ {
78
+ $$renderer3.push("<!--[-1-->");
79
+ }
80
+ $$renderer3.push(`<!--]--> <div class="log svelte-sjabew" id="log"><!--[-->`);
81
+ const each_array_1 = ensure_array_like(logs);
82
+ for (let i = 0, $$length = each_array_1.length; i < $$length; i++) {
83
+ let entry = each_array_1[i];
84
+ $$renderer3.push(`<div${attr_class(`log-entry ${stringify(entry.type)}`, "svelte-sjabew")}>${escape_html(entry.text)}</div>`);
85
+ }
86
+ $$renderer3.push(`<!--]--></div> <div class="input-bar svelte-sjabew">`);
87
+ Input($$renderer3, {
88
+ name: "prompt",
89
+ placeholder: "Loading SDK...",
90
+ classes: "input-prompt",
91
+ get value() {
92
+ return prompt;
93
+ },
94
+ set value($$value) {
95
+ prompt = $$value;
96
+ $$settled = false;
97
+ }
98
+ });
99
+ $$renderer3.push(`<!----> `);
100
+ Button($$renderer3, {
101
+ classes: "btn-primary",
102
+ onclick: send,
103
+ disabled: true,
104
+ text: "Send"
105
+ });
106
+ $$renderer3.push(`<!----></div></div>`);
107
+ }
108
+ do {
109
+ $$settled = true;
110
+ $$inner_renderer = $$renderer2.copy();
111
+ $$render_inner($$inner_renderer);
112
+ } while (!$$settled);
113
+ $$renderer2.subsume($$inner_renderer);
114
+ });
115
+ }
116
+
117
+ export { _page as default };
118
+ //# sourceMappingURL=_page.svelte-BZSdLKE_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-BZSdLKE_.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/neurolink/_page.svelte.js"],"sourcesContent":["import { a as attr_class, i as attr, e as escape_html, j as spread_props, f as derived, s as stringify, d as ensure_array_like } from \"../../../chunks/index.js\";\nimport \"../../../chunks/markdown.js\";\nimport { B as Button } from \"../../../chunks/Button.js\";\n/* empty css */\nimport { c as closeSvg, I as Input } from \"../../../chunks/close.js\";\nimport { h as html } from \"../../../chunks/html.js\";\nfunction Pill($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n text,\n dismissible = false,\n disabled = false,\n testId,\n dismissIcon,\n onclick,\n ondismiss,\n classes\n } = $$props;\n let interactive = derived(() => typeof onclick === \"function\");\n function handleDismiss(event) {\n event.stopPropagation();\n if (disabled) {\n return;\n }\n ondismiss?.();\n }\n $$renderer2.push(`<div${attr_class(`pill ${stringify(classes ?? \"\")}`, \"svelte-12l9ye1\", { \"disabled\": disabled })}${attr(\"role\", interactive() ? \"button\" : null)}${attr(\"tabindex\", interactive() ? 0 : null)}${attr(\"aria-disabled\", interactive() && disabled ? true : null)}${attr(\"data-pw\", typeof testId === \"string\" ? testId : null)}><span class=\"pill-text svelte-12l9ye1\">${escape_html(text)}</span> `);\n if (dismissible) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"pill-dismiss svelte-12l9ye1\">`);\n Button($$renderer2, spread_props([\n { disabled, onclick: handleDismiss, ariaLabel: \"Dismiss\" },\n typeof testId === \"string\" ? { testId: `${testId}-dismiss` } : {},\n {\n children: ($$renderer3) => {\n if (typeof dismissIcon === \"function\") {\n $$renderer3.push(\"<!--[0-->\");\n dismissIcon($$renderer3);\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`${html(closeSvg)}`);\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer2.push(`<!----></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { data } = $$props;\n let logs = [];\n let prompt = \"\";\n async function send() {\n if (!prompt.trim() || true) {\n return;\n }\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"page svelte-sjabew\"><header class=\"svelte-sjabew\"><h1 class=\"svelte-sjabew\">NeuroLink</h1> <span class=\"version svelte-sjabew\">new NeuroLink()</span> `);\n {\n $$renderer3.push(\"<!--[-1-->\");\n Pill($$renderer3, { text: \"Loading...\", classes: \"pill-loading\" });\n }\n $$renderer3.push(`<!--]--></header> `);\n {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <div class=\"log svelte-sjabew\" id=\"log\"><!--[-->`);\n const each_array_1 = ensure_array_like(logs);\n for (let i = 0, $$length = each_array_1.length; i < $$length; i++) {\n let entry = each_array_1[i];\n $$renderer3.push(`<div${attr_class(`log-entry ${stringify(entry.type)}`, \"svelte-sjabew\")}>${escape_html(entry.text)}</div>`);\n }\n $$renderer3.push(`<!--]--></div> <div class=\"input-bar svelte-sjabew\">`);\n Input($$renderer3, {\n name: \"prompt\",\n placeholder: \"Loading SDK...\",\n classes: \"input-prompt\",\n get value() {\n return prompt;\n },\n set value($$value) {\n prompt = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n classes: \"btn-primary\",\n onclick: send,\n disabled: true,\n text: \"Send\"\n });\n $$renderer3.push(`<!----></div></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
- import { l as head, d as attr_class, f as stringify, k as escape_html, o as attr, p as attr_style, q as bind_props, r as spread_props, n as ensure_array_like, t as derived } from './index-DwaY1cAm.js';
2
- import { I as Icon } from './Icon-CEUrotA6.js';
1
+ import { l as head, d as attr_class, f as stringify, k as escape_html, n as ensure_array_like, al as attr, an as spread_props, am as bind_props, o as derived } from './index-DP9bWJrR.js';
2
+ import { I as Icon } from './Icon-BNBAg85a.js';
3
3
  import './markdown-W_mTBct0.js';
4
- import { B as Button, h as html } from './Button-Cs1aE6ka.js';
4
+ import { B as Button } from './Button-WKgiLWZI.js';
5
+ import { I as Input, c as closeSvg } from './close-BGlLztTb.js';
6
+ import { h as html } from './html-FW6Ia4bL.js';
5
7
  import 'dompurify';
6
8
  import 'marked';
7
9
 
8
- /* empty css */
9
10
  function Card($$renderer, $$props) {
10
11
  const { children, class: className = "", description, title } = $$props;
11
12
  $$renderer.push(`<div${attr_class(`card ${stringify(className)}`)}>`);
@@ -35,192 +36,6 @@ function toErrorMessage(err) {
35
36
  }
36
37
  return String(err);
37
38
  }
38
- function validateInput(inputValue, dataType, validPattern, inProgressPattern, customValidators) {
39
- let validationResult = "Valid";
40
- switch (dataType) {
41
- case "email":
42
- validationResult = validateEmailInput(inputValue);
43
- break;
44
- case "tel":
45
- validationResult = validPattern === null ? validatePhoneNumber(inputValue) : validateTextWithPattern(inputValue, validPattern, inProgressPattern);
46
- break;
47
- case "password":
48
- validationResult = validatePassword(inputValue, validPattern, inProgressPattern);
49
- break;
50
- case "text":
51
- validationResult = validateTextWithPattern(inputValue, validPattern, inProgressPattern);
52
- break;
53
- }
54
- customValidators.forEach((validator) => {
55
- const currentResult = validator(inputValue, validationResult);
56
- if (currentResult === "Invalid") {
57
- validationResult = "Invalid";
58
- } else if (currentResult === "InProgress") {
59
- validationResult = "InProgress";
60
- } else {
61
- validationResult = validationResult === "Valid" && currentResult === "Valid" ? "Valid" : validationResult;
62
- }
63
- });
64
- return validationResult;
65
- }
66
- function validateTextWithPattern(inputValue, validationPattern, inProgressPattern) {
67
- if (validationPattern !== null) {
68
- if (validationPattern.test(inputValue)) {
69
- return "Valid";
70
- } else if (inProgressPattern !== null && inProgressPattern.test(inputValue) || inputValue.length === 0) {
71
- return "InProgress";
72
- } else {
73
- return "Invalid";
74
- }
75
- }
76
- return "Valid";
77
- }
78
- function validatePassword(password, validationPattern, inProgressPattern) {
79
- if (validationPattern !== null) {
80
- if (validationPattern.test(password)) {
81
- return "Valid";
82
- } else if (inProgressPattern !== null && inProgressPattern.test(password) && password.length === 0) {
83
- return "InProgress";
84
- } else {
85
- return "Invalid";
86
- }
87
- }
88
- return "Valid";
89
- }
90
- function validateEmailInput(emailId) {
91
- try {
92
- const validPattern = new RegExp(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
93
- const inProgressPattern = new RegExp(/[^ ]{1,}[\w0-9.,_,@]{0,}/);
94
- if (validPattern.test(emailId)) {
95
- return "Valid";
96
- } else if (inProgressPattern.test(emailId) || emailId.length === 0) {
97
- return "InProgress";
98
- } else {
99
- return "Invalid";
100
- }
101
- } catch (e) {
102
- console.error("Email Regex creation failed: ", e);
103
- }
104
- return "Valid";
105
- }
106
- function validatePhoneNumber(phoneNumber) {
107
- try {
108
- const validationPattern = new RegExp("^[6-9]{1}[0-9]{9}$");
109
- const inProgressPattern = new RegExp("^[6-9]{1}[0-9]{0,9}$");
110
- if (validationPattern.test(phoneNumber)) {
111
- return "Valid";
112
- } else if (inProgressPattern.test(phoneNumber) || phoneNumber.length === 0) {
113
- return "InProgress";
114
- } else {
115
- return "Invalid";
116
- }
117
- } catch (e) {
118
- console.error("Phone Regex creation failed", e);
119
- }
120
- return phoneNumber.length === 10 ? "Valid" : phoneNumber.length > 10 ? "InProgress" : "Invalid";
121
- }
122
- function Input($$renderer, $$props) {
123
- $$renderer.component(($$renderer2) => {
124
- let {
125
- value = "",
126
- placeholder = "",
127
- dataType = "text",
128
- label = "",
129
- onErrorMessage = "",
130
- infoMessage = "",
131
- validators = [],
132
- disable = false,
133
- validationPattern = null,
134
- inProgressPattern = null,
135
- addFocusColor = false,
136
- maxLength = 1e3,
137
- minLength = 0,
138
- actionInput = false,
139
- useTextArea = false,
140
- autoComplete = "on",
141
- name = "",
142
- testId = "",
143
- textTransformers = [],
144
- textViewPresentation = [],
145
- onFocus = () => {
146
- },
147
- onFocusout = () => {
148
- },
149
- onInput = () => {
150
- },
151
- onPaste = () => {
152
- },
153
- onStateChange = () => {
154
- },
155
- onClick = () => {
156
- },
157
- onKeyDown = () => {
158
- },
159
- classes
160
- } = $$props;
161
- function focus() {
162
- try {
163
- inputElement?.focus();
164
- inputElement?.scrollIntoView({ behavior: "smooth", block: "center" });
165
- } catch (error) {
166
- console.error("Error focusing or scrolling inputElement:", error);
167
- }
168
- }
169
- function blur() {
170
- try {
171
- inputElement?.blur();
172
- } catch (error) {
173
- console.error("Error blurring inputElement:", error);
174
- }
175
- }
176
- let inputElement = null;
177
- let validationState = derived(() => {
178
- const valueValidation = validateInput(value, dataType, validationPattern, inProgressPattern, validators);
179
- if (valueValidation === "InProgress" && value.length > 0 && inputElement) ;
180
- return valueValidation;
181
- });
182
- const showErrorMessage = derived(() => validationState() === "Invalid");
183
- $$renderer2.push(`<div${attr_class(`input-container ${stringify(classes ?? "")}`, "svelte-1y8a925", {
184
- "input-error": validationState() === "Invalid" && !actionInput
185
- })}>`);
186
- if (typeof label === "string" && label !== "" && !actionInput) {
187
- $$renderer2.push("<!--[0-->");
188
- $$renderer2.push(`<label class="label svelte-1y8a925"${attr("for", name)}>${escape_html(label)}</label>`);
189
- } else {
190
- $$renderer2.push("<!--[-1-->");
191
- }
192
- $$renderer2.push(`<!--]--> `);
193
- if (useTextArea) {
194
- $$renderer2.push("<!--[0-->");
195
- $$renderer2.push(`<textarea${attr("placeholder", placeholder)}${attr("autocomplete", autoComplete)}${attr("name", name)}${attr_style(`--focus-border: ${stringify(addFocusColor ? 1 : 0)}px;`)}${attr("disabled", disable, true)}${attr("maxlength", dataType === "tel" ? null : maxLength)}${attr("minlength", minLength)}${attr_class("svelte-1y8a925", void 0, { "action-input": actionInput })}>`);
196
- const $$body = escape_html(value);
197
- if ($$body) {
198
- $$renderer2.push(`${$$body}`);
199
- }
200
- $$renderer2.push(`</textarea>`);
201
- } else {
202
- $$renderer2.push("<!--[-1-->");
203
- $$renderer2.push(`<input${attr("type", dataType)}${attr("value", value)}${attr("placeholder", placeholder)}${attr("autocomplete", autoComplete)}${attr("name", name)}${attr("data-pw", testId)}${attr("disabled", disable, true)}${attr("maxlength", dataType === "tel" ? null : maxLength)}${attr("minlength", minLength)}${attr_class("svelte-1y8a925", void 0, { "action-input": actionInput })}/>`);
204
- }
205
- $$renderer2.push(`<!--]--> `);
206
- if (onErrorMessage !== "" && showErrorMessage() && !actionInput) {
207
- $$renderer2.push("<!--[0-->");
208
- $$renderer2.push(`<div class="error-message svelte-1y8a925">${escape_html(onErrorMessage)}</div>`);
209
- } else {
210
- $$renderer2.push("<!--[-1-->");
211
- }
212
- $$renderer2.push(`<!--]--> `);
213
- if (infoMessage !== "" && !actionInput) {
214
- $$renderer2.push("<!--[0-->");
215
- $$renderer2.push(`<div class="info-message svelte-1y8a925">${escape_html(infoMessage)}</div>`);
216
- } else {
217
- $$renderer2.push("<!--[-1-->");
218
- }
219
- $$renderer2.push(`<!--]--></div>`);
220
- bind_props($$props, { value, focus, blur });
221
- });
222
- }
223
- const closeSvg = '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n <line x1="18" y1="6" x2="6" y2="18" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>\n <line x1="6" y1="6" x2="18" y2="18" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>\n</svg>\n';
224
39
  function Banner($$renderer, $$props) {
225
40
  $$renderer.component(($$renderer2) => {
226
41
  let {
@@ -336,8 +151,47 @@ function Stepper($$renderer, $$props) {
336
151
  }
337
152
  $$renderer.push(`<!--]--></div>`);
338
153
  }
154
+ const PROVIDERS = [
155
+ {
156
+ cors: "proxy",
157
+ envKeys: ["GOOGLE_AI_API_KEY"],
158
+ id: "google-ai",
159
+ label: "Google AI",
160
+ model: "gemini-3.1-flash-lite-preview"
161
+ },
162
+ {
163
+ cors: "proxy",
164
+ envKeys: ["ANTHROPIC_API_KEY"],
165
+ id: "anthropic",
166
+ label: "Anthropic",
167
+ model: "claude-haiku-4-5-20251001"
168
+ },
169
+ {
170
+ cors: "proxy",
171
+ envKeys: ["OPENAI_API_KEY"],
172
+ id: "openai",
173
+ label: "OpenAI",
174
+ model: "gpt-4o-mini"
175
+ },
176
+ {
177
+ cors: "proxy",
178
+ envKeys: ["MISTRAL_API_KEY"],
179
+ id: "mistral",
180
+ label: "Mistral",
181
+ model: "mistral-small-2506"
182
+ },
183
+ {
184
+ cors: "direct",
185
+ envKeys: ["LITELLM_API_KEY", "LITELLM_BASE_URL"],
186
+ extraEnvKeys: ["LITELLM_MODEL"],
187
+ id: "litellm",
188
+ label: "LiteLLM",
189
+ model: "open-large"
190
+ }
191
+ ];
339
192
  function _page($$renderer, $$props) {
340
193
  $$renderer.component(($$renderer2) => {
194
+ const { data } = $$props;
341
195
  let serverUrl = "";
342
196
  let apiKey = "";
343
197
  let deviceToken = "";
@@ -360,13 +214,13 @@ function _page($$renderer, $$props) {
360
214
  try {
361
215
  const response = await fetch("/api/qr-config", { headers: { Authorization: `Bearer ${apiKey.trim()}` } });
362
216
  if (!response.ok) {
363
- const data2 = await response.json();
364
- qrError = data2.error || "Failed to generate QR code";
217
+ const data3 = await response.json();
218
+ qrError = data3.error || "Failed to generate QR code";
365
219
  return;
366
220
  }
367
- const data = await response.json();
368
- qrDataUrl = data.dataUrl;
369
- qrServerUrl = data.serverUrl;
221
+ const data2 = await response.json();
222
+ qrDataUrl = data2.dataUrl;
223
+ qrServerUrl = data2.serverUrl;
370
224
  } catch (error) {
371
225
  qrError = `Network error: ${toErrorMessage(error)}`;
372
226
  } finally {
@@ -447,12 +301,12 @@ function _page($$renderer, $$props) {
447
301
  },
448
302
  method: "POST"
449
303
  });
450
- const data = await response.json();
304
+ const data2 = await response.json();
451
305
  if (response.ok) {
452
306
  result = "Test notification sent successfully";
453
307
  statusType = "success";
454
308
  } else {
455
- result = `Test failed: ${data.error || "Unknown error"}`;
309
+ result = `Test failed: ${typeof data2.error === "string" ? data2.error : "Unknown error"}`;
456
310
  statusType = "error";
457
311
  }
458
312
  } catch (error) {
@@ -506,7 +360,8 @@ function _page($$renderer, $$props) {
506
360
  $$settled = false;
507
361
  }
508
362
  });
509
- $$renderer4.push(`<!----> <p class="input-help svelte-1gp6n77">Find this in your <code class="svelte-1gp6n77">~/.shooter/.env</code> file. Run <code class="svelte-1gp6n77">shooter setup</code> to generate one.</p> `);
363
+ $$renderer4.push(`<!----> <p class="input-help svelte-1gp6n77">Find this in your <code class="svelte-1gp6n77">~/.shooter/.env</code> file. Run <code class="svelte-1gp6n77">shooter setup</code> to generate
364
+ one.</p> `);
510
365
  Input($$renderer4, {
511
366
  name: "deviceToken",
512
367
  label: "Device Token",
@@ -624,6 +479,36 @@ function _page($$renderer, $$props) {
624
479
  }
625
480
  });
626
481
  $$renderer3.push(`<!----> `);
482
+ Card($$renderer3, {
483
+ title: "AI Providers",
484
+ description: "NeuroLink-powered summaries and AI features",
485
+ children: ($$renderer4) => {
486
+ $$renderer4.push(`<div class="ai-providers svelte-1gp6n77"><!--[-->`);
487
+ const each_array = ensure_array_like(PROVIDERS);
488
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
489
+ let provider = each_array[$$index];
490
+ $$renderer4.push(`<div class="provider-row svelte-1gp6n77">`);
491
+ Icon($$renderer4, {
492
+ name: data.aiProviders[provider.id] ? "check-circle" : "x-circle",
493
+ size: 14
494
+ });
495
+ $$renderer4.push(`<!----> <span class="provider-label svelte-1gp6n77">${escape_html(provider.label)}</span> <span${attr_class("provider-status svelte-1gp6n77", void 0, { "configured": data.aiProviders[provider.id] })}>${escape_html(data.aiProviders[provider.id] ? "configured" : "not configured")}</span></div>`);
496
+ }
497
+ $$renderer4.push(`<!--]--> `);
498
+ if (data.activeProvider) {
499
+ $$renderer4.push("<!--[0-->");
500
+ $$renderer4.push(`<div class="active-provider svelte-1gp6n77">Active: <strong>${escape_html(data.activeProvider)}</strong></div>`);
501
+ } else if (Object.values(data.aiProviders).some(Boolean)) {
502
+ $$renderer4.push("<!--[1-->");
503
+ $$renderer4.push(`<div class="active-provider svelte-1gp6n77">Auto-detected from configured keys</div>`);
504
+ } else {
505
+ $$renderer4.push("<!--[-1-->");
506
+ $$renderer4.push(`<p class="ai-help svelte-1gp6n77">Run <code class="svelte-1gp6n77">shooter setup</code> to configure AI providers for summaries.</p>`);
507
+ }
508
+ $$renderer4.push(`<!--]--></div>`);
509
+ }
510
+ });
511
+ $$renderer3.push(`<!----> `);
627
512
  Card($$renderer3, {
628
513
  title: "Danger Zone",
629
514
  children: ($$renderer4) => {
@@ -648,4 +533,4 @@ function _page($$renderer, $$props) {
648
533
  }
649
534
 
650
535
  export { _page as default };
651
- //# sourceMappingURL=_page.svelte-CxWcQ0Am.js.map
536
+ //# sourceMappingURL=_page.svelte-Cmuco1mC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-Cmuco1mC.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/config/_page.svelte.js"],"sourcesContent":["import { a as attr_class, e as escape_html, s as stringify, i as attr, j as spread_props, k as bind_props, f as derived, d as ensure_array_like, h as head } from \"../../../chunks/index.js\";\nimport { I as Icon } from \"../../../chunks/Icon.js\";\nimport \"../../../chunks/markdown.js\";\nimport { B as Button } from \"../../../chunks/Button.js\";\n/* empty css */\nimport { c as closeSvg, I as Input } from \"../../../chunks/close.js\";\nimport { h as html } from \"../../../chunks/html.js\";\nfunction Card($$renderer, $$props) {\n const { children, class: className = \"\", description, title } = $$props;\n $$renderer.push(`<div${attr_class(`card ${stringify(className)}`)}>`);\n if (title) {\n $$renderer.push(\"<!--[0-->\");\n $$renderer.push(`<div class=\"card-header\"><h2 class=\"card-title\">${escape_html(title)}</h2> `);\n if (description) {\n $$renderer.push(\"<!--[0-->\");\n $$renderer.push(`<p class=\"card-description\">${escape_html(description)}</p>`);\n } else {\n $$renderer.push(\"<!--[-1-->\");\n }\n $$renderer.push(`<!--]--></div>`);\n } else {\n $$renderer.push(\"<!--[-1-->\");\n }\n $$renderer.push(`<!--]--> <div class=\"card-content\">`);\n children($$renderer);\n $$renderer.push(`<!----></div></div>`);\n}\nfunction toErrorMessage(err) {\n if (err instanceof Error) {\n return err.message;\n }\n if (typeof err === \"string\") {\n return err;\n }\n return String(err);\n}\nfunction Banner($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n text,\n icon,\n linkText,\n dismissible = false,\n visible = true,\n testId,\n rightContent,\n dismissIcon,\n onclick,\n ondismiss,\n classes\n } = $$props;\n let interactive = derived(() => typeof onclick === \"function\");\n function handleDismiss(event) {\n event.stopPropagation();\n visible = false;\n ondismiss?.();\n }\n if (visible) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div${attr_class(`banner ${stringify(classes ?? \"\")}`, \"svelte-1omq7oz\")}${attr(\"role\", interactive() ? \"button\" : null)}${attr(\"tabindex\", interactive() ? 0 : null)}${attr(\"data-pw\", typeof testId === \"string\" ? testId : null)}>`);\n if (typeof icon === \"function\") {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"banner-icon svelte-1omq7oz\">`);\n icon($$renderer2);\n $$renderer2.push(`<!----></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <div class=\"banner-text svelte-1omq7oz\">${escape_html(text)} `);\n if (typeof linkText === \"string\" && linkText.length > 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span class=\"banner-link-text svelte-1omq7oz\">${escape_html(linkText)}</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> `);\n if (typeof rightContent === \"function\") {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"banner-right svelte-1omq7oz\">`);\n rightContent($$renderer2);\n $$renderer2.push(`<!----></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (dismissible) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"banner-dismiss svelte-1omq7oz\">`);\n Button($$renderer2, spread_props([\n { onclick: handleDismiss, ariaLabel: \"Dismiss\" },\n typeof testId === \"string\" ? { testId: `${testId}-dismiss` } : {},\n {\n children: ($$renderer3) => {\n if (typeof dismissIcon === \"function\") {\n $$renderer3.push(\"<!--[0-->\");\n dismissIcon($$renderer3);\n $$renderer3.push(`<!---->`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`${html(closeSvg)}`);\n }\n $$renderer3.push(`<!--]-->`);\n },\n $$slots: { default: true }\n }\n ]));\n $$renderer2.push(`<!----></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { visible });\n });\n}\nfunction Step($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { stepIndex, label, icon, classes } = $$props;\n $$renderer2.push(`<div${attr_class(`step ${stringify(classes ?? \"\")}`, \"svelte-ds22du\")} role=\"button\" tabindex=\"0\">`);\n if (typeof icon === \"string\" && icon.length > 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"step-icon-container\"><img class=\"step-icon\"${attr(\"src\", icon)} alt=\"\"/></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"step-index-container svelte-ds22du\"><div class=\"step-index-text svelte-ds22du\">${escape_html(stepIndex)}</div></div>`);\n }\n $$renderer2.push(`<!--]--> <div class=\"step-text svelte-ds22du\">${escape_html(label)}</div> <div class=\"separator svelte-ds22du\"></div></div>`);\n });\n}\nfunction Stepper($$renderer, $$props) {\n let { steps, currentStepIndex, classes } = $$props;\n $$renderer.push(`<div${attr_class(`container ${stringify(classes ?? \"\")}`, \"svelte-xw39st\")}><!--[-->`);\n const each_array = ensure_array_like(steps);\n for (let stepIndex = 0, $$length = each_array.length; stepIndex < $$length; stepIndex++) {\n let currentStep = each_array[stepIndex];\n $$renderer.push(`<div${attr_class(\"step-container svelte-xw39st\", void 0, {\n \"active-step\": currentStepIndex === stepIndex,\n \"completed-step\": currentStepIndex > stepIndex\n })}>`);\n Step($$renderer, {\n label: currentStep.label,\n icon: currentStep.icon,\n stepIndex: stepIndex + 1\n });\n $$renderer.push(`<!----></div>`);\n }\n $$renderer.push(`<!--]--></div>`);\n}\nconst PROVIDERS = [\n {\n cors: \"proxy\",\n envKeys: [\"GOOGLE_AI_API_KEY\"],\n id: \"google-ai\",\n label: \"Google AI\",\n model: \"gemini-3.1-flash-lite-preview\"\n },\n {\n cors: \"proxy\",\n envKeys: [\"ANTHROPIC_API_KEY\"],\n id: \"anthropic\",\n label: \"Anthropic\",\n model: \"claude-haiku-4-5-20251001\"\n },\n {\n cors: \"proxy\",\n envKeys: [\"OPENAI_API_KEY\"],\n id: \"openai\",\n label: \"OpenAI\",\n model: \"gpt-4o-mini\"\n },\n {\n cors: \"proxy\",\n envKeys: [\"MISTRAL_API_KEY\"],\n id: \"mistral\",\n label: \"Mistral\",\n model: \"mistral-small-2506\"\n },\n {\n cors: \"direct\",\n envKeys: [\"LITELLM_API_KEY\", \"LITELLM_BASE_URL\"],\n extraEnvKeys: [\"LITELLM_MODEL\"],\n id: \"litellm\",\n label: \"LiteLLM\",\n model: \"open-large\"\n }\n];\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { data } = $$props;\n let serverUrl = \"\";\n let apiKey = \"\";\n let deviceToken = \"\";\n let result = \"\";\n let loading = false;\n let statusType = \"\";\n let qrDataUrl = \"\";\n let qrServerUrl = \"\";\n let qrLoading = false;\n let qrError = \"\";\n async function fetchQrCode() {\n if (!apiKey.trim()) {\n qrError = \"Save an API key first to generate a QR code\";\n return;\n }\n qrLoading = true;\n qrError = \"\";\n qrDataUrl = \"\";\n qrServerUrl = \"\";\n try {\n const response = await fetch(\"/api/qr-config\", { headers: { Authorization: `Bearer ${apiKey.trim()}` } });\n if (!response.ok) {\n const data3 = await response.json();\n qrError = data3.error || \"Failed to generate QR code\";\n return;\n }\n const data2 = await response.json();\n qrDataUrl = data2.dataUrl;\n qrServerUrl = data2.serverUrl;\n } catch (error) {\n qrError = `Network error: ${toErrorMessage(error)}`;\n } finally {\n qrLoading = false;\n }\n }\n function getNativeBridge() {\n if (typeof window === \"undefined\") {\n return null;\n }\n if (window.ShooterBridge) {\n return window.ShooterBridge;\n }\n if (window.ShooterNativeBridge) {\n return window.ShooterNativeBridge;\n }\n return null;\n }\n function getDefaultServerUrl() {\n return window.location.origin;\n }\n async function saveConfiguration() {\n loading = true;\n result = \"\";\n statusType = \"\";\n try {\n const trimmedUrl = serverUrl.trim().replace(/\\/+$/, \"\");\n localStorage.setItem(\"shooter_config\", JSON.stringify({\n apiKey: apiKey.trim(),\n deviceToken: deviceToken.trim(),\n lastUpdated: Date.now(),\n serverUrl: trimmedUrl || getDefaultServerUrl()\n }));\n const bridge = getNativeBridge();\n if (bridge) {\n bridge.saveConfig?.(JSON.stringify({\n apiKey: apiKey.trim(),\n serverUrl: trimmedUrl || getDefaultServerUrl()\n }));\n }\n const response = await fetch(\"/api/health\");\n if (response.ok) {\n result = \"Configuration saved successfully\";\n statusType = \"success\";\n } else {\n result = \"Configuration saved but system health check failed\";\n statusType = \"warning\";\n }\n } catch (error) {\n result = `Configuration failed: ${toErrorMessage(error)}`;\n statusType = \"error\";\n }\n loading = false;\n }\n async function testConfiguration() {\n if (!apiKey.trim()) {\n result = \"API key is required for testing\";\n statusType = \"error\";\n return;\n }\n loading = true;\n result = \"\";\n statusType = \"\";\n try {\n const testPayload = {\n data: { source: \"config-test\", timestamp: Date.now() },\n message: `Configuration test at ${(/* @__PURE__ */ new Date()).toLocaleTimeString()}`,\n title: \"Configuration Test\"\n };\n if (deviceToken.trim()) {\n testPayload.deviceToken = deviceToken.trim();\n }\n const response = await fetch(\"/api/notify\", {\n body: JSON.stringify(testPayload),\n headers: {\n Authorization: `Bearer ${apiKey}`,\n \"Content-Type\": \"application/json\"\n },\n method: \"POST\"\n });\n const data2 = await response.json();\n if (response.ok) {\n result = \"Test notification sent successfully\";\n statusType = \"success\";\n } else {\n result = `Test failed: ${typeof data2.error === \"string\" ? data2.error : \"Unknown error\"}`;\n statusType = \"error\";\n }\n } catch (error) {\n result = `Network error: ${toErrorMessage(error)}`;\n statusType = \"error\";\n }\n loading = false;\n }\n function clearConfiguration() {\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n head(\"1gp6n77\", $$renderer3, ($$renderer4) => {\n $$renderer4.title(($$renderer5) => {\n $$renderer5.push(`<title>Settings - Shooter</title>`);\n });\n $$renderer4.push(`<meta name=\"description\" content=\"Configure notification system settings\"/>`);\n });\n $$renderer3.push(`<main class=\"main\"><div class=\"settings-container svelte-1gp6n77\"><div style=\"margin-bottom: var(--space-4);\"><a href=\"/\" class=\"back-link\">← Back to Projects</a></div> <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\">`);\n Card($$renderer3, {\n title: \"Server Configuration\",\n description: \"Configure server connection and credentials\",\n children: ($$renderer4) => {\n Input($$renderer4, {\n name: \"serverUrl\",\n label: \"Server URL\",\n dataType: \"text\",\n placeholder: \"https://shooter.breezehq.dev\",\n infoMessage: \"Base URL of your Shooter server. Apps will reload with this URL on next launch.\",\n get value() {\n return serverUrl;\n },\n set value($$value) {\n serverUrl = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> `);\n Input($$renderer4, {\n name: \"apiKey\",\n label: \"API Key\",\n dataType: \"password\",\n placeholder: \"Enter your API key\",\n infoMessage: \"Required for sending notifications\",\n get value() {\n return apiKey;\n },\n set value($$value) {\n apiKey = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> <p class=\"input-help svelte-1gp6n77\">Find this in your <code class=\"svelte-1gp6n77\">~/.shooter/.env</code> file. Run <code class=\"svelte-1gp6n77\">shooter setup</code> to generate\n one.</p> `);\n Input($$renderer4, {\n name: \"deviceToken\",\n label: \"Device Token\",\n dataType: \"text\",\n placeholder: \"64-character hex string\",\n infoMessage: \"Device token from app registration\",\n classes: \"input-mono\",\n get value() {\n return deviceToken;\n },\n set value($$value) {\n deviceToken = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> <p class=\"input-help svelte-1gp6n77\">Optional — only needed for iOS/Android push notifications.</p>`);\n }\n });\n $$renderer3.push(`<!----> `);\n if (result) {\n $$renderer3.push(\"<!--[0-->\");\n const bannerIcon = statusType === \"success\" ? \"check-circle\" : statusType === \"error\" ? \"x-circle\" : \"alert-triangle\";\n {\n let icon = function($$renderer4) {\n Icon($$renderer4, { name: bannerIcon, size: 16 });\n };\n Banner($$renderer3, {\n text: result,\n classes: `banner-${stringify(statusType || \"info\")}`,\n icon,\n $$slots: { icon: true }\n });\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <div class=\"button-group svelte-1gp6n77\">`);\n Button($$renderer3, {\n classes: \"btn-secondary\",\n onclick: testConfiguration,\n disabled: loading || !apiKey.trim(),\n children: ($$renderer4) => {\n if (!loading) {\n $$renderer4.push(\"<!--[0-->\");\n Icon($$renderer4, { name: \"play\", size: 14 });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> Test Connection`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n classes: \"btn-primary\",\n onclick: saveConfiguration,\n disabled: loading || !apiKey.trim(),\n showLoader: loading,\n text: \"Save Changes\"\n });\n $$renderer3.push(`<!----></div></section> <aside class=\"settings-sidebar svelte-1gp6n77\">`);\n Card($$renderer3, {\n title: \"Setup Guide\",\n children: ($$renderer4) => {\n Stepper($$renderer4, {\n steps: [\n { label: \"Get API Key\" },\n { label: \"Find Device Token\" },\n { label: \"Test Connection\" }\n ],\n currentStepIndex: apiKey.trim() && deviceToken.trim() ? 2 : apiKey.trim() ? 1 : 0,\n classes: \"setup-stepper\"\n });\n }\n });\n $$renderer3.push(`<!----> `);\n Card($$renderer3, {\n title: \"Mobile App Setup\",\n description: \"Scan to connect your mobile app\",\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"qr-section svelte-1gp6n77\">`);\n {\n $$renderer4.push(\"<!--[-1-->\");\n if (qrDataUrl) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"qr-container svelte-1gp6n77\"><img${attr(\"src\", qrDataUrl)} 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> `);\n if (qrServerUrl) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<p class=\"qr-server-url svelte-1gp6n77\">Server: <code class=\"svelte-1gp6n77\">${escape_html(qrServerUrl)}</code></p>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]-->`);\n } else if (qrLoading) {\n $$renderer4.push(\"<!--[1-->\");\n $$renderer4.push(`<div class=\"qr-placeholder svelte-1gp6n77\"><p class=\"qr-loading-text svelte-1gp6n77\">Generating QR code...</p></div>`);\n } else if (qrError) {\n $$renderer4.push(\"<!--[2-->\");\n $$renderer4.push(`<p class=\"qr-error svelte-1gp6n77\">${escape_html(qrError)}</p>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n $$renderer4.push(`<p class=\"qr-description svelte-1gp6n77\">Generate a QR code containing your server URL and API key. Your mobile app can\n scan it to auto-configure the connection.</p>`);\n }\n $$renderer4.push(`<!--]--> `);\n Button($$renderer4, {\n classes: \"btn-secondary btn-sm\",\n onclick: fetchQrCode,\n disabled: qrLoading || !apiKey.trim(),\n text: qrDataUrl ? \"Regenerate QR Code\" : \"Generate QR Code\"\n });\n $$renderer4.push(`<!---->`);\n }\n $$renderer4.push(`<!--]--></div>`);\n }\n });\n $$renderer3.push(`<!----> `);\n Card($$renderer3, {\n title: \"AI Providers\",\n description: \"NeuroLink-powered summaries and AI features\",\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"ai-providers svelte-1gp6n77\"><!--[-->`);\n const each_array = ensure_array_like(PROVIDERS);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let provider = each_array[$$index];\n $$renderer4.push(`<div class=\"provider-row svelte-1gp6n77\">`);\n Icon($$renderer4, {\n name: data.aiProviders[provider.id] ? \"check-circle\" : \"x-circle\",\n size: 14\n });\n $$renderer4.push(`<!----> <span class=\"provider-label svelte-1gp6n77\">${escape_html(provider.label)}</span> <span${attr_class(\"provider-status svelte-1gp6n77\", void 0, { \"configured\": data.aiProviders[provider.id] })}>${escape_html(data.aiProviders[provider.id] ? \"configured\" : \"not configured\")}</span></div>`);\n }\n $$renderer4.push(`<!--]--> `);\n if (data.activeProvider) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"active-provider svelte-1gp6n77\">Active: <strong>${escape_html(data.activeProvider)}</strong></div>`);\n } else if (Object.values(data.aiProviders).some(Boolean)) {\n $$renderer4.push(\"<!--[1-->\");\n $$renderer4.push(`<div class=\"active-provider svelte-1gp6n77\">Auto-detected from configured keys</div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n $$renderer4.push(`<p class=\"ai-help svelte-1gp6n77\">Run <code class=\"svelte-1gp6n77\">shooter setup</code> to configure AI providers for summaries.</p>`);\n }\n $$renderer4.push(`<!--]--></div>`);\n }\n });\n $$renderer3.push(`<!----> `);\n Card($$renderer3, {\n title: \"Danger Zone\",\n children: ($$renderer4) => {\n $$renderer4.push(`<p class=\"danger-description svelte-1gp6n77\">Clear all saved configuration data from this device.</p> `);\n Button($$renderer4, {\n classes: \"btn-danger btn-sm\",\n onclick: clearConfiguration,\n text: \"Clear Configuration\"\n });\n $$renderer4.push(`<!---->`);\n }\n });\n $$renderer3.push(`<!----></aside></div></div></main>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
- import { l as head, n as ensure_array_like } from './index-DwaY1cAm.js';
2
- import { g as goto } from './client-BdGHe_hY.js';
3
- import { E as EmptyState, c as clearCache } from './EmptyState-DDFH1K8g.js';
4
- import { I as Icon } from './Icon-CEUrotA6.js';
1
+ import { l as head, n as ensure_array_like } from './index-DP9bWJrR.js';
2
+ import { g as goto } from './client-DRtPDkMh.js';
3
+ import { E as EmptyState, c as clearCache } from './EmptyState-BUBqASsp.js';
4
+ import { I as Icon } from './Icon-BNBAg85a.js';
5
5
  import './markdown-W_mTBct0.js';
6
- import { o as onDestroy } from './index-server-CrDaL06Y.js';
7
- import { B as Button } from './Button-Cs1aE6ka.js';
8
- import { S as Shimmer } from './Shimmer-DB8W1zt6.js';
9
- import './root-DDSnEAZv.js';
10
- import './index2-CgclKpUj.js';
11
- import './state.svelte-hBbXlUak.js';
6
+ import { o as onDestroy } from './index-server-BUmV4MIG.js';
7
+ import { B as Button } from './Button-WKgiLWZI.js';
8
+ import { S as Shimmer } from './Shimmer-C4uBVwxz.js';
9
+ import './root-CATOR_0t.js';
10
+ import './index2-D5Y19GKR.js';
11
+ import './state.svelte-CftllyvC.js';
12
+ import './html-FW6Ia4bL.js';
12
13
  import 'dompurify';
13
14
  import 'marked';
14
15
 
@@ -98,4 +99,4 @@ function _page($$renderer, $$props) {
98
99
  }
99
100
 
100
101
  export { _page as default };
101
- //# sourceMappingURL=_page.svelte-BgevQjq1.js.map
102
+ //# sourceMappingURL=_page.svelte-Co5sF7W-.js.map