codexui-android 0.1.100 → 0.1.101
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/{DirectoryHub-DkF7hkxl.css → DirectoryHub-B_wdXTQL.css} +1 -1
- package/dist/assets/DirectoryHub-Bm5sZZRJ.js +2 -0
- package/dist/assets/{ReviewPane-W_UvYmui.js → ReviewPane-Ce6QI-Sf.js} +1 -1
- package/dist/assets/{ThreadConversation-CSH0aUWx.js → ThreadConversation-BQnEV6OL.js} +1 -1
- package/dist/assets/{ThreadTerminalPanel-QkJZ7U3Y.js → ThreadTerminalPanel-DuEjX4F5.js} +1 -1
- package/dist/assets/{index-Cmr8liLe.js → index-DzzwK-KG.js} +2 -2
- package/dist/index.html +1 -1
- package/dist-cli/index.js +38 -5
- package/dist-cli/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/assets/DirectoryHub-47WzZs4I.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
@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-b276a846],[data-v-b276a846]:before,[data-v-b276a846]:after,[data-v-b276a846]::backdrop{--tw-border-style:solid;--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-font-weight:initial;--tw-leading:initial}}}.skill-card[data-v-b276a846]{cursor:pointer;gap:calc(var(--spacing,.25rem) * 1.5);border-radius:var(--radius-xl,.75rem);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);padding:calc(var(--spacing,.25rem) * 3);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));flex-direction:column;display:flex}@media(hover:hover){.skill-card[data-v-b276a846]:hover{border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));--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)}}.skill-card.is-disabled[data-v-b276a846]{opacity:.5}.skill-card-top[data-v-b276a846]{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2.5);display:flex}.skill-card-avatar[data-v-b276a846]{height:calc(var(--spacing,.25rem) * 8);width:calc(var(--spacing,.25rem) * 8);background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));border-radius:3.40282e38px;flex-shrink:0}.skill-card-avatar-fallback[data-v-b276a846]{height:calc(var(--spacing,.25rem) * 8);width:calc(var(--spacing,.25rem) * 8);background-color:var(--color-zinc-200,oklch(92% .004 286.32));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-500,oklch(55.2% .016 285.938));text-transform:uppercase;border-radius:3.40282e38px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.skill-card-info[data-v-b276a846]{min-width:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * .5);flex-direction:column;flex:1;display:flex}.skill-card-header[data-v-b276a846]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.skill-card-name[data-v-b276a846]{text-overflow:ellipsis;white-space:nowrap;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-900,oklch(21% .006 285.885));overflow:hidden}.skill-card-badge[data-v-b276a846]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:10px;line-height:1;font-weight:var(--font-weight-medium,500);color:var(--color-emerald-700,oklch(50.8% .118 165.612));flex-shrink:0}.skill-card-badge-disabled[data-v-b276a846]{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-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:10px;line-height:1;font-weight:var(--font-weight-medium,500);color:var(--color-zinc-500,oklch(55.2% .016 285.938));flex-shrink:0}.skill-card-owner[data-v-b276a846]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.skill-card-browse[data-v-b276a846]{height:calc(var(--spacing,.25rem) * 7);width:calc(var(--spacing,.25rem) * 7);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);color:var(--color-zinc-300,oklch(87.1% .006 286.286));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;margin-left:auto;display:flex}@media(hover:hover){.skill-card-browse[data-v-b276a846]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));color:var(--color-zinc-600,oklch(44.2% .017 285.786))}}.skill-card-browse-icon[data-v-b276a846]{height:calc(var(--spacing,.25rem) * 4);width:calc(var(--spacing,.25rem) * 4)}.skill-card-desc[data-v-b276a846]{margin:calc(var(--spacing,.25rem) * 0);-webkit-line-clamp:2;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));-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.skill-card-date[data-v-b276a846]{color:var(--color-zinc-300,oklch(87.1% .006 286.286));font-size:10px}@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-8fb16c1e],[data-v-8fb16c1e]:before,[data-v-8fb16c1e]:after,[data-v-8fb16c1e]::backdrop{--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-font-weight:initial;--tw-border-style:solid;--tw-leading:initial}}}.sdm-overlay[data-v-8fb16c1e]{inset:calc(var(--spacing,.25rem) * 0);z-index:50;background-color:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.sdm-overlay[data-v-8fb16c1e]{background-color:color-mix(in oklab,var(--color-black,#000) 40%,transparent)}}@media(min-width:40rem){.sdm-overlay[data-v-8fb16c1e]{align-items:center}}.sdm-panel[data-v-8fb16c1e]{width:100%;max-height:90vh;max-width:var(--container-lg,32rem);border-top-left-radius:var(--radius-2xl,1rem);border-top-right-radius:var(--radius-2xl,1rem);background-color:var(--color-white,#fff);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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);flex-direction:column;display:flex;overflow:hidden}@media(min-width:40rem){.sdm-panel[data-v-8fb16c1e]{border-radius:var(--radius-2xl,1rem);max-height:80vh}}.sdm-header[data-v-8fb16c1e]{justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing,.25rem) * 3);padding:calc(var(--spacing,.25rem) * 4);padding-bottom:calc(var(--spacing,.25rem) * 3);flex-shrink:0;display:flex}@media(min-width:40rem){.sdm-header[data-v-8fb16c1e]{padding:calc(var(--spacing,.25rem) * 5)}}.sdm-title-area[data-v-8fb16c1e]{min-width:calc(var(--spacing,.25rem) * 0);align-items:center;gap:calc(var(--spacing,.25rem) * 3);display:flex}.sdm-avatar[data-v-8fb16c1e]{height:calc(var(--spacing,.25rem) * 10);width:calc(var(--spacing,.25rem) * 10);background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));border-radius:3.40282e38px;flex-shrink:0}.sdm-title-col[data-v-8fb16c1e]{min-width:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * .5);flex-direction:column;display:flex}.sdm-title-row[data-v-8fb16c1e]{min-width:calc(var(--spacing,.25rem) * 0);align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.sdm-title[data-v-8fb16c1e]{margin:calc(var(--spacing,.25rem) * 0);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)));--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}.sdm-badge-disabled[data-v-8fb16c1e]{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-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:10px;line-height:1;font-weight:var(--font-weight-medium,500);color:var(--color-zinc-500,oklch(55.2% .016 285.938));flex-shrink:0}.sdm-owner[data-v-8fb16c1e]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.sdm-close[data-v-8fb16c1e]{height:calc(var(--spacing,.25rem) * 7);width:calc(var(--spacing,.25rem) * 7);border-radius:var(--radius-lg,.5rem);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:flex}@media(hover:hover){.sdm-close[data-v-8fb16c1e]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));color:var(--color-zinc-700,oklch(37% .013 285.805))}}.sdm-close-icon[data-v-8fb16c1e]{height:calc(var(--spacing,.25rem) * 4);width:calc(var(--spacing,.25rem) * 4)}.sdm-body[data-v-8fb16c1e]{min-height:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 3);padding:calc(var(--spacing,.25rem) * 4);padding-top:calc(var(--spacing,.25rem) * 0);flex-direction:column;flex:1;display:flex;overflow-y:auto}@media(min-width:40rem){.sdm-body[data-v-8fb16c1e]{padding:calc(var(--spacing,.25rem) * 5)}}.sdm-desc[data-v-8fb16c1e]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-zinc-600,oklch(44.2% .017 285.786))}.sdm-readme-loading[data-v-8fb16c1e]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.sdm-readme[data-v-8fb16c1e]{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-top:calc(var(--spacing,.25rem) * 3);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-zinc-700,oklch(37% .013 285.805))}.sdm-readme[data-v-8fb16c1e] h2{margin-top:calc(var(--spacing,.25rem) * 3);margin-bottom:calc(var(--spacing,.25rem) * 1);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-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-800,oklch(27.4% .006 286.033))}.sdm-readme[data-v-8fb16c1e] h3{margin-top:calc(var(--spacing,.25rem) * 2);margin-bottom:calc(var(--spacing,.25rem) * 1);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-700,oklch(37% .013 285.805))}.sdm-readme[data-v-8fb16c1e] h4{margin-top:calc(var(--spacing,.25rem) * 2);margin-bottom: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-600,oklch(44.2% .017 285.786))}.sdm-readme[data-v-8fb16c1e] code{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 1);padding-block:calc(var(--spacing,.25rem) * .5);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);border-radius:.25rem;font-size:11px}.sdm-readme[data-v-8fb16c1e] ul{margin:calc(var(--spacing,.25rem) * 0);padding-left:calc(var(--spacing,.25rem) * 4);list-style-type:disc}.sdm-readme[data-v-8fb16c1e] li{margin-bottom:calc(var(--spacing,.25rem) * .5)}.sdm-readme[data-v-8fb16c1e] strong{--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.sdm-link[data-v-8fb16c1e]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-blue-600,oklch(54.6% .245 262.881));flex-shrink:0;text-decoration-line:none}@media(hover:hover){.sdm-link[data-v-8fb16c1e]:hover{color:var(--color-blue-700,oklch(48.8% .243 264.376));text-decoration-line:underline}}.sdm-footer[data-v-8fb16c1e]{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding:calc(var(--spacing,.25rem) * 4);padding-top:calc(var(--spacing,.25rem) * 3);flex-shrink:0}@media(min-width:40rem){.sdm-footer[data-v-8fb16c1e]{padding:calc(var(--spacing,.25rem) * 5)}}.sdm-footer-actions[data-v-8fb16c1e]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.sdm-btn[data-v-8fb16c1e]{border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing,.25rem) * 3);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)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);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-width:0}.sdm-btn[data-v-8fb16c1e]:disabled{cursor:not-allowed;opacity:.5}.sdm-btn-primary[data-v-8fb16c1e]{background-color:var(--color-zinc-900,oklch(21% .006 285.885));color:var(--color-white,#fff)}@media(hover:hover){.sdm-btn-primary[data-v-8fb16c1e]:hover{background-color:var(--color-black,#000)}}.sdm-btn-danger[data-v-8fb16c1e]{background-color:var(--color-rose-600,oklch(58.6% .253 17.585));color:var(--color-white,#fff)}@media(hover:hover){.sdm-btn-danger[data-v-8fb16c1e]:hover{background-color:var(--color-rose-700,oklch(51.4% .222 16.935))}}.sdm-btn-secondary[data-v-8fb16c1e]{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));color:var(--color-zinc-700,oklch(37% .013 285.805))}@media(hover:hover){.sdm-btn-secondary[data-v-8fb16c1e]:hover{background-color:var(--color-zinc-200,oklch(92% .004 286.32))}}@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-c1d170d0],[data-v-c1d170d0]:before,[data-v-c1d170d0]:after,[data-v-c1d170d0]::backdrop{--tw-font-weight:initial;--tw-border-style:solid}}}.skills-hub[data-v-c1d170d0]{width:100%;height:100%;max-width:var(--container-4xl,56rem);gap:calc(var(--spacing,.25rem) * 3);padding:calc(var(--spacing,.25rem) * 3);flex-direction:column;margin-inline:auto;display:flex;overflow-y:auto}@media(min-width:40rem){.skills-hub[data-v-c1d170d0]{gap:calc(var(--spacing,.25rem) * 4);padding:calc(var(--spacing,.25rem) * 6)}}.skills-hub-header[data-v-c1d170d0]{gap:calc(var(--spacing,.25rem) * 1);flex-direction:column;display:flex}.skills-hub-title[data-v-c1d170d0]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75 / 1.25)));--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))}@media(min-width:40rem){.skills-hub-title[data-v-c1d170d0]{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)))}}.skills-hub-subtitle[data-v-c1d170d0]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.skills-hub-sort[data-v-c1d170d0]{cursor:pointer;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);padding-inline:calc(var(--spacing,.25rem) * 2.5);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)));--tw-font-weight:var(--font-weight-medium,500);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){.skills-hub-sort[data-v-c1d170d0]:hover{border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));background-color:var(--color-zinc-50,oklch(98.5% 0 0))}}.skills-sync-panel[data-v-c1d170d0]{gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-xl,.75rem);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-50,oklch(98.5% 0 0));padding:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.skills-sync-header[data-v-c1d170d0]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);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-wrap:wrap;display:flex}.skills-sync-badge[data-v-c1d170d0]{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)))}.skills-sync-badge-link[data-v-c1d170d0]{color:var(--color-zinc-700,oklch(37% .013 285.805))}@media(hover:hover){.skills-sync-badge-link[data-v-c1d170d0]:hover{border-color:var(--color-zinc-400,oklch(70.5% .015 286.067));color:var(--color-zinc-900,oklch(21% .006 285.885))}}.skills-sync-device[data-v-c1d170d0]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-600,oklch(44.2% .017 285.786));flex-wrap:wrap;display:flex}.skills-sync-meta[data-v-c1d170d0]{align-items:center;gap: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-600,oklch(44.2% .017 285.786));flex-wrap:wrap;display:flex}.skills-sync-error[data-v-c1d170d0]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-rose-200,oklch(89.2% .058 10.001));background-color:var(--color-rose-50,oklch(96.9% .015 12.422));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-rose-700,oklch(51.4% .222 16.935))}.skills-sync-actions[data-v-c1d170d0]{gap:calc(var(--spacing,.25rem) * 2);flex-wrap:wrap;display:flex}.skills-hub-toast[data-v-c1d170d0]{border-radius:var(--radius-lg,.5rem);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);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)}.skills-hub-toast-success[data-v-c1d170d0]{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));color:var(--color-emerald-700,oklch(50.8% .118 165.612))}.skills-hub-toast-error[data-v-c1d170d0]{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-rose-200,oklch(89.2% .058 10.001));background-color:var(--color-rose-50,oklch(96.9% .015 12.422));color:var(--color-rose-700,oklch(51.4% .222 16.935))}.skills-hub-section[data-v-c1d170d0]{gap:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}.skills-hub-section-toggle[data-v-c1d170d0]{cursor:pointer;align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);border-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem) * 0);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-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));background-color:#0000;border-width:0;display:flex}@media(hover:hover){.skills-hub-section-toggle[data-v-c1d170d0]:hover{color:var(--color-zinc-900,oklch(21% .006 285.885))}}.skills-hub-section-title[data-v-c1d170d0]{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)}.skills-hub-section-chevron[data-v-c1d170d0]{height:calc(var(--spacing,.25rem) * 3.5);width:calc(var(--spacing,.25rem) * 3.5);transition-property:transform,translate,scale,rotate;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))}.skills-hub-section-chevron.is-open[data-v-c1d170d0]{rotate:90deg}.skills-hub-grid[data-v-c1d170d0]{gap:calc(var(--spacing,.25rem) * 3);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:40rem){.skills-hub-grid[data-v-c1d170d0]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.skills-hub-grid[data-v-c1d170d0]{grid-template-columns:repeat(3,minmax(0,1fr))}}.skills-hub-loading[data-v-c1d170d0]{padding-block:calc(var(--spacing,.25rem) * 8);text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.skills-hub-error[data-v-c1d170d0]{border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-rose-200,oklch(89.2% .058 10.001));background-color:var(--color-rose-50,oklch(96.9% .015 12.422));padding-block:calc(var(--spacing,.25rem) * 4);text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-rose-600,oklch(58.6% .253 17.585))}.skills-hub-empty[data-v-c1d170d0]{padding-block:calc(var(--spacing,.25rem) * 8);text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}/*! tailwindcss v4.2.4 | 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-c560f8b3],[data-v-c560f8b3]:before,[data-v-c560f8b3]:after,[data-v-c560f8b3]::backdrop{--tw-font-weight:initial;--tw-border-style:solid;--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-leading:initial}}}.directory-hub[data-v-c560f8b3]{gap:calc(var(--spacing,.25rem) * 3);width:100%;height:100%;padding:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex;overflow-y:auto}@media(min-width:40rem){.directory-hub[data-v-c560f8b3]{padding:calc(var(--spacing,.25rem) * 6)}}.directory-header[data-v-c560f8b3]{width:100%;max-width:var(--container-5xl,64rem);justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing,.25rem) * 3);margin-inline:auto;display:flex}.directory-header-actions[data-v-c560f8b3]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.directory-title[data-v-c560f8b3]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75 / 1.25)));--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))}@media(min-width:40rem){.directory-title[data-v-c560f8b3]{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)))}}.directory-subtitle[data-v-c560f8b3]{margin:calc(var(--spacing,.25rem) * 0);margin-top:calc(var(--spacing,.25rem) * 1);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.directory-refresh[data-v-c560f8b3],.directory-action[data-v-c560f8b3],.directory-action-link[data-v-c560f8b3],.directory-modal-close[data-v-c560f8b3]{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);padding-inline:calc(var(--spacing,.25rem) * 3);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)));--tw-font-weight:var(--font-weight-medium,500);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;text-decoration-line:none}@media(hover:hover){:is(.directory-refresh[data-v-c560f8b3],.directory-action[data-v-c560f8b3],.directory-action-link[data-v-c560f8b3],.directory-modal-close[data-v-c560f8b3]):hover{border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));background-color:var(--color-zinc-50,oklch(98.5% 0 0))}}:is(.directory-refresh[data-v-c560f8b3],.directory-action[data-v-c560f8b3],.directory-action-link[data-v-c560f8b3],.directory-modal-close[data-v-c560f8b3]):disabled{cursor:not-allowed;opacity:.5}.directory-action.primary[data-v-c560f8b3]{border-color:var(--color-zinc-900,oklch(21% .006 285.885));background-color:var(--color-zinc-900,oklch(21% .006 285.885));color:var(--color-white,#fff)}@media(hover:hover){.directory-action.primary[data-v-c560f8b3]:hover{background-color:var(--color-black,#000)}}.directory-action.danger[data-v-c560f8b3]{border-color:var(--color-rose-600,oklch(58.6% .253 17.585));background-color:var(--color-rose-600,oklch(58.6% .253 17.585));color:var(--color-white,#fff)}@media(hover:hover){.directory-action.danger[data-v-c560f8b3]:hover{background-color:var(--color-rose-700,oklch(51.4% .222 16.935))}}.directory-tabs[data-v-c560f8b3]{width:100%;max-width:var(--container-5xl,64rem);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-zinc-100,oklch(96.7% .001 286.375));padding:calc(var(--spacing,.25rem) * 1);grid-template-columns:repeat(4,minmax(0,1fr));margin-inline:auto;display:grid}.directory-tab[data-v-c560f8b3]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);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)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-500,oklch(55.2% .016 285.938));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}@media(hover:hover){.directory-tab[data-v-c560f8b3]:hover{color:var(--color-zinc-800,oklch(27.4% .006 286.033))}}.directory-tab.is-active[data-v-c560f8b3]{background-color:var(--color-white,#fff);color:var(--color-zinc-900,oklch(21% .006 285.885));--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)}.directory-section[data-v-c560f8b3]{width:100%;max-width:var(--container-5xl,64rem);gap:calc(var(--spacing,.25rem) * 3);flex-direction:column;margin-inline:auto;display:flex}.directory-section-group[data-v-c560f8b3]{gap:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.skills-embedded-section[data-v-c560f8b3]{gap:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}.skills-embedded-toggle[data-v-c560f8b3]{cursor:pointer;align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);border-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem) * 0);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-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));background-color:#0000;border-width:0;display:flex}@media(hover:hover){.skills-embedded-toggle[data-v-c560f8b3]:hover{color:var(--color-zinc-900,oklch(21% .006 285.885))}}.skills-embedded-title[data-v-c560f8b3]{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)}.skills-embedded-chevron[data-v-c560f8b3]{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-leading:1;transition-property:transform,translate,scale,rotate;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));line-height:1;display:inline-block}.skills-embedded-chevron.is-open[data-v-c560f8b3]{rotate:90deg}.skills-embedded-body[data-v-c560f8b3]{gap:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.mcp-skill-grid[data-v-c560f8b3]{gap:calc(var(--spacing,.25rem) * 3);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:48rem){.mcp-skill-grid[data-v-c560f8b3]{grid-template-columns:repeat(2,minmax(0,1fr))}}.mcp-skill-card[data-v-c560f8b3]{cursor:pointer;gap:calc(var(--spacing,.25rem) * 1.5);border-radius:var(--radius-xl,.75rem);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:calc(var(--spacing,.25rem) * 3);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));flex-direction:column;display:flex}@media(hover:hover){.mcp-skill-card[data-v-c560f8b3]:hover{border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));--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)}}.mcp-skill-card-top[data-v-c560f8b3]{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2.5);display:flex}.mcp-skill-avatar-fallback[data-v-c560f8b3]{height:calc(var(--spacing,.25rem) * 8);width:calc(var(--spacing,.25rem) * 8);background-color:var(--color-zinc-200,oklch(92% .004 286.32));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-500,oklch(55.2% .016 285.938));text-transform:uppercase;border-radius:3.40282e38px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mcp-skill-info[data-v-c560f8b3]{min-width:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * .5);flex-direction:column;flex:1;display:flex}.mcp-skill-header[data-v-c560f8b3]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.mcp-skill-name[data-v-c560f8b3]{text-overflow:ellipsis;white-space:nowrap;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-900,oklch(21% .006 285.885));overflow:hidden}.mcp-skill-owner[data-v-c560f8b3]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.mcp-skill-meta[data-v-c560f8b3]{margin:calc(var(--spacing,.25rem) * 0);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))}.mcp-skill-chevron[data-v-c560f8b3]{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-leading:1;color:var(--color-zinc-400,oklch(70.5% .015 286.067));transition-property:transform,translate,scale,rotate;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));line-height:1;display:inline-block}.mcp-skill-chevron.is-open[data-v-c560f8b3]{rotate:90deg}.mcp-skill-badge[data-v-c560f8b3]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:10px;line-height:1;font-weight:var(--font-weight-medium,500);border-width:1px;flex-shrink:0}.mcp-skill-badge-ok[data-v-c560f8b3]{border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));color:var(--color-emerald-700,oklch(50.8% .118 165.612))}.mcp-skill-badge-warning[data-v-c560f8b3]{border-color:var(--color-amber-200,oklch(92.4% .12 95.746));background-color:var(--color-amber-50,oklch(98.7% .022 95.277));color:var(--color-amber-700,oklch(55.5% .163 48.998))}.mcp-skill-badge-muted[data-v-c560f8b3]{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-500,oklch(55.2% .016 285.938))}.directory-section-actions[data-v-c560f8b3]{justify-content:flex-end;display:flex}.directory-toolbar[data-v-c560f8b3]{gap:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}@media(min-width:40rem){.directory-toolbar[data-v-c560f8b3]{flex-direction:row;justify-content:space-between;align-items:center}}.directory-search[data-v-c560f8b3]{min-width:calc(var(--spacing,.25rem) * 0);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);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));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;flex:1}.directory-search[data-v-c560f8b3]::placeholder{color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.directory-search[data-v-c560f8b3]:focus{border-color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.directory-sort-group[data-v-c560f8b3]{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-zinc-100,oklch(96.7% .001 286.375));padding:calc(var(--spacing,.25rem) * 1);display:inline-flex}.directory-sort-button[data-v-c560f8b3]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:calc(var(--spacing,.25rem) * 1);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-500,oklch(55.2% .016 285.938));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}@media(hover:hover){.directory-sort-button[data-v-c560f8b3]:hover{color:var(--color-zinc-800,oklch(27.4% .006 286.033))}}.directory-sort-button.is-active[data-v-c560f8b3]{background-color:var(--color-white,#fff);color:var(--color-zinc-900,oklch(21% .006 285.885));--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)}.directory-grid[data-v-c560f8b3]{gap:calc(var(--spacing,.25rem) * 3);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:48rem){.directory-grid[data-v-c560f8b3]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:80rem){.directory-grid[data-v-c560f8b3]{grid-template-columns:repeat(3,minmax(0,1fr))}}.directory-list[data-v-c560f8b3]{gap:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.directory-card[data-v-c560f8b3]{min-height:calc(var(--spacing,.25rem) * 36);gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-xl,.75rem);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);padding:calc(var(--spacing,.25rem) * 3);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));flex-direction:column;display:flex}@media(hover:hover){.directory-card[data-v-c560f8b3]:hover{border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));--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)}}button.directory-card[data-v-c560f8b3]{cursor:pointer}.directory-card.is-disabled[data-v-c560f8b3]{opacity:.6}.directory-card-wide[data-v-c560f8b3]{min-height:calc(var(--spacing,.25rem) * 0)}.directory-card-top[data-v-c560f8b3]{min-width:calc(var(--spacing,.25rem) * 0);align-items:flex-start;gap:calc(var(--spacing,.25rem) * 3);display:flex}.directory-card-icon[data-v-c560f8b3],.directory-card-fallback[data-v-c560f8b3]{height:calc(var(--spacing,.25rem) * 10);width:calc(var(--spacing,.25rem) * 10);border-radius:var(--radius-xl,.75rem);background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));object-fit:cover;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-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-500,oklch(55.2% .016 285.938));text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;display:flex}.directory-card-main[data-v-c560f8b3]{min-width:calc(var(--spacing,.25rem) * 0);flex:1}.directory-card-title-row[data-v-c560f8b3]{min-width:calc(var(--spacing,.25rem) * 0);align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.directory-card-title[data-v-c560f8b3]{text-overflow:ellipsis;white-space:nowrap;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-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-900,oklch(21% .006 285.885));overflow:hidden}.directory-card-meta[data-v-c560f8b3]{margin-top:calc(var(--spacing,.25rem) * .5);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)));color:var(--color-zinc-400,oklch(70.5% .015 286.067));display:block;overflow:hidden}.directory-card-description[data-v-c560f8b3]{margin:calc(var(--spacing,.25rem) * 0);-webkit-line-clamp:3;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-zinc-500,oklch(55.2% .016 285.938));-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.directory-badge[data-v-c560f8b3]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:10px;line-height:1;font-weight:var(--font-weight-medium,500);color:var(--color-emerald-700,oklch(50.8% .118 165.612));flex-shrink:0}.directory-badge.is-muted[data-v-c560f8b3]{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-500,oklch(55.2% .016 285.938))}.directory-chip-row[data-v-c560f8b3]{gap:calc(var(--spacing,.25rem) * 1.5);flex-wrap:wrap;display:flex}.directory-chip[data-v-c560f8b3]{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-50,oklch(98.5% 0 0));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-zinc-500,oklch(55.2% .016 285.938))}.directory-card-actions[data-v-c560f8b3]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);padding-top:calc(var(--spacing,.25rem) * 1);margin-top:auto;display:flex}.directory-loading[data-v-c560f8b3],.directory-empty[data-v-c560f8b3],.directory-error[data-v-c560f8b3]{border-radius:var(--radius-xl,.75rem);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);padding:calc(var(--spacing,.25rem) * 4);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.directory-empty-copy[data-v-c560f8b3]{gap:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.directory-empty-text[data-v-c560f8b3]{margin:calc(var(--spacing,.25rem) * 0)}.directory-error[data-v-c560f8b3],.directory-toast.is-error[data-v-c560f8b3],.directory-auth-status.is-error[data-v-c560f8b3]{border-color:var(--color-rose-200,oklch(89.2% .058 10.001));background-color:var(--color-rose-50,oklch(96.9% .015 12.422));color:var(--color-rose-700,oklch(51.4% .222 16.935))}.directory-toast[data-v-c560f8b3]{width:100%;max-width:var(--container-5xl,64rem);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);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-emerald-700,oklch(50.8% .118 165.612));margin-inline:auto}.directory-card-toggle[data-v-c560f8b3]{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 3);border-style:var(--tw-border-style);width:100%;padding:calc(var(--spacing,.25rem) * 0);text-align:left;background-color:#0000;border-width:0;display:flex}.directory-mcp-detail[data-v-c560f8b3]{gap:calc(var(--spacing,.25rem) * 3);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-top:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.directory-mini-heading[data-v-c560f8b3],.directory-detail-heading[data-v-c560f8b3]{margin:calc(var(--spacing,.25rem) * 0);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-700,oklch(37% .013 285.805))}.directory-mini-list[data-v-c560f8b3]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.directory-modal-overlay[data-v-c560f8b3]{inset:calc(var(--spacing,.25rem) * 0);z-index:50;background-color:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.directory-modal-overlay[data-v-c560f8b3]{background-color:color-mix(in oklab,var(--color-black,#000) 40%,transparent)}}@media(min-width:40rem){.directory-modal-overlay[data-v-c560f8b3]{align-items:center}}.directory-modal[data-v-c560f8b3]{width:100%;max-height:90vh;max-width:var(--container-2xl,42rem);border-top-left-radius:var(--radius-2xl,1rem);border-top-right-radius:var(--radius-2xl,1rem);background-color:var(--color-white,#fff);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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);flex-direction:column;display:flex;overflow:hidden}@media(min-width:40rem){.directory-modal[data-v-c560f8b3]{border-radius:var(--radius-2xl,1rem);max-height:82vh}}.directory-modal-header[data-v-c560f8b3],.directory-modal-footer[data-v-c560f8b3]{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 3);padding:calc(var(--spacing,.25rem) * 4);flex-shrink:0;display:flex}@media(min-width:40rem){.directory-modal-header[data-v-c560f8b3],.directory-modal-footer[data-v-c560f8b3]{padding:calc(var(--spacing,.25rem) * 5)}}.directory-modal-header[data-v-c560f8b3]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-zinc-100,oklch(96.7% .001 286.375))}.directory-modal-footer[data-v-c560f8b3]{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-zinc-100,oklch(96.7% .001 286.375));justify-content:flex-end}.directory-modal-title[data-v-c560f8b3]{margin:calc(var(--spacing,.25rem) * 0);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)));--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}.directory-modal-body[data-v-c560f8b3]{min-height:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 4);padding:calc(var(--spacing,.25rem) * 4);flex-direction:column;flex:1;display:flex;overflow-y:auto}@media(min-width:40rem){.directory-modal-body[data-v-c560f8b3]{padding:calc(var(--spacing,.25rem) * 5)}}.directory-detail-description[data-v-c560f8b3]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-zinc-600,oklch(44.2% .017 285.786))}.directory-detail-grid[data-v-c560f8b3]{gap:calc(var(--spacing,.25rem) * 3);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:40rem){.directory-detail-grid[data-v-c560f8b3]{grid-template-columns:repeat(2,minmax(0,1fr))}}.directory-detail-block[data-v-c560f8b3],.directory-auth-panel[data-v-c560f8b3]{border-radius:var(--radius-xl,.75rem);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-50,oklch(98.5% 0 0));padding:calc(var(--spacing,.25rem) * 3)}.directory-include-row[data-v-c560f8b3]{margin-top:calc(var(--spacing,.25rem) * 2);justify-content:space-between;align-items:center;gap: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-600,oklch(44.2% .017 285.786));display:flex}.directory-auth-status[data-v-c560f8b3]{margin-left:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:10px;line-height:1;font-weight:var(--font-weight-medium,500);border-width:1px;display:inline-flex}.directory-auth-status.is-ok[data-v-c560f8b3]{border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));color:var(--color-emerald-700,oklch(50.8% .118 165.612))}.directory-auth-status.is-warning[data-v-c560f8b3]{border-color:var(--color-amber-200,oklch(92.4% .12 95.746));background-color:var(--color-amber-50,oklch(98.7% .022 95.277));color:var(--color-amber-700,oklch(55.5% .163 48.998))}.directory-auth-status.is-muted[data-v-c560f8b3]{border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.directory-include-row button[data-v-c560f8b3]{border-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem) * 0);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-blue-600,oklch(54.6% .245 262.881));background-color:#0000;border-width:0}@media(hover:hover){.directory-include-row button[data-v-c560f8b3]:hover{text-decoration-line:underline}}.directory-screenshots[data-v-c560f8b3]{gap:calc(var(--spacing,.25rem) * 3);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:40rem){.directory-screenshots[data-v-c560f8b3]{grid-template-columns:repeat(2,minmax(0,1fr))}}.directory-screenshots img[data-v-c560f8b3]{max-height:calc(var(--spacing,.25rem) * 56);border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));object-fit:cover;width:100%}.composio-status-card[data-v-c560f8b3]{min-height:calc(var(--spacing,.25rem) * 0)}.composio-fallback[data-v-c560f8b3]{background-color:var(--color-sky-100,oklch(95.1% .026 236.824));color:var(--color-sky-700,oklch(50% .134 242.749))}:is(:root.dark){color:var(--color-zinc-100,oklch(96.7% .001 286.375))}:is(:root.dark){color:var(--color-zinc-400,oklch(70.5% .015 286.067))}:is(:root.dark){color:var(--color-zinc-300,oklch(87.1% .006 286.286))}@media(hover:hover){:is(:root.dark):hover{color:var(--color-zinc-100,oklch(96.7% .001 286.375))}}:root.dark{border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-900,oklch(21% .006 285.885))}@media(hover:hover){:root.dark{border-color:var(--color-zinc-600,oklch(44.2% .017 285.786))}}.dark{border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-900,oklch(21% .006 285.885))}@media(hover:hover){.dark{border-color:var(--color-zinc-600,oklch(44.2% .017 285.786))}}:root.dark{background-color:var(--color-zinc-700,oklch(37% .013 285.805));color:var(--color-zinc-300,oklch(87.1% .006 286.286))}.dark{background-color:var(--color-zinc-700,oklch(37% .013 285.805));color:var(--color-zinc-300,oklch(87.1% .006 286.286))}.dark{color:var(--color-zinc-100,oklch(96.7% .001 286.375))}:root.dark{color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.dark{color:var(--color-zinc-400,oklch(70.5% .015 286.067))}:root.dark{color:var(--color-zinc-300,oklch(87.1% .006 286.286))}.dark{color:var(--color-zinc-300,oklch(87.1% .006 286.286))}.dark{color:var(--color-zinc-500,oklch(55.2% .016 285.938))}@media(prefers-color-scheme:dark){.mcp-skill-card[data-v-c560f8b3]{border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-900,oklch(21% .006 285.885))}@media(hover:hover){.mcp-skill-card[data-v-c560f8b3]:hover{border-color:var(--color-zinc-600,oklch(44.2% .017 285.786))}}.mcp-skill-avatar-fallback[data-v-c560f8b3]{background-color:var(--color-zinc-700,oklch(37% .013 285.805));color:var(--color-zinc-300,oklch(87.1% .006 286.286))}.mcp-skill-name[data-v-c560f8b3]{color:var(--color-zinc-100,oklch(96.7% .001 286.375))}.mcp-skill-owner[data-v-c560f8b3]{color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.mcp-skill-meta[data-v-c560f8b3]{color:var(--color-zinc-300,oklch(87.1% .006 286.286))}.mcp-skill-chevron[data-v-c560f8b3]{color:var(--color-zinc-500,oklch(55.2% .016 285.938))}}:is(:root.dark){border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-900,oklch(21% .006 285.885))}:root.dark{color:var(--color-zinc-100,oklch(96.7% .001 286.375))}:root.dark{color:var(--color-zinc-500,oklch(55.2% .016 285.938))}:root.dark{border-color:var(--color-zinc-500,oklch(55.2% .016 285.938))}:root.dark{border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-800,oklch(27.4% .006 286.033));color:var(--color-zinc-100,oklch(96.7% .001 286.375))}:root.dark{border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-950,oklch(14.1% .005 285.823))}:root.dark{border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-900,oklch(21% .006 285.885));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}:root.dark{border-color:#8b083699}@supports (color:color-mix(in lab,red,red)){:root.dark{border-color:color-mix(in oklab,var(--color-rose-900,oklch(41% .159 10.272)) 60%,transparent)}}:root.dark{background-color:#4d021899}@supports (color:color-mix(in lab,red,red)){:root.dark{background-color:color-mix(in oklab,var(--color-rose-950,oklch(27.1% .105 12.094)) 60%,transparent)}}:root.dark{color:var(--color-rose-300,oklch(81% .117 11.638))}:root.dark{background-color:var(--color-sky-950,oklch(29.3% .066 243.157));color:var(--color-sky-300,oklch(82.8% .111 230.318))}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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-leading{syntax:"*";inherits:false}
|
|
1
|
+
@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-b276a846],[data-v-b276a846]:before,[data-v-b276a846]:after,[data-v-b276a846]::backdrop{--tw-border-style:solid;--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-font-weight:initial;--tw-leading:initial}}}.skill-card[data-v-b276a846]{cursor:pointer;gap:calc(var(--spacing,.25rem) * 1.5);border-radius:var(--radius-xl,.75rem);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);padding:calc(var(--spacing,.25rem) * 3);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));flex-direction:column;display:flex}@media(hover:hover){.skill-card[data-v-b276a846]:hover{border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));--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)}}.skill-card.is-disabled[data-v-b276a846]{opacity:.5}.skill-card-top[data-v-b276a846]{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2.5);display:flex}.skill-card-avatar[data-v-b276a846]{height:calc(var(--spacing,.25rem) * 8);width:calc(var(--spacing,.25rem) * 8);background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));border-radius:3.40282e38px;flex-shrink:0}.skill-card-avatar-fallback[data-v-b276a846]{height:calc(var(--spacing,.25rem) * 8);width:calc(var(--spacing,.25rem) * 8);background-color:var(--color-zinc-200,oklch(92% .004 286.32));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-500,oklch(55.2% .016 285.938));text-transform:uppercase;border-radius:3.40282e38px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.skill-card-info[data-v-b276a846]{min-width:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * .5);flex-direction:column;flex:1;display:flex}.skill-card-header[data-v-b276a846]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.skill-card-name[data-v-b276a846]{text-overflow:ellipsis;white-space:nowrap;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-900,oklch(21% .006 285.885));overflow:hidden}.skill-card-badge[data-v-b276a846]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:10px;line-height:1;font-weight:var(--font-weight-medium,500);color:var(--color-emerald-700,oklch(50.8% .118 165.612));flex-shrink:0}.skill-card-badge-disabled[data-v-b276a846]{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-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:10px;line-height:1;font-weight:var(--font-weight-medium,500);color:var(--color-zinc-500,oklch(55.2% .016 285.938));flex-shrink:0}.skill-card-owner[data-v-b276a846]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.skill-card-browse[data-v-b276a846]{height:calc(var(--spacing,.25rem) * 7);width:calc(var(--spacing,.25rem) * 7);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);color:var(--color-zinc-300,oklch(87.1% .006 286.286));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;margin-left:auto;display:flex}@media(hover:hover){.skill-card-browse[data-v-b276a846]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));color:var(--color-zinc-600,oklch(44.2% .017 285.786))}}.skill-card-browse-icon[data-v-b276a846]{height:calc(var(--spacing,.25rem) * 4);width:calc(var(--spacing,.25rem) * 4)}.skill-card-desc[data-v-b276a846]{margin:calc(var(--spacing,.25rem) * 0);-webkit-line-clamp:2;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));-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.skill-card-date[data-v-b276a846]{color:var(--color-zinc-300,oklch(87.1% .006 286.286));font-size:10px}@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-8fb16c1e],[data-v-8fb16c1e]:before,[data-v-8fb16c1e]:after,[data-v-8fb16c1e]::backdrop{--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-font-weight:initial;--tw-border-style:solid;--tw-leading:initial}}}.sdm-overlay[data-v-8fb16c1e]{inset:calc(var(--spacing,.25rem) * 0);z-index:50;background-color:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.sdm-overlay[data-v-8fb16c1e]{background-color:color-mix(in oklab,var(--color-black,#000) 40%,transparent)}}@media(min-width:40rem){.sdm-overlay[data-v-8fb16c1e]{align-items:center}}.sdm-panel[data-v-8fb16c1e]{width:100%;max-height:90vh;max-width:var(--container-lg,32rem);border-top-left-radius:var(--radius-2xl,1rem);border-top-right-radius:var(--radius-2xl,1rem);background-color:var(--color-white,#fff);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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);flex-direction:column;display:flex;overflow:hidden}@media(min-width:40rem){.sdm-panel[data-v-8fb16c1e]{border-radius:var(--radius-2xl,1rem);max-height:80vh}}.sdm-header[data-v-8fb16c1e]{justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing,.25rem) * 3);padding:calc(var(--spacing,.25rem) * 4);padding-bottom:calc(var(--spacing,.25rem) * 3);flex-shrink:0;display:flex}@media(min-width:40rem){.sdm-header[data-v-8fb16c1e]{padding:calc(var(--spacing,.25rem) * 5)}}.sdm-title-area[data-v-8fb16c1e]{min-width:calc(var(--spacing,.25rem) * 0);align-items:center;gap:calc(var(--spacing,.25rem) * 3);display:flex}.sdm-avatar[data-v-8fb16c1e]{height:calc(var(--spacing,.25rem) * 10);width:calc(var(--spacing,.25rem) * 10);background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));border-radius:3.40282e38px;flex-shrink:0}.sdm-title-col[data-v-8fb16c1e]{min-width:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * .5);flex-direction:column;display:flex}.sdm-title-row[data-v-8fb16c1e]{min-width:calc(var(--spacing,.25rem) * 0);align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.sdm-title[data-v-8fb16c1e]{margin:calc(var(--spacing,.25rem) * 0);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)));--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}.sdm-badge-disabled[data-v-8fb16c1e]{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-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:10px;line-height:1;font-weight:var(--font-weight-medium,500);color:var(--color-zinc-500,oklch(55.2% .016 285.938));flex-shrink:0}.sdm-owner[data-v-8fb16c1e]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.sdm-close[data-v-8fb16c1e]{height:calc(var(--spacing,.25rem) * 7);width:calc(var(--spacing,.25rem) * 7);border-radius:var(--radius-lg,.5rem);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:flex}@media(hover:hover){.sdm-close[data-v-8fb16c1e]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));color:var(--color-zinc-700,oklch(37% .013 285.805))}}.sdm-close-icon[data-v-8fb16c1e]{height:calc(var(--spacing,.25rem) * 4);width:calc(var(--spacing,.25rem) * 4)}.sdm-body[data-v-8fb16c1e]{min-height:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 3);padding:calc(var(--spacing,.25rem) * 4);padding-top:calc(var(--spacing,.25rem) * 0);flex-direction:column;flex:1;display:flex;overflow-y:auto}@media(min-width:40rem){.sdm-body[data-v-8fb16c1e]{padding:calc(var(--spacing,.25rem) * 5)}}.sdm-desc[data-v-8fb16c1e]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-zinc-600,oklch(44.2% .017 285.786))}.sdm-readme-loading[data-v-8fb16c1e]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.sdm-readme[data-v-8fb16c1e]{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-top:calc(var(--spacing,.25rem) * 3);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-zinc-700,oklch(37% .013 285.805))}.sdm-readme[data-v-8fb16c1e] h2{margin-top:calc(var(--spacing,.25rem) * 3);margin-bottom:calc(var(--spacing,.25rem) * 1);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-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-800,oklch(27.4% .006 286.033))}.sdm-readme[data-v-8fb16c1e] h3{margin-top:calc(var(--spacing,.25rem) * 2);margin-bottom:calc(var(--spacing,.25rem) * 1);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-700,oklch(37% .013 285.805))}.sdm-readme[data-v-8fb16c1e] h4{margin-top:calc(var(--spacing,.25rem) * 2);margin-bottom: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-600,oklch(44.2% .017 285.786))}.sdm-readme[data-v-8fb16c1e] code{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 1);padding-block:calc(var(--spacing,.25rem) * .5);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);border-radius:.25rem;font-size:11px}.sdm-readme[data-v-8fb16c1e] ul{margin:calc(var(--spacing,.25rem) * 0);padding-left:calc(var(--spacing,.25rem) * 4);list-style-type:disc}.sdm-readme[data-v-8fb16c1e] li{margin-bottom:calc(var(--spacing,.25rem) * .5)}.sdm-readme[data-v-8fb16c1e] strong{--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.sdm-link[data-v-8fb16c1e]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-blue-600,oklch(54.6% .245 262.881));flex-shrink:0;text-decoration-line:none}@media(hover:hover){.sdm-link[data-v-8fb16c1e]:hover{color:var(--color-blue-700,oklch(48.8% .243 264.376));text-decoration-line:underline}}.sdm-footer[data-v-8fb16c1e]{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding:calc(var(--spacing,.25rem) * 4);padding-top:calc(var(--spacing,.25rem) * 3);flex-shrink:0}@media(min-width:40rem){.sdm-footer[data-v-8fb16c1e]{padding:calc(var(--spacing,.25rem) * 5)}}.sdm-footer-actions[data-v-8fb16c1e]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.sdm-btn[data-v-8fb16c1e]{border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing,.25rem) * 3);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)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);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-width:0}.sdm-btn[data-v-8fb16c1e]:disabled{cursor:not-allowed;opacity:.5}.sdm-btn-primary[data-v-8fb16c1e]{background-color:var(--color-zinc-900,oklch(21% .006 285.885));color:var(--color-white,#fff)}@media(hover:hover){.sdm-btn-primary[data-v-8fb16c1e]:hover{background-color:var(--color-black,#000)}}.sdm-btn-danger[data-v-8fb16c1e]{background-color:var(--color-rose-600,oklch(58.6% .253 17.585));color:var(--color-white,#fff)}@media(hover:hover){.sdm-btn-danger[data-v-8fb16c1e]:hover{background-color:var(--color-rose-700,oklch(51.4% .222 16.935))}}.sdm-btn-secondary[data-v-8fb16c1e]{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));color:var(--color-zinc-700,oklch(37% .013 285.805))}@media(hover:hover){.sdm-btn-secondary[data-v-8fb16c1e]:hover{background-color:var(--color-zinc-200,oklch(92% .004 286.32))}}@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-c1d170d0],[data-v-c1d170d0]:before,[data-v-c1d170d0]:after,[data-v-c1d170d0]::backdrop{--tw-font-weight:initial;--tw-border-style:solid}}}.skills-hub[data-v-c1d170d0]{width:100%;height:100%;max-width:var(--container-4xl,56rem);gap:calc(var(--spacing,.25rem) * 3);padding:calc(var(--spacing,.25rem) * 3);flex-direction:column;margin-inline:auto;display:flex;overflow-y:auto}@media(min-width:40rem){.skills-hub[data-v-c1d170d0]{gap:calc(var(--spacing,.25rem) * 4);padding:calc(var(--spacing,.25rem) * 6)}}.skills-hub-header[data-v-c1d170d0]{gap:calc(var(--spacing,.25rem) * 1);flex-direction:column;display:flex}.skills-hub-title[data-v-c1d170d0]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75 / 1.25)));--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))}@media(min-width:40rem){.skills-hub-title[data-v-c1d170d0]{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)))}}.skills-hub-subtitle[data-v-c1d170d0]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.skills-hub-sort[data-v-c1d170d0]{cursor:pointer;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);padding-inline:calc(var(--spacing,.25rem) * 2.5);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)));--tw-font-weight:var(--font-weight-medium,500);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){.skills-hub-sort[data-v-c1d170d0]:hover{border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));background-color:var(--color-zinc-50,oklch(98.5% 0 0))}}.skills-sync-panel[data-v-c1d170d0]{gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-xl,.75rem);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-50,oklch(98.5% 0 0));padding:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.skills-sync-header[data-v-c1d170d0]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);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-wrap:wrap;display:flex}.skills-sync-badge[data-v-c1d170d0]{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)))}.skills-sync-badge-link[data-v-c1d170d0]{color:var(--color-zinc-700,oklch(37% .013 285.805))}@media(hover:hover){.skills-sync-badge-link[data-v-c1d170d0]:hover{border-color:var(--color-zinc-400,oklch(70.5% .015 286.067));color:var(--color-zinc-900,oklch(21% .006 285.885))}}.skills-sync-device[data-v-c1d170d0]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-600,oklch(44.2% .017 285.786));flex-wrap:wrap;display:flex}.skills-sync-meta[data-v-c1d170d0]{align-items:center;gap: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-600,oklch(44.2% .017 285.786));flex-wrap:wrap;display:flex}.skills-sync-error[data-v-c1d170d0]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-rose-200,oklch(89.2% .058 10.001));background-color:var(--color-rose-50,oklch(96.9% .015 12.422));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-rose-700,oklch(51.4% .222 16.935))}.skills-sync-actions[data-v-c1d170d0]{gap:calc(var(--spacing,.25rem) * 2);flex-wrap:wrap;display:flex}.skills-hub-toast[data-v-c1d170d0]{border-radius:var(--radius-lg,.5rem);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);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)}.skills-hub-toast-success[data-v-c1d170d0]{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));color:var(--color-emerald-700,oklch(50.8% .118 165.612))}.skills-hub-toast-error[data-v-c1d170d0]{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-rose-200,oklch(89.2% .058 10.001));background-color:var(--color-rose-50,oklch(96.9% .015 12.422));color:var(--color-rose-700,oklch(51.4% .222 16.935))}.skills-hub-section[data-v-c1d170d0]{gap:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}.skills-hub-section-toggle[data-v-c1d170d0]{cursor:pointer;align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);border-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem) * 0);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-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));background-color:#0000;border-width:0;display:flex}@media(hover:hover){.skills-hub-section-toggle[data-v-c1d170d0]:hover{color:var(--color-zinc-900,oklch(21% .006 285.885))}}.skills-hub-section-title[data-v-c1d170d0]{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)}.skills-hub-section-chevron[data-v-c1d170d0]{height:calc(var(--spacing,.25rem) * 3.5);width:calc(var(--spacing,.25rem) * 3.5);transition-property:transform,translate,scale,rotate;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))}.skills-hub-section-chevron.is-open[data-v-c1d170d0]{rotate:90deg}.skills-hub-grid[data-v-c1d170d0]{gap:calc(var(--spacing,.25rem) * 3);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:40rem){.skills-hub-grid[data-v-c1d170d0]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:64rem){.skills-hub-grid[data-v-c1d170d0]{grid-template-columns:repeat(3,minmax(0,1fr))}}.skills-hub-loading[data-v-c1d170d0]{padding-block:calc(var(--spacing,.25rem) * 8);text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.skills-hub-error[data-v-c1d170d0]{border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-rose-200,oklch(89.2% .058 10.001));background-color:var(--color-rose-50,oklch(96.9% .015 12.422));padding-block:calc(var(--spacing,.25rem) * 4);text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-rose-600,oklch(58.6% .253 17.585))}.skills-hub-empty[data-v-c1d170d0]{padding-block:calc(var(--spacing,.25rem) * 8);text-align:center;font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}/*! tailwindcss v4.2.4 | 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-846e4ef2],[data-v-846e4ef2]:before,[data-v-846e4ef2]:after,[data-v-846e4ef2]::backdrop{--tw-font-weight:initial;--tw-border-style:solid;--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-leading:initial}}}.directory-hub[data-v-846e4ef2]{gap:calc(var(--spacing,.25rem) * 3);width:100%;height:100%;padding:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex;overflow-y:auto}@media(min-width:40rem){.directory-hub[data-v-846e4ef2]{padding:calc(var(--spacing,.25rem) * 6)}}.directory-header[data-v-846e4ef2]{width:100%;max-width:var(--container-5xl,64rem);justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing,.25rem) * 3);margin-inline:auto;display:flex}.directory-header-actions[data-v-846e4ef2]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.directory-title[data-v-846e4ef2]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75 / 1.25)));--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))}@media(min-width:40rem){.directory-title[data-v-846e4ef2]{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)))}}.directory-subtitle[data-v-846e4ef2]{margin:calc(var(--spacing,.25rem) * 0);margin-top:calc(var(--spacing,.25rem) * 1);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.directory-refresh[data-v-846e4ef2],.directory-action[data-v-846e4ef2],.directory-action-link[data-v-846e4ef2],.directory-modal-close[data-v-846e4ef2]{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);padding-inline:calc(var(--spacing,.25rem) * 3);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)));--tw-font-weight:var(--font-weight-medium,500);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;text-decoration-line:none}@media(hover:hover){:is(.directory-refresh[data-v-846e4ef2],.directory-action[data-v-846e4ef2],.directory-action-link[data-v-846e4ef2],.directory-modal-close[data-v-846e4ef2]):hover{border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));background-color:var(--color-zinc-50,oklch(98.5% 0 0))}}:is(.directory-refresh[data-v-846e4ef2],.directory-action[data-v-846e4ef2],.directory-action-link[data-v-846e4ef2],.directory-modal-close[data-v-846e4ef2]):disabled{cursor:not-allowed;opacity:.5}.directory-action.primary[data-v-846e4ef2]{border-color:var(--color-zinc-900,oklch(21% .006 285.885));background-color:var(--color-zinc-900,oklch(21% .006 285.885));color:var(--color-white,#fff)}@media(hover:hover){.directory-action.primary[data-v-846e4ef2]:hover{background-color:var(--color-black,#000)}}.directory-action.danger[data-v-846e4ef2]{border-color:var(--color-rose-600,oklch(58.6% .253 17.585));background-color:var(--color-rose-600,oklch(58.6% .253 17.585));color:var(--color-white,#fff)}@media(hover:hover){.directory-action.danger[data-v-846e4ef2]:hover{background-color:var(--color-rose-700,oklch(51.4% .222 16.935))}}.directory-tabs[data-v-846e4ef2]{width:100%;max-width:var(--container-5xl,64rem);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-zinc-100,oklch(96.7% .001 286.375));padding:calc(var(--spacing,.25rem) * 1);grid-template-columns:repeat(4,minmax(0,1fr));margin-inline:auto;display:grid}.directory-tab[data-v-846e4ef2]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);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)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-500,oklch(55.2% .016 285.938));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}@media(hover:hover){.directory-tab[data-v-846e4ef2]:hover{color:var(--color-zinc-800,oklch(27.4% .006 286.033))}}.directory-tab.is-active[data-v-846e4ef2]{background-color:var(--color-white,#fff);color:var(--color-zinc-900,oklch(21% .006 285.885));--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)}.directory-section[data-v-846e4ef2]{width:100%;max-width:var(--container-5xl,64rem);gap:calc(var(--spacing,.25rem) * 3);flex-direction:column;margin-inline:auto;display:flex}.directory-section-group[data-v-846e4ef2]{gap:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.skills-embedded-section[data-v-846e4ef2]{gap:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}.skills-embedded-toggle[data-v-846e4ef2]{cursor:pointer;align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);border-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem) * 0);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-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));background-color:#0000;border-width:0;display:flex}@media(hover:hover){.skills-embedded-toggle[data-v-846e4ef2]:hover{color:var(--color-zinc-900,oklch(21% .006 285.885))}}.skills-embedded-title[data-v-846e4ef2]{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)}.skills-embedded-chevron[data-v-846e4ef2]{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-leading:1;transition-property:transform,translate,scale,rotate;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));line-height:1;display:inline-block}.skills-embedded-chevron.is-open[data-v-846e4ef2]{rotate:90deg}.skills-embedded-body[data-v-846e4ef2]{gap:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.mcp-skill-grid[data-v-846e4ef2]{gap:calc(var(--spacing,.25rem) * 3);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:48rem){.mcp-skill-grid[data-v-846e4ef2]{grid-template-columns:repeat(2,minmax(0,1fr))}}.mcp-skill-card[data-v-846e4ef2]{cursor:pointer;gap:calc(var(--spacing,.25rem) * 1.5);border-radius:var(--radius-xl,.75rem);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:calc(var(--spacing,.25rem) * 3);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));flex-direction:column;display:flex}@media(hover:hover){.mcp-skill-card[data-v-846e4ef2]:hover{border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));--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)}}.mcp-skill-card-top[data-v-846e4ef2]{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2.5);display:flex}.mcp-skill-avatar-fallback[data-v-846e4ef2]{height:calc(var(--spacing,.25rem) * 8);width:calc(var(--spacing,.25rem) * 8);background-color:var(--color-zinc-200,oklch(92% .004 286.32));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-500,oklch(55.2% .016 285.938));text-transform:uppercase;border-radius:3.40282e38px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mcp-skill-info[data-v-846e4ef2]{min-width:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * .5);flex-direction:column;flex:1;display:flex}.mcp-skill-header[data-v-846e4ef2]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.mcp-skill-name[data-v-846e4ef2]{text-overflow:ellipsis;white-space:nowrap;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-900,oklch(21% .006 285.885));overflow:hidden}.mcp-skill-owner[data-v-846e4ef2]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.mcp-skill-meta[data-v-846e4ef2]{margin:calc(var(--spacing,.25rem) * 0);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))}.mcp-skill-chevron[data-v-846e4ef2]{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-leading:1;color:var(--color-zinc-400,oklch(70.5% .015 286.067));transition-property:transform,translate,scale,rotate;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));line-height:1;display:inline-block}.mcp-skill-chevron.is-open[data-v-846e4ef2]{rotate:90deg}.mcp-skill-badge[data-v-846e4ef2]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:10px;line-height:1;font-weight:var(--font-weight-medium,500);border-width:1px;flex-shrink:0}.mcp-skill-badge-ok[data-v-846e4ef2]{border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));color:var(--color-emerald-700,oklch(50.8% .118 165.612))}.mcp-skill-badge-warning[data-v-846e4ef2]{border-color:var(--color-amber-200,oklch(92.4% .12 95.746));background-color:var(--color-amber-50,oklch(98.7% .022 95.277));color:var(--color-amber-700,oklch(55.5% .163 48.998))}.mcp-skill-badge-muted[data-v-846e4ef2]{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-500,oklch(55.2% .016 285.938))}.directory-section-actions[data-v-846e4ef2]{justify-content:flex-end;display:flex}.directory-toolbar[data-v-846e4ef2]{gap:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}@media(min-width:40rem){.directory-toolbar[data-v-846e4ef2]{flex-direction:row;justify-content:space-between;align-items:center}}.directory-search[data-v-846e4ef2]{min-width:calc(var(--spacing,.25rem) * 0);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);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));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;flex:1}.directory-search[data-v-846e4ef2]::placeholder{color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.directory-search[data-v-846e4ef2]:focus{border-color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.directory-sort-group[data-v-846e4ef2]{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-zinc-100,oklch(96.7% .001 286.375));padding:calc(var(--spacing,.25rem) * 1);display:inline-flex}.directory-sort-button[data-v-846e4ef2]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:calc(var(--spacing,.25rem) * 1);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-500,oklch(55.2% .016 285.938));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}@media(hover:hover){.directory-sort-button[data-v-846e4ef2]:hover{color:var(--color-zinc-800,oklch(27.4% .006 286.033))}}.directory-sort-button.is-active[data-v-846e4ef2]{background-color:var(--color-white,#fff);color:var(--color-zinc-900,oklch(21% .006 285.885));--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)}.directory-grid[data-v-846e4ef2]{gap:calc(var(--spacing,.25rem) * 3);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:48rem){.directory-grid[data-v-846e4ef2]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:80rem){.directory-grid[data-v-846e4ef2]{grid-template-columns:repeat(3,minmax(0,1fr))}}.directory-list[data-v-846e4ef2]{gap:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.directory-card[data-v-846e4ef2]{min-height:calc(var(--spacing,.25rem) * 36);gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-xl,.75rem);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);padding:calc(var(--spacing,.25rem) * 3);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));flex-direction:column;display:flex}@media(hover:hover){.directory-card[data-v-846e4ef2]:hover{border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));--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)}}button.directory-card[data-v-846e4ef2]{cursor:pointer}.directory-card.is-disabled[data-v-846e4ef2]{opacity:.6}.directory-card-wide[data-v-846e4ef2]{min-height:calc(var(--spacing,.25rem) * 0)}.directory-card-top[data-v-846e4ef2]{min-width:calc(var(--spacing,.25rem) * 0);align-items:flex-start;gap:calc(var(--spacing,.25rem) * 3);display:flex}.directory-card-icon[data-v-846e4ef2],.directory-card-fallback[data-v-846e4ef2]{height:calc(var(--spacing,.25rem) * 10);width:calc(var(--spacing,.25rem) * 10);border-radius:var(--radius-xl,.75rem);background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));object-fit:cover;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-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-500,oklch(55.2% .016 285.938));text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;display:flex}.directory-card-main[data-v-846e4ef2]{min-width:calc(var(--spacing,.25rem) * 0);flex:1}.directory-card-title-row[data-v-846e4ef2]{min-width:calc(var(--spacing,.25rem) * 0);align-items:center;gap:calc(var(--spacing,.25rem) * 2);display:flex}.directory-card-title[data-v-846e4ef2]{text-overflow:ellipsis;white-space:nowrap;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-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-900,oklch(21% .006 285.885));overflow:hidden}.directory-card-meta[data-v-846e4ef2]{margin-top:calc(var(--spacing,.25rem) * .5);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)));color:var(--color-zinc-400,oklch(70.5% .015 286.067));display:block;overflow:hidden}.directory-card-description[data-v-846e4ef2]{margin:calc(var(--spacing,.25rem) * 0);-webkit-line-clamp:3;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-zinc-500,oklch(55.2% .016 285.938));-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.directory-badge[data-v-846e4ef2]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:10px;line-height:1;font-weight:var(--font-weight-medium,500);color:var(--color-emerald-700,oklch(50.8% .118 165.612));flex-shrink:0}.directory-badge.is-muted[data-v-846e4ef2]{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-500,oklch(55.2% .016 285.938))}.directory-chip-row[data-v-846e4ef2]{gap:calc(var(--spacing,.25rem) * 1.5);flex-wrap:wrap;display:flex}.directory-chip[data-v-846e4ef2]{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-50,oklch(98.5% 0 0));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-zinc-500,oklch(55.2% .016 285.938))}.directory-card-actions[data-v-846e4ef2]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);padding-top:calc(var(--spacing,.25rem) * 1);margin-top:auto;display:flex}.directory-loading[data-v-846e4ef2],.directory-empty[data-v-846e4ef2],.directory-error[data-v-846e4ef2]{border-radius:var(--radius-xl,.75rem);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);padding:calc(var(--spacing,.25rem) * 4);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.directory-empty-copy[data-v-846e4ef2]{gap:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.directory-empty-text[data-v-846e4ef2]{margin:calc(var(--spacing,.25rem) * 0)}.directory-error[data-v-846e4ef2],.directory-toast.is-error[data-v-846e4ef2],.directory-auth-status.is-error[data-v-846e4ef2]{border-color:var(--color-rose-200,oklch(89.2% .058 10.001));background-color:var(--color-rose-50,oklch(96.9% .015 12.422));color:var(--color-rose-700,oklch(51.4% .222 16.935))}.directory-toast[data-v-846e4ef2]{width:100%;max-width:var(--container-5xl,64rem);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);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-emerald-700,oklch(50.8% .118 165.612));margin-inline:auto}.directory-card-toggle[data-v-846e4ef2]{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 3);border-style:var(--tw-border-style);width:100%;padding:calc(var(--spacing,.25rem) * 0);text-align:left;background-color:#0000;border-width:0;display:flex}.directory-mcp-detail[data-v-846e4ef2]{gap:calc(var(--spacing,.25rem) * 3);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-top:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.directory-mini-heading[data-v-846e4ef2],.directory-detail-heading[data-v-846e4ef2]{margin:calc(var(--spacing,.25rem) * 0);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-700,oklch(37% .013 285.805))}.directory-mini-list[data-v-846e4ef2]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.directory-modal-overlay[data-v-846e4ef2]{inset:calc(var(--spacing,.25rem) * 0);z-index:50;background-color:#0006;justify-content:center;align-items:flex-end;display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.directory-modal-overlay[data-v-846e4ef2]{background-color:color-mix(in oklab,var(--color-black,#000) 40%,transparent)}}@media(min-width:40rem){.directory-modal-overlay[data-v-846e4ef2]{align-items:center}}.directory-modal[data-v-846e4ef2]{width:100%;max-height:90vh;max-width:var(--container-2xl,42rem);border-top-left-radius:var(--radius-2xl,1rem);border-top-right-radius:var(--radius-2xl,1rem);background-color:var(--color-white,#fff);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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);flex-direction:column;display:flex;overflow:hidden}@media(min-width:40rem){.directory-modal[data-v-846e4ef2]{border-radius:var(--radius-2xl,1rem);max-height:82vh}}.directory-modal-header[data-v-846e4ef2],.directory-modal-footer[data-v-846e4ef2]{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 3);padding:calc(var(--spacing,.25rem) * 4);flex-shrink:0;display:flex}@media(min-width:40rem){.directory-modal-header[data-v-846e4ef2],.directory-modal-footer[data-v-846e4ef2]{padding:calc(var(--spacing,.25rem) * 5)}}.directory-modal-header[data-v-846e4ef2]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-zinc-100,oklch(96.7% .001 286.375))}.directory-modal-footer[data-v-846e4ef2]{border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-zinc-100,oklch(96.7% .001 286.375));justify-content:flex-end}.directory-modal-title[data-v-846e4ef2]{margin:calc(var(--spacing,.25rem) * 0);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)));--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}.directory-modal-body[data-v-846e4ef2]{min-height:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 4);padding:calc(var(--spacing,.25rem) * 4);flex-direction:column;flex:1;display:flex;overflow-y:auto}@media(min-width:40rem){.directory-modal-body[data-v-846e4ef2]{padding:calc(var(--spacing,.25rem) * 5)}}.directory-detail-description[data-v-846e4ef2]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-zinc-600,oklch(44.2% .017 285.786))}.directory-detail-grid[data-v-846e4ef2]{gap:calc(var(--spacing,.25rem) * 3);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:40rem){.directory-detail-grid[data-v-846e4ef2]{grid-template-columns:repeat(2,minmax(0,1fr))}}.directory-detail-block[data-v-846e4ef2],.directory-auth-panel[data-v-846e4ef2]{border-radius:var(--radius-xl,.75rem);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-50,oklch(98.5% 0 0));padding:calc(var(--spacing,.25rem) * 3)}.directory-include-row[data-v-846e4ef2]{margin-top:calc(var(--spacing,.25rem) * 2);justify-content:space-between;align-items:center;gap: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-600,oklch(44.2% .017 285.786));display:flex}.directory-auth-status[data-v-846e4ef2]{margin-left:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:10px;line-height:1;font-weight:var(--font-weight-medium,500);border-width:1px;display:inline-flex}.directory-auth-status.is-ok[data-v-846e4ef2]{border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));color:var(--color-emerald-700,oklch(50.8% .118 165.612))}.directory-auth-status.is-warning[data-v-846e4ef2]{border-color:var(--color-amber-200,oklch(92.4% .12 95.746));background-color:var(--color-amber-50,oklch(98.7% .022 95.277));color:var(--color-amber-700,oklch(55.5% .163 48.998))}.directory-auth-status.is-muted[data-v-846e4ef2]{border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.directory-include-row button[data-v-846e4ef2]{border-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem) * 0);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-blue-600,oklch(54.6% .245 262.881));background-color:#0000;border-width:0}@media(hover:hover){.directory-include-row button[data-v-846e4ef2]:hover{text-decoration-line:underline}}.directory-screenshots[data-v-846e4ef2]{gap:calc(var(--spacing,.25rem) * 3);grid-template-columns:repeat(1,minmax(0,1fr));display:grid}@media(min-width:40rem){.directory-screenshots[data-v-846e4ef2]{grid-template-columns:repeat(2,minmax(0,1fr))}}.directory-screenshots img[data-v-846e4ef2]{max-height:calc(var(--spacing,.25rem) * 56);border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));object-fit:cover;width:100%}.composio-status-card[data-v-846e4ef2]{min-height:calc(var(--spacing,.25rem) * 0)}.composio-fallback[data-v-846e4ef2]{background-color:var(--color-sky-100,oklch(95.1% .026 236.824));color:var(--color-sky-700,oklch(50% .134 242.749))}:is(:root.dark){color:var(--color-zinc-100,oklch(96.7% .001 286.375))}:is(:root.dark){color:var(--color-zinc-400,oklch(70.5% .015 286.067))}:is(:root.dark){color:var(--color-zinc-300,oklch(87.1% .006 286.286))}@media(hover:hover){:is(:root.dark):hover{color:var(--color-zinc-100,oklch(96.7% .001 286.375))}}:root.dark{border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-900,oklch(21% .006 285.885))}@media(hover:hover){:root.dark{border-color:var(--color-zinc-600,oklch(44.2% .017 285.786))}}.dark{border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-900,oklch(21% .006 285.885))}@media(hover:hover){.dark{border-color:var(--color-zinc-600,oklch(44.2% .017 285.786))}}:root.dark{background-color:var(--color-zinc-700,oklch(37% .013 285.805));color:var(--color-zinc-300,oklch(87.1% .006 286.286))}.dark{background-color:var(--color-zinc-700,oklch(37% .013 285.805));color:var(--color-zinc-300,oklch(87.1% .006 286.286))}.dark{color:var(--color-zinc-100,oklch(96.7% .001 286.375))}:root.dark{color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.dark{color:var(--color-zinc-400,oklch(70.5% .015 286.067))}:root.dark{color:var(--color-zinc-300,oklch(87.1% .006 286.286))}.dark{color:var(--color-zinc-300,oklch(87.1% .006 286.286))}.dark{color:var(--color-zinc-500,oklch(55.2% .016 285.938))}@media(prefers-color-scheme:dark){.mcp-skill-card[data-v-846e4ef2]{border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-900,oklch(21% .006 285.885))}@media(hover:hover){.mcp-skill-card[data-v-846e4ef2]:hover{border-color:var(--color-zinc-600,oklch(44.2% .017 285.786))}}.mcp-skill-avatar-fallback[data-v-846e4ef2]{background-color:var(--color-zinc-700,oklch(37% .013 285.805));color:var(--color-zinc-300,oklch(87.1% .006 286.286))}.mcp-skill-name[data-v-846e4ef2]{color:var(--color-zinc-100,oklch(96.7% .001 286.375))}.mcp-skill-owner[data-v-846e4ef2]{color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.mcp-skill-meta[data-v-846e4ef2]{color:var(--color-zinc-300,oklch(87.1% .006 286.286))}.mcp-skill-chevron[data-v-846e4ef2]{color:var(--color-zinc-500,oklch(55.2% .016 285.938))}}:is(:root.dark){border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-900,oklch(21% .006 285.885))}:root.dark{color:var(--color-zinc-100,oklch(96.7% .001 286.375))}:root.dark{color:var(--color-zinc-500,oklch(55.2% .016 285.938))}:root.dark{border-color:var(--color-zinc-500,oklch(55.2% .016 285.938))}:root.dark{border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-800,oklch(27.4% .006 286.033));color:var(--color-zinc-100,oklch(96.7% .001 286.375))}:root.dark{border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-950,oklch(14.1% .005 285.823))}:root.dark{border-color:var(--color-zinc-700,oklch(37% .013 285.805));background-color:var(--color-zinc-900,oklch(21% .006 285.885));color:var(--color-zinc-400,oklch(70.5% .015 286.067))}:root.dark{border-color:#8b083699}@supports (color:color-mix(in lab,red,red)){:root.dark{border-color:color-mix(in oklab,var(--color-rose-900,oklch(41% .159 10.272)) 60%,transparent)}}:root.dark{background-color:#4d021899}@supports (color:color-mix(in lab,red,red)){:root.dark{background-color:color-mix(in oklab,var(--color-rose-950,oklch(27.1% .105 12.094)) 60%,transparent)}}:root.dark{color:var(--color-rose-300,oklch(81% .117 11.638))}:root.dark{background-color:var(--color-sky-950,oklch(29.3% .066 243.157));color:var(--color-sky-300,oklch(82.8% .111 230.318))}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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-leading{syntax:"*";inherits:false}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index.esm-BMAgl1KF.js","assets/index.esm-O-ekzJz9.js","assets/index.esm-TywpZG2x.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{d as Fe,o,c as l,h as F,a as s,t as i,s as r,f as c,p as Ue,j as Ie,S as Cs,J as Ze,y as S,_ as Me,w as Se,A as Ne,m as ws,U as qe,r as u,z as Nt,b as Mt,v as De,V as $s,W as Ss,F as G,g as K,L as Ve,X as We,q as Is,x as As,Y as Ps,Z as Ls,$ as Es,a0 as Ts,a1 as Us,a2 as Ns,a3 as Ds,a4 as Fs,a5 as Ms,a6 as Os,a7 as xs,a8 as Rs,a9 as Gs,aa as js,ab as Hs,ac as Dt,ad as Bs}from"./index-DzzwK-KG.js";const Ks={class:"skill-card-top"},zs=["src","alt"],Vs={key:1,class:"skill-card-avatar-fallback"},Ws={class:"skill-card-info"},Js={class:"skill-card-header"},qs={class:"skill-card-name"},Zs={key:0,class:"skill-card-badge-disabled"},Qs={key:1,class:"skill-card-badge"},Ys={class:"skill-card-owner"},Xs=["title"],eo={key:0,class:"skill-card-desc"},to={key:1,class:"skill-card-date"},so=Fe({__name:"SkillCard",props:{skill:{}},emits:["select"],setup(y){const q=y,{t:g}=Ze(),L=S(()=>{const _=q.skill.path;return _?_.endsWith("/SKILL.md")?_.slice(0,-9):_:""});function N(){const _=L.value;_&&window.open(`/codex-local-browse${encodeURI(_)}`,"_blank","noopener,noreferrer")}const O=S(()=>{const _=q.skill.publishedAt;if(!_)return"";const I=new Date(_),m=Date.now()-_;return m<36e5?`${Math.floor(m/6e4)}m ago`:m<864e5?`${Math.floor(m/36e5)}h ago`:m<2592e6?`${Math.floor(m/864e5)}d ago`:I.toLocaleDateString("en-US",{month:"short",day:"numeric"})});function j(_){const I=_.target;I.style.display="none"}return(_,I)=>(o(),l("button",{class:F(["skill-card",{"is-disabled":y.skill.installed&&y.skill.enabled===!1}]),type:"button",onClick:I[0]||(I[0]=x=>_.$emit("select",y.skill))},[s("div",Ks,[y.skill.avatarUrl?(o(),l("img",{key:0,class:"skill-card-avatar",src:y.skill.avatarUrl,alt:y.skill.owner,loading:"lazy",onError:j},null,40,zs)):(o(),l("div",Vs,i(y.skill.owner.charAt(0)),1)),s("div",Ws,[s("div",Js,[s("span",qs,i(y.skill.displayName||y.skill.name),1),y.skill.installed&&y.skill.enabled===!1?(o(),l("span",Zs,i(r(g)("Disabled")),1)):y.skill.installed?(o(),l("span",Qs,i(r(g)("Installed")),1)):c("",!0)]),s("span",Ys,i(y.skill.owner),1)]),y.skill.installed&&L.value?(o(),l("button",{key:2,class:"skill-card-browse",type:"button",title:r(g)("Browse files"),onClick:Ue(N,["stop"])},[Ie(Cs,{class:"skill-card-browse-icon"})],8,Xs)):c("",!0)]),y.skill.description?(o(),l("p",eo,i(y.skill.description),1)):c("",!0),O.value?(o(),l("span",to,i(O.value),1)):c("",!0)],2))}}),oo=Me(so,[["__scopeId","data-v-b276a846"]]),ao={class:"sdm-panel"},lo={class:"sdm-header"},io={class:"sdm-title-area"},no=["src","alt"],ro={class:"sdm-title-col"},co={class:"sdm-title-row"},uo={class:"sdm-title"},yo={key:0,class:"sdm-badge-disabled"},vo={class:"sdm-owner"},po=["aria-label"],ho={class:"sdm-body"},mo={key:0,class:"sdm-desc"},go={key:1,class:"sdm-readme-loading"},ko=["innerHTML"],fo=["href"],bo={class:"sdm-footer"},_o={class:"sdm-footer-actions"},Co=["disabled"],wo=["disabled"],$o=["disabled"],So=["disabled"],Io=Fe({__name:"SkillDetailModal",props:{skill:{},visible:{type:Boolean},isInstalling:{type:Boolean},isUninstalling:{type:Boolean},isTrying:{type:Boolean}},emits:["close","install","uninstall","toggle-enabled","try"],setup(y,{emit:q}){const g=y,L=q,N=u(null),O=u(""),j=u(""),_=u(!1),{t:I}=Ze(),x=S(()=>N.value??g.skill.enabled??!0),m=S(()=>g.isInstalling===!0||g.isUninstalling===!0),H=S(()=>O.value||g.skill.description),V=S(()=>{const k=g.skill.path;return k?k.endsWith("/SKILL.md")?k.slice(0,-9):k:""}),Y=S(()=>{const k=j.value;if(!k)return"";const P=k.replace(/^---[\s\S]*?---\s*/,"");return w(P)});function w(k){return k.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 D(){if(!(!g.skill.owner||!g.skill.name)){_.value=!0,O.value="",j.value="";try{const k=new URLSearchParams({owner:g.skill.owner,name:g.skill.name});g.skill.installed&&k.set("installed","true"),g.skill.path&&k.set("path",g.skill.path);const P=await fetch(`/codex-api/skills-hub/readme?${k}`);if(!P.ok)return;const T=await P.json();j.value=T.content??"",O.value=T.description??""}catch{}finally{_.value=!1}}}Se(()=>g.visible,k=>{k&&(N.value=null,O.value="",j.value="",D())});function R(){L("install",g.skill)}function v(){L("uninstall",g.skill)}function p(){const k=!x.value;N.value=k,L("toggle-enabled",g.skill,k)}function Z(){g.isTrying||L("try",g.skill)}function B(){const k=V.value;k&&window.open(`/codex-local-browse${encodeURI(k)}`,"_blank","noopener,noreferrer")}return(k,P)=>(o(),Ne(qe,{to:"body"},[y.visible?(o(),l("div",{key:0,class:"sdm-overlay",onClick:P[1]||(P[1]=Ue(T=>k.$emit("close"),["self"]))},[s("div",ao,[s("div",lo,[s("div",io,[y.skill.avatarUrl?(o(),l("img",{key:0,class:"sdm-avatar",src:y.skill.avatarUrl,alt:y.skill.owner,loading:"lazy"},null,8,no)):c("",!0),s("div",ro,[s("div",co,[s("h3",uo,i(y.skill.displayName||y.skill.name),1),y.skill.installed&&!x.value?(o(),l("span",yo,i(r(I)("Disabled")),1)):c("",!0)]),s("span",vo,i(y.skill.owner),1)])]),s("button",{class:"sdm-close",type:"button","aria-label":r(I)("Close"),onClick:P[0]||(P[0]=T=>k.$emit("close"))},[Ie(ws,{class:"sdm-close-icon"})],8,po)]),s("div",ho,[H.value?(o(),l("p",mo,i(H.value),1)):c("",!0),_.value?(o(),l("div",go,i(r(I)("Loading skill contents...")),1)):j.value?(o(),l("div",{key:2,class:"sdm-readme",innerHTML:Y.value},null,8,ko)):c("",!0),s("a",{class:"sdm-link",href:y.skill.url,target:"_blank",rel:"noopener noreferrer"},i(r(I)("View on GitHub")),9,fo)]),s("div",bo,[s("div",_o,[y.skill.installed?(o(),l("button",{key:0,class:"sdm-btn sdm-btn-danger",type:"button",disabled:m.value,onClick:v},i(g.isUninstalling?r(I)("Uninstalling..."):r(I)("Uninstall")),9,Co)):(o(),l("button",{key:1,class:"sdm-btn sdm-btn-primary",type:"button",disabled:m.value,onClick:R},i(g.isInstalling?r(I)("Installing..."):r(I)("Install")),9,wo)),y.skill.installed?(o(),l("button",{key:2,class:"sdm-btn sdm-btn-secondary",type:"button",disabled:m.value,onClick:p},i(x.value?r(I)("Disable"):r(I)("Enable")),9,$o)):c("",!0),y.skill.installed&&x.value?(o(),l("button",{key:3,class:"sdm-btn sdm-btn-primary",type:"button",disabled:m.value||g.isTrying,onClick:Z},i(g.isTrying?"Starting...":"Try it!"),9,So)):c("",!0),y.skill.installed&&V.value?(o(),l("button",{key:4,class:"sdm-btn sdm-btn-secondary",type:"button",onClick:B},i(r(I)("Browse files")),1)):c("",!0)])])])])):c("",!0)]))}}),Ao=Me(Io,[["__scopeId","data-v-8fb16c1e"]]),Po={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 Je=null;function Lo(){return Je||(Je=Promise.all([Nt(()=>import("./index.esm-BMAgl1KF.js"),__vite__mapDeps([0,1])),Nt(()=>import("./index.esm-TywpZG2x.js"),__vite__mapDeps([2,1]))])),Je}function Eo(y){const q=u(null),g=u(""),L=u(""),N=u(""),O=u({loggedIn:!1,githubUsername:"",repoOwner:"",repoName:"",configured:!1,startup:{inProgress:!1,mode:"idle",branch:"main",lastAction:"not-started",lastRunAtIso:"",lastSuccessAtIso:"",lastError:""}}),j=S(()=>N.value==="pull"),_=S(()=>N.value==="push"),I=S(()=>N.value==="startup-sync"),x=S(()=>N.value!=="");async function m(){try{const v=await fetch("/codex-api/skills-sync/status");if(!v.ok)return;const p=await v.json();p.data&&(O.value=p.data)}catch{}}async function H(){try{const v=await fetch("/codex-api/skills-sync/github/start-login",{method:"POST"}),p=await v.json();if(!v.ok||!p.data)throw new Error("Failed to start GitHub login");q.value=p.data;const Z=30,B=Math.max((p.data.interval??5)*1e3,3e3);let k=!1;for(let P=0;P<Z;P++){await new Promise(J=>setTimeout(J,B));const T=await fetch("/codex-api/skills-sync/github/complete-login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:p.data.device_code})}),W=await T.json();if(!T.ok)throw new Error(W.error||"Failed to complete GitHub login");if(W.ok){k=!0;break}if(!W.pending)throw new Error(W.error||"Failed to complete GitHub login")}if(!k)throw new Error("GitHub login timed out. Please retry.");q.value=null,await m(),y.showToast("GitHub login successful")}catch(v){y.showToast(v instanceof Error?v.message:"Failed GitHub login","error")}}async function V(){try{const[v,p]=await Lo(),{getApp:Z,getApps:B,initializeApp:k}=v,{getAuth:P,GithubAuthProvider:T,signInWithPopup:W}=p,J=B().length>0?Z():k(Po),le=P(J),oe=new T;oe.addScope("repo");const Q=await W(le,oe),te=T.credentialFromResult(Q),ie=(te==null?void 0:te.accessToken)??"";if(!ie)throw new Error("GitHub access token missing from Firebase login");const ae=await fetch("/codex-api/skills-sync/github/token-login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({token:ie})}),X=await ae.json();if(!ae.ok||!X.ok)throw new Error(X.error||"Failed to login with GitHub token");await m(),y.showToast("GitHub login successful")}catch(v){const p=v instanceof Error?v.message:"Failed Firebase GitHub login";y.showToast(p,"error")}}async function Y(){L.value="",g.value="pull-started",N.value="pull";try{const v=await fetch("/codex-api/skills-sync/pull",{method:"POST"}),p=await v.json();if(!v.ok||!p.ok)throw new Error(p.error||"Failed to pull synced skills");await y.onPulled(),g.value="pull-success",y.showToast(O.value.loggedIn?"Pulled skills from private sync repo":"Pulled skills from upstream repo")}catch(v){const p=v instanceof Error?v.message:"Failed to pull sync";L.value=p,g.value="pull-failed",y.showToast(p,"error")}finally{N.value=""}}async function w(){L.value="",g.value="push-started",N.value="push";try{const v=await fetch("/codex-api/skills-sync/push",{method:"POST"}),p=await v.json();if(!v.ok||!p.ok)throw new Error(p.error||"Failed to push synced skills");g.value="push-success",y.showToast("Pushed skills to private sync repo")}catch(v){const p=v instanceof Error?v.message:"Failed to push sync";L.value=p,g.value="push-failed",y.showToast(p,"error")}finally{N.value=""}}async function D(){L.value="",g.value="startup-sync-started",N.value="startup-sync";try{const v=await fetch("/codex-api/skills-sync/startup-sync",{method:"POST"}),p=await v.json();if(!v.ok||!p.ok)throw new Error(p.error||"Failed to run startup sync");await y.onPulled(),await m(),g.value="startup-sync-success",y.showToast("Startup sync completed")}catch(v){const p=v instanceof Error?v.message:"Failed startup sync";L.value=p,g.value="startup-sync-failed",y.showToast(p,"error")}finally{N.value=""}}async function R(){try{const v=await fetch("/codex-api/skills-sync/github/logout",{method:"POST"}),p=await v.json();if(!v.ok||!p.ok)throw new Error(p.error||"Failed to logout GitHub");await m(),y.showToast("Logged out from GitHub")}catch(v){y.showToast(v instanceof Error?v.message:"Failed to logout GitHub","error")}}return{deviceLogin:q,isPullInFlight:j,isPushInFlight:_,isStartupSyncInFlight:I,isSyncActionInFlight:x,loadSyncStatus:m,logoutGithub:R,pullSkillsSync:Y,pushSkillsSync:w,startupSkillsSync:D,startGithubFirebaseLogin:V,startGithubLogin:H,syncActionError:L,syncActionStatus:g,syncStatus:O}}const To={class:"skills-hub"},Uo={class:"skills-hub-header"},No={class:"skills-hub-title"},Do={class:"skills-hub-subtitle"},Fo={class:"skills-sync-panel"},Mo={class:"skills-sync-header"},Oo=["href"],xo={key:1,class:"skills-sync-badge"},Ro={key:2,class:"skills-sync-badge"},Go={class:"skills-sync-meta"},jo={key:0,class:"skills-sync-error"},Ho={key:1,class:"skills-sync-meta"},Bo={key:2,class:"skills-sync-error"},Ko={key:3,class:"skills-sync-device"},zo=["href"],Vo={class:"skills-sync-actions"},Wo=["disabled"],Jo=["disabled"],qo=["disabled"],Zo=["disabled"],Qo={key:1,class:"skills-hub-section"},Yo={class:"skills-hub-section-title"},Xo={key:0,class:"skills-hub-grid"},ea={class:"skills-hub-section"},ta={key:0,class:"skills-hub-loading"},sa={key:1,class:"skills-hub-error"},oa={key:2,class:"skills-hub-empty"},aa=Fe({__name:"SkillsHub",props:{tryInFlightKey:{}},emits:["skills-changed","try-item"],setup(y,{emit:q}){const g={name:"",owner:"",description:"",url:"",installed:!1},L=u([]),N=u(!1),O=u(""),j=u(!0),_=u(!1),I=u(g),x=u(null),m=u(""),H=u(!1),V=u(!1);let Y=null;const{t:w}=Ze(),D=y,R=q,v=S(()=>{var d;return((d=x.value)==null?void 0:d.type)==="error"?"skills-hub-toast-error":"skills-hub-toast-success"}),p=S(()=>`${I.value.owner}/${I.value.name}`),Z=S(()=>H.value&&m.value===p.value),B=S(()=>V.value&&m.value===p.value),k=S(()=>{if(!U.value.configured)return"";const d=U.value.repoOwner.trim(),C=U.value.repoName.trim();return!d||!C?"":`https://github.com/${encodeURIComponent(d)}/${encodeURIComponent(C)}`}),P=S(()=>L.value);function T(d,C="success"){x.value={text:d,type:C},Y&&clearTimeout(Y),Y=setTimeout(()=>{x.value=null},3e3)}function W(d){L.value=d.installed??[]}async function J(){N.value=!0,O.value="";try{const d=await fetch("/codex-api/skills-hub");if(!d.ok)throw new Error(`HTTP ${d.status}`);const C=await d.json();W(C)}catch(d){O.value=d instanceof Error?d.message:"Failed to load skills"}finally{N.value=!1}}function le(d){I.value=d,_.value=!0}async function oe(d){m.value=`${d.owner}/${d.name}`,H.value=!0;try{const $=await(await fetch("/codex-api/skills-hub/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({owner:d.owner,name:d.name})})).json();if(!$.ok)throw new Error($.error||"Install failed");const ee={...d,installed:!0,path:$.path,enabled:!0};L.value=[...L.value,ee],I.value=ee,T(`${d.displayName||d.name} skill installed`),_.value=!1,R("skills-changed")}catch(C){T(C instanceof Error?C.message:"Failed to install skill","error")}finally{H.value=!1}}async function Q(d){m.value=`${d.owner}/${d.name}`,V.value=!0;try{const $=await(await fetch("/codex-api/skills-hub/uninstall",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:d.name,path:d.path})})).json();if(!$.ok)throw new Error($.error||"Uninstall failed");L.value=L.value.filter(ee=>ee.name!==d.name),T(`${d.displayName||d.name} skill uninstalled`),_.value=!1,R("skills-changed")}catch(C){T(C instanceof Error?C.message:"Failed to uninstall skill","error")}finally{V.value=!1}}async function te(d,C){try{if(!(await fetch("/codex-api/rpc",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({method:"skills/config/write",params:{path:d.path,enabled:C}})})).ok)throw new Error("Failed to update skill");await fetch("/codex-api/skills-sync/push",{method:"POST"}),T(`${d.displayName||d.name} skill ${C?"enabled":"disabled"}`),await J()}catch($){T($ instanceof Error?$.message:"Failed to update skill","error")}}function ie(d){!d.installed||d.enabled===!1||D.tryInFlightKey||(R("try-item",{kind:"skill",name:d.name,displayName:d.displayName||d.name,skillPath:d.path}),_.value=!1)}function ae(d){return`skill:${d.name}:${d.path??""}`}const{deviceLogin:X,isPullInFlight:ye,isPushInFlight:ve,isStartupSyncInFlight:pe,isSyncActionInFlight:f,loadSyncStatus:E,logoutGithub:he,pullSkillsSync:me,pushSkillsSync:ne,startupSkillsSync:b,startGithubFirebaseLogin:re,startGithubLogin:ge,syncActionError:ce,syncActionStatus:de,syncStatus:U}=Eo({showToast:T,onPulled:async()=>{await J(),R("skills-changed")}});return Mt(()=>{J(),E()}),(d,C)=>(o(),l("div",To,[s("div",Uo,[s("h2",No,i(r(w)("Skills Hub")),1),s("p",Do,i(r(w)("Manage installed skills on this machine")),1)]),s("div",Fo,[s("div",Mo,[s("strong",null,i(r(w)("Skills Sync (GitHub)")),1),r(U).configured&&k.value?(o(),l("a",{key:0,class:"skills-sync-badge skills-sync-badge-link",href:k.value,target:"_blank",rel:"noopener noreferrer"},i(r(w)("Connected"))+": "+i(r(U).repoOwner)+"/"+i(r(U).repoName),9,Oo)):r(U).loggedIn?(o(),l("span",xo,i(r(w)("Logged in as"))+" "+i(r(U).githubUsername),1)):(o(),l("span",Ro,i(r(w)("Not connected")),1))]),s("div",Go,[s("span",null,i(r(w)("Startup"))+": "+i(r(U).startup.mode),1),s("span",null,i(r(w)("Branch"))+": "+i(r(U).startup.branch),1),s("span",null,i(r(w)("Action"))+": "+i(r(U).startup.lastAction),1)]),r(U).startup.lastError?(o(),l("div",jo,i(r(U).startup.lastError),1)):c("",!0),r(de)?(o(),l("div",Ho,[s("span",null,i(r(w)("Manual sync"))+": "+i(r(de)),1)])):c("",!0),r(ce)?(o(),l("div",Bo,i(r(ce)),1)):c("",!0),r(X)?(o(),l("div",Ko,[s("span",null,[De(i(r(w)("Open"))+" ",1),s("a",{href:r(X).verification_uri,target:"_blank",rel:"noreferrer"},i(r(w)("GitHub device login")),9,zo),De(" "+i(r(w)("and enter code:")),1)]),s("code",null,i(r(X).user_code),1)])):c("",!0),s("div",Vo,[r(U).loggedIn?c("",!0):(o(),l("button",{key:0,class:"skills-hub-sort",type:"button",onClick:C[0]||(C[0]=(...$)=>r(re)&&r(re)(...$))},i(r(w)("Login with GitHub")),1)),r(U).loggedIn?c("",!0):(o(),l("button",{key:1,class:"skills-hub-sort",type:"button",onClick:C[1]||(C[1]=(...$)=>r(ge)&&r(ge)(...$))},i(r(w)("Device Login")),1)),r(U).loggedIn?(o(),l("button",{key:2,class:"skills-hub-sort",type:"button",onClick:C[2]||(C[2]=(...$)=>r(he)&&r(he)(...$)),disabled:r(f)},i(r(w)("Logout GitHub")),9,Wo)):c("",!0),s("button",{class:"skills-hub-sort",type:"button",onClick:C[3]||(C[3]=(...$)=>r(b)&&r(b)(...$)),disabled:r(f)},i(r(pe)?r(w)("Syncing..."):r(w)("Startup Sync")),9,Jo),s("button",{class:"skills-hub-sort",type:"button",onClick:C[4]||(C[4]=(...$)=>r(me)&&r(me)(...$)),disabled:r(f)},i(r(ye)?r(w)("Pulling..."):r(w)("Pull")),9,qo),r(U).loggedIn?(o(),l("button",{key:3,class:"skills-hub-sort",type:"button",onClick:C[5]||(C[5]=(...$)=>r(ne)&&r(ne)(...$)),disabled:!r(U).configured||r(f)},i(r(ve)?r(w)("Pushing..."):r(w)("Push")),9,Zo)):c("",!0)])]),x.value?(o(),l("div",{key:0,class:F(["skills-hub-toast",v.value])},i(x.value.text),3)):c("",!0),$s(d.$slots,"before-installed",{},void 0),P.value.length>0?(o(),l("div",Qo,[s("button",{class:"skills-hub-section-toggle",type:"button",onClick:C[6]||(C[6]=$=>j.value=!j.value)},[s("span",Yo,i(r(w)("Installed skills ({count})",{count:P.value.length})),1),Ie(Ss,{class:F(["skills-hub-section-chevron",{"is-open":j.value}])},null,8,["class"])]),j.value?(o(),l("div",Xo,[(o(!0),l(G,null,K(P.value,$=>(o(),Ne(oo,{key:$.name,skill:$,onSelect:ee=>le(ee)},null,8,["skill","onSelect"]))),128))])):c("",!0)])):c("",!0),s("div",ea,[N.value?(o(),l("div",ta,i(r(w)("Loading skills...")),1)):O.value?(o(),l("div",sa,i(O.value),1)):L.value.length===0?(o(),l("div",oa,i(r(w)("No installed skills found.")),1)):c("",!0)]),Ie(Ao,{skill:I.value,visible:_.value,"is-installing":Z.value,"is-uninstalling":B.value,"is-trying":D.tryInFlightKey===ae(I.value),onClose:C[7]||(C[7]=$=>_.value=!1),onInstall:oe,onUninstall:Q,onToggleEnabled:te,onTry:ie},null,8,["skill","visible","is-installing","is-uninstalling","is-trying"])]))}}),la=Me(aa,[["__scopeId","data-v-c1d170d0"]]),ia={class:"directory-hub"},na={class:"directory-header"},ra={class:"directory-subtitle"},ca={class:"directory-header-actions"},da=["disabled"],ua={class:"directory-tabs",role:"tablist","aria-label":"Directory sections"},ya=["aria-selected","onClick"],va={key:1,class:"directory-section"},pa={class:"directory-toolbar"},ha={class:"directory-sort-group",role:"group","aria-label":"Sort plugins"},ma={key:0,class:"directory-empty"},ga={key:1,class:"directory-error"},ka={key:2,class:"directory-loading"},fa={key:3,class:"directory-empty"},ba={key:4,class:"directory-grid"},_a=["onClick"],Ca={class:"directory-card-top"},wa=["src","alt"],$a={class:"directory-card-main"},Sa={class:"directory-card-title-row"},Ia={class:"directory-card-title"},Aa={key:0,class:"directory-badge is-muted"},Pa={key:1,class:"directory-badge"},La={class:"directory-card-meta"},Ea={key:0,class:"directory-card-description"},Ta={class:"directory-chip-row"},Ua={key:0,class:"directory-chip"},Na={key:2,class:"directory-section"},Da={class:"directory-toolbar"},Fa={class:"directory-sort-group",role:"group","aria-label":"Sort apps"},Ma={key:0,class:"directory-empty"},Oa={key:1,class:"directory-error"},xa={key:2,class:"directory-loading"},Ra={key:3,class:"directory-empty"},Ga={key:4,class:"directory-grid"},ja={class:"directory-card-top"},Ha=["src","alt"],Ba={key:1,class:"directory-card-fallback"},Ka={class:"directory-card-main"},za={class:"directory-card-title-row"},Va={class:"directory-card-title"},Wa={key:0,class:"directory-badge is-muted"},Ja={key:1,class:"directory-badge"},qa={class:"directory-card-meta"},Za={key:0,class:"directory-card-description"},Qa={class:"directory-chip-row"},Ya={key:0,class:"directory-chip"},Xa={class:"directory-card-actions"},el=["disabled","onClick"],tl=["onClick"],sl=["disabled","onClick"],ol={key:3,class:"directory-section"},al={class:"directory-toolbar"},ll={class:"directory-sort-group",role:"group","aria-label":"Sort Composio connectors"},il={key:0,class:"directory-error"},nl={key:1,class:"directory-loading"},rl={key:2,class:"directory-empty"},cl={class:"directory-empty-copy"},dl={class:"directory-card-actions"},ul=["disabled"],yl={key:3,class:"directory-empty"},vl={class:"directory-empty-copy"},pl={class:"directory-card-actions"},hl=["disabled"],ml={key:4,class:"directory-section composio-section"},gl={class:"directory-card directory-card-wide composio-status-card"},kl={class:"directory-card-top"},fl={class:"directory-card-main"},bl={class:"directory-card-meta"},_l={class:"directory-card-description"},Cl={class:"directory-chip-row"},wl={key:0,class:"directory-chip"},$l={key:1,class:"directory-chip"},Sl={key:2,class:"directory-chip"},Il={class:"directory-card-actions"},Al={key:0,class:"directory-empty"},Pl={key:1,class:"directory-grid"},Ll={class:"directory-card-top"},El=["src","alt"],Tl={key:1,class:"directory-card-fallback composio-fallback"},Ul={class:"directory-card-main"},Nl={class:"directory-card-title-row"},Dl={class:"directory-card-title"},Fl={key:0,class:"directory-badge"},Ml={key:1,class:"directory-badge"},Ol={class:"directory-card-meta"},xl={key:0,class:"directory-card-description"},Rl={class:"directory-chip-row"},Gl={class:"directory-chip"},jl={key:0,class:"directory-chip"},Hl={key:1,class:"directory-chip"},Bl={class:"directory-card-actions"},Kl=["onClick"],zl=["disabled","onClick"],Vl=["disabled","onClick"],Wl={key:2,class:"directory-section-actions"},Jl=["disabled"],ql={key:4,class:"directory-section"},Zl={class:"skills-embedded-section"},Ql={class:"skills-embedded-title"},Yl={key:0,class:"skills-embedded-body"},Xl={key:0,class:"directory-empty"},ei={key:1,class:"directory-error"},ti={key:2,class:"directory-loading"},si={key:3,class:"directory-empty"},oi={key:4,class:"mcp-skill-grid"},ai=["onClick"],li={class:"mcp-skill-card-top"},ii={class:"mcp-skill-avatar-fallback"},ni={class:"mcp-skill-info"},ri={class:"mcp-skill-header"},ci={class:"mcp-skill-name"},di={class:"mcp-skill-meta"},ui={key:0,class:"directory-mcp-detail"},yi={key:0},vi={class:"directory-mini-list"},pi={key:1},hi={class:"directory-mini-list"},mi={class:"directory-modal"},gi={class:"directory-modal-header"},ki={class:"directory-card-top"},fi=["src","alt"],bi={key:1,class:"directory-card-fallback"},_i={class:"directory-card-main"},Ci={class:"directory-modal-title"},wi={class:"directory-card-meta"},$i={class:"directory-modal-body"},Si={key:0,class:"directory-error"},Ii={key:1,class:"directory-loading"},Ai={key:0,class:"directory-detail-description"},Pi={key:1,class:"directory-detail-block"},Li={class:"directory-chip-row"},Ei={class:"directory-detail-grid"},Ti={key:0,class:"directory-detail-block"},Ui=["onClick"],Ni={key:1,class:"directory-detail-block"},Di={class:"directory-mini-list"},Fi={key:2,class:"directory-detail-block"},Mi=["disabled","onClick"],Oi={key:2,class:"directory-screenshots"},xi=["src"],Ri={key:3,class:"directory-auth-panel"},Gi=["onClick"],ji={class:"directory-modal-footer"},Hi=["disabled"],Bi=["disabled"],Ki=["disabled"],zi=["disabled"],Vi={class:"directory-modal"},Wi={class:"directory-modal-header"},Ji={class:"directory-card-top"},qi=["src","alt"],Zi={key:1,class:"directory-card-fallback composio-fallback"},Qi={class:"directory-card-main"},Yi={class:"directory-modal-title"},Xi={class:"directory-card-meta"},en={class:"directory-modal-body"},tn={key:0,class:"directory-error"},sn={key:1,class:"directory-loading"},on={key:0,class:"directory-detail-description"},an={class:"directory-detail-grid"},ln={class:"directory-detail-block"},nn={class:"directory-chip-row"},rn={class:"directory-chip"},cn={key:0,class:"directory-chip"},dn={key:1,class:"directory-chip"},un={key:2,class:"directory-chip"},yn={class:"directory-detail-block"},vn={key:0,class:"directory-mini-list"},pn={key:1},hn={class:"directory-card-meta"},mn={key:1,class:"directory-detail-block"},gn={class:"directory-card-meta"},kn={class:"directory-modal-footer"},fn=["disabled"],bn=["disabled"],_n="/Users/igor/.codex/skills/shared_skills/composio-cli/SKILL.md",Cn=50,Ft=100,wn=Fe({__name:"DirectoryHub",props:{cwd:{},threadId:{},tryInFlightKey:{}},emits:["skills-changed","try-item"],setup(y,{emit:q}){const g=[[/^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]],L=[[/(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]],N=[[/(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]],O=[[/(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]],j=[[/(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]],_=y,I=q,x=[{id:"plugins",label:"Plugins",subtitle:"Plugins make Codex work your way."},{id:"apps",label:"Apps",subtitle:"Connect Codex to external apps and services."},{id:"composio",label:"Composio",subtitle:"Browse Composio connectors, auth state, and ready-to-try integrations."},{id:"skills",label:"Skills",subtitle:"MCPs first, then installed skills and GitHub sync state."}],m=u("plugins"),H=u(new Set),V=u(!1),Y=u([]),w=u([]),D=u(null),R=u([]),v=u(null),p=u(0),Z=u([]),B=u("popular"),k=u("popular"),P=u("popular"),T=u(""),W=u(""),J=u(""),le=u(!1),oe=u(!1),Q=u(!1),te=u(!1),ie=u(!1),ae=u(!0),X=u(""),ye=u(""),ve=u(""),pe=u(""),f=u(null),E=u(null),he=u(!1),me=u(!1),ne=u(""),b=u(null),re=u(!1),ge=u(!1),ce=u(""),de=u(!1),U=u(!1),d=u(!1),C=u(""),$=u(""),ee=u([]),Ae=u(""),Pe=u(new Set),_e=u(null);let Oe=null,xe=null,Re=!1;const Ot=S(()=>x.find(e=>e.id===m.value)??x[0]),Qe=S(()=>!V.value||["plugin/list","plugin/read","plugin/install","plugin/uninstall"].every(e=>H.value.has(e))),Ye=S(()=>!V.value||H.value.has("app/list")),Ge=S(()=>!V.value||H.value.has("mcpServerStatus/list")),xt=S(()=>H.value.has("config/mcpServer/reload")),Xe=S(()=>H.value.has("mcpServer/oauth/login")),ue=S(()=>(_.tryInFlightKey??"").length>0),et=S(()=>m.value==="plugins"?le.value:m.value==="apps"?oe.value:m.value==="composio"?Q.value:m.value==="skills"?te.value:!1),tt=S(()=>{var e,t,n;return((e=E.value)==null?void 0:e.description)||((t=E.value)==null?void 0:t.summary.longDescription)||((n=E.value)==null?void 0:n.summary.description)||""}),st=S(()=>{var t;const e=(t=E.value)==null?void 0:t.summary;return e?[...e.screenshotUrls,...e.screenshots.map(Le)].filter(Boolean):[]}),ot=S(()=>zt(Zt(Wt(Y.value,T.value),B.value),B.value,T.value)),at=S(()=>Vt(Qt(Jt(w.value,W.value),k.value),k.value,W.value)),lt=S(()=>Yt(qt(R.value,J.value),P.value)),je=S(()=>Xt(Z.value)),it=S(()=>v.value!==null),Rt=S(()=>new Map(Z.value.map(e=>[e.name,e]))),Gt=S(()=>{const e=D.value;return e&&[e.email||e.defaultOrgName,e.defaultOrgId?`org ${e.defaultOrgId}`:"",e.baseUrl||""].filter(Boolean).join(" · ")||"Composio CLI shares the login and connections from this machine."});function He(e){return e.trim().toLowerCase()}function Be(e,t){const n=He(t);return n?e.some(h=>h==null?void 0:h.toLowerCase().includes(n)):!0}function Ce(e,t){return t.reduce((n,[h,z])=>n+(h.test(e)?z:0),0)}function nt(e){return e.replace(/\s+\((synced|legacy)\)\s*$/iu,"").replace(/\s+\(.*?\)\s*$/u,"").trim()}function jt(e){return e==="DEFAULT_OAI_CATALOG"?"OpenAI catalog":e==="ECOSYSTEM_DIRECTORY"?"Ecosystem directory":e?e.replace(/_/gu," ").toLowerCase().replace(/\b\w/gu,t=>t.toUpperCase()):""}function Ht(e){return e.developer||jt(e.distributionChannel)||"App"}function Ke(e){var t;return((t=Rt.value.get(e))==null?void 0:t.authStatus)??"unknown"}function rt(e){const t=Ke(e);return t==="oAuth"?"Logged in":t==="bearerToken"?"Bearer token":t==="notLoggedIn"?"Login required":t==="unsupported"?"Auth unsupported":"Status unknown"}function Bt(e){const t=Ke(e);return t==="oAuth"||t==="bearerToken"?"is-ok":t==="notLoggedIn"?"is-warning":"is-muted"}function Kt(e){return e==="oAuth"||e==="bearerToken"?"mcp-skill-badge-ok":e==="notLoggedIn"?"mcp-skill-badge-warning":"mcp-skill-badge-muted"}function ct(e){return Xe.value&&Ke(e)==="notLoggedIn"}function zt(e,t,n){return t==="popular"&&He(n).length===0?e.slice(0,Ft):e}function Vt(e,t,n){if(t!=="popular"||He(n).length>0)return e;const h=new Set,z=[];for(const we of e){const $e=nt(we.name).toLowerCase();if(!h.has($e)&&(h.add($e),z.push(we),z.length>=Ft))break}return z}function Wt(e,t){return e.filter(n=>Be([n.displayName,n.name,n.description,n.developerName,n.category,n.marketplaceDisplayName,...n.capabilities],t))}function Jt(e,t){return e.filter(n=>Be([n.name,n.description,n.developer,n.category,n.distributionChannel,...n.pluginDisplayNames],t))}function qt(e,t){return e.filter(n=>Be([n.name,n.slug,n.description,...n.authModes,...n.connectionStatuses],t))}function dt(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+Ce(`${e.displayName} ${e.name} ${e.description} ${e.category}`,N)}function ut(e){const t=nt(e.name);return(e.isAccessible?1e4:0)+Ce(t,g)+(e.pluginDisplayNames.length>0?260:0)+(e.distributionChannel==="DEFAULT_OAI_CATALOG"?120:0)+(e.isEnabled?40:0)+(e.installUrl?20:0)+Ce(`${e.name} ${e.description} ${e.category} ${e.pluginDisplayNames.join(" ")}`,L)-e.catalogRank*.001}function yt(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+Ce(e.name,O)}function vt(e){return e.activeCount*1e3+(e.isNoAuth?300:0)+e.toolsCount*3+e.triggersCount*4+Ce(`${e.name} ${e.slug} ${e.description}`,j)}function ke(e){return e.activeCount>0?0:e.totalConnections>0?1:e.isNoAuth?2:3}function Zt(e,t){return t==="name"?[...e].sort((n,h)=>n.displayName.localeCompare(h.displayName)):t==="date"?[...e]:[...e].sort((n,h)=>dt(h)-dt(n)||n.displayName.localeCompare(h.displayName))}function Qt(e,t){return t==="name"?[...e].sort((n,h)=>n.name.localeCompare(h.name)):t==="date"?[...e].sort((n,h)=>n.catalogRank-h.catalogRank):[...e].sort((n,h)=>ut(h)-ut(n)||n.name.localeCompare(h.name))}function Yt(e,t){return t==="name"?[...e].sort((n,h)=>ke(n)-ke(h)||n.name.localeCompare(h.name)):t==="date"?[...e].sort((n,h)=>ke(n)-ke(h)):[...e].sort((n,h)=>ke(n)-ke(h)||vt(h)-vt(n)||n.name.localeCompare(h.name))}function Xt(e,t){return[...e].sort((n,h)=>yt(h)-yt(n)||n.name.localeCompare(h.name))}function M(e,t="success"){_e.value={text:e,type:t},Oe&&clearTimeout(Oe),Oe=setTimeout(()=>{_e.value=null},3e3)}function Le(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 Ee(e){return e?e.logoUrl||Le(e.logoPath)||e.composerIconUrl||Le(e.composerIconPath):""}function pt(e){return Le(e.logoUrlDark||e.logoUrl)}function ht(e){return e.activeCount>0?`${e.activeCount} connected ${e.activeCount===1?"account":"accounts"}`:e.isNoAuth?"No auth required":e.connectionStatuses.length>0?e.connectionStatuses.join(", "):e.authModes.join(", ")||"Connection required"}function es(e){return e.isNoAuth||e.activeCount>0}function Te(e){return e.isNoAuth?"":e.activeCount>0?"Manage":e.totalConnections>0?"Reconnect":"Connect"}function ts(e){const t=e.trim().toUpperCase();return t==="ACTIVE"?"Active":t==="EXPIRED"?"Expired":t==="FAILED"?"Failed":t==="INITIATED"?"Pending":t||"Unknown"}function ss(e){const t=e.trim().toUpperCase();return t==="ACTIVE"?"is-ok":t==="INITIATED"?"is-warning":t==="EXPIRED"||t==="FAILED"?"is-error":"is-muted"}function os(e){return`app:${e.id}:`}function as(e){ue.value||I("try-item",{kind:"app",name:e.id,displayName:e.name})}function ls(e){return`plugin:${e.name}:`}function mt(e){return`composio:${e}:`}function is(e){ue.value||I("try-item",{kind:"plugin",name:e.name,displayName:e.displayName})}function gt(e){return es(e)}function ns(e,t=[]){const n=t.find(z=>z.status==="ACTIVE"&&!z.isDisabled),h=n!=null&&n.wordId?` If there are multiple accounts, prefer \`${n.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.${h}`}function kt(e,t=[]){ue.value||I("try-item",{kind:"composio",name:e.slug,displayName:e.name,prompt:ns(e,t),attachedSkills:[{name:"composio-cli",path:_n}]})}function se(e){const t=e.trim();/^https?:\/\//i.test(t)&&window.location.assign(t)}function rs(e){const t=e.find(n=>n.needsAuth&&n.installUrl.trim().length>0);return t?(se(t.installUrl),!0):!1}function cs(e){return e.brandColor?{backgroundColor:e.brandColor,color:"#fff"}:{}}async function ds(){try{H.value=new Set(await Ps())}catch{H.value=new Set}finally{V.value=!0}}async function fe(){var e;if(Qe.value){le.value=!0,X.value="";try{const t=(e=_.cwd)==null?void 0:e.trim();Y.value=await Ls(t?[t]:void 0)}catch(t){X.value=t instanceof Error?t.message:"Failed to load plugins"}finally{le.value=!1}}}async function ft(){var e;if(Ye.value){oe.value=!0,ye.value="";try{w.value=await Es(((e=_.threadId)==null?void 0:e.trim())||void 0)}catch(t){ye.value=t instanceof Error?t.message:"Failed to load apps"}finally{oe.value=!1}}}async function be(e=!1){if(Q.value){Re=!0;return}Q.value=!0,ve.value="";try{const t=await Ts();if(D.value=t,!t.available||!t.authenticated){R.value=[],v.value=null,p.value=0;return}const n=e?v.value:null,h=await Us(J.value,n,Cn);R.value=e?[...R.value,...h.data]:h.data,v.value=h.nextCursor,p.value=h.total}catch(t){ve.value=t instanceof Error?t.message:"Failed to load Composio connectors",R.value=[],v.value=null,p.value=0}finally{Q.value=!1,Re&&(Re=!1,be())}}async function us(){!it.value||Q.value||await be(!0)}async function bt(){if(Ge.value){te.value=!0,pe.value="";try{Z.value=await Dt()}catch(e){pe.value=e instanceof Error?e.message:"Failed to load MCP servers"}finally{te.value=!1}}}async function _t(){var e;if(!(!Ge.value||!((e=E.value)!=null&&e.mcpServers.length)))try{Z.value=await Dt()}catch{}}function Ct(){m.value==="plugins"&&fe(),m.value==="apps"&&ft(),m.value==="composio"&&be(),m.value==="skills"&&(xt.value?bs():bt())}async function wt(e){f.value=e,E.value=null,ne.value="",ee.value=[],he.value=!0,me.value=!0;try{E.value=await Ns(e),f.value=E.value.summary,await _t()}catch(t){ne.value=t instanceof Error?t.message:"Failed to load plugin"}finally{me.value=!1}}async function $t(e){if(!Xe.value)return!1;Ae.value=e;try{const t=await Ds(e);return t.authorizationUrl?(se(t.authorizationUrl),!0):(M(`No login URL returned for ${e}`,"error"),!1)}catch(t){return M(t instanceof Error?t.message:`Failed to start login for ${e}`,"error"),!1}finally{Ae.value=""}}async function ys(e){await _t();const t=e.mcpServers.find(n=>ct(n));t&&await $t(t)}function ze(){he.value=!1}async function St(e){re.value=!0,ge.value=!0,ce.value="",b.value=null;try{b.value=await Fs(e)}catch(t){ce.value=t instanceof Error?t.message:"Failed to load Composio connector"}finally{ge.value=!1}}function It(){re.value=!1}async function vs(e){var t;$.value=e.slug;try{const n=await Bs(e.slug);if(!n.redirectUrl){M(`No login URL returned for ${e.name}`,"error");return}se(n.redirectUrl),M(`Opened ${e.name} authorization`),await be(),re.value&&((t=b.value)==null?void 0:t.connector.slug)===e.slug&&await St(e.slug)}catch(n){M(n instanceof Error?n.message:`Failed to connect ${e.name}`,"error")}finally{$.value=""}}async function At(e){var t;if(e.activeCount>0&&((t=D.value)!=null&&t.webUrl)){se(D.value.webUrl);return}await vs(e)}async function ps(){U.value=!0;const e=window.open("about:blank","_blank");e&&(e.opener=null);try{const t=await Ms();t.loginUrl&&e?e.location.href=t.loginUrl:t.loginUrl?se(t.loginUrl):e==null||e.close(),M("Composio CLI login started")}catch(t){e==null||e.close(),M(t instanceof Error?t.message:"Failed to start Composio login","error")}finally{U.value=!1}}async function hs(){de.value=!0;try{await Os(),M("Composio CLI installed"),await be()}catch(e){M(e instanceof Error?e.message:"Failed to install Composio CLI","error")}finally{de.value=!1}}async function ms(){if(f.value){d.value=!0;try{const e=await xs(f.value);ee.value=e.appsNeedingAuth,M(`${f.value.displayName} plugin installed`);const t=rs(e.appsNeedingAuth);await fe();const n=Y.value.find(h=>{var z;return h.id===((z=f.value)==null?void 0:z.id)});n&&(await wt(n),!t&&E.value&&await ys(E.value))}catch(e){M(e instanceof Error?e.message:"Failed to install plugin","error")}finally{d.value=!1}}}async function gs(){if(f.value){d.value=!0;try{const e=f.value.displayName;await Rs(f.value.id),M(`${e} plugin uninstalled`),ze(),await fe()}catch(e){M(e instanceof Error?e.message:"Failed to uninstall plugin","error")}finally{d.value=!1}}}async function ks(){if(f.value){d.value=!0;try{const e=!f.value.enabled;await Gs(f.value.id,e),f.value={...f.value,enabled:e},E.value&&(E.value={...E.value,summary:{...E.value.summary,enabled:e}}),M(`${f.value.displayName} plugin ${e?"enabled":"disabled"}`),await fe()}catch(e){M(e instanceof Error?e.message:"Failed to update plugin","error")}finally{d.value=!1}}}async function fs(e){C.value=e.id;try{const t=!e.isEnabled;await js(e.id,t),w.value=w.value.map(n=>n.id===e.id?{...n,isEnabled:t}:n),M(`${e.name} app ${t?"enabled":"disabled"}`)}catch(t){M(t instanceof Error?t.message:"Failed to update app","error")}finally{C.value=""}}async function bs(){ie.value=!0;try{await Hs(),await bt(),M("MCP servers reloaded")}catch(e){M(e instanceof Error?e.message:"Failed to reload MCP servers","error")}finally{ie.value=!1}}function _s(e){const t=new Set(Pe.value);t.has(e)?t.delete(e):t.add(e),Pe.value=t}return Se(m,()=>Ct()),Se(J,()=>{m.value==="composio"&&(R.value=[],v.value=null,p.value=0,xe&&clearTimeout(xe),xe=setTimeout(()=>{be()},250))}),Se(()=>_.cwd,()=>{m.value==="plugins"&&fe()}),Se(()=>_.threadId,()=>{m.value==="apps"&&ft()}),Mt(async()=>{await ds(),await fe()}),(e,t)=>{var n,h,z,we,$e,Pt,Lt,Et,Tt,Ut;return o(),l("div",ia,[s("div",na,[s("div",null,[t[20]||(t[20]=s("h2",{class:"directory-title"},"Skills & Apps",-1)),s("p",ra,i(Ot.value.subtitle),1)]),s("div",ca,[s("button",{class:"directory-refresh",type:"button",disabled:et.value,onClick:Ct},i(et.value?"Refreshing...":"Refresh"),9,da)])]),s("div",ua,[(o(),l(G,null,K(x,a=>s("button",{key:a.id,class:F(["directory-tab",{"is-active":m.value===a.id}]),type:"button",role:"tab","aria-selected":m.value===a.id,onClick:A=>m.value=a.id},i(a.label),11,ya)),64))]),_e.value?(o(),l("div",{key:0,class:F(["directory-toast",{"is-error":_e.value.type==="error"}])},i(_e.value.text),3)):c("",!0),m.value==="plugins"?(o(),l("section",va,[s("div",pa,[Ve(s("input",{"onUpdate:modelValue":t[0]||(t[0]=a=>T.value=a),class:"directory-search",type:"search",placeholder:"Search plugins...","aria-label":"Search plugins"},null,512),[[We,T.value]]),s("div",ha,[s("button",{class:F(["directory-sort-button",{"is-active":B.value==="popular"}]),type:"button",onClick:t[1]||(t[1]=a=>B.value="popular")}," Popular ",2),s("button",{class:F(["directory-sort-button",{"is-active":B.value==="name"}]),type:"button",onClick:t[2]||(t[2]=a=>B.value="name")}," A-Z ",2),s("button",{class:F(["directory-sort-button",{"is-active":B.value==="date"}]),type:"button",onClick:t[3]||(t[3]=a=>B.value="date")}," Date ",2)])]),Qe.value?X.value?(o(),l("div",ga,i(X.value),1)):le.value?(o(),l("div",ka,"Loading plugins...")):ot.value.length===0?(o(),l("div",fa,"No plugins found.")):(o(),l("div",ba,[(o(!0),l(G,null,K(ot.value,a=>(o(),l("button",{key:a.id,class:F(["directory-card",{"is-disabled":a.installed&&!a.enabled}]),type:"button",onClick:A=>wt(a)},[s("div",Ca,[Ee(a)?(o(),l("img",{key:0,class:"directory-card-icon",src:Ee(a),alt:a.displayName,loading:"lazy"},null,8,wa)):(o(),l("div",{key:1,class:"directory-card-fallback",style:Is(cs(a))},i(a.displayName.charAt(0)),5)),s("div",$a,[s("div",Sa,[s("span",Ia,i(a.displayName),1),a.installed&&!a.enabled?(o(),l("span",Aa,"Disabled")):a.installed?(o(),l("span",Pa,"Installed")):c("",!0)]),s("span",La,i(a.developerName||a.marketplaceDisplayName||a.marketplaceName||"Plugin"),1)])]),a.description?(o(),l("p",Ea,i(a.description),1)):c("",!0),s("div",Ta,[a.category?(o(),l("span",Ua,i(a.category),1)):c("",!0),(o(!0),l(G,null,K(a.capabilities.slice(0,2),A=>(o(),l("span",{key:A,class:"directory-chip"},i(A),1))),128))])],10,_a))),128))])):(o(),l("div",ma," Plugin APIs unavailable in this Codex CLI. Update Codex CLI to use plugin catalog features. "))])):m.value==="apps"?(o(),l("section",Na,[s("div",Da,[Ve(s("input",{"onUpdate:modelValue":t[4]||(t[4]=a=>W.value=a),class:"directory-search",type:"search",placeholder:"Search apps...","aria-label":"Search apps"},null,512),[[We,W.value]]),s("div",Fa,[s("button",{class:F(["directory-sort-button",{"is-active":k.value==="popular"}]),type:"button",onClick:t[5]||(t[5]=a=>k.value="popular")}," Popular ",2),s("button",{class:F(["directory-sort-button",{"is-active":k.value==="name"}]),type:"button",onClick:t[6]||(t[6]=a=>k.value="name")}," A-Z ",2),s("button",{class:F(["directory-sort-button",{"is-active":k.value==="date"}]),type:"button",onClick:t[7]||(t[7]=a=>k.value="date")}," Date ",2)])]),Ye.value?ye.value?(o(),l("div",Oa,i(ye.value),1)):oe.value?(o(),l("div",xa,"Loading apps...")):at.value.length===0?(o(),l("div",Ra,"No apps found.")):(o(),l("div",Ga,[(o(!0),l(G,null,K(at.value,a=>(o(),l("article",{key:a.id,class:"directory-card"},[s("div",ja,[pt(a)?(o(),l("img",{key:0,class:"directory-card-icon",src:pt(a),alt:a.name,loading:"lazy"},null,8,Ha)):(o(),l("div",Ba,i(a.name.charAt(0)),1)),s("div",Ka,[s("div",za,[s("span",Va,i(a.name),1),a.isEnabled?a.isAccessible?(o(),l("span",Ja,"Connected")):c("",!0):(o(),l("span",Wa,"Disabled"))]),s("span",qa,i(Ht(a)),1)])]),a.description?(o(),l("p",Za,i(a.description),1)):c("",!0),s("div",Qa,[a.category?(o(),l("span",Ya,i(a.category),1)):c("",!0),(o(!0),l(G,null,K(a.pluginDisplayNames.slice(0,2),A=>(o(),l("span",{key:A,class:"directory-chip"},i(A),1))),128))]),s("div",Xa,[s("button",{class:"directory-action",type:"button",disabled:C.value===a.id,onClick:A=>fs(a)},i(a.isEnabled?"Disable":"Enable"),9,el),a.installUrl?(o(),l("button",{key:0,class:"directory-action-link",type:"button",onClick:A=>se(a.installUrl)},i(a.isAccessible?"Manage":"Login"),9,tl)):c("",!0),a.isAccessible&&a.isEnabled?(o(),l("button",{key:1,class:"directory-action",type:"button",disabled:ue.value,onClick:A=>as(a)},i(_.tryInFlightKey===os(a)?"Starting...":"Try it!"),9,sl)):c("",!0)])]))),128))])):(o(),l("div",Ma," Apps APIs unavailable in this Codex CLI. Update Codex CLI to manage apps. "))])):m.value==="composio"?(o(),l("section",ol,[s("div",al,[Ve(s("input",{"onUpdate:modelValue":t[8]||(t[8]=a=>J.value=a),class:"directory-search",type:"search",placeholder:"Search Composio connectors...","aria-label":"Search Composio connectors"},null,512),[[We,J.value]]),s("div",ll,[s("button",{class:F(["directory-sort-button",{"is-active":P.value==="popular"}]),type:"button",onClick:t[9]||(t[9]=a=>P.value="popular")}," Popular ",2),s("button",{class:F(["directory-sort-button",{"is-active":P.value==="name"}]),type:"button",onClick:t[10]||(t[10]=a=>P.value="name")}," A-Z ",2),s("button",{class:F(["directory-sort-button",{"is-active":P.value==="date"}]),type:"button",onClick:t[11]||(t[11]=a=>P.value="date")}," Date ",2)])]),ve.value?(o(),l("div",il,i(ve.value),1)):Q.value?(o(),l("div",nl,"Loading Composio connectors...")):(n=D.value)!=null&&n.available?D.value.authenticated?(o(),l("div",ml,[s("article",gl,[s("div",kl,[t[24]||(t[24]=s("div",{class:"directory-card-fallback composio-fallback"},"C",-1)),s("div",fl,[t[23]||(t[23]=s("div",{class:"directory-card-title-row"},[s("span",{class:"directory-card-title"},"Composio workspace"),s("span",{class:"directory-badge"},"Connected")],-1)),s("span",bl,i(D.value.email||D.value.defaultOrgName||"Authenticated"),1)])]),s("p",_l,i(Gt.value),1),s("div",Cl,[D.value.defaultOrgName?(o(),l("span",wl,i(D.value.defaultOrgName),1)):c("",!0),D.value.cliVersion?(o(),l("span",$l,"CLI "+i(D.value.cliVersion),1)):c("",!0),R.value.length?(o(),l("span",Sl," Showing "+i(R.value.length)+i(p.value?` / ${p.value}`:"")+" connectors ",1)):c("",!0)]),s("div",Il,[s("button",{class:"directory-action-link",type:"button",onClick:t[12]||(t[12]=a=>se(D.value.webUrl))}," Open dashboard ")])]),lt.value.length===0?(o(),l("div",Al,"No Composio connectors found.")):(o(),l("div",Pl,[(o(!0),l(G,null,K(lt.value,a=>(o(),l("article",{key:a.slug,class:"directory-card"},[s("div",Ll,[a.logoUrl?(o(),l("img",{key:0,class:"directory-card-icon",src:a.logoUrl,alt:a.name,loading:"lazy"},null,8,El)):(o(),l("div",Tl,i(a.name.charAt(0)),1)),s("div",Ul,[s("div",Nl,[s("span",Dl,i(a.name),1),a.activeCount>0?(o(),l("span",Fl,"Connected")):a.isNoAuth?(o(),l("span",Ml,"No auth")):c("",!0)]),s("span",Ol,i(ht(a)),1)])]),a.description?(o(),l("p",xl,i(a.description),1)):c("",!0),s("div",Rl,[s("span",Gl,i(a.toolsCount)+" tools",1),a.triggersCount>0?(o(),l("span",jl,i(a.triggersCount)+" triggers",1)):c("",!0),a.authModes.length>0?(o(),l("span",Hl,i(a.authModes.join(", ")),1)):c("",!0)]),s("div",Bl,[s("button",{class:"directory-action",type:"button",onClick:A=>St(a.slug)}," Details ",8,Kl),Te(a)?(o(),l("button",{key:0,class:"directory-action-link",type:"button",disabled:$.value===a.slug,onClick:A=>At(a)},i($.value===a.slug?"Opening...":Te(a)),9,zl)):c("",!0),gt(a)?(o(),l("button",{key:1,class:"directory-action primary",type:"button",disabled:ue.value,onClick:A=>kt(a)},i(_.tryInFlightKey===mt(a.slug)?"Starting...":"Try it!"),9,Vl)):c("",!0)])]))),128))])),it.value?(o(),l("div",Wl,[s("button",{class:"directory-action",type:"button",disabled:Q.value,onClick:us},i(Q.value?"Loading...":"Load more"),9,Jl)])):c("",!0)])):(o(),l("div",yl,[s("div",vl,[t[22]||(t[22]=s("p",{class:"directory-empty-text"},"Composio CLI is installed but not logged in.",-1)),s("div",pl,[s("button",{class:"directory-action primary",type:"button",disabled:U.value,onClick:ps},i(U.value?"Opening...":"Login"),9,hl)])])])):(o(),l("div",rl,[s("div",cl,[t[21]||(t[21]=s("p",{class:"directory-empty-text"},"Composio CLI is not installed in this environment.",-1)),s("div",dl,[s("button",{class:"directory-action primary",type:"button",disabled:de.value,onClick:hs},i(de.value?"Installing...":"Install"),9,ul)])])]))])):m.value==="skills"?(o(),l("section",ql,[Ie(la,{"try-in-flight-key":_.tryInFlightKey,onSkillsChanged:t[14]||(t[14]=a=>I("skills-changed")),onTryItem:t[15]||(t[15]=a=>I("try-item",a))},{"before-installed":As(()=>[s("div",Zl,[s("button",{class:"skills-embedded-toggle",type:"button",onClick:t[13]||(t[13]=a=>ae.value=!ae.value)},[s("span",Ql,"MCPs("+i(je.value.length)+")",1),s("span",{class:F(["skills-embedded-chevron",{"is-open":ae.value}])},"›",2)]),ae.value?(o(),l("div",Yl,[Ge.value?pe.value?(o(),l("div",ei,i(pe.value),1)):te.value?(o(),l("div",ti,"Loading MCP servers...")):je.value.length===0?(o(),l("div",si,"No MCP servers configured.")):(o(),l("div",oi,[(o(!0),l(G,null,K(je.value,a=>(o(),l("article",{key:a.name},[s("button",{class:"mcp-skill-card skill-card",type:"button",onClick:A=>_s(a.name)},[s("div",li,[s("div",ii,i(a.name.charAt(0)),1),s("div",ni,[s("div",ri,[s("span",ci,i(a.name),1),s("span",{class:F(["mcp-skill-badge",Kt(a.authStatus)])},i(rt(a.name)),3)]),t[25]||(t[25]=s("span",{class:"mcp-skill-owner"},"mcp",-1))]),s("span",{class:F(["mcp-skill-chevron",{"is-open":Pe.value.has(a.name)}])},"›",2)]),s("p",di,i(a.tools.length)+" tools · "+i(a.resources.length+a.resourceTemplates.length)+" resources",1),Pe.value.has(a.name)?(o(),l("div",ui,[a.tools.length>0?(o(),l("div",yi,[t[26]||(t[26]=s("h3",{class:"directory-mini-heading"},"Tools",-1)),s("p",vi,i(a.tools.map(A=>A.title||A.name).join(", ")),1)])):c("",!0),a.resources.length>0||a.resourceTemplates.length>0?(o(),l("div",pi,[t[27]||(t[27]=s("h3",{class:"directory-mini-heading"},"Resources",-1)),s("p",hi,i([...a.resources.map(A=>A.title||A.name||A.uri),...a.resourceTemplates.map(A=>A.title||A.name||A.uriTemplate)].join(", ")),1)])):c("",!0)])):c("",!0)],8,ai)]))),128))])):(o(),l("div",Xl," MCP status APIs unavailable in this Codex CLI. Update Codex CLI to inspect MCP servers. "))])):c("",!0)])]),_:1},8,["try-in-flight-key"])])):c("",!0),(o(),Ne(qe,{to:"body"},[he.value?(o(),l("div",{key:0,class:"directory-modal-overlay",onClick:Ue(ze,["self"])},[s("article",mi,[s("div",gi,[s("div",ki,[f.value&&Ee(f.value)?(o(),l("img",{key:0,class:"directory-card-icon",src:Ee(f.value),alt:f.value.displayName,loading:"lazy"},null,8,fi)):(o(),l("div",bi,i((h=f.value)==null?void 0:h.displayName.charAt(0)),1)),s("div",_i,[s("h3",Ci,i(((z=f.value)==null?void 0:z.displayName)||"Plugin"),1),s("span",wi,i(((we=f.value)==null?void 0:we.developerName)||(($e=f.value)==null?void 0:$e.marketplaceDisplayName)||((Pt=f.value)==null?void 0:Pt.marketplaceName)),1)])]),s("button",{class:"directory-modal-close",type:"button","aria-label":"Close plugin detail",onClick:ze},"Close")]),s("div",$i,[ne.value?(o(),l("div",Si,i(ne.value),1)):me.value?(o(),l("div",Ii,"Loading plugin...")):E.value?(o(),l(G,{key:2},[tt.value?(o(),l("p",Ai,i(tt.value),1)):c("",!0),E.value.summary.capabilities.length>0?(o(),l("div",Pi,[t[28]||(t[28]=s("h4",{class:"directory-detail-heading"},"Capabilities",-1)),s("div",Li,[(o(!0),l(G,null,K(E.value.summary.capabilities,a=>(o(),l("span",{key:a,class:"directory-chip"},i(a),1))),128))])])):c("",!0),s("div",Ei,[E.value.apps.length>0?(o(),l("div",Ti,[t[29]||(t[29]=s("h4",{class:"directory-detail-heading"},"Apps",-1)),(o(!0),l(G,null,K(E.value.apps,a=>(o(),l("div",{key:a.id,class:"directory-include-row"},[s("span",null,i(a.name),1),a.installUrl?(o(),l("button",{key:0,type:"button",onClick:A=>se(a.installUrl)},i(a.needsAuth?"Login":"Manage"),9,Ui)):c("",!0)]))),128))])):c("",!0),E.value.skills.length>0?(o(),l("div",Ni,[t[30]||(t[30]=s("h4",{class:"directory-detail-heading"},"Skills",-1)),s("p",Di,i(E.value.skills.map(a=>a.displayName||a.name).join(", ")),1)])):c("",!0),E.value.mcpServers.length>0?(o(),l("div",Fi,[t[31]||(t[31]=s("h4",{class:"directory-detail-heading"},"MCP servers",-1)),(o(!0),l(G,null,K(E.value.mcpServers,a=>(o(),l("div",{key:a,class:"directory-include-row"},[s("span",null,[De(i(a)+" ",1),s("span",{class:F(["directory-auth-status",Bt(a)])},i(rt(a)),3)]),ct(a)?(o(),l("button",{key:0,type:"button",disabled:Ae.value===a,onClick:A=>$t(a)},i(Ae.value===a?"Opening...":"Authenticate"),9,Mi)):c("",!0)]))),128))])):c("",!0)]),st.value.length>0?(o(),l("div",Oi,[(o(!0),l(G,null,K(st.value,a=>(o(),l("img",{key:a,src:a,alt:"",loading:"lazy"},null,8,xi))),128))])):c("",!0),ee.value.length>0?(o(),l("div",Ri,[t[32]||(t[32]=s("strong",null,"Apps needing auth",-1)),(o(!0),l(G,null,K(ee.value,a=>(o(),l("div",{key:a.id,class:"directory-include-row"},[s("span",null,i(a.name),1),a.installUrl?(o(),l("button",{key:0,type:"button",onClick:A=>se(a.installUrl)},"Login",8,Gi)):c("",!0)]))),128))])):c("",!0)],64)):c("",!0)]),s("div",ji,[f.value&&f.value.installed?(o(),l("button",{key:0,class:"directory-action danger",type:"button",disabled:d.value,onClick:gs},i(d.value?"Uninstalling...":"Uninstall"),9,Hi)):f.value?(o(),l("button",{key:1,class:"directory-action primary",type:"button",disabled:d.value||f.value.installPolicy==="NOT_AVAILABLE",onClick:ms},i(d.value?"Installing...":"Install"),9,Bi)):c("",!0),f.value&&f.value.installed?(o(),l("button",{key:2,class:"directory-action",type:"button",disabled:d.value,onClick:ks},i(f.value.enabled?"Disable":"Enable"),9,Ki)):c("",!0),f.value&&f.value.installed&&f.value.enabled?(o(),l("button",{key:3,class:"directory-action primary",type:"button",disabled:d.value||ue.value,onClick:t[16]||(t[16]=a=>is(f.value))},i(_.tryInFlightKey===ls(f.value)?"Starting...":"Try it!"),9,zi)):c("",!0)])])])):c("",!0)])),(o(),Ne(qe,{to:"body"},[re.value?(o(),l("div",{key:0,class:"directory-modal-overlay",onClick:Ue(It,["self"])},[s("article",Vi,[s("div",Wi,[s("div",Ji,[(Lt=b.value)!=null&&Lt.connector.logoUrl?(o(),l("img",{key:0,class:"directory-card-icon",src:b.value.connector.logoUrl,alt:b.value.connector.name,loading:"lazy"},null,8,qi)):(o(),l("div",Zi,i((Et=b.value)==null?void 0:Et.connector.name.charAt(0)),1)),s("div",Qi,[s("h3",Yi,i(((Tt=b.value)==null?void 0:Tt.connector.name)||"Composio"),1),s("span",Xi,i(b.value?ht(b.value.connector):"Connector"),1)])]),s("button",{class:"directory-modal-close",type:"button","aria-label":"Close Composio detail",onClick:It},"Close")]),s("div",en,[ce.value?(o(),l("div",tn,i(ce.value),1)):ge.value?(o(),l("div",sn,"Loading connector...")):b.value?(o(),l(G,{key:2},[b.value.connector.description?(o(),l("p",on,i(b.value.connector.description),1)):c("",!0),s("div",an,[s("div",ln,[t[33]||(t[33]=s("h4",{class:"directory-detail-heading"},"Overview",-1)),s("div",nn,[s("span",rn,i(b.value.connector.toolsCount)+" tools",1),b.value.connector.triggersCount>0?(o(),l("span",cn,i(b.value.connector.triggersCount)+" triggers",1)):c("",!0),b.value.connector.latestVersion?(o(),l("span",dn,"v"+i(b.value.connector.latestVersion),1)):c("",!0),b.value.connector.authModes.length>0?(o(),l("span",un,i(b.value.connector.authModes.join(", ")),1)):c("",!0)])]),s("div",yn,[t[34]||(t[34]=s("h4",{class:"directory-detail-heading"},"Connections",-1)),b.value.connections.length===0?(o(),l("div",vn," No linked accounts yet. ")):(o(),l("div",pn,[(o(!0),l(G,null,K(b.value.connections,a=>(o(),l("div",{key:a.id,class:"directory-include-row"},[s("span",null,[De(i(a.alias||a.wordId||a.id)+" ",1),s("span",{class:F(["directory-auth-status",ss(a.status)])},i(ts(a.status)),3)]),s("span",hn,i(a.authScheme||"Auth"),1)]))),128))]))])]),b.value.tools.length>0?(o(),l("div",mn,[t[35]||(t[35]=s("h4",{class:"directory-detail-heading"},"Useful tools",-1)),(o(!0),l(G,null,K(b.value.tools.slice(0,8),a=>(o(),l("div",{key:a.slug,class:"directory-include-row"},[s("span",null,i(a.name||a.slug),1),s("span",gn,i(a.slug),1)]))),128))])):c("",!0)],64)):c("",!0)]),s("div",kn,[b.value?(o(),l("button",{key:0,class:"directory-action-link",type:"button",onClick:t[17]||(t[17]=a=>se(b.value.dashboardUrl))}," Open dashboard ")):c("",!0),b.value&&Te(b.value.connector)?(o(),l("button",{key:1,class:"directory-action",type:"button",disabled:$.value===b.value.connector.slug,onClick:t[18]||(t[18]=a=>At(b.value.connector))},i($.value===((Ut=b.value)==null?void 0:Ut.connector.slug)?"Opening...":Te(b.value.connector)),9,fn)):c("",!0),b.value&>(b.value.connector)?(o(),l("button",{key:2,class:"directory-action primary",type:"button",disabled:ue.value,onClick:t[19]||(t[19]=a=>kt(b.value.connector,b.value.connections))},i(_.tryInFlightKey===mt(b.value.connector.slug)?"Starting...":"Try it!"),9,bn)):c("",!0)])])])):c("",!0)]))])}}}),Sn=Me(wn,[["__scopeId","data-v-846e4ef2"]]);export{Sn as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as tt,u as at,r as _,w as O,b as st,C as nt,e as it,o as l,c as o,a,t as n,s as p,f as y,j as ge,m as lt,F as b,g as S,L as ot,M as rt,h as Ce,q as X,v as G,x as ut,p as Be,T as vt,J as ct,y as k,N as dt,O as pt,P as ht,n as ft,Q as Le,R as wt,_ as _t}from"./index-Cmr8liLe.js";const yt={class:"review-pane-header"},mt={class:"review-pane-heading"},bt={class:"review-pane-eyebrow"},kt={class:"review-pane-title"},gt={class:"review-pane-header-actions"},Ct=["aria-label"],Bt={class:"review-pane-toolbar"},Lt={class:"review-pane-toolbar-tabs"},Ft={class:"review-pane-segmented review-pane-segmented-primary"},It=["data-active","onClick"],Rt={class:"review-pane-toolbar-controls"},xt={class:"review-pane-control-cluster"},St={class:"review-pane-control-label"},$t={class:"review-pane-segmented"},Tt=["data-active"],At=["data-active","disabled"],Et={key:0,class:"review-pane-control-cluster"},Mt={class:"review-pane-control-label"},Nt={class:"review-pane-branch-select-wrap"},Pt=["value"],Dt={key:1,class:"review-pane-control-cluster"},Wt={class:"review-pane-control-label"},Gt={class:"review-pane-segmented"},zt=["data-active"],Vt=["data-active"],Kt={class:"review-pane-toolbar-actions"},Ut=["disabled"],Ht=["disabled"],Ot={key:1,class:"review-pane-meta"},Xt={class:"review-pane-summary-pill review-pane-summary-pill-add"},jt={class:"review-pane-summary-pill review-pane-summary-pill-remove"},Yt={key:0},qt={key:1},Jt={key:2,class:"review-pane-content"},Qt={key:0,class:"review-pane-empty"},Zt={class:"review-pane-empty-title"},ea={key:1,class:"review-pane-empty"},ta={class:"review-pane-empty-title"},aa={class:"review-pane-empty-text"},sa=["disabled"],na={key:2,class:"review-pane-empty"},ia={class:"review-pane-empty-title"},la={class:"review-pane-empty-text"},oa={key:0,class:"review-pane-bulk-actions"},ra=["disabled","onClick"],ua={key:1,class:"review-pane-empty"},va={class:"review-pane-empty-title"},ca={class:"review-pane-empty-text"},da={key:0,class:"review-pane-file-list"},pa=["data-expanded","onClick"],ha=["data-expanded"],fa={class:"review-pane-tree-folder-name"},wa={class:"review-pane-tree-folder-count"},_a=["data-active","title","onClick"],ya={class:"review-pane-file-meta-row"},ma={class:"review-pane-file-main"},ba=["data-operation"],ka={class:"review-pane-file-path"},ga={class:"review-pane-file-delta"},Ca={class:"review-pane-delta-add"},Ba={class:"review-pane-delta-remove"},La={class:"review-pane-diff"},Fa={class:"review-pane-file-header"},Ia={class:"review-pane-file-header-main"},Ra={class:"review-pane-file-title"},xa={class:"review-pane-file-subtitle"},Sa={key:0,class:"review-pane-row-actions"},$a=["disabled","onClick"],Ta={key:0,class:"review-pane-raw-diff"},Aa={key:1,class:"review-pane-hunks"},Ea=["data-active","onClick"],Ma={class:"review-pane-hunk-header"},Na={class:"review-pane-hunk-title"},Pa={class:"review-pane-hunk-meta"},Da={key:0,class:"review-pane-row-actions"},Wa=["disabled","onClick"],Ga={class:"review-pane-lines"},za=["data-kind"],Va={class:"review-pane-line-number"},Ka={class:"review-pane-line-number"},Ua={class:"review-pane-line-marker"},Ha={class:"review-pane-line-code"},Oa={key:3,class:"review-pane-findings"},Xa={key:0,class:"review-pane-summary-card"},ja={class:"review-pane-summary-text"},Ya={key:1,class:"review-pane-findings-list"},qa=["onClick"],Ja={class:"review-pane-finding-title"},Qa={key:0,class:"review-pane-finding-location"},Za={key:1,class:"review-pane-finding-body"},es={key:2,class:"review-pane-empty"},ts={class:"review-pane-empty-text"},as={class:"review-pane-sheet-header"},ss={class:"review-pane-sheet-count"},ns={class:"review-pane-sheet-list"},is=["data-expanded","onClick"],ls=["data-expanded"],os={class:"review-pane-tree-folder-name"},rs={class:"review-pane-tree-folder-count"},us=["data-active","title","onClick"],vs={class:"review-pane-file-meta-row"},cs={class:"review-pane-file-main"},ds=["data-operation"],ps={class:"review-pane-file-path"},hs={class:"review-pane-file-delta"},fs={class:"review-pane-delta-add"},ws={class:"review-pane-delta-remove"},Fe="codex-web-local.review-pane-file-list-width.v1",_s=220,ys=420,Ie=288,ms=tt({__name:"ReviewPane",props:{threadId:{},cwd:{},isThreadInProgress:{type:Boolean}},emits:["close"],setup(Re){const g=Re,{isMobile:R}=at(),{t:u}=ct(),M=_("changes"),f=_("workspace"),L=_("unstaged"),v=_(null),$=_(""),j=_(!1),T=_(""),F=_(""),Y=_(!1),se=_(!1),N=_(!1),E=_(!1),q=_(!1),z=_(""),I=_(""),P=_(""),D=_({}),J=_(""),ne=new Map;let Q=null,A=null;const xe=[{value:"changes",label:u("Changes")},{value:"findings",label:u("Findings")}],Z=k(()=>`${f.value}:${L.value}`),V=k(()=>D.value[Z.value]??null),C=k(()=>{var e,t;return((e=v.value)==null?void 0:e.files.find(i=>i.id===T.value))??((t=v.value)==null?void 0:t.files[0])??null}),W=_({}),Se=k(()=>{var e,t;return(e=v.value)!=null&&e.isGitRepo?f.value==="workspace"?L.value==="staged"?u("Staged changes"):u("Workspace changes"):(t=v.value)!=null&&t.baseBranch?`${u("Against")} ${v.value.baseBranch}`:u("Base branch"):u("Repository review")}),ue=k(()=>{var e,t;return g.threadId.trim().length>0&&g.cwd.trim().length>0&&((e=v.value)==null?void 0:e.isGitRepo)===!0&&!g.isThreadInProgress&&!(f.value==="baseBranch"&&!((t=v.value)!=null&&t.baseBranch))}),ve=k(()=>{var e;return f.value==="workspace"&&((e=v.value)==null?void 0:e.isGitRepo)===!0&&v.value.files.length>0}),ce=k(()=>ve.value&&!N.value),$e=k(()=>L.value==="staged"?[{value:"unstage",label:u("Unstage all")}]:[{value:"stage",label:u("Stage all")},{value:"revert",label:u("Revert all")}]),Te=k(()=>L.value==="staged"?[{value:"unstage",label:u("Unstage file")}]:[{value:"stage",label:u("Stage file")},{value:"revert",label:u("Revert file")}]),Ae=k(()=>L.value==="staged"?[{value:"unstage",label:u("Unstage hunk")}]:[{value:"stage",label:u("Stage hunk")},{value:"revert",label:u("Revert hunk")}]),de=k(()=>I.value||z.value||P.value),Ee=k(()=>!!(I.value||z.value)),ee=_(Pe()),Me=k(()=>{const e={};return R.value||(e["--review-file-list-width"]=`${ee.value}px`),e}),pe=k(()=>{var e;return ze(((e=v.value)==null?void 0:e.files)??[],W.value)}),he=k(()=>pe.value.nodes),Ne=k(()=>pe.value.folderIdsByFileId);function ie(e){return Number.isFinite(e)?Math.min(ys,Math.max(_s,Math.round(e))):Ie}function Pe(){if(typeof window>"u")return Ie;const e=window.localStorage.getItem(Fe),t=e?Number(e):Number.NaN;return ie(t)}function De(e){typeof window>"u"||window.localStorage.setItem(Fe,String(ie(e)))}function We(e){if(R.value)return;e.preventDefault(),A==null||A();const t=e.clientX,i=ee.value,c=w=>{ee.value=ie(i+(w.clientX-t))},d=()=>{window.removeEventListener("pointermove",c),window.removeEventListener("pointerup",m),A=null},m=()=>{d(),De(ee.value)};window.addEventListener("pointermove",c),window.addEventListener("pointerup",m),A=d}function Ge(e){return e==="add"?"+":e==="remove"?"-":e==="hunk"?"@@":" "}function fe(e){const t=e.split("/").filter(Boolean);return t[t.length-1]??e}function we(e,t){return e.localeCompare(t,void 0,{numeric:!0,sensitivity:"base"})}function ze(e,t){const i={folders:new Map,files:[]},c={};for(const B of e){const s=B.path.split("/").filter(Boolean),r=s.pop()??B.path;let h=i,x="";const ke=[];for(const[et,U]of s.entries()){x=x?`${x}/${U}`:U;let H=h.folders.get(U);H||(H={id:x,name:U,depth:et,folders:new Map,files:[]},h.folders.set(U,H)),h=H,ke.push(H.id)}h.files.push({file:B,name:r,depth:s.length}),c[B.id]=ke}const d=[],m=B=>B.files.length+Array.from(B.folders.values()).reduce((s,r)=>s+m(r),0),w=B=>{const s=Array.from(B.folders.values()).sort((h,x)=>we(h.name,x.name)),r=[...B.files].sort((h,x)=>we(h.name,x.name));for(const h of s)d.push({kind:"folder",treeKey:`folder:${h.id}`,id:h.id,name:h.name,depth:h.depth,fileCount:m(h)}),t[h.id]!==!1&&w(h);for(const h of r)d.push({kind:"file",treeKey:`file:${h.file.id}`,id:h.file.id,name:h.name,depth:h.depth,file:h.file})};return w(i),{nodes:d,folderIdsByFileId:c}}function K(e){return W.value[e]!==!1}function _e(e){W.value={...W.value,[e]:!K(e)}}function le(e){const t=Ne.value[e]??[];if(t.length===0)return;const i={...W.value};let c=!1;for(const d of t)i[d]===!1&&(i[d]=!0,c=!0);c&&(W.value=i)}function te(e){const t=R.value?8:10,i=R.value?12:14;return{paddingLeft:`${t+e*i}px`}}function oe(e){return e==="add"?"Added":e==="delete"?"Deleted":e==="rename"?"Renamed":"Modified"}function Ve(e,t){if(!(t instanceof HTMLElement)){ne.delete(e);return}ne.set(e,t)}function Ke(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 ae(){var e,t,i;if(g.cwd.trim()){se.value=!0,z.value="";try{const c=f.value==="baseBranch"?$.value.trim():"",d=await dt(g.cwd,f.value,L.value,c||null);if(d.baseBranchOptions.length>0){const w=d.baseBranch??d.baseBranchOptions[0]??"";$.value!==w&&(j.value=!0,$.value=w)}else $.value!==""&&(j.value=!0,$.value="");v.value=d,d.files.some(w=>w.id===T.value)||(T.value=((e=d.files[0])==null?void 0:e.id)??"",F.value=((i=(t=d.files[0])==null?void 0:t.hunks[0])==null?void 0:i.id)??"")}catch(c){z.value=c instanceof Error?c.message:"Failed to load review snapshot"}finally{se.value=!1}}}async function Ue(){if(g.threadId.trim())try{const e=await Le(g.threadId);e.result&&(D.value={...D.value,[Z.value]:e.result})}catch{}}async function ye(){await Promise.all([ae(),Ue()])}function me(e){var i,c;le(e),T.value=e;const t=((i=v.value)==null?void 0:i.files.find(d=>d.id===e))??null;F.value=((c=t==null?void 0:t.hunks[0])==null?void 0:c.id)??"",R.value&&(Y.value=!1)}async function re(e,t,i=""){var c,d,m;if(v.value){N.value=!0,I.value="";try{const w=await wt({cwd:g.cwd,scope:f.value,workspaceView:L.value,action:e,level:t,patch:i});v.value=w,w.files.some(s=>s.id===T.value)||(T.value=((c=w.files[0])==null?void 0:c.id)??"",F.value=((m=(d=w.files[0])==null?void 0:d.hunks[0])==null?void 0:m.id)??"")}catch(w){I.value=w instanceof Error?w.message:"Failed to apply review action"}finally{N.value=!1}}}async function He(e){await re(e,"all")}async function Oe(e,t){await re(e,"file",t.diff)}async function Xe(e,t){F.value=t.id,await re(e,"hunk",t.patch)}async function je(){if(g.cwd.trim()){q.value=!0,I.value="";try{await pt(g.cwd),await ae()}catch(e){I.value=e instanceof Error?e.message:"Failed to initialize Git"}finally{q.value=!1}}}async function Ye(){var e,t;if(!(!ue.value||E.value)){I.value="",P.value=f.value==="workspace"?"Reviewing current changes":`Reviewing against ${((e=v.value)==null?void 0:e.baseBranch)??"base branch"}`,E.value=!0,J.value=Z.value;try{await ht(g.threadId,f.value,L.value,$.value||(((t=v.value)==null?void 0:t.baseBranch)??null))}catch(i){E.value=!1,P.value="",I.value=i instanceof Error?i.message:"Failed to start review"}}}function qe(e){if(!e.absolutePath)return"";const t=e.startLine?`:${e.startLine}${e.endLine&&e.endLine!==e.startLine?`-${e.endLine}`:""}`:"";return`${e.absolutePath}${t}`}function Je(e,t){if(!t.startLine)return e.hunks[0]??null;for(const i of e.hunks){if(i.newStart!==null){const c=i.newStart+Math.max(i.newLineCount,1)-1;if(t.startLine>=i.newStart&&t.startLine<=c)return i}if(i.oldStart!==null){const c=i.oldStart+Math.max(i.oldLineCount,1)-1;if(t.startLine>=i.oldStart&&t.startLine<=c)return i}}return e.hunks[0]??null}async function be(e){await ft();const t=ne.get(e);t==null||t.scrollIntoView({block:"center",behavior:"smooth"})}async function Qe(e){var c;M.value="changes";const t=((c=v.value)==null?void 0:c.files.find(d=>d.absolutePath===e.absolutePath||d.previousAbsolutePath===e.absolutePath))??null;if(!t)return;le(t.id),T.value=t.id;const i=Je(t,e);F.value=(i==null?void 0:i.id)??"",i!=null&&i.id&&await be(i.id)}function Ze(e){if(Ke(e)!==g.threadId)return;const t=e.params!==null&&typeof e.params=="object"&&!Array.isArray(e.params)?e.params:null,i=(t==null?void 0:t.item)!==null&&typeof(t==null?void 0:t.item)=="object"&&!Array.isArray(t.item)?t.item:null,c=typeof(i==null?void 0:i.type)=="string"?i.type:"";if(e.method==="item/started"&&c==="enteredReviewMode"){E.value=!0,P.value=typeof(i==null?void 0:i.review)=="string"?i.review:"Review in progress";return}if(e.method==="item/completed"&&c==="exitedReviewMode"){const d=J.value||Z.value;E.value=!1,P.value="",Le(g.threadId).then(m=>{m.result&&(D.value={...D.value,[d]:m.result},M.value="findings")}).catch(m=>{I.value=m instanceof Error?m.message:"Failed to load review result"}).finally(()=>{J.value=""})}}return O(()=>[g.threadId,g.cwd],()=>{T.value="",F.value="",D.value={},J.value="",I.value="",P.value="",ye()},{immediate:!0}),O(()=>[f.value,L.value],()=>{T.value="",F.value="",I.value="",z.value="",ae()}),O($,(e,t)=>{if(j.value){j.value=!1;return}f.value==="baseBranch"&&(!e||e===t||ae())}),O(C,e=>{var t;e&&(le(e.id),e.hunks.some(i=>i.id===F.value)||(F.value=((t=e.hunks[0])==null?void 0:t.id)??""))}),O(F,e=>{e&&be(e)}),st(()=>{Q=nt(Ze)}),it(()=>{Q&&(Q(),Q=null),A==null||A()}),(e,t)=>{var i,c,d,m,w,B;return l(),o("section",{class:Ce(["review-pane",{"is-mobile":p(R)}]),onClick:t[9]||(t[9]=Be(()=>{},["stop"]))},[a("header",yt,[a("div",mt,[a("p",bt,n(p(u)("Review")),1),a("p",kt,n(Se.value),1)]),a("div",gt,[p(R)&&M.value==="changes"&&((i=v.value)!=null&&i.files.length)?(l(),o("button",{key:0,type:"button",class:"review-pane-mobile-files-button",onClick:t[0]||(t[0]=s=>Y.value=!0)},n(p(u)("Files")),1)):y("",!0),a("button",{type:"button",class:"review-pane-close","aria-label":p(u)("Close review pane"),onClick:t[1]||(t[1]=s=>e.$emit("close"))},[ge(lt,{class:"icon-svg"})],8,Ct)])]),a("div",Bt,[a("div",Lt,[a("div",Ft,[(l(),o(b,null,S(xe,s=>a("button",{key:s.value,type:"button",class:"review-pane-segmented-button review-pane-tab","data-active":M.value===s.value,onClick:r=>M.value=s.value},n(s.label),9,It)),64))])]),a("div",Rt,[a("div",xt,[a("span",St,n(p(u)("Compare")),1),a("div",$t,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":f.value==="workspace",onClick:t[2]||(t[2]=s=>f.value="workspace")},n(p(u)("Workspace")),9,Tt),a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":f.value==="baseBranch",disabled:!((c=v.value)!=null&&c.baseBranch),onClick:t[3]||(t[3]=s=>f.value="baseBranch")},n(p(u)("Base branch")),9,At)])]),f.value==="baseBranch"&&((d=v.value)!=null&&d.baseBranchOptions.length)?(l(),o("div",Et,[a("span",Mt,n(p(u)("Branch")),1),a("label",Nt,[ot(a("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>$.value=s),class:"review-pane-branch-select"},[(l(!0),o(b,null,S(v.value.baseBranchOptions,s=>(l(),o("option",{key:s,value:s},n(s),9,Pt))),128))],512),[[rt,$.value]])])])):y("",!0),f.value==="workspace"?(l(),o("div",Dt,[a("span",Wt,n(p(u)("Changes")),1),a("div",Gt,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":L.value==="unstaged",onClick:t[5]||(t[5]=s=>L.value="unstaged")},n(p(u)("Unstaged")),9,zt),a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":L.value==="staged",onClick:t[6]||(t[6]=s=>L.value="staged")},n(p(u)("Staged")),9,Vt)])])):y("",!0)]),a("div",Kt,[a("button",{type:"button",class:"review-pane-run",disabled:!ue.value||E.value,onClick:Ye},n(E.value?p(u)("Reviewing…"):p(u)("Run review")),9,Ut),a("button",{type:"button",class:"review-pane-refresh",disabled:se.value,onClick:ye},n(p(u)("Refresh")),9,Ht)])]),de.value?(l(),o("div",{key:0,class:Ce(["review-pane-banner",{"is-error":Ee.value}])},n(de.value),3)):y("",!0),v.value?(l(),o("div",Ot,[a("span",null,n(v.value.summary.fileCount)+" "+n(p(u)("files")),1),a("span",Xt,"+"+n(v.value.summary.addedLineCount),1),a("span",jt,"-"+n(v.value.summary.removedLineCount),1),v.value.headBranch?(l(),o("span",Yt,n(v.value.headBranch),1)):y("",!0),f.value==="baseBranch"&&v.value.baseBranch?(l(),o("span",qt,"vs "+n(v.value.baseBranch),1)):y("",!0)])):y("",!0),M.value==="changes"?(l(),o("div",Jt,[v.value?v.value.isGitRepo?f.value==="baseBranch"&&!v.value.baseBranch?(l(),o("div",na,[a("p",ia,n(p(u)("Base branch unavailable")),1),a("p",la,n(p(u)("Could not resolve `origin/HEAD`, `main`, or `master` for this repository.")),1)])):(l(),o(b,{key:3},[ve.value?(l(),o("div",oa,[(l(!0),o(b,null,S($e.value,s=>(l(),o("button",{key:s.value,type:"button",class:"review-pane-bulk-button",disabled:N.value,onClick:r=>He(s.value)},n(s.label),9,ra))),128))])):y("",!0),v.value.files.length?(l(),o("div",{key:2,class:"review-pane-main",style:X(Me.value)},[p(R)?y("",!0):(l(),o("aside",da,[(l(!0),o(b,null,S(he.value,s=>{var r;return l(),o(b,{key:s.treeKey},[s.kind==="folder"?(l(),o("button",{key:0,type:"button",class:"review-pane-tree-folder",style:X(te(s.depth)),"data-expanded":K(s.id),onClick:h=>_e(s.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":K(s.id)},null,8,ha),a("span",fa,n(s.name),1),a("span",wa,n(s.fileCount),1)],12,pa)):(l(),o("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:X(te(s.depth)),"data-active":((r=C.value)==null?void 0:r.id)===s.file.id,title:s.file.path,onClick:h=>me(s.file.id)},[a("span",ya,[a("span",ma,[a("span",{class:"review-pane-file-op","data-operation":s.file.operation},n(oe(s.file.operation)),9,ba),a("span",ka,[G(n(s.name)+" ",1),s.file.previousPath?(l(),o(b,{key:0},[G(" ← "+n(fe(s.file.previousPath)),1)],64)):y("",!0)])]),a("span",ga,[a("span",Ca,"+"+n(s.file.addedLineCount),1),t[10]||(t[10]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",Ba,"-"+n(s.file.removedLineCount),1)])])],12,_a))],64)}),128))])),p(R)?y("",!0):(l(),o("div",{key:1,class:"review-pane-resizer",role:"separator","aria-orientation":"vertical","aria-label":"Resize file list",onPointerdown:We},null,32)),a("section",La,[C.value?(l(),o(b,{key:0},[a("div",Fa,[a("div",Ia,[a("p",Ra,[G(n(C.value.path)+" ",1),C.value.previousPath?(l(),o(b,{key:0},[G(" ← "+n(C.value.previousPath),1)],64)):y("",!0)]),a("p",xa,n(oe(C.value.operation))+" · +"+n(C.value.addedLineCount)+" / -"+n(C.value.removedLineCount),1)]),ce.value?(l(),o("div",Sa,[(l(!0),o(b,null,S(Te.value,s=>(l(),o("button",{key:`${C.value.id}:${s.value}`,type:"button",class:"review-pane-row-button",disabled:N.value,onClick:r=>Oe(s.value,C.value)},n(s.label),9,$a))),128))])):y("",!0)]),C.value.hunks.length===0?(l(),o("div",Ta,[a("pre",null,n(C.value.diff||"No unified diff available."),1)])):(l(),o("div",Aa,[(l(!0),o(b,null,S(C.value.hunks,s=>(l(),o("article",{key:s.id,ref_for:!0,ref:r=>Ve(s.id,r),class:"review-pane-hunk","data-active":F.value===s.id,onClick:r=>F.value=s.id},[a("div",Ma,[a("div",null,[a("p",Na,n(s.header),1),a("p",Pa,"+"+n(s.addedLineCount)+" / -"+n(s.removedLineCount),1)]),ce.value?(l(),o("div",Da,[(l(!0),o(b,null,S(Ae.value,r=>(l(),o("button",{key:`${s.id}:${r.value}`,type:"button",class:"review-pane-row-button",disabled:N.value,onClick:h=>Xe(r.value,s)},n(r.label),9,Wa))),128))])):y("",!0)]),a("div",Ga,[(l(!0),o(b,null,S(s.lines,r=>(l(),o("div",{key:r.key,class:"review-pane-line","data-kind":r.kind},[a("span",Va,n(r.oldLine??""),1),a("span",Ka,n(r.newLine??""),1),a("span",Ua,n(Ge(r.kind)),1),a("code",Ha,n(r.text||" "),1)],8,za))),128))])],8,Ea))),128))]))],64)):y("",!0)])],4)):(l(),o("div",ua,[a("p",va,n(p(u)("No changes in this scope")),1),a("p",ca,n(f.value==="workspace"?p(u)("Your current workspace is clean."):p(u)("No merge diff found against the base branch.")),1)]))],64)):(l(),o("div",ea,[a("p",ta,n(p(u)("This folder is not a Git repository")),1),a("p",aa,n(p(u)("Initialize Git to review local changes and run Codex review.")),1),a("button",{type:"button",class:"review-pane-primary-cta",disabled:q.value,onClick:je},n(q.value?p(u)("Initializing…"):p(u)("Initialize Git")),9,sa)])):(l(),o("div",Qt,[a("p",Zt,n(p(u)("Loading review state")),1)]))])):(l(),o("div",Oa,[(m=V.value)!=null&&m.summary?(l(),o("div",Xa,[t[11]||(t[11]=a("p",{class:"review-pane-summary-title"},"Summary",-1)),a("pre",ja,n(V.value.summary),1)])):y("",!0),(w=V.value)!=null&&w.findings.length?(l(),o("div",Ya,[(l(!0),o(b,null,S(V.value.findings,s=>(l(),o("button",{key:s.id,type:"button",class:"review-pane-finding",onClick:r=>Qe(s)},[a("span",Ja,n(s.title),1),s.absolutePath?(l(),o("span",Qa,n(qe(s)),1)):y("",!0),s.body?(l(),o("span",Za,n(s.body),1)):y("",!0)],8,qa))),128))])):(l(),o("div",es,[t[12]||(t[12]=a("p",{class:"review-pane-empty-title"},"No structured findings yet",-1)),a("p",ts,n((B=V.value)!=null&&B.summary?"The latest review only returned summary text.":"Run review to populate this pane."),1)]))])),ge(vt,{name:"review-pane-sheet"},{default:ut(()=>{var s;return[p(R)&&Y.value&&((s=v.value)!=null&&s.files.length)?(l(),o("div",{key:0,class:"review-pane-sheet-backdrop",onClick:t[8]||(t[8]=r=>Y.value=!1)},[a("div",{class:"review-pane-sheet",onClick:t[7]||(t[7]=Be(()=>{},["stop"]))},[t[15]||(t[15]=a("div",{class:"review-pane-sheet-handle","aria-hidden":"true"},null,-1)),a("div",as,[t[13]||(t[13]=a("p",{class:"review-pane-sheet-title"},"Changed files",-1)),a("p",ss,n(v.value.files.length),1)]),a("div",ns,[(l(!0),o(b,null,S(he.value,r=>{var h;return l(),o(b,{key:`sheet:${r.treeKey}`},[r.kind==="folder"?(l(),o("button",{key:0,type:"button",class:"review-pane-tree-folder review-pane-tree-folder-sheet",style:X(te(r.depth)),"data-expanded":K(r.id),onClick:x=>_e(r.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":K(r.id)},null,8,ls),a("span",os,n(r.name),1),a("span",rs,n(r.fileCount),1)],12,is)):(l(),o("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:X(te(r.depth)),"data-active":((h=C.value)==null?void 0:h.id)===r.file.id,title:r.file.path,onClick:x=>me(r.file.id)},[a("span",vs,[a("span",cs,[a("span",{class:"review-pane-file-op","data-operation":r.file.operation},n(oe(r.file.operation)),9,ds),a("span",ps,[G(n(r.name)+" ",1),r.file.previousPath?(l(),o(b,{key:0},[G(" ← "+n(fe(r.file.previousPath)),1)],64)):y("",!0)])]),a("span",hs,[a("span",fs,"+"+n(r.file.addedLineCount),1),t[14]||(t[14]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",ws,"-"+n(r.file.removedLineCount),1)])])],12,us))],64)}),128))])])])):y("",!0)]}),_:1})],2)}}}),ks=_t(ms,[["__scopeId","data-v-24eaecc6"]]);export{ks as default};
|
|
1
|
+
import{d as tt,u as at,r as _,w as O,b as st,C as nt,e as it,o as l,c as o,a,t as n,s as p,f as y,j as ge,m as lt,F as b,g as S,L as ot,M as rt,h as Ce,q as X,v as G,x as ut,p as Be,T as vt,J as ct,y as k,N as dt,O as pt,P as ht,n as ft,Q as Le,R as wt,_ as _t}from"./index-DzzwK-KG.js";const yt={class:"review-pane-header"},mt={class:"review-pane-heading"},bt={class:"review-pane-eyebrow"},kt={class:"review-pane-title"},gt={class:"review-pane-header-actions"},Ct=["aria-label"],Bt={class:"review-pane-toolbar"},Lt={class:"review-pane-toolbar-tabs"},Ft={class:"review-pane-segmented review-pane-segmented-primary"},It=["data-active","onClick"],Rt={class:"review-pane-toolbar-controls"},xt={class:"review-pane-control-cluster"},St={class:"review-pane-control-label"},$t={class:"review-pane-segmented"},Tt=["data-active"],At=["data-active","disabled"],Et={key:0,class:"review-pane-control-cluster"},Mt={class:"review-pane-control-label"},Nt={class:"review-pane-branch-select-wrap"},Pt=["value"],Dt={key:1,class:"review-pane-control-cluster"},Wt={class:"review-pane-control-label"},Gt={class:"review-pane-segmented"},zt=["data-active"],Vt=["data-active"],Kt={class:"review-pane-toolbar-actions"},Ut=["disabled"],Ht=["disabled"],Ot={key:1,class:"review-pane-meta"},Xt={class:"review-pane-summary-pill review-pane-summary-pill-add"},jt={class:"review-pane-summary-pill review-pane-summary-pill-remove"},Yt={key:0},qt={key:1},Jt={key:2,class:"review-pane-content"},Qt={key:0,class:"review-pane-empty"},Zt={class:"review-pane-empty-title"},ea={key:1,class:"review-pane-empty"},ta={class:"review-pane-empty-title"},aa={class:"review-pane-empty-text"},sa=["disabled"],na={key:2,class:"review-pane-empty"},ia={class:"review-pane-empty-title"},la={class:"review-pane-empty-text"},oa={key:0,class:"review-pane-bulk-actions"},ra=["disabled","onClick"],ua={key:1,class:"review-pane-empty"},va={class:"review-pane-empty-title"},ca={class:"review-pane-empty-text"},da={key:0,class:"review-pane-file-list"},pa=["data-expanded","onClick"],ha=["data-expanded"],fa={class:"review-pane-tree-folder-name"},wa={class:"review-pane-tree-folder-count"},_a=["data-active","title","onClick"],ya={class:"review-pane-file-meta-row"},ma={class:"review-pane-file-main"},ba=["data-operation"],ka={class:"review-pane-file-path"},ga={class:"review-pane-file-delta"},Ca={class:"review-pane-delta-add"},Ba={class:"review-pane-delta-remove"},La={class:"review-pane-diff"},Fa={class:"review-pane-file-header"},Ia={class:"review-pane-file-header-main"},Ra={class:"review-pane-file-title"},xa={class:"review-pane-file-subtitle"},Sa={key:0,class:"review-pane-row-actions"},$a=["disabled","onClick"],Ta={key:0,class:"review-pane-raw-diff"},Aa={key:1,class:"review-pane-hunks"},Ea=["data-active","onClick"],Ma={class:"review-pane-hunk-header"},Na={class:"review-pane-hunk-title"},Pa={class:"review-pane-hunk-meta"},Da={key:0,class:"review-pane-row-actions"},Wa=["disabled","onClick"],Ga={class:"review-pane-lines"},za=["data-kind"],Va={class:"review-pane-line-number"},Ka={class:"review-pane-line-number"},Ua={class:"review-pane-line-marker"},Ha={class:"review-pane-line-code"},Oa={key:3,class:"review-pane-findings"},Xa={key:0,class:"review-pane-summary-card"},ja={class:"review-pane-summary-text"},Ya={key:1,class:"review-pane-findings-list"},qa=["onClick"],Ja={class:"review-pane-finding-title"},Qa={key:0,class:"review-pane-finding-location"},Za={key:1,class:"review-pane-finding-body"},es={key:2,class:"review-pane-empty"},ts={class:"review-pane-empty-text"},as={class:"review-pane-sheet-header"},ss={class:"review-pane-sheet-count"},ns={class:"review-pane-sheet-list"},is=["data-expanded","onClick"],ls=["data-expanded"],os={class:"review-pane-tree-folder-name"},rs={class:"review-pane-tree-folder-count"},us=["data-active","title","onClick"],vs={class:"review-pane-file-meta-row"},cs={class:"review-pane-file-main"},ds=["data-operation"],ps={class:"review-pane-file-path"},hs={class:"review-pane-file-delta"},fs={class:"review-pane-delta-add"},ws={class:"review-pane-delta-remove"},Fe="codex-web-local.review-pane-file-list-width.v1",_s=220,ys=420,Ie=288,ms=tt({__name:"ReviewPane",props:{threadId:{},cwd:{},isThreadInProgress:{type:Boolean}},emits:["close"],setup(Re){const g=Re,{isMobile:R}=at(),{t:u}=ct(),M=_("changes"),f=_("workspace"),L=_("unstaged"),v=_(null),$=_(""),j=_(!1),T=_(""),F=_(""),Y=_(!1),se=_(!1),N=_(!1),E=_(!1),q=_(!1),z=_(""),I=_(""),P=_(""),D=_({}),J=_(""),ne=new Map;let Q=null,A=null;const xe=[{value:"changes",label:u("Changes")},{value:"findings",label:u("Findings")}],Z=k(()=>`${f.value}:${L.value}`),V=k(()=>D.value[Z.value]??null),C=k(()=>{var e,t;return((e=v.value)==null?void 0:e.files.find(i=>i.id===T.value))??((t=v.value)==null?void 0:t.files[0])??null}),W=_({}),Se=k(()=>{var e,t;return(e=v.value)!=null&&e.isGitRepo?f.value==="workspace"?L.value==="staged"?u("Staged changes"):u("Workspace changes"):(t=v.value)!=null&&t.baseBranch?`${u("Against")} ${v.value.baseBranch}`:u("Base branch"):u("Repository review")}),ue=k(()=>{var e,t;return g.threadId.trim().length>0&&g.cwd.trim().length>0&&((e=v.value)==null?void 0:e.isGitRepo)===!0&&!g.isThreadInProgress&&!(f.value==="baseBranch"&&!((t=v.value)!=null&&t.baseBranch))}),ve=k(()=>{var e;return f.value==="workspace"&&((e=v.value)==null?void 0:e.isGitRepo)===!0&&v.value.files.length>0}),ce=k(()=>ve.value&&!N.value),$e=k(()=>L.value==="staged"?[{value:"unstage",label:u("Unstage all")}]:[{value:"stage",label:u("Stage all")},{value:"revert",label:u("Revert all")}]),Te=k(()=>L.value==="staged"?[{value:"unstage",label:u("Unstage file")}]:[{value:"stage",label:u("Stage file")},{value:"revert",label:u("Revert file")}]),Ae=k(()=>L.value==="staged"?[{value:"unstage",label:u("Unstage hunk")}]:[{value:"stage",label:u("Stage hunk")},{value:"revert",label:u("Revert hunk")}]),de=k(()=>I.value||z.value||P.value),Ee=k(()=>!!(I.value||z.value)),ee=_(Pe()),Me=k(()=>{const e={};return R.value||(e["--review-file-list-width"]=`${ee.value}px`),e}),pe=k(()=>{var e;return ze(((e=v.value)==null?void 0:e.files)??[],W.value)}),he=k(()=>pe.value.nodes),Ne=k(()=>pe.value.folderIdsByFileId);function ie(e){return Number.isFinite(e)?Math.min(ys,Math.max(_s,Math.round(e))):Ie}function Pe(){if(typeof window>"u")return Ie;const e=window.localStorage.getItem(Fe),t=e?Number(e):Number.NaN;return ie(t)}function De(e){typeof window>"u"||window.localStorage.setItem(Fe,String(ie(e)))}function We(e){if(R.value)return;e.preventDefault(),A==null||A();const t=e.clientX,i=ee.value,c=w=>{ee.value=ie(i+(w.clientX-t))},d=()=>{window.removeEventListener("pointermove",c),window.removeEventListener("pointerup",m),A=null},m=()=>{d(),De(ee.value)};window.addEventListener("pointermove",c),window.addEventListener("pointerup",m),A=d}function Ge(e){return e==="add"?"+":e==="remove"?"-":e==="hunk"?"@@":" "}function fe(e){const t=e.split("/").filter(Boolean);return t[t.length-1]??e}function we(e,t){return e.localeCompare(t,void 0,{numeric:!0,sensitivity:"base"})}function ze(e,t){const i={folders:new Map,files:[]},c={};for(const B of e){const s=B.path.split("/").filter(Boolean),r=s.pop()??B.path;let h=i,x="";const ke=[];for(const[et,U]of s.entries()){x=x?`${x}/${U}`:U;let H=h.folders.get(U);H||(H={id:x,name:U,depth:et,folders:new Map,files:[]},h.folders.set(U,H)),h=H,ke.push(H.id)}h.files.push({file:B,name:r,depth:s.length}),c[B.id]=ke}const d=[],m=B=>B.files.length+Array.from(B.folders.values()).reduce((s,r)=>s+m(r),0),w=B=>{const s=Array.from(B.folders.values()).sort((h,x)=>we(h.name,x.name)),r=[...B.files].sort((h,x)=>we(h.name,x.name));for(const h of s)d.push({kind:"folder",treeKey:`folder:${h.id}`,id:h.id,name:h.name,depth:h.depth,fileCount:m(h)}),t[h.id]!==!1&&w(h);for(const h of r)d.push({kind:"file",treeKey:`file:${h.file.id}`,id:h.file.id,name:h.name,depth:h.depth,file:h.file})};return w(i),{nodes:d,folderIdsByFileId:c}}function K(e){return W.value[e]!==!1}function _e(e){W.value={...W.value,[e]:!K(e)}}function le(e){const t=Ne.value[e]??[];if(t.length===0)return;const i={...W.value};let c=!1;for(const d of t)i[d]===!1&&(i[d]=!0,c=!0);c&&(W.value=i)}function te(e){const t=R.value?8:10,i=R.value?12:14;return{paddingLeft:`${t+e*i}px`}}function oe(e){return e==="add"?"Added":e==="delete"?"Deleted":e==="rename"?"Renamed":"Modified"}function Ve(e,t){if(!(t instanceof HTMLElement)){ne.delete(e);return}ne.set(e,t)}function Ke(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 ae(){var e,t,i;if(g.cwd.trim()){se.value=!0,z.value="";try{const c=f.value==="baseBranch"?$.value.trim():"",d=await dt(g.cwd,f.value,L.value,c||null);if(d.baseBranchOptions.length>0){const w=d.baseBranch??d.baseBranchOptions[0]??"";$.value!==w&&(j.value=!0,$.value=w)}else $.value!==""&&(j.value=!0,$.value="");v.value=d,d.files.some(w=>w.id===T.value)||(T.value=((e=d.files[0])==null?void 0:e.id)??"",F.value=((i=(t=d.files[0])==null?void 0:t.hunks[0])==null?void 0:i.id)??"")}catch(c){z.value=c instanceof Error?c.message:"Failed to load review snapshot"}finally{se.value=!1}}}async function Ue(){if(g.threadId.trim())try{const e=await Le(g.threadId);e.result&&(D.value={...D.value,[Z.value]:e.result})}catch{}}async function ye(){await Promise.all([ae(),Ue()])}function me(e){var i,c;le(e),T.value=e;const t=((i=v.value)==null?void 0:i.files.find(d=>d.id===e))??null;F.value=((c=t==null?void 0:t.hunks[0])==null?void 0:c.id)??"",R.value&&(Y.value=!1)}async function re(e,t,i=""){var c,d,m;if(v.value){N.value=!0,I.value="";try{const w=await wt({cwd:g.cwd,scope:f.value,workspaceView:L.value,action:e,level:t,patch:i});v.value=w,w.files.some(s=>s.id===T.value)||(T.value=((c=w.files[0])==null?void 0:c.id)??"",F.value=((m=(d=w.files[0])==null?void 0:d.hunks[0])==null?void 0:m.id)??"")}catch(w){I.value=w instanceof Error?w.message:"Failed to apply review action"}finally{N.value=!1}}}async function He(e){await re(e,"all")}async function Oe(e,t){await re(e,"file",t.diff)}async function Xe(e,t){F.value=t.id,await re(e,"hunk",t.patch)}async function je(){if(g.cwd.trim()){q.value=!0,I.value="";try{await pt(g.cwd),await ae()}catch(e){I.value=e instanceof Error?e.message:"Failed to initialize Git"}finally{q.value=!1}}}async function Ye(){var e,t;if(!(!ue.value||E.value)){I.value="",P.value=f.value==="workspace"?"Reviewing current changes":`Reviewing against ${((e=v.value)==null?void 0:e.baseBranch)??"base branch"}`,E.value=!0,J.value=Z.value;try{await ht(g.threadId,f.value,L.value,$.value||(((t=v.value)==null?void 0:t.baseBranch)??null))}catch(i){E.value=!1,P.value="",I.value=i instanceof Error?i.message:"Failed to start review"}}}function qe(e){if(!e.absolutePath)return"";const t=e.startLine?`:${e.startLine}${e.endLine&&e.endLine!==e.startLine?`-${e.endLine}`:""}`:"";return`${e.absolutePath}${t}`}function Je(e,t){if(!t.startLine)return e.hunks[0]??null;for(const i of e.hunks){if(i.newStart!==null){const c=i.newStart+Math.max(i.newLineCount,1)-1;if(t.startLine>=i.newStart&&t.startLine<=c)return i}if(i.oldStart!==null){const c=i.oldStart+Math.max(i.oldLineCount,1)-1;if(t.startLine>=i.oldStart&&t.startLine<=c)return i}}return e.hunks[0]??null}async function be(e){await ft();const t=ne.get(e);t==null||t.scrollIntoView({block:"center",behavior:"smooth"})}async function Qe(e){var c;M.value="changes";const t=((c=v.value)==null?void 0:c.files.find(d=>d.absolutePath===e.absolutePath||d.previousAbsolutePath===e.absolutePath))??null;if(!t)return;le(t.id),T.value=t.id;const i=Je(t,e);F.value=(i==null?void 0:i.id)??"",i!=null&&i.id&&await be(i.id)}function Ze(e){if(Ke(e)!==g.threadId)return;const t=e.params!==null&&typeof e.params=="object"&&!Array.isArray(e.params)?e.params:null,i=(t==null?void 0:t.item)!==null&&typeof(t==null?void 0:t.item)=="object"&&!Array.isArray(t.item)?t.item:null,c=typeof(i==null?void 0:i.type)=="string"?i.type:"";if(e.method==="item/started"&&c==="enteredReviewMode"){E.value=!0,P.value=typeof(i==null?void 0:i.review)=="string"?i.review:"Review in progress";return}if(e.method==="item/completed"&&c==="exitedReviewMode"){const d=J.value||Z.value;E.value=!1,P.value="",Le(g.threadId).then(m=>{m.result&&(D.value={...D.value,[d]:m.result},M.value="findings")}).catch(m=>{I.value=m instanceof Error?m.message:"Failed to load review result"}).finally(()=>{J.value=""})}}return O(()=>[g.threadId,g.cwd],()=>{T.value="",F.value="",D.value={},J.value="",I.value="",P.value="",ye()},{immediate:!0}),O(()=>[f.value,L.value],()=>{T.value="",F.value="",I.value="",z.value="",ae()}),O($,(e,t)=>{if(j.value){j.value=!1;return}f.value==="baseBranch"&&(!e||e===t||ae())}),O(C,e=>{var t;e&&(le(e.id),e.hunks.some(i=>i.id===F.value)||(F.value=((t=e.hunks[0])==null?void 0:t.id)??""))}),O(F,e=>{e&&be(e)}),st(()=>{Q=nt(Ze)}),it(()=>{Q&&(Q(),Q=null),A==null||A()}),(e,t)=>{var i,c,d,m,w,B;return l(),o("section",{class:Ce(["review-pane",{"is-mobile":p(R)}]),onClick:t[9]||(t[9]=Be(()=>{},["stop"]))},[a("header",yt,[a("div",mt,[a("p",bt,n(p(u)("Review")),1),a("p",kt,n(Se.value),1)]),a("div",gt,[p(R)&&M.value==="changes"&&((i=v.value)!=null&&i.files.length)?(l(),o("button",{key:0,type:"button",class:"review-pane-mobile-files-button",onClick:t[0]||(t[0]=s=>Y.value=!0)},n(p(u)("Files")),1)):y("",!0),a("button",{type:"button",class:"review-pane-close","aria-label":p(u)("Close review pane"),onClick:t[1]||(t[1]=s=>e.$emit("close"))},[ge(lt,{class:"icon-svg"})],8,Ct)])]),a("div",Bt,[a("div",Lt,[a("div",Ft,[(l(),o(b,null,S(xe,s=>a("button",{key:s.value,type:"button",class:"review-pane-segmented-button review-pane-tab","data-active":M.value===s.value,onClick:r=>M.value=s.value},n(s.label),9,It)),64))])]),a("div",Rt,[a("div",xt,[a("span",St,n(p(u)("Compare")),1),a("div",$t,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":f.value==="workspace",onClick:t[2]||(t[2]=s=>f.value="workspace")},n(p(u)("Workspace")),9,Tt),a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":f.value==="baseBranch",disabled:!((c=v.value)!=null&&c.baseBranch),onClick:t[3]||(t[3]=s=>f.value="baseBranch")},n(p(u)("Base branch")),9,At)])]),f.value==="baseBranch"&&((d=v.value)!=null&&d.baseBranchOptions.length)?(l(),o("div",Et,[a("span",Mt,n(p(u)("Branch")),1),a("label",Nt,[ot(a("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>$.value=s),class:"review-pane-branch-select"},[(l(!0),o(b,null,S(v.value.baseBranchOptions,s=>(l(),o("option",{key:s,value:s},n(s),9,Pt))),128))],512),[[rt,$.value]])])])):y("",!0),f.value==="workspace"?(l(),o("div",Dt,[a("span",Wt,n(p(u)("Changes")),1),a("div",Gt,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":L.value==="unstaged",onClick:t[5]||(t[5]=s=>L.value="unstaged")},n(p(u)("Unstaged")),9,zt),a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":L.value==="staged",onClick:t[6]||(t[6]=s=>L.value="staged")},n(p(u)("Staged")),9,Vt)])])):y("",!0)]),a("div",Kt,[a("button",{type:"button",class:"review-pane-run",disabled:!ue.value||E.value,onClick:Ye},n(E.value?p(u)("Reviewing…"):p(u)("Run review")),9,Ut),a("button",{type:"button",class:"review-pane-refresh",disabled:se.value,onClick:ye},n(p(u)("Refresh")),9,Ht)])]),de.value?(l(),o("div",{key:0,class:Ce(["review-pane-banner",{"is-error":Ee.value}])},n(de.value),3)):y("",!0),v.value?(l(),o("div",Ot,[a("span",null,n(v.value.summary.fileCount)+" "+n(p(u)("files")),1),a("span",Xt,"+"+n(v.value.summary.addedLineCount),1),a("span",jt,"-"+n(v.value.summary.removedLineCount),1),v.value.headBranch?(l(),o("span",Yt,n(v.value.headBranch),1)):y("",!0),f.value==="baseBranch"&&v.value.baseBranch?(l(),o("span",qt,"vs "+n(v.value.baseBranch),1)):y("",!0)])):y("",!0),M.value==="changes"?(l(),o("div",Jt,[v.value?v.value.isGitRepo?f.value==="baseBranch"&&!v.value.baseBranch?(l(),o("div",na,[a("p",ia,n(p(u)("Base branch unavailable")),1),a("p",la,n(p(u)("Could not resolve `origin/HEAD`, `main`, or `master` for this repository.")),1)])):(l(),o(b,{key:3},[ve.value?(l(),o("div",oa,[(l(!0),o(b,null,S($e.value,s=>(l(),o("button",{key:s.value,type:"button",class:"review-pane-bulk-button",disabled:N.value,onClick:r=>He(s.value)},n(s.label),9,ra))),128))])):y("",!0),v.value.files.length?(l(),o("div",{key:2,class:"review-pane-main",style:X(Me.value)},[p(R)?y("",!0):(l(),o("aside",da,[(l(!0),o(b,null,S(he.value,s=>{var r;return l(),o(b,{key:s.treeKey},[s.kind==="folder"?(l(),o("button",{key:0,type:"button",class:"review-pane-tree-folder",style:X(te(s.depth)),"data-expanded":K(s.id),onClick:h=>_e(s.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":K(s.id)},null,8,ha),a("span",fa,n(s.name),1),a("span",wa,n(s.fileCount),1)],12,pa)):(l(),o("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:X(te(s.depth)),"data-active":((r=C.value)==null?void 0:r.id)===s.file.id,title:s.file.path,onClick:h=>me(s.file.id)},[a("span",ya,[a("span",ma,[a("span",{class:"review-pane-file-op","data-operation":s.file.operation},n(oe(s.file.operation)),9,ba),a("span",ka,[G(n(s.name)+" ",1),s.file.previousPath?(l(),o(b,{key:0},[G(" ← "+n(fe(s.file.previousPath)),1)],64)):y("",!0)])]),a("span",ga,[a("span",Ca,"+"+n(s.file.addedLineCount),1),t[10]||(t[10]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",Ba,"-"+n(s.file.removedLineCount),1)])])],12,_a))],64)}),128))])),p(R)?y("",!0):(l(),o("div",{key:1,class:"review-pane-resizer",role:"separator","aria-orientation":"vertical","aria-label":"Resize file list",onPointerdown:We},null,32)),a("section",La,[C.value?(l(),o(b,{key:0},[a("div",Fa,[a("div",Ia,[a("p",Ra,[G(n(C.value.path)+" ",1),C.value.previousPath?(l(),o(b,{key:0},[G(" ← "+n(C.value.previousPath),1)],64)):y("",!0)]),a("p",xa,n(oe(C.value.operation))+" · +"+n(C.value.addedLineCount)+" / -"+n(C.value.removedLineCount),1)]),ce.value?(l(),o("div",Sa,[(l(!0),o(b,null,S(Te.value,s=>(l(),o("button",{key:`${C.value.id}:${s.value}`,type:"button",class:"review-pane-row-button",disabled:N.value,onClick:r=>Oe(s.value,C.value)},n(s.label),9,$a))),128))])):y("",!0)]),C.value.hunks.length===0?(l(),o("div",Ta,[a("pre",null,n(C.value.diff||"No unified diff available."),1)])):(l(),o("div",Aa,[(l(!0),o(b,null,S(C.value.hunks,s=>(l(),o("article",{key:s.id,ref_for:!0,ref:r=>Ve(s.id,r),class:"review-pane-hunk","data-active":F.value===s.id,onClick:r=>F.value=s.id},[a("div",Ma,[a("div",null,[a("p",Na,n(s.header),1),a("p",Pa,"+"+n(s.addedLineCount)+" / -"+n(s.removedLineCount),1)]),ce.value?(l(),o("div",Da,[(l(!0),o(b,null,S(Ae.value,r=>(l(),o("button",{key:`${s.id}:${r.value}`,type:"button",class:"review-pane-row-button",disabled:N.value,onClick:h=>Xe(r.value,s)},n(r.label),9,Wa))),128))])):y("",!0)]),a("div",Ga,[(l(!0),o(b,null,S(s.lines,r=>(l(),o("div",{key:r.key,class:"review-pane-line","data-kind":r.kind},[a("span",Va,n(r.oldLine??""),1),a("span",Ka,n(r.newLine??""),1),a("span",Ua,n(Ge(r.kind)),1),a("code",Ha,n(r.text||" "),1)],8,za))),128))])],8,Ea))),128))]))],64)):y("",!0)])],4)):(l(),o("div",ua,[a("p",va,n(p(u)("No changes in this scope")),1),a("p",ca,n(f.value==="workspace"?p(u)("Your current workspace is clean."):p(u)("No merge diff found against the base branch.")),1)]))],64)):(l(),o("div",ea,[a("p",ta,n(p(u)("This folder is not a Git repository")),1),a("p",aa,n(p(u)("Initialize Git to review local changes and run Codex review.")),1),a("button",{type:"button",class:"review-pane-primary-cta",disabled:q.value,onClick:je},n(q.value?p(u)("Initializing…"):p(u)("Initialize Git")),9,sa)])):(l(),o("div",Qt,[a("p",Zt,n(p(u)("Loading review state")),1)]))])):(l(),o("div",Oa,[(m=V.value)!=null&&m.summary?(l(),o("div",Xa,[t[11]||(t[11]=a("p",{class:"review-pane-summary-title"},"Summary",-1)),a("pre",ja,n(V.value.summary),1)])):y("",!0),(w=V.value)!=null&&w.findings.length?(l(),o("div",Ya,[(l(!0),o(b,null,S(V.value.findings,s=>(l(),o("button",{key:s.id,type:"button",class:"review-pane-finding",onClick:r=>Qe(s)},[a("span",Ja,n(s.title),1),s.absolutePath?(l(),o("span",Qa,n(qe(s)),1)):y("",!0),s.body?(l(),o("span",Za,n(s.body),1)):y("",!0)],8,qa))),128))])):(l(),o("div",es,[t[12]||(t[12]=a("p",{class:"review-pane-empty-title"},"No structured findings yet",-1)),a("p",ts,n((B=V.value)!=null&&B.summary?"The latest review only returned summary text.":"Run review to populate this pane."),1)]))])),ge(vt,{name:"review-pane-sheet"},{default:ut(()=>{var s;return[p(R)&&Y.value&&((s=v.value)!=null&&s.files.length)?(l(),o("div",{key:0,class:"review-pane-sheet-backdrop",onClick:t[8]||(t[8]=r=>Y.value=!1)},[a("div",{class:"review-pane-sheet",onClick:t[7]||(t[7]=Be(()=>{},["stop"]))},[t[15]||(t[15]=a("div",{class:"review-pane-sheet-handle","aria-hidden":"true"},null,-1)),a("div",as,[t[13]||(t[13]=a("p",{class:"review-pane-sheet-title"},"Changed files",-1)),a("p",ss,n(v.value.files.length),1)]),a("div",ns,[(l(!0),o(b,null,S(he.value,r=>{var h;return l(),o(b,{key:`sheet:${r.treeKey}`},[r.kind==="folder"?(l(),o("button",{key:0,type:"button",class:"review-pane-tree-folder review-pane-tree-folder-sheet",style:X(te(r.depth)),"data-expanded":K(r.id),onClick:x=>_e(r.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":K(r.id)},null,8,ls),a("span",os,n(r.name),1),a("span",rs,n(r.fileCount),1)],12,is)):(l(),o("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:X(te(r.depth)),"data-active":((h=C.value)==null?void 0:h.id)===r.file.id,title:r.file.path,onClick:x=>me(r.file.id)},[a("span",vs,[a("span",cs,[a("span",{class:"review-pane-file-op","data-operation":r.file.operation},n(oe(r.file.operation)),9,ds),a("span",ps,[G(n(r.name)+" ",1),r.file.previousPath?(l(),o(b,{key:0},[G(" ← "+n(fe(r.file.previousPath)),1)],64)):y("",!0)])]),a("span",hs,[a("span",fs,"+"+n(r.file.addedLineCount),1),t[14]||(t[14]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",ws,"-"+n(r.file.removedLineCount),1)])])],12,us))],64)}),128))])])])):y("",!0)]}),_:1})],2)}}}),ks=_t(ms,[["__scopeId","data-v-24eaecc6"]]);export{ks as default};
|