ryco-cli 0.1.12 → 0.1.13
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/bin.cjs +1 -1
- package/dist/bin.mjs +1 -1
- package/dist/client/assets/{AccountSettings-C3v2klAG.js → AccountSettings-Be5_48k0.js} +1 -1
- package/dist/client/assets/{AiFocusSettings-BquKjnWf.js → AiFocusSettings-DIpQXLW2.js} +1 -1
- package/dist/client/assets/{BranchToolbar.logic-CmvD76Cw.js → BranchToolbar.logic-D7slG_zJ.js} +1 -1
- package/dist/client/assets/{ChatRightPanel-DVxRdZWT.js → ChatRightPanel-BIS1DPGa.js} +3 -3
- package/dist/client/assets/{ChatThreadRouteView-DlgAAOCp.js → ChatThreadRouteView-CocRstME.js} +1 -1
- package/dist/client/assets/{CommandPaletteDialog-BnJURcy7.js → CommandPaletteDialog-C5xAo65V.js} +1 -1
- package/dist/client/assets/{ConnectionsSettings-Ccn8q4fG.js → ConnectionsSettings-CXabxSaH.js} +1 -1
- package/dist/client/assets/{DiagnosticsSettings-QXpjXOrH.js → DiagnosticsSettings-CZ3vY43G.js} +1 -1
- package/dist/client/assets/{DraftChatThreadRouteView-DFMY6O91.js → DraftChatThreadRouteView-D8Bt3Qnq.js} +1 -1
- package/dist/client/assets/{HostedConnectionControls-BC4kVWTa.js → HostedConnectionControls-DxAXv0Hd.js} +1 -1
- package/dist/client/assets/{HostedHubRoot-pBGVub10.js → HostedHubRoot-Cc8GYcK6.js} +1 -1
- package/dist/client/assets/{HostedNativeAuthorizationRoute-Df0oSrLR.js → HostedNativeAuthorizationRoute-CTQe7Vjt.js} +1 -1
- package/dist/client/assets/{HostedRelayTrustNotice-ffS_O2AX.js → HostedRelayTrustNotice-BldMySVi.js} +1 -1
- package/dist/client/assets/{IntegrationsSettingsPanel-BHyy-VM0.js → IntegrationsSettingsPanel-D6f3KoqM.js} +1 -1
- package/dist/client/assets/{KeybindingsSettings-BfkONqmZ.js → KeybindingsSettings-D2bNQPI-.js} +1 -1
- package/dist/client/assets/{McpServersSettings-UthT1T80.js → McpServersSettings-B7YqVvV4.js} +1 -1
- package/dist/client/assets/{NewWorktreeDialog-DTZnArOC.js → NewWorktreeDialog-CKr2ioue.js} +1 -1
- package/dist/client/assets/{NoActiveThreadState-jcEAWu7N.js → NoActiveThreadState-BD-eNmfn.js} +1 -1
- package/dist/client/assets/{NodeSecuritySettings-DPqjRphc.js → NodeSecuritySettings-FWM_SeDi.js} +1 -1
- package/dist/client/assets/{OpinionatedPluginsSettings-BSy3F4v6.js → OpinionatedPluginsSettings-BtZQF4Ze.js} +1 -1
- package/dist/client/assets/{PhoneGetAppInterstitial-B2mrJtgM.js → PhoneGetAppInterstitial-CooQgpSw.js} +1 -1
- package/dist/client/assets/{PhoneHome-C-ttaKuE.js → PhoneHome-BtPE7bQn.js} +1 -1
- package/dist/client/assets/{PhoneSettingsSurface-CJddundi.js → PhoneSettingsSurface-tcFCccEL.js} +1 -1
- package/dist/client/assets/{ProjectFavicon-BhQnkxbx.js → ProjectFavicon-qZGdjYCM.js} +1 -1
- package/dist/client/assets/{ProviderModelPicker-COg6CGM4.js → ProviderModelPicker-D0w23uWo.js} +1 -1
- package/dist/client/assets/{ProvidersSettingsPanel-C3aPyCrN.js → ProvidersSettingsPanel-B3aBKY--.js} +1 -1
- package/dist/client/assets/{RootAppShell-3T2sBtpP.js → RootAppShell-C-0ChFVJ.js} +2 -2
- package/dist/client/assets/{SettingsDialog-krsStFrf.js → SettingsDialog-Bbuoh793.js} +1 -1
- package/dist/client/assets/{SettingsPanels-D8Xy3pPC.js → SettingsPanels-Dr4f2y9l.js} +1 -1
- package/dist/client/assets/{SourceControlSettings-KIx9EfEZ.js → SourceControlSettings-CkiYR4lR.js} +1 -1
- package/dist/client/assets/{StatisticsPage-C38pI2_b.js → StatisticsPage-Bjouapmf.js} +1 -1
- package/dist/client/assets/{StatisticsPanel-6sINT28-.js → StatisticsPanel-D_khPph6.js} +1 -1
- package/dist/client/assets/{ThreadStatusIndicators-CL0KGLlj.js → ThreadStatusIndicators-ZImeLExQ.js} +0 -0
- package/dist/client/assets/{ThreadTerminalDrawer-C4NJu8Qs.js → ThreadTerminalDrawer-DDHEuRGB.js} +1 -1
- package/dist/client/assets/{ThreadWorkspacePanel-D9qlHXCA.js → ThreadWorkspacePanel-QF3KwbGm.js} +1 -1
- package/dist/client/assets/{WorkItemsTab-BDAeQe4D.js → WorkItemsTab-AOVwVvb7.js} +1 -1
- package/dist/client/assets/{branding-DeKsIp6g.js → branding-BDfN6Spd.js} +1 -1
- package/dist/client/assets/{capabilities-BkVqeGLQ.js → capabilities-3zgirmmI.js} +1 -1
- package/dist/client/assets/{desktopUpdateAtoms-B9iJXSdW.js → desktopUpdateAtoms-CyfPW2jg.js} +1 -1
- package/dist/client/assets/{desktopWorkspace-B-cSBe8H.js → desktopWorkspace-DHUZEpfy.js} +1 -1
- package/dist/client/assets/{device-DfIh5pQV.js → device-B_qvyvtW.js} +1 -1
- package/dist/client/assets/{editorPreferences-0DWMgcci.js → editorPreferences-DHIJntKF.js} +1 -1
- package/dist/client/assets/{index-Bntnmu6O.js → index-CQmEMMQH.js} +1 -1
- package/dist/client/assets/{main-BjVnVob0.js → main-BKS5Nf2_.js} +2 -2
- package/dist/client/assets/primary-BzLEg2w1.js +2 -0
- package/dist/client/assets/{projectPaths-SSsIvt0g.js → projectPaths-BAd6NFcE.js} +1 -1
- package/dist/client/assets/{providerIconUtils-CzSa_16f.js → providerIconUtils-X0Z3EK-Q.js} +1 -1
- package/dist/client/assets/{runtime-DfGHeCnR.js → runtime-CXut_g4p.js} +1 -1
- package/dist/client/assets/{session-logic-wxhvMgEN.js → session-logic-GZix7S2I.js} +1 -1
- package/dist/client/assets/{sidebarProjectFolders-CGVDJ0ZT.js → sidebarProjectFolders-cnmz3B_-.js} +1 -1
- package/dist/client/assets/storeSelectors-DYekgeHu.js +1 -0
- package/dist/client/assets/{threadPriorityRefreshRuntime-tRDgvBzr.js → threadPriorityRefreshRuntime-Ct5pnIbX.js} +1 -1
- package/dist/client/assets/types-DYekgeHu.js +1 -0
- package/dist/client/assets/{useAtlassian-DC0XOw4u.js → useAtlassian-9-hy2f8z.js} +0 -0
- package/dist/client/assets/{useHandleNewThread-Bvz-DKgn.js → useHandleNewThread-DX2FtXcP.js} +1 -1
- package/dist/client/assets/{usePhoneThreadActions-CAgIq9aZ.js → usePhoneThreadActions-BEa3VzGG.js} +1 -1
- package/dist/client/assets/{useStatistics-CiLROMJP.js → useStatistics-CtunoTE-.js} +1 -1
- package/dist/client/assets/{useThreadActions-Vew3ScxG.js → useThreadActions-fN-Al13y.js} +1 -1
- package/dist/client/index.html +1 -1
- package/package.json +1 -1
- package/dist/client/assets/primary-OskAInOO.js +0 -2
- package/dist/client/assets/storeSelectors-Bpr2pdhU.js +0 -1
- package/dist/client/assets/types-Bpr2pdhU.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Ei as e,L as t,N as n,it as r,jr as i}from"./src-Vf4LVnMX.js";import{Yt as a}from"./runtime-DfGHeCnR.js";var o=e(t);function s(e){if(e.kind!==`context-handoff`)return null;let t;try{t=o(e.payload)}catch{return null}return t.status!==`consumed`&&t.status!==`failed`&&t.status!==`delivery-uncertain`?null:{id:`context-handoff:${e.id}`,activityId:e.id,handoffId:t.handoffId,createdAt:e.createdAt,turnId:e.turnId,status:t.status,targetMessageId:t.targetMessageId,targetTurnId:t.targetTurnId??e.turnId,sources:t.sources,target:t.target,...t.inspection?{inspection:t.inspection}:{},...t.status===`failed`||t.status===`delivery-uncertain`?{error:t.error}:{}}}var c=new Set([`agent`,`subagent`,`subagent task`,`task`]),l=`Turing.Dirac.Hegel.Arendt.Boyle.Locke.Epicurus.Curie.Bohr.Newton.Euler.Gauss.Hopper.Lovelace.Noether.Pascal.Tesla.Darwin.Kepler.Faraday.Planck.Heisenberg.Maxwell.Fermi.Feynman.Lagrange.Riemann.Babbage.Shannon.Ramanujan.Galileo.Copernicus.Pasteur.Mendel.Hawking.Lavoisier.Fourier.Pauli.Kant.Plato.Socrates.Aristotle.Nietzsche.Spinoza.Descartes.Hume.Leibniz.Wittgenstein.Russell.Camus.Sartre.Voltaire.Confucius.Seneca.Aurelius.Diogenes`.split(`.`);function u(e){return e?.trim()||null}function d(e){return e.replace(/[_-]+/g,` `).replace(/\s+/g,` `).trim().replace(/\b\w/g,e=>e.toUpperCase())}function f(e){let t=u(e);return!t||c.has(t.toLocaleLowerCase())?null:d(t)}function p(e,t){let n=u(e)?.toLocaleLowerCase(),r=u(t)?.toLocaleLowerCase();return n!=null&&n===r}function m(e){let t=e.trim();return(t.startsWith(`subagent:`)?t.slice(9):t)||t||`agent`}function h(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t>>>0}function g(e){let t=Array.from({length:l.length},(e,t)=>t),n=h(e)||1;for(let e=t.length-1;e>0;--e){n=(Math.imul(n,16777619)^e+1)>>>0;let r=n%(e+1),i=t[e];t[e]=t[r],t[r]=i}return t}function _(e){let t=new Map,n=new Set,r=[...new Set(e)].toSorted((e,t)=>e.localeCompare(t));for(let e of r){let r=g(e),i=null;for(let e of r){let t=l[e];if(!n.has(t.toLocaleLowerCase())){i=t;break}}if(i===null){let e=l[r[0]],t=2;for(;n.has(`${e} ${t}`.toLocaleLowerCase());)t+=1;i=`${e} ${t}`}n.add(i.toLocaleLowerCase()),t.set(e,i)}return t}function v(e){let t=new Map(e.map(e=>[e.key,m(e.key)])),n=_([...t.values()]),r=new Map;for(let i of e){let e=t.get(i.key)??m(i.key);r.set(i.key,{codename:n.get(e)??e,avatarKey:e,role:f(i.role),taskLabel:u(i.taskLabel)})}return r}var ee=new Set([`completed`,`failed`,`cancelled`,`interrupted`]);function y(e){return ee.has(e)}function b(e){return e===`pending`||e===`running`||e===`waiting`}var te=6,ne=180,re=100;function ie(e){return b(e.status)?0:e.status===`idle`?1:2}function ae(e){return e.length<=re?[...e]:e.toSorted((e,t)=>ie(e)-ie(t)||t.updatedAt.localeCompare(e.updatedAt)).slice(0,re)}function x(e){return e.agentKind!==`agent`}function S(e){return e.length<=ne?e:`${e.slice(0,179)}…`}function C(e,t,n){let r=S(n);if(e.length>0&&e[e.length-1]?.summary===r)return e;let i=[...e,{at:t,summary:r}];return i.length>te?i.slice(-6):i}function w(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function T(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0?e:void 0}function E(e){if(typeof e!=`object`||!e)return;let t=e,n=T(t.totalTokens);if(n===void 0)return;let r={totalTokens:n},i=T(t.inputTokens);i!==void 0&&(r.inputTokens=i);let a=T(t.cachedInputTokens);a!==void 0&&(r.cachedInputTokens=a);let o=T(t.outputTokens);o!==void 0&&(r.outputTokens=o);let s=T(t.reasoningOutputTokens);s!==void 0&&(r.reasoningOutputTokens=s);let c=T(t.toolUses);c!==void 0&&(r.toolUses=c);let l=T(t.durationMs);return l!==void 0&&(r.durationMs=l),r}function D(e,t){if(!t)return e;if(!e)return t;let n=(e,t)=>e===void 0?t:t===void 0?e:Math.max(e,t),r={totalTokens:Math.max(e.totalTokens,t.totalTokens)},i=n(e.inputTokens,t.inputTokens);i!==void 0&&(r.inputTokens=i);let a=n(e.cachedInputTokens,t.cachedInputTokens);a!==void 0&&(r.cachedInputTokens=a);let o=n(e.outputTokens,t.outputTokens);o!==void 0&&(r.outputTokens=o);let s=n(e.reasoningOutputTokens,t.reasoningOutputTokens);s!==void 0&&(r.reasoningOutputTokens=s);let c=n(e.toolUses,t.toolUses);c!==void 0&&(r.toolUses=c);let l=n(e.durationMs,t.durationMs);return l!==void 0&&(r.durationMs=l),r}function oe(e,t){return w(e.taskType)===`local_workflow`?`workflow`:e.parentAgentId!==void 0||t.includes(`:wf:`)?`workflow_agent`:`subagent`}function O(e,t,n,r){let i=e.get(t);if(i)return r.localeCompare(i.firstSeenAt)<0&&(i.firstSeenAt=r),i;let a={id:t,kind:oe(n,t),title:w(n.title)??w(n.detail)??t,role:w(n.role)??null,model:w(n.model)??null,effort:w(n.effort)??null,status:`pending`,activationCount:0,usage:null,progress:null,lastToolName:null,result:null,error:null,outputFile:null,parentAgentId:w(n.parentAgentId)??null,agentIndex:T(n.agentIndex)??null,phaseIndex:T(n.phaseIndex)??null,phaseTitle:w(n.phaseTitle)??null,attempt:T(n.attempt)??null,workflowName:w(n.workflowName)??null,phases:[],runHandles:null,recentActivity:[],firstSeenAt:r,startedAt:null,completedAt:null,updatedAt:r};return e.set(t,a),a}function k(e,t){let n=!1,r=w(t.title);r&&(e.title=r);let i=w(t.role);i&&(e.role=i);let a=w(t.model);a&&(e.model=a);let o=w(t.effort);o&&(e.effort=o);let s=w(t.parentAgentId);s&&(e.parentAgentId=s,e.kind===`subagent`&&(e.kind=`workflow_agent`));let c=w(t.workflowName);c&&(e.workflowName=c),w(t.taskType)===`local_workflow`&&(e.kind=`workflow`);let l=T(t.agentIndex);l!==void 0&&(e.agentIndex=l);let u=T(t.phaseIndex);u!==void 0&&(e.phaseIndex=u);let d=w(t.phaseTitle);d&&(e.phaseTitle=d);let f=T(t.attempt);f!==void 0&&(e.attempt!==null&&f>e.attempt&&(n=!0,e.result=null,e.error=null,e.completedAt=null),e.attempt=f);let p=w(t.outputFile);if(p&&(e.outputFile=p),Array.isArray(t.phases)){let n=[];for(let e of t.phases){if(typeof e!=`object`||!e)continue;let t=e,r=T(t.index),i=w(t.title);r!==void 0&&i&&n.push({index:r,title:i})}n.length>0&&(e.phases=n.toSorted((e,t)=>e.index-t.index))}if(typeof t.runHandles==`object`&&t.runHandles!==null){let n=t.runHandles,r={},i=w(n.runId);i&&(r.runId=i);let a=w(n.scriptPath);a&&(r.scriptPath=a);let o=w(n.transcriptDir);o&&(r.transcriptDir=o);let s=w(n.sessionUrl);s&&/^https?:\/\//i.test(s)&&(r.sessionUrl=s),Object.keys(r).length>0&&(e.runHandles={...e.runHandles,...r})}return n}function A(e,t,n,r=!1){let i=y(e.status),a=y(t);i&&!r||(i&&r?(e.activationCount+=1,e.result=null,e.error=null,e.completedAt=null,e.startedAt=t===`pending`?null:n):e.status===`idle`&&(t===`running`||t===`pending`)&&(e.activationCount+=1,e.result=null,e.error=null,e.completedAt=null,t===`running`&&(e.startedAt=n)),t===`running`&&e.startedAt===null&&(e.startedAt=n),a&&e.completedAt===null&&(e.completedAt=n),e.status=t)}var se=new Map([[`completed`,`completed`],[`failed`,`failed`],[`stopped`,`interrupted`]]),ce=new Set([`pending`,`running`,`waiting`,`idle`,`completed`,`failed`,`cancelled`,`interrupted`]);function le(e){return typeof e==`string`&&ce.has(e)?e:void 0}function ue(e,t){let n=new Map;for(let t of e){if(typeof t.payload!=`object`||t.payload===null)continue;let e=t.payload,r=t.createdAt;switch(t.kind){case`task.started`:{let t=w(e.taskId);if(!t||x(e))break;let i=O(n,t,e,r);k(i,e)?A(i,`running`,r,!0):i.activationCount===0&&!y(i.status)?(i.activationCount=1,i.startedAt=i.startedAt??r,i.status=`running`):i.status===`idle`&&A(i,`running`,r);let a=w(e.detail);a&&i.title===i.id&&(i.title=a),i.updatedAt=r;break}case`task.progress`:{let t=w(e.taskId);if(!t)break;let i=n.has(t);if(!i&&x(e))break;let a=O(n,t,e,r),o=k(a,e);a.activationCount===0&&(a.activationCount=1);let s=le(e.status);s?A(a,s,r,o):o?A(a,`running`,r,!0):(e.usageSnapshot!==!0||!i)&&!y(a.status)&&a.status!==`idle`&&A(a,`running`,r);let c=w(e.summary);c&&(a.progress=S(c),a.recentActivity=C(a.recentActivity,r,c));let l=w(e.lastToolName);l&&(a.lastToolName=l,c||(a.recentActivity=C(a.recentActivity,r,`▸ ${l}`)));let u=w(e.error);u&&(a.error=S(u)),a.usage=D(a.usage,E(e.typedUsage)),a.updatedAt=r;break}case`task.updated`:{let t=w(e.taskId);if(!t||!n.has(t)&&x(e))break;let i=O(n,t,e,r),a=k(i,e);i.activationCount===0&&(i.activationCount=1);let o=y(i.status),s=le(e.status);s&&A(i,s,r,a);let c=w(e.error);c&&(i.error=S(c));let l=w(e.endedAt);l&&!o&&y(i.status)&&(i.completedAt=l),i.updatedAt=r;break}case`task.completed`:{let t=w(e.taskId);if(!t||!n.has(t)&&x(e))break;let i=O(n,t,e,r),a=k(i,e);i.activationCount===0&&(i.activationCount=1);let o=w(e.summary)??w(e.detail);if(y(i.status)&&!a){o&&(i.status===`failed`?i.error=i.error??S(o):i.result=i.result??S(o)),i.usage=D(i.usage,E(e.typedUsage));break}let s=se.get(w(e.status)??``)??`completed`;A(i,s,r,a),o&&(s===`failed`?i.error=i.error??S(o):i.result=S(o)),i.usage=D(i.usage,E(e.typedUsage)),i.updatedAt=r;break}case`tool.progress`:{let t=w(e.taskId);if(!t)break;let i=n.get(t);if(!i)break;let a=w(e.toolName);a&&(i.lastToolName=a,i.recentActivity=C(i.recentActivity,r,`▸ ${a}`)),i.updatedAt=r;break}}}for(let e of n.values())if(!(e.kind!==`workflow`||!y(e.status)))for(let t of n.values())t.parentAgentId===e.id&&(y(t.status)||t.status===`idle`||(t.status=e.status===`completed`?`completed`:`interrupted`,t.completedAt=t.completedAt??e.completedAt??e.updatedAt,t.updatedAt=e.updatedAt));if(t?.sessionLive===!1)for(let e of n.values())b(e.status)&&(e.status=`interrupted`,e.completedAt=e.completedAt??e.updatedAt);return ae(Array.from(n.values()))}var de={workflows:[],directAgents:[],runningCount:0,waitingCount:0,idleCount:0,settledCount:0,totalTokens:0,hasAgents:!1,liveCount:0};function fe(){return de}function pe(e,t){return e===`running`?t?`running`:`interrupted`:e===`finished`?`completed`:e}function me(e,t){let n=pe(e.status,t),r=e.messages.at(-1)?.text,i=e.entries.at(-1),a=r??i?.output??null,o=n===`running`?r??null:null,s=y(n);return{id:e.key,kind:`subagent`,title:e.detail??e.role??`Agent task`,role:e.role??null,model:null,effort:null,status:n,activationCount:1,usage:null,progress:o?S(o):null,lastToolName:null,result:n===`completed`&&r?S(r):null,error:n===`failed`&&a?S(a):null,outputFile:null,parentAgentId:null,agentIndex:null,phaseIndex:null,phaseTitle:null,attempt:null,workflowName:null,phases:[],runHandles:null,recentActivity:e.entries.slice(-6).map(e=>({at:e.createdAt,summary:S(e.detail??e.output??e.label)})),firstSeenAt:e.startedAt,startedAt:e.startedAt,completedAt:s?e.updatedAt:null,updatedAt:e.updatedAt}}function he(e){let t=ue(e.activities,{sessionLive:e.sessionLive}),n=new Set(t.map(e=>m(e.id))),r=e.transcriptSubagents.filter(e=>!n.has(m(e.key))).map(t=>me(t,e.sessionLive));return ge({agents:ae([...t,...r])})}function ge({agents:e,v2Projection:t}){let n=t??e;if(n.length===0)return de;let r=n.filter(e=>e.kind===`workflow`).toSorted((e,t)=>e.firstSeenAt.localeCompare(t.firstSeenAt)||e.id.localeCompare(t.id)),i=new Set(r.map(e=>e.id)),a=new Map,o=[];for(let e of n)if(e.kind!==`workflow`){if(e.parentAgentId!==null&&i.has(e.parentAgentId)){let t=a.get(e.parentAgentId)??[];t.push(e),a.set(e.parentAgentId,t)}else o.push(e)}let s=r.map(e=>{let t=a.get(e.id)??[],n=e.phases.length>0?e.phases:(()=>{let e=new Map;for(let n of t)n.phaseIndex!==null&&!e.has(n.phaseIndex)&&e.set(n.phaseIndex,n.phaseTitle??`Phase ${n.phaseIndex+1}`);return Array.from(e.entries()).map(([e,t])=>({index:e,title:t})).toSorted((e,t)=>e.index-t.index)})(),r=new Set(n.map(e=>e.index));return{workflow:e,phases:n.map(n=>{let r=t.filter(e=>e.phaseIndex===n.index).toSorted((e,t)=>(e.agentIndex??2**53-1)-(t.agentIndex??2**53-1)||e.firstSeenAt.localeCompare(t.firstSeenAt)||e.id.localeCompare(t.id)),i=r.filter(e=>b(e.status)||e.status===`idle`).length,a=r.filter(e=>y(e.status)).length,o=r.length===0?y(e.status)?`done`:`pending`:i>0?`running`:a===r.length?`done`:`pending`;return{index:n.index,title:n.title,members:r,state:o,activeCount:i,settledCount:a}}),unphasedMembers:t.filter(e=>e.phaseIndex===null||!r.has(e.phaseIndex)).toSorted((e,t)=>(e.agentIndex??2**53-1)-(t.agentIndex??2**53-1)||e.firstSeenAt.localeCompare(t.firstSeenAt)||e.id.localeCompare(t.id))}}),c=0,l=0,u=0,d=0,f=0;for(let e of n)e.kind===`workflow`&&(a.get(e.id)??[]).length>0||(e.status===`running`||e.status===`pending`?c+=1:e.status===`waiting`?l+=1:e.status===`idle`?u+=1:d+=1,f+=e.usage?.totalTokens??0);return{workflows:s,directAgents:o.toSorted((e,t)=>e.firstSeenAt.localeCompare(t.firstSeenAt)||e.id.localeCompare(t.id)),runningCount:c,waitingCount:l,idleCount:u,settledCount:d,totalTokens:f,hasAgents:!0,liveCount:c+l}}function _e(e,t){if(!e)return null;let n=e.replace(/^claude-/,``).replace(/-\d{8}$/,``).replace(/-latest$/,``);return t?`${n} · ${t}`:n}function ve(e){if(e<1e3)return`${e}`;if(e<1e6){let t=e/1e3;return`${t>=100?Math.round(t):t.toFixed(1)}k`}return`${(e/1e6).toFixed(1)}M`}var ye=[{value:r.make(`codex`),label:`Codex`,available:!0},{value:r.make(`claudeAgent`),label:`Claude`,available:!0},{value:r.make(`copilot`),label:`GitHub Copilot`,available:!0},{value:r.make(`opencode`),label:`OpenCode`,available:!0,pickerSidebarBadge:`new`},{value:r.make(`cursor`),label:`Cursor`,available:!0,pickerSidebarBadge:`new`},{value:r.make(`grok`),label:`Grok`,available:!0,pickerSidebarBadge:`new`}];function be(e){if(!Number.isFinite(e)||e<0)return`0ms`;if(e<1e3)return`${Math.max(1,Math.round(e))}ms`;if(e<1e4)return`${(e/1e3).toFixed(1)}s`;if(e<6e4)return`${Math.round(e/1e3)}s`;let t=Math.floor(e/6e4),n=Math.round(e%6e4/1e3);return n===0?`${t}m`:n===60?`${t+1}m`:`${t}m ${n}s`}function xe(e,t){if(!t)return null;let n=Date.parse(e),r=Date.parse(t);return Number.isNaN(n)||Number.isNaN(r)||r<n?null:be(r-n)}function Se(e,t){return!e?.startedAt||!e.completedAt?!1:!t||t.orchestrationStatus!==`running`}function Ce(e,t,n){let r=t?.orchestrationStatus===`running`?t.activeTurnId??null:null;return r===null?Se(e,t)?n:e?.startedAt??n:e?.turnId===r?e.startedAt??n:n}function we(e){switch(e){case`command_execution_approval`:case`exec_command_approval`:case`dynamic_tool_call`:return`command`;case`file_read_approval`:return`file-read`;case`file_change_approval`:case`apply_patch_approval`:return`file-change`;default:return null}}function Te(e){let t=e?.toLowerCase();return t?t.includes(`stale pending approval request`)||t.includes(`stale pending user-input request`)||t.includes(`unknown pending approval request`)||t.includes(`unknown pending permission request`)||t.includes(`unknown pending user-input request`):!1}function Ee(e){return e.payload&&typeof e.payload==`object`?e.payload:null}function De(e){return e&&typeof e.requestId==`string`?i.make(e.requestId):null}function Oe(e){return e&&typeof e.detail==`string`?e.detail:void 0}function ke(e){return e&&(e.requestKind===`command`||e.requestKind===`file-read`||e.requestKind===`file-change`)?e.requestKind:e?we(e.requestType):null}function Ae(e,t,n){if(t.kind!==`approval.requested`&&t.kind!==`approval.resolved`&&t.kind!==`provider.approval.respond.failed`)return;let r=De(n),i=ke(n),a=Oe(n);if(t.kind===`approval.requested`&&r&&i){e.set(r,{requestId:r,requestKind:i,createdAt:t.createdAt,...a?{detail:a}:{}});return}if(t.kind===`approval.resolved`&&r){e.delete(r);return}t.kind===`provider.approval.respond.failed`&&r&&Te(a)&&e.delete(r)}function je(e){return[...e.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function Me(e){let t=e?.questions;if(!Array.isArray(t))return null;let n=t.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.id!=`string`||typeof t.header!=`string`||typeof t.question!=`string`||!Array.isArray(t.options))return null;let n=t.options.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;return typeof t.label!=`string`||typeof t.description!=`string`?null:{label:t.label,description:t.description}}).filter(e=>e!==null);return n.length===0?null:{id:t.id,header:t.header,question:t.question,options:n,multiSelect:t.multiSelect===!0}}).filter(e=>e!==null);return n.length>0?n:null}function Ne(e,t,n){if(t.kind!==`user-input.requested`&&t.kind!==`user-input.resolved`&&t.kind!==`provider.user-input.respond.failed`)return;let r=De(n),i=Oe(n);if(t.kind===`user-input.requested`&&r){let i=Me(n);if(!i)return;e.set(r,{requestId:r,createdAt:t.createdAt,questions:i});return}if(t.kind===`user-input.resolved`&&r){e.delete(r);return}t.kind===`provider.user-input.respond.failed`&&r&&Te(i)&&e.delete(r)}function Pe(e){return[...e.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function Fe(e){if(!e)return null;let t=Ee(e),n=t?.plan;if(!Array.isArray(n))return null;let r=n.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.step!=`string`)return null;let n=t.status===`completed`||t.status===`inProgress`?t.status:`pending`;return{step:t.step,status:n}}).filter(e=>e!==null);return r.length===0?null:{createdAt:e.createdAt,turnId:e.turnId,...t&&`explanation`in t?{explanation:t.explanation}:{},steps:r}}function Ie(e,t){if(t){let n=[...e].filter(e=>e.turnId===t).toSorted((e,t)=>e.updatedAt.localeCompare(t.updatedAt)||e.id.localeCompare(t.id)).at(-1);if(n)return M(n)}let n=[...e].toSorted((e,t)=>e.updatedAt.localeCompare(t.updatedAt)||e.id.localeCompare(t.id)).at(-1);return n?M(n):null}function Le(e){let t=e.threads.find(t=>t.id===e.threadId)?.proposedPlans??[];if(!e.latestTurnSettled){let t=e.latestTurn?.sourceProposedPlan;if(t){let n=e.threads.find(e=>e.id===t.threadId)?.proposedPlans.find(e=>e.id===t.planId);if(n)return M(n)}}return Ie(t,e.latestTurn?.turnId??null)}function Re(e){return e!==null&&e.implementedAt===null}function ze(e,t){let n=[...e].toSorted(Mt),r=Be(n),i=[];for(let e of n)Ge(e,t)&&i.push(Je(e,r));return Ke(i)}function Be(e){let t=new Map;for(let n of e){if(n.kind!==`tool.started`)continue;let e=ht(n.payload&&typeof n.payload==`object`?n.payload:null);e&&!t.has(e)&&t.set(e,n.createdAt)}return t}function Ve(e){let t=e.payload&&typeof e.payload==`object`?e.payload:null;return!t||typeof t.taskId!=`string`?null:t}function He(e){let t=Ve(e);return t!==null&&!x(t)}function Ue(e){if(e.kind!==`task.started`&&e.kind!==`task.progress`&&e.kind!==`task.completed`)return!1;let t=Ve(e);return t!==null&&!x(t)}function We(e){let t=e.payload&&typeof e.payload==`object`?e.payload:null;return t?e.kind===`task.started`||e.kind===`task.progress`||e.kind===`task.updated`||e.kind===`task.completed`?typeof t.agentId==`string`&&t.agentId.trim().length>0||t.timelineBypass===!0?!(e.kind!==`task.updated`&&typeof t.taskId==`string`&&!x(t)):!1:t.timelineBypass===!0||typeof t.agentId==`string`&&t.agentId.trim().length>0:!1}function Ge(e,t){return t&&e.turnId!==t&&!Ue(e)?!1:e.kind===`task.started`?He(e):e.kind===`task.updated`||e.kind===`tool.progress`||We(e)?!1:e.kind!==`tool.started`&&e.kind!==`agent.message`&&e.kind!==`context-window.updated`&&e.kind!==`context-handoff`&&!a(e)&&e.summary!==`Checkpoint captured`&&!qe(e)}function Ke(e){return Xe(e).map(({activityKind:e,collapseKey:t,...n})=>n)}function qe(e){if(e.kind!==`tool.updated`&&e.kind!==`tool.completed`)return!1;let t=e.payload&&typeof e.payload==`object`?e.payload:null;return typeof t?.detail==`string`&&t.detail.startsWith(`ExitPlanMode:`)}function Je(e,t){let n=e.payload&&typeof e.payload==`object`?e.payload:null,r=pt(n),i=At(n),a=jt(n),o=mt(n),s=e.kind===`task.started`||e.kind===`task.progress`||e.kind===`task.completed`,c=s&&typeof n?.summary==`string`&&n.summary.length>0?n.summary:null,l=s&&!c&&typeof n?.detail==`string`&&n.detail.length>0?n.detail:null,u=c||l,d=s?!l&&n&&typeof n.detail==`string`&&n.detail.length>0?R(n.detail).output:null:xt(n,o??e.summary),f=s?null:ht(n),p={id:e.id,createdAt:e.createdAt,label:u||e.summary,tone:e.kind===`task.progress`?`thinking`:e.tone===`approval`?`info`:e.tone,activityKind:e.kind},m=Tt(n),h=Et(n),g=Ct(n),_=wt(n);if(d&&(p.detail=d),r.command&&(p.command=r.command),r.rawCommand&&(p.rawCommand=r.rawCommand),i.length>0&&(p.changedFiles=i),a.length>0&&(p.changedFileStats=a),o&&(p.toolTitle=o),m&&(p.itemType=m),h&&(p.requestKind=h),f){p.toolCallId=f;let e=t.get(f);e&&(p.startedAt=e)}p.lastActivityAt=e.createdAt,g&&(p.output=g),_!==null&&(p.exitCode=_),e.turnId!==null&&(p.turnId=e.turnId),(e.kind===`tool.completed`||e.kind===`task.completed`)&&(p.completed=!0),s&&typeof n?.taskId==`string`&&n.taskId.length>0&&(p.taskId=n.taskId),s&&typeof n?.role==`string`&&n.role.length>0&&(p.agentRole=n.role),s&&(n?.taskType===`local_workflow`||typeof n?.workflowName==`string`&&n.workflowName.length>0)&&(p.isWorkflowCoordinator=!0),s&&n&&x(n)&&(p.isBackgroundTask=!0);let v=tt(p);return v&&(p.collapseKey=v),p}function Ye(e){let t=e.taskId??``,n=t.indexOf(`:wf:`);return n===-1?e.agentSpawn?.workflowId?`wf:${e.agentSpawn.workflowId}`:e.isWorkflowCoordinator?`wf:${t}`:e.turnId?`direct:${e.turnId}`:`direct:task:${t}`:`wf:${t.slice(0,n)}`}function Xe(e){let t=[],n=new Map,r=new Map;for(let i of e){if(i.taskId!==void 0&&!i.isBackgroundTask&&(i.activityKind===`task.started`||i.activityKind===`task.progress`||i.activityKind===`task.completed`)&&i.taskId!==void 0){let e=r.get(i.taskId),a=e??Ye(i);e===void 0&&r.set(i.taskId,a);let o=a.startsWith(`wf:`)?a.slice(3):null,s=n.get(a);if(s!==void 0){let e=t[s],n=e.agentSpawn?.agentTaskIds.includes(i.taskId)?e.agentSpawn.agentTaskIds:[...e.agentSpawn?.agentTaskIds??[],i.taskId];t[s]={...Qe(e,i),id:e.id,createdAt:e.createdAt,turnId:e.turnId??null,...e.taskId===void 0?{}:{taskId:e.taskId},label:e.label,agentSpawn:{workflowId:o,agentTaskIds:n}};continue}n.set(a,t.length),t.push({...i,agentSpawn:{workflowId:o,agentTaskIds:[i.taskId]}});continue}let e=t.at(-1);if(e&&Ze(e,i)){t[t.length-1]=Qe(e,i);continue}t.push(i)}return t}function Ze(e,t){return e.activityKind!==`tool.updated`&&e.activityKind!==`tool.completed`||t.activityKind!==`tool.updated`&&t.activityKind!==`tool.completed`||e.activityKind===`tool.completed`?!1:e.collapseKey!==void 0&&e.collapseKey===t.collapseKey||e.toolCallId!==void 0&&t.toolCallId===void 0&&e.itemType===t.itemType&&j(e.toolTitle??e.label)===j(t.toolTitle??t.label)}function Qe(e,t){let n=$e(e.changedFiles,t.changedFiles),r=et(e.changedFileStats,t.changedFileStats),i=t.detail??e.detail,a=t.command??e.command,o=t.rawCommand??e.rawCommand,s=t.toolTitle??e.toolTitle,c=t.itemType??e.itemType,l=t.requestKind??e.requestKind,u=t.collapseKey??e.collapseKey,d=t.toolCallId??e.toolCallId,f=t.output??e.output,p=t.exitCode??e.exitCode,m=e.startedAt??t.startedAt??e.createdAt,h=t.lastActivityAt??t.createdAt;return{...e,...t,startedAt:m,lastActivityAt:h,...i?{detail:i}:{},...a?{command:a}:{},...o?{rawCommand:o}:{},...n.length>0?{changedFiles:n}:{},...r.length>0?{changedFileStats:r}:{},...s?{toolTitle:s}:{},...c?{itemType:c}:{},...l?{requestKind:l}:{},...u?{collapseKey:u}:{},...d?{toolCallId:d}:{},...f?{output:f}:{},...p===void 0?{}:{exitCode:p}}}function $e(e,t){let n=[...e??[],...t??[]];return n.length===0?[]:[...new Set(n)]}function et(e,t){let n=new Map;for(let r of[...e??[],...t??[]]){let e=n.get(r.path);n.set(r.path,{path:r.path,kind:r.kind??e?.kind,additions:r.additions??e?.additions,deletions:r.deletions??e?.deletions})}return Array.from(n.values())}function tt(e){if(e.taskId&&(e.activityKind===`task.progress`||e.activityKind===`task.completed`))return`task${e.taskId}`;if(e.activityKind!==`tool.updated`&&e.activityKind!==`tool.completed`)return;if(e.toolCallId)return`tool:${e.toolCallId}`;let t=j(e.toolTitle??e.label),n=e.detail?.trim()??``,r=e.itemType??``;if(t.length!==0||n.length!==0||r.length!==0)return[r,t,n].join(``)}function j(e){return e.replace(/\s+(?:complete|completed)\s*$/i,``).trim()}function M(e){return{id:e.id,createdAt:e.createdAt,updatedAt:e.updatedAt,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId}}function N(e){return e&&typeof e==`object`?e:null}function P(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function F(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function nt(e){let t=e.trim();if(t.startsWith(`'`)&&t.endsWith(`'`)||t.startsWith(`"`)&&t.endsWith(`"`)){let e=t.slice(1,-1).trim();return e.length>0?e:t}return t}function rt(e){let t=nt(e);if(t.length===0)return null;let n=t.replace(/\\/g,`/`).split(`/`).at(-1)?.trim()??``;return n.length>0?n.toLowerCase():null}function it(e){let t=e.trim();if(t.length===0)return null;if(t.startsWith(`"`)||t.startsWith(`'`)){let e=t.charAt(0),n=t.indexOf(e,1);return n<=0?null:{executable:t.slice(0,n+1),rest:t.slice(n+1).trim()}}let n=t.search(/\s/);return n<0?{executable:t,rest:``}:{executable:t.slice(0,n),rest:t.slice(n).trim()}}var at=[{executables:[`pwsh`,`pwsh.exe`,`powershell`,`powershell.exe`],wrapperFlagPattern:/(?:^|\s)-command\s+/i},{executables:[`cmd`,`cmd.exe`],wrapperFlagPattern:/(?:^|\s)\/c\s+/i},{executables:[`bash`,`sh`,`zsh`],wrapperFlagPattern:/(?:^|\s)-(?:l)?c\s+/i}];function ot(e){return at.find(t=>t.executables.includes(e))}function st(e,t){let n=t.exec(e);if(!n)return null;let r=e.slice(n.index+n[0].length).trim();if(r.length===0)return null;let i=nt(r);return i.length>0?i:null}function ct(e){let t=it(e);if(!t||t.rest.length===0)return e;let n=rt(t.executable);if(!n)return e;let r=ot(n);return r?st(t.rest,r.wrapperFlagPattern)??e:e}function lt(e){return/[\s"'`]/.test(e)?`"${e.replace(/"/g,`\\"`)}"`:e}function ut(e){let t=P(e);if(t)return t;if(!Array.isArray(e))return null;let n=e.map(e=>P(e)).filter(e=>e!==null);return n.length===0?null:n.map(e=>lt(e)).join(` `)}function dt(e){let t=ut(e);return t?ct(t):null}function ft(e,t){let n=ut(e);return!n||t===null||n===t?null:n}function pt(e){let t=N(e?.data),n=N(t?.item),r=N(n?.result),i=N(n?.input),a=P(e?.itemType),o=P(e?.detail),s=[n?.command,i?.command,r?.command,t?.command,a===`command_execution`&&o?R(o).output:null];for(let e of s){let t=dt(e);if(t)return{command:t,rawCommand:ft(e,t)}}return{command:null,rawCommand:null}}function mt(e){return P(e?.title)}function ht(e){return P(N(e?.data)?.toolCallId)}function gt(e){return e.replace(/\s+/g,` `).trim()}function _t(e,t=84){return e.length<=t?e:`${e.slice(0,t-1).trimEnd()}…`}function I(e){let t=P(e);return t?j(gt(t)).toLowerCase():null}function vt(e){let t=e.split(/\r?\n/u).map(e=>gt(e)).filter(e=>e.length>0),n=t.find(e=>e!=="```");return n?_t(n):t.length>1?`${t.length.toLocaleString()} lines`:null}function yt(e){let t=N(N(e?.data)?.rawOutput);if(!t)return null;let n=F(t.totalFiles);if(n!==null){let e=t.truncated===!0?`+`:``;return`${n.toLocaleString()} file${n===1?``:`s`}${e}`}let r=P(t.content);if(r)return vt(r);let i=P(t.stdout);return i?vt(i):null}function bt(e,t){let n=P(N(e?.data)?.kind)?.toLowerCase(),r=P(e?.title??t)?.toLowerCase();return Tt(e)===`command_execution`||n===`execute`||r===`terminal`||r===`ran command`}function xt(e,t){let n=P(e?.detail),r=n?R(n).output:null,i=I(t),a=I(r);if(r&&i!==a)return r;if(bt(e,t))return null;let o=yt(e);return o&&I(o)!==i?o:null}function L(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n,r=P(e.text);if(r){t.push(r);continue}let i=P(N(e.content)?.text);i&&t.push(i)}return t.length>0?t.join(`
|
|
1
|
+
import{Ei as e,L as t,N as n,it as r,jr as i}from"./src-Vf4LVnMX.js";import{Yt as a}from"./runtime-CXut_g4p.js";var o=e(t);function s(e){if(e.kind!==`context-handoff`)return null;let t;try{t=o(e.payload)}catch{return null}return t.status!==`consumed`&&t.status!==`failed`&&t.status!==`delivery-uncertain`?null:{id:`context-handoff:${e.id}`,activityId:e.id,handoffId:t.handoffId,createdAt:e.createdAt,turnId:e.turnId,status:t.status,targetMessageId:t.targetMessageId,targetTurnId:t.targetTurnId??e.turnId,sources:t.sources,target:t.target,...t.inspection?{inspection:t.inspection}:{},...t.status===`failed`||t.status===`delivery-uncertain`?{error:t.error}:{}}}var c=new Set([`agent`,`subagent`,`subagent task`,`task`]),l=`Turing.Dirac.Hegel.Arendt.Boyle.Locke.Epicurus.Curie.Bohr.Newton.Euler.Gauss.Hopper.Lovelace.Noether.Pascal.Tesla.Darwin.Kepler.Faraday.Planck.Heisenberg.Maxwell.Fermi.Feynman.Lagrange.Riemann.Babbage.Shannon.Ramanujan.Galileo.Copernicus.Pasteur.Mendel.Hawking.Lavoisier.Fourier.Pauli.Kant.Plato.Socrates.Aristotle.Nietzsche.Spinoza.Descartes.Hume.Leibniz.Wittgenstein.Russell.Camus.Sartre.Voltaire.Confucius.Seneca.Aurelius.Diogenes`.split(`.`);function u(e){return e?.trim()||null}function d(e){return e.replace(/[_-]+/g,` `).replace(/\s+/g,` `).trim().replace(/\b\w/g,e=>e.toUpperCase())}function f(e){let t=u(e);return!t||c.has(t.toLocaleLowerCase())?null:d(t)}function p(e,t){let n=u(e)?.toLocaleLowerCase(),r=u(t)?.toLocaleLowerCase();return n!=null&&n===r}function m(e){let t=e.trim();return(t.startsWith(`subagent:`)?t.slice(9):t)||t||`agent`}function h(e){let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t>>>0}function g(e){let t=Array.from({length:l.length},(e,t)=>t),n=h(e)||1;for(let e=t.length-1;e>0;--e){n=(Math.imul(n,16777619)^e+1)>>>0;let r=n%(e+1),i=t[e];t[e]=t[r],t[r]=i}return t}function _(e){let t=new Map,n=new Set,r=[...new Set(e)].toSorted((e,t)=>e.localeCompare(t));for(let e of r){let r=g(e),i=null;for(let e of r){let t=l[e];if(!n.has(t.toLocaleLowerCase())){i=t;break}}if(i===null){let e=l[r[0]],t=2;for(;n.has(`${e} ${t}`.toLocaleLowerCase());)t+=1;i=`${e} ${t}`}n.add(i.toLocaleLowerCase()),t.set(e,i)}return t}function v(e){let t=new Map(e.map(e=>[e.key,m(e.key)])),n=_([...t.values()]),r=new Map;for(let i of e){let e=t.get(i.key)??m(i.key);r.set(i.key,{codename:n.get(e)??e,avatarKey:e,role:f(i.role),taskLabel:u(i.taskLabel)})}return r}var ee=new Set([`completed`,`failed`,`cancelled`,`interrupted`]);function y(e){return ee.has(e)}function b(e){return e===`pending`||e===`running`||e===`waiting`}var te=6,ne=180,re=100;function ie(e){return b(e.status)?0:e.status===`idle`?1:2}function ae(e){return e.length<=re?[...e]:e.toSorted((e,t)=>ie(e)-ie(t)||t.updatedAt.localeCompare(e.updatedAt)).slice(0,re)}function x(e){return e.agentKind!==`agent`}function S(e){return e.length<=ne?e:`${e.slice(0,179)}…`}function C(e,t,n){let r=S(n);if(e.length>0&&e[e.length-1]?.summary===r)return e;let i=[...e,{at:t,summary:r}];return i.length>te?i.slice(-6):i}function w(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function T(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0?e:void 0}function E(e){if(typeof e!=`object`||!e)return;let t=e,n=T(t.totalTokens);if(n===void 0)return;let r={totalTokens:n},i=T(t.inputTokens);i!==void 0&&(r.inputTokens=i);let a=T(t.cachedInputTokens);a!==void 0&&(r.cachedInputTokens=a);let o=T(t.outputTokens);o!==void 0&&(r.outputTokens=o);let s=T(t.reasoningOutputTokens);s!==void 0&&(r.reasoningOutputTokens=s);let c=T(t.toolUses);c!==void 0&&(r.toolUses=c);let l=T(t.durationMs);return l!==void 0&&(r.durationMs=l),r}function D(e,t){if(!t)return e;if(!e)return t;let n=(e,t)=>e===void 0?t:t===void 0?e:Math.max(e,t),r={totalTokens:Math.max(e.totalTokens,t.totalTokens)},i=n(e.inputTokens,t.inputTokens);i!==void 0&&(r.inputTokens=i);let a=n(e.cachedInputTokens,t.cachedInputTokens);a!==void 0&&(r.cachedInputTokens=a);let o=n(e.outputTokens,t.outputTokens);o!==void 0&&(r.outputTokens=o);let s=n(e.reasoningOutputTokens,t.reasoningOutputTokens);s!==void 0&&(r.reasoningOutputTokens=s);let c=n(e.toolUses,t.toolUses);c!==void 0&&(r.toolUses=c);let l=n(e.durationMs,t.durationMs);return l!==void 0&&(r.durationMs=l),r}function oe(e,t){return w(e.taskType)===`local_workflow`?`workflow`:e.parentAgentId!==void 0||t.includes(`:wf:`)?`workflow_agent`:`subagent`}function O(e,t,n,r){let i=e.get(t);if(i)return r.localeCompare(i.firstSeenAt)<0&&(i.firstSeenAt=r),i;let a={id:t,kind:oe(n,t),title:w(n.title)??w(n.detail)??t,role:w(n.role)??null,model:w(n.model)??null,effort:w(n.effort)??null,status:`pending`,activationCount:0,usage:null,progress:null,lastToolName:null,result:null,error:null,outputFile:null,parentAgentId:w(n.parentAgentId)??null,agentIndex:T(n.agentIndex)??null,phaseIndex:T(n.phaseIndex)??null,phaseTitle:w(n.phaseTitle)??null,attempt:T(n.attempt)??null,workflowName:w(n.workflowName)??null,phases:[],runHandles:null,recentActivity:[],firstSeenAt:r,startedAt:null,completedAt:null,updatedAt:r};return e.set(t,a),a}function k(e,t){let n=!1,r=w(t.title);r&&(e.title=r);let i=w(t.role);i&&(e.role=i);let a=w(t.model);a&&(e.model=a);let o=w(t.effort);o&&(e.effort=o);let s=w(t.parentAgentId);s&&(e.parentAgentId=s,e.kind===`subagent`&&(e.kind=`workflow_agent`));let c=w(t.workflowName);c&&(e.workflowName=c),w(t.taskType)===`local_workflow`&&(e.kind=`workflow`);let l=T(t.agentIndex);l!==void 0&&(e.agentIndex=l);let u=T(t.phaseIndex);u!==void 0&&(e.phaseIndex=u);let d=w(t.phaseTitle);d&&(e.phaseTitle=d);let f=T(t.attempt);f!==void 0&&(e.attempt!==null&&f>e.attempt&&(n=!0,e.result=null,e.error=null,e.completedAt=null),e.attempt=f);let p=w(t.outputFile);if(p&&(e.outputFile=p),Array.isArray(t.phases)){let n=[];for(let e of t.phases){if(typeof e!=`object`||!e)continue;let t=e,r=T(t.index),i=w(t.title);r!==void 0&&i&&n.push({index:r,title:i})}n.length>0&&(e.phases=n.toSorted((e,t)=>e.index-t.index))}if(typeof t.runHandles==`object`&&t.runHandles!==null){let n=t.runHandles,r={},i=w(n.runId);i&&(r.runId=i);let a=w(n.scriptPath);a&&(r.scriptPath=a);let o=w(n.transcriptDir);o&&(r.transcriptDir=o);let s=w(n.sessionUrl);s&&/^https?:\/\//i.test(s)&&(r.sessionUrl=s),Object.keys(r).length>0&&(e.runHandles={...e.runHandles,...r})}return n}function A(e,t,n,r=!1){let i=y(e.status),a=y(t);i&&!r||(i&&r?(e.activationCount+=1,e.result=null,e.error=null,e.completedAt=null,e.startedAt=t===`pending`?null:n):e.status===`idle`&&(t===`running`||t===`pending`)&&(e.activationCount+=1,e.result=null,e.error=null,e.completedAt=null,t===`running`&&(e.startedAt=n)),t===`running`&&e.startedAt===null&&(e.startedAt=n),a&&e.completedAt===null&&(e.completedAt=n),e.status=t)}var se=new Map([[`completed`,`completed`],[`failed`,`failed`],[`stopped`,`interrupted`]]),ce=new Set([`pending`,`running`,`waiting`,`idle`,`completed`,`failed`,`cancelled`,`interrupted`]);function le(e){return typeof e==`string`&&ce.has(e)?e:void 0}function ue(e,t){let n=new Map;for(let t of e){if(typeof t.payload!=`object`||t.payload===null)continue;let e=t.payload,r=t.createdAt;switch(t.kind){case`task.started`:{let t=w(e.taskId);if(!t||x(e))break;let i=O(n,t,e,r);k(i,e)?A(i,`running`,r,!0):i.activationCount===0&&!y(i.status)?(i.activationCount=1,i.startedAt=i.startedAt??r,i.status=`running`):i.status===`idle`&&A(i,`running`,r);let a=w(e.detail);a&&i.title===i.id&&(i.title=a),i.updatedAt=r;break}case`task.progress`:{let t=w(e.taskId);if(!t)break;let i=n.has(t);if(!i&&x(e))break;let a=O(n,t,e,r),o=k(a,e);a.activationCount===0&&(a.activationCount=1);let s=le(e.status);s?A(a,s,r,o):o?A(a,`running`,r,!0):(e.usageSnapshot!==!0||!i)&&!y(a.status)&&a.status!==`idle`&&A(a,`running`,r);let c=w(e.summary);c&&(a.progress=S(c),a.recentActivity=C(a.recentActivity,r,c));let l=w(e.lastToolName);l&&(a.lastToolName=l,c||(a.recentActivity=C(a.recentActivity,r,`▸ ${l}`)));let u=w(e.error);u&&(a.error=S(u)),a.usage=D(a.usage,E(e.typedUsage)),a.updatedAt=r;break}case`task.updated`:{let t=w(e.taskId);if(!t||!n.has(t)&&x(e))break;let i=O(n,t,e,r),a=k(i,e);i.activationCount===0&&(i.activationCount=1);let o=y(i.status),s=le(e.status);s&&A(i,s,r,a);let c=w(e.error);c&&(i.error=S(c));let l=w(e.endedAt);l&&!o&&y(i.status)&&(i.completedAt=l),i.updatedAt=r;break}case`task.completed`:{let t=w(e.taskId);if(!t||!n.has(t)&&x(e))break;let i=O(n,t,e,r),a=k(i,e);i.activationCount===0&&(i.activationCount=1);let o=w(e.summary)??w(e.detail);if(y(i.status)&&!a){o&&(i.status===`failed`?i.error=i.error??S(o):i.result=i.result??S(o)),i.usage=D(i.usage,E(e.typedUsage));break}let s=se.get(w(e.status)??``)??`completed`;A(i,s,r,a),o&&(s===`failed`?i.error=i.error??S(o):i.result=S(o)),i.usage=D(i.usage,E(e.typedUsage)),i.updatedAt=r;break}case`tool.progress`:{let t=w(e.taskId);if(!t)break;let i=n.get(t);if(!i)break;let a=w(e.toolName);a&&(i.lastToolName=a,i.recentActivity=C(i.recentActivity,r,`▸ ${a}`)),i.updatedAt=r;break}}}for(let e of n.values())if(!(e.kind!==`workflow`||!y(e.status)))for(let t of n.values())t.parentAgentId===e.id&&(y(t.status)||t.status===`idle`||(t.status=e.status===`completed`?`completed`:`interrupted`,t.completedAt=t.completedAt??e.completedAt??e.updatedAt,t.updatedAt=e.updatedAt));if(t?.sessionLive===!1)for(let e of n.values())b(e.status)&&(e.status=`interrupted`,e.completedAt=e.completedAt??e.updatedAt);return ae(Array.from(n.values()))}var de={workflows:[],directAgents:[],runningCount:0,waitingCount:0,idleCount:0,settledCount:0,totalTokens:0,hasAgents:!1,liveCount:0};function fe(){return de}function pe(e,t){return e===`running`?t?`running`:`interrupted`:e===`finished`?`completed`:e}function me(e,t){let n=pe(e.status,t),r=e.messages.at(-1)?.text,i=e.entries.at(-1),a=r??i?.output??null,o=n===`running`?r??null:null,s=y(n);return{id:e.key,kind:`subagent`,title:e.detail??e.role??`Agent task`,role:e.role??null,model:null,effort:null,status:n,activationCount:1,usage:null,progress:o?S(o):null,lastToolName:null,result:n===`completed`&&r?S(r):null,error:n===`failed`&&a?S(a):null,outputFile:null,parentAgentId:null,agentIndex:null,phaseIndex:null,phaseTitle:null,attempt:null,workflowName:null,phases:[],runHandles:null,recentActivity:e.entries.slice(-6).map(e=>({at:e.createdAt,summary:S(e.detail??e.output??e.label)})),firstSeenAt:e.startedAt,startedAt:e.startedAt,completedAt:s?e.updatedAt:null,updatedAt:e.updatedAt}}function he(e){let t=ue(e.activities,{sessionLive:e.sessionLive}),n=new Set(t.map(e=>m(e.id))),r=e.transcriptSubagents.filter(e=>!n.has(m(e.key))).map(t=>me(t,e.sessionLive));return ge({agents:ae([...t,...r])})}function ge({agents:e,v2Projection:t}){let n=t??e;if(n.length===0)return de;let r=n.filter(e=>e.kind===`workflow`).toSorted((e,t)=>e.firstSeenAt.localeCompare(t.firstSeenAt)||e.id.localeCompare(t.id)),i=new Set(r.map(e=>e.id)),a=new Map,o=[];for(let e of n)if(e.kind!==`workflow`){if(e.parentAgentId!==null&&i.has(e.parentAgentId)){let t=a.get(e.parentAgentId)??[];t.push(e),a.set(e.parentAgentId,t)}else o.push(e)}let s=r.map(e=>{let t=a.get(e.id)??[],n=e.phases.length>0?e.phases:(()=>{let e=new Map;for(let n of t)n.phaseIndex!==null&&!e.has(n.phaseIndex)&&e.set(n.phaseIndex,n.phaseTitle??`Phase ${n.phaseIndex+1}`);return Array.from(e.entries()).map(([e,t])=>({index:e,title:t})).toSorted((e,t)=>e.index-t.index)})(),r=new Set(n.map(e=>e.index));return{workflow:e,phases:n.map(n=>{let r=t.filter(e=>e.phaseIndex===n.index).toSorted((e,t)=>(e.agentIndex??2**53-1)-(t.agentIndex??2**53-1)||e.firstSeenAt.localeCompare(t.firstSeenAt)||e.id.localeCompare(t.id)),i=r.filter(e=>b(e.status)||e.status===`idle`).length,a=r.filter(e=>y(e.status)).length,o=r.length===0?y(e.status)?`done`:`pending`:i>0?`running`:a===r.length?`done`:`pending`;return{index:n.index,title:n.title,members:r,state:o,activeCount:i,settledCount:a}}),unphasedMembers:t.filter(e=>e.phaseIndex===null||!r.has(e.phaseIndex)).toSorted((e,t)=>(e.agentIndex??2**53-1)-(t.agentIndex??2**53-1)||e.firstSeenAt.localeCompare(t.firstSeenAt)||e.id.localeCompare(t.id))}}),c=0,l=0,u=0,d=0,f=0;for(let e of n)e.kind===`workflow`&&(a.get(e.id)??[]).length>0||(e.status===`running`||e.status===`pending`?c+=1:e.status===`waiting`?l+=1:e.status===`idle`?u+=1:d+=1,f+=e.usage?.totalTokens??0);return{workflows:s,directAgents:o.toSorted((e,t)=>e.firstSeenAt.localeCompare(t.firstSeenAt)||e.id.localeCompare(t.id)),runningCount:c,waitingCount:l,idleCount:u,settledCount:d,totalTokens:f,hasAgents:!0,liveCount:c+l}}function _e(e,t){if(!e)return null;let n=e.replace(/^claude-/,``).replace(/-\d{8}$/,``).replace(/-latest$/,``);return t?`${n} · ${t}`:n}function ve(e){if(e<1e3)return`${e}`;if(e<1e6){let t=e/1e3;return`${t>=100?Math.round(t):t.toFixed(1)}k`}return`${(e/1e6).toFixed(1)}M`}var ye=[{value:r.make(`codex`),label:`Codex`,available:!0},{value:r.make(`claudeAgent`),label:`Claude`,available:!0},{value:r.make(`copilot`),label:`GitHub Copilot`,available:!0},{value:r.make(`opencode`),label:`OpenCode`,available:!0,pickerSidebarBadge:`new`},{value:r.make(`cursor`),label:`Cursor`,available:!0,pickerSidebarBadge:`new`},{value:r.make(`grok`),label:`Grok`,available:!0,pickerSidebarBadge:`new`}];function be(e){if(!Number.isFinite(e)||e<0)return`0ms`;if(e<1e3)return`${Math.max(1,Math.round(e))}ms`;if(e<1e4)return`${(e/1e3).toFixed(1)}s`;if(e<6e4)return`${Math.round(e/1e3)}s`;let t=Math.floor(e/6e4),n=Math.round(e%6e4/1e3);return n===0?`${t}m`:n===60?`${t+1}m`:`${t}m ${n}s`}function xe(e,t){if(!t)return null;let n=Date.parse(e),r=Date.parse(t);return Number.isNaN(n)||Number.isNaN(r)||r<n?null:be(r-n)}function Se(e,t){return!e?.startedAt||!e.completedAt?!1:!t||t.orchestrationStatus!==`running`}function Ce(e,t,n){let r=t?.orchestrationStatus===`running`?t.activeTurnId??null:null;return r===null?Se(e,t)?n:e?.startedAt??n:e?.turnId===r?e.startedAt??n:n}function we(e){switch(e){case`command_execution_approval`:case`exec_command_approval`:case`dynamic_tool_call`:return`command`;case`file_read_approval`:return`file-read`;case`file_change_approval`:case`apply_patch_approval`:return`file-change`;default:return null}}function Te(e){let t=e?.toLowerCase();return t?t.includes(`stale pending approval request`)||t.includes(`stale pending user-input request`)||t.includes(`unknown pending approval request`)||t.includes(`unknown pending permission request`)||t.includes(`unknown pending user-input request`):!1}function Ee(e){return e.payload&&typeof e.payload==`object`?e.payload:null}function De(e){return e&&typeof e.requestId==`string`?i.make(e.requestId):null}function Oe(e){return e&&typeof e.detail==`string`?e.detail:void 0}function ke(e){return e&&(e.requestKind===`command`||e.requestKind===`file-read`||e.requestKind===`file-change`)?e.requestKind:e?we(e.requestType):null}function Ae(e,t,n){if(t.kind!==`approval.requested`&&t.kind!==`approval.resolved`&&t.kind!==`provider.approval.respond.failed`)return;let r=De(n),i=ke(n),a=Oe(n);if(t.kind===`approval.requested`&&r&&i){e.set(r,{requestId:r,requestKind:i,createdAt:t.createdAt,...a?{detail:a}:{}});return}if(t.kind===`approval.resolved`&&r){e.delete(r);return}t.kind===`provider.approval.respond.failed`&&r&&Te(a)&&e.delete(r)}function je(e){return[...e.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function Me(e){let t=e?.questions;if(!Array.isArray(t))return null;let n=t.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.id!=`string`||typeof t.header!=`string`||typeof t.question!=`string`||!Array.isArray(t.options))return null;let n=t.options.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;return typeof t.label!=`string`||typeof t.description!=`string`?null:{label:t.label,description:t.description}}).filter(e=>e!==null);return n.length===0?null:{id:t.id,header:t.header,question:t.question,options:n,multiSelect:t.multiSelect===!0}}).filter(e=>e!==null);return n.length>0?n:null}function Ne(e,t,n){if(t.kind!==`user-input.requested`&&t.kind!==`user-input.resolved`&&t.kind!==`provider.user-input.respond.failed`)return;let r=De(n),i=Oe(n);if(t.kind===`user-input.requested`&&r){let i=Me(n);if(!i)return;e.set(r,{requestId:r,createdAt:t.createdAt,questions:i});return}if(t.kind===`user-input.resolved`&&r){e.delete(r);return}t.kind===`provider.user-input.respond.failed`&&r&&Te(i)&&e.delete(r)}function Pe(e){return[...e.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function Fe(e){if(!e)return null;let t=Ee(e),n=t?.plan;if(!Array.isArray(n))return null;let r=n.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.step!=`string`)return null;let n=t.status===`completed`||t.status===`inProgress`?t.status:`pending`;return{step:t.step,status:n}}).filter(e=>e!==null);return r.length===0?null:{createdAt:e.createdAt,turnId:e.turnId,...t&&`explanation`in t?{explanation:t.explanation}:{},steps:r}}function Ie(e,t){if(t){let n=[...e].filter(e=>e.turnId===t).toSorted((e,t)=>e.updatedAt.localeCompare(t.updatedAt)||e.id.localeCompare(t.id)).at(-1);if(n)return M(n)}let n=[...e].toSorted((e,t)=>e.updatedAt.localeCompare(t.updatedAt)||e.id.localeCompare(t.id)).at(-1);return n?M(n):null}function Le(e){let t=e.threads.find(t=>t.id===e.threadId)?.proposedPlans??[];if(!e.latestTurnSettled){let t=e.latestTurn?.sourceProposedPlan;if(t){let n=e.threads.find(e=>e.id===t.threadId)?.proposedPlans.find(e=>e.id===t.planId);if(n)return M(n)}}return Ie(t,e.latestTurn?.turnId??null)}function Re(e){return e!==null&&e.implementedAt===null}function ze(e,t){let n=[...e].toSorted(Mt),r=Be(n),i=[];for(let e of n)Ge(e,t)&&i.push(Je(e,r));return Ke(i)}function Be(e){let t=new Map;for(let n of e){if(n.kind!==`tool.started`)continue;let e=ht(n.payload&&typeof n.payload==`object`?n.payload:null);e&&!t.has(e)&&t.set(e,n.createdAt)}return t}function Ve(e){let t=e.payload&&typeof e.payload==`object`?e.payload:null;return!t||typeof t.taskId!=`string`?null:t}function He(e){let t=Ve(e);return t!==null&&!x(t)}function Ue(e){if(e.kind!==`task.started`&&e.kind!==`task.progress`&&e.kind!==`task.completed`)return!1;let t=Ve(e);return t!==null&&!x(t)}function We(e){let t=e.payload&&typeof e.payload==`object`?e.payload:null;return t?e.kind===`task.started`||e.kind===`task.progress`||e.kind===`task.updated`||e.kind===`task.completed`?typeof t.agentId==`string`&&t.agentId.trim().length>0||t.timelineBypass===!0?!(e.kind!==`task.updated`&&typeof t.taskId==`string`&&!x(t)):!1:t.timelineBypass===!0||typeof t.agentId==`string`&&t.agentId.trim().length>0:!1}function Ge(e,t){return t&&e.turnId!==t&&!Ue(e)?!1:e.kind===`task.started`?He(e):e.kind===`task.updated`||e.kind===`tool.progress`||We(e)?!1:e.kind!==`tool.started`&&e.kind!==`agent.message`&&e.kind!==`context-window.updated`&&e.kind!==`context-handoff`&&!a(e)&&e.summary!==`Checkpoint captured`&&!qe(e)}function Ke(e){return Xe(e).map(({activityKind:e,collapseKey:t,...n})=>n)}function qe(e){if(e.kind!==`tool.updated`&&e.kind!==`tool.completed`)return!1;let t=e.payload&&typeof e.payload==`object`?e.payload:null;return typeof t?.detail==`string`&&t.detail.startsWith(`ExitPlanMode:`)}function Je(e,t){let n=e.payload&&typeof e.payload==`object`?e.payload:null,r=pt(n),i=At(n),a=jt(n),o=mt(n),s=e.kind===`task.started`||e.kind===`task.progress`||e.kind===`task.completed`,c=s&&typeof n?.summary==`string`&&n.summary.length>0?n.summary:null,l=s&&!c&&typeof n?.detail==`string`&&n.detail.length>0?n.detail:null,u=c||l,d=s?!l&&n&&typeof n.detail==`string`&&n.detail.length>0?R(n.detail).output:null:xt(n,o??e.summary),f=s?null:ht(n),p={id:e.id,createdAt:e.createdAt,label:u||e.summary,tone:e.kind===`task.progress`?`thinking`:e.tone===`approval`?`info`:e.tone,activityKind:e.kind},m=Tt(n),h=Et(n),g=Ct(n),_=wt(n);if(d&&(p.detail=d),r.command&&(p.command=r.command),r.rawCommand&&(p.rawCommand=r.rawCommand),i.length>0&&(p.changedFiles=i),a.length>0&&(p.changedFileStats=a),o&&(p.toolTitle=o),m&&(p.itemType=m),h&&(p.requestKind=h),f){p.toolCallId=f;let e=t.get(f);e&&(p.startedAt=e)}p.lastActivityAt=e.createdAt,g&&(p.output=g),_!==null&&(p.exitCode=_),e.turnId!==null&&(p.turnId=e.turnId),(e.kind===`tool.completed`||e.kind===`task.completed`)&&(p.completed=!0),s&&typeof n?.taskId==`string`&&n.taskId.length>0&&(p.taskId=n.taskId),s&&typeof n?.role==`string`&&n.role.length>0&&(p.agentRole=n.role),s&&(n?.taskType===`local_workflow`||typeof n?.workflowName==`string`&&n.workflowName.length>0)&&(p.isWorkflowCoordinator=!0),s&&n&&x(n)&&(p.isBackgroundTask=!0);let v=tt(p);return v&&(p.collapseKey=v),p}function Ye(e){let t=e.taskId??``,n=t.indexOf(`:wf:`);return n===-1?e.agentSpawn?.workflowId?`wf:${e.agentSpawn.workflowId}`:e.isWorkflowCoordinator?`wf:${t}`:e.turnId?`direct:${e.turnId}`:`direct:task:${t}`:`wf:${t.slice(0,n)}`}function Xe(e){let t=[],n=new Map,r=new Map;for(let i of e){if(i.taskId!==void 0&&!i.isBackgroundTask&&(i.activityKind===`task.started`||i.activityKind===`task.progress`||i.activityKind===`task.completed`)&&i.taskId!==void 0){let e=r.get(i.taskId),a=e??Ye(i);e===void 0&&r.set(i.taskId,a);let o=a.startsWith(`wf:`)?a.slice(3):null,s=n.get(a);if(s!==void 0){let e=t[s],n=e.agentSpawn?.agentTaskIds.includes(i.taskId)?e.agentSpawn.agentTaskIds:[...e.agentSpawn?.agentTaskIds??[],i.taskId];t[s]={...Qe(e,i),id:e.id,createdAt:e.createdAt,turnId:e.turnId??null,...e.taskId===void 0?{}:{taskId:e.taskId},label:e.label,agentSpawn:{workflowId:o,agentTaskIds:n}};continue}n.set(a,t.length),t.push({...i,agentSpawn:{workflowId:o,agentTaskIds:[i.taskId]}});continue}let e=t.at(-1);if(e&&Ze(e,i)){t[t.length-1]=Qe(e,i);continue}t.push(i)}return t}function Ze(e,t){return e.activityKind!==`tool.updated`&&e.activityKind!==`tool.completed`||t.activityKind!==`tool.updated`&&t.activityKind!==`tool.completed`||e.activityKind===`tool.completed`?!1:e.collapseKey!==void 0&&e.collapseKey===t.collapseKey||e.toolCallId!==void 0&&t.toolCallId===void 0&&e.itemType===t.itemType&&j(e.toolTitle??e.label)===j(t.toolTitle??t.label)}function Qe(e,t){let n=$e(e.changedFiles,t.changedFiles),r=et(e.changedFileStats,t.changedFileStats),i=t.detail??e.detail,a=t.command??e.command,o=t.rawCommand??e.rawCommand,s=t.toolTitle??e.toolTitle,c=t.itemType??e.itemType,l=t.requestKind??e.requestKind,u=t.collapseKey??e.collapseKey,d=t.toolCallId??e.toolCallId,f=t.output??e.output,p=t.exitCode??e.exitCode,m=e.startedAt??t.startedAt??e.createdAt,h=t.lastActivityAt??t.createdAt;return{...e,...t,startedAt:m,lastActivityAt:h,...i?{detail:i}:{},...a?{command:a}:{},...o?{rawCommand:o}:{},...n.length>0?{changedFiles:n}:{},...r.length>0?{changedFileStats:r}:{},...s?{toolTitle:s}:{},...c?{itemType:c}:{},...l?{requestKind:l}:{},...u?{collapseKey:u}:{},...d?{toolCallId:d}:{},...f?{output:f}:{},...p===void 0?{}:{exitCode:p}}}function $e(e,t){let n=[...e??[],...t??[]];return n.length===0?[]:[...new Set(n)]}function et(e,t){let n=new Map;for(let r of[...e??[],...t??[]]){let e=n.get(r.path);n.set(r.path,{path:r.path,kind:r.kind??e?.kind,additions:r.additions??e?.additions,deletions:r.deletions??e?.deletions})}return Array.from(n.values())}function tt(e){if(e.taskId&&(e.activityKind===`task.progress`||e.activityKind===`task.completed`))return`task${e.taskId}`;if(e.activityKind!==`tool.updated`&&e.activityKind!==`tool.completed`)return;if(e.toolCallId)return`tool:${e.toolCallId}`;let t=j(e.toolTitle??e.label),n=e.detail?.trim()??``,r=e.itemType??``;if(t.length!==0||n.length!==0||r.length!==0)return[r,t,n].join(``)}function j(e){return e.replace(/\s+(?:complete|completed)\s*$/i,``).trim()}function M(e){return{id:e.id,createdAt:e.createdAt,updatedAt:e.updatedAt,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId}}function N(e){return e&&typeof e==`object`?e:null}function P(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function F(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function nt(e){let t=e.trim();if(t.startsWith(`'`)&&t.endsWith(`'`)||t.startsWith(`"`)&&t.endsWith(`"`)){let e=t.slice(1,-1).trim();return e.length>0?e:t}return t}function rt(e){let t=nt(e);if(t.length===0)return null;let n=t.replace(/\\/g,`/`).split(`/`).at(-1)?.trim()??``;return n.length>0?n.toLowerCase():null}function it(e){let t=e.trim();if(t.length===0)return null;if(t.startsWith(`"`)||t.startsWith(`'`)){let e=t.charAt(0),n=t.indexOf(e,1);return n<=0?null:{executable:t.slice(0,n+1),rest:t.slice(n+1).trim()}}let n=t.search(/\s/);return n<0?{executable:t,rest:``}:{executable:t.slice(0,n),rest:t.slice(n).trim()}}var at=[{executables:[`pwsh`,`pwsh.exe`,`powershell`,`powershell.exe`],wrapperFlagPattern:/(?:^|\s)-command\s+/i},{executables:[`cmd`,`cmd.exe`],wrapperFlagPattern:/(?:^|\s)\/c\s+/i},{executables:[`bash`,`sh`,`zsh`],wrapperFlagPattern:/(?:^|\s)-(?:l)?c\s+/i}];function ot(e){return at.find(t=>t.executables.includes(e))}function st(e,t){let n=t.exec(e);if(!n)return null;let r=e.slice(n.index+n[0].length).trim();if(r.length===0)return null;let i=nt(r);return i.length>0?i:null}function ct(e){let t=it(e);if(!t||t.rest.length===0)return e;let n=rt(t.executable);if(!n)return e;let r=ot(n);return r?st(t.rest,r.wrapperFlagPattern)??e:e}function lt(e){return/[\s"'`]/.test(e)?`"${e.replace(/"/g,`\\"`)}"`:e}function ut(e){let t=P(e);if(t)return t;if(!Array.isArray(e))return null;let n=e.map(e=>P(e)).filter(e=>e!==null);return n.length===0?null:n.map(e=>lt(e)).join(` `)}function dt(e){let t=ut(e);return t?ct(t):null}function ft(e,t){let n=ut(e);return!n||t===null||n===t?null:n}function pt(e){let t=N(e?.data),n=N(t?.item),r=N(n?.result),i=N(n?.input),a=P(e?.itemType),o=P(e?.detail),s=[n?.command,i?.command,r?.command,t?.command,a===`command_execution`&&o?R(o).output:null];for(let e of s){let t=dt(e);if(t)return{command:t,rawCommand:ft(e,t)}}return{command:null,rawCommand:null}}function mt(e){return P(e?.title)}function ht(e){return P(N(e?.data)?.toolCallId)}function gt(e){return e.replace(/\s+/g,` `).trim()}function _t(e,t=84){return e.length<=t?e:`${e.slice(0,t-1).trimEnd()}…`}function I(e){let t=P(e);return t?j(gt(t)).toLowerCase():null}function vt(e){let t=e.split(/\r?\n/u).map(e=>gt(e)).filter(e=>e.length>0),n=t.find(e=>e!=="```");return n?_t(n):t.length>1?`${t.length.toLocaleString()} lines`:null}function yt(e){let t=N(N(e?.data)?.rawOutput);if(!t)return null;let n=F(t.totalFiles);if(n!==null){let e=t.truncated===!0?`+`:``;return`${n.toLocaleString()} file${n===1?``:`s`}${e}`}let r=P(t.content);if(r)return vt(r);let i=P(t.stdout);return i?vt(i):null}function bt(e,t){let n=P(N(e?.data)?.kind)?.toLowerCase(),r=P(e?.title??t)?.toLowerCase();return Tt(e)===`command_execution`||n===`execute`||r===`terminal`||r===`ran command`}function xt(e,t){let n=P(e?.detail),r=n?R(n).output:null,i=I(t),a=I(r);if(r&&i!==a)return r;if(bt(e,t))return null;let o=yt(e);return o&&I(o)!==i?o:null}function L(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n,r=P(e.text);if(r){t.push(r);continue}let i=P(N(e.content)?.text);i&&t.push(i)}return t.length>0?t.join(`
|
|
2
2
|
`):null}function St(e){if(!e)return null;let t=P(e.type);if(t===`commandExecution`)return P(e.aggregatedOutput);if(t===`mcpToolCall`){let t=P(N(e.error)?.message);if(t)return t;let n=N(e.result);if(n){let e=L(n.content);if(e)return e;let t=n.structuredContent;if(t&&typeof t==`object`)try{return JSON.stringify(t,null,2)}catch{return null}}return null}if(t===`dynamicToolCall`)return L(e.contentItems);if(t===`fileChange`){let t=e.changes;if(Array.isArray(t)){let e=t.map(e=>!e||typeof e!=`object`?null:P(e.diff)).filter(e=>e!==null);if(e.length>0)return e.join(`
|
|
3
3
|
|
|
4
4
|
`)}return null}return null}function Ct(e){let t=N(e?.data);if(!t)return null;let n=St(N(t.item));if(n)return n;let r=N(t.rawOutput);if(r){let e=P(r.stdout);if(e)return e;let t=P(r.content);if(t)return t}return L(t.content)||null}function wt(e){let t=N(e?.data);if(!t)return null;let n=N(t.item);if(n){let e=F(n.exitCode);if(e!==null&&Number.isInteger(e))return e}let r=F(N(t.rawOutput)?.exitCode);if(r!==null&&Number.isInteger(r))return r;let i=P(e?.detail);return i?R(i).exitCode??null:null}function R(e){let t=e.trim(),n=/^(?<output>[\s\S]*?)(?:\s*<exited with exit code (?<code>\d+)>)\s*$/i.exec(t);if(!n?.groups)return{output:t.length>0?t:null};let r=Number.parseInt(n.groups.code??``,10),i=n.groups.output?.trim()??``;return{output:i.length>0?i:null,...Number.isInteger(r)?{exitCode:r}:{}}}function Tt(e){if(typeof e?.itemType==`string`&&n(e.itemType))return e.itemType}function Et(e){return e?.requestKind===`command`||e?.requestKind===`file-read`||e?.requestKind===`file-change`?e.requestKind:we(e?.requestType)??void 0}function z(e,t,n){let r=P(n);!r||t.has(r)||(t.add(r),e.push(r))}function Dt(e){for(let t of[`path`,`filePath`,`relativePath`,`filename`,`newPath`,`oldPath`]){let n=P(e[t]);if(n)return n}return null}function Ot(e){if(!(typeof e!=`number`||!Number.isFinite(e)))return Math.max(0,Math.trunc(e))}function kt(e){let t=Dt(e);if(!t)return null;let n=Ot(e.additions??e.insertions??e.addedLines??e.additionLines),r=Ot(e.deletions??e.deletedLines??e.deletionLines??e.removedLines??e.removals);return n===void 0&&r===void 0?null:{path:t,...n===void 0?{}:{additions:n},...r===void 0?{}:{deletions:r}}}function B(e,t,n,r){if(r>4||t.length>=12)return;if(Array.isArray(e)){for(let i of e)if(B(i,t,n,r+1),t.length>=12)return;return}let i=N(e);if(i){z(t,n,i.path),z(t,n,i.filePath),z(t,n,i.relativePath),z(t,n,i.filename),z(t,n,i.newPath),z(t,n,i.oldPath);for(let e of[`item`,`result`,`input`,`data`,`changes`,`files`,`edits`,`patch`,`patches`,`operations`])if(e in i&&(B(i[e],t,n,r+1),t.length>=12))return}}function V(e,t,n,r){if(r>4||t.length>=12)return;if(Array.isArray(e)){for(let i of e)if(V(i,t,n,r+1),t.length>=12)return;return}let i=N(e);if(!i)return;let a=kt(i);a&&!n.has(a.path)&&(n.add(a.path),t.push(a));for(let e of[`item`,`result`,`input`,`data`,`changes`,`files`,`edits`,`patch`,`patches`,`operations`])if(e in i&&(V(i[e],t,n,r+1),t.length>=12))return}function At(e){let t=[],n=new Set;return B(N(e?.data),t,n,0),t}function jt(e){let t=[],n=new Set;return V(N(e?.data),t,n,0),t}function Mt(e,t){if(e.sequence!==void 0&&t.sequence!==void 0){if(e.sequence!==t.sequence)return e.sequence-t.sequence}else if(e.sequence!==void 0)return 1;else if(t.sequence!==void 0)return-1;let n=e.createdAt.localeCompare(t.createdAt);if(n!==0)return n;let r=Nt(e.kind)-Nt(t.kind);return r===0?e.id.localeCompare(t.id):r}function Nt(e){return e.endsWith(`.started`)||e===`tool.started`?0:e.endsWith(`.progress`)||e.endsWith(`.updated`)?1:e.endsWith(`.completed`)||e.endsWith(`.resolved`)?2:1}function Pt(e){return{id:`context-compaction:${e.id}`,activityId:e.id,createdAt:e.createdAt,label:e.summary,turnId:e.turnId}}function Ft(e,t){let n=[...e].toSorted(Mt),r=Be(n),i=t??void 0,o=new Map,c=new Map,l=[],u=[],d=[],f=!1,p=null,m=null;for(let e of n){let t=Ee(e);Ae(o,e,t),Ne(c,e,t),e.kind===`turn.plan.updated`&&(p=e,i&&e.turnId===i&&(m=e)),i&&!f&&e.turnId===i&&e.tone===`tool`&&(f=!0),a(e)&&u.push(Pt(e));let n=s(e);n&&d.push(n),Ge(e,i)&&l.push(Je(e,r))}return{workLogEntries:Ke(l),contextCompactionEntries:u,contextHandoffEntries:d,latestTurnHasToolActivity:f,pendingApprovals:je(o),pendingUserInputs:Pe(c),activePlan:Fe(m??p)}}function It(e){let t=[...e].toSorted((e,t)=>e.completedAt.localeCompare(t.completedAt)),n={};for(let e=0;e<t.length;e+=1){let r=t[e];r&&(n[r.turnId]=e+1)}return n}function Lt(e){return!e||e.status===`closed`?`disconnected`:e.status===`connecting`?`connecting`:e.status===`running`?`running`:`ready`}var H=new Set([`agent`,`subagent`,`subagent task`,`task`,`tool call`]);function U(e){return e&&typeof e==`object`?e:null}function W(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function G(e){return Array.isArray(e)?e.flatMap(e=>{let t=W(e);return t?[t]:[]}):[]}function Rt(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0?e:null}function K(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`agent`}function q(e){return e.replace(/[_-]+/g,` `).replace(/\s+/g,` `).trim().replace(/\b\w/g,e=>e.toUpperCase())}function zt(e){return U(e.payload)}function Bt(e){let t=U(e?.data);return U(t?.input)||U(U(t?.state)?.input)}function J(e){let t=U(U(e?.data)?.item);return t?.type===`collabAgentToolCall`?t:null}function Y(e){return U(e?.subagent)}function Vt(e){return U(e?.metadata)}function Ht(e){return`subagent:${e}`}function Ut(e){let t=U(e?.data),n=U(t?.state),r=J(e),i=U(e?.providerRefs);return W(e?.providerItemId)??W(i?.providerItemId)??W(r?.id)??W(t?.toolCallId)??W(t?.callID)??W(t?.callId)??W(n?.callID)??W(n?.callId)??null}function Wt(e){return W(Y(e)?.subagentId)??W(e?.subagentId)??W(e?.taskId)}function Gt(e){let t=Y(e),n=[W(t?.providerThreadId),...G(t?.providerThreadIds),W(e?.providerThreadId)].filter(e=>e!==null);if(n.length>0)return[...new Set(n)];let r=J(e);return r?G(r.receiverThreadIds):[]}function Kt(e){let t=Y(e);return[W(t?.providerSessionId),...G(t?.providerSessionIds),W(e?.providerSessionId)].filter(e=>e!==null)}function qt(e){return W(e?.lastToolName)??W(Y(e)?.providerTaskId)??W(J(e)?.tool)}function Jt(e){return W(Y(e)?.origin)}function Yt(e){return W(Y(e)?.capability)}function Xt(e){if(!e)return null;let t=e.indexOf(`:`);if(t<=0||t>28)return null;let n=e.slice(0,t).trim();if(!/^[\w -]+$/.test(n))return null;let r=n.toLowerCase();return H.has(r)?null:n}function Zt(e,t){return e?W(RegExp(`(?:^|\\n)\\s*${t}\\s*:\\s*([^\\n]+)`,`i`).exec(e)?.[1]):null}function Qt(e){let t=Zt(e,`role`)?.replace(/[.,;:]+$/,``).trim();return t?q(t):null}function X(e){return e?W(/(?:^|\n)\s*focus(?:\s+on)?\s*:?\s*([^\n]+)/i.exec(e)?.[1])??Zt(e,`task`):null}function Z(e,t){let n=Bt(e),r=U(e?.data),i=U(r?.state),a=J(e),o=Y(e),s=Vt(o),c=[o?.label,o?.displayName,o?.role,o?.name,s?.label,s?.displayName,s?.role,s?.name,s?.title,e?.role,e?.title,n?.subagent_type,n?.agent_type,n?.agent_role,n?.agent,n?.name,r?.agentName,i?.agentName,Qt(W(a?.prompt)),Qt(t),Xt(t),$t(t)];for(let e of c){let t=W(e);if(!t)continue;let n=t.toLowerCase();if(!H.has(n))return q(t)}return null}function $t(e){if(!e)return null;let t=W(/\byou are an?\s+([a-z][a-z0-9 _-]{1,40}?)(?:[,.!?;:\n]|\s+who\s+|\s+tasked\s+|\s+responsible\s+|$)/i.exec(e)?.[1]);if(!t)return null;let n=t.toLowerCase();return H.has(n)?null:q(t)}function en(e){let t=U(e?.agentsStates);if(!t)return null;for(let e of Object.values(t)){let t=W(U(e)?.message);if(t)return t}return null}function tn(e,t){let n=Bt(e),r=J(e),i=Y(e),a=Vt(i),o=W(r?.prompt)??en(r)??W(e?.summary)??W(e?.detail)??W(i?.description)??W(i?.detail)??W(a?.description)??W(a?.detail)??W(n?.description)??W(n?.prompt)??W(n?.task)??W(e?.detail)??t;return X(o)??o}function nn(e){return e?.itemType===`collab_agent_tool_call`||e?.itemType===`subagent`}function rn(e,t){return e.kind.startsWith(`task.`)&&t?.agentKind===`agent`}function an(e){switch(e){case`pendingInit`:case`running`:return`running`;case`completed`:case`shutdown`:return`finished`;case`errored`:case`notFound`:return`failed`;case`interrupted`:return`interrupted`;default:return null}}function on(e){let t=J(e),n=U(t?.agentsStates);if(n&&Object.keys(n).length>0){let e=!1,t=!1,r=!1;for(let i of Object.values(n)){let n=an(W(U(i)?.status));if(n===`failed`)return`failed`;n===`interrupted`&&(r=!0),n===`running`&&(e=!0),n===`finished`&&(t=!0)}if(e)return`running`;if(r)return`interrupted`;if(t)return`finished`}let r=W(t?.status);return r===`failed`?`failed`:r===`completed`?`finished`:r===`inProgress`?`running`:null}function sn(e,t){if(J(t)){let e=on(t);if(e)return e}return t?.status===`starting`||t?.status===`pending`||t?.status===`running`||t?.status===`waiting`?`running`:t?.status===`failed`?`failed`:t?.status===`interrupted`?`interrupted`:t?.status===`completed`||t?.status===`stopped`||t?.status===`cancelled`?`finished`:t?.status===`idle`?`idle`:t?.status===`inProgress`||e.kind===`tool.started`||e.kind===`tool.updated`?`running`:e.kind===`tool.completed`?e.tone===`error`?`failed`:`finished`:e.kind===`task.started`?`running`:e.kind===`task.progress`?t?.usageSnapshot===!0?null:`running`:null}function cn(e){return e.tone===`error`||e.exitCode!==void 0&&e.exitCode!==0?`failed`:`finished`}function ln(e){return e.canonicalSubagentId?Ht(e.canonicalSubagentId):e.toolCallId?`subagent:${K(e.toolCallId)}`:e.name&&e.detail?`subagent:${K(`${e.name}:${e.detail}`)}`:e.detail?`subagent:${K(e.detail)}`:e.name?`subagent:${K(e.name)}`:`subagent:${K(e.fallbackId)}`}function un(e,t){let n=e.sequence,r=t.sequence;if(n!==void 0&&r!==void 0&&n!==r)return n-r;let i=e.createdAt.localeCompare(t.createdAt);return i===0?e.id.localeCompare(t.id):i}function Q(e,t,n=!1){return(e===`finished`||e===`failed`||e===`interrupted`)&&!n?e:t===`failed`?`failed`:e===`failed`?e:t}function dn(e,t){for(let n of t)e.add(n)}function fn(e,t){for(let n of t)e.add(n)}function pn(e){let t=e.detail??e.output??null,n=X(t)??t;return ln({canonicalSubagentId:null,toolCallId:null,name:Z(null,t??e.toolTitle??e.label),detail:n??e.label,fallbackId:e.id})}function mn(e,t){if(!t)return null;for(let n of e.values())if(n.providerThreadIds.has(t))return n;return null}function hn(e){if(e.kind!==`agent.message`&&!e.kind.startsWith(`subagent.message`))return null;let t=zt(e),n=Y(t),r=U(t?.providerRefs),i=Wt(t),a=W(t?.text)??W(t?.delta)??W(t?.summary);return a?{id:W(t?.providerItemId)??W(r?.providerItemId)??e.id,text:a,createdAt:e.createdAt,providerThreadId:W(t?.providerThreadId)??W(n?.providerThreadId)??W(t?.providerSessionId)??W(n?.providerSessionId),subagentKey:i?Ht(i):null}:null}function gn(e,t){for(let n of e.values())if(t.detail&&n.detail===t.detail&&(!t.name||!n.name||t.name===n.name)||t.name&&t.detail&&n.name===t.name&&n.detail===null)return n;return null}function _n(e){let t=e?.replace(/[_\s-]+/g,``).toLocaleLowerCase();return t===`spawnagent`||t===`spawnagents`||t===`spawn`}function vn(e){return _n(W(e.tool))}function $(e,t,n){let r=U(n.agentsStates);if(r)for(let[n,i]of Object.entries(r)){let r=mn(e,n);if(!r)continue;let a=U(i),o=an(W(a?.status)),s=W(a?.message);o&&(r.status=Q(r.status,o)),s&&r.messages.at(-1)?.text!==s&&r.messages.push({id:`${t.id}:${n}`,text:s,createdAt:t.createdAt,providerThreadId:n}),(o||s)&&(r.updatedAt=t.createdAt)}}function yn(e,t){let n=new Map,r=new Set,i=new Map,a=[...e].toSorted(un);for(let e of a){let t=zt(e);if(!nn(t)&&!rn(e,t))continue;let a=J(t);if(a&&!vn(a)){r.add(e.id),$(n,e,a);continue}let o=t?.usageSnapshot===!0?null:tn(t,W(e.summary)),s=Z(t,o),c=W(t?.role),l=Wt(t),u=Gt(t),d=Kt(t),f=Jt(t),p=Yt(t),m=qt(t),h=ln({canonicalSubagentId:l,toolCallId:Ut(t),name:s,detail:o,fallbackId:e.id}),g=n.get(h),_=sn(e,t);if(i.set(e.id,h),g){g.name=c?q(c):g.name??s,g.detail=o??g.detail,g.origin=g.origin??f,g.capability=g.capability??p,g.tool=g.tool??m,dn(g.providerThreadIds,u),fn(g.providerSessionIds,d);let r=Rt(t?.attempt),i=r!==null&&g.attempt!==null&&r>g.attempt;r!==null&&(g.attempt=r),_&&(g.status=Q(g.status,_,i)),g.updatedAt=e.createdAt,a&&$(n,e,a);continue}n.set(h,{key:h,name:s,status:_??(rn(e,t)&&t?.usageSnapshot===!0?`running`:`idle`),origin:f,capability:p,tool:m,detail:o,providerThreadIds:new Set(u),providerSessionIds:new Set(d),attempt:Rt(t?.attempt),startedAt:e.createdAt,updatedAt:e.createdAt,entries:[],messages:[]}),a&&$(n,e,a)}for(let e of a){let t=hn(e);if(!t)continue;let r=t.subagentKey?n.get(t.subagentKey)??null:mn(n,t.providerThreadId);if(!r)continue;let{subagentKey:i,...a}=t;r.messages.push(a),r.updatedAt=e.createdAt}for(let t of ze(e,void 0)){if(t.itemType!==`collab_agent_tool_call`||r.has(t.id))continue;let e=t.detail??t.output??null,a=X(e)??e,o=Z(null,e??t.toolTitle??t.label),s=pn(t),c=i.get(t.id),l=(c?n.get(c):void 0)??n.get(s)??gn(n,{name:o,detail:a}),u=cn(t);if(l){l.entries.push(t),_n(l.tool)||(l.status=Q(l.status,u)),l.updatedAt=t.createdAt;continue}n.set(s,{key:s,name:o,status:u,origin:null,capability:null,tool:null,detail:a,providerThreadIds:new Set,providerSessionIds:new Set,attempt:null,startedAt:t.createdAt,updatedAt:t.createdAt,entries:[t],messages:[]})}let o=[...n.values()].toSorted((e,t)=>e.startedAt.localeCompare(t.startedAt));if(t?.sessionLive===!1||t?.parentTurnState===`interrupted`||t?.parentTurnState===`error`)for(let e of o)e.status===`running`&&(e.status=`interrupted`);let s=v(o.map(e=>({key:e.key,role:e.name,taskLabel:e.detail})));return o.map(e=>{let t=s.get(e.key);return{key:e.key,name:t?.codename??e.key,avatarKey:t?.avatarKey??e.key,role:t?.role??e.name,status:e.status,origin:e.origin,capability:e.capability,tool:e.tool,detail:e.detail,providerThreadIds:[...e.providerThreadIds],providerSessionIds:[...e.providerSessionIds],startedAt:e.startedAt,updatedAt:e.updatedAt,entries:e.entries,messages:e.messages.toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}})}function bn(e,t){return t?e.find(e=>e.key===t)??null:null}export{ve as _,Lt as a,Le as c,Re as d,It as f,_e as g,fe as h,Ce as i,be as l,he as m,bn as n,Ft as o,Se as p,ye as r,Ie as s,yn as t,xe as u,v,p as y};
|
package/dist/client/assets/{sidebarProjectFolders-CGVDJ0ZT.js → sidebarProjectFolders-cnmz3B_-.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{_ as r,g as i,n as a,v as o,y as s}from"./env-B4arEvJg.js";import{W as c,tt as l}from"./src-Vf4LVnMX.js";import{C as u,H as d,Jt as f,Sn as p,T as m,Vn as h,W as g,b as _,bn as v,f as y,hn as b,vn as x,x as S,zt as C}from"./runtime-DfGHeCnR.js";import{a as w}from"./primary-OskAInOO.js";import{Ct as T,It as E,X as D,i as O,q as k}from"./composerDraftStore-CdJJZe42.js";import{C as A,F as j,U as M,x as N}from"./useHandleNewThread-Bvz-DKgn.js";import{A as ee,F as te,V as ne,c as P,p as re,v as ie}from"./ThreadStatusIndicators-CL0KGLlj.js";import{n as ae,r as F,t as I}from"./uiStateStore-B6pjzSjj.js";import{f as L}from"./useRenderElement-DchFnsR8.js";import{F as oe,N as se,a as ce,b as le,d as ue,i as R,j as de,n as fe,r as pe,t as me,u as he,v as ge,x as _e,y as ve}from"./WorkItemsTab-BDAeQe4D.js";import{i as z}from"./toast-CcSCAm4B.js";import{t as ye}from"./external-link-fbvzDWM7.js";import{t as B}from"./folder-open-GqwNTbSV.js";import{t as be}from"./git-pull-request-DIYyPsg5.js";import{t as V}from"./settings-2-CZQg_KUQ.js";import{t as xe}from"./sparkles-CAf3oJ5S.js";import{t as H}from"./triangle-alert-RL_T3KLo.js";import{i as U,t as W}from"./utils-BofFIn5Y.js";import{p as Se}from"./projectPaths-SSsIvt0g.js";import{a as Ce,o as we,p as Te,t as Ee}from"./keybindings-CWJ7E9ZI.js";import{t as De}from"./switch-BTGo9Yip.js";import{t as Oe}from"./input-CHEwW3oH.js";import{t as ke}from"./scroll-area-Drsa8bNB.js";import{a as Ae,c as je,d as G,f as K,i as q,r as Me,u as J}from"./Icons-CT3nd2MA.js";import{t as Ne}from"./ProjectFavicon-BhQnkxbx.js";import{t as Y}from"./button-BAbJxRzt.js";import{t as X}from"./toastHelpers-CSQRKo4F.js";import"./types-Bpr2pdhU.js";import{a as Pe,c as Fe,i as Ie,o as Le,r as Re,s as ze,t as Be}from"./dialog-DQsYchqu.js";import{t as Ve}from"./textarea-RFPODxWW.js";import{a as He,i as Ue,o as We,s as Ge,t as Ke}from"./select-BYbVr-yg.js";import{g as qe,o as Je,p as Ye,r as Xe,t as Ze}from"./useAtlassian-DC0XOw4u.js";import"./providerInstances-BJcfB_9E.js";var Qe=L(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),$e=L(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),et=new Set([`idle`,`in_progress`,`review`,`done`]),tt=new Set([`main`,`branch`,`pr`,`issue`,`manual`]);function nt(e,t){let n=[...e],i=new Set(e.map(e=>s(r(e.environmentId,e.id))));for(let e of t){let t=s(r(e.environmentId,e.id));i.has(t)||(i.add(t),n.push(e))}return n}function rt(e){let t=e.project.projectKey,n=new Map(e.project.memberProjects.map(e=>[o(i(e.environmentId,e.id)),e])),a={...e.project,id:t},c=e.threads.map(a=>st({lastVisitedAt:e.lastVisitedAtByThreadKey?.get(s(r(a.environmentId,a.id)))??null,logicalProjectId:t,sourceProjectCwd:n.get(o(i(a.environmentId,a.projectId)))?.cwd??e.project.cwd,thread:a})),l=lt(e.project,t,e.worktrees??[]);return{project:a,threads:c,worktrees:[...ht({logicalProjectId:t,project:e.project,threads:c}),...l]}}function it(e){let t=at(e),n=e.projectKey,r=[],i=[];return a=>{let o=[];for(let[e,n]of Object.entries(a.draftThreadsByThreadKey))ot(n,t)&&o.push([e,n]);return o.length===r.length&&o.every((e,t)=>{let n=r[t];return n?.[0]===e[0]&&n[1]===e[1]})?i:(r=o,i=o.map(([t,r])=>ct({draftId:t,logicalProjectId:n,sourceProjectCwd:wt(e,r),draftThread:r})),i)}}function at(e){return new Set(e.memberProjects.map(e=>o(i(e.environmentId,e.id))))}function ot(e,t){return e.promotedTo==null&&t.has(o(i(e.environmentId,e.projectId)))}function st(e){let t=e.thread,n=St(t.statusPill)||t.statusPill===null?t.statusPill:j({thread:{...e.thread,...e.lastVisitedAt?{lastVisitedAt:e.lastVisitedAt}:{}}});return{...e.thread,projectId:e.logicalProjectId,manualStatusBucket:_t(t.manualStatusBucket)??_t(t.manualBucket)??_t(t.statusBucket)??null,sourceProjectId:e.thread.projectId,sourceProjectCwd:e.sourceProjectCwd,statusPill:n,worktreeId:typeof t.worktreeId==`string`?t.worktreeId:null}}function ct(e){return{archivedAt:null,settledOverride:null,settledAt:null,branch:e.draftThread.branch,createdAt:e.draftThread.createdAt,draftId:e.draftId,environmentId:e.draftThread.environmentId,hasActionableProposedPlan:!1,hasPendingApprovals:!1,hasPendingUserInput:!1,id:e.draftThread.threadId,interactionMode:e.draftThread.interactionMode??`default`,tokenMode:e.draftThread.tokenMode??`balanced`,latestTurn:null,latestUserMessageAt:null,manualStatusBucket:null,projectId:e.logicalProjectId,session:null,sourceProjectId:e.draftThread.projectId,sourceProjectCwd:e.sourceProjectCwd,statusPill:null,title:`New thread`,updatedAt:e.draftThread.createdAt,worktreePath:e.draftThread.worktreePath}}function lt(e,t,n){let r=e.memberProjects.find(t=>t.id===e.id&&t.environmentId===e.environmentId)??e.memberProjects[0];if(!r)return[];let a=new Map(e.memberProjects.map(e=>[o(i(e.environmentId,e.id)),e])),s=n.map(e=>({value:e,fallbackProject:a.get(o(i(e.environmentId,e.projectId)))??r})),c=[e,...e.memberProjects];for(let e of c){let t=e;if(Array.isArray(t.worktrees))for(let n of t.worktrees)s.push({value:n,fallbackProject:`physicalProjectKey`in e?e:r});if(Array.isArray(t.sidebarWorktrees))for(let n of t.sidebarWorktrees)s.push({value:n,fallbackProject:`physicalProjectKey`in e?e:r})}return s.flatMap(({value:e,fallbackProject:n},r)=>{if(!e||typeof e!=`object`)return[];let s=e,c=yt(s.branch);if(!c)return[];let l=yt(s.environmentId)??n.environmentId,u=yt(s.projectId)??n.id,d=a.get(o(i(l,u)))??n,f=bt(s.worktreePath),p=vt(s.origin)??(f===null?`main`:`manual`),m=yt(s.worktreeId)??yt(s.id)??gt({branch:c,fallbackIndex:r,environmentId:l,origin:p,sourceProjectId:u,worktreePath:f});return[{archivedAt:bt(s.archivedAt),branch:c,environmentId:l,issueNumber:xt(s.issueNumber),manualPosition:xt(s.manualPosition),origin:p,prNumber:xt(s.prNumber),prState:ut(s.prState),prIsDraft:mt(s.prIsDraft),issueState:dt(s.issueState),workItemProvider:ft(s.workItemProvider),workItemKey:bt(s.workItemKey),workItemTitle:bt(s.workItemTitle),workItemState:pt(s.workItemState),workItemStateName:bt(s.workItemStateName),workItemUrl:bt(s.workItemUrl),projectId:t,sourceProjectCwd:d.cwd,sourceProjectId:u,title:bt(s.title),updatedAt:yt(s.updatedAt),worktreeId:m,worktreePath:f}]})}function ut(e){return e===`open`||e===`closed`||e===`merged`?e:null}function dt(e){return e===`open`||e===`closed`?e:null}function ft(e){return e===`jira`?e:null}function pt(e){return e===`open`||e===`in_progress`||e===`done`||e===`closed`||e===`unknown`?e:null}function mt(e){return typeof e==`boolean`?e:null}function ht(e){return e.project.memberProjects.map((t,n)=>{let r=e.threads.filter(e=>e.environmentId===t.environmentId&&e.sourceProjectId===t.id&&e.worktreePath===null).toSorted((e,t)=>Ct(e.updatedAt??e.createdAt,t.updatedAt??t.createdAt))[0];return{archivedAt:null,branch:r?.branch??`main`,environmentId:t.environmentId,manualPosition:n,origin:`main`,projectId:e.logicalProjectId,sourceProjectCwd:t.cwd,sourceProjectId:t.id,title:null,updatedAt:r?.updatedAt??r?.createdAt??t.updatedAt,worktreeId:`main:${t.environmentId}:${t.id}`,worktreePath:null}})}function gt(e){let t=e.worktreePath??e.branch;return`${e.origin}:${e.environmentId}:${e.sourceProjectId}:${t||e.fallbackIndex}`}function _t(e){return typeof e==`string`&&et.has(e)?e:null}function vt(e){return typeof e==`string`&&tt.has(e)?e:null}function yt(e){return typeof e==`string`&&e.length>0?e:void 0}function bt(e){return typeof e==`string`&&e.length>0?e:null}function xt(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function St(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.label==`string`&&typeof t.colorClass==`string`&&typeof t.dotClass==`string`&&typeof t.pulse==`boolean`}function Ct(e,t){let n=e?Date.parse(e):-1/0,r=t?Date.parse(t):-1/0,i=Number.isNaN(n)?-1/0:n;return(Number.isNaN(r)?-1/0:r)-i}function wt(e,t){return e.memberProjects.find(e=>e.environmentId===t.environmentId&&e.id===t.projectId)?.cwd??e.cwd}var Z=n();function Tt(e){let t=tn(Et(e.threads),e=>e.projectId),n=tn(e.worktrees??[],e=>String(e.projectId));return{projects:e.projects.map(r=>{let i=t.get(r.id)??[],a=i.filter(e=>e.draftId!==void 0&&e.archivedAt===null),o=i.filter(e=>e.draftId===void 0),s=Qt(r,e.isGitRepoByProjectId),c=o.filter(e=>e.archivedAt!==null);if(!s)return{archivedSessions:c,archivedWorktrees:[],draftSessions:a,flatSessions:i.filter(e=>e.archivedAt===null),isGitRepo:s,project:r,worktrees:[]};let l=jt(r,Vt({project:r,threads:o,worktrees:n.get(r.id)??[]})),u=l.worktrees;return{archivedSessions:c,archivedWorktrees:qt(u).filter(e=>e.archivedAt!=null).map(t=>Ot({diffStats:Zt(e,t.worktreeId),nowMs:e.nowMs,threads:o.filter(e=>At(e,t,r,l)),worktree:t})),flatSessions:[],draftSessions:a,isGitRepo:s,project:r,worktrees:qt(u).filter(e=>e.archivedAt==null).map(t=>Ot({diffStats:Zt(e,t.worktreeId),nowMs:e.nowMs,threads:o.filter(e=>At(e,t,r,l)),worktree:t}))}})}}function Et(e){let t=new Set;return e.filter(e=>{let n=JSON.stringify([e.environmentId,e.id]);return!t.has(n)&&(t.add(n),!0)})}function Dt(e){let t=(0,Z.c)(8),{diffStatsByWorktreeId:n,diffStatsByWorktreeIdRecord:r,isGitRepoByProjectId:i,nowMs:a,projects:o,threads:s,worktrees:c}=e,l;return t[0]!==n||t[1]!==r||t[2]!==i||t[3]!==a||t[4]!==o||t[5]!==s||t[6]!==c?(l=Tt({diffStatsByWorktreeId:n,diffStatsByWorktreeIdRecord:r,isGitRepoByProjectId:i,nowMs:a??Date.now(),projects:o,threads:s,worktrees:c}),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l):l=t[7],l}function Ot(e){let t={done:[],idle:[],in_progress:[],review:[]},n=[],r=[],i=[];for(let a of e.threads){if(a.archivedAt!==null){r.push(a);continue}i.push(a);let e=kt(a);n.push(e),t[e].push(a)}return{aggregateStatus:N(n),archivedSessions:r,buckets:t,diffStats:e.diffStats,sessions:i,shouldSuggestArchive:M({buckets:n,latestUpdatedAt:Xt(e.threads),nowMs:e.nowMs}),worktree:e.worktree}}function kt(e){return A({manualBucket:e.manualStatusBucket??null,statusPill:e.statusPill??j({thread:e})})}function At(e,t,n,r){let i=Ut(e,n),a=Wt(t,n);if(i!==null&&r.directoryKeys.has(i))return i===a;let o=e.worktreeId==null?void 0:r.nodeIdByWorktreeId.get(e.worktreeId);return o===void 0?i!==null&&a!==null?i===a:e.worktreeId!=null&&e.worktreeId===t.worktreeId?!0:e.worktreePath!==null||t.worktreePath!==null?!1:t.origin===`main`?e.branch===null||e.branch===t.branch||Kt(e.branch):e.branch===t.branch:o===t.worktreeId}function jt(e,t){let n=new Map,r=new Map;for(let i of t){let t=Mt(e,i),a=n.get(t);r.set(i.worktreeId,t),n.set(t,a?Pt(a,i):i)}let i=new Set,a=new Map;for(let[e,t]of r){let r=n.get(t);r&&a.set(e,r.worktreeId)}for(let t of n.values()){let n=Wt(t,e);n!==null&&i.add(n)}return{directoryKeys:i,nodeIdByWorktreeId:a,worktrees:[...n.values()]}}function Mt(e,t){return Wt(t,e)??`${t.projectId}:${t.origin}:${t.worktreeId}:${t.branch}`}function Nt(e){return Se(e)}function Pt(e,t){let n=Ft(e,t),r=e.origin===`main`||t.origin!==`main`?e.origin:t.origin;return{...e,archivedAt:zt(e.archivedAt,t.archivedAt),branch:n.branch,environmentId:n.environmentId??e.environmentId??t.environmentId,manualPosition:Bt(e.manualPosition,t.manualPosition),origin:r,prNumber:e.prNumber??t.prNumber??null,issueNumber:e.issueNumber??t.issueNumber??null,prState:n.prState??null,prIsDraft:n.prIsDraft??null,issueState:n.issueState??null,workItemProvider:e.workItemProvider??t.workItemProvider??null,workItemKey:e.workItemKey??t.workItemKey??null,workItemTitle:e.workItemTitle??t.workItemTitle??null,workItemState:n.workItemState??null,workItemStateName:n.workItemStateName??null,workItemUrl:e.workItemUrl??t.workItemUrl??null,sourceProjectCwd:n.sourceProjectCwd??e.sourceProjectCwd??t.sourceProjectCwd,sourceProjectId:n.sourceProjectId??e.sourceProjectId??t.sourceProjectId,title:It(e,t),updatedAt:Yt(e.updatedAt,t.updatedAt),worktreeId:Lt(e,t),worktreePath:r===`main`?null:e.worktreePath??t.worktreePath}}function Ft(e,t){let n=e.updatedAt?Date.parse(e.updatedAt):-1/0,r=t.updatedAt?Date.parse(t.updatedAt):-1/0;return Number.isNaN(r)||r<=n?e:t}function It(e,t){if(e.title==null)return t.title??null;if(t.title==null)return e.title;let n=e.updatedAt?Date.parse(e.updatedAt):-1/0,r=t.updatedAt?Date.parse(t.updatedAt):-1/0;return Number.isNaN(n)?t.title:Number.isNaN(r)?e.title:r>n?t.title:e.title}function Lt(e,t){let n=Rt(e.worktreeId),r=Rt(t.worktreeId);return n&&!r?t.worktreeId:r&&!n||e.origin===`main`?e.worktreeId:t.origin===`main`?t.worktreeId:e.worktreeId}function Rt(e){return/^(main|branch|pr|issue|manual):/.test(e)}function zt(e,t){return e==null||t==null?null:Yt(e,t)}function Bt(e,t){return e==null?t:t==null?e:Math.min(e,t)}function Vt(e){let t=new Set(e.worktrees.map(e=>e.worktreeId));return[...e.worktrees,...e.threads.filter(e=>e.worktreeId==null||!t.has(e.worktreeId)).map(t=>Ht(e.project,t))]}function Ht(e,t){let n=t.branch??`main`,r=t.worktreePath===null&&Kt(t.branch)?`main`:`branch`;return{archivedAt:null,branch:n,environmentId:t.environmentId,manualPosition:r===`main`?0:null,origin:r,projectId:e.id,sourceProjectCwd:t.sourceProjectCwd??e.cwd,sourceProjectId:t.sourceProjectId??t.projectId,updatedAt:t.updatedAt??t.createdAt,worktreeId:r===`main`?`main:${e.environmentId}:${e.id}`:`branch:${e.environmentId}:${e.id}:${t.worktreePath?Nt(t.worktreePath):n}`,worktreePath:t.worktreePath}}function Ut(e,t){return Gt({directory:e.worktreePath??e.sourceProjectCwd??t.cwd,environmentId:e.environmentId})}function Wt(e,t){return Gt({directory:e.worktreePath??e.sourceProjectCwd??t.cwd,environmentId:e.environmentId??t.environmentId})}function Gt(e){let t=Nt(e.directory);return t.length===0?null:JSON.stringify([e.environmentId,t])}function Kt(e){return e==null||e===`main`||e===`master`||e===`trunk`}function qt(e){return[...e].toSorted((e,t)=>{if(e.origin===`main`&&t.origin!==`main`)return-1;if(t.origin===`main`&&e.origin!==`main`)return 1;let n=e.manualPosition??2**53-1,r=t.manualPosition??2**53-1;if(n!==r)return n-r;let i=Jt(e.updatedAt,t.updatedAt);return i===0?e.branch.localeCompare(t.branch)||e.worktreeId.localeCompare(t.worktreeId):i})}function Jt(e,t){let n=t?Date.parse(t):-1/0,r=e?Date.parse(e):-1/0;return(Number.isNaN(n)?-1/0:n)-(Number.isNaN(r)?-1/0:r)}function Yt(e,t){if(!e)return t;if(!t)return e;let n=Date.parse(e),r=Date.parse(t);return Number.isNaN(n)?t:Number.isNaN(r)?e:r>n?t:e}function Xt(e){return e.map(e=>e.updatedAt??e.createdAt).filter(e=>e!==void 0).toSorted((e,t)=>Date.parse(t)-Date.parse(e))[0]}function Zt(e,t){return e.diffStatsByWorktreeId?e.diffStatsByWorktreeId.get(t)??null:e.diffStatsByWorktreeIdRecord?.[t]??null}function Qt(e,t){let n=$t(t,e.id);return n===void 0||n}function $t(e,t){if(e)return en(e)?e.get(t):e[String(t)]}function en(e){return e instanceof Map}function tn(e,t){let n=new Map;for(let r of e){let e=t(r),i=n.get(e);i?i.push(r):n.set(e,[r])}return n}var nn={repository:`Group by repository`,repository_path:`Group by repository path`,separate:`Keep separate`};function rn(e,t){return t<=1?e.name:e.environmentLabel?`${e.environmentLabel} — ${e.cwd}`:e.cwd}function an(e){switch(e){case`repository`:return`Projects from the same repository share one sidebar row.`;case`repository_path`:return`Projects group only when both the repository and repo-relative path match.`;case`separate`:return`Every project path gets its own sidebar row.`}}function on(e){switch(e){case`github`:return`GitHub`;case`gitlab`:return`GitLab`;case`forgejo`:return`Forgejo`;case`azure-devops`:return`Azure DevOps`;case`bitbucket`:return`Bitbucket`;default:return`Remote`}}function sn(e){switch(e){case`github`:return J;case`gitlab`:return K;case`forgejo`:return je;case`azure-devops`:return q;case`bitbucket`:return Ae;default:return G}}function cn(e){return e.replace(/\/+$/g,``).replace(/\.git$/i,``)}function ln(e,t){if(e!==`ssh.dev.azure.com`)return null;let n=t.indexOf(`v3`);if(n===-1||t.length<n+4)return null;let r=t[n+1],i=t[n+2],a=t[n+3];return!r||!i||!a?null:`https://dev.azure.com/${r}/${i}/_git/${a}`}function un(e){let t=e.trim();if(t.length===0)return null;if(/^https?:\/\//i.test(t))try{let e=new URL(t);return e.pathname=cn(e.pathname),e.search=``,e.hash=``,e.toString()}catch{return null}if(/^(?:ssh|git):\/\//i.test(t))try{let e=new URL(t),n=cn(e.pathname).split(`/`).filter(e=>e.length>0),r=ln(e.hostname,n);if(r)return r;let i=n.join(`/`);return e.hostname&&i?`https://${e.hostname}/${i}`:null}catch{return null}let n=/^git@([^:/\s]+)[:/]([^#?\s]+)$/i.exec(t);if(n?.[1]&&n[2]){let e=n[1],t=cn(n[2]);return ln(e,t.split(`/`).filter(e=>e.length>0))||`https://${e}/${t}`}return null}function dn(e,t){if(!e)return null;let n=(()=>{if(t){let n=(e.remotes??[]).find(e=>e.name===t);if(n)return{url:n.url,label:n.ownerRepo??n.url,provider:n.provider??void 0}}return{url:e.locator.remoteUrl,label:e.displayName??e.canonicalKey,provider:e.provider??void 0}})(),r=un(n.url);return r?{url:r,label:n.label,provider:n.provider,providerLabel:on(n.provider)}:null}function fn(e){let t=(0,Z.c)(7),{memberThreadCountByPhysicalKey:n,jiraProjectOpenUrlByProjectKey:r}=e,a=gn,s;t[0]===r?s=t[1]:(s=e=>{let t=r.get(o(i(e.environmentId,e.id)))??null;if(!t){z.add({type:`warning`,title:`No Jira project link available`});return}let n=p();if(!n){z.add({type:`error`,title:`Link opening is unavailable.`});return}n.shell.openExternal(t).catch(hn)},t[0]=r,t[1]=s);let c=s,l=mn,u;t[2]===n?u=t[3]:(u=async e=>{let t=p();if(!t)return;let r=i(e.environmentId,e.id);if((n.get(e.physicalProjectKey)??0)>0){let n=z.add(X({type:`warning`,title:`Project is not empty`,description:`Delete all threads in this project before removing it.`,actionVariant:`destructive`,actionProps:{children:`Delete anyway`,onClick:()=>{(async()=>{z.close(n),await new Promise(pn);let i=C(f.getState(),[r]);await t.dialogs.confirm(i.length>0?[`Remove project "${e.name}" and delete its ${i.length} thread${i.length===1?``:`s`}?`,`Path: ${e.cwd}`,...e.environmentLabel?[`Environment: ${e.environmentLabel}`]:[],`This permanently clears conversation history for those threads.`,`This removes only this project entry.`,`This action cannot be undone.`].join(`
|
|
1
|
+
import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./compiler-runtime-qmuS0Svy.js";import{_ as r,g as i,n as a,v as o,y as s}from"./env-B4arEvJg.js";import{W as c,tt as l}from"./src-Vf4LVnMX.js";import{C as u,H as d,Jt as f,Sn as p,T as m,Vn as h,W as g,b as _,bn as v,f as y,hn as b,vn as x,x as S,zt as C}from"./runtime-CXut_g4p.js";import{a as w}from"./primary-BzLEg2w1.js";import{Ct as T,It as E,X as D,i as O,q as k}from"./composerDraftStore-CdJJZe42.js";import{C as A,F as j,U as M,x as N}from"./useHandleNewThread-DX2FtXcP.js";import{A as ee,F as te,V as ne,c as P,p as re,v as ie}from"./ThreadStatusIndicators-ZImeLExQ.js";import{n as ae,r as F,t as I}from"./uiStateStore-B6pjzSjj.js";import{f as L}from"./useRenderElement-DchFnsR8.js";import{F as oe,N as se,a as ce,b as le,d as ue,i as R,j as de,n as fe,r as pe,t as me,u as he,v as ge,x as _e,y as ve}from"./WorkItemsTab-AOVwVvb7.js";import{i as z}from"./toast-CcSCAm4B.js";import{t as ye}from"./external-link-fbvzDWM7.js";import{t as B}from"./folder-open-GqwNTbSV.js";import{t as be}from"./git-pull-request-DIYyPsg5.js";import{t as V}from"./settings-2-CZQg_KUQ.js";import{t as xe}from"./sparkles-CAf3oJ5S.js";import{t as H}from"./triangle-alert-RL_T3KLo.js";import{i as U,t as W}from"./utils-BofFIn5Y.js";import{p as Se}from"./projectPaths-BAd6NFcE.js";import{a as Ce,o as we,p as Te,t as Ee}from"./keybindings-CWJ7E9ZI.js";import{t as De}from"./switch-BTGo9Yip.js";import{t as Oe}from"./input-CHEwW3oH.js";import{t as ke}from"./scroll-area-Drsa8bNB.js";import{a as Ae,c as je,d as G,f as K,i as q,r as Me,u as J}from"./Icons-CT3nd2MA.js";import{t as Ne}from"./ProjectFavicon-qZGdjYCM.js";import{t as Y}from"./button-BAbJxRzt.js";import{t as X}from"./toastHelpers-CSQRKo4F.js";import"./types-DYekgeHu.js";import{a as Pe,c as Fe,i as Ie,o as Le,r as Re,s as ze,t as Be}from"./dialog-DQsYchqu.js";import{t as Ve}from"./textarea-RFPODxWW.js";import{a as He,i as Ue,o as We,s as Ge,t as Ke}from"./select-BYbVr-yg.js";import{g as qe,o as Je,p as Ye,r as Xe,t as Ze}from"./useAtlassian-9-hy2f8z.js";import"./providerInstances-BJcfB_9E.js";var Qe=L(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),$e=L(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),et=new Set([`idle`,`in_progress`,`review`,`done`]),tt=new Set([`main`,`branch`,`pr`,`issue`,`manual`]);function nt(e,t){let n=[...e],i=new Set(e.map(e=>s(r(e.environmentId,e.id))));for(let e of t){let t=s(r(e.environmentId,e.id));i.has(t)||(i.add(t),n.push(e))}return n}function rt(e){let t=e.project.projectKey,n=new Map(e.project.memberProjects.map(e=>[o(i(e.environmentId,e.id)),e])),a={...e.project,id:t},c=e.threads.map(a=>st({lastVisitedAt:e.lastVisitedAtByThreadKey?.get(s(r(a.environmentId,a.id)))??null,logicalProjectId:t,sourceProjectCwd:n.get(o(i(a.environmentId,a.projectId)))?.cwd??e.project.cwd,thread:a})),l=lt(e.project,t,e.worktrees??[]);return{project:a,threads:c,worktrees:[...ht({logicalProjectId:t,project:e.project,threads:c}),...l]}}function it(e){let t=at(e),n=e.projectKey,r=[],i=[];return a=>{let o=[];for(let[e,n]of Object.entries(a.draftThreadsByThreadKey))ot(n,t)&&o.push([e,n]);return o.length===r.length&&o.every((e,t)=>{let n=r[t];return n?.[0]===e[0]&&n[1]===e[1]})?i:(r=o,i=o.map(([t,r])=>ct({draftId:t,logicalProjectId:n,sourceProjectCwd:wt(e,r),draftThread:r})),i)}}function at(e){return new Set(e.memberProjects.map(e=>o(i(e.environmentId,e.id))))}function ot(e,t){return e.promotedTo==null&&t.has(o(i(e.environmentId,e.projectId)))}function st(e){let t=e.thread,n=St(t.statusPill)||t.statusPill===null?t.statusPill:j({thread:{...e.thread,...e.lastVisitedAt?{lastVisitedAt:e.lastVisitedAt}:{}}});return{...e.thread,projectId:e.logicalProjectId,manualStatusBucket:_t(t.manualStatusBucket)??_t(t.manualBucket)??_t(t.statusBucket)??null,sourceProjectId:e.thread.projectId,sourceProjectCwd:e.sourceProjectCwd,statusPill:n,worktreeId:typeof t.worktreeId==`string`?t.worktreeId:null}}function ct(e){return{archivedAt:null,settledOverride:null,settledAt:null,branch:e.draftThread.branch,createdAt:e.draftThread.createdAt,draftId:e.draftId,environmentId:e.draftThread.environmentId,hasActionableProposedPlan:!1,hasPendingApprovals:!1,hasPendingUserInput:!1,id:e.draftThread.threadId,interactionMode:e.draftThread.interactionMode??`default`,tokenMode:e.draftThread.tokenMode??`balanced`,latestTurn:null,latestUserMessageAt:null,manualStatusBucket:null,projectId:e.logicalProjectId,session:null,sourceProjectId:e.draftThread.projectId,sourceProjectCwd:e.sourceProjectCwd,statusPill:null,title:`New thread`,updatedAt:e.draftThread.createdAt,worktreePath:e.draftThread.worktreePath}}function lt(e,t,n){let r=e.memberProjects.find(t=>t.id===e.id&&t.environmentId===e.environmentId)??e.memberProjects[0];if(!r)return[];let a=new Map(e.memberProjects.map(e=>[o(i(e.environmentId,e.id)),e])),s=n.map(e=>({value:e,fallbackProject:a.get(o(i(e.environmentId,e.projectId)))??r})),c=[e,...e.memberProjects];for(let e of c){let t=e;if(Array.isArray(t.worktrees))for(let n of t.worktrees)s.push({value:n,fallbackProject:`physicalProjectKey`in e?e:r});if(Array.isArray(t.sidebarWorktrees))for(let n of t.sidebarWorktrees)s.push({value:n,fallbackProject:`physicalProjectKey`in e?e:r})}return s.flatMap(({value:e,fallbackProject:n},r)=>{if(!e||typeof e!=`object`)return[];let s=e,c=yt(s.branch);if(!c)return[];let l=yt(s.environmentId)??n.environmentId,u=yt(s.projectId)??n.id,d=a.get(o(i(l,u)))??n,f=bt(s.worktreePath),p=vt(s.origin)??(f===null?`main`:`manual`),m=yt(s.worktreeId)??yt(s.id)??gt({branch:c,fallbackIndex:r,environmentId:l,origin:p,sourceProjectId:u,worktreePath:f});return[{archivedAt:bt(s.archivedAt),branch:c,environmentId:l,issueNumber:xt(s.issueNumber),manualPosition:xt(s.manualPosition),origin:p,prNumber:xt(s.prNumber),prState:ut(s.prState),prIsDraft:mt(s.prIsDraft),issueState:dt(s.issueState),workItemProvider:ft(s.workItemProvider),workItemKey:bt(s.workItemKey),workItemTitle:bt(s.workItemTitle),workItemState:pt(s.workItemState),workItemStateName:bt(s.workItemStateName),workItemUrl:bt(s.workItemUrl),projectId:t,sourceProjectCwd:d.cwd,sourceProjectId:u,title:bt(s.title),updatedAt:yt(s.updatedAt),worktreeId:m,worktreePath:f}]})}function ut(e){return e===`open`||e===`closed`||e===`merged`?e:null}function dt(e){return e===`open`||e===`closed`?e:null}function ft(e){return e===`jira`?e:null}function pt(e){return e===`open`||e===`in_progress`||e===`done`||e===`closed`||e===`unknown`?e:null}function mt(e){return typeof e==`boolean`?e:null}function ht(e){return e.project.memberProjects.map((t,n)=>{let r=e.threads.filter(e=>e.environmentId===t.environmentId&&e.sourceProjectId===t.id&&e.worktreePath===null).toSorted((e,t)=>Ct(e.updatedAt??e.createdAt,t.updatedAt??t.createdAt))[0];return{archivedAt:null,branch:r?.branch??`main`,environmentId:t.environmentId,manualPosition:n,origin:`main`,projectId:e.logicalProjectId,sourceProjectCwd:t.cwd,sourceProjectId:t.id,title:null,updatedAt:r?.updatedAt??r?.createdAt??t.updatedAt,worktreeId:`main:${t.environmentId}:${t.id}`,worktreePath:null}})}function gt(e){let t=e.worktreePath??e.branch;return`${e.origin}:${e.environmentId}:${e.sourceProjectId}:${t||e.fallbackIndex}`}function _t(e){return typeof e==`string`&&et.has(e)?e:null}function vt(e){return typeof e==`string`&&tt.has(e)?e:null}function yt(e){return typeof e==`string`&&e.length>0?e:void 0}function bt(e){return typeof e==`string`&&e.length>0?e:null}function xt(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function St(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.label==`string`&&typeof t.colorClass==`string`&&typeof t.dotClass==`string`&&typeof t.pulse==`boolean`}function Ct(e,t){let n=e?Date.parse(e):-1/0,r=t?Date.parse(t):-1/0,i=Number.isNaN(n)?-1/0:n;return(Number.isNaN(r)?-1/0:r)-i}function wt(e,t){return e.memberProjects.find(e=>e.environmentId===t.environmentId&&e.id===t.projectId)?.cwd??e.cwd}var Z=n();function Tt(e){let t=tn(Et(e.threads),e=>e.projectId),n=tn(e.worktrees??[],e=>String(e.projectId));return{projects:e.projects.map(r=>{let i=t.get(r.id)??[],a=i.filter(e=>e.draftId!==void 0&&e.archivedAt===null),o=i.filter(e=>e.draftId===void 0),s=Qt(r,e.isGitRepoByProjectId),c=o.filter(e=>e.archivedAt!==null);if(!s)return{archivedSessions:c,archivedWorktrees:[],draftSessions:a,flatSessions:i.filter(e=>e.archivedAt===null),isGitRepo:s,project:r,worktrees:[]};let l=jt(r,Vt({project:r,threads:o,worktrees:n.get(r.id)??[]})),u=l.worktrees;return{archivedSessions:c,archivedWorktrees:qt(u).filter(e=>e.archivedAt!=null).map(t=>Ot({diffStats:Zt(e,t.worktreeId),nowMs:e.nowMs,threads:o.filter(e=>At(e,t,r,l)),worktree:t})),flatSessions:[],draftSessions:a,isGitRepo:s,project:r,worktrees:qt(u).filter(e=>e.archivedAt==null).map(t=>Ot({diffStats:Zt(e,t.worktreeId),nowMs:e.nowMs,threads:o.filter(e=>At(e,t,r,l)),worktree:t}))}})}}function Et(e){let t=new Set;return e.filter(e=>{let n=JSON.stringify([e.environmentId,e.id]);return!t.has(n)&&(t.add(n),!0)})}function Dt(e){let t=(0,Z.c)(8),{diffStatsByWorktreeId:n,diffStatsByWorktreeIdRecord:r,isGitRepoByProjectId:i,nowMs:a,projects:o,threads:s,worktrees:c}=e,l;return t[0]!==n||t[1]!==r||t[2]!==i||t[3]!==a||t[4]!==o||t[5]!==s||t[6]!==c?(l=Tt({diffStatsByWorktreeId:n,diffStatsByWorktreeIdRecord:r,isGitRepoByProjectId:i,nowMs:a??Date.now(),projects:o,threads:s,worktrees:c}),t[0]=n,t[1]=r,t[2]=i,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l):l=t[7],l}function Ot(e){let t={done:[],idle:[],in_progress:[],review:[]},n=[],r=[],i=[];for(let a of e.threads){if(a.archivedAt!==null){r.push(a);continue}i.push(a);let e=kt(a);n.push(e),t[e].push(a)}return{aggregateStatus:N(n),archivedSessions:r,buckets:t,diffStats:e.diffStats,sessions:i,shouldSuggestArchive:M({buckets:n,latestUpdatedAt:Xt(e.threads),nowMs:e.nowMs}),worktree:e.worktree}}function kt(e){return A({manualBucket:e.manualStatusBucket??null,statusPill:e.statusPill??j({thread:e})})}function At(e,t,n,r){let i=Ut(e,n),a=Wt(t,n);if(i!==null&&r.directoryKeys.has(i))return i===a;let o=e.worktreeId==null?void 0:r.nodeIdByWorktreeId.get(e.worktreeId);return o===void 0?i!==null&&a!==null?i===a:e.worktreeId!=null&&e.worktreeId===t.worktreeId?!0:e.worktreePath!==null||t.worktreePath!==null?!1:t.origin===`main`?e.branch===null||e.branch===t.branch||Kt(e.branch):e.branch===t.branch:o===t.worktreeId}function jt(e,t){let n=new Map,r=new Map;for(let i of t){let t=Mt(e,i),a=n.get(t);r.set(i.worktreeId,t),n.set(t,a?Pt(a,i):i)}let i=new Set,a=new Map;for(let[e,t]of r){let r=n.get(t);r&&a.set(e,r.worktreeId)}for(let t of n.values()){let n=Wt(t,e);n!==null&&i.add(n)}return{directoryKeys:i,nodeIdByWorktreeId:a,worktrees:[...n.values()]}}function Mt(e,t){return Wt(t,e)??`${t.projectId}:${t.origin}:${t.worktreeId}:${t.branch}`}function Nt(e){return Se(e)}function Pt(e,t){let n=Ft(e,t),r=e.origin===`main`||t.origin!==`main`?e.origin:t.origin;return{...e,archivedAt:zt(e.archivedAt,t.archivedAt),branch:n.branch,environmentId:n.environmentId??e.environmentId??t.environmentId,manualPosition:Bt(e.manualPosition,t.manualPosition),origin:r,prNumber:e.prNumber??t.prNumber??null,issueNumber:e.issueNumber??t.issueNumber??null,prState:n.prState??null,prIsDraft:n.prIsDraft??null,issueState:n.issueState??null,workItemProvider:e.workItemProvider??t.workItemProvider??null,workItemKey:e.workItemKey??t.workItemKey??null,workItemTitle:e.workItemTitle??t.workItemTitle??null,workItemState:n.workItemState??null,workItemStateName:n.workItemStateName??null,workItemUrl:e.workItemUrl??t.workItemUrl??null,sourceProjectCwd:n.sourceProjectCwd??e.sourceProjectCwd??t.sourceProjectCwd,sourceProjectId:n.sourceProjectId??e.sourceProjectId??t.sourceProjectId,title:It(e,t),updatedAt:Yt(e.updatedAt,t.updatedAt),worktreeId:Lt(e,t),worktreePath:r===`main`?null:e.worktreePath??t.worktreePath}}function Ft(e,t){let n=e.updatedAt?Date.parse(e.updatedAt):-1/0,r=t.updatedAt?Date.parse(t.updatedAt):-1/0;return Number.isNaN(r)||r<=n?e:t}function It(e,t){if(e.title==null)return t.title??null;if(t.title==null)return e.title;let n=e.updatedAt?Date.parse(e.updatedAt):-1/0,r=t.updatedAt?Date.parse(t.updatedAt):-1/0;return Number.isNaN(n)?t.title:Number.isNaN(r)?e.title:r>n?t.title:e.title}function Lt(e,t){let n=Rt(e.worktreeId),r=Rt(t.worktreeId);return n&&!r?t.worktreeId:r&&!n||e.origin===`main`?e.worktreeId:t.origin===`main`?t.worktreeId:e.worktreeId}function Rt(e){return/^(main|branch|pr|issue|manual):/.test(e)}function zt(e,t){return e==null||t==null?null:Yt(e,t)}function Bt(e,t){return e==null?t:t==null?e:Math.min(e,t)}function Vt(e){let t=new Set(e.worktrees.map(e=>e.worktreeId));return[...e.worktrees,...e.threads.filter(e=>e.worktreeId==null||!t.has(e.worktreeId)).map(t=>Ht(e.project,t))]}function Ht(e,t){let n=t.branch??`main`,r=t.worktreePath===null&&Kt(t.branch)?`main`:`branch`;return{archivedAt:null,branch:n,environmentId:t.environmentId,manualPosition:r===`main`?0:null,origin:r,projectId:e.id,sourceProjectCwd:t.sourceProjectCwd??e.cwd,sourceProjectId:t.sourceProjectId??t.projectId,updatedAt:t.updatedAt??t.createdAt,worktreeId:r===`main`?`main:${e.environmentId}:${e.id}`:`branch:${e.environmentId}:${e.id}:${t.worktreePath?Nt(t.worktreePath):n}`,worktreePath:t.worktreePath}}function Ut(e,t){return Gt({directory:e.worktreePath??e.sourceProjectCwd??t.cwd,environmentId:e.environmentId})}function Wt(e,t){return Gt({directory:e.worktreePath??e.sourceProjectCwd??t.cwd,environmentId:e.environmentId??t.environmentId})}function Gt(e){let t=Nt(e.directory);return t.length===0?null:JSON.stringify([e.environmentId,t])}function Kt(e){return e==null||e===`main`||e===`master`||e===`trunk`}function qt(e){return[...e].toSorted((e,t)=>{if(e.origin===`main`&&t.origin!==`main`)return-1;if(t.origin===`main`&&e.origin!==`main`)return 1;let n=e.manualPosition??2**53-1,r=t.manualPosition??2**53-1;if(n!==r)return n-r;let i=Jt(e.updatedAt,t.updatedAt);return i===0?e.branch.localeCompare(t.branch)||e.worktreeId.localeCompare(t.worktreeId):i})}function Jt(e,t){let n=t?Date.parse(t):-1/0,r=e?Date.parse(e):-1/0;return(Number.isNaN(n)?-1/0:n)-(Number.isNaN(r)?-1/0:r)}function Yt(e,t){if(!e)return t;if(!t)return e;let n=Date.parse(e),r=Date.parse(t);return Number.isNaN(n)?t:Number.isNaN(r)?e:r>n?t:e}function Xt(e){return e.map(e=>e.updatedAt??e.createdAt).filter(e=>e!==void 0).toSorted((e,t)=>Date.parse(t)-Date.parse(e))[0]}function Zt(e,t){return e.diffStatsByWorktreeId?e.diffStatsByWorktreeId.get(t)??null:e.diffStatsByWorktreeIdRecord?.[t]??null}function Qt(e,t){let n=$t(t,e.id);return n===void 0||n}function $t(e,t){if(e)return en(e)?e.get(t):e[String(t)]}function en(e){return e instanceof Map}function tn(e,t){let n=new Map;for(let r of e){let e=t(r),i=n.get(e);i?i.push(r):n.set(e,[r])}return n}var nn={repository:`Group by repository`,repository_path:`Group by repository path`,separate:`Keep separate`};function rn(e,t){return t<=1?e.name:e.environmentLabel?`${e.environmentLabel} — ${e.cwd}`:e.cwd}function an(e){switch(e){case`repository`:return`Projects from the same repository share one sidebar row.`;case`repository_path`:return`Projects group only when both the repository and repo-relative path match.`;case`separate`:return`Every project path gets its own sidebar row.`}}function on(e){switch(e){case`github`:return`GitHub`;case`gitlab`:return`GitLab`;case`forgejo`:return`Forgejo`;case`azure-devops`:return`Azure DevOps`;case`bitbucket`:return`Bitbucket`;default:return`Remote`}}function sn(e){switch(e){case`github`:return J;case`gitlab`:return K;case`forgejo`:return je;case`azure-devops`:return q;case`bitbucket`:return Ae;default:return G}}function cn(e){return e.replace(/\/+$/g,``).replace(/\.git$/i,``)}function ln(e,t){if(e!==`ssh.dev.azure.com`)return null;let n=t.indexOf(`v3`);if(n===-1||t.length<n+4)return null;let r=t[n+1],i=t[n+2],a=t[n+3];return!r||!i||!a?null:`https://dev.azure.com/${r}/${i}/_git/${a}`}function un(e){let t=e.trim();if(t.length===0)return null;if(/^https?:\/\//i.test(t))try{let e=new URL(t);return e.pathname=cn(e.pathname),e.search=``,e.hash=``,e.toString()}catch{return null}if(/^(?:ssh|git):\/\//i.test(t))try{let e=new URL(t),n=cn(e.pathname).split(`/`).filter(e=>e.length>0),r=ln(e.hostname,n);if(r)return r;let i=n.join(`/`);return e.hostname&&i?`https://${e.hostname}/${i}`:null}catch{return null}let n=/^git@([^:/\s]+)[:/]([^#?\s]+)$/i.exec(t);if(n?.[1]&&n[2]){let e=n[1],t=cn(n[2]);return ln(e,t.split(`/`).filter(e=>e.length>0))||`https://${e}/${t}`}return null}function dn(e,t){if(!e)return null;let n=(()=>{if(t){let n=(e.remotes??[]).find(e=>e.name===t);if(n)return{url:n.url,label:n.ownerRepo??n.url,provider:n.provider??void 0}}return{url:e.locator.remoteUrl,label:e.displayName??e.canonicalKey,provider:e.provider??void 0}})(),r=un(n.url);return r?{url:r,label:n.label,provider:n.provider,providerLabel:on(n.provider)}:null}function fn(e){let t=(0,Z.c)(7),{memberThreadCountByPhysicalKey:n,jiraProjectOpenUrlByProjectKey:r}=e,a=gn,s;t[0]===r?s=t[1]:(s=e=>{let t=r.get(o(i(e.environmentId,e.id)))??null;if(!t){z.add({type:`warning`,title:`No Jira project link available`});return}let n=p();if(!n){z.add({type:`error`,title:`Link opening is unavailable.`});return}n.shell.openExternal(t).catch(hn)},t[0]=r,t[1]=s);let c=s,l=mn,u;t[2]===n?u=t[3]:(u=async e=>{let t=p();if(!t)return;let r=i(e.environmentId,e.id);if((n.get(e.physicalProjectKey)??0)>0){let n=z.add(X({type:`warning`,title:`Project is not empty`,description:`Delete all threads in this project before removing it.`,actionVariant:`destructive`,actionProps:{children:`Delete anyway`,onClick:()=>{(async()=>{z.close(n),await new Promise(pn);let i=C(f.getState(),[r]);await t.dialogs.confirm(i.length>0?[`Remove project "${e.name}" and delete its ${i.length} thread${i.length===1?``:`s`}?`,`Path: ${e.cwd}`,...e.environmentLabel?[`Environment: ${e.environmentLabel}`]:[],`This permanently clears conversation history for those threads.`,`This removes only this project entry.`,`This action cannot be undone.`].join(`
|
|
2
2
|
`):[`Remove project "${e.name}"?`,`Path: ${e.cwd}`,...e.environmentLabel?[`Environment: ${e.environmentLabel}`]:[],`This removes only this project entry.`].join(`
|
|
3
3
|
`))&&await l(e,{force:!0})})().catch(t=>{let n=t instanceof Error?t.message:`Unknown error removing project.`;console.error(`Failed to remove project`,{projectId:e.id,environmentId:e.environmentId,error:t}),z.add(X({type:`error`,title:`Failed to remove "${e.name}"`,description:n}))})}}}));return}let a=[`Remove project "${e.name}"?`,`Path: ${e.cwd}`,...e.environmentLabel?[`Environment: ${e.environmentLabel}`]:[],`This removes only this project entry.`].join(`
|
|
4
4
|
`);if(await t.dialogs.confirm(a))try{await l(e)}catch(t){let n=t,r=n instanceof Error?n.message:`Unknown error removing project.`;console.error(`Failed to remove project`,{projectId:e.id,environmentId:e.environmentId,error:n}),z.add(X({type:`error`,title:`Failed to remove "${e.name}"`,description:r}))}},t[2]=n,t[3]=u);let d=u,m;return t[4]!==d||t[5]!==c?(m={openProjectRemoteLink:a,openProjectJiraLink:c,removeProject:l,handleRemoveProject:d},t[4]=d,t[5]=c,t[6]=m):m=t[6],m}function pn(e){window.setTimeout(e,180)}async function mn(e,t){let n=t===void 0?{}:t,r=i(e.environmentId,e.id),a=O.getState(),o=a.getDraftThreadByProjectRef(r);o&&a.clearDraftThread(o.draftId),a.clearProjectDraftThreadId(r);let s=b(e.environmentId);if(!s)throw Error(`Project API unavailable.`);await s.orchestration.dispatchCommand({type:`project.delete`,commandId:U(),projectId:e.id,...n.force===!0?{force:!0}:{}})}function hn(e){z.add(X({type:`error`,title:`Unable to open Jira project`,description:e instanceof Error?e.message:`An error occurred.`}))}function gn(e){let t=dn(e.repositoryIdentity,e.preferredRemoteName);if(!t){z.add({type:`warning`,title:`No remote link available`});return}let n=p();if(!n){z.add({type:`error`,title:`Link opening is unavailable.`});return}n.shell.openExternal(t.url).catch(_n)}function _n(e){z.add(X({type:`error`,title:`Unable to open remote repository`,description:e instanceof Error?e.message:`An error occurred.`}))}function vn(e){let t=(0,Z.c)(18),{project:n,jiraProjectOpenUrlByProjectKey:r,suppressProjectClickForContextMenuRef:a,onOpenOverview:s,openProjectSettingsDialog:c,openProjectRemoteLink:l,openProjectJiraLink:u,openProjectRenameDialog:d,openProjectGroupingDialog:f,copyPathToClipboard:m,handleRemoveProject:h}=e,g;t[0]!==m||t[1]!==h||t[2]!==r||t[3]!==s||t[4]!==f||t[5]!==u||t[6]!==l||t[7]!==d||t[8]!==c||t[9]!==n.groupedProjectCount||t[10]!==n.memberProjects?(g=e=>{(async()=>{let t=p();if(!t)return;let a=new Map;a.set(`project-overview`,()=>{s()});let g=(e,t,r)=>{let i=`${e}:${t.physicalProjectKey}`;return a.set(i,()=>{switch(e){case`settings`:c(t);return;case`open-remote`:l(t);return;case`open-jira`:u(t);return;case`rename`:d(t);return;case`grouping`:f(t);return;case`copy-path`:m(t.cwd,{path:t.cwd});return;case`delete`:return h(t)}}),{id:i,label:rn(t,n.groupedProjectCount),...r?.destructive?{destructive:!0}:{},...r?.disabled?{disabled:!0}:{}}},_=(e,t,r)=>{if(n.memberProjects.length===1){let i=n.memberProjects[0];return{...g(e,i,{...r?.destructive?{destructive:!0}:{},...r?.isDisabled?.(i)?{disabled:!0}:{}}),label:t}}return{id:`${e}:submenu`,label:t,children:n.memberProjects.map(t=>g(e,t,{...r?.destructive?{destructive:!0}:{},...r?.isDisabled?.(t)?{disabled:!0}:{}}))}},v=n.memberProjects.some(bn),y=n.memberProjects.some(e=>r.has(o(i(e.environmentId,e.id)))),b=[{id:`project-overview`,label:`Project overview`},_(`settings`,`Project settings`),...v?[_(`open-remote`,`Open remote`,{isDisabled:yn})]:[],...y?[_(`open-jira`,`Open Jira project`,{isDisabled:e=>!r.has(o(i(e.environmentId,e.id)))})]:[],_(`rename`,`Rename project`),_(`grouping`,`Project grouping…`),_(`copy-path`,`Copy Project Path`),_(`delete`,`Remove project`,{destructive:!0})],x=await t.contextMenu.show(b,e);x&&await a.get(x)?.()})()},t[0]=m,t[1]=h,t[2]=r,t[3]=s,t[4]=f,t[5]=u,t[6]=l,t[7]=d,t[8]=c,t[9]=n.groupedProjectCount,t[10]=n.memberProjects,t[11]=g):g=t[11];let _=g,v;t[12]!==_||t[13]!==a?(v=e=>{e.preventDefault(),a.current=!0,_({x:e.clientX,y:e.clientY})},t[12]=_,t[13]=a,t[14]=v):v=t[14];let y=v,b;return t[15]!==y||t[16]!==_?(b={handleProjectButtonContextMenu:y,openProjectMenu:_},t[15]=y,t[16]=_,t[17]=b):b=t[17],b}function yn(e){return dn(e.repositoryIdentity,e.preferredRemoteName)===null}function bn(e){return dn(e.repositoryIdentity,e.preferredRemoteName)!==null}var Q=e(t(),1),$=E();function xn(e){let t=(0,Z.c)(3),n;return t[0]!==e.cwd||t[1]!==e.environmentId?(n=(0,$.jsx)(ve,{environmentId:e.environmentId,cwd:e.cwd,title:`Actions`,description:`Recent GitHub Actions workflow runs grouped by pull request or branch.`,groupRunsBySource:!0}),t[0]=e.cwd,t[1]=e.environmentId,t[2]=n):n=t[2],n}var Sn=20,Cn=5;function wn(e,t=Sn){return e>=t?`${t}+`:String(e)}function Tn(e){let t=(0,Z.c)(109),n;t[0]!==e.cwd||t[1]!==e.environmentId?(n={environmentId:e.environmentId,cwd:e.cwd,state:`open`,limit:Sn},t[0]=e.cwd,t[1]=e.environmentId,t[2]=n):n=t[2];let r=te(n),i;t[3]!==e.cwd||t[4]!==e.environmentId?(i={environmentId:e.environmentId,cwd:e.cwd,state:`open`,limit:Sn},t[3]=e.cwd,t[4]=e.environmentId,t[5]=i):i=t[5];let a=ee(i),o;t[6]!==e.cwd||t[7]!==e.environmentId?(o={environmentId:e.environmentId,cwd:e.cwd,limit:Sn},t[6]=e.cwd,t[7]=e.environmentId,t[8]=o):o=t[8];let s=ne(o),c=e.environmentId!==null&&e.projectId!==null,l;t[9]!==e.environmentId||t[10]!==e.projectId||t[11]!==c?(l={environmentId:e.environmentId,projectId:e.projectId,enabled:c},t[9]=e.environmentId,t[10]=e.projectId,t[11]=c,t[12]=l):l=t[12];let u=Xe(l),d=u.data?.jiraConnectionId!==null&&u.data?.jiraConnectionId!==void 0&&u.data.jiraProjectKeys.length>0,f;t[13]!==d||t[14]!==e.environmentId||t[15]!==e.projectId?(f={environmentId:e.environmentId,projectId:e.projectId,state:`open`,limit:Sn,enabled:d},t[13]=d,t[14]=e.environmentId,t[15]=e.projectId,t[16]=f):f=t[16];let p=Ye(f),m;t[17]===r.data?m=t[18]:(m=r.data??[],t[17]=r.data,t[18]=m);let h=m,g;t[19]===a.data?g=t[20]:(g=a.data??[],t[19]=a.data,t[20]=g);let _=g,v;t[21]===s.data?.runs?v=t[22]:(v=s.data?.runs??[],t[21]=s.data?.runs,t[22]=v);let y=v,b;t[23]===p.data?b=t[24]:(b=p.data??[],t[23]=p.data,t[24]=b);let x=b,S;t[25]===h.length?S=t[26]:(S=wn(h.length),t[25]=h.length,t[26]=S);let C;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,$.jsx)(ie,{className:`size-3.5`}),t[27]=C):C=t[27];let w;t[28]===e?w=t[29]:(w=()=>e.onOpenTab(`issues`),t[28]=e,t[29]=w);let T;t[30]!==S||t[31]!==w?(T=(0,$.jsx)(An,{label:`Open issues`,value:S,icon:C,accentClassName:`border-emerald-500/18 bg-emerald-500/8 text-emerald-600 dark:text-emerald-300`,onClick:w}),t[30]=S,t[31]=w,t[32]=T):T=t[32];let E;t[33]===_.length?E=t[34]:(E=wn(_.length),t[33]=_.length,t[34]=E);let D;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(be,{className:`size-3.5`}),t[35]=D):D=t[35];let O;t[36]===e?O=t[37]:(O=()=>e.onOpenTab(`prs`),t[36]=e,t[37]=O);let k;t[38]!==E||t[39]!==O?(k=(0,$.jsx)(An,{label:`Open pull requests`,value:E,icon:D,accentClassName:`border-emerald-500/18 bg-emerald-500/8 text-emerald-600 dark:text-emerald-300`,onClick:O}),t[38]=E,t[39]=O,t[40]=k):k=t[40];let A;t[41]===y.length?A=t[42]:(A=wn(y.length),t[41]=y.length,t[42]=A);let j;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(se,{className:`size-3.5`}),t[43]=j):j=t[43];let M;t[44]===e?M=t[45]:(M=()=>e.onOpenTab(`actions`),t[44]=e,t[45]=M);let N;t[46]!==A||t[47]!==M?(N=(0,$.jsx)(An,{label:`Actions`,value:A,icon:j,accentClassName:`border-amber-500/18 bg-amber-500/8 text-amber-600 dark:text-amber-300`,onClick:M}),t[46]=A,t[47]=M,t[48]=N):N=t[48];let re;t[49]!==d||t[50]!==x?(re=d?wn(x.length):`Not linked`,t[49]=d,t[50]=x,t[51]=re):re=t[51];let ae;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,$.jsx)(Me,{className:`size-3.5`}),t[52]=ae):ae=t[52];let F;t[53]===e?F=t[54]:(F=()=>e.onOpenTab(`workItems`),t[53]=e,t[54]=F);let I;t[55]!==re||t[56]!==F?(I=(0,$.jsx)(An,{label:`Open Jira`,value:re,icon:ae,accentClassName:`border-violet-500/18 bg-violet-500/8 text-violet-600 dark:text-violet-300`,onClick:F}),t[55]=re,t[56]=F,t[57]=I):I=t[57];let L;t[58]!==T||t[59]!==k||t[60]!==N||t[61]!==I?(L=(0,$.jsxs)(`div`,{className:`grid gap-3 p-4 sm:grid-cols-2 xl:grid-cols-4`,children:[T,k,N,I]}),t[58]=T,t[59]=k,t[60]=N,t[61]=I,t[62]=L):L=t[62];let oe;t[63]===h.length?oe=t[64]:(oe=wn(h.length),t[63]=h.length,t[64]=oe);let ce=r.error,le=r.isLoading,ue;t[65]===h?ue=t[66]:(ue=h.slice(0,Cn),t[65]=h,t[66]=ue);let R;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,$.jsx)(ie,{className:`size-4`}),t[67]=R):R=t[67];let fe;t[68]===e?fe=t[69]:(fe=()=>e.onOpenTab(`issues`),t[68]=e,t[69]=fe);let pe;t[70]===e?pe=t[71]:(pe=t=>(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full min-w-0 items-center gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent/50 focus-visible:bg-accent/60 focus-visible:outline-none`,onClick:()=>e.onSelectIssue(t),children:[(0,$.jsxs)(`span`,{className:`shrink-0 text-muted-foreground text-xs`,children:[`#`,t.number]}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm`,children:t.title}),(0,$.jsx)(`span`,{className:`shrink-0 text-[11px] text-muted-foreground`,children:t.state})]}),t[70]=e,t[71]=pe);let me;t[72]!==r.error||t[73]!==r.isLoading||t[74]!==oe||t[75]!==ue||t[76]!==fe||t[77]!==pe?(me=(0,$.jsx)(jn,{title:`Issues`,description:`Open source-control issues for this repository.`,countLabel:oe,emptyText:`No open issues.`,error:ce,isLoading:le,items:ue,icon:R,accentClassName:`text-emerald-600 dark:text-emerald-300`,onOpenTab:fe,keyForItem:On,renderItem:pe}),t[72]=r.error,t[73]=r.isLoading,t[74]=oe,t[75]=ue,t[76]=fe,t[77]=pe,t[78]=me):me=t[78];let ge;t[79]===_.length?ge=t[80]:(ge=wn(_.length),t[79]=_.length,t[80]=ge);let _e=a.error,ve=a.isLoading,z;t[81]===_?z=t[82]:(z=_.slice(0,Cn),t[81]=_,t[82]=z);let ye;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(ye=(0,$.jsx)(be,{className:`size-4`}),t[83]=ye):ye=t[83];let B;t[84]===e?B=t[85]:(B=()=>e.onOpenTab(`prs`),t[84]=e,t[85]=B);let V;t[86]===e?V=t[87]:(V=t=>(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full min-w-0 items-center gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent/50 focus-visible:bg-accent/60 focus-visible:outline-none`,onClick:()=>e.onSelectChangeRequest(t),children:[(0,$.jsxs)(`span`,{className:`shrink-0 text-muted-foreground text-xs`,children:[`#`,t.number]}),(0,$.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm`,children:t.title}),(0,$.jsx)(de,{kind:P(t.state,t.isDraft),className:`shrink-0`})]}),t[86]=e,t[87]=V);let xe;t[88]!==a.error||t[89]!==a.isLoading||t[90]!==ge||t[91]!==z||t[92]!==B||t[93]!==V?(xe=(0,$.jsx)(jn,{title:`Pull requests`,description:`Open pull requests and review work for this repository.`,countLabel:ge,emptyText:`No open pull requests.`,error:_e,isLoading:ve,items:z,icon:ye,accentClassName:`text-emerald-600 dark:text-emerald-300`,onOpenTab:B,keyForItem:Dn,renderItem:V}),t[88]=a.error,t[89]=a.isLoading,t[90]=ge,t[91]=z,t[92]=B,t[93]=V,t[94]=xe):xe=t[94];let H;t[95]!==d||t[96]!==u.isLoading||t[97]!==e||t[98]!==p.error||t[99]!==p.isLoading||t[100]!==x?(H=d||u.isLoading?(0,$.jsx)(jn,{title:`Jira`,description:`Open Jira work items linked to this project.`,countLabel:u.isLoading?`...`:wn(x.length),emptyText:`No open Jira work items.`,error:p.error,isLoading:u.isLoading||p.isLoading,items:x.slice(0,Cn),icon:(0,$.jsx)(Me,{className:`size-4`}),accentClassName:`text-violet-600 dark:text-violet-300`,onOpenTab:()=>e.onOpenTab(`workItems`),keyForItem:En,renderItem:t=>(0,$.jsxs)(`button`,{type:`button`,className:`flex w-full min-w-0 items-start gap-2 rounded-sm px-2 py-1.5 text-left hover:bg-accent/50 focus-visible:bg-accent/60 focus-visible:outline-none`,onClick:()=>e.onSelectWorkItem(t),children:[(0,$.jsx)(`span`,{className:`mt-0.5 shrink-0 text-muted-foreground text-xs`,children:t.key}),(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,$.jsx)(`span`,{className:`block truncate text-sm`,children:t.title}),(0,$.jsxs)(`span`,{className:`mt-0.5 flex flex-wrap items-center gap-1.5 text-[11px] text-muted-foreground`,children:[t.issueType?(0,$.jsx)(`span`,{children:t.issueType}):null,t.assignee?(0,$.jsx)(`span`,{children:t.assignee}):null,t.priorityDetail??t.priority?(0,$.jsxs)(`span`,{className:`inline-flex items-center gap-1`,children:[(0,$.jsx)(kn,{priority:t.priorityDetail??t.priority}),t.priority]}):null]})]}),(0,$.jsx)(`span`,{className:`mt-0.5 shrink-0 text-[11px] text-muted-foreground`,children:he(t)})]})}):(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4 px-4 py-4`,children:[(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start gap-3`,children:[(0,$.jsx)(Me,{className:`mt-0.5 size-4 shrink-0`}),(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`h3`,{className:`font-medium text-sm`,children:`Jira is not linked to this project`}),(0,$.jsx)(`p`,{className:`mt-1 text-muted-foreground text-xs`,children:`Select the Jira tab to choose the connection and project key.`})]})]}),(0,$.jsx)(Y,{type:`button`,variant:`outline`,size:`sm`,className:`h-7 shrink-0`,onClick:()=>e.onOpenTab(`workItems`),children:`Configure`})]}),t[95]=d,t[96]=u.isLoading,t[97]=e,t[98]=p.error,t[99]=p.isLoading,t[100]=x,t[101]=H):H=t[101];let U;t[102]!==me||t[103]!==xe||t[104]!==H?(U=(0,$.jsxs)(`div`,{className:`divide-y divide-border/60 border-border/60 border-t`,children:[me,xe,H]}),t[102]=me,t[103]=xe,t[104]=H,t[105]=U):U=t[105];let W;return t[106]!==L||t[107]!==U?(W=(0,$.jsxs)(`div`,{className:`h-full min-h-0 overflow-y-auto`,children:[L,U]}),t[106]=L,t[107]=U,t[108]=W):W=t[108],W}function En(e){return`${e.provider}:${e.key}`}function Dn(e){return`${e.provider}:${e.number}`}function On(e){return`${e.provider}:${e.number}`}function kn(e){let t=(0,Z.c)(3),n=typeof e.priority==`string`?void 0:e.priority?.iconUrl;if(n){let e;return t[0]===n?e=t[1]:(e=(0,$.jsx)(`img`,{src:n,alt:``,className:`size-3`,loading:`lazy`,decoding:`async`}),t[0]=n,t[1]=e),e}let r;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(oe,{className:`size-3`}),t[2]=r):r=t[2],r}function An(e){let t=(0,Z.c)(16),n;t[0]===e.accentClassName?n=t[1]:(n=W(`flex min-w-0 items-center gap-3 rounded-md border px-3 py-2 text-left transition-colors hover:bg-accent/40 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,e.accentClassName),t[0]=e.accentClassName,t[1]=n);let r;t[2]===e.icon?r=t[3]:(r=(0,$.jsx)(`span`,{className:`flex size-7 shrink-0 items-center justify-center rounded-md bg-background/70`,children:e.icon}),t[2]=e.icon,t[3]=r);let i;t[4]===e.value?i=t[5]:(i=(0,$.jsx)(`span`,{className:`block truncate font-semibold text-base leading-5`,children:e.value}),t[4]=e.value,t[5]=i);let a;t[6]===e.label?a=t[7]:(a=(0,$.jsx)(`span`,{className:`block truncate text-[11px] text-muted-foreground`,children:e.label}),t[6]=e.label,t[7]=a);let o;t[8]!==i||t[9]!==a?(o=(0,$.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[i,a]}),t[8]=i,t[9]=a,t[10]=o):o=t[10];let s;return t[11]!==e.onClick||t[12]!==n||t[13]!==r||t[14]!==o?(s=(0,$.jsxs)(`button`,{type:`button`,className:n,onClick:e.onClick,children:[r,o]}),t[11]=e.onClick,t[12]=n,t[13]=r,t[14]=o,t[15]=s):s=t[15],s}function jn(e){let t=(0,Z.c)(30),n;t[0]===e.accentClassName?n=t[1]:(n=W(`mt-0.5 shrink-0`,e.accentClassName),t[0]=e.accentClassName,t[1]=n);let r;t[2]!==e.icon||t[3]!==n?(r=(0,$.jsx)(`span`,{className:n,children:e.icon}),t[2]=e.icon,t[3]=n,t[4]=r):r=t[4];let i;t[5]===e.title?i=t[6]:(i=(0,$.jsx)(`h3`,{className:`font-medium text-sm`,children:e.title}),t[5]=e.title,t[6]=i);let a;t[7]===e.countLabel?a=t[8]:(a=(0,$.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:e.countLabel}),t[7]=e.countLabel,t[8]=a);let o;t[9]!==i||t[10]!==a?(o=(0,$.jsxs)(`div`,{className:`flex items-baseline gap-2`,children:[i,a]}),t[9]=i,t[10]=a,t[11]=o):o=t[11];let s;t[12]===e.description?s=t[13]:(s=(0,$.jsx)(`p`,{className:`mt-0.5 text-muted-foreground text-xs`,children:e.description}),t[12]=e.description,t[13]=s);let c;t[14]!==o||t[15]!==s?(c=(0,$.jsxs)(`div`,{className:`min-w-0`,children:[o,s]}),t[14]=o,t[15]=s,t[16]=c):c=t[16];let l;t[17]!==r||t[18]!==c?(l=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-start gap-2.5`,children:[r,c]}),t[17]=r,t[18]=c,t[19]=l):l=t[19];let u;t[20]===e.onOpenTab?u=t[21]:(u=(0,$.jsx)(Y,{type:`button`,variant:`ghost`,size:`sm`,className:`h-7 shrink-0 px-2 text-xs`,onClick:e.onOpenTab,children:`View all`}),t[20]=e.onOpenTab,t[21]=u);let d;t[22]!==l||t[23]!==u?(d=(0,$.jsxs)(`header`,{className:`mb-2 flex items-start justify-between gap-3`,children:[l,u]}),t[22]=l,t[23]=u,t[24]=d):d=t[24];let f;t[25]===e?f=t[26]:(f=e.error?(0,$.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-destructive/20 bg-destructive/5 px-3 py-2 text-destructive text-xs`,children:[(0,$.jsx)(H,{className:`mt-0.5 size-3.5 shrink-0`}),(0,$.jsx)(`span`,{children:e.error instanceof Error?e.error.message:`Failed to load.`})]}):e.isLoading&&e.items.length===0?(0,$.jsx)(`p`,{className:`px-2 py-4 text-muted-foreground text-sm`,children:`Loading...`}):e.items.length===0?(0,$.jsx)(`p`,{className:`px-2 py-4 text-muted-foreground text-sm`,children:e.emptyText}):(0,$.jsx)(`div`,{className:`grid gap-1`,children:e.items.map(t=>(0,$.jsx)(`div`,{children:e.renderItem(t)},e.keyForItem(t)))}),t[25]=e,t[26]=f);let p;return t[27]!==f||t[28]!==d?(p=(0,$.jsxs)(`section`,{className:`px-4 py-4`,children:[d,f]}),t[27]=f,t[28]=d,t[29]=p):p=t[29],p}function Mn(e){let t=(0,Z.c)(76),[n,r]=(0,Q.useState)(e.initialTab),[i,a]=(0,Q.useState)(``),[o,s]=(0,Q.useState)(``),[c,l]=(0,Q.useState)(``),[u,d]=(0,Q.useState)(`open`),[f,p]=(0,Q.useState)(`open`),[m,h]=(0,Q.useState)(`open`),[g,_]=(0,Q.useState)(null),v;t[0]===e.memberProjects[0]?.physicalProjectKey?v=t[1]:(v=()=>e.memberProjects[0]?.physicalProjectKey??``,t[0]=e.memberProjects[0]?.physicalProjectKey,t[1]=v);let[y,b]=(0,Q.useState)(v),x=(0,Q.useRef)(null),S=(0,Q.useRef)(null),C=(0,Q.useRef)(null),w=(0,Q.useRef)(e.open),T=(0,Q.useRef)(e.initialTab),E;t[2]===e.memberProjects?E=t[3]:(E=e.memberProjects.map(Pn),t[2]=e.memberProjects,t[3]=E);let D=E,O;t[4]===D?O=t[5]:(O=D.join(`\0`),t[4]=D,t[5]=O);let k=O,A=D[0]??``,j;t[6]!==e.memberProjects||t[7]!==y?(j=e.memberProjects.find(e=>e.physicalProjectKey===y)??e.memberProjects[0]??null,t[6]=e.memberProjects,t[7]=y,t[8]=j):j=t[8];let M=j,N,ee;t[9]===e.open?(N=t[10],ee=t[11]):(N=()=>{e.open||_(null)},ee=[e.open],t[9]=e.open,t[10]=N,t[11]=ee),(0,Q.useEffect)(N,ee);let te,ne;t[12]!==A||t[13]!==D||t[14]!==e.initialTab||t[15]!==e.open?(te=()=>{let t=w.current,n=T.current;w.current=e.open,T.current=e.initialTab,e.open&&(!t||e.initialTab!==n)&&(r(e.initialTab),_(null),b(e=>D.includes(e)?e:A))},ne=[A,D,e.initialTab,e.open],t[12]=A,t[13]=D,t[14]=e.initialTab,t[15]=e.open,t[16]=te,t[17]=ne):(te=t[16],ne=t[17]),(0,Q.useEffect)(te,ne);let P;t[18]!==A||t[19]!==D||t[20]!==e.open?(P=()=>{e.open&&b(e=>D.includes(e)?e:A)},t[18]=A,t[19]=D,t[20]=e.open,t[21]=P):P=t[21];let re;t[22]!==A||t[23]!==k||t[24]!==D||t[25]!==e.open?(re=[A,k,D,e.open],t[22]=A,t[23]=k,t[24]=D,t[25]=e.open,t[26]=re):re=t[26],(0,Q.useEffect)(P,re);let ie,ae;t[27]!==n||t[28]!==e.open||t[29]!==g?(ie=()=>{if(!e.open||g!==null)return;let t=window.requestAnimationFrame(()=>{(n===`issues`?x.current:n===`prs`?S.current:n===`workItems`?C.current:null)?.focus()});return()=>window.cancelAnimationFrame(t)},ae=[e.open,n,g],t[27]=n,t[28]=e.open,t[29]=g,t[30]=ie,t[31]=ae):(ie=t[30],ae=t[31]),(0,Q.useEffect)(ie,ae);let F;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(F=e=>{_({kind:`issue`,number:e.number})},t[32]=F):F=t[32];let I=F,L;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(L=e=>{_({kind:`pr`,number:e.number})},t[33]=L):L=t[33];let oe=L,se;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(se=e=>{_({kind:`workItem`,key:e.key})},t[34]=se):se=t[34];let de=se,fe;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(fe=e=>{r(`issues`),_({kind:`issue`,number:e})},t[35]=fe):fe=t[35];let pe=fe,he;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(he=e=>{r(`prs`),_({kind:`pr`,number:e})},t[36]=he):he=t[36];let ve=he,z;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>{r(`workItems`),_({kind:`workItem`,key:e})},t[37]=z):z=t[37];let ye=z,B;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(B=()=>_(null),t[38]=B):B=t[38];let be=B,V;t[39]===n?V=t[40]:(V=e=>{if(!Ce({currentTarget:e.currentTarget,target:e.target})&&!we(e.target)){if(Te(e,`1`)){e.preventDefault(),r(`issues`),_(null);return}if(Te(e,`2`)){e.preventDefault(),r(`prs`),_(null);return}if(Te(e,`3`)){e.preventDefault(),r(`actions`),_(null);return}if((e.metaKey||e.ctrlKey)&&e.key===`4`){e.preventDefault(),r(`workItems`),_(null);return}e.key===`/`&&Ee(e)&&(e.preventDefault(),(n===`issues`?x.current:n===`prs`?S.current:n===`workItems`?C.current:null)?.focus())}},t[39]=n,t[40]=V);let xe=V,H;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(H={id:`overview`,label:`Overview`},t[41]=H):H=t[41];let U;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(U={id:`issues`,label:`Issues`},t[42]=U):U=t[42];let W;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(W={id:`prs`,label:`Pull requests`},t[43]=W):W=t[43];let Se;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(Se={id:`actions`,label:`Actions`},t[44]=Se):Se=t[44];let De;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(De=[H,U,W,Se,{id:`workItems`,label:`Jira`}],t[45]=De):De=t[45];let Oe=De,ke=n===`overview`?`Overview`:n===`issues`?`Issues`:n===`prs`?`Pull requests`:n===`actions`?`Actions`:`Jira`,Ae=`${e.projectName} · ${ke}`,je=e.memberProjects.length>1&&M!==null,G=M?.environmentId??null,K=M?.cwd??null,q;t[46]===Ae?q=t[47]:(q=(0,$.jsx)(Fe,{className:`truncate text-base`,children:Ae}),t[46]=Ae,t[47]=q);let Me;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,$.jsx)(`span`,{className:`shrink-0 text-muted-foreground text-xs pointer-coarse:hidden`,children:`⌘1 issues · ⌘2 PRs · ⌘3 Actions · ⌘4 Jira · / focus search · Esc close`}),t[48]=Me):Me=t[48];let J;t[49]===q?J=t[50]:(J=(0,$.jsxs)(`header`,{className:`flex items-center justify-between border-border/60 border-b py-3 pl-5 pr-14`,children:[q,Me]}),t[49]=q,t[50]=J);let Ne;t[51]!==e.memberProjects||t[52]!==y||t[53]!==je?(Ne=je?(0,$.jsxs)(`div`,{className:`flex items-center gap-2 border-border/60 border-b px-5 py-2`,children:[(0,$.jsx)(`span`,{className:`text-muted-foreground text-xs`,children:`Repository`}),(0,$.jsxs)(Ke,{value:y,onValueChange:e=>{typeof e==`string`&&b(e)},children:[(0,$.jsx)(We,{size:`sm`,className:`min-w-56`,children:(0,$.jsx)(Ge,{placeholder:`Select a repository`})}),(0,$.jsx)(He,{children:e.memberProjects.map(Nn)})]})]}):null,t[51]=e.memberProjects,t[52]=y,t[53]=je,t[54]=Ne):Ne=t[54];let Y;t[55]!==n||t[56]!==K||t[57]!==G||t[58]!==i||t[59]!==u||t[60]!==o||t[61]!==f||t[62]!==M?.id||t[63]!==g||t[64]!==c||t[65]!==m?(Y=g===null?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(le,{tabs:Oe,activeId:n,onSelect:e=>r(e)}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:n===`overview`?(0,$.jsx)(Tn,{environmentId:G,cwd:K,projectId:M?.id??null,onOpenTab:r,onSelectIssue:I,onSelectChangeRequest:oe,onSelectWorkItem:de}):n===`issues`?(0,$.jsx)(ce,{environmentId:G,cwd:K,searchInputRef:x,query:i,onQueryChange:a,stateFilter:u,onStateFilterChange:d,onSelect:I}):n===`prs`?(0,$.jsx)(R,{environmentId:G,cwd:K,searchInputRef:S,query:o,onQueryChange:s,stateFilter:f,onStateFilterChange:p,onSelect:oe}):n===`actions`?(0,$.jsx)(xn,{environmentId:G,cwd:K}):(0,$.jsx)(me,{environmentId:G,cwd:K,projectId:M?.id??null,searchInputRef:C,query:c,onQueryChange:l,stateFilter:m,onStateFilterChange:h,onSelect:de})})]}):g.kind===`issue`?(0,$.jsx)(_e,{environmentId:G,cwd:K,issueNumber:g.number,onBack:be,onSelectLinkedChangeRequest:ve}):g.kind===`pr`?(0,$.jsx)(ge,{environmentId:G,cwd:K,pullRequestNumber:g.number,onBack:be,onSelectLinkedIssue:pe,onSelectLinkedWorkItem:ye,onSelectPullRequest:ve}):(0,$.jsx)(ue,{environmentId:G,projectId:M?.id??null,cwd:K,workItemKey:g.key,onBack:be,onSelectLinkedChangeRequest:ve}),t[55]=n,t[56]=K,t[57]=G,t[58]=i,t[59]=u,t[60]=o,t[61]=f,t[62]=M?.id,t[63]=g,t[64]=c,t[65]=m,t[66]=Y):Y=t[66];let X;t[67]!==xe||t[68]!==J||t[69]!==Ne||t[70]!==Y?(X=(0,$.jsxs)(ze,{className:`project-glass-surface flex h-[88vh] max-h-[1060px] w-[90vw] max-w-[1340px] flex-col p-0 phone:h-[100dvh] phone:w-screen`,onKeyDown:xe,surface:`glass`,children:[J,Ne,Y]}),t[67]=xe,t[68]=J,t[69]=Ne,t[70]=Y,t[71]=X):X=t[71];let Pe;return t[72]!==e.onOpenChange||t[73]!==e.open||t[74]!==X?(Pe=(0,$.jsx)(Be,{open:e.open,onOpenChange:e.onOpenChange,children:X}),t[72]=e.onOpenChange,t[73]=e.open,t[74]=X,t[75]=Pe):Pe=t[75],Pe}function Nn(e){return(0,$.jsx)(Ue,{value:e.physicalProjectKey,children:(0,$.jsxs)(`span`,{className:`truncate`,children:[e.name,e.environmentLabel?(0,$.jsxs)(`span`,{className:`ml-1 text-muted-foreground`,children:[`· `,e.environmentLabel]}):null]})},e.physicalProjectKey)}function Pn(e){return e.physicalProjectKey}function Fn(e){switch(e){case`github`:return J;case`gitlab`:return K;case`forgejo`:return je;case`azure-devops`:return q;case`bitbucket`:return Ae;default:return G}}var In=[{id:`general`,label:`General`,Icon:V},{id:`location`,label:`Location`,Icon:B},{id:`atlassian`,label:`Atlassian`,Icon:$e},{id:`ai`,label:`AI`,Icon:xe}];function Ln(e){let t=e.target.repositoryIdentity?.remotes??[],n=e.target.repositoryIdentity?.locator.remoteName??null,r=e.preferredRemoteName&&t.some(t=>t.name===e.preferredRemoteName)?e.preferredRemoteName:null,[i,a]=(0,Q.useState)(!1),o=(0,Q.useRef)(null),s=()=>{e.projectAvatarUploadUnavailableReason||o.current?.click()},c=async t=>{a(!0);try{await e.onUploadAvatar(t)}finally{a(!1)}};return(0,$.jsxs)(`div`,{className:`space-y-6`,children:[(0,$.jsxs)(`section`,{className:`flex items-start gap-4`,children:[(0,$.jsxs)(`div`,{className:`relative flex size-24 shrink-0 items-center justify-center overflow-hidden rounded-xl border border-border/70 bg-secondary text-muted-foreground shadow-xs`,children:[(0,$.jsx)(Ne,{environmentId:e.target.environmentId,cwd:e.target.cwd,projectId:e.target.id,customAvatarContentHash:e.customAvatarContentHash,fillContainer:!0}),i?(0,$.jsx)(`div`,{className:`absolute inset-0 grid place-items-center bg-background/60 text-xs`,children:`…`}):null]}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1.5`,children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Project image`}),(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:e.projectAvatarUploadUnavailableReason?e.projectAvatarUploadUnavailableReason:e.customAvatarContentHash?`PNG, JPG, or WebP · up to 2 MB`:`Using auto-detected favicon · upload to override`}),(0,$.jsxs)(`div`,{className:`flex gap-2 pt-1`,children:[(0,$.jsx)(Y,{size:`xs`,variant:`outline`,onClick:s,disabled:i||e.projectAvatarUploadUnavailableReason!==null,title:e.projectAvatarUploadUnavailableReason??void 0,children:`Upload`}),(0,$.jsx)(Y,{size:`xs`,variant:`ghost`,onClick:()=>void e.onRemoveAvatar(),disabled:!e.customAvatarContentHash||i,children:`Remove`})]}),(0,$.jsx)(`input`,{ref:o,type:`file`,accept:`image/png,image/jpeg,image/webp`,className:`hidden`,disabled:e.projectAvatarUploadUnavailableReason!==null,onChange:e=>{let t=e.target.files?.[0];t&&c(t),e.target.value=``}})]})]}),(0,$.jsxs)(`section`,{className:`space-y-1.5`,children:[(0,$.jsx)(`label`,{htmlFor:`project-display-name`,className:`text-xs font-medium text-foreground`,children:`Display name`}),(0,$.jsx)(Oe,{id:`project-display-name`,"aria-label":`Project display name`,value:e.title,onChange:t=>e.onTitleChange(t.target.value)})]}),t.length>0?(0,$.jsxs)(`section`,{className:`space-y-2`,children:[(0,$.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Linked repositories`}),t.length>1?(0,$.jsxs)(`span`,{className:`text-[11px] text-muted-foreground`,children:[t.length,` remotes`]}):null]}),t.length>1?(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Pick which remote the sidebar "Open remote" uses.`}):null,(0,$.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-border/70`,children:[t.length>1?(0,$.jsxs)(`button`,{type:`button`,onClick:()=>e.onPreferredRemoteChange(null),className:W(`flex w-full items-center gap-3 border-b border-border/70 px-3 py-2 text-left`,r===null&&`bg-accent/50`),children:[(0,$.jsx)(`span`,{className:W(`grid size-4 shrink-0 place-items-center rounded-full border`,r===null?`border-foreground`:`border-muted-foreground/40`),"aria-hidden":`true`,children:r===null?(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-foreground`}):null}),(0,$.jsxs)(`span`,{className:`text-xs`,children:[`Auto-detect`,n?` (currently: ${n})`:``]})]}):null,t.map((i,a)=>{let o=r===i.name||r===null&&i.name===n&&t.length===1,s=Fn(i.provider??void 0);return(0,$.jsxs)(`div`,{className:W(`flex items-center gap-3 px-3 py-2`,a>0||t.length>1?`border-t border-border/70`:``,o&&`bg-accent/50`),children:[t.length>1?(0,$.jsx)(`button`,{type:`button`,onClick:()=>e.onPreferredRemoteChange(i.name),className:`shrink-0`,"aria-label":`Use ${i.name} as primary`,children:(0,$.jsx)(`span`,{className:W(`grid size-4 place-items-center rounded-full border`,o?`border-foreground`:`border-muted-foreground/40`),children:o?(0,$.jsx)(`span`,{className:`size-2 rounded-full bg-foreground`}):null})}):null,(0,$.jsx)(s,{className:`size-4 shrink-0 text-muted-foreground`}),(0,$.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,$.jsx)(`span`,{className:`text-xs font-medium`,children:i.name}),o&&t.length>1?(0,$.jsx)(`span`,{className:`rounded bg-muted px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:`primary`}):null]}),(0,$.jsx)(`div`,{className:`truncate font-mono text-[11px] text-muted-foreground`,children:i.ownerRepo??i.url})]}),(0,$.jsxs)(Y,{size:`xs`,variant:`ghost`,onClick:()=>e.onOpenRemote(e.target,i.name),children:[(0,$.jsx)(ye,{className:`size-3.5`}),`Open`]})]},i.name)})]})]}):null]})}function Rn(e){let t=(0,Z.c)(23),n=`~/.ryco/worktrees/${e.projectId}/`,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(`label`,{htmlFor:`project-root`,className:`text-xs font-medium text-foreground`,children:`Project root`}),i=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`The absolute path the project is anchored to.`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a,o;t[2]===e?(a=t[3],o=t[4]):(a=t=>e.onWorkspaceRootChange(t.target.value),o=t=>{t.key===`Enter`&&(t.preventDefault(),e.onSave())},t[2]=e,t[3]=a,t[4]=o);let s;t[5]!==e.workspaceRoot||t[6]!==a||t[7]!==o?(s=(0,$.jsx)(Oe,{id:`project-root`,"aria-label":`Project root`,value:e.workspaceRoot,onChange:a,onKeyDown:o}),t[5]=e.workspaceRoot,t[6]=a,t[7]=o,t[8]=s):s=t[8];let c;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,$.jsx)(B,{className:`size-4`}),t[9]=c):c=t[9];let l;t[10]===e.onPickWorkspaceRoot?l=t[11]:(l=(0,$.jsxs)(Y,{variant:`outline`,onClick:e.onPickWorkspaceRoot,children:[c,`Browse`]}),t[10]=e.onPickWorkspaceRoot,t[11]=l);let u;t[12]!==s||t[13]!==l?(u=(0,$.jsxs)(`section`,{className:`space-y-1.5`,children:[r,i,(0,$.jsxs)(`div`,{className:`flex gap-2`,children:[s,l]})]}),t[12]=s,t[13]=l,t[14]=u):u=t[14];let d;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Worktrees location`}),t[15]=d):d=t[15];let f;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`span`,{className:`font-mono`,children:`<branch>__<word>`}),t[16]=f):f=t[16];let p;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,children:[`New worktrees for this project are created here. Each one is named`,` `,f,`, where`,` `,(0,$.jsx)(`span`,{className:`font-mono`,children:`<word>`}),` is a random 5-letter suffix that disambiguates multiple checkouts of the same branch.`]}),t[17]=p):p=t[17];let m;t[18]===n?m=t[19]:(m=(0,$.jsxs)(`section`,{className:`space-y-1.5`,children:[d,p,(0,$.jsx)(`div`,{className:`rounded-md border border-dashed border-border/70 bg-muted/20 px-3 py-2`,children:(0,$.jsx)(`div`,{className:`truncate font-mono text-xs`,children:n})})]}),t[18]=n,t[19]=m);let h;return t[20]!==m||t[21]!==u?(h=(0,$.jsxs)(`div`,{className:`space-y-6`,children:[u,m]}),t[20]=m,t[21]=u,t[22]=h):h=t[22],h}var zn=`__none__`;function Bn(e){return e.models.find(e=>!e.isCustom)?.slug??e.models[0]?.slug??l[e.driverKind]??`gpt-5.6-terra`}function Vn(e){let t=(0,Z.c)(35),n=w(),r=h(),i;t[0]===e.target.environmentId?i=t[1]:(i=t=>e.target.environmentId?t.byId[e.target.environmentId]:null,t[0]=e.target.environmentId,t[1]=i);let a=v(i),o=n&&e.target.environmentId===n?r:a?.serverConfig??r;o?.providers;let s;t[2]===o?.providers?s=t[3]:(s=D(k(o?.providers??[])).filter(Gn),t[2]=o?.providers,t[3]=s);let c=s,l=e.defaultModelSelection,u;t[4]!==c||t[5]!==l?(u=l?c.find(e=>e.instanceId===l.instanceId):void 0,t[4]=c,t[5]=l,t[6]=u):u=t[6];let d=u,f;bb0:{if(!d){let e;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[7]=e):e=t[7],f=e;break bb0}let e;t[8]!==d.models||t[9]!==l?(e=d.models.map(Wn),l&&!e.some(e=>e.slug===l.model)&&e.push({slug:l.model,label:l.model}),t[8]=d.models,t[9]=l,t[10]=e):e=t[10],f=e}let p=f,m=l?.instanceId??zn,g;t[11]!==c||t[12]!==e||t[13]!==l?.instanceId?(g=t=>{if(!t||t===zn){e.onDefaultModelSelectionChange(null);return}if(t===l?.instanceId)return;let n=c.find(e=>e.instanceId===t);n&&e.onDefaultModelSelectionChange(T(n.instanceId,Bn(n)))},t[11]=c,t[12]=e,t[13]=l?.instanceId,t[14]=g):g=t[14];let _=d?.displayName??(l?l.instanceId:`No project default`),y;t[15]===_?y=t[16]:(y=(0,$.jsx)(We,{"aria-label":`Default agent`,className:`w-full`,children:(0,$.jsx)(Ge,{children:_})}),t[15]=_,t[16]=y);let b;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,$.jsx)(Ue,{value:zn,children:`No project default`}),t[17]=b):b=t[17];let x;t[18]===c?x=t[19]:(x=c.map(Un),t[18]=c,t[19]=x);let S;t[20]===x?S=t[21]:(S=(0,$.jsxs)(He,{children:[b,x]}),t[20]=x,t[21]=S);let C;t[22]!==S||t[23]!==m||t[24]!==g||t[25]!==y?(C=(0,$.jsx)(ir,{label:`Default agent`,children:(0,$.jsxs)(Ke,{value:m,onValueChange:g,children:[y,S]})}),t[22]=S,t[23]=m,t[24]=g,t[25]=y,t[26]=C):C=t[26];let E;t[27]!==p||t[28]!==e||t[29]!==l?(E=l?(0,$.jsx)(ir,{label:`Default model`,children:(0,$.jsxs)(Ke,{value:l.model,onValueChange:t=>{!t||t===l.model||e.onDefaultModelSelectionChange(T(l.instanceId,t))},children:[(0,$.jsx)(We,{"aria-label":`Default model`,className:`w-full`,children:(0,$.jsx)(Ge,{children:p.find(e=>e.slug===l.model)?.label??l.model})}),(0,$.jsx)(He,{children:p.map(Hn)})]})}):null,t[27]=p,t[28]=e,t[29]=l,t[30]=E):E=t[30];let O;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`New threads on this project start with this agent and model. Existing threads and per-thread selections are not affected.`}),t[31]=O):O=t[31];let A;return t[32]!==C||t[33]!==E?(A=(0,$.jsxs)(`div`,{className:`grid gap-4`,children:[C,E,O]}),t[32]=C,t[33]=E,t[34]=A):A=t[34],A}function Hn(e){return(0,$.jsx)(Ue,{value:e.slug,children:e.label},e.slug)}function Un(e){return(0,$.jsx)(Ue,{value:e.instanceId,children:e.displayName},e.instanceId)}function Wn(e){return{slug:e.slug,label:e.name}}function Gn(e){return e.enabled&&e.isAvailable}function Kn(e){let t=(0,Z.c)(22),n=e.customSystemPrompt.length,r=Math.floor(c*.9),i=n>=2e4?`text-destructive`:n>=r?`text-amber-600 dark:text-amber-400`:`text-muted-foreground`,a;t[0]!==e.defaultModelSelection||t[1]!==e.onDefaultModelSelectionChange||t[2]!==e.target?(a=(0,$.jsx)(Vn,{target:e.target,defaultModelSelection:e.defaultModelSelection,onDefaultModelSelectionChange:e.onDefaultModelSelectionChange}),t[0]=e.defaultModelSelection,t[1]=e.onDefaultModelSelectionChange,t[2]=e.target,t[3]=a):a=t[3];let o,s;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,$.jsx)(`label`,{htmlFor:`project-custom-system-prompt`,className:`text-xs font-medium text-foreground`,children:`Custom system prompt`}),s=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Appended to every assistant prompt for this project.`}),t[4]=o,t[5]=s):(o=t[4],s=t[5]);let l;t[6]===e?l=t[7]:(l=t=>e.onCustomSystemPromptChange(t.target.value),t[6]=e,t[7]=l);let u;t[8]!==e.customSystemPrompt||t[9]!==l?(u=(0,$.jsx)(Ve,{id:`project-custom-system-prompt`,"aria-label":`Custom system prompt`,value:e.customSystemPrompt,maxLength:c,placeholder:`Always use TypeScript.`,className:`min-h-32 resize-y pr-20`,onChange:l}),t[8]=e.customSystemPrompt,t[9]=l,t[10]=u):u=t[10];let d;t[11]===i?d=t[12]:(d=W(`pointer-events-none absolute bottom-2 right-3 text-[11px]`,i),t[11]=i,t[12]=d);let f;t[13]!==n||t[14]!==d?(f=(0,$.jsxs)(`span`,{className:d,children:[n,` / `,c]}),t[13]=n,t[14]=d,t[15]=f):f=t[15];let p;t[16]!==u||t[17]!==f?(p=(0,$.jsxs)(`div`,{className:`space-y-2`,children:[o,s,(0,$.jsxs)(`div`,{className:`relative`,children:[u,f]})]}),t[16]=u,t[17]=f,t[18]=p):p=t[18];let m;return t[19]!==a||t[20]!==p?(m=(0,$.jsxs)(`div`,{className:`space-y-6`,children:[a,p]}),t[19]=a,t[20]=p,t[21]=m):m=t[21],m}var qn=`Not configured`;function Jn(e){return e??qn}function Yn(e){return e===qn||e.trim().length===0?null:e}function Xn(e){return e.split(/[,\s]+/u).map(e=>e.trim().toUpperCase()).filter(Boolean)}function Zn(e){return e?.provider?.toLowerCase()===`bitbucket`?{workspace:e.owner??``,repoSlug:e.name??``}:{workspace:``,repoSlug:``}}function Qn(e){return t=>t.status===`connected`&&t.products.includes(e)}function $n(e){let t=(0,Z.c)(186),n=e.target,r=g(),i;t[0]===n?i=t[1]:(i=n?y(n.environmentId):null,t[0]=n,t[1]=i);let a=i?.client??null,[o,s]=(0,Q.useState)(qn),[c,l]=(0,Q.useState)(qn),[u,f]=(0,Q.useState)(``),[p,m]=(0,Q.useState)(``),[h,_]=(0,Q.useState)(``),[v,b]=(0,Q.useState)(``),[x,S]=(0,Q.useState)(`{issueKey}-{titleSlug}`),[C,w]=(0,Q.useState)(`{issueKey}: {summary}`),[T,E]=(0,Q.useState)(`{issueKey}: {summary}`),[D,O]=(0,Q.useState)(!0),[k,A]=(0,Q.useState)(!0),j=(0,Q.useRef)(!1),M=(0,Q.useRef)(null),N=n?.environmentId??null,ee=n?.id??null,te=a!==null&&n!==null,ne;t[2]!==N||t[3]!==ee||t[4]!==te?(ne={environmentId:N,projectId:ee,enabled:te},t[2]=N,t[3]=ee,t[4]=te,t[5]=ne):ne=t[5];let P=Xe(ne),re=n?.environmentId??null,ie=a!==null,ae;t[6]!==re||t[7]!==ie?(ae={environmentId:re,enabled:ie},t[6]=re,t[7]=ie,t[8]=ae):ae=t[8];let F=Ze(ae),I;t[9]===F.data?I=t[10]:(I=(F.data??[]).filter(Qn(`jira`)),t[9]=F.data,t[10]=I);let L=I,oe;t[11]===F.data?oe=t[12]:(oe=(F.data??[]).filter(Qn(`bitbucket`)),t[11]=F.data,t[12]=oe);let se=oe,ce;t[13]!==se[0]?.connectionId||t[14]!==L[0]?.connectionId||t[15]!==P.data||t[16]!==n?(ce=()=>{if(!n)return;let e=`${n.environmentId}:${n.id}`;if(M.current!==e&&(M.current=e,j.current=!1),j.current)return;let t=P.data,r=Zn(n.repositoryIdentity);s(Jn(t?.jiraConnectionId??L[0]?.connectionId)),l(Jn(t?.bitbucketConnectionId??se[0]?.connectionId)),f(t?.jiraProjectKeys.join(`, `)??``),m(t?.bitbucketWorkspace??r.workspace),_(t?.bitbucketRepoSlug??r.repoSlug),b(t?.defaultIssueTypeName??``),S(t?.branchNameTemplate??`{issueKey}-{titleSlug}`),w(t?.commitMessageTemplate??`{issueKey}: {summary}`),E(t?.pullRequestTitleTemplate??`{issueKey}: {summary}`),O(t?.smartLinkingEnabled??!0),A(t?.autoAttachWorkItems??!0)},t[13]=se[0]?.connectionId,t[14]=L[0]?.connectionId,t[15]=P.data,t[16]=n,t[17]=ce):ce=t[17];let le;t[18]!==se||t[19]!==L||t[20]!==P.data||t[21]!==n?(le=[se,L,P.data,n],t[18]=se,t[19]=L,t[20]=P.data,t[21]=n,t[22]=le):le=t[22],(0,Q.useEffect)(ce,le);let ue;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(ue=()=>{j.current=!0},t[23]=ue):ue=t[23];let R=ue,de;t[24]!==r||t[25]!==n?.environmentId||t[26]!==n?.id?(de=()=>{Je({environmentId:n?.environmentId??null}),qe({environmentId:n?.environmentId??null,projectId:n?.id??null}),r.invalidateQueries({queryKey:[`atlassian`]}),r.invalidateQueries({queryKey:[`workItems`]})},t[24]=r,t[25]=n?.environmentId,t[26]=n?.id,t[27]=de):de=t[27];let me=de,he;t[28]!==k||t[29]!==c||t[30]!==h||t[31]!==p||t[32]!==x||t[33]!==a||t[34]!==C||t[35]!==v||t[36]!==o||t[37]!==u||t[38]!==P.data?.jiraCloudId||t[39]!==T||t[40]!==D||t[41]!==n?(he=async()=>{if(!a||!n)throw Error(`Project connection is unavailable.`);let e=x.trim(),t=C.trim(),r=T.trim();if(!e||!t||!r)throw Error(`Branch, commit, and pull request templates cannot be empty.`);return a.atlassian.saveProjectLink({projectId:n.id,jiraConnectionId:Yn(o),bitbucketConnectionId:Yn(c),jiraCloudId:P.data?.jiraCloudId??null,jiraSiteUrl:null,jiraProjectKeys:Xn(u),bitbucketWorkspace:p.trim()||null,bitbucketRepoSlug:h.trim()||null,defaultIssueTypeName:v.trim()||null,branchNameTemplate:e,commitMessageTemplate:t,pullRequestTitleTemplate:r,smartLinkingEnabled:D,autoAttachWorkItems:k})},t[28]=k,t[29]=c,t[30]=h,t[31]=p,t[32]=x,t[33]=a,t[34]=C,t[35]=v,t[36]=o,t[37]=u,t[38]=P.data?.jiraCloudId,t[39]=T,t[40]=D,t[41]=n,t[42]=he):he=t[42];let ge;t[43]===me?ge=t[44]:(ge=()=>{j.current=!1,me(),z.add(X({type:`success`,title:`Atlassian project settings saved`,description:`Jira and Bitbucket defaults were updated for this project.`}))},t[43]=me,t[44]=ge);let _e;t[45]!==he||t[46]!==ge?(_e={mutationFn:he,onSuccess:ge,onError:rr},t[45]=he,t[46]=ge,t[47]=_e):_e=t[47];let ve=d(_e),ye;t[48]!==a||t[49]!==P.data||t[50]!==n?(ye=async()=>{if(!a||!n)throw Error(`Project connection is unavailable.`);return a.atlassian.saveProjectLink(pe({projectId:n.id,existing:P.data??null}))},t[48]=a,t[49]=P.data,t[50]=n,t[51]=ye):ye=t[51];let B;t[52]===me?B=t[53]:(B=()=>{j.current=!1,s(qn),f(``),me(),z.add(X({type:`success`,title:`Jira project unlinked`,description:`Bitbucket mapping and project templates were left unchanged.`}))},t[52]=me,t[53]=B);let be;t[54]!==ye||t[55]!==B?(be={mutationFn:ye,onSuccess:B,onError:nr},t[54]=ye,t[55]=B,t[56]=be):be=t[56];let V=d(be),xe=P.isLoading||F.isLoading,H=a===null||n===null||ve.isPending||V.isPending,U=P.data?.jiraConnectionId!==null&&P.data?.jiraConnectionId!==void 0&&P.data.jiraProjectKeys.length>0,W;t[57]===o?W=t[58]:(W=Yn(o),t[57]=o,t[58]=W);let Se=W,Ce;if(t[59]!==L||t[60]!==Se){let e;t[62]===Se?e=t[63]:(e=e=>e.connectionId===Se,t[62]=Se,t[63]=e),Ce=L.find(e),t[59]=L,t[60]=Se,t[61]=Ce}else Ce=t[61];let we=Ce?.baseUrl??P.data?.jiraSiteUrl??``,Te;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,$.jsx)($e,{className:`size-4 shrink-0 text-muted-foreground`}),t[64]=Te):Te=t[64];let Ee;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(Ee=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[Te,(0,$.jsxs)(`div`,{className:`min-w-0`,children:[(0,$.jsx)(`div`,{className:`truncate text-xs font-medium text-foreground`,children:`Atlassian workflow`}),(0,$.jsx)(`p`,{className:`mt-1 text-[11px] text-muted-foreground`,children:`Project-scoped Jira, Bitbucket, and smart-link defaults.`})]})]}),t[65]=Ee):Ee=t[65];let ke;t[66]===xe?ke=t[67]:(ke=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[Ee,xe?(0,$.jsx)(`span`,{className:`text-[11px] text-muted-foreground`,children:`Loading`}):(0,$.jsx)(`span`,{className:`rounded bg-background px-1.5 py-0.5 text-[10px] text-muted-foreground`,children:`Project defaults`})]}),t[66]=xe,t[67]=ke);let Ae;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Connections`}),t[68]=Ae):Ae=t[68];let je;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,$.jsx)(`label`,{className:`text-xs font-medium text-foreground`,children:`Jira connection`}),t[69]=je):je=t[69];let G;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(G=e=>{typeof e==`string`&&(R(),s(e))},t[70]=G):G=t[70];let K;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,$.jsx)(Ge,{placeholder:`Select Jira connection`}),t[71]=K):K=t[71];let q;t[72]===H?q=t[73]:(q=(0,$.jsx)(We,{size:`sm`,disabled:H,children:K}),t[72]=H,t[73]=q);let Me;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,$.jsx)(Ue,{value:qn,children:`Not configured`}),t[74]=Me):Me=t[74];let J;t[75]===L?J=t[76]:(J=L.map(tr),t[75]=L,t[76]=J);let Ne;t[77]===J?Ne=t[78]:(Ne=(0,$.jsxs)(He,{children:[Me,J]}),t[77]=J,t[78]=Ne);let Pe;t[79]!==o||t[80]!==q||t[81]!==Ne?(Pe=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[je,(0,$.jsxs)(Ke,{value:o,onValueChange:G,children:[q,Ne]})]}),t[79]=o,t[80]=q,t[81]=Ne,t[82]=Pe):Pe=t[82];let Fe;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=(0,$.jsx)(`label`,{className:`text-xs font-medium text-foreground`,children:`Bitbucket connection`}),t[83]=Fe):Fe=t[83];let Ie;t[84]===Symbol.for(`react.memo_cache_sentinel`)?(Ie=e=>{typeof e==`string`&&(R(),l(e))},t[84]=Ie):Ie=t[84];let Le;t[85]===Symbol.for(`react.memo_cache_sentinel`)?(Le=(0,$.jsx)(Ge,{placeholder:`Select Bitbucket connection`}),t[85]=Le):Le=t[85];let Re;t[86]===H?Re=t[87]:(Re=(0,$.jsx)(We,{size:`sm`,disabled:H,children:Le}),t[86]=H,t[87]=Re);let ze;t[88]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,$.jsx)(Ue,{value:qn,children:`Not configured`}),t[88]=ze):ze=t[88];let Be;t[89]===se?Be=t[90]:(Be=se.map(er),t[89]=se,t[90]=Be);let Ve;t[91]===Be?Ve=t[92]:(Ve=(0,$.jsxs)(He,{children:[ze,Be]}),t[91]=Be,t[92]=Ve);let Ye;t[93]!==c||t[94]!==Re||t[95]!==Ve?(Ye=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[Fe,(0,$.jsxs)(Ke,{value:c,onValueChange:Ie,children:[Re,Ve]})]}),t[93]=c,t[94]=Re,t[95]=Ve,t[96]=Ye):Ye=t[96];let Qe;t[97]!==Pe||t[98]!==Ye?(Qe=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[Ae,(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[Pe,Ye]})]}),t[97]=Pe,t[98]=Ye,t[99]=Qe):Qe=t[99];let et;t[100]===Symbol.for(`react.memo_cache_sentinel`)?(et=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Repository mapping`}),t[100]=et):et=t[100];let tt=n?.environmentId??null,nt;t[101]===Symbol.for(`react.memo_cache_sentinel`)?(nt=e=>{R(),f(e)},t[101]=nt):nt=t[101];let rt;t[102]!==H||t[103]!==u||t[104]!==Se||t[105]!==we||t[106]!==tt?(rt=(0,$.jsx)(fe,{environmentId:tt,connectionId:Se,siteUrl:we,projectKeys:u,disabled:H,onProjectKeysChange:nt}),t[102]=H,t[103]=u,t[104]=Se,t[105]=we,t[106]=tt,t[107]=rt):rt=t[107];let it;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(it=e=>{R(),f(e.currentTarget.value)},t[108]=it):it=t[108];let at;t[109]!==H||t[110]!==u?(at=(0,$.jsx)(Oe,{size:`sm`,value:u,disabled:H,placeholder:`WEB, API`,onChange:it}),t[109]=H,t[110]=u,t[111]=at):at=t[111];let ot;t[112]!==rt||t[113]!==at?(ot=(0,$.jsxs)(ir,{label:`Jira project keys`,children:[rt,at]}),t[112]=rt,t[113]=at,t[114]=ot):ot=t[114];let st;t[115]===Symbol.for(`react.memo_cache_sentinel`)?(st=e=>{R(),m(e.currentTarget.value)},t[115]=st):st=t[115];let ct;t[116]!==p||t[117]!==H?(ct=(0,$.jsx)(ir,{label:`Bitbucket workspace`,children:(0,$.jsx)(Oe,{size:`sm`,value:p,disabled:H,placeholder:`workspace`,onChange:st})}),t[116]=p,t[117]=H,t[118]=ct):ct=t[118];let lt;t[119]===Symbol.for(`react.memo_cache_sentinel`)?(lt=e=>{R(),_(e.currentTarget.value)},t[119]=lt):lt=t[119];let ut;t[120]!==h||t[121]!==H?(ut=(0,$.jsx)(ir,{label:`Bitbucket repo slug`,children:(0,$.jsx)(Oe,{size:`sm`,value:h,disabled:H,placeholder:`repo-slug`,onChange:lt})}),t[120]=h,t[121]=H,t[122]=ut):ut=t[122];let dt;t[123]!==ot||t[124]!==ct||t[125]!==ut?(dt=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[et,(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[ot,ct,ut]})]}),t[123]=ot,t[124]=ct,t[125]=ut,t[126]=dt):dt=t[126];let ft;t[127]===Symbol.for(`react.memo_cache_sentinel`)?(ft=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Templates`}),t[127]=ft):ft=t[127];let pt;t[128]===Symbol.for(`react.memo_cache_sentinel`)?(pt=e=>{R(),b(e.currentTarget.value)},t[128]=pt):pt=t[128];let mt;t[129]!==v||t[130]!==H?(mt=(0,$.jsx)(ir,{label:`Default issue type`,children:(0,$.jsx)(Oe,{size:`sm`,value:v,disabled:H,placeholder:`Task`,onChange:pt})}),t[129]=v,t[130]=H,t[131]=mt):mt=t[131];let ht;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(ht=e=>{R(),S(e.currentTarget.value)},t[132]=ht):ht=t[132];let gt;t[133]!==x||t[134]!==H?(gt=(0,$.jsx)(ir,{label:`Branch template`,children:(0,$.jsx)(Oe,{size:`sm`,value:x,disabled:H,onChange:ht})}),t[133]=x,t[134]=H,t[135]=gt):gt=t[135];let _t;t[136]===Symbol.for(`react.memo_cache_sentinel`)?(_t=e=>{R(),w(e.currentTarget.value)},t[136]=_t):_t=t[136];let vt;t[137]!==C||t[138]!==H?(vt=(0,$.jsx)(ir,{label:`Commit template`,children:(0,$.jsx)(Oe,{size:`sm`,value:C,disabled:H,onChange:_t})}),t[137]=C,t[138]=H,t[139]=vt):vt=t[139];let yt;t[140]===Symbol.for(`react.memo_cache_sentinel`)?(yt=e=>{R(),E(e.currentTarget.value)},t[140]=yt):yt=t[140];let bt;t[141]!==H||t[142]!==T?(bt=(0,$.jsx)(ir,{label:`PR title template`,children:(0,$.jsx)(Oe,{size:`sm`,value:T,disabled:H,onChange:yt})}),t[141]=H,t[142]=T,t[143]=bt):bt=t[143];let xt;t[144]!==mt||t[145]!==gt||t[146]!==vt||t[147]!==bt?(xt=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[ft,(0,$.jsxs)(`div`,{className:`grid gap-3`,children:[mt,gt,vt,bt]})]}),t[144]=mt,t[145]=gt,t[146]=vt,t[147]=bt,t[148]=xt):xt=t[148];let St;t[149]===Symbol.for(`react.memo_cache_sentinel`)?(St=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Automation`}),t[149]=St):St=t[149];let Ct;t[150]===Symbol.for(`react.memo_cache_sentinel`)?(Ct=(0,$.jsx)(`span`,{children:`Smart-link Jira keys in branches, commits, and PRs`}),t[150]=Ct):Ct=t[150];let wt;t[151]===Symbol.for(`react.memo_cache_sentinel`)?(wt=e=>{R(),O(!!e)},t[151]=wt):wt=t[151];let Tt;t[152]!==H||t[153]!==D?(Tt=(0,$.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-md border border-border/70 bg-background/60 px-3 py-2 text-xs`,children:[Ct,(0,$.jsx)(De,{checked:D,disabled:H,onCheckedChange:wt})]}),t[152]=H,t[153]=D,t[154]=Tt):Tt=t[154];let Et;t[155]===Symbol.for(`react.memo_cache_sentinel`)?(Et=(0,$.jsx)(`span`,{children:`Attach linked work items to project explorer workflows`}),t[155]=Et):Et=t[155];let Dt;t[156]===Symbol.for(`react.memo_cache_sentinel`)?(Dt=e=>{R(),A(!!e)},t[156]=Dt):Dt=t[156];let Ot;t[157]!==k||t[158]!==H?(Ot=(0,$.jsxs)(`label`,{className:`flex items-center justify-between gap-3 rounded-md border border-border/70 bg-background/60 px-3 py-2 text-xs`,children:[Et,(0,$.jsx)(De,{checked:k,disabled:H,onCheckedChange:Dt})]}),t[157]=k,t[158]=H,t[159]=Ot):Ot=t[159];let kt;t[160]!==Tt||t[161]!==Ot?(kt=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[St,(0,$.jsxs)(`div`,{className:`grid gap-2`,children:[Tt,Ot]})]}),t[160]=Tt,t[161]=Ot,t[162]=kt):kt=t[162];let At;t[163]===Symbol.for(`react.memo_cache_sentinel`)?(At=(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Tokens live in Source Control settings. These defaults belong only to this project.`}),t[163]=At):At=t[163];let jt=H||!U,Mt;t[164]===V?Mt=t[165]:(Mt=()=>V.mutate(),t[164]=V,t[165]=Mt);let Nt=V.isPending?`Unlinking...`:`Unlink Jira`,Pt;t[166]!==jt||t[167]!==Mt||t[168]!==Nt?(Pt=(0,$.jsx)(Y,{type:`button`,size:`sm`,variant:`destructive-outline`,className:`h-8`,disabled:jt,onClick:Mt,children:Nt}),t[166]=jt,t[167]=Mt,t[168]=Nt,t[169]=Pt):Pt=t[169];let Ft;t[170]===ve?Ft=t[171]:(Ft=()=>ve.mutate(),t[170]=ve,t[171]=Ft);let It=ve.isPending?`Saving...`:`Save Atlassian`,Lt;t[172]!==H||t[173]!==Ft||t[174]!==It?(Lt=(0,$.jsx)(Y,{type:`button`,size:`sm`,className:`h-8`,disabled:H,onClick:Ft,children:It}),t[172]=H,t[173]=Ft,t[174]=It,t[175]=Lt):Lt=t[175];let Rt;t[176]!==Pt||t[177]!==Lt?(Rt=(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-t border-border/70 pt-4`,children:[At,(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[Pt,Lt]})]}),t[176]=Pt,t[177]=Lt,t[178]=Rt):Rt=t[178];let zt;return t[179]!==ke||t[180]!==Qe||t[181]!==dt||t[182]!==xt||t[183]!==kt||t[184]!==Rt?(zt=(0,$.jsxs)(`div`,{className:`space-y-5`,children:[ke,Qe,dt,xt,kt,Rt]}),t[179]=ke,t[180]=Qe,t[181]=dt,t[182]=xt,t[183]=kt,t[184]=Rt,t[185]=zt):zt=t[185],zt}function er(e){return(0,$.jsx)(Ue,{value:e.connectionId,children:e.label},e.connectionId)}function tr(e){return(0,$.jsx)(Ue,{value:e.connectionId,children:e.label},e.connectionId)}function nr(e){z.add(X({type:`error`,title:`Could not unlink Jira project`,description:e instanceof Error?e.message:`The project link was not saved.`}))}function rr(e){z.add(X({type:`error`,title:`Could not save Atlassian project settings`,description:e instanceof Error?e.message:`The project link was not saved.`}))}function ir(e){let t=(0,Z.c)(5),n;t[0]===e.label?n=t[1]:(n=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:e.label}),t[0]=e.label,t[1]=n);let r;return t[2]!==e.children||t[3]!==n?(r=(0,$.jsxs)(`label`,{className:`grid gap-1.5`,children:[n,e.children]}),t[2]=e.children,t[3]=n,t[4]=r):r=t[4],r}function ar(e){let t=(0,Z.c)(59),[n,r]=(0,Q.useState)(`general`),i;t[0]===e.open?i=t[1]:(i=()=>{e.open&&r(`general`)},t[0]=e.open,t[1]=i);let a=e.target?.id,o;t[2]!==e.open||t[3]!==a?(o=[e.open,a],t[2]=e.open,t[3]=a,t[4]=o):o=t[4],(0,Q.useEffect)(i,o);let s=e.target;if(!s)return null;let c=s.environmentLabel?`${s.name} · ${s.environmentLabel}`:s.name,l;t[5]===n?l=t[6]:(l=In.findIndex(e=>e.id===n),t[5]=n,t[6]=l);let u=Math.max(0,l),d=e.open,f;t[7]===e?f=t[8]:(f=t=>{t||e.onClose()},t[7]=e,t[8]=f);let p;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(Fe,{className:`text-base font-semibold`,children:`Project settings`}),t[9]=p):p=t[9];let m;t[10]===c?m=t[11]:(m=(0,$.jsx)(`header`,{className:`flex h-14 shrink-0 items-center justify-between border-b border-border px-5`,children:(0,$.jsxs)(`div`,{className:`min-w-0`,children:[p,(0,$.jsx)(`p`,{className:`truncate text-xs text-muted-foreground`,children:c})]})}),t[10]=c,t[11]=m);let h=`translateY(${u*2.5}rem)`,g;t[12]===h?g=t[13]:(g=(0,$.jsx)(`span`,{className:`pointer-events-none absolute top-2 right-2 left-2 z-0 h-9 rounded-md bg-accent transition-transform duration-[240ms] ease-out`,style:{transform:h},"aria-hidden":!0}),t[12]=h,t[13]=g);let _;t[14]===n?_=t[15]:(_=In.map(e=>{let{id:t,label:i,Icon:a}=e,o=n===t;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:W(`relative z-10 flex h-9 items-center gap-2.5 rounded-md px-2 text-left text-[13px] outline-hidden ring-ring transition-colors duration-150 focus-visible:ring-2`,o?`font-medium text-foreground`:`text-muted-foreground/70 hover:text-foreground/80`),"aria-current":o?`page`:void 0,children:[(0,$.jsx)(a,{className:W(`size-4 shrink-0`,o?`text-foreground`:`text-muted-foreground/60`)}),(0,$.jsx)(`span`,{className:`hidden truncate sm:inline`,children:i})]},t)}),t[14]=n,t[15]=_);let v;t[16]!==_||t[17]!==g?(v=(0,$.jsxs)(`nav`,{className:`relative isolate flex w-12 shrink-0 flex-col gap-1 border-r border-border p-2 sm:w-48`,children:[g,_]}),t[16]=_,t[17]=g,t[18]=v):v=t[18];let y;t[19]!==e.customAvatarContentHash||t[20]!==e.customSystemPrompt||t[21]!==e.defaultModelSelection||t[22]!==e.onCustomSystemPromptChange||t[23]!==e.onDefaultModelSelectionChange||t[24]!==e.onOpenRemote||t[25]!==e.onPickWorkspaceRoot||t[26]!==e.onPreferredRemoteChange||t[27]!==e.onRemoveAvatar||t[28]!==e.onSave||t[29]!==e.onTitleChange||t[30]!==e.onUploadAvatar||t[31]!==e.onWorkspaceRootChange||t[32]!==e.preferredRemoteName||t[33]!==e.projectAvatarUploadUnavailableReason||t[34]!==e.title||t[35]!==e.workspaceRoot||t[36]!==n||t[37]!==s?(y=(0,$.jsx)(ke,{className:`min-h-0 flex-1 min-w-0`,children:(0,$.jsx)(`div`,{className:`mx-auto max-w-[520px] px-6 py-6`,children:n===`general`?(0,$.jsx)(Ln,{target:s,title:e.title,customAvatarContentHash:e.customAvatarContentHash,projectAvatarUploadUnavailableReason:e.projectAvatarUploadUnavailableReason,preferredRemoteName:e.preferredRemoteName,onTitleChange:e.onTitleChange,onPreferredRemoteChange:e.onPreferredRemoteChange,onUploadAvatar:e.onUploadAvatar,onRemoveAvatar:e.onRemoveAvatar,onOpenRemote:e.onOpenRemote}):n===`location`?(0,$.jsx)(Rn,{workspaceRoot:e.workspaceRoot,projectId:s.id,onWorkspaceRootChange:e.onWorkspaceRootChange,onPickWorkspaceRoot:e.onPickWorkspaceRoot,onSave:e.onSave}):n===`atlassian`?(0,$.jsx)($n,{target:s}):(0,$.jsx)(Kn,{target:s,customSystemPrompt:e.customSystemPrompt,defaultModelSelection:e.defaultModelSelection,onCustomSystemPromptChange:e.onCustomSystemPromptChange,onDefaultModelSelectionChange:e.onDefaultModelSelectionChange})})}),t[19]=e.customAvatarContentHash,t[20]=e.customSystemPrompt,t[21]=e.defaultModelSelection,t[22]=e.onCustomSystemPromptChange,t[23]=e.onDefaultModelSelectionChange,t[24]=e.onOpenRemote,t[25]=e.onPickWorkspaceRoot,t[26]=e.onPreferredRemoteChange,t[27]=e.onRemoveAvatar,t[28]=e.onSave,t[29]=e.onTitleChange,t[30]=e.onUploadAvatar,t[31]=e.onWorkspaceRootChange,t[32]=e.preferredRemoteName,t[33]=e.projectAvatarUploadUnavailableReason,t[34]=e.title,t[35]=e.workspaceRoot,t[36]=n,t[37]=s,t[38]=y):y=t[38];let b;t[39]!==v||t[40]!==y?(b=(0,$.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-row`,children:[v,y]}),t[39]=v,t[40]=y,t[41]=b):b=t[41];let x;t[42]===e.onClose?x=t[43]:(x=(0,$.jsx)(Y,{variant:`outline`,onClick:e.onClose,children:`Cancel`}),t[42]=e.onClose,t[43]=x);let S;t[44]!==e.onSave||t[45]!==e.saving||t[46]!==n?(S=n===`atlassian`?null:(0,$.jsx)(Y,{onClick:e.onSave,disabled:e.saving,children:e.saving?`Saving…`:`Save changes`}),t[44]=e.onSave,t[45]=e.saving,t[46]=n,t[47]=S):S=t[47];let C;t[48]!==x||t[49]!==S?(C=(0,$.jsxs)(`footer`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-border px-5 py-3`,children:[x,S]}),t[48]=x,t[49]=S,t[50]=C):C=t[50];let w;t[51]!==b||t[52]!==C||t[53]!==m?(w=(0,$.jsxs)(ze,{className:`project-glass-surface h-[min(70vh,620px)] max-w-[760px] overflow-hidden p-0 duration-[320ms] ease-[cubic-bezier(0.16,1,0.3,1)] data-ending-style:translate-y-4 data-starting-style:translate-y-4`,bottomStickOnMobile:!1,showCloseButton:!0,surface:`glass`,children:[m,b,C]}),t[51]=b,t[52]=C,t[53]=m,t[54]=w):w=t[54];let T;return t[55]!==e.open||t[56]!==w||t[57]!==f?(T=(0,$.jsx)(Be,{open:d,onOpenChange:f,children:w}),t[55]=e.open,t[56]=w,t[57]=f,t[58]=T):T=t[58],T}function or(e){let t=(0,Z.c)(38),{target:n,selection:r,globalGroupingMode:i,onSelectionChange:a,onClose:o,onSave:s}=e,c=n!==null,l;t[0]===o?l=t[1]:(l=e=>{e||o()},t[0]=o,t[1]=l);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,$.jsx)(Fe,{children:`Project grouping`}),t[2]=u):u=t[2];let d=n?`Choose how ${n.cwd} should be grouped in the sidebar.`:`Choose how this project should be grouped in the sidebar.`,f;t[3]===d?f=t[4]:(f=(0,$.jsxs)(Pe,{children:[u,(0,$.jsx)(Re,{children:d})]}),t[3]=d,t[4]=f);let p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Grouping rule`}),t[5]=p):p=t[5];let m;t[6]===a?m=t[7]:(m=e=>{(e===`inherit`||e===`repository`||e===`repository_path`||e===`separate`)&&a(e)},t[6]=a,t[7]=m);let h=r===`inherit`?`Use global default (${nn[i]})`:nn[r],g;t[8]===h?g=t[9]:(g=(0,$.jsx)(We,{className:`w-full`,"aria-label":`Project grouping rule`,children:(0,$.jsx)(Ge,{children:h})}),t[8]=h,t[9]=g);let _;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,$.jsxs)(He,{align:`end`,alignItemWithTrigger:!1,children:[(0,$.jsx)(Ue,{hideIndicator:!0,value:`inherit`,children:`Use global default`}),(0,$.jsx)(Ue,{hideIndicator:!0,value:`repository`,children:nn.repository}),(0,$.jsx)(Ue,{hideIndicator:!0,value:`repository_path`,children:nn.repository_path}),(0,$.jsx)(Ue,{hideIndicator:!0,value:`separate`,children:nn.separate})]}),t[10]=_):_=t[10];let v;t[11]!==r||t[12]!==m||t[13]!==g?(v=(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[p,(0,$.jsxs)(Ke,{value:r,onValueChange:m,children:[g,_]})]}),t[11]=r,t[12]=m,t[13]=g,t[14]=v):v=t[14];let y;t[15]!==i||t[16]!==r?(y=an(r===`inherit`?i:r),t[15]=i,t[16]=r,t[17]=y):y=t[17];let b;t[18]===y?b=t[19]:(b=(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:y}),t[18]=y,t[19]=b);let x;t[20]!==v||t[21]!==b?(x=(0,$.jsxs)(Le,{className:`space-y-4`,children:[v,b]}),t[20]=v,t[21]=b,t[22]=x):x=t[22];let S;t[23]===o?S=t[24]:(S=(0,$.jsx)(Y,{variant:`outline`,onClick:o,children:`Cancel`}),t[23]=o,t[24]=S);let C;t[25]===s?C=t[26]:(C=(0,$.jsx)(Y,{onClick:s,children:`Save`}),t[25]=s,t[26]=C);let w;t[27]!==S||t[28]!==C?(w=(0,$.jsxs)(Ie,{children:[S,C]}),t[27]=S,t[28]=C,t[29]=w):w=t[29];let T;t[30]!==x||t[31]!==w||t[32]!==f?(T=(0,$.jsxs)(ze,{className:`project-glass-surface max-w-lg`,surface:`glass`,children:[f,x,w]}),t[30]=x,t[31]=w,t[32]=f,t[33]=T):T=t[33];let E;return t[34]!==c||t[35]!==l||t[36]!==T?(E=(0,$.jsx)(Be,{open:c,onOpenChange:l,children:T}),t[34]=c,t[35]=l,t[36]=T,t[37]=E):E=t[37],E}function sr(e){let t=(0,Z.c)(34),{target:n,title:r,onTitleChange:i,onClose:a,onSubmit:o}=e,s=n!==null,c;t[0]===a?c=t[1]:(c=e=>{e||a()},t[0]=a,t[1]=c);let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,$.jsx)(Fe,{children:`Rename project`}),t[2]=l):l=t[2];let u=n?`Update the title for ${n.cwd}.`:`Update the project title.`,d;t[3]===u?d=t[4]:(d=(0,$.jsxs)(Pe,{children:[l,(0,$.jsx)(Re,{children:u})]}),t[3]=u,t[4]=d);let f;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:`Project title`}),t[5]=f):f=t[5];let p;t[6]===i?p=t[7]:(p=e=>i(e.target.value),t[6]=i,t[7]=p);let m;t[8]===o?m=t[9]:(m=e=>{e.key===`Enter`&&Ee(e)&&(e.preventDefault(),o())},t[8]=o,t[9]=m);let h;t[10]!==p||t[11]!==m||t[12]!==r?(h=(0,$.jsxs)(`div`,{className:`grid gap-1.5`,children:[f,(0,$.jsx)(Oe,{"aria-label":`Project title`,value:r,onChange:p,onKeyDown:m})]}),t[10]=p,t[11]=m,t[12]=r,t[13]=h):h=t[13];let g;t[14]===n?g=t[15]:(g=n?.environmentLabel?(0,$.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Environment: `,n.environmentLabel]}):null,t[14]=n,t[15]=g);let _;t[16]!==h||t[17]!==g?(_=(0,$.jsxs)(Le,{className:`space-y-4`,children:[h,g]}),t[16]=h,t[17]=g,t[18]=_):_=t[18];let v;t[19]===a?v=t[20]:(v=(0,$.jsx)(Y,{variant:`outline`,onClick:a,children:`Cancel`}),t[19]=a,t[20]=v);let y;t[21]===o?y=t[22]:(y=(0,$.jsx)(Y,{onClick:o,children:`Save`}),t[21]=o,t[22]=y);let b;t[23]!==v||t[24]!==y?(b=(0,$.jsxs)(Ie,{children:[v,y]}),t[23]=v,t[24]=y,t[25]=b):b=t[25];let x;t[26]!==_||t[27]!==b||t[28]!==d?(x=(0,$.jsxs)(ze,{className:`project-glass-surface max-w-lg`,surface:`glass`,children:[d,_,b]}),t[26]=_,t[27]=b,t[28]=d,t[29]=x):x=t[29];let S;return t[30]!==s||t[31]!==c||t[32]!==x?(S=(0,$.jsx)(Be,{open:s,onOpenChange:c,children:x}),t[30]=s,t[31]=c,t[32]=x,t[33]=S):S=t[33],S}function cr(e){let t=(0,Z.c)(13),{projectGroupingSettings:n,updateSettings:r}=e,[i,a]=(0,Q.useState)(null),[o,s]=(0,Q.useState)(`inherit`),c;t[0]===n.sidebarProjectGroupingOverrides?c=t[1]:(c=e=>{let t=S(e);a(e),s(n.sidebarProjectGroupingOverrides?.[t]??`inherit`)},t[0]=n.sidebarProjectGroupingOverrides,t[1]=c);let l=c,u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>{a(null),s(`inherit`)},t[2]=u):u=t[2];let d=u,f;t[3]!==o||t[4]!==n.sidebarProjectGroupingOverrides||t[5]!==i||t[6]!==r?(f=()=>{if(!i)return;let e=S(i),t={...n.sidebarProjectGroupingOverrides};o===`inherit`?delete t[e]:t[e]=o,r({sidebarProjectGroupingOverrides:t}),d()},t[3]=o,t[4]=n.sidebarProjectGroupingOverrides,t[5]=i,t[6]=r,t[7]=f):f=t[7];let p=f,m;return t[8]!==l||t[9]!==o||t[10]!==i||t[11]!==p?(m={projectGroupingTarget:i,projectGroupingSelection:o,setProjectGroupingSelection:s,openProjectGroupingDialog:l,closeProjectGroupingDialog:d,saveProjectGroupingPreference:p},t[8]=l,t[9]=o,t[10]=i,t[11]=p,t[12]=m):m=t[12],m}function lr(){let e=(0,Z.c)(9),[t,n]=(0,Q.useState)(null),[r,i]=(0,Q.useState)(``),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=e=>{n(e),i(e.name)},e[0]=a):a=e[0];let o=a,s;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{n(null),i(``)},e[1]=s):s=e[1];let c=s,l;e[2]!==t||e[3]!==r?(l=async()=>{if(!t)return;let e=r.trim();if(e.length===0){z.add({type:`warning`,title:`Project title cannot be empty`});return}if(e===t.name){c();return}let n=b(t.environmentId);if(!n){z.add(X({type:`error`,title:`Failed to rename project`,description:`Project API unavailable.`}));return}try{await n.orchestration.dispatchCommand({type:`project.meta.update`,commandId:U(),projectId:t.id,title:e}),c()}catch(e){let t=e;z.add(X({type:`error`,title:`Failed to rename project`,description:t instanceof Error?t.message:`An error occurred.`}))}},e[2]=t,e[3]=r,e[4]=l):l=e[4];let u=l,d;return e[5]!==t||e[6]!==r||e[7]!==u?(d={projectRenameTarget:t,projectRenameTitle:r,setProjectRenameTitle:i,openProjectRenameDialog:o,closeProjectRenameDialog:c,submitProjectRename:u},e[5]=t,e[6]=r,e[7]=u,e[8]=d):d=e[8],d}function ur(){let[e,t]=(0,Q.useState)(null),[n,r]=(0,Q.useState)(!1),i=(0,Q.useRef)(null),o=(0,Q.useRef)(null),s=(0,Q.useRef)(null);(0,Q.useEffect)(()=>{i.current=e},[e]);let c=(0,Q.useCallback)(()=>{o.current!==null&&(window.cancelAnimationFrame(o.current),o.current=null),s.current!==null&&(window.clearTimeout(s.current),s.current=null)},[]);(0,Q.useEffect)(()=>()=>c(),[c]);let[l,u]=(0,Q.useState)(``),[d,f]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(``),[g,_]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(null),[S,C]=(0,Q.useState)(null),[w,T]=(0,Q.useState)(null),E=(0,Q.useCallback)(e=>{c(),r(!1),t(e),u(e.name),f(e.cwd),h(e.customSystemPrompt??``),_(!1),y(e.customAvatarContentHash??null),C(e.preferredRemoteName??null),T(e.defaultModelSelection??null),o.current=window.requestAnimationFrame(()=>{o.current=null,r(!0)})},[c]),D=(0,Q.useCallback)(()=>{o.current!==null&&(window.cancelAnimationFrame(o.current),o.current=null),r(!1),s.current!==null&&window.clearTimeout(s.current),s.current=window.setTimeout(()=>{s.current=null,t(null),u(``),f(``),h(``),_(!1),y(null),C(null),T(null)},340)},[]),O=(0,Q.useCallback)(async()=>{let t=p();if(!t){z.add({type:`error`,title:`Folder picker is unavailable.`});return}let n=await t.dialogs.pickFolder({initialPath:d.trim()||e?.cwd||null});n&&f(n)},[e?.cwd,d]),k=(0,Q.useCallback)(async()=>{if(!e||g)return;let t=l.trim(),n=d.trim(),r=m.trim();if(t.length===0){z.add({type:`warning`,title:`Project title cannot be empty`});return}if(n.length===0){z.add({type:`warning`,title:`Project root cannot be empty`});return}let i=t!==e.name,a=n!==e.cwd,o=r!==(e.customSystemPrompt?.trim()??``),s=S!==(e.preferredRemoteName??null),c=e.defaultModelSelection??null,u=(w?.instanceId??null)!==(c?.instanceId??null)||(w?.model??null)!==(c?.model??null);if(!i&&!a&&!o&&!s&&!u){D();return}let f=b(e.environmentId);if(!f){z.add(X({type:`error`,title:`Failed to update project`,description:`Project API unavailable.`}));return}_(!0);try{await f.orchestration.dispatchCommand({type:`project.meta.update`,commandId:U(),projectId:e.id,...i?{title:t}:{},...a?{workspaceRoot:n}:{},...o?{customSystemPrompt:r.length>0?r:null}:{},...s?{preferredRemoteName:S}:{},...u?{defaultModelSelection:w}:{}}),D()}catch(e){_(!1),z.add(X({type:`error`,title:`Failed to update project`,description:e instanceof Error?e.message:`An error occurred.`}))}},[D,g,m,w,S,e,l,d]),A=(0,Q.useCallback)(async t=>{let n=e;if(!n)return;if(a()){z.add({type:`warning`,title:`Project image upload is unavailable in hosted mode.`});return}let r=b(n.environmentId);if(!r)return;let o=x({environmentId:n.environmentId,pathname:`/api/project-avatar/upload`,searchParams:{projectId:n.id}}),s=new FormData;s.append(`avatar`,t);try{let e=await fetch(o,{method:`POST`,body:s,credentials:`include`});if(!e.ok){let t=await e.text().catch(()=>``);throw Error(t||`Upload failed: ${e.status}`)}let{contentHash:t}=await e.json();await r.orchestration.dispatchCommand({type:`project.avatar.set`,commandId:U(),projectId:n.id,contentHash:t}),i.current?.id===n.id&&y(t)}catch(e){if(i.current?.id!==n.id)return;z.add(X({type:`error`,title:`Failed to upload avatar`,description:e instanceof Error?e.message:`An error occurred.`}))}},[e]),j=(0,Q.useCallback)(async()=>{let t=e;if(!t)return;let n=b(t.environmentId);if(n)try{await n.orchestration.dispatchCommand({type:`project.avatar.set`,commandId:U(),projectId:t.id,contentHash:null}),i.current?.id===t.id&&y(null)}catch(e){if(i.current?.id!==t.id)return;z.add(X({type:`error`,title:`Failed to remove avatar`,description:e instanceof Error?e.message:`An error occurred.`}))}},[e]),M=(0,Q.useCallback)((e,t)=>{let n=(e.repositoryIdentity?.remotes??[]).find(e=>e.name===t);if(!n)return;let r=un(n.url);if(!r)return;let i=p();i&&i.shell.openExternal(r).catch(e=>{z.add(X({type:`error`,title:`Unable to open remote repository`,description:e instanceof Error?e.message:`An error occurred.`}))})},[]);return{projectSettingsTarget:e,projectSettingsOpen:n,projectSettingsTitle:l,projectSettingsWorkspaceRoot:d,projectSettingsCustomSystemPrompt:m,projectSettingsSaving:g,projectSettingsCustomAvatarContentHash:v,projectSettingsPreferredRemoteName:S,projectSettingsDefaultModelSelection:w,projectAvatarUploadUnavailableReason:a()?`Project image upload is unavailable in hosted mode because node HTTP routes are not relayed.`:null,setProjectSettingsTitle:u,setProjectSettingsWorkspaceRoot:f,setProjectSettingsCustomSystemPrompt:h,setProjectSettingsPreferredRemoteName:C,setProjectSettingsDefaultModelSelection:T,openProjectSettingsDialog:E,closeProjectSettingsDialog:D,pickProjectSettingsWorkspaceRoot:O,submitProjectSettings:k,uploadProjectAvatar:A,removeProjectAvatar:j,openProjectRemoteByName:M}}function dr(e){let t=new Map;for(let n of e.projects)t.set(u(n),_(n,e.settings));return t}function fr(e){let t=new Map;for(let n of e.projects){let r=_(n,e.settings),i={...n,physicalProjectKey:u(n),environmentLabel:re({environmentId:n.environmentId,label:e.resolveEnvironmentLabel(n.environmentId)})},a=t.get(r);a?a.push(i):t.set(r,[i])}let n=[],r=new Set;for(let a of e.projects){let o=_(a,e.settings);if(r.has(o))continue;r.add(o);let s=t.get(o)??[],c=(e.primaryEnvironmentId?s.find(t=>t.environmentId===e.primaryEnvironmentId):null)??s[0];if(!c)continue;let l=e.primaryEnvironmentId!==null&&s.some(t=>t.environmentId===e.primaryEnvironmentId),u=e.primaryEnvironmentId!==null&&s.some(t=>t.environmentId!==e.primaryEnvironmentId),d=s.filter(t=>e.primaryEnvironmentId!==null&&t.environmentId!==e.primaryEnvironmentId).flatMap(e=>e.environmentLabel?[e.environmentLabel]:[]).filter((e,t,n)=>n.indexOf(e)===t);n.push({...c,projectKey:o,displayName:s.length>1?m({representative:c,members:s}):c.name,groupedProjectCount:s.length,environmentPresence:l&&u?`mixed`:u?`remote-only`:`local-only`,memberProjects:s,memberProjectRefs:s.map(e=>i(e.environmentId,e.id)),remoteEnvironmentLabels:d})}return n}function pr(e){let t=[];for(let n of e.projectFolderOrder)e.projectFoldersById[n]!==void 0&&!t.includes(n)&&t.push(n);for(let n of Object.keys(e.projectFoldersById))t.includes(n)||t.push(n);return t}function mr(e,t,n){let r=new Set(e.memberProjects.map(e=>e.physicalProjectKey));for(let e of pr({projectFoldersById:t,projectFolderOrder:n})){let n=t[e];if(n&&n.projectKeys.some(e=>r.has(e)))return e}return null}function hr(e){if(e.projectSortOrder!==`manual`)return[...e.projects].toSorted((t,n)=>(e.sourceIndexByProjectKey.get(t.projectKey)??0)-(e.sourceIndexByProjectKey.get(n.projectKey)??0));let t=new Map(e.folder.projectKeys.map((e,t)=>[e,t]));return[...e.projects].toSorted((n,r)=>{let i=Math.min(...n.memberProjects.map(e=>t.get(e.physicalProjectKey)??1/0))-Math.min(...r.memberProjects.map(e=>t.get(e.physicalProjectKey)??1/0));return Number.isFinite(i)&&i!==0?i:(e.sourceIndexByProjectKey.get(n.projectKey)??0)-(e.sourceIndexByProjectKey.get(r.projectKey)??0)})}function gr(e){let t=pr(e),n=[...e.projectTreeOrder.flatMap(t=>{let n=I(t);return n?.kind===`folder`&&e.projectFoldersById[n.folderId]!==void 0?[n.folderId]:[]}),...t].filter((e,t,n)=>n.indexOf(e)===t),r=new Map(e.projects.map(e=>[e.projectKey,e])),i=new Map(e.projects.map((e,t)=>[e.projectKey,t])),a=new Map,o=new Map,s=[];for(let t of e.projects){let r=mr(t,e.projectFoldersById,n);if(!r){s.push(t);continue}a.set(t.projectKey,r);let i=o.get(r)??[];i.push(t),o.set(r,i)}let c=new Set([...t.map(ae),...s.map(e=>F(e.projectKey))]),l=new Set,u=[];for(let t of e.projectTreeOrder)l.has(t)||!c.has(t)||I(t)&&(l.add(t),u.push(t));for(let e of t){let t=ae(e);l.has(t)||(l.add(t),u.push(t))}for(let e of s){let t=F(e.projectKey);l.has(t)||(l.add(t),u.push(t))}return u.flatMap(t=>{let n=I(t);if(!n)return[];if(n.kind===`folder`){let r=e.projectFoldersById[n.folderId];return r?[{kind:`folder`,itemId:t,folder:r,projects:hr({folder:r,projects:o.get(n.folderId)??[],projectSortOrder:e.projectSortOrder,sourceIndexByProjectKey:i})}]:[]}if(a.has(n.projectKey))return[];let s=r.get(n.projectKey);return s?[{kind:`project`,itemId:t,project:s}]:[]})}export{Qe as C,nt as S,Rt as _,lr as a,rt as b,or as c,vn as d,fn as f,Tt as g,rn as h,ur as i,ar as l,sn as m,dr as n,cr as o,dn as p,fr as r,sr as s,gr as t,Mn as u,Nt as v,it as x,Dt as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./runtime-CXut_g4p.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{f as e}from"./runtime-
|
|
1
|
+
import{f as e}from"./runtime-CXut_g4p.js";var t=6e5,n=1e3;function r(e){return e.connected&&e.supported}function i(e){let i={enabled:!1,intervalMs:t},a=e.initialForeground??!0,o=null,s=null,c=!1,l=new Map,u=new Map,d=new Map,f=()=>{o!==null&&e.timer.clear(o),o=null},p=()=>{s!==null&&e.timer.clear(s),s=null},m=t=>e.listEnvironments().find(e=>e.environmentId===t),h=(e,t)=>{let n=e.get(t.environmentId);return n?.generation===t.generation?n.atMs:null},g=e=>{let t=h(l,e),n=e.lastSuccessfulCheckAtMs;return t===null?n??null:n===void 0?t:Math.max(t,n)},_=(e,t)=>{if(i.intervalMs===0)return!1;let n=g(e);return n===null||t-n>=i.intervalMs},v=(t,n,i)=>{let a=d.get(t.environmentId);if(a?.generation===t.generation)return a.run;let o=e.nowMs();n||u.set(t.environmentId,{generation:t.generation,atMs:o});let s=e.ensureCurrent(t.environmentId,{force:n}).then(()=>{let n=m(t.environmentId);c||n===void 0||n.generation!==t.generation||!r(n)||l.set(t.environmentId,{generation:t.generation,atMs:e.nowMs()})}).catch(n=>{throw i&&e.onAutomaticFailure?.(t.environmentId,n),n}).finally(()=>{d.get(t.environmentId)?.run===s&&d.delete(t.environmentId)});return d.set(t.environmentId,{generation:t.generation,run:s}),s},y=async t=>{if(c||!i.enabled||!a)return;let n=e.nowMs(),o=e.listEnvironments().filter(r);await Promise.allSettled(o.flatMap(e=>{if(t.onlyStale&&!_(e,n))return[];let r=h(u,e);return!t.initial&&i.intervalMs>0&&r!==null&&n-r<i.intervalMs?[]:[v(e,!1,!0)]}))},b=()=>{if(f(),c||!i.enabled||!a||i.intervalMs===0)return;let t=e.nowMs(),n=e.listEnvironments().filter(r).map(e=>{let n=g(e),r=h(u,e),a=n===null?r:r===null?n:Math.max(n,r);return a===null?0:Math.max(0,i.intervalMs-(t-a))}),s=n.length===0?i.intervalMs:Math.min(...n);o=e.timer.set(()=>{o=null,y({onlyStale:!0,initial:!1}).finally(b)},s)};return{configure:async e=>{if(c)return;let t=!i.enabled&&e.enabled;if(i=e,!i.enabled){f(),p();return}t&&a&&await y({onlyStale:!1,initial:!0}),b()},setForeground:async e=>{if(!(c||a===e)){if(a=e,!a){f(),p();return}i.enabled&&i.intervalMs>0&&await y({onlyStale:!0,initial:!1}),b()}},environmentsChanged:async()=>{c||!i.enabled||!a||(i.intervalMs>0&&await y({onlyStale:!0,initial:!1}),b())},relevantInputChanged:()=>{c||!i.enabled||!a||i.intervalMs===0||(p(),s=e.timer.set(()=>{s=null,y({onlyStale:!0,initial:!1}).finally(b)},n))},refreshNow:async()=>{let t=e.listEnvironments().filter(r),n=await Promise.allSettled(t.map(e=>v(e,!0,!1))),i=[],a=[];return n.forEach((e,n)=>{let r=t[n].environmentId;e.status===`fulfilled`?i.push(r):a.push({environmentId:r,error:e.reason})}),b(),{attempted:t.map(e=>e.environmentId),succeeded:i,failures:a}},getLastSuccessfulCheckAtMs:e=>{let t=m(e);return t===void 0?null:g(t)},dispose:()=>{c=!0,f(),p(),d.clear()}}}var a=new WeakMap;function o(e,t){let n=a.get(e);if(n!==void 0)return n;let r=i(t),o={...r,dispose:()=>{r.dispose(),a.get(e)===o&&a.delete(e)}};return a.set(e,o),o}var s={},c=[],l=o(s,{nowMs:Date.now,timer:{set:(e,t)=>setTimeout(e,t),clear:e=>clearTimeout(e)},listEnvironments:()=>c,ensureCurrent:async(t,n)=>{let r=e(t);if(!r)throw Error(`The environment is no longer connected.`);return await r.client.threadPriority.ensureCurrent(n)}});function u(e){c=e}async function d(e){await l.configure(e)}async function f(){await l.environmentsChanged()}function p(){l.relevantInputChanged()}async function m(e){await l.setForeground(e)}async function h(){return await l.refreshNow()}export{m as a,h as i,f as n,u as o,p as r,d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./runtime-CXut_g4p.js";
|
|
Binary file
|