gestalt-mobile 0.26.0 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{index-DBc79zjE.js → index-CiKSZyyy.js} +18 -18
- package/dist/client/assets/index-DZJYfPfT.css +1 -0
- package/dist/client/index.html +2 -2
- package/dist/server/server/features/sessions/get-history/endpoint.js +25 -0
- package/dist/server/server/features/sessions/get-history/history-mapper.js +17 -0
- package/dist/server/server/platform/codex/normalizer.js +36 -1
- package/dist/server/server/platform/codex/session-runtime.js +9 -2
- package/dist/server/shared/contracts/file-change.js +19 -0
- package/package.json +1 -1
- package/dist/client/assets/index-DGyjDexa.css +0 -1
|
@@ -5,26 +5,26 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
5
5
|
|
|
6
6
|
`),answer:null,...n.at(-1)?.turnId?{turnId:n.at(-1).turnId}:{},...n.at(-1)?.occurredAt===void 0?{}:{occurredAt:n.at(-1).occurredAt}}),n=[])};for(let i of e){if(i.role===`audit`){r(),t.push({id:i.id,kind:`audit`,text:i.text,...i.controlId?{controlId:i.controlId}:{},...i.occurredAt===void 0?{}:{occurredAt:i.occurredAt},count:1,timestamps:i.occurredAt===void 0?[]:[i.occurredAt]});continue}if(i.role===`user`){r(),t.push({id:i.id,kind:`user`,text:i.text,...i.turnId?{turnId:i.turnId}:{},...i.occurredAt===void 0?{}:{occurredAt:i.occurredAt}});continue}if(i.phase===`commentary`){n.push(i);continue}t.push({id:i.id,kind:`assistant`,commentary:n.length?n.map(e=>e.text).join(`
|
|
7
7
|
|
|
8
|
-
`):null,answer:i.text,...i.turnId?{turnId:i.turnId}:{},...i.occurredAt===void 0?{}:{occurredAt:i.occurredAt}}),n=[]}return r(),t}function os(e,t){if(e===void 0||t===void 0||!Number.isFinite(e)||!Number.isFinite(t))return null;let n=Math.floor(Math.max(0,t-e)/6e4);if(n<1)return`moments later`;if(n<60)return`${n} minute${n===1?``:`s`} later`;let r=Math.floor(n/60);if(r<24)return`${r} hour${r===1?``:`s`} later`;let i=Math.floor(r/24);return`${i} day${i===1?``:`s`} later`}function ss(e){return new Intl.DateTimeFormat(void 0,{hour:`2-digit`,minute:`2-digit`}).format(e)}function cs(e){let
|
|
8
|
+
`):null,answer:i.text,...i.turnId?{turnId:i.turnId}:{},...i.occurredAt===void 0?{}:{occurredAt:i.occurredAt}}),n=[]}return r(),t}function os(e,t){if(e===void 0||t===void 0||!Number.isFinite(e)||!Number.isFinite(t))return null;let n=Math.floor(Math.max(0,t-e)/6e4);if(n<1)return`moments later`;if(n<60)return`${n} minute${n===1?``:`s`} later`;let r=Math.floor(n/60);if(r<24)return`${r} hour${r===1?``:`s`} later`;let i=Math.floor(r/24);return`${i} day${i===1?``:`s`} later`}function ss(e){return new Intl.DateTimeFormat(void 0,{hour:`2-digit`,minute:`2-digit`}).format(e)}function cs(e,t){let n=Math.floor(Math.max(0,t-e)/1e3);if(n<60)return`${n}s ago`;let r=Math.floor(n/60);if(r<60)return`${r}m ago`;let i=Math.floor(r/60);return i<24?`${i}h ago`:`${Math.floor(i/24)}d ago`}function ls(e){let t=new Map;for(let n of e){if(!n.label.toLowerCase().replaceAll(` `,``).startsWith(`filechange`))continue;let e=n.changes?.length?n.changes:n.detail.split(`
|
|
9
|
+
`).filter(Boolean).map(e=>({path:e,additions:null,deletions:null}));for(let r of e){let e=t.get(r.path),i=typeof r.additions==`number`&&typeof r.deletions==`number`;t.set(r.path,{path:r.path,additions:i&&e?.additions!==null?(e?.additions??0)+r.additions:null,deletions:i&&e?.deletions!==null?(e?.deletions??0)+r.deletions:null,...n.occurredAt===void 0?e?.touchedAt===void 0?{}:{touchedAt:e.touchedAt}:{touchedAt:Math.max(e?.touchedAt??0,n.occurredAt)}})}}return[...t.values()]}function us(e){let t=[],n=/```[^\n]*\n([\s\S]*?)```/g,r=0;for(let i of e.matchAll(n)){let n=e.slice(r,i.index);n&&t.push(...ds(n)),t.push({kind:`code`,text:i[1]??``}),r=(i.index??0)+i[0].length}let i=e.slice(r);return(i||!t.length)&&t.push(...ds(i)),t}function ds(e){let t=[],n=e.split(`
|
|
9
10
|
`),r=0,i=e=>{let i=n.slice(r,e).join(`
|
|
10
|
-
`);i&&t.push({kind:`text`,parts:
|
|
11
|
-
audit.</li>`),
|
|
12
|
-
`).
|
|
13
|
-
`)
|
|
14
|
-
`);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(`
|
|
15
|
-
`),...t}:e.kind===`tool`&&typeof e.name==`string`?{id:e.id,label:`Tool · ${String(e.status??`unknown`)}`,detail:e.name,...t}:null}var jc=()=>({sessionId:null,cursor:0,snapshotting:!1,lifecycle:`finished`,activeTurnId:null,messages:[],activities:[],prompts:[],interactions:[],autopilotAuditTruncated:!1,buffered:new Map}),Mc=(e=null)=>({...jc(),sessionId:e});function Nc(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 Pc(e){return{id:e.id,role:`audit`,text:e.label,occurredAt:e.occurredAt,...e.controlId?{controlId:e.controlId}:{},complete:!0}}function Fc(e){let t=Ic(e.occurredAt),n=Oc(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?Pc({id:`audit:${e.sequence}`,label:n,occurredAt:t,...r?{controlId:r}:{}}):null}function Ic(e){if(typeof e!=`string`)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function Lc(e){let t=Ic(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 Rc(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 zc(e,t){return e?t===`finished`||t===`interrupted`?t:`working`:t===`working`||t===`starting`||t===`recoverable`?`finished`:t}function Bc(e){return[...new Map(e.map(e=>[e.key??e.id??``,e])).values()]}function Vc(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 Hc(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=Nc(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=Bc([...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 Bc([...f.get(-1)??[],...s.flatMap((e,t)=>[e,...f.get(t)??[]])])}function Uc(e,t){if(!t||typeof t!=`object`)return Mc(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 Mc(e);let r=[`submitting`,`accepted`,`failed`,`canonical`],i=[`pending`,`submitting`,`resolved`,`failed`],a=[`starting`,`working`,`finished`,`interrupted`,`recoverable`];return{...Mc(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 Wc(e,t){if(!Number.isInteger(t.baseSequence)||t.baseSequence<0)return e;if(t.baseSequence<e.cursor)return tl({...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(Lc),a=new Map(e.interactions.map(e=>[e.requestId,e])),o=Bc(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=Bc(t.items.flatMap(e=>{let t=Ac(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(Vc,[...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:zc(t.activeTurnId,e.cursor===0&&e.lifecycle===`finished`?`working`:e.lifecycle),prompts:r,messages:Bc(Hc(l,r,e.messages).concat(u.map(Pc))).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 tl({...d,messages:Gc(d.messages)})}function Gc(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 Kc(e){return{...e,snapshotting:!0}}function qc(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 Jc(e,t,n,r){let i=qc(e,t,n,r);return i===e?e:{...i,lifecycle:`working`}}function Yc(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 Xc(e,t){return{...e,lifecycle:`recoverable`,prompts:e.prompts.map(e=>e.operationId===t?{...e,state:`failed`}:e),messages:e.messages.map(e=>e.id===`prompt:${t}`?{...e,complete:!0}:e)}}function Zc(e,t,n){return{...e,interactions:e.interactions.map(e=>e.requestId===t&&(e.state===`pending`||e.state===`failed`)?{...e,state:`submitting`,...n?{operationId:n}:{}}:e)}}function Qc(e,t,n){return{...e,interactions:e.interactions.map(e=>e.requestId===t&&e.state!==`resolved`?{...e,state:`failed`,attemptedOutcome:n}:e)}}function $c(e,t,n){return{...e,interactions:e.interactions.map(e=>e.requestId===t?{...e,state:`resolved`,...Rc(e,n)?{attemptedOutcome:Rc(e,n)}:{}}:e)}}function el(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=Ic(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=$c(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:Vc(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`:zc(e,n.lifecycle)}}let a=Fc(t);return a&&!n.messages.some(e=>e.id===a.id)&&(n={...n,messages:Gc([...n.messages,a])}),n}function tl(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=el({...n,buffered:t},e),t=new Map(n.buffered)}}function nl(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 rl={read:async()=>null,write:async()=>{}},il=[250,750,1500],al=e=>!!e&&typeof e==`object`,ol=e=>al(e)&&typeof e.id==`string`&&typeof e.kind==`string`,sl=e=>al(e)&&typeof e.id==`string`&&Array.isArray(e.items)&&e.items.every(ol)&&(e.startedAt===null||typeof e.startedAt==`number`)&&(e.completedAt===null||typeof e.completedAt==`number`),cl=e=>!al(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`),ll=e=>al(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`),ul=e=>al(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)),dl=e=>!al(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(ol)||!e.turns.every(sl)||!e.interactions.every(cl)||e.activities!==void 0&&(!Array.isArray(e.activities)||!e.activities.every(ul))||e.autopilotAudit!==void 0&&(!Array.isArray(e.autopilotAudit)||!e.autopilotAudit.every(ll))||e.autopilotAuditTruncated!==void 0&&typeof e.autopilotAuditTruncated!=`boolean`||e.currentSequence!==void 0&&(!Number.isInteger(e.currentSequence)||e.currentSequence<0)?null:e,fl=class{#e=Mc();#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??rl,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??Ra,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:nl(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=Mc(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(qc(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(Yc(this.#e,t,i.activeTurnId??null)),this.#h.onSendAccepted?.(t))}catch(e){this.#E(n,r)&&(this.#w(Xc(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(Jc(this.#e,t,e.trim(),this.#h.now()));try{let o=await i(n,r,e.trim(),t);this.#E(n,a)&&(this.#w(Yc(this.#e,t,o.activeTurnId)),this.#h.onSendAccepted?.(t))}catch(e){this.#E(n,a)&&(this.#w(Xc(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(qc(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(Yc(this.#e,t,a.activeTurnId??null)),this.#h.onSendAccepted?.(t))}catch(e){this.#E(n,i)&&(this.#w(Xc(this.#e,t)),this.#h.onSendError?.(e,t))}finally{this.#p.delete(a)}}}async interrupt(){let e=this.#t,t=this.#e.activeTurnId;if(!(!e||!t))try{await this.#h.relay.interruptTurn(e,t)}catch{}}async respond(e,t,n=this.#h.createKey()){let r=this.#t,i=this.#n,a=this.#e.interactions.find(t=>t.requestId===e),o=a?.operationId??n,s=`${r}:${i}:${o}`;if(!(!r||!a||a.state===`resolved`||a.state===`submitting`||this.#m.has(s))){this.#m.add(s),this.#w(Zc(this.#e,e,o));try{let n=await this.#h.relay.respondInteraction(r,e,t,o),a=n&&(n.outcome===`approved`||n.outcome===`denied`||n.outcome===`answered`||n.outcome===`dismissed`||n.outcome===`failed`)?n.outcome:t;this.#E(r,i)&&this.#w($c(this.#e,e,a))}catch{this.#E(r,i)&&this.#w(Qc(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=Uc(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=el(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=Kc(this.#e),this.#T();let r=this.#h.relay.getHistory(e).then(r=>{let i=dl(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(Wc(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=il[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(!pl(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 pl(e,t){return al(e)&&e.code===t}var ml=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}},hl=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}},gl={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 _l(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(gl,r)?r:Object.hasOwn(gl,n)?n:t,a=typeof e==`object`&&e&&`retryable`in e?e.retryable===!0:!0;return{code:i,message:gl[i],retryable:a}}var vl={error:null,success:5e3,info:7e3};function yl(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=vl[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 bl=q(`<small class="svelte-1a0rutm"> </small>`),xl=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>`),Sl=q(`<div class="toast-viewport svelte-1a0rutm" aria-label="Notifications"></div>`);function Cl(e,t){Qe(t,!0);let n=I([]),r=P(()=>G(n).slice(-3));Ri(()=>t.queue.subscribe(e=>L(n,e)));var i=Sl();Z(i,21,()=>G(r),e=>e.id,(e,n)=>{var r=xl();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=bl(),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),$e()}Pr([`focusin`,`focusout`,`click`]);var wl=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 Tl(e,t){Qe(t,!0);let n=yl();Ri(()=>{t.variant===`stacked`&&n.enqueue({kind:`success`,message:`Cloned.`}),n.enqueue({kind:`error`,code:`GIT_CLONE_FAILED`,message:`Clone failed.`})});var r=wl();Cl(V(B(r),4),{get queue(){return n}}),J(e,r),$e()}var El={sessionBase:()=>!0,gitRepositoryTarget:e=>e.isGitRepository,cloneDestination:e=>!e.isGitRepository};function Dl(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 Ol(e,t){let n=new Set(e);return t.isGitRepository||(n.has(t.id)?n.delete(t.id):n.add(t.id)),n}function kl(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 Al(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 jl(e,t){for(let n of e){if(n.id===t)return n;let e=jl(n.children,t);if(e)return e}}function Ml(e,t,n,r){if(e){let i=jl(n,e);if(i&&r(i))return i.id;let a=Al(t,e);for(let e of a.toReversed()){let t=jl(n,e);if(t&&r(t))return t.id}}return Nl(n).find(r)?.id??null}function Nl(e){let t=[],n=e=>{t.push(e),e.children.forEach(n)};return e.forEach(n),t}var Pl=q(`<button class="disclosure svelte-6z3q4v" type="button" tabindex="-1"><span aria-hidden="true"> </span></button>`),Fl=q(`<span class="disclosure-spacer svelte-6z3q4v" aria-hidden="true"></span>`),Il=q(`<span class="repository-badge svelte-6z3q4v">Git</span>`),Ll=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>`),Rl=q(`<div class="filesystem-tree svelte-6z3q4v" role="tree"></div>`);function zl(e,t){Qe(t,!0);let n=$(t,`isSelectable`,3,()=>!0),r=I(null),i=R({}),a=P(()=>kl(t.roots,t.expandedIds)),o=P(()=>G(r)&&G(a).some(({node:e})=>e.id===G(r))?G(r):t.selectedId&&G(a).some(({node:e})=>e.id===t.selectedId)?t.selectedId:G(a)[0]?.node.id??null);function s(e){return!e.isGitRepository&&e.children.length>0}function c(e){return e===`.`?`~/`:`~/${e}`}function l(e){L(r,e,!0),i[e]?.focus()}function u(e,t){let n=Math.max(0,Math.min(G(a).length-1,t)),r=G(a)[n];r&&n!==e&&l(r.node.id)}function d(e){n()(e)&&t.onselect(e)}function f(e){s(e)&&t.onexpandedchange(Ol(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=Rl();Z(m,23,()=>G(a),e=>e.node.id,(e,a,l)=>{let u=P(()=>G(a).node),m=P(()=>s(G(u)));var h=Ll();let g;var _=z(h),v=e=>{var n=Pl(),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,Fl())};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 ee=V(w,2),te=e=>{J(e,Il())};X(ee,e=>{G(u).isGitRepository&&e(te)}),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,()=>L(r,G(u).id,!0)),K(`keydown`,b,e=>p(e,G(a),G(l))),K(`click`,b,()=>d(G(u))),J(e,h)}),M(m),H(()=>Q(m,`aria-label`,t.label)),J(e,m),$e()}Pr([`click`,`keydown`]);var Bl=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 Vl(e,t){Qe(t,!0);let n=(e,t)=>({id:e,name:t,relativePath:e,isGitRepository:!0,children:[]}),r=[{id:`.`,name:`development-workspace-with-a-long-name`,relativePath:`.`,isGitRepository:!1,children:[{id:`dyne`,name:`dyne`,relativePath:`dyne`,isGitRepository:!1,children:[{id:`dyne/mobile-applications`,name:`mobile-applications-and-experiments`,relativePath:`dyne/mobile-applications`,isGitRepository:!1,children:[n(`dyne/mobile-applications/gestalt-mobile`,`gestalt-mobile-with-an-extraordinarily-long-repository-name`)]},n(`dyne/zenroom`,`zenroom`),n(`dyne/zenflows`,`zenflows`),n(`dyne/did`,`did-toolkit`),n(`dyne/api`,`api-gateway`),n(`dyne/docs`,`documentation-portal`)]},{id:`personal`,name:`personal-projects`,relativePath:`personal`,isGitRepository:!1,children:[]}]}],i=I(R(new Set([`.`,`dyne`,`dyne/mobile-applications`]))),a=I(null),o=P(()=>t.context===`sessions`?`dyne/mobile-applications`:`dyne/mobile-applications/gestalt-mobile`),s=P(()=>G(a)??G(o));var c=Bl(),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=P(()=>t.context===`sessions`?`Session base`:`Git repository`),n=P(()=>t.context===`sessions`?El.sessionBase:El.gitRepositoryTarget);zl(h,{get roots(){return r},get expandedIds(){return G(i)},get selectedId(){return G(s)},get label(){return G(e)},get isSelectable(){return G(n)},onexpandedchange:e=>L(i,e,!0),onselect:e=>L(a,e.id,!0)})}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),$e()}function Hl(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 Ul(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 Wl=q(`<p class="clone-status svelte-pudr3t" role="status"> </p>`),Gl=q(`<option> </option>`),Kl=q(`<section aria-label="Confirm push"><p> </p> <button type="button">Confirm push</button> <button type="button">Cancel</button></section>`),ql=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>`),Jl=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>`),Yl=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),Xl=q(`<p>This workspace is not a Git repository.</p>`),Zl=q(`<p role="status">Loading repository status…</p>`),Ql=q(`<p><strong> </strong> is available as a Clone destination. Select a Git repository
|
|
16
|
-
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),$l=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),eu=q(`<p role="alert"> </p>`),tu=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
|
|
17
|
-
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 nu(e,t){Qe(t,!0);let n=I(``),r=P(()=>t.selectedWorkspace&&!t.selectedWorkspace.isGitRepository?t.selectedWorkspace:null);function i(e){e.preventDefault(),!(!G(n).trim()||t.cloning)&&t.onclone(G(n).trim())}var a=tu(),o=V(z(a),2),s=V(z(o),2);{let e=P(()=>t.selectedWorkspace?.id??null);zl(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=Wl(),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=Yl(),r=B(n),i=z(r),a=V(z(i),2);Z(a,20,()=>t.summary.branches??[],e=>e,(e,t)=>{var n=Gl(),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=Kl(),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=Jl(),r=V(z(n),2);Z(r,21,()=>t.summary.commits,e=>e.hash,(e,t)=>{var n=ql(),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)},[()=>Ul(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`}`)},[()=>Hl(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,Xl())};X(r,e=>{t.summary.available?e(i):e(a,-1)}),J(e,n)},a=e=>{J(e,Zl())};X(r,e=>{t.summary?e(i):t.error||e(a,1)}),J(e,n)},C=e=>{var n=Ql(),r=B(n),i=z(r),a=z(i,!0);M(i),Ue(),M(r),Ue(2),H(()=>Y(a,t.selectedWorkspace.name)),J(e,n)},w=e=>{var t=$l();Ue(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=eu(),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=>L(n,e)),J(e,a),$e()}Pr([`click`,`change`]);var ru=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 iu(e,t,n,r,i){let a=new Set(au(e).filter(e=>e.isGitRepository).map(e=>e.id)),o=jl(t,n),s=o?au(o.children).filter(e=>e.isGitRepository&&!a.has(e.id)):[],c=ou(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&&Al(t,u).forEach(e=>d.add(e)),!l&&o&&d.add(o.id),{selectedId:u,expandedIds:d}}function au(e){let t=[],n=e=>{t.push(e),e.children.forEach(n)};return e.forEach(n),t}function ou(e){return(e.trim().replace(/[?#].*$/,``).replace(/\/+$/,``).split(/[/:]/).at(-1)??``).replace(/\.git$/i,``)}function su(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 cu(e){return{answers:Object.fromEntries(e.filter(e=>e.answer.trim()).map(e=>[e.id,{answers:[e.answer]}]))}}function lu(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}:{})}}var uu=[`authoring-start`,`work-start`,`checkpoint`,`update`,`supervision-start`,`resync`];function du(e){return typeof e==`string`&&uu.includes(e)}function fu(e){if(!e||typeof e!=`object`)return!1;let t=e;return pu(t.plan)&&(t.reason===null||du(t.reason))}function pu(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 mu(e){return e instanceof Error?e.message:`Could not load the plan.`}function hu(e){return{...e,...e.skills?{skills:[...e.skills]}:{},description:{...e.description},children:e.children.map(hu)}}function gu(e){return{...e,steps:e.steps.map(hu)}}function _u(e,t){return e.kind===`unavailable`&&e.sessionId===t}function vu(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:gu(e)}:{kind:`unavailable`,sessionId:t})}).catch(e=>{o?.signal.aborted||a!==i||n!==t||c({kind:`error`,sessionId:t,error:mu(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`&&(pu(t.payload)||fu(t.payload))){let n=fu(t.payload)?t.payload.plan:t.payload;s=t.sequence,c({kind:`ready`,sessionId:e,plan:gu(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`):_u(r,t)?`chat`:null:null}catch(e){return n===t?a===o?(c({kind:`error`,sessionId:t,plan:i,error:mu(e)}),null):_u(r,t)?`chat`:null:null}},dispose(){o?.abort(),o=null,n=null,++i,c({kind:`unavailable`,sessionId:null})}}}function yu(e){if(!e)return null;let t=bu(e.steps,e.currentStepId)?.measurement?.weeklyRemainingCurrent;return typeof t==`number`&&Number.isFinite(t)&&t>=0&&t<=100?Math.round(t):null}function bu(e,t){for(let n of e){if(n.id===t)return n;let e=bu(n.children,t);if(e)return e}}var xu=q(`<span class="wip-effort svelte-hmxg46"> </span>`),Su=q(`<li class="svelte-hmxg46"><span class="wip-position svelte-hmxg46" aria-hidden="true"> </span> <span class="wip-title svelte-hmxg46"> </span> <!></li>`),Cu=q(`<ol class="wip-steps svelte-hmxg46" aria-label="Work in progress plan steps"></ol>`),wu=q(`<li class="svelte-hmxg46"><span aria-hidden="true" class="position svelte-hmxg46"> </span> <span aria-hidden="true" class="state"> </span></li>`),Tu=q(`<ol class="step-markers svelte-hmxg46" aria-label="Plan step progress"></ol>`),Eu=q(`<div><div class="progress-heading svelte-hmxg46"><span> </span></div> <progress class="svelte-hmxg46"> </progress> <!></div>`);function Du(e,t){Qe(t,!0);let n=$(t,`compact`,3,!1),r=$(t,`label`,3,`Plan progress`),i=P(()=>t.plan.steps.flatMap((e,t)=>[{id:e.id,position: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=P(()=>G(i).filter(e=>e.state===`WIP`)),o=P(()=>Math.max(t.plan.totalSteps,1));var s=Eu(),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=Cu();Z(n,21,()=>G(a),e=>e.id,(e,n)=>{var r=Su(),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=xu(),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=Tu();Z(n,21,()=>G(i),e=>e.id,(e,n)=>{var r=wu(),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),$e()}var Ou=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>`),ku=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>`),Au=q(`<section aria-labelledby="plan-title" class="svelte-3rmyvg"><h2 id="plan-title" class="svelte-3rmyvg">Plan</h2> <p class="svelte-3rmyvg"> </p></section>`),ju=q(`<p class="svelte-3rmyvg"> </p>`),Mu=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Subtitle</dt> <dd class="svelte-3rmyvg"> </dd></div>`),Nu=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Date</dt> <dd class="svelte-3rmyvg"> </dd></div>`),Pu=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Keywords</dt> <dd class="svelte-3rmyvg"> </dd></div>`),Fu=q(`<dl class="metadata svelte-3rmyvg"><!> <!> <!></dl>`),Iu=q(`<p class="svelte-3rmyvg">No plan steps have been retained yet.</p>`),Lu=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg"> </strong> </p>`),Ru=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg">Skills:</strong> </p>`),zu=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>`),Bu=q(`<ol class="svelte-3rmyvg"></ol>`),Vu=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>`),Hu=q(`<ol class="plan-steps svelte-3rmyvg"></ol>`),Uu=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>`),Wu=q(`<p class="visually-hidden svelte-3rmyvg" aria-live="polite" aria-atomic="true"> </p> <!>`,1);function Gu(e,t){Qe(t,!0);let n={effort:`Effort`,goal:`Goal`,notes:`Notes`,why:`Why`,change:`Change`,tests:`Tests`,doneWhen:`Done when`},r=I(R(new Set)),i=R({}),a=null,o=0,s=P(()=>t.state.kind===`ready`||t.state.kind===`closing`||t.state.kind===`error`?t.state.plan:void 0),c=P(()=>G(s)?f(G(s).steps,G(s).currentStepId):void 0),l=P(()=>G(s)?p(G(s).steps,G(s).currentStepId):void 0),u=P(()=>G(s)?m(G(s).steps,G(s).currentStepId):new Set),d=P(()=>t.state.kind===`loading`?`Loading plan.`:t.state.kind===`unavailable`?`No retained plan for this session.`:t.state.kind===`error`&&!G(s)?t.state.error:t.state.kind===`closing`?`Closing completed plan.`:G(s)?G(c)?`Current step: ${G(l)} ${G(c).title}, ${G(c).state}. ${G(s).doneSteps} of ${G(s).totalSteps} complete.${t.state.kind===`error`?` ${t.state.error}`:``}`:`${G(s).doneSteps} of ${G(s).totalSteps} plan steps complete.${t.state.kind===`error`?` ${t.state.error}`:``}`:``);Mn(()=>{let e=G(s)?.currentStepId||null;if(!e||a===e)return;a=e;let t=++o;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){L(r,t?new Set([...G(r),e]):new Set([...G(r)].filter(t=>t!==e)),!0)}function _(e){return e.description.goal??e.description.why??e.title}function v(e){let t=e.measurement;if(!t)return`Measurements unavailable`;let n=[];return t.elapsedSeconds!==void 0&&n.push(`${Math.floor(t.elapsedSeconds/60)}m ${t.elapsedSeconds%60}s elapsed`),t.weeklyPercentUsed!==void 0&&n.push(`${t.weeklyPercentUsed}% observed account-wide usage`),t.tokensUsed!==void 0&&n.push(`${t.tokensUsed.toLocaleString()} tokens used`),n.join(` · `)||`Measurements unavailable`}function y(e){return Object.keys(n).flatMap(t=>{let r=e.description[t];return r?[[n[t],r]]:[]})}var b=Wu(),x=B(b),S=z(x,!0);M(x);var w=V(x,2),T=e=>{J(e,Ou())},E=e=>{J(e,ku())},D=e=>{var n=Au(),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=Uu(),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);Du(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=ju(),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=Fu(),n=z(t),r=e=>{var t=Mu(),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=Nu(),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=Pu(),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,Iu())},D=e=>{var t=Hu();Z(t,23,()=>G(s).steps,e=>e.id,(e,t,n)=>{var r=Vu(),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=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Lu(),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=Ru(),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=Bu();Z(r,23,()=>G(t).children,e=>e.id,(e,t,r)=>{var a=zu(),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=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Lu(),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=Ru(),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),$e()}Pr([`click`]);var Ku=/^(\*+)\s+(?:(TODO|WIP|DONE)\s+)?(?:\[#([ABC])\]\s+)?(.+)$/,qu=/^#\+([A-Z][A-Z0-9_-]*):\s*(.*)$/i,Ju=/^:([A-Z][A-Z0-9_]*):\s*(.*)$/,Yu=/^-\s+([^:]+?)\s+::\s*(.*)$/;function Xu(e){let t=[],n=[],r=[],i=e.replace(/\r\n?/g,`
|
|
11
|
+
`);i&&t.push({kind:`text`,parts:hs(i)})};for(let e=0;e<n.length;e+=1){let a=fs(n[e]??``);if(a){i(e),t.push({kind:`heading`,level:a.level,parts:hs(a.text)}),r=e+1;continue}if(e===n.length-1)continue;let o=ps(n[e]??``),s=ps(n[e+1]??``);if(!o||!s||o.length!==s.length||!s.every(ms))continue;i(e),e+=2;let c=[];for(;e<n.length;){let t=ps(n[e]??``);if(!t||t.length!==o.length)break;c.push(t),e+=1}t.push({kind:`table`,headers:o.map(hs),rows:c.map(e=>e.map(hs))}),r=e,--e}return i(n.length),t.length?t:[{kind:`text`,parts:hs(e)}]}function fs(e){let t=/^ {0,3}(#{1,6})[ \t]+(.+?)[ \t]*#*[ \t]*$/.exec(e);return t?{level:t[1].length,text:t[2]??``}:null}function ps(e){let t=e.trim();if(!t.includes(`|`))return null;let n=t.replace(/^\|/,``).replace(/\|$/,``).split(`|`).map(e=>e.trim());return n.length>1&&n.every(Boolean)?n:null}function ms(e){return/^:?-{3,}:?$/.test(e)}function hs(e){let t=[],n=/\[([^\]]+)\]\((https?:\/\/[^\s)]+|codex:\/\/[^\s)]+|\/[^\s)]+)\)|`([^`]+)`|\*\*([^*\n]+)\*\*/g,r=0;for(let i of e.matchAll(n)){let n=e.slice(r,i.index);n&&t.push({kind:`text`,text:n}),t.push(i[3]?{kind:`code`,text:i[3]}:i[4]?{kind:`strong`,parts:hs(i[4])}:{kind:`link`,text:i[1]??``,href:i[2]??``}),r=(i.index??0)+i[0].length}let i=e.slice(r);return i&&t.push({kind:`text`,text:i}),t}var gs=/^(.*\.org)(?::\d+(?::\d+)?)?(?:#L\d+(?:C\d+)?)?$/;function _s(e){try{return decodeURIComponent(e)}catch{return null}}function vs(e){if(!e.startsWith(`/`)||e.includes(`\0`))return null;let t=[];for(let n of e.split(`/`))if(!(!n||n===`.`)){if(n===`..`){if(t.length===0)return null;t.pop();continue}t.push(n)}return t}function ys(e,t){let n=_s(e),r=_s(t),i=n?gs.exec(n):null;if(!i||!r)return null;let a=vs(i[1]??``),o=vs(r);if(!a||!o||a.length<=o.length||o.some((e,t)=>a[t]!==e))return null;let s=a.slice(o.length).join(`/`);return s.endsWith(`.org`)&&s!==`.org`?s:null}function bs(e){let t=_s(e);if(!t)return!1;let n=gs.exec(t);return!!(n&&vs(n[1]??``))}async function xs(e,t=globalThis.navigator?.clipboard,n=Cs){if(!t)return Ss(e,n);try{return await t.writeText(e),!0}catch{return Ss(e,n)}}function Ss(e,t){try{return t(e)}catch{return!1}}function Cs(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 ws=q(`<a class="svelte-1im954t"> </a>`),Ts=q(`<a target="_blank" rel="noreferrer" class="svelte-1im954t"> </a>`),Es=q(`<code class="svelte-1im954t"> </code>`),Ds=q(`<strong class="svelte-1im954t"><!></strong>`),Os=q(`<time class="svelte-1im954t"> </time>`),ks=q(`<span class="touch-unknown svelte-1im954t">time unknown</span>`),As=q(`<li class="svelte-1im954t"><code class="file-path svelte-1im954t"> </code> <span class="file-counts svelte-1im954t" aria-label="Line changes"><span class="additions svelte-1im954t"> </span> <span class="deletions svelte-1im954t"> </span></span> <!></li>`),js=q(`<section class="file-changes svelte-1im954t" aria-label="Files changed"><strong class="svelte-1im954t">files changed</strong> <ul class="svelte-1im954t"></ul></section>`),Ms=q(`<div class="code-block svelte-1im954t"><button class="code-copy svelte-1im954t" type="button" title="Copy code"><svg aria-hidden="true" viewBox="0 0 24 24" class="svelte-1im954t"><rect x="9" y="9" width="10" height="10" rx="2"></rect><path d="M15 9V7a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2"></path></svg></button> <pre class="svelte-1im954t"><code class="svelte-1im954t"> </code></pre></div>`),Ns=q(`<th scope="col" class="svelte-1im954t"><!></th>`),Ps=q(`<td class="svelte-1im954t"><!></td>`),Fs=q(`<tr></tr>`),Is=q(`<div class="table-scroll svelte-1im954t"><table class="svelte-1im954t"><thead><tr></tr></thead><tbody></tbody></table></div>`),Ls=q(`<h1 class="svelte-1im954t"><!></h1>`),Rs=q(`<h2 class="svelte-1im954t"><!></h2>`),zs=q(`<h3 class="svelte-1im954t"><!></h3>`),Bs=q(`<h4 class="svelte-1im954t"><!></h4>`),Vs=q(`<h5 class="svelte-1im954t"><!></h5>`),Hs=q(`<h6 class="svelte-1im954t"><!></h6>`),Us=q(`<div class="svelte-1im954t"><!></div>`),Ws=q(`<li class="audit-incomplete svelte-1im954t" role="status">Earlier Autopilot audit entries are not shown; this timeline contains the retained recent
|
|
12
|
+
audit.</li>`),Gs=q(`<li class="svelte-1im954t"><time class="svelte-1im954t"> </time></li>`),Ks=q(`<details><summary class="svelte-1im954t"> </summary> <ul></ul></details>`),qs=q(`<aside class="autopilot-audit svelte-1im954t" aria-label="Autopilot audit entry"><strong>Autopilot</strong> <!> <!></aside>`),Js=q(`<time class="svelte-1im954t"> <!></time>`),Ys=q(`<div class="entry-heading svelte-1im954t"><strong>working</strong></div> <!>`,1),Xs=q(`<section><!> <!></section>`),Zs=q(`<div class="entry-heading svelte-1im954t"><strong>prompt</strong> <!></div> <div class="entry-content svelte-1im954t"><!></div> <!> <!>`,1),Qs=q(`<div class="commentary-content live-commentary svelte-1im954t"><!></div>`),$s=q(`<!> <!>`,1),ec=q(`<button class="commentary-toggle svelte-1im954t" type="button"><span aria-hidden="true"> </span> commentary</button>`),tc=q(`<div class="answer-history svelte-1im954t"><!> <!></div>`),nc=q(`<div class="commentary-content svelte-1im954t"><!></div>`),rc=q(`<section class="answer-turn svelte-1im954t"><div class="entry-heading svelte-1im954t"><strong> </strong> <!></div> <!> <!> <!> <div class="entry-content svelte-1im954t"><!></div></section>`),ic=q(`<div class="entry-content svelte-1im954t"><!></div>`),ac=q(`<details><summary>commentary</summary> <!></details> <!>`,1),oc=q(`<section><div class="entry-heading svelte-1im954t"><strong> </strong> <!></div> <!> <!></section>`),sc=q(`<li><!></li>`),cc=q(`<li class="interaction-only svelte-1im954t"><!></li>`),lc=q(`<li class="progress-item svelte-1im954t"><section><!> <!></section></li>`),uc=q(`<ol aria-label="Chat messages" class="svelte-1im954t"><!> <!> <!> <!></ol>`);function dc(e,t){Qe(t,!0);let n=(e,r=b)=>{var i=Hr();Z(B(i),17,r,Xr,(e,r)=>{var i=Hr(),a=B(i),o=e=>{var n=Hr(),i=B(n),a=e=>{var t=ws(),n=z(t,!0);M(t),H(()=>{Q(t,`href`,G(r).href),Y(n,G(r).text)}),K(`click`,t,e=>se(e,G(r).href)),J(e,t)},o=P(()=>t.onopenorg&&bs(G(r).href)),s=e=>{var t=Ts(),n=z(t,!0);M(t),H(()=>{Q(t,`href`,G(r).href),Y(n,G(r).text)}),J(e,t)};X(i,e=>{G(o)?e(a):e(s,-1)}),J(e,n)},s=e=>{var t=Es(),n=z(t,!0);M(t),H(()=>Y(n,G(r).text)),J(e,t)},c=e=>{var t=Ds(),i=z(t);n(i,()=>G(r).parts),M(t),J(e,t)},l=e=>{var t=Vr();H(()=>Y(t,G(r).text)),J(e,t)};X(a,e=>{G(r).kind===`link`?e(o):G(r).kind===`code`?e(s,1):G(r).kind===`strong`?e(c,2):e(l,-1)}),J(e,i)}),J(e,i)},r=(e,t=b)=>{let n=P(()=>ls(t()));var r=Hr(),i=B(r),a=e=>{var t=js(),r=V(z(t),2);Z(r,21,()=>G(n),e=>e.path,(e,t)=>{var n=As(),r=z(n),i=z(r,!0);M(r);var a=V(r,2),o=z(a),s=z(o);M(o);var c=V(o,2),l=z(c);M(c),M(a);var u=V(a,2),d=e=>{var n=Os(),r=z(n,!0);M(n),H((e,t)=>{Q(n,`datetime`,e),Y(r,t)},[()=>new Date(G(t).touchedAt).toISOString(),()=>cs(G(t).touchedAt,G(y))]),J(e,n)},f=e=>{J(e,ks())};X(u,e=>{G(t).touchedAt===void 0?e(f,-1):e(d)}),M(n),H(()=>{Y(i,G(t).path),Y(s,`+${G(t).additions??`?`??``}`),Y(l,`-${G(t).deletions??`?`??``}`)}),J(e,n)}),M(r),M(t),J(e,t)};X(i,e=>{G(n).length&&e(a)}),J(e,r)},i=(e,t=b)=>{var r=Hr();Z(B(r),17,()=>us(t()),Xr,(e,t)=>{var r=Hr(),i=B(r),a=e=>{var n=Ms(),r=z(n),i=V(r,2),a=z(i),o=z(a,!0);M(a),M(i),M(n),H(e=>{Q(r,`aria-label`,e),Y(o,G(t).text)},[()=>ce(G(t).text)]),K(`click`,r,()=>void le(G(t).text)),J(e,n)},o=e=>{var r=Is(),i=z(r),a=z(i),o=z(a);Z(o,21,()=>G(t).headers,Xr,(e,t)=>{var r=Ns(),i=z(r);n(i,()=>G(t)),M(r),J(e,r)}),M(o),M(a);var s=V(a);Z(s,21,()=>G(t).rows,Xr,(e,t)=>{var r=Fs();Z(r,21,()=>G(t),Xr,(e,t)=>{var r=Ps(),i=z(r);n(i,()=>G(t)),M(r),J(e,r)}),M(r),J(e,r)}),M(s),M(i),M(r),J(e,r)},s=e=>{var r=Hr(),i=B(r),a=e=>{var r=Ls(),i=z(r);n(i,()=>G(t).parts),M(r),J(e,r)},o=e=>{var r=Rs(),i=z(r);n(i,()=>G(t).parts),M(r),J(e,r)},s=e=>{var r=zs(),i=z(r);n(i,()=>G(t).parts),M(r),J(e,r)},c=e=>{var r=Bs(),i=z(r);n(i,()=>G(t).parts),M(r),J(e,r)},l=e=>{var r=Vs(),i=z(r);n(i,()=>G(t).parts),M(r),J(e,r)},u=e=>{var r=Hs(),i=z(r);n(i,()=>G(t).parts),M(r),J(e,r)};X(i,e=>{G(t).level===1?e(a):G(t).level===2?e(o,1):G(t).level===3?e(s,2):G(t).level===4?e(c,3):G(t).level===5?e(l,4):e(u,-1)}),J(e,r)},c=e=>{var r=Us(),i=z(r);n(i,()=>G(t).parts),M(r),J(e,r)};X(i,e=>{G(t).kind===`code`?e(a):G(t).kind===`table`?e(o,1):G(t).kind===`heading`?e(s,2):e(c,-1)}),J(e,r)}),J(e,r)},a=$(t,`activeTurnId`,3,null),o=$(t,`autopilotAuditTruncated`,3,!1),s=$(t,`interactions`,19,()=>[]),c=$(t,`answers`,19,()=>({})),l=$(t,`submittedAnswers`,19,()=>({})),u=$(t,`clipboard`,19,()=>globalThis.navigator?.clipboard),d=$(t,`onanswer`,3,()=>{}),f=$(t,`onquiz`,3,()=>{}),p=$(t,`onpermission`,3,()=>{}),m=$(t,`ondecision`,3,()=>{}),h=$(t,`onretry`,3,()=>{}),g=$(t,`oncopyresult`,3,()=>{}),_=P(()=>as(t.messages)),v=R({}),y=I(R(Date.now()));Ri(()=>{let e=globalThis.setInterval(()=>L(y,Date.now(),!0),1e3);return()=>globalThis.clearInterval(e)});let x=P(()=>G(_).filter(e=>e.kind===`user`)),S=P(()=>G(_).filter(e=>e.kind===`assistant`)),C=P(()=>G(S).at(-1)?.id),w=P(()=>s().filter(e=>!e.turnId||!G(x).some(t=>t.turnId===e.turnId)));function T(e){return G(x).findLast(t=>t.turnId&&t.turnId===e.turnId)?.id??G(x).at(-1)?.id??null}function E(e){return e.kind===`user`?s().filter(t=>T(t)===e.id):[]}function D(e){return e.kind===`assistant`?t.activities.filter(t=>t.turnId?t.turnId===e.turnId:e.id===G(C)):[]}function O(e){return e.turnId?G(S).some(t=>t.turnId===e.turnId):!!G(C)}function ee(e){return!e.turnId||O(e)?null:G(x).findLast(t=>t.turnId===e.turnId)?.id??null}function te(e){return e.kind===`user`?t.activities.filter(t=>ee(t)===e.id):[]}function ne(){return t.activities.filter(e=>!O(e)&&!ee(e))}let re=P(ne);function ie(e){return e.filter(e=>!e.label.toLowerCase().replaceAll(` `,``).startsWith(`filechange`))}function k(e){return!!(e.kind===`assistant`&&a()&&(e.turnId===a()||!e.turnId&&e.id===G(C)))}function ae(e){return!!(e.kind===`user`&&a()&&(e.turnId===a()||!e.turnId))}function oe(e,t){return os(G(_)[e-1]?.occurredAt,t)}function se(e,n){!t.onopenorg||!bs(n)||(e.preventDefault(),t.onopenorg(n))}function ce(e){return`Copy code block: ${(e.trim().split(`
|
|
13
|
+
`)[0]?.trim()||`empty block`).slice(0,48)}`}async function le(e){g()(await xs(e,u()))}var ue=uc(),de=z(ue),fe=e=>{J(e,Ws())};X(de,e=>{o()&&e(fe)});var pe=V(de,2);Z(pe,19,()=>G(_),e=>e.id,(e,t,n)=>{var a=sc(),o=z(a),s=e=>{var n=qs(),r=V(z(n)),i=V(r),a=e=>{var n=Os(),r=z(n,!0);M(n),H((e,t)=>{Q(n,`datetime`,e),Y(r,t)},[()=>new Date(G(t).occurredAt).toISOString(),()=>ss(G(t).occurredAt)]),J(e,n)};X(i,e=>{G(t).occurredAt&&e(a)});var o=V(i,2),s=e=>{var n=Ks(),r=z(n),i=z(r);M(r);var a=V(r,2);Z(a,21,()=>G(t).timestamps,e=>`${G(t).id}:${e}`,(e,t)=>{var n=Gs(),r=z(n),i=z(r,!0);M(r),M(n),H((e,t)=>{Q(r,`datetime`,e),Y(i,t)},[()=>new Date(G(t)).toISOString(),()=>ss(G(t))]),J(e,n)}),M(a),M(n),H(()=>Y(i,`Show ${G(t).count??``} timestamps`)),J(e,n)};X(o,e=>{G(t).count>1&&e(s)}),M(n),H(()=>Y(r,` ${G(t).text??``}${G(t).count>1?` · ${G(t).count} times`:``} `)),J(e,n)},u=e=>{let a=P(()=>te(G(t)));var o=Zs(),s=B(o),u=V(z(s),2),g=e=>{var r=Js(),i=z(r),a=V(i),o=e=>{var r=Vr();H(e=>Y(r,`· ${e??``}`),[()=>oe(G(n),G(t).occurredAt)]),J(e,r)},s=P(()=>oe(G(n),G(t).occurredAt));X(a,e=>{G(s)&&e(o)}),M(r),H((e,t)=>{Q(r,`datetime`,e),Y(i,`${t??``} `)},[()=>new Date(G(t).occurredAt).toISOString(),()=>ss(G(t).occurredAt)]),J(e,r)};X(u,e=>{G(t).occurredAt&&e(g)}),M(s);var _=V(s,2),v=z(_);i(v,()=>G(t).text),M(_);var y=V(_,2);{let e=P(()=>E(G(t)));is(y,{get interactions(){return G(e)},get answers(){return c()},get submittedAnswers(){return l()},get onanswer(){return d()},get onquiz(){return f()},get onpermission(){return p()},get ondecision(){return m()},get onretry(){return h()}})}var b=V(y,2),x=e=>{var n=Xs(),i=z(n),o=e=>{var t=Ys(),n=V(B(t),2);{let e=P(()=>ie(G(a)));ha(n,{get activities(){return G(e)},variant:`live`})}J(e,t)},s=P(()=>ae(G(t))),c=e=>{{let t=P(()=>ie(G(a)));ha(e,{get activities(){return G(t)}})}};X(i,e=>{G(s)?e(o):e(c,-1)});var l=V(i,2);r(l,()=>G(a)),M(n),H(e=>gi(n,1,e,`svelte-1im954t`),[()=>ui(ae(G(t))?`progress-turn`:`orphan-activity-turn`)]),J(e,n)};X(b,e=>{G(a).length&&e(x)}),J(e,o)},g=e=>{let a=P(()=>D(G(t)));var o=rc(),s=z(o),c=z(s),l=z(c,!0);M(c);var u=V(c,2),d=e=>{var r=Js(),i=z(r),a=V(i),o=e=>{var r=Vr();H(e=>Y(r,`· ${e??``}`),[()=>oe(G(n),G(t).occurredAt)]),J(e,r)},s=P(()=>oe(G(n),G(t).occurredAt));X(a,e=>{G(s)&&e(o)}),M(r),H((e,t)=>{Q(r,`datetime`,e),Y(i,`${t??``} `)},[()=>new Date(G(t).occurredAt).toISOString(),()=>ss(G(t).occurredAt)]),J(e,r)};X(u,e=>{G(t).occurredAt&&e(d)}),M(s);var f=V(s,2),p=e=>{var n=$s(),r=B(n),o=e=>{var n=Qs(),r=z(n);i(r,()=>G(t).commentary),M(n),J(e,n)};X(r,e=>{G(t).commentary&&e(o)});var s=V(r,2);{let e=P(()=>ie(G(a)));ha(s,{get activities(){return G(e)},variant:`live`})}J(e,n)},m=P(()=>k(G(t))),h=e=>{var n=tc(),r=z(n),i=e=>{var n=ec(),r=z(n),i=z(r,!0);M(r),Ue(),M(n),H(e=>{Q(n,`aria-expanded`,e),Q(n,`aria-controls`,`commentary-${G(t).id}`),Y(i,v[G(t).id]?`⌄`:`›`)},[()=>!!v[G(t).id]]),K(`click`,n,()=>v[G(t).id]=!v[G(t).id]),J(e,n)};X(r,e=>{G(t).commentary&&e(i)});var o=V(r,2);{let e=P(()=>ie(G(a)));ha(o,{get activities(){return G(e)}})}M(n),J(e,n)},g=P(()=>G(t).commentary||ie(G(a)).length);X(f,e=>{G(m)?e(p):G(g)&&e(h,1)});var _=V(f,2),y=e=>{var n=nc(),r=z(n);i(r,()=>G(t).commentary),M(n),H(()=>Q(n,`id`,`commentary-${G(t).id}`)),J(e,n)},b=P(()=>!k(G(t))&&G(t).commentary&&v[G(t).id]);X(_,e=>{G(b)&&e(y)});var x=V(_,2);r(x,()=>G(a));var S=V(x,2),C=z(S);i(C,()=>G(t).answer),M(S),M(o),H(e=>Y(l,e),[()=>k(G(t))?`working`:`answer`]),J(e,o)},_=e=>{let a=P(()=>D(G(t)));var o=oc(),s=z(o),c=z(s),l=z(c,!0);M(c);var u=V(c,2),d=e=>{var r=Js(),i=z(r),a=V(i),o=e=>{var r=Vr();H(e=>Y(r,`· ${e??``}`),[()=>oe(G(n),G(t).occurredAt)]),J(e,r)},s=P(()=>oe(G(n),G(t).occurredAt));X(a,e=>{G(s)&&e(o)}),M(r),H((e,t)=>{Q(r,`datetime`,e),Y(i,`${t??``} `)},[()=>new Date(G(t).occurredAt).toISOString(),()=>ss(G(t).occurredAt)]),J(e,r)};X(u,e=>{G(t).occurredAt&&e(d)}),M(s);var f=V(s,2),p=e=>{var n=$s(),r=B(n),o=e=>{var n=ic(),r=z(n);i(r,()=>G(t).commentary),M(n),J(e,n)};X(r,e=>{G(t).commentary&&e(o)});var s=V(r,2);{let e=P(()=>ie(G(a)));ha(s,{get activities(){return G(e)},variant:`live`})}J(e,n)},m=P(()=>k(G(t))),h=e=>{var n=ac(),r=B(n),o=V(z(r),2);i(o,()=>G(t).commentary),M(r);var s=V(r,2);{let e=P(()=>ie(G(a)));ha(s,{get activities(){return G(e)}})}J(e,n)};X(f,e=>{G(m)?e(p):e(h,-1)});var g=V(f,2);r(g,()=>G(a)),M(o),H((e,t)=>{gi(o,1,e,`svelte-1im954t`),Y(l,t)},[()=>ui(k(G(t))?`progress-turn`:`commentary-turn`),()=>k(G(t))?`working`:`commentary`]),J(e,o)};X(o,e=>{G(t).kind===`audit`?e(s):G(t).kind===`user`?e(u,1):G(t).answer===null?G(t).commentary!==null&&e(_,3):e(g,2)}),M(a),H(()=>gi(a,1,ui(G(t).kind===`user`?`prompt-turn`:G(t).kind===`audit`?`audit-item`:`answer-item`),`svelte-1im954t`)),J(e,a)});var me=V(pe,2),he=e=>{var t=cc();is(z(t),{get interactions(){return G(w)},get answers(){return c()},get submittedAnswers(){return l()},get onanswer(){return d()},get onquiz(){return f()},get onpermission(){return p()},get ondecision(){return m()},get onretry(){return h()}}),M(t),J(e,t)};X(me,e=>{G(x).length===0&&G(w).length&&e(he)});var ge=V(me,2),_e=e=>{var t=lc(),n=z(t),i=z(n),o=e=>{var t=Ys(),n=V(B(t),2);{let e=P(()=>ie(G(re)));ha(n,{get activities(){return G(e)},variant:`live`})}J(e,t)},s=e=>{{let t=P(()=>ie(G(re)));ha(e,{get activities(){return G(t)}})}};X(i,e=>{a()?e(o):e(s,-1)});var c=V(i,2);r(c,()=>G(re)),M(n),M(t),H(()=>gi(n,1,ui(a()?`progress-turn`:`orphan-activity-turn`),`svelte-1im954t`)),J(e,t)};X(ge,e=>{G(re).length&&e(_e)}),M(ue),J(e,ue),$e()}Pr([`click`]);var fc=[150,300,600];function pc(e){return new Promise(t=>setTimeout(t,e))}function mc(e){return e.status===502||e.status===503||e.status===504}async function hc(e=fetch){for(let t=0;t<=fc.length;t+=1){let n;try{n=await e(`/api/bootstrap`)}catch(e){if(e instanceof Error&&e.name===`AbortError`)throw e;if(t===fc.length)throw Error(`BOOTSTRAP_FAILED`);await pc(fc[t]);continue}if(n.ok)return n.json();if(!mc(n)||t===fc.length)throw Error(`BOOTSTRAP_FAILED`);await pc(fc[t])}throw Error(`BOOTSTRAP_FAILED`)}var gc=`gestalt-mobile`,_c=2,vc=[`settings`,`drafts`,`cursors`,`messages`];function yc(e){return new Promise((t,n)=>{let r=e.open(gc,_c);r.onupgradeneeded=()=>{for(let e of vc)r.result.objectStoreNames.contains(e)||r.result.createObjectStore(e)},r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})}function bc(e,t,n){return Cc(e.transaction(t,`readonly`).objectStore(t).get(n))}function xc(e,t,n,r){return Cc(e.transaction(t,`readwrite`).objectStore(t).put(r,n))}function Sc(e,t,n){return Cc(e.transaction(t,`readwrite`).objectStore(t).delete(n))}function Cc(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}var wc=`chat-projections`,Tc=e=>({version:1,cursor:e.cursor,lifecycle:e.lifecycle,activeTurnId:e.activeTurnId,messages:e.messages.filter(e=>e.role===`user`).slice(-200),activities:[],prompts:e.prompts.slice(-200),interactions:e.interactions.map(({requestId:e,key:t,kind:n,turnId:r,state:i,operationId:a,attemptedOutcome:o})=>({requestId:e,key:t,kind:n,...r?{turnId:r}:{},state:i,...a?{operationId:a}:{},...i===`resolved`&&(o===`approved`||o===`denied`||o===`answered`||o===`dismissed`)?{attemptedOutcome:o}:{},...typeof o==`object`&&o&&(o.decision===`accept`||o.decision===`decline`)?{attemptedOutcome:{decision:o.decision}}:{}})).slice(-200),buffered:[]});function Ec(e=globalThis.indexedDB){if(!e)return{read:async()=>null,write:async()=>{}};let t=yc(e);return{read:async e=>{try{return await bc(await t,wc,e)}catch{return null}},write:async(e,n)=>{try{await xc(await t,wc,e,Tc(n))}catch{}}}}var Dc=`chat-session`;function Oc(e){return new URLSearchParams(e).get(`chat-session`)?.trim()||null}function kc(e,t){let n=new URL(e);return n.search=``,n.hash=``,n.searchParams.set(Dc,t),n.toString()}function Ac(e){let t=2166136261;for(let n of e)t^=n.codePointAt(0)??0,t=Math.imul(t,16777619);return`gestalt-chat-${(t>>>0).toString(36)}`}function jc(e,t){if(e===`autopilot.turn-started`)return`Continued execution automatically`;if(e===`autopilot.final-rejected`)return`Kept incomplete supervised work active`;if(e===`autopilot.executor-resumed`)return`Resumed the assigned executor`;if(e===`autopilot.process-monitoring`)return`Monitoring executor background work`;if(e===`autopilot.process-result-consumed`)return`Consumed background work result`;if(e===`autopilot.process-terminated`)return Mc(t,`reason`)===`resourceBudget`?`Stopped background work at its resource limit`:`Stopped executor background work`;if(e===`autopilot.turn-failed`)return Mc(t,`code`)===`START_UNAVAILABLE`?`Automatic continuation could not start: session runtime unavailable`:`Automatic continuation failed`;if(e===`org-plan.attention-required`)return`Needs attention`;if(e===`org-plan.attention-resolved`)return Mc(t,`outcome`)===`failed`?`Attention resolution failed`:`Attention resolved`;if(e!==`autopilot.updated`)return null;let n=Mc(t,`state`),r=Mc(t,`reason`);return n===`completed`?`Completed the supervised plan`:n===`attentionRequired`&&r===`noPlanProgress`?`Automatic continuation stopped: no agent progress`:n===`attentionRequired`&&r===`reconcileFailed`?`Automatic continuation stopped: agent status unavailable`:n===`attentionRequired`&&r===`actionRateExceeded`?`Automatic continuation stopped: too many automatic actions`:null}function Mc(e,t){return e&&typeof e==`object`?e[t]:void 0}function Nc(e){return Array.isArray(e)?e.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;return typeof t.path==`string`&&Number.isInteger(t.additions)&&t.additions>=0&&Number.isInteger(t.deletions)&&t.deletions>=0?[{path:t.path,additions:t.additions,deletions:t.deletions}]:[]}):[]}function Pc(e){if(typeof e.id!=`string`)return null;let t={...typeof e.turnId==`string`?{turnId:e.turnId}:{},...typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)?{occurredAt:e.occurredAt}:{}};if(e.kind===`reasoning`&&Array.isArray(e.summary)){let n=e.summary.filter(e=>typeof e==`string`).join(`
|
|
14
|
+
`);return n?{id:e.id,label:`Reasoning summary`,detail:n,...t}:null}if(e.kind===`plan`&&typeof e.text==`string`)return{id:e.id,label:`Plan`,detail:e.text,...t};if(e.kind===`command`&&typeof e.command==`string`)return{id:e.id,label:`Command · ${String(e.status??`unknown`)}`,detail:e.command,...t};if(e.kind===`fileChange`&&Array.isArray(e.paths)){let n=Nc(e.changes);return{id:e.id,label:`File change · ${String(e.status??`unknown`)}`,detail:e.paths.join(`
|
|
15
|
+
`),...n.length?{changes:n}:{},...t}}return e.kind===`tool`&&typeof e.name==`string`?{id:e.id,label:`Tool · ${String(e.status??`unknown`)}`,detail:e.name,...t}:null}var Fc=()=>({sessionId:null,cursor:0,snapshotting:!1,lifecycle:`finished`,activeTurnId:null,messages:[],activities:[],prompts:[],interactions:[],autopilotAuditTruncated:!1,buffered:new Map}),Ic=(e=null)=>({...Fc(),sessionId:e});function Lc(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 Rc(e){return{id:e.id,role:`audit`,text:e.label,occurredAt:e.occurredAt,...e.controlId?{controlId:e.controlId}:{},complete:!0}}function zc(e){let t=Bc(e.occurredAt),n=jc(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?Rc({id:`audit:${e.sequence}`,label:n,occurredAt:t,...r?{controlId:r}:{}}):null}function Bc(e){if(typeof e!=`string`)return;let t=Date.parse(e);return Number.isFinite(t)?t:void 0}function Vc(e){let t=Bc(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 Hc(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 Uc(e,t){return e?t===`finished`||t===`interrupted`?t:`working`:t===`working`||t===`starting`||t===`recoverable`?`finished`:t}function Wc(e){return[...new Map(e.map(e=>[e.key??e.id??``,e])).values()]}function Gc(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 Kc(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=Lc(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=Wc([...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 Wc([...f.get(-1)??[],...s.flatMap((e,t)=>[e,...f.get(t)??[]])])}function qc(e,t){if(!t||typeof t!=`object`)return Ic(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 Ic(e);let r=[`submitting`,`accepted`,`failed`,`canonical`],i=[`pending`,`submitting`,`resolved`,`failed`],a=[`starting`,`working`,`finished`,`interrupted`,`recoverable`];return{...Ic(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.changes===void 0||Array.isArray(e.changes)&&e.changes.every(e=>{if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.path==`string`&&Number.isInteger(t.additions)&&t.additions>=0&&Number.isInteger(t.deletions)&&t.deletions>=0}))&&(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 Jc(e,t){if(!Number.isInteger(t.baseSequence)||t.baseSequence<0)return e;if(t.baseSequence<e.cursor)return ol({...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(Vc),a=new Map(e.interactions.map(e=>[e.requestId,e])),o=Wc(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=Wc(t.items.flatMap(e=>{let t=Pc(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},...e.changes?{changes:e.changes}:{}})).reduce(Gc,[...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:Uc(t.activeTurnId,e.cursor===0&&e.lifecycle===`finished`?`working`:e.lifecycle),prompts:r,messages:Wc(Kc(l,r,e.messages).concat(u.map(Rc))).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 ol({...d,messages:Yc(d.messages)})}function Yc(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 Xc(e){return{...e,snapshotting:!0}}function Zc(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 Qc(e,t,n,r){let i=Zc(e,t,n,r);return i===e?e:{...i,lifecycle:`working`}}function $c(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 el(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 tl(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 nl(e,t,n){return{...e,interactions:e.interactions.map(e=>e.requestId===t&&e.state!==`resolved`?{...e,state:`failed`,attemptedOutcome:n}:e)}}function rl(e,t,n){return{...e,interactions:e.interactions.map(e=>e.requestId===t?{...e,state:`resolved`,...Hc(e,n)?{attemptedOutcome:Hc(e,n)}:{}}:e)}}function il(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=Bc(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=rl(n,r.requestId,r.outcome);else if(t.type===`activity.updated`&&typeof r?.id==`string`&&typeof r.label==`string`&&typeof r.detail==`string`){let e=al(r.changes);n={...n,activities:Gc(n.activities,{id:r.id,label:r.label,detail:r.detail,...i===void 0?{}:{occurredAt:i},...e.length?{changes:e}:{},...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`:Uc(e,n.lifecycle)}}let a=zc(t);return a&&!n.messages.some(e=>e.id===a.id)&&(n={...n,messages:Yc([...n.messages,a])}),n}function al(e){return!Array.isArray(e)||e.length>1e3?[]:e.flatMap(e=>{if(!e||typeof e!=`object`)return[];let t=e;return typeof t.path==`string`&&Number.isInteger(t.additions)&&t.additions>=0&&Number.isInteger(t.deletions)&&t.deletions>=0?[{path:t.path,additions:t.additions,deletions:t.deletions}]:[]})}function ol(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=il({...n,buffered:t},e),t=new Map(n.buffered)}}function sl(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 cl={read:async()=>null,write:async()=>{}},ll=[250,750,1500],ul=e=>!!e&&typeof e==`object`,dl=e=>ul(e)&&typeof e.path==`string`&&Number.isInteger(e.additions)&&e.additions>=0&&Number.isInteger(e.deletions)&&e.deletions>=0,fl=e=>ul(e)&&typeof e.id==`string`&&typeof e.kind==`string`,pl=e=>ul(e)&&typeof e.id==`string`&&Array.isArray(e.items)&&e.items.every(fl)&&(e.startedAt===null||typeof e.startedAt==`number`)&&(e.completedAt===null||typeof e.completedAt==`number`),ml=e=>!ul(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`),hl=e=>ul(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`),gl=e=>ul(e)&&typeof e.id==`string`&&typeof e.label==`string`&&typeof e.detail==`string`&&(e.changes===void 0||Array.isArray(e.changes)&&e.changes.every(dl))&&(e.turnId===void 0||typeof e.turnId==`string`)&&(e.occurredAt===void 0||typeof e.occurredAt==`number`&&Number.isFinite(e.occurredAt)),_l=e=>!ul(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(fl)||!e.turns.every(pl)||!e.interactions.every(ml)||e.activities!==void 0&&(!Array.isArray(e.activities)||!e.activities.every(gl))||e.autopilotAudit!==void 0&&(!Array.isArray(e.autopilotAudit)||!e.autopilotAudit.every(hl))||e.autopilotAuditTruncated!==void 0&&typeof e.autopilotAuditTruncated!=`boolean`||e.currentSequence!==void 0&&(!Number.isInteger(e.currentSequence)||e.currentSequence<0)?null:e,vl=class{#e=Ic();#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??cl,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??Ra,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:sl(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=Ic(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(Zc(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($c(this.#e,t,i.activeTurnId??null)),this.#h.onSendAccepted?.(t))}catch(e){this.#E(n,r)&&(this.#w(el(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(Qc(this.#e,t,e.trim(),this.#h.now()));try{let o=await i(n,r,e.trim(),t);this.#E(n,a)&&(this.#w($c(this.#e,t,o.activeTurnId)),this.#h.onSendAccepted?.(t))}catch(e){this.#E(n,a)&&(this.#w(el(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(Zc(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($c(this.#e,t,a.activeTurnId??null)),this.#h.onSendAccepted?.(t))}catch(e){this.#E(n,i)&&(this.#w(el(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(tl(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(rl(this.#e,e,a))}catch{this.#E(r,i)&&this.#w(nl(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=qc(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=il(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=Xc(this.#e),this.#T();let r=this.#h.relay.getHistory(e).then(r=>{let i=_l(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(Jc(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=ll[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(!yl(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 yl(e,t){return ul(e)&&e.code===t}var bl=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}},xl=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}},Sl={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 Cl(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(Sl,r)?r:Object.hasOwn(Sl,n)?n:t,a=typeof e==`object`&&e&&`retryable`in e?e.retryable===!0:!0;return{code:i,message:Sl[i],retryable:a}}var wl={error:null,success:5e3,info:7e3};function Tl(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=wl[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 El=q(`<small class="svelte-1a0rutm"> </small>`),Dl=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>`),Ol=q(`<div class="toast-viewport svelte-1a0rutm" aria-label="Notifications"></div>`);function kl(e,t){Qe(t,!0);let n=I([]),r=P(()=>G(n).slice(-3));Ri(()=>t.queue.subscribe(e=>L(n,e)));var i=Ol();Z(i,21,()=>G(r),e=>e.id,(e,n)=>{var r=Dl();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=El(),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),$e()}Pr([`focusin`,`focusout`,`click`]);var Al=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 jl(e,t){Qe(t,!0);let n=Tl();Ri(()=>{t.variant===`stacked`&&n.enqueue({kind:`success`,message:`Cloned.`}),n.enqueue({kind:`error`,code:`GIT_CLONE_FAILED`,message:`Clone failed.`})});var r=Al();kl(V(B(r),4),{get queue(){return n}}),J(e,r),$e()}var Ml={sessionBase:()=>!0,gitRepositoryTarget:e=>e.isGitRepository,cloneDestination:e=>!e.isGitRepository};function Nl(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 Pl(e,t){let n=new Set(e);return t.isGitRepository||(n.has(t.id)?n.delete(t.id):n.add(t.id)),n}function Fl(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 Il(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 Ll(e,t){for(let n of e){if(n.id===t)return n;let e=Ll(n.children,t);if(e)return e}}function Rl(e,t,n,r){if(e){let i=Ll(n,e);if(i&&r(i))return i.id;let a=Il(t,e);for(let e of a.toReversed()){let t=Ll(n,e);if(t&&r(t))return t.id}}return zl(n).find(r)?.id??null}function zl(e){let t=[],n=e=>{t.push(e),e.children.forEach(n)};return e.forEach(n),t}var Bl=q(`<button class="disclosure svelte-6z3q4v" type="button" tabindex="-1"><span aria-hidden="true"> </span></button>`),Vl=q(`<span class="disclosure-spacer svelte-6z3q4v" aria-hidden="true"></span>`),Hl=q(`<span class="repository-badge svelte-6z3q4v">Git</span>`),Ul=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>`),Wl=q(`<div class="filesystem-tree svelte-6z3q4v" role="tree"></div>`);function Gl(e,t){Qe(t,!0);let n=$(t,`isSelectable`,3,()=>!0),r=I(null),i=R({}),a=P(()=>Fl(t.roots,t.expandedIds)),o=P(()=>G(r)&&G(a).some(({node:e})=>e.id===G(r))?G(r):t.selectedId&&G(a).some(({node:e})=>e.id===t.selectedId)?t.selectedId:G(a)[0]?.node.id??null);function s(e){return!e.isGitRepository&&e.children.length>0}function c(e){return e===`.`?`~/`:`~/${e}`}function l(e){L(r,e,!0),i[e]?.focus()}function u(e,t){let n=Math.max(0,Math.min(G(a).length-1,t)),r=G(a)[n];r&&n!==e&&l(r.node.id)}function d(e){n()(e)&&t.onselect(e)}function f(e){s(e)&&t.onexpandedchange(Pl(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=Wl();Z(m,23,()=>G(a),e=>e.node.id,(e,a,l)=>{let u=P(()=>G(a).node),m=P(()=>s(G(u)));var h=Ul();let g;var _=z(h),v=e=>{var n=Bl(),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,Vl())};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 ee=V(w,2),te=e=>{J(e,Hl())};X(ee,e=>{G(u).isGitRepository&&e(te)}),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,()=>L(r,G(u).id,!0)),K(`keydown`,b,e=>p(e,G(a),G(l))),K(`click`,b,()=>d(G(u))),J(e,h)}),M(m),H(()=>Q(m,`aria-label`,t.label)),J(e,m),$e()}Pr([`click`,`keydown`]);var Kl=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 ql(e,t){Qe(t,!0);let n=(e,t)=>({id:e,name:t,relativePath:e,isGitRepository:!0,children:[]}),r=[{id:`.`,name:`development-workspace-with-a-long-name`,relativePath:`.`,isGitRepository:!1,children:[{id:`dyne`,name:`dyne`,relativePath:`dyne`,isGitRepository:!1,children:[{id:`dyne/mobile-applications`,name:`mobile-applications-and-experiments`,relativePath:`dyne/mobile-applications`,isGitRepository:!1,children:[n(`dyne/mobile-applications/gestalt-mobile`,`gestalt-mobile-with-an-extraordinarily-long-repository-name`)]},n(`dyne/zenroom`,`zenroom`),n(`dyne/zenflows`,`zenflows`),n(`dyne/did`,`did-toolkit`),n(`dyne/api`,`api-gateway`),n(`dyne/docs`,`documentation-portal`)]},{id:`personal`,name:`personal-projects`,relativePath:`personal`,isGitRepository:!1,children:[]}]}],i=I(R(new Set([`.`,`dyne`,`dyne/mobile-applications`]))),a=I(null),o=P(()=>t.context===`sessions`?`dyne/mobile-applications`:`dyne/mobile-applications/gestalt-mobile`),s=P(()=>G(a)??G(o));var c=Kl(),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=P(()=>t.context===`sessions`?`Session base`:`Git repository`),n=P(()=>t.context===`sessions`?Ml.sessionBase:Ml.gitRepositoryTarget);Gl(h,{get roots(){return r},get expandedIds(){return G(i)},get selectedId(){return G(s)},get label(){return G(e)},get isSelectable(){return G(n)},onexpandedchange:e=>L(i,e,!0),onselect:e=>L(a,e.id,!0)})}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),$e()}function Jl(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 Yl(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 Xl=q(`<p class="clone-status svelte-pudr3t" role="status"> </p>`),Zl=q(`<option> </option>`),Ql=q(`<section aria-label="Confirm push"><p> </p> <button type="button">Confirm push</button> <button type="button">Cancel</button></section>`),$l=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>`),eu=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>`),tu=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),nu=q(`<p>This workspace is not a Git repository.</p>`),ru=q(`<p role="status">Loading repository status…</p>`),iu=q(`<p><strong> </strong> is available as a Clone destination. Select a Git repository
|
|
16
|
+
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),au=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),ou=q(`<p role="alert"> </p>`),su=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
|
|
17
|
+
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 cu(e,t){Qe(t,!0);let n=I(``),r=P(()=>t.selectedWorkspace&&!t.selectedWorkspace.isGitRepository?t.selectedWorkspace:null);function i(e){e.preventDefault(),!(!G(n).trim()||t.cloning)&&t.onclone(G(n).trim())}var a=su(),o=V(z(a),2),s=V(z(o),2);{let e=P(()=>t.selectedWorkspace?.id??null);Gl(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=Xl(),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=tu(),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=Ql(),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=eu(),r=V(z(n),2);Z(r,21,()=>t.summary.commits,e=>e.hash,(e,t)=>{var n=$l(),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)},[()=>Yl(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`}`)},[()=>Jl(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,nu())};X(r,e=>{t.summary.available?e(i):e(a,-1)}),J(e,n)},a=e=>{J(e,ru())};X(r,e=>{t.summary?e(i):t.error||e(a,1)}),J(e,n)},C=e=>{var n=iu(),r=B(n),i=z(r),a=z(i,!0);M(i),Ue(),M(r),Ue(2),H(()=>Y(a,t.selectedWorkspace.name)),J(e,n)},w=e=>{var t=au();Ue(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=ou(),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=>L(n,e)),J(e,a),$e()}Pr([`click`,`change`]);var lu=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 uu(e,t,n,r,i){let a=new Set(du(e).filter(e=>e.isGitRepository).map(e=>e.id)),o=Ll(t,n),s=o?du(o.children).filter(e=>e.isGitRepository&&!a.has(e.id)):[],c=fu(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&&Il(t,u).forEach(e=>d.add(e)),!l&&o&&d.add(o.id),{selectedId:u,expandedIds:d}}function du(e){let t=[],n=e=>{t.push(e),e.children.forEach(n)};return e.forEach(n),t}function fu(e){return(e.trim().replace(/[?#].*$/,``).replace(/\/+$/,``).split(/[/:]/).at(-1)??``).replace(/\.git$/i,``)}function pu(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 mu(e){return{answers:Object.fromEntries(e.filter(e=>e.answer.trim()).map(e=>[e.id,{answers:[e.answer]}]))}}function hu(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}:{})}}var gu=[`authoring-start`,`work-start`,`checkpoint`,`update`,`supervision-start`,`resync`];function _u(e){return typeof e==`string`&&gu.includes(e)}function vu(e){if(!e||typeof e!=`object`)return!1;let t=e;return yu(t.plan)&&(t.reason===null||_u(t.reason))}function yu(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 bu(e){return e instanceof Error?e.message:`Could not load the plan.`}function xu(e){return{...e,...e.skills?{skills:[...e.skills]}:{},description:{...e.description},children:e.children.map(xu)}}function Su(e){return{...e,steps:e.steps.map(xu)}}function Cu(e,t){return e.kind===`unavailable`&&e.sessionId===t}function wu(e,t){let n=null,r={kind:`unavailable`,sessionId:null},i=0,a=0,o=null,s=0,c=e=>{++a,r=e,t(e)},l=(t,r)=>{o?.abort(),o=new AbortController;let a=++i,l=s;r||c({kind:`loading`,sessionId:t}),e.getPlan(t,o.signal).then(e=>{a!==i||n!==t||s===l&&c(e?{kind:`ready`,sessionId:t,plan:Su(e)}:{kind:`unavailable`,sessionId:t})}).catch(e=>{o?.signal.aborted||a!==i||n!==t||c({kind:`error`,sessionId:t,error:bu(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`&&(yu(t.payload)||vu(t.payload))){let n=vu(t.payload)?t.payload.plan:t.payload;s=t.sequence,c({kind:`ready`,sessionId:e,plan:Su(n)})}t.type===`plan.closed`&&(s=t.sequence,c({kind:`unavailable`,sessionId:e}))}},async close(){if(r.kind!==`ready`&&r.kind!==`error`||!r.plan?.allDone)return null;let{sessionId:t,plan:i}=r;c({kind:`closing`,sessionId:t,plan:i});let o=a;try{return await e.closePlan(t),n===t?a===o?(c({kind:`unavailable`,sessionId:t}),`chat`):Cu(r,t)?`chat`:null:null}catch(e){return n===t?a===o?(c({kind:`error`,sessionId:t,plan:i,error:bu(e)}),null):Cu(r,t)?`chat`:null:null}},dispose(){o?.abort(),o=null,n=null,++i,c({kind:`unavailable`,sessionId:null})}}}function Tu(e){if(!e)return null;let t=Eu(e.steps,e.currentStepId)?.measurement?.weeklyRemainingCurrent;return typeof t==`number`&&Number.isFinite(t)&&t>=0&&t<=100?Math.round(t):null}function Eu(e,t){for(let n of e){if(n.id===t)return n;let e=Eu(n.children,t);if(e)return e}}var Du=q(`<span class="wip-effort svelte-hmxg46"> </span>`),Ou=q(`<li class="svelte-hmxg46"><span class="wip-position svelte-hmxg46" aria-hidden="true"> </span> <span class="wip-title svelte-hmxg46"> </span> <!></li>`),ku=q(`<ol class="wip-steps svelte-hmxg46" aria-label="Work in progress plan steps"></ol>`),Au=q(`<li class="svelte-hmxg46"><span aria-hidden="true" class="position svelte-hmxg46"> </span> <span aria-hidden="true" class="state"> </span></li>`),ju=q(`<ol class="step-markers svelte-hmxg46" aria-label="Plan step progress"></ol>`),Mu=q(`<div><div class="progress-heading svelte-hmxg46"><span> </span></div> <progress class="svelte-hmxg46"> </progress> <!></div>`);function Nu(e,t){Qe(t,!0);let n=$(t,`compact`,3,!1),r=$(t,`label`,3,`Plan progress`),i=P(()=>t.plan.steps.flatMap((e,t)=>[{id:e.id,position: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=P(()=>G(i).filter(e=>e.state===`WIP`)),o=P(()=>Math.max(t.plan.totalSteps,1));var s=Mu(),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=ku();Z(n,21,()=>G(a),e=>e.id,(e,n)=>{var r=Ou(),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=Du(),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=ju();Z(n,21,()=>G(i),e=>e.id,(e,n)=>{var r=Au(),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),$e()}var Pu=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>`),Fu=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>`),Iu=q(`<section aria-labelledby="plan-title" class="svelte-3rmyvg"><h2 id="plan-title" class="svelte-3rmyvg">Plan</h2> <p class="svelte-3rmyvg"> </p></section>`),Lu=q(`<p class="svelte-3rmyvg"> </p>`),Ru=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Subtitle</dt> <dd class="svelte-3rmyvg"> </dd></div>`),zu=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Date</dt> <dd class="svelte-3rmyvg"> </dd></div>`),Bu=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Keywords</dt> <dd class="svelte-3rmyvg"> </dd></div>`),Vu=q(`<dl class="metadata svelte-3rmyvg"><!> <!> <!></dl>`),Hu=q(`<p class="svelte-3rmyvg">No plan steps have been retained yet.</p>`),Uu=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg"> </strong> </p>`),Wu=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg">Skills:</strong> </p>`),Gu=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>`),Ku=q(`<ol class="svelte-3rmyvg"></ol>`),qu=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>`),Ju=q(`<ol class="plan-steps svelte-3rmyvg"></ol>`),Yu=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>`),Xu=q(`<p class="visually-hidden svelte-3rmyvg" aria-live="polite" aria-atomic="true"> </p> <!>`,1);function Zu(e,t){Qe(t,!0);let n={effort:`Effort`,goal:`Goal`,notes:`Notes`,why:`Why`,change:`Change`,tests:`Tests`,doneWhen:`Done when`},r=I(R(new Set)),i=R({}),a=null,o=0,s=P(()=>t.state.kind===`ready`||t.state.kind===`closing`||t.state.kind===`error`?t.state.plan:void 0),c=P(()=>G(s)?f(G(s).steps,G(s).currentStepId):void 0),l=P(()=>G(s)?p(G(s).steps,G(s).currentStepId):void 0),u=P(()=>G(s)?m(G(s).steps,G(s).currentStepId):new Set),d=P(()=>t.state.kind===`loading`?`Loading plan.`:t.state.kind===`unavailable`?`No retained plan for this session.`:t.state.kind===`error`&&!G(s)?t.state.error:t.state.kind===`closing`?`Closing completed plan.`:G(s)?G(c)?`Current step: ${G(l)} ${G(c).title}, ${G(c).state}. ${G(s).doneSteps} of ${G(s).totalSteps} complete.${t.state.kind===`error`?` ${t.state.error}`:``}`:`${G(s).doneSteps} of ${G(s).totalSteps} plan steps complete.${t.state.kind===`error`?` ${t.state.error}`:``}`:``);Mn(()=>{let e=G(s)?.currentStepId||null;if(!e||a===e)return;a=e;let t=++o;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){L(r,t?new Set([...G(r),e]):new Set([...G(r)].filter(t=>t!==e)),!0)}function _(e){return e.description.goal??e.description.why??e.title}function v(e){let t=e.measurement;if(!t)return`Measurements unavailable`;let n=[];return t.elapsedSeconds!==void 0&&n.push(`${Math.floor(t.elapsedSeconds/60)}m ${t.elapsedSeconds%60}s elapsed`),t.weeklyPercentUsed!==void 0&&n.push(`${t.weeklyPercentUsed}% observed account-wide usage`),t.tokensUsed!==void 0&&n.push(`${t.tokensUsed.toLocaleString()} tokens used`),n.join(` · `)||`Measurements unavailable`}function y(e){return Object.keys(n).flatMap(t=>{let r=e.description[t];return r?[[n[t],r]]:[]})}var b=Xu(),x=B(b),S=z(x,!0);M(x);var w=V(x,2),T=e=>{J(e,Pu())},E=e=>{J(e,Fu())},D=e=>{var n=Iu(),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=Yu(),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);Nu(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=Lu(),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=Vu(),n=z(t),r=e=>{var t=Ru(),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=zu(),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=Bu(),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,Hu())},D=e=>{var t=Ju();Z(t,23,()=>G(s).steps,e=>e.id,(e,t,n)=>{var r=qu(),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=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Uu(),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=Wu(),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=Ku();Z(r,23,()=>G(t).children,e=>e.id,(e,t,r)=>{var a=Gu(),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=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Uu(),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=Wu(),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),$e()}Pr([`click`]);var Qu=/^(\*+)\s+(?:(TODO|WIP|DONE)\s+)?(?:\[#([ABC])\]\s+)?(.+)$/,$u=/^#\+([A-Z][A-Z0-9_-]*):\s*(.*)$/i,ed=/^:([A-Z][A-Z0-9_]*):\s*(.*)$/,td=/^-\s+([^:]+?)\s+::\s*(.*)$/;function nd(e){let t=[],n=[],r=[],i=e.replace(/\r\n?/g,`
|
|
18
18
|
`).split(`
|
|
19
|
-
`),a=null,o=!1,s=()=>{a&&r.push({...a,properties:[...a.properties],descriptions:[...a.descriptions],body:Zu(a.body)})};for(let e of i){let r=Ku.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=qu.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=Ju.exec(e);t&&a.properties.push([t[1],t[2].trim()]);continue}let i=Yu.exec(e);i?a.descriptions.push([i[1].trim(),i[2].trim()]):a.body.push(e)}return s(),{metadata:t,preamble:Zu(n),sections:r}}function Zu(e){let t=[...e];for(;t[0]?.trim()===``;)t.shift();for(;t.at(-1)?.trim()===``;)t.pop();return t}var Qu=q(`<div class="svelte-h7gaqo"><dt class="svelte-h7gaqo"> </dt> <dd class="svelte-h7gaqo"> </dd></div>`),$u=q(`<dl class="metadata svelte-h7gaqo"></dl>`),ed=q(`<p class="svelte-h7gaqo"> </p>`),td=q(`<p class="svelte-h7gaqo">This Org document has no headings.</p>`),nd=q(`<h3 class="svelte-h7gaqo"> </h3>`),rd=q(`<h4 class="svelte-h7gaqo"> </h4>`),id=q(`<span> </span>`),ad=q(`<span class="priority svelte-h7gaqo"> </span>`),od=q(`<dl class="descriptions svelte-h7gaqo"></dl>`),sd=q(`<p> </p>`),cd=q(`<details class="properties svelte-h7gaqo"><summary class="svelte-h7gaqo">Properties</summary> <dl class="svelte-h7gaqo"></dl></details>`),ld=q(`<section class="org-section svelte-h7gaqo"><div class="section-heading svelte-h7gaqo"><!> <!> <!></div> <!> <!> <!></section>`),ud=q(`<div class="sections svelte-h7gaqo"></div>`),dd=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 fd(e,t){Qe(t,!0);let n=P(()=>Xu(t.preview.source)),r=P(()=>G(n).metadata.filter(([e])=>e!==`TITLE`));var i=dd(),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=$u();Z(t,21,()=>G(r),([e,t])=>`${e}:${t}`,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Qu(),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=ed(),r=z(n,!0);M(n),H(()=>Y(r,G(t))),J(e,n)},a=P(()=>G(t).trim());X(r,e=>{G(a)&&e(i)}),J(e,n)});var h=V(m,2),g=e=>{J(e,td())},_=e=>{var t=ud();Z(t,23,()=>G(n).sections,(e,t)=>`${t}:${e.level}:${e.title}`,(e,t)=>{var n=ld();let r;var i=z(n),a=z(i),o=e=>{var n=nd(),r=z(n,!0);M(n),H(()=>Y(r,G(t).title)),J(e,n)},s=e=>{var n=rd(),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=id(),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=ad(),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=od();Z(n,21,()=>G(t).descriptions,([e,t])=>`${e}:${t}`,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Qu(),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=sd();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=P(()=>G(t).trim());X(r,e=>{G(a)&&e(i)}),J(e,n)});var h=V(m,2),g=e=>{var n=cd(),r=V(z(n),2);Z(r,21,()=>G(t).properties,([e,t])=>`${e}:${t}`,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=Qu(),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),$e()}Pr([`click`]);var pd=q(`<p>Select a workspace to browse its local plans.</p>`),md=q(`<p>Loading workspace plans…</p>`),hd=q(`<p> </p>`),gd=q(`<p>No Org files were found below this workspace.</p>`),_d=q(`<span> </span>`),vd=q(`<span> </span> <!>`,1),yd=q(`<span>Org document</span>`),bd=q(`<li><button class="svelte-x2ko9l"><strong> </strong> <code class="svelte-x2ko9l"> </code> <!></button></li>`),xd=q(`<p class="scope svelte-x2ko9l">Org files below the selected workspace.</p> <ul class="svelte-x2ko9l"></ul>`,1),Sd=q(`<section class="plans svelte-x2ko9l" aria-labelledby="plans-title"><h2 id="plans-title" tabindex="-1" class="svelte-x2ko9l">Plans</h2> <!></section>`);function Cd(e,t){Qe(t,!0);let n=I(null),r=R({}),i=I(null),a=!1,o=!1;function s(){t.onclose()}function c(e){L(i,e,!0),t.onopen(e)}Mn(()=>{if(t.state){a=!0;return}if(a&&(a=!1,o=!0),!o)return;let e=t.catalog.kind,s=G(i);queueMicrotask(()=>{let t=s?r[s]:void 0;t?.isConnected?(t.focus(),o=!1):e!==`loading`&&(G(n)?.focus(),o=!1)})});var l=Hr(),u=B(l),d=e=>{fd(e,{get preview(){return t.state},onclose:s})},f=e=>{Gu(e,{get state(){return t.state},onclose:s})},p=e=>{var i=Sd(),a=z(i);Li(a,e=>L(n,e),()=>G(n));var o=V(a,2),s=e=>{J(e,pd())},l=e=>{J(e,md())},u=e=>{var n=hd(),r=z(n,!0);M(n),H(()=>Y(r,t.catalog.error)),J(e,n)},d=e=>{J(e,gd())},f=e=>{var n=xd(),i=V(B(n),2);Z(i,21,()=>t.catalog.entries,e=>e.planName,(e,t)=>{var n=bd(),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=vd(),r=B(n),i=z(r);M(r);var a=V(r,2),o=e=>{var n=_d(),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,yd())};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),$e()}Pr([`click`]);var wd=`settings`,Td=`drafts`,Ed=`cursors`,Dd=`selected-session`;function Od(e=globalThis.indexedDB){if(!e)return kd;let t=gc(e);return{async readSelectedSession(){try{return await _c(await t,wd,Dd)??null}catch{return null}},async saveSelectedSession(e){try{let n=await t;e?await vc(n,wd,Dd,e):await yc(n,wd,Dd)}catch{}},async readDraft(e){try{return await _c(await t,Td,e)??``}catch{return``}},async saveDraft(e,n){try{await vc(await t,Td,e,n)}catch{}},async readCursor(e){try{let n=await _c(await t,Ed,e);return typeof n==`number`&&Number.isSafeInteger(n)&&n>=0?n:0}catch{return 0}},async saveCursor(e,n){try{await vc(await t,Ed,e,n)}catch{}}}}var kd={readSelectedSession:async()=>null,saveSelectedSession:async()=>{},readDraft:async()=>``,saveDraft:async()=>{},readCursor:async()=>0,saveCursor:async()=>{}};function Ad(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 jd(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 Md(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 Nd(e){let t=/^\/home\/[^/]+/.exec(e)?.[0];if(!t)return e;let n=e.slice(t.length);return n?`~${n}`:`~/`}var Pd=q(`<time> </time>`),Fd=q(`<div> </div>`),Id=q(`<span class="profile-badge svelte-hxb22h"> </span>`),Ld=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>`),Rd=q(`<div class="session-plan-progress svelte-hxb22h"><!></div>`),zd=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>`),Bd=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>`),Vd=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>`),Hd=q(`<ul class="session-list svelte-hxb22h" aria-label="Saved sessions"></ul>`),Ud=q(`<p>No saved sessions yet.</p>`),Wd=q(`<option> </option>`),Gd=q(`<p class="skills-profile-error svelte-hxb22h" role="alert"> </p>`),Kd=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>`),qd=q(`<ul class="session-list recent-session-list svelte-hxb22h" aria-label="Recent sessions"></ul>`),Jd=q(`<p>No other recent Codex sessions found.</p>`),Yd=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 Xd(e,t){Qe(t,!0);let n=$(t,`activitySnapshots`,19,()=>new Map),r=$(t,`autopilotSnapshots`,19,()=>new Map),i=$(t,`autopilotPending`,19,()=>new Set),a=$(t,`autopilotAttention`,19,()=>new Map),o=$(t,`models`,19,()=>[]),s=$(t,`selectedModel`,3,``),c=$(t,`onmodelchange`,3,()=>{}),l=$(t,`onautopilottoggle`,3,()=>{}),u=$(t,`onautopilotresolve`,3,()=>{}),d=P(()=>t.sessions.filter(e=>e.state===`ready`||e.state===`turnActive`)),f=P(()=>t.sessions.filter(e=>e.state!==`ready`&&e.state!==`turnActive`)),p=P(()=>t.recentSessions.filter(e=>!G(d).some(t=>t.threadId===e.id))),m=P(()=>jl(t.workspaceTree,t.workspaceId));var h=Yd(),g=V(z(h),2),_=e=>{var s=Bd(),c=V(z(s),2);Z(c,21,()=>G(d),e=>e.id,(e,s)=>{let c=P(()=>jd(G(s)));var d=zd();let f;var p=z(d),m=z(p);{let e=P(()=>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)=>{Ue(),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)=>{Ue(),J(e,Vr(`Copy`))},$$slots:{default:!0}})};X(h,e=>{G(s).resumeCommand&&e(g)});var _=V(h,2);{let e=P(()=>r().get(G(s).id)??G(s).autopilot??null),t=P(()=>`session-autopilot-${G(s).id}`),n=P(()=>i().has(G(s).id));Ya(_,{compact:!0,indicatorOnly:!0,get autopilot(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},ontoggle:e=>l()(G(s).id,e)})}var v=V(_,2);{let e=P(()=>n().get(G(s).id)??G(s).agentActivity??null),t=P(()=>G(s).model??o()?.[0]);Na(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)=>{Ue(),J(e,Vr(`Close`))},$$slots:{default:!0}}),M(p);var y=V(p,2),b=z(y),x=z(b),S=e=>{var t=Pd(),n=z(t,!0);M(t),H((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(c).updatedAt).toISOString(),()=>Ad(G(c).updatedAt)]),J(e,t)},C=e=>{var t=Fd(),n=z(t,!0);M(t),H(e=>Y(n,e),[()=>Ad(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=Id(),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),ee=e=>{var t=Id(),n=z(t);M(t),H(()=>Y(n,`Branch: ${G(s).branch??``}`)),J(e,t)};X(O,e=>{G(s).branch&&e(ee)});var te=V(O,2),ne=e=>{var t=Id(),n=z(t);M(t),H(()=>Y(n,`Skills profile: ${G(s).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(te,e=>{G(s).effectiveSkillSelection?.selectedProfileName&&e(ne)});var re=V(te,2),ie=e=>{var t=Ld(),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(re,e=>{G(s).lastOrgPlan&&e(ie)});var k=V(re,2),ae=e=>{var t=Rd(),n=z(t);{let e=P(()=>`Plan progress for ${G(s).plan.title}`);Du(n,{compact:!0,get plan(){return G(s).plan},get label(){return G(e)}})}M(t),J(e,t)};X(k,e=>{G(s).plan&&e(ae)}),M(b);var oe=V(b,2);{let e=P(()=>a().get(G(s).id)??null),t=P(()=>`session-attention-${G(s).id}`),n=P(()=>i().has(G(s).id));Za(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=P(()=>r().get(G(s).id)??G(s).autopilot??null),t=P(()=>a().get(G(s).id)??null),n=P(()=>`session-autopilot-safety-${G(s).id}`),o=P(()=>i().has(G(s).id));$a(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)},[()=>Nd(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=Hd();Z(n,21,()=>G(f),e=>e.id,(e,n)=>{let r=P(()=>jd(G(n)));var i=Vd(),a=z(i),o=z(a);{let e=P(()=>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)=>{Ue();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)=>{Ue(),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)=>{Ue(),J(e,Vr(`Forget`))},$$slots:{default:!0}}),M(a);var l=V(a,2),u=z(l),d=e=>{var t=Pd(),n=z(t,!0);M(t),H((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(r).updatedAt).toISOString(),()=>Ad(G(r).updatedAt)]),J(e,t)},f=e=>{var t=Fd(),n=z(t,!0);M(t),H(e=>Y(n,e),[()=>Ad(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=Id(),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=Id(),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=Id(),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),[()=>Nd(G(r).workspacePath)]),J(e,i)}),M(n),J(e,n)},b=e=>{J(e,Ud())};X(v,e=>{G(f).length?e(y):G(d).length||e(b,1)});var x=V(v,2),S=z(x),C=V(z(S),2);{let e=P(()=>G(m)?.id??null);zl(C,{get roots(){return t.workspaceTree},get expandedIds(){return t.expandedIds},get selectedId(){return G(e)},get isSelectable(){return El.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=Wd(),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 ee=V(E,2),te=z(ee);te.value=te.__value=`workspace-write`;var ne=V(te);ne.value=ne.__value=`read-only`;var re=V(ne);re.value=re.__value=`danger-full-access`,M(ee);var ie;bi(ee);var k=V(ee,2),ae=z(k);ae.value=ae.__value=`untrusted`;var oe=V(ae);oe.value=oe.__value=`on-request`;var se=V(oe);se.value=se.__value=`never`,M(k);var ce;bi(k),M(T);var le=V(T,4),ue=e=>{var n=Gd(),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)=>{Ue(),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=Wd(),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=P(()=>!G(m)||t.startingSession);va(ge,{class:`new-session-button`,type:`submit`,primary:!0,get disabled(){return G(e)},children:(e,n)=>{Ue();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=qd();Z(n,21,()=>G(p),e=>e.id,(e,n)=>{var r=Kd(),i=z(r),a=z(i),o=e=>{var t=Pd(),r=z(t,!0);M(t),H((e,n)=>{Q(t,`datetime`,e),Y(r,n)},[()=>new Date(G(n).recencyAt*1e3).toISOString(),()=>Ad(G(n).recencyAt*1e3)]),J(e,t)},s=e=>{var t=Fd(),n=z(t,!0);M(t),H(e=>Y(n,e),[()=>Ad(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=Id(),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=Id(),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=Id(),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)=>{Ue(),J(e,Vr(`Open`))},$$slots:{default:!0}}),va(V(_,2),{onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{Ue(),J(e,Vr(`Copy`))},$$slots:{default:!0}}),M(g),M(r),H(e=>Y(l,e),[()=>Nd(G(n).cwd)]),J(e,r)}),M(n),J(e,n)},be=e=>{J(e,Jd())};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)),ie!==(ie=t.sandbox)&&(ee.value=(ee.__value=t.sandbox)??``,yi(ee,t.sandbox)),ce!==(ce=t.approvalPolicy)&&(k.value=(k.__value=t.approvalPolicy)??``,yi(k,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`,ee,e=>t.onsandboxchange(e.currentTarget.value)),K(`change`,k,e=>t.onapprovalpolicychange(e.currentTarget.value)),K(`change`,me,e=>c()(e.currentTarget.value)),J(e,h),$e()}Pr([`change`]);function Zd(e){let t={};return e.workspaceId||(t.workspaceId=`Choose a workspace.`),e.profile||(t.profile=`Choose a profile.`),e.profile&&e.profileState&&e.profileState!==`ok`&&(t.profile=`Sign in to this profile before starting Codex.`),t}var Qd=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 $d({chatEnabled:e}){return[`sessions`,`git`,...e?[`chat`]:[],`plan`]}function ef(e,t,n={chatEnabled:!0}){let r=$d(n);return r[(r.indexOf(e)+t+r.length)%r.length]}var tf=q(`<nav class="bottom-navigation" aria-label="Primary"><button>Sessions</button> <button>Git</button> <button>Chat</button> <button>Plan</button></nav>`);function nf(e,t){Qe(t,!0);let n=$(t,`focusTab`,3,null),r=R({});Mn(()=>{n()&&r[n()]?.focus()});function i(e){let n=e.key===`ArrowRight`?1:e.key===`ArrowLeft`?-1:null;if(n===null)return;e.preventDefault();let i=ef(t.activeTab,n,{chatEnabled:t.chatEnabled});t.onselect(i),r[i]?.focus()}var a=tf(),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),$e()}Pr([`keydown`,`click`]);var rf=q(`<option> </option>`),af=q(`<p id="skills-status" aria-live="polite">Loading skills…</p>`),of=q(`<p id="skills-status">No skills were discovered for this workspace and Codex profile.</p>`),sf=q(`<p id="skills-status" class="notice svelte-dg6sjj" role="status"> </p>`),cf=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert"> </p>`),lf=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert" tabindex="-1"> </p>`),uf=q(`<p id="skills-status" role="status">Profile saved.</p>`),df=q(`<p id="skills-status" role="status">Profile deleted.</p>`),ff=q(`<p class="svelte-dg6sjj"> </p>`),pf=q(`<li> </li>`),mf=q(`<dt class="svelte-dg6sjj">Tool dependencies</dt> <dd class="svelte-dg6sjj"><ul class="svelte-dg6sjj"></ul></dd>`,1),hf=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>`),gf=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),_f=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 vf(e,t){Qe(t,!0);let n=$(t,`skillsState`,7),r=$(t,`heading`,3,`Manage skill profiles`),i=I(0),a=I(null),o=I(null),s=I(null),c=I(null),l=I(`__new__`),u=P(()=>(G(i),n())),d=P(()=>G(u).profiles.filter(e=>!(`error`in e)));function f(){n(Object.assign(Object.create(Object.getPrototypeOf(n())),n())),L(i,G(i)+1)}async function p(){await t.onrefresh(),f()}function m(e){L(l,e.currentTarget.value,!0),G(l)===`__new__`||G(l)===`__default__`?G(u).selectDefaultProfile():G(u).selectProfile(G(l)),f()}async function h(e){e.preventDefault(),await G(u).save(),f(),G(u).status.kind===`saved`&&(L(l,G(u).selectedProfileName,!0),t.onprofileschange()),G(u).status.kind===`save-failed`&&(await Cr(),G(a)?.focus())}function g(){G(c)?.showModal()}async function _(){G(c)?.close(),await G(u).deleteSelectedProfile(),f(),G(u).status.kind===`deleted`&&(L(l,`__new__`),t.onprofileschange()),await 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=_f(),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 ee=V(O);ee.value=ee.__value=`__default__`,Z(V(ee),17,()=>G(d),e=>e.name,(e,t)=>{var n=rf(),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=>L(o,e),()=>G(o));var te=V(D,4);Di(te),M(E);var ne=V(E,2),re=z(ne,!0);M(ne);var ie=V(ne,2),k=z(ie);Li(k,e=>L(s,e),()=>G(s));var ae=V(k,2),oe=z(ae,!0);M(ae),M(ie),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=>L(c,e),()=>G(c));var pe=V(se,2),me=e=>{J(e,af())},he=e=>{J(e,of())},ge=e=>{var t=sf(),n=z(t);M(t),H(()=>Y(n,`Discovery warning: ${G(u).status.message??``}`)),J(e,t)},_e=e=>{var t=cf(),n=z(t,!0);M(t),H(()=>Y(n,G(u).status.message)),J(e,t)},ve=e=>{var t=lf(),n=z(t,!0);M(t),Li(t,e=>L(a,e),()=>G(a)),H(()=>Y(n,G(u).status.message)),J(e,t)},ye=e=>{J(e,uf())},be=e=>{J(e,df())},xe=e=>{var t=cf(),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=gf(),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=hf();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=ff(),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=ff(),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=mf(),r=V(B(n),2),i=z(r);Z(i,21,()=>G(t).dependencies.tools,e=>`${e.type}:${e.value}`,(e,t)=>{var n=pf(),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(te,G(u).saveAsName),Y(re,G(u).saveIntent===`replace`?`Saved the selected profile.`:`Creating a new saved profile.`),k.disabled=!G(u).selectedProfileName||G(u).status.kind===`deleting`,ae.disabled=G(u).status.kind===`saving`,Y(oe,G(u).status.kind===`saving`?`Saving profile…`:`Save profile`),Y(le,`Delete ${G(u).selectedProfileName??``}? Existing sessions keep their saved skill set.`)}),Nr(`submit`,T,h),K(`change`,D,m),xi(D,()=>G(l),e=>L(l,e)),K(`input`,te,e=>{G(u).saveAsName=e.currentTarget.value,f()}),K(`click`,k,g),K(`click`,de,()=>void v()),K(`click`,fe,()=>void _()),J(e,S),$e()}Pr([`change`,`input`,`click`]);var yf=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:bf(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:bf(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:bf(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:bf(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 bf(e){return e instanceof Error?e.message:`Unknown relay error.`}var xf=o(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),Sf=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)}})),Cf=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}}})),wf=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})),Tf=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})),Ef=o((e=>{var t=Sf().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}})),Df=o((e=>{var t=Sf().getSymbolSize,n=7;e.getPositions=function(e){let r=t(e);return[[0,0],[r-n,0],[0,r-n]]}})),Of=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}})),kf=o((e=>{var t=Cf(),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}}})),Af=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]]}})),jf=o((e=>{var t=Af();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}})),Mf=o(((e,t)=>{var n=jf();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})),Nf=o((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),Pf=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
|
|
20
|
-
]))+`;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)}})),
|
|
21
|
-
Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=i})),
|
|
22
|
-
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()))}})),
|
|
19
|
+
`),a=null,o=!1,s=()=>{a&&r.push({...a,properties:[...a.properties],descriptions:[...a.descriptions],body:rd(a.body)})};for(let e of i){let r=Qu.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=$u.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=ed.exec(e);t&&a.properties.push([t[1],t[2].trim()]);continue}let i=td.exec(e);i?a.descriptions.push([i[1].trim(),i[2].trim()]):a.body.push(e)}return s(),{metadata:t,preamble:rd(n),sections:r}}function rd(e){let t=[...e];for(;t[0]?.trim()===``;)t.shift();for(;t.at(-1)?.trim()===``;)t.pop();return t}var id=q(`<div class="svelte-h7gaqo"><dt class="svelte-h7gaqo"> </dt> <dd class="svelte-h7gaqo"> </dd></div>`),ad=q(`<dl class="metadata svelte-h7gaqo"></dl>`),od=q(`<p class="svelte-h7gaqo"> </p>`),sd=q(`<p class="svelte-h7gaqo">This Org document has no headings.</p>`),cd=q(`<h3 class="svelte-h7gaqo"> </h3>`),ld=q(`<h4 class="svelte-h7gaqo"> </h4>`),ud=q(`<span> </span>`),dd=q(`<span class="priority svelte-h7gaqo"> </span>`),fd=q(`<dl class="descriptions svelte-h7gaqo"></dl>`),pd=q(`<p> </p>`),md=q(`<details class="properties svelte-h7gaqo"><summary class="svelte-h7gaqo">Properties</summary> <dl class="svelte-h7gaqo"></dl></details>`),hd=q(`<section class="org-section svelte-h7gaqo"><div class="section-heading svelte-h7gaqo"><!> <!> <!></div> <!> <!> <!></section>`),gd=q(`<div class="sections svelte-h7gaqo"></div>`),_d=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 vd(e,t){Qe(t,!0);let n=P(()=>nd(t.preview.source)),r=P(()=>G(n).metadata.filter(([e])=>e!==`TITLE`));var i=_d(),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=ad();Z(t,21,()=>G(r),([e,t])=>`${e}:${t}`,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=id(),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=od(),r=z(n,!0);M(n),H(()=>Y(r,G(t))),J(e,n)},a=P(()=>G(t).trim());X(r,e=>{G(a)&&e(i)}),J(e,n)});var h=V(m,2),g=e=>{J(e,sd())},_=e=>{var t=gd();Z(t,23,()=>G(n).sections,(e,t)=>`${t}:${e.level}:${e.title}`,(e,t)=>{var n=hd();let r;var i=z(n),a=z(i),o=e=>{var n=cd(),r=z(n,!0);M(n),H(()=>Y(r,G(t).title)),J(e,n)},s=e=>{var n=ld(),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=ud(),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=dd(),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=fd();Z(n,21,()=>G(t).descriptions,([e,t])=>`${e}:${t}`,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=id(),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=pd();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=P(()=>G(t).trim());X(r,e=>{G(a)&&e(i)}),J(e,n)});var h=V(m,2),g=e=>{var n=md(),r=V(z(n),2);Z(r,21,()=>G(t).properties,([e,t])=>`${e}:${t}`,(e,t)=>{var n=P(()=>C(G(t),2));let r=()=>G(n)[0],i=()=>G(n)[1];var a=id(),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),$e()}Pr([`click`]);var yd=q(`<p>Select a workspace to browse its local plans.</p>`),bd=q(`<p>Loading workspace plans…</p>`),xd=q(`<p> </p>`),Sd=q(`<p>No Org files were found below this workspace.</p>`),Cd=q(`<span> </span>`),wd=q(`<span> </span> <!>`,1),Td=q(`<span>Org document</span>`),Ed=q(`<li><button class="svelte-x2ko9l"><strong> </strong> <code class="svelte-x2ko9l"> </code> <!></button></li>`),Dd=q(`<p class="scope svelte-x2ko9l">Org files below the selected workspace.</p> <ul class="svelte-x2ko9l"></ul>`,1),Od=q(`<section class="plans svelte-x2ko9l" aria-labelledby="plans-title"><h2 id="plans-title" tabindex="-1" class="svelte-x2ko9l">Plans</h2> <!></section>`);function kd(e,t){Qe(t,!0);let n=I(null),r=R({}),i=I(null),a=!1,o=!1;function s(){t.onclose()}function c(e){L(i,e,!0),t.onopen(e)}Mn(()=>{if(t.state){a=!0;return}if(a&&(a=!1,o=!0),!o)return;let e=t.catalog.kind,s=G(i);queueMicrotask(()=>{let t=s?r[s]:void 0;t?.isConnected?(t.focus(),o=!1):e!==`loading`&&(G(n)?.focus(),o=!1)})});var l=Hr(),u=B(l),d=e=>{vd(e,{get preview(){return t.state},onclose:s})},f=e=>{Zu(e,{get state(){return t.state},onclose:s})},p=e=>{var i=Od(),a=z(i);Li(a,e=>L(n,e),()=>G(n));var o=V(a,2),s=e=>{J(e,yd())},l=e=>{J(e,bd())},u=e=>{var n=xd(),r=z(n,!0);M(n),H(()=>Y(r,t.catalog.error)),J(e,n)},d=e=>{J(e,Sd())},f=e=>{var n=Dd(),i=V(B(n),2);Z(i,21,()=>t.catalog.entries,e=>e.planName,(e,t)=>{var n=Ed(),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=wd(),r=B(n),i=z(r);M(r);var a=V(r,2),o=e=>{var n=Cd(),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,Td())};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),$e()}Pr([`click`]);var Ad=`settings`,jd=`drafts`,Md=`cursors`,Nd=`selected-session`;function Pd(e=globalThis.indexedDB){if(!e)return Fd;let t=yc(e);return{async readSelectedSession(){try{return await bc(await t,Ad,Nd)??null}catch{return null}},async saveSelectedSession(e){try{let n=await t;e?await xc(n,Ad,Nd,e):await Sc(n,Ad,Nd)}catch{}},async readDraft(e){try{return await bc(await t,jd,e)??``}catch{return``}},async saveDraft(e,n){try{await xc(await t,jd,e,n)}catch{}},async readCursor(e){try{let n=await bc(await t,Md,e);return typeof n==`number`&&Number.isSafeInteger(n)&&n>=0?n:0}catch{return 0}},async saveCursor(e,n){try{await xc(await t,Md,e,n)}catch{}}}}var Fd={readSelectedSession:async()=>null,saveSelectedSession:async()=>{},readDraft:async()=>``,saveDraft:async()=>{},readCursor:async()=>0,saveCursor:async()=>{}};function Id(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 Ld(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 Rd(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 zd(e){let t=/^\/home\/[^/]+/.exec(e)?.[0];if(!t)return e;let n=e.slice(t.length);return n?`~${n}`:`~/`}var Bd=q(`<time> </time>`),Vd=q(`<div> </div>`),Hd=q(`<span class="profile-badge svelte-hxb22h"> </span>`),Ud=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>`),Wd=q(`<div class="session-plan-progress svelte-hxb22h"><!></div>`),Gd=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>`),Kd=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>`),qd=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>`),Jd=q(`<ul class="session-list svelte-hxb22h" aria-label="Saved sessions"></ul>`),Yd=q(`<p>No saved sessions yet.</p>`),Xd=q(`<option> </option>`),Zd=q(`<p class="skills-profile-error svelte-hxb22h" role="alert"> </p>`),Qd=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>`),$d=q(`<ul class="session-list recent-session-list svelte-hxb22h" aria-label="Recent sessions"></ul>`),ef=q(`<p>No other recent Codex sessions found.</p>`),tf=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 nf(e,t){Qe(t,!0);let n=$(t,`activitySnapshots`,19,()=>new Map),r=$(t,`autopilotSnapshots`,19,()=>new Map),i=$(t,`autopilotPending`,19,()=>new Set),a=$(t,`autopilotAttention`,19,()=>new Map),o=$(t,`models`,19,()=>[]),s=$(t,`selectedModel`,3,``),c=$(t,`onmodelchange`,3,()=>{}),l=$(t,`onautopilottoggle`,3,()=>{}),u=$(t,`onautopilotresolve`,3,()=>{}),d=P(()=>t.sessions.filter(e=>e.state===`ready`||e.state===`turnActive`)),f=P(()=>t.sessions.filter(e=>e.state!==`ready`&&e.state!==`turnActive`)),p=P(()=>t.recentSessions.filter(e=>!G(d).some(t=>t.threadId===e.id))),m=P(()=>Ll(t.workspaceTree,t.workspaceId));var h=tf(),g=V(z(h),2),_=e=>{var s=Kd(),c=V(z(s),2);Z(c,21,()=>G(d),e=>e.id,(e,s)=>{let c=P(()=>Ld(G(s)));var d=Gd();let f;var p=z(d),m=z(p);{let e=P(()=>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)=>{Ue(),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)=>{Ue(),J(e,Vr(`Copy`))},$$slots:{default:!0}})};X(h,e=>{G(s).resumeCommand&&e(g)});var _=V(h,2);{let e=P(()=>r().get(G(s).id)??G(s).autopilot??null),t=P(()=>`session-autopilot-${G(s).id}`),n=P(()=>i().has(G(s).id));Ya(_,{compact:!0,indicatorOnly:!0,get autopilot(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},ontoggle:e=>l()(G(s).id,e)})}var v=V(_,2);{let e=P(()=>n().get(G(s).id)??G(s).agentActivity??null),t=P(()=>G(s).model??o()?.[0]);Na(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)=>{Ue(),J(e,Vr(`Close`))},$$slots:{default:!0}}),M(p);var y=V(p,2),b=z(y),x=z(b),S=e=>{var t=Bd(),n=z(t,!0);M(t),H((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(c).updatedAt).toISOString(),()=>Id(G(c).updatedAt)]),J(e,t)},C=e=>{var t=Vd(),n=z(t,!0);M(t),H(e=>Y(n,e),[()=>Id(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=Hd(),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),ee=e=>{var t=Hd(),n=z(t);M(t),H(()=>Y(n,`Branch: ${G(s).branch??``}`)),J(e,t)};X(O,e=>{G(s).branch&&e(ee)});var te=V(O,2),ne=e=>{var t=Hd(),n=z(t);M(t),H(()=>Y(n,`Skills profile: ${G(s).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(te,e=>{G(s).effectiveSkillSelection?.selectedProfileName&&e(ne)});var re=V(te,2),ie=e=>{var t=Ud(),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(re,e=>{G(s).lastOrgPlan&&e(ie)});var k=V(re,2),ae=e=>{var t=Wd(),n=z(t);{let e=P(()=>`Plan progress for ${G(s).plan.title}`);Nu(n,{compact:!0,get plan(){return G(s).plan},get label(){return G(e)}})}M(t),J(e,t)};X(k,e=>{G(s).plan&&e(ae)}),M(b);var oe=V(b,2);{let e=P(()=>a().get(G(s).id)??null),t=P(()=>`session-attention-${G(s).id}`),n=P(()=>i().has(G(s).id));Za(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=P(()=>r().get(G(s).id)??G(s).autopilot??null),t=P(()=>a().get(G(s).id)??null),n=P(()=>`session-autopilot-safety-${G(s).id}`),o=P(()=>i().has(G(s).id));$a(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)},[()=>zd(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=Jd();Z(n,21,()=>G(f),e=>e.id,(e,n)=>{let r=P(()=>Ld(G(n)));var i=qd(),a=z(i),o=z(a);{let e=P(()=>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)=>{Ue();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)=>{Ue(),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)=>{Ue(),J(e,Vr(`Forget`))},$$slots:{default:!0}}),M(a);var l=V(a,2),u=z(l),d=e=>{var t=Bd(),n=z(t,!0);M(t),H((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(r).updatedAt).toISOString(),()=>Id(G(r).updatedAt)]),J(e,t)},f=e=>{var t=Vd(),n=z(t,!0);M(t),H(e=>Y(n,e),[()=>Id(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=Hd(),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=Hd(),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=Hd(),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),[()=>zd(G(r).workspacePath)]),J(e,i)}),M(n),J(e,n)},b=e=>{J(e,Yd())};X(v,e=>{G(f).length?e(y):G(d).length||e(b,1)});var x=V(v,2),S=z(x),C=V(z(S),2);{let e=P(()=>G(m)?.id??null);Gl(C,{get roots(){return t.workspaceTree},get expandedIds(){return t.expandedIds},get selectedId(){return G(e)},get isSelectable(){return Ml.sessionBase},label:`Session base`,get onexpandedchange(){return t.onexpandedchange},onselect:e=>t.onworkspacechange(e.id)})}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=Xd(),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 ee=V(E,2),te=z(ee);te.value=te.__value=`workspace-write`;var ne=V(te);ne.value=ne.__value=`read-only`;var re=V(ne);re.value=re.__value=`danger-full-access`,M(ee);var ie;bi(ee);var k=V(ee,2),ae=z(k);ae.value=ae.__value=`untrusted`;var oe=V(ae);oe.value=oe.__value=`on-request`;var se=V(oe);se.value=se.__value=`never`,M(k);var ce;bi(k),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)=>{Ue(),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=Xd(),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=P(()=>!G(m)||t.startingSession);va(ge,{class:`new-session-button`,type:`submit`,primary:!0,get disabled(){return G(e)},children:(e,n)=>{Ue();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=$d();Z(n,21,()=>G(p),e=>e.id,(e,n)=>{var r=Qd(),i=z(r),a=z(i),o=e=>{var t=Bd(),r=z(t,!0);M(t),H((e,n)=>{Q(t,`datetime`,e),Y(r,n)},[()=>new Date(G(n).recencyAt*1e3).toISOString(),()=>Id(G(n).recencyAt*1e3)]),J(e,t)},s=e=>{var t=Vd(),n=z(t,!0);M(t),H(e=>Y(n,e),[()=>Id(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=Hd(),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=Hd(),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=Hd(),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)=>{Ue(),J(e,Vr(`Open`))},$$slots:{default:!0}}),va(V(_,2),{onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{Ue(),J(e,Vr(`Copy`))},$$slots:{default:!0}}),M(g),M(r),H(e=>Y(l,e),[()=>zd(G(n).cwd)]),J(e,r)}),M(n),J(e,n)},be=e=>{J(e,ef())};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)),ie!==(ie=t.sandbox)&&(ee.value=(ee.__value=t.sandbox)??``,yi(ee,t.sandbox)),ce!==(ce=t.approvalPolicy)&&(k.value=(k.__value=t.approvalPolicy)??``,yi(k,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`,ee,e=>t.onsandboxchange(e.currentTarget.value)),K(`change`,k,e=>t.onapprovalpolicychange(e.currentTarget.value)),K(`change`,me,e=>c()(e.currentTarget.value)),J(e,h),$e()}Pr([`change`]);function rf(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 af=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 of({chatEnabled:e}){return[`sessions`,`git`,...e?[`chat`]:[],`plan`]}function sf(e,t,n={chatEnabled:!0}){let r=of(n);return r[(r.indexOf(e)+t+r.length)%r.length]}var cf=q(`<nav class="bottom-navigation" aria-label="Primary"><button>Sessions</button> <button>Git</button> <button>Chat</button> <button>Plan</button></nav>`);function lf(e,t){Qe(t,!0);let n=$(t,`focusTab`,3,null),r=R({});Mn(()=>{n()&&r[n()]?.focus()});function i(e){let n=e.key===`ArrowRight`?1:e.key===`ArrowLeft`?-1:null;if(n===null)return;e.preventDefault();let i=sf(t.activeTab,n,{chatEnabled:t.chatEnabled});t.onselect(i),r[i]?.focus()}var a=cf(),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),$e()}Pr([`keydown`,`click`]);var uf=q(`<option> </option>`),df=q(`<p id="skills-status" aria-live="polite">Loading skills…</p>`),ff=q(`<p id="skills-status">No skills were discovered for this workspace and Codex profile.</p>`),pf=q(`<p id="skills-status" class="notice svelte-dg6sjj" role="status"> </p>`),mf=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert"> </p>`),hf=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert" tabindex="-1"> </p>`),gf=q(`<p id="skills-status" role="status">Profile saved.</p>`),_f=q(`<p id="skills-status" role="status">Profile deleted.</p>`),vf=q(`<p class="svelte-dg6sjj"> </p>`),yf=q(`<li> </li>`),bf=q(`<dt class="svelte-dg6sjj">Tool dependencies</dt> <dd class="svelte-dg6sjj"><ul class="svelte-dg6sjj"></ul></dd>`,1),xf=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>`),Sf=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),Cf=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 wf(e,t){Qe(t,!0);let n=$(t,`skillsState`,7),r=$(t,`heading`,3,`Manage skill profiles`),i=I(0),a=I(null),o=I(null),s=I(null),c=I(null),l=I(`__new__`),u=P(()=>(G(i),n())),d=P(()=>G(u).profiles.filter(e=>!(`error`in e)));function f(){n(Object.assign(Object.create(Object.getPrototypeOf(n())),n())),L(i,G(i)+1)}async function p(){await t.onrefresh(),f()}function m(e){L(l,e.currentTarget.value,!0),G(l)===`__new__`||G(l)===`__default__`?G(u).selectDefaultProfile():G(u).selectProfile(G(l)),f()}async function h(e){e.preventDefault(),await G(u).save(),f(),G(u).status.kind===`saved`&&(L(l,G(u).selectedProfileName,!0),t.onprofileschange()),G(u).status.kind===`save-failed`&&(await Cr(),G(a)?.focus())}function g(){G(c)?.showModal()}async function _(){G(c)?.close(),await G(u).deleteSelectedProfile(),f(),G(u).status.kind===`deleted`&&(L(l,`__new__`),t.onprofileschange()),await 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=Cf(),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 ee=V(O);ee.value=ee.__value=`__default__`,Z(V(ee),17,()=>G(d),e=>e.name,(e,t)=>{var n=uf(),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=>L(o,e),()=>G(o));var te=V(D,4);Di(te),M(E);var ne=V(E,2),re=z(ne,!0);M(ne);var ie=V(ne,2),k=z(ie);Li(k,e=>L(s,e),()=>G(s));var ae=V(k,2),oe=z(ae,!0);M(ae),M(ie),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=>L(c,e),()=>G(c));var pe=V(se,2),me=e=>{J(e,df())},he=e=>{J(e,ff())},ge=e=>{var t=pf(),n=z(t);M(t),H(()=>Y(n,`Discovery warning: ${G(u).status.message??``}`)),J(e,t)},_e=e=>{var t=mf(),n=z(t,!0);M(t),H(()=>Y(n,G(u).status.message)),J(e,t)},ve=e=>{var t=hf(),n=z(t,!0);M(t),Li(t,e=>L(a,e),()=>G(a)),H(()=>Y(n,G(u).status.message)),J(e,t)},ye=e=>{J(e,gf())},be=e=>{J(e,_f())},xe=e=>{var t=mf(),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=Sf(),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=xf();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=vf(),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=vf(),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=bf(),r=V(B(n),2),i=z(r);Z(i,21,()=>G(t).dependencies.tools,e=>`${e.type}:${e.value}`,(e,t)=>{var n=yf(),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(te,G(u).saveAsName),Y(re,G(u).saveIntent===`replace`?`Saved the selected profile.`:`Creating a new saved profile.`),k.disabled=!G(u).selectedProfileName||G(u).status.kind===`deleting`,ae.disabled=G(u).status.kind===`saving`,Y(oe,G(u).status.kind===`saving`?`Saving profile…`:`Save profile`),Y(le,`Delete ${G(u).selectedProfileName??``}? Existing sessions keep their saved skill set.`)}),Nr(`submit`,T,h),K(`change`,D,m),xi(D,()=>G(l),e=>L(l,e)),K(`input`,te,e=>{G(u).saveAsName=e.currentTarget.value,f()}),K(`click`,k,g),K(`click`,de,()=>void v()),K(`click`,fe,()=>void _()),J(e,S),$e()}Pr([`change`,`input`,`click`]);var Tf=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:Ef(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:Ef(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:Ef(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:Ef(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 Ef(e){return e instanceof Error?e.message:`Unknown relay error.`}var Df=o(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),Of=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)}})),kf=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}}})),Af=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})),jf=o(((e,t)=>{function n(e){if(!e||e<1)throw Error(`BitMatrix size must be defined and greater than 0`);this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}n.prototype.set=function(e,t,n,r){let i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},n.prototype.get=function(e,t){return this.data[e*this.size+t]},n.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},n.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},t.exports=n})),Mf=o((e=>{var t=Of().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}})),Nf=o((e=>{var t=Of().getSymbolSize,n=7;e.getPositions=function(e){let r=t(e);return[[0,0],[r-n,0],[0,r-n]]}})),Pf=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}})),Ff=o((e=>{var t=kf(),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}}})),If=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]]}})),Lf=o((e=>{var t=If();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}})),Rf=o(((e,t)=>{var n=Lf();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})),zf=o((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),Bf=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
|
|
20
|
+
]))+`;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)}})),Vf=o((e=>{var t=zf(),n=Bf();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}}})),Hf=o((e=>{var t=Of(),n=Ff(),r=kf(),i=Vf(),a=zf(),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}})),Uf=o((e=>{var t=Of(),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}})),Wf=o(((e,t)=>{var n=Vf();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})),Gf=o(((e,t)=>{var n=Vf(),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})),Kf=o(((e,t)=>{var n=Vf();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})),qf=o(((e,t)=>{var n=Vf(),r=Of();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]+`
|
|
21
|
+
Make sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=i})),Jf=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)})),Yf=o((e=>{var t=Vf(),n=Wf(),r=Gf(),i=Kf(),a=qf(),o=Bf(),s=Of(),c=Jf();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)+`.
|
|
22
|
+
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()))}})),Xf=o((e=>{var t=Of(),n=kf(),r=Af(),i=jf(),a=Mf(),o=Nf(),s=Pf(),c=Ff(),l=Rf(),u=Hf(),d=Uf(),f=Vf(),p=Yf();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(`
|
|
23
23
|
The chosen QR Code version cannot contain this amount of data.
|
|
24
24
|
Minimum version required to store current data is: `+c+`.
|
|
25
|
-
`);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)}})),
|
|
26
|
-
`;return typeof a==`function`&&a(null,p),p}})),Jf=c(o((e=>{var t=xf(),n=Wf(),r=Kf(),i=qf();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 Yf(e){return`${e.replace(/\/$/,``)}/?bootstrap=1`}async function Xf(e){return Jf.toDataURL(Yf(e),{errorCorrectionLevel:`M`,margin:1,width:256})}async function Zf(e){return Jf.toDataURL(e,{errorCorrectionLevel:`M`,margin:1,width:256})}var Qf=q(`<p class="feedback svelte-1nygetn" role="status"> </p>`),$f=q(`<span class="svelte-1nygetn">At least one authorized device is required.</span>`),ep=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>`),tp=q(`<ul aria-label="Authorized devices" class="svelte-1nygetn"></ul>`),np=q(`<p role="status" class="svelte-1nygetn">No authorized devices are available. Refresh this page before making changes.</p>`),rp=q(`<button type="button" class="svelte-1nygetn">Create enrollment link</button>`),ip=q(`<img alt="QR code for the enrollment link" class="svelte-1nygetn"/>`),ap=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),op=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 sp(e,t){Qe(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=I(R([])),i=I(``),a=I(null),o=I(`none`),s=I(null),c=I(null),l=I(null),u=I(null),d=I(R(Date.now())),f=P(()=>[...G(r)].sort((e,t)=>e.createdAt.localeCompare(t.createdAt))),p=P(()=>G(a)?Math.max(0,Math.ceil((Date.parse(G(a).expiresAt)-G(d))/1e3)):0),m=P(()=>`${Math.floor(G(p)/60)}:${String(G(p)%60).padStart(2,`0`)}`);function h(e){let t=e.trim();return[...t].length>=1&&[...t].length<=64}function g(){G(u)&&clearInterval(G(u)),L(u,null)}function _(){g(),L(u,setInterval(()=>void b(),15e3),!0)}function v(){return!!(G(a)&&G(o)===`pending`&&G(p)>0&&document.visibilityState===`visible`)}async function y(){try{L(r,(await t.client.list()).devices,!0)}catch{L(i,`Could not refresh authorized devices. Try again.`)}}async function b(){if(!v()){G(p)===0&&G(a)&&L(o,`expired`),g();return}try{L(o,(await t.client.ticketStatus()).status,!0),G(o)!==`pending`&&(g(),G(o)===`used`&&await y())}catch{g()}}async function x(){L(i,``);try{L(a,await t.client.createTicket(),!0),L(o,`pending`),L(s,await Zf(G(a).url),!0),L(d,Date.now(),!0),_()}catch{L(i,`Could not create an enrollment link. Try again.`)}}async function S(){try{L(o,(await t.client.cancelTicket()).status,!0),L(a,null),L(s,null),g()}catch{L(i,`Could not cancel the enrollment link. Try again.`)}}async function C(){await S(),G(i)||await x()}async function w(e,n){if(!h(n)){L(i,`Device nicknames must be 1–64 characters.`);return}L(i,``);try{await t.client.rename(e.id,n.trim()),await y()}catch{L(i,`Could not rename this device. Try again.`)}}function T(e){G(f).length>1&&(L(l,e,!0),G(c)?.showModal())}async function E(){if(G(l))try{await t.client.revoke(G(l).id),G(c)?.close(),G(l).current?t.onlock():await y()}catch{L(i,`This device could not be revoked. Try again.`)}}async function D(){if(G(a))try{await navigator.clipboard.writeText(G(a).url)}catch{L(i,`Copy is unavailable here. Select the visible link instead.`)}}function O(){document.visibilityState===`visible`&&G(o)===`pending`&&G(p)>0?(b(),_()):g()}Ri(()=>{y(),document.addEventListener(`visibilitychange`,O);let e=setInterval(()=>L(d,Date.now(),!0),1e3);return()=>clearInterval(e)}),zi(()=>{g(),document.removeEventListener(`visibilitychange`,O)});var ee=op(),te=B(ee),ne=z(te),re=z(ne);Ue(2),M(ne);var ie=V(ne,2),k=e=>{var t=Qf(),n=z(t,!0);M(t),H(()=>Y(n,G(i))),J(e,t)};X(ie,e=>{G(i)&&e(k)});var ae=V(ie,2),oe=e=>{var t=tp();Z(t,21,()=>G(f),e=>e.id,(e,t)=>{var n=ep(),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=$f();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,np())};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=rp();K(`click`,t,()=>void x()),J(e,t)},de=e=>{var t=ap(),r=B(t),i=z(r,!0);M(r);var c=V(r,2),l=e=>{var t=ip();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(te);var fe=V(te,2),pe=V(z(fe),4),me=V(z(pe));M(pe),M(fe),Li(fe,e=>L(c,e),()=>G(c)),K(`click`,re,function(...e){t.onclose?.apply(this,e)}),K(`click`,me,()=>void E()),J(e,ee),$e()}Pr([`click`]);async function cp(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 lp(e){return{list:()=>cp(e(`/api/auth/devices`,{credentials:`same-origin`})),rename:(t,n)=>cp(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`PATCH`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({nickname:n})})),revoke:t=>cp(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`DELETE`,credentials:`same-origin`})),createTicket:()=>cp(e(`/api/auth/enrollment-tickets`,{method:`POST`,credentials:`same-origin`})),ticketStatus:()=>cp(e(`/api/auth/enrollment-tickets/current`,{credentials:`same-origin`})),cancelTicket:()=>cp(e(`/api/auth/enrollment-tickets/current`,{method:`DELETE`,credentials:`same-origin`}))}}var up=`gestalt-mobile.scratchpad`;function dp(){try{return window.localStorage}catch{return null}}function fp(e){try{return e?.getItem(`gestalt-mobile.scratchpad`)??``}catch{return``}}function pp(e,t){try{return e?(e.setItem(up,t),!0):!1}catch{return!1}}function mp(e){try{return e?(e.removeItem(up),!0):!1}catch{return!1}}var hp=q(`<p class="feedback svelte-eu5bnq" role="status"> </p>`),gp=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>`),_p=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>`),vp=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 yp(e,t){Qe(t,!0);let n=$(t,`storage`,19,dp),r=$(t,`clipboard`,19,()=>globalThis.navigator?.clipboard),i=I(null),a=I(null),o=I(null),s=I(``),c=I(!1),l=I(``);Ri(async()=>{L(s,fp(n()),!0),await Cr(),G(i)?.showModal(),G(a)?.focus()});function u(e){L(s,e,!0),L(l,pp(n(),e)?``:`This browser could not save the scratchpad. Keep this window open until you copy the text.`,!0)}async function d(){if(!r()?.readText){L(l,`Clipboard paste is unavailable here. Long-press the text field and choose Paste.`),G(a)?.focus();return}try{let e=await r().readText(),t=G(a)?.selectionStart??G(s).length,n=G(a)?.selectionEnd??G(s).length;u(`${G(s).slice(0,t)}${e}${G(s).slice(n)}`),await Cr();let i=t+e.length;G(a)?.focus(),G(a)?.setSelectionRange(i,i)}catch{L(l,`Clipboard paste was not permitted. Long-press the text field and choose Paste.`),G(a)?.focus()}}async function f(){L(c,!0),L(l,``),await Cr(),G(o)?.focus()}function p(){L(c,!1),G(a)?.focus()}function m(){if(!mp(n())){L(l,`This browser could not clear its saved scratchpad.`);return}L(s,``),L(c,!1),L(l,``),G(a)?.focus()}var h=vp(),g=z(h),_=z(g),v=V(z(_),2);M(_);var y=V(_,4);Sn(y),Li(y,e=>L(a,e),()=>G(a));var b=V(y,2),x=e=>{var t=hp(),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=gp(),n=V(z(t),4),r=z(n);Li(r,e=>L(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=_p(),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=>L(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),$e()}Pr([`click`,`input`]);var bp=q(`<button class="disclosure svelte-am0nvt" type="button"> </button>`),xp=q(`<span class="disclosure svelte-am0nvt"></span>`),Sp=q(`<span class="unsupported svelte-am0nvt">Files cannot be destinations</span>`),Cp=q(`<span class="unsupported svelte-am0nvt">Unsupported link</span>`),wp=q(`<span role="status">Loading…</span>`),Tp=q(`<button type="button" class="svelte-am0nvt"> </button>`),Ep=q(`<div role="group"><!> <!> <!> <!></div>`),Dp=q(`<div role="treeitem"><div class="tree-row svelte-am0nvt" role="presentation"><!> <span class="tree-label svelte-am0nvt"> </span><!></div> <!></div>`),Op=q(`<p role="status">Loading files…</p>`),kp=q(`<button type="button" class="svelte-am0nvt">Retry loading files</button>`),Ap=q(`<button type="button" class="svelte-am0nvt">Load more in root</button>`),jp=q(`<div class="file-tree svelte-am0nvt" role="tree" aria-label="Files"><!> <!> <!> <!></div>`);function Mp(e,t){Qe(t,!0);let n=$(t,`destinationMode`,3,!1),r=$(t,`ondestinationselect`,3,()=>{}),i=$(t,`onselectionchange`,3,()=>{}),a=R({}),o=I(``),s=P(()=>t.revision<0?{entries:[],loading:!1,error:!1}:t.controller.state(``)),c=P(()=>{if(t.revision<0)return[];let e=[],n=(r,i)=>{for(let a of t.controller.state(r).entries)e.push({entry:a,level:i,parent:r}),a.kind===`directory`&&t.controller.expanded.has(a.path)&&n(a.path,i+1)};return n(``,1),e});function l(e){L(o,e,!0),a[e]?.focus()}function u(e){t.controller.expanded.has(e.path)?t.controller.collapse(e.path):t.controller.expand(e.path)}function d(e,n,r){let i=n.entry,a=n.parent,o=e=>{let t=G(c)[Math.max(0,Math.min(G(c).length-1,e))];t&&l(t.entry.path)};switch(e.key){case`ArrowDown`:e.preventDefault(),o(r+1);break;case`ArrowUp`:e.preventDefault(),o(r-1);break;case`Home`:e.preventDefault(),o(0);break;case`End`:e.preventDefault(),o(G(c).length-1);break;case`ArrowRight`:i.kind===`directory`&&(e.preventDefault(),t.controller.expanded.has(i.path)?o(r+1):u(i));break;case`ArrowLeft`:e.preventDefault(),i.kind===`directory`&&t.controller.expanded.has(i.path)?t.controller.collapse(i.path):a&&l(a);break;case`Enter`:case` `:e.preventDefault(),f(i);break}}function f(e){if(e.kind!==`symlink`){if(n()){e.kind===`directory`&&r()(e.path);return}t.controller.select(e.path),i()(e.path)}}var p=jp();{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=P(()=>G(i).kind===`directory`),p=P(()=>G(c).find(e=>e.entry.path===G(i).path)),m=P(()=>G(c).findIndex(e=>e.entry.path===G(i).path));var h=Dp();let g;var _=z(h);let v;var y=z(_),b=e=>{var n=bp(),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,xp())};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,Sp())},E=e=>{var t=Cp();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=P(()=>t.controller.state(G(i).path));var a=Ep(),o=z(a),c=e=>{J(e,wp())};X(o,e=>{G(r).loading&&e(c)});var l=V(o,2),u=e=>{var n=Tp(),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=Tp(),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)},ee=P(()=>G(l)&&t.controller.expanded.has(G(i).path));X(D,e=>{G(ee)&&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,()=>L(o,G(i).path,!0)),K(`keydown`,h,e=>d(e,G(p),G(m))),K(`click`,h,()=>f(G(i))),J(r,h)}),J(r,l)};var m=z(p),h=e=>{J(e,Op())};X(m,e=>{G(s).loading&&e(h)});var g=V(m,2),_=e=>{var n=kp();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=Ap();K(`click`,n,()=>void t.controller.load(``,!0)),J(e,n)};X(y,e=>{G(s).cursor&&e(x)}),M(p)}J(e,p),$e()}Pr([`keydown`,`click`]);var Np=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?Pp(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 Pp(e,t){let n=new Set(e.map(e=>e.path));return[...e,...t.filter(e=>!n.has(e.path))]}var Fp=25*1024*1024;function Ip(e){return[...e].map(e=>({file:e,status:e.size>26214400?`too-large`:`queued`}))}function Lp(e){return e.findIndex(e=>e.status===`queued`)}var Rp={phase:`idle`};function zp(e,t){return{phase:`picking`,kind:e,source:t}}function Bp(e,t){return e.phase===`picking`?{...e,destination:t}:e}function Vp(e){return e.phase!==`picking`||e.destination===void 0?e:{...e,phase:`submitting`}}function Hp(e,t){return e.phase===`submitting`?{...e,phase:`conflict`,replaceAllowed:t}:e}function Up(e){return e.phase===`submitting`?{...e,phase:`failed`}:e}function Wp(e,t){return e.phase!==`picking`||!e.source||e.kind===`move`&&Gp(e.source)===t?!1:!(t===e.source||t.startsWith(`${e.source}/`))}function Gp(e){let t=e.lastIndexOf(`/`);return t<0?``:e.slice(0,t)}var Kp=q(`<li> </li>`),qp=q(`<button type="button" class="svelte-qx7639">Replace</button>`),Jp=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>`),Yp=q(`<button type="button" class="svelte-qx7639">Cancel uploads</button>`),Xp=q(`<section class="picker svelte-qx7639" aria-label="Upload queue" aria-live="polite"><p class="svelte-qx7639"> </p> <ul></ul> <!></section>`),Zp=q(`<div class="browser-actions svelte-qx7639" aria-label="Selected file actions"><button type="button" class="svelte-qx7639">Copy</button> <button type="button" class="svelte-qx7639">Move</button> <button type="button" class="svelte-qx7639">Delete</button></div>`),Qp=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>`),$p=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>`),em=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>`),tm=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>`),nm=q(`<section aria-label="File browser error"><p class="svelte-qx7639">Files could not be read. Try again.</p></section>`),rm=q(`<p role="status" class="svelte-qx7639">This folder is empty.</p>`),im=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 am(e,t){Qe(t,!0);let n=$(t,`onsuccess`,3,()=>{}),r=$(t,`onmutation`,3,()=>{}),i=I(null),a=I(null),o=I(0),s=I(null),c=I(R(Rp)),l=I(null),u=I(``),d=I(!1),f=I(!1),p=I(null),m=I(null),h=I(R([])),g=I(!1),_=I(null),v=I(null),y=P(()=>G(o)<0?{entries:[],loading:!1,error:!1}:G(s)?.state(``)??{entries:[],loading:!0,error:!1}),b=P(()=>{if(!G(s)||!G(u))return;let e=G(u).includes(`/`)?G(u).slice(0,G(u).lastIndexOf(`/`)):``;return G(s).state(e).entries.find(e=>e.path===G(u))}),x=P(()=>`Files in ${t.root.relativePath===`.`?`~/`:`~/${t.root.relativePath}`}`);Ri(async()=>{L(s,new Np(t.root.id,t.listDirectory,()=>{L(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=P(()=>G(b)?.kind===`directory`||!G(u)?G(u):``),w=P(()=>G(C)||``);async function T(e=`reject`){if(!(G(g)||!G(s))){L(g,!0);try{for(;;){let n=G(v)?.index??Lp(G(h));if(L(v,null),n<0)break;let i=G(h)[n];if(!i||i.status===`too-large`)continue;L(h,G(h).map((e,t)=>t===n?{...e,status:`uploading`}:e),!0);let a=new AbortController;L(_,a,!0);try{let o=await t.uploadFile(t.root.id,{directory:G(w),filename:i.file.name,conflict:e,file:i.file},Ra(),a.signal);L(h,G(h).map((e,t)=>t===n?{...e,status:`completed`,path:o.path}:e),!0),await G(s).refresh(G(w)),G(s).select(G(w)),L(u,G(w),!0),r()(),e=`reject`}catch(e){let r=e;if(r.status===409){L(h,G(h).map((e,t)=>t===n?{...e,status:`queued`}:e),!0),L(v,{index:n,replaceAllowed:r.replaceAllowed===!0},!0);break}L(h,G(h).map((e,t)=>t===n?{...e,status:a.signal.aborted?`cancelled`:`failed`}:e),!0),t.onerror(e)}finally{L(_,null)}}}finally{L(g,!1);let e=G(h).filter(e=>e.status===`completed`).length;e&&n()(`Uploaded ${e} file${e===1?``:`s`}.`)}}}function E(e){!e||e.length===0||(L(h,Ip(e),!0),T())}function D(){G(_)?.abort(),L(h,G(h).map(e=>e.status===`queued`||e.status===`uploading`?{...e,status:`cancelled`}:e),!0),L(v,null)}function O(e){if(G(c).phase===`submitting`||G(f)){e.preventDefault();return}e.preventDefault(),S()}async function ee(){if(!(!G(u)||G(f))){L(f,!0);try{let e=G(u).includes(`/`)?G(u).slice(0,G(u).lastIndexOf(`/`)):``;await t.deleteEntry(t.root.id,G(u),Ra()),await G(s)?.refresh(e),G(s)?.select(e),L(u,e,!0),n()(`Deleted item.`),r()(),L(d,!1)}catch(e){t.onerror(e)}finally{L(f,!1)}}}async function te(){L(d,!0),await Cr(),G(p)?.focus()}function ne(e){G(u)&&L(c,zp(e,G(u)),!0)}function re(e){Wp(G(c),e)&&L(c,Bp(G(c),e),!0)}async function ie(e=`reject`){if(!G(s)||G(c).phase!==`picking`&&G(c).phase!==`conflict`)return;let i=G(c).phase===`picking`?Vp(G(c)):{...G(c),phase:`submitting`};if(!(!i.source||i.destination===void 0||!i.kind)){L(c,i,!0);try{let a=await(i.kind===`copy`?t.copyEntry:t.moveEntry)(t.root.id,{source:i.source,destinationDirectory:i.destination,conflict:e},Ra()),o=i.source.includes(`/`)?i.source.slice(0,i.source.lastIndexOf(`/`)):``;i.kind===`copy`?await G(s).refresh(i.destination):await Promise.all([G(s).refresh(o),G(s).refresh(i.destination)]),G(s).select(a.path),n()(`${i.kind===`copy`?`Copied`:`Moved`} ${a.path}.`),r()(),L(c,Rp,!0)}catch(e){let n=e;n.status===409?(L(c,Hp(i,n.replaceAllowed===!0),!0),await Cr(),G(l)?.focus()):(L(c,Up(i),!0),t.onerror(e))}}}var k=im(),ae=z(k),oe=z(ae),se=z(oe),ce=z(se),le=z(ce,!0);M(ce),Li(ce,e=>L(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=>L(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=Xp(),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=Kp(),r=z(n);M(n),H(()=>Y(r,`${G(t).file.name??``}: ${G(t).path??G(t).status??``}${G(t).status===`too-large`?` (maximum ${Fp/1024/1024} MiB)`:``}`)),J(e,n)}),M(i);var a=V(i,2),o=e=>{var t=Jp(),n=z(t),r=e=>{var t=qp();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=Yp();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=Zp(),n=z(t),r=V(n,2),i=V(r,2);M(t),K(`click`,n,()=>ne(`copy`)),K(`click`,r,()=>ne(`move`)),K(`click`,i,()=>void te()),J(e,t)};X(Se,e=>{G(s)&&G(c).phase===`idle`&&G(b)&&G(b).kind!==`symlink`&&e(Ce)});var we=V(Se,2),Te=e=>{var t=Qp(),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=>L(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,()=>L(d,!1)),K(`click`,c,()=>void ee()),J(e,t)};X(we,e=>{G(d)&&G(b)&&e(Te)});var Ee=V(we,2),De=e=>{var t=$p(),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??``}`)},[()=>!Wp(G(c),``)]),K(`click`,u,()=>re(``)),K(`click`,d,()=>void ie()),K(`click`,p,()=>L(c,Rp,!0)),J(e,t)},Oe=e=>{var t=em(),n=V(z(t),2),r=z(n,!0);M(n);var i=V(n,2),a=z(i),o=e=>{var t=qp();K(`click`,t,()=>void ie(`replace`)),J(e,t)};X(a,e=>{G(c).replaceAllowed&&e(o)});var s=V(a,2),u=V(s,2);M(i),M(t),Li(t,e=>L(l,e),()=>G(l)),H(()=>Y(r,G(c).destination)),K(`click`,s,()=>void ie(`keep-both`)),K(`click`,u,()=>L(c,Rp,!0)),J(e,t)},ke=e=>{var t=tm(),n=V(z(t),2),r=z(n),i=V(r);M(n),M(t),K(`click`,r,()=>L(c,{...G(c),phase:`picking`},!0)),K(`click`,i,()=>L(c,Rp,!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,nm())},Me=e=>{J(e,rm())};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=P(()=>G(c).phase===`picking`);Mp(e,{get controller(){return G(s)},get revision(){return G(o)},get destinationMode(){return G(t)},ondestinationselect:re,onselectionchange:e=>L(u,e,!0)})}}),J(e,t)};X(Ne,e=>{G(s)&&e(Pe)}),M(ae),M(k),Li(k,e=>L(i,e),()=>G(i)),H(()=>{Y(le,G(x)),Y(de,G(c).phase===`picking`?`Choose destination folder.`:`Browse folders and select a position.`),me.disabled=G(y).loading,Y(ve,`Upload destination: ${(G(b)?.kind===`file`?`Select a folder first`:G(u)||`root folder`)??``}`),ye.disabled=G(b)?.kind===`file`||G(g)}),Nr(`close`,k,function(...e){t.onclose?.apply(this,e)}),Nr(`cancel`,k,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,k),$e()}Pr([`click`,`change`]);var om=q(`<main class="evidence-mode svelte-1d2e8zz"><!></main>`),sm=q(`<span class="detached-chat-model svelte-1d2e8zz"> </span>`),cm=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>`),lm=q(`<div class="recovery-notice" role="status" aria-live="polite" aria-atomic="true"><span> </span> <button type="button">Dismiss</button></div>`),um=q(`<!> <!> <div class="chat-controls svelte-1d2e8zz" aria-label="Chat controls"><!> <!></div> <div class="chat-tail svelte-1d2e8zz" aria-hidden="true"></div>`,1),dm=q(`<p> </p>`),fm=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>`),pm=q(`<p>Loading skill profiles…</p>`),mm=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>`),hm=q(`<!> <!> <!> <!>`,1),gm=q(`<main class="swipe-surface svelte-1d2e8zz"><!> <!> <!> <!></main> <!>`,1);function _m(e,t){Qe(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=Tc(location.search),i=I(null),a=I(R(r?`chat`:`sessions`)),o=I(!1),s=I(!1),c=I(null),l=I(null),u=!1,d=I(`Loading relay…`),f=I(R(Er(()=>t.theme))),p=I(R([])),m=`gpt-5.6-terra`,h=I([m]),g=I(m),_=I([]),v=I(null),y=I(`list`),b=I([]),x=I(``),S=I(``),C=I(``),w=I(R(new Set)),T=I(null),E=I(R([])),D=I(new Map),O=I({snapshots:new Map,attention:new Map,pending:new Set,errors:new Map}),ee=0,te=null,ne=P(()=>G(E).some(e=>e.id===G(T))),re=I(R([])),ie=I(`workspace-write`),k=I(`on-request`),ae=I(R({starting:!1,error:null})),oe=P(()=>G(ae).starting),se=I(null),ce=0,le=I(null),ue=I(null),de=I(null),fe=I(``),pe=I(R({kind:`unavailable`,sessionId:null})),me=I({kind:`no-workspace`}),he=I(null),ge=I(null),_e=I(!1),ve=null,ye=null,be=0,xe=0,Se=I(null),Ce=P(()=>(G(E).find(e=>e.id===G(T))?.workspaceId??G(C))||null),we=P(()=>G(E).find(e=>e.id===G(T))?.workspacePath??null),Te=P(()=>G(E).find(e=>e.id===G(T))??null),Ee=P(()=>Nd(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=P(()=>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=P(()=>yu(G(pe).kind===`ready`||G(pe).kind===`closing`||G(pe).kind===`error`?G(pe).plan:void 0)),je=I(R({workspaceId:null,summary:null,loading:!1,refreshing:!1,checkingOut:!1,error:null})),Me=P(()=>G(je).workspaceId),Ne=I(R(new Set)),Pe=I(!1),Fe=I(!1),Ie=I(null),Le=I(null),Re=I(null),ze=R({}),A=I({}),Be=I(null),j=``,Ve=new ml({requestFrame:e=>requestAnimationFrame(e),cancelFrame:e=>cancelAnimationFrame(e),reducedMotion:()=>window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,scrollTail:e=>G(Be)?.scrollIntoView({block:`end`,behavior:e})}),He=new hl(e=>void Cr().then(e),e=>{G(a)===`chat`&&Ve.request(e)}),Ue=P(()=>{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.`:``:``}),We=lu((e,n)=>t.authorizedFetch(e,n)),Ge=new Ga(We,e=>L(O,e)),Ke=new La({relay:We,publish:e=>L(D,new Map(e)),onEvent:(e,t)=>Ge.observe(e,t),onAuthoritativeSnapshot:(e,t)=>Ge.applyAuthoritative(e,t)}),qe=new fl({relay:We,cache:Cc(),publish:e=>L(i,e,!0),onSessionEvent:e=>vn(e),onRelayEvent:e=>{G(T)&&Ke.observe(G(T),e)},onHistoryError:e=>{L(d,hn(e,`SESSION_HISTORY_READ_FAILED`),!0)},onSendError:(e,t)=>{let n=_l(e,`MESSAGE_SEND_FAILED`);L(le,n.message,!0),L(ue,n.retryable?t:null,!0),L(d,hn(e,`MESSAGE_SEND_FAILED`),!0)},onSendAccepted:e=>{G(ue)===e&&(L(le,null),L(ue,null))}}),Je=new Qd({start:We.startSession},Ra,e=>L(ae,e,!0)),Ye=new ru({getSummary:We.getGitSummary,pull:We.pullGit,checkout:We.checkoutGitBranch},e=>!!jl(G(p),e)?.isGitRepository,e=>L(je,e,!0),(e,t)=>hn(e,t)),Xe=lp((e,n)=>t.authorizedFetch(e,n)),N=vu({getPlan:We.getPlan,closePlan:We.closePlan},e=>L(pe,e,!0)),Ze=Od(),et=yl(),tt=new URLSearchParams(location.search).get(`tree-evidence`),nt=new URLSearchParams(location.search).get(`toast-evidence`),rt=new URLSearchParams(location.search).get(`activity-evidence`),it=eo(window.sessionStorage),at=new Set;Mn(()=>{for(let[e,t]of G(O).attention){let n=`${e}:${t.requestId}`;it.claim(n)&&et.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),!at.has(r)&&(at.add(r),et.enqueue({kind:`error`,message:n}))}for(let t of at)e.has(t)||at.delete(t)});function ot(){L(s,!0)}function st(){L(s,!1),Cr().then(()=>document.querySelector(`.menu-trigger`)?.focus())}Ri(async()=>{if(!(tt===`sessions`||tt===`git`||nt===`error`||nt===`stacked`))try{let e=await fc(t.authorizedFetch);L(C,Ml(G(C)||null,G(p),e.workspaces,El.sessionBase)??``,!0),L(p,e.workspaces,!0),L(_,e.profiles),L(h,[...new Set([m,...e.models??[]])]),r||await Gt(),L(w,Dl(G(p)),!0),L(Ne,Dl(G(p)),!0);let n=r?null:await Ze.readSelectedSession();L(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)&&L(fe,await Ze.readDraft(G(T)),!0),L(E,e.sessions,!0);let i=Oe(e.sessions.filter(e=>[`ready`,`turnActive`].includes(e.state)));Ke.bootstrap(i,G(T)),Ge.bootstrap(i),r||_t(),N.select(G(T)),G(T)?qe.select(G(T)):r&&L(d,`This session is no longer open in Gestalt Mobile.`)}catch(e){L(d,hn(e,`RELAY_UNAVAILABLE`),!0)}}),Mn(()=>{if(!G(Be))return;let e=new IntersectionObserver(([e])=>Ve.observeTail(e?.isIntersecting??!1),{root:null});return e.observe(G(Be)),()=>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===j||(j=n,t===`chat`&&ct(`content`))});function ct(e){He.schedule(e)}function lt(){He.invalidate(),Ve.reset(),L(a,`chat`),Yt(`chat`),ct(`initial`),Xt()}function ut(e){L(f,$i(e),!0)}function dt(){if(!G(T))return;let e=window.open(Ec(location.href,G(T)),Dc(G(T)),`popup,width=760,height=900`);if(!e){et.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(()=>{He.invalidate(),Ve.cancel(),qe.dispose(),Ke.dispose(),Ge.dispose(),N.dispose(),Ye.dispose(),Je.dispose(),G(v)?.dispose()});async function ft(){if(!G(C)||G(oe))return;let e=Zd({workspaceId:G(C),profile:`default`,profileState:`ok`});if(e.profile){L(d,e.profile,!0);return}L(d,`Starting session…`);let t=await Je.start(G(C),{sandbox:G(ie),approvalPolicy:G(k),model:G(g),skillProfile:G(x)||void 0});if(!t){G(ae).error&&L(d,hn(Error(G(ae).error),`SESSION_START_FAILED`),!0);return}try{L(T,t.id,!0),N.select(t.id),Ze.saveSelectedSession(t.id),await pt(),L(fe,await Ze.readDraft(t.id),!0),qe.select(t.id,{history:`empty`}),Ke.select(t.id),lt(),L(d,`Session started.`)}catch(e){L(d,hn(e,`SESSION_START_FAILED`),!0)}}async function pt(){let e=++ee;te?.abort();let t=new AbortController;te=t;try{let n=await We.listSessions(t.signal);if(e!==ee||t.signal.aborted)return;L(E,n,!0);let r=Oe(G(E).filter(e=>[`ready`,`turnActive`].includes(e.state)));Ke.bootstrap(r,G(T)),Ge.bootstrap(r)}catch(e){if(t.signal.aborted||_n(e))return;throw e}finally{te===t&&(te=null)}}async function mt(e,t){await Ge.toggle(e,t),e===G(T)&&pt().catch(()=>{})}async function ht(e){await mt(e,!0),await Cr(),e===G(T)&&document.getElementById(`chat-autopilot-${e}-button`)?.focus({preventScroll:!0})}async function gt(e,t,n){await Ge.resolve(e,t,n),e===G(T)&&pt().catch(()=>{})}async function _t(){try{L(re,await We.listRecentSessions(),!0)}catch{L(re,[],!0)}}async function vt(){try{await Promise.all([pt(),_t()])}catch(e){L(d,hn(e,`SESSION_REFRESH_FAILED`),!0)}}async function yt(e){L(d,`Opening session…`),L(se,e,!0);let t=++ce;try{L(T,e,!0),L(le,null),L(ue,null),N.select(e),Ze.saveSelectedSession(e),qe.select(e),Ke.select(e),lt();let n=await Ze.readDraft(e);t===ce&&G(T)===e&&L(fe,n,!0)}catch(e){L(d,hn(e,`SESSION_HISTORY_READ_FAILED`),!0)}finally{t===ce&&L(se,null)}}async function bt(e){L(d,`Opening recent session…`);try{let t=await We.openRecentSession(e.id,e.cwd);G(E).some(e=>e.id===t.id)||L(E,[...G(E),t],!0),vt(),await yt(t.id)}catch(e){L(d,hn(e,`SESSION_HISTORY_READ_FAILED`),!0)}}async function xt(e){L(d,`Closing session…`);try{await We.releaseSession(e),G(T)===e&&(L(T,null),L(a,`sessions`),Ze.saveSelectedSession(null),qe.select(null),Ke.select(null),N.select(null)),await vt(),L(d,`Session closed.`)}catch(e){L(d,`Could not close session: ${mn(e)}`)}}async function St(e){let t=G(E).find(t=>t.id===e);try{await We.forgetSession(e),G(T)===e&&(qe.select(null),Ke.select(null),L(T,null),Ze.saveSelectedSession(null),N.select(null)),await vt(),L(re,Md(G(re),t),!0)}catch(e){L(d,`Could not forget session: ${mn(e)}`)}}async function Ct(e){L(d,await ys(e)?`Resume command copied.`:`Could not copy the resume command.`,!0)}async function wt(e){if(!(!G(T)||G(i)?.activeTurnId))try{let t=await We.selectModel(G(T),e);L(E,G(E).map(e=>e.id===t.id?{...e,...t}:e),!0),L(fe,``),L(d,`Model changed to ${e}; it applies to the next turn.`)}catch(e){L(d,`Could not change model: ${mn(e)}`)}}async function Tt(){let e=Ra();qe.send(G(fe),e),Ot()}async function Et(){let e=Ra();qe.queue(G(fe),e),Ot()}async function Dt(){let e=Ra();qe.interruptAndSend(G(fe),e),Ot()}function Ot(){L(fe,``),ct(`explicit`),G(T)&&Ze.saveDraft(G(T),``)}async function kt(){G(ue)&&(L(le,null),await qe.retryPrompt(G(ue)))}async function At(){await qe.interrupt()}function jt(){G(a)===`chat`&&G(T)&&qe.refresh()}function F(e){if(r||e===`chat`&&!G(ne))return;let t=G(a)!==e;G(a)===`chat`&&e!==`chat`&&(He.invalidate(),Ve.cancel()),L(a,e,!0),Yt(e),e===`chat`&&(jt(),Ve.reset(),ct(`initial`),t&&Xt()),e===`git`&&G(Me)&&Ye.refresh(),e===`plan`&&(G(T)&&N.refresh(G(T)),t||Ut()),e===`sessions`&&(G(y)===`profile-manager`&&Jt(!1),vt())}Mn(()=>{let e=G(Ce);G(a)===`plan`&&zt(e)});let Mt=!1;function Nt(){document.visibilityState!==`visible`||Mt||(Mt=!0,queueMicrotask(()=>{Mt=!1,document.visibilityState===`visible`&&(G(a)===`git`&&G(Me)&&Ye.refresh(),G(a)===`plan`&&Ut())}))}let Pt=null;function Ft(e){return e instanceof Element&&e.closest(`button, input, textarea, select, a, summary, [contenteditable]`)!==null}function It(e){e.pointerType!==`touch`||Ft(e.target)||(Pt={pointerId:e.pointerId,x:e.clientX,y:e.clientY})}function Lt(e){if(!Pt||e.pointerId!==Pt.pointerId)return;let t=Pt;Pt=null;let n=e.clientX-t.x,r=e.clientY-t.y;Math.abs(n)<48||Math.abs(n)<=Math.abs(r)||F(ef(G(a),n<0?1:-1,{chatEnabled:G(ne)}))}function Rt(e){Pt?.pointerId===e.pointerId&&(Pt=null)}function zt(e=G(Ce)){if(ve?.abort(),ye?.abort(),L(he,null),L(ge,null),!e){L(me,{kind:`no-workspace`});return}let t=new AbortController;ve=t;let n=++be;L(me,{kind:`loading`,workspaceId:e}),We.listWorkspacePlans(e,t.signal).then(r=>{n!==be||t.signal.aborted||L(me,{kind:`ready`,workspaceId:e,entries:r})}).catch(r=>{n!==be||t.signal.aborted||(G(ke)||et.enqueue({kind:`error`,code:`WORKSPACE_PLANS_READ_FAILED`,message:`Workspace Org files could not be listed. Try opening the Plan tab again.`}),L(me,{kind:`error`,workspaceId:e,error:r instanceof Error?r.message:`Could not load workspace plans.`}))})}function Bt(e){let t=G(Ce);if(!t)return;ye?.abort();let n=new AbortController;ye=n;let r=++xe;(G(T)?We.openSessionPlan(G(T),e):We.getWorkspacePlan(t,e,n.signal)).then(t=>{r!==xe||n.signal.aborted||(L(he,t),L(ge,e,!0),L(_e,!1))}).catch(()=>{r!==xe||n.signal.aborted||et.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 Vt(e){let t=G(Ce),n=G(we),r=n?_s(e,n):null;if(!t||!r){et.enqueue({kind:`error`,code:`ORG_LINK_OUTSIDE_WORKSPACE`,message:`This Org file is not inside the selected workspace and cannot be opened.`});return}F(`plan`),Cr().then(()=>{G(Ce)!==t||G(we)!==n||Bt(r)})}function Ht(){L(he,null),L(ge,null),L(_e,!0),zt()}function Ut(){G(T)&&N.refresh(G(T)),G(ge)?Bt(G(ge)):zt()}async function Wt(e,t){let n=new yf(We);await n.load(e,t),L(v,n,!0)}async function Gt(){try{let e=await We.listSkillProfiles();L(b,e.profiles.filter(e=>!(`error`in e)));let t=e.profiles.find(e=>`error`in e);L(S,t&&`error`in t?t.error.message:``,!0),G(b).some(e=>e.name===G(x))||L(x,``)}catch(e){L(b,[]),L(S,e instanceof Error?e.message:`Unable to load saved skill profiles.`,!0)}}async function Kt(e){let t=G(C)||G(p)[0]?.id||``,n=G(_).find(e=>e.state===`ok`)?.name??``;if(!t||!n){L(d,`Choose a workspace and available Codex profile before managing skill profiles.`);return}await Wt(t,n),L(y,`profile-manager`)}function qt(e){queueMicrotask(()=>e.focus())}async function Jt(e=!0){L(y,`list`),await Cr(),e&&document.getElementById(`manage-skill-profiles`)?.focus()}function Yt(e){requestAnimationFrame(()=>{G(a)===e&&e!==`chat`&&window.scrollTo({top:0})})}function Xt(){Cr().then(()=>{G(a)===`chat`&&document.getElementById(`message`)?.focus({preventScroll:!0})})}function Zt(e){Ye.select(e.id),L(Pe,!1)}function Qt(e){let t=G(Me)?jl(G(p),G(Me)):null;t&&(L(c,t,!0),L(l,e,!0))}async function $t(){L(c,null),await Cr(),G(l)?.focus({preventScroll:!0})}function en(){u||(u=!0,queueMicrotask(()=>{u=!1,G(Me)&&Ye.refresh()}))}async function tn(){let e=G(Me);!e||!jl(G(p),e)?.isGitRepository||(L(Le,G(Le)??Ra(),!0),await Ye.pull(G(Le)),G(je).error||L(Le,null))}async function nn(e){if(G(Fe))return;let n=G(Me)?jl(G(p),G(Me)):void 0;if(!n||n.isGitRepository){L(Ie,null),et.enqueue({kind:`error`,code:`INVALID_CLONE_DESTINATION`,message:`Select a non-repository folder before cloning.`});return}let r=n.id;L(Fe,!0),L(Ie,null);try{await We.cloneGitRepository(r,e);let n=await fc(t.authorizedFetch),i=iu(G(p),n.workspaces,r,e,G(Ne));L(C,Ml(G(C)||null,G(p),n.workspaces,El.sessionBase)??``,!0),L(p,n.workspaces,!0),Ye.select(i.selectedId),L(Ne,i.expandedIds,!0),L(Ie,`Repository cloned into the selected workspace.`),et.enqueue({kind:`success`,message:`Repository cloned.`})}catch(e){hn(e,`GIT_CLONE_FAILED`)}finally{L(Fe,!1)}}async function rn(e){G(Me)&&await Ye.checkout(e)}async function an(){let e=G(Me);if(e){L(Re,G(Re)??Ra(),!0);try{await We.pushGit(e,G(Re)),L(Pe,!1),await Ye.refresh(),L(Re,null)}catch(e){hn(e,`GIT_PUSH_FAILED`)}}}async function on(e,t){ct(`explicit`),await qe.respond(e,{decision:t})}async function sn(e){ct(`explicit`);let t=e.kind===`quiz`?No(e.payload):Po(e.payload);if(!t)return;let n=t.questions.map(t=>({id:t.id,answer:ze[`${e.requestId}:${t.id}`]??``}));L(A,{...G(A),[e.requestId]:t.questions.map((e,t)=>({id:e.id,header:e.header,question:e.question,answer:n[t]?.answer??``}))});let r=e.kind===`quiz`?Fo(n):cu(n);try{await qe.respond(e.requestId,r)}catch{L(d,`Could not send quiz answers. Please try again.`)}}async function cn(e){let t=su(e.payload);if(!t){L(d,`Codex sent an invalid permission request.`);return}ct(`explicit`),await qe.respond(e.requestId,t)}function dn(e){e.kind===`quiz`||e.kind===`userInput`?sn(e):e.kind===`permissionsApproval`?cn(e):qe.retryInteraction(e.requestId)}function fn(e,t,n){ze[`${e}:${t}`]=n}function pn(e){L(fe,e,!0),G(T)&&Ze.saveDraft(G(T),e)}function mn(e){return e instanceof Error?e.message:`Unknown relay error.`}function hn(e,t){let n=_l(e,t);return et.enqueue({kind:`error`,...n}),n.message}function gn(e){et.enqueue(e?{kind:`success`,message:`Code copied.`}:{kind:`error`,message:`Code could not be copied. Select it and copy it manually.`})}function _n(e){return(e instanceof DOMException||e instanceof Error)&&e.name===`AbortError`}function vn(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&&L(E,G(E).map(e=>e.id===t?{...e,...n}:e),!0);return}if(e.type!==`plan.updated`&&e.type!==`plan.closed`)return;if(N.applyEvent(t,e),e.type===`plan.closed`){L(E,G(E).map(e=>e.id===t?{...e,plan:void 0}:e),!0);return}let n=fu(e.payload)?e.payload.plan:pu(e.payload)?e.payload:null;n&&L(E,G(E).map(e=>e.id===t?{...e,plan:n}:e),!0)}var yn=Hr();oi(`1d2e8zz`,e=>{Rn(()=>{un.title=r&&G(Ee)?`Chat · ${G(Ee)} · Gestalt Mobile`:`Gestalt Mobile`})}),Nr(`focus`,ln,Nt),Nr(`visibilitychange`,un,Nt);var bn=B(yn),xn=e=>{Fa(e,{})},Sn=e=>{Tl(e,{get variant(){return nt}})},Cn=e=>{var t=om();Vl(z(t),{get context(){return tt}}),M(t),J(e,t)},wn=e=>{var l=gm(),u=B(l),_=z(u),ee=e=>{{let n=P(()=>G(a)===`chat`?Nd(G(E).find(e=>e.id===G(T))?.workspacePath??``):null),r=P(()=>G(a)===`chat`?G(E).find(e=>e.id===G(T))?.model??m:null),i=P(()=>G(a)===`chat`&&G(T)?dt: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:()=>L(o,!0),onscratchpad:ot,onthemechange:ut,get ondetach(){return G(i)}})}};X(_,e=>{!G(o)&&!r&&e(ee)});var te=V(_,2),ae=e=>{var t=cm(),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=sm(),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(te,e=>{r&&e(ae)});var ce=V(te,2);Cl(ce,{get queue(){return et}});var pe=V(ce,2),he=e=>{sp(e,{get client(){return Xe},onclose:()=>{L(o,!1),Cr().then(()=>document.querySelector(`.menu-trigger`)?.focus())},get onlock(){return t.onlock},oncreatepasskey:e=>n()(e)})},ge=e=>{var t=hm(),n=B(t),o=e=>{var t=lm(),n=z(t),r=z(n,!0);M(n);var i=V(n,2);M(t),H(()=>Y(r,G(de))),K(`click`,i,()=>L(de,null)),J(e,t)};X(n,e=>{G(de)&&e(o)});var s=V(n,2),l=e=>{var t=fm(),n=V(z(t),2);{let e=P(()=>G(T)?G(O).attention.get(G(T))??null:null),t=P(()=>`chat-attention-${G(T)??`none`}`),r=P(()=>G(T)?G(O).pending.has(G(T)):!1);Za(n,{get attention(){return G(e)},get controlId(){return G(t)},get pending(){return G(r)},onresolve:(e,t)=>G(T)&>(G(T),e,t)})}var a=V(n,2);{let e=P(()=>G(T)?G(O).snapshots.get(G(T))??null:null),t=P(()=>G(T)?G(O).attention.get(G(T))??null:null),n=P(()=>`chat-autopilot-safety-${G(T)??`none`}`),r=P(()=>G(T)?G(O).pending.has(G(T)):!1);$a(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 ht(G(T)),ondisable:()=>G(T)&&mt(G(T),!1)})}var o=V(a,2),s=z(o,!0);M(o);var c=V(o,2),l=e=>{var t=um(),n=B(t);{let e=P(()=>G(i)?[...G(i).messages]:[]),t=P(()=>G(i)?[...G(i).activities]:[]),r=P(()=>G(i)?.activeTurnId??null),a=P(()=>G(i)?.autopilotAuditTruncated??!1),o=P(()=>G(i)?[...G(i).interactions]:[]);cc(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},get submittedAnswers(){return G(A)},onanswer:fn,onquiz:e=>void sn(e),onpermission:e=>void cn(e),ondecision:(e,t)=>void on(e,t),onretry:dn,onopenorg:Vt,oncopyresult:gn})}var r=V(n,2);{let e=P(()=>G(i)?.status??G(d)),t=P(()=>G(i)?.activeTurnId??null),n=P(()=>G(i)?.starting??!1),a=P(()=>!!(G(E).find(e=>e.id===G(T))&&![`ready`,`turnActive`].includes(G(E).find(e=>e.id===G(T))?.state??``))),o=P(()=>G(ue)!==null);Co(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:pn,onscrollbottom:()=>ct(`explicit`),onmodelselect:e=>void wt(e),onsend:()=>void Tt(),onqueue:()=>void Et(),oninterruptsend:()=>void Dt(),onretry:()=>void kt(),oninterrupt:()=>void At()})}var a=V(r,2),o=z(a);{let e=P(()=>G(O).snapshots.get(G(T))??null),t=P(()=>`chat-autopilot-${G(T)}`),n=P(()=>G(O).pending.has(G(T)));Ya(o,{compact:!0,get autopilot(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},ontoggle:e=>G(T)&&mt(G(T),e)})}var s=V(o,2);{let e=P(()=>G(D).get(G(T))??null),t=P(()=>G(E).find(e=>e.id===G(T))?.model??m);Na(s,{compact:!0,get activity(){return G(e)},get rootModel(){return G(t)}})}M(a),Li(V(a,2),e=>L(Be,e),()=>G(Be)),J(e,t)},u=e=>{var t=dm(),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(Ue))),J(e,t)},u=e=>{Cd(e,{get catalog(){return G(me)},get state(){return G(ke)},onopen:Bt,onclose:Ht})},f=e=>{{let t=P(()=>G(Me)?jl(G(p),G(Me))??null:null);nu(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 tn(),oncheckout:e=>void rn(e),onopenpushconfirmation:()=>L(Pe,!0),onpush:()=>void an(),oncancelpush:()=>L(Pe,!1),onselect:Zt,onexpandedchange:e=>L(Ne,e,!0),onbrowsefiles:Qt,onclone:e=>void nn(e)})}},_=e=>{var t=Hr(),n=B(t),r=e=>{var t=mm(),n=z(t),r=z(n);si(r,()=>qt);var i=V(r,2);M(n);var a=V(n,2),o=e=>{vf(e,{get skillsState(){return G(v)},onrefresh:()=>G(v)?.refresh()??Promise.resolve(),onprofileschange:()=>void Gt(),heading:`Skill profile editor`})},s=e=>{J(e,pm())};X(a,e=>{G(v)?e(o):e(s,-1)}),M(t),K(`click`,i,()=>void Jt()),J(e,t)},i=e=>{Xd(e,{get sessions(){return G(E)},get recentSessions(){return G(re)},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(ie)},get approvalPolicy(){return G(k)},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=>L(C,e,!0),onexpandedchange:e=>L(w,e,!0),onsandboxchange:e=>L(ie,e,!0),onapprovalpolicychange:e=>L(k,e,!0),onmodelchange:e=>L(g,e,!0),onskillprofilechange:e=>L(x,e,!0),onmanageprofiles:e=>void Kt(e),onopen:yt,onselectopen:yt,onclose:e=>void xt(e),onautopilottoggle:mt,onautopilotresolve:gt,onopenrecent:e=>void bt(e),onforget:e=>void St(e),oncopyresume:e=>void Ct(e),onstart:()=>void ft()})};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 ee=V(s,2),te=e=>{am(e,{get root(){return G(c)},get listDirectory(){return We.listWorkspaceDirectory},get copyEntry(){return We.copyWorkspaceEntry},get moveEntry(){return We.moveWorkspaceEntry},get deleteEntry(){return We.deleteWorkspaceEntry},get uploadFile(){return We.uploadWorkspaceFile},onclose:()=>void $t(),onerror:e=>hn(e,`WORKSPACE_FILES_READ_FAILED`),onsuccess:e=>et.enqueue({kind:`success`,message:e}),onmutation:en})};X(ee,e=>{G(c)&&e(te)});var ae=V(ee,2),ce=e=>{nf(e,{get activeTab(){return G(a)},get chatEnabled(){return G(ne)},get focusTab(){return G(Se)},onselect:F})};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=>{yp(e,{onclose:st})};X(_e,e=>{G(s)&&e(ve)}),K(`pointerdown`,u,It),K(`pointerup`,u,Lt),Nr(`pointercancel`,u,Rt),J(e,l)};X(bn,e=>{rt===`true`?e(xn):nt===`error`||nt===`stacked`?e(Sn,1):tt===`sessions`||tt===`git`?e(Cn,2):e(wn,-1)}),J(e,yn),$e()}Pr([`pointerdown`,`pointerup`,`click`]);function vm(){throw Error(`AUTH_RESPONSE_INVALID`)}async function ym(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 bm(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 xm(e){return!!e&&typeof e==`object`&&!!e.options&&typeof e.options.challenge==`string`}function Sm(e){return!!e&&typeof e==`object`&&e.status===`authenticated`}function Cm(e=fetch){async function t(){let t=await ym(await e(`/api/auth/status`,{credentials:`same-origin`}));return bm(t)||vm(),t}async function n(t,n={}){let r=await ym(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return xm(r)||vm(),r}async function r(t,n){let r=await ym(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return Sm(r)||vm(),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 wm(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 Tm(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 Em(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 Dm(){return Om.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential==`function`)}var Om={stubThis:e=>e};function km(e){let{id:t}=e;return{...e,id:Em(t),transports:e.transports}}function Am(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 jm=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 Mm({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 jm({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 jm({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 jm({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 jm({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 jm({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new jm({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 jm({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new jm({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(!Am(t))return new jm({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new jm({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 jm({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 jm({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 Nm=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}}},Pm=[`cross-platform`,`platform`];function Fm(e){if(e&&!(Pm.indexOf(e)<0))return e}async function Im(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(!Dm())throw Error(`WebAuthn is not supported in this browser`);let r={...t,challenge:Em(t.challenge),user:{...t.user,id:Em(t.user.id)},excludeCredentials:t.excludeCredentials?.map(km)},i={};n&&(i.mediation=`conditional`),i.publicKey=r,i.signal=Nm.createNewAbortSignal();let a;try{a=await navigator.credentials.create(i)}catch(e){throw Mm({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){Lm(`getPublicKeyAlgorithm()`,e)}let f;if(typeof c.getPublicKey==`function`)try{let e=c.getPublicKey();e!==null&&(f=Tm(e))}catch(e){Lm(`getPublicKey()`,e)}let p;if(typeof c.getAuthenticatorData==`function`)try{p=Tm(c.getAuthenticatorData())}catch(e){Lm(`getAuthenticatorData()`,e)}return{id:o,rawId:Tm(s),response:{attestationObject:Tm(c.attestationObject),clientDataJSON:Tm(c.clientDataJSON),transports:u,publicKeyAlgorithm:d,publicKey:f,authenticatorData:p},type:l,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:Fm(a.authenticatorAttachment)}}function Lm(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 Rm(){if(!Dm())return zm.stubThis(new Promise(e=>e(!1)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?zm.stubThis(new Promise(e=>e(!1))):zm.stubThis(e.isConditionalMediationAvailable())}var zm={stubThis:e=>e};function Bm({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 jm({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new jm({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!Am(t))return new jm({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new jm({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 jm({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 Vm(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(!Dm())throw Error(`WebAuthn is not supported in this browser`);let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(km));let a={...t,challenge:Em(t.challenge),allowCredentials:i},o={};if(n){if(!await Rm())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=Nm.createNewAbortSignal();let s;try{s=await navigator.credentials.get(o)}catch(e){throw Bm({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=Tm(u.userHandle)),{id:c,rawId:Tm(l),response:{authenticatorData:Tm(u.authenticatorData),clientDataJSON:Tm(u.clientDataJSON),signature:Tm(u.signature),userHandle:f},type:d,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:Fm(s.authenticatorAttachment)}}function Hm(e){return typeof e==`object`&&e?e:{}}function Um(e){let t=Hm(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 Um(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 Wm(){return typeof window<`u`&&window.isSecureContext&&window.PublicKeyCredential!==void 0}function Gm(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(!Wm()){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 Km=q(`<p class="warning svelte-1c5qcm6">This one-time link authorizes one new passkey. Choose a nickname and complete the passkey
|
|
27
|
-
prompt before it expires.</p>`)
|
|
25
|
+
`);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}}})),Qf=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)}})),$f=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>
|
|
26
|
+
`;return typeof a==`function`&&a(null,p),p}})),ep=c(o((e=>{var t=Df(),n=Xf(),r=Qf(),i=$f();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 tp(e){return`${e.replace(/\/$/,``)}/?bootstrap=1`}async function np(e){return ep.toDataURL(tp(e),{errorCorrectionLevel:`M`,margin:1,width:256})}async function rp(e){return ep.toDataURL(e,{errorCorrectionLevel:`M`,margin:1,width:256})}var ip=q(`<p class="feedback svelte-1nygetn" role="status"> </p>`),ap=q(`<span class="svelte-1nygetn">At least one authorized device is required.</span>`),op=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>`),sp=q(`<ul aria-label="Authorized devices" class="svelte-1nygetn"></ul>`),cp=q(`<p role="status" class="svelte-1nygetn">No authorized devices are available. Refresh this page before making changes.</p>`),lp=q(`<button type="button" class="svelte-1nygetn">Create enrollment link</button>`),up=q(`<img alt="QR code for the enrollment link" class="svelte-1nygetn"/>`),dp=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),fp=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 pp(e,t){Qe(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=I(R([])),i=I(``),a=I(null),o=I(`none`),s=I(null),c=I(null),l=I(null),u=I(null),d=I(R(Date.now())),f=P(()=>[...G(r)].sort((e,t)=>e.createdAt.localeCompare(t.createdAt))),p=P(()=>G(a)?Math.max(0,Math.ceil((Date.parse(G(a).expiresAt)-G(d))/1e3)):0),m=P(()=>`${Math.floor(G(p)/60)}:${String(G(p)%60).padStart(2,`0`)}`);function h(e){let t=e.trim();return[...t].length>=1&&[...t].length<=64}function g(){G(u)&&clearInterval(G(u)),L(u,null)}function _(){g(),L(u,setInterval(()=>void b(),15e3),!0)}function v(){return!!(G(a)&&G(o)===`pending`&&G(p)>0&&document.visibilityState===`visible`)}async function y(){try{L(r,(await t.client.list()).devices,!0)}catch{L(i,`Could not refresh authorized devices. Try again.`)}}async function b(){if(!v()){G(p)===0&&G(a)&&L(o,`expired`),g();return}try{L(o,(await t.client.ticketStatus()).status,!0),G(o)!==`pending`&&(g(),G(o)===`used`&&await y())}catch{g()}}async function x(){L(i,``);try{L(a,await t.client.createTicket(),!0),L(o,`pending`),L(s,await rp(G(a).url),!0),L(d,Date.now(),!0),_()}catch{L(i,`Could not create an enrollment link. Try again.`)}}async function S(){try{L(o,(await t.client.cancelTicket()).status,!0),L(a,null),L(s,null),g()}catch{L(i,`Could not cancel the enrollment link. Try again.`)}}async function C(){await S(),G(i)||await x()}async function w(e,n){if(!h(n)){L(i,`Device nicknames must be 1–64 characters.`);return}L(i,``);try{await t.client.rename(e.id,n.trim()),await y()}catch{L(i,`Could not rename this device. Try again.`)}}function T(e){G(f).length>1&&(L(l,e,!0),G(c)?.showModal())}async function E(){if(G(l))try{await t.client.revoke(G(l).id),G(c)?.close(),G(l).current?t.onlock():await y()}catch{L(i,`This device could not be revoked. Try again.`)}}async function D(){if(G(a))try{await navigator.clipboard.writeText(G(a).url)}catch{L(i,`Copy is unavailable here. Select the visible link instead.`)}}function O(){document.visibilityState===`visible`&&G(o)===`pending`&&G(p)>0?(b(),_()):g()}Ri(()=>{y(),document.addEventListener(`visibilitychange`,O);let e=setInterval(()=>L(d,Date.now(),!0),1e3);return()=>clearInterval(e)}),zi(()=>{g(),document.removeEventListener(`visibilitychange`,O)});var ee=fp(),te=B(ee),ne=z(te),re=z(ne);Ue(2),M(ne);var ie=V(ne,2),k=e=>{var t=ip(),n=z(t,!0);M(t),H(()=>Y(n,G(i))),J(e,t)};X(ie,e=>{G(i)&&e(k)});var ae=V(ie,2),oe=e=>{var t=sp();Z(t,21,()=>G(f),e=>e.id,(e,t)=>{var n=op(),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=ap();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,cp())};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=lp();K(`click`,t,()=>void x()),J(e,t)},de=e=>{var t=dp(),r=B(t),i=z(r,!0);M(r);var c=V(r,2),l=e=>{var t=up();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(te);var fe=V(te,2),pe=V(z(fe),4),me=V(z(pe));M(pe),M(fe),Li(fe,e=>L(c,e),()=>G(c)),K(`click`,re,function(...e){t.onclose?.apply(this,e)}),K(`click`,me,()=>void E()),J(e,ee),$e()}Pr([`click`]);async function mp(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 hp(e){return{list:()=>mp(e(`/api/auth/devices`,{credentials:`same-origin`})),rename:(t,n)=>mp(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`PATCH`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify({nickname:n})})),revoke:t=>mp(e(`/api/auth/devices/${encodeURIComponent(t)}`,{method:`DELETE`,credentials:`same-origin`})),createTicket:()=>mp(e(`/api/auth/enrollment-tickets`,{method:`POST`,credentials:`same-origin`})),ticketStatus:()=>mp(e(`/api/auth/enrollment-tickets/current`,{credentials:`same-origin`})),cancelTicket:()=>mp(e(`/api/auth/enrollment-tickets/current`,{method:`DELETE`,credentials:`same-origin`}))}}var gp=`gestalt-mobile.scratchpad`;function _p(){try{return window.localStorage}catch{return null}}function vp(e){try{return e?.getItem(`gestalt-mobile.scratchpad`)??``}catch{return``}}function yp(e,t){try{return e?(e.setItem(gp,t),!0):!1}catch{return!1}}function bp(e){try{return e?(e.removeItem(gp),!0):!1}catch{return!1}}var xp=q(`<p class="feedback svelte-eu5bnq" role="status"> </p>`),Sp=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>`),Cp=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>`),wp=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 Tp(e,t){Qe(t,!0);let n=$(t,`storage`,19,_p),r=$(t,`clipboard`,19,()=>globalThis.navigator?.clipboard),i=I(null),a=I(null),o=I(null),s=I(``),c=I(!1),l=I(``);Ri(async()=>{L(s,vp(n()),!0),await Cr(),G(i)?.showModal(),G(a)?.focus()});function u(e){L(s,e,!0),L(l,yp(n(),e)?``:`This browser could not save the scratchpad. Keep this window open until you copy the text.`,!0)}async function d(){if(!r()?.readText){L(l,`Clipboard paste is unavailable here. Long-press the text field and choose Paste.`),G(a)?.focus();return}try{let e=await r().readText(),t=G(a)?.selectionStart??G(s).length,n=G(a)?.selectionEnd??G(s).length;u(`${G(s).slice(0,t)}${e}${G(s).slice(n)}`),await Cr();let i=t+e.length;G(a)?.focus(),G(a)?.setSelectionRange(i,i)}catch{L(l,`Clipboard paste was not permitted. Long-press the text field and choose Paste.`),G(a)?.focus()}}async function f(){L(c,!0),L(l,``),await Cr(),G(o)?.focus()}function p(){L(c,!1),G(a)?.focus()}function m(){if(!bp(n())){L(l,`This browser could not clear its saved scratchpad.`);return}L(s,``),L(c,!1),L(l,``),G(a)?.focus()}var h=wp(),g=z(h),_=z(g),v=V(z(_),2);M(_);var y=V(_,4);Sn(y),Li(y,e=>L(a,e),()=>G(a));var b=V(y,2),x=e=>{var t=xp(),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=Sp(),n=V(z(t),4),r=z(n);Li(r,e=>L(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=Cp(),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=>L(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),$e()}Pr([`click`,`input`]);var Ep=q(`<button class="disclosure svelte-am0nvt" type="button"> </button>`),Dp=q(`<span class="disclosure svelte-am0nvt"></span>`),Op=q(`<span class="unsupported svelte-am0nvt">Files cannot be destinations</span>`),kp=q(`<span class="unsupported svelte-am0nvt">Unsupported link</span>`),Ap=q(`<span role="status">Loading…</span>`),jp=q(`<button type="button" class="svelte-am0nvt"> </button>`),Mp=q(`<div role="group"><!> <!> <!> <!></div>`),Np=q(`<div role="treeitem"><div class="tree-row svelte-am0nvt" role="presentation"><!> <span class="tree-label svelte-am0nvt"> </span><!></div> <!></div>`),Pp=q(`<p role="status">Loading files…</p>`),Fp=q(`<button type="button" class="svelte-am0nvt">Retry loading files</button>`),Ip=q(`<button type="button" class="svelte-am0nvt">Load more in root</button>`),Lp=q(`<div class="file-tree svelte-am0nvt" role="tree" aria-label="Files"><!> <!> <!> <!></div>`);function Rp(e,t){Qe(t,!0);let n=$(t,`destinationMode`,3,!1),r=$(t,`ondestinationselect`,3,()=>{}),i=$(t,`onselectionchange`,3,()=>{}),a=R({}),o=I(``),s=P(()=>t.revision<0?{entries:[],loading:!1,error:!1}:t.controller.state(``)),c=P(()=>{if(t.revision<0)return[];let e=[],n=(r,i)=>{for(let a of t.controller.state(r).entries)e.push({entry:a,level:i,parent:r}),a.kind===`directory`&&t.controller.expanded.has(a.path)&&n(a.path,i+1)};return n(``,1),e});function l(e){L(o,e,!0),a[e]?.focus()}function u(e){t.controller.expanded.has(e.path)?t.controller.collapse(e.path):t.controller.expand(e.path)}function d(e,n,r){let i=n.entry,a=n.parent,o=e=>{let t=G(c)[Math.max(0,Math.min(G(c).length-1,e))];t&&l(t.entry.path)};switch(e.key){case`ArrowDown`:e.preventDefault(),o(r+1);break;case`ArrowUp`:e.preventDefault(),o(r-1);break;case`Home`:e.preventDefault(),o(0);break;case`End`:e.preventDefault(),o(G(c).length-1);break;case`ArrowRight`:i.kind===`directory`&&(e.preventDefault(),t.controller.expanded.has(i.path)?o(r+1):u(i));break;case`ArrowLeft`:e.preventDefault(),i.kind===`directory`&&t.controller.expanded.has(i.path)?t.controller.collapse(i.path):a&&l(a);break;case`Enter`:case` `:e.preventDefault(),f(i);break}}function f(e){if(e.kind!==`symlink`){if(n()){e.kind===`directory`&&r()(e.path);return}t.controller.select(e.path),i()(e.path)}}var p=Lp();{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=P(()=>G(i).kind===`directory`),p=P(()=>G(c).find(e=>e.entry.path===G(i).path)),m=P(()=>G(c).findIndex(e=>e.entry.path===G(i).path));var h=Np();let g;var _=z(h);let v;var y=z(_),b=e=>{var n=Ep(),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,Dp())};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,Op())},E=e=>{var t=kp();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=P(()=>t.controller.state(G(i).path));var a=Mp(),o=z(a),c=e=>{J(e,Ap())};X(o,e=>{G(r).loading&&e(c)});var l=V(o,2),u=e=>{var n=jp(),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=jp(),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)},ee=P(()=>G(l)&&t.controller.expanded.has(G(i).path));X(D,e=>{G(ee)&&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,()=>L(o,G(i).path,!0)),K(`keydown`,h,e=>d(e,G(p),G(m))),K(`click`,h,()=>f(G(i))),J(r,h)}),J(r,l)};var m=z(p),h=e=>{J(e,Pp())};X(m,e=>{G(s).loading&&e(h)});var g=V(m,2),_=e=>{var n=Fp();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=Ip();K(`click`,n,()=>void t.controller.load(``,!0)),J(e,n)};X(y,e=>{G(s).cursor&&e(x)}),M(p)}J(e,p),$e()}Pr([`keydown`,`click`]);var zp=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?Bp(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 Bp(e,t){let n=new Set(e.map(e=>e.path));return[...e,...t.filter(e=>!n.has(e.path))]}var Vp=25*1024*1024;function Hp(e){return[...e].map(e=>({file:e,status:e.size>26214400?`too-large`:`queued`}))}function Up(e){return e.findIndex(e=>e.status===`queued`)}var Wp={phase:`idle`};function Gp(e,t){return{phase:`picking`,kind:e,source:t}}function Kp(e,t){return e.phase===`picking`?{...e,destination:t}:e}function qp(e){return e.phase!==`picking`||e.destination===void 0?e:{...e,phase:`submitting`}}function Jp(e,t){return e.phase===`submitting`?{...e,phase:`conflict`,replaceAllowed:t}:e}function Yp(e){return e.phase===`submitting`?{...e,phase:`failed`}:e}function Xp(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 Qp=q(`<li> </li>`),$p=q(`<button type="button" class="svelte-qx7639">Replace</button>`),em=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>`),tm=q(`<button type="button" class="svelte-qx7639">Cancel uploads</button>`),nm=q(`<section class="picker svelte-qx7639" aria-label="Upload queue" aria-live="polite"><p class="svelte-qx7639"> </p> <ul></ul> <!></section>`),rm=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>`),im=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>`),am=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>`),om=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>`),sm=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>`),cm=q(`<section aria-label="File browser error"><p class="svelte-qx7639">Files could not be read. Try again.</p></section>`),lm=q(`<p role="status" class="svelte-qx7639">This folder is empty.</p>`),um=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 dm(e,t){Qe(t,!0);let n=$(t,`onsuccess`,3,()=>{}),r=$(t,`onmutation`,3,()=>{}),i=I(null),a=I(null),o=I(0),s=I(null),c=I(R(Wp)),l=I(null),u=I(``),d=I(!1),f=I(!1),p=I(null),m=I(null),h=I(R([])),g=I(!1),_=I(null),v=I(null),y=P(()=>G(o)<0?{entries:[],loading:!1,error:!1}:G(s)?.state(``)??{entries:[],loading:!0,error:!1}),b=P(()=>{if(!G(s)||!G(u))return;let e=G(u).includes(`/`)?G(u).slice(0,G(u).lastIndexOf(`/`)):``;return G(s).state(e).entries.find(e=>e.path===G(u))}),x=P(()=>`Files in ${t.root.relativePath===`.`?`~/`:`~/${t.root.relativePath}`}`);Ri(async()=>{L(s,new zp(t.root.id,t.listDirectory,()=>{L(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=P(()=>G(b)?.kind===`directory`||!G(u)?G(u):``),w=P(()=>G(C)||``);async function T(e=`reject`){if(!(G(g)||!G(s))){L(g,!0);try{for(;;){let n=G(v)?.index??Up(G(h));if(L(v,null),n<0)break;let i=G(h)[n];if(!i||i.status===`too-large`)continue;L(h,G(h).map((e,t)=>t===n?{...e,status:`uploading`}:e),!0);let a=new AbortController;L(_,a,!0);try{let o=await t.uploadFile(t.root.id,{directory:G(w),filename:i.file.name,conflict:e,file:i.file},Ra(),a.signal);L(h,G(h).map((e,t)=>t===n?{...e,status:`completed`,path:o.path}:e),!0),await G(s).refresh(G(w)),G(s).select(G(w)),L(u,G(w),!0),r()(),e=`reject`}catch(e){let r=e;if(r.status===409){L(h,G(h).map((e,t)=>t===n?{...e,status:`queued`}:e),!0),L(v,{index:n,replaceAllowed:r.replaceAllowed===!0},!0);break}L(h,G(h).map((e,t)=>t===n?{...e,status:a.signal.aborted?`cancelled`:`failed`}:e),!0),t.onerror(e)}finally{L(_,null)}}}finally{L(g,!1);let e=G(h).filter(e=>e.status===`completed`).length;e&&n()(`Uploaded ${e} file${e===1?``:`s`}.`)}}}function E(e){!e||e.length===0||(L(h,Hp(e),!0),T())}function D(){G(_)?.abort(),L(h,G(h).map(e=>e.status===`queued`||e.status===`uploading`?{...e,status:`cancelled`}:e),!0),L(v,null)}function O(e){if(G(c).phase===`submitting`||G(f)){e.preventDefault();return}e.preventDefault(),S()}async function ee(){if(!(!G(u)||G(f))){L(f,!0);try{let e=G(u).includes(`/`)?G(u).slice(0,G(u).lastIndexOf(`/`)):``;await t.deleteEntry(t.root.id,G(u),Ra()),await G(s)?.refresh(e),G(s)?.select(e),L(u,e,!0),n()(`Deleted item.`),r()(),L(d,!1)}catch(e){t.onerror(e)}finally{L(f,!1)}}}async function te(){L(d,!0),await Cr(),G(p)?.focus()}function ne(e){G(u)&&L(c,Gp(e,G(u)),!0)}function re(e){Xp(G(c),e)&&L(c,Kp(G(c),e),!0)}async function ie(e=`reject`){if(!G(s)||G(c).phase!==`picking`&&G(c).phase!==`conflict`)return;let i=G(c).phase===`picking`?qp(G(c)):{...G(c),phase:`submitting`};if(!(!i.source||i.destination===void 0||!i.kind)){L(c,i,!0);try{let a=await(i.kind===`copy`?t.copyEntry:t.moveEntry)(t.root.id,{source:i.source,destinationDirectory:i.destination,conflict:e},Ra()),o=i.source.includes(`/`)?i.source.slice(0,i.source.lastIndexOf(`/`)):``;i.kind===`copy`?await G(s).refresh(i.destination):await Promise.all([G(s).refresh(o),G(s).refresh(i.destination)]),G(s).select(a.path),n()(`${i.kind===`copy`?`Copied`:`Moved`} ${a.path}.`),r()(),L(c,Wp,!0)}catch(e){let n=e;n.status===409?(L(c,Jp(i,n.replaceAllowed===!0),!0),await Cr(),G(l)?.focus()):(L(c,Yp(i),!0),t.onerror(e))}}}var k=um(),ae=z(k),oe=z(ae),se=z(oe),ce=z(se),le=z(ce,!0);M(ce),Li(ce,e=>L(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=>L(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=nm(),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=Qp(),r=z(n);M(n),H(()=>Y(r,`${G(t).file.name??``}: ${G(t).path??G(t).status??``}${G(t).status===`too-large`?` (maximum ${Vp/1024/1024} MiB)`:``}`)),J(e,n)}),M(i);var a=V(i,2),o=e=>{var t=em(),n=z(t),r=e=>{var t=$p();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=tm();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=rm(),n=z(t),r=V(n,2),i=V(r,2);M(t),K(`click`,n,()=>ne(`copy`)),K(`click`,r,()=>ne(`move`)),K(`click`,i,()=>void te()),J(e,t)};X(Se,e=>{G(s)&&G(c).phase===`idle`&&G(b)&&G(b).kind!==`symlink`&&e(Ce)});var we=V(Se,2),Te=e=>{var t=im(),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=>L(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,()=>L(d,!1)),K(`click`,c,()=>void ee()),J(e,t)};X(we,e=>{G(d)&&G(b)&&e(Te)});var Ee=V(we,2),De=e=>{var t=am(),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??``}`)},[()=>!Xp(G(c),``)]),K(`click`,u,()=>re(``)),K(`click`,d,()=>void ie()),K(`click`,p,()=>L(c,Wp,!0)),J(e,t)},Oe=e=>{var t=om(),n=V(z(t),2),r=z(n,!0);M(n);var i=V(n,2),a=z(i),o=e=>{var t=$p();K(`click`,t,()=>void ie(`replace`)),J(e,t)};X(a,e=>{G(c).replaceAllowed&&e(o)});var s=V(a,2),u=V(s,2);M(i),M(t),Li(t,e=>L(l,e),()=>G(l)),H(()=>Y(r,G(c).destination)),K(`click`,s,()=>void ie(`keep-both`)),K(`click`,u,()=>L(c,Wp,!0)),J(e,t)},ke=e=>{var t=sm(),n=V(z(t),2),r=z(n),i=V(r);M(n),M(t),K(`click`,r,()=>L(c,{...G(c),phase:`picking`},!0)),K(`click`,i,()=>L(c,Wp,!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,cm())},Me=e=>{J(e,lm())};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=P(()=>G(c).phase===`picking`);Rp(e,{get controller(){return G(s)},get revision(){return G(o)},get destinationMode(){return G(t)},ondestinationselect:re,onselectionchange:e=>L(u,e,!0)})}}),J(e,t)};X(Ne,e=>{G(s)&&e(Pe)}),M(ae),M(k),Li(k,e=>L(i,e),()=>G(i)),H(()=>{Y(le,G(x)),Y(de,G(c).phase===`picking`?`Choose destination folder.`:`Browse folders and select a position.`),me.disabled=G(y).loading,Y(ve,`Upload destination: ${(G(b)?.kind===`file`?`Select a folder first`:G(u)||`root folder`)??``}`),ye.disabled=G(b)?.kind===`file`||G(g)}),Nr(`close`,k,function(...e){t.onclose?.apply(this,e)}),Nr(`cancel`,k,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,k),$e()}Pr([`click`,`change`]);var fm=q(`<main class="evidence-mode svelte-1d2e8zz"><!></main>`),pm=q(`<span class="detached-chat-model svelte-1d2e8zz"> </span>`),mm=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>`),hm=q(`<div class="recovery-notice" role="status" aria-live="polite" aria-atomic="true"><span> </span> <button type="button">Dismiss</button></div>`),gm=q(`<!> <!> <div class="chat-controls svelte-1d2e8zz" aria-label="Chat controls"><!> <!></div> <div class="chat-tail svelte-1d2e8zz" aria-hidden="true"></div>`,1),_m=q(`<p> </p>`),vm=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>`),ym=q(`<p>Loading skill profiles…</p>`),bm=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>`),xm=q(`<!> <!> <!> <!>`,1),Sm=q(`<main class="swipe-surface svelte-1d2e8zz"><!> <!> <!> <!></main> <!>`,1);function Cm(e,t){Qe(t,!0);let n=$(t,`oncreatepasskey`,3,()=>{}),r=Oc(location.search),i=I(null),a=I(R(r?`chat`:`sessions`)),o=I(!1),s=I(!1),c=I(null),l=I(null),u=!1,d=I(`Loading relay…`),f=I(R(Er(()=>t.theme))),p=I(R([])),m=`gpt-5.6-terra`,h=I([m]),g=I(m),_=I([]),v=I(null),y=I(`list`),b=I([]),x=I(``),S=I(``),C=I(``),w=I(R(new Set)),T=I(null),E=I(R([])),D=I(new Map),O=I({snapshots:new Map,attention:new Map,pending:new Set,errors:new Map}),ee=0,te=null,ne=P(()=>G(E).some(e=>e.id===G(T))),re=I(R([])),ie=I(`workspace-write`),k=I(`on-request`),ae=I(R({starting:!1,error:null})),oe=P(()=>G(ae).starting),se=I(null),ce=0,le=I(null),ue=I(null),de=I(null),fe=I(``),pe=I(R({kind:`unavailable`,sessionId:null})),me=I({kind:`no-workspace`}),he=I(null),ge=I(null),_e=I(!1),ve=null,ye=null,be=0,xe=0,Se=I(null),Ce=P(()=>(G(E).find(e=>e.id===G(T))?.workspaceId??G(C))||null),we=P(()=>G(E).find(e=>e.id===G(T))?.workspacePath??null),Te=P(()=>G(E).find(e=>e.id===G(T))??null),Ee=P(()=>zd(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=P(()=>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=P(()=>Tu(G(pe).kind===`ready`||G(pe).kind===`closing`||G(pe).kind===`error`?G(pe).plan:void 0)),je=I(R({workspaceId:null,summary:null,loading:!1,refreshing:!1,checkingOut:!1,error:null})),Me=P(()=>G(je).workspaceId),Ne=I(R(new Set)),Pe=I(!1),Fe=I(!1),Ie=I(null),Le=I(null),Re=I(null),ze=R({}),A=I({}),Be=I(null),j=``,Ve=new bl({requestFrame:e=>requestAnimationFrame(e),cancelFrame:e=>cancelAnimationFrame(e),reducedMotion:()=>window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,scrollTail:e=>G(Be)?.scrollIntoView({block:`end`,behavior:e})}),He=new xl(e=>void Cr().then(e),e=>{G(a)===`chat`&&Ve.request(e)}),Ue=P(()=>{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.`:``:``}),We=hu((e,n)=>t.authorizedFetch(e,n)),Ge=new Ga(We,e=>L(O,e)),Ke=new La({relay:We,publish:e=>L(D,new Map(e)),onEvent:(e,t)=>Ge.observe(e,t),onAuthoritativeSnapshot:(e,t)=>Ge.applyAuthoritative(e,t)}),qe=new vl({relay:We,cache:Ec(),publish:e=>L(i,e,!0),onSessionEvent:e=>vn(e),onRelayEvent:e=>{G(T)&&Ke.observe(G(T),e)},onHistoryError:e=>{L(d,hn(e,`SESSION_HISTORY_READ_FAILED`),!0)},onSendError:(e,t)=>{let n=Cl(e,`MESSAGE_SEND_FAILED`);L(le,n.message,!0),L(ue,n.retryable?t:null,!0),L(d,hn(e,`MESSAGE_SEND_FAILED`),!0)},onSendAccepted:e=>{G(ue)===e&&(L(le,null),L(ue,null))}}),Je=new af({start:We.startSession},Ra,e=>L(ae,e,!0)),Ye=new lu({getSummary:We.getGitSummary,pull:We.pullGit,checkout:We.checkoutGitBranch},e=>!!Ll(G(p),e)?.isGitRepository,e=>L(je,e,!0),(e,t)=>hn(e,t)),Xe=hp((e,n)=>t.authorizedFetch(e,n)),N=wu({getPlan:We.getPlan,closePlan:We.closePlan},e=>L(pe,e,!0)),Ze=Pd(),et=Tl(),tt=new URLSearchParams(location.search).get(`tree-evidence`),nt=new URLSearchParams(location.search).get(`toast-evidence`),rt=new URLSearchParams(location.search).get(`activity-evidence`),it=eo(window.sessionStorage),at=new Set;Mn(()=>{for(let[e,t]of G(O).attention){let n=`${e}:${t.requestId}`;it.claim(n)&&et.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),!at.has(r)&&(at.add(r),et.enqueue({kind:`error`,message:n}))}for(let t of at)e.has(t)||at.delete(t)});function ot(){L(s,!0)}function st(){L(s,!1),Cr().then(()=>document.querySelector(`.menu-trigger`)?.focus())}Ri(async()=>{if(!(tt===`sessions`||tt===`git`||nt===`error`||nt===`stacked`))try{let e=await hc(t.authorizedFetch);L(C,Rl(G(C)||null,G(p),e.workspaces,Ml.sessionBase)??``,!0),L(p,e.workspaces,!0),L(_,e.profiles),L(h,[...new Set([m,...e.models??[]])]),r||await Gt(),L(w,Nl(G(p)),!0),L(Ne,Nl(G(p)),!0);let n=r?null:await Ze.readSelectedSession();L(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)&&L(fe,await Ze.readDraft(G(T)),!0),L(E,e.sessions,!0);let i=Oe(e.sessions.filter(e=>[`ready`,`turnActive`].includes(e.state)));Ke.bootstrap(i,G(T)),Ge.bootstrap(i),r||_t(),N.select(G(T)),G(T)?qe.select(G(T)):r&&L(d,`This session is no longer open in Gestalt Mobile.`)}catch(e){L(d,hn(e,`RELAY_UNAVAILABLE`),!0)}}),Mn(()=>{if(!G(Be))return;let e=new IntersectionObserver(([e])=>Ve.observeTail(e?.isIntersecting??!1),{root:null});return e.observe(G(Be)),()=>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===j||(j=n,t===`chat`&&ct(`content`))});function ct(e){He.schedule(e)}function lt(){He.invalidate(),Ve.reset(),L(a,`chat`),Yt(`chat`),ct(`initial`),Xt()}function ut(e){L(f,$i(e),!0)}function dt(){if(!G(T))return;let e=window.open(kc(location.href,G(T)),Ac(G(T)),`popup,width=760,height=900`);if(!e){et.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(()=>{He.invalidate(),Ve.cancel(),qe.dispose(),Ke.dispose(),Ge.dispose(),N.dispose(),Ye.dispose(),Je.dispose(),G(v)?.dispose()});async function ft(){if(!G(C)||G(oe))return;let e=rf({workspaceId:G(C),profile:`default`,profileState:`ok`});if(e.profile){L(d,e.profile,!0);return}L(d,`Starting session…`);let t=await Je.start(G(C),{sandbox:G(ie),approvalPolicy:G(k),model:G(g),skillProfile:G(x)||void 0});if(!t){G(ae).error&&L(d,hn(Error(G(ae).error),`SESSION_START_FAILED`),!0);return}try{L(T,t.id,!0),N.select(t.id),Ze.saveSelectedSession(t.id),await pt(),L(fe,await Ze.readDraft(t.id),!0),qe.select(t.id,{history:`empty`}),Ke.select(t.id),lt(),L(d,`Session started.`)}catch(e){L(d,hn(e,`SESSION_START_FAILED`),!0)}}async function pt(){let e=++ee;te?.abort();let t=new AbortController;te=t;try{let n=await We.listSessions(t.signal);if(e!==ee||t.signal.aborted)return;L(E,n,!0);let r=Oe(G(E).filter(e=>[`ready`,`turnActive`].includes(e.state)));Ke.bootstrap(r,G(T)),Ge.bootstrap(r)}catch(e){if(t.signal.aborted||_n(e))return;throw e}finally{te===t&&(te=null)}}async function mt(e,t){await Ge.toggle(e,t),e===G(T)&&pt().catch(()=>{})}async function ht(e){await mt(e,!0),await Cr(),e===G(T)&&document.getElementById(`chat-autopilot-${e}-button`)?.focus({preventScroll:!0})}async function gt(e,t,n){await Ge.resolve(e,t,n),e===G(T)&&pt().catch(()=>{})}async function _t(){try{L(re,await We.listRecentSessions(),!0)}catch{L(re,[],!0)}}async function vt(){try{await Promise.all([pt(),_t()])}catch(e){L(d,hn(e,`SESSION_REFRESH_FAILED`),!0)}}async function yt(e){L(d,`Opening session…`),L(se,e,!0);let t=++ce;try{L(T,e,!0),L(le,null),L(ue,null),N.select(e),Ze.saveSelectedSession(e),qe.select(e),Ke.select(e),lt();let n=await Ze.readDraft(e);t===ce&&G(T)===e&&L(fe,n,!0)}catch(e){L(d,hn(e,`SESSION_HISTORY_READ_FAILED`),!0)}finally{t===ce&&L(se,null)}}async function bt(e){L(d,`Opening recent session…`);try{let t=await We.openRecentSession(e.id,e.cwd);G(E).some(e=>e.id===t.id)||L(E,[...G(E),t],!0),vt(),await yt(t.id)}catch(e){L(d,hn(e,`SESSION_HISTORY_READ_FAILED`),!0)}}async function xt(e){L(d,`Closing session…`);try{await We.releaseSession(e),G(T)===e&&(L(T,null),L(a,`sessions`),Ze.saveSelectedSession(null),qe.select(null),Ke.select(null),N.select(null)),await vt(),L(d,`Session closed.`)}catch(e){L(d,`Could not close session: ${mn(e)}`)}}async function St(e){let t=G(E).find(t=>t.id===e);try{await We.forgetSession(e),G(T)===e&&(qe.select(null),Ke.select(null),L(T,null),Ze.saveSelectedSession(null),N.select(null)),await vt(),L(re,Rd(G(re),t),!0)}catch(e){L(d,`Could not forget session: ${mn(e)}`)}}async function Ct(e){L(d,await xs(e)?`Resume command copied.`:`Could not copy the resume command.`,!0)}async function wt(e){if(!(!G(T)||G(i)?.activeTurnId))try{let t=await We.selectModel(G(T),e);L(E,G(E).map(e=>e.id===t.id?{...e,...t}:e),!0),L(fe,``),L(d,`Model changed to ${e}; it applies to the next turn.`)}catch(e){L(d,`Could not change model: ${mn(e)}`)}}async function Tt(){let e=Ra();qe.send(G(fe),e),Ot()}async function Et(){let e=Ra();qe.queue(G(fe),e),Ot()}async function Dt(){let e=Ra();qe.interruptAndSend(G(fe),e),Ot()}function Ot(){L(fe,``),ct(`explicit`),G(T)&&Ze.saveDraft(G(T),``)}async function kt(){G(ue)&&(L(le,null),await qe.retryPrompt(G(ue)))}async function At(){await qe.interrupt()}function jt(){G(a)===`chat`&&G(T)&&qe.refresh()}function F(e){if(r||e===`chat`&&!G(ne))return;let t=G(a)!==e;G(a)===`chat`&&e!==`chat`&&(He.invalidate(),Ve.cancel()),L(a,e,!0),Yt(e),e===`chat`&&(jt(),Ve.reset(),ct(`initial`),t&&Xt()),e===`git`&&G(Me)&&Ye.refresh(),e===`plan`&&(G(T)&&N.refresh(G(T)),t||Ut()),e===`sessions`&&(G(y)===`profile-manager`&&Jt(!1),vt())}Mn(()=>{let e=G(Ce);G(a)===`plan`&&zt(e)});let Mt=!1;function Nt(){document.visibilityState!==`visible`||Mt||(Mt=!0,queueMicrotask(()=>{Mt=!1,document.visibilityState===`visible`&&(G(a)===`git`&&G(Me)&&Ye.refresh(),G(a)===`plan`&&Ut())}))}let Pt=null;function Ft(e){return e instanceof Element&&e.closest(`button, input, textarea, select, a, summary, [contenteditable]`)!==null}function It(e){e.pointerType!==`touch`||Ft(e.target)||(Pt={pointerId:e.pointerId,x:e.clientX,y:e.clientY})}function Lt(e){if(!Pt||e.pointerId!==Pt.pointerId)return;let t=Pt;Pt=null;let n=e.clientX-t.x,r=e.clientY-t.y;Math.abs(n)<48||Math.abs(n)<=Math.abs(r)||F(sf(G(a),n<0?1:-1,{chatEnabled:G(ne)}))}function Rt(e){Pt?.pointerId===e.pointerId&&(Pt=null)}function zt(e=G(Ce)){if(ve?.abort(),ye?.abort(),L(he,null),L(ge,null),!e){L(me,{kind:`no-workspace`});return}let t=new AbortController;ve=t;let n=++be;L(me,{kind:`loading`,workspaceId:e}),We.listWorkspacePlans(e,t.signal).then(r=>{n!==be||t.signal.aborted||L(me,{kind:`ready`,workspaceId:e,entries:r})}).catch(r=>{n!==be||t.signal.aborted||(G(ke)||et.enqueue({kind:`error`,code:`WORKSPACE_PLANS_READ_FAILED`,message:`Workspace Org files could not be listed. Try opening the Plan tab again.`}),L(me,{kind:`error`,workspaceId:e,error:r instanceof Error?r.message:`Could not load workspace plans.`}))})}function Bt(e){let t=G(Ce);if(!t)return;ye?.abort();let n=new AbortController;ye=n;let r=++xe;(G(T)?We.openSessionPlan(G(T),e):We.getWorkspacePlan(t,e,n.signal)).then(t=>{r!==xe||n.signal.aborted||(L(he,t),L(ge,e,!0),L(_e,!1))}).catch(()=>{r!==xe||n.signal.aborted||et.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 Vt(e){let t=G(Ce),n=G(we),r=n?ys(e,n):null;if(!t||!r){et.enqueue({kind:`error`,code:`ORG_LINK_OUTSIDE_WORKSPACE`,message:`This Org file is not inside the selected workspace and cannot be opened.`});return}F(`plan`),Cr().then(()=>{G(Ce)!==t||G(we)!==n||Bt(r)})}function Ht(){L(he,null),L(ge,null),L(_e,!0),zt()}function Ut(){G(T)&&N.refresh(G(T)),G(ge)?Bt(G(ge)):zt()}async function Wt(e,t){let n=new Tf(We);await n.load(e,t),L(v,n,!0)}async function Gt(){try{let e=await We.listSkillProfiles();L(b,e.profiles.filter(e=>!(`error`in e)));let t=e.profiles.find(e=>`error`in e);L(S,t&&`error`in t?t.error.message:``,!0),G(b).some(e=>e.name===G(x))||L(x,``)}catch(e){L(b,[]),L(S,e instanceof Error?e.message:`Unable to load saved skill profiles.`,!0)}}async function Kt(e){let t=G(C)||G(p)[0]?.id||``,n=G(_).find(e=>e.state===`ok`)?.name??``;if(!t||!n){L(d,`Choose a workspace and available Codex profile before managing skill profiles.`);return}await Wt(t,n),L(y,`profile-manager`)}function qt(e){queueMicrotask(()=>e.focus())}async function Jt(e=!0){L(y,`list`),await Cr(),e&&document.getElementById(`manage-skill-profiles`)?.focus()}function Yt(e){requestAnimationFrame(()=>{G(a)===e&&e!==`chat`&&window.scrollTo({top:0})})}function Xt(){Cr().then(()=>{G(a)===`chat`&&document.getElementById(`message`)?.focus({preventScroll:!0})})}function Zt(e){Ye.select(e.id),L(Pe,!1)}function Qt(e){let t=G(Me)?Ll(G(p),G(Me)):null;t&&(L(c,t,!0),L(l,e,!0))}async function $t(){L(c,null),await Cr(),G(l)?.focus({preventScroll:!0})}function en(){u||(u=!0,queueMicrotask(()=>{u=!1,G(Me)&&Ye.refresh()}))}async function tn(){let e=G(Me);!e||!Ll(G(p),e)?.isGitRepository||(L(Le,G(Le)??Ra(),!0),await Ye.pull(G(Le)),G(je).error||L(Le,null))}async function nn(e){if(G(Fe))return;let n=G(Me)?Ll(G(p),G(Me)):void 0;if(!n||n.isGitRepository){L(Ie,null),et.enqueue({kind:`error`,code:`INVALID_CLONE_DESTINATION`,message:`Select a non-repository folder before cloning.`});return}let r=n.id;L(Fe,!0),L(Ie,null);try{await We.cloneGitRepository(r,e);let n=await hc(t.authorizedFetch),i=uu(G(p),n.workspaces,r,e,G(Ne));L(C,Rl(G(C)||null,G(p),n.workspaces,Ml.sessionBase)??``,!0),L(p,n.workspaces,!0),Ye.select(i.selectedId),L(Ne,i.expandedIds,!0),L(Ie,`Repository cloned into the selected workspace.`),et.enqueue({kind:`success`,message:`Repository cloned.`})}catch(e){hn(e,`GIT_CLONE_FAILED`)}finally{L(Fe,!1)}}async function rn(e){G(Me)&&await Ye.checkout(e)}async function an(){let e=G(Me);if(e){L(Re,G(Re)??Ra(),!0);try{await We.pushGit(e,G(Re)),L(Pe,!1),await Ye.refresh(),L(Re,null)}catch(e){hn(e,`GIT_PUSH_FAILED`)}}}async function on(e,t){ct(`explicit`),await qe.respond(e,{decision:t})}async function sn(e){ct(`explicit`);let t=e.kind===`quiz`?No(e.payload):Po(e.payload);if(!t)return;let n=t.questions.map(t=>({id:t.id,answer:ze[`${e.requestId}:${t.id}`]??``}));L(A,{...G(A),[e.requestId]:t.questions.map((e,t)=>({id:e.id,header:e.header,question:e.question,answer:n[t]?.answer??``}))});let r=e.kind===`quiz`?Fo(n):mu(n);try{await qe.respond(e.requestId,r)}catch{L(d,`Could not send quiz answers. Please try again.`)}}async function cn(e){let t=pu(e.payload);if(!t){L(d,`Codex sent an invalid permission request.`);return}ct(`explicit`),await qe.respond(e.requestId,t)}function dn(e){e.kind===`quiz`||e.kind===`userInput`?sn(e):e.kind===`permissionsApproval`?cn(e):qe.retryInteraction(e.requestId)}function fn(e,t,n){ze[`${e}:${t}`]=n}function pn(e){L(fe,e,!0),G(T)&&Ze.saveDraft(G(T),e)}function mn(e){return e instanceof Error?e.message:`Unknown relay error.`}function hn(e,t){let n=Cl(e,t);return et.enqueue({kind:`error`,...n}),n.message}function gn(e){et.enqueue(e?{kind:`success`,message:`Code copied.`}:{kind:`error`,message:`Code could not be copied. Select it and copy it manually.`})}function _n(e){return(e instanceof DOMException||e instanceof Error)&&e.name===`AbortError`}function vn(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&&L(E,G(E).map(e=>e.id===t?{...e,...n}:e),!0);return}if(e.type!==`plan.updated`&&e.type!==`plan.closed`)return;if(N.applyEvent(t,e),e.type===`plan.closed`){L(E,G(E).map(e=>e.id===t?{...e,plan:void 0}:e),!0);return}let n=vu(e.payload)?e.payload.plan:yu(e.payload)?e.payload:null;n&&L(E,G(E).map(e=>e.id===t?{...e,plan:n}:e),!0)}var yn=Hr();oi(`1d2e8zz`,e=>{Rn(()=>{un.title=r&&G(Ee)?`Chat · ${G(Ee)} · Gestalt Mobile`:`Gestalt Mobile`})}),Nr(`focus`,ln,Nt),Nr(`visibilitychange`,un,Nt);var bn=B(yn),xn=e=>{Fa(e,{})},Sn=e=>{jl(e,{get variant(){return nt}})},Cn=e=>{var t=fm();ql(z(t),{get context(){return tt}}),M(t),J(e,t)},wn=e=>{var l=Sm(),u=B(l),_=z(u),ee=e=>{{let n=P(()=>G(a)===`chat`?zd(G(E).find(e=>e.id===G(T))?.workspacePath??``):null),r=P(()=>G(a)===`chat`?G(E).find(e=>e.id===G(T))?.model??m:null),i=P(()=>G(a)===`chat`&&G(T)?dt: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:()=>L(o,!0),onscratchpad:ot,onthemechange:ut,get ondetach(){return G(i)}})}};X(_,e=>{!G(o)&&!r&&e(ee)});var te=V(_,2),ae=e=>{var t=mm(),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=pm(),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(te,e=>{r&&e(ae)});var ce=V(te,2);kl(ce,{get queue(){return et}});var pe=V(ce,2),he=e=>{pp(e,{get client(){return Xe},onclose:()=>{L(o,!1),Cr().then(()=>document.querySelector(`.menu-trigger`)?.focus())},get onlock(){return t.onlock},oncreatepasskey:e=>n()(e)})},ge=e=>{var t=xm(),n=B(t),o=e=>{var t=hm(),n=z(t),r=z(n,!0);M(n);var i=V(n,2);M(t),H(()=>Y(r,G(de))),K(`click`,i,()=>L(de,null)),J(e,t)};X(n,e=>{G(de)&&e(o)});var s=V(n,2),l=e=>{var t=vm(),n=V(z(t),2);{let e=P(()=>G(T)?G(O).attention.get(G(T))??null:null),t=P(()=>`chat-attention-${G(T)??`none`}`),r=P(()=>G(T)?G(O).pending.has(G(T)):!1);Za(n,{get attention(){return G(e)},get controlId(){return G(t)},get pending(){return G(r)},onresolve:(e,t)=>G(T)&>(G(T),e,t)})}var a=V(n,2);{let e=P(()=>G(T)?G(O).snapshots.get(G(T))??null:null),t=P(()=>G(T)?G(O).attention.get(G(T))??null:null),n=P(()=>`chat-autopilot-safety-${G(T)??`none`}`),r=P(()=>G(T)?G(O).pending.has(G(T)):!1);$a(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 ht(G(T)),ondisable:()=>G(T)&&mt(G(T),!1)})}var o=V(a,2),s=z(o,!0);M(o);var c=V(o,2),l=e=>{var t=gm(),n=B(t);{let e=P(()=>G(i)?[...G(i).messages]:[]),t=P(()=>G(i)?[...G(i).activities]:[]),r=P(()=>G(i)?.activeTurnId??null),a=P(()=>G(i)?.autopilotAuditTruncated??!1),o=P(()=>G(i)?[...G(i).interactions]:[]);dc(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},get submittedAnswers(){return G(A)},onanswer:fn,onquiz:e=>void sn(e),onpermission:e=>void cn(e),ondecision:(e,t)=>void on(e,t),onretry:dn,onopenorg:Vt,oncopyresult:gn})}var r=V(n,2);{let e=P(()=>G(i)?.status??G(d)),t=P(()=>G(i)?.activeTurnId??null),n=P(()=>G(i)?.starting??!1),a=P(()=>!!(G(E).find(e=>e.id===G(T))&&![`ready`,`turnActive`].includes(G(E).find(e=>e.id===G(T))?.state??``))),o=P(()=>G(ue)!==null);Co(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:pn,onscrollbottom:()=>ct(`explicit`),onmodelselect:e=>void wt(e),onsend:()=>void Tt(),onqueue:()=>void Et(),oninterruptsend:()=>void Dt(),onretry:()=>void kt(),oninterrupt:()=>void At()})}var a=V(r,2),o=z(a);{let e=P(()=>G(O).snapshots.get(G(T))??null),t=P(()=>`chat-autopilot-${G(T)}`),n=P(()=>G(O).pending.has(G(T)));Ya(o,{compact:!0,get autopilot(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},ontoggle:e=>G(T)&&mt(G(T),e)})}var s=V(o,2);{let e=P(()=>G(D).get(G(T))??null),t=P(()=>G(E).find(e=>e.id===G(T))?.model??m);Na(s,{compact:!0,get activity(){return G(e)},get rootModel(){return G(t)}})}M(a),Li(V(a,2),e=>L(Be,e),()=>G(Be)),J(e,t)},u=e=>{var t=_m(),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(Ue))),J(e,t)},u=e=>{kd(e,{get catalog(){return G(me)},get state(){return G(ke)},onopen:Bt,onclose:Ht})},f=e=>{{let t=P(()=>G(Me)?Ll(G(p),G(Me))??null:null);cu(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 tn(),oncheckout:e=>void rn(e),onopenpushconfirmation:()=>L(Pe,!0),onpush:()=>void an(),oncancelpush:()=>L(Pe,!1),onselect:Zt,onexpandedchange:e=>L(Ne,e,!0),onbrowsefiles:Qt,onclone:e=>void nn(e)})}},_=e=>{var t=Hr(),n=B(t),r=e=>{var t=bm(),n=z(t),r=z(n);si(r,()=>qt);var i=V(r,2);M(n);var a=V(n,2),o=e=>{wf(e,{get skillsState(){return G(v)},onrefresh:()=>G(v)?.refresh()??Promise.resolve(),onprofileschange:()=>void Gt(),heading:`Skill profile editor`})},s=e=>{J(e,ym())};X(a,e=>{G(v)?e(o):e(s,-1)}),M(t),K(`click`,i,()=>void Jt()),J(e,t)},i=e=>{nf(e,{get sessions(){return G(E)},get recentSessions(){return G(re)},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(ie)},get approvalPolicy(){return G(k)},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=>L(C,e,!0),onexpandedchange:e=>L(w,e,!0),onsandboxchange:e=>L(ie,e,!0),onapprovalpolicychange:e=>L(k,e,!0),onmodelchange:e=>L(g,e,!0),onskillprofilechange:e=>L(x,e,!0),onmanageprofiles:e=>void Kt(e),onopen:yt,onselectopen:yt,onclose:e=>void xt(e),onautopilottoggle:mt,onautopilotresolve:gt,onopenrecent:e=>void bt(e),onforget:e=>void St(e),oncopyresume:e=>void Ct(e),onstart:()=>void ft()})};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 ee=V(s,2),te=e=>{dm(e,{get root(){return G(c)},get listDirectory(){return We.listWorkspaceDirectory},get copyEntry(){return We.copyWorkspaceEntry},get moveEntry(){return We.moveWorkspaceEntry},get deleteEntry(){return We.deleteWorkspaceEntry},get uploadFile(){return We.uploadWorkspaceFile},onclose:()=>void $t(),onerror:e=>hn(e,`WORKSPACE_FILES_READ_FAILED`),onsuccess:e=>et.enqueue({kind:`success`,message:e}),onmutation:en})};X(ee,e=>{G(c)&&e(te)});var ae=V(ee,2),ce=e=>{lf(e,{get activeTab(){return G(a)},get chatEnabled(){return G(ne)},get focusTab(){return G(Se)},onselect:F})};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=>{Tp(e,{onclose:st})};X(_e,e=>{G(s)&&e(ve)}),K(`pointerdown`,u,It),K(`pointerup`,u,Lt),Nr(`pointercancel`,u,Rt),J(e,l)};X(bn,e=>{rt===`true`?e(xn):nt===`error`||nt===`stacked`?e(Sn,1):tt===`sessions`||tt===`git`?e(Cn,2):e(wn,-1)}),J(e,yn),$e()}Pr([`pointerdown`,`pointerup`,`click`]);function wm(){throw Error(`AUTH_RESPONSE_INVALID`)}async function Tm(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 Em(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 Dm(e){return!!e&&typeof e==`object`&&!!e.options&&typeof e.options.challenge==`string`}function Om(e){return!!e&&typeof e==`object`&&e.status===`authenticated`}function km(e=fetch){async function t(){let t=await Tm(await e(`/api/auth/status`,{credentials:`same-origin`}));return Em(t)||wm(),t}async function n(t,n={}){let r=await Tm(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return Dm(r)||wm(),r}async function r(t,n){let r=await Tm(await e(t,{method:`POST`,credentials:`same-origin`,headers:{"content-type":`application/json`},body:JSON.stringify(n)}));return Om(r)||wm(),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 Am(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 jm(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 Mm(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 Nm(){return Pm.stubThis(globalThis?.PublicKeyCredential!==void 0&&typeof globalThis.PublicKeyCredential==`function`)}var Pm={stubThis:e=>e};function Fm(e){let{id:t}=e;return{...e,id:Mm(t),transports:e.transports}}function Im(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 Lm=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 Rm({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 Lm({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 Lm({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 Lm({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 Lm({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 Lm({message:`The authenticator was previously registered`,code:`ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED`,cause:e});else if(e.name===`NotAllowedError`)return new Lm({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 Lm({message:`No entry in pubKeyCredParams was of type "public-key"`,code:`ERROR_MALFORMED_PUBKEYCREDPARAMS`,cause:e}):new Lm({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(!Im(t))return new Lm({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rp.id!==t)return new Lm({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 Lm({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 Lm({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 zm=new class{constructor(){Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}createNewAbortSignal(){if(this.controller){let e=Error(`Cancelling existing WebAuthn API call for new one`);e.name=`AbortError`,this.controller.abort(e)}let e=new AbortController;return this.controller=e,e.signal}cancelCeremony(){if(this.controller){let e=Error(`Manually cancelling existing WebAuthn API call`);e.name=`AbortError`,this.controller.abort(e),this.controller=void 0}}},Bm=[`cross-platform`,`platform`];function Vm(e){if(e&&!(Bm.indexOf(e)<0))return e}async function Hm(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(!Nm())throw Error(`WebAuthn is not supported in this browser`);let r={...t,challenge:Mm(t.challenge),user:{...t.user,id:Mm(t.user.id)},excludeCredentials:t.excludeCredentials?.map(Fm)},i={};n&&(i.mediation=`conditional`),i.publicKey=r,i.signal=zm.createNewAbortSignal();let a;try{a=await navigator.credentials.create(i)}catch(e){throw Rm({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){Um(`getPublicKeyAlgorithm()`,e)}let f;if(typeof c.getPublicKey==`function`)try{let e=c.getPublicKey();e!==null&&(f=jm(e))}catch(e){Um(`getPublicKey()`,e)}let p;if(typeof c.getAuthenticatorData==`function`)try{p=jm(c.getAuthenticatorData())}catch(e){Um(`getAuthenticatorData()`,e)}return{id:o,rawId:jm(s),response:{attestationObject:jm(c.attestationObject),clientDataJSON:jm(c.clientDataJSON),transports:u,publicKeyAlgorithm:d,publicKey:f,authenticatorData:p},type:l,clientExtensionResults:a.getClientExtensionResults(),authenticatorAttachment:Vm(a.authenticatorAttachment)}}function Um(e,t){console.warn(`The browser extension that intercepted this WebAuthn API call incorrectly implemented ${e}. You should report this error to them.\n`,t)}function Wm(){if(!Nm())return Gm.stubThis(new Promise(e=>e(!1)));let e=globalThis.PublicKeyCredential;return e?.isConditionalMediationAvailable===void 0?Gm.stubThis(new Promise(e=>e(!1))):Gm.stubThis(e.isConditionalMediationAvailable())}var Gm={stubThis:e=>e};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 Lm({message:`Authentication ceremony was sent an abort signal`,code:`ERROR_CEREMONY_ABORTED`,cause:e})}else if(e.name===`NotAllowedError`)return new Lm({message:e.message,code:`ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY`,cause:e});else if(e.name===`SecurityError`){let t=globalThis.location.hostname;if(!Im(t))return new Lm({message:`${globalThis.location.hostname} is an invalid domain`,code:`ERROR_INVALID_DOMAIN`,cause:e});if(n.rpId!==t)return new Lm({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 Lm({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 qm(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(!Nm())throw Error(`WebAuthn is not supported in this browser`);let i;t.allowCredentials?.length!==0&&(i=t.allowCredentials?.map(Fm));let a={...t,challenge:Mm(t.challenge),allowCredentials:i},o={};if(n){if(!await Wm())throw Error(`Browser does not support WebAuthn autofill`);if(document.querySelectorAll(`input[autocomplete$='webauthn']`).length<1&&r)throw Error('No <input> with "webauthn" as the only or last value in its `autocomplete` attribute was detected');o.mediation=`conditional`,a.allowCredentials=[]}o.publicKey=a,o.signal=zm.createNewAbortSignal();let s;try{s=await navigator.credentials.get(o)}catch(e){throw Km({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=jm(u.userHandle)),{id:c,rawId:jm(l),response:{authenticatorData:jm(u.authenticatorData),clientDataJSON:jm(u.clientDataJSON),signature:jm(u.signature),userHandle:f},type:d,clientExtensionResults:s.getClientExtensionResults(),authenticatorAttachment:Vm(s.authenticatorAttachment)}}function Jm(e){return typeof e==`object`&&e?e:{}}function Ym(e){let t=Jm(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 Ym(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 Xm(){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(!Xm()){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 Qm=q(`<p class="warning svelte-1c5qcm6">This one-time link authorizes one new passkey. Choose a nickname and complete the passkey
|
|
27
|
+
prompt before it expires.</p>`),$m=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
|
|
28
28
|
first-device access. Enroll this device before exposing the instance, and confirm you are at the
|
|
29
|
-
canonical address before continuing.</p>`),
|
|
30
|
-
authorize that device.</p> <a class="svelte-1c5qcm6"> </a> <button type="button" class="copy svelte-1c5qcm6">Copy setup link</button></div></div>`),
|
|
29
|
+
canonical address before continuing.</p>`),eh=q(`<p class="error svelte-1c5qcm6">Passkeys require a secure browser on this device.</p>`),th=q(`<p class="feedback svelte-1c5qcm6"> </p>`),nh=q(`<img alt="QR code for the first-device setup link" class="svelte-1c5qcm6"/>`),rh=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
|
|
30
|
+
authorize that device.</p> <a class="svelte-1c5qcm6"> </a> <button type="button" class="copy svelte-1c5qcm6">Copy setup link</button></div></div>`),ih=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 ah(e,t){Qe(t,!0);let n=I(``),r=I(null),i=I(!1),a=I(null),o=!0,s=!0,c=P(()=>tp(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||np(t.canonicalOrigin).then(e=>{s&&L(a,e,!0)}).catch(()=>{s&&L(r,`Setup QR unavailable. Use the setup link below.`)});let e=window.matchMedia?.(`(min-width: 768px)`).matches??!1;!t.enrollmentTicket&&e&&(l=setInterval(()=>void p(),15e3))}),zi(()=>{s=!1,o=!1,d()});async function m(){if(!navigator.clipboard?.writeText){L(r,`Copy is unavailable here. Select and copy the visible setup link.`);return}try{await navigator.clipboard.writeText(G(c)),L(r,`Setup link copied.`)}catch{L(r,`Copy is unavailable here. Select and copy the visible setup link.`)}}async function h(){let e=G(n).trim();if(!e){L(r,`Enter a device nickname before authorizing it.`);return}if(!u()){L(r,`Passkeys require a secure browser on this device.`);return}if(!(G(i)||!o)){L(i,!0),L(r,null);try{let{options:n}=await t.client.registrationOptions(t.enrollmentTicket);if(!s||!o)return;let r=await Hm({optionsJSON:n});if(!s||!o||(await t.client.verifyRegistration(r,e),!s||!o))return;d(),t.onAuthenticated()}catch(e){if(e instanceof Error&&[`AUTH_REQUEST_FAILED_409`,`BOOTSTRAP_ALREADY_CLAIMED`].includes(e.message)){d(),t.onLocked(`Another device completed setup first. Sign in with that device’s passkey.`);return}L(r,Ym(e),!0)}finally{L(i,!1)}}}var g=ih(),_=z(g),v=V(z(_),2),y=z(v,!0);M(v);var b=V(v,2),x=e=>{J(e,Qm())},S=e=>{J(e,$m())};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,eh())},O=P(()=>!u());X(E,e=>{G(O)&&e(D)});var ee=V(E,2),te=e=>{var t=th(),n=z(t,!0);M(t),H(()=>Y(n,G(r))),J(e,t)};X(ee,e=>{G(r)&&e(te)});var ne=V(ee,2),re=e=>{var t=rh(),n=z(t),r=e=>{var t=nh();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(ne,e=>{t.enrollmentTicket||e(re)}),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=>L(n,e)),K(`click`,w,()=>void h()),J(e,g),$e()}Pr([`click`]);var oh=q(`<p class="error svelte-1byekj9">Passkeys require this relay to be opened over a secure connection.</p>`),sh=q(`<p class="error svelte-1byekj9">This browser does not support passkeys. Use an authorized browser or device.</p>`),ch=q(`<p class="svelte-1byekj9"> </p> <button class="sign-in svelte-1byekj9" type="button"> </button>`,1),lh=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 uh(e,t){Qe(t,!0);let n=I(``),r=I(!1),i=I(void 0);function a(){return window.isSecureContext&&window.PublicKeyCredential!==void 0}function o(e){return e instanceof Error&&[`NotAllowedError`,`AbortError`,`SecurityError`].includes(e.name)?Ym(e):`We could not complete sign-in. Please try again.`}Ri(()=>{L(n,t.message??`Use a passkey from an authorized device to unlock this relay.`,!0),G(i)?.focus()});async function s(){if(!(G(r)||!a())){L(r,!0),L(n,``);try{let{options:e}=await t.client.loginOptions(),n=await qm({optionsJSON:e});await t.client.verifyLogin(n),t.onAuthenticated()}catch(e){L(n,o(e),!0)}finally{L(r,!1)}}}var c=lh(),l=z(c),u=V(z(l),4),d=e=>{J(e,oh())},f=e=>{J(e,sh())},p=e=>{var t=ch(),a=B(t),o=z(a,!0);M(a);var c=V(a,2),l=z(c,!0);M(c),Li(c,e=>L(i,e),()=>G(i)),H(()=>{Y(o,G(n)),c.disabled=G(r),Y(l,G(r)?`Waiting for passkey…`:`Sign in with a passkey`)}),K(`click`,c,()=>void s()),J(e,t)};X(u,e=>{window.isSecureContext?window.PublicKeyCredential===void 0?e(f,1):e(p,-1):e(d)}),M(l),M(c),J(e,c),$e()}Pr([`click`]);var dh=q(`<p>Checking this device…</p>`),fh=q(`<h1 class="svelte-y74n0s">Passkey support is required</h1> <p> </p>`,1),ph=q(`<h1 class="svelte-y74n0s">Unable to check this device</h1> <p> </p> <button type="button" class="svelte-y74n0s">Try again</button>`,1),mh=q(`<main class="auth-gate svelte-y74n0s" aria-live="polite"><!></main>`);function hh(e,t){Qe(t,!0);let n=$(t,`initialTheme`,3,`dyne-org`),r=I(void 0),i=P(()=>G(r)??t.enrollmentTicket),a=I(R({kind:`checking`})),o=!1,s=km(),c=Zm(s,e=>L(a,e,!0)),l=Am(()=>c.locked(`Your session ended. Sign in with your passkey to continue.`));Ri(()=>{c.check(G(i))});function u(e){L(r,e,!0),L(a,{kind:`enrollment`,publicOrigin:G(a).kind===`authenticated`?``:`http://localhost`},!0)}async function d(){if(!(o||G(a).kind!==`authenticated`)){o=!0,c.locked(`Relay locked. Sign in with your passkey to continue.`);try{await s.logout()}catch{c.locked(`Relay locked locally. Recheck your connection before signing in again.`)}finally{o=!1}}}var f=Hr(),p=B(f),m=e=>{Cm(e,{get authorizedFetch(){return l},get theme(){return n()},get passkeyAuthEnabled(){return G(a).passkeyAuthEnabled},onlock:()=>void d(),oncreatepasskey:u})},h=e=>{ah(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=>{uh(e,{get client(){return s},get message(){return G(a).message},onAuthenticated:()=>c.authenticated()})},_=e=>{var t=mh(),n=z(t),r=e=>{J(e,dh())},i=e=>{var t=fh(),n=V(B(t),2),r=z(n,!0);M(n),H(()=>Y(r,G(a).message)),J(e,t)},o=e=>{var t=ph(),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),$e()}Pr([`click`]);function gh(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 _h(e,t,n,r=Ur,i={}){return r(hh,{target:e,props:{enrollmentTicket:gh(t,n),initialTheme:Qi(i)}})}function vh(){return{readyState:document.readyState,addLoadListener:e=>window.addEventListener(`load`,e,{once:!0}),serviceWorker:navigator.serviceWorker}}function yh(e=vh()){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 bh=document.getElementById(`app`);if(!bh)throw Error(`Missing application mount target`);_h(bh,window.location,window.history),yh();
|