gestalt-mobile 0.41.0 → 0.41.2
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-G2PznC5F.js → index-9uZwieND.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/server/composition.contracts.js +200 -44
- package/dist/server/server/composition.js +155 -37
- package/dist/server/server/features/agent-activity/model.js +8 -2
- package/dist/server/server/features/autopilot/application/policy.js +2 -2
- package/dist/server/server/features/autopilot/application/service.js +93 -29
- package/dist/server/server/features/autopilot/domain/supervised-lifecycle.js +81 -7
- package/dist/server/server/features/org-plan-checkpoint/application/validate.js +83 -15
- package/dist/server/server/features/plans/application/supervised-plan-registry.js +8 -1
- package/dist/server/server/platform/persistence/sqlite-pending-interaction-store.js +12 -6
- package/dist/server/shared/contracts/org-plan-attention.js +8 -1
- package/dist/server/shared/contracts/org-plan-checkpoint.js +27 -3
- package/dist/server/shared/contracts/plan-signal.js +3 -1
- package/package.json +1 -1
|
@@ -20,7 +20,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
|
|
|
20
20
|
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 Lu(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=Iu(),o=V(z(a),2),s=V(z(o),2);{let e=P(()=>t.selectedWorkspace?.id??null);bu(s,{get roots(){return t.workspaceTree},get expandedIds(){return t.expandedIds},get selectedId(){return G(e)},label:`Git repository and clone destination`,get onexpandedchange(){return t.onexpandedchange},get onselect(){return t.onselect}})}var c=V(s,2);N(o);var l=V(o,2),u=z(l),d=z(u),f=V(z(d),2),p=z(f,!0);N(f),N(d);var m=V(d,2),h=V(z(m),2);Di(h),N(m);var g=V(m,2),_=z(g,!0);N(g),N(u);var v=V(u,4),y=e=>{var n=Tu(),r=z(n,!0);N(n),H(()=>Y(r,t.cloneStatus)),J(e,n)};X(v,e=>{t.cloneStatus&&e(y)}),N(l);var b=V(l,2),x=V(z(b),2),S=e=>{var n=Hr(),r=B(n),i=e=>{var n=Hr(),r=B(n),i=e=>{var n=Au(),r=B(n),i=z(r),a=V(z(i),2);Z(a,20,()=>t.summary.branches??[],e=>e,(e,t)=>{var n=Eu(),r=z(n,!0);N(n);var i={};H(()=>{Y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),J(e,n)}),N(a);var o;bi(a);var s=V(a,2),c=z(s);N(s);var l=V(s,2),u=z(l);N(l);var d=V(l,2),f=z(d),p=z(f,!0);N(f),N(d);var m=V(d,2),h=z(m);N(m),N(i);var g=V(i,2),_=z(g),v=V(_,2),y=V(z(v));N(v),N(g),N(r);var b=V(r,2),x=e=>{var n=Du(),r=z(n),i=z(r);N(r);var a=V(r,2),o=V(a,2);N(n),H(()=>Y(i,`Push HEAD to ${t.summary.upstream??``}?`)),K(`click`,a,function(...e){t.onpush?.apply(this,e)}),K(`click`,o,function(...e){t.oncancelpush?.apply(this,e)}),J(e,n)};X(b,e=>{t.confirmingPush&&e(x)});var S=V(b,2),C=e=>{var n=ku(),r=V(z(n),2);Z(r,21,()=>t.summary.commits,e=>e.hash,(e,t)=>{var n=Ou(),r=z(n),i=z(r),a=z(i,!0);N(i);var o=V(i),s=z(o,!0);N(o),N(r);var c=V(r,2),l=z(c),u=z(l,!0);N(l);var d=V(l),f=z(d,!0);N(d),N(c),N(n),H(e=>{Q(i,`title`,G(t).hash),Y(a,G(t).shortHash),Y(s,G(t).subject),Y(u,G(t).author),Q(d,`datetime`,G(t).authoredAt),Q(d,`title`,G(t).authoredAt),Y(f,e)},[()=>wu(G(t).authoredAt)]),J(e,n)}),N(r),N(n),J(e,n)};X(S,e=>{t.summary.commits.length&&e(C)}),H(e=>{a.disabled=t.refreshing||t.checkingOut||!t.summary.branches?.length,o!==(o=t.summary.branch??``)&&(a.value=(a.__value=t.summary.branch??``)??``,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`}`)},[()=>Cu(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,ju())};X(r,e=>{t.summary.available?e(i):e(a,-1)}),J(e,n)},a=e=>{J(e,Mu())};X(r,e=>{t.summary?e(i):t.error||e(a,1)}),J(e,n)},C=e=>{var n=Nu(),r=B(n),i=z(r),a=z(i,!0);N(i),He(),N(r),He(2),H(()=>Y(a,t.selectedWorkspace.name)),J(e,n)},w=e=>{var t=Pu();He(2),J(e,t)};X(x,e=>{t.selectedWorkspace?.isGitRepository?e(S):t.selectedWorkspace?e(C,1):e(w,-1)});var T=V(x,2),E=e=>{var n=Fu(),r=z(n,!0);N(n),H(()=>Y(r,t.error)),J(e,n)};X(T,e=>{t.error&&e(E)}),N(b),N(a),H(()=>{c.disabled=!t.selectedWorkspace,Y(p,G(r)?`~/${G(r).relativePath}`:`Select a non-repository folder`),g.disabled=t.cloning,Y(_,t.cloning?`Cloning…`:`Clone`)}),K(`click`,c,e=>t.onbrowsefiles(e.currentTarget)),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 zu(e,t,n,r,i){let a=new Set(Bu(e).filter(e=>e.isGitRepository).map(e=>e.id)),o=fu(t,n),s=o?Bu(o.children).filter(e=>e.isGitRepository&&!a.has(e.id)):[],c=Vu(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&&du(t,u).forEach(e=>d.add(e)),!l&&o&&d.add(o.id),{selectedId:u,expandedIds:d}}function Bu(e){let t=[],n=e=>{t.push(e),e.children.forEach(n)};return e.forEach(n),t}function Vu(e){return(e.trim().replace(/[?#].*$/,``).replace(/\/+$/,``).split(/[/:]/).at(-1)??``).replace(/\.git$/i,``)}function Hu(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 Uu(e){return{answers:Object.fromEntries(e.filter(e=>e.answer.trim()).map(e=>[e.id,{answers:[e.answer]}]))}}function Wu(e){return[`Submitted quiz answers:`,...e.map(e=>`- ${e.header} — ${e.question}\n ${e.answer.trim().replaceAll(`
|
|
21
21
|
`,`
|
|
22
22
|
`)}`)].join(`
|
|
23
|
-
`)}function Gu(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{quit:()=>n(`/api/maintenance/quit`,{}),listSessions:e=>s(`/api/sessions`,e),listWorkspaceDirectory:(e,t={},n)=>{let r=new URLSearchParams;t.directory!==void 0&&r.set(`directory`,t.directory),t.cursor!==void 0&&r.set(`cursor`,t.cursor),t.limit!==void 0&&r.set(`limit`,String(t.limit));let i=r.size===0?``:`?${r}`;return s(`/api/workspaces/${encodeURIComponent(e)}/files${i}`,n)},copyWorkspaceEntry:(e,t,r)=>n(`/api/workspaces/${encodeURIComponent(e)}/files/copy`,t,{"idempotency-key":r}),moveWorkspaceEntry:(e,t,r)=>n(`/api/workspaces/${encodeURIComponent(e)}/files/move`,t,{"idempotency-key":r}),uploadWorkspaceFile:(e,t,n,r)=>{let a=new URLSearchParams({directory:t.directory,filename:t.filename,conflict:t.conflict});return i(`/api/workspaces/${encodeURIComponent(e)}/files/upload?${a}`,t.file,n,r)},deleteWorkspaceEntry:(e,t,n)=>a(`/api/workspaces/${encodeURIComponent(e)}/files`,{path:t,recursive:!0},n),getSession:e=>s(`/api/sessions/${encodeURIComponent(e)}`),refreshActivity:e=>n(`/api/sessions/${encodeURIComponent(e)}/activity/refresh`,{}),setAutopilot:(e,t,n)=>r(`/api/sessions/${encodeURIComponent(e)}/autopilot`,{enabled:t},n?{"idempotency-key":n}:{}),resolveAttention:(e,t,r)=>n(`/api/sessions/${encodeURIComponent(e)}/attention/${encodeURIComponent(t)}/resolve`,r),listRecentSessions:()=>s(`/api/sessions/recent-threads`),openRecentSession:(e,t,r=`codex`)=>n(`/api/sessions/recent-threads/open`,{threadId:e,cwd:t,provider:r}),listSessionModels:e=>n(`/api/session-models/${encodeURIComponent(e)}`,{}),startSession:(e,t={},r)=>n(`/api/sessions`,{workspaceId:e,profile:`default`,provider:`codex`,...t},r?{"idempotency-key":r}:{}),startTurn:(e,t,r)=>n(`/api/sessions/${encodeURIComponent(e)}/turns`,{text:t},r?{"idempotency-key":r}:{}),selectModel:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/model`,{model:t}),interruptTurn:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/turns/${encodeURIComponent(t)}/interrupt`,{}),queueTurnInput:(e,t,r,i)=>n(`/api/sessions/${encodeURIComponent(e)}/turns/${encodeURIComponent(t)}/queue`,{text:r},i?{"idempotency-key":i}:{}),restoreSession:e=>n(`/api/sessions/${encodeURIComponent(e)}/restore`,{}),releaseSession:e=>n(`/api/sessions/${encodeURIComponent(e)}/release`,{}),forgetSession:n=>e(`/api/sessions/${encodeURIComponent(n)}`,{method:`DELETE`}).then(async e=>{if(!e.ok)throw await t(e)}),getHistory:e=>s(`/api/sessions/${encodeURIComponent(e)}/history`),getPlan:(e,t)=>c(`/api/sessions/${encodeURIComponent(e)}/plan`,t),closePlan:e=>o(`/api/sessions/${encodeURIComponent(e)}/plan`),listWorkspacePlans:(e,t)=>s(`/api/workspaces/${encodeURIComponent(e)}/plans`,t),getWorkspacePlan:(e,t,n)=>s(`/api/workspaces/${encodeURIComponent(e)}/plans/${encodeURIComponent(t)}`,n),openSessionPlan:(e,t)=>r(`/api/sessions/${encodeURIComponent(e)}/plan`,{planName:t}),getGitSummary:(e,t)=>s(`/api/git/repositories/${encodeURIComponent(e)}`,t),cloneGitRepository:(e,t)=>n(`/api/git/clone`,{workspaceId:e,address:t}),refreshGit:(e,t)=>n(`/api/git/repositories/${encodeURIComponent(e)}/refresh`,{},t?{"idempotency-key":t}:{}),pullGit:(e,t,r)=>n(`/api/git/repositories/${encodeURIComponent(e)}/pull`,{},t?{"idempotency-key":t}:{},r),checkoutGitBranch:(e,t,r)=>n(`/api/git/repositories/${encodeURIComponent(e)}/checkout`,{branch:t},{},r),pushGit:(e,t)=>n(`/api/git/repositories/${encodeURIComponent(e)}/push`,{},t?{"idempotency-key":t}:{}),listAvailableSkills:(e,t,n=!1,r)=>s(`/api/skills?${new URLSearchParams({workspaceId:e,profile:t,...n?{refresh:`true`}:{}}).toString()}`,r),listSkillProfiles:e=>s(`/api/skill-profiles`,e),replaceSkillProfile:(e,t)=>r(`/api/skill-profiles/${encodeURIComponent(e)}`,t),deleteSkillProfile:e=>o(`/api/skill-profiles/${encodeURIComponent(e)}`),respondInteraction:(e,t,r,i)=>n(`/api/sessions/${encodeURIComponent(e)}/interactions/${encodeURIComponent(t)}`,r,i?{"idempotency-key":i}:{})}}var Ku=[`authoring-start`,`work-start`,`checkpoint`,`update`,`supervision-start`,`resync`];function qu(e){return typeof e==`string`&&Ku.includes(e)}function Ju(e){if(!e||typeof e!=`object`)return!1;let t=e;return Yu(t.plan)&&(t.reason===null||qu(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 Xu(e){return e instanceof Error?e.message:`Could not load the plan.`}function Zu(e){return{...e,...e.skills?{skills:[...e.skills]}:{},description:{...e.description},children:e.children.map(Zu)}}function Qu(e){return{...e,steps:e.steps.map(Zu)}}function $u(e,t){return e.kind===`unavailable`&&e.sessionId===t}function ed(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:Qu(e)}:{kind:`unavailable`,sessionId:t})}).catch(e=>{o?.signal.aborted||a!==i||n!==t||c({kind:`error`,sessionId:t,error:Xu(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)||Ju(t.payload))){let n=Ju(t.payload)?t.payload.plan:t.payload;s=t.sequence,c({kind:`ready`,sessionId:e,plan:Qu(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:Xu(e)}),null):$u(r,t)?`chat`:null:null}},dispose(){o?.abort(),o=null,n=null,++i,c({kind:`unavailable`,sessionId:null})}}}function td(e){if(!e)return null;let t=nd(e.steps,e.currentStepId)?.measurement?.weeklyRemainingCurrent;return typeof t==`number`&&Number.isFinite(t)&&t>=0&&t<=100?Math.round(t):null}function nd(e,t){for(let n of e){if(n.id===t)return n;let e=nd(n.children,t);if(e)return e}}function rd(e,t){return t===void 0?`L${e}`:`L${e}.${t}`}function id(e){let t=e.steps.filter(e=>e.reviewStatus===`REVIEWED`).length,n=e.steps.length,r=ad(e),i=e.steps.find(e=>e.state===`DONE`&&e.reviewStatus===`UNREVIEWED`);return i?{phase:`awaiting review`,label:`Awaiting ${rd(e.steps.indexOf(i)+1)} review`,current:r,reviewedL1s:t,totalL1s:n}:n>0&&t===n?{phase:`terminal review`,label:`Terminal review`,current:r,reviewedL1s:t,totalL1s:n}:t>0&&!r?{phase:`milestone reported`,label:`Preparing milestone summary`,current:r,reviewedL1s:t,totalL1s:n}:r?{phase:`implementing`,label:`Implementing ${r.position} ${r.title}`,current:r,reviewedL1s:t,totalL1s:n}:{phase:e.allDone?`terminal review`:`implementing`,label:e.allDone?`Terminal review`:`Implementing`,current:r,reviewedL1s:t,totalL1s:n}}function ad(e){for(let[t,n]of e.steps.entries()){if(n.id===e.currentStepId)return{id:n.id,position:rd(t+1),title:n.title,state:n.state};let r=n.children.findIndex(t=>t.id===e.currentStepId);if(r>=0){let e=n.children[r];return{id:e.id,position:rd(t+1,r+1),title:e.title,state:e.state}}}}var od=q(`<span class="wip-effort svelte-hmxg46"> </span>`),sd=q(`<li class="svelte-hmxg46"><span class="wip-position svelte-hmxg46" aria-hidden="true"> </span> <span class="wip-title svelte-hmxg46"> </span> <!></li>`),cd=q(`<ol class="wip-steps svelte-hmxg46" aria-label="Work in progress plan steps"></ol>`),ld=q(`<li class="svelte-hmxg46"><span aria-hidden="true" class="position svelte-hmxg46"> </span> <span aria-hidden="true" class="state"> </span></li>`),ud=q(`<ol class="step-markers svelte-hmxg46" aria-label="Plan step progress"></ol>`),dd=q(`<div><div class="progress-heading svelte-hmxg46"><span> </span> <span> </span></div> <progress class="svelte-hmxg46"> </progress> <span class="review-status"> </span> <!></div>`);function fd(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:rd(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:rd(t+1,n+1),state:e.state,level:e.level,title:e.title}))])),a=P(()=>G(i).filter(e=>e.state===`WIP`)),o=P(()=>id(t.plan)),s=P(()=>Math.max(t.plan.totalSteps,1));var c=dd(),l=z(c),u=z(l),d=z(u);N(u);var f=V(u,2),p=z(f);N(f),N(l);var m=V(l,2),h=z(m);N(m);var g=V(m,2),_=z(g,!0);N(g);var v=V(g,2),y=e=>{var n=cd();Z(n,21,()=>G(a),e=>e.id,(e,n)=>{var r=sd(),i=z(r),a=z(i);N(i);var o=V(i,2),s=z(o,!0);N(o);var c=V(o,2),l=e=>{var t=od(),r=z(t);N(t),H(()=>Y(r,`Effort: ${G(n).effort??``}`)),J(e,t)};X(c,e=>{G(n).level===1&&G(n).effort&&e(l)}),N(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)}),N(n),J(e,n)},b=e=>{var n=ud();Z(n,21,()=>G(i),e=>e.id,(e,n)=>{var r=ld(),i=z(r),a=z(i,!0);N(i);var o=V(i,2),s=z(o,!0);N(o),N(r),H(()=>{Q(r,`data-state`,G(n).state),Q(r,`aria-current`,G(n).id===t.plan.currentStepId?`step`:void 0),Q(r,`aria-label`,`${G(n).position}: ${G(n).state}`),Y(a,G(n).position),Y(s,G(n).state)}),J(e,r)}),N(n),J(e,n)};X(v,e=>{n()&&G(a).length?e(y):!n()&&G(i).length&&e(b,1)}),N(c),H(()=>{gi(c,1,ui([`plan-progress`,{compact:n()}]),`svelte-hmxg46`),Y(d,`${t.plan.doneSteps??``} / ${t.plan.totalSteps??``} work items done`),Y(p,`· ${G(o).reviewedL1s??``} / ${G(o).totalL1s??``} reviewed`),Q(m,`aria-label`,r()),Oi(m,t.plan.doneSteps),Q(m,`max`,G(s)),Y(h,`${t.plan.doneSteps??``} of ${t.plan.totalSteps??``} work items done`),Q(g,`data-phase`,G(o).phase),Y(_,G(o).label)}),J(e,c),$e()}var pd=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>`),md=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>`),hd=q(`<section aria-labelledby="plan-title" class="svelte-3rmyvg"><h2 id="plan-title" class="svelte-3rmyvg">Plan</h2> <p class="svelte-3rmyvg"> </p></section>`),gd=q(`<p class="svelte-3rmyvg"> </p>`),_d=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Subtitle</dt> <dd class="svelte-3rmyvg"> </dd></div>`),vd=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Date</dt> <dd class="svelte-3rmyvg"> </dd></div>`),yd=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Keywords</dt> <dd class="svelte-3rmyvg"> </dd></div>`),bd=q(`<dl class="metadata svelte-3rmyvg"><!> <!> <!></dl>`),xd=q(`<p class="svelte-3rmyvg">No plan steps have been retained yet.</p>`),Sd=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg"> </strong> </p>`),Cd=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg">Skills:</strong> </p>`),wd=q(`<li class="svelte-3rmyvg"><details class="svelte-3rmyvg"><summary class="svelte-3rmyvg"><strong class="svelte-3rmyvg"><span class="position svelte-3rmyvg"> </span> </strong> <span class="svelte-3rmyvg"> </span> <span class="svelte-3rmyvg"> </span></summary> <!> <!></details></li>`),Td=q(`<ol class="svelte-3rmyvg"></ol>`),Ed=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>`),Dd=q(`<ol class="plan-steps svelte-3rmyvg"></ol>`),Od=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>`),kd=q(`<p class="visually-hidden svelte-3rmyvg" aria-live="polite" aria-atomic="true"> </p> <!>`,1);function Ad(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)?p(G(s).steps,G(s).currentStepId):void 0),l=P(()=>G(s)?m(G(s).steps,G(s).currentStepId):void 0),u=P(()=>G(s)?id(G(s)):void 0),d=P(()=>G(s)?h(G(s).steps,G(s).currentStepId):new Set),f=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)?`${G(u)?.label??`Current step: ${G(l)} ${G(c).title}`}. ${G(s).doneSteps} of ${G(s).totalSteps} work items done.${t.state.kind===`error`?` ${t.state.error}`:``}`:`${G(u)?.label??`Plan progress`}. ${G(s).doneSteps} of ${G(s).totalSteps} work items done.${t.state.kind===`error`?` ${t.state.error}`:``}`:``);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 p(e,t){for(let n of e){if(n.id===t)return n;let e=p(n.children,t);if(e)return e}}function m(e,t){for(let[n,r]of e.entries()){if(r.id===t)return rd(n+1);let e=r.children.findIndex(e=>e.id===t);if(e>=0)return rd(n+1,e+1)}}function h(e,t,n=[]){for(let r of e){if(r.id===t)return new Set([...n,r.id]);let e=h(r.children,t,[...n,r.id]);if(e.size)return e}return new Set}function g(e){return G(r).has(e)||G(d).has(e)}function _(e,t){L(r,t?new Set([...G(r),e]):new Set([...G(r)].filter(t=>t!==e)),!0)}function v(e){return e.description.goal??e.description.why??e.title}function y(e){let t=e.measurement;if(!t)return`Measurements unavailable`;let n=[];return t.elapsedSeconds!==void 0&&n.push(`${Math.floor(t.elapsedSeconds/60)}m ${t.elapsedSeconds%60}s elapsed`),t.weeklyPercentUsed!==void 0&&n.push(`${t.weeklyPercentUsed}% observed account-wide usage`),t.tokensUsed!==void 0&&n.push(`${t.tokensUsed.toLocaleString()} tokens used`),n.join(` · `)||`Measurements unavailable`}function b(e){return Object.keys(n).flatMap(t=>{let r=e.description[t];return r?[[n[t],r]]:[]})}var x=kd(),S=B(x),w=z(S,!0);N(S);var T=V(S,2),E=e=>{J(e,pd())},D=e=>{J(e,md())},ee=e=>{var n=hd(),r=V(z(n),2),i=z(r,!0);N(r),N(n),H(()=>Y(i,t.state.error)),J(e,n)},te=e=>{var n=Od(),r=z(n),a=z(r),o=z(a),d=z(o,!0);N(o),N(a);var f=V(a,2);N(r);var p=V(r,2);fd(p,{get plan(){return G(s)}});var m=V(p,2),h=z(m);N(m);var x=V(m,2),S=e=>{var n=gd(),r=z(n,!0);N(n),H(()=>Y(r,t.state.error)),J(e,n)};X(x,e=>{t.state.kind===`error`&&e(S)});var w=V(x,2),T=e=>{var t=bd(),n=z(t),r=e=>{var t=_d(),n=V(z(t),2),r=z(n,!0);N(n),N(t),H(()=>Y(r,G(s).subtitle)),J(e,t)};X(n,e=>{G(s).subtitle&&e(r)});var i=V(n,2),a=e=>{var t=vd(),n=V(z(t),2),r=z(n,!0);N(n),N(t),H(()=>Y(r,G(s).date)),J(e,t)};X(i,e=>{G(s).date&&e(a)});var o=V(i,2),c=e=>{var t=yd(),n=V(z(t),2),r=z(n,!0);N(n),N(t),H(()=>Y(r,G(s).keywords)),J(e,t)};X(o,e=>{G(s).keywords&&e(c)}),N(t),J(e,t)};X(w,e=>{(G(s).subtitle||G(s).date||G(s).keywords)&&e(T)});var E=V(w,2),D=e=>{J(e,xd())},ee=e=>{var t=Dd();Z(t,23,()=>G(s).steps,e=>e.id,(e,t,n)=>{var r=Ed(),a=z(r),o=z(a),s=z(o),c=z(s),l=z(c,!0);N(c);var u=V(c);N(s);var d=V(s,2),f=z(d);N(d);var p=V(d,2),m=z(p,!0);N(p);var h=V(p,2),x=z(h,!0);N(h),N(o);var S=V(o,2);Z(S,17,()=>b(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=Sd(),o=z(a),s=z(o);N(o);var c=V(o);N(a),H(()=>{Y(s,`${r()??``}:`),Y(c,` ${i()??``}`)}),J(e,a)});var w=V(S,2),T=e=>{var n=Cd(),r=V(z(n));N(n),H(e=>Y(r,` ${e??``}`),[()=>G(t).skills.join(`, `)]),J(e,n)};X(w,e=>{G(t).skills?.length&&e(T)});var E=V(w,2),D=e=>{var r=Td();Z(r,23,()=>G(t).children,e=>e.id,(e,t,r)=>{var a=wd(),o=z(a),s=z(o),c=z(s),l=z(c),u=z(l,!0);N(l);var d=V(l);N(c);var f=V(c,2),p=z(f);N(f);var m=V(f,2),h=z(m,!0);N(m),N(s);var y=V(s,2);Z(y,17,()=>b(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=Sd(),o=z(a),s=z(o);N(o);var c=V(o);N(a),H(()=>{Y(s,`${r()??``}:`),Y(c,` ${i()??``}`)}),J(e,a)});var x=V(y,2),S=e=>{var n=Cd(),r=V(z(n));N(n),H(e=>Y(r,` ${e??``}`),[()=>G(t).skills.join(`, `)]),J(e,n)};X(x,e=>{G(t).skills?.length&&e(S)}),N(o),Li(o,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(t)]),N(a),H((e,n,r)=>{Q(o,`data-step-id`,G(t).id),o.open=e,Y(u,n),Y(d,` ${G(t).title??``}`),Y(p,`${G(t).state??``} · Priority ${G(t).priority??``}${G(t).reviewStatus?` · ${G(t).reviewStatus}`:``}`),Y(h,r)},[()=>g(G(t).id),()=>rd(G(n)+1,G(r)+1),()=>v(G(t))]),Nr(`toggle`,o,e=>_(G(t).id,e.currentTarget.open)),J(e,a)}),N(r),J(e,r)};X(E,e=>{G(t).children.length&&e(D)}),N(a),Li(a,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(t)]),N(r),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)},[()=>g(G(t).id),()=>rd(G(n)+1),()=>v(G(t)),()=>y(G(t))]),Nr(`toggle`,a,e=>_(G(t).id,e.currentTarget.open)),J(e,r)}),N(t),J(e,t)};X(E,e=>{G(s).steps.length===0?e(D):e(ee,-1)}),N(n),H(()=>{Y(d,G(s).title),Y(h,`${G(u)?.label??``}. Current: ${G(c)?`${G(l)} ${G(c).title} (${G(c).state})`:`No current step`}`)}),K(`click`,f,function(...e){t.onclose?.apply(this,e)}),J(e,n)};X(T,e=>{t.state.kind===`loading`?e(E):t.state.kind===`unavailable`?e(D,1):t.state.kind===`error`&&!G(s)?e(ee,2):G(s)&&e(te,3)}),H(()=>Y(w,G(f))),J(e,x),$e()}Pr([`click`]);var jd=/^(\*+)\s+(?:(TODO|WIP|DONE)\s+)?(?:\[#([ABC])\]\s+)?(.+)$/,Md=/^#\+([A-Z][A-Z0-9_-]*):\s*(.*)$/i,Nd=/^:([A-Z][A-Z0-9_]*):\s*(.*)$/,Pd=/^-\s+([^:]+?)\s+::\s*(.*)$/;function Fd(e){let t=[],n=[],r=[],i=e.replace(/\r\n?/g,`
|
|
23
|
+
`)}function Gu(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{quit:()=>n(`/api/maintenance/quit`,{}),listSessions:e=>s(`/api/sessions`,e),listWorkspaceDirectory:(e,t={},n)=>{let r=new URLSearchParams;t.directory!==void 0&&r.set(`directory`,t.directory),t.cursor!==void 0&&r.set(`cursor`,t.cursor),t.limit!==void 0&&r.set(`limit`,String(t.limit));let i=r.size===0?``:`?${r}`;return s(`/api/workspaces/${encodeURIComponent(e)}/files${i}`,n)},copyWorkspaceEntry:(e,t,r)=>n(`/api/workspaces/${encodeURIComponent(e)}/files/copy`,t,{"idempotency-key":r}),moveWorkspaceEntry:(e,t,r)=>n(`/api/workspaces/${encodeURIComponent(e)}/files/move`,t,{"idempotency-key":r}),uploadWorkspaceFile:(e,t,n,r)=>{let a=new URLSearchParams({directory:t.directory,filename:t.filename,conflict:t.conflict});return i(`/api/workspaces/${encodeURIComponent(e)}/files/upload?${a}`,t.file,n,r)},deleteWorkspaceEntry:(e,t,n)=>a(`/api/workspaces/${encodeURIComponent(e)}/files`,{path:t,recursive:!0},n),getSession:e=>s(`/api/sessions/${encodeURIComponent(e)}`),refreshActivity:e=>n(`/api/sessions/${encodeURIComponent(e)}/activity/refresh`,{}),setAutopilot:(e,t,n)=>r(`/api/sessions/${encodeURIComponent(e)}/autopilot`,{enabled:t},n?{"idempotency-key":n}:{}),resolveAttention:(e,t,r)=>n(`/api/sessions/${encodeURIComponent(e)}/attention/${encodeURIComponent(t)}/resolve`,r),listRecentSessions:()=>s(`/api/sessions/recent-threads`),openRecentSession:(e,t,r=`codex`)=>n(`/api/sessions/recent-threads/open`,{threadId:e,cwd:t,provider:r}),listSessionModels:e=>n(`/api/session-models/${encodeURIComponent(e)}`,{}),startSession:(e,t={},r)=>n(`/api/sessions`,{workspaceId:e,profile:`default`,provider:`codex`,...t},r?{"idempotency-key":r}:{}),startTurn:(e,t,r)=>n(`/api/sessions/${encodeURIComponent(e)}/turns`,{text:t},r?{"idempotency-key":r}:{}),selectModel:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/model`,{model:t}),interruptTurn:(e,t)=>n(`/api/sessions/${encodeURIComponent(e)}/turns/${encodeURIComponent(t)}/interrupt`,{}),queueTurnInput:(e,t,r,i)=>n(`/api/sessions/${encodeURIComponent(e)}/turns/${encodeURIComponent(t)}/queue`,{text:r},i?{"idempotency-key":i}:{}),restoreSession:e=>n(`/api/sessions/${encodeURIComponent(e)}/restore`,{}),releaseSession:e=>n(`/api/sessions/${encodeURIComponent(e)}/release`,{}),forgetSession:n=>e(`/api/sessions/${encodeURIComponent(n)}`,{method:`DELETE`}).then(async e=>{if(!e.ok)throw await t(e)}),getHistory:e=>s(`/api/sessions/${encodeURIComponent(e)}/history`),getPlan:(e,t)=>c(`/api/sessions/${encodeURIComponent(e)}/plan`,t),closePlan:e=>o(`/api/sessions/${encodeURIComponent(e)}/plan`),listWorkspacePlans:(e,t)=>s(`/api/workspaces/${encodeURIComponent(e)}/plans`,t),getWorkspacePlan:(e,t,n)=>s(`/api/workspaces/${encodeURIComponent(e)}/plans/${encodeURIComponent(t)}`,n),openSessionPlan:(e,t)=>r(`/api/sessions/${encodeURIComponent(e)}/plan`,{planName:t}),getGitSummary:(e,t)=>s(`/api/git/repositories/${encodeURIComponent(e)}`,t),cloneGitRepository:(e,t)=>n(`/api/git/clone`,{workspaceId:e,address:t}),refreshGit:(e,t)=>n(`/api/git/repositories/${encodeURIComponent(e)}/refresh`,{},t?{"idempotency-key":t}:{}),pullGit:(e,t,r)=>n(`/api/git/repositories/${encodeURIComponent(e)}/pull`,{},t?{"idempotency-key":t}:{},r),checkoutGitBranch:(e,t,r)=>n(`/api/git/repositories/${encodeURIComponent(e)}/checkout`,{branch:t},{},r),pushGit:(e,t)=>n(`/api/git/repositories/${encodeURIComponent(e)}/push`,{},t?{"idempotency-key":t}:{}),listAvailableSkills:(e,t,n=!1,r)=>s(`/api/skills?${new URLSearchParams({workspaceId:e,profile:t,...n?{refresh:`true`}:{}}).toString()}`,r),listSkillProfiles:e=>s(`/api/skill-profiles`,e),replaceSkillProfile:(e,t)=>r(`/api/skill-profiles/${encodeURIComponent(e)}`,t),deleteSkillProfile:e=>o(`/api/skill-profiles/${encodeURIComponent(e)}`),respondInteraction:(e,t,r,i)=>n(`/api/sessions/${encodeURIComponent(e)}/interactions/${encodeURIComponent(t)}`,r,i?{"idempotency-key":i}:{})}}var Ku=[`authoring-start`,`work-start`,`checkpoint`,`update`,`supervision-start`,`resync`];function qu(e){return typeof e==`string`&&(Ku.includes(e)||/^review:[A-Za-z0-9._-]{1,128}:REVIEWED$/.test(e))}function Ju(e){if(!e||typeof e!=`object`)return!1;let t=e;return Yu(t.plan)&&(t.reason===null||qu(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 Xu(e){return e instanceof Error?e.message:`Could not load the plan.`}function Zu(e){return{...e,...e.skills?{skills:[...e.skills]}:{},description:{...e.description},children:e.children.map(Zu)}}function Qu(e){return{...e,steps:e.steps.map(Zu)}}function $u(e,t){return e.kind===`unavailable`&&e.sessionId===t}function ed(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:Qu(e)}:{kind:`unavailable`,sessionId:t})}).catch(e=>{o?.signal.aborted||a!==i||n!==t||c({kind:`error`,sessionId:t,error:Xu(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)||Ju(t.payload))){let n=Ju(t.payload)?t.payload.plan:t.payload;s=t.sequence,c({kind:`ready`,sessionId:e,plan:Qu(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:Xu(e)}),null):$u(r,t)?`chat`:null:null}},dispose(){o?.abort(),o=null,n=null,++i,c({kind:`unavailable`,sessionId:null})}}}function td(e){if(!e)return null;let t=nd(e.steps,e.currentStepId)?.measurement?.weeklyRemainingCurrent;return typeof t==`number`&&Number.isFinite(t)&&t>=0&&t<=100?Math.round(t):null}function nd(e,t){for(let n of e){if(n.id===t)return n;let e=nd(n.children,t);if(e)return e}}function rd(e,t){return t===void 0?`L${e}`:`L${e}.${t}`}function id(e){let t=e.steps.filter(e=>e.reviewStatus===`REVIEWED`).length,n=e.steps.length,r=ad(e),i=e.steps.find(e=>e.state===`DONE`&&e.reviewStatus===`UNREVIEWED`);return i?{phase:`awaiting review`,label:`Awaiting ${rd(e.steps.indexOf(i)+1)} review`,current:r,reviewedL1s:t,totalL1s:n}:n>0&&t===n?{phase:`terminal review`,label:`Terminal review`,current:r,reviewedL1s:t,totalL1s:n}:t>0&&!r?{phase:`milestone reported`,label:`Preparing milestone summary`,current:r,reviewedL1s:t,totalL1s:n}:r?{phase:`implementing`,label:`Implementing ${r.position} ${r.title}`,current:r,reviewedL1s:t,totalL1s:n}:{phase:e.allDone?`terminal review`:`implementing`,label:e.allDone?`Terminal review`:`Implementing`,current:r,reviewedL1s:t,totalL1s:n}}function ad(e){for(let[t,n]of e.steps.entries()){if(n.id===e.currentStepId)return{id:n.id,position:rd(t+1),title:n.title,state:n.state};let r=n.children.findIndex(t=>t.id===e.currentStepId);if(r>=0){let e=n.children[r];return{id:e.id,position:rd(t+1,r+1),title:e.title,state:e.state}}}}var od=q(`<span class="wip-effort svelte-hmxg46"> </span>`),sd=q(`<li class="svelte-hmxg46"><span class="wip-position svelte-hmxg46" aria-hidden="true"> </span> <span class="wip-title svelte-hmxg46"> </span> <!></li>`),cd=q(`<ol class="wip-steps svelte-hmxg46" aria-label="Work in progress plan steps"></ol>`),ld=q(`<li class="svelte-hmxg46"><span aria-hidden="true" class="position svelte-hmxg46"> </span> <span aria-hidden="true" class="state"> </span></li>`),ud=q(`<ol class="step-markers svelte-hmxg46" aria-label="Plan step progress"></ol>`),dd=q(`<div><div class="progress-heading svelte-hmxg46"><span> </span> <span> </span></div> <progress class="svelte-hmxg46"> </progress> <span class="review-status"> </span> <!></div>`);function fd(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:rd(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:rd(t+1,n+1),state:e.state,level:e.level,title:e.title}))])),a=P(()=>G(i).filter(e=>e.state===`WIP`)),o=P(()=>id(t.plan)),s=P(()=>Math.max(t.plan.totalSteps,1));var c=dd(),l=z(c),u=z(l),d=z(u);N(u);var f=V(u,2),p=z(f);N(f),N(l);var m=V(l,2),h=z(m);N(m);var g=V(m,2),_=z(g,!0);N(g);var v=V(g,2),y=e=>{var n=cd();Z(n,21,()=>G(a),e=>e.id,(e,n)=>{var r=sd(),i=z(r),a=z(i);N(i);var o=V(i,2),s=z(o,!0);N(o);var c=V(o,2),l=e=>{var t=od(),r=z(t);N(t),H(()=>Y(r,`Effort: ${G(n).effort??``}`)),J(e,t)};X(c,e=>{G(n).level===1&&G(n).effort&&e(l)}),N(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)}),N(n),J(e,n)},b=e=>{var n=ud();Z(n,21,()=>G(i),e=>e.id,(e,n)=>{var r=ld(),i=z(r),a=z(i,!0);N(i);var o=V(i,2),s=z(o,!0);N(o),N(r),H(()=>{Q(r,`data-state`,G(n).state),Q(r,`aria-current`,G(n).id===t.plan.currentStepId?`step`:void 0),Q(r,`aria-label`,`${G(n).position}: ${G(n).state}`),Y(a,G(n).position),Y(s,G(n).state)}),J(e,r)}),N(n),J(e,n)};X(v,e=>{n()&&G(a).length?e(y):!n()&&G(i).length&&e(b,1)}),N(c),H(()=>{gi(c,1,ui([`plan-progress`,{compact:n()}]),`svelte-hmxg46`),Y(d,`${t.plan.doneSteps??``} / ${t.plan.totalSteps??``} work items done`),Y(p,`· ${G(o).reviewedL1s??``} / ${G(o).totalL1s??``} reviewed`),Q(m,`aria-label`,r()),Oi(m,t.plan.doneSteps),Q(m,`max`,G(s)),Y(h,`${t.plan.doneSteps??``} of ${t.plan.totalSteps??``} work items done`),Q(g,`data-phase`,G(o).phase),Y(_,G(o).label)}),J(e,c),$e()}var pd=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>`),md=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>`),hd=q(`<section aria-labelledby="plan-title" class="svelte-3rmyvg"><h2 id="plan-title" class="svelte-3rmyvg">Plan</h2> <p class="svelte-3rmyvg"> </p></section>`),gd=q(`<p class="svelte-3rmyvg"> </p>`),_d=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Subtitle</dt> <dd class="svelte-3rmyvg"> </dd></div>`),vd=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Date</dt> <dd class="svelte-3rmyvg"> </dd></div>`),yd=q(`<div class="svelte-3rmyvg"><dt class="svelte-3rmyvg">Keywords</dt> <dd class="svelte-3rmyvg"> </dd></div>`),bd=q(`<dl class="metadata svelte-3rmyvg"><!> <!> <!></dl>`),xd=q(`<p class="svelte-3rmyvg">No plan steps have been retained yet.</p>`),Sd=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg"> </strong> </p>`),Cd=q(`<p class="svelte-3rmyvg"><strong class="svelte-3rmyvg">Skills:</strong> </p>`),wd=q(`<li class="svelte-3rmyvg"><details class="svelte-3rmyvg"><summary class="svelte-3rmyvg"><strong class="svelte-3rmyvg"><span class="position svelte-3rmyvg"> </span> </strong> <span class="svelte-3rmyvg"> </span> <span class="svelte-3rmyvg"> </span></summary> <!> <!></details></li>`),Td=q(`<ol class="svelte-3rmyvg"></ol>`),Ed=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>`),Dd=q(`<ol class="plan-steps svelte-3rmyvg"></ol>`),Od=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>`),kd=q(`<p class="visually-hidden svelte-3rmyvg" aria-live="polite" aria-atomic="true"> </p> <!>`,1);function Ad(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)?p(G(s).steps,G(s).currentStepId):void 0),l=P(()=>G(s)?m(G(s).steps,G(s).currentStepId):void 0),u=P(()=>G(s)?id(G(s)):void 0),d=P(()=>G(s)?h(G(s).steps,G(s).currentStepId):new Set),f=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)?`${G(u)?.label??`Current step: ${G(l)} ${G(c).title}`}. ${G(s).doneSteps} of ${G(s).totalSteps} work items done.${t.state.kind===`error`?` ${t.state.error}`:``}`:`${G(u)?.label??`Plan progress`}. ${G(s).doneSteps} of ${G(s).totalSteps} work items done.${t.state.kind===`error`?` ${t.state.error}`:``}`:``);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 p(e,t){for(let n of e){if(n.id===t)return n;let e=p(n.children,t);if(e)return e}}function m(e,t){for(let[n,r]of e.entries()){if(r.id===t)return rd(n+1);let e=r.children.findIndex(e=>e.id===t);if(e>=0)return rd(n+1,e+1)}}function h(e,t,n=[]){for(let r of e){if(r.id===t)return new Set([...n,r.id]);let e=h(r.children,t,[...n,r.id]);if(e.size)return e}return new Set}function g(e){return G(r).has(e)||G(d).has(e)}function _(e,t){L(r,t?new Set([...G(r),e]):new Set([...G(r)].filter(t=>t!==e)),!0)}function v(e){return e.description.goal??e.description.why??e.title}function y(e){let t=e.measurement;if(!t)return`Measurements unavailable`;let n=[];return t.elapsedSeconds!==void 0&&n.push(`${Math.floor(t.elapsedSeconds/60)}m ${t.elapsedSeconds%60}s elapsed`),t.weeklyPercentUsed!==void 0&&n.push(`${t.weeklyPercentUsed}% observed account-wide usage`),t.tokensUsed!==void 0&&n.push(`${t.tokensUsed.toLocaleString()} tokens used`),n.join(` · `)||`Measurements unavailable`}function b(e){return Object.keys(n).flatMap(t=>{let r=e.description[t];return r?[[n[t],r]]:[]})}var x=kd(),S=B(x),w=z(S,!0);N(S);var T=V(S,2),E=e=>{J(e,pd())},D=e=>{J(e,md())},ee=e=>{var n=hd(),r=V(z(n),2),i=z(r,!0);N(r),N(n),H(()=>Y(i,t.state.error)),J(e,n)},te=e=>{var n=Od(),r=z(n),a=z(r),o=z(a),d=z(o,!0);N(o),N(a);var f=V(a,2);N(r);var p=V(r,2);fd(p,{get plan(){return G(s)}});var m=V(p,2),h=z(m);N(m);var x=V(m,2),S=e=>{var n=gd(),r=z(n,!0);N(n),H(()=>Y(r,t.state.error)),J(e,n)};X(x,e=>{t.state.kind===`error`&&e(S)});var w=V(x,2),T=e=>{var t=bd(),n=z(t),r=e=>{var t=_d(),n=V(z(t),2),r=z(n,!0);N(n),N(t),H(()=>Y(r,G(s).subtitle)),J(e,t)};X(n,e=>{G(s).subtitle&&e(r)});var i=V(n,2),a=e=>{var t=vd(),n=V(z(t),2),r=z(n,!0);N(n),N(t),H(()=>Y(r,G(s).date)),J(e,t)};X(i,e=>{G(s).date&&e(a)});var o=V(i,2),c=e=>{var t=yd(),n=V(z(t),2),r=z(n,!0);N(n),N(t),H(()=>Y(r,G(s).keywords)),J(e,t)};X(o,e=>{G(s).keywords&&e(c)}),N(t),J(e,t)};X(w,e=>{(G(s).subtitle||G(s).date||G(s).keywords)&&e(T)});var E=V(w,2),D=e=>{J(e,xd())},ee=e=>{var t=Dd();Z(t,23,()=>G(s).steps,e=>e.id,(e,t,n)=>{var r=Ed(),a=z(r),o=z(a),s=z(o),c=z(s),l=z(c,!0);N(c);var u=V(c);N(s);var d=V(s,2),f=z(d);N(d);var p=V(d,2),m=z(p,!0);N(p);var h=V(p,2),x=z(h,!0);N(h),N(o);var S=V(o,2);Z(S,17,()=>b(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=Sd(),o=z(a),s=z(o);N(o);var c=V(o);N(a),H(()=>{Y(s,`${r()??``}:`),Y(c,` ${i()??``}`)}),J(e,a)});var w=V(S,2),T=e=>{var n=Cd(),r=V(z(n));N(n),H(e=>Y(r,` ${e??``}`),[()=>G(t).skills.join(`, `)]),J(e,n)};X(w,e=>{G(t).skills?.length&&e(T)});var E=V(w,2),D=e=>{var r=Td();Z(r,23,()=>G(t).children,e=>e.id,(e,t,r)=>{var a=wd(),o=z(a),s=z(o),c=z(s),l=z(c),u=z(l,!0);N(l);var d=V(l);N(c);var f=V(c,2),p=z(f);N(f);var m=V(f,2),h=z(m,!0);N(m),N(s);var y=V(s,2);Z(y,17,()=>b(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=Sd(),o=z(a),s=z(o);N(o);var c=V(o);N(a),H(()=>{Y(s,`${r()??``}:`),Y(c,` ${i()??``}`)}),J(e,a)});var x=V(y,2),S=e=>{var n=Cd(),r=V(z(n));N(n),H(e=>Y(r,` ${e??``}`),[()=>G(t).skills.join(`, `)]),J(e,n)};X(x,e=>{G(t).skills?.length&&e(S)}),N(o),Li(o,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(t)]),N(a),H((e,n,r)=>{Q(o,`data-step-id`,G(t).id),o.open=e,Y(u,n),Y(d,` ${G(t).title??``}`),Y(p,`${G(t).state??``} · Priority ${G(t).priority??``}${G(t).reviewStatus?` · ${G(t).reviewStatus}`:``}`),Y(h,r)},[()=>g(G(t).id),()=>rd(G(n)+1,G(r)+1),()=>v(G(t))]),Nr(`toggle`,o,e=>_(G(t).id,e.currentTarget.open)),J(e,a)}),N(r),J(e,r)};X(E,e=>{G(t).children.length&&e(D)}),N(a),Li(a,(e,t)=>i[t.id]=e,e=>i?.[e.id],()=>[G(t)]),N(r),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)},[()=>g(G(t).id),()=>rd(G(n)+1),()=>v(G(t)),()=>y(G(t))]),Nr(`toggle`,a,e=>_(G(t).id,e.currentTarget.open)),J(e,r)}),N(t),J(e,t)};X(E,e=>{G(s).steps.length===0?e(D):e(ee,-1)}),N(n),H(()=>{Y(d,G(s).title),Y(h,`${G(u)?.label??``}. Current: ${G(c)?`${G(l)} ${G(c).title} (${G(c).state})`:`No current step`}`)}),K(`click`,f,function(...e){t.onclose?.apply(this,e)}),J(e,n)};X(T,e=>{t.state.kind===`loading`?e(E):t.state.kind===`unavailable`?e(D,1):t.state.kind===`error`&&!G(s)?e(ee,2):G(s)&&e(te,3)}),H(()=>Y(w,G(f))),J(e,x),$e()}Pr([`click`]);var jd=/^(\*+)\s+(?:(TODO|WIP|DONE)\s+)?(?:\[#([ABC])\]\s+)?(.+)$/,Md=/^#\+([A-Z][A-Z0-9_-]*):\s*(.*)$/i,Nd=/^:([A-Z][A-Z0-9_]*):\s*(.*)$/,Pd=/^-\s+([^:]+?)\s+::\s*(.*)$/;function Fd(e){let t=[],n=[],r=[],i=e.replace(/\r\n?/g,`
|
|
24
24
|
`).split(`
|
|
25
25
|
`),a=null,o=!1,s=()=>{a&&r.push({...a,properties:[...a.properties],descriptions:[...a.descriptions],body:Id(a.body)})};for(let e of i){let r=jd.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=Md.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=Nd.exec(e);t&&a.properties.push([t[1],t[2].trim()]);continue}let i=Pd.exec(e);i?a.descriptions.push([i[1].trim(),i[2].trim()]):a.body.push(e)}return s(),{metadata:t,preamble:Id(n),sections:r}}function Id(e){let t=[...e];for(;t[0]?.trim()===``;)t.shift();for(;t.at(-1)?.trim()===``;)t.pop();return t}var Ld=q(`<div class="svelte-h7gaqo"><dt class="svelte-h7gaqo"> </dt> <dd class="svelte-h7gaqo"> </dd></div>`),Rd=q(`<dl class="metadata svelte-h7gaqo"></dl>`),zd=q(`<p class="svelte-h7gaqo"> </p>`),Bd=q(`<p class="svelte-h7gaqo">This Org document has no headings.</p>`),Vd=q(`<h3 class="svelte-h7gaqo"> </h3>`),Hd=q(`<h4 class="svelte-h7gaqo"> </h4>`),Ud=q(`<span> </span>`),Wd=q(`<span class="priority svelte-h7gaqo"> </span>`),Gd=q(`<dl class="descriptions svelte-h7gaqo"></dl>`),Kd=q(`<p> </p>`),qd=q(`<details class="properties svelte-h7gaqo"><summary class="svelte-h7gaqo">Properties</summary> <dl class="svelte-h7gaqo"></dl></details>`),Jd=q(`<section class="org-section svelte-h7gaqo"><div class="section-heading svelte-h7gaqo"><!> <!> <!></div> <!> <!> <!></section>`),Yd=q(`<div class="sections svelte-h7gaqo"></div>`),Xd=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 Zd(e,t){Qe(t,!0);let n=P(()=>Fd(t.preview.source)),r=P(()=>G(n).metadata.filter(([e])=>e!==`TITLE`));var i=Xd(),a=z(i),o=z(a),s=z(o),c=z(s,!0);N(s);var l=V(s,2),u=z(l,!0);N(l),N(o);var d=V(o,2);N(a);var f=V(a,2),p=e=>{var t=Rd();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=Ld(),o=z(a),s=z(o,!0);N(o);var c=V(o,2),l=z(c,!0);N(c),N(a),H(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),N(t),J(e,t)};X(f,e=>{G(r).length&&e(p)});var m=V(f,2);Z(m,19,()=>G(n).preamble,(e,t)=>`preamble:${t}:${e}`,(e,t)=>{var n=Hr(),r=B(n),i=e=>{var n=zd(),r=z(n,!0);N(n),H(()=>Y(r,G(t))),J(e,n)},a=P(()=>G(t).trim());X(r,e=>{G(a)&&e(i)}),J(e,n)});var h=V(m,2),g=e=>{J(e,Bd())},_=e=>{var t=Yd();Z(t,23,()=>G(n).sections,(e,t)=>`${t}:${e.level}:${e.title}`,(e,t)=>{var n=Jd();let r;var i=z(n),a=z(i),o=e=>{var n=Vd(),r=z(n,!0);N(n),H(()=>Y(r,G(t).title)),J(e,n)},s=e=>{var n=Hd(),r=z(n,!0);N(n),H(()=>Y(r,G(t).title)),J(e,n)};X(a,e=>{G(t).level===1?e(o):e(s,-1)});var c=V(a,2),l=e=>{var n=Ud(),r=z(n,!0);N(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=Wd(),r=z(n);N(n),H(()=>Y(r,`Priority ${G(t).priority??``}`)),J(e,n)};X(u,e=>{G(t).priority&&e(d)}),N(i);var f=V(i,2),p=e=>{var n=Gd();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=Ld(),o=z(a),s=z(o,!0);N(o);var c=V(o,2),l=z(c,!0);N(c),N(a),H(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),N(n),J(e,n)};X(f,e=>{G(t).descriptions.length&&e(p)});var m=V(f,2);Z(m,19,()=>G(t).body,(e,t)=>`${t}:${e}`,(e,t)=>{var n=Hr(),r=B(n),i=e=>{var n=Kd();let r;var i=z(n,!0);N(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=qd(),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=Ld(),o=z(a),s=z(o,!0);N(o);var c=V(o,2),l=z(c,!0);N(c),N(a),H(()=>{Y(s,r()),Y(l,i()||`—`)}),J(e,a)}),N(r),N(n),J(e,n)};X(h,e=>{G(t).properties.length&&e(g)}),N(n),H(e=>r=vi(n,``,r,e),[()=>({"--org-depth":Math.max(0,G(t).level-1)})]),J(e,n)}),N(t),J(e,t)};X(h,e=>{G(n).sections.length===0?e(g):e(_,-1)}),N(i),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 Qd=q(`<span> </span>`),$d=q(`<span> </span> <!>`,1),ef=q(`<span>Org document</span>`),tf=q(`<li><button class="svelte-x2ko9l"><strong> </strong> <code class="svelte-x2ko9l"> </code> <!></button></li>`),nf=q(`<p>Select a workspace to browse its local plans.</p>`),rf=q(`<p>Loading workspace plans…</p>`),af=q(`<p> </p>`),of=q(`<p>No Org files were found below this workspace.</p>`),sf=q(`<ul aria-label="Unfinished plans" class="svelte-x2ko9l"></ul>`),cf=q(`<section class="completed svelte-x2ko9l" aria-labelledby="completed-plans-title"><h3 id="completed-plans-title" class="svelte-x2ko9l">Completed</h3> <ul class="svelte-x2ko9l"></ul></section>`),lf=q(`<p class="scope svelte-x2ko9l">Org files below the selected workspace.</p> <!> <!>`,1),uf=q(`<section class="plans svelte-x2ko9l" aria-labelledby="plans-title"><h2 id="plans-title" tabindex="-1" class="svelte-x2ko9l">Plans</h2> <!></section>`);function df(e,t){Qe(t,!0);let n=(e,t=b)=>{var n=tf(),r=z(n),a=z(r),o=z(a,!0);N(a);var s=V(a,2),c=z(s,!0);N(s);var l=V(s,2),u=e=>{var n=$d(),r=B(n),i=z(r);N(r);var a=V(r,2),o=e=>{var n=Qd(),r=z(n,!0);N(n),H(()=>Y(r,t().subtitle)),J(e,n)};X(a,e=>{t().subtitle&&e(o)}),H(()=>Y(i,`${t().doneSteps??``} / ${t().totalSteps??``} complete`)),J(e,n)},f=e=>{J(e,ef())};X(l,e=>{t().previewAvailable===!1?e(f,-1):e(u)}),N(r),Li(r,e=>i[t().planName]=e,()=>i?.[t().planName]),N(n),H(()=>{Y(o,t().title),Y(c,t().planName)}),K(`click`,r,()=>d(t().planName)),J(e,n)},r=I(null),i=R({}),a=I(null),o=!1,s=!1,c=P(()=>t.catalog.kind===`ready`?t.catalog.entries.filter(e=>e.allDone!==!0):[]),l=P(()=>t.catalog.kind===`ready`?t.catalog.entries.filter(e=>e.allDone===!0):[]);function u(){t.onclose()}function d(e){L(a,e,!0),t.onopen(e)}Mn(()=>{if(t.state){o=!0;return}if(o&&(o=!1,s=!0),!s)return;let e=t.catalog.kind,n=G(a);queueMicrotask(()=>{let t=n?i[n]:void 0;t?.isConnected?(t.focus(),s=!1):e!==`loading`&&(G(r)?.focus(),s=!1)})});var f=Hr(),p=B(f),m=e=>{Zd(e,{get preview(){return t.state},onclose:u})},h=e=>{Ad(e,{get state(){return t.state},onclose:u})},g=e=>{var i=uf(),a=z(i);Li(a,e=>L(r,e),()=>G(r));var o=V(a,2),s=e=>{J(e,nf())},u=e=>{J(e,rf())},d=e=>{var n=af(),r=z(n,!0);N(n),H(()=>Y(r,t.catalog.error)),J(e,n)},f=e=>{J(e,of())},p=e=>{var t=lf(),r=V(B(t),2),i=e=>{var t=sf();Z(t,21,()=>G(c),e=>e.planName,(e,t)=>{n(e,()=>G(t))}),N(t),J(e,t)};X(r,e=>{G(c).length>0&&e(i)});var a=V(r,2),o=e=>{var t=cf(),r=V(z(t),2);Z(r,21,()=>G(l),e=>e.planName,(e,t)=>{n(e,()=>G(t))}),N(r),N(t),J(e,t)};X(a,e=>{G(l).length>0&&e(o)}),J(e,t)};X(o,e=>{t.catalog.kind===`no-workspace`?e(s):t.catalog.kind===`loading`?e(u,1):t.catalog.kind===`error`?e(d,2):t.catalog.entries.length===0?e(f,3):e(p,-1)}),N(i),J(e,i)};X(p,e=>{t.state?.kind===`org-source`?e(m):t.state?e(h,1):e(g,-1)}),J(e,f),$e()}Pr([`click`]);var ff=`settings`,pf=`drafts`,mf=`cursors`,hf=`selected-session`,gf={text:``,revision:0},_f=e=>{if(!e||typeof e!=`object`)return!1;let t=e,n=t.pending;return typeof t.text==`string`&&Number.isSafeInteger(t.revision)&&t.revision>=0&&(n===void 0||Array.isArray(n)&&n.every(e=>!!e&&typeof e.operationId==`string`&&typeof e.text==`string`&&Number.isSafeInteger(e.revision)&&e.revision>=0&&(e.kind===`send`||e.kind===`queue`||e.kind===`interrupt-send`)))};function vf(e=globalThis.indexedDB){if(!e)return yf;let t=Rc(e),n=new Map,r=new Map,i=async(e,i)=>{let a=r.get(e);if(a&&a.revision>i.revision)return;r.set(e,i);let o=(n.get(e)??Promise.resolve()).catch(()=>void 0).then(async()=>{if(r.get(e)===i)try{await Bc(await t,pf,e,i)}catch{}});n.set(e,o),await o};return{async readSelectedSession(){try{return await zc(await t,ff,hf)??null}catch{return null}},async saveSelectedSession(e){try{let n=await t;e?await Bc(n,ff,hf,e):await Vc(n,ff,hf)}catch{}},async readDraft(e){return(await this.readDraftEnvelope(e)).text},async saveDraft(e,t){let n=await this.readDraftEnvelope(e);await i(e,{text:t,revision:n.revision+1})},async readDraftEnvelope(e){try{let n=await zc(await t,pf,e),i=_f(n)?n:typeof n==`string`?{text:n,revision:0}:gf,a=r.get(e);return a&&a.revision>=i.revision?a:(r.set(e,i),i)}catch{return r.get(e)??gf}},saveDraftEnvelope:i,replaceDraftText:async(e,t,n)=>{let a=r.get(e);await i(e,{text:t,revision:n,pending:a?.pending})},addPendingDraftOperation:async(e,t)=>{let n=r.get(e)??gf;await i(e,{...n,pending:[...(n.pending??[]).filter(e=>e.operationId!==t.operationId),t].slice(-8)})},consumeAcceptedDraft:async(e,i,a)=>{let o=n.get(e)??Promise.resolve(),s=null,c=o.catch(()=>void 0).then(async()=>{let n=r.get(e);if(!n)try{let r=await zc(await t,pf,e);n=_f(r)?r:typeof r==`string`?{text:r,revision:0}:gf}catch{n=gf}if(!(n.revision!==i||!n.pending?.some(e=>e.operationId===a))){s={text:``,revision:n.revision+1,pending:n.pending.filter(e=>e.operationId!==a)},r.set(e,s);try{await Bc(await t,pf,e,s)}catch{r.get(e)===s&&r.set(e,n),s=null}}});return n.set(e,c),await c,s},async readCursor(e){try{let n=await zc(await t,mf,e);return typeof n==`number`&&Number.isSafeInteger(n)&&n>=0?n:0}catch{return 0}},async saveCursor(e,n){try{await Bc(await t,mf,e,n)}catch{}}}}var yf={readSelectedSession:async()=>null,saveSelectedSession:async()=>{},readDraft:async()=>``,saveDraft:async()=>{},readDraftEnvelope:async()=>gf,saveDraftEnvelope:async()=>{},replaceDraftText:async()=>{},addPendingDraftOperation:async()=>{},consumeAcceptedDraft:async()=>null,readCursor:async()=>0,saveCursor:async()=>{}};function bf(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 xf(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 Sf(e,t){if(!t?.threadId||!t.workspacePath||!t.resumeCommand||e.some(e=>e.id===t.threadId&&(e.provider??`codex`)===(t.provider??`codex`)))return e;let n=t.updatedAt?Date.parse(t.updatedAt)/1e3:NaN,r={id:t.threadId,cwd:t.workspacePath,recencyAt:Number.isFinite(n)?n:null,resumeCommand:t.resumeCommand,...t.provider===void 0?{}:{provider:t.provider},...t.model===void 0?{}:{model:t.model},...t.effectiveSkillSelection?.selectedProfileName===void 0?{}:{skillProfile:t.effectiveSkillSelection.selectedProfileName},...t.lastOrgPlan===void 0?{}:{orgPlanFilename:t.lastOrgPlan.filename}};return[...e,r].sort((e,t)=>(t.recencyAt??-1/0)-(e.recencyAt??-1/0))}function Cf(e){let t=/^\/home\/[^/]+/.exec(e)?.[0];if(!t)return e;let n=e.slice(t.length);return n?`~${n}`:`~/`}function wf(e,t){let n=Date.parse(e);if(!Number.isFinite(n))return`Updated recently`;let r=Math.max(0,Math.floor((t-n)/1e3));return r<5?`Updated just now`:r<60?`Updated ${r}s ago`:`Updated ${Math.floor(r/60)}m ago`}var Tf=q(`<time class="svelte-2szxr9"> </time>`),Ef=q(`<span role="status"><span aria-hidden="true" class="dot svelte-2szxr9"></span> <span class="svelte-2szxr9"> </span> <!></span>`);function Df(e,t){Qe(t,!0);let n=$(t,`connected`,3,!0),r=P(()=>n()?t.autopilot?.state??`unknown`:`disconnected`),i=P(()=>!!t.autopilot?.health?.healthy),a=I(R(Date.now())),o=I(R(typeof document>`u`||document.visibilityState!==`hidden`)),s=P(()=>G(r)===`disconnected`?`Autopilot disconnected`:G(r)===`attentionRequired`?`Autopilot needs attention`:G(r)===`safetyPaused`?`Autopilot safety paused`:G(i)?`Autopilot continuation active`:`Autopilot continuation inactive`);function c(){L(o,document.visibilityState!==`hidden`),G(o)&&L(a,Date.now(),!0)}Mn(()=>{if(!G(i)||!G(o))return;let e=window.setInterval(()=>L(a,Date.now(),!0),1e3);return()=>window.clearInterval(e)});var l=Ef();Nr(`visibilitychange`,un,c);let u;var d=V(z(l),2),f=z(d,!0);N(d);var p=V(d,2),m=e=>{var n=Tf(),r=z(n,!0);N(n),H(e=>{Q(n,`datetime`,t.autopilot.updatedAt),Y(r,e)},[()=>wf(t.autopilot.updatedAt,G(a))]),J(e,n)};X(p,e=>{t.autopilot&&G(i)&&e(m)}),N(l),H(()=>{u=gi(l,1,`liveness svelte-2szxr9`,null,u,{active:G(i)}),Q(l,`data-state`,G(r)),Q(l,`aria-label`,G(s)),Y(f,G(s))}),J(e,l),$e()}var Of=q(`<details class="session-verdict svelte-hxb22h"><summary class="svelte-hxb22h"><span aria-hidden="true"></span> </summary> <p class="svelte-hxb22h"> </p></details>`),kf=q(`<time class="svelte-hxb22h"> </time>`),Af=q(`<div class="svelte-hxb22h"> </div>`),jf=q(`<span class="profile-badge svelte-hxb22h"> </span>`),Mf=q(`<span class="profile-badge svelte-hxb22h">Kimi</span>`),Nf=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>`),Pf=q(`<div class="session-plan-progress svelte-hxb22h"><!></div>`),Ff=q(`<li><div class="session-actions svelte-hxb22h" aria-label="Session actions"><!> <!> <!> <!> <!> <!></div> <div class="session-details svelte-hxb22h"><div class="session-summary svelte-hxb22h"><!> <!> <div class="workspace-path svelte-hxb22h"> </div> <!> <!> <!> <!> <!> <!></div> <!> <!></div></li>`),If=q(`<section aria-labelledby="open-sessions-title" class="svelte-hxb22h"><h3 id="open-sessions-title" class="svelte-hxb22h">Open sessions</h3> <ul class="session-list svelte-hxb22h" aria-label="Open sessions"></ul></section>`),Lf=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>`),Rf=q(`<ul class="session-list svelte-hxb22h" aria-label="Saved sessions"></ul>`),zf=q(`<p class="svelte-hxb22h">No saved sessions yet.</p>`),Bf=q(`<label for="sandbox" class="svelte-hxb22h">Sandbox</label> <label for="approval-policy" class="svelte-hxb22h">Approval policy</label>`,1),Vf=q(`<option class="svelte-hxb22h"> </option>`),Hf=q(`<select id="sandbox" class="svelte-hxb22h"><option class="svelte-hxb22h">workspace-git (Git writable)</option><option class="svelte-hxb22h">workspace-write</option><option class="svelte-hxb22h">read-only</option><option class="svelte-hxb22h">danger-full-access</option></select> <select id="approval-policy" aria-describedby="approval-policy-help" class="svelte-hxb22h"><option class="svelte-hxb22h">Ask on all commands</option><option class="svelte-hxb22h">Ask out of workspace</option><option class="svelte-hxb22h">Approve everything</option></select>`,1),Uf=q(`<p id="approval-policy-help" class="svelte-hxb22h"> </p>`),Wf=q(`<p class="skills-profile-error svelte-hxb22h" role="alert"> </p>`),Gf=q(`<option class="svelte-hxb22h">Loading models…</option>`),Kf=q(`<option class="svelte-hxb22h">Choose automatically</option>`),qf=q(`<p id="provider-availability" class="provider-availability svelte-hxb22h">Kimi is unavailable because its CLI was not found when the relay started.</p>`),Jf=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>`),Yf=q(`<ul class="session-list recent-session-list svelte-hxb22h" aria-label="Recent sessions"></ul>`),Xf=q(`<p class="svelte-hxb22h">No other recent sessions found.</p>`),Zf=q(`<section aria-labelledby="sessions-title" class="svelte-hxb22h"><h2 id="sessions-title" class="visually-hidden svelte-hxb22h">Sessions</h2> <!> <!> <form class="svelte-hxb22h"><section class="session-base svelte-hxb22h" aria-labelledby="session-base-title"><div class="session-base-heading svelte-hxb22h"><h3 id="session-base-title" class="svelte-hxb22h">Session base</h3> <p class="svelte-hxb22h"> </p></div> <!></section> <section class="session-settings svelte-hxb22h" aria-label="New session settings"><div class="session-setting-labels svelte-hxb22h"><label for="skills-profile" class="svelte-hxb22h">Skills profile</label> <!></div> <div class="session-setting-controls svelte-hxb22h"><select id="skills-profile" class="svelte-hxb22h"><option class="svelte-hxb22h">Default</option><!></select> <!></div> <!> <!> <div class="session-secondary-actions svelte-hxb22h"><!> <div class="model-control svelte-hxb22h"><label for="session-provider" class="svelte-hxb22h">Provider</label> <select id="session-provider" class="svelte-hxb22h"><option class="svelte-hxb22h">Codex</option><option class="svelte-hxb22h"> </option></select></div> <div class="model-control svelte-hxb22h"><label for="model" class="svelte-hxb22h"> </label> <select id="model" class="svelte-hxb22h"><!><!></select></div> <!></div> <!></section></form> <section aria-labelledby="recent-sessions-title" class="svelte-hxb22h"><h3 id="recent-sessions-title" class="svelte-hxb22h">Recent sessions</h3> <!></section></section>`);function Qf(e,t){Qe(t,!0);let n=$(t,`activitySnapshots`,19,()=>new Map),r=$(t,`autopilotSnapshots`,19,()=>new Map),i=$(t,`autopilotPending`,19,()=>new Set),a=$(t,`autopilotAttention`,19,()=>new Map),o=$(t,`models`,19,()=>[]),s=$(t,`selectedModel`,3,``),c=$(t,`provider`,3,`codex`),l=$(t,`kimiAvailable`,3,!1),u=$(t,`modelsLoading`,3,!1),d=$(t,`onmodelchange`,3,()=>{}),f=$(t,`onproviderchange`,3,()=>{}),p=$(t,`onautopilottoggle`,3,()=>{}),m=$(t,`onactivityopen`,3,()=>{}),h=$(t,`onautopilotresolve`,3,()=>{}),g=P(()=>t.sessions.filter(e=>e.state===`ready`||e.state===`turnActive`)),_=P(()=>t.sessions.filter(e=>e.state!==`ready`&&e.state!==`turnActive`)),v=P(()=>t.recentSessions.filter(e=>!G(g).some(t=>t.threadId===e.id&&(t.provider??`codex`)===(e.provider??`codex`)))),y=P(()=>fu(t.workspaceTree,t.workspaceId)),b=P(()=>c()===`kimi`?`Kimi`:`Codex`);var x=Zf(),S=V(z(x),2),C=e=>{var s=If(),c=V(z(s),2);Z(c,21,()=>G(g),e=>e.id,(e,s)=>{let c=P(()=>xf(G(s))),l=P(()=>Vl(G(s).sessionStatus)?G(s).sessionStatus:null);var u=Ff();let d;var f=z(u),g=z(f);{let e=P(()=>G(s).id===t.selectedSessionId?`page`:void 0);Ta(g,{compact:!0,full:!0,get current(){return G(e)},onclick:()=>t.onselectopen(G(s).id),children:(e,t)=>{He(),J(e,Vr(`Open`))},$$slots:{default:!0}})}var _=V(g,2),v=e=>{Ta(e,{compact:!0,full:!0,onclick:()=>t.oncopyresume(G(s).resumeCommand),children:(e,t)=>{He(),J(e,Vr(`Copy`))},$$slots:{default:!0}})};X(_,e=>{G(s).resumeCommand&&G(s).provider!==`kimi`&&e(v)});var y=V(_,2),b=e=>{{let t=P(()=>r().get(G(s).id)??G(s).autopilot??null),n=P(()=>`session-autopilot-${G(s).id}`),a=P(()=>i().has(G(s).id));no(e,{compact:!0,indicatorOnly:!0,get autopilot(){return G(t)},get controlId(){return G(n)},get pending(){return G(a)},ontoggle:e=>p()(G(s).id,e)})}};X(y,e=>{G(s).provider!==`kimi`&&e(b)});var x=V(y,2);{let e=P(()=>n().get(G(s).id)??G(s).agentActivity??null),t=P(()=>G(s).model??o()?.[0]);La(x,{compact:!0,get activity(){return G(e)},popupAlign:`start`,get rootModel(){return G(t)},get plan(){return G(s).plan},onopen:()=>m()(G(s).id)})}var S=V(x,2);Ta(S,{compact:!0,full:!0,onclick:()=>t.onclose(G(s).id),children:(e,t)=>{He(),J(e,Vr(`Close`))},$$slots:{default:!0}});var C=V(S,2),w=e=>{{let t=P(()=>r().get(G(s).id)??G(s).autopilot??null),i=P(()=>(n().get(G(s).id)??G(s).agentActivity)?.root.state!==`disconnected`);Df(e,{get autopilot(){return G(t)},get connected(){return G(i)}})}};X(C,e=>{G(s).provider!==`kimi`&&e(w)}),N(f);var T=V(f,2),E=z(T),D=z(E),ee=e=>{var t=Of(),n=z(t),r=z(n);let i;var a=V(r);N(n);var o=V(n,2),s=z(o);N(o),N(t),H(()=>{Q(t,`data-state`,G(l).state),Q(t,`aria-label`,`${G(l).state===`working`?`Working`:`Idle`}: ${G(l).reason}`),Q(n,`aria-label`,`${G(l).state===`working`?`Working`:`Idle`}: ${G(l).reason}`),i=gi(r,1,`verdict-dot svelte-hxb22h`,null,i,{live:G(l).state===`working`&&G(l).confidence===`fresh`}),Y(a,` ${G(l).state===`working`?`Working`:`Idle`}`),Y(s,`${G(l).reason??``}. ${G(l).nextExpectedAction??``}
|
|
26
26
|
Evidence confidence: ${G(l).confidence??``}.`)}),J(e,t)};X(D,e=>{G(l)&&e(ee)});var te=V(D,2),ne=e=>{var t=kf(),n=z(t,!0);N(t),H((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(c).updatedAt).toISOString(),()=>bf(G(c).updatedAt)]),J(e,t)},re=e=>{var t=Af(),n=z(t,!0);N(t),H(e=>Y(n,e),[()=>bf(null)]),J(e,t)};X(te,e=>{G(c).updatedAt===null?e(re,-1):e(ne)});var ie=V(te,2),O=z(ie,!0);N(ie);var k=V(ie,2),ae=e=>{var t=jf(),n=z(t);N(t),H(()=>Y(n,`Model: ${G(s).model??``}`)),J(e,t)};X(k,e=>{G(s).model&&e(ae)});var A=V(k,2),oe=e=>{J(e,Mf())};X(A,e=>{G(s).provider===`kimi`&&e(oe)});var se=V(A,2),ce=e=>{var t=jf(),n=z(t);N(t),H(()=>Y(n,`Branch: ${G(s).branch??``}`)),J(e,t)};X(se,e=>{G(s).branch&&e(ce)});var le=V(se,2),ue=e=>{var t=jf(),n=z(t);N(t),H(()=>Y(n,`Skills profile: ${G(s).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(le,e=>{G(s).effectiveSkillSelection?.selectedProfileName&&e(ue)});var de=V(le,2),fe=e=>{var t=Nf(),n=z(t),r=z(n,!0);N(n);var i=V(n,2),a=z(i,!0);N(i),N(t),H(()=>{Y(r,G(s).lastOrgPlan.title),Y(a,G(s).lastOrgPlan.filename)}),J(e,t)};X(de,e=>{G(s).lastOrgPlan&&e(fe)});var pe=V(de,2),me=e=>{var t=Pf(),n=z(t);{let e=P(()=>`Plan progress for ${G(s).plan.title}`);fd(n,{compact:!0,get plan(){return G(s).plan},get label(){return G(e)}})}N(t),J(e,t)};X(pe,e=>{G(s).plan&&e(me)}),N(E);var he=V(E,2);{let e=P(()=>a().get(G(s).id)??null),t=P(()=>`session-attention-${G(s).id}`),n=P(()=>i().has(G(s).id));io(he,{get attention(){return G(e)},get controlId(){return G(t)},get pending(){return G(n)},onresolve:(e,t)=>h()(G(s).id,e,t)})}var ge=V(he,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));oo(ge,{get autopilot(){return G(e)},get attention(){return G(t)},get controlId(){return G(n)},get pending(){return G(o)},onrecover:()=>p()(G(s).id,!0),ondisable:()=>p()(G(s).id,!1)})}N(T),N(u),H(e=>{d=gi(u,1,`managed-session open-session svelte-hxb22h`,null,d,{"current-session":G(s).id===t.selectedSessionId}),Y(O,e)},[()=>Cf(G(c).workspacePath)]),J(e,u)}),N(c),N(s),J(e,s)};X(S,e=>{G(g).length&&e(C)});var w=V(S,2),T=e=>{var n=Rf();Z(n,21,()=>G(_),e=>e.id,(e,n)=>{let r=P(()=>xf(G(n)));var i=Lf(),a=z(i),o=z(a);{let e=P(()=>t.openingSessionId===G(n).id);Ta(o,{compact:!0,full:!0,get disabled(){return G(e)},onclick:()=>t.onopen(G(n).id),children:(e,r)=>{He();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=>{Ta(e,{compact:!0,full:!0,onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{He(),J(e,Vr(`Copy`))},$$slots:{default:!0}})};X(s,e=>{G(n).resumeCommand&&G(n).provider!==`kimi`&&e(c)}),Ta(V(s,2),{compact:!0,full:!0,onclick:()=>t.onforget(G(n).id),children:(e,t)=>{He(),J(e,Vr(`Forget`))},$$slots:{default:!0}}),N(a);var l=V(a,2),u=z(l),d=e=>{var t=kf(),n=z(t,!0);N(t),H((e,r)=>{Q(t,`datetime`,e),Y(n,r)},[()=>new Date(G(r).updatedAt).toISOString(),()=>bf(G(r).updatedAt)]),J(e,t)},f=e=>{var t=Af(),n=z(t,!0);N(t),H(e=>Y(n,e),[()=>bf(null)]),J(e,t)};X(u,e=>{G(r).updatedAt===null?e(f,-1):e(d)});var p=V(u,2),m=z(p,!0);N(p);var h=V(p,2),g=e=>{var t=jf(),r=z(t);N(t),H(()=>Y(r,`Model: ${G(n).model??``}`)),J(e,t)};X(h,e=>{G(n).model&&e(g)});var _=V(h,2),v=e=>{J(e,Mf())};X(_,e=>{G(n).provider===`kimi`&&e(v)});var y=V(_,2),b=e=>{var t=jf(),r=z(t);N(t),H(()=>Y(r,`Branch: ${G(n).branch??``}`)),J(e,t)};X(y,e=>{G(n).branch&&e(b)});var x=V(y,2),S=e=>{var t=jf(),r=z(t);N(t),H(()=>Y(r,`Skills profile: ${G(n).effectiveSkillSelection.selectedProfileName??``}`)),J(e,t)};X(x,e=>{G(n).effectiveSkillSelection?.selectedProfileName&&e(S)}),N(l),N(i),H(e=>Y(m,e),[()=>Cf(G(r).workspacePath)]),J(e,i)}),N(n),J(e,n)},E=e=>{J(e,zf())};X(w,e=>{G(_).length?e(T):G(g).length||e(E,1)});var D=V(w,2),ee=z(D),te=z(ee),ne=V(z(te),2),re=z(ne);N(ne),N(te);var ie=V(te,2);{let e=P(()=>G(y)?.id??null);bu(ie,{get roots(){return t.workspaceTree},get expandedIds(){return t.expandedIds},get selectedId(){return G(e)},get isSelectable(){return su.sessionBase},label:`Session base`,get onexpandedchange(){return t.onexpandedchange},onselect:e=>t.onworkspacechange(e.id)})}N(ee);var O=V(ee,2),k=z(O);let ae;var A=V(z(k),2),oe=e=>{var t=Bf();He(2),J(e,t)};X(A,e=>{c()!==`kimi`&&e(oe)}),N(k);var se=V(k,2);let ce;var le=z(se),ue=z(le);ue.value=ue.__value=``,Z(V(ue),17,()=>t.skillProfiles,e=>e.name,(e,t)=>{var n=Vf(),r=z(n,!0);N(n);var i={};H(()=>{Y(r,G(t).name),i!==(i=G(t).name)&&(n.value=(n.__value=G(t).name)??``)}),J(e,n)}),N(le);var de;bi(le);var fe=V(le,2),pe=e=>{var n=Hf(),r=B(n),i=z(r);i.value=i.__value=`workspace-git`;var a=V(i);a.value=a.__value=`workspace-write`;var o=V(a);o.value=o.__value=`read-only`;var s=V(o);s.value=s.__value=`danger-full-access`,N(r);var c;bi(r);var l=V(r,2),u=z(l);u.value=u.__value=`untrusted`;var d=V(u);d.value=d.__value=`on-request`;var f=V(d);f.value=f.__value=`never`,N(l);var p;bi(l),H(()=>{c!==(c=t.sandbox)&&(r.value=(r.__value=t.sandbox)??``,yi(r,t.sandbox)),p!==(p=t.approvalPolicy)&&(l.value=(l.__value=t.approvalPolicy)??``,yi(l,t.approvalPolicy))}),K(`change`,r,e=>t.onsandboxchange(e.currentTarget.value)),K(`change`,l,e=>t.onapprovalpolicychange(e.currentTarget.value)),J(e,n)};X(fe,e=>{c()!==`kimi`&&e(pe)}),N(se);var me=V(se,2),he=e=>{var t=Uf(),n=z(t);N(t),H(()=>Y(n,`This controls when ${G(b)??``} asks; it does not expand the sandbox's technical permissions.`)),J(e,t)};X(me,e=>{c()!==`kimi`&&e(he)});var ge=V(me,2),_e=e=>{var n=Wf(),r=z(n,!0);N(n),H(()=>Y(r,t.skillProfileError)),J(e,n)};X(ge,e=>{t.skillProfileError&&e(_e)});var ve=V(ge,2),ye=z(ve);Ta(ye,{id:`manage-skill-profiles`,onclick:e=>t.onmanageprofiles(e.currentTarget),children:(e,t)=>{He(),J(e,Vr(`Manage skill profiles`))},$$slots:{default:!0}});var be=V(ye,2),xe=V(z(be),2),Se=z(xe);Se.value=Se.__value=`codex`;var Ce=V(Se),we=z(Ce);N(Ce),Ce.value=Ce.__value=`kimi`,N(xe);var Te;bi(xe),N(be);var Ee=V(be,2),De=z(Ee),Oe=z(De);N(De);var ke=V(De,2),Ae=z(ke),je=e=>{var t=Gf();t.value=t.__value=``,J(e,t)},Me=e=>{var t=Kf();t.value=t.__value=``,J(e,t)};X(Ae,e=>{u()?e(je):o().length===0&&e(Me,1)}),Z(V(Ae),16,o,e=>e,(e,t)=>{var n=Vf(),r=z(n,!0);N(n);var i={};H(()=>{Y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),J(e,n)}),N(ke);var Ne;bi(ke),N(Ee);var Pe=V(Ee,2);{let e=P(()=>!G(y)||t.startingSession||u()||o().length>0&&!s());Ta(Pe,{class:`new-session-button`,type:`submit`,primary:!0,get disabled(){return G(e)},children:(e,n)=>{He();var r=Vr();H(()=>Y(r,t.startingSession?`Creating…`:`Create session`)),J(e,r)},$$slots:{default:!0}})}N(ve);var Fe=V(ve,2),Ie=e=>{J(e,qf())};X(Fe,e=>{l()||e(Ie)}),N(O),N(D);var Le=V(D,2),Re=V(z(Le),2),j=e=>{var n=Yf();Z(n,21,()=>G(v),e=>(e.provider??`codex`)+`:`+e.id,(e,n)=>{var r=Jf(),i=z(r),a=z(i),o=e=>{var t=kf(),r=z(t,!0);N(t),H((e,n)=>{Q(t,`datetime`,e),Y(r,n)},[()=>new Date(G(n).recencyAt*1e3).toISOString(),()=>bf(G(n).recencyAt*1e3)]),J(e,t)},s=e=>{var t=Af(),n=z(t,!0);N(t),H(e=>Y(n,e),[()=>bf(null)]),J(e,t)};X(a,e=>{G(n).recencyAt===null?e(s,-1):e(o)});var c=V(a,2),l=z(c,!0);N(c);var u=V(c,2),d=e=>{var t=jf(),r=z(t);N(t),H(()=>Y(r,`Model: ${G(n).model??``}`)),J(e,t)};X(u,e=>{G(n).model&&e(d)});var f=V(u,2),p=e=>{J(e,Mf())};X(f,e=>{G(n).provider===`kimi`&&e(p)});var m=V(f,2),h=e=>{var t=jf(),r=z(t);N(t),H(()=>Y(r,`Skills profile: ${G(n).skillProfile??``}`)),J(e,t)};X(m,e=>{G(n).skillProfile&&e(h)});var g=V(m,2),_=e=>{var t=jf(),r=z(t);N(t),H(()=>Y(r,`Org plan: ${G(n).orgPlanFilename??``}`)),J(e,t)};X(g,e=>{G(n).orgPlanFilename&&e(_)}),N(i);var v=V(i,2),y=z(v);Ta(y,{onclick:()=>t.onopenrecent(G(n)),children:(e,t)=>{He(),J(e,Vr(`Open`))},$$slots:{default:!0}});var b=V(y,2),x=e=>{Ta(e,{onclick:()=>t.oncopyresume(G(n).resumeCommand),children:(e,t)=>{He(),J(e,Vr(`Copy`))},$$slots:{default:!0}})};X(b,e=>{G(n).resumeCommand&&e(x)}),N(v),N(r),H(e=>Y(l,e),[()=>Cf(G(n).cwd)]),J(e,r)}),N(n),J(e,n)},ze=e=>{J(e,Xf())};X(Re,e=>{G(v).length?e(j):e(ze,-1)}),N(Le),N(x),H(()=>{Y(re,`Select the folder or repository ${G(b)??``} should use as its working directory.`),ae=vi(k,``,ae,{"grid-template-columns":c()===`kimi`?`minmax(0, 1fr)`:`repeat(3, minmax(0, 1fr))`}),ce=vi(se,``,ce,{"grid-template-columns":c()===`kimi`?`minmax(0, 1fr)`:`repeat(3, minmax(0, 1fr))`}),de!==(de=t.selectedSkillProfile)&&(le.value=(le.__value=t.selectedSkillProfile)??``,yi(le,t.selectedSkillProfile)),Q(xe,`aria-describedby`,l()?void 0:`provider-availability`),Ce.disabled=!l(),Y(we,`Kimi${l()?``:` (unavailable)`}`),Te!==(Te=c())&&(xe.value=(xe.__value=c())??``,yi(xe,c())),Y(Oe,`${G(b)??``} model`),ke.disabled=u()||o().length===0,Ne!==(Ne=s())&&(ke.value=(ke.__value=s())??``,yi(ke,s()))}),Nr(`submit`,D,e=>{e.preventDefault(),t.onstart()}),K(`change`,le,e=>t.onskillprofilechange(e.currentTarget.value)),K(`change`,xe,e=>f()(e.currentTarget.value)),K(`change`,ke,e=>d()(e.currentTarget.value)),J(e,x),$e()}Pr([`change`]);function $f(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 ep=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 tp({chatEnabled:e}){return[`sessions`,`git`,...e?[`chat`]:[],`plan`]}function np(e,t,n={chatEnabled:!0}){let r=tp(n);return r[(r.indexOf(e)+t+r.length)%r.length]}var rp=q(`<nav class="bottom-navigation" aria-label="Primary"><button>Sessions</button> <button>Git</button> <button>Chat</button> <button>Plan</button></nav>`);function ip(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=np(t.activeTab,n,{chatEnabled:t.chatEnabled});t.onselect(i),r[i]?.focus()}var a=rp(),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),N(a),H(()=>{Q(o,`aria-pressed`,t.activeTab===`sessions`),Q(s,`aria-pressed`,t.activeTab===`git`),Q(c,`aria-pressed`,t.activeTab===`chat`),c.disabled=!t.chatEnabled,Q(l,`aria-pressed`,t.activeTab===`plan`)}),K(`keydown`,o,i),K(`click`,o,()=>t.onselect(`sessions`)),K(`keydown`,s,i),K(`click`,s,()=>t.onselect(`git`)),K(`keydown`,c,i),K(`click`,c,()=>t.onselect(`chat`)),K(`keydown`,l,i),K(`click`,l,()=>t.onselect(`plan`)),J(e,a),$e()}Pr([`keydown`,`click`]);var ap=q(`<option> </option>`),op=q(`<p id="skills-status" aria-live="polite">Loading skills…</p>`),sp=q(`<p id="skills-status">No skills were discovered for this workspace and Codex profile.</p>`),cp=q(`<p id="skills-status" class="notice svelte-dg6sjj" role="status"> </p>`),lp=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert"> </p>`),up=q(`<p id="skills-status" class="error svelte-dg6sjj" role="alert" tabindex="-1"> </p>`),dp=q(`<p id="skills-status" role="status">Profile saved.</p>`),fp=q(`<p id="skills-status" role="status">Profile deleted.</p>`),pp=q(`<li class="svelte-dg6sjj"><div class="svelte-dg6sjj"><strong> </strong> <span class="missing-state svelte-dg6sjj">Missing · disabled</span> <span class="path svelte-dg6sjj"> </span></div> <button type="button" class="remove-missing svelte-dg6sjj">Remove</button></li>`),mp=q(`<section class="missing-skills svelte-dg6sjj" aria-labelledby="missing-skills-title"><h3 id="missing-skills-title" class="svelte-dg6sjj">Missing skills</h3> <p class="svelte-dg6sjj">These saved paths no longer exist. They are disabled for new sessions until restored or
|
package/dist/client/index.html
CHANGED
|
@@ -16,7 +16,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
16
16
|
<link rel="icon" href="/icons/gestalt-mobile-192.png" />
|
|
17
17
|
<link rel="apple-touch-icon" href="/icons/gestalt-mobile-180.png" />
|
|
18
18
|
<title>Gestalt Mobile</title>
|
|
19
|
-
<script type="module" crossorigin src="/assets/index-
|
|
19
|
+
<script type="module" crossorigin src="/assets/index-9uZwieND.js"></script>
|
|
20
20
|
<link rel="stylesheet" crossorigin href="/assets/index-D57mr3B1.css">
|
|
21
21
|
</head>
|
|
22
22
|
<body>
|