gestalt-mobile 0.36.1 → 0.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,17 +22,17 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
22
22
  `)}`)].join(`
23
23
  `)}function Uu(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{updateRestart:()=>n(`/api/maintenance/update-restart`,{}),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,r=`codex`)=>n(`/api/sessions/recent-threads/open`,{threadId:e,cwd:t,provider:r}),listSessionModels:e=>n(`/api/session-models/${encodeURIComponent(e)}`,{}),startSession:(e,t={},r)=>n(`/api/sessions`,{workspaceId:e,profile:`default`,provider:`codex`,...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}:{})}}var Wu=[`authoring-start`,`work-start`,`checkpoint`,`update`,`supervision-start`,`resync`];function Gu(e){return typeof e==`string`&&Wu.includes(e)}function Ku(e){if(!e||typeof e!=`object`)return!1;let t=e;return qu(t.plan)&&(t.reason===null||Gu(t.reason))}function qu(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 Ju(e){return e instanceof Error?e.message:`Could not load the plan.`}function Yu(e){return{...e,...e.skills?{skills:[...e.skills]}:{},description:{...e.description},children:e.children.map(Yu)}}function Xu(e){return{...e,steps:e.steps.map(Yu)}}function Zu(e,t){return e.kind===`unavailable`&&e.sessionId===t}function Qu(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:Xu(e)}:{kind:`unavailable`,sessionId:t})}).catch(e=>{o?.signal.aborted||a!==i||n!==t||c({kind:`error`,sessionId:t,error:Ju(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`&&(qu(t.payload)||Ku(t.payload))){let n=Ku(t.payload)?t.payload.plan:t.payload;s=t.sequence,c({kind:`ready`,sessionId:e,plan:Xu(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`):Zu(r,t)?`chat`:null:null}catch(e){return n===t?a===o?(c({kind:`error`,sessionId:t,plan:i,error:Ju(e)}),null):Zu(r,t)?`chat`:null:null}},dispose(){o?.abort(),o=null,n=null,++i,c({kind:`unavailable`,sessionId:null})}}}function $u(e){if(!e)return null;let t=ed(e.steps,e.currentStepId)?.measurement?.weeklyRemainingCurrent;return typeof t==`number`&&Number.isFinite(t)&&t>=0&&t<=100?Math.round(t):null}function ed(e,t){for(let n of e){if(n.id===t)return n;let e=ed(n.children,t);if(e)return e}}function td(e,t){return t===void 0?`L${e}`:`L${e}.${t}`}function nd(e){let t=e.steps.filter(e=>e.reviewStatus===`REVIEWED`).length,n=e.steps.length,r=rd(e),i=e.steps.find(e=>e.state===`DONE`&&e.reviewStatus===`UNREVIEWED`);return i?{phase:`awaiting review`,label:`Awaiting ${td(e.steps.indexOf(i)+1)} review`,current:r,reviewedL1s:t,totalL1s:n}:n>0&&t===n?{phase:`terminal review`,label:`Terminal review`,current:r,reviewedL1s:t,totalL1s:n}:t>0&&!r?{phase:`milestone reported`,label:`Preparing milestone summary`,current:r,reviewedL1s:t,totalL1s:n}:r?{phase:`implementing`,label:`Implementing ${r.position} ${r.title}`,current:r,reviewedL1s:t,totalL1s:n}:{phase:e.allDone?`terminal review`:`implementing`,label:e.allDone?`Terminal review`:`Implementing`,current:r,reviewedL1s:t,totalL1s:n}}function rd(e){for(let[t,n]of e.steps.entries()){if(n.id===e.currentStepId)return{id:n.id,position:td(t+1),title:n.title,state:n.state};let r=n.children.findIndex(t=>t.id===e.currentStepId);if(r>=0){let e=n.children[r];return{id:e.id,position:td(t+1,r+1),title:e.title,state:e.state}}}}var id=q(`<span class="wip-effort svelte-hmxg46"> </span>`),ad=q(`<li class="svelte-hmxg46"><span class="wip-position svelte-hmxg46" aria-hidden="true"> </span> <span class="wip-title svelte-hmxg46"> </span> <!></li>`),od=q(`<ol class="wip-steps svelte-hmxg46" aria-label="Work in progress plan steps"></ol>`),sd=q(`<li class="svelte-hmxg46"><span aria-hidden="true" class="position svelte-hmxg46"> </span> <span aria-hidden="true" class="state"> </span></li>`),cd=q(`<ol class="step-markers svelte-hmxg46" aria-label="Plan step progress"></ol>`),ld=q(`<div><div class="progress-heading svelte-hmxg46"><span> </span> <span> </span></div> <progress class="svelte-hmxg46"> </progress> <span class="review-status"> </span> <!></div>`);function ud(e,t){Qe(t,!0);let n=$(t,`compact`,3,!1),r=$(t,`label`,3,`Plan progress`),i=F(()=>t.plan.steps.flatMap((e,t)=>[{id:e.id,position:td(t+1),state:e.state,level:e.level,title:e.title,...e.description.effort?{effort:e.description.effort}:{}},...e.children.map((e,n)=>({id:e.id,position:td(t+1,n+1),state:e.state,level:e.level,title:e.title}))])),a=F(()=>G(i).filter(e=>e.state===`WIP`)),o=F(()=>nd(t.plan)),s=F(()=>Math.max(t.plan.totalSteps,1));var c=ld(),l=B(c),u=B(l),d=B(u);N(u);var f=H(u,2),p=B(f);N(f),N(l);var m=H(l,2),h=B(m);N(m);var g=H(m,2),_=B(g,!0);N(g);var v=H(g,2),y=e=>{var n=od();Z(n,21,()=>G(a),e=>e.id,(e,n)=>{var r=ad(),i=B(r),a=B(i);N(i);var o=H(i,2),s=B(o,!0);N(o);var c=H(o,2),l=e=>{var t=id(),r=B(t);N(t),U(()=>Y(r,`Effort: ${G(n).effort??``}`)),J(e,t)};X(c,e=>{G(n).level===1&&G(n).effort&&e(l)}),N(r),U(()=>{Q(r,`aria-current`,G(n).id===t.plan.currentStepId?`step`:void 0),Q(r,`aria-label`,`${G(n).position}: ${G(n).title}, WIP${G(n).level===1&&G(n).effort?`, effort ${G(n).effort}`:``}`),Y(a,`${G(n).position??``} · WIP`),Y(s,G(n).title)}),J(e,r)}),N(n),J(e,n)},b=e=>{var n=cd();Z(n,21,()=>G(i),e=>e.id,(e,n)=>{var r=sd(),i=B(r),a=B(i,!0);N(i);var o=H(i,2),s=B(o,!0);N(o),N(r),U(()=>{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(v,e=>{n()&&G(a).length?e(y):!n()&&G(i).length&&e(b,1)}),N(c),U(()=>{gi(c,1,ui([`plan-progress`,{compact:n()}]),`svelte-hmxg46`),Y(d,`${t.plan.doneSteps??``} / ${t.plan.totalSteps??``} work items done`),Y(p,`· ${G(o).reviewedL1s??``} / ${G(o).totalL1s??``} reviewed`),Q(m,`aria-label`,r()),Oi(m,t.plan.doneSteps),Q(m,`max`,G(s)),Y(h,`${t.plan.doneSteps??``} of ${t.plan.totalSteps??``} work items done`),Q(g,`data-phase`,G(o).phase),Y(_,G(o).label)}),J(e,c),$e()}var dd=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>`),fd=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>`),pd=q(`<section aria-labelledby="plan-title" class="svelte-3rmyvg"><h2 id="plan-title" class="svelte-3rmyvg">Plan</h2> <p class="svelte-3rmyvg"> </p></section>`),md=q(`<p class="svelte-3rmyvg"> </p>`),hd=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Subtitle</dt> <dd class="svelte-3rmyvg"> </dd></div>`),gd=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Date</dt> <dd class="svelte-3rmyvg"> </dd></div>`),_d=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Keywords</dt> <dd class="svelte-3rmyvg"> </dd></div>`),vd=q(`<dl class="metadata svelte-3rmyvg"><!> <!> <!></dl>`),yd=q(`<p class="svelte-3rmyvg">No plan steps have been retained yet.</p>`),bd=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg"> </strong> </p>`),xd=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg">Skills:</strong> </p>`),Sd=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>`),Cd=q(`<ol class="svelte-3rmyvg"></ol>`),wd=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>`),Td=q(`<ol class="plan-steps svelte-3rmyvg"></ol>`),Ed=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>`),Dd=q(`<p class="visually-hidden svelte-3rmyvg" aria-live="polite" aria-atomic="true"> </p> <!>`,1);function Od(e,t){Qe(t,!0);let n={effort:`Effort`,goal:`Goal`,notes:`Notes`,why:`Why`,change:`Change`,tests:`Tests`,doneWhen:`Done when`},r=L(z(new Set)),i=z({}),a=null,o=0,s=F(()=>t.state.kind===`ready`||t.state.kind===`closing`||t.state.kind===`error`?t.state.plan:void 0),c=F(()=>G(s)?p(G(s).steps,G(s).currentStepId):void 0),l=F(()=>G(s)?m(G(s).steps,G(s).currentStepId):void 0),u=F(()=>G(s)?nd(G(s)):void 0),d=F(()=>G(s)?h(G(s).steps,G(s).currentStepId):new Set),f=F(()=>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)?`${G(u)?.label??`Current step: ${G(l)} ${G(c).title}`}. ${G(s).doneSteps} of ${G(s).totalSteps} work items done.${t.state.kind===`error`?` ${t.state.error}`:``}`:`${G(u)?.label??`Plan progress`}. ${G(s).doneSteps} of ${G(s).totalSteps} work items done.${t.state.kind===`error`?` ${t.state.error}`:``}`:``);jn(()=>{let e=G(s)?.currentStepId||null;if(!e||a===e)return;a=e;let t=++o;Cr().then(()=>{t!==o||G(s)?.currentStepId!==e||i[e]?.scrollIntoView({behavior:`auto`,block:`nearest`,inline:`nearest`})})});function p(e,t){for(let n of e){if(n.id===t)return n;let e=p(n.children,t);if(e)return e}}function m(e,t){for(let[n,r]of e.entries()){if(r.id===t)return td(n+1);let e=r.children.findIndex(e=>e.id===t);if(e>=0)return td(n+1,e+1)}}function h(e,t,n=[]){for(let r of e){if(r.id===t)return new Set([...n,r.id]);let e=h(r.children,t,[...n,r.id]);if(e.size)return e}return new Set}function g(e){return G(r).has(e)||G(d).has(e)}function _(e,t){R(r,t?new Set([...G(r),e]):new Set([...G(r)].filter(t=>t!==e)),!0)}function v(e){return e.description.goal??e.description.why??e.title}function y(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 b(e){return Object.keys(n).flatMap(t=>{let r=e.description[t];return r?[[n[t],r]]:[]})}var x=Dd(),S=V(x),w=B(S,!0);N(S);var T=H(S,2),E=e=>{J(e,dd())},D=e=>{J(e,fd())},ee=e=>{var n=pd(),r=H(B(n),2),i=B(r,!0);N(r),N(n),U(()=>Y(i,t.state.error)),J(e,n)},te=e=>{var n=Ed(),r=B(n),a=B(r),o=B(a),d=B(o,!0);N(o),N(a);var f=H(a,2);N(r);var p=H(r,2);ud(p,{get plan(){return G(s)}});var m=H(p,2),h=B(m);N(m);var x=H(m,2),S=e=>{var n=md(),r=B(n,!0);N(n),U(()=>Y(r,t.state.error)),J(e,n)};X(x,e=>{t.state.kind===`error`&&e(S)});var w=H(x,2),T=e=>{var t=vd(),n=B(t),r=e=>{var t=hd(),n=H(B(t),2),r=B(n,!0);N(n),N(t),U(()=>Y(r,G(s).subtitle)),J(e,t)};X(n,e=>{G(s).subtitle&&e(r)});var i=H(n,2),a=e=>{var t=gd(),n=H(B(t),2),r=B(n,!0);N(n),N(t),U(()=>Y(r,G(s).date)),J(e,t)};X(i,e=>{G(s).date&&e(a)});var o=H(i,2),c=e=>{var t=_d(),n=H(B(t),2),r=B(n,!0);N(n),N(t),U(()=>Y(r,G(s).keywords)),J(e,t)};X(o,e=>{G(s).keywords&&e(c)}),N(t),J(e,t)};X(w,e=>{(G(s).subtitle||G(s).date||G(s).keywords)&&e(T)});var E=H(w,2),D=e=>{J(e,yd())},ee=e=>{var t=Td();Z(t,23,()=>G(s).steps,e=>e.id,(e,t,n)=>{var r=wd(),a=B(r),o=B(a),s=B(o),c=B(s),l=B(c,!0);N(c);var u=H(c);N(s);var d=H(s,2),f=B(d);N(d);var p=H(d,2),m=B(p,!0);N(p);var h=H(p,2),x=B(h,!0);N(h),N(o);var S=H(o,2);Z(S,17,()=>b(G(t)),([e,t])=>e,(e,t)=>{var n=F(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=bd(),o=B(a),s=B(o);N(o);var c=H(o);N(a),U(()=>{Y(s,`${r()??``}:`),Y(c,` ${i()??``}`)}),J(e,a)});var w=H(S,2),T=e=>{var n=xd(),r=H(B(n));N(n),U(e=>Y(r,` ${e??``}`),[()=>G(t).skills.join(`, `)]),J(e,n)};X(w,e=>{G(t).skills?.length&&e(T)});var E=H(w,2),D=e=>{var r=Cd();Z(r,23,()=>G(t).children,e=>e.id,(e,t,r)=>{var a=Sd(),o=B(a),s=B(o),c=B(s),l=B(c),u=B(l,!0);N(l);var d=H(l);N(c);var f=H(c,2),p=B(f);N(f);var m=H(f,2),h=B(m,!0);N(m),N(s);var y=H(s,2);Z(y,17,()=>b(G(t)),([e,t])=>e,(e,t)=>{var n=F(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=bd(),o=B(a),s=B(o);N(o);var c=H(o);N(a),U(()=>{Y(s,`${r()??``}:`),Y(c,` ${i()??``}`)}),J(e,a)});var x=H(y,2),S=e=>{var n=xd(),r=H(B(n));N(n),U(e=>Y(r,` ${e??``}`),[()=>G(t).skills.join(`, `)]),J(e,n)};X(x,e=>{G(t).skills?.length&&e(S)}),N(o),Li(o,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(t)]),N(a),U((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(h,r)},[()=>g(G(t).id),()=>td(G(n)+1,G(r)+1),()=>v(G(t))]),Nr(`toggle`,o,e=>_(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),Li(a,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(t)]),N(r),U((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)},[()=>g(G(t).id),()=>td(G(n)+1),()=>v(G(t)),()=>y(G(t))]),Nr(`toggle`,a,e=>_(G(t).id,e.currentTarget.open)),J(e,r)}),N(t),J(e,t)};X(E,e=>{G(s).steps.length===0?e(D):e(ee,-1)}),N(n),U(()=>{Y(d,G(s).title),Y(h,`${G(u)?.label??``}. Current: ${G(c)?`${G(l)} ${G(c).title} (${G(c).state})`:`No current step`}`)}),K(`click`,f,function(...e){t.onclose?.apply(this,e)}),J(e,n)};X(T,e=>{t.state.kind===`loading`?e(E):t.state.kind===`unavailable`?e(D,1):t.state.kind===`error`&&!G(s)?e(ee,2):G(s)&&e(te,3)}),U(()=>Y(w,G(f))),J(e,x),$e()}Pr([`click`]);var kd=/^(\*+)\s+(?:(TODO|WIP|DONE)\s+)?(?:\[#([ABC])\]\s+)?(.+)$/,Ad=/^#\+([A-Z][A-Z0-9_-]*):\s*(.*)$/i,jd=/^:([A-Z][A-Z0-9_]*):\s*(.*)$/,Md=/^-\s+([^:]+?)\s+::\s*(.*)$/;function Nd(e){let t=[],n=[],r=[],i=e.replace(/\r\n?/g,`
24
24
  `).split(`
25
- `),a=null,o=!1,s=()=>{a&&r.push({...a,properties:[...a.properties],descriptions:[...a.descriptions],body:Pd(a.body)})};for(let e of i){let r=kd.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=Ad.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=jd.exec(e);t&&a.properties.push([t[1],t[2].trim()]);continue}let i=Md.exec(e);i?a.descriptions.push([i[1].trim(),i[2].trim()]):a.body.push(e)}return s(),{metadata:t,preamble:Pd(n),sections:r}}function Pd(e){let t=[...e];for(;t[0]?.trim()===``;)t.shift();for(;t.at(-1)?.trim()===``;)t.pop();return t}var Fd=q(`<div class="svelte-h7gaqo"><dt class="svelte-h7gaqo"> </dt> <dd class="svelte-h7gaqo"> </dd></div>`),Id=q(`<dl class="metadata svelte-h7gaqo"></dl>`),Ld=q(`<p class="svelte-h7gaqo"> </p>`),Rd=q(`<p class="svelte-h7gaqo">This Org document has no headings.</p>`),zd=q(`<h3 class="svelte-h7gaqo"> </h3>`),Bd=q(`<h4 class="svelte-h7gaqo"> </h4>`),Vd=q(`<span> </span>`),Hd=q(`<span class="priority svelte-h7gaqo"> </span>`),Ud=q(`<dl class="descriptions svelte-h7gaqo"></dl>`),Wd=q(`<p> </p>`),Gd=q(`<details class="properties svelte-h7gaqo"><summary class="svelte-h7gaqo">Properties</summary> <dl class="svelte-h7gaqo"></dl></details>`),Kd=q(`<section class="org-section svelte-h7gaqo"><div class="section-heading svelte-h7gaqo"><!> <!> <!></div> <!> <!> <!></section>`),qd=q(`<div class="sections svelte-h7gaqo"></div>`),Jd=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 Yd(e,t){Qe(t,!0);let n=F(()=>Nd(t.preview.source)),r=F(()=>G(n).metadata.filter(([e])=>e!==`TITLE`));var i=Jd(),a=B(i),o=B(a),s=B(o),c=B(s,!0);N(s);var l=H(s,2),u=B(l,!0);N(l),N(o);var d=H(o,2);N(a);var f=H(a,2),p=e=>{var t=Id();Z(t,21,()=>G(r),([e,t])=>`${e}:${t}`,(e,t)=>{var n=F(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Fd(),o=B(a),s=B(o,!0);N(o);var c=H(o,2),l=B(c,!0);N(c),N(a),U(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),N(t),J(e,t)};X(f,e=>{G(r).length&&e(p)});var m=H(f,2);Z(m,19,()=>G(n).preamble,(e,t)=>`preamble:${t}:${e}`,(e,t)=>{var n=Hr(),r=V(n),i=e=>{var n=Ld(),r=B(n,!0);N(n),U(()=>Y(r,G(t))),J(e,n)},a=F(()=>G(t).trim());X(r,e=>{G(a)&&e(i)}),J(e,n)});var h=H(m,2),g=e=>{J(e,Rd())},_=e=>{var t=qd();Z(t,23,()=>G(n).sections,(e,t)=>`${t}:${e.level}:${e.title}`,(e,t)=>{var n=Kd();let r;var i=B(n),a=B(i),o=e=>{var n=zd(),r=B(n,!0);N(n),U(()=>Y(r,G(t).title)),J(e,n)},s=e=>{var n=Bd(),r=B(n,!0);N(n),U(()=>Y(r,G(t).title)),J(e,n)};X(a,e=>{G(t).level===1?e(o):e(s,-1)});var c=H(a,2),l=e=>{var n=Vd(),r=B(n,!0);N(n),U(e=>{gi(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=H(c,2),d=e=>{var n=Hd(),r=B(n);N(n),U(()=>Y(r,`Priority ${G(t).priority??``}`)),J(e,n)};X(u,e=>{G(t).priority&&e(d)}),N(i);var f=H(i,2),p=e=>{var n=Ud();Z(n,21,()=>G(t).descriptions,([e,t])=>`${e}:${t}`,(e,t)=>{var n=F(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Fd(),o=B(a),s=B(o,!0);N(o);var c=H(o,2),l=B(c,!0);N(c),N(a),U(()=>{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=H(f,2);Z(m,19,()=>G(t).body,(e,t)=>`${t}:${e}`,(e,t)=>{var n=Hr(),r=V(n),i=e=>{var n=Wd();let r;var i=B(n,!0);N(n),U(e=>{r=gi(n,1,`svelte-h7gaqo`,null,r,e),Y(i,G(t))},[()=>({"list-item":G(t).trimStart().startsWith(`- `)})]),J(e,n)},a=F(()=>G(t).trim());X(r,e=>{G(a)&&e(i)}),J(e,n)});var h=H(m,2),g=e=>{var n=Gd(),r=H(B(n),2);Z(r,21,()=>G(t).properties,([e,t])=>`${e}:${t}`,(e,t)=>{var n=F(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Fd(),o=B(a),s=B(o,!0);N(o);var c=H(o,2),l=B(c,!0);N(c),N(a),U(()=>{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),U(e=>r=vi(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),U(()=>{Y(c,t.preview.title),Y(u,t.preview.planName)}),K(`click`,d,function(...e){t.onclose?.apply(this,e)}),J(e,i),$e()}Pr([`click`]);var Xd=q(`<p>Select a workspace to browse its local plans.</p>`),Zd=q(`<p>Loading workspace plans…</p>`),Qd=q(`<p> </p>`),$d=q(`<p>No Org files were found below this workspace.</p>`),ef=q(`<span> </span>`),tf=q(`<span> </span> <!>`,1),nf=q(`<span>Org document</span>`),rf=q(`<li><button class="svelte-x2ko9l"><strong> </strong> <code class="svelte-x2ko9l"> </code> <!></button></li>`),af=q(`<p class="scope svelte-x2ko9l">Org files below the selected workspace.</p> <ul class="svelte-x2ko9l"></ul>`,1),of=q(`<section class="plans svelte-x2ko9l" aria-labelledby="plans-title"><h2 id="plans-title" tabindex="-1" class="svelte-x2ko9l">Plans</h2> <!></section>`);function sf(e,t){Qe(t,!0);let n=L(null),r=z({}),i=L(null),a=!1,o=!1;function s(){t.onclose()}function c(e){R(i,e,!0),t.onopen(e)}jn(()=>{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=Hr(),u=V(l),d=e=>{Yd(e,{get preview(){return t.state},onclose:s})},f=e=>{Od(e,{get state(){return t.state},onclose:s})},p=e=>{var i=of(),a=B(i);Li(a,e=>R(n,e),()=>G(n));var o=H(a,2),s=e=>{J(e,Xd())},l=e=>{J(e,Zd())},u=e=>{var n=Qd(),r=B(n,!0);N(n),U(()=>Y(r,t.catalog.error)),J(e,n)},d=e=>{J(e,$d())},f=e=>{var n=af(),i=H(V(n),2);Z(i,21,()=>t.catalog.entries,e=>e.planName,(e,t)=>{var n=rf(),i=B(n),a=B(i),o=B(a,!0);N(a);var s=H(a,2),l=B(s,!0);N(s);var u=H(s,2),d=e=>{var n=tf(),r=V(n),i=B(r);N(r);var a=H(r,2),o=e=>{var n=ef(),r=B(n,!0);N(n),U(()=>Y(r,G(t).subtitle)),J(e,n)};X(a,e=>{G(t).subtitle&&e(o)}),U(()=>Y(i,`${G(t).doneSteps??``} / ${G(t).totalSteps??``} complete`)),J(e,n)},f=e=>{J(e,nf())};X(u,e=>{G(t).previewAvailable===!1?e(f,-1):e(d)}),N(i),Li(i,(e,t)=>r[t.planName]=e,e=>r?.[e.planName],()=>[G(t)]),N(n),U(()=>{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()}Pr([`click`]);var cf=`settings`,lf=`drafts`,uf=`cursors`,df=`selected-session`,ff={text:``,revision:0},pf=e=>{if(!e||typeof e!=`object`)return!1;let t=e,n=t.pending;return typeof t.text==`string`&&Number.isSafeInteger(t.revision)&&t.revision>=0&&(n===void 0||Array.isArray(n)&&n.every(e=>!!e&&typeof e.operationId==`string`&&typeof e.text==`string`&&Number.isSafeInteger(e.revision)&&e.revision>=0&&(e.kind===`send`||e.kind===`queue`||e.kind===`interrupt-send`)))};function mf(e=globalThis.indexedDB){if(!e)return hf;let t=Ic(e),n=new Map,r=new Map,i=async(e,i)=>{let a=r.get(e);if(a&&a.revision>i.revision)return;r.set(e,i);let o=(n.get(e)??Promise.resolve()).catch(()=>void 0).then(async()=>{if(r.get(e)===i)try{await Rc(await t,lf,e,i)}catch{}});n.set(e,o),await o};return{async readSelectedSession(){try{return await Lc(await t,cf,df)??null}catch{return null}},async saveSelectedSession(e){try{let n=await t;e?await Rc(n,cf,df,e):await zc(n,cf,df)}catch{}},async readDraft(e){return(await this.readDraftEnvelope(e)).text},async saveDraft(e,t){let n=await this.readDraftEnvelope(e);await i(e,{text:t,revision:n.revision+1})},async readDraftEnvelope(e){try{let n=await Lc(await t,lf,e),i=pf(n)?n:typeof n==`string`?{text:n,revision:0}:ff,a=r.get(e);return a&&a.revision>=i.revision?a:(r.set(e,i),i)}catch{return r.get(e)??ff}},saveDraftEnvelope:i,replaceDraftText:async(e,t,n)=>{let a=r.get(e);await i(e,{text:t,revision:n,pending:a?.pending})},addPendingDraftOperation:async(e,t)=>{let n=r.get(e)??ff;await i(e,{...n,pending:[...(n.pending??[]).filter(e=>e.operationId!==t.operationId),t].slice(-8)})},consumeAcceptedDraft:async(e,i,a)=>{let o=n.get(e)??Promise.resolve(),s=null,c=o.catch(()=>void 0).then(async()=>{let n=r.get(e);if(!n)try{let r=await Lc(await t,lf,e);n=pf(r)?r:typeof r==`string`?{text:r,revision:0}:ff}catch{n=ff}if(!(n.revision!==i||!n.pending?.some(e=>e.operationId===a))){s={text:``,revision:n.revision+1,pending:n.pending.filter(e=>e.operationId!==a)},r.set(e,s);try{await Rc(await t,lf,e,s)}catch{r.get(e)===s&&r.set(e,n),s=null}}});return n.set(e,c),await c,s},async readCursor(e){try{let n=await Lc(await t,uf,e);return typeof n==`number`&&Number.isSafeInteger(n)&&n>=0?n:0}catch{return 0}},async saveCursor(e,n){try{await Rc(await t,uf,e,n)}catch{}}}}var hf={readSelectedSession:async()=>null,saveSelectedSession:async()=>{},readDraft:async()=>``,saveDraft:async()=>{},readDraftEnvelope:async()=>ff,saveDraftEnvelope:async()=>{},replaceDraftText:async()=>{},addPendingDraftOperation:async()=>{},consumeAcceptedDraft:async()=>null,readCursor:async()=>0,saveCursor:async()=>{}};function gf(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 _f(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 vf(e,t){if(!t?.threadId||!t.workspacePath||!t.resumeCommand||e.some(e=>e.id===t.threadId&&(e.provider??`codex`)===(t.provider??`codex`)))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.provider===void 0?{}:{provider:t.provider},...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 yf(e){let t=/^\/home\/[^/]+/.exec(e)?.[0];if(!t)return e;let n=e.slice(t.length);return n?`~${n}`:`~/`}function bf(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`Updated recently`;let r=Math.max(0,Math.floor((t-n)/1e3));return r<5?`Updated just now`:r<60?`Updated ${r}s ago`:`Updated ${Math.floor(r/60)}m ago`}var xf=q(`<time class="svelte-2szxr9"> </time>`),Sf=q(`<span role="status"><span aria-hidden="true" class="dot svelte-2szxr9"></span> <span class="svelte-2szxr9"> </span> <!></span>`);function Cf(e,t){Qe(t,!0);let n=$(t,`connected`,3,!0),r=F(()=>n()?t.autopilot?.state??`unknown`:`disconnected`),i=F(()=>!!t.autopilot?.health?.healthy),a=L(z(Date.now())),o=L(z(typeof document>`u`||document.visibilityState!==`hidden`)),s=F(()=>G(r)===`disconnected`?`Autopilot disconnected`:G(r)===`attentionRequired`?`Autopilot needs attention`:G(r)===`safetyPaused`?`Autopilot safety paused`:G(i)?`Autopilot continuation active`:`Autopilot continuation inactive`);function c(){R(o,document.visibilityState!==`hidden`),G(o)&&R(a,Date.now(),!0)}jn(()=>{if(!G(i)||!G(o))return;let e=window.setInterval(()=>R(a,Date.now(),!0),1e3);return()=>window.clearInterval(e)});var l=Sf();Nr(`visibilitychange`,ln,c);let u;var d=H(B(l),2),f=B(d,!0);N(d);var p=H(d,2),m=e=>{var n=xf(),r=B(n,!0);N(n),U(e=>{Q(n,`datetime`,t.autopilot.updatedAt),Y(r,e)},[()=>bf(t.autopilot.updatedAt,G(a))]),J(e,n)};X(p,e=>{t.autopilot&&G(i)&&e(m)}),N(l),U(()=>{u=gi(l,1,`liveness svelte-2szxr9`,null,u,{active:G(i)}),Q(l,`data-state`,G(r)),Q(l,`aria-label`,G(s)),Y(f,G(s))}),J(e,l),$e()}var wf=q(`<details class="session-verdict svelte-hxb22h"><summary class="svelte-hxb22h"><span aria-hidden="true"></span> </summary> <p class="svelte-hxb22h"> </p></details>`),Tf=q(`<time class="svelte-hxb22h"> </time>`),Ef=q(`<div class="svelte-hxb22h"> </div>`),Df=q(`<span class="profile-badge svelte-hxb22h"> </span>`),Of=q(`<span class="profile-badge svelte-hxb22h">Kimi</span>`),kf=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>`),Af=q(`<div class="session-plan-progress svelte-hxb22h"><!></div>`),jf=q(`<li><div class="session-actions svelte-hxb22h" aria-label="Session actions"><!> <!> <!> <!> <!> <!></div> <div class="session-details svelte-hxb22h"><div class="session-summary svelte-hxb22h"><!> <!> <div class="workspace-path svelte-hxb22h"> </div> <!> <!> <!> <!> <!> <!></div> <!> <!></div></li>`),Mf=q(`<section aria-labelledby="open-sessions-title" class="svelte-hxb22h"><h3 id="open-sessions-title" class="svelte-hxb22h">Open sessions</h3> <ul class="session-list svelte-hxb22h" aria-label="Open sessions"></ul></section>`),Nf=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>`),Pf=q(`<ul class="session-list svelte-hxb22h" aria-label="Saved sessions"></ul>`),Ff=q(`<p class="svelte-hxb22h">No saved sessions yet.</p>`),If=q(`<label for="sandbox" class="svelte-hxb22h">Sandbox</label> <label for="approval-policy" class="svelte-hxb22h">Approval policy</label>`,1),Lf=q(`<option class="svelte-hxb22h"> </option>`),Rf=q(`<select id="sandbox" class="svelte-hxb22h"><option class="svelte-hxb22h">workspace-write</option><option class="svelte-hxb22h">read-only</option><option class="svelte-hxb22h">danger-full-access</option></select> <select id="approval-policy" aria-describedby="approval-policy-help" class="svelte-hxb22h"><option class="svelte-hxb22h">Ask on all commands</option><option class="svelte-hxb22h">Ask out of workspace</option><option class="svelte-hxb22h">Approve everything</option></select>`,1),zf=q(`<p id="approval-policy-help" class="svelte-hxb22h"> </p>`),Bf=q(`<p class="skills-profile-error svelte-hxb22h" role="alert"> </p>`),Vf=q(`<option class="svelte-hxb22h">Loading models…</option>`),Hf=q(`<option class="svelte-hxb22h">Choose automatically</option>`),Uf=q(`<p id="provider-availability" class="provider-availability svelte-hxb22h">Kimi is unavailable because its CLI was not found when the relay started.</p>`),Wf=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>`),Gf=q(`<ul class="session-list recent-session-list svelte-hxb22h" aria-label="Recent sessions"></ul>`),Kf=q(`<p class="svelte-hxb22h">No other recent sessions found.</p>`),qf=q(`<section aria-labelledby="sessions-title" class="svelte-hxb22h"><h2 id="sessions-title" class="visually-hidden svelte-hxb22h">Sessions</h2> <!> <!> <form class="svelte-hxb22h"><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"> </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> <!></div> <div class="session-setting-controls svelte-hxb22h"><select id="skills-profile" class="svelte-hxb22h"><option class="svelte-hxb22h">Default</option><!></select> <!></div> <!> <!> <div class="session-secondary-actions svelte-hxb22h"><!> <div class="model-control svelte-hxb22h"><label for="session-provider" class="svelte-hxb22h">Provider</label> <select id="session-provider" class="svelte-hxb22h"><option class="svelte-hxb22h">Codex</option><option class="svelte-hxb22h"> </option></select></div> <div class="model-control svelte-hxb22h"><label for="model" class="svelte-hxb22h"> </label> <select id="model" class="svelte-hxb22h"><!><!></select></div> <!></div> <!></section></form> <section aria-labelledby="recent-sessions-title" class="svelte-hxb22h"><h3 id="recent-sessions-title" class="svelte-hxb22h">Recent sessions</h3> <!></section></section>`);function Jf(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,`provider`,3,`codex`),l=$(t,`kimiAvailable`,3,!1),u=$(t,`modelsLoading`,3,!1),d=$(t,`onmodelchange`,3,()=>{}),f=$(t,`onproviderchange`,3,()=>{}),p=$(t,`onautopilottoggle`,3,()=>{}),m=$(t,`onactivityopen`,3,()=>{}),h=$(t,`onautopilotresolve`,3,()=>{}),g=F(()=>t.sessions.filter(e=>e.state===`ready`||e.state===`turnActive`)),_=F(()=>t.sessions.filter(e=>e.state!==`ready`&&e.state!==`turnActive`)),v=F(()=>t.recentSessions.filter(e=>!G(g).some(t=>t.threadId===e.id&&(t.provider??`codex`)===(e.provider??`codex`)))),y=F(()=>uu(t.workspaceTree,t.workspaceId)),b=F(()=>c()===`kimi`?`Kimi`:`Codex`);var x=qf(),S=H(B(x),2),C=e=>{var s=Mf(),c=H(B(s),2);Z(c,21,()=>G(g),e=>e.id,(e,s)=>{let c=F(()=>_f(G(s))),l=F(()=>zl(G(s).sessionStatus)?G(s).sessionStatus:null);var u=jf();let d;var f=B(u),g=B(f);{let e=F(()=>G(s).id===t.selectedSessionId?`page`:void 0);Ca(g,{compact:!0,full:!0,get current(){return G(e)},onclick:()=>t.onselectopen(G(s).id),children:(e,t)=>{He(),J(e,Vr(`Open`))},$$slots:{default:!0}})}var _=H(g,2),v=e=>{Ca(e,{compact:!0,full:!0,onclick:()=>t.oncopyresume(G(s).resumeCommand),children:(e,t)=>{He(),J(e,Vr(`Copy`))},$$slots:{default:!0}})};X(_,e=>{G(s).resumeCommand&&G(s).provider!==`kimi`&&e(v)});var y=H(_,2),b=e=>{{let t=F(()=>r().get(G(s).id)??G(s).autopilot??null),n=F(()=>`session-autopilot-${G(s).id}`),a=F(()=>i().has(G(s).id));eo(e,{compact:!0,indicatorOnly:!0,get autopilot(){return G(t)},get controlId(){return G(n)},get pending(){return G(a)},ontoggle:e=>p()(G(s).id,e)})}};X(y,e=>{G(s).provider!==`kimi`&&e(b)});var x=H(y,2);{let e=F(()=>n().get(G(s).id)??G(s).agentActivity??null),t=F(()=>G(s).model??o()?.[0]);Fa(x,{compact:!0,get activity(){return G(e)},popupAlign:`start`,get rootModel(){return G(t)},get plan(){return G(s).plan},onopen:()=>m()(G(s).id)})}var S=H(x,2);Ca(S,{compact:!0,full:!0,onclick:()=>t.onclose(G(s).id),children:(e,t)=>{He(),J(e,Vr(`Close`))},$$slots:{default:!0}});var C=H(S,2),w=e=>{{let t=F(()=>r().get(G(s).id)??G(s).autopilot??null),i=F(()=>(n().get(G(s).id)??G(s).agentActivity)?.root.state!==`disconnected`);Cf(e,{get autopilot(){return G(t)},get connected(){return G(i)}})}};X(C,e=>{G(s).provider!==`kimi`&&e(w)}),N(f);var T=H(f,2),E=B(T),D=B(E),ee=e=>{var t=wf(),n=B(t),r=B(n);let i;var a=H(r);N(n);var o=H(n,2),s=B(o);N(o),N(t),U(()=>{Q(t,`data-state`,G(l).state),Q(t,`aria-label`,`${G(l).state===`working`?`Working`:`Idle`}: ${G(l).reason}`),Q(n,`aria-label`,`${G(l).state===`working`?`Working`:`Idle`}: ${G(l).reason}`),i=gi(r,1,`verdict-dot svelte-hxb22h`,null,i,{live:G(l).state===`working`&&G(l).confidence===`fresh`}),Y(a,` ${G(l).state===`working`?`Working`:`Idle`}`),Y(s,`${G(l).reason??``}. ${G(l).nextExpectedAction??``}
26
- Evidence confidence: ${G(l).confidence??``}.`)}),J(e,t)};X(D,e=>{G(l)&&e(ee)});var te=H(D,2),ne=e=>{var t=Tf(),n=B(t,!0);N(t),U((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(c).updatedAt).toISOString(),()=>gf(G(c).updatedAt)]),J(e,t)},re=e=>{var t=Ef(),n=B(t,!0);N(t),U(e=>Y(n,e),[()=>gf(null)]),J(e,t)};X(te,e=>{G(c).updatedAt===null?e(re,-1):e(ne)});var O=H(te,2),k=B(O,!0);N(O);var A=H(O,2),ie=e=>{var t=Df(),n=B(t);N(t),U(()=>Y(n,`Model: ${G(s).model??``}`)),J(e,t)};X(A,e=>{G(s).model&&e(ie)});var ae=H(A,2),oe=e=>{J(e,Of())};X(ae,e=>{G(s).provider===`kimi`&&e(oe)});var se=H(ae,2),ce=e=>{var t=Df(),n=B(t);N(t),U(()=>Y(n,`Branch: ${G(s).branch??``}`)),J(e,t)};X(se,e=>{G(s).branch&&e(ce)});var le=H(se,2),ue=e=>{var t=Df(),n=B(t);N(t),U(()=>Y(n,`Skills profile: ${G(s).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(le,e=>{G(s).effectiveSkillSelection?.selectedProfileName&&e(ue)});var de=H(le,2),fe=e=>{var t=kf(),n=B(t),r=B(n,!0);N(n);var i=H(n,2),a=B(i,!0);N(i),N(t),U(()=>{Y(r,G(s).lastOrgPlan.title),Y(a,G(s).lastOrgPlan.filename)}),J(e,t)};X(de,e=>{G(s).lastOrgPlan&&e(fe)});var pe=H(de,2),me=e=>{var t=Af(),n=B(t);{let e=F(()=>`Plan progress for ${G(s).plan.title}`);ud(n,{compact:!0,get plan(){return G(s).plan},get label(){return G(e)}})}N(t),J(e,t)};X(pe,e=>{G(s).plan&&e(me)}),N(E);var he=H(E,2);{let e=F(()=>a().get(G(s).id)??null),t=F(()=>`session-attention-${G(s).id}`),n=F(()=>i().has(G(s).id));no(he,{get attention(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},onresolve:(e,t)=>h()(G(s).id,e,t)})}var ge=H(he,2);{let e=F(()=>r().get(G(s).id)??G(s).autopilot??null),t=F(()=>a().get(G(s).id)??null),n=F(()=>`session-autopilot-safety-${G(s).id}`),o=F(()=>i().has(G(s).id));io(ge,{get autopilot(){return G(e)},get attention(){return G(t)},get controlId(){return G(n)},get pending(){return G(o)},onrecover:()=>p()(G(s).id,!0),ondisable:()=>p()(G(s).id,!1)})}N(T),N(u),U(e=>{d=gi(u,1,`managed-session open-session svelte-hxb22h`,null,d,{"current-session":G(s).id===t.selectedSessionId}),Y(k,e)},[()=>yf(G(c).workspacePath)]),J(e,u)}),N(c),N(s),J(e,s)};X(S,e=>{G(g).length&&e(C)});var w=H(S,2),T=e=>{var n=Pf();Z(n,21,()=>G(_),e=>e.id,(e,n)=>{let r=F(()=>_f(G(n)));var i=Nf(),a=B(i),o=B(a);{let e=F(()=>t.openingSessionId===G(n).id);Ca(o,{compact:!0,full:!0,get disabled(){return G(e)},onclick:()=>t.onopen(G(n).id),children:(e,r)=>{He();var i=Vr();U(()=>Y(i,t.openingSessionId===G(n).id?`Opening…`:`Open`)),J(e,i)},$$slots:{default:!0}})}var s=H(o,2),c=e=>{Ca(e,{compact:!0,full:!0,onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{He(),J(e,Vr(`Copy`))},$$slots:{default:!0}})};X(s,e=>{G(n).resumeCommand&&G(n).provider!==`kimi`&&e(c)}),Ca(H(s,2),{compact:!0,full:!0,onclick:()=>t.onforget(G(n).id),children:(e,t)=>{He(),J(e,Vr(`Forget`))},$$slots:{default:!0}}),N(a);var l=H(a,2),u=B(l),d=e=>{var t=Tf(),n=B(t,!0);N(t),U((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(r).updatedAt).toISOString(),()=>gf(G(r).updatedAt)]),J(e,t)},f=e=>{var t=Ef(),n=B(t,!0);N(t),U(e=>Y(n,e),[()=>gf(null)]),J(e,t)};X(u,e=>{G(r).updatedAt===null?e(f,-1):e(d)});var p=H(u,2),m=B(p,!0);N(p);var h=H(p,2),g=e=>{var t=Df(),r=B(t);N(t),U(()=>Y(r,`Model: ${G(n).model??``}`)),J(e,t)};X(h,e=>{G(n).model&&e(g)});var _=H(h,2),v=e=>{J(e,Of())};X(_,e=>{G(n).provider===`kimi`&&e(v)});var y=H(_,2),b=e=>{var t=Df(),r=B(t);N(t),U(()=>Y(r,`Branch: ${G(n).branch??``}`)),J(e,t)};X(y,e=>{G(n).branch&&e(b)});var x=H(y,2),S=e=>{var t=Df(),r=B(t);N(t),U(()=>Y(r,`Skills profile: ${G(n).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(x,e=>{G(n).effectiveSkillSelection?.selectedProfileName&&e(S)}),N(l),N(i),U(e=>Y(m,e),[()=>yf(G(r).workspacePath)]),J(e,i)}),N(n),J(e,n)},E=e=>{J(e,Ff())};X(w,e=>{G(_).length?e(T):G(g).length||e(E,1)});var D=H(w,2),ee=B(D),te=B(ee),ne=H(B(te),2),re=B(ne);N(ne),N(te);var O=H(te,2);{let e=F(()=>G(y)?.id??null);vu(O,{get roots(){return t.workspaceTree},get expandedIds(){return t.expandedIds},get selectedId(){return G(e)},get isSelectable(){return au.sessionBase},label:`Session base`,get onexpandedchange(){return t.onexpandedchange},onselect:e=>t.onworkspacechange(e.id)})}N(ee);var k=H(ee,2),A=B(k);let ie;var ae=H(B(A),2),oe=e=>{var t=If();He(2),J(e,t)};X(ae,e=>{c()!==`kimi`&&e(oe)}),N(A);var se=H(A,2);let ce;var le=B(se),ue=B(le);ue.value=ue.__value=``,Z(H(ue),17,()=>t.skillProfiles,e=>e.name,(e,t)=>{var n=Lf(),r=B(n,!0);N(n);var i={};U(()=>{Y(r,G(t).name),i!==(i=G(t).name)&&(n.value=(n.__value=G(t).name)??``)}),J(e,n)}),N(le);var de;bi(le);var fe=H(le,2),pe=e=>{var n=Rf(),r=V(n),i=B(r);i.value=i.__value=`workspace-write`;var a=H(i);a.value=a.__value=`read-only`;var o=H(a);o.value=o.__value=`danger-full-access`,N(r);var s;bi(r);var c=H(r,2),l=B(c);l.value=l.__value=`untrusted`;var u=H(l);u.value=u.__value=`on-request`;var d=H(u);d.value=d.__value=`never`,N(c);var f;bi(c),U(()=>{s!==(s=t.sandbox)&&(r.value=(r.__value=t.sandbox)??``,yi(r,t.sandbox)),f!==(f=t.approvalPolicy)&&(c.value=(c.__value=t.approvalPolicy)??``,yi(c,t.approvalPolicy))}),K(`change`,r,e=>t.onsandboxchange(e.currentTarget.value)),K(`change`,c,e=>t.onapprovalpolicychange(e.currentTarget.value)),J(e,n)};X(fe,e=>{c()!==`kimi`&&e(pe)}),N(se);var me=H(se,2),he=e=>{var t=zf(),n=B(t);N(t),U(()=>Y(n,`This controls when ${G(b)??``} asks; it does not expand the sandbox's technical permissions.`)),J(e,t)};X(me,e=>{c()!==`kimi`&&e(he)});var ge=H(me,2),_e=e=>{var n=Bf(),r=B(n,!0);N(n),U(()=>Y(r,t.skillProfileError)),J(e,n)};X(ge,e=>{t.skillProfileError&&e(_e)});var ve=H(ge,2),ye=B(ve);Ca(ye,{id:`manage-skill-profiles`,onclick:e=>t.onmanageprofiles(e.currentTarget),children:(e,t)=>{He(),J(e,Vr(`Manage skill profiles`))},$$slots:{default:!0}});var be=H(ye,2),xe=H(B(be),2),Se=B(xe);Se.value=Se.__value=`codex`;var Ce=H(Se),we=B(Ce);N(Ce),Ce.value=Ce.__value=`kimi`,N(xe);var Te;bi(xe),N(be);var Ee=H(be,2),De=B(Ee),Oe=B(De);N(De);var ke=H(De,2),Ae=B(ke),je=e=>{var t=Vf();t.value=t.__value=``,J(e,t)},Me=e=>{var t=Hf();t.value=t.__value=``,J(e,t)};X(Ae,e=>{u()?e(je):o().length===0&&e(Me,1)}),Z(H(Ae),16,o,e=>e,(e,t)=>{var n=Lf(),r=B(n,!0);N(n);var i={};U(()=>{Y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),J(e,n)}),N(ke);var Ne;bi(ke),N(Ee);var Pe=H(Ee,2);{let e=F(()=>!G(y)||t.startingSession||u()||o().length>0&&!s());Ca(Pe,{class:`new-session-button`,type:`submit`,primary:!0,get disabled(){return G(e)},children:(e,n)=>{He();var r=Vr();U(()=>Y(r,t.startingSession?`Creating…`:`Create session`)),J(e,r)},$$slots:{default:!0}})}N(ve);var Fe=H(ve,2),Ie=e=>{J(e,Uf())};X(Fe,e=>{l()||e(Ie)}),N(k),N(D);var Le=H(D,2),Re=H(B(Le),2),j=e=>{var n=Gf();Z(n,21,()=>G(v),e=>(e.provider??`codex`)+`:`+e.id,(e,n)=>{var r=Wf(),i=B(r),a=B(i),o=e=>{var t=Tf(),r=B(t,!0);N(t),U((e,n)=>{Q(t,`datetime`,e),Y(r,n)},[()=>new Date(G(n).recencyAt*1e3).toISOString(),()=>gf(G(n).recencyAt*1e3)]),J(e,t)},s=e=>{var t=Ef(),n=B(t,!0);N(t),U(e=>Y(n,e),[()=>gf(null)]),J(e,t)};X(a,e=>{G(n).recencyAt===null?e(s,-1):e(o)});var c=H(a,2),l=B(c,!0);N(c);var u=H(c,2),d=e=>{var t=Df(),r=B(t);N(t),U(()=>Y(r,`Model: ${G(n).model??``}`)),J(e,t)};X(u,e=>{G(n).model&&e(d)});var f=H(u,2),p=e=>{J(e,Of())};X(f,e=>{G(n).provider===`kimi`&&e(p)});var m=H(f,2),h=e=>{var t=Df(),r=B(t);N(t),U(()=>Y(r,`Skills profile: ${G(n).skillProfile??``}`)),J(e,t)};X(m,e=>{G(n).skillProfile&&e(h)});var g=H(m,2),_=e=>{var t=Df(),r=B(t);N(t),U(()=>Y(r,`Org plan: ${G(n).orgPlanFilename??``}`)),J(e,t)};X(g,e=>{G(n).orgPlanFilename&&e(_)}),N(i);var v=H(i,2),y=B(v);Ca(y,{onclick:()=>t.onopenrecent(G(n)),children:(e,t)=>{He(),J(e,Vr(`Open`))},$$slots:{default:!0}});var b=H(y,2),x=e=>{Ca(e,{onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{He(),J(e,Vr(`Copy`))},$$slots:{default:!0}})};X(b,e=>{G(n).resumeCommand&&e(x)}),N(v),N(r),U(e=>Y(l,e),[()=>yf(G(n).cwd)]),J(e,r)}),N(n),J(e,n)},ze=e=>{J(e,Kf())};X(Re,e=>{G(v).length?e(j):e(ze,-1)}),N(Le),N(x),U(()=>{Y(re,`Select the folder or repository ${G(b)??``} should use as its working directory.`),ie=vi(A,``,ie,{"grid-template-columns":c()===`kimi`?`minmax(0, 1fr)`:`repeat(3, minmax(0, 1fr))`}),ce=vi(se,``,ce,{"grid-template-columns":c()===`kimi`?`minmax(0, 1fr)`:`repeat(3, minmax(0, 1fr))`}),de!==(de=t.selectedSkillProfile)&&(le.value=(le.__value=t.selectedSkillProfile)??``,yi(le,t.selectedSkillProfile)),Q(xe,`aria-describedby`,l()?void 0:`provider-availability`),Ce.disabled=!l(),Y(we,`Kimi${l()?``:` (unavailable)`}`),Te!==(Te=c())&&(xe.value=(xe.__value=c())??``,yi(xe,c())),Y(Oe,`${G(b)??``} model`),ke.disabled=u()||o().length===0,Ne!==(Ne=s())&&(ke.value=(ke.__value=s())??``,yi(ke,s()))}),Nr(`submit`,D,e=>{e.preventDefault(),t.onstart()}),K(`change`,le,e=>t.onskillprofilechange(e.currentTarget.value)),K(`change`,xe,e=>f()(e.currentTarget.value)),K(`change`,ke,e=>d()(e.currentTarget.value)),J(e,x),$e()}Pr([`change`]);function Yf(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 Xf=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 Zf({chatEnabled:e}){return[`sessions`,`git`,...e?[`chat`]:[],`plan`]}function Qf(e,t,n={chatEnabled:!0}){let r=Zf(n);return r[(r.indexOf(e)+t+r.length)%r.length]}var $f=q(`<nav class="bottom-navigation" aria-label="Primary"><button>Sessions</button> <button>Git</button> <button>Chat</button> <button>Plan</button></nav>`);function ep(e,t){Qe(t,!0);let n=$(t,`focusTab`,3,null),r=z({});jn(()=>{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=Qf(t.activeTab,n,{chatEnabled:t.chatEnabled});t.onselect(i),r[i]?.focus()}var a=$f(),o=B(a);Li(o,e=>r.sessions=e,()=>r?.sessions);var s=H(o,2);Li(s,e=>r.git=e,()=>r?.git);var c=H(s,2);Li(c,e=>r.chat=e,()=>r?.chat);var l=H(c,2);Li(l,e=>r.plan=e,()=>r?.plan),N(a),U(()=>{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()}Pr([`keydown`,`click`]);var tp=q(`<option> </option>`),np=q(`<p id="skills-status" aria-live="polite">Loading skills…</p>`),rp=q(`<p id="skills-status">No skills were discovered for this workspace and Codex profile.</p>`),ip=q(`<p id="skills-status" class="notice svelte-dg6sjj" role="status"> </p>`),ap=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert"> </p>`),op=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert" tabindex="-1"> </p>`),sp=q(`<p id="skills-status" role="status">Profile saved.</p>`),cp=q(`<p id="skills-status" role="status">Profile deleted.</p>`),lp=q(`<li class="svelte-dg6sjj"><div class="svelte-dg6sjj"><strong> </strong> <span class="missing-state svelte-dg6sjj">Missing · disabled</span> <span class="path svelte-dg6sjj"> </span></div> <button type="button" class="remove-missing svelte-dg6sjj">Remove</button></li>`),up=q(`<section class="missing-skills svelte-dg6sjj" aria-labelledby="missing-skills-title"><h3 id="missing-skills-title" class="svelte-dg6sjj">Missing skills</h3> <p class="svelte-dg6sjj">These saved paths no longer exist. They are disabled for new sessions until restored or
27
- removed from the profile.</p> <ul class="svelte-dg6sjj"></ul></section>`),dp=q(`<p class="svelte-dg6sjj"> </p>`),fp=q(`<li> </li>`),pp=q(`<dt class="svelte-dg6sjj">Tool dependencies</dt> <dd class="svelte-dg6sjj"><ul class="svelte-dg6sjj"></ul></dd>`,1),mp=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>`),hp=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),gp=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 _p(e,t){Qe(t,!0);let n=$(t,`skillsState`,7),r=$(t,`heading`,3,`Manage skill profiles`),i=L(0),a=L(null),o=L(null),s=L(null),c=L(null),l=L(`__new__`),u=F(()=>(G(i),n())),d=F(()=>G(u).profiles.filter(e=>!(`error`in e)));function f(){n(Object.assign(Object.create(Object.getPrototypeOf(n())),n())),R(i,G(i)+1)}async function p(){await t.onrefresh(),f()}function m(e){R(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`&&(R(l,G(u).selectedProfileName,!0),t.onprofileschange()),G(u).status.kind===`save-failed`&&(await Cr(),G(a)?.focus())}function g(){G(c)?.showModal()}async function _(){G(c)?.close(),await G(u).deleteSelectedProfile(),f(),G(u).status.kind===`deleted`&&(R(l,`__new__`),t.onprofileschange()),await Cr(),G(o)?.focus()}async function v(){G(c)?.close(),await Cr(),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=gp(),C=B(S),w=B(C,!0);N(C);var T=H(C,4),E=B(T),D=H(B(E),2),ee=B(D);ee.value=ee.__value=`__new__`;var te=H(ee);te.value=te.__value=`__default__`,Z(H(te),17,()=>G(d),e=>e.name,(e,t)=>{var n=tp(),r=B(n,!0);N(n);var i={};U(()=>{Y(r,G(t).name),i!==(i=G(t).name)&&(n.value=(n.__value=G(t).name)??``)}),J(e,n)}),N(D),Li(D,e=>R(o,e),()=>G(o));var ne=H(D,4);Di(ne),N(E);var re=H(E,2),O=B(re,!0);N(re);var k=H(re,2),A=B(k);Li(A,e=>R(s,e),()=>G(s));var ie=H(A,2),ae=B(ie,!0);N(ie),N(k),N(T);var oe=H(T,2),se=H(B(oe),2),ce=B(se);N(se);var le=H(se,2),ue=B(le),de=H(ue,2);N(le),N(oe),Li(oe,e=>R(c,e),()=>G(c));var fe=H(oe,2),pe=e=>{J(e,np())},me=e=>{J(e,rp())},he=e=>{var t=ip(),n=B(t);N(t),U(()=>Y(n,`Discovery warning: ${G(u).status.message??``}`)),J(e,t)},ge=e=>{var t=ap(),n=B(t,!0);N(t),U(()=>Y(n,G(u).status.message)),J(e,t)},_e=e=>{var t=op(),n=B(t,!0);N(t),Li(t,e=>R(a,e),()=>G(a)),U(()=>Y(n,G(u).status.message)),J(e,t)},ve=e=>{J(e,sp())},ye=e=>{J(e,cp())},be=e=>{var t=ap(),n=B(t,!0);N(t),U(()=>Y(n,G(u).status.message)),J(e,t)};X(fe,e=>{G(u).status.kind===`loading`?e(pe):G(u).status.kind===`empty`?e(me,1):G(u).status.kind===`warning`?e(he,2):G(u).status.kind===`invalid-profile`||G(u).status.kind===`error`?e(ge,3):G(u).status.kind===`save-failed`?e(_e,4):G(u).status.kind===`saved`?e(ve,5):G(u).status.kind===`deleted`?e(ye,6):G(u).status.kind===`delete-failed`&&e(be,7)});var xe=H(fe,2),Se=e=>{var t=hp(),n=V(t),r=B(n),i=H(r,2),a=B(i);N(i),N(n);var o=H(n,2),s=e=>{var t=up(),n=H(B(t),4);Z(n,21,()=>G(u).missingSkills,e=>e.path,(e,t)=>{var n=lp(),r=B(n),i=B(r),a=B(i,!0);N(i);var o=H(i,4),s=B(o,!0);N(o),N(r);var c=H(r,2);N(n),U(e=>{Y(a,G(t).name),Y(s,e),Q(c,`aria-label`,`Remove missing skill ${G(t).name} from profile`)},[()=>b(G(t).path)]),K(`click`,c,()=>{G(u).removeMissingSkill(G(t).path),f()}),J(e,n)}),N(n),N(t),J(e,t)};X(o,e=>{G(u).missingSkills.length>0&&e(s)});var c=H(o,2);Z(c,21,()=>G(u).skills,e=>e.path,(e,t)=>{var n=mp();let r;var i=B(n),a=B(i);Di(a);var o=H(a,2),s=B(o,!0);N(o);var c=H(o,2),l=B(c,!0);N(c),N(i);var d=H(i,2),p=B(d),m=e=>{var n=dp(),r=B(n,!0);N(n),U(()=>Y(r,G(t).description)),J(e,n)};X(p,e=>{G(t).description&&e(m)});var h=H(p,2),g=e=>{var n=dp(),r=B(n,!0);N(n),U(()=>Y(r,G(t).shortDescription)),J(e,n)};X(h,e=>{G(t).shortDescription&&e(g)});var _=H(h,2),v=H(B(_),2),S=B(v,!0);N(v);var C=H(v,2),w=e=>{var n=pp(),r=H(V(n),2),i=B(r);Z(i,21,()=>G(t).dependencies.tools,e=>`${e.type}:${e.value}`,(e,t)=>{var n=fp(),r=B(n);N(n),U(()=>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),U((e,o)=>{r=vi(n,``,r,e),Q(i,`for`,`skill-${G(t).path}`),Q(a,`id`,`skill-${G(t).path}`),ki(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)]),Nr(`focus`,a,x),K(`change`,a,e=>{G(u).toggle(G(t).path,e.currentTarget.checked),f()}),J(e,n)}),N(c),U(()=>Y(a,`${G(u).enabledCount??``} of ${G(u).skills.length??``} skills enabled.`)),K(`click`,r,()=>void p()),J(e,t)};X(xe,e=>{(G(u).skills.length>0||G(u).missingSkills.length>0)&&e(Se)}),N(S),U(()=>{Y(w,r()),Oi(ne,G(u).saveAsName),Y(O,G(u).saveIntent===`replace`?`Saved the selected profile.`:`Creating a new saved profile.`),A.disabled=!G(u).selectedProfileName||G(u).status.kind===`deleting`,ie.disabled=G(u).status.kind===`saving`,Y(ae,G(u).status.kind===`saving`?`Saving profile…`:`Save profile`),Y(ce,`Delete ${G(u).selectedProfileName??``}? Existing sessions keep their saved skill set.`)}),Nr(`submit`,T,h),K(`change`,D,m),xi(D,()=>G(l),e=>R(l,e)),K(`input`,ne,e=>{G(u).saveAsName=e.currentTarget.value,f()}),K(`click`,A,g),K(`click`,ue,()=>void v()),K(`click`,de,()=>void _()),J(e,S),$e()}Pr([`change`,`input`,`click`]);var vp=class{client;workspaceId=``;codexProfile=``;selectedProfileName=``;saveAsName=``;source=`native`;skills=[];missingSkills=[];profiles=[];status={kind:`idle`};baseline=new Map;missingBaseline=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)||this.missingSkills.some(e=>this.missingBaseline.get(e.path)?.enabled!==e.enabled)||[...this.missingBaseline].some(([e])=>!this.missingSkills.some(t=>t.path===e))}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:yp(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=this.missingSkills.length?this.missingSkillsStatus():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:yp(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])),r=new Set(this.skills.map(e=>e.path)),i=t.skills.filter(e=>!r.has(e.path));this.skills=this.skills.map(e=>({...e,enabled:e.alwaysAdvertised?!0:n.get(e.path)??!1})),this.missingSkills=i.map(e=>({...e,enabled:!1})),this.baseline=new Map(this.skills.map(e=>[e.path,e.enabled])),this.missingBaseline=new Map(i.map(e=>[e.path,{...e}])),this.status=this.missingSkills.length?this.missingSkillsStatus():this.skills.length?{kind:`ready`}:{kind:`empty`}}selectDefaultProfile(){this.selectedProfileName=``,this.saveAsName=``,this.missingSkills=[],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)}removeMissingSkill(e){this.missingSkills=this.missingSkills.filter(t=>t.path!==e),this.status=this.missingSkills.length?this.missingSkillsStatus():this.skills.length?{kind:`ready`}:{kind:`empty`}}reset(){this.skills=this.skills.map(e=>({...e,enabled:this.baseline.get(e.path)??!1})),this.missingSkills=[...this.missingBaseline.values()].map(e=>({...e,enabled:!1})),this.missingSkills.length&&(this.status=this.missingSkillsStatus())}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:yp(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.missingSkills=[],this.captureBaseline(),this.status={kind:`deleted`}}catch(e){this.status={kind:`delete-failed`,message:yp(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})).concat(this.missingSkills).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])),n=new Map(this.missingSkills.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)??n.get(e.path)??e.effectiveEnabled}));let r=new Set(e.skills.map(e=>e.path));this.missingSkills=this.missingSkills.filter(e=>!r.has(e.path)),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])),this.missingBaseline=new Map(this.missingSkills.map(e=>[e.path,{...e}]))}missingSkillsStatus(){let e=this.missingSkills.length;return{kind:`warning`,message:`${e} saved ${e===1?`skill is`:`skills are`} missing and disabled. Remove ${e===1?`it`:`them`} from this profile, or restore the skill installation.`}}};function yp(e){return e instanceof Error?e.message:`Unknown relay error.`}var bp=o(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),xp=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)}})),Sp=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}}})),Cp=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})),wp=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})),Tp=o((e=>{var t=xp().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}})),Ep=o((e=>{var t=xp().getSymbolSize,n=7;e.getPositions=function(e){let r=t(e);return[[0,0],[r-n,0],[0,r-n]]}})),Dp=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}})),Op=o((e=>{var t=Sp(),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}}})),kp=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]]}})),Ap=o((e=>{var t=kp();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}})),jp=o(((e,t)=>{var n=Ap();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})),Mp=o((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),Np=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
28
- ]))+`;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)}})),Pp=o((e=>{var t=Mp(),n=Np();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}}})),Fp=o((e=>{var t=xp(),n=Op(),r=Sp(),i=Pp(),a=Mp(),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}})),Ip=o((e=>{var t=xp(),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}})),Lp=o(((e,t)=>{var n=Pp();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})),Rp=o(((e,t)=>{var n=Pp(),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})),zp=o(((e,t)=>{var n=Pp();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})),Bp=o(((e,t)=>{var n=Pp(),r=xp();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]+`
29
- Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=i})),Vp=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)})),Hp=o((e=>{var t=Pp(),n=Lp(),r=Rp(),i=zp(),a=Bp(),o=Np(),s=xp(),c=Vp();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)+`.
30
- 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()))}})),Up=o((e=>{var t=xp(),n=Sp(),r=Cp(),i=wp(),a=Tp(),o=Ep(),s=Dp(),c=Op(),l=jp(),u=Fp(),d=Ip(),f=Pp(),p=Hp();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(`
25
+ `),a=null,o=!1,s=()=>{a&&r.push({...a,properties:[...a.properties],descriptions:[...a.descriptions],body:Pd(a.body)})};for(let e of i){let r=kd.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=Ad.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=jd.exec(e);t&&a.properties.push([t[1],t[2].trim()]);continue}let i=Md.exec(e);i?a.descriptions.push([i[1].trim(),i[2].trim()]):a.body.push(e)}return s(),{metadata:t,preamble:Pd(n),sections:r}}function Pd(e){let t=[...e];for(;t[0]?.trim()===``;)t.shift();for(;t.at(-1)?.trim()===``;)t.pop();return t}var Fd=q(`<div class="svelte-h7gaqo"><dt class="svelte-h7gaqo"> </dt> <dd class="svelte-h7gaqo"> </dd></div>`),Id=q(`<dl class="metadata svelte-h7gaqo"></dl>`),Ld=q(`<p class="svelte-h7gaqo"> </p>`),Rd=q(`<p class="svelte-h7gaqo">This Org document has no headings.</p>`),zd=q(`<h3 class="svelte-h7gaqo"> </h3>`),Bd=q(`<h4 class="svelte-h7gaqo"> </h4>`),Vd=q(`<span> </span>`),Hd=q(`<span class="priority svelte-h7gaqo"> </span>`),Ud=q(`<dl class="descriptions svelte-h7gaqo"></dl>`),Wd=q(`<p> </p>`),Gd=q(`<details class="properties svelte-h7gaqo"><summary class="svelte-h7gaqo">Properties</summary> <dl class="svelte-h7gaqo"></dl></details>`),Kd=q(`<section class="org-section svelte-h7gaqo"><div class="section-heading svelte-h7gaqo"><!> <!> <!></div> <!> <!> <!></section>`),qd=q(`<div class="sections svelte-h7gaqo"></div>`),Jd=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 Yd(e,t){Qe(t,!0);let n=F(()=>Nd(t.preview.source)),r=F(()=>G(n).metadata.filter(([e])=>e!==`TITLE`));var i=Jd(),a=B(i),o=B(a),s=B(o),c=B(s,!0);N(s);var l=H(s,2),u=B(l,!0);N(l),N(o);var d=H(o,2);N(a);var f=H(a,2),p=e=>{var t=Id();Z(t,21,()=>G(r),([e,t])=>`${e}:${t}`,(e,t)=>{var n=F(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Fd(),o=B(a),s=B(o,!0);N(o);var c=H(o,2),l=B(c,!0);N(c),N(a),U(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),N(t),J(e,t)};X(f,e=>{G(r).length&&e(p)});var m=H(f,2);Z(m,19,()=>G(n).preamble,(e,t)=>`preamble:${t}:${e}`,(e,t)=>{var n=Hr(),r=V(n),i=e=>{var n=Ld(),r=B(n,!0);N(n),U(()=>Y(r,G(t))),J(e,n)},a=F(()=>G(t).trim());X(r,e=>{G(a)&&e(i)}),J(e,n)});var h=H(m,2),g=e=>{J(e,Rd())},_=e=>{var t=qd();Z(t,23,()=>G(n).sections,(e,t)=>`${t}:${e.level}:${e.title}`,(e,t)=>{var n=Kd();let r;var i=B(n),a=B(i),o=e=>{var n=zd(),r=B(n,!0);N(n),U(()=>Y(r,G(t).title)),J(e,n)},s=e=>{var n=Bd(),r=B(n,!0);N(n),U(()=>Y(r,G(t).title)),J(e,n)};X(a,e=>{G(t).level===1?e(o):e(s,-1)});var c=H(a,2),l=e=>{var n=Vd(),r=B(n,!0);N(n),U(e=>{gi(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=H(c,2),d=e=>{var n=Hd(),r=B(n);N(n),U(()=>Y(r,`Priority ${G(t).priority??``}`)),J(e,n)};X(u,e=>{G(t).priority&&e(d)}),N(i);var f=H(i,2),p=e=>{var n=Ud();Z(n,21,()=>G(t).descriptions,([e,t])=>`${e}:${t}`,(e,t)=>{var n=F(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Fd(),o=B(a),s=B(o,!0);N(o);var c=H(o,2),l=B(c,!0);N(c),N(a),U(()=>{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=H(f,2);Z(m,19,()=>G(t).body,(e,t)=>`${t}:${e}`,(e,t)=>{var n=Hr(),r=V(n),i=e=>{var n=Wd();let r;var i=B(n,!0);N(n),U(e=>{r=gi(n,1,`svelte-h7gaqo`,null,r,e),Y(i,G(t))},[()=>({"list-item":G(t).trimStart().startsWith(`- `)})]),J(e,n)},a=F(()=>G(t).trim());X(r,e=>{G(a)&&e(i)}),J(e,n)});var h=H(m,2),g=e=>{var n=Gd(),r=H(B(n),2);Z(r,21,()=>G(t).properties,([e,t])=>`${e}:${t}`,(e,t)=>{var n=F(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Fd(),o=B(a),s=B(o,!0);N(o);var c=H(o,2),l=B(c,!0);N(c),N(a),U(()=>{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),U(e=>r=vi(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),U(()=>{Y(c,t.preview.title),Y(u,t.preview.planName)}),K(`click`,d,function(...e){t.onclose?.apply(this,e)}),J(e,i),$e()}Pr([`click`]);var Xd=q(`<span> </span>`),Zd=q(`<span> </span> <!>`,1),Qd=q(`<span>Org document</span>`),$d=q(`<li><button class="svelte-x2ko9l"><strong> </strong> <code class="svelte-x2ko9l"> </code> <!></button></li>`),ef=q(`<p>Select a workspace to browse its local plans.</p>`),tf=q(`<p>Loading workspace plans…</p>`),nf=q(`<p> </p>`),rf=q(`<p>No Org files were found below this workspace.</p>`),af=q(`<ul aria-label="Unfinished plans" class="svelte-x2ko9l"></ul>`),of=q(`<section class="completed svelte-x2ko9l" aria-labelledby="completed-plans-title"><h3 id="completed-plans-title" class="svelte-x2ko9l">Completed</h3> <ul class="svelte-x2ko9l"></ul></section>`),sf=q(`<p class="scope svelte-x2ko9l">Org files below the selected workspace.</p> <!> <!>`,1),cf=q(`<section class="plans svelte-x2ko9l" aria-labelledby="plans-title"><h2 id="plans-title" tabindex="-1" class="svelte-x2ko9l">Plans</h2> <!></section>`);function lf(e,t){Qe(t,!0);let n=(e,t=b)=>{var n=$d(),r=B(n),a=B(r),o=B(a,!0);N(a);var s=H(a,2),c=B(s,!0);N(s);var l=H(s,2),u=e=>{var n=Zd(),r=V(n),i=B(r);N(r);var a=H(r,2),o=e=>{var n=Xd(),r=B(n,!0);N(n),U(()=>Y(r,t().subtitle)),J(e,n)};X(a,e=>{t().subtitle&&e(o)}),U(()=>Y(i,`${t().doneSteps??``} / ${t().totalSteps??``} complete`)),J(e,n)},f=e=>{J(e,Qd())};X(l,e=>{t().previewAvailable===!1?e(f,-1):e(u)}),N(r),Li(r,e=>i[t().planName]=e,()=>i?.[t().planName]),N(n),U(()=>{Y(o,t().title),Y(c,t().planName)}),K(`click`,r,()=>d(t().planName)),J(e,n)},r=L(null),i=z({}),a=L(null),o=!1,s=!1,c=F(()=>t.catalog.kind===`ready`?t.catalog.entries.filter(e=>e.allDone!==!0):[]),l=F(()=>t.catalog.kind===`ready`?t.catalog.entries.filter(e=>e.allDone===!0):[]);function u(){t.onclose()}function d(e){R(a,e,!0),t.onopen(e)}jn(()=>{if(t.state){o=!0;return}if(o&&(o=!1,s=!0),!s)return;let e=t.catalog.kind,n=G(a);queueMicrotask(()=>{let t=n?i[n]:void 0;t?.isConnected?(t.focus(),s=!1):e!==`loading`&&(G(r)?.focus(),s=!1)})});var f=Hr(),p=V(f),m=e=>{Yd(e,{get preview(){return t.state},onclose:u})},h=e=>{Od(e,{get state(){return t.state},onclose:u})},g=e=>{var i=cf(),a=B(i);Li(a,e=>R(r,e),()=>G(r));var o=H(a,2),s=e=>{J(e,ef())},u=e=>{J(e,tf())},d=e=>{var n=nf(),r=B(n,!0);N(n),U(()=>Y(r,t.catalog.error)),J(e,n)},f=e=>{J(e,rf())},p=e=>{var t=sf(),r=H(V(t),2),i=e=>{var t=af();Z(t,21,()=>G(c),e=>e.planName,(e,t)=>{n(e,()=>G(t))}),N(t),J(e,t)};X(r,e=>{G(c).length>0&&e(i)});var a=H(r,2),o=e=>{var t=of(),r=H(B(t),2);Z(r,21,()=>G(l),e=>e.planName,(e,t)=>{n(e,()=>G(t))}),N(r),N(t),J(e,t)};X(a,e=>{G(l).length>0&&e(o)}),J(e,t)};X(o,e=>{t.catalog.kind===`no-workspace`?e(s):t.catalog.kind===`loading`?e(u,1):t.catalog.kind===`error`?e(d,2):t.catalog.entries.length===0?e(f,3):e(p,-1)}),N(i),J(e,i)};X(p,e=>{t.state?.kind===`org-source`?e(m):t.state?e(h,1):e(g,-1)}),J(e,f),$e()}Pr([`click`]);var uf=`settings`,df=`drafts`,ff=`cursors`,pf=`selected-session`,mf={text:``,revision:0},hf=e=>{if(!e||typeof e!=`object`)return!1;let t=e,n=t.pending;return typeof t.text==`string`&&Number.isSafeInteger(t.revision)&&t.revision>=0&&(n===void 0||Array.isArray(n)&&n.every(e=>!!e&&typeof e.operationId==`string`&&typeof e.text==`string`&&Number.isSafeInteger(e.revision)&&e.revision>=0&&(e.kind===`send`||e.kind===`queue`||e.kind===`interrupt-send`)))};function gf(e=globalThis.indexedDB){if(!e)return _f;let t=Ic(e),n=new Map,r=new Map,i=async(e,i)=>{let a=r.get(e);if(a&&a.revision>i.revision)return;r.set(e,i);let o=(n.get(e)??Promise.resolve()).catch(()=>void 0).then(async()=>{if(r.get(e)===i)try{await Rc(await t,df,e,i)}catch{}});n.set(e,o),await o};return{async readSelectedSession(){try{return await Lc(await t,uf,pf)??null}catch{return null}},async saveSelectedSession(e){try{let n=await t;e?await Rc(n,uf,pf,e):await zc(n,uf,pf)}catch{}},async readDraft(e){return(await this.readDraftEnvelope(e)).text},async saveDraft(e,t){let n=await this.readDraftEnvelope(e);await i(e,{text:t,revision:n.revision+1})},async readDraftEnvelope(e){try{let n=await Lc(await t,df,e),i=hf(n)?n:typeof n==`string`?{text:n,revision:0}:mf,a=r.get(e);return a&&a.revision>=i.revision?a:(r.set(e,i),i)}catch{return r.get(e)??mf}},saveDraftEnvelope:i,replaceDraftText:async(e,t,n)=>{let a=r.get(e);await i(e,{text:t,revision:n,pending:a?.pending})},addPendingDraftOperation:async(e,t)=>{let n=r.get(e)??mf;await i(e,{...n,pending:[...(n.pending??[]).filter(e=>e.operationId!==t.operationId),t].slice(-8)})},consumeAcceptedDraft:async(e,i,a)=>{let o=n.get(e)??Promise.resolve(),s=null,c=o.catch(()=>void 0).then(async()=>{let n=r.get(e);if(!n)try{let r=await Lc(await t,df,e);n=hf(r)?r:typeof r==`string`?{text:r,revision:0}:mf}catch{n=mf}if(!(n.revision!==i||!n.pending?.some(e=>e.operationId===a))){s={text:``,revision:n.revision+1,pending:n.pending.filter(e=>e.operationId!==a)},r.set(e,s);try{await Rc(await t,df,e,s)}catch{r.get(e)===s&&r.set(e,n),s=null}}});return n.set(e,c),await c,s},async readCursor(e){try{let n=await Lc(await t,ff,e);return typeof n==`number`&&Number.isSafeInteger(n)&&n>=0?n:0}catch{return 0}},async saveCursor(e,n){try{await Rc(await t,ff,e,n)}catch{}}}}var _f={readSelectedSession:async()=>null,saveSelectedSession:async()=>{},readDraft:async()=>``,saveDraft:async()=>{},readDraftEnvelope:async()=>mf,saveDraftEnvelope:async()=>{},replaceDraftText:async()=>{},addPendingDraftOperation:async()=>{},consumeAcceptedDraft:async()=>null,readCursor:async()=>0,saveCursor:async()=>{}};function vf(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 yf(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 bf(e,t){if(!t?.threadId||!t.workspacePath||!t.resumeCommand||e.some(e=>e.id===t.threadId&&(e.provider??`codex`)===(t.provider??`codex`)))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.provider===void 0?{}:{provider:t.provider},...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 xf(e){let t=/^\/home\/[^/]+/.exec(e)?.[0];if(!t)return e;let n=e.slice(t.length);return n?`~${n}`:`~/`}function Sf(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`Updated recently`;let r=Math.max(0,Math.floor((t-n)/1e3));return r<5?`Updated just now`:r<60?`Updated ${r}s ago`:`Updated ${Math.floor(r/60)}m ago`}var Cf=q(`<time class="svelte-2szxr9"> </time>`),wf=q(`<span role="status"><span aria-hidden="true" class="dot svelte-2szxr9"></span> <span class="svelte-2szxr9"> </span> <!></span>`);function Tf(e,t){Qe(t,!0);let n=$(t,`connected`,3,!0),r=F(()=>n()?t.autopilot?.state??`unknown`:`disconnected`),i=F(()=>!!t.autopilot?.health?.healthy),a=L(z(Date.now())),o=L(z(typeof document>`u`||document.visibilityState!==`hidden`)),s=F(()=>G(r)===`disconnected`?`Autopilot disconnected`:G(r)===`attentionRequired`?`Autopilot needs attention`:G(r)===`safetyPaused`?`Autopilot safety paused`:G(i)?`Autopilot continuation active`:`Autopilot continuation inactive`);function c(){R(o,document.visibilityState!==`hidden`),G(o)&&R(a,Date.now(),!0)}jn(()=>{if(!G(i)||!G(o))return;let e=window.setInterval(()=>R(a,Date.now(),!0),1e3);return()=>window.clearInterval(e)});var l=wf();Nr(`visibilitychange`,ln,c);let u;var d=H(B(l),2),f=B(d,!0);N(d);var p=H(d,2),m=e=>{var n=Cf(),r=B(n,!0);N(n),U(e=>{Q(n,`datetime`,t.autopilot.updatedAt),Y(r,e)},[()=>Sf(t.autopilot.updatedAt,G(a))]),J(e,n)};X(p,e=>{t.autopilot&&G(i)&&e(m)}),N(l),U(()=>{u=gi(l,1,`liveness svelte-2szxr9`,null,u,{active:G(i)}),Q(l,`data-state`,G(r)),Q(l,`aria-label`,G(s)),Y(f,G(s))}),J(e,l),$e()}var Ef=q(`<details class="session-verdict svelte-hxb22h"><summary class="svelte-hxb22h"><span aria-hidden="true"></span> </summary> <p class="svelte-hxb22h"> </p></details>`),Df=q(`<time class="svelte-hxb22h"> </time>`),Of=q(`<div class="svelte-hxb22h"> </div>`),kf=q(`<span class="profile-badge svelte-hxb22h"> </span>`),Af=q(`<span class="profile-badge svelte-hxb22h">Kimi</span>`),jf=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>`),Mf=q(`<div class="session-plan-progress svelte-hxb22h"><!></div>`),Nf=q(`<li><div class="session-actions svelte-hxb22h" aria-label="Session actions"><!> <!> <!> <!> <!> <!></div> <div class="session-details svelte-hxb22h"><div class="session-summary svelte-hxb22h"><!> <!> <div class="workspace-path svelte-hxb22h"> </div> <!> <!> <!> <!> <!> <!></div> <!> <!></div></li>`),Pf=q(`<section aria-labelledby="open-sessions-title" class="svelte-hxb22h"><h3 id="open-sessions-title" class="svelte-hxb22h">Open sessions</h3> <ul class="session-list svelte-hxb22h" aria-label="Open sessions"></ul></section>`),Ff=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>`),If=q(`<ul class="session-list svelte-hxb22h" aria-label="Saved sessions"></ul>`),Lf=q(`<p class="svelte-hxb22h">No saved sessions yet.</p>`),Rf=q(`<label for="sandbox" class="svelte-hxb22h">Sandbox</label> <label for="approval-policy" class="svelte-hxb22h">Approval policy</label>`,1),zf=q(`<option class="svelte-hxb22h"> </option>`),Bf=q(`<select id="sandbox" class="svelte-hxb22h"><option class="svelte-hxb22h">workspace-write</option><option class="svelte-hxb22h">read-only</option><option class="svelte-hxb22h">danger-full-access</option></select> <select id="approval-policy" aria-describedby="approval-policy-help" class="svelte-hxb22h"><option class="svelte-hxb22h">Ask on all commands</option><option class="svelte-hxb22h">Ask out of workspace</option><option class="svelte-hxb22h">Approve everything</option></select>`,1),Vf=q(`<p id="approval-policy-help" class="svelte-hxb22h"> </p>`),Hf=q(`<p class="skills-profile-error svelte-hxb22h" role="alert"> </p>`),Uf=q(`<option class="svelte-hxb22h">Loading models…</option>`),Wf=q(`<option class="svelte-hxb22h">Choose automatically</option>`),Gf=q(`<p id="provider-availability" class="provider-availability svelte-hxb22h">Kimi is unavailable because its CLI was not found when the relay started.</p>`),Kf=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>`),qf=q(`<ul class="session-list recent-session-list svelte-hxb22h" aria-label="Recent sessions"></ul>`),Jf=q(`<p class="svelte-hxb22h">No other recent sessions found.</p>`),Yf=q(`<section aria-labelledby="sessions-title" class="svelte-hxb22h"><h2 id="sessions-title" class="visually-hidden svelte-hxb22h">Sessions</h2> <!> <!> <form class="svelte-hxb22h"><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"> </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> <!></div> <div class="session-setting-controls svelte-hxb22h"><select id="skills-profile" class="svelte-hxb22h"><option class="svelte-hxb22h">Default</option><!></select> <!></div> <!> <!> <div class="session-secondary-actions svelte-hxb22h"><!> <div class="model-control svelte-hxb22h"><label for="session-provider" class="svelte-hxb22h">Provider</label> <select id="session-provider" class="svelte-hxb22h"><option class="svelte-hxb22h">Codex</option><option class="svelte-hxb22h"> </option></select></div> <div class="model-control svelte-hxb22h"><label for="model" class="svelte-hxb22h"> </label> <select id="model" class="svelte-hxb22h"><!><!></select></div> <!></div> <!></section></form> <section aria-labelledby="recent-sessions-title" class="svelte-hxb22h"><h3 id="recent-sessions-title" class="svelte-hxb22h">Recent sessions</h3> <!></section></section>`);function Xf(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,`provider`,3,`codex`),l=$(t,`kimiAvailable`,3,!1),u=$(t,`modelsLoading`,3,!1),d=$(t,`onmodelchange`,3,()=>{}),f=$(t,`onproviderchange`,3,()=>{}),p=$(t,`onautopilottoggle`,3,()=>{}),m=$(t,`onactivityopen`,3,()=>{}),h=$(t,`onautopilotresolve`,3,()=>{}),g=F(()=>t.sessions.filter(e=>e.state===`ready`||e.state===`turnActive`)),_=F(()=>t.sessions.filter(e=>e.state!==`ready`&&e.state!==`turnActive`)),v=F(()=>t.recentSessions.filter(e=>!G(g).some(t=>t.threadId===e.id&&(t.provider??`codex`)===(e.provider??`codex`)))),y=F(()=>uu(t.workspaceTree,t.workspaceId)),b=F(()=>c()===`kimi`?`Kimi`:`Codex`);var x=Yf(),S=H(B(x),2),C=e=>{var s=Pf(),c=H(B(s),2);Z(c,21,()=>G(g),e=>e.id,(e,s)=>{let c=F(()=>yf(G(s))),l=F(()=>zl(G(s).sessionStatus)?G(s).sessionStatus:null);var u=Nf();let d;var f=B(u),g=B(f);{let e=F(()=>G(s).id===t.selectedSessionId?`page`:void 0);Ca(g,{compact:!0,full:!0,get current(){return G(e)},onclick:()=>t.onselectopen(G(s).id),children:(e,t)=>{He(),J(e,Vr(`Open`))},$$slots:{default:!0}})}var _=H(g,2),v=e=>{Ca(e,{compact:!0,full:!0,onclick:()=>t.oncopyresume(G(s).resumeCommand),children:(e,t)=>{He(),J(e,Vr(`Copy`))},$$slots:{default:!0}})};X(_,e=>{G(s).resumeCommand&&G(s).provider!==`kimi`&&e(v)});var y=H(_,2),b=e=>{{let t=F(()=>r().get(G(s).id)??G(s).autopilot??null),n=F(()=>`session-autopilot-${G(s).id}`),a=F(()=>i().has(G(s).id));eo(e,{compact:!0,indicatorOnly:!0,get autopilot(){return G(t)},get controlId(){return G(n)},get pending(){return G(a)},ontoggle:e=>p()(G(s).id,e)})}};X(y,e=>{G(s).provider!==`kimi`&&e(b)});var x=H(y,2);{let e=F(()=>n().get(G(s).id)??G(s).agentActivity??null),t=F(()=>G(s).model??o()?.[0]);Fa(x,{compact:!0,get activity(){return G(e)},popupAlign:`start`,get rootModel(){return G(t)},get plan(){return G(s).plan},onopen:()=>m()(G(s).id)})}var S=H(x,2);Ca(S,{compact:!0,full:!0,onclick:()=>t.onclose(G(s).id),children:(e,t)=>{He(),J(e,Vr(`Close`))},$$slots:{default:!0}});var C=H(S,2),w=e=>{{let t=F(()=>r().get(G(s).id)??G(s).autopilot??null),i=F(()=>(n().get(G(s).id)??G(s).agentActivity)?.root.state!==`disconnected`);Tf(e,{get autopilot(){return G(t)},get connected(){return G(i)}})}};X(C,e=>{G(s).provider!==`kimi`&&e(w)}),N(f);var T=H(f,2),E=B(T),D=B(E),ee=e=>{var t=Ef(),n=B(t),r=B(n);let i;var a=H(r);N(n);var o=H(n,2),s=B(o);N(o),N(t),U(()=>{Q(t,`data-state`,G(l).state),Q(t,`aria-label`,`${G(l).state===`working`?`Working`:`Idle`}: ${G(l).reason}`),Q(n,`aria-label`,`${G(l).state===`working`?`Working`:`Idle`}: ${G(l).reason}`),i=gi(r,1,`verdict-dot svelte-hxb22h`,null,i,{live:G(l).state===`working`&&G(l).confidence===`fresh`}),Y(a,` ${G(l).state===`working`?`Working`:`Idle`}`),Y(s,`${G(l).reason??``}. ${G(l).nextExpectedAction??``}
26
+ Evidence confidence: ${G(l).confidence??``}.`)}),J(e,t)};X(D,e=>{G(l)&&e(ee)});var te=H(D,2),ne=e=>{var t=Df(),n=B(t,!0);N(t),U((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(c).updatedAt).toISOString(),()=>vf(G(c).updatedAt)]),J(e,t)},re=e=>{var t=Of(),n=B(t,!0);N(t),U(e=>Y(n,e),[()=>vf(null)]),J(e,t)};X(te,e=>{G(c).updatedAt===null?e(re,-1):e(ne)});var O=H(te,2),k=B(O,!0);N(O);var A=H(O,2),ie=e=>{var t=kf(),n=B(t);N(t),U(()=>Y(n,`Model: ${G(s).model??``}`)),J(e,t)};X(A,e=>{G(s).model&&e(ie)});var ae=H(A,2),oe=e=>{J(e,Af())};X(ae,e=>{G(s).provider===`kimi`&&e(oe)});var se=H(ae,2),ce=e=>{var t=kf(),n=B(t);N(t),U(()=>Y(n,`Branch: ${G(s).branch??``}`)),J(e,t)};X(se,e=>{G(s).branch&&e(ce)});var le=H(se,2),ue=e=>{var t=kf(),n=B(t);N(t),U(()=>Y(n,`Skills profile: ${G(s).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(le,e=>{G(s).effectiveSkillSelection?.selectedProfileName&&e(ue)});var de=H(le,2),fe=e=>{var t=jf(),n=B(t),r=B(n,!0);N(n);var i=H(n,2),a=B(i,!0);N(i),N(t),U(()=>{Y(r,G(s).lastOrgPlan.title),Y(a,G(s).lastOrgPlan.filename)}),J(e,t)};X(de,e=>{G(s).lastOrgPlan&&e(fe)});var pe=H(de,2),me=e=>{var t=Mf(),n=B(t);{let e=F(()=>`Plan progress for ${G(s).plan.title}`);ud(n,{compact:!0,get plan(){return G(s).plan},get label(){return G(e)}})}N(t),J(e,t)};X(pe,e=>{G(s).plan&&e(me)}),N(E);var he=H(E,2);{let e=F(()=>a().get(G(s).id)??null),t=F(()=>`session-attention-${G(s).id}`),n=F(()=>i().has(G(s).id));no(he,{get attention(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},onresolve:(e,t)=>h()(G(s).id,e,t)})}var ge=H(he,2);{let e=F(()=>r().get(G(s).id)??G(s).autopilot??null),t=F(()=>a().get(G(s).id)??null),n=F(()=>`session-autopilot-safety-${G(s).id}`),o=F(()=>i().has(G(s).id));io(ge,{get autopilot(){return G(e)},get attention(){return G(t)},get controlId(){return G(n)},get pending(){return G(o)},onrecover:()=>p()(G(s).id,!0),ondisable:()=>p()(G(s).id,!1)})}N(T),N(u),U(e=>{d=gi(u,1,`managed-session open-session svelte-hxb22h`,null,d,{"current-session":G(s).id===t.selectedSessionId}),Y(k,e)},[()=>xf(G(c).workspacePath)]),J(e,u)}),N(c),N(s),J(e,s)};X(S,e=>{G(g).length&&e(C)});var w=H(S,2),T=e=>{var n=If();Z(n,21,()=>G(_),e=>e.id,(e,n)=>{let r=F(()=>yf(G(n)));var i=Ff(),a=B(i),o=B(a);{let e=F(()=>t.openingSessionId===G(n).id);Ca(o,{compact:!0,full:!0,get disabled(){return G(e)},onclick:()=>t.onopen(G(n).id),children:(e,r)=>{He();var i=Vr();U(()=>Y(i,t.openingSessionId===G(n).id?`Opening…`:`Open`)),J(e,i)},$$slots:{default:!0}})}var s=H(o,2),c=e=>{Ca(e,{compact:!0,full:!0,onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{He(),J(e,Vr(`Copy`))},$$slots:{default:!0}})};X(s,e=>{G(n).resumeCommand&&G(n).provider!==`kimi`&&e(c)}),Ca(H(s,2),{compact:!0,full:!0,onclick:()=>t.onforget(G(n).id),children:(e,t)=>{He(),J(e,Vr(`Forget`))},$$slots:{default:!0}}),N(a);var l=H(a,2),u=B(l),d=e=>{var t=Df(),n=B(t,!0);N(t),U((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(r).updatedAt).toISOString(),()=>vf(G(r).updatedAt)]),J(e,t)},f=e=>{var t=Of(),n=B(t,!0);N(t),U(e=>Y(n,e),[()=>vf(null)]),J(e,t)};X(u,e=>{G(r).updatedAt===null?e(f,-1):e(d)});var p=H(u,2),m=B(p,!0);N(p);var h=H(p,2),g=e=>{var t=kf(),r=B(t);N(t),U(()=>Y(r,`Model: ${G(n).model??``}`)),J(e,t)};X(h,e=>{G(n).model&&e(g)});var _=H(h,2),v=e=>{J(e,Af())};X(_,e=>{G(n).provider===`kimi`&&e(v)});var y=H(_,2),b=e=>{var t=kf(),r=B(t);N(t),U(()=>Y(r,`Branch: ${G(n).branch??``}`)),J(e,t)};X(y,e=>{G(n).branch&&e(b)});var x=H(y,2),S=e=>{var t=kf(),r=B(t);N(t),U(()=>Y(r,`Skills profile: ${G(n).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(x,e=>{G(n).effectiveSkillSelection?.selectedProfileName&&e(S)}),N(l),N(i),U(e=>Y(m,e),[()=>xf(G(r).workspacePath)]),J(e,i)}),N(n),J(e,n)},E=e=>{J(e,Lf())};X(w,e=>{G(_).length?e(T):G(g).length||e(E,1)});var D=H(w,2),ee=B(D),te=B(ee),ne=H(B(te),2),re=B(ne);N(ne),N(te);var O=H(te,2);{let e=F(()=>G(y)?.id??null);vu(O,{get roots(){return t.workspaceTree},get expandedIds(){return t.expandedIds},get selectedId(){return G(e)},get isSelectable(){return au.sessionBase},label:`Session base`,get onexpandedchange(){return t.onexpandedchange},onselect:e=>t.onworkspacechange(e.id)})}N(ee);var k=H(ee,2),A=B(k);let ie;var ae=H(B(A),2),oe=e=>{var t=Rf();He(2),J(e,t)};X(ae,e=>{c()!==`kimi`&&e(oe)}),N(A);var se=H(A,2);let ce;var le=B(se),ue=B(le);ue.value=ue.__value=``,Z(H(ue),17,()=>t.skillProfiles,e=>e.name,(e,t)=>{var n=zf(),r=B(n,!0);N(n);var i={};U(()=>{Y(r,G(t).name),i!==(i=G(t).name)&&(n.value=(n.__value=G(t).name)??``)}),J(e,n)}),N(le);var de;bi(le);var fe=H(le,2),pe=e=>{var n=Bf(),r=V(n),i=B(r);i.value=i.__value=`workspace-write`;var a=H(i);a.value=a.__value=`read-only`;var o=H(a);o.value=o.__value=`danger-full-access`,N(r);var s;bi(r);var c=H(r,2),l=B(c);l.value=l.__value=`untrusted`;var u=H(l);u.value=u.__value=`on-request`;var d=H(u);d.value=d.__value=`never`,N(c);var f;bi(c),U(()=>{s!==(s=t.sandbox)&&(r.value=(r.__value=t.sandbox)??``,yi(r,t.sandbox)),f!==(f=t.approvalPolicy)&&(c.value=(c.__value=t.approvalPolicy)??``,yi(c,t.approvalPolicy))}),K(`change`,r,e=>t.onsandboxchange(e.currentTarget.value)),K(`change`,c,e=>t.onapprovalpolicychange(e.currentTarget.value)),J(e,n)};X(fe,e=>{c()!==`kimi`&&e(pe)}),N(se);var me=H(se,2),he=e=>{var t=Vf(),n=B(t);N(t),U(()=>Y(n,`This controls when ${G(b)??``} asks; it does not expand the sandbox's technical permissions.`)),J(e,t)};X(me,e=>{c()!==`kimi`&&e(he)});var ge=H(me,2),_e=e=>{var n=Hf(),r=B(n,!0);N(n),U(()=>Y(r,t.skillProfileError)),J(e,n)};X(ge,e=>{t.skillProfileError&&e(_e)});var ve=H(ge,2),ye=B(ve);Ca(ye,{id:`manage-skill-profiles`,onclick:e=>t.onmanageprofiles(e.currentTarget),children:(e,t)=>{He(),J(e,Vr(`Manage skill profiles`))},$$slots:{default:!0}});var be=H(ye,2),xe=H(B(be),2),Se=B(xe);Se.value=Se.__value=`codex`;var Ce=H(Se),we=B(Ce);N(Ce),Ce.value=Ce.__value=`kimi`,N(xe);var Te;bi(xe),N(be);var Ee=H(be,2),De=B(Ee),Oe=B(De);N(De);var ke=H(De,2),Ae=B(ke),je=e=>{var t=Uf();t.value=t.__value=``,J(e,t)},Me=e=>{var t=Wf();t.value=t.__value=``,J(e,t)};X(Ae,e=>{u()?e(je):o().length===0&&e(Me,1)}),Z(H(Ae),16,o,e=>e,(e,t)=>{var n=zf(),r=B(n,!0);N(n);var i={};U(()=>{Y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),J(e,n)}),N(ke);var Ne;bi(ke),N(Ee);var Pe=H(Ee,2);{let e=F(()=>!G(y)||t.startingSession||u()||o().length>0&&!s());Ca(Pe,{class:`new-session-button`,type:`submit`,primary:!0,get disabled(){return G(e)},children:(e,n)=>{He();var r=Vr();U(()=>Y(r,t.startingSession?`Creating…`:`Create session`)),J(e,r)},$$slots:{default:!0}})}N(ve);var Fe=H(ve,2),Ie=e=>{J(e,Gf())};X(Fe,e=>{l()||e(Ie)}),N(k),N(D);var Le=H(D,2),Re=H(B(Le),2),j=e=>{var n=qf();Z(n,21,()=>G(v),e=>(e.provider??`codex`)+`:`+e.id,(e,n)=>{var r=Kf(),i=B(r),a=B(i),o=e=>{var t=Df(),r=B(t,!0);N(t),U((e,n)=>{Q(t,`datetime`,e),Y(r,n)},[()=>new Date(G(n).recencyAt*1e3).toISOString(),()=>vf(G(n).recencyAt*1e3)]),J(e,t)},s=e=>{var t=Of(),n=B(t,!0);N(t),U(e=>Y(n,e),[()=>vf(null)]),J(e,t)};X(a,e=>{G(n).recencyAt===null?e(s,-1):e(o)});var c=H(a,2),l=B(c,!0);N(c);var u=H(c,2),d=e=>{var t=kf(),r=B(t);N(t),U(()=>Y(r,`Model: ${G(n).model??``}`)),J(e,t)};X(u,e=>{G(n).model&&e(d)});var f=H(u,2),p=e=>{J(e,Af())};X(f,e=>{G(n).provider===`kimi`&&e(p)});var m=H(f,2),h=e=>{var t=kf(),r=B(t);N(t),U(()=>Y(r,`Skills profile: ${G(n).skillProfile??``}`)),J(e,t)};X(m,e=>{G(n).skillProfile&&e(h)});var g=H(m,2),_=e=>{var t=kf(),r=B(t);N(t),U(()=>Y(r,`Org plan: ${G(n).orgPlanFilename??``}`)),J(e,t)};X(g,e=>{G(n).orgPlanFilename&&e(_)}),N(i);var v=H(i,2),y=B(v);Ca(y,{onclick:()=>t.onopenrecent(G(n)),children:(e,t)=>{He(),J(e,Vr(`Open`))},$$slots:{default:!0}});var b=H(y,2),x=e=>{Ca(e,{onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{He(),J(e,Vr(`Copy`))},$$slots:{default:!0}})};X(b,e=>{G(n).resumeCommand&&e(x)}),N(v),N(r),U(e=>Y(l,e),[()=>xf(G(n).cwd)]),J(e,r)}),N(n),J(e,n)},ze=e=>{J(e,Jf())};X(Re,e=>{G(v).length?e(j):e(ze,-1)}),N(Le),N(x),U(()=>{Y(re,`Select the folder or repository ${G(b)??``} should use as its working directory.`),ie=vi(A,``,ie,{"grid-template-columns":c()===`kimi`?`minmax(0, 1fr)`:`repeat(3, minmax(0, 1fr))`}),ce=vi(se,``,ce,{"grid-template-columns":c()===`kimi`?`minmax(0, 1fr)`:`repeat(3, minmax(0, 1fr))`}),de!==(de=t.selectedSkillProfile)&&(le.value=(le.__value=t.selectedSkillProfile)??``,yi(le,t.selectedSkillProfile)),Q(xe,`aria-describedby`,l()?void 0:`provider-availability`),Ce.disabled=!l(),Y(we,`Kimi${l()?``:` (unavailable)`}`),Te!==(Te=c())&&(xe.value=(xe.__value=c())??``,yi(xe,c())),Y(Oe,`${G(b)??``} model`),ke.disabled=u()||o().length===0,Ne!==(Ne=s())&&(ke.value=(ke.__value=s())??``,yi(ke,s()))}),Nr(`submit`,D,e=>{e.preventDefault(),t.onstart()}),K(`change`,le,e=>t.onskillprofilechange(e.currentTarget.value)),K(`change`,xe,e=>f()(e.currentTarget.value)),K(`change`,ke,e=>d()(e.currentTarget.value)),J(e,x),$e()}Pr([`change`]);function Zf(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 Qf=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 $f({chatEnabled:e}){return[`sessions`,`git`,...e?[`chat`]:[],`plan`]}function ep(e,t,n={chatEnabled:!0}){let r=$f(n);return r[(r.indexOf(e)+t+r.length)%r.length]}var tp=q(`<nav class="bottom-navigation" aria-label="Primary"><button>Sessions</button> <button>Git</button> <button>Chat</button> <button>Plan</button></nav>`);function np(e,t){Qe(t,!0);let n=$(t,`focusTab`,3,null),r=z({});jn(()=>{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=ep(t.activeTab,n,{chatEnabled:t.chatEnabled});t.onselect(i),r[i]?.focus()}var a=tp(),o=B(a);Li(o,e=>r.sessions=e,()=>r?.sessions);var s=H(o,2);Li(s,e=>r.git=e,()=>r?.git);var c=H(s,2);Li(c,e=>r.chat=e,()=>r?.chat);var l=H(c,2);Li(l,e=>r.plan=e,()=>r?.plan),N(a),U(()=>{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()}Pr([`keydown`,`click`]);var rp=q(`<option> </option>`),ip=q(`<p id="skills-status" aria-live="polite">Loading skills…</p>`),ap=q(`<p id="skills-status">No skills were discovered for this workspace and Codex profile.</p>`),op=q(`<p id="skills-status" class="notice svelte-dg6sjj" role="status"> </p>`),sp=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert"> </p>`),cp=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert" tabindex="-1"> </p>`),lp=q(`<p id="skills-status" role="status">Profile saved.</p>`),up=q(`<p id="skills-status" role="status">Profile deleted.</p>`),dp=q(`<li class="svelte-dg6sjj"><div class="svelte-dg6sjj"><strong> </strong> <span class="missing-state svelte-dg6sjj">Missing · disabled</span> <span class="path svelte-dg6sjj"> </span></div> <button type="button" class="remove-missing svelte-dg6sjj">Remove</button></li>`),fp=q(`<section class="missing-skills svelte-dg6sjj" aria-labelledby="missing-skills-title"><h3 id="missing-skills-title" class="svelte-dg6sjj">Missing skills</h3> <p class="svelte-dg6sjj">These saved paths no longer exist. They are disabled for new sessions until restored or
27
+ removed from the profile.</p> <ul class="svelte-dg6sjj"></ul></section>`),pp=q(`<p class="svelte-dg6sjj"> </p>`),mp=q(`<li> </li>`),hp=q(`<dt class="svelte-dg6sjj">Tool dependencies</dt> <dd class="svelte-dg6sjj"><ul class="svelte-dg6sjj"></ul></dd>`,1),gp=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>`),_p=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),vp=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 yp(e,t){Qe(t,!0);let n=$(t,`skillsState`,7),r=$(t,`heading`,3,`Manage skill profiles`),i=L(0),a=L(null),o=L(null),s=L(null),c=L(null),l=L(`__new__`),u=F(()=>(G(i),n())),d=F(()=>G(u).profiles.filter(e=>!(`error`in e)));function f(){n(Object.assign(Object.create(Object.getPrototypeOf(n())),n())),R(i,G(i)+1)}async function p(){await t.onrefresh(),f()}function m(e){R(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`&&(R(l,G(u).selectedProfileName,!0),t.onprofileschange()),G(u).status.kind===`save-failed`&&(await Cr(),G(a)?.focus())}function g(){G(c)?.showModal()}async function _(){G(c)?.close(),await G(u).deleteSelectedProfile(),f(),G(u).status.kind===`deleted`&&(R(l,`__new__`),t.onprofileschange()),await Cr(),G(o)?.focus()}async function v(){G(c)?.close(),await Cr(),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=vp(),C=B(S),w=B(C,!0);N(C);var T=H(C,4),E=B(T),D=H(B(E),2),ee=B(D);ee.value=ee.__value=`__new__`;var te=H(ee);te.value=te.__value=`__default__`,Z(H(te),17,()=>G(d),e=>e.name,(e,t)=>{var n=rp(),r=B(n,!0);N(n);var i={};U(()=>{Y(r,G(t).name),i!==(i=G(t).name)&&(n.value=(n.__value=G(t).name)??``)}),J(e,n)}),N(D),Li(D,e=>R(o,e),()=>G(o));var ne=H(D,4);Di(ne),N(E);var re=H(E,2),O=B(re,!0);N(re);var k=H(re,2),A=B(k);Li(A,e=>R(s,e),()=>G(s));var ie=H(A,2),ae=B(ie,!0);N(ie),N(k),N(T);var oe=H(T,2),se=H(B(oe),2),ce=B(se);N(se);var le=H(se,2),ue=B(le),de=H(ue,2);N(le),N(oe),Li(oe,e=>R(c,e),()=>G(c));var fe=H(oe,2),pe=e=>{J(e,ip())},me=e=>{J(e,ap())},he=e=>{var t=op(),n=B(t);N(t),U(()=>Y(n,`Discovery warning: ${G(u).status.message??``}`)),J(e,t)},ge=e=>{var t=sp(),n=B(t,!0);N(t),U(()=>Y(n,G(u).status.message)),J(e,t)},_e=e=>{var t=cp(),n=B(t,!0);N(t),Li(t,e=>R(a,e),()=>G(a)),U(()=>Y(n,G(u).status.message)),J(e,t)},ve=e=>{J(e,lp())},ye=e=>{J(e,up())},be=e=>{var t=sp(),n=B(t,!0);N(t),U(()=>Y(n,G(u).status.message)),J(e,t)};X(fe,e=>{G(u).status.kind===`loading`?e(pe):G(u).status.kind===`empty`?e(me,1):G(u).status.kind===`warning`?e(he,2):G(u).status.kind===`invalid-profile`||G(u).status.kind===`error`?e(ge,3):G(u).status.kind===`save-failed`?e(_e,4):G(u).status.kind===`saved`?e(ve,5):G(u).status.kind===`deleted`?e(ye,6):G(u).status.kind===`delete-failed`&&e(be,7)});var xe=H(fe,2),Se=e=>{var t=_p(),n=V(t),r=B(n),i=H(r,2),a=B(i);N(i),N(n);var o=H(n,2),s=e=>{var t=fp(),n=H(B(t),4);Z(n,21,()=>G(u).missingSkills,e=>e.path,(e,t)=>{var n=dp(),r=B(n),i=B(r),a=B(i,!0);N(i);var o=H(i,4),s=B(o,!0);N(o),N(r);var c=H(r,2);N(n),U(e=>{Y(a,G(t).name),Y(s,e),Q(c,`aria-label`,`Remove missing skill ${G(t).name} from profile`)},[()=>b(G(t).path)]),K(`click`,c,()=>{G(u).removeMissingSkill(G(t).path),f()}),J(e,n)}),N(n),N(t),J(e,t)};X(o,e=>{G(u).missingSkills.length>0&&e(s)});var c=H(o,2);Z(c,21,()=>G(u).skills,e=>e.path,(e,t)=>{var n=gp();let r;var i=B(n),a=B(i);Di(a);var o=H(a,2),s=B(o,!0);N(o);var c=H(o,2),l=B(c,!0);N(c),N(i);var d=H(i,2),p=B(d),m=e=>{var n=pp(),r=B(n,!0);N(n),U(()=>Y(r,G(t).description)),J(e,n)};X(p,e=>{G(t).description&&e(m)});var h=H(p,2),g=e=>{var n=pp(),r=B(n,!0);N(n),U(()=>Y(r,G(t).shortDescription)),J(e,n)};X(h,e=>{G(t).shortDescription&&e(g)});var _=H(h,2),v=H(B(_),2),S=B(v,!0);N(v);var C=H(v,2),w=e=>{var n=hp(),r=H(V(n),2),i=B(r);Z(i,21,()=>G(t).dependencies.tools,e=>`${e.type}:${e.value}`,(e,t)=>{var n=mp(),r=B(n);N(n),U(()=>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),U((e,o)=>{r=vi(n,``,r,e),Q(i,`for`,`skill-${G(t).path}`),Q(a,`id`,`skill-${G(t).path}`),ki(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)]),Nr(`focus`,a,x),K(`change`,a,e=>{G(u).toggle(G(t).path,e.currentTarget.checked),f()}),J(e,n)}),N(c),U(()=>Y(a,`${G(u).enabledCount??``} of ${G(u).skills.length??``} skills enabled.`)),K(`click`,r,()=>void p()),J(e,t)};X(xe,e=>{(G(u).skills.length>0||G(u).missingSkills.length>0)&&e(Se)}),N(S),U(()=>{Y(w,r()),Oi(ne,G(u).saveAsName),Y(O,G(u).saveIntent===`replace`?`Saved the selected profile.`:`Creating a new saved profile.`),A.disabled=!G(u).selectedProfileName||G(u).status.kind===`deleting`,ie.disabled=G(u).status.kind===`saving`,Y(ae,G(u).status.kind===`saving`?`Saving profile…`:`Save profile`),Y(ce,`Delete ${G(u).selectedProfileName??``}? Existing sessions keep their saved skill set.`)}),Nr(`submit`,T,h),K(`change`,D,m),xi(D,()=>G(l),e=>R(l,e)),K(`input`,ne,e=>{G(u).saveAsName=e.currentTarget.value,f()}),K(`click`,A,g),K(`click`,ue,()=>void v()),K(`click`,de,()=>void _()),J(e,S),$e()}Pr([`change`,`input`,`click`]);var bp=class{client;workspaceId=``;codexProfile=``;selectedProfileName=``;saveAsName=``;source=`native`;skills=[];missingSkills=[];profiles=[];status={kind:`idle`};baseline=new Map;missingBaseline=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)||this.missingSkills.some(e=>this.missingBaseline.get(e.path)?.enabled!==e.enabled)||[...this.missingBaseline].some(([e])=>!this.missingSkills.some(t=>t.path===e))}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:xp(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=this.missingSkills.length?this.missingSkillsStatus():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:xp(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])),r=new Set(this.skills.map(e=>e.path)),i=t.skills.filter(e=>!r.has(e.path));this.skills=this.skills.map(e=>({...e,enabled:e.alwaysAdvertised?!0:n.get(e.path)??!1})),this.missingSkills=i.map(e=>({...e,enabled:!1})),this.baseline=new Map(this.skills.map(e=>[e.path,e.enabled])),this.missingBaseline=new Map(i.map(e=>[e.path,{...e}])),this.status=this.missingSkills.length?this.missingSkillsStatus():this.skills.length?{kind:`ready`}:{kind:`empty`}}selectDefaultProfile(){this.selectedProfileName=``,this.saveAsName=``,this.missingSkills=[],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)}removeMissingSkill(e){this.missingSkills=this.missingSkills.filter(t=>t.path!==e),this.status=this.missingSkills.length?this.missingSkillsStatus():this.skills.length?{kind:`ready`}:{kind:`empty`}}reset(){this.skills=this.skills.map(e=>({...e,enabled:this.baseline.get(e.path)??!1})),this.missingSkills=[...this.missingBaseline.values()].map(e=>({...e,enabled:!1})),this.missingSkills.length&&(this.status=this.missingSkillsStatus())}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:xp(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.missingSkills=[],this.captureBaseline(),this.status={kind:`deleted`}}catch(e){this.status={kind:`delete-failed`,message:xp(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})).concat(this.missingSkills).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])),n=new Map(this.missingSkills.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)??n.get(e.path)??e.effectiveEnabled}));let r=new Set(e.skills.map(e=>e.path));this.missingSkills=this.missingSkills.filter(e=>!r.has(e.path)),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])),this.missingBaseline=new Map(this.missingSkills.map(e=>[e.path,{...e}]))}missingSkillsStatus(){let e=this.missingSkills.length;return{kind:`warning`,message:`${e} saved ${e===1?`skill is`:`skills are`} missing and disabled. Remove ${e===1?`it`:`them`} from this profile, or restore the skill installation.`}}};function xp(e){return e instanceof Error?e.message:`Unknown relay error.`}var Sp=o(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),Cp=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)}})),wp=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}}})),Tp=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})),Ep=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})),Dp=o((e=>{var t=Cp().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}})),Op=o((e=>{var t=Cp().getSymbolSize,n=7;e.getPositions=function(e){let r=t(e);return[[0,0],[r-n,0],[0,r-n]]}})),kp=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}})),Ap=o((e=>{var t=wp(),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}}})),jp=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]]}})),Mp=o((e=>{var t=jp();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}})),Np=o(((e,t)=>{var n=Mp();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})),Pp=o((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),Fp=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
28
+ ]))+`;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)}})),Ip=o((e=>{var t=Pp(),n=Fp();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}}})),Lp=o((e=>{var t=Cp(),n=Ap(),r=wp(),i=Ip(),a=Pp(),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}})),Rp=o((e=>{var t=Cp(),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}})),zp=o(((e,t)=>{var n=Ip();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})),Bp=o(((e,t)=>{var n=Ip(),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})),Vp=o(((e,t)=>{var n=Ip();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})),Hp=o(((e,t)=>{var n=Ip(),r=Cp();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]+`
29
+ Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=i})),Up=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)})),Wp=o((e=>{var t=Ip(),n=zp(),r=Bp(),i=Vp(),a=Hp(),o=Fp(),s=Cp(),c=Up();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)+`.
30
+ 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()))}})),Gp=o((e=>{var t=Cp(),n=wp(),r=Tp(),i=Ep(),a=Dp(),o=Op(),s=kp(),c=Ap(),l=Np(),u=Lp(),d=Rp(),f=Ip(),p=Wp();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(`
31
31
  The chosen QR Code version cannot contain this amount of data.
32
32
  Minimum version required to store current data is: `+c+`.
33
- `);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)}})),Wp=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}}})),Gp=o((e=>{var t=Wp();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)}})),Kp=o((e=>{var t=Wp();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>
34
- `;return typeof a==`function`&&a(null,p),p}})),qp=c(o((e=>{var t=bp(),n=Up(),r=Gp(),i=Kp();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 Jp(e){return`${e.replace(/\/$/,``)}/?bootstrap=1`}async function Yp(e){return qp.toDataURL(Jp(e),{errorCorrectionLevel:`M`,margin:1,width:256})}async function Xp(e){return qp.toDataURL(e,{errorCorrectionLevel:`M`,margin:1,width:256})}var Zp=q(`<p class="feedback svelte-1nygetn" role="status"> </p>`),Qp=q(`<span class="svelte-1nygetn">At least one authorized device is required.</span>`),$p=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>`),em=q(`<ul aria-label="Authorized devices" class="svelte-1nygetn"></ul>`),tm=q(`<p role="status" class="svelte-1nygetn">No authorized devices are available. Refresh this page before making changes.</p>`),nm=q(`<button type="button" class="svelte-1nygetn">Create enrollment link</button>`),rm=q(`<img alt="QR code for the enrollment link" class="svelte-1nygetn"/>`),im=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),am=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 om(e,t){Qe(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=L(z([])),i=L(``),a=L(null),o=L(`none`),s=L(null),c=L(null),l=L(null),u=L(null),d=L(z(Date.now())),f=F(()=>[...G(r)].sort((e,t)=>e.createdAt.localeCompare(t.createdAt))),p=F(()=>G(a)?Math.max(0,Math.ceil((Date.parse(G(a).expiresAt)-G(d))/1e3)):0),m=F(()=>`${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)),R(u,null)}function _(){g(),R(u,setInterval(()=>void b(),15e3),!0)}function v(){return!!(G(a)&&G(o)===`pending`&&G(p)>0&&document.visibilityState===`visible`)}async function y(){try{R(r,(await t.client.list()).devices,!0)}catch{R(i,`Could not refresh authorized devices. Try again.`)}}async function b(){if(!v()){G(p)===0&&G(a)&&R(o,`expired`),g();return}try{R(o,(await t.client.ticketStatus()).status,!0),G(o)!==`pending`&&(g(),G(o)===`used`&&await y())}catch{g()}}async function x(){R(i,``);try{R(a,await t.client.createTicket(),!0),R(o,`pending`),R(s,await Xp(G(a).url),!0),R(d,Date.now(),!0),_()}catch{R(i,`Could not create an enrollment link. Try again.`)}}async function S(){try{R(o,(await t.client.cancelTicket()).status,!0),R(a,null),R(s,null),g()}catch{R(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)){R(i,`Device nicknames must be 1–64 characters.`);return}R(i,``);try{await t.client.rename(e.id,n.trim()),await y()}catch{R(i,`Could not rename this device. Try again.`)}}function T(e){G(f).length>1&&(R(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{R(i,`This device could not be revoked. Try again.`)}}async function D(){if(G(a))try{await navigator.clipboard.writeText(G(a).url)}catch{R(i,`Copy is unavailable here. Select the visible link instead.`)}}function ee(){document.visibilityState===`visible`&&G(o)===`pending`&&G(p)>0?(b(),_()):g()}Ri(()=>{y(),document.addEventListener(`visibilitychange`,ee);let e=setInterval(()=>R(d,Date.now(),!0),1e3);return()=>clearInterval(e)}),zi(()=>{g(),document.removeEventListener(`visibilitychange`,ee)});var te=am(),ne=V(te),re=B(ne),O=B(re);He(2),N(re);var k=H(re,2),A=e=>{var t=Zp(),n=B(t,!0);N(t),U(()=>Y(n,G(i))),J(e,t)};X(k,e=>{G(i)&&e(A)});var ie=H(k,2),ae=e=>{var t=em();Z(t,21,()=>G(f),e=>e.id,(e,t)=>{var n=$p(),r=B(n),i=B(r),a=H(i);Di(a);var o=H(a,2),s=B(o),c=H(s),l=e=>{var n=Vr();U(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=H(c),d=e=>{J(e,Vr(`· This device`))};X(u,e=>{G(t).current&&e(d)}),N(o);var p=H(o,4),m=H(p,2),h=e=>{var n=Qp();U(()=>Q(n,`id`,`final-${G(t).id}`)),J(e,n)};X(m,e=>{G(f).length===1&&e(h)}),N(r),N(n),U(e=>{Q(i,`for`,`nickname-${G(t).id}`),Q(a,`id`,`nickname-${G(t).id}`),Oi(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()]),Nr(`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)},oe=e=>{J(e,tm())};X(ie,e=>{G(f).length?e(ae):e(oe,-1)});var se=H(ie,2),ce=H(B(se),2),le=e=>{var t=nm();K(`click`,t,()=>void x()),J(e,t)},ue=e=>{var t=im(),r=V(t),i=B(r,!0);N(r);var c=H(r,2),l=e=>{var t=rm();U(()=>Q(t,`src`,G(s))),J(e,t)};X(c,e=>{G(s)&&e(l)});var u=H(c,3);xn(u);var d=H(u,2),f=B(d),p=H(f),h=H(p),g=H(h);N(d),U(()=>{Y(i,G(o)===`pending`?`Enrollment link is active for ${G(m)}.`:`Enrollment link is ${G(o)}.`),Oi(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(ce,e=>{G(a)?e(ue,-1):e(le)}),N(se),N(ne);var de=H(ne,2),fe=H(B(de),4),pe=H(B(fe));N(fe),N(de),Li(de,e=>R(c,e),()=>G(c)),K(`click`,O,function(...e){t.onclose?.apply(this,e)}),K(`click`,pe,()=>void E()),J(e,te),$e()}Pr([`click`]);async function sm(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 cm(e){return{list:()=>sm(e(`/api/auth/devices`,{credentials:`same-origin`})),rename:(t,n)=>sm(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`PATCH`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({nickname:n})})),revoke:t=>sm(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`DELETE`,credentials:`same-origin`})),createTicket:()=>sm(e(`/api/auth/enrollment-tickets`,{method:`POST`,credentials:`same-origin`})),ticketStatus:()=>sm(e(`/api/auth/enrollment-tickets/current`,{credentials:`same-origin`})),cancelTicket:()=>sm(e(`/api/auth/enrollment-tickets/current`,{method:`DELETE`,credentials:`same-origin`}))}}var lm=`gestalt-mobile.scratchpad`;function um(){try{return window.localStorage}catch{return null}}function dm(e){try{return e?.getItem(`gestalt-mobile.scratchpad`)??``}catch{return``}}function fm(e,t){try{return e?(e.setItem(lm,t),!0):!1}catch{return!1}}function pm(e){try{return e?(e.removeItem(lm),!0):!1}catch{return!1}}var mm=q(`<p class="feedback svelte-eu5bnq" role="status"> </p>`),hm=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>`),gm=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>`),_m=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 vm(e,t){Qe(t,!0);let n=$(t,`storage`,19,um),r=$(t,`clipboard`,19,()=>globalThis.navigator?.clipboard),i=L(null),a=L(null),o=L(null),s=L(``),c=L(!1),l=L(``);Ri(async()=>{R(s,dm(n()),!0),await Cr(),G(i)?.showModal(),G(a)?.focus()});function u(e){R(s,e,!0),R(l,fm(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){R(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 Cr();let i=t+e.length;G(a)?.focus(),G(a)?.setSelectionRange(i,i)}catch{R(l,`Clipboard paste was not permitted. Long-press the text field and choose Paste.`),G(a)?.focus()}}async function f(){R(c,!0),R(l,``),await Cr(),G(o)?.focus()}function p(){R(c,!1),G(a)?.focus()}function m(){if(!pm(n())){R(l,`This browser could not clear its saved scratchpad.`);return}R(s,``),R(c,!1),R(l,``),G(a)?.focus()}var h=_m(),g=B(h),_=B(g),v=H(B(_),2);N(_);var y=H(_,4);xn(y),Li(y,e=>R(a,e),()=>G(a));var b=H(y,2),x=e=>{var t=mm(),n=B(t,!0);N(t),U(()=>Y(n,G(l))),J(e,t)};X(b,e=>{G(l)&&e(x)});var S=H(b,2),C=e=>{var t=hm(),n=H(B(t),4),r=B(n);Li(r,e=>R(o,e),()=>G(o));var i=H(r,2);N(n),N(t),K(`click`,r,p),K(`click`,i,m),J(e,t)},w=e=>{var t=gm(),n=B(t),r=H(n,2),o=H(r,2),c=H(o,2);N(t),U(()=>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),Li(h,e=>R(i,e),()=>G(i)),U(()=>Oi(y,G(s))),Nr(`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()}Pr([`click`,`input`]);var ym=q(`<button class="disclosure svelte-am0nvt" type="button"> </button>`),bm=q(`<span class="disclosure svelte-am0nvt"></span>`),xm=q(`<span class="unsupported svelte-am0nvt">Files cannot be destinations</span>`),Sm=q(`<span class="unsupported svelte-am0nvt">Unsupported link</span>`),Cm=q(`<span role="status">Loading…</span>`),wm=q(`<button type="button" class="svelte-am0nvt"> </button>`),Tm=q(`<div role="group"><!> <!> <!> <!></div>`),Em=q(`<div role="treeitem"><div class="tree-row svelte-am0nvt" role="presentation"><!> <span class="tree-label svelte-am0nvt"> </span><!></div> <!></div>`),Dm=q(`<p role="status">Loading files…</p>`),Om=q(`<button type="button" class="svelte-am0nvt">Retry loading files</button>`),km=q(`<button type="button" class="svelte-am0nvt">Load more in root</button>`),Am=q(`<div class="file-tree svelte-am0nvt" role="tree" aria-label="Files"><!> <!> <!> <!></div>`);function jm(e,t){Qe(t,!0);let n=$(t,`destinationMode`,3,!1),r=$(t,`ondestinationselect`,3,()=>{}),i=$(t,`onselectionchange`,3,()=>{}),a=z({}),o=L(``),s=F(()=>t.revision<0?{entries:[],loading:!1,error:!1}:t.controller.state(``)),c=F(()=>{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){R(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=Am();{let e=(r,i=b,s=b)=>{var l=Hr();Z(V(l),17,()=>t.controller.state(i()).entries,e=>e.path,(r,i)=>{let l=F(()=>G(i).kind===`directory`),p=F(()=>G(c).find(e=>e.entry.path===G(i).path)),m=F(()=>G(c).findIndex(e=>e.entry.path===G(i).path));var h=Em();let g;var _=B(h);let v;var y=B(_),b=e=>{var n=ym(),r=B(n,!0);N(n),U((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,bm())};X(y,e=>{G(l)?e(b):e(x,-1)});var S=H(y,2),C=B(S,!0);N(S);var w=H(S),T=e=>{J(e,xm())},E=e=>{var t=Sm();U(()=>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=H(_,2),ee=n=>{let r=F(()=>t.controller.state(G(i).path));var a=Tm(),o=B(a),c=e=>{J(e,Cm())};X(o,e=>{G(r).loading&&e(c)});var l=H(o,2),u=e=>{var n=wm(),r=B(n);N(n),U(()=>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=H(l,2);e(d,()=>G(i).path,()=>s()+1);var f=H(d,2),p=e=>{var n=wm(),r=B(n);N(n),U(()=>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),U(()=>Q(a,`aria-label`,`Contents of ${G(i).name}`)),J(n,a)},te=F(()=>G(l)&&t.controller.expanded.has(G(i).path));X(D,e=>{G(te)&&e(ee)}),N(h),Li(h,(e,t)=>a[t.path]=e,e=>a?.[e.path],()=>[G(i)]),U(e=>{g=gi(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=vi(_,``,v,{"--level":s()}),Y(C,G(i).name)},[()=>G(l)?t.controller.expanded.has(G(i).path):void 0]),Nr(`focus`,h,()=>R(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=B(p),h=e=>{J(e,Dm())};X(m,e=>{G(s).loading&&e(h)});var g=H(m,2),_=e=>{var n=Om();K(`click`,n,()=>void t.controller.load(``)),J(e,n)};X(g,e=>{G(s).error&&e(_)});var v=H(g,2);e(v,()=>``,()=>1);var y=H(v,2),x=e=>{var n=km();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()}Pr([`keydown`,`click`]);var Mm=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?Nm(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 Nm(e,t){let n=new Set(e.map(e=>e.path));return[...e,...t.filter(e=>!n.has(e.path))]}var Pm=25*1024*1024;function Fm(e){return[...e].map(e=>({file:e,status:e.size>26214400?`too-large`:`queued`}))}function Im(e){return e.findIndex(e=>e.status===`queued`)}var Lm={phase:`idle`};function Rm(e,t){return{phase:`picking`,kind:e,source:t}}function zm(e,t){return e.phase===`picking`?{...e,destination:t}:e}function Bm(e){return e.phase!==`picking`||e.destination===void 0?e:{...e,phase:`submitting`}}function Vm(e,t){return e.phase===`submitting`?{...e,phase:`conflict`,replaceAllowed:t}:e}function Hm(e){return e.phase===`submitting`?{...e,phase:`failed`}:e}function Um(e,t){return e.phase!==`picking`||!e.source||e.kind===`move`&&Wm(e.source)===t?!1:!(t===e.source||t.startsWith(`${e.source}/`))}function Wm(e){let t=e.lastIndexOf(`/`);return t<0?``:e.slice(0,t)}var Gm=q(`<li> </li>`),Km=q(`<button type="button" class="svelte-qx7639">Replace</button>`),qm=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>`),Jm=q(`<button type="button" class="svelte-qx7639">Cancel uploads</button>`),Ym=q(`<section class="picker svelte-qx7639" aria-label="Upload queue" aria-live="polite"><p class="svelte-qx7639"> </p> <ul></ul> <!></section>`),Xm=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>`),Zm=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>`),Qm=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>`),$m=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>`),eh=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>`),th=q(`<section aria-label="File browser error"><p class="svelte-qx7639">Files could not be read. Try again.</p></section>`),nh=q(`<p role="status" class="svelte-qx7639">This folder is empty.</p>`),rh=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 ih(e,t){Qe(t,!0);let n=$(t,`onsuccess`,3,()=>{}),r=$(t,`onmutation`,3,()=>{}),i=L(null),a=L(null),o=L(0),s=L(null),c=L(z(Lm)),l=L(null),u=L(``),d=L(!1),f=L(!1),p=L(null),m=L(null),h=L(z([])),g=L(!1),_=L(null),v=L(null),y=F(()=>G(o)<0?{entries:[],loading:!1,error:!1}:G(s)?.state(``)??{entries:[],loading:!0,error:!1}),b=F(()=>{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=F(()=>`Files in ${t.root.relativePath===`.`?`~/`:`~/${t.root.relativePath}`}`);Ri(async()=>{R(s,new Mm(t.root.id,t.listDirectory,()=>{R(o,G(o)+1)},t.onerror),!0),await Cr(),G(i)?.showModal(),G(a)?.focus(),await G(s).load()}),zi(()=>G(s)?.close());function S(){G(c).phase===`submitting`||G(f)||(G(_)?.abort(),G(s)?.close(),G(i)?.close())}let C=F(()=>G(b)?.kind===`directory`||!G(u)?G(u):``),w=F(()=>G(C)||``);async function T(e=`reject`){if(!(G(g)||!G(s))){R(g,!0);try{for(;;){let n=G(v)?.index??Im(G(h));if(R(v,null),n<0)break;let i=G(h)[n];if(!i||i.status===`too-large`)continue;R(h,G(h).map((e,t)=>t===n?{...e,status:`uploading`}:e),!0);let a=new AbortController;R(_,a,!0);try{let o=await t.uploadFile(t.root.id,{directory:G(w),filename:i.file.name,conflict:e,file:i.file},Ba(),a.signal);R(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)),R(u,G(w),!0),r()(),e=`reject`}catch(e){let r=e;if(r.status===409){R(h,G(h).map((e,t)=>t===n?{...e,status:`queued`}:e),!0),R(v,{index:n,replaceAllowed:r.replaceAllowed===!0},!0);break}R(h,G(h).map((e,t)=>t===n?{...e,status:a.signal.aborted?`cancelled`:`failed`}:e),!0),t.onerror(e)}finally{R(_,null)}}}finally{R(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||(R(h,Fm(e),!0),T())}function D(){G(_)?.abort(),R(h,G(h).map(e=>e.status===`queued`||e.status===`uploading`?{...e,status:`cancelled`}:e),!0),R(v,null)}function ee(e){if(G(c).phase===`submitting`||G(f)){e.preventDefault();return}e.preventDefault(),S()}async function te(){if(!(!G(u)||G(f))){R(f,!0);try{let e=G(u).includes(`/`)?G(u).slice(0,G(u).lastIndexOf(`/`)):``;await t.deleteEntry(t.root.id,G(u),Ba()),await G(s)?.refresh(e),G(s)?.select(e),R(u,e,!0),n()(`Deleted item.`),r()(),R(d,!1)}catch(e){t.onerror(e)}finally{R(f,!1)}}}async function ne(){R(d,!0),await Cr(),G(p)?.focus()}function re(e){G(u)&&R(c,Rm(e,G(u)),!0)}function O(e){Um(G(c),e)&&R(c,zm(G(c),e),!0)}async function k(e=`reject`){if(!G(s)||G(c).phase!==`picking`&&G(c).phase!==`conflict`)return;let i=G(c).phase===`picking`?Bm(G(c)):{...G(c),phase:`submitting`};if(!(!i.source||i.destination===void 0||!i.kind)){R(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},Ba()),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()(),R(c,Lm,!0)}catch(e){let n=e;n.status===409?(R(c,Vm(i,n.replaceAllowed===!0),!0),await Cr(),G(l)?.focus()):(R(c,Hm(i),!0),t.onerror(e))}}}var A=rh(),ie=B(A),ae=B(ie),oe=B(ae),se=B(oe),ce=B(se,!0);N(se),Li(se,e=>R(a,e),()=>G(a));var le=H(se,2),ue=B(le,!0);N(le),N(oe);var de=H(oe,2);N(ae);var fe=H(ae,2),pe=B(fe);N(fe);var me=H(fe,2),he=B(me);Li(he,e=>R(m,e),()=>G(m));var ge=H(he,2),_e=B(ge);N(ge);var ve=H(ge,2);N(me);var ye=H(me,2),be=e=>{var t=Ym(),n=B(t),r=B(n);N(n);var i=H(n,2);Z(i,21,()=>G(h),e=>e.file,(e,t)=>{var n=Gm(),r=B(n);N(n),U(()=>Y(r,`${G(t).file.name??``}: ${G(t).path??G(t).status??``}${G(t).status===`too-large`?` (maximum ${Pm/1024/1024} MiB)`:``}`)),J(e,n)}),N(i);var a=H(i,2),o=e=>{var t=qm(),n=B(t),r=e=>{var t=Km();K(`click`,t,()=>void T(`replace`)),J(e,t)};X(n,e=>{G(v).replaceAllowed&&e(r)});var i=H(n,2),a=H(i,2);N(t),K(`click`,i,()=>void T(`keep-both`)),K(`click`,a,D),J(e,t)},s=e=>{var t=Jm();K(`click`,t,D),J(e,t)};X(a,e=>{G(v)?e(o):G(g)&&e(s,1)}),N(t),U((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(ye,e=>{G(h).length&&e(be)});var xe=H(ye,2),Se=e=>{var t=Xm(),n=B(t),r=H(n,2),i=H(r,2);N(t),K(`click`,n,()=>re(`copy`)),K(`click`,r,()=>re(`move`)),K(`click`,i,()=>void ne()),J(e,t)};X(xe,e=>{G(s)&&G(c).phase===`idle`&&G(b)&&G(b).kind!==`symlink`&&e(Se)});var Ce=H(xe,2),we=e=>{var t=Zm(),n=B(t),r=B(n,!0);N(n);var i=H(n,2),a=B(i,!0);N(i);var o=H(i,2),s=B(o);Li(s,e=>R(p,e),()=>G(p));var c=H(s,2),l=B(c,!0);N(c),N(o),N(t),U(()=>{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,()=>R(d,!1)),K(`click`,c,()=>void te()),J(e,t)};X(Ce,e=>{G(d)&&G(b)&&e(we)});var Te=H(Ce,2),Ee=e=>{var t=Qm(),n=B(t),r=B(n),i=B(r);N(r);var a=H(r);N(n);var o=H(n,2),s=B(o);N(o);var l=H(o,2),u=B(l),d=H(u,2),f=B(d);N(d);var p=H(d,2);N(l),N(t),U(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??``}`)},[()=>!Um(G(c),``)]),K(`click`,u,()=>O(``)),K(`click`,d,()=>void k()),K(`click`,p,()=>R(c,Lm,!0)),J(e,t)},De=e=>{var t=$m(),n=H(B(t),2),r=B(n,!0);N(n);var i=H(n,2),a=B(i),o=e=>{var t=Km();K(`click`,t,()=>void k(`replace`)),J(e,t)};X(a,e=>{G(c).replaceAllowed&&e(o)});var s=H(a,2),u=H(s,2);N(i),N(t),Li(t,e=>R(l,e),()=>G(l)),U(()=>Y(r,G(c).destination)),K(`click`,s,()=>void k(`keep-both`)),K(`click`,u,()=>R(c,Lm,!0)),J(e,t)},Oe=e=>{var t=eh(),n=H(B(t),2),r=B(n),i=H(r);N(n),N(t),K(`click`,r,()=>R(c,{...G(c),phase:`picking`},!0)),K(`click`,i,()=>R(c,Lm,!0)),J(e,t)};X(Te,e=>{G(c).phase===`picking`?e(Ee):G(c).phase===`conflict`?e(De,1):G(c).phase===`failed`&&e(Oe,2)});var ke=H(Te,2),Ae=e=>{J(e,th())},je=e=>{J(e,nh())};X(ke,e=>{G(s)&&!G(y).loading&&G(y).error?e(Ae):G(s)&&!G(y).loading&&G(y).entries.length===0&&e(je,1)});var Me=H(ke,2),Ne=e=>{var t=Hr();Yr(V(t),()=>G(o),e=>{{let t=F(()=>G(c).phase===`picking`);jm(e,{get controller(){return G(s)},get revision(){return G(o)},get destinationMode(){return G(t)},ondestinationselect:O,onselectionchange:e=>R(u,e,!0)})}}),J(e,t)};X(Me,e=>{G(s)&&e(Ne)}),N(ie),N(A),Li(A,e=>R(i,e),()=>G(i)),U(()=>{Y(ce,G(x)),Y(ue,G(c).phase===`picking`?`Choose destination folder.`:`Browse folders and select a position.`),pe.disabled=G(y).loading,Y(_e,`Upload destination: ${(G(b)?.kind===`file`?`Select a folder first`:G(u)||`root folder`)??``}`),ve.disabled=G(b)?.kind===`file`||G(g)}),Nr(`close`,A,function(...e){t.onclose?.apply(this,e)}),Nr(`cancel`,A,ee),K(`click`,de,S),K(`click`,pe,()=>void G(s)?.refresh()),K(`change`,he,e=>E(e.currentTarget.files)),K(`click`,ve,()=>G(m)?.click()),J(e,A),$e()}Pr([`click`,`change`]);var ah=q(`<main class="evidence-mode svelte-1d2e8zz"><!></main>`),oh=q(`<span class="detached-chat-model svelte-1d2e8zz"> </span>`),sh=q(`<header class="detached-chat-header svelte-1d2e8zz"><div class="detached-chat-context svelte-1d2e8zz"><span class="svelte-1d2e8zz">Chat</span> <strong class="svelte-1d2e8zz"> </strong></div> <!></header>`),ch=q(`<!> <!> <div class="chat-controls svelte-1d2e8zz" aria-label="Chat controls"><!> <!></div> <div class="chat-tail svelte-1d2e8zz" aria-hidden="true"></div>`,1),lh=q(`<p> </p>`),uh=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>`),dh=q(`<p>Loading skill profiles…</p>`),fh=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>`),ph=q(`<!> <!> <!>`,1),mh=q(`<main class="swipe-surface svelte-1d2e8zz"><!> <!> <!> <!></main> <!>`,1);function hh(e,t){Qe(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=Gc(location.search),i=L(null),a=L(z(r?`chat`:`sessions`)),o=L(!1),s=L(!1),c=L(!1),l=L(null),u=L(null),d=!1,f=L(`Loading relay…`),p=L(z(Er(()=>t.theme))),m=L(z([])),h=`gpt-5.6-terra`,g=L({codex:[h],kimi:[]}),_=L([]),v=L(`codex`),y=L({codex:h,kimi:``}),b=L(null),x=L(null),S=F(()=>G(b)?.kimi.available??!1),C=F(()=>G(S)?G(v):`codex`),w=L([]),T=L(null),E=L(`list`),D=L([]),ee=L(``),te=L(``),ne=L(``),re=L(z(new Set)),O=L(null),k=L(z([])),A=L(new Map),ie=L({snapshots:new Map,attention:new Map,pending:new Set,errors:new Map}),ae=L(new Map),oe=0,se=null,ce=F(()=>G(k).some(e=>e.id===G(O))),le=L(z([])),ue=L(`workspace-write`),de=L(`on-request`),fe=L(z({starting:!1,error:null})),pe=F(()=>G(fe).starting),me=L(null),he=0,ge=L(null),_e=L(null),ve=L(``),ye=0,be=new Map,xe=L(z({kind:`unavailable`,sessionId:null})),Se=L({kind:`no-workspace`}),Ce=L(null),we=L(null),Te=L(!1),Ee=null,De=null,Oe=0,ke=0,Ae=L(null),je=F(()=>(G(k).find(e=>e.id===G(O))?.workspaceId??G(ne))||null),Me=F(()=>G(k).find(e=>e.id===G(O))?.workspacePath??null),Ne=F(()=>G(k).find(e=>e.id===G(O))??null),Pe=F(()=>yf(G(Ne)?.workspacePath??``)),Fe=F(()=>G(Ne)?`${G(Ne).provider===`kimi`?`Kimi · `:``}${G(Ne).model??h}`:h);function Ie(e){return`kind`in e&&e.kind===`org-source`}function Le(e){return r?e.filter(e=>e.id===G(O)):e}let Re=F(()=>G(Ce)&&Ie(G(Ce))?G(Ce):G(Ce)?{kind:`ready`,sessionId:`catalog`,plan:G(Ce)}:G(Te)?null:G(xe).kind===`ready`||G(xe).kind===`closing`||G(xe).kind===`error`&&G(xe).plan?G(xe):null),j=F(()=>$u(G(xe).kind===`ready`||G(xe).kind===`closing`||G(xe).kind===`error`?G(xe).plan:void 0)),ze=L(z({workspaceId:null,summary:null,loading:!1,refreshing:!1,checkingOut:!1,error:null})),M=F(()=>G(ze).workspaceId),Be=L(z(new Set)),Ve=L(!1),He=L(!1),Ue=L(null),We=L(null),Ge=L(null),Ke=z({}),qe=L({}),Je=L(null),Ye=``,Xe=new Ll({requestFrame:e=>requestAnimationFrame(e),cancelFrame:e=>cancelAnimationFrame(e),reducedMotion:()=>window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,scrollTail:e=>G(Je)?.scrollIntoView({block:`end`,behavior:e})}),Ze=new Rl(e=>void Cr().then(e),e=>{G(a)===`chat`&&Xe.request(e)}),et=F(()=>{let e=G(i)?.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.`:``:``}),P=Uu((e,n)=>t.authorizedFetch(e,n)),tt=new Xa(P,e=>R(ie,e)),nt=new za({relay:P,publish:e=>R(A,new Map(e)),onEvent:(e,t)=>tt.observe(e,t),onAuthoritativeSnapshot:(e,t)=>tt.applyAuthoritative(e,t)}),rt=new Fl({relay:P,cache:Uc(),publish:e=>R(i,e,!0),onSessionEvent:e=>Nn(e),onRelayEvent:e=>{G(O)&&nt.observe(G(O),e)},onHistoryError:e=>{R(f,kn(e,`SESSION_HISTORY_READ_FAILED`),!0)},onSendError:(e,t)=>{let n=Vl(e,`MESSAGE_SEND_FAILED`);if(n.code===`SESSION_WORKSPACE_UNAVAILABLE`){R(ge,null),R(_e,null),lt.enqueue({kind:`warning`,...n});return}R(ge,n.message,!0),R(_e,n.retryable?t:null,!0),R(f,kn(e,`MESSAGE_SEND_FAILED`),!0)},onSendAccepted:(e,t)=>{G(_e)===t&&(R(ge,null),R(_e,null));let n=be.get(t);n&&n.sessionId===e&&Bt(n)},onHistoryPromptAccepted:(e,t)=>{let n=be.get(t);n&&n.sessionId===e&&Bt(n)}}),it=new Xf({start:P.startSession},Ba,e=>R(fe,e,!0)),at=new Iu({getSummary:P.getGitSummary,pull:P.pullGit,checkout:P.checkoutGitBranch},e=>!!uu(G(m),e)?.isGitRepository,e=>R(ze,e,!0),(e,t)=>kn(e,t)),ot=cm((e,n)=>t.authorizedFetch(e,n)),st=Qu({getPlan:P.getPlan,closePlan:P.closePlan},e=>{R(xe,e,!0),(e.kind===`ready`||e.kind===`closing`)&&R(k,G(k).map(t=>t.id===e.sessionId?{...t,plan:e.plan}:t),!0)}),ct=mf(),lt=Ql({historyStorage:Xl()}),ut=new URLSearchParams(location.search).get(`tree-evidence`),dt=new URLSearchParams(location.search).get(`toast-evidence`),ft=new URLSearchParams(location.search).get(`activity-evidence`),pt=ao(window.sessionStorage),mt=new Set;jn(()=>{for(let[e,t]of G(ie).attention){let n=`${e}:${t.requestId}`;pt.claim(n)&&lt.enqueue({kind:`error`,code:`AUTOPILOT_ATTENTION_${t.requestId}`,message:`Autopilot needs your attention.`})}}),jn(()=>{let e=new Set;for(let[t,n]of G(ie).errors){let r=`${t}:${n}`;e.add(r),!mt.has(r)&&(mt.add(r),lt.enqueue({kind:`error`,message:n}))}for(let t of mt)e.has(t)||mt.delete(t)});function ht(){R(c,!0)}function gt(){R(c,!1),Cr().then(()=>document.querySelector(`.menu-trigger`)?.focus())}function _t(){R(s,!1),Cr().then(()=>document.querySelector(`.menu-trigger`)?.focus())}async function vt(){try{await P.updateRestart(),lt.enqueue({kind:`info`,message:`Update started. Gestalt Mobile will disconnect briefly, then reconnect.`})}catch(e){throw kn(e,`UPDATE_RESTART_FAILED`),e}}Ri(async()=>{if(!(ut===`sessions`||ut===`git`||dt===`error`||dt===`stacked`))try{let e=await Mc(t.authorizedFetch);R(ne,du(G(ne)||null,G(m),e.workspaces,au.sessionBase)??``,!0),R(m,e.workspaces,!0),R(w,e.profiles),R(g,{codex:[...new Set([h,...e.models?.codex??[]])],kimi:e.models?.kimi??[]}),R(y,{...G(y),kimi:G(y).kimi||(e.models?.kimi?.[0]??``)}),R(b,e.capabilities?.providers??null),R(_,e.versions??[]),r||await on(),R(re,ou(G(m)),!0),R(Be,ou(G(m)),!0);let n=r?null:await ct.readSelectedSession();if(R(O,r?e.sessions.find(e=>e.id===r)?.id??null:e.sessions.some(e=>e.id===n)?n:e.sessions[0]?.id??null,!0),G(O)){let e=await ct.readDraftEnvelope(G(O));R(ve,e.text,!0),ye=e.revision,Vt(G(O),e.pending)}R(k,e.sessions,!0);let i=Le(e.sessions.filter(e=>[`ready`,`turnActive`].includes(e.state)));nt.bootstrap(i,G(O)),tt.bootstrap(i),r||kt(),st.select(G(O)),G(O)?rt.select(G(O)):r&&R(f,`This session is no longer open in Gestalt Mobile.`)}catch(e){R(f,kn(e,`RELAY_UNAVAILABLE`),!0)}}),jn(()=>{if(!G(Je))return;let e=new IntersectionObserver(([e])=>Xe.observeTail(e?.isIntersecting??!1),{root:null});return e.observe(G(Je)),()=>e.disconnect()}),jn(()=>{let e=G(i),t=G(a),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===Ye||(Ye=n,t===`chat`&&yt(`content`))});function yt(e){Ze.schedule(e)}function bt(){Ze.invalidate(),Xe.reset(),R(a,`chat`),fn(`chat`),yt(`initial`),pn()}function xt(e){R(p,$i(e),!0)}function St(){if(!G(O))return;let e=window.open(Kc(location.href,G(O)),qc(G(O)),`popup,width=760,height=900`);if(!e){lt.enqueue({kind:`error`,message:`The Chat window was blocked. Allow pop-ups for this site and try again.`});return}try{e.opener=null}catch{}e.focus()}zi(()=>{Ze.invalidate(),Xe.cancel(),rt.dispose(),nt.dispose(),tt.dispose(),st.dispose(),at.dispose(),it.dispose(),G(T)?.dispose()});async function Ct(e){R(v,e,!0);let t=G(g)[e];if(!G(y)[e]&&t[0]&&R(y,{...G(y),[e]:t[0]}),!(t.length>0)){R(x,e,!0);try{let t=await P.listSessionModels(e);R(g,{...G(g),[e]:t.models}),!G(y)[e]&&t.models[0]&&R(y,{...G(y),[e]:t.models[0]})}catch(e){kn(e,`SESSION_MODELS_READ_FAILED`)}finally{G(x)===e&&R(x,null)}}}async function wt(){if(!G(ne)||G(pe))return;let e=G(S)?G(v):`codex`,t=Yf({workspaceId:G(ne),profile:`default`,profileState:`ok`});if(t.profile){R(f,t.profile,!0);return}R(f,`Starting session…`);let n=await it.start(G(ne),{provider:e,sandbox:G(ue),approvalPolicy:G(de),model:G(y)[e]||void 0,skillProfile:G(ee)||void 0});if(!n){G(fe).error&&R(f,kn(Error(G(fe).error),`SESSION_START_FAILED`),!0);return}try{R(O,n.id,!0);for(let e of n.effectiveSkillSelection?.warnings??[])lt.enqueue({kind:`warning`,code:`SKILL_PROFILE_MISSING_SKILL`,message:e});st.select(n.id),ct.saveSelectedSession(n.id),await Tt();let e=await ct.readDraftEnvelope(n.id);R(ve,e.text,!0),ye=e.revision,Vt(n.id,e.pending),rt.select(n.id,{history:`empty`}),nt.select(n.id),bt(),R(f,`Session started.`)}catch(e){R(f,kn(e,`SESSION_START_FAILED`),!0)}}async function Tt(){let e=++oe;se?.abort();let t=new AbortController;se=t;try{let n=await P.listSessions(t.signal);if(e!==oe||t.signal.aborted)return;R(k,n.map(e=>G(ae).has(e.id)?{...e,plan:G(ae).get(e.id)}:e),!0);let r=Le(G(k).filter(e=>[`ready`,`turnActive`].includes(e.state)));nt.bootstrap(r,G(O)),tt.bootstrap(r)}catch(e){if(t.signal.aborted||Mn(e))return;throw e}finally{se===t&&(se=null)}}async function Et(e,t){await tt.toggle(e,t),e===G(O)&&Tt().catch(()=>{})}async function Dt(e){await Et(e,!0),await Cr(),e===G(O)&&document.getElementById(`chat-autopilot-${e}-button`)?.focus({preventScroll:!0})}async function Ot(e,t,n){await tt.resolve(e,t,n),e===G(O)&&Tt().catch(()=>{})}async function kt(){try{R(le,await P.listRecentSessions(),!0)}catch{R(le,[],!0)}}async function At(){try{await Promise.all([Tt(),kt()])}catch(e){R(f,kn(e,`SESSION_REFRESH_FAILED`),!0)}}async function I(e){R(f,`Opening session…`),R(me,e,!0);let t=++he;try{R(O,e,!0),R(ge,null),R(_e,null),st.select(e),ct.saveSelectedSession(e),rt.select(e),nt.select(e),bt();let n=await ct.readDraftEnvelope(e);t===he&&G(O)===e&&(R(ve,n.text,!0),ye=n.revision,Vt(e,n.pending))}catch(e){R(f,kn(e,`SESSION_HISTORY_READ_FAILED`),!0)}finally{t===he&&R(me,null)}}async function jt(e){R(f,`Opening recent session…`);try{let t=await P.openRecentSession(e.id,e.cwd,e.provider??`codex`);G(k).some(e=>e.id===t.id)||R(k,[...G(k),t],!0),At(),await I(t.id)}catch(e){R(f,kn(e,`SESSION_HISTORY_READ_FAILED`),!0)}}async function Mt(e){R(f,`Closing session…`);try{await P.releaseSession(e),G(O)===e&&(R(O,null),R(a,`sessions`),ct.saveSelectedSession(null),rt.select(null),nt.select(null),st.select(null)),await At(),R(f,`Session closed.`)}catch(e){R(f,`Could not close session: ${On(e)}`)}}async function Nt(e){let t=G(k).find(t=>t.id===e);try{await P.forgetSession(e),G(O)===e&&(rt.select(null),nt.select(null),R(O,null),ct.saveSelectedSession(null),st.select(null)),await At(),R(le,vf(G(le),t),!0)}catch(e){R(f,`Could not forget session: ${On(e)}`)}}async function Pt(e){R(f,await Rs(e)?`Resume command copied.`:`Could not copy the resume command.`,!0)}async function Ft(e){if(!(!G(O)||G(i)?.activeTurnId))try{let t=await P.selectModel(G(O),e);R(k,G(k).map(e=>e.id===t.id?{...e,...t}:e),!0),R(ve,``),R(f,`Model changed to ${e}; it applies to the next turn.`)}catch(e){R(f,`Could not change model: ${On(e)}`)}}async function It(e){if(!G(O)||!G(ve).trim()||!rt.canSubmit(e)||[...be.values()].some(e=>e.sessionId===G(O)&&e.revision===ye))return;let t=Ba(),n={sessionId:G(O),revision:ye,text:G(ve),operationId:t,kind:e};be.set(t,n),ct.addPendingDraftOperation(G(O),n),e===`send`?rt.send(n.text,t):e===`queue`?rt.queue(n.text,t):rt.interruptAndSend(n.text,t)}let Lt=()=>It(`send`),Rt=()=>It(`queue`),zt=()=>It(`interrupt-send`);async function Bt(e){let t=await ct.consumeAcceptedDraft(e.sessionId,e.revision,e.operationId);t&&be.delete(e.operationId),t&&e.sessionId===G(O)&&e.revision===ye?(G(_e)===e.operationId&&(R(_e,null),R(ge,null)),R(ve,``),ye=t.revision,yt(`explicit`)):e.sessionId===G(O)&&e.revision===ye&&(R(ge,null),R(_e,e.operationId,!0),lt.enqueue({kind:`warning`,code:`PROMPT_LOCAL_RECOVERY_${e.operationId}`,message:`The accepted prompt could not be saved locally. Keep this text until recovery completes. Retry is available.`}))}function Vt(e,t){for(let n of t??[])be.set(n.operationId,{sessionId:e,...n});e===G(O)&&(t?.length??0)>0&&(R(ge,null),R(_e,t[0].operationId,!0),lt.enqueue({kind:`warning`,code:`PROMPT_RECOVERY_${G(_e)}`,message:`A submitted prompt is being recovered. It will not be sent again automatically. Retry is available.`}))}async function Ht(){if(!G(_e))return;R(ge,null);let e=be.get(G(_e));if(!e){await rt.retryPrompt(G(_e));return}e.kind===`send`?await rt.send(e.text,e.operationId):e.kind===`queue`?await rt.queue(e.text,e.operationId):await rt.interruptAndSend(e.text,e.operationId)}async function Ut(){await rt.interrupt()}function Wt(){G(a)===`chat`&&G(O)&&rt.refresh()}function Gt(e){if(r||e===`chat`&&!G(ce))return;let t=G(a)!==e;G(a)===`chat`&&e!==`chat`&&(Ze.invalidate(),Xe.cancel()),R(a,e,!0),fn(e),e===`chat`&&(Wt(),Xe.reset(),yt(`initial`),t&&pn()),e===`git`&&G(M)&&at.refresh(),e===`plan`&&(G(O)&&st.refresh(G(O)),t||rn()),e===`sessions`&&(G(E)===`profile-manager`&&dn(!1),At(),G(O)&&st.refresh(G(O)))}jn(()=>{let e=G(je);G(a)===`plan`&&$t(e)});let Kt=!1;function qt(){document.visibilityState!==`visible`||Kt||(Kt=!0,queueMicrotask(()=>{Kt=!1,document.visibilityState===`visible`&&(G(a)===`git`&&G(M)&&at.refresh(),G(a)===`plan`&&rn(),G(a)===`sessions`&&(At(),G(O)&&st.refresh(G(O))))}))}let Jt=null;function Yt(e){return e instanceof Element&&e.closest(`button, input, textarea, select, a, summary, [contenteditable]`)!==null}function Xt(e){e.pointerType!==`touch`||Yt(e.target)||(Jt={pointerId:e.pointerId,x:e.clientX,y:e.clientY})}function Zt(e){if(!Jt||e.pointerId!==Jt.pointerId)return;let t=Jt;Jt=null;let n=e.clientX-t.x,r=e.clientY-t.y;Math.abs(n)<48||Math.abs(n)<=Math.abs(r)||Gt(Qf(G(a),n<0?1:-1,{chatEnabled:G(ce)}))}function Qt(e){Jt?.pointerId===e.pointerId&&(Jt=null)}function $t(e=G(je)){if(Ee?.abort(),De?.abort(),R(Ce,null),R(we,null),!e){R(Se,{kind:`no-workspace`});return}let t=new AbortController;Ee=t;let n=++Oe;R(Se,{kind:`loading`,workspaceId:e}),P.listWorkspacePlans(e,t.signal).then(r=>{n!==Oe||t.signal.aborted||R(Se,{kind:`ready`,workspaceId:e,entries:r})}).catch(r=>{n!==Oe||t.signal.aborted||(G(Re)||lt.enqueue({kind:`error`,code:`WORKSPACE_PLANS_READ_FAILED`,message:`Workspace Org files could not be listed. Try opening the Plan tab again.`}),R(Se,{kind:`error`,workspaceId:e,error:r instanceof Error?r.message:`Could not load workspace plans.`}))})}function en(e){let t=G(je);if(!t)return;De?.abort();let n=new AbortController;De=n;let r=++ke;(G(O)?P.openSessionPlan(G(O),e):P.getWorkspacePlan(t,e,n.signal)).then(t=>{r!==ke||n.signal.aborted||(R(Ce,t),R(we,e,!0),R(Te,!1))}).catch(()=>{r!==ke||n.signal.aborted||lt.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 tn(e){let t=G(je),n=G(Me),r=n?Is(e,n):null;if(!t||!r){lt.enqueue({kind:`error`,code:`ORG_LINK_OUTSIDE_WORKSPACE`,message:`This Org file is not inside the selected workspace and cannot be opened.`});return}Gt(`plan`),Cr().then(()=>{G(je)!==t||G(Me)!==n||en(r)})}function nn(){R(Ce,null),R(we,null),R(Te,!0),$t()}function rn(){G(O)&&st.refresh(G(O)),G(we)?en(G(we)):$t()}async function an(e,t){let n=new vp(P);await n.load(e,t),R(T,n,!0)}async function on(){try{let e=await P.listSkillProfiles();R(D,e.profiles.filter(e=>!(`error`in e)));let t=e.profiles.find(e=>`error`in e);R(te,t&&`error`in t?t.error.message:``,!0),G(D).some(e=>e.name===G(ee))||R(ee,``)}catch(e){R(D,[]),R(te,e instanceof Error?e.message:`Unable to load saved skill profiles.`,!0)}}async function sn(e){let t=G(ne)||G(m)[0]?.id||``,n=G(w).find(e=>e.state===`ok`)?.name??``;if(!t||!n){R(f,`Choose a workspace and available Codex profile before managing skill profiles.`);return}await an(t,n),R(E,`profile-manager`)}function un(e){queueMicrotask(()=>e.focus())}async function dn(e=!0){R(E,`list`),await Cr(),e&&document.getElementById(`manage-skill-profiles`)?.focus()}function fn(e){requestAnimationFrame(()=>{G(a)===e&&e!==`chat`&&window.scrollTo({top:0})})}function pn(){Cr().then(()=>{G(a)===`chat`&&document.getElementById(`message`)?.focus({preventScroll:!0})})}function mn(e){at.select(e.id),R(Ve,!1)}function hn(e){let t=G(M)?uu(G(m),G(M)):null;t&&(R(l,t,!0),R(u,e,!0))}async function gn(){R(l,null),await Cr(),G(u)?.focus({preventScroll:!0})}function _n(){d||(d=!0,queueMicrotask(()=>{d=!1,G(M)&&at.refresh()}))}async function vn(){let e=G(M);!e||!uu(G(m),e)?.isGitRepository||(R(We,G(We)??Ba(),!0),await at.pull(G(We)),G(ze).error||R(We,null))}async function yn(e){if(G(He))return;let n=G(M)?uu(G(m),G(M)):void 0;if(!n||n.isGitRepository){R(Ue,null),lt.enqueue({kind:`error`,code:`INVALID_CLONE_DESTINATION`,message:`Select a non-repository folder before cloning.`});return}let r=n.id;R(He,!0),R(Ue,null);try{await P.cloneGitRepository(r,e);let n=await Mc(t.authorizedFetch),i=Lu(G(m),n.workspaces,r,e,G(Be));R(ne,du(G(ne)||null,G(m),n.workspaces,au.sessionBase)??``,!0),R(m,n.workspaces,!0),at.select(i.selectedId),R(Be,i.expandedIds,!0),R(Ue,`Repository cloned into the selected workspace.`),lt.enqueue({kind:`success`,message:`Repository cloned.`})}catch(e){kn(e,`GIT_CLONE_FAILED`)}finally{R(He,!1)}}async function bn(e){G(M)&&await at.checkout(e)}async function xn(){let e=G(M);if(e){R(Ge,G(Ge)??Ba(),!0);try{await P.pushGit(e,G(Ge)),R(Ve,!1),await at.refresh(),R(Ge,null)}catch(e){kn(e,`GIT_PUSH_FAILED`)}}}async function Sn(e,t){yt(`explicit`),await rt.respond(e,{decision:t})}async function Cn(e){yt(`explicit`);let t=e.kind===`quiz`?es(e.payload):ts(e.payload);if(!t)return;let n=t.questions.map(t=>({id:t.id,answer:Ke[`${e.requestId}:${t.id}`]??``})),r=t.questions.map((e,t)=>({id:e.id,header:e.header,question:e.question,answer:n[t]?.answer??``}));R(qe,{...G(qe),[e.requestId]:r});let a=e.kind===`quiz`?ns(n):Vu(n);try{let t=`quiz-answer:${e.requestId}`,n=G(i)?.prompts.find(e=>e.operationId===t);if(!n||n.state===`failed`){let e=Hu(r);G(i)?.activeTurnId?await rt.queue(e,t):await rt.send(e,t)}let o=rt.view.prompts.find(e=>e.operationId===t);if(e.kind===`quiz`&&(!o||o.state===`failed`))return;await rt.respond(e.requestId,a)}catch{R(f,`Could not send quiz answers. Please try again.`)}}async function wn(e){let t=Bu(e.payload);if(!t){R(f,`Codex sent an invalid permission request.`);return}yt(`explicit`),await rt.respond(e.requestId,t)}function Tn(e){e.kind===`quiz`||e.kind===`userInput`?Cn(e):e.kind===`permissionsApproval`?wn(e):rt.retryInteraction(e.requestId)}function En(e,t,n){Ke[`${e}:${t}`]=n}function Dn(e){R(ve,e,!0),ye+=1;let t=G(O);t&&ct.replaceDraftText(t,e,ye)}function On(e){return e instanceof Error?e.message:`Unknown relay error.`}function kn(e,t){let n=Vl(e,t);return lt.enqueue({kind:`error`,...n}),n.message}function An(e){lt.enqueue(e?{kind:`success`,message:`Code copied.`}:{kind:`error`,message:`Code could not be copied. Select it and copy it manually.`})}function Mn(e){return(e instanceof DOMException||e instanceof Error)&&e.name===`AbortError`}function Nn(e){let t=G(O);if(!t||e.type===`agent.activity.updated`)return;if(e.type===`session.status.updated`){let n=e.payload;zl(n)&&R(k,G(k).map(e=>e.id===t?{...e,sessionStatus:n}:e),!0);return}if(e.type===`session.updated`&&typeof e.payload==`object`&&e.payload!==null){let n=e.payload;n.id===t&&R(k,G(k).map(e=>e.id===t?{...e,...n}:e),!0);return}if(e.type!==`plan.updated`&&e.type!==`plan.closed`)return;if(st.applyEvent(t,e),e.type===`plan.closed`){R(ae,new Map(G(ae)).set(t,void 0)),R(k,G(k).map(e=>e.id===t?{...e,plan:void 0}:e),!0);return}let n=Ku(e.payload)?e.payload.plan:qu(e.payload)?e.payload:null;n&&R(ae,new Map(G(ae)).set(t,n)),n&&R(k,G(k).map(e=>e.id===t?{...e,plan:n}:e),!0)}var Pn=Hr();oi(`1d2e8zz`,e=>{Ln(()=>{ln.title=r&&G(Pe)?`Chat · ${G(Pe)} · Gestalt Mobile`:`Gestalt Mobile`})}),Nr(`focus`,cn,qt),Nr(`visibilitychange`,ln,qt);var Fn=V(Pn),In=e=>{La(e,{})},Rn=e=>{iu(e,{get variant(){return dt}})},zn=e=>{var t=ah();bu(B(t),{get context(){return ut}}),N(t),J(e,t)},Bn=e=>{var u=mh(),d=V(u),v=B(d),b=e=>{{let n=F(()=>G(a)===`chat`?yf(G(k).find(e=>e.id===G(O))?.workspacePath??``):null),r=F(()=>G(a)===`chat`?G(Fe):null),i=F(()=>G(a)===`chat`&&G(O)?St:void 0);la(e,{get theme(){return G(p)},get sessionPath(){return G(n)},get sessionModel(){return G(r)},get weeklyQuotaRemaining(){return G(j)},get componentVersions(){return G(_)},get passkeyAuthEnabled(){return t.passkeyAuthEnabled},get onlock(){return t.onlock},ondevices:()=>R(o,!0),onnotifications:()=>R(s,!0),onscratchpad:ht,onupdaterestart:vt,onthemechange:xt,get ondetach(){return G(i)}})}};X(v,e=>{!G(o)&&!G(s)&&!r&&e(b)});var w=H(v,2),ae=e=>{var t=sh(),n=B(t),i=H(B(n),2),a=B(i,!0);N(i),N(n);var o=H(n,2),s=e=>{var t=oh(),n=B(t);N(t),U(()=>Y(n,`${G(Ne).provider===`kimi`?`Kimi · `:``}${G(Ne).model??``}`)),J(e,t)};X(o,e=>{G(Ne)?.model&&e(s)}),N(t),U(()=>{Q(i,`title`,G(Pe)||r),Y(a,G(Pe)||r)}),J(e,t)};X(w,e=>{r&&e(ae)});var oe=H(w,2);nu(oe,{get queue(){return lt}});var se=H(oe,2),fe=e=>{om(e,{get client(){return ot},onclose:()=>{R(o,!1),Cr().then(()=>document.querySelector(`.menu-trigger`)?.focus())},get onlock(){return t.onlock},oncreatepasskey:e=>n()(e)})},he=e=>{ql(e,{get queue(){return lt},onclose:_t})},ye=e=>{var t=ph(),n=V(t),o=e=>{var t=uh(),n=H(B(t),2);{let e=F(()=>G(O)?G(ie).attention.get(G(O))??null:null),t=F(()=>`chat-attention-${G(O)??`none`}`),r=F(()=>G(O)?G(ie).pending.has(G(O)):!1);no(n,{get attention(){return G(e)},get controlId(){return G(t)},get pending(){return G(r)},onresolve:(e,t)=>G(O)&&Ot(G(O),e,t)})}var a=H(n,2);{let e=F(()=>G(O)?G(ie).snapshots.get(G(O))??null:null),t=F(()=>G(O)?G(ie).attention.get(G(O))??null:null),n=F(()=>`chat-autopilot-safety-${G(O)??`none`}`),r=F(()=>G(O)?G(ie).pending.has(G(O)):!1);io(a,{get autopilot(){return G(e)},get attention(){return G(t)},get controlId(){return G(n)},get pending(){return G(r)},onrecover:()=>G(O)&&void Dt(G(O)),ondisable:()=>G(O)&&Et(G(O),!1)})}var o=H(a,2),s=B(o,!0);N(o);var c=H(o,2),l=e=>{var t=ch(),n=V(t);{let e=F(()=>G(i)?[...G(i).messages]:[]),t=F(()=>G(i)?[...G(i).activities]:[]),r=F(()=>G(i)?.activeTurnId??null),a=F(()=>G(i)?.autopilotAuditTruncated??!1),o=F(()=>G(i)?[...G(i).interactions]:[]);Oc(n,{get messages(){return G(e)},get activities(){return G(t)},get activeTurnId(){return G(r)},get autopilotAuditTruncated(){return G(a)},get interactions(){return G(o)},get answers(){return Ke},get submittedAnswers(){return G(qe)},onanswer:En,onquiz:e=>void Cn(e),onpermission:e=>void wn(e),ondecision:(e,t)=>void Sn(e,t),onretry:Tn,onopenorg:tn,oncopyresult:An})}var r=H(n,2);{let e=F(()=>G(i)?.status??G(f)),t=F(()=>G(i)?.activeTurnId??null),n=F(()=>G(i)?.starting??!1),a=F(()=>!!(G(k).find(e=>e.id===G(O))&&![`ready`,`turnActive`].includes(G(k).find(e=>e.id===G(O))?.state??``))),o=F(()=>G(_e)!==null),s=F(()=>G(g)[G(k).find(e=>e.id===G(O))?.provider??`codex`]),c=F(()=>G(k).find(e=>e.id===G(O))?.provider??`codex`);Oo(r,{get status(){return G(e)},get message(){return G(ve)},get activeTurnId(){return G(t)},get starting(){return G(n)},get detached(){return G(a)},get retryMessage(){return G(ge)},get retryable(){return G(o)},get models(){return G(s)},get provider(){return G(c)},onchange:Dn,onscrollbottom:()=>yt(`explicit`),onmodelselect:e=>void Ft(e),onsend:()=>void Lt(),onqueue:()=>void Rt(),oninterruptsend:()=>void zt(),onretry:()=>void Ht(),oninterrupt:()=>void Ut()})}var a=H(r,2),o=B(a),s=e=>{{let t=F(()=>G(ie).snapshots.get(G(O))??null),n=F(()=>`chat-autopilot-${G(O)}`),r=F(()=>G(ie).pending.has(G(O)));eo(e,{compact:!0,get autopilot(){return G(t)},get controlId(){return G(n)},get pending(){return G(r)},ontoggle:e=>G(O)&&Et(G(O),e)})}};X(o,e=>{G(Ne)?.provider!==`kimi`&&e(s)});var c=H(o,2);{let e=F(()=>G(A).get(G(O))??null),t=F(()=>G(k).find(e=>e.id===G(O))?.model??h),n=F(()=>G(k).find(e=>e.id===G(O))?.plan);Fa(c,{compact:!0,get activity(){return G(e)},get rootModel(){return G(t)},get plan(){return G(n)},onopen:()=>G(O)&&void nt.resync(G(O))})}N(a),Li(H(a,2),e=>R(Je,e),()=>G(Je)),J(e,t)},u=e=>{var t=lh(),n=B(t,!0);N(t),U(()=>Y(n,r?G(f):G(S)?`Start a session from the Sessions tab to chat with Codex or Kimi.`:`Start a session from the Sessions tab to chat with Codex.`)),J(e,t)};X(c,e=>{G(O)?e(l):e(u,-1)}),N(t),U(()=>Y(s,G(et))),J(e,t)},s=e=>{sf(e,{get catalog(){return G(Se)},get state(){return G(Re)},onopen:en,onclose:nn})},c=e=>{{let t=F(()=>G(M)?uu(G(m),G(M))??null:null);Fu(e,{get workspaceTree(){return G(m)},get selectedWorkspace(){return G(t)},get expandedIds(){return G(Be)},get summary(){return G(ze).summary},get refreshing(){return G(ze).refreshing},get checkingOut(){return G(ze).checkingOut},get cloning(){return G(He)},get error(){return G(ze).error},get cloneStatus(){return G(Ue)},get confirmingPush(){return G(Ve)},onpull:()=>void vn(),oncheckout:e=>void bn(e),onopenpushconfirmation:()=>R(Ve,!0),onpush:()=>void xn(),oncancelpush:()=>R(Ve,!1),onselect:mn,onexpandedchange:e=>R(Be,e,!0),onbrowsefiles:hn,onclone:e=>void yn(e)})}},u=e=>{var t=Hr(),n=V(t),r=e=>{var t=fh(),n=B(t),r=B(n);si(r,()=>un);var i=H(r,2);N(n);var a=H(n,2),o=e=>{_p(e,{get skillsState(){return G(T)},onrefresh:()=>G(T)?.refresh()??Promise.resolve(),onprofileschange:()=>void on(),heading:`Skill profile editor`})},s=e=>{J(e,dh())};X(a,e=>{G(T)?e(o):e(s,-1)}),N(t),K(`click`,i,()=>void dn()),J(e,t)},i=e=>{{let t=F(()=>G(x)===G(C));Jf(e,{get sessions(){return G(k)},get recentSessions(){return G(le)},get selectedSessionId(){return G(O)},get activitySnapshots(){return G(A)},get autopilotSnapshots(){return G(ie).snapshots},get autopilotPending(){return G(ie).pending},get autopilotAttention(){return G(ie).attention},get workspaceTree(){return G(m)},get workspaceId(){return G(ne)},get expandedIds(){return G(re)},get sandbox(){return G(ue)},get approvalPolicy(){return G(de)},get models(){return G(g)[G(C)]},get selectedModel(){return G(y)[G(C)]},get provider(){return G(C)},get kimiAvailable(){return G(S)},get modelsLoading(){return G(t)},get skillProfiles(){return G(D)},get selectedSkillProfile(){return G(ee)},get skillProfileError(){return G(te)},get startingSession(){return G(pe)},get openingSessionId(){return G(me)},onworkspacechange:e=>R(ne,e,!0),onexpandedchange:e=>R(re,e,!0),onsandboxchange:e=>R(ue,e,!0),onapprovalpolicychange:e=>R(de,e,!0),onmodelchange:e=>R(y,{...G(y),[G(C)]:e}),onproviderchange:e=>void Ct(e),onskillprofilechange:e=>R(ee,e,!0),onmanageprofiles:e=>void sn(e),onopen:I,onselectopen:I,onclose:e=>void Mt(e),onautopilottoggle:Et,onactivityopen:e=>void nt.resync(e),onautopilotresolve:Ot,onopenrecent:e=>void jt(e),onforget:e=>void Nt(e),oncopyresume:e=>void Pt(e),onstart:()=>void wt()})}};X(n,e=>{G(E)===`profile-manager`?e(r):e(i,-1)}),J(e,t)};X(n,e=>{G(a)===`chat`?e(o):G(a)===`plan`?e(s,1):G(a)===`git`?e(c,2):e(u,-1)});var d=H(n,2),p=e=>{ih(e,{get root(){return G(l)},get listDirectory(){return P.listWorkspaceDirectory},get copyEntry(){return P.copyWorkspaceEntry},get moveEntry(){return P.moveWorkspaceEntry},get deleteEntry(){return P.deleteWorkspaceEntry},get uploadFile(){return P.uploadWorkspaceFile},onclose:()=>void gn(),onerror:e=>kn(e,`WORKSPACE_FILES_READ_FAILED`),onsuccess:e=>lt.enqueue({kind:`success`,message:e}),onmutation:_n})};X(d,e=>{G(l)&&e(p)});var _=H(d,2),v=e=>{ep(e,{get activeTab(){return G(a)},get chatEnabled(){return G(ce)},get focusTab(){return G(Ae)},onselect:Gt})};X(_,e=>{r||e(v)}),J(e,t)};X(se,e=>{G(o)&&t.passkeyAuthEnabled?e(fe):G(s)?e(he,1):e(ye,-1)}),N(d);var be=H(d,2),xe=e=>{vm(e,{onclose:gt})};X(be,e=>{G(c)&&e(xe)}),K(`pointerdown`,d,Xt),K(`pointerup`,d,Zt),Nr(`pointercancel`,d,Qt),J(e,u)};X(Fn,e=>{ft===`true`?e(In):dt===`error`||dt===`stacked`?e(Rn,1):ut===`sessions`||ut===`git`?e(zn,2):e(Bn,-1)}),J(e,Pn),$e()}Pr([`pointerdown`,`pointerup`,`click`]);function gh(){throw Error(`AUTH_RESPONSE_INVALID`)}async function _h(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 vh(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 yh(e){return!!e&&typeof e==`object`&&!!e.options&&typeof e.options.challenge==`string`}function bh(e){return!!e&&typeof e==`object`&&e.status===`authenticated`}function xh(e=fetch){async function t(){let t=await _h(await e(`/api/auth/status`,{credentials:`same-origin`}));return vh(t)||gh(),t}async function n(t,n={}){let r=await _h(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return yh(r)||gh(),r}async function r(t,n){let r=await _h(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return bh(r)||gh(),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 Sh(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 Ch(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 wh(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 Th(){return Eh.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential==`function`)}var Eh={stubThis:e=>e};function Dh(e){let{id:t}=e;return{...e,id:wh(t),transports:e.transports}}function Oh(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 kh=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 Ah({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 kh({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 kh({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 kh({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 kh({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 kh({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new kh({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 kh({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new kh({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(!Oh(t))return new kh({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new kh({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 kh({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 kh({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 jh=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}}},Mh=[`cross-platform`,`platform`];function Nh(e){if(e&&!(Mh.indexOf(e)<0))return e}async function Ph(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(!Th())throw Error(`WebAuthn is not supported in this browser`);let r={...t,challenge:wh(t.challenge),user:{...t.user,id:wh(t.user.id)},excludeCredentials:t.excludeCredentials?.map(Dh)},i={};n&&(i.mediation=`conditional`),i.publicKey=r,i.signal=jh.createNewAbortSignal();let a;try{a=await navigator.credentials.create(i)}catch(e){throw Ah({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){Fh(`getPublicKeyAlgorithm()`,e)}let f;if(typeof c.getPublicKey==`function`)try{let e=c.getPublicKey();e!==null&&(f=Ch(e))}catch(e){Fh(`getPublicKey()`,e)}let p;if(typeof c.getAuthenticatorData==`function`)try{p=Ch(c.getAuthenticatorData())}catch(e){Fh(`getAuthenticatorData()`,e)}return{id:o,rawId:Ch(s),response:{attestationObject:Ch(c.attestationObject),clientDataJSON:Ch(c.clientDataJSON),transports:u,publicKeyAlgorithm:d,publicKey:f,authenticatorData:p},type:l,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:Nh(a.authenticatorAttachment)}}function Fh(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 Ih(){if(!Th())return Lh.stubThis(new Promise(e=>e(!1)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?Lh.stubThis(new Promise(e=>e(!1))):Lh.stubThis(e.isConditionalMediationAvailable())}var Lh={stubThis:e=>e};function Rh({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 kh({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new kh({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!Oh(t))return new kh({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new kh({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 kh({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 zh(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(!Th())throw Error(`WebAuthn is not supported in this browser`);let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(Dh));let a={...t,challenge:wh(t.challenge),allowCredentials:i},o={};if(n){if(!await Ih())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=jh.createNewAbortSignal();let s;try{s=await navigator.credentials.get(o)}catch(e){throw Rh({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=Ch(u.userHandle)),{id:c,rawId:Ch(l),response:{authenticatorData:Ch(u.authenticatorData),clientDataJSON:Ch(u.clientDataJSON),signature:Ch(u.signature),userHandle:f},type:d,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:Nh(s.authenticatorAttachment)}}function Bh(e){return typeof e==`object`&&e?e:{}}function Vh(e){let t=Bh(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 Vh(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 Hh(){return typeof window<`u`&&window.isSecureContext&&window.PublicKeyCredential!==void 0}function Uh(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(!Hh()){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 Wh=q(`<p class="warning svelte-1c5qcm6">This one-time link authorizes one new passkey. Choose a nickname and complete the passkey
35
- prompt before it expires.</p>`),Gh=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
33
+ `);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)}})),Kp=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}}})),qp=o((e=>{var t=Kp();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)}})),Jp=o((e=>{var t=Kp();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>
34
+ `;return typeof a==`function`&&a(null,p),p}})),Yp=c(o((e=>{var t=Sp(),n=Gp(),r=qp(),i=Jp();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 Xp(e){return`${e.replace(/\/$/,``)}/?bootstrap=1`}async function Zp(e){return Yp.toDataURL(Xp(e),{errorCorrectionLevel:`M`,margin:1,width:256})}async function Qp(e){return Yp.toDataURL(e,{errorCorrectionLevel:`M`,margin:1,width:256})}var $p=q(`<p class="feedback svelte-1nygetn" role="status"> </p>`),em=q(`<span class="svelte-1nygetn">At least one authorized device is required.</span>`),tm=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>`),nm=q(`<ul aria-label="Authorized devices" class="svelte-1nygetn"></ul>`),rm=q(`<p role="status" class="svelte-1nygetn">No authorized devices are available. Refresh this page before making changes.</p>`),im=q(`<button type="button" class="svelte-1nygetn">Create enrollment link</button>`),am=q(`<img alt="QR code for the enrollment link" class="svelte-1nygetn"/>`),om=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),sm=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 cm(e,t){Qe(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=L(z([])),i=L(``),a=L(null),o=L(`none`),s=L(null),c=L(null),l=L(null),u=L(null),d=L(z(Date.now())),f=F(()=>[...G(r)].sort((e,t)=>e.createdAt.localeCompare(t.createdAt))),p=F(()=>G(a)?Math.max(0,Math.ceil((Date.parse(G(a).expiresAt)-G(d))/1e3)):0),m=F(()=>`${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)),R(u,null)}function _(){g(),R(u,setInterval(()=>void b(),15e3),!0)}function v(){return!!(G(a)&&G(o)===`pending`&&G(p)>0&&document.visibilityState===`visible`)}async function y(){try{R(r,(await t.client.list()).devices,!0)}catch{R(i,`Could not refresh authorized devices. Try again.`)}}async function b(){if(!v()){G(p)===0&&G(a)&&R(o,`expired`),g();return}try{R(o,(await t.client.ticketStatus()).status,!0),G(o)!==`pending`&&(g(),G(o)===`used`&&await y())}catch{g()}}async function x(){R(i,``);try{R(a,await t.client.createTicket(),!0),R(o,`pending`),R(s,await Qp(G(a).url),!0),R(d,Date.now(),!0),_()}catch{R(i,`Could not create an enrollment link. Try again.`)}}async function S(){try{R(o,(await t.client.cancelTicket()).status,!0),R(a,null),R(s,null),g()}catch{R(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)){R(i,`Device nicknames must be 1–64 characters.`);return}R(i,``);try{await t.client.rename(e.id,n.trim()),await y()}catch{R(i,`Could not rename this device. Try again.`)}}function T(e){G(f).length>1&&(R(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{R(i,`This device could not be revoked. Try again.`)}}async function D(){if(G(a))try{await navigator.clipboard.writeText(G(a).url)}catch{R(i,`Copy is unavailable here. Select the visible link instead.`)}}function ee(){document.visibilityState===`visible`&&G(o)===`pending`&&G(p)>0?(b(),_()):g()}Ri(()=>{y(),document.addEventListener(`visibilitychange`,ee);let e=setInterval(()=>R(d,Date.now(),!0),1e3);return()=>clearInterval(e)}),zi(()=>{g(),document.removeEventListener(`visibilitychange`,ee)});var te=sm(),ne=V(te),re=B(ne),O=B(re);He(2),N(re);var k=H(re,2),A=e=>{var t=$p(),n=B(t,!0);N(t),U(()=>Y(n,G(i))),J(e,t)};X(k,e=>{G(i)&&e(A)});var ie=H(k,2),ae=e=>{var t=nm();Z(t,21,()=>G(f),e=>e.id,(e,t)=>{var n=tm(),r=B(n),i=B(r),a=H(i);Di(a);var o=H(a,2),s=B(o),c=H(s),l=e=>{var n=Vr();U(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=H(c),d=e=>{J(e,Vr(`· This device`))};X(u,e=>{G(t).current&&e(d)}),N(o);var p=H(o,4),m=H(p,2),h=e=>{var n=em();U(()=>Q(n,`id`,`final-${G(t).id}`)),J(e,n)};X(m,e=>{G(f).length===1&&e(h)}),N(r),N(n),U(e=>{Q(i,`for`,`nickname-${G(t).id}`),Q(a,`id`,`nickname-${G(t).id}`),Oi(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()]),Nr(`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)},oe=e=>{J(e,rm())};X(ie,e=>{G(f).length?e(ae):e(oe,-1)});var se=H(ie,2),ce=H(B(se),2),le=e=>{var t=im();K(`click`,t,()=>void x()),J(e,t)},ue=e=>{var t=om(),r=V(t),i=B(r,!0);N(r);var c=H(r,2),l=e=>{var t=am();U(()=>Q(t,`src`,G(s))),J(e,t)};X(c,e=>{G(s)&&e(l)});var u=H(c,3);xn(u);var d=H(u,2),f=B(d),p=H(f),h=H(p),g=H(h);N(d),U(()=>{Y(i,G(o)===`pending`?`Enrollment link is active for ${G(m)}.`:`Enrollment link is ${G(o)}.`),Oi(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(ce,e=>{G(a)?e(ue,-1):e(le)}),N(se),N(ne);var de=H(ne,2),fe=H(B(de),4),pe=H(B(fe));N(fe),N(de),Li(de,e=>R(c,e),()=>G(c)),K(`click`,O,function(...e){t.onclose?.apply(this,e)}),K(`click`,pe,()=>void E()),J(e,te),$e()}Pr([`click`]);async function lm(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 um(e){return{list:()=>lm(e(`/api/auth/devices`,{credentials:`same-origin`})),rename:(t,n)=>lm(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`PATCH`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({nickname:n})})),revoke:t=>lm(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`DELETE`,credentials:`same-origin`})),createTicket:()=>lm(e(`/api/auth/enrollment-tickets`,{method:`POST`,credentials:`same-origin`})),ticketStatus:()=>lm(e(`/api/auth/enrollment-tickets/current`,{credentials:`same-origin`})),cancelTicket:()=>lm(e(`/api/auth/enrollment-tickets/current`,{method:`DELETE`,credentials:`same-origin`}))}}var dm=`gestalt-mobile.scratchpad`;function fm(){try{return window.localStorage}catch{return null}}function pm(e){try{return e?.getItem(`gestalt-mobile.scratchpad`)??``}catch{return``}}function mm(e,t){try{return e?(e.setItem(dm,t),!0):!1}catch{return!1}}function hm(e){try{return e?(e.removeItem(dm),!0):!1}catch{return!1}}var gm=q(`<p class="feedback svelte-eu5bnq" role="status"> </p>`),_m=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>`),vm=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>`),ym=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 bm(e,t){Qe(t,!0);let n=$(t,`storage`,19,fm),r=$(t,`clipboard`,19,()=>globalThis.navigator?.clipboard),i=L(null),a=L(null),o=L(null),s=L(``),c=L(!1),l=L(``);Ri(async()=>{R(s,pm(n()),!0),await Cr(),G(i)?.showModal(),G(a)?.focus()});function u(e){R(s,e,!0),R(l,mm(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){R(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 Cr();let i=t+e.length;G(a)?.focus(),G(a)?.setSelectionRange(i,i)}catch{R(l,`Clipboard paste was not permitted. Long-press the text field and choose Paste.`),G(a)?.focus()}}async function f(){R(c,!0),R(l,``),await Cr(),G(o)?.focus()}function p(){R(c,!1),G(a)?.focus()}function m(){if(!hm(n())){R(l,`This browser could not clear its saved scratchpad.`);return}R(s,``),R(c,!1),R(l,``),G(a)?.focus()}var h=ym(),g=B(h),_=B(g),v=H(B(_),2);N(_);var y=H(_,4);xn(y),Li(y,e=>R(a,e),()=>G(a));var b=H(y,2),x=e=>{var t=gm(),n=B(t,!0);N(t),U(()=>Y(n,G(l))),J(e,t)};X(b,e=>{G(l)&&e(x)});var S=H(b,2),C=e=>{var t=_m(),n=H(B(t),4),r=B(n);Li(r,e=>R(o,e),()=>G(o));var i=H(r,2);N(n),N(t),K(`click`,r,p),K(`click`,i,m),J(e,t)},w=e=>{var t=vm(),n=B(t),r=H(n,2),o=H(r,2),c=H(o,2);N(t),U(()=>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),Li(h,e=>R(i,e),()=>G(i)),U(()=>Oi(y,G(s))),Nr(`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()}Pr([`click`,`input`]);var xm=q(`<button class="disclosure svelte-am0nvt" type="button"> </button>`),Sm=q(`<span class="disclosure svelte-am0nvt"></span>`),Cm=q(`<span class="unsupported svelte-am0nvt">Files cannot be destinations</span>`),wm=q(`<span class="unsupported svelte-am0nvt">Unsupported link</span>`),Tm=q(`<span role="status">Loading…</span>`),Em=q(`<button type="button" class="svelte-am0nvt"> </button>`),Dm=q(`<div role="group"><!> <!> <!> <!></div>`),Om=q(`<div role="treeitem"><div class="tree-row svelte-am0nvt" role="presentation"><!> <span class="tree-label svelte-am0nvt"> </span><!></div> <!></div>`),km=q(`<p role="status">Loading files…</p>`),Am=q(`<button type="button" class="svelte-am0nvt">Retry loading files</button>`),jm=q(`<button type="button" class="svelte-am0nvt">Load more in root</button>`),Mm=q(`<div class="file-tree svelte-am0nvt" role="tree" aria-label="Files"><!> <!> <!> <!></div>`);function Nm(e,t){Qe(t,!0);let n=$(t,`destinationMode`,3,!1),r=$(t,`ondestinationselect`,3,()=>{}),i=$(t,`onselectionchange`,3,()=>{}),a=z({}),o=L(``),s=F(()=>t.revision<0?{entries:[],loading:!1,error:!1}:t.controller.state(``)),c=F(()=>{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){R(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=Mm();{let e=(r,i=b,s=b)=>{var l=Hr();Z(V(l),17,()=>t.controller.state(i()).entries,e=>e.path,(r,i)=>{let l=F(()=>G(i).kind===`directory`),p=F(()=>G(c).find(e=>e.entry.path===G(i).path)),m=F(()=>G(c).findIndex(e=>e.entry.path===G(i).path));var h=Om();let g;var _=B(h);let v;var y=B(_),b=e=>{var n=xm(),r=B(n,!0);N(n),U((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,Sm())};X(y,e=>{G(l)?e(b):e(x,-1)});var S=H(y,2),C=B(S,!0);N(S);var w=H(S),T=e=>{J(e,Cm())},E=e=>{var t=wm();U(()=>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=H(_,2),ee=n=>{let r=F(()=>t.controller.state(G(i).path));var a=Dm(),o=B(a),c=e=>{J(e,Tm())};X(o,e=>{G(r).loading&&e(c)});var l=H(o,2),u=e=>{var n=Em(),r=B(n);N(n),U(()=>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=H(l,2);e(d,()=>G(i).path,()=>s()+1);var f=H(d,2),p=e=>{var n=Em(),r=B(n);N(n),U(()=>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),U(()=>Q(a,`aria-label`,`Contents of ${G(i).name}`)),J(n,a)},te=F(()=>G(l)&&t.controller.expanded.has(G(i).path));X(D,e=>{G(te)&&e(ee)}),N(h),Li(h,(e,t)=>a[t.path]=e,e=>a?.[e.path],()=>[G(i)]),U(e=>{g=gi(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=vi(_,``,v,{"--level":s()}),Y(C,G(i).name)},[()=>G(l)?t.controller.expanded.has(G(i).path):void 0]),Nr(`focus`,h,()=>R(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=B(p),h=e=>{J(e,km())};X(m,e=>{G(s).loading&&e(h)});var g=H(m,2),_=e=>{var n=Am();K(`click`,n,()=>void t.controller.load(``)),J(e,n)};X(g,e=>{G(s).error&&e(_)});var v=H(g,2);e(v,()=>``,()=>1);var y=H(v,2),x=e=>{var n=jm();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()}Pr([`keydown`,`click`]);var Pm=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?Fm(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 Fm(e,t){let n=new Set(e.map(e=>e.path));return[...e,...t.filter(e=>!n.has(e.path))]}var Im=25*1024*1024;function Lm(e){return[...e].map(e=>({file:e,status:e.size>26214400?`too-large`:`queued`}))}function Rm(e){return e.findIndex(e=>e.status===`queued`)}var zm={phase:`idle`};function Bm(e,t){return{phase:`picking`,kind:e,source:t}}function Vm(e,t){return e.phase===`picking`?{...e,destination:t}:e}function Hm(e){return e.phase!==`picking`||e.destination===void 0?e:{...e,phase:`submitting`}}function Um(e,t){return e.phase===`submitting`?{...e,phase:`conflict`,replaceAllowed:t}:e}function Wm(e){return e.phase===`submitting`?{...e,phase:`failed`}:e}function Gm(e,t){return e.phase!==`picking`||!e.source||e.kind===`move`&&Km(e.source)===t?!1:!(t===e.source||t.startsWith(`${e.source}/`))}function Km(e){let t=e.lastIndexOf(`/`);return t<0?``:e.slice(0,t)}var qm=q(`<li> </li>`),Jm=q(`<button type="button" class="svelte-qx7639">Replace</button>`),Ym=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>`),Xm=q(`<button type="button" class="svelte-qx7639">Cancel uploads</button>`),Zm=q(`<section class="picker svelte-qx7639" aria-label="Upload queue" aria-live="polite"><p class="svelte-qx7639"> </p> <ul></ul> <!></section>`),Qm=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>`),$m=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>`),eh=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>`),th=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>`),nh=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>`),rh=q(`<section aria-label="File browser error"><p class="svelte-qx7639">Files could not be read. Try again.</p></section>`),ih=q(`<p role="status" class="svelte-qx7639">This folder is empty.</p>`),ah=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 oh(e,t){Qe(t,!0);let n=$(t,`onsuccess`,3,()=>{}),r=$(t,`onmutation`,3,()=>{}),i=L(null),a=L(null),o=L(0),s=L(null),c=L(z(zm)),l=L(null),u=L(``),d=L(!1),f=L(!1),p=L(null),m=L(null),h=L(z([])),g=L(!1),_=L(null),v=L(null),y=F(()=>G(o)<0?{entries:[],loading:!1,error:!1}:G(s)?.state(``)??{entries:[],loading:!0,error:!1}),b=F(()=>{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=F(()=>`Files in ${t.root.relativePath===`.`?`~/`:`~/${t.root.relativePath}`}`);Ri(async()=>{R(s,new Pm(t.root.id,t.listDirectory,()=>{R(o,G(o)+1)},t.onerror),!0),await Cr(),G(i)?.showModal(),G(a)?.focus(),await G(s).load()}),zi(()=>G(s)?.close());function S(){G(c).phase===`submitting`||G(f)||(G(_)?.abort(),G(s)?.close(),G(i)?.close())}let C=F(()=>G(b)?.kind===`directory`||!G(u)?G(u):``),w=F(()=>G(C)||``);async function T(e=`reject`){if(!(G(g)||!G(s))){R(g,!0);try{for(;;){let n=G(v)?.index??Rm(G(h));if(R(v,null),n<0)break;let i=G(h)[n];if(!i||i.status===`too-large`)continue;R(h,G(h).map((e,t)=>t===n?{...e,status:`uploading`}:e),!0);let a=new AbortController;R(_,a,!0);try{let o=await t.uploadFile(t.root.id,{directory:G(w),filename:i.file.name,conflict:e,file:i.file},Ba(),a.signal);R(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)),R(u,G(w),!0),r()(),e=`reject`}catch(e){let r=e;if(r.status===409){R(h,G(h).map((e,t)=>t===n?{...e,status:`queued`}:e),!0),R(v,{index:n,replaceAllowed:r.replaceAllowed===!0},!0);break}R(h,G(h).map((e,t)=>t===n?{...e,status:a.signal.aborted?`cancelled`:`failed`}:e),!0),t.onerror(e)}finally{R(_,null)}}}finally{R(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||(R(h,Lm(e),!0),T())}function D(){G(_)?.abort(),R(h,G(h).map(e=>e.status===`queued`||e.status===`uploading`?{...e,status:`cancelled`}:e),!0),R(v,null)}function ee(e){if(G(c).phase===`submitting`||G(f)){e.preventDefault();return}e.preventDefault(),S()}async function te(){if(!(!G(u)||G(f))){R(f,!0);try{let e=G(u).includes(`/`)?G(u).slice(0,G(u).lastIndexOf(`/`)):``;await t.deleteEntry(t.root.id,G(u),Ba()),await G(s)?.refresh(e),G(s)?.select(e),R(u,e,!0),n()(`Deleted item.`),r()(),R(d,!1)}catch(e){t.onerror(e)}finally{R(f,!1)}}}async function ne(){R(d,!0),await Cr(),G(p)?.focus()}function re(e){G(u)&&R(c,Bm(e,G(u)),!0)}function O(e){Gm(G(c),e)&&R(c,Vm(G(c),e),!0)}async function k(e=`reject`){if(!G(s)||G(c).phase!==`picking`&&G(c).phase!==`conflict`)return;let i=G(c).phase===`picking`?Hm(G(c)):{...G(c),phase:`submitting`};if(!(!i.source||i.destination===void 0||!i.kind)){R(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},Ba()),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()(),R(c,zm,!0)}catch(e){let n=e;n.status===409?(R(c,Um(i,n.replaceAllowed===!0),!0),await Cr(),G(l)?.focus()):(R(c,Wm(i),!0),t.onerror(e))}}}var A=ah(),ie=B(A),ae=B(ie),oe=B(ae),se=B(oe),ce=B(se,!0);N(se),Li(se,e=>R(a,e),()=>G(a));var le=H(se,2),ue=B(le,!0);N(le),N(oe);var de=H(oe,2);N(ae);var fe=H(ae,2),pe=B(fe);N(fe);var me=H(fe,2),he=B(me);Li(he,e=>R(m,e),()=>G(m));var ge=H(he,2),_e=B(ge);N(ge);var ve=H(ge,2);N(me);var ye=H(me,2),be=e=>{var t=Zm(),n=B(t),r=B(n);N(n);var i=H(n,2);Z(i,21,()=>G(h),e=>e.file,(e,t)=>{var n=qm(),r=B(n);N(n),U(()=>Y(r,`${G(t).file.name??``}: ${G(t).path??G(t).status??``}${G(t).status===`too-large`?` (maximum ${Im/1024/1024} MiB)`:``}`)),J(e,n)}),N(i);var a=H(i,2),o=e=>{var t=Ym(),n=B(t),r=e=>{var t=Jm();K(`click`,t,()=>void T(`replace`)),J(e,t)};X(n,e=>{G(v).replaceAllowed&&e(r)});var i=H(n,2),a=H(i,2);N(t),K(`click`,i,()=>void T(`keep-both`)),K(`click`,a,D),J(e,t)},s=e=>{var t=Xm();K(`click`,t,D),J(e,t)};X(a,e=>{G(v)?e(o):G(g)&&e(s,1)}),N(t),U((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(ye,e=>{G(h).length&&e(be)});var xe=H(ye,2),Se=e=>{var t=Qm(),n=B(t),r=H(n,2),i=H(r,2);N(t),K(`click`,n,()=>re(`copy`)),K(`click`,r,()=>re(`move`)),K(`click`,i,()=>void ne()),J(e,t)};X(xe,e=>{G(s)&&G(c).phase===`idle`&&G(b)&&G(b).kind!==`symlink`&&e(Se)});var Ce=H(xe,2),we=e=>{var t=$m(),n=B(t),r=B(n,!0);N(n);var i=H(n,2),a=B(i,!0);N(i);var o=H(i,2),s=B(o);Li(s,e=>R(p,e),()=>G(p));var c=H(s,2),l=B(c,!0);N(c),N(o),N(t),U(()=>{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,()=>R(d,!1)),K(`click`,c,()=>void te()),J(e,t)};X(Ce,e=>{G(d)&&G(b)&&e(we)});var Te=H(Ce,2),Ee=e=>{var t=eh(),n=B(t),r=B(n),i=B(r);N(r);var a=H(r);N(n);var o=H(n,2),s=B(o);N(o);var l=H(o,2),u=B(l),d=H(u,2),f=B(d);N(d);var p=H(d,2);N(l),N(t),U(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??``}`)},[()=>!Gm(G(c),``)]),K(`click`,u,()=>O(``)),K(`click`,d,()=>void k()),K(`click`,p,()=>R(c,zm,!0)),J(e,t)},De=e=>{var t=th(),n=H(B(t),2),r=B(n,!0);N(n);var i=H(n,2),a=B(i),o=e=>{var t=Jm();K(`click`,t,()=>void k(`replace`)),J(e,t)};X(a,e=>{G(c).replaceAllowed&&e(o)});var s=H(a,2),u=H(s,2);N(i),N(t),Li(t,e=>R(l,e),()=>G(l)),U(()=>Y(r,G(c).destination)),K(`click`,s,()=>void k(`keep-both`)),K(`click`,u,()=>R(c,zm,!0)),J(e,t)},Oe=e=>{var t=nh(),n=H(B(t),2),r=B(n),i=H(r);N(n),N(t),K(`click`,r,()=>R(c,{...G(c),phase:`picking`},!0)),K(`click`,i,()=>R(c,zm,!0)),J(e,t)};X(Te,e=>{G(c).phase===`picking`?e(Ee):G(c).phase===`conflict`?e(De,1):G(c).phase===`failed`&&e(Oe,2)});var ke=H(Te,2),Ae=e=>{J(e,rh())},je=e=>{J(e,ih())};X(ke,e=>{G(s)&&!G(y).loading&&G(y).error?e(Ae):G(s)&&!G(y).loading&&G(y).entries.length===0&&e(je,1)});var Me=H(ke,2),Ne=e=>{var t=Hr();Yr(V(t),()=>G(o),e=>{{let t=F(()=>G(c).phase===`picking`);Nm(e,{get controller(){return G(s)},get revision(){return G(o)},get destinationMode(){return G(t)},ondestinationselect:O,onselectionchange:e=>R(u,e,!0)})}}),J(e,t)};X(Me,e=>{G(s)&&e(Ne)}),N(ie),N(A),Li(A,e=>R(i,e),()=>G(i)),U(()=>{Y(ce,G(x)),Y(ue,G(c).phase===`picking`?`Choose destination folder.`:`Browse folders and select a position.`),pe.disabled=G(y).loading,Y(_e,`Upload destination: ${(G(b)?.kind===`file`?`Select a folder first`:G(u)||`root folder`)??``}`),ve.disabled=G(b)?.kind===`file`||G(g)}),Nr(`close`,A,function(...e){t.onclose?.apply(this,e)}),Nr(`cancel`,A,ee),K(`click`,de,S),K(`click`,pe,()=>void G(s)?.refresh()),K(`change`,he,e=>E(e.currentTarget.files)),K(`click`,ve,()=>G(m)?.click()),J(e,A),$e()}Pr([`click`,`change`]);var sh=q(`<main class="evidence-mode svelte-1d2e8zz"><!></main>`),ch=q(`<span class="detached-chat-model svelte-1d2e8zz"> </span>`),lh=q(`<header class="detached-chat-header svelte-1d2e8zz"><div class="detached-chat-context svelte-1d2e8zz"><span class="svelte-1d2e8zz">Chat</span> <strong class="svelte-1d2e8zz"> </strong></div> <!></header>`),uh=q(`<!> <!> <div class="chat-controls svelte-1d2e8zz" aria-label="Chat controls"><!> <!></div> <div class="chat-tail svelte-1d2e8zz" aria-hidden="true"></div>`,1),dh=q(`<p> </p>`),fh=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>`),ph=q(`<p>Loading skill profiles…</p>`),mh=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>`),hh=q(`<!> <!> <!>`,1),gh=q(`<main class="swipe-surface svelte-1d2e8zz"><!> <!> <!> <!></main> <!>`,1);function _h(e,t){Qe(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=Gc(location.search),i=L(null),a=L(z(r?`chat`:`sessions`)),o=L(!1),s=L(!1),c=L(!1),l=L(null),u=L(null),d=!1,f=L(`Loading relay…`),p=L(z(Er(()=>t.theme))),m=L(z([])),h=`gpt-5.6-terra`,g=L({codex:[h],kimi:[]}),_=L([]),v=L(`codex`),y=L({codex:h,kimi:``}),b=L(null),x=L(null),S=F(()=>G(b)?.kimi.available??!1),C=F(()=>G(S)?G(v):`codex`),w=L([]),T=L(null),E=L(`list`),D=L([]),ee=L(``),te=L(``),ne=L(``),re=L(z(new Set)),O=L(null),k=L(z([])),A=L(new Map),ie=L({snapshots:new Map,attention:new Map,pending:new Set,errors:new Map}),ae=L(new Map),oe=0,se=null,ce=F(()=>G(k).some(e=>e.id===G(O))),le=L(z([])),ue=L(`workspace-write`),de=L(`on-request`),fe=L(z({starting:!1,error:null})),pe=F(()=>G(fe).starting),me=L(null),he=0,ge=L(null),_e=L(null),ve=L(``),ye=0,be=new Map,xe=L(z({kind:`unavailable`,sessionId:null})),Se=L({kind:`no-workspace`}),Ce=L(null),we=L(null),Te=L(!1),Ee=null,De=null,Oe=0,ke=0,Ae=L(null),je=F(()=>(G(k).find(e=>e.id===G(O))?.workspaceId??G(ne))||null),Me=F(()=>G(k).find(e=>e.id===G(O))?.workspacePath??null),Ne=F(()=>G(k).find(e=>e.id===G(O))??null),Pe=F(()=>xf(G(Ne)?.workspacePath??``)),Fe=F(()=>G(Ne)?`${G(Ne).provider===`kimi`?`Kimi · `:``}${G(Ne).model??h}`:h);function Ie(e){return`kind`in e&&e.kind===`org-source`}function Le(e){return r?e.filter(e=>e.id===G(O)):e}let Re=F(()=>G(Ce)&&Ie(G(Ce))?G(Ce):G(Ce)?{kind:`ready`,sessionId:`catalog`,plan:G(Ce)}:G(Te)?null:G(xe).kind===`ready`||G(xe).kind===`closing`||G(xe).kind===`error`&&G(xe).plan?G(xe):null),j=F(()=>$u(G(xe).kind===`ready`||G(xe).kind===`closing`||G(xe).kind===`error`?G(xe).plan:void 0)),ze=L(z({workspaceId:null,summary:null,loading:!1,refreshing:!1,checkingOut:!1,error:null})),M=F(()=>G(ze).workspaceId),Be=L(z(new Set)),Ve=L(!1),He=L(!1),Ue=L(null),We=L(null),Ge=L(null),Ke=z({}),qe=L({}),Je=L(null),Ye=``,Xe=new Ll({requestFrame:e=>requestAnimationFrame(e),cancelFrame:e=>cancelAnimationFrame(e),reducedMotion:()=>window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,scrollTail:e=>G(Je)?.scrollIntoView({block:`end`,behavior:e})}),Ze=new Rl(e=>void Cr().then(e),e=>{G(a)===`chat`&&Xe.request(e)}),et=F(()=>{let e=G(i)?.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.`:``:``}),P=Uu((e,n)=>t.authorizedFetch(e,n)),tt=new Xa(P,e=>R(ie,e)),nt=new za({relay:P,publish:e=>R(A,new Map(e)),onEvent:(e,t)=>tt.observe(e,t),onAuthoritativeSnapshot:(e,t)=>tt.applyAuthoritative(e,t)}),rt=new Fl({relay:P,cache:Uc(),publish:e=>R(i,e,!0),onSessionEvent:e=>Nn(e),onRelayEvent:e=>{G(O)&&nt.observe(G(O),e)},onHistoryError:e=>{R(f,kn(e,`SESSION_HISTORY_READ_FAILED`),!0)},onSendError:(e,t)=>{let n=Vl(e,`MESSAGE_SEND_FAILED`);if(n.code===`SESSION_WORKSPACE_UNAVAILABLE`){R(ge,null),R(_e,null),lt.enqueue({kind:`warning`,...n});return}R(ge,n.message,!0),R(_e,n.retryable?t:null,!0),R(f,kn(e,`MESSAGE_SEND_FAILED`),!0)},onSendAccepted:(e,t)=>{G(_e)===t&&(R(ge,null),R(_e,null));let n=be.get(t);n&&n.sessionId===e&&Bt(n)},onHistoryPromptAccepted:(e,t)=>{let n=be.get(t);n&&n.sessionId===e&&Bt(n)}}),it=new Qf({start:P.startSession},Ba,e=>R(fe,e,!0)),at=new Iu({getSummary:P.getGitSummary,pull:P.pullGit,checkout:P.checkoutGitBranch},e=>!!uu(G(m),e)?.isGitRepository,e=>R(ze,e,!0),(e,t)=>kn(e,t)),ot=um((e,n)=>t.authorizedFetch(e,n)),st=Qu({getPlan:P.getPlan,closePlan:P.closePlan},e=>{R(xe,e,!0),(e.kind===`ready`||e.kind===`closing`)&&R(k,G(k).map(t=>t.id===e.sessionId?{...t,plan:e.plan}:t),!0)}),ct=gf(),lt=Ql({historyStorage:Xl()}),ut=new URLSearchParams(location.search).get(`tree-evidence`),dt=new URLSearchParams(location.search).get(`toast-evidence`),ft=new URLSearchParams(location.search).get(`activity-evidence`),pt=ao(window.sessionStorage),mt=new Set;jn(()=>{for(let[e,t]of G(ie).attention){let n=`${e}:${t.requestId}`;pt.claim(n)&&lt.enqueue({kind:`error`,code:`AUTOPILOT_ATTENTION_${t.requestId}`,message:`Autopilot needs your attention.`})}}),jn(()=>{let e=new Set;for(let[t,n]of G(ie).errors){let r=`${t}:${n}`;e.add(r),!mt.has(r)&&(mt.add(r),lt.enqueue({kind:`error`,message:n}))}for(let t of mt)e.has(t)||mt.delete(t)});function ht(){R(c,!0)}function gt(){R(c,!1),Cr().then(()=>document.querySelector(`.menu-trigger`)?.focus())}function _t(){R(s,!1),Cr().then(()=>document.querySelector(`.menu-trigger`)?.focus())}async function vt(){try{await P.updateRestart(),lt.enqueue({kind:`info`,message:`Update started. Gestalt Mobile will disconnect briefly, then reconnect.`})}catch(e){throw kn(e,`UPDATE_RESTART_FAILED`),e}}Ri(async()=>{if(!(ut===`sessions`||ut===`git`||dt===`error`||dt===`stacked`))try{let e=await Mc(t.authorizedFetch);R(ne,du(G(ne)||null,G(m),e.workspaces,au.sessionBase)??``,!0),R(m,e.workspaces,!0),R(w,e.profiles),R(g,{codex:[...new Set([h,...e.models?.codex??[]])],kimi:e.models?.kimi??[]}),R(y,{...G(y),kimi:G(y).kimi||(e.models?.kimi?.[0]??``)}),R(b,e.capabilities?.providers??null),R(_,e.versions??[]),r||await on(),R(re,ou(G(m)),!0),R(Be,ou(G(m)),!0);let n=r?null:await ct.readSelectedSession();if(R(O,r?e.sessions.find(e=>e.id===r)?.id??null:e.sessions.some(e=>e.id===n)?n:e.sessions[0]?.id??null,!0),G(O)){let e=await ct.readDraftEnvelope(G(O));R(ve,e.text,!0),ye=e.revision,Vt(G(O),e.pending)}R(k,e.sessions,!0);let i=Le(e.sessions.filter(e=>[`ready`,`turnActive`].includes(e.state)));nt.bootstrap(i,G(O)),tt.bootstrap(i),r||kt(),st.select(G(O)),G(O)?rt.select(G(O)):r&&R(f,`This session is no longer open in Gestalt Mobile.`)}catch(e){R(f,kn(e,`RELAY_UNAVAILABLE`),!0)}}),jn(()=>{if(!G(Je))return;let e=new IntersectionObserver(([e])=>Xe.observeTail(e?.isIntersecting??!1),{root:null});return e.observe(G(Je)),()=>e.disconnect()}),jn(()=>{let e=G(i),t=G(a),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===Ye||(Ye=n,t===`chat`&&yt(`content`))});function yt(e){Ze.schedule(e)}function bt(){Ze.invalidate(),Xe.reset(),R(a,`chat`),fn(`chat`),yt(`initial`),pn()}function xt(e){R(p,$i(e),!0)}function St(){if(!G(O))return;let e=window.open(Kc(location.href,G(O)),qc(G(O)),`popup,width=760,height=900`);if(!e){lt.enqueue({kind:`error`,message:`The Chat window was blocked. Allow pop-ups for this site and try again.`});return}try{e.opener=null}catch{}e.focus()}zi(()=>{Ze.invalidate(),Xe.cancel(),rt.dispose(),nt.dispose(),tt.dispose(),st.dispose(),at.dispose(),it.dispose(),G(T)?.dispose()});async function Ct(e){R(v,e,!0);let t=G(g)[e];if(!G(y)[e]&&t[0]&&R(y,{...G(y),[e]:t[0]}),!(t.length>0)){R(x,e,!0);try{let t=await P.listSessionModels(e);R(g,{...G(g),[e]:t.models}),!G(y)[e]&&t.models[0]&&R(y,{...G(y),[e]:t.models[0]})}catch(e){kn(e,`SESSION_MODELS_READ_FAILED`)}finally{G(x)===e&&R(x,null)}}}async function wt(){if(!G(ne)||G(pe))return;let e=G(S)?G(v):`codex`,t=Zf({workspaceId:G(ne),profile:`default`,profileState:`ok`});if(t.profile){R(f,t.profile,!0);return}R(f,`Starting session…`);let n=await it.start(G(ne),{provider:e,sandbox:G(ue),approvalPolicy:G(de),model:G(y)[e]||void 0,skillProfile:G(ee)||void 0});if(!n){G(fe).error&&R(f,kn(Error(G(fe).error),`SESSION_START_FAILED`),!0);return}try{R(O,n.id,!0);for(let e of n.effectiveSkillSelection?.warnings??[])lt.enqueue({kind:`warning`,code:`SKILL_PROFILE_MISSING_SKILL`,message:e});st.select(n.id),ct.saveSelectedSession(n.id),await Tt();let e=await ct.readDraftEnvelope(n.id);R(ve,e.text,!0),ye=e.revision,Vt(n.id,e.pending),rt.select(n.id,{history:`empty`}),nt.select(n.id),bt(),R(f,`Session started.`)}catch(e){R(f,kn(e,`SESSION_START_FAILED`),!0)}}async function Tt(){let e=++oe;se?.abort();let t=new AbortController;se=t;try{let n=await P.listSessions(t.signal);if(e!==oe||t.signal.aborted)return;R(k,n.map(e=>G(ae).has(e.id)?{...e,plan:G(ae).get(e.id)}:e),!0);let r=Le(G(k).filter(e=>[`ready`,`turnActive`].includes(e.state)));nt.bootstrap(r,G(O)),tt.bootstrap(r)}catch(e){if(t.signal.aborted||Mn(e))return;throw e}finally{se===t&&(se=null)}}async function Et(e,t){await tt.toggle(e,t),e===G(O)&&Tt().catch(()=>{})}async function Dt(e){await Et(e,!0),await Cr(),e===G(O)&&document.getElementById(`chat-autopilot-${e}-button`)?.focus({preventScroll:!0})}async function Ot(e,t,n){await tt.resolve(e,t,n),e===G(O)&&Tt().catch(()=>{})}async function kt(){try{R(le,await P.listRecentSessions(),!0)}catch{R(le,[],!0)}}async function At(){try{await Promise.all([Tt(),kt()])}catch(e){R(f,kn(e,`SESSION_REFRESH_FAILED`),!0)}}async function I(e){R(f,`Opening session…`),R(me,e,!0);let t=++he;try{R(O,e,!0),R(ge,null),R(_e,null),st.select(e),ct.saveSelectedSession(e),rt.select(e),nt.select(e),bt();let n=await ct.readDraftEnvelope(e);t===he&&G(O)===e&&(R(ve,n.text,!0),ye=n.revision,Vt(e,n.pending))}catch(e){R(f,kn(e,`SESSION_HISTORY_READ_FAILED`),!0)}finally{t===he&&R(me,null)}}async function jt(e){R(f,`Opening recent session…`);try{let t=await P.openRecentSession(e.id,e.cwd,e.provider??`codex`);G(k).some(e=>e.id===t.id)||R(k,[...G(k),t],!0),At(),await I(t.id)}catch(e){R(f,kn(e,`SESSION_HISTORY_READ_FAILED`),!0)}}async function Mt(e){R(f,`Closing session…`);try{await P.releaseSession(e),G(O)===e&&(R(O,null),R(a,`sessions`),ct.saveSelectedSession(null),rt.select(null),nt.select(null),st.select(null)),await At(),R(f,`Session closed.`)}catch(e){R(f,`Could not close session: ${On(e)}`)}}async function Nt(e){let t=G(k).find(t=>t.id===e);try{await P.forgetSession(e),G(O)===e&&(rt.select(null),nt.select(null),R(O,null),ct.saveSelectedSession(null),st.select(null)),await At(),R(le,bf(G(le),t),!0)}catch(e){R(f,`Could not forget session: ${On(e)}`)}}async function Pt(e){R(f,await Rs(e)?`Resume command copied.`:`Could not copy the resume command.`,!0)}async function Ft(e){if(!(!G(O)||G(i)?.activeTurnId))try{let t=await P.selectModel(G(O),e);R(k,G(k).map(e=>e.id===t.id?{...e,...t}:e),!0),R(ve,``),R(f,`Model changed to ${e}; it applies to the next turn.`)}catch(e){R(f,`Could not change model: ${On(e)}`)}}async function It(e){if(!G(O)||!G(ve).trim()||!rt.canSubmit(e)||[...be.values()].some(e=>e.sessionId===G(O)&&e.revision===ye))return;let t=Ba(),n={sessionId:G(O),revision:ye,text:G(ve),operationId:t,kind:e};be.set(t,n),ct.addPendingDraftOperation(G(O),n),e===`send`?rt.send(n.text,t):e===`queue`?rt.queue(n.text,t):rt.interruptAndSend(n.text,t)}let Lt=()=>It(`send`),Rt=()=>It(`queue`),zt=()=>It(`interrupt-send`);async function Bt(e){let t=await ct.consumeAcceptedDraft(e.sessionId,e.revision,e.operationId);t&&be.delete(e.operationId),t&&e.sessionId===G(O)&&e.revision===ye?(G(_e)===e.operationId&&(R(_e,null),R(ge,null)),R(ve,``),ye=t.revision,yt(`explicit`)):e.sessionId===G(O)&&e.revision===ye&&(R(ge,null),R(_e,e.operationId,!0),lt.enqueue({kind:`warning`,code:`PROMPT_LOCAL_RECOVERY_${e.operationId}`,message:`The accepted prompt could not be saved locally. Keep this text until recovery completes. Retry is available.`}))}function Vt(e,t){for(let n of t??[])be.set(n.operationId,{sessionId:e,...n});e===G(O)&&(t?.length??0)>0&&(R(ge,null),R(_e,t[0].operationId,!0),lt.enqueue({kind:`warning`,code:`PROMPT_RECOVERY_${G(_e)}`,message:`A submitted prompt is being recovered. It will not be sent again automatically. Retry is available.`}))}async function Ht(){if(!G(_e))return;R(ge,null);let e=be.get(G(_e));if(!e){await rt.retryPrompt(G(_e));return}e.kind===`send`?await rt.send(e.text,e.operationId):e.kind===`queue`?await rt.queue(e.text,e.operationId):await rt.interruptAndSend(e.text,e.operationId)}async function Ut(){await rt.interrupt()}function Wt(){G(a)===`chat`&&G(O)&&rt.refresh()}function Gt(e){if(r||e===`chat`&&!G(ce))return;let t=G(a)!==e;G(a)===`chat`&&e!==`chat`&&(Ze.invalidate(),Xe.cancel()),R(a,e,!0),fn(e),e===`chat`&&(Wt(),Xe.reset(),yt(`initial`),t&&pn()),e===`git`&&G(M)&&at.refresh(),e===`plan`&&(G(O)&&st.refresh(G(O)),t||rn()),e===`sessions`&&(G(E)===`profile-manager`&&dn(!1),At(),G(O)&&st.refresh(G(O)))}jn(()=>{let e=G(je);G(a)===`plan`&&$t(e)});let Kt=!1;function qt(){document.visibilityState!==`visible`||Kt||(Kt=!0,queueMicrotask(()=>{Kt=!1,document.visibilityState===`visible`&&(G(a)===`git`&&G(M)&&at.refresh(),G(a)===`plan`&&rn(),G(a)===`sessions`&&(At(),G(O)&&st.refresh(G(O))))}))}let Jt=null;function Yt(e){return e instanceof Element&&e.closest(`button, input, textarea, select, a, summary, [contenteditable]`)!==null}function Xt(e){e.pointerType!==`touch`||Yt(e.target)||(Jt={pointerId:e.pointerId,x:e.clientX,y:e.clientY})}function Zt(e){if(!Jt||e.pointerId!==Jt.pointerId)return;let t=Jt;Jt=null;let n=e.clientX-t.x,r=e.clientY-t.y;Math.abs(n)<48||Math.abs(n)<=Math.abs(r)||Gt(ep(G(a),n<0?1:-1,{chatEnabled:G(ce)}))}function Qt(e){Jt?.pointerId===e.pointerId&&(Jt=null)}function $t(e=G(je)){if(Ee?.abort(),De?.abort(),R(Ce,null),R(we,null),!e){R(Se,{kind:`no-workspace`});return}let t=new AbortController;Ee=t;let n=++Oe;R(Se,{kind:`loading`,workspaceId:e}),P.listWorkspacePlans(e,t.signal).then(r=>{n!==Oe||t.signal.aborted||R(Se,{kind:`ready`,workspaceId:e,entries:r})}).catch(r=>{n!==Oe||t.signal.aborted||(G(Re)||lt.enqueue({kind:`error`,code:`WORKSPACE_PLANS_READ_FAILED`,message:`Workspace Org files could not be listed. Try opening the Plan tab again.`}),R(Se,{kind:`error`,workspaceId:e,error:r instanceof Error?r.message:`Could not load workspace plans.`}))})}function en(e){let t=G(je);if(!t)return;De?.abort();let n=new AbortController;De=n;let r=++ke;(G(O)?P.openSessionPlan(G(O),e):P.getWorkspacePlan(t,e,n.signal)).then(t=>{r!==ke||n.signal.aborted||(R(Ce,t),R(we,e,!0),R(Te,!1))}).catch(()=>{r!==ke||n.signal.aborted||lt.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 tn(e){let t=G(je),n=G(Me),r=n?Is(e,n):null;if(!t||!r){lt.enqueue({kind:`error`,code:`ORG_LINK_OUTSIDE_WORKSPACE`,message:`This Org file is not inside the selected workspace and cannot be opened.`});return}Gt(`plan`),Cr().then(()=>{G(je)!==t||G(Me)!==n||en(r)})}function nn(){R(Ce,null),R(we,null),R(Te,!0),$t()}function rn(){G(O)&&st.refresh(G(O)),G(we)?en(G(we)):$t()}async function an(e,t){let n=new bp(P);await n.load(e,t),R(T,n,!0)}async function on(){try{let e=await P.listSkillProfiles();R(D,e.profiles.filter(e=>!(`error`in e)));let t=e.profiles.find(e=>`error`in e);R(te,t&&`error`in t?t.error.message:``,!0),G(D).some(e=>e.name===G(ee))||R(ee,``)}catch(e){R(D,[]),R(te,e instanceof Error?e.message:`Unable to load saved skill profiles.`,!0)}}async function sn(e){let t=G(ne)||G(m)[0]?.id||``,n=G(w).find(e=>e.state===`ok`)?.name??``;if(!t||!n){R(f,`Choose a workspace and available Codex profile before managing skill profiles.`);return}await an(t,n),R(E,`profile-manager`)}function un(e){queueMicrotask(()=>e.focus())}async function dn(e=!0){R(E,`list`),await Cr(),e&&document.getElementById(`manage-skill-profiles`)?.focus()}function fn(e){requestAnimationFrame(()=>{G(a)===e&&e!==`chat`&&window.scrollTo({top:0})})}function pn(){Cr().then(()=>{G(a)===`chat`&&document.getElementById(`message`)?.focus({preventScroll:!0})})}function mn(e){at.select(e.id),R(Ve,!1)}function hn(e){let t=G(M)?uu(G(m),G(M)):null;t&&(R(l,t,!0),R(u,e,!0))}async function gn(){R(l,null),await Cr(),G(u)?.focus({preventScroll:!0})}function _n(){d||(d=!0,queueMicrotask(()=>{d=!1,G(M)&&at.refresh()}))}async function vn(){let e=G(M);!e||!uu(G(m),e)?.isGitRepository||(R(We,G(We)??Ba(),!0),await at.pull(G(We)),G(ze).error||R(We,null))}async function yn(e){if(G(He))return;let n=G(M)?uu(G(m),G(M)):void 0;if(!n||n.isGitRepository){R(Ue,null),lt.enqueue({kind:`error`,code:`INVALID_CLONE_DESTINATION`,message:`Select a non-repository folder before cloning.`});return}let r=n.id;R(He,!0),R(Ue,null);try{await P.cloneGitRepository(r,e);let n=await Mc(t.authorizedFetch),i=Lu(G(m),n.workspaces,r,e,G(Be));R(ne,du(G(ne)||null,G(m),n.workspaces,au.sessionBase)??``,!0),R(m,n.workspaces,!0),at.select(i.selectedId),R(Be,i.expandedIds,!0),R(Ue,`Repository cloned into the selected workspace.`),lt.enqueue({kind:`success`,message:`Repository cloned.`})}catch(e){kn(e,`GIT_CLONE_FAILED`)}finally{R(He,!1)}}async function bn(e){G(M)&&await at.checkout(e)}async function xn(){let e=G(M);if(e){R(Ge,G(Ge)??Ba(),!0);try{await P.pushGit(e,G(Ge)),R(Ve,!1),await at.refresh(),R(Ge,null)}catch(e){kn(e,`GIT_PUSH_FAILED`)}}}async function Sn(e,t){yt(`explicit`),await rt.respond(e,{decision:t})}async function Cn(e){yt(`explicit`);let t=e.kind===`quiz`?es(e.payload):ts(e.payload);if(!t)return;let n=t.questions.map(t=>({id:t.id,answer:Ke[`${e.requestId}:${t.id}`]??``})),r=t.questions.map((e,t)=>({id:e.id,header:e.header,question:e.question,answer:n[t]?.answer??``}));R(qe,{...G(qe),[e.requestId]:r});let a=e.kind===`quiz`?ns(n):Vu(n);try{let t=`quiz-answer:${e.requestId}`,n=G(i)?.prompts.find(e=>e.operationId===t);if(!n||n.state===`failed`){let e=Hu(r);G(i)?.activeTurnId?await rt.queue(e,t):await rt.send(e,t)}let o=rt.view.prompts.find(e=>e.operationId===t);if(e.kind===`quiz`&&(!o||o.state===`failed`))return;await rt.respond(e.requestId,a)}catch{R(f,`Could not send quiz answers. Please try again.`)}}async function wn(e){let t=Bu(e.payload);if(!t){R(f,`Codex sent an invalid permission request.`);return}yt(`explicit`),await rt.respond(e.requestId,t)}function Tn(e){e.kind===`quiz`||e.kind===`userInput`?Cn(e):e.kind===`permissionsApproval`?wn(e):rt.retryInteraction(e.requestId)}function En(e,t,n){Ke[`${e}:${t}`]=n}function Dn(e){R(ve,e,!0),ye+=1;let t=G(O);t&&ct.replaceDraftText(t,e,ye)}function On(e){return e instanceof Error?e.message:`Unknown relay error.`}function kn(e,t){let n=Vl(e,t);return lt.enqueue({kind:`error`,...n}),n.message}function An(e){lt.enqueue(e?{kind:`success`,message:`Code copied.`}:{kind:`error`,message:`Code could not be copied. Select it and copy it manually.`})}function Mn(e){return(e instanceof DOMException||e instanceof Error)&&e.name===`AbortError`}function Nn(e){let t=G(O);if(!t||e.type===`agent.activity.updated`)return;if(e.type===`session.status.updated`){let n=e.payload;zl(n)&&R(k,G(k).map(e=>e.id===t?{...e,sessionStatus:n}:e),!0);return}if(e.type===`session.updated`&&typeof e.payload==`object`&&e.payload!==null){let n=e.payload;n.id===t&&R(k,G(k).map(e=>e.id===t?{...e,...n}:e),!0);return}if(e.type!==`plan.updated`&&e.type!==`plan.closed`)return;if(st.applyEvent(t,e),e.type===`plan.closed`){R(ae,new Map(G(ae)).set(t,void 0)),R(k,G(k).map(e=>e.id===t?{...e,plan:void 0}:e),!0);return}let n=Ku(e.payload)?e.payload.plan:qu(e.payload)?e.payload:null;n&&R(ae,new Map(G(ae)).set(t,n)),n&&R(k,G(k).map(e=>e.id===t?{...e,plan:n}:e),!0)}var Pn=Hr();oi(`1d2e8zz`,e=>{Ln(()=>{ln.title=r&&G(Pe)?`Chat · ${G(Pe)} · Gestalt Mobile`:`Gestalt Mobile`})}),Nr(`focus`,cn,qt),Nr(`visibilitychange`,ln,qt);var Fn=V(Pn),In=e=>{La(e,{})},Rn=e=>{iu(e,{get variant(){return dt}})},zn=e=>{var t=sh();bu(B(t),{get context(){return ut}}),N(t),J(e,t)},Bn=e=>{var u=gh(),d=V(u),v=B(d),b=e=>{{let n=F(()=>G(a)===`chat`?xf(G(k).find(e=>e.id===G(O))?.workspacePath??``):null),r=F(()=>G(a)===`chat`?G(Fe):null),i=F(()=>G(a)===`chat`&&G(O)?St:void 0);la(e,{get theme(){return G(p)},get sessionPath(){return G(n)},get sessionModel(){return G(r)},get weeklyQuotaRemaining(){return G(j)},get componentVersions(){return G(_)},get passkeyAuthEnabled(){return t.passkeyAuthEnabled},get onlock(){return t.onlock},ondevices:()=>R(o,!0),onnotifications:()=>R(s,!0),onscratchpad:ht,onupdaterestart:vt,onthemechange:xt,get ondetach(){return G(i)}})}};X(v,e=>{!G(o)&&!G(s)&&!r&&e(b)});var w=H(v,2),ae=e=>{var t=lh(),n=B(t),i=H(B(n),2),a=B(i,!0);N(i),N(n);var o=H(n,2),s=e=>{var t=ch(),n=B(t);N(t),U(()=>Y(n,`${G(Ne).provider===`kimi`?`Kimi · `:``}${G(Ne).model??``}`)),J(e,t)};X(o,e=>{G(Ne)?.model&&e(s)}),N(t),U(()=>{Q(i,`title`,G(Pe)||r),Y(a,G(Pe)||r)}),J(e,t)};X(w,e=>{r&&e(ae)});var oe=H(w,2);nu(oe,{get queue(){return lt}});var se=H(oe,2),fe=e=>{cm(e,{get client(){return ot},onclose:()=>{R(o,!1),Cr().then(()=>document.querySelector(`.menu-trigger`)?.focus())},get onlock(){return t.onlock},oncreatepasskey:e=>n()(e)})},he=e=>{ql(e,{get queue(){return lt},onclose:_t})},ye=e=>{var t=hh(),n=V(t),o=e=>{var t=fh(),n=H(B(t),2);{let e=F(()=>G(O)?G(ie).attention.get(G(O))??null:null),t=F(()=>`chat-attention-${G(O)??`none`}`),r=F(()=>G(O)?G(ie).pending.has(G(O)):!1);no(n,{get attention(){return G(e)},get controlId(){return G(t)},get pending(){return G(r)},onresolve:(e,t)=>G(O)&&Ot(G(O),e,t)})}var a=H(n,2);{let e=F(()=>G(O)?G(ie).snapshots.get(G(O))??null:null),t=F(()=>G(O)?G(ie).attention.get(G(O))??null:null),n=F(()=>`chat-autopilot-safety-${G(O)??`none`}`),r=F(()=>G(O)?G(ie).pending.has(G(O)):!1);io(a,{get autopilot(){return G(e)},get attention(){return G(t)},get controlId(){return G(n)},get pending(){return G(r)},onrecover:()=>G(O)&&void Dt(G(O)),ondisable:()=>G(O)&&Et(G(O),!1)})}var o=H(a,2),s=B(o,!0);N(o);var c=H(o,2),l=e=>{var t=uh(),n=V(t);{let e=F(()=>G(i)?[...G(i).messages]:[]),t=F(()=>G(i)?[...G(i).activities]:[]),r=F(()=>G(i)?.activeTurnId??null),a=F(()=>G(i)?.autopilotAuditTruncated??!1),o=F(()=>G(i)?[...G(i).interactions]:[]);Oc(n,{get messages(){return G(e)},get activities(){return G(t)},get activeTurnId(){return G(r)},get autopilotAuditTruncated(){return G(a)},get interactions(){return G(o)},get answers(){return Ke},get submittedAnswers(){return G(qe)},onanswer:En,onquiz:e=>void Cn(e),onpermission:e=>void wn(e),ondecision:(e,t)=>void Sn(e,t),onretry:Tn,onopenorg:tn,oncopyresult:An})}var r=H(n,2);{let e=F(()=>G(i)?.status??G(f)),t=F(()=>G(i)?.activeTurnId??null),n=F(()=>G(i)?.starting??!1),a=F(()=>!!(G(k).find(e=>e.id===G(O))&&![`ready`,`turnActive`].includes(G(k).find(e=>e.id===G(O))?.state??``))),o=F(()=>G(_e)!==null),s=F(()=>G(g)[G(k).find(e=>e.id===G(O))?.provider??`codex`]),c=F(()=>G(k).find(e=>e.id===G(O))?.provider??`codex`);Oo(r,{get status(){return G(e)},get message(){return G(ve)},get activeTurnId(){return G(t)},get starting(){return G(n)},get detached(){return G(a)},get retryMessage(){return G(ge)},get retryable(){return G(o)},get models(){return G(s)},get provider(){return G(c)},onchange:Dn,onscrollbottom:()=>yt(`explicit`),onmodelselect:e=>void Ft(e),onsend:()=>void Lt(),onqueue:()=>void Rt(),oninterruptsend:()=>void zt(),onretry:()=>void Ht(),oninterrupt:()=>void Ut()})}var a=H(r,2),o=B(a),s=e=>{{let t=F(()=>G(ie).snapshots.get(G(O))??null),n=F(()=>`chat-autopilot-${G(O)}`),r=F(()=>G(ie).pending.has(G(O)));eo(e,{compact:!0,get autopilot(){return G(t)},get controlId(){return G(n)},get pending(){return G(r)},ontoggle:e=>G(O)&&Et(G(O),e)})}};X(o,e=>{G(Ne)?.provider!==`kimi`&&e(s)});var c=H(o,2);{let e=F(()=>G(A).get(G(O))??null),t=F(()=>G(k).find(e=>e.id===G(O))?.model??h),n=F(()=>G(k).find(e=>e.id===G(O))?.plan);Fa(c,{compact:!0,get activity(){return G(e)},get rootModel(){return G(t)},get plan(){return G(n)},onopen:()=>G(O)&&void nt.resync(G(O))})}N(a),Li(H(a,2),e=>R(Je,e),()=>G(Je)),J(e,t)},u=e=>{var t=dh(),n=B(t,!0);N(t),U(()=>Y(n,r?G(f):G(S)?`Start a session from the Sessions tab to chat with Codex or Kimi.`:`Start a session from the Sessions tab to chat with Codex.`)),J(e,t)};X(c,e=>{G(O)?e(l):e(u,-1)}),N(t),U(()=>Y(s,G(et))),J(e,t)},s=e=>{lf(e,{get catalog(){return G(Se)},get state(){return G(Re)},onopen:en,onclose:nn})},c=e=>{{let t=F(()=>G(M)?uu(G(m),G(M))??null:null);Fu(e,{get workspaceTree(){return G(m)},get selectedWorkspace(){return G(t)},get expandedIds(){return G(Be)},get summary(){return G(ze).summary},get refreshing(){return G(ze).refreshing},get checkingOut(){return G(ze).checkingOut},get cloning(){return G(He)},get error(){return G(ze).error},get cloneStatus(){return G(Ue)},get confirmingPush(){return G(Ve)},onpull:()=>void vn(),oncheckout:e=>void bn(e),onopenpushconfirmation:()=>R(Ve,!0),onpush:()=>void xn(),oncancelpush:()=>R(Ve,!1),onselect:mn,onexpandedchange:e=>R(Be,e,!0),onbrowsefiles:hn,onclone:e=>void yn(e)})}},u=e=>{var t=Hr(),n=V(t),r=e=>{var t=mh(),n=B(t),r=B(n);si(r,()=>un);var i=H(r,2);N(n);var a=H(n,2),o=e=>{yp(e,{get skillsState(){return G(T)},onrefresh:()=>G(T)?.refresh()??Promise.resolve(),onprofileschange:()=>void on(),heading:`Skill profile editor`})},s=e=>{J(e,ph())};X(a,e=>{G(T)?e(o):e(s,-1)}),N(t),K(`click`,i,()=>void dn()),J(e,t)},i=e=>{{let t=F(()=>G(x)===G(C));Xf(e,{get sessions(){return G(k)},get recentSessions(){return G(le)},get selectedSessionId(){return G(O)},get activitySnapshots(){return G(A)},get autopilotSnapshots(){return G(ie).snapshots},get autopilotPending(){return G(ie).pending},get autopilotAttention(){return G(ie).attention},get workspaceTree(){return G(m)},get workspaceId(){return G(ne)},get expandedIds(){return G(re)},get sandbox(){return G(ue)},get approvalPolicy(){return G(de)},get models(){return G(g)[G(C)]},get selectedModel(){return G(y)[G(C)]},get provider(){return G(C)},get kimiAvailable(){return G(S)},get modelsLoading(){return G(t)},get skillProfiles(){return G(D)},get selectedSkillProfile(){return G(ee)},get skillProfileError(){return G(te)},get startingSession(){return G(pe)},get openingSessionId(){return G(me)},onworkspacechange:e=>R(ne,e,!0),onexpandedchange:e=>R(re,e,!0),onsandboxchange:e=>R(ue,e,!0),onapprovalpolicychange:e=>R(de,e,!0),onmodelchange:e=>R(y,{...G(y),[G(C)]:e}),onproviderchange:e=>void Ct(e),onskillprofilechange:e=>R(ee,e,!0),onmanageprofiles:e=>void sn(e),onopen:I,onselectopen:I,onclose:e=>void Mt(e),onautopilottoggle:Et,onactivityopen:e=>void nt.resync(e),onautopilotresolve:Ot,onopenrecent:e=>void jt(e),onforget:e=>void Nt(e),oncopyresume:e=>void Pt(e),onstart:()=>void wt()})}};X(n,e=>{G(E)===`profile-manager`?e(r):e(i,-1)}),J(e,t)};X(n,e=>{G(a)===`chat`?e(o):G(a)===`plan`?e(s,1):G(a)===`git`?e(c,2):e(u,-1)});var d=H(n,2),p=e=>{oh(e,{get root(){return G(l)},get listDirectory(){return P.listWorkspaceDirectory},get copyEntry(){return P.copyWorkspaceEntry},get moveEntry(){return P.moveWorkspaceEntry},get deleteEntry(){return P.deleteWorkspaceEntry},get uploadFile(){return P.uploadWorkspaceFile},onclose:()=>void gn(),onerror:e=>kn(e,`WORKSPACE_FILES_READ_FAILED`),onsuccess:e=>lt.enqueue({kind:`success`,message:e}),onmutation:_n})};X(d,e=>{G(l)&&e(p)});var _=H(d,2),v=e=>{np(e,{get activeTab(){return G(a)},get chatEnabled(){return G(ce)},get focusTab(){return G(Ae)},onselect:Gt})};X(_,e=>{r||e(v)}),J(e,t)};X(se,e=>{G(o)&&t.passkeyAuthEnabled?e(fe):G(s)?e(he,1):e(ye,-1)}),N(d);var be=H(d,2),xe=e=>{bm(e,{onclose:gt})};X(be,e=>{G(c)&&e(xe)}),K(`pointerdown`,d,Xt),K(`pointerup`,d,Zt),Nr(`pointercancel`,d,Qt),J(e,u)};X(Fn,e=>{ft===`true`?e(In):dt===`error`||dt===`stacked`?e(Rn,1):ut===`sessions`||ut===`git`?e(zn,2):e(Bn,-1)}),J(e,Pn),$e()}Pr([`pointerdown`,`pointerup`,`click`]);function vh(){throw Error(`AUTH_RESPONSE_INVALID`)}async function yh(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 bh(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 xh(e){return!!e&&typeof e==`object`&&!!e.options&&typeof e.options.challenge==`string`}function Sh(e){return!!e&&typeof e==`object`&&e.status===`authenticated`}function Ch(e=fetch){async function t(){let t=await yh(await e(`/api/auth/status`,{credentials:`same-origin`}));return bh(t)||vh(),t}async function n(t,n={}){let r=await yh(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return xh(r)||vh(),r}async function r(t,n){let r=await yh(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return Sh(r)||vh(),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 wh(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 Th(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 Eh(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 Dh(){return Oh.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential==`function`)}var Oh={stubThis:e=>e};function kh(e){let{id:t}=e;return{...e,id:Eh(t),transports:e.transports}}function Ah(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 jh=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 Mh({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 jh({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 jh({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 jh({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 jh({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 jh({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new jh({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 jh({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new jh({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(!Ah(t))return new jh({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new jh({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 jh({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 jh({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 Nh=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}}},Ph=[`cross-platform`,`platform`];function Fh(e){if(e&&!(Ph.indexOf(e)<0))return e}async function Ih(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(!Dh())throw Error(`WebAuthn is not supported in this browser`);let r={...t,challenge:Eh(t.challenge),user:{...t.user,id:Eh(t.user.id)},excludeCredentials:t.excludeCredentials?.map(kh)},i={};n&&(i.mediation=`conditional`),i.publicKey=r,i.signal=Nh.createNewAbortSignal();let a;try{a=await navigator.credentials.create(i)}catch(e){throw Mh({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){Lh(`getPublicKeyAlgorithm()`,e)}let f;if(typeof c.getPublicKey==`function`)try{let e=c.getPublicKey();e!==null&&(f=Th(e))}catch(e){Lh(`getPublicKey()`,e)}let p;if(typeof c.getAuthenticatorData==`function`)try{p=Th(c.getAuthenticatorData())}catch(e){Lh(`getAuthenticatorData()`,e)}return{id:o,rawId:Th(s),response:{attestationObject:Th(c.attestationObject),clientDataJSON:Th(c.clientDataJSON),transports:u,publicKeyAlgorithm:d,publicKey:f,authenticatorData:p},type:l,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:Fh(a.authenticatorAttachment)}}function Lh(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 Rh(){if(!Dh())return zh.stubThis(new Promise(e=>e(!1)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?zh.stubThis(new Promise(e=>e(!1))):zh.stubThis(e.isConditionalMediationAvailable())}var zh={stubThis:e=>e};function Bh({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 jh({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new jh({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!Ah(t))return new jh({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new jh({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 jh({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 Vh(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(!Dh())throw Error(`WebAuthn is not supported in this browser`);let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(kh));let a={...t,challenge:Eh(t.challenge),allowCredentials:i},o={};if(n){if(!await Rh())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=Nh.createNewAbortSignal();let s;try{s=await navigator.credentials.get(o)}catch(e){throw Bh({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=Th(u.userHandle)),{id:c,rawId:Th(l),response:{authenticatorData:Th(u.authenticatorData),clientDataJSON:Th(u.clientDataJSON),signature:Th(u.signature),userHandle:f},type:d,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:Fh(s.authenticatorAttachment)}}function Hh(e){return typeof e==`object`&&e?e:{}}function Uh(e){let t=Hh(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 Uh(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 Wh(){return typeof window<`u`&&window.isSecureContext&&window.PublicKeyCredential!==void 0}function Gh(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(!Wh()){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 Kh=q(`<p class="warning svelte-1c5qcm6">This one-time link authorizes one new passkey. Choose a nickname and complete the passkey
35
+ prompt before it expires.</p>`),qh=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
36
36
  first-device access. Enroll this device before exposing the instance, and confirm you are at the
37
- canonical address before continuing.</p>`),Kh=q(`<p class="error svelte-1c5qcm6">Passkeys require a secure browser on this device.</p>`),qh=q(`<p class="feedback svelte-1c5qcm6"> </p>`),Jh=q(`<img alt="QR code for the first-device setup link" class="svelte-1c5qcm6"/>`),Yh=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
38
- authorize that device.</p> <a class="svelte-1c5qcm6"> </a> <button type="button" class="copy svelte-1c5qcm6">Copy setup link</button></div></div>`),Xh=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 Zh(e,t){Qe(t,!0);let n=L(``),r=L(null),i=L(!1),a=L(null),o=!0,s=!0,c=F(()=>Jp(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{}}Ri(()=>{t.enrollmentTicket||Yp(t.canonicalOrigin).then(e=>{s&&R(a,e,!0)}).catch(()=>{s&&R(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))}),zi(()=>{s=!1,o=!1,d()});async function m(){if(!navigator.clipboard?.writeText){R(r,`Copy is unavailable here. Select and copy the visible setup link.`);return}try{await navigator.clipboard.writeText(G(c)),R(r,`Setup link copied.`)}catch{R(r,`Copy is unavailable here. Select and copy the visible setup link.`)}}async function h(){let e=G(n).trim();if(!e){R(r,`Enter a device nickname before authorizing it.`);return}if(!u()){R(r,`Passkeys require a secure browser on this device.`);return}if(!(G(i)||!o)){R(i,!0),R(r,null);try{let{options:n}=await t.client.registrationOptions(t.enrollmentTicket);if(!s||!o)return;let r=await Ph({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}R(r,Vh(e),!0)}finally{R(i,!1)}}}var g=Xh(),_=B(g),v=H(B(_),2),y=B(v,!0);N(v);var b=H(v,2),x=e=>{J(e,Wh())},S=e=>{J(e,Gh())};X(b,e=>{t.enrollmentTicket?e(x):e(S,-1)});var C=H(b,4);Di(C);var w=H(C,2),T=B(w,!0);N(w);var E=H(w,2),D=e=>{J(e,Kh())},ee=F(()=>!u());X(E,e=>{G(ee)&&e(D)});var te=H(E,2),ne=e=>{var t=qh(),n=B(t,!0);N(t),U(()=>Y(n,G(r))),J(e,t)};X(te,e=>{G(r)&&e(ne)});var re=H(te,2),O=e=>{var t=Yh(),n=B(t),r=e=>{var t=Jh();U(()=>Q(t,`src`,G(a))),J(e,t)};X(n,e=>{G(a)&&e(r)});var i=H(n,2),o=H(B(i),4),s=B(o,!0);N(o);var l=H(o,2);N(i),N(t),U(()=>{Q(o,`href`,G(c)),Y(s,G(c))}),K(`click`,l,()=>void m()),J(e,t)};X(re,e=>{t.enrollmentTicket||e(O)}),N(_),N(g),U(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()]),Ni(C,()=>G(n),e=>R(n,e)),K(`click`,w,()=>void h()),J(e,g),$e()}Pr([`click`]);var Qh=q(`<p class="error svelte-1byekj9">Passkeys require this relay to be opened over a secure connection.</p>`),$h=q(`<p class="error svelte-1byekj9">This browser does not support passkeys. Use an authorized browser or device.</p>`),eg=q(`<p class="svelte-1byekj9"> </p> <button class="sign-in svelte-1byekj9" type="button"> </button>`,1),tg=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 ng(e,t){Qe(t,!0);let n=L(``),r=L(!1),i=L(void 0);function a(){return window.isSecureContext&&window.PublicKeyCredential!==void 0}function o(e){return e instanceof Error&&[`NotAllowedError`,`AbortError`,`SecurityError`].includes(e.name)?Vh(e):`We could not complete sign-in. Please try again.`}Ri(()=>{R(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())){R(r,!0),R(n,``);try{let{options:e}=await t.client.loginOptions(),n=await zh({optionsJSON:e});await t.client.verifyLogin(n),t.onAuthenticated()}catch(e){R(n,o(e),!0)}finally{R(r,!1)}}}var c=tg(),l=B(c),u=H(B(l),4),d=e=>{J(e,Qh())},f=e=>{J(e,$h())},p=e=>{var t=eg(),a=V(t),o=B(a,!0);N(a);var c=H(a,2),l=B(c,!0);N(c),Li(c,e=>R(i,e),()=>G(i)),U(()=>{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()}Pr([`click`]);var rg=q(`<p>Checking this device…</p>`),ig=q(`<h1 class="svelte-y74n0s">Passkey support is required</h1> <p> </p>`,1),ag=q(`<h1 class="svelte-y74n0s">Unable to check this device</h1> <p> </p> <button type="button" class="svelte-y74n0s">Try again</button>`,1),og=q(`<main class="auth-gate svelte-y74n0s" aria-live="polite"><!></main>`);function sg(e,t){Qe(t,!0);let n=$(t,`initialTheme`,3,`dyne-org`),r=L(void 0),i=F(()=>G(r)??t.enrollmentTicket),a=L(z({kind:`checking`})),o=!1,s=xh(),c=Uh(s,e=>R(a,e,!0)),l=Sh(()=>c.locked(`Your session ended. Sign in with your passkey to continue.`));Ri(()=>{c.check(G(i))});function u(e){R(r,e,!0),R(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=Hr(),p=V(f),m=e=>{hh(e,{get authorizedFetch(){return l},get theme(){return n()},get passkeyAuthEnabled(){return G(a).passkeyAuthEnabled},onlock:()=>void d(),oncreatepasskey:u})},h=e=>{Zh(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=>{ng(e,{get client(){return s},get message(){return G(a).message},onAuthenticated:()=>c.authenticated()})},_=e=>{var t=og(),n=B(t),r=e=>{J(e,rg())},i=e=>{var t=ig(),n=H(V(t),2),r=B(n,!0);N(n),U(()=>Y(r,G(a).message)),J(e,t)},o=e=>{var t=ag(),n=H(V(t),2),r=B(n,!0);N(n);var i=H(n,2);U(()=>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()}Pr([`click`]);function cg(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 lg(e,t,n,r=Ur,i={}){return r(sg,{target:e,props:{enrollmentTicket:cg(t,n),initialTheme:Qi(i)}})}function ug(){return{readyState:document.readyState,addLoadListener:e=>window.addEventListener(`load`,e,{once:!0}),serviceWorker:navigator.serviceWorker}}function dg(e=ug()){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 fg=document.getElementById(`app`);if(!fg)throw Error(`Missing application mount target`);lg(fg,window.location,window.history),dg();
37
+ canonical address before continuing.</p>`),Jh=q(`<p class="error svelte-1c5qcm6">Passkeys require a secure browser on this device.</p>`),Yh=q(`<p class="feedback svelte-1c5qcm6"> </p>`),Xh=q(`<img alt="QR code for the first-device setup link" class="svelte-1c5qcm6"/>`),Zh=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
38
+ authorize that device.</p> <a class="svelte-1c5qcm6"> </a> <button type="button" class="copy svelte-1c5qcm6">Copy setup link</button></div></div>`),Qh=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 $h(e,t){Qe(t,!0);let n=L(``),r=L(null),i=L(!1),a=L(null),o=!0,s=!0,c=F(()=>Xp(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{}}Ri(()=>{t.enrollmentTicket||Zp(t.canonicalOrigin).then(e=>{s&&R(a,e,!0)}).catch(()=>{s&&R(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))}),zi(()=>{s=!1,o=!1,d()});async function m(){if(!navigator.clipboard?.writeText){R(r,`Copy is unavailable here. Select and copy the visible setup link.`);return}try{await navigator.clipboard.writeText(G(c)),R(r,`Setup link copied.`)}catch{R(r,`Copy is unavailable here. Select and copy the visible setup link.`)}}async function h(){let e=G(n).trim();if(!e){R(r,`Enter a device nickname before authorizing it.`);return}if(!u()){R(r,`Passkeys require a secure browser on this device.`);return}if(!(G(i)||!o)){R(i,!0),R(r,null);try{let{options:n}=await t.client.registrationOptions(t.enrollmentTicket);if(!s||!o)return;let r=await Ih({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}R(r,Uh(e),!0)}finally{R(i,!1)}}}var g=Qh(),_=B(g),v=H(B(_),2),y=B(v,!0);N(v);var b=H(v,2),x=e=>{J(e,Kh())},S=e=>{J(e,qh())};X(b,e=>{t.enrollmentTicket?e(x):e(S,-1)});var C=H(b,4);Di(C);var w=H(C,2),T=B(w,!0);N(w);var E=H(w,2),D=e=>{J(e,Jh())},ee=F(()=>!u());X(E,e=>{G(ee)&&e(D)});var te=H(E,2),ne=e=>{var t=Yh(),n=B(t,!0);N(t),U(()=>Y(n,G(r))),J(e,t)};X(te,e=>{G(r)&&e(ne)});var re=H(te,2),O=e=>{var t=Zh(),n=B(t),r=e=>{var t=Xh();U(()=>Q(t,`src`,G(a))),J(e,t)};X(n,e=>{G(a)&&e(r)});var i=H(n,2),o=H(B(i),4),s=B(o,!0);N(o);var l=H(o,2);N(i),N(t),U(()=>{Q(o,`href`,G(c)),Y(s,G(c))}),K(`click`,l,()=>void m()),J(e,t)};X(re,e=>{t.enrollmentTicket||e(O)}),N(_),N(g),U(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()]),Ni(C,()=>G(n),e=>R(n,e)),K(`click`,w,()=>void h()),J(e,g),$e()}Pr([`click`]);var eg=q(`<p class="error svelte-1byekj9">Passkeys require this relay to be opened over a secure connection.</p>`),tg=q(`<p class="error svelte-1byekj9">This browser does not support passkeys. Use an authorized browser or device.</p>`),ng=q(`<p class="svelte-1byekj9"> </p> <button class="sign-in svelte-1byekj9" type="button"> </button>`,1),rg=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 ig(e,t){Qe(t,!0);let n=L(``),r=L(!1),i=L(void 0);function a(){return window.isSecureContext&&window.PublicKeyCredential!==void 0}function o(e){return e instanceof Error&&[`NotAllowedError`,`AbortError`,`SecurityError`].includes(e.name)?Uh(e):`We could not complete sign-in. Please try again.`}Ri(()=>{R(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())){R(r,!0),R(n,``);try{let{options:e}=await t.client.loginOptions(),n=await Vh({optionsJSON:e});await t.client.verifyLogin(n),t.onAuthenticated()}catch(e){R(n,o(e),!0)}finally{R(r,!1)}}}var c=rg(),l=B(c),u=H(B(l),4),d=e=>{J(e,eg())},f=e=>{J(e,tg())},p=e=>{var t=ng(),a=V(t),o=B(a,!0);N(a);var c=H(a,2),l=B(c,!0);N(c),Li(c,e=>R(i,e),()=>G(i)),U(()=>{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()}Pr([`click`]);var ag=q(`<p>Checking this device…</p>`),og=q(`<h1 class="svelte-y74n0s">Passkey support is required</h1> <p> </p>`,1),sg=q(`<h1 class="svelte-y74n0s">Unable to check this device</h1> <p> </p> <button type="button" class="svelte-y74n0s">Try again</button>`,1),cg=q(`<main class="auth-gate svelte-y74n0s" aria-live="polite"><!></main>`);function lg(e,t){Qe(t,!0);let n=$(t,`initialTheme`,3,`dyne-org`),r=L(void 0),i=F(()=>G(r)??t.enrollmentTicket),a=L(z({kind:`checking`})),o=!1,s=Ch(),c=Gh(s,e=>R(a,e,!0)),l=wh(()=>c.locked(`Your session ended. Sign in with your passkey to continue.`));Ri(()=>{c.check(G(i))});function u(e){R(r,e,!0),R(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=Hr(),p=V(f),m=e=>{_h(e,{get authorizedFetch(){return l},get theme(){return n()},get passkeyAuthEnabled(){return G(a).passkeyAuthEnabled},onlock:()=>void d(),oncreatepasskey:u})},h=e=>{$h(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=>{ig(e,{get client(){return s},get message(){return G(a).message},onAuthenticated:()=>c.authenticated()})},_=e=>{var t=cg(),n=B(t),r=e=>{J(e,ag())},i=e=>{var t=og(),n=H(V(t),2),r=B(n,!0);N(n),U(()=>Y(r,G(a).message)),J(e,t)},o=e=>{var t=sg(),n=H(V(t),2),r=B(n,!0);N(n);var i=H(n,2);U(()=>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()}Pr([`click`]);function ug(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 dg(e,t,n,r=Ur,i={}){return r(lg,{target:e,props:{enrollmentTicket:ug(t,n),initialTheme:Qi(i)}})}function fg(){return{readyState:document.readyState,addLoadListener:e=>window.addEventListener(`load`,e,{once:!0}),serviceWorker:navigator.serviceWorker}}function pg(e=fg()){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 mg=document.getElementById(`app`);if(!mg)throw Error(`Missing application mount target`);dg(mg,window.location,window.history),pg();