ryco-cli 0.1.16 → 0.1.17
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-CkFq28pN.js → AccountSettings-F4ZOTHid.js} +1 -1
- package/dist/client/assets/{AiFocusSettings-BI9AgQUi.js → AiFocusSettings-DwIYKKIc.js} +1 -1
- package/dist/client/assets/{BranchToolbar.logic-6LRTxcuo.js → BranchToolbar.logic-B2jdtYEs.js} +1 -1
- package/dist/client/assets/{ChatRightPanel-BSNsAFtv.js → ChatRightPanel-CxA4EQ1O.js} +3 -3
- package/dist/client/assets/{ChatThreadRouteView-Daox0F74.js → ChatThreadRouteView-BJ6OSbWZ.js} +1 -1
- package/dist/client/assets/{CommandPaletteDialog-CIZnwgK9.js → CommandPaletteDialog-DywhkOKa.js} +1 -1
- package/dist/client/assets/{ConnectionsSettings-DFBNmvfL.js → ConnectionsSettings-B8t9Z17K.js} +1 -1
- package/dist/client/assets/{DiagnosticsSettings-DhuLK993.js → DiagnosticsSettings-Bt7j-SXg.js} +1 -1
- package/dist/client/assets/{DraftChatThreadRouteView-BmVyawpM.js → DraftChatThreadRouteView-BzcBT-YW.js} +1 -1
- package/dist/client/assets/{HostedConnectionControls-BvHq5iCa.js → HostedConnectionControls-DLrwfgKF.js} +1 -1
- package/dist/client/assets/{HostedHubRoot-CB5TRXg5.js → HostedHubRoot-eqwMpBq5.js} +1 -1
- package/dist/client/assets/{HostedNativeAuthorizationRoute-Cb5WJuEG.js → HostedNativeAuthorizationRoute-C11yMgF7.js} +1 -1
- package/dist/client/assets/{HostedRelayTrustNotice-DFcgMZlL.js → HostedRelayTrustNotice-CMrrvMuJ.js} +1 -1
- package/dist/client/assets/{IntegrationsSettingsPanel-BIy-rKDv.js → IntegrationsSettingsPanel-rkW9RyYH.js} +1 -1
- package/dist/client/assets/{KeybindingsSettings-u3yB7Cob.js → KeybindingsSettings-CjU5J7hU.js} +1 -1
- package/dist/client/assets/{McpServersSettings-V32mLD4v.js → McpServersSettings-D-Gq3vgy.js} +1 -1
- package/dist/client/assets/{NewWorktreeDialog-B64WGjQj.js → NewWorktreeDialog-C4D-dD0C.js} +1 -1
- package/dist/client/assets/{NoActiveThreadState-C0MwHtMx.js → NoActiveThreadState-z_FeP4Al.js} +1 -1
- package/dist/client/assets/{NodeSecuritySettings-CWlThhfV.js → NodeSecuritySettings-CMjnKY0w.js} +1 -1
- package/dist/client/assets/{OpinionatedPluginsSettings-CVzfv5nP.js → OpinionatedPluginsSettings-D9INVQf7.js} +1 -1
- package/dist/client/assets/{PhoneGetAppInterstitial-CylfsDBD.js → PhoneGetAppInterstitial-B8iVzT22.js} +1 -1
- package/dist/client/assets/{PhoneHome-DBwwEeaI.js → PhoneHome-BonZTgK7.js} +1 -1
- package/dist/client/assets/{PhoneSettingsSurface-sDCNEVkR.js → PhoneSettingsSurface-B-6LoBMV.js} +1 -1
- package/dist/client/assets/{ProjectFavicon-BjXJxNbQ.js → ProjectFavicon-CxXx07Sa.js} +1 -1
- package/dist/client/assets/{ProviderModelPicker-BTFj53Qv.js → ProviderModelPicker-M_Ezjlmq.js} +1 -1
- package/dist/client/assets/{ProvidersSettingsPanel-IhzMeM1F.js → ProvidersSettingsPanel-CtTyCMP0.js} +1 -1
- package/dist/client/assets/{RootAppShell-CG06ruyc.js → RootAppShell-DJfVW8Xa.js} +2 -2
- package/dist/client/assets/{SettingsDialog-ByR9PwEc.js → SettingsDialog-ClIbtJ2y.js} +1 -1
- package/dist/client/assets/{SettingsPanels-CwsCgdds.js → SettingsPanels-DshjYQGk.js} +1 -1
- package/dist/client/assets/{SourceControlSettings-5w4N9XII.js → SourceControlSettings-C_GMp7qk.js} +1 -1
- package/dist/client/assets/{StatisticsPage-jRyjIh52.js → StatisticsPage-CDukahZF.js} +1 -1
- package/dist/client/assets/{StatisticsPanel-CV5eFeO_.js → StatisticsPanel-BTdaxoVf.js} +1 -1
- package/dist/client/assets/{ThreadStatusIndicators-C40TYVEC.js → ThreadStatusIndicators-D_6jI6us.js} +0 -0
- package/dist/client/assets/{ThreadTerminalDrawer-flv5ZDel.js → ThreadTerminalDrawer-C2B3Ry66.js} +1 -1
- package/dist/client/assets/{ThreadWorkspacePanel-B-cBAWFz.js → ThreadWorkspacePanel-D8gR7mQC.js} +1 -1
- package/dist/client/assets/{WorkItemsTab-0DE4S4n0.js → WorkItemsTab-QQXGM1BH.js} +1 -1
- package/dist/client/assets/{branding-Ck4g7yv3.js → branding-BS9Iv2ln.js} +1 -1
- package/dist/client/assets/{capabilities-xa5Ll0KT.js → capabilities-tpmeGBtr.js} +1 -1
- package/dist/client/assets/{desktopUpdateAtoms-hP0oc_If.js → desktopUpdateAtoms-BpN7gP0v.js} +1 -1
- package/dist/client/assets/{desktopWorkspace-hOxsGVFz.js → desktopWorkspace-CIvAIvMt.js} +1 -1
- package/dist/client/assets/{device-DIfzlguu.js → device-B3lHunk1.js} +1 -1
- package/dist/client/assets/{editorPreferences-B54y5_sx.js → editorPreferences-DiUypD3L.js} +1 -1
- package/dist/client/assets/{index-Dp3JRlOK.js → index-C536LXZ6.js} +1 -1
- package/dist/client/assets/{main-B6n7O_N3.js → main-BjfqengQ.js} +2 -2
- package/dist/client/assets/{projectPaths-D8b4yLOe.js → projectPaths-3WDk4ziK.js} +1 -1
- package/dist/client/assets/{providerIconUtils-Cq0fezxt.js → providerIconUtils-DLRASbiu.js} +1 -1
- package/dist/client/assets/{runtime-QZPKtH2P.js → runtime-CYtynKGT.js} +1 -1
- package/dist/client/assets/{session-logic-BuGYhZKZ.js → session-logic-DfaSS3p9.js} +1 -1
- package/dist/client/assets/{sidebarProjectFolders-Dlo6McCj.js → sidebarProjectFolders-DKxZsoOv.js} +1 -1
- package/dist/client/assets/storeSelectors-BeLJe5C1.js +1 -0
- package/dist/client/assets/{threadPinning-D2e9MEDr.js → threadPinning-UKIVw0OX.js} +1 -1
- package/dist/client/assets/{threadPriorityRefreshRuntime-DbEFchoL.js → threadPriorityRefreshRuntime-BbiIUPfh.js} +1 -1
- package/dist/client/assets/types-BeLJe5C1.js +1 -0
- package/dist/client/assets/{useAtlassian-Zb2Kkt0_.js → useAtlassian-BTWMzLgJ.js} +0 -0
- package/dist/client/assets/{useHandleNewThread-ByVfL71G.js → useHandleNewThread-9FAjhuhK.js} +1 -1
- package/dist/client/assets/{usePhoneThreadActions-BhTVcLtf.js → usePhoneThreadActions-B7yDFO2l.js} +1 -1
- package/dist/client/assets/{useStatistics-Dbp94K5j.js → useStatistics-C9g3i7bQ.js} +1 -1
- package/dist/client/assets/{useThreadActions-CPL4dO-X.js → useThreadActions-CouKkjbt.js} +1 -1
- package/dist/client/index.html +1 -1
- package/package.json +1 -1
- package/dist/client/assets/storeSelectors-_h41wnN2.js +0 -1
- package/dist/client/assets/types-_h41wnN2.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{L as e,N as t,Nr as n,Oi as r,ot as i}from"./src-DmPIm3ie.js";import{Xt as a}from"./runtime-QZPKtH2P.js";var o=r(e);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 y=new Set([`completed`,`failed`,`cancelled`,`interrupted`]);function b(e){return y.has(e)}function x(e){return e===`pending`||e===`running`||e===`waiting`}var ee=6,te=180,ne=100;function re(e){return x(e.status)?0:e.status===`idle`?1:2}function ie(e){return e.length<=ne?[...e]:e.toSorted((e,t)=>re(e)-re(t)||t.updatedAt.localeCompare(e.updatedAt)).slice(0,ne)}function S(e){return e.agentKind!==`agent`}function C(e){return e.length<=te?e:`${e.slice(0,179)}…`}function w(e,t,n){let r=C(n);if(e.length>0&&e[e.length-1]?.summary===r)return e;let i=[...e,{at:t,summary:r}];return i.length>ee?i.slice(-6):i}function T(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function E(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0?e:void 0}function D(e){if(typeof e!=`object`||!e)return;let t=e,n=E(t.totalTokens);if(n===void 0)return;let r={totalTokens:n},i=E(t.inputTokens);i!==void 0&&(r.inputTokens=i);let a=E(t.cachedInputTokens);a!==void 0&&(r.cachedInputTokens=a);let o=E(t.outputTokens);o!==void 0&&(r.outputTokens=o);let s=E(t.reasoningOutputTokens);s!==void 0&&(r.reasoningOutputTokens=s);let c=E(t.toolUses);c!==void 0&&(r.toolUses=c);let l=E(t.durationMs);return l!==void 0&&(r.durationMs=l),r}function O(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 ae(e,t){return T(e.taskType)===`local_workflow`?`workflow`:e.parentAgentId!==void 0||t.includes(`:wf:`)?`workflow_agent`:`subagent`}function k(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:ae(n,t),title:T(n.title)??T(n.detail)??t,role:T(n.role)??null,model:T(n.model)??null,effort:T(n.effort)??null,status:`pending`,activationCount:0,usage:null,progress:null,lastToolName:null,result:null,error:null,outputFile:null,parentAgentId:T(n.parentAgentId)??null,agentIndex:E(n.agentIndex)??null,phaseIndex:E(n.phaseIndex)??null,phaseTitle:T(n.phaseTitle)??null,attempt:E(n.attempt)??null,workflowName:T(n.workflowName)??null,phases:[],runHandles:null,recentActivity:[],firstSeenAt:r,startedAt:null,completedAt:null,updatedAt:r};return e.set(t,a),a}function A(e,t){let n=!1,r=T(t.title);r&&(e.title=r);let i=T(t.role);i&&(e.role=i);let a=T(t.model);a&&(e.model=a);let o=T(t.effort);o&&(e.effort=o);let s=T(t.parentAgentId);s&&(e.parentAgentId=s,e.kind===`subagent`&&(e.kind=`workflow_agent`));let c=T(t.workflowName);c&&(e.workflowName=c),T(t.taskType)===`local_workflow`&&(e.kind=`workflow`);let l=E(t.agentIndex);l!==void 0&&(e.agentIndex=l);let u=E(t.phaseIndex);u!==void 0&&(e.phaseIndex=u);let d=T(t.phaseTitle);d&&(e.phaseTitle=d);let f=E(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=T(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=E(t.index),i=T(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=T(n.runId);i&&(r.runId=i);let a=T(n.scriptPath);a&&(r.scriptPath=a);let o=T(n.transcriptDir);o&&(r.transcriptDir=o);let s=T(n.sessionUrl);s&&/^https?:\/\//i.test(s)&&(r.sessionUrl=s),Object.keys(r).length>0&&(e.runHandles={...e.runHandles,...r})}return n}function j(e,t,n,r=!1){let i=b(e.status),a=b(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 oe=new Map([[`completed`,`completed`],[`failed`,`failed`],[`stopped`,`interrupted`]]),se=new Set([`pending`,`running`,`waiting`,`idle`,`completed`,`failed`,`cancelled`,`interrupted`]);function ce(e){return typeof e==`string`&&se.has(e)?e:void 0}function le(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=T(e.taskId);if(!t||S(e))break;let i=k(n,t,e,r);A(i,e)?j(i,`running`,r,!0):i.activationCount===0&&!b(i.status)?(i.activationCount=1,i.startedAt=i.startedAt??r,i.status=`running`):i.status===`idle`&&j(i,`running`,r);let a=T(e.detail);a&&i.title===i.id&&(i.title=a),i.updatedAt=r;break}case`task.progress`:{let t=T(e.taskId);if(!t)break;let i=n.has(t);if(!i&&S(e))break;let a=k(n,t,e,r),o=A(a,e);a.activationCount===0&&(a.activationCount=1);let s=ce(e.status);s?j(a,s,r,o):o?j(a,`running`,r,!0):(e.usageSnapshot!==!0||!i)&&!b(a.status)&&a.status!==`idle`&&j(a,`running`,r);let c=T(e.summary);c&&(a.progress=C(c),a.recentActivity=w(a.recentActivity,r,c));let l=T(e.lastToolName);l&&(a.lastToolName=l,c||(a.recentActivity=w(a.recentActivity,r,`▸ ${l}`)));let u=T(e.error);u&&(a.error=C(u)),a.usage=O(a.usage,D(e.typedUsage)),a.updatedAt=r;break}case`task.updated`:{let t=T(e.taskId);if(!t||!n.has(t)&&S(e))break;let i=k(n,t,e,r),a=A(i,e);i.activationCount===0&&(i.activationCount=1);let o=b(i.status),s=ce(e.status);s&&j(i,s,r,a);let c=T(e.error);c&&(i.error=C(c));let l=T(e.endedAt);l&&!o&&b(i.status)&&(i.completedAt=l),i.updatedAt=r;break}case`task.completed`:{let t=T(e.taskId);if(!t||!n.has(t)&&S(e))break;let i=k(n,t,e,r),a=A(i,e);i.activationCount===0&&(i.activationCount=1);let o=T(e.summary)??T(e.detail);if(b(i.status)&&!a){o&&(i.status===`failed`?i.error=i.error??C(o):i.result=i.result??C(o)),i.usage=O(i.usage,D(e.typedUsage));break}let s=oe.get(T(e.status)??``)??`completed`;j(i,s,r,a),o&&(s===`failed`?i.error=i.error??C(o):i.result=C(o)),i.usage=O(i.usage,D(e.typedUsage)),i.updatedAt=r;break}case`tool.progress`:{let t=T(e.taskId);if(!t)break;let i=n.get(t);if(!i)break;let a=T(e.toolName);a&&(i.lastToolName=a,i.recentActivity=w(i.recentActivity,r,`▸ ${a}`)),i.updatedAt=r;break}}}for(let e of n.values())if(!(e.kind!==`workflow`||!b(e.status)))for(let t of n.values())t.parentAgentId===e.id&&(b(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())x(e.status)&&(e.status=`interrupted`,e.completedAt=e.completedAt??e.updatedAt);return ie(Array.from(n.values()))}var ue={workflows:[],directAgents:[],runningCount:0,waitingCount:0,idleCount:0,settledCount:0,totalTokens:0,hasAgents:!1,liveCount:0};function de(){return ue}function fe(e,t){return e===`running`?t?`running`:`interrupted`:e===`finished`?`completed`:e}function pe(e,t){let n=fe(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=b(n);return{id:e.key,kind:`subagent`,title:e.detail??e.role??`Agent task`,role:e.role??null,model:e.model??null,effort:e.effort??null,status:n,activationCount:1,usage:null,progress:o?C(o):null,lastToolName:null,result:n===`completed`&&r?C(r):null,error:n===`failed`&&a?C(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:C(e.detail??e.output??e.label)})),firstSeenAt:e.startedAt,startedAt:e.startedAt,completedAt:s?e.updatedAt:null,updatedAt:e.updatedAt}}function me(e){let t=le(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=>pe(t,e.sessionLive));return he({agents:ie([...t,...r])})}function he({agents:e,v2Projection:t}){let n=t??e;if(n.length===0)return ue;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=>x(e.status)||e.status===`idle`).length,a=r.filter(e=>b(e.status)).length,o=r.length===0?b(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 ge(e,t){if(!e)return null;let n=e.replace(/^claude-/,``).replace(/-\d{8}$/,``).replace(/-latest$/,``);return t?`${n} · ${t}`:n}function _e(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 ve=[{value:i.make(`codex`),label:`Codex`,available:!0},{value:i.make(`claudeAgent`),label:`Claude`,available:!0},{value:i.make(`copilot`),label:`GitHub Copilot`,available:!0},{value:i.make(`opencode`),label:`OpenCode`,available:!0,pickerSidebarBadge:`new`},{value:i.make(`cursor`),label:`Cursor`,available:!0,pickerSidebarBadge:`new`},{value:i.make(`grok`),label:`Grok`,available:!0,pickerSidebarBadge:`new`}];function ye(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 be(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:ye(r-n)}function xe(e,t){return!e?.startedAt||!e.completedAt?!1:!t||t.orchestrationStatus!==`running`}function Se(e,t,n){let r=t?.orchestrationStatus===`running`?t.activeTurnId??null:null;return r===null?xe(e,t)?n:e?.startedAt??n:e?.turnId===r?e.startedAt??n:n}function Ce(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 we(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 Te(e){return e.payload&&typeof e.payload==`object`?e.payload:null}function Ee(e){return e&&typeof e.requestId==`string`?n.make(e.requestId):null}function De(e){return e&&typeof e.detail==`string`?e.detail:void 0}function Oe(e){return e&&(e.requestKind===`command`||e.requestKind===`file-read`||e.requestKind===`file-change`)?e.requestKind:e?Ce(e.requestType):null}function ke(e,t,n){if(t.kind!==`approval.requested`&&t.kind!==`approval.resolved`&&t.kind!==`provider.approval.respond.failed`)return;let r=Ee(n),i=Oe(n),a=De(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&&we(a)&&e.delete(r)}function Ae(e){return[...e.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function je(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 Me(e,t,n){if(t.kind!==`user-input.requested`&&t.kind!==`user-input.resolved`&&t.kind!==`provider.user-input.respond.failed`)return;let r=Ee(n),i=De(n);if(t.kind===`user-input.requested`&&r){let i=je(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&&we(i)&&e.delete(r)}function Ne(e){return[...e.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function Pe(e){if(!e)return null;let t=Te(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 Fe(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 N(n)}let n=[...e].toSorted((e,t)=>e.updatedAt.localeCompare(t.updatedAt)||e.id.localeCompare(t.id)).at(-1);return n?N(n):null}function Ie(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 N(n)}}return Fe(t,e.latestTurn?.turnId??null)}function Le(e){return e!==null&&e.implementedAt===null}function Re(e,t){let n=[...e].toSorted(jt),r=ze(n),i=[];for(let e of n)We(e,t)&&i.push(qe(e,r));return Ge(i)}function ze(e){let t=new Map;for(let n of e){if(n.kind!==`tool.started`)continue;let e=mt(n.payload&&typeof n.payload==`object`?n.payload:null);e&&!t.has(e)&&t.set(e,n.createdAt)}return t}function Be(e){let t=e.payload&&typeof e.payload==`object`?e.payload:null;return!t||typeof t.taskId!=`string`?null:t}function Ve(e){let t=Be(e);return t!==null&&!S(t)}function He(e){if(e.kind!==`task.started`&&e.kind!==`task.progress`&&e.kind!==`task.completed`)return!1;let t=Be(e);return t!==null&&!S(t)}function Ue(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`&&!S(t)):!1:t.timelineBypass===!0||typeof t.agentId==`string`&&t.agentId.trim().length>0:!1}function We(e,t){return t&&e.turnId!==t&&!He(e)?!1:e.kind===`task.started`?Ve(e):e.kind===`task.updated`||e.kind===`tool.progress`||Ue(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`&&!Ke(e)}function Ge(e){return Ye(e).map(({activityKind:e,collapseKey:t,...n})=>n)}function Ke(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 qe(e,t){let n=e.payload&&typeof e.payload==`object`?e.payload:null,r=ft(n),i=kt(n),a=At(n),o=pt(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?z(n.detail).output:null:bt(n,o??e.summary),f=s?null:mt(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=wt(n),h=Tt(n),g=St(n),_=Ct(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&&S(n)&&(p.isBackgroundTask=!0);let v=et(p);return v&&(p.collapseKey=v),p}function Je(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 Ye(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??Je(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]={...Ze(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&&Xe(e,i)){t[t.length-1]=Ze(e,i);continue}t.push(i)}return t}function Xe(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&&M(e.toolTitle??e.label)===M(t.toolTitle??t.label)}function Ze(e,t){let n=Qe(e.changedFiles,t.changedFiles),r=$e(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 Qe(e,t){let n=[...e??[],...t??[]];return n.length===0?[]:[...new Set(n)]}function $e(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 et(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=M(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 M(e){return e.replace(/\s+(?:complete|completed)\s*$/i,``).trim()}function N(e){return{id:e.id,createdAt:e.createdAt,updatedAt:e.updatedAt,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId}}function P(e){return e&&typeof e==`object`?e:null}function F(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function I(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function tt(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 nt(e){let t=tt(e);if(t.length===0)return null;let n=t.replace(/\\/g,`/`).split(`/`).at(-1)?.trim()??``;return n.length>0?n.toLowerCase():null}function rt(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 it=[{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 at(e){return it.find(t=>t.executables.includes(e))}function ot(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=tt(r);return i.length>0?i:null}function st(e){let t=rt(e);if(!t||t.rest.length===0)return e;let n=nt(t.executable);if(!n)return e;let r=at(n);return r?ot(t.rest,r.wrapperFlagPattern)??e:e}function ct(e){return/[\s"'`]/.test(e)?`"${e.replace(/"/g,`\\"`)}"`:e}function lt(e){let t=F(e);if(t)return t;if(!Array.isArray(e))return null;let n=e.map(e=>F(e)).filter(e=>e!==null);return n.length===0?null:n.map(e=>ct(e)).join(` `)}function ut(e){let t=lt(e);return t?st(t):null}function dt(e,t){let n=lt(e);return!n||t===null||n===t?null:n}function ft(e){let t=P(e?.data),n=P(t?.item),r=P(n?.result),i=P(n?.input),a=F(e?.itemType),o=F(e?.detail),s=[n?.command,i?.command,r?.command,t?.command,a===`command_execution`&&o?z(o).output:null];for(let e of s){let t=ut(e);if(t)return{command:t,rawCommand:dt(e,t)}}return{command:null,rawCommand:null}}function pt(e){return F(e?.title)}function mt(e){return F(P(e?.data)?.toolCallId)}function ht(e){return e.replace(/\s+/g,` `).trim()}function gt(e,t=84){return e.length<=t?e:`${e.slice(0,t-1).trimEnd()}…`}function L(e){let t=F(e);return t?M(ht(t)).toLowerCase():null}function _t(e){let t=e.split(/\r?\n/u).map(e=>ht(e)).filter(e=>e.length>0),n=t.find(e=>e!=="```");return n?gt(n):t.length>1?`${t.length.toLocaleString()} lines`:null}function vt(e){let t=P(P(e?.data)?.rawOutput);if(!t)return null;let n=I(t.totalFiles);if(n!==null){let e=t.truncated===!0?`+`:``;return`${n.toLocaleString()} file${n===1?``:`s`}${e}`}let r=F(t.content);if(r)return _t(r);let i=F(t.stdout);return i?_t(i):null}function yt(e,t){let n=F(P(e?.data)?.kind)?.toLowerCase(),r=F(e?.title??t)?.toLowerCase();return wt(e)===`command_execution`||n===`execute`||r===`terminal`||r===`ran command`}function bt(e,t){let n=F(e?.detail),r=n?z(n).output:null,i=L(t),a=L(r);if(r&&i!==a)return r;if(yt(e,t))return null;let o=vt(e);return o&&L(o)!==i?o:null}function R(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n,r=F(e.text);if(r){t.push(r);continue}let i=F(P(e.content)?.text);i&&t.push(i)}return t.length>0?t.join(`
|
|
1
|
+
import{L as e,N as t,Nr as n,Oi as r,ot as i}from"./src-DmPIm3ie.js";import{Xt as a}from"./runtime-CYtynKGT.js";var o=r(e);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 y=new Set([`completed`,`failed`,`cancelled`,`interrupted`]);function b(e){return y.has(e)}function x(e){return e===`pending`||e===`running`||e===`waiting`}var ee=6,te=180,ne=100;function re(e){return x(e.status)?0:e.status===`idle`?1:2}function ie(e){return e.length<=ne?[...e]:e.toSorted((e,t)=>re(e)-re(t)||t.updatedAt.localeCompare(e.updatedAt)).slice(0,ne)}function S(e){return e.agentKind!==`agent`}function C(e){return e.length<=te?e:`${e.slice(0,179)}…`}function w(e,t,n){let r=C(n);if(e.length>0&&e[e.length-1]?.summary===r)return e;let i=[...e,{at:t,summary:r}];return i.length>ee?i.slice(-6):i}function T(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}function E(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0?e:void 0}function D(e){if(typeof e!=`object`||!e)return;let t=e,n=E(t.totalTokens);if(n===void 0)return;let r={totalTokens:n},i=E(t.inputTokens);i!==void 0&&(r.inputTokens=i);let a=E(t.cachedInputTokens);a!==void 0&&(r.cachedInputTokens=a);let o=E(t.outputTokens);o!==void 0&&(r.outputTokens=o);let s=E(t.reasoningOutputTokens);s!==void 0&&(r.reasoningOutputTokens=s);let c=E(t.toolUses);c!==void 0&&(r.toolUses=c);let l=E(t.durationMs);return l!==void 0&&(r.durationMs=l),r}function O(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 ae(e,t){return T(e.taskType)===`local_workflow`?`workflow`:e.parentAgentId!==void 0||t.includes(`:wf:`)?`workflow_agent`:`subagent`}function k(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:ae(n,t),title:T(n.title)??T(n.detail)??t,role:T(n.role)??null,model:T(n.model)??null,effort:T(n.effort)??null,status:`pending`,activationCount:0,usage:null,progress:null,lastToolName:null,result:null,error:null,outputFile:null,parentAgentId:T(n.parentAgentId)??null,agentIndex:E(n.agentIndex)??null,phaseIndex:E(n.phaseIndex)??null,phaseTitle:T(n.phaseTitle)??null,attempt:E(n.attempt)??null,workflowName:T(n.workflowName)??null,phases:[],runHandles:null,recentActivity:[],firstSeenAt:r,startedAt:null,completedAt:null,updatedAt:r};return e.set(t,a),a}function A(e,t){let n=!1,r=T(t.title);r&&(e.title=r);let i=T(t.role);i&&(e.role=i);let a=T(t.model);a&&(e.model=a);let o=T(t.effort);o&&(e.effort=o);let s=T(t.parentAgentId);s&&(e.parentAgentId=s,e.kind===`subagent`&&(e.kind=`workflow_agent`));let c=T(t.workflowName);c&&(e.workflowName=c),T(t.taskType)===`local_workflow`&&(e.kind=`workflow`);let l=E(t.agentIndex);l!==void 0&&(e.agentIndex=l);let u=E(t.phaseIndex);u!==void 0&&(e.phaseIndex=u);let d=T(t.phaseTitle);d&&(e.phaseTitle=d);let f=E(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=T(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=E(t.index),i=T(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=T(n.runId);i&&(r.runId=i);let a=T(n.scriptPath);a&&(r.scriptPath=a);let o=T(n.transcriptDir);o&&(r.transcriptDir=o);let s=T(n.sessionUrl);s&&/^https?:\/\//i.test(s)&&(r.sessionUrl=s),Object.keys(r).length>0&&(e.runHandles={...e.runHandles,...r})}return n}function j(e,t,n,r=!1){let i=b(e.status),a=b(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 oe=new Map([[`completed`,`completed`],[`failed`,`failed`],[`stopped`,`interrupted`]]),se=new Set([`pending`,`running`,`waiting`,`idle`,`completed`,`failed`,`cancelled`,`interrupted`]);function ce(e){return typeof e==`string`&&se.has(e)?e:void 0}function le(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=T(e.taskId);if(!t||S(e))break;let i=k(n,t,e,r);A(i,e)?j(i,`running`,r,!0):i.activationCount===0&&!b(i.status)?(i.activationCount=1,i.startedAt=i.startedAt??r,i.status=`running`):i.status===`idle`&&j(i,`running`,r);let a=T(e.detail);a&&i.title===i.id&&(i.title=a),i.updatedAt=r;break}case`task.progress`:{let t=T(e.taskId);if(!t)break;let i=n.has(t);if(!i&&S(e))break;let a=k(n,t,e,r),o=A(a,e);a.activationCount===0&&(a.activationCount=1);let s=ce(e.status);s?j(a,s,r,o):o?j(a,`running`,r,!0):(e.usageSnapshot!==!0||!i)&&!b(a.status)&&a.status!==`idle`&&j(a,`running`,r);let c=T(e.summary);c&&(a.progress=C(c),a.recentActivity=w(a.recentActivity,r,c));let l=T(e.lastToolName);l&&(a.lastToolName=l,c||(a.recentActivity=w(a.recentActivity,r,`▸ ${l}`)));let u=T(e.error);u&&(a.error=C(u)),a.usage=O(a.usage,D(e.typedUsage)),a.updatedAt=r;break}case`task.updated`:{let t=T(e.taskId);if(!t||!n.has(t)&&S(e))break;let i=k(n,t,e,r),a=A(i,e);i.activationCount===0&&(i.activationCount=1);let o=b(i.status),s=ce(e.status);s&&j(i,s,r,a);let c=T(e.error);c&&(i.error=C(c));let l=T(e.endedAt);l&&!o&&b(i.status)&&(i.completedAt=l),i.updatedAt=r;break}case`task.completed`:{let t=T(e.taskId);if(!t||!n.has(t)&&S(e))break;let i=k(n,t,e,r),a=A(i,e);i.activationCount===0&&(i.activationCount=1);let o=T(e.summary)??T(e.detail);if(b(i.status)&&!a){o&&(i.status===`failed`?i.error=i.error??C(o):i.result=i.result??C(o)),i.usage=O(i.usage,D(e.typedUsage));break}let s=oe.get(T(e.status)??``)??`completed`;j(i,s,r,a),o&&(s===`failed`?i.error=i.error??C(o):i.result=C(o)),i.usage=O(i.usage,D(e.typedUsage)),i.updatedAt=r;break}case`tool.progress`:{let t=T(e.taskId);if(!t)break;let i=n.get(t);if(!i)break;let a=T(e.toolName);a&&(i.lastToolName=a,i.recentActivity=w(i.recentActivity,r,`▸ ${a}`)),i.updatedAt=r;break}}}for(let e of n.values())if(!(e.kind!==`workflow`||!b(e.status)))for(let t of n.values())t.parentAgentId===e.id&&(b(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())x(e.status)&&(e.status=`interrupted`,e.completedAt=e.completedAt??e.updatedAt);return ie(Array.from(n.values()))}var ue={workflows:[],directAgents:[],runningCount:0,waitingCount:0,idleCount:0,settledCount:0,totalTokens:0,hasAgents:!1,liveCount:0};function de(){return ue}function fe(e,t){return e===`running`?t?`running`:`interrupted`:e===`finished`?`completed`:e}function pe(e,t){let n=fe(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=b(n);return{id:e.key,kind:`subagent`,title:e.detail??e.role??`Agent task`,role:e.role??null,model:e.model??null,effort:e.effort??null,status:n,activationCount:1,usage:null,progress:o?C(o):null,lastToolName:null,result:n===`completed`&&r?C(r):null,error:n===`failed`&&a?C(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:C(e.detail??e.output??e.label)})),firstSeenAt:e.startedAt,startedAt:e.startedAt,completedAt:s?e.updatedAt:null,updatedAt:e.updatedAt}}function me(e){let t=le(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=>pe(t,e.sessionLive));return he({agents:ie([...t,...r])})}function he({agents:e,v2Projection:t}){let n=t??e;if(n.length===0)return ue;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=>x(e.status)||e.status===`idle`).length,a=r.filter(e=>b(e.status)).length,o=r.length===0?b(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 ge(e,t){if(!e)return null;let n=e.replace(/^claude-/,``).replace(/-\d{8}$/,``).replace(/-latest$/,``);return t?`${n} · ${t}`:n}function _e(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 ve=[{value:i.make(`codex`),label:`Codex`,available:!0},{value:i.make(`claudeAgent`),label:`Claude`,available:!0},{value:i.make(`copilot`),label:`GitHub Copilot`,available:!0},{value:i.make(`opencode`),label:`OpenCode`,available:!0,pickerSidebarBadge:`new`},{value:i.make(`cursor`),label:`Cursor`,available:!0,pickerSidebarBadge:`new`},{value:i.make(`grok`),label:`Grok`,available:!0,pickerSidebarBadge:`new`}];function ye(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 be(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:ye(r-n)}function xe(e,t){return!e?.startedAt||!e.completedAt?!1:!t||t.orchestrationStatus!==`running`}function Se(e,t,n){let r=t?.orchestrationStatus===`running`?t.activeTurnId??null:null;return r===null?xe(e,t)?n:e?.startedAt??n:e?.turnId===r?e.startedAt??n:n}function Ce(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 we(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 Te(e){return e.payload&&typeof e.payload==`object`?e.payload:null}function Ee(e){return e&&typeof e.requestId==`string`?n.make(e.requestId):null}function De(e){return e&&typeof e.detail==`string`?e.detail:void 0}function Oe(e){return e&&(e.requestKind===`command`||e.requestKind===`file-read`||e.requestKind===`file-change`)?e.requestKind:e?Ce(e.requestType):null}function ke(e,t,n){if(t.kind!==`approval.requested`&&t.kind!==`approval.resolved`&&t.kind!==`provider.approval.respond.failed`)return;let r=Ee(n),i=Oe(n),a=De(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&&we(a)&&e.delete(r)}function Ae(e){return[...e.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function je(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 Me(e,t,n){if(t.kind!==`user-input.requested`&&t.kind!==`user-input.resolved`&&t.kind!==`provider.user-input.respond.failed`)return;let r=Ee(n),i=De(n);if(t.kind===`user-input.requested`&&r){let i=je(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&&we(i)&&e.delete(r)}function Ne(e){return[...e.values()].toSorted((e,t)=>e.createdAt.localeCompare(t.createdAt))}function Pe(e){if(!e)return null;let t=Te(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 Fe(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 N(n)}let n=[...e].toSorted((e,t)=>e.updatedAt.localeCompare(t.updatedAt)||e.id.localeCompare(t.id)).at(-1);return n?N(n):null}function Ie(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 N(n)}}return Fe(t,e.latestTurn?.turnId??null)}function Le(e){return e!==null&&e.implementedAt===null}function Re(e,t){let n=[...e].toSorted(jt),r=ze(n),i=[];for(let e of n)We(e,t)&&i.push(qe(e,r));return Ge(i)}function ze(e){let t=new Map;for(let n of e){if(n.kind!==`tool.started`)continue;let e=mt(n.payload&&typeof n.payload==`object`?n.payload:null);e&&!t.has(e)&&t.set(e,n.createdAt)}return t}function Be(e){let t=e.payload&&typeof e.payload==`object`?e.payload:null;return!t||typeof t.taskId!=`string`?null:t}function Ve(e){let t=Be(e);return t!==null&&!S(t)}function He(e){if(e.kind!==`task.started`&&e.kind!==`task.progress`&&e.kind!==`task.completed`)return!1;let t=Be(e);return t!==null&&!S(t)}function Ue(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`&&!S(t)):!1:t.timelineBypass===!0||typeof t.agentId==`string`&&t.agentId.trim().length>0:!1}function We(e,t){return t&&e.turnId!==t&&!He(e)?!1:e.kind===`task.started`?Ve(e):e.kind===`task.updated`||e.kind===`tool.progress`||Ue(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`&&!Ke(e)}function Ge(e){return Ye(e).map(({activityKind:e,collapseKey:t,...n})=>n)}function Ke(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 qe(e,t){let n=e.payload&&typeof e.payload==`object`?e.payload:null,r=ft(n),i=kt(n),a=At(n),o=pt(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?z(n.detail).output:null:bt(n,o??e.summary),f=s?null:mt(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=wt(n),h=Tt(n),g=St(n),_=Ct(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&&S(n)&&(p.isBackgroundTask=!0);let v=et(p);return v&&(p.collapseKey=v),p}function Je(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 Ye(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??Je(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]={...Ze(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&&Xe(e,i)){t[t.length-1]=Ze(e,i);continue}t.push(i)}return t}function Xe(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&&M(e.toolTitle??e.label)===M(t.toolTitle??t.label)}function Ze(e,t){let n=Qe(e.changedFiles,t.changedFiles),r=$e(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 Qe(e,t){let n=[...e??[],...t??[]];return n.length===0?[]:[...new Set(n)]}function $e(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 et(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=M(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 M(e){return e.replace(/\s+(?:complete|completed)\s*$/i,``).trim()}function N(e){return{id:e.id,createdAt:e.createdAt,updatedAt:e.updatedAt,turnId:e.turnId,planMarkdown:e.planMarkdown,implementedAt:e.implementedAt,implementationThreadId:e.implementationThreadId}}function P(e){return e&&typeof e==`object`?e:null}function F(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function I(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function tt(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 nt(e){let t=tt(e);if(t.length===0)return null;let n=t.replace(/\\/g,`/`).split(`/`).at(-1)?.trim()??``;return n.length>0?n.toLowerCase():null}function rt(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 it=[{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 at(e){return it.find(t=>t.executables.includes(e))}function ot(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=tt(r);return i.length>0?i:null}function st(e){let t=rt(e);if(!t||t.rest.length===0)return e;let n=nt(t.executable);if(!n)return e;let r=at(n);return r?ot(t.rest,r.wrapperFlagPattern)??e:e}function ct(e){return/[\s"'`]/.test(e)?`"${e.replace(/"/g,`\\"`)}"`:e}function lt(e){let t=F(e);if(t)return t;if(!Array.isArray(e))return null;let n=e.map(e=>F(e)).filter(e=>e!==null);return n.length===0?null:n.map(e=>ct(e)).join(` `)}function ut(e){let t=lt(e);return t?st(t):null}function dt(e,t){let n=lt(e);return!n||t===null||n===t?null:n}function ft(e){let t=P(e?.data),n=P(t?.item),r=P(n?.result),i=P(n?.input),a=F(e?.itemType),o=F(e?.detail),s=[n?.command,i?.command,r?.command,t?.command,a===`command_execution`&&o?z(o).output:null];for(let e of s){let t=ut(e);if(t)return{command:t,rawCommand:dt(e,t)}}return{command:null,rawCommand:null}}function pt(e){return F(e?.title)}function mt(e){return F(P(e?.data)?.toolCallId)}function ht(e){return e.replace(/\s+/g,` `).trim()}function gt(e,t=84){return e.length<=t?e:`${e.slice(0,t-1).trimEnd()}…`}function L(e){let t=F(e);return t?M(ht(t)).toLowerCase():null}function _t(e){let t=e.split(/\r?\n/u).map(e=>ht(e)).filter(e=>e.length>0),n=t.find(e=>e!=="```");return n?gt(n):t.length>1?`${t.length.toLocaleString()} lines`:null}function vt(e){let t=P(P(e?.data)?.rawOutput);if(!t)return null;let n=I(t.totalFiles);if(n!==null){let e=t.truncated===!0?`+`:``;return`${n.toLocaleString()} file${n===1?``:`s`}${e}`}let r=F(t.content);if(r)return _t(r);let i=F(t.stdout);return i?_t(i):null}function yt(e,t){let n=F(P(e?.data)?.kind)?.toLowerCase(),r=F(e?.title??t)?.toLowerCase();return wt(e)===`command_execution`||n===`execute`||r===`terminal`||r===`ran command`}function bt(e,t){let n=F(e?.detail),r=n?z(n).output:null,i=L(t),a=L(r);if(r&&i!==a)return r;if(yt(e,t))return null;let o=vt(e);return o&&L(o)!==i?o:null}function R(e){if(!Array.isArray(e))return null;let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n,r=F(e.text);if(r){t.push(r);continue}let i=F(P(e.content)?.text);i&&t.push(i)}return t.length>0?t.join(`
|
|
2
2
|
`):null}function xt(e){if(!e)return null;let t=F(e.type);if(t===`commandExecution`)return F(e.aggregatedOutput);if(t===`mcpToolCall`){let t=F(P(e.error)?.message);if(t)return t;let n=P(e.result);if(n){let e=R(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 R(e.contentItems);if(t===`fileChange`){let t=e.changes;if(Array.isArray(t)){let e=t.map(e=>!e||typeof e!=`object`?null:F(e.diff)).filter(e=>e!==null);if(e.length>0)return e.join(`
|
|
3
3
|
|
|
4
4
|
`)}return null}return null}function St(e){let t=P(e?.data);if(!t)return null;let n=xt(P(t.item));if(n)return n;let r=P(t.rawOutput);if(r){let e=F(r.stdout);if(e)return e;let t=F(r.content);if(t)return t}return R(t.content)||null}function Ct(e){let t=P(e?.data);if(!t)return null;let n=P(t.item);if(n){let e=I(n.exitCode);if(e!==null&&Number.isInteger(e))return e}let r=I(P(t.rawOutput)?.exitCode);if(r!==null&&Number.isInteger(r))return r;let i=F(e?.detail);return i?z(i).exitCode??null:null}function z(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 wt(e){if(typeof e?.itemType==`string`&&t(e.itemType))return e.itemType}function Tt(e){return e?.requestKind===`command`||e?.requestKind===`file-read`||e?.requestKind===`file-change`?e.requestKind:Ce(e?.requestType)??void 0}function B(e,t,n){let r=F(n);!r||t.has(r)||(t.add(r),e.push(r))}function Et(e){for(let t of[`path`,`filePath`,`relativePath`,`filename`,`newPath`,`oldPath`]){let n=F(e[t]);if(n)return n}return null}function Dt(e){if(!(typeof e!=`number`||!Number.isFinite(e)))return Math.max(0,Math.trunc(e))}function Ot(e){let t=Et(e);if(!t)return null;let n=Dt(e.additions??e.insertions??e.addedLines??e.additionLines),r=Dt(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 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=P(e);if(i){B(t,n,i.path),B(t,n,i.filePath),B(t,n,i.relativePath),B(t,n,i.filename),B(t,n,i.newPath),B(t,n,i.oldPath);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 H(e,t,n,r){if(r>4||t.length>=12)return;if(Array.isArray(e)){for(let i of e)if(H(i,t,n,r+1),t.length>=12)return;return}let i=P(e);if(!i)return;let a=Ot(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&&(H(i[e],t,n,r+1),t.length>=12))return}function kt(e){let t=[],n=new Set;return V(P(e?.data),t,n,0),t}function At(e){let t=[],n=new Set;return H(P(e?.data),t,n,0),t}function jt(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=Mt(e.kind)-Mt(t.kind);return r===0?e.id.localeCompare(t.id):r}function Mt(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 Nt(e){return{id:`context-compaction:${e.id}`,activityId:e.id,createdAt:e.createdAt,label:e.summary,turnId:e.turnId}}function Pt(e,t){let n=[...e].toSorted(jt),r=ze(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=Te(e);ke(o,e,t),Me(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(Nt(e));let n=s(e);n&&d.push(n),We(e,i)&&l.push(qe(e,r))}return{workLogEntries:Ge(l),contextCompactionEntries:u,contextHandoffEntries:d,latestTurnHasToolActivity:f,pendingApprovals:Ae(o),pendingUserInputs:Ne(c),activePlan:Pe(m??p)}}function Ft(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 It(e){return!e||e.status===`closed`?`disconnected`:e.status===`connecting`?`connecting`:e.status===`running`?`running`:`ready`}var U=new Set([`agent`,`subagent`,`subagent task`,`task`,`tool call`]);function W(e){return e&&typeof e==`object`?e:null}function G(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function K(e){return Array.isArray(e)?e.flatMap(e=>{let t=G(e);return t?[t]:[]}):[]}function Lt(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0?e:null}function q(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`agent`}function J(e){return e.replace(/[_-]+/g,` `).replace(/\s+/g,` `).trim().replace(/\b\w/g,e=>e.toUpperCase())}function Rt(e){return W(e.payload)}function zt(e){let t=W(e?.data);return W(t?.input)||W(W(t?.state)?.input)}function Y(e){let t=W(W(e?.data)?.item);return t?.type===`collabAgentToolCall`?t:null}function X(e){return W(e?.subagent)}function Bt(e){return W(e?.metadata)}function Vt(e){return`subagent:${e}`}function Ht(e){let t=W(e?.data),n=W(t?.state),r=Y(e),i=W(e?.providerRefs);return G(e?.providerItemId)??G(i?.providerItemId)??G(r?.id)??G(t?.toolCallId)??G(t?.callID)??G(t?.callId)??G(n?.callID)??G(n?.callId)??null}function Ut(e){return G(X(e)?.subagentId)??G(e?.subagentId)??G(e?.taskId)}function Wt(e){let t=X(e),n=[G(t?.providerThreadId),...K(t?.providerThreadIds),G(e?.providerThreadId)].filter(e=>e!==null);if(n.length>0)return[...new Set(n)];let r=Y(e);return r?K(r.receiverThreadIds):[]}function Gt(e){let t=X(e);return[G(t?.providerSessionId),...K(t?.providerSessionIds),G(e?.providerSessionId)].filter(e=>e!==null)}function Kt(e){return G(e?.lastToolName)??G(X(e)?.providerTaskId)??G(Y(e)?.tool)}function qt(e){return G(X(e)?.origin)}function Jt(e){return G(X(e)?.capability)}function Yt(e){return G(X(e)?.model)??G(e?.model)}function Xt(e){return G(X(e)?.effort)??G(e?.effort)}function Zt(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 U.has(r)?null:n}function Qt(e,t){return e?G(RegExp(`(?:^|\\n)\\s*${t}\\s*:\\s*([^\\n]+)`,`i`).exec(e)?.[1]):null}function $t(e){let t=Qt(e,`role`)?.replace(/[.,;:]+$/,``).trim();return t?J(t):null}function Z(e){return e?G(/(?:^|\n)\s*focus(?:\s+on)?\s*:?\s*([^\n]+)/i.exec(e)?.[1])??Qt(e,`task`):null}function Q(e,t){let n=zt(e),r=W(e?.data),i=W(r?.state),a=Y(e),o=X(e),s=Bt(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,$t(G(a?.prompt)),$t(t),Zt(t),en(t)];for(let e of c){let t=G(e);if(!t)continue;let n=t.toLowerCase();if(!U.has(n))return J(t)}return null}function en(e){if(!e)return null;let t=G(/\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 U.has(n)?null:J(t)}function tn(e){let t=W(e?.agentsStates);if(!t)return null;for(let e of Object.values(t)){let t=G(W(e)?.message);if(t)return t}return null}function nn(e,t){let n=zt(e),r=Y(e),i=X(e),a=Bt(i),o=G(r?.prompt)??tn(r)??G(e?.summary)??G(e?.detail)??G(i?.description)??G(i?.detail)??G(a?.description)??G(a?.detail)??G(n?.description)??G(n?.prompt)??G(n?.task)??G(e?.detail)??t;return Z(o)??o}function rn(e){return e?.itemType===`collab_agent_tool_call`||e?.itemType===`subagent`}function an(e,t){return e.kind.startsWith(`task.`)&&t?.agentKind===`agent`}function on(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 sn(e){let t=Y(e),n=W(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=on(G(W(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=G(t?.status);return r===`failed`?`failed`:r===`completed`?`finished`:r===`inProgress`?`running`:null}function cn(e,t){if(Y(t)){let e=sn(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 ln(e){return e.tone===`error`||e.exitCode!==void 0&&e.exitCode!==0?`failed`:`finished`}function un(e){return e.canonicalSubagentId?Vt(e.canonicalSubagentId):e.toolCallId?`subagent:${q(e.toolCallId)}`:e.name&&e.detail?`subagent:${q(`${e.name}:${e.detail}`)}`:e.detail?`subagent:${q(e.detail)}`:e.name?`subagent:${q(e.name)}`:`subagent:${q(e.fallbackId)}`}function dn(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 $(e,t,n=!1){return(e===`finished`||e===`failed`||e===`interrupted`)&&!n?e:t===`failed`?`failed`:e===`failed`?e:t}function fn(e,t){for(let n of t)e.add(n)}function pn(e,t){for(let n of t)e.add(n)}function mn(e){let t=e.detail??e.output??null,n=Z(t)??t;return un({canonicalSubagentId:null,toolCallId:null,name:Q(null,t??e.toolTitle??e.label),detail:n??e.label,fallbackId:e.id})}function hn(e,t){if(!t)return null;for(let n of e.values())if(n.providerThreadIds.has(t))return n;return null}function gn(e){if(e.kind!==`agent.message`&&!e.kind.startsWith(`subagent.message`))return null;let t=Rt(e),n=X(t),r=W(t?.providerRefs),i=Ut(t),a=G(t?.text)??G(t?.delta)??G(t?.summary);return a?{id:G(t?.providerItemId)??G(r?.providerItemId)??e.id,text:a,createdAt:e.createdAt,providerThreadId:G(t?.providerThreadId)??G(n?.providerThreadId)??G(t?.providerSessionId)??G(n?.providerSessionId),subagentKey:i?Vt(i):null}:null}function _n(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 vn(e){let t=e?.replace(/[_\s-]+/g,``).toLocaleLowerCase();return t===`spawnagent`||t===`spawnagents`||t===`spawn`}function yn(e){return vn(G(e.tool))}function bn(e,t,n){let r=W(n.agentsStates);if(r)for(let[n,i]of Object.entries(r)){let r=hn(e,n);if(!r)continue;let a=W(i),o=on(G(a?.status)),s=G(a?.message);o&&(r.status=$(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 xn(e,t){let n=new Map,r=new Set,i=new Map,a=[...e].toSorted(dn);for(let e of a){let t=Rt(e);if(!rn(t)&&!an(e,t))continue;let a=Y(t);if(a&&!yn(a)){r.add(e.id),bn(n,e,a);continue}let o=t?.usageSnapshot===!0?null:nn(t,G(e.summary)),s=Q(t,o),c=G(t?.role),l=Ut(t),u=Wt(t),d=Gt(t),f=qt(t),p=Jt(t),m=Yt(t),h=Xt(t),g=Kt(t),_=un({canonicalSubagentId:l,toolCallId:Ht(t),name:s,detail:o,fallbackId:e.id}),v=n.get(_),y=cn(e,t);if(i.set(e.id,_),v){v.name=c?J(c):v.name??s,v.detail=o??v.detail,v.origin=v.origin??f,v.capability=v.capability??p,v.model=v.model??m,v.effort=v.effort??h,v.tool=v.tool??g,fn(v.providerThreadIds,u),pn(v.providerSessionIds,d);let r=Lt(t?.attempt),i=r!==null&&v.attempt!==null&&r>v.attempt;r!==null&&(v.attempt=r),y&&(v.status=$(v.status,y,i)),v.updatedAt=e.createdAt,a&&bn(n,e,a);continue}n.set(_,{key:_,name:s,status:y??(an(e,t)&&t?.usageSnapshot===!0?`running`:`idle`),origin:f,capability:p,model:m,effort:h,tool:g,detail:o,providerThreadIds:new Set(u),providerSessionIds:new Set(d),attempt:Lt(t?.attempt),startedAt:e.createdAt,updatedAt:e.createdAt,entries:[],messages:[]}),a&&bn(n,e,a)}for(let e of a){let t=gn(e);if(!t)continue;let r=t.subagentKey?n.get(t.subagentKey)??null:hn(n,t.providerThreadId);if(!r)continue;let{subagentKey:i,...a}=t;r.messages.push(a),r.updatedAt=e.createdAt}for(let t of Re(e,void 0)){if(t.itemType!==`collab_agent_tool_call`||r.has(t.id))continue;let e=t.detail??t.output??null,a=Z(e)??e,o=Q(null,e??t.toolTitle??t.label),s=mn(t),c=i.get(t.id),l=(c?n.get(c):void 0)??n.get(s)??_n(n,{name:o,detail:a}),u=ln(t);if(l){l.entries.push(t),vn(l.tool)||(l.status=$(l.status,u)),l.updatedAt=t.createdAt;continue}n.set(s,{key:s,name:o,status:u,origin:null,capability:null,model:null,effort: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,model:e.model,effort:e.effort,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 Sn(e,t){return t?e.find(e=>e.key===t)??null:null}export{_e as _,It as a,Ie as c,Le as d,Ft as f,ge as g,de as h,Se as i,ye as l,me as m,Sn as n,Pt as o,xe as p,ve as r,Fe as s,xn as t,be as u,v,p as y};
|
package/dist/client/assets/{sidebarProjectFolders-Dlo6McCj.js → sidebarProjectFolders-DKxZsoOv.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-Bcq9YR3B.js";import{W as c,rt as l}from"./src-DmPIm3ie.js";import{Bt as u,Cn as d,E as f,Hn as p,S as m,St as h,Yt as g,bt as _,gn as v,p as y,w as b,x,xn as S,yn as C}from"./runtime-QZPKtH2P.js";import{a as w}from"./primary-CiDY2oUi.js";import{Ct as T,It as E,X as D,i as O,q as k}from"./composerDraftStore-TYv9j3vY.js";import{I as A,S as j,W as M,w as N}from"./useHandleNewThread-ByVfL71G.js";import{A as ee,F as te,V as ne,c as P,p as re,v as ie}from"./ThreadStatusIndicators-C40TYVEC.js";import{n as F,r as I,t as L}from"./uiStateStore-DzUrk2GS.js";import{f as R}from"./useRenderElement-DchFnsR8.js";import{F as ae,N as z,a as oe,b as se,d as ce,i as B,j as le,n as ue,r as de,t as fe,u as pe,v as me,x as he,y as ge}from"./WorkItemsTab-0DE4S4n0.js";import{i as V}from"./toast-C-0Ft2jD.js";import{t as _e}from"./external-link-fbvzDWM7.js";import{t as H}from"./folder-open-GqwNTbSV.js";import{t as ve}from"./git-pull-request-DIYyPsg5.js";import{p as U}from"./projectPaths-D8b4yLOe.js";import{t as ye}from"./settings-2-CZQg_KUQ.js";import{t as W}from"./sparkles-CAf3oJ5S.js";import{t as be}from"./triangle-alert-RL_T3KLo.js";import{i as G,t as K}from"./utils-CV2fJJxC.js";import{a as xe,o as Se,p as Ce,t as we}from"./keybindings-BPE3eEAM.js";import{t as Te}from"./switch-BZjA7VT9.js";import{t as Ee}from"./input-BZz4eLRl.js";import{t as De}from"./scroll-area-C0yF015F.js";import{a as Oe,c as ke,d as q,f as J,i as Ae,r as je,u as Me}from"./Icons-BEtED8P8.js";import{t as Ne}from"./ProjectFavicon-BjXJxNbQ.js";import{t as Y}from"./button-DG8WqjNn.js";import{t as X}from"./toastHelpers-CSQRKo4F.js";import"./types-_h41wnN2.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-BNmFD6Nh.js";import{t as Ve}from"./textarea-DHdmRD1r.js";import{a as He,i as Ue,o as We,s as Ge,t as Ke}from"./select-CZukJlTn.js";import{g as qe,o as Je,p as Ye,r as Xe,t as Ze}from"./useAtlassian-Zb2Kkt0_.js";import"./providerInstances-vd2eZtHx.js";var Qe=R(`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`}]]),$e=new Set([`idle`,`in_progress`,`review`,`done`]),et=new Set([`main`,`branch`,`pr`,`issue`,`manual`]);function tt(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 nt(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=>ot({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=ct(e.project,t,e.worktrees??[]);return{project:a,threads:c,worktrees:[...mt({logicalProjectId:t,project:e.project,threads:c}),...l]}}function rt(e){let t=it(e),n=e.projectKey,r=[],i=[];return a=>{let o=[];for(let[e,n]of Object.entries(a.draftThreadsByThreadKey))at(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])=>st({draftId:t,logicalProjectId:n,sourceProjectCwd:Ct(e,r),draftThread:r})),i)}}function it(e){return new Set(e.memberProjects.map(e=>o(i(e.environmentId,e.id))))}function at(e,t){return e.promotedTo==null&&t.has(o(i(e.environmentId,e.projectId)))}function ot(e){let t=e.thread,n=xt(t.statusPill)||t.statusPill===null?t.statusPill:A({thread:{...e.thread,...e.lastVisitedAt?{lastVisitedAt:e.lastVisitedAt}:{}}});return{...e.thread,projectId:e.logicalProjectId,manualStatusBucket:gt(t.manualStatusBucket)??gt(t.manualBucket)??gt(t.statusBucket)??null,sourceProjectId:e.thread.projectId,sourceProjectCwd:e.sourceProjectCwd,statusPill:n,worktreeId:typeof t.worktreeId==`string`?t.worktreeId:null}}function st(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 ct(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=vt(s.branch);if(!c)return[];let l=vt(s.environmentId)??n.environmentId,u=vt(s.projectId)??n.id,d=a.get(o(i(l,u)))??n,f=yt(s.worktreePath),p=_t(s.origin)??(f===null?`main`:`manual`),m=vt(s.worktreeId)??vt(s.id)??ht({branch:c,fallbackIndex:r,environmentId:l,origin:p,sourceProjectId:u,worktreePath:f});return[{archivedAt:yt(s.archivedAt),branch:c,environmentId:l,issueNumber:bt(s.issueNumber),manualPosition:bt(s.manualPosition),origin:p,prNumber:bt(s.prNumber),prState:lt(s.prState),prIsDraft:pt(s.prIsDraft),issueState:ut(s.issueState),workItemProvider:dt(s.workItemProvider),workItemKey:yt(s.workItemKey),workItemTitle:yt(s.workItemTitle),workItemState:ft(s.workItemState),workItemStateName:yt(s.workItemStateName),workItemUrl:yt(s.workItemUrl),projectId:t,sourceProjectCwd:d.cwd,sourceProjectId:u,title:yt(s.title),updatedAt:vt(s.updatedAt),worktreeId:m,worktreePath:f}]})}function lt(e){return e===`open`||e===`closed`||e===`merged`?e:null}function ut(e){return e===`open`||e===`closed`?e:null}function dt(e){return e===`jira`?e:null}function ft(e){return e===`open`||e===`in_progress`||e===`done`||e===`closed`||e===`unknown`?e:null}function pt(e){return typeof e==`boolean`?e:null}function mt(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)=>St(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 ht(e){let t=e.worktreePath??e.branch;return`${e.origin}:${e.environmentId}:${e.sourceProjectId}:${t||e.fallbackIndex}`}function gt(e){return typeof e==`string`&&$e.has(e)?e:null}function _t(e){return typeof e==`string`&&et.has(e)?e:null}function vt(e){return typeof e==`string`&&e.length>0?e:void 0}function yt(e){return typeof e==`string`&&e.length>0?e:null}function bt(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function xt(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 St(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 Ct(e,t){return e.memberProjects.find(e=>e.environmentId===t.environmentId&&e.id===t.projectId)?.cwd??e.cwd}var Z=n();function wt(e){let t=en(Tt(e.threads),e=>e.projectId),n=en(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=Zt(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=At(r,Bt({project:r,threads:o,worktrees:n.get(r.id)??[]})),u=l.worktrees;return{archivedSessions:c,archivedWorktrees:Kt(u).filter(e=>e.archivedAt!=null).map(t=>Dt({diffStats:Xt(e,t.worktreeId),nowMs:e.nowMs,threads:o.filter(e=>kt(e,t,r,l)),worktree:t})),flatSessions:[],draftSessions:a,isGitRepo:s,project:r,worktrees:Kt(u).filter(e=>e.archivedAt==null).map(t=>Dt({diffStats:Xt(e,t.worktreeId),nowMs:e.nowMs,threads:o.filter(e=>kt(e,t,r,l)),worktree:t}))}})}}function Tt(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 Et(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=wt({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 Dt(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=Ot(a);n.push(e),t[e].push(a)}return{aggregateStatus:j(n),archivedSessions:r,buckets:t,diffStats:e.diffStats,sessions:i,shouldSuggestArchive:M({buckets:n,latestUpdatedAt:Yt(e.threads),nowMs:e.nowMs}),worktree:e.worktree}}function Ot(e){return N({manualBucket:e.manualStatusBucket??null,statusPill:e.statusPill??A({thread:e})})}function kt(e,t,n,r){let i=Ht(e,n),a=Ut(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||Gt(e.branch):e.branch===t.branch:o===t.worktreeId}function At(e,t){let n=new Map,r=new Map;for(let i of t){let t=jt(e,i),a=n.get(t);r.set(i.worktreeId,t),n.set(t,a?Nt(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=Ut(t,e);n!==null&&i.add(n)}return{directoryKeys:i,nodeIdByWorktreeId:a,worktrees:[...n.values()]}}function jt(e,t){return Ut(t,e)??`${t.projectId}:${t.origin}:${t.worktreeId}:${t.branch}`}function Mt(e){return U(e)}function Nt(e,t){let n=Pt(e,t),r=e.origin===`main`||t.origin!==`main`?e.origin:t.origin;return{...e,archivedAt:Rt(e.archivedAt,t.archivedAt),branch:n.branch,environmentId:n.environmentId??e.environmentId??t.environmentId,manualPosition:zt(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:Ft(e,t),updatedAt:Jt(e.updatedAt,t.updatedAt),worktreeId:It(e,t),worktreePath:r===`main`?null:e.worktreePath??t.worktreePath}}function Pt(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 Ft(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 It(e,t){let n=Lt(e.worktreeId),r=Lt(t.worktreeId);return n&&!r?t.worktreeId:r&&!n||e.origin===`main`?e.worktreeId:t.origin===`main`?t.worktreeId:e.worktreeId}function Lt(e){return/^(main|branch|pr|issue|manual):/.test(e)}function Rt(e,t){return e==null||t==null?null:Jt(e,t)}function zt(e,t){return e==null?t:t==null?e:Math.min(e,t)}function Bt(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=>Vt(e.project,t))]}function Vt(e,t){let n=t.branch??`main`,r=t.worktreePath===null&&Gt(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?Mt(t.worktreePath):n}`,worktreePath:t.worktreePath}}function Ht(e,t){return Wt({directory:e.worktreePath??e.sourceProjectCwd??t.cwd,environmentId:e.environmentId})}function Ut(e,t){return Wt({directory:e.worktreePath??e.sourceProjectCwd??t.cwd,environmentId:e.environmentId??t.environmentId})}function Wt(e){let t=Mt(e.directory);return t.length===0?null:JSON.stringify([e.environmentId,t])}function Gt(e){return e==null||e===`main`||e===`master`||e===`trunk`}function Kt(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=qt(e.updatedAt,t.updatedAt);return i===0?e.branch.localeCompare(t.branch)||e.worktreeId.localeCompare(t.worktreeId):i})}function qt(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 Jt(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 Yt(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 Xt(e,t){return e.diffStatsByWorktreeId?e.diffStatsByWorktreeId.get(t)??null:e.diffStatsByWorktreeIdRecord?.[t]??null}function Zt(e,t){let n=Qt(t,e.id);return n===void 0||n}function Qt(e,t){if(e)return $t(e)?e.get(t):e[String(t)]}function $t(e){return e instanceof Map}function en(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 tn={repository:`Group by repository`,repository_path:`Group by repository path`,separate:`Keep separate`};function nn(e,t){return t<=1?e.name:e.environmentLabel?`${e.environmentLabel} — ${e.cwd}`:e.cwd}function rn(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 an(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 on(e){switch(e){case`github`:return Me;case`gitlab`:return J;case`forgejo`:return ke;case`azure-devops`:return Ae;case`bitbucket`:return Oe;default:return q}}function sn(e){return e.replace(/\/+$/g,``).replace(/\.git$/i,``)}function cn(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 ln(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=sn(e.pathname),e.search=``,e.hash=``,e.toString()}catch{return null}if(/^(?:ssh|git):\/\//i.test(t))try{let e=new URL(t),n=sn(e.pathname).split(`/`).filter(e=>e.length>0),r=cn(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=sn(n[2]);return cn(e,t.split(`/`).filter(e=>e.length>0))||`https://${e}/${t}`}return null}function un(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=ln(n.url);return r?{url:r,label:n.label,provider:n.provider,providerLabel:an(n.provider)}:null}function dn(e){let t=(0,Z.c)(7),{memberThreadCountByPhysicalKey:n,jiraProjectOpenUrlByProjectKey:r}=e,a=hn,s;t[0]===r?s=t[1]:(s=e=>{let t=r.get(o(i(e.environmentId,e.id)))??null;if(!t){V.add({type:`warning`,title:`No Jira project link available`});return}let n=d();if(!n){V.add({type:`error`,title:`Link opening is unavailable.`});return}n.shell.openExternal(t).catch(mn)},t[0]=r,t[1]=s);let c=s,l=pn,f;t[2]===n?f=t[3]:(f=async e=>{let t=d();if(!t)return;let r=i(e.environmentId,e.id);if((n.get(e.physicalProjectKey)??0)>0){let n=V.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()=>{V.close(n),await new Promise(fn);let i=u(g.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-Bcq9YR3B.js";import{W as c,rt as l}from"./src-DmPIm3ie.js";import{Bt as u,Cn as d,E as f,Hn as p,S as m,St as h,Yt as g,bt as _,gn as v,p as y,w as b,x,xn as S,yn as C}from"./runtime-CYtynKGT.js";import{a as w}from"./primary-CiDY2oUi.js";import{Ct as T,It as E,X as D,i as O,q as k}from"./composerDraftStore-TYv9j3vY.js";import{I as A,S as j,W as M,w as N}from"./useHandleNewThread-9FAjhuhK.js";import{A as ee,F as te,V as ne,c as P,p as re,v as ie}from"./ThreadStatusIndicators-D_6jI6us.js";import{n as F,r as I,t as L}from"./uiStateStore-DzUrk2GS.js";import{f as R}from"./useRenderElement-DchFnsR8.js";import{F as ae,N as z,a as oe,b as se,d as ce,i as B,j as le,n as ue,r as de,t as fe,u as pe,v as me,x as he,y as ge}from"./WorkItemsTab-QQXGM1BH.js";import{i as V}from"./toast-C-0Ft2jD.js";import{t as _e}from"./external-link-fbvzDWM7.js";import{t as H}from"./folder-open-GqwNTbSV.js";import{t as ve}from"./git-pull-request-DIYyPsg5.js";import{p as U}from"./projectPaths-3WDk4ziK.js";import{t as ye}from"./settings-2-CZQg_KUQ.js";import{t as W}from"./sparkles-CAf3oJ5S.js";import{t as be}from"./triangle-alert-RL_T3KLo.js";import{i as G,t as K}from"./utils-CV2fJJxC.js";import{a as xe,o as Se,p as Ce,t as we}from"./keybindings-BPE3eEAM.js";import{t as Te}from"./switch-BZjA7VT9.js";import{t as Ee}from"./input-BZz4eLRl.js";import{t as De}from"./scroll-area-C0yF015F.js";import{a as Oe,c as ke,d as q,f as J,i as Ae,r as je,u as Me}from"./Icons-BEtED8P8.js";import{t as Ne}from"./ProjectFavicon-CxXx07Sa.js";import{t as Y}from"./button-DG8WqjNn.js";import{t as X}from"./toastHelpers-CSQRKo4F.js";import"./types-BeLJe5C1.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-BNmFD6Nh.js";import{t as Ve}from"./textarea-DHdmRD1r.js";import{a as He,i as Ue,o as We,s as Ge,t as Ke}from"./select-CZukJlTn.js";import{g as qe,o as Je,p as Ye,r as Xe,t as Ze}from"./useAtlassian-BTWMzLgJ.js";import"./providerInstances-vd2eZtHx.js";var Qe=R(`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`}]]),$e=new Set([`idle`,`in_progress`,`review`,`done`]),et=new Set([`main`,`branch`,`pr`,`issue`,`manual`]);function tt(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 nt(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=>ot({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=ct(e.project,t,e.worktrees??[]);return{project:a,threads:c,worktrees:[...mt({logicalProjectId:t,project:e.project,threads:c}),...l]}}function rt(e){let t=it(e),n=e.projectKey,r=[],i=[];return a=>{let o=[];for(let[e,n]of Object.entries(a.draftThreadsByThreadKey))at(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])=>st({draftId:t,logicalProjectId:n,sourceProjectCwd:Ct(e,r),draftThread:r})),i)}}function it(e){return new Set(e.memberProjects.map(e=>o(i(e.environmentId,e.id))))}function at(e,t){return e.promotedTo==null&&t.has(o(i(e.environmentId,e.projectId)))}function ot(e){let t=e.thread,n=xt(t.statusPill)||t.statusPill===null?t.statusPill:A({thread:{...e.thread,...e.lastVisitedAt?{lastVisitedAt:e.lastVisitedAt}:{}}});return{...e.thread,projectId:e.logicalProjectId,manualStatusBucket:gt(t.manualStatusBucket)??gt(t.manualBucket)??gt(t.statusBucket)??null,sourceProjectId:e.thread.projectId,sourceProjectCwd:e.sourceProjectCwd,statusPill:n,worktreeId:typeof t.worktreeId==`string`?t.worktreeId:null}}function st(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 ct(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=vt(s.branch);if(!c)return[];let l=vt(s.environmentId)??n.environmentId,u=vt(s.projectId)??n.id,d=a.get(o(i(l,u)))??n,f=yt(s.worktreePath),p=_t(s.origin)??(f===null?`main`:`manual`),m=vt(s.worktreeId)??vt(s.id)??ht({branch:c,fallbackIndex:r,environmentId:l,origin:p,sourceProjectId:u,worktreePath:f});return[{archivedAt:yt(s.archivedAt),branch:c,environmentId:l,issueNumber:bt(s.issueNumber),manualPosition:bt(s.manualPosition),origin:p,prNumber:bt(s.prNumber),prState:lt(s.prState),prIsDraft:pt(s.prIsDraft),issueState:ut(s.issueState),workItemProvider:dt(s.workItemProvider),workItemKey:yt(s.workItemKey),workItemTitle:yt(s.workItemTitle),workItemState:ft(s.workItemState),workItemStateName:yt(s.workItemStateName),workItemUrl:yt(s.workItemUrl),projectId:t,sourceProjectCwd:d.cwd,sourceProjectId:u,title:yt(s.title),updatedAt:vt(s.updatedAt),worktreeId:m,worktreePath:f}]})}function lt(e){return e===`open`||e===`closed`||e===`merged`?e:null}function ut(e){return e===`open`||e===`closed`?e:null}function dt(e){return e===`jira`?e:null}function ft(e){return e===`open`||e===`in_progress`||e===`done`||e===`closed`||e===`unknown`?e:null}function pt(e){return typeof e==`boolean`?e:null}function mt(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)=>St(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 ht(e){let t=e.worktreePath??e.branch;return`${e.origin}:${e.environmentId}:${e.sourceProjectId}:${t||e.fallbackIndex}`}function gt(e){return typeof e==`string`&&$e.has(e)?e:null}function _t(e){return typeof e==`string`&&et.has(e)?e:null}function vt(e){return typeof e==`string`&&e.length>0?e:void 0}function yt(e){return typeof e==`string`&&e.length>0?e:null}function bt(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function xt(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 St(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 Ct(e,t){return e.memberProjects.find(e=>e.environmentId===t.environmentId&&e.id===t.projectId)?.cwd??e.cwd}var Z=n();function wt(e){let t=en(Tt(e.threads),e=>e.projectId),n=en(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=Zt(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=At(r,Bt({project:r,threads:o,worktrees:n.get(r.id)??[]})),u=l.worktrees;return{archivedSessions:c,archivedWorktrees:Kt(u).filter(e=>e.archivedAt!=null).map(t=>Dt({diffStats:Xt(e,t.worktreeId),nowMs:e.nowMs,threads:o.filter(e=>kt(e,t,r,l)),worktree:t})),flatSessions:[],draftSessions:a,isGitRepo:s,project:r,worktrees:Kt(u).filter(e=>e.archivedAt==null).map(t=>Dt({diffStats:Xt(e,t.worktreeId),nowMs:e.nowMs,threads:o.filter(e=>kt(e,t,r,l)),worktree:t}))}})}}function Tt(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 Et(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=wt({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 Dt(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=Ot(a);n.push(e),t[e].push(a)}return{aggregateStatus:j(n),archivedSessions:r,buckets:t,diffStats:e.diffStats,sessions:i,shouldSuggestArchive:M({buckets:n,latestUpdatedAt:Yt(e.threads),nowMs:e.nowMs}),worktree:e.worktree}}function Ot(e){return N({manualBucket:e.manualStatusBucket??null,statusPill:e.statusPill??A({thread:e})})}function kt(e,t,n,r){let i=Ht(e,n),a=Ut(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||Gt(e.branch):e.branch===t.branch:o===t.worktreeId}function At(e,t){let n=new Map,r=new Map;for(let i of t){let t=jt(e,i),a=n.get(t);r.set(i.worktreeId,t),n.set(t,a?Nt(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=Ut(t,e);n!==null&&i.add(n)}return{directoryKeys:i,nodeIdByWorktreeId:a,worktrees:[...n.values()]}}function jt(e,t){return Ut(t,e)??`${t.projectId}:${t.origin}:${t.worktreeId}:${t.branch}`}function Mt(e){return U(e)}function Nt(e,t){let n=Pt(e,t),r=e.origin===`main`||t.origin!==`main`?e.origin:t.origin;return{...e,archivedAt:Rt(e.archivedAt,t.archivedAt),branch:n.branch,environmentId:n.environmentId??e.environmentId??t.environmentId,manualPosition:zt(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:Ft(e,t),updatedAt:Jt(e.updatedAt,t.updatedAt),worktreeId:It(e,t),worktreePath:r===`main`?null:e.worktreePath??t.worktreePath}}function Pt(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 Ft(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 It(e,t){let n=Lt(e.worktreeId),r=Lt(t.worktreeId);return n&&!r?t.worktreeId:r&&!n||e.origin===`main`?e.worktreeId:t.origin===`main`?t.worktreeId:e.worktreeId}function Lt(e){return/^(main|branch|pr|issue|manual):/.test(e)}function Rt(e,t){return e==null||t==null?null:Jt(e,t)}function zt(e,t){return e==null?t:t==null?e:Math.min(e,t)}function Bt(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=>Vt(e.project,t))]}function Vt(e,t){let n=t.branch??`main`,r=t.worktreePath===null&&Gt(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?Mt(t.worktreePath):n}`,worktreePath:t.worktreePath}}function Ht(e,t){return Wt({directory:e.worktreePath??e.sourceProjectCwd??t.cwd,environmentId:e.environmentId})}function Ut(e,t){return Wt({directory:e.worktreePath??e.sourceProjectCwd??t.cwd,environmentId:e.environmentId??t.environmentId})}function Wt(e){let t=Mt(e.directory);return t.length===0?null:JSON.stringify([e.environmentId,t])}function Gt(e){return e==null||e===`main`||e===`master`||e===`trunk`}function Kt(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=qt(e.updatedAt,t.updatedAt);return i===0?e.branch.localeCompare(t.branch)||e.worktreeId.localeCompare(t.worktreeId):i})}function qt(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 Jt(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 Yt(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 Xt(e,t){return e.diffStatsByWorktreeId?e.diffStatsByWorktreeId.get(t)??null:e.diffStatsByWorktreeIdRecord?.[t]??null}function Zt(e,t){let n=Qt(t,e.id);return n===void 0||n}function Qt(e,t){if(e)return $t(e)?e.get(t):e[String(t)]}function $t(e){return e instanceof Map}function en(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 tn={repository:`Group by repository`,repository_path:`Group by repository path`,separate:`Keep separate`};function nn(e,t){return t<=1?e.name:e.environmentLabel?`${e.environmentLabel} — ${e.cwd}`:e.cwd}function rn(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 an(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 on(e){switch(e){case`github`:return Me;case`gitlab`:return J;case`forgejo`:return ke;case`azure-devops`:return Ae;case`bitbucket`:return Oe;default:return q}}function sn(e){return e.replace(/\/+$/g,``).replace(/\.git$/i,``)}function cn(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 ln(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=sn(e.pathname),e.search=``,e.hash=``,e.toString()}catch{return null}if(/^(?:ssh|git):\/\//i.test(t))try{let e=new URL(t),n=sn(e.pathname).split(`/`).filter(e=>e.length>0),r=cn(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=sn(n[2]);return cn(e,t.split(`/`).filter(e=>e.length>0))||`https://${e}/${t}`}return null}function un(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=ln(n.url);return r?{url:r,label:n.label,provider:n.provider,providerLabel:an(n.provider)}:null}function dn(e){let t=(0,Z.c)(7),{memberThreadCountByPhysicalKey:n,jiraProjectOpenUrlByProjectKey:r}=e,a=hn,s;t[0]===r?s=t[1]:(s=e=>{let t=r.get(o(i(e.environmentId,e.id)))??null;if(!t){V.add({type:`warning`,title:`No Jira project link available`});return}let n=d();if(!n){V.add({type:`error`,title:`Link opening is unavailable.`});return}n.shell.openExternal(t).catch(mn)},t[0]=r,t[1]=s);let c=s,l=pn,f;t[2]===n?f=t[3]:(f=async e=>{let t=d();if(!t)return;let r=i(e.environmentId,e.id);if((n.get(e.physicalProjectKey)??0)>0){let n=V.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()=>{V.close(n),await new Promise(fn);let i=u(g.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}),V.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}),V.add(X({type:`error`,title:`Failed to remove "${e.name}"`,description:r}))}},t[2]=n,t[3]=f);let p=f,m;return t[4]!==p||t[5]!==c?(m={openProjectRemoteLink:a,openProjectJiraLink:c,removeProject:l,handleRemoveProject:p},t[4]=p,t[5]=c,t[6]=m):m=t[6],m}function fn(e){window.setTimeout(e,180)}async function pn(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=v(e.environmentId);if(!s)throw Error(`Project API unavailable.`);await s.orchestration.dispatchCommand({type:`project.delete`,commandId:G(),projectId:e.id,...n.force===!0?{force:!0}:{}})}function mn(e){V.add(X({type:`error`,title:`Unable to open Jira project`,description:e instanceof Error?e.message:`An error occurred.`}))}function hn(e){let t=un(e.repositoryIdentity,e.preferredRemoteName);if(!t){V.add({type:`warning`,title:`No remote link available`});return}let n=d();if(!n){V.add({type:`error`,title:`Link opening is unavailable.`});return}n.shell.openExternal(t.url).catch(gn)}function gn(e){V.add(X({type:`error`,title:`Unable to open remote repository`,description:e instanceof Error?e.message:`An error occurred.`}))}function _n(e){let t=(0,Z.c)(18),{project:n,jiraProjectOpenUrlByProjectKey:r,suppressProjectClickForContextMenuRef:a,onOpenOverview:s,openProjectSettingsDialog:c,openProjectRemoteLink:l,openProjectJiraLink:u,openProjectRenameDialog:f,openProjectGroupingDialog:p,copyPathToClipboard:m,handleRemoveProject:h}=e,g;t[0]!==m||t[1]!==h||t[2]!==r||t[3]!==s||t[4]!==p||t[5]!==u||t[6]!==l||t[7]!==f||t[8]!==c||t[9]!==n.groupedProjectCount||t[10]!==n.memberProjects?(g=e=>{(async()=>{let t=d();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`:f(t);return;case`grouping`:p(t);return;case`copy-path`:m(t.cwd,{path:t.cwd});return;case`delete`:return h(t)}}),{id:i,label:nn(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(yn),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:vn})]:[],...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]=p,t[5]=u,t[6]=l,t[7]=f,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 vn(e){return un(e.repositoryIdentity,e.preferredRemoteName)===null}function yn(e){return un(e.repositoryIdentity,e.preferredRemoteName)!==null}var Q=e(t(),1),$=E();function bn(e){let t=(0,Z.c)(3),n;return t[0]!==e.cwd||t[1]!==e.environmentId?(n=(0,$.jsx)(ge,{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 xn=20,Sn=5;function Cn(e,t=xn){return e>=t?`${t}+`:String(e)}function wn(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:xn},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:xn},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:xn},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:xn,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=Cn(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)(kn,{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=Cn(_.length),t[33]=_.length,t[34]=E);let D;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,$.jsx)(ve,{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)(kn,{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=Cn(y.length),t[41]=y.length,t[42]=A);let j;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,$.jsx)(z,{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)(kn,{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?Cn(x.length):`Not linked`,t[49]=d,t[50]=x,t[51]=re):re=t[51];let F;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,$.jsx)(je,{className:`size-3.5`}),t[52]=F):F=t[52];let I;t[53]===e?I=t[54]:(I=()=>e.onOpenTab(`workItems`),t[53]=e,t[54]=I);let L;t[55]!==re||t[56]!==I?(L=(0,$.jsx)(kn,{label:`Open Jira`,value:re,icon:F,accentClassName:`border-violet-500/18 bg-violet-500/8 text-violet-600 dark:text-violet-300`,onClick:I}),t[55]=re,t[56]=I,t[57]=L):L=t[57];let R;t[58]!==T||t[59]!==k||t[60]!==N||t[61]!==L?(R=(0,$.jsxs)(`div`,{className:`grid gap-3 p-4 sm:grid-cols-2 xl:grid-cols-4`,children:[T,k,N,L]}),t[58]=T,t[59]=k,t[60]=N,t[61]=L,t[62]=R):R=t[62];let ae;t[63]===h.length?ae=t[64]:(ae=Cn(h.length),t[63]=h.length,t[64]=ae);let oe=r.error,se=r.isLoading,ce;t[65]===h?ce=t[66]:(ce=h.slice(0,Sn),t[65]=h,t[66]=ce);let B;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,$.jsx)(ie,{className:`size-4`}),t[67]=B):B=t[67];let ue;t[68]===e?ue=t[69]:(ue=()=>e.onOpenTab(`issues`),t[68]=e,t[69]=ue);let de;t[70]===e?de=t[71]:(de=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]=de);let fe;t[72]!==r.error||t[73]!==r.isLoading||t[74]!==ae||t[75]!==ce||t[76]!==ue||t[77]!==de?(fe=(0,$.jsx)(An,{title:`Issues`,description:`Open source-control issues for this repository.`,countLabel:ae,emptyText:`No open issues.`,error:oe,isLoading:se,items:ce,icon:B,accentClassName:`text-emerald-600 dark:text-emerald-300`,onOpenTab:ue,keyForItem:Dn,renderItem:de}),t[72]=r.error,t[73]=r.isLoading,t[74]=ae,t[75]=ce,t[76]=ue,t[77]=de,t[78]=fe):fe=t[78];let me;t[79]===_.length?me=t[80]:(me=Cn(_.length),t[79]=_.length,t[80]=me);let he=a.error,ge=a.isLoading,V;t[81]===_?V=t[82]:(V=_.slice(0,Sn),t[81]=_,t[82]=V);let _e;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(_e=(0,$.jsx)(ve,{className:`size-4`}),t[83]=_e):_e=t[83];let H;t[84]===e?H=t[85]:(H=()=>e.onOpenTab(`prs`),t[84]=e,t[85]=H);let U;t[86]===e?U=t[87]:(U=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)(le,{kind:P(t.state,t.isDraft),className:`shrink-0`})]}),t[86]=e,t[87]=U);let ye;t[88]!==a.error||t[89]!==a.isLoading||t[90]!==me||t[91]!==V||t[92]!==H||t[93]!==U?(ye=(0,$.jsx)(An,{title:`Pull requests`,description:`Open pull requests and review work for this repository.`,countLabel:me,emptyText:`No open pull requests.`,error:he,isLoading:ge,items:V,icon:_e,accentClassName:`text-emerald-600 dark:text-emerald-300`,onOpenTab:H,keyForItem:En,renderItem:U}),t[88]=a.error,t[89]=a.isLoading,t[90]=me,t[91]=V,t[92]=H,t[93]=U,t[94]=ye):ye=t[94];let W;t[95]!==d||t[96]!==u.isLoading||t[97]!==e||t[98]!==p.error||t[99]!==p.isLoading||t[100]!==x?(W=d||u.isLoading?(0,$.jsx)(An,{title:`Jira`,description:`Open Jira work items linked to this project.`,countLabel:u.isLoading?`...`:Cn(x.length),emptyText:`No open Jira work items.`,error:p.error,isLoading:u.isLoading||p.isLoading,items:x.slice(0,Sn),icon:(0,$.jsx)(je,{className:`size-4`}),accentClassName:`text-violet-600 dark:text-violet-300`,onOpenTab:()=>e.onOpenTab(`workItems`),keyForItem:Tn,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)(On,{priority:t.priorityDetail??t.priority}),t.priority]}):null]})]}),(0,$.jsx)(`span`,{className:`mt-0.5 shrink-0 text-[11px] text-muted-foreground`,children:pe(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)(je,{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]=W):W=t[101];let be;t[102]!==fe||t[103]!==ye||t[104]!==W?(be=(0,$.jsxs)(`div`,{className:`divide-y divide-border/60 border-border/60 border-t`,children:[fe,ye,W]}),t[102]=fe,t[103]=ye,t[104]=W,t[105]=be):be=t[105];let G;return t[106]!==R||t[107]!==be?(G=(0,$.jsxs)(`div`,{className:`h-full min-h-0 overflow-y-auto`,children:[R,be]}),t[106]=R,t[107]=be,t[108]=G):G=t[108],G}function Tn(e){return`${e.provider}:${e.key}`}function En(e){return`${e.provider}:${e.number}`}function Dn(e){return`${e.provider}:${e.number}`}function On(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)(ae,{className:`size-3`}),t[2]=r):r=t[2],r}function kn(e){let t=(0,Z.c)(16),n;t[0]===e.accentClassName?n=t[1]:(n=K(`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 An(e){let t=(0,Z.c)(30),n;t[0]===e.accentClassName?n=t[1]:(n=K(`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)(be,{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 jn(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(Nn),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,F;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)},F=[e.open,n,g],t[27]=n,t[28]=e.open,t[29]=g,t[30]=ie,t[31]=F):(ie=t[30],F=t[31]),(0,Q.useEffect)(ie,F);let I;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(I=e=>{_({kind:`issue`,number:e.number})},t[32]=I):I=t[32];let L=I,R;t[33]===Symbol.for(`react.memo_cache_sentinel`)?(R=e=>{_({kind:`pr`,number:e.number})},t[33]=R):R=t[33];let ae=R,z;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>{_({kind:`workItem`,key:e.key})},t[34]=z):z=t[34];let le=z,ue;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(ue=e=>{r(`issues`),_({kind:`issue`,number:e})},t[35]=ue):ue=t[35];let de=ue,pe;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(pe=e=>{r(`prs`),_({kind:`pr`,number:e})},t[36]=pe):pe=t[36];let ge=pe,V;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(V=e=>{r(`workItems`),_({kind:`workItem`,key:e})},t[37]=V):V=t[37];let _e=V,H;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(H=()=>_(null),t[38]=H):H=t[38];let ve=H,U;t[39]===n?U=t[40]:(U=e=>{if(!xe({currentTarget:e.currentTarget,target:e.target})&&!Se(e.target)){if(Ce(e,`1`)){e.preventDefault(),r(`issues`),_(null);return}if(Ce(e,`2`)){e.preventDefault(),r(`prs`),_(null);return}if(Ce(e,`3`)){e.preventDefault(),r(`actions`),_(null);return}if((e.metaKey||e.ctrlKey)&&e.key===`4`){e.preventDefault(),r(`workItems`),_(null);return}e.key===`/`&&we(e)&&(e.preventDefault(),(n===`issues`?x.current:n===`prs`?S.current:n===`workItems`?C.current:null)?.focus())}},t[39]=n,t[40]=U);let ye=U,W;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(W={id:`overview`,label:`Overview`},t[41]=W):W=t[41];let be;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(be={id:`issues`,label:`Issues`},t[42]=be):be=t[42];let G;t[43]===Symbol.for(`react.memo_cache_sentinel`)?(G={id:`prs`,label:`Pull requests`},t[43]=G):G=t[43];let K;t[44]===Symbol.for(`react.memo_cache_sentinel`)?(K={id:`actions`,label:`Actions`},t[44]=K):K=t[44];let Te;t[45]===Symbol.for(`react.memo_cache_sentinel`)?(Te=[W,be,G,K,{id:`workItems`,label:`Jira`}],t[45]=Te):Te=t[45];let Ee=Te,De=n===`overview`?`Overview`:n===`issues`?`Issues`:n===`prs`?`Pull requests`:n===`actions`?`Actions`:`Jira`,Oe=`${e.projectName} · ${De}`,ke=e.memberProjects.length>1&&M!==null,q=M?.environmentId??null,J=M?.cwd??null,Ae;t[46]===Oe?Ae=t[47]:(Ae=(0,$.jsx)(Fe,{className:`truncate text-base`,children:Oe}),t[46]=Oe,t[47]=Ae);let je;t[48]===Symbol.for(`react.memo_cache_sentinel`)?(je=(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]=je):je=t[48];let Me;t[49]===Ae?Me=t[50]:(Me=(0,$.jsxs)(`header`,{className:`flex items-center justify-between border-border/60 border-b py-3 pl-5 pr-14`,children:[Ae,je]}),t[49]=Ae,t[50]=Me);let Ne;t[51]!==e.memberProjects||t[52]!==y||t[53]!==ke?(Ne=ke?(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(Mn)})]})]}):null,t[51]=e.memberProjects,t[52]=y,t[53]=ke,t[54]=Ne):Ne=t[54];let Y;t[55]!==n||t[56]!==J||t[57]!==q||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)(se,{tabs:Ee,activeId:n,onSelect:e=>r(e)}),(0,$.jsx)(`div`,{className:`min-h-0 flex-1`,children:n===`overview`?(0,$.jsx)(wn,{environmentId:q,cwd:J,projectId:M?.id??null,onOpenTab:r,onSelectIssue:L,onSelectChangeRequest:ae,onSelectWorkItem:le}):n===`issues`?(0,$.jsx)(oe,{environmentId:q,cwd:J,searchInputRef:x,query:i,onQueryChange:a,stateFilter:u,onStateFilterChange:d,onSelect:L}):n===`prs`?(0,$.jsx)(B,{environmentId:q,cwd:J,searchInputRef:S,query:o,onQueryChange:s,stateFilter:f,onStateFilterChange:p,onSelect:ae}):n===`actions`?(0,$.jsx)(bn,{environmentId:q,cwd:J}):(0,$.jsx)(fe,{environmentId:q,cwd:J,projectId:M?.id??null,searchInputRef:C,query:c,onQueryChange:l,stateFilter:m,onStateFilterChange:h,onSelect:le})})]}):g.kind===`issue`?(0,$.jsx)(he,{environmentId:q,cwd:J,issueNumber:g.number,onBack:ve,onSelectLinkedChangeRequest:ge}):g.kind===`pr`?(0,$.jsx)(me,{environmentId:q,cwd:J,pullRequestNumber:g.number,onBack:ve,onSelectLinkedIssue:de,onSelectLinkedWorkItem:_e,onSelectPullRequest:ge}):(0,$.jsx)(ce,{environmentId:q,projectId:M?.id??null,cwd:J,workItemKey:g.key,onBack:ve,onSelectLinkedChangeRequest:ge}),t[55]=n,t[56]=J,t[57]=q,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]!==ye||t[68]!==Me||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:ye,surface:`glass`,children:[Me,Ne,Y]}),t[67]=ye,t[68]=Me,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 Mn(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 Nn(e){return e.physicalProjectKey}function Pn(e){switch(e){case`github`:return Me;case`gitlab`:return J;case`forgejo`:return ke;case`azure-devops`:return Ae;case`bitbucket`:return Oe;default:return q}}var Fn=[{id:`general`,label:`General`,Icon:ye},{id:`location`,label:`Location`,Icon:H},{id:`atlassian`,label:`Atlassian`,Icon:Qe},{id:`ai`,label:`AI`,Icon:W}];function In(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)(Ee,{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:K(`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:K(`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=Pn(i.provider??void 0);return(0,$.jsxs)(`div`,{className:K(`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:K(`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)(_e,{className:`size-3.5`}),`Open`]})]},i.name)})]})]}):null]})}function Ln(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)(Ee,{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)(H,{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 Rn=`__none__`;function zn(e){return e.models.find(e=>!e.isCustom)?.slug??e.models[0]?.slug??l[e.driverKind]??`gpt-5.6-terra`}function Bn(e){let t=(0,Z.c)(35),n=w(),r=p(),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=S(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(Wn),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(Un),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 m=f,h=l?.instanceId??Rn,g;t[11]!==c||t[12]!==e||t[13]!==l?.instanceId?(g=t=>{if(!t||t===Rn){e.onDefaultModelSelectionChange(null);return}if(t===l?.instanceId)return;let n=c.find(e=>e.instanceId===t);n&&e.onDefaultModelSelectionChange(T(n.instanceId,zn(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`),v;t[15]===_?v=t[16]:(v=(0,$.jsx)(We,{"aria-label":`Default agent`,className:`w-full`,children:(0,$.jsx)(Ge,{children:_})}),t[15]=_,t[16]=v);let y;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,$.jsx)(Ue,{value:Rn,children:`No project default`}),t[17]=y):y=t[17];let b;t[18]===c?b=t[19]:(b=c.map(Hn),t[18]=c,t[19]=b);let x;t[20]===b?x=t[21]:(x=(0,$.jsxs)(He,{children:[y,b]}),t[20]=b,t[21]=x);let C;t[22]!==x||t[23]!==h||t[24]!==g||t[25]!==v?(C=(0,$.jsx)(rr,{label:`Default agent`,children:(0,$.jsxs)(Ke,{value:h,onValueChange:g,children:[v,x]})}),t[22]=x,t[23]=h,t[24]=g,t[25]=v,t[26]=C):C=t[26];let E;t[27]!==m||t[28]!==e||t[29]!==l?(E=l?(0,$.jsx)(rr,{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:m.find(e=>e.slug===l.model)?.label??l.model})}),(0,$.jsx)(He,{children:m.map(Vn)})]})}):null,t[27]=m,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 Vn(e){return(0,$.jsx)(Ue,{value:e.slug,children:e.label},e.slug)}function Hn(e){return(0,$.jsx)(Ue,{value:e.instanceId,children:e.displayName},e.instanceId)}function Un(e){return{slug:e.slug,label:e.name}}function Wn(e){return e.enabled&&e.isAvailable}function Gn(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)(Bn,{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=K(`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 Kn=`Not configured`;function qn(e){return e??Kn}function Jn(e){return e===Kn||e.trim().length===0?null:e}function Yn(e){return e.split(/[,\s]+/u).map(e=>e.trim().toUpperCase()).filter(Boolean)}function Xn(e){return e?.provider?.toLowerCase()===`bitbucket`?{workspace:e.owner??``,repoSlug:e.name??``}:{workspace:``,repoSlug:``}}function Zn(e){return t=>t.status===`connected`&&t.products.includes(e)}function Qn(e){let t=(0,Z.c)(186),n=e.target,r=h(),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)(Kn),[c,l]=(0,Q.useState)(Kn),[u,d]=(0,Q.useState)(``),[f,p]=(0,Q.useState)(``),[m,g]=(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,F;t[6]!==re||t[7]!==ie?(F={environmentId:re,enabled:ie},t[6]=re,t[7]=ie,t[8]=F):F=t[8];let I=Ze(F),L;t[9]===I.data?L=t[10]:(L=(I.data??[]).filter(Zn(`jira`)),t[9]=I.data,t[10]=L);let R=L,ae;t[11]===I.data?ae=t[12]:(ae=(I.data??[]).filter(Zn(`bitbucket`)),t[11]=I.data,t[12]=ae);let z=ae,oe;t[13]!==z[0]?.connectionId||t[14]!==R[0]?.connectionId||t[15]!==P.data||t[16]!==n?(oe=()=>{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=Xn(n.repositoryIdentity);s(qn(t?.jiraConnectionId??R[0]?.connectionId)),l(qn(t?.bitbucketConnectionId??z[0]?.connectionId)),d(t?.jiraProjectKeys.join(`, `)??``),p(t?.bitbucketWorkspace??r.workspace),g(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]=z[0]?.connectionId,t[14]=R[0]?.connectionId,t[15]=P.data,t[16]=n,t[17]=oe):oe=t[17];let se;t[18]!==z||t[19]!==R||t[20]!==P.data||t[21]!==n?(se=[z,R,P.data,n],t[18]=z,t[19]=R,t[20]=P.data,t[21]=n,t[22]=se):se=t[22],(0,Q.useEffect)(oe,se);let ce;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(ce=()=>{j.current=!0},t[23]=ce):ce=t[23];let B=ce,le;t[24]!==r||t[25]!==n?.environmentId||t[26]!==n?.id?(le=()=>{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]=le):le=t[27];let fe=le,pe;t[28]!==k||t[29]!==c||t[30]!==m||t[31]!==f||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?(pe=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:Jn(o),bitbucketConnectionId:Jn(c),jiraCloudId:P.data?.jiraCloudId??null,jiraSiteUrl:null,jiraProjectKeys:Yn(u),bitbucketWorkspace:f.trim()||null,bitbucketRepoSlug:m.trim()||null,defaultIssueTypeName:v.trim()||null,branchNameTemplate:e,commitMessageTemplate:t,pullRequestTitleTemplate:r,smartLinkingEnabled:D,autoAttachWorkItems:k})},t[28]=k,t[29]=c,t[30]=m,t[31]=f,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]=pe):pe=t[42];let me;t[43]===fe?me=t[44]:(me=()=>{j.current=!1,fe(),V.add(X({type:`success`,title:`Atlassian project settings saved`,description:`Jira and Bitbucket defaults were updated for this project.`}))},t[43]=fe,t[44]=me);let he;t[45]!==pe||t[46]!==me?(he={mutationFn:pe,onSuccess:me,onError:nr},t[45]=pe,t[46]=me,t[47]=he):he=t[47];let ge=_(he),_e;t[48]!==a||t[49]!==P.data||t[50]!==n?(_e=async()=>{if(!a||!n)throw Error(`Project connection is unavailable.`);return a.atlassian.saveProjectLink(de({projectId:n.id,existing:P.data??null}))},t[48]=a,t[49]=P.data,t[50]=n,t[51]=_e):_e=t[51];let H;t[52]===fe?H=t[53]:(H=()=>{j.current=!1,s(Kn),d(``),fe(),V.add(X({type:`success`,title:`Jira project unlinked`,description:`Bitbucket mapping and project templates were left unchanged.`}))},t[52]=fe,t[53]=H);let ve;t[54]!==_e||t[55]!==H?(ve={mutationFn:_e,onSuccess:H,onError:tr},t[54]=_e,t[55]=H,t[56]=ve):ve=t[56];let U=_(ve),ye=P.isLoading||I.isLoading,W=a===null||n===null||ge.isPending||U.isPending,be=P.data?.jiraConnectionId!==null&&P.data?.jiraConnectionId!==void 0&&P.data.jiraProjectKeys.length>0,G;t[57]===o?G=t[58]:(G=Jn(o),t[57]=o,t[58]=G);let K=G,xe;if(t[59]!==R||t[60]!==K){let e;t[62]===K?e=t[63]:(e=e=>e.connectionId===K,t[62]=K,t[63]=e),xe=R.find(e),t[59]=R,t[60]=K,t[61]=xe}else xe=t[61];let Se=xe?.baseUrl??P.data?.jiraSiteUrl??``,Ce;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,$.jsx)(Qe,{className:`size-4 shrink-0 text-muted-foreground`}),t[64]=Ce):Ce=t[64];let we;t[65]===Symbol.for(`react.memo_cache_sentinel`)?(we=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[Ce,(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]=we):we=t[65];let De;t[66]===ye?De=t[67]:(De=(0,$.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[we,ye?(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]=ye,t[67]=De);let Oe;t[68]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,$.jsx)(`div`,{className:`text-xs font-medium text-foreground`,children:`Connections`}),t[68]=Oe):Oe=t[68];let ke;t[69]===Symbol.for(`react.memo_cache_sentinel`)?(ke=(0,$.jsx)(`label`,{className:`text-xs font-medium text-foreground`,children:`Jira connection`}),t[69]=ke):ke=t[69];let q;t[70]===Symbol.for(`react.memo_cache_sentinel`)?(q=e=>{typeof e==`string`&&(B(),s(e))},t[70]=q):q=t[70];let J;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(J=(0,$.jsx)(Ge,{placeholder:`Select Jira connection`}),t[71]=J):J=t[71];let Ae;t[72]===W?Ae=t[73]:(Ae=(0,$.jsx)(We,{size:`sm`,disabled:W,children:J}),t[72]=W,t[73]=Ae);let je;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(je=(0,$.jsx)(Ue,{value:Kn,children:`Not configured`}),t[74]=je):je=t[74];let Me;t[75]===R?Me=t[76]:(Me=R.map(er),t[75]=R,t[76]=Me);let Ne;t[77]===Me?Ne=t[78]:(Ne=(0,$.jsxs)(He,{children:[je,Me]}),t[77]=Me,t[78]=Ne);let Pe;t[79]!==o||t[80]!==Ae||t[81]!==Ne?(Pe=(0,$.jsxs)(`div`,{className:`space-y-1.5`,children:[ke,(0,$.jsxs)(Ke,{value:o,onValueChange:q,children:[Ae,Ne]})]}),t[79]=o,t[80]=Ae,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`&&(B(),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]===W?Re=t[87]:(Re=(0,$.jsx)(We,{size:`sm`,disabled:W,children:Le}),t[86]=W,t[87]=Re);let ze;t[88]===Symbol.for(`react.memo_cache_sentinel`)?(ze=(0,$.jsx)(Ue,{value:Kn,children:`Not configured`}),t[88]=ze):ze=t[88];let Be;t[89]===z?Be=t[90]:(Be=z.map($n),t[89]=z,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 $e;t[97]!==Pe||t[98]!==Ye?($e=(0,$.jsxs)(`section`,{className:`space-y-3`,children:[Oe,(0,$.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[Pe,Ye]})]}),t[97]=Pe,t[98]=Ye,t[99]=$e):$e=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=>{B(),d(e)},t[101]=nt):nt=t[101];let rt;t[102]!==W||t[103]!==u||t[104]!==K||t[105]!==Se||t[106]!==tt?(rt=(0,$.jsx)(ue,{environmentId:tt,connectionId:K,siteUrl:Se,projectKeys:u,disabled:W,onProjectKeysChange:nt}),t[102]=W,t[103]=u,t[104]=K,t[105]=Se,t[106]=tt,t[107]=rt):rt=t[107];let it;t[108]===Symbol.for(`react.memo_cache_sentinel`)?(it=e=>{B(),d(e.currentTarget.value)},t[108]=it):it=t[108];let at;t[109]!==W||t[110]!==u?(at=(0,$.jsx)(Ee,{size:`sm`,value:u,disabled:W,placeholder:`WEB, API`,onChange:it}),t[109]=W,t[110]=u,t[111]=at):at=t[111];let ot;t[112]!==rt||t[113]!==at?(ot=(0,$.jsxs)(rr,{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=>{B(),p(e.currentTarget.value)},t[115]=st):st=t[115];let ct;t[116]!==f||t[117]!==W?(ct=(0,$.jsx)(rr,{label:`Bitbucket workspace`,children:(0,$.jsx)(Ee,{size:`sm`,value:f,disabled:W,placeholder:`workspace`,onChange:st})}),t[116]=f,t[117]=W,t[118]=ct):ct=t[118];let lt;t[119]===Symbol.for(`react.memo_cache_sentinel`)?(lt=e=>{B(),g(e.currentTarget.value)},t[119]=lt):lt=t[119];let ut;t[120]!==m||t[121]!==W?(ut=(0,$.jsx)(rr,{label:`Bitbucket repo slug`,children:(0,$.jsx)(Ee,{size:`sm`,value:m,disabled:W,placeholder:`repo-slug`,onChange:lt})}),t[120]=m,t[121]=W,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=>{B(),b(e.currentTarget.value)},t[128]=pt):pt=t[128];let mt;t[129]!==v||t[130]!==W?(mt=(0,$.jsx)(rr,{label:`Default issue type`,children:(0,$.jsx)(Ee,{size:`sm`,value:v,disabled:W,placeholder:`Task`,onChange:pt})}),t[129]=v,t[130]=W,t[131]=mt):mt=t[131];let ht;t[132]===Symbol.for(`react.memo_cache_sentinel`)?(ht=e=>{B(),S(e.currentTarget.value)},t[132]=ht):ht=t[132];let gt;t[133]!==x||t[134]!==W?(gt=(0,$.jsx)(rr,{label:`Branch template`,children:(0,$.jsx)(Ee,{size:`sm`,value:x,disabled:W,onChange:ht})}),t[133]=x,t[134]=W,t[135]=gt):gt=t[135];let _t;t[136]===Symbol.for(`react.memo_cache_sentinel`)?(_t=e=>{B(),w(e.currentTarget.value)},t[136]=_t):_t=t[136];let vt;t[137]!==C||t[138]!==W?(vt=(0,$.jsx)(rr,{label:`Commit template`,children:(0,$.jsx)(Ee,{size:`sm`,value:C,disabled:W,onChange:_t})}),t[137]=C,t[138]=W,t[139]=vt):vt=t[139];let yt;t[140]===Symbol.for(`react.memo_cache_sentinel`)?(yt=e=>{B(),E(e.currentTarget.value)},t[140]=yt):yt=t[140];let bt;t[141]!==W||t[142]!==T?(bt=(0,$.jsx)(rr,{label:`PR title template`,children:(0,$.jsx)(Ee,{size:`sm`,value:T,disabled:W,onChange:yt})}),t[141]=W,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=>{B(),O(!!e)},t[151]=wt):wt=t[151];let Tt;t[152]!==W||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)(Te,{checked:D,disabled:W,onCheckedChange:wt})]}),t[152]=W,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=>{B(),A(!!e)},t[156]=Dt):Dt=t[156];let Ot;t[157]!==k||t[158]!==W?(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)(Te,{checked:k,disabled:W,onCheckedChange:Dt})]}),t[157]=k,t[158]=W,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=W||!be,Mt;t[164]===U?Mt=t[165]:(Mt=()=>U.mutate(),t[164]=U,t[165]=Mt);let Nt=U.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]===ge?Ft=t[171]:(Ft=()=>ge.mutate(),t[170]=ge,t[171]=Ft);let It=ge.isPending?`Saving...`:`Save Atlassian`,Lt;t[172]!==W||t[173]!==Ft||t[174]!==It?(Lt=(0,$.jsx)(Y,{type:`button`,size:`sm`,className:`h-8`,disabled:W,onClick:Ft,children:It}),t[172]=W,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]!==De||t[180]!==$e||t[181]!==dt||t[182]!==xt||t[183]!==kt||t[184]!==Rt?(zt=(0,$.jsxs)(`div`,{className:`space-y-5`,children:[De,$e,dt,xt,kt,Rt]}),t[179]=De,t[180]=$e,t[181]=dt,t[182]=xt,t[183]=kt,t[184]=Rt,t[185]=zt):zt=t[185],zt}function $n(e){return(0,$.jsx)(Ue,{value:e.connectionId,children:e.label},e.connectionId)}function er(e){return(0,$.jsx)(Ue,{value:e.connectionId,children:e.label},e.connectionId)}function tr(e){V.add(X({type:`error`,title:`Could not unlink Jira project`,description:e instanceof Error?e.message:`The project link was not saved.`}))}function nr(e){V.add(X({type:`error`,title:`Could not save Atlassian project settings`,description:e instanceof Error?e.message:`The project link was not saved.`}))}function rr(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 ir(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=Fn.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]:(_=Fn.map(e=>{let{id:t,label:i,Icon:a}=e,o=n===t;return(0,$.jsxs)(`button`,{type:`button`,onClick:()=>r(t),className:K(`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:K(`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)(De,{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)(In,{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)(Ln,{workspaceRoot:e.workspaceRoot,projectId:s.id,onWorkspaceRootChange:e.onWorkspaceRootChange,onPickWorkspaceRoot:e.onPickWorkspaceRoot,onSave:e.onSave}):n===`atlassian`?(0,$.jsx)(Qn,{target:s}):(0,$.jsx)(Gn,{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 ar(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 (${tn[i]})`:tn[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:tn.repository}),(0,$.jsx)(Ue,{hideIndicator:!0,value:`repository_path`,children:tn.repository_path}),(0,$.jsx)(Ue,{hideIndicator:!0,value:`separate`,children:tn.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=rn(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 or(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`&&we(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)(Ee,{"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 sr(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=m(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=m(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,h;return t[8]!==l||t[9]!==o||t[10]!==i||t[11]!==p?(h={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]=h):h=t[12],h}function cr(){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){V.add({type:`warning`,title:`Project title cannot be empty`});return}if(e===t.name){c();return}let n=v(t.environmentId);if(!n){V.add(X({type:`error`,title:`Failed to rename project`,description:`Project API unavailable.`}));return}try{await n.orchestration.dispatchCommand({type:`project.meta.update`,commandId:G(),projectId:t.id,title:e}),c()}catch(e){let t=e;V.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 lr(){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)(``),[f,p]=(0,Q.useState)(``),[m,h]=(0,Q.useState)(``),[g,_]=(0,Q.useState)(!1),[y,b]=(0,Q.useState)(null),[x,S]=(0,Q.useState)(null),[w,T]=(0,Q.useState)(null),E=(0,Q.useCallback)(e=>{c(),r(!1),t(e),u(e.name),p(e.cwd),h(e.customSystemPrompt??``),_(!1),b(e.customAvatarContentHash??null),S(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(``),p(``),h(``),_(!1),b(null),S(null),T(null)},340)},[]),O=(0,Q.useCallback)(async()=>{let t=d();if(!t){V.add({type:`error`,title:`Folder picker is unavailable.`});return}let n=await t.dialogs.pickFolder({initialPath:f.trim()||e?.cwd||null});n&&p(n)},[e?.cwd,f]),k=(0,Q.useCallback)(async()=>{if(!e||g)return;let t=l.trim(),n=f.trim(),r=m.trim();if(t.length===0){V.add({type:`warning`,title:`Project title cannot be empty`});return}if(n.length===0){V.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=x!==(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 d=v(e.environmentId);if(!d){V.add(X({type:`error`,title:`Failed to update project`,description:`Project API unavailable.`}));return}_(!0);try{await d.orchestration.dispatchCommand({type:`project.meta.update`,commandId:G(),projectId:e.id,...i?{title:t}:{},...a?{workspaceRoot:n}:{},...o?{customSystemPrompt:r.length>0?r:null}:{},...s?{preferredRemoteName:x}:{},...u?{defaultModelSelection:w}:{}}),D()}catch(e){_(!1),V.add(X({type:`error`,title:`Failed to update project`,description:e instanceof Error?e.message:`An error occurred.`}))}},[D,g,m,w,x,e,l,f]),A=(0,Q.useCallback)(async t=>{let n=e;if(!n)return;if(a()){V.add({type:`warning`,title:`Project image upload is unavailable in hosted mode.`});return}let r=v(n.environmentId);if(!r)return;let o=C({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:G(),projectId:n.id,contentHash:t}),i.current?.id===n.id&&b(t)}catch(e){if(i.current?.id!==n.id)return;V.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=v(t.environmentId);if(n)try{await n.orchestration.dispatchCommand({type:`project.avatar.set`,commandId:G(),projectId:t.id,contentHash:null}),i.current?.id===t.id&&b(null)}catch(e){if(i.current?.id!==t.id)return;V.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=ln(n.url);if(!r)return;let i=d();i&&i.shell.openExternal(r).catch(e=>{V.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:f,projectSettingsCustomSystemPrompt:m,projectSettingsSaving:g,projectSettingsCustomAvatarContentHash:y,projectSettingsPreferredRemoteName:x,projectSettingsDefaultModelSelection:w,projectAvatarUploadUnavailableReason:a()?`Project image upload is unavailable in hosted mode because node HTTP routes are not relayed.`:null,setProjectSettingsTitle:u,setProjectSettingsWorkspaceRoot:p,setProjectSettingsCustomSystemPrompt:h,setProjectSettingsPreferredRemoteName:S,setProjectSettingsDefaultModelSelection:T,openProjectSettingsDialog:E,closeProjectSettingsDialog:D,pickProjectSettingsWorkspaceRoot:O,submitProjectSettings:k,uploadProjectAvatar:A,removeProjectAvatar:j,openProjectRemoteByName:M}}function ur(e){let t=new Map;for(let n of e.projects)t.set(b(n),x(n,e.settings));return t}function dr(e){let t=new Map;for(let n of e.projects){let r=x(n,e.settings),i={...n,physicalProjectKey:b(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=x(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?f({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 fr(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 pr(e,t,n){let r=new Set(e.memberProjects.map(e=>e.physicalProjectKey));for(let e of fr({projectFoldersById:t,projectFolderOrder:n})){let n=t[e];if(n&&n.projectKeys.some(e=>r.has(e)))return e}return null}function mr(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 hr(e){let t=fr(e),n=[...e.projectTreeOrder.flatMap(t=>{let n=L(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=pr(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(F),...s.map(e=>I(e.projectKey))]),l=new Set,u=[];for(let t of e.projectTreeOrder)l.has(t)||!c.has(t)||L(t)&&(l.add(t),u.push(t));for(let e of t){let t=F(e);l.has(t)||(l.add(t),u.push(t))}for(let e of s){let t=I(e.projectKey);l.has(t)||(l.add(t),u.push(t))}return u.flatMap(t=>{let n=L(t);if(!n)return[];if(n.kind===`folder`){let r=e.projectFoldersById[n.folderId];return r?[{kind:`folder`,itemId:t,folder:r,projects:mr({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{tt as S,Lt as _,cr as a,nt as b,ar as c,_n as d,dn as f,wt as g,nn as h,lr as i,ir as l,on as m,ur as n,sr as o,un as p,dr as r,or as s,hr as t,jn as u,Mt as v,rt as x,Et as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./runtime-CYtynKGT.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Cn as e}from"./runtime-
|
|
1
|
+
import{Cn as e}from"./runtime-CYtynKGT.js";import{i as t}from"./uiStateStore-DzUrk2GS.js";function n(e){return e.threadKey?{disabled:!1,pinned:e.pinned,title:e.pinned?`Unpin current thread`:`Pin current thread`,description:void 0}:{disabled:!0,pinned:!1,title:`Pin current thread`,description:`Open a thread to pin or unpin it.`}}var r={isPinned:e=>t.getState().pinnedThreadKeys[e]===!0,setPinned:(e,n)=>t.getState().setThreadPinned(e,n),confirm:async t=>{let n=e();return n?n.dialogs.confirm(t):window.confirm(t)}};async function i(e,t=r){return t.isPinned(e.threadKey)===e.pinned?`unchanged`:!e.pinned&&e.confirmUnpin&&!await t.confirm(`Unpin "${e.threadTitle}"?\nIt will return to its normal position in the thread list.`)?`cancelled`:(t.setPinned(e.threadKey,e.pinned),`changed`)}function a(e,t=r){return i({...e,pinned:!t.isPinned(e.threadKey)},t)}export{n,a as r,i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e}from"./runtime-
|
|
1
|
+
import{p as e}from"./runtime-CYtynKGT.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-CYtynKGT.js";
|
|
Binary file
|