@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
@@ -1845,13 +1845,265 @@ export function decodeEventSessionEnded(rawInput: unknown): EventSessionEnded |
1845
1845
  return null;
1846
1846
  }
1847
1847
 
1848
+ /**
1849
+ * @type { EventToolStarted }
1850
+ * @description A tool execution has started
1851
+ */
1852
+ export type EventToolStarted = {
1853
+ /**
1854
+ * @type { string }
1855
+ * @memberof EventToolStarted
1856
+ */
1857
+ type: string;
1858
+ /**
1859
+ * @description Name of the tool being executed
1860
+ * @type { string }
1861
+ * @memberof EventToolStarted
1862
+ */
1863
+ tool: string;
1864
+ /**
1865
+ * @description Command being executed (for Bash tool)
1866
+ * @type { string }
1867
+ * @memberof EventToolStarted
1868
+ */
1869
+ command: string | null;
1870
+ /**
1871
+ * @description File path being operated on
1872
+ * @type { string }
1873
+ * @memberof EventToolStarted
1874
+ */
1875
+ filePath: string | null;
1876
+ /**
1877
+ * @description Associated terminal identifier
1878
+ * @type { string }
1879
+ * @memberof EventToolStarted
1880
+ */
1881
+ terminalId: string | null;
1882
+ };
1883
+
1884
+ export function decodeEventToolStarted(rawInput: unknown): EventToolStarted | null {
1885
+ if (isJSON(rawInput)) {
1886
+ const decodedType = decodeString(rawInput['type']);
1887
+ const decodedTool = decodeString(rawInput['tool']);
1888
+ const decodedCommand = decodeString(rawInput['command']);
1889
+ const decodedFilePath = decodeString(rawInput['filePath']);
1890
+ const decodedTerminalId = decodeString(rawInput['terminalId']);
1891
+
1892
+ if (decodedType === null || decodedTool === null) {
1893
+ return null;
1894
+ }
1895
+
1896
+ return {
1897
+ type: decodedType,
1898
+ tool: decodedTool,
1899
+ command: decodedCommand,
1900
+ filePath: decodedFilePath,
1901
+ terminalId: decodedTerminalId,
1902
+ };
1903
+ }
1904
+ return null;
1905
+ }
1906
+
1907
+ /**
1908
+ * @type { EventToolCompleted }
1909
+ * @description A tool execution has completed
1910
+ */
1911
+ export type EventToolCompleted = {
1912
+ /**
1913
+ * @type { string }
1914
+ * @memberof EventToolCompleted
1915
+ */
1916
+ type: string;
1917
+ /**
1918
+ * @description Name of the tool that completed
1919
+ * @type { string }
1920
+ * @memberof EventToolCompleted
1921
+ */
1922
+ tool: string;
1923
+ /**
1924
+ * @description Whether the tool execution succeeded
1925
+ * @type { boolean }
1926
+ * @memberof EventToolCompleted
1927
+ */
1928
+ success: boolean;
1929
+ /**
1930
+ * @description Associated terminal identifier
1931
+ * @type { string }
1932
+ * @memberof EventToolCompleted
1933
+ */
1934
+ terminalId: string | null;
1935
+ };
1936
+
1937
+ export function decodeEventToolCompleted(rawInput: unknown): EventToolCompleted | null {
1938
+ if (isJSON(rawInput)) {
1939
+ const decodedType = decodeString(rawInput['type']);
1940
+ const decodedTool = decodeString(rawInput['tool']);
1941
+ const decodedSuccess = decodeBoolean(rawInput['success']);
1942
+ const decodedTerminalId = decodeString(rawInput['terminalId']);
1943
+
1944
+ if (decodedType === null || decodedTool === null || decodedSuccess === null) {
1945
+ return null;
1946
+ }
1947
+
1948
+ return {
1949
+ type: decodedType,
1950
+ tool: decodedTool,
1951
+ success: decodedSuccess,
1952
+ terminalId: decodedTerminalId,
1953
+ };
1954
+ }
1955
+ return null;
1956
+ }
1957
+
1958
+ /**
1959
+ * @type { EventToolFailed }
1960
+ * @description A tool execution has failed
1961
+ */
1962
+ export type EventToolFailed = {
1963
+ /**
1964
+ * @type { string }
1965
+ * @memberof EventToolFailed
1966
+ */
1967
+ type: string;
1968
+ /**
1969
+ * @description Name of the tool that failed
1970
+ * @type { string }
1971
+ * @memberof EventToolFailed
1972
+ */
1973
+ tool: string;
1974
+ /**
1975
+ * @description Error message
1976
+ * @type { string }
1977
+ * @memberof EventToolFailed
1978
+ */
1979
+ error: string;
1980
+ /**
1981
+ * @description Associated terminal identifier
1982
+ * @type { string }
1983
+ * @memberof EventToolFailed
1984
+ */
1985
+ terminalId: string | null;
1986
+ };
1987
+
1988
+ export function decodeEventToolFailed(rawInput: unknown): EventToolFailed | null {
1989
+ if (isJSON(rawInput)) {
1990
+ const decodedType = decodeString(rawInput['type']);
1991
+ const decodedTool = decodeString(rawInput['tool']);
1992
+ const decodedError = decodeString(rawInput['error']);
1993
+ const decodedTerminalId = decodeString(rawInput['terminalId']);
1994
+
1995
+ if (decodedType === null || decodedTool === null || decodedError === null) {
1996
+ return null;
1997
+ }
1998
+
1999
+ return {
2000
+ type: decodedType,
2001
+ tool: decodedTool,
2002
+ error: decodedError,
2003
+ terminalId: decodedTerminalId,
2004
+ };
2005
+ }
2006
+ return null;
2007
+ }
2008
+
2009
+ /**
2010
+ * @type { EventAgentIdle }
2011
+ * @description The AI agent is idle and waiting
2012
+ */
2013
+ export type EventAgentIdle = {
2014
+ /**
2015
+ * @type { string }
2016
+ * @memberof EventAgentIdle
2017
+ */
2018
+ type: string;
2019
+ /**
2020
+ * @description Optional idle message
2021
+ * @type { string }
2022
+ * @memberof EventAgentIdle
2023
+ */
2024
+ message: string | null;
2025
+ /**
2026
+ * @description Associated terminal identifier
2027
+ * @type { string }
2028
+ * @memberof EventAgentIdle
2029
+ */
2030
+ terminalId: string | null;
2031
+ };
2032
+
2033
+ export function decodeEventAgentIdle(rawInput: unknown): EventAgentIdle | null {
2034
+ if (isJSON(rawInput)) {
2035
+ const decodedType = decodeString(rawInput['type']);
2036
+ const decodedMessage = decodeString(rawInput['message']);
2037
+ const decodedTerminalId = decodeString(rawInput['terminalId']);
2038
+
2039
+ if (decodedType === null) {
2040
+ return null;
2041
+ }
2042
+
2043
+ return {
2044
+ type: decodedType,
2045
+ message: decodedMessage,
2046
+ terminalId: decodedTerminalId,
2047
+ };
2048
+ }
2049
+ return null;
2050
+ }
2051
+
2052
+ /**
2053
+ * @type { EventAgentQuestion }
2054
+ * @description The AI agent has a question for the user
2055
+ */
2056
+ export type EventAgentQuestion = {
2057
+ /**
2058
+ * @type { string }
2059
+ * @memberof EventAgentQuestion
2060
+ */
2061
+ type: string;
2062
+ /**
2063
+ * @description The question being asked
2064
+ * @type { string }
2065
+ * @memberof EventAgentQuestion
2066
+ */
2067
+ message: string;
2068
+ /**
2069
+ * @description Associated terminal identifier
2070
+ * @type { string }
2071
+ * @memberof EventAgentQuestion
2072
+ */
2073
+ terminalId: string | null;
2074
+ };
2075
+
2076
+ export function decodeEventAgentQuestion(rawInput: unknown): EventAgentQuestion | null {
2077
+ if (isJSON(rawInput)) {
2078
+ const decodedType = decodeString(rawInput['type']);
2079
+ const decodedMessage = decodeString(rawInput['message']);
2080
+ const decodedTerminalId = decodeString(rawInput['terminalId']);
2081
+
2082
+ if (decodedType === null || decodedMessage === null) {
2083
+ return null;
2084
+ }
2085
+
2086
+ return {
2087
+ type: decodedType,
2088
+ message: decodedMessage,
2089
+ terminalId: decodedTerminalId,
2090
+ };
2091
+ }
2092
+ return null;
2093
+ }
2094
+
1848
2095
  export type ShooterEvent =
