codex-mobile-re 0.1.107 → 0.1.108
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/assets/AutomationsPanel-BlwKZ7Ga.js +1 -0
- package/dist/assets/DirectoryHub-5B3Y6c19.js +2 -0
- package/dist/assets/QueuedMessages-BM1najM7.css +1 -0
- package/dist/assets/QueuedMessages-DyUnKNf9.js +1 -0
- package/dist/assets/ReviewPane-CJv8DuLR.js +1 -0
- package/dist/assets/RightFilePreview-BKo-v20W.js +1 -0
- package/dist/assets/RightFilePreview-BythLbi1.css +1 -0
- package/dist/assets/RightFilesPanel-Bnpo6GnT.js +1 -0
- package/dist/assets/RightFilesPanel-l-aqQaW6.css +1 -0
- package/dist/assets/RightGitPanel-BTq9Wdmr.css +1 -0
- package/dist/assets/RightGitPanel-BpAMkGVt.js +2 -0
- package/dist/assets/SettingsDialog-CB47DM4J.js +3 -0
- package/dist/assets/SettingsDialog-CfChVi0L.css +1 -0
- package/dist/assets/{ThreadConversation-lQVNzD-y.css → ThreadConversation-CoCK7Z2t.css} +1 -1
- package/dist/assets/ThreadConversation-Dj0wYKIp.js +39 -0
- package/dist/assets/ThreadPendingRequestPanel-BptJdqbc.css +1 -0
- package/dist/assets/ThreadPendingRequestPanel-Dqc-5SQx.js +1 -0
- package/dist/assets/{ThreadTerminalPanel-DVcONcfI.js → ThreadTerminalPanel-DAyCEZfE.js} +1 -1
- package/dist/assets/index-Dl8er1A_.js +83 -0
- package/dist/assets/index-yDG9Zp1s.css +1 -0
- package/dist/index.html +2 -2
- package/dist-cli/index.js +8 -0
- package/dist-cli/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/assets/AutomationsPanel-Ca8ZKzaz.js +0 -1
- package/dist/assets/DirectoryHub-DckmYmQu.js +0 -2
- package/dist/assets/ReviewPane-DG016k2q.js +0 -1
- package/dist/assets/ThreadConversation-DJ5sja_Q.js +0 -39
- package/dist/assets/index-C3hBunFR.js +0 -86
- package/dist/assets/index-C8DE5J1C.css +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as X,r as f,w,O as Z,au as tt,av as at,f as c,i as v,k as e,t as n,u as i,l as x,q as B,aw as A,F as et,m as ot,a0 as U,j as I,n as st,h as L,ax as F,x as nt,c as _,_ as ut}from"./index-Dl8er1A_.js";const it={class:"automations-panel"},lt={class:"automations-toolbar"},rt={class:"automations-summary"},ct={class:"automations-actions"},dt=["title"],mt=["disabled"],pt={key:0,class:"automations-error"},vt={key:1,class:"automations-empty"},ht={key:2,class:"automations-empty"},ft={key:3,class:"automations-layout"},_t=["aria-label"],yt=["onClick","onKeydown"],bt=["data-status"],gt={class:"automation-row-main"},At={class:"automation-row-title"},Lt={class:"automation-row-meta"},Et={class:"automation-row-side"},kt=["data-status"],Ct={class:"automation-row-schedule"},wt=["onClick"],It=["aria-label"],jt={class:"automation-detail-heading"},Rt=["data-status"],Tt={class:"automation-detail-title-wrap"},$t={class:"automation-detail-grid"},Kt=["title"],Nt={class:"automation-detail-prompt"},Mt=X({__name:"AutomationsPanel",props:{groups:{},projectCwdByName:{},projectDisplayNameById:{},selectedAutomationId:{}},emits:["select-automation","edit-automation","create-automation"],setup(V,{expose:O,emit:Q}){const h=V,E=Q,j=f({}),R=f({}),{t:s}=nt(),y=f(!1),b=f(""),d=f(h.selectedAutomationId??""),p=f(""),Y=_(()=>{const t=new Map;for(const a of h.groups)for(const o of a.threads)t.set(o.id,o.title);return t}),z=_(()=>{var a,o;const t=new Map;for(const l of h.groups){const u=(a=h.projectCwdByName[l.projectName])==null?void 0:a.trim(),g=((o=h.projectDisplayNameById[l.projectName])==null?void 0:o.trim())||l.projectName;u&&t.set(u,g)}return t}),m=_(()=>{const t=[];for(const[a,o]of Object.entries(j.value)){const l=Y.value.get(a)??a;for(const u of o)t.push({rowKey:N("thread",a,u.id),automation:u,scope:"thread",scopeLabel:s("Heartbeat"),targetLabel:l,targetTitle:a,scheduleLabel:M(u)})}for(const[a,o]of Object.entries(R.value)){const l=z.value.get(a)??J(a);for(const u of o)t.push({rowKey:N("project",a,u.id),automation:u,scope:"project",scopeLabel:s("Project"),targetLabel:l,targetTitle:a,scheduleLabel:M(u)})}return t.sort((a,o)=>{const l=a.automation.status==="ACTIVE"?0:1,u=o.automation.status==="ACTIVE"?0:1;if(l!==u)return l-u;const g=a.automation.createdAtMs??0,P=o.automation.createdAtMs??0;if(g!==P)return P-g;const D=a.automation.updatedAtMs??0,S=o.automation.updatedAtMs??0;return D!==S?S-D:a.automation.name.localeCompare(o.automation.name)})}),H=_(()=>m.value.filter(t=>t.automation.status==="ACTIVE").length),W=_(()=>m.value.filter(t=>t.automation.status==="PAUSED").length),r=_(()=>m.value.find(t=>t.rowKey===p.value)??m.value.find(t=>t.automation.id===d.value)??m.value[0]??null);w(()=>h.selectedAutomationId,t=>{t&&(d.value=t,p.value=K(t))}),w(d,t=>{t&&E("select-automation",t)}),w(m,t=>{if(t.length===0){d.value="",p.value="";return}if(!(p.value&&t.some(a=>a.rowKey===p.value))){if(d.value&&t.some(a=>a.automation.id===d.value)){p.value=K(d.value);return}(!d.value||!t.some(a=>a.automation.id===d.value))&&(d.value=t[0].automation.id,p.value=t[0].rowKey)}}),Z(()=>{k()}),O({loadAutomations:k});async function k(){y.value=!0,b.value="";try{const[t,a]=await Promise.all([tt(),at()]);j.value=t,R.value=a}catch(t){b.value=t instanceof Error?t.message:s("Failed to load automations")}finally{y.value=!1}}function T(t){return s(t==="PAUSED"?"Paused":"Active")}function $(t){E("edit-automation",{scope:t.scope,target:t.targetTitle,automation:t.automation})}function q(){E("create-automation")}function C(t){p.value=t.rowKey,d.value=t.automation.id}function K(t){var a;return((a=m.value.find(o=>o.automation.id===t))==null?void 0:a.rowKey)??""}function N(t,a,o){return`${t}:${a}:${o}`}function M(t){var o,l;if(t.status==="PAUSED")return s("Paused");if(t.nextRunAtMs)return`${s("Next")} ${G(t.nextRunAtMs)}`;const a=t.rrule.trim();if(/FREQ=MINUTELY/i.test(a)){const u=((o=/INTERVAL=(\d+)/i.exec(a))==null?void 0:o[1])??"1";return u==="1"?s("Every minute"):`${s("Every")} ${u} ${s("minutes")}`}if(/FREQ=HOURLY/i.test(a)){const u=((l=/INTERVAL=(\d+)/i.exec(a))==null?void 0:l[1])??"1";return u==="1"?s("Hourly"):`${s("Every")} ${u} ${s("hours")}`}return/FREQ=DAILY/i.test(a)?s("Daily"):/FREQ=WEEKLY/i.test(a)?s("Weekly"):s("Custom schedule")}function G(t){return new Date(t).toLocaleString(void 0,{month:"short",day:"numeric",hour:"numeric",minute:"2-digit"})}function J(t){return t.replace(/\/+$/,"").split("/").filter(Boolean).pop()??t}return(t,a)=>(c(),v("div",it,[e("div",lt,[e("div",rt,[e("span",null,n(m.value.length)+" "+n(i(s)("total")),1),e("span",null,n(H.value)+" "+n(i(s)("active")),1),e("span",null,n(W.value)+" "+n(i(s)("paused")),1)]),e("div",ct,[e("button",{class:"automations-create",type:"button",title:i(s)("Create a new automation"),onClick:q},n(i(s)("New automation")),9,dt),e("button",{class:"automations-refresh",type:"button",disabled:y.value,onClick:k},n(y.value?i(s)("Refreshing..."):i(s)("Refresh")),9,mt)])]),b.value?(c(),v("p",pt,n(b.value),1)):x("",!0),y.value&&m.value.length===0?(c(),v("div",vt,[B(A,{class:"automations-empty-icon"}),e("p",null,n(i(s)("Loading automations...")),1)])):m.value.length===0?(c(),v("div",ht,[B(A,{class:"automations-empty-icon"}),e("p",null,n(i(s)("No automations yet")),1),e("span",null,n(i(s)("Use a thread or project menu to add an automation.")),1)])):(c(),v("div",ft,[e("section",{class:"automations-list","aria-label":i(s)("Automations")},[(c(!0),v(et,null,ot(m.value,o=>(c(),v("div",{key:o.rowKey,class:st(["automation-row",{"is-selected":p.value===o.rowKey}]),role:"button",tabindex:"0",onClick:l=>C(o),onKeydown:[U(I(l=>C(o),["prevent"]),["enter"]),U(I(l=>C(o),["prevent"]),["space"])]},[e("span",{class:"automation-row-icon","data-status":o.automation.status},[o.automation.status==="PAUSED"?(c(),L(F,{key:0})):(c(),L(A,{key:1}))],8,bt),e("span",gt,[e("span",At,n(o.automation.name),1),e("span",Lt,n(o.scopeLabel)+" • "+n(o.targetLabel),1)]),e("span",Et,[e("span",{class:"automation-row-status","data-status":o.automation.status},n(T(o.automation.status)),9,kt),e("span",Ct,n(o.scheduleLabel),1)]),e("button",{class:"automation-edit-button",type:"button",onClick:I(l=>$(o),["stop"])},n(i(s)("Edit")),9,wt)],42,yt))),128))],8,_t),r.value?(c(),v("aside",{key:0,class:"automation-detail","aria-label":i(s)("Automation details")},[e("div",jt,[e("span",{class:"automation-detail-icon","data-status":r.value.automation.status},[r.value.automation.status==="PAUSED"?(c(),L(F,{key:0})):(c(),L(A,{key:1}))],8,Rt),e("div",Tt,[e("h2",null,n(r.value.automation.name),1),e("span",null,n(r.value.scopeLabel),1)]),e("button",{class:"automation-detail-edit",type:"button",onClick:a[0]||(a[0]=o=>$(r.value))},n(i(s)("Edit")),1)]),e("dl",$t,[e("div",null,[e("dt",null,n(i(s)("Status")),1),e("dd",null,n(T(r.value.automation.status)),1)]),e("div",null,[e("dt",null,n(i(s)("Schedule")),1),e("dd",null,n(r.value.scheduleLabel),1)]),e("div",null,[e("dt",null,n(i(s)("Target")),1),e("dd",{title:r.value.targetTitle},n(r.value.targetLabel),9,Kt)]),e("div",null,[a[1]||(a[1]=e("dt",null,"ID",-1)),e("dd",null,n(r.value.automation.id),1)])]),e("section",Nt,[e("h3",null,n(i(s)("Prompt")),1),e("p",null,n(r.value.automation.prompt),1)])],8,It)):x("",!0)]))]))}}),Dt=ut(Mt,[["__scopeId","data-v-44d1a098"]]);export{Dt as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index.esm-Cxn_LBGD.js","assets/index.esm-Bx2Y2PLG.js","assets/index.esm-DYMAm9mq.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{e as be,f as l,i as o,k as s,F as U,m as B,n as J,t as i,l as p,$ as ns,a0 as rs,y as cs,u as n,j as Oe,q as Re,a1 as ds,x as ot,c as _,_ as it,w as Ie,h as re,T as st,I as us,r as h,G as Wt,o as ta,O as aa,p as lt,a2 as ys,a3 as ps,D as Yt,B as ms,z as hs,v as vs,a4 as gs,a5 as bs,a6 as ks,a7 as fs,a8 as $s,a9 as Cs,aa as ws,ab as Ss,ac as _s,ad as Ls,ae as As,af as Ps,ag as Is,ah as Ms,ai as Fs,aj as Es,ak as Ts,al as Us,am as Ns,an as Ds,ao as xs,ap as Os,aq as Rs,ar as Bs,as as Jt,at as Gs}from"./index-Dl8er1A_.js";import{s as Ks}from"./sanitizeHtml-Bd3No2dT.js";const js=[[/(gmail|google calendar|google docs|google sheets|google drive|github|slack|notion|linear|outlook|supabase)/i,140],[/(email|calendar|document|sheet|drive|repo|issue|message|project|database|crm|deploy)/i,50]];function sa(t){return t.trim().toLowerCase()}function Hs(t,F){return F.reduce((b,[A,$])=>b+(A.test(t)?$:0),0)}function Xt(t){return t.activeCount*1e3+(t.isNoAuth?300:0)+t.toolsCount*3+t.triggersCount*4+Hs(`${t.name} ${t.slug} ${t.description}`,js)}function qs(t,F){const b=sa(F);if(!b)return 0;const A=t.name.toLowerCase(),$=t.slug.toLowerCase();return A===b||$===b?1e6:A.replace(/\s+/gu,"")===b.replace(/\s+/gu,"")?9e5:A.startsWith(b)||$.startsWith(b)?8e5:A.includes(b)||$.includes(b)?7e5:0}function xe(t){return t.activeCount>0?0:t.totalConnections>0?1:t.isNoAuth?2:3}function zs(t,F,b=""){const A=sa(b),$=u=>qs(u,A);return F==="name"?[...t].sort((u,c)=>$(c)-$(u)||xe(u)-xe(c)||u.name.localeCompare(c.name)):F==="date"?[...t].sort((u,c)=>$(c)-$(u)||xe(u)-xe(c)||u.name.localeCompare(c.name)):[...t].sort((u,c)=>$(c)-$(u)||xe(u)-xe(c)||Xt(c)-Xt(u)||u.name.localeCompare(c.name))}const Vs={class:"directory-section"},Qs={class:"directory-toolbar"},Ws=["value"],Ys={class:"directory-sort-group",role:"group","aria-label":"Sort apps"},Js=["onClick"],Xs={key:0,class:"directory-empty"},Zs={key:1,class:"directory-error"},el={key:2,class:"directory-loading"},tl={key:3,class:"directory-empty"},al={key:4,class:"directory-grid"},sl={class:"directory-card-top"},ll=["src","alt"],ol={key:1,class:"directory-card-fallback"},il={class:"directory-card-main"},nl={class:"directory-card-title-row"},rl={class:"directory-card-title"},cl={key:0,class:"directory-badge is-muted"},dl={key:1,class:"directory-badge"},ul={class:"directory-card-meta"},yl={key:0,class:"directory-card-description"},pl={class:"directory-chip-row"},ml={key:0,class:"directory-chip"},hl={class:"directory-card-actions"},vl=["disabled","onClick"],gl=["onClick"],bl=["disabled","onClick"],kl=be({__name:"DirectoryAppsTab",props:{apps:{},searchQuery:{},sortMode:{},supportsApps:{type:Boolean},error:{},isLoading:{type:Boolean},actionId:{},tryInFlightKey:{},isTryActionInFlight:{type:Boolean},appLogoSrc:{type:Function},appMetaLabel:{type:Function},appTryKey:{type:Function},toggleApp:{type:Function},openExternalUrl:{type:Function},tryApp:{type:Function},disabledLabel:{},connectedLabel:{},enableLabel:{},disableLabel:{},manageLabel:{},loginLabel:{},tryLabel:{},startingLabel:{}},emits:["update:search-query","update:sort-mode"],setup(t,{emit:F}){const b=F,A=[{id:"popular",label:"Popular"},{id:"name",label:"A-Z"},{id:"date",label:"Date"}];return($,u)=>(l(),o("section",Vs,[s("div",Qs,[s("input",{value:t.searchQuery,class:"directory-search",type:"search",placeholder:"Search apps...","aria-label":"Search apps",onInput:u[0]||(u[0]=c=>b("update:search-query",c.target.value))},null,40,Ws),s("div",Ys,[(l(),o(U,null,B(A,c=>s("button",{key:c.id,class:J(["directory-sort-button",{"is-active":t.sortMode===c.id}]),type:"button",onClick:y=>b("update:sort-mode",c.id)},i(c.label),11,Js)),64))])]),t.supportsApps?t.error?(l(),o("div",Zs,i(t.error),1)):t.isLoading?(l(),o("div",el,"Loading apps...")):t.apps.length===0?(l(),o("div",tl,"No apps found.")):(l(),o("div",al,[(l(!0),o(U,null,B(t.apps,c=>(l(),o("article",{key:c.id,class:"directory-card"},[s("div",sl,[t.appLogoSrc(c)?(l(),o("img",{key:0,class:"directory-card-icon",src:t.appLogoSrc(c),alt:c.name,loading:"lazy"},null,8,ll)):(l(),o("div",ol,i(c.name.charAt(0)),1)),s("div",il,[s("div",nl,[s("span",rl,i(c.name),1),c.isEnabled?c.isAccessible?(l(),o("span",dl,i(t.connectedLabel),1)):p("",!0):(l(),o("span",cl,i(t.disabledLabel),1))]),s("span",ul,i(t.appMetaLabel(c)),1)])]),c.description?(l(),o("p",yl,i(c.description),1)):p("",!0),s("div",pl,[c.category?(l(),o("span",ml,i(c.category),1)):p("",!0),(l(!0),o(U,null,B(c.pluginDisplayNames.slice(0,2),y=>(l(),o("span",{key:y,class:"directory-chip"},i(y),1))),128))]),s("div",hl,[s("button",{class:"directory-action",type:"button",disabled:t.actionId===c.id,onClick:y=>t.toggleApp(c)},i(c.isEnabled?t.disableLabel:t.enableLabel),9,vl),c.installUrl?(l(),o("button",{key:0,class:"directory-action-link",type:"button",onClick:y=>t.openExternalUrl(c.installUrl)},i(c.isAccessible?t.manageLabel:t.loginLabel),9,gl)):p("",!0),c.isAccessible&&c.isEnabled?(l(),o("button",{key:1,class:"directory-action",type:"button",disabled:t.isTryActionInFlight,onClick:y=>t.tryApp(c)},i(t.tryInFlightKey===t.appTryKey(c)?t.startingLabel:t.tryLabel),9,bl)):p("",!0)])]))),128))])):(l(),o("div",Xs," Apps APIs unavailable in this Codex CLI. Update Codex CLI to manage apps. "))]))}}),fl={class:"directory-section"},$l={class:"directory-toolbar"},Cl=["value"],wl={class:"directory-sort-group",role:"group","aria-label":"Sort Composio connectors"},Sl=["onClick"],_l={key:0,class:"directory-error"},Ll={key:1,class:"directory-loading"},Al={key:2,class:"directory-empty"},Pl={class:"directory-empty-copy"},Il={class:"directory-card-actions"},Ml=["disabled"],Fl={key:3,class:"composio-preview"},El={class:"composio-preview-hero"},Tl={class:"composio-preview-actions"},Ul=["disabled"],Nl={class:"composio-preview-grid"},Dl={class:"directory-card-top"},xl={class:"directory-card-fallback composio-fallback"},Ol={class:"directory-card-main"},Rl={class:"directory-card-title-row"},Bl={class:"directory-card-title"},Gl={class:"directory-badge is-muted"},Kl={class:"directory-card-meta"},jl={class:"directory-card-description"},Hl={class:"directory-chip-row"},ql={key:4,class:"directory-section composio-section"},zl={class:"directory-card directory-card-wide composio-status-card"},Vl={class:"directory-card-top"},Ql={class:"directory-card-main"},Wl={class:"directory-card-title-row"},Yl={class:"directory-card-title"},Jl={class:"directory-badge"},Xl={class:"directory-card-meta"},Zl={class:"directory-card-description"},eo={class:"directory-chip-row"},to={key:0,class:"directory-chip"},ao={key:1,class:"directory-chip"},so={key:2,class:"directory-chip"},lo={class:"directory-card-actions"},oo={key:0,class:"directory-empty"},io={key:1,class:"directory-grid"},no={class:"directory-card-top"},ro=["src","alt"],co={key:1,class:"directory-card-fallback composio-fallback"},uo={class:"directory-card-main"},yo={class:"directory-card-title-row"},po={class:"directory-card-title"},mo={key:0,class:"directory-badge"},ho={key:1,class:"directory-badge"},vo={class:"directory-card-meta"},go={key:0,class:"directory-card-description"},bo={class:"directory-chip-row"},ko={class:"directory-chip"},fo={key:0,class:"directory-chip"},$o={key:1,class:"directory-chip"},Co={class:"directory-card-actions"},wo=["onClick"],So=["disabled","onClick"],_o=["disabled","onClick"],Lo={key:2,class:"directory-section-actions"},Ao=["disabled"],Po=be({__name:"DirectoryComposioTab",props:{composioStatus:{},searchQuery:{},sortMode:{},error:{},isLoadingComposio:{type:Boolean},isInstallingComposio:{type:Boolean},isStartingComposioLogin:{type:Boolean},visibleComposioConnectors:{},visibleComposioPreviewConnectors:{},workspaceSummary:{},connectorCount:{},total:{},hasMoreComposioConnectors:{type:Boolean},actionSlug:{},isTryActionInFlight:{type:Boolean},tryInFlightKey:{},composioMetaLabel:{type:Function},composioPrimaryActionLabel:{type:Function},canTryComposio:{type:Function},composioTryKey:{type:Function},openComposioDetail:{type:Function},runComposioPrimaryAction:{type:Function},tryComposio:{type:Function},installComposioCli:{type:Function},startComposioCliLogin:{type:Function},loadMoreComposio:{type:Function},openExternalUrl:{type:Function},workspaceLabel:{},connectedLabel:{},authenticatedLabel:{},noAuthLabel:{},previewLabel:{},openDashboardLabel:{},detailsLabel:{},installLabel:{},installingLabel:{},loginLabel:{},openingLabel:{},startingLabel:{},tryLabel:{},loadMoreLabel:{},loadingLabel:{}},emits:["update:search-query","update:sort-mode"],setup(t,{emit:F}){const b=F,A=[{id:"popular",label:"Popular"},{id:"name",label:"A-Z"},{id:"date",label:"Date"}];return($,u)=>{var c;return l(),o("section",fl,[s("div",$l,[s("input",{value:t.searchQuery,class:"directory-search",type:"search",placeholder:"Search Composio connectors...","aria-label":"Search Composio connectors",onInput:u[0]||(u[0]=y=>b("update:search-query",y.target.value))},null,40,Cl),s("div",wl,[(l(),o(U,null,B(A,y=>s("button",{key:y.id,class:J(["directory-sort-button",{"is-active":t.sortMode===y.id}]),type:"button",onClick:M=>b("update:sort-mode",y.id)},i(y.label),11,Sl)),64))])]),t.error?(l(),o("div",_l,i(t.error),1)):t.isLoadingComposio?(l(),o("div",Ll,"Loading Composio connectors...")):(c=t.composioStatus)!=null&&c.available?t.composioStatus.authenticated?(l(),o("div",ql,[s("article",zl,[s("div",Vl,[u[8]||(u[8]=s("div",{class:"directory-card-fallback composio-fallback"},"C",-1)),s("div",Ql,[s("div",Wl,[s("span",Yl,i(t.workspaceLabel),1),s("span",Jl,i(t.connectedLabel),1)]),s("span",Xl,i(t.composioStatus.email||t.composioStatus.defaultOrgName||t.authenticatedLabel),1)])]),s("p",Zl,i(t.workspaceSummary),1),s("div",eo,[t.composioStatus.defaultOrgName?(l(),o("span",to,i(t.composioStatus.defaultOrgName),1)):p("",!0),t.composioStatus.cliVersion?(l(),o("span",ao,"CLI "+i(t.composioStatus.cliVersion),1)):p("",!0),t.connectorCount?(l(),o("span",so," Showing "+i(t.connectorCount)+i(t.total?` / ${t.total}`:"")+" connectors ",1)):p("",!0)]),s("div",lo,[s("button",{class:"directory-action-link",type:"button",onClick:u[4]||(u[4]=y=>t.openExternalUrl(t.composioStatus.webUrl))},i(t.openDashboardLabel),1)])]),t.visibleComposioConnectors.length===0?(l(),o("div",oo,"No Composio connectors found.")):(l(),o("div",io,[(l(!0),o(U,null,B(t.visibleComposioConnectors,y=>(l(),o("article",{key:y.slug,class:"directory-card"},[s("div",no,[y.logoUrl?(l(),o("img",{key:0,class:"directory-card-icon",src:y.logoUrl,alt:y.name,loading:"lazy"},null,8,ro)):(l(),o("div",co,i(y.name.charAt(0)),1)),s("div",uo,[s("div",yo,[s("span",po,i(y.name),1),y.activeCount>0?(l(),o("span",mo,i(t.connectedLabel),1)):y.isNoAuth?(l(),o("span",ho,i(t.noAuthLabel),1)):p("",!0)]),s("span",vo,i(t.composioMetaLabel(y)),1)])]),y.description?(l(),o("p",go,i(y.description),1)):p("",!0),s("div",bo,[s("span",ko,i(y.toolsCount)+" tools",1),y.triggersCount>0?(l(),o("span",fo,i(y.triggersCount)+" triggers",1)):p("",!0),y.authModes.length>0?(l(),o("span",$o,i(y.authModes.join(", ")),1)):p("",!0)]),s("div",Co,[s("button",{class:"directory-action",type:"button",onClick:M=>t.openComposioDetail(y.slug)},i(t.detailsLabel),9,wo),t.composioPrimaryActionLabel(y)?(l(),o("button",{key:0,class:"directory-action-link",type:"button",disabled:t.actionSlug===y.slug,onClick:M=>t.runComposioPrimaryAction(y)},i(t.actionSlug===y.slug?t.openingLabel:t.composioPrimaryActionLabel(y)),9,So)):p("",!0),t.canTryComposio(y)?(l(),o("button",{key:1,class:"directory-action primary",type:"button",disabled:t.isTryActionInFlight,onClick:M=>t.tryComposio(y)},i(t.tryInFlightKey===t.composioTryKey(y.slug)?t.startingLabel:t.tryLabel),9,_o)):p("",!0)])]))),128))])),t.hasMoreComposioConnectors?(l(),o("div",Lo,[s("button",{class:"directory-action",type:"button",disabled:t.isLoadingComposio,onClick:u[5]||(u[5]=(...y)=>t.loadMoreComposio&&t.loadMoreComposio(...y))},i(t.isLoadingComposio?t.loadingLabel:t.loadMoreLabel),9,Ao)])):p("",!0)])):(l(),o("div",Fl,[s("article",El,[u[7]||(u[7]=ns('<div class="composio-preview-copy"><div class="directory-card-fallback composio-fallback">C</div><div><p class="composio-preview-kicker">Connector catalog preview</p><h3 class="composio-preview-title">Connect everyday apps like Gmail, Calendar, Reddit, YouTube, and Drive.</h3><p class="composio-preview-text"> Composio is installed locally. Login to browse the live catalog, connect your accounts, and try simple actions from this machine. </p></div></div>',1)),s("div",Tl,[s("button",{class:"directory-action primary",type:"button",disabled:t.isStartingComposioLogin,onClick:u[2]||(u[2]=(...y)=>t.startComposioCliLogin&&t.startComposioCliLogin(...y))},i(t.isStartingComposioLogin?t.openingLabel:t.loginLabel),9,Ul),s("button",{class:"directory-action-link",type:"button",onClick:u[3]||(u[3]=y=>t.openExternalUrl(t.composioStatus.webUrl||"https://dashboard.composio.dev/"))},i(t.openDashboardLabel),1)])]),s("div",Nl,[(l(!0),o(U,null,B(t.visibleComposioPreviewConnectors,y=>(l(),o("article",{key:y.slug,class:"directory-card composio-preview-card"},[s("div",Dl,[s("div",xl,i(y.initial),1),s("div",Ol,[s("div",Rl,[s("span",Bl,i(y.name),1),s("span",Gl,i(t.previewLabel),1)]),s("span",Kl,i(y.meta),1)])]),s("p",jl,i(y.description),1),s("div",Hl,[(l(!0),o(U,null,B(y.chips,M=>(l(),o("span",{key:M,class:"directory-chip"},i(M),1))),128))])]))),128))])])):(l(),o("div",Al,[s("div",Pl,[u[6]||(u[6]=s("p",{class:"directory-empty-text"},"Composio CLI is not installed in this environment.",-1)),s("div",Il,[s("button",{class:"directory-action primary",type:"button",disabled:t.isInstallingComposio,onClick:u[1]||(u[1]=(...y)=>t.installComposioCli&&t.installComposioCli(...y))},i(t.isInstallingComposio?t.installingLabel:t.installLabel),9,Ml)])])]))])}}}),Io={class:"directory-section"},Mo={class:"directory-toolbar"},Fo=["value"],Eo={class:"directory-sort-group",role:"group","aria-label":"Sort plugins"},To=["onClick"],Uo={key:0,class:"directory-marketplace"},No={class:"directory-marketplace-header"},Do=["disabled"],xo={key:0,class:"directory-marketplace-empty"},Oo={key:1,class:"directory-marketplace-list"},Ro={class:"directory-marketplace-name"},Bo={key:0,class:"directory-marketplace-path"},Go=["disabled","onClick"],Ko={class:"directory-marketplace-add"},jo=["value"],Ho=["disabled"],qo={key:1,class:"directory-empty"},zo={key:2,class:"directory-error"},Vo={key:3,class:"directory-loading"},Qo={key:4,class:"directory-empty"},Wo={key:5,class:"directory-grid"},Yo=["onClick"],Jo={class:"directory-card-top"},Xo=["src","alt"],Zo={class:"directory-card-main"},ei={class:"directory-card-title-row"},ti={class:"directory-card-title"},ai={key:0,class:"directory-badge is-muted"},si={key:1,class:"directory-badge"},li={class:"directory-card-meta"},oi={key:0,class:"directory-card-description"},ii={class:"directory-chip-row"},ni={key:0,class:"directory-chip"},ri=be({__name:"DirectoryPluginsTab",props:{plugins:{},searchQuery:{},sortMode:{},supportsPlugins:{type:Boolean},supportsMarketplace:{type:Boolean},error:{},isLoading:{type:Boolean},marketplaces:{},marketplaceSourceUrl:{},marketplaceActionName:{},isMarketplaceActionInFlight:{type:Boolean},pluginIconSrc:{type:Function},fallbackStyle:{type:Function},openPluginDetail:{type:Function},addMarketplace:{type:Function},removeMarketplace:{type:Function},upgradeAllMarketplaces:{type:Function},disabledLabel:{},installedLabel:{},pluginLabel:{},upgradeAllLabel:{},upgradingLabel:{},removingLabel:{},removeLabel:{},addingLabel:{},addLabel:{}},emits:["update:search-query","update:sort-mode","update:marketplace-source-url"],setup(t,{emit:F}){const b=F,A=[{id:"popular",label:"Popular"},{id:"name",label:"A-Z"},{id:"date",label:"Date"}];return($,u)=>(l(),o("section",Io,[s("div",Mo,[s("input",{value:t.searchQuery,class:"directory-search",type:"search",placeholder:"Search plugins...","aria-label":"Search plugins",onInput:u[0]||(u[0]=c=>b("update:search-query",c.target.value))},null,40,Fo),s("div",Eo,[(l(),o(U,null,B(A,c=>s("button",{key:c.id,class:J(["directory-sort-button",{"is-active":t.sortMode===c.id}]),type:"button",onClick:y=>b("update:sort-mode",c.id)},i(c.label),11,To)),64))])]),t.supportsMarketplace?(l(),o("div",Uo,[s("div",No,[u[5]||(u[5]=s("span",{class:"directory-marketplace-title"},"Marketplaces",-1)),s("button",{class:"directory-marketplace-upgrade",type:"button",disabled:t.isMarketplaceActionInFlight,onClick:u[1]||(u[1]=(...c)=>t.upgradeAllMarketplaces&&t.upgradeAllMarketplaces(...c))},i(t.marketplaceActionName==="upgrade"?t.upgradingLabel:t.upgradeAllLabel),9,Do)]),t.marketplaces.length===0?(l(),o("div",xo,"No marketplaces configured.")):(l(),o("div",Oo,[(l(!0),o(U,null,B(t.marketplaces,c=>(l(),o("div",{key:c.name,class:"directory-marketplace-row"},[s("span",Ro,i(c.displayName),1),c.path?(l(),o("code",Bo,i(c.path),1)):p("",!0),s("button",{class:"directory-marketplace-remove",type:"button",disabled:t.isMarketplaceActionInFlight,onClick:y=>t.removeMarketplace(c.name)},i(t.marketplaceActionName===`remove:${c.name}`?t.removingLabel:t.removeLabel),9,Go)]))),128))])),s("div",Ko,[s("input",{value:t.marketplaceSourceUrl,class:"directory-marketplace-source",type:"url",placeholder:"Git URL to add a marketplace","aria-label":"Marketplace Git URL",onInput:u[2]||(u[2]=c=>b("update:marketplace-source-url",c.target.value)),onKeydown:u[3]||(u[3]=rs((...c)=>t.addMarketplace&&t.addMarketplace(...c),["enter"]))},null,40,jo),s("button",{class:"directory-marketplace-add-button",type:"button",disabled:t.isMarketplaceActionInFlight||!t.marketplaceSourceUrl.trim(),onClick:u[4]||(u[4]=(...c)=>t.addMarketplace&&t.addMarketplace(...c))},i(t.marketplaceActionName==="add"?t.addingLabel:t.addLabel),9,Ho)])])):p("",!0),t.supportsPlugins?t.error?(l(),o("div",zo,i(t.error),1)):t.isLoading?(l(),o("div",Vo,"Loading plugins...")):t.plugins.length===0?(l(),o("div",Qo,"No plugins found.")):(l(),o("div",Wo,[(l(!0),o(U,null,B(t.plugins,c=>(l(),o("button",{key:c.id,class:J(["directory-card",{"is-disabled":c.installed&&!c.enabled}]),type:"button",onClick:y=>t.openPluginDetail(c)},[s("div",Jo,[t.pluginIconSrc(c)?(l(),o("img",{key:0,class:"directory-card-icon",src:t.pluginIconSrc(c),alt:c.displayName,loading:"lazy"},null,8,Xo)):(l(),o("div",{key:1,class:"directory-card-fallback",style:cs(t.fallbackStyle(c))},i(c.displayName.charAt(0)),5)),s("div",Zo,[s("div",ei,[s("span",ti,i(c.displayName),1),c.installed&&!c.enabled?(l(),o("span",ai,i(t.disabledLabel),1)):c.installed?(l(),o("span",si,i(t.installedLabel),1)):p("",!0)]),s("span",li,i(c.developerName||c.marketplaceDisplayName||c.marketplaceName||t.pluginLabel),1)])]),c.description?(l(),o("p",oi,i(c.description),1)):p("",!0),s("div",ii,[c.category?(l(),o("span",ni,i(c.category),1)):p("",!0),(l(!0),o(U,null,B(c.capabilities.slice(0,2),y=>(l(),o("span",{key:y,class:"directory-chip"},i(y),1))),128))])],10,Yo))),128))])):(l(),o("div",qo," Plugin APIs unavailable in this Codex CLI. Update Codex CLI to use plugin catalog features. "))]))}}),ci={class:"skill-card-top"},di=["src","alt"],ui={key:1,class:"skill-card-avatar-fallback"},yi={class:"skill-card-info"},pi={class:"skill-card-header"},mi={class:"skill-card-name"},hi={key:0,class:"skill-card-badge-disabled"},vi={key:1,class:"skill-card-badge"},gi={key:0,class:"skill-card-owner"},bi=["title"],ki={key:0,class:"skill-card-desc"},fi={key:1,class:"skill-card-meta-row"},$i=be({__name:"SkillCard",props:{skill:{},showStatusBadge:{type:Boolean,default:!0},showBrowseAction:{type:Boolean,default:!0},showOwner:{type:Boolean,default:!0}},emits:["select"],setup(t){const F=t,{t:b}=ot(),A=_(()=>F.showStatusBadge!==!1),$=_(()=>F.showBrowseAction!==!1),u=_(()=>F.showOwner!==!1),c=_(()=>{const r=F.skill.path;return r?r.endsWith("/SKILL.md")?r.slice(0,-9):r:""});function y(){const r=c.value;r&&window.open(`/codex-local-browse${encodeURI(r)}`,"_blank","noopener,noreferrer")}const M=_(()=>{const r=F.skill.publishedAt;if(!r)return"";const G=new Date(r),z=Date.now()-r;return z<36e5?`${Math.floor(z/6e4)}${b("ago")}`:z<864e5?`${Math.floor(z/36e5)}${b("ago")}`:z<2592e6?`${Math.floor(z/864e5)}${b("ago")}`:G.toLocaleDateString("en-US",{month:"short",day:"numeric"})}),x=_(()=>{const r=[];return F.skill.installCountLabel&&r.push(F.skill.installCountLabel),M.value&&r.push(M.value),r});function H(r){const G=r.target;G.style.display="none"}return(r,G)=>(l(),o("button",{class:J(["skill-card",{"is-disabled":t.skill.installed&&t.skill.enabled===!1}]),type:"button",onClick:G[0]||(G[0]=q=>r.$emit("select",t.skill))},[s("div",ci,[t.skill.avatarUrl?(l(),o("img",{key:0,class:"skill-card-avatar",src:t.skill.avatarUrl,alt:t.skill.owner,loading:"lazy",onError:H},null,40,di)):(l(),o("div",ui,i(t.skill.owner.charAt(0)),1)),s("div",yi,[s("div",pi,[s("span",mi,i(t.skill.displayName||t.skill.name),1),A.value?(l(),o(U,{key:0},[t.skill.installed&&t.skill.enabled===!1?(l(),o("span",hi,i(n(b)("Disabled")),1)):t.skill.installed?(l(),o("span",vi,i(n(b)("Installed")),1)):p("",!0)],64)):p("",!0)]),u.value?(l(),o("span",gi,i(t.skill.owner),1)):p("",!0)]),$.value&&t.skill.installed&&c.value?(l(),o("button",{key:2,class:"skill-card-browse",type:"button",title:n(b)("Browse files"),onClick:Oe(y,["stop"])},[Re(ds,{class:"skill-card-browse-icon"})],8,bi)):p("",!0)]),t.skill.description?(l(),o("p",ki,i(t.skill.description),1)):p("",!0),x.value.length>0?(l(),o("div",fi,[(l(!0),o(U,null,B(x.value,q=>(l(),o("span",{key:q,class:"skill-card-meta"},i(q),1))),128))])):p("",!0)],2))}}),Zt=it($i,[["__scopeId","data-v-2dc2f3b0"]]),Ci={class:"sdm-panel"},wi={class:"sdm-header"},Si={class:"sdm-title-area"},_i=["src","alt"],Li={class:"sdm-title-col"},Ai={class:"sdm-title-row"},Pi={class:"sdm-title"},Ii={key:0,class:"sdm-badge-disabled"},Mi={class:"sdm-owner"},Fi=["aria-label"],Ei={class:"sdm-body"},Ti={key:0,class:"sdm-desc"},Ui={key:1,class:"sdm-readme-loading"},Ni=["innerHTML"],Di=["href"],xi={class:"sdm-footer"},Oi={class:"sdm-footer-actions"},Ri=["disabled"],Bi=["disabled"],Gi=["disabled"],Ki=["disabled"],ji=be({__name:"SkillDetailModal",props:{skill:{},visible:{type:Boolean},isInstalling:{type:Boolean},isUninstalling:{type:Boolean},isTrying:{type:Boolean}},emits:["close","install","uninstall","toggle-enabled","try"],setup(t,{emit:F}){const b=t,A=F,$=h(null),u=h(""),c=h(""),y=h(!1),{t:M}=ot(),x=_(()=>$.value??b.skill.enabled??!0),H=_(()=>b.isInstalling===!0||b.isUninstalling===!0),r=_(()=>u.value||b.skill.description),G=_(()=>{const I=b.skill.path;return I?I.endsWith("/SKILL.md")?I.slice(0,-9):I:""}),q=_(()=>{const I=c.value;if(!I)return"";const D=I.replace(/^---[\s\S]*?---\s*/,"");return Ks(z(D))});function z(I){return I.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/^### (.+)$/gm,"<h4>$1</h4>").replace(/^## (.+)$/gm,"<h3>$1</h3>").replace(/^# (.+)$/gm,"<h2>$1</h2>").replace(/\*\*(.+?)\*\*/g,"<strong>$1</strong>").replace(/`([^`]+)`/g,"<code>$1</code>").replace(/^- (.+)$/gm,"<li>$1</li>").replace(/(<li>.*<\/li>\n?)+/g,"<ul>$&</ul>").replace(/\n{2,}/g,"<br/><br/>").replace(/\n/g,"<br/>")}async function te(){if(!(!b.skill.owner||!b.skill.name)){y.value=!0,u.value="",c.value="";try{const I=new URLSearchParams({owner:b.skill.owner,name:b.skill.name});b.skill.installed&&I.set("installed","true"),b.skill.path&&I.set("path",b.skill.path);const D=await fetch(`/codex-api/skills-hub/readme?${I}`);if(!D.ok)return;const K=await D.json();c.value=K.content??"",u.value=K.description??""}catch{}finally{y.value=!1}}}Ie(()=>b.visible,I=>{I&&($.value=null,u.value="",c.value="",te())});function E(){A("install",b.skill)}function C(){A("uninstall",b.skill)}function S(){const I=!x.value;$.value=I,A("toggle-enabled",b.skill,I)}function f(){b.isTrying||A("try",b.skill)}function V(){const I=G.value;I&&window.open(`/codex-local-browse${encodeURI(I)}`,"_blank","noopener,noreferrer")}return(I,D)=>(l(),re(st,{to:"body"},[t.visible?(l(),o("div",{key:0,class:"sdm-overlay",onClick:D[1]||(D[1]=Oe(K=>I.$emit("close"),["self"]))},[s("div",Ci,[s("div",wi,[s("div",Si,[t.skill.avatarUrl?(l(),o("img",{key:0,class:"sdm-avatar",src:t.skill.avatarUrl,alt:t.skill.owner,loading:"lazy"},null,8,_i)):p("",!0),s("div",Li,[s("div",Ai,[s("h3",Pi,i(t.skill.displayName||t.skill.name),1),t.skill.installed&&!x.value?(l(),o("span",Ii,i(n(M)("Disabled")),1)):p("",!0)]),s("span",Mi,i(t.skill.owner),1)])]),s("button",{class:"sdm-close",type:"button","aria-label":n(M)("Close"),onClick:D[0]||(D[0]=K=>I.$emit("close"))},[Re(us,{class:"sdm-close-icon"})],8,Fi)]),s("div",Ei,[r.value?(l(),o("p",Ti,i(r.value),1)):p("",!0),y.value?(l(),o("div",Ui,i(n(M)("Loading skill contents...")),1)):c.value?(l(),o("div",{key:2,class:"sdm-readme",innerHTML:q.value},null,8,Ni)):p("",!0),t.skill.url?(l(),o("a",{key:3,class:"sdm-link",href:t.skill.url,target:"_blank",rel:"noopener noreferrer"},i(n(M)("View on GitHub")),9,Di)):p("",!0)]),s("div",xi,[s("div",Oi,[t.skill.installed?(l(),o("button",{key:0,class:"sdm-btn sdm-btn-danger",type:"button",disabled:H.value,onClick:C},i(b.isUninstalling?n(M)("Uninstalling..."):n(M)("Uninstall")),9,Ri)):(l(),o("button",{key:1,class:"sdm-btn sdm-btn-primary",type:"button",disabled:H.value,onClick:E},i(b.isInstalling?n(M)("Installing..."):n(M)("Install")),9,Bi)),t.skill.installed?(l(),o("button",{key:2,class:"sdm-btn sdm-btn-secondary",type:"button",disabled:H.value,onClick:S},i(x.value?n(M)("Disable"):n(M)("Enable")),9,Gi)):p("",!0),t.skill.installed&&x.value?(l(),o("button",{key:3,class:"sdm-btn sdm-btn-primary",type:"button",disabled:H.value||b.isTrying,onClick:f},i(b.isTrying?"Starting...":"Try it!"),9,Ki)):p("",!0),t.skill.installed&&G.value?(l(),o("button",{key:4,class:"sdm-btn sdm-btn-secondary",type:"button",onClick:V},i(n(M)("Browse files")),1)):p("",!0)])])])])):p("",!0)]))}}),Hi=it(ji,[["__scopeId","data-v-318b9c96"]]),qi={apiKey:"AIzaSyAf0CIHBZ-wEQJ8CCUUWo1Wl9P7typ_ZPI",authDomain:"gptcall-416910.firebaseapp.com",projectId:"gptcall-416910",storageBucket:"gptcall-416910.appspot.com",messagingSenderId:"99275526699",appId:"1:99275526699:web:3b623e1e2996108b52106e"};let ht=null;function zi(){return ht||(ht=Promise.all([Wt(()=>import("./index.esm-Cxn_LBGD.js"),__vite__mapDeps([0,1])),Wt(()=>import("./index.esm-DYMAm9mq.js"),__vite__mapDeps([2,1]))])),ht}function Vi(t){const F=h(null),b=h(""),A=h(""),$=h(""),u=h({loggedIn:!1,githubUsername:"",repoOwner:"",repoName:"",configured:!1,startup:{inProgress:!1,mode:"idle",branch:"main",lastAction:"not-started",lastRunAtIso:"",lastSuccessAtIso:"",lastError:""}}),c=_(()=>$.value==="pull"),y=_(()=>$.value==="push"),M=_(()=>$.value==="startup-sync"),x=_(()=>$.value!=="");async function H(){try{const C=await fetch("/codex-api/skills-sync/status");if(!C.ok)return;const S=await C.json();S.data&&(u.value=S.data)}catch{}}async function r(){try{const C=await fetch("/codex-api/skills-sync/github/start-login",{method:"POST"}),S=await C.json();if(!C.ok||!S.data)throw new Error("Failed to start GitHub login");F.value=S.data;const f=30,V=Math.max((S.data.interval??5)*1e3,3e3);let I=!1;for(let D=0;D<f;D++){await new Promise(Z=>setTimeout(Z,V));const K=await fetch("/codex-api/skills-sync/github/complete-login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:S.data.device_code})}),Q=await K.json();if(!K.ok)throw new Error(Q.error||"Failed to complete GitHub login");if(Q.ok){I=!0;break}if(!Q.pending)throw new Error(Q.error||"Failed to complete GitHub login")}if(!I)throw new Error("GitHub login timed out. Please retry.");F.value=null,await H(),t.showToast("GitHub login successful")}catch(C){t.showToast(C instanceof Error?C.message:"Failed GitHub login","error")}}async function G(){try{const[C,S]=await zi(),{getApp:f,getApps:V,initializeApp:I}=C,{getAuth:D,GithubAuthProvider:K,signInWithPopup:Q}=S,Z=V().length>0?f():I(qi),me=D(Z),ae=new K;ae.addScope("repo");const ke=await Q(me,ae),se=K.credentialFromResult(ke),le=(se==null?void 0:se.accessToken)??"";if(!le)throw new Error("GitHub access token missing from Firebase login");const X=await fetch("/codex-api/skills-sync/github/token-login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:le})}),W=await X.json();if(!X.ok||!W.ok)throw new Error(W.error||"Failed to login with GitHub token");await H(),t.showToast("GitHub login successful")}catch(C){const S=C instanceof Error?C.message:"Failed Firebase GitHub login";t.showToast(S,"error")}}async function q(){A.value="",b.value="pull-started",$.value="pull";try{const C=await fetch("/codex-api/skills-sync/pull",{method:"POST"}),S=await C.json();if(!C.ok||!S.ok)throw new Error(S.error||"Failed to pull synced skills");await t.onPulled(),b.value="pull-success",t.showToast(u.value.loggedIn?"Pulled skills from private sync repo":"Pulled skills from upstream repo")}catch(C){const S=C instanceof Error?C.message:"Failed to pull sync";A.value=S,b.value="pull-failed",t.showToast(S,"error")}finally{$.value=""}}async function z(){A.value="",b.value="push-started",$.value="push";try{const C=await fetch("/codex-api/skills-sync/push",{method:"POST"}),S=await C.json();if(!C.ok||!S.ok)throw new Error(S.error||"Failed to push synced skills");b.value="push-success",t.showToast("Pushed skills to private sync repo")}catch(C){const S=C instanceof Error?C.message:"Failed to push sync";A.value=S,b.value="push-failed",t.showToast(S,"error")}finally{$.value=""}}async function te(){A.value="",b.value="startup-sync-started",$.value="startup-sync";try{const C=await fetch("/codex-api/skills-sync/startup-sync",{method:"POST"}),S=await C.json();if(!C.ok||!S.ok)throw new Error(S.error||"Failed to run startup sync");await t.onPulled(),await H(),b.value="startup-sync-success",t.showToast("Startup sync completed")}catch(C){const S=C instanceof Error?C.message:"Failed startup sync";A.value=S,b.value="startup-sync-failed",t.showToast(S,"error")}finally{$.value=""}}async function E(){try{const C=await fetch("/codex-api/skills-sync/github/logout",{method:"POST"}),S=await C.json();if(!C.ok||!S.ok)throw new Error(S.error||"Failed to logout GitHub");await H(),t.showToast("Logged out from GitHub")}catch(C){t.showToast(C instanceof Error?C.message:"Failed to logout GitHub","error")}}return{deviceLogin:F,isPullInFlight:c,isPushInFlight:y,isStartupSyncInFlight:M,isSyncActionInFlight:x,loadSyncStatus:H,logoutGithub:E,pullSkillsSync:q,pushSkillsSync:z,startupSkillsSync:te,startGithubFirebaseLogin:G,startGithubLogin:r,syncActionError:A,syncActionStatus:b,syncStatus:u}}const Qi={class:"skills-hub"},Wi={class:"skills-hub-header"},Yi={class:"skills-hub-title"},Ji={class:"skills-hub-subtitle"},Xi={class:"skills-sync-panel"},Zi={class:"skills-sync-header"},en=["href"],tn={key:1,class:"skills-sync-badge"},an={key:2,class:"skills-sync-badge"},sn={class:"skills-sync-meta"},ln={key:0,class:"skills-sync-error"},on=["href"],nn={key:1,class:"skills-sync-meta"},rn={key:2,class:"skills-sync-error"},cn=["href"],dn={key:3,class:"skills-sync-device"},un=["href"],yn={class:"skills-sync-actions"},pn=["disabled"],mn=["disabled"],hn=["disabled"],vn=["disabled"],gn={class:"skills-search-panel"},bn={class:"skills-search-header"},kn={class:"skills-search-copy"},fn={class:"skills-directory-link",href:"https://skills.anyclaw.store/",target:"_blank",rel:"noopener noreferrer"},$n=["placeholder","aria-label"],Cn=["disabled"],wn={key:0,class:"skills-hub-error"},Sn=["href"],_n={key:1,class:"skills-hub-section"},Ln={class:"skills-hub-section-title"},An={key:0,class:"skills-hub-grid"},Pn={key:2,class:"skills-hub-section"},In={class:"skills-hub-section-title"},Mn={key:0,class:"skills-hub-grid"},Fn={class:"skills-hub-section"},En={key:0,class:"skills-hub-loading"},Tn={key:1,class:"skills-hub-error"},Un=["href"],Nn={key:2,class:"skills-hub-empty"},Dn=be({__name:"SkillsHub",props:{tryInFlightKey:{}},emits:["skills-changed","try-item"],setup(t,{emit:F}){const b={name:"",owner:"",description:"",url:"",installed:!1},A=h([]),$=h([]),u=h(!1),c=h(!1),y=h(""),M=h(""),x=h(""),H=h(!0),r=h(!0),G=h(!1),q=h(b),z=h(null),te=h(""),E=h(!1),C=h(!1);let S=null;ta(()=>{S&&clearTimeout(S)});const{t:f}=ot(),{buildFeedbackMailto:V,feedbackMailtoBase:I,recordVisibleFailure:D}=hs(),K=I(),Q=t,Z=F,me=_(()=>{var g;return((g=z.value)==null?void 0:g.type)==="error"?"skills-hub-toast-error":"skills-hub-toast-success"}),ae=_(()=>`${q.value.owner}/${q.value.name}`),ke=_(()=>E.value&&te.value===ae.value),se=_(()=>C.value&&te.value===ae.value),le=_(()=>{if(!O.value.configured)return"";const g=O.value.repoOwner.trim(),v=O.value.repoName.trim();return!g||!v?"":`https://github.com/${encodeURIComponent(g)}/${encodeURIComponent(v)}`}),X=_(()=>A.value);function W(g,v="success"){z.value={text:g,type:v},S&&clearTimeout(S),S=setTimeout(()=>{z.value=null},3e3)}function he(g,v){D(v);const k=g.currentTarget;k instanceof HTMLAnchorElement&&(k.href=V())}function fe(g){if(A.value=g.installed??[],$.value.length>0){const v=new Map(A.value.map(k=>[k.name,k]));$.value=$.value.map(k=>{const R=v.get(k.name);return R?Me(k,R):k})}}function Me(g,v){return{...g,installed:!0,path:v.path,enabled:v.enabled}}function Be(g,v){return{...g,installed:!0,source:v.source,publishedAt:v.publishedAt}}async function ce(){u.value=!0,y.value="";try{const g=await fetch("/codex-api/skills-hub");if(!g.ok)throw new Error(`HTTP ${g.status}`);const v=await g.json();fe(v)}catch(g){y.value=g instanceof Error?g.message:f("Failed to load skills")}finally{u.value=!1}}function Fe(g){const v=g.installed?A.value.find(k=>k.name===g.name):void 0;q.value=v?Be(v,g):g,G.value=!0}async function Ge(){const g=M.value.trim();if(!(g.length<2)){c.value=!0,x.value="";try{const v=new URLSearchParams({q:g}),k=await fetch(`/codex-api/skills-hub/search?${v}`),R=await k.json();if(!k.ok)throw new Error(R.error||`HTTP ${k.status}`);const oe=new Map(A.value.map(ie=>[ie.name,ie]));$.value=(R.results??[]).map(ie=>{const ee=oe.get(ie.name);return ee?Me(ie,ee):ie}),r.value=!0,$.value.length===0&&W(f("No matching skills found."),"error")}catch(v){x.value=v instanceof Error?v.message:f("Failed to search skills")}finally{c.value=!1}}}async function Ke(g){te.value=`${g.owner}/${g.name}`,E.value=!0;try{const k=await(await fetch("/codex-api/skills-hub/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({owner:g.owner,name:g.name,source:g.source})})).json();if(!k.ok)throw new Error(k.error||f("Install failed"));if(!k.path)throw new Error(f("Install completed but no local skill path was returned"));await ce();const R=A.value.find(oe=>oe.name===g.name);if(!(R!=null&&R.path))throw new Error(f("Install completed but the local skill was not found after refresh"));q.value=Be(R,g),W(`${g.displayName||g.name} ${f("skill installed")}`),G.value=!1,Z("skills-changed")}catch(v){W(v instanceof Error?v.message:f("Failed to install skill"),"error")}finally{E.value=!1}}async function je(g){te.value=`${g.owner}/${g.name}`,C.value=!0;try{const k=await(await fetch("/codex-api/skills-hub/uninstall",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:g.name,path:g.path})})).json();if(!k.ok)throw new Error(k.error||f("Uninstall failed"));A.value=A.value.filter(R=>R.name!==g.name),W(`${g.displayName||g.name} ${f("skill uninstalled")}`),G.value=!1,Z("skills-changed")}catch(v){W(v instanceof Error?v.message:f("Failed to uninstall skill"),"error")}finally{C.value=!1}}async function He(g,v){try{if(!(await fetch("/codex-api/rpc",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({method:"skills/config/write",params:{path:g.path,enabled:v}})})).ok)throw new Error(f("Failed to update skill"));await fetch("/codex-api/skills-sync/push",{method:"POST"}),W(`${g.displayName||g.name} ${f("skill")} ${f(v?"enabled":"disabled")}`),await ce()}catch(k){W(k instanceof Error?k.message:f("Failed to update skill"),"error")}}function L(g){!g.installed||g.enabled===!1||Q.tryInFlightKey||(Z("try-item",{kind:"skill",name:g.name,displayName:g.displayName||g.name,skillPath:g.path}),G.value=!1)}function N(g){return`skill:${g.name}:${g.path??""}`}const{deviceLogin:$e,isPullInFlight:qe,isPushInFlight:Ee,isStartupSyncInFlight:P,isSyncActionInFlight:de,loadSyncStatus:ze,logoutGithub:Ce,pullSkillsSync:Te,pushSkillsSync:Ue,startupSkillsSync:Y,startGithubFirebaseLogin:Ne,startGithubLogin:ve,syncActionError:ue,syncActionStatus:we,syncStatus:O}=Vi({showToast:W,onPulled:async()=>{await ce(),Z("skills-changed")}}),Se=[_(()=>O.value.startup.lastError),ue,x,y];return aa(()=>{ce(),ze()}),Ie(Se,(g,v)=>{g.forEach((k,R)=>{if(k===v[R])return;const oe=k.trim();oe&&D(oe)})}),(g,v)=>(l(),o("div",Qi,[s("div",Wi,[s("h2",Yi,i(n(f)("Skills Hub")),1),s("p",Ji,i(n(f)("Manage installed skills on this machine")),1)]),s("div",Xi,[s("div",Zi,[s("strong",null,i(n(f)("Skills Sync (GitHub)")),1),n(O).configured&&le.value?(l(),o("a",{key:0,class:"skills-sync-badge skills-sync-badge-link",href:le.value,target:"_blank",rel:"noopener noreferrer"},i(n(f)("Connected"))+": "+i(n(O).repoOwner)+"/"+i(n(O).repoName),9,en)):n(O).loggedIn?(l(),o("span",tn,i(n(f)("Logged in as"))+" "+i(n(O).githubUsername),1)):(l(),o("span",an,i(n(f)("Not connected")),1))]),s("div",sn,[s("span",null,i(n(f)("Startup"))+": "+i(n(O).startup.mode),1),s("span",null,i(n(f)("Branch"))+": "+i(n(O).startup.branch),1),s("span",null,i(n(f)("Action"))+": "+i(n(O).startup.lastAction),1)]),n(O).startup.lastError?(l(),o("div",ln,[s("span",null,i(n(O).startup.lastError),1),s("a",{class:"skills-error-feedback",href:n(K),onClick:v[0]||(v[0]=k=>he(k,n(O).startup.lastError))},i(n(f)("Send feedback")),9,on)])):p("",!0),n(we)?(l(),o("div",nn,[s("span",null,i(n(f)("Manual sync"))+": "+i(n(we)),1)])):p("",!0),n(ue)?(l(),o("div",rn,[s("span",null,i(n(ue)),1),s("a",{class:"skills-error-feedback",href:n(K),onClick:v[1]||(v[1]=k=>he(k,n(ue)))},i(n(f)("Send feedback")),9,cn)])):p("",!0),n($e)?(l(),o("div",dn,[s("span",null,[lt(i(n(f)("Open"))+" ",1),s("a",{href:n($e).verification_uri,target:"_blank",rel:"noreferrer"},i(n(f)("GitHub device login")),9,un),lt(" "+i(n(f)("and enter code:")),1)]),s("code",null,i(n($e).user_code),1)])):p("",!0),s("div",yn,[n(O).loggedIn?p("",!0):(l(),o("button",{key:0,class:"skills-hub-sort",type:"button",onClick:v[2]||(v[2]=(...k)=>n(Ne)&&n(Ne)(...k))},i(n(f)("Login with GitHub")),1)),n(O).loggedIn?p("",!0):(l(),o("button",{key:1,class:"skills-hub-sort",type:"button",onClick:v[3]||(v[3]=(...k)=>n(ve)&&n(ve)(...k))},i(n(f)("Device Login")),1)),n(O).loggedIn?(l(),o("button",{key:2,class:"skills-hub-sort",type:"button",onClick:v[4]||(v[4]=(...k)=>n(Ce)&&n(Ce)(...k)),disabled:n(de)},i(n(f)("Logout GitHub")),9,pn)):p("",!0),s("button",{class:"skills-hub-sort",type:"button",onClick:v[5]||(v[5]=(...k)=>n(Y)&&n(Y)(...k)),disabled:n(de)},i(n(P)?n(f)("Syncing..."):n(f)("Startup Sync")),9,mn),s("button",{class:"skills-hub-sort",type:"button",onClick:v[6]||(v[6]=(...k)=>n(Te)&&n(Te)(...k)),disabled:n(de)},i(n(qe)?n(f)("Pulling..."):n(f)("Pull")),9,hn),n(O).loggedIn?(l(),o("button",{key:3,class:"skills-hub-sort",type:"button",onClick:v[7]||(v[7]=(...k)=>n(Ue)&&n(Ue)(...k)),disabled:!n(O).configured||n(de)},i(n(Ee)?n(f)("Pushing..."):n(f)("Push")),9,vn)):p("",!0)])]),z.value?(l(),o("div",{key:0,class:J(["skills-hub-toast",me.value])},i(z.value.text),3)):p("",!0),s("div",gn,[s("div",bn,[s("div",kn,[s("strong",null,i(n(f)("Find skills")),1),s("span",null,i(n(f)("Search the Skills registry with npx skills find.")),1)]),s("a",fn,i(n(f)("Skills directory")),1)]),s("form",{class:"skills-search-form",onSubmit:Oe(Ge,["prevent"])},[ys(s("input",{"onUpdate:modelValue":v[8]||(v[8]=k=>M.value=k),class:"skills-search-input",type:"search",placeholder:n(f)("Search skills..."),"aria-label":n(f)("Search skills")},null,8,$n),[[ps,M.value]]),s("button",{class:"skills-hub-sort",type:"submit",disabled:c.value||M.value.trim().length<2},i(c.value?n(f)("Searching..."):n(f)("Search")),9,Cn)],32),x.value?(l(),o("div",wn,[s("span",null,i(x.value),1),s("a",{class:"skills-error-feedback",href:n(K),onClick:v[9]||(v[9]=k=>he(k,x.value))},i(n(f)("Send feedback")),9,Sn)])):p("",!0)]),$.value.length>0?(l(),o("div",_n,[s("button",{class:"skills-hub-section-toggle",type:"button",onClick:v[10]||(v[10]=k=>r.value=!r.value)},[s("span",Ln,i(n(f)("Search results ({count})",{count:$.value.length})),1),Re(Yt,{class:J(["skills-hub-section-chevron",{"is-open":r.value}])},null,8,["class"])]),r.value?(l(),o("div",An,[(l(!0),o(U,null,B($.value,k=>(l(),re(Zt,{key:k.source||`${k.owner}/${k.name}`,skill:k,"show-browse-action":!1,onSelect:R=>Fe(R)},null,8,["skill","onSelect"]))),128))])):p("",!0)])):p("",!0),ms(g.$slots,"before-installed",{},void 0),X.value.length>0?(l(),o("div",Pn,[s("button",{class:"skills-hub-section-toggle",type:"button",onClick:v[11]||(v[11]=k=>H.value=!H.value)},[s("span",In,i(n(f)("Installed skills ({count})",{count:X.value.length})),1),Re(Yt,{class:J(["skills-hub-section-chevron",{"is-open":H.value}])},null,8,["class"])]),H.value?(l(),o("div",Mn,[(l(!0),o(U,null,B(X.value,k=>(l(),re(Zt,{key:k.name,skill:k,"show-status-badge":!1,"show-owner":!1,onSelect:R=>Fe(R)},null,8,["skill","onSelect"]))),128))])):p("",!0)])):p("",!0),s("div",Fn,[u.value?(l(),o("div",En,i(n(f)("Loading skills...")),1)):y.value?(l(),o("div",Tn,[s("span",null,i(y.value),1),s("a",{class:"skills-error-feedback",href:n(K),onClick:v[12]||(v[12]=k=>he(k,y.value))},i(n(f)("Send feedback")),9,Un)])):A.value.length===0?(l(),o("div",Nn,i(n(f)("No installed skills found.")),1)):p("",!0)]),Re(Hi,{skill:q.value,visible:G.value,"is-installing":ke.value,"is-uninstalling":se.value,"is-trying":Q.tryInFlightKey===N(q.value),onClose:v[13]||(v[13]=k=>G.value=!1),onInstall:Ke,onUninstall:je,onToggleEnabled:He,onTry:L},null,8,["skill","visible","is-installing","is-uninstalling","is-trying"])]))}}),xn=it(Dn,[["__scopeId","data-v-25bfcbd5"]]),On={class:"directory-section"},Rn={class:"skills-embedded-section"},Bn={class:"skills-embedded-title"},Gn={key:0,class:"skills-embedded-body"},Kn={key:0,class:"directory-empty"},jn={key:1,class:"directory-error"},Hn={key:2,class:"directory-loading"},qn={key:3,class:"directory-empty"},zn={key:4,class:"mcp-skill-grid"},Vn=["onClick"],Qn={class:"mcp-skill-card-top"},Wn={class:"mcp-skill-avatar-fallback"},Yn={class:"mcp-skill-info"},Jn={class:"mcp-skill-header"},Xn={class:"mcp-skill-name"},Zn={class:"mcp-skill-meta"},er={key:0,class:"directory-mcp-detail"},tr={key:0},ar={class:"directory-mini-list"},sr={key:1},lr={class:"directory-mini-list"},or=be({__name:"DirectorySkillsTab",props:{tryInFlightKey:{},supportsMcps:{type:Boolean},mcpError:{},isLoadingMcps:{type:Boolean},visibleMcpServers:{},isMcpSectionOpen:{type:Boolean},expandedMcpNames:{},formatMcpAuthStatus:{type:Function},mcpCardBadgeClass:{type:Function},toggleMcpSectionOpen:{type:Function},toggleMcpExpanded:{type:Function}},emits:["skills-changed","try-item"],setup(t,{emit:F}){const b=F;return(A,$)=>(l(),o("section",On,[Re(xn,{"try-in-flight-key":t.tryInFlightKey,onSkillsChanged:$[1]||($[1]=u=>b("skills-changed")),onTryItem:$[2]||($[2]=u=>b("try-item",u))},{"before-installed":vs(()=>[s("div",Rn,[s("button",{class:"skills-embedded-toggle",type:"button",onClick:$[0]||($[0]=(...u)=>t.toggleMcpSectionOpen&&t.toggleMcpSectionOpen(...u))},[s("span",Bn,"MCPs("+i(t.visibleMcpServers.length)+")",1),s("span",{class:J(["skills-embedded-chevron",{"is-open":t.isMcpSectionOpen}])},"›",2)]),t.isMcpSectionOpen?(l(),o("div",Gn,[t.supportsMcps?t.mcpError?(l(),o("div",jn,i(t.mcpError),1)):t.isLoadingMcps?(l(),o("div",Hn,"Loading MCP servers...")):t.visibleMcpServers.length===0?(l(),o("div",qn,"No MCP servers configured.")):(l(),o("div",zn,[(l(!0),o(U,null,B(t.visibleMcpServers,u=>(l(),o("article",{key:u.name},[s("button",{class:"mcp-skill-card skill-card",type:"button",onClick:c=>t.toggleMcpExpanded(u.name)},[s("div",Qn,[s("div",Wn,i(u.name.charAt(0)),1),s("div",Yn,[s("div",Jn,[s("span",Xn,i(u.name),1),s("span",{class:J(["mcp-skill-badge",t.mcpCardBadgeClass(u.authStatus)])},i(t.formatMcpAuthStatus(u.name)),3)]),$[3]||($[3]=s("span",{class:"mcp-skill-owner"},"mcp",-1))]),s("span",{class:J(["mcp-skill-chevron",{"is-open":t.expandedMcpNames.has(u.name)}])},"›",2)]),s("p",Zn,i(u.tools.length)+" tools · "+i(u.resources.length+u.resourceTemplates.length)+" resources",1),t.expandedMcpNames.has(u.name)?(l(),o("div",er,[u.tools.length>0?(l(),o("div",tr,[$[4]||($[4]=s("h3",{class:"directory-mini-heading"},"Tools",-1)),s("p",ar,i(u.tools.map(c=>c.title||c.name).join(", ")),1)])):p("",!0),u.resources.length>0||u.resourceTemplates.length>0?(l(),o("div",sr,[$[5]||($[5]=s("h3",{class:"directory-mini-heading"},"Resources",-1)),s("p",lr,i([...u.resources.map(c=>c.title||c.name||c.uri),...u.resourceTemplates.map(c=>c.title||c.name||c.uriTemplate)].join(", ")),1)])):p("",!0)])):p("",!0)],8,Vn)]))),128))])):(l(),o("div",Kn," MCP status APIs unavailable in this Codex CLI. Update Codex CLI to inspect MCP servers. "))])):p("",!0)])]),_:1},8,["try-in-flight-key"])]))}}),ir=it(or,[["__scopeId","data-v-f5178e67"]]),nr={class:"directory-hub"},rr={class:"directory-header"},cr={class:"directory-title"},dr={class:"directory-subtitle"},ur={class:"directory-header-actions"},yr=["disabled"],pr={class:"directory-tabs",role:"tablist","aria-label":"Directory sections"},mr=["aria-selected","onClick"],hr={class:"directory-modal"},vr={class:"directory-modal-header"},gr={class:"directory-card-top"},br=["src","alt"],kr={key:1,class:"directory-card-fallback"},fr={class:"directory-card-main"},$r={class:"directory-modal-title"},Cr={class:"directory-card-meta"},wr=["aria-label"],Sr={class:"directory-modal-body"},_r={key:0,class:"directory-error"},Lr={key:1,class:"directory-loading"},Ar={key:0,class:"directory-detail-description"},Pr={key:1,class:"directory-detail-block"},Ir={class:"directory-chip-row"},Mr={class:"directory-detail-grid"},Fr={key:0,class:"directory-detail-block"},Er={class:"directory-detail-heading"},Tr={key:0,class:"directory-auth-status is-warning"},Ur=["onClick"],Nr={key:1,class:"directory-detail-block"},Dr={class:"directory-detail-heading"},xr={class:"directory-mini-list"},Or={key:2,class:"directory-detail-block"},Rr=["disabled","onClick"],Br={key:2,class:"directory-screenshots"},Gr=["src"],Kr={key:3,class:"directory-auth-panel"},jr=["onClick"],Hr={class:"directory-modal-footer"},qr=["disabled"],zr=["disabled"],Vr={key:2,class:"directory-action",type:"button",disabled:""},Qr=["disabled"],Wr=["disabled"],Yr={class:"directory-modal directory-modal--share"},Jr={class:"directory-modal-header"},Xr={class:"directory-card-main"},Zr={class:"directory-modal-title"},ec={class:"directory-card-meta"},tc=["aria-label"],ac={class:"directory-modal-body"},sc={key:0,class:"directory-error"},lc={key:1,class:"directory-loading"},oc={key:0,class:"directory-empty"},ic={key:1,class:"directory-share-list"},nc={class:"directory-share-info"},rc={class:"directory-share-name"},cc=["href"],dc=["disabled","onClick"],uc=["disabled","onClick"],yc=["disabled"],pc={class:"directory-modal"},mc={class:"directory-modal-header"},hc={class:"directory-card-top"},vc=["src","alt"],gc={key:1,class:"directory-card-fallback composio-fallback"},bc={class:"directory-card-main"},kc={class:"directory-modal-title"},fc={class:"directory-card-meta"},$c=["aria-label"],Cc={class:"directory-modal-body"},wc={key:0,class:"directory-error"},Sc={key:1,class:"directory-loading"},_c={key:0,class:"directory-detail-description"},Lc={class:"directory-detail-grid"},Ac={class:"directory-detail-block"},Pc={class:"directory-chip-row"},Ic={class:"directory-chip"},Mc={key:0,class:"directory-chip"},Fc={key:1,class:"directory-chip"},Ec={key:2,class:"directory-chip"},Tc={class:"directory-detail-block"},Uc={key:0,class:"directory-mini-list"},Nc={key:1},Dc={class:"directory-card-meta"},xc={key:1,class:"directory-detail-block"},Oc={class:"directory-card-meta"},Rc={class:"directory-modal-footer"},Bc=["disabled"],Gc=["disabled"],Kc="/Users/igor/.codex/skills/shared_skills/composio-cli/SKILL.md",jc=50,ea=100,zc=be({__name:"DirectoryHub",props:{cwd:{},threadId:{},tryInFlightKey:{}},emits:["skills-changed","try-item"],setup(t,{expose:F,emit:b}){const A=[[/^gmail$/i,3e4],[/^google calendar$/i,29500],[/^outlook( email| calendar)?$/i,29e3],[/^google drive$/i,28500],[/^google docs$/i,28e3],[/^google sheets$/i,27500],[/^dropbox$/i,27e3],[/^box$/i,26500],[/^slack$/i,26e3],[/^notion$/i,25500],[/^canva$/i,25e3],[/^figma$/i,24500],[/^github$/i,24e3],[/^trello$/i,23500],[/^asana$/i,23e3],[/^basecamp$/i,22500],[/^clickup$/i,22e3],[/^linear$/i,21500],[/^gitlab( issues)?$/i,21e3],[/^jira$/i,20500],[/^zapier$/i,2e4],[/^hubspot$/i,19500],[/^salesforce$/i,19e3],[/^netlify$/i,18500],[/^vercel$/i,18e3],[/^(spotify|youtube|netflix|hulu|disney|booking|expedia|uber|airbnb)$/i,17500]],$=[[/(email|mail|inbox|calendar|event|availability|contact|message|chat)/i,450],[/(drive|document|docs|sheet|slide|file|storage|pdf|note|page)/i,380],[/(image|design|presentation|diagram|video|audio|photo|media|music)/i,320],[/(travel|flight|hotel|restaurant|recipe|food|shopping|delivery|map|weather)/i,260],[/(learn|education|study|language|health|fitness|finance|budget)/i,220],[/(task|project|issue|repository|deploy|database|crm|sales|support)/i,120]],u=[[/(computer use|github|gitlab|linear|slack|notion|browser|web|filesystem|terminal)/i,120],[/(calendar|email|drive|docs|design|deploy|project|issue|search|database)/i,55]],c=[[/(github|gitlab|linear|slack|notion|filesystem|browser|computer|web|postgres|sqlite|database)/i,120],[/(search|drive|docs|calendar|terminal|shell|deploy|cloud|memory)/i,55]],y=t,M=b,x=gs(),H=bs(),{t:r}=ot(),G=_(()=>[{id:"plugins",label:r("Plugins"),subtitle:r("Plugins make Codex work your way.")},{id:"apps",label:r("Apps"),subtitle:r("Connect Codex to external apps and services.")},{id:"composio",label:"Composio",subtitle:r("Browse Composio connectors, auth state, and ready-to-try integrations.")},{id:"skills",label:r("Skills"),subtitle:r("MCPs first, then installed skills and GitHub sync state.")}]),q=[{name:"Gmail",slug:"gmail",initial:"G",meta:"Inbox, drafts, attachments",description:"Find emails, summarize threads, draft replies, and pull attachment context into a chat.",chips:["Email","Search","Drafts"]},{name:"Google Calendar",slug:"google-calendar",initial:"C",meta:"Events and availability",description:"Check what is next, find open time, and turn follow-ups into calendar blocks.",chips:["Events","Availability","Reminders"]},{name:"Reddit",slug:"reddit",initial:"R",meta:"Posts, comments, communities",description:"Search communities, inspect posts, and prepare natural replies before posting.",chips:["Search","Comments","Posts"]},{name:"YouTube",slug:"youtube",initial:"Y",meta:"Videos, channels, comments",description:"Look up channel details, inspect video metadata, and help manage comment workflows.",chips:["Videos","Channels","Comments"]},{name:"Google Drive",slug:"google-drive",initial:"D",meta:"Files, docs, folders",description:"Find files, read shared docs, and bring Drive context into a Codex thread.",chips:["Files","Docs","Search"]},{name:"X",slug:"x",initial:"X",meta:"Posts, replies, profiles",description:"Research public posts, draft replies, and keep social workflows reviewable.",chips:["Posts","Replies","Profiles"]}];function z(e){return e==="plugins"||e==="apps"||e==="composio"||e==="skills"}function te(){return z(x.query.tab)?x.query.tab:"skills"}const E=h(te()),C=h(new Set),S=h(!1),f=h([]),V=h([]),I=h(null),D=h([]),K=h(null),Q=h(0),Z=h([]),me=h("popular"),ae=h("popular"),ke=h("popular"),se=h(""),le=h(""),X=h(""),W=h(!1),he=h(!1),fe=h(!1),Me=h(!1),Be=h(!1),ce=h(!1),Fe=h(!0),Ge=h(""),Ke=h(""),je=h(""),He=h(""),L=h(null),N=h(null),$e=h(!1),qe=h(!1),Ee=h(""),P=h(null),de=h(!1),ze=h(!1),Ce=h(""),Te=h(!1),Ue=h(!1),Y=h(!1),Ne=h(""),ve=h(""),ue=h([]),we=h(""),O=h(new Set),Se=h(null),g=h(""),v=h(""),k=h(!1),R=h([]),oe=h(!1),ie=h(!1),ee=h(!1),ye=h(""),_e=h("");let Ve=null,Qe=null;ta(()=>{Ve&&clearTimeout(Ve),Qe&&clearTimeout(Qe)});let nt=!1;const la=_(()=>G.value.find(e=>e.id===E.value)??G.value[0]),vt=_(()=>!S.value||["plugin/list","plugin/read","plugin/install","plugin/uninstall"].every(e=>C.value.has(e))),Je=_(()=>!S.value||C.value.has("app/list")),rt=_(()=>!S.value||C.value.has("mcpServerStatus/list")),gt=_(()=>C.value.has("config/mcpServer/reload")),bt=_(()=>C.value.has("mcpServer/oauth/login")),oa=_(()=>!S.value||["marketplace/add","marketplace/remove","marketplace/upgrade"].every(e=>C.value.has(e))),ia=_(()=>!S.value||["plugin/share/save","plugin/share/list","plugin/share/delete"].every(e=>C.value.has(e))),Le=_(()=>(y.tryInFlightKey??"").length>0),kt=_(()=>{var e,a,d;return((e=N.value)==null?void 0:e.description)||((a=N.value)==null?void 0:a.summary.longDescription)||((d=N.value)==null?void 0:d.summary.description)||""}),ft=_(()=>{var a;const e=(a=N.value)==null?void 0:a.summary;return e?[...e.screenshotUrls,...e.screenshots.map(et)].filter(Boolean):[]}),ct=_(()=>{var d;const e=((d=N.value)==null?void 0:d.apps)??[];if(e.length===0)return!1;const a=new Set;for(const w of V.value)a.add(w.id.trim().toLowerCase()),a.add(St(w.name));return e.some(w=>{const j=w.id.trim().toLowerCase(),ge=St(w.name),Pe=j.length>0&&a.has(j),at=ge.length>0&&a.has(ge);return!Pe&&!at})}),na=_(()=>{var e,a;return((e=L.value)==null?void 0:e.installPolicy)==="NOT_AVAILABLE"||(((a=N.value)==null?void 0:a.apps.some(d=>wt(d)))??!1)}),ra=_(()=>wa(Pa(_a(f.value,se.value),me.value),me.value,se.value)),ca=_(()=>{const e=new Map;for(const a of f.value){if(!a.marketplaceName)continue;const d=a.marketplaceName;e.has(d)||e.set(d,{name:a.marketplaceName,displayName:a.marketplaceDisplayName||a.marketplaceName,path:a.marketplacePath})}return[...e.values()].sort((a,d)=>a.displayName.localeCompare(d.displayName))}),da=_(()=>Sa(Ia(La(V.value,le.value),ae.value),ae.value,le.value)),ua=_(()=>zs(Aa(D.value,X.value),ke.value,X.value)),ya=_(()=>{const e=We(X.value);return e?q.filter(a=>Xe([a.name,a.slug,a.meta,a.description,...a.chips],e)):q}),pa=_(()=>Ma(Z.value)),$t=_(()=>K.value!==null),ma=_(()=>new Map(Z.value.map(e=>[e.name,e]))),ha=_(()=>{const e=I.value;return e&&[e.email||e.defaultOrgName,e.defaultOrgId?`org ${e.defaultOrgId}`:"",e.baseUrl||""].filter(Boolean).join(" · ")||r("Composio CLI shares the login and connections from this machine.")});function We(e){return e.trim().toLowerCase()}function va(e){return We(e).replace(/\s+\((synced|legacy)\)\s*$/iu,"").replace(/\s+\(.*?\)\s*$/u,"").replace(/[-_]+/gu," ").replace(/\s+plugin$/iu,"").replace(/\s+/gu," ").trim()}function Ct(...e){const a=new Set;for(const d of e){const w=va(d);w&&(a.add(w),a.add(w.replace(/\s+/gu,"")))}return Array.from(a)}function ga(e){return!e.isAccessible&&e.installUrl.trim().length===0}function ba(e){const a=e.id.trim();if(a){const w=V.value.find(j=>j.id===a);if(w)return w}const d=Ct(e.name);return V.value.find(w=>Ct(w.name).some(j=>d.includes(j)))??null}function wt(e){const a=ba(e);return a?ga(a):e.needsAuth&&e.installUrl.trim().length===0}function Xe(e,a){const d=We(a);return d?e.some(w=>w==null?void 0:w.toLowerCase().includes(d)):!0}function Ze(e,a){return a.reduce((d,[w,j])=>d+(w.test(e)?j:0),0)}function dt(e){return e.replace(/\s+\((synced|legacy)\)\s*$/iu,"").replace(/\s+\(.*?\)\s*$/u,"").trim()}function St(e){return dt(e).toLowerCase()}function ka(e){return e==="DEFAULT_OAI_CATALOG"?r("OpenAI catalog"):e==="ECOSYSTEM_DIRECTORY"?r("Ecosystem directory"):e?e.replace(/_/gu," ").toLowerCase().replace(/\b\w/gu,a=>a.toUpperCase()):""}function fa(e){return e.developer||ka(e.distributionChannel)||r("App")}function ut(e){var a;return((a=ma.value.get(e))==null?void 0:a.authStatus)??"unknown"}function _t(e){const a=ut(e);return r(a==="oAuth"?"Logged in":a==="bearerToken"?"Bearer token":a==="notLoggedIn"?"Login required":a==="unsupported"?"Auth unsupported":"Status unknown")}function $a(e){const a=ut(e);return a==="oAuth"||a==="bearerToken"?"is-ok":a==="notLoggedIn"?"is-warning":"is-muted"}function Ca(e){return e==="oAuth"||e==="bearerToken"?"mcp-skill-badge-ok":e==="notLoggedIn"?"mcp-skill-badge-warning":"mcp-skill-badge-muted"}function Lt(e){return bt.value&&ut(e)==="notLoggedIn"}function wa(e,a,d){return a==="popular"&&We(d).length===0?e.slice(0,ea):e}function Sa(e,a,d){if(a!=="popular"||We(d).length>0)return e;const w=new Set,j=[];for(const ge of e){const Pe=dt(ge.name).toLowerCase();if(!w.has(Pe)&&(w.add(Pe),j.push(ge),j.length>=ea))break}return j}function _a(e,a){return e.filter(d=>Xe([d.displayName,d.name,d.description,d.developerName,d.category,d.marketplaceDisplayName,...d.capabilities],a))}function La(e,a){return e.filter(d=>Xe([d.name,d.description,d.developer,d.category,d.distributionChannel,...d.pluginDisplayNames],a))}function Aa(e,a){return e.filter(d=>Xe([d.name,d.slug,d.description,...d.authModes,...d.connectionStatuses],a))}function At(e){return(e.installed?500:0)+(e.enabled?40:0)+(e.developerName.toLowerCase().includes("openai")?140:0)+(e.sourceType==="local"?80:0)+e.capabilities.length*12+Ze(`${e.displayName} ${e.name} ${e.description} ${e.category}`,u)}function Pt(e){const a=dt(e.name);return(e.isAccessible?1e4:0)+Ze(a,A)+(e.pluginDisplayNames.length>0?260:0)+(e.distributionChannel==="DEFAULT_OAI_CATALOG"?120:0)+(e.isEnabled?40:0)+(e.installUrl?20:0)+Ze(`${e.name} ${e.description} ${e.category} ${e.pluginDisplayNames.join(" ")}`,$)-e.catalogRank*.001}function It(e){return(e.authStatus==="oAuth"?180:0)+(e.authStatus==="bearerToken"?140:0)+Math.min(e.tools.length,50)*6+Math.min(e.resources.length+e.resourceTemplates.length,30)*3+Ze(e.name,c)}function Pa(e,a){return a==="name"?[...e].sort((d,w)=>d.displayName.localeCompare(w.displayName)):a==="date"?[...e]:[...e].sort((d,w)=>At(w)-At(d)||d.displayName.localeCompare(w.displayName))}function Ia(e,a){return a==="name"?[...e].sort((d,w)=>d.name.localeCompare(w.name)):a==="date"?[...e].sort((d,w)=>d.catalogRank-w.catalogRank):[...e].sort((d,w)=>Pt(w)-Pt(d)||d.name.localeCompare(w.name))}function Ma(e,a){return[...e].sort((d,w)=>It(w)-It(d)||d.name.localeCompare(w.name))}function T(e,a="success"){Se.value={text:e,type:a},Ve&&clearTimeout(Ve),Ve=setTimeout(()=>{Se.value=null},3e3)}function et(e){return e?e.startsWith("connectors://")?`/codex-api/connector-logo?src=${encodeURIComponent(e)}`:/^https?:\/\//i.test(e)||e.startsWith("data:")?e:e.startsWith("/")?`/codex-local-image?path=${encodeURIComponent(e)}`:"":""}function yt(e){return e?e.logoUrl||et(e.logoPath)||e.composerIconUrl||et(e.composerIconPath):""}function Fa(e){return et(e.logoUrlDark||e.logoUrl)}function Mt(e){return e.activeCount>0?`${e.activeCount} ${r("connected")} ${e.activeCount===1?r("account"):r("accounts")}`:e.isNoAuth?r("No auth required"):e.connectionStatuses.length>0?e.connectionStatuses.join(", "):e.authModes.join(", ")||r("Connection required")}function Ea(e){return e.isNoAuth||e.activeCount>0}function pt(e){return e.isNoAuth?"":e.activeCount>0?r("Manage"):e.totalConnections>0?r("Reconnect"):r("Connect")}function Ta(e){const a=e.trim().toUpperCase();return a==="ACTIVE"?r("Active"):a==="EXPIRED"?r("Expired"):a==="FAILED"?r("Failed"):a==="INITIATED"?r("Pending"):a||r("Unknown")}function Ua(e){const a=e.trim().toUpperCase();return a==="ACTIVE"?"is-ok":a==="INITIATED"?"is-warning":a==="EXPIRED"||a==="FAILED"?"is-error":"is-muted"}function Na(e){return`app:${e.id}:`}function Da(e){Le.value||M("try-item",{kind:"app",name:e.id,displayName:e.name})}function xa(e){return`plugin:${e.name}:`}function Ft(e){return`composio:${e}:`}function Oa(e){Le.value||M("try-item",{kind:"plugin",name:e.name,displayName:e.displayName})}function Et(e){return Ea(e)}function Ra(e,a=[]){const d=a.find(j=>j.status==="ACTIVE"&&!j.isDisabled),w=d!=null&&d.wordId?` If there are multiple accounts, prefer \`${d.wordId}\`.`:"";return`Use the Composio CLI skill with the ${e.name} connector (${e.slug}). Start by listing what it can do here, mention the current connection status, and suggest one safe command I can run now.${w}`}function Tt(e,a=[]){Le.value||M("try-item",{kind:"composio",name:e.slug,displayName:e.name,prompt:Ra(e,a),attachedSkills:[{name:"composio-cli",path:Kc}]})}function ne(e){const a=e.trim();/^https?:\/\//i.test(a)&&window.location.assign(a)}function Ba(e){const a=e.find(d=>d.needsAuth&&d.installUrl.trim().length>0);return a?(ne(a.installUrl),!0):!1}function Ga(e){return e.brandColor?{backgroundColor:e.brandColor,color:"#fff"}:{}}async function Ka(){try{C.value=new Set(await ks())}catch{C.value=new Set}finally{S.value=!0}}async function pe(){var e;if(vt.value){W.value=!0,Ge.value="";try{const a=(e=y.cwd)==null?void 0:e.trim(),[d]=await Promise.all([fs(a?[a]:void 0),Je.value?De():Promise.resolve()]);f.value=d}catch(a){Ge.value=a instanceof Error?a.message:"Failed to load plugins"}finally{W.value=!1}}}async function ja(){const e=g.value.trim();if(e){k.value=!0,v.value="add";try{await $s(e),g.value="",T("Marketplace added"),await pe()}catch(a){T(a instanceof Error?a.message:"Failed to add marketplace","error")}finally{k.value=!1,v.value=""}}}async function Ha(e){k.value=!0,v.value=`remove:${e}`;try{await Cs(e),T("Marketplace removed"),await pe()}catch(a){T(a instanceof Error?a.message:"Failed to remove marketplace","error")}finally{k.value=!1,v.value=""}}async function qa(){k.value=!0,v.value="upgrade";try{const e=await ws();e.errors.length>0?T(e.errors.join("; "),"error"):T(`Upgraded ${e.upgradedRoots.length||e.selectedMarketplaces.length||"all"} marketplace${e.upgradedRoots.length+e.selectedMarketplaces.length===1?"":"s"}`),await pe()}catch(e){T(e instanceof Error?e.message:"Failed to upgrade marketplaces","error")}finally{k.value=!1,v.value=""}}async function De(){var e;if(Je.value){he.value=!0,Ke.value="";try{V.value=await Ss(((e=y.threadId)==null?void 0:e.trim())||void 0)}catch(a){Ke.value=a instanceof Error?a.message:"Failed to load apps"}finally{he.value=!1}}}async function Ae(e=!1){if(fe.value){nt=!0;return}fe.value=!0,je.value="";try{const a=await _s();if(I.value=a,!a.available||!a.authenticated){D.value=[],K.value=null,Q.value=0;return}const d=e?K.value:null,w=await Ls(X.value,d,jc);D.value=e?[...D.value,...w.data]:w.data,K.value=w.nextCursor,Q.value=w.total}catch(a){je.value=a instanceof Error?a.message:"Failed to load Composio connectors",D.value=[],K.value=null,Q.value=0}finally{fe.value=!1,nt&&(nt=!1,Ae())}}async function za(){!$t.value||fe.value||await Ae(!0)}async function tt(){if(rt.value){Me.value=!0,He.value="";try{Z.value=await Jt()}catch(e){He.value=e instanceof Error?e.message:"Failed to load MCP servers"}finally{Me.value=!1}}}async function Ut(){var e;if(!(!rt.value||!((e=N.value)!=null&&e.mcpServers.length)))try{Z.value=await Jt()}catch{}}function Nt(e=!1){E.value==="plugins"&&pe(),E.value==="apps"&&De(),E.value==="composio"&&Ae(),E.value==="skills"&&(e&>.value?Ht():tt())}function Va(e){if(e==="app/list/updated"){De();return}(e==="mcpServer/startupStatus/updated"||e==="mcpServer/oauthLogin/completed")&&tt()}F({refreshFromNotification:Va});async function Qa(){ce.value=!0;try{E.value==="plugins"?await pe():E.value==="apps"?await De():E.value==="composio"?await Ae():E.value==="skills"&>.value?await Ht():E.value==="skills"&&await tt()}finally{ce.value=!1}}async function Dt(e){L.value=e,N.value=null,Ee.value="",ue.value=[],$e.value=!0,qe.value=!0;try{N.value=await As(e),L.value=N.value.summary,Je.value&&V.value.length===0&&await De(),await Ut()}catch(a){Ee.value=a instanceof Error?a.message:"Failed to load plugin"}finally{qe.value=!1}}async function xt(e){if(!bt.value)return!1;we.value=e;try{const a=await Ps(e);return a.authorizationUrl?(ne(a.authorizationUrl),!0):(T(r("No login URL returned for {name}",{name:e}),"error"),!1)}catch(a){return T(a instanceof Error?a.message:r("Failed to start login for {name}",{name:e}),"error"),!1}finally{we.value=""}}async function Wa(e){await Ut();const a=e.mcpServers.find(d=>Lt(d));a&&await xt(a)}function mt(){$e.value=!1}function Ot(){const e=L.value;return e?e.marketplacePath?`${e.marketplacePath.replace(/[\\/]+$/,"")}/${e.name}`:e.sourceUrl||"":""}async function Rt(){_e.value="",oe.value=!0,ie.value=!0;try{R.value=await Is()}catch(e){_e.value=e instanceof Error?e.message:"Failed to load plugin shares"}finally{ie.value=!1}}async function Ya(){const e=Ot();if(e){ee.value=!0,ye.value="save";try{const a=await Ms(e);T(a.shareUrl?"Plugin shared":"Plugin shared (no URL returned)"),await Rt()}catch(a){_e.value=a instanceof Error?a.message:"Failed to share plugin"}finally{ee.value=!1,ye.value=""}}}async function Ja(e){ee.value=!0,ye.value=`delete:${e}`;try{await Fs(e),R.value=R.value.filter(a=>a.remotePluginId!==e),T("Share removed")}catch(a){_e.value=a instanceof Error?a.message:"Failed to remove share"}finally{ee.value=!1,ye.value=""}}async function Xa(e){ee.value=!0,ye.value=`checkout:${e}`;try{await Es(e),T("Plugin checked out")}catch(a){_e.value=a instanceof Error?a.message:"Failed to checkout plugin"}finally{ee.value=!1,ye.value=""}}function Bt(){oe.value=!1}async function Gt(e){de.value=!0,ze.value=!0,Ce.value="",P.value=null;try{P.value=await Ts(e)}catch(a){Ce.value=a instanceof Error?a.message:"Failed to load Composio connector"}finally{ze.value=!1}}function Kt(){de.value=!1}async function Za(e){var a;ve.value=e.slug;try{const d=await Gs(e.slug);if(!d.redirectUrl){T(r("No login URL returned for {name}",{name:e.name}),"error");return}ne(d.redirectUrl),T(r("Opened {name} authorization",{name:e.name})),await Ae(),de.value&&((a=P.value)==null?void 0:a.connector.slug)===e.slug&&await Gt(e.slug)}catch(d){T(d instanceof Error?d.message:r("Failed to connect {name}",{name:e.name}),"error")}finally{ve.value=""}}async function jt(e){var a;if(e.activeCount>0&&((a=I.value)!=null&&a.webUrl)){ne(I.value.webUrl);return}await Za(e)}async function es(){Ue.value=!0;const e=window.open("about:blank","_blank");e&&(e.opener=null);try{const a=await Us();a.loginUrl&&e?e.location.href=a.loginUrl:a.loginUrl?ne(a.loginUrl):e==null||e.close(),T("Composio CLI login started")}catch(a){e==null||e.close(),T(a instanceof Error?a.message:"Failed to start Composio login","error")}finally{Ue.value=!1}}async function ts(){Te.value=!0;try{await Ns(),T("Composio CLI installed"),await Ae()}catch(e){T(e instanceof Error?e.message:"Failed to install Composio CLI","error")}finally{Te.value=!1}}async function as(){if(L.value&&!ct.value){Y.value=!0;try{const e=await Ds(L.value);ue.value=e.appsNeedingAuth,T(`${L.value.displayName} ${r("plugin installed")}`);const a=Ba(e.appsNeedingAuth);await pe();const d=f.value.find(w=>{var j;return w.id===((j=L.value)==null?void 0:j.id)});d&&(await Dt(d),!a&&N.value&&await Wa(N.value))}catch(e){T(e instanceof Error?e.message:"Failed to install plugin","error")}finally{Y.value=!1}}}async function ss(){if(L.value){Y.value=!0;try{const e=L.value.displayName;await xs(L.value.id),T(`${e} ${r("plugin uninstalled")}`),mt(),await pe()}catch(e){T(e instanceof Error?e.message:"Failed to uninstall plugin","error")}finally{Y.value=!1}}}async function ls(){if(L.value){Y.value=!0;try{const e=!L.value.enabled;await Os(L.value.id,e),L.value={...L.value,enabled:e},N.value&&(N.value={...N.value,summary:{...N.value.summary,enabled:e}}),T(`${L.value.displayName} ${r("plugin")} ${r(e?"enabled":"disabled")}`),await pe()}catch(e){T(e instanceof Error?e.message:"Failed to update plugin","error")}finally{Y.value=!1}}}async function os(e){Ne.value=e.id;try{const a=!e.isEnabled;await Rs(e.id,a),V.value=V.value.map(d=>d.id===e.id?{...d,isEnabled:a}:d),T(`${e.name} ${r("app")} ${r(a?"enabled":"disabled")}`)}catch(a){T(a instanceof Error?a.message:"Failed to update app","error")}finally{Ne.value=""}}async function Ht(){Be.value=!0;try{await Bs(),await tt(),T("MCP servers reloaded")}catch(e){T(e instanceof Error?e.message:"Failed to reload MCP servers","error")}finally{Be.value=!1}}function is(e){const a=new Set(O.value);a.has(e)?a.delete(e):a.add(e),O.value=a}return Ie(E,e=>{x.name==="skills"&&x.query.tab!==e&&H.replace({name:"skills",query:{...x.query,tab:e}}),Nt()}),Ie(()=>x.query.tab,()=>{if(x.name!=="skills")return;const e=te();E.value!==e&&(E.value=e)}),Ie(X,()=>{E.value==="composio"&&(D.value=[],K.value=null,Q.value=0,Qe&&clearTimeout(Qe),Qe=setTimeout(()=>{Ae()},250))}),Ie(()=>y.cwd,()=>{E.value==="plugins"&&pe()}),Ie(()=>y.threadId,()=>{(E.value==="apps"||E.value==="plugins")&&De()}),aa(async()=>{await Ka(),Nt()}),(e,a)=>{var d,w,j,ge,Pe,at,qt,zt,Vt,Qt;return l(),o("div",nr,[s("div",rr,[s("div",null,[s("h2",cr,i(n(r)("Skills"))+" & "+i(n(r)("Apps")),1),s("p",dr,i(la.value.subtitle),1)]),s("div",ur,[s("button",{class:"directory-refresh",type:"button",disabled:ce.value,onClick:Qa},i(ce.value?"Refreshing...":"Refresh"),9,yr)])]),s("div",pr,[(l(!0),o(U,null,B(G.value,m=>(l(),o("button",{key:m.id,class:J(["directory-tab",{"is-active":E.value===m.id}]),type:"button",role:"tab","aria-selected":E.value===m.id,onClick:Ye=>E.value=m.id},i(m.label),11,mr))),128))]),Se.value?(l(),o("div",{key:0,class:J(["directory-toast",{"is-error":Se.value.type==="error"}])},i(Se.value.text),3)):p("",!0),E.value==="plugins"?(l(),re(ri,{key:1,plugins:ra.value,"search-query":se.value,"sort-mode":me.value,"supports-plugins":vt.value,"supports-marketplace":oa.value,error:Ge.value,"is-loading":W.value,marketplaces:ca.value,"marketplace-source-url":g.value,"marketplace-action-name":v.value,"is-marketplace-action-in-flight":k.value,"plugin-icon-src":yt,"fallback-style":Ga,"open-plugin-detail":Dt,"add-marketplace":ja,"remove-marketplace":Ha,"upgrade-all-marketplaces":qa,"disabled-label":n(r)("Disabled"),"installed-label":n(r)("Installed"),"plugin-label":n(r)("Plugin"),"upgrade-all-label":n(r)("Upgrade all"),"upgrading-label":n(r)("Upgrading..."),"removing-label":n(r)("Removing..."),"remove-label":n(r)("Remove"),"adding-label":n(r)("Adding..."),"add-label":n(r)("Add"),"onUpdate:searchQuery":a[0]||(a[0]=m=>se.value=m),"onUpdate:sortMode":a[1]||(a[1]=m=>me.value=m),"onUpdate:marketplaceSourceUrl":a[2]||(a[2]=m=>g.value=m)},null,8,["plugins","search-query","sort-mode","supports-plugins","supports-marketplace","error","is-loading","marketplaces","marketplace-source-url","marketplace-action-name","is-marketplace-action-in-flight","disabled-label","installed-label","plugin-label","upgrade-all-label","upgrading-label","removing-label","remove-label","adding-label","add-label"])):E.value==="apps"?(l(),re(kl,{key:2,apps:da.value,"search-query":le.value,"sort-mode":ae.value,"supports-apps":Je.value,error:Ke.value,"is-loading":he.value,"action-id":Ne.value,"try-in-flight-key":y.tryInFlightKey,"is-try-action-in-flight":Le.value,"app-logo-src":Fa,"app-meta-label":fa,"app-try-key":Na,"toggle-app":os,"open-external-url":ne,"try-app":Da,"disabled-label":n(r)("Disabled"),"connected-label":n(r)("Connected"),"enable-label":n(r)("Enable"),"disable-label":n(r)("Disable"),"manage-label":n(r)("Manage"),"login-label":n(r)("Login"),"try-label":n(r)("Try it!"),"starting-label":n(r)("Starting..."),"onUpdate:searchQuery":a[3]||(a[3]=m=>le.value=m),"onUpdate:sortMode":a[4]||(a[4]=m=>ae.value=m)},null,8,["apps","search-query","sort-mode","supports-apps","error","is-loading","action-id","try-in-flight-key","is-try-action-in-flight","disabled-label","connected-label","enable-label","disable-label","manage-label","login-label","try-label","starting-label"])):E.value==="composio"?(l(),re(Po,{key:3,"composio-status":I.value,"search-query":X.value,"sort-mode":ke.value,error:je.value,"is-loading-composio":fe.value,"is-installing-composio":Te.value,"is-starting-composio-login":Ue.value,"visible-composio-connectors":ua.value,"visible-composio-preview-connectors":ya.value,"workspace-summary":ha.value,"connector-count":D.value.length,total:Q.value,"has-more-composio-connectors":$t.value,"action-slug":ve.value,"is-try-action-in-flight":Le.value,"try-in-flight-key":y.tryInFlightKey,"composio-meta-label":Mt,"composio-primary-action-label":pt,"can-try-composio":Et,"composio-try-key":Ft,"open-composio-detail":Gt,"run-composio-primary-action":jt,"try-composio":Tt,"install-composio-cli":ts,"start-composio-cli-login":es,"load-more-composio":za,"open-external-url":ne,"workspace-label":n(r)("Composio workspace"),"connected-label":n(r)("Connected"),"authenticated-label":n(r)("Authenticated"),"no-auth-label":n(r)("No auth"),"preview-label":n(r)("Preview"),"open-dashboard-label":n(r)("Open dashboard"),"details-label":n(r)("Details"),"install-label":n(r)("Install Composio"),"installing-label":n(r)("Installing..."),"login-label":n(r)("Login to Composio"),"opening-label":n(r)("Opening..."),"starting-label":n(r)("Starting..."),"try-label":n(r)("Try it!"),"load-more-label":n(r)("Load more"),"loading-label":n(r)("Loading..."),"onUpdate:searchQuery":a[5]||(a[5]=m=>X.value=m),"onUpdate:sortMode":a[6]||(a[6]=m=>ke.value=m)},null,8,["composio-status","search-query","sort-mode","error","is-loading-composio","is-installing-composio","is-starting-composio-login","visible-composio-connectors","visible-composio-preview-connectors","workspace-summary","connector-count","total","has-more-composio-connectors","action-slug","is-try-action-in-flight","try-in-flight-key","workspace-label","connected-label","authenticated-label","no-auth-label","preview-label","open-dashboard-label","details-label","install-label","installing-label","login-label","opening-label","starting-label","try-label","load-more-label","loading-label"])):E.value==="skills"?(l(),re(ir,{key:4,"try-in-flight-key":y.tryInFlightKey,"supports-mcps":rt.value,"mcp-error":He.value,"is-loading-mcps":Me.value,"visible-mcp-servers":pa.value,"is-mcp-section-open":Fe.value,"expanded-mcp-names":O.value,"format-mcp-auth-status":_t,"mcp-card-badge-class":Ca,"toggle-mcp-section-open":()=>{Fe.value=!Fe.value},"toggle-mcp-expanded":is,onSkillsChanged:a[7]||(a[7]=m=>M("skills-changed")),onTryItem:a[8]||(a[8]=m=>M("try-item",m))},null,8,["try-in-flight-key","supports-mcps","mcp-error","is-loading-mcps","visible-mcp-servers","is-mcp-section-open","expanded-mcp-names","toggle-mcp-section-open"])):p("",!0),(l(),re(st,{to:"body"},[$e.value?(l(),o("div",{key:0,class:"directory-modal-overlay",onClick:Oe(mt,["self"])},[s("article",hr,[s("div",vr,[s("div",gr,[L.value&&yt(L.value)?(l(),o("img",{key:0,class:"directory-card-icon",src:yt(L.value),alt:L.value.displayName,loading:"lazy"},null,8,br)):(l(),o("div",kr,i((d=L.value)==null?void 0:d.displayName.charAt(0)),1)),s("div",fr,[s("h3",$r,i(((w=L.value)==null?void 0:w.displayName)||n(r)("Plugin")),1),s("span",Cr,i(((j=L.value)==null?void 0:j.developerName)||((ge=L.value)==null?void 0:ge.marketplaceDisplayName)||((Pe=L.value)==null?void 0:Pe.marketplaceName)),1)])]),s("button",{class:"directory-modal-close",type:"button","aria-label":n(r)("Close plugin detail"),onClick:mt},i(n(r)("Close")),9,wr)]),s("div",Sr,[Ee.value?(l(),o("div",_r,i(Ee.value),1)):qe.value?(l(),o("div",Lr,"Loading plugin...")):N.value?(l(),o(U,{key:2},[kt.value?(l(),o("p",Ar,i(kt.value),1)):p("",!0),N.value.summary.capabilities.length>0?(l(),o("div",Pr,[a[13]||(a[13]=s("h4",{class:"directory-detail-heading"},"Capabilities",-1)),s("div",Ir,[(l(!0),o(U,null,B(N.value.summary.capabilities,m=>(l(),o("span",{key:m,class:"directory-chip"},i(m),1))),128))])])):p("",!0),s("div",Mr,[N.value.apps.length>0?(l(),o("div",Fr,[s("h4",Er,i(n(r)("Apps")),1),(l(!0),o(U,null,B(N.value.apps,m=>(l(),o("div",{key:m.id,class:"directory-include-row"},[s("span",null,i(m.name),1),wt(m)?(l(),o("span",Tr,"GPT Plus account required")):m.installUrl?(l(),o("button",{key:1,type:"button",onClick:Ye=>ne(m.installUrl)},i(m.needsAuth?"Login":"Manage"),9,Ur)):p("",!0)]))),128))])):p("",!0),N.value.skills.length>0?(l(),o("div",Nr,[s("h4",Dr,i(n(r)("Skills")),1),s("p",xr,i(N.value.skills.map(m=>m.displayName||m.name).join(", ")),1)])):p("",!0),N.value.mcpServers.length>0?(l(),o("div",Or,[a[14]||(a[14]=s("h4",{class:"directory-detail-heading"},"MCP servers",-1)),(l(!0),o(U,null,B(N.value.mcpServers,m=>(l(),o("div",{key:m,class:"directory-include-row"},[s("span",null,[lt(i(m)+" ",1),s("span",{class:J(["directory-auth-status",$a(m)])},i(_t(m)),3)]),Lt(m)?(l(),o("button",{key:0,type:"button",disabled:we.value===m,onClick:Ye=>xt(m)},i(we.value===m?"Opening...":"Authenticate"),9,Rr)):p("",!0)]))),128))])):p("",!0)]),ft.value.length>0?(l(),o("div",Br,[(l(!0),o(U,null,B(ft.value,m=>(l(),o("img",{key:m,src:m,alt:"",loading:"lazy"},null,8,Gr))),128))])):p("",!0),ue.value.length>0?(l(),o("div",Kr,[s("strong",null,i(n(r)("Apps needing auth")),1),(l(!0),o(U,null,B(ue.value,m=>(l(),o("div",{key:m.id,class:"directory-include-row"},[s("span",null,i(m.name),1),m.installUrl?(l(),o("button",{key:0,type:"button",onClick:Ye=>ne(m.installUrl)},i(n(r)("Login")),9,jr)):p("",!0)]))),128))])):p("",!0)],64)):p("",!0)]),s("div",Hr,[L.value&&L.value.installed?(l(),o("button",{key:0,class:"directory-action danger",type:"button",disabled:Y.value,onClick:ss},i(Y.value?"Uninstalling...":"Uninstall"),9,qr)):L.value&&!na.value?(l(),o("button",{key:1,class:"directory-action primary",type:"button",disabled:Y.value||L.value.installPolicy==="NOT_AVAILABLE"||ct.value,onClick:as},i(ct.value?"ChatGPT Plus":Y.value?"Installing...":"Install"),9,zr)):L.value?(l(),o("button",Vr," GPT Plus account required ")):p("",!0),L.value&&L.value.installed?(l(),o("button",{key:3,class:"directory-action",type:"button",disabled:Y.value,onClick:ls},i(L.value.enabled?"Disable":"Enable"),9,Qr)):p("",!0),L.value&&L.value.installed&&L.value.enabled?(l(),o("button",{key:4,class:"directory-action primary",type:"button",disabled:Y.value||Le.value,onClick:a[9]||(a[9]=m=>Oa(L.value))},i(y.tryInFlightKey===xa(L.value)?"Starting...":"Try it!"),9,Wr)):p("",!0),ia.value&&L.value&&L.value.installed?(l(),o("button",{key:5,class:"directory-action",type:"button",onClick:Rt},i(n(r)("Share")),1)):p("",!0)])])])):p("",!0)])),(l(),re(st,{to:"body"},[oe.value?(l(),o("div",{key:0,class:"directory-modal-overlay",onClick:Oe(Bt,["self"])},[s("article",Yr,[s("div",Jr,[s("div",Xr,[s("h3",Zr,i(n(r)("Plugin shares")),1),s("span",ec,i(((at=L.value)==null?void 0:at.displayName)||n(r)("Plugin")),1)]),s("button",{class:"directory-modal-close",type:"button","aria-label":n(r)("Close plugin shares"),onClick:Bt},i(n(r)("Close")),9,tc)]),s("div",ac,[_e.value?(l(),o("div",sc,i(_e.value),1)):ie.value?(l(),o("div",lc,"Loading shares...")):(l(),o(U,{key:2},[R.value.length===0?(l(),o("p",oc,"No shares yet. Share this plugin to make it available on other devices.")):(l(),o("div",ic,[(l(!0),o(U,null,B(R.value,m=>(l(),o("div",{key:m.remotePluginId,class:"directory-share-row"},[s("div",nc,[s("span",rc,i(m.pluginName),1),m.shareUrl?(l(),o("a",{key:0,class:"directory-share-link",href:m.shareUrl,target:"_blank",rel:"noreferrer"},i(m.shareUrl),9,cc)):p("",!0)]),s("button",{class:"directory-share-checkout",type:"button",disabled:ee.value,onClick:Ye=>Xa(m.remotePluginId)},i(ye.value===`checkout:${m.remotePluginId}`?n(r)("Checking out..."):n(r)("Checkout")),9,dc),s("button",{class:"directory-share-delete",type:"button",disabled:ee.value,onClick:Ye=>Ja(m.remotePluginId)},i(ye.value===`delete:${m.remotePluginId}`?n(r)("Removing..."):n(r)("Remove")),9,uc)]))),128))])),s("button",{class:"directory-action primary",type:"button",disabled:ee.value||!Ot(),onClick:Ya},i(ye.value==="save"?n(r)("Sharing..."):n(r)("Share this plugin")),9,yc)],64))])])])):p("",!0)])),(l(),re(st,{to:"body"},[de.value?(l(),o("div",{key:0,class:"directory-modal-overlay",onClick:Oe(Kt,["self"])},[s("article",pc,[s("div",mc,[s("div",hc,[(qt=P.value)!=null&&qt.connector.logoUrl?(l(),o("img",{key:0,class:"directory-card-icon",src:P.value.connector.logoUrl,alt:P.value.connector.name,loading:"lazy"},null,8,vc)):(l(),o("div",gc,i((zt=P.value)==null?void 0:zt.connector.name.charAt(0)),1)),s("div",bc,[s("h3",kc,i(((Vt=P.value)==null?void 0:Vt.connector.name)||"Composio"),1),s("span",fc,i(P.value?Mt(P.value.connector):n(r)("Connector")),1)])]),s("button",{class:"directory-modal-close",type:"button","aria-label":n(r)("Close Composio detail"),onClick:Kt},i(n(r)("Close")),9,$c)]),s("div",Cc,[Ce.value?(l(),o("div",wc,i(Ce.value),1)):ze.value?(l(),o("div",Sc,"Loading connector...")):P.value?(l(),o(U,{key:2},[P.value.connector.description?(l(),o("p",_c,i(P.value.connector.description),1)):p("",!0),s("div",Lc,[s("div",Ac,[a[15]||(a[15]=s("h4",{class:"directory-detail-heading"},"Overview",-1)),s("div",Pc,[s("span",Ic,i(P.value.connector.toolsCount)+" tools",1),P.value.connector.triggersCount>0?(l(),o("span",Mc,i(P.value.connector.triggersCount)+" triggers",1)):p("",!0),P.value.connector.latestVersion?(l(),o("span",Fc,"v"+i(P.value.connector.latestVersion),1)):p("",!0),P.value.connector.authModes.length>0?(l(),o("span",Ec,i(P.value.connector.authModes.join(", ")),1)):p("",!0)])]),s("div",Tc,[a[16]||(a[16]=s("h4",{class:"directory-detail-heading"},"Connections",-1)),P.value.connections.length===0?(l(),o("div",Uc," No linked accounts yet. ")):(l(),o("div",Nc,[(l(!0),o(U,null,B(P.value.connections,m=>(l(),o("div",{key:m.id,class:"directory-include-row"},[s("span",null,[lt(i(m.alias||m.wordId||m.id)+" ",1),s("span",{class:J(["directory-auth-status",Ua(m.status)])},i(Ta(m.status)),3)]),s("span",Dc,i(m.authScheme||"Auth"),1)]))),128))]))])]),P.value.tools.length>0?(l(),o("div",xc,[a[17]||(a[17]=s("h4",{class:"directory-detail-heading"},"Useful tools",-1)),(l(!0),o(U,null,B(P.value.tools.slice(0,8),m=>(l(),o("div",{key:m.slug,class:"directory-include-row"},[s("span",null,i(m.name||m.slug),1),s("span",Oc,i(m.slug),1)]))),128))])):p("",!0)],64)):p("",!0)]),s("div",Rc,[P.value?(l(),o("button",{key:0,class:"directory-action-link",type:"button",onClick:a[10]||(a[10]=m=>ne(P.value.dashboardUrl))}," Open dashboard ")):p("",!0),P.value&&pt(P.value.connector)?(l(),o("button",{key:1,class:"directory-action",type:"button",disabled:ve.value===P.value.connector.slug,onClick:a[11]||(a[11]=m=>jt(P.value.connector))},i(ve.value===((Qt=P.value)==null?void 0:Qt.connector.slug)?"Opening...":pt(P.value.connector)),9,Bc)):p("",!0),P.value&&Et(P.value.connector)?(l(),o("button",{key:2,class:"directory-action primary",type:"button",disabled:Le.value,onClick:a[12]||(a[12]=m=>Tt(P.value.connector,P.value.connections))},i(y.tryInFlightKey===Ft(P.value.connector.slug)?"Starting...":"Try it!"),9,Gc)):p("",!0)])])])):p("",!0)]))])}}});export{zc as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-631d6962],[data-v-631d6962]:before,[data-v-631d6962]:after,[data-v-631d6962]::backdrop{--tw-border-style:solid;--tw-font-weight:initial}}}.queued-messages[data-v-631d6962]{width:100%;max-width:min(var(--chat-column-max,45rem),100%);margin-inline:auto}.queued-messages-inner[data-v-631d6962]{border-top-left-radius:var(--radius-2xl,1rem);border-top-right-radius:var(--radius-2xl,1rem);border-inline-style:var(--tw-border-style);border-inline-width:1px;border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));background-color:#fafafacc;flex-direction:column;gap:1px;max-height:30dvh;display:flex;overflow-y:auto}@supports (color:color-mix(in lab,red,red)){.queued-messages-inner[data-v-631d6962]{background-color:color-mix(in oklab,var(--color-zinc-50,oklch(98.5% 0 none)) 80%,transparent)}}.queued-messages-inner[data-v-631d6962]{padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5)}.queued-row[data-v-631d6962]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-lg,.5rem);min-width:0;padding-block:var(--spacing,.25rem);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:flex}.queued-row.is-dragging[data-v-631d6962]{opacity:.5}.queued-row.is-drop-target[data-v-631d6962]{background-color:#e4e4e7b3}@supports (color:color-mix(in lab,red,red)){.queued-row.is-drop-target[data-v-631d6962]{background-color:color-mix(in oklab,var(--color-zinc-200,oklch(92% .004 286.32)) 70%,transparent)}}.queued-row-drag[data-v-631d6962]{height:calc(var(--spacing,.25rem) * 6);width:calc(var(--spacing,.25rem) * 6);cursor:grab;border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);color:var(--color-zinc-400,oklch(70.5% .015 286.067));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background-color:#0000;border-width:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.queued-row-drag[data-v-631d6962]:hover{background-color:var(--color-zinc-200,oklch(92% .004 286.32));color:var(--color-zinc-700,oklch(37% .013 285.805))}}.queued-row-drag[data-v-631d6962]:active{cursor:grabbing}.queued-row-icon[data-v-631d6962]{height:calc(var(--spacing,.25rem) * 4);width:calc(var(--spacing,.25rem) * 4);color:var(--color-zinc-400,oklch(70.5% .015 286.067));flex-shrink:0}.queued-row-text[data-v-631d6962]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-zinc-700,oklch(37% .013 285.805));flex:1;overflow:hidden}.queued-row-badge[data-v-631d6962]{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-amber-300,oklch(87.9% .169 91.605));background-color:var(--color-amber-50,oklch(98.7% .022 95.277));padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-font-weight:var(--font-weight-medium,500);font-size:10px;font-weight:var(--font-weight-medium,500);color:var(--color-amber-700,oklch(55.5% .163 48.998));border-radius:3.40282e38px;flex-shrink:0}.queued-row-actions[data-v-631d6962]{align-items:center;gap:var(--spacing,.25rem);flex-shrink:0;display:flex}.queued-row-steer[data-v-631d6962]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));background-color:var(--color-white,#fff);padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * .5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-700,oklch(37% .013 285.805));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}@media (hover:hover){.queued-row-steer[data-v-631d6962]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375))}}.queued-row-edit[data-v-631d6962]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));background-color:var(--color-white,#fff);padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * .5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-700,oklch(37% .013 285.805));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}@media (hover:hover){.queued-row-edit[data-v-631d6962]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375))}}.queued-row-delete[data-v-631d6962]{height:calc(var(--spacing,.25rem) * 6);width:calc(var(--spacing,.25rem) * 6);border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);color:var(--color-zinc-400,oklch(70.5% .015 286.067));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background-color:#0000;border-width:0;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover){.queued-row-delete[data-v-631d6962]:hover{background-color:var(--color-zinc-200,oklch(92% .004 286.32));color:var(--color-zinc-700,oklch(37% .013 285.805))}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as B,f as u,i as d,k as s,F as A,m as S,j as k,n as j,u as r,t as c,l as D,x as T,r as _,_ as V}from"./index-Dl8er1A_.js";const E={key:0,class:"queued-messages"},L={class:"queued-messages-inner"},z=["onDragstart","onDragover","onDragleave","onDrop"],F=["aria-label","title"],N={class:"queued-row-text"},Q={key:0,class:"queued-row-badge"},U={class:"queued-row-actions"},H=["title","onClick"],I=["title","onClick"],O=["aria-label","title","onClick"],P=B({__name:"QueuedMessages",props:{messages:{}},emits:["edit","steer","delete","reorder"],setup(h,{emit:q}){const C=q,{t:o}=T(),i=_(""),l=_("");function b(t,a){var e;i.value=a,l.value="",(e=t.dataTransfer)==null||e.setData("text/plain",a),t.dataTransfer&&(t.dataTransfer.effectAllowed="move")}function $(t){!i.value||i.value===t||(l.value=t)}function M(t){l.value===t&&(l.value="")}function x(t){const a=i.value;p(),!(!a||a===t)&&C("reorder",{draggedId:a,targetId:t})}function p(){i.value="",l.value=""}function y(t){var f,w,m;const a=t.text.trim();if(a)return a;const e=[],n=((f=t.imageUrls)==null?void 0:f.length)??0,g=((w=t.fileAttachments)==null?void 0:w.length)??0,v=((m=t.skills)==null?void 0:m.length)??0;return n>0&&e.push(`${n} ${o(n===1?"image":"images")}`),g>0&&e.push(`${g} ${o(g===1?"file":"files")}`),v>0&&e.push(`${v} ${o(v===1?"skill":"skills")}`),e.join(", ")||o("(empty queued message)")}return(t,a)=>h.messages.length>0?(u(),d("div",E,[s("div",L,[(u(!0),d(A,null,S(h.messages,e=>(u(),d("div",{key:e.id,class:j(["queued-row",{"is-dragging":i.value===e.id,"is-drop-target":l.value===e.id&&i.value!==e.id}]),draggable:"true",onDragstart:n=>b(n,e.id),onDragover:k(n=>$(e.id),["prevent"]),onDragleave:n=>M(e.id),onDrop:k(n=>x(e.id),["prevent"]),onDragend:p},[s("button",{class:"queued-row-drag",type:"button","aria-label":r(o)("Drag to reorder queued message"),title:r(o)("Drag to reorder queued message")},[...a[0]||(a[0]=[s("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"},[s("path",{fill:"currentColor",d:"M9 5.5A1.5 1.5 0 1 1 6 5.5a1.5 1.5 0 0 1 3 0m0 6.5a1.5 1.5 0 1 1-3 0a1.5 1.5 0 0 1 3 0m-1.5 8A1.5 1.5 0 1 0 7.5 17a1.5 1.5 0 0 0 0 3m10-13A1.5 1.5 0 1 0 17.5 4a1.5 1.5 0 0 0 0 3m1.5 5a1.5 1.5 0 1 1-3 0a1.5 1.5 0 0 1 3 0m-1.5 8a1.5 1.5 0 1 0 0-3a1.5 1.5 0 0 0 0 3"})],-1)])],8,F),a[2]||(a[2]=s("svg",{class:"queued-row-icon",xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"},[s("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})],-1)),s("span",N,c(y(e)),1),e.awaitingCompaction?(u(),d("span",Q,c(r(o)("Compacts context before send")),1)):D("",!0),s("div",U,[s("button",{class:"queued-row-edit",type:"button",title:r(o)("Edit queued message"),onClick:n=>t.$emit("edit",e.id)},c(r(o)("Edit")),9,H),s("button",{class:"queued-row-steer",type:"button",title:r(o)("Send now without interrupting work"),onClick:n=>t.$emit("steer",e.id)},c(r(o)("Steer")),9,I),s("button",{class:"queued-row-delete",type:"button","aria-label":r(o)("Delete queued message"),title:r(o)("Delete queued message"),onClick:n=>t.$emit("delete",e.id)},[...a[1]||(a[1]=[s("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"},[s("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M4 7h16M10 11v6M14 11v6M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2l1-12M9 7V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v3"})],-1)])],8,O)])],42,z))),128))])])):D("",!0)}}),J=V(P,[["__scopeId","data-v-631d6962"]]);export{J as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as Ze,H as Je,r as y,w as G,O as Qe,P as et,o as tt,f as o,h as at,q as Z,v as ke,k as a,n as se,u as c,j as ne,t as s,i as r,l as w,I as st,W as nt,F as C,m as E,y as U,p as N,s as ge,T as it,x as lt,c as b,X as ot,Y as rt,Z as ut,_ as dt}from"./index-Dl8er1A_.js";const ct={class:"review-pane-header"},vt={class:"review-pane-heading"},pt={class:"review-pane-eyebrow"},ht={class:"review-pane-title"},ft={class:"review-pane-header-actions"},wt=["aria-label"],mt={class:"review-pane-toolbar"},_t={class:"review-pane-toolbar-controls"},yt={key:0,class:"review-pane-control-cluster"},bt={class:"review-pane-control-label"},kt={class:"review-pane-segmented"},gt=["data-active"],Ct=["data-active","disabled"],Bt={key:1,class:"review-pane-control-cluster"},Ft={class:"review-pane-control-label"},St={key:2,class:"review-pane-control-cluster"},It={class:"review-pane-control-label"},xt={class:"review-pane-segmented"},Lt=["data-active"],$t=["data-active"],At={class:"review-pane-toolbar-actions"},Pt=["disabled"],Et={key:1,class:"review-pane-meta"},Rt={class:"review-pane-summary-pill review-pane-summary-pill-add"},Tt={class:"review-pane-summary-pill review-pane-summary-pill-remove"},Nt={key:0},Mt={key:1},Dt={key:2},Wt={class:"review-pane-content"},zt={key:0,class:"review-pane-empty"},Vt={class:"review-pane-empty-title"},Gt={key:1,class:"review-pane-empty"},Ut={class:"review-pane-empty-title"},Ht={class:"review-pane-empty-text"},Ot=["disabled"],Xt={key:2,class:"review-pane-empty"},Kt={class:"review-pane-empty-title"},jt={class:"review-pane-empty-text"},Yt={key:0,class:"review-pane-bulk-actions"},qt=["disabled","onClick"],Zt={key:1,class:"review-pane-empty"},Jt={class:"review-pane-empty-title"},Qt={class:"review-pane-empty-text"},ea={key:0,class:"review-pane-file-list"},ta=["data-expanded","onClick"],aa=["data-expanded"],sa={class:"review-pane-tree-folder-name"},na={class:"review-pane-tree-folder-count"},ia=["data-active","title","onClick"],la={class:"review-pane-file-meta-row"},oa={class:"review-pane-file-path"},ra={class:"review-pane-file-delta"},ua={class:"review-pane-delta-add"},da={class:"review-pane-delta-remove"},ca=["data-operation"],va={class:"review-pane-diff"},pa={class:"review-pane-file-header"},ha={class:"review-pane-file-header-main"},fa={class:"review-pane-file-title"},wa={class:"review-pane-file-subtitle"},ma={key:0,class:"review-pane-row-actions"},_a=["disabled","onClick"],ya={key:0,class:"review-pane-raw-diff"},ba={key:1,class:"review-pane-hunks"},ka=["data-active","onClick"],ga={class:"review-pane-hunk-header"},Ca={class:"review-pane-hunk-title"},Ba={class:"review-pane-hunk-meta"},Fa={key:0,class:"review-pane-row-actions"},Sa=["disabled","onClick"],Ia={class:"review-pane-lines"},xa=["data-kind"],La={class:"review-pane-line-number"},$a={class:"review-pane-line-number"},Aa={class:"review-pane-line-marker"},Pa={class:"review-pane-line-code"},Ea={class:"review-pane-sheet-header"},Ra={class:"review-pane-sheet-title"},Ta={class:"review-pane-sheet-count"},Na={class:"review-pane-sheet-list"},Ma=["data-expanded","onClick"],Da=["data-expanded"],Wa={class:"review-pane-tree-folder-name"},za={class:"review-pane-tree-folder-count"},Va=["data-active","title","onClick"],Ga={class:"review-pane-file-meta-row"},Ua={class:"review-pane-file-path"},Ha={class:"review-pane-file-delta"},Oa={class:"review-pane-delta-add"},Xa={class:"review-pane-delta-remove"},Ka=["data-operation"],Ce="codex-web-local.review-pane-file-list-width.v1",ja=220,Ya=420,Be=288,qa=Ze({__name:"ReviewPane",props:{threadId:{},cwd:{},isThreadInProgress:{type:Boolean},initialFilePath:{},commitSha:{}},emits:["close"],setup(Fe,{emit:Se}){const g=Fe,Ie=Se,{isMobile:B}=Je(),{t:l}=lt(),m=y("workspace"),F=y("unstaged"),d=y(null),x=y(""),H=y(!1),L=y(""),I=y(""),O=y(!1),J=y(!1),R=y(!1),X=y(!1),M=y(""),$=y(""),K=y("");let j=null,A=null;const k=b(()=>{var e,t;return((e=d.value)==null?void 0:e.files.find(u=>u.id===L.value))??((t=d.value)==null?void 0:t.files[0])??null}),T=y({}),S=b(()=>{var e;return!!((e=g.commitSha)!=null&&e.trim())}),xe=b(()=>{var e;return(((e=d.value)==null?void 0:e.baseBranchOptions)??[]).map(t=>({value:t,label:t}))}),Le=b(()=>{var e;return((e=d.value)==null?void 0:e.scope)==="commit"||S.value?l("No file changes in this commit."):m.value==="workspace"?l("Your current workspace is clean."):l("No merge diff found against the base branch.")});function ie(e){return e.trim().replace(/\\/g,"/")}function $e(e){const t=ie(e);return!t||!d.value?null:d.value.files.find(u=>[u.path,u.absolutePath,u.previousPath,u.previousAbsolutePath].some(v=>typeof v=="string"&&ie(v)===t))??null}function le(){const e=$e(g.initialFilePath??"");return e?(te(e.id),!0):!1}const Ae=b(()=>{var e,t;return(e=d.value)!=null&&e.isGitRepo?S.value?d.value.commitSha?`${l("Commit")} ${ye(d.value.commitSha)}`:l("Commit"):m.value==="workspace"?F.value==="staged"?l("Staged changes"):l("Workspace changes"):(t=d.value)!=null&&t.baseBranch?`${l("Against")} ${d.value.baseBranch}`:l("Base branch"):l("Repository review")}),oe=b(()=>{var e;return!S.value&&m.value==="workspace"&&((e=d.value)==null?void 0:e.isGitRepo)===!0&&d.value.files.length>0}),re=b(()=>oe.value&&!R.value),Pe=b(()=>F.value==="staged"?[{value:"unstage",label:l("Unstage all")}]:[{value:"stage",label:l("Stage all")},{value:"revert",label:l("Revert all")}]),Ee=b(()=>F.value==="staged"?[{value:"unstage",label:l("Unstage file")}]:[{value:"stage",label:l("Stage file")},{value:"revert",label:l("Revert file")}]),Re=b(()=>F.value==="staged"?[{value:"unstage",label:l("Unstage hunk")}]:[{value:"stage",label:l("Stage hunk")},{value:"revert",label:l("Revert hunk")}]),ue=b(()=>$.value||M.value||K.value),Te=b(()=>!!($.value||M.value)),Y=y(De()),Ne=b(()=>{const e={};return B.value||(e["--review-file-list-width"]=`${Y.value}px`),e}),de=b(()=>{var e;return Ge(((e=d.value)==null?void 0:e.files)??[],T.value)}),ce=b(()=>de.value.nodes),Me=b(()=>de.value.folderIdsByFileId);function Q(e){return Number.isFinite(e)?Math.min(Ya,Math.max(ja,Math.round(e))):Be}function De(){if(typeof window>"u")return Be;const e=window.localStorage.getItem(Ce),t=e?Number(e):Number.NaN;return Q(t)}function We(e){typeof window>"u"||window.localStorage.setItem(Ce,String(Q(e)))}function ze(e){if(B.value)return;e.preventDefault(),A==null||A();const t=e.clientX,u=Y.value,v=i=>{Y.value=Q(u+(i.clientX-t))},p=()=>{window.removeEventListener("pointermove",v),window.removeEventListener("pointerup",n),A=null},n=()=>{p(),We(Y.value)};window.addEventListener("pointermove",v),window.addEventListener("pointerup",n),A=p}function Ve(e){return e==="add"?"+":e==="remove"?"-":e==="hunk"?"@@":" "}function ve(e){const t=e.split("/").filter(Boolean);return t[t.length-1]??e}function pe(e,t){return e.localeCompare(t,void 0,{numeric:!0,sensitivity:"base"})}function Ge(e,t){const u={folders:new Map,files:[]},v={};for(const f of e){const _=f.path.split("/").filter(Boolean),W=_.pop()??f.path;let h=u,P="";const be=[];for(const[qe,z]of _.entries()){P=P?`${P}/${z}`:z;let V=h.folders.get(z);V||(V={id:P,name:z,depth:qe,folders:new Map,files:[]},h.folders.set(z,V)),h=V,be.push(V.id)}h.files.push({file:f,name:W,depth:_.length}),v[f.id]=be}const p=[],n=f=>f.files.length+Array.from(f.folders.values()).reduce((_,W)=>_+n(W),0),i=f=>{const _=Array.from(f.folders.values()).sort((h,P)=>pe(h.name,P.name)),W=[...f.files].sort((h,P)=>pe(h.name,P.name));for(const h of _)p.push({kind:"folder",treeKey:`folder:${h.id}`,id:h.id,name:h.name,depth:h.depth,fileCount:n(h)}),t[h.id]!==!1&&i(h);for(const h of W)p.push({kind:"file",treeKey:`file:${h.file.id}`,id:h.file.id,name:h.name,depth:h.depth,file:h.file})};return i(u),{nodes:p,folderIdsByFileId:v}}function D(e){return T.value[e]!==!1}function he(e){T.value={...T.value,[e]:!D(e)}}function fe(e){const t=Me.value[e]??[];if(t.length===0)return;const u={...T.value};let v=!1;for(const p of t)u[p]===!1&&(u[p]=!0,v=!0);v&&(T.value=u)}function we(e){const t=B.value?8:10,u=B.value?12:14;return{paddingLeft:`${t+e*u}px`}}function me(){return{paddingLeft:B.value?"8px":"10px"}}function ee(e){return l(e==="add"?"Added":e==="delete"?"Deleted":e==="rename"?"Renamed":"Modified")}function Ue(e){const t=e.params!==null&&typeof e.params=="object"&&!Array.isArray(e.params)?e.params:null;return typeof(t==null?void 0:t.threadId)=="string"?t.threadId:""}async function q(){var e,t,u,v;if(g.cwd.trim()){J.value=!0,M.value="";try{const p=m.value==="baseBranch"?x.value.trim():"",n=((e=g.commitSha)==null?void 0:e.trim())??"",i=await ot(g.cwd,S.value?"commit":m.value,F.value,p||null,n||null);if(i.baseBranchOptions.length>0){const _=i.baseBranch??i.baseBranchOptions[0]??"";x.value!==_&&(H.value=!0,x.value=_)}else x.value!==""&&(H.value=!0,x.value="");d.value=i;const f=i.files.some(_=>_.id===L.value);!le()&&!f&&(L.value=((t=i.files[0])==null?void 0:t.id)??"",I.value=((v=(u=i.files[0])==null?void 0:u.hunks[0])==null?void 0:v.id)??"")}catch(p){M.value=p instanceof Error?p.message:"Failed to load review snapshot"}finally{J.value=!1}}}async function _e(){await q()}function He(){Ie("close")}function te(e){var u,v;fe(e),L.value=e;const t=((u=d.value)==null?void 0:u.files.find(p=>p.id===e))??null;I.value=((v=t==null?void 0:t.hunks[0])==null?void 0:v.id)??"",B.value&&(O.value=!1)}function ye(e){return e.trim().slice(0,7)}async function ae(e,t,u=""){var v,p,n;if(d.value){R.value=!0,$.value="";try{const i=await ut({cwd:g.cwd,scope:m.value,workspaceView:F.value,action:e,level:t,patch:u});d.value=i,i.files.some(_=>_.id===L.value)||(L.value=((v=i.files[0])==null?void 0:v.id)??"",I.value=((n=(p=i.files[0])==null?void 0:p.hunks[0])==null?void 0:n.id)??"")}catch(i){$.value=i instanceof Error?i.message:"Failed to apply review action"}finally{R.value=!1}}}async function Oe(e){await ae(e,"all")}async function Xe(e,t){await ae(e,"file",t.diff)}async function Ke(e,t){I.value=t.id,await ae(e,"hunk",t.patch)}async function je(){if(g.cwd.trim()){X.value=!0,$.value="";try{await rt(g.cwd),await q()}catch(e){$.value=e instanceof Error?e.message:"Failed to initialize Git"}finally{X.value=!1}}}function Ye(e){if(Ue(e)!==g.threadId)return;const t=e.params!==null&&typeof e.params=="object"&&!Array.isArray(e.params)?e.params:null,u=(t==null?void 0:t.item)!==null&&typeof(t==null?void 0:t.item)=="object"&&!Array.isArray(t.item)?t.item:null,v=typeof(u==null?void 0:u.type)=="string"?u.type:"";if(e.method==="item/started"&&v==="enteredReviewMode"){K.value=typeof(u==null?void 0:u.review)=="string"?u.review:"Review in progress";return}e.method==="item/completed"&&v==="exitedReviewMode"&&(K.value="")}return G(()=>[g.threadId,g.cwd,g.commitSha],()=>{S.value&&(m.value="workspace"),L.value="",I.value="",$.value="",K.value="",_e()},{immediate:!0}),G(()=>[g.initialFilePath,g.commitSha],()=>{le()}),G(()=>[m.value,F.value],()=>{L.value="",I.value="",$.value="",M.value="",q()}),G(x,(e,t)=>{if(H.value){H.value=!1;return}m.value==="baseBranch"&&(!e||e===t||q())}),G(k,e=>{var t;e&&(fe(e.id),e.hunks.some(u=>u.id===I.value)||(I.value=((t=e.hunks[0])==null?void 0:t.id)??""))}),Qe(()=>{j=et(Ye)}),tt(()=>{j&&(j(),j=null),A==null||A()}),(e,t)=>(o(),at(it,{to:"body"},[Z(ge,{name:"review-pane-modal"},{default:ke(()=>{var u,v,p;return[a("div",{class:se(["review-pane-backdrop",{"is-mobile":c(B)}]),onClick:He},[a("section",{class:se(["review-pane",{"is-mobile":c(B)}]),onPointerdown:t[9]||(t[9]=ne(()=>{},["stop"])),onClick:t[10]||(t[10]=ne(()=>{},["stop"]))},[a("header",ct,[a("div",vt,[a("p",pt,s(c(l)("Review")),1),a("p",ht,s(Ae.value),1)]),a("div",ft,[c(B)&&((u=d.value)!=null&&u.files.length)?(o(),r("button",{key:0,type:"button",class:"review-pane-mobile-files-button",onClick:t[0]||(t[0]=n=>O.value=!0)},s(c(l)("Files")),1)):w("",!0),a("button",{type:"button",class:"review-pane-close","aria-label":c(l)("Close review pane"),onClick:t[1]||(t[1]=n=>e.$emit("close"))},[Z(st,{class:"icon-svg"})],8,wt)])]),a("div",mt,[a("div",_t,[S.value?w("",!0):(o(),r("div",yt,[a("span",bt,s(c(l)("Compare")),1),a("div",kt,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":m.value==="workspace",onClick:t[2]||(t[2]=n=>m.value="workspace")},s(c(l)("Workspace")),9,gt),a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":m.value==="baseBranch",disabled:!((v=d.value)!=null&&v.baseBranch),onClick:t[3]||(t[3]=n=>m.value="baseBranch")},s(c(l)("Base branch")),9,Ct)])])),!S.value&&m.value==="baseBranch"&&((p=d.value)!=null&&p.baseBranchOptions.length)?(o(),r("div",Bt,[a("span",Ft,s(c(l)("Branch")),1),Z(nt,{modelValue:x.value,"onUpdate:modelValue":t[4]||(t[4]=n=>x.value=n),class:"review-pane-branch-dropdown",options:xe.value,placeholder:c(l)("Branch"),"enable-search":"","search-placeholder":c(l)("Search branches...")},null,8,["modelValue","options","placeholder","search-placeholder"])])):w("",!0),!S.value&&m.value==="workspace"?(o(),r("div",St,[a("span",It,s(c(l)("Changes")),1),a("div",xt,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":F.value==="unstaged",onClick:t[5]||(t[5]=n=>F.value="unstaged")},s(c(l)("Unstaged")),9,Lt),a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":F.value==="staged",onClick:t[6]||(t[6]=n=>F.value="staged")},s(c(l)("Staged")),9,$t)])])):w("",!0)]),a("div",At,[a("button",{type:"button",class:"review-pane-refresh",disabled:J.value,onClick:_e},s(c(l)("Refresh")),9,Pt)])]),ue.value?(o(),r("div",{key:0,class:se(["review-pane-banner",{"is-error":Te.value}])},s(ue.value),3)):w("",!0),d.value?(o(),r("div",Et,[a("span",null,s(d.value.summary.fileCount)+" "+s(c(l)("files")),1),a("span",Rt,"+"+s(d.value.summary.addedLineCount),1),a("span",Tt,"-"+s(d.value.summary.removedLineCount),1),d.value.headBranch?(o(),r("span",Nt,s(d.value.headBranch),1)):w("",!0),S.value&&d.value.commitSha?(o(),r("span",Mt,s(ye(d.value.commitSha)),1)):w("",!0),!S.value&&m.value==="baseBranch"&&d.value.baseBranch?(o(),r("span",Dt,"vs "+s(d.value.baseBranch),1)):w("",!0)])):w("",!0),a("div",Wt,[d.value?d.value.isGitRepo?!S.value&&m.value==="baseBranch"&&!d.value.baseBranch?(o(),r("div",Xt,[a("p",Kt,s(c(l)("Base branch unavailable")),1),a("p",jt,s(c(l)("Could not resolve `origin/HEAD`, `main`, or `master` for this repository.")),1)])):(o(),r(C,{key:3},[oe.value?(o(),r("div",Yt,[(o(!0),r(C,null,E(Pe.value,n=>(o(),r("button",{key:n.value,type:"button",class:"review-pane-bulk-button",disabled:R.value,onClick:i=>Oe(n.value)},s(n.label),9,qt))),128))])):w("",!0),d.value.files.length?(o(),r("div",{key:2,class:"review-pane-main",style:U(Ne.value)},[c(B)?w("",!0):(o(),r("aside",ea,[(o(!0),r(C,null,E(ce.value,n=>{var i;return o(),r(C,{key:n.treeKey},[n.kind==="folder"?(o(),r("button",{key:0,type:"button",class:"review-pane-tree-folder",style:U(we(n.depth)),"data-expanded":D(n.id),onClick:f=>he(n.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":D(n.id)},null,8,aa),a("span",sa,s(n.name),1),a("span",na,s(n.fileCount),1)],12,ta)):(o(),r("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:U(me()),"data-active":((i=k.value)==null?void 0:i.id)===n.file.id,title:n.file.path,onClick:f=>te(n.file.id)},[a("span",la,[a("span",oa,[N(s(n.name)+" ",1),n.file.previousPath?(o(),r(C,{key:0},[N(" ← "+s(ve(n.file.previousPath)),1)],64)):w("",!0)]),a("span",ra,[a("span",ua,"+"+s(n.file.addedLineCount),1),t[11]||(t[11]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",da,"-"+s(n.file.removedLineCount),1)])]),a("span",{class:"review-pane-file-op","data-operation":n.file.operation},s(ee(n.file.operation)),9,ca)],12,ia))],64)}),128))])),c(B)?w("",!0):(o(),r("div",{key:1,class:"review-pane-resizer",role:"separator","aria-orientation":"vertical","aria-label":"Resize file list",onPointerdown:ze},null,32)),a("section",va,[k.value?(o(),r(C,{key:0},[a("div",pa,[a("div",ha,[a("p",fa,[N(s(k.value.path)+" ",1),k.value.previousPath?(o(),r(C,{key:0},[N(" ← "+s(k.value.previousPath),1)],64)):w("",!0)]),a("p",wa,s(ee(k.value.operation))+" · +"+s(k.value.addedLineCount)+" / -"+s(k.value.removedLineCount),1)]),re.value?(o(),r("div",ma,[(o(!0),r(C,null,E(Ee.value,n=>(o(),r("button",{key:`${k.value.id}:${n.value}`,type:"button",class:"review-pane-row-button",disabled:R.value,onClick:i=>Xe(n.value,k.value)},s(n.label),9,_a))),128))])):w("",!0)]),k.value.hunks.length===0?(o(),r("div",ya,[a("pre",null,s(k.value.diff||"No unified diff available."),1)])):(o(),r("div",ba,[(o(!0),r(C,null,E(k.value.hunks,n=>(o(),r("article",{key:n.id,class:"review-pane-hunk","data-active":I.value===n.id,onClick:i=>I.value=n.id},[a("div",ga,[a("div",null,[a("p",Ca,s(n.header),1),a("p",Ba,"+"+s(n.addedLineCount)+" / -"+s(n.removedLineCount),1)]),re.value?(o(),r("div",Fa,[(o(!0),r(C,null,E(Re.value,i=>(o(),r("button",{key:`${n.id}:${i.value}`,type:"button",class:"review-pane-row-button",disabled:R.value,onClick:f=>Ke(i.value,n)},s(i.label),9,Sa))),128))])):w("",!0)]),a("div",Ia,[(o(!0),r(C,null,E(n.lines,i=>(o(),r("div",{key:i.key,class:"review-pane-line","data-kind":i.kind},[a("span",La,s(i.oldLine??""),1),a("span",$a,s(i.newLine??""),1),a("span",Aa,s(Ve(i.kind)),1),a("code",Pa,s(i.text||" "),1)],8,xa))),128))])],8,ka))),128))]))],64)):w("",!0)])],4)):(o(),r("div",Zt,[a("p",Jt,s(c(l)("No changes in this scope")),1),a("p",Qt,s(Le.value),1)]))],64)):(o(),r("div",Gt,[a("p",Ut,s(c(l)("This folder is not a Git repository")),1),a("p",Ht,s(c(l)("Initialize Git to review local changes and run Codex review.")),1),a("button",{type:"button",class:"review-pane-primary-cta",disabled:X.value,onClick:je},s(X.value?c(l)("Initializing…"):c(l)("Initialize Git")),9,Ot)])):(o(),r("div",zt,[a("p",Vt,s(c(l)("Loading review state")),1)]))]),Z(ge,{name:"review-pane-sheet"},{default:ke(()=>{var n;return[c(B)&&O.value&&((n=d.value)!=null&&n.files.length)?(o(),r("div",{key:0,class:"review-pane-sheet-backdrop",onClick:t[8]||(t[8]=i=>O.value=!1)},[a("div",{class:"review-pane-sheet",onClick:t[7]||(t[7]=ne(()=>{},["stop"]))},[t[13]||(t[13]=a("div",{class:"review-pane-sheet-handle","aria-hidden":"true"},null,-1)),a("div",Ea,[a("p",Ra,s(c(l)("Changed files")),1),a("p",Ta,s(d.value.files.length),1)]),a("div",Na,[(o(!0),r(C,null,E(ce.value,i=>{var f;return o(),r(C,{key:`sheet:${i.treeKey}`},[i.kind==="folder"?(o(),r("button",{key:0,type:"button",class:"review-pane-tree-folder review-pane-tree-folder-sheet",style:U(we(i.depth)),"data-expanded":D(i.id),onClick:_=>he(i.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":D(i.id)},null,8,Da),a("span",Wa,s(i.name),1),a("span",za,s(i.fileCount),1)],12,Ma)):(o(),r("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:U(me()),"data-active":((f=k.value)==null?void 0:f.id)===i.file.id,title:i.file.path,onClick:_=>te(i.file.id)},[a("span",Ga,[a("span",Ua,[N(s(i.name)+" ",1),i.file.previousPath?(o(),r(C,{key:0},[N(" ← "+s(ve(i.file.previousPath)),1)],64)):w("",!0)]),a("span",Ha,[a("span",Oa,"+"+s(i.file.addedLineCount),1),t[12]||(t[12]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",Xa,"-"+s(i.file.removedLineCount),1)])]),a("span",{class:"review-pane-file-op","data-operation":i.file.operation},s(ee(i.file.operation)),9,Ka)],12,Va))],64)}),128))])])])):w("",!0)]}),_:1})],34)],2)]}),_:1})]))}}),Ja=dt(qa,[["__scopeId","data-v-e9fd9327"]]);export{Ja as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as u,w as _,aC as g,f as a,i as r,k as i,t,u as n,l as w,x as m,r as p,c as y,_ as k}from"./index-Dl8er1A_.js";const b={class:"right-file-preview"},x={class:"right-file-preview-header"},F={class:"right-file-preview-title-wrap"},P={class:"right-file-preview-title"},L={class:"right-file-preview-path"},B=["href"],C={class:"right-file-preview-body"},E={key:0,class:"right-file-preview-empty"},I={key:1,class:"right-file-preview-empty is-error"},R=["src","alt"],U={key:3,class:"right-file-preview-code"},N={key:4,class:"right-file-preview-empty"},O=["href"],S={key:0,class:"right-file-preview-footer"},T=u({__name:"RightFilePreview",props:{filePath:{},name:{}},setup(c){const f=c,{t:l}=m(),e=p(null),h=p(!1),v=p(""),d=y(()=>{const s=f.filePath.replace(/\\/g,"/"),o=s.startsWith("/")?s:`/${s}`;return`/codex-local-browse${encodeURI(o)}`});return _(()=>f.filePath,async s=>{if(e.value=null,v.value="",!!s){h.value=!0;try{e.value=await g(s)}catch(o){v.value=o instanceof Error?o.message:"Failed to preview file"}finally{h.value=!1}}},{immediate:!0}),(s,o)=>(a(),r("div",b,[i("div",x,[i("div",F,[i("span",P,t(c.name),1),i("span",L,t(c.filePath),1)]),i("a",{class:"right-file-preview-open",href:d.value,target:"_blank",rel:"noopener noreferrer"},t(n(l)("Open in browser")),9,B)]),i("div",C,[h.value?(a(),r("div",E,t(n(l)("Loading file…")),1)):v.value?(a(),r("div",I,t(v.value),1)):e.value&&e.value.isImage?(a(),r("img",{key:2,class:"right-file-preview-image",src:d.value,alt:c.name},null,8,R)):e.value&&e.value.isText&&e.value.content!==void 0?(a(),r("pre",U,t(e.value.content),1)):(a(),r("div",N,[i("p",null,t(n(l)("This file type cannot be previewed.")),1),i("a",{class:"right-file-preview-open",href:d.value,target:"_blank",rel:"noopener noreferrer"},t(n(l)("Open in browser")),9,O)]))]),e.value&&e.value.truncated?(a(),r("div",S,t(n(l)("File is large; showing the first part.")),1)):w("",!0)]))}}),$=k(T,[["__scopeId","data-v-11e988a2"]]);export{$ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-11e988a2],[data-v-11e988a2]:before,[data-v-11e988a2]:after,[data-v-11e988a2]::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-leading:initial}}}.right-file-preview[data-v-11e988a2]{flex-direction:column;height:100%;min-height:0;display:flex}.right-file-preview-header[data-v-11e988a2]{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);flex-shrink:0;display:flex}.right-file-preview-title-wrap[data-v-11e988a2]{gap:calc(var(--spacing,.25rem) * .5);flex-direction:column;flex:1;min-width:0;display:flex}.right-file-preview-title[data-v-11e988a2]{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-900,oklch(21% .006 285.885));overflow:hidden}.right-file-preview-path[data-v-11e988a2]{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);--tw-leading:calc(var(--spacing,.25rem) * 4);font-size:10px;line-height:calc(var(--spacing,.25rem) * 4);color:var(--color-zinc-400,oklch(70.5% .015 286.067));overflow:hidden}.right-file-preview-open[data-v-11e988a2]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:var(--spacing,.25rem);--tw-font-weight:var(--font-weight-medium,500);font-size:11px;font-weight:var(--font-weight-medium,500);color:var(--color-zinc-600,oklch(44.2% .017 285.786));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));flex-shrink:0}@media (hover:hover){.right-file-preview-open[data-v-11e988a2]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375))}}.right-file-preview-body[data-v-11e988a2]{background-color:var(--color-slate-50,oklch(98.4% .003 247.858));flex:1;min-height:0;overflow:auto}.right-file-preview-image[data-v-11e988a2]{object-fit:contain;width:100%;max-height:100%;display:block}.right-file-preview-code[data-v-11e988a2]{background-color:var(--color-zinc-950,oklch(14.1% .005 285.823));min-height:100%;padding:calc(var(--spacing,.25rem) * 3);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);--tw-leading:calc(var(--spacing,.25rem) * 5);font-size:11px;line-height:calc(var(--spacing,.25rem) * 5);white-space:pre;color:var(--color-zinc-100,oklch(96.7% .001 286.375));margin:0}.right-file-preview-empty[data-v-11e988a2]{align-items:center;gap:calc(var(--spacing,.25rem) * 3);padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 8);text-align:center;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-500,oklch(55.2% .016 285.938));flex-direction:column;display:flex}.right-file-preview-empty.is-error[data-v-11e988a2]{color:var(--color-red-600,oklch(57.7% .245 27.325))}.right-file-preview-footer[data-v-11e988a2]{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);text-align:center;color:var(--color-zinc-400,oklch(70.5% .015 286.067));flex-shrink:0;font-size:11px}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as E,O as T,w as O,f as o,i as r,k as d,a2 as U,a3 as V,u as P,t as u,F as q,m as z,y as I,x as Q,r as m,c as C,aB as W,_ as j}from"./index-Dl8er1A_.js";const A={class:"right-files-panel"},G={class:"rfp-toolbar"},H=["placeholder"],J={key:0,class:"rfp-empty"},K={key:1,class:"rfp-empty is-error"},X={key:2,class:"rfp-empty"},Y={key:3,class:"rfp-groups"},Z=["aria-expanded","onClick"],ee={class:"rfp-dir-chevron","aria-hidden":"true"},te={class:"rfp-dir-icon","aria-hidden":"true"},ne={class:"rfp-dir-name"},ae=["title","onClick"],se={class:"rfp-file-label"},ie=E({__name:"RightFilesPanel",props:{cwd:{}},emits:["open-preview"],setup(D,{emit:L}){const w=D,S=L,{t:y}=Q(),_=m([]),k=m(!1),f=m(""),h=m(""),v=m(new Set);function x(n){return n.sort((e,t)=>e.kind!==t.kind?e.kind==="dir"?-1:1:e.name.localeCompare(t.name,void 0,{numeric:!0,sensitivity:"base"}))}function B(n){const e=[],t=new Map;function l(s){let a="",i=e;for(const c of s){a=a?`${a}/${c}`:c;let p=t.get(a);p||(p={name:c,path:"",relativePath:a,kind:"dir",children:[]},t.set(a,p),i.push(p)),i=p.children}return t.get(a)}for(const s of n){const a=s.relativePath.split("/").filter(Boolean);if(a.length===0)continue;if(s.isDirectory){const R=l(a);R.path=s.path;continue}const i=a[a.length-1],c=a.slice(0,-1);(c.length>0?l(c).children:e).push({name:i,path:s.path,relativePath:s.relativePath,kind:"file",children:[]})}x(e);for(const s of t.values())x(s.children);return e}const N=C(()=>B(_.value)),b=C(()=>{const n=h.value.trim().toLowerCase(),e=[];function t(s){return!n||s.relativePath.toLowerCase().includes(n)?!0:s.children.some(t)}function l(s,a){for(const i of s){if(n&&!t(i)||(e.push({node:i,depth:a}),i.kind==="file"))continue;(n?!0:!v.value.has(i.relativePath))&&l(i.children,a+1)}}return l(N.value,0),e});function g(n){return h.value.trim()?!0:!v.value.has(n)}function $(n){const e=new Set(v.value);e.has(n)?e.delete(n):e.add(n),v.value=e}function M(n){S("open-preview",{path:n.path,label:n.name})}async function F(){const n=w.cwd.trim();if(!n){_.value=[],f.value="";return}k.value=!0,f.value="";try{_.value=await W(n)}catch(e){_.value=[],f.value=e instanceof Error?e.message:"Failed to load workspace files"}finally{k.value=!1}}return T(()=>{F()}),O(()=>w.cwd,()=>{v.value=new Set,h.value="",F()}),(n,e)=>(o(),r("div",A,[d("div",G,[U(d("input",{"onUpdate:modelValue":e[0]||(e[0]=t=>h.value=t),class:"rfp-search",type:"text",placeholder:P(y)("Filter files...")},null,8,H),[[V,h.value]])]),k.value?(o(),r("div",J,u(P(y)("Loading files...")),1)):f.value?(o(),r("div",K,u(f.value),1)):b.value.length===0?(o(),r("div",X,u(P(y)("No files in workspace.")),1)):(o(),r("div",Y,[(o(!0),r(q,null,z(b.value,t=>(o(),r("div",{key:t.node.relativePath,class:"rfp-row",style:I({paddingLeft:`${t.depth*12+6}px`})},[t.node.kind==="dir"?(o(),r("button",{key:0,class:"rfp-dir",type:"button","aria-expanded":g(t.node.relativePath),onClick:l=>$(t.node.relativePath)},[d("span",ee,u(g(t.node.relativePath)?"▾":"▸"),1),d("span",te,u(g(t.node.relativePath)?"📂":"📁"),1),d("span",ne,u(t.node.name),1)],8,Z)):(o(),r("button",{key:1,class:"rfp-file",type:"button",title:t.node.relativePath,onClick:l=>M(t.node)},[e[1]||(e[1]=d("span",{class:"rfp-file-icon","aria-hidden":"true"},"📄",-1)),d("span",se,u(t.node.name),1)],8,ae))],4))),128))]))]))}}),re=j(ie,[["__scopeId","data-v-686d6084"]]);export{re as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-686d6084],[data-v-686d6084]:before,[data-v-686d6084]:after,[data-v-686d6084]::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-leading:initial}}}.right-files-panel[data-v-686d6084]{flex-direction:column;height:100%;min-height:0;display:flex}.rfp-toolbar[data-v-686d6084]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));padding:calc(var(--spacing,.25rem) * 2);flex-shrink:0}.rfp-search[data-v-686d6084]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);width:100%;padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:var(--spacing,.25rem);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-800,oklch(27.4% .006 286.033));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-outline-style:none;outline-style:none}.rfp-search[data-v-686d6084]:focus{border-color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.rfp-groups[data-v-686d6084]{min-height:0;padding:calc(var(--spacing,.25rem) * 1.5);flex:1;overflow-y:auto}.rfp-row[data-v-686d6084]{margin-bottom:1px}.rfp-dir[data-v-686d6084]{align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);width:100%;padding-inline:var(--spacing,.25rem);padding-block:var(--spacing,.25rem);text-align:left;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-700,oklch(37% .013 285.805));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background-color:#0000;border-width:0;display:flex}@media (hover:hover){.rfp-dir[data-v-686d6084]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375))}}.rfp-dir-chevron[data-v-686d6084]{width:calc(var(--spacing,.25rem) * 3);color:var(--color-zinc-400,oklch(70.5% .015 286.067));flex-shrink:0}.rfp-dir-icon[data-v-686d6084]{--tw-leading:1;flex-shrink:0;font-size:11px;line-height:1}.rfp-dir-name[data-v-686d6084]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rfp-file[data-v-686d6084]{align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);min-width:0;padding-inline:var(--spacing,.25rem);padding-block:var(--spacing,.25rem);text-align:left;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background-color:#0000;border-width:0;display:flex}@media (hover:hover){.rfp-file[data-v-686d6084]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375))}}.rfp-file-icon[data-v-686d6084]{--tw-leading:1;color:var(--color-zinc-400,oklch(70.5% .015 286.067));flex-shrink:0;font-size:11px;line-height:1}.rfp-file-label[data-v-686d6084]{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-800,oklch(27.4% .006 286.033));overflow:hidden}.rfp-empty[data-v-686d6084]{padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 3);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.rfp-empty.is-error[data-v-686d6084]{color:var(--color-red-600,oklch(57.7% .245 27.325))}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-76cdff49],[data-v-76cdff49]:before,[data-v-76cdff49]:after,[data-v-76cdff49]::backdrop{--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-tracking:initial}}}.right-git-panel[data-v-76cdff49]{gap:calc(var(--spacing,.25rem) * 1.5);height:100%;min-height:0;padding:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex;overflow-y:auto}.rgp-review[data-v-76cdff49]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);width:100%;padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:calc(var(--spacing,.25rem) * 2);text-align:left;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-800,oklch(27.4% .006 286.033));--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:flex}@media (hover:hover){.rgp-review[data-v-76cdff49]:hover{background-color:var(--color-zinc-50,oklch(98.5% 0 none))}}.rgp-review-icon[data-v-76cdff49]{height:calc(var(--spacing,.25rem) * 4);width:calc(var(--spacing,.25rem) * 4);flex-shrink:0}.rgp-review-label[data-v-76cdff49]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rgp-review-delta[data-v-76cdff49]{align-items:center;gap:var(--spacing,.25rem);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);flex-shrink:0;margin-left:auto;display:inline-flex}.rgp-added[data-v-76cdff49]{color:var(--color-emerald-600,oklch(59.6% .145 163.225))}.rgp-removed[data-v-76cdff49]{color:var(--color-red-600,oklch(57.7% .245 27.325))}.rgp-state[data-v-76cdff49]{border-radius:var(--radius-lg,.5rem);background-color:var(--color-zinc-50,oklch(98.5% 0 none));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)))}.rgp-state-label[data-v-76cdff49]{--tw-tracking:var(--tracking-wide,.025em);letter-spacing:var(--tracking-wide,.025em);color:var(--color-zinc-500,oklch(55.2% .016 285.938));text-transform:uppercase;font-size:.68rem;display:block}.rgp-state-value[data-v-76cdff49]{text-overflow:ellipsis;white-space:nowrap;--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-800,oklch(27.4% .006 286.033));display:block;overflow:hidden}.rgp-state-meta[data-v-76cdff49]{margin-top:calc(var(--spacing,.25rem) * .5);text-overflow:ellipsis;white-space:nowrap;color:var(--color-zinc-500,oklch(55.2% .016 285.938));font-size:.68rem;display:block;overflow:hidden}.rgp-status[data-v-76cdff49]{justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-lg,.5rem);background-color:var(--color-amber-50,oklch(98.7% .022 95.277));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-amber-800,oklch(47.3% .137 46.201));display:flex}.rgp-status.is-error[data-v-76cdff49]{background-color:var(--color-red-50,oklch(97.1% .013 17.38));color:var(--color-red-700,oklch(50.5% .213 27.518))}.rgp-feedback[data-v-76cdff49]{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-red-200,oklch(88.5% .062 18.334));background-color:var(--color-white,#fff);padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * .5);--tw-font-weight:var(--font-weight-semibold,600);font-size:.65rem;font-weight:var(--font-weight-semibold,600);color:var(--color-red-700,oklch(50.5% .213 27.518));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));border-radius:3.40282e38px;flex-shrink:0}@media (hover:hover){.rgp-feedback[data-v-76cdff49]:hover{background-color:var(--color-red-50,oklch(97.1% .013 17.38))}}.rgp-section[data-v-76cdff49]{border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-100,oklch(96.7% .001 286.375));background-color:var(--color-zinc-50,oklch(98.5% 0 none));padding:var(--spacing,.25rem)}.rgp-section-title[data-v-76cdff49]{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 2);padding-inline:var(--spacing,.25rem);padding-block:var(--spacing,.25rem);--tw-font-weight:var(--font-weight-semibold,600);font-size:.68rem;font-weight:var(--font-weight-semibold,600);--tw-tracking:var(--tracking-wide,.025em);letter-spacing:var(--tracking-wide,.025em);color:var(--color-zinc-500,oklch(55.2% .016 285.938));text-transform:uppercase;display:flex}.rgp-search-wrap[data-v-76cdff49]{padding-inline:var(--spacing,.25rem);padding-block:var(--spacing,.25rem)}.rgp-search[data-v-76cdff49]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);width:100%;padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-800,oklch(27.4% .006 286.033));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-outline-style:none;outline-style:none}.rgp-search[data-v-76cdff49]:focus{border-color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.rgp-toggle-row[data-v-76cdff49]{margin-inline:var(--spacing,.25rem);margin-bottom:var(--spacing,.25rem);align-items:center;gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-md,.375rem);padding-inline:var(--spacing,.25rem);padding-block:var(--spacing,.25rem);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-500,oklch(55.2% .016 285.938));display:flex}.rgp-toggle-row input[data-v-76cdff49]{height:calc(var(--spacing,.25rem) * 3.5);width:calc(var(--spacing,.25rem) * 3.5);flex-shrink:0}.rgp-branches[data-v-76cdff49],.rgp-commit-list[data-v-76cdff49]{max-height:calc(var(--spacing,.25rem) * 56);margin:0;padding:0;list-style-type:none;overflow-y:auto}.rgp-branch-item[data-v-76cdff49]{margin:0;padding:0}.rgp-branch-row[data-v-76cdff49]{align-items:stretch;gap:var(--spacing,.25rem);display:flex}.rgp-branch-button[data-v-76cdff49],.rgp-commit[data-v-76cdff49],.rgp-file[data-v-76cdff49]{border-style:var(--tw-border-style);text-align:left;width:100%;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background-color:#0000;border-width:0;display:flex}.rgp-branch-button[data-v-76cdff49]{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-lg,.5rem);min-width:0;padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-700,oklch(37% .013 285.805));flex:1}@media (hover:hover){.rgp-branch-button[data-v-76cdff49]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375))}}.rgp-branch-button[data-v-76cdff49]:disabled{cursor:wait}.rgp-branch-button.is-current[data-v-76cdff49],.rgp-branch-button.is-selected[data-v-76cdff49]{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));color:var(--color-zinc-950,oklch(14.1% .005 285.823))}.rgp-branch-button.is-selected[data-v-76cdff49]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-zinc-300,oklch(87.1% .006 286.286))}.rgp-branch-checkout[data-v-76cdff49]{border-radius:var(--radius-lg,.5rem);width:auto;padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-500,oklch(55.2% .016 285.938));flex-shrink:0;align-items:center}@media (hover:hover){.rgp-branch-checkout[data-v-76cdff49]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));color:var(--color-zinc-800,oklch(27.4% .006 286.033))}}.rgp-branch-checkout[data-v-76cdff49]:disabled{cursor:wait}.rgp-branch-name[data-v-76cdff49],.rgp-commit-subject[data-v-76cdff49]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rgp-branch-meta[data-v-76cdff49]{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);color:var(--color-zinc-500,oklch(55.2% .016 285.938));text-transform:uppercase;border-radius:3.40282e38px;flex-shrink:0;font-size:.65rem}.rgp-commit[data-v-76cdff49]{gap:calc(var(--spacing,.25rem) * .5);border-radius:var(--radius-md,.375rem);padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-700,oklch(37% .013 285.805));flex-direction:column}@media (hover:hover){.rgp-commit[data-v-76cdff49]:hover{background-color:var(--color-white,#fff)}}.rgp-commit[data-v-76cdff49]:disabled{cursor:wait}.rgp-commit.is-current[data-v-76cdff49]{background-color:var(--color-white,#fff);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-zinc-300,oklch(87.1% .006 286.286))}.rgp-commit.is-selected[data-v-76cdff49]{background-color:var(--color-white,#fff);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-ring-color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.rgp-commit-top[data-v-76cdff49]{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 2);color:var(--color-zinc-500,oklch(55.2% .016 285.938));font-size:.68rem;display:flex}.rgp-commit-meta[data-v-76cdff49]{align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);flex-shrink:0;display:flex}.rgp-ref[data-v-76cdff49]{border-style:var(--tw-border-style);background-color:var(--color-zinc-200,oklch(92% .004 286.32));width:fit-content;max-width:100%;padding-inline:var(--spacing,.25rem);padding-block:calc(var(--spacing,.25rem) * .5);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);color:var(--color-zinc-700,oklch(37% .013 285.805));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-outline-style:none;border-width:0;border-radius:.25rem;outline-style:none;align-items:center;font-size:.68rem;display:inline-flex}@media (hover:hover){.rgp-ref[data-v-76cdff49]:hover{background-color:var(--color-zinc-300,oklch(87.1% .006 286.286))}}.rgp-empty[data-v-76cdff49]{padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.rgp-empty.is-error[data-v-76cdff49]{color:var(--color-red-700,oklch(50.5% .213 27.518))}.rgp-commit-detail-subject[data-v-76cdff49]{margin:0;margin-top:var(--spacing,.25rem);-webkit-line-clamp:2;padding-inline:var(--spacing,.25rem);padding-bottom:var(--spacing,.25rem);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-800,oklch(27.4% .006 286.033));-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.rgp-reset-commit[data-v-76cdff49]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-900,oklch(21% .006 285.885));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:var(--spacing,.25rem);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-white,#fff);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}@media (hover:hover){.rgp-reset-commit[data-v-76cdff49]:hover{background-color:var(--color-zinc-800,oklch(27.4% .006 286.033))}}.rgp-reset-commit[data-v-76cdff49]:disabled{cursor:wait;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.rgp-file-list[data-v-76cdff49]{max-height:calc(var(--spacing,.25rem) * 48);overflow-y:auto}.rgp-file[data-v-76cdff49]{margin-top:var(--spacing,.25rem);gap:var(--spacing,.25rem);border-radius:var(--radius-md,.375rem);padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-700,oklch(37% .013 285.805));flex-direction:column}@media (hover:hover){.rgp-file[data-v-76cdff49]:hover{background-color:var(--color-white,#fff)}}.rgp-file-meta-row[data-v-76cdff49]{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 2);min-width:0;display:flex}.rgp-file-status[data-v-76cdff49]{background-color:var(--color-zinc-200,oklch(92% .004 286.32));width:fit-content;padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);color:var(--color-zinc-600,oklch(44.2% .017 285.786));text-transform:uppercase;border-radius:.25rem;font-size:.65rem}.rgp-file-delta[data-v-76cdff49]{align-items:center;gap:var(--spacing,.25rem);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);flex-shrink:0;font-size:.68rem;display:flex}.rgp-file-path[data-v-76cdff49]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rgp-file-previous-path[data-v-76cdff49]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-zinc-500,oklch(55.2% .016 285.938));font-size:.68rem;overflow:hidden}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-tracking{syntax:"*";inherits:false}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{e as de,O as he,J as pe,w as W,f as i,i as l,q as ve,az as me,k as s,t as o,u as c,l as p,n as P,F as b,m as S,a2 as T,a3 as q,aA as ge,a0 as D,j as k,r as _,c as v,x as _e,a as ye,z as Ce,_ as be}from"./index-Dl8er1A_.js";const fe={class:"right-git-panel"},ke={class:"rgp-review-label"},we={class:"rgp-review-delta"},Be={class:"rgp-added"},Se={class:"rgp-removed"},$e={class:"rgp-state"},Fe={class:"rgp-state-label"},Re={class:"rgp-state-value"},Le={key:0,class:"rgp-state-meta"},xe=["href"],je={key:2,class:"rgp-section"},Pe={class:"rgp-section-title"},Te={class:"rgp-file-list"},De=["title","onClick"],Ee={class:"rgp-file-status"},He={class:"rgp-file-path"},Me={key:0,class:"rgp-file-previous-path"},Ne={class:"rgp-section"},Ve={class:"rgp-section-title"},Ke={class:"rgp-search-wrap"},Ae=["placeholder"],Ie={class:"rgp-branches",role:"listbox"},Oe={class:"rgp-branch-row"},Ue=["disabled","onClick"],We={class:"rgp-branch-name"},qe={key:0,class:"rgp-branch-meta"},ze={key:1,class:"rgp-branch-meta"},Ge=["disabled","onClick"],Qe={key:0,class:"rgp-empty"},Je={class:"rgp-section"},Xe={class:"rgp-section-title"},Ye={class:"rgp-search-wrap"},Ze=["placeholder"],et={class:"rgp-toggle-row"},tt={class:"rgp-commit-list"},st={key:0,class:"rgp-empty"},at={key:1,class:"rgp-empty"},ot={key:2,class:"rgp-empty is-error"},rt=["disabled","title","onClick"],nt={class:"rgp-commit-top"},it=["title","onClick","onKeydown"],lt={class:"rgp-commit-meta"},ct={key:0,class:"rgp-branch-meta"},ut={class:"rgp-commit-subject"},dt={key:0,class:"rgp-empty"},ht={key:3,class:"rgp-section"},pt={class:"rgp-section-title"},vt=["title"],mt=["disabled"],gt={class:"rgp-commit-detail-subject"},_t={class:"rgp-file-list"},yt={key:0,class:"rgp-empty"},Ct={key:1,class:"rgp-empty is-error"},bt=["title","onClick"],ft={class:"rgp-file-meta-row"},kt={class:"rgp-file-status"},wt={class:"rgp-file-delta"},Bt={class:"rgp-added"},St={class:"rgp-removed"},$t={class:"rgp-file-path"},Ft={key:0,class:"rgp-file-previous-path"},Rt={key:0,class:"rgp-empty"},Lt=de({__name:"RightGitPanel",props:{currentBranch:{},headSha:{},headSubject:{},headDate:{},detached:{type:Boolean},dirty:{type:Boolean},worktreeChangeSummary:{},worktreeChanges:{},branches:{},commitsByBranch:{},commitsLoadingFor:{},commitsError:{},commitFilesBySha:{},commitFilesLoadingFor:{},commitFilesError:{},loading:{type:Boolean},busy:{type:Boolean},error:{},reviewOpen:{type:Boolean},showReview:{type:Boolean}},emits:["toggleReview","checkoutBranch","resetBranchToCommit","loadCommits","loadCommitFiles","openCommitFile"],setup(d,{emit:z}){const r=d,g=z,E=_(null),$=_(""),F=_(""),u=_(""),y=_(""),w=_(""),R=_(""),C=_(!0),G=v(()=>r.showReview!==!1),{buildFeedbackMailto:Q,feedbackMailtoBase:J,recordVisibleFailure:X}=Ce(),{t:n}=_e(),Y=J();function Z(t,a){X(a);const e=t.currentTarget;e instanceof HTMLAnchorElement&&(e.href=Q())}const ee=v(()=>r.currentBranch?r.currentBranch:r.headSubject?r.headSubject:r.headSha?`${n("Detached")} ${r.headSha}`:r.loading?n("Loading branch..."):n("Detached HEAD")),H=v(()=>{var e;const t=[r.headSha,r.headDate].filter(Boolean).join(" · "),a=((e=r.headSubject)==null?void 0:e.trim())??"";return a&&t?`${a} (${t})`:a||t}),B=v(()=>r.busy||r.loading),L=v(()=>r.error||(r.dirty?n("Tracked changes must be committed, stashed, or discarded before switching or resetting. Untracked files are allowed unless Git would overwrite them."):"")),M=v(()=>r.error?"error":"info"),N=v(()=>{const t=$.value.trim().toLowerCase(),a=[...r.branches].sort((e,m)=>e.isRemote===!0&&m.isRemote!==!0?1:e.isRemote!==!0&&m.isRemote===!0?-1:0);return t?a.filter(e=>e.label.toLowerCase().includes(t)||e.value.toLowerCase().includes(t)):a}),te=v(()=>r.branches.find(t=>t.value===u.value)??null),V=v(()=>{var t;return((t=te.value)==null?void 0:t.isRemote)===!0}),x=v(()=>u.value?`${u.value}\0${C.value?"with-reset-history":"without-reset-history"}`:""),j=v(()=>x.value?r.commitsByBranch[x.value]||[]:[]),h=v(()=>j.value.find(t=>t.sha===y.value)??null),K=v(()=>h.value?r.commitFilesBySha[h.value.sha]||[]:[]),A=v(()=>{const t=F.value.trim().toLowerCase(),a=j.value;return t?a.filter(e=>e.sha.toLowerCase().includes(t)||e.shortSha.toLowerCase().includes(t)||e.subject.toLowerCase().includes(t)||e.date.toLowerCase().includes(t)):a});function se(t){u.value=t,y.value="",g("loadCommits",{branch:t,includeResetHistory:C.value})}function ae(){u.value&&g("loadCommits",{branch:u.value,includeResetHistory:C.value})}function I(t){var e;const a=((e=r.headSha)==null?void 0:e.trim())??"";return a?t.sha===a||t.shortSha===a||t.sha.startsWith(a):!1}function oe(t){return`${n("Show")} ${t.shortSha} ${n("files")}`}function re(t){y.value=t.sha,g("loadCommitFiles",t.sha)}function f(t){const a=t.sha.trim()||t.shortSha.trim();a&&(w.value=t.sha,ye(a).catch(()=>{w.value=""}))}function ne(){!u.value||!h.value||V.value||g("resetBranchToCommit",{branch:u.value,sha:h.value.sha})}function O(t){return typeof t=="number"&&Number.isFinite(t)?String(t):"-"}function ie(t){h.value&&g("openCommitFile",{sha:h.value.sha,path:t})}function le(t){r.headSha&&g("openCommitFile",{sha:r.headSha,path:t})}function U(){var a,e;const t=(a=r.currentBranch)==null?void 0:a.trim();return t||(((e=r.branches[0])==null?void 0:e.value)??"")}function ce(){const t=u.value||U();t&&(u.value=t,g("loadCommits",{branch:t,includeResetHistory:C.value}))}return he(()=>{ce(),pe(()=>{var t;return(t=E.value)==null?void 0:t.focus()})}),W(()=>[r.currentBranch,r.branches.map(t=>t.value).join(`
|
|
2
|
+
`)],()=>{var m;const t=U();if(!t){u.value="",R.value="";return}const a=((m=r.currentBranch)==null?void 0:m.trim())??"",e=a!==R.value;R.value=a,(e||!u.value||!r.branches.some(ue=>ue.value===u.value))&&(u.value=t),u.value&&g("loadCommits",{branch:u.value,includeResetHistory:C.value})},{immediate:!0}),W(j,t=>{y.value&&(t.some(a=>a.sha===y.value)||(y.value=""))}),(t,a)=>(i(),l("div",fe,[G.value?(i(),l("button",{key:0,class:"rgp-review",type:"button",onClick:a[0]||(a[0]=e=>g("toggleReview"))},[ve(me,{class:"rgp-review-icon"}),s("span",ke,o(d.reviewOpen?c(n)("Review Worktree Changes (Open)"):c(n)("Review Worktree Changes")),1),s("span",we,[s("span",Be,"+"+o(d.worktreeChangeSummary.addedLineCount),1),s("span",Se,"-"+o(d.worktreeChangeSummary.removedLineCount),1)])])):p("",!0),s("div",$e,[s("span",Fe,o(d.detached?c(n)("Detached HEAD"):c(n)("Current branch")),1),s("span",Re,o(ee.value),1),H.value?(i(),l("span",Le,o(H.value),1)):p("",!0)]),L.value?(i(),l("div",{key:1,class:P(["rgp-status",{"is-error":M.value==="error"}])},[s("span",null,o(L.value),1),M.value==="error"?(i(),l("a",{key:0,class:"rgp-feedback",href:c(Y),onClick:a[1]||(a[1]=e=>Z(e,L.value))},o(c(n)("Send feedback")),9,xe)):p("",!0)],2)):p("",!0),r.worktreeChanges.length>0?(i(),l("div",je,[s("div",Pe,o(r.worktreeChanges.length)+" "+o(r.worktreeChanges.length===1?c(n)("file changed"):c(n)("files changed")),1),s("div",Te,[(i(!0),l(b,null,S(r.worktreeChanges,e=>(i(),l("button",{key:`${e.status}:${e.previousPath??""}:${e.path}`,class:"rgp-file",type:"button",title:e.previousPath?`${e.previousPath} → ${e.path}`:e.path,onClick:m=>le(e.path)},[s("span",Ee,o(e.label),1),s("span",He,o(e.path),1),e.previousPath?(i(),l("span",Me,"← "+o(e.previousPath),1)):p("",!0)],8,De))),128))])])):p("",!0),s("div",Ne,[s("div",Ve,o(c(n)("Branches")),1),s("div",Ke,[T(s("input",{ref_key:"searchInputRef",ref:E,"onUpdate:modelValue":a[2]||(a[2]=e=>$.value=e),class:"rgp-search",type:"text",placeholder:c(n)("Search branches...")},null,8,Ae),[[q,$.value]])]),s("ul",Ie,[(i(!0),l(b,null,S(N.value,e=>(i(),l("li",{key:e.value,class:"rgp-branch-item"},[s("div",Oe,[s("button",{class:P(["rgp-branch-button",{"is-current":e.value===d.currentBranch,"is-selected":e.value===u.value}]),type:"button",disabled:B.value,onClick:m=>se(e.value)},[s("span",We,o(e.label),1),e.value===d.currentBranch?(i(),l("span",qe,o(c(n)("current")),1)):e.isRemote?(i(),l("span",ze,o(c(n)("remote")),1)):p("",!0)],10,Ue),e.value===u.value&&e.value!==d.currentBranch&&!e.isRemote?(i(),l("button",{key:0,class:"rgp-branch-checkout",type:"button",disabled:B.value,onClick:m=>g("checkoutBranch",e.value)},o(c(n)("Checkout")),9,Ge)):p("",!0)])]))),128)),N.value.length===0?(i(),l("li",Qe,o(c(n)("No branches found.")),1)):p("",!0)])]),s("div",Je,[s("div",Xe,o(c(n)("Commits")),1),s("div",Ye,[T(s("input",{"onUpdate:modelValue":a[3]||(a[3]=e=>F.value=e),class:"rgp-search",type:"text",placeholder:c(n)("Search commits...")},null,8,Ze),[[q,F.value]])]),s("label",et,[T(s("input",{"onUpdate:modelValue":a[4]||(a[4]=e=>C.value=e),type:"checkbox",onChange:ae},null,544),[[ge,C.value]]),s("span",null,o(c(n)("Reset-history refs")),1)]),s("div",tt,[u.value?d.commitsLoadingFor===x.value?(i(),l("div",at,o(c(n)("Loading commits...")),1)):d.commitsError?(i(),l("div",ot,o(d.commitsError),1)):(i(),l(b,{key:3},[(i(!0),l(b,null,S(A.value,e=>(i(),l("button",{key:e.sha,class:P(["rgp-commit",{"is-current":I(e),"is-selected":e.sha===y.value}]),type:"button",disabled:B.value,title:oe(e),onClick:m=>re(e)},[s("span",nt,[s("span",{class:"rgp-ref",role:"button",tabindex:"0",title:w.value===e.sha?c(n)("Copied commit ref"):`${c(n)("Copy")} ${e.sha}`,onClick:k(m=>f(e),["stop"]),onKeydown:[D(k(m=>f(e),["prevent","stop"]),["enter"]),D(k(m=>f(e),["prevent","stop"]),["space"])]},o(e.shortSha),41,it),s("span",lt,[I(e)?(i(),l("span",ct,o(c(n)("current")),1)):p("",!0),s("span",null,o(e.date),1)])]),s("span",ut,o(e.subject),1)],10,rt))),128)),A.value.length===0?(i(),l("div",dt,o(c(n)("No commits found.")),1)):p("",!0)],64)):(i(),l("div",st,o(c(n)("Select a branch.")),1))])]),h.value?(i(),l("div",ht,[s("div",pt,[s("span",{class:"rgp-ref",role:"button",tabindex:"0",title:w.value===h.value.sha?c(n)("Copied commit ref"):`${c(n)("Copy")} ${h.value.sha}`,onClick:a[5]||(a[5]=k(e=>f(h.value),["stop"])),onKeydown:a[6]||(a[6]=D(k(e=>f(h.value),["prevent","stop"]),["enter"]))},o(h.value.shortSha),41,vt),s("button",{class:"rgp-reset-commit",type:"button",disabled:B.value||V.value||!u.value,onClick:ne},o(c(n)("Reset")),9,mt)]),s("p",gt,o(h.value.subject),1),s("div",_t,[d.commitFilesLoadingFor===h.value.sha?(i(),l("div",yt,o(c(n)("Loading files...")),1)):d.commitFilesError?(i(),l("div",Ct,o(d.commitFilesError),1)):(i(),l(b,{key:2},[(i(!0),l(b,null,S(K.value,e=>(i(),l("button",{key:`${e.status}:${e.previousPath??""}:${e.path}`,class:"rgp-file",type:"button",title:e.previousPath?`${e.previousPath} → ${e.path}`:e.path,onClick:m=>ie(e.path)},[s("span",ft,[s("span",kt,o(e.label),1),s("span",wt,[s("span",Bt,"+"+o(O(e.addedLineCount)),1),s("span",St,"-"+o(O(e.removedLineCount)),1)])]),s("span",$t,o(e.path),1),e.previousPath?(i(),l("span",Ft,"← "+o(e.previousPath),1)):p("",!0)],8,bt))),128)),K.value.length===0?(i(),l("div",Rt,o(c(n)("No file changes.")),1)):p("",!0)],64))])])):p("",!0)]))}}),jt=be(Lt,[["__scopeId","data-v-76cdff49"]]);export{jt as default};
|