@onescience/onecode-web 1.14.50-202607141712 → 1.14.50-202607141744
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/assets/{alert-01-BMqdr5fW.js → alert-01-D6S0jtzN.js} +1 -1
- package/assets/{alert-02-DGrigNz6.js → alert-02-BRnZORxs.js} +1 -1
- package/assets/{alert-04-D9irXZ9a.js → alert-04-wiQSZ6co.js} +1 -1
- package/assets/{alert-05-reVOdS9J.js → alert-05-YyoKbPE7.js} +1 -1
- package/assets/alert-06-rvfYYNIi.js +1 -0
- package/assets/alert-07-BDV3RkXL.js +1 -0
- package/assets/alert-08-BIBcjiGV.js +1 -0
- package/assets/alert-10-m2uh1D2t.js +1 -0
- package/assets/{bip-bop-03-BIsFw4Po.js → bip-bop-03-BRypUI9U.js} +1 -1
- package/assets/{bip-bop-04-D51ni8fR.js → bip-bop-04-Dg2ymYTr.js} +1 -1
- package/assets/{bip-bop-06-CPrcQOFo.js → bip-bop-06-C86AUbNz.js} +1 -1
- package/assets/{bip-bop-08-Dd6cXV0_.js → bip-bop-08-DuzKmrCb.js} +1 -1
- package/assets/bip-bop-09-A-LW1yFK.js +1 -0
- package/assets/{dialog-create-project-folder-Cig9Zay_.js → dialog-create-project-folder-BeULV0Yw.js} +1 -1
- package/assets/{dialog-edit-project-BaqLLd8l.js → dialog-edit-project-B-iCtoC7.js} +1 -1
- package/assets/{dialog-fork-DCupXT5c.js → dialog-fork-IHlZrtrS.js} +1 -1
- package/assets/{dialog-manage-models-BGZd44s4.js → dialog-manage-models-_-_TsaQq.js} +1 -1
- package/assets/{dialog-select-directory-8Ak4QbS4.js → dialog-select-directory-DutX9ikZ.js} +1 -1
- package/assets/{dialog-select-file-DLEoxKVC.js → dialog-select-file-BH2o9uFL.js} +1 -1
- package/assets/dialog-select-mcp-B2eRVql-.js +2 -0
- package/assets/{dialog-select-model-CSEHg1Rg.js → dialog-select-model-D6KidDma.js} +2 -2
- package/assets/{dialog-select-provider-qwDLl4jL.js → dialog-select-provider-DPJ8yl0C.js} +1 -1
- package/assets/{dialog-select-server-AER3UBIV.js → dialog-select-server-DH7tFphH.js} +1 -1
- package/assets/dialog-select-ssh-DO49Avwo.js +11 -0
- package/assets/{dialog-settings-D7JOslLn.js → dialog-settings-DHj38ECQ.js} +1 -1
- package/assets/{ghostty-web-DdAEd0xA.js → ghostty-web-DHXQAiZ2.js} +1 -1
- package/assets/{index-BCyEiTcs.js → index-D7foRDPi.js} +36 -36
- package/assets/{index-B2_W4qQ0.css → index-mYKBEy4S.css} +1 -1
- package/assets/{list-D_BiIIUu.js → list-Cb_PHmYm.js} +1 -1
- package/assets/{nope-02-CDuLwFPK.js → nope-02-D4BEXRpk.js} +1 -1
- package/assets/{nope-05-e5Xk8Dpn.js → nope-05-CyCuzhsD.js} +1 -1
- package/assets/{nope-08-zYVjL1Uj.js → nope-08-CWtyZcQq.js} +1 -1
- package/assets/{nope-11-iEJDiYAj.js → nope-11-CcQYmO0G.js} +1 -1
- package/assets/nope-12-9LF8Qvsk.js +1 -0
- package/assets/{prompt-helper-dialog-DWdG_WvE.js → prompt-helper-dialog-BTUlXWZC.js} +1 -1
- package/assets/{server-row-CKbHgJVT.js → server-row-CaCE3v0I.js} +1 -1
- package/assets/{staplebops-03-Cdu74Hmd.js → staplebops-03-CPkzkHQZ.js} +1 -1
- package/assets/{staplebops-04-BMcM-Y6U.js → staplebops-04-CIpM1FEw.js} +1 -1
- package/assets/{staplebops-06-CXg3Ail4.js → staplebops-06-DFoOhRJP.js} +1 -1
- package/assets/{staplebops-07-CyV9Eko-.js → staplebops-07-Dr9cbtNC.js} +1 -1
- package/assets/status-popover-body-TqHx7gtS.js +2 -0
- package/assets/{switch-DEab2dIt.js → switch-_MdIYlO4.js} +1 -1
- package/assets/{tag-B-lDsblE.js → tag-BKpi0bB5.js} +1 -1
- package/assets/{yup-01-CgKTf34a.js → yup-01-CALF8uZs.js} +1 -1
- package/assets/{yup-03-CvEGgPWC.js → yup-03-CRyhApPN.js} +1 -1
- package/assets/{yup-04-B36fNLql.js → yup-04-C3g42qtM.js} +1 -1
- package/assets/{yup-05-DzOVaSp1.js → yup-05-zVH9RCJf.js} +1 -1
- package/assets/{zh-COmBcFAM.js → zh-45oJ4oic.js} +3 -3
- package/assets/{zht-wXnFrYQu.js → zht-DlTPc083.js} +3 -3
- package/index.html +9 -9
- package/package.json +2 -2
- package/assets/alert-06-CCHEpSKd.js +0 -1
- package/assets/alert-07-BBMTJ1X9.js +0 -1
- package/assets/alert-08-BDOwjis0.js +0 -1
- package/assets/alert-10-B7pw9P5t.js +0 -1
- package/assets/bip-bop-09-rxzsvD8S.js +0 -1
- package/assets/dialog-select-mcp-WaaHaJb2.js +0 -2
- package/assets/dialog-select-ssh-Bb_sefAH.js +0 -11
- package/assets/nope-12-D3IR5xxv.js +0 -1
- package/assets/status-popover-body-C_scrjO_.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
1
|
+
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202607141744/assets/alert-01-BuOD_o_q.aac";export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
1
|
+
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202607141744/assets/alert-02-CS75AsoP.aac";export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
1
|
+
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202607141744/assets/alert-04-CaGsIGFP.aac";export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
1
|
+
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202607141744/assets/alert-05-D2gbGoRH.aac";export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202607141744/assets/alert-06-GK5Tqy6u.aac";export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202607141744/assets/alert-07-0r0kiLGz.aac";export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202607141744/assets/alert-08-CZowNquU.aac";export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202607141744/assets/alert-10-Ck5hR7zH.aac";export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
1
|
+
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202607141744/assets/bip-bop-03-DXp7Zb0f.aac";export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
1
|
+
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202607141744/assets/bip-bop-04-CfVtpI7z.aac";export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
1
|
+
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202607141744/assets/bip-bop-06-BuvNosjK.aac";export{e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-
|
|
1
|
+
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202607141744/assets/bip-bop-08-DBf7Bwjz.aac";export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202607141744/assets/bip-bop-09-CxEgoAHQ.aac";export{e as default};
|
package/assets/{dialog-create-project-folder-Cig9Zay_.js → dialog-create-project-folder-BeULV0Yw.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as F,e as w,c as _,f as $,k as y,h as i,aU as P,aV as C,z as D,n as o,i as r,T as k,E as z,B as p,p as E,D as M,t as h}from"./index-
|
|
1
|
+
import{b as F,e as w,c as _,f as $,k as y,h as i,aU as P,aV as C,z as D,n as o,i as r,T as k,E as z,B as p,p as E,D as M,t as h}from"./index-D7foRDPi.js";var B=h('<p class="text-12-regular text-text-critical-base">'),G=h('<form class="flex flex-col gap-6 p-6 pt-0"><div class="flex flex-col gap-4"><p class="text-12-regular text-text-weak"></p></div><div class="flex justify-end gap-2">');function L(f){const c=F(),x=w(),b=_(),t=$(),[l,v]=y({name:""}),u=i(()=>b.data.path.project_data_root||"/data"),S=i(()=>{const e=P(l.name,u());return e?`${e}/`:`${u()}/`}),d=i(()=>!!C(l.name)),n=D(()=>({mutationFn:async()=>{const a=(await x.client.path.mkdir({name:l.name.trim()})).data?.path;if(!a)throw new Error("missing path");return a},onSuccess:e=>{f.onCreated(e),c.close()}}));function j(e){e.preventDefault(),!(n.isPending||!d())&&n.mutate()}return o(M,{get title(){return t.t("command.project.createFolder")},class:"w-full max-w-[480px] mx-auto",get children(){var e=G(),a=e.firstChild,m=a.firstChild,g=a.nextSibling;return e.addEventListener("submit",j),r(a,o(k,{autofocus:!0,type:"text",get label(){return t.t("dialog.project.createFolder.name")},get placeholder(){return t.t("dialog.project.createFolder.placeholder")},get value(){return l.name},onChange:s=>v("name",s)}),m),r(m,()=>t.t("dialog.project.createFolder.path",{path:S()})),r(a,o(z,{get when(){return n.isError},get children(){var s=B();return r(s,()=>t.t("dialog.project.createFolder.failed")),s}}),null),r(g,o(p,{type:"button",variant:"ghost",size:"large",onClick:()=>c.close(),get children(){return t.t("common.cancel")}}),null),r(g,o(p,{type:"submit",variant:"primary",size:"large",get disabled(){return n.isPending||!d()},get children(){return E(()=>!!n.isPending)()?t.t("common.confirming"):t.t("common.confirm")}}),null),e}})}export{L as DialogCreateProjectFolder};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as te,e as re,c as ae,f as ie,h as F,aQ as oe,k as ne,z as le,n as c,i,T as I,E as P,r as $,A as j,aR as R,m as T,aS as K,aT as se,I as M,N as ce,F as de,L as N,B,p as ue,D as ve,t as p,d as ge}from"./index-
|
|
1
|
+
import{b as te,e as re,c as ae,f as ie,h as F,aQ as oe,k as ne,z as le,n as c,i,T as I,E as P,r as $,A as j,aR as R,m as T,aS as K,aT as se,I as M,N as ce,F as de,L as N,B,p as ue,D as ve,t as p,d as ge}from"./index-D7foRDPi.js";var fe=p('<div class="flex flex-col gap-2"><label class="text-12-medium text-text-weak"></label><div class="flex gap-1.5">'),me=p('<form class="flex flex-col gap-6 p-6 pt-0"><div class="flex flex-col gap-4"><div class="flex flex-col gap-2"><label class="text-12-medium text-text-weak"></label><div class="flex gap-3 items-start"><div class=relative><div class="relative size-16 rounded-md transition-colors cursor-pointer"></div><div class="absolute inset-0 size-16 bg-surface-raised-stronger-non-alpha/90 rounded-[6px] z-10 pointer-events-none flex items-center justify-center transition-opacity"></div><div class="absolute inset-0 size-16 bg-surface-raised-stronger-non-alpha/90 rounded-[6px] z-10 pointer-events-none flex items-center justify-center transition-opacity"></div></div><input id=icon-upload type=file accept=image/* class=hidden><div class="flex flex-col gap-1.5 text-12-regular text-text-weak self-center"><span></span><span></span></div></div></div></div><div class="flex justify-end gap-2">'),pe=p('<div class="size-full flex items-center justify-center">'),be=p('<img class="size-full object-cover">'),he=p("<button type=button>");const xe=["pink","mint","orange","purple","cyan","lime"];function we(o){const w=te(),G=re(),L=ae(),n=ie(),y=F(()=>oe(o.project.worktree)),O=F(()=>o.project.name||y()),[e,d]=ne({name:O(),color:o.project.icon?.color,iconOverride:o.project.icon?.override,startup:o.project.commands?.start??"",dragOver:!1,iconHover:!1});let _;function z(r){if(!r.type.startsWith("image/"))return;const a=new FileReader;a.onload=f=>{d("iconOverride",f.target?.result),d("iconHover",!1)},a.readAsDataURL(r)}function Q(r){r.preventDefault(),d("dragOver",!1);const a=r.dataTransfer?.files[0];a&&z(a)}function U(r){r.preventDefault(),d("dragOver",!0)}function V(){d("dragOver",!1)}function W(r){const f=r.target.files?.[0];f&&z(f)}function Y(){d("iconOverride","")}const b=le(()=>({mutationFn:async()=>{const r=e.name.trim()===y()?"":e.name.trim(),a=e.startup.trim();if(o.project.id&&o.project.id!=="global"){await G.client.project.update({projectID:o.project.id,directory:o.project.worktree,name:r,icon:{color:e.color||"",override:e.iconOverride||""},commands:{start:a}}),L.project.icon(o.project.worktree,e.iconOverride||void 0),w.close();return}L.project.meta(o.project.worktree,{name:r,icon:{color:e.color||void 0,override:e.iconOverride||void 0},commands:{start:a||void 0}}),w.close()}}));function q(r){r.preventDefault(),!b.isPending&&b.mutate()}return c(ve,{get title(){return n.t("dialog.project.edit.title")},class:"w-full max-w-[480px] mx-auto",get children(){var r=me(),a=r.firstChild,f=a.firstChild,C=f.firstChild,J=C.nextSibling,h=J.firstChild,m=h.firstChild,x=m.nextSibling,k=x.nextSibling,S=h.nextSibling,X=S.nextSibling,D=X.firstChild,Z=D.nextSibling,E=a.nextSibling;return r.addEventListener("submit",q),i(a,c(I,{autofocus:!0,type:"text",get label(){return n.t("dialog.project.edit.name")},get placeholder(){return y()},get value(){return e.name},onChange:t=>d("name",t)}),f),i(C,()=>n.t("dialog.project.edit.icon")),h.addEventListener("mouseleave",()=>d("iconHover",!1)),h.addEventListener("mouseenter",()=>d("iconHover",!0)),m.$$click=()=>{e.iconOverride&&e.iconHover?Y():_?.click()},m.addEventListener("dragleave",V),m.addEventListener("dragover",U),m.addEventListener("drop",Q),i(m,c(P,{get when(){return se(o.project.id,{color:e.color,url:o.project.icon?.url,override:e.iconOverride})},get fallback(){return(()=>{var t=pe();return i(t,c(R,T({get fallback(){return e.name||O()}},()=>K(e.color),{class:"size-full text-[32px]"}))),t})()},children:t=>(()=>{var g=be();return $(u=>{var l=t(),s=n.t("dialog.project.edit.icon.alt");return l!==u.e&&j(g,"src",u.e=l),s!==u.t&&j(g,"alt",u.t=s),u},{e:void 0,t:void 0}),g})()})),i(x,c(M,{name:"cloud-upload",size:"large",class:"text-icon-on-interactive-base drop-shadow-sm"})),i(k,c(M,{name:"trash",size:"large",class:"text-icon-on-interactive-base drop-shadow-sm"})),S.addEventListener("change",W),ce(t=>{_=t},S),i(D,()=>n.t("dialog.project.edit.icon.hint")),i(Z,()=>n.t("dialog.project.edit.icon.recommended")),i(a,c(P,{get when(){return!e.iconOverride},get children(){var t=fe(),g=t.firstChild,u=g.nextSibling;return i(g,()=>n.t("dialog.project.edit.color")),i(u,c(de,{each:xe,children:l=>(()=>{var s=he();return s.$$click=()=>{e.color===l&&!o.project.icon?.url||d("color",e.color===l?void 0:l)},i(s,c(R,T({get fallback(){return e.name||O()}},()=>K(l),{class:"size-full rounded"}))),$(v=>{var A=n.t("dialog.project.edit.color.select",{color:l}),H=e.color===l,ee={"flex items-center justify-center size-10 p-0.5 rounded-lg overflow-hidden transition-colors cursor-default":!0,"bg-transparent border-2 border-icon-strong-base hover:bg-surface-base-hover":e.color===l,"bg-transparent border border-transparent hover:bg-surface-base-hover hover:border-border-weak-base":e.color!==l};return A!==v.e&&j(s,"aria-label",v.e=A),H!==v.t&&j(s,"aria-pressed",v.t=H),v.a=N(s,ee,v.a),v},{e:void 0,t:void 0,a:void 0}),s})()})),t}}),null),i(a,c(I,{multiline:!0,get label(){return n.t("dialog.project.edit.worktree.startup")},get description(){return n.t("dialog.project.edit.worktree.startup.description")},get placeholder(){return n.t("dialog.project.edit.worktree.startup.placeholder")},get value(){return e.startup},onChange:t=>d("startup",t),spellcheck:!1,class:"max-h-14 w-full overflow-y-auto font-mono text-xs"}),null),i(E,c(B,{type:"button",variant:"ghost",size:"large",onClick:()=>w.close(),get children(){return n.t("common.cancel")}}),null),i(E,c(B,{type:"submit",variant:"primary",size:"large",get disabled(){return b.isPending},get children(){return ue(()=>!!b.isPending)()?n.t("common.saving"):n.t("common.save")}}),null),$(t=>{var g={"border-text-interactive-base bg-surface-info-base/20":e.dragOver,"border-border-base hover:border-border-strong":!e.dragOver,"overflow-hidden":!!e.iconOverride},u=!!(e.iconHover&&!e.iconOverride),l=!(e.iconHover&&!e.iconOverride),s=!!(e.iconHover&&e.iconOverride),v=!(e.iconHover&&e.iconOverride);return t.e=N(m,g,t.e),u!==t.t&&x.classList.toggle("opacity-100",t.t=u),l!==t.a&&x.classList.toggle("opacity-0",t.a=l),s!==t.o&&k.classList.toggle("opacity-100",t.o=s),v!==t.i&&k.classList.toggle("opacity-0",t.i=v),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),r}})}ge(["click"]);export{we as DialogEditProject};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a6 as D,b4 as v,Q as S,bd as k,be as P,bj as _,b as w,f as F,h as L,n as d,i as u,D as $,bk as I,ba as T,y as g,b9 as q,t as C}from"./index-
|
|
1
|
+
import{a6 as D,b4 as v,Q as S,bd as k,be as P,bj as _,b as w,f as F,h as L,n as d,i as u,D as $,bk as I,ba as T,y as g,b9 as q,t as C}from"./index-D7foRDPi.js";import{L as E}from"./list-Cb_PHmYm.js";var K=C('<div class="w-full flex items-center gap-2"><span class="truncate flex-1 min-w-0 text-left font-normal"></span><span class="text-text-weak shrink-0 font-normal">');function M(i){return i.toLocaleTimeString(void 0,{timeStyle:"short"})}const H=()=>{const i=D(),p=v(),f=S(),c=k(),l=P(),h=_(),x=w(),n=F(),y=L(()=>{const t=i.id;if(!t)return[];const a=c.data.message[t]??[],o=[];for(const s of a){if(s.role!=="user")continue;const e=(c.data.part[s.id]??[]).find(r=>r.type==="text"&&!r.synthetic&&!r.ignored);e&&o.push({id:s.id,text:e.text.replace(/\n/g," ").slice(0,200),time:M(new Date(s.time.created))})}return o.reverse()}),b=t=>{if(!t)return;const a=i.id;if(!a)return;const o=c.data.part[t.id]??[],s=I(o,{directory:l.directory,attachmentName:n.t("common.attachment")}),m=T(l.directory);l.client.session.fork({sessionID:a,messageID:t.id}).then(e=>{if(!e.data){g({title:n.t("common.requestFailed")});return}x.close(),h.set(s,void 0,{dir:m,id:e.data.id}),f(q(p.pathname,m,e.data.id))}).catch(e=>{const r=e instanceof Error?e.message:String(e);g({title:n.t("common.requestFailed"),description:r})})};return d($,{get title(){return n.t("command.session.fork")},get children(){return d(E,{class:"flex-1 min-h-0 [&_[data-slot=list-scroll]]:flex-1 [&_[data-slot=list-scroll]]:min-h-0",get search(){return{placeholder:n.t("common.search.placeholder"),autofocus:!0}},get emptyMessage(){return n.t("dialog.fork.empty")},key:t=>t.id,items:y,filterKeys:["text"],onSelect:b,children:t=>(()=>{var a=K(),o=a.firstChild,s=o.nextSibling;return u(o,()=>t.text),u(s,()=>t.time),a})()})}})};export{H as DialogFork};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{bc as f,f as y,b as D,n as o,i as l,a3 as I,B as k,D as $,t as g,G as C,d as P}from"./index-
|
|
1
|
+
import{bc as f,f as y,b as D,n as o,i as l,a3 as I,B as k,D as $,t as g,G as C,d as P}from"./index-D7foRDPi.js";import{L}from"./list-Cb_PHmYm.js";import{S as c}from"./switch-_MdIYlO4.js";import{b as _}from"./dialog-select-provider-DPJ8yl0C.js";import"./tag-BKpi0bB5.js";var B=g("<span>"),S=g('<div class="w-full flex items-center justify-between gap-x-3"><span></span><div>');const E=()=>{const t=f(),d=y(),u=D(),v=()=>{u.show(()=>o(_,{}))},s=e=>C.indexOf(e),m=e=>t.model.list().filter(r=>r.provider.id===e),h=e=>m(e).every(r=>t.model.visible({modelID:r.id,providerID:r.provider.id})),b=(e,r)=>{m(e).forEach(i=>{t.model.setVisibility({modelID:i.id,providerID:i.provider.id},r)})};return o($,{get title(){return d.t("dialog.model.manage")},get description(){return d.t("dialog.model.manage.description")},get action(){return o(k,{class:"h-7 -my-1 text-14-medium",icon:"plus-small",tabIndex:-1,onClick:v,get children(){return d.t("command.provider.connect")}})},get children(){return o(L,{get search(){return{placeholder:d.t("dialog.model.search.placeholder"),autofocus:!0}},get emptyMessage(){return d.t("dialog.model.empty")},key:e=>`${e?.provider?.id}:${e?.id}`,get items(){return t.model.list()},filterKeys:["provider.name","name","id"],sortBy:(e,r)=>e.name.localeCompare(r.name),groupBy:e=>e.provider.id,groupHeader:e=>{const r=e.items[0].provider;return[(()=>{var i=B();return l(i,()=>r.name),i})(),o(I,{placement:"top",get value(){return d.t("dialog.model.manage.provider.toggle",{provider:r.name})},get children(){return o(c,{class:"-mr-1",get checked(){return h(r.id)},onChange:i=>b(r.id,i),hideLabel:!0,get children(){return r.name}})}})]},sortGroupsBy:(e,r)=>{const i=s(e.items[0].provider.id),a=s(r.items[0].provider.id),n=i>=0,p=a>=0;return n&&!p?-1:!n&&p?1:i-a},onSelect:e=>{if(!e)return;const r={modelID:e.id,providerID:e.provider.id};t.model.setVisibility(r,!t.model.visible(r))},children:e=>(()=>{var r=S(),i=r.firstChild,a=i.nextSibling;return l(i,()=>e.name),a.$$click=n=>n.stopPropagation(),l(a,o(c,{get checked(){return!!t.model.visible({modelID:e.id,providerID:e.provider.id})},onChange:n=>{t.model.setVisibility({modelID:e.id,providerID:e.provider.id},n)}})),r})()})}})};P(["click"]);export{E as DialogManageModels};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{am as q,c as Q,e as V,aW as N,b as U,f as tt,u as et,R as rt,Z as nt,h as j,j as st,aX as at,aQ as B,n as S,E as ot,i as R,B as it,aY as L,aZ as ct,D as lt,t as E,a_ as M,a$ as ut,b0 as O,b1 as ft,b2 as ht}from"./index-
|
|
1
|
+
import{am as q,c as Q,e as V,aW as N,b as U,f as tt,u as et,R as rt,Z as nt,h as j,j as st,aX as at,aQ as B,n as S,E as ot,i as R,B as it,aY as L,aZ as ct,D as lt,t as E,a_ as M,a$ as ut,b0 as O,b1 as ft,b2 as ht}from"./index-D7foRDPi.js";import{L as dt}from"./list-Cb_PHmYm.js";const pt=8;async function X(e,t,s,n){const d=await e(t);return s?q.go(s,d,{key:"name",limit:n}).map(i=>i.obj.absolute):d.slice(0,n).map(i=>i.absolute)}async function mt(e,t,s,n){const d=n?.limit,i=n?.maxDepth??pt;if(!s)return X(e,t,"",d);const y=[],x=new Set;let f=[t];for(let c=0;c<i&&f.length>0&&y.length<d;c++){const o=[];for(const p of f){const m=await e(p);for(const u of m)if(!x.has(u.absolute)){if(x.add(u.absolute),q.single(s,u.name)&&(y.push(u.absolute),y.length>=d))return y;o.push(u.absolute)}}f=o}return y}var wt=E('<div class="px-4 pb-3">'),gt=E('<div class="w-full flex items-center justify-between rounded-md"><div class="flex items-center gap-x-3 grow min-w-0"><div class="flex items-center text-14-regular min-w-0"><span class="text-text-strong whitespace-nowrap">~</span><span class="text-text-weak whitespace-nowrap">/'),yt=E('<div class="w-full flex items-center justify-between rounded-md"><div class="flex items-center gap-x-3 grow min-w-0"><div class="flex items-center text-14-regular min-w-0"><span class="text-text-weak whitespace-nowrap overflow-hidden overflow-ellipsis truncate min-w-0"></span><span class="text-text-strong whitespace-nowrap"></span><span class="text-text-weak whitespace-nowrap">/');function T(e){return((e??"").split(/\r?\n/)[0]??"").replace(/[\u0000-\u001F\u007F]/g,"").trim()}function bt(e){const t=e.replaceAll("\\","/");return t.startsWith("//")&&!t.startsWith("///")?"//"+t.slice(2).replace(/\/+/g,"/"):t.replace(/\/+/g,"/")}function k(e){const t=bt(e);return/^[A-Za-z]:$/.test(t)?t+"/":t}function g(e){const t=k(e);return t==="/"||t==="//"||/^[A-Za-z]:\/$/.test(t)?t:t.replace(/\/+$/,"")}function vt(e,t){const s=g(e??""),n=g(t).replace(/^\/+/,"");return s?n?s.endsWith("/")?s+n:s+"/"+n:s:n}function Z(e){const t=k(e);return t.startsWith("//")?"//":t.startsWith("/")?"/":/^[A-Za-z]:\//.test(t)?t.slice(0,3):""}function xt(e){const t=g(e);if(t==="/"||t==="//"||/^[A-Za-z]:\/$/.test(t))return t;const s=t.lastIndexOf("/");return s<=0?"/":s===2&&/^[A-Za-z]:/.test(t)?t.slice(0,3):t.slice(0,s)}function Pt(e){const t=k(e.trim());return t?t.startsWith("~")?"tilde":Z(t)?"absolute":"relative":"relative"}function Y(e,t){const s=g(e);if(!t)return"";const n=g(t),d=s.toLowerCase(),i=n.toLowerCase();return d===i?"~":d.startsWith(i+"/")?"~"+s.slice(n.length):""}function K(e,t,s){const n=g(e);return Pt(t)==="absolute"?n:Y(n,s)||n}function G(e,t,s){const n=g(e),d=Y(n,t),i=x=>x?x.endsWith("/")?x:x+"/":"",y=Array.from(new Set([n,i(n),d,i(d),B(n)].filter(Boolean))).join(`
|
|
2
2
|
`);return{absolute:n,search:y,group:s}}function $t(e){const t=new Set;return e.filter(s=>t.has(s.absolute)?!1:(t.add(s.absolute),!0))}function H(e,t){const s=O(t,t),n=O(e,t);return n===s?{directory:s,path:""}:{directory:s,path:n.slice(s.length+1)}}function kt(e){const t=new Map;let s=0;const n=f=>O(f,e.root()),d=f=>{const c=e.start();if(!c)return;const o=e.root(),p=k(f);if(!p)return{directory:n(g(c)),path:""};const m=e.home();if(p==="~")return{directory:n(g(m||c)),path:""};if(p.startsWith("~/")){const b=vt(m||c,p.slice(2));return M(b,o)?H(b,o):{directory:n(g(c)),path:""}}if(Z(p)){const b=g(p);return M(b,o)?H(b,o):{directory:n(g(c)),path:""}}return{directory:n(g(c)),path:p}},i=async f=>{const c=n(g(f)),o=t.get(c);if(o)return o;const p=ft(e.root(),c)??"",m=ht(e.sdk,p,{fetch:e.fetch,headers:e.headers?.()}).then(u=>u.map(b=>({name:b.name,absolute:g(k(b.absolute))})));return t.set(c,m),m},y=async(f,c,o)=>X(i,n(f),c,o),x=async(f,c,o)=>mt(i,n(f),c,{limit:o});return async f=>{const c=++s,o=()=>c===s,p=T(f),m=d(p);if(!m)return[];const u=k(p),b=u.startsWith("~")||!!Z(u)||u.includes("/"),_=k(m.path);if(!b){const h=_?await x(m.directory,_,50):await y(m.directory,"",50);return o()?h.slice(0,50):[]}const W=u.endsWith("/"),D=_.replace(/^\/+/,"").replace(/\/+$/,"").split("/").filter(h=>h&&h!=="."),C=12,z=4,r=async(h,A)=>{let $=A;for(const I of h){if(!o())return[];if(I===".."){$=$.map(F=>n(xt(F)));continue}const J=(await Promise.all($.map(F=>y(F,I,z)))).flat();if(!o())return[];if($=Array.from(new Set(J)).slice(0,C),$.length===0)return[]}return $},l=[m.directory];if(W){const h=await r(D,l);if(h.length===0)return[];const A=(await Promise.all(h.map($=>y($,"",50)))).flat();return o()?Array.from(new Set(A)).slice(0,50):[]}const a=D.slice(0,-1),w=D[D.length-1]??"",v=await r(a,l);if(v.length===0)return[];const P=(await Promise.all(v.map(h=>y(h,w,50)))).flat();return o()?Array.from(new Set(P)).slice(0,50):[]}}function _t(e){const t=Q(),s=V(),n=N(),d=U(),i=tt(),y=et(),x=rt(),[f,c]=nt("");let o;const p=j(()=>!(t.data.path.home||t.data.path.directory)),[m]=st(()=>p()?!0:void 0,async()=>s.client.path.get().then(r=>r.data).catch(()=>{}),{initialValue:void 0}),u=j(()=>t.data.path.home||m()?.home||""),b=j(()=>{const r=t.data.path.project_data_root?t.data.path:m();return at(r)}),_=j(()=>b()),W=kt({sdk:s,home:u,start:_,root:b,fetch:y.fetch,headers:()=>{const r=x.current?.http;if(r?.password)return{Authorization:`Basic ${ut({username:r.username,password:r.password})}`}}}),D=j(()=>{const r=n.projects.list(),l=new Map(t.data.project.map(a=>[a.worktree,a]));return r.map((a,w)=>({project:a,at:l.get(a.worktree)?.time?.updated??l.get(a.worktree)?.time?.created??0,index:w})).sort((a,w)=>w.at-a.at||a.index-w.index).slice(0,5).map(({project:a})=>{const w=l.get(a.worktree),v=G(a.worktree,u(),"recent"),P=a.name||w?.name||B(a.worktree);return{...v,search:`${v.search}
|
|
3
3
|
${P}`}})}),C=async r=>{const l=T(r),a=await W(l),w=l.endsWith("/"),v=a.map(P=>{const h=G(P,u(),"folders");return w?{...h,search:`${h.search}
|
|
4
4
|
${l}`}:h});return $t([...D(),...v])};function z(r){e.onSelect(e.multiple?[r]:r),d.close()}return S(lt,{get title(){return e.title??i.t("command.project.open")},get children(){return[S(ot,{get when(){return e.onCreateFolder},children:r=>(()=>{var l=wt();return R(l,S(it,{size:"normal",variant:"ghost",icon:"folder-add-left",class:"w-full justify-start",onClick:()=>r()(),get children(){return i.t("command.project.createFolder")}})),l})()}),S(dt,{get search(){return{placeholder:i.t("dialog.directory.search.placeholder"),autofocus:!0}},get emptyMessage(){return i.t("dialog.directory.empty")},get loadingMessage(){return i.t("common.loading")},items:C,key:r=>r.absolute,filterKeys:["search"],groupBy:r=>r.group,sortGroupsBy:(r,l)=>r.category===l.category?0:r.category==="recent"?-1:1,groupHeader:r=>r.category==="recent"?i.t("home.recentProjects"):i.t("command.project.open"),ref:r=>o=r,onFilter:r=>c(T(r)),onKeyEvent:(r,l)=>{if(r.key!=="Tab"||r.shiftKey||!l)return;r.preventDefault(),r.stopPropagation();const a=K(l.absolute,f(),u());o?.setFilter(a.endsWith("/")?a:a+"/")},onSelect:r=>{r&&z(r.absolute)},children:r=>{const l=K(r.absolute,f(),u());return l==="~"?(()=>{var a=gt(),w=a.firstChild,v=w.firstChild;return R(w,S(L,{get node(){return{path:r.absolute,type:"directory"}},class:"shrink-0 size-4"}),v),a})():(()=>{var a=yt(),w=a.firstChild,v=w.firstChild,P=v.firstChild,h=P.nextSibling;return R(w,S(L,{get node(){return{path:r.absolute,type:"directory"}},class:"shrink-0 size-4"}),v),R(P,()=>ct(l)),R(h,()=>B(l)),a})()}})]}})}export{_t as DialogSelectDirectory};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{al as U,f as V,aW as X,b3 as ee,b as te,b4 as ne,Q as se,e as re,c as ae,b5 as oe,Z as ie,h as v,a8 as ce,o as le,n as w,S as de,M as P,i as g,E as F,b6 as ue,ao as ge,I as fe,r as j,b7 as he,aY as pe,aZ as me,aQ as K,D as we,b8 as ye,b9 as be,ba as ve,t as _}from"./index-
|
|
1
|
+
import{al as U,f as V,aW as X,b3 as ee,b as te,b4 as ne,Q as se,e as re,c as ae,b5 as oe,Z as ie,h as v,a8 as ce,o as le,n as w,S as de,M as P,i as g,E as F,b6 as ue,ao as ge,I as fe,r as j,b7 as he,aY as pe,aZ as me,aQ as K,D as we,b8 as ye,b9 as be,ba as ve,t as _}from"./index-D7foRDPi.js";import{L as xe}from"./list-Cb_PHmYm.js";var q=_('<span class="text-14-regular text-text-weak truncate">'),ke=_('<div class="w-full flex items-center justify-between gap-4"><div class="flex items-center gap-2 min-w-0"><span class="text-14-regular text-text-strong whitespace-nowrap">'),Se=_('<span class="text-12-regular text-text-weak whitespace-nowrap ml-2">'),$e=_('<div class="w-full flex items-center justify-between rounded-md pl-1"><div class="flex items-center gap-x-3 grow min-w-0"><div class="flex items-center gap-2 min-w-0"><span class="text-14-regular text-text-strong truncate">'),_e=_('<div class="w-full flex items-center justify-between rounded-md pl-1"><div class="flex items-center gap-x-3 grow min-w-0"><div class="flex items-center text-14-regular"><span class="text-text-weak whitespace-nowrap overflow-hidden overflow-ellipsis truncate min-w-0"></span><span class="text-text-strong whitespace-nowrap">');const T=5,Ce=["session.new","workspace.new","session.previous","session.next","terminal.toggle","review.toggle"],N=t=>{const n=new Set,o=[];for(const f of t)n.has(f.id)||(n.add(f.id),o.push(f));return o},z=(t,n)=>({id:"command:"+t.id,type:"command",title:t.title,description:t.description,keybind:t.keybind,category:n,option:t}),E=(t,n)=>({id:"file:"+t,type:"file",title:t,category:n,path:t}),De=(t,n)=>({id:`session:${t.directory}:${t.id}`,type:"session",title:t.title,description:t.description,category:n,directory:t.directory,sessionID:t.id,archived:t.archived,updated:t.updated});function Fe(t){const n=v(()=>t.filesOnly()?[]:t.command.options.filter(r=>!r.disabled&&!r.hidden&&!r.id.startsWith("suggested.")&&r.id!=="file.open")),o=v(()=>{const r=t.language.t("palette.group.commands");return n().map(d=>z(d,r))}),f=v(()=>{const r=n(),d=new Map(Ce.map((a,c)=>[a,c])),y=r.filter(a=>d.has(a.id)),i=y.length?y:r.slice(0,T),h=y.length?[...i].sort((a,c)=>(d.get(a.id)??0)-(d.get(c.id)??0)):i,b=t.language.t("palette.group.commands");return h.map(a=>z(a,b))});return{allowed:n,list:o,picks:f}}function Ee(t){const n=ye({tabs:t.tabs,pathFromTab:t.file.pathFromTab,normalizeTab:r=>r.startsWith("file://")?t.file.tab(r):r}),o=v(()=>{const r=n.openedTabs(),d=n.activeFileTab(),y=d?[d,...r.filter(a=>a!==d)]:r,i=new Set,h=t.language.t("palette.group.files"),b=[];for(const a of y){const c=t.file.pathFromTab(a);c&&(i.has(c)||(i.add(c),b.push(E(c,h))))}return b.slice(0,T)}),f=v(()=>{const r=t.language.t("palette.group.files");return t.file.tree.children("").filter(i=>i.type==="file").map(i=>i.path).sort((i,h)=>i.localeCompare(h)).slice(0,T).map(i=>E(i,r))});return{recent:o,root:f}}function Me(t){const n={token:0,inflight:void 0,cached:void 0};return{sessions:f=>{if(!f.trim())return n.token+=1,n.inflight=void 0,n.cached=void 0,[];if(n.cached)return n.cached;if(n.inflight)return n.inflight;const d=n.token,y=t.workspaces();return y.length===0?[]:(n.inflight=Promise.all(y.map(i=>{const h=t.label(i);return t.globalSDK.client.session.list({directory:i,roots:!0}).then(b=>(b.data??[]).filter(a=>!!a?.id).map(a=>({id:a.id,title:a.title??t.language.t("command.session.new"),description:h,directory:i,archived:a.time?.archived,updated:a.time?.updated}))).catch(()=>[])})).then(i=>{if(n.token!==d)return[];const h=new Set,b=t.language.t("command.category.session"),a=i.flat().filter(c=>{const S=`${c.directory}:${c.id}`;return h.has(S)?!1:(h.add(S),!0)}).map(c=>De(c,b));return n.cached=a,a}).catch(()=>[]).finally(()=>{n.inflight=void 0}),n.inflight)}}}function Le(t){const n=U(),o=V(),f=X(),r=ee(),d=te(),y=ne(),i=se(),h=re(),b=ae(),{params:a,tabs:c,view:S}=oe(),C=()=>t.mode==="files",k={cleanup:void 0,committed:!1},[G,R]=ie(!1),I=Fe({filesOnly:C,command:n,language:o}),$=Ee({file:r,tabs:c,language:o}),L=v(()=>ce(a.dir)??""),O=v(()=>{const e=L();if(e)return f.projects.list().find(s=>s.worktree===e||s.sandboxes?.includes(e))}),W=v(()=>{const e=L(),s=O();if(!s)return e?[e]:[];const l=[s.worktree,...s.sandboxes??[]];return e&&!l.includes(e)?[...l,e]:l}),A=v(()=>b.data.path.home),H=e=>{const s=O(),l=s&&e===s.worktree?o.t("workspace.type.local"):o.t("workspace.type.sandbox"),[p]=b.child(e,{bootstrap:!1}),u=A(),m=u?e.replace(u,"~"):e,x=p.vcs?.branch??K(e);return`${l} : ${x||m}`},{sessions:Q}=Me({workspaces:W,label:H,globalSDK:h,language:o}),Y=async e=>{const s=e.trim();if(R(s.length>0),!s&&C()){const x=r.tree.state("")?.loaded,M=x?Promise.resolve():r.tree.list(""),D=N([...$.recent(),...$.root()]);return x||D.length>0?D:(await M,N([...$.recent(),...$.root()]))}if(!s)return[...I.picks(),...$.recent()];if(C()){const x=await r.searchFiles(s),M=o.t("palette.group.files");return x.map(D=>E(D,M))}const[l,p]=await Promise.all([r.searchFiles(s),Promise.resolve(Q(s))]),u=o.t("palette.group.files"),m=l.map(x=>E(x,u));return[...I.list(),...p,...m]},Z=e=>{k.cleanup?.(),e&&e.type==="command"&&(k.cleanup=e.option?.onHighlight?.())},B=e=>{const s=r.tab(e);c().open(s),r.load(e),S().reviewPanel.opened()||S().reviewPanel.open(),f.fileTree.setTab("all"),t.onOpenFile?.(e),c().setActive(s)},J=e=>{if(e){if(k.committed=!0,k.cleanup=void 0,d.close(),e.type==="command"){e.option?.onSelect?.("palette");return}if(e.type==="session"){if(!e.directory||!e.sessionID)return;i(be(y.pathname,ve(e.directory),e.sessionID));return}e.path&&B(e.path)}};return le(()=>{k.committed||k.cleanup?.()}),w(we,{class:"pt-3 pb-0 !max-h-[480px]",transition:!0,get children(){return w(xe,{get search(){return{placeholder:C()?o.t("session.header.searchFiles"):o.t("palette.search.placeholder"),autofocus:!0,hideIcon:!0}},get emptyMessage(){return o.t("palette.empty")},get loadingMessage(){return o.t("common.loading")},items:Y,key:e=>e.id,filterKeys:["title","description","category"],get groupBy(){return G()?e=>e.category:()=>""},onMove:Z,onSelect:J,children:e=>w(de,{get fallback(){return(()=>{var s=_e(),l=s.firstChild,p=l.firstChild,u=p.firstChild,m=u.nextSibling;return g(l,w(pe,{get node(){return{path:e.path??"",type:"file"}},class:"shrink-0 size-4"}),p),g(u,()=>me(e.path??"")),g(m,()=>K(e.path??"")),s})()},get children(){return[w(P,{get when(){return e.type==="command"},get children(){var s=ke(),l=s.firstChild,p=l.firstChild;return g(p,()=>e.title),g(l,w(F,{get when(){return e.description},get children(){var u=q();return g(u,()=>e.description),u}}),null),g(s,w(F,{get when(){return e.keybind},get children(){return w(ue,{class:"rounded-[4px]",get children(){return ge(e.keybind??"",o.t)}})}}),null),s}}),w(P,{get when(){return e.type==="session"},get children(){var s=$e(),l=s.firstChild,p=l.firstChild,u=p.firstChild;return g(l,w(fe,{name:"bubble-5",size:"small",class:"shrink-0 text-icon-weak"}),p),g(u,()=>e.title),g(p,w(F,{get when(){return e.description},get children(){var m=q();return g(m,()=>e.description),j(()=>m.classList.toggle("opacity-70",!!e.archived)),m}}),null),g(s,w(F,{get when(){return e.updated},get children(){var m=Se();return g(m,()=>he(new Date(e.updated).toISOString(),o.t)),m}}),null),j(()=>u.classList.toggle("opacity-70",!!e.archived)),s}})]}})})}})}export{Le as DialogSelectFile};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{bd as Z,c as ee,be as te,f as re,bf as ne,bg as ae,k as le,h as C,z as Q,y as O,i as n,n as c,v as ie,p as F,E as w,B as T,T as j,bh as oe,D as se,bi as ce,t as v,d as de}from"./index-D7foRDPi.js";import{L as me}from"./list-Cb_PHmYm.js";import{S as A}from"./switch-_MdIYlO4.js";function M(a){return{name:"",transport:"local",command:"",environment:"",url:"",headers:"",enabled:!0,...a}}function R(a){const r=[],g=/"([^"]*)"|'([^']*)'|(\S+)/g;let d;for(;d=g.exec(a.trim());)r.push(d[1]??d[2]??d[3]??"");return r.filter(t=>t.length>0)}function ue(a){return a.map(r=>/[\s"']/.test(r)?`"${r.replaceAll('"','\\"')}"`:r).join(" ")}function G(a){const r={};for(const g of a.split(/\r?\n/)){const d=g.trim();if(!d||d.startsWith("#"))continue;const t=d.indexOf("=");if(t<=0)continue;const k=d.slice(0,t).trim(),K=d.slice(t+1).trim();k&&(r[k]=K)}return Object.keys(r).length>0?r:void 0}function V(a){return a?Object.entries(a).map(([r,g])=>`${r}=${g}`).join(`
|
|
2
|
+
`):""}function ge(a,r){return r.type==="remote"?M({name:a,transport:"remote",url:r.url??"",headers:V(r.headers),enabled:r.enabled!==!1}):M({name:a,transport:"local",command:ue(r.command??[]),environment:V(r.environment),enabled:r.enabled!==!1})}function pe(a,r,g){const d=a.name.trim();if(!d)return"name";if(d!==g&&r.includes(d))return"duplicate";if(a.transport==="local")return R(a.command).length===0?"command":void 0;if(!a.url.trim())return"url"}function fe(a){const r=a.enabled;return a.transport==="remote"?{type:"remote",url:a.url.trim(),enabled:r,headers:G(a.headers)}:{type:"local",command:R(a.command),enabled:r,environment:G(a.environment)}}var he=v('<div class="flex items-center gap-2 -ml-2"><span>'),ve=v('<div class="flex flex-col gap-3 min-h-0 px-5 pb-5"><div class=shrink-0>'),I=v('<div class="flex flex-col gap-5">'),be=v('<p class="text-12-regular text-text-critical-base">'),xe=v('<div class="flex h-full min-h-0 flex-col px-5 pb-5"><div class="min-h-0 flex-1 overflow-y-auto pr-1"><div class="flex flex-col gap-5 rounded-md bg-surface-base p-5"><div class="flex flex-col gap-2"><span class="text-12-medium text-text-strong"></span></div><div class="flex items-center justify-between gap-3 rounded-md border border-border-weak-base px-3 py-3"><div class="flex flex-col gap-1"><span class="text-13-medium text-text-strong"></span><span class="text-12-regular text-text-weak"></span></div></div></div></div><div class="shrink-0 flex justify-end gap-2 pt-4">'),ye=v('<span class="text-11-regular text-text-weaker">'),$e=v('<span class="text-11-regular text-text-weak">'),_e=v('<span class="text-11-regular text-text-weaker truncate">'),Ce=v('<div class="w-full flex items-center justify-between gap-x-3"><div class="flex flex-col gap-0.5 min-w-0"><div class="flex items-center gap-2"><span class=truncate></span></div></div><div class="flex items-center gap-2 shrink-0">');const we={connected:"mcp.status.connected",failed:"mcp.status.failed",needs_auth:"mcp.status.needs_auth",disabled:"mcp.status.disabled"},N={name:"dialog.mcp.error.name",command:"dialog.mcp.error.command",url:"dialog.mcp.error.url",duplicate:"dialog.mcp.error.duplicate"},Fe=a=>{const r=Z(),g=ee(),d=te(),t=re(),k=ne(),K=ae(),[s,y]=le({mode:a.initialMode==="add"?"form":"list",editing:void 0,form:M(),error:""}),S=C(()=>g.data.config.mcp??{}),B=C(()=>{const e=new Set([...Object.keys(S()),...Object.keys(r.data.mcp??{})]);return Array.from(e).map(o=>({name:o,status:r.data.mcp?.[o]?.status??(S()[o]?"disabled":void 0)})).sort((o,l)=>o.name.localeCompare(l.name))}),W=C(()=>Object.keys(S())),x=e=>y("form",e),D=()=>k.refetchQueries(K.mcp(ce(r.directory))),b=Q(()=>({mutationFn:async e=>{r.data.mcp[e]?.status==="connected"?await d.client.mcp.disconnect({name:e}):await d.client.mcp.connect({name:e})},onSuccess:()=>D(),onError:e=>{O({variant:"error",title:t.t("common.requestFailed"),description:e instanceof Error?e.message:String(e)})}})),u=Q(()=>({mutationFn:async()=>{const e=pe(s.form,W(),s.editing);if(e)throw y("error",t.t(N[e])),new Error(e);y("error","");const o=s.form.name.trim(),l=fe(s.form),m={...S()};return s.editing&&s.editing!==o&&delete m[s.editing],m[o]=l,await g.updateConfig({mcp:m}),l.enabled!==!1&&await d.client.mcp.add({name:o,config:l}).catch(()=>{}),o},onSuccess:async()=>{O({title:t.t("dialog.mcp.toast.saved")});const e=async()=>{await Promise.all([D(),k.invalidateQueries({queryKey:["config"]})])};await e(),setTimeout(()=>void e(),500),setTimeout(()=>void e(),1500),q()},onError:e=>{e instanceof Error&&e.message in N||O({variant:"error",title:t.t("common.requestFailed"),description:e instanceof Error?e.message:String(e)})}})),H=C(()=>B().filter(e=>e.status==="connected").length),J=C(()=>B().length);function q(){y({mode:"list",editing:void 0,form:M(),error:""})}function U(){y({mode:"form",editing:void 0,form:M(),error:""})}function X(e){const o=S()[e];if(!o||!("type"in o)){O({variant:"error",title:t.t("dialog.mcp.error.missingConfig")});return}y({mode:"form",editing:e,form:ge(e,o),error:""})}const Y=C(()=>s.mode!=="form"?t.t("dialog.mcp.title"):(()=>{var e=he(),o=e.firstChild;return n(e,c(ie,{icon:"arrow-left",variant:"ghost",onClick:q,get"aria-label"(){return t.t("common.goBack")}}),o),n(o,(()=>{var l=F(()=>!!s.editing);return()=>l()?t.t("dialog.mcp.editTitle"):t.t("dialog.mcp.addTitle")})()),e})());return c(se,{size:"large",get title(){return Y()},get description(){return F(()=>s.mode==="list")()?t.t("dialog.mcp.description",{enabled:H(),total:J()}):t.t("dialog.mcp.form.hint")},class:"overflow-hidden [&_[data-slot=dialog-body]]:h-full [&_[data-slot=dialog-body]]:min-h-0",get children(){return c(w,{get when(){return s.mode==="list"},get fallback(){return(()=>{var e=xe(),o=e.firstChild,l=o.firstChild,m=l.firstChild,P=m.firstChild,$=m.nextSibling,E=$.firstChild,L=E.firstChild,p=L.nextSibling,_=o.nextSibling;return n(l,c(j,{get label(){return t.t("dialog.mcp.form.name")},get placeholder(){return t.t("dialog.mcp.form.namePlaceholder")},get value(){return s.form.name},get disabled(){return u.isPending||!!s.editing},onChange:i=>x({name:i})}),m),n(P,()=>t.t("dialog.mcp.form.transport")),n(m,c(oe,{options:["local","remote"],get current(){return s.form.transport},value:i=>i,label:i=>i==="local"?t.t("dialog.mcp.form.transport.local"):t.t("dialog.mcp.form.transport.remote"),onSelect:i=>{!i||u.isPending||x({transport:i})}}),null),n(l,c(w,{get when(){return s.form.transport==="local"},get fallback(){return(()=>{var i=I();return n(i,c(j,{get label(){return t.t("dialog.mcp.form.url")},get placeholder(){return t.t("dialog.mcp.form.urlPlaceholder")},get value(){return s.form.url},get disabled(){return u.isPending},onChange:h=>x({url:h})}),null),n(i,c(j,{multiline:!0,get label(){return t.t("dialog.mcp.form.headers")},get placeholder(){return t.t("dialog.mcp.form.headersPlaceholder")},get value(){return s.form.headers},get disabled(){return u.isPending},onChange:h=>x({headers:h}),class:"min-h-24"}),null),i})()},get children(){var i=I();return n(i,c(j,{get label(){return t.t("dialog.mcp.form.command")},get placeholder(){return t.t("dialog.mcp.form.commandPlaceholder")},get value(){return s.form.command},get disabled(){return u.isPending},onChange:h=>x({command:h})}),null),n(i,c(j,{multiline:!0,get label(){return t.t("dialog.mcp.form.environment")},get placeholder(){return t.t("dialog.mcp.form.environmentPlaceholder")},get value(){return s.form.environment},get disabled(){return u.isPending},onChange:h=>x({environment:h}),class:"min-h-24"}),null),i}}),$),n(L,()=>t.t("dialog.mcp.form.enabled")),n(p,()=>t.t("dialog.mcp.form.enabledDescription")),n($,c(A,{get checked(){return s.form.enabled},get disabled(){return u.isPending},onChange:i=>x({enabled:i})}),null),n(l,c(w,{get when(){return s.error},get children(){var i=be();return n(i,()=>s.error),i}}),null),n(_,c(T,{variant:"ghost",size:"large",onClick:q,get disabled(){return u.isPending},get children(){return t.t("common.cancel")}}),null),n(_,c(T,{variant:"primary",size:"large",get disabled(){return u.isPending},onClick:()=>{u.isPending||u.mutate()},get children(){return F(()=>!!u.isPending)()?t.t("common.saving"):t.t("common.save")}}),null),e})()},get children(){var e=ve(),o=e.firstChild;return n(e,c(me,{get search(){return{placeholder:t.t("common.search.placeholder"),autofocus:!0}},get emptyMessage(){return t.t("dialog.mcp.empty")},key:l=>l?.name??"",items:B,filterKeys:["name","status"],sortBy:(l,m)=>l.name.localeCompare(m.name),onSelect:l=>{!l||b.isPending||b.mutate(l.name)},children:l=>{const m=()=>r.data.mcp[l.name],P=()=>m()?.status??l.status,$=()=>{const p=P()?we[P()]:void 0;if(p)return t.t(p)},E=()=>{const p=m();return p?.status==="failed"?p.error:void 0},L=()=>P()==="connected";return(()=>{var p=Ce(),_=p.firstChild,i=_.firstChild,h=i.firstChild,z=_.nextSibling;return n(h,()=>l.name),n(i,c(w,{get when(){return $()},get children(){var f=ye();return n(f,$),f}}),null),n(i,c(w,{get when(){return F(()=>!!b.isPending)()&&b.variables===l.name},get children(){var f=$e();return n(f,()=>t.t("common.loading.ellipsis")),f}}),null),n(_,c(w,{get when(){return E()},get children(){var f=_e();return n(f,E),f}}),null),z.$$click=f=>f.stopPropagation(),n(z,c(T,{variant:"ghost",class:"h-7 px-2 text-12-regular",onClick:()=>X(l.name),get children(){return t.t("common.edit")}}),null),n(z,c(A,{get checked(){return L()},get disabled(){return F(()=>!!b.isPending)()&&b.variables===l.name},onChange:()=>{b.isPending||b.mutate(l.name)}}),null),p})()}}),o),n(o,c(T,{variant:"secondary",icon:"plus-small",size:"large",onClick:U,class:"py-1.5 pl-1.5 pr-3",get children(){return t.t("dialog.mcp.addButton")}})),e}})}})};de(["click"]);export{Fe as DialogSelectMcp};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dialog-manage-models-
|
|
2
|
-
import{f as _,i as d,n as i,E as $,t as x,b as y,B as P,D as M,k as E,bb as v,m as T,a3 as w,v as S,bc as O,h as I,G as p,_ as h}from"./index-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dialog-manage-models-_-_TsaQq.js","assets/index-D7foRDPi.js","assets/index-mYKBEy4S.css","assets/list-Cb_PHmYm.js","assets/switch-_MdIYlO4.js","assets/dialog-select-provider-DPJ8yl0C.js","assets/tag-BKpi0bB5.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{f as _,i as d,n as i,E as $,t as x,b as y,B as P,D as M,k as E,bb as v,m as T,a3 as w,v as S,bc as O,h as I,G as p,_ as h}from"./index-D7foRDPi.js";import{T as C}from"./tag-BKpi0bB5.js";import{L as k}from"./list-Cb_PHmYm.js";var A=x('<div class="flex flex-col gap-1 py-1"><div class=text-13-medium></div><div class="text-12-regular text-text-invert-base"></div><div class="text-12-regular text-text-invert-base">'),B=x('<div class="text-12-regular text-text-invert-base">');const z=n=>{const r=_(),a=e=>{const l=`${e.id} ${e.name}`.toLowerCase();return/claude|anthropic/.test(l)?r.t("model.provider.anthropic"):/gpt|o[1-4]|codex|openai/.test(l)?r.t("model.provider.openai"):/gemini|palm|bard|google/.test(l)?r.t("model.provider.google"):/grok|xai/.test(l)?r.t("model.provider.xai"):/llama|meta/.test(l)?r.t("model.provider.meta"):e.provider.name},c=e=>e==="text"?r.t("model.input.text"):e==="image"?r.t("model.input.image"):e==="audio"?r.t("model.input.audio"):e==="video"?r.t("model.input.video"):e==="pdf"?r.t("model.input.pdf"):e,t=()=>{const e=[];n.latest&&e.push(r.t("model.tag.latest")),n.free&&e.push(r.t("model.tag.free"));const l=e.length?` (${e.join(", ")})`:"";return`${a(n.model)} ${n.model.name}${l}`},o=()=>{if(n.model.capabilities){const g=n.model.capabilities.input,f=["text","image","audio","video","pdf"].filter(m=>g[m]).map(m=>c(m));return f.length?f.join(", "):void 0}const e=n.model.modalities?.input;if(!e)return;const l=e.map(g=>c(g));return l.length?l.join(", "):void 0},u=()=>n.model.capabilities?n.model.capabilities.reasoning?r.t("model.tooltip.reasoning.allowed"):r.t("model.tooltip.reasoning.none"):n.model.reasoning?r.t("model.tooltip.reasoning.allowed"):r.t("model.tooltip.reasoning.none"),s=()=>r.t("model.tooltip.context",{limit:n.model.limit.context.toLocaleString()});return(()=>{var e=A(),l=e.firstChild,g=l.nextSibling,D=g.nextSibling;return d(l,t),d(e,i($,{get when(){return o()},children:f=>(()=>{var m=B();return d(m,()=>r.t("model.tooltip.allows",{inputs:f()})),m})()}),g),d(g,u),d(D,s),e})()};var j=x('<div class="w-full flex items-center gap-x-2 text-13-regular"><span class=truncate>'),R=x('<div class="flex items-center gap-1">');const b=(n,r)=>n==="opencode"&&(!r||r.input===0),L=n=>{const r=n.model??O().model,a=_(),c=I(()=>r.list().filter(o=>n.provider?o.provider.id===n.provider:!0).map(o=>({...o,search:[o.provider.name,o.provider.id,o.name,o.id,o.family,b(o.provider.id,o.cost)?"free 免费":"",o.latest?"latest 最新":""].join(" ")})));return i(k,{get class(){return`flex-1 min-h-0 [&_[data-slot=list-scroll]]:flex-1 [&_[data-slot=list-scroll]]:min-h-0 ${n.class??""}`},get search(){return{placeholder:a.t("dialog.model.search.placeholder"),autofocus:!0,action:n.action}},get emptyMessage(){return a.t("dialog.model.empty")},key:t=>`${t.provider.id}:${t.id}`,items:c,get current(){return r.current()},filterKeys:["search"],sortBy:(t,o)=>t.name.localeCompare(o.name),groupBy:t=>t.provider.name,sortGroupsBy:(t,o)=>{const u=t.items[0].provider.id,s=o.items[0].provider.id;return p.includes(u)&&!p.includes(s)?-1:!p.includes(u)&&p.includes(s)?1:p.indexOf(u)-p.indexOf(s)},itemWrapper:(t,o)=>i(w,{class:"w-full",placement:"right-start",gutter:12,get value(){return i(z,{model:t,get latest(){return t.latest},get free(){return b(t.provider.id,t.cost)}})},children:o}),onSelect:t=>{r.set(t?{modelID:t.id,providerID:t.provider.id}:void 0,{recent:!0}),n.onSelect()},children:t=>(()=>{var o=j(),u=o.firstChild;return d(u,()=>t.name),d(o,i($,{get when(){return b(t.provider.id,t.cost)},get children(){return i(C,{get children(){return a.t("model.tag.free")}})}}),null),d(o,i($,{get when(){return t.latest},get children(){return i(C,{get children(){return a.t("model.tag.latest")}})}}),null),o})()})};function K(n){const[r,a]=E({open:!1,dismiss:null}),c=y(),t=e=>{a("dismiss",e),a("open",!1)},o=()=>{t("manage"),h(()=>import("./dialog-manage-models-_-_TsaQq.js"),__vite__mapDeps([0,1,2,3,4,5,6])).then(e=>{c.show(()=>i(e.DialogManageModels,{}))})},u=()=>{t("provider"),h(()=>import("./dialog-select-provider-DPJ8yl0C.js").then(e=>e.d),__vite__mapDeps([5,1,2,3,6])).then(e=>{c.show(()=>i(e.DialogSelectProvider,{}))})},s=_();return i(v,{get open(){return r.open},onOpenChange:e=>{e&&a("dismiss",null),a("open",e)},modal:!1,placement:"top-start",gutter:4,get children(){return[i(v.Trigger,T({get as(){return n.triggerAs??"div"}},()=>n.triggerProps,{get children(){return n.children}})),i(v.Portal,{get children(){return i(v.Content,{class:"w-72 h-80 flex flex-col p-2 rounded-md border border-border-base bg-surface-raised-stronger-non-alpha shadow-md z-50 outline-none overflow-hidden",onEscapeKeyDown:e=>{t("escape"),e.preventDefault(),e.stopPropagation()},onPointerDownOutside:()=>t("outside"),onFocusOutside:()=>t("outside"),onCloseAutoFocus:e=>{const l=r.dismiss;l==="outside"&&e.preventDefault(),(l==="escape"||l==="select")&&(e.preventDefault(),n.onClose?.(l)),a("dismiss",null)},get children(){return[i(v.Title,{class:"sr-only",get children(){return s.t("dialog.model.select.title")}}),i(L,{get provider(){return n.provider},get model(){return n.model},onSelect:()=>t("select"),class:"p-1",get action(){return(()=>{var e=R();return d(e,i(w,{placement:"top",get value(){return s.t("command.provider.connect")},get children(){return i(S,{icon:"plus-small",variant:"ghost",iconSize:"normal",class:"size-6",get"aria-label"(){return s.t("command.provider.connect")},onClick:u})}}),null),d(e,i(w,{placement:"top",get value(){return s.t("dialog.model.manage")},get children(){return i(S,{icon:"sliders",variant:"ghost",iconSize:"normal",class:"size-6",get"aria-label"(){return s.t("dialog.model.manage")},onClick:o})}}),null),e})()}})]}})}})]}})}const N=n=>{const r=y(),a=_(),c=()=>{h(()=>import("./dialog-select-provider-DPJ8yl0C.js").then(o=>o.d),__vite__mapDeps([5,1,2,3,6])).then(o=>{r.show(()=>i(o.DialogSelectProvider,{}))})},t=()=>{h(()=>import("./dialog-manage-models-_-_TsaQq.js"),__vite__mapDeps([0,1,2,3,4,5,6])).then(o=>{r.show(()=>i(o.DialogManageModels,{}))})};return i(M,{get title(){return a.t("dialog.model.select.title")},get action(){return i(P,{class:"h-7 -my-1 text-14-medium",icon:"plus-small",tabIndex:-1,onClick:c,get children(){return a.t("command.provider.connect")}})},get children(){return[i(L,{get provider(){return n.provider},get model(){return n.model},onSelect:()=>r.close()}),i(P,{variant:"ghost",class:"ml-3 mt-5 mb-6 text-text-base self-start",onClick:t,get children(){return a.t("dialog.model.manage")}})]}})};export{N as DialogSelectModel,K as ModelSelectorPopover};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as Ee,u as Te,s as qe,a as Fe,m as Ue,i as o,t as D,b as xe,c as Pe,e as ze,f as be,g as Ke,o as je,h as j,j as Ae,k as ne,l as Be,n as t,P as ye,S as ee,M as P,p as me,q as ce,I as Ve,r as ge,v as ae,D as _e,T as q,B as W,w as Ge,x as ie,y as he,_ as He,z as Ze,F as $e,A as ke,C as ue,E as re,G as te}from"./index-BCyEiTcs.js";import{L as fe}from"./list-D_BiIIUu.js";import{T as pe}from"./tag-B-lDsblE.js";var Ne=D("<a>");function le(l){const I=Te(),[d,S]=qe(l,["href","children","class"]);return(()=>{var e=Ne();return e.$$click=g=>{d.href&&(g.preventDefault(),I.openLink(d.href))},Fe(e,Ue({get href(){return d.href},get class(){return`text-text-strong underline ${d.class??""}`}},S),!1,!0),o(e,()=>d.children),e})()}Ee(["click"]);var We=D('<div class="w-full flex flex-col gap-1.5"><div class="text-14-regular text-text-base"></div><div>'),Je=D('<form class="flex flex-col items-start gap-4">'),Qe=D('<div class="w-full flex items-center gap-x-2"><div class="w-4 h-2 rounded-[1px] bg-input-base shadow-xs-border-base flex items-center justify-center"><div class="w-2.5 h-0.5 ml-0 bg-icon-strong-base hidden"data-slot=list-item-extra-icon></div></div><span></span><span class="text-14-regular text-text-weak">'),Se=D('<div class="text-14-regular text-text-base">'),Xe=D("<div>"),Ye=D('<div class="w-full flex items-center gap-x-2"><div class="w-4 h-2 rounded-[1px] bg-input-base shadow-xs-border-base flex items-center justify-center"><div class="w-2.5 h-0.5 ml-0 bg-icon-strong-base hidden"data-slot=list-item-extra-icon></div></div><span>'),er=D('<div class="flex flex-col gap-4"><div class="text-14-regular text-text-base"></div><div class="text-14-regular text-text-base"></div><div class="text-14-regular text-text-base">'),rr=D('<div class="flex flex-col gap-6"><form class="flex flex-col items-start gap-4">'),tr=D('<div class="flex flex-col gap-6"><div class="text-14-regular text-text-base"></div><form class="flex flex-col items-start gap-4">'),or=D('<div class="flex flex-col gap-6"><div class="text-14-regular text-text-base"></div><div class="text-14-regular text-text-base flex items-center gap-4"><span>'),ve=D('<div class="text-14-regular text-text-base"><div class="flex items-center gap-x-2"><span>'),nr=D('<div class="flex flex-col gap-6 px-2.5 pb-3"><div class="px-2.5 flex gap-4 items-center"><div class="text-16-medium text-text-strong"></div></div><div class="px-2.5 pb-10 flex flex-col gap-6"><div tabindex=0>');function ir(l){const I=xe(),d=Pe(),S=ze(),e=be(),g=Ke(),w=()=>{He(()=>Promise.resolve().then(()=>vr),void 0).then(r=>{I.show(()=>t(r.DialogSelectProvider,{}))})},s={value:!0},u={current:void 0};je(()=>{s.value=!1,u.current!==void 0&&(clearTimeout(u.current),u.current=void 0)});const _=j(()=>g.all().find(r=>r.id===l.provider)??d.data.provider.all.find(r=>r.id===l.provider)),R=j(()=>[{type:"api",label:e.t("provider.connect.method.apiKey")}]),[A]=Ae(()=>l.provider,async()=>{const r=d.data.provider_auth[l.provider];if(r)return r;const n=await S.client.provider.auth();return s.value?(d.set("provider_auth",n.data??{}),n.data?.[l.provider]??R()):R()}),B=j(()=>A.loading&&!d.data.provider_auth[l.provider]),M=j(()=>A.latest??d.data.provider_auth[l.provider]??R()),[y,J]=ne({methodIndex:void 0,authorization:void 0,state:"pending",error:void 0});function C(r){J(ie(n=>{if(r.type==="method.select"){n.methodIndex=r.index,n.authorization=void 0,n.state=void 0,n.error=void 0;return}if(r.type==="method.reset"){n.methodIndex=void 0,n.authorization=void 0,n.state=void 0,n.error=void 0;return}if(r.type==="auth.prompt"){n.state="prompt",n.error=void 0;return}if(r.type==="auth.pending"){n.state="pending",n.error=void 0;return}if(r.type==="auth.complete"){n.state="complete",n.authorization=r.authorization,n.error=void 0;return}n.state="error",n.error=r.error}))}const F=j(()=>y.methodIndex!==void 0?M().at(y.methodIndex):void 0),a=r=>r?r.type==="api"?e.t("provider.connect.method.apiKey"):r.label??"":"";function c(r,n){if(r&&typeof r=="object"&&"data"in r){const i=r.data;if(typeof i?.message=="string"&&i.message)return i.message}if(r&&typeof r=="object"&&"error"in r){const i=c(r.error,"");if(i)return i}if(r&&typeof r=="object"&&"message"in r){const i=r.message;if(typeof i=="string"&&i)return i}return r instanceof Error&&r.message?r.message:typeof r=="string"&&r?r:n}async function $(r,n){u.current!==void 0&&(clearTimeout(u.current),u.current=void 0);const i=M()[r];if(C({type:"method.select",index:r}),i.type==="oauth"){if(i.prompts?.length&&!n){C({type:"auth.prompt"});return}C({type:"auth.pending"});const x=Date.now();await S.client.provider.oauth.authorize({providerID:l.provider,method:r,inputs:n},{throwOnError:!0}).then(v=>{if(!s.value)return;const b=1e3-(Date.now()-x);if(b>0){u.current!==void 0&&clearTimeout(u.current),u.current=setTimeout(()=>{u.current=void 0,s.value&&C({type:"auth.complete",authorization:v.data})},b);return}C({type:"auth.complete",authorization:v.data})}).catch(v=>{s.value&&C({type:"auth.error",error:c(v,e.t("common.requestFailed"))})})}}function H(){const[r,n]=ne({value:{},index:0}),i=j(()=>{const m=F();return m?.type!=="oauth"?[]:m.prompts??[]}),x=(m,k)=>{if(!m.when)return!0;const K=k[m.when.key];return K===void 0?!1:m.when.op==="eq"?K===m.when.value:K!==m.when.value},v=j(()=>{const m=i(),k=m.findIndex((K,Y)=>Y>=r.index&&x(K,r.value));if(k!==-1)return{index:k,prompt:m[k]}}),h=j(()=>{const m=v();return!m||m.prompt.type!=="text"?!1:(r.value[m.prompt.key]??"").trim().length>0});async function b(m,k){if(y.methodIndex===void 0)return;const K=i().findIndex((Y,T)=>T>m&&x(Y,k));if(K!==-1){n("index",K);return}await $(y.methodIndex,k)}async function E(m){m.preventDefault();const k=v();!k||k.prompt.type!=="text"||h()&&await b(k.index,r.value)}const z=()=>v(),Q=j(()=>{const m=z()?.prompt;if(!(!m||m.type!=="text"))return m}),X=j(()=>{const m=z()?.prompt;if(!(!m||m.type!=="select"))return m});return(()=>{var m=Je();return m.addEventListener("submit",E),o(m,t(ee,{get children(){return[t(P,{get when(){return z()?.prompt.type==="text"},get children(){return[t(q,{type:"text",get label(){return Q()?.message??""},get placeholder(){return Q()?.placeholder},get value(){return me(()=>!!Q())()?r.value[Q().key]??"":""},onChange:k=>{const K=Q();K&&n("value",K.key,k)}}),t(W,{class:"w-auto",type:"submit",size:"large",variant:"primary",get disabled(){return!h()},get children(){return e.t("common.continue")}})]}}),t(P,{get when(){return z()?.prompt.type==="select"},get children(){var k=We(),K=k.firstChild,Y=K.nextSibling;return o(K,()=>X()?.message),o(Y,t(fe,{get items(){return X()?.options??[]},key:T=>T.value,get current(){return X()?.options.find(T=>T.value===r.value[X().key])},onSelect:T=>{if(!T)return;const N=X();if(!N)return;const de={...r.value,[N.key]:T.value};n("value",N.key,T.value),b(z().index,de)},children:T=>(()=>{var N=Qe(),de=N.firstChild,we=de.nextSibling,Oe=we.nextSibling;return o(we,()=>T.label),o(Oe,()=>T.hint),N})()})),k}})]}})),m})()}let p;function L(r){r.key==="Enter"&&r.target instanceof HTMLInputElement||r.key!=="Escape"&&p?.onKeyDown(r)}let O=!1;Be(()=>{O||B()||M().length===1&&(O=!0,$(0))});async function V(){await S.client.global.dispose(),I.close(),he({variant:"success",icon:"circle-check",title:e.t("provider.connect.toast.connected.title",{provider:_().name}),description:e.t("provider.connect.toast.connected.description",{provider:_().name})})}function Z(){if(M().length===1){w();return}if(y.authorization){C({type:"method.reset"});return}if(y.methodIndex!==void 0){C({type:"method.reset"});return}w()}function se(){return[(()=>{var r=Se();return o(r,()=>e.t("provider.connect.selectMethod",{provider:_().name})),r})(),(()=>{var r=Xe();return o(r,t(fe,{ref:n=>{p=n},items:M,key:n=>n?.label,onSelect:async(n,i)=>{n&&$(i)},children:n=>(()=>{var i=Ye(),x=i.firstChild,v=x.nextSibling;return o(v,()=>a(n)),i})()})),r})()]}function f(){const[r,n]=ne({value:"",error:void 0});async function i(x){x.preventDefault();const v=x.currentTarget,b=new FormData(v).get("apiKey");if(!b?.trim()){n("error",e.t("provider.connect.apiKey.required"));return}n("error",void 0),await S.client.auth.set({providerID:l.provider,auth:{type:"api",key:b}}),await V()}return(()=>{var x=rr(),v=x.firstChild;return o(x,t(ee,{get children(){return[t(P,{get when(){return _().id==="opencode"},get children(){var h=er(),b=h.firstChild,E=b.nextSibling,z=E.nextSibling;return o(b,()=>e.t("provider.connect.opencodeZen.line1")),o(E,()=>e.t("provider.connect.opencodeZen.line2")),o(z,()=>e.t("provider.connect.opencodeZen.visit.prefix"),null),o(z,t(le,{href:"https://opencode.ai/zen",tabIndex:-1,get children(){return e.t("provider.connect.opencodeZen.visit.link")}}),null),o(z,()=>e.t("provider.connect.opencodeZen.visit.suffix"),null),h}}),t(P,{when:!0,get children(){var h=Se();return o(h,()=>e.t("provider.connect.apiKey.description",{provider:_().name})),h}})]}}),v),v.addEventListener("submit",i),o(v,t(q,{autofocus:!0,type:"text",get label(){return e.t("provider.connect.apiKey.label",{provider:_().name})},get placeholder(){return e.t("provider.connect.apiKey.placeholder")},name:"apiKey",get value(){return r.value},onChange:h=>n("value",h),get validationState(){return r.error?"invalid":void 0},get error(){return r.error}}),null),o(v,t(W,{class:"w-auto",type:"submit",size:"large",variant:"primary",get children(){return e.t("common.continue")}}),null),x})()}function G(){const[r,n]=ne({value:"",error:void 0});async function i(x){x.preventDefault();const v=x.currentTarget,b=new FormData(v).get("code");if(!b?.trim()){n("error",e.t("provider.connect.oauth.code.required"));return}n("error",void 0);const E=await S.client.provider.oauth.callback({providerID:l.provider,method:y.methodIndex,code:b}).then(z=>z.error?{ok:!1,error:z.error}:{ok:!0}).catch(z=>({ok:!1,error:z}));if(E.ok){await V();return}n("error",c(E.error,e.t("provider.connect.oauth.code.invalid")))}return(()=>{var x=tr(),v=x.firstChild,h=v.nextSibling;return o(v,()=>e.t("provider.connect.oauth.code.visit.prefix"),null),o(v,t(le,{get href(){return y.authorization.url},get children(){return e.t("provider.connect.oauth.code.visit.link")}}),null),o(v,()=>e.t("provider.connect.oauth.code.visit.suffix",{provider:_().name}),null),h.addEventListener("submit",i),o(h,t(q,{autofocus:!0,type:"text",get label(){return e.t("provider.connect.oauth.code.label",{method:F()?.label??""})},get placeholder(){return e.t("provider.connect.oauth.code.placeholder")},name:"code",get value(){return r.value},onChange:b=>n("value",b),get validationState(){return r.error?"invalid":void 0},get error(){return r.error}}),null),o(h,t(W,{class:"w-auto",type:"submit",size:"large",variant:"primary",get children(){return e.t("common.continue")}}),null),x})()}function U(){const r=j(()=>{const n=y.authorization?.instructions;return n?.includes(":")?n.split(":")[1]?.trim():n});return Ge(()=>{(async()=>{const n=await S.client.provider.oauth.callback({providerID:l.provider,method:y.methodIndex}).then(i=>i.error?{ok:!1,error:i.error}:{ok:!0}).catch(i=>({ok:!1,error:i}));if(s.value){if(!n.ok){const i=c(n.error,e.t("common.requestFailed"));C({type:"auth.error",error:i});return}await V()}})()}),(()=>{var n=or(),i=n.firstChild,x=i.nextSibling,v=x.firstChild;return o(i,()=>e.t("provider.connect.oauth.auto.visit.prefix"),null),o(i,t(le,{get href(){return y.authorization.url},get children(){return e.t("provider.connect.oauth.auto.visit.link")}}),null),o(i,()=>e.t("provider.connect.oauth.auto.visit.suffix",{provider:_().name}),null),o(n,t(q,{get label(){return e.t("provider.connect.oauth.auto.confirmationCode")},class:"font-mono",get value(){return r()},readOnly:!0,copyable:!0}),x),o(x,t(ce,{}),v),o(v,()=>e.t("provider.connect.status.waiting")),n})()}return t(_e,{get title(){return t(ae,{tabIndex:-1,icon:"arrow-left",variant:"ghost",onClick:Z,get"aria-label"(){return e.t("common.goBack")}})},get children(){var r=nr(),n=r.firstChild,i=n.firstChild,x=n.nextSibling,v=x.firstChild;return o(n,t(ye,{get id(){return l.provider},class:"size-5 shrink-0 icon-strong-base"}),i),o(i,t(ee,{get children(){return[t(P,{get when(){return me(()=>l.provider==="anthropic")()&&F()?.label?.toLowerCase().includes("max")},get children(){return e.t("provider.connect.title.anthropicProMax")}}),t(P,{when:!0,get children(){return e.t("provider.connect.title",{provider:_().name})}})]}})),v.$$keydown=L,o(v,t(ee,{get children(){return[t(P,{get when(){return B()},get children(){var h=ve(),b=h.firstChild,E=b.firstChild;return o(b,t(ce,{}),E),o(E,()=>e.t("provider.connect.status.inProgress")),h}}),t(P,{get when(){return y.methodIndex===void 0},get children(){return t(se,{})}}),t(P,{get when(){return y.state==="pending"},get children(){var h=ve(),b=h.firstChild,E=b.firstChild;return o(b,t(ce,{}),E),o(E,()=>e.t("provider.connect.status.inProgress")),h}}),t(P,{get when(){return y.state==="prompt"},get children(){return t(H,{})}}),t(P,{get when(){return y.state==="error"},get children(){var h=ve(),b=h.firstChild,E=b.firstChild;return o(b,t(Ve,{name:"circle-ban-sign",class:"text-icon-critical-base"}),E),o(E,()=>e.t("provider.connect.status.failed",{error:y.error??""})),h}}),t(P,{get when(){return F()?.type==="api"},get children(){return t(f,{})}}),t(P,{get when(){return F()?.type==="oauth"},get children(){return t(ee,{get children(){return[t(P,{get when(){return y.authorization?.method==="code"},get children(){return t(G,{})}}),t(P,{get when(){return y.authorization?.method==="auto"},get children(){return t(U,{})}})]}})}})]}})),ge(()=>v.autofocus=y.methodIndex===void 0?!0:void 0),r}})}Ee(["keydown"]);const ar=/^[a-z0-9][a-z0-9-_]*$/,lr="@ai-sdk/openai-compatible";function sr(l){const I=l.form.providerID.trim(),d=l.form.name.trim(),S=l.form.baseURL.trim(),e=l.form.apiKey.trim(),g=e.match(/^\{env:([^}]+)\}$/)?.[1]?.trim(),w=e&&!g?e:void 0,s=I?ar.test(I)?void 0:l.t("provider.custom.error.providerID.format"):l.t("provider.custom.error.providerID.required"),u=d?void 0:l.t("provider.custom.error.name.required"),_=S?/^https?:\/\//.test(S)?void 0:l.t("provider.custom.error.baseURL.format"):l.t("provider.custom.error.baseURL.required"),R=l.disabledProviders.includes(I),A=s?void 0:l.existingProviderIDs.has(I)&&!R?l.t("provider.custom.error.providerID.exists"):void 0,B=new Set,M=l.form.models.map(p=>{const L=p.id.trim(),O=L?B.has(L)?l.t("provider.custom.error.duplicate"):(()=>{B.add(L)})():l.t("provider.custom.error.required"),V=p.name.trim()?void 0:l.t("provider.custom.error.required");return{id:O,name:V}}),y=M.every(p=>!p.id&&!p.name),J=Object.fromEntries(l.form.models.map(p=>[p.id.trim(),{name:p.name.trim()}])),C=new Set,F=l.form.headers.map(p=>{const L=p.key.trim(),O=p.value.trim();if(!L&&!O)return{};const V=L?C.has(L.toLowerCase())?l.t("provider.custom.error.duplicate"):(()=>{C.add(L.toLowerCase())})():l.t("provider.custom.error.required"),Z=O?void 0:l.t("provider.custom.error.required");return{key:V,value:Z}}),a=F.every(p=>!p.key&&!p.value),c=Object.fromEntries(l.form.headers.map(p=>({key:p.key.trim(),value:p.value.trim()})).filter(p=>!!p.key&&!!p.value).map(p=>[p.key,p.value])),$={providerID:s??A,name:u,baseURL:_};return!s&&!A&&!u&&!_&&y&&a?{err:$,models:M,headers:F,result:{providerID:I,name:d,key:w,config:{npm:lr,name:d,...g?{env:[g]}:{},options:{baseURL:S,...Object.keys(c).length?{headers:c}:{}},models:J}}}:{err:$,models:M,headers:F}}let dr=0;const Re=()=>`row-${dr++}`,Ce=()=>({row:Re(),id:"",name:"",err:{}}),De=()=>({row:Re(),key:"",value:"",err:{}});var cr=D('<div class="flex flex-col gap-6 px-2.5 pb-3 overflow-y-auto max-h-[60vh]"><div class="px-2.5 flex gap-4 items-center"><div class="text-16-medium text-text-strong"></div></div><form class="px-2.5 pb-6 flex flex-col gap-6"><p class="text-14-regular text-text-base"></p><div class="flex flex-col gap-4"></div><div class="flex flex-col gap-3"><label class="text-12-medium text-text-weak"></label></div><div class="flex flex-col gap-3"><label class="text-12-medium text-text-weak">'),Ie=D('<div class="flex gap-2 items-start"><div class=flex-1></div><div class=flex-1>');function ur(l){const I=xe(),d=Pe(),S=ze(),e=be(),[g,w]=ne({providerID:"",name:"",baseURL:"",apiKey:"",models:[Ce()],headers:[De()],err:{}}),s=()=>{if(l.back==="close"){I.close();return}I.show(()=>t(Me,{}))},u=()=>{w("models",ie(a=>{a.push(Ce())}))},_=a=>{g.models.length<=1||w("models",ie(c=>{c.splice(a,1)}))},R=()=>{w("headers",ie(a=>{a.push(De())}))},A=a=>{g.headers.length<=1||w("headers",ie(c=>{c.splice(a,1)}))},B=(a,c)=>{w(a,c),a!=="apiKey"&&w("err",a,void 0)},M=(a,c,$)=>{ue(()=>{w("models",a,c,$),w("models",a,"err",c,void 0)})},y=(a,c,$)=>{ue(()=>{w("headers",a,c,$),w("headers",a,"err",c,void 0)})},J=()=>{const a=sr({form:g,t:e.t,disabledProviders:d.data.config.disabled_providers??[],existingProviderIDs:new Set(d.data.provider.all.map(c=>c.id))});return ue(()=>{w("err",a.err),a.models.forEach((c,$)=>w("models",$,"err",c)),a.headers.forEach((c,$)=>w("headers",$,"err",c))}),a.result},C=Ze(()=>({mutationFn:async a=>{const $=(d.data.config.disabled_providers??[]).filter(H=>H!==a.providerID);return a.key&&await S.client.auth.set({providerID:a.providerID,auth:{type:"api",key:a.key}}),await d.updateConfig({provider:{[a.providerID]:a.config},disabled_providers:$}),a},onSuccess:a=>{I.close(),he({variant:"success",icon:"circle-check",title:e.t("provider.connect.toast.connected.title",{provider:a.name}),description:e.t("provider.connect.toast.connected.description",{provider:a.name})})},onError:a=>{const c=a instanceof Error?a.message:String(a);he({title:e.t("common.requestFailed"),description:c})}})),F=a=>{if(a.preventDefault(),C.isPending)return;const c=J();c&&C.mutate(c)};return t(_e,{get title(){return t(ae,{tabIndex:-1,icon:"arrow-left",variant:"ghost",onClick:s,get"aria-label"(){return e.t("common.goBack")}})},transition:!0,get children(){var a=cr(),c=a.firstChild,$=c.firstChild,H=c.nextSibling,p=H.firstChild,L=p.nextSibling,O=L.nextSibling,V=O.firstChild,Z=O.nextSibling,se=Z.firstChild;return o(c,t(ye,{id:"synthetic",class:"size-5 shrink-0 icon-strong-base"}),$),o($,()=>e.t("provider.custom.title")),H.addEventListener("submit",F),o(p,()=>e.t("provider.custom.description.prefix"),null),o(p,t(le,{href:"https://opencode.ai/docs/providers/#custom-provider",tabIndex:-1,get children(){return e.t("provider.custom.description.link")}}),null),o(p,()=>e.t("provider.custom.description.suffix"),null),o(L,t(q,{autofocus:!0,get label(){return e.t("provider.custom.field.providerID.label")},get placeholder(){return e.t("provider.custom.field.providerID.placeholder")},get description(){return e.t("provider.custom.field.providerID.description")},get value(){return g.providerID},onChange:f=>B("providerID",f),get validationState(){return g.err.providerID?"invalid":void 0},get error(){return g.err.providerID}}),null),o(L,t(q,{get label(){return e.t("provider.custom.field.name.label")},get placeholder(){return e.t("provider.custom.field.name.placeholder")},get value(){return g.name},onChange:f=>B("name",f),get validationState(){return g.err.name?"invalid":void 0},get error(){return g.err.name}}),null),o(L,t(q,{get label(){return e.t("provider.custom.field.baseURL.label")},get placeholder(){return e.t("provider.custom.field.baseURL.placeholder")},get value(){return g.baseURL},onChange:f=>B("baseURL",f),get validationState(){return g.err.baseURL?"invalid":void 0},get error(){return g.err.baseURL}}),null),o(L,t(q,{get label(){return e.t("provider.custom.field.apiKey.label")},get placeholder(){return e.t("provider.custom.field.apiKey.placeholder")},get description(){return e.t("provider.custom.field.apiKey.description")},get value(){return g.apiKey},onChange:f=>B("apiKey",f)}),null),o(V,()=>e.t("provider.custom.models.label")),o(O,t($e,{get each(){return g.models},children:(f,G)=>(()=>{var U=Ie(),r=U.firstChild,n=r.nextSibling;return o(r,t(q,{get label(){return e.t("provider.custom.models.id.label")},hideLabel:!0,get placeholder(){return e.t("provider.custom.models.id.placeholder")},get value(){return f.id},onChange:i=>M(G(),"id",i),get validationState(){return f.err.id?"invalid":void 0},get error(){return f.err.id}})),o(n,t(q,{get label(){return e.t("provider.custom.models.name.label")},hideLabel:!0,get placeholder(){return e.t("provider.custom.models.name.placeholder")},get value(){return f.name},onChange:i=>M(G(),"name",i),get validationState(){return f.err.name?"invalid":void 0},get error(){return f.err.name}})),o(U,t(ae,{type:"button",icon:"trash",variant:"ghost",class:"mt-1.5",onClick:()=>_(G()),get disabled(){return g.models.length<=1},get"aria-label"(){return e.t("provider.custom.models.remove")}}),null),ge(()=>ke(U,"data-row",f.row)),U})()}),null),o(O,t(W,{type:"button",size:"small",variant:"ghost",icon:"plus-small",onClick:u,class:"self-start",get children(){return e.t("provider.custom.models.add")}}),null),o(se,()=>e.t("provider.custom.headers.label")),o(Z,t($e,{get each(){return g.headers},children:(f,G)=>(()=>{var U=Ie(),r=U.firstChild,n=r.nextSibling;return o(r,t(q,{get label(){return e.t("provider.custom.headers.key.label")},hideLabel:!0,get placeholder(){return e.t("provider.custom.headers.key.placeholder")},get value(){return f.key},onChange:i=>y(G(),"key",i),get validationState(){return f.err.key?"invalid":void 0},get error(){return f.err.key}})),o(n,t(q,{get label(){return e.t("provider.custom.headers.value.label")},hideLabel:!0,get placeholder(){return e.t("provider.custom.headers.value.placeholder")},get value(){return f.value},onChange:i=>y(G(),"value",i),get validationState(){return f.err.value?"invalid":void 0},get error(){return f.err.value}})),o(U,t(ae,{type:"button",icon:"trash",variant:"ghost",class:"mt-1.5",onClick:()=>A(G()),get disabled(){return g.headers.length<=1},get"aria-label"(){return e.t("provider.custom.headers.remove")}}),null),ge(()=>ke(U,"data-row",f.row)),U})()}),null),o(Z,t(W,{type:"button",size:"small",variant:"ghost",icon:"plus-small",onClick:R,class:"self-start",get children(){return e.t("provider.custom.headers.add")}}),null),o(H,t(W,{class:"w-auto self-start",type:"submit",size:"large",variant:"primary",get disabled(){return C.isPending},get children(){return me(()=>!!C.isPending)()?e.t("common.saving"):e.t("common.submit")}}),null),a}})}var Le=D('<div class="text-14-regular text-text-weak">'),pr=D('<div class="px-1.25 w-full flex items-center gap-x-3"><span>');const oe="_custom",Me=()=>{const l=xe(),I=Ke(),d=be(),S=()=>d.t("dialog.provider.group.popular"),e=()=>d.t("dialog.provider.group.other"),g=()=>d.t("settings.providers.tag.custom"),w=s=>{if(s==="anthropic")return d.t("dialog.provider.anthropic.note");if(s==="openai")return d.t("dialog.provider.openai.note");if(s.startsWith("github-copilot"))return d.t("dialog.provider.copilot.note");if(s==="opencode-go")return d.t("dialog.provider.opencodeGo.tagline")};return t(_e,{get title(){return d.t("command.provider.connect")},transition:!0,get children(){return t(fe,{get search(){return{placeholder:d.t("dialog.provider.search.placeholder"),autofocus:!0}},get emptyMessage(){return d.t("dialog.provider.empty")},activeIcon:"plus-small",key:s=>s?.id,items:()=>(d.locale(),[{id:oe,name:g()},...I.all()]),filterKeys:["id","name"],groupBy:s=>te.includes(s.id)?S():e(),sortBy:(s,u)=>s.id===oe?-1:u.id===oe?1:te.includes(s.id)&&te.includes(u.id)?te.indexOf(s.id)-te.indexOf(u.id):s.name.localeCompare(u.name),sortGroupsBy:(s,u)=>{const _=S();return s.category===_&&u.category!==_?-1:u.category===_&&s.category!==_?1:0},onSelect:s=>{if(s){if(s.id===oe){l.show(()=>t(ur,{back:"providers"}));return}l.show(()=>t(ir,{get provider(){return s.id}}))}},children:s=>(()=>{var u=pr(),_=u.firstChild;return o(u,t(ye,{"data-slot":"list-item-extra-icon",get id(){return s.id}}),_),o(_,()=>s.name),o(u,t(re,{get when(){return s.id==="opencode"},get children(){var R=Le();return o(R,()=>d.t("dialog.provider.opencode.tagline")),R}}),null),o(u,t(re,{get when(){return s.id===oe},get children(){return t(pe,{get children(){return d.t("settings.providers.tag.custom")}})}}),null),o(u,t(re,{get when(){return s.id==="opencode"},get children(){return t(pe,{get children(){return d.t("dialog.provider.tag.recommended")}})}}),null),o(u,t(re,{get when(){return w(s.id)},children:R=>(()=>{var A=Le();return o(A,R),A})()}),null),o(u,t(re,{get when(){return s.id==="opencode-go"},get children(){return t(pe,{get children(){return d.t("dialog.provider.tag.recommended")}})}}),null),u})()})}})},vr=Object.freeze(Object.defineProperty({__proto__:null,DialogSelectProvider:Me},Symbol.toStringTag,{value:"Module"}));export{ir as D,le as L,ur as a,Me as b,vr as d};
|
|
1
|
+
import{d as Ee,u as Te,s as qe,a as Fe,m as Ue,i as o,t as D,b as xe,c as Pe,e as ze,f as be,g as Ke,o as je,h as j,j as Ae,k as ne,l as Be,n as t,P as ye,S as ee,M as P,p as me,q as ce,I as Ve,r as ge,v as ae,D as _e,T as q,B as W,w as Ge,x as ie,y as he,_ as He,z as Ze,F as $e,A as ke,C as ue,E as re,G as te}from"./index-D7foRDPi.js";import{L as fe}from"./list-Cb_PHmYm.js";import{T as pe}from"./tag-BKpi0bB5.js";var Ne=D("<a>");function le(l){const I=Te(),[d,S]=qe(l,["href","children","class"]);return(()=>{var e=Ne();return e.$$click=g=>{d.href&&(g.preventDefault(),I.openLink(d.href))},Fe(e,Ue({get href(){return d.href},get class(){return`text-text-strong underline ${d.class??""}`}},S),!1,!0),o(e,()=>d.children),e})()}Ee(["click"]);var We=D('<div class="w-full flex flex-col gap-1.5"><div class="text-14-regular text-text-base"></div><div>'),Je=D('<form class="flex flex-col items-start gap-4">'),Qe=D('<div class="w-full flex items-center gap-x-2"><div class="w-4 h-2 rounded-[1px] bg-input-base shadow-xs-border-base flex items-center justify-center"><div class="w-2.5 h-0.5 ml-0 bg-icon-strong-base hidden"data-slot=list-item-extra-icon></div></div><span></span><span class="text-14-regular text-text-weak">'),Se=D('<div class="text-14-regular text-text-base">'),Xe=D("<div>"),Ye=D('<div class="w-full flex items-center gap-x-2"><div class="w-4 h-2 rounded-[1px] bg-input-base shadow-xs-border-base flex items-center justify-center"><div class="w-2.5 h-0.5 ml-0 bg-icon-strong-base hidden"data-slot=list-item-extra-icon></div></div><span>'),er=D('<div class="flex flex-col gap-4"><div class="text-14-regular text-text-base"></div><div class="text-14-regular text-text-base"></div><div class="text-14-regular text-text-base">'),rr=D('<div class="flex flex-col gap-6"><form class="flex flex-col items-start gap-4">'),tr=D('<div class="flex flex-col gap-6"><div class="text-14-regular text-text-base"></div><form class="flex flex-col items-start gap-4">'),or=D('<div class="flex flex-col gap-6"><div class="text-14-regular text-text-base"></div><div class="text-14-regular text-text-base flex items-center gap-4"><span>'),ve=D('<div class="text-14-regular text-text-base"><div class="flex items-center gap-x-2"><span>'),nr=D('<div class="flex flex-col gap-6 px-2.5 pb-3"><div class="px-2.5 flex gap-4 items-center"><div class="text-16-medium text-text-strong"></div></div><div class="px-2.5 pb-10 flex flex-col gap-6"><div tabindex=0>');function ir(l){const I=xe(),d=Pe(),S=ze(),e=be(),g=Ke(),w=()=>{He(()=>Promise.resolve().then(()=>vr),void 0).then(r=>{I.show(()=>t(r.DialogSelectProvider,{}))})},s={value:!0},u={current:void 0};je(()=>{s.value=!1,u.current!==void 0&&(clearTimeout(u.current),u.current=void 0)});const _=j(()=>g.all().find(r=>r.id===l.provider)??d.data.provider.all.find(r=>r.id===l.provider)),R=j(()=>[{type:"api",label:e.t("provider.connect.method.apiKey")}]),[A]=Ae(()=>l.provider,async()=>{const r=d.data.provider_auth[l.provider];if(r)return r;const n=await S.client.provider.auth();return s.value?(d.set("provider_auth",n.data??{}),n.data?.[l.provider]??R()):R()}),B=j(()=>A.loading&&!d.data.provider_auth[l.provider]),M=j(()=>A.latest??d.data.provider_auth[l.provider]??R()),[y,J]=ne({methodIndex:void 0,authorization:void 0,state:"pending",error:void 0});function C(r){J(ie(n=>{if(r.type==="method.select"){n.methodIndex=r.index,n.authorization=void 0,n.state=void 0,n.error=void 0;return}if(r.type==="method.reset"){n.methodIndex=void 0,n.authorization=void 0,n.state=void 0,n.error=void 0;return}if(r.type==="auth.prompt"){n.state="prompt",n.error=void 0;return}if(r.type==="auth.pending"){n.state="pending",n.error=void 0;return}if(r.type==="auth.complete"){n.state="complete",n.authorization=r.authorization,n.error=void 0;return}n.state="error",n.error=r.error}))}const F=j(()=>y.methodIndex!==void 0?M().at(y.methodIndex):void 0),a=r=>r?r.type==="api"?e.t("provider.connect.method.apiKey"):r.label??"":"";function c(r,n){if(r&&typeof r=="object"&&"data"in r){const i=r.data;if(typeof i?.message=="string"&&i.message)return i.message}if(r&&typeof r=="object"&&"error"in r){const i=c(r.error,"");if(i)return i}if(r&&typeof r=="object"&&"message"in r){const i=r.message;if(typeof i=="string"&&i)return i}return r instanceof Error&&r.message?r.message:typeof r=="string"&&r?r:n}async function $(r,n){u.current!==void 0&&(clearTimeout(u.current),u.current=void 0);const i=M()[r];if(C({type:"method.select",index:r}),i.type==="oauth"){if(i.prompts?.length&&!n){C({type:"auth.prompt"});return}C({type:"auth.pending"});const x=Date.now();await S.client.provider.oauth.authorize({providerID:l.provider,method:r,inputs:n},{throwOnError:!0}).then(v=>{if(!s.value)return;const b=1e3-(Date.now()-x);if(b>0){u.current!==void 0&&clearTimeout(u.current),u.current=setTimeout(()=>{u.current=void 0,s.value&&C({type:"auth.complete",authorization:v.data})},b);return}C({type:"auth.complete",authorization:v.data})}).catch(v=>{s.value&&C({type:"auth.error",error:c(v,e.t("common.requestFailed"))})})}}function H(){const[r,n]=ne({value:{},index:0}),i=j(()=>{const m=F();return m?.type!=="oauth"?[]:m.prompts??[]}),x=(m,k)=>{if(!m.when)return!0;const K=k[m.when.key];return K===void 0?!1:m.when.op==="eq"?K===m.when.value:K!==m.when.value},v=j(()=>{const m=i(),k=m.findIndex((K,Y)=>Y>=r.index&&x(K,r.value));if(k!==-1)return{index:k,prompt:m[k]}}),h=j(()=>{const m=v();return!m||m.prompt.type!=="text"?!1:(r.value[m.prompt.key]??"").trim().length>0});async function b(m,k){if(y.methodIndex===void 0)return;const K=i().findIndex((Y,T)=>T>m&&x(Y,k));if(K!==-1){n("index",K);return}await $(y.methodIndex,k)}async function E(m){m.preventDefault();const k=v();!k||k.prompt.type!=="text"||h()&&await b(k.index,r.value)}const z=()=>v(),Q=j(()=>{const m=z()?.prompt;if(!(!m||m.type!=="text"))return m}),X=j(()=>{const m=z()?.prompt;if(!(!m||m.type!=="select"))return m});return(()=>{var m=Je();return m.addEventListener("submit",E),o(m,t(ee,{get children(){return[t(P,{get when(){return z()?.prompt.type==="text"},get children(){return[t(q,{type:"text",get label(){return Q()?.message??""},get placeholder(){return Q()?.placeholder},get value(){return me(()=>!!Q())()?r.value[Q().key]??"":""},onChange:k=>{const K=Q();K&&n("value",K.key,k)}}),t(W,{class:"w-auto",type:"submit",size:"large",variant:"primary",get disabled(){return!h()},get children(){return e.t("common.continue")}})]}}),t(P,{get when(){return z()?.prompt.type==="select"},get children(){var k=We(),K=k.firstChild,Y=K.nextSibling;return o(K,()=>X()?.message),o(Y,t(fe,{get items(){return X()?.options??[]},key:T=>T.value,get current(){return X()?.options.find(T=>T.value===r.value[X().key])},onSelect:T=>{if(!T)return;const N=X();if(!N)return;const de={...r.value,[N.key]:T.value};n("value",N.key,T.value),b(z().index,de)},children:T=>(()=>{var N=Qe(),de=N.firstChild,we=de.nextSibling,Oe=we.nextSibling;return o(we,()=>T.label),o(Oe,()=>T.hint),N})()})),k}})]}})),m})()}let p;function L(r){r.key==="Enter"&&r.target instanceof HTMLInputElement||r.key!=="Escape"&&p?.onKeyDown(r)}let O=!1;Be(()=>{O||B()||M().length===1&&(O=!0,$(0))});async function V(){await S.client.global.dispose(),I.close(),he({variant:"success",icon:"circle-check",title:e.t("provider.connect.toast.connected.title",{provider:_().name}),description:e.t("provider.connect.toast.connected.description",{provider:_().name})})}function Z(){if(M().length===1){w();return}if(y.authorization){C({type:"method.reset"});return}if(y.methodIndex!==void 0){C({type:"method.reset"});return}w()}function se(){return[(()=>{var r=Se();return o(r,()=>e.t("provider.connect.selectMethod",{provider:_().name})),r})(),(()=>{var r=Xe();return o(r,t(fe,{ref:n=>{p=n},items:M,key:n=>n?.label,onSelect:async(n,i)=>{n&&$(i)},children:n=>(()=>{var i=Ye(),x=i.firstChild,v=x.nextSibling;return o(v,()=>a(n)),i})()})),r})()]}function f(){const[r,n]=ne({value:"",error:void 0});async function i(x){x.preventDefault();const v=x.currentTarget,b=new FormData(v).get("apiKey");if(!b?.trim()){n("error",e.t("provider.connect.apiKey.required"));return}n("error",void 0),await S.client.auth.set({providerID:l.provider,auth:{type:"api",key:b}}),await V()}return(()=>{var x=rr(),v=x.firstChild;return o(x,t(ee,{get children(){return[t(P,{get when(){return _().id==="opencode"},get children(){var h=er(),b=h.firstChild,E=b.nextSibling,z=E.nextSibling;return o(b,()=>e.t("provider.connect.opencodeZen.line1")),o(E,()=>e.t("provider.connect.opencodeZen.line2")),o(z,()=>e.t("provider.connect.opencodeZen.visit.prefix"),null),o(z,t(le,{href:"https://opencode.ai/zen",tabIndex:-1,get children(){return e.t("provider.connect.opencodeZen.visit.link")}}),null),o(z,()=>e.t("provider.connect.opencodeZen.visit.suffix"),null),h}}),t(P,{when:!0,get children(){var h=Se();return o(h,()=>e.t("provider.connect.apiKey.description",{provider:_().name})),h}})]}}),v),v.addEventListener("submit",i),o(v,t(q,{autofocus:!0,type:"text",get label(){return e.t("provider.connect.apiKey.label",{provider:_().name})},get placeholder(){return e.t("provider.connect.apiKey.placeholder")},name:"apiKey",get value(){return r.value},onChange:h=>n("value",h),get validationState(){return r.error?"invalid":void 0},get error(){return r.error}}),null),o(v,t(W,{class:"w-auto",type:"submit",size:"large",variant:"primary",get children(){return e.t("common.continue")}}),null),x})()}function G(){const[r,n]=ne({value:"",error:void 0});async function i(x){x.preventDefault();const v=x.currentTarget,b=new FormData(v).get("code");if(!b?.trim()){n("error",e.t("provider.connect.oauth.code.required"));return}n("error",void 0);const E=await S.client.provider.oauth.callback({providerID:l.provider,method:y.methodIndex,code:b}).then(z=>z.error?{ok:!1,error:z.error}:{ok:!0}).catch(z=>({ok:!1,error:z}));if(E.ok){await V();return}n("error",c(E.error,e.t("provider.connect.oauth.code.invalid")))}return(()=>{var x=tr(),v=x.firstChild,h=v.nextSibling;return o(v,()=>e.t("provider.connect.oauth.code.visit.prefix"),null),o(v,t(le,{get href(){return y.authorization.url},get children(){return e.t("provider.connect.oauth.code.visit.link")}}),null),o(v,()=>e.t("provider.connect.oauth.code.visit.suffix",{provider:_().name}),null),h.addEventListener("submit",i),o(h,t(q,{autofocus:!0,type:"text",get label(){return e.t("provider.connect.oauth.code.label",{method:F()?.label??""})},get placeholder(){return e.t("provider.connect.oauth.code.placeholder")},name:"code",get value(){return r.value},onChange:b=>n("value",b),get validationState(){return r.error?"invalid":void 0},get error(){return r.error}}),null),o(h,t(W,{class:"w-auto",type:"submit",size:"large",variant:"primary",get children(){return e.t("common.continue")}}),null),x})()}function U(){const r=j(()=>{const n=y.authorization?.instructions;return n?.includes(":")?n.split(":")[1]?.trim():n});return Ge(()=>{(async()=>{const n=await S.client.provider.oauth.callback({providerID:l.provider,method:y.methodIndex}).then(i=>i.error?{ok:!1,error:i.error}:{ok:!0}).catch(i=>({ok:!1,error:i}));if(s.value){if(!n.ok){const i=c(n.error,e.t("common.requestFailed"));C({type:"auth.error",error:i});return}await V()}})()}),(()=>{var n=or(),i=n.firstChild,x=i.nextSibling,v=x.firstChild;return o(i,()=>e.t("provider.connect.oauth.auto.visit.prefix"),null),o(i,t(le,{get href(){return y.authorization.url},get children(){return e.t("provider.connect.oauth.auto.visit.link")}}),null),o(i,()=>e.t("provider.connect.oauth.auto.visit.suffix",{provider:_().name}),null),o(n,t(q,{get label(){return e.t("provider.connect.oauth.auto.confirmationCode")},class:"font-mono",get value(){return r()},readOnly:!0,copyable:!0}),x),o(x,t(ce,{}),v),o(v,()=>e.t("provider.connect.status.waiting")),n})()}return t(_e,{get title(){return t(ae,{tabIndex:-1,icon:"arrow-left",variant:"ghost",onClick:Z,get"aria-label"(){return e.t("common.goBack")}})},get children(){var r=nr(),n=r.firstChild,i=n.firstChild,x=n.nextSibling,v=x.firstChild;return o(n,t(ye,{get id(){return l.provider},class:"size-5 shrink-0 icon-strong-base"}),i),o(i,t(ee,{get children(){return[t(P,{get when(){return me(()=>l.provider==="anthropic")()&&F()?.label?.toLowerCase().includes("max")},get children(){return e.t("provider.connect.title.anthropicProMax")}}),t(P,{when:!0,get children(){return e.t("provider.connect.title",{provider:_().name})}})]}})),v.$$keydown=L,o(v,t(ee,{get children(){return[t(P,{get when(){return B()},get children(){var h=ve(),b=h.firstChild,E=b.firstChild;return o(b,t(ce,{}),E),o(E,()=>e.t("provider.connect.status.inProgress")),h}}),t(P,{get when(){return y.methodIndex===void 0},get children(){return t(se,{})}}),t(P,{get when(){return y.state==="pending"},get children(){var h=ve(),b=h.firstChild,E=b.firstChild;return o(b,t(ce,{}),E),o(E,()=>e.t("provider.connect.status.inProgress")),h}}),t(P,{get when(){return y.state==="prompt"},get children(){return t(H,{})}}),t(P,{get when(){return y.state==="error"},get children(){var h=ve(),b=h.firstChild,E=b.firstChild;return o(b,t(Ve,{name:"circle-ban-sign",class:"text-icon-critical-base"}),E),o(E,()=>e.t("provider.connect.status.failed",{error:y.error??""})),h}}),t(P,{get when(){return F()?.type==="api"},get children(){return t(f,{})}}),t(P,{get when(){return F()?.type==="oauth"},get children(){return t(ee,{get children(){return[t(P,{get when(){return y.authorization?.method==="code"},get children(){return t(G,{})}}),t(P,{get when(){return y.authorization?.method==="auto"},get children(){return t(U,{})}})]}})}})]}})),ge(()=>v.autofocus=y.methodIndex===void 0?!0:void 0),r}})}Ee(["keydown"]);const ar=/^[a-z0-9][a-z0-9-_]*$/,lr="@ai-sdk/openai-compatible";function sr(l){const I=l.form.providerID.trim(),d=l.form.name.trim(),S=l.form.baseURL.trim(),e=l.form.apiKey.trim(),g=e.match(/^\{env:([^}]+)\}$/)?.[1]?.trim(),w=e&&!g?e:void 0,s=I?ar.test(I)?void 0:l.t("provider.custom.error.providerID.format"):l.t("provider.custom.error.providerID.required"),u=d?void 0:l.t("provider.custom.error.name.required"),_=S?/^https?:\/\//.test(S)?void 0:l.t("provider.custom.error.baseURL.format"):l.t("provider.custom.error.baseURL.required"),R=l.disabledProviders.includes(I),A=s?void 0:l.existingProviderIDs.has(I)&&!R?l.t("provider.custom.error.providerID.exists"):void 0,B=new Set,M=l.form.models.map(p=>{const L=p.id.trim(),O=L?B.has(L)?l.t("provider.custom.error.duplicate"):(()=>{B.add(L)})():l.t("provider.custom.error.required"),V=p.name.trim()?void 0:l.t("provider.custom.error.required");return{id:O,name:V}}),y=M.every(p=>!p.id&&!p.name),J=Object.fromEntries(l.form.models.map(p=>[p.id.trim(),{name:p.name.trim()}])),C=new Set,F=l.form.headers.map(p=>{const L=p.key.trim(),O=p.value.trim();if(!L&&!O)return{};const V=L?C.has(L.toLowerCase())?l.t("provider.custom.error.duplicate"):(()=>{C.add(L.toLowerCase())})():l.t("provider.custom.error.required"),Z=O?void 0:l.t("provider.custom.error.required");return{key:V,value:Z}}),a=F.every(p=>!p.key&&!p.value),c=Object.fromEntries(l.form.headers.map(p=>({key:p.key.trim(),value:p.value.trim()})).filter(p=>!!p.key&&!!p.value).map(p=>[p.key,p.value])),$={providerID:s??A,name:u,baseURL:_};return!s&&!A&&!u&&!_&&y&&a?{err:$,models:M,headers:F,result:{providerID:I,name:d,key:w,config:{npm:lr,name:d,...g?{env:[g]}:{},options:{baseURL:S,...Object.keys(c).length?{headers:c}:{}},models:J}}}:{err:$,models:M,headers:F}}let dr=0;const Re=()=>`row-${dr++}`,Ce=()=>({row:Re(),id:"",name:"",err:{}}),De=()=>({row:Re(),key:"",value:"",err:{}});var cr=D('<div class="flex flex-col gap-6 px-2.5 pb-3 overflow-y-auto max-h-[60vh]"><div class="px-2.5 flex gap-4 items-center"><div class="text-16-medium text-text-strong"></div></div><form class="px-2.5 pb-6 flex flex-col gap-6"><p class="text-14-regular text-text-base"></p><div class="flex flex-col gap-4"></div><div class="flex flex-col gap-3"><label class="text-12-medium text-text-weak"></label></div><div class="flex flex-col gap-3"><label class="text-12-medium text-text-weak">'),Ie=D('<div class="flex gap-2 items-start"><div class=flex-1></div><div class=flex-1>');function ur(l){const I=xe(),d=Pe(),S=ze(),e=be(),[g,w]=ne({providerID:"",name:"",baseURL:"",apiKey:"",models:[Ce()],headers:[De()],err:{}}),s=()=>{if(l.back==="close"){I.close();return}I.show(()=>t(Me,{}))},u=()=>{w("models",ie(a=>{a.push(Ce())}))},_=a=>{g.models.length<=1||w("models",ie(c=>{c.splice(a,1)}))},R=()=>{w("headers",ie(a=>{a.push(De())}))},A=a=>{g.headers.length<=1||w("headers",ie(c=>{c.splice(a,1)}))},B=(a,c)=>{w(a,c),a!=="apiKey"&&w("err",a,void 0)},M=(a,c,$)=>{ue(()=>{w("models",a,c,$),w("models",a,"err",c,void 0)})},y=(a,c,$)=>{ue(()=>{w("headers",a,c,$),w("headers",a,"err",c,void 0)})},J=()=>{const a=sr({form:g,t:e.t,disabledProviders:d.data.config.disabled_providers??[],existingProviderIDs:new Set(d.data.provider.all.map(c=>c.id))});return ue(()=>{w("err",a.err),a.models.forEach((c,$)=>w("models",$,"err",c)),a.headers.forEach((c,$)=>w("headers",$,"err",c))}),a.result},C=Ze(()=>({mutationFn:async a=>{const $=(d.data.config.disabled_providers??[]).filter(H=>H!==a.providerID);return a.key&&await S.client.auth.set({providerID:a.providerID,auth:{type:"api",key:a.key}}),await d.updateConfig({provider:{[a.providerID]:a.config},disabled_providers:$}),a},onSuccess:a=>{I.close(),he({variant:"success",icon:"circle-check",title:e.t("provider.connect.toast.connected.title",{provider:a.name}),description:e.t("provider.connect.toast.connected.description",{provider:a.name})})},onError:a=>{const c=a instanceof Error?a.message:String(a);he({title:e.t("common.requestFailed"),description:c})}})),F=a=>{if(a.preventDefault(),C.isPending)return;const c=J();c&&C.mutate(c)};return t(_e,{get title(){return t(ae,{tabIndex:-1,icon:"arrow-left",variant:"ghost",onClick:s,get"aria-label"(){return e.t("common.goBack")}})},transition:!0,get children(){var a=cr(),c=a.firstChild,$=c.firstChild,H=c.nextSibling,p=H.firstChild,L=p.nextSibling,O=L.nextSibling,V=O.firstChild,Z=O.nextSibling,se=Z.firstChild;return o(c,t(ye,{id:"synthetic",class:"size-5 shrink-0 icon-strong-base"}),$),o($,()=>e.t("provider.custom.title")),H.addEventListener("submit",F),o(p,()=>e.t("provider.custom.description.prefix"),null),o(p,t(le,{href:"https://opencode.ai/docs/providers/#custom-provider",tabIndex:-1,get children(){return e.t("provider.custom.description.link")}}),null),o(p,()=>e.t("provider.custom.description.suffix"),null),o(L,t(q,{autofocus:!0,get label(){return e.t("provider.custom.field.providerID.label")},get placeholder(){return e.t("provider.custom.field.providerID.placeholder")},get description(){return e.t("provider.custom.field.providerID.description")},get value(){return g.providerID},onChange:f=>B("providerID",f),get validationState(){return g.err.providerID?"invalid":void 0},get error(){return g.err.providerID}}),null),o(L,t(q,{get label(){return e.t("provider.custom.field.name.label")},get placeholder(){return e.t("provider.custom.field.name.placeholder")},get value(){return g.name},onChange:f=>B("name",f),get validationState(){return g.err.name?"invalid":void 0},get error(){return g.err.name}}),null),o(L,t(q,{get label(){return e.t("provider.custom.field.baseURL.label")},get placeholder(){return e.t("provider.custom.field.baseURL.placeholder")},get value(){return g.baseURL},onChange:f=>B("baseURL",f),get validationState(){return g.err.baseURL?"invalid":void 0},get error(){return g.err.baseURL}}),null),o(L,t(q,{get label(){return e.t("provider.custom.field.apiKey.label")},get placeholder(){return e.t("provider.custom.field.apiKey.placeholder")},get description(){return e.t("provider.custom.field.apiKey.description")},get value(){return g.apiKey},onChange:f=>B("apiKey",f)}),null),o(V,()=>e.t("provider.custom.models.label")),o(O,t($e,{get each(){return g.models},children:(f,G)=>(()=>{var U=Ie(),r=U.firstChild,n=r.nextSibling;return o(r,t(q,{get label(){return e.t("provider.custom.models.id.label")},hideLabel:!0,get placeholder(){return e.t("provider.custom.models.id.placeholder")},get value(){return f.id},onChange:i=>M(G(),"id",i),get validationState(){return f.err.id?"invalid":void 0},get error(){return f.err.id}})),o(n,t(q,{get label(){return e.t("provider.custom.models.name.label")},hideLabel:!0,get placeholder(){return e.t("provider.custom.models.name.placeholder")},get value(){return f.name},onChange:i=>M(G(),"name",i),get validationState(){return f.err.name?"invalid":void 0},get error(){return f.err.name}})),o(U,t(ae,{type:"button",icon:"trash",variant:"ghost",class:"mt-1.5",onClick:()=>_(G()),get disabled(){return g.models.length<=1},get"aria-label"(){return e.t("provider.custom.models.remove")}}),null),ge(()=>ke(U,"data-row",f.row)),U})()}),null),o(O,t(W,{type:"button",size:"small",variant:"ghost",icon:"plus-small",onClick:u,class:"self-start",get children(){return e.t("provider.custom.models.add")}}),null),o(se,()=>e.t("provider.custom.headers.label")),o(Z,t($e,{get each(){return g.headers},children:(f,G)=>(()=>{var U=Ie(),r=U.firstChild,n=r.nextSibling;return o(r,t(q,{get label(){return e.t("provider.custom.headers.key.label")},hideLabel:!0,get placeholder(){return e.t("provider.custom.headers.key.placeholder")},get value(){return f.key},onChange:i=>y(G(),"key",i),get validationState(){return f.err.key?"invalid":void 0},get error(){return f.err.key}})),o(n,t(q,{get label(){return e.t("provider.custom.headers.value.label")},hideLabel:!0,get placeholder(){return e.t("provider.custom.headers.value.placeholder")},get value(){return f.value},onChange:i=>y(G(),"value",i),get validationState(){return f.err.value?"invalid":void 0},get error(){return f.err.value}})),o(U,t(ae,{type:"button",icon:"trash",variant:"ghost",class:"mt-1.5",onClick:()=>A(G()),get disabled(){return g.headers.length<=1},get"aria-label"(){return e.t("provider.custom.headers.remove")}}),null),ge(()=>ke(U,"data-row",f.row)),U})()}),null),o(Z,t(W,{type:"button",size:"small",variant:"ghost",icon:"plus-small",onClick:R,class:"self-start",get children(){return e.t("provider.custom.headers.add")}}),null),o(H,t(W,{class:"w-auto self-start",type:"submit",size:"large",variant:"primary",get disabled(){return C.isPending},get children(){return me(()=>!!C.isPending)()?e.t("common.saving"):e.t("common.submit")}}),null),a}})}var Le=D('<div class="text-14-regular text-text-weak">'),pr=D('<div class="px-1.25 w-full flex items-center gap-x-3"><span>');const oe="_custom",Me=()=>{const l=xe(),I=Ke(),d=be(),S=()=>d.t("dialog.provider.group.popular"),e=()=>d.t("dialog.provider.group.other"),g=()=>d.t("settings.providers.tag.custom"),w=s=>{if(s==="anthropic")return d.t("dialog.provider.anthropic.note");if(s==="openai")return d.t("dialog.provider.openai.note");if(s.startsWith("github-copilot"))return d.t("dialog.provider.copilot.note");if(s==="opencode-go")return d.t("dialog.provider.opencodeGo.tagline")};return t(_e,{get title(){return d.t("command.provider.connect")},transition:!0,get children(){return t(fe,{get search(){return{placeholder:d.t("dialog.provider.search.placeholder"),autofocus:!0}},get emptyMessage(){return d.t("dialog.provider.empty")},activeIcon:"plus-small",key:s=>s?.id,items:()=>(d.locale(),[{id:oe,name:g()},...I.all()]),filterKeys:["id","name"],groupBy:s=>te.includes(s.id)?S():e(),sortBy:(s,u)=>s.id===oe?-1:u.id===oe?1:te.includes(s.id)&&te.includes(u.id)?te.indexOf(s.id)-te.indexOf(u.id):s.name.localeCompare(u.name),sortGroupsBy:(s,u)=>{const _=S();return s.category===_&&u.category!==_?-1:u.category===_&&s.category!==_?1:0},onSelect:s=>{if(s){if(s.id===oe){l.show(()=>t(ur,{back:"providers"}));return}l.show(()=>t(ir,{get provider(){return s.id}}))}},children:s=>(()=>{var u=pr(),_=u.firstChild;return o(u,t(ye,{"data-slot":"list-item-extra-icon",get id(){return s.id}}),_),o(_,()=>s.name),o(u,t(re,{get when(){return s.id==="opencode"},get children(){var R=Le();return o(R,()=>d.t("dialog.provider.opencode.tagline")),R}}),null),o(u,t(re,{get when(){return s.id===oe},get children(){return t(pe,{get children(){return d.t("settings.providers.tag.custom")}})}}),null),o(u,t(re,{get when(){return s.id==="opencode"},get children(){return t(pe,{get children(){return d.t("dialog.provider.tag.recommended")}})}}),null),o(u,t(re,{get when(){return w(s.id)},children:R=>(()=>{var A=Le();return o(A,R),A})()}),null),o(u,t(re,{get when(){return s.id==="opencode-go"},get children(){return t(pe,{get children(){return d.t("dialog.provider.tag.recommended")}})}}),null),u})()})}})},vr=Object.freeze(Object.defineProperty({__proto__:null,DialogSelectProvider:Me},Symbol.toStringTag,{value:"Module"}));export{ir as D,le as L,ur as a,Me as b,vr as d};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Q as he,b as me,R as fe,u as O,f as K,U as Z,k as pe,z as Q,V as z,W as f,h as x,l as X,o as Se,i as m,n,v as Y,p as w,E as $,I as we,X as S,B as G,D as ye,j as ke,Y as be,t as A,T as N,y as xe}from"./index-BCyEiTcs.js";import{L as Ce}from"./list-D_BiIIUu.js";import{S as _e,a as De}from"./server-row-CKbHgJVT.js";var Pe=A('<div class=px-5><div class="bg-surface-base rounded-md p-5 flex flex-col gap-3"><div class="flex-1 min-w-0 [&_[data-slot=input-wrapper]]:relative"></div><p class="text-12-regular text-text-weak leading-snug">'),$e=A('<div class="flex items-center gap-2 -ml-2"><span>'),Ie=A('<p class="px-5 text-13-regular text-text-weak">'),Ee=A('<div class="flex flex-1 min-h-0 flex-col gap-2"><div class="shrink-0 px-5 pb-5">'),Ae=A('<div class="flex items-center gap-3 min-w-0 flex-1 w-full group/item"><div class="flex flex-col h-full items-start w-5"></div><div class="flex items-center justify-center gap-4 pl-4">'),Fe=A('<span class="text-text-base bg-surface-base text-14-regular px-1.5 rounded-xs">');const R="";function J(i,l){xe({variant:"error",title:i.t("common.requestFailed"),description:l instanceof Error?l.message:String(l)})}function Me(){const i=K(),l=O(),[c,u]=ke(async()=>{try{const h=await l.getDefaultServer?.();return h||null}catch(h){return J(i,h),null}},{initialValue:null}),s=x(()=>!!l.getDefaultServer&&!!l.setDefaultServer);return{defaultKey:c,canDefault:s,setDefault:async h=>{try{await l.setDefaultServer?.(h),u.mutate(h)}catch(C){J(i,C)}}}}function Ne(){const i=Z(),l=u=>{const s=z(u);if(!s)return!1;const v=s.replace(/^https?:\/\//,"").split("/")[0];return v?v.includes("localhost")||v.startsWith("127.0.0.1")?!0:v.includes(".")||v.includes(":"):!1};return{previewStatus:async(u,s,v,h)=>{if(h(void 0),!l(u))return;const C=z(u);if(!C)return;const y={url:C};s&&(y.username=s),v&&(y.password=v);const F=await i(y);h(F.healthy)}}}function ze(i){const l=K(),c=u=>{if(u.stopPropagation(),u.key==="Escape"){u.preventDefault(),i.onBack();return}u.key!=="Enter"||u.isComposing||(u.preventDefault(),i.onSubmit())};return(()=>{var u=Pe(),s=u.firstChild,v=s.firstChild,h=v.nextSibling;return m(v,n(N,{type:"text",get label(){return l.t("dialog.server.add.url")},get placeholder(){return i.placeholder},get value(){return i.value},autofocus:!0,get validationState(){return i.error?"invalid":"valid"},get error(){return i.error},get disabled(){return i.busy},get onChange(){return i.onChange},onKeyDown:c})),m(s,n(N,{type:"text",get label(){return l.t("dialog.server.add.name")},get placeholder(){return l.t("dialog.server.add.namePlaceholder")},get value(){return i.name},get disabled(){return i.busy},get onChange(){return i.onNameChange},onKeyDown:c}),h),m(h,()=>l.t("dialog.server.add.auth.hint")),m(s,n(N,{type:"password",get label(){return l.t("dialog.server.add.password")},get placeholder(){return l.t("dialog.server.add.passwordPlaceholder")},get value(){return i.password},get disabled(){return i.busy},get onChange(){return i.onPasswordChange},onKeyDown:c}),null),m(s,n(N,{type:"text",get label(){return l.t("dialog.server.add.username")},get placeholder(){return l.t("dialog.server.add.usernamePlaceholder")},get value(){return i.username},get disabled(){return i.busy},get onChange(){return i.onUsernameChange},onKeyDown:c}),null),u})()}function Re(){const i=he(),l=me(),c=fe(),u=O(),s=K(),{defaultKey:v,canDefault:h,setDefault:C}=Me(),{previewStatus:y}=Ne(),F=Z(),[r,d]=pe({status:{},addServer:{url:"",name:"",username:R,password:"",error:"",showForm:!1,status:void 0},editServer:{id:void 0,value:"",name:"",username:"",password:"",error:"",status:void 0}}),M=()=>{d("addServer",{url:"",name:"",username:R,password:"",error:"",showForm:!1,status:void 0})},I=()=>{d("editServer",{id:void 0,value:"",name:"",username:"",password:"",error:"",status:void 0})},_=Q(()=>({mutationFn:async e=>{const t=z(e);if(!t){M();return}const a={type:"http",http:{url:t}};if(r.addServer.name.trim()&&(a.displayName=r.addServer.name.trim()),r.addServer.password&&(a.http.password=r.addServer.password),r.addServer.password&&r.addServer.username&&(a.http.username=r.addServer.username),!(await F(a.http)).healthy){d("addServer",{error:s.t("dialog.server.add.error")});return}M(),await q(a,!0)}})),D=Q(()=>({mutationFn:async e=>{if(e.original.type!=="http")return;const t=z(e.value);if(!t){I();return}const a=r.editServer.name.trim()||void 0,g=r.editServer.username||void 0,o=r.editServer.password||void 0,k=e.original.displayName;if(t===e.original.http.url&&a===k&&g===e.original.http.username&&o===e.original.http.password){I();return}const b={type:"http",displayName:a,http:{url:t,username:g,password:o}};if(!(await F(b.http)).healthy){d("editServer",{error:s.t("dialog.server.add.error")});return}t===e.original.http.url?c.add(b):ee(e.original,b),I()}})),ee=(e,t)=>{const a=c.key,g=c.add(t);if(!g)return;const o=a===f.key(e)?f.key(g):a;o&&c.setActive(o),c.remove(f.key(e))},E=x(()=>{const e=c.current,t=c.list;return e?t.includes(e)?[e,...t.filter(a=>a!==e)]:[e,...t]:t}),T=x(()=>E().find(e=>f.key(e)===c.key)??E()[0]),re=x(()=>{const e=E().filter(o=>o.type==="http"||o.type==="sidecar");if(!e.length)return e;const t=T(),a=new Map(e.map((o,k)=>[o,k])),g=o=>o?.healthy===!0?0:o?.healthy===!1?2:1;return e.slice().sort((o,k)=>{if(o===t)return-1;if(k===t)return 1;const b=g(r.status[f.key(o)])-g(r.status[f.key(k)]);return b!==0?b:(a.get(o)??0)-(a.get(k)??0)})});async function H(){const e={};await Promise.all(E().map(async t=>{e[f.key(t)]=await F(t.http)})),d("status",be(e))}X(()=>{E(),H();const e=setInterval(H,1e4);Se(()=>clearInterval(e))});async function q(e,t){if(!(!t&&r.status[f.key(e)]?.healthy===!1)){if(l.close(),t&&e.type==="http"){c.add(e),i("/");return}i("/"),queueMicrotask(()=>c.setActive(f.key(e)))}}const te=e=>{_.isPending||(d("addServer",{url:e,error:""}),y(e,r.addServer.username,r.addServer.password,t=>d("addServer",{status:t})))},ae=e=>{_.isPending||d("addServer",{name:e,error:""})},ne=e=>{_.isPending||(d("addServer",{username:e,error:""}),y(r.addServer.url,e,r.addServer.password,t=>d("addServer",{status:t})))},se=e=>{_.isPending||(d("addServer",{password:e,error:""}),y(r.addServer.url,r.addServer.username,e,t=>d("addServer",{status:t})))},ie=e=>{D.isPending||(d("editServer",{value:e,error:""}),y(e,r.editServer.username,r.editServer.password,t=>d("editServer",{status:t})))},de=e=>{D.isPending||d("editServer",{name:e,error:""})},le=e=>{D.isPending||(d("editServer",{username:e,error:""}),y(r.editServer.value,e,r.editServer.password,t=>d("editServer",{status:t})))},oe=e=>{D.isPending||(d("editServer",{password:e,error:""}),y(r.editServer.value,r.editServer.username,e,t=>d("editServer",{status:t})))},U=x(()=>r.editServer.id?"edit":r.addServer.showForm?"add":"list"),j=x(()=>{if(r.editServer.id)return E().find(e=>e.type==="http"&&e.http.url===r.editServer.id)}),V=()=>{M(),I()},ue=()=>{I(),d("addServer",{showForm:!0,url:"",name:"",username:R,password:"",error:"",status:void 0})},ce=e=>{M(),d("editServer",{id:e.http.url,value:e.http.url,name:e.displayName??"",username:e.http.username??"",password:e.http.password??"",error:"",status:r.status[f.key(e)]?.healthy})},W=()=>{if(U()==="add"){if(_.isPending)return;d("addServer",{error:""}),_.mutate(r.addServer.url);return}const e=j();e&&(D.isPending||(d("editServer",{error:""}),D.mutate({original:e,value:r.editServer.value})))},L=x(()=>U()!=="list"),p=x(()=>U()==="add"),B=x(()=>p()?_.isPending:D.isPending),ge=x(()=>L()?(()=>{var e=$e(),t=e.firstChild;return m(e,n(Y,{icon:"arrow-left",variant:"ghost",onClick:V,get"aria-label"(){return s.t("common.goBack")}}),t),m(t,(()=>{var a=w(()=>!!p());return()=>a()?s.t("dialog.server.add.title"):s.t("dialog.server.edit.title")})()),e})():s.t("dialog.server.title"));X(()=>{r.editServer.id&&(j()||I())});async function ve(e){await u.sshDisconnect?.(e),c.remove(e),await u.getDefaultServer?.()===e&&u.setDefaultServer?.(null)}return n(ye,{get title(){return ge()},get children(){var e=Ee(),t=e.firstChild;return m(e,n($,{get when(){return!L()},get fallback(){return n(ze,{get value(){return w(()=>!!p())()?r.addServer.url:r.editServer.value},get name(){return w(()=>!!p())()?r.addServer.name:r.editServer.name},get username(){return w(()=>!!p())()?r.addServer.username:r.editServer.username},get password(){return w(()=>!!p())()?r.addServer.password:r.editServer.password},get placeholder(){return s.t("dialog.server.add.placeholder")},get busy(){return B()},get error(){return w(()=>!!p())()?r.addServer.error:r.editServer.error},get status(){return w(()=>!!p())()?r.addServer.status:r.editServer.status},get onChange(){return p()?te:ie},get onNameChange(){return p()?ae:de},get onUsernameChange(){return p()?ne:le},get onPasswordChange(){return p()?se:oe},onSubmit:W,onBack:V})},get children(){return[(()=>{var a=Ie();return m(a,()=>s.t("dialog.server.description")),a})(),n(Ce,{get search(){return{placeholder:s.t("dialog.server.search.placeholder"),autofocus:!1}},noInitialSelection:!0,get emptyMessage(){return s.t("dialog.server.empty")},items:re,key:a=>a.http.url,onSelect:a=>{a&&q(a)},divider:!0,class:"flex-1 min-h-0 px-5 [&_[data-slot=list-search-wrapper]]:w-full [&_[data-slot=list-scroll]]:flex-1 [&_[data-slot=list-scroll]]:overflow-y-auto [&_[data-slot=list-items]]:bg-surface-base [&_[data-slot=list-items]]:rounded-md [&_[data-slot=list-item]]:min-h-14 [&_[data-slot=list-item]]:p-3 [&_[data-slot=list-item]]:!bg-transparent",children:a=>{const g=f.key(a);return(()=>{var o=Ae(),k=o.firstChild,b=k.nextSibling;return m(k,n(_e,{get health(){return r.status[g]}})),m(o,n(De,{conn:a,get dimmed(){return r.status[g]?.healthy===!1},get status(){return r.status[g]},class:"flex items-center gap-3 min-w-0 flex-1",get badge(){return n($,{get when(){return v()===f.key(a)},get children(){var P=Fe();return m(P,()=>s.t("dialog.server.status.default")),P}})},showCredentials:!0}),b),m(b,n($,{get when(){return f.key(T())===g},get children(){return n(we,{name:"check",class:"h-6"})}}),null),m(b,n($,{get when(){return a.type==="http"},get children(){return n(S,{get children(){return[n(S.Trigger,{as:Y,icon:"dot-grid",variant:"ghost",class:"shrink-0 size-8 hover:bg-surface-base-hover data-[expanded]:bg-surface-base-active",onClick:P=>P.stopPropagation(),onPointerDown:P=>P.stopPropagation()}),n(S.Portal,{get children(){return n(S.Content,{class:"mt-1",get children(){return[n(S.Item,{onSelect:()=>{a.type==="http"&&ce(a)},get children(){return n(S.ItemLabel,{get children(){return s.t("dialog.server.menu.edit")}})}}),n($,{get when(){return w(()=>!!h())()&&v()!==g},get children(){return n(S.Item,{onSelect:()=>C(g),get children(){return n(S.ItemLabel,{get children(){return s.t("dialog.server.menu.default")}})}})}}),n($,{get when(){return w(()=>!!h())()&&v()===g},get children(){return n(S.Item,{onSelect:()=>C(null),get children(){return n(S.ItemLabel,{get children(){return s.t("dialog.server.menu.defaultRemove")}})}})}}),n(S.Separator,{}),n(S.Item,{onSelect:()=>ve(f.key(a)),class:"text-text-on-critical-base hover:bg-surface-critical-weak",get children(){return n(S.ItemLabel,{get children(){return s.t("dialog.server.menu.delete")}})}})]}})}})]}})}}),null),o})()}})]}}),t),m(t,n($,{get when(){return L()},get fallback(){return n(G,{variant:"secondary",icon:"plus-small",size:"large",onClick:ue,class:"py-1.5 pl-1.5 pr-3 flex items-center gap-1.5",get children(){return s.t("dialog.server.add.button")}})},get children(){return n(G,{variant:"primary",size:"large",onClick:W,get disabled(){return B()},class:"px-3 py-1.5",get children(){return w(()=>!!B())()?s.t("dialog.server.add.checking"):w(()=>!!p())()?s.t("dialog.server.add.button"):s.t("common.save")}})}})),e}})}export{Re as DialogSelectServer};
|
|
1
|
+
import{Q as he,b as me,R as fe,u as O,f as K,U as Z,k as pe,z as Q,V as z,W as f,h as x,l as X,o as Se,i as m,n,v as Y,p as w,E as $,I as we,X as S,B as G,D as ye,j as ke,Y as be,t as A,T as N,y as xe}from"./index-D7foRDPi.js";import{L as Ce}from"./list-Cb_PHmYm.js";import{S as _e,a as De}from"./server-row-CaCE3v0I.js";var Pe=A('<div class=px-5><div class="bg-surface-base rounded-md p-5 flex flex-col gap-3"><div class="flex-1 min-w-0 [&_[data-slot=input-wrapper]]:relative"></div><p class="text-12-regular text-text-weak leading-snug">'),$e=A('<div class="flex items-center gap-2 -ml-2"><span>'),Ie=A('<p class="px-5 text-13-regular text-text-weak">'),Ee=A('<div class="flex flex-1 min-h-0 flex-col gap-2"><div class="shrink-0 px-5 pb-5">'),Ae=A('<div class="flex items-center gap-3 min-w-0 flex-1 w-full group/item"><div class="flex flex-col h-full items-start w-5"></div><div class="flex items-center justify-center gap-4 pl-4">'),Fe=A('<span class="text-text-base bg-surface-base text-14-regular px-1.5 rounded-xs">');const R="";function J(i,l){xe({variant:"error",title:i.t("common.requestFailed"),description:l instanceof Error?l.message:String(l)})}function Me(){const i=K(),l=O(),[c,u]=ke(async()=>{try{const h=await l.getDefaultServer?.();return h||null}catch(h){return J(i,h),null}},{initialValue:null}),s=x(()=>!!l.getDefaultServer&&!!l.setDefaultServer);return{defaultKey:c,canDefault:s,setDefault:async h=>{try{await l.setDefaultServer?.(h),u.mutate(h)}catch(C){J(i,C)}}}}function Ne(){const i=Z(),l=u=>{const s=z(u);if(!s)return!1;const v=s.replace(/^https?:\/\//,"").split("/")[0];return v?v.includes("localhost")||v.startsWith("127.0.0.1")?!0:v.includes(".")||v.includes(":"):!1};return{previewStatus:async(u,s,v,h)=>{if(h(void 0),!l(u))return;const C=z(u);if(!C)return;const y={url:C};s&&(y.username=s),v&&(y.password=v);const F=await i(y);h(F.healthy)}}}function ze(i){const l=K(),c=u=>{if(u.stopPropagation(),u.key==="Escape"){u.preventDefault(),i.onBack();return}u.key!=="Enter"||u.isComposing||(u.preventDefault(),i.onSubmit())};return(()=>{var u=Pe(),s=u.firstChild,v=s.firstChild,h=v.nextSibling;return m(v,n(N,{type:"text",get label(){return l.t("dialog.server.add.url")},get placeholder(){return i.placeholder},get value(){return i.value},autofocus:!0,get validationState(){return i.error?"invalid":"valid"},get error(){return i.error},get disabled(){return i.busy},get onChange(){return i.onChange},onKeyDown:c})),m(s,n(N,{type:"text",get label(){return l.t("dialog.server.add.name")},get placeholder(){return l.t("dialog.server.add.namePlaceholder")},get value(){return i.name},get disabled(){return i.busy},get onChange(){return i.onNameChange},onKeyDown:c}),h),m(h,()=>l.t("dialog.server.add.auth.hint")),m(s,n(N,{type:"password",get label(){return l.t("dialog.server.add.password")},get placeholder(){return l.t("dialog.server.add.passwordPlaceholder")},get value(){return i.password},get disabled(){return i.busy},get onChange(){return i.onPasswordChange},onKeyDown:c}),null),m(s,n(N,{type:"text",get label(){return l.t("dialog.server.add.username")},get placeholder(){return l.t("dialog.server.add.usernamePlaceholder")},get value(){return i.username},get disabled(){return i.busy},get onChange(){return i.onUsernameChange},onKeyDown:c}),null),u})()}function Re(){const i=he(),l=me(),c=fe(),u=O(),s=K(),{defaultKey:v,canDefault:h,setDefault:C}=Me(),{previewStatus:y}=Ne(),F=Z(),[r,d]=pe({status:{},addServer:{url:"",name:"",username:R,password:"",error:"",showForm:!1,status:void 0},editServer:{id:void 0,value:"",name:"",username:"",password:"",error:"",status:void 0}}),M=()=>{d("addServer",{url:"",name:"",username:R,password:"",error:"",showForm:!1,status:void 0})},I=()=>{d("editServer",{id:void 0,value:"",name:"",username:"",password:"",error:"",status:void 0})},_=Q(()=>({mutationFn:async e=>{const t=z(e);if(!t){M();return}const a={type:"http",http:{url:t}};if(r.addServer.name.trim()&&(a.displayName=r.addServer.name.trim()),r.addServer.password&&(a.http.password=r.addServer.password),r.addServer.password&&r.addServer.username&&(a.http.username=r.addServer.username),!(await F(a.http)).healthy){d("addServer",{error:s.t("dialog.server.add.error")});return}M(),await q(a,!0)}})),D=Q(()=>({mutationFn:async e=>{if(e.original.type!=="http")return;const t=z(e.value);if(!t){I();return}const a=r.editServer.name.trim()||void 0,g=r.editServer.username||void 0,o=r.editServer.password||void 0,k=e.original.displayName;if(t===e.original.http.url&&a===k&&g===e.original.http.username&&o===e.original.http.password){I();return}const b={type:"http",displayName:a,http:{url:t,username:g,password:o}};if(!(await F(b.http)).healthy){d("editServer",{error:s.t("dialog.server.add.error")});return}t===e.original.http.url?c.add(b):ee(e.original,b),I()}})),ee=(e,t)=>{const a=c.key,g=c.add(t);if(!g)return;const o=a===f.key(e)?f.key(g):a;o&&c.setActive(o),c.remove(f.key(e))},E=x(()=>{const e=c.current,t=c.list;return e?t.includes(e)?[e,...t.filter(a=>a!==e)]:[e,...t]:t}),T=x(()=>E().find(e=>f.key(e)===c.key)??E()[0]),re=x(()=>{const e=E().filter(o=>o.type==="http"||o.type==="sidecar");if(!e.length)return e;const t=T(),a=new Map(e.map((o,k)=>[o,k])),g=o=>o?.healthy===!0?0:o?.healthy===!1?2:1;return e.slice().sort((o,k)=>{if(o===t)return-1;if(k===t)return 1;const b=g(r.status[f.key(o)])-g(r.status[f.key(k)]);return b!==0?b:(a.get(o)??0)-(a.get(k)??0)})});async function H(){const e={};await Promise.all(E().map(async t=>{e[f.key(t)]=await F(t.http)})),d("status",be(e))}X(()=>{E(),H();const e=setInterval(H,1e4);Se(()=>clearInterval(e))});async function q(e,t){if(!(!t&&r.status[f.key(e)]?.healthy===!1)){if(l.close(),t&&e.type==="http"){c.add(e),i("/");return}i("/"),queueMicrotask(()=>c.setActive(f.key(e)))}}const te=e=>{_.isPending||(d("addServer",{url:e,error:""}),y(e,r.addServer.username,r.addServer.password,t=>d("addServer",{status:t})))},ae=e=>{_.isPending||d("addServer",{name:e,error:""})},ne=e=>{_.isPending||(d("addServer",{username:e,error:""}),y(r.addServer.url,e,r.addServer.password,t=>d("addServer",{status:t})))},se=e=>{_.isPending||(d("addServer",{password:e,error:""}),y(r.addServer.url,r.addServer.username,e,t=>d("addServer",{status:t})))},ie=e=>{D.isPending||(d("editServer",{value:e,error:""}),y(e,r.editServer.username,r.editServer.password,t=>d("editServer",{status:t})))},de=e=>{D.isPending||d("editServer",{name:e,error:""})},le=e=>{D.isPending||(d("editServer",{username:e,error:""}),y(r.editServer.value,e,r.editServer.password,t=>d("editServer",{status:t})))},oe=e=>{D.isPending||(d("editServer",{password:e,error:""}),y(r.editServer.value,r.editServer.username,e,t=>d("editServer",{status:t})))},U=x(()=>r.editServer.id?"edit":r.addServer.showForm?"add":"list"),j=x(()=>{if(r.editServer.id)return E().find(e=>e.type==="http"&&e.http.url===r.editServer.id)}),V=()=>{M(),I()},ue=()=>{I(),d("addServer",{showForm:!0,url:"",name:"",username:R,password:"",error:"",status:void 0})},ce=e=>{M(),d("editServer",{id:e.http.url,value:e.http.url,name:e.displayName??"",username:e.http.username??"",password:e.http.password??"",error:"",status:r.status[f.key(e)]?.healthy})},W=()=>{if(U()==="add"){if(_.isPending)return;d("addServer",{error:""}),_.mutate(r.addServer.url);return}const e=j();e&&(D.isPending||(d("editServer",{error:""}),D.mutate({original:e,value:r.editServer.value})))},L=x(()=>U()!=="list"),p=x(()=>U()==="add"),B=x(()=>p()?_.isPending:D.isPending),ge=x(()=>L()?(()=>{var e=$e(),t=e.firstChild;return m(e,n(Y,{icon:"arrow-left",variant:"ghost",onClick:V,get"aria-label"(){return s.t("common.goBack")}}),t),m(t,(()=>{var a=w(()=>!!p());return()=>a()?s.t("dialog.server.add.title"):s.t("dialog.server.edit.title")})()),e})():s.t("dialog.server.title"));X(()=>{r.editServer.id&&(j()||I())});async function ve(e){await u.sshDisconnect?.(e),c.remove(e),await u.getDefaultServer?.()===e&&u.setDefaultServer?.(null)}return n(ye,{get title(){return ge()},get children(){var e=Ee(),t=e.firstChild;return m(e,n($,{get when(){return!L()},get fallback(){return n(ze,{get value(){return w(()=>!!p())()?r.addServer.url:r.editServer.value},get name(){return w(()=>!!p())()?r.addServer.name:r.editServer.name},get username(){return w(()=>!!p())()?r.addServer.username:r.editServer.username},get password(){return w(()=>!!p())()?r.addServer.password:r.editServer.password},get placeholder(){return s.t("dialog.server.add.placeholder")},get busy(){return B()},get error(){return w(()=>!!p())()?r.addServer.error:r.editServer.error},get status(){return w(()=>!!p())()?r.addServer.status:r.editServer.status},get onChange(){return p()?te:ie},get onNameChange(){return p()?ae:de},get onUsernameChange(){return p()?ne:le},get onPasswordChange(){return p()?se:oe},onSubmit:W,onBack:V})},get children(){return[(()=>{var a=Ie();return m(a,()=>s.t("dialog.server.description")),a})(),n(Ce,{get search(){return{placeholder:s.t("dialog.server.search.placeholder"),autofocus:!1}},noInitialSelection:!0,get emptyMessage(){return s.t("dialog.server.empty")},items:re,key:a=>a.http.url,onSelect:a=>{a&&q(a)},divider:!0,class:"flex-1 min-h-0 px-5 [&_[data-slot=list-search-wrapper]]:w-full [&_[data-slot=list-scroll]]:flex-1 [&_[data-slot=list-scroll]]:overflow-y-auto [&_[data-slot=list-items]]:bg-surface-base [&_[data-slot=list-items]]:rounded-md [&_[data-slot=list-item]]:min-h-14 [&_[data-slot=list-item]]:p-3 [&_[data-slot=list-item]]:!bg-transparent",children:a=>{const g=f.key(a);return(()=>{var o=Ae(),k=o.firstChild,b=k.nextSibling;return m(k,n(_e,{get health(){return r.status[g]}})),m(o,n(De,{conn:a,get dimmed(){return r.status[g]?.healthy===!1},get status(){return r.status[g]},class:"flex items-center gap-3 min-w-0 flex-1",get badge(){return n($,{get when(){return v()===f.key(a)},get children(){var P=Fe();return m(P,()=>s.t("dialog.server.status.default")),P}})},showCredentials:!0}),b),m(b,n($,{get when(){return f.key(T())===g},get children(){return n(we,{name:"check",class:"h-6"})}}),null),m(b,n($,{get when(){return a.type==="http"},get children(){return n(S,{get children(){return[n(S.Trigger,{as:Y,icon:"dot-grid",variant:"ghost",class:"shrink-0 size-8 hover:bg-surface-base-hover data-[expanded]:bg-surface-base-active",onClick:P=>P.stopPropagation(),onPointerDown:P=>P.stopPropagation()}),n(S.Portal,{get children(){return n(S.Content,{class:"mt-1",get children(){return[n(S.Item,{onSelect:()=>{a.type==="http"&&ce(a)},get children(){return n(S.ItemLabel,{get children(){return s.t("dialog.server.menu.edit")}})}}),n($,{get when(){return w(()=>!!h())()&&v()!==g},get children(){return n(S.Item,{onSelect:()=>C(g),get children(){return n(S.ItemLabel,{get children(){return s.t("dialog.server.menu.default")}})}})}}),n($,{get when(){return w(()=>!!h())()&&v()===g},get children(){return n(S.Item,{onSelect:()=>C(null),get children(){return n(S.ItemLabel,{get children(){return s.t("dialog.server.menu.defaultRemove")}})}})}}),n(S.Separator,{}),n(S.Item,{onSelect:()=>ve(f.key(a)),class:"text-text-on-critical-base hover:bg-surface-critical-weak",get children(){return n(S.ItemLabel,{get children(){return s.t("dialog.server.menu.delete")}})}})]}})}})]}})}}),null),o})()}})]}}),t),m(t,n($,{get when(){return L()},get fallback(){return n(G,{variant:"secondary",icon:"plus-small",size:"large",onClick:ue,class:"py-1.5 pl-1.5 pr-3 flex items-center gap-1.5",get children(){return s.t("dialog.server.add.button")}})},get children(){return n(G,{variant:"primary",size:"large",onClick:W,get disabled(){return B()},class:"px-3 py-1.5",get children(){return w(()=>!!B())()?s.t("dialog.server.add.checking"):w(()=>!!p())()?s.t("dialog.server.add.button"):s.t("common.save")}})}})),e}})}export{Re as DialogSelectServer};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{b as ce,c as ue,e as ge,f as me,R as he,k as pe,h as W,i as r,n as o,v as Q,p as x,z as I,y as k,a$ as fe,E as F,T as v,B as z,a9 as be,r as X,L as ve,X as _,D as ye,t as $}from"./index-D7foRDPi.js";import{L as xe}from"./list-Cb_PHmYm.js";import{S as ke}from"./switch-_MdIYlO4.js";function G(){return{name:"",host:"",hostName:"",username:"",remotePath:"",port:"",keyPath:"",authType:"config",options:"",submitCommand:"",submitWorkdir:"",environment:"",enabled:!0}}function _e(d){const n=d.split(`
|
|
2
|
+
`).map(c=>{const w=c.trim(),S=w.startsWith("#")?w.slice(1).trim():w;if(w.startsWith("#")&&!/^RemoteWorkDir\s+/i.test(S))return;const M=S.match(/^([A-Za-z][A-Za-z0-9]*)\s+(.+)$/);if(M)return[M[1].toLowerCase(),M[2].trim().replace(/^["']|["']$/g,"")]}).filter(c=>!!c),g=c=>n.find(w=>w[0]===c)?.[1],t=g("host"),D=g("identityfile"),i=new Set(["host","hostname","port","user","identityfile","remoteworkdir"]);return{name:t,host:t,hostName:g("hostname"),username:g("user"),remotePath:g("remoteworkdir"),port:g("port"),keyPath:D,authType:D?"key":void 0,options:n.filter(c=>!i.has(c[0])).map(c=>`${c[0]}=${c[1]}`).join(`
|
|
3
|
+
`)}}function we(d){const n=d.trim();return!!(!n||/^[a-zA-Z]:[\\/]/.test(n)||n.startsWith("\\\\")||n.startsWith("//"))}function V(d){if(!d.name.trim()||!d.host.trim()||!d.remotePath.trim())return"required";const n=Number(d.port.trim());if(d.port.trim()&&(!Number.isInteger(n)||n<1||n>65535))return"portInvalid"}function $e(d){return Object.fromEntries(d.split(`
|
|
4
|
+
`).map(n=>n.trim()).filter(Boolean).map(n=>{const g=n.indexOf("=");return g===-1?[n,""]:[n.slice(0,g).trim(),n.slice(g+1).trim()]}).filter(n=>n[0]))}function Pe(d){return Object.fromEntries(d.split(`
|
|
5
|
+
`).map(n=>n.trim()).filter(Boolean).map(n=>{const g=n.search(/[\s=]/);return g===-1?[n,""]:[n.slice(0,g).trim(),n.slice(g+1).replace(/^=\s*/,"").trim()]}).filter(n=>n[0]))}function Y(d){const n=Number(d.port.trim()),g=$e(d.environment),t=Pe(d.options);return{name:d.name.trim(),value:{enabled:d.enabled,host:d.host.trim(),hostName:d.hostName.trim()||void 0,port:Number.isFinite(n)&&n>0?n:void 0,username:d.username.trim()||void 0,remotePath:d.remotePath.trim(),options:Object.keys(t).length?t:void 0,auth:d.authType==="key"?{type:"key",keyPath:d.keyPath.trim()||void 0}:{type:d.authType},submit:d.submitCommand.trim()||d.submitWorkdir.trim()||Object.keys(g).length?{command:d.submitCommand.trim()||void 0,workdir:d.submitWorkdir.trim()||void 0,environment:Object.keys(g).length?g:void 0}:void 0}}}var Ce=$('<div class="flex items-center gap-2 -ml-2"><span>'),Se=$('<p class="text-11-regular text-text-critical-base leading-snug">'),Te=$('<div class="flex min-w-0 flex-col gap-1.5"><div class="grid min-w-0 grid-cols-[minmax(0,1fr)_auto] items-end gap-2"><label class=shrink-0><input type=file class=sr-only><span class="inline-flex h-8 cursor-pointer items-center whitespace-nowrap rounded-md border border-border-weak-base px-3 text-12-medium text-text-base hover:bg-surface-base-hover"></span></label></div><p class="text-11-regular text-text-weak leading-snug">'),Ee=$('<div class="flex h-full min-h-0 flex-col px-5 pb-5"><div class="min-h-0 flex-1 overflow-y-auto pr-1"><div class="bg-surface-base rounded-md p-5 flex flex-col gap-3"><div class="rounded-md border border-border-weak-base bg-surface-raised-base p-3 flex flex-col gap-3"></div><div class="grid grid-cols-2 gap-2 min-w-0"></div><div class="grid grid-cols-2 gap-2 min-w-0"></div><div class="grid grid-cols-2 gap-2 min-w-0"></div><div class="grid grid-cols-2 gap-2 min-w-0"><div class="flex flex-col gap-1"><span class="text-12-regular text-text-base"></span></div></div><div class="flex items-center justify-between gap-3 pt-1"><div class="flex flex-col"><span class="text-13-medium text-text-strong"></span><span class="text-12-regular text-text-weak"></span></div></div></div></div><div class="shrink-0 flex justify-end gap-2 pt-4">'),je=$('<div class="flex flex-col min-h-0 gap-3 px-5 pb-5">'),Me=$('<div class="w-full flex items-center justify-between gap-3"><div class="flex flex-col min-w-0"><div class="flex items-center gap-2 min-w-0"><span class="text-14-medium text-text-strong truncate"></span><span class="text-11-regular text-text-weaker">'),Oe=$('<span class="text-12-regular text-text-weak truncate">'),Ne=$('<div class="rounded-md border p-3 flex flex-col gap-2"><div class="flex items-center justify-between gap-3"><span class="text-13-medium text-text-strong"></span><span class="text-11-regular text-text-weaker"></span></div><pre class="max-h-44 overflow-auto whitespace-pre-wrap rounded bg-surface-base p-2 font-mono text-11-regular text-text-base">');const Fe=["config","agent","key"];function We(d={}){ce();const n=ue(),g=ge(),t=me(),D=he(),[i,c]=pe({form:G(),importText:"",editing:d.initialMode==="add"?"__new__":void 0,error:"",keyMissing:!1,testResult:void 0}),w=W(()=>Object.entries(n.data.config.ssh??{}).map(([e,s])=>({name:e,config:s})).sort((e,s)=>e.name.localeCompare(s.name))),S=W(()=>!!i.editing),M=W(()=>S()?(()=>{var e=Ce(),s=e.firstChild;return r(e,o(Q,{icon:"arrow-left",variant:"ghost",onClick:A,get"aria-label"(){return t.t("common.goBack")}}),s),r(s,(()=>{var l=x(()=>i.editing==="__new__");return()=>l()?t.t("dialog.ssh.addTitle"):t.t("dialog.ssh.editTitle")})()),e})():t.t("dialog.ssh.title")),m=I(()=>({mutationFn:async()=>{const e=Y(i.form),s=V(i.form);if(s){c("error",t.t(`dialog.ssh.${s}`));return}const u={...n.data.config.ssh??{}};i.editing&&i.editing!=="__new__"&&i.editing!==e.name&&delete u[i.editing],u[e.name]=e.value,await O("/global/ssh/config",{name:e.name,previousName:i.editing&&i.editing!=="__new__"?i.editing:void 0,config:e.value}),await n.updateConfig({ssh:u}),A(),k({variant:"success",icon:"circle-check",title:t.t("dialog.ssh.toast.saved")})},onError:e=>{k({variant:"error",title:t.t("common.requestFailed"),description:e instanceof Error?e.message:String(e)})}})),ee=I(()=>({mutationFn:async e=>{await O("/global/ssh/config/remove",{name:e});const s={...n.data.config.ssh??{}};delete s[e],await n.updateConfig({ssh:s})},onSuccess:()=>{k({variant:"success",icon:"circle-check",title:t.t("dialog.ssh.toast.removed")})},onError:e=>{k({variant:"error",title:t.t("common.requestFailed"),description:e instanceof Error?e.message:String(e)})}})),L=I(()=>({mutationFn:async()=>{const e=V(i.form);if(e)throw c("error",t.t(`dialog.ssh.${e}`)),c("testResult",void 0),new Error(t.t(`dialog.ssh.${e}`));const s=Y(i.form),l=await O("/global/ssh/test",{config:s.value});if(c("testResult",l),!l.success){k({variant:"error",title:t.t("dialog.ssh.test.failed"),description:l.message});return}k({variant:"success",icon:"circle-check",title:t.t("dialog.ssh.test.passed"),description:l.message||t.t("dialog.ssh.test.description")})},onError:e=>{c("testResult",{success:!1,message:e instanceof Error?e.message:String(e)}),k({variant:"error",title:t.t("dialog.ssh.test.failed"),description:e instanceof Error?e.message:String(e)})}})),B=I(()=>({mutationFn:async e=>O("/global/ssh/identity",{name:e.name,content:await e.text()}),onSuccess:e=>{p({authType:"key",keyPath:e.keyPath}),c("keyMissing",!1),k({variant:"success",icon:"circle-check",title:t.t("dialog.ssh.identity.uploaded"),description:e.keyPath})},onError:e=>{k({variant:"error",title:t.t("dialog.ssh.identity.uploadFailed"),description:e instanceof Error?e.message:String(e)})}}));function A(){c({form:G(),importText:"",editing:void 0,error:"",keyMissing:!1,testResult:void 0})}function te(){c({form:G(),importText:"",editing:"__new__",error:"",keyMissing:!1,testResult:void 0})}function se(e){const s=n.data.config.ssh?.[e];!s||!("host"in s)||c({editing:e,error:"",importText:"",keyMissing:!1,testResult:void 0,form:{name:e,host:s.host??"",hostName:s.hostName??"",username:s.username??"",remotePath:s.remotePath??"",port:s.port?String(s.port):"",keyPath:s.auth?.type==="key"?s.auth.keyPath??"":"",authType:s.auth?.type??"config",options:Object.entries(s.options??{}).map(([l,u])=>`${l}=${u}`).join(`
|
|
6
|
+
`),submitCommand:s.submit?.command??"",submitWorkdir:s.submit?.workdir??"",environment:Object.entries(s.submit?.environment??{}).map(([l,u])=>`${l}=${u}`).join(`
|
|
7
|
+
`),enabled:s.enabled??!0}})}function p(e){c("form",e),c("error",""),c("testResult",void 0),("keyPath"in e||"authType"in e&&e.authType!=="key")&&c("keyMissing",!1)}async function ie(e){const s=e.trim(),l=u=>{c("keyMissing",!0),k({variant:"error",icon:"warning",title:t.t("dialog.ssh.identity.missingTitle"),description:u})};if(!s||we(s)){l(s?t.t("dialog.ssh.identity.missingLocalPath"):t.t("dialog.ssh.identity.missingEmpty"));return}try{if((await O("/global/ssh/identity/check",{keyPath:s})).exists){c("keyMissing",!1);return}l(t.t("dialog.ssh.identity.missingDescription"))}catch{l(t.t("dialog.ssh.identity.missingUnverified"))}}function re(){const e=Object.fromEntries(Object.entries(_e(i.importText)).filter(u=>u[1]!==void 0)),s=!!(e.keyPath||e.authType==="key"),l=s?{...e,authType:"key"}:e;p(l),s?ie(l.keyPath??""):c("keyMissing",!1)}const J=W(()=>m.isPending||L.isPending?!0:i.form.authType!=="key"?!1:i.keyMissing?!0:!i.form.keyPath.trim());function ne(){J()||L.mutate()}async function O(e,s){const l={"Content-Type":"application/json"},u=D.current;u?.http.password&&(l.Authorization=`Basic ${fe({username:u.http.username,password:u.http.password})}`);const y=await fetch(`${g.url}${e}`,{method:"POST",headers:l,body:JSON.stringify(s)}),b=await y.text(),P=y.headers.get("content-type")??"";if(P.includes("text/html")||/^\s*<!doctype html/i.test(b)||/^\s*<html/i.test(b))throw new Error(t.t("dialog.ssh.test.serverMissing"));const h=P.includes("application/json")&&b?JSON.parse(b):void 0;if(y.ok)return h;throw h&&typeof h=="object"&&"message"in h?new Error(String(h.message)):new Error(ae(b).trim()||y.statusText)}function ae(e){return e.replace(/<[^>]*>/g," ")}function oe(e){return[`${t.t("dialog.ssh.test.detail.message")}: ${e.message}`,e.stderr?`${t.t("dialog.ssh.test.detail.stderr")}:
|
|
8
|
+
${e.stderr}`:void 0,e.stdout?`${t.t("dialog.ssh.test.detail.stdout")}:
|
|
9
|
+
${e.stdout}`:void 0].filter(s=>s!==void 0).join(`
|
|
10
|
+
|
|
11
|
+
`)}return o(ye,{size:"large",get title(){return M()},get description(){return x(()=>!S())()?t.t("dialog.ssh.description"):void 0},class:"overflow-hidden [&_[data-slot=dialog-body]]:h-full [&_[data-slot=dialog-body]]:min-h-0",get children(){return o(F,{get when(){return S()},get fallback(){return(()=>{var e=je();return r(e,o(xe,{get search(){return{placeholder:t.t("common.search.placeholder"),autofocus:!0}},get emptyMessage(){return t.t("dialog.ssh.empty")},items:w,key:s=>s.name,filterKeys:["name"],class:"flex-1 min-h-0 [&_[data-slot=list-items]]:bg-surface-base [&_[data-slot=list-items]]:rounded-md [&_[data-slot=list-item]]:min-h-14 [&_[data-slot=list-item]]:p-3 [&_[data-slot=list-item]]:!bg-transparent",children:s=>(()=>{var l=Me(),u=l.firstChild,y=u.firstChild,b=y.firstChild,P=b.nextSibling;return r(b,()=>s.name),r(P,(()=>{var h=x(()=>"host"in s.config&&s.config.enabled===!1);return()=>h()?t.t("dialog.ssh.status.disabled"):t.t("dialog.ssh.status.enabled")})()),r(u,o(F,{get when(){return x(()=>"host"in s.config)()?s.config:void 0},children:h=>(()=>{var T=Oe();return r(T,()=>h().host,null),r(T,(()=>{var K=x(()=>!!h().remotePath);return()=>K()?` · ${h().remotePath}`:""})(),null),T})()}),null),r(l,o(_,{get children(){return[o(_.Trigger,{as:Q,icon:"dot-grid",variant:"ghost",class:"shrink-0 size-8",onClick:h=>h.stopPropagation()}),o(_.Portal,{get children(){return o(_.Content,{class:"mt-1",get children(){return[o(_.Item,{onSelect:()=>se(s.name),get children(){return o(_.ItemLabel,{get children(){return t.t("common.edit")}})}}),o(_.Separator,{}),o(_.Item,{onSelect:()=>ee.mutate(s.name),class:"text-text-on-critical-base hover:bg-surface-critical-weak",get children(){return o(_.ItemLabel,{get children(){return t.t("common.delete")}})}})]}})}})]}}),null),l})()}),null),r(e,o(z,{variant:"secondary",icon:"plus-small",size:"large",onClick:te,class:"self-start px-3 py-1.5",get children(){return t.t("dialog.ssh.addButton")}}),null),e})()},get children(){var e=Ee(),s=e.firstChild,l=s.firstChild,u=l.firstChild,y=u.nextSibling,b=y.nextSibling,P=b.nextSibling,h=P.nextSibling,T=h.firstChild,K=T.firstChild,E=h.nextSibling,le=E.firstChild,Z=le.firstChild,de=Z.nextSibling,U=s.nextSibling;return r(u,o(v,{multiline:!0,get label(){return t.t("dialog.ssh.import")},get description(){return t.t("dialog.ssh.importDescription")},get placeholder(){return t.t("dialog.ssh.importPlaceholder")},get value(){return i.importText},get disabled(){return m.isPending},onChange:a=>c("importText",a),class:"min-h-20 font-mono text-12-regular"}),null),r(u,o(z,{variant:"secondary",size:"large",onClick:re,get disabled(){return m.isPending||!i.importText.trim()},class:"self-start px-3 py-1.5",get children(){return t.t("dialog.ssh.importAction")}}),null),r(y,o(v,{get label(){return t.t("dialog.ssh.name")},get value(){return i.form.name},get disabled(){return m.isPending},get validationState(){return i.error?"invalid":"valid"},get error(){return i.error},autofocus:!0,onChange:a=>p({name:a})}),null),r(y,o(v,{get label(){return t.t("dialog.ssh.host")},get placeholder(){return t.t("dialog.ssh.hostPlaceholder")},get value(){return i.form.host},get disabled(){return m.isPending},onChange:a=>p({host:a})}),null),r(b,o(v,{get label(){return t.t("dialog.ssh.hostName")},get placeholder(){return t.t("dialog.ssh.hostNamePlaceholder")},get value(){return i.form.hostName},get disabled(){return m.isPending},onChange:a=>p({hostName:a})}),null),r(b,o(v,{get label(){return t.t("dialog.ssh.username")},get value(){return i.form.username},get disabled(){return m.isPending},onChange:a=>p({username:a})}),null),r(P,o(v,{get label(){return t.t("dialog.ssh.port")},placeholder:"22",get value(){return i.form.port},get disabled(){return m.isPending},onChange:a=>p({port:a})})),r(l,o(v,{get label(){return t.t("dialog.ssh.remotePath")},placeholder:"/work/user/project",get value(){return i.form.remotePath},get disabled(){return m.isPending},onChange:a=>p({remotePath:a})}),h),r(K,()=>t.t("dialog.ssh.auth")),r(T,o(be,{get options(){return[...Fe]},get current(){return i.form.authType},value:a=>a,label:a=>t.t(`dialog.ssh.auth.${a}`),onSelect:a=>a&&p({authType:a}),variant:"secondary",size:"large",class:"justify-between"}),null),r(h,o(F,{get when(){return i.form.authType==="key"},get children(){var a=Te(),C=a.firstChild,N=C.firstChild,j=N.firstChild,R=j.nextSibling,q=C.nextSibling;return r(C,o(v,{get label(){return t.t("dialog.ssh.keyPath")},get placeholder(){return t.t("dialog.ssh.keyPathPlaceholder")},get value(){return i.form.keyPath},get disabled(){return m.isPending},onChange:f=>p({keyPath:f}),class:"min-w-0"}),N),j.addEventListener("change",f=>{const H=f.currentTarget.files?.[0];f.currentTarget.value="",H&&B.mutate(H)}),r(R,(()=>{var f=x(()=>!!B.isPending);return()=>f()?t.t("dialog.ssh.identity.uploading"):t.t("dialog.ssh.identity.upload")})()),r(q,()=>t.t("dialog.ssh.identity.hint")),r(a,o(F,{get when(){return i.keyMissing||i.form.authType==="key"&&!i.form.keyPath.trim()},get children(){var f=Se();return r(f,()=>t.t("dialog.ssh.identity.missingInline")),f}}),null),X(()=>j.disabled=m.isPending||B.isPending),a}}),null),r(l,o(v,{get label(){return t.t("dialog.ssh.submitCommand")},placeholder:"sbatch run.sh",get value(){return i.form.submitCommand},get disabled(){return m.isPending},onChange:a=>p({submitCommand:a})}),E),r(l,o(v,{multiline:!0,get label(){return t.t("dialog.ssh.options")},placeholder:"StrictHostKeyChecking=no",get value(){return i.form.options},get disabled(){return m.isPending},onChange:a=>p({options:a})}),E),r(l,o(v,{get label(){return t.t("dialog.ssh.submitWorkdir")},get placeholder(){return t.t("dialog.ssh.submitWorkdirPlaceholder")},get value(){return i.form.submitWorkdir},get disabled(){return m.isPending},onChange:a=>p({submitWorkdir:a})}),E),r(l,o(v,{multiline:!0,get label(){return t.t("dialog.ssh.environment")},placeholder:"QUEUE=gpu",get value(){return i.form.environment},get disabled(){return m.isPending},onChange:a=>p({environment:a})}),E),r(Z,()=>t.t("dialog.ssh.enabled")),r(de,()=>t.t("dialog.ssh.enabledDescription")),r(E,o(ke,{get checked(){return i.form.enabled},get disabled(){return m.isPending},onChange:a=>p({enabled:a})}),null),r(l,o(F,{get when(){return i.testResult},children:a=>(()=>{var C=Ne(),N=C.firstChild,j=N.firstChild,R=j.nextSibling,q=N.nextSibling;return r(j,(()=>{var f=x(()=>!!a().success);return()=>f()?t.t("dialog.ssh.test.passed"):t.t("dialog.ssh.test.failed")})()),r(R,()=>i.form.hostName||i.form.host,null),r(R,(()=>{var f=x(()=>!!i.form.remotePath);return()=>f()?` · ${i.form.remotePath}`:""})(),null),r(q,()=>oe(a())),X(f=>ve(C,{"border-border-success-base bg-surface-success-weak":a().success,"border-border-critical-base bg-surface-critical-weak":!a().success},f)),C})()}),null),r(U,o(z,{variant:"secondary",size:"large",onClick:ne,get disabled(){return J()},get children(){return x(()=>!!L.isPending)()?t.t("dialog.ssh.test.running"):t.t("dialog.ssh.test.action")}}),null),r(U,o(z,{variant:"ghost",size:"large",onClick:A,get disabled(){return m.isPending},get children(){return t.t("common.cancel")}}),null),r(U,o(z,{variant:"primary",size:"large",onClick:()=>m.mutate(),get disabled(){return m.isPending},get children(){return x(()=>!!m.isPending)()?t.t("common.saving"):t.t("common.save")}}),null),e}})}})}export{We as DialogSelectSsh};
|