gestalt-mobile 0.24.0 → 0.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,17 +13,17 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
13
13
  `);return n?{id:e.id,label:`Reasoning summary`,detail:n,...t}:null}return e.kind===`plan`&&typeof e.text==`string`?{id:e.id,label:`Plan`,detail:e.text,...t}:e.kind===`command`&&typeof e.command==`string`?{id:e.id,label:`Command · ${String(e.status??`unknown`)}`,detail:e.command,...t}:e.kind===`fileChange`&&Array.isArray(e.paths)?{id:e.id,label:`File change · ${String(e.status??`unknown`)}`,detail:e.paths.join(`
14
14
  `),...t}:e.kind===`tool`&&typeof e.name==`string`?{id:e.id,label:`Tool · ${String(e.status??`unknown`)}`,detail:e.name,...t}:null}var Tc=()=>({sessionId:null,cursor:0,snapshotting:!1,lifecycle:`finished`,activeTurnId:null,messages:[],activities:[],prompts:[],interactions:[],autopilotAuditTruncated:!1,buffered:new Map}),Ec=(e=null)=>({...Tc(),sessionId:e});function Dc(e){return e.kind===`autopilot`?{id:`item:${e.id}`,role:`audit`,text:`Continued execution automatically`,...typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)?{occurredAt:e.occurredAt}:{},...typeof e.controlId==`string`?{controlId:e.controlId}:{},complete:!0}:e.kind!==`user`&&e.kind!==`agent`||typeof e.text!=`string`?null:{id:`item:${e.id}`,role:e.kind===`user`?`user`:`assistant`,text:e.text,...e.phase===`commentary`||e.phase===`final_answer`?{phase:e.phase}:{},...typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)?{occurredAt:e.occurredAt}:{},...typeof e.turnId==`string`?{turnId:e.turnId}:{},complete:!0}}function Oc(e){return{id:e.id,role:`audit`,text:e.label,occurredAt:e.occurredAt,...e.controlId?{controlId:e.controlId}:{},complete:!0}}function kc(e){let t=Ac(e.occurredAt),n=Sc(e.type,e.payload),r=e.payload&&typeof e.payload==`object`&&typeof e.payload.controlId==`string`?e.payload.controlId:void 0;return n&&t!==void 0?Oc({id:`audit:${e.sequence}`,label:n,occurredAt:t,...r?{controlId:r}:{}}):null}function Ac(e){if(typeof e!=`string`)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function jc(e){let t=Ac(e.requestedAt);return{requestId:e.requestId,key:`interaction:${e.requestId}`,kind:e.kind,turnId:e.turnId,payload:`payload`in e?e.payload:null,state:e.resolvedAt?e.outcome===`failed`?`failed`:`resolved`:`pending`,...e.resolvedAt?{attemptedOutcome:e.outcome}:{},...t===void 0?{}:{occurredAt:t}}}function Mc(e,t){return t===`approved`||t===`denied`||t===`answered`||t===`dismissed`||t===`failed`?t:e?.kind===`quiz`||e?.kind===`userInput`?`answered`:typeof t==`object`&&t&&t.decision===`decline`?`denied`:e?`approved`:void 0}function Nc(e,t){return e?t===`finished`||t===`interrupted`?t:`working`:t===`working`||t===`starting`||t===`recoverable`?`finished`:t}function Pc(e){return[...new Map(e.map(e=>[e.key??e.id??``,e])).values()]}function Fc(e,t){return e.some(e=>e.id===t.id)?e.map(e=>e.id===t.id?{...t,...t.occurredAt===void 0&&e.occurredAt!==void 0?{occurredAt:e.occurredAt}:{}}:e):[...e,t]}function Ic(e,t,n){let r=new Map(n.map(e=>[e.id,e])),i=new Map(n.map((e,t)=>[e.id,t])),a=new Set(t.filter(e=>e.state!==`canonical`).map(e=>e.operationId)),o=new Set,s=e.flatMap(e=>{let i=Dc(e);if(!i)return[];if(e.kind===`user`){let n=t.find(t=>typeof e.operationId==`string`&&e.operationId===t.operationId||typeof e.turnId==`string`&&e.turnId===t.turnId),s=!n&&t.filter(t=>t.state!==`canonical`&&t.text===e.text).length===1?t.find(t=>t.state!==`canonical`&&t.text===e.text):void 0,c=n??s;if(c){a.delete(c.operationId);let e=r.get(c.key),t={...i,id:c.key,turnId:c.turnId??i.turnId,...i.occurredAt===void 0&&e?.occurredAt!==void 0?{occurredAt:e.occurredAt}:{}};return o.add(t.id),[e&&e.text===t.text&&e.turnId===t.turnId&&e.complete===t.complete&&e.occurredAt===t.occurredAt?e:t]}}if(e.kind===`agent`&&typeof e.turnId==`string`){let t=r.get(`assistant:${e.id}`)??n.find(t=>t.role===`assistant`&&t.turnId===e.turnId&&t.text===i.text&&(t.phase===i.phase||!t.complete));if(t){o.add(t.id);let e={...i,id:t.id,turnId:i.turnId??t.turnId,...i.occurredAt===void 0&&t.occurredAt!==void 0?{occurredAt:t.occurredAt}:{}};return[t.text===e.text&&t.phase===e.phase&&t.occurredAt===e.occurredAt?t:e]}}return o.add(i.id),[i]}),c=t.filter(e=>a.has(e.operationId)).map(e=>r.get(e.key)??{id:e.key,role:`user`,text:e.text,complete:e.state===`failed`,...e.turnId?{turnId:e.turnId}:{}}),l=n.filter(e=>e.role===`assistant`&&e.id.startsWith(`assistant:`)&&!o.has(e.id)),u=Pc([...c,...l]),d=new Map(s.map((e,t)=>[e.id,t])),f=new Map;for(let e of u){let t=null;if(e.turnId){for(let n=s.length-1;n>=0;--n)if(s[n]?.turnId===e.turnId){t=n;break}}if(t===null){let r=i.get(e.id);if(r!==void 0){for(let e=r-1;e>=0;--e){let r=d.get(n[e].id);if(r!==void 0){t=r;break}}if(t===null)for(let e=r+1;e<n.length;e+=1){let r=d.get(n[e].id);if(r!==void 0){t=r-1;break}}}}let r=t??s.length-1;f.set(r,[...f.get(r)??[],e])}return Pc([...f.get(-1)??[],...s.flatMap((e,t)=>[e,...f.get(t)??[]])])}function Lc(e,t){if(!t||typeof t!=`object`)return Ec(e);let n=t;if(!Number.isInteger(n.cursor)||n.cursor<0||!Array.isArray(n.messages)||!Array.isArray(n.prompts)||!Array.isArray(n.interactions))return Ec(e);let r=[`submitting`,`accepted`,`failed`,`canonical`],i=[`pending`,`submitting`,`resolved`,`failed`],a=[`starting`,`working`,`finished`,`interrupted`,`recoverable`];return{...Ec(e),sessionId:e,cursor:n.cursor,lifecycle:a.includes(n.lifecycle)?n.lifecycle:`finished`,activeTurnId:typeof n.activeTurnId==`string`||n.activeTurnId===null?n.activeTurnId:null,snapshotting:!1,buffered:new Map,messages:n.messages.filter(e=>!!(e&&typeof e.id==`string`&&(e.role===`user`||e.role===`assistant`||e.role===`audit`)&&typeof e.text==`string`&&(e.occurredAt===void 0||typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)))).slice(-200),activities:Array.isArray(n.activities)?n.activities.filter(e=>!!(e&&typeof e.id==`string`&&typeof e.label==`string`&&typeof e.detail==`string`&&(e.turnId===void 0||typeof e.turnId==`string`))).slice(-200):[],prompts:n.prompts.filter(e=>!!(e&&typeof e.operationId==`string`&&typeof e.key==`string`&&typeof e.text==`string`&&r.includes(e.state)&&(e.occurredAt===void 0||typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)))).slice(-200),interactions:n.interactions.filter(e=>!!(e&&typeof e.requestId==`string`&&typeof e.key==`string`&&typeof e.kind==`string`&&(e.turnId===void 0||e.turnId===null||typeof e.turnId==`string`)&&i.includes(e.state)&&(e.occurredAt===void 0||typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)))).slice(-200)}}function Rc(e,t){if(!Number.isInteger(t.baseSequence)||t.baseSequence<0)return e;if(t.baseSequence<e.cursor)return Yc({...e,snapshotting:!1});let n=t.items.filter(e=>e.kind===`user`),r=e.prompts.map(t=>{let r=n.some(e=>typeof e.turnId==`string`&&e.turnId===t.turnId||typeof e.operationId==`string`&&e.operationId===t.operationId),i=n.filter(e=>e.text===t.text),a=!t.turnId&&i.length===1&&e.prompts.filter(e=>e.state!==`canonical`&&e.text===t.text).length===1;return r||a?{...t,state:`canonical`}:t}),i=t.interactions.map(jc),a=new Map(e.interactions.map(e=>[e.requestId,e])),o=Pc(i.map(e=>{let t=a.get(e.requestId);return t?.state===`resolved`?t:{...e,...e.occurredAt===void 0&&t?.occurredAt!==void 0?{occurredAt:t.occurredAt}:{}}})),s=Pc(t.items.flatMap(e=>{let t=wc(e);return t?[{...t,key:`activity:${t.id}`}]:[]}).concat((t.activities??[]).map(e=>({...e,key:`activity:${e.id}`})))).map(e=>({id:e.id,label:e.label,detail:e.detail,...e.turnId?{turnId:e.turnId}:{},...e.occurredAt===void 0?{}:{occurredAt:e.occurredAt}})).reduce(Fc,[...e.activities]),c=new Map(t.turns.map(e=>[e.id,e])),l=t.items.map(e=>{if(typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt))return e;let t=typeof e.turnId==`string`?c.get(e.turnId):void 0,n=e.kind===`agent`?t?.completedAt??t?.startedAt:t?.startedAt??t?.completedAt;return typeof n==`number`&&Number.isFinite(n)?{...e,occurredAt:n}:e}),u=(t.autopilotAudit??[]).filter(e=>typeof e?.id==`string`&&typeof e.label==`string`&&typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)),d={...e,cursor:Math.max(e.cursor,t.baseSequence),snapshotting:!1,activeTurnId:t.activeTurnId,lifecycle:Nc(t.activeTurnId,e.cursor===0&&e.lifecycle===`finished`?`working`:e.lifecycle),prompts:r,messages:Pc(Ic(l,r,e.messages).concat(u.map(Oc))).sort((e,t)=>(e.occurredAt??2**53-1)-(t.occurredAt??2**53-1)),activities:s,interactions:o,autopilotAuditTruncated:t.autopilotAuditTruncated===!0,buffered:new Map([...e.buffered].filter(([e])=>e>t.baseSequence))};return Yc({...d,messages:zc(d.messages)})}function zc(e){let t=new Set;return e.filter(e=>e.role!==`audit`||!e.controlId?!0:t.has(e.controlId)?!1:(t.add(e.controlId),!0))}function Bc(e){return{...e,snapshotting:!0}}function Vc(e,t,n,r){if(!n.trim()||e.prompts.some(e=>e.operationId===t))return e;let i={operationId:t,key:`prompt:${t}`,text:n,state:`submitting`,turnId:null,...typeof r==`number`&&Number.isFinite(r)?{occurredAt:r}:{}};return{...e,lifecycle:`starting`,prompts:[...e.prompts,i],messages:[...e.messages,{id:i.key,role:`user`,text:n,...i.occurredAt===void 0?{}:{occurredAt:i.occurredAt},complete:!1}]}}function Hc(e,t,n,r){let i=Vc(e,t,n,r);return i===e?e:{...i,lifecycle:`working`}}function Uc(e,t,n){return{...e,activeTurnId:n??e.activeTurnId,lifecycle:n?`working`:e.lifecycle,prompts:e.prompts.map(e=>e.operationId===t?{...e,state:`accepted`,turnId:n}:e),messages:e.messages.map(e=>e.id===`prompt:${t}`?{...e,complete:!0,...n?{turnId:n}:{}}:e)}}function Wc(e,t){return{...e,lifecycle:`recoverable`,prompts:e.prompts.map(e=>e.operationId===t?{...e,state:`failed`}:e),messages:e.messages.map(e=>e.id===`prompt:${t}`?{...e,complete:!0}:e)}}function Gc(e,t,n){return{...e,interactions:e.interactions.map(e=>e.requestId===t&&(e.state===`pending`||e.state===`failed`)?{...e,state:`submitting`,...n?{operationId:n}:{}}:e)}}function Kc(e,t,n){return{...e,interactions:e.interactions.map(e=>e.requestId===t&&e.state!==`resolved`?{...e,state:`failed`,attemptedOutcome:n}:e)}}function qc(e,t,n){return{...e,interactions:e.interactions.map(e=>e.requestId===t?{...e,state:`resolved`,...Mc(e,n)?{attemptedOutcome:Mc(e,n)}:{}}:e)}}function Jc(e,t){if(!Number.isInteger(t.sequence)||t.sequence<=e.cursor)return e;if(e.snapshotting||t.sequence>e.cursor+1){let n=new Map(e.buffered);return n.set(t.sequence,t),{...e,snapshotting:!0,buffered:n}}let n={...e,cursor:t.sequence},r=t.payload,i=Ac(t.occurredAt);if(t.type===`agentMessageDelta`&&typeof r?.text==`string`){let e=typeof r.turnId==`string`?r.turnId:n.activeTurnId??void 0,t=`assistant:${typeof r.itemId==`string`?r.itemId:e??`live`}`,a=n.messages.find(e=>e.id===t);n={...n,lifecycle:n.activeTurnId?`working`:n.lifecycle,messages:a?n.messages.map(e=>e.id===t?{...e,text:e.text+r.text,...r.phase===`commentary`||r.phase===`final_answer`?{phase:r.phase}:{},complete:r.phase===`final_answer`||e.complete,...e.occurredAt===void 0&&i!==void 0?{occurredAt:i}:{}}:e):[...n.messages,{id:t,role:`assistant`,...r.phase===`commentary`||r.phase===`final_answer`?{phase:r.phase}:{},text:r.text,...e?{turnId:e}:{},...i===void 0?{}:{occurredAt:i},complete:r.phase===`final_answer`}]}}else if((t.type===`agentMessageStarted`||t.type===`agentMessageCompleted`)&&typeof r.text==`string`){let e=`assistant:${typeof r.itemId==`string`?r.itemId:n.activeTurnId??`live`}`,a=n.messages.find(t=>t.id===e),o=t.type===`agentMessageCompleted`,s={id:e,role:`assistant`,text:o&&r.text?r.text:a?.text??r.text,complete:o,...r.phase===`commentary`||r.phase===`final_answer`?{phase:r.phase}:a?.phase?{phase:a.phase}:{},...typeof r.turnId==`string`?{turnId:r.turnId}:a?.turnId?{turnId:a.turnId}:n.activeTurnId?{turnId:n.activeTurnId}:{},...a?.occurredAt===void 0?i===void 0?{}:{occurredAt:i}:{occurredAt:a.occurredAt}};n={...n,lifecycle:n.activeTurnId?`working`:n.lifecycle,messages:a?n.messages.map(t=>t.id===e?s:t):[...n.messages,s]}}else if(t.type===`turnCompleted`||t.type===`turnInterrupted`)n={...n,activeTurnId:null,lifecycle:t.type===`turnCompleted`||n.lifecycle===`finished`?`finished`:`interrupted`,messages:n.messages.map(e=>e.role===`assistant`?{...e,complete:!0}:e)};else if(t.type===`interaction.requested`&&typeof r?.requestId==`string`&&typeof r.kind==`string`){let e=n.interactions.find(e=>e.requestId===r.requestId);if(!e||e.state===`resolved`){let t={requestId:r.requestId,key:`interaction:${r.requestId}`,kind:r.kind,turnId:typeof r.turnId==`string`?r.turnId:n.activeTurnId,payload:r.payload,state:`pending`,...i===void 0?{}:{occurredAt:i}};n={...n,interactions:e?n.interactions.map(e=>e.requestId===r.requestId?t:e):[...n.interactions,t]}}}else if(t.type===`interaction.resolved`&&typeof r?.requestId==`string`)n=qc(n,r.requestId,r.outcome);else if(t.type===`activity.updated`&&typeof r?.id==`string`&&typeof r.label==`string`&&typeof r.detail==`string`)n={...n,activities:Fc(n.activities,{id:r.id,label:r.label,detail:r.detail,...i===void 0?{}:{occurredAt:i},...typeof r.turnId==`string`?{turnId:r.turnId}:n.activeTurnId?{turnId:n.activeTurnId}:{}})};else if(t.type===`session.updated`&&r?.activeTurnId!==void 0){let e=typeof r.activeTurnId==`string`?r.activeTurnId:null;n={...n,activeTurnId:e,lifecycle:e?`working`:Nc(e,n.lifecycle)}}let a=kc(t);return a&&!n.messages.some(e=>e.id===a.id)&&(n={...n,messages:zc([...n.messages,a])}),n}function Yc(e){let t=new Map(e.buffered),n={...e,snapshotting:!1,buffered:t};for(;;){let e=t.get(n.cursor+1);if(!e)return{...n,buffered:t,snapshotting:t.size>0};t.delete(e.sequence),n=Jc({...n,buffered:t},e),t=new Map(n.buffered)}}function Xc(e){return e.sessionId?e.snapshotting||e.lifecycle===`recoverable`?`Connection interrupted. Reconnecting…`:e.lifecycle===`starting`?`Starting Codex turn…`:e.lifecycle===`working`?`Codex is working…`:e.lifecycle===`interrupted`?`Codex turn interrupted.`:`Ready.`:`Choose a workspace and start a session.`}var Zc={read:async()=>null,write:async()=>{}},Qc=[250,750,1500],$c=e=>!!e&&typeof e==`object`,el=e=>$c(e)&&typeof e.id==`string`&&typeof e.kind==`string`,tl=e=>$c(e)&&typeof e.id==`string`&&Array.isArray(e.items)&&e.items.every(el)&&(e.startedAt===null||typeof e.startedAt==`number`)&&(e.completedAt===null||typeof e.completedAt==`number`),nl=e=>!$c(e)||typeof e.requestId!=`string`||typeof e.kind!=`string`||!(e.turnId===null||typeof e.turnId==`string`)||!(e.requestedAt===null||typeof e.requestedAt==`string`)?!1:e.resolvedAt===null?Object.hasOwn(e,`payload`):typeof e.resolvedAt==`string`&&(e.outcome===`approved`||e.outcome===`denied`||e.outcome===`answered`||e.outcome===`dismissed`||e.outcome===`failed`)&&!Object.hasOwn(e,`payload`),rl=e=>$c(e)&&typeof e.id==`string`&&typeof e.label==`string`&&typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)&&(e.controlId===void 0||typeof e.controlId==`string`),il=e=>$c(e)&&typeof e.id==`string`&&typeof e.label==`string`&&typeof e.detail==`string`&&(e.turnId===void 0||typeof e.turnId==`string`)&&(e.occurredAt===void 0||typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)),al=e=>!$c(e)||!Number.isInteger(e.baseSequence)||e.baseSequence<0||!(e.activeTurnId===null||typeof e.activeTurnId==`string`)||!Array.isArray(e.items)||!Array.isArray(e.turns)||!Array.isArray(e.interactions)||!e.items.every(el)||!e.turns.every(tl)||!e.interactions.every(nl)||e.activities!==void 0&&(!Array.isArray(e.activities)||!e.activities.every(il))||e.autopilotAudit!==void 0&&(!Array.isArray(e.autopilotAudit)||!e.autopilotAudit.every(rl))||e.autopilotAuditTruncated!==void 0&&typeof e.autopilotAuditTruncated!=`boolean`||e.currentSequence!==void 0&&(!Number.isInteger(e.currentSequence)||e.currentSequence<0)?null:e,ol=class{#e=Ec();#t=null;#n=0;#r=-1;#i=null;#a=null;#o=null;#s=0;#c=!1;#l=!1;#u=null;#d=0;#f=!1;#p=new Set;#m=new Set;#h;constructor(e){this.#h={...e,websocket:e.websocket??(e=>new WebSocket(e)),cache:e.cache??Zc,location:e.location??location,document:e.document??document,window:e.window??window,setTimeout:e.setTimeout??((e,t)=>setTimeout(e,t)),clearTimeout:e.clearTimeout??(e=>clearTimeout(e)),createKey:e.createKey??La,now:e.now??Date.now},this.#h.document.addEventListener(`visibilitychange`,this.#g),this.#h.window.addEventListener(`focus`,this.#g)}get view(){return Object.freeze({...this.#e,status:Xc(this.#e),starting:this.#e.lifecycle===`starting`})}select(e,t={}){if(this.#f||this.#t===e)return;this.#k(),this.#t=e,this.#l=e!==null&&t.history===`empty`;let n=++this.#n;this.#e=Ec(e),this.#T(),e&&this.#_(e,n)}async send(e,t=this.#h.createKey()){let n=this.#t,r=this.#n,i=`${n}:${r}:${t}`;if(!(!n||!e.trim()||this.#e.activeTurnId||this.#p.has(i))){this.#p.add(i),this.#w(Vc(this.#e,t,e.trim(),this.#h.now()));try{let i=await this.#h.relay.startTurn(n,e.trim(),t);this.#E(n,r)&&(this.#l=!1,this.#w(Uc(this.#e,t,i.activeTurnId??null)),this.#h.onSendAccepted?.(t))}catch(e){this.#E(n,r)&&(this.#w(Wc(this.#e,t)),this.#h.onSendError?.(e,t))}finally{this.#p.delete(i)}}}async retryPrompt(e){let t=this.#e.prompts.find(t=>t.operationId===e);t?.state===`failed`&&await this.send(t.text,e)}async queue(e,t=this.#h.createKey()){let n=this.#t,r=this.#e.activeTurnId,i=this.#h.relay.queueTurnInput,a=this.#n,o=`${n}:${a}:${t}`;if(!(!n||!r||!i||!e.trim()||this.#p.has(o))){this.#p.add(o),this.#w(Hc(this.#e,t,e.trim(),this.#h.now()));try{let o=await i(n,r,e.trim(),t);this.#E(n,a)&&(this.#w(Uc(this.#e,t,o.activeTurnId)),this.#h.onSendAccepted?.(t))}catch(e){this.#E(n,a)&&(this.#w(Wc(this.#e,t)),this.#h.onSendError?.(e,t))}finally{this.#p.delete(o)}}}async interruptAndSend(e,t=this.#h.createKey()){let n=this.#t,r=this.#e.activeTurnId,i=this.#n,a=`${n}:${i}:${t}`;if(!(!n||!r||!e.trim()||this.#p.has(a))){this.#p.add(a),this.#w(Vc(this.#e,t,e.trim(),this.#h.now()));try{await this.#h.relay.interruptTurn(n,r).catch(()=>void 0);let a=await this.#D(n,i,e.trim(),t);this.#E(n,i)&&(this.#w(Uc(this.#e,t,a.activeTurnId??null)),this.#h.onSendAccepted?.(t))}catch(e){this.#E(n,i)&&(this.#w(Wc(this.#e,t)),this.#h.onSendError?.(e,t))}finally{this.#p.delete(a)}}}async interrupt(){let e=this.#t,t=this.#e.activeTurnId;if(!(!e||!t))try{await this.#h.relay.interruptTurn(e,t)}catch{}}async respond(e,t,n=this.#h.createKey()){let r=this.#t,i=this.#n,a=this.#e.interactions.find(t=>t.requestId===e),o=a?.operationId??n,s=`${r}:${i}:${o}`;if(!(!r||!a||a.state===`resolved`||a.state===`submitting`||this.#m.has(s))){this.#m.add(s),this.#w(Gc(this.#e,e,o));try{let n=await this.#h.relay.respondInteraction(r,e,t,o),a=n&&(n.outcome===`approved`||n.outcome===`denied`||n.outcome===`answered`||n.outcome===`dismissed`||n.outcome===`failed`)?n.outcome:t;this.#E(r,i)&&this.#w(qc(this.#e,e,a))}catch{this.#E(r,i)&&this.#w(Kc(this.#e,e,t))}finally{this.#m.delete(s)}}}async retryInteraction(e,t){let n=this.#e.interactions.find(t=>t.requestId===e);if(n?.state!==`failed`||!n.operationId)return;let r=t??n.attemptedOutcome,i=r===`approved`?{decision:`accept`}:r===`denied`?{decision:`decline`}:r;i!==void 0&&await this.respond(e,i,n.operationId)}refresh(){this.#t&&!this.#l&&this.#x(this.#t,this.#n)}dispose(){this.#f||(this.#f=!0,this.#k(),this.#h.document.removeEventListener(`visibilitychange`,this.#g),this.#h.window.removeEventListener(`focus`,this.#g))}#g=()=>{this.#h.document.visibilityState===`visible`&&this.refresh()};async#_(e,t){let n=this.#l;if(n||this.#x(e,t),this.#v(e,t),n)return;let r=await this.#h.cache.read(e).catch(()=>null);!this.#E(e,t)||this.#r===t||!r||(this.#e=Lc(e,r),this.#T())}#v(e,t){if(!this.#E(e,t)||this.#i)return;let n=this.#h.location.protocol===`https:`?`wss:`:`ws:`,r;try{r=this.#h.websocket(`${n}//${this.#h.location.host}/api/sessions/${encodeURIComponent(e)}/events?after=${this.#e.cursor}`)}catch{this.#e={...this.#e,lifecycle:`recoverable`},this.#T(),this.#u=this.#h.setTimeout(()=>this.#v(e,t),Math.min(1e3*2**this.#d++,1e4));return}this.#i=r,r.onopen=()=>{this.#E(e,t)&&this.#i===r&&(this.#d=0,this.#l||this.#x(e,t))},r.onmessage=n=>this.#y(e,t,String(n.data)),r.onclose=()=>{!this.#E(e,t)||this.#i!==r||(this.#i=null,this.#u=this.#h.setTimeout(()=>this.#v(e,t),Math.min(1e3*2**this.#d++,1e4)))}}#y(e,t,n){if(!this.#E(e,t))return;let r;try{r=JSON.parse(n)}catch{return}if(r.type===`relay.resyncRequired`){this.#l=!1,this.#x(e,t);return}if(r.type!==`relay.event`||!r.event||typeof r.event!=`object`)return;let i=r.event;if(!Number.isInteger(i.sequence)||typeof i.type!=`string`||!this.#b(i))return;this.#l=!1;let a=Jc(this.#e,i);this.#w(a),this.#h.onRelayEvent?.(i),(i.type===`session.updated`||i.type===`plan.updated`||i.type===`plan.closed`||i.type===`agent.activity.updated`||i.type===`autopilot.updated`||i.type===`org-plan.attention-required`||i.type===`org-plan.attention-resolved`)&&this.#h.onSessionEvent?.(i),a.snapshotting&&this.#x(e,t)}#b(e){let t=e.payload;if(!t||typeof t!=`object`)return e.type===`turnCompleted`||e.type===`turnInterrupted`||e.type===`plan.closed`;let n=t;return e.type===`agentMessageDelta`||e.type===`agentMessageStarted`||e.type===`agentMessageCompleted`?typeof n.text==`string`:e.type===`interaction.requested`?typeof n.requestId==`string`&&typeof n.kind==`string`:e.type===`interaction.resolved`?typeof n.requestId==`string`:e.type===`session.updated`?n.activeTurnId===null||typeof n.activeTurnId==`string`:e.type===`activity.updated`?typeof n.id==`string`&&typeof n.label==`string`&&typeof n.detail==`string`:e.type===`agent.activity.updated`?typeof n.sessionId==`string`&&!!n.root&&Array.isArray(n.subagents):e.type===`autopilot.updated`||e.type===`org-plan.attention-required`||e.type===`org-plan.attention-resolved`||[`autopilot.continuation-scheduled`,`autopilot.control-issued`,`autopilot.turn-started`,`autopilot.turn-failed`].includes(e.type)?!0:e.type===`plan.updated`||e.type===`plan.closed`}#x(e,t){if(this.#a?.id===e&&this.#a.generation===t)return this.#a.promise;if(!this.#E(e,t))return Promise.resolve();let n=this.#e.snapshotting&&this.#e.buffered.size>0;this.#e=Bc(this.#e),this.#T();let r=this.#h.relay.getHistory(e).then(r=>{let i=al(r);if(this.#E(e,t)){if(!i){this.#w({...this.#e,snapshotting:!1,lifecycle:`recoverable`});return}this.#s=0,this.#c=!1,this.#o&&this.#h.clearTimeout(this.#o),this.#o=null,this.#r=t,this.#w(Rc(this.#e,i)),n&&this.#C(e,t)}}).catch(n=>{if(this.#E(e,t)){this.#w({...this.#e,snapshotting:!1,lifecycle:`recoverable`});let r=Qc[this.#s++];r===void 0?this.#c||(this.#c=!0,this.#h.onHistoryError?.(n)):this.#S(e,t,r)}}).finally(()=>{this.#a?.promise===r&&(this.#a=null,this.#E(e,t)&&this.#e.snapshotting&&this.#x(e,t))});return this.#a={id:e,generation:t,promise:r},r}#S(e,t,n){this.#o&&this.#h.clearTimeout(this.#o);let r=this.#h.setTimeout(()=>{this.#o===r&&(this.#o=null,this.#E(e,t)&&this.#x(e,t))},n);this.#o=r}#C(e,t){let n=this.#i;this.#i=null,n?.close(),this.#u&&this.#h.clearTimeout(this.#u),this.#u=null,this.#v(e,t)}#w(e){this.#e=e,this.#T(),this.#t&&this.#h.cache.write(this.#t,this.#e).catch(()=>{})}#T(){this.#h.publish(this.view)}#E(e,t){return!this.#f&&this.#t===e&&this.#n===t}async#D(e,t,n,r){let i;for(let a of[0,50,150,300]){if(!this.#E(e,t))throw Error(`SESSION_CHANGED`);a&&await this.#O(a);try{return await this.#h.relay.startTurn(e,n,r)}catch(e){if(!sl(e,`SESSION_TURN_ACTIVE`))throw e;i=e}}throw i}#O(e){return new Promise(t=>this.#h.setTimeout(t,e))}#k(){this.#u&&this.#h.clearTimeout(this.#u),this.#u=null,this.#o&&this.#h.clearTimeout(this.#o),this.#o=null,this.#s=0,this.#c=!1,this.#l=!1;let e=this.#i;this.#i=null,e?.close()}};function sl(e,t){return $c(e)&&e.code===t}var cl=class{#e=!0;#t=null;#n;constructor(e){this.#n=e}get following(){return this.#e}observeTail(e){this.#e=e}reset(){this.cancel(),this.#e=!0}request(e){e!==`content`&&(this.#e=!0),!(e===`content`&&!this.#e)&&this.#t===null&&(this.#t=this.#n.requestFrame(()=>{this.#t=null,this.#n.scrollTail(e===`initial`||this.#n.reducedMotion()?`auto`:`smooth`)}))}cancel(){this.#t!==null&&this.#n.cancelFrame(this.#t),this.#t=null}},ll=class{afterCommit;request;#e=0;constructor(e,t){this.afterCommit=e,this.request=t}schedule(e){let t=this.#e;this.afterCommit(()=>{t===this.#e&&this.request(e)})}invalidate(){this.#e+=1}},ul={RELAY_UNAVAILABLE:`The relay is unavailable. Check the connection and try again.`,SESSION_HISTORY_UNAVAILABLE:`Session history is unavailable. Check the relay connection and try opening the session again.`,SESSION_HISTORY_READ_FAILED:`Session history could not be read. The conversation remains saved; try again shortly.`,SESSION_WRITER_BUSY:`This thread is active in another Codex client. Release it there, then retry sending here.`,SESSION_WORKSPACE_UNAVAILABLE:`This session workspace is unavailable. Restore access to it, then retry sending.`,SESSION_RUNTIME_DEPENDENCY_FAILED:`A required Codex runtime dependency is unavailable. Check Codex, then retry.`,CODEX_PROTOCOL_INCOMPATIBLE:`The installed Codex runtime is incompatible with this relay. Update Codex before retrying.`,SESSION_ROLLOUT_MISSING:`This stored thread is no longer available.`,SESSION_RUNTIME_UNAVAILABLE:`The Codex runtime is unavailable. Retry shortly.`,SESSION_START_FAILED:`The session could not be started. Try again.`,SESSION_REFRESH_FAILED:`Sessions could not be refreshed. Try again.`,MESSAGE_SEND_FAILED:`The message was not sent. Your draft is preserved.`,GIT_SUMMARY_FAILED:`Repository status could not be loaded. Select it again to retry.`,GIT_PULL_FAILED:`The branch could not be refreshed. Resolve any Git conflicts and try again.`,GIT_CHECKOUT_FAILED:`The branch could not be selected. Refresh Git status and try again.`,GIT_PUSH_FAILED:`The push failed. Refresh Git status and resolve remote divergence first.`,GIT_CLONE_FAILED:`Clone failed.`,WORKSPACE_FILES_READ_FAILED:`Files could not be read. Try again.`};function dl(e,t){let n=e instanceof Error?e.message:``,r=typeof e==`object`&&e&&`code`in e&&typeof e.code==`string`?e.code:``,i=Object.hasOwn(ul,r)?r:Object.hasOwn(ul,n)?n:t,a=typeof e==`object`&&e&&`retryable`in e?e.retryable===!0:!0;return{code:i,message:ul[i],retryable:a}}var fl={error:null,success:5e3,info:7e3};function pl(e={}){let t=e.now??Date.now,n=e.setTimer??setTimeout,r=e.clearTimer??clearTimeout,i=new Set,a=new Map,o=[],s=0,c=()=>o.map(e=>({...e})),l=()=>i.forEach(e=>e(c())),u=e=>{let t=a.get(e);t?.handle&&r(t.handle),t&&(t.handle=null)},d=e=>{o.some(t=>t.id===e)&&(u(e),a.delete(e),o=o.filter(t=>t.id!==e),l())},f=e=>{let r=a.get(e);!r||r.pauseReasons.size>0||(r.startedAt=t(),r.handle=n(()=>d(e),r.remaining))};return{enqueue(e){if(e.kind===`error`){let t=o.find(t=>t.kind===`error`&&(e.code?t.code===e.code:t.message===e.message));if(t)return o=o.map(e=>e.id===t.id?{...e,occurrences:e.occurrences+1}:e),l(),t.id}let n=`toast-${++s}`,r={...e,id:n,occurrences:1};o=[...o,r];let i=fl[e.kind];return i!==null&&(a.set(n,{handle:null,remaining:i,startedAt:t(),pauseReasons:new Set}),f(n)),l(),n},dismiss:d,pause(e,n){let r=a.get(e);!r||r.pauseReasons.has(n)||(r.pauseReasons.add(n),r.handle&&(r.remaining=Math.max(0,r.remaining-(t()-r.startedAt)),u(e)))},resume(e,t){let n=a.get(e);!n||!n.pauseReasons.delete(t)||n.pauseReasons.size>0||f(e)},snapshot:c,subscribe(e){return i.add(e),e(c()),()=>i.delete(e)}}}var ml=q(`<small class="svelte-1a0rutm"> </small>`),hl=q(`<section aria-atomic="true"><span class="toast-symbol svelte-1a0rutm" aria-hidden="true"> </span> <span class="toast-copy svelte-1a0rutm"><strong class="svelte-1a0rutm"> </strong> <span> </span> <!></span> <button type="button" class="svelte-1a0rutm"><span aria-hidden="true">×</span></button></section>`),gl=q(`<div class="toast-viewport svelte-1a0rutm" aria-label="Notifications"></div>`);function _l(e,t){Ze(t,!0);let n=L([]),r=F(()=>G(n).slice(-3));Ri(()=>t.queue.subscribe(e=>R(n,e)));var i=gl();Z(i,21,()=>G(r),e=>e.id,(e,n)=>{var r=hl();let i;var a=z(r),o=z(a,!0);M(a);var s=V(a,2),c=z(s),l=z(c,!0);M(c);var u=V(c,2),d=z(u,!0);M(u);var f=V(u,2),p=e=>{var t=ml(),r=z(t);M(t),H(()=>Y(r,`Repeated ${G(n).occurrences??``} times.`)),J(e,t)};X(f,e=>{G(n).occurrences>1&&e(p)}),M(s);var m=V(s,2);M(r),H(()=>{i=gi(r,1,`toast svelte-1a0rutm`,null,i,{error:G(n).kind===`error`,success:G(n).kind===`success`}),Q(r,`role`,G(n).kind===`error`?`alert`:`status`),Q(r,`aria-live`,G(n).kind===`error`?`assertive`:`polite`),Y(o,G(n).kind===`error`?`!`:G(n).kind===`success`?`✓`:`i`),Y(l,G(n).kind===`error`?`Error`:G(n).kind===`success`?`Success`:`Info`),Y(d,G(n).message),Q(m,`aria-label`,`Dismiss ${G(n).kind} notification`)}),Nr(`pointerenter`,r,()=>t.queue.pause(G(n).id,`hover`)),Nr(`pointerleave`,r,()=>t.queue.resume(G(n).id,`hover`)),K(`focusin`,r,()=>t.queue.pause(G(n).id,`focus`)),K(`focusout`,r,()=>t.queue.resume(G(n).id,`focus`)),K(`click`,m,()=>t.queue.dismiss(G(n).id)),J(e,r)}),M(i),J(e,i),Qe()}Pr([`focusin`,`focusout`,`click`]);var vl=q(`<main class="evidence-page svelte-1j55xyh"><h1 class="svelte-1j55xyh">Git repository</h1> <p>Choose a destination and clone a repository.</p> <div class="evidence-composer svelte-1j55xyh"><label for="evidence-prompt">Prompt</label> <textarea id="evidence-prompt" class="evidence-prompt svelte-1j55xyh" rows="1">Review repository status</textarea></div></main> <nav class="evidence-nav svelte-1j55xyh" aria-label="Primary evidence navigation"><button type="button" class="svelte-1j55xyh">Sessions</button> <button type="button" aria-pressed="true" class="svelte-1j55xyh">Git</button> <button type="button" class="svelte-1j55xyh">Chat</button></nav> <!>`,1);function yl(e,t){Ze(t,!0);let n=pl();Ri(()=>{t.variant===`stacked`&&n.enqueue({kind:`success`,message:`Cloned.`}),n.enqueue({kind:`error`,code:`GIT_CLONE_FAILED`,message:`Clone failed.`})});var r=vl();_l(V(B(r),4),{get queue(){return n}}),J(e,r),Qe()}var bl={sessionBase:()=>!0,gitRepositoryTarget:e=>e.isGitRepository,cloneDestination:e=>!e.isGitRepository};function xl(e){let t=new Set,n=(e,r)=>{!e.isGitRepository&&r<=2&&t.add(e.id),e.children.forEach(e=>n(e,r+1))};return e.forEach(e=>n(e,1)),t}function Sl(e,t){let n=new Set(e);return t.isGitRepository||(n.has(t.id)?n.delete(t.id):n.add(t.id)),n}function Cl(e,t){let n=[],r=(e,i,a)=>{n.push({node:e,level:i,parentId:a}),!e.isGitRepository&&t.has(e.id)&&e.children.forEach(t=>r(t,i+1,e.id))};return e.forEach(e=>r(e,1,null)),n}function wl(e,t){let n=(e,r)=>{if(e.id===t)return r;for(let t of e.children){let i=n(t,[...r,e.id]);if(i)return i}return null};for(let t of e){let e=n(t,[]);if(e)return e}return[]}function Tl(e,t){for(let n of e){if(n.id===t)return n;let e=Tl(n.children,t);if(e)return e}}function El(e,t,n,r){if(e){let i=Tl(n,e);if(i&&r(i))return i.id;let a=wl(t,e);for(let e of a.toReversed()){let t=Tl(n,e);if(t&&r(t))return t.id}}return Dl(n).find(r)?.id??null}function Dl(e){let t=[],n=e=>{t.push(e),e.children.forEach(n)};return e.forEach(n),t}var Ol=q(`<button class="disclosure svelte-6z3q4v" type="button" tabindex="-1"><span aria-hidden="true"> </span></button>`),kl=q(`<span class="disclosure-spacer svelte-6z3q4v" aria-hidden="true"></span>`),Al=q(`<span class="repository-badge svelte-6z3q4v">Git</span>`),jl=q(`<div class="tree-row svelte-6z3q4v"><!> <button type="button" role="treeitem"><span class="selection-mark svelte-6z3q4v" aria-hidden="true"> </span> <span class="node-copy svelte-6z3q4v"><span class="node-name svelte-6z3q4v"> </span> <span class="node-path svelte-6z3q4v"> </span></span> <!></button></div>`),Ml=q(`<div class="filesystem-tree svelte-6z3q4v" role="tree"></div>`);function Nl(e,t){Ze(t,!0);let n=$(t,`isSelectable`,3,()=>!0),r=L(null),i=on({}),a=F(()=>Cl(t.roots,t.expandedIds)),o=F(()=>G(r)&&G(a).some(({node:e})=>e.id===G(r))?G(r):t.selectedId&&G(a).some(({node:e})=>e.id===t.selectedId)?t.selectedId:G(a)[0]?.node.id??null);function s(e){return!e.isGitRepository&&e.children.length>0}function c(e){return e===`.`?`~/`:`~/${e}`}function l(e){R(r,e,!0),i[e]?.focus()}function u(e,t){let n=Math.max(0,Math.min(G(a).length-1,t)),r=G(a)[n];r&&n!==e&&l(r.node.id)}function d(e){n()(e)&&t.onselect(e)}function f(e){s(e)&&t.onexpandedchange(Sl(t.expandedIds,e))}function p(e,n,r){let{node:i,parentId:o}=n;switch(e.key){case`ArrowUp`:e.preventDefault(),u(r,r-1);break;case`ArrowDown`:e.preventDefault(),u(r,r+1);break;case`ArrowRight`:if(!s(i))return;e.preventDefault(),t.expandedIds.has(i.id)?G(a)[r+1]?.parentId===i.id&&u(r,r+1):f(i);break;case`ArrowLeft`:if(!t.expandedIds.has(i.id)&&!o)return;e.preventDefault(),s(i)&&t.expandedIds.has(i.id)?f(i):o&&l(o);break;case`Home`:e.preventDefault(),u(r,0);break;case`End`:e.preventDefault(),u(r,G(a).length-1);break;case`Enter`:case` `:e.preventDefault(),d(i);break}}var m=Ml();Z(m,23,()=>G(a),e=>e.node.id,(e,a,l)=>{let u=F(()=>G(a).node),m=F(()=>s(G(u)));var h=jl();let g;var _=z(h),v=e=>{var n=Ol(),r=z(n),i=z(r,!0);M(r),M(n),H((e,t)=>{Q(n,`aria-label`,e),Y(i,t)},[()=>`${t.expandedIds.has(G(u).id)?`Collapse`:`Expand`} ${G(u).name}`,()=>t.expandedIds.has(G(u).id)?`−`:`+`]),K(`click`,n,()=>f(G(u))),J(e,n)},y=e=>{J(e,kl())};X(_,e=>{G(m)?e(v):e(y,-1)});var b=V(_,2);let x;var S=z(b),C=z(S,!0);M(S);var w=V(S,2),T=z(w),E=z(T,!0);M(T);var D=V(T,2),O=z(D,!0);M(D),M(w);var k=V(w,2),ee=e=>{J(e,Al())};X(k,e=>{G(u).isGitRepository&&e(ee)}),M(b),Li(b,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(u)]),M(h),H((e,n,r,i,s)=>{g=vi(h,``,g,e),x=gi(b,1,`tree-item svelte-6z3q4v`,null,x,{selected:t.selectedId===G(u).id,repository:G(u).isGitRepository}),Q(b,`aria-level`,G(a).level),Q(b,`aria-expanded`,n),Q(b,`aria-selected`,t.selectedId===G(u).id),Q(b,`aria-disabled`,r),Q(b,`tabindex`,G(o)===G(u).id?0:-1),Q(b,`title`,i),Y(C,t.selectedId===G(u).id?`✓`:``),Y(E,G(u).name),Y(O,s)},[()=>({"--tree-level":Math.min(G(a).level-1,6)}),()=>G(m)?t.expandedIds.has(G(u).id):void 0,()=>!n()(G(u)),()=>c(G(u).relativePath),()=>c(G(u).relativePath)]),Nr(`focus`,b,()=>R(r,G(u).id,!0)),K(`keydown`,b,e=>p(e,G(a),G(l))),K(`click`,b,()=>d(G(u))),J(e,h)}),M(m),H(()=>Q(m,`aria-label`,t.label)),J(e,m),Qe()}Pr([`click`,`keydown`]);var Pl=q(`<section class="evidence-shell svelte-1d6w4ti" aria-labelledby="evidence-title"><p class="eyebrow svelte-1d6w4ti"> </p> <h1 id="evidence-title" class="svelte-1d6w4ti"> </h1> <p class="instructions svelte-1d6w4ti"> </p> <!></section>`);function Fl(e,t){Ze(t,!0);let n=(e,t)=>({id:e,name:t,relativePath:e,isGitRepository:!0,children:[]}),r=[{id:`.`,name:`development-workspace-with-a-long-name`,relativePath:`.`,isGitRepository:!1,children:[{id:`dyne`,name:`dyne`,relativePath:`dyne`,isGitRepository:!1,children:[{id:`dyne/mobile-applications`,name:`mobile-applications-and-experiments`,relativePath:`dyne/mobile-applications`,isGitRepository:!1,children:[n(`dyne/mobile-applications/gestalt-mobile`,`gestalt-mobile-with-an-extraordinarily-long-repository-name`)]},n(`dyne/zenroom`,`zenroom`),n(`dyne/zenflows`,`zenflows`),n(`dyne/did`,`did-toolkit`),n(`dyne/api`,`api-gateway`),n(`dyne/docs`,`documentation-portal`)]},{id:`personal`,name:`personal-projects`,relativePath:`personal`,isGitRepository:!1,children:[]}]}],i=L(on(new Set([`.`,`dyne`,`dyne/mobile-applications`]))),a=L(null),o=F(()=>t.context===`sessions`?`dyne/mobile-applications`:`dyne/mobile-applications/gestalt-mobile`),s=F(()=>G(a)??G(o));var c=Pl(),l=z(c),u=z(l,!0);M(l);var d=V(l,2),f=z(d,!0);M(d);var p=V(d,2),m=z(p,!0);M(p);var h=V(p,2);{let e=F(()=>t.context===`sessions`?`Session base`:`Git repository`),n=F(()=>t.context===`sessions`?bl.sessionBase:bl.gitRepositoryTarget);Nl(h,{get roots(){return r},get expandedIds(){return G(i)},get selectedId(){return G(s)},get label(){return G(e)},get isSelectable(){return G(n)},onexpandedchange:e=>R(i,e,!0),onselect:e=>R(a,e.id,!0)})}M(c),H(()=>{Y(u,t.context===`sessions`?`Sessions`:`Git`),Y(f,t.context===`sessions`?`Session base`:`Git repository`),Y(m,t.context===`sessions`?`Select the folder Codex should use as its working directory.`:`Select a repository for Git actions.`)}),J(e,c),Qe()}function Il(e,t=Date.now()){if(!e)return`Not fetched yet`;let n=Math.max(0,t-new Date(e).getTime()),r=Math.floor(n/6e4);if(r<1)return`Fetched just now`;if(r<60)return`Fetched ${r}m ago`;let i=Math.floor(r/60);return i<24?`Fetched ${i}h ago`:`Fetched ${Math.floor(i/24)}d ago`}function Ll(e,t=Date.now()){let n=Date.parse(e);if(!Number.isFinite(n))return`unknown time`;let r=Math.round((n-t)/1e3),i=[[`year`,31536e3],[`month`,2592e3],[`week`,604800],[`day`,86400],[`hour`,3600],[`minute`,60],[`second`,1]],[a,o]=i.find(([,e])=>Math.abs(r)>=e)??i.at(-1);return new Intl.RelativeTimeFormat(void 0,{numeric:`auto`}).format(Math.round(r/o),a)}var Rl=q(`<p class="clone-status svelte-pudr3t" role="status"> </p>`),zl=q(`<option> </option>`),Bl=q(`<section aria-label="Confirm push"><p> </p> <button type="button">Confirm push</button> <button type="button">Cancel</button></section>`),Vl=q(`<li class="commit-entry svelte-pudr3t"><div class="commit-subject svelte-pudr3t"><code class="svelte-pudr3t"> </code><span> </span></div> <div class="commit-meta svelte-pudr3t"><span> </span><time class="svelte-pudr3t"> </time></div></li>`),Hl=q(`<section class="commit-history svelte-pudr3t" aria-labelledby="recent-commits-title"><h3 id="recent-commits-title" class="svelte-pudr3t">Recent commits</h3> <ol class="commit-list svelte-pudr3t" aria-label="Recent commits"></ol></section>`),Ul=q(`<div class="git-overview svelte-pudr3t"><div class="git-status svelte-pudr3t"><label for="git-branch">Branch</label> <select id="git-branch"></select> <p class="svelte-pudr3t"> </p> <p class="svelte-pudr3t"> </p> <p class="svelte-pudr3t"><time> </time></p> <p class="svelte-pudr3t"> </p></div> <div class="git-actions svelte-pudr3t"><button type="button" class="svelte-pudr3t"><span aria-hidden="true">↑</span> Push</button> <button type="button" class="svelte-pudr3t"><span aria-hidden="true">↓</span> </button></div></div> <!> <!>`,1),Wl=q(`<p>This workspace is not a Git repository.</p>`),Gl=q(`<p role="status">Loading repository status…</p>`),Kl=q(`<p><strong> </strong> is available as a Clone destination. Select a Git repository
15
15
  to inspect branches and enable repository actions.</p> <div class="git-actions svelte-pudr3t" aria-label="Repository actions unavailable"><button type="button" disabled="" class="svelte-pudr3t"><span aria-hidden="true">↑</span> Push</button> <button type="button" disabled="" class="svelte-pudr3t"><span aria-hidden="true">↓</span> Pull</button></div>`,1),ql=q(`<p>Select a folder above to choose a Clone destination or inspect a Git repository.</p> <div class="git-actions svelte-pudr3t" aria-label="Repository actions unavailable"><button type="button" disabled="" class="svelte-pudr3t"><span aria-hidden="true">↑</span> Push</button> <button type="button" disabled="" class="svelte-pudr3t"><span aria-hidden="true">↓</span> Pull</button></div>`,1),Jl=q(`<p role="alert"> </p>`),Yl=q(`<section class="git-view svelte-pudr3t" aria-labelledby="git-title"><h2 id="git-title" class="visually-hidden">Git</h2> <section class="git-tree svelte-pudr3t" aria-labelledby="git-tree-title"><div class="section-heading svelte-pudr3t"><h3 id="git-tree-title" class="svelte-pudr3t">Repository and clone destination</h3> <p class="svelte-pudr3t">Select any folder. Git repositories enable repository actions; other folders are clone
16
- destinations.</p></div> <!> <button id="browse-files" type="button">Browse files</button></section> <form class="clone-form svelte-pudr3t"><div class="clone-controls svelte-pudr3t"><div class="clone-field clone-destination svelte-pudr3t"><span class="field-label svelte-pudr3t">Destination</span> <output aria-live="polite" class="svelte-pudr3t"> </output></div> <div class="clone-field svelte-pudr3t"><label for="git-clone-address">Git address</label> <input id="git-clone-address" name="address" required="" autocomplete="url" inputmode="url" enterkeyhint="done" placeholder="https://example.com/owner/repository.git" aria-describedby="clone-help"/></div> <button type="submit" class="svelte-pudr3t"> </button></div> <p id="clone-help" class="svelte-pudr3t">The repository is cloned inside the selected workspace.</p> <!></form> <section class="repository-details svelte-pudr3t" aria-labelledby="repository-details-title"><h3 id="repository-details-title" class="svelte-pudr3t">Repository details</h3> <!> <!></section></section>`);function Xl(e,t){Ze(t,!0);let n=L(``),r=F(()=>t.selectedWorkspace&&!t.selectedWorkspace.isGitRepository?t.selectedWorkspace:null);function i(e){e.preventDefault(),!(!G(n).trim()||t.cloning)&&t.onclone(G(n).trim())}var a=Yl(),o=V(z(a),2),s=V(z(o),2);{let e=F(()=>t.selectedWorkspace?.id??null);Nl(s,{get roots(){return t.workspaceTree},get expandedIds(){return t.expandedIds},get selectedId(){return G(e)},label:`Git repository and clone destination`,get onexpandedchange(){return t.onexpandedchange},get onselect(){return t.onselect}})}var c=V(s,2);M(o);var l=V(o,2),u=z(l),d=z(u),f=V(z(d),2),p=z(f,!0);M(f),M(d);var m=V(d,2),h=V(z(m),2);Di(h),M(m);var g=V(m,2),_=z(g,!0);M(g),M(u);var v=V(u,4),y=e=>{var n=Rl(),r=z(n,!0);M(n),H(()=>Y(r,t.cloneStatus)),J(e,n)};X(v,e=>{t.cloneStatus&&e(y)}),M(l);var b=V(l,2),x=V(z(b),2),S=e=>{var n=Hr(),r=B(n),i=e=>{var n=Hr(),r=B(n),i=e=>{var n=Ul(),r=B(n),i=z(r),a=V(z(i),2);Z(a,20,()=>t.summary.branches??[],e=>e,(e,t)=>{var n=zl(),r=z(n,!0);M(n);var i={};H(()=>{Y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),J(e,n)}),M(a);var o;bi(a);var s=V(a,2),c=z(s);M(s);var l=V(s,2),u=z(l);M(l);var d=V(l,2),f=z(d),p=z(f,!0);M(f),M(d);var m=V(d,2),h=z(m);M(m),M(i);var g=V(i,2),_=z(g),v=V(_,2),y=V(z(v));M(v),M(g),M(r);var b=V(r,2),x=e=>{var n=Bl(),r=z(n),i=z(r);M(r);var a=V(r,2),o=V(a,2);M(n),H(()=>Y(i,`Push HEAD to ${t.summary.upstream??``}?`)),K(`click`,a,function(...e){t.onpush?.apply(this,e)}),K(`click`,o,function(...e){t.oncancelpush?.apply(this,e)}),J(e,n)};X(b,e=>{t.confirmingPush&&e(x)});var S=V(b,2),C=e=>{var n=Hl(),r=V(z(n),2);Z(r,21,()=>t.summary.commits,e=>e.hash,(e,t)=>{var n=Vl(),r=z(n),i=z(r),a=z(i,!0);M(i);var o=V(i),s=z(o,!0);M(o),M(r);var c=V(r,2),l=z(c),u=z(l,!0);M(l);var d=V(l),f=z(d,!0);M(d),M(c),M(n),H(e=>{Q(i,`title`,G(t).hash),Y(a,G(t).shortHash),Y(s,G(t).subject),Y(u,G(t).author),Q(d,`datetime`,G(t).authoredAt),Q(d,`title`,G(t).authoredAt),Y(f,e)},[()=>Ll(G(t).authoredAt)]),J(e,n)}),M(r),M(n),J(e,n)};X(S,e=>{t.summary.commits.length&&e(C)}),H(e=>{a.disabled=t.refreshing||t.checkingOut||!t.summary.branches?.length,o!==(o=t.summary.branch??``)&&(a.value=(a.__value=t.summary.branch??``)??``,yi(a,t.summary.branch??``)),Y(c,`Upstream: ${t.summary.upstream??`none`??``}`),Y(u,`Ahead ${t.summary.ahead??``}; behind ${t.summary.behind??``}.`),Q(f,`datetime`,t.summary.fetchedAt??void 0),Y(p,e),Y(h,`Changes: ${t.summary.dirty.staged??``} staged, ${t.summary.dirty.unstaged??``} unstaged, ${t.summary.dirty.untracked??``} untracked.`),_.disabled=t.refreshing||t.checkingOut||!t.summary.upstream||t.summary.ahead<1||t.summary.behind>0,v.disabled=t.refreshing||t.checkingOut,Y(y,` ${t.refreshing?`Pulling…`:`Pull`}`)},[()=>Il(t.summary.fetchedAt)]),K(`change`,a,e=>t.oncheckout(e.currentTarget.value)),K(`click`,_,function(...e){t.onopenpushconfirmation?.apply(this,e)}),K(`click`,v,function(...e){t.onpull?.apply(this,e)}),J(e,n)},a=e=>{J(e,Wl())};X(r,e=>{t.summary.available?e(i):e(a,-1)}),J(e,n)},a=e=>{J(e,Gl())};X(r,e=>{t.summary?e(i):t.error||e(a,1)}),J(e,n)},C=e=>{var n=Kl(),r=B(n),i=z(r),a=z(i,!0);M(i),N(),M(r),N(2),H(()=>Y(a,t.selectedWorkspace.name)),J(e,n)},w=e=>{var t=ql();N(2),J(e,t)};X(x,e=>{t.selectedWorkspace?.isGitRepository?e(S):t.selectedWorkspace?e(C,1):e(w,-1)});var T=V(x,2),E=e=>{var n=Jl(),r=z(n,!0);M(n),H(()=>Y(r,t.error)),J(e,n)};X(T,e=>{t.error&&e(E)}),M(b),M(a),H(()=>{c.disabled=!t.selectedWorkspace,Y(p,G(r)?`~/${G(r).relativePath}`:`Select a non-repository folder`),g.disabled=t.cloning,Y(_,t.cloning?`Cloning…`:`Clone`)}),K(`click`,c,e=>t.onbrowsefiles(e.currentTarget)),Nr(`submit`,l,i),Ni(h,()=>G(n),e=>R(n,e)),J(e,a),Qe()}Pr([`click`,`change`]);var Zl=class{transport;isRepository;onChange;errorMessage;#e={workspaceId:null,summary:null,loading:!1,refreshing:!1,checkingOut:!1,error:null};#t=0;#n=null;#r=!1;constructor(e,t,n,r){this.transport=e,this.isRepository=t,this.onChange=n,this.errorMessage=r}get state(){return this.#e}select(e){this.#a();let t=e,n=!!(t&&this.isRepository(t));this.#s({workspaceId:t,summary:null,loading:n,refreshing:!1,checkingOut:!1,error:null}),n&&this.refresh()}async refresh(){let e=this.#e.workspaceId;if(!e||!this.isRepository(e))return;let t=this.#i(),n=this.#t;this.#s({...this.#e,loading:!0,error:null});try{let r=await this.transport.getSummary(e,t.signal);this.#o(n,e,t)&&this.#s({...this.#e,summary:r,loading:!1})}catch(r){this.#o(n,e,t)&&!t.signal.aborted&&this.#s({...this.#e,summary:null,loading:!1,error:this.errorMessage(r,`GIT_SUMMARY_FAILED`)})}}async pull(e){let t=this.#e.workspaceId;if(!t||this.#e.refreshing)return;let n=this.#i(),r=this.#t;this.#s({...this.#e,refreshing:!0,error:null});try{await this.transport.pull(t,e,n.signal),this.#o(r,t,n)&&(this.#s({...this.#e,refreshing:!1}),await this.refresh())}catch(e){this.#o(r,t,n)&&!n.signal.aborted&&this.#s({...this.#e,refreshing:!1,error:this.errorMessage(e,`GIT_PULL_FAILED`)})}}async checkout(e){let t=this.#e.workspaceId;if(!t||this.#e.checkingOut||e===this.#e.summary?.branch)return;let n=this.#i(),r=this.#t;this.#s({...this.#e,checkingOut:!0,error:null});try{await this.transport.checkout(t,e,n.signal),this.#o(r,t,n)&&(this.#s({...this.#e,checkingOut:!1}),await this.refresh())}catch(e){this.#o(r,t,n)&&!n.signal.aborted&&this.#s({...this.#e,checkingOut:!1,error:this.errorMessage(e,`GIT_CHECKOUT_FAILED`)})}}dispose(){this.#r=!0,this.#a()}#i(){return this.#a(),this.#n=new AbortController,++this.#t,this.#n}#a(){this.#n?.abort(),this.#n=null,++this.#t}#o(e,t,n){return!this.#r&&e===this.#t&&this.#e.workspaceId===t&&this.#n===n}#s(e){this.#r||(this.#e=e,this.onChange(e))}};function Ql(e,t,n,r,i){let a=new Set($l(e).filter(e=>e.isGitRepository).map(e=>e.id)),o=Tl(t,n),s=o?$l(o.children).filter(e=>e.isGitRepository&&!a.has(e.id)):[],c=eu(r),l=s.find(e=>e.name===c)??(s.length===1?s[0]:void 0),u=l?.id??o?.id??null,d=new Set(i);return u&&wl(t,u).forEach(e=>d.add(e)),!l&&o&&d.add(o.id),{selectedId:u,expandedIds:d}}function $l(e){let t=[],n=e=>{t.push(e),e.children.forEach(n)};return e.forEach(n),t}function eu(e){return(e.trim().replace(/[?#].*$/,``).replace(/\/+$/,``).split(/[/:]/).at(-1)??``).replace(/\.git$/i,``)}function tu(e){if(typeof e!=`object`||!e)return null;let t=e.permissions;if(typeof t!=`object`||!t)return null;let n=t;return{permissions:{...n.network===null||n.network===void 0?{}:{network:n.network},...n.fileSystem===null||n.fileSystem===void 0?{}:{fileSystem:n.fileSystem}},scope:`turn`}}function nu(e){return{answers:Object.fromEntries(e.filter(e=>e.answer.trim()).map(e=>[e.id,{answers:[e.answer]}]))}}function ru(e=fetch){async function t(e){let t=await e.json().catch(()=>null),n=typeof t?.code==`string`&&/^[A-Z0-9_]+$/.test(t.code)?t.code:void 0,r=n?.startsWith(`AUTOPILOT_`)&&e.status===409?`Relay request failed (${e.status}).`:typeof t?.detail==`string`&&t.detail.length<=600?t.detail:typeof t?.title==`string`?t.title:`Relay request failed (${e.status}).`;return Object.assign(Error(r),{...n?{code:n}:{},...typeof t?.replaceAllowed==`boolean`?{replaceAllowed:t.replaceAllowed}:{},status:e.status})}async function n(n,r,i={},a){let o=await e(n,{method:`POST`,headers:{"content-type":`application/json`,...i},body:JSON.stringify(r),signal:a});if(!o.ok)throw await t(o);return o.json()}async function r(n,r,i={}){let a=await e(n,{method:`PUT`,headers:{"content-type":`application/json`,...i},body:JSON.stringify(r)});if(!a.ok)throw await t(a);return a.json()}async function i(n,r,i,a){let o=await e(n,{method:`PUT`,headers:{"content-type":`application/octet-stream`,"idempotency-key":i},body:r,signal:a});if(!o.ok)throw await t(o);return o.json()}async function a(n,r,i){let a=await e(n,{method:`DELETE`,headers:{"content-type":`application/json`,"idempotency-key":i},body:JSON.stringify(r)});if(!a.ok)throw await t(a);return a.json()}async function o(n){let r=await e(n,{method:`DELETE`});if(!r.ok)throw await t(r)}async function s(n,r){let i=await e(n,r?{signal:r}:void 0);if(!i.ok)throw await t(i);return i.json()}async function c(n,r){let i=await e(n,{signal:r});if(i.status===204)return null;if(!i.ok)throw await t(i);return i.json()}return{listSessions:e=>s(`/api/sessions`,e),listWorkspaceDirectory:(e,t={},n)=>{let r=new URLSearchParams;t.directory!==void 0&&r.set(`directory`,t.directory),t.cursor!==void 0&&r.set(`cursor`,t.cursor),t.limit!==void 0&&r.set(`limit`,String(t.limit));let i=r.size===0?``:`?${r}`;return s(`/api/workspaces/${encodeURIComponent(e)}/files${i}`,n)},copyWorkspaceEntry:(e,t,r)=>n(`/api/workspaces/${encodeURIComponent(e)}/files/copy`,t,{"idempotency-key":r}),moveWorkspaceEntry:(e,t,r)=>n(`/api/workspaces/${encodeURIComponent(e)}/files/move`,t,{"idempotency-key":r}),uploadWorkspaceFile:(e,t,n,r)=>{let a=new URLSearchParams({directory:t.directory,filename:t.filename,conflict:t.conflict});return i(`/api/workspaces/${encodeURIComponent(e)}/files/upload?${a}`,t.file,n,r)},deleteWorkspaceEntry:(e,t,n)=>a(`/api/workspaces/${encodeURIComponent(e)}/files`,{path:t,recursive:!0},n),getSession:e=>s(`/api/sessions/${encodeURIComponent(e)}`),refreshActivity:e=>n(`/api/sessions/${encodeURIComponent(e)}/activity/refresh`,{}),setAutopilot:(e,t,n)=>r(`/api/sessions/${encodeURIComponent(e)}/autopilot`,{enabled:t},n?{"idempotency-key":n}:{}),resolveAttention:(e,t,r)=>n(`/api/sessions/${encodeURIComponent(e)}/attention/${encodeURIComponent(t)}/resolve`,r),listRecentSessions:()=>s(`/api/sessions/recent-threads`),openRecentSession:(e,t)=>n(`/api/sessions/recent-threads/open`,{threadId:e,cwd:t}),startSession:(e,t={},r)=>n(`/api/sessions`,{workspaceId:e,profile:`default`,...t},r?{"idempotency-key":r}:{}),startTurn:(e,t,r)=>n(`/api/sessions/${encodeURIComponent(e)}/turns`,{text:t},r?{"idempotency-key":r}:{}),selectModel:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/model`,{model:t}),interruptTurn:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/turns/${encodeURIComponent(t)}/interrupt`,{}),queueTurnInput:(e,t,r,i)=>n(`/api/sessions/${encodeURIComponent(e)}/turns/${encodeURIComponent(t)}/queue`,{text:r},i?{"idempotency-key":i}:{}),restoreSession:e=>n(`/api/sessions/${encodeURIComponent(e)}/restore`,{}),releaseSession:e=>n(`/api/sessions/${encodeURIComponent(e)}/release`,{}),forgetSession:n=>e(`/api/sessions/${encodeURIComponent(n)}`,{method:`DELETE`}).then(async e=>{if(!e.ok)throw await t(e)}),getHistory:e=>s(`/api/sessions/${encodeURIComponent(e)}/history`),getPlan:(e,t)=>c(`/api/sessions/${encodeURIComponent(e)}/plan`,t),closePlan:e=>o(`/api/sessions/${encodeURIComponent(e)}/plan`),listWorkspacePlans:(e,t)=>s(`/api/workspaces/${encodeURIComponent(e)}/plans`,t),getWorkspacePlan:(e,t,n)=>s(`/api/workspaces/${encodeURIComponent(e)}/plans/${encodeURIComponent(t)}`,n),openSessionPlan:(e,t)=>r(`/api/sessions/${encodeURIComponent(e)}/plan`,{planName:t}),getGitSummary:(e,t)=>s(`/api/git/repositories/${encodeURIComponent(e)}`,t),cloneGitRepository:(e,t)=>n(`/api/git/clone`,{workspaceId:e,address:t}),refreshGit:(e,t)=>n(`/api/git/repositories/${encodeURIComponent(e)}/refresh`,{},t?{"idempotency-key":t}:{}),pullGit:(e,t,r)=>n(`/api/git/repositories/${encodeURIComponent(e)}/pull`,{},t?{"idempotency-key":t}:{},r),checkoutGitBranch:(e,t,r)=>n(`/api/git/repositories/${encodeURIComponent(e)}/checkout`,{branch:t},{},r),pushGit:(e,t)=>n(`/api/git/repositories/${encodeURIComponent(e)}/push`,{},t?{"idempotency-key":t}:{}),listAvailableSkills:(e,t,n=!1,r)=>s(`/api/skills?${new URLSearchParams({workspaceId:e,profile:t,...n?{refresh:`true`}:{}}).toString()}`,r),listSkillProfiles:e=>s(`/api/skill-profiles`,e),replaceSkillProfile:(e,t)=>r(`/api/skill-profiles/${encodeURIComponent(e)}`,t),deleteSkillProfile:e=>o(`/api/skill-profiles/${encodeURIComponent(e)}`),respondInteraction:(e,t,r,i)=>n(`/api/sessions/${encodeURIComponent(e)}/interactions/${encodeURIComponent(t)}`,r,i?{"idempotency-key":i}:{})}}async function iu(e,t=globalThis.navigator?.clipboard,n=ou){if(!t)return au(e,n);try{return await t.writeText(e),!0}catch{return au(e,n)}}function au(e,t){try{return t(e)}catch{return!1}}function ou(e){if(typeof document>`u`||!document.body)return!1;let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed;opacity:0`,document.body.append(t),t.select();let n=document.execCommand(`copy`);return t.remove(),n}var su=[`authoring-start`,`work-start`,`checkpoint`,`update`,`supervision-start`,`resync`];function cu(e){return typeof e==`string`&&su.includes(e)}function lu(e){if(!e||typeof e!=`object`)return!1;let t=e;return uu(t.plan)&&(t.reason===null||cu(t.reason))}function uu(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 du(e){return e instanceof Error?e.message:`Could not load the plan.`}function fu(e){return{...e,...e.skills?{skills:[...e.skills]}:{},description:{...e.description},children:e.children.map(fu)}}function pu(e){return{...e,steps:e.steps.map(fu)}}function mu(e,t){return e.kind===`unavailable`&&e.sessionId===t}function hu(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:pu(e)}:{kind:`unavailable`,sessionId:t})}).catch(e=>{o?.signal.aborted||a!==i||n!==t||c({kind:`error`,sessionId:t,error:du(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`&&(uu(t.payload)||lu(t.payload))){let n=lu(t.payload)?t.payload.plan:t.payload;s=t.sequence,c({kind:`ready`,sessionId:e,plan:pu(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`):mu(r,t)?`chat`:null:null}catch(e){return n===t?a===o?(c({kind:`error`,sessionId:t,plan:i,error:du(e)}),null):mu(r,t)?`chat`:null:null}},dispose(){o?.abort(),o=null,n=null,++i,c({kind:`unavailable`,sessionId:null})}}}function gu(e){if(!e)return null;let t=_u(e.steps,e.currentStepId)?.measurement?.weeklyRemainingCurrent;return typeof t==`number`&&Number.isFinite(t)&&t>=0&&t<=100?Math.round(t):null}function _u(e,t){for(let n of e){if(n.id===t)return n;let e=_u(n.children,t);if(e)return e}}var vu=q(`<li class="svelte-hmxg46"><span aria-hidden="true" class="position svelte-hmxg46"> </span> <span aria-hidden="true" class="state"> </span></li>`),yu=q(`<ol class="step-markers svelte-hmxg46" aria-label="Plan step progress"></ol>`),bu=q(`<div><div class="progress-heading svelte-hmxg46"><span> </span></div> <progress class="svelte-hmxg46"> </progress> <!></div>`);function xu(e,t){Ze(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:ya(t+1),state:e.state},...e.children.map((e,n)=>({id:e.id,position:ya(t+1,n+1),state:e.state}))])),a=F(()=>Math.max(t.plan.totalSteps,1));var o=bu(),s=z(o),c=z(s),l=z(c);M(c),M(s);var u=V(s,2),d=z(u);M(u);var f=V(u,2),p=e=>{var n=yu();Z(n,21,()=>G(i),e=>e.id,(e,n)=>{var r=vu(),i=z(r),a=z(i,!0);M(i);var o=V(i,2),s=z(o,!0);M(o),M(r),H(()=>{Q(r,`data-state`,G(n).state),Q(r,`aria-current`,G(n).id===t.plan.currentStepId?`step`:void 0),Q(r,`aria-label`,`${G(n).position}: ${G(n).state}`),Y(a,G(n).position),Y(s,G(n).state)}),J(e,r)}),M(n),J(e,n)};X(f,e=>{G(i).length&&e(p)}),M(o),H(()=>{gi(o,1,ui([`plan-progress`,{compact:n()}]),`svelte-hmxg46`),Y(l,`${t.plan.doneSteps??``} / ${t.plan.totalSteps??``} complete`),Q(u,`aria-label`,r()),Oi(u,t.plan.doneSteps),Q(u,`max`,G(a)),Y(d,`${t.plan.doneSteps??``} of ${t.plan.totalSteps??``} complete`)}),J(e,o),Qe()}var Su=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>`),Cu=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>`),wu=q(`<section aria-labelledby="plan-title" class="svelte-3rmyvg"><h2 id="plan-title" class="svelte-3rmyvg">Plan</h2> <p class="svelte-3rmyvg"> </p></section>`),Tu=q(`<p class="svelte-3rmyvg"> </p>`),Eu=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Subtitle</dt> <dd class="svelte-3rmyvg"> </dd></div>`),Du=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Date</dt> <dd class="svelte-3rmyvg"> </dd></div>`),Ou=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Keywords</dt> <dd class="svelte-3rmyvg"> </dd></div>`),ku=q(`<dl class="metadata svelte-3rmyvg"><!> <!> <!></dl>`),Au=q(`<p class="svelte-3rmyvg">No plan steps have been retained yet.</p>`),ju=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg"> </strong> </p>`),Mu=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg">Skills:</strong> </p>`),Nu=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>`),Pu=q(`<ol class="svelte-3rmyvg"></ol>`),Fu=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>`),Iu=q(`<ol class="plan-steps svelte-3rmyvg"></ol>`),Lu=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>`),Ru=q(`<p class="visually-hidden svelte-3rmyvg" aria-live="polite" aria-atomic="true"> </p> <!>`,1);function zu(e,t){Ze(t,!0);let n={effort:`Effort`,goal:`Goal`,notes:`Notes`,why:`Why`,change:`Change`,tests:`Tests`,doneWhen:`Done when`},r=L(on(new Set)),i=on({}),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)?f(G(s).steps,G(s).currentStepId):void 0),l=F(()=>G(s)?p(G(s).steps,G(s).currentStepId):void 0),u=F(()=>G(s)?m(G(s).steps,G(s).currentStepId):new Set),d=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)?`Current step: ${G(l)} ${G(c).title}, ${G(c).state}. ${G(s).doneSteps} of ${G(s).totalSteps} complete.${t.state.kind===`error`?` ${t.state.error}`:``}`:`${G(s).doneSteps} of ${G(s).totalSteps} plan steps complete.${t.state.kind===`error`?` ${t.state.error}`:``}`:``);Mn(()=>{let e=G(s)?.currentStepId||null;if(!e||a===e)return;a=e;let t=++o;Cr().then(()=>{t!==o||G(s)?.currentStepId!==e||i[e]?.scrollIntoView({behavior:`auto`,block:`nearest`,inline:`nearest`})})});function f(e,t){for(let n of e){if(n.id===t)return n;let e=f(n.children,t);if(e)return e}}function p(e,t){for(let[n,r]of e.entries()){if(r.id===t)return ya(n+1);let e=r.children.findIndex(e=>e.id===t);if(e>=0)return ya(n+1,e+1)}}function m(e,t,n=[]){for(let r of e){if(r.id===t)return new Set([...n,r.id]);let e=m(r.children,t,[...n,r.id]);if(e.size)return e}return new Set}function h(e){return G(r).has(e)||G(u).has(e)}function g(e,t){R(r,t?new Set([...G(r),e]):new Set([...G(r)].filter(t=>t!==e)),!0)}function _(e){return e.description.goal??e.description.why??e.title}function v(e){let t=e.measurement;if(!t)return`Measurements unavailable`;let n=[];return t.elapsedSeconds!==void 0&&n.push(`${Math.floor(t.elapsedSeconds/60)}m ${t.elapsedSeconds%60}s elapsed`),t.weeklyPercentUsed!==void 0&&n.push(`${t.weeklyPercentUsed}% observed account-wide usage`),t.tokensUsed!==void 0&&n.push(`${t.tokensUsed.toLocaleString()} tokens used`),n.join(` · `)||`Measurements unavailable`}function y(e){return Object.keys(n).flatMap(t=>{let r=e.description[t];return r?[[n[t],r]]:[]})}var b=Ru(),x=B(b),S=z(x,!0);M(x);var w=V(x,2),T=e=>{J(e,Su())},E=e=>{J(e,Cu())},D=e=>{var n=wu(),r=V(z(n),2),i=z(r,!0);M(r),M(n),H(()=>Y(i,t.state.error)),J(e,n)},O=e=>{var n=Lu(),r=z(n),a=z(r),o=z(a),u=z(o,!0);M(o),M(a);var d=V(a,2);M(r);var f=V(r,2);xu(f,{get plan(){return G(s)}});var p=V(f,2),m=z(p);M(p);var b=V(p,2),x=e=>{var n=Tu(),r=z(n,!0);M(n),H(()=>Y(r,t.state.error)),J(e,n)};X(b,e=>{t.state.kind===`error`&&e(x)});var S=V(b,2),w=e=>{var t=ku(),n=z(t),r=e=>{var t=Eu(),n=V(z(t),2),r=z(n,!0);M(n),M(t),H(()=>Y(r,G(s).subtitle)),J(e,t)};X(n,e=>{G(s).subtitle&&e(r)});var i=V(n,2),a=e=>{var t=Du(),n=V(z(t),2),r=z(n,!0);M(n),M(t),H(()=>Y(r,G(s).date)),J(e,t)};X(i,e=>{G(s).date&&e(a)});var o=V(i,2),c=e=>{var t=Ou(),n=V(z(t),2),r=z(n,!0);M(n),M(t),H(()=>Y(r,G(s).keywords)),J(e,t)};X(o,e=>{G(s).keywords&&e(c)}),M(t),J(e,t)};X(S,e=>{(G(s).subtitle||G(s).date||G(s).keywords)&&e(w)});var T=V(S,2),E=e=>{J(e,Au())},D=e=>{var t=Iu();Z(t,23,()=>G(s).steps,e=>e.id,(e,t,n)=>{var r=Fu(),a=z(r),o=z(a),s=z(o),c=z(s),l=z(c,!0);M(c);var u=V(c);M(s);var d=V(s,2),f=z(d);M(d);var p=V(d,2),m=z(p,!0);M(p);var b=V(p,2),x=z(b,!0);M(b),M(o);var S=V(o,2);Z(S,17,()=>y(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=ju(),o=z(a),s=z(o);M(o);var c=V(o);M(a),H(()=>{Y(s,`${r()??``}:`),Y(c,` ${i()??``}`)}),J(e,a)});var w=V(S,2),T=e=>{var n=Mu(),r=V(z(n));M(n),H(e=>Y(r,` ${e??``}`),[()=>G(t).skills.join(`, `)]),J(e,n)};X(w,e=>{G(t).skills?.length&&e(T)});var E=V(w,2),D=e=>{var r=Pu();Z(r,23,()=>G(t).children,e=>e.id,(e,t,r)=>{var a=Nu(),o=z(a),s=z(o),c=z(s),l=z(c),u=z(l,!0);M(l);var d=V(l);M(c);var f=V(c,2),p=z(f);M(f);var m=V(f,2),v=z(m,!0);M(m),M(s);var b=V(s,2);Z(b,17,()=>y(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=ju(),o=z(a),s=z(o);M(o);var c=V(o);M(a),H(()=>{Y(s,`${r()??``}:`),Y(c,` ${i()??``}`)}),J(e,a)});var x=V(b,2),S=e=>{var n=Mu(),r=V(z(n));M(n),H(e=>Y(r,` ${e??``}`),[()=>G(t).skills.join(`, `)]),J(e,n)};X(x,e=>{G(t).skills?.length&&e(S)}),M(o),Li(o,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(t)]),M(a),H((e,n,r)=>{Q(o,`data-step-id`,G(t).id),o.open=e,Y(u,n),Y(d,` ${G(t).title??``}`),Y(p,`${G(t).state??``} · Priority ${G(t).priority??``}${G(t).reviewStatus?` · ${G(t).reviewStatus}`:``}`),Y(v,r)},[()=>h(G(t).id),()=>ya(G(n)+1,G(r)+1),()=>_(G(t))]),Nr(`toggle`,o,e=>g(G(t).id,e.currentTarget.open)),J(e,a)}),M(r),J(e,r)};X(E,e=>{G(t).children.length&&e(D)}),M(a),Li(a,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(t)]),M(r),H((e,n,r,i)=>{Q(a,`data-step-id`,G(t).id),a.open=e,Y(l,n),Y(u,` ${G(t).title??``}`),Y(f,`${G(t).state??``} · Priority ${G(t).priority??``}${G(t).reviewStatus?` · ${G(t).reviewStatus}`:``}`),Y(m,r),Y(x,i)},[()=>h(G(t).id),()=>ya(G(n)+1),()=>_(G(t)),()=>v(G(t))]),Nr(`toggle`,a,e=>g(G(t).id,e.currentTarget.open)),J(e,r)}),M(t),J(e,t)};X(T,e=>{G(s).steps.length===0?e(E):e(D,-1)}),M(n),H(()=>{Y(u,G(s).title),Y(m,`Current: ${G(c)?`${G(l)} ${G(c).title} (${G(c).state})`:`No current step`}`)}),K(`click`,d,function(...e){t.onclose?.apply(this,e)}),J(e,n)};X(w,e=>{t.state.kind===`loading`?e(T):t.state.kind===`unavailable`?e(E,1):t.state.kind===`error`&&!G(s)?e(D,2):G(s)&&e(O,3)}),H(()=>Y(S,G(d))),J(e,b),Qe()}Pr([`click`]);var Bu=/^(\*+)\s+(?:(TODO|WIP|DONE)\s+)?(?:\[#([ABC])\]\s+)?(.+)$/,Vu=/^#\+([A-Z][A-Z0-9_-]*):\s*(.*)$/i,Hu=/^:([A-Z][A-Z0-9_]*):\s*(.*)$/,Uu=/^-\s+([^:]+?)\s+::\s*(.*)$/;function Wu(e){let t=[],n=[],r=[],i=e.replace(/\r\n?/g,`
16
+ destinations.</p></div> <!> <button id="browse-files" type="button">Browse files</button></section> <form class="clone-form svelte-pudr3t"><div class="clone-controls svelte-pudr3t"><div class="clone-field clone-destination svelte-pudr3t"><span class="field-label svelte-pudr3t">Destination</span> <output aria-live="polite" class="svelte-pudr3t"> </output></div> <div class="clone-field svelte-pudr3t"><label for="git-clone-address">Git address</label> <input id="git-clone-address" name="address" required="" autocomplete="url" inputmode="url" enterkeyhint="done" placeholder="https://example.com/owner/repository.git" aria-describedby="clone-help"/></div> <button type="submit" class="svelte-pudr3t"> </button></div> <p id="clone-help" class="svelte-pudr3t">The repository is cloned inside the selected workspace.</p> <!></form> <section class="repository-details svelte-pudr3t" aria-labelledby="repository-details-title"><h3 id="repository-details-title" class="svelte-pudr3t">Repository details</h3> <!> <!></section></section>`);function Xl(e,t){Ze(t,!0);let n=L(``),r=F(()=>t.selectedWorkspace&&!t.selectedWorkspace.isGitRepository?t.selectedWorkspace:null);function i(e){e.preventDefault(),!(!G(n).trim()||t.cloning)&&t.onclone(G(n).trim())}var a=Yl(),o=V(z(a),2),s=V(z(o),2);{let e=F(()=>t.selectedWorkspace?.id??null);Nl(s,{get roots(){return t.workspaceTree},get expandedIds(){return t.expandedIds},get selectedId(){return G(e)},label:`Git repository and clone destination`,get onexpandedchange(){return t.onexpandedchange},get onselect(){return t.onselect}})}var c=V(s,2);M(o);var l=V(o,2),u=z(l),d=z(u),f=V(z(d),2),p=z(f,!0);M(f),M(d);var m=V(d,2),h=V(z(m),2);Di(h),M(m);var g=V(m,2),_=z(g,!0);M(g),M(u);var v=V(u,4),y=e=>{var n=Rl(),r=z(n,!0);M(n),H(()=>Y(r,t.cloneStatus)),J(e,n)};X(v,e=>{t.cloneStatus&&e(y)}),M(l);var b=V(l,2),x=V(z(b),2),S=e=>{var n=Hr(),r=B(n),i=e=>{var n=Hr(),r=B(n),i=e=>{var n=Ul(),r=B(n),i=z(r),a=V(z(i),2);Z(a,20,()=>t.summary.branches??[],e=>e,(e,t)=>{var n=zl(),r=z(n,!0);M(n);var i={};H(()=>{Y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),J(e,n)}),M(a);var o;bi(a);var s=V(a,2),c=z(s);M(s);var l=V(s,2),u=z(l);M(l);var d=V(l,2),f=z(d),p=z(f,!0);M(f),M(d);var m=V(d,2),h=z(m);M(m),M(i);var g=V(i,2),_=z(g),v=V(_,2),y=V(z(v));M(v),M(g),M(r);var b=V(r,2),x=e=>{var n=Bl(),r=z(n),i=z(r);M(r);var a=V(r,2),o=V(a,2);M(n),H(()=>Y(i,`Push HEAD to ${t.summary.upstream??``}?`)),K(`click`,a,function(...e){t.onpush?.apply(this,e)}),K(`click`,o,function(...e){t.oncancelpush?.apply(this,e)}),J(e,n)};X(b,e=>{t.confirmingPush&&e(x)});var S=V(b,2),C=e=>{var n=Hl(),r=V(z(n),2);Z(r,21,()=>t.summary.commits,e=>e.hash,(e,t)=>{var n=Vl(),r=z(n),i=z(r),a=z(i,!0);M(i);var o=V(i),s=z(o,!0);M(o),M(r);var c=V(r,2),l=z(c),u=z(l,!0);M(l);var d=V(l),f=z(d,!0);M(d),M(c),M(n),H(e=>{Q(i,`title`,G(t).hash),Y(a,G(t).shortHash),Y(s,G(t).subject),Y(u,G(t).author),Q(d,`datetime`,G(t).authoredAt),Q(d,`title`,G(t).authoredAt),Y(f,e)},[()=>Ll(G(t).authoredAt)]),J(e,n)}),M(r),M(n),J(e,n)};X(S,e=>{t.summary.commits.length&&e(C)}),H(e=>{a.disabled=t.refreshing||t.checkingOut||!t.summary.branches?.length,o!==(o=t.summary.branch??``)&&(a.value=(a.__value=t.summary.branch??``)??``,yi(a,t.summary.branch??``)),Y(c,`Upstream: ${t.summary.upstream??`none`??``}`),Y(u,`Ahead ${t.summary.ahead??``}; behind ${t.summary.behind??``}.`),Q(f,`datetime`,t.summary.fetchedAt??void 0),Y(p,e),Y(h,`Changes: ${t.summary.dirty.staged??``} staged, ${t.summary.dirty.unstaged??``} unstaged, ${t.summary.dirty.untracked??``} untracked.`),_.disabled=t.refreshing||t.checkingOut||!t.summary.upstream||t.summary.ahead<1||t.summary.behind>0,v.disabled=t.refreshing||t.checkingOut,Y(y,` ${t.refreshing?`Pulling…`:`Pull`}`)},[()=>Il(t.summary.fetchedAt)]),K(`change`,a,e=>t.oncheckout(e.currentTarget.value)),K(`click`,_,function(...e){t.onopenpushconfirmation?.apply(this,e)}),K(`click`,v,function(...e){t.onpull?.apply(this,e)}),J(e,n)},a=e=>{J(e,Wl())};X(r,e=>{t.summary.available?e(i):e(a,-1)}),J(e,n)},a=e=>{J(e,Gl())};X(r,e=>{t.summary?e(i):t.error||e(a,1)}),J(e,n)},C=e=>{var n=Kl(),r=B(n),i=z(r),a=z(i,!0);M(i),N(),M(r),N(2),H(()=>Y(a,t.selectedWorkspace.name)),J(e,n)},w=e=>{var t=ql();N(2),J(e,t)};X(x,e=>{t.selectedWorkspace?.isGitRepository?e(S):t.selectedWorkspace?e(C,1):e(w,-1)});var T=V(x,2),E=e=>{var n=Jl(),r=z(n,!0);M(n),H(()=>Y(r,t.error)),J(e,n)};X(T,e=>{t.error&&e(E)}),M(b),M(a),H(()=>{c.disabled=!t.selectedWorkspace,Y(p,G(r)?`~/${G(r).relativePath}`:`Select a non-repository folder`),g.disabled=t.cloning,Y(_,t.cloning?`Cloning…`:`Clone`)}),K(`click`,c,e=>t.onbrowsefiles(e.currentTarget)),Nr(`submit`,l,i),Ni(h,()=>G(n),e=>R(n,e)),J(e,a),Qe()}Pr([`click`,`change`]);var Zl=class{transport;isRepository;onChange;errorMessage;#e={workspaceId:null,summary:null,loading:!1,refreshing:!1,checkingOut:!1,error:null};#t=0;#n=null;#r=!1;constructor(e,t,n,r){this.transport=e,this.isRepository=t,this.onChange=n,this.errorMessage=r}get state(){return this.#e}select(e){this.#a();let t=e,n=!!(t&&this.isRepository(t));this.#s({workspaceId:t,summary:null,loading:n,refreshing:!1,checkingOut:!1,error:null}),n&&this.refresh()}async refresh(){let e=this.#e.workspaceId;if(!e||!this.isRepository(e))return;let t=this.#i(),n=this.#t;this.#s({...this.#e,loading:!0,error:null});try{let r=await this.transport.getSummary(e,t.signal);this.#o(n,e,t)&&this.#s({...this.#e,summary:r,loading:!1})}catch(r){this.#o(n,e,t)&&!t.signal.aborted&&this.#s({...this.#e,summary:null,loading:!1,error:this.errorMessage(r,`GIT_SUMMARY_FAILED`)})}}async pull(e){let t=this.#e.workspaceId;if(!t||this.#e.refreshing)return;let n=this.#i(),r=this.#t;this.#s({...this.#e,refreshing:!0,error:null});try{await this.transport.pull(t,e,n.signal),this.#o(r,t,n)&&(this.#s({...this.#e,refreshing:!1}),await this.refresh())}catch(e){this.#o(r,t,n)&&!n.signal.aborted&&this.#s({...this.#e,refreshing:!1,error:this.errorMessage(e,`GIT_PULL_FAILED`)})}}async checkout(e){let t=this.#e.workspaceId;if(!t||this.#e.checkingOut||e===this.#e.summary?.branch)return;let n=this.#i(),r=this.#t;this.#s({...this.#e,checkingOut:!0,error:null});try{await this.transport.checkout(t,e,n.signal),this.#o(r,t,n)&&(this.#s({...this.#e,checkingOut:!1}),await this.refresh())}catch(e){this.#o(r,t,n)&&!n.signal.aborted&&this.#s({...this.#e,checkingOut:!1,error:this.errorMessage(e,`GIT_CHECKOUT_FAILED`)})}}dispose(){this.#r=!0,this.#a()}#i(){return this.#a(),this.#n=new AbortController,++this.#t,this.#n}#a(){this.#n?.abort(),this.#n=null,++this.#t}#o(e,t,n){return!this.#r&&e===this.#t&&this.#e.workspaceId===t&&this.#n===n}#s(e){this.#r||(this.#e=e,this.onChange(e))}};function Ql(e,t,n,r,i){let a=new Set($l(e).filter(e=>e.isGitRepository).map(e=>e.id)),o=Tl(t,n),s=o?$l(o.children).filter(e=>e.isGitRepository&&!a.has(e.id)):[],c=eu(r),l=s.find(e=>e.name===c)??(s.length===1?s[0]:void 0),u=l?.id??o?.id??null,d=new Set(i);return u&&wl(t,u).forEach(e=>d.add(e)),!l&&o&&d.add(o.id),{selectedId:u,expandedIds:d}}function $l(e){let t=[],n=e=>{t.push(e),e.children.forEach(n)};return e.forEach(n),t}function eu(e){return(e.trim().replace(/[?#].*$/,``).replace(/\/+$/,``).split(/[/:]/).at(-1)??``).replace(/\.git$/i,``)}function tu(e){if(typeof e!=`object`||!e)return null;let t=e.permissions;if(typeof t!=`object`||!t)return null;let n=t;return{permissions:{...n.network===null||n.network===void 0?{}:{network:n.network},...n.fileSystem===null||n.fileSystem===void 0?{}:{fileSystem:n.fileSystem}},scope:`turn`}}function nu(e){return{answers:Object.fromEntries(e.filter(e=>e.answer.trim()).map(e=>[e.id,{answers:[e.answer]}]))}}function ru(e=fetch){async function t(e){let t=await e.json().catch(()=>null),n=typeof t?.code==`string`&&/^[A-Z0-9_]+$/.test(t.code)?t.code:void 0,r=n?.startsWith(`AUTOPILOT_`)&&e.status===409?`Relay request failed (${e.status}).`:typeof t?.detail==`string`&&t.detail.length<=600?t.detail:typeof t?.title==`string`?t.title:`Relay request failed (${e.status}).`;return Object.assign(Error(r),{...n?{code:n}:{},...typeof t?.replaceAllowed==`boolean`?{replaceAllowed:t.replaceAllowed}:{},status:e.status})}async function n(n,r,i={},a){let o=await e(n,{method:`POST`,headers:{"content-type":`application/json`,...i},body:JSON.stringify(r),signal:a});if(!o.ok)throw await t(o);return o.json()}async function r(n,r,i={}){let a=await e(n,{method:`PUT`,headers:{"content-type":`application/json`,...i},body:JSON.stringify(r)});if(!a.ok)throw await t(a);return a.json()}async function i(n,r,i,a){let o=await e(n,{method:`PUT`,headers:{"content-type":`application/octet-stream`,"idempotency-key":i},body:r,signal:a});if(!o.ok)throw await t(o);return o.json()}async function a(n,r,i){let a=await e(n,{method:`DELETE`,headers:{"content-type":`application/json`,"idempotency-key":i},body:JSON.stringify(r)});if(!a.ok)throw await t(a);return a.json()}async function o(n){let r=await e(n,{method:`DELETE`});if(!r.ok)throw await t(r)}async function s(n,r){let i=await e(n,r?{signal:r}:void 0);if(!i.ok)throw await t(i);return i.json()}async function c(n,r){let i=await e(n,{signal:r});if(i.status===204)return null;if(!i.ok)throw await t(i);return i.json()}return{listSessions:e=>s(`/api/sessions`,e),listWorkspaceDirectory:(e,t={},n)=>{let r=new URLSearchParams;t.directory!==void 0&&r.set(`directory`,t.directory),t.cursor!==void 0&&r.set(`cursor`,t.cursor),t.limit!==void 0&&r.set(`limit`,String(t.limit));let i=r.size===0?``:`?${r}`;return s(`/api/workspaces/${encodeURIComponent(e)}/files${i}`,n)},copyWorkspaceEntry:(e,t,r)=>n(`/api/workspaces/${encodeURIComponent(e)}/files/copy`,t,{"idempotency-key":r}),moveWorkspaceEntry:(e,t,r)=>n(`/api/workspaces/${encodeURIComponent(e)}/files/move`,t,{"idempotency-key":r}),uploadWorkspaceFile:(e,t,n,r)=>{let a=new URLSearchParams({directory:t.directory,filename:t.filename,conflict:t.conflict});return i(`/api/workspaces/${encodeURIComponent(e)}/files/upload?${a}`,t.file,n,r)},deleteWorkspaceEntry:(e,t,n)=>a(`/api/workspaces/${encodeURIComponent(e)}/files`,{path:t,recursive:!0},n),getSession:e=>s(`/api/sessions/${encodeURIComponent(e)}`),refreshActivity:e=>n(`/api/sessions/${encodeURIComponent(e)}/activity/refresh`,{}),setAutopilot:(e,t,n)=>r(`/api/sessions/${encodeURIComponent(e)}/autopilot`,{enabled:t},n?{"idempotency-key":n}:{}),resolveAttention:(e,t,r)=>n(`/api/sessions/${encodeURIComponent(e)}/attention/${encodeURIComponent(t)}/resolve`,r),listRecentSessions:()=>s(`/api/sessions/recent-threads`),openRecentSession:(e,t)=>n(`/api/sessions/recent-threads/open`,{threadId:e,cwd:t}),startSession:(e,t={},r)=>n(`/api/sessions`,{workspaceId:e,profile:`default`,...t},r?{"idempotency-key":r}:{}),startTurn:(e,t,r)=>n(`/api/sessions/${encodeURIComponent(e)}/turns`,{text:t},r?{"idempotency-key":r}:{}),selectModel:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/model`,{model:t}),interruptTurn:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/turns/${encodeURIComponent(t)}/interrupt`,{}),queueTurnInput:(e,t,r,i)=>n(`/api/sessions/${encodeURIComponent(e)}/turns/${encodeURIComponent(t)}/queue`,{text:r},i?{"idempotency-key":i}:{}),restoreSession:e=>n(`/api/sessions/${encodeURIComponent(e)}/restore`,{}),releaseSession:e=>n(`/api/sessions/${encodeURIComponent(e)}/release`,{}),forgetSession:n=>e(`/api/sessions/${encodeURIComponent(n)}`,{method:`DELETE`}).then(async e=>{if(!e.ok)throw await t(e)}),getHistory:e=>s(`/api/sessions/${encodeURIComponent(e)}/history`),getPlan:(e,t)=>c(`/api/sessions/${encodeURIComponent(e)}/plan`,t),closePlan:e=>o(`/api/sessions/${encodeURIComponent(e)}/plan`),listWorkspacePlans:(e,t)=>s(`/api/workspaces/${encodeURIComponent(e)}/plans`,t),getWorkspacePlan:(e,t,n)=>s(`/api/workspaces/${encodeURIComponent(e)}/plans/${encodeURIComponent(t)}`,n),openSessionPlan:(e,t)=>r(`/api/sessions/${encodeURIComponent(e)}/plan`,{planName:t}),getGitSummary:(e,t)=>s(`/api/git/repositories/${encodeURIComponent(e)}`,t),cloneGitRepository:(e,t)=>n(`/api/git/clone`,{workspaceId:e,address:t}),refreshGit:(e,t)=>n(`/api/git/repositories/${encodeURIComponent(e)}/refresh`,{},t?{"idempotency-key":t}:{}),pullGit:(e,t,r)=>n(`/api/git/repositories/${encodeURIComponent(e)}/pull`,{},t?{"idempotency-key":t}:{},r),checkoutGitBranch:(e,t,r)=>n(`/api/git/repositories/${encodeURIComponent(e)}/checkout`,{branch:t},{},r),pushGit:(e,t)=>n(`/api/git/repositories/${encodeURIComponent(e)}/push`,{},t?{"idempotency-key":t}:{}),listAvailableSkills:(e,t,n=!1,r)=>s(`/api/skills?${new URLSearchParams({workspaceId:e,profile:t,...n?{refresh:`true`}:{}}).toString()}`,r),listSkillProfiles:e=>s(`/api/skill-profiles`,e),replaceSkillProfile:(e,t)=>r(`/api/skill-profiles/${encodeURIComponent(e)}`,t),deleteSkillProfile:e=>o(`/api/skill-profiles/${encodeURIComponent(e)}`),respondInteraction:(e,t,r,i)=>n(`/api/sessions/${encodeURIComponent(e)}/interactions/${encodeURIComponent(t)}`,r,i?{"idempotency-key":i}:{})}}async function iu(e,t=globalThis.navigator?.clipboard,n=ou){if(!t)return au(e,n);try{return await t.writeText(e),!0}catch{return au(e,n)}}function au(e,t){try{return t(e)}catch{return!1}}function ou(e){if(typeof document>`u`||!document.body)return!1;let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed;opacity:0`,document.body.append(t),t.select();let n=document.execCommand(`copy`);return t.remove(),n}var su=[`authoring-start`,`work-start`,`checkpoint`,`update`,`supervision-start`,`resync`];function cu(e){return typeof e==`string`&&su.includes(e)}function lu(e){if(!e||typeof e!=`object`)return!1;let t=e;return uu(t.plan)&&(t.reason===null||cu(t.reason))}function uu(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 du(e){return e instanceof Error?e.message:`Could not load the plan.`}function fu(e){return{...e,...e.skills?{skills:[...e.skills]}:{},description:{...e.description},children:e.children.map(fu)}}function pu(e){return{...e,steps:e.steps.map(fu)}}function mu(e,t){return e.kind===`unavailable`&&e.sessionId===t}function hu(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:pu(e)}:{kind:`unavailable`,sessionId:t})}).catch(e=>{o?.signal.aborted||a!==i||n!==t||c({kind:`error`,sessionId:t,error:du(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`&&(uu(t.payload)||lu(t.payload))){let n=lu(t.payload)?t.payload.plan:t.payload;s=t.sequence,c({kind:`ready`,sessionId:e,plan:pu(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`):mu(r,t)?`chat`:null:null}catch(e){return n===t?a===o?(c({kind:`error`,sessionId:t,plan:i,error:du(e)}),null):mu(r,t)?`chat`:null:null}},dispose(){o?.abort(),o=null,n=null,++i,c({kind:`unavailable`,sessionId:null})}}}function gu(e){if(!e)return null;let t=_u(e.steps,e.currentStepId)?.measurement?.weeklyRemainingCurrent;return typeof t==`number`&&Number.isFinite(t)&&t>=0&&t<=100?Math.round(t):null}function _u(e,t){for(let n of e){if(n.id===t)return n;let e=_u(n.children,t);if(e)return e}}var vu=q(`<span class="wip-effort svelte-hmxg46"> </span>`),yu=q(`<li class="svelte-hmxg46"><span class="wip-position svelte-hmxg46" aria-hidden="true"> </span> <span class="wip-title svelte-hmxg46"> </span> <!></li>`),bu=q(`<ol class="wip-steps svelte-hmxg46" aria-label="Work in progress plan steps"></ol>`),xu=q(`<li class="svelte-hmxg46"><span aria-hidden="true" class="position svelte-hmxg46"> </span> <span aria-hidden="true" class="state"> </span></li>`),Su=q(`<ol class="step-markers svelte-hmxg46" aria-label="Plan step progress"></ol>`),Cu=q(`<div><div class="progress-heading svelte-hmxg46"><span> </span></div> <progress class="svelte-hmxg46"> </progress> <!></div>`);function wu(e,t){Ze(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:ya(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:ya(t+1,n+1),state:e.state,level:e.level,title:e.title}))])),a=F(()=>G(i).filter(e=>e.state===`WIP`)),o=F(()=>Math.max(t.plan.totalSteps,1));var s=Cu(),c=z(s),l=z(c),u=z(l);M(l),M(c);var d=V(c,2),f=z(d);M(d);var p=V(d,2),m=e=>{var n=bu();Z(n,21,()=>G(a),e=>e.id,(e,n)=>{var r=yu(),i=z(r),a=z(i);M(i);var o=V(i,2),s=z(o,!0);M(o);var c=V(o,2),l=e=>{var t=vu(),r=z(t);M(t),H(()=>Y(r,`Effort: ${G(n).effort??``}`)),J(e,t)};X(c,e=>{G(n).level===1&&G(n).effort&&e(l)}),M(r),H(()=>{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)}),M(n),J(e,n)},h=e=>{var n=Su();Z(n,21,()=>G(i),e=>e.id,(e,n)=>{var r=xu(),i=z(r),a=z(i,!0);M(i);var o=V(i,2),s=z(o,!0);M(o),M(r),H(()=>{Q(r,`data-state`,G(n).state),Q(r,`aria-current`,G(n).id===t.plan.currentStepId?`step`:void 0),Q(r,`aria-label`,`${G(n).position}: ${G(n).state}`),Y(a,G(n).position),Y(s,G(n).state)}),J(e,r)}),M(n),J(e,n)};X(p,e=>{n()&&G(a).length?e(m):!n()&&G(i).length&&e(h,1)}),M(s),H(()=>{gi(s,1,ui([`plan-progress`,{compact:n()}]),`svelte-hmxg46`),Y(u,`${t.plan.doneSteps??``} / ${t.plan.totalSteps??``} complete`),Q(d,`aria-label`,r()),Oi(d,t.plan.doneSteps),Q(d,`max`,G(o)),Y(f,`${t.plan.doneSteps??``} of ${t.plan.totalSteps??``} complete`)}),J(e,s),Qe()}var Tu=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>`),Eu=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>`),Du=q(`<section aria-labelledby="plan-title" class="svelte-3rmyvg"><h2 id="plan-title" class="svelte-3rmyvg">Plan</h2> <p class="svelte-3rmyvg"> </p></section>`),Ou=q(`<p class="svelte-3rmyvg"> </p>`),ku=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Subtitle</dt> <dd class="svelte-3rmyvg"> </dd></div>`),Au=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Date</dt> <dd class="svelte-3rmyvg"> </dd></div>`),ju=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Keywords</dt> <dd class="svelte-3rmyvg"> </dd></div>`),Mu=q(`<dl class="metadata svelte-3rmyvg"><!> <!> <!></dl>`),Nu=q(`<p class="svelte-3rmyvg">No plan steps have been retained yet.</p>`),Pu=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg"> </strong> </p>`),Fu=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg">Skills:</strong> </p>`),Iu=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>`),Lu=q(`<ol class="svelte-3rmyvg"></ol>`),Ru=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>`),zu=q(`<ol class="plan-steps svelte-3rmyvg"></ol>`),Bu=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>`),Vu=q(`<p class="visually-hidden svelte-3rmyvg" aria-live="polite" aria-atomic="true"> </p> <!>`,1);function Hu(e,t){Ze(t,!0);let n={effort:`Effort`,goal:`Goal`,notes:`Notes`,why:`Why`,change:`Change`,tests:`Tests`,doneWhen:`Done when`},r=L(on(new Set)),i=on({}),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)?f(G(s).steps,G(s).currentStepId):void 0),l=F(()=>G(s)?p(G(s).steps,G(s).currentStepId):void 0),u=F(()=>G(s)?m(G(s).steps,G(s).currentStepId):new Set),d=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)?`Current step: ${G(l)} ${G(c).title}, ${G(c).state}. ${G(s).doneSteps} of ${G(s).totalSteps} complete.${t.state.kind===`error`?` ${t.state.error}`:``}`:`${G(s).doneSteps} of ${G(s).totalSteps} plan steps complete.${t.state.kind===`error`?` ${t.state.error}`:``}`:``);Mn(()=>{let e=G(s)?.currentStepId||null;if(!e||a===e)return;a=e;let t=++o;Cr().then(()=>{t!==o||G(s)?.currentStepId!==e||i[e]?.scrollIntoView({behavior:`auto`,block:`nearest`,inline:`nearest`})})});function f(e,t){for(let n of e){if(n.id===t)return n;let e=f(n.children,t);if(e)return e}}function p(e,t){for(let[n,r]of e.entries()){if(r.id===t)return ya(n+1);let e=r.children.findIndex(e=>e.id===t);if(e>=0)return ya(n+1,e+1)}}function m(e,t,n=[]){for(let r of e){if(r.id===t)return new Set([...n,r.id]);let e=m(r.children,t,[...n,r.id]);if(e.size)return e}return new Set}function h(e){return G(r).has(e)||G(u).has(e)}function g(e,t){R(r,t?new Set([...G(r),e]):new Set([...G(r)].filter(t=>t!==e)),!0)}function _(e){return e.description.goal??e.description.why??e.title}function v(e){let t=e.measurement;if(!t)return`Measurements unavailable`;let n=[];return t.elapsedSeconds!==void 0&&n.push(`${Math.floor(t.elapsedSeconds/60)}m ${t.elapsedSeconds%60}s elapsed`),t.weeklyPercentUsed!==void 0&&n.push(`${t.weeklyPercentUsed}% observed account-wide usage`),t.tokensUsed!==void 0&&n.push(`${t.tokensUsed.toLocaleString()} tokens used`),n.join(` · `)||`Measurements unavailable`}function y(e){return Object.keys(n).flatMap(t=>{let r=e.description[t];return r?[[n[t],r]]:[]})}var b=Vu(),x=B(b),S=z(x,!0);M(x);var w=V(x,2),T=e=>{J(e,Tu())},E=e=>{J(e,Eu())},D=e=>{var n=Du(),r=V(z(n),2),i=z(r,!0);M(r),M(n),H(()=>Y(i,t.state.error)),J(e,n)},O=e=>{var n=Bu(),r=z(n),a=z(r),o=z(a),u=z(o,!0);M(o),M(a);var d=V(a,2);M(r);var f=V(r,2);wu(f,{get plan(){return G(s)}});var p=V(f,2),m=z(p);M(p);var b=V(p,2),x=e=>{var n=Ou(),r=z(n,!0);M(n),H(()=>Y(r,t.state.error)),J(e,n)};X(b,e=>{t.state.kind===`error`&&e(x)});var S=V(b,2),w=e=>{var t=Mu(),n=z(t),r=e=>{var t=ku(),n=V(z(t),2),r=z(n,!0);M(n),M(t),H(()=>Y(r,G(s).subtitle)),J(e,t)};X(n,e=>{G(s).subtitle&&e(r)});var i=V(n,2),a=e=>{var t=Au(),n=V(z(t),2),r=z(n,!0);M(n),M(t),H(()=>Y(r,G(s).date)),J(e,t)};X(i,e=>{G(s).date&&e(a)});var o=V(i,2),c=e=>{var t=ju(),n=V(z(t),2),r=z(n,!0);M(n),M(t),H(()=>Y(r,G(s).keywords)),J(e,t)};X(o,e=>{G(s).keywords&&e(c)}),M(t),J(e,t)};X(S,e=>{(G(s).subtitle||G(s).date||G(s).keywords)&&e(w)});var T=V(S,2),E=e=>{J(e,Nu())},D=e=>{var t=zu();Z(t,23,()=>G(s).steps,e=>e.id,(e,t,n)=>{var r=Ru(),a=z(r),o=z(a),s=z(o),c=z(s),l=z(c,!0);M(c);var u=V(c);M(s);var d=V(s,2),f=z(d);M(d);var p=V(d,2),m=z(p,!0);M(p);var b=V(p,2),x=z(b,!0);M(b),M(o);var S=V(o,2);Z(S,17,()=>y(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=Pu(),o=z(a),s=z(o);M(o);var c=V(o);M(a),H(()=>{Y(s,`${r()??``}:`),Y(c,` ${i()??``}`)}),J(e,a)});var w=V(S,2),T=e=>{var n=Fu(),r=V(z(n));M(n),H(e=>Y(r,` ${e??``}`),[()=>G(t).skills.join(`, `)]),J(e,n)};X(w,e=>{G(t).skills?.length&&e(T)});var E=V(w,2),D=e=>{var r=Lu();Z(r,23,()=>G(t).children,e=>e.id,(e,t,r)=>{var a=Iu(),o=z(a),s=z(o),c=z(s),l=z(c),u=z(l,!0);M(l);var d=V(l);M(c);var f=V(c,2),p=z(f);M(f);var m=V(f,2),v=z(m,!0);M(m),M(s);var b=V(s,2);Z(b,17,()=>y(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=Pu(),o=z(a),s=z(o);M(o);var c=V(o);M(a),H(()=>{Y(s,`${r()??``}:`),Y(c,` ${i()??``}`)}),J(e,a)});var x=V(b,2),S=e=>{var n=Fu(),r=V(z(n));M(n),H(e=>Y(r,` ${e??``}`),[()=>G(t).skills.join(`, `)]),J(e,n)};X(x,e=>{G(t).skills?.length&&e(S)}),M(o),Li(o,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(t)]),M(a),H((e,n,r)=>{Q(o,`data-step-id`,G(t).id),o.open=e,Y(u,n),Y(d,` ${G(t).title??``}`),Y(p,`${G(t).state??``} · Priority ${G(t).priority??``}${G(t).reviewStatus?` · ${G(t).reviewStatus}`:``}`),Y(v,r)},[()=>h(G(t).id),()=>ya(G(n)+1,G(r)+1),()=>_(G(t))]),Nr(`toggle`,o,e=>g(G(t).id,e.currentTarget.open)),J(e,a)}),M(r),J(e,r)};X(E,e=>{G(t).children.length&&e(D)}),M(a),Li(a,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(t)]),M(r),H((e,n,r,i)=>{Q(a,`data-step-id`,G(t).id),a.open=e,Y(l,n),Y(u,` ${G(t).title??``}`),Y(f,`${G(t).state??``} · Priority ${G(t).priority??``}${G(t).reviewStatus?` · ${G(t).reviewStatus}`:``}`),Y(m,r),Y(x,i)},[()=>h(G(t).id),()=>ya(G(n)+1),()=>_(G(t)),()=>v(G(t))]),Nr(`toggle`,a,e=>g(G(t).id,e.currentTarget.open)),J(e,r)}),M(t),J(e,t)};X(T,e=>{G(s).steps.length===0?e(E):e(D,-1)}),M(n),H(()=>{Y(u,G(s).title),Y(m,`Current: ${G(c)?`${G(l)} ${G(c).title} (${G(c).state})`:`No current step`}`)}),K(`click`,d,function(...e){t.onclose?.apply(this,e)}),J(e,n)};X(w,e=>{t.state.kind===`loading`?e(T):t.state.kind===`unavailable`?e(E,1):t.state.kind===`error`&&!G(s)?e(D,2):G(s)&&e(O,3)}),H(()=>Y(S,G(d))),J(e,b),Qe()}Pr([`click`]);var Uu=/^(\*+)\s+(?:(TODO|WIP|DONE)\s+)?(?:\[#([ABC])\]\s+)?(.+)$/,Wu=/^#\+([A-Z][A-Z0-9_-]*):\s*(.*)$/i,Gu=/^:([A-Z][A-Z0-9_]*):\s*(.*)$/,Ku=/^-\s+([^:]+?)\s+::\s*(.*)$/;function qu(e){let t=[],n=[],r=[],i=e.replace(/\r\n?/g,`
17
17
  `).split(`
18
- `),a=null,o=!1,s=()=>{a&&r.push({...a,properties:[...a.properties],descriptions:[...a.descriptions],body:Gu(a.body)})};for(let e of i){let r=Bu.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=Vu.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=Hu.exec(e);t&&a.properties.push([t[1],t[2].trim()]);continue}let i=Uu.exec(e);i?a.descriptions.push([i[1].trim(),i[2].trim()]):a.body.push(e)}return s(),{metadata:t,preamble:Gu(n),sections:r}}function Gu(e){let t=[...e];for(;t[0]?.trim()===``;)t.shift();for(;t.at(-1)?.trim()===``;)t.pop();return t}var Ku=q(`<div class="svelte-h7gaqo"><dt class="svelte-h7gaqo"> </dt> <dd class="svelte-h7gaqo"> </dd></div>`),qu=q(`<dl class="metadata svelte-h7gaqo"></dl>`),Ju=q(`<p class="svelte-h7gaqo"> </p>`),Yu=q(`<p class="svelte-h7gaqo">This Org document has no headings.</p>`),Xu=q(`<h3 class="svelte-h7gaqo"> </h3>`),Zu=q(`<h4 class="svelte-h7gaqo"> </h4>`),Qu=q(`<span> </span>`),$u=q(`<span class="priority svelte-h7gaqo"> </span>`),ed=q(`<dl class="descriptions svelte-h7gaqo"></dl>`),td=q(`<p> </p>`),nd=q(`<details class="properties svelte-h7gaqo"><summary class="svelte-h7gaqo">Properties</summary> <dl class="svelte-h7gaqo"></dl></details>`),rd=q(`<section class="org-section svelte-h7gaqo"><div class="section-heading svelte-h7gaqo"><!> <!> <!></div> <!> <!> <!></section>`),id=q(`<div class="sections svelte-h7gaqo"></div>`),ad=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 od(e,t){Ze(t,!0);let n=F(()=>Wu(t.preview.source)),r=F(()=>G(n).metadata.filter(([e])=>e!==`TITLE`));var i=ad(),a=z(i),o=z(a),s=z(o),c=z(s,!0);M(s);var l=V(s,2),u=z(l,!0);M(l),M(o);var d=V(o,2);M(a);var f=V(a,2),p=e=>{var t=qu();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=Ku(),o=z(a),s=z(o,!0);M(o);var c=V(o,2),l=z(c,!0);M(c),M(a),H(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),M(t),J(e,t)};X(f,e=>{G(r).length&&e(p)});var m=V(f,2);Z(m,19,()=>G(n).preamble,(e,t)=>`preamble:${t}:${e}`,(e,t)=>{var n=Hr(),r=B(n),i=e=>{var n=Ju(),r=z(n,!0);M(n),H(()=>Y(r,G(t))),J(e,n)},a=F(()=>G(t).trim());X(r,e=>{G(a)&&e(i)}),J(e,n)});var h=V(m,2),g=e=>{J(e,Yu())},_=e=>{var t=id();Z(t,23,()=>G(n).sections,(e,t)=>`${t}:${e.level}:${e.title}`,(e,t)=>{var n=rd();let r;var i=z(n),a=z(i),o=e=>{var n=Xu(),r=z(n,!0);M(n),H(()=>Y(r,G(t).title)),J(e,n)},s=e=>{var n=Zu(),r=z(n,!0);M(n),H(()=>Y(r,G(t).title)),J(e,n)};X(a,e=>{G(t).level===1?e(o):e(s,-1)});var c=V(a,2),l=e=>{var n=Qu(),r=z(n,!0);M(n),H(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=V(c,2),d=e=>{var n=$u(),r=z(n);M(n),H(()=>Y(r,`Priority ${G(t).priority??``}`)),J(e,n)};X(u,e=>{G(t).priority&&e(d)}),M(i);var f=V(i,2),p=e=>{var n=ed();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=Ku(),o=z(a),s=z(o,!0);M(o);var c=V(o,2),l=z(c,!0);M(c),M(a),H(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),M(n),J(e,n)};X(f,e=>{G(t).descriptions.length&&e(p)});var m=V(f,2);Z(m,19,()=>G(t).body,(e,t)=>`${t}:${e}`,(e,t)=>{var n=Hr(),r=B(n),i=e=>{var n=td();let r;var i=z(n,!0);M(n),H(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=V(m,2),g=e=>{var n=nd(),r=V(z(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=Ku(),o=z(a),s=z(o,!0);M(o);var c=V(o,2),l=z(c,!0);M(c),M(a),H(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),M(r),M(n),J(e,n)};X(h,e=>{G(t).properties.length&&e(g)}),M(n),H(e=>r=vi(n,``,r,e),[()=>({"--org-depth":Math.max(0,G(t).level-1)})]),J(e,n)}),M(t),J(e,t)};X(h,e=>{G(n).sections.length===0?e(g):e(_,-1)}),M(i),H(()=>{Y(c,t.preview.title),Y(u,t.preview.planName)}),K(`click`,d,function(...e){t.onclose?.apply(this,e)}),J(e,i),Qe()}Pr([`click`]);var sd=q(`<p>Select a workspace to browse its local plans.</p>`),cd=q(`<p>Loading workspace plans…</p>`),ld=q(`<p> </p>`),ud=q(`<p>No Org files were found below this workspace.</p>`),dd=q(`<span> </span>`),fd=q(`<span> </span> <!>`,1),pd=q(`<span>Org document</span>`),md=q(`<li><button class="svelte-x2ko9l"><strong> </strong> <code class="svelte-x2ko9l"> </code> <!></button></li>`),hd=q(`<p class="scope svelte-x2ko9l">Org files below the selected workspace.</p> <ul class="svelte-x2ko9l"></ul>`,1),gd=q(`<section class="plans svelte-x2ko9l" aria-labelledby="plans-title"><h2 id="plans-title" tabindex="-1" class="svelte-x2ko9l">Plans</h2> <!></section>`);function _d(e,t){Ze(t,!0);let n=L(null),r=on({}),i=L(null),a=!1,o=!1;function s(){t.onclose()}function c(e){R(i,e,!0),t.onopen(e)}Mn(()=>{if(t.state){a=!0;return}if(a&&(a=!1,o=!0),!o)return;let e=t.catalog.kind,s=G(i);queueMicrotask(()=>{let t=s?r[s]:void 0;t?.isConnected?(t.focus(),o=!1):e!==`loading`&&(G(n)?.focus(),o=!1)})});var l=Hr(),u=B(l),d=e=>{od(e,{get preview(){return t.state},onclose:s})},f=e=>{zu(e,{get state(){return t.state},onclose:s})},p=e=>{var i=gd(),a=z(i);Li(a,e=>R(n,e),()=>G(n));var o=V(a,2),s=e=>{J(e,sd())},l=e=>{J(e,cd())},u=e=>{var n=ld(),r=z(n,!0);M(n),H(()=>Y(r,t.catalog.error)),J(e,n)},d=e=>{J(e,ud())},f=e=>{var n=hd(),i=V(B(n),2);Z(i,21,()=>t.catalog.entries,e=>e.planName,(e,t)=>{var n=md(),i=z(n),a=z(i),o=z(a,!0);M(a);var s=V(a,2),l=z(s,!0);M(s);var u=V(s,2),d=e=>{var n=fd(),r=B(n),i=z(r);M(r);var a=V(r,2),o=e=>{var n=dd(),r=z(n,!0);M(n),H(()=>Y(r,G(t).subtitle)),J(e,n)};X(a,e=>{G(t).subtitle&&e(o)}),H(()=>Y(i,`${G(t).doneSteps??``} / ${G(t).totalSteps??``} complete`)),J(e,n)},f=e=>{J(e,pd())};X(u,e=>{G(t).previewAvailable===!1?e(f,-1):e(d)}),M(i),Li(i,(e,t)=>r[t.planName]=e,e=>r?.[e.planName],()=>[G(t)]),M(n),H(()=>{Y(o,G(t).title),Y(l,G(t).planName)}),K(`click`,i,()=>c(G(t).planName)),J(e,n)}),M(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)}),M(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),Qe()}Pr([`click`]);var vd=`settings`,yd=`drafts`,bd=`cursors`,xd=`selected-session`;function Sd(e=globalThis.indexedDB){if(!e)return Cd;let t=uc(e);return{async readSelectedSession(){try{return await dc(await t,vd,xd)??null}catch{return null}},async saveSelectedSession(e){try{let n=await t;e?await fc(n,vd,xd,e):await pc(n,vd,xd)}catch{}},async readDraft(e){try{return await dc(await t,yd,e)??``}catch{return``}},async saveDraft(e,n){try{await fc(await t,yd,e,n)}catch{}},async readCursor(e){try{let n=await dc(await t,bd,e);return typeof n==`number`&&Number.isSafeInteger(n)&&n>=0?n:0}catch{return 0}},async saveCursor(e,n){try{await fc(await t,bd,e,n)}catch{}}}}var Cd={readSelectedSession:async()=>null,saveSelectedSession:async()=>{},readDraft:async()=>``,saveDraft:async()=>{},readCursor:async()=>0,saveCursor:async()=>{}};function wd(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 Td(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 Ed(e,t){if(!t?.threadId||!t.workspacePath||!t.resumeCommand||e.some(e=>e.id===t.threadId))return e;let n=t.updatedAt?Date.parse(t.updatedAt)/1e3:NaN,r={id:t.threadId,cwd:t.workspacePath,recencyAt:Number.isFinite(n)?n:null,resumeCommand:t.resumeCommand,...t.model===void 0?{}:{model:t.model},...t.effectiveSkillSelection?.selectedProfileName===void 0?{}:{skillProfile:t.effectiveSkillSelection.selectedProfileName},...t.lastOrgPlan===void 0?{}:{orgPlanFilename:t.lastOrgPlan.filename}};return[...e,r].sort((e,t)=>(t.recencyAt??-1/0)-(e.recencyAt??-1/0))}function Dd(e){let t=/^\/home\/[^/]+/.exec(e)?.[0];if(!t)return e;let n=e.slice(t.length);return n?`~${n}`:`~/`}var Od=q(`<time> </time>`),kd=q(`<div> </div>`),Ad=q(`<span class="profile-badge svelte-hxb22h"> </span>`),jd=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>`),Md=q(`<div class="session-plan-progress svelte-hxb22h"><!></div>`),Nd=q(`<li><div class="session-actions svelte-hxb22h" aria-label="Session actions"><!> <!> <!> <!> <!></div> <div class="session-details svelte-hxb22h"><div class="session-summary"><!> <div class="workspace-path svelte-hxb22h"> </div> <!> <!> <!> <!></div> <!> <!></div> <!></li>`),Pd=q(`<section aria-labelledby="open-sessions-title"><h3 id="open-sessions-title">Open sessions</h3> <ul class="session-list svelte-hxb22h" aria-label="Open sessions"></ul></section>`),Fd=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>`),Id=q(`<ul class="session-list svelte-hxb22h" aria-label="Saved sessions"></ul>`),Ld=q(`<p>No saved sessions yet.</p>`),Rd=q(`<option> </option>`),zd=q(`<p class="skills-profile-error svelte-hxb22h" role="alert"> </p>`),Bd=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>`),Vd=q(`<ul class="session-list recent-session-list svelte-hxb22h" aria-label="Recent sessions"></ul>`),Hd=q(`<p>No other recent Codex sessions found.</p>`),Ud=q(`<section aria-labelledby="sessions-title"><h2 id="sessions-title" class="visually-hidden">Sessions</h2> <!> <!> <form><section class="session-base svelte-hxb22h" aria-labelledby="session-base-title"><div class="session-base-heading svelte-hxb22h"><h3 id="session-base-title" class="svelte-hxb22h">Session base</h3> <p class="svelte-hxb22h">Select the folder or repository Codex should use as its working directory.</p></div> <!></section> <section class="session-settings svelte-hxb22h" aria-label="New session settings"><div class="session-setting-labels svelte-hxb22h"><label for="skills-profile" class="svelte-hxb22h">Skills profile</label> <label for="sandbox" class="svelte-hxb22h">Sandbox</label> <label for="approval-policy" class="svelte-hxb22h">Approval policy</label></div> <div class="session-setting-controls svelte-hxb22h"><select id="skills-profile" class="svelte-hxb22h"><option>Default</option><!></select> <select id="sandbox" class="svelte-hxb22h"><option>workspace-write</option><option>read-only</option><option>danger-full-access</option></select> <select id="approval-policy" aria-describedby="approval-policy-help" class="svelte-hxb22h"><option>Ask on all commands</option><option>Ask out of workspace</option><option>Approve everything</option></select></div> <p id="approval-policy-help">This controls when Codex asks; it does not expand the sandbox's technical permissions.</p> <!> <div class="session-secondary-actions svelte-hxb22h"><!> <div class="model-control svelte-hxb22h"><label for="model">Model</label> <select id="model"></select></div> <!></div></section></form> <section aria-labelledby="recent-sessions-title"><h3 id="recent-sessions-title">Recent sessions</h3> <!></section></section>`);function Wd(e,t){Ze(t,!0);let n=$(t,`activitySnapshots`,19,()=>new Map),r=$(t,`autopilotSnapshots`,19,()=>new Map),i=$(t,`autopilotPending`,19,()=>new Set),a=$(t,`autopilotAttention`,19,()=>new Map),o=$(t,`models`,19,()=>[]),s=$(t,`selectedModel`,3,``),c=$(t,`onmodelchange`,3,()=>{}),l=$(t,`onautopilottoggle`,3,()=>{}),u=$(t,`onautopilotresolve`,3,()=>{}),d=F(()=>t.sessions.filter(e=>e.state===`ready`||e.state===`turnActive`)),f=F(()=>t.sessions.filter(e=>e.state!==`ready`&&e.state!==`turnActive`)),p=F(()=>t.recentSessions.filter(e=>!G(d).some(t=>t.threadId===e.id))),m=F(()=>Tl(t.workspaceTree,t.workspaceId));var h=Ud(),g=V(z(h),2),_=e=>{var s=Pd(),c=V(z(s),2);Z(c,21,()=>G(d),e=>e.id,(e,s)=>{let c=F(()=>Td(G(s)));var d=Nd();let f;var p=z(d),m=z(p);{let e=F(()=>G(s).id===t.selectedSessionId?`page`:void 0);va(m,{compact:!0,full:!0,get current(){return G(e)},onclick:()=>t.onselectopen(G(s).id),children:(e,t)=>{N(),J(e,Vr(`Open`))},$$slots:{default:!0}})}var h=V(m,2),g=e=>{va(e,{compact:!0,full:!0,onclick:()=>t.oncopyresume(G(s).resumeCommand),children:(e,t)=>{N(),J(e,Vr(`Copy`))},$$slots:{default:!0}})};X(h,e=>{G(s).resumeCommand&&e(g)});var _=V(h,2);{let e=F(()=>r().get(G(s).id)??G(s).autopilot??null),t=F(()=>`session-autopilot-${G(s).id}`),n=F(()=>i().has(G(s).id));Ja(_,{compact:!0,indicatorOnly:!0,get autopilot(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},ontoggle:e=>l()(G(s).id,e)})}var v=V(_,2);{let e=F(()=>n().get(G(s).id)??G(s).agentActivity??null),t=F(()=>G(s).model??o()?.[0]);Ma(v,{compact:!0,get activity(){return G(e)},popupAlign:`start`,get rootModel(){return G(t)}})}va(V(v,2),{compact:!0,full:!0,onclick:()=>t.onclose(G(s).id),children:(e,t)=>{N(),J(e,Vr(`Close`))},$$slots:{default:!0}}),M(p);var y=V(p,2),b=z(y),x=z(b),S=e=>{var t=Od(),n=z(t,!0);M(t),H((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(c).updatedAt).toISOString(),()=>wd(G(c).updatedAt)]),J(e,t)},C=e=>{var t=kd(),n=z(t,!0);M(t),H(e=>Y(n,e),[()=>wd(null)]),J(e,t)};X(x,e=>{G(c).updatedAt===null?e(C,-1):e(S)});var w=V(x,2),T=z(w,!0);M(w);var E=V(w,2),D=e=>{var t=Ad(),n=z(t);M(t),H(()=>Y(n,`Model: ${G(s).model??``}`)),J(e,t)};X(E,e=>{G(s).model&&e(D)});var O=V(E,2),k=e=>{var t=Ad(),n=z(t);M(t),H(()=>Y(n,`Branch: ${G(s).branch??``}`)),J(e,t)};X(O,e=>{G(s).branch&&e(k)});var ee=V(O,2),te=e=>{var t=Ad(),n=z(t);M(t),H(()=>Y(n,`Skills profile: ${G(s).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(ee,e=>{G(s).effectiveSkillSelection?.selectedProfileName&&e(te)});var ne=V(ee,2),re=e=>{var t=jd(),n=z(t),r=z(n,!0);M(n);var i=V(n,2),a=z(i,!0);M(i),M(t),H(()=>{Y(r,G(s).lastOrgPlan.title),Y(a,G(s).lastOrgPlan.filename)}),J(e,t)};X(ne,e=>{G(s).lastOrgPlan&&e(re)}),M(b);var ie=V(b,2);{let e=F(()=>a().get(G(s).id)??null),t=F(()=>`session-attention-${G(s).id}`),n=F(()=>i().has(G(s).id));Xa(ie,{get attention(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},onresolve:(e,t)=>u()(G(s).id,e,t)})}var ae=V(ie,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));Qa(ae,{get autopilot(){return G(e)},get attention(){return G(t)},get controlId(){return G(n)},get pending(){return G(o)},onrecover:()=>l()(G(s).id,!0),ondisable:()=>l()(G(s).id,!1)})}M(y);var oe=V(y,2),se=e=>{var t=Md(),n=z(t);{let e=F(()=>`Plan progress for ${G(s).plan.title}`);xu(n,{compact:!0,get plan(){return G(s).plan},get label(){return G(e)}})}M(t),J(e,t)};X(oe,e=>{G(s).plan&&e(se)}),M(d),H(e=>{f=gi(d,1,`managed-session open-session svelte-hxb22h`,null,f,{"current-session":G(s).id===t.selectedSessionId}),Y(T,e)},[()=>Dd(G(c).workspacePath)]),J(e,d)}),M(c),M(s),J(e,s)};X(g,e=>{G(d).length&&e(_)});var v=V(g,2),y=e=>{var n=Id();Z(n,21,()=>G(f),e=>e.id,(e,n)=>{let r=F(()=>Td(G(n)));var i=Fd(),a=z(i),o=z(a);{let e=F(()=>t.openingSessionId===G(n).id);va(o,{compact:!0,full:!0,get disabled(){return G(e)},onclick:()=>t.onopen(G(n).id),children:(e,r)=>{N();var i=Vr();H(()=>Y(i,t.openingSessionId===G(n).id?`Opening…`:`Open`)),J(e,i)},$$slots:{default:!0}})}var s=V(o,2),c=e=>{va(e,{compact:!0,full:!0,onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{N(),J(e,Vr(`Copy`))},$$slots:{default:!0}})};X(s,e=>{G(n).resumeCommand&&e(c)}),va(V(s,2),{compact:!0,full:!0,onclick:()=>t.onforget(G(n).id),children:(e,t)=>{N(),J(e,Vr(`Forget`))},$$slots:{default:!0}}),M(a);var l=V(a,2),u=z(l),d=e=>{var t=Od(),n=z(t,!0);M(t),H((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(r).updatedAt).toISOString(),()=>wd(G(r).updatedAt)]),J(e,t)},f=e=>{var t=kd(),n=z(t,!0);M(t),H(e=>Y(n,e),[()=>wd(null)]),J(e,t)};X(u,e=>{G(r).updatedAt===null?e(f,-1):e(d)});var p=V(u,2),m=z(p,!0);M(p);var h=V(p,2),g=e=>{var t=Ad(),r=z(t);M(t),H(()=>Y(r,`Model: ${G(n).model??``}`)),J(e,t)};X(h,e=>{G(n).model&&e(g)});var _=V(h,2),v=e=>{var t=Ad(),r=z(t);M(t),H(()=>Y(r,`Branch: ${G(n).branch??``}`)),J(e,t)};X(_,e=>{G(n).branch&&e(v)});var y=V(_,2),b=e=>{var t=Ad(),r=z(t);M(t),H(()=>Y(r,`Skills profile: ${G(n).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(y,e=>{G(n).effectiveSkillSelection?.selectedProfileName&&e(b)}),M(l),M(i),H(e=>Y(m,e),[()=>Dd(G(r).workspacePath)]),J(e,i)}),M(n),J(e,n)},b=e=>{J(e,Ld())};X(v,e=>{G(f).length?e(y):G(d).length||e(b,1)});var x=V(v,2),S=z(x),C=V(z(S),2);{let e=F(()=>G(m)?.id??null);Nl(C,{get roots(){return t.workspaceTree},get expandedIds(){return t.expandedIds},get selectedId(){return G(e)},get isSelectable(){return bl.sessionBase},label:`Session base`,get onexpandedchange(){return t.onexpandedchange},onselect:e=>t.onworkspacechange(e.id)})}M(S);var w=V(S,2),T=V(z(w),2),E=z(T),D=z(E);D.value=D.__value=``,Z(V(D),17,()=>t.skillProfiles,e=>e.name,(e,t)=>{var n=Rd(),r=z(n,!0);M(n);var i={};H(()=>{Y(r,G(t).name),i!==(i=G(t).name)&&(n.value=(n.__value=G(t).name)??``)}),J(e,n)}),M(E);var O;bi(E);var k=V(E,2),ee=z(k);ee.value=ee.__value=`workspace-write`;var te=V(ee);te.value=te.__value=`read-only`;var ne=V(te);ne.value=ne.__value=`danger-full-access`,M(k);var re;bi(k);var ie=V(k,2),ae=z(ie);ae.value=ae.__value=`untrusted`;var oe=V(ae);oe.value=oe.__value=`on-request`;var se=V(oe);se.value=se.__value=`never`,M(ie);var ce;bi(ie),M(T);var le=V(T,4),ue=e=>{var n=zd(),r=z(n,!0);M(n),H(()=>Y(r,t.skillProfileError)),J(e,n)};X(le,e=>{t.skillProfileError&&e(ue)});var de=V(le,2),fe=z(de);va(fe,{id:`manage-skill-profiles`,onclick:e=>t.onmanageprofiles(e.currentTarget),children:(e,t)=>{N(),J(e,Vr(`Manage skill profiles`))},$$slots:{default:!0}});var pe=V(fe,2),me=V(z(pe),2);Z(me,20,o,e=>e,(e,t)=>{var n=Rd(),r=z(n,!0);M(n);var i={};H(()=>{Y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),J(e,n)}),M(me);var he;bi(me),M(pe);var ge=V(pe,2);{let e=F(()=>!G(m)||t.startingSession);va(ge,{class:`new-session-button`,type:`submit`,primary:!0,get disabled(){return G(e)},children:(e,n)=>{N();var r=Vr();H(()=>Y(r,t.startingSession?`Creating…`:`Create session`)),J(e,r)},$$slots:{default:!0}})}M(de),M(w),M(x);var _e=V(x,2),ve=V(z(_e),2),ye=e=>{var n=Vd();Z(n,21,()=>G(p),e=>e.id,(e,n)=>{var r=Bd(),i=z(r),a=z(i),o=e=>{var t=Od(),r=z(t,!0);M(t),H((e,n)=>{Q(t,`datetime`,e),Y(r,n)},[()=>new Date(G(n).recencyAt*1e3).toISOString(),()=>wd(G(n).recencyAt*1e3)]),J(e,t)},s=e=>{var t=kd(),n=z(t,!0);M(t),H(e=>Y(n,e),[()=>wd(null)]),J(e,t)};X(a,e=>{G(n).recencyAt===null?e(s,-1):e(o)});var c=V(a,2),l=z(c,!0);M(c);var u=V(c,2),d=e=>{var t=Ad(),r=z(t);M(t),H(()=>Y(r,`Model: ${G(n).model??``}`)),J(e,t)};X(u,e=>{G(n).model&&e(d)});var f=V(u,2),p=e=>{var t=Ad(),r=z(t);M(t),H(()=>Y(r,`Skills profile: ${G(n).skillProfile??``}`)),J(e,t)};X(f,e=>{G(n).skillProfile&&e(p)});var m=V(f,2),h=e=>{var t=Ad(),r=z(t);M(t),H(()=>Y(r,`Org plan: ${G(n).orgPlanFilename??``}`)),J(e,t)};X(m,e=>{G(n).orgPlanFilename&&e(h)}),M(i);var g=V(i,2),_=z(g);va(_,{onclick:()=>t.onopenrecent(G(n)),children:(e,t)=>{N(),J(e,Vr(`Open`))},$$slots:{default:!0}}),va(V(_,2),{onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{N(),J(e,Vr(`Copy`))},$$slots:{default:!0}}),M(g),M(r),H(e=>Y(l,e),[()=>Dd(G(n).cwd)]),J(e,r)}),M(n),J(e,n)},be=e=>{J(e,Hd())};X(ve,e=>{G(p).length?e(ye):e(be,-1)}),M(_e),M(h),H(()=>{O!==(O=t.selectedSkillProfile)&&(E.value=(E.__value=t.selectedSkillProfile)??``,yi(E,t.selectedSkillProfile)),re!==(re=t.sandbox)&&(k.value=(k.__value=t.sandbox)??``,yi(k,t.sandbox)),ce!==(ce=t.approvalPolicy)&&(ie.value=(ie.__value=t.approvalPolicy)??``,yi(ie,t.approvalPolicy)),me.disabled=o().length===0,he!==(he=s())&&(me.value=(me.__value=s())??``,yi(me,s()))}),Nr(`submit`,x,e=>{e.preventDefault(),t.onstart()}),K(`change`,E,e=>t.onskillprofilechange(e.currentTarget.value)),K(`change`,k,e=>t.onsandboxchange(e.currentTarget.value)),K(`change`,ie,e=>t.onapprovalpolicychange(e.currentTarget.value)),K(`change`,me,e=>c()(e.currentTarget.value)),J(e,h),Qe()}Pr([`change`]);function Gd(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 Kd=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 qd({chatEnabled:e}){return[`sessions`,`git`,...e?[`chat`]:[],`plan`]}function Jd(e,t,n={chatEnabled:!0}){let r=qd(n);return r[(r.indexOf(e)+t+r.length)%r.length]}var Yd=q(`<nav class="bottom-navigation" aria-label="Primary"><button>Sessions</button> <button>Git</button> <button>Chat</button> <button>Plan</button></nav>`);function Xd(e,t){Ze(t,!0);let n=$(t,`focusTab`,3,null),r=on({});Mn(()=>{n()&&r[n()]?.focus()});function i(e){let n=e.key===`ArrowRight`?1:e.key===`ArrowLeft`?-1:null;if(n===null)return;e.preventDefault();let i=Jd(t.activeTab,n,{chatEnabled:t.chatEnabled});t.onselect(i),r[i]?.focus()}var a=Yd(),o=z(a);Li(o,e=>r.sessions=e,()=>r?.sessions);var s=V(o,2);Li(s,e=>r.git=e,()=>r?.git);var c=V(s,2);Li(c,e=>r.chat=e,()=>r?.chat);var l=V(c,2);Li(l,e=>r.plan=e,()=>r?.plan),M(a),H(()=>{Q(o,`aria-pressed`,t.activeTab===`sessions`),Q(s,`aria-pressed`,t.activeTab===`git`),Q(c,`aria-pressed`,t.activeTab===`chat`),c.disabled=!t.chatEnabled,Q(l,`aria-pressed`,t.activeTab===`plan`)}),K(`keydown`,o,i),K(`click`,o,()=>t.onselect(`sessions`)),K(`keydown`,s,i),K(`click`,s,()=>t.onselect(`git`)),K(`keydown`,c,i),K(`click`,c,()=>t.onselect(`chat`)),K(`keydown`,l,i),K(`click`,l,()=>t.onselect(`plan`)),J(e,a),Qe()}Pr([`keydown`,`click`]);var Zd=q(`<option> </option>`),Qd=q(`<p id="skills-status" aria-live="polite">Loading skills…</p>`),$d=q(`<p id="skills-status">No skills were discovered for this workspace and Codex profile.</p>`),ef=q(`<p id="skills-status" class="notice svelte-dg6sjj" role="status"> </p>`),tf=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert"> </p>`),nf=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert" tabindex="-1"> </p>`),rf=q(`<p id="skills-status" role="status">Profile saved.</p>`),af=q(`<p id="skills-status" role="status">Profile deleted.</p>`),of=q(`<p class="svelte-dg6sjj"> </p>`),sf=q(`<li> </li>`),cf=q(`<dt class="svelte-dg6sjj">Tool dependencies</dt> <dd class="svelte-dg6sjj"><ul class="svelte-dg6sjj"></ul></dd>`,1),lf=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>`),uf=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),df=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 ff(e,t){Ze(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=df(),C=z(S),w=z(C,!0);M(C);var T=V(C,4),E=z(T),D=V(z(E),2),O=z(D);O.value=O.__value=`__new__`;var k=V(O);k.value=k.__value=`__default__`,Z(V(k),17,()=>G(d),e=>e.name,(e,t)=>{var n=Zd(),r=z(n,!0);M(n);var i={};H(()=>{Y(r,G(t).name),i!==(i=G(t).name)&&(n.value=(n.__value=G(t).name)??``)}),J(e,n)}),M(D),Li(D,e=>R(o,e),()=>G(o));var ee=V(D,4);Di(ee),M(E);var te=V(E,2),ne=z(te,!0);M(te);var re=V(te,2),ie=z(re);Li(ie,e=>R(s,e),()=>G(s));var ae=V(ie,2),oe=z(ae,!0);M(ae),M(re),M(T);var se=V(T,2),ce=V(z(se),2),le=z(ce);M(ce);var ue=V(ce,2),de=z(ue),fe=V(de,2);M(ue),M(se),Li(se,e=>R(c,e),()=>G(c));var pe=V(se,2),me=e=>{J(e,Qd())},he=e=>{J(e,$d())},ge=e=>{var t=ef(),n=z(t);M(t),H(()=>Y(n,`Discovery warning: ${G(u).status.message??``}`)),J(e,t)},_e=e=>{var t=tf(),n=z(t,!0);M(t),H(()=>Y(n,G(u).status.message)),J(e,t)},ve=e=>{var t=nf(),n=z(t,!0);M(t),Li(t,e=>R(a,e),()=>G(a)),H(()=>Y(n,G(u).status.message)),J(e,t)},ye=e=>{J(e,rf())},be=e=>{J(e,af())},xe=e=>{var t=tf(),n=z(t,!0);M(t),H(()=>Y(n,G(u).status.message)),J(e,t)};X(pe,e=>{G(u).status.kind===`loading`?e(me):G(u).status.kind===`empty`?e(he,1):G(u).status.kind===`warning`?e(ge,2):G(u).status.kind===`invalid-profile`||G(u).status.kind===`error`?e(_e,3):G(u).status.kind===`save-failed`?e(ve,4):G(u).status.kind===`saved`?e(ye,5):G(u).status.kind===`deleted`?e(be,6):G(u).status.kind===`delete-failed`&&e(xe,7)});var Se=V(pe,2),Ce=e=>{var t=uf(),n=B(t),r=z(n),i=V(r,2),a=z(i);M(i),M(n);var o=V(n,2);Z(o,21,()=>G(u).skills,e=>e.path,(e,t)=>{var n=lf();let r;var i=z(n),a=z(i);Di(a);var o=V(a,2),s=z(o,!0);M(o);var c=V(o,2),l=z(c,!0);M(c),M(i);var d=V(i,2),p=z(d),m=e=>{var n=of(),r=z(n,!0);M(n),H(()=>Y(r,G(t).description)),J(e,n)};X(p,e=>{G(t).description&&e(m)});var h=V(p,2),g=e=>{var n=of(),r=z(n,!0);M(n),H(()=>Y(r,G(t).shortDescription)),J(e,n)};X(h,e=>{G(t).shortDescription&&e(g)});var _=V(h,2),v=V(z(_),2),S=z(v,!0);M(v);var C=V(v,2),w=e=>{var n=cf(),r=V(B(n),2),i=z(r);Z(i,21,()=>G(t).dependencies.tools,e=>`${e.type}:${e.value}`,(e,t)=>{var n=sf(),r=z(n);M(n),H(()=>Y(r,`${G(t).type??``}: ${G(t).value??``}${G(t).description?` — ${G(t).description}`:``}`)),J(e,n)}),M(i),M(r),J(e,n)};X(C,e=>{G(t).dependencies?.tools?.length&&e(w)}),M(_),M(d),M(n),H((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)}),M(o),H(()=>Y(a,`${G(u).enabledCount??``} of ${G(u).skills.length??``} skills enabled.`)),K(`click`,r,()=>void p()),J(e,t)};X(Se,e=>{G(u).skills.length>0&&e(Ce)}),M(S),H(()=>{Y(w,r()),Oi(ee,G(u).saveAsName),Y(ne,G(u).saveIntent===`replace`?`Saved the selected profile.`:`Creating a new saved profile.`),ie.disabled=!G(u).selectedProfileName||G(u).status.kind===`deleting`,ae.disabled=G(u).status.kind===`saving`,Y(oe,G(u).status.kind===`saving`?`Saving profile…`:`Save profile`),Y(le,`Delete ${G(u).selectedProfileName??``}? Existing sessions keep their saved skill set.`)}),Nr(`submit`,T,h),K(`change`,D,m),xi(D,()=>G(l),e=>R(l,e)),K(`input`,ee,e=>{G(u).saveAsName=e.currentTarget.value,f()}),K(`click`,ie,g),K(`click`,de,()=>void v()),K(`click`,fe,()=>void _()),J(e,S),Qe()}Pr([`change`,`input`,`click`]);var pf=class{client;workspaceId=``;codexProfile=``;selectedProfileName=``;saveAsName=``;source=`native`;skills=[];profiles=[];status={kind:`idle`};baseline=new Map;saving=!1;deleting=!1;request=null;generation=0;disposed=!1;constructor(e){this.client=e}get enabledCount(){return this.skills.filter(e=>e.enabled).length}get dirty(){return this.skills.some(e=>this.baseline.get(e.path)!==e.enabled)}get saveIntent(){return this.profiles.some(e=>!(`error`in e)&&e.name===this.saveAsName.trim())?`replace`:`create`}async load(e,t){let n=this.beginRequest(),r=this.generation;this.workspaceId=e,this.codexProfile=t,this.status={kind:`loading`};try{let[i,a]=await Promise.all([this.client.listAvailableSkills(e,t,!0,n.signal),this.client.listSkillProfiles(n.signal)]);if(!this.current(r,n))return;this.applyAvailable(i),this.profiles=a.profiles;let o=a.profiles.find(e=>`error`in e);o&&`error`in o?this.status={kind:`invalid-profile`,message:o.error.message}:i.errors.length?this.status={kind:`warning`,message:i.errors.map(e=>e.message).join(` `)}:this.status=this.skills.length?{kind:`ready`}:{kind:`empty`}}catch(e){if(!this.current(r,n)||n.signal.aborted)return;this.status={kind:`error`,message:mf(e)}}}async refresh(){let e=this.beginRequest(),t=this.generation;this.status={kind:`loading`};try{let n=await this.client.listAvailableSkills(this.workspaceId,this.codexProfile,!0,e.signal);if(!this.current(t,e))return;this.applyAvailable(n),this.status=n.errors.length?{kind:`warning`,message:n.errors.map(e=>e.message).join(` `)}:this.skills.length?{kind:`ready`}:{kind:`empty`}}catch(n){if(!this.current(t,e)||e.signal.aborted)return;this.status={kind:`error`,message:mf(n)}}}selectProfile(e){let t=this.profiles.find(t=>!(`error`in t)&&t.name===e);if(!t||`error`in t){this.status={kind:`invalid-profile`,message:`Select a valid saved profile.`};return}this.selectedProfileName=t.name,this.saveAsName=t.name;let n=new Map(t.skills.map(e=>[e.path,e.enabled]));this.skills=this.skills.map(e=>({...e,enabled:e.alwaysAdvertised?!0:n.get(e.path)??!1})),this.captureBaseline(),this.status=this.skills.length?{kind:`ready`}:{kind:`empty`}}selectDefaultProfile(){this.selectedProfileName=``,this.saveAsName=``,this.skills=this.skills.map(e=>({...e,enabled:e.effectiveEnabled})),this.captureBaseline(),this.status=this.skills.length?{kind:`ready`}:{kind:`empty`}}toggle(e,t){this.skills=this.skills.map(n=>n.path===e&&!n.alwaysAdvertised?{...n,enabled:t}:n)}reset(){this.skills=this.skills.map(e=>({...e,enabled:this.baseline.get(e.path)??!1}))}async save(){let e=this.saveAsName.trim();if(this.saving||this.deleting)return;if(!e){this.status={kind:`save-failed`,message:`Enter a profile name before saving.`};return}this.saving=!0,this.status={kind:`saving`};let t=this.savePayload(e);try{let n=await this.client.replaceSkillProfile(e,t);this.profiles=[...this.profiles.filter(e=>`error`in e||e.name!==n.name),n].sort((e,t)=>e.name.localeCompare(t.name)),this.selectedProfileName=n.name,this.saveAsName=n.name,this.captureBaseline(),this.status={kind:`saved`}}catch(e){this.status={kind:`save-failed`,message:mf(e)}}finally{this.saving=!1}}async deleteSelectedProfile(){let e=this.selectedProfileName;if(!(this.saving||this.deleting)){if(!e){this.status={kind:`delete-failed`,message:`Select a saved profile before deleting.`};return}this.deleting=!0,this.status={kind:`deleting`};try{await this.client.deleteSkillProfile(e),this.profiles=this.profiles.filter(t=>`error`in t||t.name!==e),this.selectedProfileName=``,this.saveAsName=``,this.captureBaseline(),this.status={kind:`deleted`}}catch(e){this.status={kind:`delete-failed`,message:mf(e)}}finally{this.deleting=!1}}}dispose(){this.disposed=!0,++this.generation,this.request?.abort(),this.request=null}beginRequest(){return this.request?.abort(),this.request=new AbortController,++this.generation,this.request}current(e,t){return!this.disposed&&e===this.generation&&this.request===t}savePayload(e=this.saveAsName.trim()){return{version:1,name:e,skills:this.skills.map(({name:e,path:t,enabled:n})=>({name:e,path:t,enabled:n})).sort((e,t)=>e.path.localeCompare(t.path))}}applyAvailable(e){let t=new Map(this.skills.filter(e=>this.baseline.get(e.path)!==e.enabled).map(e=>[e.path,e.enabled]));this.source=e.source,this.skills=e.skills.map(e=>({...e,enabled:e.alwaysAdvertised?!0:t.get(e.path)??e.effectiveEnabled})),this.baseline=new Map(e.skills.map(e=>[e.path,this.baseline.get(e.path)??e.effectiveEnabled]))}captureBaseline(){this.baseline=new Map(this.skills.map(e=>[e.path,e.enabled]))}};function mf(e){return e instanceof Error?e.message:`Unknown relay error.`}var hf=o(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),gf=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)}})),_f=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}}})),vf=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})),yf=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})),bf=o((e=>{var t=gf().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}})),xf=o((e=>{var t=gf().getSymbolSize,n=7;e.getPositions=function(e){let r=t(e);return[[0,0],[r-n,0],[0,r-n]]}})),Sf=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}})),Cf=o((e=>{var t=_f(),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}}})),wf=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]]}})),Tf=o((e=>{var t=wf();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}})),Ef=o(((e,t)=>{var n=Tf();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})),Df=o((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),Of=o((e=>{var t=`[0-9]+`,n=`[A-Z $%*+\\-./:]+`,r=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;r=r.replace(/u/g,`\\u`);var i=`(?:(?![A-Z0-9 $%*+\\-./:]|`+r+`)(?:.|[\r
19
- ]))+`;e.KANJI=new RegExp(r,`g`),e.BYTE_KANJI=RegExp(`[^A-Z0-9 $%*+\\-./:]+`,`g`),e.BYTE=new RegExp(i,`g`),e.NUMERIC=new RegExp(t,`g`),e.ALPHANUMERIC=new RegExp(n,`g`);var a=RegExp(`^`+r+`$`),o=RegExp(`^[0-9]+$`),s=RegExp(`^[A-Z0-9 $%*+\\-./:]+$`);e.testKanji=function(e){return a.test(e)},e.testNumeric=function(e){return o.test(e)},e.testAlphanumeric=function(e){return s.test(e)}})),kf=o((e=>{var t=Df(),n=Of();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}}})),Af=o((e=>{var t=gf(),n=Cf(),r=_f(),i=kf(),a=Df(),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}})),jf=o((e=>{var t=gf(),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}})),Mf=o(((e,t)=>{var n=kf();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})),Nf=o(((e,t)=>{var n=kf(),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})),Pf=o(((e,t)=>{var n=kf();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})),Ff=o(((e,t)=>{var n=kf(),r=gf();function i(e){this.mode=n.KANJI,this.data=e}i.getBitsLength=function(e){return e*13},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let n=r.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw Error(`Invalid SJIS character: `+this.data[t]+`
20
- Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=i})),If=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)})),Lf=o((e=>{var t=kf(),n=Mf(),r=Nf(),i=Pf(),a=Ff(),o=Of(),s=gf(),c=If();function l(e){return unescape(encodeURIComponent(e)).length}function u(e,t,n){let r=[],i;for(;(i=e.exec(n))!==null;)r.push({data:i[0],index:i.index,mode:t,length:i[0].length});return r}function d(e){let n=u(o.NUMERIC,t.NUMERIC,e),r=u(o.ALPHANUMERIC,t.ALPHANUMERIC,e),i,a;return s.isKanjiModeEnabled()?(i=u(o.BYTE,t.BYTE,e),a=u(o.KANJI,t.KANJI,e)):(i=u(o.BYTE_KANJI,t.BYTE,e),a=[]),n.concat(r,i,a).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function f(e,o){switch(o){case t.NUMERIC:return n.getBitsLength(e);case t.ALPHANUMERIC:return r.getBitsLength(e);case t.KANJI:return a.getBitsLength(e);case t.BYTE:return i.getBitsLength(e)}}function p(e){return e.reduce(function(e,t){let n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}function m(e){let n=[];for(let r=0;r<e.length;r++){let i=e[r];switch(i.mode){case t.NUMERIC:n.push([i,{data:i.data,mode:t.ALPHANUMERIC,length:i.length},{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.ALPHANUMERIC:n.push([i,{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.KANJI:n.push([i,{data:i.data,mode:t.BYTE,length:l(i.data)}]);break;case t.BYTE:n.push([{data:i.data,mode:t.BYTE,length:l(i.data)}])}}return n}function h(e,n){let r={},i={start:{}},a=[`start`];for(let o=0;o<e.length;o++){let s=e[o],c=[];for(let e=0;e<s.length;e++){let l=s[e],u=``+o+e;c.push(u),r[u]={node:l,lastCount:0},i[u]={};for(let e=0;e<a.length;e++){let o=a[e];r[o]&&r[o].node.mode===l.mode?(i[o][u]=f(r[o].lastCount+l.length,l.mode)-f(r[o].lastCount,l.mode),r[o].lastCount+=l.length):(r[o]&&(r[o].lastCount=l.length),i[o][u]=f(l.length,l.mode)+4+t.getCharCountIndicator(l.mode,n))}}a=c}for(let e=0;e<a.length;e++)i[a[e]].end=0;return{map:i,table:r}}function g(e,o){let c,l=t.getBestModeForData(e);if(c=t.from(o,l),c!==t.BYTE&&c.bit<l.bit)throw Error(`"`+e+`" cannot be encoded with mode `+t.toString(c)+`.
21
- Suggested mode is: `+t.toString(l));switch(c===t.KANJI&&!s.isKanjiModeEnabled()&&(c=t.BYTE),c){case t.NUMERIC:return new n(e);case t.ALPHANUMERIC:return new r(e);case t.KANJI:return new a(e);case t.BYTE:return new i(e)}}e.fromArray=function(e){return e.reduce(function(e,t){return typeof t==`string`?e.push(g(t,null)):t.data&&e.push(g(t.data,t.mode)),e},[])},e.fromString=function(t,n){let r=h(m(d(t,s.isKanjiModeEnabled())),n),i=c.find_path(r.map,`start`,`end`),a=[];for(let e=1;e<i.length-1;e++)a.push(r.table[i[e]].node);return e.fromArray(p(a))},e.rawSplit=function(t){return e.fromArray(d(t,s.isKanjiModeEnabled()))}})),Rf=o((e=>{var t=gf(),n=_f(),r=vf(),i=yf(),a=bf(),o=xf(),s=Sf(),c=Cf(),l=Ef(),u=Af(),d=jf(),f=kf(),p=Lf();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(`
18
+ `),a=null,o=!1,s=()=>{a&&r.push({...a,properties:[...a.properties],descriptions:[...a.descriptions],body:Ju(a.body)})};for(let e of i){let r=Uu.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=Wu.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=Gu.exec(e);t&&a.properties.push([t[1],t[2].trim()]);continue}let i=Ku.exec(e);i?a.descriptions.push([i[1].trim(),i[2].trim()]):a.body.push(e)}return s(),{metadata:t,preamble:Ju(n),sections:r}}function Ju(e){let t=[...e];for(;t[0]?.trim()===``;)t.shift();for(;t.at(-1)?.trim()===``;)t.pop();return t}var Yu=q(`<div class="svelte-h7gaqo"><dt class="svelte-h7gaqo"> </dt> <dd class="svelte-h7gaqo"> </dd></div>`),Xu=q(`<dl class="metadata svelte-h7gaqo"></dl>`),Zu=q(`<p class="svelte-h7gaqo"> </p>`),Qu=q(`<p class="svelte-h7gaqo">This Org document has no headings.</p>`),$u=q(`<h3 class="svelte-h7gaqo"> </h3>`),ed=q(`<h4 class="svelte-h7gaqo"> </h4>`),td=q(`<span> </span>`),nd=q(`<span class="priority svelte-h7gaqo"> </span>`),rd=q(`<dl class="descriptions svelte-h7gaqo"></dl>`),id=q(`<p> </p>`),ad=q(`<details class="properties svelte-h7gaqo"><summary class="svelte-h7gaqo">Properties</summary> <dl class="svelte-h7gaqo"></dl></details>`),od=q(`<section class="org-section svelte-h7gaqo"><div class="section-heading svelte-h7gaqo"><!> <!> <!></div> <!> <!> <!></section>`),sd=q(`<div class="sections svelte-h7gaqo"></div>`),cd=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 ld(e,t){Ze(t,!0);let n=F(()=>qu(t.preview.source)),r=F(()=>G(n).metadata.filter(([e])=>e!==`TITLE`));var i=cd(),a=z(i),o=z(a),s=z(o),c=z(s,!0);M(s);var l=V(s,2),u=z(l,!0);M(l),M(o);var d=V(o,2);M(a);var f=V(a,2),p=e=>{var t=Xu();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=Yu(),o=z(a),s=z(o,!0);M(o);var c=V(o,2),l=z(c,!0);M(c),M(a),H(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),M(t),J(e,t)};X(f,e=>{G(r).length&&e(p)});var m=V(f,2);Z(m,19,()=>G(n).preamble,(e,t)=>`preamble:${t}:${e}`,(e,t)=>{var n=Hr(),r=B(n),i=e=>{var n=Zu(),r=z(n,!0);M(n),H(()=>Y(r,G(t))),J(e,n)},a=F(()=>G(t).trim());X(r,e=>{G(a)&&e(i)}),J(e,n)});var h=V(m,2),g=e=>{J(e,Qu())},_=e=>{var t=sd();Z(t,23,()=>G(n).sections,(e,t)=>`${t}:${e.level}:${e.title}`,(e,t)=>{var n=od();let r;var i=z(n),a=z(i),o=e=>{var n=$u(),r=z(n,!0);M(n),H(()=>Y(r,G(t).title)),J(e,n)},s=e=>{var n=ed(),r=z(n,!0);M(n),H(()=>Y(r,G(t).title)),J(e,n)};X(a,e=>{G(t).level===1?e(o):e(s,-1)});var c=V(a,2),l=e=>{var n=td(),r=z(n,!0);M(n),H(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=V(c,2),d=e=>{var n=nd(),r=z(n);M(n),H(()=>Y(r,`Priority ${G(t).priority??``}`)),J(e,n)};X(u,e=>{G(t).priority&&e(d)}),M(i);var f=V(i,2),p=e=>{var n=rd();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=Yu(),o=z(a),s=z(o,!0);M(o);var c=V(o,2),l=z(c,!0);M(c),M(a),H(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),M(n),J(e,n)};X(f,e=>{G(t).descriptions.length&&e(p)});var m=V(f,2);Z(m,19,()=>G(t).body,(e,t)=>`${t}:${e}`,(e,t)=>{var n=Hr(),r=B(n),i=e=>{var n=id();let r;var i=z(n,!0);M(n),H(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=V(m,2),g=e=>{var n=ad(),r=V(z(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=Yu(),o=z(a),s=z(o,!0);M(o);var c=V(o,2),l=z(c,!0);M(c),M(a),H(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),M(r),M(n),J(e,n)};X(h,e=>{G(t).properties.length&&e(g)}),M(n),H(e=>r=vi(n,``,r,e),[()=>({"--org-depth":Math.max(0,G(t).level-1)})]),J(e,n)}),M(t),J(e,t)};X(h,e=>{G(n).sections.length===0?e(g):e(_,-1)}),M(i),H(()=>{Y(c,t.preview.title),Y(u,t.preview.planName)}),K(`click`,d,function(...e){t.onclose?.apply(this,e)}),J(e,i),Qe()}Pr([`click`]);var ud=q(`<p>Select a workspace to browse its local plans.</p>`),dd=q(`<p>Loading workspace plans…</p>`),fd=q(`<p> </p>`),pd=q(`<p>No Org files were found below this workspace.</p>`),md=q(`<span> </span>`),hd=q(`<span> </span> <!>`,1),gd=q(`<span>Org document</span>`),_d=q(`<li><button class="svelte-x2ko9l"><strong> </strong> <code class="svelte-x2ko9l"> </code> <!></button></li>`),vd=q(`<p class="scope svelte-x2ko9l">Org files below the selected workspace.</p> <ul class="svelte-x2ko9l"></ul>`,1),yd=q(`<section class="plans svelte-x2ko9l" aria-labelledby="plans-title"><h2 id="plans-title" tabindex="-1" class="svelte-x2ko9l">Plans</h2> <!></section>`);function bd(e,t){Ze(t,!0);let n=L(null),r=on({}),i=L(null),a=!1,o=!1;function s(){t.onclose()}function c(e){R(i,e,!0),t.onopen(e)}Mn(()=>{if(t.state){a=!0;return}if(a&&(a=!1,o=!0),!o)return;let e=t.catalog.kind,s=G(i);queueMicrotask(()=>{let t=s?r[s]:void 0;t?.isConnected?(t.focus(),o=!1):e!==`loading`&&(G(n)?.focus(),o=!1)})});var l=Hr(),u=B(l),d=e=>{ld(e,{get preview(){return t.state},onclose:s})},f=e=>{Hu(e,{get state(){return t.state},onclose:s})},p=e=>{var i=yd(),a=z(i);Li(a,e=>R(n,e),()=>G(n));var o=V(a,2),s=e=>{J(e,ud())},l=e=>{J(e,dd())},u=e=>{var n=fd(),r=z(n,!0);M(n),H(()=>Y(r,t.catalog.error)),J(e,n)},d=e=>{J(e,pd())},f=e=>{var n=vd(),i=V(B(n),2);Z(i,21,()=>t.catalog.entries,e=>e.planName,(e,t)=>{var n=_d(),i=z(n),a=z(i),o=z(a,!0);M(a);var s=V(a,2),l=z(s,!0);M(s);var u=V(s,2),d=e=>{var n=hd(),r=B(n),i=z(r);M(r);var a=V(r,2),o=e=>{var n=md(),r=z(n,!0);M(n),H(()=>Y(r,G(t).subtitle)),J(e,n)};X(a,e=>{G(t).subtitle&&e(o)}),H(()=>Y(i,`${G(t).doneSteps??``} / ${G(t).totalSteps??``} complete`)),J(e,n)},f=e=>{J(e,gd())};X(u,e=>{G(t).previewAvailable===!1?e(f,-1):e(d)}),M(i),Li(i,(e,t)=>r[t.planName]=e,e=>r?.[e.planName],()=>[G(t)]),M(n),H(()=>{Y(o,G(t).title),Y(l,G(t).planName)}),K(`click`,i,()=>c(G(t).planName)),J(e,n)}),M(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)}),M(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),Qe()}Pr([`click`]);var xd=`settings`,Sd=`drafts`,Cd=`cursors`,wd=`selected-session`;function Td(e=globalThis.indexedDB){if(!e)return Ed;let t=uc(e);return{async readSelectedSession(){try{return await dc(await t,xd,wd)??null}catch{return null}},async saveSelectedSession(e){try{let n=await t;e?await fc(n,xd,wd,e):await pc(n,xd,wd)}catch{}},async readDraft(e){try{return await dc(await t,Sd,e)??``}catch{return``}},async saveDraft(e,n){try{await fc(await t,Sd,e,n)}catch{}},async readCursor(e){try{let n=await dc(await t,Cd,e);return typeof n==`number`&&Number.isSafeInteger(n)&&n>=0?n:0}catch{return 0}},async saveCursor(e,n){try{await fc(await t,Cd,e,n)}catch{}}}}var Ed={readSelectedSession:async()=>null,saveSelectedSession:async()=>{},readDraft:async()=>``,saveDraft:async()=>{},readCursor:async()=>0,saveCursor:async()=>{}};function Dd(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 Od(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 kd(e,t){if(!t?.threadId||!t.workspacePath||!t.resumeCommand||e.some(e=>e.id===t.threadId))return e;let n=t.updatedAt?Date.parse(t.updatedAt)/1e3:NaN,r={id:t.threadId,cwd:t.workspacePath,recencyAt:Number.isFinite(n)?n:null,resumeCommand:t.resumeCommand,...t.model===void 0?{}:{model:t.model},...t.effectiveSkillSelection?.selectedProfileName===void 0?{}:{skillProfile:t.effectiveSkillSelection.selectedProfileName},...t.lastOrgPlan===void 0?{}:{orgPlanFilename:t.lastOrgPlan.filename}};return[...e,r].sort((e,t)=>(t.recencyAt??-1/0)-(e.recencyAt??-1/0))}function Ad(e){let t=/^\/home\/[^/]+/.exec(e)?.[0];if(!t)return e;let n=e.slice(t.length);return n?`~${n}`:`~/`}var jd=q(`<time> </time>`),Md=q(`<div> </div>`),Nd=q(`<span class="profile-badge svelte-hxb22h"> </span>`),Pd=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>`),Fd=q(`<div class="session-plan-progress svelte-hxb22h"><!></div>`),Id=q(`<li><div class="session-actions svelte-hxb22h" aria-label="Session actions"><!> <!> <!> <!> <!></div> <div class="session-details svelte-hxb22h"><div class="session-summary"><!> <div class="workspace-path svelte-hxb22h"> </div> <!> <!> <!> <!> <!></div> <!> <!></div></li>`),Ld=q(`<section aria-labelledby="open-sessions-title"><h3 id="open-sessions-title">Open sessions</h3> <ul class="session-list svelte-hxb22h" aria-label="Open sessions"></ul></section>`),Rd=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>`),zd=q(`<ul class="session-list svelte-hxb22h" aria-label="Saved sessions"></ul>`),Bd=q(`<p>No saved sessions yet.</p>`),Vd=q(`<option> </option>`),Hd=q(`<p class="skills-profile-error svelte-hxb22h" role="alert"> </p>`),Ud=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>`),Wd=q(`<ul class="session-list recent-session-list svelte-hxb22h" aria-label="Recent sessions"></ul>`),Gd=q(`<p>No other recent Codex sessions found.</p>`),Kd=q(`<section aria-labelledby="sessions-title"><h2 id="sessions-title" class="visually-hidden">Sessions</h2> <!> <!> <form><section class="session-base svelte-hxb22h" aria-labelledby="session-base-title"><div class="session-base-heading svelte-hxb22h"><h3 id="session-base-title" class="svelte-hxb22h">Session base</h3> <p class="svelte-hxb22h">Select the folder or repository Codex should use as its working directory.</p></div> <!></section> <section class="session-settings svelte-hxb22h" aria-label="New session settings"><div class="session-setting-labels svelte-hxb22h"><label for="skills-profile" class="svelte-hxb22h">Skills profile</label> <label for="sandbox" class="svelte-hxb22h">Sandbox</label> <label for="approval-policy" class="svelte-hxb22h">Approval policy</label></div> <div class="session-setting-controls svelte-hxb22h"><select id="skills-profile" class="svelte-hxb22h"><option>Default</option><!></select> <select id="sandbox" class="svelte-hxb22h"><option>workspace-write</option><option>read-only</option><option>danger-full-access</option></select> <select id="approval-policy" aria-describedby="approval-policy-help" class="svelte-hxb22h"><option>Ask on all commands</option><option>Ask out of workspace</option><option>Approve everything</option></select></div> <p id="approval-policy-help">This controls when Codex asks; it does not expand the sandbox's technical permissions.</p> <!> <div class="session-secondary-actions svelte-hxb22h"><!> <div class="model-control svelte-hxb22h"><label for="model">Model</label> <select id="model"></select></div> <!></div></section></form> <section aria-labelledby="recent-sessions-title"><h3 id="recent-sessions-title">Recent sessions</h3> <!></section></section>`);function qd(e,t){Ze(t,!0);let n=$(t,`activitySnapshots`,19,()=>new Map),r=$(t,`autopilotSnapshots`,19,()=>new Map),i=$(t,`autopilotPending`,19,()=>new Set),a=$(t,`autopilotAttention`,19,()=>new Map),o=$(t,`models`,19,()=>[]),s=$(t,`selectedModel`,3,``),c=$(t,`onmodelchange`,3,()=>{}),l=$(t,`onautopilottoggle`,3,()=>{}),u=$(t,`onautopilotresolve`,3,()=>{}),d=F(()=>t.sessions.filter(e=>e.state===`ready`||e.state===`turnActive`)),f=F(()=>t.sessions.filter(e=>e.state!==`ready`&&e.state!==`turnActive`)),p=F(()=>t.recentSessions.filter(e=>!G(d).some(t=>t.threadId===e.id))),m=F(()=>Tl(t.workspaceTree,t.workspaceId));var h=Kd(),g=V(z(h),2),_=e=>{var s=Ld(),c=V(z(s),2);Z(c,21,()=>G(d),e=>e.id,(e,s)=>{let c=F(()=>Od(G(s)));var d=Id();let f;var p=z(d),m=z(p);{let e=F(()=>G(s).id===t.selectedSessionId?`page`:void 0);va(m,{compact:!0,full:!0,get current(){return G(e)},onclick:()=>t.onselectopen(G(s).id),children:(e,t)=>{N(),J(e,Vr(`Open`))},$$slots:{default:!0}})}var h=V(m,2),g=e=>{va(e,{compact:!0,full:!0,onclick:()=>t.oncopyresume(G(s).resumeCommand),children:(e,t)=>{N(),J(e,Vr(`Copy`))},$$slots:{default:!0}})};X(h,e=>{G(s).resumeCommand&&e(g)});var _=V(h,2);{let e=F(()=>r().get(G(s).id)??G(s).autopilot??null),t=F(()=>`session-autopilot-${G(s).id}`),n=F(()=>i().has(G(s).id));Ja(_,{compact:!0,indicatorOnly:!0,get autopilot(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},ontoggle:e=>l()(G(s).id,e)})}var v=V(_,2);{let e=F(()=>n().get(G(s).id)??G(s).agentActivity??null),t=F(()=>G(s).model??o()?.[0]);Ma(v,{compact:!0,get activity(){return G(e)},popupAlign:`start`,get rootModel(){return G(t)}})}va(V(v,2),{compact:!0,full:!0,onclick:()=>t.onclose(G(s).id),children:(e,t)=>{N(),J(e,Vr(`Close`))},$$slots:{default:!0}}),M(p);var y=V(p,2),b=z(y),x=z(b),S=e=>{var t=jd(),n=z(t,!0);M(t),H((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(c).updatedAt).toISOString(),()=>Dd(G(c).updatedAt)]),J(e,t)},C=e=>{var t=Md(),n=z(t,!0);M(t),H(e=>Y(n,e),[()=>Dd(null)]),J(e,t)};X(x,e=>{G(c).updatedAt===null?e(C,-1):e(S)});var w=V(x,2),T=z(w,!0);M(w);var E=V(w,2),D=e=>{var t=Nd(),n=z(t);M(t),H(()=>Y(n,`Model: ${G(s).model??``}`)),J(e,t)};X(E,e=>{G(s).model&&e(D)});var O=V(E,2),k=e=>{var t=Nd(),n=z(t);M(t),H(()=>Y(n,`Branch: ${G(s).branch??``}`)),J(e,t)};X(O,e=>{G(s).branch&&e(k)});var ee=V(O,2),te=e=>{var t=Nd(),n=z(t);M(t),H(()=>Y(n,`Skills profile: ${G(s).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(ee,e=>{G(s).effectiveSkillSelection?.selectedProfileName&&e(te)});var ne=V(ee,2),re=e=>{var t=Pd(),n=z(t),r=z(n,!0);M(n);var i=V(n,2),a=z(i,!0);M(i),M(t),H(()=>{Y(r,G(s).lastOrgPlan.title),Y(a,G(s).lastOrgPlan.filename)}),J(e,t)};X(ne,e=>{G(s).lastOrgPlan&&e(re)});var ie=V(ne,2),ae=e=>{var t=Fd(),n=z(t);{let e=F(()=>`Plan progress for ${G(s).plan.title}`);wu(n,{compact:!0,get plan(){return G(s).plan},get label(){return G(e)}})}M(t),J(e,t)};X(ie,e=>{G(s).plan&&e(ae)}),M(b);var oe=V(b,2);{let e=F(()=>a().get(G(s).id)??null),t=F(()=>`session-attention-${G(s).id}`),n=F(()=>i().has(G(s).id));Xa(oe,{get attention(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},onresolve:(e,t)=>u()(G(s).id,e,t)})}var se=V(oe,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));Qa(se,{get autopilot(){return G(e)},get attention(){return G(t)},get controlId(){return G(n)},get pending(){return G(o)},onrecover:()=>l()(G(s).id,!0),ondisable:()=>l()(G(s).id,!1)})}M(y),M(d),H(e=>{f=gi(d,1,`managed-session open-session svelte-hxb22h`,null,f,{"current-session":G(s).id===t.selectedSessionId}),Y(T,e)},[()=>Ad(G(c).workspacePath)]),J(e,d)}),M(c),M(s),J(e,s)};X(g,e=>{G(d).length&&e(_)});var v=V(g,2),y=e=>{var n=zd();Z(n,21,()=>G(f),e=>e.id,(e,n)=>{let r=F(()=>Od(G(n)));var i=Rd(),a=z(i),o=z(a);{let e=F(()=>t.openingSessionId===G(n).id);va(o,{compact:!0,full:!0,get disabled(){return G(e)},onclick:()=>t.onopen(G(n).id),children:(e,r)=>{N();var i=Vr();H(()=>Y(i,t.openingSessionId===G(n).id?`Opening…`:`Open`)),J(e,i)},$$slots:{default:!0}})}var s=V(o,2),c=e=>{va(e,{compact:!0,full:!0,onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{N(),J(e,Vr(`Copy`))},$$slots:{default:!0}})};X(s,e=>{G(n).resumeCommand&&e(c)}),va(V(s,2),{compact:!0,full:!0,onclick:()=>t.onforget(G(n).id),children:(e,t)=>{N(),J(e,Vr(`Forget`))},$$slots:{default:!0}}),M(a);var l=V(a,2),u=z(l),d=e=>{var t=jd(),n=z(t,!0);M(t),H((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(r).updatedAt).toISOString(),()=>Dd(G(r).updatedAt)]),J(e,t)},f=e=>{var t=Md(),n=z(t,!0);M(t),H(e=>Y(n,e),[()=>Dd(null)]),J(e,t)};X(u,e=>{G(r).updatedAt===null?e(f,-1):e(d)});var p=V(u,2),m=z(p,!0);M(p);var h=V(p,2),g=e=>{var t=Nd(),r=z(t);M(t),H(()=>Y(r,`Model: ${G(n).model??``}`)),J(e,t)};X(h,e=>{G(n).model&&e(g)});var _=V(h,2),v=e=>{var t=Nd(),r=z(t);M(t),H(()=>Y(r,`Branch: ${G(n).branch??``}`)),J(e,t)};X(_,e=>{G(n).branch&&e(v)});var y=V(_,2),b=e=>{var t=Nd(),r=z(t);M(t),H(()=>Y(r,`Skills profile: ${G(n).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(y,e=>{G(n).effectiveSkillSelection?.selectedProfileName&&e(b)}),M(l),M(i),H(e=>Y(m,e),[()=>Ad(G(r).workspacePath)]),J(e,i)}),M(n),J(e,n)},b=e=>{J(e,Bd())};X(v,e=>{G(f).length?e(y):G(d).length||e(b,1)});var x=V(v,2),S=z(x),C=V(z(S),2);{let e=F(()=>G(m)?.id??null);Nl(C,{get roots(){return t.workspaceTree},get expandedIds(){return t.expandedIds},get selectedId(){return G(e)},get isSelectable(){return bl.sessionBase},label:`Session base`,get onexpandedchange(){return t.onexpandedchange},onselect:e=>t.onworkspacechange(e.id)})}M(S);var w=V(S,2),T=V(z(w),2),E=z(T),D=z(E);D.value=D.__value=``,Z(V(D),17,()=>t.skillProfiles,e=>e.name,(e,t)=>{var n=Vd(),r=z(n,!0);M(n);var i={};H(()=>{Y(r,G(t).name),i!==(i=G(t).name)&&(n.value=(n.__value=G(t).name)??``)}),J(e,n)}),M(E);var O;bi(E);var k=V(E,2),ee=z(k);ee.value=ee.__value=`workspace-write`;var te=V(ee);te.value=te.__value=`read-only`;var ne=V(te);ne.value=ne.__value=`danger-full-access`,M(k);var re;bi(k);var ie=V(k,2),ae=z(ie);ae.value=ae.__value=`untrusted`;var oe=V(ae);oe.value=oe.__value=`on-request`;var se=V(oe);se.value=se.__value=`never`,M(ie);var ce;bi(ie),M(T);var le=V(T,4),ue=e=>{var n=Hd(),r=z(n,!0);M(n),H(()=>Y(r,t.skillProfileError)),J(e,n)};X(le,e=>{t.skillProfileError&&e(ue)});var de=V(le,2),fe=z(de);va(fe,{id:`manage-skill-profiles`,onclick:e=>t.onmanageprofiles(e.currentTarget),children:(e,t)=>{N(),J(e,Vr(`Manage skill profiles`))},$$slots:{default:!0}});var pe=V(fe,2),me=V(z(pe),2);Z(me,20,o,e=>e,(e,t)=>{var n=Vd(),r=z(n,!0);M(n);var i={};H(()=>{Y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),J(e,n)}),M(me);var he;bi(me),M(pe);var ge=V(pe,2);{let e=F(()=>!G(m)||t.startingSession);va(ge,{class:`new-session-button`,type:`submit`,primary:!0,get disabled(){return G(e)},children:(e,n)=>{N();var r=Vr();H(()=>Y(r,t.startingSession?`Creating…`:`Create session`)),J(e,r)},$$slots:{default:!0}})}M(de),M(w),M(x);var _e=V(x,2),ve=V(z(_e),2),ye=e=>{var n=Wd();Z(n,21,()=>G(p),e=>e.id,(e,n)=>{var r=Ud(),i=z(r),a=z(i),o=e=>{var t=jd(),r=z(t,!0);M(t),H((e,n)=>{Q(t,`datetime`,e),Y(r,n)},[()=>new Date(G(n).recencyAt*1e3).toISOString(),()=>Dd(G(n).recencyAt*1e3)]),J(e,t)},s=e=>{var t=Md(),n=z(t,!0);M(t),H(e=>Y(n,e),[()=>Dd(null)]),J(e,t)};X(a,e=>{G(n).recencyAt===null?e(s,-1):e(o)});var c=V(a,2),l=z(c,!0);M(c);var u=V(c,2),d=e=>{var t=Nd(),r=z(t);M(t),H(()=>Y(r,`Model: ${G(n).model??``}`)),J(e,t)};X(u,e=>{G(n).model&&e(d)});var f=V(u,2),p=e=>{var t=Nd(),r=z(t);M(t),H(()=>Y(r,`Skills profile: ${G(n).skillProfile??``}`)),J(e,t)};X(f,e=>{G(n).skillProfile&&e(p)});var m=V(f,2),h=e=>{var t=Nd(),r=z(t);M(t),H(()=>Y(r,`Org plan: ${G(n).orgPlanFilename??``}`)),J(e,t)};X(m,e=>{G(n).orgPlanFilename&&e(h)}),M(i);var g=V(i,2),_=z(g);va(_,{onclick:()=>t.onopenrecent(G(n)),children:(e,t)=>{N(),J(e,Vr(`Open`))},$$slots:{default:!0}}),va(V(_,2),{onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{N(),J(e,Vr(`Copy`))},$$slots:{default:!0}}),M(g),M(r),H(e=>Y(l,e),[()=>Ad(G(n).cwd)]),J(e,r)}),M(n),J(e,n)},be=e=>{J(e,Gd())};X(ve,e=>{G(p).length?e(ye):e(be,-1)}),M(_e),M(h),H(()=>{O!==(O=t.selectedSkillProfile)&&(E.value=(E.__value=t.selectedSkillProfile)??``,yi(E,t.selectedSkillProfile)),re!==(re=t.sandbox)&&(k.value=(k.__value=t.sandbox)??``,yi(k,t.sandbox)),ce!==(ce=t.approvalPolicy)&&(ie.value=(ie.__value=t.approvalPolicy)??``,yi(ie,t.approvalPolicy)),me.disabled=o().length===0,he!==(he=s())&&(me.value=(me.__value=s())??``,yi(me,s()))}),Nr(`submit`,x,e=>{e.preventDefault(),t.onstart()}),K(`change`,E,e=>t.onskillprofilechange(e.currentTarget.value)),K(`change`,k,e=>t.onsandboxchange(e.currentTarget.value)),K(`change`,ie,e=>t.onapprovalpolicychange(e.currentTarget.value)),K(`change`,me,e=>c()(e.currentTarget.value)),J(e,h),Qe()}Pr([`change`]);function Jd(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 Yd=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 Xd({chatEnabled:e}){return[`sessions`,`git`,...e?[`chat`]:[],`plan`]}function Zd(e,t,n={chatEnabled:!0}){let r=Xd(n);return r[(r.indexOf(e)+t+r.length)%r.length]}var Qd=q(`<nav class="bottom-navigation" aria-label="Primary"><button>Sessions</button> <button>Git</button> <button>Chat</button> <button>Plan</button></nav>`);function $d(e,t){Ze(t,!0);let n=$(t,`focusTab`,3,null),r=on({});Mn(()=>{n()&&r[n()]?.focus()});function i(e){let n=e.key===`ArrowRight`?1:e.key===`ArrowLeft`?-1:null;if(n===null)return;e.preventDefault();let i=Zd(t.activeTab,n,{chatEnabled:t.chatEnabled});t.onselect(i),r[i]?.focus()}var a=Qd(),o=z(a);Li(o,e=>r.sessions=e,()=>r?.sessions);var s=V(o,2);Li(s,e=>r.git=e,()=>r?.git);var c=V(s,2);Li(c,e=>r.chat=e,()=>r?.chat);var l=V(c,2);Li(l,e=>r.plan=e,()=>r?.plan),M(a),H(()=>{Q(o,`aria-pressed`,t.activeTab===`sessions`),Q(s,`aria-pressed`,t.activeTab===`git`),Q(c,`aria-pressed`,t.activeTab===`chat`),c.disabled=!t.chatEnabled,Q(l,`aria-pressed`,t.activeTab===`plan`)}),K(`keydown`,o,i),K(`click`,o,()=>t.onselect(`sessions`)),K(`keydown`,s,i),K(`click`,s,()=>t.onselect(`git`)),K(`keydown`,c,i),K(`click`,c,()=>t.onselect(`chat`)),K(`keydown`,l,i),K(`click`,l,()=>t.onselect(`plan`)),J(e,a),Qe()}Pr([`keydown`,`click`]);var ef=q(`<option> </option>`),tf=q(`<p id="skills-status" aria-live="polite">Loading skills…</p>`),nf=q(`<p id="skills-status">No skills were discovered for this workspace and Codex profile.</p>`),rf=q(`<p id="skills-status" class="notice svelte-dg6sjj" role="status"> </p>`),af=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert"> </p>`),of=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert" tabindex="-1"> </p>`),sf=q(`<p id="skills-status" role="status">Profile saved.</p>`),cf=q(`<p id="skills-status" role="status">Profile deleted.</p>`),lf=q(`<p class="svelte-dg6sjj"> </p>`),uf=q(`<li> </li>`),df=q(`<dt class="svelte-dg6sjj">Tool dependencies</dt> <dd class="svelte-dg6sjj"><ul class="svelte-dg6sjj"></ul></dd>`,1),ff=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>`),pf=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),mf=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 hf(e,t){Ze(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=mf(),C=z(S),w=z(C,!0);M(C);var T=V(C,4),E=z(T),D=V(z(E),2),O=z(D);O.value=O.__value=`__new__`;var k=V(O);k.value=k.__value=`__default__`,Z(V(k),17,()=>G(d),e=>e.name,(e,t)=>{var n=ef(),r=z(n,!0);M(n);var i={};H(()=>{Y(r,G(t).name),i!==(i=G(t).name)&&(n.value=(n.__value=G(t).name)??``)}),J(e,n)}),M(D),Li(D,e=>R(o,e),()=>G(o));var ee=V(D,4);Di(ee),M(E);var te=V(E,2),ne=z(te,!0);M(te);var re=V(te,2),ie=z(re);Li(ie,e=>R(s,e),()=>G(s));var ae=V(ie,2),oe=z(ae,!0);M(ae),M(re),M(T);var se=V(T,2),ce=V(z(se),2),le=z(ce);M(ce);var ue=V(ce,2),de=z(ue),fe=V(de,2);M(ue),M(se),Li(se,e=>R(c,e),()=>G(c));var pe=V(se,2),me=e=>{J(e,tf())},he=e=>{J(e,nf())},ge=e=>{var t=rf(),n=z(t);M(t),H(()=>Y(n,`Discovery warning: ${G(u).status.message??``}`)),J(e,t)},_e=e=>{var t=af(),n=z(t,!0);M(t),H(()=>Y(n,G(u).status.message)),J(e,t)},ve=e=>{var t=of(),n=z(t,!0);M(t),Li(t,e=>R(a,e),()=>G(a)),H(()=>Y(n,G(u).status.message)),J(e,t)},ye=e=>{J(e,sf())},be=e=>{J(e,cf())},xe=e=>{var t=af(),n=z(t,!0);M(t),H(()=>Y(n,G(u).status.message)),J(e,t)};X(pe,e=>{G(u).status.kind===`loading`?e(me):G(u).status.kind===`empty`?e(he,1):G(u).status.kind===`warning`?e(ge,2):G(u).status.kind===`invalid-profile`||G(u).status.kind===`error`?e(_e,3):G(u).status.kind===`save-failed`?e(ve,4):G(u).status.kind===`saved`?e(ye,5):G(u).status.kind===`deleted`?e(be,6):G(u).status.kind===`delete-failed`&&e(xe,7)});var Se=V(pe,2),Ce=e=>{var t=pf(),n=B(t),r=z(n),i=V(r,2),a=z(i);M(i),M(n);var o=V(n,2);Z(o,21,()=>G(u).skills,e=>e.path,(e,t)=>{var n=ff();let r;var i=z(n),a=z(i);Di(a);var o=V(a,2),s=z(o,!0);M(o);var c=V(o,2),l=z(c,!0);M(c),M(i);var d=V(i,2),p=z(d),m=e=>{var n=lf(),r=z(n,!0);M(n),H(()=>Y(r,G(t).description)),J(e,n)};X(p,e=>{G(t).description&&e(m)});var h=V(p,2),g=e=>{var n=lf(),r=z(n,!0);M(n),H(()=>Y(r,G(t).shortDescription)),J(e,n)};X(h,e=>{G(t).shortDescription&&e(g)});var _=V(h,2),v=V(z(_),2),S=z(v,!0);M(v);var C=V(v,2),w=e=>{var n=df(),r=V(B(n),2),i=z(r);Z(i,21,()=>G(t).dependencies.tools,e=>`${e.type}:${e.value}`,(e,t)=>{var n=uf(),r=z(n);M(n),H(()=>Y(r,`${G(t).type??``}: ${G(t).value??``}${G(t).description?` — ${G(t).description}`:``}`)),J(e,n)}),M(i),M(r),J(e,n)};X(C,e=>{G(t).dependencies?.tools?.length&&e(w)}),M(_),M(d),M(n),H((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)}),M(o),H(()=>Y(a,`${G(u).enabledCount??``} of ${G(u).skills.length??``} skills enabled.`)),K(`click`,r,()=>void p()),J(e,t)};X(Se,e=>{G(u).skills.length>0&&e(Ce)}),M(S),H(()=>{Y(w,r()),Oi(ee,G(u).saveAsName),Y(ne,G(u).saveIntent===`replace`?`Saved the selected profile.`:`Creating a new saved profile.`),ie.disabled=!G(u).selectedProfileName||G(u).status.kind===`deleting`,ae.disabled=G(u).status.kind===`saving`,Y(oe,G(u).status.kind===`saving`?`Saving profile…`:`Save profile`),Y(le,`Delete ${G(u).selectedProfileName??``}? Existing sessions keep their saved skill set.`)}),Nr(`submit`,T,h),K(`change`,D,m),xi(D,()=>G(l),e=>R(l,e)),K(`input`,ee,e=>{G(u).saveAsName=e.currentTarget.value,f()}),K(`click`,ie,g),K(`click`,de,()=>void v()),K(`click`,fe,()=>void _()),J(e,S),Qe()}Pr([`change`,`input`,`click`]);var gf=class{client;workspaceId=``;codexProfile=``;selectedProfileName=``;saveAsName=``;source=`native`;skills=[];profiles=[];status={kind:`idle`};baseline=new Map;saving=!1;deleting=!1;request=null;generation=0;disposed=!1;constructor(e){this.client=e}get enabledCount(){return this.skills.filter(e=>e.enabled).length}get dirty(){return this.skills.some(e=>this.baseline.get(e.path)!==e.enabled)}get saveIntent(){return this.profiles.some(e=>!(`error`in e)&&e.name===this.saveAsName.trim())?`replace`:`create`}async load(e,t){let n=this.beginRequest(),r=this.generation;this.workspaceId=e,this.codexProfile=t,this.status={kind:`loading`};try{let[i,a]=await Promise.all([this.client.listAvailableSkills(e,t,!0,n.signal),this.client.listSkillProfiles(n.signal)]);if(!this.current(r,n))return;this.applyAvailable(i),this.profiles=a.profiles;let o=a.profiles.find(e=>`error`in e);o&&`error`in o?this.status={kind:`invalid-profile`,message:o.error.message}:i.errors.length?this.status={kind:`warning`,message:i.errors.map(e=>e.message).join(` `)}:this.status=this.skills.length?{kind:`ready`}:{kind:`empty`}}catch(e){if(!this.current(r,n)||n.signal.aborted)return;this.status={kind:`error`,message:_f(e)}}}async refresh(){let e=this.beginRequest(),t=this.generation;this.status={kind:`loading`};try{let n=await this.client.listAvailableSkills(this.workspaceId,this.codexProfile,!0,e.signal);if(!this.current(t,e))return;this.applyAvailable(n),this.status=n.errors.length?{kind:`warning`,message:n.errors.map(e=>e.message).join(` `)}:this.skills.length?{kind:`ready`}:{kind:`empty`}}catch(n){if(!this.current(t,e)||e.signal.aborted)return;this.status={kind:`error`,message:_f(n)}}}selectProfile(e){let t=this.profiles.find(t=>!(`error`in t)&&t.name===e);if(!t||`error`in t){this.status={kind:`invalid-profile`,message:`Select a valid saved profile.`};return}this.selectedProfileName=t.name,this.saveAsName=t.name;let n=new Map(t.skills.map(e=>[e.path,e.enabled]));this.skills=this.skills.map(e=>({...e,enabled:e.alwaysAdvertised?!0:n.get(e.path)??!1})),this.captureBaseline(),this.status=this.skills.length?{kind:`ready`}:{kind:`empty`}}selectDefaultProfile(){this.selectedProfileName=``,this.saveAsName=``,this.skills=this.skills.map(e=>({...e,enabled:e.effectiveEnabled})),this.captureBaseline(),this.status=this.skills.length?{kind:`ready`}:{kind:`empty`}}toggle(e,t){this.skills=this.skills.map(n=>n.path===e&&!n.alwaysAdvertised?{...n,enabled:t}:n)}reset(){this.skills=this.skills.map(e=>({...e,enabled:this.baseline.get(e.path)??!1}))}async save(){let e=this.saveAsName.trim();if(this.saving||this.deleting)return;if(!e){this.status={kind:`save-failed`,message:`Enter a profile name before saving.`};return}this.saving=!0,this.status={kind:`saving`};let t=this.savePayload(e);try{let n=await this.client.replaceSkillProfile(e,t);this.profiles=[...this.profiles.filter(e=>`error`in e||e.name!==n.name),n].sort((e,t)=>e.name.localeCompare(t.name)),this.selectedProfileName=n.name,this.saveAsName=n.name,this.captureBaseline(),this.status={kind:`saved`}}catch(e){this.status={kind:`save-failed`,message:_f(e)}}finally{this.saving=!1}}async deleteSelectedProfile(){let e=this.selectedProfileName;if(!(this.saving||this.deleting)){if(!e){this.status={kind:`delete-failed`,message:`Select a saved profile before deleting.`};return}this.deleting=!0,this.status={kind:`deleting`};try{await this.client.deleteSkillProfile(e),this.profiles=this.profiles.filter(t=>`error`in t||t.name!==e),this.selectedProfileName=``,this.saveAsName=``,this.captureBaseline(),this.status={kind:`deleted`}}catch(e){this.status={kind:`delete-failed`,message:_f(e)}}finally{this.deleting=!1}}}dispose(){this.disposed=!0,++this.generation,this.request?.abort(),this.request=null}beginRequest(){return this.request?.abort(),this.request=new AbortController,++this.generation,this.request}current(e,t){return!this.disposed&&e===this.generation&&this.request===t}savePayload(e=this.saveAsName.trim()){return{version:1,name:e,skills:this.skills.map(({name:e,path:t,enabled:n})=>({name:e,path:t,enabled:n})).sort((e,t)=>e.path.localeCompare(t.path))}}applyAvailable(e){let t=new Map(this.skills.filter(e=>this.baseline.get(e.path)!==e.enabled).map(e=>[e.path,e.enabled]));this.source=e.source,this.skills=e.skills.map(e=>({...e,enabled:e.alwaysAdvertised?!0:t.get(e.path)??e.effectiveEnabled})),this.baseline=new Map(e.skills.map(e=>[e.path,this.baseline.get(e.path)??e.effectiveEnabled]))}captureBaseline(){this.baseline=new Map(this.skills.map(e=>[e.path,e.enabled]))}};function _f(e){return e instanceof Error?e.message:`Unknown relay error.`}var vf=o(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),yf=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)}})),bf=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}}})),xf=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})),Sf=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})),Cf=o((e=>{var t=yf().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}})),wf=o((e=>{var t=yf().getSymbolSize,n=7;e.getPositions=function(e){let r=t(e);return[[0,0],[r-n,0],[0,r-n]]}})),Tf=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}})),Ef=o((e=>{var t=bf(),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}}})),Df=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]]}})),Of=o((e=>{var t=Df();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}})),kf=o(((e,t)=>{var n=Of();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})),Af=o((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),jf=o((e=>{var t=`[0-9]+`,n=`[A-Z $%*+\\-./:]+`,r=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;r=r.replace(/u/g,`\\u`);var i=`(?:(?![A-Z0-9 $%*+\\-./:]|`+r+`)(?:.|[\r
19
+ ]))+`;e.KANJI=new RegExp(r,`g`),e.BYTE_KANJI=RegExp(`[^A-Z0-9 $%*+\\-./:]+`,`g`),e.BYTE=new RegExp(i,`g`),e.NUMERIC=new RegExp(t,`g`),e.ALPHANUMERIC=new RegExp(n,`g`);var a=RegExp(`^`+r+`$`),o=RegExp(`^[0-9]+$`),s=RegExp(`^[A-Z0-9 $%*+\\-./:]+$`);e.testKanji=function(e){return a.test(e)},e.testNumeric=function(e){return o.test(e)},e.testAlphanumeric=function(e){return s.test(e)}})),Mf=o((e=>{var t=Af(),n=jf();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}}})),Nf=o((e=>{var t=yf(),n=Ef(),r=bf(),i=Mf(),a=Af(),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}})),Pf=o((e=>{var t=yf(),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}})),Ff=o(((e,t)=>{var n=Mf();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})),If=o(((e,t)=>{var n=Mf(),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})),Lf=o(((e,t)=>{var n=Mf();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})),Rf=o(((e,t)=>{var n=Mf(),r=yf();function i(e){this.mode=n.KANJI,this.data=e}i.getBitsLength=function(e){return e*13},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t;for(t=0;t<this.data.length;t++){let n=r.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw Error(`Invalid SJIS character: `+this.data[t]+`
20
+ Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=i})),zf=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)})),Bf=o((e=>{var t=Mf(),n=Ff(),r=If(),i=Lf(),a=Rf(),o=jf(),s=yf(),c=zf();function l(e){return unescape(encodeURIComponent(e)).length}function u(e,t,n){let r=[],i;for(;(i=e.exec(n))!==null;)r.push({data:i[0],index:i.index,mode:t,length:i[0].length});return r}function d(e){let n=u(o.NUMERIC,t.NUMERIC,e),r=u(o.ALPHANUMERIC,t.ALPHANUMERIC,e),i,a;return s.isKanjiModeEnabled()?(i=u(o.BYTE,t.BYTE,e),a=u(o.KANJI,t.KANJI,e)):(i=u(o.BYTE_KANJI,t.BYTE,e),a=[]),n.concat(r,i,a).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function f(e,o){switch(o){case t.NUMERIC:return n.getBitsLength(e);case t.ALPHANUMERIC:return r.getBitsLength(e);case t.KANJI:return a.getBitsLength(e);case t.BYTE:return i.getBitsLength(e)}}function p(e){return e.reduce(function(e,t){let n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}function m(e){let n=[];for(let r=0;r<e.length;r++){let i=e[r];switch(i.mode){case t.NUMERIC:n.push([i,{data:i.data,mode:t.ALPHANUMERIC,length:i.length},{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.ALPHANUMERIC:n.push([i,{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.KANJI:n.push([i,{data:i.data,mode:t.BYTE,length:l(i.data)}]);break;case t.BYTE:n.push([{data:i.data,mode:t.BYTE,length:l(i.data)}])}}return n}function h(e,n){let r={},i={start:{}},a=[`start`];for(let o=0;o<e.length;o++){let s=e[o],c=[];for(let e=0;e<s.length;e++){let l=s[e],u=``+o+e;c.push(u),r[u]={node:l,lastCount:0},i[u]={};for(let e=0;e<a.length;e++){let o=a[e];r[o]&&r[o].node.mode===l.mode?(i[o][u]=f(r[o].lastCount+l.length,l.mode)-f(r[o].lastCount,l.mode),r[o].lastCount+=l.length):(r[o]&&(r[o].lastCount=l.length),i[o][u]=f(l.length,l.mode)+4+t.getCharCountIndicator(l.mode,n))}}a=c}for(let e=0;e<a.length;e++)i[a[e]].end=0;return{map:i,table:r}}function g(e,o){let c,l=t.getBestModeForData(e);if(c=t.from(o,l),c!==t.BYTE&&c.bit<l.bit)throw Error(`"`+e+`" cannot be encoded with mode `+t.toString(c)+`.
21
+ Suggested mode is: `+t.toString(l));switch(c===t.KANJI&&!s.isKanjiModeEnabled()&&(c=t.BYTE),c){case t.NUMERIC:return new n(e);case t.ALPHANUMERIC:return new r(e);case t.KANJI:return new a(e);case t.BYTE:return new i(e)}}e.fromArray=function(e){return e.reduce(function(e,t){return typeof t==`string`?e.push(g(t,null)):t.data&&e.push(g(t.data,t.mode)),e},[])},e.fromString=function(t,n){let r=h(m(d(t,s.isKanjiModeEnabled())),n),i=c.find_path(r.map,`start`,`end`),a=[];for(let e=1;e<i.length-1;e++)a.push(r.table[i[e]].node);return e.fromArray(p(a))},e.rawSplit=function(t){return e.fromArray(d(t,s.isKanjiModeEnabled()))}})),Vf=o((e=>{var t=yf(),n=bf(),r=xf(),i=Sf(),a=Cf(),o=wf(),s=Tf(),c=Ef(),l=kf(),u=Nf(),d=Pf(),f=Mf(),p=Bf();function m(e,t){let n=e.size,r=o.getPositions(t);for(let t=0;t<r.length;t++){let i=r[t][0],a=r[t][1];for(let t=-1;t<=7;t++)if(!(i+t<=-1||n<=i+t))for(let r=-1;r<=7;r++)a+r<=-1||n<=a+r||(t>=0&&t<=6&&(r===0||r===6)||r>=0&&r<=6&&(t===0||t===6)||t>=2&&t<=4&&r>=2&&r<=4?e.set(i+t,a+r,!0,!0):e.set(i+t,a+r,!1,!0))}}function h(e){let t=e.size;for(let n=8;n<t-8;n++){let t=n%2==0;e.set(n,6,t,!0),e.set(6,n,t,!0)}}function g(e,t){let n=a.getPositions(t);for(let t=0;t<n.length;t++){let r=n[t][0],i=n[t][1];for(let t=-2;t<=2;t++)for(let n=-2;n<=2;n++)t===-2||t===2||n===-2||n===2||t===0&&n===0?e.set(r+t,i+n,!0,!0):e.set(r+t,i+n,!1,!0)}}function _(e,t){let n=e.size,r=u.getEncodedBits(t),i,a,o;for(let t=0;t<18;t++)i=Math.floor(t/3),a=t%3+n-8-3,o=(r>>t&1)==1,e.set(i,a,o,!0),e.set(a,i,o,!0)}function v(e,t,n){let r=e.size,i=d.getEncodedBits(t,n),a,o;for(a=0;a<15;a++)o=(i>>a&1)==1,a<6?e.set(a,8,o,!0):a<8?e.set(a+1,8,o,!0):e.set(r-15+a,8,o,!0),a<8?e.set(8,r-a-1,o,!0):a<9?e.set(8,15-a-1+1,o,!0):e.set(8,15-a-1,o,!0);e.set(r-8,8,1,!0)}function y(e,t){let n=e.size,r=-1,i=n-1,a=7,o=0;for(let s=n-1;s>0;s-=2)for(s===6&&s--;;){for(let n=0;n<2;n++)if(!e.isReserved(i,s-n)){let r=!1;o<t.length&&(r=(t[o]>>>a&1)==1),e.set(i,s-n,r),a--,a===-1&&(o++,a=7)}if(i+=r,i<0||n<=i){i-=r,r=-r;break}}}function b(e,n,i){let a=new r;i.forEach(function(t){a.put(t.mode.bit,4),a.put(t.getLength(),f.getCharCountIndicator(t.mode,e)),t.write(a)});let o=(t.getSymbolTotalCodewords(e)-c.getTotalCodewordsCount(e,n))*8;for(a.getLengthInBits()+4<=o&&a.put(0,4);a.getLengthInBits()%8!=0;)a.putBit(0);let s=(o-a.getLengthInBits())/8;for(let e=0;e<s;e++)a.put(e%2?17:236,8);return x(a,e,n)}function x(e,n,r){let i=t.getSymbolTotalCodewords(n),a=i-c.getTotalCodewordsCount(n,r),o=c.getBlocksCount(n,r),s=o-i%o,u=Math.floor(i/o),d=Math.floor(a/o),f=d+1,p=u-d,m=new l(p),h=0,g=Array(o),_=Array(o),v=0,y=new Uint8Array(e.buffer);for(let e=0;e<o;e++){let t=e<s?d:f;g[e]=y.slice(h,h+t),_[e]=m.encode(g[e]),h+=t,v=Math.max(v,t)}let b=new Uint8Array(i),x=0,S,C;for(S=0;S<v;S++)for(C=0;C<o;C++)S<g[C].length&&(b[x++]=g[C][S]);for(S=0;S<p;S++)for(C=0;C<o;C++)b[x++]=_[C][S];return b}function S(e,n,r,a){let o;if(Array.isArray(e))o=p.fromArray(e);else if(typeof e==`string`){let t=n;if(!t){let n=p.rawSplit(e);t=u.getBestVersionForData(n,r)}o=p.fromString(e,t||40)}else throw Error(`Invalid data`);let c=u.getBestVersionForData(o,r);if(!c)throw Error(`The amount of data is too big to be stored in a QR Code`);if(!n)n=c;else if(n<c)throw Error(`
22
22
  The chosen QR Code version cannot contain this amount of data.
23
23
  Minimum version required to store current data is: `+c+`.
24
- `);let l=b(n,r,o),d=new i(t.getSymbolSize(n));return m(d,n),h(d),g(d,n),v(d,r,0),n>=7&&_(d,n),y(d,l),isNaN(a)&&(a=s.getBestMask(d,v.bind(null,d,r))),s.applyMask(a,d),v(d,r,a),{modules:d,version:n,errorCorrectionLevel:r,maskPattern:a,segments:o}}e.create=function(e,r){if(e===void 0||e===``)throw Error(`No input text`);let i=n.M,a,o;return r!==void 0&&(i=n.from(r.errorCorrectionLevel,n.M),a=u.from(r.version),o=s.from(r.maskPattern),r.toSJISFunc&&t.setToSJISFunction(r.toSJISFunc)),S(e,a,i,o)}})),zf=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}}})),Bf=o((e=>{var t=zf();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)}})),Vf=o((e=>{var t=zf();function n(e,t){let n=e.a/255,r=t+`="`+e.hex+`"`;return n<1?r+` `+t+`-opacity="`+n.toFixed(2).slice(1)+`"`:r}function r(e,t,n){let r=e+t;return n!==void 0&&(r+=` `+n),r}function i(e,t,n){let i=``,a=0,o=!1,s=0;for(let c=0;c<e.length;c++){let l=Math.floor(c%t),u=Math.floor(c/t);!l&&!o&&(o=!0),e[c]?(s++,c>0&&l>0&&e[c-1]||(i+=o?r(`M`,l+n,.5+u+n):r(`m`,a,0),a=0,o=!1),l+1<t&&e[c+1]||(i+=r(`h`,s),s=0)):a++}return i}e.render=function(e,r,a){let o=t.getOptions(r),s=e.modules.size,c=e.modules.data,l=s+o.margin*2,u=o.color.light.a?`<path `+n(o.color.light,`fill`)+` d="M0 0h`+l+`v`+l+`H0z"/>`:``,d=`<path `+n(o.color.dark,`stroke`)+` d="`+i(c,s,o.margin)+`"/>`,f=`viewBox="0 0 `+l+` `+l+`"`,p=`<svg xmlns="http://www.w3.org/2000/svg" `+(o.width?`width="`+o.width+`" height="`+o.width+`" `:``)+f+` shape-rendering="crispEdges">`+u+d+`</svg>
25
- `;return typeof a==`function`&&a(null,p),p}})),Hf=c(o((e=>{var t=hf(),n=Rf(),r=Bf(),i=Vf();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 Uf(e){return`${e.replace(/\/$/,``)}/?bootstrap=1`}async function Wf(e){return Hf.toDataURL(Uf(e),{errorCorrectionLevel:`M`,margin:1,width:256})}async function Gf(e){return Hf.toDataURL(e,{errorCorrectionLevel:`M`,margin:1,width:256})}var Kf=q(`<p class="feedback svelte-1nygetn" role="status"> </p>`),qf=q(`<span class="svelte-1nygetn">At least one authorized device is required.</span>`),Jf=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>`),Yf=q(`<ul aria-label="Authorized devices" class="svelte-1nygetn"></ul>`),Xf=q(`<p role="status" class="svelte-1nygetn">No authorized devices are available. Refresh this page before making changes.</p>`),Zf=q(`<button type="button" class="svelte-1nygetn">Create enrollment link</button>`),Qf=q(`<img alt="QR code for the enrollment link" class="svelte-1nygetn"/>`),$f=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),ep=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 tp(e,t){Ze(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=L(on([])),i=L(``),a=L(null),o=L(`none`),s=L(null),c=L(null),l=L(null),u=L(null),d=L(on(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 Gf(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 O(){document.visibilityState===`visible`&&G(o)===`pending`&&G(p)>0?(b(),_()):g()}Ri(()=>{y(),document.addEventListener(`visibilitychange`,O);let e=setInterval(()=>R(d,Date.now(),!0),1e3);return()=>clearInterval(e)}),zi(()=>{g(),document.removeEventListener(`visibilitychange`,O)});var k=ep(),ee=B(k),te=z(ee),ne=z(te);N(2),M(te);var re=V(te,2),ie=e=>{var t=Kf(),n=z(t,!0);M(t),H(()=>Y(n,G(i))),J(e,t)};X(re,e=>{G(i)&&e(ie)});var ae=V(re,2),oe=e=>{var t=Yf();Z(t,21,()=>G(f),e=>e.id,(e,t)=>{var n=Jf(),r=z(n),i=z(r),a=V(i);Di(a);var o=V(a,2),s=z(o),c=V(s),l=e=>{var n=Vr();H(e=>Y(n,`· Last used ${e??``}`),[()=>new Date(G(t).lastUsedAt).toLocaleDateString()]),J(e,n)};X(c,e=>{G(t).lastUsedAt&&e(l)});var u=V(c),d=e=>{J(e,Vr(`· This device`))};X(u,e=>{G(t).current&&e(d)}),M(o);var p=V(o,4),m=V(p,2),h=e=>{var n=qf();H(()=>Q(n,`id`,`final-${G(t).id}`)),J(e,n)};X(m,e=>{G(f).length===1&&e(h)}),M(r),M(n),H(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)}),M(t),J(e,t)},se=e=>{J(e,Xf())};X(ae,e=>{G(f).length?e(oe):e(se,-1)});var ce=V(ae,2),le=V(z(ce),2),ue=e=>{var t=Zf();K(`click`,t,()=>void x()),J(e,t)},de=e=>{var t=$f(),r=B(t),i=z(r,!0);M(r);var c=V(r,2),l=e=>{var t=Qf();H(()=>Q(t,`src`,G(s))),J(e,t)};X(c,e=>{G(s)&&e(l)});var u=V(c,3);Sn(u);var d=V(u,2),f=z(d),p=V(f),h=V(p),g=V(h);M(d),H(()=>{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(le,e=>{G(a)?e(de,-1):e(ue)}),M(ce),M(ee);var fe=V(ee,2),pe=V(z(fe),4),me=V(z(pe));M(pe),M(fe),Li(fe,e=>R(c,e),()=>G(c)),K(`click`,ne,function(...e){t.onclose?.apply(this,e)}),K(`click`,me,()=>void E()),J(e,k),Qe()}Pr([`click`]);async function np(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 rp(e){return{list:()=>np(e(`/api/auth/devices`,{credentials:`same-origin`})),rename:(t,n)=>np(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`PATCH`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({nickname:n})})),revoke:t=>np(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`DELETE`,credentials:`same-origin`})),createTicket:()=>np(e(`/api/auth/enrollment-tickets`,{method:`POST`,credentials:`same-origin`})),ticketStatus:()=>np(e(`/api/auth/enrollment-tickets/current`,{credentials:`same-origin`})),cancelTicket:()=>np(e(`/api/auth/enrollment-tickets/current`,{method:`DELETE`,credentials:`same-origin`}))}}var ip=`gestalt-mobile.scratchpad`;function ap(){try{return window.localStorage}catch{return null}}function op(e){try{return e?.getItem(`gestalt-mobile.scratchpad`)??``}catch{return``}}function sp(e,t){try{return e?(e.setItem(ip,t),!0):!1}catch{return!1}}function cp(e){try{return e?(e.removeItem(ip),!0):!1}catch{return!1}}var lp=q(`<p class="feedback svelte-eu5bnq" role="status"> </p>`),up=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>`),dp=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>`),fp=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 pp(e,t){Ze(t,!0);let n=$(t,`storage`,19,ap),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,op(n()),!0),await Cr(),G(i)?.showModal(),G(a)?.focus()});function u(e){R(s,e,!0),R(l,sp(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(!cp(n())){R(l,`This browser could not clear its saved scratchpad.`);return}R(s,``),R(c,!1),R(l,``),G(a)?.focus()}var h=fp(),g=z(h),_=z(g),v=V(z(_),2);M(_);var y=V(_,4);Sn(y),Li(y,e=>R(a,e),()=>G(a));var b=V(y,2),x=e=>{var t=lp(),n=z(t,!0);M(t),H(()=>Y(n,G(l))),J(e,t)};X(b,e=>{G(l)&&e(x)});var S=V(b,2),C=e=>{var t=up(),n=V(z(t),4),r=z(n);Li(r,e=>R(o,e),()=>G(o));var i=V(r,2);M(n),M(t),K(`click`,r,p),K(`click`,i,m),J(e,t)},w=e=>{var t=dp(),n=z(t),r=V(n,2),o=V(r,2),c=V(o,2);M(t),H(()=>o.disabled=!G(s)),K(`click`,n,()=>void d()),K(`click`,r,()=>G(a)?.select()),K(`click`,o,()=>void f()),K(`click`,c,()=>G(i)?.close()),J(e,t)};X(S,e=>{G(c)?e(C):e(w,-1)}),M(g),M(h),Li(h,e=>R(i,e),()=>G(i)),H(()=>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),Qe()}Pr([`click`,`input`]);var mp=q(`<button class="disclosure svelte-am0nvt" type="button"> </button>`),hp=q(`<span class="disclosure svelte-am0nvt"></span>`),gp=q(`<span class="unsupported svelte-am0nvt">Files cannot be destinations</span>`),_p=q(`<span class="unsupported svelte-am0nvt">Unsupported link</span>`),vp=q(`<span role="status">Loading…</span>`),yp=q(`<button type="button" class="svelte-am0nvt"> </button>`),bp=q(`<div role="group"><!> <!> <!> <!></div>`),xp=q(`<div role="treeitem"><div class="tree-row svelte-am0nvt" role="presentation"><!> <span class="tree-label svelte-am0nvt"> </span><!></div> <!></div>`),Sp=q(`<p role="status">Loading files…</p>`),Cp=q(`<button type="button" class="svelte-am0nvt">Retry loading files</button>`),wp=q(`<button type="button" class="svelte-am0nvt">Load more in root</button>`),Tp=q(`<div class="file-tree svelte-am0nvt" role="tree" aria-label="Files"><!> <!> <!> <!></div>`);function Ep(e,t){Ze(t,!0);let n=$(t,`destinationMode`,3,!1),r=$(t,`ondestinationselect`,3,()=>{}),i=$(t,`onselectionchange`,3,()=>{}),a=on({}),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=Tp();{let e=(r,i=b,s=b)=>{var l=Hr();Z(B(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=xp();let g;var _=z(h);let v;var y=z(_),b=e=>{var n=mp(),r=z(n,!0);M(n),H((e,t)=>{Q(n,`aria-label`,e),Y(r,t)},[()=>`${t.controller.expanded.has(G(i).path)?`Collapse`:`Expand`} ${G(i).name}`,()=>t.controller.expanded.has(G(i).path)?`−`:`+`]),K(`click`,n,e=>{e.stopPropagation(),u(G(i))}),J(e,n)},x=e=>{J(e,hp())};X(y,e=>{G(l)?e(b):e(x,-1)});var S=V(y,2),C=z(S,!0);M(S);var w=V(S),T=e=>{J(e,gp())},E=e=>{var t=_p();H(()=>Q(t,`id`,`${G(i).path}-unsupported`)),J(e,t)};X(w,e=>{n()&&!G(l)?e(T):G(i).kind===`symlink`&&e(E,1)}),M(_);var D=V(_,2),O=n=>{let r=F(()=>t.controller.state(G(i).path));var a=bp(),o=z(a),c=e=>{J(e,vp())};X(o,e=>{G(r).loading&&e(c)});var l=V(o,2),u=e=>{var n=yp(),r=z(n);M(n),H(()=>Y(r,`Retry ${G(i).name??``}`)),K(`click`,n,()=>void t.controller.load(G(i).path)),J(e,n)};X(l,e=>{G(r).error&&e(u)});var d=V(l,2);e(d,()=>G(i).path,()=>s()+1);var f=V(d,2),p=e=>{var n=yp(),r=z(n);M(n),H(()=>Y(r,`Load more in ${G(i).name??``}`)),K(`click`,n,()=>void t.controller.load(G(i).path,!0)),J(e,n)};X(f,e=>{G(r).cursor&&e(p)}),M(a),H(()=>Q(a,`aria-label`,`Contents of ${G(i).name}`)),J(n,a)},k=F(()=>G(l)&&t.controller.expanded.has(G(i).path));X(D,e=>{G(k)&&e(O)}),M(h),Li(h,(e,t)=>a[t.path]=e,e=>a?.[e.path],()=>[G(i)]),H(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=z(p),h=e=>{J(e,Sp())};X(m,e=>{G(s).loading&&e(h)});var g=V(m,2),_=e=>{var n=Cp();K(`click`,n,()=>void t.controller.load(``)),J(e,n)};X(g,e=>{G(s).error&&e(_)});var v=V(g,2);e(v,()=>``,()=>1);var y=V(v,2),x=e=>{var n=wp();K(`click`,n,()=>void t.controller.load(``,!0)),J(e,n)};X(y,e=>{G(s).cursor&&e(x)}),M(p)}J(e,p),Qe()}Pr([`keydown`,`click`]);var Dp=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?Op(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 Op(e,t){let n=new Set(e.map(e=>e.path));return[...e,...t.filter(e=>!n.has(e.path))]}var kp=25*1024*1024;function Ap(e){return[...e].map(e=>({file:e,status:e.size>26214400?`too-large`:`queued`}))}function jp(e){return e.findIndex(e=>e.status===`queued`)}var Mp={phase:`idle`};function Np(e,t){return{phase:`picking`,kind:e,source:t}}function Pp(e,t){return e.phase===`picking`?{...e,destination:t}:e}function Fp(e){return e.phase!==`picking`||e.destination===void 0?e:{...e,phase:`submitting`}}function Ip(e,t){return e.phase===`submitting`?{...e,phase:`conflict`,replaceAllowed:t}:e}function Lp(e){return e.phase===`submitting`?{...e,phase:`failed`}:e}function Rp(e,t){return e.phase!==`picking`||!e.source||e.kind===`move`&&zp(e.source)===t?!1:!(t===e.source||t.startsWith(`${e.source}/`))}function zp(e){let t=e.lastIndexOf(`/`);return t<0?``:e.slice(0,t)}var Bp=q(`<li> </li>`),Vp=q(`<button type="button" class="svelte-qx7639">Replace</button>`),Hp=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>`),Up=q(`<button type="button" class="svelte-qx7639">Cancel uploads</button>`),Wp=q(`<section class="picker svelte-qx7639" aria-label="Upload queue" aria-live="polite"><p class="svelte-qx7639"> </p> <ul></ul> <!></section>`),Gp=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>`),Kp=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>`),qp=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>`),Jp=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>`),Yp=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>`),Xp=q(`<section aria-label="File browser error"><p class="svelte-qx7639">Files could not be read. Try again.</p></section>`),Zp=q(`<p role="status" class="svelte-qx7639">This folder is empty.</p>`),Qp=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 $p(e,t){Ze(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(on(Mp)),l=L(null),u=L(``),d=L(!1),f=L(!1),p=L(null),m=L(null),h=L(on([])),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 Dp(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??jp(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},La(),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,Ap(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 O(e){if(G(c).phase===`submitting`||G(f)){e.preventDefault();return}e.preventDefault(),S()}async function k(){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),La()),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 ee(){R(d,!0),await Cr(),G(p)?.focus()}function te(e){G(u)&&R(c,Np(e,G(u)),!0)}function ne(e){Rp(G(c),e)&&R(c,Pp(G(c),e),!0)}async function re(e=`reject`){if(!G(s)||G(c).phase!==`picking`&&G(c).phase!==`conflict`)return;let i=G(c).phase===`picking`?Fp(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},La()),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,Mp,!0)}catch(e){let n=e;n.status===409?(R(c,Ip(i,n.replaceAllowed===!0),!0),await Cr(),G(l)?.focus()):(R(c,Lp(i),!0),t.onerror(e))}}}var ie=Qp(),ae=z(ie),oe=z(ae),se=z(oe),ce=z(se),le=z(ce,!0);M(ce),Li(ce,e=>R(a,e),()=>G(a));var ue=V(ce,2),de=z(ue,!0);M(ue),M(se);var fe=V(se,2);M(oe);var pe=V(oe,2),me=z(pe);M(pe);var he=V(pe,2),ge=z(he);Li(ge,e=>R(m,e),()=>G(m));var _e=V(ge,2),ve=z(_e);M(_e);var ye=V(_e,2);M(he);var be=V(he,2),xe=e=>{var t=Wp(),n=z(t),r=z(n);M(n);var i=V(n,2);Z(i,21,()=>G(h),e=>e.file,(e,t)=>{var n=Bp(),r=z(n);M(n),H(()=>Y(r,`${G(t).file.name??``}: ${G(t).path??G(t).status??``}${G(t).status===`too-large`?` (maximum ${kp/1024/1024} MiB)`:``}`)),J(e,n)}),M(i);var a=V(i,2),o=e=>{var t=Hp(),n=z(t),r=e=>{var t=Vp();K(`click`,t,()=>void T(`replace`)),J(e,t)};X(n,e=>{G(v).replaceAllowed&&e(r)});var i=V(n,2),a=V(i,2);M(t),K(`click`,i,()=>void T(`keep-both`)),K(`click`,a,D),J(e,t)},s=e=>{var t=Up();K(`click`,t,D),J(e,t)};X(a,e=>{G(v)?e(o):G(g)&&e(s,1)}),M(t),H((e,t)=>Y(r,`${e??``} queued, ${t??``} completed`),[()=>G(h).filter(e=>e.status===`queued`).length,()=>G(h).filter(e=>e.status===`completed`).length]),J(e,t)};X(be,e=>{G(h).length&&e(xe)});var Se=V(be,2),Ce=e=>{var t=Gp(),n=z(t),r=V(n,2),i=V(r,2);M(t),K(`click`,n,()=>te(`copy`)),K(`click`,r,()=>te(`move`)),K(`click`,i,()=>void ee()),J(e,t)};X(Se,e=>{G(s)&&G(c).phase===`idle`&&G(b)&&G(b).kind!==`symlink`&&e(Ce)});var we=V(Se,2),Te=e=>{var t=Kp(),n=z(t),r=z(n,!0);M(n);var i=V(n,2),a=z(i,!0);M(i);var o=V(i,2),s=z(o);Li(s,e=>R(p,e),()=>G(p));var c=V(s,2),l=z(c,!0);M(c),M(o),M(t),H(()=>{Y(r,G(b).kind===`directory`?`Delete folder and all contents`:`Delete file`),Y(a,G(u)),s.disabled=G(f),c.disabled=G(f),Y(l,G(f)?`Deleting…`:`Delete`)}),K(`click`,s,()=>R(d,!1)),K(`click`,c,()=>void k()),J(e,t)};X(we,e=>{G(d)&&G(b)&&e(Te)});var Ee=V(we,2),De=e=>{var t=qp(),n=z(t),r=z(n),i=z(r);M(r);var a=V(r);M(n);var o=V(n,2),s=z(o);M(o);var l=V(o,2),u=z(l),d=V(u,2),f=z(d);M(d);var p=V(d,2);M(l),M(t),H(e=>{Y(i,`${G(c).kind===`copy`?`Copy`:`Move`}:`),Y(a,` ${G(c).source??``}`),Y(s,`Destination: ${(G(c).destination===``?`root folder`:G(c).destination??`choose a folder`)??``}`),u.disabled=e,d.disabled=G(c).destination===void 0,Y(f,`Confirm ${G(c).kind??``}`)},[()=>!Rp(G(c),``)]),K(`click`,u,()=>ne(``)),K(`click`,d,()=>void re()),K(`click`,p,()=>R(c,Mp,!0)),J(e,t)},Oe=e=>{var t=Jp(),n=V(z(t),2),r=z(n,!0);M(n);var i=V(n,2),a=z(i),o=e=>{var t=Vp();K(`click`,t,()=>void re(`replace`)),J(e,t)};X(a,e=>{G(c).replaceAllowed&&e(o)});var s=V(a,2),u=V(s,2);M(i),M(t),Li(t,e=>R(l,e),()=>G(l)),H(()=>Y(r,G(c).destination)),K(`click`,s,()=>void re(`keep-both`)),K(`click`,u,()=>R(c,Mp,!0)),J(e,t)},ke=e=>{var t=Yp(),n=V(z(t),2),r=z(n),i=V(r);M(n),M(t),K(`click`,r,()=>R(c,{...G(c),phase:`picking`},!0)),K(`click`,i,()=>R(c,Mp,!0)),J(e,t)};X(Ee,e=>{G(c).phase===`picking`?e(De):G(c).phase===`conflict`?e(Oe,1):G(c).phase===`failed`&&e(ke,2)});var Ae=V(Ee,2),je=e=>{J(e,Xp())},Me=e=>{J(e,Zp())};X(Ae,e=>{G(s)&&!G(y).loading&&G(y).error?e(je):G(s)&&!G(y).loading&&G(y).entries.length===0&&e(Me,1)});var Ne=V(Ae,2),Pe=e=>{var t=Hr();Yr(B(t),()=>G(o),e=>{{let t=F(()=>G(c).phase===`picking`);Ep(e,{get controller(){return G(s)},get revision(){return G(o)},get destinationMode(){return G(t)},ondestinationselect:ne,onselectionchange:e=>R(u,e,!0)})}}),J(e,t)};X(Ne,e=>{G(s)&&e(Pe)}),M(ae),M(ie),Li(ie,e=>R(i,e),()=>G(i)),H(()=>{Y(le,G(x)),Y(de,G(c).phase===`picking`?`Choose destination folder.`:`Browse folders and select a position.`),me.disabled=G(y).loading,Y(ve,`Upload destination: ${(G(b)?.kind===`file`?`Select a folder first`:G(u)||`root folder`)??``}`),ye.disabled=G(b)?.kind===`file`||G(g)}),Nr(`close`,ie,function(...e){t.onclose?.apply(this,e)}),Nr(`cancel`,ie,O),K(`click`,fe,S),K(`click`,me,()=>void G(s)?.refresh()),K(`change`,ge,e=>E(e.currentTarget.files)),K(`click`,ye,()=>G(m)?.click()),J(e,ie),Qe()}Pr([`click`,`change`]);var em=q(`<main class="evidence-mode svelte-1d2e8zz"><!></main>`),tm=q(`<span class="detached-chat-model svelte-1d2e8zz"> </span>`),nm=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>`),rm=q(`<div class="recovery-notice" role="status" aria-live="polite" aria-atomic="true"><span> </span> <button type="button">Dismiss</button></div>`),im=q(`<!> <!> <div class="chat-controls svelte-1d2e8zz" aria-label="Chat controls"><!> <!></div> <div class="chat-tail svelte-1d2e8zz" aria-hidden="true"></div>`,1),am=q(`<p> </p>`),om=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>`),sm=q(`<p>Loading skill profiles…</p>`),cm=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>`),lm=q(`<!> <!> <!> <!>`,1),um=q(`<main class="swipe-surface svelte-1d2e8zz"><!> <!> <!> <!></main> <!>`,1);function dm(e,t){Ze(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=yc(location.search),i=L(null),a=L(on(r?`chat`:`sessions`)),o=L(!1),s=L(!1),c=L(null),l=L(null),u=!1,d=L(`Loading relay…`),f=L(on(Er(()=>t.theme))),p=L(on([])),m=`gpt-5.6-terra`,h=L([m]),g=L(m),_=L([]),v=L(null),y=L(`list`),b=L([]),x=L(``),S=L(``),C=L(``),w=L(on(new Set)),T=L(null),E=L(on([])),D=L(new Map),O=L({snapshots:new Map,attention:new Map,pending:new Set,errors:new Map}),k=0,ee=null,te=F(()=>G(E).some(e=>e.id===G(T))),ne=L(on([])),re=L(`workspace-write`),ie=L(`on-request`),ae=L(on({starting:!1,error:null})),oe=F(()=>G(ae).starting),se=L(null),ce=0,le=L(null),ue=L(null),de=L(null),fe=L(``),pe=L(on({kind:`unavailable`,sessionId:null})),me=L({kind:`no-workspace`}),he=L(null),ge=L(null),_e=L(!1),ve=null,ye=null,be=0,xe=0,Se=L(null),Ce=F(()=>(G(E).find(e=>e.id===G(T))?.workspaceId??G(C))||null),we=F(()=>G(E).find(e=>e.id===G(T))?.workspacePath??null),Te=F(()=>G(E).find(e=>e.id===G(T))??null),Ee=F(()=>Dd(G(Te)?.workspacePath??``));function De(e){return`kind`in e&&e.kind===`org-source`}function Oe(e){return r?e.filter(e=>e.id===G(T)):e}let ke=F(()=>G(he)&&De(G(he))?G(he):G(he)?{kind:`ready`,sessionId:`catalog`,plan:G(he)}:G(_e)?null:G(pe).kind===`ready`||G(pe).kind===`closing`||G(pe).kind===`error`&&G(pe).plan?G(pe):null),Ae=F(()=>gu(G(pe).kind===`ready`||G(pe).kind===`closing`||G(pe).kind===`error`?G(pe).plan:void 0)),je=L(on({workspaceId:null,summary:null,loading:!1,refreshing:!1,checkingOut:!1,error:null})),Me=F(()=>G(je).workspaceId),Ne=L(on(new Set)),Pe=L(!1),Fe=L(!1),Ie=L(null),Le=L(null),Re=L(null),ze=on({}),A=L(null),Be=``,j=new cl({requestFrame:e=>requestAnimationFrame(e),cancelFrame:e=>cancelAnimationFrame(e),reducedMotion:()=>window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,scrollTail:e=>G(A)?.scrollIntoView({block:`end`,behavior:e})}),Ve=new ll(e=>void Cr().then(e),e=>{G(a)===`chat`&&j.request(e)}),He=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.`:``:``}),N=ru((e,n)=>t.authorizedFetch(e,n)),Ue=new Wa(N,e=>R(O,e)),We=new Ia({relay:N,publish:e=>R(D,new Map(e)),onEvent:(e,t)=>Ue.observe(e,t),onAuthoritativeSnapshot:(e,t)=>Ue.applyAuthoritative(e,t)}),Ge=new ol({relay:N,cache:_c(),publish:e=>R(i,e,!0),onSessionEvent:e=>gn(e),onRelayEvent:e=>{G(T)&&We.observe(G(T),e)},onHistoryError:e=>{R(d,mn(e,`SESSION_HISTORY_READ_FAILED`),!0)},onSendError:(e,t)=>{let n=dl(e,`MESSAGE_SEND_FAILED`);R(le,n.message,!0),R(ue,n.retryable?t:null,!0),R(d,mn(e,`MESSAGE_SEND_FAILED`),!0)},onSendAccepted:e=>{G(ue)===e&&(R(le,null),R(ue,null))}}),Ke=new Kd({start:N.startSession},La,e=>R(ae,e,!0)),qe=new Zl({getSummary:N.getGitSummary,pull:N.pullGit,checkout:N.checkoutGitBranch},e=>!!Tl(G(p),e)?.isGitRepository,e=>R(je,e,!0),(e,t)=>mn(e,t)),Je=rp((e,n)=>t.authorizedFetch(e,n)),Ye=hu({getPlan:N.getPlan,closePlan:N.closePlan},e=>R(pe,e,!0)),P=Sd(),Xe=pl(),$e=new URLSearchParams(location.search).get(`tree-evidence`),et=new URLSearchParams(location.search).get(`toast-evidence`),tt=new URLSearchParams(location.search).get(`activity-evidence`),nt=$a(window.sessionStorage),rt=new Set;Mn(()=>{for(let[e,t]of G(O).attention){let n=`${e}:${t.requestId}`;nt.claim(n)&&Xe.enqueue({kind:`error`,code:`AUTOPILOT_ATTENTION_${t.requestId}`,message:`Autopilot needs your attention.`})}}),Mn(()=>{let e=new Set;for(let[t,n]of G(O).errors){let r=`${t}:${n}`;e.add(r),!rt.has(r)&&(rt.add(r),Xe.enqueue({kind:`error`,message:n}))}for(let t of rt)e.has(t)||rt.delete(t)});function it(){R(s,!0)}function at(){R(s,!1),Cr().then(()=>document.querySelector(`.menu-trigger`)?.focus())}Ri(async()=>{if(!($e===`sessions`||$e===`git`||et===`error`||et===`stacked`))try{let e=await oc(t.authorizedFetch);R(C,El(G(C)||null,G(p),e.workspaces,bl.sessionBase)??``,!0),R(p,e.workspaces,!0),R(_,e.profiles),R(h,[...new Set([m,...e.models??[]])]),r||await Ut(),R(w,xl(G(p)),!0),R(Ne,xl(G(p)),!0);let n=r?null:await P.readSelectedSession();R(T,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(T)&&R(fe,await P.readDraft(G(T)),!0),R(E,e.sessions,!0);let i=Oe(e.sessions.filter(e=>[`ready`,`turnActive`].includes(e.state)));We.bootstrap(i,G(T)),Ue.bootstrap(i),r||ht(),Ye.select(G(T)),G(T)?Ge.select(G(T)):r&&R(d,`This session is no longer open in Gestalt Mobile.`)}catch(e){R(d,mn(e,`RELAY_UNAVAILABLE`),!0)}}),Mn(()=>{if(!G(A))return;let e=new IntersectionObserver(([e])=>j.observeTail(e?.isIntersecting??!1),{root:null});return e.observe(G(A)),()=>e.disconnect()}),Mn(()=>{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===Be||(Be=n,t===`chat`&&ot(`content`))});function ot(e){Ve.schedule(e)}function st(){Ve.invalidate(),j.reset(),R(a,`chat`),qt(`chat`),ot(`initial`),Jt()}function ct(e){R(f,$i(e),!0)}function lt(){if(!G(T))return;let e=window.open(bc(location.href,G(T)),xc(G(T)),`popup,width=760,height=900`);if(!e){Xe.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(()=>{Ve.invalidate(),j.cancel(),Ge.dispose(),We.dispose(),Ue.dispose(),Ye.dispose(),qe.dispose(),Ke.dispose(),G(v)?.dispose()});async function ut(){if(!G(C)||G(oe))return;let e=Gd({workspaceId:G(C),profile:`default`,profileState:`ok`});if(e.profile){R(d,e.profile,!0);return}R(d,`Starting session…`);let t=await Ke.start(G(C),{sandbox:G(re),approvalPolicy:G(ie),model:G(g),skillProfile:G(x)||void 0});if(!t){G(ae).error&&R(d,mn(Error(G(ae).error),`SESSION_START_FAILED`),!0);return}try{R(T,t.id,!0),Ye.select(t.id),P.saveSelectedSession(t.id),await dt(),R(fe,await P.readDraft(t.id),!0),Ge.select(t.id,{history:`empty`}),We.select(t.id),st(),R(d,`Session started.`)}catch(e){R(d,mn(e,`SESSION_START_FAILED`),!0)}}async function dt(){let e=++k;ee?.abort();let t=new AbortController;ee=t;try{let n=await N.listSessions(t.signal);if(e!==k||t.signal.aborted)return;R(E,n,!0);let r=Oe(G(E).filter(e=>[`ready`,`turnActive`].includes(e.state)));We.bootstrap(r,G(T)),Ue.bootstrap(r)}catch(e){if(t.signal.aborted||hn(e))return;throw e}finally{ee===t&&(ee=null)}}async function ft(e,t){await Ue.toggle(e,t),e===G(T)&&dt().catch(()=>{})}async function pt(e){await ft(e,!0),await Cr(),e===G(T)&&document.getElementById(`chat-autopilot-${e}-button`)?.focus({preventScroll:!0})}async function mt(e,t,n){await Ue.resolve(e,t,n),e===G(T)&&dt().catch(()=>{})}async function ht(){try{R(ne,await N.listRecentSessions(),!0)}catch{R(ne,[],!0)}}async function gt(){try{await Promise.all([dt(),ht()])}catch(e){R(d,mn(e,`SESSION_REFRESH_FAILED`),!0)}}async function _t(e){R(d,`Opening session…`),R(se,e,!0);let t=++ce;try{R(T,e,!0),R(le,null),R(ue,null),Ye.select(e),P.saveSelectedSession(e),Ge.select(e),We.select(e),st();let n=await P.readDraft(e);t===ce&&G(T)===e&&R(fe,n,!0)}catch(e){R(d,mn(e,`SESSION_HISTORY_READ_FAILED`),!0)}finally{t===ce&&R(se,null)}}async function vt(e){R(d,`Opening recent session…`);try{let t=await N.openRecentSession(e.id,e.cwd);G(E).some(e=>e.id===t.id)||R(E,[...G(E),t],!0),gt(),await _t(t.id)}catch(e){R(d,mn(e,`SESSION_HISTORY_READ_FAILED`),!0)}}async function yt(e){R(d,`Closing session…`);try{await N.releaseSession(e),G(T)===e&&(R(T,null),R(a,`sessions`),P.saveSelectedSession(null),Ge.select(null),We.select(null),Ye.select(null)),await gt(),R(d,`Session closed.`)}catch(e){R(d,`Could not close session: ${pn(e)}`)}}async function bt(e){let t=G(E).find(t=>t.id===e);try{await N.forgetSession(e),G(T)===e&&(Ge.select(null),We.select(null),R(T,null),P.saveSelectedSession(null),Ye.select(null)),await gt(),R(ne,Ed(G(ne),t),!0)}catch(e){R(d,`Could not forget session: ${pn(e)}`)}}async function xt(e){R(d,await iu(e)?`Resume command copied.`:`Could not copy the resume command.`,!0)}async function St(e){if(!(!G(T)||G(i)?.activeTurnId))try{let t=await N.selectModel(G(T),e);R(E,G(E).map(e=>e.id===t.id?{...e,...t}:e),!0),R(fe,``),R(d,`Model changed to ${e}; it applies to the next turn.`)}catch(e){R(d,`Could not change model: ${pn(e)}`)}}async function Ct(){let e=La();Ge.send(G(fe),e),Et()}async function wt(){let e=La();Ge.queue(G(fe),e),Et()}async function Tt(){let e=La();Ge.interruptAndSend(G(fe),e),Et()}function Et(){R(fe,``),ot(`explicit`),G(T)&&P.saveDraft(G(T),``)}async function Dt(){G(ue)&&(R(le,null),await Ge.retryPrompt(G(ue)))}async function Ot(){await Ge.interrupt()}function kt(){G(a)===`chat`&&G(T)&&Ge.refresh()}function At(e){if(r||e===`chat`&&!G(te))return;let t=G(a)!==e;G(a)===`chat`&&e!==`chat`&&(Ve.invalidate(),j.cancel()),R(a,e,!0),qt(e),e===`chat`&&(kt(),j.reset(),ot(`initial`),t&&Jt()),e===`git`&&G(Me)&&qe.refresh(),e===`plan`&&(G(T)&&Ye.refresh(G(T)),t||Vt()),e===`sessions`&&(G(y)===`profile-manager`&&Kt(!1),gt())}Mn(()=>{let e=G(Ce);G(a)===`plan`&&Lt(e)});let I=!1;function jt(){document.visibilityState!==`visible`||I||(I=!0,queueMicrotask(()=>{I=!1,document.visibilityState===`visible`&&(G(a)===`git`&&G(Me)&&qe.refresh(),G(a)===`plan`&&Vt())}))}let Mt=null;function Nt(e){return e instanceof Element&&e.closest(`button, input, textarea, select, a, summary, [contenteditable]`)!==null}function Pt(e){e.pointerType!==`touch`||Nt(e.target)||(Mt={pointerId:e.pointerId,x:e.clientX,y:e.clientY})}function Ft(e){if(!Mt||e.pointerId!==Mt.pointerId)return;let t=Mt;Mt=null;let n=e.clientX-t.x,r=e.clientY-t.y;Math.abs(n)<48||Math.abs(n)<=Math.abs(r)||At(Jd(G(a),n<0?1:-1,{chatEnabled:G(te)}))}function It(e){Mt?.pointerId===e.pointerId&&(Mt=null)}function Lt(e=G(Ce)){if(ve?.abort(),ye?.abort(),R(he,null),R(ge,null),!e){R(me,{kind:`no-workspace`});return}let t=new AbortController;ve=t;let n=++be;R(me,{kind:`loading`,workspaceId:e}),N.listWorkspacePlans(e,t.signal).then(r=>{n!==be||t.signal.aborted||R(me,{kind:`ready`,workspaceId:e,entries:r})}).catch(r=>{n!==be||t.signal.aborted||(G(ke)||Xe.enqueue({kind:`error`,code:`WORKSPACE_PLANS_READ_FAILED`,message:`Workspace Org files could not be listed. Try opening the Plan tab again.`}),R(me,{kind:`error`,workspaceId:e,error:r instanceof Error?r.message:`Could not load workspace plans.`}))})}function Rt(e){let t=G(Ce);if(!t)return;ye?.abort();let n=new AbortController;ye=n;let r=++xe;(G(T)?N.openSessionPlan(G(T),e):N.getWorkspacePlan(t,e,n.signal)).then(t=>{r!==xe||n.signal.aborted||(R(he,t),R(ge,e,!0),R(_e,!1))}).catch(()=>{r!==xe||n.signal.aborted||Xe.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 zt(e){let t=G(Ce),n=G(we),r=n?ms(e,n):null;if(!t||!r){Xe.enqueue({kind:`error`,code:`ORG_LINK_OUTSIDE_WORKSPACE`,message:`This Org file is not inside the selected workspace and cannot be opened.`});return}At(`plan`),Cr().then(()=>{G(Ce)!==t||G(we)!==n||Rt(r)})}function Bt(){R(he,null),R(ge,null),R(_e,!0),Lt()}function Vt(){G(T)&&Ye.refresh(G(T)),G(ge)?Rt(G(ge)):Lt()}async function Ht(e,t){let n=new pf(N);await n.load(e,t),R(v,n,!0)}async function Ut(){try{let e=await N.listSkillProfiles();R(b,e.profiles.filter(e=>!(`error`in e)));let t=e.profiles.find(e=>`error`in e);R(S,t&&`error`in t?t.error.message:``,!0),G(b).some(e=>e.name===G(x))||R(x,``)}catch(e){R(b,[]),R(S,e instanceof Error?e.message:`Unable to load saved skill profiles.`,!0)}}async function Wt(e){let t=G(C)||G(p)[0]?.id||``,n=G(_).find(e=>e.state===`ok`)?.name??``;if(!t||!n){R(d,`Choose a workspace and available Codex profile before managing skill profiles.`);return}await Ht(t,n),R(y,`profile-manager`)}function Gt(e){queueMicrotask(()=>e.focus())}async function Kt(e=!0){R(y,`list`),await Cr(),e&&document.getElementById(`manage-skill-profiles`)?.focus()}function qt(e){requestAnimationFrame(()=>{G(a)===e&&e!==`chat`&&window.scrollTo({top:0})})}function Jt(){Cr().then(()=>{G(a)===`chat`&&document.getElementById(`message`)?.focus({preventScroll:!0})})}function Yt(e){qe.select(e.id),R(Pe,!1)}function Xt(e){let t=G(Me)?Tl(G(p),G(Me)):null;t&&(R(c,t,!0),R(l,e,!0))}async function Zt(){R(c,null),await Cr(),G(l)?.focus({preventScroll:!0})}function Qt(){u||(u=!0,queueMicrotask(()=>{u=!1,G(Me)&&qe.refresh()}))}async function $t(){let e=G(Me);!e||!Tl(G(p),e)?.isGitRepository||(R(Le,G(Le)??La(),!0),await qe.pull(G(Le)),G(je).error||R(Le,null))}async function en(e){if(G(Fe))return;let n=G(Me)?Tl(G(p),G(Me)):void 0;if(!n||n.isGitRepository){R(Ie,null),Xe.enqueue({kind:`error`,code:`INVALID_CLONE_DESTINATION`,message:`Select a non-repository folder before cloning.`});return}let r=n.id;R(Fe,!0),R(Ie,null);try{await N.cloneGitRepository(r,e);let n=await oc(t.authorizedFetch),i=Ql(G(p),n.workspaces,r,e,G(Ne));R(C,El(G(C)||null,G(p),n.workspaces,bl.sessionBase)??``,!0),R(p,n.workspaces,!0),qe.select(i.selectedId),R(Ne,i.expandedIds,!0),R(Ie,`Repository cloned into the selected workspace.`),Xe.enqueue({kind:`success`,message:`Repository cloned.`})}catch(e){mn(e,`GIT_CLONE_FAILED`)}finally{R(Fe,!1)}}async function tn(e){G(Me)&&await qe.checkout(e)}async function nn(){let e=G(Me);if(e){R(Re,G(Re)??La(),!0);try{await N.pushGit(e,G(Re)),R(Pe,!1),await qe.refresh(),R(Re,null)}catch(e){mn(e,`GIT_PUSH_FAILED`)}}}async function rn(e,t){ot(`explicit`),await Ge.respond(e,{decision:t})}async function an(e){ot(`explicit`);let t=e.kind===`quiz`?Mo(e.payload):No(e.payload);if(!t)return;let n=t.questions.map(t=>({id:t.id,answer:ze[`${e.requestId}:${t.id}`]??``})),r=e.kind===`quiz`?Po(n):nu(n);try{await Ge.respond(e.requestId,r)}catch{R(d,`Could not send quiz answers. Please try again.`)}}async function sn(e){let t=tu(e.payload);if(!t){R(d,`Codex sent an invalid permission request.`);return}ot(`explicit`),await Ge.respond(e.requestId,t)}function cn(e){e.kind===`quiz`||e.kind===`userInput`?an(e):e.kind===`permissionsApproval`?sn(e):Ge.retryInteraction(e.requestId)}function dn(e,t,n){ze[`${e}:${t}`]=n}function fn(e){R(fe,e,!0),G(T)&&P.saveDraft(G(T),e)}function pn(e){return e instanceof Error?e.message:`Unknown relay error.`}function mn(e,t){let n=dl(e,t);return Xe.enqueue({kind:`error`,...n}),n.message}function hn(e){return(e instanceof DOMException||e instanceof Error)&&e.name===`AbortError`}function gn(e){let t=G(T);if(!t||e.type===`agent.activity.updated`)return;if(e.type===`session.updated`&&typeof e.payload==`object`&&e.payload!==null){let n=e.payload;n.id===t&&R(E,G(E).map(e=>e.id===t?{...e,...n}:e),!0);return}if(e.type!==`plan.updated`&&e.type!==`plan.closed`)return;if(Ye.applyEvent(t,e),e.type===`plan.closed`){R(E,G(E).map(e=>e.id===t?{...e,plan:void 0}:e),!0);return}let n=lu(e.payload)?e.payload.plan:uu(e.payload)?e.payload:null;n&&R(E,G(E).map(e=>e.id===t?{...e,plan:n}:e),!0)}var _n=Hr();oi(`1d2e8zz`,e=>{Rn(()=>{un.title=r&&G(Ee)?`Chat · ${G(Ee)} · Gestalt Mobile`:`Gestalt Mobile`})}),Nr(`focus`,ln,jt),Nr(`visibilitychange`,un,jt);var vn=B(_n),yn=e=>{Pa(e,{})},bn=e=>{yl(e,{get variant(){return et}})},xn=e=>{var t=em();Fl(z(t),{get context(){return $e}}),M(t),J(e,t)},Sn=e=>{var l=um(),u=B(l),_=z(u),k=e=>{{let n=F(()=>G(a)===`chat`?Dd(G(E).find(e=>e.id===G(T))?.workspacePath??``):null),r=F(()=>G(a)===`chat`?G(E).find(e=>e.id===G(T))?.model??m:null),i=F(()=>G(a)===`chat`&&G(T)?lt:void 0);sa(e,{get theme(){return G(f)},get sessionPath(){return G(n)},get sessionModel(){return G(r)},get weeklyQuotaRemaining(){return G(Ae)},get passkeyAuthEnabled(){return t.passkeyAuthEnabled},get onlock(){return t.onlock},ondevices:()=>R(o,!0),onscratchpad:it,onthemechange:ct,get ondetach(){return G(i)}})}};X(_,e=>{!G(o)&&!r&&e(k)});var ee=V(_,2),ae=e=>{var t=nm(),n=z(t),i=V(z(n),2),a=z(i,!0);M(i),M(n);var o=V(n,2),s=e=>{var t=tm(),n=z(t,!0);M(t),H(()=>Y(n,G(Te).model)),J(e,t)};X(o,e=>{G(Te)?.model&&e(s)}),M(t),H(()=>{Q(i,`title`,G(Ee)||r),Y(a,G(Ee)||r)}),J(e,t)};X(ee,e=>{r&&e(ae)});var ce=V(ee,2);_l(ce,{get queue(){return Xe}});var pe=V(ce,2),he=e=>{tp(e,{get client(){return Je},onclose:()=>{R(o,!1),Cr().then(()=>document.querySelector(`.menu-trigger`)?.focus())},get onlock(){return t.onlock},oncreatepasskey:e=>n()(e)})},ge=e=>{var t=lm(),n=B(t),o=e=>{var t=rm(),n=z(t),r=z(n,!0);M(n);var i=V(n,2);M(t),H(()=>Y(r,G(de))),K(`click`,i,()=>R(de,null)),J(e,t)};X(n,e=>{G(de)&&e(o)});var s=V(n,2),l=e=>{var t=om(),n=V(z(t),2);{let e=F(()=>G(T)?G(O).attention.get(G(T))??null:null),t=F(()=>`chat-attention-${G(T)??`none`}`),r=F(()=>G(T)?G(O).pending.has(G(T)):!1);Xa(n,{get attention(){return G(e)},get controlId(){return G(t)},get pending(){return G(r)},onresolve:(e,t)=>G(T)&&mt(G(T),e,t)})}var a=V(n,2);{let e=F(()=>G(T)?G(O).snapshots.get(G(T))??null:null),t=F(()=>G(T)?G(O).attention.get(G(T))??null:null),n=F(()=>`chat-autopilot-safety-${G(T)??`none`}`),r=F(()=>G(T)?G(O).pending.has(G(T)):!1);Qa(a,{get autopilot(){return G(e)},get attention(){return G(t)},get controlId(){return G(n)},get pending(){return G(r)},onrecover:()=>G(T)&&void pt(G(T)),ondisable:()=>G(T)&&ft(G(T),!1)})}var o=V(a,2),s=z(o,!0);M(o);var c=V(o,2),l=e=>{var t=im(),n=B(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]:[]);nc(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 ze},onanswer:dn,onquiz:e=>void an(e),onpermission:e=>void sn(e),ondecision:(e,t)=>void rn(e,t),onretry:cn,onopenorg:zt})}var r=V(n,2);{let e=F(()=>G(i)?.status??G(d)),t=F(()=>G(i)?.activeTurnId??null),n=F(()=>G(i)?.starting??!1),a=F(()=>!!(G(E).find(e=>e.id===G(T))&&![`ready`,`turnActive`].includes(G(E).find(e=>e.id===G(T))?.state??``))),o=F(()=>G(ue)!==null);So(r,{get status(){return G(e)},get message(){return G(fe)},get activeTurnId(){return G(t)},get starting(){return G(n)},get detached(){return G(a)},get retryMessage(){return G(le)},get retryable(){return G(o)},get models(){return G(h)},onchange:fn,onscrollbottom:()=>ot(`explicit`),onmodelselect:e=>void St(e),onsend:()=>void Ct(),onqueue:()=>void wt(),oninterruptsend:()=>void Tt(),onretry:()=>void Dt(),oninterrupt:()=>void Ot()})}var a=V(r,2),o=z(a);{let e=F(()=>G(O).snapshots.get(G(T))??null),t=F(()=>`chat-autopilot-${G(T)}`),n=F(()=>G(O).pending.has(G(T)));Ja(o,{compact:!0,get autopilot(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},ontoggle:e=>G(T)&&ft(G(T),e)})}var s=V(o,2);{let e=F(()=>G(D).get(G(T))??null),t=F(()=>G(E).find(e=>e.id===G(T))?.model??m);Ma(s,{compact:!0,get activity(){return G(e)},get rootModel(){return G(t)}})}M(a),Li(V(a,2),e=>R(A,e),()=>G(A)),J(e,t)},u=e=>{var t=am(),n=z(t,!0);M(t),H(()=>Y(n,r?G(d):`Start a session from the Sessions tab to chat with Codex.`)),J(e,t)};X(c,e=>{G(T)?e(l):e(u,-1)}),M(t),H(()=>Y(s,G(He))),J(e,t)},u=e=>{_d(e,{get catalog(){return G(me)},get state(){return G(ke)},onopen:Rt,onclose:Bt})},f=e=>{{let t=F(()=>G(Me)?Tl(G(p),G(Me))??null:null);Xl(e,{get workspaceTree(){return G(p)},get selectedWorkspace(){return G(t)},get expandedIds(){return G(Ne)},get summary(){return G(je).summary},get refreshing(){return G(je).refreshing},get checkingOut(){return G(je).checkingOut},get cloning(){return G(Fe)},get error(){return G(je).error},get cloneStatus(){return G(Ie)},get confirmingPush(){return G(Pe)},onpull:()=>void $t(),oncheckout:e=>void tn(e),onopenpushconfirmation:()=>R(Pe,!0),onpush:()=>void nn(),oncancelpush:()=>R(Pe,!1),onselect:Yt,onexpandedchange:e=>R(Ne,e,!0),onbrowsefiles:Xt,onclone:e=>void en(e)})}},_=e=>{var t=Hr(),n=B(t),r=e=>{var t=cm(),n=z(t),r=z(n);si(r,()=>Gt);var i=V(r,2);M(n);var a=V(n,2),o=e=>{ff(e,{get skillsState(){return G(v)},onrefresh:()=>G(v)?.refresh()??Promise.resolve(),onprofileschange:()=>void Ut(),heading:`Skill profile editor`})},s=e=>{J(e,sm())};X(a,e=>{G(v)?e(o):e(s,-1)}),M(t),K(`click`,i,()=>void Kt()),J(e,t)},i=e=>{Wd(e,{get sessions(){return G(E)},get recentSessions(){return G(ne)},get selectedSessionId(){return G(T)},get activitySnapshots(){return G(D)},get autopilotSnapshots(){return G(O).snapshots},get autopilotPending(){return G(O).pending},get autopilotAttention(){return G(O).attention},get workspaceTree(){return G(p)},get workspaceId(){return G(C)},get expandedIds(){return G(w)},get sandbox(){return G(re)},get approvalPolicy(){return G(ie)},get models(){return G(h)},get selectedModel(){return G(g)},get skillProfiles(){return G(b)},get selectedSkillProfile(){return G(x)},get skillProfileError(){return G(S)},get startingSession(){return G(oe)},get openingSessionId(){return G(se)},onworkspacechange:e=>R(C,e,!0),onexpandedchange:e=>R(w,e,!0),onsandboxchange:e=>R(re,e,!0),onapprovalpolicychange:e=>R(ie,e,!0),onmodelchange:e=>R(g,e,!0),onskillprofilechange:e=>R(x,e,!0),onmanageprofiles:e=>void Wt(e),onopen:_t,onselectopen:_t,onclose:e=>void yt(e),onautopilottoggle:ft,onautopilotresolve:mt,onopenrecent:e=>void vt(e),onforget:e=>void bt(e),oncopyresume:e=>void xt(e),onstart:()=>void ut()})};X(n,e=>{G(y)===`profile-manager`?e(r):e(i,-1)}),J(e,t)};X(s,e=>{G(a)===`chat`?e(l):G(a)===`plan`?e(u,1):G(a)===`git`?e(f,2):e(_,-1)});var k=V(s,2),ee=e=>{$p(e,{get root(){return G(c)},get listDirectory(){return N.listWorkspaceDirectory},get copyEntry(){return N.copyWorkspaceEntry},get moveEntry(){return N.moveWorkspaceEntry},get deleteEntry(){return N.deleteWorkspaceEntry},get uploadFile(){return N.uploadWorkspaceFile},onclose:()=>void Zt(),onerror:e=>mn(e,`WORKSPACE_FILES_READ_FAILED`),onsuccess:e=>Xe.enqueue({kind:`success`,message:e}),onmutation:Qt})};X(k,e=>{G(c)&&e(ee)});var ae=V(k,2),ce=e=>{Xd(e,{get activeTab(){return G(a)},get chatEnabled(){return G(te)},get focusTab(){return G(Se)},onselect:At})};X(ae,e=>{r||e(ce)}),J(e,t)};X(pe,e=>{G(o)&&t.passkeyAuthEnabled?e(he):e(ge,-1)}),M(u);var _e=V(u,2),ve=e=>{pp(e,{onclose:at})};X(_e,e=>{G(s)&&e(ve)}),K(`pointerdown`,u,Pt),K(`pointerup`,u,Ft),Nr(`pointercancel`,u,It),J(e,l)};X(vn,e=>{tt===`true`?e(yn):et===`error`||et===`stacked`?e(bn,1):$e===`sessions`||$e===`git`?e(xn,2):e(Sn,-1)}),J(e,_n),Qe()}Pr([`pointerdown`,`pointerup`,`click`]);function fm(){throw Error(`AUTH_RESPONSE_INVALID`)}async function pm(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 mm(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 hm(e){return!!e&&typeof e==`object`&&!!e.options&&typeof e.options.challenge==`string`}function gm(e){return!!e&&typeof e==`object`&&e.status===`authenticated`}function _m(e=fetch){async function t(){let t=await pm(await e(`/api/auth/status`,{credentials:`same-origin`}));return mm(t)||fm(),t}async function n(t,n={}){let r=await pm(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return hm(r)||fm(),r}async function r(t,n){let r=await pm(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return gm(r)||fm(),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 vm(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 ym(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 bm(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 xm(){return Sm.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential==`function`)}var Sm={stubThis:e=>e};function Cm(e){let{id:t}=e;return{...e,id:bm(t),transports:e.transports}}function wm(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 Tm=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 Em({error:e,options:t}){let{publicKey:n}=t;if(!n)throw Error(`options was missing required publicKey property`);if(e.name===`AbortError`){if(t.signal instanceof AbortSignal)return new Tm({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 Tm({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 Tm({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 Tm({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 Tm({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new Tm({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 Tm({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new Tm({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(!wm(t))return new Tm({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new Tm({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 Tm({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 Tm({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 Dm=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}}},Om=[`cross-platform`,`platform`];function km(e){if(e&&!(Om.indexOf(e)<0))return e}async function Am(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(!xm())throw Error(`WebAuthn is not supported in this browser`);let r={...t,challenge:bm(t.challenge),user:{...t.user,id:bm(t.user.id)},excludeCredentials:t.excludeCredentials?.map(Cm)},i={};n&&(i.mediation=`conditional`),i.publicKey=r,i.signal=Dm.createNewAbortSignal();let a;try{a=await navigator.credentials.create(i)}catch(e){throw Em({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){jm(`getPublicKeyAlgorithm()`,e)}let f;if(typeof c.getPublicKey==`function`)try{let e=c.getPublicKey();e!==null&&(f=ym(e))}catch(e){jm(`getPublicKey()`,e)}let p;if(typeof c.getAuthenticatorData==`function`)try{p=ym(c.getAuthenticatorData())}catch(e){jm(`getAuthenticatorData()`,e)}return{id:o,rawId:ym(s),response:{attestationObject:ym(c.attestationObject),clientDataJSON:ym(c.clientDataJSON),transports:u,publicKeyAlgorithm:d,publicKey:f,authenticatorData:p},type:l,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:km(a.authenticatorAttachment)}}function jm(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 Mm(){if(!xm())return Nm.stubThis(new Promise(e=>e(!1)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?Nm.stubThis(new Promise(e=>e(!1))):Nm.stubThis(e.isConditionalMediationAvailable())}var Nm={stubThis:e=>e};function Pm({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 Tm({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new Tm({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!wm(t))return new Tm({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new Tm({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 Tm({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 Fm(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(!xm())throw Error(`WebAuthn is not supported in this browser`);let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(Cm));let a={...t,challenge:bm(t.challenge),allowCredentials:i},o={};if(n){if(!await Mm())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=Dm.createNewAbortSignal();let s;try{s=await navigator.credentials.get(o)}catch(e){throw Pm({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=ym(u.userHandle)),{id:c,rawId:ym(l),response:{authenticatorData:ym(u.authenticatorData),clientDataJSON:ym(u.clientDataJSON),signature:ym(u.signature),userHandle:f},type:d,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:km(s.authenticatorAttachment)}}function Im(e){return typeof e==`object`&&e?e:{}}function Lm(e){let t=Im(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 Lm(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 Rm(){return typeof window<`u`&&window.isSecureContext&&window.PublicKeyCredential!==void 0}function zm(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(!Rm()){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 Bm=q(`<p class="warning svelte-1c5qcm6">This one-time link authorizes one new passkey. Choose a nickname and complete the passkey
26
- prompt before it expires.</p>`),Vm=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
24
+ `);let l=b(n,r,o),d=new i(t.getSymbolSize(n));return m(d,n),h(d),g(d,n),v(d,r,0),n>=7&&_(d,n),y(d,l),isNaN(a)&&(a=s.getBestMask(d,v.bind(null,d,r))),s.applyMask(a,d),v(d,r,a),{modules:d,version:n,errorCorrectionLevel:r,maskPattern:a,segments:o}}e.create=function(e,r){if(e===void 0||e===``)throw Error(`No input text`);let i=n.M,a,o;return r!==void 0&&(i=n.from(r.errorCorrectionLevel,n.M),a=u.from(r.version),o=s.from(r.maskPattern),r.toSJISFunc&&t.setToSJISFunction(r.toSJISFunc)),S(e,a,i,o)}})),Hf=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}}})),Uf=o((e=>{var t=Hf();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)}})),Wf=o((e=>{var t=Hf();function n(e,t){let n=e.a/255,r=t+`="`+e.hex+`"`;return n<1?r+` `+t+`-opacity="`+n.toFixed(2).slice(1)+`"`:r}function r(e,t,n){let r=e+t;return n!==void 0&&(r+=` `+n),r}function i(e,t,n){let i=``,a=0,o=!1,s=0;for(let c=0;c<e.length;c++){let l=Math.floor(c%t),u=Math.floor(c/t);!l&&!o&&(o=!0),e[c]?(s++,c>0&&l>0&&e[c-1]||(i+=o?r(`M`,l+n,.5+u+n):r(`m`,a,0),a=0,o=!1),l+1<t&&e[c+1]||(i+=r(`h`,s),s=0)):a++}return i}e.render=function(e,r,a){let o=t.getOptions(r),s=e.modules.size,c=e.modules.data,l=s+o.margin*2,u=o.color.light.a?`<path `+n(o.color.light,`fill`)+` d="M0 0h`+l+`v`+l+`H0z"/>`:``,d=`<path `+n(o.color.dark,`stroke`)+` d="`+i(c,s,o.margin)+`"/>`,f=`viewBox="0 0 `+l+` `+l+`"`,p=`<svg xmlns="http://www.w3.org/2000/svg" `+(o.width?`width="`+o.width+`" height="`+o.width+`" `:``)+f+` shape-rendering="crispEdges">`+u+d+`</svg>
25
+ `;return typeof a==`function`&&a(null,p),p}})),Gf=c(o((e=>{var t=vf(),n=Vf(),r=Uf(),i=Wf();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 Kf(e){return`${e.replace(/\/$/,``)}/?bootstrap=1`}async function qf(e){return Gf.toDataURL(Kf(e),{errorCorrectionLevel:`M`,margin:1,width:256})}async function Jf(e){return Gf.toDataURL(e,{errorCorrectionLevel:`M`,margin:1,width:256})}var Yf=q(`<p class="feedback svelte-1nygetn" role="status"> </p>`),Xf=q(`<span class="svelte-1nygetn">At least one authorized device is required.</span>`),Zf=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>`),Qf=q(`<ul aria-label="Authorized devices" class="svelte-1nygetn"></ul>`),$f=q(`<p role="status" class="svelte-1nygetn">No authorized devices are available. Refresh this page before making changes.</p>`),ep=q(`<button type="button" class="svelte-1nygetn">Create enrollment link</button>`),tp=q(`<img alt="QR code for the enrollment link" class="svelte-1nygetn"/>`),np=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),rp=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 ip(e,t){Ze(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=L(on([])),i=L(``),a=L(null),o=L(`none`),s=L(null),c=L(null),l=L(null),u=L(null),d=L(on(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 Jf(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 O(){document.visibilityState===`visible`&&G(o)===`pending`&&G(p)>0?(b(),_()):g()}Ri(()=>{y(),document.addEventListener(`visibilitychange`,O);let e=setInterval(()=>R(d,Date.now(),!0),1e3);return()=>clearInterval(e)}),zi(()=>{g(),document.removeEventListener(`visibilitychange`,O)});var k=rp(),ee=B(k),te=z(ee),ne=z(te);N(2),M(te);var re=V(te,2),ie=e=>{var t=Yf(),n=z(t,!0);M(t),H(()=>Y(n,G(i))),J(e,t)};X(re,e=>{G(i)&&e(ie)});var ae=V(re,2),oe=e=>{var t=Qf();Z(t,21,()=>G(f),e=>e.id,(e,t)=>{var n=Zf(),r=z(n),i=z(r),a=V(i);Di(a);var o=V(a,2),s=z(o),c=V(s),l=e=>{var n=Vr();H(e=>Y(n,`· Last used ${e??``}`),[()=>new Date(G(t).lastUsedAt).toLocaleDateString()]),J(e,n)};X(c,e=>{G(t).lastUsedAt&&e(l)});var u=V(c),d=e=>{J(e,Vr(`· This device`))};X(u,e=>{G(t).current&&e(d)}),M(o);var p=V(o,4),m=V(p,2),h=e=>{var n=Xf();H(()=>Q(n,`id`,`final-${G(t).id}`)),J(e,n)};X(m,e=>{G(f).length===1&&e(h)}),M(r),M(n),H(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)}),M(t),J(e,t)},se=e=>{J(e,$f())};X(ae,e=>{G(f).length?e(oe):e(se,-1)});var ce=V(ae,2),le=V(z(ce),2),ue=e=>{var t=ep();K(`click`,t,()=>void x()),J(e,t)},de=e=>{var t=np(),r=B(t),i=z(r,!0);M(r);var c=V(r,2),l=e=>{var t=tp();H(()=>Q(t,`src`,G(s))),J(e,t)};X(c,e=>{G(s)&&e(l)});var u=V(c,3);Sn(u);var d=V(u,2),f=z(d),p=V(f),h=V(p),g=V(h);M(d),H(()=>{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(le,e=>{G(a)?e(de,-1):e(ue)}),M(ce),M(ee);var fe=V(ee,2),pe=V(z(fe),4),me=V(z(pe));M(pe),M(fe),Li(fe,e=>R(c,e),()=>G(c)),K(`click`,ne,function(...e){t.onclose?.apply(this,e)}),K(`click`,me,()=>void E()),J(e,k),Qe()}Pr([`click`]);async function ap(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 op(e){return{list:()=>ap(e(`/api/auth/devices`,{credentials:`same-origin`})),rename:(t,n)=>ap(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`PATCH`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({nickname:n})})),revoke:t=>ap(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`DELETE`,credentials:`same-origin`})),createTicket:()=>ap(e(`/api/auth/enrollment-tickets`,{method:`POST`,credentials:`same-origin`})),ticketStatus:()=>ap(e(`/api/auth/enrollment-tickets/current`,{credentials:`same-origin`})),cancelTicket:()=>ap(e(`/api/auth/enrollment-tickets/current`,{method:`DELETE`,credentials:`same-origin`}))}}var sp=`gestalt-mobile.scratchpad`;function cp(){try{return window.localStorage}catch{return null}}function lp(e){try{return e?.getItem(`gestalt-mobile.scratchpad`)??``}catch{return``}}function up(e,t){try{return e?(e.setItem(sp,t),!0):!1}catch{return!1}}function dp(e){try{return e?(e.removeItem(sp),!0):!1}catch{return!1}}var fp=q(`<p class="feedback svelte-eu5bnq" role="status"> </p>`),pp=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>`),mp=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>`),hp=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 gp(e,t){Ze(t,!0);let n=$(t,`storage`,19,cp),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,lp(n()),!0),await Cr(),G(i)?.showModal(),G(a)?.focus()});function u(e){R(s,e,!0),R(l,up(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(!dp(n())){R(l,`This browser could not clear its saved scratchpad.`);return}R(s,``),R(c,!1),R(l,``),G(a)?.focus()}var h=hp(),g=z(h),_=z(g),v=V(z(_),2);M(_);var y=V(_,4);Sn(y),Li(y,e=>R(a,e),()=>G(a));var b=V(y,2),x=e=>{var t=fp(),n=z(t,!0);M(t),H(()=>Y(n,G(l))),J(e,t)};X(b,e=>{G(l)&&e(x)});var S=V(b,2),C=e=>{var t=pp(),n=V(z(t),4),r=z(n);Li(r,e=>R(o,e),()=>G(o));var i=V(r,2);M(n),M(t),K(`click`,r,p),K(`click`,i,m),J(e,t)},w=e=>{var t=mp(),n=z(t),r=V(n,2),o=V(r,2),c=V(o,2);M(t),H(()=>o.disabled=!G(s)),K(`click`,n,()=>void d()),K(`click`,r,()=>G(a)?.select()),K(`click`,o,()=>void f()),K(`click`,c,()=>G(i)?.close()),J(e,t)};X(S,e=>{G(c)?e(C):e(w,-1)}),M(g),M(h),Li(h,e=>R(i,e),()=>G(i)),H(()=>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),Qe()}Pr([`click`,`input`]);var _p=q(`<button class="disclosure svelte-am0nvt" type="button"> </button>`),vp=q(`<span class="disclosure svelte-am0nvt"></span>`),yp=q(`<span class="unsupported svelte-am0nvt">Files cannot be destinations</span>`),bp=q(`<span class="unsupported svelte-am0nvt">Unsupported link</span>`),xp=q(`<span role="status">Loading…</span>`),Sp=q(`<button type="button" class="svelte-am0nvt"> </button>`),Cp=q(`<div role="group"><!> <!> <!> <!></div>`),wp=q(`<div role="treeitem"><div class="tree-row svelte-am0nvt" role="presentation"><!> <span class="tree-label svelte-am0nvt"> </span><!></div> <!></div>`),Tp=q(`<p role="status">Loading files…</p>`),Ep=q(`<button type="button" class="svelte-am0nvt">Retry loading files</button>`),Dp=q(`<button type="button" class="svelte-am0nvt">Load more in root</button>`),Op=q(`<div class="file-tree svelte-am0nvt" role="tree" aria-label="Files"><!> <!> <!> <!></div>`);function kp(e,t){Ze(t,!0);let n=$(t,`destinationMode`,3,!1),r=$(t,`ondestinationselect`,3,()=>{}),i=$(t,`onselectionchange`,3,()=>{}),a=on({}),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=Op();{let e=(r,i=b,s=b)=>{var l=Hr();Z(B(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=wp();let g;var _=z(h);let v;var y=z(_),b=e=>{var n=_p(),r=z(n,!0);M(n),H((e,t)=>{Q(n,`aria-label`,e),Y(r,t)},[()=>`${t.controller.expanded.has(G(i).path)?`Collapse`:`Expand`} ${G(i).name}`,()=>t.controller.expanded.has(G(i).path)?`−`:`+`]),K(`click`,n,e=>{e.stopPropagation(),u(G(i))}),J(e,n)},x=e=>{J(e,vp())};X(y,e=>{G(l)?e(b):e(x,-1)});var S=V(y,2),C=z(S,!0);M(S);var w=V(S),T=e=>{J(e,yp())},E=e=>{var t=bp();H(()=>Q(t,`id`,`${G(i).path}-unsupported`)),J(e,t)};X(w,e=>{n()&&!G(l)?e(T):G(i).kind===`symlink`&&e(E,1)}),M(_);var D=V(_,2),O=n=>{let r=F(()=>t.controller.state(G(i).path));var a=Cp(),o=z(a),c=e=>{J(e,xp())};X(o,e=>{G(r).loading&&e(c)});var l=V(o,2),u=e=>{var n=Sp(),r=z(n);M(n),H(()=>Y(r,`Retry ${G(i).name??``}`)),K(`click`,n,()=>void t.controller.load(G(i).path)),J(e,n)};X(l,e=>{G(r).error&&e(u)});var d=V(l,2);e(d,()=>G(i).path,()=>s()+1);var f=V(d,2),p=e=>{var n=Sp(),r=z(n);M(n),H(()=>Y(r,`Load more in ${G(i).name??``}`)),K(`click`,n,()=>void t.controller.load(G(i).path,!0)),J(e,n)};X(f,e=>{G(r).cursor&&e(p)}),M(a),H(()=>Q(a,`aria-label`,`Contents of ${G(i).name}`)),J(n,a)},k=F(()=>G(l)&&t.controller.expanded.has(G(i).path));X(D,e=>{G(k)&&e(O)}),M(h),Li(h,(e,t)=>a[t.path]=e,e=>a?.[e.path],()=>[G(i)]),H(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=z(p),h=e=>{J(e,Tp())};X(m,e=>{G(s).loading&&e(h)});var g=V(m,2),_=e=>{var n=Ep();K(`click`,n,()=>void t.controller.load(``)),J(e,n)};X(g,e=>{G(s).error&&e(_)});var v=V(g,2);e(v,()=>``,()=>1);var y=V(v,2),x=e=>{var n=Dp();K(`click`,n,()=>void t.controller.load(``,!0)),J(e,n)};X(y,e=>{G(s).cursor&&e(x)}),M(p)}J(e,p),Qe()}Pr([`keydown`,`click`]);var Ap=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?jp(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 jp(e,t){let n=new Set(e.map(e=>e.path));return[...e,...t.filter(e=>!n.has(e.path))]}var Mp=25*1024*1024;function Np(e){return[...e].map(e=>({file:e,status:e.size>26214400?`too-large`:`queued`}))}function Pp(e){return e.findIndex(e=>e.status===`queued`)}var Fp={phase:`idle`};function Ip(e,t){return{phase:`picking`,kind:e,source:t}}function Lp(e,t){return e.phase===`picking`?{...e,destination:t}:e}function Rp(e){return e.phase!==`picking`||e.destination===void 0?e:{...e,phase:`submitting`}}function zp(e,t){return e.phase===`submitting`?{...e,phase:`conflict`,replaceAllowed:t}:e}function Bp(e){return e.phase===`submitting`?{...e,phase:`failed`}:e}function Vp(e,t){return e.phase!==`picking`||!e.source||e.kind===`move`&&Hp(e.source)===t?!1:!(t===e.source||t.startsWith(`${e.source}/`))}function Hp(e){let t=e.lastIndexOf(`/`);return t<0?``:e.slice(0,t)}var Up=q(`<li> </li>`),Wp=q(`<button type="button" class="svelte-qx7639">Replace</button>`),Gp=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>`),Kp=q(`<button type="button" class="svelte-qx7639">Cancel uploads</button>`),qp=q(`<section class="picker svelte-qx7639" aria-label="Upload queue" aria-live="polite"><p class="svelte-qx7639"> </p> <ul></ul> <!></section>`),Jp=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>`),Yp=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>`),Xp=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>`),Zp=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>`),Qp=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>`),$p=q(`<section aria-label="File browser error"><p class="svelte-qx7639">Files could not be read. Try again.</p></section>`),em=q(`<p role="status" class="svelte-qx7639">This folder is empty.</p>`),tm=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 nm(e,t){Ze(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(on(Fp)),l=L(null),u=L(``),d=L(!1),f=L(!1),p=L(null),m=L(null),h=L(on([])),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 Ap(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??Pp(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},La(),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,Np(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 O(e){if(G(c).phase===`submitting`||G(f)){e.preventDefault();return}e.preventDefault(),S()}async function k(){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),La()),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 ee(){R(d,!0),await Cr(),G(p)?.focus()}function te(e){G(u)&&R(c,Ip(e,G(u)),!0)}function ne(e){Vp(G(c),e)&&R(c,Lp(G(c),e),!0)}async function re(e=`reject`){if(!G(s)||G(c).phase!==`picking`&&G(c).phase!==`conflict`)return;let i=G(c).phase===`picking`?Rp(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},La()),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,Fp,!0)}catch(e){let n=e;n.status===409?(R(c,zp(i,n.replaceAllowed===!0),!0),await Cr(),G(l)?.focus()):(R(c,Bp(i),!0),t.onerror(e))}}}var ie=tm(),ae=z(ie),oe=z(ae),se=z(oe),ce=z(se),le=z(ce,!0);M(ce),Li(ce,e=>R(a,e),()=>G(a));var ue=V(ce,2),de=z(ue,!0);M(ue),M(se);var fe=V(se,2);M(oe);var pe=V(oe,2),me=z(pe);M(pe);var he=V(pe,2),ge=z(he);Li(ge,e=>R(m,e),()=>G(m));var _e=V(ge,2),ve=z(_e);M(_e);var ye=V(_e,2);M(he);var be=V(he,2),xe=e=>{var t=qp(),n=z(t),r=z(n);M(n);var i=V(n,2);Z(i,21,()=>G(h),e=>e.file,(e,t)=>{var n=Up(),r=z(n);M(n),H(()=>Y(r,`${G(t).file.name??``}: ${G(t).path??G(t).status??``}${G(t).status===`too-large`?` (maximum ${Mp/1024/1024} MiB)`:``}`)),J(e,n)}),M(i);var a=V(i,2),o=e=>{var t=Gp(),n=z(t),r=e=>{var t=Wp();K(`click`,t,()=>void T(`replace`)),J(e,t)};X(n,e=>{G(v).replaceAllowed&&e(r)});var i=V(n,2),a=V(i,2);M(t),K(`click`,i,()=>void T(`keep-both`)),K(`click`,a,D),J(e,t)},s=e=>{var t=Kp();K(`click`,t,D),J(e,t)};X(a,e=>{G(v)?e(o):G(g)&&e(s,1)}),M(t),H((e,t)=>Y(r,`${e??``} queued, ${t??``} completed`),[()=>G(h).filter(e=>e.status===`queued`).length,()=>G(h).filter(e=>e.status===`completed`).length]),J(e,t)};X(be,e=>{G(h).length&&e(xe)});var Se=V(be,2),Ce=e=>{var t=Jp(),n=z(t),r=V(n,2),i=V(r,2);M(t),K(`click`,n,()=>te(`copy`)),K(`click`,r,()=>te(`move`)),K(`click`,i,()=>void ee()),J(e,t)};X(Se,e=>{G(s)&&G(c).phase===`idle`&&G(b)&&G(b).kind!==`symlink`&&e(Ce)});var we=V(Se,2),Te=e=>{var t=Yp(),n=z(t),r=z(n,!0);M(n);var i=V(n,2),a=z(i,!0);M(i);var o=V(i,2),s=z(o);Li(s,e=>R(p,e),()=>G(p));var c=V(s,2),l=z(c,!0);M(c),M(o),M(t),H(()=>{Y(r,G(b).kind===`directory`?`Delete folder and all contents`:`Delete file`),Y(a,G(u)),s.disabled=G(f),c.disabled=G(f),Y(l,G(f)?`Deleting…`:`Delete`)}),K(`click`,s,()=>R(d,!1)),K(`click`,c,()=>void k()),J(e,t)};X(we,e=>{G(d)&&G(b)&&e(Te)});var Ee=V(we,2),De=e=>{var t=Xp(),n=z(t),r=z(n),i=z(r);M(r);var a=V(r);M(n);var o=V(n,2),s=z(o);M(o);var l=V(o,2),u=z(l),d=V(u,2),f=z(d);M(d);var p=V(d,2);M(l),M(t),H(e=>{Y(i,`${G(c).kind===`copy`?`Copy`:`Move`}:`),Y(a,` ${G(c).source??``}`),Y(s,`Destination: ${(G(c).destination===``?`root folder`:G(c).destination??`choose a folder`)??``}`),u.disabled=e,d.disabled=G(c).destination===void 0,Y(f,`Confirm ${G(c).kind??``}`)},[()=>!Vp(G(c),``)]),K(`click`,u,()=>ne(``)),K(`click`,d,()=>void re()),K(`click`,p,()=>R(c,Fp,!0)),J(e,t)},Oe=e=>{var t=Zp(),n=V(z(t),2),r=z(n,!0);M(n);var i=V(n,2),a=z(i),o=e=>{var t=Wp();K(`click`,t,()=>void re(`replace`)),J(e,t)};X(a,e=>{G(c).replaceAllowed&&e(o)});var s=V(a,2),u=V(s,2);M(i),M(t),Li(t,e=>R(l,e),()=>G(l)),H(()=>Y(r,G(c).destination)),K(`click`,s,()=>void re(`keep-both`)),K(`click`,u,()=>R(c,Fp,!0)),J(e,t)},ke=e=>{var t=Qp(),n=V(z(t),2),r=z(n),i=V(r);M(n),M(t),K(`click`,r,()=>R(c,{...G(c),phase:`picking`},!0)),K(`click`,i,()=>R(c,Fp,!0)),J(e,t)};X(Ee,e=>{G(c).phase===`picking`?e(De):G(c).phase===`conflict`?e(Oe,1):G(c).phase===`failed`&&e(ke,2)});var Ae=V(Ee,2),je=e=>{J(e,$p())},Me=e=>{J(e,em())};X(Ae,e=>{G(s)&&!G(y).loading&&G(y).error?e(je):G(s)&&!G(y).loading&&G(y).entries.length===0&&e(Me,1)});var Ne=V(Ae,2),Pe=e=>{var t=Hr();Yr(B(t),()=>G(o),e=>{{let t=F(()=>G(c).phase===`picking`);kp(e,{get controller(){return G(s)},get revision(){return G(o)},get destinationMode(){return G(t)},ondestinationselect:ne,onselectionchange:e=>R(u,e,!0)})}}),J(e,t)};X(Ne,e=>{G(s)&&e(Pe)}),M(ae),M(ie),Li(ie,e=>R(i,e),()=>G(i)),H(()=>{Y(le,G(x)),Y(de,G(c).phase===`picking`?`Choose destination folder.`:`Browse folders and select a position.`),me.disabled=G(y).loading,Y(ve,`Upload destination: ${(G(b)?.kind===`file`?`Select a folder first`:G(u)||`root folder`)??``}`),ye.disabled=G(b)?.kind===`file`||G(g)}),Nr(`close`,ie,function(...e){t.onclose?.apply(this,e)}),Nr(`cancel`,ie,O),K(`click`,fe,S),K(`click`,me,()=>void G(s)?.refresh()),K(`change`,ge,e=>E(e.currentTarget.files)),K(`click`,ye,()=>G(m)?.click()),J(e,ie),Qe()}Pr([`click`,`change`]);var rm=q(`<main class="evidence-mode svelte-1d2e8zz"><!></main>`),im=q(`<span class="detached-chat-model svelte-1d2e8zz"> </span>`),am=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>`),om=q(`<div class="recovery-notice" role="status" aria-live="polite" aria-atomic="true"><span> </span> <button type="button">Dismiss</button></div>`),sm=q(`<!> <!> <div class="chat-controls svelte-1d2e8zz" aria-label="Chat controls"><!> <!></div> <div class="chat-tail svelte-1d2e8zz" aria-hidden="true"></div>`,1),cm=q(`<p> </p>`),lm=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>`),um=q(`<p>Loading skill profiles…</p>`),dm=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>`),fm=q(`<!> <!> <!> <!>`,1),pm=q(`<main class="swipe-surface svelte-1d2e8zz"><!> <!> <!> <!></main> <!>`,1);function mm(e,t){Ze(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=yc(location.search),i=L(null),a=L(on(r?`chat`:`sessions`)),o=L(!1),s=L(!1),c=L(null),l=L(null),u=!1,d=L(`Loading relay…`),f=L(on(Er(()=>t.theme))),p=L(on([])),m=`gpt-5.6-terra`,h=L([m]),g=L(m),_=L([]),v=L(null),y=L(`list`),b=L([]),x=L(``),S=L(``),C=L(``),w=L(on(new Set)),T=L(null),E=L(on([])),D=L(new Map),O=L({snapshots:new Map,attention:new Map,pending:new Set,errors:new Map}),k=0,ee=null,te=F(()=>G(E).some(e=>e.id===G(T))),ne=L(on([])),re=L(`workspace-write`),ie=L(`on-request`),ae=L(on({starting:!1,error:null})),oe=F(()=>G(ae).starting),se=L(null),ce=0,le=L(null),ue=L(null),de=L(null),fe=L(``),pe=L(on({kind:`unavailable`,sessionId:null})),me=L({kind:`no-workspace`}),he=L(null),ge=L(null),_e=L(!1),ve=null,ye=null,be=0,xe=0,Se=L(null),Ce=F(()=>(G(E).find(e=>e.id===G(T))?.workspaceId??G(C))||null),we=F(()=>G(E).find(e=>e.id===G(T))?.workspacePath??null),Te=F(()=>G(E).find(e=>e.id===G(T))??null),Ee=F(()=>Ad(G(Te)?.workspacePath??``));function De(e){return`kind`in e&&e.kind===`org-source`}function Oe(e){return r?e.filter(e=>e.id===G(T)):e}let ke=F(()=>G(he)&&De(G(he))?G(he):G(he)?{kind:`ready`,sessionId:`catalog`,plan:G(he)}:G(_e)?null:G(pe).kind===`ready`||G(pe).kind===`closing`||G(pe).kind===`error`&&G(pe).plan?G(pe):null),Ae=F(()=>gu(G(pe).kind===`ready`||G(pe).kind===`closing`||G(pe).kind===`error`?G(pe).plan:void 0)),je=L(on({workspaceId:null,summary:null,loading:!1,refreshing:!1,checkingOut:!1,error:null})),Me=F(()=>G(je).workspaceId),Ne=L(on(new Set)),Pe=L(!1),Fe=L(!1),Ie=L(null),Le=L(null),Re=L(null),ze=on({}),A=L(null),Be=``,j=new cl({requestFrame:e=>requestAnimationFrame(e),cancelFrame:e=>cancelAnimationFrame(e),reducedMotion:()=>window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,scrollTail:e=>G(A)?.scrollIntoView({block:`end`,behavior:e})}),Ve=new ll(e=>void Cr().then(e),e=>{G(a)===`chat`&&j.request(e)}),He=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.`:``:``}),N=ru((e,n)=>t.authorizedFetch(e,n)),Ue=new Wa(N,e=>R(O,e)),We=new Ia({relay:N,publish:e=>R(D,new Map(e)),onEvent:(e,t)=>Ue.observe(e,t),onAuthoritativeSnapshot:(e,t)=>Ue.applyAuthoritative(e,t)}),Ge=new ol({relay:N,cache:_c(),publish:e=>R(i,e,!0),onSessionEvent:e=>gn(e),onRelayEvent:e=>{G(T)&&We.observe(G(T),e)},onHistoryError:e=>{R(d,mn(e,`SESSION_HISTORY_READ_FAILED`),!0)},onSendError:(e,t)=>{let n=dl(e,`MESSAGE_SEND_FAILED`);R(le,n.message,!0),R(ue,n.retryable?t:null,!0),R(d,mn(e,`MESSAGE_SEND_FAILED`),!0)},onSendAccepted:e=>{G(ue)===e&&(R(le,null),R(ue,null))}}),Ke=new Yd({start:N.startSession},La,e=>R(ae,e,!0)),qe=new Zl({getSummary:N.getGitSummary,pull:N.pullGit,checkout:N.checkoutGitBranch},e=>!!Tl(G(p),e)?.isGitRepository,e=>R(je,e,!0),(e,t)=>mn(e,t)),Je=op((e,n)=>t.authorizedFetch(e,n)),Ye=hu({getPlan:N.getPlan,closePlan:N.closePlan},e=>R(pe,e,!0)),P=Td(),Xe=pl(),$e=new URLSearchParams(location.search).get(`tree-evidence`),et=new URLSearchParams(location.search).get(`toast-evidence`),tt=new URLSearchParams(location.search).get(`activity-evidence`),nt=$a(window.sessionStorage),rt=new Set;Mn(()=>{for(let[e,t]of G(O).attention){let n=`${e}:${t.requestId}`;nt.claim(n)&&Xe.enqueue({kind:`error`,code:`AUTOPILOT_ATTENTION_${t.requestId}`,message:`Autopilot needs your attention.`})}}),Mn(()=>{let e=new Set;for(let[t,n]of G(O).errors){let r=`${t}:${n}`;e.add(r),!rt.has(r)&&(rt.add(r),Xe.enqueue({kind:`error`,message:n}))}for(let t of rt)e.has(t)||rt.delete(t)});function it(){R(s,!0)}function at(){R(s,!1),Cr().then(()=>document.querySelector(`.menu-trigger`)?.focus())}Ri(async()=>{if(!($e===`sessions`||$e===`git`||et===`error`||et===`stacked`))try{let e=await oc(t.authorizedFetch);R(C,El(G(C)||null,G(p),e.workspaces,bl.sessionBase)??``,!0),R(p,e.workspaces,!0),R(_,e.profiles),R(h,[...new Set([m,...e.models??[]])]),r||await Ut(),R(w,xl(G(p)),!0),R(Ne,xl(G(p)),!0);let n=r?null:await P.readSelectedSession();R(T,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(T)&&R(fe,await P.readDraft(G(T)),!0),R(E,e.sessions,!0);let i=Oe(e.sessions.filter(e=>[`ready`,`turnActive`].includes(e.state)));We.bootstrap(i,G(T)),Ue.bootstrap(i),r||ht(),Ye.select(G(T)),G(T)?Ge.select(G(T)):r&&R(d,`This session is no longer open in Gestalt Mobile.`)}catch(e){R(d,mn(e,`RELAY_UNAVAILABLE`),!0)}}),Mn(()=>{if(!G(A))return;let e=new IntersectionObserver(([e])=>j.observeTail(e?.isIntersecting??!1),{root:null});return e.observe(G(A)),()=>e.disconnect()}),Mn(()=>{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===Be||(Be=n,t===`chat`&&ot(`content`))});function ot(e){Ve.schedule(e)}function st(){Ve.invalidate(),j.reset(),R(a,`chat`),qt(`chat`),ot(`initial`),Jt()}function ct(e){R(f,$i(e),!0)}function lt(){if(!G(T))return;let e=window.open(bc(location.href,G(T)),xc(G(T)),`popup,width=760,height=900`);if(!e){Xe.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(()=>{Ve.invalidate(),j.cancel(),Ge.dispose(),We.dispose(),Ue.dispose(),Ye.dispose(),qe.dispose(),Ke.dispose(),G(v)?.dispose()});async function ut(){if(!G(C)||G(oe))return;let e=Jd({workspaceId:G(C),profile:`default`,profileState:`ok`});if(e.profile){R(d,e.profile,!0);return}R(d,`Starting session…`);let t=await Ke.start(G(C),{sandbox:G(re),approvalPolicy:G(ie),model:G(g),skillProfile:G(x)||void 0});if(!t){G(ae).error&&R(d,mn(Error(G(ae).error),`SESSION_START_FAILED`),!0);return}try{R(T,t.id,!0),Ye.select(t.id),P.saveSelectedSession(t.id),await dt(),R(fe,await P.readDraft(t.id),!0),Ge.select(t.id,{history:`empty`}),We.select(t.id),st(),R(d,`Session started.`)}catch(e){R(d,mn(e,`SESSION_START_FAILED`),!0)}}async function dt(){let e=++k;ee?.abort();let t=new AbortController;ee=t;try{let n=await N.listSessions(t.signal);if(e!==k||t.signal.aborted)return;R(E,n,!0);let r=Oe(G(E).filter(e=>[`ready`,`turnActive`].includes(e.state)));We.bootstrap(r,G(T)),Ue.bootstrap(r)}catch(e){if(t.signal.aborted||hn(e))return;throw e}finally{ee===t&&(ee=null)}}async function ft(e,t){await Ue.toggle(e,t),e===G(T)&&dt().catch(()=>{})}async function pt(e){await ft(e,!0),await Cr(),e===G(T)&&document.getElementById(`chat-autopilot-${e}-button`)?.focus({preventScroll:!0})}async function mt(e,t,n){await Ue.resolve(e,t,n),e===G(T)&&dt().catch(()=>{})}async function ht(){try{R(ne,await N.listRecentSessions(),!0)}catch{R(ne,[],!0)}}async function gt(){try{await Promise.all([dt(),ht()])}catch(e){R(d,mn(e,`SESSION_REFRESH_FAILED`),!0)}}async function _t(e){R(d,`Opening session…`),R(se,e,!0);let t=++ce;try{R(T,e,!0),R(le,null),R(ue,null),Ye.select(e),P.saveSelectedSession(e),Ge.select(e),We.select(e),st();let n=await P.readDraft(e);t===ce&&G(T)===e&&R(fe,n,!0)}catch(e){R(d,mn(e,`SESSION_HISTORY_READ_FAILED`),!0)}finally{t===ce&&R(se,null)}}async function vt(e){R(d,`Opening recent session…`);try{let t=await N.openRecentSession(e.id,e.cwd);G(E).some(e=>e.id===t.id)||R(E,[...G(E),t],!0),gt(),await _t(t.id)}catch(e){R(d,mn(e,`SESSION_HISTORY_READ_FAILED`),!0)}}async function yt(e){R(d,`Closing session…`);try{await N.releaseSession(e),G(T)===e&&(R(T,null),R(a,`sessions`),P.saveSelectedSession(null),Ge.select(null),We.select(null),Ye.select(null)),await gt(),R(d,`Session closed.`)}catch(e){R(d,`Could not close session: ${pn(e)}`)}}async function bt(e){let t=G(E).find(t=>t.id===e);try{await N.forgetSession(e),G(T)===e&&(Ge.select(null),We.select(null),R(T,null),P.saveSelectedSession(null),Ye.select(null)),await gt(),R(ne,kd(G(ne),t),!0)}catch(e){R(d,`Could not forget session: ${pn(e)}`)}}async function xt(e){R(d,await iu(e)?`Resume command copied.`:`Could not copy the resume command.`,!0)}async function St(e){if(!(!G(T)||G(i)?.activeTurnId))try{let t=await N.selectModel(G(T),e);R(E,G(E).map(e=>e.id===t.id?{...e,...t}:e),!0),R(fe,``),R(d,`Model changed to ${e}; it applies to the next turn.`)}catch(e){R(d,`Could not change model: ${pn(e)}`)}}async function Ct(){let e=La();Ge.send(G(fe),e),Et()}async function wt(){let e=La();Ge.queue(G(fe),e),Et()}async function Tt(){let e=La();Ge.interruptAndSend(G(fe),e),Et()}function Et(){R(fe,``),ot(`explicit`),G(T)&&P.saveDraft(G(T),``)}async function Dt(){G(ue)&&(R(le,null),await Ge.retryPrompt(G(ue)))}async function Ot(){await Ge.interrupt()}function kt(){G(a)===`chat`&&G(T)&&Ge.refresh()}function At(e){if(r||e===`chat`&&!G(te))return;let t=G(a)!==e;G(a)===`chat`&&e!==`chat`&&(Ve.invalidate(),j.cancel()),R(a,e,!0),qt(e),e===`chat`&&(kt(),j.reset(),ot(`initial`),t&&Jt()),e===`git`&&G(Me)&&qe.refresh(),e===`plan`&&(G(T)&&Ye.refresh(G(T)),t||Vt()),e===`sessions`&&(G(y)===`profile-manager`&&Kt(!1),gt())}Mn(()=>{let e=G(Ce);G(a)===`plan`&&Lt(e)});let I=!1;function jt(){document.visibilityState!==`visible`||I||(I=!0,queueMicrotask(()=>{I=!1,document.visibilityState===`visible`&&(G(a)===`git`&&G(Me)&&qe.refresh(),G(a)===`plan`&&Vt())}))}let Mt=null;function Nt(e){return e instanceof Element&&e.closest(`button, input, textarea, select, a, summary, [contenteditable]`)!==null}function Pt(e){e.pointerType!==`touch`||Nt(e.target)||(Mt={pointerId:e.pointerId,x:e.clientX,y:e.clientY})}function Ft(e){if(!Mt||e.pointerId!==Mt.pointerId)return;let t=Mt;Mt=null;let n=e.clientX-t.x,r=e.clientY-t.y;Math.abs(n)<48||Math.abs(n)<=Math.abs(r)||At(Zd(G(a),n<0?1:-1,{chatEnabled:G(te)}))}function It(e){Mt?.pointerId===e.pointerId&&(Mt=null)}function Lt(e=G(Ce)){if(ve?.abort(),ye?.abort(),R(he,null),R(ge,null),!e){R(me,{kind:`no-workspace`});return}let t=new AbortController;ve=t;let n=++be;R(me,{kind:`loading`,workspaceId:e}),N.listWorkspacePlans(e,t.signal).then(r=>{n!==be||t.signal.aborted||R(me,{kind:`ready`,workspaceId:e,entries:r})}).catch(r=>{n!==be||t.signal.aborted||(G(ke)||Xe.enqueue({kind:`error`,code:`WORKSPACE_PLANS_READ_FAILED`,message:`Workspace Org files could not be listed. Try opening the Plan tab again.`}),R(me,{kind:`error`,workspaceId:e,error:r instanceof Error?r.message:`Could not load workspace plans.`}))})}function Rt(e){let t=G(Ce);if(!t)return;ye?.abort();let n=new AbortController;ye=n;let r=++xe;(G(T)?N.openSessionPlan(G(T),e):N.getWorkspacePlan(t,e,n.signal)).then(t=>{r!==xe||n.signal.aborted||(R(he,t),R(ge,e,!0),R(_e,!1))}).catch(()=>{r!==xe||n.signal.aborted||Xe.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 zt(e){let t=G(Ce),n=G(we),r=n?ms(e,n):null;if(!t||!r){Xe.enqueue({kind:`error`,code:`ORG_LINK_OUTSIDE_WORKSPACE`,message:`This Org file is not inside the selected workspace and cannot be opened.`});return}At(`plan`),Cr().then(()=>{G(Ce)!==t||G(we)!==n||Rt(r)})}function Bt(){R(he,null),R(ge,null),R(_e,!0),Lt()}function Vt(){G(T)&&Ye.refresh(G(T)),G(ge)?Rt(G(ge)):Lt()}async function Ht(e,t){let n=new gf(N);await n.load(e,t),R(v,n,!0)}async function Ut(){try{let e=await N.listSkillProfiles();R(b,e.profiles.filter(e=>!(`error`in e)));let t=e.profiles.find(e=>`error`in e);R(S,t&&`error`in t?t.error.message:``,!0),G(b).some(e=>e.name===G(x))||R(x,``)}catch(e){R(b,[]),R(S,e instanceof Error?e.message:`Unable to load saved skill profiles.`,!0)}}async function Wt(e){let t=G(C)||G(p)[0]?.id||``,n=G(_).find(e=>e.state===`ok`)?.name??``;if(!t||!n){R(d,`Choose a workspace and available Codex profile before managing skill profiles.`);return}await Ht(t,n),R(y,`profile-manager`)}function Gt(e){queueMicrotask(()=>e.focus())}async function Kt(e=!0){R(y,`list`),await Cr(),e&&document.getElementById(`manage-skill-profiles`)?.focus()}function qt(e){requestAnimationFrame(()=>{G(a)===e&&e!==`chat`&&window.scrollTo({top:0})})}function Jt(){Cr().then(()=>{G(a)===`chat`&&document.getElementById(`message`)?.focus({preventScroll:!0})})}function Yt(e){qe.select(e.id),R(Pe,!1)}function Xt(e){let t=G(Me)?Tl(G(p),G(Me)):null;t&&(R(c,t,!0),R(l,e,!0))}async function Zt(){R(c,null),await Cr(),G(l)?.focus({preventScroll:!0})}function Qt(){u||(u=!0,queueMicrotask(()=>{u=!1,G(Me)&&qe.refresh()}))}async function $t(){let e=G(Me);!e||!Tl(G(p),e)?.isGitRepository||(R(Le,G(Le)??La(),!0),await qe.pull(G(Le)),G(je).error||R(Le,null))}async function en(e){if(G(Fe))return;let n=G(Me)?Tl(G(p),G(Me)):void 0;if(!n||n.isGitRepository){R(Ie,null),Xe.enqueue({kind:`error`,code:`INVALID_CLONE_DESTINATION`,message:`Select a non-repository folder before cloning.`});return}let r=n.id;R(Fe,!0),R(Ie,null);try{await N.cloneGitRepository(r,e);let n=await oc(t.authorizedFetch),i=Ql(G(p),n.workspaces,r,e,G(Ne));R(C,El(G(C)||null,G(p),n.workspaces,bl.sessionBase)??``,!0),R(p,n.workspaces,!0),qe.select(i.selectedId),R(Ne,i.expandedIds,!0),R(Ie,`Repository cloned into the selected workspace.`),Xe.enqueue({kind:`success`,message:`Repository cloned.`})}catch(e){mn(e,`GIT_CLONE_FAILED`)}finally{R(Fe,!1)}}async function tn(e){G(Me)&&await qe.checkout(e)}async function nn(){let e=G(Me);if(e){R(Re,G(Re)??La(),!0);try{await N.pushGit(e,G(Re)),R(Pe,!1),await qe.refresh(),R(Re,null)}catch(e){mn(e,`GIT_PUSH_FAILED`)}}}async function rn(e,t){ot(`explicit`),await Ge.respond(e,{decision:t})}async function an(e){ot(`explicit`);let t=e.kind===`quiz`?Mo(e.payload):No(e.payload);if(!t)return;let n=t.questions.map(t=>({id:t.id,answer:ze[`${e.requestId}:${t.id}`]??``})),r=e.kind===`quiz`?Po(n):nu(n);try{await Ge.respond(e.requestId,r)}catch{R(d,`Could not send quiz answers. Please try again.`)}}async function sn(e){let t=tu(e.payload);if(!t){R(d,`Codex sent an invalid permission request.`);return}ot(`explicit`),await Ge.respond(e.requestId,t)}function cn(e){e.kind===`quiz`||e.kind===`userInput`?an(e):e.kind===`permissionsApproval`?sn(e):Ge.retryInteraction(e.requestId)}function dn(e,t,n){ze[`${e}:${t}`]=n}function fn(e){R(fe,e,!0),G(T)&&P.saveDraft(G(T),e)}function pn(e){return e instanceof Error?e.message:`Unknown relay error.`}function mn(e,t){let n=dl(e,t);return Xe.enqueue({kind:`error`,...n}),n.message}function hn(e){return(e instanceof DOMException||e instanceof Error)&&e.name===`AbortError`}function gn(e){let t=G(T);if(!t||e.type===`agent.activity.updated`)return;if(e.type===`session.updated`&&typeof e.payload==`object`&&e.payload!==null){let n=e.payload;n.id===t&&R(E,G(E).map(e=>e.id===t?{...e,...n}:e),!0);return}if(e.type!==`plan.updated`&&e.type!==`plan.closed`)return;if(Ye.applyEvent(t,e),e.type===`plan.closed`){R(E,G(E).map(e=>e.id===t?{...e,plan:void 0}:e),!0);return}let n=lu(e.payload)?e.payload.plan:uu(e.payload)?e.payload:null;n&&R(E,G(E).map(e=>e.id===t?{...e,plan:n}:e),!0)}var _n=Hr();oi(`1d2e8zz`,e=>{Rn(()=>{un.title=r&&G(Ee)?`Chat · ${G(Ee)} · Gestalt Mobile`:`Gestalt Mobile`})}),Nr(`focus`,ln,jt),Nr(`visibilitychange`,un,jt);var vn=B(_n),yn=e=>{Pa(e,{})},bn=e=>{yl(e,{get variant(){return et}})},xn=e=>{var t=rm();Fl(z(t),{get context(){return $e}}),M(t),J(e,t)},Sn=e=>{var l=pm(),u=B(l),_=z(u),k=e=>{{let n=F(()=>G(a)===`chat`?Ad(G(E).find(e=>e.id===G(T))?.workspacePath??``):null),r=F(()=>G(a)===`chat`?G(E).find(e=>e.id===G(T))?.model??m:null),i=F(()=>G(a)===`chat`&&G(T)?lt:void 0);sa(e,{get theme(){return G(f)},get sessionPath(){return G(n)},get sessionModel(){return G(r)},get weeklyQuotaRemaining(){return G(Ae)},get passkeyAuthEnabled(){return t.passkeyAuthEnabled},get onlock(){return t.onlock},ondevices:()=>R(o,!0),onscratchpad:it,onthemechange:ct,get ondetach(){return G(i)}})}};X(_,e=>{!G(o)&&!r&&e(k)});var ee=V(_,2),ae=e=>{var t=am(),n=z(t),i=V(z(n),2),a=z(i,!0);M(i),M(n);var o=V(n,2),s=e=>{var t=im(),n=z(t,!0);M(t),H(()=>Y(n,G(Te).model)),J(e,t)};X(o,e=>{G(Te)?.model&&e(s)}),M(t),H(()=>{Q(i,`title`,G(Ee)||r),Y(a,G(Ee)||r)}),J(e,t)};X(ee,e=>{r&&e(ae)});var ce=V(ee,2);_l(ce,{get queue(){return Xe}});var pe=V(ce,2),he=e=>{ip(e,{get client(){return Je},onclose:()=>{R(o,!1),Cr().then(()=>document.querySelector(`.menu-trigger`)?.focus())},get onlock(){return t.onlock},oncreatepasskey:e=>n()(e)})},ge=e=>{var t=fm(),n=B(t),o=e=>{var t=om(),n=z(t),r=z(n,!0);M(n);var i=V(n,2);M(t),H(()=>Y(r,G(de))),K(`click`,i,()=>R(de,null)),J(e,t)};X(n,e=>{G(de)&&e(o)});var s=V(n,2),l=e=>{var t=lm(),n=V(z(t),2);{let e=F(()=>G(T)?G(O).attention.get(G(T))??null:null),t=F(()=>`chat-attention-${G(T)??`none`}`),r=F(()=>G(T)?G(O).pending.has(G(T)):!1);Xa(n,{get attention(){return G(e)},get controlId(){return G(t)},get pending(){return G(r)},onresolve:(e,t)=>G(T)&&mt(G(T),e,t)})}var a=V(n,2);{let e=F(()=>G(T)?G(O).snapshots.get(G(T))??null:null),t=F(()=>G(T)?G(O).attention.get(G(T))??null:null),n=F(()=>`chat-autopilot-safety-${G(T)??`none`}`),r=F(()=>G(T)?G(O).pending.has(G(T)):!1);Qa(a,{get autopilot(){return G(e)},get attention(){return G(t)},get controlId(){return G(n)},get pending(){return G(r)},onrecover:()=>G(T)&&void pt(G(T)),ondisable:()=>G(T)&&ft(G(T),!1)})}var o=V(a,2),s=z(o,!0);M(o);var c=V(o,2),l=e=>{var t=sm(),n=B(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]:[]);nc(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 ze},onanswer:dn,onquiz:e=>void an(e),onpermission:e=>void sn(e),ondecision:(e,t)=>void rn(e,t),onretry:cn,onopenorg:zt})}var r=V(n,2);{let e=F(()=>G(i)?.status??G(d)),t=F(()=>G(i)?.activeTurnId??null),n=F(()=>G(i)?.starting??!1),a=F(()=>!!(G(E).find(e=>e.id===G(T))&&![`ready`,`turnActive`].includes(G(E).find(e=>e.id===G(T))?.state??``))),o=F(()=>G(ue)!==null);So(r,{get status(){return G(e)},get message(){return G(fe)},get activeTurnId(){return G(t)},get starting(){return G(n)},get detached(){return G(a)},get retryMessage(){return G(le)},get retryable(){return G(o)},get models(){return G(h)},onchange:fn,onscrollbottom:()=>ot(`explicit`),onmodelselect:e=>void St(e),onsend:()=>void Ct(),onqueue:()=>void wt(),oninterruptsend:()=>void Tt(),onretry:()=>void Dt(),oninterrupt:()=>void Ot()})}var a=V(r,2),o=z(a);{let e=F(()=>G(O).snapshots.get(G(T))??null),t=F(()=>`chat-autopilot-${G(T)}`),n=F(()=>G(O).pending.has(G(T)));Ja(o,{compact:!0,get autopilot(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},ontoggle:e=>G(T)&&ft(G(T),e)})}var s=V(o,2);{let e=F(()=>G(D).get(G(T))??null),t=F(()=>G(E).find(e=>e.id===G(T))?.model??m);Ma(s,{compact:!0,get activity(){return G(e)},get rootModel(){return G(t)}})}M(a),Li(V(a,2),e=>R(A,e),()=>G(A)),J(e,t)},u=e=>{var t=cm(),n=z(t,!0);M(t),H(()=>Y(n,r?G(d):`Start a session from the Sessions tab to chat with Codex.`)),J(e,t)};X(c,e=>{G(T)?e(l):e(u,-1)}),M(t),H(()=>Y(s,G(He))),J(e,t)},u=e=>{bd(e,{get catalog(){return G(me)},get state(){return G(ke)},onopen:Rt,onclose:Bt})},f=e=>{{let t=F(()=>G(Me)?Tl(G(p),G(Me))??null:null);Xl(e,{get workspaceTree(){return G(p)},get selectedWorkspace(){return G(t)},get expandedIds(){return G(Ne)},get summary(){return G(je).summary},get refreshing(){return G(je).refreshing},get checkingOut(){return G(je).checkingOut},get cloning(){return G(Fe)},get error(){return G(je).error},get cloneStatus(){return G(Ie)},get confirmingPush(){return G(Pe)},onpull:()=>void $t(),oncheckout:e=>void tn(e),onopenpushconfirmation:()=>R(Pe,!0),onpush:()=>void nn(),oncancelpush:()=>R(Pe,!1),onselect:Yt,onexpandedchange:e=>R(Ne,e,!0),onbrowsefiles:Xt,onclone:e=>void en(e)})}},_=e=>{var t=Hr(),n=B(t),r=e=>{var t=dm(),n=z(t),r=z(n);si(r,()=>Gt);var i=V(r,2);M(n);var a=V(n,2),o=e=>{hf(e,{get skillsState(){return G(v)},onrefresh:()=>G(v)?.refresh()??Promise.resolve(),onprofileschange:()=>void Ut(),heading:`Skill profile editor`})},s=e=>{J(e,um())};X(a,e=>{G(v)?e(o):e(s,-1)}),M(t),K(`click`,i,()=>void Kt()),J(e,t)},i=e=>{qd(e,{get sessions(){return G(E)},get recentSessions(){return G(ne)},get selectedSessionId(){return G(T)},get activitySnapshots(){return G(D)},get autopilotSnapshots(){return G(O).snapshots},get autopilotPending(){return G(O).pending},get autopilotAttention(){return G(O).attention},get workspaceTree(){return G(p)},get workspaceId(){return G(C)},get expandedIds(){return G(w)},get sandbox(){return G(re)},get approvalPolicy(){return G(ie)},get models(){return G(h)},get selectedModel(){return G(g)},get skillProfiles(){return G(b)},get selectedSkillProfile(){return G(x)},get skillProfileError(){return G(S)},get startingSession(){return G(oe)},get openingSessionId(){return G(se)},onworkspacechange:e=>R(C,e,!0),onexpandedchange:e=>R(w,e,!0),onsandboxchange:e=>R(re,e,!0),onapprovalpolicychange:e=>R(ie,e,!0),onmodelchange:e=>R(g,e,!0),onskillprofilechange:e=>R(x,e,!0),onmanageprofiles:e=>void Wt(e),onopen:_t,onselectopen:_t,onclose:e=>void yt(e),onautopilottoggle:ft,onautopilotresolve:mt,onopenrecent:e=>void vt(e),onforget:e=>void bt(e),oncopyresume:e=>void xt(e),onstart:()=>void ut()})};X(n,e=>{G(y)===`profile-manager`?e(r):e(i,-1)}),J(e,t)};X(s,e=>{G(a)===`chat`?e(l):G(a)===`plan`?e(u,1):G(a)===`git`?e(f,2):e(_,-1)});var k=V(s,2),ee=e=>{nm(e,{get root(){return G(c)},get listDirectory(){return N.listWorkspaceDirectory},get copyEntry(){return N.copyWorkspaceEntry},get moveEntry(){return N.moveWorkspaceEntry},get deleteEntry(){return N.deleteWorkspaceEntry},get uploadFile(){return N.uploadWorkspaceFile},onclose:()=>void Zt(),onerror:e=>mn(e,`WORKSPACE_FILES_READ_FAILED`),onsuccess:e=>Xe.enqueue({kind:`success`,message:e}),onmutation:Qt})};X(k,e=>{G(c)&&e(ee)});var ae=V(k,2),ce=e=>{$d(e,{get activeTab(){return G(a)},get chatEnabled(){return G(te)},get focusTab(){return G(Se)},onselect:At})};X(ae,e=>{r||e(ce)}),J(e,t)};X(pe,e=>{G(o)&&t.passkeyAuthEnabled?e(he):e(ge,-1)}),M(u);var _e=V(u,2),ve=e=>{gp(e,{onclose:at})};X(_e,e=>{G(s)&&e(ve)}),K(`pointerdown`,u,Pt),K(`pointerup`,u,Ft),Nr(`pointercancel`,u,It),J(e,l)};X(vn,e=>{tt===`true`?e(yn):et===`error`||et===`stacked`?e(bn,1):$e===`sessions`||$e===`git`?e(xn,2):e(Sn,-1)}),J(e,_n),Qe()}Pr([`pointerdown`,`pointerup`,`click`]);function hm(){throw Error(`AUTH_RESPONSE_INVALID`)}async function gm(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 _m(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 vm(e){return!!e&&typeof e==`object`&&!!e.options&&typeof e.options.challenge==`string`}function ym(e){return!!e&&typeof e==`object`&&e.status===`authenticated`}function bm(e=fetch){async function t(){let t=await gm(await e(`/api/auth/status`,{credentials:`same-origin`}));return _m(t)||hm(),t}async function n(t,n={}){let r=await gm(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return vm(r)||hm(),r}async function r(t,n){let r=await gm(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return ym(r)||hm(),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 xm(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 Sm(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 Cm(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 wm(){return Tm.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential==`function`)}var Tm={stubThis:e=>e};function Em(e){let{id:t}=e;return{...e,id:Cm(t),transports:e.transports}}function Dm(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 Om=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 km({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 Om({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 Om({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 Om({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 Om({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 Om({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new Om({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 Om({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new Om({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(!Dm(t))return new Om({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new Om({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 Om({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 Om({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 Am=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}}},jm=[`cross-platform`,`platform`];function Mm(e){if(e&&!(jm.indexOf(e)<0))return e}async function Nm(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(!wm())throw Error(`WebAuthn is not supported in this browser`);let r={...t,challenge:Cm(t.challenge),user:{...t.user,id:Cm(t.user.id)},excludeCredentials:t.excludeCredentials?.map(Em)},i={};n&&(i.mediation=`conditional`),i.publicKey=r,i.signal=Am.createNewAbortSignal();let a;try{a=await navigator.credentials.create(i)}catch(e){throw km({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){Pm(`getPublicKeyAlgorithm()`,e)}let f;if(typeof c.getPublicKey==`function`)try{let e=c.getPublicKey();e!==null&&(f=Sm(e))}catch(e){Pm(`getPublicKey()`,e)}let p;if(typeof c.getAuthenticatorData==`function`)try{p=Sm(c.getAuthenticatorData())}catch(e){Pm(`getAuthenticatorData()`,e)}return{id:o,rawId:Sm(s),response:{attestationObject:Sm(c.attestationObject),clientDataJSON:Sm(c.clientDataJSON),transports:u,publicKeyAlgorithm:d,publicKey:f,authenticatorData:p},type:l,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:Mm(a.authenticatorAttachment)}}function Pm(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 Fm(){if(!wm())return Im.stubThis(new Promise(e=>e(!1)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?Im.stubThis(new Promise(e=>e(!1))):Im.stubThis(e.isConditionalMediationAvailable())}var Im={stubThis:e=>e};function Lm({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 Om({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new Om({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!Dm(t))return new Om({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new Om({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 Om({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 Rm(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(!wm())throw Error(`WebAuthn is not supported in this browser`);let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(Em));let a={...t,challenge:Cm(t.challenge),allowCredentials:i},o={};if(n){if(!await Fm())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=Am.createNewAbortSignal();let s;try{s=await navigator.credentials.get(o)}catch(e){throw Lm({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=Sm(u.userHandle)),{id:c,rawId:Sm(l),response:{authenticatorData:Sm(u.authenticatorData),clientDataJSON:Sm(u.clientDataJSON),signature:Sm(u.signature),userHandle:f},type:d,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:Mm(s.authenticatorAttachment)}}function zm(e){return typeof e==`object`&&e?e:{}}function Bm(e){let t=zm(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 Bm(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 Vm(){return typeof window<`u`&&window.isSecureContext&&window.PublicKeyCredential!==void 0}function Hm(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(!Vm()){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 Um=q(`<p class="warning svelte-1c5qcm6">This one-time link authorizes one new passkey. Choose a nickname and complete the passkey
26
+ prompt before it expires.</p>`),Wm=q(`<p class="warning svelte-1c5qcm6"><strong class="svelte-1c5qcm6">Trust-on-first-use:</strong> anyone who can reach an empty relay instance could claim
27
27
  first-device access. Enroll this device before exposing the instance, and confirm you are at the
28
- canonical address before continuing.</p>`),Hm=q(`<p class="error svelte-1c5qcm6">Passkeys require a secure browser on this device.</p>`),Um=q(`<p class="feedback svelte-1c5qcm6"> </p>`),Wm=q(`<img alt="QR code for the first-device setup link" class="svelte-1c5qcm6"/>`),Gm=q(`<div class="handoff svelte-1c5qcm6"><!> <div class="svelte-1c5qcm6"><h2 class="svelte-1c5qcm6">Continue on your phone</h2> <p class="svelte-1c5qcm6">Scanning opens this same setup page. You will still choose a nickname and explicitly
29
- authorize that device.</p> <a class="svelte-1c5qcm6"> </a> <button type="button" class="copy svelte-1c5qcm6">Copy setup link</button></div></div>`),Km=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 qm(e,t){Ze(t,!0);let n=L(``),r=L(null),i=L(!1),a=L(null),o=!0,s=!0,c=F(()=>Uf(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||Wf(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 Am({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,Lm(e),!0)}finally{R(i,!1)}}}var g=Km(),_=z(g),v=V(z(_),2),y=z(v,!0);M(v);var b=V(v,2),x=e=>{J(e,Bm())},S=e=>{J(e,Vm())};X(b,e=>{t.enrollmentTicket?e(x):e(S,-1)});var C=V(b,4);Di(C);var w=V(C,2),T=z(w,!0);M(w);var E=V(w,2),D=e=>{J(e,Hm())},O=F(()=>!u());X(E,e=>{G(O)&&e(D)});var k=V(E,2),ee=e=>{var t=Um(),n=z(t,!0);M(t),H(()=>Y(n,G(r))),J(e,t)};X(k,e=>{G(r)&&e(ee)});var te=V(k,2),ne=e=>{var t=Gm(),n=z(t),r=e=>{var t=Wm();H(()=>Q(t,`src`,G(a))),J(e,t)};X(n,e=>{G(a)&&e(r)});var i=V(n,2),o=V(z(i),4),s=z(o,!0);M(o);var l=V(o,2);M(i),M(t),H(()=>{Q(o,`href`,G(c)),Y(s,G(c))}),K(`click`,l,()=>void m()),J(e,t)};X(te,e=>{t.enrollmentTicket||e(ne)}),M(_),M(g),H(e=>{Y(y,t.enrollmentTicket?`Authorize this device`:`Authorize the first device`),w.disabled=e,Y(T,G(i)?`Authorizing device…`:`Authorize this device`)},[()=>G(i)||!u()]),Ni(C,()=>G(n),e=>R(n,e)),K(`click`,w,()=>void h()),J(e,g),Qe()}Pr([`click`]);var Jm=q(`<p class="error svelte-1byekj9">Passkeys require this relay to be opened over a secure connection.</p>`),Ym=q(`<p class="error svelte-1byekj9">This browser does not support passkeys. Use an authorized browser or device.</p>`),Xm=q(`<p class="svelte-1byekj9"> </p> <button class="sign-in svelte-1byekj9" type="button"> </button>`,1),Zm=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 Qm(e,t){Ze(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)?Lm(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 Fm({optionsJSON:e});await t.client.verifyLogin(n),t.onAuthenticated()}catch(e){R(n,o(e),!0)}finally{R(r,!1)}}}var c=Zm(),l=z(c),u=V(z(l),4),d=e=>{J(e,Jm())},f=e=>{J(e,Ym())},p=e=>{var t=Xm(),a=B(t),o=z(a,!0);M(a);var c=V(a,2),l=z(c,!0);M(c),Li(c,e=>R(i,e),()=>G(i)),H(()=>{Y(o,G(n)),c.disabled=G(r),Y(l,G(r)?`Waiting for passkey…`:`Sign in with a passkey`)}),K(`click`,c,()=>void s()),J(e,t)};X(u,e=>{window.isSecureContext?window.PublicKeyCredential===void 0?e(f,1):e(p,-1):e(d)}),M(l),M(c),J(e,c),Qe()}Pr([`click`]);var $m=q(`<p>Checking this device…</p>`),eh=q(`<h1 class="svelte-y74n0s">Passkey support is required</h1> <p> </p>`,1),th=q(`<h1 class="svelte-y74n0s">Unable to check this device</h1> <p> </p> <button type="button" class="svelte-y74n0s">Try again</button>`,1),nh=q(`<main class="auth-gate svelte-y74n0s" aria-live="polite"><!></main>`);function rh(e,t){Ze(t,!0);let n=$(t,`initialTheme`,3,`dyne-org`),r=L(void 0),i=F(()=>G(r)??t.enrollmentTicket),a=L(on({kind:`checking`})),o=!1,s=_m(),c=zm(s,e=>R(a,e,!0)),l=vm(()=>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=B(f),m=e=>{dm(e,{get authorizedFetch(){return l},get theme(){return n()},get passkeyAuthEnabled(){return G(a).passkeyAuthEnabled},onlock:()=>void d(),oncreatepasskey:u})},h=e=>{qm(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=>{Qm(e,{get client(){return s},get message(){return G(a).message},onAuthenticated:()=>c.authenticated()})},_=e=>{var t=nh(),n=z(t),r=e=>{J(e,$m())},i=e=>{var t=eh(),n=V(B(t),2),r=z(n,!0);M(n),H(()=>Y(r,G(a).message)),J(e,t)},o=e=>{var t=th(),n=V(B(t),2),r=z(n,!0);M(n);var i=V(n,2);H(()=>Y(r,G(a).message)),K(`click`,i,()=>void c.retry()),J(e,t)};X(n,e=>{G(a).kind===`checking`?e(r):G(a).kind===`unsupported`?e(i,1):G(a).kind===`error`&&e(o,2)}),M(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),Qe()}Pr([`click`]);function ih(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 ah(e,t,n,r=Ur,i={}){return r(rh,{target:e,props:{enrollmentTicket:ih(t,n),initialTheme:Qi(i)}})}function oh(){return{readyState:document.readyState,addLoadListener:e=>window.addEventListener(`load`,e,{once:!0}),serviceWorker:navigator.serviceWorker}}function sh(e=oh()){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 ch=document.getElementById(`app`);if(!ch)throw Error(`Missing application mount target`);ah(ch,window.location,window.history),sh();
28
+ canonical address before continuing.</p>`),Gm=q(`<p class="error svelte-1c5qcm6">Passkeys require a secure browser on this device.</p>`),Km=q(`<p class="feedback svelte-1c5qcm6"> </p>`),qm=q(`<img alt="QR code for the first-device setup link" class="svelte-1c5qcm6"/>`),Jm=q(`<div class="handoff svelte-1c5qcm6"><!> <div class="svelte-1c5qcm6"><h2 class="svelte-1c5qcm6">Continue on your phone</h2> <p class="svelte-1c5qcm6">Scanning opens this same setup page. You will still choose a nickname and explicitly
29
+ authorize that device.</p> <a class="svelte-1c5qcm6"> </a> <button type="button" class="copy svelte-1c5qcm6">Copy setup link</button></div></div>`),Ym=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 Xm(e,t){Ze(t,!0);let n=L(``),r=L(null),i=L(!1),a=L(null),o=!0,s=!0,c=F(()=>Kf(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||qf(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 Nm({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,Bm(e),!0)}finally{R(i,!1)}}}var g=Ym(),_=z(g),v=V(z(_),2),y=z(v,!0);M(v);var b=V(v,2),x=e=>{J(e,Um())},S=e=>{J(e,Wm())};X(b,e=>{t.enrollmentTicket?e(x):e(S,-1)});var C=V(b,4);Di(C);var w=V(C,2),T=z(w,!0);M(w);var E=V(w,2),D=e=>{J(e,Gm())},O=F(()=>!u());X(E,e=>{G(O)&&e(D)});var k=V(E,2),ee=e=>{var t=Km(),n=z(t,!0);M(t),H(()=>Y(n,G(r))),J(e,t)};X(k,e=>{G(r)&&e(ee)});var te=V(k,2),ne=e=>{var t=Jm(),n=z(t),r=e=>{var t=qm();H(()=>Q(t,`src`,G(a))),J(e,t)};X(n,e=>{G(a)&&e(r)});var i=V(n,2),o=V(z(i),4),s=z(o,!0);M(o);var l=V(o,2);M(i),M(t),H(()=>{Q(o,`href`,G(c)),Y(s,G(c))}),K(`click`,l,()=>void m()),J(e,t)};X(te,e=>{t.enrollmentTicket||e(ne)}),M(_),M(g),H(e=>{Y(y,t.enrollmentTicket?`Authorize this device`:`Authorize the first device`),w.disabled=e,Y(T,G(i)?`Authorizing device…`:`Authorize this device`)},[()=>G(i)||!u()]),Ni(C,()=>G(n),e=>R(n,e)),K(`click`,w,()=>void h()),J(e,g),Qe()}Pr([`click`]);var Zm=q(`<p class="error svelte-1byekj9">Passkeys require this relay to be opened over a secure connection.</p>`),Qm=q(`<p class="error svelte-1byekj9">This browser does not support passkeys. Use an authorized browser or device.</p>`),$m=q(`<p class="svelte-1byekj9"> </p> <button class="sign-in svelte-1byekj9" type="button"> </button>`,1),eh=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 th(e,t){Ze(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)?Bm(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 Rm({optionsJSON:e});await t.client.verifyLogin(n),t.onAuthenticated()}catch(e){R(n,o(e),!0)}finally{R(r,!1)}}}var c=eh(),l=z(c),u=V(z(l),4),d=e=>{J(e,Zm())},f=e=>{J(e,Qm())},p=e=>{var t=$m(),a=B(t),o=z(a,!0);M(a);var c=V(a,2),l=z(c,!0);M(c),Li(c,e=>R(i,e),()=>G(i)),H(()=>{Y(o,G(n)),c.disabled=G(r),Y(l,G(r)?`Waiting for passkey…`:`Sign in with a passkey`)}),K(`click`,c,()=>void s()),J(e,t)};X(u,e=>{window.isSecureContext?window.PublicKeyCredential===void 0?e(f,1):e(p,-1):e(d)}),M(l),M(c),J(e,c),Qe()}Pr([`click`]);var nh=q(`<p>Checking this device…</p>`),rh=q(`<h1 class="svelte-y74n0s">Passkey support is required</h1> <p> </p>`,1),ih=q(`<h1 class="svelte-y74n0s">Unable to check this device</h1> <p> </p> <button type="button" class="svelte-y74n0s">Try again</button>`,1),ah=q(`<main class="auth-gate svelte-y74n0s" aria-live="polite"><!></main>`);function oh(e,t){Ze(t,!0);let n=$(t,`initialTheme`,3,`dyne-org`),r=L(void 0),i=F(()=>G(r)??t.enrollmentTicket),a=L(on({kind:`checking`})),o=!1,s=bm(),c=Hm(s,e=>R(a,e,!0)),l=xm(()=>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=B(f),m=e=>{mm(e,{get authorizedFetch(){return l},get theme(){return n()},get passkeyAuthEnabled(){return G(a).passkeyAuthEnabled},onlock:()=>void d(),oncreatepasskey:u})},h=e=>{Xm(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=>{th(e,{get client(){return s},get message(){return G(a).message},onAuthenticated:()=>c.authenticated()})},_=e=>{var t=ah(),n=z(t),r=e=>{J(e,nh())},i=e=>{var t=rh(),n=V(B(t),2),r=z(n,!0);M(n),H(()=>Y(r,G(a).message)),J(e,t)},o=e=>{var t=ih(),n=V(B(t),2),r=z(n,!0);M(n);var i=V(n,2);H(()=>Y(r,G(a).message)),K(`click`,i,()=>void c.retry()),J(e,t)};X(n,e=>{G(a).kind===`checking`?e(r):G(a).kind===`unsupported`?e(i,1):G(a).kind===`error`&&e(o,2)}),M(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),Qe()}Pr([`click`]);function sh(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 ch(e,t,n,r=Ur,i={}){return r(oh,{target:e,props:{enrollmentTicket:sh(t,n),initialTheme:Qi(i)}})}function lh(){return{readyState:document.readyState,addLoadListener:e=>window.addEventListener(`load`,e,{once:!0}),serviceWorker:navigator.serviceWorker}}function uh(e=lh()){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 dh=document.getElementById(`app`);if(!dh)throw Error(`Missing application mount target`);ch(dh,window.location,window.history),uh();