@juspay/shooter 1.24.1 → 1.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/.claude/hooks/notifier.cjs +32 -4
  2. package/bin/lib/service-manager.cjs +148 -0
  3. package/bin/shooter.cjs +151 -62
  4. package/build/client/_app/immutable/assets/{4.D4EDSN4H.css → 4.ChO_hlLs.css} +1 -1
  5. package/build/client/_app/immutable/assets/4.ChO_hlLs.css.br +0 -0
  6. package/build/client/_app/immutable/assets/4.ChO_hlLs.css.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{DjWRwZyr.js → BstJSK2K.js} +1 -1
  8. package/build/client/_app/immutable/chunks/BstJSK2K.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/BstJSK2K.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{CfzjLyJm.js → DINqYbXU.js} +1 -1
  11. package/build/client/_app/immutable/chunks/DINqYbXU.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/DINqYbXU.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/ssAhjWfF.js +3 -0
  14. package/build/client/_app/immutable/chunks/ssAhjWfF.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/ssAhjWfF.js.gz +0 -0
  16. package/build/client/_app/immutable/entry/{app.9F0rhLIY.js → app.BPK9s2o5.js} +2 -2
  17. package/build/client/_app/immutable/entry/app.BPK9s2o5.js.br +0 -0
  18. package/build/client/_app/immutable/entry/app.BPK9s2o5.js.gz +0 -0
  19. package/build/client/_app/immutable/entry/start.DFPHuGE3.js +1 -0
  20. package/build/client/_app/immutable/entry/start.DFPHuGE3.js.br +2 -0
  21. package/build/client/_app/immutable/entry/start.DFPHuGE3.js.gz +0 -0
  22. package/build/client/_app/immutable/nodes/{0.MlMcxYLT.js → 0.BEbzRcwm.js} +1 -1
  23. package/build/client/_app/immutable/nodes/0.BEbzRcwm.js.br +0 -0
  24. package/build/client/_app/immutable/nodes/0.BEbzRcwm.js.gz +0 -0
  25. package/build/client/_app/immutable/nodes/{1._Bn-HQ9b.js → 1.C_V0SOr9.js} +1 -1
  26. package/build/client/_app/immutable/nodes/1.C_V0SOr9.js.br +0 -0
  27. package/build/client/_app/immutable/nodes/1.C_V0SOr9.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/{10.CsX0V4R9.js → 10.6V-37_Rl.js} +1 -1
  29. package/build/client/_app/immutable/nodes/10.6V-37_Rl.js.br +0 -0
  30. package/build/client/_app/immutable/nodes/10.6V-37_Rl.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/{11.lM_b6yUv.js → 11.Lzf-KC6L.js} +1 -1
  32. package/build/client/_app/immutable/nodes/11.Lzf-KC6L.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/11.Lzf-KC6L.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/{2.sAnHf5go.js → 2.Cl2dMP2L.js} +1 -1
  35. package/build/client/_app/immutable/nodes/2.Cl2dMP2L.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/2.Cl2dMP2L.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{3.DEHWta3G.js → 3.CuX2eSna.js} +1 -1
  38. package/build/client/_app/immutable/nodes/3.CuX2eSna.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/3.CuX2eSna.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/4.2DvqoOaB.js +17 -0
  41. package/build/client/_app/immutable/nodes/4.2DvqoOaB.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/4.2DvqoOaB.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{6.-gDjaLSz.js → 6.C7e6zQyP.js} +1 -1
  44. package/build/client/_app/immutable/nodes/6.C7e6zQyP.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/6.C7e6zQyP.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/{7.R-emDnvX.js → 7.1ygvNTnO.js} +1 -1
  47. package/build/client/_app/immutable/nodes/7.1ygvNTnO.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/7.1ygvNTnO.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{8.DXNcFetv.js → 8.CBVmgOk0.js} +1 -1
  50. package/build/client/_app/immutable/nodes/8.CBVmgOk0.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/8.CBVmgOk0.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{9.Brv6N-Ji.js → 9.B-_ZFZhj.js} +1 -1
  53. package/build/client/_app/immutable/nodes/9.B-_ZFZhj.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/9.B-_ZFZhj.js.gz +0 -0
  55. package/build/client/_app/version.json +1 -1
  56. package/build/client/_app/version.json.br +0 -0
  57. package/build/client/_app/version.json.gz +0 -0
  58. package/build/server/chunks/{0-CezVlDLP.js → 0-BHU07xt9.js} +2 -2
  59. package/build/server/chunks/{0-CezVlDLP.js.map → 0-BHU07xt9.js.map} +1 -1
  60. package/build/server/chunks/{1-CAwGzW00.js → 1-OVOd8GUH.js} +2 -2
  61. package/build/server/chunks/{1-CAwGzW00.js.map → 1-OVOd8GUH.js.map} +1 -1
  62. package/build/server/chunks/{10-pqorW2OP.js → 10-CRHtvb_u.js} +2 -2
  63. package/build/server/chunks/{10-pqorW2OP.js.map → 10-CRHtvb_u.js.map} +1 -1
  64. package/build/server/chunks/{11-Byxg_lSY.js → 11-CdSex9j1.js} +2 -2
  65. package/build/server/chunks/{11-Byxg_lSY.js.map → 11-CdSex9j1.js.map} +1 -1
  66. package/build/server/chunks/{2-Bbck5mN2.js → 2-bb78aIZ6.js} +2 -2
  67. package/build/server/chunks/{2-Bbck5mN2.js.map → 2-bb78aIZ6.js.map} +1 -1
  68. package/build/server/chunks/{3-BBFbA1P8.js → 3-CsTC6Lrn.js} +2 -2
  69. package/build/server/chunks/{3-BBFbA1P8.js.map → 3-CsTC6Lrn.js.map} +1 -1
  70. package/build/server/chunks/{4-w2W_T8ax.js → 4-DTTu8_Gr.js} +4 -4
  71. package/build/server/chunks/{4-w2W_T8ax.js.map → 4-DTTu8_Gr.js.map} +1 -1
  72. package/build/server/chunks/{6-BI3p-t3i.js → 6-BUgQGB_4.js} +2 -2
  73. package/build/server/chunks/{6-BI3p-t3i.js.map → 6-BUgQGB_4.js.map} +1 -1
  74. package/build/server/chunks/{7-6XKPVOSu.js → 7-CsQZnkcG.js} +2 -2
  75. package/build/server/chunks/{7-6XKPVOSu.js.map → 7-CsQZnkcG.js.map} +1 -1
  76. package/build/server/chunks/{8-VOztiJG_.js → 8-DcIuPdyW.js} +2 -2
  77. package/build/server/chunks/{8-VOztiJG_.js.map → 8-DcIuPdyW.js.map} +1 -1
  78. package/build/server/chunks/{9-DNUlBLEz.js → 9-D8bkM1uj.js} +2 -2
  79. package/build/server/chunks/{9-DNUlBLEz.js.map → 9-D8bkM1uj.js.map} +1 -1
  80. package/build/server/chunks/{_page.svelte-DDE2nChH.js → _page.svelte-BBbaKwNz.js} +101 -27
  81. package/build/server/chunks/_page.svelte-BBbaKwNz.js.map +1 -0
  82. package/build/server/chunks/{_server.ts-DfscXcFe.js → _server.ts-B7BLxK5u.js} +233 -186
  83. package/build/server/chunks/_server.ts-B7BLxK5u.js.map +1 -0
  84. package/build/server/chunks/{_server.ts-EJVmhLtg.js → _server.ts-BSS8cO80.js} +15 -3
  85. package/build/server/chunks/_server.ts-BSS8cO80.js.map +1 -0
  86. package/build/server/chunks/_server.ts-DNTxPoxO.js +115 -0
  87. package/build/server/chunks/_server.ts-DNTxPoxO.js.map +1 -0
  88. package/build/server/chunks/{_server.ts-D9_hkPQ6.js → _server.ts-DUb7fbuW.js} +17 -3
  89. package/build/server/chunks/_server.ts-DUb7fbuW.js.map +1 -0
  90. package/build/server/chunks/{_server.ts-v7TaT83B.js → _server.ts-FdKi8RwL.js} +7 -3
  91. package/build/server/chunks/_server.ts-FdKi8RwL.js.map +1 -0
  92. package/build/server/chunks/device-format-DTgEz4Yr.js +29 -0
  93. package/build/server/chunks/device-format-DTgEz4Yr.js.map +1 -0
  94. package/build/server/chunks/device-token-store-Ct7aTeR8.js +259 -0
  95. package/build/server/chunks/device-token-store-Ct7aTeR8.js.map +1 -0
  96. package/build/server/chunks/{library-apns-D8RPINlv.js → library-apns-DMlL1BAg.js} +158 -26
  97. package/build/server/chunks/library-apns-DMlL1BAg.js.map +1 -0
  98. package/build/server/index.js +1 -1
  99. package/build/server/index.js.map +1 -1
  100. package/build/server/manifest.js +17 -17
  101. package/build/server/manifest.js.map +1 -1
  102. package/package.json +2 -2
  103. package/server.ts +15 -1
  104. package/src/app.d.ts +4 -0
  105. package/src/lib/modules/server/apn/apns-classify.ts +103 -0
  106. package/src/lib/modules/server/apn/library-apns.ts +151 -35
  107. package/src/lib/modules/server/apn/notify-fanout.ts +40 -0
  108. package/src/lib/modules/server/fcm/fcm-classify.ts +61 -0
  109. package/src/lib/modules/server/fcm/fcm-service.ts +128 -29
  110. package/src/lib/modules/server/push/device-format.ts +42 -0
  111. package/src/lib/modules/server/push/device-token-store.ts +354 -0
  112. package/src/lib/types/apn.ts +4 -0
  113. package/src/lib/types/device.ts +156 -0
  114. package/src/lib/types/index.ts +1 -0
  115. package/src/routes/api/debug/+server.ts +13 -1
  116. package/src/routes/api/device-token/+server.ts +122 -37
  117. package/src/routes/api/health/+server.ts +16 -2
  118. package/src/routes/api/notify/+server.ts +175 -168
  119. package/src/routes/api/qr-config/+server.ts +9 -2
  120. package/src/routes/config/+page.svelte +182 -44
  121. package/build/client/_app/immutable/assets/4.D4EDSN4H.css.br +0 -0
  122. package/build/client/_app/immutable/assets/4.D4EDSN4H.css.gz +0 -0
  123. package/build/client/_app/immutable/chunks/BzW0vlVX.js +0 -3
  124. package/build/client/_app/immutable/chunks/BzW0vlVX.js.br +0 -0
  125. package/build/client/_app/immutable/chunks/BzW0vlVX.js.gz +0 -0
  126. package/build/client/_app/immutable/chunks/CfzjLyJm.js.br +0 -0
  127. package/build/client/_app/immutable/chunks/CfzjLyJm.js.gz +0 -0
  128. package/build/client/_app/immutable/chunks/DjWRwZyr.js.br +0 -0
  129. package/build/client/_app/immutable/chunks/DjWRwZyr.js.gz +0 -0
  130. package/build/client/_app/immutable/entry/app.9F0rhLIY.js.br +0 -0
  131. package/build/client/_app/immutable/entry/app.9F0rhLIY.js.gz +0 -0
  132. package/build/client/_app/immutable/entry/start.DGFWmhrj.js +0 -1
  133. package/build/client/_app/immutable/entry/start.DGFWmhrj.js.br +0 -2
  134. package/build/client/_app/immutable/entry/start.DGFWmhrj.js.gz +0 -0
  135. package/build/client/_app/immutable/nodes/0.MlMcxYLT.js.br +0 -0
  136. package/build/client/_app/immutable/nodes/0.MlMcxYLT.js.gz +0 -0
  137. package/build/client/_app/immutable/nodes/1._Bn-HQ9b.js.br +0 -0
  138. package/build/client/_app/immutable/nodes/1._Bn-HQ9b.js.gz +0 -0
  139. package/build/client/_app/immutable/nodes/10.CsX0V4R9.js.br +0 -0
  140. package/build/client/_app/immutable/nodes/10.CsX0V4R9.js.gz +0 -0
  141. package/build/client/_app/immutable/nodes/11.lM_b6yUv.js.br +0 -0
  142. package/build/client/_app/immutable/nodes/11.lM_b6yUv.js.gz +0 -0
  143. package/build/client/_app/immutable/nodes/2.sAnHf5go.js.br +0 -0
  144. package/build/client/_app/immutable/nodes/2.sAnHf5go.js.gz +0 -0
  145. package/build/client/_app/immutable/nodes/3.DEHWta3G.js.br +0 -0
  146. package/build/client/_app/immutable/nodes/3.DEHWta3G.js.gz +0 -0
  147. package/build/client/_app/immutable/nodes/4.C9fv_m2R.js +0 -16
  148. package/build/client/_app/immutable/nodes/4.C9fv_m2R.js.br +0 -0
  149. package/build/client/_app/immutable/nodes/4.C9fv_m2R.js.gz +0 -0
  150. package/build/client/_app/immutable/nodes/6.-gDjaLSz.js.br +0 -0
  151. package/build/client/_app/immutable/nodes/6.-gDjaLSz.js.gz +0 -0
  152. package/build/client/_app/immutable/nodes/7.R-emDnvX.js.br +0 -0
  153. package/build/client/_app/immutable/nodes/7.R-emDnvX.js.gz +0 -0
  154. package/build/client/_app/immutable/nodes/8.DXNcFetv.js.br +0 -0
  155. package/build/client/_app/immutable/nodes/8.DXNcFetv.js.gz +0 -0
  156. package/build/client/_app/immutable/nodes/9.Brv6N-Ji.js.br +0 -0
  157. package/build/client/_app/immutable/nodes/9.Brv6N-Ji.js.gz +0 -0
  158. package/build/server/chunks/_page.svelte-DDE2nChH.js.map +0 -1
  159. package/build/server/chunks/_server.ts-D2RS8TFd.js +0 -72
  160. package/build/server/chunks/_server.ts-D2RS8TFd.js.map +0 -1
  161. package/build/server/chunks/_server.ts-D9_hkPQ6.js.map +0 -1
  162. package/build/server/chunks/_server.ts-DfscXcFe.js.map +0 -1
  163. package/build/server/chunks/_server.ts-EJVmhLtg.js.map +0 -1
  164. package/build/server/chunks/_server.ts-v7TaT83B.js.map +0 -1
  165. package/build/server/chunks/library-apns-D8RPINlv.js.map +0 -1
