@juspay/shooter 1.7.1 → 1.8.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.
- package/bin/shooter.cjs +522 -0
- package/build/client/_app/immutable/assets/{0.B5tfAY8Y.css → 0.BZLcOr5z.css} +1 -1
- package/build/client/_app/immutable/assets/0.BZLcOr5z.css.br +0 -0
- package/build/client/_app/immutable/assets/0.BZLcOr5z.css.gz +0 -0
- package/build/client/_app/immutable/chunks/{CBvZimn-.js → B6b4w6vf.js} +1 -1
- package/build/client/_app/immutable/chunks/B6b4w6vf.js.br +0 -0
- package/build/client/_app/immutable/chunks/B6b4w6vf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BEa4nlMF.js +3 -0
- package/build/client/_app/immutable/chunks/BEa4nlMF.js.br +0 -0
- package/build/client/_app/immutable/chunks/BEa4nlMF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{D347PuJK.js → C7SeOWDG.js} +1 -1
- package/build/client/_app/immutable/chunks/C7SeOWDG.js.br +0 -0
- package/build/client/_app/immutable/chunks/C7SeOWDG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DdpA9n1s.js +5 -0
- package/build/client/_app/immutable/chunks/DdpA9n1s.js.br +4 -0
- package/build/client/_app/immutable/chunks/DdpA9n1s.js.gz +0 -0
- package/build/client/_app/immutable/chunks/xs1Xl3_e.js +1 -0
- package/build/client/_app/immutable/chunks/xs1Xl3_e.js.br +0 -0
- package/build/client/_app/immutable/chunks/xs1Xl3_e.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.C_IPOstn.js → app.CP7226A7.js} +2 -2
- package/build/client/_app/immutable/entry/app.CP7226A7.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CP7226A7.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.mGPvkOah.js +1 -0
- package/build/client/_app/immutable/entry/start.mGPvkOah.js.br +2 -0
- package/build/client/_app/immutable/entry/start.mGPvkOah.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.DRy3hSaJ.js → 0.DwU44ZAj.js} +1 -1
- package/build/client/_app/immutable/nodes/0.DwU44ZAj.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DwU44ZAj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.BL16K8Rb.js → 1.CChG-n6d.js} +1 -1
- package/build/client/_app/immutable/nodes/1.CChG-n6d.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CChG-n6d.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.iOKTlmTJ.js → 2.CzexDbwp.js} +1 -1
- package/build/client/_app/immutable/nodes/2.CzexDbwp.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CzexDbwp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.GuF9Fr8V.js → 3.DC3WghxB.js} +1 -1
- package/build/client/_app/immutable/nodes/3.DC3WghxB.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.DC3WghxB.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.DSC53pZZ.js → 6.C4aXlZQd.js} +1 -1
- package/build/client/_app/immutable/nodes/6.C4aXlZQd.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.C4aXlZQd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.DfniCleW.js +4 -0
- package/build/client/_app/immutable/nodes/7.DfniCleW.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.DfniCleW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.Dn1iVaxc.js → 8.D4AzZWcq.js} +2 -2
- package/build/client/_app/immutable/nodes/8.D4AzZWcq.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.D4AzZWcq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.D3nURtQJ.js → 9.gV8oJWv_.js} +1 -1
- package/build/client/_app/immutable/nodes/9.gV8oJWv_.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.gV8oJWv_.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-D82zFKZh.js → 0-XyVDlEyN.js} +3 -3
- package/build/server/chunks/{0-D82zFKZh.js.map → 0-XyVDlEyN.js.map} +1 -1
- package/build/server/chunks/{1-BmaGmZUH.js → 1-C3vZx9QL.js} +2 -2
- package/build/server/chunks/{1-BmaGmZUH.js.map → 1-C3vZx9QL.js.map} +1 -1
- package/build/server/chunks/{2-T5uLjTgt.js → 2-LWO3Q9-s.js} +2 -2
- package/build/server/chunks/{2-T5uLjTgt.js.map → 2-LWO3Q9-s.js.map} +1 -1
- package/build/server/chunks/{3-D6FHwoMf.js → 3-3WzO52IA.js} +2 -2
- package/build/server/chunks/{3-D6FHwoMf.js.map → 3-3WzO52IA.js.map} +1 -1
- package/build/server/chunks/{6-Yh_tXC7x.js → 6-DjPIWYcj.js} +2 -2
- package/build/server/chunks/{6-Yh_tXC7x.js.map → 6-DjPIWYcj.js.map} +1 -1
- package/build/server/chunks/{7-Dmz1unig.js → 7-DF5FUXhP.js} +3 -3
- package/build/server/chunks/{7-Dmz1unig.js.map → 7-DF5FUXhP.js.map} +1 -1
- package/build/server/chunks/{8-Bf6s5ssE.js → 8-CejJgM0l.js} +2 -2
- package/build/server/chunks/{8-Bf6s5ssE.js.map → 8-CejJgM0l.js.map} +1 -1
- package/build/server/chunks/{9-AHy0sACd.js → 9-D1YMozmH.js} +2 -2
- package/build/server/chunks/{9-AHy0sACd.js.map → 9-D1YMozmH.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-D1Iaycsm.js → _page.svelte-DpUVuiqQ.js} +3 -13
- package/build/server/chunks/_page.svelte-DpUVuiqQ.js.map +1 -0
- package/build/server/chunks/{_server.ts-BQarRaho.js → _server.ts-CilRds58.js} +14 -11
- package/build/server/chunks/_server.ts-CilRds58.js.map +1 -0
- package/build/server/index.js +1 -1
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +10 -10
- package/build/server/manifest.js.map +1 -1
- package/package.json +1 -1
- package/scripts/update-checker.cjs +196 -0
- package/scripts/update-state.cjs +235 -0
- package/src/lib/theme.css +33 -1
- package/src/routes/api/sessions/+server.ts +16 -10
- package/src/routes/session/[id]/+page.svelte +25 -14
- package/build/client/_app/immutable/assets/0.B5tfAY8Y.css.br +0 -0
- package/build/client/_app/immutable/assets/0.B5tfAY8Y.css.gz +0 -0
- package/build/client/_app/immutable/chunks/Bkcn25gz.js +0 -3
- package/build/client/_app/immutable/chunks/Bkcn25gz.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bkcn25gz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CBvZimn-.js.br +0 -0
- package/build/client/_app/immutable/chunks/CBvZimn-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CRXYOhph.js +0 -5
- package/build/client/_app/immutable/chunks/CRXYOhph.js.br +0 -0
- package/build/client/_app/immutable/chunks/CRXYOhph.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D347PuJK.js.br +0 -0
- package/build/client/_app/immutable/chunks/D347PuJK.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dqgg-a0I.js +0 -1
- package/build/client/_app/immutable/chunks/Dqgg-a0I.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dqgg-a0I.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.C_IPOstn.js.br +0 -0
- package/build/client/_app/immutable/entry/app.C_IPOstn.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.BfrjAeOs.js +0 -1
- package/build/client/_app/immutable/entry/start.BfrjAeOs.js.br +0 -2
- package/build/client/_app/immutable/entry/start.BfrjAeOs.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.DRy3hSaJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.DRy3hSaJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BL16K8Rb.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.BL16K8Rb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.iOKTlmTJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.iOKTlmTJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.GuF9Fr8V.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.GuF9Fr8V.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.DSC53pZZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.DSC53pZZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.C8lL01pY.js +0 -4
- package/build/client/_app/immutable/nodes/7.C8lL01pY.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.C8lL01pY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.Dn1iVaxc.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Dn1iVaxc.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.D3nURtQJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.D3nURtQJ.js.gz +0 -0
- package/build/server/chunks/_page.svelte-D1Iaycsm.js.map +0 -1
- package/build/server/chunks/_server.ts-BQarRaho.js.map +0 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{i as K,a as h,f as g,s as V}from"../chunks/3MMtouT7.js";import{p as ve,s as v,o as ge,q as we,v as ye,y as be,b as s,g as e,$ as Se,c as _,r as $,w as T,z as H,d as D,t as Q}from"../chunks/Ce0VRwE1.js";import{h as _e}from"../chunks/DFPEaIHz.js";import{d as X,B as $e}from"../chunks/BTu-2gkj.js";import{p as x}from"../chunks/B6b4w6vf.js";import{g as ke,s as Y}from"../chunks/xs1Xl3_e.js";import"../chunks/BCwT4WOg.js";import{C as Ie}from"../chunks/BsNWiLas.js";var je=g('<meta name="description" content="Session conversation view"/>'),Ce=g('<div class="loading-container" aria-live="polite" aria-busy="true"><div class="shimmer shimmer-header" aria-hidden="true"></div> <div class="chat-container"><div class="shimmer shimmer-bubble shimmer-bubble-user" aria-hidden="true"></div> <div class="shimmer shimmer-bubble shimmer-bubble-assistant" aria-hidden="true"></div> <div class="shimmer shimmer-bubble shimmer-bubble-user-short" aria-hidden="true"></div> <div class="shimmer shimmer-bubble shimmer-bubble-assistant-wide" aria-hidden="true"></div></div></div>'),Oe=g('<div class="session-back-row svelte-1a2wdfb"><a class="back-link">← Back</a></div> <p class="error-text svelte-1a2wdfb"> </p>',1),Me=g('<span class="resume-status svelte-1a2wdfb">Connecting...</span>'),Ne=g('<span class="resume-status svelte-1a2wdfb">Resuming session...</span>'),Ae=g('<span class="connection-dot connected svelte-1a2wdfb"></span>'),Pe=g('<span class="connection-dot reconnecting svelte-1a2wdfb"></span>'),Te=g('<div class="load-earlier-row svelte-1a2wdfb"><!></div>'),De=g('<div class="session-header svelte-1a2wdfb"><div class="session-header-row svelte-1a2wdfb"><a class="back-link">← Back</a> <!></div> <h1 class="session-title svelte-1a2wdfb"> </h1></div> <div class="session-chat-container svelte-1a2wdfb"><!> <!></div>',1),Re=g('<main class="main session-page-main svelte-1a2wdfb"><!></main>');function Le(Z,ee){ve(ee,!0);let f=v(null),o=v(ge([])),w=v(!0),I=v(null),R=v(!1),N=v(!1),A=v(200),j=v(null),k=v("idle"),c=v("idle"),y=null,b=null,C=null,O=null,d=!1;const W=T(()=>x.params.id),M=T(()=>x.url.searchParams.get("project")||""),te=T(()=>e(c)==="connecting"||e(c)==="resuming");function P(){try{const t=localStorage.getItem("shooter_config");return t?JSON.parse(t):null}catch{return null}}async function L(){const t=P();if(!t)return null;try{const n=await fetch("/api/ws-ticket",{headers:{Authorization:`Bearer ${t.apiKey}`},method:"POST"});return n.ok?(await n.json()).ticket:null}catch{return null}}async function z(t,n){if(d||C&&(C.readyState===WebSocket.OPEN||C.readyState===WebSocket.CONNECTING))return;const a=await L();if(!a||d)return;s(k,"connecting");const i=window.location.protocol==="https:"?"wss:":"ws:",r=new WebSocket(`${i}//${window.location.host}${t}?ticket=${a}`);r.onopen=()=>{if(d){r.close();return}s(k,"connected"),r.send(JSON.stringify({sessionId:n,type:"subscribe"}))},r.onmessage=u=>{if(!d)try{const p=JSON.parse(u.data);se(p)}catch{}},r.onclose=()=>{d||(s(k,"disconnected"),C=null,e(j)&&(O&&clearTimeout(O),O=setTimeout(()=>{O=null,!d&&e(j)&&z(`/ws/session/${e(j)}`,e(j))},2e3)))},r.onerror=()=>{d||s(k,"disconnected")},C=r}async function q(t){if(d)return;const n=await L();if(!n||d)return;const a=window.location.protocol==="https:"?"wss:":"ws:",i=new WebSocket(`${a}//${window.location.host}${t}?ticket=${n}`);i.onopen=()=>{if(d){i.close();return}b=i,e(c)==="ready"&&y&&(i.send(JSON.stringify({data:`${y}
|
|
2
|
+
`,type:"input"})),y=null)},i.onclose=()=>{b===i&&(b=null)}}function se(t){if(t.type==="history"){const n=t.messages||[];s(o,n.map(a=>({id:a.id,parts:a.content,role:a.role,timestamp:a.timestamp})),!0),s(R,!1),e(c)==="resuming"&&(s(c,"ready"),y&&b?.readyState===WebSocket.OPEN&&(b.send(JSON.stringify({data:`${y}
|
|
3
|
+
`,type:"input"})),y=null))}else if(t.type==="message")s(o,[...e(o),{id:`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:t.content||[],role:t.role||"assistant",timestamp:t.timestamp||new Date().toISOString()}],!0);else if(t.type==="tool-use"){const n={id:t.id||`tool-${Date.now()}`,input:t.input||{},toolName:t.name,type:"tool_use"},a=e(o).length>0?e(o)[e(o).length-1]:null;a?.role==="assistant"?s(o,[...e(o).slice(0,-1),{...a,parts:[...a.parts,n]}],!0):s(o,[...e(o),{id:`tool-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:[n],role:"assistant",timestamp:new Date().toISOString()}],!0)}else if(t.type==="tool-result"){const n={isError:t.isError||!1,output:t.output||"",toolUseId:t.id,type:"tool_result"},a=e(o).length>0?e(o)[e(o).length-1]:null;a?.role==="system"?s(o,[...e(o).slice(0,-1),{...a,parts:[...a.parts,n]}],!0):s(o,[...e(o),{id:`result-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:[n],role:"system",timestamp:new Date().toISOString()}],!0)}else if(t.type==="thinking"){const n={content:t.text||"",type:"thinking"},a=e(o).length>0?e(o)[e(o).length-1]:null;a?.role==="assistant"?s(o,[...e(o).slice(0,-1),{...a,parts:[...a.parts,n]}],!0):s(o,[...e(o),{id:`think-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:[n],role:"assistant",timestamp:new Date().toISOString()}],!0)}else t.type==="session-end"&&s(c,"idle")}async function ne(){if(!e(f)||d){s(c,"idle");return}const t=P();if(!t){s(c,"idle");return}s(c,"connecting");try{const n=e(f).source==="opencode"?"opencode":"claude",a=await fetch("/api/sessions/connect",{body:JSON.stringify({command:n,cwd:e(f).projectPath,sessionId:e(W)}),headers:{Authorization:`Bearer ${t.apiKey}`,"Content-Type":"application/json"},method:"POST"});if(!a.ok||d){s(c,"idle");return}const i=await a.json();s(j,i.terminalId,!0),s(c,"resuming"),z(i.sessionWs,i.terminalId),q(i.ws)}catch{s(c,"idle")}}function ae(t){if(t.trim()){if(e(c)==="ready"&&b?.readyState===WebSocket.OPEN){b.send(JSON.stringify({data:`${t}
|
|
4
|
+
`,type:"input"}));return}if(e(c)==="connecting"||e(c)==="resuming"){y=t;return}y=t,ne()}}async function oe(){e(o).length===0&&s(w,!0);try{const t=P();if(!t){s(I,"No configuration found. Please configure settings first."),s(w,!1);return}const n=e(W)??"",a=e(M);if(!n){s(I,"No session ID"),s(w,!1);return}const i=a?`id=${encodeURIComponent(n)}&project=${encodeURIComponent(a)}&limit=${e(A)}`:`id=${encodeURIComponent(n)}&limit=${e(A)}`;let r=await fetch(`/api/sessions?${i}`,{headers:{Authorization:`Bearer ${t.apiKey}`}});if(r.status===404&&!a){const S=await fetch("/api/sessions",{headers:{Authorization:`Bearer ${t.apiKey}`}});if(S.ok){const J=await S.json();for(const B of J.projects||[])if((B.sessions||[]).find(U=>U.id===n)){r=await fetch(`/api/sessions?id=${encodeURIComponent(n)}&project=${encodeURIComponent(B.id)}`,{headers:{Authorization:`Bearer ${t.apiKey}`}});break}}}if(!r.ok){s(I,"Session not found"),s(w,!1);return}const u=await r.json(),p=Array.isArray(u.messages)?u.messages:[];Y(`shooter_session_${n}`,{messages:p,session:u.session}),s(f,u.session,!0),s(o,p,!0),s(R,p.length>=e(A)),s(w,!1);return}catch{s(I,"Failed to load session")}s(w,!1)}async function ie(){if(e(N))return;const t=P();if(t){s(N,!0);try{const n=e(A)+200,a=e(W)??"",i=e(M);if(!a)return;const r=[`id=${encodeURIComponent(a)}`,`limit=${n}`];i&&r.push(`project=${encodeURIComponent(i)}`);const u=await fetch(`/api/sessions?${r.join("&")}`,{headers:{Authorization:`Bearer ${t.apiKey}`}});if(!u.ok)return;const p=await u.json(),S=Array.isArray(p.messages)?p.messages:[];s(o,S,!0),s(A,n),s(R,S.length>=n),Y(`shooter_session_${a}`,{messages:S,session:p.session})}catch{}finally{s(N,!1)}}}we(()=>{const t=ke(`shooter_session_${x.params.id}`);return t&&(s(f,t.session,!0),s(o,Array.isArray(t.messages)?t.messages:[],!0),s(w,!1)),oe().then(async()=>{if(!e(f)||d)return;const n=P();if(n)try{const a=e(f).source==="opencode"?"opencode":"claude",i=await fetch("/api/sessions/connect",{body:JSON.stringify({command:a,cwd:e(f).projectPath,noCreate:!0,sessionId:e(W)}),headers:{Authorization:`Bearer ${n.apiKey}`,"Content-Type":"application/json"},method:"POST"});if(i.ok&&!d){const r=await i.json();s(j,r.terminalId,!0),s(c,"resuming"),z(r.sessionWs,r.terminalId),q(r.ws)}}catch{}}),()=>{d=!0,O&&clearTimeout(O),C?.close(),b?.close()}});var E=Re();_e("1a2wdfb",t=>{var n=je();be(()=>{Se.title=`${(e(f)?.title||"Session")??""} - Shooter`}),h(t,n)});var re=_(E);{var ce=t=>{var n=Ce();h(t,n)},le=t=>{var n=Oe(),a=H(n),i=_(a);$(a);var r=D(a,2),u=_(r,!0);$(r),Q(()=>{X(i,"href",e(M)?`/project?id=${e(M)}`:"/"),V(u,e(I))}),h(t,n)},de=t=>{var n=De(),a=H(n),i=_(a),r=_(i),u=D(r,2);{var p=l=>{var m=Me();h(l,m)},S=l=>{var m=Ne();h(l,m)},J=l=>{var m=Ae();h(l,m)},B=l=>{var m=Pe();h(l,m)};K(u,l=>{e(c)==="connecting"?l(p):e(c)==="resuming"?l(S,1):e(k)==="connected"?l(J,2):e(k)==="reconnecting"&&l(B,3)})}$(i);var U=D(i,2),ue=_(U,!0);$(U),$(a);var F=D(a,2),G=_(F);{var fe=l=>{var m=Te(),me=_(m);{let he=T(()=>e(N)?"Loading...":"Load earlier messages");$e(me,{get text(){return e(he)},classes:"btn-ghost btn-sm",get disabled(){return e(N)},onclick:ie})}$(m),h(l,m)};K(G,l=>{e(R)&&l(fe)})}var pe=D(G,2);{let l=T(()=>[...e(o)].reverse());Ie(pe,{get messages(){return e(l)},newestFirst:!0,get connectionState(){return e(k)},showInput:!0,get sendDisabled(){return e(te)},onSendInput:ae,sessionEnded:!1})}$(F),Q(()=>{X(r,"href",e(M)?`/project?id=${e(M)}`:"/"),V(ue,e(f).title)}),h(t,n)};K(re,t=>{e(w)&&e(o).length===0?t(ce):e(I)?t(le,1):e(f)&&t(de,2)})}$(E),h(Z,E),ye()}export{Le as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as fe,j as Ye,i as H,a as h,s as D,f as w,t as Ge}from"../chunks/3MMtouT7.js";import{p as ke,q as $e,z as _e,v as Me,b as o,c as n,r as s,t as z,g as e,s as k,w as y,o as ze,d as c,A as he,x as Ue,N as Xe,$ as et}from"../chunks/Ce0VRwE1.js";import{T as Ae,s as Le,d as ne,S as tt,e as ge,C as at,f as st,I as rt,B as re,b as Ke,c as Ie,i as nt,P as Pe,g as it}from"../chunks/BTu-2gkj.js";import{h as lt}from"../chunks/DFPEaIHz.js";import{g as De}from"../chunks/
|
|
2
|
-
`).map(P=>X(P)).filter(P=>P.trim()),b=r[r.length-1]||"";return b.length<=a?b:`${b.slice(0,a)}...`}function I(t){return t.split("/").pop()||t}async function u(t,a){if(t.preventDefault(),t.stopPropagation(),!!e(x)?.apiKey)try{(await fetch(`/api/terminals/${a}`,{headers:{Authorization:`Bearer ${e(x).apiKey}`},method:"DELETE"})).ok&&(o(p,e(p).filter(b=>b.id!==a),!0),Ee($,e(p)))}catch(r){console.error("Failed to remove terminal:",r)}}var F=$t();lt("1ewpmn2",t=>{var a=wt();Xe(()=>{et.title="Terminals - Shooter"}),h(t,a)});var M=_e(F),de=n(M),ve=n(de),we=c(n(ve),2),ue=n(we);re(ue,{classes:"btn-secondary",onclick:v,get disabled(){return e(A)},children:(t,a)=>{var r=xt(),b=_e(r);Ie(b,{get svg(){return ot},classes:"icon-14"}),he(),h(t,r)},$$slots:{default:!0}});var Re=c(ue,2);re(Re,{classes:"btn-primary",onclick:f,children:(t,a)=>{var r=bt();he(),h(t,r)},$$slots:{default:!0}}),s(we),s(ve),s(de);var Oe=c(de,2);{var Be=t=>{Ke(t,{get text(){return e(C)},classes:"banner-error"})};H(Oe,t=>{e(C)&&t(Be)})}var Fe=c(Oe,2);{var He=t=>{var a=yt();ge(a,20,()=>Array(4),nt,(r,b)=>{
|
|
1
|
+
import{p as fe,j as Ye,i as H,a as h,s as D,f as w,t as Ge}from"../chunks/3MMtouT7.js";import{p as ke,q as $e,z as _e,v as Me,b as o,c as n,r as s,t as z,g as e,s as k,w as y,o as ze,d as c,A as he,x as Ue,N as Xe,$ as et}from"../chunks/Ce0VRwE1.js";import{T as Ae,s as Le,d as ne,S as tt,e as ge,C as at,f as st,I as rt,B as re,b as Ke,c as Ie,i as nt,P as Pe,g as it}from"../chunks/BTu-2gkj.js";import{h as lt}from"../chunks/DFPEaIHz.js";import{g as De}from"../chunks/BEa4nlMF.js";import{R as ot,S as ct}from"../chunks/DdpA9n1s.js";import{S as dt}from"../chunks/CG453M9q.js";import{T as ut}from"../chunks/CSjf4fBs.js";import{c as vt,s as Ee,g as mt}from"../chunks/xs1Xl3_e.js";import{i as pt}from"../chunks/gQJcRhou.js";import"../chunks/BCwT4WOg.js";import{E as Ne}from"../chunks/CMQw-Fc-.js";var ft=w("<time> </time>"),ht=w("<time> </time>");function je(ie,d){ke(d,!0);let U=fe(d,"format",3,"long"),$=fe(d,"updateInterval",3,6e4),K=fe(d,"tooltip",3,!1),S=y(()=>d.date instanceof Date?d.date:new Date(d.date)),p=y(()=>e(S).toISOString()),A=y(()=>e(S).toLocaleString(d.locale,{dateStyle:"full",timeStyle:"short"})),T=k("");function C(){const _=Date.now(),g=e(S).getTime()-_,i=Math.abs(g),f=Math.round(i/1e3),q=Math.round(i/6e4),R=Math.round(i/36e5),J=Math.round(i/864e5),B=Math.round(i/6048e5),Z=Math.round(i/2592e6),X=Math.round(i/31536e6),ee=new Intl.RelativeTimeFormat(d.locale,{style:U()});let I,u;f<60?(I="second",u=f):q<60?(I="minute",u=q):R<24?(I="hour",u=R):J<7?(I="day",u=J):B<4?(I="week",u=B):Z<12?(I="month",u=Z):(I="year",u=X);const F=g<0?-1:1;return ee.format(F*u,I)}function x(){o(T,C(),!0)}$e(()=>{if(x(),$()>0){const _=setInterval(x,$());return()=>clearInterval(_)}});var E=Ye(),le=_e(E);{var oe=_=>{Ae(_,{get text(){return e(A)},children:(v,g)=>{var i=ft(),f=n(i,!0);s(i),z(()=>{Le(i,1,`relative-time ${d.classes??""??""}`,"svelte-gzwwii"),ne(i,"datetime",e(p)),ne(i,"data-pw",typeof d.testId=="string"?d.testId:null),D(f,e(T))}),h(v,i)},$$slots:{default:!0}})},ce=_=>{var v=ht(),g=n(v,!0);s(v),z(()=>{Le(v,1,`relative-time ${d.classes??""??""}`,"svelte-gzwwii"),ne(v,"datetime",e(p)),ne(v,"data-pw",typeof d.testId=="string"?d.testId:null),D(g,e(T))}),h(_,v)};H(le,_=>{K()?_(oe):_(ce,-1)})}h(ie,E),Me()}var gt=w('<div class="section svelte-plslui"><span class="section-label svelte-plslui">Quick Launch</span> <div class="preset-grid svelte-plslui"></div></div> <div class="section svelte-plslui"><span class="section-label svelte-plslui">Working Directory</span> <!> <div class="custom-cwd-group svelte-plslui"><!></div></div> <!> <!>',1);function _t(ie,d){ke(d,!0);let U=fe(d,"open",15,!1);const $=[{args:[],command:"claude",label:"Claude Code"},{args:[],command:"opencode",label:"OpenCode"},{args:[],command:"zsh",label:"Shell / zsh"},{args:[],command:"bash",label:"Bash"}];let K=k(0),S=k(ze([])),p=k(""),A=k(""),T=k(!1),C=k("");$e(()=>{x()});async function x(){try{const v=await fetch("/api/sessions?limit=50&offset=0",{headers:{Authorization:`Bearer ${d.apiKey}`}});if(!v.ok)return;const i=(await v.json()).projects.map(f=>f.fullPath).filter(f=>typeof f=="string"&&f.length>0);o(S,[...new Set(i)],!0),e(S).length>0&&!e(p)&&o(p,e(S)[0],!0)}catch{}}function E(v){o(K,v,!0)}function le(){return $[e(K)].command}function oe(){return $[e(K)].args}function ce(){const v=e(A).trim();return v||(e(p)?e(p):"/tmp")}async function _(){const v=le();if(v){o(T,!0),o(C,"");try{const g=await fetch("/api/terminals",{body:JSON.stringify({args:oe(),command:v,cwd:ce()||void 0}),headers:{Authorization:`Bearer ${d.apiKey}`,"Content-Type":"application/json"},method:"POST"});if(!g.ok){const f=await g.json().catch(()=>({}));o(C,(typeof f.error=="string"?f.error:"")||`Failed to launch (${g.status})`,!0);return}const i=await g.json();d.onLaunch(i)}catch{o(C,"Network error — is the server running?")}finally{o(T,!1)}}}tt(ie,{side:"bottom",title:"New Terminal",get onclose(){return d.onClose},classes:"launch-sheet",get open(){return U()},set open(g){U(g)},content:g=>{var i=gt(),f=_e(i),q=c(n(f),2);ge(q,23,()=>$,u=>u.label,(u,F,M)=>{{let de=y(()=>e(K)===e(M));at(u,{mode:"radio",get selected(){return e(de)},onclick:()=>{E(e(M))},classes:"preset-choice",children:(ve,we)=>{he();var ue=Ge();z(()=>D(ue,e(F).label)),h(ve,ue)},$$slots:{default:!0}})}}),s(q),s(f);var R=c(f,2),J=c(n(R),2);{let u=y(()=>e(S).length>0?e(S).map(M=>({id:M,label:M})):[{id:"",label:"No recent projects"}]),F=y(()=>e(p)?[e(p)]:e(S).length>0?[e(S)[0]]:[""]);st(J,{get items(){return e(u)},get value(){return e(F)},placeholder:"Select a project",onchange:M=>{o(p,M[0]||"",!0)},classes:"launch-select"})}var B=c(J,2),Z=n(B);rt(Z,{label:"Or enter a custom path",dataType:"text",placeholder:"/path/to/project",classes:"input-mono launch-input",get value(){return e(A)},set value(u){o(A,u,!0)}}),s(B),s(R);var X=c(R,2);{let u=y(()=>e(T)?"Launching...":"Launch Terminal");re(X,{classes:"btn-launch",get disabled(){return e(T)},onclick:_,get showLoader(){return e(T)},get text(){return e(u)}})}var ee=c(X,2);{var I=u=>{Ke(u,{get text(){return e(C)},classes:"banner-error launch-error-banner"})};H(ee,u=>{e(C)&&u(I)})}h(g,i)},$$slots:{content:!0}}),Me()}var wt=w('<meta name="description" content="Active terminal sessions on this machine"/>'),xt=w("<!> Refresh",1),bt=w('<span class="plus-icon svelte-1ewpmn2">+</span> New Terminal',1),yt=w('<div class="loading-container"></div>'),St=w('<span class="plus-icon svelte-1ewpmn2">+</span> New Terminal',1),Tt=w('<span class="terminal-cwd svelte-1ewpmn2"> </span>'),Ct=w('<div class="terminal-preview svelte-1ewpmn2"><span class="terminal-preview-text svelte-1ewpmn2"> </span></div>'),It=w('<a class="terminal-card svelte-1ewpmn2"><div class="terminal-card-header svelte-1ewpmn2"><div class="terminal-card-left svelte-1ewpmn2"><span class="status-indicator status-running svelte-1ewpmn2"><span></span></span> <span class="terminal-command svelte-1ewpmn2"> </span> <!></div> <!></div> <div class="terminal-card-meta svelte-1ewpmn2"><!> <span class="terminal-pid svelte-1ewpmn2"> </span></div> <!></a>'),Pt=w('<span class="terminal-cwd svelte-1ewpmn2"> </span>'),At=w('<div class="terminal-preview svelte-1ewpmn2"><span class="terminal-preview-text svelte-1ewpmn2"> </span></div>'),Lt=w('<a class="terminal-card terminal-card-exited svelte-1ewpmn2"><div class="terminal-card-header svelte-1ewpmn2"><div class="terminal-card-left svelte-1ewpmn2"><span class="status-indicator status-exited svelte-1ewpmn2"><span class="status-dot-static"></span></span> <span class="terminal-command svelte-1ewpmn2"> </span> <!> <!></div> <div class="terminal-card-right svelte-1ewpmn2"><!> <!></div></div> <div class="terminal-card-meta svelte-1ewpmn2"><!></div> <!></a>'),kt=w('<div class="terminals-container svelte-1ewpmn2"><!> <!></div>'),$t=w('<main class="main"><div class="page-header"><div class="page-header-content"><div><h1 class="page-title">Terminals</h1> <p class="page-description">Active terminal sessions on this machine</p></div> <div class="page-actions"><!> <!></div></div></div> <!> <!></main> <!>',1);function qt(ie,d){ke(d,!0);const U=1e4,$="shooter_terminals",K=["claude","opencode"],S=["zsh","bash","sh","fish"];let p=k(ze([])),A=k(!1),T=!1,C=k(null),x=k(null),E=null;const le=y(()=>e(p).filter(t=>t.status==="running")),oe=y(()=>e(p).filter(t=>t.status==="exited"));$e(()=>{ce();const t=mt($,1e4);t&&(o(p,t,!0),o(A,!1)),_(),E=setInterval(()=>{e(x)?.apiKey&&_()},U)}),Ue(()=>{E&&(clearInterval(E),E=null)});function ce(){try{const t=localStorage.getItem("shooter_config");if(t){const a=JSON.parse(t);pt(a)?o(x,a,!0):(localStorage.removeItem("shooter_config"),o(x,null))}}catch{}}async function _(){if(!(!e(x)?.apiKey||T)){T=!0,e(p).length===0&&o(A,!0);try{const a=await fetch("/api/terminals",{headers:{Authorization:`Bearer ${e(x).apiKey}`}});if(!a.ok){o(C,`Failed to load terminals (HTTP ${a.status})`);return}o(C,null);const r=await a.json();o(p,r.terminals.map(b=>({...b,lastOutput:b.lastOutput??null})),!0),Ee($,e(p))}catch(t){o(C,"Failed to load terminals"),console.error("Failed to fetch terminals:",t)}finally{o(A,!1),T=!1}}}async function v(){o(A,!0),vt($),await _()}function g(){De("/config")}let i=k(!1);function f(){o(i,!0)}function q(){o(i,!1)}function R(t){o(i,!1),De(`/terminals/${t.id}`)}function J(t){const a=t.split("/").pop()||t;return K.includes(a)?"ai":(S.includes(a),"shell")}function B(t){return t.status==="exited"?{class:"pill-badge-ended",label:"ENDED"}:J(t.command)==="ai"?{class:"pill-badge-ai",label:"AI"}:{class:"pill-badge-shell",label:"SHELL"}}function Z(t,a=40){if(t.length<=a)return t;const r=t.split("/");return r.length<=3?t:`${r[0]}/.../${r.slice(-2).join("/")}`}function X(t){return t.replace(/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07]*\x07|\x1b\[[\?]?[0-9;]*[a-zA-Z]|\x1b/g,"").replace(/[\x00-\x1f]/g,"").trim()}function ee(t,a=80){if(!t)return"";const r=t.split(`
|
|
2
|
+
`).map(P=>X(P)).filter(P=>P.trim()),b=r[r.length-1]||"";return b.length<=a?b:`${b.slice(0,a)}...`}function I(t){return t.split("/").pop()||t}async function u(t,a){if(t.preventDefault(),t.stopPropagation(),!!e(x)?.apiKey)try{(await fetch(`/api/terminals/${a}`,{headers:{Authorization:`Bearer ${e(x).apiKey}`},method:"DELETE"})).ok&&(o(p,e(p).filter(b=>b.id!==a),!0),Ee($,e(p)))}catch(r){console.error("Failed to remove terminal:",r)}}var F=$t();lt("1ewpmn2",t=>{var a=wt();Xe(()=>{et.title="Terminals - Shooter"}),h(t,a)});var M=_e(F),de=n(M),ve=n(de),we=c(n(ve),2),ue=n(we);re(ue,{classes:"btn-secondary",onclick:v,get disabled(){return e(A)},children:(t,a)=>{var r=xt(),b=_e(r);Ie(b,{get svg(){return ot},classes:"icon-14"}),he(),h(t,r)},$$slots:{default:!0}});var Re=c(ue,2);re(Re,{classes:"btn-primary",onclick:f,children:(t,a)=>{var r=bt();he(),h(t,r)},$$slots:{default:!0}}),s(we),s(ve),s(de);var Oe=c(de,2);{var Be=t=>{Ke(t,{get text(){return e(C)},classes:"banner-error"})};H(Oe,t=>{e(C)&&t(Be)})}var Fe=c(Oe,2);{var He=t=>{var a=yt();ge(a,20,()=>Array(4),nt,(r,b)=>{ct(r,{classes:"shimmer-card"})}),s(a),h(t,a)},qe=t=>{Ne(t,{title:"Configuration Required",description:"Set up your API credentials to view terminal sessions",icon:r=>{Ie(r,{get svg(){return dt},classes:"icon-24"})},children:(r,b)=>{re(r,{classes:"btn-primary",onclick:g,text:"Configure Settings"})}})},Je=t=>{Ne(t,{title:"No terminals",description:"Launch a new terminal session to get started. Terminal sessions will appear here once created.",icon:r=>{Ie(r,{get svg(){return ut},classes:"icon-24"})},children:(r,b)=>{re(r,{classes:"btn-primary",onclick:f,children:(P,l)=>{var Q=St();he(),h(P,Q)},$$slots:{default:!0}})}})},Ze=t=>{var a=kt(),r=n(a);ge(r,17,()=>e(le),P=>P.id,(P,l)=>{const Q=y(()=>B(e(l)));var N=It(),V=n(N),W=n(V),Y=n(W),xe=n(Y);s(Y);var te=c(Y,2),be=n(te,!0);s(te);var ye=c(te,2);Pe(ye,{get text(){return e(Q).label},get classes(){return e(Q).class}}),s(W);var me=c(W,2);je(me,{get date(){return e(l).createdAt},format:"narrow",classes:"terminal-time"}),s(V);var ae=c(V,2),pe=n(ae);{let m=y(()=>e(l).currentCwd||e(l).cwd);Ae(pe,{get text(){return e(m)},position:"bottom",children:(L,O)=>{var j=Tt(),G=n(j,!0);s(j),z(We=>D(G,We),[()=>Z(e(l).currentCwd||e(l).cwd)]),h(L,j)},$$slots:{default:!0}})}var se=c(pe,2),Se=n(se);s(se),s(ae);var Te=c(ae,2);{var Ce=m=>{var L=Ct(),O=n(L),j=n(O,!0);s(O),s(L),z(G=>D(j,G),[()=>ee(e(l).lastOutput)]),h(m,L)};H(Te,m=>{e(l).lastOutput&&m(Ce)})}s(N),z(m=>{ne(N,"href",`/terminals/${e(l).id??""}`),Le(xe,1,it(e(l).isActive?"status-dot-active":"status-dot-idle")),D(be,m),D(Se,`PID ${e(l).pid??""}`)},[()=>I(e(l).command)]),h(P,N)});var b=c(r,2);ge(b,17,()=>e(oe),P=>P.id,(P,l)=>{const Q=y(()=>B(e(l)));var N=Lt(),V=n(N),W=n(V),Y=c(n(W),2),xe=n(Y,!0);s(Y);var te=c(Y,2);Pe(te,{get text(){return e(Q).label},get classes(){return e(Q).class}});var be=c(te,2);{var ye=m=>{{let L=y(()=>e(l).exitCode!==0?"pill-exit-error":"pill-exit-ok");Pe(m,{get text(){return`exit ${e(l).exitCode??""}`},get classes(){return e(L)}})}};H(be,m=>{e(l).exitCode!==null&&m(ye)})}s(W);var me=c(W,2),ae=n(me);{let m=y(()=>e(l).exitedAt||e(l).createdAt);je(ae,{get date(){return e(m)},format:"narrow",classes:"terminal-time"})}var pe=c(ae,2);re(pe,{classes:"btn-ghost btn-sm btn-remove",onclick:m=>{u(m,e(l).id)},text:"×"}),s(me),s(V);var se=c(V,2),Se=n(se);Ae(Se,{get text(){return e(l).cwd},position:"bottom",children:(m,L)=>{var O=Pt(),j=n(O,!0);s(O),z(G=>D(j,G),[()=>Z(e(l).cwd)]),h(m,O)},$$slots:{default:!0}}),s(se);var Te=c(se,2);{var Ce=m=>{var L=At(),O=n(L),j=n(O,!0);s(O),s(L),z(G=>D(j,G),[()=>ee(e(l).lastOutput)]),h(m,L)};H(Te,m=>{e(l).lastOutput&&m(Ce)})}s(N),z(m=>{ne(N,"href",`/terminals/${e(l).id??""}`),D(xe,m)},[()=>I(e(l).command)]),h(P,N)}),s(a),h(t,a)};H(Fe,t=>{e(A)&&e(p).length===0?t(He):e(x)?.apiKey?e(p).length===0?t(Je,2):t(Ze,-1):t(qe,1)})}s(M);var Qe=c(M,2);{var Ve=t=>{_t(t,{get apiKey(){return e(x).apiKey},onClose:q,onLaunch:R,get open(){return e(i)},set open(a){o(i,a,!0)}})};H(Qe,t=>{e(x)?.apiKey&&t(Ve)})}h(ie,F),Me()}export{qt as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/CR6bkGJW.js","../chunks/PPVm8Dsz.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{_ as ke}from"../chunks/PPVm8Dsz.js";import{p as Se,i as q,s as rt,a as S,f as C,j as xe,c as Ce,e as Ie,g as Nt}from"../chunks/3MMtouT7.js";import{p as ot,v as it,g as t,w as h,c as k,d as c,r as g,t as H,z as Ft,s as m,o as Te,q as Ee,x as je,y as Ke,b as n,$ as Me}from"../chunks/Ce0VRwE1.js";import{h as qe}from"../chunks/DFPEaIHz.js";import{m as Ae,s as ft,d as zt,B as U,e as Bt,M as De,K as Pe,P as Ot,k as Rt,c as $e,T as Lt,n as Ne,I as Oe}from"../chunks/BTu-2gkj.js";import{g as tt}from"../chunks/Bkcn25gz.js";import{p as Re}from"../chunks/D347PuJK.js";import{A as Le}from"../chunks/DzuS5Nbr.js";import{C as We}from"../chunks/BsNWiLas.js";import{E as Fe}from"../chunks/CMQw-Fc-.js";function ze(y,o){ot(o,!0);let b=Se(o,"open",15,!1);const u=h(()=>o.commands.map((w,a)=>({label:w.label,value:String(a)})));function T(w){const a=parseInt(w.value,10);o.commands[a]&&o.commands[a].action()}Ae(y,{get items(){return t(u)},placeholder:"Type a command...",emptyText:"No matching commands",onselect:T,get onclose(){return o.onClose},classes:"command-palette",get open(){return b()},set open(w){b(w)}}),it()}var Be=C('<div><span></span> <span class="status-label svelte-1cg9pai"> </span> <!></div>');function He(y,o){const b=h(()=>o.status==="connected"?"Connected":o.status==="reconnecting"?"Reconnecting...":"Disconnected");var u=Be();let T;var w=k(u),a=c(w,2),O=k(a,!0);g(a);var A=c(a,2);{var E=x=>{U(x,{classes:"btn-ghost btn-sm btn-retry",get onclick(){return o.onretry},text:"Retry"})};q(A,x=>{o.status==="disconnected"&&o.onretry&&x(E)})}g(u),H(()=>{T=ft(u,1,"connection-status svelte-1cg9pai",null,T,{reconnecting:o.status==="reconnecting",disconnected:o.status==="disconnected",connected:o.status==="connected"}),zt(u,"aria-label",`Connection: ${o.status??""}`),ft(w,1,`conn-dot ${o.status??""}`,"svelte-1cg9pai"),rt(O,t(b))}),S(y,u)}const Ht=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.userAgent),Wt=Ht?"⌘":"Ctrl";function Ue(y){function o(b){if((Ht?b.metaKey:b.ctrlKey)&&!Ge()&&b.key==="/"){b.preventDefault(),b.stopPropagation(),y.onHelp();return}}return window.addEventListener("keydown",o,!0),{destroy(){window.removeEventListener("keydown",o,!0)}}}function Je(){return[{description:"Command palette",keys:`${Wt}+K`},{description:"Keyboard shortcuts",keys:`${Wt}+/`}]}function Ge(){const y=document.activeElement;if(!y)return!1;const o=y.tagName;return!!(o==="INPUT"||o==="TEXTAREA"||y.isContentEditable||y.closest(".xterm"))}var Ve=C('<div class="quick-keys svelte-64qat5" role="toolbar" aria-label="Quick terminal keys"></div>');function Qe(y,o){ot(o,!0);const b=[{escape:"",label:"Ctrl+C"},{escape:" ",label:"Tab"},{escape:"\x1B[A",label:"↑"},{escape:"\x1B[B",label:"↓"},{escape:"\x1B",label:"Esc"},{escape:"",label:"Ctrl+D"},{escape:"",label:"Ctrl+Z"}];var u=Ve();Bt(u,21,()=>b,T=>T.label,(T,w)=>{U(T,{classes:"btn-quick-key",onclick:()=>{o.onKey(t(w).escape)},get text(){return t(w).label}})}),g(u),S(y,u),it()}var Xe=C('<div class="shortcut-row svelte-1u7lstk"><span class="shortcut-desc svelte-1u7lstk"> </span> <!></div>'),Ze=C('<div class="shortcuts-list svelte-1u7lstk"></div>');function Ye(y,o){ot(o,!0);const b=Je();var u=xe(),T=Ft(u);{var w=a=>{De(a,{header:{text:"Keyboard Shortcuts"},get onoverlayClick(){return o.onClose},classes:"shortcuts-modal",content:A=>{var E=Ze();Bt(E,21,()=>b,x=>x.keys,(x,F)=>{var R=Xe(),d=k(R),j=k(d,!0);g(d);var P=c(d,2);Pe(P,{get keys(){return t(F).keys},classes:"shortcut-kbd"}),g(R),H(()=>rt(j,t(F).description)),S(x,R)}),g(E),S(A,E)},$$slots:{content:!0}})};q(T,a=>{o.open&&a(w)})}S(y,u),it()}var tn=C('<meta name="description" content="Interactive terminal session"/>'),en=C('<div class="term-page svelte-1tubujq"><div class="term-topbar svelte-1tubujq"><div class="skeleton" style="width: 120px; height: 20px;"></div></div> <div class="term-body-loading svelte-1tubujq"><div class="skeleton" style="width: 100%; height: 100%;"></div></div></div>'),nn=C('<main class="main"><div class="session-back-row"><a href="/terminals" class="back-link"><span class="back-arrow">←</span> Terminals</a></div> <!></main>'),sn=C("<span></span>"),an=C('<span class="term-cwd svelte-1tubujq"> </span>'),rn=C('<a class="term-session-link svelte-1tubujq" title="View session history">Session</a>'),on=C('<div class="term-input-area svelte-1tubujq"><!> <div class="term-input-bar svelte-1tubujq"><!> <!></div></div>'),ln=C('<div class="term-exited-bar svelte-1tubujq"><span>Process exited</span> <!></div>'),cn=C('<div class="term-page svelte-1tubujq"><div class="term-topbar svelte-1tubujq"><div class="term-topbar-left svelte-1tubujq"><a href="/terminals" class="term-back svelte-1tubujq" aria-label="Back to terminals">←</a> <span class="term-command-name svelte-1tubujq"> </span> <!> <!> <!> <!> <!></div> <div class="term-topbar-right svelte-1tubujq"><!> <!> <!></div></div> <div class="term-body svelte-1tubujq"></div> <!> <div class="term-chat-body svelte-1tubujq"><!></div> <!></div>'),un=C("<!> <!> <!>",1);function _n(y,o){ot(o,!0);const b=()=>Ie(Re,"$page",u),[u,T]=Ce(),w=["claude","opencode"];let a=m(null),O=m(!0),A=m(null),E=m(!1),x=m(!1),F=m(!1),R=m(null),d=m("raw"),j=m("disconnected"),P=m("disconnected"),z=m(""),D=m(Te([])),vt=m(!1),J=m(null),lt=m(null),$=null,pt=null,L=m(!1),ct=m(!1),f=null,W=null,v=!1;const G=h(()=>b().params.id),V=h(()=>t(a)?w.includes((t(a).command.split("/").pop()||"").toLowerCase()):!1),B=h(()=>t(a)?.status==="running"),mt=h(()=>t(a)?.command.split("/").pop()||"terminal"),Ut=h(()=>t(V)?"AI":"SHELL"),Jt=h(()=>t(V)?"pill-badge-ai":"pill-badge-shell"),Gt=["Raw","Chat"],ht=h(()=>t(d)==="raw"?t(j):t(P)),Vt=h(()=>t(d)==="raw"?0:1),gt=h(()=>Xt(t(R)||t(a)?.cwd||"")),Qt=h(()=>{const e=[{action:()=>{tt("/")},label:"Go to Home"},{action:()=>{tt("/terminals")},label:"Go to Terminals"},{action:()=>{tt("/config")},label:"Go to Settings"},{action:()=>{n(L,!0)},label:"Show keyboard shortcuts"}];return t(B)&&e.push({action:()=>{bt()},label:"Kill terminal"}),e});function Xt(e){if(!e)return"";const s="";let r=e;if(typeof navigator<"u"){const l=e.split("/");l.length>=3&&l[1]==="Users"?r=`~/${l.slice(3).join("/")}`:l.length>=3&&l[1]==="home"&&(r=`~/${l.slice(3).join("/")}`)}if(r.length>30){const l=r.split("/");if(l.length>2)return`.../${l.slice(-2).join("/")}`}return r||s}function Q(){try{const e=localStorage.getItem("shooter_config");if(!e)return null;const s=JSON.parse(e);return typeof s?.apiKey=="string"&&s.apiKey?s:null}catch{return null}}async function Zt(){const e=Q();if(!e){n(A,"No configuration found. Please configure settings first."),n(O,!1);return}try{const s=await fetch(`/api/terminals/${t(G)}`,{headers:{Authorization:`Bearer ${e.apiKey}`}});if(!s.ok){n(A,s.status===404?"Terminal not found":"Failed to load terminal",!0),n(O,!1);return}n(a,await s.json(),!0)}catch{n(A,"Failed to connect to server")}n(O,!1)}async function yt(){const e=Q();if(!e)return null;try{const s=await fetch("/api/ws-ticket",{headers:{Authorization:`Bearer ${e.apiKey}`},method:"POST"});return s.ok?(await s.json()).ticket:null}catch{return null}}async function bt(){if(!t(a)||t(E))return;const e=Q();if(e){n(E,!0);try{(await fetch(`/api/terminals/${t(G)}`,{headers:{Authorization:`Bearer ${e.apiKey}`},method:"DELETE"})).ok?tt("/terminals"):n(E,!1)}catch{n(E,!1)}}}async function Yt(){if(!t(a)||t(x))return;const e=Q();if(e){n(x,!0);try{(await fetch(`/api/terminals/${t(G)}`,{headers:{Authorization:`Bearer ${e.apiKey}`},method:"DELETE"})).ok?tt("/terminals"):n(x,!1)}catch{n(x,!1)}}}async function ut(){if(!t(J)||!t(a)||v)return;const s=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}${t(a).ws}`,r=async()=>{const l=await yt();if(!l)throw new Error("Failed to obtain WebSocket ticket");return l};try{const{createTerminal:l}=await ke(async()=>{const{createTerminal:K}=await import("../chunks/CR6bkGJW.js");return{createTerminal:K}},__vite__mapDeps([0,1]),import.meta.url);if(v||!t(J))return;const p=await l({apiKey:Q()?.apiKey,container:t(J),fontSize:window.innerWidth<768?12:14,getTicket:r,onActivity:K=>{v||n(F,K,!0)},onCwd:K=>{v||n(R,K,!0)},onDisconnect:()=>{v||n(j,"reconnecting")},onExit:K=>{!v&&t(a)&&(n(a,{...t(a),exitCode:K,exitedAt:new Date().toISOString(),status:"exited"},!0),n(j,"disconnected"))},onReconnect:()=>{v||n(j,"connected")},terminalId:t(G),wsUrl:s});if(v){p.dispose();return}$=p,n(j,"connected")}catch(l){console.error("Failed to initialize terminal:",l),n(j,"disconnected")}}function wt(){$&&($.dispose(),$=null)}async function et(){if(!t(a)||v||f&&(f.readyState===WebSocket.OPEN||f.readyState===WebSocket.CONNECTING))return;const e=await yt();if(!e||v||!t(a)){n(P,"disconnected");return}const r=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}${t(a).sessionWs}?ticket=${e}`;f=new WebSocket(r),f.onopen=()=>{v||(n(P,"connected"),f?.send(JSON.stringify({sessionId:t(G),type:"subscribe"})))},f.onmessage=l=>{if(!v)try{const p=JSON.parse(l.data);te(p)}catch{}},f.onclose=()=>{!v&&t(a)?.status==="running"&&(n(P,"reconnecting"),W&&clearTimeout(W),W=setTimeout(()=>{W=null,!v&&t(a)?.status==="running"&&et()},2e3))},f.onerror=()=>{v||n(P,"disconnected")}}function X(){return t(D)}function te(e){if(e.type==="history"){const s=e.messages||[];n(D,s.map(r=>({id:r.id,parts:r.content,role:r.role,timestamp:r.timestamp})),!0)}else if(e.type==="message"){const s=typeof e.role=="string"?e.role:"assistant",r=s==="user"?"user":s==="system"?"system":"assistant",l={id:`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:e.content||[],role:r,timestamp:(typeof e.timestamp=="string"?e.timestamp:"")||new Date().toISOString()};n(D,X().concat(l),!0)}else if(e.type==="tool-use"){const s={id:e.id||`tool-${Date.now()}`,input:e.input||{},toolName:e.name,type:"tool_use"},r={id:`tool-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:[s],role:"assistant",timestamp:new Date().toISOString()};n(D,X().concat(r),!0)}else if(e.type==="tool-result"){const s={isError:e.isError||!1,output:e.output||"",toolUseId:e.id,type:"tool_result"},r={id:`result-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:[s],role:"system",timestamp:new Date().toISOString()};n(D,X().concat(r),!0)}else if(e.type==="thinking"){const s={content:e.text||"",type:"thinking"},r=X(),l=r.length-1;if(l>=0&&r[l].role==="assistant"){const p=r[l],K={id:p.id,parts:p.parts.concat(s),role:p.role,timestamp:p.timestamp};n(D,[...r.slice(0,l),K],!0)}else{const p={id:`think-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:[s],role:"assistant",timestamp:new Date().toISOString()};n(D,r.concat(p),!0)}}else if(e.type==="error"){const s={content:e.message||"Unknown error",type:"text"},r={id:`err-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:[s],role:"system",timestamp:new Date().toISOString()};n(D,X().concat(r),!0)}else e.type==="session-end"&&(n(vt,!0),t(a)&&n(a,{...t(a),status:"exited"},!0))}function _t(){W&&(clearTimeout(W),W=null),f&&(f.onclose=null,f.close(),f=null)}function kt(){t(z).trim()&&($&&t(j)==="connected"&&$.sendInput(`${t(z)}\r`),n(z,""),t(lt)?.focus())}function ee(e){!e.trim()||f?.readyState!==WebSocket.OPEN||f.send(JSON.stringify({text:e,type:"send-input"}))}function St(){f?.readyState===WebSocket.OPEN&&f.send(JSON.stringify({type:"cancel"}))}function ne(e){t(d)==="raw"?$&&t(j)==="connected"&&$.sendInput(e):t(d)==="chat"&&e===""&&St()}function se(e){e.key==="Enter"&&!e.shiftKey&&(e.preventDefault(),kt())}let nt=!1,st=!1;function ae(e){e!==t(d)&&(n(d,e,!0),e==="raw"&&!nt?(requestAnimationFrame(()=>{ut()}),nt=!0):e==="chat"&&!st&&(et(),st=!0))}function re(){t(d)==="raw"?(wt(),n(j,"reconnecting"),ut(),nt=!0):(_t(),n(P,"reconnecting"),et(),st=!0)}Ee(async()=>{await Zt(),!v&&(pt=Ue({onHelp:()=>{n(L,!t(L))}}),!(!t(a)||t(A))&&(t(V)&&window.innerWidth<768?n(d,"chat"):n(d,"raw"),t(d)==="raw"?(requestAnimationFrame(()=>{ut()}),nt=!0):(et(),st=!0)))}),je(()=>{v=!0,wt(),_t(),pt?.destroy()});var xt=un();qe("1tubujq",e=>{var s=tn();Ke(()=>{Me.title=`${t(mt)??""} - Terminal - Shooter`}),S(e,s)});var Ct=Ft(xt);{var oe=e=>{var s=en();S(e,s)},ie=e=>{var s=nn(),r=c(k(s),2);Fe(r,{title:"Error",get description(){return t(A)},icon:p=>{$e(p,{get svg(){return Le},classes:"icon-24"})}}),g(s),S(e,s)},le=e=>{var s=cn(),r=k(s),l=k(r),p=c(k(l),2),K=k(p,!0);g(p);var Tt=c(p,2);Ot(Tt,{get text(){return t(Ut)},get classes(){return t(Jt)}});var Et=c(Tt,2);{var ue=i=>{{let _=h(()=>t(F)?"Active":"Idle");Lt(i,{get text(){return t(_)},position:"bottom",children:(M,N)=>{var I=sn();H(()=>ft(I,1,`activity-dot ${t(F)?"activity-active":"activity-idle"}`,"svelte-1tubujq")),S(M,I)},$$slots:{default:!0}})}};q(Et,i=>{t(B)&&i(ue)})}var jt=c(Et,2);{var de=i=>{{let _=h(()=>t(R)||t(a)?.cwd||"");Lt(i,{get text(){return t(_)},position:"bottom",children:(M,N)=>{var I=an(),Z=k(I,!0);g(I),H(()=>rt(Z,t(gt))),S(M,I)},$$slots:{default:!0}})}};q(jt,i=>{t(gt)&&i(de)})}var Kt=c(jt,2);He(Kt,{get status(){return t(ht)},onretry:re});var fe=c(Kt,2);{var ve=i=>{const _=h(()=>t(a).sessionFile??"");var M=rn();H(N=>zt(M,"href",`/session/${N??""}`),[()=>t(_).split(/[\\/]/).pop()?.replace(".jsonl","")||""]),S(i,M)};q(fe,i=>{t(V)&&t(a)?.sessionFile&&i(ve)})}g(l);var Mt=c(l,2),qt=k(Mt);{var pe=i=>{Ne(i,{get items(){return Gt},get activeIndex(){return t(Vt)},onchange:_=>{ae(_===0?"raw":"chat")},classes:"term-tabs"})};q(qt,i=>{t(V)&&i(pe)})}var At=c(qt,2);U(At,{classes:"term-shortcuts-btn",onclick:()=>{n(L,!t(L))},text:"?",ariaLabel:"Keyboard shortcuts"});var me=c(At,2);{var he=i=>{U(i,{classes:"btn-danger btn-sm",onclick:bt,get disabled(){return t(E)},get showLoader(){return t(E)},text:"Kill"})},ge=i=>{U(i,{classes:"btn-secondary btn-sm",onclick:Yt,get disabled(){return t(x)},get showLoader(){return t(x)},text:"Remove"})};q(me,i=>{t(B)?i(he):i(ge,-1)})}g(Mt),g(r);var dt=c(r,2);let Dt;Nt(dt,i=>n(J,i),()=>t(J));var Pt=c(dt,2);{var ye=i=>{var _=on(),M=k(_);Qe(M,{onKey:ne});var N=c(M,2),I=k(N);Nt(Oe(I,{dataType:"text",useTextArea:!0,placeholder:"Type command... (Shift+Enter for new line)",classes:"input-mono term-input-field",onKeyDown:se,get value(){return t(z)},set value(Y){n(z,Y,!0)}}),Y=>n(lt,Y,!0),()=>t(lt));var Z=c(I,2);{let Y=h(()=>!t(z).trim());U(Z,{classes:"btn-primary btn-send",onclick:kt,get disabled(){return t(Y)},text:"↵"})}g(N),g(_),S(i,_)};q(Pt,i=>{t(B)&&t(d)==="raw"&&i(ye)})}var at=c(Pt,2);let $t;var be=k(at);We(be,{get messages(){return t(D)},get connectionState(){return t(ht)},get sessionEnded(){return t(vt)},get showInput(){return t(B)},onSendInput:ee,onCancel:St}),g(at);var we=c(at,2);{var _e=i=>{var _=ln(),M=c(k(_),2);{var N=I=>{{let Z=h(()=>t(a).exitCode!==0?"pill-exit-error":"pill-exit-ok");Ot(I,{get text(){return`code ${t(a).exitCode??""}`},get classes(){return t(Z)}})}};q(M,I=>{t(a).exitCode!==null&&I(N)})}g(_),S(i,_)};q(we,i=>{t(B)||i(_e)})}g(s),H(()=>{rt(K,t(mt)),Dt=Rt(dt,"",Dt,{display:t(d)==="raw"?"flex":"none"}),$t=Rt(at,"",$t,{display:t(d)==="chat"?"flex":"none"})}),S(e,s)};q(Ct,e=>{t(O)?e(oe):t(A)?e(ie,1):t(a)&&e(le,2)})}var It=c(Ct,2);Ye(It,{get open(){return t(L)},onClose:()=>{n(L,!1)}});var ce=c(It,2);ze(ce,{get commands(){return t(Qt)},onClose:()=>{n(ct,!1)},get open(){return t(ct)},set open(e){n(ct,e,!0)}}),S(y,xt),it(),T()}export{_n as component};
|
|
2
|
+
import{_ as ke}from"../chunks/PPVm8Dsz.js";import{p as Se,i as q,s as rt,a as S,f as C,j as xe,c as Ce,e as Ie,g as Nt}from"../chunks/3MMtouT7.js";import{p as ot,v as it,g as t,w as h,c as k,d as c,r as g,t as H,z as Ft,s as m,o as Te,q as Ee,x as je,y as Ke,b as n,$ as Me}from"../chunks/Ce0VRwE1.js";import{h as qe}from"../chunks/DFPEaIHz.js";import{m as Ae,s as ft,d as zt,B as U,e as Bt,M as De,K as Pe,P as Ot,k as Rt,c as $e,T as Lt,n as Ne,I as Oe}from"../chunks/BTu-2gkj.js";import{g as tt}from"../chunks/BEa4nlMF.js";import{p as Re}from"../chunks/C7SeOWDG.js";import{A as Le}from"../chunks/DzuS5Nbr.js";import{C as We}from"../chunks/BsNWiLas.js";import{E as Fe}from"../chunks/CMQw-Fc-.js";function ze(y,o){ot(o,!0);let b=Se(o,"open",15,!1);const u=h(()=>o.commands.map((w,a)=>({label:w.label,value:String(a)})));function T(w){const a=parseInt(w.value,10);o.commands[a]&&o.commands[a].action()}Ae(y,{get items(){return t(u)},placeholder:"Type a command...",emptyText:"No matching commands",onselect:T,get onclose(){return o.onClose},classes:"command-palette",get open(){return b()},set open(w){b(w)}}),it()}var Be=C('<div><span></span> <span class="status-label svelte-1cg9pai"> </span> <!></div>');function He(y,o){const b=h(()=>o.status==="connected"?"Connected":o.status==="reconnecting"?"Reconnecting...":"Disconnected");var u=Be();let T;var w=k(u),a=c(w,2),O=k(a,!0);g(a);var A=c(a,2);{var E=x=>{U(x,{classes:"btn-ghost btn-sm btn-retry",get onclick(){return o.onretry},text:"Retry"})};q(A,x=>{o.status==="disconnected"&&o.onretry&&x(E)})}g(u),H(()=>{T=ft(u,1,"connection-status svelte-1cg9pai",null,T,{reconnecting:o.status==="reconnecting",disconnected:o.status==="disconnected",connected:o.status==="connected"}),zt(u,"aria-label",`Connection: ${o.status??""}`),ft(w,1,`conn-dot ${o.status??""}`,"svelte-1cg9pai"),rt(O,t(b))}),S(y,u)}const Ht=typeof navigator<"u"&&/Mac|iPhone|iPad/.test(navigator.userAgent),Wt=Ht?"⌘":"Ctrl";function Ue(y){function o(b){if((Ht?b.metaKey:b.ctrlKey)&&!Ge()&&b.key==="/"){b.preventDefault(),b.stopPropagation(),y.onHelp();return}}return window.addEventListener("keydown",o,!0),{destroy(){window.removeEventListener("keydown",o,!0)}}}function Je(){return[{description:"Command palette",keys:`${Wt}+K`},{description:"Keyboard shortcuts",keys:`${Wt}+/`}]}function Ge(){const y=document.activeElement;if(!y)return!1;const o=y.tagName;return!!(o==="INPUT"||o==="TEXTAREA"||y.isContentEditable||y.closest(".xterm"))}var Ve=C('<div class="quick-keys svelte-64qat5" role="toolbar" aria-label="Quick terminal keys"></div>');function Qe(y,o){ot(o,!0);const b=[{escape:"",label:"Ctrl+C"},{escape:" ",label:"Tab"},{escape:"\x1B[A",label:"↑"},{escape:"\x1B[B",label:"↓"},{escape:"\x1B",label:"Esc"},{escape:"",label:"Ctrl+D"},{escape:"",label:"Ctrl+Z"}];var u=Ve();Bt(u,21,()=>b,T=>T.label,(T,w)=>{U(T,{classes:"btn-quick-key",onclick:()=>{o.onKey(t(w).escape)},get text(){return t(w).label}})}),g(u),S(y,u),it()}var Xe=C('<div class="shortcut-row svelte-1u7lstk"><span class="shortcut-desc svelte-1u7lstk"> </span> <!></div>'),Ze=C('<div class="shortcuts-list svelte-1u7lstk"></div>');function Ye(y,o){ot(o,!0);const b=Je();var u=xe(),T=Ft(u);{var w=a=>{De(a,{header:{text:"Keyboard Shortcuts"},get onoverlayClick(){return o.onClose},classes:"shortcuts-modal",content:A=>{var E=Ze();Bt(E,21,()=>b,x=>x.keys,(x,F)=>{var R=Xe(),d=k(R),j=k(d,!0);g(d);var P=c(d,2);Pe(P,{get keys(){return t(F).keys},classes:"shortcut-kbd"}),g(R),H(()=>rt(j,t(F).description)),S(x,R)}),g(E),S(A,E)},$$slots:{content:!0}})};q(T,a=>{o.open&&a(w)})}S(y,u),it()}var tn=C('<meta name="description" content="Interactive terminal session"/>'),en=C('<div class="term-page svelte-1tubujq"><div class="term-topbar svelte-1tubujq"><div class="skeleton" style="width: 120px; height: 20px;"></div></div> <div class="term-body-loading svelte-1tubujq"><div class="skeleton" style="width: 100%; height: 100%;"></div></div></div>'),nn=C('<main class="main"><div class="session-back-row"><a href="/terminals" class="back-link"><span class="back-arrow">←</span> Terminals</a></div> <!></main>'),sn=C("<span></span>"),an=C('<span class="term-cwd svelte-1tubujq"> </span>'),rn=C('<a class="term-session-link svelte-1tubujq" title="View session history">Session</a>'),on=C('<div class="term-input-area svelte-1tubujq"><!> <div class="term-input-bar svelte-1tubujq"><!> <!></div></div>'),ln=C('<div class="term-exited-bar svelte-1tubujq"><span>Process exited</span> <!></div>'),cn=C('<div class="term-page svelte-1tubujq"><div class="term-topbar svelte-1tubujq"><div class="term-topbar-left svelte-1tubujq"><a href="/terminals" class="term-back svelte-1tubujq" aria-label="Back to terminals">←</a> <span class="term-command-name svelte-1tubujq"> </span> <!> <!> <!> <!> <!></div> <div class="term-topbar-right svelte-1tubujq"><!> <!> <!></div></div> <div class="term-body svelte-1tubujq"></div> <!> <div class="term-chat-body svelte-1tubujq"><!></div> <!></div>'),un=C("<!> <!> <!>",1);function _n(y,o){ot(o,!0);const b=()=>Ie(Re,"$page",u),[u,T]=Ce(),w=["claude","opencode"];let a=m(null),O=m(!0),A=m(null),E=m(!1),x=m(!1),F=m(!1),R=m(null),d=m("raw"),j=m("disconnected"),P=m("disconnected"),z=m(""),D=m(Te([])),vt=m(!1),J=m(null),lt=m(null),$=null,pt=null,L=m(!1),ct=m(!1),f=null,W=null,v=!1;const G=h(()=>b().params.id),V=h(()=>t(a)?w.includes((t(a).command.split("/").pop()||"").toLowerCase()):!1),B=h(()=>t(a)?.status==="running"),mt=h(()=>t(a)?.command.split("/").pop()||"terminal"),Ut=h(()=>t(V)?"AI":"SHELL"),Jt=h(()=>t(V)?"pill-badge-ai":"pill-badge-shell"),Gt=["Raw","Chat"],ht=h(()=>t(d)==="raw"?t(j):t(P)),Vt=h(()=>t(d)==="raw"?0:1),gt=h(()=>Xt(t(R)||t(a)?.cwd||"")),Qt=h(()=>{const e=[{action:()=>{tt("/")},label:"Go to Home"},{action:()=>{tt("/terminals")},label:"Go to Terminals"},{action:()=>{tt("/config")},label:"Go to Settings"},{action:()=>{n(L,!0)},label:"Show keyboard shortcuts"}];return t(B)&&e.push({action:()=>{bt()},label:"Kill terminal"}),e});function Xt(e){if(!e)return"";const s="";let r=e;if(typeof navigator<"u"){const l=e.split("/");l.length>=3&&l[1]==="Users"?r=`~/${l.slice(3).join("/")}`:l.length>=3&&l[1]==="home"&&(r=`~/${l.slice(3).join("/")}`)}if(r.length>30){const l=r.split("/");if(l.length>2)return`.../${l.slice(-2).join("/")}`}return r||s}function Q(){try{const e=localStorage.getItem("shooter_config");if(!e)return null;const s=JSON.parse(e);return typeof s?.apiKey=="string"&&s.apiKey?s:null}catch{return null}}async function Zt(){const e=Q();if(!e){n(A,"No configuration found. Please configure settings first."),n(O,!1);return}try{const s=await fetch(`/api/terminals/${t(G)}`,{headers:{Authorization:`Bearer ${e.apiKey}`}});if(!s.ok){n(A,s.status===404?"Terminal not found":"Failed to load terminal",!0),n(O,!1);return}n(a,await s.json(),!0)}catch{n(A,"Failed to connect to server")}n(O,!1)}async function yt(){const e=Q();if(!e)return null;try{const s=await fetch("/api/ws-ticket",{headers:{Authorization:`Bearer ${e.apiKey}`},method:"POST"});return s.ok?(await s.json()).ticket:null}catch{return null}}async function bt(){if(!t(a)||t(E))return;const e=Q();if(e){n(E,!0);try{(await fetch(`/api/terminals/${t(G)}`,{headers:{Authorization:`Bearer ${e.apiKey}`},method:"DELETE"})).ok?tt("/terminals"):n(E,!1)}catch{n(E,!1)}}}async function Yt(){if(!t(a)||t(x))return;const e=Q();if(e){n(x,!0);try{(await fetch(`/api/terminals/${t(G)}`,{headers:{Authorization:`Bearer ${e.apiKey}`},method:"DELETE"})).ok?tt("/terminals"):n(x,!1)}catch{n(x,!1)}}}async function ut(){if(!t(J)||!t(a)||v)return;const s=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}${t(a).ws}`,r=async()=>{const l=await yt();if(!l)throw new Error("Failed to obtain WebSocket ticket");return l};try{const{createTerminal:l}=await ke(async()=>{const{createTerminal:K}=await import("../chunks/CR6bkGJW.js");return{createTerminal:K}},__vite__mapDeps([0,1]),import.meta.url);if(v||!t(J))return;const p=await l({apiKey:Q()?.apiKey,container:t(J),fontSize:window.innerWidth<768?12:14,getTicket:r,onActivity:K=>{v||n(F,K,!0)},onCwd:K=>{v||n(R,K,!0)},onDisconnect:()=>{v||n(j,"reconnecting")},onExit:K=>{!v&&t(a)&&(n(a,{...t(a),exitCode:K,exitedAt:new Date().toISOString(),status:"exited"},!0),n(j,"disconnected"))},onReconnect:()=>{v||n(j,"connected")},terminalId:t(G),wsUrl:s});if(v){p.dispose();return}$=p,n(j,"connected")}catch(l){console.error("Failed to initialize terminal:",l),n(j,"disconnected")}}function wt(){$&&($.dispose(),$=null)}async function et(){if(!t(a)||v||f&&(f.readyState===WebSocket.OPEN||f.readyState===WebSocket.CONNECTING))return;const e=await yt();if(!e||v||!t(a)){n(P,"disconnected");return}const r=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}${t(a).sessionWs}?ticket=${e}`;f=new WebSocket(r),f.onopen=()=>{v||(n(P,"connected"),f?.send(JSON.stringify({sessionId:t(G),type:"subscribe"})))},f.onmessage=l=>{if(!v)try{const p=JSON.parse(l.data);te(p)}catch{}},f.onclose=()=>{!v&&t(a)?.status==="running"&&(n(P,"reconnecting"),W&&clearTimeout(W),W=setTimeout(()=>{W=null,!v&&t(a)?.status==="running"&&et()},2e3))},f.onerror=()=>{v||n(P,"disconnected")}}function X(){return t(D)}function te(e){if(e.type==="history"){const s=e.messages||[];n(D,s.map(r=>({id:r.id,parts:r.content,role:r.role,timestamp:r.timestamp})),!0)}else if(e.type==="message"){const s=typeof e.role=="string"?e.role:"assistant",r=s==="user"?"user":s==="system"?"system":"assistant",l={id:`msg-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:e.content||[],role:r,timestamp:(typeof e.timestamp=="string"?e.timestamp:"")||new Date().toISOString()};n(D,X().concat(l),!0)}else if(e.type==="tool-use"){const s={id:e.id||`tool-${Date.now()}`,input:e.input||{},toolName:e.name,type:"tool_use"},r={id:`tool-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:[s],role:"assistant",timestamp:new Date().toISOString()};n(D,X().concat(r),!0)}else if(e.type==="tool-result"){const s={isError:e.isError||!1,output:e.output||"",toolUseId:e.id,type:"tool_result"},r={id:`result-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:[s],role:"system",timestamp:new Date().toISOString()};n(D,X().concat(r),!0)}else if(e.type==="thinking"){const s={content:e.text||"",type:"thinking"},r=X(),l=r.length-1;if(l>=0&&r[l].role==="assistant"){const p=r[l],K={id:p.id,parts:p.parts.concat(s),role:p.role,timestamp:p.timestamp};n(D,[...r.slice(0,l),K],!0)}else{const p={id:`think-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:[s],role:"assistant",timestamp:new Date().toISOString()};n(D,r.concat(p),!0)}}else if(e.type==="error"){const s={content:e.message||"Unknown error",type:"text"},r={id:`err-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,parts:[s],role:"system",timestamp:new Date().toISOString()};n(D,X().concat(r),!0)}else e.type==="session-end"&&(n(vt,!0),t(a)&&n(a,{...t(a),status:"exited"},!0))}function _t(){W&&(clearTimeout(W),W=null),f&&(f.onclose=null,f.close(),f=null)}function kt(){t(z).trim()&&($&&t(j)==="connected"&&$.sendInput(`${t(z)}\r`),n(z,""),t(lt)?.focus())}function ee(e){!e.trim()||f?.readyState!==WebSocket.OPEN||f.send(JSON.stringify({text:e,type:"send-input"}))}function St(){f?.readyState===WebSocket.OPEN&&f.send(JSON.stringify({type:"cancel"}))}function ne(e){t(d)==="raw"?$&&t(j)==="connected"&&$.sendInput(e):t(d)==="chat"&&e===""&&St()}function se(e){e.key==="Enter"&&!e.shiftKey&&(e.preventDefault(),kt())}let nt=!1,st=!1;function ae(e){e!==t(d)&&(n(d,e,!0),e==="raw"&&!nt?(requestAnimationFrame(()=>{ut()}),nt=!0):e==="chat"&&!st&&(et(),st=!0))}function re(){t(d)==="raw"?(wt(),n(j,"reconnecting"),ut(),nt=!0):(_t(),n(P,"reconnecting"),et(),st=!0)}Ee(async()=>{await Zt(),!v&&(pt=Ue({onHelp:()=>{n(L,!t(L))}}),!(!t(a)||t(A))&&(t(V)&&window.innerWidth<768?n(d,"chat"):n(d,"raw"),t(d)==="raw"?(requestAnimationFrame(()=>{ut()}),nt=!0):(et(),st=!0)))}),je(()=>{v=!0,wt(),_t(),pt?.destroy()});var xt=un();qe("1tubujq",e=>{var s=tn();Ke(()=>{Me.title=`${t(mt)??""} - Terminal - Shooter`}),S(e,s)});var Ct=Ft(xt);{var oe=e=>{var s=en();S(e,s)},ie=e=>{var s=nn(),r=c(k(s),2);Fe(r,{title:"Error",get description(){return t(A)},icon:p=>{$e(p,{get svg(){return Le},classes:"icon-24"})}}),g(s),S(e,s)},le=e=>{var s=cn(),r=k(s),l=k(r),p=c(k(l),2),K=k(p,!0);g(p);var Tt=c(p,2);Ot(Tt,{get text(){return t(Ut)},get classes(){return t(Jt)}});var Et=c(Tt,2);{var ue=i=>{{let _=h(()=>t(F)?"Active":"Idle");Lt(i,{get text(){return t(_)},position:"bottom",children:(M,N)=>{var I=sn();H(()=>ft(I,1,`activity-dot ${t(F)?"activity-active":"activity-idle"}`,"svelte-1tubujq")),S(M,I)},$$slots:{default:!0}})}};q(Et,i=>{t(B)&&i(ue)})}var jt=c(Et,2);{var de=i=>{{let _=h(()=>t(R)||t(a)?.cwd||"");Lt(i,{get text(){return t(_)},position:"bottom",children:(M,N)=>{var I=an(),Z=k(I,!0);g(I),H(()=>rt(Z,t(gt))),S(M,I)},$$slots:{default:!0}})}};q(jt,i=>{t(gt)&&i(de)})}var Kt=c(jt,2);He(Kt,{get status(){return t(ht)},onretry:re});var fe=c(Kt,2);{var ve=i=>{const _=h(()=>t(a).sessionFile??"");var M=rn();H(N=>zt(M,"href",`/session/${N??""}`),[()=>t(_).split(/[\\/]/).pop()?.replace(".jsonl","")||""]),S(i,M)};q(fe,i=>{t(V)&&t(a)?.sessionFile&&i(ve)})}g(l);var Mt=c(l,2),qt=k(Mt);{var pe=i=>{Ne(i,{get items(){return Gt},get activeIndex(){return t(Vt)},onchange:_=>{ae(_===0?"raw":"chat")},classes:"term-tabs"})};q(qt,i=>{t(V)&&i(pe)})}var At=c(qt,2);U(At,{classes:"term-shortcuts-btn",onclick:()=>{n(L,!t(L))},text:"?",ariaLabel:"Keyboard shortcuts"});var me=c(At,2);{var he=i=>{U(i,{classes:"btn-danger btn-sm",onclick:bt,get disabled(){return t(E)},get showLoader(){return t(E)},text:"Kill"})},ge=i=>{U(i,{classes:"btn-secondary btn-sm",onclick:Yt,get disabled(){return t(x)},get showLoader(){return t(x)},text:"Remove"})};q(me,i=>{t(B)?i(he):i(ge,-1)})}g(Mt),g(r);var dt=c(r,2);let Dt;Nt(dt,i=>n(J,i),()=>t(J));var Pt=c(dt,2);{var ye=i=>{var _=on(),M=k(_);Qe(M,{onKey:ne});var N=c(M,2),I=k(N);Nt(Oe(I,{dataType:"text",useTextArea:!0,placeholder:"Type command... (Shift+Enter for new line)",classes:"input-mono term-input-field",onKeyDown:se,get value(){return t(z)},set value(Y){n(z,Y,!0)}}),Y=>n(lt,Y,!0),()=>t(lt));var Z=c(I,2);{let Y=h(()=>!t(z).trim());U(Z,{classes:"btn-primary btn-send",onclick:kt,get disabled(){return t(Y)},text:"↵"})}g(N),g(_),S(i,_)};q(Pt,i=>{t(B)&&t(d)==="raw"&&i(ye)})}var at=c(Pt,2);let $t;var be=k(at);We(be,{get messages(){return t(D)},get connectionState(){return t(ht)},get sessionEnded(){return t(vt)},get showInput(){return t(B)},onSendInput:ee,onCancel:St}),g(at);var we=c(at,2);{var _e=i=>{var _=ln(),M=c(k(_),2);{var N=I=>{{let Z=h(()=>t(a).exitCode!==0?"pill-exit-error":"pill-exit-ok");Ot(I,{get text(){return`code ${t(a).exitCode??""}`},get classes(){return t(Z)}})}};q(M,I=>{t(a).exitCode!==null&&I(N)})}g(_),S(i,_)};q(we,i=>{t(B)||i(_e)})}g(s),H(()=>{rt(K,t(mt)),Dt=Rt(dt,"",Dt,{display:t(d)==="raw"?"flex":"none"}),$t=Rt(at,"",$t,{display:t(d)==="chat"?"flex":"none"})}),S(e,s)};q(Ct,e=>{t(O)?e(oe):t(A)?e(ie,1):t(a)&&e(le,2)})}var It=c(Ct,2);Ye(It,{get open(){return t(L)},onClose:()=>{n(L,!1)}});var ce=c(It,2);ze(ce,{get commands(){return t(Qt)},onClose:()=>{n(ct,!1)},get open(){return t(ct)},set open(e){n(ct,e,!0)}}),S(y,xt),it(),T()}export{_n as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
1
|
+
{"version":"1777494925340"}
|
|
Binary file
|
|
Binary file
|
|
@@ -15,9 +15,9 @@ const index = 0;
|
|
|
15
15
|
let component_cache;
|
|
16
16
|
const component = async () => component_cache ??= (await import('./_layout.svelte-B6wbenkT.js')).default;
|
|
17
17
|
const server_id = "src/routes/+layout.server.ts";
|
|
18
|
-
const imports = ["_app/immutable/nodes/0.
|
|
19
|
-
const stylesheets = ["_app/immutable/assets/ColorPicker.Hf6zQzuB.css","_app/immutable/assets/0.
|
|
18
|
+
const imports = ["_app/immutable/nodes/0.DwU44ZAj.js","_app/immutable/chunks/3MMtouT7.js","_app/immutable/chunks/Ce0VRwE1.js","_app/immutable/chunks/BTu-2gkj.js","_app/immutable/chunks/BEa4nlMF.js","_app/immutable/chunks/C7SeOWDG.js","_app/immutable/chunks/Bn-6X1BO.js","_app/immutable/chunks/CG453M9q.js","_app/immutable/chunks/CSjf4fBs.js"];
|
|
19
|
+
const stylesheets = ["_app/immutable/assets/ColorPicker.Hf6zQzuB.css","_app/immutable/assets/0.BZLcOr5z.css"];
|
|
20
20
|
const fonts = [];
|
|
21
21
|
|
|
22
22
|
export { component, fonts, imports, index, _layout_server_ts as server, server_id, stylesheets };
|
|
23
|
-
//# sourceMappingURL=0-
|
|
23
|
+
//# sourceMappingURL=0-XyVDlEyN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"0-
|
|
1
|
+
{"version":3,"file":"0-XyVDlEyN.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 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.DwU44ZAj.js\",\"_app/immutable/chunks/3MMtouT7.js\",\"_app/immutable/chunks/Ce0VRwE1.js\",\"_app/immutable/chunks/BTu-2gkj.js\",\"_app/immutable/chunks/BEa4nlMF.js\",\"_app/immutable/chunks/C7SeOWDG.js\",\"_app/immutable/chunks/Bn-6X1BO.js\",\"_app/immutable/chunks/CG453M9q.js\",\"_app/immutable/chunks/CSjf4fBs.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.Hf6zQzuB.css\",\"_app/immutable/assets/0.BZLcOr5z.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;AAEA,MAAM,IAAI,GAAG,OAAO;AACpB,EAAE,WAAW,EAAE,uBAAuB,CAAC,WAAW,CAAC;AACnD,EAAE,iBAAiB,EAAE,WAAW,CAAC,kBAAkB,IAAI;AACvD,CAAC,CAAC;;;;;;;ACHU,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-BfckZRui.js')).default;
|
|
4
|
-
const imports = ["_app/immutable/nodes/1.
|
|
4
|
+
const imports = ["_app/immutable/nodes/1.CChG-n6d.js","_app/immutable/chunks/3MMtouT7.js","_app/immutable/chunks/Ce0VRwE1.js","_app/immutable/chunks/DFPEaIHz.js","_app/immutable/chunks/BEa4nlMF.js","_app/immutable/chunks/C7SeOWDG.js","_app/immutable/chunks/BTu-2gkj.js"];
|
|
5
5
|
const stylesheets = ["_app/immutable/assets/ColorPicker.Hf6zQzuB.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-
|
|
9
|
+
//# sourceMappingURL=1-C3vZx9QL.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1-
|
|
1
|
+
{"version":3,"file":"1-C3vZx9QL.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.CChG-n6d.js\",\"_app/immutable/chunks/3MMtouT7.js\",\"_app/immutable/chunks/Ce0VRwE1.js\",\"_app/immutable/chunks/DFPEaIHz.js\",\"_app/immutable/chunks/BEa4nlMF.js\",\"_app/immutable/chunks/C7SeOWDG.js\",\"_app/immutable/chunks/BTu-2gkj.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.Hf6zQzuB.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;;;;"}
|
|
@@ -13,9 +13,9 @@ const index = 2;
|
|
|
13
13
|
let component_cache;
|
|
14
14
|
const component = async () => component_cache ??= (await import('./_page.svelte-COFpm-S2.js')).default;
|
|
15
15
|
const server_id = "src/routes/+page.server.ts";
|
|
16
|
-
const imports = ["_app/immutable/nodes/2.
|
|
16
|
+
const imports = ["_app/immutable/nodes/2.CzexDbwp.js","_app/immutable/chunks/3MMtouT7.js","_app/immutable/chunks/Ce0VRwE1.js","_app/immutable/chunks/BTu-2gkj.js","_app/immutable/chunks/DFPEaIHz.js","_app/immutable/chunks/BEa4nlMF.js","_app/immutable/chunks/Bn-6X1BO.js","_app/immutable/chunks/DdpA9n1s.js","_app/immutable/chunks/CG453M9q.js","_app/immutable/chunks/xs1Xl3_e.js","_app/immutable/chunks/gQJcRhou.js","_app/immutable/chunks/BCwT4WOg.js","_app/immutable/chunks/BLszSzTT.js","_app/immutable/chunks/B-XSrufh.js","_app/immutable/chunks/DQM017d5.js","_app/immutable/chunks/pRcLbE0d.js","_app/immutable/chunks/CMQw-Fc-.js"];
|
|
17
17
|
const stylesheets = ["_app/immutable/assets/ColorPicker.Hf6zQzuB.css","_app/immutable/assets/2.DjiwkLqE.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-
|
|
21
|
+
//# sourceMappingURL=2-LWO3Q9-s.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"2-
|
|
1
|
+
{"version":3,"file":"2-LWO3Q9-s.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.CzexDbwp.js\",\"_app/immutable/chunks/3MMtouT7.js\",\"_app/immutable/chunks/Ce0VRwE1.js\",\"_app/immutable/chunks/BTu-2gkj.js\",\"_app/immutable/chunks/DFPEaIHz.js\",\"_app/immutable/chunks/BEa4nlMF.js\",\"_app/immutable/chunks/Bn-6X1BO.js\",\"_app/immutable/chunks/DdpA9n1s.js\",\"_app/immutable/chunks/CG453M9q.js\",\"_app/immutable/chunks/xs1Xl3_e.js\",\"_app/immutable/chunks/gQJcRhou.js\",\"_app/immutable/chunks/BCwT4WOg.js\",\"_app/immutable/chunks/BLszSzTT.js\",\"_app/immutable/chunks/B-XSrufh.js\",\"_app/immutable/chunks/DQM017d5.js\",\"_app/immutable/chunks/pRcLbE0d.js\",\"_app/immutable/chunks/CMQw-Fc-.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.Hf6zQzuB.css\",\"_app/immutable/assets/2.DjiwkLqE.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-CKydRPy6.js')).default;
|
|
15
15
|
const server_id = "src/routes/activity/+page.server.ts";
|
|
16
|
-
const imports = ["_app/immutable/nodes/3.
|
|
16
|
+
const imports = ["_app/immutable/nodes/3.DC3WghxB.js","_app/immutable/chunks/3MMtouT7.js","_app/immutable/chunks/Ce0VRwE1.js","_app/immutable/chunks/DFPEaIHz.js","_app/immutable/chunks/BEa4nlMF.js","_app/immutable/chunks/BTu-2gkj.js","_app/immutable/chunks/gQJcRhou.js","_app/immutable/chunks/BCwT4WOg.js","_app/immutable/chunks/BLszSzTT.js","_app/immutable/chunks/B-XSrufh.js","_app/immutable/chunks/DQM017d5.js","_app/immutable/chunks/pRcLbE0d.js"];
|
|
17
17
|
const stylesheets = ["_app/immutable/assets/ColorPicker.Hf6zQzuB.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-
|
|
21
|
+
//# sourceMappingURL=3-3WzO52IA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"3-
|
|
1
|
+
{"version":3,"file":"3-3WzO52IA.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.DC3WghxB.js\",\"_app/immutable/chunks/3MMtouT7.js\",\"_app/immutable/chunks/Ce0VRwE1.js\",\"_app/immutable/chunks/DFPEaIHz.js\",\"_app/immutable/chunks/BEa4nlMF.js\",\"_app/immutable/chunks/BTu-2gkj.js\",\"_app/immutable/chunks/gQJcRhou.js\",\"_app/immutable/chunks/BCwT4WOg.js\",\"_app/immutable/chunks/BLszSzTT.js\",\"_app/immutable/chunks/B-XSrufh.js\",\"_app/immutable/chunks/DQM017d5.js\",\"_app/immutable/chunks/pRcLbE0d.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.Hf6zQzuB.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,9 +1,9 @@
|
|
|
1
1
|
const index = 6;
|
|
2
2
|
let component_cache;
|
|
3
3
|
const component = async () => component_cache ??= (await import('./_page.svelte-BRz-x9-s.js')).default;
|
|
4
|
-
const imports = ["_app/immutable/nodes/6.
|
|
4
|
+
const imports = ["_app/immutable/nodes/6.C4aXlZQd.js","_app/immutable/chunks/3MMtouT7.js","_app/immutable/chunks/Ce0VRwE1.js","_app/immutable/chunks/BTu-2gkj.js","_app/immutable/chunks/DFPEaIHz.js","_app/immutable/chunks/BEa4nlMF.js","_app/immutable/chunks/B6b4w6vf.js","_app/immutable/chunks/DzuS5Nbr.js","_app/immutable/chunks/Bn-6X1BO.js","_app/immutable/chunks/DdpA9n1s.js","_app/immutable/chunks/xs1Xl3_e.js","_app/immutable/chunks/gQJcRhou.js","_app/immutable/chunks/BCwT4WOg.js","_app/immutable/chunks/BLszSzTT.js","_app/immutable/chunks/CMQw-Fc-.js"];
|
|
5
5
|
const stylesheets = ["_app/immutable/assets/ColorPicker.Hf6zQzuB.css","_app/immutable/assets/6.DzV0p3l-.css"];
|
|
6
6
|
const fonts = [];
|
|
7
7
|
|
|
8
8
|
export { component, fonts, imports, index, stylesheets };
|
|
9
|
-
//# sourceMappingURL=6-
|
|
9
|
+
//# sourceMappingURL=6-DjPIWYcj.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"6-
|
|
1
|
+
{"version":3,"file":"6-DjPIWYcj.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.C4aXlZQd.js\",\"_app/immutable/chunks/3MMtouT7.js\",\"_app/immutable/chunks/Ce0VRwE1.js\",\"_app/immutable/chunks/BTu-2gkj.js\",\"_app/immutable/chunks/DFPEaIHz.js\",\"_app/immutable/chunks/BEa4nlMF.js\",\"_app/immutable/chunks/B6b4w6vf.js\",\"_app/immutable/chunks/DzuS5Nbr.js\",\"_app/immutable/chunks/Bn-6X1BO.js\",\"_app/immutable/chunks/DdpA9n1s.js\",\"_app/immutable/chunks/xs1Xl3_e.js\",\"_app/immutable/chunks/gQJcRhou.js\",\"_app/immutable/chunks/BCwT4WOg.js\",\"_app/immutable/chunks/BLszSzTT.js\",\"_app/immutable/chunks/CMQw-Fc-.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.Hf6zQzuB.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;AACxiB,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
|
-
const component = async () => component_cache ??= (await import('./_page.svelte-
|
|
4
|
-
const imports = ["_app/immutable/nodes/7.
|
|
3
|
+
const component = async () => component_cache ??= (await import('./_page.svelte-DpUVuiqQ.js')).default;
|
|
4
|
+
const imports = ["_app/immutable/nodes/7.DfniCleW.js","_app/immutable/chunks/3MMtouT7.js","_app/immutable/chunks/Ce0VRwE1.js","_app/immutable/chunks/DFPEaIHz.js","_app/immutable/chunks/BTu-2gkj.js","_app/immutable/chunks/B6b4w6vf.js","_app/immutable/chunks/BEa4nlMF.js","_app/immutable/chunks/xs1Xl3_e.js","_app/immutable/chunks/BCwT4WOg.js","_app/immutable/chunks/BsNWiLas.js","_app/immutable/chunks/B-XSrufh.js"];
|
|
5
5
|
const stylesheets = ["_app/immutable/assets/ColorPicker.Hf6zQzuB.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-
|
|
9
|
+
//# sourceMappingURL=7-DF5FUXhP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"7-
|
|
1
|
+
{"version":3,"file":"7-DF5FUXhP.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.DfniCleW.js\",\"_app/immutable/chunks/3MMtouT7.js\",\"_app/immutable/chunks/Ce0VRwE1.js\",\"_app/immutable/chunks/DFPEaIHz.js\",\"_app/immutable/chunks/BTu-2gkj.js\",\"_app/immutable/chunks/B6b4w6vf.js\",\"_app/immutable/chunks/BEa4nlMF.js\",\"_app/immutable/chunks/xs1Xl3_e.js\",\"_app/immutable/chunks/BCwT4WOg.js\",\"_app/immutable/chunks/BsNWiLas.js\",\"_app/immutable/chunks/B-XSrufh.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.Hf6zQzuB.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;AACxZ,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-io210vyT.js')).default;
|
|
4
|
-
const imports = ["_app/immutable/nodes/8.
|
|
4
|
+
const imports = ["_app/immutable/nodes/8.D4AzZWcq.js","_app/immutable/chunks/3MMtouT7.js","_app/immutable/chunks/Ce0VRwE1.js","_app/immutable/chunks/BTu-2gkj.js","_app/immutable/chunks/DFPEaIHz.js","_app/immutable/chunks/BEa4nlMF.js","_app/immutable/chunks/DdpA9n1s.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/BCwT4WOg.js","_app/immutable/chunks/CMQw-Fc-.js"];
|
|
5
5
|
const stylesheets = ["_app/immutable/assets/ColorPicker.Hf6zQzuB.css","_app/immutable/assets/8.BhoBXADL.css"];
|
|
6
6
|
const fonts = [];
|
|
7
7
|
|
|
8
8
|
export { component, fonts, imports, index, stylesheets };
|
|
9
|
-
//# sourceMappingURL=8-
|
|
9
|
+
//# sourceMappingURL=8-CejJgM0l.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"8-
|
|
1
|
+
{"version":3,"file":"8-CejJgM0l.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/terminals/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/8.D4AzZWcq.js\",\"_app/immutable/chunks/3MMtouT7.js\",\"_app/immutable/chunks/Ce0VRwE1.js\",\"_app/immutable/chunks/BTu-2gkj.js\",\"_app/immutable/chunks/DFPEaIHz.js\",\"_app/immutable/chunks/BEa4nlMF.js\",\"_app/immutable/chunks/DdpA9n1s.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/BCwT4WOg.js\",\"_app/immutable/chunks/CMQw-Fc-.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.Hf6zQzuB.css\",\"_app/immutable/assets/8.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,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;AAChe,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-CwCypx0G.js')).default;
|
|
4
|
-
const imports = ["_app/immutable/nodes/9.
|
|
4
|
+
const imports = ["_app/immutable/nodes/9.gV8oJWv_.js","_app/immutable/chunks/PPVm8Dsz.js","_app/immutable/chunks/3MMtouT7.js","_app/immutable/chunks/Ce0VRwE1.js","_app/immutable/chunks/DFPEaIHz.js","_app/immutable/chunks/BTu-2gkj.js","_app/immutable/chunks/BEa4nlMF.js","_app/immutable/chunks/C7SeOWDG.js","_app/immutable/chunks/DzuS5Nbr.js","_app/immutable/chunks/BsNWiLas.js","_app/immutable/chunks/BCwT4WOg.js","_app/immutable/chunks/B-XSrufh.js","_app/immutable/chunks/CMQw-Fc-.js"];
|
|
5
5
|
const stylesheets = ["_app/immutable/assets/ColorPicker.Hf6zQzuB.css","_app/immutable/assets/ChatView.Bnlg-oAF.css","_app/immutable/assets/9.v5KA95xm.css"];
|
|
6
6
|
const fonts = [];
|
|
7
7
|
|
|
8
8
|
export { component, fonts, imports, index, stylesheets };
|
|
9
|
-
//# sourceMappingURL=9-
|
|
9
|
+
//# sourceMappingURL=9-D1YMozmH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"9-
|
|
1
|
+
{"version":3,"file":"9-D1YMozmH.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/terminals/_id_/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/9.gV8oJWv_.js\",\"_app/immutable/chunks/PPVm8Dsz.js\",\"_app/immutable/chunks/3MMtouT7.js\",\"_app/immutable/chunks/Ce0VRwE1.js\",\"_app/immutable/chunks/DFPEaIHz.js\",\"_app/immutable/chunks/BTu-2gkj.js\",\"_app/immutable/chunks/BEa4nlMF.js\",\"_app/immutable/chunks/C7SeOWDG.js\",\"_app/immutable/chunks/DzuS5Nbr.js\",\"_app/immutable/chunks/BsNWiLas.js\",\"_app/immutable/chunks/BCwT4WOg.js\",\"_app/immutable/chunks/B-XSrufh.js\",\"_app/immutable/chunks/CMQw-Fc-.js\"];\nexport const stylesheets = [\"_app/immutable/assets/ColorPicker.Hf6zQzuB.css\",\"_app/immutable/assets/ChatView.Bnlg-oAF.css\",\"_app/immutable/assets/9.v5KA95xm.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,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;AAChe,MAAC,WAAW,GAAG,CAAC,gDAAgD,CAAC,6CAA6C,CAAC,sCAAsC;AACrJ,MAAC,KAAK,GAAG;;;;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { k as head, l as escape_html } from './index-BHoOpAe1.js';
|
|
2
2
|
import './client2-DQ2fYrJe.js';
|
|
3
3
|
import './markdown-W_mTBct0.js';
|
|
4
|
-
import { S as Shimmer } from './Shimmer-BrakrBeG.js';
|
|
5
4
|
import './state.svelte-Cg5VK5nH.js';
|
|
6
5
|
import './root-CW7Ox2wn.js';
|
|
7
6
|
import './client-Do_WijF3.js';
|
|
@@ -9,6 +8,7 @@ import './index2-CKh4I94n.js';
|
|
|
9
8
|
import 'dompurify';
|
|
10
9
|
import 'marked';
|
|
11
10
|
|
|
11
|
+
/* empty css */
|
|
12
12
|
/* empty css */
|
|
13
13
|
function _page($$renderer, $$props) {
|
|
14
14
|
$$renderer.component(($$renderer2) => {
|
|
@@ -22,17 +22,7 @@ function _page($$renderer, $$props) {
|
|
|
22
22
|
$$renderer2.push(`<main class="main session-page-main svelte-1a2wdfb">`);
|
|
23
23
|
if (messages.length === 0) {
|
|
24
24
|
$$renderer2.push("<!--[0-->");
|
|
25
|
-
$$renderer2.push(`<div class="loading-container">`);
|
|
26
|
-
Shimmer($$renderer2, { classes: "shimmer-header" });
|
|
27
|
-
$$renderer2.push(`<!----> <div class="chat-container">`);
|
|
28
|
-
Shimmer($$renderer2, { classes: "shimmer-bubble shimmer-bubble-user" });
|
|
29
|
-
$$renderer2.push(`<!----> `);
|
|
30
|
-
Shimmer($$renderer2, { classes: "shimmer-bubble shimmer-bubble-assistant" });
|
|
31
|
-
$$renderer2.push(`<!----> `);
|
|
32
|
-
Shimmer($$renderer2, { classes: "shimmer-bubble shimmer-bubble-user-short" });
|
|
33
|
-
$$renderer2.push(`<!----> `);
|
|
34
|
-
Shimmer($$renderer2, { classes: "shimmer-bubble shimmer-bubble-assistant-wide" });
|
|
35
|
-
$$renderer2.push(`<!----></div></div>`);
|
|
25
|
+
$$renderer2.push(`<div class="loading-container" aria-live="polite" aria-busy="true"><div class="shimmer shimmer-header" aria-hidden="true"></div> <div class="chat-container"><div class="shimmer shimmer-bubble shimmer-bubble-user" aria-hidden="true"></div> <div class="shimmer shimmer-bubble shimmer-bubble-assistant" aria-hidden="true"></div> <div class="shimmer shimmer-bubble shimmer-bubble-user-short" aria-hidden="true"></div> <div class="shimmer shimmer-bubble shimmer-bubble-assistant-wide" aria-hidden="true"></div></div></div>`);
|
|
36
26
|
} else {
|
|
37
27
|
$$renderer2.push("<!--[-1-->");
|
|
38
28
|
}
|
|
@@ -41,4 +31,4 @@ function _page($$renderer, $$props) {
|
|
|
41
31
|
}
|
|
42
32
|
|
|
43
33
|
export { _page as default };
|
|
44
|
-
//# sourceMappingURL=_page.svelte-
|
|
34
|
+
//# sourceMappingURL=_page.svelte-DpUVuiqQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_page.svelte-DpUVuiqQ.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 */\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\"/>`);\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\" aria-live=\"polite\" aria-busy=\"true\"><div class=\"shimmer shimmer-header\" aria-hidden=\"true\"></div> <div class=\"chat-container\"><div class=\"shimmer shimmer-bubble shimmer-bubble-user\" aria-hidden=\"true\"></div> <div class=\"shimmer shimmer-bubble shimmer-bubble-assistant\" aria-hidden=\"true\"></div> <div class=\"shimmer shimmer-bubble shimmer-bubble-user-short\" aria-hidden=\"true\"></div> <div class=\"shimmer shimmer-bubble shimmer-bubble-assistant-wide\" aria-hidden=\"true\"></div></div></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></main>`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":";;;;;;;;;;AAGA;AACA;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,8DAA8D,CAAC,CAAC;AACxF,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,qgBAAqgB,CAAC,CAAC;AAC/hB,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;;;;"}
|
|
@@ -733,21 +733,24 @@ const GET = ({ request, url }) => {
|
|
|
733
733
|
const offset2 = Number.isFinite(rawOffset) && rawOffset >= 0 ? rawOffset : 0;
|
|
734
734
|
const limit2 = Number.isFinite(rawLimit) && rawLimit >= 1 ? Math.min(rawLimit, 500) : 200;
|
|
735
735
|
const allProjects2 = getMergedProjects();
|
|
736
|
-
const
|
|
736
|
+
const matchesProject = (p) => p.id === projectId || p.fullPath === projectId;
|
|
737
|
+
const matchedProject = projectId ? allProjects2.find(matchesProject) : void 0;
|
|
737
738
|
const claudeProjectDir = matchedProject ? matchedProject.fullPath.replace(/\//g, "-") : void 0;
|
|
738
739
|
let messages = getSessionConversation(sessionId, offset2, limit2, claudeProjectDir);
|
|
739
740
|
if (messages.length === 0) {
|
|
740
741
|
messages = getOpenCodeConversation(sessionId, offset2, limit2);
|
|
741
742
|
}
|
|
742
|
-
let sessionInfo = null;
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
743
|
+
let sessionInfo = matchedProject?.sessions.find((s) => s.id === sessionId) ?? null;
|
|
744
|
+
if (!sessionInfo) {
|
|
745
|
+
for (const project of allProjects2) {
|
|
746
|
+
if (projectId && !matchesProject(project)) {
|
|
747
|
+
continue;
|
|
748
|
+
}
|
|
749
|
+
const found = project.sessions.find((s) => s.id === sessionId);
|
|
750
|
+
if (found) {
|
|
751
|
+
sessionInfo = found;
|
|
752
|
+
break;
|
|
753
|
+
}
|
|
751
754
|
}
|
|
752
755
|
}
|
|
753
756
|
if (!sessionInfo) {
|
|
@@ -773,4 +776,4 @@ const GET = ({ request, url }) => {
|
|
|
773
776
|
};
|
|
774
777
|
|
|
775
778
|
export { GET };
|
|
776
|
-
//# sourceMappingURL=_server.ts-
|
|
779
|
+
//# sourceMappingURL=_server.ts-CilRds58.js.map
|