gestalt-mobile 0.23.0 → 0.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{index-CqXbiQEL.js → index-QOqptZCS.js} +12 -12
- package/dist/client/index.html +1 -1
- package/dist/server/server/composition.js +1 -0
- package/dist/server/server/features/sessions/get-history/endpoint.js +26 -0
- package/dist/server/server/features/sessions/register-routes.js +1 -0
- package/package.json +1 -1
|
@@ -11,19 +11,19 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
11
11
|
audit.</li>`),Ns=q(`<time class="svelte-1im954t"> </time>`),Ps=q(`<li class="svelte-1im954t"><time class="svelte-1im954t"> </time></li>`),Fs=q(`<details><summary class="svelte-1im954t"> </summary> <ul></ul></details>`),Is=q(`<aside class="autopilot-audit svelte-1im954t" aria-label="Autopilot audit entry"><strong>Autopilot</strong> <!> <!></aside>`),Ls=q(`<time class="svelte-1im954t"> <!></time>`),Rs=q(`<div class="entry-heading svelte-1im954t"><strong>working</strong></div> <!>`,1),zs=q(`<section><!> <!></section>`),Bs=q(`<div class="entry-heading svelte-1im954t"><strong>prompt</strong> <!></div> <div class="entry-content svelte-1im954t"><!></div> <!> <!>`,1),Vs=q(`<div class="commentary-content live-commentary svelte-1im954t"><!></div>`),Hs=q(`<!> <!>`,1),Us=q(`<button class="commentary-toggle svelte-1im954t" type="button"><span aria-hidden="true"> </span> commentary</button>`),Ws=q(`<div class="answer-history svelte-1im954t"><!> <!></div>`),Gs=q(`<div class="commentary-content svelte-1im954t"><!></div>`),Ks=q(`<section class="answer-turn svelte-1im954t"><div class="entry-heading svelte-1im954t"><strong> </strong> <!></div> <!> <!> <!> <div class="entry-content svelte-1im954t"><!></div></section>`),qs=q(`<div class="entry-content svelte-1im954t"><!></div>`),Js=q(`<details><summary>commentary</summary> <!></details> <!>`,1),Ys=q(`<section><div class="entry-heading svelte-1im954t"><strong> </strong> <!></div> <!> <!></section>`),Xs=q(`<li><!></li>`),Zs=q(`<li class="interaction-only svelte-1im954t"><!></li>`),Qs=q(`<li class="progress-item svelte-1im954t"><section><!> <!></section></li>`),$s=q(`<ol aria-label="Chat messages" class="svelte-1im954t"><!> <!> <!> <!></ol>`);function ec(e,t){Qe(t,!0);let n=(e,r=b)=>{var i=Vr();Z(B(i),17,r,Yr,(e,r)=>{var i=Vr(),a=B(i),o=e=>{var n=Vr(),i=B(n),a=e=>{var t=ms(),n=z(t,!0);N(t),H(()=>{Q(t,`href`,G(r).href),Y(n,G(r).text)}),K(`click`,t,e=>k(e,G(r).href)),J(e,t)},o=P(()=>t.onopenorg&&ps(G(r).href)),s=e=>{var t=hs(),n=z(t,!0);N(t),H(()=>{Q(t,`href`,G(r).href),Y(n,G(r).text)}),J(e,t)};X(i,e=>{G(o)?e(a):e(s,-1)}),J(e,n)},s=e=>{var t=gs(),n=z(t,!0);N(t),H(()=>Y(n,G(r).text)),J(e,t)},c=e=>{var t=_s(),i=z(t);n(i,()=>G(r).parts),N(t),J(e,t)},l=e=>{var t=Br();H(()=>Y(t,G(r).text)),J(e,t)};X(a,e=>{G(r).kind===`link`?e(o):G(r).kind===`code`?e(s,1):G(r).kind===`strong`?e(c,2):e(l,-1)}),J(e,i)}),J(e,i)},r=(e,t=b)=>{let n=P(()=>te(t()));var r=Vr(),i=B(r),a=e=>{var t=ys(),r=V(z(t),2);Z(r,21,()=>G(n),e=>e.id,(e,t)=>{var n=Vr();Z(B(n),17,()=>G(t).paths,e=>`${G(t).id}:${e}`,(e,t)=>{var n=vs(),r=z(n),i=z(r,!0);N(r),N(n),H(()=>Y(i,G(t))),J(e,n)}),J(e,n)}),N(r),N(t),J(e,t)};X(i,e=>{G(n).length&&e(a)}),J(e,r)},i=(e,t=b)=>{var r=Vr();Z(B(r),17,()=>rs(t()),Yr,(e,t)=>{var r=Vr(),i=B(r),a=e=>{var n=bs(),r=z(n),i=z(r,!0);N(r),N(n),H(()=>Y(i,G(t).text)),J(e,n)},o=e=>{var r=ws(),i=z(r),a=z(i),o=z(a);Z(o,21,()=>G(t).headers,Yr,(e,t)=>{var r=xs(),i=z(r);n(i,()=>G(t)),N(r),J(e,r)}),N(o),N(a);var s=V(a);Z(s,21,()=>G(t).rows,Yr,(e,t)=>{var r=Cs();Z(r,21,()=>G(t),Yr,(e,t)=>{var r=Ss(),i=z(r);n(i,()=>G(t)),N(r),J(e,r)}),N(r),J(e,r)}),N(s),N(i),N(r),J(e,r)},s=e=>{var r=Vr(),i=B(r),a=e=>{var r=Ts(),i=z(r);n(i,()=>G(t).parts),N(r),J(e,r)},o=e=>{var r=Es(),i=z(r);n(i,()=>G(t).parts),N(r),J(e,r)},s=e=>{var r=Ds(),i=z(r);n(i,()=>G(t).parts),N(r),J(e,r)},c=e=>{var r=Os(),i=z(r);n(i,()=>G(t).parts),N(r),J(e,r)},l=e=>{var r=ks(),i=z(r);n(i,()=>G(t).parts),N(r),J(e,r)},u=e=>{var r=As(),i=z(r);n(i,()=>G(t).parts),N(r),J(e,r)};X(i,e=>{G(t).level===1?e(a):G(t).level===2?e(o,1):G(t).level===3?e(s,2):G(t).level===4?e(c,3):G(t).level===5?e(l,4):e(u,-1)}),J(e,r)},c=e=>{var r=js(),i=z(r);n(i,()=>G(t).parts),N(r),J(e,r)};X(i,e=>{G(t).kind===`code`?e(a):G(t).kind===`table`?e(o,1):G(t).kind===`heading`?e(s,2):e(c,-1)}),J(e,r)}),J(e,r)},a=$(t,`activeTurnId`,3,null),o=$(t,`autopilotAuditTruncated`,3,!1),s=$(t,`interactions`,19,()=>[]),c=$(t,`answers`,19,()=>({})),l=$(t,`onanswer`,3,()=>{}),u=$(t,`onquiz`,3,()=>{}),d=$(t,`onpermission`,3,()=>{}),f=$(t,`ondecision`,3,()=>{}),p=$(t,`onretry`,3,()=>{}),m=P(()=>es(t.messages)),h=R({}),g=P(()=>G(m).filter(e=>e.kind===`user`)),_=P(()=>G(m).filter(e=>e.kind===`assistant`)),v=P(()=>G(_).at(-1)?.id),y=P(()=>s().filter(e=>!e.turnId||!G(g).some(t=>t.turnId===e.turnId)));function x(e){return G(g).findLast(t=>t.turnId&&t.turnId===e.turnId)?.id??G(g).at(-1)?.id??null}function S(e){return e.kind===`user`?s().filter(t=>x(t)===e.id):[]}function C(e){return e.kind===`assistant`?t.activities.filter(t=>t.turnId?t.turnId===e.turnId:e.id===G(v)):[]}function w(e){return e.turnId?G(_).some(t=>t.turnId===e.turnId):!!G(v)}function T(e){return!e.turnId||w(e)?null:G(g).findLast(t=>t.turnId===e.turnId)?.id??null}function E(e){return e.kind===`user`?t.activities.filter(t=>T(t)===e.id):[]}function D(){return t.activities.filter(e=>!w(e)&&!T(e))}let ee=P(D);function O(e){return e.filter(e=>!e.label.toLowerCase().replaceAll(` `,``).startsWith(`filechange`))}function te(e){return e.flatMap(e=>e.label.toLowerCase().replaceAll(` `,``).startsWith(`filechange`)?[{id:e.id,paths:e.detail.split(`
|
|
12
12
|
`).filter(Boolean)}]:[])}function ne(e){return!!(e.kind===`assistant`&&a()&&(e.turnId===a()||!e.turnId&&e.id===G(v)))}function re(e){return!!(e.kind===`user`&&a()&&(e.turnId===a()||!e.turnId))}function ie(e,t){return ts(G(m)[e-1]?.occurredAt,t)}function k(e,n){!t.onopenorg||!ps(n)||(e.preventDefault(),t.onopenorg(n))}var ae=$s(),oe=z(ae),se=e=>{J(e,Ms())};X(oe,e=>{o()&&e(se)});var ce=V(oe,2);Z(ce,19,()=>G(m),e=>e.id,(e,t,n)=>{var a=Xs(),o=z(a),s=e=>{var n=Is(),r=V(z(n)),i=V(r),a=e=>{var n=Ns(),r=z(n,!0);N(n),H((e,t)=>{Q(n,`datetime`,e),Y(r,t)},[()=>new Date(G(t).occurredAt).toISOString(),()=>ns(G(t).occurredAt)]),J(e,n)};X(i,e=>{G(t).occurredAt&&e(a)});var o=V(i,2),s=e=>{var n=Fs(),r=z(n),i=z(r);N(r);var a=V(r,2);Z(a,21,()=>G(t).timestamps,e=>`${G(t).id}:${e}`,(e,t)=>{var n=Ps(),r=z(n),i=z(r,!0);N(r),N(n),H((e,t)=>{Q(r,`datetime`,e),Y(i,t)},[()=>new Date(G(t)).toISOString(),()=>ns(G(t))]),J(e,n)}),N(a),N(n),H(()=>Y(i,`Show ${G(t).count??``} timestamps`)),J(e,n)};X(o,e=>{G(t).count>1&&e(s)}),N(n),H(()=>Y(r,` ${G(t).text??``}${G(t).count>1?` · ${G(t).count} times`:``} `)),J(e,n)},m=e=>{let a=P(()=>E(G(t)));var o=Bs(),s=B(o),m=V(z(s),2),h=e=>{var r=Ls(),i=z(r),a=V(i),o=e=>{var r=Br();H(e=>Y(r,`· ${e??``}`),[()=>ie(G(n),G(t).occurredAt)]),J(e,r)},s=P(()=>ie(G(n),G(t).occurredAt));X(a,e=>{G(s)&&e(o)}),N(r),H((e,t)=>{Q(r,`datetime`,e),Y(i,`${t??``} `)},[()=>new Date(G(t).occurredAt).toISOString(),()=>ns(G(t).occurredAt)]),J(e,r)};X(m,e=>{G(t).occurredAt&&e(h)}),N(s);var g=V(s,2),_=z(g);i(_,()=>G(t).text),N(g);var v=V(g,2);{let e=P(()=>S(G(t)));$o(v,{get interactions(){return G(e)},get answers(){return c()},get onanswer(){return l()},get onquiz(){return u()},get onpermission(){return d()},get ondecision(){return f()},get onretry(){return p()}})}var y=V(v,2),b=e=>{var n=zs(),i=z(n),o=e=>{var t=Rs(),n=V(B(t),2);{let e=P(()=>O(G(a)));pa(n,{get activities(){return G(e)},variant:`live`})}J(e,t)},s=P(()=>re(G(t))),c=e=>{{let t=P(()=>O(G(a)));pa(e,{get activities(){return G(t)}})}};X(i,e=>{G(s)?e(o):e(c,-1)});var l=V(i,2);r(l,()=>G(a)),N(n),H(e=>hi(n,1,e,`svelte-1im954t`),[()=>li(re(G(t))?`progress-turn`:`orphan-activity-turn`)]),J(e,n)};X(y,e=>{G(a).length&&e(b)}),J(e,o)},g=e=>{let a=P(()=>C(G(t)));var o=Ks(),s=z(o),c=z(s),l=z(c,!0);N(c);var u=V(c,2),d=e=>{var r=Ls(),i=z(r),a=V(i),o=e=>{var r=Br();H(e=>Y(r,`· ${e??``}`),[()=>ie(G(n),G(t).occurredAt)]),J(e,r)},s=P(()=>ie(G(n),G(t).occurredAt));X(a,e=>{G(s)&&e(o)}),N(r),H((e,t)=>{Q(r,`datetime`,e),Y(i,`${t??``} `)},[()=>new Date(G(t).occurredAt).toISOString(),()=>ns(G(t).occurredAt)]),J(e,r)};X(u,e=>{G(t).occurredAt&&e(d)}),N(s);var f=V(s,2),p=e=>{var n=Hs(),r=B(n),o=e=>{var n=Vs(),r=z(n);i(r,()=>G(t).commentary),N(n),J(e,n)};X(r,e=>{G(t).commentary&&e(o)});var s=V(r,2);{let e=P(()=>O(G(a)));pa(s,{get activities(){return G(e)},variant:`live`})}J(e,n)},m=P(()=>ne(G(t))),g=e=>{var n=Ws(),r=z(n),i=e=>{var n=Us(),r=z(n),i=z(r,!0);N(r),He(),N(n),H(e=>{Q(n,`aria-expanded`,e),Q(n,`aria-controls`,`commentary-${G(t).id}`),Y(i,h[G(t).id]?`⌄`:`›`)},[()=>!!h[G(t).id]]),K(`click`,n,()=>h[G(t).id]=!h[G(t).id]),J(e,n)};X(r,e=>{G(t).commentary&&e(i)});var o=V(r,2);{let e=P(()=>O(G(a)));pa(o,{get activities(){return G(e)}})}N(n),J(e,n)},_=P(()=>G(t).commentary||O(G(a)).length);X(f,e=>{G(m)?e(p):G(_)&&e(g,1)});var v=V(f,2),y=e=>{var n=Gs(),r=z(n);i(r,()=>G(t).commentary),N(n),H(()=>Q(n,`id`,`commentary-${G(t).id}`)),J(e,n)},b=P(()=>!ne(G(t))&&G(t).commentary&&h[G(t).id]);X(v,e=>{G(b)&&e(y)});var x=V(v,2);r(x,()=>G(a));var S=V(x,2),w=z(S);i(w,()=>G(t).answer),N(S),N(o),H(e=>Y(l,e),[()=>ne(G(t))?`working`:`answer`]),J(e,o)},_=e=>{let a=P(()=>C(G(t)));var o=Ys(),s=z(o),c=z(s),l=z(c,!0);N(c);var u=V(c,2),d=e=>{var r=Ls(),i=z(r),a=V(i),o=e=>{var r=Br();H(e=>Y(r,`· ${e??``}`),[()=>ie(G(n),G(t).occurredAt)]),J(e,r)},s=P(()=>ie(G(n),G(t).occurredAt));X(a,e=>{G(s)&&e(o)}),N(r),H((e,t)=>{Q(r,`datetime`,e),Y(i,`${t??``} `)},[()=>new Date(G(t).occurredAt).toISOString(),()=>ns(G(t).occurredAt)]),J(e,r)};X(u,e=>{G(t).occurredAt&&e(d)}),N(s);var f=V(s,2),p=e=>{var n=Hs(),r=B(n),o=e=>{var n=qs(),r=z(n);i(r,()=>G(t).commentary),N(n),J(e,n)};X(r,e=>{G(t).commentary&&e(o)});var s=V(r,2);{let e=P(()=>O(G(a)));pa(s,{get activities(){return G(e)},variant:`live`})}J(e,n)},m=P(()=>ne(G(t))),h=e=>{var n=Js(),r=B(n),o=V(z(r),2);i(o,()=>G(t).commentary),N(r);var s=V(r,2);{let e=P(()=>O(G(a)));pa(s,{get activities(){return G(e)}})}J(e,n)};X(f,e=>{G(m)?e(p):e(h,-1)});var g=V(f,2);r(g,()=>G(a)),N(o),H((e,t)=>{hi(o,1,e,`svelte-1im954t`),Y(l,t)},[()=>li(ne(G(t))?`progress-turn`:`commentary-turn`),()=>ne(G(t))?`working`:`commentary`]),J(e,o)};X(o,e=>{G(t).kind===`audit`?e(s):G(t).kind===`user`?e(m,1):G(t).answer===null?G(t).commentary!==null&&e(_,3):e(g,2)}),N(a),H(()=>hi(a,1,li(G(t).kind===`user`?`prompt-turn`:G(t).kind===`audit`?`audit-item`:`answer-item`),`svelte-1im954t`)),J(e,a)});var le=V(ce,2),ue=e=>{var t=Zs();$o(z(t),{get interactions(){return G(y)},get answers(){return c()},get onanswer(){return l()},get onquiz(){return u()},get onpermission(){return d()},get ondecision(){return f()},get onretry(){return p()}}),N(t),J(e,t)};X(le,e=>{G(g).length===0&&G(y).length&&e(ue)});var de=V(le,2),fe=e=>{var t=Qs(),n=z(t),i=z(n),o=e=>{var t=Rs(),n=V(B(t),2);{let e=P(()=>O(G(ee)));pa(n,{get activities(){return G(e)},variant:`live`})}J(e,t)},s=e=>{{let t=P(()=>O(G(ee)));pa(e,{get activities(){return G(t)}})}};X(i,e=>{a()?e(o):e(s,-1)});var c=V(i,2);r(c,()=>G(ee)),N(n),N(t),H(()=>hi(n,1,li(a()?`progress-turn`:`orphan-activity-turn`),`svelte-1im954t`)),J(e,t)};X(de,e=>{G(ee).length&&e(fe)}),N(ae),J(e,ae),$e()}Nr([`click`]);var tc=[150,300,600];function nc(e){return new Promise(t=>setTimeout(t,e))}function rc(e){return e.status===502||e.status===503||e.status===504}async function ic(e=fetch){for(let t=0;t<=tc.length;t+=1){let n;try{n=await e(`/api/bootstrap`)}catch(e){if(e instanceof Error&&e.name===`AbortError`)throw e;if(t===tc.length)throw Error(`BOOTSTRAP_FAILED`);await nc(tc[t]);continue}if(n.ok)return n.json();if(!rc(n)||t===tc.length)throw Error(`BOOTSTRAP_FAILED`);await nc(tc[t])}throw Error(`BOOTSTRAP_FAILED`)}var ac=`gestalt-mobile`,oc=2,sc=[`settings`,`drafts`,`cursors`,`messages`];function cc(e){return new Promise((t,n)=>{let r=e.open(ac,oc);r.onupgradeneeded=()=>{for(let e of sc)r.result.objectStoreNames.contains(e)||r.result.createObjectStore(e)},r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})}function lc(e,t,n){return fc(e.transaction(t,`readonly`).objectStore(t).get(n))}function uc(e,t,n,r){return fc(e.transaction(t,`readwrite`).objectStore(t).put(r,n))}function dc(e,t,n){return fc(e.transaction(t,`readwrite`).objectStore(t).delete(n))}function fc(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}var pc=`chat-projections`,mc=e=>({version:1,cursor:e.cursor,lifecycle:e.lifecycle,activeTurnId:e.activeTurnId,messages:e.messages.filter(e=>e.role===`user`).slice(-200),activities:[],prompts:e.prompts.slice(-200),interactions:e.interactions.map(({requestId:e,key:t,kind:n,turnId:r,state:i,operationId:a,attemptedOutcome:o})=>({requestId:e,key:t,kind:n,...r?{turnId:r}:{},state:i,...a?{operationId:a}:{},...i===`resolved`&&(o===`approved`||o===`denied`||o===`answered`||o===`dismissed`)?{attemptedOutcome:o}:{},...typeof o==`object`&&o&&(o.decision===`accept`||o.decision===`decline`)?{attemptedOutcome:{decision:o.decision}}:{}})).slice(-200),buffered:[]});function hc(e=globalThis.indexedDB){if(!e)return{read:async()=>null,write:async()=>{}};let t=cc(e);return{read:async e=>{try{return await lc(await t,pc,e)}catch{return null}},write:async(e,n)=>{try{await uc(await t,pc,e,mc(n))}catch{}}}}function gc(e,t){if(e===`autopilot.turn-started`)return`Continued execution automatically`;if(e===`autopilot.turn-failed`)return _c(t,`code`)===`START_UNAVAILABLE`?`Automatic continuation could not start: session runtime unavailable`:`Automatic continuation failed`;if(e===`org-plan.attention-required`)return`Needs attention`;if(e===`org-plan.attention-resolved`)return _c(t,`outcome`)===`failed`?`Attention resolution failed`:`Attention resolved`;if(e!==`autopilot.updated`)return null;let n=_c(t,`state`),r=_c(t,`reason`);return n===`completed`?`Completed the supervised plan`:n===`attentionRequired`&&r===`noPlanProgress`?`Automatic continuation stopped: no agent progress`:n===`attentionRequired`&&r===`reconcileFailed`?`Automatic continuation stopped: agent status unavailable`:n===`attentionRequired`&&r===`actionRateExceeded`?`Automatic continuation stopped: too many automatic actions`:null}function _c(e,t){return e&&typeof e==`object`?e[t]:void 0}function vc(e){if(typeof e.id!=`string`)return null;let t={...typeof e.turnId==`string`?{turnId:e.turnId}:{},...typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)?{occurredAt:e.occurredAt}:{}};if(e.kind===`reasoning`&&Array.isArray(e.summary)){let n=e.summary.filter(e=>typeof e==`string`).join(`
|
|
13
13
|
`);return n?{id:e.id,label:`Reasoning summary`,detail:n,...t}:null}return e.kind===`plan`&&typeof e.text==`string`?{id:e.id,label:`Plan`,detail:e.text,...t}:e.kind===`command`&&typeof e.command==`string`?{id:e.id,label:`Command · ${String(e.status??`unknown`)}`,detail:e.command,...t}:e.kind===`fileChange`&&Array.isArray(e.paths)?{id:e.id,label:`File change · ${String(e.status??`unknown`)}`,detail:e.paths.join(`
|
|
14
|
-
`),...t}:e.kind===`tool`&&typeof e.name==`string`?{id:e.id,label:`Tool · ${String(e.status??`unknown`)}`,detail:e.name,...t}:null}var yc=()=>({sessionId:null,cursor:0,snapshotting:!1,lifecycle:`finished`,activeTurnId:null,messages:[],activities:[],prompts:[],interactions:[],autopilotAuditTruncated:!1,buffered:new Map}),bc=(e=null)=>({...yc(),sessionId:e});function xc(e){return e.kind===`autopilot`?{id:`item:${e.id}`,role:`audit`,text:`Continued execution automatically`,...typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)?{occurredAt:e.occurredAt}:{},...typeof e.controlId==`string`?{controlId:e.controlId}:{},complete:!0}:e.kind!==`user`&&e.kind!==`agent`||typeof e.text!=`string`?null:{id:`item:${e.id}`,role:e.kind===`user`?`user`:`assistant`,text:e.text,...e.phase===`commentary`||e.phase===`final_answer`?{phase:e.phase}:{},...typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)?{occurredAt:e.occurredAt}:{},...typeof e.turnId==`string`?{turnId:e.turnId}:{},complete:!0}}function Sc(e){return{id:e.id,role:`audit`,text:e.label,occurredAt:e.occurredAt,...e.controlId?{controlId:e.controlId}:{},complete:!0}}function Cc(e){let t=wc(e.occurredAt),n=gc(e.type,e.payload),r=e.payload&&typeof e.payload==`object`&&typeof e.payload.controlId==`string`?e.payload.controlId:void 0;return n&&t!==void 0?Sc({id:`audit:${e.sequence}`,label:n,occurredAt:t,...r?{controlId:r}:{}}):null}function wc(e){if(typeof e!=`string`)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function Tc(e){let t=wc(e.requestedAt);return{requestId:e.requestId,key:`interaction:${e.requestId}`,kind:e.kind,turnId:e.turnId,payload:`payload`in e?e.payload:null,state:e.resolvedAt?e.outcome===`failed`?`failed`:`resolved`:`pending`,...e.resolvedAt?{attemptedOutcome:e.outcome}:{},...t===void 0?{}:{occurredAt:t}}}function Ec(e,t){return t===`approved`||t===`denied`||t===`answered`||t===`dismissed`||t===`failed`?t:e?.kind===`quiz`||e?.kind===`userInput`?`answered`:typeof t==`object`&&t&&t.decision===`decline`?`denied`:e?`approved`:void 0}function Dc(e,t){return e?t===`finished`||t===`interrupted`?t:`working`:t===`working`||t===`starting`||t===`recoverable`?`finished`:t}function Oc(e){return[...new Map(e.map(e=>[e.key??e.id??``,e])).values()]}function kc(e,t){return e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?{...t,...t.occurredAt===void 0&&e.occurredAt!==void 0?{occurredAt:e.occurredAt}:{}}:e):[...e,t]}function Ac(e,t,n){let r=new Map(n.map(e=>[e.id,e])),i=new Map(n.map((e,t)=>[e.id,t])),a=new Set(t.filter(e=>e.state!==`canonical`).map(e=>e.operationId)),o=new Set,s=e.flatMap(e=>{let i=xc(e);if(!i)return[];if(e.kind===`user`){let n=t.find(t=>typeof e.operationId==`string`&&e.operationId===t.operationId||typeof e.turnId==`string`&&e.turnId===t.turnId),s=!n&&t.filter(t=>t.state!==`canonical`&&t.text===e.text).length===1?t.find(t=>t.state!==`canonical`&&t.text===e.text):void 0,c=n??s;if(c){a.delete(c.operationId);let e=r.get(c.key),t={...i,id:c.key,turnId:c.turnId??i.turnId,...i.occurredAt===void 0&&e?.occurredAt!==void 0?{occurredAt:e.occurredAt}:{}};return o.add(t.id),[e&&e.text===t.text&&e.turnId===t.turnId&&e.complete===t.complete&&e.occurredAt===t.occurredAt?e:t]}}if(e.kind===`agent`&&typeof e.turnId==`string`){let t=r.get(`assistant:${e.id}`)??n.find(t=>t.role===`assistant`&&t.turnId===e.turnId&&t.text===i.text&&(t.phase===i.phase||!t.complete));if(t){o.add(t.id);let e={...i,id:t.id,turnId:i.turnId??t.turnId,...i.occurredAt===void 0&&t.occurredAt!==void 0?{occurredAt:t.occurredAt}:{}};return[t.text===e.text&&t.phase===e.phase&&t.occurredAt===e.occurredAt?t:e]}}return o.add(i.id),[i]}),c=t.filter(e=>a.has(e.operationId)).map(e=>r.get(e.key)??{id:e.key,role:`user`,text:e.text,complete:e.state===`failed`,...e.turnId?{turnId:e.turnId}:{}}),l=n.filter(e=>e.role===`assistant`&&e.id.startsWith(`assistant:`)&&!o.has(e.id)),u=Oc([...c,...l]),d=new Map(s.map((e,t)=>[e.id,t])),f=new Map;for(let e of u){let t=null;if(e.turnId){for(let n=s.length-1;n>=0;--n)if(s[n]?.turnId===e.turnId){t=n;break}}if(t===null){let r=i.get(e.id);if(r!==void 0){for(let e=r-1;e>=0;--e){let r=d.get(n[e].id);if(r!==void 0){t=r;break}}if(t===null)for(let e=r+1;e<n.length;e+=1){let r=d.get(n[e].id);if(r!==void 0){t=r-1;break}}}}let r=t??s.length-1;f.set(r,[...f.get(r)??[],e])}return Oc([...f.get(-1)??[],...s.flatMap((e,t)=>[e,...f.get(t)??[]])])}function jc(e,t){if(!t||typeof t!=`object`)return bc(e);let n=t;if(!Number.isInteger(n.cursor)||n.cursor<0||!Array.isArray(n.messages)||!Array.isArray(n.prompts)||!Array.isArray(n.interactions))return bc(e);let r=[`submitting`,`accepted`,`failed`,`canonical`],i=[`pending`,`submitting`,`resolved`,`failed`],a=[`starting`,`working`,`finished`,`interrupted`,`recoverable`];return{...bc(e),sessionId:e,cursor:n.cursor,lifecycle:a.includes(n.lifecycle)?n.lifecycle:`finished`,activeTurnId:typeof n.activeTurnId==`string`||n.activeTurnId===null?n.activeTurnId:null,snapshotting:!1,buffered:new Map,messages:n.messages.filter(e=>!!(e&&typeof e.id==`string`&&(e.role===`user`||e.role===`assistant`||e.role===`audit`)&&typeof e.text==`string`&&(e.occurredAt===void 0||typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)))).slice(-200),activities:Array.isArray(n.activities)?n.activities.filter(e=>!!(e&&typeof e.id==`string`&&typeof e.label==`string`&&typeof e.detail==`string`&&(e.turnId===void 0||typeof e.turnId==`string`))).slice(-200):[],prompts:n.prompts.filter(e=>!!(e&&typeof e.operationId==`string`&&typeof e.key==`string`&&typeof e.text==`string`&&r.includes(e.state)&&(e.occurredAt===void 0||typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)))).slice(-200),interactions:n.interactions.filter(e=>!!(e&&typeof e.requestId==`string`&&typeof e.key==`string`&&typeof e.kind==`string`&&(e.turnId===void 0||e.turnId===null||typeof e.turnId==`string`)&&i.includes(e.state)&&(e.occurredAt===void 0||typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)))).slice(-200)}}function Mc(e,t){if(!Number.isInteger(t.baseSequence)||t.baseSequence<0)return e;if(t.baseSequence<e.cursor)return Uc({...e,snapshotting:!1});let n=t.items.filter(e=>e.kind===`user`),r=e.prompts.map(t=>{let r=n.some(e=>typeof e.turnId==`string`&&e.turnId===t.turnId||typeof e.operationId==`string`&&e.operationId===t.operationId),i=n.filter(e=>e.text===t.text),a=!t.turnId&&i.length===1&&e.prompts.filter(e=>e.state!==`canonical`&&e.text===t.text).length===1;return r||a?{...t,state:`canonical`}:t}),i=t.interactions.map(Tc),a=new Map(e.interactions.map(e=>[e.requestId,e])),o=Oc(i.map(e=>{let t=a.get(e.requestId);return t?.state===`resolved`?t:{...e,...e.occurredAt===void 0&&t?.occurredAt!==void 0?{occurredAt:t.occurredAt}:{}}})),s=Oc(t.items.flatMap(e=>{let t=vc(e);return t?[{...t,key:`activity:${t.id}`}]:[]})).map(e=>({id:e.id,label:e.label,detail:e.detail,...e.turnId?{turnId:e.turnId}:{},...e.occurredAt===void 0?{}:{occurredAt:e.occurredAt}})),c=new Map(t.turns.map(e=>[e.id,e])),l=t.items.map(e=>{if(typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt))return e;let t=typeof e.turnId==`string`?c.get(e.turnId):void 0,n=e.kind===`agent`?t?.completedAt??t?.startedAt:t?.startedAt??t?.completedAt;return typeof n==`number`&&Number.isFinite(n)?{...e,occurredAt:n}:e}),u=(t.autopilotAudit??[]).filter(e=>typeof e?.id==`string`&&typeof e.label==`string`&&typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)),d={...e,cursor:Math.max(e.cursor,t.baseSequence),snapshotting:!1,activeTurnId:t.activeTurnId,lifecycle:Dc(t.activeTurnId,e.cursor===0&&e.lifecycle===`finished`?`working`:e.lifecycle),prompts:r,messages:Oc(Ac(l,r,e.messages).concat(u.map(Sc))).sort((e,t)=>(e.occurredAt??2**53-1)-(t.occurredAt??2**53-1)),activities:s,interactions:o,autopilotAuditTruncated:t.autopilotAuditTruncated===!0,buffered:new Map([...e.buffered].filter(([e])=>e>t.baseSequence))};return Uc({...d,messages:Nc(d.messages)})}function Nc(e){let t=new Set;return e.filter(e=>e.role!==`audit`||!e.controlId?!0:t.has(e.controlId)?!1:(t.add(e.controlId),!0))}function Pc(e){return{...e,snapshotting:!0}}function Fc(e,t,n,r){if(!n.trim()||e.prompts.some(e=>e.operationId===t))return e;let i={operationId:t,key:`prompt:${t}`,text:n,state:`submitting`,turnId:null,...typeof r==`number`&&Number.isFinite(r)?{occurredAt:r}:{}};return{...e,lifecycle:`starting`,prompts:[...e.prompts,i],messages:[...e.messages,{id:i.key,role:`user`,text:n,...i.occurredAt===void 0?{}:{occurredAt:i.occurredAt},complete:!1}]}}function Ic(e,t,n,r){let i=Fc(e,t,n,r);return i===e?e:{...i,lifecycle:`working`}}function Lc(e,t,n){return{...e,activeTurnId:n??e.activeTurnId,lifecycle:n?`working`:e.lifecycle,prompts:e.prompts.map(e=>e.operationId===t?{...e,state:`accepted`,turnId:n}:e),messages:e.messages.map(e=>e.id===`prompt:${t}`?{...e,complete:!0,...n?{turnId:n}:{}}:e)}}function Rc(e,t){return{...e,lifecycle:`recoverable`,prompts:e.prompts.map(e=>e.operationId===t?{...e,state:`failed`}:e),messages:e.messages.map(e=>e.id===`prompt:${t}`?{...e,complete:!0}:e)}}function zc(e,t,n){return{...e,interactions:e.interactions.map(e=>e.requestId===t&&(e.state===`pending`||e.state===`failed`)?{...e,state:`submitting`,...n?{operationId:n}:{}}:e)}}function Bc(e,t,n){return{...e,interactions:e.interactions.map(e=>e.requestId===t&&e.state!==`resolved`?{...e,state:`failed`,attemptedOutcome:n}:e)}}function Vc(e,t,n){return{...e,interactions:e.interactions.map(e=>e.requestId===t?{...e,state:`resolved`,...Ec(e,n)?{attemptedOutcome:Ec(e,n)}:{}}:e)}}function Hc(e,t){if(!Number.isInteger(t.sequence)||t.sequence<=e.cursor)return e;if(e.snapshotting||t.sequence>e.cursor+1){let n=new Map(e.buffered);return n.set(t.sequence,t),{...e,snapshotting:!0,buffered:n}}let n={...e,cursor:t.sequence},r=t.payload,i=wc(t.occurredAt);if(t.type===`agentMessageDelta`&&typeof r?.text==`string`){let e=typeof r.turnId==`string`?r.turnId:n.activeTurnId??void 0,t=`assistant:${typeof r.itemId==`string`?r.itemId:e??`live`}`,a=n.messages.find(e=>e.id===t);n={...n,lifecycle:n.activeTurnId?`working`:n.lifecycle,messages:a?n.messages.map(e=>e.id===t?{...e,text:e.text+r.text,...r.phase===`commentary`||r.phase===`final_answer`?{phase:r.phase}:{},complete:r.phase===`final_answer`||e.complete,...e.occurredAt===void 0&&i!==void 0?{occurredAt:i}:{}}:e):[...n.messages,{id:t,role:`assistant`,...r.phase===`commentary`||r.phase===`final_answer`?{phase:r.phase}:{},text:r.text,...e?{turnId:e}:{},...i===void 0?{}:{occurredAt:i},complete:r.phase===`final_answer`}]}}else if((t.type===`agentMessageStarted`||t.type===`agentMessageCompleted`)&&typeof r.text==`string`){let e=`assistant:${typeof r.itemId==`string`?r.itemId:n.activeTurnId??`live`}`,a=n.messages.find(t=>t.id===e),o=t.type===`agentMessageCompleted`,s={id:e,role:`assistant`,text:o&&r.text?r.text:a?.text??r.text,complete:o,...r.phase===`commentary`||r.phase===`final_answer`?{phase:r.phase}:a?.phase?{phase:a.phase}:{},...typeof r.turnId==`string`?{turnId:r.turnId}:a?.turnId?{turnId:a.turnId}:n.activeTurnId?{turnId:n.activeTurnId}:{},...a?.occurredAt===void 0?i===void 0?{}:{occurredAt:i}:{occurredAt:a.occurredAt}};n={...n,lifecycle:n.activeTurnId?`working`:n.lifecycle,messages:a?n.messages.map(t=>t.id===e?s:t):[...n.messages,s]}}else if(t.type===`turnCompleted`||t.type===`turnInterrupted`)n={...n,activeTurnId:null,lifecycle:t.type===`turnCompleted`||n.lifecycle===`finished`?`finished`:`interrupted`,messages:n.messages.map(e=>e.role===`assistant`?{...e,complete:!0}:e)};else if(t.type===`interaction.requested`&&typeof r?.requestId==`string`&&typeof r.kind==`string`){let e=n.interactions.find(e=>e.requestId===r.requestId);if(!e||e.state===`resolved`){let t={requestId:r.requestId,key:`interaction:${r.requestId}`,kind:r.kind,turnId:typeof r.turnId==`string`?r.turnId:n.activeTurnId,payload:r.payload,state:`pending`,...i===void 0?{}:{occurredAt:i}};n={...n,interactions:e?n.interactions.map(e=>e.requestId===r.requestId?t:e):[...n.interactions,t]}}}else if(t.type===`interaction.resolved`&&typeof r?.requestId==`string`)n=Vc(n,r.requestId,r.outcome);else if(t.type===`activity.updated`&&typeof r?.id==`string`&&typeof r.label==`string`&&typeof r.detail==`string`)n={...n,activities:kc(n.activities,{id:r.id,label:r.label,detail:r.detail,...i===void 0?{}:{occurredAt:i},...typeof r.turnId==`string`?{turnId:r.turnId}:n.activeTurnId?{turnId:n.activeTurnId}:{}})};else if(t.type===`session.updated`&&r?.activeTurnId!==void 0){let e=typeof r.activeTurnId==`string`?r.activeTurnId:null;n={...n,activeTurnId:e,lifecycle:e?`working`:Dc(e,n.lifecycle)}}let a=Cc(t);return a&&!n.messages.some(e=>e.id===a.id)&&(n={...n,messages:Nc([...n.messages,a])}),n}function Uc(e){let t=new Map(e.buffered),n={...e,snapshotting:!1,buffered:t};for(;;){let e=t.get(n.cursor+1);if(!e)return{...n,buffered:t,snapshotting:t.size>0};t.delete(e.sequence),n=Hc({...n,buffered:t},e),t=new Map(n.buffered)}}function Wc(e){return e.sessionId?e.snapshotting||e.lifecycle===`recoverable`?`Connection interrupted. Reconnecting…`:e.lifecycle===`starting`?`Starting Codex turn…`:e.lifecycle===`working`?`Codex is working…`:e.lifecycle===`interrupted`?`Codex turn interrupted.`:`Ready.`:`Choose a workspace and start a session.`}var Gc={read:async()=>null,write:async()=>{}},Kc=[250,750,1500],qc=e=>!!e&&typeof e==`object`,Jc=e=>qc(e)&&typeof e.id==`string`&&typeof e.kind==`string`,Yc=e=>qc(e)&&typeof e.id==`string`&&Array.isArray(e.items)&&e.items.every(Jc)&&(e.startedAt===null||typeof e.startedAt==`number`)&&(e.completedAt===null||typeof e.completedAt==`number`),Xc=e=>!qc(e)||typeof e.requestId!=`string`||typeof e.kind!=`string`||!(e.turnId===null||typeof e.turnId==`string`)||!(e.requestedAt===null||typeof e.requestedAt==`string`)?!1:e.resolvedAt===null?Object.hasOwn(e,`payload`):typeof e.resolvedAt==`string`&&(e.outcome===`approved`||e.outcome===`denied`||e.outcome===`answered`||e.outcome===`dismissed`||e.outcome===`failed`)&&!Object.hasOwn(e,`payload`),Zc=e=>qc(e)&&typeof e.id==`string`&&typeof e.label==`string`&&typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)&&(e.controlId===void 0||typeof e.controlId==`string`),Qc=e=>!qc(e)||!Number.isInteger(e.baseSequence)||e.baseSequence<0||!(e.activeTurnId===null||typeof e.activeTurnId==`string`)||!Array.isArray(e.items)||!Array.isArray(e.turns)||!Array.isArray(e.interactions)||!e.items.every(Jc)||!e.turns.every(Yc)||!e.interactions.every(Xc)||e.autopilotAudit!==void 0&&(!Array.isArray(e.autopilotAudit)||!e.autopilotAudit.every(Zc))||e.autopilotAuditTruncated!==void 0&&typeof e.autopilotAuditTruncated!=`boolean`||e.currentSequence!==void 0&&(!Number.isInteger(e.currentSequence)||e.currentSequence<0)?null:e,$c=class{#e=bc();#t=null;#n=0;#r=-1;#i=null;#a=null;#o=null;#s=0;#c=!1;#l=!1;#u=null;#d=0;#f=!1;#p=new Set;#m=new Set;#h;constructor(e){this.#h={...e,websocket:e.websocket??(e=>new WebSocket(e)),cache:e.cache??Gc,location:e.location??location,document:e.document??document,window:e.window??window,setTimeout:e.setTimeout??((e,t)=>setTimeout(e,t)),clearTimeout:e.clearTimeout??(e=>clearTimeout(e)),createKey:e.createKey??Fa,now:e.now??Date.now},this.#h.document.addEventListener(`visibilitychange`,this.#g),this.#h.window.addEventListener(`focus`,this.#g)}get view(){return Object.freeze({...this.#e,status:Wc(this.#e),starting:this.#e.lifecycle===`starting`})}select(e,t={}){if(this.#f||this.#t===e)return;this.#k(),this.#t=e,this.#l=e!==null&&t.history===`empty`;let n=++this.#n;this.#e=bc(e),this.#T(),e&&this.#_(e,n)}async send(e,t=this.#h.createKey()){let n=this.#t,r=this.#n,i=`${n}:${r}:${t}`;if(!(!n||!e.trim()||this.#e.activeTurnId||this.#p.has(i))){this.#p.add(i),this.#w(Fc(this.#e,t,e.trim(),this.#h.now()));try{let i=await this.#h.relay.startTurn(n,e.trim(),t);this.#E(n,r)&&(this.#l=!1,this.#w(Lc(this.#e,t,i.activeTurnId??null)),this.#h.onSendAccepted?.(t))}catch(e){this.#E(n,r)&&(this.#w(Rc(this.#e,t)),this.#h.onSendError?.(e,t))}finally{this.#p.delete(i)}}}async retryPrompt(e){let t=this.#e.prompts.find(t=>t.operationId===e);t?.state===`failed`&&await this.send(t.text,e)}async queue(e,t=this.#h.createKey()){let n=this.#t,r=this.#e.activeTurnId,i=this.#h.relay.queueTurnInput,a=this.#n,o=`${n}:${a}:${t}`;if(!(!n||!r||!i||!e.trim()||this.#p.has(o))){this.#p.add(o),this.#w(Ic(this.#e,t,e.trim(),this.#h.now()));try{let o=await i(n,r,e.trim(),t);this.#E(n,a)&&(this.#w(Lc(this.#e,t,o.activeTurnId)),this.#h.onSendAccepted?.(t))}catch(e){this.#E(n,a)&&(this.#w(Rc(this.#e,t)),this.#h.onSendError?.(e,t))}finally{this.#p.delete(o)}}}async interruptAndSend(e,t=this.#h.createKey()){let n=this.#t,r=this.#e.activeTurnId,i=this.#n,a=`${n}:${i}:${t}`;if(!(!n||!r||!e.trim()||this.#p.has(a))){this.#p.add(a),this.#w(Fc(this.#e,t,e.trim(),this.#h.now()));try{await this.#h.relay.interruptTurn(n,r).catch(()=>void 0);let a=await this.#D(n,i,e.trim(),t);this.#E(n,i)&&(this.#w(Lc(this.#e,t,a.activeTurnId??null)),this.#h.onSendAccepted?.(t))}catch(e){this.#E(n,i)&&(this.#w(Rc(this.#e,t)),this.#h.onSendError?.(e,t))}finally{this.#p.delete(a)}}}async interrupt(){let e=this.#t,t=this.#e.activeTurnId;if(!(!e||!t))try{await this.#h.relay.interruptTurn(e,t)}catch{}}async respond(e,t,n=this.#h.createKey()){let r=this.#t,i=this.#n,a=this.#e.interactions.find(t=>t.requestId===e),o=a?.operationId??n,s=`${r}:${i}:${o}`;if(!(!r||!a||a.state===`resolved`||a.state===`submitting`||this.#m.has(s))){this.#m.add(s),this.#w(zc(this.#e,e,o));try{let n=await this.#h.relay.respondInteraction(r,e,t,o),a=n&&(n.outcome===`approved`||n.outcome===`denied`||n.outcome===`answered`||n.outcome===`dismissed`||n.outcome===`failed`)?n.outcome:t;this.#E(r,i)&&this.#w(Vc(this.#e,e,a))}catch{this.#E(r,i)&&this.#w(Bc(this.#e,e,t))}finally{this.#m.delete(s)}}}async retryInteraction(e,t){let n=this.#e.interactions.find(t=>t.requestId===e);if(n?.state!==`failed`||!n.operationId)return;let r=t??n.attemptedOutcome,i=r===`approved`?{decision:`accept`}:r===`denied`?{decision:`decline`}:r;i!==void 0&&await this.respond(e,i,n.operationId)}refresh(){this.#t&&!this.#l&&this.#x(this.#t,this.#n)}dispose(){this.#f||(this.#f=!0,this.#k(),this.#h.document.removeEventListener(`visibilitychange`,this.#g),this.#h.window.removeEventListener(`focus`,this.#g))}#g=()=>{this.#h.document.visibilityState===`visible`&&this.refresh()};async#_(e,t){let n=this.#l;if(n||this.#x(e,t),this.#v(e,t),n)return;let r=await this.#h.cache.read(e).catch(()=>null);!this.#E(e,t)||this.#r===t||!r||(this.#e=jc(e,r),this.#T())}#v(e,t){if(!this.#E(e,t)||this.#i)return;let n=this.#h.location.protocol===`https:`?`wss:`:`ws:`,r;try{r=this.#h.websocket(`${n}//${this.#h.location.host}/api/sessions/${encodeURIComponent(e)}/events?after=${this.#e.cursor}`)}catch{this.#e={...this.#e,lifecycle:`recoverable`},this.#T(),this.#u=this.#h.setTimeout(()=>this.#v(e,t),Math.min(1e3*2**this.#d++,1e4));return}this.#i=r,r.onopen=()=>{this.#E(e,t)&&this.#i===r&&(this.#d=0,this.#l||this.#x(e,t))},r.onmessage=n=>this.#y(e,t,String(n.data)),r.onclose=()=>{!this.#E(e,t)||this.#i!==r||(this.#i=null,this.#u=this.#h.setTimeout(()=>this.#v(e,t),Math.min(1e3*2**this.#d++,1e4)))}}#y(e,t,n){if(!this.#E(e,t))return;let r;try{r=JSON.parse(n)}catch{return}if(r.type===`relay.resyncRequired`){this.#l=!1,this.#x(e,t);return}if(r.type!==`relay.event`||!r.event||typeof r.event!=`object`)return;let i=r.event;if(!Number.isInteger(i.sequence)||typeof i.type!=`string`||!this.#b(i))return;this.#l=!1;let a=Hc(this.#e,i);this.#w(a),this.#h.onRelayEvent?.(i),(i.type===`session.updated`||i.type===`plan.updated`||i.type===`plan.closed`||i.type===`agent.activity.updated`||i.type===`autopilot.updated`||i.type===`org-plan.attention-required`||i.type===`org-plan.attention-resolved`)&&this.#h.onSessionEvent?.(i),a.snapshotting&&this.#x(e,t)}#b(e){let t=e.payload;if(!t||typeof t!=`object`)return e.type===`turnCompleted`||e.type===`turnInterrupted`||e.type===`plan.closed`;let n=t;return e.type===`agentMessageDelta`||e.type===`agentMessageStarted`||e.type===`agentMessageCompleted`?typeof n.text==`string`:e.type===`interaction.requested`?typeof n.requestId==`string`&&typeof n.kind==`string`:e.type===`interaction.resolved`?typeof n.requestId==`string`:e.type===`session.updated`?n.activeTurnId===null||typeof n.activeTurnId==`string`:e.type===`activity.updated`?typeof n.id==`string`&&typeof n.label==`string`&&typeof n.detail==`string`:e.type===`agent.activity.updated`?typeof n.sessionId==`string`&&!!n.root&&Array.isArray(n.subagents):e.type===`autopilot.updated`||e.type===`org-plan.attention-required`||e.type===`org-plan.attention-resolved`||[`autopilot.continuation-scheduled`,`autopilot.control-issued`,`autopilot.turn-started`,`autopilot.turn-failed`].includes(e.type)?!0:e.type===`plan.updated`||e.type===`plan.closed`}#x(e,t){if(this.#a?.id===e&&this.#a.generation===t)return this.#a.promise;if(!this.#E(e,t))return Promise.resolve();let n=this.#e.snapshotting&&this.#e.buffered.size>0;this.#e=Pc(this.#e),this.#T();let r=this.#h.relay.getHistory(e).then(r=>{let i=Qc(r);if(this.#E(e,t)){if(!i){this.#w({...this.#e,snapshotting:!1,lifecycle:`recoverable`});return}this.#s=0,this.#c=!1,this.#o&&this.#h.clearTimeout(this.#o),this.#o=null,this.#r=t,this.#w(Mc(this.#e,i)),n&&this.#C(e,t)}}).catch(n=>{if(this.#E(e,t)){this.#w({...this.#e,snapshotting:!1,lifecycle:`recoverable`});let r=Kc[this.#s++];r===void 0?this.#c||(this.#c=!0,this.#h.onHistoryError?.(n)):this.#S(e,t,r)}}).finally(()=>{this.#a?.promise===r&&(this.#a=null,this.#E(e,t)&&this.#e.snapshotting&&this.#x(e,t))});return this.#a={id:e,generation:t,promise:r},r}#S(e,t,n){this.#o&&this.#h.clearTimeout(this.#o);let r=this.#h.setTimeout(()=>{this.#o===r&&(this.#o=null,this.#E(e,t)&&this.#x(e,t))},n);this.#o=r}#C(e,t){let n=this.#i;this.#i=null,n?.close(),this.#u&&this.#h.clearTimeout(this.#u),this.#u=null,this.#v(e,t)}#w(e){this.#e=e,this.#T(),this.#t&&this.#h.cache.write(this.#t,this.#e).catch(()=>{})}#T(){this.#h.publish(this.view)}#E(e,t){return!this.#f&&this.#t===e&&this.#n===t}async#D(e,t,n,r){let i;for(let a of[0,50,150,300]){if(!this.#E(e,t))throw Error(`SESSION_CHANGED`);a&&await this.#O(a);try{return await this.#h.relay.startTurn(e,n,r)}catch(e){if(!el(e,`SESSION_TURN_ACTIVE`))throw e;i=e}}throw i}#O(e){return new Promise(t=>this.#h.setTimeout(t,e))}#k(){this.#u&&this.#h.clearTimeout(this.#u),this.#u=null,this.#o&&this.#h.clearTimeout(this.#o),this.#o=null,this.#s=0,this.#c=!1,this.#l=!1;let e=this.#i;this.#i=null,e?.close()}};function el(e,t){return qc(e)&&e.code===t}var tl=class{#e=!0;#t=null;#n;constructor(e){this.#n=e}get following(){return this.#e}observeTail(e){this.#e=e}reset(){this.cancel(),this.#e=!0}request(e){e!==`content`&&(this.#e=!0),!(e===`content`&&!this.#e)&&this.#t===null&&(this.#t=this.#n.requestFrame(()=>{this.#t=null,this.#n.scrollTail(e===`initial`||this.#n.reducedMotion()?`auto`:`smooth`)}))}cancel(){this.#t!==null&&this.#n.cancelFrame(this.#t),this.#t=null}},nl=class{afterCommit;request;#e=0;constructor(e,t){this.afterCommit=e,this.request=t}schedule(e){let t=this.#e;this.afterCommit(()=>{t===this.#e&&this.request(e)})}invalidate(){this.#e+=1}},rl={RELAY_UNAVAILABLE:`The relay is unavailable. Check the connection and try again.`,SESSION_HISTORY_UNAVAILABLE:`Session history is unavailable. Check the relay connection and try opening the session again.`,SESSION_HISTORY_READ_FAILED:`Session history could not be read. The conversation remains saved; try again shortly.`,SESSION_WRITER_BUSY:`This thread is active in another Codex client. Release it there, then retry sending here.`,SESSION_WORKSPACE_UNAVAILABLE:`This session workspace is unavailable. Restore access to it, then retry sending.`,SESSION_RUNTIME_DEPENDENCY_FAILED:`A required Codex runtime dependency is unavailable. Check Codex, then retry.`,CODEX_PROTOCOL_INCOMPATIBLE:`The installed Codex runtime is incompatible with this relay. Update Codex before retrying.`,SESSION_ROLLOUT_MISSING:`This stored thread is no longer available.`,SESSION_RUNTIME_UNAVAILABLE:`The Codex runtime is unavailable. Retry shortly.`,SESSION_START_FAILED:`The session could not be started. Try again.`,SESSION_REFRESH_FAILED:`Sessions could not be refreshed. Try again.`,MESSAGE_SEND_FAILED:`The message was not sent. Your draft is preserved.`,GIT_SUMMARY_FAILED:`Repository status could not be loaded. Select it again to retry.`,GIT_PULL_FAILED:`The branch could not be refreshed. Resolve any Git conflicts and try again.`,GIT_CHECKOUT_FAILED:`The branch could not be selected. Refresh Git status and try again.`,GIT_PUSH_FAILED:`The push failed. Refresh Git status and resolve remote divergence first.`,GIT_CLONE_FAILED:`Clone failed.`,WORKSPACE_FILES_READ_FAILED:`Files could not be read. Try again.`};function il(e,t){let n=e instanceof Error?e.message:``,r=typeof e==`object`&&e&&`code`in e&&typeof e.code==`string`?e.code:``,i=Object.hasOwn(rl,r)?r:Object.hasOwn(rl,n)?n:t,a=typeof e==`object`&&e&&`retryable`in e?e.retryable===!0:!0;return{code:i,message:rl[i],retryable:a}}var al={error:null,success:5e3,info:7e3};function ol(e={}){let t=e.now??Date.now,n=e.setTimer??setTimeout,r=e.clearTimer??clearTimeout,i=new Set,a=new Map,o=[],s=0,c=()=>o.map(e=>({...e})),l=()=>i.forEach(e=>e(c())),u=e=>{let t=a.get(e);t?.handle&&r(t.handle),t&&(t.handle=null)},d=e=>{o.some(t=>t.id===e)&&(u(e),a.delete(e),o=o.filter(t=>t.id!==e),l())},f=e=>{let r=a.get(e);!r||r.pauseReasons.size>0||(r.startedAt=t(),r.handle=n(()=>d(e),r.remaining))};return{enqueue(e){if(e.kind===`error`){let t=o.find(t=>t.kind===`error`&&(e.code?t.code===e.code:t.message===e.message));if(t)return o=o.map(e=>e.id===t.id?{...e,occurrences:e.occurrences+1}:e),l(),t.id}let n=`toast-${++s}`,r={...e,id:n,occurrences:1};o=[...o,r];let i=al[e.kind];return i!==null&&(a.set(n,{handle:null,remaining:i,startedAt:t(),pauseReasons:new Set}),f(n)),l(),n},dismiss:d,pause(e,n){let r=a.get(e);!r||r.pauseReasons.has(n)||(r.pauseReasons.add(n),r.handle&&(r.remaining=Math.max(0,r.remaining-(t()-r.startedAt)),u(e)))},resume(e,t){let n=a.get(e);!n||!n.pauseReasons.delete(t)||n.pauseReasons.size>0||f(e)},snapshot:c,subscribe(e){return i.add(e),e(c()),()=>i.delete(e)}}}var sl=q(`<small class="svelte-1a0rutm"> </small>`),cl=q(`<section aria-atomic="true"><span class="toast-symbol svelte-1a0rutm" aria-hidden="true"> </span> <span class="toast-copy svelte-1a0rutm"><strong class="svelte-1a0rutm"> </strong> <span> </span> <!></span> <button type="button" class="svelte-1a0rutm"><span aria-hidden="true">×</span></button></section>`),ll=q(`<div class="toast-viewport svelte-1a0rutm" aria-label="Notifications"></div>`);function ul(e,t){Qe(t,!0);let n=I([]),r=P(()=>G(n).slice(-3));Li(()=>t.queue.subscribe(e=>L(n,e)));var i=ll();Z(i,21,()=>G(r),e=>e.id,(e,n)=>{var r=cl();let i;var a=z(r),o=z(a,!0);N(a);var s=V(a,2),c=z(s),l=z(c,!0);N(c);var u=V(c,2),d=z(u,!0);N(u);var f=V(u,2),p=e=>{var t=sl(),r=z(t);N(t),H(()=>Y(r,`Repeated ${G(n).occurrences??``} times.`)),J(e,t)};X(f,e=>{G(n).occurrences>1&&e(p)}),N(s);var m=V(s,2);N(r),H(()=>{i=hi(r,1,`toast svelte-1a0rutm`,null,i,{error:G(n).kind===`error`,success:G(n).kind===`success`}),Q(r,`role`,G(n).kind===`error`?`alert`:`status`),Q(r,`aria-live`,G(n).kind===`error`?`assertive`:`polite`),Y(o,G(n).kind===`error`?`!`:G(n).kind===`success`?`✓`:`i`),Y(l,G(n).kind===`error`?`Error`:G(n).kind===`success`?`Success`:`Info`),Y(d,G(n).message),Q(m,`aria-label`,`Dismiss ${G(n).kind} notification`)}),Mr(`pointerenter`,r,()=>t.queue.pause(G(n).id,`hover`)),Mr(`pointerleave`,r,()=>t.queue.resume(G(n).id,`hover`)),K(`focusin`,r,()=>t.queue.pause(G(n).id,`focus`)),K(`focusout`,r,()=>t.queue.resume(G(n).id,`focus`)),K(`click`,m,()=>t.queue.dismiss(G(n).id)),J(e,r)}),N(i),J(e,i),$e()}Nr([`focusin`,`focusout`,`click`]);var dl=q(`<main class="evidence-page svelte-1j55xyh"><h1 class="svelte-1j55xyh">Git repository</h1> <p>Choose a destination and clone a repository.</p> <div class="evidence-composer svelte-1j55xyh"><label for="evidence-prompt">Prompt</label> <textarea id="evidence-prompt" class="evidence-prompt svelte-1j55xyh" rows="1">Review repository status</textarea></div></main> <nav class="evidence-nav svelte-1j55xyh" aria-label="Primary evidence navigation"><button type="button" class="svelte-1j55xyh">Sessions</button> <button type="button" aria-pressed="true" class="svelte-1j55xyh">Git</button> <button type="button" class="svelte-1j55xyh">Chat</button></nav> <!>`,1);function fl(e,t){Qe(t,!0);let n=ol();Li(()=>{t.variant===`stacked`&&n.enqueue({kind:`success`,message:`Cloned.`}),n.enqueue({kind:`error`,code:`GIT_CLONE_FAILED`,message:`Clone failed.`})});var r=dl();ul(V(B(r),4),{get queue(){return n}}),J(e,r),$e()}var pl={sessionBase:()=>!0,gitRepositoryTarget:e=>e.isGitRepository,cloneDestination:e=>!e.isGitRepository};function ml(e){let t=new Set,n=(e,r)=>{!e.isGitRepository&&r<=2&&t.add(e.id),e.children.forEach(e=>n(e,r+1))};return e.forEach(e=>n(e,1)),t}function hl(e,t){let n=new Set(e);return t.isGitRepository||(n.has(t.id)?n.delete(t.id):n.add(t.id)),n}function gl(e,t){let n=[],r=(e,i,a)=>{n.push({node:e,level:i,parentId:a}),!e.isGitRepository&&t.has(e.id)&&e.children.forEach(t=>r(t,i+1,e.id))};return e.forEach(e=>r(e,1,null)),n}function _l(e,t){let n=(e,r)=>{if(e.id===t)return r;for(let t of e.children){let i=n(t,[...r,e.id]);if(i)return i}return null};for(let t of e){let e=n(t,[]);if(e)return e}return[]}function vl(e,t){for(let n of e){if(n.id===t)return n;let e=vl(n.children,t);if(e)return e}}function yl(e,t,n,r){if(e){let i=vl(n,e);if(i&&r(i))return i.id;let a=_l(t,e);for(let e of a.toReversed()){let t=vl(n,e);if(t&&r(t))return t.id}}return bl(n).find(r)?.id??null}function bl(e){let t=[],n=e=>{t.push(e),e.children.forEach(n)};return e.forEach(n),t}var xl=q(`<button class="disclosure svelte-6z3q4v" type="button" tabindex="-1"><span aria-hidden="true"> </span></button>`),Sl=q(`<span class="disclosure-spacer svelte-6z3q4v" aria-hidden="true"></span>`),Cl=q(`<span class="repository-badge svelte-6z3q4v">Git</span>`),wl=q(`<div class="tree-row svelte-6z3q4v"><!> <button type="button" role="treeitem"><span class="selection-mark svelte-6z3q4v" aria-hidden="true"> </span> <span class="node-copy svelte-6z3q4v"><span class="node-name svelte-6z3q4v"> </span> <span class="node-path svelte-6z3q4v"> </span></span> <!></button></div>`),Tl=q(`<div class="filesystem-tree svelte-6z3q4v" role="tree"></div>`);function El(e,t){Qe(t,!0);let n=$(t,`isSelectable`,3,()=>!0),r=I(null),i=R({}),a=P(()=>gl(t.roots,t.expandedIds)),o=P(()=>G(r)&&G(a).some(({node:e})=>e.id===G(r))?G(r):t.selectedId&&G(a).some(({node:e})=>e.id===t.selectedId)?t.selectedId:G(a)[0]?.node.id??null);function s(e){return!e.isGitRepository&&e.children.length>0}function c(e){return e===`.`?`~/`:`~/${e}`}function l(e){L(r,e,!0),i[e]?.focus()}function u(e,t){let n=Math.max(0,Math.min(G(a).length-1,t)),r=G(a)[n];r&&n!==e&&l(r.node.id)}function d(e){n()(e)&&t.onselect(e)}function f(e){s(e)&&t.onexpandedchange(hl(t.expandedIds,e))}function p(e,n,r){let{node:i,parentId:o}=n;switch(e.key){case`ArrowUp`:e.preventDefault(),u(r,r-1);break;case`ArrowDown`:e.preventDefault(),u(r,r+1);break;case`ArrowRight`:if(!s(i))return;e.preventDefault(),t.expandedIds.has(i.id)?G(a)[r+1]?.parentId===i.id&&u(r,r+1):f(i);break;case`ArrowLeft`:if(!t.expandedIds.has(i.id)&&!o)return;e.preventDefault(),s(i)&&t.expandedIds.has(i.id)?f(i):o&&l(o);break;case`Home`:e.preventDefault(),u(r,0);break;case`End`:e.preventDefault(),u(r,G(a).length-1);break;case`Enter`:case` `:e.preventDefault(),d(i);break}}var m=Tl();Z(m,23,()=>G(a),e=>e.node.id,(e,a,l)=>{let u=P(()=>G(a).node),m=P(()=>s(G(u)));var h=wl();let g;var _=z(h),v=e=>{var n=xl(),r=z(n),i=z(r,!0);N(r),N(n),H((e,t)=>{Q(n,`aria-label`,e),Y(i,t)},[()=>`${t.expandedIds.has(G(u).id)?`Collapse`:`Expand`} ${G(u).name}`,()=>t.expandedIds.has(G(u).id)?`−`:`+`]),K(`click`,n,()=>f(G(u))),J(e,n)},y=e=>{J(e,Sl())};X(_,e=>{G(m)?e(v):e(y,-1)});var b=V(_,2);let x;var S=z(b),C=z(S,!0);N(S);var w=V(S,2),T=z(w),E=z(T,!0);N(T);var D=V(T,2),ee=z(D,!0);N(D),N(w);var O=V(w,2),te=e=>{J(e,Cl())};X(O,e=>{G(u).isGitRepository&&e(te)}),N(b),Ii(b,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(u)]),N(h),H((e,n,r,i,s)=>{g=_i(h,``,g,e),x=hi(b,1,`tree-item svelte-6z3q4v`,null,x,{selected:t.selectedId===G(u).id,repository:G(u).isGitRepository}),Q(b,`aria-level`,G(a).level),Q(b,`aria-expanded`,n),Q(b,`aria-selected`,t.selectedId===G(u).id),Q(b,`aria-disabled`,r),Q(b,`tabindex`,G(o)===G(u).id?0:-1),Q(b,`title`,i),Y(C,t.selectedId===G(u).id?`✓`:``),Y(E,G(u).name),Y(ee,s)},[()=>({"--tree-level":Math.min(G(a).level-1,6)}),()=>G(m)?t.expandedIds.has(G(u).id):void 0,()=>!n()(G(u)),()=>c(G(u).relativePath),()=>c(G(u).relativePath)]),Mr(`focus`,b,()=>L(r,G(u).id,!0)),K(`keydown`,b,e=>p(e,G(a),G(l))),K(`click`,b,()=>d(G(u))),J(e,h)}),N(m),H(()=>Q(m,`aria-label`,t.label)),J(e,m),$e()}Nr([`click`,`keydown`]);var Dl=q(`<section class="evidence-shell svelte-1d6w4ti" aria-labelledby="evidence-title"><p class="eyebrow svelte-1d6w4ti"> </p> <h1 id="evidence-title" class="svelte-1d6w4ti"> </h1> <p class="instructions svelte-1d6w4ti"> </p> <!></section>`);function Ol(e,t){Qe(t,!0);let n=(e,t)=>({id:e,name:t,relativePath:e,isGitRepository:!0,children:[]}),r=[{id:`.`,name:`development-workspace-with-a-long-name`,relativePath:`.`,isGitRepository:!1,children:[{id:`dyne`,name:`dyne`,relativePath:`dyne`,isGitRepository:!1,children:[{id:`dyne/mobile-applications`,name:`mobile-applications-and-experiments`,relativePath:`dyne/mobile-applications`,isGitRepository:!1,children:[n(`dyne/mobile-applications/gestalt-mobile`,`gestalt-mobile-with-an-extraordinarily-long-repository-name`)]},n(`dyne/zenroom`,`zenroom`),n(`dyne/zenflows`,`zenflows`),n(`dyne/did`,`did-toolkit`),n(`dyne/api`,`api-gateway`),n(`dyne/docs`,`documentation-portal`)]},{id:`personal`,name:`personal-projects`,relativePath:`personal`,isGitRepository:!1,children:[]}]}],i=I(R(new Set([`.`,`dyne`,`dyne/mobile-applications`]))),a=I(null),o=P(()=>t.context===`sessions`?`dyne/mobile-applications`:`dyne/mobile-applications/gestalt-mobile`),s=P(()=>G(a)??G(o));var c=Dl(),l=z(c),u=z(l,!0);N(l);var d=V(l,2),f=z(d,!0);N(d);var p=V(d,2),m=z(p,!0);N(p);var h=V(p,2);{let e=P(()=>t.context===`sessions`?`Session base`:`Git repository`),n=P(()=>t.context===`sessions`?pl.sessionBase:pl.gitRepositoryTarget);El(h,{get roots(){return r},get expandedIds(){return G(i)},get selectedId(){return G(s)},get label(){return G(e)},get isSelectable(){return G(n)},onexpandedchange:e=>L(i,e,!0),onselect:e=>L(a,e.id,!0)})}N(c),H(()=>{Y(u,t.context===`sessions`?`Sessions`:`Git`),Y(f,t.context===`sessions`?`Session base`:`Git repository`),Y(m,t.context===`sessions`?`Select the folder Codex should use as its working directory.`:`Select a repository for Git actions.`)}),J(e,c),$e()}function kl(e,t=Date.now()){if(!e)return`Not fetched yet`;let n=Math.max(0,t-new Date(e).getTime()),r=Math.floor(n/6e4);if(r<1)return`Fetched just now`;if(r<60)return`Fetched ${r}m ago`;let i=Math.floor(r/60);return i<24?`Fetched ${i}h ago`:`Fetched ${Math.floor(i/24)}d ago`}function Al(e,t=Date.now()){let n=Date.parse(e);if(!Number.isFinite(n))return`unknown time`;let r=Math.round((n-t)/1e3),i=[[`year`,31536e3],[`month`,2592e3],[`week`,604800],[`day`,86400],[`hour`,3600],[`minute`,60],[`second`,1]],[a,o]=i.find(([,e])=>Math.abs(r)>=e)??i.at(-1);return new Intl.RelativeTimeFormat(void 0,{numeric:`auto`}).format(Math.round(r/o),a)}var jl=q(`<p class="clone-status svelte-pudr3t" role="status"> </p>`),Ml=q(`<option> </option>`),Nl=q(`<section aria-label="Confirm push"><p> </p> <button type="button">Confirm push</button> <button type="button">Cancel</button></section>`),Pl=q(`<li class="commit-entry svelte-pudr3t"><div class="commit-subject svelte-pudr3t"><code class="svelte-pudr3t"> </code><span> </span></div> <div class="commit-meta svelte-pudr3t"><span> </span><time class="svelte-pudr3t"> </time></div></li>`),Fl=q(`<section class="commit-history svelte-pudr3t" aria-labelledby="recent-commits-title"><h3 id="recent-commits-title" class="svelte-pudr3t">Recent commits</h3> <ol class="commit-list svelte-pudr3t" aria-label="Recent commits"></ol></section>`),Il=q(`<div class="git-overview svelte-pudr3t"><div class="git-status svelte-pudr3t"><label for="git-branch">Branch</label> <select id="git-branch"></select> <p class="svelte-pudr3t"> </p> <p class="svelte-pudr3t"> </p> <p class="svelte-pudr3t"><time> </time></p> <p class="svelte-pudr3t"> </p></div> <div class="git-actions svelte-pudr3t"><button type="button" class="svelte-pudr3t"><span aria-hidden="true">↑</span> Push</button> <button type="button" class="svelte-pudr3t"><span aria-hidden="true">↓</span> </button></div></div> <!> <!>`,1),Ll=q(`<p>This workspace is not a Git repository.</p>`),Rl=q(`<p role="status">Loading repository status…</p>`),zl=q(`<p><strong> </strong> is available as a Clone destination. Select a Git repository
|
|
15
|
-
to inspect branches and enable repository actions.</p> <div class="git-actions svelte-pudr3t" aria-label="Repository actions unavailable"><button type="button" disabled="" class="svelte-pudr3t"><span aria-hidden="true">↑</span> Push</button> <button type="button" disabled="" class="svelte-pudr3t"><span aria-hidden="true">↓</span> Pull</button></div>`,1),
|
|
16
|
-
destinations.</p></div> <!> <button id="browse-files" type="button">Browse files</button></section> <form class="clone-form svelte-pudr3t"><div class="clone-controls svelte-pudr3t"><div class="clone-field clone-destination svelte-pudr3t"><span class="field-label svelte-pudr3t">Destination</span> <output aria-live="polite" class="svelte-pudr3t"> </output></div> <div class="clone-field svelte-pudr3t"><label for="git-clone-address">Git address</label> <input id="git-clone-address" name="address" required="" autocomplete="url" inputmode="url" enterkeyhint="done" placeholder="https://example.com/owner/repository.git" aria-describedby="clone-help"/></div> <button type="submit" class="svelte-pudr3t"> </button></div> <p id="clone-help" class="svelte-pudr3t">The repository is cloned inside the selected workspace.</p> <!></form> <section class="repository-details svelte-pudr3t" aria-labelledby="repository-details-title"><h3 id="repository-details-title" class="svelte-pudr3t">Repository details</h3> <!> <!></section></section>`);function Ul(e,t){Qe(t,!0);let n=I(``),r=P(()=>t.selectedWorkspace&&!t.selectedWorkspace.isGitRepository?t.selectedWorkspace:null);function i(e){e.preventDefault(),!(!G(n).trim()||t.cloning)&&t.onclone(G(n).trim())}var a=Hl(),o=V(z(a),2),s=V(z(o),2);{let e=P(()=>t.selectedWorkspace?.id??null);El(s,{get roots(){return t.workspaceTree},get expandedIds(){return t.expandedIds},get selectedId(){return G(e)},label:`Git repository and clone destination`,get onexpandedchange(){return t.onexpandedchange},get onselect(){return t.onselect}})}var c=V(s,2);N(o);var l=V(o,2),u=z(l),d=z(u),f=V(z(d),2),p=z(f,!0);N(f),N(d);var m=V(d,2),h=V(z(m),2);Ei(h),N(m);var g=V(m,2),_=z(g,!0);N(g),N(u);var v=V(u,4),y=e=>{var n=jl(),r=z(n,!0);N(n),H(()=>Y(r,t.cloneStatus)),J(e,n)};X(v,e=>{t.cloneStatus&&e(y)}),N(l);var b=V(l,2),x=V(z(b),2),S=e=>{var n=Vr(),r=B(n),i=e=>{var n=Vr(),r=B(n),i=e=>{var n=Il(),r=B(n),i=z(r),a=V(z(i),2);Z(a,20,()=>t.summary.branches??[],e=>e,(e,t)=>{var n=Ml(),r=z(n,!0);N(n);var i={};H(()=>{Y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),J(e,n)}),N(a);var o;yi(a);var s=V(a,2),c=z(s);N(s);var l=V(s,2),u=z(l);N(l);var d=V(l,2),f=z(d),p=z(f,!0);N(f),N(d);var m=V(d,2),h=z(m);N(m),N(i);var g=V(i,2),_=z(g),v=V(_,2),y=V(z(v));N(v),N(g),N(r);var b=V(r,2),x=e=>{var n=Nl(),r=z(n),i=z(r);N(r);var a=V(r,2),o=V(a,2);N(n),H(()=>Y(i,`Push HEAD to ${t.summary.upstream??``}?`)),K(`click`,a,function(...e){t.onpush?.apply(this,e)}),K(`click`,o,function(...e){t.oncancelpush?.apply(this,e)}),J(e,n)};X(b,e=>{t.confirmingPush&&e(x)});var S=V(b,2),C=e=>{var n=Fl(),r=V(z(n),2);Z(r,21,()=>t.summary.commits,e=>e.hash,(e,t)=>{var n=Pl(),r=z(n),i=z(r),a=z(i,!0);N(i);var o=V(i),s=z(o,!0);N(o),N(r);var c=V(r,2),l=z(c),u=z(l,!0);N(l);var d=V(l),f=z(d,!0);N(d),N(c),N(n),H(e=>{Q(i,`title`,G(t).hash),Y(a,G(t).shortHash),Y(s,G(t).subject),Y(u,G(t).author),Q(d,`datetime`,G(t).authoredAt),Q(d,`title`,G(t).authoredAt),Y(f,e)},[()=>Al(G(t).authoredAt)]),J(e,n)}),N(r),N(n),J(e,n)};X(S,e=>{t.summary.commits.length&&e(C)}),H(e=>{a.disabled=t.refreshing||t.checkingOut||!t.summary.branches?.length,o!==(o=t.summary.branch??``)&&(a.value=(a.__value=t.summary.branch??``)??``,vi(a,t.summary.branch??``)),Y(c,`Upstream: ${t.summary.upstream??`none`??``}`),Y(u,`Ahead ${t.summary.ahead??``}; behind ${t.summary.behind??``}.`),Q(f,`datetime`,t.summary.fetchedAt??void 0),Y(p,e),Y(h,`Changes: ${t.summary.dirty.staged??``} staged, ${t.summary.dirty.unstaged??``} unstaged, ${t.summary.dirty.untracked??``} untracked.`),_.disabled=t.refreshing||t.checkingOut||!t.summary.upstream||t.summary.ahead<1||t.summary.behind>0,v.disabled=t.refreshing||t.checkingOut,Y(y,` ${t.refreshing?`Pulling…`:`Pull`}`)},[()=>kl(t.summary.fetchedAt)]),K(`change`,a,e=>t.oncheckout(e.currentTarget.value)),K(`click`,_,function(...e){t.onopenpushconfirmation?.apply(this,e)}),K(`click`,v,function(...e){t.onpull?.apply(this,e)}),J(e,n)},a=e=>{J(e,Ll())};X(r,e=>{t.summary.available?e(i):e(a,-1)}),J(e,n)},a=e=>{J(e,Rl())};X(r,e=>{t.summary?e(i):t.error||e(a,1)}),J(e,n)},C=e=>{var n=zl(),r=B(n),i=z(r),a=z(i,!0);N(i),He(),N(r),He(2),H(()=>Y(a,t.selectedWorkspace.name)),J(e,n)},w=e=>{var t=Bl();He(2),J(e,t)};X(x,e=>{t.selectedWorkspace?.isGitRepository?e(S):t.selectedWorkspace?e(C,1):e(w,-1)});var T=V(x,2),E=e=>{var n=Vl(),r=z(n,!0);N(n),H(()=>Y(r,t.error)),J(e,n)};X(T,e=>{t.error&&e(E)}),N(b),N(a),H(()=>{c.disabled=!t.selectedWorkspace,Y(p,G(r)?`~/${G(r).relativePath}`:`Select a non-repository folder`),g.disabled=t.cloning,Y(_,t.cloning?`Cloning…`:`Clone`)}),K(`click`,c,e=>t.onbrowsefiles(e.currentTarget)),Mr(`submit`,l,i),Mi(h,()=>G(n),e=>L(n,e)),J(e,a),$e()}Nr([`click`,`change`]);var Wl=class{transport;isRepository;onChange;errorMessage;#e={workspaceId:null,summary:null,loading:!1,refreshing:!1,checkingOut:!1,error:null};#t=0;#n=null;#r=!1;constructor(e,t,n,r){this.transport=e,this.isRepository=t,this.onChange=n,this.errorMessage=r}get state(){return this.#e}select(e){this.#a();let t=e,n=!!(t&&this.isRepository(t));this.#s({workspaceId:t,summary:null,loading:n,refreshing:!1,checkingOut:!1,error:null}),n&&this.refresh()}async refresh(){let e=this.#e.workspaceId;if(!e||!this.isRepository(e))return;let t=this.#i(),n=this.#t;this.#s({...this.#e,loading:!0,error:null});try{let r=await this.transport.getSummary(e,t.signal);this.#o(n,e,t)&&this.#s({...this.#e,summary:r,loading:!1})}catch(r){this.#o(n,e,t)&&!t.signal.aborted&&this.#s({...this.#e,summary:null,loading:!1,error:this.errorMessage(r,`GIT_SUMMARY_FAILED`)})}}async pull(e){let t=this.#e.workspaceId;if(!t||this.#e.refreshing)return;let n=this.#i(),r=this.#t;this.#s({...this.#e,refreshing:!0,error:null});try{await this.transport.pull(t,e,n.signal),this.#o(r,t,n)&&(this.#s({...this.#e,refreshing:!1}),await this.refresh())}catch(e){this.#o(r,t,n)&&!n.signal.aborted&&this.#s({...this.#e,refreshing:!1,error:this.errorMessage(e,`GIT_PULL_FAILED`)})}}async checkout(e){let t=this.#e.workspaceId;if(!t||this.#e.checkingOut||e===this.#e.summary?.branch)return;let n=this.#i(),r=this.#t;this.#s({...this.#e,checkingOut:!0,error:null});try{await this.transport.checkout(t,e,n.signal),this.#o(r,t,n)&&(this.#s({...this.#e,checkingOut:!1}),await this.refresh())}catch(e){this.#o(r,t,n)&&!n.signal.aborted&&this.#s({...this.#e,checkingOut:!1,error:this.errorMessage(e,`GIT_CHECKOUT_FAILED`)})}}dispose(){this.#r=!0,this.#a()}#i(){return this.#a(),this.#n=new AbortController,++this.#t,this.#n}#a(){this.#n?.abort(),this.#n=null,++this.#t}#o(e,t,n){return!this.#r&&e===this.#t&&this.#e.workspaceId===t&&this.#n===n}#s(e){this.#r||(this.#e=e,this.onChange(e))}};function Gl(e,t,n,r,i){let a=new Set(Kl(e).filter(e=>e.isGitRepository).map(e=>e.id)),o=vl(t,n),s=o?Kl(o.children).filter(e=>e.isGitRepository&&!a.has(e.id)):[],c=ql(r),l=s.find(e=>e.name===c)??(s.length===1?s[0]:void 0),u=l?.id??o?.id??null,d=new Set(i);return u&&_l(t,u).forEach(e=>d.add(e)),!l&&o&&d.add(o.id),{selectedId:u,expandedIds:d}}function Kl(e){let t=[],n=e=>{t.push(e),e.children.forEach(n)};return e.forEach(n),t}function ql(e){return(e.trim().replace(/[?#].*$/,``).replace(/\/+$/,``).split(/[/:]/).at(-1)??``).replace(/\.git$/i,``)}function Jl(e){if(typeof e!=`object`||!e)return null;let t=e.permissions;if(typeof t!=`object`||!t)return null;let n=t;return{permissions:{...n.network===null||n.network===void 0?{}:{network:n.network},...n.fileSystem===null||n.fileSystem===void 0?{}:{fileSystem:n.fileSystem}},scope:`turn`}}function Yl(e){return{answers:Object.fromEntries(e.filter(e=>e.answer.trim()).map(e=>[e.id,{answers:[e.answer]}]))}}function Xl(e=fetch){async function t(e){let t=await e.json().catch(()=>null),n=typeof t?.code==`string`&&/^[A-Z0-9_]+$/.test(t.code)?t.code:void 0,r=n?.startsWith(`AUTOPILOT_`)&&e.status===409?`Relay request failed (${e.status}).`:typeof t?.detail==`string`&&t.detail.length<=600?t.detail:typeof t?.title==`string`?t.title:`Relay request failed (${e.status}).`;return Object.assign(Error(r),{...n?{code:n}:{},...typeof t?.replaceAllowed==`boolean`?{replaceAllowed:t.replaceAllowed}:{},status:e.status})}async function n(n,r,i={},a){let o=await e(n,{method:`POST`,headers:{"content-type":`application/json`,...i},body:JSON.stringify(r),signal:a});if(!o.ok)throw await t(o);return o.json()}async function r(n,r,i={}){let a=await e(n,{method:`PUT`,headers:{"content-type":`application/json`,...i},body:JSON.stringify(r)});if(!a.ok)throw await t(a);return a.json()}async function i(n,r,i,a){let o=await e(n,{method:`PUT`,headers:{"content-type":`application/octet-stream`,"idempotency-key":i},body:r,signal:a});if(!o.ok)throw await t(o);return o.json()}async function a(n,r,i){let a=await e(n,{method:`DELETE`,headers:{"content-type":`application/json`,"idempotency-key":i},body:JSON.stringify(r)});if(!a.ok)throw await t(a);return a.json()}async function o(n){let r=await e(n,{method:`DELETE`});if(!r.ok)throw await t(r)}async function s(n,r){let i=await e(n,r?{signal:r}:void 0);if(!i.ok)throw await t(i);return i.json()}async function c(n,r){let i=await e(n,{signal:r});if(i.status===204)return null;if(!i.ok)throw await t(i);return i.json()}return{listSessions:e=>s(`/api/sessions`,e),listWorkspaceDirectory:(e,t={},n)=>{let r=new URLSearchParams;t.directory!==void 0&&r.set(`directory`,t.directory),t.cursor!==void 0&&r.set(`cursor`,t.cursor),t.limit!==void 0&&r.set(`limit`,String(t.limit));let i=r.size===0?``:`?${r}`;return s(`/api/workspaces/${encodeURIComponent(e)}/files${i}`,n)},copyWorkspaceEntry:(e,t,r)=>n(`/api/workspaces/${encodeURIComponent(e)}/files/copy`,t,{"idempotency-key":r}),moveWorkspaceEntry:(e,t,r)=>n(`/api/workspaces/${encodeURIComponent(e)}/files/move`,t,{"idempotency-key":r}),uploadWorkspaceFile:(e,t,n,r)=>{let a=new URLSearchParams({directory:t.directory,filename:t.filename,conflict:t.conflict});return i(`/api/workspaces/${encodeURIComponent(e)}/files/upload?${a}`,t.file,n,r)},deleteWorkspaceEntry:(e,t,n)=>a(`/api/workspaces/${encodeURIComponent(e)}/files`,{path:t,recursive:!0},n),getSession:e=>s(`/api/sessions/${encodeURIComponent(e)}`),refreshActivity:e=>n(`/api/sessions/${encodeURIComponent(e)}/activity/refresh`,{}),setAutopilot:(e,t,n)=>r(`/api/sessions/${encodeURIComponent(e)}/autopilot`,{enabled:t},n?{"idempotency-key":n}:{}),resolveAttention:(e,t,r)=>n(`/api/sessions/${encodeURIComponent(e)}/attention/${encodeURIComponent(t)}/resolve`,r),listRecentSessions:()=>s(`/api/sessions/recent-threads`),openRecentSession:(e,t)=>n(`/api/sessions/recent-threads/open`,{threadId:e,cwd:t}),startSession:(e,t={},r)=>n(`/api/sessions`,{workspaceId:e,profile:`default`,...t},r?{"idempotency-key":r}:{}),startTurn:(e,t,r)=>n(`/api/sessions/${encodeURIComponent(e)}/turns`,{text:t},r?{"idempotency-key":r}:{}),selectModel:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/model`,{model:t}),interruptTurn:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/turns/${encodeURIComponent(t)}/interrupt`,{}),queueTurnInput:(e,t,r,i)=>n(`/api/sessions/${encodeURIComponent(e)}/turns/${encodeURIComponent(t)}/queue`,{text:r},i?{"idempotency-key":i}:{}),restoreSession:e=>n(`/api/sessions/${encodeURIComponent(e)}/restore`,{}),releaseSession:e=>n(`/api/sessions/${encodeURIComponent(e)}/release`,{}),forgetSession:n=>e(`/api/sessions/${encodeURIComponent(n)}`,{method:`DELETE`}).then(async e=>{if(!e.ok)throw await t(e)}),getHistory:e=>s(`/api/sessions/${encodeURIComponent(e)}/history`),getPlan:(e,t)=>c(`/api/sessions/${encodeURIComponent(e)}/plan`,t),closePlan:e=>o(`/api/sessions/${encodeURIComponent(e)}/plan`),listWorkspacePlans:(e,t)=>s(`/api/workspaces/${encodeURIComponent(e)}/plans`,t),getWorkspacePlan:(e,t,n)=>s(`/api/workspaces/${encodeURIComponent(e)}/plans/${encodeURIComponent(t)}`,n),openSessionPlan:(e,t)=>r(`/api/sessions/${encodeURIComponent(e)}/plan`,{planName:t}),getGitSummary:(e,t)=>s(`/api/git/repositories/${encodeURIComponent(e)}`,t),cloneGitRepository:(e,t)=>n(`/api/git/clone`,{workspaceId:e,address:t}),refreshGit:(e,t)=>n(`/api/git/repositories/${encodeURIComponent(e)}/refresh`,{},t?{"idempotency-key":t}:{}),pullGit:(e,t,r)=>n(`/api/git/repositories/${encodeURIComponent(e)}/pull`,{},t?{"idempotency-key":t}:{},r),checkoutGitBranch:(e,t,r)=>n(`/api/git/repositories/${encodeURIComponent(e)}/checkout`,{branch:t},{},r),pushGit:(e,t)=>n(`/api/git/repositories/${encodeURIComponent(e)}/push`,{},t?{"idempotency-key":t}:{}),listAvailableSkills:(e,t,n=!1,r)=>s(`/api/skills?${new URLSearchParams({workspaceId:e,profile:t,...n?{refresh:`true`}:{}}).toString()}`,r),listSkillProfiles:e=>s(`/api/skill-profiles`,e),replaceSkillProfile:(e,t)=>r(`/api/skill-profiles/${encodeURIComponent(e)}`,t),deleteSkillProfile:e=>o(`/api/skill-profiles/${encodeURIComponent(e)}`),respondInteraction:(e,t,r,i)=>n(`/api/sessions/${encodeURIComponent(e)}/interactions/${encodeURIComponent(t)}`,r,i?{"idempotency-key":i}:{})}}async function Zl(e,t=globalThis.navigator?.clipboard,n=$l){if(!t)return Ql(e,n);try{return await t.writeText(e),!0}catch{return Ql(e,n)}}function Ql(e,t){try{return t(e)}catch{return!1}}function $l(e){if(typeof document>`u`||!document.body)return!1;let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed;opacity:0`,document.body.append(t),t.select();let n=document.execCommand(`copy`);return t.remove(),n}var eu=[`authoring-start`,`work-start`,`checkpoint`,`update`,`supervision-start`,`resync`];function tu(e){return typeof e==`string`&&eu.includes(e)}function nu(e){if(!e||typeof e!=`object`)return!1;let t=e;return ru(t.plan)&&(t.reason===null||tu(t.reason))}function ru(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.title==`string`&&Array.isArray(t.steps)&&typeof t.totalSteps==`number`&&typeof t.doneSteps==`number`&&typeof t.allDone==`boolean`&&typeof t.currentStepId==`string`}function iu(e){return e instanceof Error?e.message:`Could not load the plan.`}function au(e){return{...e,...e.skills?{skills:[...e.skills]}:{},description:{...e.description},children:e.children.map(au)}}function ou(e){return{...e,steps:e.steps.map(au)}}function su(e,t){return e.kind===`unavailable`&&e.sessionId===t}function cu(e,t){let n=null,r={kind:`unavailable`,sessionId:null},i=0,a=0,o=null,s=0,c=e=>{++a,r=e,t(e)},l=(t,r)=>{o?.abort(),o=new AbortController;let a=++i,l=s;r||c({kind:`loading`,sessionId:t}),e.getPlan(t,o.signal).then(e=>{a!==i||n!==t||s===l&&c(e?{kind:`ready`,sessionId:t,plan:ou(e)}:{kind:`unavailable`,sessionId:t})}).catch(e=>{o?.signal.aborted||a!==i||n!==t||c({kind:`error`,sessionId:t,error:iu(e),...r?{plan:r}:{}})})};return{select(e){if(o?.abort(),n=e,s=0,!e){++i,c({kind:`unavailable`,sessionId:null});return}l(e,void 0)},refresh(e){if(n!==e)return;let t=r.kind===`ready`||r.kind===`closing`||r.kind===`error`?r.plan:void 0;l(e,t)},applyEvent(e,t){if(!(n!==e||t.sequence<=s)){if(t.type===`plan.updated`&&(ru(t.payload)||nu(t.payload))){let n=nu(t.payload)?t.payload.plan:t.payload;s=t.sequence,c({kind:`ready`,sessionId:e,plan:ou(n)})}t.type===`plan.closed`&&(s=t.sequence,c({kind:`unavailable`,sessionId:e}))}},async close(){if(r.kind!==`ready`&&r.kind!==`error`||!r.plan?.allDone)return null;let{sessionId:t,plan:i}=r;c({kind:`closing`,sessionId:t,plan:i});let o=a;try{return await e.closePlan(t),n===t?a===o?(c({kind:`unavailable`,sessionId:t}),`chat`):su(r,t)?`chat`:null:null}catch(e){return n===t?a===o?(c({kind:`error`,sessionId:t,plan:i,error:iu(e)}),null):su(r,t)?`chat`:null:null}},dispose(){o?.abort(),o=null,n=null,++i,c({kind:`unavailable`,sessionId:null})}}}function lu(e){if(!e)return null;let t=uu(e.steps,e.currentStepId)?.measurement?.weeklyRemainingCurrent;return typeof t==`number`&&Number.isFinite(t)&&t>=0&&t<=100?Math.round(t):null}function uu(e,t){for(let n of e){if(n.id===t)return n;let e=uu(n.children,t);if(e)return e}}var du=q(`<li class="svelte-hmxg46"><span aria-hidden="true" class="position svelte-hmxg46"> </span> <span aria-hidden="true" class="state"> </span></li>`),fu=q(`<ol class="step-markers svelte-hmxg46" aria-label="Plan step progress"></ol>`),pu=q(`<div><div class="progress-heading svelte-hmxg46"><span> </span></div> <progress class="svelte-hmxg46"> </progress> <!></div>`);function mu(e,t){Qe(t,!0);let n=$(t,`compact`,3,!1),r=$(t,`label`,3,`Plan progress`),i=P(()=>t.plan.steps.flatMap((e,t)=>[{id:e.id,position:_a(t+1),state:e.state},...e.children.map((e,n)=>({id:e.id,position:_a(t+1,n+1),state:e.state}))])),a=P(()=>Math.max(t.plan.totalSteps,1));var o=pu(),s=z(o),c=z(s),l=z(c);N(c),N(s);var u=V(s,2),d=z(u);N(u);var f=V(u,2),p=e=>{var n=fu();Z(n,21,()=>G(i),e=>e.id,(e,n)=>{var r=du(),i=z(r),a=z(i,!0);N(i);var o=V(i,2),s=z(o,!0);N(o),N(r),H(()=>{Q(r,`data-state`,G(n).state),Q(r,`aria-current`,G(n).id===t.plan.currentStepId?`step`:void 0),Q(r,`aria-label`,`${G(n).position}: ${G(n).state}`),Y(a,G(n).position),Y(s,G(n).state)}),J(e,r)}),N(n),J(e,n)};X(f,e=>{G(i).length&&e(p)}),N(o),H(()=>{hi(o,1,li([`plan-progress`,{compact:n()}]),`svelte-hmxg46`),Y(l,`${t.plan.doneSteps??``} / ${t.plan.totalSteps??``} complete`),Q(u,`aria-label`,r()),Di(u,t.plan.doneSteps),Q(u,`max`,G(a)),Y(d,`${t.plan.doneSteps??``} of ${t.plan.totalSteps??``} complete`)}),J(e,o),$e()}var hu=q(`<section aria-labelledby="plan-title" class="svelte-3rmyvg"><h2 id="plan-title" class="svelte-3rmyvg">Plan</h2> <p class="svelte-3rmyvg">Loading plan…</p></section>`),gu=q(`<section aria-labelledby="plan-title" class="svelte-3rmyvg"><h2 id="plan-title" class="svelte-3rmyvg">Plan</h2> <p class="svelte-3rmyvg">No retained plan for this session.</p></section>`),_u=q(`<section aria-labelledby="plan-title" class="svelte-3rmyvg"><h2 id="plan-title" class="svelte-3rmyvg">Plan</h2> <p class="svelte-3rmyvg"> </p></section>`),vu=q(`<p class="svelte-3rmyvg"> </p>`),yu=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Subtitle</dt> <dd class="svelte-3rmyvg"> </dd></div>`),bu=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Date</dt> <dd class="svelte-3rmyvg"> </dd></div>`),xu=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Keywords</dt> <dd class="svelte-3rmyvg"> </dd></div>`),Su=q(`<dl class="metadata svelte-3rmyvg"><!> <!> <!></dl>`),Cu=q(`<p class="svelte-3rmyvg">No plan steps have been retained yet.</p>`),wu=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg"> </strong> </p>`),Tu=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg">Skills:</strong> </p>`),Eu=q(`<li class="svelte-3rmyvg"><details class="svelte-3rmyvg"><summary class="svelte-3rmyvg"><strong class="svelte-3rmyvg"><span class="position svelte-3rmyvg"> </span> </strong> <span class="svelte-3rmyvg"> </span> <span class="svelte-3rmyvg"> </span></summary> <!> <!></details></li>`),Du=q(`<ol class="svelte-3rmyvg"></ol>`),Ou=q(`<li class="svelte-3rmyvg"><details class="svelte-3rmyvg"><summary class="svelte-3rmyvg"><strong class="svelte-3rmyvg"><span class="position svelte-3rmyvg"> </span> </strong> <span class="svelte-3rmyvg"> </span> <span class="svelte-3rmyvg"> </span> <span class="measurement svelte-3rmyvg"> </span></summary> <!> <!> <!></details></li>`),ku=q(`<ol class="plan-steps svelte-3rmyvg"></ol>`),Au=q(`<section class="plan svelte-3rmyvg" aria-labelledby="plan-title"><header class="svelte-3rmyvg"><div class="svelte-3rmyvg"><h2 id="plan-title" class="svelte-3rmyvg"> </h2></div> <button class="close svelte-3rmyvg" aria-label="Close plan and return to list">×</button></header> <!> <p class="svelte-3rmyvg"> </p> <!> <!> <!></section>`),ju=q(`<p class="visually-hidden svelte-3rmyvg" aria-live="polite" aria-atomic="true"> </p> <!>`,1);function Mu(e,t){Qe(t,!0);let n={effort:`Effort`,goal:`Goal`,notes:`Notes`,why:`Why`,change:`Change`,tests:`Tests`,doneWhen:`Done when`},r=I(R(new Set)),i=R({}),a=null,o=0,s=P(()=>t.state.kind===`ready`||t.state.kind===`closing`||t.state.kind===`error`?t.state.plan:void 0),c=P(()=>G(s)?f(G(s).steps,G(s).currentStepId):void 0),l=P(()=>G(s)?p(G(s).steps,G(s).currentStepId):void 0),u=P(()=>G(s)?m(G(s).steps,G(s).currentStepId):new Set),d=P(()=>t.state.kind===`loading`?`Loading plan.`:t.state.kind===`unavailable`?`No retained plan for this session.`:t.state.kind===`error`&&!G(s)?t.state.error:t.state.kind===`closing`?`Closing completed plan.`:G(s)?G(c)?`Current step: ${G(l)} ${G(c).title}, ${G(c).state}. ${G(s).doneSteps} of ${G(s).totalSteps} complete.${t.state.kind===`error`?` ${t.state.error}`:``}`:`${G(s).doneSteps} of ${G(s).totalSteps} plan steps complete.${t.state.kind===`error`?` ${t.state.error}`:``}`:``);Mn(()=>{let e=G(s)?.currentStepId||null;if(!e||a===e)return;a=e;let t=++o;Sr().then(()=>{t!==o||G(s)?.currentStepId!==e||i[e]?.scrollIntoView({behavior:`auto`,block:`nearest`,inline:`nearest`})})});function f(e,t){for(let n of e){if(n.id===t)return n;let e=f(n.children,t);if(e)return e}}function p(e,t){for(let[n,r]of e.entries()){if(r.id===t)return _a(n+1);let e=r.children.findIndex(e=>e.id===t);if(e>=0)return _a(n+1,e+1)}}function m(e,t,n=[]){for(let r of e){if(r.id===t)return new Set([...n,r.id]);let e=m(r.children,t,[...n,r.id]);if(e.size)return e}return new Set}function h(e){return G(r).has(e)||G(u).has(e)}function g(e,t){L(r,t?new Set([...G(r),e]):new Set([...G(r)].filter(t=>t!==e)),!0)}function _(e){return e.description.goal??e.description.why??e.title}function v(e){let t=e.measurement;if(!t)return`Measurements unavailable`;let n=[];return t.elapsedSeconds!==void 0&&n.push(`${Math.floor(t.elapsedSeconds/60)}m ${t.elapsedSeconds%60}s elapsed`),t.weeklyPercentUsed!==void 0&&n.push(`${t.weeklyPercentUsed}% observed account-wide usage`),t.tokensUsed!==void 0&&n.push(`${t.tokensUsed.toLocaleString()} tokens used`),n.join(` · `)||`Measurements unavailable`}function y(e){return Object.keys(n).flatMap(t=>{let r=e.description[t];return r?[[n[t],r]]:[]})}var b=ju(),x=B(b),S=z(x,!0);N(x);var w=V(x,2),T=e=>{J(e,hu())},E=e=>{J(e,gu())},D=e=>{var n=_u(),r=V(z(n),2),i=z(r,!0);N(r),N(n),H(()=>Y(i,t.state.error)),J(e,n)},ee=e=>{var n=Au(),r=z(n),a=z(r),o=z(a),u=z(o,!0);N(o),N(a);var d=V(a,2);N(r);var f=V(r,2);mu(f,{get plan(){return G(s)}});var p=V(f,2),m=z(p);N(p);var b=V(p,2),x=e=>{var n=vu(),r=z(n,!0);N(n),H(()=>Y(r,t.state.error)),J(e,n)};X(b,e=>{t.state.kind===`error`&&e(x)});var S=V(b,2),w=e=>{var t=Su(),n=z(t),r=e=>{var t=yu(),n=V(z(t),2),r=z(n,!0);N(n),N(t),H(()=>Y(r,G(s).subtitle)),J(e,t)};X(n,e=>{G(s).subtitle&&e(r)});var i=V(n,2),a=e=>{var t=bu(),n=V(z(t),2),r=z(n,!0);N(n),N(t),H(()=>Y(r,G(s).date)),J(e,t)};X(i,e=>{G(s).date&&e(a)});var o=V(i,2),c=e=>{var t=xu(),n=V(z(t),2),r=z(n,!0);N(n),N(t),H(()=>Y(r,G(s).keywords)),J(e,t)};X(o,e=>{G(s).keywords&&e(c)}),N(t),J(e,t)};X(S,e=>{(G(s).subtitle||G(s).date||G(s).keywords)&&e(w)});var T=V(S,2),E=e=>{J(e,Cu())},D=e=>{var t=ku();Z(t,23,()=>G(s).steps,e=>e.id,(e,t,n)=>{var r=Ou(),a=z(r),o=z(a),s=z(o),c=z(s),l=z(c,!0);N(c);var u=V(c);N(s);var d=V(s,2),f=z(d);N(d);var p=V(d,2),m=z(p,!0);N(p);var b=V(p,2),x=z(b,!0);N(b),N(o);var S=V(o,2);Z(S,17,()=>y(G(t)),([e,t])=>e,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=wu(),o=z(a),s=z(o);N(o);var c=V(o);N(a),H(()=>{Y(s,`${r()??``}:`),Y(c,` ${i()??``}`)}),J(e,a)});var w=V(S,2),T=e=>{var n=Tu(),r=V(z(n));N(n),H(e=>Y(r,` ${e??``}`),[()=>G(t).skills.join(`, `)]),J(e,n)};X(w,e=>{G(t).skills?.length&&e(T)});var E=V(w,2),D=e=>{var r=Du();Z(r,23,()=>G(t).children,e=>e.id,(e,t,r)=>{var a=Eu(),o=z(a),s=z(o),c=z(s),l=z(c),u=z(l,!0);N(l);var d=V(l);N(c);var f=V(c,2),p=z(f);N(f);var m=V(f,2),v=z(m,!0);N(m),N(s);var b=V(s,2);Z(b,17,()=>y(G(t)),([e,t])=>e,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=wu(),o=z(a),s=z(o);N(o);var c=V(o);N(a),H(()=>{Y(s,`${r()??``}:`),Y(c,` ${i()??``}`)}),J(e,a)});var x=V(b,2),S=e=>{var n=Tu(),r=V(z(n));N(n),H(e=>Y(r,` ${e??``}`),[()=>G(t).skills.join(`, `)]),J(e,n)};X(x,e=>{G(t).skills?.length&&e(S)}),N(o),Ii(o,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(t)]),N(a),H((e,n,r)=>{Q(o,`data-step-id`,G(t).id),o.open=e,Y(u,n),Y(d,` ${G(t).title??``}`),Y(p,`${G(t).state??``} · Priority ${G(t).priority??``}${G(t).reviewStatus?` · ${G(t).reviewStatus}`:``}`),Y(v,r)},[()=>h(G(t).id),()=>_a(G(n)+1,G(r)+1),()=>_(G(t))]),Mr(`toggle`,o,e=>g(G(t).id,e.currentTarget.open)),J(e,a)}),N(r),J(e,r)};X(E,e=>{G(t).children.length&&e(D)}),N(a),Ii(a,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(t)]),N(r),H((e,n,r,i)=>{Q(a,`data-step-id`,G(t).id),a.open=e,Y(l,n),Y(u,` ${G(t).title??``}`),Y(f,`${G(t).state??``} · Priority ${G(t).priority??``}${G(t).reviewStatus?` · ${G(t).reviewStatus}`:``}`),Y(m,r),Y(x,i)},[()=>h(G(t).id),()=>_a(G(n)+1),()=>_(G(t)),()=>v(G(t))]),Mr(`toggle`,a,e=>g(G(t).id,e.currentTarget.open)),J(e,r)}),N(t),J(e,t)};X(T,e=>{G(s).steps.length===0?e(E):e(D,-1)}),N(n),H(()=>{Y(u,G(s).title),Y(m,`Current: ${G(c)?`${G(l)} ${G(c).title} (${G(c).state})`:`No current step`}`)}),K(`click`,d,function(...e){t.onclose?.apply(this,e)}),J(e,n)};X(w,e=>{t.state.kind===`loading`?e(T):t.state.kind===`unavailable`?e(E,1):t.state.kind===`error`&&!G(s)?e(D,2):G(s)&&e(ee,3)}),H(()=>Y(S,G(d))),J(e,b),$e()}Nr([`click`]);var Nu=/^(\*+)\s+(?:(TODO|WIP|DONE)\s+)?(?:\[#([ABC])\]\s+)?(.+)$/,Pu=/^#\+([A-Z][A-Z0-9_-]*):\s*(.*)$/i,Fu=/^:([A-Z][A-Z0-9_]*):\s*(.*)$/,Iu=/^-\s+([^:]+?)\s+::\s*(.*)$/;function Lu(e){let t=[],n=[],r=[],i=e.replace(/\r\n?/g,`
|
|
14
|
+
`),...t}:e.kind===`tool`&&typeof e.name==`string`?{id:e.id,label:`Tool · ${String(e.status??`unknown`)}`,detail:e.name,...t}:null}var yc=()=>({sessionId:null,cursor:0,snapshotting:!1,lifecycle:`finished`,activeTurnId:null,messages:[],activities:[],prompts:[],interactions:[],autopilotAuditTruncated:!1,buffered:new Map}),bc=(e=null)=>({...yc(),sessionId:e});function xc(e){return e.kind===`autopilot`?{id:`item:${e.id}`,role:`audit`,text:`Continued execution automatically`,...typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)?{occurredAt:e.occurredAt}:{},...typeof e.controlId==`string`?{controlId:e.controlId}:{},complete:!0}:e.kind!==`user`&&e.kind!==`agent`||typeof e.text!=`string`?null:{id:`item:${e.id}`,role:e.kind===`user`?`user`:`assistant`,text:e.text,...e.phase===`commentary`||e.phase===`final_answer`?{phase:e.phase}:{},...typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)?{occurredAt:e.occurredAt}:{},...typeof e.turnId==`string`?{turnId:e.turnId}:{},complete:!0}}function Sc(e){return{id:e.id,role:`audit`,text:e.label,occurredAt:e.occurredAt,...e.controlId?{controlId:e.controlId}:{},complete:!0}}function Cc(e){let t=wc(e.occurredAt),n=gc(e.type,e.payload),r=e.payload&&typeof e.payload==`object`&&typeof e.payload.controlId==`string`?e.payload.controlId:void 0;return n&&t!==void 0?Sc({id:`audit:${e.sequence}`,label:n,occurredAt:t,...r?{controlId:r}:{}}):null}function wc(e){if(typeof e!=`string`)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function Tc(e){let t=wc(e.requestedAt);return{requestId:e.requestId,key:`interaction:${e.requestId}`,kind:e.kind,turnId:e.turnId,payload:`payload`in e?e.payload:null,state:e.resolvedAt?e.outcome===`failed`?`failed`:`resolved`:`pending`,...e.resolvedAt?{attemptedOutcome:e.outcome}:{},...t===void 0?{}:{occurredAt:t}}}function Ec(e,t){return t===`approved`||t===`denied`||t===`answered`||t===`dismissed`||t===`failed`?t:e?.kind===`quiz`||e?.kind===`userInput`?`answered`:typeof t==`object`&&t&&t.decision===`decline`?`denied`:e?`approved`:void 0}function Dc(e,t){return e?t===`finished`||t===`interrupted`?t:`working`:t===`working`||t===`starting`||t===`recoverable`?`finished`:t}function Oc(e){return[...new Map(e.map(e=>[e.key??e.id??``,e])).values()]}function kc(e,t){return e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?{...t,...t.occurredAt===void 0&&e.occurredAt!==void 0?{occurredAt:e.occurredAt}:{}}:e):[...e,t]}function Ac(e,t,n){let r=new Map(n.map(e=>[e.id,e])),i=new Map(n.map((e,t)=>[e.id,t])),a=new Set(t.filter(e=>e.state!==`canonical`).map(e=>e.operationId)),o=new Set,s=e.flatMap(e=>{let i=xc(e);if(!i)return[];if(e.kind===`user`){let n=t.find(t=>typeof e.operationId==`string`&&e.operationId===t.operationId||typeof e.turnId==`string`&&e.turnId===t.turnId),s=!n&&t.filter(t=>t.state!==`canonical`&&t.text===e.text).length===1?t.find(t=>t.state!==`canonical`&&t.text===e.text):void 0,c=n??s;if(c){a.delete(c.operationId);let e=r.get(c.key),t={...i,id:c.key,turnId:c.turnId??i.turnId,...i.occurredAt===void 0&&e?.occurredAt!==void 0?{occurredAt:e.occurredAt}:{}};return o.add(t.id),[e&&e.text===t.text&&e.turnId===t.turnId&&e.complete===t.complete&&e.occurredAt===t.occurredAt?e:t]}}if(e.kind===`agent`&&typeof e.turnId==`string`){let t=r.get(`assistant:${e.id}`)??n.find(t=>t.role===`assistant`&&t.turnId===e.turnId&&t.text===i.text&&(t.phase===i.phase||!t.complete));if(t){o.add(t.id);let e={...i,id:t.id,turnId:i.turnId??t.turnId,...i.occurredAt===void 0&&t.occurredAt!==void 0?{occurredAt:t.occurredAt}:{}};return[t.text===e.text&&t.phase===e.phase&&t.occurredAt===e.occurredAt?t:e]}}return o.add(i.id),[i]}),c=t.filter(e=>a.has(e.operationId)).map(e=>r.get(e.key)??{id:e.key,role:`user`,text:e.text,complete:e.state===`failed`,...e.turnId?{turnId:e.turnId}:{}}),l=n.filter(e=>e.role===`assistant`&&e.id.startsWith(`assistant:`)&&!o.has(e.id)),u=Oc([...c,...l]),d=new Map(s.map((e,t)=>[e.id,t])),f=new Map;for(let e of u){let t=null;if(e.turnId){for(let n=s.length-1;n>=0;--n)if(s[n]?.turnId===e.turnId){t=n;break}}if(t===null){let r=i.get(e.id);if(r!==void 0){for(let e=r-1;e>=0;--e){let r=d.get(n[e].id);if(r!==void 0){t=r;break}}if(t===null)for(let e=r+1;e<n.length;e+=1){let r=d.get(n[e].id);if(r!==void 0){t=r-1;break}}}}let r=t??s.length-1;f.set(r,[...f.get(r)??[],e])}return Oc([...f.get(-1)??[],...s.flatMap((e,t)=>[e,...f.get(t)??[]])])}function jc(e,t){if(!t||typeof t!=`object`)return bc(e);let n=t;if(!Number.isInteger(n.cursor)||n.cursor<0||!Array.isArray(n.messages)||!Array.isArray(n.prompts)||!Array.isArray(n.interactions))return bc(e);let r=[`submitting`,`accepted`,`failed`,`canonical`],i=[`pending`,`submitting`,`resolved`,`failed`],a=[`starting`,`working`,`finished`,`interrupted`,`recoverable`];return{...bc(e),sessionId:e,cursor:n.cursor,lifecycle:a.includes(n.lifecycle)?n.lifecycle:`finished`,activeTurnId:typeof n.activeTurnId==`string`||n.activeTurnId===null?n.activeTurnId:null,snapshotting:!1,buffered:new Map,messages:n.messages.filter(e=>!!(e&&typeof e.id==`string`&&(e.role===`user`||e.role===`assistant`||e.role===`audit`)&&typeof e.text==`string`&&(e.occurredAt===void 0||typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)))).slice(-200),activities:Array.isArray(n.activities)?n.activities.filter(e=>!!(e&&typeof e.id==`string`&&typeof e.label==`string`&&typeof e.detail==`string`&&(e.turnId===void 0||typeof e.turnId==`string`))).slice(-200):[],prompts:n.prompts.filter(e=>!!(e&&typeof e.operationId==`string`&&typeof e.key==`string`&&typeof e.text==`string`&&r.includes(e.state)&&(e.occurredAt===void 0||typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)))).slice(-200),interactions:n.interactions.filter(e=>!!(e&&typeof e.requestId==`string`&&typeof e.key==`string`&&typeof e.kind==`string`&&(e.turnId===void 0||e.turnId===null||typeof e.turnId==`string`)&&i.includes(e.state)&&(e.occurredAt===void 0||typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)))).slice(-200)}}function Mc(e,t){if(!Number.isInteger(t.baseSequence)||t.baseSequence<0)return e;if(t.baseSequence<e.cursor)return Uc({...e,snapshotting:!1});let n=t.items.filter(e=>e.kind===`user`),r=e.prompts.map(t=>{let r=n.some(e=>typeof e.turnId==`string`&&e.turnId===t.turnId||typeof e.operationId==`string`&&e.operationId===t.operationId),i=n.filter(e=>e.text===t.text),a=!t.turnId&&i.length===1&&e.prompts.filter(e=>e.state!==`canonical`&&e.text===t.text).length===1;return r||a?{...t,state:`canonical`}:t}),i=t.interactions.map(Tc),a=new Map(e.interactions.map(e=>[e.requestId,e])),o=Oc(i.map(e=>{let t=a.get(e.requestId);return t?.state===`resolved`?t:{...e,...e.occurredAt===void 0&&t?.occurredAt!==void 0?{occurredAt:t.occurredAt}:{}}})),s=Oc(t.items.flatMap(e=>{let t=vc(e);return t?[{...t,key:`activity:${t.id}`}]:[]}).concat((t.activities??[]).map(e=>({...e,key:`activity:${e.id}`})))).map(e=>({id:e.id,label:e.label,detail:e.detail,...e.turnId?{turnId:e.turnId}:{},...e.occurredAt===void 0?{}:{occurredAt:e.occurredAt}})).reduce(kc,[...e.activities]),c=new Map(t.turns.map(e=>[e.id,e])),l=t.items.map(e=>{if(typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt))return e;let t=typeof e.turnId==`string`?c.get(e.turnId):void 0,n=e.kind===`agent`?t?.completedAt??t?.startedAt:t?.startedAt??t?.completedAt;return typeof n==`number`&&Number.isFinite(n)?{...e,occurredAt:n}:e}),u=(t.autopilotAudit??[]).filter(e=>typeof e?.id==`string`&&typeof e.label==`string`&&typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)),d={...e,cursor:Math.max(e.cursor,t.baseSequence),snapshotting:!1,activeTurnId:t.activeTurnId,lifecycle:Dc(t.activeTurnId,e.cursor===0&&e.lifecycle===`finished`?`working`:e.lifecycle),prompts:r,messages:Oc(Ac(l,r,e.messages).concat(u.map(Sc))).sort((e,t)=>(e.occurredAt??2**53-1)-(t.occurredAt??2**53-1)),activities:s,interactions:o,autopilotAuditTruncated:t.autopilotAuditTruncated===!0,buffered:new Map([...e.buffered].filter(([e])=>e>t.baseSequence))};return Uc({...d,messages:Nc(d.messages)})}function Nc(e){let t=new Set;return e.filter(e=>e.role!==`audit`||!e.controlId?!0:t.has(e.controlId)?!1:(t.add(e.controlId),!0))}function Pc(e){return{...e,snapshotting:!0}}function Fc(e,t,n,r){if(!n.trim()||e.prompts.some(e=>e.operationId===t))return e;let i={operationId:t,key:`prompt:${t}`,text:n,state:`submitting`,turnId:null,...typeof r==`number`&&Number.isFinite(r)?{occurredAt:r}:{}};return{...e,lifecycle:`starting`,prompts:[...e.prompts,i],messages:[...e.messages,{id:i.key,role:`user`,text:n,...i.occurredAt===void 0?{}:{occurredAt:i.occurredAt},complete:!1}]}}function Ic(e,t,n,r){let i=Fc(e,t,n,r);return i===e?e:{...i,lifecycle:`working`}}function Lc(e,t,n){return{...e,activeTurnId:n??e.activeTurnId,lifecycle:n?`working`:e.lifecycle,prompts:e.prompts.map(e=>e.operationId===t?{...e,state:`accepted`,turnId:n}:e),messages:e.messages.map(e=>e.id===`prompt:${t}`?{...e,complete:!0,...n?{turnId:n}:{}}:e)}}function Rc(e,t){return{...e,lifecycle:`recoverable`,prompts:e.prompts.map(e=>e.operationId===t?{...e,state:`failed`}:e),messages:e.messages.map(e=>e.id===`prompt:${t}`?{...e,complete:!0}:e)}}function zc(e,t,n){return{...e,interactions:e.interactions.map(e=>e.requestId===t&&(e.state===`pending`||e.state===`failed`)?{...e,state:`submitting`,...n?{operationId:n}:{}}:e)}}function Bc(e,t,n){return{...e,interactions:e.interactions.map(e=>e.requestId===t&&e.state!==`resolved`?{...e,state:`failed`,attemptedOutcome:n}:e)}}function Vc(e,t,n){return{...e,interactions:e.interactions.map(e=>e.requestId===t?{...e,state:`resolved`,...Ec(e,n)?{attemptedOutcome:Ec(e,n)}:{}}:e)}}function Hc(e,t){if(!Number.isInteger(t.sequence)||t.sequence<=e.cursor)return e;if(e.snapshotting||t.sequence>e.cursor+1){let n=new Map(e.buffered);return n.set(t.sequence,t),{...e,snapshotting:!0,buffered:n}}let n={...e,cursor:t.sequence},r=t.payload,i=wc(t.occurredAt);if(t.type===`agentMessageDelta`&&typeof r?.text==`string`){let e=typeof r.turnId==`string`?r.turnId:n.activeTurnId??void 0,t=`assistant:${typeof r.itemId==`string`?r.itemId:e??`live`}`,a=n.messages.find(e=>e.id===t);n={...n,lifecycle:n.activeTurnId?`working`:n.lifecycle,messages:a?n.messages.map(e=>e.id===t?{...e,text:e.text+r.text,...r.phase===`commentary`||r.phase===`final_answer`?{phase:r.phase}:{},complete:r.phase===`final_answer`||e.complete,...e.occurredAt===void 0&&i!==void 0?{occurredAt:i}:{}}:e):[...n.messages,{id:t,role:`assistant`,...r.phase===`commentary`||r.phase===`final_answer`?{phase:r.phase}:{},text:r.text,...e?{turnId:e}:{},...i===void 0?{}:{occurredAt:i},complete:r.phase===`final_answer`}]}}else if((t.type===`agentMessageStarted`||t.type===`agentMessageCompleted`)&&typeof r.text==`string`){let e=`assistant:${typeof r.itemId==`string`?r.itemId:n.activeTurnId??`live`}`,a=n.messages.find(t=>t.id===e),o=t.type===`agentMessageCompleted`,s={id:e,role:`assistant`,text:o&&r.text?r.text:a?.text??r.text,complete:o,...r.phase===`commentary`||r.phase===`final_answer`?{phase:r.phase}:a?.phase?{phase:a.phase}:{},...typeof r.turnId==`string`?{turnId:r.turnId}:a?.turnId?{turnId:a.turnId}:n.activeTurnId?{turnId:n.activeTurnId}:{},...a?.occurredAt===void 0?i===void 0?{}:{occurredAt:i}:{occurredAt:a.occurredAt}};n={...n,lifecycle:n.activeTurnId?`working`:n.lifecycle,messages:a?n.messages.map(t=>t.id===e?s:t):[...n.messages,s]}}else if(t.type===`turnCompleted`||t.type===`turnInterrupted`)n={...n,activeTurnId:null,lifecycle:t.type===`turnCompleted`||n.lifecycle===`finished`?`finished`:`interrupted`,messages:n.messages.map(e=>e.role===`assistant`?{...e,complete:!0}:e)};else if(t.type===`interaction.requested`&&typeof r?.requestId==`string`&&typeof r.kind==`string`){let e=n.interactions.find(e=>e.requestId===r.requestId);if(!e||e.state===`resolved`){let t={requestId:r.requestId,key:`interaction:${r.requestId}`,kind:r.kind,turnId:typeof r.turnId==`string`?r.turnId:n.activeTurnId,payload:r.payload,state:`pending`,...i===void 0?{}:{occurredAt:i}};n={...n,interactions:e?n.interactions.map(e=>e.requestId===r.requestId?t:e):[...n.interactions,t]}}}else if(t.type===`interaction.resolved`&&typeof r?.requestId==`string`)n=Vc(n,r.requestId,r.outcome);else if(t.type===`activity.updated`&&typeof r?.id==`string`&&typeof r.label==`string`&&typeof r.detail==`string`)n={...n,activities:kc(n.activities,{id:r.id,label:r.label,detail:r.detail,...i===void 0?{}:{occurredAt:i},...typeof r.turnId==`string`?{turnId:r.turnId}:n.activeTurnId?{turnId:n.activeTurnId}:{}})};else if(t.type===`session.updated`&&r?.activeTurnId!==void 0){let e=typeof r.activeTurnId==`string`?r.activeTurnId:null;n={...n,activeTurnId:e,lifecycle:e?`working`:Dc(e,n.lifecycle)}}let a=Cc(t);return a&&!n.messages.some(e=>e.id===a.id)&&(n={...n,messages:Nc([...n.messages,a])}),n}function Uc(e){let t=new Map(e.buffered),n={...e,snapshotting:!1,buffered:t};for(;;){let e=t.get(n.cursor+1);if(!e)return{...n,buffered:t,snapshotting:t.size>0};t.delete(e.sequence),n=Hc({...n,buffered:t},e),t=new Map(n.buffered)}}function Wc(e){return e.sessionId?e.snapshotting||e.lifecycle===`recoverable`?`Connection interrupted. Reconnecting…`:e.lifecycle===`starting`?`Starting Codex turn…`:e.lifecycle===`working`?`Codex is working…`:e.lifecycle===`interrupted`?`Codex turn interrupted.`:`Ready.`:`Choose a workspace and start a session.`}var Gc={read:async()=>null,write:async()=>{}},Kc=[250,750,1500],qc=e=>!!e&&typeof e==`object`,Jc=e=>qc(e)&&typeof e.id==`string`&&typeof e.kind==`string`,Yc=e=>qc(e)&&typeof e.id==`string`&&Array.isArray(e.items)&&e.items.every(Jc)&&(e.startedAt===null||typeof e.startedAt==`number`)&&(e.completedAt===null||typeof e.completedAt==`number`),Xc=e=>!qc(e)||typeof e.requestId!=`string`||typeof e.kind!=`string`||!(e.turnId===null||typeof e.turnId==`string`)||!(e.requestedAt===null||typeof e.requestedAt==`string`)?!1:e.resolvedAt===null?Object.hasOwn(e,`payload`):typeof e.resolvedAt==`string`&&(e.outcome===`approved`||e.outcome===`denied`||e.outcome===`answered`||e.outcome===`dismissed`||e.outcome===`failed`)&&!Object.hasOwn(e,`payload`),Zc=e=>qc(e)&&typeof e.id==`string`&&typeof e.label==`string`&&typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)&&(e.controlId===void 0||typeof e.controlId==`string`),Qc=e=>qc(e)&&typeof e.id==`string`&&typeof e.label==`string`&&typeof e.detail==`string`&&(e.turnId===void 0||typeof e.turnId==`string`)&&(e.occurredAt===void 0||typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)),$c=e=>!qc(e)||!Number.isInteger(e.baseSequence)||e.baseSequence<0||!(e.activeTurnId===null||typeof e.activeTurnId==`string`)||!Array.isArray(e.items)||!Array.isArray(e.turns)||!Array.isArray(e.interactions)||!e.items.every(Jc)||!e.turns.every(Yc)||!e.interactions.every(Xc)||e.activities!==void 0&&(!Array.isArray(e.activities)||!e.activities.every(Qc))||e.autopilotAudit!==void 0&&(!Array.isArray(e.autopilotAudit)||!e.autopilotAudit.every(Zc))||e.autopilotAuditTruncated!==void 0&&typeof e.autopilotAuditTruncated!=`boolean`||e.currentSequence!==void 0&&(!Number.isInteger(e.currentSequence)||e.currentSequence<0)?null:e,el=class{#e=bc();#t=null;#n=0;#r=-1;#i=null;#a=null;#o=null;#s=0;#c=!1;#l=!1;#u=null;#d=0;#f=!1;#p=new Set;#m=new Set;#h;constructor(e){this.#h={...e,websocket:e.websocket??(e=>new WebSocket(e)),cache:e.cache??Gc,location:e.location??location,document:e.document??document,window:e.window??window,setTimeout:e.setTimeout??((e,t)=>setTimeout(e,t)),clearTimeout:e.clearTimeout??(e=>clearTimeout(e)),createKey:e.createKey??Fa,now:e.now??Date.now},this.#h.document.addEventListener(`visibilitychange`,this.#g),this.#h.window.addEventListener(`focus`,this.#g)}get view(){return Object.freeze({...this.#e,status:Wc(this.#e),starting:this.#e.lifecycle===`starting`})}select(e,t={}){if(this.#f||this.#t===e)return;this.#k(),this.#t=e,this.#l=e!==null&&t.history===`empty`;let n=++this.#n;this.#e=bc(e),this.#T(),e&&this.#_(e,n)}async send(e,t=this.#h.createKey()){let n=this.#t,r=this.#n,i=`${n}:${r}:${t}`;if(!(!n||!e.trim()||this.#e.activeTurnId||this.#p.has(i))){this.#p.add(i),this.#w(Fc(this.#e,t,e.trim(),this.#h.now()));try{let i=await this.#h.relay.startTurn(n,e.trim(),t);this.#E(n,r)&&(this.#l=!1,this.#w(Lc(this.#e,t,i.activeTurnId??null)),this.#h.onSendAccepted?.(t))}catch(e){this.#E(n,r)&&(this.#w(Rc(this.#e,t)),this.#h.onSendError?.(e,t))}finally{this.#p.delete(i)}}}async retryPrompt(e){let t=this.#e.prompts.find(t=>t.operationId===e);t?.state===`failed`&&await this.send(t.text,e)}async queue(e,t=this.#h.createKey()){let n=this.#t,r=this.#e.activeTurnId,i=this.#h.relay.queueTurnInput,a=this.#n,o=`${n}:${a}:${t}`;if(!(!n||!r||!i||!e.trim()||this.#p.has(o))){this.#p.add(o),this.#w(Ic(this.#e,t,e.trim(),this.#h.now()));try{let o=await i(n,r,e.trim(),t);this.#E(n,a)&&(this.#w(Lc(this.#e,t,o.activeTurnId)),this.#h.onSendAccepted?.(t))}catch(e){this.#E(n,a)&&(this.#w(Rc(this.#e,t)),this.#h.onSendError?.(e,t))}finally{this.#p.delete(o)}}}async interruptAndSend(e,t=this.#h.createKey()){let n=this.#t,r=this.#e.activeTurnId,i=this.#n,a=`${n}:${i}:${t}`;if(!(!n||!r||!e.trim()||this.#p.has(a))){this.#p.add(a),this.#w(Fc(this.#e,t,e.trim(),this.#h.now()));try{await this.#h.relay.interruptTurn(n,r).catch(()=>void 0);let a=await this.#D(n,i,e.trim(),t);this.#E(n,i)&&(this.#w(Lc(this.#e,t,a.activeTurnId??null)),this.#h.onSendAccepted?.(t))}catch(e){this.#E(n,i)&&(this.#w(Rc(this.#e,t)),this.#h.onSendError?.(e,t))}finally{this.#p.delete(a)}}}async interrupt(){let e=this.#t,t=this.#e.activeTurnId;if(!(!e||!t))try{await this.#h.relay.interruptTurn(e,t)}catch{}}async respond(e,t,n=this.#h.createKey()){let r=this.#t,i=this.#n,a=this.#e.interactions.find(t=>t.requestId===e),o=a?.operationId??n,s=`${r}:${i}:${o}`;if(!(!r||!a||a.state===`resolved`||a.state===`submitting`||this.#m.has(s))){this.#m.add(s),this.#w(zc(this.#e,e,o));try{let n=await this.#h.relay.respondInteraction(r,e,t,o),a=n&&(n.outcome===`approved`||n.outcome===`denied`||n.outcome===`answered`||n.outcome===`dismissed`||n.outcome===`failed`)?n.outcome:t;this.#E(r,i)&&this.#w(Vc(this.#e,e,a))}catch{this.#E(r,i)&&this.#w(Bc(this.#e,e,t))}finally{this.#m.delete(s)}}}async retryInteraction(e,t){let n=this.#e.interactions.find(t=>t.requestId===e);if(n?.state!==`failed`||!n.operationId)return;let r=t??n.attemptedOutcome,i=r===`approved`?{decision:`accept`}:r===`denied`?{decision:`decline`}:r;i!==void 0&&await this.respond(e,i,n.operationId)}refresh(){this.#t&&!this.#l&&this.#x(this.#t,this.#n)}dispose(){this.#f||(this.#f=!0,this.#k(),this.#h.document.removeEventListener(`visibilitychange`,this.#g),this.#h.window.removeEventListener(`focus`,this.#g))}#g=()=>{this.#h.document.visibilityState===`visible`&&this.refresh()};async#_(e,t){let n=this.#l;if(n||this.#x(e,t),this.#v(e,t),n)return;let r=await this.#h.cache.read(e).catch(()=>null);!this.#E(e,t)||this.#r===t||!r||(this.#e=jc(e,r),this.#T())}#v(e,t){if(!this.#E(e,t)||this.#i)return;let n=this.#h.location.protocol===`https:`?`wss:`:`ws:`,r;try{r=this.#h.websocket(`${n}//${this.#h.location.host}/api/sessions/${encodeURIComponent(e)}/events?after=${this.#e.cursor}`)}catch{this.#e={...this.#e,lifecycle:`recoverable`},this.#T(),this.#u=this.#h.setTimeout(()=>this.#v(e,t),Math.min(1e3*2**this.#d++,1e4));return}this.#i=r,r.onopen=()=>{this.#E(e,t)&&this.#i===r&&(this.#d=0,this.#l||this.#x(e,t))},r.onmessage=n=>this.#y(e,t,String(n.data)),r.onclose=()=>{!this.#E(e,t)||this.#i!==r||(this.#i=null,this.#u=this.#h.setTimeout(()=>this.#v(e,t),Math.min(1e3*2**this.#d++,1e4)))}}#y(e,t,n){if(!this.#E(e,t))return;let r;try{r=JSON.parse(n)}catch{return}if(r.type===`relay.resyncRequired`){this.#l=!1,this.#x(e,t);return}if(r.type!==`relay.event`||!r.event||typeof r.event!=`object`)return;let i=r.event;if(!Number.isInteger(i.sequence)||typeof i.type!=`string`||!this.#b(i))return;this.#l=!1;let a=Hc(this.#e,i);this.#w(a),this.#h.onRelayEvent?.(i),(i.type===`session.updated`||i.type===`plan.updated`||i.type===`plan.closed`||i.type===`agent.activity.updated`||i.type===`autopilot.updated`||i.type===`org-plan.attention-required`||i.type===`org-plan.attention-resolved`)&&this.#h.onSessionEvent?.(i),a.snapshotting&&this.#x(e,t)}#b(e){let t=e.payload;if(!t||typeof t!=`object`)return e.type===`turnCompleted`||e.type===`turnInterrupted`||e.type===`plan.closed`;let n=t;return e.type===`agentMessageDelta`||e.type===`agentMessageStarted`||e.type===`agentMessageCompleted`?typeof n.text==`string`:e.type===`interaction.requested`?typeof n.requestId==`string`&&typeof n.kind==`string`:e.type===`interaction.resolved`?typeof n.requestId==`string`:e.type===`session.updated`?n.activeTurnId===null||typeof n.activeTurnId==`string`:e.type===`activity.updated`?typeof n.id==`string`&&typeof n.label==`string`&&typeof n.detail==`string`:e.type===`agent.activity.updated`?typeof n.sessionId==`string`&&!!n.root&&Array.isArray(n.subagents):e.type===`autopilot.updated`||e.type===`org-plan.attention-required`||e.type===`org-plan.attention-resolved`||[`autopilot.continuation-scheduled`,`autopilot.control-issued`,`autopilot.turn-started`,`autopilot.turn-failed`].includes(e.type)?!0:e.type===`plan.updated`||e.type===`plan.closed`}#x(e,t){if(this.#a?.id===e&&this.#a.generation===t)return this.#a.promise;if(!this.#E(e,t))return Promise.resolve();let n=this.#e.snapshotting&&this.#e.buffered.size>0;this.#e=Pc(this.#e),this.#T();let r=this.#h.relay.getHistory(e).then(r=>{let i=$c(r);if(this.#E(e,t)){if(!i){this.#w({...this.#e,snapshotting:!1,lifecycle:`recoverable`});return}this.#s=0,this.#c=!1,this.#o&&this.#h.clearTimeout(this.#o),this.#o=null,this.#r=t,this.#w(Mc(this.#e,i)),n&&this.#C(e,t)}}).catch(n=>{if(this.#E(e,t)){this.#w({...this.#e,snapshotting:!1,lifecycle:`recoverable`});let r=Kc[this.#s++];r===void 0?this.#c||(this.#c=!0,this.#h.onHistoryError?.(n)):this.#S(e,t,r)}}).finally(()=>{this.#a?.promise===r&&(this.#a=null,this.#E(e,t)&&this.#e.snapshotting&&this.#x(e,t))});return this.#a={id:e,generation:t,promise:r},r}#S(e,t,n){this.#o&&this.#h.clearTimeout(this.#o);let r=this.#h.setTimeout(()=>{this.#o===r&&(this.#o=null,this.#E(e,t)&&this.#x(e,t))},n);this.#o=r}#C(e,t){let n=this.#i;this.#i=null,n?.close(),this.#u&&this.#h.clearTimeout(this.#u),this.#u=null,this.#v(e,t)}#w(e){this.#e=e,this.#T(),this.#t&&this.#h.cache.write(this.#t,this.#e).catch(()=>{})}#T(){this.#h.publish(this.view)}#E(e,t){return!this.#f&&this.#t===e&&this.#n===t}async#D(e,t,n,r){let i;for(let a of[0,50,150,300]){if(!this.#E(e,t))throw Error(`SESSION_CHANGED`);a&&await this.#O(a);try{return await this.#h.relay.startTurn(e,n,r)}catch(e){if(!tl(e,`SESSION_TURN_ACTIVE`))throw e;i=e}}throw i}#O(e){return new Promise(t=>this.#h.setTimeout(t,e))}#k(){this.#u&&this.#h.clearTimeout(this.#u),this.#u=null,this.#o&&this.#h.clearTimeout(this.#o),this.#o=null,this.#s=0,this.#c=!1,this.#l=!1;let e=this.#i;this.#i=null,e?.close()}};function tl(e,t){return qc(e)&&e.code===t}var nl=class{#e=!0;#t=null;#n;constructor(e){this.#n=e}get following(){return this.#e}observeTail(e){this.#e=e}reset(){this.cancel(),this.#e=!0}request(e){e!==`content`&&(this.#e=!0),!(e===`content`&&!this.#e)&&this.#t===null&&(this.#t=this.#n.requestFrame(()=>{this.#t=null,this.#n.scrollTail(e===`initial`||this.#n.reducedMotion()?`auto`:`smooth`)}))}cancel(){this.#t!==null&&this.#n.cancelFrame(this.#t),this.#t=null}},rl=class{afterCommit;request;#e=0;constructor(e,t){this.afterCommit=e,this.request=t}schedule(e){let t=this.#e;this.afterCommit(()=>{t===this.#e&&this.request(e)})}invalidate(){this.#e+=1}},il={RELAY_UNAVAILABLE:`The relay is unavailable. Check the connection and try again.`,SESSION_HISTORY_UNAVAILABLE:`Session history is unavailable. Check the relay connection and try opening the session again.`,SESSION_HISTORY_READ_FAILED:`Session history could not be read. The conversation remains saved; try again shortly.`,SESSION_WRITER_BUSY:`This thread is active in another Codex client. Release it there, then retry sending here.`,SESSION_WORKSPACE_UNAVAILABLE:`This session workspace is unavailable. Restore access to it, then retry sending.`,SESSION_RUNTIME_DEPENDENCY_FAILED:`A required Codex runtime dependency is unavailable. Check Codex, then retry.`,CODEX_PROTOCOL_INCOMPATIBLE:`The installed Codex runtime is incompatible with this relay. Update Codex before retrying.`,SESSION_ROLLOUT_MISSING:`This stored thread is no longer available.`,SESSION_RUNTIME_UNAVAILABLE:`The Codex runtime is unavailable. Retry shortly.`,SESSION_START_FAILED:`The session could not be started. Try again.`,SESSION_REFRESH_FAILED:`Sessions could not be refreshed. Try again.`,MESSAGE_SEND_FAILED:`The message was not sent. Your draft is preserved.`,GIT_SUMMARY_FAILED:`Repository status could not be loaded. Select it again to retry.`,GIT_PULL_FAILED:`The branch could not be refreshed. Resolve any Git conflicts and try again.`,GIT_CHECKOUT_FAILED:`The branch could not be selected. Refresh Git status and try again.`,GIT_PUSH_FAILED:`The push failed. Refresh Git status and resolve remote divergence first.`,GIT_CLONE_FAILED:`Clone failed.`,WORKSPACE_FILES_READ_FAILED:`Files could not be read. Try again.`};function al(e,t){let n=e instanceof Error?e.message:``,r=typeof e==`object`&&e&&`code`in e&&typeof e.code==`string`?e.code:``,i=Object.hasOwn(il,r)?r:Object.hasOwn(il,n)?n:t,a=typeof e==`object`&&e&&`retryable`in e?e.retryable===!0:!0;return{code:i,message:il[i],retryable:a}}var ol={error:null,success:5e3,info:7e3};function sl(e={}){let t=e.now??Date.now,n=e.setTimer??setTimeout,r=e.clearTimer??clearTimeout,i=new Set,a=new Map,o=[],s=0,c=()=>o.map(e=>({...e})),l=()=>i.forEach(e=>e(c())),u=e=>{let t=a.get(e);t?.handle&&r(t.handle),t&&(t.handle=null)},d=e=>{o.some(t=>t.id===e)&&(u(e),a.delete(e),o=o.filter(t=>t.id!==e),l())},f=e=>{let r=a.get(e);!r||r.pauseReasons.size>0||(r.startedAt=t(),r.handle=n(()=>d(e),r.remaining))};return{enqueue(e){if(e.kind===`error`){let t=o.find(t=>t.kind===`error`&&(e.code?t.code===e.code:t.message===e.message));if(t)return o=o.map(e=>e.id===t.id?{...e,occurrences:e.occurrences+1}:e),l(),t.id}let n=`toast-${++s}`,r={...e,id:n,occurrences:1};o=[...o,r];let i=ol[e.kind];return i!==null&&(a.set(n,{handle:null,remaining:i,startedAt:t(),pauseReasons:new Set}),f(n)),l(),n},dismiss:d,pause(e,n){let r=a.get(e);!r||r.pauseReasons.has(n)||(r.pauseReasons.add(n),r.handle&&(r.remaining=Math.max(0,r.remaining-(t()-r.startedAt)),u(e)))},resume(e,t){let n=a.get(e);!n||!n.pauseReasons.delete(t)||n.pauseReasons.size>0||f(e)},snapshot:c,subscribe(e){return i.add(e),e(c()),()=>i.delete(e)}}}var cl=q(`<small class="svelte-1a0rutm"> </small>`),ll=q(`<section aria-atomic="true"><span class="toast-symbol svelte-1a0rutm" aria-hidden="true"> </span> <span class="toast-copy svelte-1a0rutm"><strong class="svelte-1a0rutm"> </strong> <span> </span> <!></span> <button type="button" class="svelte-1a0rutm"><span aria-hidden="true">×</span></button></section>`),ul=q(`<div class="toast-viewport svelte-1a0rutm" aria-label="Notifications"></div>`);function dl(e,t){Qe(t,!0);let n=I([]),r=P(()=>G(n).slice(-3));Li(()=>t.queue.subscribe(e=>L(n,e)));var i=ul();Z(i,21,()=>G(r),e=>e.id,(e,n)=>{var r=ll();let i;var a=z(r),o=z(a,!0);N(a);var s=V(a,2),c=z(s),l=z(c,!0);N(c);var u=V(c,2),d=z(u,!0);N(u);var f=V(u,2),p=e=>{var t=cl(),r=z(t);N(t),H(()=>Y(r,`Repeated ${G(n).occurrences??``} times.`)),J(e,t)};X(f,e=>{G(n).occurrences>1&&e(p)}),N(s);var m=V(s,2);N(r),H(()=>{i=hi(r,1,`toast svelte-1a0rutm`,null,i,{error:G(n).kind===`error`,success:G(n).kind===`success`}),Q(r,`role`,G(n).kind===`error`?`alert`:`status`),Q(r,`aria-live`,G(n).kind===`error`?`assertive`:`polite`),Y(o,G(n).kind===`error`?`!`:G(n).kind===`success`?`✓`:`i`),Y(l,G(n).kind===`error`?`Error`:G(n).kind===`success`?`Success`:`Info`),Y(d,G(n).message),Q(m,`aria-label`,`Dismiss ${G(n).kind} notification`)}),Mr(`pointerenter`,r,()=>t.queue.pause(G(n).id,`hover`)),Mr(`pointerleave`,r,()=>t.queue.resume(G(n).id,`hover`)),K(`focusin`,r,()=>t.queue.pause(G(n).id,`focus`)),K(`focusout`,r,()=>t.queue.resume(G(n).id,`focus`)),K(`click`,m,()=>t.queue.dismiss(G(n).id)),J(e,r)}),N(i),J(e,i),$e()}Nr([`focusin`,`focusout`,`click`]);var fl=q(`<main class="evidence-page svelte-1j55xyh"><h1 class="svelte-1j55xyh">Git repository</h1> <p>Choose a destination and clone a repository.</p> <div class="evidence-composer svelte-1j55xyh"><label for="evidence-prompt">Prompt</label> <textarea id="evidence-prompt" class="evidence-prompt svelte-1j55xyh" rows="1">Review repository status</textarea></div></main> <nav class="evidence-nav svelte-1j55xyh" aria-label="Primary evidence navigation"><button type="button" class="svelte-1j55xyh">Sessions</button> <button type="button" aria-pressed="true" class="svelte-1j55xyh">Git</button> <button type="button" class="svelte-1j55xyh">Chat</button></nav> <!>`,1);function pl(e,t){Qe(t,!0);let n=sl();Li(()=>{t.variant===`stacked`&&n.enqueue({kind:`success`,message:`Cloned.`}),n.enqueue({kind:`error`,code:`GIT_CLONE_FAILED`,message:`Clone failed.`})});var r=fl();dl(V(B(r),4),{get queue(){return n}}),J(e,r),$e()}var ml={sessionBase:()=>!0,gitRepositoryTarget:e=>e.isGitRepository,cloneDestination:e=>!e.isGitRepository};function hl(e){let t=new Set,n=(e,r)=>{!e.isGitRepository&&r<=2&&t.add(e.id),e.children.forEach(e=>n(e,r+1))};return e.forEach(e=>n(e,1)),t}function gl(e,t){let n=new Set(e);return t.isGitRepository||(n.has(t.id)?n.delete(t.id):n.add(t.id)),n}function _l(e,t){let n=[],r=(e,i,a)=>{n.push({node:e,level:i,parentId:a}),!e.isGitRepository&&t.has(e.id)&&e.children.forEach(t=>r(t,i+1,e.id))};return e.forEach(e=>r(e,1,null)),n}function vl(e,t){let n=(e,r)=>{if(e.id===t)return r;for(let t of e.children){let i=n(t,[...r,e.id]);if(i)return i}return null};for(let t of e){let e=n(t,[]);if(e)return e}return[]}function yl(e,t){for(let n of e){if(n.id===t)return n;let e=yl(n.children,t);if(e)return e}}function bl(e,t,n,r){if(e){let i=yl(n,e);if(i&&r(i))return i.id;let a=vl(t,e);for(let e of a.toReversed()){let t=yl(n,e);if(t&&r(t))return t.id}}return xl(n).find(r)?.id??null}function xl(e){let t=[],n=e=>{t.push(e),e.children.forEach(n)};return e.forEach(n),t}var Sl=q(`<button class="disclosure svelte-6z3q4v" type="button" tabindex="-1"><span aria-hidden="true"> </span></button>`),Cl=q(`<span class="disclosure-spacer svelte-6z3q4v" aria-hidden="true"></span>`),wl=q(`<span class="repository-badge svelte-6z3q4v">Git</span>`),Tl=q(`<div class="tree-row svelte-6z3q4v"><!> <button type="button" role="treeitem"><span class="selection-mark svelte-6z3q4v" aria-hidden="true"> </span> <span class="node-copy svelte-6z3q4v"><span class="node-name svelte-6z3q4v"> </span> <span class="node-path svelte-6z3q4v"> </span></span> <!></button></div>`),El=q(`<div class="filesystem-tree svelte-6z3q4v" role="tree"></div>`);function Dl(e,t){Qe(t,!0);let n=$(t,`isSelectable`,3,()=>!0),r=I(null),i=R({}),a=P(()=>_l(t.roots,t.expandedIds)),o=P(()=>G(r)&&G(a).some(({node:e})=>e.id===G(r))?G(r):t.selectedId&&G(a).some(({node:e})=>e.id===t.selectedId)?t.selectedId:G(a)[0]?.node.id??null);function s(e){return!e.isGitRepository&&e.children.length>0}function c(e){return e===`.`?`~/`:`~/${e}`}function l(e){L(r,e,!0),i[e]?.focus()}function u(e,t){let n=Math.max(0,Math.min(G(a).length-1,t)),r=G(a)[n];r&&n!==e&&l(r.node.id)}function d(e){n()(e)&&t.onselect(e)}function f(e){s(e)&&t.onexpandedchange(gl(t.expandedIds,e))}function p(e,n,r){let{node:i,parentId:o}=n;switch(e.key){case`ArrowUp`:e.preventDefault(),u(r,r-1);break;case`ArrowDown`:e.preventDefault(),u(r,r+1);break;case`ArrowRight`:if(!s(i))return;e.preventDefault(),t.expandedIds.has(i.id)?G(a)[r+1]?.parentId===i.id&&u(r,r+1):f(i);break;case`ArrowLeft`:if(!t.expandedIds.has(i.id)&&!o)return;e.preventDefault(),s(i)&&t.expandedIds.has(i.id)?f(i):o&&l(o);break;case`Home`:e.preventDefault(),u(r,0);break;case`End`:e.preventDefault(),u(r,G(a).length-1);break;case`Enter`:case` `:e.preventDefault(),d(i);break}}var m=El();Z(m,23,()=>G(a),e=>e.node.id,(e,a,l)=>{let u=P(()=>G(a).node),m=P(()=>s(G(u)));var h=Tl();let g;var _=z(h),v=e=>{var n=Sl(),r=z(n),i=z(r,!0);N(r),N(n),H((e,t)=>{Q(n,`aria-label`,e),Y(i,t)},[()=>`${t.expandedIds.has(G(u).id)?`Collapse`:`Expand`} ${G(u).name}`,()=>t.expandedIds.has(G(u).id)?`−`:`+`]),K(`click`,n,()=>f(G(u))),J(e,n)},y=e=>{J(e,Cl())};X(_,e=>{G(m)?e(v):e(y,-1)});var b=V(_,2);let x;var S=z(b),C=z(S,!0);N(S);var w=V(S,2),T=z(w),E=z(T,!0);N(T);var D=V(T,2),ee=z(D,!0);N(D),N(w);var O=V(w,2),te=e=>{J(e,wl())};X(O,e=>{G(u).isGitRepository&&e(te)}),N(b),Ii(b,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(u)]),N(h),H((e,n,r,i,s)=>{g=_i(h,``,g,e),x=hi(b,1,`tree-item svelte-6z3q4v`,null,x,{selected:t.selectedId===G(u).id,repository:G(u).isGitRepository}),Q(b,`aria-level`,G(a).level),Q(b,`aria-expanded`,n),Q(b,`aria-selected`,t.selectedId===G(u).id),Q(b,`aria-disabled`,r),Q(b,`tabindex`,G(o)===G(u).id?0:-1),Q(b,`title`,i),Y(C,t.selectedId===G(u).id?`✓`:``),Y(E,G(u).name),Y(ee,s)},[()=>({"--tree-level":Math.min(G(a).level-1,6)}),()=>G(m)?t.expandedIds.has(G(u).id):void 0,()=>!n()(G(u)),()=>c(G(u).relativePath),()=>c(G(u).relativePath)]),Mr(`focus`,b,()=>L(r,G(u).id,!0)),K(`keydown`,b,e=>p(e,G(a),G(l))),K(`click`,b,()=>d(G(u))),J(e,h)}),N(m),H(()=>Q(m,`aria-label`,t.label)),J(e,m),$e()}Nr([`click`,`keydown`]);var Ol=q(`<section class="evidence-shell svelte-1d6w4ti" aria-labelledby="evidence-title"><p class="eyebrow svelte-1d6w4ti"> </p> <h1 id="evidence-title" class="svelte-1d6w4ti"> </h1> <p class="instructions svelte-1d6w4ti"> </p> <!></section>`);function kl(e,t){Qe(t,!0);let n=(e,t)=>({id:e,name:t,relativePath:e,isGitRepository:!0,children:[]}),r=[{id:`.`,name:`development-workspace-with-a-long-name`,relativePath:`.`,isGitRepository:!1,children:[{id:`dyne`,name:`dyne`,relativePath:`dyne`,isGitRepository:!1,children:[{id:`dyne/mobile-applications`,name:`mobile-applications-and-experiments`,relativePath:`dyne/mobile-applications`,isGitRepository:!1,children:[n(`dyne/mobile-applications/gestalt-mobile`,`gestalt-mobile-with-an-extraordinarily-long-repository-name`)]},n(`dyne/zenroom`,`zenroom`),n(`dyne/zenflows`,`zenflows`),n(`dyne/did`,`did-toolkit`),n(`dyne/api`,`api-gateway`),n(`dyne/docs`,`documentation-portal`)]},{id:`personal`,name:`personal-projects`,relativePath:`personal`,isGitRepository:!1,children:[]}]}],i=I(R(new Set([`.`,`dyne`,`dyne/mobile-applications`]))),a=I(null),o=P(()=>t.context===`sessions`?`dyne/mobile-applications`:`dyne/mobile-applications/gestalt-mobile`),s=P(()=>G(a)??G(o));var c=Ol(),l=z(c),u=z(l,!0);N(l);var d=V(l,2),f=z(d,!0);N(d);var p=V(d,2),m=z(p,!0);N(p);var h=V(p,2);{let e=P(()=>t.context===`sessions`?`Session base`:`Git repository`),n=P(()=>t.context===`sessions`?ml.sessionBase:ml.gitRepositoryTarget);Dl(h,{get roots(){return r},get expandedIds(){return G(i)},get selectedId(){return G(s)},get label(){return G(e)},get isSelectable(){return G(n)},onexpandedchange:e=>L(i,e,!0),onselect:e=>L(a,e.id,!0)})}N(c),H(()=>{Y(u,t.context===`sessions`?`Sessions`:`Git`),Y(f,t.context===`sessions`?`Session base`:`Git repository`),Y(m,t.context===`sessions`?`Select the folder Codex should use as its working directory.`:`Select a repository for Git actions.`)}),J(e,c),$e()}function Al(e,t=Date.now()){if(!e)return`Not fetched yet`;let n=Math.max(0,t-new Date(e).getTime()),r=Math.floor(n/6e4);if(r<1)return`Fetched just now`;if(r<60)return`Fetched ${r}m ago`;let i=Math.floor(r/60);return i<24?`Fetched ${i}h ago`:`Fetched ${Math.floor(i/24)}d ago`}function jl(e,t=Date.now()){let n=Date.parse(e);if(!Number.isFinite(n))return`unknown time`;let r=Math.round((n-t)/1e3),i=[[`year`,31536e3],[`month`,2592e3],[`week`,604800],[`day`,86400],[`hour`,3600],[`minute`,60],[`second`,1]],[a,o]=i.find(([,e])=>Math.abs(r)>=e)??i.at(-1);return new Intl.RelativeTimeFormat(void 0,{numeric:`auto`}).format(Math.round(r/o),a)}var Ml=q(`<p class="clone-status svelte-pudr3t" role="status"> </p>`),Nl=q(`<option> </option>`),Pl=q(`<section aria-label="Confirm push"><p> </p> <button type="button">Confirm push</button> <button type="button">Cancel</button></section>`),Fl=q(`<li class="commit-entry svelte-pudr3t"><div class="commit-subject svelte-pudr3t"><code class="svelte-pudr3t"> </code><span> </span></div> <div class="commit-meta svelte-pudr3t"><span> </span><time class="svelte-pudr3t"> </time></div></li>`),Il=q(`<section class="commit-history svelte-pudr3t" aria-labelledby="recent-commits-title"><h3 id="recent-commits-title" class="svelte-pudr3t">Recent commits</h3> <ol class="commit-list svelte-pudr3t" aria-label="Recent commits"></ol></section>`),Ll=q(`<div class="git-overview svelte-pudr3t"><div class="git-status svelte-pudr3t"><label for="git-branch">Branch</label> <select id="git-branch"></select> <p class="svelte-pudr3t"> </p> <p class="svelte-pudr3t"> </p> <p class="svelte-pudr3t"><time> </time></p> <p class="svelte-pudr3t"> </p></div> <div class="git-actions svelte-pudr3t"><button type="button" class="svelte-pudr3t"><span aria-hidden="true">↑</span> Push</button> <button type="button" class="svelte-pudr3t"><span aria-hidden="true">↓</span> </button></div></div> <!> <!>`,1),Rl=q(`<p>This workspace is not a Git repository.</p>`),zl=q(`<p role="status">Loading repository status…</p>`),Bl=q(`<p><strong> </strong> is available as a Clone destination. Select a Git repository
|
|
15
|
+
to inspect branches and enable repository actions.</p> <div class="git-actions svelte-pudr3t" aria-label="Repository actions unavailable"><button type="button" disabled="" class="svelte-pudr3t"><span aria-hidden="true">↑</span> Push</button> <button type="button" disabled="" class="svelte-pudr3t"><span aria-hidden="true">↓</span> Pull</button></div>`,1),Vl=q(`<p>Select a folder above to choose a Clone destination or inspect a Git repository.</p> <div class="git-actions svelte-pudr3t" aria-label="Repository actions unavailable"><button type="button" disabled="" class="svelte-pudr3t"><span aria-hidden="true">↑</span> Push</button> <button type="button" disabled="" class="svelte-pudr3t"><span aria-hidden="true">↓</span> Pull</button></div>`,1),Hl=q(`<p role="alert"> </p>`),Ul=q(`<section class="git-view svelte-pudr3t" aria-labelledby="git-title"><h2 id="git-title" class="visually-hidden">Git</h2> <section class="git-tree svelte-pudr3t" aria-labelledby="git-tree-title"><div class="section-heading svelte-pudr3t"><h3 id="git-tree-title" class="svelte-pudr3t">Repository and clone destination</h3> <p class="svelte-pudr3t">Select any folder. Git repositories enable repository actions; other folders are clone
|
|
16
|
+
destinations.</p></div> <!> <button id="browse-files" type="button">Browse files</button></section> <form class="clone-form svelte-pudr3t"><div class="clone-controls svelte-pudr3t"><div class="clone-field clone-destination svelte-pudr3t"><span class="field-label svelte-pudr3t">Destination</span> <output aria-live="polite" class="svelte-pudr3t"> </output></div> <div class="clone-field svelte-pudr3t"><label for="git-clone-address">Git address</label> <input id="git-clone-address" name="address" required="" autocomplete="url" inputmode="url" enterkeyhint="done" placeholder="https://example.com/owner/repository.git" aria-describedby="clone-help"/></div> <button type="submit" class="svelte-pudr3t"> </button></div> <p id="clone-help" class="svelte-pudr3t">The repository is cloned inside the selected workspace.</p> <!></form> <section class="repository-details svelte-pudr3t" aria-labelledby="repository-details-title"><h3 id="repository-details-title" class="svelte-pudr3t">Repository details</h3> <!> <!></section></section>`);function Wl(e,t){Qe(t,!0);let n=I(``),r=P(()=>t.selectedWorkspace&&!t.selectedWorkspace.isGitRepository?t.selectedWorkspace:null);function i(e){e.preventDefault(),!(!G(n).trim()||t.cloning)&&t.onclone(G(n).trim())}var a=Ul(),o=V(z(a),2),s=V(z(o),2);{let e=P(()=>t.selectedWorkspace?.id??null);Dl(s,{get roots(){return t.workspaceTree},get expandedIds(){return t.expandedIds},get selectedId(){return G(e)},label:`Git repository and clone destination`,get onexpandedchange(){return t.onexpandedchange},get onselect(){return t.onselect}})}var c=V(s,2);N(o);var l=V(o,2),u=z(l),d=z(u),f=V(z(d),2),p=z(f,!0);N(f),N(d);var m=V(d,2),h=V(z(m),2);Ei(h),N(m);var g=V(m,2),_=z(g,!0);N(g),N(u);var v=V(u,4),y=e=>{var n=Ml(),r=z(n,!0);N(n),H(()=>Y(r,t.cloneStatus)),J(e,n)};X(v,e=>{t.cloneStatus&&e(y)}),N(l);var b=V(l,2),x=V(z(b),2),S=e=>{var n=Vr(),r=B(n),i=e=>{var n=Vr(),r=B(n),i=e=>{var n=Ll(),r=B(n),i=z(r),a=V(z(i),2);Z(a,20,()=>t.summary.branches??[],e=>e,(e,t)=>{var n=Nl(),r=z(n,!0);N(n);var i={};H(()=>{Y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),J(e,n)}),N(a);var o;yi(a);var s=V(a,2),c=z(s);N(s);var l=V(s,2),u=z(l);N(l);var d=V(l,2),f=z(d),p=z(f,!0);N(f),N(d);var m=V(d,2),h=z(m);N(m),N(i);var g=V(i,2),_=z(g),v=V(_,2),y=V(z(v));N(v),N(g),N(r);var b=V(r,2),x=e=>{var n=Pl(),r=z(n),i=z(r);N(r);var a=V(r,2),o=V(a,2);N(n),H(()=>Y(i,`Push HEAD to ${t.summary.upstream??``}?`)),K(`click`,a,function(...e){t.onpush?.apply(this,e)}),K(`click`,o,function(...e){t.oncancelpush?.apply(this,e)}),J(e,n)};X(b,e=>{t.confirmingPush&&e(x)});var S=V(b,2),C=e=>{var n=Il(),r=V(z(n),2);Z(r,21,()=>t.summary.commits,e=>e.hash,(e,t)=>{var n=Fl(),r=z(n),i=z(r),a=z(i,!0);N(i);var o=V(i),s=z(o,!0);N(o),N(r);var c=V(r,2),l=z(c),u=z(l,!0);N(l);var d=V(l),f=z(d,!0);N(d),N(c),N(n),H(e=>{Q(i,`title`,G(t).hash),Y(a,G(t).shortHash),Y(s,G(t).subject),Y(u,G(t).author),Q(d,`datetime`,G(t).authoredAt),Q(d,`title`,G(t).authoredAt),Y(f,e)},[()=>jl(G(t).authoredAt)]),J(e,n)}),N(r),N(n),J(e,n)};X(S,e=>{t.summary.commits.length&&e(C)}),H(e=>{a.disabled=t.refreshing||t.checkingOut||!t.summary.branches?.length,o!==(o=t.summary.branch??``)&&(a.value=(a.__value=t.summary.branch??``)??``,vi(a,t.summary.branch??``)),Y(c,`Upstream: ${t.summary.upstream??`none`??``}`),Y(u,`Ahead ${t.summary.ahead??``}; behind ${t.summary.behind??``}.`),Q(f,`datetime`,t.summary.fetchedAt??void 0),Y(p,e),Y(h,`Changes: ${t.summary.dirty.staged??``} staged, ${t.summary.dirty.unstaged??``} unstaged, ${t.summary.dirty.untracked??``} untracked.`),_.disabled=t.refreshing||t.checkingOut||!t.summary.upstream||t.summary.ahead<1||t.summary.behind>0,v.disabled=t.refreshing||t.checkingOut,Y(y,` ${t.refreshing?`Pulling…`:`Pull`}`)},[()=>Al(t.summary.fetchedAt)]),K(`change`,a,e=>t.oncheckout(e.currentTarget.value)),K(`click`,_,function(...e){t.onopenpushconfirmation?.apply(this,e)}),K(`click`,v,function(...e){t.onpull?.apply(this,e)}),J(e,n)},a=e=>{J(e,Rl())};X(r,e=>{t.summary.available?e(i):e(a,-1)}),J(e,n)},a=e=>{J(e,zl())};X(r,e=>{t.summary?e(i):t.error||e(a,1)}),J(e,n)},C=e=>{var n=Bl(),r=B(n),i=z(r),a=z(i,!0);N(i),He(),N(r),He(2),H(()=>Y(a,t.selectedWorkspace.name)),J(e,n)},w=e=>{var t=Vl();He(2),J(e,t)};X(x,e=>{t.selectedWorkspace?.isGitRepository?e(S):t.selectedWorkspace?e(C,1):e(w,-1)});var T=V(x,2),E=e=>{var n=Hl(),r=z(n,!0);N(n),H(()=>Y(r,t.error)),J(e,n)};X(T,e=>{t.error&&e(E)}),N(b),N(a),H(()=>{c.disabled=!t.selectedWorkspace,Y(p,G(r)?`~/${G(r).relativePath}`:`Select a non-repository folder`),g.disabled=t.cloning,Y(_,t.cloning?`Cloning…`:`Clone`)}),K(`click`,c,e=>t.onbrowsefiles(e.currentTarget)),Mr(`submit`,l,i),Mi(h,()=>G(n),e=>L(n,e)),J(e,a),$e()}Nr([`click`,`change`]);var Gl=class{transport;isRepository;onChange;errorMessage;#e={workspaceId:null,summary:null,loading:!1,refreshing:!1,checkingOut:!1,error:null};#t=0;#n=null;#r=!1;constructor(e,t,n,r){this.transport=e,this.isRepository=t,this.onChange=n,this.errorMessage=r}get state(){return this.#e}select(e){this.#a();let t=e,n=!!(t&&this.isRepository(t));this.#s({workspaceId:t,summary:null,loading:n,refreshing:!1,checkingOut:!1,error:null}),n&&this.refresh()}async refresh(){let e=this.#e.workspaceId;if(!e||!this.isRepository(e))return;let t=this.#i(),n=this.#t;this.#s({...this.#e,loading:!0,error:null});try{let r=await this.transport.getSummary(e,t.signal);this.#o(n,e,t)&&this.#s({...this.#e,summary:r,loading:!1})}catch(r){this.#o(n,e,t)&&!t.signal.aborted&&this.#s({...this.#e,summary:null,loading:!1,error:this.errorMessage(r,`GIT_SUMMARY_FAILED`)})}}async pull(e){let t=this.#e.workspaceId;if(!t||this.#e.refreshing)return;let n=this.#i(),r=this.#t;this.#s({...this.#e,refreshing:!0,error:null});try{await this.transport.pull(t,e,n.signal),this.#o(r,t,n)&&(this.#s({...this.#e,refreshing:!1}),await this.refresh())}catch(e){this.#o(r,t,n)&&!n.signal.aborted&&this.#s({...this.#e,refreshing:!1,error:this.errorMessage(e,`GIT_PULL_FAILED`)})}}async checkout(e){let t=this.#e.workspaceId;if(!t||this.#e.checkingOut||e===this.#e.summary?.branch)return;let n=this.#i(),r=this.#t;this.#s({...this.#e,checkingOut:!0,error:null});try{await this.transport.checkout(t,e,n.signal),this.#o(r,t,n)&&(this.#s({...this.#e,checkingOut:!1}),await this.refresh())}catch(e){this.#o(r,t,n)&&!n.signal.aborted&&this.#s({...this.#e,checkingOut:!1,error:this.errorMessage(e,`GIT_CHECKOUT_FAILED`)})}}dispose(){this.#r=!0,this.#a()}#i(){return this.#a(),this.#n=new AbortController,++this.#t,this.#n}#a(){this.#n?.abort(),this.#n=null,++this.#t}#o(e,t,n){return!this.#r&&e===this.#t&&this.#e.workspaceId===t&&this.#n===n}#s(e){this.#r||(this.#e=e,this.onChange(e))}};function Kl(e,t,n,r,i){let a=new Set(ql(e).filter(e=>e.isGitRepository).map(e=>e.id)),o=yl(t,n),s=o?ql(o.children).filter(e=>e.isGitRepository&&!a.has(e.id)):[],c=Jl(r),l=s.find(e=>e.name===c)??(s.length===1?s[0]:void 0),u=l?.id??o?.id??null,d=new Set(i);return u&&vl(t,u).forEach(e=>d.add(e)),!l&&o&&d.add(o.id),{selectedId:u,expandedIds:d}}function ql(e){let t=[],n=e=>{t.push(e),e.children.forEach(n)};return e.forEach(n),t}function Jl(e){return(e.trim().replace(/[?#].*$/,``).replace(/\/+$/,``).split(/[/:]/).at(-1)??``).replace(/\.git$/i,``)}function Yl(e){if(typeof e!=`object`||!e)return null;let t=e.permissions;if(typeof t!=`object`||!t)return null;let n=t;return{permissions:{...n.network===null||n.network===void 0?{}:{network:n.network},...n.fileSystem===null||n.fileSystem===void 0?{}:{fileSystem:n.fileSystem}},scope:`turn`}}function Xl(e){return{answers:Object.fromEntries(e.filter(e=>e.answer.trim()).map(e=>[e.id,{answers:[e.answer]}]))}}function Zl(e=fetch){async function t(e){let t=await e.json().catch(()=>null),n=typeof t?.code==`string`&&/^[A-Z0-9_]+$/.test(t.code)?t.code:void 0,r=n?.startsWith(`AUTOPILOT_`)&&e.status===409?`Relay request failed (${e.status}).`:typeof t?.detail==`string`&&t.detail.length<=600?t.detail:typeof t?.title==`string`?t.title:`Relay request failed (${e.status}).`;return Object.assign(Error(r),{...n?{code:n}:{},...typeof t?.replaceAllowed==`boolean`?{replaceAllowed:t.replaceAllowed}:{},status:e.status})}async function n(n,r,i={},a){let o=await e(n,{method:`POST`,headers:{"content-type":`application/json`,...i},body:JSON.stringify(r),signal:a});if(!o.ok)throw await t(o);return o.json()}async function r(n,r,i={}){let a=await e(n,{method:`PUT`,headers:{"content-type":`application/json`,...i},body:JSON.stringify(r)});if(!a.ok)throw await t(a);return a.json()}async function i(n,r,i,a){let o=await e(n,{method:`PUT`,headers:{"content-type":`application/octet-stream`,"idempotency-key":i},body:r,signal:a});if(!o.ok)throw await t(o);return o.json()}async function a(n,r,i){let a=await e(n,{method:`DELETE`,headers:{"content-type":`application/json`,"idempotency-key":i},body:JSON.stringify(r)});if(!a.ok)throw await t(a);return a.json()}async function o(n){let r=await e(n,{method:`DELETE`});if(!r.ok)throw await t(r)}async function s(n,r){let i=await e(n,r?{signal:r}:void 0);if(!i.ok)throw await t(i);return i.json()}async function c(n,r){let i=await e(n,{signal:r});if(i.status===204)return null;if(!i.ok)throw await t(i);return i.json()}return{listSessions:e=>s(`/api/sessions`,e),listWorkspaceDirectory:(e,t={},n)=>{let r=new URLSearchParams;t.directory!==void 0&&r.set(`directory`,t.directory),t.cursor!==void 0&&r.set(`cursor`,t.cursor),t.limit!==void 0&&r.set(`limit`,String(t.limit));let i=r.size===0?``:`?${r}`;return s(`/api/workspaces/${encodeURIComponent(e)}/files${i}`,n)},copyWorkspaceEntry:(e,t,r)=>n(`/api/workspaces/${encodeURIComponent(e)}/files/copy`,t,{"idempotency-key":r}),moveWorkspaceEntry:(e,t,r)=>n(`/api/workspaces/${encodeURIComponent(e)}/files/move`,t,{"idempotency-key":r}),uploadWorkspaceFile:(e,t,n,r)=>{let a=new URLSearchParams({directory:t.directory,filename:t.filename,conflict:t.conflict});return i(`/api/workspaces/${encodeURIComponent(e)}/files/upload?${a}`,t.file,n,r)},deleteWorkspaceEntry:(e,t,n)=>a(`/api/workspaces/${encodeURIComponent(e)}/files`,{path:t,recursive:!0},n),getSession:e=>s(`/api/sessions/${encodeURIComponent(e)}`),refreshActivity:e=>n(`/api/sessions/${encodeURIComponent(e)}/activity/refresh`,{}),setAutopilot:(e,t,n)=>r(`/api/sessions/${encodeURIComponent(e)}/autopilot`,{enabled:t},n?{"idempotency-key":n}:{}),resolveAttention:(e,t,r)=>n(`/api/sessions/${encodeURIComponent(e)}/attention/${encodeURIComponent(t)}/resolve`,r),listRecentSessions:()=>s(`/api/sessions/recent-threads`),openRecentSession:(e,t)=>n(`/api/sessions/recent-threads/open`,{threadId:e,cwd:t}),startSession:(e,t={},r)=>n(`/api/sessions`,{workspaceId:e,profile:`default`,...t},r?{"idempotency-key":r}:{}),startTurn:(e,t,r)=>n(`/api/sessions/${encodeURIComponent(e)}/turns`,{text:t},r?{"idempotency-key":r}:{}),selectModel:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/model`,{model:t}),interruptTurn:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/turns/${encodeURIComponent(t)}/interrupt`,{}),queueTurnInput:(e,t,r,i)=>n(`/api/sessions/${encodeURIComponent(e)}/turns/${encodeURIComponent(t)}/queue`,{text:r},i?{"idempotency-key":i}:{}),restoreSession:e=>n(`/api/sessions/${encodeURIComponent(e)}/restore`,{}),releaseSession:e=>n(`/api/sessions/${encodeURIComponent(e)}/release`,{}),forgetSession:n=>e(`/api/sessions/${encodeURIComponent(n)}`,{method:`DELETE`}).then(async e=>{if(!e.ok)throw await t(e)}),getHistory:e=>s(`/api/sessions/${encodeURIComponent(e)}/history`),getPlan:(e,t)=>c(`/api/sessions/${encodeURIComponent(e)}/plan`,t),closePlan:e=>o(`/api/sessions/${encodeURIComponent(e)}/plan`),listWorkspacePlans:(e,t)=>s(`/api/workspaces/${encodeURIComponent(e)}/plans`,t),getWorkspacePlan:(e,t,n)=>s(`/api/workspaces/${encodeURIComponent(e)}/plans/${encodeURIComponent(t)}`,n),openSessionPlan:(e,t)=>r(`/api/sessions/${encodeURIComponent(e)}/plan`,{planName:t}),getGitSummary:(e,t)=>s(`/api/git/repositories/${encodeURIComponent(e)}`,t),cloneGitRepository:(e,t)=>n(`/api/git/clone`,{workspaceId:e,address:t}),refreshGit:(e,t)=>n(`/api/git/repositories/${encodeURIComponent(e)}/refresh`,{},t?{"idempotency-key":t}:{}),pullGit:(e,t,r)=>n(`/api/git/repositories/${encodeURIComponent(e)}/pull`,{},t?{"idempotency-key":t}:{},r),checkoutGitBranch:(e,t,r)=>n(`/api/git/repositories/${encodeURIComponent(e)}/checkout`,{branch:t},{},r),pushGit:(e,t)=>n(`/api/git/repositories/${encodeURIComponent(e)}/push`,{},t?{"idempotency-key":t}:{}),listAvailableSkills:(e,t,n=!1,r)=>s(`/api/skills?${new URLSearchParams({workspaceId:e,profile:t,...n?{refresh:`true`}:{}}).toString()}`,r),listSkillProfiles:e=>s(`/api/skill-profiles`,e),replaceSkillProfile:(e,t)=>r(`/api/skill-profiles/${encodeURIComponent(e)}`,t),deleteSkillProfile:e=>o(`/api/skill-profiles/${encodeURIComponent(e)}`),respondInteraction:(e,t,r,i)=>n(`/api/sessions/${encodeURIComponent(e)}/interactions/${encodeURIComponent(t)}`,r,i?{"idempotency-key":i}:{})}}async function Ql(e,t=globalThis.navigator?.clipboard,n=eu){if(!t)return $l(e,n);try{return await t.writeText(e),!0}catch{return $l(e,n)}}function $l(e,t){try{return t(e)}catch{return!1}}function eu(e){if(typeof document>`u`||!document.body)return!1;let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed;opacity:0`,document.body.append(t),t.select();let n=document.execCommand(`copy`);return t.remove(),n}var tu=[`authoring-start`,`work-start`,`checkpoint`,`update`,`supervision-start`,`resync`];function nu(e){return typeof e==`string`&&tu.includes(e)}function ru(e){if(!e||typeof e!=`object`)return!1;let t=e;return iu(t.plan)&&(t.reason===null||nu(t.reason))}function iu(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.title==`string`&&Array.isArray(t.steps)&&typeof t.totalSteps==`number`&&typeof t.doneSteps==`number`&&typeof t.allDone==`boolean`&&typeof t.currentStepId==`string`}function au(e){return e instanceof Error?e.message:`Could not load the plan.`}function ou(e){return{...e,...e.skills?{skills:[...e.skills]}:{},description:{...e.description},children:e.children.map(ou)}}function su(e){return{...e,steps:e.steps.map(ou)}}function cu(e,t){return e.kind===`unavailable`&&e.sessionId===t}function lu(e,t){let n=null,r={kind:`unavailable`,sessionId:null},i=0,a=0,o=null,s=0,c=e=>{++a,r=e,t(e)},l=(t,r)=>{o?.abort(),o=new AbortController;let a=++i,l=s;r||c({kind:`loading`,sessionId:t}),e.getPlan(t,o.signal).then(e=>{a!==i||n!==t||s===l&&c(e?{kind:`ready`,sessionId:t,plan:su(e)}:{kind:`unavailable`,sessionId:t})}).catch(e=>{o?.signal.aborted||a!==i||n!==t||c({kind:`error`,sessionId:t,error:au(e),...r?{plan:r}:{}})})};return{select(e){if(o?.abort(),n=e,s=0,!e){++i,c({kind:`unavailable`,sessionId:null});return}l(e,void 0)},refresh(e){if(n!==e)return;let t=r.kind===`ready`||r.kind===`closing`||r.kind===`error`?r.plan:void 0;l(e,t)},applyEvent(e,t){if(!(n!==e||t.sequence<=s)){if(t.type===`plan.updated`&&(iu(t.payload)||ru(t.payload))){let n=ru(t.payload)?t.payload.plan:t.payload;s=t.sequence,c({kind:`ready`,sessionId:e,plan:su(n)})}t.type===`plan.closed`&&(s=t.sequence,c({kind:`unavailable`,sessionId:e}))}},async close(){if(r.kind!==`ready`&&r.kind!==`error`||!r.plan?.allDone)return null;let{sessionId:t,plan:i}=r;c({kind:`closing`,sessionId:t,plan:i});let o=a;try{return await e.closePlan(t),n===t?a===o?(c({kind:`unavailable`,sessionId:t}),`chat`):cu(r,t)?`chat`:null:null}catch(e){return n===t?a===o?(c({kind:`error`,sessionId:t,plan:i,error:au(e)}),null):cu(r,t)?`chat`:null:null}},dispose(){o?.abort(),o=null,n=null,++i,c({kind:`unavailable`,sessionId:null})}}}function uu(e){if(!e)return null;let t=du(e.steps,e.currentStepId)?.measurement?.weeklyRemainingCurrent;return typeof t==`number`&&Number.isFinite(t)&&t>=0&&t<=100?Math.round(t):null}function du(e,t){for(let n of e){if(n.id===t)return n;let e=du(n.children,t);if(e)return e}}var fu=q(`<li class="svelte-hmxg46"><span aria-hidden="true" class="position svelte-hmxg46"> </span> <span aria-hidden="true" class="state"> </span></li>`),pu=q(`<ol class="step-markers svelte-hmxg46" aria-label="Plan step progress"></ol>`),mu=q(`<div><div class="progress-heading svelte-hmxg46"><span> </span></div> <progress class="svelte-hmxg46"> </progress> <!></div>`);function hu(e,t){Qe(t,!0);let n=$(t,`compact`,3,!1),r=$(t,`label`,3,`Plan progress`),i=P(()=>t.plan.steps.flatMap((e,t)=>[{id:e.id,position:_a(t+1),state:e.state},...e.children.map((e,n)=>({id:e.id,position:_a(t+1,n+1),state:e.state}))])),a=P(()=>Math.max(t.plan.totalSteps,1));var o=mu(),s=z(o),c=z(s),l=z(c);N(c),N(s);var u=V(s,2),d=z(u);N(u);var f=V(u,2),p=e=>{var n=pu();Z(n,21,()=>G(i),e=>e.id,(e,n)=>{var r=fu(),i=z(r),a=z(i,!0);N(i);var o=V(i,2),s=z(o,!0);N(o),N(r),H(()=>{Q(r,`data-state`,G(n).state),Q(r,`aria-current`,G(n).id===t.plan.currentStepId?`step`:void 0),Q(r,`aria-label`,`${G(n).position}: ${G(n).state}`),Y(a,G(n).position),Y(s,G(n).state)}),J(e,r)}),N(n),J(e,n)};X(f,e=>{G(i).length&&e(p)}),N(o),H(()=>{hi(o,1,li([`plan-progress`,{compact:n()}]),`svelte-hmxg46`),Y(l,`${t.plan.doneSteps??``} / ${t.plan.totalSteps??``} complete`),Q(u,`aria-label`,r()),Di(u,t.plan.doneSteps),Q(u,`max`,G(a)),Y(d,`${t.plan.doneSteps??``} of ${t.plan.totalSteps??``} complete`)}),J(e,o),$e()}var gu=q(`<section aria-labelledby="plan-title" class="svelte-3rmyvg"><h2 id="plan-title" class="svelte-3rmyvg">Plan</h2> <p class="svelte-3rmyvg">Loading plan…</p></section>`),_u=q(`<section aria-labelledby="plan-title" class="svelte-3rmyvg"><h2 id="plan-title" class="svelte-3rmyvg">Plan</h2> <p class="svelte-3rmyvg">No retained plan for this session.</p></section>`),vu=q(`<section aria-labelledby="plan-title" class="svelte-3rmyvg"><h2 id="plan-title" class="svelte-3rmyvg">Plan</h2> <p class="svelte-3rmyvg"> </p></section>`),yu=q(`<p class="svelte-3rmyvg"> </p>`),bu=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Subtitle</dt> <dd class="svelte-3rmyvg"> </dd></div>`),xu=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Date</dt> <dd class="svelte-3rmyvg"> </dd></div>`),Su=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Keywords</dt> <dd class="svelte-3rmyvg"> </dd></div>`),Cu=q(`<dl class="metadata svelte-3rmyvg"><!> <!> <!></dl>`),wu=q(`<p class="svelte-3rmyvg">No plan steps have been retained yet.</p>`),Tu=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg"> </strong> </p>`),Eu=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg">Skills:</strong> </p>`),Du=q(`<li class="svelte-3rmyvg"><details class="svelte-3rmyvg"><summary class="svelte-3rmyvg"><strong class="svelte-3rmyvg"><span class="position svelte-3rmyvg"> </span> </strong> <span class="svelte-3rmyvg"> </span> <span class="svelte-3rmyvg"> </span></summary> <!> <!></details></li>`),Ou=q(`<ol class="svelte-3rmyvg"></ol>`),ku=q(`<li class="svelte-3rmyvg"><details class="svelte-3rmyvg"><summary class="svelte-3rmyvg"><strong class="svelte-3rmyvg"><span class="position svelte-3rmyvg"> </span> </strong> <span class="svelte-3rmyvg"> </span> <span class="svelte-3rmyvg"> </span> <span class="measurement svelte-3rmyvg"> </span></summary> <!> <!> <!></details></li>`),Au=q(`<ol class="plan-steps svelte-3rmyvg"></ol>`),ju=q(`<section class="plan svelte-3rmyvg" aria-labelledby="plan-title"><header class="svelte-3rmyvg"><div class="svelte-3rmyvg"><h2 id="plan-title" class="svelte-3rmyvg"> </h2></div> <button class="close svelte-3rmyvg" aria-label="Close plan and return to list">×</button></header> <!> <p class="svelte-3rmyvg"> </p> <!> <!> <!></section>`),Mu=q(`<p class="visually-hidden svelte-3rmyvg" aria-live="polite" aria-atomic="true"> </p> <!>`,1);function Nu(e,t){Qe(t,!0);let n={effort:`Effort`,goal:`Goal`,notes:`Notes`,why:`Why`,change:`Change`,tests:`Tests`,doneWhen:`Done when`},r=I(R(new Set)),i=R({}),a=null,o=0,s=P(()=>t.state.kind===`ready`||t.state.kind===`closing`||t.state.kind===`error`?t.state.plan:void 0),c=P(()=>G(s)?f(G(s).steps,G(s).currentStepId):void 0),l=P(()=>G(s)?p(G(s).steps,G(s).currentStepId):void 0),u=P(()=>G(s)?m(G(s).steps,G(s).currentStepId):new Set),d=P(()=>t.state.kind===`loading`?`Loading plan.`:t.state.kind===`unavailable`?`No retained plan for this session.`:t.state.kind===`error`&&!G(s)?t.state.error:t.state.kind===`closing`?`Closing completed plan.`:G(s)?G(c)?`Current step: ${G(l)} ${G(c).title}, ${G(c).state}. ${G(s).doneSteps} of ${G(s).totalSteps} complete.${t.state.kind===`error`?` ${t.state.error}`:``}`:`${G(s).doneSteps} of ${G(s).totalSteps} plan steps complete.${t.state.kind===`error`?` ${t.state.error}`:``}`:``);Mn(()=>{let e=G(s)?.currentStepId||null;if(!e||a===e)return;a=e;let t=++o;Sr().then(()=>{t!==o||G(s)?.currentStepId!==e||i[e]?.scrollIntoView({behavior:`auto`,block:`nearest`,inline:`nearest`})})});function f(e,t){for(let n of e){if(n.id===t)return n;let e=f(n.children,t);if(e)return e}}function p(e,t){for(let[n,r]of e.entries()){if(r.id===t)return _a(n+1);let e=r.children.findIndex(e=>e.id===t);if(e>=0)return _a(n+1,e+1)}}function m(e,t,n=[]){for(let r of e){if(r.id===t)return new Set([...n,r.id]);let e=m(r.children,t,[...n,r.id]);if(e.size)return e}return new Set}function h(e){return G(r).has(e)||G(u).has(e)}function g(e,t){L(r,t?new Set([...G(r),e]):new Set([...G(r)].filter(t=>t!==e)),!0)}function _(e){return e.description.goal??e.description.why??e.title}function v(e){let t=e.measurement;if(!t)return`Measurements unavailable`;let n=[];return t.elapsedSeconds!==void 0&&n.push(`${Math.floor(t.elapsedSeconds/60)}m ${t.elapsedSeconds%60}s elapsed`),t.weeklyPercentUsed!==void 0&&n.push(`${t.weeklyPercentUsed}% observed account-wide usage`),t.tokensUsed!==void 0&&n.push(`${t.tokensUsed.toLocaleString()} tokens used`),n.join(` · `)||`Measurements unavailable`}function y(e){return Object.keys(n).flatMap(t=>{let r=e.description[t];return r?[[n[t],r]]:[]})}var b=Mu(),x=B(b),S=z(x,!0);N(x);var w=V(x,2),T=e=>{J(e,gu())},E=e=>{J(e,_u())},D=e=>{var n=vu(),r=V(z(n),2),i=z(r,!0);N(r),N(n),H(()=>Y(i,t.state.error)),J(e,n)},ee=e=>{var n=ju(),r=z(n),a=z(r),o=z(a),u=z(o,!0);N(o),N(a);var d=V(a,2);N(r);var f=V(r,2);hu(f,{get plan(){return G(s)}});var p=V(f,2),m=z(p);N(p);var b=V(p,2),x=e=>{var n=yu(),r=z(n,!0);N(n),H(()=>Y(r,t.state.error)),J(e,n)};X(b,e=>{t.state.kind===`error`&&e(x)});var S=V(b,2),w=e=>{var t=Cu(),n=z(t),r=e=>{var t=bu(),n=V(z(t),2),r=z(n,!0);N(n),N(t),H(()=>Y(r,G(s).subtitle)),J(e,t)};X(n,e=>{G(s).subtitle&&e(r)});var i=V(n,2),a=e=>{var t=xu(),n=V(z(t),2),r=z(n,!0);N(n),N(t),H(()=>Y(r,G(s).date)),J(e,t)};X(i,e=>{G(s).date&&e(a)});var o=V(i,2),c=e=>{var t=Su(),n=V(z(t),2),r=z(n,!0);N(n),N(t),H(()=>Y(r,G(s).keywords)),J(e,t)};X(o,e=>{G(s).keywords&&e(c)}),N(t),J(e,t)};X(S,e=>{(G(s).subtitle||G(s).date||G(s).keywords)&&e(w)});var T=V(S,2),E=e=>{J(e,wu())},D=e=>{var t=Au();Z(t,23,()=>G(s).steps,e=>e.id,(e,t,n)=>{var r=ku(),a=z(r),o=z(a),s=z(o),c=z(s),l=z(c,!0);N(c);var u=V(c);N(s);var d=V(s,2),f=z(d);N(d);var p=V(d,2),m=z(p,!0);N(p);var b=V(p,2),x=z(b,!0);N(b),N(o);var S=V(o,2);Z(S,17,()=>y(G(t)),([e,t])=>e,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Tu(),o=z(a),s=z(o);N(o);var c=V(o);N(a),H(()=>{Y(s,`${r()??``}:`),Y(c,` ${i()??``}`)}),J(e,a)});var w=V(S,2),T=e=>{var n=Eu(),r=V(z(n));N(n),H(e=>Y(r,` ${e??``}`),[()=>G(t).skills.join(`, `)]),J(e,n)};X(w,e=>{G(t).skills?.length&&e(T)});var E=V(w,2),D=e=>{var r=Ou();Z(r,23,()=>G(t).children,e=>e.id,(e,t,r)=>{var a=Du(),o=z(a),s=z(o),c=z(s),l=z(c),u=z(l,!0);N(l);var d=V(l);N(c);var f=V(c,2),p=z(f);N(f);var m=V(f,2),v=z(m,!0);N(m),N(s);var b=V(s,2);Z(b,17,()=>y(G(t)),([e,t])=>e,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Tu(),o=z(a),s=z(o);N(o);var c=V(o);N(a),H(()=>{Y(s,`${r()??``}:`),Y(c,` ${i()??``}`)}),J(e,a)});var x=V(b,2),S=e=>{var n=Eu(),r=V(z(n));N(n),H(e=>Y(r,` ${e??``}`),[()=>G(t).skills.join(`, `)]),J(e,n)};X(x,e=>{G(t).skills?.length&&e(S)}),N(o),Ii(o,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(t)]),N(a),H((e,n,r)=>{Q(o,`data-step-id`,G(t).id),o.open=e,Y(u,n),Y(d,` ${G(t).title??``}`),Y(p,`${G(t).state??``} · Priority ${G(t).priority??``}${G(t).reviewStatus?` · ${G(t).reviewStatus}`:``}`),Y(v,r)},[()=>h(G(t).id),()=>_a(G(n)+1,G(r)+1),()=>_(G(t))]),Mr(`toggle`,o,e=>g(G(t).id,e.currentTarget.open)),J(e,a)}),N(r),J(e,r)};X(E,e=>{G(t).children.length&&e(D)}),N(a),Ii(a,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(t)]),N(r),H((e,n,r,i)=>{Q(a,`data-step-id`,G(t).id),a.open=e,Y(l,n),Y(u,` ${G(t).title??``}`),Y(f,`${G(t).state??``} · Priority ${G(t).priority??``}${G(t).reviewStatus?` · ${G(t).reviewStatus}`:``}`),Y(m,r),Y(x,i)},[()=>h(G(t).id),()=>_a(G(n)+1),()=>_(G(t)),()=>v(G(t))]),Mr(`toggle`,a,e=>g(G(t).id,e.currentTarget.open)),J(e,r)}),N(t),J(e,t)};X(T,e=>{G(s).steps.length===0?e(E):e(D,-1)}),N(n),H(()=>{Y(u,G(s).title),Y(m,`Current: ${G(c)?`${G(l)} ${G(c).title} (${G(c).state})`:`No current step`}`)}),K(`click`,d,function(...e){t.onclose?.apply(this,e)}),J(e,n)};X(w,e=>{t.state.kind===`loading`?e(T):t.state.kind===`unavailable`?e(E,1):t.state.kind===`error`&&!G(s)?e(D,2):G(s)&&e(ee,3)}),H(()=>Y(S,G(d))),J(e,b),$e()}Nr([`click`]);var Pu=/^(\*+)\s+(?:(TODO|WIP|DONE)\s+)?(?:\[#([ABC])\]\s+)?(.+)$/,Fu=/^#\+([A-Z][A-Z0-9_-]*):\s*(.*)$/i,Iu=/^:([A-Z][A-Z0-9_]*):\s*(.*)$/,Lu=/^-\s+([^:]+?)\s+::\s*(.*)$/;function Ru(e){let t=[],n=[],r=[],i=e.replace(/\r\n?/g,`
|
|
17
17
|
`).split(`
|
|
18
|
-
`),a=null,o=!1,s=()=>{a&&r.push({...a,properties:[...a.properties],descriptions:[...a.descriptions],body:Ru(a.body)})};for(let e of i){let r=Nu.exec(e);if(r){s(),a={level:r[1].length,title:r[4].trim(),...r[2]?{state:r[2]}:{},...r[3]?{priority:r[3]}:{},properties:[],descriptions:[],body:[]},o=!1;continue}if(!a){let r=Pu.exec(e);r?t.push([r[1].toUpperCase(),r[2].trim()]):n.push(e);continue}if(e===`:PROPERTIES:`){o=!0;continue}if(o&&e===`:END:`){o=!1;continue}if(o){let t=Fu.exec(e);t&&a.properties.push([t[1],t[2].trim()]);continue}let i=Iu.exec(e);i?a.descriptions.push([i[1].trim(),i[2].trim()]):a.body.push(e)}return s(),{metadata:t,preamble:Ru(n),sections:r}}function Ru(e){let t=[...e];for(;t[0]?.trim()===``;)t.shift();for(;t.at(-1)?.trim()===``;)t.pop();return t}var zu=q(`<div class="svelte-h7gaqo"><dt class="svelte-h7gaqo"> </dt> <dd class="svelte-h7gaqo"> </dd></div>`),Bu=q(`<dl class="metadata svelte-h7gaqo"></dl>`),Vu=q(`<p class="svelte-h7gaqo"> </p>`),Hu=q(`<p class="svelte-h7gaqo">This Org document has no headings.</p>`),Uu=q(`<h3 class="svelte-h7gaqo"> </h3>`),Wu=q(`<h4 class="svelte-h7gaqo"> </h4>`),Gu=q(`<span> </span>`),Ku=q(`<span class="priority svelte-h7gaqo"> </span>`),qu=q(`<dl class="descriptions svelte-h7gaqo"></dl>`),Ju=q(`<p> </p>`),Yu=q(`<details class="properties svelte-h7gaqo"><summary class="svelte-h7gaqo">Properties</summary> <dl class="svelte-h7gaqo"></dl></details>`),Xu=q(`<section class="org-section svelte-h7gaqo"><div class="section-heading svelte-h7gaqo"><!> <!> <!></div> <!> <!> <!></section>`),Zu=q(`<div class="sections svelte-h7gaqo"></div>`),Qu=q(`<article class="org-document svelte-h7gaqo" aria-labelledby="org-document-title"><header class="svelte-h7gaqo"><div><h2 id="org-document-title" class="svelte-h7gaqo"> </h2> <code class="svelte-h7gaqo"> </code></div> <button class="close svelte-h7gaqo" type="button" aria-label="Close plan and return to list">×</button></header> <!> <!> <!></article>`);function $u(e,t){Qe(t,!0);let n=P(()=>Lu(t.preview.source)),r=P(()=>G(n).metadata.filter(([e])=>e!==`TITLE`));var i=Qu(),a=z(i),o=z(a),s=z(o),c=z(s,!0);N(s);var l=V(s,2),u=z(l,!0);N(l),N(o);var d=V(o,2);N(a);var f=V(a,2),p=e=>{var t=Bu();Z(t,21,()=>G(r),([e,t])=>`${e}:${t}`,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=zu(),o=z(a),s=z(o,!0);N(o);var c=V(o,2),l=z(c,!0);N(c),N(a),H(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),N(t),J(e,t)};X(f,e=>{G(r).length&&e(p)});var m=V(f,2);Z(m,19,()=>G(n).preamble,(e,t)=>`preamble:${t}:${e}`,(e,t)=>{var n=Vr(),r=B(n),i=e=>{var n=Vu(),r=z(n,!0);N(n),H(()=>Y(r,G(t))),J(e,n)},a=P(()=>G(t).trim());X(r,e=>{G(a)&&e(i)}),J(e,n)});var h=V(m,2),g=e=>{J(e,Hu())},_=e=>{var t=Zu();Z(t,23,()=>G(n).sections,(e,t)=>`${t}:${e.level}:${e.title}`,(e,t)=>{var n=Xu();let r;var i=z(n),a=z(i),o=e=>{var n=Uu(),r=z(n,!0);N(n),H(()=>Y(r,G(t).title)),J(e,n)},s=e=>{var n=Wu(),r=z(n,!0);N(n),H(()=>Y(r,G(t).title)),J(e,n)};X(a,e=>{G(t).level===1?e(o):e(s,-1)});var c=V(a,2),l=e=>{var n=Gu(),r=z(n,!0);N(n),H(e=>{hi(n,1,e,`svelte-h7gaqo`),Y(r,G(t).state)},[()=>`state state-${G(t).state.toLowerCase()}`]),J(e,n)};X(c,e=>{G(t).state&&e(l)});var u=V(c,2),d=e=>{var n=Ku(),r=z(n);N(n),H(()=>Y(r,`Priority ${G(t).priority??``}`)),J(e,n)};X(u,e=>{G(t).priority&&e(d)}),N(i);var f=V(i,2),p=e=>{var n=qu();Z(n,21,()=>G(t).descriptions,([e,t])=>`${e}:${t}`,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=zu(),o=z(a),s=z(o,!0);N(o);var c=V(o,2),l=z(c,!0);N(c),N(a),H(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),N(n),J(e,n)};X(f,e=>{G(t).descriptions.length&&e(p)});var m=V(f,2);Z(m,19,()=>G(t).body,(e,t)=>`${t}:${e}`,(e,t)=>{var n=Vr(),r=B(n),i=e=>{var n=Ju();let r;var i=z(n,!0);N(n),H(e=>{r=hi(n,1,`svelte-h7gaqo`,null,r,e),Y(i,G(t))},[()=>({"list-item":G(t).trimStart().startsWith(`- `)})]),J(e,n)},a=P(()=>G(t).trim());X(r,e=>{G(a)&&e(i)}),J(e,n)});var h=V(m,2),g=e=>{var n=Yu(),r=V(z(n),2);Z(r,21,()=>G(t).properties,([e,t])=>`${e}:${t}`,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=zu(),o=z(a),s=z(o,!0);N(o);var c=V(o,2),l=z(c,!0);N(c),N(a),H(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),N(r),N(n),J(e,n)};X(h,e=>{G(t).properties.length&&e(g)}),N(n),H(e=>r=_i(n,``,r,e),[()=>({"--org-depth":Math.max(0,G(t).level-1)})]),J(e,n)}),N(t),J(e,t)};X(h,e=>{G(n).sections.length===0?e(g):e(_,-1)}),N(i),H(()=>{Y(c,t.preview.title),Y(u,t.preview.planName)}),K(`click`,d,function(...e){t.onclose?.apply(this,e)}),J(e,i),$e()}Nr([`click`]);var ed=q(`<p>Select a workspace to browse its local plans.</p>`),td=q(`<p>Loading workspace plans…</p>`),nd=q(`<p> </p>`),rd=q(`<p>No Org files were found below this workspace.</p>`),id=q(`<span> </span>`),ad=q(`<span> </span> <!>`,1),od=q(`<span>Org document</span>`),sd=q(`<li><button class="svelte-x2ko9l"><strong> </strong> <code class="svelte-x2ko9l"> </code> <!></button></li>`),cd=q(`<p class="scope svelte-x2ko9l">Org files below the selected workspace.</p> <ul class="svelte-x2ko9l"></ul>`,1),ld=q(`<section class="plans svelte-x2ko9l" aria-labelledby="plans-title"><h2 id="plans-title" tabindex="-1" class="svelte-x2ko9l">Plans</h2> <!></section>`);function ud(e,t){Qe(t,!0);let n=I(null),r=R({}),i=I(null),a=!1,o=!1;function s(){t.onclose()}function c(e){L(i,e,!0),t.onopen(e)}Mn(()=>{if(t.state){a=!0;return}if(a&&(a=!1,o=!0),!o)return;let e=t.catalog.kind,s=G(i);queueMicrotask(()=>{let t=s?r[s]:void 0;t?.isConnected?(t.focus(),o=!1):e!==`loading`&&(G(n)?.focus(),o=!1)})});var l=Vr(),u=B(l),d=e=>{$u(e,{get preview(){return t.state},onclose:s})},f=e=>{Mu(e,{get state(){return t.state},onclose:s})},p=e=>{var i=ld(),a=z(i);Ii(a,e=>L(n,e),()=>G(n));var o=V(a,2),s=e=>{J(e,ed())},l=e=>{J(e,td())},u=e=>{var n=nd(),r=z(n,!0);N(n),H(()=>Y(r,t.catalog.error)),J(e,n)},d=e=>{J(e,rd())},f=e=>{var n=cd(),i=V(B(n),2);Z(i,21,()=>t.catalog.entries,e=>e.planName,(e,t)=>{var n=sd(),i=z(n),a=z(i),o=z(a,!0);N(a);var s=V(a,2),l=z(s,!0);N(s);var u=V(s,2),d=e=>{var n=ad(),r=B(n),i=z(r);N(r);var a=V(r,2),o=e=>{var n=id(),r=z(n,!0);N(n),H(()=>Y(r,G(t).subtitle)),J(e,n)};X(a,e=>{G(t).subtitle&&e(o)}),H(()=>Y(i,`${G(t).doneSteps??``} / ${G(t).totalSteps??``} complete`)),J(e,n)},f=e=>{J(e,od())};X(u,e=>{G(t).previewAvailable===!1?e(f,-1):e(d)}),N(i),Ii(i,(e,t)=>r[t.planName]=e,e=>r?.[e.planName],()=>[G(t)]),N(n),H(()=>{Y(o,G(t).title),Y(l,G(t).planName)}),K(`click`,i,()=>c(G(t).planName)),J(e,n)}),N(i),J(e,n)};X(o,e=>{t.catalog.kind===`no-workspace`?e(s):t.catalog.kind===`loading`?e(l,1):t.catalog.kind===`error`?e(u,2):t.catalog.entries.length===0?e(d,3):e(f,-1)}),N(i),J(e,i)};X(u,e=>{t.state?.kind===`org-source`?e(d):t.state?e(f,1):e(p,-1)}),J(e,l),$e()}Nr([`click`]);var dd=`settings`,fd=`drafts`,pd=`cursors`,md=`selected-session`;function hd(e=globalThis.indexedDB){if(!e)return gd;let t=cc(e);return{async readSelectedSession(){try{return await lc(await t,dd,md)??null}catch{return null}},async saveSelectedSession(e){try{let n=await t;e?await uc(n,dd,md,e):await dc(n,dd,md)}catch{}},async readDraft(e){try{return await lc(await t,fd,e)??``}catch{return``}},async saveDraft(e,n){try{await uc(await t,fd,e,n)}catch{}},async readCursor(e){try{let n=await lc(await t,pd,e);return typeof n==`number`&&Number.isSafeInteger(n)&&n>=0?n:0}catch{return 0}},async saveCursor(e,n){try{await uc(await t,pd,e,n)}catch{}}}}var gd={readSelectedSession:async()=>null,saveSelectedSession:async()=>{},readDraft:async()=>``,saveDraft:async()=>{},readCursor:async()=>0,saveCursor:async()=>{}};function _d(e,t=Date.now()){if(e===null)return`Unknown activity time`;let n=Math.max(0,t-e),r=Math.floor(n/(3600*1e3));if(r<1)return`Less than an hour ago`;if(r<24)return`${r} hour${r===1?``:`s`} ago`;let i=Math.floor(r/24);return`${i} day${i===1?``:`s`} ago`}function vd(e){let t=e.updatedAt?Date.parse(e.updatedAt):NaN;return{threadId:e.threadId??null,workspacePath:e.workspacePath??`Workspace unavailable`,updatedAt:Number.isFinite(t)?t:null}}function yd(e,t){if(!t?.threadId||!t.workspacePath||!t.resumeCommand||e.some(e=>e.id===t.threadId))return e;let n=t.updatedAt?Date.parse(t.updatedAt)/1e3:NaN,r={id:t.threadId,cwd:t.workspacePath,recencyAt:Number.isFinite(n)?n:null,resumeCommand:t.resumeCommand,...t.model===void 0?{}:{model:t.model},...t.effectiveSkillSelection?.selectedProfileName===void 0?{}:{skillProfile:t.effectiveSkillSelection.selectedProfileName},...t.lastOrgPlan===void 0?{}:{orgPlanFilename:t.lastOrgPlan.filename}};return[...e,r].sort((e,t)=>(t.recencyAt??-1/0)-(e.recencyAt??-1/0))}function bd(e){let t=/^\/home\/[^/]+/.exec(e)?.[0];if(!t)return e;let n=e.slice(t.length);return n?`~${n}`:`~/`}var xd=q(`<time> </time>`),Sd=q(`<div> </div>`),Cd=q(`<span class="profile-badge svelte-hxb22h"> </span>`),wd=q(`<span class="org-plan-metadata svelte-hxb22h"><span class="org-plan-title svelte-hxb22h"> </span> <span class="org-plan-filename svelte-hxb22h"> </span></span>`),Td=q(`<div class="session-plan-progress svelte-hxb22h"><!></div>`),Ed=q(`<li><div class="session-actions svelte-hxb22h" aria-label="Session actions"><!> <!> <!> <!> <!></div> <div class="session-details svelte-hxb22h"><div class="session-summary"><!> <div class="workspace-path svelte-hxb22h"> </div> <!> <!> <!> <!></div> <!> <!></div> <!></li>`),Dd=q(`<section aria-labelledby="open-sessions-title"><h3 id="open-sessions-title">Open sessions</h3> <ul class="session-list svelte-hxb22h" aria-label="Open sessions"></ul></section>`),Od=q(`<li class="managed-session svelte-hxb22h"><div class="session-actions svelte-hxb22h"><!> <!> <!></div> <div class="session-details svelte-hxb22h"><!> <div class="workspace-path svelte-hxb22h"> </div> <!> <!> <!></div></li>`),kd=q(`<ul class="session-list svelte-hxb22h" aria-label="Saved sessions"></ul>`),Ad=q(`<p>No saved sessions yet.</p>`),jd=q(`<option> </option>`),Md=q(`<p class="skills-profile-error svelte-hxb22h" role="alert"> </p>`),Nd=q(`<li class="recent-session svelte-hxb22h"><div class="session-details svelte-hxb22h"><!> <div class="workspace-path svelte-hxb22h"> </div> <!> <!> <!></div> <div class="session-actions svelte-hxb22h"><!> <!></div></li>`),Pd=q(`<ul class="session-list recent-session-list svelte-hxb22h" aria-label="Recent sessions"></ul>`),Fd=q(`<p>No other recent Codex sessions found.</p>`),Id=q(`<section aria-labelledby="sessions-title"><h2 id="sessions-title" class="visually-hidden">Sessions</h2> <!> <!> <form><section class="session-base svelte-hxb22h" aria-labelledby="session-base-title"><div class="session-base-heading svelte-hxb22h"><h3 id="session-base-title" class="svelte-hxb22h">Session base</h3> <p class="svelte-hxb22h">Select the folder or repository Codex should use as its working directory.</p></div> <!></section> <section class="session-settings svelte-hxb22h" aria-label="New session settings"><div class="session-setting-labels svelte-hxb22h"><label for="skills-profile" class="svelte-hxb22h">Skills profile</label> <label for="sandbox" class="svelte-hxb22h">Sandbox</label> <label for="approval-policy" class="svelte-hxb22h">Approval policy</label></div> <div class="session-setting-controls svelte-hxb22h"><select id="skills-profile" class="svelte-hxb22h"><option>Default</option><!></select> <select id="sandbox" class="svelte-hxb22h"><option>workspace-write</option><option>read-only</option><option>danger-full-access</option></select> <select id="approval-policy" aria-describedby="approval-policy-help" class="svelte-hxb22h"><option>Ask on all commands</option><option>Ask out of workspace</option><option>Approve everything</option></select></div> <p id="approval-policy-help">This controls when Codex asks; it does not expand the sandbox's technical permissions.</p> <!> <div class="session-secondary-actions svelte-hxb22h"><!> <div class="model-control svelte-hxb22h"><label for="model">Model</label> <select id="model"></select></div> <!></div></section></form> <section aria-labelledby="recent-sessions-title"><h3 id="recent-sessions-title">Recent sessions</h3> <!></section></section>`);function Ld(e,t){Qe(t,!0);let n=$(t,`activitySnapshots`,19,()=>new Map),r=$(t,`autopilotSnapshots`,19,()=>new Map),i=$(t,`autopilotPending`,19,()=>new Set),a=$(t,`autopilotAttention`,19,()=>new Map),o=$(t,`models`,19,()=>[]),s=$(t,`selectedModel`,3,``),c=$(t,`onmodelchange`,3,()=>{}),l=$(t,`onautopilottoggle`,3,()=>{}),u=$(t,`onautopilotresolve`,3,()=>{}),d=P(()=>t.sessions.filter(e=>e.state===`ready`||e.state===`turnActive`)),f=P(()=>t.sessions.filter(e=>e.state!==`ready`&&e.state!==`turnActive`)),p=P(()=>t.recentSessions.filter(e=>!G(d).some(t=>t.threadId===e.id))),m=P(()=>vl(t.workspaceTree,t.workspaceId));var h=Id(),g=V(z(h),2),_=e=>{var s=Dd(),c=V(z(s),2);Z(c,21,()=>G(d),e=>e.id,(e,s)=>{let c=P(()=>vd(G(s)));var d=Ed();let f;var p=z(d),m=z(p);{let e=P(()=>G(s).id===t.selectedSessionId?`page`:void 0);ga(m,{compact:!0,full:!0,get current(){return G(e)},onclick:()=>t.onselectopen(G(s).id),children:(e,t)=>{He(),J(e,Br(`Open`))},$$slots:{default:!0}})}var h=V(m,2),g=e=>{ga(e,{compact:!0,full:!0,onclick:()=>t.oncopyresume(G(s).resumeCommand),children:(e,t)=>{He(),J(e,Br(`Copy`))},$$slots:{default:!0}})};X(h,e=>{G(s).resumeCommand&&e(g)});var _=V(h,2);{let e=P(()=>r().get(G(s).id)??G(s).autopilot??null),t=P(()=>`session-autopilot-${G(s).id}`),n=P(()=>i().has(G(s).id));Ka(_,{compact:!0,indicatorOnly:!0,get autopilot(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},ontoggle:e=>l()(G(s).id,e)})}var v=V(_,2);{let e=P(()=>n().get(G(s).id)??G(s).agentActivity??null),t=P(()=>G(s).model??o()?.[0]);Aa(v,{compact:!0,get activity(){return G(e)},popupAlign:`start`,get rootModel(){return G(t)}})}ga(V(v,2),{compact:!0,full:!0,onclick:()=>t.onclose(G(s).id),children:(e,t)=>{He(),J(e,Br(`Close`))},$$slots:{default:!0}}),N(p);var y=V(p,2),b=z(y),x=z(b),S=e=>{var t=xd(),n=z(t,!0);N(t),H((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(c).updatedAt).toISOString(),()=>_d(G(c).updatedAt)]),J(e,t)},C=e=>{var t=Sd(),n=z(t,!0);N(t),H(e=>Y(n,e),[()=>_d(null)]),J(e,t)};X(x,e=>{G(c).updatedAt===null?e(C,-1):e(S)});var w=V(x,2),T=z(w,!0);N(w);var E=V(w,2),D=e=>{var t=Cd(),n=z(t);N(t),H(()=>Y(n,`Model: ${G(s).model??``}`)),J(e,t)};X(E,e=>{G(s).model&&e(D)});var ee=V(E,2),O=e=>{var t=Cd(),n=z(t);N(t),H(()=>Y(n,`Branch: ${G(s).branch??``}`)),J(e,t)};X(ee,e=>{G(s).branch&&e(O)});var te=V(ee,2),ne=e=>{var t=Cd(),n=z(t);N(t),H(()=>Y(n,`Skills profile: ${G(s).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(te,e=>{G(s).effectiveSkillSelection?.selectedProfileName&&e(ne)});var re=V(te,2),ie=e=>{var t=wd(),n=z(t),r=z(n,!0);N(n);var i=V(n,2),a=z(i,!0);N(i),N(t),H(()=>{Y(r,G(s).lastOrgPlan.title),Y(a,G(s).lastOrgPlan.filename)}),J(e,t)};X(re,e=>{G(s).lastOrgPlan&&e(ie)}),N(b);var k=V(b,2);{let e=P(()=>a().get(G(s).id)??null),t=P(()=>`session-attention-${G(s).id}`),n=P(()=>i().has(G(s).id));Ja(k,{get attention(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},onresolve:(e,t)=>u()(G(s).id,e,t)})}var ae=V(k,2);{let e=P(()=>r().get(G(s).id)??G(s).autopilot??null),t=P(()=>a().get(G(s).id)??null),n=P(()=>`session-autopilot-safety-${G(s).id}`),o=P(()=>i().has(G(s).id));Xa(ae,{get autopilot(){return G(e)},get attention(){return G(t)},get controlId(){return G(n)},get pending(){return G(o)},onrecover:()=>l()(G(s).id,!0),ondisable:()=>l()(G(s).id,!1)})}N(y);var oe=V(y,2),se=e=>{var t=Td(),n=z(t);{let e=P(()=>`Plan progress for ${G(s).plan.title}`);mu(n,{compact:!0,get plan(){return G(s).plan},get label(){return G(e)}})}N(t),J(e,t)};X(oe,e=>{G(s).plan&&e(se)}),N(d),H(e=>{f=hi(d,1,`managed-session open-session svelte-hxb22h`,null,f,{"current-session":G(s).id===t.selectedSessionId}),Y(T,e)},[()=>bd(G(c).workspacePath)]),J(e,d)}),N(c),N(s),J(e,s)};X(g,e=>{G(d).length&&e(_)});var v=V(g,2),y=e=>{var n=kd();Z(n,21,()=>G(f),e=>e.id,(e,n)=>{let r=P(()=>vd(G(n)));var i=Od(),a=z(i),o=z(a);{let e=P(()=>t.openingSessionId===G(n).id);ga(o,{compact:!0,full:!0,get disabled(){return G(e)},onclick:()=>t.onopen(G(n).id),children:(e,r)=>{He();var i=Br();H(()=>Y(i,t.openingSessionId===G(n).id?`Opening…`:`Open`)),J(e,i)},$$slots:{default:!0}})}var s=V(o,2),c=e=>{ga(e,{compact:!0,full:!0,onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{He(),J(e,Br(`Copy`))},$$slots:{default:!0}})};X(s,e=>{G(n).resumeCommand&&e(c)}),ga(V(s,2),{compact:!0,full:!0,onclick:()=>t.onforget(G(n).id),children:(e,t)=>{He(),J(e,Br(`Forget`))},$$slots:{default:!0}}),N(a);var l=V(a,2),u=z(l),d=e=>{var t=xd(),n=z(t,!0);N(t),H((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(r).updatedAt).toISOString(),()=>_d(G(r).updatedAt)]),J(e,t)},f=e=>{var t=Sd(),n=z(t,!0);N(t),H(e=>Y(n,e),[()=>_d(null)]),J(e,t)};X(u,e=>{G(r).updatedAt===null?e(f,-1):e(d)});var p=V(u,2),m=z(p,!0);N(p);var h=V(p,2),g=e=>{var t=Cd(),r=z(t);N(t),H(()=>Y(r,`Model: ${G(n).model??``}`)),J(e,t)};X(h,e=>{G(n).model&&e(g)});var _=V(h,2),v=e=>{var t=Cd(),r=z(t);N(t),H(()=>Y(r,`Branch: ${G(n).branch??``}`)),J(e,t)};X(_,e=>{G(n).branch&&e(v)});var y=V(_,2),b=e=>{var t=Cd(),r=z(t);N(t),H(()=>Y(r,`Skills profile: ${G(n).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(y,e=>{G(n).effectiveSkillSelection?.selectedProfileName&&e(b)}),N(l),N(i),H(e=>Y(m,e),[()=>bd(G(r).workspacePath)]),J(e,i)}),N(n),J(e,n)},b=e=>{J(e,Ad())};X(v,e=>{G(f).length?e(y):G(d).length||e(b,1)});var x=V(v,2),S=z(x),C=V(z(S),2);{let e=P(()=>G(m)?.id??null);El(C,{get roots(){return t.workspaceTree},get expandedIds(){return t.expandedIds},get selectedId(){return G(e)},get isSelectable(){return pl.sessionBase},label:`Session base`,get onexpandedchange(){return t.onexpandedchange},onselect:e=>t.onworkspacechange(e.id)})}N(S);var w=V(S,2),T=V(z(w),2),E=z(T),D=z(E);D.value=D.__value=``,Z(V(D),17,()=>t.skillProfiles,e=>e.name,(e,t)=>{var n=jd(),r=z(n,!0);N(n);var i={};H(()=>{Y(r,G(t).name),i!==(i=G(t).name)&&(n.value=(n.__value=G(t).name)??``)}),J(e,n)}),N(E);var ee;yi(E);var O=V(E,2),te=z(O);te.value=te.__value=`workspace-write`;var ne=V(te);ne.value=ne.__value=`read-only`;var re=V(ne);re.value=re.__value=`danger-full-access`,N(O);var ie;yi(O);var k=V(O,2),ae=z(k);ae.value=ae.__value=`untrusted`;var oe=V(ae);oe.value=oe.__value=`on-request`;var se=V(oe);se.value=se.__value=`never`,N(k);var ce;yi(k),N(T);var le=V(T,4),ue=e=>{var n=Md(),r=z(n,!0);N(n),H(()=>Y(r,t.skillProfileError)),J(e,n)};X(le,e=>{t.skillProfileError&&e(ue)});var de=V(le,2),fe=z(de);ga(fe,{id:`manage-skill-profiles`,onclick:e=>t.onmanageprofiles(e.currentTarget),children:(e,t)=>{He(),J(e,Br(`Manage skill profiles`))},$$slots:{default:!0}});var pe=V(fe,2),me=V(z(pe),2);Z(me,20,o,e=>e,(e,t)=>{var n=jd(),r=z(n,!0);N(n);var i={};H(()=>{Y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),J(e,n)}),N(me);var he;yi(me),N(pe);var ge=V(pe,2);{let e=P(()=>!G(m)||t.startingSession);ga(ge,{class:`new-session-button`,type:`submit`,primary:!0,get disabled(){return G(e)},children:(e,n)=>{He();var r=Br();H(()=>Y(r,t.startingSession?`Creating…`:`Create session`)),J(e,r)},$$slots:{default:!0}})}N(de),N(w),N(x);var _e=V(x,2),ve=V(z(_e),2),ye=e=>{var n=Pd();Z(n,21,()=>G(p),e=>e.id,(e,n)=>{var r=Nd(),i=z(r),a=z(i),o=e=>{var t=xd(),r=z(t,!0);N(t),H((e,n)=>{Q(t,`datetime`,e),Y(r,n)},[()=>new Date(G(n).recencyAt*1e3).toISOString(),()=>_d(G(n).recencyAt*1e3)]),J(e,t)},s=e=>{var t=Sd(),n=z(t,!0);N(t),H(e=>Y(n,e),[()=>_d(null)]),J(e,t)};X(a,e=>{G(n).recencyAt===null?e(s,-1):e(o)});var c=V(a,2),l=z(c,!0);N(c);var u=V(c,2),d=e=>{var t=Cd(),r=z(t);N(t),H(()=>Y(r,`Model: ${G(n).model??``}`)),J(e,t)};X(u,e=>{G(n).model&&e(d)});var f=V(u,2),p=e=>{var t=Cd(),r=z(t);N(t),H(()=>Y(r,`Skills profile: ${G(n).skillProfile??``}`)),J(e,t)};X(f,e=>{G(n).skillProfile&&e(p)});var m=V(f,2),h=e=>{var t=Cd(),r=z(t);N(t),H(()=>Y(r,`Org plan: ${G(n).orgPlanFilename??``}`)),J(e,t)};X(m,e=>{G(n).orgPlanFilename&&e(h)}),N(i);var g=V(i,2),_=z(g);ga(_,{onclick:()=>t.onopenrecent(G(n)),children:(e,t)=>{He(),J(e,Br(`Open`))},$$slots:{default:!0}}),ga(V(_,2),{onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{He(),J(e,Br(`Copy`))},$$slots:{default:!0}}),N(g),N(r),H(e=>Y(l,e),[()=>bd(G(n).cwd)]),J(e,r)}),N(n),J(e,n)},be=e=>{J(e,Fd())};X(ve,e=>{G(p).length?e(ye):e(be,-1)}),N(_e),N(h),H(()=>{ee!==(ee=t.selectedSkillProfile)&&(E.value=(E.__value=t.selectedSkillProfile)??``,vi(E,t.selectedSkillProfile)),ie!==(ie=t.sandbox)&&(O.value=(O.__value=t.sandbox)??``,vi(O,t.sandbox)),ce!==(ce=t.approvalPolicy)&&(k.value=(k.__value=t.approvalPolicy)??``,vi(k,t.approvalPolicy)),me.disabled=o().length===0,he!==(he=s())&&(me.value=(me.__value=s())??``,vi(me,s()))}),Mr(`submit`,x,e=>{e.preventDefault(),t.onstart()}),K(`change`,E,e=>t.onskillprofilechange(e.currentTarget.value)),K(`change`,O,e=>t.onsandboxchange(e.currentTarget.value)),K(`change`,k,e=>t.onapprovalpolicychange(e.currentTarget.value)),K(`change`,me,e=>c()(e.currentTarget.value)),J(e,h),$e()}Nr([`change`]);function Rd(e){let t={};return e.workspaceId||(t.workspaceId=`Choose a workspace.`),e.profile||(t.profile=`Choose a profile.`),e.profile&&e.profileState&&e.profileState!==`ok`&&(t.profile=`Sign in to this profile before starting Codex.`),t}var zd=class{transport;key;onChange;#e={starting:!1,error:null};#t=0;#n=!1;#r=null;constructor(e,t,n){this.transport=e,this.key=t,this.onChange=n}get state(){return this.#e}async start(e,t){if(this.#n||this.#e.starting||!e)return null;let n=++this.#t;this.#a({starting:!0,error:null});let r=this.#r??=this.key();try{let i=await this.transport.start(e,t,r);return this.#i(n)&&(this.#r=null),this.#i(n)?i:null}catch(e){return this.#i(n)&&this.#a({starting:!1,error:e instanceof Error?e.message:`Could not start session.`}),null}finally{this.#i(n)&&this.#a({...this.#e,starting:!1})}}dispose(){this.#n=!0,++this.#t}#i(e){return!this.#n&&e===this.#t}#a(e){this.#n||(this.#e=e,this.onChange(e))}};function Bd({chatEnabled:e}){return[`sessions`,`git`,...e?[`chat`]:[],`plan`]}function Vd(e,t,n={chatEnabled:!0}){let r=Bd(n);return r[(r.indexOf(e)+t+r.length)%r.length]}var Hd=q(`<nav class="bottom-navigation" aria-label="Primary"><button>Sessions</button> <button>Git</button> <button>Chat</button> <button>Plan</button></nav>`);function Ud(e,t){Qe(t,!0);let n=$(t,`focusTab`,3,null),r=R({});Mn(()=>{n()&&r[n()]?.focus()});function i(e){let n=e.key===`ArrowRight`?1:e.key===`ArrowLeft`?-1:null;if(n===null)return;e.preventDefault();let i=Vd(t.activeTab,n,{chatEnabled:t.chatEnabled});t.onselect(i),r[i]?.focus()}var a=Hd(),o=z(a);Ii(o,e=>r.sessions=e,()=>r?.sessions);var s=V(o,2);Ii(s,e=>r.git=e,()=>r?.git);var c=V(s,2);Ii(c,e=>r.chat=e,()=>r?.chat);var l=V(c,2);Ii(l,e=>r.plan=e,()=>r?.plan),N(a),H(()=>{Q(o,`aria-pressed`,t.activeTab===`sessions`),Q(s,`aria-pressed`,t.activeTab===`git`),Q(c,`aria-pressed`,t.activeTab===`chat`),c.disabled=!t.chatEnabled,Q(l,`aria-pressed`,t.activeTab===`plan`)}),K(`keydown`,o,i),K(`click`,o,()=>t.onselect(`sessions`)),K(`keydown`,s,i),K(`click`,s,()=>t.onselect(`git`)),K(`keydown`,c,i),K(`click`,c,()=>t.onselect(`chat`)),K(`keydown`,l,i),K(`click`,l,()=>t.onselect(`plan`)),J(e,a),$e()}Nr([`keydown`,`click`]);var Wd=q(`<option> </option>`),Gd=q(`<p id="skills-status" aria-live="polite">Loading skills…</p>`),Kd=q(`<p id="skills-status">No skills were discovered for this workspace and Codex profile.</p>`),qd=q(`<p id="skills-status" class="notice svelte-dg6sjj" role="status"> </p>`),Jd=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert"> </p>`),Yd=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert" tabindex="-1"> </p>`),Xd=q(`<p id="skills-status" role="status">Profile saved.</p>`),Zd=q(`<p id="skills-status" role="status">Profile deleted.</p>`),Qd=q(`<p class="svelte-dg6sjj"> </p>`),$d=q(`<li> </li>`),ef=q(`<dt class="svelte-dg6sjj">Tool dependencies</dt> <dd class="svelte-dg6sjj"><ul class="svelte-dg6sjj"></ul></dd>`,1),tf=q(`<li class="skill-card svelte-dg6sjj"><label class="skill-toggle svelte-dg6sjj"><input type="checkbox" class="svelte-dg6sjj"/> <span class="svelte-dg6sjj"> </span> <span class="state svelte-dg6sjj"> </span></label> <div class="skill-details svelte-dg6sjj"><!> <!> <dl class="svelte-dg6sjj"><dt class="svelte-dg6sjj">Path</dt> <dd class="path svelte-dg6sjj"> </dd> <!></dl></div></li>`),nf=q(`<div class="skills-toolbar svelte-dg6sjj"><button type="button" class="refresh-skills svelte-dg6sjj" aria-label="Refresh skills"><span aria-hidden="true" class="svelte-dg6sjj">↻</span><span class="svelte-dg6sjj">Refresh</span></button> <p class="summary svelte-dg6sjj"> </p></div> <ul class="skill-list svelte-dg6sjj"></ul>`,1),rf=q(`<section class="skills-view svelte-dg6sjj" aria-labelledby="skills-title"><h2 id="skills-title"> </h2> <p class="intro svelte-dg6sjj">Create or edit a complete skills selection.</p> <form aria-describedby="skills-status" class="svelte-dg6sjj"><div class="field-grid svelte-dg6sjj"><label for="skills-existing-profile" class="svelte-dg6sjj">Skill profile</label> <select id="skills-existing-profile" class="svelte-dg6sjj"><option>New profile</option><option>Default</option><!></select> <label for="skills-save-as" class="svelte-dg6sjj">Save as</label> <input id="skills-save-as" name="save-as" autocomplete="off" class="svelte-dg6sjj"/></div> <p class="save-intent svelte-dg6sjj" aria-live="polite"> </p> <div class="profile-actions svelte-dg6sjj"><button type="button" class="svelte-dg6sjj">Delete profile</button> <button type="submit" class="svelte-dg6sjj"> </button></div></form> <dialog aria-labelledby="delete-profile-title" class="svelte-dg6sjj"><h3 id="delete-profile-title">Delete skill profile?</h3> <p> </p> <div class="dialog-actions svelte-dg6sjj"><button type="button" class="svelte-dg6sjj">Cancel</button> <button type="button" class="svelte-dg6sjj">Delete profile</button></div></dialog> <!> <!></section>`);function af(e,t){Qe(t,!0);let n=$(t,`skillsState`,7),r=$(t,`heading`,3,`Manage skill profiles`),i=I(0),a=I(null),o=I(null),s=I(null),c=I(null),l=I(`__new__`),u=P(()=>(G(i),n())),d=P(()=>G(u).profiles.filter(e=>!(`error`in e)));function f(){n(Object.assign(Object.create(Object.getPrototypeOf(n())),n())),L(i,G(i)+1)}async function p(){await t.onrefresh(),f()}function m(e){L(l,e.currentTarget.value,!0),G(l)===`__new__`||G(l)===`__default__`?G(u).selectDefaultProfile():G(u).selectProfile(G(l)),f()}async function h(e){e.preventDefault(),await G(u).save(),f(),G(u).status.kind===`saved`&&(L(l,G(u).selectedProfileName,!0),t.onprofileschange()),G(u).status.kind===`save-failed`&&(await Sr(),G(a)?.focus())}function g(){G(c)?.showModal()}async function _(){G(c)?.close(),await G(u).deleteSelectedProfile(),f(),G(u).status.kind===`deleted`&&(L(l,`__new__`),t.onprofileschange()),await Sr(),G(o)?.focus()}async function v(){G(c)?.close(),await Sr(),G(s)?.focus()}function y(e){return e&&/^#[0-9a-f]{3,8}$/i.test(e)?e:void 0}function b(e){return e.replace(/^\/(?:home|Users)\/[^/]+(?=\/|$)/,`~`)}function x(e){let t=e.currentTarget.closest(`.skill-card`);requestAnimationFrame(()=>t?.scrollIntoView({block:`nearest`,inline:`nearest`}))}var S=rf(),C=z(S),w=z(C,!0);N(C);var T=V(C,4),E=z(T),D=V(z(E),2),ee=z(D);ee.value=ee.__value=`__new__`;var O=V(ee);O.value=O.__value=`__default__`,Z(V(O),17,()=>G(d),e=>e.name,(e,t)=>{var n=Wd(),r=z(n,!0);N(n);var i={};H(()=>{Y(r,G(t).name),i!==(i=G(t).name)&&(n.value=(n.__value=G(t).name)??``)}),J(e,n)}),N(D),Ii(D,e=>L(o,e),()=>G(o));var te=V(D,4);Ei(te),N(E);var ne=V(E,2),re=z(ne,!0);N(ne);var ie=V(ne,2),k=z(ie);Ii(k,e=>L(s,e),()=>G(s));var ae=V(k,2),oe=z(ae,!0);N(ae),N(ie),N(T);var se=V(T,2),ce=V(z(se),2),le=z(ce);N(ce);var ue=V(ce,2),de=z(ue),fe=V(de,2);N(ue),N(se),Ii(se,e=>L(c,e),()=>G(c));var pe=V(se,2),me=e=>{J(e,Gd())},he=e=>{J(e,Kd())},ge=e=>{var t=qd(),n=z(t);N(t),H(()=>Y(n,`Discovery warning: ${G(u).status.message??``}`)),J(e,t)},_e=e=>{var t=Jd(),n=z(t,!0);N(t),H(()=>Y(n,G(u).status.message)),J(e,t)},ve=e=>{var t=Yd(),n=z(t,!0);N(t),Ii(t,e=>L(a,e),()=>G(a)),H(()=>Y(n,G(u).status.message)),J(e,t)},ye=e=>{J(e,Xd())},be=e=>{J(e,Zd())},xe=e=>{var t=Jd(),n=z(t,!0);N(t),H(()=>Y(n,G(u).status.message)),J(e,t)};X(pe,e=>{G(u).status.kind===`loading`?e(me):G(u).status.kind===`empty`?e(he,1):G(u).status.kind===`warning`?e(ge,2):G(u).status.kind===`invalid-profile`||G(u).status.kind===`error`?e(_e,3):G(u).status.kind===`save-failed`?e(ve,4):G(u).status.kind===`saved`?e(ye,5):G(u).status.kind===`deleted`?e(be,6):G(u).status.kind===`delete-failed`&&e(xe,7)});var Se=V(pe,2),Ce=e=>{var t=nf(),n=B(t),r=z(n),i=V(r,2),a=z(i);N(i),N(n);var o=V(n,2);Z(o,21,()=>G(u).skills,e=>e.path,(e,t)=>{var n=tf();let r;var i=z(n),a=z(i);Ei(a);var o=V(a,2),s=z(o,!0);N(o);var c=V(o,2),l=z(c,!0);N(c),N(i);var d=V(i,2),p=z(d),m=e=>{var n=Qd(),r=z(n,!0);N(n),H(()=>Y(r,G(t).description)),J(e,n)};X(p,e=>{G(t).description&&e(m)});var h=V(p,2),g=e=>{var n=Qd(),r=z(n,!0);N(n),H(()=>Y(r,G(t).shortDescription)),J(e,n)};X(h,e=>{G(t).shortDescription&&e(g)});var _=V(h,2),v=V(z(_),2),S=z(v,!0);N(v);var C=V(v,2),w=e=>{var n=ef(),r=V(B(n),2),i=z(r);Z(i,21,()=>G(t).dependencies.tools,e=>`${e.type}:${e.value}`,(e,t)=>{var n=$d(),r=z(n);N(n),H(()=>Y(r,`${G(t).type??``}: ${G(t).value??``}${G(t).description?` — ${G(t).description}`:``}`)),J(e,n)}),N(i),N(r),J(e,n)};X(C,e=>{G(t).dependencies?.tools?.length&&e(w)}),N(_),N(d),N(n),H((e,o)=>{r=_i(n,``,r,e),Q(i,`for`,`skill-${G(t).path}`),Q(a,`id`,`skill-${G(t).path}`),Oi(a,G(t).enabled),a.disabled=G(t).alwaysAdvertised,Y(s,G(t).displayName??G(t).name),Y(l,G(t).alwaysAdvertised?`Always advertised`:G(t).enabled?`Enabled`:`Disabled`),Y(S,o)},[()=>({"--brand-color":y(G(t).brandColor)}),()=>b(G(t).path)]),Mr(`focus`,a,x),K(`change`,a,e=>{G(u).toggle(G(t).path,e.currentTarget.checked),f()}),J(e,n)}),N(o),H(()=>Y(a,`${G(u).enabledCount??``} of ${G(u).skills.length??``} skills enabled.`)),K(`click`,r,()=>void p()),J(e,t)};X(Se,e=>{G(u).skills.length>0&&e(Ce)}),N(S),H(()=>{Y(w,r()),Di(te,G(u).saveAsName),Y(re,G(u).saveIntent===`replace`?`Saved the selected profile.`:`Creating a new saved profile.`),k.disabled=!G(u).selectedProfileName||G(u).status.kind===`deleting`,ae.disabled=G(u).status.kind===`saving`,Y(oe,G(u).status.kind===`saving`?`Saving profile…`:`Save profile`),Y(le,`Delete ${G(u).selectedProfileName??``}? Existing sessions keep their saved skill set.`)}),Mr(`submit`,T,h),K(`change`,D,m),bi(D,()=>G(l),e=>L(l,e)),K(`input`,te,e=>{G(u).saveAsName=e.currentTarget.value,f()}),K(`click`,k,g),K(`click`,de,()=>void v()),K(`click`,fe,()=>void _()),J(e,S),$e()}Nr([`change`,`input`,`click`]);var of=class{client;workspaceId=``;codexProfile=``;selectedProfileName=``;saveAsName=``;source=`native`;skills=[];profiles=[];status={kind:`idle`};baseline=new Map;saving=!1;deleting=!1;request=null;generation=0;disposed=!1;constructor(e){this.client=e}get enabledCount(){return this.skills.filter(e=>e.enabled).length}get dirty(){return this.skills.some(e=>this.baseline.get(e.path)!==e.enabled)}get saveIntent(){return this.profiles.some(e=>!(`error`in e)&&e.name===this.saveAsName.trim())?`replace`:`create`}async load(e,t){let n=this.beginRequest(),r=this.generation;this.workspaceId=e,this.codexProfile=t,this.status={kind:`loading`};try{let[i,a]=await Promise.all([this.client.listAvailableSkills(e,t,!0,n.signal),this.client.listSkillProfiles(n.signal)]);if(!this.current(r,n))return;this.applyAvailable(i),this.profiles=a.profiles;let o=a.profiles.find(e=>`error`in e);o&&`error`in o?this.status={kind:`invalid-profile`,message:o.error.message}:i.errors.length?this.status={kind:`warning`,message:i.errors.map(e=>e.message).join(` `)}:this.status=this.skills.length?{kind:`ready`}:{kind:`empty`}}catch(e){if(!this.current(r,n)||n.signal.aborted)return;this.status={kind:`error`,message:sf(e)}}}async refresh(){let e=this.beginRequest(),t=this.generation;this.status={kind:`loading`};try{let n=await this.client.listAvailableSkills(this.workspaceId,this.codexProfile,!0,e.signal);if(!this.current(t,e))return;this.applyAvailable(n),this.status=n.errors.length?{kind:`warning`,message:n.errors.map(e=>e.message).join(` `)}:this.skills.length?{kind:`ready`}:{kind:`empty`}}catch(n){if(!this.current(t,e)||e.signal.aborted)return;this.status={kind:`error`,message:sf(n)}}}selectProfile(e){let t=this.profiles.find(t=>!(`error`in t)&&t.name===e);if(!t||`error`in t){this.status={kind:`invalid-profile`,message:`Select a valid saved profile.`};return}this.selectedProfileName=t.name,this.saveAsName=t.name;let n=new Map(t.skills.map(e=>[e.path,e.enabled]));this.skills=this.skills.map(e=>({...e,enabled:e.alwaysAdvertised?!0:n.get(e.path)??!1})),this.captureBaseline(),this.status=this.skills.length?{kind:`ready`}:{kind:`empty`}}selectDefaultProfile(){this.selectedProfileName=``,this.saveAsName=``,this.skills=this.skills.map(e=>({...e,enabled:e.effectiveEnabled})),this.captureBaseline(),this.status=this.skills.length?{kind:`ready`}:{kind:`empty`}}toggle(e,t){this.skills=this.skills.map(n=>n.path===e&&!n.alwaysAdvertised?{...n,enabled:t}:n)}reset(){this.skills=this.skills.map(e=>({...e,enabled:this.baseline.get(e.path)??!1}))}async save(){let e=this.saveAsName.trim();if(this.saving||this.deleting)return;if(!e){this.status={kind:`save-failed`,message:`Enter a profile name before saving.`};return}this.saving=!0,this.status={kind:`saving`};let t=this.savePayload(e);try{let n=await this.client.replaceSkillProfile(e,t);this.profiles=[...this.profiles.filter(e=>`error`in e||e.name!==n.name),n].sort((e,t)=>e.name.localeCompare(t.name)),this.selectedProfileName=n.name,this.saveAsName=n.name,this.captureBaseline(),this.status={kind:`saved`}}catch(e){this.status={kind:`save-failed`,message:sf(e)}}finally{this.saving=!1}}async deleteSelectedProfile(){let e=this.selectedProfileName;if(!(this.saving||this.deleting)){if(!e){this.status={kind:`delete-failed`,message:`Select a saved profile before deleting.`};return}this.deleting=!0,this.status={kind:`deleting`};try{await this.client.deleteSkillProfile(e),this.profiles=this.profiles.filter(t=>`error`in t||t.name!==e),this.selectedProfileName=``,this.saveAsName=``,this.captureBaseline(),this.status={kind:`deleted`}}catch(e){this.status={kind:`delete-failed`,message:sf(e)}}finally{this.deleting=!1}}}dispose(){this.disposed=!0,++this.generation,this.request?.abort(),this.request=null}beginRequest(){return this.request?.abort(),this.request=new AbortController,++this.generation,this.request}current(e,t){return!this.disposed&&e===this.generation&&this.request===t}savePayload(e=this.saveAsName.trim()){return{version:1,name:e,skills:this.skills.map(({name:e,path:t,enabled:n})=>({name:e,path:t,enabled:n})).sort((e,t)=>e.path.localeCompare(t.path))}}applyAvailable(e){let t=new Map(this.skills.filter(e=>this.baseline.get(e.path)!==e.enabled).map(e=>[e.path,e.enabled]));this.source=e.source,this.skills=e.skills.map(e=>({...e,enabled:e.alwaysAdvertised?!0:t.get(e.path)??e.effectiveEnabled})),this.baseline=new Map(e.skills.map(e=>[e.path,this.baseline.get(e.path)??e.effectiveEnabled]))}captureBaseline(){this.baseline=new Map(this.skills.map(e=>[e.path,e.enabled]))}};function sf(e){return e instanceof Error?e.message:`Unknown relay error.`}var cf=o(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),lf=o((e=>{var t,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(e){if(!e)throw Error(`"version" cannot be null or undefined`);if(e<1||e>40)throw Error(`"version" should be in range from 1 to 40`);return e*4+17},e.getSymbolTotalCodewords=function(e){return n[e]},e.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t},e.setToSJISFunction=function(e){if(typeof e!=`function`)throw Error(`"toSJISFunc" is not a valid function.`);t=e},e.isKanjiModeEnabled=function(){return t!==void 0},e.toSJIS=function(e){return t(e)}})),uf=o((e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`l`:case`low`:return e.L;case`m`:case`medium`:return e.M;case`q`:case`quartile`:return e.Q;case`h`:case`high`:return e.H;default:throw Error(`Unknown EC Level: `+t)}}e.isValid=function(e){return e&&e.bit!==void 0&&e.bit>=0&&e.bit<4},e.from=function(n,r){if(e.isValid(n))return n;try{return t(n)}catch{return r}}})),df=o(((e,t)=>{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(let n=0;n<t;n++)this.putBit((e>>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),ff=o(((e,t)=>{function n(e){if(!e||e<1)throw Error(`BitMatrix size must be defined and greater than 0`);this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}n.prototype.set=function(e,t,n,r){let i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},n.prototype.get=function(e,t){return this.data[e*this.size+t]},n.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},n.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},t.exports=n})),pf=o((e=>{var t=lf().getSymbolSize;e.getRowColCoords=function(e){if(e===1)return[];let n=Math.floor(e/7)+2,r=t(e),i=r===145?26:Math.ceil((r-13)/(2*n-2))*2,a=[r-7];for(let e=1;e<n-1;e++)a[e]=a[e-1]-i;return a.push(6),a.reverse()},e.getPositions=function(t){let n=[],r=e.getRowColCoords(t),i=r.length;for(let e=0;e<i;e++)for(let t=0;t<i;t++)e===0&&t===0||e===0&&t===i-1||e===i-1&&t===0||n.push([r[e],r[t]]);return n}})),mf=o((e=>{var t=lf().getSymbolSize,n=7;e.getPositions=function(e){let r=t(e);return[[0,0],[r-n,0],[0,r-n]]}})),hf=o((e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(e){return e!=null&&e!==``&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){let n=e.size,r=0,i=0,a=0,o=null,s=null;for(let c=0;c<n;c++){i=a=0,o=s=null;for(let l=0;l<n;l++){let n=e.get(c,l);n===o?i++:(i>=5&&(r+=t.N1+(i-5)),o=n,i=1),n=e.get(l,c),n===s?a++:(a>=5&&(r+=t.N1+(a-5)),s=n,a=1)}i>=5&&(r+=t.N1+(i-5)),a>=5&&(r+=t.N1+(a-5))}return r},e.getPenaltyN2=function(e){let n=e.size,r=0;for(let t=0;t<n-1;t++)for(let i=0;i<n-1;i++){let n=e.get(t,i)+e.get(t,i+1)+e.get(t+1,i)+e.get(t+1,i+1);(n===4||n===0)&&r++}return r*t.N2},e.getPenaltyN3=function(e){let n=e.size,r=0,i=0,a=0;for(let t=0;t<n;t++){i=a=0;for(let o=0;o<n;o++)i=i<<1&2047|e.get(t,o),o>=10&&(i===1488||i===93)&&r++,a=a<<1&2047|e.get(o,t),o>=10&&(a===1488||a===93)&&r++}return r*t.N3},e.getPenaltyN4=function(e){let n=0,r=e.data.length;for(let t=0;t<r;t++)n+=e.data[t];return Math.abs(Math.ceil(n*100/r/5)-10)*t.N4};function n(t,n,r){switch(t){case e.Patterns.PATTERN000:return(n+r)%2==0;case e.Patterns.PATTERN001:return n%2==0;case e.Patterns.PATTERN010:return r%3==0;case e.Patterns.PATTERN011:return(n+r)%3==0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case e.Patterns.PATTERN101:return n*r%2+n*r%3==0;case e.Patterns.PATTERN110:return(n*r%2+n*r%3)%2==0;case e.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw Error(`bad maskPattern:`+t)}}e.applyMask=function(e,t){let r=t.size;for(let i=0;i<r;i++)for(let a=0;a<r;a++)t.isReserved(a,i)||t.xor(a,i,n(e,a,i))},e.getBestMask=function(t,n){let r=Object.keys(e.Patterns).length,i=0,a=1/0;for(let o=0;o<r;o++){n(o),e.applyMask(o,t);let r=e.getPenaltyN1(t)+e.getPenaltyN2(t)+e.getPenaltyN3(t)+e.getPenaltyN4(t);e.applyMask(o,t),r<a&&(a=r,i=o)}return i}})),gf=o((e=>{var t=uf(),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(e,r){switch(r){case t.L:return n[(e-1)*4+0];case t.M:return n[(e-1)*4+1];case t.Q:return n[(e-1)*4+2];case t.H:return n[(e-1)*4+3];default:return}},e.getTotalCodewordsCount=function(e,n){switch(n){case t.L:return r[(e-1)*4+0];case t.M:return r[(e-1)*4+1];case t.Q:return r[(e-1)*4+2];case t.H:return r[(e-1)*4+3];default:return}}})),_f=o((e=>{var t=new Uint8Array(512),n=new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)t[r]=e,n[e]=r,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)t[e]=t[e-255]})(),e.log=function(e){if(e<1)throw Error(`log(`+e+`)`);return n[e]},e.exp=function(e){return t[e]},e.mul=function(e,r){return e===0||r===0?0:t[n[e]+n[r]]}})),vf=o((e=>{var t=_f();e.mul=function(e,n){let r=new Uint8Array(e.length+n.length-1);for(let i=0;i<e.length;i++)for(let a=0;a<n.length;a++)r[i+a]^=t.mul(e[i],n[a]);return r},e.mod=function(e,n){let r=new Uint8Array(e);for(;r.length-n.length>=0;){let e=r[0];for(let i=0;i<n.length;i++)r[i]^=t.mul(n[i],e);let i=0;for(;i<r.length&&r[i]===0;)i++;r=r.slice(i)}return r},e.generateECPolynomial=function(n){let r=new Uint8Array([1]);for(let i=0;i<n;i++)r=e.mul(r,new Uint8Array([1,t.exp(i)]));return r}})),yf=o(((e,t)=>{var n=vf();function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw Error(`Encoder not initialized`);let t=new Uint8Array(e.length+this.degree);t.set(e);let r=n.mod(t,this.genPoly),i=this.degree-r.length;if(i>0){let e=new Uint8Array(this.degree);return e.set(r,i),e}return r},t.exports=r})),bf=o((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),xf=o((e=>{var t=`[0-9]+`,n=`[A-Z $%*+\\-./:]+`,r=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;r=r.replace(/u/g,`\\u`);var i=`(?:(?![A-Z0-9 $%*+\\-./:]|`+r+`)(?:.|[\r
|
|
19
|
-
]))+`;e.KANJI=new RegExp(r,`g`),e.BYTE_KANJI=RegExp(`[^A-Z0-9 $%*+\\-./:]+`,`g`),e.BYTE=new RegExp(i,`g`),e.NUMERIC=new RegExp(t,`g`),e.ALPHANUMERIC=new RegExp(n,`g`);var a=RegExp(`^`+r+`$`),o=RegExp(`^[0-9]+$`),s=RegExp(`^[A-Z0-9 $%*+\\-./:]+$`);e.testKanji=function(e){return a.test(e)},e.testNumeric=function(e){return o.test(e)},e.testAlphanumeric=function(e){return s.test(e)}})),
|
|
20
|
-
Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=i})),
|
|
21
|
-
Suggested mode is: `+t.toString(l));switch(c===t.KANJI&&!s.isKanjiModeEnabled()&&(c=t.BYTE),c){case t.NUMERIC:return new n(e);case t.ALPHANUMERIC:return new r(e);case t.KANJI:return new a(e);case t.BYTE:return new i(e)}}e.fromArray=function(e){return e.reduce(function(e,t){return typeof t==`string`?e.push(g(t,null)):t.data&&e.push(g(t.data,t.mode)),e},[])},e.fromString=function(t,n){let r=h(m(d(t,s.isKanjiModeEnabled())),n),i=c.find_path(r.map,`start`,`end`),a=[];for(let e=1;e<i.length-1;e++)a.push(r.table[i[e]].node);return e.fromArray(p(a))},e.rawSplit=function(t){return e.fromArray(d(t,s.isKanjiModeEnabled()))}})),
|
|
18
|
+
`),a=null,o=!1,s=()=>{a&&r.push({...a,properties:[...a.properties],descriptions:[...a.descriptions],body:zu(a.body)})};for(let e of i){let r=Pu.exec(e);if(r){s(),a={level:r[1].length,title:r[4].trim(),...r[2]?{state:r[2]}:{},...r[3]?{priority:r[3]}:{},properties:[],descriptions:[],body:[]},o=!1;continue}if(!a){let r=Fu.exec(e);r?t.push([r[1].toUpperCase(),r[2].trim()]):n.push(e);continue}if(e===`:PROPERTIES:`){o=!0;continue}if(o&&e===`:END:`){o=!1;continue}if(o){let t=Iu.exec(e);t&&a.properties.push([t[1],t[2].trim()]);continue}let i=Lu.exec(e);i?a.descriptions.push([i[1].trim(),i[2].trim()]):a.body.push(e)}return s(),{metadata:t,preamble:zu(n),sections:r}}function zu(e){let t=[...e];for(;t[0]?.trim()===``;)t.shift();for(;t.at(-1)?.trim()===``;)t.pop();return t}var Bu=q(`<div class="svelte-h7gaqo"><dt class="svelte-h7gaqo"> </dt> <dd class="svelte-h7gaqo"> </dd></div>`),Vu=q(`<dl class="metadata svelte-h7gaqo"></dl>`),Hu=q(`<p class="svelte-h7gaqo"> </p>`),Uu=q(`<p class="svelte-h7gaqo">This Org document has no headings.</p>`),Wu=q(`<h3 class="svelte-h7gaqo"> </h3>`),Gu=q(`<h4 class="svelte-h7gaqo"> </h4>`),Ku=q(`<span> </span>`),qu=q(`<span class="priority svelte-h7gaqo"> </span>`),Ju=q(`<dl class="descriptions svelte-h7gaqo"></dl>`),Yu=q(`<p> </p>`),Xu=q(`<details class="properties svelte-h7gaqo"><summary class="svelte-h7gaqo">Properties</summary> <dl class="svelte-h7gaqo"></dl></details>`),Zu=q(`<section class="org-section svelte-h7gaqo"><div class="section-heading svelte-h7gaqo"><!> <!> <!></div> <!> <!> <!></section>`),Qu=q(`<div class="sections svelte-h7gaqo"></div>`),$u=q(`<article class="org-document svelte-h7gaqo" aria-labelledby="org-document-title"><header class="svelte-h7gaqo"><div><h2 id="org-document-title" class="svelte-h7gaqo"> </h2> <code class="svelte-h7gaqo"> </code></div> <button class="close svelte-h7gaqo" type="button" aria-label="Close plan and return to list">×</button></header> <!> <!> <!></article>`);function ed(e,t){Qe(t,!0);let n=P(()=>Ru(t.preview.source)),r=P(()=>G(n).metadata.filter(([e])=>e!==`TITLE`));var i=$u(),a=z(i),o=z(a),s=z(o),c=z(s,!0);N(s);var l=V(s,2),u=z(l,!0);N(l),N(o);var d=V(o,2);N(a);var f=V(a,2),p=e=>{var t=Vu();Z(t,21,()=>G(r),([e,t])=>`${e}:${t}`,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Bu(),o=z(a),s=z(o,!0);N(o);var c=V(o,2),l=z(c,!0);N(c),N(a),H(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),N(t),J(e,t)};X(f,e=>{G(r).length&&e(p)});var m=V(f,2);Z(m,19,()=>G(n).preamble,(e,t)=>`preamble:${t}:${e}`,(e,t)=>{var n=Vr(),r=B(n),i=e=>{var n=Hu(),r=z(n,!0);N(n),H(()=>Y(r,G(t))),J(e,n)},a=P(()=>G(t).trim());X(r,e=>{G(a)&&e(i)}),J(e,n)});var h=V(m,2),g=e=>{J(e,Uu())},_=e=>{var t=Qu();Z(t,23,()=>G(n).sections,(e,t)=>`${t}:${e.level}:${e.title}`,(e,t)=>{var n=Zu();let r;var i=z(n),a=z(i),o=e=>{var n=Wu(),r=z(n,!0);N(n),H(()=>Y(r,G(t).title)),J(e,n)},s=e=>{var n=Gu(),r=z(n,!0);N(n),H(()=>Y(r,G(t).title)),J(e,n)};X(a,e=>{G(t).level===1?e(o):e(s,-1)});var c=V(a,2),l=e=>{var n=Ku(),r=z(n,!0);N(n),H(e=>{hi(n,1,e,`svelte-h7gaqo`),Y(r,G(t).state)},[()=>`state state-${G(t).state.toLowerCase()}`]),J(e,n)};X(c,e=>{G(t).state&&e(l)});var u=V(c,2),d=e=>{var n=qu(),r=z(n);N(n),H(()=>Y(r,`Priority ${G(t).priority??``}`)),J(e,n)};X(u,e=>{G(t).priority&&e(d)}),N(i);var f=V(i,2),p=e=>{var n=Ju();Z(n,21,()=>G(t).descriptions,([e,t])=>`${e}:${t}`,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Bu(),o=z(a),s=z(o,!0);N(o);var c=V(o,2),l=z(c,!0);N(c),N(a),H(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),N(n),J(e,n)};X(f,e=>{G(t).descriptions.length&&e(p)});var m=V(f,2);Z(m,19,()=>G(t).body,(e,t)=>`${t}:${e}`,(e,t)=>{var n=Vr(),r=B(n),i=e=>{var n=Yu();let r;var i=z(n,!0);N(n),H(e=>{r=hi(n,1,`svelte-h7gaqo`,null,r,e),Y(i,G(t))},[()=>({"list-item":G(t).trimStart().startsWith(`- `)})]),J(e,n)},a=P(()=>G(t).trim());X(r,e=>{G(a)&&e(i)}),J(e,n)});var h=V(m,2),g=e=>{var n=Xu(),r=V(z(n),2);Z(r,21,()=>G(t).properties,([e,t])=>`${e}:${t}`,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Bu(),o=z(a),s=z(o,!0);N(o);var c=V(o,2),l=z(c,!0);N(c),N(a),H(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),N(r),N(n),J(e,n)};X(h,e=>{G(t).properties.length&&e(g)}),N(n),H(e=>r=_i(n,``,r,e),[()=>({"--org-depth":Math.max(0,G(t).level-1)})]),J(e,n)}),N(t),J(e,t)};X(h,e=>{G(n).sections.length===0?e(g):e(_,-1)}),N(i),H(()=>{Y(c,t.preview.title),Y(u,t.preview.planName)}),K(`click`,d,function(...e){t.onclose?.apply(this,e)}),J(e,i),$e()}Nr([`click`]);var td=q(`<p>Select a workspace to browse its local plans.</p>`),nd=q(`<p>Loading workspace plans…</p>`),rd=q(`<p> </p>`),id=q(`<p>No Org files were found below this workspace.</p>`),ad=q(`<span> </span>`),od=q(`<span> </span> <!>`,1),sd=q(`<span>Org document</span>`),cd=q(`<li><button class="svelte-x2ko9l"><strong> </strong> <code class="svelte-x2ko9l"> </code> <!></button></li>`),ld=q(`<p class="scope svelte-x2ko9l">Org files below the selected workspace.</p> <ul class="svelte-x2ko9l"></ul>`,1),ud=q(`<section class="plans svelte-x2ko9l" aria-labelledby="plans-title"><h2 id="plans-title" tabindex="-1" class="svelte-x2ko9l">Plans</h2> <!></section>`);function dd(e,t){Qe(t,!0);let n=I(null),r=R({}),i=I(null),a=!1,o=!1;function s(){t.onclose()}function c(e){L(i,e,!0),t.onopen(e)}Mn(()=>{if(t.state){a=!0;return}if(a&&(a=!1,o=!0),!o)return;let e=t.catalog.kind,s=G(i);queueMicrotask(()=>{let t=s?r[s]:void 0;t?.isConnected?(t.focus(),o=!1):e!==`loading`&&(G(n)?.focus(),o=!1)})});var l=Vr(),u=B(l),d=e=>{ed(e,{get preview(){return t.state},onclose:s})},f=e=>{Nu(e,{get state(){return t.state},onclose:s})},p=e=>{var i=ud(),a=z(i);Ii(a,e=>L(n,e),()=>G(n));var o=V(a,2),s=e=>{J(e,td())},l=e=>{J(e,nd())},u=e=>{var n=rd(),r=z(n,!0);N(n),H(()=>Y(r,t.catalog.error)),J(e,n)},d=e=>{J(e,id())},f=e=>{var n=ld(),i=V(B(n),2);Z(i,21,()=>t.catalog.entries,e=>e.planName,(e,t)=>{var n=cd(),i=z(n),a=z(i),o=z(a,!0);N(a);var s=V(a,2),l=z(s,!0);N(s);var u=V(s,2),d=e=>{var n=od(),r=B(n),i=z(r);N(r);var a=V(r,2),o=e=>{var n=ad(),r=z(n,!0);N(n),H(()=>Y(r,G(t).subtitle)),J(e,n)};X(a,e=>{G(t).subtitle&&e(o)}),H(()=>Y(i,`${G(t).doneSteps??``} / ${G(t).totalSteps??``} complete`)),J(e,n)},f=e=>{J(e,sd())};X(u,e=>{G(t).previewAvailable===!1?e(f,-1):e(d)}),N(i),Ii(i,(e,t)=>r[t.planName]=e,e=>r?.[e.planName],()=>[G(t)]),N(n),H(()=>{Y(o,G(t).title),Y(l,G(t).planName)}),K(`click`,i,()=>c(G(t).planName)),J(e,n)}),N(i),J(e,n)};X(o,e=>{t.catalog.kind===`no-workspace`?e(s):t.catalog.kind===`loading`?e(l,1):t.catalog.kind===`error`?e(u,2):t.catalog.entries.length===0?e(d,3):e(f,-1)}),N(i),J(e,i)};X(u,e=>{t.state?.kind===`org-source`?e(d):t.state?e(f,1):e(p,-1)}),J(e,l),$e()}Nr([`click`]);var fd=`settings`,pd=`drafts`,md=`cursors`,hd=`selected-session`;function gd(e=globalThis.indexedDB){if(!e)return _d;let t=cc(e);return{async readSelectedSession(){try{return await lc(await t,fd,hd)??null}catch{return null}},async saveSelectedSession(e){try{let n=await t;e?await uc(n,fd,hd,e):await dc(n,fd,hd)}catch{}},async readDraft(e){try{return await lc(await t,pd,e)??``}catch{return``}},async saveDraft(e,n){try{await uc(await t,pd,e,n)}catch{}},async readCursor(e){try{let n=await lc(await t,md,e);return typeof n==`number`&&Number.isSafeInteger(n)&&n>=0?n:0}catch{return 0}},async saveCursor(e,n){try{await uc(await t,md,e,n)}catch{}}}}var _d={readSelectedSession:async()=>null,saveSelectedSession:async()=>{},readDraft:async()=>``,saveDraft:async()=>{},readCursor:async()=>0,saveCursor:async()=>{}};function vd(e,t=Date.now()){if(e===null)return`Unknown activity time`;let n=Math.max(0,t-e),r=Math.floor(n/(3600*1e3));if(r<1)return`Less than an hour ago`;if(r<24)return`${r} hour${r===1?``:`s`} ago`;let i=Math.floor(r/24);return`${i} day${i===1?``:`s`} ago`}function yd(e){let t=e.updatedAt?Date.parse(e.updatedAt):NaN;return{threadId:e.threadId??null,workspacePath:e.workspacePath??`Workspace unavailable`,updatedAt:Number.isFinite(t)?t:null}}function bd(e,t){if(!t?.threadId||!t.workspacePath||!t.resumeCommand||e.some(e=>e.id===t.threadId))return e;let n=t.updatedAt?Date.parse(t.updatedAt)/1e3:NaN,r={id:t.threadId,cwd:t.workspacePath,recencyAt:Number.isFinite(n)?n:null,resumeCommand:t.resumeCommand,...t.model===void 0?{}:{model:t.model},...t.effectiveSkillSelection?.selectedProfileName===void 0?{}:{skillProfile:t.effectiveSkillSelection.selectedProfileName},...t.lastOrgPlan===void 0?{}:{orgPlanFilename:t.lastOrgPlan.filename}};return[...e,r].sort((e,t)=>(t.recencyAt??-1/0)-(e.recencyAt??-1/0))}function xd(e){let t=/^\/home\/[^/]+/.exec(e)?.[0];if(!t)return e;let n=e.slice(t.length);return n?`~${n}`:`~/`}var Sd=q(`<time> </time>`),Cd=q(`<div> </div>`),wd=q(`<span class="profile-badge svelte-hxb22h"> </span>`),Td=q(`<span class="org-plan-metadata svelte-hxb22h"><span class="org-plan-title svelte-hxb22h"> </span> <span class="org-plan-filename svelte-hxb22h"> </span></span>`),Ed=q(`<div class="session-plan-progress svelte-hxb22h"><!></div>`),Dd=q(`<li><div class="session-actions svelte-hxb22h" aria-label="Session actions"><!> <!> <!> <!> <!></div> <div class="session-details svelte-hxb22h"><div class="session-summary"><!> <div class="workspace-path svelte-hxb22h"> </div> <!> <!> <!> <!></div> <!> <!></div> <!></li>`),Od=q(`<section aria-labelledby="open-sessions-title"><h3 id="open-sessions-title">Open sessions</h3> <ul class="session-list svelte-hxb22h" aria-label="Open sessions"></ul></section>`),kd=q(`<li class="managed-session svelte-hxb22h"><div class="session-actions svelte-hxb22h"><!> <!> <!></div> <div class="session-details svelte-hxb22h"><!> <div class="workspace-path svelte-hxb22h"> </div> <!> <!> <!></div></li>`),Ad=q(`<ul class="session-list svelte-hxb22h" aria-label="Saved sessions"></ul>`),jd=q(`<p>No saved sessions yet.</p>`),Md=q(`<option> </option>`),Nd=q(`<p class="skills-profile-error svelte-hxb22h" role="alert"> </p>`),Pd=q(`<li class="recent-session svelte-hxb22h"><div class="session-details svelte-hxb22h"><!> <div class="workspace-path svelte-hxb22h"> </div> <!> <!> <!></div> <div class="session-actions svelte-hxb22h"><!> <!></div></li>`),Fd=q(`<ul class="session-list recent-session-list svelte-hxb22h" aria-label="Recent sessions"></ul>`),Id=q(`<p>No other recent Codex sessions found.</p>`),Ld=q(`<section aria-labelledby="sessions-title"><h2 id="sessions-title" class="visually-hidden">Sessions</h2> <!> <!> <form><section class="session-base svelte-hxb22h" aria-labelledby="session-base-title"><div class="session-base-heading svelte-hxb22h"><h3 id="session-base-title" class="svelte-hxb22h">Session base</h3> <p class="svelte-hxb22h">Select the folder or repository Codex should use as its working directory.</p></div> <!></section> <section class="session-settings svelte-hxb22h" aria-label="New session settings"><div class="session-setting-labels svelte-hxb22h"><label for="skills-profile" class="svelte-hxb22h">Skills profile</label> <label for="sandbox" class="svelte-hxb22h">Sandbox</label> <label for="approval-policy" class="svelte-hxb22h">Approval policy</label></div> <div class="session-setting-controls svelte-hxb22h"><select id="skills-profile" class="svelte-hxb22h"><option>Default</option><!></select> <select id="sandbox" class="svelte-hxb22h"><option>workspace-write</option><option>read-only</option><option>danger-full-access</option></select> <select id="approval-policy" aria-describedby="approval-policy-help" class="svelte-hxb22h"><option>Ask on all commands</option><option>Ask out of workspace</option><option>Approve everything</option></select></div> <p id="approval-policy-help">This controls when Codex asks; it does not expand the sandbox's technical permissions.</p> <!> <div class="session-secondary-actions svelte-hxb22h"><!> <div class="model-control svelte-hxb22h"><label for="model">Model</label> <select id="model"></select></div> <!></div></section></form> <section aria-labelledby="recent-sessions-title"><h3 id="recent-sessions-title">Recent sessions</h3> <!></section></section>`);function Rd(e,t){Qe(t,!0);let n=$(t,`activitySnapshots`,19,()=>new Map),r=$(t,`autopilotSnapshots`,19,()=>new Map),i=$(t,`autopilotPending`,19,()=>new Set),a=$(t,`autopilotAttention`,19,()=>new Map),o=$(t,`models`,19,()=>[]),s=$(t,`selectedModel`,3,``),c=$(t,`onmodelchange`,3,()=>{}),l=$(t,`onautopilottoggle`,3,()=>{}),u=$(t,`onautopilotresolve`,3,()=>{}),d=P(()=>t.sessions.filter(e=>e.state===`ready`||e.state===`turnActive`)),f=P(()=>t.sessions.filter(e=>e.state!==`ready`&&e.state!==`turnActive`)),p=P(()=>t.recentSessions.filter(e=>!G(d).some(t=>t.threadId===e.id))),m=P(()=>yl(t.workspaceTree,t.workspaceId));var h=Ld(),g=V(z(h),2),_=e=>{var s=Od(),c=V(z(s),2);Z(c,21,()=>G(d),e=>e.id,(e,s)=>{let c=P(()=>yd(G(s)));var d=Dd();let f;var p=z(d),m=z(p);{let e=P(()=>G(s).id===t.selectedSessionId?`page`:void 0);ga(m,{compact:!0,full:!0,get current(){return G(e)},onclick:()=>t.onselectopen(G(s).id),children:(e,t)=>{He(),J(e,Br(`Open`))},$$slots:{default:!0}})}var h=V(m,2),g=e=>{ga(e,{compact:!0,full:!0,onclick:()=>t.oncopyresume(G(s).resumeCommand),children:(e,t)=>{He(),J(e,Br(`Copy`))},$$slots:{default:!0}})};X(h,e=>{G(s).resumeCommand&&e(g)});var _=V(h,2);{let e=P(()=>r().get(G(s).id)??G(s).autopilot??null),t=P(()=>`session-autopilot-${G(s).id}`),n=P(()=>i().has(G(s).id));Ka(_,{compact:!0,indicatorOnly:!0,get autopilot(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},ontoggle:e=>l()(G(s).id,e)})}var v=V(_,2);{let e=P(()=>n().get(G(s).id)??G(s).agentActivity??null),t=P(()=>G(s).model??o()?.[0]);Aa(v,{compact:!0,get activity(){return G(e)},popupAlign:`start`,get rootModel(){return G(t)}})}ga(V(v,2),{compact:!0,full:!0,onclick:()=>t.onclose(G(s).id),children:(e,t)=>{He(),J(e,Br(`Close`))},$$slots:{default:!0}}),N(p);var y=V(p,2),b=z(y),x=z(b),S=e=>{var t=Sd(),n=z(t,!0);N(t),H((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(c).updatedAt).toISOString(),()=>vd(G(c).updatedAt)]),J(e,t)},C=e=>{var t=Cd(),n=z(t,!0);N(t),H(e=>Y(n,e),[()=>vd(null)]),J(e,t)};X(x,e=>{G(c).updatedAt===null?e(C,-1):e(S)});var w=V(x,2),T=z(w,!0);N(w);var E=V(w,2),D=e=>{var t=wd(),n=z(t);N(t),H(()=>Y(n,`Model: ${G(s).model??``}`)),J(e,t)};X(E,e=>{G(s).model&&e(D)});var ee=V(E,2),O=e=>{var t=wd(),n=z(t);N(t),H(()=>Y(n,`Branch: ${G(s).branch??``}`)),J(e,t)};X(ee,e=>{G(s).branch&&e(O)});var te=V(ee,2),ne=e=>{var t=wd(),n=z(t);N(t),H(()=>Y(n,`Skills profile: ${G(s).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(te,e=>{G(s).effectiveSkillSelection?.selectedProfileName&&e(ne)});var re=V(te,2),ie=e=>{var t=Td(),n=z(t),r=z(n,!0);N(n);var i=V(n,2),a=z(i,!0);N(i),N(t),H(()=>{Y(r,G(s).lastOrgPlan.title),Y(a,G(s).lastOrgPlan.filename)}),J(e,t)};X(re,e=>{G(s).lastOrgPlan&&e(ie)}),N(b);var k=V(b,2);{let e=P(()=>a().get(G(s).id)??null),t=P(()=>`session-attention-${G(s).id}`),n=P(()=>i().has(G(s).id));Ja(k,{get attention(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},onresolve:(e,t)=>u()(G(s).id,e,t)})}var ae=V(k,2);{let e=P(()=>r().get(G(s).id)??G(s).autopilot??null),t=P(()=>a().get(G(s).id)??null),n=P(()=>`session-autopilot-safety-${G(s).id}`),o=P(()=>i().has(G(s).id));Xa(ae,{get autopilot(){return G(e)},get attention(){return G(t)},get controlId(){return G(n)},get pending(){return G(o)},onrecover:()=>l()(G(s).id,!0),ondisable:()=>l()(G(s).id,!1)})}N(y);var oe=V(y,2),se=e=>{var t=Ed(),n=z(t);{let e=P(()=>`Plan progress for ${G(s).plan.title}`);hu(n,{compact:!0,get plan(){return G(s).plan},get label(){return G(e)}})}N(t),J(e,t)};X(oe,e=>{G(s).plan&&e(se)}),N(d),H(e=>{f=hi(d,1,`managed-session open-session svelte-hxb22h`,null,f,{"current-session":G(s).id===t.selectedSessionId}),Y(T,e)},[()=>xd(G(c).workspacePath)]),J(e,d)}),N(c),N(s),J(e,s)};X(g,e=>{G(d).length&&e(_)});var v=V(g,2),y=e=>{var n=Ad();Z(n,21,()=>G(f),e=>e.id,(e,n)=>{let r=P(()=>yd(G(n)));var i=kd(),a=z(i),o=z(a);{let e=P(()=>t.openingSessionId===G(n).id);ga(o,{compact:!0,full:!0,get disabled(){return G(e)},onclick:()=>t.onopen(G(n).id),children:(e,r)=>{He();var i=Br();H(()=>Y(i,t.openingSessionId===G(n).id?`Opening…`:`Open`)),J(e,i)},$$slots:{default:!0}})}var s=V(o,2),c=e=>{ga(e,{compact:!0,full:!0,onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{He(),J(e,Br(`Copy`))},$$slots:{default:!0}})};X(s,e=>{G(n).resumeCommand&&e(c)}),ga(V(s,2),{compact:!0,full:!0,onclick:()=>t.onforget(G(n).id),children:(e,t)=>{He(),J(e,Br(`Forget`))},$$slots:{default:!0}}),N(a);var l=V(a,2),u=z(l),d=e=>{var t=Sd(),n=z(t,!0);N(t),H((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(r).updatedAt).toISOString(),()=>vd(G(r).updatedAt)]),J(e,t)},f=e=>{var t=Cd(),n=z(t,!0);N(t),H(e=>Y(n,e),[()=>vd(null)]),J(e,t)};X(u,e=>{G(r).updatedAt===null?e(f,-1):e(d)});var p=V(u,2),m=z(p,!0);N(p);var h=V(p,2),g=e=>{var t=wd(),r=z(t);N(t),H(()=>Y(r,`Model: ${G(n).model??``}`)),J(e,t)};X(h,e=>{G(n).model&&e(g)});var _=V(h,2),v=e=>{var t=wd(),r=z(t);N(t),H(()=>Y(r,`Branch: ${G(n).branch??``}`)),J(e,t)};X(_,e=>{G(n).branch&&e(v)});var y=V(_,2),b=e=>{var t=wd(),r=z(t);N(t),H(()=>Y(r,`Skills profile: ${G(n).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(y,e=>{G(n).effectiveSkillSelection?.selectedProfileName&&e(b)}),N(l),N(i),H(e=>Y(m,e),[()=>xd(G(r).workspacePath)]),J(e,i)}),N(n),J(e,n)},b=e=>{J(e,jd())};X(v,e=>{G(f).length?e(y):G(d).length||e(b,1)});var x=V(v,2),S=z(x),C=V(z(S),2);{let e=P(()=>G(m)?.id??null);Dl(C,{get roots(){return t.workspaceTree},get expandedIds(){return t.expandedIds},get selectedId(){return G(e)},get isSelectable(){return ml.sessionBase},label:`Session base`,get onexpandedchange(){return t.onexpandedchange},onselect:e=>t.onworkspacechange(e.id)})}N(S);var w=V(S,2),T=V(z(w),2),E=z(T),D=z(E);D.value=D.__value=``,Z(V(D),17,()=>t.skillProfiles,e=>e.name,(e,t)=>{var n=Md(),r=z(n,!0);N(n);var i={};H(()=>{Y(r,G(t).name),i!==(i=G(t).name)&&(n.value=(n.__value=G(t).name)??``)}),J(e,n)}),N(E);var ee;yi(E);var O=V(E,2),te=z(O);te.value=te.__value=`workspace-write`;var ne=V(te);ne.value=ne.__value=`read-only`;var re=V(ne);re.value=re.__value=`danger-full-access`,N(O);var ie;yi(O);var k=V(O,2),ae=z(k);ae.value=ae.__value=`untrusted`;var oe=V(ae);oe.value=oe.__value=`on-request`;var se=V(oe);se.value=se.__value=`never`,N(k);var ce;yi(k),N(T);var le=V(T,4),ue=e=>{var n=Nd(),r=z(n,!0);N(n),H(()=>Y(r,t.skillProfileError)),J(e,n)};X(le,e=>{t.skillProfileError&&e(ue)});var de=V(le,2),fe=z(de);ga(fe,{id:`manage-skill-profiles`,onclick:e=>t.onmanageprofiles(e.currentTarget),children:(e,t)=>{He(),J(e,Br(`Manage skill profiles`))},$$slots:{default:!0}});var pe=V(fe,2),me=V(z(pe),2);Z(me,20,o,e=>e,(e,t)=>{var n=Md(),r=z(n,!0);N(n);var i={};H(()=>{Y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),J(e,n)}),N(me);var he;yi(me),N(pe);var ge=V(pe,2);{let e=P(()=>!G(m)||t.startingSession);ga(ge,{class:`new-session-button`,type:`submit`,primary:!0,get disabled(){return G(e)},children:(e,n)=>{He();var r=Br();H(()=>Y(r,t.startingSession?`Creating…`:`Create session`)),J(e,r)},$$slots:{default:!0}})}N(de),N(w),N(x);var _e=V(x,2),ve=V(z(_e),2),ye=e=>{var n=Fd();Z(n,21,()=>G(p),e=>e.id,(e,n)=>{var r=Pd(),i=z(r),a=z(i),o=e=>{var t=Sd(),r=z(t,!0);N(t),H((e,n)=>{Q(t,`datetime`,e),Y(r,n)},[()=>new Date(G(n).recencyAt*1e3).toISOString(),()=>vd(G(n).recencyAt*1e3)]),J(e,t)},s=e=>{var t=Cd(),n=z(t,!0);N(t),H(e=>Y(n,e),[()=>vd(null)]),J(e,t)};X(a,e=>{G(n).recencyAt===null?e(s,-1):e(o)});var c=V(a,2),l=z(c,!0);N(c);var u=V(c,2),d=e=>{var t=wd(),r=z(t);N(t),H(()=>Y(r,`Model: ${G(n).model??``}`)),J(e,t)};X(u,e=>{G(n).model&&e(d)});var f=V(u,2),p=e=>{var t=wd(),r=z(t);N(t),H(()=>Y(r,`Skills profile: ${G(n).skillProfile??``}`)),J(e,t)};X(f,e=>{G(n).skillProfile&&e(p)});var m=V(f,2),h=e=>{var t=wd(),r=z(t);N(t),H(()=>Y(r,`Org plan: ${G(n).orgPlanFilename??``}`)),J(e,t)};X(m,e=>{G(n).orgPlanFilename&&e(h)}),N(i);var g=V(i,2),_=z(g);ga(_,{onclick:()=>t.onopenrecent(G(n)),children:(e,t)=>{He(),J(e,Br(`Open`))},$$slots:{default:!0}}),ga(V(_,2),{onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{He(),J(e,Br(`Copy`))},$$slots:{default:!0}}),N(g),N(r),H(e=>Y(l,e),[()=>xd(G(n).cwd)]),J(e,r)}),N(n),J(e,n)},be=e=>{J(e,Id())};X(ve,e=>{G(p).length?e(ye):e(be,-1)}),N(_e),N(h),H(()=>{ee!==(ee=t.selectedSkillProfile)&&(E.value=(E.__value=t.selectedSkillProfile)??``,vi(E,t.selectedSkillProfile)),ie!==(ie=t.sandbox)&&(O.value=(O.__value=t.sandbox)??``,vi(O,t.sandbox)),ce!==(ce=t.approvalPolicy)&&(k.value=(k.__value=t.approvalPolicy)??``,vi(k,t.approvalPolicy)),me.disabled=o().length===0,he!==(he=s())&&(me.value=(me.__value=s())??``,vi(me,s()))}),Mr(`submit`,x,e=>{e.preventDefault(),t.onstart()}),K(`change`,E,e=>t.onskillprofilechange(e.currentTarget.value)),K(`change`,O,e=>t.onsandboxchange(e.currentTarget.value)),K(`change`,k,e=>t.onapprovalpolicychange(e.currentTarget.value)),K(`change`,me,e=>c()(e.currentTarget.value)),J(e,h),$e()}Nr([`change`]);function zd(e){let t={};return e.workspaceId||(t.workspaceId=`Choose a workspace.`),e.profile||(t.profile=`Choose a profile.`),e.profile&&e.profileState&&e.profileState!==`ok`&&(t.profile=`Sign in to this profile before starting Codex.`),t}var Bd=class{transport;key;onChange;#e={starting:!1,error:null};#t=0;#n=!1;#r=null;constructor(e,t,n){this.transport=e,this.key=t,this.onChange=n}get state(){return this.#e}async start(e,t){if(this.#n||this.#e.starting||!e)return null;let n=++this.#t;this.#a({starting:!0,error:null});let r=this.#r??=this.key();try{let i=await this.transport.start(e,t,r);return this.#i(n)&&(this.#r=null),this.#i(n)?i:null}catch(e){return this.#i(n)&&this.#a({starting:!1,error:e instanceof Error?e.message:`Could not start session.`}),null}finally{this.#i(n)&&this.#a({...this.#e,starting:!1})}}dispose(){this.#n=!0,++this.#t}#i(e){return!this.#n&&e===this.#t}#a(e){this.#n||(this.#e=e,this.onChange(e))}};function Vd({chatEnabled:e}){return[`sessions`,`git`,...e?[`chat`]:[],`plan`]}function Hd(e,t,n={chatEnabled:!0}){let r=Vd(n);return r[(r.indexOf(e)+t+r.length)%r.length]}var Ud=q(`<nav class="bottom-navigation" aria-label="Primary"><button>Sessions</button> <button>Git</button> <button>Chat</button> <button>Plan</button></nav>`);function Wd(e,t){Qe(t,!0);let n=$(t,`focusTab`,3,null),r=R({});Mn(()=>{n()&&r[n()]?.focus()});function i(e){let n=e.key===`ArrowRight`?1:e.key===`ArrowLeft`?-1:null;if(n===null)return;e.preventDefault();let i=Hd(t.activeTab,n,{chatEnabled:t.chatEnabled});t.onselect(i),r[i]?.focus()}var a=Ud(),o=z(a);Ii(o,e=>r.sessions=e,()=>r?.sessions);var s=V(o,2);Ii(s,e=>r.git=e,()=>r?.git);var c=V(s,2);Ii(c,e=>r.chat=e,()=>r?.chat);var l=V(c,2);Ii(l,e=>r.plan=e,()=>r?.plan),N(a),H(()=>{Q(o,`aria-pressed`,t.activeTab===`sessions`),Q(s,`aria-pressed`,t.activeTab===`git`),Q(c,`aria-pressed`,t.activeTab===`chat`),c.disabled=!t.chatEnabled,Q(l,`aria-pressed`,t.activeTab===`plan`)}),K(`keydown`,o,i),K(`click`,o,()=>t.onselect(`sessions`)),K(`keydown`,s,i),K(`click`,s,()=>t.onselect(`git`)),K(`keydown`,c,i),K(`click`,c,()=>t.onselect(`chat`)),K(`keydown`,l,i),K(`click`,l,()=>t.onselect(`plan`)),J(e,a),$e()}Nr([`keydown`,`click`]);var Gd=q(`<option> </option>`),Kd=q(`<p id="skills-status" aria-live="polite">Loading skills…</p>`),qd=q(`<p id="skills-status">No skills were discovered for this workspace and Codex profile.</p>`),Jd=q(`<p id="skills-status" class="notice svelte-dg6sjj" role="status"> </p>`),Yd=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert"> </p>`),Xd=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert" tabindex="-1"> </p>`),Zd=q(`<p id="skills-status" role="status">Profile saved.</p>`),Qd=q(`<p id="skills-status" role="status">Profile deleted.</p>`),$d=q(`<p class="svelte-dg6sjj"> </p>`),ef=q(`<li> </li>`),tf=q(`<dt class="svelte-dg6sjj">Tool dependencies</dt> <dd class="svelte-dg6sjj"><ul class="svelte-dg6sjj"></ul></dd>`,1),nf=q(`<li class="skill-card svelte-dg6sjj"><label class="skill-toggle svelte-dg6sjj"><input type="checkbox" class="svelte-dg6sjj"/> <span class="svelte-dg6sjj"> </span> <span class="state svelte-dg6sjj"> </span></label> <div class="skill-details svelte-dg6sjj"><!> <!> <dl class="svelte-dg6sjj"><dt class="svelte-dg6sjj">Path</dt> <dd class="path svelte-dg6sjj"> </dd> <!></dl></div></li>`),rf=q(`<div class="skills-toolbar svelte-dg6sjj"><button type="button" class="refresh-skills svelte-dg6sjj" aria-label="Refresh skills"><span aria-hidden="true" class="svelte-dg6sjj">↻</span><span class="svelte-dg6sjj">Refresh</span></button> <p class="summary svelte-dg6sjj"> </p></div> <ul class="skill-list svelte-dg6sjj"></ul>`,1),af=q(`<section class="skills-view svelte-dg6sjj" aria-labelledby="skills-title"><h2 id="skills-title"> </h2> <p class="intro svelte-dg6sjj">Create or edit a complete skills selection.</p> <form aria-describedby="skills-status" class="svelte-dg6sjj"><div class="field-grid svelte-dg6sjj"><label for="skills-existing-profile" class="svelte-dg6sjj">Skill profile</label> <select id="skills-existing-profile" class="svelte-dg6sjj"><option>New profile</option><option>Default</option><!></select> <label for="skills-save-as" class="svelte-dg6sjj">Save as</label> <input id="skills-save-as" name="save-as" autocomplete="off" class="svelte-dg6sjj"/></div> <p class="save-intent svelte-dg6sjj" aria-live="polite"> </p> <div class="profile-actions svelte-dg6sjj"><button type="button" class="svelte-dg6sjj">Delete profile</button> <button type="submit" class="svelte-dg6sjj"> </button></div></form> <dialog aria-labelledby="delete-profile-title" class="svelte-dg6sjj"><h3 id="delete-profile-title">Delete skill profile?</h3> <p> </p> <div class="dialog-actions svelte-dg6sjj"><button type="button" class="svelte-dg6sjj">Cancel</button> <button type="button" class="svelte-dg6sjj">Delete profile</button></div></dialog> <!> <!></section>`);function of(e,t){Qe(t,!0);let n=$(t,`skillsState`,7),r=$(t,`heading`,3,`Manage skill profiles`),i=I(0),a=I(null),o=I(null),s=I(null),c=I(null),l=I(`__new__`),u=P(()=>(G(i),n())),d=P(()=>G(u).profiles.filter(e=>!(`error`in e)));function f(){n(Object.assign(Object.create(Object.getPrototypeOf(n())),n())),L(i,G(i)+1)}async function p(){await t.onrefresh(),f()}function m(e){L(l,e.currentTarget.value,!0),G(l)===`__new__`||G(l)===`__default__`?G(u).selectDefaultProfile():G(u).selectProfile(G(l)),f()}async function h(e){e.preventDefault(),await G(u).save(),f(),G(u).status.kind===`saved`&&(L(l,G(u).selectedProfileName,!0),t.onprofileschange()),G(u).status.kind===`save-failed`&&(await Sr(),G(a)?.focus())}function g(){G(c)?.showModal()}async function _(){G(c)?.close(),await G(u).deleteSelectedProfile(),f(),G(u).status.kind===`deleted`&&(L(l,`__new__`),t.onprofileschange()),await Sr(),G(o)?.focus()}async function v(){G(c)?.close(),await Sr(),G(s)?.focus()}function y(e){return e&&/^#[0-9a-f]{3,8}$/i.test(e)?e:void 0}function b(e){return e.replace(/^\/(?:home|Users)\/[^/]+(?=\/|$)/,`~`)}function x(e){let t=e.currentTarget.closest(`.skill-card`);requestAnimationFrame(()=>t?.scrollIntoView({block:`nearest`,inline:`nearest`}))}var S=af(),C=z(S),w=z(C,!0);N(C);var T=V(C,4),E=z(T),D=V(z(E),2),ee=z(D);ee.value=ee.__value=`__new__`;var O=V(ee);O.value=O.__value=`__default__`,Z(V(O),17,()=>G(d),e=>e.name,(e,t)=>{var n=Gd(),r=z(n,!0);N(n);var i={};H(()=>{Y(r,G(t).name),i!==(i=G(t).name)&&(n.value=(n.__value=G(t).name)??``)}),J(e,n)}),N(D),Ii(D,e=>L(o,e),()=>G(o));var te=V(D,4);Ei(te),N(E);var ne=V(E,2),re=z(ne,!0);N(ne);var ie=V(ne,2),k=z(ie);Ii(k,e=>L(s,e),()=>G(s));var ae=V(k,2),oe=z(ae,!0);N(ae),N(ie),N(T);var se=V(T,2),ce=V(z(se),2),le=z(ce);N(ce);var ue=V(ce,2),de=z(ue),fe=V(de,2);N(ue),N(se),Ii(se,e=>L(c,e),()=>G(c));var pe=V(se,2),me=e=>{J(e,Kd())},he=e=>{J(e,qd())},ge=e=>{var t=Jd(),n=z(t);N(t),H(()=>Y(n,`Discovery warning: ${G(u).status.message??``}`)),J(e,t)},_e=e=>{var t=Yd(),n=z(t,!0);N(t),H(()=>Y(n,G(u).status.message)),J(e,t)},ve=e=>{var t=Xd(),n=z(t,!0);N(t),Ii(t,e=>L(a,e),()=>G(a)),H(()=>Y(n,G(u).status.message)),J(e,t)},ye=e=>{J(e,Zd())},be=e=>{J(e,Qd())},xe=e=>{var t=Yd(),n=z(t,!0);N(t),H(()=>Y(n,G(u).status.message)),J(e,t)};X(pe,e=>{G(u).status.kind===`loading`?e(me):G(u).status.kind===`empty`?e(he,1):G(u).status.kind===`warning`?e(ge,2):G(u).status.kind===`invalid-profile`||G(u).status.kind===`error`?e(_e,3):G(u).status.kind===`save-failed`?e(ve,4):G(u).status.kind===`saved`?e(ye,5):G(u).status.kind===`deleted`?e(be,6):G(u).status.kind===`delete-failed`&&e(xe,7)});var Se=V(pe,2),Ce=e=>{var t=rf(),n=B(t),r=z(n),i=V(r,2),a=z(i);N(i),N(n);var o=V(n,2);Z(o,21,()=>G(u).skills,e=>e.path,(e,t)=>{var n=nf();let r;var i=z(n),a=z(i);Ei(a);var o=V(a,2),s=z(o,!0);N(o);var c=V(o,2),l=z(c,!0);N(c),N(i);var d=V(i,2),p=z(d),m=e=>{var n=$d(),r=z(n,!0);N(n),H(()=>Y(r,G(t).description)),J(e,n)};X(p,e=>{G(t).description&&e(m)});var h=V(p,2),g=e=>{var n=$d(),r=z(n,!0);N(n),H(()=>Y(r,G(t).shortDescription)),J(e,n)};X(h,e=>{G(t).shortDescription&&e(g)});var _=V(h,2),v=V(z(_),2),S=z(v,!0);N(v);var C=V(v,2),w=e=>{var n=tf(),r=V(B(n),2),i=z(r);Z(i,21,()=>G(t).dependencies.tools,e=>`${e.type}:${e.value}`,(e,t)=>{var n=ef(),r=z(n);N(n),H(()=>Y(r,`${G(t).type??``}: ${G(t).value??``}${G(t).description?` — ${G(t).description}`:``}`)),J(e,n)}),N(i),N(r),J(e,n)};X(C,e=>{G(t).dependencies?.tools?.length&&e(w)}),N(_),N(d),N(n),H((e,o)=>{r=_i(n,``,r,e),Q(i,`for`,`skill-${G(t).path}`),Q(a,`id`,`skill-${G(t).path}`),Oi(a,G(t).enabled),a.disabled=G(t).alwaysAdvertised,Y(s,G(t).displayName??G(t).name),Y(l,G(t).alwaysAdvertised?`Always advertised`:G(t).enabled?`Enabled`:`Disabled`),Y(S,o)},[()=>({"--brand-color":y(G(t).brandColor)}),()=>b(G(t).path)]),Mr(`focus`,a,x),K(`change`,a,e=>{G(u).toggle(G(t).path,e.currentTarget.checked),f()}),J(e,n)}),N(o),H(()=>Y(a,`${G(u).enabledCount??``} of ${G(u).skills.length??``} skills enabled.`)),K(`click`,r,()=>void p()),J(e,t)};X(Se,e=>{G(u).skills.length>0&&e(Ce)}),N(S),H(()=>{Y(w,r()),Di(te,G(u).saveAsName),Y(re,G(u).saveIntent===`replace`?`Saved the selected profile.`:`Creating a new saved profile.`),k.disabled=!G(u).selectedProfileName||G(u).status.kind===`deleting`,ae.disabled=G(u).status.kind===`saving`,Y(oe,G(u).status.kind===`saving`?`Saving profile…`:`Save profile`),Y(le,`Delete ${G(u).selectedProfileName??``}? Existing sessions keep their saved skill set.`)}),Mr(`submit`,T,h),K(`change`,D,m),bi(D,()=>G(l),e=>L(l,e)),K(`input`,te,e=>{G(u).saveAsName=e.currentTarget.value,f()}),K(`click`,k,g),K(`click`,de,()=>void v()),K(`click`,fe,()=>void _()),J(e,S),$e()}Nr([`change`,`input`,`click`]);var sf=class{client;workspaceId=``;codexProfile=``;selectedProfileName=``;saveAsName=``;source=`native`;skills=[];profiles=[];status={kind:`idle`};baseline=new Map;saving=!1;deleting=!1;request=null;generation=0;disposed=!1;constructor(e){this.client=e}get enabledCount(){return this.skills.filter(e=>e.enabled).length}get dirty(){return this.skills.some(e=>this.baseline.get(e.path)!==e.enabled)}get saveIntent(){return this.profiles.some(e=>!(`error`in e)&&e.name===this.saveAsName.trim())?`replace`:`create`}async load(e,t){let n=this.beginRequest(),r=this.generation;this.workspaceId=e,this.codexProfile=t,this.status={kind:`loading`};try{let[i,a]=await Promise.all([this.client.listAvailableSkills(e,t,!0,n.signal),this.client.listSkillProfiles(n.signal)]);if(!this.current(r,n))return;this.applyAvailable(i),this.profiles=a.profiles;let o=a.profiles.find(e=>`error`in e);o&&`error`in o?this.status={kind:`invalid-profile`,message:o.error.message}:i.errors.length?this.status={kind:`warning`,message:i.errors.map(e=>e.message).join(` `)}:this.status=this.skills.length?{kind:`ready`}:{kind:`empty`}}catch(e){if(!this.current(r,n)||n.signal.aborted)return;this.status={kind:`error`,message:cf(e)}}}async refresh(){let e=this.beginRequest(),t=this.generation;this.status={kind:`loading`};try{let n=await this.client.listAvailableSkills(this.workspaceId,this.codexProfile,!0,e.signal);if(!this.current(t,e))return;this.applyAvailable(n),this.status=n.errors.length?{kind:`warning`,message:n.errors.map(e=>e.message).join(` `)}:this.skills.length?{kind:`ready`}:{kind:`empty`}}catch(n){if(!this.current(t,e)||e.signal.aborted)return;this.status={kind:`error`,message:cf(n)}}}selectProfile(e){let t=this.profiles.find(t=>!(`error`in t)&&t.name===e);if(!t||`error`in t){this.status={kind:`invalid-profile`,message:`Select a valid saved profile.`};return}this.selectedProfileName=t.name,this.saveAsName=t.name;let n=new Map(t.skills.map(e=>[e.path,e.enabled]));this.skills=this.skills.map(e=>({...e,enabled:e.alwaysAdvertised?!0:n.get(e.path)??!1})),this.captureBaseline(),this.status=this.skills.length?{kind:`ready`}:{kind:`empty`}}selectDefaultProfile(){this.selectedProfileName=``,this.saveAsName=``,this.skills=this.skills.map(e=>({...e,enabled:e.effectiveEnabled})),this.captureBaseline(),this.status=this.skills.length?{kind:`ready`}:{kind:`empty`}}toggle(e,t){this.skills=this.skills.map(n=>n.path===e&&!n.alwaysAdvertised?{...n,enabled:t}:n)}reset(){this.skills=this.skills.map(e=>({...e,enabled:this.baseline.get(e.path)??!1}))}async save(){let e=this.saveAsName.trim();if(this.saving||this.deleting)return;if(!e){this.status={kind:`save-failed`,message:`Enter a profile name before saving.`};return}this.saving=!0,this.status={kind:`saving`};let t=this.savePayload(e);try{let n=await this.client.replaceSkillProfile(e,t);this.profiles=[...this.profiles.filter(e=>`error`in e||e.name!==n.name),n].sort((e,t)=>e.name.localeCompare(t.name)),this.selectedProfileName=n.name,this.saveAsName=n.name,this.captureBaseline(),this.status={kind:`saved`}}catch(e){this.status={kind:`save-failed`,message:cf(e)}}finally{this.saving=!1}}async deleteSelectedProfile(){let e=this.selectedProfileName;if(!(this.saving||this.deleting)){if(!e){this.status={kind:`delete-failed`,message:`Select a saved profile before deleting.`};return}this.deleting=!0,this.status={kind:`deleting`};try{await this.client.deleteSkillProfile(e),this.profiles=this.profiles.filter(t=>`error`in t||t.name!==e),this.selectedProfileName=``,this.saveAsName=``,this.captureBaseline(),this.status={kind:`deleted`}}catch(e){this.status={kind:`delete-failed`,message:cf(e)}}finally{this.deleting=!1}}}dispose(){this.disposed=!0,++this.generation,this.request?.abort(),this.request=null}beginRequest(){return this.request?.abort(),this.request=new AbortController,++this.generation,this.request}current(e,t){return!this.disposed&&e===this.generation&&this.request===t}savePayload(e=this.saveAsName.trim()){return{version:1,name:e,skills:this.skills.map(({name:e,path:t,enabled:n})=>({name:e,path:t,enabled:n})).sort((e,t)=>e.path.localeCompare(t.path))}}applyAvailable(e){let t=new Map(this.skills.filter(e=>this.baseline.get(e.path)!==e.enabled).map(e=>[e.path,e.enabled]));this.source=e.source,this.skills=e.skills.map(e=>({...e,enabled:e.alwaysAdvertised?!0:t.get(e.path)??e.effectiveEnabled})),this.baseline=new Map(e.skills.map(e=>[e.path,this.baseline.get(e.path)??e.effectiveEnabled]))}captureBaseline(){this.baseline=new Map(this.skills.map(e=>[e.path,e.enabled]))}};function cf(e){return e instanceof Error?e.message:`Unknown relay error.`}var lf=o(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),uf=o((e=>{var t,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(e){if(!e)throw Error(`"version" cannot be null or undefined`);if(e<1||e>40)throw Error(`"version" should be in range from 1 to 40`);return e*4+17},e.getSymbolTotalCodewords=function(e){return n[e]},e.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t},e.setToSJISFunction=function(e){if(typeof e!=`function`)throw Error(`"toSJISFunc" is not a valid function.`);t=e},e.isKanjiModeEnabled=function(){return t!==void 0},e.toSJIS=function(e){return t(e)}})),df=o((e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`l`:case`low`:return e.L;case`m`:case`medium`:return e.M;case`q`:case`quartile`:return e.Q;case`h`:case`high`:return e.H;default:throw Error(`Unknown EC Level: `+t)}}e.isValid=function(e){return e&&e.bit!==void 0&&e.bit>=0&&e.bit<4},e.from=function(n,r){if(e.isValid(n))return n;try{return t(n)}catch{return r}}})),ff=o(((e,t)=>{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(let n=0;n<t;n++)this.putBit((e>>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),pf=o(((e,t)=>{function n(e){if(!e||e<1)throw Error(`BitMatrix size must be defined and greater than 0`);this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}n.prototype.set=function(e,t,n,r){let i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},n.prototype.get=function(e,t){return this.data[e*this.size+t]},n.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},n.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},t.exports=n})),mf=o((e=>{var t=uf().getSymbolSize;e.getRowColCoords=function(e){if(e===1)return[];let n=Math.floor(e/7)+2,r=t(e),i=r===145?26:Math.ceil((r-13)/(2*n-2))*2,a=[r-7];for(let e=1;e<n-1;e++)a[e]=a[e-1]-i;return a.push(6),a.reverse()},e.getPositions=function(t){let n=[],r=e.getRowColCoords(t),i=r.length;for(let e=0;e<i;e++)for(let t=0;t<i;t++)e===0&&t===0||e===0&&t===i-1||e===i-1&&t===0||n.push([r[e],r[t]]);return n}})),hf=o((e=>{var t=uf().getSymbolSize,n=7;e.getPositions=function(e){let r=t(e);return[[0,0],[r-n,0],[0,r-n]]}})),gf=o((e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(e){return e!=null&&e!==``&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){let n=e.size,r=0,i=0,a=0,o=null,s=null;for(let c=0;c<n;c++){i=a=0,o=s=null;for(let l=0;l<n;l++){let n=e.get(c,l);n===o?i++:(i>=5&&(r+=t.N1+(i-5)),o=n,i=1),n=e.get(l,c),n===s?a++:(a>=5&&(r+=t.N1+(a-5)),s=n,a=1)}i>=5&&(r+=t.N1+(i-5)),a>=5&&(r+=t.N1+(a-5))}return r},e.getPenaltyN2=function(e){let n=e.size,r=0;for(let t=0;t<n-1;t++)for(let i=0;i<n-1;i++){let n=e.get(t,i)+e.get(t,i+1)+e.get(t+1,i)+e.get(t+1,i+1);(n===4||n===0)&&r++}return r*t.N2},e.getPenaltyN3=function(e){let n=e.size,r=0,i=0,a=0;for(let t=0;t<n;t++){i=a=0;for(let o=0;o<n;o++)i=i<<1&2047|e.get(t,o),o>=10&&(i===1488||i===93)&&r++,a=a<<1&2047|e.get(o,t),o>=10&&(a===1488||a===93)&&r++}return r*t.N3},e.getPenaltyN4=function(e){let n=0,r=e.data.length;for(let t=0;t<r;t++)n+=e.data[t];return Math.abs(Math.ceil(n*100/r/5)-10)*t.N4};function n(t,n,r){switch(t){case e.Patterns.PATTERN000:return(n+r)%2==0;case e.Patterns.PATTERN001:return n%2==0;case e.Patterns.PATTERN010:return r%3==0;case e.Patterns.PATTERN011:return(n+r)%3==0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case e.Patterns.PATTERN101:return n*r%2+n*r%3==0;case e.Patterns.PATTERN110:return(n*r%2+n*r%3)%2==0;case e.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw Error(`bad maskPattern:`+t)}}e.applyMask=function(e,t){let r=t.size;for(let i=0;i<r;i++)for(let a=0;a<r;a++)t.isReserved(a,i)||t.xor(a,i,n(e,a,i))},e.getBestMask=function(t,n){let r=Object.keys(e.Patterns).length,i=0,a=1/0;for(let o=0;o<r;o++){n(o),e.applyMask(o,t);let r=e.getPenaltyN1(t)+e.getPenaltyN2(t)+e.getPenaltyN3(t)+e.getPenaltyN4(t);e.applyMask(o,t),r<a&&(a=r,i=o)}return i}})),_f=o((e=>{var t=df(),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(e,r){switch(r){case t.L:return n[(e-1)*4+0];case t.M:return n[(e-1)*4+1];case t.Q:return n[(e-1)*4+2];case t.H:return n[(e-1)*4+3];default:return}},e.getTotalCodewordsCount=function(e,n){switch(n){case t.L:return r[(e-1)*4+0];case t.M:return r[(e-1)*4+1];case t.Q:return r[(e-1)*4+2];case t.H:return r[(e-1)*4+3];default:return}}})),vf=o((e=>{var t=new Uint8Array(512),n=new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)t[r]=e,n[e]=r,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)t[e]=t[e-255]})(),e.log=function(e){if(e<1)throw Error(`log(`+e+`)`);return n[e]},e.exp=function(e){return t[e]},e.mul=function(e,r){return e===0||r===0?0:t[n[e]+n[r]]}})),yf=o((e=>{var t=vf();e.mul=function(e,n){let r=new Uint8Array(e.length+n.length-1);for(let i=0;i<e.length;i++)for(let a=0;a<n.length;a++)r[i+a]^=t.mul(e[i],n[a]);return r},e.mod=function(e,n){let r=new Uint8Array(e);for(;r.length-n.length>=0;){let e=r[0];for(let i=0;i<n.length;i++)r[i]^=t.mul(n[i],e);let i=0;for(;i<r.length&&r[i]===0;)i++;r=r.slice(i)}return r},e.generateECPolynomial=function(n){let r=new Uint8Array([1]);for(let i=0;i<n;i++)r=e.mul(r,new Uint8Array([1,t.exp(i)]));return r}})),bf=o(((e,t)=>{var n=yf();function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw Error(`Encoder not initialized`);let t=new Uint8Array(e.length+this.degree);t.set(e);let r=n.mod(t,this.genPoly),i=this.degree-r.length;if(i>0){let e=new Uint8Array(this.degree);return e.set(r,i),e}return r},t.exports=r})),xf=o((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),Sf=o((e=>{var t=`[0-9]+`,n=`[A-Z $%*+\\-./:]+`,r=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;r=r.replace(/u/g,`\\u`);var i=`(?:(?![A-Z0-9 $%*+\\-./:]|`+r+`)(?:.|[\r
|
|
19
|
+
]))+`;e.KANJI=new RegExp(r,`g`),e.BYTE_KANJI=RegExp(`[^A-Z0-9 $%*+\\-./:]+`,`g`),e.BYTE=new RegExp(i,`g`),e.NUMERIC=new RegExp(t,`g`),e.ALPHANUMERIC=new RegExp(n,`g`);var a=RegExp(`^`+r+`$`),o=RegExp(`^[0-9]+$`),s=RegExp(`^[A-Z0-9 $%*+\\-./:]+$`);e.testKanji=function(e){return a.test(e)},e.testNumeric=function(e){return o.test(e)},e.testAlphanumeric=function(e){return s.test(e)}})),Cf=o((e=>{var t=xf(),n=Sf();e.NUMERIC={id:`Numeric`,bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:`Alphanumeric`,bit:2,ccBits:[9,11,13]},e.BYTE={id:`Byte`,bit:4,ccBits:[8,16,16]},e.KANJI={id:`Kanji`,bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(e,n){if(!e.ccBits)throw Error(`Invalid mode: `+e);if(!t.isValid(n))throw Error(`Invalid version: `+n);return n>=1&&n<10?e.ccBits[0]:n<27?e.ccBits[1]:e.ccBits[2]},e.getBestModeForData=function(t){return n.testNumeric(t)?e.NUMERIC:n.testAlphanumeric(t)?e.ALPHANUMERIC:n.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(e){if(e&&e.id)return e.id;throw Error(`Invalid mode`)},e.isValid=function(e){return e&&e.bit&&e.ccBits};function r(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`numeric`:return e.NUMERIC;case`alphanumeric`:return e.ALPHANUMERIC;case`kanji`:return e.KANJI;case`byte`:return e.BYTE;default:throw Error(`Unknown mode: `+t)}}e.from=function(t,n){if(e.isValid(t))return t;try{return r(t)}catch{return n}}})),wf=o((e=>{var t=uf(),n=_f(),r=df(),i=Cf(),a=xf(),o=7973,s=t.getBCHDigit(o);function c(t,n,r){for(let i=1;i<=40;i++)if(n<=e.getCapacity(i,r,t))return i}function l(e,t){return i.getCharCountIndicator(e,t)+4}function u(e,t){let n=0;return e.forEach(function(e){let r=l(e.mode,t);n+=r+e.getBitsLength()}),n}function d(t,n){for(let r=1;r<=40;r++)if(u(t,r)<=e.getCapacity(r,n,i.MIXED))return r}e.from=function(e,t){return a.isValid(e)?parseInt(e,10):t},e.getCapacity=function(e,r,o){if(!a.isValid(e))throw Error(`Invalid QR Code version`);o===void 0&&(o=i.BYTE);let s=(t.getSymbolTotalCodewords(e)-n.getTotalCodewordsCount(e,r))*8;if(o===i.MIXED)return s;let c=s-l(o,e);switch(o){case i.NUMERIC:return Math.floor(c/10*3);case i.ALPHANUMERIC:return Math.floor(c/11*2);case i.KANJI:return Math.floor(c/13);case i.BYTE:default:return Math.floor(c/8)}},e.getBestVersionForData=function(e,t){let n,i=r.from(t,r.M);if(Array.isArray(e)){if(e.length>1)return d(e,i);if(e.length===0)return 1;n=e[0]}else n=e;return c(n.mode,n.getLength(),i)},e.getEncodedBits=function(e){if(!a.isValid(e)||e<7)throw Error(`Invalid QR Code version`);let n=e<<12;for(;t.getBCHDigit(n)-s>=0;)n^=o<<t.getBCHDigit(n)-s;return e<<12|n}})),Tf=o((e=>{var t=uf(),n=1335,r=21522,i=t.getBCHDigit(n);e.getEncodedBits=function(e,a){let o=e.bit<<3|a,s=o<<10;for(;t.getBCHDigit(s)-i>=0;)s^=n<<t.getBCHDigit(s)-i;return(o<<10|s)^r}})),Ef=o(((e,t)=>{var n=Cf();function r(e){this.mode=n.NUMERIC,this.data=e.toString()}r.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){let t,n,r;for(t=0;t+3<=this.data.length;t+=3)n=this.data.substr(t,3),r=parseInt(n,10),e.put(r,10);let i=this.data.length-t;i>0&&(n=this.data.substr(t),r=parseInt(n,10),e.put(r,i*3+1))},t.exports=r})),Df=o(((e,t)=>{var n=Cf(),r=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`.split(``);function i(e){this.mode=n.ALPHANUMERIC,this.data=e}i.getBitsLength=function(e){return 11*Math.floor(e/2)+e%2*6},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t;for(t=0;t+2<=this.data.length;t+=2){let n=r.indexOf(this.data[t])*45;n+=r.indexOf(this.data[t+1]),e.put(n,11)}this.data.length%2&&e.put(r.indexOf(this.data[t]),6)},t.exports=i})),Of=o(((e,t)=>{var n=Cf();function r(e){this.mode=n.BYTE,typeof e==`string`?this.data=new TextEncoder().encode(e):this.data=new Uint8Array(e)}r.getBitsLength=function(e){return e*8},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){for(let t=0,n=this.data.length;t<n;t++)e.put(this.data[t],8)},t.exports=r})),kf=o(((e,t)=>{var n=Cf(),r=uf();function i(e){this.mode=n.KANJI,this.data=e}i.getBitsLength=function(e){return e*13},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let n=r.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw Error(`Invalid SJIS character: `+this.data[t]+`
|
|
20
|
+
Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=i})),Af=o(((e,t)=>{var n={single_source_shortest_paths:function(e,t,r){var i={},a={};a[t]=0;var o=n.PriorityQueue.make();o.push(t,0);for(var s,c,l,u,d,f,p,m,h;!o.empty();)for(l in s=o.pop(),c=s.value,u=s.cost,d=e[c]||{},d)d.hasOwnProperty(l)&&(f=d[l],p=u+f,m=a[l],h=a[l]===void 0,(h||m>p)&&(a[l]=p,o.push(l,p),i[l]=c));if(r!==void 0&&a[r]===void 0){var g=[`Could not find a path from `,t,` to `,r,`.`].join(``);throw Error(g)}return i},extract_shortest_path_from_predecessor_list:function(e,t){for(var n=[],r=t;r;)n.push(r),e[r],r=e[r];return n.reverse(),n},find_path:function(e,t,r){var i=n.single_source_shortest_paths(e,t,r);return n.extract_shortest_path_from_predecessor_list(i,r)},PriorityQueue:{make:function(e){var t=n.PriorityQueue,r={},i;for(i in e||={},t)t.hasOwnProperty(i)&&(r[i]=t[i]);return r.queue=[],r.sorter=e.sorter||t.default_sorter,r},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var n={value:e,cost:t};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};t!==void 0&&(t.exports=n)})),jf=o((e=>{var t=Cf(),n=Ef(),r=Df(),i=Of(),a=kf(),o=Sf(),s=uf(),c=Af();function l(e){return unescape(encodeURIComponent(e)).length}function u(e,t,n){let r=[],i;for(;(i=e.exec(n))!==null;)r.push({data:i[0],index:i.index,mode:t,length:i[0].length});return r}function d(e){let n=u(o.NUMERIC,t.NUMERIC,e),r=u(o.ALPHANUMERIC,t.ALPHANUMERIC,e),i,a;return s.isKanjiModeEnabled()?(i=u(o.BYTE,t.BYTE,e),a=u(o.KANJI,t.KANJI,e)):(i=u(o.BYTE_KANJI,t.BYTE,e),a=[]),n.concat(r,i,a).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function f(e,o){switch(o){case t.NUMERIC:return n.getBitsLength(e);case t.ALPHANUMERIC:return r.getBitsLength(e);case t.KANJI:return a.getBitsLength(e);case t.BYTE:return i.getBitsLength(e)}}function p(e){return e.reduce(function(e,t){let n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}function m(e){let n=[];for(let r=0;r<e.length;r++){let i=e[r];switch(i.mode){case t.NUMERIC:n.push([i,{data:i.data,mode:t.ALPHANUMERIC,length:i.length},{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.ALPHANUMERIC:n.push([i,{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.KANJI:n.push([i,{data:i.data,mode:t.BYTE,length:l(i.data)}]);break;case t.BYTE:n.push([{data:i.data,mode:t.BYTE,length:l(i.data)}])}}return n}function h(e,n){let r={},i={start:{}},a=[`start`];for(let o=0;o<e.length;o++){let s=e[o],c=[];for(let e=0;e<s.length;e++){let l=s[e],u=``+o+e;c.push(u),r[u]={node:l,lastCount:0},i[u]={};for(let e=0;e<a.length;e++){let o=a[e];r[o]&&r[o].node.mode===l.mode?(i[o][u]=f(r[o].lastCount+l.length,l.mode)-f(r[o].lastCount,l.mode),r[o].lastCount+=l.length):(r[o]&&(r[o].lastCount=l.length),i[o][u]=f(l.length,l.mode)+4+t.getCharCountIndicator(l.mode,n))}}a=c}for(let e=0;e<a.length;e++)i[a[e]].end=0;return{map:i,table:r}}function g(e,o){let c,l=t.getBestModeForData(e);if(c=t.from(o,l),c!==t.BYTE&&c.bit<l.bit)throw Error(`"`+e+`" cannot be encoded with mode `+t.toString(c)+`.
|
|
21
|
+
Suggested mode is: `+t.toString(l));switch(c===t.KANJI&&!s.isKanjiModeEnabled()&&(c=t.BYTE),c){case t.NUMERIC:return new n(e);case t.ALPHANUMERIC:return new r(e);case t.KANJI:return new a(e);case t.BYTE:return new i(e)}}e.fromArray=function(e){return e.reduce(function(e,t){return typeof t==`string`?e.push(g(t,null)):t.data&&e.push(g(t.data,t.mode)),e},[])},e.fromString=function(t,n){let r=h(m(d(t,s.isKanjiModeEnabled())),n),i=c.find_path(r.map,`start`,`end`),a=[];for(let e=1;e<i.length-1;e++)a.push(r.table[i[e]].node);return e.fromArray(p(a))},e.rawSplit=function(t){return e.fromArray(d(t,s.isKanjiModeEnabled()))}})),Mf=o((e=>{var t=uf(),n=df(),r=ff(),i=pf(),a=mf(),o=hf(),s=gf(),c=_f(),l=bf(),u=wf(),d=Tf(),f=Cf(),p=jf();function m(e,t){let n=e.size,r=o.getPositions(t);for(let t=0;t<r.length;t++){let i=r[t][0],a=r[t][1];for(let t=-1;t<=7;t++)if(!(i+t<=-1||n<=i+t))for(let r=-1;r<=7;r++)a+r<=-1||n<=a+r||(t>=0&&t<=6&&(r===0||r===6)||r>=0&&r<=6&&(t===0||t===6)||t>=2&&t<=4&&r>=2&&r<=4?e.set(i+t,a+r,!0,!0):e.set(i+t,a+r,!1,!0))}}function h(e){let t=e.size;for(let n=8;n<t-8;n++){let t=n%2==0;e.set(n,6,t,!0),e.set(6,n,t,!0)}}function g(e,t){let n=a.getPositions(t);for(let t=0;t<n.length;t++){let r=n[t][0],i=n[t][1];for(let t=-2;t<=2;t++)for(let n=-2;n<=2;n++)t===-2||t===2||n===-2||n===2||t===0&&n===0?e.set(r+t,i+n,!0,!0):e.set(r+t,i+n,!1,!0)}}function _(e,t){let n=e.size,r=u.getEncodedBits(t),i,a,o;for(let t=0;t<18;t++)i=Math.floor(t/3),a=t%3+n-8-3,o=(r>>t&1)==1,e.set(i,a,o,!0),e.set(a,i,o,!0)}function v(e,t,n){let r=e.size,i=d.getEncodedBits(t,n),a,o;for(a=0;a<15;a++)o=(i>>a&1)==1,a<6?e.set(a,8,o,!0):a<8?e.set(a+1,8,o,!0):e.set(r-15+a,8,o,!0),a<8?e.set(8,r-a-1,o,!0):a<9?e.set(8,15-a-1+1,o,!0):e.set(8,15-a-1,o,!0);e.set(r-8,8,1,!0)}function y(e,t){let n=e.size,r=-1,i=n-1,a=7,o=0;for(let s=n-1;s>0;s-=2)for(s===6&&s--;;){for(let n=0;n<2;n++)if(!e.isReserved(i,s-n)){let r=!1;o<t.length&&(r=(t[o]>>>a&1)==1),e.set(i,s-n,r),a--,a===-1&&(o++,a=7)}if(i+=r,i<0||n<=i){i-=r,r=-r;break}}}function b(e,n,i){let a=new r;i.forEach(function(t){a.put(t.mode.bit,4),a.put(t.getLength(),f.getCharCountIndicator(t.mode,e)),t.write(a)});let o=(t.getSymbolTotalCodewords(e)-c.getTotalCodewordsCount(e,n))*8;for(a.getLengthInBits()+4<=o&&a.put(0,4);a.getLengthInBits()%8!=0;)a.putBit(0);let s=(o-a.getLengthInBits())/8;for(let e=0;e<s;e++)a.put(e%2?17:236,8);return x(a,e,n)}function x(e,n,r){let i=t.getSymbolTotalCodewords(n),a=i-c.getTotalCodewordsCount(n,r),o=c.getBlocksCount(n,r),s=o-i%o,u=Math.floor(i/o),d=Math.floor(a/o),f=d+1,p=u-d,m=new l(p),h=0,g=Array(o),_=Array(o),v=0,y=new Uint8Array(e.buffer);for(let e=0;e<o;e++){let t=e<s?d:f;g[e]=y.slice(h,h+t),_[e]=m.encode(g[e]),h+=t,v=Math.max(v,t)}let b=new Uint8Array(i),x=0,S,C;for(S=0;S<v;S++)for(C=0;C<o;C++)S<g[C].length&&(b[x++]=g[C][S]);for(S=0;S<p;S++)for(C=0;C<o;C++)b[x++]=_[C][S];return b}function S(e,n,r,a){let o;if(Array.isArray(e))o=p.fromArray(e);else if(typeof e==`string`){let t=n;if(!t){let n=p.rawSplit(e);t=u.getBestVersionForData(n,r)}o=p.fromString(e,t||40)}else throw Error(`Invalid data`);let c=u.getBestVersionForData(o,r);if(!c)throw Error(`The amount of data is too big to be stored in a QR Code`);if(!n)n=c;else if(n<c)throw Error(`
|
|
22
22
|
The chosen QR Code version cannot contain this amount of data.
|
|
23
23
|
Minimum version required to store current data is: `+c+`.
|
|
24
|
-
`);let l=b(n,r,o),d=new i(t.getSymbolSize(n));return m(d,n),h(d),g(d,n),v(d,r,0),n>=7&&_(d,n),y(d,l),isNaN(a)&&(a=s.getBestMask(d,v.bind(null,d,r))),s.applyMask(a,d),v(d,r,a),{modules:d,version:n,errorCorrectionLevel:r,maskPattern:a,segments:o}}e.create=function(e,r){if(e===void 0||e===``)throw Error(`No input text`);let i=n.M,a,o;return r!==void 0&&(i=n.from(r.errorCorrectionLevel,n.M),a=u.from(r.version),o=s.from(r.maskPattern),r.toSJISFunc&&t.setToSJISFunction(r.toSJISFunc)),S(e,a,i,o)}})),
|
|
25
|
-
`;return typeof a==`function`&&a(null,p),p}})),Ff=c(o((e=>{var t=cf(),n=jf(),r=Nf(),i=Pf();function a(e,r,i,a,o){let s=[].slice.call(arguments,1),c=s.length,l=typeof s[c-1]==`function`;if(!l&&!t())throw Error(`Callback required as last argument`);if(l){if(c<2)throw Error(`Too few arguments provided`);c===2?(o=i,i=r,r=a=void 0):c===3&&(r.getContext&&o===void 0?(o=a,a=void 0):(o=a,a=i,i=r,r=void 0))}else{if(c<1)throw Error(`Too few arguments provided`);return c===1?(i=r,r=a=void 0):c===2&&!r.getContext&&(a=i,i=r,r=void 0),new Promise(function(t,o){try{t(e(n.create(i,a),r,a))}catch(e){o(e)}})}try{let t=n.create(i,a);o(null,e(t,r,a))}catch(e){o(e)}}e.create=n.create,e.toCanvas=a.bind(null,r.render),e.toDataURL=a.bind(null,r.renderToDataURL),e.toString=a.bind(null,function(e,t,n){return i.render(e,n)})}))(),1);function If(e){return`${e.replace(/\/$/,``)}/?bootstrap=1`}async function Lf(e){return Ff.toDataURL(If(e),{errorCorrectionLevel:`M`,margin:1,width:256})}async function Rf(e){return Ff.toDataURL(e,{errorCorrectionLevel:`M`,margin:1,width:256})}var zf=q(`<p class="feedback svelte-1nygetn" role="status"> </p>`),Bf=q(`<span class="svelte-1nygetn">At least one authorized device is required.</span>`),Vf=q(`<li class="svelte-1nygetn"><form class="svelte-1nygetn"><label class="svelte-1nygetn">Nickname</label><input name="nickname" class="svelte-1nygetn"/> <p class="svelte-1nygetn"> <!><!></p> <button type="submit" class="svelte-1nygetn">Rename</button> <button type="button" class="svelte-1nygetn">Revoke</button> <!></form></li>`),Hf=q(`<ul aria-label="Authorized devices" class="svelte-1nygetn"></ul>`),Uf=q(`<p role="status" class="svelte-1nygetn">No authorized devices are available. Refresh this page before making changes.</p>`),Wf=q(`<button type="button" class="svelte-1nygetn">Create enrollment link</button>`),Gf=q(`<img alt="QR code for the enrollment link" class="svelte-1nygetn"/>`),Kf=q(`<p role="status" class="svelte-1nygetn"> </p> <!> <label for="enrollment-link" class="svelte-1nygetn">Enrollment link</label><textarea id="enrollment-link" readonly="" rows="3" class="svelte-1nygetn"></textarea> <div class="actions svelte-1nygetn"><button type="button" class="svelte-1nygetn">Copy enrollment link</button><button type="button" class="svelte-1nygetn">Create passkey here</button><button type="button" class="svelte-1nygetn">Cancel link</button><button type="button" class="svelte-1nygetn">Replace link</button></div>`,1),qf=q(`<main class="devices svelte-1nygetn" aria-labelledby="devices-title"><header class="svelte-1nygetn"><button type="button" class="svelte-1nygetn">Back</button> <h1 id="devices-title" class="svelte-1nygetn">Authorized devices</h1></header> <!> <!> <section aria-labelledby="add-title" class="svelte-1nygetn"><h2 id="add-title" class="svelte-1nygetn">Authorize another device</h2> <!></section></main> <dialog aria-labelledby="revoke-title" class="svelte-1nygetn"><h2 id="revoke-title" class="svelte-1nygetn">Revoke authorized device?</h2> <p class="svelte-1nygetn">This immediately signs out sessions created by this passkey.</p> <form method="dialog" class="svelte-1nygetn"><button type="submit" class="svelte-1nygetn">Keep device</button><button type="button" class="svelte-1nygetn">Revoke device</button></form></dialog>`,1);function Jf(e,t){Qe(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=I(R([])),i=I(``),a=I(null),o=I(`none`),s=I(null),c=I(null),l=I(null),u=I(null),d=I(R(Date.now())),f=P(()=>[...G(r)].sort((e,t)=>e.createdAt.localeCompare(t.createdAt))),p=P(()=>G(a)?Math.max(0,Math.ceil((Date.parse(G(a).expiresAt)-G(d))/1e3)):0),m=P(()=>`${Math.floor(G(p)/60)}:${String(G(p)%60).padStart(2,`0`)}`);function h(e){let t=e.trim();return[...t].length>=1&&[...t].length<=64}function g(){G(u)&&clearInterval(G(u)),L(u,null)}function _(){g(),L(u,setInterval(()=>void b(),15e3),!0)}function v(){return!!(G(a)&&G(o)===`pending`&&G(p)>0&&document.visibilityState===`visible`)}async function y(){try{L(r,(await t.client.list()).devices,!0)}catch{L(i,`Could not refresh authorized devices. Try again.`)}}async function b(){if(!v()){G(p)===0&&G(a)&&L(o,`expired`),g();return}try{L(o,(await t.client.ticketStatus()).status,!0),G(o)!==`pending`&&(g(),G(o)===`used`&&await y())}catch{g()}}async function x(){L(i,``);try{L(a,await t.client.createTicket(),!0),L(o,`pending`),L(s,await Rf(G(a).url),!0),L(d,Date.now(),!0),_()}catch{L(i,`Could not create an enrollment link. Try again.`)}}async function S(){try{L(o,(await t.client.cancelTicket()).status,!0),L(a,null),L(s,null),g()}catch{L(i,`Could not cancel the enrollment link. Try again.`)}}async function C(){await S(),G(i)||await x()}async function w(e,n){if(!h(n)){L(i,`Device nicknames must be 1–64 characters.`);return}L(i,``);try{await t.client.rename(e.id,n.trim()),await y()}catch{L(i,`Could not rename this device. Try again.`)}}function T(e){G(f).length>1&&(L(l,e,!0),G(c)?.showModal())}async function E(){if(G(l))try{await t.client.revoke(G(l).id),G(c)?.close(),G(l).current?t.onlock():await y()}catch{L(i,`This device could not be revoked. Try again.`)}}async function D(){if(G(a))try{await navigator.clipboard.writeText(G(a).url)}catch{L(i,`Copy is unavailable here. Select the visible link instead.`)}}function ee(){document.visibilityState===`visible`&&G(o)===`pending`&&G(p)>0?(b(),_()):g()}Li(()=>{y(),document.addEventListener(`visibilitychange`,ee);let e=setInterval(()=>L(d,Date.now(),!0),1e3);return()=>clearInterval(e)}),Ri(()=>{g(),document.removeEventListener(`visibilitychange`,ee)});var O=qf(),te=B(O),ne=z(te),re=z(ne);He(2),N(ne);var ie=V(ne,2),k=e=>{var t=zf(),n=z(t,!0);N(t),H(()=>Y(n,G(i))),J(e,t)};X(ie,e=>{G(i)&&e(k)});var ae=V(ie,2),oe=e=>{var t=Hf();Z(t,21,()=>G(f),e=>e.id,(e,t)=>{var n=Vf(),r=z(n),i=z(r),a=V(i);Ei(a);var o=V(a,2),s=z(o),c=V(s),l=e=>{var n=Br();H(e=>Y(n,`· Last used ${e??``}`),[()=>new Date(G(t).lastUsedAt).toLocaleDateString()]),J(e,n)};X(c,e=>{G(t).lastUsedAt&&e(l)});var u=V(c),d=e=>{J(e,Br(`· This device`))};X(u,e=>{G(t).current&&e(d)}),N(o);var p=V(o,4),m=V(p,2),h=e=>{var n=Bf();H(()=>Q(n,`id`,`final-${G(t).id}`)),J(e,n)};X(m,e=>{G(f).length===1&&e(h)}),N(r),N(n),H(e=>{Q(i,`for`,`nickname-${G(t).id}`),Q(a,`id`,`nickname-${G(t).id}`),Di(a,G(t).nickname),Q(a,`aria-label`,`Nickname for ${G(t).nickname}`),Y(s,`Added ${e??``}`),p.disabled=G(f).length===1,Q(p,`aria-describedby`,G(f).length===1?`final-${G(t).id}`:void 0)},[()=>new Date(G(t).createdAt).toLocaleDateString()]),Mr(`submit`,r,e=>{e.preventDefault(),w(G(t),String(new FormData(e.currentTarget).get(`nickname`)??``))}),K(`click`,p,()=>T(G(t))),J(e,n)}),N(t),J(e,t)},se=e=>{J(e,Uf())};X(ae,e=>{G(f).length?e(oe):e(se,-1)});var ce=V(ae,2),le=V(z(ce),2),ue=e=>{var t=Wf();K(`click`,t,()=>void x()),J(e,t)},de=e=>{var t=Kf(),r=B(t),i=z(r,!0);N(r);var c=V(r,2),l=e=>{var t=Gf();H(()=>Q(t,`src`,G(s))),J(e,t)};X(c,e=>{G(s)&&e(l)});var u=V(c,3);Sn(u);var d=V(u,2),f=z(d),p=V(f),h=V(p),g=V(h);N(d),H(()=>{Y(i,G(o)===`pending`?`Enrollment link is active for ${G(m)}.`:`Enrollment link is ${G(o)}.`),Di(u,G(a).url)}),K(`click`,f,()=>void D()),K(`click`,p,()=>n()(G(a).ticket)),K(`click`,h,()=>void S()),K(`click`,g,()=>void C()),J(e,t)};X(le,e=>{G(a)?e(de,-1):e(ue)}),N(ce),N(te);var fe=V(te,2),pe=V(z(fe),4),me=V(z(pe));N(pe),N(fe),Ii(fe,e=>L(c,e),()=>G(c)),K(`click`,re,function(...e){t.onclose?.apply(this,e)}),K(`click`,me,()=>void E()),J(e,O),$e()}Nr([`click`]);async function Yf(e){if(e=await e,!e.ok){let t;try{let n=await e.json();typeof n==`object`&&n&&`code`in n&&typeof n.code==`string`&&(t=n.code)}catch{}throw Error(t??`AUTH_REQUEST_FAILED_${e.status}`)}if(e.status!==204)return e.json()}function Xf(e){return{list:()=>Yf(e(`/api/auth/devices`,{credentials:`same-origin`})),rename:(t,n)=>Yf(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`PATCH`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({nickname:n})})),revoke:t=>Yf(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`DELETE`,credentials:`same-origin`})),createTicket:()=>Yf(e(`/api/auth/enrollment-tickets`,{method:`POST`,credentials:`same-origin`})),ticketStatus:()=>Yf(e(`/api/auth/enrollment-tickets/current`,{credentials:`same-origin`})),cancelTicket:()=>Yf(e(`/api/auth/enrollment-tickets/current`,{method:`DELETE`,credentials:`same-origin`}))}}var Zf=`gestalt-mobile.scratchpad`;function Qf(){try{return window.localStorage}catch{return null}}function $f(e){try{return e?.getItem(`gestalt-mobile.scratchpad`)??``}catch{return``}}function ep(e,t){try{return e?(e.setItem(Zf,t),!0):!1}catch{return!1}}function tp(e){try{return e?(e.removeItem(Zf),!0):!1}catch{return!1}}var np=q(`<p class="feedback svelte-eu5bnq" role="status"> </p>`),rp=q(`<section class="clear-confirmation svelte-eu5bnq" aria-labelledby="clear-scratchpad-title"><p id="clear-scratchpad-title" class="svelte-eu5bnq"><strong>Clear the entire scratchpad?</strong></p> <p class="svelte-eu5bnq">This cannot be undone.</p> <div class="actions svelte-eu5bnq"><button type="button" class="svelte-eu5bnq">Keep text</button> <button type="button" class="danger svelte-eu5bnq">Clear all</button></div></section>`),ip=q(`<footer class="actions svelte-eu5bnq"><button type="button" class="svelte-eu5bnq">Paste</button> <button type="button" class="svelte-eu5bnq">Select all</button> <button type="button" class="danger svelte-eu5bnq">Clear</button> <button type="button" class="svelte-eu5bnq">Close</button></footer>`),ap=q(`<dialog aria-labelledby="scratchpad-title" class="svelte-eu5bnq"><section class="scratchpad-shell svelte-eu5bnq"><header class="svelte-eu5bnq"><div><h2 id="scratchpad-title" class="svelte-eu5bnq">Scratchpad</h2> <p id="scratchpad-help" class="svelte-eu5bnq">Saved automatically in this browser.</p></div> <button type="button" class="close svelte-eu5bnq" aria-label="Close scratchpad">×</button></header> <label for="scratchpad-text" class="svelte-eu5bnq">Scratchpad text</label> <textarea id="scratchpad-text" aria-describedby="scratchpad-help" class="svelte-eu5bnq"></textarea> <!> <!></section></dialog>`);function op(e,t){Qe(t,!0);let n=$(t,`storage`,19,Qf),r=$(t,`clipboard`,19,()=>globalThis.navigator?.clipboard),i=I(null),a=I(null),o=I(null),s=I(``),c=I(!1),l=I(``);Li(async()=>{L(s,$f(n()),!0),await Sr(),G(i)?.showModal(),G(a)?.focus()});function u(e){L(s,e,!0),L(l,ep(n(),e)?``:`This browser could not save the scratchpad. Keep this window open until you copy the text.`,!0)}async function d(){if(!r()?.readText){L(l,`Clipboard paste is unavailable here. Long-press the text field and choose Paste.`),G(a)?.focus();return}try{let e=await r().readText(),t=G(a)?.selectionStart??G(s).length,n=G(a)?.selectionEnd??G(s).length;u(`${G(s).slice(0,t)}${e}${G(s).slice(n)}`),await Sr();let i=t+e.length;G(a)?.focus(),G(a)?.setSelectionRange(i,i)}catch{L(l,`Clipboard paste was not permitted. Long-press the text field and choose Paste.`),G(a)?.focus()}}async function f(){L(c,!0),L(l,``),await Sr(),G(o)?.focus()}function p(){L(c,!1),G(a)?.focus()}function m(){if(!tp(n())){L(l,`This browser could not clear its saved scratchpad.`);return}L(s,``),L(c,!1),L(l,``),G(a)?.focus()}var h=ap(),g=z(h),_=z(g),v=V(z(_),2);N(_);var y=V(_,4);Sn(y),Ii(y,e=>L(a,e),()=>G(a));var b=V(y,2),x=e=>{var t=np(),n=z(t,!0);N(t),H(()=>Y(n,G(l))),J(e,t)};X(b,e=>{G(l)&&e(x)});var S=V(b,2),C=e=>{var t=rp(),n=V(z(t),4),r=z(n);Ii(r,e=>L(o,e),()=>G(o));var i=V(r,2);N(n),N(t),K(`click`,r,p),K(`click`,i,m),J(e,t)},w=e=>{var t=ip(),n=z(t),r=V(n,2),o=V(r,2),c=V(o,2);N(t),H(()=>o.disabled=!G(s)),K(`click`,n,()=>void d()),K(`click`,r,()=>G(a)?.select()),K(`click`,o,()=>void f()),K(`click`,c,()=>G(i)?.close()),J(e,t)};X(S,e=>{G(c)?e(C):e(w,-1)}),N(g),N(h),Ii(h,e=>L(i,e),()=>G(i)),H(()=>Di(y,G(s))),Mr(`close`,h,function(...e){t.onclose?.apply(this,e)}),K(`click`,v,()=>G(i)?.close()),K(`input`,y,e=>u(e.currentTarget.value)),J(e,h),$e()}Nr([`click`,`input`]);var sp=q(`<button class="disclosure svelte-am0nvt" type="button"> </button>`),cp=q(`<span class="disclosure svelte-am0nvt"></span>`),lp=q(`<span class="unsupported svelte-am0nvt">Files cannot be destinations</span>`),up=q(`<span class="unsupported svelte-am0nvt">Unsupported link</span>`),dp=q(`<span role="status">Loading…</span>`),fp=q(`<button type="button" class="svelte-am0nvt"> </button>`),pp=q(`<div role="group"><!> <!> <!> <!></div>`),mp=q(`<div role="treeitem"><div class="tree-row svelte-am0nvt" role="presentation"><!> <span class="tree-label svelte-am0nvt"> </span><!></div> <!></div>`),hp=q(`<p role="status">Loading files…</p>`),gp=q(`<button type="button" class="svelte-am0nvt">Retry loading files</button>`),_p=q(`<button type="button" class="svelte-am0nvt">Load more in root</button>`),vp=q(`<div class="file-tree svelte-am0nvt" role="tree" aria-label="Files"><!> <!> <!> <!></div>`);function yp(e,t){Qe(t,!0);let n=$(t,`destinationMode`,3,!1),r=$(t,`ondestinationselect`,3,()=>{}),i=$(t,`onselectionchange`,3,()=>{}),a=R({}),o=I(``),s=P(()=>t.revision<0?{entries:[],loading:!1,error:!1}:t.controller.state(``)),c=P(()=>{if(t.revision<0)return[];let e=[],n=(r,i)=>{for(let a of t.controller.state(r).entries)e.push({entry:a,level:i,parent:r}),a.kind===`directory`&&t.controller.expanded.has(a.path)&&n(a.path,i+1)};return n(``,1),e});function l(e){L(o,e,!0),a[e]?.focus()}function u(e){t.controller.expanded.has(e.path)?t.controller.collapse(e.path):t.controller.expand(e.path)}function d(e,n,r){let i=n.entry,a=n.parent,o=e=>{let t=G(c)[Math.max(0,Math.min(G(c).length-1,e))];t&&l(t.entry.path)};switch(e.key){case`ArrowDown`:e.preventDefault(),o(r+1);break;case`ArrowUp`:e.preventDefault(),o(r-1);break;case`Home`:e.preventDefault(),o(0);break;case`End`:e.preventDefault(),o(G(c).length-1);break;case`ArrowRight`:i.kind===`directory`&&(e.preventDefault(),t.controller.expanded.has(i.path)?o(r+1):u(i));break;case`ArrowLeft`:e.preventDefault(),i.kind===`directory`&&t.controller.expanded.has(i.path)?t.controller.collapse(i.path):a&&l(a);break;case`Enter`:case` `:e.preventDefault(),f(i);break}}function f(e){if(e.kind!==`symlink`){if(n()){e.kind===`directory`&&r()(e.path);return}t.controller.select(e.path),i()(e.path)}}var p=vp();{let e=(r,i=b,s=b)=>{var l=Vr();Z(B(l),17,()=>t.controller.state(i()).entries,e=>e.path,(r,i)=>{let l=P(()=>G(i).kind===`directory`),p=P(()=>G(c).find(e=>e.entry.path===G(i).path)),m=P(()=>G(c).findIndex(e=>e.entry.path===G(i).path));var h=mp();let g;var _=z(h);let v;var y=z(_),b=e=>{var n=sp(),r=z(n,!0);N(n),H((e,t)=>{Q(n,`aria-label`,e),Y(r,t)},[()=>`${t.controller.expanded.has(G(i).path)?`Collapse`:`Expand`} ${G(i).name}`,()=>t.controller.expanded.has(G(i).path)?`−`:`+`]),K(`click`,n,e=>{e.stopPropagation(),u(G(i))}),J(e,n)},x=e=>{J(e,cp())};X(y,e=>{G(l)?e(b):e(x,-1)});var S=V(y,2),C=z(S,!0);N(S);var w=V(S),T=e=>{J(e,lp())},E=e=>{var t=up();H(()=>Q(t,`id`,`${G(i).path}-unsupported`)),J(e,t)};X(w,e=>{n()&&!G(l)?e(T):G(i).kind===`symlink`&&e(E,1)}),N(_);var D=V(_,2),ee=n=>{let r=P(()=>t.controller.state(G(i).path));var a=pp(),o=z(a),c=e=>{J(e,dp())};X(o,e=>{G(r).loading&&e(c)});var l=V(o,2),u=e=>{var n=fp(),r=z(n);N(n),H(()=>Y(r,`Retry ${G(i).name??``}`)),K(`click`,n,()=>void t.controller.load(G(i).path)),J(e,n)};X(l,e=>{G(r).error&&e(u)});var d=V(l,2);e(d,()=>G(i).path,()=>s()+1);var f=V(d,2),p=e=>{var n=fp(),r=z(n);N(n),H(()=>Y(r,`Load more in ${G(i).name??``}`)),K(`click`,n,()=>void t.controller.load(G(i).path,!0)),J(e,n)};X(f,e=>{G(r).cursor&&e(p)}),N(a),H(()=>Q(a,`aria-label`,`Contents of ${G(i).name}`)),J(n,a)},O=P(()=>G(l)&&t.controller.expanded.has(G(i).path));X(D,e=>{G(O)&&e(ee)}),N(h),Ii(h,(e,t)=>a[t.path]=e,e=>a?.[e.path],()=>[G(i)]),H(e=>{g=hi(h,1,`treeitem svelte-am0nvt`,null,g,{symlink:G(i).kind===`symlink`}),Q(h,`aria-level`,s()),Q(h,`aria-expanded`,e),Q(h,`aria-selected`,G(i).kind===`symlink`?`false`:t.controller.selectedPath===G(i).path),Q(h,`aria-disabled`,G(i).kind===`symlink`),Q(h,`aria-describedby`,G(i).kind===`symlink`?`${G(i).path}-unsupported`:void 0),Q(h,`tabindex`,G(o)===G(i).path||!G(o)&&G(m)===0?0:-1),v=_i(_,``,v,{"--level":s()}),Y(C,G(i).name)},[()=>G(l)?t.controller.expanded.has(G(i).path):void 0]),Mr(`focus`,h,()=>L(o,G(i).path,!0)),K(`keydown`,h,e=>d(e,G(p),G(m))),K(`click`,h,()=>f(G(i))),J(r,h)}),J(r,l)};var m=z(p),h=e=>{J(e,hp())};X(m,e=>{G(s).loading&&e(h)});var g=V(m,2),_=e=>{var n=gp();K(`click`,n,()=>void t.controller.load(``)),J(e,n)};X(g,e=>{G(s).error&&e(_)});var v=V(g,2);e(v,()=>``,()=>1);var y=V(v,2),x=e=>{var n=_p();K(`click`,n,()=>void t.controller.load(``,!0)),J(e,n)};X(y,e=>{G(s).cursor&&e(x)}),N(p)}J(e,p),$e()}Nr([`keydown`,`click`]);var bp=class{workspaceId;read;changed;failed;expanded=new Set([``]);selectedPath=``;pages=new Map;generations=new Map;requests=new Map;version=0;constructor(e,t,n,r=()=>{}){this.workspaceId=e,this.read=t,this.changed=n,this.failed=r}state(e){return this.pages.get(e)??{entries:[],loading:!1,error:!1}}async load(e=``,t=!1){let n=this.state(e);if(n.loading||t&&!n.cursor)return;let r=(this.generations.get(e)??0)+1;this.generations.set(e,r),this.requests.get(e)?.abort();let i=new AbortController;this.requests.set(e,i),this.pages.set(e,{...n,loading:!0,error:!1}),this.publish();try{let a=await this.read(this.workspaceId,{directory:e,...t?{cursor:n.cursor}:{}},i.signal);if(i.signal.aborted||this.generations.get(e)!==r)return;let o=t?xp(n.entries,a.entries):a.entries;this.pages.set(e,{entries:o,cursor:a.nextCursor,loading:!1,error:!1})}catch(t){if(i.signal.aborted||this.generations.get(e)!==r)return;this.pages.set(e,{...n,loading:!1,error:!0}),this.failed(t)}finally{this.requests.get(e)===i&&this.requests.delete(e),this.publish()}}async expand(e){this.expanded.add(e),this.publish(),this.pages.has(e)||await this.load(e)}collapse(e){this.expanded.delete(e),this.generations.set(e,(this.generations.get(e)??0)+1),this.requests.get(e)?.abort(),this.publish()}async refresh(e=``){this.invalidateBranch(e),await this.load(e)}select(e){this.selectedPath=e,this.publish()}close(){this.requests.forEach(e=>e.abort()),this.requests.clear()}invalidateBranch(e){for(let t of[...this.pages.keys()])(t===e||t.startsWith(e?`${e}/`:``))&&(this.pages.delete(t),this.generations.set(t,(this.generations.get(t)??0)+1),this.requests.get(t)?.abort())}publish(){this.version+=1,this.changed()}};function xp(e,t){let n=new Set(e.map(e=>e.path));return[...e,...t.filter(e=>!n.has(e.path))]}var Sp=25*1024*1024;function Cp(e){return[...e].map(e=>({file:e,status:e.size>26214400?`too-large`:`queued`}))}function wp(e){return e.findIndex(e=>e.status===`queued`)}var Tp={phase:`idle`};function Ep(e,t){return{phase:`picking`,kind:e,source:t}}function Dp(e,t){return e.phase===`picking`?{...e,destination:t}:e}function Op(e){return e.phase!==`picking`||e.destination===void 0?e:{...e,phase:`submitting`}}function kp(e,t){return e.phase===`submitting`?{...e,phase:`conflict`,replaceAllowed:t}:e}function Ap(e){return e.phase===`submitting`?{...e,phase:`failed`}:e}function jp(e,t){return e.phase!==`picking`||!e.source||e.kind===`move`&&Mp(e.source)===t?!1:!(t===e.source||t.startsWith(`${e.source}/`))}function Mp(e){let t=e.lastIndexOf(`/`);return t<0?``:e.slice(0,t)}var Np=q(`<li> </li>`),Pp=q(`<button type="button" class="svelte-qx7639">Replace</button>`),Fp=q(`<div class="browser-actions svelte-qx7639" aria-label="Upload conflict"><!> <button type="button" class="svelte-qx7639">Keep both</button> <button type="button" class="svelte-qx7639">Cancel remaining</button></div>`),Ip=q(`<button type="button" class="svelte-qx7639">Cancel uploads</button>`),Lp=q(`<section class="picker svelte-qx7639" aria-label="Upload queue" aria-live="polite"><p class="svelte-qx7639"> </p> <ul></ul> <!></section>`),Rp=q(`<div class="browser-actions svelte-qx7639" aria-label="Selected file actions"><button type="button" class="svelte-qx7639">Copy</button> <button type="button" class="svelte-qx7639">Move</button> <button type="button" class="svelte-qx7639">Delete</button></div>`),zp=q(`<section class="picker svelte-qx7639" aria-label="Delete confirmation" aria-live="assertive"><h3> </h3> <p class="svelte-qx7639"> </p> <div class="browser-actions svelte-qx7639"><button type="button" class="svelte-qx7639">Cancel</button> <button type="button" class="svelte-qx7639"> </button></div></section>`),Bp=q(`<section class="picker svelte-qx7639" aria-label="Choose destination folder" aria-live="polite"><p class="svelte-qx7639"><strong> </strong> </p> <p class="svelte-qx7639"> </p> <div class="browser-actions svelte-qx7639"><button type="button" class="svelte-qx7639">Use root folder</button> <button type="button" class="svelte-qx7639"> </button> <button type="button" class="svelte-qx7639">Cancel</button></div></section>`),Vp=q(`<section class="picker svelte-qx7639" tabindex="-1" aria-label="File conflict" aria-live="assertive"><h3>Destination already contains this item</h3> <p class="svelte-qx7639"> </p> <div class="browser-actions svelte-qx7639"><!> <button type="button" class="svelte-qx7639">Keep both</button> <button type="button" class="svelte-qx7639">Cancel</button></div></section>`),Hp=q(`<section class="picker svelte-qx7639" aria-label="Transfer failed"><p role="status" class="svelte-qx7639">Transfer could not be completed.</p> <div class="browser-actions svelte-qx7639"><button type="button" class="svelte-qx7639">Try again</button><button type="button" class="svelte-qx7639">Cancel</button></div></section>`),Up=q(`<section aria-label="File browser error"><p class="svelte-qx7639">Files could not be read. Try again.</p></section>`),Wp=q(`<p role="status" class="svelte-qx7639">This folder is empty.</p>`),Gp=q(`<dialog aria-labelledby="file-browser-title" class="svelte-qx7639"><section class="file-browser-shell svelte-qx7639"><header class="svelte-qx7639"><div class="svelte-qx7639"><h2 id="file-browser-title" tabindex="-1" class="svelte-qx7639"> </h2> <p class="svelte-qx7639"> </p></div> <button type="button" class="close svelte-qx7639" aria-label="Close file browser">×</button></header> <div class="browser-actions svelte-qx7639"><button type="button" class="svelte-qx7639">Refresh</button></div> <div class="upload-actions svelte-qx7639"><input class="visually-hidden svelte-qx7639" type="file" multiple="" aria-label="Choose files to upload"/> <p class="svelte-qx7639"> </p> <button type="button" class="svelte-qx7639">Upload files</button></div> <!> <!> <!> <!> <!> <!></section></dialog>`);function Kp(e,t){Qe(t,!0);let n=$(t,`onsuccess`,3,()=>{}),r=$(t,`onmutation`,3,()=>{}),i=I(null),a=I(null),o=I(0),s=I(null),c=I(R(Tp)),l=I(null),u=I(``),d=I(!1),f=I(!1),p=I(null),m=I(null),h=I(R([])),g=I(!1),_=I(null),v=I(null),y=P(()=>G(o)<0?{entries:[],loading:!1,error:!1}:G(s)?.state(``)??{entries:[],loading:!0,error:!1}),b=P(()=>{if(!G(s)||!G(u))return;let e=G(u).includes(`/`)?G(u).slice(0,G(u).lastIndexOf(`/`)):``;return G(s).state(e).entries.find(e=>e.path===G(u))}),x=P(()=>`Files in ${t.root.relativePath===`.`?`~/`:`~/${t.root.relativePath}`}`);Li(async()=>{L(s,new bp(t.root.id,t.listDirectory,()=>{L(o,G(o)+1)},t.onerror),!0),await Sr(),G(i)?.showModal(),G(a)?.focus(),await G(s).load()}),Ri(()=>G(s)?.close());function S(){G(c).phase===`submitting`||G(f)||(G(_)?.abort(),G(s)?.close(),G(i)?.close())}let C=P(()=>G(b)?.kind===`directory`||!G(u)?G(u):``),w=P(()=>G(C)||``);async function T(e=`reject`){if(!(G(g)||!G(s))){L(g,!0);try{for(;;){let n=G(v)?.index??wp(G(h));if(L(v,null),n<0)break;let i=G(h)[n];if(!i||i.status===`too-large`)continue;L(h,G(h).map((e,t)=>t===n?{...e,status:`uploading`}:e),!0);let a=new AbortController;L(_,a,!0);try{let o=await t.uploadFile(t.root.id,{directory:G(w),filename:i.file.name,conflict:e,file:i.file},Fa(),a.signal);L(h,G(h).map((e,t)=>t===n?{...e,status:`completed`,path:o.path}:e),!0),await G(s).refresh(G(w)),G(s).select(G(w)),L(u,G(w),!0),r()(),e=`reject`}catch(e){let r=e;if(r.status===409){L(h,G(h).map((e,t)=>t===n?{...e,status:`queued`}:e),!0),L(v,{index:n,replaceAllowed:r.replaceAllowed===!0},!0);break}L(h,G(h).map((e,t)=>t===n?{...e,status:a.signal.aborted?`cancelled`:`failed`}:e),!0),t.onerror(e)}finally{L(_,null)}}}finally{L(g,!1);let e=G(h).filter(e=>e.status===`completed`).length;e&&n()(`Uploaded ${e} file${e===1?``:`s`}.`)}}}function E(e){!e||e.length===0||(L(h,Cp(e),!0),T())}function D(){G(_)?.abort(),L(h,G(h).map(e=>e.status===`queued`||e.status===`uploading`?{...e,status:`cancelled`}:e),!0),L(v,null)}function ee(e){if(G(c).phase===`submitting`||G(f)){e.preventDefault();return}e.preventDefault(),S()}async function O(){if(!(!G(u)||G(f))){L(f,!0);try{let e=G(u).includes(`/`)?G(u).slice(0,G(u).lastIndexOf(`/`)):``;await t.deleteEntry(t.root.id,G(u),Fa()),await G(s)?.refresh(e),G(s)?.select(e),L(u,e,!0),n()(`Deleted item.`),r()(),L(d,!1)}catch(e){t.onerror(e)}finally{L(f,!1)}}}async function te(){L(d,!0),await Sr(),G(p)?.focus()}function ne(e){G(u)&&L(c,Ep(e,G(u)),!0)}function re(e){jp(G(c),e)&&L(c,Dp(G(c),e),!0)}async function ie(e=`reject`){if(!G(s)||G(c).phase!==`picking`&&G(c).phase!==`conflict`)return;let i=G(c).phase===`picking`?Op(G(c)):{...G(c),phase:`submitting`};if(!(!i.source||i.destination===void 0||!i.kind)){L(c,i,!0);try{let a=await(i.kind===`copy`?t.copyEntry:t.moveEntry)(t.root.id,{source:i.source,destinationDirectory:i.destination,conflict:e},Fa()),o=i.source.includes(`/`)?i.source.slice(0,i.source.lastIndexOf(`/`)):``;i.kind===`copy`?await G(s).refresh(i.destination):await Promise.all([G(s).refresh(o),G(s).refresh(i.destination)]),G(s).select(a.path),n()(`${i.kind===`copy`?`Copied`:`Moved`} ${a.path}.`),r()(),L(c,Tp,!0)}catch(e){let n=e;n.status===409?(L(c,kp(i,n.replaceAllowed===!0),!0),await Sr(),G(l)?.focus()):(L(c,Ap(i),!0),t.onerror(e))}}}var k=Gp(),ae=z(k),oe=z(ae),se=z(oe),ce=z(se),le=z(ce,!0);N(ce),Ii(ce,e=>L(a,e),()=>G(a));var ue=V(ce,2),de=z(ue,!0);N(ue),N(se);var fe=V(se,2);N(oe);var pe=V(oe,2),me=z(pe);N(pe);var he=V(pe,2),ge=z(he);Ii(ge,e=>L(m,e),()=>G(m));var _e=V(ge,2),ve=z(_e);N(_e);var ye=V(_e,2);N(he);var be=V(he,2),xe=e=>{var t=Lp(),n=z(t),r=z(n);N(n);var i=V(n,2);Z(i,21,()=>G(h),e=>e.file,(e,t)=>{var n=Np(),r=z(n);N(n),H(()=>Y(r,`${G(t).file.name??``}: ${G(t).path??G(t).status??``}${G(t).status===`too-large`?` (maximum ${Sp/1024/1024} MiB)`:``}`)),J(e,n)}),N(i);var a=V(i,2),o=e=>{var t=Fp(),n=z(t),r=e=>{var t=Pp();K(`click`,t,()=>void T(`replace`)),J(e,t)};X(n,e=>{G(v).replaceAllowed&&e(r)});var i=V(n,2),a=V(i,2);N(t),K(`click`,i,()=>void T(`keep-both`)),K(`click`,a,D),J(e,t)},s=e=>{var t=Ip();K(`click`,t,D),J(e,t)};X(a,e=>{G(v)?e(o):G(g)&&e(s,1)}),N(t),H((e,t)=>Y(r,`${e??``} queued, ${t??``} completed`),[()=>G(h).filter(e=>e.status===`queued`).length,()=>G(h).filter(e=>e.status===`completed`).length]),J(e,t)};X(be,e=>{G(h).length&&e(xe)});var Se=V(be,2),Ce=e=>{var t=Rp(),n=z(t),r=V(n,2),i=V(r,2);N(t),K(`click`,n,()=>ne(`copy`)),K(`click`,r,()=>ne(`move`)),K(`click`,i,()=>void te()),J(e,t)};X(Se,e=>{G(s)&&G(c).phase===`idle`&&G(b)&&G(b).kind!==`symlink`&&e(Ce)});var we=V(Se,2),Te=e=>{var t=zp(),n=z(t),r=z(n,!0);N(n);var i=V(n,2),a=z(i,!0);N(i);var o=V(i,2),s=z(o);Ii(s,e=>L(p,e),()=>G(p));var c=V(s,2),l=z(c,!0);N(c),N(o),N(t),H(()=>{Y(r,G(b).kind===`directory`?`Delete folder and all contents`:`Delete file`),Y(a,G(u)),s.disabled=G(f),c.disabled=G(f),Y(l,G(f)?`Deleting…`:`Delete`)}),K(`click`,s,()=>L(d,!1)),K(`click`,c,()=>void O()),J(e,t)};X(we,e=>{G(d)&&G(b)&&e(Te)});var Ee=V(we,2),De=e=>{var t=Bp(),n=z(t),r=z(n),i=z(r);N(r);var a=V(r);N(n);var o=V(n,2),s=z(o);N(o);var l=V(o,2),u=z(l),d=V(u,2),f=z(d);N(d);var p=V(d,2);N(l),N(t),H(e=>{Y(i,`${G(c).kind===`copy`?`Copy`:`Move`}:`),Y(a,` ${G(c).source??``}`),Y(s,`Destination: ${(G(c).destination===``?`root folder`:G(c).destination??`choose a folder`)??``}`),u.disabled=e,d.disabled=G(c).destination===void 0,Y(f,`Confirm ${G(c).kind??``}`)},[()=>!jp(G(c),``)]),K(`click`,u,()=>re(``)),K(`click`,d,()=>void ie()),K(`click`,p,()=>L(c,Tp,!0)),J(e,t)},Oe=e=>{var t=Vp(),n=V(z(t),2),r=z(n,!0);N(n);var i=V(n,2),a=z(i),o=e=>{var t=Pp();K(`click`,t,()=>void ie(`replace`)),J(e,t)};X(a,e=>{G(c).replaceAllowed&&e(o)});var s=V(a,2),u=V(s,2);N(i),N(t),Ii(t,e=>L(l,e),()=>G(l)),H(()=>Y(r,G(c).destination)),K(`click`,s,()=>void ie(`keep-both`)),K(`click`,u,()=>L(c,Tp,!0)),J(e,t)},ke=e=>{var t=Hp(),n=V(z(t),2),r=z(n),i=V(r);N(n),N(t),K(`click`,r,()=>L(c,{...G(c),phase:`picking`},!0)),K(`click`,i,()=>L(c,Tp,!0)),J(e,t)};X(Ee,e=>{G(c).phase===`picking`?e(De):G(c).phase===`conflict`?e(Oe,1):G(c).phase===`failed`&&e(ke,2)});var Ae=V(Ee,2),je=e=>{J(e,Up())},Me=e=>{J(e,Wp())};X(Ae,e=>{G(s)&&!G(y).loading&&G(y).error?e(je):G(s)&&!G(y).loading&&G(y).entries.length===0&&e(Me,1)});var Ne=V(Ae,2),Pe=e=>{var t=Vr();Jr(B(t),()=>G(o),e=>{{let t=P(()=>G(c).phase===`picking`);yp(e,{get controller(){return G(s)},get revision(){return G(o)},get destinationMode(){return G(t)},ondestinationselect:re,onselectionchange:e=>L(u,e,!0)})}}),J(e,t)};X(Ne,e=>{G(s)&&e(Pe)}),N(ae),N(k),Ii(k,e=>L(i,e),()=>G(i)),H(()=>{Y(le,G(x)),Y(de,G(c).phase===`picking`?`Choose destination folder.`:`Browse folders and select a position.`),me.disabled=G(y).loading,Y(ve,`Upload destination: ${(G(b)?.kind===`file`?`Select a folder first`:G(u)||`root folder`)??``}`),ye.disabled=G(b)?.kind===`file`||G(g)}),Mr(`close`,k,function(...e){t.onclose?.apply(this,e)}),Mr(`cancel`,k,ee),K(`click`,fe,S),K(`click`,me,()=>void G(s)?.refresh()),K(`change`,ge,e=>E(e.currentTarget.files)),K(`click`,ye,()=>G(m)?.click()),J(e,k),$e()}Nr([`click`,`change`]);var qp=q(`<main class="evidence-mode svelte-1d2e8zz"><!></main>`),Jp=q(`<div class="recovery-notice" role="status" aria-live="polite" aria-atomic="true"><span> </span> <button type="button">Dismiss</button></div>`),Yp=q(`<!> <!> <div class="chat-controls svelte-1d2e8zz" aria-label="Chat controls"><!> <!></div> <div class="chat-tail svelte-1d2e8zz" aria-hidden="true"></div>`,1),Xp=q(`<p>Start a session from the Sessions tab to chat with Codex.</p>`),Zp=q(`<section class="chat-view svelte-1d2e8zz" aria-labelledby="chat-title"><h2 id="chat-title" class="visually-hidden">Chat</h2> <!> <!> <p class="visually-hidden" aria-live="polite" aria-atomic="true"> </p> <!></section>`),Qp=q(`<p>Loading skill profiles…</p>`),$p=q(`<section class="session-profile-manager" aria-labelledby="session-profile-manager-title"><div class="session-profile-manager-header svelte-1d2e8zz"><h2 id="session-profile-manager-title" tabindex="-1" class="svelte-1d2e8zz">Manage skill profiles</h2> <button type="button" class="close-profile-manager svelte-1d2e8zz" aria-label="Close skill profile editor">×</button></div> <!></section>`),em=q(`<!> <!> <!> <!>`,1),tm=q(`<main class="swipe-surface svelte-1d2e8zz"><!> <!> <!></main> <!>`,1);function nm(e,t){Qe(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=I(null),i=I(`sessions`),a=I(!1),o=I(!1),s=I(null),c=I(null),l=!1,u=I(`Loading relay…`),d=I(R(Tr(()=>t.theme))),f=I(R([])),p=`gpt-5.6-terra`,m=I([p]),h=I(p),g=I([]),_=I(null),v=I(`list`),y=I([]),b=I(``),x=I(``),S=I(``),C=I(R(new Set)),w=I(null),T=I(R([])),E=I(new Map),D=I({snapshots:new Map,attention:new Map,pending:new Set,errors:new Map}),ee=0,O=null,te=P(()=>G(T).some(e=>e.id===G(w))),ne=I(R([])),re=I(`workspace-write`),ie=I(`on-request`),k=I(R({starting:!1,error:null})),ae=P(()=>G(k).starting),oe=I(null),se=0,ce=I(null),le=I(null),ue=I(null),de=I(``),fe=I(R({kind:`unavailable`,sessionId:null})),pe=I({kind:`no-workspace`}),me=I(null),he=I(null),ge=I(!1),_e=null,ve=null,ye=0,be=0,xe=I(null),Se=P(()=>(G(T).find(e=>e.id===G(w))?.workspaceId??G(S))||null),Ce=P(()=>G(T).find(e=>e.id===G(w))?.workspacePath??null);function we(e){return`kind`in e&&e.kind===`org-source`}let Te=P(()=>G(me)&&we(G(me))?G(me):G(me)?{kind:`ready`,sessionId:`catalog`,plan:G(me)}:G(ge)?null:G(fe).kind===`ready`||G(fe).kind===`closing`||G(fe).kind===`error`&&G(fe).plan?G(fe):null),Ee=P(()=>lu(G(fe).kind===`ready`||G(fe).kind===`closing`||G(fe).kind===`error`?G(fe).plan:void 0)),De=I(R({workspaceId:null,summary:null,loading:!1,refreshing:!1,checkingOut:!1,error:null})),Oe=P(()=>G(De).workspaceId),ke=I(R(new Set)),Ae=I(!1),je=I(!1),Me=I(null),Ne=I(null),Pe=I(null),Fe=R({}),Ie=I(null),Le=``,Re=new tl({requestFrame:e=>requestAnimationFrame(e),cancelFrame:e=>cancelAnimationFrame(e),reducedMotion:()=>window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,scrollTail:e=>G(Ie)?.scrollIntoView({block:`end`,behavior:e})}),ze=new nl(e=>void Sr().then(e),e=>{G(i)===`chat`&&Re.request(e)}),A=P(()=>{let e=G(r)?.interactions.findLast(e=>e.state!==`pending`);return e?e.state===`submitting`?`Sending decision.`:e.state===`failed`?`Could not send decision. Retry is available.`:e.state===`resolved`?e.attemptedOutcome===`denied`?`Decision denied.`:e.attemptedOutcome===`dismissed`?`Request is no longer awaiting a response.`:e.attemptedOutcome===`answered`?`Answers sent.`:`Decision approved.`:``:``}),j=Xl((e,n)=>t.authorizedFetch(e,n)),M=new Ha(j,e=>L(D,e)),Be=new Pa({relay:j,publish:e=>L(E,new Map(e)),onEvent:(e,t)=>M.observe(e,t),onAuthoritativeSnapshot:(e,t)=>M.applyAuthoritative(e,t)}),Ve=new $c({relay:j,cache:hc(),publish:e=>L(r,e,!0),onSessionEvent:e=>dn(e),onRelayEvent:e=>{G(w)&&Be.observe(G(w),e)},onHistoryError:e=>{L(u,sn(e,`SESSION_HISTORY_READ_FAILED`),!0)},onSendError:(e,t)=>{let n=il(e,`MESSAGE_SEND_FAILED`);L(ce,n.message,!0),L(le,n.retryable?t:null,!0),L(u,sn(e,`MESSAGE_SEND_FAILED`),!0)},onSendAccepted:e=>{G(le)===e&&(L(ce,null),L(le,null))}}),He=new zd({start:j.startSession},Fa,e=>L(k,e,!0)),Ue=new Wl({getSummary:j.getGitSummary,pull:j.pullGit,checkout:j.checkoutGitBranch},e=>!!vl(G(f),e)?.isGitRepository,e=>L(De,e,!0),(e,t)=>sn(e,t)),We=Xf((e,n)=>t.authorizedFetch(e,n)),Ge=cu({getPlan:j.getPlan,closePlan:j.closePlan},e=>L(fe,e,!0)),Ke=hd(),qe=ol(),Je=new URLSearchParams(location.search).get(`tree-evidence`),Ye=new URLSearchParams(location.search).get(`toast-evidence`),Xe=new URLSearchParams(location.search).get(`activity-evidence`),Ze=Za(window.sessionStorage),et=new Set;Mn(()=>{for(let[e,t]of G(D).attention){let n=`${e}:${t.requestId}`;Ze.claim(n)&&qe.enqueue({kind:`error`,code:`AUTOPILOT_ATTENTION_${t.requestId}`,message:`Autopilot needs your attention.`})}}),Mn(()=>{let e=new Set;for(let[t,n]of G(D).errors){let r=`${t}:${n}`;e.add(r),!et.has(r)&&(et.add(r),qe.enqueue({kind:`error`,message:n}))}for(let t of et)e.has(t)||et.delete(t)});function tt(){L(o,!0)}function nt(){L(o,!1),Sr().then(()=>document.querySelector(`.menu-trigger`)?.focus())}Li(async()=>{if(!(Je===`sessions`||Je===`git`||Ye===`error`||Ye===`stacked`))try{let e=await ic(t.authorizedFetch);L(S,yl(G(S)||null,G(f),e.workspaces,pl.sessionBase)??``,!0),L(f,e.workspaces,!0),L(g,e.profiles),L(m,[...new Set([p,...e.models??[]])]),await zt(),L(C,ml(G(f)),!0),L(ke,ml(G(f)),!0);let n=await Ke.readSelectedSession();L(w,e.sessions.some(e=>e.id===n)?n:e.sessions[0]?.id??null,!0),G(w)&&L(de,await Ke.readDraft(G(w)),!0),L(T,e.sessions,!0),Be.bootstrap(e.sessions.filter(e=>[`ready`,`turnActive`].includes(e.state)),G(w)),M.bootstrap(e.sessions.filter(e=>[`ready`,`turnActive`].includes(e.state))),dt(),Ge.select(G(w)),G(w)&&Ve.select(G(w))}catch(e){L(u,sn(e,`RELAY_UNAVAILABLE`),!0)}}),Mn(()=>{if(!G(Ie))return;let e=new IntersectionObserver(([e])=>Re.observeTail(e?.isIntersecting??!1),{root:null});return e.observe(G(Ie)),()=>e.disconnect()}),Mn(()=>{let e=G(r),t=G(i),n=e?JSON.stringify({messages:e.messages.map(({id:e,text:t,complete:n})=>[e,t,n]),activities:e.activities.map(({id:e,label:t,detail:n})=>[e,t,n]),interactions:e.interactions.map(({key:e,state:t,attemptedOutcome:n})=>[e,t,n])}):``;!n||n===Le||(Le=n,t===`chat`&&rt(`content`))});function rt(e){ze.schedule(e)}function it(){ze.invalidate(),Re.reset(),L(i,`chat`),Ut(`chat`),rt(`initial`),Wt()}function at(e){L(d,Qi(e),!0)}Ri(()=>{ze.invalidate(),Re.cancel(),Ve.dispose(),Be.dispose(),M.dispose(),Ge.dispose(),Ue.dispose(),He.dispose(),G(_)?.dispose()});async function ot(){if(!G(S)||G(ae))return;let e=Rd({workspaceId:G(S),profile:`default`,profileState:`ok`});if(e.profile){L(u,e.profile,!0);return}L(u,`Starting session…`);let t=await He.start(G(S),{sandbox:G(re),approvalPolicy:G(ie),model:G(h),skillProfile:G(b)||void 0});if(!t){G(k).error&&L(u,sn(Error(G(k).error),`SESSION_START_FAILED`),!0);return}try{L(w,t.id,!0),Ge.select(t.id),Ke.saveSelectedSession(t.id),await st(),L(de,await Ke.readDraft(t.id),!0),Ve.select(t.id,{history:`empty`}),Be.select(t.id),it(),L(u,`Session started.`)}catch(e){L(u,sn(e,`SESSION_START_FAILED`),!0)}}async function st(){let e=++ee;O?.abort();let t=new AbortController;O=t;try{let n=await j.listSessions(t.signal);if(e!==ee||t.signal.aborted)return;L(T,n,!0);let r=G(T).filter(e=>[`ready`,`turnActive`].includes(e.state));Be.bootstrap(r,G(w)),M.bootstrap(r)}catch(e){if(t.signal.aborted||cn(e))return;throw e}finally{O===t&&(O=null)}}async function ct(e,t){await M.toggle(e,t),e===G(w)&&st().catch(()=>{})}async function lt(e){await ct(e,!0),await Sr(),e===G(w)&&document.getElementById(`chat-autopilot-${e}-button`)?.focus({preventScroll:!0})}async function ut(e,t,n){await M.resolve(e,t,n),e===G(w)&&st().catch(()=>{})}async function dt(){try{L(ne,await j.listRecentSessions(),!0)}catch{L(ne,[],!0)}}async function ft(){try{await Promise.all([st(),dt()])}catch(e){L(u,sn(e,`SESSION_REFRESH_FAILED`),!0)}}async function pt(e){L(u,`Opening session…`),L(oe,e,!0);let t=++se;try{L(w,e,!0),L(ce,null),L(le,null),Ge.select(e),Ke.saveSelectedSession(e),Ve.select(e),Be.select(e),it();let n=await Ke.readDraft(e);t===se&&G(w)===e&&L(de,n,!0)}catch(e){L(u,sn(e,`SESSION_HISTORY_READ_FAILED`),!0)}finally{t===se&&L(oe,null)}}async function mt(e){L(u,`Opening recent session…`);try{let t=await j.openRecentSession(e.id,e.cwd);G(T).some(e=>e.id===t.id)||L(T,[...G(T),t],!0),ft(),await pt(t.id)}catch(e){L(u,sn(e,`SESSION_HISTORY_READ_FAILED`),!0)}}async function ht(e){L(u,`Closing session…`);try{await j.releaseSession(e),G(w)===e&&(L(w,null),L(i,`sessions`),Ke.saveSelectedSession(null),Ve.select(null),Be.select(null),Ge.select(null)),await ft(),L(u,`Session closed.`)}catch(e){L(u,`Could not close session: ${on(e)}`)}}async function gt(e){let t=G(T).find(t=>t.id===e);try{await j.forgetSession(e),G(w)===e&&(Ve.select(null),Be.select(null),L(w,null),Ke.saveSelectedSession(null),Ge.select(null)),await ft(),L(ne,yd(G(ne),t),!0)}catch(e){L(u,`Could not forget session: ${on(e)}`)}}async function _t(e){L(u,await Zl(e)?`Resume command copied.`:`Could not copy the resume command.`,!0)}async function vt(e){if(!(!G(w)||G(r)?.activeTurnId))try{let t=await j.selectModel(G(w),e);L(T,G(T).map(e=>e.id===t.id?{...e,...t}:e),!0),L(de,``),L(u,`Model changed to ${e}; it applies to the next turn.`)}catch(e){L(u,`Could not change model: ${on(e)}`)}}async function yt(){let e=Fa();Ve.send(G(de),e),St()}async function bt(){let e=Fa();Ve.queue(G(de),e),St()}async function xt(){let e=Fa();Ve.interruptAndSend(G(de),e),St()}function St(){L(de,``),rt(`explicit`),G(w)&&Ke.saveDraft(G(w),``)}async function Ct(){G(le)&&(L(ce,null),await Ve.retryPrompt(G(le)))}async function wt(){await Ve.interrupt()}function Tt(){G(i)===`chat`&&G(w)&&Ve.refresh()}function Et(e){if(e===`chat`&&!G(te))return;let t=G(i)!==e;G(i)===`chat`&&e!==`chat`&&(ze.invalidate(),Re.cancel()),L(i,e,!0),Ut(e),e===`chat`&&(Tt(),Re.reset(),rt(`initial`),t&&Wt()),e===`git`&&G(Oe)&&Ue.refresh(),e===`plan`&&(G(w)&&Ge.refresh(G(w)),t||Lt()),e===`sessions`&&(G(v)===`profile-manager`&&Ht(!1),ft())}Mn(()=>{let e=G(Se);G(i)===`plan`&&Nt(e)});let Dt=!1;function Ot(){document.visibilityState!==`visible`||Dt||(Dt=!0,queueMicrotask(()=>{Dt=!1,document.visibilityState===`visible`&&(G(i)===`git`&&G(Oe)&&Ue.refresh(),G(i)===`plan`&&Lt())}))}let kt=null;function At(e){return e instanceof Element&&e.closest(`button, input, textarea, select, a, summary, [contenteditable]`)!==null}function jt(e){e.pointerType!==`touch`||At(e.target)||(kt={pointerId:e.pointerId,x:e.clientX,y:e.clientY})}function F(e){if(!kt||e.pointerId!==kt.pointerId)return;let t=kt;kt=null;let n=e.clientX-t.x,r=e.clientY-t.y;Math.abs(n)<48||Math.abs(n)<=Math.abs(r)||Et(Vd(G(i),n<0?1:-1,{chatEnabled:G(te)}))}function Mt(e){kt?.pointerId===e.pointerId&&(kt=null)}function Nt(e=G(Se)){if(_e?.abort(),ve?.abort(),L(me,null),L(he,null),!e){L(pe,{kind:`no-workspace`});return}let t=new AbortController;_e=t;let n=++ye;L(pe,{kind:`loading`,workspaceId:e}),j.listWorkspacePlans(e,t.signal).then(r=>{n!==ye||t.signal.aborted||L(pe,{kind:`ready`,workspaceId:e,entries:r})}).catch(r=>{n!==ye||t.signal.aborted||(G(Te)||qe.enqueue({kind:`error`,code:`WORKSPACE_PLANS_READ_FAILED`,message:`Workspace Org files could not be listed. Try opening the Plan tab again.`}),L(pe,{kind:`error`,workspaceId:e,error:r instanceof Error?r.message:`Could not load workspace plans.`}))})}function Pt(e){let t=G(Se);if(!t)return;ve?.abort();let n=new AbortController;ve=n;let r=++be;(G(w)?j.openSessionPlan(G(w),e):j.getWorkspacePlan(t,e,n.signal)).then(t=>{r!==be||n.signal.aborted||(L(me,t),L(he,e,!0),L(ge,!1))}).catch(()=>{r!==be||n.signal.aborted||qe.enqueue({kind:`error`,code:`WORKSPACE_PLAN_OPEN_${e}`,message:`This Org file could not be opened. Check that it is readable and try again.`})})}function Ft(e){let t=G(Se),n=G(Ce),r=n?fs(e,n):null;if(!t||!r){qe.enqueue({kind:`error`,code:`ORG_LINK_OUTSIDE_WORKSPACE`,message:`This Org file is not inside the selected workspace and cannot be opened.`});return}Et(`plan`),Sr().then(()=>{G(Se)!==t||G(Ce)!==n||Pt(r)})}function It(){L(me,null),L(he,null),L(ge,!0),Nt()}function Lt(){G(w)&&Ge.refresh(G(w)),G(he)?Pt(G(he)):Nt()}async function Rt(e,t){let n=new of(j);await n.load(e,t),L(_,n,!0)}async function zt(){try{let e=await j.listSkillProfiles();L(y,e.profiles.filter(e=>!(`error`in e)));let t=e.profiles.find(e=>`error`in e);L(x,t&&`error`in t?t.error.message:``,!0),G(y).some(e=>e.name===G(b))||L(b,``)}catch(e){L(y,[]),L(x,e instanceof Error?e.message:`Unable to load saved skill profiles.`,!0)}}async function Bt(e){let t=G(S)||G(f)[0]?.id||``,n=G(g).find(e=>e.state===`ok`)?.name??``;if(!t||!n){L(u,`Choose a workspace and available Codex profile before managing skill profiles.`);return}await Rt(t,n),L(v,`profile-manager`)}function Vt(e){queueMicrotask(()=>e.focus())}async function Ht(e=!0){L(v,`list`),await Sr(),e&&document.getElementById(`manage-skill-profiles`)?.focus()}function Ut(e){requestAnimationFrame(()=>{G(i)===e&&e!==`chat`&&window.scrollTo({top:0})})}function Wt(){Sr().then(()=>{G(i)===`chat`&&document.getElementById(`message`)?.focus({preventScroll:!0})})}function Gt(e){Ue.select(e.id),L(Ae,!1)}function Kt(e){let t=G(Oe)?vl(G(f),G(Oe)):null;t&&(L(s,t,!0),L(c,e,!0))}async function qt(){L(s,null),await Sr(),G(c)?.focus({preventScroll:!0})}function Jt(){l||(l=!0,queueMicrotask(()=>{l=!1,G(Oe)&&Ue.refresh()}))}async function Yt(){let e=G(Oe);!e||!vl(G(f),e)?.isGitRepository||(L(Ne,G(Ne)??Fa(),!0),await Ue.pull(G(Ne)),G(De).error||L(Ne,null))}async function Xt(e){if(G(je))return;let n=G(Oe)?vl(G(f),G(Oe)):void 0;if(!n||n.isGitRepository){L(Me,null),qe.enqueue({kind:`error`,code:`INVALID_CLONE_DESTINATION`,message:`Select a non-repository folder before cloning.`});return}let r=n.id;L(je,!0),L(Me,null);try{await j.cloneGitRepository(r,e);let n=await ic(t.authorizedFetch),i=Gl(G(f),n.workspaces,r,e,G(ke));L(S,yl(G(S)||null,G(f),n.workspaces,pl.sessionBase)??``,!0),L(f,n.workspaces,!0),Ue.select(i.selectedId),L(ke,i.expandedIds,!0),L(Me,`Repository cloned into the selected workspace.`),qe.enqueue({kind:`success`,message:`Repository cloned.`})}catch(e){sn(e,`GIT_CLONE_FAILED`)}finally{L(je,!1)}}async function Zt(e){G(Oe)&&await Ue.checkout(e)}async function Qt(){let e=G(Oe);if(e){L(Pe,G(Pe)??Fa(),!0);try{await j.pushGit(e,G(Pe)),L(Ae,!1),await Ue.refresh(),L(Pe,null)}catch(e){sn(e,`GIT_PUSH_FAILED`)}}}async function $t(e,t){rt(`explicit`),await Ve.respond(e,{decision:t})}async function en(e){rt(`explicit`);let t=e.kind===`quiz`?Ao(e.payload):jo(e.payload);if(!t)return;let n=t.questions.map(t=>({id:t.id,answer:Fe[`${e.requestId}:${t.id}`]??``})),r=e.kind===`quiz`?Mo(n):Yl(n);try{await Ve.respond(e.requestId,r)}catch{L(u,`Could not send quiz answers. Please try again.`)}}async function tn(e){let t=Jl(e.payload);if(!t){L(u,`Codex sent an invalid permission request.`);return}rt(`explicit`),await Ve.respond(e.requestId,t)}function nn(e){e.kind===`quiz`||e.kind===`userInput`?en(e):e.kind===`permissionsApproval`?tn(e):Ve.retryInteraction(e.requestId)}function rn(e,t,n){Fe[`${e}:${t}`]=n}function an(e){L(de,e,!0),G(w)&&Ke.saveDraft(G(w),e)}function on(e){return e instanceof Error?e.message:`Unknown relay error.`}function sn(e,t){let n=il(e,t);return qe.enqueue({kind:`error`,...n}),n.message}function cn(e){return(e instanceof DOMException||e instanceof Error)&&e.name===`AbortError`}function dn(e){let t=G(w);if(!t||e.type===`agent.activity.updated`)return;if(e.type===`session.updated`&&typeof e.payload==`object`&&e.payload!==null){let n=e.payload;n.id===t&&L(T,G(T).map(e=>e.id===t?{...e,...n}:e),!0);return}if(e.type!==`plan.updated`&&e.type!==`plan.closed`)return;if(Ge.applyEvent(t,e),e.type===`plan.closed`){L(T,G(T).map(e=>e.id===t?{...e,plan:void 0}:e),!0);return}let n=nu(e.payload)?e.payload.plan:ru(e.payload)?e.payload:null;n&&L(T,G(T).map(e=>e.id===t?{...e,plan:n}:e),!0)}var fn=Vr();ai(`1d2e8zz`,e=>{Fn(()=>{un.title=`Gestalt Mobile`})}),Mr(`focus`,ln,Ot),Mr(`visibilitychange`,un,Ot);var pn=B(fn),mn=e=>{Ma(e,{})},hn=e=>{fl(e,{get variant(){return Ye}})},gn=e=>{var t=qp();Ol(z(t),{get context(){return Je}}),N(t),J(e,t)},_n=e=>{var c=tm(),l=B(c),g=z(l),ee=e=>{{let n=P(()=>G(i)===`chat`?bd(G(T).find(e=>e.id===G(w))?.workspacePath??``):null),r=P(()=>G(i)===`chat`?G(T).find(e=>e.id===G(w))?.model??p:null);aa(e,{get theme(){return G(d)},get sessionPath(){return G(n)},get sessionModel(){return G(r)},get weeklyQuotaRemaining(){return G(Ee)},get passkeyAuthEnabled(){return t.passkeyAuthEnabled},get onlock(){return t.onlock},ondevices:()=>L(a,!0),onscratchpad:tt,onthemechange:at})}};X(g,e=>{G(a)||e(ee)});var O=V(g,2);ul(O,{get queue(){return qe}});var k=V(O,2),se=e=>{Jf(e,{get client(){return We},onclose:()=>{L(a,!1),Sr().then(()=>document.querySelector(`.menu-trigger`)?.focus())},get onlock(){return t.onlock},oncreatepasskey:e=>n()(e)})},fe=e=>{var t=em(),n=B(t),a=e=>{var t=Jp(),n=z(t),r=z(n,!0);N(n);var i=V(n,2);N(t),H(()=>Y(r,G(ue))),K(`click`,i,()=>L(ue,null)),J(e,t)};X(n,e=>{G(ue)&&e(a)});var o=V(n,2),c=e=>{var t=Zp(),n=V(z(t),2);{let e=P(()=>G(w)?G(D).attention.get(G(w))??null:null),t=P(()=>`chat-attention-${G(w)??`none`}`),r=P(()=>G(w)?G(D).pending.has(G(w)):!1);Ja(n,{get attention(){return G(e)},get controlId(){return G(t)},get pending(){return G(r)},onresolve:(e,t)=>G(w)&&ut(G(w),e,t)})}var i=V(n,2);{let e=P(()=>G(w)?G(D).snapshots.get(G(w))??null:null),t=P(()=>G(w)?G(D).attention.get(G(w))??null:null),n=P(()=>`chat-autopilot-safety-${G(w)??`none`}`),r=P(()=>G(w)?G(D).pending.has(G(w)):!1);Xa(i,{get autopilot(){return G(e)},get attention(){return G(t)},get controlId(){return G(n)},get pending(){return G(r)},onrecover:()=>G(w)&&void lt(G(w)),ondisable:()=>G(w)&&ct(G(w),!1)})}var a=V(i,2),o=z(a,!0);N(a);var s=V(a,2),c=e=>{var t=Yp(),n=B(t);{let e=P(()=>G(r)?[...G(r).messages]:[]),t=P(()=>G(r)?[...G(r).activities]:[]),i=P(()=>G(r)?.activeTurnId??null),a=P(()=>G(r)?.autopilotAuditTruncated??!1),o=P(()=>G(r)?[...G(r).interactions]:[]);ec(n,{get messages(){return G(e)},get activities(){return G(t)},get activeTurnId(){return G(i)},get autopilotAuditTruncated(){return G(a)},get interactions(){return G(o)},get answers(){return Fe},onanswer:rn,onquiz:e=>void en(e),onpermission:e=>void tn(e),ondecision:(e,t)=>void $t(e,t),onretry:nn,onopenorg:Ft})}var i=V(n,2);{let e=P(()=>G(r)?.status??G(u)),t=P(()=>G(r)?.activeTurnId??null),n=P(()=>G(r)?.starting??!1),a=P(()=>!!(G(T).find(e=>e.id===G(w))&&![`ready`,`turnActive`].includes(G(T).find(e=>e.id===G(w))?.state??``))),o=P(()=>G(le)!==null);bo(i,{get status(){return G(e)},get message(){return G(de)},get activeTurnId(){return G(t)},get starting(){return G(n)},get detached(){return G(a)},get retryMessage(){return G(ce)},get retryable(){return G(o)},get models(){return G(m)},onchange:an,onscrollbottom:()=>rt(`explicit`),onmodelselect:e=>void vt(e),onsend:()=>void yt(),onqueue:()=>void bt(),oninterruptsend:()=>void xt(),onretry:()=>void Ct(),oninterrupt:()=>void wt()})}var a=V(i,2),o=z(a);{let e=P(()=>G(D).snapshots.get(G(w))??null),t=P(()=>`chat-autopilot-${G(w)}`),n=P(()=>G(D).pending.has(G(w)));Ka(o,{compact:!0,get autopilot(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},ontoggle:e=>G(w)&&ct(G(w),e)})}var s=V(o,2);{let e=P(()=>G(E).get(G(w))??null),t=P(()=>G(T).find(e=>e.id===G(w))?.model??p);Aa(s,{compact:!0,get activity(){return G(e)},get rootModel(){return G(t)}})}N(a),Ii(V(a,2),e=>L(Ie,e),()=>G(Ie)),J(e,t)},l=e=>{J(e,Xp())};X(s,e=>{G(w)?e(c):e(l,-1)}),N(t),H(()=>Y(o,G(A))),J(e,t)},l=e=>{ud(e,{get catalog(){return G(pe)},get state(){return G(Te)},onopen:Pt,onclose:It})},d=e=>{{let t=P(()=>G(Oe)?vl(G(f),G(Oe))??null:null);Ul(e,{get workspaceTree(){return G(f)},get selectedWorkspace(){return G(t)},get expandedIds(){return G(ke)},get summary(){return G(De).summary},get refreshing(){return G(De).refreshing},get checkingOut(){return G(De).checkingOut},get cloning(){return G(je)},get error(){return G(De).error},get cloneStatus(){return G(Me)},get confirmingPush(){return G(Ae)},onpull:()=>void Yt(),oncheckout:e=>void Zt(e),onopenpushconfirmation:()=>L(Ae,!0),onpush:()=>void Qt(),oncancelpush:()=>L(Ae,!1),onselect:Gt,onexpandedchange:e=>L(ke,e,!0),onbrowsefiles:Kt,onclone:e=>void Xt(e)})}},g=e=>{var t=Vr(),n=B(t),r=e=>{var t=$p(),n=z(t),r=z(n);oi(r,()=>Vt);var i=V(r,2);N(n);var a=V(n,2),o=e=>{af(e,{get skillsState(){return G(_)},onrefresh:()=>G(_)?.refresh()??Promise.resolve(),onprofileschange:()=>void zt(),heading:`Skill profile editor`})},s=e=>{J(e,Qp())};X(a,e=>{G(_)?e(o):e(s,-1)}),N(t),K(`click`,i,()=>void Ht()),J(e,t)},i=e=>{Ld(e,{get sessions(){return G(T)},get recentSessions(){return G(ne)},get selectedSessionId(){return G(w)},get activitySnapshots(){return G(E)},get autopilotSnapshots(){return G(D).snapshots},get autopilotPending(){return G(D).pending},get autopilotAttention(){return G(D).attention},get workspaceTree(){return G(f)},get workspaceId(){return G(S)},get expandedIds(){return G(C)},get sandbox(){return G(re)},get approvalPolicy(){return G(ie)},get models(){return G(m)},get selectedModel(){return G(h)},get skillProfiles(){return G(y)},get selectedSkillProfile(){return G(b)},get skillProfileError(){return G(x)},get startingSession(){return G(ae)},get openingSessionId(){return G(oe)},onworkspacechange:e=>L(S,e,!0),onexpandedchange:e=>L(C,e,!0),onsandboxchange:e=>L(re,e,!0),onapprovalpolicychange:e=>L(ie,e,!0),onmodelchange:e=>L(h,e,!0),onskillprofilechange:e=>L(b,e,!0),onmanageprofiles:e=>void Bt(e),onopen:pt,onselectopen:pt,onclose:e=>void ht(e),onautopilottoggle:ct,onautopilotresolve:ut,onopenrecent:e=>void mt(e),onforget:e=>void gt(e),oncopyresume:e=>void _t(e),onstart:()=>void ot()})};X(n,e=>{G(v)===`profile-manager`?e(r):e(i,-1)}),J(e,t)};X(o,e=>{G(i)===`chat`?e(c):G(i)===`plan`?e(l,1):G(i)===`git`?e(d,2):e(g,-1)});var ee=V(o,2),O=e=>{Kp(e,{get root(){return G(s)},get listDirectory(){return j.listWorkspaceDirectory},get copyEntry(){return j.copyWorkspaceEntry},get moveEntry(){return j.moveWorkspaceEntry},get deleteEntry(){return j.deleteWorkspaceEntry},get uploadFile(){return j.uploadWorkspaceFile},onclose:()=>void qt(),onerror:e=>sn(e,`WORKSPACE_FILES_READ_FAILED`),onsuccess:e=>qe.enqueue({kind:`success`,message:e}),onmutation:Jt})};X(ee,e=>{G(s)&&e(O)}),Ud(V(ee,2),{get activeTab(){return G(i)},get chatEnabled(){return G(te)},get focusTab(){return G(xe)},onselect:Et}),J(e,t)};X(k,e=>{G(a)&&t.passkeyAuthEnabled?e(se):e(fe,-1)}),N(l);var me=V(l,2),he=e=>{op(e,{onclose:nt})};X(me,e=>{G(o)&&e(he)}),K(`pointerdown`,l,jt),K(`pointerup`,l,F),Mr(`pointercancel`,l,Mt),J(e,c)};X(pn,e=>{Xe===`true`?e(mn):Ye===`error`||Ye===`stacked`?e(hn,1):Je===`sessions`||Je===`git`?e(gn,2):e(_n,-1)}),J(e,fn),$e()}Nr([`pointerdown`,`pointerup`,`click`]);function rm(){throw Error(`AUTH_RESPONSE_INVALID`)}async function im(e){if(!e.ok){let t;try{let n=await e.json();typeof n==`object`&&n&&`code`in n&&typeof n.code==`string`&&(t=n.code)}catch{}throw Error(t??`AUTH_REQUEST_FAILED_${e.status}`)}return e.json()}function am(e){return!!e&&typeof e==`object`&&[`bootstrap`,`locked`,`authenticated`].includes(e.status)&&typeof e.publicOrigin==`string`&&(e.passkeyAuthEnabled===void 0||typeof e.passkeyAuthEnabled==`boolean`)}function om(e){return!!e&&typeof e==`object`&&!!e.options&&typeof e.options.challenge==`string`}function sm(e){return!!e&&typeof e==`object`&&e.status===`authenticated`}function cm(e=fetch){async function t(){let t=await im(await e(`/api/auth/status`,{credentials:`same-origin`}));return am(t)||rm(),t}async function n(t,n={}){let r=await im(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return om(r)||rm(),r}async function r(t,n){let r=await im(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return sm(r)||rm(),r}return{status:t,registrationOptions:e=>n(`/api/auth/register/options`,e?{enrollmentTicket:e}:{}),verifyRegistration:(e,t)=>r(`/api/auth/register/verify`,{response:e,nickname:t}),loginOptions:()=>n(`/api/auth/login/options`),verifyLogin:e=>r(`/api/auth/login/verify`,{response:e}),logout:async()=>{let t=await e(`/api/auth/logout`,{method:`POST`,credentials:`same-origin`});if(!t.ok)throw Error(`AUTH_REQUEST_FAILED_${t.status}`)}}}function lm(e,t=fetch){return async(n,r)=>{let i=await t(n,{...r,credentials:`same-origin`});return i.status===401&&(await i.clone().json().catch(()=>null))?.code===`AUTH_REQUIRED`&&e(),i}}function um(e){let t=new Uint8Array(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=/g,``)}function dm(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=(4-t.length%4)%4,r=t.padEnd(t.length+n,`=`),i=atob(r),a=new ArrayBuffer(i.length),o=new Uint8Array(a);for(let e=0;e<i.length;e++)o[e]=i.charCodeAt(e);return a}function fm(){return pm.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential==`function`)}var pm={stubThis:e=>e};function mm(e){let{id:t}=e;return{...e,id:dm(t),transports:e.transports}}function hm(e){return e===`localhost`||/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(e)}var gm=class extends Error{constructor({message:e,code:t,cause:n,name:r}){super(e,{cause:n}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=r??n.name,this.code=t}};function _m({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new gm({message:`Registration ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`ConstraintError`){if(n.authenticatorSelection?.requireResidentKey===!0)return new gm({message:`Discoverable credentials were required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT`,cause:e});if(t.mediation===`conditional`&&n.authenticatorSelection?.userVerification===`required`)return new gm({message:`User verification was required during automatic registration but it could not be performed`,code:`ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE`,cause:e});if(n.authenticatorSelection?.userVerification===`required`)return new gm({message:`User verification was required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT`,cause:e})}else if(e.name===`InvalidStateError`)return new gm({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new gm({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`NotSupportedError`)return n.pubKeyCredParams.filter(e=>e.type===`public-key`).length===0?new gm({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new gm({message:`No available authenticator supported any of the specified pubKeyCredParams algorithms`,code:`ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!hm(t))return new gm({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new gm({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`TypeError`){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new gm({message:`User ID was not between 1 and 64 characters`,code:`ERROR_INVALID_USER_ID_LENGTH`,cause:e})}else if(e.name===`UnknownError`)return new gm({message:`The authenticator was unable to process the specified options, or could not create a new credential`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return e}var vm=new class{constructor(){Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}createNewAbortSignal(){if(this.controller){let e=Error(`Cancelling existing WebAuthn API call for new one`);e.name=`AbortError`,this.controller.abort(e)}let e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){let e=Error(`Manually cancelling existing WebAuthn API call`);e.name=`AbortError`,this.controller.abort(e),this.controller=void 0}}},ym=[`cross-platform`,`platform`];function bm(e){if(e&&!(ym.indexOf(e)<0))return e}async function xm(e){!e.optionsJSON&&e.challenge&&(console.warn(`startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.`),e={optionsJSON:e});let{optionsJSON:t,useAutoRegister:n=!1}=e;if(!fm())throw Error(`WebAuthn is not supported in this browser`);let r={...t,challenge:dm(t.challenge),user:{...t.user,id:dm(t.user.id)},excludeCredentials:t.excludeCredentials?.map(mm)},i={};n&&(i.mediation=`conditional`),i.publicKey=r,i.signal=vm.createNewAbortSignal();let a;try{a=await navigator.credentials.create(i)}catch(e){throw _m({error:e,options:i})}if(!a)throw Error(`Registration was not completed`);let{id:o,rawId:s,response:c,type:l}=a,u;typeof c.getTransports==`function`&&(u=c.getTransports());let d;if(typeof c.getPublicKeyAlgorithm==`function`)try{d=c.getPublicKeyAlgorithm()}catch(e){Sm(`getPublicKeyAlgorithm()`,e)}let f;if(typeof c.getPublicKey==`function`)try{let e=c.getPublicKey();e!==null&&(f=um(e))}catch(e){Sm(`getPublicKey()`,e)}let p;if(typeof c.getAuthenticatorData==`function`)try{p=um(c.getAuthenticatorData())}catch(e){Sm(`getAuthenticatorData()`,e)}return{id:o,rawId:um(s),response:{attestationObject:um(c.attestationObject),clientDataJSON:um(c.clientDataJSON),transports:u,publicKeyAlgorithm:d,publicKey:f,authenticatorData:p},type:l,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:bm(a.authenticatorAttachment)}}function Sm(e,t){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.\n`,t)}function Cm(){if(!fm())return wm.stubThis(new Promise(e=>e(!1)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?wm.stubThis(new Promise(e=>e(!1))):wm.stubThis(e.isConditionalMediationAvailable())}var wm={stubThis:e=>e};function Tm({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new gm({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new gm({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!hm(t))return new gm({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new gm({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`UnknownError`)return new gm({message:`The authenticator was unable to process the specified options, or could not create a new assertion signature`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return e}async function Em(e){!e.optionsJSON&&e.challenge&&(console.warn(`startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.`),e={optionsJSON:e});let{optionsJSON:t,useBrowserAutofill:n=!1,verifyBrowserAutofillInput:r=!0}=e;if(!fm())throw Error(`WebAuthn is not supported in this browser`);let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(mm));let a={...t,challenge:dm(t.challenge),allowCredentials:i},o={};if(n){if(!await Cm())throw Error(`Browser does not support WebAuthn autofill`);if(document.querySelectorAll(`input[autocomplete$='webauthn']`).length<1&&r)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');o.mediation=`conditional`,a.allowCredentials=[]}o.publicKey=a,o.signal=vm.createNewAbortSignal();let s;try{s=await navigator.credentials.get(o)}catch(e){throw Tm({error:e,options:o})}if(!s)throw Error(`Authentication was not completed`);let{id:c,rawId:l,response:u,type:d}=s,f;return u.userHandle&&(f=um(u.userHandle)),{id:c,rawId:um(l),response:{authenticatorData:um(u.authenticatorData),clientDataJSON:um(u.clientDataJSON),signature:um(u.signature),userHandle:f},type:d,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:bm(s.authenticatorAttachment)}}function Dm(e){return typeof e==`object`&&e?e:{}}function Om(e){let t=Dm(e),n=typeof t.code==`string`?t.code:``;switch(n){case`ERROR_CEREMONY_ABORTED`:return`The passkey request was cancelled. You can safely try again.`;case`ERROR_INVALID_DOMAIN`:case`ERROR_INVALID_RP_ID`:return`The passkey provider rejected this site’s domain identity. Open the canonical HTTPS address and try again.`;case`ERROR_INVALID_USER_ID_LENGTH`:case`ERROR_MALFORMED_PUBKEYCREDPARAMS`:return`The relay supplied passkey options this browser could not use (${n}).`;case`ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT`:return`This passkey provider does not support the discoverable credential required for sign-in. Try another passkey provider or browser.`;case`ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT`:case`ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE`:return`This passkey provider could not perform the required screen-lock verification. Check the device screen lock or try another provider.`;case`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`:return`This passkey is already registered on this device. Try signing in instead.`;case`ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG`:return`This passkey provider supports none of the relay’s allowed cryptographic algorithms. Try another provider or browser.`;case`ERROR_AUTHENTICATOR_GENERAL_ERROR`:return`The phone’s passkey provider accepted device verification but could not create the credential (ERROR_AUTHENTICATOR_GENERAL_ERROR). Try another browser or passkey provider on this phone.`;case`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`:return Om(t.cause)}switch(typeof t.message==`string`?t.message:``){case`INVALID_REGISTRATION_REQUEST`:return`The relay did not understand the passkey response from this browser. Refresh the page and try again.`;case`REGISTRATION_COOKIE_MISSING`:return`The registration session cookie was not returned by this browser. Allow site cookies, refresh, and try again.`;case`REGISTRATION_NOT_AVAILABLE`:return`This registration attempt expired or is no longer available. Refresh the page and start again.`;case`REGISTRATION_VERIFICATION_FAILED`:return`Your device created the passkey, but the relay could not verify it. Try again and check the relay diagnostics if it persists.`;case`ORIGIN_NOT_ALLOWED`:return`This page is not using the relay’s configured public address. Open the canonical HTTPS address and try again.`;case`ENROLLMENT_NOT_AUTHORIZED`:return`This relay is no longer accepting first-device registration.`;case`AUTHENTICATION_FAILED`:return`We could not complete sign-in. Please try again.`}let r=typeof t.name==`string`?t.name:``;switch(r){case`NotAllowedError`:return`The passkey request was cancelled or timed out. Try again when ready.`;case`InvalidStateError`:return`This passkey is already registered on this device. Try signing in instead.`;case`AbortError`:return`The passkey request was cancelled. You can safely try again.`;case`SecurityError`:return`Passkeys require this device to use the configured secure site.`;case`ConstraintError`:case`DataError`:case`EncodingError`:return`This browser could not use the passkey options supplied by the relay. Refresh the page and try again.`;case`NetworkError`:return`The connection was interrupted while completing the passkey request. Check the connection and try again.`;case`OperationError`:case`UnknownError`:return`This browser or passkey provider could not finish the passkey request after device verification. Try again or use another browser on this device.`;case`TypeError`:return`This browser rejected the passkey request data. Refresh the page and try again.`;default:return/^[A-Za-z]+Error$/.test(r)?`The passkey request failed inside this browser (${r}). Try another browser or passkey provider on this device.`:`We could not complete authentication. Please try again.`}}function km(){return typeof window<`u`&&window.isSecureContext&&window.PublicKeyCredential!==void 0}function Am(e,t){async function n(n){t({kind:`checking`});try{let{status:r,publicOrigin:i,passkeyAuthEnabled:a=!0}=await e.status();if(!a){let e={kind:`authenticated`,passkeyAuthEnabled:!1};return t(e),e}if(!km()){let e={kind:`unsupported`,message:`Passkeys require a secure browser on this device.`};return t(e),e}let o=r===`authenticated`?{kind:`authenticated`,passkeyAuthEnabled:!0}:r===`bootstrap`?{kind:`bootstrap`,publicOrigin:i}:n?{kind:`enrollment`,publicOrigin:i}:{kind:`locked`};return t(o),o}catch{let e={kind:`error`,message:`We could not check this device. Please try again.`};return t(e),e}}function r(){t({kind:`authenticated`,passkeyAuthEnabled:!0})}function i(e){t({kind:`locked`,...e?{message:e}:{}})}return{check:n,retry:n,authenticated:r,locked:i}}var jm=q(`<p class="warning svelte-1c5qcm6">This one-time link authorizes one new passkey. Choose a nickname and complete the passkey
|
|
26
|
-
prompt before it expires.</p>`),
|
|
24
|
+
`);let l=b(n,r,o),d=new i(t.getSymbolSize(n));return m(d,n),h(d),g(d,n),v(d,r,0),n>=7&&_(d,n),y(d,l),isNaN(a)&&(a=s.getBestMask(d,v.bind(null,d,r))),s.applyMask(a,d),v(d,r,a),{modules:d,version:n,errorCorrectionLevel:r,maskPattern:a,segments:o}}e.create=function(e,r){if(e===void 0||e===``)throw Error(`No input text`);let i=n.M,a,o;return r!==void 0&&(i=n.from(r.errorCorrectionLevel,n.M),a=u.from(r.version),o=s.from(r.maskPattern),r.toSJISFunc&&t.setToSJISFunction(r.toSJISFunc)),S(e,a,i,o)}})),Nf=o((e=>{function t(e){if(typeof e==`number`&&(e=e.toString()),typeof e!=`string`)throw Error(`Color should be defined as hex string`);let t=e.slice().replace(`#`,``).split(``);if(t.length<3||t.length===5||t.length>8)throw Error(`Invalid hex color: `+e);(t.length===3||t.length===4)&&(t=Array.prototype.concat.apply([],t.map(function(e){return[e,e]}))),t.length===6&&t.push(`F`,`F`);let n=parseInt(t.join(``),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:n&255,hex:`#`+t.slice(0,6).join(``)}}e.getOptions=function(e){e||={},e.color||={};let n=e.margin===void 0||e.margin===null||e.margin<0?4:e.margin,r=e.width&&e.width>=21?e.width:void 0,i=e.scale||4;return{width:r,scale:r?4:i,margin:n,color:{dark:t(e.color.dark||`#000000ff`),light:t(e.color.light||`#ffffffff`)},type:e.type,rendererOpts:e.rendererOpts||{}}},e.getScale=function(e,t){return t.width&&t.width>=e+t.margin*2?t.width/(e+t.margin*2):t.scale},e.getImageWidth=function(t,n){let r=e.getScale(t,n);return Math.floor((t+n.margin*2)*r)},e.qrToImageData=function(t,n,r){let i=n.modules.size,a=n.modules.data,o=e.getScale(i,r),s=Math.floor((i+r.margin*2)*o),c=r.margin*o,l=[r.color.light,r.color.dark];for(let e=0;e<s;e++)for(let n=0;n<s;n++){let u=(e*s+n)*4,d=r.color.light;if(e>=c&&n>=c&&e<s-c&&n<s-c){let t=Math.floor((e-c)/o),r=Math.floor((n-c)/o);d=l[+!!a[t*i+r]]}t[u++]=d.r,t[u++]=d.g,t[u++]=d.b,t[u]=d.a}}})),Pf=o((e=>{var t=Nf();function n(e,t,n){e.clearRect(0,0,t.width,t.height),t.style||={},t.height=n,t.width=n,t.style.height=n+`px`,t.style.width=n+`px`}function r(){try{return document.createElement(`canvas`)}catch{throw Error(`You need to specify a canvas element`)}}e.render=function(e,i,a){let o=a,s=i;o===void 0&&(!i||!i.getContext)&&(o=i,i=void 0),i||(s=r()),o=t.getOptions(o);let c=t.getImageWidth(e.modules.size,o),l=s.getContext(`2d`),u=l.createImageData(c,c);return t.qrToImageData(u.data,e,o),n(l,s,c),l.putImageData(u,0,0),s},e.renderToDataURL=function(t,n,r){let i=r;i===void 0&&(!n||!n.getContext)&&(i=n,n=void 0),i||={};let a=e.render(t,n,i),o=i.type||`image/png`,s=i.rendererOpts||{};return a.toDataURL(o,s.quality)}})),Ff=o((e=>{var t=Nf();function n(e,t){let n=e.a/255,r=t+`="`+e.hex+`"`;return n<1?r+` `+t+`-opacity="`+n.toFixed(2).slice(1)+`"`:r}function r(e,t,n){let r=e+t;return n!==void 0&&(r+=` `+n),r}function i(e,t,n){let i=``,a=0,o=!1,s=0;for(let c=0;c<e.length;c++){let l=Math.floor(c%t),u=Math.floor(c/t);!l&&!o&&(o=!0),e[c]?(s++,c>0&&l>0&&e[c-1]||(i+=o?r(`M`,l+n,.5+u+n):r(`m`,a,0),a=0,o=!1),l+1<t&&e[c+1]||(i+=r(`h`,s),s=0)):a++}return i}e.render=function(e,r,a){let o=t.getOptions(r),s=e.modules.size,c=e.modules.data,l=s+o.margin*2,u=o.color.light.a?`<path `+n(o.color.light,`fill`)+` d="M0 0h`+l+`v`+l+`H0z"/>`:``,d=`<path `+n(o.color.dark,`stroke`)+` d="`+i(c,s,o.margin)+`"/>`,f=`viewBox="0 0 `+l+` `+l+`"`,p=`<svg xmlns="http://www.w3.org/2000/svg" `+(o.width?`width="`+o.width+`" height="`+o.width+`" `:``)+f+` shape-rendering="crispEdges">`+u+d+`</svg>
|
|
25
|
+
`;return typeof a==`function`&&a(null,p),p}})),If=c(o((e=>{var t=lf(),n=Mf(),r=Pf(),i=Ff();function a(e,r,i,a,o){let s=[].slice.call(arguments,1),c=s.length,l=typeof s[c-1]==`function`;if(!l&&!t())throw Error(`Callback required as last argument`);if(l){if(c<2)throw Error(`Too few arguments provided`);c===2?(o=i,i=r,r=a=void 0):c===3&&(r.getContext&&o===void 0?(o=a,a=void 0):(o=a,a=i,i=r,r=void 0))}else{if(c<1)throw Error(`Too few arguments provided`);return c===1?(i=r,r=a=void 0):c===2&&!r.getContext&&(a=i,i=r,r=void 0),new Promise(function(t,o){try{t(e(n.create(i,a),r,a))}catch(e){o(e)}})}try{let t=n.create(i,a);o(null,e(t,r,a))}catch(e){o(e)}}e.create=n.create,e.toCanvas=a.bind(null,r.render),e.toDataURL=a.bind(null,r.renderToDataURL),e.toString=a.bind(null,function(e,t,n){return i.render(e,n)})}))(),1);function Lf(e){return`${e.replace(/\/$/,``)}/?bootstrap=1`}async function Rf(e){return If.toDataURL(Lf(e),{errorCorrectionLevel:`M`,margin:1,width:256})}async function zf(e){return If.toDataURL(e,{errorCorrectionLevel:`M`,margin:1,width:256})}var Bf=q(`<p class="feedback svelte-1nygetn" role="status"> </p>`),Vf=q(`<span class="svelte-1nygetn">At least one authorized device is required.</span>`),Hf=q(`<li class="svelte-1nygetn"><form class="svelte-1nygetn"><label class="svelte-1nygetn">Nickname</label><input name="nickname" class="svelte-1nygetn"/> <p class="svelte-1nygetn"> <!><!></p> <button type="submit" class="svelte-1nygetn">Rename</button> <button type="button" class="svelte-1nygetn">Revoke</button> <!></form></li>`),Uf=q(`<ul aria-label="Authorized devices" class="svelte-1nygetn"></ul>`),Wf=q(`<p role="status" class="svelte-1nygetn">No authorized devices are available. Refresh this page before making changes.</p>`),Gf=q(`<button type="button" class="svelte-1nygetn">Create enrollment link</button>`),Kf=q(`<img alt="QR code for the enrollment link" class="svelte-1nygetn"/>`),qf=q(`<p role="status" class="svelte-1nygetn"> </p> <!> <label for="enrollment-link" class="svelte-1nygetn">Enrollment link</label><textarea id="enrollment-link" readonly="" rows="3" class="svelte-1nygetn"></textarea> <div class="actions svelte-1nygetn"><button type="button" class="svelte-1nygetn">Copy enrollment link</button><button type="button" class="svelte-1nygetn">Create passkey here</button><button type="button" class="svelte-1nygetn">Cancel link</button><button type="button" class="svelte-1nygetn">Replace link</button></div>`,1),Jf=q(`<main class="devices svelte-1nygetn" aria-labelledby="devices-title"><header class="svelte-1nygetn"><button type="button" class="svelte-1nygetn">Back</button> <h1 id="devices-title" class="svelte-1nygetn">Authorized devices</h1></header> <!> <!> <section aria-labelledby="add-title" class="svelte-1nygetn"><h2 id="add-title" class="svelte-1nygetn">Authorize another device</h2> <!></section></main> <dialog aria-labelledby="revoke-title" class="svelte-1nygetn"><h2 id="revoke-title" class="svelte-1nygetn">Revoke authorized device?</h2> <p class="svelte-1nygetn">This immediately signs out sessions created by this passkey.</p> <form method="dialog" class="svelte-1nygetn"><button type="submit" class="svelte-1nygetn">Keep device</button><button type="button" class="svelte-1nygetn">Revoke device</button></form></dialog>`,1);function Yf(e,t){Qe(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=I(R([])),i=I(``),a=I(null),o=I(`none`),s=I(null),c=I(null),l=I(null),u=I(null),d=I(R(Date.now())),f=P(()=>[...G(r)].sort((e,t)=>e.createdAt.localeCompare(t.createdAt))),p=P(()=>G(a)?Math.max(0,Math.ceil((Date.parse(G(a).expiresAt)-G(d))/1e3)):0),m=P(()=>`${Math.floor(G(p)/60)}:${String(G(p)%60).padStart(2,`0`)}`);function h(e){let t=e.trim();return[...t].length>=1&&[...t].length<=64}function g(){G(u)&&clearInterval(G(u)),L(u,null)}function _(){g(),L(u,setInterval(()=>void b(),15e3),!0)}function v(){return!!(G(a)&&G(o)===`pending`&&G(p)>0&&document.visibilityState===`visible`)}async function y(){try{L(r,(await t.client.list()).devices,!0)}catch{L(i,`Could not refresh authorized devices. Try again.`)}}async function b(){if(!v()){G(p)===0&&G(a)&&L(o,`expired`),g();return}try{L(o,(await t.client.ticketStatus()).status,!0),G(o)!==`pending`&&(g(),G(o)===`used`&&await y())}catch{g()}}async function x(){L(i,``);try{L(a,await t.client.createTicket(),!0),L(o,`pending`),L(s,await zf(G(a).url),!0),L(d,Date.now(),!0),_()}catch{L(i,`Could not create an enrollment link. Try again.`)}}async function S(){try{L(o,(await t.client.cancelTicket()).status,!0),L(a,null),L(s,null),g()}catch{L(i,`Could not cancel the enrollment link. Try again.`)}}async function C(){await S(),G(i)||await x()}async function w(e,n){if(!h(n)){L(i,`Device nicknames must be 1–64 characters.`);return}L(i,``);try{await t.client.rename(e.id,n.trim()),await y()}catch{L(i,`Could not rename this device. Try again.`)}}function T(e){G(f).length>1&&(L(l,e,!0),G(c)?.showModal())}async function E(){if(G(l))try{await t.client.revoke(G(l).id),G(c)?.close(),G(l).current?t.onlock():await y()}catch{L(i,`This device could not be revoked. Try again.`)}}async function D(){if(G(a))try{await navigator.clipboard.writeText(G(a).url)}catch{L(i,`Copy is unavailable here. Select the visible link instead.`)}}function ee(){document.visibilityState===`visible`&&G(o)===`pending`&&G(p)>0?(b(),_()):g()}Li(()=>{y(),document.addEventListener(`visibilitychange`,ee);let e=setInterval(()=>L(d,Date.now(),!0),1e3);return()=>clearInterval(e)}),Ri(()=>{g(),document.removeEventListener(`visibilitychange`,ee)});var O=Jf(),te=B(O),ne=z(te),re=z(ne);He(2),N(ne);var ie=V(ne,2),k=e=>{var t=Bf(),n=z(t,!0);N(t),H(()=>Y(n,G(i))),J(e,t)};X(ie,e=>{G(i)&&e(k)});var ae=V(ie,2),oe=e=>{var t=Uf();Z(t,21,()=>G(f),e=>e.id,(e,t)=>{var n=Hf(),r=z(n),i=z(r),a=V(i);Ei(a);var o=V(a,2),s=z(o),c=V(s),l=e=>{var n=Br();H(e=>Y(n,`· Last used ${e??``}`),[()=>new Date(G(t).lastUsedAt).toLocaleDateString()]),J(e,n)};X(c,e=>{G(t).lastUsedAt&&e(l)});var u=V(c),d=e=>{J(e,Br(`· This device`))};X(u,e=>{G(t).current&&e(d)}),N(o);var p=V(o,4),m=V(p,2),h=e=>{var n=Vf();H(()=>Q(n,`id`,`final-${G(t).id}`)),J(e,n)};X(m,e=>{G(f).length===1&&e(h)}),N(r),N(n),H(e=>{Q(i,`for`,`nickname-${G(t).id}`),Q(a,`id`,`nickname-${G(t).id}`),Di(a,G(t).nickname),Q(a,`aria-label`,`Nickname for ${G(t).nickname}`),Y(s,`Added ${e??``}`),p.disabled=G(f).length===1,Q(p,`aria-describedby`,G(f).length===1?`final-${G(t).id}`:void 0)},[()=>new Date(G(t).createdAt).toLocaleDateString()]),Mr(`submit`,r,e=>{e.preventDefault(),w(G(t),String(new FormData(e.currentTarget).get(`nickname`)??``))}),K(`click`,p,()=>T(G(t))),J(e,n)}),N(t),J(e,t)},se=e=>{J(e,Wf())};X(ae,e=>{G(f).length?e(oe):e(se,-1)});var ce=V(ae,2),le=V(z(ce),2),ue=e=>{var t=Gf();K(`click`,t,()=>void x()),J(e,t)},de=e=>{var t=qf(),r=B(t),i=z(r,!0);N(r);var c=V(r,2),l=e=>{var t=Kf();H(()=>Q(t,`src`,G(s))),J(e,t)};X(c,e=>{G(s)&&e(l)});var u=V(c,3);Sn(u);var d=V(u,2),f=z(d),p=V(f),h=V(p),g=V(h);N(d),H(()=>{Y(i,G(o)===`pending`?`Enrollment link is active for ${G(m)}.`:`Enrollment link is ${G(o)}.`),Di(u,G(a).url)}),K(`click`,f,()=>void D()),K(`click`,p,()=>n()(G(a).ticket)),K(`click`,h,()=>void S()),K(`click`,g,()=>void C()),J(e,t)};X(le,e=>{G(a)?e(de,-1):e(ue)}),N(ce),N(te);var fe=V(te,2),pe=V(z(fe),4),me=V(z(pe));N(pe),N(fe),Ii(fe,e=>L(c,e),()=>G(c)),K(`click`,re,function(...e){t.onclose?.apply(this,e)}),K(`click`,me,()=>void E()),J(e,O),$e()}Nr([`click`]);async function Xf(e){if(e=await e,!e.ok){let t;try{let n=await e.json();typeof n==`object`&&n&&`code`in n&&typeof n.code==`string`&&(t=n.code)}catch{}throw Error(t??`AUTH_REQUEST_FAILED_${e.status}`)}if(e.status!==204)return e.json()}function Zf(e){return{list:()=>Xf(e(`/api/auth/devices`,{credentials:`same-origin`})),rename:(t,n)=>Xf(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`PATCH`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({nickname:n})})),revoke:t=>Xf(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`DELETE`,credentials:`same-origin`})),createTicket:()=>Xf(e(`/api/auth/enrollment-tickets`,{method:`POST`,credentials:`same-origin`})),ticketStatus:()=>Xf(e(`/api/auth/enrollment-tickets/current`,{credentials:`same-origin`})),cancelTicket:()=>Xf(e(`/api/auth/enrollment-tickets/current`,{method:`DELETE`,credentials:`same-origin`}))}}var Qf=`gestalt-mobile.scratchpad`;function $f(){try{return window.localStorage}catch{return null}}function ep(e){try{return e?.getItem(`gestalt-mobile.scratchpad`)??``}catch{return``}}function tp(e,t){try{return e?(e.setItem(Qf,t),!0):!1}catch{return!1}}function np(e){try{return e?(e.removeItem(Qf),!0):!1}catch{return!1}}var rp=q(`<p class="feedback svelte-eu5bnq" role="status"> </p>`),ip=q(`<section class="clear-confirmation svelte-eu5bnq" aria-labelledby="clear-scratchpad-title"><p id="clear-scratchpad-title" class="svelte-eu5bnq"><strong>Clear the entire scratchpad?</strong></p> <p class="svelte-eu5bnq">This cannot be undone.</p> <div class="actions svelte-eu5bnq"><button type="button" class="svelte-eu5bnq">Keep text</button> <button type="button" class="danger svelte-eu5bnq">Clear all</button></div></section>`),ap=q(`<footer class="actions svelte-eu5bnq"><button type="button" class="svelte-eu5bnq">Paste</button> <button type="button" class="svelte-eu5bnq">Select all</button> <button type="button" class="danger svelte-eu5bnq">Clear</button> <button type="button" class="svelte-eu5bnq">Close</button></footer>`),op=q(`<dialog aria-labelledby="scratchpad-title" class="svelte-eu5bnq"><section class="scratchpad-shell svelte-eu5bnq"><header class="svelte-eu5bnq"><div><h2 id="scratchpad-title" class="svelte-eu5bnq">Scratchpad</h2> <p id="scratchpad-help" class="svelte-eu5bnq">Saved automatically in this browser.</p></div> <button type="button" class="close svelte-eu5bnq" aria-label="Close scratchpad">×</button></header> <label for="scratchpad-text" class="svelte-eu5bnq">Scratchpad text</label> <textarea id="scratchpad-text" aria-describedby="scratchpad-help" class="svelte-eu5bnq"></textarea> <!> <!></section></dialog>`);function sp(e,t){Qe(t,!0);let n=$(t,`storage`,19,$f),r=$(t,`clipboard`,19,()=>globalThis.navigator?.clipboard),i=I(null),a=I(null),o=I(null),s=I(``),c=I(!1),l=I(``);Li(async()=>{L(s,ep(n()),!0),await Sr(),G(i)?.showModal(),G(a)?.focus()});function u(e){L(s,e,!0),L(l,tp(n(),e)?``:`This browser could not save the scratchpad. Keep this window open until you copy the text.`,!0)}async function d(){if(!r()?.readText){L(l,`Clipboard paste is unavailable here. Long-press the text field and choose Paste.`),G(a)?.focus();return}try{let e=await r().readText(),t=G(a)?.selectionStart??G(s).length,n=G(a)?.selectionEnd??G(s).length;u(`${G(s).slice(0,t)}${e}${G(s).slice(n)}`),await Sr();let i=t+e.length;G(a)?.focus(),G(a)?.setSelectionRange(i,i)}catch{L(l,`Clipboard paste was not permitted. Long-press the text field and choose Paste.`),G(a)?.focus()}}async function f(){L(c,!0),L(l,``),await Sr(),G(o)?.focus()}function p(){L(c,!1),G(a)?.focus()}function m(){if(!np(n())){L(l,`This browser could not clear its saved scratchpad.`);return}L(s,``),L(c,!1),L(l,``),G(a)?.focus()}var h=op(),g=z(h),_=z(g),v=V(z(_),2);N(_);var y=V(_,4);Sn(y),Ii(y,e=>L(a,e),()=>G(a));var b=V(y,2),x=e=>{var t=rp(),n=z(t,!0);N(t),H(()=>Y(n,G(l))),J(e,t)};X(b,e=>{G(l)&&e(x)});var S=V(b,2),C=e=>{var t=ip(),n=V(z(t),4),r=z(n);Ii(r,e=>L(o,e),()=>G(o));var i=V(r,2);N(n),N(t),K(`click`,r,p),K(`click`,i,m),J(e,t)},w=e=>{var t=ap(),n=z(t),r=V(n,2),o=V(r,2),c=V(o,2);N(t),H(()=>o.disabled=!G(s)),K(`click`,n,()=>void d()),K(`click`,r,()=>G(a)?.select()),K(`click`,o,()=>void f()),K(`click`,c,()=>G(i)?.close()),J(e,t)};X(S,e=>{G(c)?e(C):e(w,-1)}),N(g),N(h),Ii(h,e=>L(i,e),()=>G(i)),H(()=>Di(y,G(s))),Mr(`close`,h,function(...e){t.onclose?.apply(this,e)}),K(`click`,v,()=>G(i)?.close()),K(`input`,y,e=>u(e.currentTarget.value)),J(e,h),$e()}Nr([`click`,`input`]);var cp=q(`<button class="disclosure svelte-am0nvt" type="button"> </button>`),lp=q(`<span class="disclosure svelte-am0nvt"></span>`),up=q(`<span class="unsupported svelte-am0nvt">Files cannot be destinations</span>`),dp=q(`<span class="unsupported svelte-am0nvt">Unsupported link</span>`),fp=q(`<span role="status">Loading…</span>`),pp=q(`<button type="button" class="svelte-am0nvt"> </button>`),mp=q(`<div role="group"><!> <!> <!> <!></div>`),hp=q(`<div role="treeitem"><div class="tree-row svelte-am0nvt" role="presentation"><!> <span class="tree-label svelte-am0nvt"> </span><!></div> <!></div>`),gp=q(`<p role="status">Loading files…</p>`),_p=q(`<button type="button" class="svelte-am0nvt">Retry loading files</button>`),vp=q(`<button type="button" class="svelte-am0nvt">Load more in root</button>`),yp=q(`<div class="file-tree svelte-am0nvt" role="tree" aria-label="Files"><!> <!> <!> <!></div>`);function bp(e,t){Qe(t,!0);let n=$(t,`destinationMode`,3,!1),r=$(t,`ondestinationselect`,3,()=>{}),i=$(t,`onselectionchange`,3,()=>{}),a=R({}),o=I(``),s=P(()=>t.revision<0?{entries:[],loading:!1,error:!1}:t.controller.state(``)),c=P(()=>{if(t.revision<0)return[];let e=[],n=(r,i)=>{for(let a of t.controller.state(r).entries)e.push({entry:a,level:i,parent:r}),a.kind===`directory`&&t.controller.expanded.has(a.path)&&n(a.path,i+1)};return n(``,1),e});function l(e){L(o,e,!0),a[e]?.focus()}function u(e){t.controller.expanded.has(e.path)?t.controller.collapse(e.path):t.controller.expand(e.path)}function d(e,n,r){let i=n.entry,a=n.parent,o=e=>{let t=G(c)[Math.max(0,Math.min(G(c).length-1,e))];t&&l(t.entry.path)};switch(e.key){case`ArrowDown`:e.preventDefault(),o(r+1);break;case`ArrowUp`:e.preventDefault(),o(r-1);break;case`Home`:e.preventDefault(),o(0);break;case`End`:e.preventDefault(),o(G(c).length-1);break;case`ArrowRight`:i.kind===`directory`&&(e.preventDefault(),t.controller.expanded.has(i.path)?o(r+1):u(i));break;case`ArrowLeft`:e.preventDefault(),i.kind===`directory`&&t.controller.expanded.has(i.path)?t.controller.collapse(i.path):a&&l(a);break;case`Enter`:case` `:e.preventDefault(),f(i);break}}function f(e){if(e.kind!==`symlink`){if(n()){e.kind===`directory`&&r()(e.path);return}t.controller.select(e.path),i()(e.path)}}var p=yp();{let e=(r,i=b,s=b)=>{var l=Vr();Z(B(l),17,()=>t.controller.state(i()).entries,e=>e.path,(r,i)=>{let l=P(()=>G(i).kind===`directory`),p=P(()=>G(c).find(e=>e.entry.path===G(i).path)),m=P(()=>G(c).findIndex(e=>e.entry.path===G(i).path));var h=hp();let g;var _=z(h);let v;var y=z(_),b=e=>{var n=cp(),r=z(n,!0);N(n),H((e,t)=>{Q(n,`aria-label`,e),Y(r,t)},[()=>`${t.controller.expanded.has(G(i).path)?`Collapse`:`Expand`} ${G(i).name}`,()=>t.controller.expanded.has(G(i).path)?`−`:`+`]),K(`click`,n,e=>{e.stopPropagation(),u(G(i))}),J(e,n)},x=e=>{J(e,lp())};X(y,e=>{G(l)?e(b):e(x,-1)});var S=V(y,2),C=z(S,!0);N(S);var w=V(S),T=e=>{J(e,up())},E=e=>{var t=dp();H(()=>Q(t,`id`,`${G(i).path}-unsupported`)),J(e,t)};X(w,e=>{n()&&!G(l)?e(T):G(i).kind===`symlink`&&e(E,1)}),N(_);var D=V(_,2),ee=n=>{let r=P(()=>t.controller.state(G(i).path));var a=mp(),o=z(a),c=e=>{J(e,fp())};X(o,e=>{G(r).loading&&e(c)});var l=V(o,2),u=e=>{var n=pp(),r=z(n);N(n),H(()=>Y(r,`Retry ${G(i).name??``}`)),K(`click`,n,()=>void t.controller.load(G(i).path)),J(e,n)};X(l,e=>{G(r).error&&e(u)});var d=V(l,2);e(d,()=>G(i).path,()=>s()+1);var f=V(d,2),p=e=>{var n=pp(),r=z(n);N(n),H(()=>Y(r,`Load more in ${G(i).name??``}`)),K(`click`,n,()=>void t.controller.load(G(i).path,!0)),J(e,n)};X(f,e=>{G(r).cursor&&e(p)}),N(a),H(()=>Q(a,`aria-label`,`Contents of ${G(i).name}`)),J(n,a)},O=P(()=>G(l)&&t.controller.expanded.has(G(i).path));X(D,e=>{G(O)&&e(ee)}),N(h),Ii(h,(e,t)=>a[t.path]=e,e=>a?.[e.path],()=>[G(i)]),H(e=>{g=hi(h,1,`treeitem svelte-am0nvt`,null,g,{symlink:G(i).kind===`symlink`}),Q(h,`aria-level`,s()),Q(h,`aria-expanded`,e),Q(h,`aria-selected`,G(i).kind===`symlink`?`false`:t.controller.selectedPath===G(i).path),Q(h,`aria-disabled`,G(i).kind===`symlink`),Q(h,`aria-describedby`,G(i).kind===`symlink`?`${G(i).path}-unsupported`:void 0),Q(h,`tabindex`,G(o)===G(i).path||!G(o)&&G(m)===0?0:-1),v=_i(_,``,v,{"--level":s()}),Y(C,G(i).name)},[()=>G(l)?t.controller.expanded.has(G(i).path):void 0]),Mr(`focus`,h,()=>L(o,G(i).path,!0)),K(`keydown`,h,e=>d(e,G(p),G(m))),K(`click`,h,()=>f(G(i))),J(r,h)}),J(r,l)};var m=z(p),h=e=>{J(e,gp())};X(m,e=>{G(s).loading&&e(h)});var g=V(m,2),_=e=>{var n=_p();K(`click`,n,()=>void t.controller.load(``)),J(e,n)};X(g,e=>{G(s).error&&e(_)});var v=V(g,2);e(v,()=>``,()=>1);var y=V(v,2),x=e=>{var n=vp();K(`click`,n,()=>void t.controller.load(``,!0)),J(e,n)};X(y,e=>{G(s).cursor&&e(x)}),N(p)}J(e,p),$e()}Nr([`keydown`,`click`]);var xp=class{workspaceId;read;changed;failed;expanded=new Set([``]);selectedPath=``;pages=new Map;generations=new Map;requests=new Map;version=0;constructor(e,t,n,r=()=>{}){this.workspaceId=e,this.read=t,this.changed=n,this.failed=r}state(e){return this.pages.get(e)??{entries:[],loading:!1,error:!1}}async load(e=``,t=!1){let n=this.state(e);if(n.loading||t&&!n.cursor)return;let r=(this.generations.get(e)??0)+1;this.generations.set(e,r),this.requests.get(e)?.abort();let i=new AbortController;this.requests.set(e,i),this.pages.set(e,{...n,loading:!0,error:!1}),this.publish();try{let a=await this.read(this.workspaceId,{directory:e,...t?{cursor:n.cursor}:{}},i.signal);if(i.signal.aborted||this.generations.get(e)!==r)return;let o=t?Sp(n.entries,a.entries):a.entries;this.pages.set(e,{entries:o,cursor:a.nextCursor,loading:!1,error:!1})}catch(t){if(i.signal.aborted||this.generations.get(e)!==r)return;this.pages.set(e,{...n,loading:!1,error:!0}),this.failed(t)}finally{this.requests.get(e)===i&&this.requests.delete(e),this.publish()}}async expand(e){this.expanded.add(e),this.publish(),this.pages.has(e)||await this.load(e)}collapse(e){this.expanded.delete(e),this.generations.set(e,(this.generations.get(e)??0)+1),this.requests.get(e)?.abort(),this.publish()}async refresh(e=``){this.invalidateBranch(e),await this.load(e)}select(e){this.selectedPath=e,this.publish()}close(){this.requests.forEach(e=>e.abort()),this.requests.clear()}invalidateBranch(e){for(let t of[...this.pages.keys()])(t===e||t.startsWith(e?`${e}/`:``))&&(this.pages.delete(t),this.generations.set(t,(this.generations.get(t)??0)+1),this.requests.get(t)?.abort())}publish(){this.version+=1,this.changed()}};function Sp(e,t){let n=new Set(e.map(e=>e.path));return[...e,...t.filter(e=>!n.has(e.path))]}var Cp=25*1024*1024;function wp(e){return[...e].map(e=>({file:e,status:e.size>26214400?`too-large`:`queued`}))}function Tp(e){return e.findIndex(e=>e.status===`queued`)}var Ep={phase:`idle`};function Dp(e,t){return{phase:`picking`,kind:e,source:t}}function Op(e,t){return e.phase===`picking`?{...e,destination:t}:e}function kp(e){return e.phase!==`picking`||e.destination===void 0?e:{...e,phase:`submitting`}}function Ap(e,t){return e.phase===`submitting`?{...e,phase:`conflict`,replaceAllowed:t}:e}function jp(e){return e.phase===`submitting`?{...e,phase:`failed`}:e}function Mp(e,t){return e.phase!==`picking`||!e.source||e.kind===`move`&&Np(e.source)===t?!1:!(t===e.source||t.startsWith(`${e.source}/`))}function Np(e){let t=e.lastIndexOf(`/`);return t<0?``:e.slice(0,t)}var Pp=q(`<li> </li>`),Fp=q(`<button type="button" class="svelte-qx7639">Replace</button>`),Ip=q(`<div class="browser-actions svelte-qx7639" aria-label="Upload conflict"><!> <button type="button" class="svelte-qx7639">Keep both</button> <button type="button" class="svelte-qx7639">Cancel remaining</button></div>`),Lp=q(`<button type="button" class="svelte-qx7639">Cancel uploads</button>`),Rp=q(`<section class="picker svelte-qx7639" aria-label="Upload queue" aria-live="polite"><p class="svelte-qx7639"> </p> <ul></ul> <!></section>`),zp=q(`<div class="browser-actions svelte-qx7639" aria-label="Selected file actions"><button type="button" class="svelte-qx7639">Copy</button> <button type="button" class="svelte-qx7639">Move</button> <button type="button" class="svelte-qx7639">Delete</button></div>`),Bp=q(`<section class="picker svelte-qx7639" aria-label="Delete confirmation" aria-live="assertive"><h3> </h3> <p class="svelte-qx7639"> </p> <div class="browser-actions svelte-qx7639"><button type="button" class="svelte-qx7639">Cancel</button> <button type="button" class="svelte-qx7639"> </button></div></section>`),Vp=q(`<section class="picker svelte-qx7639" aria-label="Choose destination folder" aria-live="polite"><p class="svelte-qx7639"><strong> </strong> </p> <p class="svelte-qx7639"> </p> <div class="browser-actions svelte-qx7639"><button type="button" class="svelte-qx7639">Use root folder</button> <button type="button" class="svelte-qx7639"> </button> <button type="button" class="svelte-qx7639">Cancel</button></div></section>`),Hp=q(`<section class="picker svelte-qx7639" tabindex="-1" aria-label="File conflict" aria-live="assertive"><h3>Destination already contains this item</h3> <p class="svelte-qx7639"> </p> <div class="browser-actions svelte-qx7639"><!> <button type="button" class="svelte-qx7639">Keep both</button> <button type="button" class="svelte-qx7639">Cancel</button></div></section>`),Up=q(`<section class="picker svelte-qx7639" aria-label="Transfer failed"><p role="status" class="svelte-qx7639">Transfer could not be completed.</p> <div class="browser-actions svelte-qx7639"><button type="button" class="svelte-qx7639">Try again</button><button type="button" class="svelte-qx7639">Cancel</button></div></section>`),Wp=q(`<section aria-label="File browser error"><p class="svelte-qx7639">Files could not be read. Try again.</p></section>`),Gp=q(`<p role="status" class="svelte-qx7639">This folder is empty.</p>`),Kp=q(`<dialog aria-labelledby="file-browser-title" class="svelte-qx7639"><section class="file-browser-shell svelte-qx7639"><header class="svelte-qx7639"><div class="svelte-qx7639"><h2 id="file-browser-title" tabindex="-1" class="svelte-qx7639"> </h2> <p class="svelte-qx7639"> </p></div> <button type="button" class="close svelte-qx7639" aria-label="Close file browser">×</button></header> <div class="browser-actions svelte-qx7639"><button type="button" class="svelte-qx7639">Refresh</button></div> <div class="upload-actions svelte-qx7639"><input class="visually-hidden svelte-qx7639" type="file" multiple="" aria-label="Choose files to upload"/> <p class="svelte-qx7639"> </p> <button type="button" class="svelte-qx7639">Upload files</button></div> <!> <!> <!> <!> <!> <!></section></dialog>`);function qp(e,t){Qe(t,!0);let n=$(t,`onsuccess`,3,()=>{}),r=$(t,`onmutation`,3,()=>{}),i=I(null),a=I(null),o=I(0),s=I(null),c=I(R(Ep)),l=I(null),u=I(``),d=I(!1),f=I(!1),p=I(null),m=I(null),h=I(R([])),g=I(!1),_=I(null),v=I(null),y=P(()=>G(o)<0?{entries:[],loading:!1,error:!1}:G(s)?.state(``)??{entries:[],loading:!0,error:!1}),b=P(()=>{if(!G(s)||!G(u))return;let e=G(u).includes(`/`)?G(u).slice(0,G(u).lastIndexOf(`/`)):``;return G(s).state(e).entries.find(e=>e.path===G(u))}),x=P(()=>`Files in ${t.root.relativePath===`.`?`~/`:`~/${t.root.relativePath}`}`);Li(async()=>{L(s,new xp(t.root.id,t.listDirectory,()=>{L(o,G(o)+1)},t.onerror),!0),await Sr(),G(i)?.showModal(),G(a)?.focus(),await G(s).load()}),Ri(()=>G(s)?.close());function S(){G(c).phase===`submitting`||G(f)||(G(_)?.abort(),G(s)?.close(),G(i)?.close())}let C=P(()=>G(b)?.kind===`directory`||!G(u)?G(u):``),w=P(()=>G(C)||``);async function T(e=`reject`){if(!(G(g)||!G(s))){L(g,!0);try{for(;;){let n=G(v)?.index??Tp(G(h));if(L(v,null),n<0)break;let i=G(h)[n];if(!i||i.status===`too-large`)continue;L(h,G(h).map((e,t)=>t===n?{...e,status:`uploading`}:e),!0);let a=new AbortController;L(_,a,!0);try{let o=await t.uploadFile(t.root.id,{directory:G(w),filename:i.file.name,conflict:e,file:i.file},Fa(),a.signal);L(h,G(h).map((e,t)=>t===n?{...e,status:`completed`,path:o.path}:e),!0),await G(s).refresh(G(w)),G(s).select(G(w)),L(u,G(w),!0),r()(),e=`reject`}catch(e){let r=e;if(r.status===409){L(h,G(h).map((e,t)=>t===n?{...e,status:`queued`}:e),!0),L(v,{index:n,replaceAllowed:r.replaceAllowed===!0},!0);break}L(h,G(h).map((e,t)=>t===n?{...e,status:a.signal.aborted?`cancelled`:`failed`}:e),!0),t.onerror(e)}finally{L(_,null)}}}finally{L(g,!1);let e=G(h).filter(e=>e.status===`completed`).length;e&&n()(`Uploaded ${e} file${e===1?``:`s`}.`)}}}function E(e){!e||e.length===0||(L(h,wp(e),!0),T())}function D(){G(_)?.abort(),L(h,G(h).map(e=>e.status===`queued`||e.status===`uploading`?{...e,status:`cancelled`}:e),!0),L(v,null)}function ee(e){if(G(c).phase===`submitting`||G(f)){e.preventDefault();return}e.preventDefault(),S()}async function O(){if(!(!G(u)||G(f))){L(f,!0);try{let e=G(u).includes(`/`)?G(u).slice(0,G(u).lastIndexOf(`/`)):``;await t.deleteEntry(t.root.id,G(u),Fa()),await G(s)?.refresh(e),G(s)?.select(e),L(u,e,!0),n()(`Deleted item.`),r()(),L(d,!1)}catch(e){t.onerror(e)}finally{L(f,!1)}}}async function te(){L(d,!0),await Sr(),G(p)?.focus()}function ne(e){G(u)&&L(c,Dp(e,G(u)),!0)}function re(e){Mp(G(c),e)&&L(c,Op(G(c),e),!0)}async function ie(e=`reject`){if(!G(s)||G(c).phase!==`picking`&&G(c).phase!==`conflict`)return;let i=G(c).phase===`picking`?kp(G(c)):{...G(c),phase:`submitting`};if(!(!i.source||i.destination===void 0||!i.kind)){L(c,i,!0);try{let a=await(i.kind===`copy`?t.copyEntry:t.moveEntry)(t.root.id,{source:i.source,destinationDirectory:i.destination,conflict:e},Fa()),o=i.source.includes(`/`)?i.source.slice(0,i.source.lastIndexOf(`/`)):``;i.kind===`copy`?await G(s).refresh(i.destination):await Promise.all([G(s).refresh(o),G(s).refresh(i.destination)]),G(s).select(a.path),n()(`${i.kind===`copy`?`Copied`:`Moved`} ${a.path}.`),r()(),L(c,Ep,!0)}catch(e){let n=e;n.status===409?(L(c,Ap(i,n.replaceAllowed===!0),!0),await Sr(),G(l)?.focus()):(L(c,jp(i),!0),t.onerror(e))}}}var k=Kp(),ae=z(k),oe=z(ae),se=z(oe),ce=z(se),le=z(ce,!0);N(ce),Ii(ce,e=>L(a,e),()=>G(a));var ue=V(ce,2),de=z(ue,!0);N(ue),N(se);var fe=V(se,2);N(oe);var pe=V(oe,2),me=z(pe);N(pe);var he=V(pe,2),ge=z(he);Ii(ge,e=>L(m,e),()=>G(m));var _e=V(ge,2),ve=z(_e);N(_e);var ye=V(_e,2);N(he);var be=V(he,2),xe=e=>{var t=Rp(),n=z(t),r=z(n);N(n);var i=V(n,2);Z(i,21,()=>G(h),e=>e.file,(e,t)=>{var n=Pp(),r=z(n);N(n),H(()=>Y(r,`${G(t).file.name??``}: ${G(t).path??G(t).status??``}${G(t).status===`too-large`?` (maximum ${Cp/1024/1024} MiB)`:``}`)),J(e,n)}),N(i);var a=V(i,2),o=e=>{var t=Ip(),n=z(t),r=e=>{var t=Fp();K(`click`,t,()=>void T(`replace`)),J(e,t)};X(n,e=>{G(v).replaceAllowed&&e(r)});var i=V(n,2),a=V(i,2);N(t),K(`click`,i,()=>void T(`keep-both`)),K(`click`,a,D),J(e,t)},s=e=>{var t=Lp();K(`click`,t,D),J(e,t)};X(a,e=>{G(v)?e(o):G(g)&&e(s,1)}),N(t),H((e,t)=>Y(r,`${e??``} queued, ${t??``} completed`),[()=>G(h).filter(e=>e.status===`queued`).length,()=>G(h).filter(e=>e.status===`completed`).length]),J(e,t)};X(be,e=>{G(h).length&&e(xe)});var Se=V(be,2),Ce=e=>{var t=zp(),n=z(t),r=V(n,2),i=V(r,2);N(t),K(`click`,n,()=>ne(`copy`)),K(`click`,r,()=>ne(`move`)),K(`click`,i,()=>void te()),J(e,t)};X(Se,e=>{G(s)&&G(c).phase===`idle`&&G(b)&&G(b).kind!==`symlink`&&e(Ce)});var we=V(Se,2),Te=e=>{var t=Bp(),n=z(t),r=z(n,!0);N(n);var i=V(n,2),a=z(i,!0);N(i);var o=V(i,2),s=z(o);Ii(s,e=>L(p,e),()=>G(p));var c=V(s,2),l=z(c,!0);N(c),N(o),N(t),H(()=>{Y(r,G(b).kind===`directory`?`Delete folder and all contents`:`Delete file`),Y(a,G(u)),s.disabled=G(f),c.disabled=G(f),Y(l,G(f)?`Deleting…`:`Delete`)}),K(`click`,s,()=>L(d,!1)),K(`click`,c,()=>void O()),J(e,t)};X(we,e=>{G(d)&&G(b)&&e(Te)});var Ee=V(we,2),De=e=>{var t=Vp(),n=z(t),r=z(n),i=z(r);N(r);var a=V(r);N(n);var o=V(n,2),s=z(o);N(o);var l=V(o,2),u=z(l),d=V(u,2),f=z(d);N(d);var p=V(d,2);N(l),N(t),H(e=>{Y(i,`${G(c).kind===`copy`?`Copy`:`Move`}:`),Y(a,` ${G(c).source??``}`),Y(s,`Destination: ${(G(c).destination===``?`root folder`:G(c).destination??`choose a folder`)??``}`),u.disabled=e,d.disabled=G(c).destination===void 0,Y(f,`Confirm ${G(c).kind??``}`)},[()=>!Mp(G(c),``)]),K(`click`,u,()=>re(``)),K(`click`,d,()=>void ie()),K(`click`,p,()=>L(c,Ep,!0)),J(e,t)},Oe=e=>{var t=Hp(),n=V(z(t),2),r=z(n,!0);N(n);var i=V(n,2),a=z(i),o=e=>{var t=Fp();K(`click`,t,()=>void ie(`replace`)),J(e,t)};X(a,e=>{G(c).replaceAllowed&&e(o)});var s=V(a,2),u=V(s,2);N(i),N(t),Ii(t,e=>L(l,e),()=>G(l)),H(()=>Y(r,G(c).destination)),K(`click`,s,()=>void ie(`keep-both`)),K(`click`,u,()=>L(c,Ep,!0)),J(e,t)},ke=e=>{var t=Up(),n=V(z(t),2),r=z(n),i=V(r);N(n),N(t),K(`click`,r,()=>L(c,{...G(c),phase:`picking`},!0)),K(`click`,i,()=>L(c,Ep,!0)),J(e,t)};X(Ee,e=>{G(c).phase===`picking`?e(De):G(c).phase===`conflict`?e(Oe,1):G(c).phase===`failed`&&e(ke,2)});var Ae=V(Ee,2),je=e=>{J(e,Wp())},Me=e=>{J(e,Gp())};X(Ae,e=>{G(s)&&!G(y).loading&&G(y).error?e(je):G(s)&&!G(y).loading&&G(y).entries.length===0&&e(Me,1)});var Ne=V(Ae,2),Pe=e=>{var t=Vr();Jr(B(t),()=>G(o),e=>{{let t=P(()=>G(c).phase===`picking`);bp(e,{get controller(){return G(s)},get revision(){return G(o)},get destinationMode(){return G(t)},ondestinationselect:re,onselectionchange:e=>L(u,e,!0)})}}),J(e,t)};X(Ne,e=>{G(s)&&e(Pe)}),N(ae),N(k),Ii(k,e=>L(i,e),()=>G(i)),H(()=>{Y(le,G(x)),Y(de,G(c).phase===`picking`?`Choose destination folder.`:`Browse folders and select a position.`),me.disabled=G(y).loading,Y(ve,`Upload destination: ${(G(b)?.kind===`file`?`Select a folder first`:G(u)||`root folder`)??``}`),ye.disabled=G(b)?.kind===`file`||G(g)}),Mr(`close`,k,function(...e){t.onclose?.apply(this,e)}),Mr(`cancel`,k,ee),K(`click`,fe,S),K(`click`,me,()=>void G(s)?.refresh()),K(`change`,ge,e=>E(e.currentTarget.files)),K(`click`,ye,()=>G(m)?.click()),J(e,k),$e()}Nr([`click`,`change`]);var Jp=q(`<main class="evidence-mode svelte-1d2e8zz"><!></main>`),Yp=q(`<div class="recovery-notice" role="status" aria-live="polite" aria-atomic="true"><span> </span> <button type="button">Dismiss</button></div>`),Xp=q(`<!> <!> <div class="chat-controls svelte-1d2e8zz" aria-label="Chat controls"><!> <!></div> <div class="chat-tail svelte-1d2e8zz" aria-hidden="true"></div>`,1),Zp=q(`<p>Start a session from the Sessions tab to chat with Codex.</p>`),Qp=q(`<section class="chat-view svelte-1d2e8zz" aria-labelledby="chat-title"><h2 id="chat-title" class="visually-hidden">Chat</h2> <!> <!> <p class="visually-hidden" aria-live="polite" aria-atomic="true"> </p> <!></section>`),$p=q(`<p>Loading skill profiles…</p>`),em=q(`<section class="session-profile-manager" aria-labelledby="session-profile-manager-title"><div class="session-profile-manager-header svelte-1d2e8zz"><h2 id="session-profile-manager-title" tabindex="-1" class="svelte-1d2e8zz">Manage skill profiles</h2> <button type="button" class="close-profile-manager svelte-1d2e8zz" aria-label="Close skill profile editor">×</button></div> <!></section>`),tm=q(`<!> <!> <!> <!>`,1),nm=q(`<main class="swipe-surface svelte-1d2e8zz"><!> <!> <!></main> <!>`,1);function rm(e,t){Qe(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=I(null),i=I(`sessions`),a=I(!1),o=I(!1),s=I(null),c=I(null),l=!1,u=I(`Loading relay…`),d=I(R(Tr(()=>t.theme))),f=I(R([])),p=`gpt-5.6-terra`,m=I([p]),h=I(p),g=I([]),_=I(null),v=I(`list`),y=I([]),b=I(``),x=I(``),S=I(``),C=I(R(new Set)),w=I(null),T=I(R([])),E=I(new Map),D=I({snapshots:new Map,attention:new Map,pending:new Set,errors:new Map}),ee=0,O=null,te=P(()=>G(T).some(e=>e.id===G(w))),ne=I(R([])),re=I(`workspace-write`),ie=I(`on-request`),k=I(R({starting:!1,error:null})),ae=P(()=>G(k).starting),oe=I(null),se=0,ce=I(null),le=I(null),ue=I(null),de=I(``),fe=I(R({kind:`unavailable`,sessionId:null})),pe=I({kind:`no-workspace`}),me=I(null),he=I(null),ge=I(!1),_e=null,ve=null,ye=0,be=0,xe=I(null),Se=P(()=>(G(T).find(e=>e.id===G(w))?.workspaceId??G(S))||null),Ce=P(()=>G(T).find(e=>e.id===G(w))?.workspacePath??null);function we(e){return`kind`in e&&e.kind===`org-source`}let Te=P(()=>G(me)&&we(G(me))?G(me):G(me)?{kind:`ready`,sessionId:`catalog`,plan:G(me)}:G(ge)?null:G(fe).kind===`ready`||G(fe).kind===`closing`||G(fe).kind===`error`&&G(fe).plan?G(fe):null),Ee=P(()=>uu(G(fe).kind===`ready`||G(fe).kind===`closing`||G(fe).kind===`error`?G(fe).plan:void 0)),De=I(R({workspaceId:null,summary:null,loading:!1,refreshing:!1,checkingOut:!1,error:null})),Oe=P(()=>G(De).workspaceId),ke=I(R(new Set)),Ae=I(!1),je=I(!1),Me=I(null),Ne=I(null),Pe=I(null),Fe=R({}),Ie=I(null),Le=``,Re=new nl({requestFrame:e=>requestAnimationFrame(e),cancelFrame:e=>cancelAnimationFrame(e),reducedMotion:()=>window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,scrollTail:e=>G(Ie)?.scrollIntoView({block:`end`,behavior:e})}),ze=new rl(e=>void Sr().then(e),e=>{G(i)===`chat`&&Re.request(e)}),A=P(()=>{let e=G(r)?.interactions.findLast(e=>e.state!==`pending`);return e?e.state===`submitting`?`Sending decision.`:e.state===`failed`?`Could not send decision. Retry is available.`:e.state===`resolved`?e.attemptedOutcome===`denied`?`Decision denied.`:e.attemptedOutcome===`dismissed`?`Request is no longer awaiting a response.`:e.attemptedOutcome===`answered`?`Answers sent.`:`Decision approved.`:``:``}),j=Zl((e,n)=>t.authorizedFetch(e,n)),M=new Ha(j,e=>L(D,e)),Be=new Pa({relay:j,publish:e=>L(E,new Map(e)),onEvent:(e,t)=>M.observe(e,t),onAuthoritativeSnapshot:(e,t)=>M.applyAuthoritative(e,t)}),Ve=new el({relay:j,cache:hc(),publish:e=>L(r,e,!0),onSessionEvent:e=>dn(e),onRelayEvent:e=>{G(w)&&Be.observe(G(w),e)},onHistoryError:e=>{L(u,sn(e,`SESSION_HISTORY_READ_FAILED`),!0)},onSendError:(e,t)=>{let n=al(e,`MESSAGE_SEND_FAILED`);L(ce,n.message,!0),L(le,n.retryable?t:null,!0),L(u,sn(e,`MESSAGE_SEND_FAILED`),!0)},onSendAccepted:e=>{G(le)===e&&(L(ce,null),L(le,null))}}),He=new Bd({start:j.startSession},Fa,e=>L(k,e,!0)),Ue=new Gl({getSummary:j.getGitSummary,pull:j.pullGit,checkout:j.checkoutGitBranch},e=>!!yl(G(f),e)?.isGitRepository,e=>L(De,e,!0),(e,t)=>sn(e,t)),We=Zf((e,n)=>t.authorizedFetch(e,n)),Ge=lu({getPlan:j.getPlan,closePlan:j.closePlan},e=>L(fe,e,!0)),Ke=gd(),qe=sl(),Je=new URLSearchParams(location.search).get(`tree-evidence`),Ye=new URLSearchParams(location.search).get(`toast-evidence`),Xe=new URLSearchParams(location.search).get(`activity-evidence`),Ze=Za(window.sessionStorage),et=new Set;Mn(()=>{for(let[e,t]of G(D).attention){let n=`${e}:${t.requestId}`;Ze.claim(n)&&qe.enqueue({kind:`error`,code:`AUTOPILOT_ATTENTION_${t.requestId}`,message:`Autopilot needs your attention.`})}}),Mn(()=>{let e=new Set;for(let[t,n]of G(D).errors){let r=`${t}:${n}`;e.add(r),!et.has(r)&&(et.add(r),qe.enqueue({kind:`error`,message:n}))}for(let t of et)e.has(t)||et.delete(t)});function tt(){L(o,!0)}function nt(){L(o,!1),Sr().then(()=>document.querySelector(`.menu-trigger`)?.focus())}Li(async()=>{if(!(Je===`sessions`||Je===`git`||Ye===`error`||Ye===`stacked`))try{let e=await ic(t.authorizedFetch);L(S,bl(G(S)||null,G(f),e.workspaces,ml.sessionBase)??``,!0),L(f,e.workspaces,!0),L(g,e.profiles),L(m,[...new Set([p,...e.models??[]])]),await zt(),L(C,hl(G(f)),!0),L(ke,hl(G(f)),!0);let n=await Ke.readSelectedSession();L(w,e.sessions.some(e=>e.id===n)?n:e.sessions[0]?.id??null,!0),G(w)&&L(de,await Ke.readDraft(G(w)),!0),L(T,e.sessions,!0),Be.bootstrap(e.sessions.filter(e=>[`ready`,`turnActive`].includes(e.state)),G(w)),M.bootstrap(e.sessions.filter(e=>[`ready`,`turnActive`].includes(e.state))),dt(),Ge.select(G(w)),G(w)&&Ve.select(G(w))}catch(e){L(u,sn(e,`RELAY_UNAVAILABLE`),!0)}}),Mn(()=>{if(!G(Ie))return;let e=new IntersectionObserver(([e])=>Re.observeTail(e?.isIntersecting??!1),{root:null});return e.observe(G(Ie)),()=>e.disconnect()}),Mn(()=>{let e=G(r),t=G(i),n=e?JSON.stringify({messages:e.messages.map(({id:e,text:t,complete:n})=>[e,t,n]),activities:e.activities.map(({id:e,label:t,detail:n})=>[e,t,n]),interactions:e.interactions.map(({key:e,state:t,attemptedOutcome:n})=>[e,t,n])}):``;!n||n===Le||(Le=n,t===`chat`&&rt(`content`))});function rt(e){ze.schedule(e)}function it(){ze.invalidate(),Re.reset(),L(i,`chat`),Ut(`chat`),rt(`initial`),Wt()}function at(e){L(d,Qi(e),!0)}Ri(()=>{ze.invalidate(),Re.cancel(),Ve.dispose(),Be.dispose(),M.dispose(),Ge.dispose(),Ue.dispose(),He.dispose(),G(_)?.dispose()});async function ot(){if(!G(S)||G(ae))return;let e=zd({workspaceId:G(S),profile:`default`,profileState:`ok`});if(e.profile){L(u,e.profile,!0);return}L(u,`Starting session…`);let t=await He.start(G(S),{sandbox:G(re),approvalPolicy:G(ie),model:G(h),skillProfile:G(b)||void 0});if(!t){G(k).error&&L(u,sn(Error(G(k).error),`SESSION_START_FAILED`),!0);return}try{L(w,t.id,!0),Ge.select(t.id),Ke.saveSelectedSession(t.id),await st(),L(de,await Ke.readDraft(t.id),!0),Ve.select(t.id,{history:`empty`}),Be.select(t.id),it(),L(u,`Session started.`)}catch(e){L(u,sn(e,`SESSION_START_FAILED`),!0)}}async function st(){let e=++ee;O?.abort();let t=new AbortController;O=t;try{let n=await j.listSessions(t.signal);if(e!==ee||t.signal.aborted)return;L(T,n,!0);let r=G(T).filter(e=>[`ready`,`turnActive`].includes(e.state));Be.bootstrap(r,G(w)),M.bootstrap(r)}catch(e){if(t.signal.aborted||cn(e))return;throw e}finally{O===t&&(O=null)}}async function ct(e,t){await M.toggle(e,t),e===G(w)&&st().catch(()=>{})}async function lt(e){await ct(e,!0),await Sr(),e===G(w)&&document.getElementById(`chat-autopilot-${e}-button`)?.focus({preventScroll:!0})}async function ut(e,t,n){await M.resolve(e,t,n),e===G(w)&&st().catch(()=>{})}async function dt(){try{L(ne,await j.listRecentSessions(),!0)}catch{L(ne,[],!0)}}async function ft(){try{await Promise.all([st(),dt()])}catch(e){L(u,sn(e,`SESSION_REFRESH_FAILED`),!0)}}async function pt(e){L(u,`Opening session…`),L(oe,e,!0);let t=++se;try{L(w,e,!0),L(ce,null),L(le,null),Ge.select(e),Ke.saveSelectedSession(e),Ve.select(e),Be.select(e),it();let n=await Ke.readDraft(e);t===se&&G(w)===e&&L(de,n,!0)}catch(e){L(u,sn(e,`SESSION_HISTORY_READ_FAILED`),!0)}finally{t===se&&L(oe,null)}}async function mt(e){L(u,`Opening recent session…`);try{let t=await j.openRecentSession(e.id,e.cwd);G(T).some(e=>e.id===t.id)||L(T,[...G(T),t],!0),ft(),await pt(t.id)}catch(e){L(u,sn(e,`SESSION_HISTORY_READ_FAILED`),!0)}}async function ht(e){L(u,`Closing session…`);try{await j.releaseSession(e),G(w)===e&&(L(w,null),L(i,`sessions`),Ke.saveSelectedSession(null),Ve.select(null),Be.select(null),Ge.select(null)),await ft(),L(u,`Session closed.`)}catch(e){L(u,`Could not close session: ${on(e)}`)}}async function gt(e){let t=G(T).find(t=>t.id===e);try{await j.forgetSession(e),G(w)===e&&(Ve.select(null),Be.select(null),L(w,null),Ke.saveSelectedSession(null),Ge.select(null)),await ft(),L(ne,bd(G(ne),t),!0)}catch(e){L(u,`Could not forget session: ${on(e)}`)}}async function _t(e){L(u,await Ql(e)?`Resume command copied.`:`Could not copy the resume command.`,!0)}async function vt(e){if(!(!G(w)||G(r)?.activeTurnId))try{let t=await j.selectModel(G(w),e);L(T,G(T).map(e=>e.id===t.id?{...e,...t}:e),!0),L(de,``),L(u,`Model changed to ${e}; it applies to the next turn.`)}catch(e){L(u,`Could not change model: ${on(e)}`)}}async function yt(){let e=Fa();Ve.send(G(de),e),St()}async function bt(){let e=Fa();Ve.queue(G(de),e),St()}async function xt(){let e=Fa();Ve.interruptAndSend(G(de),e),St()}function St(){L(de,``),rt(`explicit`),G(w)&&Ke.saveDraft(G(w),``)}async function Ct(){G(le)&&(L(ce,null),await Ve.retryPrompt(G(le)))}async function wt(){await Ve.interrupt()}function Tt(){G(i)===`chat`&&G(w)&&Ve.refresh()}function Et(e){if(e===`chat`&&!G(te))return;let t=G(i)!==e;G(i)===`chat`&&e!==`chat`&&(ze.invalidate(),Re.cancel()),L(i,e,!0),Ut(e),e===`chat`&&(Tt(),Re.reset(),rt(`initial`),t&&Wt()),e===`git`&&G(Oe)&&Ue.refresh(),e===`plan`&&(G(w)&&Ge.refresh(G(w)),t||Lt()),e===`sessions`&&(G(v)===`profile-manager`&&Ht(!1),ft())}Mn(()=>{let e=G(Se);G(i)===`plan`&&Nt(e)});let Dt=!1;function Ot(){document.visibilityState!==`visible`||Dt||(Dt=!0,queueMicrotask(()=>{Dt=!1,document.visibilityState===`visible`&&(G(i)===`git`&&G(Oe)&&Ue.refresh(),G(i)===`plan`&&Lt())}))}let kt=null;function At(e){return e instanceof Element&&e.closest(`button, input, textarea, select, a, summary, [contenteditable]`)!==null}function jt(e){e.pointerType!==`touch`||At(e.target)||(kt={pointerId:e.pointerId,x:e.clientX,y:e.clientY})}function F(e){if(!kt||e.pointerId!==kt.pointerId)return;let t=kt;kt=null;let n=e.clientX-t.x,r=e.clientY-t.y;Math.abs(n)<48||Math.abs(n)<=Math.abs(r)||Et(Hd(G(i),n<0?1:-1,{chatEnabled:G(te)}))}function Mt(e){kt?.pointerId===e.pointerId&&(kt=null)}function Nt(e=G(Se)){if(_e?.abort(),ve?.abort(),L(me,null),L(he,null),!e){L(pe,{kind:`no-workspace`});return}let t=new AbortController;_e=t;let n=++ye;L(pe,{kind:`loading`,workspaceId:e}),j.listWorkspacePlans(e,t.signal).then(r=>{n!==ye||t.signal.aborted||L(pe,{kind:`ready`,workspaceId:e,entries:r})}).catch(r=>{n!==ye||t.signal.aborted||(G(Te)||qe.enqueue({kind:`error`,code:`WORKSPACE_PLANS_READ_FAILED`,message:`Workspace Org files could not be listed. Try opening the Plan tab again.`}),L(pe,{kind:`error`,workspaceId:e,error:r instanceof Error?r.message:`Could not load workspace plans.`}))})}function Pt(e){let t=G(Se);if(!t)return;ve?.abort();let n=new AbortController;ve=n;let r=++be;(G(w)?j.openSessionPlan(G(w),e):j.getWorkspacePlan(t,e,n.signal)).then(t=>{r!==be||n.signal.aborted||(L(me,t),L(he,e,!0),L(ge,!1))}).catch(()=>{r!==be||n.signal.aborted||qe.enqueue({kind:`error`,code:`WORKSPACE_PLAN_OPEN_${e}`,message:`This Org file could not be opened. Check that it is readable and try again.`})})}function Ft(e){let t=G(Se),n=G(Ce),r=n?fs(e,n):null;if(!t||!r){qe.enqueue({kind:`error`,code:`ORG_LINK_OUTSIDE_WORKSPACE`,message:`This Org file is not inside the selected workspace and cannot be opened.`});return}Et(`plan`),Sr().then(()=>{G(Se)!==t||G(Ce)!==n||Pt(r)})}function It(){L(me,null),L(he,null),L(ge,!0),Nt()}function Lt(){G(w)&&Ge.refresh(G(w)),G(he)?Pt(G(he)):Nt()}async function Rt(e,t){let n=new sf(j);await n.load(e,t),L(_,n,!0)}async function zt(){try{let e=await j.listSkillProfiles();L(y,e.profiles.filter(e=>!(`error`in e)));let t=e.profiles.find(e=>`error`in e);L(x,t&&`error`in t?t.error.message:``,!0),G(y).some(e=>e.name===G(b))||L(b,``)}catch(e){L(y,[]),L(x,e instanceof Error?e.message:`Unable to load saved skill profiles.`,!0)}}async function Bt(e){let t=G(S)||G(f)[0]?.id||``,n=G(g).find(e=>e.state===`ok`)?.name??``;if(!t||!n){L(u,`Choose a workspace and available Codex profile before managing skill profiles.`);return}await Rt(t,n),L(v,`profile-manager`)}function Vt(e){queueMicrotask(()=>e.focus())}async function Ht(e=!0){L(v,`list`),await Sr(),e&&document.getElementById(`manage-skill-profiles`)?.focus()}function Ut(e){requestAnimationFrame(()=>{G(i)===e&&e!==`chat`&&window.scrollTo({top:0})})}function Wt(){Sr().then(()=>{G(i)===`chat`&&document.getElementById(`message`)?.focus({preventScroll:!0})})}function Gt(e){Ue.select(e.id),L(Ae,!1)}function Kt(e){let t=G(Oe)?yl(G(f),G(Oe)):null;t&&(L(s,t,!0),L(c,e,!0))}async function qt(){L(s,null),await Sr(),G(c)?.focus({preventScroll:!0})}function Jt(){l||(l=!0,queueMicrotask(()=>{l=!1,G(Oe)&&Ue.refresh()}))}async function Yt(){let e=G(Oe);!e||!yl(G(f),e)?.isGitRepository||(L(Ne,G(Ne)??Fa(),!0),await Ue.pull(G(Ne)),G(De).error||L(Ne,null))}async function Xt(e){if(G(je))return;let n=G(Oe)?yl(G(f),G(Oe)):void 0;if(!n||n.isGitRepository){L(Me,null),qe.enqueue({kind:`error`,code:`INVALID_CLONE_DESTINATION`,message:`Select a non-repository folder before cloning.`});return}let r=n.id;L(je,!0),L(Me,null);try{await j.cloneGitRepository(r,e);let n=await ic(t.authorizedFetch),i=Kl(G(f),n.workspaces,r,e,G(ke));L(S,bl(G(S)||null,G(f),n.workspaces,ml.sessionBase)??``,!0),L(f,n.workspaces,!0),Ue.select(i.selectedId),L(ke,i.expandedIds,!0),L(Me,`Repository cloned into the selected workspace.`),qe.enqueue({kind:`success`,message:`Repository cloned.`})}catch(e){sn(e,`GIT_CLONE_FAILED`)}finally{L(je,!1)}}async function Zt(e){G(Oe)&&await Ue.checkout(e)}async function Qt(){let e=G(Oe);if(e){L(Pe,G(Pe)??Fa(),!0);try{await j.pushGit(e,G(Pe)),L(Ae,!1),await Ue.refresh(),L(Pe,null)}catch(e){sn(e,`GIT_PUSH_FAILED`)}}}async function $t(e,t){rt(`explicit`),await Ve.respond(e,{decision:t})}async function en(e){rt(`explicit`);let t=e.kind===`quiz`?Ao(e.payload):jo(e.payload);if(!t)return;let n=t.questions.map(t=>({id:t.id,answer:Fe[`${e.requestId}:${t.id}`]??``})),r=e.kind===`quiz`?Mo(n):Xl(n);try{await Ve.respond(e.requestId,r)}catch{L(u,`Could not send quiz answers. Please try again.`)}}async function tn(e){let t=Yl(e.payload);if(!t){L(u,`Codex sent an invalid permission request.`);return}rt(`explicit`),await Ve.respond(e.requestId,t)}function nn(e){e.kind===`quiz`||e.kind===`userInput`?en(e):e.kind===`permissionsApproval`?tn(e):Ve.retryInteraction(e.requestId)}function rn(e,t,n){Fe[`${e}:${t}`]=n}function an(e){L(de,e,!0),G(w)&&Ke.saveDraft(G(w),e)}function on(e){return e instanceof Error?e.message:`Unknown relay error.`}function sn(e,t){let n=al(e,t);return qe.enqueue({kind:`error`,...n}),n.message}function cn(e){return(e instanceof DOMException||e instanceof Error)&&e.name===`AbortError`}function dn(e){let t=G(w);if(!t||e.type===`agent.activity.updated`)return;if(e.type===`session.updated`&&typeof e.payload==`object`&&e.payload!==null){let n=e.payload;n.id===t&&L(T,G(T).map(e=>e.id===t?{...e,...n}:e),!0);return}if(e.type!==`plan.updated`&&e.type!==`plan.closed`)return;if(Ge.applyEvent(t,e),e.type===`plan.closed`){L(T,G(T).map(e=>e.id===t?{...e,plan:void 0}:e),!0);return}let n=ru(e.payload)?e.payload.plan:iu(e.payload)?e.payload:null;n&&L(T,G(T).map(e=>e.id===t?{...e,plan:n}:e),!0)}var fn=Vr();ai(`1d2e8zz`,e=>{Fn(()=>{un.title=`Gestalt Mobile`})}),Mr(`focus`,ln,Ot),Mr(`visibilitychange`,un,Ot);var pn=B(fn),mn=e=>{Ma(e,{})},hn=e=>{pl(e,{get variant(){return Ye}})},gn=e=>{var t=Jp();kl(z(t),{get context(){return Je}}),N(t),J(e,t)},_n=e=>{var c=nm(),l=B(c),g=z(l),ee=e=>{{let n=P(()=>G(i)===`chat`?xd(G(T).find(e=>e.id===G(w))?.workspacePath??``):null),r=P(()=>G(i)===`chat`?G(T).find(e=>e.id===G(w))?.model??p:null);aa(e,{get theme(){return G(d)},get sessionPath(){return G(n)},get sessionModel(){return G(r)},get weeklyQuotaRemaining(){return G(Ee)},get passkeyAuthEnabled(){return t.passkeyAuthEnabled},get onlock(){return t.onlock},ondevices:()=>L(a,!0),onscratchpad:tt,onthemechange:at})}};X(g,e=>{G(a)||e(ee)});var O=V(g,2);dl(O,{get queue(){return qe}});var k=V(O,2),se=e=>{Yf(e,{get client(){return We},onclose:()=>{L(a,!1),Sr().then(()=>document.querySelector(`.menu-trigger`)?.focus())},get onlock(){return t.onlock},oncreatepasskey:e=>n()(e)})},fe=e=>{var t=tm(),n=B(t),a=e=>{var t=Yp(),n=z(t),r=z(n,!0);N(n);var i=V(n,2);N(t),H(()=>Y(r,G(ue))),K(`click`,i,()=>L(ue,null)),J(e,t)};X(n,e=>{G(ue)&&e(a)});var o=V(n,2),c=e=>{var t=Qp(),n=V(z(t),2);{let e=P(()=>G(w)?G(D).attention.get(G(w))??null:null),t=P(()=>`chat-attention-${G(w)??`none`}`),r=P(()=>G(w)?G(D).pending.has(G(w)):!1);Ja(n,{get attention(){return G(e)},get controlId(){return G(t)},get pending(){return G(r)},onresolve:(e,t)=>G(w)&&ut(G(w),e,t)})}var i=V(n,2);{let e=P(()=>G(w)?G(D).snapshots.get(G(w))??null:null),t=P(()=>G(w)?G(D).attention.get(G(w))??null:null),n=P(()=>`chat-autopilot-safety-${G(w)??`none`}`),r=P(()=>G(w)?G(D).pending.has(G(w)):!1);Xa(i,{get autopilot(){return G(e)},get attention(){return G(t)},get controlId(){return G(n)},get pending(){return G(r)},onrecover:()=>G(w)&&void lt(G(w)),ondisable:()=>G(w)&&ct(G(w),!1)})}var a=V(i,2),o=z(a,!0);N(a);var s=V(a,2),c=e=>{var t=Xp(),n=B(t);{let e=P(()=>G(r)?[...G(r).messages]:[]),t=P(()=>G(r)?[...G(r).activities]:[]),i=P(()=>G(r)?.activeTurnId??null),a=P(()=>G(r)?.autopilotAuditTruncated??!1),o=P(()=>G(r)?[...G(r).interactions]:[]);ec(n,{get messages(){return G(e)},get activities(){return G(t)},get activeTurnId(){return G(i)},get autopilotAuditTruncated(){return G(a)},get interactions(){return G(o)},get answers(){return Fe},onanswer:rn,onquiz:e=>void en(e),onpermission:e=>void tn(e),ondecision:(e,t)=>void $t(e,t),onretry:nn,onopenorg:Ft})}var i=V(n,2);{let e=P(()=>G(r)?.status??G(u)),t=P(()=>G(r)?.activeTurnId??null),n=P(()=>G(r)?.starting??!1),a=P(()=>!!(G(T).find(e=>e.id===G(w))&&![`ready`,`turnActive`].includes(G(T).find(e=>e.id===G(w))?.state??``))),o=P(()=>G(le)!==null);bo(i,{get status(){return G(e)},get message(){return G(de)},get activeTurnId(){return G(t)},get starting(){return G(n)},get detached(){return G(a)},get retryMessage(){return G(ce)},get retryable(){return G(o)},get models(){return G(m)},onchange:an,onscrollbottom:()=>rt(`explicit`),onmodelselect:e=>void vt(e),onsend:()=>void yt(),onqueue:()=>void bt(),oninterruptsend:()=>void xt(),onretry:()=>void Ct(),oninterrupt:()=>void wt()})}var a=V(i,2),o=z(a);{let e=P(()=>G(D).snapshots.get(G(w))??null),t=P(()=>`chat-autopilot-${G(w)}`),n=P(()=>G(D).pending.has(G(w)));Ka(o,{compact:!0,get autopilot(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},ontoggle:e=>G(w)&&ct(G(w),e)})}var s=V(o,2);{let e=P(()=>G(E).get(G(w))??null),t=P(()=>G(T).find(e=>e.id===G(w))?.model??p);Aa(s,{compact:!0,get activity(){return G(e)},get rootModel(){return G(t)}})}N(a),Ii(V(a,2),e=>L(Ie,e),()=>G(Ie)),J(e,t)},l=e=>{J(e,Zp())};X(s,e=>{G(w)?e(c):e(l,-1)}),N(t),H(()=>Y(o,G(A))),J(e,t)},l=e=>{dd(e,{get catalog(){return G(pe)},get state(){return G(Te)},onopen:Pt,onclose:It})},d=e=>{{let t=P(()=>G(Oe)?yl(G(f),G(Oe))??null:null);Wl(e,{get workspaceTree(){return G(f)},get selectedWorkspace(){return G(t)},get expandedIds(){return G(ke)},get summary(){return G(De).summary},get refreshing(){return G(De).refreshing},get checkingOut(){return G(De).checkingOut},get cloning(){return G(je)},get error(){return G(De).error},get cloneStatus(){return G(Me)},get confirmingPush(){return G(Ae)},onpull:()=>void Yt(),oncheckout:e=>void Zt(e),onopenpushconfirmation:()=>L(Ae,!0),onpush:()=>void Qt(),oncancelpush:()=>L(Ae,!1),onselect:Gt,onexpandedchange:e=>L(ke,e,!0),onbrowsefiles:Kt,onclone:e=>void Xt(e)})}},g=e=>{var t=Vr(),n=B(t),r=e=>{var t=em(),n=z(t),r=z(n);oi(r,()=>Vt);var i=V(r,2);N(n);var a=V(n,2),o=e=>{of(e,{get skillsState(){return G(_)},onrefresh:()=>G(_)?.refresh()??Promise.resolve(),onprofileschange:()=>void zt(),heading:`Skill profile editor`})},s=e=>{J(e,$p())};X(a,e=>{G(_)?e(o):e(s,-1)}),N(t),K(`click`,i,()=>void Ht()),J(e,t)},i=e=>{Rd(e,{get sessions(){return G(T)},get recentSessions(){return G(ne)},get selectedSessionId(){return G(w)},get activitySnapshots(){return G(E)},get autopilotSnapshots(){return G(D).snapshots},get autopilotPending(){return G(D).pending},get autopilotAttention(){return G(D).attention},get workspaceTree(){return G(f)},get workspaceId(){return G(S)},get expandedIds(){return G(C)},get sandbox(){return G(re)},get approvalPolicy(){return G(ie)},get models(){return G(m)},get selectedModel(){return G(h)},get skillProfiles(){return G(y)},get selectedSkillProfile(){return G(b)},get skillProfileError(){return G(x)},get startingSession(){return G(ae)},get openingSessionId(){return G(oe)},onworkspacechange:e=>L(S,e,!0),onexpandedchange:e=>L(C,e,!0),onsandboxchange:e=>L(re,e,!0),onapprovalpolicychange:e=>L(ie,e,!0),onmodelchange:e=>L(h,e,!0),onskillprofilechange:e=>L(b,e,!0),onmanageprofiles:e=>void Bt(e),onopen:pt,onselectopen:pt,onclose:e=>void ht(e),onautopilottoggle:ct,onautopilotresolve:ut,onopenrecent:e=>void mt(e),onforget:e=>void gt(e),oncopyresume:e=>void _t(e),onstart:()=>void ot()})};X(n,e=>{G(v)===`profile-manager`?e(r):e(i,-1)}),J(e,t)};X(o,e=>{G(i)===`chat`?e(c):G(i)===`plan`?e(l,1):G(i)===`git`?e(d,2):e(g,-1)});var ee=V(o,2),O=e=>{qp(e,{get root(){return G(s)},get listDirectory(){return j.listWorkspaceDirectory},get copyEntry(){return j.copyWorkspaceEntry},get moveEntry(){return j.moveWorkspaceEntry},get deleteEntry(){return j.deleteWorkspaceEntry},get uploadFile(){return j.uploadWorkspaceFile},onclose:()=>void qt(),onerror:e=>sn(e,`WORKSPACE_FILES_READ_FAILED`),onsuccess:e=>qe.enqueue({kind:`success`,message:e}),onmutation:Jt})};X(ee,e=>{G(s)&&e(O)}),Wd(V(ee,2),{get activeTab(){return G(i)},get chatEnabled(){return G(te)},get focusTab(){return G(xe)},onselect:Et}),J(e,t)};X(k,e=>{G(a)&&t.passkeyAuthEnabled?e(se):e(fe,-1)}),N(l);var me=V(l,2),he=e=>{sp(e,{onclose:nt})};X(me,e=>{G(o)&&e(he)}),K(`pointerdown`,l,jt),K(`pointerup`,l,F),Mr(`pointercancel`,l,Mt),J(e,c)};X(pn,e=>{Xe===`true`?e(mn):Ye===`error`||Ye===`stacked`?e(hn,1):Je===`sessions`||Je===`git`?e(gn,2):e(_n,-1)}),J(e,fn),$e()}Nr([`pointerdown`,`pointerup`,`click`]);function im(){throw Error(`AUTH_RESPONSE_INVALID`)}async function am(e){if(!e.ok){let t;try{let n=await e.json();typeof n==`object`&&n&&`code`in n&&typeof n.code==`string`&&(t=n.code)}catch{}throw Error(t??`AUTH_REQUEST_FAILED_${e.status}`)}return e.json()}function om(e){return!!e&&typeof e==`object`&&[`bootstrap`,`locked`,`authenticated`].includes(e.status)&&typeof e.publicOrigin==`string`&&(e.passkeyAuthEnabled===void 0||typeof e.passkeyAuthEnabled==`boolean`)}function sm(e){return!!e&&typeof e==`object`&&!!e.options&&typeof e.options.challenge==`string`}function cm(e){return!!e&&typeof e==`object`&&e.status===`authenticated`}function lm(e=fetch){async function t(){let t=await am(await e(`/api/auth/status`,{credentials:`same-origin`}));return om(t)||im(),t}async function n(t,n={}){let r=await am(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return sm(r)||im(),r}async function r(t,n){let r=await am(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return cm(r)||im(),r}return{status:t,registrationOptions:e=>n(`/api/auth/register/options`,e?{enrollmentTicket:e}:{}),verifyRegistration:(e,t)=>r(`/api/auth/register/verify`,{response:e,nickname:t}),loginOptions:()=>n(`/api/auth/login/options`),verifyLogin:e=>r(`/api/auth/login/verify`,{response:e}),logout:async()=>{let t=await e(`/api/auth/logout`,{method:`POST`,credentials:`same-origin`});if(!t.ok)throw Error(`AUTH_REQUEST_FAILED_${t.status}`)}}}function um(e,t=fetch){return async(n,r)=>{let i=await t(n,{...r,credentials:`same-origin`});return i.status===401&&(await i.clone().json().catch(()=>null))?.code===`AUTH_REQUIRED`&&e(),i}}function dm(e){let t=new Uint8Array(e),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=/g,``)}function fm(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=(4-t.length%4)%4,r=t.padEnd(t.length+n,`=`),i=atob(r),a=new ArrayBuffer(i.length),o=new Uint8Array(a);for(let e=0;e<i.length;e++)o[e]=i.charCodeAt(e);return a}function pm(){return mm.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential==`function`)}var mm={stubThis:e=>e};function hm(e){let{id:t}=e;return{...e,id:fm(t),transports:e.transports}}function gm(e){return e===`localhost`||/^((xn--[a-z0-9-]+|[a-z0-9]+(-[a-z0-9]+)*)\.)+([a-z]{2,}|xn--[a-z0-9-]+)$/i.test(e)}var _m=class extends Error{constructor({message:e,code:t,cause:n,name:r}){super(e,{cause:n}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name=r??n.name,this.code=t}};function vm({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new _m({message:`Registration ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`ConstraintError`){if(n.authenticatorSelection?.requireResidentKey===!0)return new _m({message:`Discoverable credentials were required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT`,cause:e});if(t.mediation===`conditional`&&n.authenticatorSelection?.userVerification===`required`)return new _m({message:`User verification was required during automatic registration but it could not be performed`,code:`ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE`,cause:e});if(n.authenticatorSelection?.userVerification===`required`)return new _m({message:`User verification was required but no available authenticator supported it`,code:`ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT`,cause:e})}else if(e.name===`InvalidStateError`)return new _m({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new _m({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`NotSupportedError`)return n.pubKeyCredParams.filter(e=>e.type===`public-key`).length===0?new _m({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new _m({message:`No available authenticator supported any of the specified pubKeyCredParams algorithms`,code:`ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!gm(t))return new _m({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new _m({message:`The RP ID "${n.rp.id}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`TypeError`){if(n.user.id.byteLength<1||n.user.id.byteLength>64)return new _m({message:`User ID was not between 1 and 64 characters`,code:`ERROR_INVALID_USER_ID_LENGTH`,cause:e})}else if(e.name===`UnknownError`)return new _m({message:`The authenticator was unable to process the specified options, or could not create a new credential`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return e}var ym=new class{constructor(){Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}createNewAbortSignal(){if(this.controller){let e=Error(`Cancelling existing WebAuthn API call for new one`);e.name=`AbortError`,this.controller.abort(e)}let e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){let e=Error(`Manually cancelling existing WebAuthn API call`);e.name=`AbortError`,this.controller.abort(e),this.controller=void 0}}},bm=[`cross-platform`,`platform`];function xm(e){if(e&&!(bm.indexOf(e)<0))return e}async function Sm(e){!e.optionsJSON&&e.challenge&&(console.warn(`startRegistration() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.`),e={optionsJSON:e});let{optionsJSON:t,useAutoRegister:n=!1}=e;if(!pm())throw Error(`WebAuthn is not supported in this browser`);let r={...t,challenge:fm(t.challenge),user:{...t.user,id:fm(t.user.id)},excludeCredentials:t.excludeCredentials?.map(hm)},i={};n&&(i.mediation=`conditional`),i.publicKey=r,i.signal=ym.createNewAbortSignal();let a;try{a=await navigator.credentials.create(i)}catch(e){throw vm({error:e,options:i})}if(!a)throw Error(`Registration was not completed`);let{id:o,rawId:s,response:c,type:l}=a,u;typeof c.getTransports==`function`&&(u=c.getTransports());let d;if(typeof c.getPublicKeyAlgorithm==`function`)try{d=c.getPublicKeyAlgorithm()}catch(e){Cm(`getPublicKeyAlgorithm()`,e)}let f;if(typeof c.getPublicKey==`function`)try{let e=c.getPublicKey();e!==null&&(f=dm(e))}catch(e){Cm(`getPublicKey()`,e)}let p;if(typeof c.getAuthenticatorData==`function`)try{p=dm(c.getAuthenticatorData())}catch(e){Cm(`getAuthenticatorData()`,e)}return{id:o,rawId:dm(s),response:{attestationObject:dm(c.attestationObject),clientDataJSON:dm(c.clientDataJSON),transports:u,publicKeyAlgorithm:d,publicKey:f,authenticatorData:p},type:l,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:xm(a.authenticatorAttachment)}}function Cm(e,t){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.\n`,t)}function wm(){if(!pm())return Tm.stubThis(new Promise(e=>e(!1)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?Tm.stubThis(new Promise(e=>e(!1))):Tm.stubThis(e.isConditionalMediationAvailable())}var Tm={stubThis:e=>e};function Em({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new _m({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new _m({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!gm(t))return new _m({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new _m({message:`The RP ID "${n.rpId}" is invalid for this domain`,code:`ERROR_INVALID_RP_ID`,cause:e})}else if(e.name===`UnknownError`)return new _m({message:`The authenticator was unable to process the specified options, or could not create a new assertion signature`,code:`ERROR_AUTHENTICATOR_GENERAL_ERROR`,cause:e});return e}async function Dm(e){!e.optionsJSON&&e.challenge&&(console.warn(`startAuthentication() was not called correctly. It will try to continue with the provided options, but this call should be refactored to use the expected call structure instead. See https://simplewebauthn.dev/docs/packages/browser#typeerror-cannot-read-properties-of-undefined-reading-challenge for more information.`),e={optionsJSON:e});let{optionsJSON:t,useBrowserAutofill:n=!1,verifyBrowserAutofillInput:r=!0}=e;if(!pm())throw Error(`WebAuthn is not supported in this browser`);let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(hm));let a={...t,challenge:fm(t.challenge),allowCredentials:i},o={};if(n){if(!await wm())throw Error(`Browser does not support WebAuthn autofill`);if(document.querySelectorAll(`input[autocomplete$='webauthn']`).length<1&&r)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');o.mediation=`conditional`,a.allowCredentials=[]}o.publicKey=a,o.signal=ym.createNewAbortSignal();let s;try{s=await navigator.credentials.get(o)}catch(e){throw Em({error:e,options:o})}if(!s)throw Error(`Authentication was not completed`);let{id:c,rawId:l,response:u,type:d}=s,f;return u.userHandle&&(f=dm(u.userHandle)),{id:c,rawId:dm(l),response:{authenticatorData:dm(u.authenticatorData),clientDataJSON:dm(u.clientDataJSON),signature:dm(u.signature),userHandle:f},type:d,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:xm(s.authenticatorAttachment)}}function Om(e){return typeof e==`object`&&e?e:{}}function km(e){let t=Om(e),n=typeof t.code==`string`?t.code:``;switch(n){case`ERROR_CEREMONY_ABORTED`:return`The passkey request was cancelled. You can safely try again.`;case`ERROR_INVALID_DOMAIN`:case`ERROR_INVALID_RP_ID`:return`The passkey provider rejected this site’s domain identity. Open the canonical HTTPS address and try again.`;case`ERROR_INVALID_USER_ID_LENGTH`:case`ERROR_MALFORMED_PUBKEYCREDPARAMS`:return`The relay supplied passkey options this browser could not use (${n}).`;case`ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT`:return`This passkey provider does not support the discoverable credential required for sign-in. Try another passkey provider or browser.`;case`ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT`:case`ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE`:return`This passkey provider could not perform the required screen-lock verification. Check the device screen lock or try another provider.`;case`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`:return`This passkey is already registered on this device. Try signing in instead.`;case`ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG`:return`This passkey provider supports none of the relay’s allowed cryptographic algorithms. Try another provider or browser.`;case`ERROR_AUTHENTICATOR_GENERAL_ERROR`:return`The phone’s passkey provider accepted device verification but could not create the credential (ERROR_AUTHENTICATOR_GENERAL_ERROR). Try another browser or passkey provider on this phone.`;case`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`:return km(t.cause)}switch(typeof t.message==`string`?t.message:``){case`INVALID_REGISTRATION_REQUEST`:return`The relay did not understand the passkey response from this browser. Refresh the page and try again.`;case`REGISTRATION_COOKIE_MISSING`:return`The registration session cookie was not returned by this browser. Allow site cookies, refresh, and try again.`;case`REGISTRATION_NOT_AVAILABLE`:return`This registration attempt expired or is no longer available. Refresh the page and start again.`;case`REGISTRATION_VERIFICATION_FAILED`:return`Your device created the passkey, but the relay could not verify it. Try again and check the relay diagnostics if it persists.`;case`ORIGIN_NOT_ALLOWED`:return`This page is not using the relay’s configured public address. Open the canonical HTTPS address and try again.`;case`ENROLLMENT_NOT_AUTHORIZED`:return`This relay is no longer accepting first-device registration.`;case`AUTHENTICATION_FAILED`:return`We could not complete sign-in. Please try again.`}let r=typeof t.name==`string`?t.name:``;switch(r){case`NotAllowedError`:return`The passkey request was cancelled or timed out. Try again when ready.`;case`InvalidStateError`:return`This passkey is already registered on this device. Try signing in instead.`;case`AbortError`:return`The passkey request was cancelled. You can safely try again.`;case`SecurityError`:return`Passkeys require this device to use the configured secure site.`;case`ConstraintError`:case`DataError`:case`EncodingError`:return`This browser could not use the passkey options supplied by the relay. Refresh the page and try again.`;case`NetworkError`:return`The connection was interrupted while completing the passkey request. Check the connection and try again.`;case`OperationError`:case`UnknownError`:return`This browser or passkey provider could not finish the passkey request after device verification. Try again or use another browser on this device.`;case`TypeError`:return`This browser rejected the passkey request data. Refresh the page and try again.`;default:return/^[A-Za-z]+Error$/.test(r)?`The passkey request failed inside this browser (${r}). Try another browser or passkey provider on this device.`:`We could not complete authentication. Please try again.`}}function Am(){return typeof window<`u`&&window.isSecureContext&&window.PublicKeyCredential!==void 0}function jm(e,t){async function n(n){t({kind:`checking`});try{let{status:r,publicOrigin:i,passkeyAuthEnabled:a=!0}=await e.status();if(!a){let e={kind:`authenticated`,passkeyAuthEnabled:!1};return t(e),e}if(!Am()){let e={kind:`unsupported`,message:`Passkeys require a secure browser on this device.`};return t(e),e}let o=r===`authenticated`?{kind:`authenticated`,passkeyAuthEnabled:!0}:r===`bootstrap`?{kind:`bootstrap`,publicOrigin:i}:n?{kind:`enrollment`,publicOrigin:i}:{kind:`locked`};return t(o),o}catch{let e={kind:`error`,message:`We could not check this device. Please try again.`};return t(e),e}}function r(){t({kind:`authenticated`,passkeyAuthEnabled:!0})}function i(e){t({kind:`locked`,...e?{message:e}:{}})}return{check:n,retry:n,authenticated:r,locked:i}}var Mm=q(`<p class="warning svelte-1c5qcm6">This one-time link authorizes one new passkey. Choose a nickname and complete the passkey
|
|
26
|
+
prompt before it expires.</p>`),Nm=q(`<p class="warning svelte-1c5qcm6"><strong class="svelte-1c5qcm6">Trust-on-first-use:</strong> anyone who can reach an empty relay instance could claim
|
|
27
27
|
first-device access. Enroll this device before exposing the instance, and confirm you are at the
|
|
28
|
-
canonical address before continuing.</p>`),
|
|
29
|
-
authorize that device.</p> <a class="svelte-1c5qcm6"> </a> <button type="button" class="copy svelte-1c5qcm6">Copy setup link</button></div></div>`),
|
|
28
|
+
canonical address before continuing.</p>`),Pm=q(`<p class="error svelte-1c5qcm6">Passkeys require a secure browser on this device.</p>`),Fm=q(`<p class="feedback svelte-1c5qcm6"> </p>`),Im=q(`<img alt="QR code for the first-device setup link" class="svelte-1c5qcm6"/>`),Lm=q(`<div class="handoff svelte-1c5qcm6"><!> <div class="svelte-1c5qcm6"><h2 class="svelte-1c5qcm6">Continue on your phone</h2> <p class="svelte-1c5qcm6">Scanning opens this same setup page. You will still choose a nickname and explicitly
|
|
29
|
+
authorize that device.</p> <a class="svelte-1c5qcm6"> </a> <button type="button" class="copy svelte-1c5qcm6">Copy setup link</button></div></div>`),Rm=q(`<main class="enrollment svelte-1c5qcm6" aria-live="polite"><section class="card svelte-1c5qcm6" aria-labelledby="enrollment-title"><p class="brand svelte-1c5qcm6">Gestalt / Dyne</p> <h1 id="enrollment-title" class="svelte-1c5qcm6"> </h1> <!> <label for="device-nickname" class="svelte-1c5qcm6">Device nickname</label> <input id="device-nickname" name="device-nickname" autocomplete="nickname" required="" enterkeyhint="done" class="svelte-1c5qcm6"/> <button class="authorize svelte-1c5qcm6" type="button"> </button> <!> <!> <!></section></main>`);function zm(e,t){Qe(t,!0);let n=I(``),r=I(null),i=I(!1),a=I(null),o=!0,s=!0,c=P(()=>Lf(t.canonicalOrigin)),l=null;function u(){return window.isSecureContext&&window.PublicKeyCredential!==void 0}function d(){l&&clearInterval(l),l=null}function f(e){if(o=!1,d(),e===`authenticated`){t.onAuthenticated();return}t.onLocked(`Another device has already enrolled this relay. Sign in with that device’s passkey.`)}async function p(){if(document.visibilityState===`visible`)try{let e=await t.client.status();if(e.status!==`bootstrap`){if(!s)return;f(e.status)}}catch{}}Li(()=>{t.enrollmentTicket||Rf(t.canonicalOrigin).then(e=>{s&&L(a,e,!0)}).catch(()=>{s&&L(r,`Setup QR unavailable. Use the setup link below.`)});let e=window.matchMedia?.(`(min-width: 768px)`).matches??!1;!t.enrollmentTicket&&e&&(l=setInterval(()=>void p(),15e3))}),Ri(()=>{s=!1,o=!1,d()});async function m(){if(!navigator.clipboard?.writeText){L(r,`Copy is unavailable here. Select and copy the visible setup link.`);return}try{await navigator.clipboard.writeText(G(c)),L(r,`Setup link copied.`)}catch{L(r,`Copy is unavailable here. Select and copy the visible setup link.`)}}async function h(){let e=G(n).trim();if(!e){L(r,`Enter a device nickname before authorizing it.`);return}if(!u()){L(r,`Passkeys require a secure browser on this device.`);return}if(!(G(i)||!o)){L(i,!0),L(r,null);try{let{options:n}=await t.client.registrationOptions(t.enrollmentTicket);if(!s||!o)return;let r=await Sm({optionsJSON:n});if(!s||!o||(await t.client.verifyRegistration(r,e),!s||!o))return;d(),t.onAuthenticated()}catch(e){if(e instanceof Error&&[`AUTH_REQUEST_FAILED_409`,`BOOTSTRAP_ALREADY_CLAIMED`].includes(e.message)){d(),t.onLocked(`Another device completed setup first. Sign in with that device’s passkey.`);return}L(r,km(e),!0)}finally{L(i,!1)}}}var g=Rm(),_=z(g),v=V(z(_),2),y=z(v,!0);N(v);var b=V(v,2),x=e=>{J(e,Mm())},S=e=>{J(e,Nm())};X(b,e=>{t.enrollmentTicket?e(x):e(S,-1)});var C=V(b,4);Ei(C);var w=V(C,2),T=z(w,!0);N(w);var E=V(w,2),D=e=>{J(e,Pm())},ee=P(()=>!u());X(E,e=>{G(ee)&&e(D)});var O=V(E,2),te=e=>{var t=Fm(),n=z(t,!0);N(t),H(()=>Y(n,G(r))),J(e,t)};X(O,e=>{G(r)&&e(te)});var ne=V(O,2),re=e=>{var t=Lm(),n=z(t),r=e=>{var t=Im();H(()=>Q(t,`src`,G(a))),J(e,t)};X(n,e=>{G(a)&&e(r)});var i=V(n,2),o=V(z(i),4),s=z(o,!0);N(o);var l=V(o,2);N(i),N(t),H(()=>{Q(o,`href`,G(c)),Y(s,G(c))}),K(`click`,l,()=>void m()),J(e,t)};X(ne,e=>{t.enrollmentTicket||e(re)}),N(_),N(g),H(e=>{Y(y,t.enrollmentTicket?`Authorize this device`:`Authorize the first device`),w.disabled=e,Y(T,G(i)?`Authorizing device…`:`Authorize this device`)},[()=>G(i)||!u()]),Mi(C,()=>G(n),e=>L(n,e)),K(`click`,w,()=>void h()),J(e,g),$e()}Nr([`click`]);var Bm=q(`<p class="error svelte-1byekj9">Passkeys require this relay to be opened over a secure connection.</p>`),Vm=q(`<p class="error svelte-1byekj9">This browser does not support passkeys. Use an authorized browser or device.</p>`),Hm=q(`<p class="svelte-1byekj9"> </p> <button class="sign-in svelte-1byekj9" type="button"> </button>`,1),Um=q(`<main class="login svelte-1byekj9" aria-live="polite"><section class="card svelte-1byekj9" aria-labelledby="login-title"><p class="brand svelte-1byekj9">Gestalt / Dyne</p> <h1 id="login-title" class="svelte-1byekj9">Unlock relay</h1> <!></section></main>`);function Wm(e,t){Qe(t,!0);let n=I(``),r=I(!1),i=I(void 0);function a(){return window.isSecureContext&&window.PublicKeyCredential!==void 0}function o(e){return e instanceof Error&&[`NotAllowedError`,`AbortError`,`SecurityError`].includes(e.name)?km(e):`We could not complete sign-in. Please try again.`}Li(()=>{L(n,t.message??`Use a passkey from an authorized device to unlock this relay.`,!0),G(i)?.focus()});async function s(){if(!(G(r)||!a())){L(r,!0),L(n,``);try{let{options:e}=await t.client.loginOptions(),n=await Dm({optionsJSON:e});await t.client.verifyLogin(n),t.onAuthenticated()}catch(e){L(n,o(e),!0)}finally{L(r,!1)}}}var c=Um(),l=z(c),u=V(z(l),4),d=e=>{J(e,Bm())},f=e=>{J(e,Vm())},p=e=>{var t=Hm(),a=B(t),o=z(a,!0);N(a);var c=V(a,2),l=z(c,!0);N(c),Ii(c,e=>L(i,e),()=>G(i)),H(()=>{Y(o,G(n)),c.disabled=G(r),Y(l,G(r)?`Waiting for passkey…`:`Sign in with a passkey`)}),K(`click`,c,()=>void s()),J(e,t)};X(u,e=>{window.isSecureContext?window.PublicKeyCredential===void 0?e(f,1):e(p,-1):e(d)}),N(l),N(c),J(e,c),$e()}Nr([`click`]);var Gm=q(`<p>Checking this device…</p>`),Km=q(`<h1 class="svelte-y74n0s">Passkey support is required</h1> <p> </p>`,1),qm=q(`<h1 class="svelte-y74n0s">Unable to check this device</h1> <p> </p> <button type="button" class="svelte-y74n0s">Try again</button>`,1),Jm=q(`<main class="auth-gate svelte-y74n0s" aria-live="polite"><!></main>`);function Ym(e,t){Qe(t,!0);let n=$(t,`initialTheme`,3,`dyne-org`),r=I(void 0),i=P(()=>G(r)??t.enrollmentTicket),a=I(R({kind:`checking`})),o=!1,s=lm(),c=jm(s,e=>L(a,e,!0)),l=um(()=>c.locked(`Your session ended. Sign in with your passkey to continue.`));Li(()=>{c.check(G(i))});function u(e){L(r,e,!0),L(a,{kind:`enrollment`,publicOrigin:G(a).kind===`authenticated`?``:`http://localhost`},!0)}async function d(){if(!(o||G(a).kind!==`authenticated`)){o=!0,c.locked(`Relay locked. Sign in with your passkey to continue.`);try{await s.logout()}catch{c.locked(`Relay locked locally. Recheck your connection before signing in again.`)}finally{o=!1}}}var f=Vr(),p=B(f),m=e=>{rm(e,{get authorizedFetch(){return l},get theme(){return n()},get passkeyAuthEnabled(){return G(a).passkeyAuthEnabled},onlock:()=>void d(),oncreatepasskey:u})},h=e=>{zm(e,{get client(){return s},get canonicalOrigin(){return G(a).publicOrigin},get enrollmentTicket(){return G(i)},onAuthenticated:()=>c.authenticated(),onLocked:e=>c.locked(e)})},g=e=>{Wm(e,{get client(){return s},get message(){return G(a).message},onAuthenticated:()=>c.authenticated()})},_=e=>{var t=Jm(),n=z(t),r=e=>{J(e,Gm())},i=e=>{var t=Km(),n=V(B(t),2),r=z(n,!0);N(n),H(()=>Y(r,G(a).message)),J(e,t)},o=e=>{var t=qm(),n=V(B(t),2),r=z(n,!0);N(n);var i=V(n,2);H(()=>Y(r,G(a).message)),K(`click`,i,()=>void c.retry()),J(e,t)};X(n,e=>{G(a).kind===`checking`?e(r):G(a).kind===`unsupported`?e(i,1):G(a).kind===`error`&&e(o,2)}),N(t),J(e,t)};X(p,e=>{G(a).kind===`authenticated`?e(m):G(a).kind===`bootstrap`||G(a).kind===`enrollment`?e(h,1):G(a).kind===`locked`?e(g,2):e(_,-1)}),J(e,f),$e()}Nr([`click`]);function Xm(e,t){let n=e.hash;if(!n.startsWith(`#enroll=`))return;let r=/^#enroll=([^&]+)$/.exec(n);if(t.replaceState(t.state,``,`${e.pathname}${e.search}`),!(!r||!r[1]))try{return decodeURIComponent(r[1])||void 0}catch{return}}function Zm(e,t,n,r=Hr,i={}){return r(Ym,{target:e,props:{enrollmentTicket:Xm(t,n),initialTheme:Zi(i)}})}function Qm(){return{readyState:document.readyState,addLoadListener:e=>window.addEventListener(`load`,e,{once:!0}),serviceWorker:navigator.serviceWorker}}function $m(e=Qm()){if(!e.serviceWorker)return;let t=()=>{e.serviceWorker?.register(`/service-worker.js`,{scope:`/`}).catch(()=>void 0)};if(e.readyState===`complete`){t();return}e.addLoadListener(t)}var eh=document.getElementById(`app`);if(!eh)throw Error(`Missing application mount target`);Zm(eh,window.location,window.history),$m();
|
package/dist/client/index.html
CHANGED
|
@@ -16,7 +16,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
16
16
|
<link rel="icon" href="/icons/gestalt-mobile-192.png" />
|
|
17
17
|
<link rel="apple-touch-icon" href="/icons/gestalt-mobile-180.png" />
|
|
18
18
|
<title>Gestalt Mobile</title>
|
|
19
|
-
<script type="module" crossorigin src="/assets/index-
|
|
19
|
+
<script type="module" crossorigin src="/assets/index-QOqptZCS.js"></script>
|
|
20
20
|
<link rel="stylesheet" crossorigin href="/assets/index-CeUm69ca.css">
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|
|
@@ -572,6 +572,7 @@ export async function composeRelayApp(options) {
|
|
|
572
572
|
models,
|
|
573
573
|
readHistory: runtime ? (session) => runtime.readHistory(session) : undefined,
|
|
574
574
|
currentSequence: (sessionId) => journal.since(sessionId, 0).at(-1)?.sequence ?? 0,
|
|
575
|
+
activityHistory: (sessionId, throughSequence) => journal.since(sessionId, 0).filter((event) => event.sequence <= throughSequence),
|
|
575
576
|
interruptTurn: runtime
|
|
576
577
|
? (session, turnId) => runtime.interruptTurn(session, turnId)
|
|
577
578
|
: undefined,
|
|
@@ -41,6 +41,7 @@ export function registerGetHistory(app, deps) {
|
|
|
41
41
|
}
|
|
42
42
|
const controls = deps.autopilotControlTurns?.(session.id) ?? new Map();
|
|
43
43
|
const items = toChatItems(history.turns, controls);
|
|
44
|
+
const activities = toActivityHistory(deps.activityHistory?.(session.id, baseSequence) ?? [], baseSequence);
|
|
44
45
|
const auditSource = deps.autopilotAudit?.(session.id, 100) ?? [];
|
|
45
46
|
const boundedAudit = isBoundedAudit(auditSource) ? auditSource : null;
|
|
46
47
|
const auditEvents = boundedAudit
|
|
@@ -52,6 +53,7 @@ export function registerGetHistory(app, deps) {
|
|
|
52
53
|
turns: toChatTurns(history.turns, controls),
|
|
53
54
|
activeTurnId: history.activeTurnId,
|
|
54
55
|
interactions: deps.interactions?.(session.id) ?? [],
|
|
56
|
+
...(activities.length ? { activities } : {}),
|
|
55
57
|
...(autopilotAudit.length ? { autopilotAudit } : {}),
|
|
56
58
|
...(boundedAudit?.truncated ? { autopilotAuditTruncated: true } : {}),
|
|
57
59
|
baseSequence,
|
|
@@ -61,6 +63,30 @@ export function registerGetHistory(app, deps) {
|
|
|
61
63
|
return reply.send(snapshot);
|
|
62
64
|
});
|
|
63
65
|
}
|
|
66
|
+
function toActivityHistory(events, throughSequence) {
|
|
67
|
+
const activities = new Map();
|
|
68
|
+
for (const event of events) {
|
|
69
|
+
if (event.sequence > throughSequence ||
|
|
70
|
+
event.type !== 'activity.updated' ||
|
|
71
|
+
!event.payload ||
|
|
72
|
+
typeof event.payload !== 'object')
|
|
73
|
+
continue;
|
|
74
|
+
const payload = event.payload;
|
|
75
|
+
if (typeof payload.id !== 'string' ||
|
|
76
|
+
typeof payload.label !== 'string' ||
|
|
77
|
+
typeof payload.detail !== 'string')
|
|
78
|
+
continue;
|
|
79
|
+
const occurredAt = Date.parse(event.occurredAt);
|
|
80
|
+
activities.set(payload.id, {
|
|
81
|
+
id: payload.id,
|
|
82
|
+
label: payload.label,
|
|
83
|
+
detail: payload.detail,
|
|
84
|
+
...(typeof payload.turnId === 'string' ? { turnId: payload.turnId } : {}),
|
|
85
|
+
...(Number.isFinite(occurredAt) ? { occurredAt } : {}),
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return [...activities.values()];
|
|
89
|
+
}
|
|
64
90
|
function isBoundedAudit(source) {
|
|
65
91
|
return !Array.isArray(source) && 'events' in source;
|
|
66
92
|
}
|
|
@@ -67,6 +67,7 @@ export function registerSessionRoutes(app, deps) {
|
|
|
67
67
|
read: sessions.readHistory,
|
|
68
68
|
currentSequence: sessions.currentSequence ?? (() => 0),
|
|
69
69
|
interactions: deps.interactions?.snapshot,
|
|
70
|
+
activityHistory: sessions.activityHistory,
|
|
70
71
|
autopilotControlTurns: sessions.autopilotControlTurns,
|
|
71
72
|
autopilotAudit: sessions.autopilotAudit,
|
|
72
73
|
});
|