@@ -1 +1 @@
1
- import{i as B,a as p,f,s as $}from"../chunks/DoGIJDSZ.js";import{p as G,s as g,q as H,v as Q,w as U,D as V,b as a,g as s,c as o,x as j,d as c,$ as W,r as n,t as X}from"../chunks/kzeZOqU5.js";import{I as Y,B as Z,b as ee,e as se,P as te,d as ae}from"../chunks/aiM7Bbhi.js";import{h as re}from"../chunks/BQJR1fvD.js";import{g as ne}from"../chunks/BzW0vlVX.js";import{E as oe}from"../chunks/DFa6kKPT.js";var ie=f('<p class="muted svelte-1ggfn1w">Loading…</p>'),le=f('<a class="ss-card svelte-1ggfn1w"><div class="ss-card-head svelte-1ggfn1w"><span class="ss-label svelte-1ggfn1w"> </span> <!></div> <div class="ss-meta svelte-1ggfn1w"><span> </span> <span> </span></div></a>'),ce=f('<div class="ss-grid svelte-1ggfn1w"></div>'),ve=f('<main class="main sos-list svelte-1ggfn1w"><div class="page-head svelte-1ggfn1w"><div><h1 class="svelte-1ggfn1w">Session Over Sessions</h1> <p class="subtitle svelte-1ggfn1w">Coordinate multiple running agents as one super-session.</p></div></div> <div class="create-row svelte-1ggfn1w"><!> <!></div> <!> <!></main>');function he(I,P){G(P,!0);let m=g(H([])),h=g(!0),i=g(""),v=g(""),d=g(!1);function x(){try{const e=localStorage.getItem("shooter_config");return e?JSON.parse(e):null}catch{return null}}async function T(){const e=x();if(!e){a(i,"No configuration found. Open Settings first."),a(h,!1);return}try{const t=await fetch("/api/sos",{headers:{Authorization:`Bearer ${e.apiKey}`}});if(!t.ok){a(i,`Failed to load (${t.status})`);return}const r=await t.json();a(m,r.superSessions??[],!0)}catch{a(i,"Network error — is the server running?")}finally{a(h,!1)}}async function z(){const e=x();if(!(!e||!s(v).trim())){a(d,!0);try{const t=await fetch("/api/sos",{body:JSON.stringify({label:s(v).trim()}),headers:{Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"},method:"POST"});if(t.ok){const r=await t.json();ne(`/sos/${r.id}`)}else{const r=await t.json().catch(()=>({}));a(i,r.error??`Failed to create (${t.status})`,!0)}}catch{a(i,"Network error — could not create super-session")}finally{a(d,!1)}}}Q(()=>{T()});var w=ve();re("1ggfn1w",e=>{V(()=>{W.title="Session Over Sessions - Shooter"})});var _=c(o(w),2),k=o(_);Y(k,{dataType:"text",placeholder:"New super-session label…",classes:"sos-create-input",get value(){return s(v)},set value(e){a(v,e,!0)}});var A=c(k,2);{let e=j(()=>s(d)?"Creating…":"Create"),t=j(()=>s(d)||!s(v).trim());Z(A,{get text(){return s(e)},get disabled(){return s(t)},onclick:z,classes:"btn-create"})}n(_);var N=c(_,2);{var E=e=>{ee(e,{get text(){return s(i)},classes:"banner-error"})};B(N,e=>{s(i)&&e(E)})}var F=c(N,2);{var J=e=>{var t=ie();p(e,t)},K=e=>{oe(e,{title:"No super-sessions yet",description:"Create one above, then add running agent sessions as members."})},L=e=>{var t=ce();se(t,21,()=>s(m),r=>r.id,(r,l)=>{var u=le(),b=o(u),y=o(b),R=o(y,!0);n(y);var q=c(y,2);te(q,{get text(){return s(l).status},classes:"pill-status-unknown"}),n(b);var C=c(b,2),S=o(C),D=o(S);n(S);var O=c(S,2),M=o(O);n(O),n(C),n(u),X(()=>{ae(u,"href",`/sos/${s(l).id}`),$(R,s(l).label),$(D,`${s(l).members.length??""} member${s(l).members.length===1?"":"s"}`),$(M,`${s(l).routingRules.length??""} rule${s(l).routingRules.length===1?"":"s"}`)}),p(r,u)}),n(t),p(e,t)};B(F,e=>{s(h)?e(J):s(m).length===0?e(K,1):e(L,-1)})}n(w),p(I,w),U()}export{he as component};
1
+ import{i as B,a as p,f,s as $}from"../chunks/DoGIJDSZ.js";import{p as G,s as g,q as H,v as Q,w as U,D as V,b as a,g as s,c as o,x as j,d as c,$ as W,r as n,t as X}from"../chunks/kzeZOqU5.js";import{I as Y,B as Z,b as ee,e as se,P as te,d as ae}from"../chunks/aiM7Bbhi.js";import{h as re}from"../chunks/BQJR1fvD.js";import{g as ne}from"../chunks/ssAhjWfF.js";import{E as oe}from"../chunks/DFa6kKPT.js";var ie=f('<p class="muted svelte-1ggfn1w">Loading…</p>'),le=f('<a class="ss-card svelte-1ggfn1w"><div class="ss-card-head svelte-1ggfn1w"><span class="ss-label svelte-1ggfn1w"> </span> <!></div> <div class="ss-meta svelte-1ggfn1w"><span> </span> <span> </span></div></a>'),ce=f('<div class="ss-grid svelte-1ggfn1w"></div>'),ve=f('<main class="main sos-list svelte-1ggfn1w"><div class="page-head svelte-1ggfn1w"><div><h1 class="svelte-1ggfn1w">Session Over Sessions</h1> <p class="subtitle svelte-1ggfn1w">Coordinate multiple running agents as one super-session.</p></div></div> <div class="create-row svelte-1ggfn1w"><!> <!></div> <!> <!></main>');function he(I,P){G(P,!0);let m=g(H([])),h=g(!0),i=g(""),v=g(""),d=g(!1);function x(){try{const e=localStorage.getItem("shooter_config");return e?JSON.parse(e):null}catch{return null}}async function T(){const e=x();if(!e){a(i,"No configuration found. Open Settings first."),a(h,!1);return}try{const t=await fetch("/api/sos",{headers:{Authorization:`Bearer ${e.apiKey}`}});if(!t.ok){a(i,`Failed to load (${t.status})`);return}const r=await t.json();a(m,r.superSessions??[],!0)}catch{a(i,"Network error — is the server running?")}finally{a(h,!1)}}async function z(){const e=x();if(!(!e||!s(v).trim())){a(d,!0);try{const t=await fetch("/api/sos",{body:JSON.stringify({label:s(v).trim()}),headers:{Authorization:`Bearer ${e.apiKey}`,"Content-Type":"application/json"},method:"POST"});if(t.ok){const r=await t.json();ne(`/sos/${r.id}`)}else{const r=await t.json().catch(()=>({}));a(i,r.error??`Failed to create (${t.status})`,!0)}}catch{a(i,"Network error — could not create super-session")}finally{a(d,!1)}}}Q(()=>{T()});var w=ve();re("1ggfn1w",e=>{V(()=>{W.title="Session Over Sessions - Shooter"})});var _=c(o(w),2),k=o(_);Y(k,{dataType:"text",placeholder:"New super-session label…",classes:"sos-create-input",get value(){return s(v)},set value(e){a(v,e,!0)}});var A=c(k,2);{let e=j(()=>s(d)?"Creating…":"Create"),t=j(()=>s(d)||!s(v).trim());Z(A,{get text(){return s(e)},get disabled(){return s(t)},onclick:z,classes:"btn-create"})}n(_);var N=c(_,2);{var E=e=>{ee(e,{get text(){return s(i)},classes:"banner-error"})};B(N,e=>{s(i)&&e(E)})}var F=c(N,2);{var J=e=>{var t=ie();p(e,t)},K=e=>{oe(e,{title:"No super-sessions yet",description:"Create one above, then add running agent sessions as members."})},L=e=>{var t=ce();se(t,21,()=>s(m),r=>r.id,(r,l)=>{var u=le(),b=o(u),y=o(b),R=o(y,!0);n(y);var q=c(y,2);te(q,{get text(){return s(l).status},classes:"pill-status-unknown"}),n(b);var C=c(b,2),S=o(C),D=o(S);n(S);var O=c(S,2),M=o(O);n(O),n(C),n(u),X(()=>{ae(u,"href",`/sos/${s(l).id}`),$(R,s(l).label),$(D,`${s(l).members.length??""} member${s(l).members.length===1?"":"s"}`),$(M,`${s(l).routingRules.length??""} rule${s(l).routingRules.length===1?"":"s"}`)}),p(r,u)}),n(t),p(e,t)};B(F,e=>{s(h)?e(J):s(m).length===0?e(K,1):e(L,-1)})}n(w),p(I,w),U()}export{he as component};
@@ -1,2 +1,2 @@
1
- import{i as Y,a as I,c as tt,e as rt,f as S,s as _,g as st}from"../chunks/DoGIJDSZ.js";import{p as at,s as m,q as Te,E as ot,g as e,v as nt,y as lt,w as it,z as ct,$ as dt,d as l,c as i,r as c,b as s,x as v,A as ut,t as q}from"../chunks/kzeZOqU5.js";import{b as vt,P as ie,e as Z,B as F,s as pt,S as D,I as ee,d as mt}from"../chunks/aiM7Bbhi.js";import{h as gt}from"../chunks/BQJR1fvD.js";import{p as ft}from"../chunks/DjWRwZyr.js";var ht=S('<div class="pending svelte-4802gc"><span class="pending-text svelte-4802gc"> <em> </em></span> <div class="pending-actions svelte-4802gc"><!> <!></div></div>'),bt=S('<p class="muted svelte-4802gc">No messages yet. Add members below.</p>'),yt=S('<span class="relay-badge svelte-4802gc">relayed</span>'),_t=S('<div><div class="entry-tag svelte-4802gc"><!> <span class="member-id svelte-4802gc"> </span> <!></div> <pre class="entry-body svelte-4802gc"> </pre></div>'),wt=S('<div class="member-row svelte-4802gc"><!> <span class="member-key svelte-4802gc"> </span> <span class="member-flag svelte-4802gc"> </span> <!></div>'),$t=S('<div class="rule-row svelte-4802gc"><span> </span> <span class="rule-action svelte-4802gc"> </span> <span class="rule-pattern svelte-4802gc"> </span> <!></div>'),kt=S('<div class="head svelte-4802gc"><h1 class="svelte-4802gc"> </h1> <!></div> <!> <section class="panel svelte-4802gc"><h2 class="svelte-4802gc">Merged transcript</h2> <div class="transcript svelte-4802gc"><!> <!></div></section> <section class="panel svelte-4802gc"><h2 class="svelte-4802gc">Forward to a member</h2> <div class="row svelte-4802gc"><!> <!> <!></div></section> <section class="panel svelte-4802gc"><h2 class="svelte-4802gc">Members</h2> <!> <div class="row add-row svelte-4802gc"><!> <!> <!> <!></div></section> <section class="panel svelte-4802gc"><h2 class="svelte-4802gc">Routing rules</h2> <!> <div class="row add-row svelte-4802gc"><!> <!> <!> <!> <!></div></section>',1),xt=S('<main class="main sos-view svelte-4802gc"><a class="back svelte-4802gc" href="/sos">← All super-sessions</a> <!> <!></main>');function At(Ne,Ae){at(Ae,!0);const je=()=>tt(ft,"$page",Oe),[Oe,Pe]=rt(),Re=["claude-code","codex","opencode","gemini","qwen","cursor","copilot","amp"],M=je().params.id??"";let d=m(null),T=m(Te([])),W=m(Te([])),p=m(""),N=null,z=!1,w=m(""),C=m(""),E=m(""),te=m("claude-code"),U=m(""),J=m(""),K=m(""),re=m("relay"),G=m("");const $=v(()=>e(d)?.members??[]),Q=v(()=>e(d)?.routingRules??[]);let B=m(void 0);ot(()=>{e(B)&&e(T).length>0&&(e(B).scrollTop=e(B).scrollHeight)});function Fe(){try{const t=localStorage.getItem("shooter_config");return t?JSON.parse(t):null}catch{return null}}function Ce(){return Fe()?.apiKey??""}function A(t=!1){const o={Authorization:`Bearer ${Ce()}`};return t&&(o["Content-Type"]="application/json"),o}function j(t){const o=e($).find(u=>u.id===t);return o?`${V(o.provider)} · ${o.id.slice(0,6)}`:t.slice(0,6)}function V(t){return t==="claude-code"?"Claude":t.charAt(0).toUpperCase()+t.slice(1)}function Ee(t){return t.message.parts.map(o=>o.type==="text"||o.type==="thinking"?o.content:o.type==="tool_use"?`🔧 ${o.toolName}`:`↳ ${o.output.slice(0,200)}`).join(`
1
+ import{i as Y,a as I,c as tt,e as rt,f as S,s as _,g as st}from"../chunks/DoGIJDSZ.js";import{p as at,s as m,q as Te,E as ot,g as e,v as nt,y as lt,w as it,z as ct,$ as dt,d as l,c as i,r as c,b as s,x as v,A as ut,t as q}from"../chunks/kzeZOqU5.js";import{b as vt,P as ie,e as Z,B as F,s as pt,S as D,I as ee,d as mt}from"../chunks/aiM7Bbhi.js";import{h as gt}from"../chunks/BQJR1fvD.js";import{p as ft}from"../chunks/BstJSK2K.js";var ht=S('<div class="pending svelte-4802gc"><span class="pending-text svelte-4802gc"> <em> </em></span> <div class="pending-actions svelte-4802gc"><!> <!></div></div>'),bt=S('<p class="muted svelte-4802gc">No messages yet. Add members below.</p>'),yt=S('<span class="relay-badge svelte-4802gc">relayed</span>'),_t=S('<div><div class="entry-tag svelte-4802gc"><!> <span class="member-id svelte-4802gc"> </span> <!></div> <pre class="entry-body svelte-4802gc"> </pre></div>'),wt=S('<div class="member-row svelte-4802gc"><!> <span class="member-key svelte-4802gc"> </span> <span class="member-flag svelte-4802gc"> </span> <!></div>'),$t=S('<div class="rule-row svelte-4802gc"><span> </span> <span class="rule-action svelte-4802gc"> </span> <span class="rule-pattern svelte-4802gc"> </span> <!></div>'),kt=S('<div class="head svelte-4802gc"><h1 class="svelte-4802gc"> </h1> <!></div> <!> <section class="panel svelte-4802gc"><h2 class="svelte-4802gc">Merged transcript</h2> <div class="transcript svelte-4802gc"><!> <!></div></section> <section class="panel svelte-4802gc"><h2 class="svelte-4802gc">Forward to a member</h2> <div class="row svelte-4802gc"><!> <!> <!></div></section> <section class="panel svelte-4802gc"><h2 class="svelte-4802gc">Members</h2> <!> <div class="row add-row svelte-4802gc"><!> <!> <!> <!></div></section> <section class="panel svelte-4802gc"><h2 class="svelte-4802gc">Routing rules</h2> <!> <div class="row add-row svelte-4802gc"><!> <!> <!> <!> <!></div></section>',1),xt=S('<main class="main sos-view svelte-4802gc"><a class="back svelte-4802gc" href="/sos">← All super-sessions</a> <!> <!></main>');function At(Ne,Ae){at(Ae,!0);const je=()=>tt(ft,"$page",Oe),[Oe,Pe]=rt(),Re=["claude-code","codex","opencode","gemini","qwen","cursor","copilot","amp"],M=je().params.id??"";let d=m(null),T=m(Te([])),W=m(Te([])),p=m(""),N=null,z=!1,w=m(""),C=m(""),E=m(""),te=m("claude-code"),U=m(""),J=m(""),K=m(""),re=m("relay"),G=m("");const $=v(()=>e(d)?.members??[]),Q=v(()=>e(d)?.routingRules??[]);let B=m(void 0);ot(()=>{e(B)&&e(T).length>0&&(e(B).scrollTop=e(B).scrollHeight)});function Fe(){try{const t=localStorage.getItem("shooter_config");return t?JSON.parse(t):null}catch{return null}}function Ce(){return Fe()?.apiKey??""}function A(t=!1){const o={Authorization:`Bearer ${Ce()}`};return t&&(o["Content-Type"]="application/json"),o}function j(t){const o=e($).find(u=>u.id===t);return o?`${V(o.provider)} · ${o.id.slice(0,6)}`:t.slice(0,6)}function V(t){return t==="claude-code"?"Claude":t.charAt(0).toUpperCase()+t.slice(1)}function Ee(t){return t.message.parts.map(o=>o.type==="text"||o.type==="thinking"?o.content:o.type==="tool_use"?`🔧 ${o.toolName}`:`↳ ${o.output.slice(0,200)}`).join(`
2
2
  `).trim()}async function Je(){try{const t=await fetch(`/api/sos/${M}`,{headers:A()});return t.ok?(s(d,await t.json(),!0),s(T,e(d).transcript??[],!0),!e(w)&&e($)[0]&&s(w,e($)[0].id,!0),!0):(s(p,t.status===404?"Super-session not found":`Failed to load (${t.status})`,!0),!1)}catch{return s(p,"Network error"),!1}}async function Ke(){try{const t=await fetch("/api/ws-ticket",{headers:A(),method:"POST"});if(!t.ok){s(p,"Failed to open the live connection (ticket request failed)");return}const{ticket:o}=await t.json();if(z)return;const u=window.location.protocol==="https:"?"wss:":"ws:";N=new WebSocket(`${u}//${window.location.host}/ws/super-session/${M}?ticket=${o}`),N.onmessage=O=>{let X;try{X=JSON.parse(O.data)}catch{return}We(X)},N.onerror=()=>{s(p,"Live connection error")}}catch{s(p,"Failed to open the live connection (network error)")}}function We(t){switch(t.type){case"sos-error":s(p,t.message,!0);break;case"sos-history":s(T,t.entries,!0);break;case"sos-member-added":e(d)&&s(d,{...e(d),members:[...e(d).members,t.member]},!0);break;case"sos-member-removed":e(d)&&s(d,{...e(d),members:e(d).members.filter(o=>o.id!==t.memberId)},!0);break;case"sos-message":s(T,[...e(T),t.entry],!0);break;case"sos-relay-pending":s(W,[...e(W),{expiresAt:t.expiresAt,fromMemberId:t.fromMemberId,preview:t.preview,relayId:t.relayId,toMemberId:t.toMemberId}],!0);break;case"sos-relay-resolved":s(W,e(W).filter(o=>o.relayId!==t.relayId),!0);break}}function ce(t){N?.readyState===WebSocket.OPEN&&N.send(JSON.stringify(t))}async function Be(){if(!(!e(w)||!e(C).trim()))try{const t=await fetch(`/api/sos/${M}/inject`,{body:JSON.stringify({text:e(C),toMemberId:e(w)}),headers:A(!0),method:"POST"});if(!t.ok){const o=await t.json().catch(()=>({}));s(p,o.error??"Failed to forward message",!0);return}s(C,"")}catch{s(p,"Network error — could not forward message")}}async function He(){if(e(E).trim())try{const t=await fetch(`/api/sos/${M}/members`,{body:JSON.stringify({provider:e(te),sessionKey:e(E).trim(),terminalId:e(U).trim()||void 0}),headers:A(!0),method:"POST"});if(t.ok)s(E,""),s(U,"");else{const o=await t.json().catch(()=>({}));s(p,o.error??"Failed to add member",!0)}}catch{s(p,"Network error — could not add member")}}async function Le(t){try{const o=await fetch(`/api/sos/${M}/members/${t}`,{headers:A(),method:"DELETE"});if(!o.ok){const u=await o.json().catch(()=>({}));s(p,u.error??"Failed to remove member",!0)}}catch{s(p,"Network error — could not remove member")}}async function qe(){if(!e(J)||!e(K))return;const t=[...e(Q),{action:e(re),fromMemberId:e(J),id:"",matchPattern:e(G),priority:e(Q).length+1,toMemberId:e(K)}];try{const o=await fetch(`/api/sos/${M}/rules`,{body:JSON.stringify({routingRules:t}),headers:A(!0),method:"PATCH"});if(o.ok&&e(d)){const u=await o.json();s(d,{...e(d),routingRules:u.routingRules},!0),s(G,"")}else{const u=await o.json().catch(()=>({}));s(p,u.error??"Failed to add rule",!0)}}catch{s(p,"Network error — could not add rule")}}async function De(t){const o=e(Q).filter(u=>u.id!==t);try{const u=await fetch(`/api/sos/${M}/rules`,{body:JSON.stringify({routingRules:o}),headers:A(!0),method:"PATCH"});if(u.ok&&e(d))s(d,{...e(d),routingRules:o},!0);else if(!u.ok){const O=await u.json().catch(()=>({}));s(p,O.error??"Failed to delete rule",!0)}}catch{s(p,"Network error — could not delete rule")}}nt(()=>(Je().then(t=>{t&&!z&&Ke()}),()=>{z=!0,N?.close()})),lt(()=>{z=!0,N?.close()});var se=xt();gt("4802gc",t=>{ct(()=>{dt.title=`${e(d)?.label??"Super-session"??""} - Shooter`})});var de=l(i(se),2);{var ze=t=>{vt(t,{get text(){return e(p)},classes:"banner-error"})};Y(de,t=>{e(p)&&t(ze)})}var Ue=l(de,2);{var Ge=t=>{var o=kt(),u=ut(o),O=i(u),X=i(O,!0);c(O);var Qe=l(O,2);{let r=v(()=>`${e($).length} members`);ie(Qe,{get text(){return e(r)},classes:"pill-status-unknown"})}c(u);var ue=l(u,2);Z(ue,17,()=>e(W),r=>r.relayId,(r,a)=>{var n=ht(),g=i(n),f=i(g),h=l(f),b=i(h,!0);c(h),c(g);var y=l(g,2),k=i(y);F(k,{text:"Approve",classes:"btn-approve",onclick:()=>{ce({relayId:e(a).relayId,type:"relay-approve"})}});var P=l(k,2);F(P,{text:"Deny",classes:"btn-deny",onclick:()=>{ce({relayId:e(a).relayId,type:"relay-deny"})}}),c(y),c(n),q((x,H)=>{_(f,`Relay ${x??""} → ${H??""}: `),_(b,e(a).preview)},[()=>j(e(a).fromMemberId),()=>j(e(a).toMemberId)]),I(r,n)});var ae=l(ue,2),oe=l(i(ae),2),ve=i(oe);{var Ve=r=>{var a=bt();I(r,a)};Y(ve,r=>{e(T).length===0&&r(Ve)})}var Xe=l(ve,2);Z(Xe,19,()=>e(T),(r,a)=>`${r.message.id}-${a}`,(r,a)=>{var n=_t();let g;var f=i(n),h=i(f);{let R=v(()=>V(e(a).provider)),L=v(()=>`pill-source-${e(a).provider}`);ie(h,{get text(){return e(R)},get classes(){return e(L)}})}var b=l(h,2),y=i(b,!0);c(b);var k=l(b,2);{var P=R=>{var L=yt();I(R,L)};Y(k,R=>{e(a).relayed&&R(P)})}c(f);var x=l(f,2),H=i(x,!0);c(x),c(n),q((R,L)=>{g=pt(n,1,"entry svelte-4802gc",null,g,{relayed:e(a).relayed}),_(y,R),_(H,L)},[()=>e(a).memberId.slice(0,6),()=>Ee(e(a))]),I(r,n)}),c(oe),st(oe,r=>s(B,r),()=>e(B)),c(ae);var ne=l(ae,2),pe=l(i(ne),2),me=i(pe);{let r=v(()=>e($).map(n=>({id:n.id,label:j(n.id)}))),a=v(()=>e(w)?[e(w)]:[]);D(me,{get items(){return e(r)},get value(){return e(a)},placeholder:"Member",onchange:n=>{s(w,n[0]??"",!0)},classes:"sos-select"})}var ge=l(me,2);ee(ge,{dataType:"text",placeholder:"Message to inject…",classes:"sos-input",get value(){return e(C)},set value(r){s(C,r,!0)}});var Ye=l(ge,2);{let r=v(()=>!e(w)||!e(C).trim());F(Ye,{text:"Send",get disabled(){return e(r)},onclick:Be,classes:"btn-send"})}c(pe),c(ne);var le=l(ne,2),fe=l(i(le),2);Z(fe,17,()=>e($),r=>r.id,(r,a)=>{var n=wt(),g=i(n);{let P=v(()=>V(e(a).provider)),x=v(()=>`pill-source-${e(a).provider}`);ie(g,{get text(){return e(P)},get classes(){return e(x)}})}var f=l(g,2),h=i(f,!0);c(f);var b=l(f,2),y=i(b,!0);c(b);var k=l(b,2);F(k,{text:"Remove",classes:"btn-remove",onclick:()=>{Le(e(a).id)}}),c(n),q(()=>{mt(f,"title",e(a).sessionKey),_(h,e(a).sessionKey),_(y,e(a).terminalId?"⌁ terminal":"observed")}),I(r,n)});var he=l(fe,2),be=i(he);ee(be,{dataType:"text",placeholder:"sessionKey (file path or session id)",classes:"sos-input",get value(){return e(E)},set value(r){s(E,r,!0)}});var ye=l(be,2);{let r=v(()=>Re.map(n=>({id:n,label:V(n)}))),a=v(()=>[e(te)]);D(ye,{get items(){return e(r)},get value(){return e(a)},onchange:n=>{s(te,n[0]??"claude-code",!0)},classes:"sos-select"})}var _e=l(ye,2);ee(_e,{dataType:"text",placeholder:"terminalId (optional)",classes:"sos-input",get value(){return e(U)},set value(r){s(U,r,!0)}});var Ze=l(_e,2);{let r=v(()=>!e(E).trim());F(Ze,{text:"Add",get disabled(){return e(r)},onclick:He,classes:"btn-send"})}c(he),c(le);var we=l(le,2),$e=l(i(we),2);Z($e,17,()=>e(Q),r=>r.id,(r,a)=>{var n=$t(),g=i(n),f=i(g);c(g);var h=l(g,2),b=i(h,!0);c(h);var y=l(h,2),k=i(y,!0);c(y);var P=l(y,2);F(P,{text:"✕",classes:"btn-remove",onclick:()=>{De(e(a).id)}}),c(n),q((x,H)=>{_(f,`${x??""} → ${H??""}`),_(b,e(a).action),_(k,e(a).matchPattern||"(any)")},[()=>j(e(a).fromMemberId),()=>j(e(a).toMemberId)]),I(r,n)});var ke=l($e,2),xe=i(ke);{let r=v(()=>e($).map(n=>({id:n.id,label:j(n.id)}))),a=v(()=>e(J)?[e(J)]:[]);D(xe,{get items(){return e(r)},get value(){return e(a)},placeholder:"From",onchange:n=>{s(J,n[0]??"",!0)},classes:"sos-select"})}var Ie=l(xe,2);{let r=v(()=>e($).map(n=>({id:n.id,label:j(n.id)}))),a=v(()=>e(K)?[e(K)]:[]);D(Ie,{get items(){return e(r)},get value(){return e(a)},placeholder:"To",onchange:n=>{s(K,n[0]??"",!0)},classes:"sos-select"})}var Se=l(Ie,2);{let r=v(()=>[e(re)]);D(Se,{items:[{id:"relay",label:"relay"},{id:"block",label:"block"},{id:"escalate",label:"escalate"}],get value(){return e(r)},onchange:a=>{s(re,a[0]??"relay",!0)},classes:"sos-select"})}var Me=l(Se,2);ee(Me,{dataType:"text",placeholder:"match (substring, empty=any)",classes:"sos-input",get value(){return e(G)},set value(r){s(G,r,!0)}});var et=l(Me,2);{let r=v(()=>!e(J)||!e(K));F(et,{text:"Add rule",get disabled(){return e(r)},onclick:qe,classes:"btn-send"})}c(ke),c(we),q(()=>_(X,e(d).label)),I(t,o)};Y(Ue,t=>{e(d)&&t(Ge)})}c(se),I(Ne,se),it(),Pe()}export{At as component};
@@ -1 +1 @@
1
- {"version":"1781949428296"}
1
+ {"version":"1782544936668"}
Binary file
Binary file
@@ -17,9 +17,9 @@ const index = 0;
17
17
  let component_cache;
18
18
  const component = async () => component_cache ??= (await import('./_layout.svelte-BlI9weU7.js')).default;
19
19
  const server_id = "src/routes/+layout.server.ts";
20
- const imports = ["_app/immutable/nodes/0.MlMcxYLT.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/BzW0vlVX.js","_app/immutable/chunks/DjWRwZyr.js","_app/immutable/chunks/Bn-6X1BO.js","_app/immutable/chunks/CG453M9q.js","_app/immutable/chunks/CSjf4fBs.js"];
20
+ const imports = ["_app/immutable/nodes/0.BEbzRcwm.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/ssAhjWfF.js","_app/immutable/chunks/BstJSK2K.js","_app/immutable/chunks/Bn-6X1BO.js","_app/immutable/chunks/CG453M9q.js","_app/immutable/chunks/CSjf4fBs.js"];
21
21
  const stylesheets = ["_app/immutable/assets/ColorPicker.CV4IKef4.css","_app/immutable/assets/0.BwNtE8TX.css"];
22
22
  const fonts = [];
23
23
 
24
24
  export { component, fonts, imports, index, _layout_server_ts as server, server_id, stylesheets };
25
- //# sourceMappingURL=0-CezVlDLP.js.map
25
+ //# sourceMappingURL=0-BHU07xt9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"0-CezVlDLP.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.server.ts.js","../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["import { b as private_env } from \"../../chunks/shared-server.js\";\nimport { g as getProviderAvailability } from \"../../chunks/providers.js\";\nconst load = () => ({\n aiProviders: getProviderAvailability(private_env),\n litellmBaseUrl: private_env.LITELLM_BASE_URL ?? \"\",\n litellmModel: private_env.LITELLM_MODEL ?? \"open-large\",\n neurolinkProvider: private_env.NEUROLINK_PROVIDER ?? \"\"\n});\nexport {\n load\n};\n","import * as server from '../entries/pages/_layout.server.ts.js';\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+layout.server.ts\";\nexport const imports = [\"_app/immutable/nodes/0.MlMcxYLT.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/BzW0vlVX.js\",\"_app/immutable/chunks/DjWRwZyr.js\",\"_app/immutable/chunks/Bn-6X1BO.js\",\"_app/immutable/chunks/CG453M9q.js\",\"_app/immutable/chunks/CSjf4fBs.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/0.BwNtE8TX.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;AAEA,MAAM,IAAI,GAAG,OAAO;AACpB,EAAE,WAAW,EAAE,uBAAuB,CAAC,WAAW,CAAC;AACnD,EAAE,cAAc,EAAE,WAAW,CAAC,gBAAgB,IAAI,EAAE;AACpD,EAAE,YAAY,EAAE,WAAW,CAAC,aAAa,IAAI,YAAY;AACzD,EAAE,iBAAiB,EAAE,WAAW,CAAC,kBAAkB,IAAI;AACvD,CAAC,CAAC;;;;;;;ACLU,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAAoC,CAAC,EAAE;AAElG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChV,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"0-BHU07xt9.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.server.ts.js","../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["import { b as private_env } from \"../../chunks/shared-server.js\";\nimport { g as getProviderAvailability } from \"../../chunks/providers.js\";\nconst load = () => ({\n aiProviders: getProviderAvailability(private_env),\n litellmBaseUrl: private_env.LITELLM_BASE_URL ?? \"\",\n litellmModel: private_env.LITELLM_MODEL ?? \"open-large\",\n neurolinkProvider: private_env.NEUROLINK_PROVIDER ?? \"\"\n});\nexport {\n load\n};\n","import * as server from '../entries/pages/_layout.server.ts.js';\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+layout.server.ts\";\nexport const imports = [\"_app/immutable/nodes/0.BEbzRcwm.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/ssAhjWfF.js\",\"_app/immutable/chunks/BstJSK2K.js\",\"_app/immutable/chunks/Bn-6X1BO.js\",\"_app/immutable/chunks/CG453M9q.js\",\"_app/immutable/chunks/CSjf4fBs.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/0.BwNtE8TX.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;AAEA,MAAM,IAAI,GAAG,OAAO;AACpB,EAAE,WAAW,EAAE,uBAAuB,CAAC,WAAW,CAAC;AACnD,EAAE,cAAc,EAAE,WAAW,CAAC,gBAAgB,IAAI,EAAE;AACpD,EAAE,YAAY,EAAE,WAAW,CAAC,aAAa,IAAI,YAAY;AACzD,EAAE,iBAAiB,EAAE,WAAW,CAAC,kBAAkB,IAAI;AACvD,CAAC,CAAC;;;;;;;ACLU,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAAoC,CAAC,EAAE;AAElG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChV,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
@@ -1,9 +1,9 @@
1
1
  const index = 1;
2
2
  let component_cache;
3
3
  const component = async () => component_cache ??= (await import('./_error.svelte-r3eJvFdN.js')).default;
4
- const imports = ["_app/immutable/nodes/1._Bn-HQ9b.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/BzW0vlVX.js","_app/immutable/chunks/DjWRwZyr.js","_app/immutable/chunks/aiM7Bbhi.js"];
4
+ const imports = ["_app/immutable/nodes/1.C_V0SOr9.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/ssAhjWfF.js","_app/immutable/chunks/BstJSK2K.js","_app/immutable/chunks/aiM7Bbhi.js"];
5
5
  const stylesheets = ["_app/immutable/assets/ColorPicker.CV4IKef4.css","_app/immutable/assets/1.B_AnTlN1.css"];
6
6
  const fonts = [];
7
7
 
8
8
  export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=1-CAwGzW00.js.map
9
+ //# sourceMappingURL=1-OVOd8GUH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"1-CAwGzW00.js","sources":["../../../.svelte-kit/adapter-node/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_error.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/1._Bn-HQ9b.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/BzW0vlVX.js\",\"_app/immutable/chunks/DjWRwZyr.js\",\"_app/immutable/chunks/aiM7Bbhi.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/1.B_AnTlN1.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,6BAAmC,CAAC,EAAE;AACjG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACxQ,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"1-OVOd8GUH.js","sources":["../../../.svelte-kit/adapter-node/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_error.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/1.C_V0SOr9.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/ssAhjWfF.js\",\"_app/immutable/chunks/BstJSK2K.js\",\"_app/immutable/chunks/aiM7Bbhi.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/1.B_AnTlN1.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,6BAAmC,CAAC,EAAE;AACjG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACxQ,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
@@ -1,9 +1,9 @@
1
1
  const index = 10;
2
2
  let component_cache;
3
3
  const component = async () => component_cache ??= (await import('./_page.svelte-CS4GU4ex.js')).default;
4
- const imports = ["_app/immutable/nodes/10.CsX0V4R9.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/BzW0vlVX.js","_app/immutable/chunks/etLjvmY8.js","_app/immutable/chunks/CG453M9q.js","_app/immutable/chunks/CSjf4fBs.js","_app/immutable/chunks/xs1Xl3_e.js","_app/immutable/chunks/gQJcRhou.js","_app/immutable/chunks/Dk1NUsIU.js","_app/immutable/chunks/BdtLzPpO.js","_app/immutable/chunks/DFa6kKPT.js"];
4
+ const imports = ["_app/immutable/nodes/10.6V-37_Rl.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/ssAhjWfF.js","_app/immutable/chunks/etLjvmY8.js","_app/immutable/chunks/CG453M9q.js","_app/immutable/chunks/CSjf4fBs.js","_app/immutable/chunks/xs1Xl3_e.js","_app/immutable/chunks/gQJcRhou.js","_app/immutable/chunks/Dk1NUsIU.js","_app/immutable/chunks/BdtLzPpO.js","_app/immutable/chunks/DFa6kKPT.js"];
5
5
  const stylesheets = ["_app/immutable/assets/ColorPicker.CV4IKef4.css","_app/immutable/assets/10.BhoBXADL.css"];
6
6
  const fonts = [];
7
7
 
8
8
  export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=10-pqorW2OP.js.map
9
+ //# sourceMappingURL=10-CRHtvb_u.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"10-pqorW2OP.js","sources":["../../../.svelte-kit/adapter-node/nodes/10.js"],"sourcesContent":["\n\nexport const index = 10;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/terminals/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/10.CsX0V4R9.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/BzW0vlVX.js\",\"_app/immutable/chunks/etLjvmY8.js\",\"_app/immutable/chunks/CG453M9q.js\",\"_app/immutable/chunks/CSjf4fBs.js\",\"_app/immutable/chunks/xs1Xl3_e.js\",\"_app/immutable/chunks/gQJcRhou.js\",\"_app/immutable/chunks/Dk1NUsIU.js\",\"_app/immutable/chunks/BdtLzPpO.js\",\"_app/immutable/chunks/DFa6kKPT.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/10.BhoBXADL.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA4C,CAAC,EAAE;AAC1G,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACrgB,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,uCAAuC;AACxG,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"10-CRHtvb_u.js","sources":["../../../.svelte-kit/adapter-node/nodes/10.js"],"sourcesContent":["\n\nexport const index = 10;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/terminals/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/10.6V-37_Rl.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/ssAhjWfF.js\",\"_app/immutable/chunks/etLjvmY8.js\",\"_app/immutable/chunks/CG453M9q.js\",\"_app/immutable/chunks/CSjf4fBs.js\",\"_app/immutable/chunks/xs1Xl3_e.js\",\"_app/immutable/chunks/gQJcRhou.js\",\"_app/immutable/chunks/Dk1NUsIU.js\",\"_app/immutable/chunks/BdtLzPpO.js\",\"_app/immutable/chunks/DFa6kKPT.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/10.BhoBXADL.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA4C,CAAC,EAAE;AAC1G,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACrgB,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,uCAAuC;AACxG,MAAC,KAAK,GAAG;;;;"}
@@ -1,9 +1,9 @@
1
1
  const index = 11;
2
2
  let component_cache;
3
3
  const component = async () => component_cache ??= (await import('./_page.svelte-B7_oMI0l.js')).default;
4
- const imports = ["_app/immutable/nodes/11.lM_b6yUv.js","_app/immutable/chunks/PPVm8Dsz.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/BzW0vlVX.js","_app/immutable/chunks/DjWRwZyr.js","_app/immutable/chunks/DzuS5Nbr.js","_app/immutable/chunks/Dk1NUsIU.js","_app/immutable/chunks/BdtLzPpO.js","_app/immutable/chunks/oIHVoAuz.js","_app/immutable/chunks/DcXdn821.js","_app/immutable/chunks/gQJcRhou.js","_app/immutable/chunks/DFa6kKPT.js"];
4
+ const imports = ["_app/immutable/nodes/11.Lzf-KC6L.js","_app/immutable/chunks/PPVm8Dsz.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/ssAhjWfF.js","_app/immutable/chunks/BstJSK2K.js","_app/immutable/chunks/DzuS5Nbr.js","_app/immutable/chunks/Dk1NUsIU.js","_app/immutable/chunks/BdtLzPpO.js","_app/immutable/chunks/oIHVoAuz.js","_app/immutable/chunks/DcXdn821.js","_app/immutable/chunks/gQJcRhou.js","_app/immutable/chunks/DFa6kKPT.js"];
5
5
  const stylesheets = ["_app/immutable/assets/ColorPicker.CV4IKef4.css","_app/immutable/assets/ChatView.Bnlg-oAF.css","_app/immutable/assets/11.F10lvwyh.css"];
6
6
  const fonts = [];
7
7
 
8
8
  export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=11-Byxg_lSY.js.map
9
+ //# sourceMappingURL=11-CdSex9j1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"11-Byxg_lSY.js","sources":["../../../.svelte-kit/adapter-node/nodes/11.js"],"sourcesContent":["\n\nexport const index = 11;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/terminals/_id_/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/11.lM_b6yUv.js\",\"_app/immutable/chunks/PPVm8Dsz.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/BzW0vlVX.js\",\"_app/immutable/chunks/DjWRwZyr.js\",\"_app/immutable/chunks/DzuS5Nbr.js\",\"_app/immutable/chunks/Dk1NUsIU.js\",\"_app/immutable/chunks/BdtLzPpO.js\",\"_app/immutable/chunks/oIHVoAuz.js\",\"_app/immutable/chunks/DcXdn821.js\",\"_app/immutable/chunks/gQJcRhou.js\",\"_app/immutable/chunks/DFa6kKPT.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/ChatView.Bnlg-oAF.css\",\"_app/immutable/assets/11.F10lvwyh.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAiD,CAAC,EAAE;AAC/G,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACziB,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,6CAA6C,CAAC,uCAAuC;AACtJ,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"11-CdSex9j1.js","sources":["../../../.svelte-kit/adapter-node/nodes/11.js"],"sourcesContent":["\n\nexport const index = 11;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/terminals/_id_/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/11.Lzf-KC6L.js\",\"_app/immutable/chunks/PPVm8Dsz.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/ssAhjWfF.js\",\"_app/immutable/chunks/BstJSK2K.js\",\"_app/immutable/chunks/DzuS5Nbr.js\",\"_app/immutable/chunks/Dk1NUsIU.js\",\"_app/immutable/chunks/BdtLzPpO.js\",\"_app/immutable/chunks/oIHVoAuz.js\",\"_app/immutable/chunks/DcXdn821.js\",\"_app/immutable/chunks/gQJcRhou.js\",\"_app/immutable/chunks/DFa6kKPT.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/ChatView.Bnlg-oAF.css\",\"_app/immutable/assets/11.F10lvwyh.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAiD,CAAC,EAAE;AAC/G,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACziB,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,6CAA6C,CAAC,uCAAuC;AACtJ,MAAC,KAAK,GAAG;;;;"}
@@ -13,9 +13,9 @@ const index = 2;
13
13
  let component_cache;
14
14
  const component = async () => component_cache ??= (await import('./_page.svelte-CMryWeEG.js')).default;
15
15
  const server_id = "src/routes/+page.server.ts";
16
- const imports = ["_app/immutable/nodes/2.sAnHf5go.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/BzW0vlVX.js","_app/immutable/chunks/Bn-6X1BO.js","_app/immutable/chunks/etLjvmY8.js","_app/immutable/chunks/CG453M9q.js","_app/immutable/chunks/xs1Xl3_e.js","_app/immutable/chunks/gQJcRhou.js","_app/immutable/chunks/Dk1NUsIU.js","_app/immutable/chunks/BLszSzTT.js","_app/immutable/chunks/DcXdn821.js","_app/immutable/chunks/CnsJhNGt.js","_app/immutable/chunks/C87ZRWX0.js","_app/immutable/chunks/DFa6kKPT.js"];
16
+ const imports = ["_app/immutable/nodes/2.Cl2dMP2L.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/ssAhjWfF.js","_app/immutable/chunks/Bn-6X1BO.js","_app/immutable/chunks/etLjvmY8.js","_app/immutable/chunks/CG453M9q.js","_app/immutable/chunks/xs1Xl3_e.js","_app/immutable/chunks/gQJcRhou.js","_app/immutable/chunks/Dk1NUsIU.js","_app/immutable/chunks/BLszSzTT.js","_app/immutable/chunks/DcXdn821.js","_app/immutable/chunks/CnsJhNGt.js","_app/immutable/chunks/C87ZRWX0.js","_app/immutable/chunks/DFa6kKPT.js"];
17
17
  const stylesheets = ["_app/immutable/assets/ColorPicker.CV4IKef4.css","_app/immutable/assets/2.JWRrnR-w.css"];
18
18
  const fonts = [];
19
19
 
20
20
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
21
- //# sourceMappingURL=2-Bbck5mN2.js.map
21
+ //# sourceMappingURL=2-bb78aIZ6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"2-Bbck5mN2.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/2.js"],"sourcesContent":["import { b as private_env } from \"../../chunks/shared-server.js\";\nconst load = () => ({\n googleAiConfigured: Boolean(private_env.GOOGLE_AI_API_KEY?.trim())\n});\nexport {\n load\n};\n","import * as server from '../entries/pages/_page.server.ts.js';\n\nexport const index = 2;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/2.sAnHf5go.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/BzW0vlVX.js\",\"_app/immutable/chunks/Bn-6X1BO.js\",\"_app/immutable/chunks/etLjvmY8.js\",\"_app/immutable/chunks/CG453M9q.js\",\"_app/immutable/chunks/xs1Xl3_e.js\",\"_app/immutable/chunks/gQJcRhou.js\",\"_app/immutable/chunks/Dk1NUsIU.js\",\"_app/immutable/chunks/BLszSzTT.js\",\"_app/immutable/chunks/DcXdn821.js\",\"_app/immutable/chunks/CnsJhNGt.js\",\"_app/immutable/chunks/C87ZRWX0.js\",\"_app/immutable/chunks/DFa6kKPT.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/2.JWRrnR-w.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;AACA,MAAM,IAAI,GAAG,OAAO;AACpB,EAAE,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,IAAI,EAAE;AACnE,CAAC,CAAC;;;;;;;ACDU,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAkC,CAAC,EAAE;AAEhG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChnB,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"2-bb78aIZ6.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/2.js"],"sourcesContent":["import { b as private_env } from \"../../chunks/shared-server.js\";\nconst load = () => ({\n googleAiConfigured: Boolean(private_env.GOOGLE_AI_API_KEY?.trim())\n});\nexport {\n load\n};\n","import * as server from '../entries/pages/_page.server.ts.js';\n\nexport const index = 2;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/2.Cl2dMP2L.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/ssAhjWfF.js\",\"_app/immutable/chunks/Bn-6X1BO.js\",\"_app/immutable/chunks/etLjvmY8.js\",\"_app/immutable/chunks/CG453M9q.js\",\"_app/immutable/chunks/xs1Xl3_e.js\",\"_app/immutable/chunks/gQJcRhou.js\",\"_app/immutable/chunks/Dk1NUsIU.js\",\"_app/immutable/chunks/BLszSzTT.js\",\"_app/immutable/chunks/DcXdn821.js\",\"_app/immutable/chunks/CnsJhNGt.js\",\"_app/immutable/chunks/C87ZRWX0.js\",\"_app/immutable/chunks/DFa6kKPT.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/2.JWRrnR-w.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;AACA,MAAM,IAAI,GAAG,OAAO;AACpB,EAAE,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,IAAI,EAAE;AACnE,CAAC,CAAC;;;;;;;ACDU,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAkC,CAAC,EAAE;AAEhG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChnB,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
@@ -13,9 +13,9 @@ const index = 3;
13
13
  let component_cache;
14
14
  const component = async () => component_cache ??= (await import('./_page.svelte-svT4jMLg.js')).default;
15
15
  const server_id = "src/routes/activity/+page.server.ts";
16
- const imports = ["_app/immutable/nodes/3.DEHWta3G.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/BzW0vlVX.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/gQJcRhou.js","_app/immutable/chunks/Dk1NUsIU.js","_app/immutable/chunks/BLszSzTT.js","_app/immutable/chunks/DcXdn821.js","_app/immutable/chunks/CnsJhNGt.js","_app/immutable/chunks/C87ZRWX0.js"];
16
+ const imports = ["_app/immutable/nodes/3.CuX2eSna.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/ssAhjWfF.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/gQJcRhou.js","_app/immutable/chunks/Dk1NUsIU.js","_app/immutable/chunks/BLszSzTT.js","_app/immutable/chunks/DcXdn821.js","_app/immutable/chunks/CnsJhNGt.js","_app/immutable/chunks/C87ZRWX0.js"];
17
17
  const stylesheets = ["_app/immutable/assets/ColorPicker.CV4IKef4.css","_app/immutable/assets/3.DHxQoulp.css"];
18
18
  const fonts = [];
19
19
 
20
20
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
21
- //# sourceMappingURL=3-BBFbA1P8.js.map
21
+ //# sourceMappingURL=3-CsTC6Lrn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"3-BBFbA1P8.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/activity/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/3.js"],"sourcesContent":["import { b as private_env } from \"../../../chunks/shared-server.js\";\nconst load = () => ({\n googleAiConfigured: Boolean(private_env.GOOGLE_AI_API_KEY?.trim())\n});\nexport {\n load\n};\n","import * as server from '../entries/pages/activity/_page.server.ts.js';\n\nexport const index = 3;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/activity/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/activity/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/3.DEHWta3G.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/BzW0vlVX.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/gQJcRhou.js\",\"_app/immutable/chunks/Dk1NUsIU.js\",\"_app/immutable/chunks/BLszSzTT.js\",\"_app/immutable/chunks/DcXdn821.js\",\"_app/immutable/chunks/CnsJhNGt.js\",\"_app/immutable/chunks/C87ZRWX0.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/3.DHxQoulp.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;AACA,MAAM,IAAI,GAAG,OAAO;AACpB,EAAE,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,IAAI,EAAE;AACnE,CAAC,CAAC;;;;;;;ACDU,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA2C,CAAC,EAAE;AAEzG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5b,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"3-CsTC6Lrn.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/activity/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/3.js"],"sourcesContent":["import { b as private_env } from \"../../../chunks/shared-server.js\";\nconst load = () => ({\n googleAiConfigured: Boolean(private_env.GOOGLE_AI_API_KEY?.trim())\n});\nexport {\n load\n};\n","import * as server from '../entries/pages/activity/_page.server.ts.js';\n\nexport const index = 3;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/activity/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/activity/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/3.CuX2eSna.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/ssAhjWfF.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/gQJcRhou.js\",\"_app/immutable/chunks/Dk1NUsIU.js\",\"_app/immutable/chunks/BLszSzTT.js\",\"_app/immutable/chunks/DcXdn821.js\",\"_app/immutable/chunks/CnsJhNGt.js\",\"_app/immutable/chunks/C87ZRWX0.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/3.DHxQoulp.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;AACA,MAAM,IAAI,GAAG,OAAO;AACpB,EAAE,kBAAkB,EAAE,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,IAAI,EAAE;AACnE,CAAC,CAAC;;;;;;;ACDU,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA2C,CAAC,EAAE;AAEzG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5b,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
@@ -13,11 +13,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
13
13
 
14
14
  const index = 4;
15
15
  let component_cache;
16
- const component = async () => component_cache ??= (await import('./_page.svelte-DDE2nChH.js')).default;
16
+ const component = async () => component_cache ??= (await import('./_page.svelte-BBbaKwNz.js')).default;
17
17
  const server_id = "src/routes/config/+page.server.ts";
18
- const imports = ["_app/immutable/nodes/4.C9fv_m2R.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/DzuS5Nbr.js","_app/immutable/chunks/gQJcRhou.js","_app/immutable/chunks/Dk1NUsIU.js","_app/immutable/chunks/C87ZRWX0.js"];
19
- const stylesheets = ["_app/immutable/assets/ColorPicker.CV4IKef4.css","_app/immutable/assets/4.D4EDSN4H.css"];
18
+ const imports = ["_app/immutable/nodes/4.2DvqoOaB.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/DzuS5Nbr.js","_app/immutable/chunks/gQJcRhou.js","_app/immutable/chunks/Dk1NUsIU.js","_app/immutable/chunks/C87ZRWX0.js"];
19
+ const stylesheets = ["_app/immutable/assets/ColorPicker.CV4IKef4.css","_app/immutable/assets/4.ChO_hlLs.css"];
20
20
  const fonts = [];
21
21
 
22
22
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
23
- //# sourceMappingURL=4-w2W_T8ax.js.map
23
+ //# sourceMappingURL=4-DTTu8_Gr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"4-w2W_T8ax.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/config/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/4.js"],"sourcesContent":["import { b as private_env } from \"../../../chunks/shared-server.js\";\nimport { g as getProviderAvailability } from \"../../../chunks/providers.js\";\nconst load = () => ({\n activeProvider: private_env.NEUROLINK_PROVIDER ?? \"\",\n aiProviders: getProviderAvailability(private_env)\n});\nexport {\n load\n};\n","import * as server from '../entries/pages/config/_page.server.ts.js';\n\nexport const index = 4;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/config/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/config/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/4.C9fv_m2R.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/DzuS5Nbr.js\",\"_app/immutable/chunks/gQJcRhou.js\",\"_app/immutable/chunks/Dk1NUsIU.js\",\"_app/immutable/chunks/C87ZRWX0.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/4.D4EDSN4H.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;AAEA,MAAM,IAAI,GAAG,OAAO;AACpB,EAAE,cAAc,EAAE,WAAW,CAAC,kBAAkB,IAAI,EAAE;AACtD,EAAE,WAAW,EAAE,uBAAuB,CAAC,WAAW;AAClD,CAAC,CAAC;;;;;;;ACHU,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAyC,CAAC,EAAE;AAEvG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChV,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"4-DTTu8_Gr.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/config/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/4.js"],"sourcesContent":["import { b as private_env } from \"../../../chunks/shared-server.js\";\nimport { g as getProviderAvailability } from \"../../../chunks/providers.js\";\nconst load = () => ({\n activeProvider: private_env.NEUROLINK_PROVIDER ?? \"\",\n aiProviders: getProviderAvailability(private_env)\n});\nexport {\n load\n};\n","import * as server from '../entries/pages/config/_page.server.ts.js';\n\nexport const index = 4;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/config/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/config/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/4.2DvqoOaB.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/DzuS5Nbr.js\",\"_app/immutable/chunks/gQJcRhou.js\",\"_app/immutable/chunks/Dk1NUsIU.js\",\"_app/immutable/chunks/C87ZRWX0.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/4.ChO_hlLs.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;AAEA,MAAM,IAAI,GAAG,OAAO;AACpB,EAAE,cAAc,EAAE,WAAW,CAAC,kBAAkB,IAAI,EAAE;AACtD,EAAE,WAAW,EAAE,uBAAuB,CAAC,WAAW;AAClD,CAAC,CAAC;;;;;;;ACHU,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAyC,CAAC,EAAE;AAEvG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChV,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
@@ -1,9 +1,9 @@
1
1
  const index = 6;
2
2
  let component_cache;
3
3
  const component = async () => component_cache ??= (await import('./_page.svelte-BB3pLObN.js')).default;
4
- const imports = ["_app/immutable/nodes/6.-gDjaLSz.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/BzW0vlVX.js","_app/immutable/chunks/CfzjLyJm.js","_app/immutable/chunks/DzuS5Nbr.js","_app/immutable/chunks/Bn-6X1BO.js","_app/immutable/chunks/etLjvmY8.js","_app/immutable/chunks/xs1Xl3_e.js","_app/immutable/chunks/gQJcRhou.js","_app/immutable/chunks/Dk1NUsIU.js","_app/immutable/chunks/BdtLzPpO.js","_app/immutable/chunks/BLszSzTT.js","_app/immutable/chunks/DFa6kKPT.js"];
4
+ const imports = ["_app/immutable/nodes/6.C7e6zQyP.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/ssAhjWfF.js","_app/immutable/chunks/DINqYbXU.js","_app/immutable/chunks/DzuS5Nbr.js","_app/immutable/chunks/Bn-6X1BO.js","_app/immutable/chunks/etLjvmY8.js","_app/immutable/chunks/xs1Xl3_e.js","_app/immutable/chunks/gQJcRhou.js","_app/immutable/chunks/Dk1NUsIU.js","_app/immutable/chunks/BdtLzPpO.js","_app/immutable/chunks/BLszSzTT.js","_app/immutable/chunks/DFa6kKPT.js"];
5
5
  const stylesheets = ["_app/immutable/assets/ColorPicker.CV4IKef4.css","_app/immutable/assets/6.DzV0p3l-.css"];
6
6
  const fonts = [];
7
7
 
8
8
  export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=6-BI3p-t3i.js.map
9
+ //# sourceMappingURL=6-BUgQGB_4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"6-BI3p-t3i.js","sources":["../../../.svelte-kit/adapter-node/nodes/6.js"],"sourcesContent":["\n\nexport const index = 6;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/project/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/6.-gDjaLSz.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/BzW0vlVX.js\",\"_app/immutable/chunks/CfzjLyJm.js\",\"_app/immutable/chunks/DzuS5Nbr.js\",\"_app/immutable/chunks/Bn-6X1BO.js\",\"_app/immutable/chunks/etLjvmY8.js\",\"_app/immutable/chunks/xs1Xl3_e.js\",\"_app/immutable/chunks/gQJcRhou.js\",\"_app/immutable/chunks/Dk1NUsIU.js\",\"_app/immutable/chunks/BdtLzPpO.js\",\"_app/immutable/chunks/BLszSzTT.js\",\"_app/immutable/chunks/DFa6kKPT.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/6.DzV0p3l-.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA0C,CAAC,EAAE;AACxG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5kB,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"6-BUgQGB_4.js","sources":["../../../.svelte-kit/adapter-node/nodes/6.js"],"sourcesContent":["\n\nexport const index = 6;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/project/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/6.C7e6zQyP.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/ssAhjWfF.js\",\"_app/immutable/chunks/DINqYbXU.js\",\"_app/immutable/chunks/DzuS5Nbr.js\",\"_app/immutable/chunks/Bn-6X1BO.js\",\"_app/immutable/chunks/etLjvmY8.js\",\"_app/immutable/chunks/xs1Xl3_e.js\",\"_app/immutable/chunks/gQJcRhou.js\",\"_app/immutable/chunks/Dk1NUsIU.js\",\"_app/immutable/chunks/BdtLzPpO.js\",\"_app/immutable/chunks/BLszSzTT.js\",\"_app/immutable/chunks/DFa6kKPT.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/6.DzV0p3l-.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA0C,CAAC,EAAE;AACxG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5kB,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
@@ -1,9 +1,9 @@
1
1
  const index = 7;
2
2
  let component_cache;
3
3
  const component = async () => component_cache ??= (await import('./_page.svelte-BDoNXDBU.js')).default;
4
- const imports = ["_app/immutable/nodes/7.R-emDnvX.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/CfzjLyJm.js","_app/immutable/chunks/BzW0vlVX.js","_app/immutable/chunks/xs1Xl3_e.js","_app/immutable/chunks/Dk1NUsIU.js","_app/immutable/chunks/BdtLzPpO.js","_app/immutable/chunks/oIHVoAuz.js","_app/immutable/chunks/DcXdn821.js"];
4
+ const imports = ["_app/immutable/nodes/7.1ygvNTnO.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/DINqYbXU.js","_app/immutable/chunks/ssAhjWfF.js","_app/immutable/chunks/xs1Xl3_e.js","_app/immutable/chunks/Dk1NUsIU.js","_app/immutable/chunks/BdtLzPpO.js","_app/immutable/chunks/oIHVoAuz.js","_app/immutable/chunks/DcXdn821.js"];
5
5
  const stylesheets = ["_app/immutable/assets/ColorPicker.CV4IKef4.css","_app/immutable/assets/ChatView.Bnlg-oAF.css","_app/immutable/assets/7.CEbRAOOf.css"];
6
6
  const fonts = [];
7
7
 
8
8
  export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=7-6XKPVOSu.js.map
9
+ //# sourceMappingURL=7-CsQZnkcG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"7-6XKPVOSu.js","sources":["../../../.svelte-kit/adapter-node/nodes/7.js"],"sourcesContent":["\n\nexport const index = 7;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/session/_id_/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/7.R-emDnvX.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/CfzjLyJm.js\",\"_app/immutable/chunks/BzW0vlVX.js\",\"_app/immutable/chunks/xs1Xl3_e.js\",\"_app/immutable/chunks/Dk1NUsIU.js\",\"_app/immutable/chunks/BdtLzPpO.js\",\"_app/immutable/chunks/oIHVoAuz.js\",\"_app/immutable/chunks/DcXdn821.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/ChatView.Bnlg-oAF.css\",\"_app/immutable/assets/7.CEbRAOOf.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA+C,CAAC,EAAE;AAC7G,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5b,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,6CAA6C,CAAC,sCAAsC;AACrJ,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"7-CsQZnkcG.js","sources":["../../../.svelte-kit/adapter-node/nodes/7.js"],"sourcesContent":["\n\nexport const index = 7;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/session/_id_/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/7.1ygvNTnO.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/DINqYbXU.js\",\"_app/immutable/chunks/ssAhjWfF.js\",\"_app/immutable/chunks/xs1Xl3_e.js\",\"_app/immutable/chunks/Dk1NUsIU.js\",\"_app/immutable/chunks/BdtLzPpO.js\",\"_app/immutable/chunks/oIHVoAuz.js\",\"_app/immutable/chunks/DcXdn821.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/ChatView.Bnlg-oAF.css\",\"_app/immutable/assets/7.CEbRAOOf.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA+C,CAAC,EAAE;AAC7G,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5b,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,6CAA6C,CAAC,sCAAsC;AACrJ,MAAC,KAAK,GAAG;;;;"}
@@ -1,9 +1,9 @@
1
1
  const index = 8;
2
2
  let component_cache;
3
3
  const component = async () => component_cache ??= (await import('./_page.svelte-CUfOc8Hm.js')).default;
4
- const imports = ["_app/immutable/nodes/8.DXNcFetv.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/BzW0vlVX.js","_app/immutable/chunks/DFa6kKPT.js"];
4
+ const imports = ["_app/immutable/nodes/8.CBVmgOk0.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/ssAhjWfF.js","_app/immutable/chunks/DFa6kKPT.js"];
5
5
  const stylesheets = ["_app/immutable/assets/ColorPicker.CV4IKef4.css","_app/immutable/assets/8.BYgAX7hR.css"];
6
6
  const fonts = [];
7
7
 
8
8
  export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=8-VOztiJG_.js.map
9
+ //# sourceMappingURL=8-DcIuPdyW.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"8-VOztiJG_.js","sources":["../../../.svelte-kit/adapter-node/nodes/8.js"],"sourcesContent":["\n\nexport const index = 8;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/sos/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/8.DXNcFetv.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/BzW0vlVX.js\",\"_app/immutable/chunks/DFa6kKPT.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/8.BYgAX7hR.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACxQ,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"8-DcIuPdyW.js","sources":["../../../.svelte-kit/adapter-node/nodes/8.js"],"sourcesContent":["\n\nexport const index = 8;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/sos/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/8.CBVmgOk0.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/ssAhjWfF.js\",\"_app/immutable/chunks/DFa6kKPT.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/8.BYgAX7hR.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACxQ,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
@@ -1,9 +1,9 @@
1
1
  const index = 9;
2
2
  let component_cache;
3
3
  const component = async () => component_cache ??= (await import('./_page.svelte-Cj5OW0HR.js')).default;
4
- const imports = ["_app/immutable/nodes/9.Brv6N-Ji.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/DjWRwZyr.js","_app/immutable/chunks/BzW0vlVX.js"];
4
+ const imports = ["_app/immutable/nodes/9.B-_ZFZhj.js","_app/immutable/chunks/DoGIJDSZ.js","_app/immutable/chunks/kzeZOqU5.js","_app/immutable/chunks/aiM7Bbhi.js","_app/immutable/chunks/BQJR1fvD.js","_app/immutable/chunks/BstJSK2K.js","_app/immutable/chunks/ssAhjWfF.js"];
5
5
  const stylesheets = ["_app/immutable/assets/ColorPicker.CV4IKef4.css","_app/immutable/assets/9.DV6pZunn.css"];
6
6
  const fonts = [];
7
7
 
8
8
  export { component, fonts, imports, index, stylesheets };
9
- //# sourceMappingURL=9-DNUlBLEz.js.map
9
+ //# sourceMappingURL=9-D8bkM1uj.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"9-DNUlBLEz.js","sources":["../../../.svelte-kit/adapter-node/nodes/9.js"],"sourcesContent":["\n\nexport const index = 9;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/sos/_id_/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/9.Brv6N-Ji.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/DjWRwZyr.js\",\"_app/immutable/chunks/BzW0vlVX.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/9.DV6pZunn.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA2C,CAAC,EAAE;AACzG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACxQ,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"9-D8bkM1uj.js","sources":["../../../.svelte-kit/adapter-node/nodes/9.js"],"sourcesContent":["\n\nexport const index = 9;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/sos/_id_/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/9.B-_ZFZhj.js\",\"_app/immutable/chunks/DoGIJDSZ.js\",\"_app/immutable/chunks/kzeZOqU5.js\",\"_app/immutable/chunks/aiM7Bbhi.js\",\"_app/immutable/chunks/BQJR1fvD.js\",\"_app/immutable/chunks/BstJSK2K.js\",\"_app/immutable/chunks/ssAhjWfF.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.CV4IKef4.css\",\"_app/immutable/assets/9.DV6pZunn.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA2C,CAAC,EAAE;AACzG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACxQ,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,sCAAsC;AACvG,MAAC,KAAK,GAAG;;;;"}
@@ -118,7 +118,10 @@ function _page($$renderer, $$props) {
118
118
  const { data } = $$props;
119
119
  let serverUrl = "";
120
120
  let apiKey = "";
121
- let deviceToken = "";
121
+ let registeredDevices = [];
122
+ let loadingDevices = false;
123
+ let loadDevicesError = "";
124
+ let thisDeviceId = "";
122
125
  let result = "";
123
126
  let loading = false;
124
127
  let statusType = "";
@@ -174,7 +177,7 @@ function _page($$renderer, $$props) {
174
177
  const trimmedUrl = serverUrl.trim().replace(/\/+$/, "");
175
178
  localStorage.setItem("shooter_config", JSON.stringify({
176
179
  apiKey: apiKey.trim(),
177
- deviceToken: deviceToken.trim(),
180
+ deviceToken: null,
178
181
  lastUpdated: Date.now(),
179
182
  serverUrl: trimmedUrl || getDefaultServerUrl()
180
183
  }));
@@ -193,6 +196,7 @@ function _page($$renderer, $$props) {
193
196
  result = "Configuration saved but system health check failed";
194
197
  statusType = "warning";
195
198
  }
199
+ void loadDevices();
196
200
  } catch (error) {
197
201
  result = `Configuration failed: ${toErrorMessage(error)}`;
198
202
  statusType = "error";
@@ -214,9 +218,6 @@ function _page($$renderer, $$props) {
214
218
  message: `Configuration test at ${(/* @__PURE__ */ new Date()).toLocaleTimeString()}`,
215
219
  title: "Configuration Test"
216
220
  };
217
- if (deviceToken.trim()) {
218
- testPayload.deviceToken = deviceToken.trim();
219
- }
220
221
  const response = await fetch("/api/notify", {
221
222
  body: JSON.stringify(testPayload),
222
223
  headers: {
@@ -241,6 +242,54 @@ function _page($$renderer, $$props) {
241
242
  }
242
243
  function clearConfiguration() {
243
244
  }
245
+ async function loadDevices() {
246
+ if (!apiKey.trim()) {
247
+ registeredDevices = [];
248
+ loadDevicesError = "";
249
+ return;
250
+ }
251
+ loadingDevices = true;
252
+ try {
253
+ const response = await fetch("/api/device-token", { headers: { Authorization: `Bearer ${apiKey.trim()}` } });
254
+ if (response.ok) {
255
+ const data2 = await response.json();
256
+ registeredDevices = Array.isArray(data2.devices) ? data2.devices : [];
257
+ loadDevicesError = "";
258
+ } else {
259
+ registeredDevices = [];
260
+ loadDevicesError = response.status === 401 ? "Could not load devices: the API key was rejected (401). Check the key above." : `Could not load devices (HTTP ${response.status}).`;
261
+ }
262
+ } catch (error) {
263
+ registeredDevices = [];
264
+ loadDevicesError = `Could not load devices: ${toErrorMessage(error)}`;
265
+ }
266
+ loadingDevices = false;
267
+ }
268
+ async function removeDevice(id) {
269
+ result = "";
270
+ statusType = "";
271
+ try {
272
+ const response = await fetch("/api/device-token", {
273
+ body: JSON.stringify({ id }),
274
+ headers: {
275
+ Authorization: `Bearer ${apiKey.trim()}`,
276
+ "Content-Type": "application/json"
277
+ },
278
+ method: "DELETE"
279
+ });
280
+ if (!response.ok) {
281
+ const data2 = await response.json().catch(() => ({}));
282
+ result = `Failed to remove device: ${data2.error ?? response.statusText}`;
283
+ statusType = "error";
284
+ return;
285
+ }
286
+ } catch (error) {
287
+ result = `Failed to remove device: ${toErrorMessage(error)}`;
288
+ statusType = "error";
289
+ return;
290
+ }
291
+ await loadDevices();
292
+ }
244
293
  let $$settled = true;
245
294
  let $$inner_renderer;
246
295
  function $$render_inner($$renderer3) {
@@ -285,23 +334,48 @@ function _page($$renderer, $$props) {
285
334
  }
286
335
  });
287
336
  $$renderer4.push(`<!----> <p class="input-help svelte-1gp6n77">Find this in your <code class="svelte-1gp6n77">~/.shooter/.env</code> file. Run <code class="svelte-1gp6n77">shooter setup</code> to generate
288
- one.</p> `);
289
- Input($$renderer4, {
290
- name: "deviceToken",
291
- label: "Device Token",
292
- dataType: "text",
293
- placeholder: "64-character hex string",
294
- infoMessage: "Device token from app registration",
295
- classes: "input-mono",
296
- get value() {
297
- return deviceToken;
298
- },
299
- set value($$value) {
300
- deviceToken = $$value;
301
- $$settled = false;
337
+ one.</p>`);
338
+ }
339
+ });
340
+ $$renderer3.push(`<!----> `);
341
+ Card($$renderer3, {
342
+ title: "Registered Devices",
343
+ description: "Phones that receive push notifications",
344
+ children: ($$renderer4) => {
345
+ if (loadingDevices) {
346
+ $$renderer4.push("<!--[0-->");
347
+ $$renderer4.push(`<p class="input-help svelte-1gp6n77">Loading…</p>`);
348
+ } else if (loadDevicesError) {
349
+ $$renderer4.push("<!--[1-->");
350
+ $$renderer4.push(`<p class="input-help svelte-1gp6n77" style="color: var(--color-error, #f87171);">${escape_html(loadDevicesError)}</p>`);
351
+ } else if (registeredDevices.length === 0) {
352
+ $$renderer4.push("<!--[2-->");
353
+ $$renderer4.push(`<p class="input-help svelte-1gp6n77">No devices registered yet. Open the Shooter app on your phone with this server's URL +
354
+ API key — it registers automatically. Every notification fans out to all devices here.</p>`);
355
+ } else {
356
+ $$renderer4.push("<!--[-1-->");
357
+ $$renderer4.push(`<ul class="device-list svelte-1gp6n77"><!--[-->`);
358
+ const each_array = ensure_array_like(registeredDevices);
359
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
360
+ let device = each_array[$$index];
361
+ $$renderer4.push(`<li class="device-row svelte-1gp6n77"><div class="device-meta svelte-1gp6n77"><span class="device-name svelte-1gp6n77">${escape_html(device.friendlyName || device.deviceId || "Unknown device")} `);
362
+ if (device.deviceId && device.deviceId === thisDeviceId) {
363
+ $$renderer4.push("<!--[0-->");
364
+ $$renderer4.push(`<span class="device-badge svelte-1gp6n77">this device</span>`);
365
+ } else {
366
+ $$renderer4.push("<!--[-1-->");
367
+ }
368
+ $$renderer4.push(`<!--]--></span> <span class="device-sub svelte-1gp6n77">${escape_html(device.platform)} · ${escape_html(device.appEnv)} · ${escape_html(device.tokenMasked)}</span></div> `);
369
+ Button($$renderer4, {
370
+ classes: "btn-secondary",
371
+ onclick: () => void removeDevice(device.id),
372
+ text: "Remove"
373
+ });
374
+ $$renderer4.push(`<!----></li>`);
302
375
  }
303
- });
304
- $$renderer4.push(`<!----> <p class="input-help svelte-1gp6n77">Optional — only needed for iOS/Android push notifications.</p>`);
376
+ $$renderer4.push(`<!--]--></ul>`);
377
+ }
378
+ $$renderer4.push(`<!--]-->`);
305
379
  }
306
380
  });
307
381
  $$renderer3.push(`<!----> `);
@@ -353,10 +427,10 @@ function _page($$renderer, $$props) {
353
427
  Stepper($$renderer4, {
354
428
  steps: [
355
429
  { label: "Get API Key" },
356
- { label: "Find Device Token" },
430
+ { label: "Register a Device" },
357
431
  { label: "Test Connection" }
358
432
  ],
359
- currentStepIndex: apiKey.trim() && deviceToken.trim() ? 2 : apiKey.trim() ? 1 : 0,
433
+ currentStepIndex: apiKey.trim() && registeredDevices.length > 0 ? 2 : apiKey.trim() ? 1 : 0,
360
434
  classes: "setup-stepper"
361
435
  });
362
436
  }
@@ -408,9 +482,9 @@ function _page($$renderer, $$props) {
408
482
  description: "NeuroLink-powered summaries and AI features",
409
483
  children: ($$renderer4) => {
410
484
  $$renderer4.push(`<div class="ai-providers svelte-1gp6n77"><!--[-->`);
411
- const each_array = ensure_array_like(PROVIDERS);
412
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
413
- let provider = each_array[$$index];
485
+ const each_array_1 = ensure_array_like(PROVIDERS);
486
+ for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
487
+ let provider = each_array_1[$$index_1];
414
488
  $$renderer4.push(`<div class="provider-row svelte-1gp6n77">`);
415
489
  Icon($$renderer4, {
416
490
  svg: data.aiProviders[provider.id] ? CheckCircleSvg : XCircleSvg,
@@ -457,4 +531,4 @@ function _page($$renderer, $$props) {
457
531
  }
458
532
 
459
533
  export { _page as default };
460
- //# sourceMappingURL=_page.svelte-DDE2nChH.js.map
534
+ //# sourceMappingURL=_page.svelte-BBbaKwNz.js.map