@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.
- package/README.md +24 -20
- package/bin/shooter.cjs +68 -17
- package/build/client/_app/immutable/assets/2.Dk9NfqnS.css +1 -0
- package/build/client/_app/immutable/assets/2.Dk9NfqnS.css.br +0 -0
- package/build/client/_app/immutable/assets/2.Dk9NfqnS.css.gz +0 -0
- package/build/client/_app/immutable/assets/3.DHxQoulp.css +1 -0
- package/build/client/_app/immutable/assets/3.DHxQoulp.css.br +0 -0
- package/build/client/_app/immutable/assets/3.DHxQoulp.css.gz +0 -0
- package/build/client/_app/immutable/assets/{3.DGDHCVnW.css → 4.D5l1JxgO.css} +1 -1
- package/build/client/_app/immutable/assets/4.D5l1JxgO.css.br +0 -0
- package/build/client/_app/immutable/assets/4.D5l1JxgO.css.gz +0 -0
- package/build/client/_app/immutable/assets/5.C5qz-NeI.css +1 -0
- package/build/client/_app/immutable/assets/5.C5qz-NeI.css.br +0 -0
- package/build/client/_app/immutable/assets/5.C5qz-NeI.css.gz +0 -0
- package/build/client/_app/immutable/chunks/1mEchsPO.js +1 -0
- package/build/client/_app/immutable/chunks/1mEchsPO.js.br +0 -0
- package/build/client/_app/immutable/chunks/1mEchsPO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B7X-vhXI.js +1 -0
- package/build/client/_app/immutable/chunks/B7X-vhXI.js.br +0 -0
- package/build/client/_app/immutable/chunks/B7X-vhXI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BRkqKgVG.js +1 -0
- package/build/client/_app/immutable/chunks/BRkqKgVG.js.br +0 -0
- package/build/client/_app/immutable/chunks/BRkqKgVG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BfJ-f-Tu.js +1 -0
- package/build/client/_app/immutable/chunks/BfJ-f-Tu.js.br +2 -0
- package/build/client/_app/immutable/chunks/BfJ-f-Tu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CGMJxf7r.js +1 -0
- package/build/client/_app/immutable/chunks/CGMJxf7r.js.br +0 -0
- package/build/client/_app/immutable/chunks/CGMJxf7r.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CZHsSL_X.js → CJFjKwJ7.js} +1 -1
- package/build/client/_app/immutable/chunks/CJFjKwJ7.js.br +0 -0
- package/build/client/_app/immutable/chunks/CJFjKwJ7.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CNH2HlKj.js +20 -0
- package/build/client/_app/immutable/chunks/CNH2HlKj.js.br +0 -0
- package/build/client/_app/immutable/chunks/CNH2HlKj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CR6bkGJW.js +6 -0
- package/build/client/_app/immutable/chunks/CR6bkGJW.js.br +0 -0
- package/build/client/_app/immutable/chunks/CR6bkGJW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CVtJ6yRM.js +1 -0
- package/build/client/_app/immutable/chunks/CVtJ6yRM.js.br +0 -0
- package/build/client/_app/immutable/chunks/CVtJ6yRM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CSoRdFvv.js → CaiJSUi3.js} +1 -1
- package/build/client/_app/immutable/chunks/CaiJSUi3.js.br +0 -0
- package/build/client/_app/immutable/chunks/CaiJSUi3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DjsDGxCa.js → CmczWE_d.js} +4 -4
- package/build/client/_app/immutable/chunks/CmczWE_d.js.br +0 -0
- package/build/client/_app/immutable/chunks/CmczWE_d.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CsgHjHGZ.js +1 -0
- package/build/client/_app/immutable/chunks/CsgHjHGZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/CsgHjHGZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{UJOiqIYE.js → CtrCjGZT.js} +1 -1
- package/build/client/_app/immutable/chunks/CtrCjGZT.js.br +0 -0
- package/build/client/_app/immutable/chunks/CtrCjGZT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DDiOVAd8.js +61 -0
- package/build/client/_app/immutable/chunks/DDiOVAd8.js.br +0 -0
- package/build/client/_app/immutable/chunks/DDiOVAd8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DVl0sebP.js +2 -0
- package/build/client/_app/immutable/chunks/DVl0sebP.js.br +0 -0
- package/build/client/_app/immutable/chunks/DVl0sebP.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CiF38mQq.js → Dc_Gg2H6.js} +1 -1
- package/build/client/_app/immutable/chunks/Dc_Gg2H6.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dc_Gg2H6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CRbaG9cv.js → DlnAjkg1.js} +1 -1
- package/build/client/_app/immutable/chunks/DlnAjkg1.js.br +0 -0
- package/build/client/_app/immutable/chunks/{CRbaG9cv.js.gz → DlnAjkg1.js.gz} +0 -0
- package/build/client/_app/immutable/chunks/YKoRJzXZ.js +3 -0
- package/build/client/_app/immutable/chunks/YKoRJzXZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/YKoRJzXZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/gQJcRhou.js +1 -0
- package/build/client/_app/immutable/chunks/gQJcRhou.js.br +0 -0
- package/build/client/_app/immutable/chunks/gQJcRhou.js.gz +0 -0
- package/build/client/_app/immutable/chunks/pRcLbE0d.js +1 -0
- package/build/client/_app/immutable/chunks/pRcLbE0d.js.br +0 -0
- package/build/client/_app/immutable/chunks/pRcLbE0d.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CFPgQOa8.js +2 -0
- package/build/client/_app/immutable/entry/app.CFPgQOa8.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CFPgQOa8.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BnJOVqhI.js +1 -0
- package/build/client/_app/immutable/entry/start.BnJOVqhI.js.br +2 -0
- package/build/client/_app/immutable/entry/start.BnJOVqhI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.DR-BBF5r.js +1 -0
- package/build/client/_app/immutable/nodes/0.DR-BBF5r.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DR-BBF5r.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.CNm6rAwf.js +1 -0
- package/build/client/_app/immutable/nodes/1.CNm6rAwf.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CNm6rAwf.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.B08usYzr.js +13 -0
- package/build/client/_app/immutable/nodes/2.B08usYzr.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.B08usYzr.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.CsY6J5HS.js +9 -0
- package/build/client/_app/immutable/nodes/3.CsY6J5HS.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.CsY6J5HS.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.B_pbOZoD.js +4 -0
- package/build/client/_app/immutable/nodes/4.B_pbOZoD.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.B_pbOZoD.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CdLPNo5-.js +1 -0
- package/build/client/_app/immutable/nodes/5.CdLPNo5-.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CdLPNo5-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.CbQQ3FtZ.js +1 -0
- package/build/client/_app/immutable/nodes/6.CbQQ3FtZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.CbQQ3FtZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.DIkXVP4q.js → 7.CCKgiNNk.js} +3 -3
- package/build/client/_app/immutable/nodes/7.CCKgiNNk.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.CCKgiNNk.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.C7AaheUD.js +2 -0
- package/build/client/_app/immutable/nodes/8.C7AaheUD.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.C7AaheUD.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.DfL9kMC4.js +2 -0
- package/build/client/_app/immutable/nodes/9.DfL9kMC4.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.DfL9kMC4.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/0-DC2VLooL.js +23 -0
- package/build/server/chunks/0-DC2VLooL.js.map +1 -0
- package/build/server/chunks/1-XJaf8Jvf.js +9 -0
- package/build/server/chunks/{1-D0N7vVhH.js.map → 1-XJaf8Jvf.js.map} +1 -1
- package/build/server/chunks/2-D4Cx-1QL.js +21 -0
- package/build/server/chunks/2-D4Cx-1QL.js.map +1 -0
- package/build/server/chunks/3-CVhIEP-u.js +21 -0
- package/build/server/chunks/3-CVhIEP-u.js.map +1 -0
- package/build/server/chunks/4-0UE_6Ep-.js +23 -0
- package/build/server/chunks/4-0UE_6Ep-.js.map +1 -0
- package/build/server/chunks/5-BBIP1PzX.js +24 -0
- package/build/server/chunks/5-BBIP1PzX.js.map +1 -0
- package/build/server/chunks/6-QFSbzRMP.js +9 -0
- package/build/server/chunks/6-QFSbzRMP.js.map +1 -0
- package/build/server/chunks/7-CZ_YGjMV.js +9 -0
- package/build/server/chunks/7-CZ_YGjMV.js.map +1 -0
- package/build/server/chunks/8-Xe2Rugb4.js +9 -0
- package/build/server/chunks/8-Xe2Rugb4.js.map +1 -0
- package/build/server/chunks/9-IwHpC4SO.js +9 -0
- package/build/server/chunks/9-IwHpC4SO.js.map +1 -0
- package/build/server/chunks/{Button-Cs1aE6ka.js → Button-WKgiLWZI.js} +4 -9
- package/build/server/chunks/Button-WKgiLWZI.js.map +1 -0
- package/build/server/chunks/{EmptyState-DDFH1K8g.js → EmptyState-BUBqASsp.js} +3 -3
- package/build/server/chunks/{EmptyState-DDFH1K8g.js.map → EmptyState-BUBqASsp.js.map} +1 -1
- package/build/server/chunks/{Icon-CEUrotA6.js → Icon-BNBAg85a.js} +3 -3
- package/build/server/chunks/Icon-BNBAg85a.js.map +1 -0
- package/build/server/chunks/{Shimmer-DB8W1zt6.js → Shimmer-C4uBVwxz.js} +2 -2
- package/build/server/chunks/{Shimmer-DB8W1zt6.js.map → Shimmer-C4uBVwxz.js.map} +1 -1
- package/build/server/chunks/{_error.svelte-uCOJNxvr.js → _error.svelte-DkIwmECt.js} +5 -5
- package/build/server/chunks/{_error.svelte-uCOJNxvr.js.map → _error.svelte-DkIwmECt.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-CtWmEJwe.js → _layout.svelte-DllETxmJ.js} +13 -7
- package/build/server/chunks/_layout.svelte-DllETxmJ.js.map +1 -0
- package/build/server/chunks/_page.svelte-BZSdLKE_.js +118 -0
- package/build/server/chunks/_page.svelte-BZSdLKE_.js.map +1 -0
- package/build/server/chunks/{_page.svelte-CxWcQ0Am.js → _page.svelte-Cmuco1mC.js} +84 -199
- package/build/server/chunks/_page.svelte-Cmuco1mC.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BgevQjq1.js → _page.svelte-Co5sF7W-.js} +12 -11
- package/build/server/chunks/{_page.svelte-BgevQjq1.js.map → _page.svelte-Co5sF7W-.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DO4oa_LY.js → _page.svelte-CpL3R-VI.js} +8 -8
- package/build/server/chunks/{_page.svelte-DO4oa_LY.js.map → _page.svelte-CpL3R-VI.js.map} +1 -1
- package/build/server/chunks/_page.svelte-DDSzYLUs.js +137 -0
- package/build/server/chunks/_page.svelte-DDSzYLUs.js.map +1 -0
- package/build/server/chunks/_page.svelte-JIkgFUFf.js +26 -0
- package/build/server/chunks/_page.svelte-JIkgFUFf.js.map +1 -0
- package/build/server/chunks/{_page.svelte-CVq6tRb3.js → _page.svelte-Y9-O5a5w.js} +10 -9
- package/build/server/chunks/_page.svelte-Y9-O5a5w.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BcZaKdX9.js → _page.svelte-fcX09N4d.js} +9 -9
- package/build/server/chunks/{_page.svelte-BcZaKdX9.js.map → _page.svelte-fcX09N4d.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DYpJImqd.js → _server.ts-0Xr2fWaq.js} +9 -5
- package/build/server/chunks/_server.ts-0Xr2fWaq.js.map +1 -0
- package/build/server/chunks/{_server.ts-CTpcLUH8.js → _server.ts-2ixC-X3K.js} +20 -5
- package/build/server/chunks/_server.ts-2ixC-X3K.js.map +1 -0
- package/build/server/chunks/{_server.ts-CAxsWKvS.js → _server.ts-40c_epk8.js} +20 -4
- package/build/server/chunks/_server.ts-40c_epk8.js.map +1 -0
- package/build/server/chunks/{_server.ts-WhTJBEJy.js → _server.ts-A9_tRR-K.js} +5 -4
- package/build/server/chunks/{_server.ts-WhTJBEJy.js.map → _server.ts-A9_tRR-K.js.map} +1 -1
- package/build/server/chunks/_server.ts-BRAzC6W1.js +98 -0
- package/build/server/chunks/_server.ts-BRAzC6W1.js.map +1 -0
- package/build/server/chunks/{_server.ts-DB_Kg97c.js → _server.ts-BScvgttw.js} +24 -4
- package/build/server/chunks/_server.ts-BScvgttw.js.map +1 -0
- package/build/server/chunks/{_server.ts-tSpgyl1D.js → _server.ts-Bjbr7glm.js} +4 -3
- package/build/server/chunks/_server.ts-Bjbr7glm.js.map +1 -0
- package/build/server/chunks/{_server.ts-COu0vNpd.js → _server.ts-BrqaMMAa.js} +7 -6
- package/build/server/chunks/_server.ts-BrqaMMAa.js.map +1 -0
- package/build/server/chunks/{_server.ts-vekTmWAx.js → _server.ts-BuYyCrnF.js} +6 -4
- package/build/server/chunks/_server.ts-BuYyCrnF.js.map +1 -0
- package/build/server/chunks/{_server.ts-DYvb9ijZ.js → _server.ts-ByPExYfO.js} +4 -3
- package/build/server/chunks/{_server.ts-DYvb9ijZ.js.map → _server.ts-ByPExYfO.js.map} +1 -1
- package/build/server/chunks/_server.ts-CjpQ10xh.js +123 -0
- package/build/server/chunks/_server.ts-CjpQ10xh.js.map +1 -0
- package/build/server/chunks/_server.ts-CyjDrcZN.js +21 -0
- package/build/server/chunks/_server.ts-CyjDrcZN.js.map +1 -0
- package/build/server/chunks/{_server.ts-DV8zTCF9.js → _server.ts-DOGUMzPx.js} +4 -3
- package/build/server/chunks/{_server.ts-DV8zTCF9.js.map → _server.ts-DOGUMzPx.js.map} +1 -1
- package/build/server/chunks/_server.ts-DZvfyuNj.js +15 -0
- package/build/server/chunks/_server.ts-DZvfyuNj.js.map +1 -0
- package/build/server/chunks/{_server.ts-XzT2UHM1.js → _server.ts-DkPPTUPo.js} +4 -3
- package/build/server/chunks/{_server.ts-XzT2UHM1.js.map → _server.ts-DkPPTUPo.js.map} +1 -1
- package/build/server/chunks/{_server.ts-Deok2y88.js → _server.ts-Ds_SUGC3.js} +184 -90
- package/build/server/chunks/_server.ts-Ds_SUGC3.js.map +1 -0
- package/build/server/chunks/{_server.ts-Ch-6iOHp.js → _server.ts-G8OeADGj.js} +141 -89
- package/build/server/chunks/_server.ts-G8OeADGj.js.map +1 -0
- package/build/server/chunks/{auth-DeCdZ83n.js → auth-DuunT7Cg.js} +2 -2
- package/build/server/chunks/{auth-DeCdZ83n.js.map → auth-DuunT7Cg.js.map} +1 -1
- package/build/server/chunks/{client-BdGHe_hY.js → client-DRtPDkMh.js} +4 -4
- package/build/server/chunks/{client-BdGHe_hY.js.map → client-DRtPDkMh.js.map} +1 -1
- package/build/server/chunks/client2-bqqmu0b7.js +7 -0
- package/build/server/chunks/{client2-CCBGA-2V.js.map → client2-bqqmu0b7.js.map} +1 -1
- package/build/server/chunks/close-BGlLztTb.js +192 -0
- package/build/server/chunks/close-BGlLztTb.js.map +1 -0
- package/build/server/chunks/events-handler-Dm1mNPQP.js +20 -0
- package/build/server/chunks/events-handler-Dm1mNPQP.js.map +1 -0
- package/build/server/chunks/html-FW6Ia4bL.js +8 -0
- package/build/server/chunks/html-FW6Ia4bL.js.map +1 -0
- package/build/server/chunks/{shared-server-sSGG17Df.js → index-CoD1IJuy.js} +2 -11
- package/build/server/chunks/index-CoD1IJuy.js.map +1 -0
- package/build/server/chunks/{index-DwaY1cAm.js → index-DP9bWJrR.js} +2 -2
- package/build/server/chunks/{index-DwaY1cAm.js.map → index-DP9bWJrR.js.map} +1 -1
- package/build/server/chunks/{index-server-CrDaL06Y.js → index-server-BUmV4MIG.js} +2 -2
- package/build/server/chunks/index-server-BUmV4MIG.js.map +1 -0
- package/build/server/chunks/index-server2-BJrT0wnA.js +5 -0
- package/build/server/chunks/index-server2-BJrT0wnA.js.map +1 -0
- package/build/server/chunks/{index2-CgclKpUj.js → index2-D5Y19GKR.js} +2 -2
- package/build/server/chunks/index2-D5Y19GKR.js.map +1 -0
- package/build/server/chunks/{library-apns-BqJbvSKh.js → library-apns-Cf-E-DhM.js} +5 -2
- package/build/server/chunks/library-apns-Cf-E-DhM.js.map +1 -0
- package/build/server/chunks/providers-DtstoHQ0.js +17 -0
- package/build/server/chunks/providers-DtstoHQ0.js.map +1 -0
- package/build/server/chunks/{pty-manager-BQVB7IVj.js → pty-manager-TyMUpDA9.js} +41 -9
- package/build/server/chunks/pty-manager-TyMUpDA9.js.map +1 -0
- package/build/server/chunks/{root-DDSnEAZv.js → root-CATOR_0t.js} +2 -2
- package/build/server/chunks/root-CATOR_0t.js.map +1 -0
- package/build/server/chunks/shared-server-DaWdgxVh.js +11 -0
- package/build/server/chunks/shared-server-DaWdgxVh.js.map +1 -0
- package/build/server/chunks/{state.svelte-hBbXlUak.js → state.svelte-CftllyvC.js} +3 -3
- package/build/server/chunks/state.svelte-CftllyvC.js.map +1 -0
- package/build/server/chunks/{stores-DHNzYNpX.js → stores-BjL57aOK.js} +4 -4
- package/build/server/chunks/{stores-DHNzYNpX.js.map → stores-BjL57aOK.js.map} +1 -1
- package/build/server/index.js +173 -6
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +53 -30
- package/build/server/manifest.js.map +1 -1
- package/package.json +24 -6
- package/scripts/dev.mjs +361 -0
- package/scripts/install.sh +11 -3
- package/scripts/{fix-generated-types.sh → postgen-types.sh} +2 -2
- package/scripts/setup.cjs +219 -24
- package/scripts/vercel-env-commands.sh +3 -3
- package/server.ts +3 -3
- package/src/app.html +163 -0
- package/src/lib/modules/client/activity/ActivityFeed.svelte +279 -0
- package/src/lib/modules/client/activity/index.ts +8 -0
- package/src/lib/modules/client/activity/store.svelte.ts +478 -0
- package/src/lib/modules/client/activity/summarizer.ts +224 -0
- package/src/lib/modules/client/common/Card.svelte +2 -9
- package/src/lib/modules/client/common/EmptyState.svelte +2 -20
- package/src/lib/modules/client/common/Icon.svelte +3 -7
- package/src/lib/modules/client/common/StatusBadge.svelte +2 -4
- package/src/lib/modules/client/common/config-guard.ts +22 -2
- package/src/lib/modules/client/common/index.ts +1 -1
- package/src/lib/modules/client/common/time.ts +27 -9
- package/src/lib/modules/client/dashboard/DashboardCard.svelte +374 -0
- package/src/lib/modules/client/dashboard/DashboardView.svelte +66 -0
- package/src/lib/modules/client/dashboard/index.ts +12 -0
- package/src/lib/modules/client/dashboard/store.svelte.ts +663 -0
- package/src/lib/modules/client/dashboard/summarizer.ts +205 -0
- package/src/lib/modules/client/neurolink/fetch-proxy.ts +70 -0
- package/src/lib/modules/client/neurolink/provider-config.ts +111 -0
- package/src/lib/modules/client/terminal/ChatView.svelte +46 -43
- package/src/lib/modules/client/terminal/CommandPalette.svelte +3 -12
- package/src/lib/modules/client/terminal/ConnectionStatus.svelte +3 -6
- package/src/lib/modules/client/terminal/LaunchSheet.svelte +10 -21
- package/src/lib/modules/client/terminal/QuickKeys.svelte +4 -11
- package/src/lib/modules/client/terminal/ShortcutsHelp.svelte +3 -6
- package/src/lib/modules/client/terminal/keyboard-shortcuts.ts +5 -7
- package/src/lib/modules/client/terminal/xterm-wrapper.ts +27 -47
- package/src/lib/modules/server/apn/library-apns.ts +6 -3
- package/src/lib/modules/server/apn/notification-history.ts +2 -2
- package/src/lib/modules/server/apn/notification-sessions.ts +1 -3
- package/src/lib/modules/server/apn/pending-requests.ts +1 -1
- package/src/lib/modules/server/apn/types.ts +2 -52
- package/src/lib/modules/server/cli/index.ts +1 -30
- package/src/lib/modules/server/cli/runner.ts +7 -15
- package/src/lib/modules/server/fcm/fcm-service.ts +2 -2
- package/src/lib/modules/server/sessions/jsonl-parser.ts +97 -42
- package/src/lib/modules/server/sessions/jsonl-reader.ts +144 -76
- package/src/lib/modules/server/sessions/opencode-reader.ts +1 -1
- package/src/lib/modules/server/sessions/process-detector.ts +72 -31
- package/src/lib/modules/server/sessions/types.ts +2 -42
- package/src/lib/modules/server/terminal/holder-client.ts +11 -35
- package/src/lib/modules/server/terminal/opencode-watcher.ts +16 -24
- package/src/lib/modules/server/terminal/pty-manager.ts +40 -45
- package/src/lib/modules/server/terminal/session-watcher.ts +15 -17
- package/src/lib/modules/server/terminal/terminal-store.ts +1 -1
- package/src/lib/modules/server/ws/events-handler.ts +1 -16
- package/src/lib/modules/server/ws/keepalive.ts +1 -5
- package/src/lib/modules/server/ws/server.ts +1 -1
- package/src/lib/modules/server/ws/session-handler.ts +20 -86
- package/src/lib/modules/server/ws/terminal-handler.ts +28 -51
- package/src/lib/modules/server/ws/ticket-store.ts +1 -1
- package/src/lib/modules/shared/providers.ts +21 -0
- package/src/lib/types/activity.ts +18 -0
- package/src/lib/types/apn.ts +43 -0
- package/src/lib/types/cli.ts +39 -0
- package/src/lib/types/common.ts +39 -0
- package/src/lib/types/dashboard.ts +4 -0
- package/src/lib/types/generated/Client.ts +1656 -0
- package/src/{generated/types → lib/types/generated}/WsProtocol.ts +344 -2
- package/src/lib/types/index.ts +28 -0
- package/src/lib/types/neurolink.ts +4 -0
- package/src/lib/types/server.ts +93 -0
- package/src/lib/types/sessions.ts +59 -0
- package/src/lib/types/terminal-client.ts +132 -0
- package/src/lib/types/ws.ts +161 -0
- package/src/routes/+error.svelte +7 -2
- package/src/routes/+layout.server.ts +9 -0
- package/src/routes/+layout.svelte +36 -7
- package/src/routes/+page.server.ts +7 -0
- package/src/routes/+page.svelte +85 -35
- package/src/routes/activity/+page.server.ts +7 -0
- package/src/routes/activity/+page.svelte +58 -0
- package/src/routes/api/health/+server.ts +32 -19
- package/src/routes/api/neurolink-proxy/+server.ts +136 -0
- package/src/routes/api/notify/+server.ts +190 -87
- package/src/routes/api/sessions/+server.ts +1 -1
- package/src/routes/api/sessions/connect/+server.ts +10 -6
- package/src/routes/api/terminals/+server.ts +20 -1
- package/src/routes/api/terminals/[id]/+server.ts +16 -2
- package/src/routes/api/webhook/+server.ts +5 -33
- package/src/routes/api/ws-ticket/+server.ts +4 -4
- package/src/routes/config/+page.server.ts +9 -0
- package/src/routes/config/+page.svelte +118 -25
- package/src/routes/neurolink/+page.server.ts +10 -0
- package/src/routes/neurolink/+page.svelte +331 -0
- package/src/routes/project/+page.svelte +17 -12
- package/src/routes/session/[id]/+page.svelte +146 -62
- package/src/routes/terminals/+page.svelte +2 -2
- package/src/routes/terminals/[id]/+page.svelte +99 -88
- package/svelte.config.js +1 -3
- package/tsconfig.json +1 -0
- package/build/client/_app/immutable/assets/2.CAShZ7lQ.css +0 -1
- package/build/client/_app/immutable/assets/2.CAShZ7lQ.css.br +0 -1
- package/build/client/_app/immutable/assets/2.CAShZ7lQ.css.gz +0 -0
- package/build/client/_app/immutable/assets/3.DGDHCVnW.css.br +0 -0
- package/build/client/_app/immutable/assets/3.DGDHCVnW.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B5NAKyil.js +0 -20
- package/build/client/_app/immutable/chunks/B5NAKyil.js.br +0 -0
- package/build/client/_app/immutable/chunks/B5NAKyil.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B8XegpSE.js +0 -1
- package/build/client/_app/immutable/chunks/B8XegpSE.js.br +0 -0
- package/build/client/_app/immutable/chunks/B8XegpSE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B8zoBsv3.js +0 -6
- package/build/client/_app/immutable/chunks/B8zoBsv3.js.br +0 -0
- package/build/client/_app/immutable/chunks/B8zoBsv3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BIaXC2t9.js +0 -1
- package/build/client/_app/immutable/chunks/BIaXC2t9.js.br +0 -0
- package/build/client/_app/immutable/chunks/BIaXC2t9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BOYo8yTr.js +0 -1
- package/build/client/_app/immutable/chunks/BOYo8yTr.js.br +0 -0
- package/build/client/_app/immutable/chunks/BOYo8yTr.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bu1aqm5j.js +0 -1
- package/build/client/_app/immutable/chunks/Bu1aqm5j.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bu1aqm5j.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CQjSATpv.js +0 -61
- package/build/client/_app/immutable/chunks/CQjSATpv.js.br +0 -0
- package/build/client/_app/immutable/chunks/CQjSATpv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CRbaG9cv.js.br +0 -0
- package/build/client/_app/immutable/chunks/CSoRdFvv.js.br +0 -0
- package/build/client/_app/immutable/chunks/CSoRdFvv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CZHsSL_X.js.br +0 -0
- package/build/client/_app/immutable/chunks/CZHsSL_X.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CiF38mQq.js.br +0 -0
- package/build/client/_app/immutable/chunks/CiF38mQq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DSU1n5N_.js +0 -1
- package/build/client/_app/immutable/chunks/DSU1n5N_.js.br +0 -0
- package/build/client/_app/immutable/chunks/DSU1n5N_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DVkn4r72.js +0 -1
- package/build/client/_app/immutable/chunks/DVkn4r72.js.br +0 -0
- package/build/client/_app/immutable/chunks/DVkn4r72.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DjsDGxCa.js.br +0 -0
- package/build/client/_app/immutable/chunks/DjsDGxCa.js.gz +0 -0
- package/build/client/_app/immutable/chunks/UJOiqIYE.js.br +0 -0
- package/build/client/_app/immutable/chunks/UJOiqIYE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/r0JawsZc.js +0 -2
- package/build/client/_app/immutable/chunks/r0JawsZc.js.br +0 -0
- package/build/client/_app/immutable/chunks/r0JawsZc.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.CU7KVZja.js +0 -2
- package/build/client/_app/immutable/entry/app.CU7KVZja.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CU7KVZja.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.RAMZY19t.js +0 -1
- package/build/client/_app/immutable/entry/start.RAMZY19t.js.br +0 -2
- package/build/client/_app/immutable/entry/start.RAMZY19t.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.Bi3XYMSu.js +0 -1
- package/build/client/_app/immutable/nodes/0.Bi3XYMSu.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.Bi3XYMSu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.DTmfBFmm.js +0 -1
- package/build/client/_app/immutable/nodes/1.DTmfBFmm.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.DTmfBFmm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.Cm269yzt.js +0 -1
- package/build/client/_app/immutable/nodes/2.Cm269yzt.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.Cm269yzt.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.3yohCM25.js +0 -3
- package/build/client/_app/immutable/nodes/3.3yohCM25.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.3yohCM25.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.C25c5hMg.js +0 -1
- package/build/client/_app/immutable/nodes/4.C25c5hMg.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.C25c5hMg.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.DIkXVP4q.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.DIkXVP4q.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.BPL-HzUX.js +0 -2
- package/build/client/_app/immutable/nodes/6.BPL-HzUX.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.BPL-HzUX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.IgEqce53.js +0 -2
- package/build/client/_app/immutable/nodes/7.IgEqce53.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.IgEqce53.js.gz +0 -0
- package/build/server/chunks/0-DiORznXb.js +0 -9
- package/build/server/chunks/0-DiORznXb.js.map +0 -1
- package/build/server/chunks/1-D0N7vVhH.js +0 -9
- package/build/server/chunks/2-DfSav7a7.js +0 -9
- package/build/server/chunks/2-DfSav7a7.js.map +0 -1
- package/build/server/chunks/3-Ck7ewhOX.js +0 -9
- package/build/server/chunks/3-Ck7ewhOX.js.map +0 -1
- package/build/server/chunks/4-DV5MZUz_.js +0 -9
- package/build/server/chunks/4-DV5MZUz_.js.map +0 -1
- package/build/server/chunks/5-DJhoAjb0.js +0 -9
- package/build/server/chunks/5-DJhoAjb0.js.map +0 -1
- package/build/server/chunks/6-Cp8CzYbr.js +0 -9
- package/build/server/chunks/6-Cp8CzYbr.js.map +0 -1
- package/build/server/chunks/7-BA4xzUj3.js +0 -9
- package/build/server/chunks/7-BA4xzUj3.js.map +0 -1
- package/build/server/chunks/Button-Cs1aE6ka.js.map +0 -1
- package/build/server/chunks/Icon-CEUrotA6.js.map +0 -1
- package/build/server/chunks/_layout.svelte-CtWmEJwe.js.map +0 -1
- package/build/server/chunks/_page.svelte-BdYynOck.js +0 -85
- package/build/server/chunks/_page.svelte-BdYynOck.js.map +0 -1
- package/build/server/chunks/_page.svelte-CVq6tRb3.js.map +0 -1
- package/build/server/chunks/_page.svelte-CxWcQ0Am.js.map +0 -1
- package/build/server/chunks/_server.ts-BStnNIcq.js +0 -34
- package/build/server/chunks/_server.ts-BStnNIcq.js.map +0 -1
- package/build/server/chunks/_server.ts-CAxsWKvS.js.map +0 -1
- package/build/server/chunks/_server.ts-COu0vNpd.js.map +0 -1
- package/build/server/chunks/_server.ts-CTpcLUH8.js.map +0 -1
- package/build/server/chunks/_server.ts-Cf84YIaW.js +0 -25
- package/build/server/chunks/_server.ts-Cf84YIaW.js.map +0 -1
- package/build/server/chunks/_server.ts-Ch-6iOHp.js.map +0 -1
- package/build/server/chunks/_server.ts-CtH0dhUp.js +0 -71
- package/build/server/chunks/_server.ts-CtH0dhUp.js.map +0 -1
- package/build/server/chunks/_server.ts-DB_Kg97c.js.map +0 -1
- package/build/server/chunks/_server.ts-DYpJImqd.js.map +0 -1
- package/build/server/chunks/_server.ts-Deok2y88.js.map +0 -1
- package/build/server/chunks/_server.ts-tSpgyl1D.js.map +0 -1
- package/build/server/chunks/_server.ts-vekTmWAx.js.map +0 -1
- package/build/server/chunks/client2-CCBGA-2V.js +0 -7
- package/build/server/chunks/index-server-CrDaL06Y.js.map +0 -1
- package/build/server/chunks/index2-CgclKpUj.js.map +0 -1
- package/build/server/chunks/library-apns-BqJbvSKh.js.map +0 -1
- package/build/server/chunks/pty-manager-BQVB7IVj.js.map +0 -1
- package/build/server/chunks/root-DDSnEAZv.js.map +0 -1
- package/build/server/chunks/shared-server-sSGG17Df.js.map +0 -1
- package/build/server/chunks/state.svelte-hBbXlUak.js.map +0 -1
- package/src/generated/types/Client.ts +0 -589
- package/src/lib/types/config.ts +0 -1
- /package/build/client/_app/immutable/assets/{4.BFUut--w.css → 6.BFUut--w.css} +0 -0
- /package/build/client/_app/immutable/assets/{4.BFUut--w.css.br → 6.BFUut--w.css.br} +0 -0
- /package/build/client/_app/immutable/assets/{4.BFUut--w.css.gz → 6.BFUut--w.css.gz} +0 -0
- /package/build/client/_app/immutable/assets/{5.BTOx7yt7.css → 7.BTOx7yt7.css} +0 -0
- /package/build/client/_app/immutable/assets/{5.BTOx7yt7.css.br → 7.BTOx7yt7.css.br} +0 -0
- /package/build/client/_app/immutable/assets/{5.BTOx7yt7.css.gz → 7.BTOx7yt7.css.gz} +0 -0
- /package/build/client/_app/immutable/assets/{6.eZGZN-BF.css → 8.eZGZN-BF.css} +0 -0
- /package/build/client/_app/immutable/assets/{6.eZGZN-BF.css.br → 8.eZGZN-BF.css.br} +0 -0
- /package/build/client/_app/immutable/assets/{6.eZGZN-BF.css.gz → 8.eZGZN-BF.css.gz} +0 -0
- /package/build/client/_app/immutable/assets/{7.DwS5ZHBh.css → 9.DwS5ZHBh.css} +0 -0
- /package/build/client/_app/immutable/assets/{7.DwS5ZHBh.css.br → 9.DwS5ZHBh.css.br} +0 -0
- /package/build/client/_app/immutable/assets/{7.DwS5ZHBh.css.gz → 9.DwS5ZHBh.css.gz} +0 -0
- /package/src/{generated/types → lib/types/generated}/API.ts +0 -0
- /package/src/{generated/types → lib/types/generated}/APN.ts +0 -0
- /package/src/{generated/types → lib/types/generated}/CLI.ts +0 -0
- /package/src/{generated/types → lib/types/generated}/Config.ts +0 -0
- /package/src/{generated/types → lib/types/generated}/Holder.ts +0 -0
- /package/src/{generated/types → lib/types/generated}/JWT.ts +0 -0
- /package/src/{generated/types → lib/types/generated}/Notification.ts +0 -0
- /package/src/{generated/types → lib/types/generated}/OpenCode.ts +0 -0
- /package/src/{generated/types → lib/types/generated}/Sessions.ts +0 -0
- /package/src/{generated/types → lib/types/generated}/Terminal.ts +0 -0
- /package/src/{generated/types → lib/types/generated}/index.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte-
|
|
1
|
+
{"version":3,"file":"_page.svelte-Co5sF7W-.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/terminals/_page.svelte.js"],"sourcesContent":["import { h as head, d as ensure_array_like } from \"../../../chunks/index.js\";\nimport { g as goto } from \"../../../chunks/client.js\";\nimport { E as EmptyState, c as clearCache } from \"../../../chunks/EmptyState.js\";\nimport { I as Icon } from \"../../../chunks/Icon.js\";\nimport \"../../../chunks/markdown.js\";\nimport { o as onDestroy } from \"../../../chunks/index-server.js\";\nimport { B as Button } from \"../../../chunks/Button.js\";\n/* empty css */\nimport { S as Shimmer } from \"../../../chunks/Shimmer.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const CACHE_KEY = \"shooter_terminals\";\n let terminals = [];\n let loading = false;\n onDestroy(() => {\n });\n async function fetchTerminals() {\n {\n return;\n }\n }\n async function forceRefresh() {\n loading = true;\n clearCache(CACHE_KEY);\n await fetchTerminals();\n }\n function navigateToConfig() {\n void goto();\n }\n function handleNewTerminal() {\n }\n head(\"1ewpmn2\", $$renderer2, ($$renderer3) => {\n $$renderer3.title(($$renderer4) => {\n $$renderer4.push(`<title>Terminals - Shooter</title>`);\n });\n $$renderer3.push(`<meta name=\"description\" content=\"Active terminal sessions on this machine\" class=\"svelte-1ewpmn2\"/>`);\n });\n $$renderer2.push(`<main class=\"main svelte-1ewpmn2\"><div class=\"page-header svelte-1ewpmn2\"><div class=\"page-header-content svelte-1ewpmn2\"><div class=\"svelte-1ewpmn2\"><h1 class=\"page-title svelte-1ewpmn2\">Terminals</h1> <p class=\"page-description svelte-1ewpmn2\">Active terminal sessions on this machine</p></div> <div class=\"page-actions svelte-1ewpmn2\">`);\n Button($$renderer2, {\n classes: \"btn-secondary\",\n onclick: forceRefresh,\n disabled: loading,\n children: ($$renderer3) => {\n Icon($$renderer3, { name: \"refresh\", size: 14 });\n $$renderer3.push(`<!----> Refresh`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n classes: \"btn-primary\",\n onclick: handleNewTerminal,\n children: ($$renderer3) => {\n $$renderer3.push(`<span class=\"plus-icon svelte-1ewpmn2\">+</span> New Terminal`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div></div></div> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (loading && terminals.length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"loading-container svelte-1ewpmn2\"><!--[-->`);\n const each_array = ensure_array_like(Array(4));\n for (let i = 0, $$length = each_array.length; i < $$length; i++) {\n each_array[i];\n Shimmer($$renderer2, { classes: \"shimmer-card\" });\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[1-->\");\n EmptyState($$renderer2, {\n icon: \"settings\",\n title: \"Configuration Required\",\n description: \"Set up your API credentials to view terminal sessions\",\n children: ($$renderer3) => {\n Button($$renderer3, {\n classes: \"btn-primary\",\n onclick: navigateToConfig,\n text: \"Configure Settings\"\n });\n }\n });\n }\n $$renderer2.push(`<!--]--></main> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { l as head, k as escape_html } from './index-
|
|
2
|
-
import './client2-
|
|
1
|
+
import { l as head, k as escape_html } from './index-DP9bWJrR.js';
|
|
2
|
+
import './client2-bqqmu0b7.js';
|
|
3
3
|
import './markdown-W_mTBct0.js';
|
|
4
|
-
import { S as Shimmer } from './Shimmer-
|
|
5
|
-
import './state.svelte-
|
|
6
|
-
import './root-
|
|
7
|
-
import './client-
|
|
8
|
-
import './index2-
|
|
4
|
+
import { S as Shimmer } from './Shimmer-C4uBVwxz.js';
|
|
5
|
+
import './state.svelte-CftllyvC.js';
|
|
6
|
+
import './root-CATOR_0t.js';
|
|
7
|
+
import './client-DRtPDkMh.js';
|
|
8
|
+
import './index2-D5Y19GKR.js';
|
|
9
9
|
import 'dompurify';
|
|
10
10
|
import 'marked';
|
|
11
11
|
|
|
@@ -41,4 +41,4 @@ function _page($$renderer, $$props) {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
export { _page as default };
|
|
44
|
-
//# sourceMappingURL=_page.svelte-
|
|
44
|
+
//# sourceMappingURL=_page.svelte-CpL3R-VI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte-
|
|
1
|
+
{"version":3,"file":"_page.svelte-CpL3R-VI.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/session/_id_/_page.svelte.js"],"sourcesContent":["import { h as head, e as escape_html } from \"../../../../chunks/index.js\";\nimport \"../../../../chunks/client2.js\";\nimport \"../../../../chunks/markdown.js\";\n/* empty css */\nimport { S as Shimmer } from \"../../../../chunks/Shimmer.js\";\n/* empty css */\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let messages = [];\n head(\"1a2wdfb\", $$renderer2, ($$renderer3) => {\n $$renderer3.title(($$renderer4) => {\n $$renderer4.push(`<title>${escape_html(\"Session\")} - Shooter</title>`);\n });\n $$renderer3.push(`<meta name=\"description\" content=\"Session conversation view\" class=\"svelte-1a2wdfb\"/>`);\n });\n $$renderer2.push(`<main class=\"main session-page-main svelte-1a2wdfb\">`);\n if (messages.length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"loading-container svelte-1a2wdfb\">`);\n Shimmer($$renderer2, { classes: \"shimmer-header\" });\n $$renderer2.push(`<!----> <div class=\"chat-container svelte-1a2wdfb\">`);\n Shimmer($$renderer2, { classes: \"shimmer-bubble shimmer-bubble-user\" });\n $$renderer2.push(`<!----> `);\n Shimmer($$renderer2, { classes: \"shimmer-bubble shimmer-bubble-assistant\" });\n $$renderer2.push(`<!----> `);\n Shimmer($$renderer2, { classes: \"shimmer-bubble shimmer-bubble-user-short\" });\n $$renderer2.push(`<!----> `);\n Shimmer($$renderer2, { classes: \"shimmer-bubble shimmer-bubble-assistant-wide\" });\n $$renderer2.push(`<!----></div></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></main>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":";;;;;;;;;;;AAKA;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI,QAAQ,GAAG,EAAE;AACrB,IAAI,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,WAAW,KAAK;AAClD,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,KAAK;AACzC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAC9E,MAAM,CAAC,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,qFAAqF,CAAC,CAAC;AAC/G,IAAI,CAAC,CAAC;AACN,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,oDAAoD,CAAC,CAAC;AAC5E,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AAC/B,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,8CAA8C,CAAC,CAAC;AACxE,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AACzD,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,mDAAmD,CAAC,CAAC;AAC7E,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;AAC7E,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClC,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;AAClF,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClC,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,0CAA0C,EAAE,CAAC;AACnF,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClC,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,8CAA8C,EAAE,CAAC;AACvF,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAC7C,IAAI,CAAC,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AACvC,EAAE,CAAC,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { l as head, n as ensure_array_like, o as derived } 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
|
+
import './markdown-W_mTBct0.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 { S as SvelteMap, a as SvelteSet } from './index-server2-BJrT0wnA.js';
|
|
10
|
+
import './root-CATOR_0t.js';
|
|
11
|
+
import './index2-D5Y19GKR.js';
|
|
12
|
+
import './state.svelte-CftllyvC.js';
|
|
13
|
+
import './html-FW6Ia4bL.js';
|
|
14
|
+
import 'dompurify';
|
|
15
|
+
import 'marked';
|
|
16
|
+
|
|
17
|
+
const ACTIVE_THRESHOLD_MS = 3e4;
|
|
18
|
+
let sessions = [];
|
|
19
|
+
const summarizers = new SvelteMap();
|
|
20
|
+
const sessionSockets = new SvelteMap();
|
|
21
|
+
const pendingSessionSockets = new SvelteSet();
|
|
22
|
+
function disconnect() {
|
|
23
|
+
for (const [, sock] of sessionSockets) {
|
|
24
|
+
sock.onclose = null;
|
|
25
|
+
sock.close();
|
|
26
|
+
}
|
|
27
|
+
sessionSockets.clear();
|
|
28
|
+
pendingSessionSockets.clear();
|
|
29
|
+
summarizers.clear();
|
|
30
|
+
}
|
|
31
|
+
function getCards() {
|
|
32
|
+
const now = Date.now();
|
|
33
|
+
return sortSessions(sessions).map((s) => {
|
|
34
|
+
const createdMs = Date.parse(s.createdAt);
|
|
35
|
+
const lastEventTs = s.events.length > 0 ? Date.parse(s.events[s.events.length - 1].timestamp) : 0;
|
|
36
|
+
return {
|
|
37
|
+
...s,
|
|
38
|
+
duration: now - createdMs,
|
|
39
|
+
goal: s.goal,
|
|
40
|
+
// Ensure goal is mapped
|
|
41
|
+
isActive: lastEventTs > 0 && now - lastEventTs < ACTIVE_THRESHOLD_MS,
|
|
42
|
+
isSummarizing: s.isSummarizing,
|
|
43
|
+
// Ensure isSummarizing is mapped
|
|
44
|
+
summary: s.summary
|
|
45
|
+
// Ensure summary is mapped
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function sortSessions(list) {
|
|
50
|
+
return [...list].sort((a, b) => {
|
|
51
|
+
const order = { error: 2, exited: 3, idle: 1, running: 0 };
|
|
52
|
+
const rankA = order[a.status];
|
|
53
|
+
const rankB = order[b.status];
|
|
54
|
+
if (rankA !== rankB) {
|
|
55
|
+
return rankA - rankB;
|
|
56
|
+
}
|
|
57
|
+
if (a.status !== "exited" && b.status !== "exited") {
|
|
58
|
+
return b.createdAt.localeCompare(a.createdAt);
|
|
59
|
+
}
|
|
60
|
+
const exitA = a.exitedAt ?? a.createdAt;
|
|
61
|
+
const exitB = b.exitedAt ?? b.createdAt;
|
|
62
|
+
return exitB.localeCompare(exitA);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function _page($$renderer, $$props) {
|
|
66
|
+
$$renderer.component(($$renderer2) => {
|
|
67
|
+
let projects = [];
|
|
68
|
+
let loading = false;
|
|
69
|
+
const cards = derived(getCards);
|
|
70
|
+
onDestroy(() => {
|
|
71
|
+
disconnect();
|
|
72
|
+
});
|
|
73
|
+
async function fetchSessions(append = false, bustCache = false) {
|
|
74
|
+
{
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async function forceRefresh() {
|
|
79
|
+
loading = true;
|
|
80
|
+
clearCache("shooter_projects");
|
|
81
|
+
await fetchSessions(false, true);
|
|
82
|
+
}
|
|
83
|
+
function navigateToConfig() {
|
|
84
|
+
void goto();
|
|
85
|
+
}
|
|
86
|
+
head("1uha8ag", $$renderer2, ($$renderer3) => {
|
|
87
|
+
$$renderer3.title(($$renderer4) => {
|
|
88
|
+
$$renderer4.push(`<title>Dashboard - Shooter</title>`);
|
|
89
|
+
});
|
|
90
|
+
$$renderer3.push(`<meta name="description" content="Active terminals and Claude Code sessions"/>`);
|
|
91
|
+
});
|
|
92
|
+
$$renderer2.push(`<main class="main"><div class="page-header svelte-1uha8ag"><div class="page-header-content svelte-1uha8ag"><div><h1 class="page-title svelte-1uha8ag">Dashboard</h1> <p class="page-description svelte-1uha8ag">Active terminals and Claude Code sessions</p></div> <div class="page-actions svelte-1uha8ag">`);
|
|
93
|
+
Button($$renderer2, {
|
|
94
|
+
classes: "btn-secondary",
|
|
95
|
+
onclick: forceRefresh,
|
|
96
|
+
disabled: loading,
|
|
97
|
+
children: ($$renderer3) => {
|
|
98
|
+
Icon($$renderer3, { name: "refresh", size: 14 });
|
|
99
|
+
$$renderer3.push(`<!----> Refresh`);
|
|
100
|
+
},
|
|
101
|
+
$$slots: { default: true }
|
|
102
|
+
});
|
|
103
|
+
$$renderer2.push(`<!----></div></div></div> `);
|
|
104
|
+
{
|
|
105
|
+
$$renderer2.push("<!--[-1-->");
|
|
106
|
+
}
|
|
107
|
+
$$renderer2.push(`<!--]--> `);
|
|
108
|
+
if (loading && projects.length === 0 && cards().length === 0) {
|
|
109
|
+
$$renderer2.push("<!--[0-->");
|
|
110
|
+
$$renderer2.push(`<div class="loading-container"><!--[-->`);
|
|
111
|
+
const each_array = ensure_array_like(Array(3));
|
|
112
|
+
for (let i = 0, $$length = each_array.length; i < $$length; i++) {
|
|
113
|
+
each_array[i];
|
|
114
|
+
Shimmer($$renderer2, { classes: "shimmer-card" });
|
|
115
|
+
}
|
|
116
|
+
$$renderer2.push(`<!--]--></div>`);
|
|
117
|
+
} else {
|
|
118
|
+
$$renderer2.push("<!--[1-->");
|
|
119
|
+
EmptyState($$renderer2, {
|
|
120
|
+
icon: "settings",
|
|
121
|
+
title: "Configuration Required",
|
|
122
|
+
description: "Set up your API credentials to start tracking sessions",
|
|
123
|
+
children: ($$renderer3) => {
|
|
124
|
+
Button($$renderer3, {
|
|
125
|
+
classes: "btn-primary",
|
|
126
|
+
onclick: navigateToConfig,
|
|
127
|
+
text: "Configure Settings"
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
$$renderer2.push(`<!--]--></main>`);
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
export { _page as default };
|
|
137
|
+
//# sourceMappingURL=_page.svelte-DDSzYLUs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-DDSzYLUs.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_page.svelte.js"],"sourcesContent":["import { h as head, d as ensure_array_like, f as derived } from \"../../chunks/index.js\";\nimport { g as goto } from \"../../chunks/client.js\";\nimport { E as EmptyState, c as clearCache } from \"../../chunks/EmptyState.js\";\nimport { I as Icon } from \"../../chunks/Icon.js\";\nimport \"../../chunks/markdown.js\";\nimport { o as onDestroy } from \"../../chunks/index-server.js\";\nimport { B as Button } from \"../../chunks/Button.js\";\n/* empty css */\nimport { S as Shimmer } from \"../../chunks/Shimmer.js\";\nimport { S as SvelteMap, a as SvelteSet } from \"../../chunks/index-server2.js\";\nconst ACTIVE_THRESHOLD_MS = 3e4;\nlet sessions = [];\nconst summarizers = new SvelteMap();\nconst sessionSockets = new SvelteMap();\nconst pendingSessionSockets = new SvelteSet();\nfunction disconnect() {\n for (const [, sock] of sessionSockets) {\n sock.onclose = null;\n sock.close();\n }\n sessionSockets.clear();\n pendingSessionSockets.clear();\n summarizers.clear();\n}\nfunction getCards() {\n const now = Date.now();\n return sortSessions(sessions).map((s) => {\n const createdMs = Date.parse(s.createdAt);\n const lastEventTs = s.events.length > 0 ? Date.parse(s.events[s.events.length - 1].timestamp) : 0;\n return {\n ...s,\n duration: now - createdMs,\n goal: s.goal,\n // Ensure goal is mapped\n isActive: lastEventTs > 0 && now - lastEventTs < ACTIVE_THRESHOLD_MS,\n isSummarizing: s.isSummarizing,\n // Ensure isSummarizing is mapped\n summary: s.summary\n // Ensure summary is mapped\n };\n });\n}\nfunction sortSessions(list) {\n return [...list].sort((a, b) => {\n const order = { error: 2, exited: 3, idle: 1, running: 0 };\n const rankA = order[a.status];\n const rankB = order[b.status];\n if (rankA !== rankB) {\n return rankA - rankB;\n }\n if (a.status !== \"exited\" && b.status !== \"exited\") {\n return b.createdAt.localeCompare(a.createdAt);\n }\n const exitA = a.exitedAt ?? a.createdAt;\n const exitB = b.exitedAt ?? b.createdAt;\n return exitB.localeCompare(exitA);\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let projects = [];\n let loading = false;\n const cards = derived(getCards);\n onDestroy(() => {\n disconnect();\n });\n async function fetchSessions(append = false, bustCache = false) {\n {\n return;\n }\n }\n async function forceRefresh() {\n loading = true;\n clearCache(\"shooter_projects\");\n await fetchSessions(false, true);\n }\n function navigateToConfig() {\n void goto();\n }\n head(\"1uha8ag\", $$renderer2, ($$renderer3) => {\n $$renderer3.title(($$renderer4) => {\n $$renderer4.push(`<title>Dashboard - Shooter</title>`);\n });\n $$renderer3.push(`<meta name=\"description\" content=\"Active terminals and Claude Code sessions\"/>`);\n });\n $$renderer2.push(`<main class=\"main\"><div class=\"page-header svelte-1uha8ag\"><div class=\"page-header-content svelte-1uha8ag\"><div><h1 class=\"page-title svelte-1uha8ag\">Dashboard</h1> <p class=\"page-description svelte-1uha8ag\">Active terminals and Claude Code sessions</p></div> <div class=\"page-actions svelte-1uha8ag\">`);\n Button($$renderer2, {\n classes: \"btn-secondary\",\n onclick: forceRefresh,\n disabled: loading,\n children: ($$renderer3) => {\n Icon($$renderer3, { name: \"refresh\", size: 14 });\n $$renderer3.push(`<!----> Refresh`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div></div></div> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (loading && projects.length === 0 && cards().length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"loading-container\"><!--[-->`);\n const each_array = ensure_array_like(Array(3));\n for (let i = 0, $$length = each_array.length; i < $$length; i++) {\n each_array[i];\n Shimmer($$renderer2, { classes: \"shimmer-card\" });\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[1-->\");\n EmptyState($$renderer2, {\n icon: \"settings\",\n title: \"Configuration Required\",\n description: \"Set up your API credentials to start tracking sessions\",\n children: ($$renderer3) => {\n Button($$renderer3, {\n classes: \"btn-primary\",\n onclick: navigateToConfig,\n text: \"Configure Settings\"\n });\n }\n });\n }\n $$renderer2.push(`<!--]--></main>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { l as head } from './index-DP9bWJrR.js';
|
|
2
|
+
import './root-CATOR_0t.js';
|
|
3
|
+
import './state.svelte-CftllyvC.js';
|
|
4
|
+
import './markdown-W_mTBct0.js';
|
|
5
|
+
import 'dompurify';
|
|
6
|
+
import 'marked';
|
|
7
|
+
|
|
8
|
+
/* empty css */
|
|
9
|
+
function _page($$renderer, $$props) {
|
|
10
|
+
$$renderer.component(($$renderer2) => {
|
|
11
|
+
head("13r34ge", $$renderer2, ($$renderer3) => {
|
|
12
|
+
$$renderer3.title(($$renderer4) => {
|
|
13
|
+
$$renderer4.push(`<title>Activity Feed - Shooter</title>`);
|
|
14
|
+
});
|
|
15
|
+
$$renderer3.push(`<meta name="description" content="Real-time activity feed"/>`);
|
|
16
|
+
});
|
|
17
|
+
$$renderer2.push(`<main class="main"><h1 class="page-title svelte-13r34ge">Activity Feed</h1> `);
|
|
18
|
+
{
|
|
19
|
+
$$renderer2.push("<!--[-1-->");
|
|
20
|
+
}
|
|
21
|
+
$$renderer2.push(`<!--]--></main>`);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { _page as default };
|
|
26
|
+
//# sourceMappingURL=_page.svelte-JIkgFUFf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-JIkgFUFf.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/activity/_page.svelte.js"],"sourcesContent":["import { h as head } from \"../../../chunks/index.js\";\nimport \"@sveltejs/kit/internal\";\nimport \"../../../chunks/exports.js\";\nimport \"../../../chunks/utils2.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"../../../chunks/root.js\";\nimport \"../../../chunks/state.svelte.js\";\nimport \"../../../chunks/markdown.js\";\n/* empty css */\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n head(\"13r34ge\", $$renderer2, ($$renderer3) => {\n $$renderer3.title(($$renderer4) => {\n $$renderer4.push(`<title>Activity Feed - Shooter</title>`);\n });\n $$renderer3.push(`<meta name=\"description\" content=\"Real-time activity feed\"/>`);\n });\n $$renderer2.push(`<main class=\"main\"><h1 class=\"page-title svelte-13r34ge\">Activity Feed</h1> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></main>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":";;;;;;;AAQA;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,WAAW,KAAK;AAClD,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,KAAK;AACzC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,sCAAsC,CAAC,CAAC;AAClE,MAAM,CAAC,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,4DAA4D,CAAC,CAAC;AACtF,IAAI,CAAC,CAAC;AACN,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,4EAA4E,CAAC,CAAC;AACpG,IAAI;AACJ,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AACvC,EAAE,CAAC,CAAC;AACJ;;;;"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { l as head, k as escape_html,
|
|
2
|
-
import { g as goto } from './client-
|
|
3
|
-
import { o as onDestroy } from './index-server-
|
|
1
|
+
import { l as head, k as escape_html, o as derived, am as bind_props, d as attr_class, f as stringify, al as attr, n as ensure_array_like, ao as clsx, an as spread_props } from './index-DP9bWJrR.js';
|
|
2
|
+
import { g as goto } from './client-DRtPDkMh.js';
|
|
3
|
+
import { o as onDestroy } from './index-server-BUmV4MIG.js';
|
|
4
4
|
import './markdown-W_mTBct0.js';
|
|
5
|
-
import {
|
|
6
|
-
import './
|
|
7
|
-
import './
|
|
8
|
-
import './
|
|
5
|
+
import { S as SvelteMap } from './index-server2-BJrT0wnA.js';
|
|
6
|
+
import { h as html } from './html-FW6Ia4bL.js';
|
|
7
|
+
import { B as Button } from './Button-WKgiLWZI.js';
|
|
8
|
+
import './root-CATOR_0t.js';
|
|
9
|
+
import './index2-D5Y19GKR.js';
|
|
10
|
+
import './state.svelte-CftllyvC.js';
|
|
9
11
|
import 'dompurify';
|
|
10
12
|
import 'marked';
|
|
11
13
|
|
|
@@ -194,7 +196,6 @@ function Img($$renderer, $$props) {
|
|
|
194
196
|
$$renderer2.push(`<img${attr_class(clsx(classes ?? ""), "svelte-1i92k5h")}${attr("src", currentSrc())}${attr("alt", alt)} onerror="this.__e=event"/>`);
|
|
195
197
|
});
|
|
196
198
|
}
|
|
197
|
-
const SvelteMap = globalThis.Map;
|
|
198
199
|
function KeyboardInput($$renderer, $$props) {
|
|
199
200
|
$$renderer.component(($$renderer2) => {
|
|
200
201
|
let { keys, separator = "+", testId, onclick, classes } = $$props;
|
|
@@ -547,4 +548,4 @@ function _page($$renderer, $$props) {
|
|
|
547
548
|
}
|
|
548
549
|
|
|
549
550
|
export { _page as default };
|
|
550
|
-
//# sourceMappingURL=_page.svelte-
|
|
551
|
+
//# sourceMappingURL=_page.svelte-Y9-O5a5w.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-Y9-O5a5w.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/terminals/_id_/_page.svelte.js"],"sourcesContent":["import { f as derived, a as attr_class, s as stringify, i as attr, e as escape_html, j as spread_props, af as clsx, d as ensure_array_like, k as bind_props, h as head } from \"../../../../chunks/index.js\";\nimport { g as goto } from \"../../../../chunks/client.js\";\nimport { o as onDestroy } from \"../../../../chunks/index-server.js\";\nimport \"../../../../chunks/markdown.js\";\n/* empty css */\n/* empty css */\nimport { S as SvelteMap } from \"../../../../chunks/index-server2.js\";\nimport { h as html } from \"../../../../chunks/html.js\";\nimport { B as Button } from \"../../../../chunks/Button.js\";\nfunction ModalAnimation($$renderer, $$props) {\n let {\n enable = true,\n align = \"bottom\",\n transitionType = \"ALL\",\n children\n } = $$props;\n let useFlyAnimation = derived(() => align === \"top\" || align === \"bottom\");\n let useOutTransition = derived(() => transitionType === \"ALL\");\n if (enable) {\n $$renderer.push(\"<!--[0-->\");\n if (useFlyAnimation() && useOutTransition()) {\n $$renderer.push(\"<!--[0-->\");\n $$renderer.push(`<div>`);\n children?.($$renderer);\n $$renderer.push(`<!----></div>`);\n } else if (useFlyAnimation()) {\n $$renderer.push(\"<!--[1-->\");\n $$renderer.push(`<div>`);\n children?.($$renderer);\n $$renderer.push(`<!----></div>`);\n } else if (useOutTransition()) {\n $$renderer.push(\"<!--[2-->\");\n $$renderer.push(`<div>`);\n children?.($$renderer);\n $$renderer.push(`<!----></div>`);\n } else {\n $$renderer.push(\"<!--[-1-->\");\n $$renderer.push(`<div>`);\n children?.($$renderer);\n $$renderer.push(`<!----></div>`);\n }\n $$renderer.push(`<!--]-->`);\n } else {\n $$renderer.push(\"<!--[-1-->\");\n children?.($$renderer);\n $$renderer.push(`<!---->`);\n }\n $$renderer.push(`<!--]-->`);\n}\nfunction OverlayAnimation($$renderer, $$props) {\n let { children } = $$props;\n $$renderer.push(`<div>`);\n children?.($$renderer);\n $$renderer.push(`<!----></div>`);\n}\nfunction Modal($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let backPressed = false;\n let {\n size = \"fit-content\",\n align = \"center\",\n showOverlay = true,\n supportHardwareBackPress = false,\n enableTransition = true,\n transitionType = \"ALL\",\n header = {},\n footer,\n debounceTime = 700,\n leftImageTestId,\n testId,\n content,\n footerSnippet,\n onclose,\n onheaderRightImageClick,\n onheaderLeftImageClick,\n onprimaryButtonClick,\n onsecondaryButtonClick,\n onoverlayClick,\n onkeydown,\n classes\n } = $$props;\n function handlePopstate() {\n backPressed = true;\n onclose?.();\n }\n function handlePrimaryButtonClick(event) {\n onprimaryButtonClick?.(event);\n }\n function handleSecondaryButtonClick(event) {\n onsecondaryButtonClick?.(event);\n }\n onDestroy(() => {\n if (typeof window !== \"undefined\") {\n document.body.style.overflow = \"\";\n if (supportHardwareBackPress) {\n if (!backPressed) {\n history.back();\n }\n window.removeEventListener(\"popstate\", handlePopstate);\n }\n }\n });\n if (typeof content === \"function\") {\n $$renderer2.push(\"<!--[0-->\");\n OverlayAnimation($$renderer2, {\n children: ($$renderer3) => {\n $$renderer3.push(`<div${attr_class(`modal ${stringify(align)} ${stringify(showOverlay ? \"overlay-active\" : \"overlay-inactive\")} ${stringify(classes ?? \"\")}`, \"svelte-14ltpll\")} role=\"button\" tabindex=\"0\"${attr(\"data-pw\", testId)}>`);\n ModalAnimation($$renderer3, {\n enable: enableTransition,\n align,\n transitionType,\n children: ($$renderer4) => {\n $$renderer4.push(`<div${attr_class(`modal-content ${stringify(size)}`, \"svelte-14ltpll\")}>`);\n if (typeof header?.leftImage === \"string\" && header.leftImage.length > 0 || typeof header?.text === \"string\" && header.text.length > 0 || typeof header?.rightImage === \"string\" && header.rightImage.length > 0) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"header svelte-14ltpll\">`);\n if (header.leftImage) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div role=\"button\" tabindex=\"0\"${attr(\"data-pw\", leftImageTestId)}><img class=\"header-left-img svelte-14ltpll\"${attr(\"src\", header.leftImage)} alt=\"\"/></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (header.text) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"header-text svelte-14ltpll\"${attr(\"data-pw\", header.testId)}>${escape_html(header.text)}</div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (header.rightImage) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div role=\"button\" tabindex=\"0\"${attr(\"data-pw\", header.buttonTestId)}><img class=\"header-right-img svelte-14ltpll\"${attr(\"src\", header.rightImage)} alt=\"\"/></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> <div class=\"slot-content svelte-14ltpll\">`);\n content?.($$renderer4);\n $$renderer4.push(`<!----></div> `);\n if (typeof footerSnippet === \"function\") {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"footer-content svelte-14ltpll\">`);\n footerSnippet?.($$renderer4);\n $$renderer4.push(`<!----></div>`);\n } else if (typeof footer?.primaryButton === \"object\" || typeof footer?.secondaryButton === \"object\") {\n $$renderer4.push(\"<!--[1-->\");\n $$renderer4.push(`<div class=\"footer-content svelte-14ltpll\"><div class=\"footer-action-buttons svelte-14ltpll\">`);\n if (footer.secondaryButton) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"footer-secondary-button svelte-14ltpll\">`);\n Button($$renderer4, spread_props([\n footer.secondaryButton,\n { onclick: handleSecondaryButtonClick }\n ]));\n $$renderer4.push(`<!----></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (footer.primaryButton) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"footer-primary-button svelte-14ltpll\">`);\n Button($$renderer4, spread_props([footer.primaryButton, { onclick: handlePrimaryButtonClick }]));\n $$renderer4.push(`<!----></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div>`);\n }\n });\n $$renderer3.push(`<!----></div>`);\n }\n });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction Img($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { src, alt, classes } = $$props;\n let currentSrc = derived(() => src);\n $$renderer2.push(`<img${attr_class(clsx(classes ?? \"\"), \"svelte-1i92k5h\")}${attr(\"src\", currentSrc())}${attr(\"alt\", alt)} onerror=\"this.__e=event\"/>`);\n });\n}\nfunction KeyboardInput($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { keys, separator = \"+\", testId, onclick, classes } = $$props;\n const KEY_SYMBOLS = {\n cmd: \"⌘\",\n command: \"⌘\",\n ctrl: \"⌃\",\n control: \"⌃\",\n alt: \"⌥\",\n option: \"⌥\",\n shift: \"⇧\",\n enter: \"↵\",\n backspace: \"⌫\",\n delete: \"⌦\",\n tab: \"⇥\",\n escape: \"Esc\",\n esc: \"Esc\",\n up: \"↑\",\n down: \"↓\",\n left: \"←\",\n right: \"→\",\n space: \"␣\"\n };\n let keyList = derived(() => Array.isArray(keys) ? keys : keys.split(separator).map((k) => k.trim()));\n let interactive = derived(() => typeof onclick === \"function\");\n function getSymbol(key) {\n return KEY_SYMBOLS[key.toLowerCase()] ?? key;\n }\n $$renderer2.push(`<span${attr_class(`keyboard-input ${stringify(classes ?? \"\")}`, \"svelte-xb2c7p\")}${attr(\"data-pw\", typeof testId === \"string\" ? testId : null)}${attr(\"role\", interactive() ? \"button\" : null)}${attr(\"tabindex\", interactive() ? 0 : null)}><!--[-->`);\n const each_array = ensure_array_like(keyList());\n for (let i = 0, $$length = each_array.length; i < $$length; i++) {\n let key = each_array[i];\n if (i > 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span class=\"separator svelte-xb2c7p\">${escape_html(separator)}</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <kbd class=\"key svelte-xb2c7p\">${escape_html(getSymbol(key))}</kbd>`);\n }\n $$renderer2.push(`<!--]--></span>`);\n });\n}\nconst searchSvg = '<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" xmlns=\"http://www.w3.org/2000/svg\">\\n <circle cx=\"11\" cy=\"11\" r=\"8\"></circle>\\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"></line>\\n</svg>\\n';\nfunction CommandMenu($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n items,\n open = false,\n placeholder = \"Search commands...\",\n emptyText = \"No results found.\",\n testId,\n itemIcon,\n searchIcon,\n onselect,\n onclose,\n classes\n } = $$props;\n let query = \"\";\n let activeIndex = 0;\n let filteredItems = derived(() => {\n if (query.trim() === \"\") {\n return items;\n }\n const lower = query.toLowerCase();\n return items.filter((item) => item.label.toLowerCase().includes(lower));\n });\n let groupedItems = derived(() => {\n const groups = new SvelteMap();\n for (const item of filteredItems()) {\n const group = item.group ?? \"\";\n if (!groups.has(group)) {\n groups.set(group, []);\n }\n const groupList = groups.get(group);\n if (Array.isArray(groupList)) {\n groupList.push(item);\n }\n }\n return groups;\n });\n let flatItems = derived(() => {\n const result = [];\n for (const [, groupItems] of groupedItems()) {\n for (const item of groupItems) {\n result.push(item);\n }\n }\n return result;\n });\n let flatIndexLookup = derived(() => {\n const map = new SvelteMap();\n for (let i = 0; i < flatItems().length; i++) {\n const item = flatItems().at(i);\n if (typeof item === \"object\") {\n map.set(item.value, i);\n }\n }\n return map;\n });\n function close() {\n open = false;\n query = \"\";\n activeIndex = 0;\n onclose?.();\n }\n function handleGlobalKeyDown(event) {\n if ((event.metaKey || event.ctrlKey) && event.key === \"k\") {\n event.preventDefault();\n if (open) {\n close();\n } else {\n open = true;\n }\n }\n }\n onDestroy(() => {\n if (typeof window !== \"undefined\") {\n document.body.style.overflow = \"\";\n window.removeEventListener(\"keydown\", handleGlobalKeyDown);\n }\n });\n if (open) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div${attr_class(`command-menu-overlay ${stringify(classes ?? \"\")}`, \"svelte-19oedql\")} role=\"dialog\" aria-modal=\"true\" aria-label=\"Command menu\" tabindex=\"-1\"${attr(\"data-pw\", typeof testId === \"string\" ? testId : null)}><div class=\"command-menu-dialog svelte-19oedql\"><div class=\"command-menu-input-wrapper svelte-19oedql\">`);\n if (typeof searchIcon === \"function\") {\n $$renderer2.push(\"<!--[0-->\");\n searchIcon($$renderer2);\n $$renderer2.push(`<!---->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<span class=\"command-menu-search-icon svelte-19oedql\">${html(searchSvg)}</span>`);\n }\n $$renderer2.push(`<!--]--> <input${attr(\"value\", query)} type=\"text\" class=\"command-menu-input svelte-19oedql\"${attr(\"placeholder\", placeholder)} autocomplete=\"off\" spellcheck=\"false\"${attr(\"data-pw\", typeof testId === \"string\" ? `${testId}-input` : null)}/></div> <div class=\"command-menu-separator svelte-19oedql\"></div> <div class=\"command-menu-list svelte-19oedql\" role=\"listbox\">`);\n if (flatItems().length === 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"command-menu-empty svelte-19oedql\">${escape_html(emptyText)}</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<!--[-->`);\n const each_array = ensure_array_like(groupedItems());\n for (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {\n let [group, groupItems] = each_array[$$index_2];\n if (group !== \"\") {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"command-menu-group-heading svelte-19oedql\">${escape_html(group)}</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <!--[-->`);\n const each_array_1 = ensure_array_like(groupItems);\n for (let $$index_1 = 0, $$length2 = each_array_1.length; $$index_1 < $$length2; $$index_1++) {\n let item = each_array_1[$$index_1];\n const index = flatIndexLookup().get(item.value) ?? -1;\n $$renderer2.push(`<button type=\"button\"${attr_class(\"command-menu-item svelte-19oedql\", void 0, { \"active\": index === activeIndex, \"disabled\": item.disabled })}${attr(\"data-active\", index === activeIndex)} role=\"option\"${attr(\"aria-selected\", index === activeIndex)}${attr(\"aria-disabled\", item.disabled)} tabindex=\"-1\"${attr(\"data-pw\", typeof testId === \"string\" ? `${testId}-item-${item.value}` : null)}>`);\n if (typeof itemIcon === \"function\") {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span class=\"command-menu-item-icon svelte-19oedql\">`);\n itemIcon($$renderer2, item);\n $$renderer2.push(`<!----></span>`);\n } else if (typeof item.icon === \"string\" && item.icon.length > 0) {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<div class=\"command-menu-item-icon-img-wrapper svelte-19oedql\">`);\n Img($$renderer2, { src: item.icon, alt: \"\" });\n $$renderer2.push(`<!----></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <span class=\"command-menu-item-label svelte-19oedql\">${escape_html(item.label)}</span> `);\n if (typeof item.shortcut === \"string\" && item.shortcut.length > 0) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span class=\"command-menu-item-shortcut svelte-19oedql\"><!--[-->`);\n const each_array_2 = ensure_array_like(item.shortcut.split(\"+\"));\n for (let i = 0, $$length3 = each_array_2.length; i < $$length3; i++) {\n let key = each_array_2[i];\n $$renderer2.push(`<kbd class=\"command-menu-kbd svelte-19oedql\">${escape_html(key.trim())}</kbd>`);\n }\n $$renderer2.push(`<!--]--></span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></button>`);\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--></div></div></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, { open });\n });\n}\nfunction CommandPalette($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { commands, onClose, open = false } = $$props;\n const items = derived(() => commands.map((cmd, i) => ({ label: cmd.label, value: String(i) })));\n function handleSelect(item) {\n const index = parseInt(item.value, 10);\n if (commands[index]) {\n commands[index].action();\n }\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n CommandMenu($$renderer3, {\n items: items(),\n placeholder: \"Type a command...\",\n emptyText: \"No matching commands\",\n onselect: handleSelect,\n onclose: onClose,\n classes: \"command-palette\",\n get open() {\n return open;\n },\n set open($$value) {\n open = $$value;\n $$settled = false;\n }\n });\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 bind_props($$props, { open });\n });\n}\nconst isMac = typeof navigator !== \"undefined\" && /Mac|iPhone|iPad/.test(navigator.userAgent);\nconst modLabel = isMac ? \"⌘\" : \"Ctrl\";\nfunction getShortcutList() {\n return [\n { description: \"Command palette\", keys: `${modLabel}+K` },\n { description: \"Keyboard shortcuts\", keys: `${modLabel}+/` }\n ];\n}\nfunction ShortcutsHelp($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { onClose, open } = $$props;\n const shortcuts = getShortcutList();\n if (open) {\n $$renderer2.push(\"<!--[0-->\");\n {\n let content = function($$renderer3) {\n $$renderer3.push(`<div class=\"shortcuts-list svelte-1u7lstk\"><!--[-->`);\n const each_array = ensure_array_like(shortcuts);\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let shortcut = each_array[$$index];\n $$renderer3.push(`<div class=\"shortcut-row svelte-1u7lstk\"><span class=\"shortcut-desc svelte-1u7lstk\">${escape_html(shortcut.description)}</span> `);\n KeyboardInput($$renderer3, { keys: shortcut.keys, classes: \"shortcut-kbd\" });\n $$renderer3.push(`<!----></div>`);\n }\n $$renderer3.push(`<!--]--></div>`);\n };\n Modal($$renderer2, {\n header: { text: \"Keyboard Shortcuts\" },\n onoverlayClick: onClose,\n classes: \"shortcuts-modal\",\n content\n });\n }\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let terminal = null;\n let showShortcutsHelp = false;\n let showCommandPalette = false;\n const isRunning = derived(() => terminal?.status === \"running\");\n const commandName = derived(() => \"terminal\");\n const paletteCommands = derived(() => {\n const cmds = [\n { action: () => void goto(), label: \"Go to Home\" },\n {\n action: () => void goto(),\n label: \"Go to Terminals\"\n },\n { action: () => void goto(), label: \"Go to Settings\" },\n {\n action: () => {\n showShortcutsHelp = true;\n },\n label: \"Show keyboard shortcuts\"\n }\n ];\n if (isRunning()) {\n cmds.push({ action: () => void killTerminal(), label: \"Kill terminal\" });\n }\n return cmds;\n });\n async function killTerminal() {\n {\n return;\n }\n }\n onDestroy(() => {\n });\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n head(\"1tubujq\", $$renderer3, ($$renderer4) => {\n $$renderer4.title(($$renderer5) => {\n $$renderer5.push(`<title>${escape_html(commandName())} - Terminal - Shooter</title>`);\n });\n $$renderer4.push(`<meta name=\"description\" content=\"Interactive terminal session\" class=\"svelte-1tubujq\"/>`);\n });\n {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"term-page svelte-1tubujq\"><div class=\"term-topbar svelte-1tubujq\"><div class=\"skeleton svelte-1tubujq\" style=\"width: 120px; height: 20px;\"></div></div> <div class=\"term-body-loading svelte-1tubujq\"><div class=\"skeleton svelte-1tubujq\" style=\"width: 100%; height: 100%;\"></div></div></div>`);\n }\n $$renderer3.push(`<!--]--> `);\n ShortcutsHelp($$renderer3, {\n open: showShortcutsHelp,\n onClose: () => {\n showShortcutsHelp = false;\n }\n });\n $$renderer3.push(`<!----> `);\n CommandPalette($$renderer3, {\n commands: paletteCommands(),\n onClose: () => {\n showCommandPalette = false;\n },\n get open() {\n return showCommandPalette;\n },\n set open($$value) {\n showCommandPalette = $$value;\n $$settled = false;\n }\n });\n $$renderer3.push(`<!---->`);\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,12 +1,12 @@
|
|
|
1
|
-
import { l as head, n as ensure_array_like, k as escape_html } from './index-
|
|
2
|
-
import { o as onDestroy } from './index-server-
|
|
3
|
-
import './root-
|
|
4
|
-
import './state.svelte-
|
|
5
|
-
import './client2-
|
|
1
|
+
import { l as head, n as ensure_array_like, k as escape_html } from './index-DP9bWJrR.js';
|
|
2
|
+
import { o as onDestroy } from './index-server-BUmV4MIG.js';
|
|
3
|
+
import './root-CATOR_0t.js';
|
|
4
|
+
import './state.svelte-CftllyvC.js';
|
|
5
|
+
import './client2-bqqmu0b7.js';
|
|
6
6
|
import './markdown-W_mTBct0.js';
|
|
7
|
-
import { S as Shimmer } from './Shimmer-
|
|
8
|
-
import './client-
|
|
9
|
-
import './index2-
|
|
7
|
+
import { S as Shimmer } from './Shimmer-C4uBVwxz.js';
|
|
8
|
+
import './client-DRtPDkMh.js';
|
|
9
|
+
import './index2-D5Y19GKR.js';
|
|
10
10
|
import 'dompurify';
|
|
11
11
|
import 'marked';
|
|
12
12
|
|
|
@@ -42,4 +42,4 @@ function _page($$renderer, $$props) {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
export { _page as default };
|
|
45
|
-
//# sourceMappingURL=_page.svelte-
|
|
45
|
+
//# sourceMappingURL=_page.svelte-fcX09N4d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_page.svelte-
|
|
1
|
+
{"version":3,"file":"_page.svelte-fcX09N4d.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/project/_page.svelte.js"],"sourcesContent":["import { h as head, d as ensure_array_like, e as escape_html } from \"../../../chunks/index.js\";\nimport { o as onDestroy } from \"../../../chunks/index-server.js\";\nimport \"@sveltejs/kit/internal\";\nimport \"../../../chunks/exports.js\";\nimport \"../../../chunks/utils2.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"../../../chunks/root.js\";\nimport \"../../../chunks/state.svelte.js\";\nimport \"../../../chunks/client2.js\";\nimport \"../../../chunks/markdown.js\";\n/* empty css */\nimport { S as Shimmer } from \"../../../chunks/Shimmer.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n onDestroy(() => {\n });\n head(\"urn6fi\", $$renderer2, ($$renderer3) => {\n $$renderer3.title(($$renderer4) => {\n $$renderer4.push(`<title>${escape_html(\"Project\")} - Shooter</title>`);\n });\n $$renderer3.push(`<meta name=\"description\" content=\"Project sessions sorted by latest update\"/>`);\n });\n $$renderer2.push(`<main class=\"main\">`);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"loading-container\">`);\n Shimmer($$renderer2, { classes: \"shimmer-header\" });\n $$renderer2.push(`<!----> <!--[-->`);\n const each_array = ensure_array_like(Array(4));\n for (let i = 0, $$length = each_array.length; i < $$length; i++) {\n each_array[i];\n Shimmer($$renderer2, { classes: \"shimmer-card\" });\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]--></main>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":";;;;;;;;;;;;AAYA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,SAAS,CAAC,MAAM;AACpB,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC,WAAW,KAAK;AACjD,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC,WAAW,KAAK;AACzC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAC9E,MAAM,CAAC,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,6EAA6E,CAAC,CAAC;AACvG,IAAI,CAAC,CAAC;AACN,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;AAC3C,IAAI;AACJ,MAAM,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACpC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACjC,IAAI;AACJ,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,+BAA+B,CAAC,CAAC;AACzD,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AACzD,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAC1C,MAAM,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;AACvE,QAAQ,UAAU,CAAC,CAAC,CAAC;AACrB,QAAQ,OAAO,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;AACzD,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACxC,IAAI;AACJ,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AACvC,EAAE,CAAC,CAAC;AACJ;;;;"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { v as validateAuth } from './auth-
|
|
2
|
-
import { p as ptyManager } from './pty-manager-
|
|
1
|
+
import { v as validateAuth } from './auth-DuunT7Cg.js';
|
|
2
|
+
import { p as ptyManager } from './pty-manager-TyMUpDA9.js';
|
|
3
3
|
import { t as toErrorMessage } from './error-DDXB3duW.js';
|
|
4
|
-
import { j as json } from './
|
|
4
|
+
import { j as json } from './index-CoD1IJuy.js';
|
|
5
5
|
import { realpathSync, statSync } from 'fs';
|
|
6
6
|
import { relative, isAbsolute } from 'path';
|
|
7
|
+
import './shared-server-DaWdgxVh.js';
|
|
7
8
|
import 'crypto';
|
|
8
9
|
import 'child_process';
|
|
9
10
|
import 'url';
|
|
11
|
+
import './events-handler-Dm1mNPQP.js';
|
|
10
12
|
import 'net';
|
|
11
13
|
import 'better-sqlite3';
|
|
12
14
|
import './opencode-db-path-DcfhJtJy.js';
|
|
@@ -48,7 +50,9 @@ const POST = async ({ request }) => {
|
|
|
48
50
|
return json({ error: "Working directory must be under home directory" }, { status: 400 });
|
|
49
51
|
}
|
|
50
52
|
}
|
|
51
|
-
const existing = ptyManager.list().find(
|
|
53
|
+
const existing = ptyManager.list().find(
|
|
54
|
+
(t) => t.status === "running" && (t.sessionFile?.endsWith(`/${sessionId}.jsonl`) || t.openCodeSessionId === sessionId)
|
|
55
|
+
);
|
|
52
56
|
if (existing) {
|
|
53
57
|
console.log(
|
|
54
58
|
`[sessions/connect] Reusing terminal ${existing.id} for ${command} session ${sessionId}`
|
|
@@ -96,4 +100,4 @@ const POST = async ({ request }) => {
|
|
|
96
100
|
};
|
|
97
101
|
|
|
98
102
|
export { POST };
|
|
99
|
-
//# sourceMappingURL=_server.ts-
|
|
103
|
+
//# sourceMappingURL=_server.ts-0Xr2fWaq.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-0Xr2fWaq.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/sessions/connect/_server.ts.js"],"sourcesContent":["import { v as validateAuth } from \"../../../../../chunks/auth.js\";\nimport { p as ptyManager } from \"../../../../../chunks/pty-manager.js\";\nimport { t as toErrorMessage } from \"../../../../../chunks/error.js\";\nimport { json } from \"@sveltejs/kit\";\nimport { realpathSync, statSync } from \"fs\";\nimport { relative, isAbsolute } from \"path\";\nconst POST = async ({ request }) => {\n const authError = validateAuth(request);\n if (authError) {\n return authError;\n }\n let body;\n try {\n body = await request.json();\n } catch {\n return json({ error: \"Invalid JSON in request body\" }, { status: 400 });\n }\n const { command, cwd, noCreate, sessionId } = body;\n if (!sessionId || typeof sessionId !== \"string\") {\n return json({ error: \"sessionId is required (string)\" }, { status: 400 });\n }\n if (!cwd || typeof cwd !== \"string\") {\n return json({ error: \"cwd is required (string)\" }, { status: 400 });\n }\n if (!command || command !== \"claude\" && command !== \"opencode\") {\n return json({ error: 'command must be \"claude\" or \"opencode\"' }, { status: 400 });\n }\n let realCwd;\n try {\n realCwd = realpathSync(cwd);\n if (!statSync(realCwd).isDirectory()) {\n return json({ error: \"Invalid working directory\" }, { status: 400 });\n }\n } catch {\n return json({ error: \"Invalid working directory\" }, { status: 400 });\n }\n const home = process.env.HOME || \"\";\n if (home) {\n const rel = relative(home, realCwd);\n if (rel.startsWith(\"..\") || isAbsolute(rel)) {\n return json({ error: \"Working directory must be under home directory\" }, { status: 400 });\n }\n }\n const existing = ptyManager.list().find(\n (t) => t.status === \"running\" && (t.sessionFile?.endsWith(`/${sessionId}.jsonl`) || t.openCodeSessionId === sessionId)\n );\n if (existing) {\n console.log(\n `[sessions/connect] Reusing terminal ${existing.id} for ${command} session ${sessionId}`\n );\n return json({\n command: existing.command,\n createdAt: existing.createdAt.toISOString(),\n cwd: existing.cwd,\n id: existing.id,\n pid: existing.pid,\n reused: true,\n sessionId,\n sessionWs: `/ws/session/${existing.id}`,\n terminalId: existing.id,\n ws: `/ws/terminal/${existing.id}`\n });\n }\n if (noCreate) {\n return json({ error: \"No existing terminal for this session\" }, { status: 404 });\n }\n const args = command === \"claude\" ? [\"--resume\", sessionId] : [\"--session\", sessionId];\n try {\n const terminal = await ptyManager.create(command, args, realCwd, 120, 40);\n console.log(\n `[sessions/connect] Created terminal ${terminal.id} for ${command} session ${sessionId} (pid=${terminal.pid})`\n );\n return json(\n {\n command: terminal.command,\n createdAt: terminal.createdAt instanceof Date ? terminal.createdAt.toISOString() : terminal.createdAt,\n cwd: terminal.cwd,\n id: terminal.id,\n pid: terminal.pid,\n sessionId,\n sessionWs: `/ws/session/${terminal.id}`,\n terminalId: terminal.id,\n ws: `/ws/terminal/${terminal.id}`\n },\n { status: 201 }\n );\n } catch (error) {\n console.error(\"[sessions/connect] Failed to create terminal:\", toErrorMessage(error));\n return json({ error: \"Failed to create terminal for session\" }, { status: 500 });\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,31 @@
|
|
|
1
|
-
import { v as validateAuth } from './auth-
|
|
2
|
-
import { p as ptyManager } from './pty-manager-
|
|
1
|
+
import { v as validateAuth } from './auth-DuunT7Cg.js';
|
|
2
|
+
import { p as ptyManager } from './pty-manager-TyMUpDA9.js';
|
|
3
3
|
import { t as toErrorMessage } from './error-DDXB3duW.js';
|
|
4
|
-
import { j as json } from './
|
|
4
|
+
import { j as json } from './index-CoD1IJuy.js';
|
|
5
|
+
import './shared-server-DaWdgxVh.js';
|
|
5
6
|
import 'crypto';
|
|
6
7
|
import 'child_process';
|
|
7
8
|
import 'fs';
|
|
8
9
|
import 'path';
|
|
9
10
|
import 'url';
|
|
11
|
+
import './events-handler-Dm1mNPQP.js';
|
|
10
12
|
import 'net';
|
|
11
13
|
import 'better-sqlite3';
|
|
12
14
|
import './opencode-db-path-DcfhJtJy.js';
|
|
13
15
|
|
|
16
|
+
function lastScrollbackLine(scrollback) {
|
|
17
|
+
if (!scrollback) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
const lines = scrollback.trimEnd().split("\n");
|
|
21
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
22
|
+
const line = lines[i].trim();
|
|
23
|
+
if (line) {
|
|
24
|
+
return line.slice(0, 200);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
14
29
|
const GET = ({ params, request }) => {
|
|
15
30
|
const authError = validateAuth(request);
|
|
16
31
|
if (authError) {
|
|
@@ -30,7 +45,7 @@ const GET = ({ params, request }) => {
|
|
|
30
45
|
exitCode: terminal.exitCode,
|
|
31
46
|
exitedAt: terminal.exitedAt?.toISOString() ?? null,
|
|
32
47
|
id: terminal.id,
|
|
33
|
-
lastOutput: terminal.scrollback
|
|
48
|
+
lastOutput: lastScrollbackLine(terminal.scrollback),
|
|
34
49
|
pid: terminal.pid,
|
|
35
50
|
sessionWs: `/ws/session/${terminal.id}`,
|
|
36
51
|
status: terminal.status,
|
|
@@ -74,4 +89,4 @@ const DELETE = ({ params, request }) => {
|
|
|
74
89
|
};
|
|
75
90
|
|
|
76
91
|
export { DELETE, GET };
|
|
77
|
-
//# sourceMappingURL=_server.ts-
|
|
92
|
+
//# sourceMappingURL=_server.ts-2ixC-X3K.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-2ixC-X3K.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/terminals/_id_/_server.ts.js"],"sourcesContent":["import { v as validateAuth } from \"../../../../../chunks/auth.js\";\nimport { p as ptyManager } from \"../../../../../chunks/pty-manager.js\";\nimport { t as toErrorMessage } from \"../../../../../chunks/error.js\";\nimport { json } from \"@sveltejs/kit\";\nfunction lastScrollbackLine(scrollback) {\n if (!scrollback) {\n return null;\n }\n const lines = scrollback.trimEnd().split(\"\\n\");\n for (let i = lines.length - 1; i >= 0; i--) {\n const line = lines[i].trim();\n if (line) {\n return line.slice(0, 200);\n }\n }\n return null;\n}\nconst GET = ({ params, request }) => {\n const authError = validateAuth(request);\n if (authError) {\n return authError;\n }\n try {\n const terminal = ptyManager.get(params.id);\n if (!terminal) {\n return json({ error: \"Terminal not found\" }, { status: 404 });\n }\n return json({\n args: terminal.args,\n clientCount: terminal.clients.size,\n command: terminal.command,\n createdAt: terminal.createdAt.toISOString(),\n cwd: terminal.cwd,\n exitCode: terminal.exitCode,\n exitedAt: terminal.exitedAt?.toISOString() ?? null,\n id: terminal.id,\n lastOutput: lastScrollbackLine(terminal.scrollback),\n pid: terminal.pid,\n sessionWs: `/ws/session/${terminal.id}`,\n status: terminal.status,\n timestamp: (/* @__PURE__ */ new Date()).toISOString(),\n ws: `/ws/terminal/${terminal.id}`\n });\n } catch (error) {\n console.error(\"[terminals] Failed to get terminal:\", toErrorMessage(error));\n return json({ error: \"Failed to get terminal\" }, { status: 500 });\n }\n};\nconst DELETE = ({ params, request }) => {\n const authError = validateAuth(request);\n if (authError) {\n return authError;\n }\n try {\n const terminal = ptyManager.get(params.id);\n if (!terminal) {\n return json({ error: \"Terminal not found\" }, { status: 404 });\n }\n if (terminal.status === \"exited\") {\n ptyManager.remove(params.id);\n console.log(`[terminals] Removed exited terminal ${params.id}`);\n return json({\n removed: true,\n success: true,\n timestamp: (/* @__PURE__ */ new Date()).toISOString()\n });\n }\n ptyManager.kill(params.id);\n console.log(`[terminals] Killed terminal ${params.id} (pid=${terminal.pid})`);\n return json({\n success: true,\n timestamp: (/* @__PURE__ */ new Date()).toISOString()\n });\n } catch (error) {\n console.error(\"[terminals] Failed to kill terminal:\", toErrorMessage(error));\n return json({ error: \"Failed to kill terminal\" }, { status: 500 });\n }\n};\nexport {\n DELETE,\n GET\n};\n"],"names":[],"mappings":"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"}
|