1849
2096
  | CShooterEventEventTerminalCreated
1850
2097
  | CShooterEventEventTerminalExited
1851
2098
  | CShooterEventEventPermissionRequested
1852
2099
  | CShooterEventEventPermissionResolved
1853
2100
  | CShooterEventEventSessionStarted
1854
- | CShooterEventEventSessionEnded;
2101
+ | CShooterEventEventSessionEnded
2102
+ | CShooterEventEventToolStarted
2103
+ | CShooterEventEventToolCompleted
2104
+ | CShooterEventEventToolFailed
2105
+ | CShooterEventEventAgentIdle
2106
+ | CShooterEventEventAgentQuestion;
1855
2107
 
1856
2108
  export function decodeShooterEvent(rawInput: unknown): ShooterEvent | null {
1857
2109
  const result: ShooterEvent | null =
@@ -1860,7 +2112,12 @@ export function decodeShooterEvent(rawInput: unknown): ShooterEvent | null {
1860
2112
  decodeCShooterEventEventPermissionRequested(rawInput) ??
1861
2113
  decodeCShooterEventEventPermissionResolved(rawInput) ??
1862
2114
  decodeCShooterEventEventSessionStarted(rawInput) ??
1863
- decodeCShooterEventEventSessionEnded(rawInput);
2115
+ decodeCShooterEventEventSessionEnded(rawInput) ??
2116
+ decodeCShooterEventEventToolStarted(rawInput) ??
2117
+ decodeCShooterEventEventToolCompleted(rawInput) ??
2118
+ decodeCShooterEventEventToolFailed(rawInput) ??
2119
+ decodeCShooterEventEventAgentIdle(rawInput) ??
2120
+ decodeCShooterEventEventAgentQuestion(rawInput);
1864
2121
 
1865
2122
  return result;
1866
2123
  }
@@ -1967,6 +2224,91 @@ export function decodeCShooterEventEventSessionEnded(
1967
2224
  return new CShooterEventEventSessionEnded(result);
1968
2225
  }
1969
2226
 
2227
+ export class CShooterEventEventToolStarted {
2228
+ data: EventToolStarted;
2229
+ constructor(data: EventToolStarted) {
2230
+ this.data = data;
2231
+ }
2232
+ }
2233
+
2234
+ export function decodeCShooterEventEventToolStarted(
2235
+ rawInput: unknown
2236
+ ): CShooterEventEventToolStarted | null {
2237
+ const result = decodeEventToolStarted(rawInput);
2238
+ if (result === null) {
2239
+ return null;
2240
+ }
2241
+ return new CShooterEventEventToolStarted(result);
2242
+ }
2243
+
2244
+ export class CShooterEventEventToolCompleted {
2245
+ data: EventToolCompleted;
2246
+ constructor(data: EventToolCompleted) {
2247
+ this.data = data;
2248
+ }
2249
+ }
2250
+
2251
+ export function decodeCShooterEventEventToolCompleted(
2252
+ rawInput: unknown
2253
+ ): CShooterEventEventToolCompleted | null {
2254
+ const result = decodeEventToolCompleted(rawInput);
2255
+ if (result === null) {
2256
+ return null;
2257
+ }
2258
+ return new CShooterEventEventToolCompleted(result);
2259
+ }
2260
+
2261
+ export class CShooterEventEventToolFailed {
2262
+ data: EventToolFailed;
2263
+ constructor(data: EventToolFailed) {
2264
+ this.data = data;
2265
+ }
2266
+ }
2267
+
2268
+ export function decodeCShooterEventEventToolFailed(
2269
+ rawInput: unknown
2270
+ ): CShooterEventEventToolFailed | null {
2271
+ const result = decodeEventToolFailed(rawInput);
2272
+ if (result === null) {
2273
+ return null;
2274
+ }
2275
+ return new CShooterEventEventToolFailed(result);
2276
+ }
2277
+
2278
+ export class CShooterEventEventAgentIdle {
2279
+ data: EventAgentIdle;
2280
+ constructor(data: EventAgentIdle) {
2281
+ this.data = data;
2282
+ }
2283
+ }
2284
+
2285
+ export function decodeCShooterEventEventAgentIdle(
2286
+ rawInput: unknown
2287
+ ): CShooterEventEventAgentIdle | null {
2288
+ const result = decodeEventAgentIdle(rawInput);
2289
+ if (result === null) {
2290
+ return null;
2291
+ }
2292
+ return new CShooterEventEventAgentIdle(result);
2293
+ }
2294
+
2295
+ export class CShooterEventEventAgentQuestion {
2296
+ data: EventAgentQuestion;
2297
+ constructor(data: EventAgentQuestion) {
2298
+ this.data = data;
2299
+ }
2300
+ }
2301
+
2302
+ export function decodeCShooterEventEventAgentQuestion(
2303
+ rawInput: unknown
2304
+ ): CShooterEventEventAgentQuestion | null {
2305
+ const result = decodeEventAgentQuestion(rawInput);
2306
+ if (result === null) {
2307
+ return null;
2308
+ }
2309
+ return new CShooterEventEventAgentQuestion(result);
2310
+ }
2311
+
1970
2312
  /**
1971
2313
  * @type { Ticket }
1972
2314
  * @description Short-lived single-use ticket for authenticating WebSocket upgrade requests
@@ -0,0 +1,28 @@
1
+ // Type barrel — the ONLY import source for types in this project.
2
+ // All source files must use: import type { Foo } from '$lib/types';
3
+
4
+ export type * from './activity';
5
+ export type * from './apn';
6
+ export type * from './cli';
7
+ export type * from './common';
8
+ export type * from './dashboard';
9
+ export * from './generated';
10
+ export type * from './neurolink';
11
+ export type * from './server';
12
+
13
+ export type * from './sessions';
14
+ // Explicit re-exports to resolve conflicts between generated types and the
15
+ // hand-written sessions.ts versions. The generated Sessions module exports
16
+ // wrapper-class variants (CMessagePartTextPart, etc.) with `type: string`
17
+ // instead of string-literal discriminated unions. The sessions.ts versions
18
+ // are the ones callers actually need.
19
+ export type {
20
+ ConversationMessage,
21
+ MessagePart,
22
+ TextPart,
23
+ ThinkingPart,
24
+ ToolResultPart,
25
+ ToolUsePart,
26
+ } from './sessions';
27
+ export type * from './terminal-client';
28
+ export type * from './ws';
@@ -0,0 +1,4 @@
1
+ // NeuroLink AI provider types.
2
+
3
+ /** Supported AI provider identifiers. */
4
+ export type ProviderId = 'anthropic' | 'google-ai' | 'litellm' | 'mistral' | 'openai';
@@ -0,0 +1,93 @@
1
+ // Server module types — extracted from terminal/ module files.
2
+ // All terminal server-side type/interface definitions live here.
3
+ //
4
+ // Names are prefixed to avoid collisions with generated types in the
5
+ // barrel (e.g. generated/Holder.ts exports IncomingMessage, OutgoingMessage,
6
+ // WatchedFile; generated/OpenCode.ts exports WatchState).
7
+
8
+ import type { FSWatcher } from 'chokidar';
9
+ import type WebSocket from 'ws';
10
+
11
+ import type { HolderClient } from '../modules/server/terminal/holder-client';
12
+ import type { ConversationMessage } from './sessions';
13
+
14
+ // ── holder-client types ─────────────────────────────────────────────
15
+
16
+ /** Messages received from the holder process (local ndjson protocol). */
17
+ export type HolderIncomingMessage =
18
+ | { active: boolean; type: 'activity' }
19
+ | { code: null | number; signal: null | string; type: 'exit' }
20
+ | { data: string; type: 'output' }
21
+ | { data: string; type: 'scrollback' }
22
+ | { exitCode: null | number; exited: boolean; pid: number; type: 'info' }
23
+ | { path: string; type: 'cwd' };
24
+
25
+ /** Messages sent to the holder process (local ndjson protocol). */
26
+ export type HolderOutgoingMessage =
27
+ | { cols: number; rows: number; type: 'resize' }
28
+ | { data: string; type: 'input' }
29
+ | { signal?: string; type: 'kill' };
30
+
31
+ // ── pty-manager types ───────────────────────────────────────────────
32
+
33
+ /**
34
+ * Callback invoked when new JSONL entries are parsed from a watched file.
35
+ */
36
+ export type OnNewEntries = (entries: ConversationMessage[]) => void;
37
+
38
+ export interface OpenCodeWatchState {
39
+ callbacks: Set<(messages: ConversationMessage[]) => void>;
40
+ /** Set of message IDs we have already emitted, to avoid duplicates. */
41
+ emittedMessageIds: Set<string>;
42
+ /** Map of part ID to last-seen time_updated, to detect in-place updates. */
43
+ emittedPartUpdatedAt: Map<string, number>;
44
+ intervalHandle: ReturnType<typeof setInterval>;
45
+ /** Highest time_created we have seen for messages (milliseconds). */
46
+ lastMessageTime: number;
47
+ /** Highest time_updated we have seen for parts (milliseconds). */
48
+ lastPartTime: number;
49
+ sessionId: string;
50
+ }
51
+
52
+ // ── session-watcher types ───────────────────────────────────────────
53
+
54
+ export interface PtyManagedTerminal {
55
+ args: string[];
56
+ clients: Set<WebSocket>;
57
+ cols: number;
58
+ command: string;
59
+ createdAt: Date;
60
+ currentCwd: null | string;
61
+ cwd: string;
62
+ exitCode: null | number;
63
+ exitedAt: Date | null;
64
+ holderPid: number;
65
+ id: string;
66
+ isActive: boolean;
67
+ openCodeNoopCb: ((messages: ConversationMessage[]) => void) | null;
68
+ openCodeSessionId: null | string;
69
+ outputBuffers: Map<WebSocket, PtyOutputBuffer>;
70
+ pid: number;
71
+ pollTimer: null | ReturnType<typeof setInterval>;
72
+ pty: HolderClient;
73
+ rows: number;
74
+ scrollback: string;
75
+ sessionFile: null | string;
76
+ socketPath: string;
77
+ status: 'exited' | 'running';
78
+ watcherOffset: number;
79
+ }
80
+
81
+ export interface PtyOutputBuffer {
82
+ data: string[];
83
+ size: number;
84
+ }
85
+
86
+ // ── opencode-watcher types ──────────────────────────────────────────
87
+
88
+ export interface SessionWatchedFile {
89
+ callbacks: Set<OnNewEntries>;
90
+ filePath: string;
91
+ offset: number;
92
+ watcher: FSWatcher;
93
+ }
@@ -0,0 +1,59 @@
1
+ // Session and conversation types for Claude Code and OpenCode JSONL parsing.
2
+ // Local interfaces kept here because the generated MessagePart uses wrapper
3
+ // classes and `type: string` instead of the string-literal discriminated unions
4
+ // required at runtime.
5
+
6
+ import type { MessageRole } from './generated';
7
+
8
+ /** Internal structure from ~/.claude/sessions/<PID>.json */
9
+ export interface ClaudeSessionFile {
10
+ cwd: string;
11
+ entrypoint: string;
12
+ kind: string;
13
+ pid: number;
14
+ sessionId: string;
15
+ startedAt: number;
16
+ }
17
+
18
+ export interface ConversationMessage {
19
+ id: string;
20
+ parts: MessagePart[];
21
+ role: MessageRole;
22
+ timestamp: string;
23
+ }
24
+
25
+ export interface DetectedProcess {
26
+ command: 'claude' | 'opencode';
27
+ cwd: string;
28
+ kind: string;
29
+ pid: number;
30
+ projectPath: string;
31
+ sessionId: string;
32
+ startedAt: number;
33
+ }
34
+
35
+ export type MessagePart = TextPart | ThinkingPart | ToolResultPart | ToolUsePart;
36
+
37
+ export interface TextPart {
38
+ content: string;
39
+ type: 'text';
40
+ }
41
+
42
+ export interface ThinkingPart {
43
+ content: string;
44
+ type: 'thinking';
45
+ }
46
+
47
+ export interface ToolResultPart {
48
+ isError: boolean;
49
+ output: string;
50
+ toolUseId: string;
51
+ type: 'tool_result';
52
+ }
53
+
54
+ export interface ToolUsePart {
55
+ id: string;
56
+ input: Record<string, unknown>;
57
+ toolName: string;
58
+ type: 'tool_use';
59
+ }
@@ -0,0 +1,132 @@
1
+ import type { FitAddon } from '@xterm/addon-fit';
2
+ import type { Terminal } from '@xterm/xterm';
3
+
4
+ import type { CreateTerminalResponse } from './generated';
5
+ import type { ConversationMessage, MessagePart, ToolUsePart } from './sessions';
6
+
7
+ // --- ChatView types ---
8
+
9
+ export interface ChatViewProps {
10
+ connectionState?: 'connected' | 'connecting' | 'disconnected' | 'idle' | 'reconnecting';
11
+ messages: ConversationMessage[];
12
+ newestFirst?: boolean;
13
+ onCancel?: () => void;
14
+ onSendInput?: (text: string) => void;
15
+ sendDisabled?: boolean;
16
+ sessionEnded?: boolean;
17
+ showHeader?: boolean;
18
+ showInput?: boolean;
19
+ }
20
+
21
+ export interface Command {
22
+ action: () => void;
23
+ label: string;
24
+ }
25
+
26
+ export interface CommandPaletteProps {
27
+ commands: Command[];
28
+ onClose: () => void;
29
+ open?: boolean;
30
+ }
31
+
32
+ // --- CommandPalette types ---
33
+
34
+ export interface ConfigPageData {
35
+ activeProvider: string;
36
+ aiProviders: Record<string, boolean>;
37
+ }
38
+
39
+ export interface ConnectionStatusProps {
40
+ onretry?: () => void;
41
+ status: 'connected' | 'disconnected' | 'reconnecting';
42
+ }
43
+
44
+ // --- ConnectionStatus types ---
45
+
46
+ export type GroupedPart = MessagePart | ToolGroup;
47
+
48
+ // --- LaunchSheet types ---
49
+
50
+ export interface LaunchSheetProps {
51
+ apiKey: string;
52
+ onClose: () => void;
53
+ onLaunch: (response: CreateTerminalResponse) => void;
54
+ open: boolean;
55
+ }
56
+
57
+ export interface LayoutData {
58
+ aiProviders: Record<string, boolean>;
59
+ neurolinkProvider: string;
60
+ }
61
+
62
+ // --- QuickKeys types ---
63
+
64
+ export interface Preset {
65
+ args: string[];
66
+ command: string;
67
+ label: string;
68
+ }
69
+
70
+ export interface QuickKey {
71
+ escape: string;
72
+ label: string;
73
+ }
74
+
75
+ // --- ShortcutsHelp types ---
76
+
77
+ export interface QuickKeysProps {
78
+ onKey: (key: string) => void;
79
+ }
80
+
81
+ // --- keyboard-shortcuts types ---
82
+
83
+ export interface ShortcutManagerOptions {
84
+ onHelp: () => void;
85
+ }
86
+
87
+ // --- xterm-wrapper types ---
88
+
89
+ export interface ShortcutsHelpProps {
90
+ onClose: () => void;
91
+ open: boolean;
92
+ }
93
+
94
+ export interface TerminalInstance {
95
+ dispose: () => void;
96
+ fitAddon: FitAddon | null;
97
+ sendInput: (data: string) => void;
98
+ term: Terminal;
99
+ }
100
+
101
+ // --- Route-level types ---
102
+
103
+ export interface TerminalOptions {
104
+ apiKey?: string;
105
+ container: HTMLElement;
106
+ fontSize?: number;
107
+ getTicket: () => Promise<string>;
108
+ onActivity?: (active: boolean) => void;
109
+ onCwd?: (path: string) => void;
110
+ onDisconnect?: () => void;
111
+ onExit?: (code: number) => void;
112
+ onReconnect?: () => void;
113
+ terminalId?: string;
114
+ wsUrl: string;
115
+ }
116
+
117
+ export interface ToolGroup {
118
+ groupId: string;
119
+ summary: string;
120
+ tools: ToolUsePart[];
121
+ type: 'tool_group';
122
+ }
123
+
124
+ /** Shape of inbound WebSocket messages received by the terminal client. */
125
+ export interface WsTerminalInboundMessage {
126
+ active?: boolean;
127
+ bytes?: number;
128
+ code?: number;
129
+ data?: string;
130
+ path?: string;
131
+ type: string;
132
+ }