@onescience/onecode-web 1.14.50-202609181347 → 1.14.50-202609181531

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.
Files changed (59) hide show
  1. package/assets/{3Dmol-BdC7Rcrj.js → 3Dmol-Ch1KedM5.js} +1 -1
  2. package/assets/account-system-DyKuhlpC.js +1 -0
  3. package/assets/{alert-04-Cqw0O3TJ.js → alert-01-BdnfTvt3.js} +1 -1
  4. package/assets/{alert-05-DipDpbNF.js → alert-02-DlB7xC44.js} +1 -1
  5. package/assets/{alert-01-DW-FwEf2.js → alert-04-DeuF2UXC.js} +1 -1
  6. package/assets/{alert-02-BLBJgtkC.js → alert-05-DYWLL59b.js} +1 -1
  7. package/assets/alert-06-CTGDbzcR.js +1 -0
  8. package/assets/alert-07-D_ZkZ_QL.js +1 -0
  9. package/assets/alert-08-DYS6FPiL.js +1 -0
  10. package/assets/alert-10-CJTtxkrA.js +1 -0
  11. package/assets/{bip-bop-03-Brf6Oqo2.js → bip-bop-03-DtZ2ocq8.js} +1 -1
  12. package/assets/{bip-bop-04-lBEl2GYK.js → bip-bop-04-CAcRHt0J.js} +1 -1
  13. package/assets/{bip-bop-06-vJJl77_m.js → bip-bop-06-Ko7eY7pY.js} +1 -1
  14. package/assets/{bip-bop-08-DkAQTj7_.js → bip-bop-08-DiypVTFo.js} +1 -1
  15. package/assets/bip-bop-09-DVmUi4gu.js +1 -0
  16. package/assets/center-CIk83EZc.js +15 -0
  17. package/assets/dialog-fork-BDVGeVqA.js +1 -0
  18. package/assets/{dialog-project-upload-B2kVKJZX.js → dialog-project-upload-DYXV2LKc.js} +2 -2
  19. package/assets/{dialog-select-file-BhhOUQJs.js → dialog-select-file-C-ZASZ-7.js} +1 -1
  20. package/assets/{dialog-select-model-DER8hpwk.js → dialog-select-model-wrGNluy7.js} +2 -2
  21. package/assets/dialog-terminal-unavailable-CuvzQzVj.js +3 -0
  22. package/assets/{docs-DtF5-3Dx.js → docs-B9cejDrH.js} +1 -1
  23. package/assets/{ghostty-web-D5uDG1I2.js → ghostty-web-DztulBQs.js} +1 -1
  24. package/assets/index-BtTSBbfn.css +1 -0
  25. package/assets/{index-DjsAxbra.js → index-DgAWECfr.js} +225 -223
  26. package/assets/intro-B7dm9ysF.js +1 -0
  27. package/assets/{nope-02-fTdtLTBd.js → nope-02-CkqYS92w.js} +1 -1
  28. package/assets/{nope-05-CdadKDgF.js → nope-05-Dm-l4oPk.js} +1 -1
  29. package/assets/{nope-08-DYEl8boe.js → nope-08-Dh1fbMtx.js} +1 -1
  30. package/assets/{nope-11-Cm5fzWeR.js → nope-11-u_Bu0nzq.js} +1 -1
  31. package/assets/nope-12-DQcUQOgc.js +1 -0
  32. package/assets/onescience-DSnIhmgh.js +82 -0
  33. package/assets/{resources-BlKcxTgP.js → resources-7qs0MDve.js} +1 -1
  34. package/assets/{skills-BrE-BRpo.js → skills-DaVBk0GP.js} +1 -1
  35. package/assets/{staplebops-03-SSiZbWtT.js → staplebops-03-DVNQSsM6.js} +1 -1
  36. package/assets/{staplebops-04-CBAHzb5B.js → staplebops-04-D6iEjOKJ.js} +1 -1
  37. package/assets/{staplebops-06-BHws5oXH.js → staplebops-06-DC0361r-.js} +1 -1
  38. package/assets/{staplebops-07-CBbzE19M.js → staplebops-07-B9GDnXWK.js} +1 -1
  39. package/assets/wizard-Bv-16vjG.js +1 -0
  40. package/assets/{yup-01-BPkZC-1b.js → yup-01-B17YIuGi.js} +1 -1
  41. package/assets/{yup-03-mTFk0WyH.js → yup-03-BQwDeEIZ.js} +1 -1
  42. package/assets/{yup-04-Dg7uchCl.js → yup-04-WA7CLwQ1.js} +1 -1
  43. package/assets/{yup-05-Cpv5uubV.js → yup-05-PE_64iSB.js} +1 -1
  44. package/index.html +11 -11
  45. package/package.json +2 -2
  46. package/assets/account-system-DiISuwDJ.js +0 -1
  47. package/assets/alert-06-BdeSHRX7.js +0 -1
  48. package/assets/alert-07-DfVptmqM.js +0 -1
  49. package/assets/alert-08-MJWtz0tU.js +0 -1
  50. package/assets/alert-10-CZgQfDha.js +0 -1
  51. package/assets/bip-bop-09-BcWeWnoD.js +0 -1
  52. package/assets/center-DRgF34Ze.js +0 -15
  53. package/assets/dialog-fork-CiGr30aS.js +0 -1
  54. package/assets/dialog-terminal-unavailable-Zx0OgBre.js +0 -3
  55. package/assets/index-BehFKl-V.css +0 -1
  56. package/assets/intro-D4Ls5AZ5.js +0 -1
  57. package/assets/nope-12-Cbtz-bf4.js +0 -1
  58. package/assets/onescience-Fu9gdX23.js +0 -82
  59. package/assets/wizard-m1Tm-C5p.js +0 -1
@@ -1,4 +1,4 @@
1
- import{dJ as getDefaultExportFromCjs}from"./index-DjsAxbra.js";function _mergeNamespaces(K,D){for(var c=0;c<D.length;c++){const y=D[c];if(typeof y!="string"&&!Array.isArray(y)){for(const O in y)if(O!=="default"&&!(O in K)){const w=Object.getOwnPropertyDescriptor(y,O);w&&Object.defineProperty(K,O,w.get?w:{enumerable:!0,get:()=>y[O]})}}}return Object.freeze(Object.defineProperty(K,Symbol.toStringTag,{value:"Module"}))}var _3Dmol$3={exports:{}};/*!
1
+ import{dN as getDefaultExportFromCjs}from"./index-DgAWECfr.js";function _mergeNamespaces(K,D){for(var c=0;c<D.length;c++){const y=D[c];if(typeof y!="string"&&!Array.isArray(y)){for(const O in y)if(O!=="default"&&!(O in K)){const w=Object.getOwnPropertyDescriptor(y,O);w&&Object.defineProperty(K,O,w.get?w:{enumerable:!0,get:()=>y[O]})}}}return Object.freeze(Object.defineProperty(K,Symbol.toStringTag,{value:"Module"}))}var _3Dmol$3={exports:{}};/*!
2
2
  * 3dmol v2.5.5
3
3
  * JavaScript/TypeScript molecular visualization library
4
4
  * Author: David Koes and contributors
@@ -0,0 +1 @@
1
+ import{b1 as te,P as G,cV as me,C as ge,at as j,ag as Q,i,a as _,c as z,D as V,z as we,t as v,d as ve,A as re,S as q,v as H,b as $,x as D,cX as _e,u as Ce,c3 as ye,c4 as xe,E as Se,cY as Pe,j as ke,c5 as fe,cZ as qe,c_ as pe,c$ as Ae,d0 as Te,d1 as Me,d2 as Ee,d3 as De,d4 as Ue,ck as le,d5 as He,o as ce,d6 as Le}from"./index-DgAWECfr.js";var X=v("<p class=os-auth-error>"),Re=v('<form class=os-auth-form><label><span>账户 / 邮箱</span><input autocomplete=username placeholder=账户名或注册邮箱></label><label><span>密码</span><input autocomplete=current-password type=password placeholder=输入密码></label><button type=submit class="os-button os-button-primary os-auth-submit">'),Ie=v("<div class=os-auth-links><span>还没有账号?</span><a>创建账号</a><span class=os-auth-link-separator aria-hidden=true></span><a>忘记密码?"),Ne=v("<p>"),Fe=v('<div class=os-auth-email-verify><button type=button class="os-button os-button-secondary os-auth-submit"></button><label><span></span><input autocomplete=one-time-code>'),ze=v("<label><span>邀请码</span><input autocomplete=one-time-code placeholder=请输入邀请码><small class=os-auth-hint>当前已开启注册审核,需填写有效邀请码才能注册。"),je=v('<form class=os-auth-form><label><span>账户</span><input autocomplete=username placeholder="例如 researcher01"><small class=os-auth-hint>用作登录标识及个人工作区目录名称。长度 3–32 个字符,须以小写字母开头,仅可包含小写字母、数字、点(.)、下划线(_)与连字符(-)。</small></label><label><span>邮箱</span><input autocomplete=email inputmode=email placeholder=name@example.com><small class=os-auth-hint>用于账号找回与系统通知,亦可作为登录凭证。</small></label><label><span>密码</span><input autocomplete=new-password type=password placeholder="至少 8 位"></label><label><span>确认密码</span><input autocomplete=new-password type=password placeholder=再次输入密码></label><button type=submit class="os-button os-button-primary os-auth-submit">'),Ve=v("<div class=os-auth-links><span>已有账号?</span><a>去登录"),Be=v('<p class=os-auth-hint style="margin:0 0 0.35rem">通过注册邮箱获取验证码后重置密码。若无法收到邮件,请联系管理员。'),ee=v("<p class=os-account-success>"),Oe=v('<form class=os-auth-form><label><span>账号邮箱</span><input autocomplete=email inputmode=email placeholder=name@example.com></label><button type=submit class="os-button os-button-secondary os-auth-submit">'),We=v("<label><span>邮件验证码</span><input autocomplete=one-time-code placeholder=输入邮件中的验证码>"),Ge=v('<form class=os-auth-form><label><span>新密码</span><input autocomplete=new-password type=password placeholder="至少 8 位"></label><label><span>确认新密码</span><input autocomplete=new-password type=password placeholder=再次输入新密码></label><button type=submit class="os-button os-button-primary os-auth-submit">'),Xe=v("<div class=os-auth-links><a>返回登录</a><span class=os-auth-link-separator aria-hidden=true></span><a>创建账号"),Ye=v('<p class=os-auth-hint style="margin:0 0 0.35rem">请设置新密码以完成重置。'),Ze=v("<main class=os-account-page><div class=os-account-shell>"),Je=v("<section class=os-account-loading><strong>正在加载账号信息</strong><span>请稍候"),Ke=v('<section class=os-account-empty-state><strong></strong><span>登录后可以查看账号资料和开发空间。</span><a href="/login?redirect=%2Faccount"class="os-button os-button-primary">去登录'),Qe=v('<header class=os-account-header><div class=os-account-identity><div class=os-account-avatar></div><div><span class=os-account-kicker>账号中心</span><h1></h1><p></p></div></div><div class=os-account-actions><span class=os-account-status></span><a href=/code class="os-button os-button-secondary">进入科研开发</a><button type=button class="os-button os-button-danger">退出登录</button><button type=button class="os-button os-button-danger">'),et=v("<section class=os-account-workspace-hero><div class=os-account-workspace-hero-copy><span class=os-account-kicker>默认项目</span><strong>default</strong><p></p></div><div class=os-account-workspace-hero-meta><code>"),tt=v('<section class=os-account-content-grid><section class=os-account-panel><div class=os-account-panel-head><strong>基本资料</strong><span class=os-account-session-expiry title="这是当前浏览器登录会话的有效期(约 14 天),不是账号本身到期。重新登录即可续期,账号与工作区数据不受影响。">登录会话 <!>失效</span></div><p class=os-account-session-expiry-note>提示:上方倒计时是登录会话有效期,重新登录即可续期;账号与工作区数据不会因此删除。</p><dl class=os-account-field-grid><div><dt>账户</dt><dd></dd></div><div><dt>邮箱</dt><dd></dd></div><div><dt>创建时间</dt><dd></dd></div><div><dt>默认入口</dt><dd>科研开发工作台</dd></div></dl></section><section class=os-account-panel><div class=os-account-panel-head><strong>修改密码</strong><span>本地账号</span></div><form class=os-account-password-form><label><span>当前密码</span><input autocomplete=current-password type=password placeholder=输入当前密码></label><label><span>新密码</span><input autocomplete=new-password type=password placeholder="至少 8 位"></label><label><span>确认新密码</span><input autocomplete=new-password type=password placeholder=再次输入新密码></label><button type=submit class="os-button os-button-danger os-auth-submit">'),rt=v('<div class="flex flex-col gap-4 pl-6 pr-2.5 pb-3"><p class="text-14-regular text-text-strong"></p><div class="flex justify-end gap-2"><button type=button class="os-button os-button-secondary"></button><button type=button class="os-button os-button-danger">'),nt=v("<main class=os-auth-page><section class=os-auth-shell><button type=button class=os-auth-dismiss aria-label=关闭并返回浏览><span aria-hidden=true>×</span></button><section class=os-auth-panel><a class=os-auth-brand href=/></a><div class=os-auth-links><button type=button class=os-auth-link-button>暂不登录,继续浏览");function dt(){const c=te(),d=G(),[C,x]=z(Date.now()),[p,a]=j({name:"",email:"",password:"",confirmPassword:"",submitting:!1,error:""});Q(()=>{const b=window.setInterval(()=>x(Date.now()),250);re(()=>window.clearInterval(b))});const n=V(()=>{const b=p.lockedUntil;return typeof b!="number"?0:Math.max(0,Math.ceil((b-C())/1e3))}),f=V(()=>n()>0);we(()=>{const b=p.lockedUntil;typeof b=="number"&&(b>C()||a({lockedUntil:void 0,error:""}))});const P=async b=>{if(b.preventDefault(),f()){a("error",`尝试次数过多,请在 ${n()} 秒后重试`);return}if(!p.email.trim()||!p.password){a("error","请输入账户/邮箱和密码");return}a({submitting:!0,error:""});try{await fe(await qe({email:p.email.trim(),password:p.password}),c.storage),d(pe(location.search),{replace:!0});return}catch(t){const e=t instanceof Error&&"retryAfterMs"in t?Number(t.retryAfterMs):void 0;a({error:t instanceof Error?t.message:"登录失败,请稍后重试",submitting:!1,lockedUntil:typeof e=="number"&&e>0?Date.now()+e:void 0})}};return _(ne,{mode:"login",get children(){return[(()=>{var b=Re(),t=b.firstChild,e=t.firstChild,o=e.nextSibling,h=t.nextSibling,l=h.firstChild,m=l.nextSibling,s=h.nextSibling;return b.addEventListener("submit",P),o.$$input=r=>a("email",r.currentTarget.value),m.$$input=r=>a("password",r.currentTarget.value),i(b,_(q,{get when(){return p.error||f()},get children(){var r=X();return i(r,(()=>{var g=H(()=>!!f());return()=>g()?`尝试次数过多,请在 ${n()} 秒后重试`:p.error})()),r}}),s),i(s,(()=>{var r=H(()=>!!p.submitting);return()=>r()?"正在登录...":H(()=>!!f())()?`请 ${n()} 秒后重试`:"登录"})()),$(r=>{var g=p.submitting||f(),u=p.submitting||f(),S=p.submitting||f();return g!==r.e&&(o.disabled=r.e=g),u!==r.t&&(m.disabled=r.t=u),S!==r.a&&(s.disabled=r.a=S),r},{e:void 0,t:void 0,a:void 0}),$(()=>o.value=p.email),$(()=>m.value=p.password),b})(),(()=>{var b=Ie(),t=b.firstChild,e=t.nextSibling,o=e.nextSibling,h=o.nextSibling;return $(l=>{var m=`/register${location.search}`,s=`/forgot-password${location.search}`;return m!==l.e&&D(e,"href",l.e=m),s!==l.t&&D(h,"href",l.t=s),l},{e:void 0,t:void 0}),b})()]}})}function mt(){const c=te(),d=G(),[C,x]=z(!1),[p,a]=z(!1),[n,f]=z(!1),[P,b]=z(Date.now()),[t,e]=j({name:"",email:"",password:"",confirmPassword:"",inviteCode:"",emailCode:"",submitting:!1,requestingCode:!1,requestHint:"",cooldownUntil:0,error:""});Q(()=>{_e().then(r=>{x(!!r.inviteRequired),a(!!r.emailVerificationRequired)}).catch(()=>{x(!1),a(!1)});const s=window.setInterval(()=>b(Date.now()),250);re(()=>window.clearInterval(s))});const o=V(()=>Math.max(0,Math.ceil(((t.cooldownUntil??0)-P())/1e3))),h=V(()=>o()>0),l=async()=>{if(t.requestingCode||t.submitting||h())return;const s=de(t.email);if(s){e({error:s,requestHint:""});return}e({requestingCode:!0,error:"",requestHint:""});try{const r=await Ee({email:t.email.trim()}),g=typeof r.retryAfterMs=="number"&&r.retryAfterMs>0?r.retryAfterMs:6e4;if(r.smtpUnreachable){f(!0),e({requestingCode:!1,requestHint:"无法连接邮件服务器,本次注册无需填写验证码。找回密码仍须邮件验证,收不到验证码请联系管理员。",error:"",cooldownUntil:Date.now()+g});return}f(!1),e({requestingCode:!1,requestHint:"验证码已发送,请查收邮箱后填入下方。",error:"",cooldownUntil:Date.now()+g})}catch(r){const g=r instanceof Error&&"retryAfterMs"in r?Number(r.retryAfterMs):void 0;e({requestingCode:!1,error:r instanceof Error?r.message:"发送验证码失败,请稍后重试",requestHint:"",...typeof g=="number"&&g>0?{cooldownUntil:Date.now()+g}:{}})}},m=async s=>{if(s.preventDefault(),!t.name.trim()||!t.email.trim()||!t.password){e("error","请输入账户、邮箱和密码");return}const r=ct(t.name);if(r){e("error",r);return}const g=de(t.email);if(g){e("error",g);return}if(C()&&!(t.inviteCode??"").trim()){e("error","请填写邀请码");return}if(p()&&!n()&&!(t.emailCode??"").trim()){e("error","请填写邮箱验证码");return}if(t.password.length<8){e("error","密码至少需要 8 位");return}if(t.password!==t.confirmPassword){e("error","两次输入的密码不一致");return}e({submitting:!0,error:""});try{await fe(await Me({name:t.name.trim().toLowerCase(),email:t.email.trim(),password:t.password,...t.inviteCode?.trim()?{inviteCode:t.inviteCode.trim()}:{},...p()&&t.emailCode?.trim()?{emailCode:t.emailCode.trim()}:{}}),c.storage),d(pe(location.search),{replace:!0})}catch(u){e("error",u instanceof Error?u.message:"注册失败,请稍后重试"),e("submitting",!1)}};return _(ne,{mode:"register",get children(){return[(()=>{var s=je(),r=s.firstChild,g=r.firstChild,u=g.nextSibling,S=r.nextSibling,k=S.firstChild,T=k.nextSibling,U=S.nextSibling,N=U.firstChild,L=N.nextSibling,R=U.nextSibling,Y=R.firstChild,Z=Y.nextSibling,B=R.nextSibling;return s.addEventListener("submit",m),u.$$input=w=>e("name",w.currentTarget.value),D(u,"spellcheck",!1),T.$$input=w=>{e("email",w.currentTarget.value),f(!1)},i(s,_(q,{get when(){return p()},get children(){var w=Fe(),M=w.firstChild,E=M.nextSibling,F=E.firstChild,I=F.nextSibling;return M.$$click=()=>void l(),i(M,(()=>{var y=H(()=>!!t.requestingCode);return()=>y()?"正在发送...":H(()=>!!h())()?`重新发送 (${o()}s)`:"发送验证码"})()),i(w,_(q,{get when(){return t.requestHint},get children(){var y=Ne();return i(y,()=>t.requestHint),$(()=>Ce(y,n()?"os-auth-hint":"os-account-success")),y}}),E),i(F,()=>n()?"邮箱验证码(可不填)":"邮箱验证码"),I.$$input=y=>e("emailCode",y.currentTarget.value),D(I,"spellcheck",!1),$(y=>{var O=t.requestingCode||t.submitting||h()||!t.email.trim(),J=n()?"邮件服务器不可达,可留空":"输入邮件中的验证码",W=t.submitting;return O!==y.e&&(M.disabled=y.e=O),J!==y.t&&D(I,"placeholder",y.t=J),W!==y.a&&(I.disabled=y.a=W),y},{e:void 0,t:void 0,a:void 0}),$(()=>I.value=t.emailCode??""),w}}),U),i(s,_(q,{get when(){return C()},get children(){var w=ze(),M=w.firstChild,E=M.nextSibling;return E.$$input=F=>e("inviteCode",F.currentTarget.value),D(E,"spellcheck",!1),$(()=>E.value=t.inviteCode??""),w}}),U),L.$$input=w=>e("password",w.currentTarget.value),Z.$$input=w=>e("confirmPassword",w.currentTarget.value),i(s,_(q,{get when(){return t.error},get children(){var w=X();return i(w,()=>t.error),w}}),B),i(B,()=>t.submitting?"正在创建...":"创建账号"),$(w=>{var M=t.submitting||t.requestingCode,E=t.submitting;return M!==w.e&&(T.disabled=w.e=M),E!==w.t&&(B.disabled=w.t=E),w},{e:void 0,t:void 0}),$(()=>u.value=t.name),$(()=>T.value=t.email),$(()=>L.value=t.password),$(()=>Z.value=t.confirmPassword),s})(),(()=>{var s=Ve(),r=s.firstChild,g=r.nextSibling;return $(()=>D(g,"href",`/login${location.search}`)),s})()]}})}function gt(){const c=G(),d=typeof location<"u"?new URLSearchParams(location.search).get("token")?.trim()??"":"",C=!!d,[x,p]=z(Date.now()),[a,n]=j({email:"",token:d,newPassword:"",confirmPassword:"",requesting:!1,submitting:!1,error:"",success:"",requestHint:"",cooldownUntil:0});Q(()=>{const e=window.setInterval(()=>p(Date.now()),250);re(()=>window.clearInterval(e))});const f=V(()=>Math.max(0,Math.ceil((a.cooldownUntil-x())/1e3))),P=V(()=>f()>0),b=async()=>{if(!(a.requesting||a.submitting||P())){if(!a.email.trim()){n({error:"请输入账号邮箱",success:"",requestHint:""});return}n({requesting:!0,error:"",success:"",requestHint:""});try{const e=await De({email:a.email.trim()}),o=typeof e.retryAfterMs=="number"&&e.retryAfterMs>0?e.retryAfterMs:6e4;n({requesting:!1,requestHint:"若该邮箱已注册,验证码将发送至邮箱。请查收后在下方完成重置。",error:"",cooldownUntil:Date.now()+o})}catch(e){const o=e instanceof Error&&"retryAfterMs"in e?Number(e.retryAfterMs):void 0;n({requesting:!1,error:e instanceof Error?e.message:"发送验证码失败,请稍后重试",requestHint:"",...typeof o=="number"&&o>0?{cooldownUntil:Date.now()+o}:{}})}}},t=async e=>{if(e.preventDefault(),!a.token.trim()){n({error:"请输入邮件验证码",success:""});return}if(a.newPassword.length<8){n({error:"新密码至少需要 8 位",success:""});return}if(a.newPassword!==a.confirmPassword){n({error:"两次输入的新密码不一致",success:""});return}n({submitting:!0,error:"",success:""});try{await Ue({token:a.token.trim(),newPassword:a.newPassword}),n({submitting:!1,error:"",success:"密码已重置,请使用新密码登录",newPassword:"",confirmPassword:""});const o=new URLSearchParams(location.search);o.delete("token");const h=o.toString();window.setTimeout(()=>c(`/login${h?`?${h}`:""}`,{replace:!0}),1200)}catch(o){n({submitting:!1,error:o instanceof Error?o.message:"重置密码失败,请稍后重试",success:""})}};return _(ne,{mode:"forgot-password",get children(){return[_(q,{when:!C,get fallback(){return Ye()},get children(){return Be()}}),_(q,{when:!C,get children(){var e=Oe(),o=e.firstChild,h=o.firstChild,l=h.nextSibling,m=o.nextSibling;return e.addEventListener("submit",s=>{s.preventDefault(),b()}),l.$$input=s=>n("email",s.currentTarget.value),i(m,(()=>{var s=H(()=>!!a.requesting);return()=>s()?"正在发送...":H(()=>!!P())()?`重新发送 (${f()}s)`:"获取验证码"})()),i(e,_(q,{get when(){return a.requestHint},get children(){var s=ee();return i(s,()=>a.requestHint),s}}),null),$(s=>{var r=a.requesting||a.submitting,g=a.requesting||a.submitting||P()||!a.email.trim();return r!==s.e&&(l.disabled=s.e=r),g!==s.t&&(m.disabled=s.t=g),s},{e:void 0,t:void 0}),$(()=>l.value=a.email),e}}),(()=>{var e=Ge(),o=e.firstChild,h=o.firstChild,l=h.nextSibling,m=o.nextSibling,s=m.firstChild,r=s.nextSibling,g=m.nextSibling;return e.addEventListener("submit",t),i(e,_(q,{when:!C,get children(){var u=We(),S=u.firstChild,k=S.nextSibling;return k.$$input=T=>n("token",T.currentTarget.value),$(()=>k.disabled=a.submitting),$(()=>k.value=a.token),u}}),o),l.$$input=u=>n("newPassword",u.currentTarget.value),r.$$input=u=>n("confirmPassword",u.currentTarget.value),i(e,_(q,{get when(){return a.error},get children(){var u=X();return i(u,()=>a.error),u}}),g),i(e,_(q,{get when(){return a.success},get children(){var u=ee();return i(u,()=>a.success),u}}),g),i(g,()=>a.submitting?"正在重置...":"重置密码"),$(u=>{var S=a.submitting,k=a.submitting,T=a.submitting;return S!==u.e&&(l.disabled=u.e=S),k!==u.t&&(r.disabled=u.t=k),T!==u.a&&(g.disabled=u.a=T),u},{e:void 0,t:void 0,a:void 0}),$(()=>l.value=a.newPassword),$(()=>r.value=a.confirmPassword),e})(),(()=>{var e=Xe(),o=e.firstChild,h=o.nextSibling,l=h.nextSibling;return $(m=>{var s=`/login${location.search}`,r=`/register${location.search}`;return s!==m.e&&D(o,"href",m.e=s),r!==m.t&&D(l,"href",m.t=r),m},{e:void 0,t:void 0}),e})()]}})}function ft(){const c=te(),d=G(),C=me(),x=ge(),[p,a]=j({loading:!0,error:""}),[n,f]=j({currentPassword:"",newPassword:"",confirmPassword:"",submitting:!1,error:"",success:""});Q(()=>{const o=ye();if(!o){a({loading:!1,error:"当前未登录"});return}xe(o).then(h=>a({session:h,loading:!1,error:""})).catch(h=>a({loading:!1,error:h instanceof Error?h.message:"会话已失效"}))});const P=()=>{if(c.platform==="desktop"){d("/login",{replace:!0});return}location.assign("/login")},b=()=>{le(c.storage).finally(()=>P())},t=async()=>{try{await He(),ce({variant:"success",icon:"circle-check",title:C.t("account.deleteAccount.toast.success")}),await le(c.storage),P()}catch(o){ce({variant:"error",title:C.t("account.deleteAccount.toast.error"),description:o instanceof Error?o.message:"请稍后重试"})}},e=async(o,h)=>{if(o.preventDefault(),!n.currentPassword||!n.newPassword||!n.confirmPassword){f({error:"请输入当前密码和新密码",success:""});return}if(n.newPassword.length<8){f({error:"新密码至少需要 8 位",success:""});return}if(n.currentPassword===n.newPassword){f({error:"新密码不能与当前密码相同",success:""});return}if(n.newPassword!==n.confirmPassword){f({error:"两次输入的新密码不一致",success:""});return}f({submitting:!0,error:"",success:""});try{await Le({accountId:h.account.id,currentPassword:n.currentPassword,newPassword:n.newPassword}),f({currentPassword:"",newPassword:"",confirmPassword:"",submitting:!1,error:"",success:"密码已更新,下次登录请使用新密码"})}catch(l){f({submitting:!1,error:l instanceof Error?l.message:"修改密码失败,请稍后重试",success:""})}};return(()=>{var o=Ze(),h=o.firstChild;return i(h,_(q,{get when(){return!p.loading},get fallback(){return Je()},get children(){return _(q,{get when(){return p.session},get fallback(){return(()=>{var l=Ke(),m=l.firstChild,s=m.nextSibling;return s.nextSibling,i(m,()=>p.error||"当前未登录"),l})()},children:l=>[(()=>{var m=Qe(),s=m.firstChild,r=s.firstChild,g=r.nextSibling,u=g.firstChild,S=u.nextSibling,k=S.nextSibling,T=s.nextSibling,U=T.firstChild,N=U.nextSibling,L=N.nextSibling,R=L.nextSibling;return i(r,()=>at(l().account.name,l().account.email)),i(S,()=>l().account.name),i(k,()=>l().account.email),i(U,()=>it(l().account.status)),L.$$click=b,R.$$click=()=>x.show(()=>_(st,{onConfirm:t})),i(R,()=>C.t("account.deleteAccount.button")),m})(),(()=>{var m=et(),s=m.firstChild,r=s.firstChild,g=r.nextSibling,u=g.nextSibling,S=s.nextSibling,k=S.firstChild;return i(u,()=>C.t("account.defaultProject.description")),i(k,()=>ue(l())||"未分配"),$(()=>D(k,"title",ue(l()))),m})(),(()=>{var m=tt(),s=m.firstChild,r=s.firstChild,g=r.firstChild,u=g.nextSibling,S=u.firstChild,k=S.nextSibling;k.nextSibling;var T=r.nextSibling,U=T.nextSibling,N=U.firstChild,L=N.firstChild,R=L.nextSibling,Y=N.nextSibling,Z=Y.firstChild,B=Z.nextSibling,w=Y.nextSibling,M=w.firstChild,E=M.nextSibling,F=s.nextSibling,I=F.firstChild,y=I.nextSibling,O=y.firstChild,J=O.firstChild,W=J.nextSibling,se=O.nextSibling,he=se.firstChild,ae=he.nextSibling,ie=se.nextSibling,$e=ie.firstChild,oe=$e.nextSibling,K=ie.nextSibling;return i(u,()=>lt(l().expiresAt),k),i(R,()=>l().account.name),i(B,()=>l().account.email),i(E,()=>ot(l().account.timeCreated)),y.addEventListener("submit",A=>e(A,l())),W.$$input=A=>f("currentPassword",A.currentTarget.value),ae.$$input=A=>f("newPassword",A.currentTarget.value),oe.$$input=A=>f("confirmPassword",A.currentTarget.value),i(y,_(q,{get when(){return n.error},get children(){var A=X();return i(A,()=>n.error),A}}),K),i(y,_(q,{get when(){return n.success},get children(){var A=ee();return i(A,()=>n.success),A}}),K),i(K,()=>n.submitting?"正在更新...":"更新密码"),$(()=>K.disabled=n.submitting),$(()=>W.value=n.currentPassword),$(()=>ae.value=n.newPassword),$(()=>oe.value=n.confirmPassword),m})()]})}})),o})()}function st(c){const d=me(),C=ge(),[x,p]=j({submitting:!1,error:""}),a=async()=>{p({submitting:!0,error:""});try{await c.onConfirm(),C.close()}catch(n){p({submitting:!1,error:n instanceof Error?n.message:d.t("account.deleteAccount.toast.error")})}};return _(Se,{get title(){return d.t("account.deleteAccount.title")},fit:!0,transition:!0,get children(){var n=rt(),f=n.firstChild,P=f.nextSibling,b=P.firstChild,t=b.nextSibling;return i(f,()=>d.t("account.deleteAccount.description")),i(n,_(q,{get when(){return x.error},get children(){var e=X();return i(e,()=>x.error),e}}),P),b.$$click=()=>C.close(),i(b,()=>d.t("common.cancel")),t.$$click=a,i(t,(()=>{var e=H(()=>!!x.submitting);return()=>e()?"注销中...":d.t("account.deleteAccount.confirm")})()),$(e=>{var o=x.submitting,h=x.submitting;return o!==e.e&&(b.disabled=e.e=o),h!==e.t&&(t.disabled=e.t=h),e},{e:void 0,t:void 0}),n}})}function ne(c){const d=G(),C=()=>{Ae(),d(Te(location.search),{replace:!0})};return(()=>{var x=nt(),p=x.firstChild,a=p.firstChild,n=a.nextSibling,f=n.firstChild,P=f.nextSibling,b=P.firstChild;return a.$$click=C,i(f,_(Pe,{})),i(n,()=>c.children,P),b.$$click=C,$(()=>D(p,"data-mode",c.mode)),x})()}function at(c,d){return(c.trim()||d.trim()||"OS").slice(0,2).toUpperCase()}function it(c){return c==="active"?"正常":c==="frozen"?"已冻结":c==="limited"?"已限流":c==="pending"?"待激活":c||"未知"}function ue(c){return ke(c)??""}function ot(c){return c?new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}).format(new Date(be(c))):"未记录"}function lt(c){const d=Math.ceil(Math.max(0,be(c)-Date.now())/36e5);return d<=0?"已":d<24?`${d} 小时后`:`${Math.ceil(d/24)} 天后`}function ct(c){const d=c.trim().toLowerCase();return d?/^[a-z][a-z0-9._-]{2,31}$/.test(d)?d.includes("..")||d.endsWith(".")||d.startsWith(".")?"账户名不能以点开头/结尾,也不能包含连续的点":"":"账户名须为 3–32 位,以小写字母开头,仅含小写字母、数字、点、下划线或连字符":"请填写账户名"}function de(c){const d=c.trim().toLowerCase();return!d||!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(d)||d.length>254?"请填写有效邮箱":""}function be(c){return c<1e10?c*1e3:c}ve(["input","click"]);export{ft as AccountCenterPage,gt as ForgotPasswordPage,dt as LoginPage,mt as RegisterPage};
@@ -1 +1 @@
1
- const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609181347/assets/alert-04-CaGsIGFP.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609181531/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-202609181347/assets/alert-05-D2gbGoRH.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609181531/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-202609181347/assets/alert-01-BuOD_o_q.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609181531/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-202609181347/assets/alert-02-CS75AsoP.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609181531/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-202609181531/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-202609181531/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-202609181531/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-202609181531/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-202609181347/assets/bip-bop-03-DXp7Zb0f.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609181531/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-202609181347/assets/bip-bop-04-CfVtpI7z.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609181531/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-202609181347/assets/bip-bop-06-BuvNosjK.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609181531/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-202609181347/assets/bip-bop-08-DBf7Bwjz.aac";export{e as default};
1
+ const e="https://cdn.jsdelivr.net/npm/@onescience/onecode-web@1.14.50-202609181531/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-202609181531/assets/bip-bop-09-CxEgoAHQ.aac";export{e as default};
@@ -0,0 +1,15 @@
1
+ import{d as Je,c as k,a as l,i as t,S as g,b as y,e as An,t as s,s as En,r as Ja,g as Ka,f as Vt,h as Zt,j as Xt,k as Ne,l as ea,m as $t,p as mt,n as yt,o as ye,w as it,q as On,u as Ia,M as ze,F as re,v as Y,x as j,y as Rn,z as Ie,A as St,B as ta,C as Ga,D as se,E as Ya,G as Nt,H as kt,I as jn,J as Ae,K as Ct,L as xt,N as It,O as aa,P as Dt,Q as Tt,R as Va,T as Fn,U as _t,V as Da,W as Ta,X as Mn,Y as qn,Z as Un,_ as Bn,$ as wt,a0 as zn,a1 as Nn,a2 as Wn,a3 as Hn,a4 as Qn,a5 as Jn,a6 as Kn,a7 as Gn,a8 as Yn,a9 as Vn,aa as Zn,ab as La,ac as Pa,ad as Xn,ae as er,af as tr,ag as Wt,ah as ar,ai as nr,aj as Za,ak as rr,al as Aa,am as lr,an as Xa,ao as ir,ap as sr,aq as or,ar as cr,as as Ea,at as dr,au as Ht,av as ur,aw as gr,ax as pr,ay as hr,az as Oa,aA as br,aB as rt,aC as fr,aD as vr,aE as $r,aF as mr,aG as yr,aH as Ra,aI as _r}from"./index-DgAWECfr.js";import{m as wr,O as Sr,S as kr,s as Cr}from"./onescience-DSnIhmgh.js";import{DialogProjectUpload as xr}from"./dialog-project-upload-DYXV2LKc.js";import{s as Ir,a as ja,b as Dr,S as Tr}from"./wizard-Bv-16vjG.js";import"./onescience-docs-CH5KBTI9.js";var Lr=s("<p class=os-client-capability-upload-error role=alert>"),Pr=s('<div class=os-client-capability-wizard-overlay role=dialog aria-modal=true aria-label=上传私有模型><button type=button class=os-client-capability-wizard-backdrop aria-label=关闭上传></button><form class=os-client-capability-upload-dialog><header class=os-client-capability-upload-head><div class=os-client-capability-upload-head-copy><div class=os-client-capability-upload-eyebrow>私有资产 · 模型</div><h2>上传私有模型</h2><p>填写与模型卡片一致的基础信息。保存后会出现在当前领域的 onemodel 列表,并标注为私有资产。</p></div><button type=button class=os-client-capability-upload-close aria-label=关闭>×</button></header><div class=os-client-capability-upload-notice role=note><strong>后台登记为 AI 原语</strong><p>AI 原语是后台知识资产体系,不对用户单独展示。上传后会自动登记,供 Agent 检索与编排时利用该模型知识。</p></div><div class=os-client-capability-upload-body><label class=os-client-capability-upload-field><span>名称<span class=os-client-capability-upload-required> *</span></span><small>显示在模型卡片标题</small><input maxlength=64 required placeholder="例如:团队内部微调 MACE"></label><label class=os-client-capability-upload-field><span>简介<span class=os-client-capability-upload-required> *</span></span><small>对应卡片正文,建议 1–2 句说明用途与适用场景</small><textarea maxlength=160 required rows=3 placeholder="例如:面向界面体系的内部势函数,可用于弛豫与短时程 MD 冒烟"></textarea></label><div class=os-client-capability-upload-grid data-cols=2><label class=os-client-capability-upload-field><span>标签<span class=os-client-capability-upload-required> *</span></span><small>逗号分隔,将显示为卡片标签;系统会自动加上「私有」</small><input required placeholder="例如:mlff, 界面, 内部模型"></label><label class=os-client-capability-upload-field><span>领域</span><small>跟随当前能力中心领域,卡片会出现在该领域下</small><input class=is-readonly readonly></label></div></div><footer class=os-client-capability-upload-actions><button type=button>取消</button><button type=submit data-primary=true>保存并发布');function Ar(e){return e.split(/[,,、]/).map(a=>a.trim()).filter(Boolean)}function Er(e){const[a,r]=k(""),[i,n]=k(""),[o,u]=k(""),[c,p]=k(""),b=()=>{r(""),n(""),u(""),p("")},f=()=>{b(),e.onClose()},m=h=>{h.preventDefault();const S=a().trim(),T=i().trim(),z=Ar(o());if(!S||!T||z.length===0){p("请填写名称、简介和至少一个标签,以便生成与现有模型卡片一致的展示信息。");return}const le=En({name:S,blurb:T,tags:z,domain:e.domain});e.onSaved({id:le.id,name:le.name}),f()};return l(g,{get when(){return e.open},get children(){var h=Pr(),S=h.firstChild,T=S.nextSibling,z=T.firstChild,le=z.firstChild,L=le.nextSibling,E=z.nextSibling,v=E.nextSibling,M=v.firstChild,V=M.firstChild,$=V.nextSibling,Z=$.nextSibling,J=M.nextSibling,oe=J.firstChild,ee=oe.nextSibling,W=ee.nextSibling,_=J.nextSibling,D=_.firstChild,q=D.firstChild,R=q.nextSibling,te=R.nextSibling,ge=D.nextSibling,De=ge.firstChild,Q=De.nextSibling,H=Q.nextSibling,K=v.nextSibling,he=K.firstChild;return S.$$click=f,T.addEventListener("submit",m),L.$$click=f,Z.$$input=X=>r(X.currentTarget.value),W.$$input=X=>n(X.currentTarget.value),te.$$input=X=>u(X.currentTarget.value),t(T,l(g,{get when(){return c()},get children(){var X=Lr();return t(X,c),X}}),K),he.$$click=f,y(()=>Z.value=a()),y(()=>W.value=i()),y(()=>te.value=o()),y(()=>H.value=An(e.domain)),h}})}Je(["click","input"]);function Or(e,a){return e.includes("modelscope download --model ")?e:`${e}
2
+
3
+ 【从魔搭下载模型】
4
+ ${wr(a,{kind:"local"})}`}function Rr(e){const a=Ka(e);if(!a)throw new Error(`Unknown capability resource: ${e}`);if(!Vt(a))throw new Error(`Capability resource is not installable: ${e}`);const r=On(a);return{banner:a.install.banner,prompt:r?Or(a.install.prompt,r):a.install.prompt}}function en(e){if(!Ja({navigate:e.navigate,action:{type:"install",resourceId:e.resourceId},isLoggedIn:e.isLoggedIn}))return!1;const a=Ka(e.resourceId);if(!a||!Vt(a))return!1;const{banner:r,prompt:i}=Rr(e.resourceId),n=Zt({path:e.path,recent:e.recent,lastCodeWorkspace:e.lastCodeWorkspace})||Xt(Ne())||ea(document,e.path);if(!n)return!1;const o=$t(n);return mt(o,i),yt(o),e.openProject?.(n),e.touchCode?.(n),ye({variant:"success",title:r}),e.navigate(it(n)),!0}const jr={all:"全部",weather:"地球科学",materials:"材料化学",bio:"生命科学",fluid:"流体仿真"};function Fr(e){switch(e){case"local_fs":return"工作区";case"http_dataset":return"公开网址";case"database":return"数据库";case"remote_workspace":return"远端环境";case"onedata_ref":return"公开数据引用";default:return"其他"}}function Mr(e){return e==="ready"?"可训练":"未就绪"}function Qt(e){if(e.connector==="remote_workspace")return"远端环境上的数据不能发布;请先落到工作区路径后再发布。";if(e.connector==="onedata_ref")return"从公开 OneData 拉回的引用不能直接发布;请对话加工成新的可训练数据后再发布。";if(e.connector==="database"||/^(postgres|mysql):\/\//i.test(e.uri))return"数据库表不能直接发布;请先转化为可训练数据或落到工作区路径后再发布。";if(e.connector==="object_store"||/^(s3|oss|cos):\/\//i.test(e.uri))return"对象存储路径不能直接发布;请使用工作区路径或公开网址。";if(!(e.connector==="local_fs"||e.connector==="http_dataset"||!e.connector))return"当前数据来源不支持发布;请使用工作区路径或公开网址的可训练数据。"}function qr(e){return e.status!=="ready"?!1:!Qt(e)}function Fa(e){const a=e.trim().toLowerCase();if(a.startsWith("http://")||a.startsWith("https://"))return"http_dataset";if(a.startsWith("postgres://")||a.startsWith("mysql://"))return"database"}function Ur(e){switch(e){case"local_fs":return"服务器上可访问的绝对路径(账号工作区或其他有权限的目录)";case"http_dataset":return"公开可访问的网址";case"database":return"已连接数据库中的表";case"remote_workspace":return"已连接远端机器上的文件路径"}}function Br(e,a){const r=a.map(c=>c.replace(/\\/g,"/").trim()).filter(c=>c.startsWith("/")||/^[a-zA-Z]:\//.test(c));if(r.length>0&&r.length===a.length){if(r.length===1){const b=r[0];return[{kind:"file",label:b.split("/").filter(Boolean).at(-1)||b,uri:b}]}const c=zr(r),p=r.slice(0,50).map(b=>({kind:"file",label:b,uri:b}));return c?[{kind:"folder",label:c,uri:c},...p]:p}const i=e.replace(/\/+$/,""),n=a.map(c=>c.replace(/\\/g,"/").replace(/^\/+/,"")).filter(Boolean);if(n.length===0)return[];if(n.length===1)return[{kind:"file",label:n[0],uri:`${i}/${n[0]}`}];const o=tn(n),u=n.slice(0,50).map(c=>({kind:"file",label:c,uri:`${i}/${c}`}));return o?[{kind:"folder",label:o,uri:`${i}/${o}`},...u]:u}function zr(e){const a=tn(e.map(r=>r.replace(/^\/+/,"")));return a?`/${a}`:void 0}function tn(e){const a=e.map(n=>n.split("/").filter(Boolean)),r=a[0];if(!r||r.length===0)return;let i=0;for(;i<r.length-1;){const n=r[i];if(!a.every(o=>o[i]===n))break;i+=1}if(i!==0)return r.slice(0,i).join("/")}function Jt(e){return!e||e<=0?"":e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:`${(e/(1024*1024*1024)).toFixed(1)} GB`}function Nr(e){return e.trim().replace(/[^\w.\u4e00-\u9fff-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80)}function Wr(e,a){const r=e.trim().replace(/\/+$/,""),i=Nr(a)||"dataset";if(/^(https?|s3|oss|cos):\/\//i.test(r))return`onedata/ai-ready/${i}`;const n=r.split(/[/\\]/),o=n.at(-1)??"";if(/\.[A-Za-z0-9]+$/.test(o)){const c=o.replace(/\.[A-Za-z0-9]+$/,""),p=n.slice(0,-1).join("/");return p?`${p}/${c}-ai-ready`:`${c}-ai-ready`}return`${r}-ai-ready`}function Hr(e){return["请使用OneScience技能对原始数据进行数据标准化处理。","",`数据集名称:${e.name}`,`source dir(原始数据):${e.sourceDir}`,`target dir(AI Ready):${e.targetDir}`,"","从 source dir 读取,标准化后写入 target dir。","完成后调用 dataset_report,只传:name(数据集名称)、target_dir(上面的 AI Ready 路径)。","dataset_report 成功后,再调用 register_dataset_primitive,传入 already_id(返回的 alr_*),可选填 title/description/data_schema/usage_notes。","source 已绑定到本会话,血缘会自动挂上;不要写 .onescience/already.json。"].join(`
5
+ `)}function an(e){return e==="workspace"?"已连接的远端":e==="shared_root"?"平台共享盘":"当前执行环境"}const nn={materials:"材料",weather:"地球",fluid:"流体",bio:"生命"};function Kt(e,a){return a?`${nn[e.domain]??e.domain} · ${e.name}`:e.name}function Qr(e,a,r){const i=a.trim().toLowerCase();if(!i)return!0;const n=[e.name,e.id,e.blurb,nn[e.domain]??e.domain,e.domain,Kt(e,r),...e.tags].join(" ").toLowerCase();return i.split(/\s+/).every(o=>n.includes(o))}function Jr(e){const a=["请使用OneScience技能,结合选定模型与可训练数据执行训练。","",`模型:${e.modelName}(${e.modelId})`];return e.scenarioTitle&&(a.push(`场景:${e.scenarioTitle}`),e.scenarioSummary&&a.push(`场景说明:${e.scenarioSummary}`)),a.push(`数据集名称:${e.alreadyName}`,`可训练数据 ID:${e.alreadyId}`,`数据路径:${e.dataUri}`,`训练位置:${an(e.target)}`),e.target==="workspace"&&e.workspaceId&&a.push(`远端环境:${e.workspaceId}`),a.push("","请按该模型的训练流程配置并执行;引用数据时使用上面的可训练数据 ID(datasetRefs)。"),a.join(`
6
+ `)}const Kr=new Set(["csv","tsv","xlsx"]),Gr=new Set(["json","jsonl","ndjson"]),Yr=new Set(["fasta","fa","fna","faa"]),Vr=new Set(["fastq","fq"]),Zr=new Set(["pdb","cif","mmcif","mol","sdf","mol2","xyz","extxyz"]),Xr=new Set(["nc","nc4","cdf","netcdf","h5","hdf5","hdf","he5","npy","npz","mat"]);function rn(e,a){const r=(e.probe?.format_hint||a.format||"unknown").toLowerCase(),i=Jt(e.probe?.logical_bytes),n={title:a.title,format:r,subtitle:[i,Gt(r)].filter(Boolean).join(" · "),samplePath:e.sample_path};if(e.zarr_summary?.arrays?.length)return{...n,kind:"zarr",format:"zarr",subtitle:[i,"Zarr",`${e.zarr_summary.arrays.length} 个数组`].filter(Boolean).join(" · "),cards:e.zarr_summary.arrays.map(o=>({label:o.path||".",value:`${o.shape.join(" × ")} · ${o.dtype}${o.chunks?.length?` · chunks ${o.chunks.join("×")}`:""}`}))};if(e.table_preview){const o=e.table_preview.columns.length?e.table_preview.columns:e.table_preview.rows[0]?Object.keys(e.table_preview.rows[0]):[],u=Math.min(Math.max(o.length,1),12),c=Array.from({length:u},(f,m)=>o[m]??""),p=e.table_preview.rows.slice(0,21).map(f=>c.map(m=>el(f[m]))),b=e.probe?.entry_count;return{...n,kind:"table",format:r==="table"?"table":r||"table",subtitle:[b!==void 0?`约 ${b} 行`:`${p.length} 行样例`,"数据表"].filter(Boolean).join(" · "),headers:c,rows:p}}if(e.directory_listing?.entries.length){const o=e.sample_path||e.directory_listing.sample_path,u=tl(o||"");return{...n,kind:"directory",format:"directory",subtitle:[e.probe?.entry_count?`${e.probe.entry_count} 个文件`:"目录",i].filter(Boolean).join(" · "),entries:e.directory_listing.entries.map(c=>({path:c.path,is_dir:c.is_dir,size:Jt(c.size_bytes)||void 0})),truncated:e.directory_listing.truncated,samplePath:o,nested:e.sample?rn({sample:e.sample,probe:{format_hint:u||"txt"}},{title:o||"样例文件",format:u||"txt"}):void 0}}return e.sample?Kr.has(r)?{...n,kind:"table",...al(e.sample,r)}:Gr.has(r)?{...n,kind:"json",body:ll(e.sample)}:Yr.has(r)?{...n,kind:"fasta",sequences:il(e.sample)}:Vr.has(r)?{...n,kind:"fastq",sequences:sl(e.sample)}:r==="pdf"?{...n,kind:"pdf",lines:e.sample.split(/\n+/).map(o=>o.trim()).filter(Boolean).slice(0,60)}:Xr.has(r)||ol(e.sample)?{...n,kind:"scientific",cards:cl(e.sample),body:e.sample}:Zr.has(r)?{...n,kind:"structure",lines:e.sample.split(`
7
+ `).slice(0,120)}:{...n,kind:"text",body:e.sample,lines:e.sample.split(`
8
+ `).slice(0,160)}:{...n,kind:"empty",body:[i,Gt(r)].filter(Boolean).join(" · ")||"暂无预览内容"}}function Gt(e){return{csv:"CSV 表格",tsv:"TSV 表格",xlsx:"Excel 表格",json:"JSON",jsonl:"JSON Lines",ndjson:"JSON Lines",fasta:"FASTA 序列",fa:"FASTA 序列",fna:"FASTA 序列",faa:"FASTA 序列",fastq:"FASTQ 序列",fq:"FASTQ 序列",pdf:"PDF 文本",pdb:"PDB 结构",cif:"CIF 结构",mmcif:"mmCIF 结构",xyz:"XYZ 结构",extxyz:"EXTXYZ 结构",sdf:"SDF 分子",mol:"MOL 分子",nc:"NetCDF",nc4:"NetCDF",netcdf:"NetCDF",h5:"HDF5",hdf5:"HDF5",npy:"NumPy",npz:"NumPy Archive",mat:"MATLAB",zarr:"Zarr",directory:"目录",table:"数据表",txt:"文本"}[e]||e.toUpperCase()}function el(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean"||typeof e=="bigint")return String(e);if(e instanceof Date)return e.toISOString();try{return JSON.stringify(e)}catch{return String(e)}}function tl(e){const a=e.split("/").filter(Boolean).at(-1)||"";return(a.includes(".")?a.split(".").pop()?.toLowerCase():"")||""}function al(e,a){const r=a==="csv"?",":nl(e),i=e.replace(/\r\n/g,`
9
+ `).split(`
10
+ `).map(c=>c.trimEnd()).filter(c=>c.length>0).slice(0,41);if(i.length===0)return{headers:[],rows:[]};const n=i.map(c=>rl(c,r)),o=Math.min(Math.max(...n.map(c=>c.length),1),12),u=c=>Array.from({length:o},(p,b)=>c[b]??"");return{headers:u(n[0]),rows:n.slice(1,21).map(u)}}function nl(e){const a=e.split(/\r?\n/).find(n=>n.trim())||"",r=(a.match(/\t/g)||[]).length,i=(a.match(/,/g)||[]).length;return r>=i?" ":","}function rl(e,a){if(a===" ")return e.split(" ");const r=[];let i="",n=!1;for(let o=0;o<e.length;o++){const u=e[o];if(u==='"'){n&&e[o+1]==='"'?(i+='"',o+=1):n=!n;continue}if(u===a&&!n){r.push(i),i="";continue}i+=u}return r.push(i),r}function ll(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e.split(`
11
+ `).map(a=>a.trim()).filter(Boolean).slice(0,30).map(a=>{try{return JSON.stringify(JSON.parse(a),null,2)}catch{return a}}).join(`
12
+
13
+ `)}}function il(e){const a=[];let r="",i=[];for(const n of e.split(/\r?\n/)){if(n.startsWith(">")){if((r||i.length)&&a.push({header:r||"sequence",sequence:i.join("")}),a.length>=8)break;r=n.slice(1).trim()||"sequence",i=[];continue}n.trim()&&i.push(n.trim())}return(r||i.length)&&a.length<8&&a.push({header:r||"sequence",sequence:i.join("")}),a}function sl(e){const a=e.split(/\r?\n/),r=[];for(let i=0;i+1<a.length&&r.length<8;i+=4){const n=(a[i]||"").replace(/^@/,"").trim()||"read",o=(a[i+1]||"").trim();o&&r.push({header:n,sequence:o})}return r}function ol(e){return/^(netcdf|hdf5|npy|npz|mat variables):/im.test(e)||/\bshape=\(/i.test(e)}function cl(e){return e.split(`
14
+ `).map(a=>a.trimEnd()).filter(Boolean).slice(0,40).map(a=>{const r=a.match(/^\s*(.+?):\s*(.+)$/);return r?{label:r[1].trim(),value:r[2].trim()}:{label:"",value:a.trim()}})}var dl=s("<span>"),ul=s("<button type=button class=os-onedata-preview-close>关闭"),gl=s("<section aria-label=原始数据预览><header class=os-onedata-preview-head><div class=os-onedata-preview-head-main><span></span><div class=os-onedata-preview-titles><strong></strong></div></div></header><div class=os-onedata-preview-body>"),pl=s("<div class=os-onedata-preview-table-wrap><table class=os-onedata-preview-table><thead><tr></tr></thead><tbody>"),hl=s('<pre class="os-onedata-preview-pre os-onedata-preview-json">'),bl=s("<ul class=os-onedata-preview-seq-list>"),fl=s("<div class=os-onedata-preview-pdf>"),vl=s("<ul class=os-onedata-preview-cards>"),$l=s("<p class=os-onedata-preview-note>仅显示前若干项"),ml=s("<div class=os-onedata-preview-directory><ul class=os-onedata-preview-dir-list>"),yl=s("<div class=os-onedata-preview-structure>"),_l=s("<p class=os-onedata-preview-empty>"),Ma=s("<pre class=os-onedata-preview-pre>"),wl=s("<th>"),Sl=s("<tr>"),kl=s("<td>"),Cl=s("<li><div class=os-onedata-preview-seq-head><span></span><strong></strong><em> bp</em></div><p class=os-onedata-preview-seq-body>"),xl=s("<p>"),Il=s("<span class=os-onedata-preview-card-label>"),qa=s("<span class=os-onedata-preview-card-value>"),Dl=s("<li>"),Tl=s("<em>"),Ll=s("<li><span class=os-onedata-preview-dir-mark></span><code>"),Pl=s("<div class=os-onedata-preview-nested><div class=os-onedata-preview-nested-label>样例文件"),Al=s("<code>");function El(e){return(()=>{var a=gl(),r=a.firstChild,i=r.firstChild,n=i.firstChild,o=n.nextSibling,u=o.firstChild,c=r.nextSibling;return t(n,()=>Gt(e.model.format)),t(u,()=>e.model.title),t(o,l(g,{get when(){return e.model.subtitle},get children(){var p=dl();return t(p,()=>e.model.subtitle),p}}),null),t(r,l(g,{get when(){return e.onClose},get children(){var p=ul();return p.$$click=()=>e.onClose?.(),p}}),null),t(c,l(ln,{get model(){return e.model}})),y(p=>{var b=`os-onedata-preview-pane os-onedata-preview-kind-${e.model.kind}`,f=`os-onedata-preview-badge os-onedata-preview-badge-${Ol(e.model)}`;return b!==p.e&&Ia(a,p.e=b),f!==p.t&&Ia(n,p.t=f),p},{e:void 0,t:void 0}),a})()}function ln(e){return l(Rn,{get fallback(){return(()=>{var a=Ma();return t(a,()=>e.model.body||"暂无预览内容"),a})()},get children(){return[l(ze,{get when(){return Y(()=>e.model.kind==="table")()&&e.model.headers},get children(){var a=pl(),r=a.firstChild,i=r.firstChild,n=i.firstChild,o=i.nextSibling;return t(n,l(re,{get each(){return e.model.headers},children:u=>(()=>{var c=wl();return t(c,u||"—"),c})()})),t(o,l(re,{get each(){return e.model.rows},children:u=>(()=>{var c=Sl();return t(c,l(re,{each:u,children:p=>(()=>{var b=kl();return t(b,p),b})()})),c})()})),a}}),l(ze,{get when(){return e.model.kind==="json"},get children(){var a=hl();return t(a,()=>e.model.body),a}}),l(ze,{get when(){return Y(()=>e.model.kind==="fasta"||e.model.kind==="fastq")()&&e.model.sequences},get children(){var a=bl();return t(a,l(re,{get each(){return e.model.sequences},children:r=>(()=>{var i=Cl(),n=i.firstChild,o=n.firstChild,u=o.nextSibling,c=u.nextSibling,p=c.firstChild,b=n.nextSibling;return t(o,()=>e.model.kind==="fastq"?"@":">"),t(u,()=>r.header),t(c,()=>r.sequence.length,p),t(b,()=>Rl(r.sequence)),i})()})),a}}),l(ze,{get when(){return Y(()=>e.model.kind==="pdf")()&&e.model.lines},get children(){var a=fl();return t(a,l(re,{get each(){return e.model.lines},children:r=>(()=>{var i=xl();return t(i,r),i})()})),a}}),l(ze,{get when(){return Y(()=>e.model.kind==="zarr"||e.model.kind==="scientific")()&&e.model.cards},get children(){var a=vl();return t(a,l(re,{get each(){return e.model.cards},children:r=>(()=>{var i=Dl();return t(i,l(g,{get when(){return r.label},get fallback(){return(()=>{var n=qa();return t(n,()=>r.value),n})()},get children(){return[(()=>{var n=Il();return t(n,()=>r.label),n})(),(()=>{var n=qa();return t(n,()=>r.value),n})()]}})),i})()})),a}}),l(ze,{get when(){return e.model.kind==="directory"},get children(){var a=ml(),r=a.firstChild;return t(r,l(re,{get each(){return e.model.entries},children:i=>(()=>{var n=Ll(),o=n.firstChild,u=o.nextSibling;return t(o,()=>i.is_dir?"DIR":"FILE"),t(u,()=>i.path),t(n,l(g,{get when(){return i.size},get children(){var c=Tl();return t(c,()=>i.size),c}}),null),y(()=>j(n,"data-dir",i.is_dir?"true":"false")),n})()})),t(a,l(g,{get when(){return e.model.truncated},get children(){return $l()}}),null),t(a,l(g,{get when(){return e.model.nested},children:i=>(()=>{var n=Pl(),o=n.firstChild;return o.firstChild,t(o,(()=>{var u=Y(()=>!!e.model.samplePath);return()=>u()?` · ${e.model.samplePath}`:""})(),null),t(n,l(ln,{get model(){return i()}}),null),n})()}),null),a}}),l(ze,{get when(){return Y(()=>e.model.kind==="structure")()&&e.model.lines},get children(){var a=yl();return t(a,l(re,{get each(){return e.model.lines},children:r=>(()=>{var i=Al();return t(i,r||" "),y(()=>j(i,"data-kind",jl(r))),i})()})),a}}),l(ze,{get when(){return e.model.kind==="empty"},get children(){var a=_l();return t(a,()=>e.model.body),a}}),l(ze,{get when(){return Y(()=>e.model.kind==="text")()&&e.model.lines},get children(){var a=Ma();return t(a,()=>e.model.lines.join(`
15
+ `)),a}})]}})}function Ol(e){return e.kind==="table"?"table":e.kind==="json"?"json":e.kind==="fasta"||e.kind==="fastq"?"seq":e.kind==="pdf"?"pdf":e.kind==="directory"?"dir":e.kind==="zarr"||e.kind==="scientific"?"sci":e.kind==="structure"?"struct":"text"}function Rl(e){return e.replace(/(.{10})/g,"$1 ").trim()}function jl(e){return/^(ATOM|HETATM)\b/.test(e)?"atom":/^(HEADER|TITLE|COMPND|SOURCE|KEYWDS|EXPDTA|AUTHOR|REMARK|SEQRES|CRYST1|MODEL|ENDMDL|END|DATA_|loop_)\b/i.test(e)?"meta":"plain"}Je(["click"]);var Ua=s("<button type=button class=os-client-capability-filter-select-option role=option>"),Fl=s("<div class=os-client-capability-filter-select-menu role=listbox>"),Ml=s("<div class=os-client-capability-filter-select><button type=button class=os-client-capability-filter-select-trigger aria-haspopup=listbox><span class=os-client-capability-filter-select-value></span><span class=os-client-capability-filter-select-chevron aria-hidden=true>");function lt(e){const[a,r]=k(!1);let i;const n=()=>e.options.find(u=>u.value===e.value)?.label??"",o=()=>!e.value;return Ie(()=>{if(!a())return;const u=p=>{i?.contains(p.target)||r(!1)},c=p=>{p.key==="Escape"&&r(!1)};document.addEventListener("pointerdown",u),document.addEventListener("keydown",c),St(()=>{document.removeEventListener("pointerdown",u),document.removeEventListener("keydown",c)})}),(()=>{var u=Ml(),c=u.firstChild,p=c.firstChild,b=i;return typeof b=="function"?ta(b,u):i=u,c.$$click=f=>{f.stopPropagation(),e.onFocusTab?.(),r(m=>!m)},t(p,(()=>{var f=Y(()=>!!o());return()=>f()?e.placeholder:n()})()),t(u,l(g,{get when(){return a()},get children(){var f=Fl();return t(f,l(g,{get when(){return Y(()=>!!e.uploadLabel)()&&e.onUpload},get children(){var m=Ua();return m.$$click=h=>{h.stopPropagation(),r(!1),e.onUpload?.()},t(m,()=>e.uploadLabel),m}}),null),t(f,l(re,{get each(){return e.options},children:m=>(()=>{var h=Ua();return h.$$click=S=>{S.stopPropagation(),r(!1),e.onChange(m.value)},t(h,()=>m.label),y(S=>{var T=m.value===e.value,z=m.value===e.value;return T!==S.e&&h.classList.toggle("is-selected",S.e=T),z!==S.t&&j(h,"aria-selected",S.t=z),S},{e:void 0,t:void 0}),h})()}),null),y(()=>j(f,"aria-label",e["aria-label"])),f}}),null),y(f=>{var m=o()?"true":"false",h=a()?"true":"false",S=e["aria-label"],T=a();return m!==f.e&&j(u,"data-empty",f.e=m),h!==f.t&&j(u,"data-open",f.t=h),S!==f.a&&j(c,"aria-label",f.a=S),T!==f.o&&j(c,"aria-expanded",f.o=T),f},{e:void 0,t:void 0,a:void 0,o:void 0}),u})()}Je(["click"]);var ql=s("<div class=os-onedata-train-field><span>模型</span><input type=search class=os-onedata-train-search aria-label=搜索模型 placeholder=搜索模型名称、标签或领域…><div class=os-onedata-train-model-list role=listbox aria-label=可选模型>"),Ul=s("<div class=os-onedata-train-select-menu role=listbox aria-label=选择场景>"),Bl=s("<div class=os-onedata-train-field><span>场景</span><div class=os-onedata-train-select><button type=button class=os-onedata-train-select-trigger aria-label=选择场景 aria-haspopup=listbox><span class=os-onedata-train-select-value></span><span class=os-onedata-train-select-chevron aria-hidden=true>"),zl=s("<div class=os-onedata-train-body><p class=os-onedata-train-hint>已选定可训练数据「<!>」。搜索并选择模型<!>,确认后进入对话。</p><div class=os-onedata-train-meta><div class=os-onedata-train-card><span>可训练数据</span><strong> · </strong><em></em></div><div class=os-onedata-train-card><span>训练位置</span><strong></strong></div></div><div class=os-onedata-train-actions><button type=button>取消</button><button type=button class=os-onedata-action-primary>进入训练对话"),Nl=s("<p class=os-onedata-train-hint>当前领域暂无可用模型,请先到能力中心安装或切换领域。"),Wl=s("<p class=os-onedata-train-empty>没有匹配「<!>」的模型"),Hl=s("<button type=button role=option class=os-onedata-train-model-option><strong></strong><em>"),Ql=s("<span> · "),Jl=s("<p class=os-onedata-train-blurb>已选:"),Kl=s("<button type=button role=option class=os-onedata-train-select-option>");function Gl(e){return(Nt(e==="all"?void 0:e).find(r=>r.id==="onemodel")?.items??[]).filter(r=>kt(r))}function Ba(e){const a=Ga(),r=se(()=>Gl(e.domain)),[i,n]=k(""),[o,u]=k(""),[c,p]=k(""),[b,f]=k(!1),m=()=>e.domain==="all";let h;Ie(()=>{const v=r();if(v.length===0){n(""),u("");return}v.some(M=>M.id===i())||(n(v[0].id),u(v[0].scenarios[0]?.id??""))});const S=se(()=>r().find(v=>v.id===i())),T=se(()=>S()?.scenarios??[]),z=se(()=>r().filter(v=>Qr(v,c(),m()))),le=se(()=>T().find(v=>v.id===o())?.title??"选择训练场景");Ie(()=>{const v=T();if(v.length===0){u(""),f(!1);return}v.some(M=>M.id===o())||u(v[0].id)}),Ie(()=>{if(!b())return;const v=V=>{h?.contains(V.target)||f(!1)},M=V=>{V.key==="Escape"&&f(!1)};document.addEventListener("pointerdown",v),document.addEventListener("keydown",M),St(()=>{document.removeEventListener("pointerdown",v),document.removeEventListener("keydown",M)})});const L=v=>{n(v);const M=r().find(V=>V.id===v);u(M?.scenarios[0]?.id??""),f(!1)},E=()=>{const v=S();if(!v)return;const M=T().find(V=>V.id===o());e.onConfirm({resource:v,scenario:M}),a.close()};return l(Ya,{title:"用于训练:选择模型",size:"large",fit:!0,class:"os-onedata-train-dialog",get children(){var v=zl(),M=v.firstChild,V=M.firstChild,$=V.nextSibling,Z=$.nextSibling,J=Z.nextSibling;J.nextSibling;var oe=M.nextSibling,ee=oe.firstChild,W=ee.firstChild,_=W.nextSibling,D=_.firstChild,q=_.nextSibling,R=ee.nextSibling,te=R.firstChild,ge=te.nextSibling,De=oe.nextSibling,Q=De.firstChild,H=Q.nextSibling;return t(M,()=>e.already.title,$),t(M,()=>T().length?"与场景":"",J),t(_,()=>e.already.title,D),t(_,()=>e.already.id,null),t(q,()=>e.already.uri),t(ge,()=>an(e.trainTarget),null),t(ge,(()=>{var K=Y(()=>!!(e.trainTarget==="workspace"&&e.workspaceId));return()=>K()?` · ${e.workspaceId}`:""})(),null),t(v,l(g,{get when(){return r().length>0},get fallback(){return Nl()},get children(){return[(()=>{var K=ql(),he=K.firstChild,X=he.nextSibling,Me=X.nextSibling;return X.$$input=_e=>p(_e.currentTarget.value),t(Me,l(g,{get when(){return z().length>0},get fallback(){return(()=>{var _e=Wl(),ce=_e.firstChild,de=ce.nextSibling;return de.nextSibling,t(_e,()=>c().trim(),de),_e})()},get children(){return l(re,{get each(){return z()},children:_e=>(()=>{var ce=Hl(),de=ce.firstChild,Te=de.nextSibling;return ce.$$click=()=>L(_e.id),t(de,()=>Kt(_e,m())),t(Te,()=>_e.blurb),y($e=>{var je=_e.id===i(),ke=_e.id===i();return je!==$e.e&&j(ce,"aria-selected",$e.e=je),ke!==$e.t&&ce.classList.toggle("is-selected",$e.t=ke),$e},{e:void 0,t:void 0}),ce})()})}})),y(()=>X.value=c()),K})(),l(g,{get when(){return S()},children:K=>(()=>{var he=Jl();return he.firstChild,t(he,()=>Kt(K(),m()),null),t(he,l(g,{get when(){return K().tags.length>0},get children(){var X=Ql();return X.firstChild,t(X,()=>K().tags.slice(0,4).join(" · "),null),X}}),null),he})()}),l(g,{get when(){return T().length>0},get children(){var K=Bl(),he=K.firstChild,X=he.nextSibling,Me=X.firstChild,_e=Me.firstChild,ce=h;return typeof ce=="function"?ta(ce,X):h=X,Me.$$click=()=>f(de=>!de),t(_e,le),t(X,l(g,{get when(){return b()},get children(){var de=Ul();return t(de,l(re,{get each(){return T()},children:Te=>(()=>{var $e=Kl();return $e.$$click=()=>{u(Te.id),f(!1)},t($e,()=>Te.title),y(je=>{var ke=Te.id===o(),Ve=Te.id===o();return ke!==je.e&&j($e,"aria-selected",je.e=ke),Ve!==je.t&&$e.classList.toggle("is-selected",je.t=Ve),je},{e:void 0,t:void 0}),$e})()})),de}}),null),y(de=>{var Te=b()?"true":"false",$e=b();return Te!==de.e&&j(X,"data-open",de.e=Te),$e!==de.t&&j(Me,"aria-expanded",de.t=$e),de},{e:void 0,t:void 0}),K}})]}}),De),Q.$$click=()=>a.close(),H.$$click=E,y(K=>{var he=e.already.uri,X=!S();return he!==K.e&&j(q,"title",K.e=he),X!==K.t&&(H.disabled=K.t=X),K},{e:void 0,t:void 0}),v}})}Je(["input","click"]);var Yl=s("<p class=os-onedata-error>"),Vl=s('<div class=os-onedata-primitive-body><p class=os-onedata-primitive-hint>可训练数据已就绪。补充几项说明,方便 Agent 正确加载这份数据。可稍后补全。</p><label class=os-onedata-field><span>名称</span><input required></label><label class=os-onedata-field><span>一句话说明(可选)</span><input placeholder=例如:论文表格清洗后的训练集></label><label class=os-onedata-field><span>数据长什么样(可选)</span><input placeholder="例如:csv 列 title,year,abstract"></label><label class=os-onedata-field><span>怎么用 / 注意点(可选)</span><textarea rows=3 placeholder="例如:仅英文摘要;训练时按 year 过滤"></textarea></label><div class=os-onedata-primitive-actions><button type=button>稍后补全</button><button type=button class=os-onedata-action-primary>');function Bt(e){const[a,r]=k(e.already.title||""),[i,n]=k(""),[o,u]=k(e.already.format||""),[c,p]=k(""),[b,f]=k(!1),[m,h]=k(""),S=async()=>{const T=a().trim();if(!T){h("请填写名称");return}f(!0),h("");try{await jn(e.serverUrl,e.already.id,{title:T,...i().trim()?{description:i().trim()}:{},...o().trim()?{data_schema:o().trim()}:{},...c().trim()?{usage_notes:c().trim()}:{}}),ye({variant:"success",title:"数据说明已保存",description:"已绑定到这条可训练数据,可供 Agent / 任务使用。"}),e.onDone()}catch(z){h(Ae(z,"保存数据说明失败"))}finally{f(!1)}};return l(Ya,{title:"补充数据说明",size:"normal",fit:!0,class:"os-onedata-primitive-dialog",get children(){var T=Vl(),z=T.firstChild,le=z.nextSibling,L=le.firstChild,E=L.nextSibling,v=le.nextSibling,M=v.firstChild,V=M.nextSibling,$=v.nextSibling,Z=$.firstChild,J=Z.nextSibling,oe=$.nextSibling,ee=oe.firstChild,W=ee.nextSibling,_=oe.nextSibling,D=_.firstChild,q=D.nextSibling;return E.$$input=R=>r(R.currentTarget.value),V.$$input=R=>n(R.currentTarget.value),J.$$input=R=>u(R.currentTarget.value),W.$$input=R=>p(R.currentTarget.value),t(T,l(g,{get when(){return m()},get children(){var R=Yl();return t(R,m),R}}),_),D.$$click=()=>e.onSkip(),q.$$click=()=>void S(),t(q,()=>b()?"保存中…":"保存"),y(R=>{var te=b(),ge=b();return te!==R.e&&(D.disabled=R.e=te),ge!==R.t&&(q.disabled=R.t=ge),R},{e:void 0,t:void 0}),y(()=>E.value=a()),y(()=>V.value=i()),y(()=>J.value=o()),y(()=>W.value=c()),T}})}Je(["input","click"]);var Zl=s("<div class=os-onedata-subtabs role=tablist aria-label=可训练数据范围><button type=button>我的</button><button type=button>已公开"),Xl=s("<p class=os-client-capability-empty>登录后才能查看和接入自己的数据。"),ei=s("<p class=os-onedata-error>"),ti=s("<div class=os-onedata-actions><button type=button>从这台电脑上传到工作区"),ai=s("<label class=os-onedata-field><span>名称</span><input placeholder=可选,不填则使用路径或网址>"),ni=s("<label class=os-onedata-field><span>数据位置</span><input required>"),ri=s("<div class=os-onedata-field><span>登记粒度"),li=s("<p class=os-onedata-upload-hint>默认登记整个文件夹为一条原始数据;若只要某个文件可预览,可改选「仅文件」。"),za=s("<div class=os-onedata-field><span>远端环境"),ii=s("<button type=submit>接入"),si=s("<form class=os-onedata-register><strong>接入原始数据</strong><p class=os-onedata-upload-hint>「工作区路径」是 OneCode 部署机器上的账号目录,不是你浏览器所在电脑的盘符。若数据在 Windows/Mac,请先上传到工作区,或改用公开网址 / 数据库 / 已连接远端。</p><div class=os-onedata-field><span>来源</span><div class=os-onedata-source-pills role=radiogroup aria-label=数据来源><button type=button role=radio>工作区路径</button><button type=button role=radio>公开网址</button><button type=button role=radio>数据库</button><button type=button role=radio>已连接的远端"),ft=s("<ul class=os-onedata-list>"),oi=s('<form class="os-onedata-register os-onedata-register-nested"><strong>我的数据库连接</strong><p class=os-onedata-upload-hint>先保存连接,再从表/视图多选登记为原始数据。一条原始数据对应一张表。</p><div class=os-onedata-field><span>引擎</span></div><label class=os-onedata-field><span>主机</span><input required></label><label class=os-onedata-field><span>端口</span><input required></label><label class=os-onedata-field><span>数据库</span><input required></label><label class=os-onedata-field><span>用户名</span><input required></label><label class=os-onedata-field><span>密码</span><input required type=password></label><label class=os-onedata-field><span>备注名(可选)</span><input placeholder=例如:文献库></label><button type=submit>保存连接'),ci=s("<p class=os-client-capability-empty>还没有原始数据。可<button type=button class=os-onedata-stage-link>从公开目录获取</button>,从这台电脑上传到工作区,或填写工作区路径 / 公开网址 / 已连接数据库中的表 / 已连接远端路径。工作区路径须在账号目录内(通常是 …/workspaces/你的账号/…)。"),di=s("<span class=os-onedata-chip-hint>需要先有一个当前工程下的会话。请在左侧打开或新建会话后再回来点这里。"),ui=s("<span class=os-onedata-chip-hint>勾选上方列表中的原始数据后可点击"),gi=s("<div class=os-onedata-chip-row><button type=button class=os-onedata-chip-btn>"),pi=s("<div class=os-onedata-actions><div class=os-onedata-field><span>训练位置"),hi=s("<p class=os-client-capability-empty>"),bi=s('<section class="os-client-capability-resource-panel os-onedata-catalog"><header class="os-client-capability-page-section-head os-client-capability-page-section-head-active"><p></p></header><div class=os-onedata-pipeline role=tablist aria-label="OneData 数据流程:获取、登记、就绪"><button type=button class=os-onedata-stage-tab><span class=os-onedata-stage-index aria-hidden=true>①</span><span class=os-onedata-stage-copy><span class=os-onedata-stage-title>公开目录</span><span class=os-onedata-stage-desc>获取 · 浏览下载</span></span></button><span class=os-onedata-pipeline-sep aria-hidden=true>→</span><button type=button class=os-onedata-stage-tab><span class=os-onedata-stage-index aria-hidden=true>②</span><span class=os-onedata-stage-copy><span class=os-onedata-stage-title>原始数据</span><span class=os-onedata-stage-desc>登记 · 待加工</span></span></button><span class=os-onedata-pipeline-sep aria-hidden=true>→</span><button type=button class=os-onedata-stage-tab><span class=os-onedata-stage-index aria-hidden=true>③</span><span class=os-onedata-stage-copy><span class=os-onedata-stage-title>可训练数据</span><span class=os-onedata-stage-desc>就绪 · 可使用'),fi=s("<p class=os-onedata-upload-hint>还没有已连接的远端,请先在资源里添加 SSH 节点。"),vi=s('<div class="os-onedata-register os-onedata-register-nested"><strong>我的数据库连接</strong><p class=os-onedata-upload-hint>数据库接入暂未启用。服务端需配置 <code>ONECODE_OBJECT_STORE_MASTER_KEY</code>(32 字节 base64)并重启后可用;若你不是管理员,请联系部署方。'),$i=s("<li><span><small> · <!> · </small></span><div class=os-onedata-actions><button type=button></button><button type=button class=os-onedata-action-danger>删除"),mi=s("<p class=os-onedata-upload-hint>正在加载表…"),yi=s("<p class=os-onedata-upload-hint>该连接下没有可登记的表或视图。"),_i=s("<div class=os-onedata-actions><button type=button class=os-onedata-action-primary>"),wi=s('<div class="os-onedata-register os-onedata-register-nested"><strong>从表登记 · '),Si=s("<li><label class=os-onedata-raw-pick><input type=checkbox><span class=os-onedata-raw-pick-body><strong></strong><small>"),ki=s("<li class=os-onedata-group-header>"),Ci=s("<button type=button class=os-onedata-card-open>打开"),xi=s("<button type=button title=可选:物化后登记为可训练数据>"),Ii=s("<li><div class=os-onedata-raw-head><input type=checkbox class=os-onedata-raw-check><span class=os-onedata-raw-pick-body><span class=os-onedata-card-title-row><strong></strong></span><span class=os-onedata-card-chips></span><small></small></span></div><div class=os-onedata-actions><button type=button class=os-onedata-action-primary></button><button type=button></button><button type=button class=os-onedata-action-primary></button><button type=button class=os-onedata-action-danger>删除"),Na=s("<span class=os-onedata-card-chip>"),Di=s("<p class=os-onedata-upload-hint>还没有已连接的远端。"),Ti=s("<button type=button class=os-onedata-action-primary>补充说明"),Li=s("<button type=button class=os-onedata-action-primary>发布"),Pi=s("<button type=button>取消发布"),Ai=s("<button type=button class=os-onedata-action-primary>接入为我的原始数据"),Ei=s("<button type=button class=os-onedata-action-primary>"),Oi=s("<button type=button class=os-onedata-action-danger>删除"),Ri=s("<li><strong></strong><span class=os-onedata-card-chips></span><small></small><div class=os-onedata-actions>"),ji=s("<button type=button class=os-onedata-stage-link>去登记原始数据"),Fi=s("<button type=button class=os-onedata-stage-link>从公开目录获取");function Mi(e){const a=Ct(),r=xt(),i=It(),n=aa(),o=Dt(),u=Ga(),c=se(()=>new URLSearchParams(n.search)),p=se(()=>{const d=c().get("onedata");return d==="already"?"already":d==="raw"?"raw":"catalog"}),b=se(()=>c().get("already")==="public"?"public":"mine"),[f,m]=k([]),[h,S]=k([]),[T,z]=k(!1),[le,L]=k(""),[E,v]=k(!1),[M,V]=k(""),[$,Z]=k(""),[J,oe]=k("local_fs"),[ee,W]=k(""),[_,D]=k([]),[q,R]=k(),[te,ge]=k(),[De,Q]=k([]),[H,K]=k([]),[he,X]=k([]),[Me,_e]=k(),[ce,de]=k("local"),[Te,$e]=k([]),[je,ke]=k(!1),[Ve,pn]=k("postgres"),[Lt,na]=k(""),[ra,la]=k("5432"),[Pt,ia]=k(""),[At,sa]=k(""),[Et,oa]=k(""),[Ot,ca]=k(""),[ot,Rt]=k(""),[ct,dt]=k([]),[jt,Ge]=k([]),[Ft,da]=k(!1),[ua,Mt]=k(1),[ga,qt]=k(1),we=()=>a.current?.http.url,Ze=()=>!!Ne(),Fe=se(()=>Zt({path:r.data.path,recent:Tt(r.data.project??[]),lastCodeWorkspace:a.projects.lastCode()})||Va(Ne(),a.projects.lastCode())||Xt(Ne())||ea(document,r.data.path)),Ue=se(()=>{const d=Fe();if(!d)return;const C=Fn(d);if(C)return C;const[O]=r.child(d,{bootstrap:!1});return(O.session??[]).find(I=>!I.parentID&&!I.time?.archived)?.id});Ie(()=>{const d=Fe();!d||!Ze()||r.project.loadSessions(d)});const hn=se(()=>jr[e.domain]),bn=se(()=>p()==="raw"?"登记你自己的数据源(工作区路径、公开网址、数据库表、远端路径,或从公开目录下载 / 本机上传)。可预览;经对话加工后才会进入「可训练数据」。":p()==="already"?b()==="public"?"已发布的可训练数据,可供他人使用;也可接入为自己的原始数据再加工。":"已标准化、可直接用于训练的数据;发布后会出现在「已公开」。":`${e.copy.replace(/[。.]$/,"")}。浏览可下载的公开源;下载后需到「原始数据」登记才能加工。`),[fn,vn]=k(),[$n,pa]=k(!1),mn=()=>{const d=Fe();if(!d){L("请先打开个人工作区项目,再上传文件");return}u.show(()=>l(xr,{directory:d,pathPrefix:"onedata",allowEditDestination:!0,title:"从这台电脑上传到工作区",destinationLabel:"上传目标路径(OneCode 所在环境)",destinationHint:"默认写到当前工作区的 onedata/ 目录。可改成服务器上其他可写路径;单文件不超过 200 MB,单次合计不超过 512 MB。上传不会自动登记。",maxFileBytes:Vn,maxTotalBytes:Yn,onUploadedPaths:C=>{const O=Br(d,C);if(O.length===0)return;Q(O);const I=O[0];if(oe("local_fs"),Z(I.uri),!M().trim()){const G=I.label.split("/").filter(Boolean).at(-1);G&&V(G)}L("")}}))},We=d=>{const C=new URLSearchParams(n.search);for(const[O,I]of Object.entries(d))I?C.set(O,I):C.delete(O);C.set("category","onedata"),o(`${n.pathname}?${C}`)},ut=d=>{R(void 0),ge(void 0),We({onedata:d==="catalog"?"":d,register:""})},ha=()=>{R(void 0),ge(void 0),We({onedata:"raw",register:"1"})},ba=()=>ut("catalog");let Xe=0;const Oe=async()=>{const d=++Xe,C=b(),O=e.domain==="all"?void 0:e.domain,I=we();if(!I||!Ze()){if(d!==Xe)return;m([]),S([]),$e([]),ke(!1),z(!1);return}L(""),S([]),z(!0);try{const[G,Ce,be,Be]=await Promise.all([Qn(I,{domain:O}),Jn(I,{scope:C,domain:O}),Kn(I).catch(()=>[]),Gn(I).catch(()=>({items:[],configured:!1}))]);if(d!==Xe)return;m(G.items),S(C==="public"?Ce.items.filter(Re=>Re.visibility==="public"):Ce.items),D(be.filter(Re=>Re.id.startsWith("wrk_")).map(Re=>({id:Re.id,name:Re.name||Re.id}))),$e(Be.items),ke(Be.configured!==!1)}catch(G){if(d!==Xe)return;L(G instanceof Error?G.message:"无法加载数据")}finally{d===Xe&&z(!1)}};Ie(()=>{e.domain,p(),b(),Oe()}),Ie(()=>{e.domain,p(),b(),Mt(1),qt(1)}),Ie(()=>{if(p()!=="raw")return;const d=c(),C=d.get("rawUri")?.trim(),O=d.get("rawTitle")?.trim();if(C){Z(C);const I=Fa(C);I&&oe(I)}O&&V(O)}),Ie(()=>{if(p()!=="raw"||c().get("register")!=="1")return;const d=fn();if(!d)return;We({register:""}),pa(!0),requestAnimationFrame(()=>{d.scrollIntoView({behavior:"smooth",block:"start"})});const C=window.setTimeout(()=>pa(!1),1600);St(()=>window.clearTimeout(C))});const yn=se(()=>h().filter(d=>d.status==="ready")),fa=se(()=>Te().find(d=>d.id===ot())),et=se(()=>_t(f(),ua(),Da));Ie(()=>{const d=et().page;d!==ua()&&Mt(d)});const tt=se(()=>_t(h(),ga(),Da));Ie(()=>{const d=tt().page;d!==ga()&&qt(d)});const _n=se(()=>{const d=Te(),C=new Map,O=[];for(const G of et().pageItems){if(G.connector!=="database"){O.push(G);continue}const Ce=qi(G.uri)??"unknown",be=C.get(Ce)??[];be.push(G),C.set(Ce,be)}const I=[];for(const[G,Ce]of C){I.push({kind:"header",key:`hdr-${G}`,label:vt(d.find(be=>be.id===G),G)});for(const be of Ce)I.push({kind:"item",key:be.id,item:be})}for(const G of O)I.push({kind:"item",key:G.id,item:G});return I}),va=async d=>{const C=we();if(!C||!d){dt([]),Ge([]);return}da(!0),L("");try{const O=await Zn(C,d);dt(O.items),Ge([])}catch(O){dt([]),Ge([]),L(Ae(O,"加载表失败"))}finally{da(!1)}},wn=async()=>{const d=we(),C=fa();if(!d||!C)return;const O=ct().filter(I=>jt().includes(Wa(I)));if(O.length===0){L("请先勾选要登记的表");return}v(!0),L("");try{for(const I of O){const G=Ui(C.engine,C.id,I.schema,I.name);await Ta(d,{title:I.schema?`${I.schema}.${I.name}`:`${C.database}.${I.name}`,domain:e.domain==="all"?"unspecified":e.domain,uri:G,connector:"database"})}Ge([]),await Oe(),ye({variant:"success",title:"已登记为原始数据",description:`已登记 ${O.length} 张表。`})}catch(I){L(Ae(I,"登记失败"))}finally{v(!1)}},$a=d=>[d.format,d.connector?Fr(d.connector):"",Jt(d.logical_bytes),d.status?Mr(d.status):"",d.visibility==="public"?"已公开":"",d.build_method==="agent"?"对话加工":"",d.status==="ready"&&d.primitive_complete!==!0?"说明未补全":""].filter(C=>!!C),Sn=d=>Hr({name:d.title.trim()||d.id,sourceDir:d.uri,targetDir:Wr(d.uri,d.title.trim()||d.id)}),ma=async d=>{const C=we(),O=Ue();if(!C){L("无法连接服务器,请刷新后重试");return}if(!O){L("请先在左侧打开或新建一个会话,再挂到会话");return}if(d.length===0){L("请先勾选要挂到会话的原始数据");return}v(!0),L("");try{const I=await La(C,O),G=Array.from(new Set([...I.raw_ids,...d]));await Pa(C,O,G),window.dispatchEvent(new Event("onedata-session-chips-changed")),K([]),_e(O),X(Ce=>Array.from(new Set([...Ce,...d]))),d.length>1&&ye({variant:"success",title:"已挂到当前会话",description:`共 ${G.length} 项。可在会话输入框内查看「原始数据」。`})}catch(I){L(Ae(I,"挂到会话失败"))}finally{v(!1)}},kn=()=>{const d=Fe(),C=Me();!d||!C||o(it(d,C))},Cn=async d=>{if(d.connector==="onedata_ref"){L("从公开 OneData 拉回的引用不能直接转换,请使用「对话加工」。");return}const C=we();if(C){v(!0),L("");try{const O=await Xn(C,d.id);te()===d.id&&(R(void 0),ge(void 0)),We({onedata:"already",already:"mine"}),await Oe(),ye({variant:"success",title:"已转为可训练数据",description:`「${d.title}」已出现在「可训练数据 → 我的」。可补充数据说明。`}),u.show(()=>l(Bt,{serverUrl:C,already:O,onDone:()=>{u.close(),Oe()},onSkip:()=>{u.close(),ye({variant:"default",title:"已跳过数据说明",description:"可训练数据仍可用;用于训练前可再补全说明。"})}}))}catch(O){L(Ae(O,"转为可训练数据失败")),ye({variant:"error",title:"转为可训练数据失败",description:Ae(O,"转为可训练数据失败")})}finally{v(!1)}}},xn=async d=>{const C=Fe();if(!C){L("请先打开个人工作区项目,再对话加工"),ye({variant:"error",title:"无法打开对话",description:"未检测到工作目录,请先打开个人工作区"});return}const O=we(),I=Ue(),G=Sn(d),Ce=$t(C);v(!0),L("");try{if(mt(Ce,G,{rawIds:[d.id]}),I||yt(Ce),i.projects.open(C),a.projects.touchCode(C),o(it(C,I)),ye({variant:"success",title:"已进入对话加工",description:"标准化提示词已预填,发送后由 Agent 处理。"}),O&&I)try{const be=await La(O,I),Be=Array.from(new Set([...be.raw_ids,d.id]));await Pa(O,I,Be),window.dispatchEvent(new Event("onedata-session-chips-changed")),K(Re=>Re.filter(gt=>gt!==d.id))}catch{}}catch(be){L(Ae(be,"打开对话加工失败")),ye({variant:"error",title:"打开对话失败",description:Ae(be,"打开对话加工失败")})}finally{v(!1)}},ya=d=>{if(!Fe()){L("请先打开个人工作区项目,再用于训练"),ye({variant:"error",title:"无法用于训练",description:"未检测到工作目录,请先打开个人工作区"});return}if(d.status!=="ready"){L("只有状态为「可训练」的数据才能用于训练");return}if(ce()==="workspace"&&!ee()){L("请选择要运行训练的远端环境");return}const C=we();if(C&&d.primitive_complete!==!0){ye({variant:"default",title:"请先补充数据说明",description:"补充说明后再用于训练,便于 Agent 正确加载数据。"}),u.show(()=>l(Bt,{serverUrl:C,already:d,onDone:()=>{u.close(),Oe().then(()=>{const O=h().find(I=>I.id===d.id)??{...d,primitive_complete:!0};ya(O)})},onSkip:()=>{u.close(),u.show(()=>l(Ba,{already:d,get domain(){return e.domain},get trainTarget(){return ce()},get workspaceId(){return ee()},onConfirm:({resource:O,scenario:I})=>void _a(d,O,I)}))}}));return}u.show(()=>l(Ba,{already:d,get domain(){return e.domain},get trainTarget(){return ce()},get workspaceId(){return ee()},onConfirm:({resource:O,scenario:I})=>void _a(d,O,I)}))},_a=async(d,C,O)=>{const I=Fe();if(!I)return;const G=we(),Ce=Ue(),be=Jr({alreadyName:d.title.trim()||d.id,alreadyId:d.id,dataUri:d.uri,modelName:C.name,modelId:C.id,...O?{scenarioTitle:O.title,scenarioSummary:O.summary}:{},target:ce(),...ce()==="workspace"?{workspaceId:ee()}:{}}),Be=$t(I);v(!0),L("");try{if(G)try{await er(G,d.id,{target:ce(),...ce()==="workspace"?{workspace_id:ee()}:{}})}catch{}mt(Be,be),Ce||yt(Be),i.projects.open(I),a.projects.touchCode(I),o(it(I,Ce)),ye({variant:"success",title:"已进入训练对话",description:`已绑定「${C.name}」与可训练数据,提示词已预填。`})}catch(Re){L(Ae(Re,"用于训练失败")),ye({variant:"error",title:"用于训练失败",description:Ae(Re,"用于训练失败")})}finally{v(!1)}};return(()=>{var d=bi(),C=d.firstChild,O=C.firstChild,I=C.nextSibling,G=I.firstChild,Ce=G.nextSibling,be=Ce.nextSibling,Be=be.firstChild,Re=Be.nextSibling,gt=Re.firstChild;gt.firstChild;var In=be.nextSibling,Ut=In.nextSibling,Dn=Ut.firstChild,Tn=Dn.nextSibling,wa=Tn.firstChild;return wa.firstChild,t(O,bn),G.$$click=()=>ut("catalog"),be.$$click=()=>ut("raw"),t(gt,(()=>{var P=Y(()=>!!f().length);return()=>P()?` ${f().length}`:""})(),null),Ut.$$click=()=>ut("already"),t(wa,(()=>{var P=Y(()=>!!h().length);return()=>P()?` ${h().length}`:""})(),null),t(d,l(g,{get when(){return p()==="already"},get children(){var P=Zl(),A=P.firstChild,U=A.nextSibling;return A.$$click=()=>We({already:"mine"}),U.$$click=()=>We({already:"public"}),y(w=>{var ae=b()==="mine",Le=b()==="public";return ae!==w.e&&j(A,"aria-pressed",w.e=ae),Le!==w.t&&j(U,"aria-pressed",w.t=Le),w},{e:void 0,t:void 0}),P}}),null),t(d,l(g,{get when(){return Y(()=>!Ze())()&&p()!=="catalog"},get children(){return Xl()}}),null),t(d,l(g,{get when(){return le()},get children(){var P=ei();return t(P,le),P}}),null),t(d,l(g,{get when(){return p()==="catalog"},get children(){return l(Sr,{get filter(){return hn()},get domainLabel(){return e.domainLabel},onRegisterOwnData:ha})}}),null),t(d,l(g,{get when(){return Y(()=>p()==="raw")()&&Ze()},get children(){return[(()=>{var P=si(),A=P.firstChild,U=A.nextSibling,w=U.nextSibling,ae=w.firstChild,Le=ae.nextSibling,fe=Le.firstChild,B=fe.nextSibling,F=B.nextSibling,ie=F.nextSibling;return P.addEventListener("submit",async x=>{x.preventDefault();const ne=we();if(ne){v(!0),L("");try{await Ta(ne,{title:M().trim()||$().trim(),domain:e.domain==="all"?"unspecified":e.domain,uri:$().trim(),connector:J(),...J()==="remote_workspace"?{workspace_id:ee()}:{}}),V(""),Z(""),Q([]),await Oe()}catch(ue){L(ue instanceof Error?ue.message:"接入失败")}finally{v(!1)}}}),ta(vn,P),t(P,l(g,{get when(){return J()!=="database"},get children(){var x=ti(),ne=x.firstChild;return ne.$$click=mn,y(()=>ne.disabled=E()),x}}),w),fe.$$click=()=>oe("local_fs"),B.$$click=()=>oe("http_dataset"),F.$$click=()=>oe("database"),ie.$$click=()=>oe("remote_workspace"),t(P,l(g,{get when(){return J()!=="database"},get children(){return[(()=>{var x=ai(),ne=x.firstChild,ue=ne.nextSibling;return ue.$$input=me=>V(me.currentTarget.value),y(()=>ue.value=M()),x})(),(()=>{var x=ni(),ne=x.firstChild,ue=ne.nextSibling;return ue.$$input=me=>{const Pe=me.currentTarget.value;Z(Pe),Q([]);const xe=Fa(Pe);xe&&oe(xe)},y(()=>j(ue,"placeholder",Ur(J()))),y(()=>ue.value=$()),x})(),l(g,{get when(){return De().length>1},get children(){return[(()=>{var x=ri();return x.firstChild,t(x,l(lt,{"aria-label":"登记粒度",get value(){return $()},placeholder:"选择登记路径",get options(){return De().map(ne=>({value:ne.uri,label:ne.kind==="folder"?`整个文件夹:${ne.label}`:`仅文件:${ne.label}`}))},onChange:ne=>{const ue=De().find(me=>me.uri===ne);if(Z(ne),ue){const me=ue.label.split("/").filter(Boolean).at(-1);me&&V(me)}}}),null),x})(),li()]}}),l(g,{get when(){return J()==="remote_workspace"},get children(){var x=za();return x.firstChild,t(x,l(g,{get when(){return _().length>0},get fallback(){return fi()},get children(){return l(lt,{"aria-label":"远端环境",get value(){return ee()},placeholder:"选择已连接的远端",get options(){return _().map(ne=>({value:ne.id,label:ne.name}))},onChange:W})}}),null),x}}),(()=>{var x=ii();return y(()=>x.disabled=E()||!$().trim()||J()==="remote_workspace"&&!ee()),x})()]}}),null),y(x=>{var ne=!!$n(),ue=J()==="local_fs",me=J()==="local_fs"?"true":"false",Pe=J()==="http_dataset",xe=J()==="http_dataset"?"true":"false",He=J()==="database",N=J()==="database"?"true":"false",pe=J()==="remote_workspace",Ee=J()==="remote_workspace"?"true":"false";return ne!==x.e&&P.classList.toggle("is-focus-target",x.e=ne),ue!==x.t&&j(fe,"aria-checked",x.t=ue),me!==x.a&&j(fe,"data-active",x.a=me),Pe!==x.o&&j(B,"aria-checked",x.o=Pe),xe!==x.i&&j(B,"data-active",x.i=xe),He!==x.n&&j(F,"aria-checked",x.n=He),N!==x.s&&j(F,"data-active",x.s=N),pe!==x.h&&j(ie,"aria-checked",x.h=pe),Ee!==x.r&&j(ie,"data-active",x.r=Ee),x},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0}),P})(),l(g,{get when(){return J()==="database"},get children(){return l(g,{get when(){return je()},get fallback(){return vi()},get children(){return[(()=>{var P=oi(),A=P.firstChild,U=A.nextSibling,w=U.nextSibling;w.firstChild;var ae=w.nextSibling,Le=ae.firstChild,fe=Le.nextSibling,B=ae.nextSibling,F=B.firstChild,ie=F.nextSibling,x=B.nextSibling,ne=x.firstChild,ue=ne.nextSibling,me=x.nextSibling,Pe=me.firstChild,xe=Pe.nextSibling,He=me.nextSibling,N=He.firstChild,pe=N.nextSibling,Ee=He.nextSibling,Ye=Ee.firstChild,at=Ye.nextSibling,pt=Ee.nextSibling;return P.addEventListener("submit",async ve=>{ve.preventDefault();const Se=we();if(!Se)return;const Ke=Number(ra().trim());if(!Number.isInteger(Ke)||Ke<1||Ke>65535){L("端口须为 1–65535 的整数");return}v(!0),L("");try{const Qe=await Mn(Se,{engine:Ve(),host:Lt().trim(),port:Ke,database:Pt().trim(),username:At().trim(),password:Et(),...Ot().trim()?{label:Ot().trim()}:{}});na(""),ia(""),sa(""),oa(""),ca(""),await Oe(),Rt(Qe.id),await va(Qe.id)}catch(Qe){L(Ae(Qe,"保存连接失败"))}finally{v(!1)}}),t(w,l(lt,{"aria-label":"数据库引擎",get value(){return Ve()},placeholder:"选择引擎",options:[{value:"postgres",label:"PostgreSQL"},{value:"mysql",label:"MySQL"}],onChange:ve=>{const Se=ve;pn(Se),la(Se==="postgres"?"5432":"3306")}}),null),fe.$$input=ve=>na(ve.currentTarget.value),ie.$$input=ve=>la(ve.currentTarget.value),ue.$$input=ve=>ia(ve.currentTarget.value),xe.$$input=ve=>sa(ve.currentTarget.value),pe.$$input=ve=>oa(ve.currentTarget.value),at.$$input=ve=>ca(ve.currentTarget.value),t(P,l(g,{get when(){return Te().length>0},get children(){var ve=ft();return t(ve,l(re,{get each(){return Te()},children:Se=>(()=>{var Ke=$i(),Qe=Ke.firstChild,ht=Qe.firstChild,Ln=ht.firstChild,Sa=Ln.nextSibling;Sa.nextSibling;var Pn=Qe.nextSibling,nt=Pn.firstChild,ka=nt.nextSibling;return t(Qe,()=>vt(Se,Se.id),ht),t(ht,()=>Se.engine==="postgres"?"PostgreSQL":"MySQL",Sa),t(ht,()=>Se.username,null),nt.$$click=()=>{Rt(Se.id),va(Se.id)},t(nt,()=>ot()===Se.id?"已选":"选表"),ka.$$click=async()=>{if(!window.confirm(`删除数据库连接「${vt(Se,Se.id)}」?`))return;const qe=we();if(qe){v(!0);try{await qn(qe,Se.id),ot()===Se.id&&(Rt(""),dt([]),Ge([])),await Oe()}catch(bt){L(Ae(bt,"删除连接失败"))}finally{v(!1)}}},y(qe=>{var bt=ot()===Se.id,Ca=E(),xa=E();return bt!==qe.e&&nt.classList.toggle("os-onedata-action-primary",qe.e=bt),Ca!==qe.t&&(nt.disabled=qe.t=Ca),xa!==qe.a&&(ka.disabled=qe.a=xa),qe},{e:void 0,t:void 0,a:void 0}),Ke})()})),ve}}),null),y(()=>pt.disabled=E()||!Lt().trim()||!Pt().trim()||!At().trim()||!Et()),y(()=>fe.value=Lt()),y(()=>ie.value=ra()),y(()=>ue.value=Pt()),y(()=>xe.value=At()),y(()=>pe.value=Et()),y(()=>at.value=Ot()),P})(),l(g,{get when(){return fa()},children:P=>(()=>{var A=wi(),U=A.firstChild;return U.firstChild,t(U,()=>vt(P(),P().id),null),t(A,l(g,{get when(){return Ft()},get children(){return mi()}}),null),t(A,l(g,{get when(){return Y(()=>!Ft())()&&ct().length===0},get children(){return yi()}}),null),t(A,l(g,{get when(){return Y(()=>!Ft())()&&ct().length>0},get children(){return[(()=>{var w=ft();return t(w,l(re,{get each(){return ct()},children:ae=>{const Le=Wa(ae);return(()=>{var fe=Si(),B=fe.firstChild,F=B.firstChild,ie=F.nextSibling,x=ie.firstChild,ne=x.nextSibling;return F.addEventListener("change",ue=>{const me=ue.currentTarget.checked;Ge(Pe=>me?[...Pe,Le]:Pe.filter(xe=>xe!==Le))}),t(x,(()=>{var ue=Y(()=>!!ae.schema);return()=>ue()?`${ae.schema}.${ae.name}`:ae.name})()),t(ne,()=>ae.kind==="view"?"视图":"表"),y(()=>F.checked=jt().includes(Le)),fe})()}})),w})(),(()=>{var w=_i(),ae=w.firstChild;return ae.$$click=()=>void wn(),t(ae,()=>E()?"正在登记…":"登记为原始数据"),y(()=>ae.disabled=E()||jt().length===0),w})()]}}),null),A})()})]}})}}),l(g,{get when(){return f().length===0},get fallback(){return(()=>{var P=ft();return t(P,l(re,{get each(){return _n()},children:A=>l(g,{get when(){return A.kind==="item"?A:void 0},get fallback(){return(()=>{var U=ki();return t(U,(()=>{var w=Y(()=>A.kind==="header");return()=>w()?A.label:""})()),U})()},children:U=>{const w=U().item;return(()=>{var ae=Ii(),Le=ae.firstChild,fe=Le.firstChild,B=fe.nextSibling,F=B.firstChild,ie=F.firstChild,x=F.nextSibling,ne=x.nextSibling,ue=Le.nextSibling,me=ue.firstChild,Pe=me.nextSibling,xe=Pe.nextSibling,He=xe.nextSibling;return fe.addEventListener("change",N=>{const pe=N.currentTarget.checked;K(Ee=>pe?[...Ee,w.id]:Ee.filter(Ye=>Ye!==w.id))}),t(ie,()=>w.title),t(F,l(g,{get when(){return Y(()=>!!(he().includes(w.id)&&Me()))()&&Fe()},get children(){var N=Ci();return N.$$click=kn,N}}),null),t(x,l(re,{get each(){return $a(w)},children:N=>(()=>{var pe=Na();return t(pe,N),pe})()})),t(ne,()=>w.uri),me.$$click=async()=>{const N=we();if(N){if(te()===w.id&&q()){R(void 0),ge(void 0);return}try{const pe=await Un(N,w.id,ee()||void 0);ge(w.id),R(rn(pe,{title:w.title,format:w.format}))}catch(pe){L(Ae(pe,"预览失败"))}}},t(me,()=>te()===w.id&&q()?"收起预览":"预览"),Pe.$$click=()=>void ma([w.id]),t(Pe,()=>he().includes(w.id)?"已加入":"挂到会话"),t(ue,l(g,{get when(){return w.connector!=="onedata_ref"},get children(){var N=xi();return N.$$click=()=>void Cn(w),t(N,()=>E()?"正在转换…":"转为可训练数据"),y(()=>N.disabled=E()),N}}),xe),xe.$$click=()=>void xn(w),t(xe,()=>E()?"正在打开…":"去对话加工"),He.$$click=async()=>{if(!window.confirm(`删除原始数据「${w.title}」?此操作不可恢复。`))return;const N=we();if(N){v(!0);try{await Bn(N,w.id),K(pe=>pe.filter(Ee=>Ee!==w.id)),X(pe=>pe.filter(Ee=>Ee!==w.id)),te()===w.id&&(R(void 0),ge(void 0)),await Oe()}catch(pe){L(Ae(pe,"删除失败"))}finally{v(!1)}}},t(ae,l(g,{get when(){return Y(()=>te()===w.id)()&&q()},children:N=>l(El,{get model(){return N()},onClose:()=>{R(void 0),ge(void 0)}})}),null),y(N=>{var pe=!!(te()===w.id&&q()),Ee=E()||!Ue()||he().includes(w.id),Ye=Ue()?he().includes(w.id)?"已挂到当前会话":"把此项挂到当前会话,不跳转":"请先在左侧打开或新建一个会话",at=E()||!Fe(),pt=Fe()?w.connector==="onedata_ref"?"拉回的数据需在对话中用 OneScience 技能标准化,不能直接登记为可训练数据":"预填标准化提示词到会话,由 Agent 使用 OneScience 技能处理后再回写可训练数据":"请先打开个人工作区项目",ve=E();return pe!==N.e&&ae.classList.toggle("has-preview",N.e=pe),Ee!==N.t&&(Pe.disabled=N.t=Ee),Ye!==N.a&&j(Pe,"title",N.a=Ye),at!==N.o&&(xe.disabled=N.o=at),pt!==N.i&&j(xe,"title",N.i=pt),ve!==N.n&&(He.disabled=N.n=ve),N},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0}),y(()=>fe.checked=H().includes(w.id)),ae})()}})})),P})()},get children(){var P=ci(),A=P.firstChild,U=A.nextSibling;return U.$$click=ba,P}}),l(wt,{get page(){return et().page},get totalPages(){return et().totalPages},get total(){return et().total},onPageChange:Mt}),l(g,{get when(){return f().length>0},get children(){var P=gi(),A=P.firstChild;return A.$$click=()=>void ma(H()),t(A,()=>E()?"正在挂入…":"把选中的原始数据挂到当前会话"),t(P,l(g,{get when(){return!Ue()},get children(){return di()}}),null),t(P,l(g,{get when(){return Y(()=>!!Ue())()&&H().length===0},get children(){return ui()}}),null),y(U=>{var w=!Ue()||H().length===0||E(),ae=Ue()?H().length===0?"请先勾选上方列表中的原始数据":"把选中的原始数据挂到当前会话,供对话加工":"请先在左侧打开或新建一个会话";return w!==U.e&&(A.disabled=U.e=w),ae!==U.t&&j(A,"title",U.t=ae),U},{e:void 0,t:void 0}),P}})]}}),null),t(d,l(g,{get when(){return Y(()=>p()==="already")()&&Ze()},get children(){return[l(g,{get when(){return yn().length>0},get children(){var P=pi(),A=P.firstChild;return A.firstChild,t(A,l(lt,{"aria-label":"训练位置",get value(){return ce()},placeholder:"选择训练位置",options:[{value:"local",label:"当前执行环境"},{value:"workspace",label:"已连接的远端"},{value:"shared_root",label:"平台共享盘"}],onChange:U=>de(U)}),null),t(P,l(g,{get when(){return ce()==="workspace"},get children(){var U=za();return U.firstChild,t(U,l(g,{get when(){return _().length>0},get fallback(){return Di()},get children(){return l(lt,{"aria-label":"训练远端环境",get value(){return ee()},placeholder:"选择远端环境",get options(){return _().map(w=>({value:w.id,label:w.name}))},onChange:W})}}),null),U}}),null),P}}),l(g,{get when(){return h().length===0},get fallback(){return(()=>{var P=ft();return t(P,l(re,{get each(){return tt().pageItems},children:A=>(()=>{var U=Ri(),w=U.firstChild,ae=w.nextSibling,Le=ae.nextSibling,fe=Le.nextSibling;return t(w,()=>A.title),t(ae,l(re,{get each(){return $a(A)},children:B=>(()=>{var F=Na();return t(F,B),F})()})),t(Le,()=>A.uri),t(fe,l(g,{get when(){return Y(()=>b()==="mine"&&A.status==="ready")()&&A.primitive_complete!==!0},get children(){var B=Ti();return B.$$click=()=>{const F=we();F&&u.show(()=>l(Bt,{serverUrl:F,already:A,onDone:()=>{u.close(),Oe()},onSkip:()=>u.close()}))},y(()=>B.disabled=E()),B}}),null),t(fe,l(g,{get when(){return Y(()=>b()==="mine"&&A.status==="ready")()&&A.visibility!=="public"},get children(){var B=Li();return B.$$click=async()=>{const F=Qt(A);if(F){L(F);return}const ie=we();if(ie){v(!0);try{await zn(ie,A.id),We({already:"public"}),await Oe(),ye({variant:"success",title:"已发布",description:"可在「已公开」中查看"})}catch(x){L(Ae(x,"发布失败"))}finally{v(!1)}}},y(F=>{var ie=Qt(A)??"发布后会出现在「已公开」,供他人使用",x=E()||!qr(A);return ie!==F.e&&j(B,"title",F.e=ie),x!==F.t&&(B.disabled=F.t=x),F},{e:void 0,t:void 0}),B}}),null),t(fe,l(g,{get when(){return Y(()=>b()==="mine")()&&A.visibility==="public"},get children(){var B=Pi();return B.$$click=async()=>{const F=we();if(F){v(!0);try{await Nn(F,A.id),await Oe()}catch(ie){L(ie instanceof Error?ie.message:"取消发布失败")}finally{v(!1)}}},y(()=>B.disabled=E()),B}}),null),t(fe,l(g,{get when(){return b()==="public"},get children(){var B=Ai();return B.$$click=async()=>{const F=we();if(F){v(!0);try{await Wn(F,A.id),We({onedata:"raw"}),await Oe()}catch(ie){L(ie instanceof Error?ie.message:"再次接入失败")}finally{v(!1)}}},y(()=>B.disabled=E()),B}}),null),t(fe,l(g,{get when(){return A.status==="ready"},get children(){var B=Ei();return B.$$click=()=>ya(A),t(B,()=>E()?"正在打开…":"用于训练"),y(F=>{var ie=E()||!Fe(),x=Fe()?"选择模型后预填训练提示词到会话":"请先打开个人工作区项目";return ie!==F.e&&(B.disabled=F.e=ie),x!==F.t&&j(B,"title",F.t=x),F},{e:void 0,t:void 0}),B}}),null),t(fe,l(g,{get when(){return b()==="mine"},get children(){var B=Oi();return B.$$click=async()=>{if(!window.confirm(`删除可训练数据「${A.title}」?此操作不可恢复。`))return;const F=we();if(F){v(!0);try{await Hn(F,A.id),await Oe()}catch(ie){L(Ae(ie,"删除失败"))}finally{v(!1)}}},y(()=>B.disabled=E()),B}}),null),U})()})),P})()},get children(){var P=hi();return t(P,(()=>{var A=Y(()=>!!T());return()=>A()?"加载中…":Y(()=>b()==="public")()?"还没有已公开的可训练数据。发布后会出现在这里,他人可拉回再加工。":["还没有可训练数据。请先",(()=>{var U=ji();return U.$$click=ha,U})(),"并转化,或",(()=>{var U=Fi();return U.$$click=ba,U})(),"。"]})()),P}}),l(wt,{get page(){return tt().page},get totalPages(){return tt().totalPages},get total(){return tt().total},onPageChange:qt})]}}),null),y(P=>{var A=p()==="catalog",U=p()==="raw",w=p()==="already";return A!==P.e&&j(G,"aria-pressed",P.e=A),U!==P.t&&j(be,"aria-pressed",P.t=U),w!==P.a&&j(Ut,"aria-pressed",P.a=w),P},{e:void 0,t:void 0,a:void 0}),d})()}function qi(e){return/^(?:postgres|mysql):\/\/(dbc_[A-Za-z0-9]+)\//i.exec(e.trim())?.[1]}function vt(e,a){return e?e.label?.trim()||`${e.host}/${e.database}`:a}function Wa(e){return e.schema?`${e.schema}.${e.name}`:e.name}function Ui(e,a,r,i){return e==="postgres"?`postgres://${a}/${r}.${i}`:`mysql://${a}/${i}`}Je(["click","input"]);var Bi=s('<article class="os-client-capability-card os-client-capability-skill-card"><div class=os-client-capability-skill-card-head><h4></h4></div><p></p><div class=os-client-capability-meta><span class=os-client-capability-skill-provider></span></div><div class=os-client-capability-actions><button type=button><span class=os-wb-cap-chip-label>详情</span></button><button type=button data-primary=true><span class=os-wb-cap-chip-label>开发'),sn=s("<span>"),zi=s("<div>"),Ni=s("<button type=button class=os-client-capability-oneskills-expand>"),Wi=s("<section class=os-client-capability-oneskills-section><header class=os-client-capability-oneskills-section-head><div class=os-client-capability-oneskills-section-title><h3></h3></div><p>"),Hi=s("<p class=os-client-capability-empty>当前分类暂无技能卡片。"),Qi=s("<span class=os-client-capability-oneskills-count> 个技能"),Ji=s("<p class=os-client-capability-oneskills-error>"),Ki=s("<div class=os-client-capability-oneskills-top-row>"),Gi=s("<div class=os-client-capability-oneskills-overview>"),Yi=s('<section class="os-client-capability-resource-panel os-client-capability-oneskills-panel"><header class=os-client-capability-oneskills-toolbar><div class=os-client-capability-oneskills-toolbar-copy><p>按 OneSkills 分层浏览官方技能,查看详情或进入开发。</p></div><div class=os-client-capability-oneskills-actions><span class=inline-flex><button type=button class=os-client-capability-oneskills-upgrade><span class=os-wb-cap-chip-label>'),Vi=s("<p class=os-client-capability-empty>正在加载 OneSkills 技能..."),Zi=s("<p class=os-client-capability-empty>暂无可展示的 OneSkills 技能,请先安装或更新技能。");const Ha=4,Yt=new Set(["orchestrator","resource"]);function Xi(e,a){return e.layer===a.title||e.tags.includes(a.title)||e.tags.includes(a.id)}function es(e){return Zt(e)||Va(Ne(),e.lastCodeWorkspace)||Xt(Ne())||ea(document,e.path)}function ts(e){const a=()=>e.item.tags.filter(r=>r!==e.item.layer&&r!==e.item.provider).slice(0,3);return(()=>{var r=Bi(),i=r.firstChild,n=i.firstChild,o=i.nextSibling,u=o.nextSibling,c=u.firstChild,p=u.nextSibling,b=p.firstChild,f=b.nextSibling;return Xa(r,"click",e.onOpen,!0),t(n,()=>e.item.title),t(o,()=>e.item.copy),t(c,()=>e.item.provider),t(u,l(re,{get each(){return a()},children:m=>(()=>{var h=sn();return t(h,m),h})()}),null),b.$$click=m=>{m.stopPropagation(),e.onOpen()},f.$$click=m=>{m.stopPropagation(),e.onDevelop()},y(m=>{var h=e.layerId,S=e.canDevelop?void 0:"登录后使用";return h!==m.e&&j(r,"data-layer",m.e=h),S!==m.t&&j(f,"title",m.t=S),m},{e:void 0,t:void 0}),r})()}function Qa(e){const[a,r]=k(!1),i=()=>e.items.length,n=()=>Math.max(0,i()-Ha),o=()=>a()||n()===0?e.items:e.items.slice(0,Ha),u=()=>Yt.has(e.group.id);return(()=>{var c=Wi(),p=c.firstChild,b=p.firstChild,f=b.firstChild,m=b.nextSibling;return t(f,()=>e.group.title),t(b,l(g,{get when(){return i()>0},get children(){var h=sn();return t(h,i),h}}),null),t(m,()=>e.group.copy),t(c,l(g,{get when(){return i()>0},get fallback(){return Hi()},get children(){return[(()=>{var h=zi();return t(h,l(re,{get each(){return o()},children:S=>l(ts,{item:S,get layerId(){return e.group.id},get canDevelop(){return e.canDevelop},onOpen:()=>e.onOpen(S),onDevelop:()=>e.onDevelop(S)})})),y(S=>{var T=!u(),z=!!u();return T!==S.e&&h.classList.toggle("os-client-capability-page-grid",S.e=T),z!==S.t&&h.classList.toggle("os-client-capability-oneskills-compact-grid",S.t=z),S},{e:void 0,t:void 0}),h})(),l(g,{get when(){return Y(()=>!u())()&&n()>0},get children(){var h=Ni();return h.$$click=()=>r(S=>!S),t(h,(()=>{var S=Y(()=>!!a());return()=>S()?"收起":`展开其余 ${n()} 个`})()),y(()=>j(h,"aria-expanded",a())),h}})]}}),null),y(h=>{var S=e.group.id,T=!!e.compact,z=e.group.id;return S!==h.e&&j(c,"id",h.e=S),T!==h.t&&c.classList.toggle("is-compact",h.t=T),z!==h.a&&j(c,"data-layer",h.a=z),h},{e:void 0,t:void 0,a:void 0}),c})()}function as(){const e=aa(),a=Dt(),r=Ct(),i=xt(),n=tr(),o=It(),[u,c]=k([]),[p,b]=k(!1),[f,m]=k(!1),[h,S]=k(),[T,z]=k(!1),[le,L]=k(),E=se(()=>!!Ne()?.account.id),v=se(()=>es({path:i.data.path,recent:Tt(i.data.project),lastCodeWorkspace:r.projects.lastCode()})),M=async()=>{const _=r.current;if(!_){c([]),b(!0);return}const D=await rr(_.http.url,{limit:100});c(D.loaded?D.items:[]),b(!0)};Wt(()=>{const _=ar(e.search)??nr()?.domainId??"all";a(Za("oneskills",_),{replace:!0}),M();const D=n.event.listen(q=>{q.name==="global"&&String(q.details.type)==="oneskills.upgraded"&&M()});St(D)});const V=_=>u().filter(D=>Xi(D,_)),$=()=>ir.filter(_=>V(_).length>0),Z=()=>{const _=$();return{pair:_.filter(D=>Yt.has(D.id)),rest:_.filter(D=>!Yt.has(D.id))}},J=_=>{L(_),z(!0)},oe=()=>{z(!1),L(void 0)},ee=_=>{if(!Ja({navigate:a,action:{type:"prompt",prompt:""},isLoggedIn:E()}))return;const D=v();if(!D){ye({variant:"error",title:"无法开发",description:"未检测到工作目录"});return}const q=Cr({id:_.id,title:_.title,copy:_.copy,layer:_.layer,tags:_.tags,provider:_.provider}),R=$t(D);mt(R,q.prompt,{skill:q.skill}),yt(R),o.projects.open(D),r.projects.touchCode(D),z(!1),L(void 0),ye({variant:"success",title:`已为你创建「${_.title}」开发任务`}),a(it(D))},W=async()=>{if(!E())return;const _=r.current;if(!_){const D=Aa("更新 OneSkills 失败:请先连接平台服务");S(D),ye({variant:"error",title:"更新失败",description:D});return}m(!0),S(void 0);try{const D=await lr(_.http.url);await M();const q=D.version?`版本 ${D.version} · ${D.skillCount} 个技能`:`${D.skillCount} 个技能`,R=D.seedSource==="bundled"&&D.seedFallbackReason?"原语已回退内置 seed":D.seedSource==="disk"?"原语已同步磁盘 oneskills":void 0;ye({variant:"success",title:"OneSkills 已更新",description:R?`${q} · ${R}`:q})}catch(D){const q=Aa(D instanceof Error?D.message:"更新 OneSkills 失败");S(q),ye({variant:"error",title:"更新失败",description:q})}finally{m(!1)}};return(()=>{var _=Yi(),D=_.firstChild,q=D.firstChild;q.firstChild;var R=q.nextSibling,te=R.firstChild,ge=te.firstChild,De=ge.firstChild;return t(q,l(g,{get when(){return Y(()=>!!p())()&&u().length>0},get children(){var Q=Qi(),H=Q.firstChild;return t(Q,()=>u().length,H),Q}}),null),t(R,l(g,{get when(){return h()},get children(){var Q=Ji();return t(Q,h),Q}}),te),ge.$$click=()=>void W(),t(De,()=>f()?"更新中...":"更新 OneSkills"),t(_,l(g,{get when(){return p()},get fallback(){return Vi()},get children(){return l(g,{get when(){return u().length>0},get fallback(){return Zi()},get children(){var Q=Gi();return t(Q,l(g,{get when(){return Z().pair.length>0},get children(){var H=Ki();return t(H,l(re,{get each(){return Z().pair},children:K=>l(Qa,{group:K,get items(){return V(K)},compact:!0,get canDevelop(){return E()},onOpen:J,onDevelop:ee})})),H}}),null),t(Q,l(re,{get each(){return Z().rest},children:H=>l(Qa,{group:H,get items(){return V(H)},get canDevelop(){return E()},onOpen:J,onDevelop:ee})}),null),Q}})}}),null),t(_,l(kr,{variant:"workbench",get item(){return le()},get open(){return T()},get serverUrl(){return r.current?.http.url},onClose:oe,onDevelop:()=>{const Q=le();Q&&(oe(),ee(Q))}}),null),y(Q=>{var H=E()?void 0:"登录后使用",K=!E()||f();return H!==Q.e&&j(te,"title",Q.e=H),K!==Q.t&&(ge.disabled=Q.t=K),Q},{e:void 0,t:void 0}),_})()}Je(["click"]);async function ns(e,a){const r=[];let i=0;for(;;){const n=new URLSearchParams;n.set("limit","200"),n.set("offset",String(i));const o=await sr(`${or(e)}/experimental/onescience/scenario?${n}`);if(!o.ok)throw new Error(`scenario catalog failed: ${o.status}`);const u=await o.json(),c=(u.items??[]).map(p=>({...p,model_ids:p.model_ids??[]}));if(r.push(...c),u.nextOffset==null||c.length===0)break;i=u.nextOffset}return cr(r),r}var rs=s("<span>当前范围:"),ls=s("<strong>全领域"),is=s("<small>OneSkills 原语跨领域通用,不区分材料 / 气象 / 流体 / 生信"),ss=s("<div class=os-client-capability-domain-row role=tablist aria-label=能力中心领域>"),os=s("<div class=os-client-capability-scenario-grid>"),cs=s("<section class=os-client-capability-scenario-panel><div class=os-client-capability-scenario-toolbar><span>场景卡片</span><strong></strong><small> · 点击卡片打开场景弹窗</small><label class=os-client-capability-scenario-search><input type=search placeholder=搜索场景名称、ID、模型、HPC… aria-label=搜索场景>"),ds=s("<div class=os-client-capability-page><section class=os-client-capability-selector aria-label=能力中心筛选><div class=os-client-capability-current-domain></div><div class=os-client-capability-filter-tabs aria-label=能力类型></div></section><div class=os-client-capability-page-body>"),us=s("<span>当前领域:"),gs=s("<strong>"),ps=s("<small>"),hs=s("<button type=button>"),bs=s("<button type=button class=os-client-capability-filter-tab role=tab><div class=os-client-capability-filter-tab-text><strong></strong><small>"),fs=s("<p class=os-client-capability-hint>"),st=s("<span>"),vs=s("<button type=button class=os-client-capability-scenario-card><div class=os-client-capability-scenario-card-head><h4></h4><span></span></div><p></p><div class=os-client-capability-scenario-card-meta><span> 步工作流</span><span> 个字段</span></div><div class=os-client-capability-scenario-card-action><span aria-hidden=true><span class=os-wb-cap-chip-label>使用"),$s=s("<button type=button class=os-client-capability-upload-trigger><span aria-hidden=true>+</span>上传私有模型"),ms=s("<label class=os-client-capability-catalog-search><span>搜索</span><input type=search placeholder=按名称、简介或标签筛选>"),ys=s("<div class=os-client-capability-catalog-toolbar><div class=os-client-capability-catalog-toolbar-side><span class=os-client-capability-catalog-count></span><div class=os-client-capability-view-switch role=tablist aria-label=展示方式>"),_s=s('<section class=os-client-capability-resource-panel><header class="os-client-capability-page-section-head os-client-capability-page-section-head-active"><p>'),ws=s("<p class=os-client-capability-empty>当前「<!>」领域暂无<!>卡片。"),Ss=s("<button type=button role=tab>"),ks=s("<p class=os-client-capability-empty>没有匹配的结果,试试换个关键词。"),Cs=s("<div class=os-client-capability-catalog role=list>"),xs=s("<article class=os-client-capability-catalog-row role=listitem>"),Is=s("<div class=os-client-capability-page-grid>"),on=s("<span class=os-client-capability-private-badge>私有资产"),cn=s("<span class=os-client-capability-unavailable-badge>暂不可用"),Ds=s("<div class=os-client-capability-meta>"),Ts=s("<article class=os-client-capability-card><div class=os-client-capability-card-body><div class=os-client-capability-card-head><div class=os-client-capability-card-title><h4></h4></div></div><p>"),Ls=s("<p class=os-client-capability-unavailable-hint>暂无 OneScience 源码或魔搭映射"),Ps=s("<div class=os-client-capability-catalog-tags>"),As=s("<div class=os-client-capability-catalog-copy><div class=os-client-capability-card-title><h4></h4></div><p>"),Es=s("<span class=os-wb-cap-chip-label>详情"),Os=s("<span class=os-wb-cap-chip-label>使用"),Rs=s("<div>"),js=s("<button type=button><span class=os-wb-cap-chip-label>安装");const Fs=[{id:"all",label:"全部"},{id:"materials",label:"材料"},{id:"weather",label:"气象"},{id:"fluid",label:"流体"},{id:"bio",label:"生信"}],Ms=[{id:"scenario",label:"场景",title:"场景库"},{id:"onemodel",label:"onemodel",title:"模型库"},{id:"hpc",label:"HPC 软件",title:"软件库"},{id:"onedata",label:"onedata",title:"数据集"},{id:"oneskills",label:"oneskills",title:"技能库"}],qs=[{id:"cards",label:"卡片"},{id:"list",label:"列表"}],dn="os-capability-view-mode";function zt(e){return e==="all"||e==="materials"||e==="weather"||e==="fluid"||e==="bio"?e:"all"}function Us(e){return e==="materials"||e==="weather"||e==="fluid"||e==="bio"?e:"materials"}function Bs(e,a){const r=e.split("?")[0]??e;return new RegExp(`^${Ht.capabilities}/[^/]+`).test(r)?!new URLSearchParams(a).has("domain"):!1}function eo(e){const a=aa(),r=Dt(),i=Ea(a.pathname,a.search),[n,o]=dr({domainId:zt(i.domainId),categoryId:i.categoryId,scenarioQuery:"",activeScenarioId:"",uploadPage:null,scenarioCatalogTick:0}),u=xt(),c=It(),p=Ct();Wt(()=>{const $=p.current?.http.url;$&&ns($).then(()=>o("scenarioCatalogTick",Z=>Z+1)).catch(()=>{})});const b=$=>{ur({categoryId:$.categoryId,domainId:zt($.domainId)})},f=$=>{b($),r(Za($.categoryId,$.domainId),{replace:!0})};Ie(()=>{const $=a.pathname,Z=a.search,J=Ea($,Z);if(Bs($,Z)){o("categoryId",J.categoryId);return}const oe=zt(J.domainId),ee=J.categoryId;o({domainId:oe,categoryId:ee}),b({domainId:oe,categoryId:ee});const W=$.split("?")[0]??$,_=W===Ht.capabilities||W===`${Ht.capabilities}/`,D=new URLSearchParams(Z);_&&!D.get("category")&&!D.get("domain")&&f({domainId:oe,categoryId:ee})});const m=se(()=>(gr(),n.domainId==="all"?Nt():Nt(n.domainId))),h=se(()=>m().find($=>$.id===n.categoryId)??m()[0]),S=se(()=>(n.scenarioCatalogTick,pr(n.domainId,n.scenarioQuery))),[T,z]=k(1);Ie(()=>{n.domainId,n.scenarioQuery,z(1)});const le=se(()=>_t(S(),T(),hr));Ie(()=>{const $=le().page;$!==T()&&z($)});const L=se(()=>{if(n.scenarioCatalogTick,!!n.activeScenarioId)return Oa(n.activeScenarioId)}),E=$=>{o({categoryId:$,activeScenarioId:"",scenarioQuery:""}),f({domainId:n.domainId,categoryId:$})},v=()=>o("activeScenarioId",""),M=()=>({navigate:r,isLoggedIn:!!Ne(),path:u.data.path,recent:Tt(u.data.project),lastCodeWorkspace:p.projects.lastCode(),openProject:$=>c.projects.open($),touchCode:$=>p.projects.touchCode($)});Wt(()=>{const $=br();if($)try{if($.type==="install"){if($.resourceId==="oneskills"){o("categoryId","oneskills"),f({domainId:n.domainId,categoryId:"oneskills"});return}if($.resourceId.startsWith("__"))return;en({resourceId:$.resourceId,...M()});return}if($.type==="prompt"&&$.prompt.trim()){Ir({prompt:$.prompt,title:$.title||"能力中心任务",workflow:$.workflow,...M()});return}if($.type==="scenario-run"){const Z=Oa($.scenarioId);if(!Z)return;ja({scenario:Z,values:$.values,...M()});return}$.type==="wizard"&&Dr({resourceId:$.resourceId,scenarioId:$.scenarioId,values:$.values,prompt:$.prompt,...M()})}catch{}});const V=($,Z)=>{ja({scenario:$,values:Z.values,...M()})};return(()=>{var $=ds(),Z=$.firstChild,J=Z.firstChild,oe=J.nextSibling,ee=Z.nextSibling;return t(J,l(g,{get when(){return n.categoryId==="oneskills"},get fallback(){return[us(),(()=>{var W=gs();return t(W,()=>rt(n.domainId)),W})(),(()=>{var W=ps();return t(W,()=>n.categoryId==="scenario"?"切换领域后,下方场景同步刷新":"切换领域后,下方模型、HPC 软件与数据集内容同步刷新"),W})()]},get children(){return[rs(),ls(),is()]}})),t(Z,l(g,{get when(){return n.categoryId!=="oneskills"},get children(){var W=ss();return t(W,l(re,{each:Fs,children:_=>(()=>{var D=hs();return D.$$click=()=>{o({domainId:_.id,activeScenarioId:"",scenarioQuery:""}),f({domainId:_.id,categoryId:n.categoryId})},t(D,()=>_.label),y(q=>{var R=_.id===n.domainId,te=_.id===n.domainId;return R!==q.e&&D.classList.toggle("is-active",q.e=R),te!==q.t&&j(D,"aria-pressed",q.t=te),q},{e:void 0,t:void 0}),D})()})),W}}),oe),t(oe,l(re,{each:Ms,children:W=>(()=>{var _=bs(),D=_.firstChild,q=D.firstChild,R=q.nextSibling;return _.$$click=()=>E(W.id),t(q,()=>W.label),t(R,()=>W.title),y(te=>{var ge=n.categoryId===W.id,De=n.categoryId===W.id;return ge!==te.e&&_.classList.toggle("is-active",te.e=ge),De!==te.t&&j(_,"aria-selected",te.t=De),te},{e:void 0,t:void 0}),_})()})),t(ee,l(g,{get when(){return n.categoryId==="oneskills"},get children(){return l(as,{})}}),null),t(ee,l(g,{get when(){return n.categoryId==="scenario"},get children(){var W=cs(),_=W.firstChild,D=_.firstChild,q=D.nextSibling,R=q.nextSibling,te=R.firstChild,ge=R.nextSibling,De=ge.firstChild;return t(q,()=>S().length),t(R,()=>rt(n.domainId),te),De.$$input=Q=>o("scenarioQuery",Q.currentTarget.value),t(W,l(g,{get when(){return S().length>0},get fallback(){return(()=>{var Q=fs();return t(Q,(()=>{var H=Y(()=>!!n.scenarioQuery.trim());return()=>H()?`未找到匹配「${n.scenarioQuery.trim()}」的场景。`:`当前「${rt(n.domainId)}」领域暂无场景卡片。`})()),Q})()},get children(){return[(()=>{var Q=os();return t(Q,l(re,{get each(){return le().pageItems},children:H=>(()=>{var K=vs(),he=K.firstChild,X=he.firstChild,Me=X.nextSibling,_e=he.nextSibling,ce=_e.nextSibling,de=ce.firstChild,Te=de.firstChild,$e=de.nextSibling,je=$e.firstChild;return K.$$click=()=>o("activeScenarioId",fr(H)),t(X,()=>H.name),t(Me,()=>H.scenario_id),t(_e,()=>vr(H.problem_and_applicability)),t(ce,l(g,{get when(){return H.type?.trim()},get children(){var ke=st();return t(ke,()=>H.type),ke}}),de),t(ce,l(g,{get when(){return H.model?.trim()},get children(){var ke=st();return t(ke,()=>H.model),ke}}),de),t(ce,l(g,{get when(){return H.HPC?.trim()},get children(){var ke=st();return t(ke,()=>H.HPC),ke}}),de),t(de,()=>H.workflow_steps?.length||H.workflow.length,Te),t($e,()=>H.user_input.length,je),K})()})),Q})(),l(wt,{get page(){return le().page},get totalPages(){return le().totalPages},get total(){return le().total},onPageChange:z})]}}),null),y(()=>De.value=n.scenarioQuery),W}}),null),t(ee,l(g,{get when(){return n.categoryId==="onemodel"||n.categoryId==="hpc"},get children(){return l(zs,{get category(){return h()},get domainId(){return n.domainId},get domainLabel(){return rt(n.domainId)},get onUpload(){return n.categoryId==="onemodel"?()=>o("uploadPage","models"):void 0}})}}),null),t(ee,l(g,{get when(){return n.categoryId==="onedata"},get children(){return l(Mi,{get domain(){return n.domainId},get domainLabel(){return rt(n.domainId)},get copy(){return h().copy}})}}),null),t($,l(g,{get when(){return L()},children:W=>l(Tr,{get scenario(){return W()},onClose:v,onSubmit:_=>{V(W(),_),v()}})}),null),t($,l(Er,{get open(){return n.uploadPage!==null},page:"models",get domain(){return Us(n.domainId)},onClose:()=>o("uploadPage",null),onSaved:()=>{o({categoryId:"onemodel",uploadPage:null,activeScenarioId:""}),f({domainId:n.domainId,categoryId:"onemodel"})}}),null),t($,()=>e.children,null),$})()}function zs(e){const[a,r]=k(""),[i,n]=k(1),[o,u]=k(Js()),c=()=>({category:e.category.id,domain:e.domainId}),p=se(()=>{const m=a().trim();return m?e.category.items.filter(h=>$r([h.name,h.blurb,...h.tags],m)):e.category.items});Ie(()=>{e.category.id,e.domainId,r(""),n(1)}),Ie(()=>{a(),n(1)});const b=se(()=>_t(p(),i(),mr));Ie(()=>{const m=b().page;m!==i()&&n(m)});const f=m=>{u(m),Ks(m)};return(()=>{var m=_s(),h=m.firstChild,S=h.firstChild;return t(S,()=>e.category.copy.replace(/[。.]$/,"")),t(h,l(g,{get when(){return e.onUpload},get children(){var T=$s();return Xa(T,"click",e.onUpload,!0),T}}),null),t(m,l(g,{get when(){return e.category.items.length>0},get fallback(){return(()=>{var T=ws(),z=T.firstChild,le=z.nextSibling,L=le.nextSibling,E=L.nextSibling;return E.nextSibling,t(T,()=>e.domainLabel,le),t(T,()=>e.category.id==="hpc"?" HPC 软件":"模型",E),T})()},get children(){return[(()=>{var T=ys(),z=T.firstChild,le=z.firstChild,L=le.nextSibling;return t(T,l(g,{get when(){return e.category.items.length>=6},get children(){var E=ms(),v=E.firstChild,M=v.nextSibling;return M.$$input=V=>r(V.currentTarget.value),y(()=>M.value=a()),E}}),z),t(le,(()=>{var E=Y(()=>p().length===e.category.items.length);return()=>E()?`共 ${e.category.items.length} 项`:`${p().length} / ${e.category.items.length} 项`})()),t(L,l(re,{each:qs,children:E=>(()=>{var v=Ss();return v.$$click=()=>f(E.id),t(v,()=>E.label),y(M=>{var V=o()===E.id,$=o()===E.id;return V!==M.e&&j(v,"aria-selected",M.e=V),$!==M.t&&v.classList.toggle("is-active",M.t=$),M},{e:void 0,t:void 0}),v})()})),T})(),l(g,{get when(){return p().length>0},get fallback(){return ks()},get children(){return[l(g,{get when(){return o()==="list"},get children(){return l(Ns,{get items(){return b().pageItems},get catalog(){return c()}})}}),l(g,{get when(){return o()==="cards"},get children(){return l(Ws,{get items(){return b().pageItems},get catalog(){return c()}})}}),l(wt,{get page(){return b().page},get totalPages(){return b().totalPages},get total(){return b().total},onPageChange:n})]}})]}}),null),m})()}function Ns(e){return(()=>{var a=Cs();return t(a,l(re,{get each(){return e.items},children:r=>{const i=()=>kt(r);return(()=>{var n=xs();return t(n,l(Hs,{item:r}),null),t(n,l(g,{get when(){return i()},get fallback(){return l(un,{})},get children(){return l(gn,{item:r,get catalog(){return e.catalog}})}}),null),y(o=>{var u=r.ownership==="private",c=!i(),p=i()?void 0:!0,b=i()?void 0:"暂无 OneScience 源码或魔搭映射,暂不可用";return u!==o.e&&n.classList.toggle("is-private",o.e=u),c!==o.t&&n.classList.toggle("is-unavailable",o.t=c),p!==o.a&&j(n,"aria-disabled",o.a=p),b!==o.o&&j(n,"title",o.o=b),o},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()}})),a})()}function Ws(e){return(()=>{var a=Is();return t(a,l(re,{get each(){return e.items},children:r=>{const i=()=>kt(r);return(()=>{var n=Ts(),o=n.firstChild,u=o.firstChild,c=u.firstChild,p=c.firstChild,b=u.nextSibling;return t(p,()=>r.name),t(c,l(g,{get when(){return r.ownership==="private"},get children(){return on()}}),null),t(c,l(g,{get when(){return!i()},get children(){return cn()}}),null),t(u,l(g,{get when(){return r.tags.length>0},get children(){var f=Ds();return t(f,l(re,{get each(){return r.tags},children:m=>(()=>{var h=st();return t(h,m),h})()})),f}}),null),t(b,()=>r.blurb),t(n,l(g,{get when(){return i()},get fallback(){return l(un,{variant:"card"})},get children(){return l(gn,{item:r,variant:"card",get catalog(){return e.catalog}})}}),null),y(f=>{var m=r.ownership==="private",h=!i(),S=i()?void 0:!0,T=i()?void 0:"暂无 OneScience 源码或魔搭映射,暂不可用";return m!==f.e&&n.classList.toggle("is-private",f.e=m),h!==f.t&&n.classList.toggle("is-unavailable",f.t=h),S!==f.a&&j(n,"aria-disabled",f.a=S),T!==f.o&&j(n,"title",f.o=T),f},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()}})),a})()}function un(e){return(()=>{var a=Ls();return y(()=>a.classList.toggle("os-client-capability-unavailable-hint-card",e.variant==="card")),a})()}function Hs(e){return(()=>{var a=As(),r=a.firstChild,i=r.firstChild,n=r.nextSibling;return t(i,()=>e.item.name),t(r,l(g,{get when(){return e.item.ownership==="private"},get children(){return on()}}),null),t(r,l(g,{get when(){return!kt(e.item)},get children(){return cn()}}),null),t(n,()=>e.item.blurb),t(a,l(g,{get when(){return e.item.tags.length>0},get children(){var o=Ps();return t(o,l(re,{get each(){return e.item.tags},children:u=>(()=>{var c=st();return t(c,u),c})()})),o}}),null),a})()}function gn(e){const a=()=>e.catalog?{category:e.catalog.category,domain:e.catalog.domain}:void 0;return(()=>{var r=Rs();return t(r,l(Ra,{get href(){return yr(e.item.id,a())},get children(){return Es()}}),null),t(r,l(Qs,{get item(){return e.item}}),null),t(r,l(Ra,{get href(){return _r(e.item.id,void 0,a())},"data-primary":"true",get children(){return Os()}}),null),y(i=>{var n=e.variant!=="card",o=e.variant==="card";return n!==i.e&&r.classList.toggle("os-client-capability-catalog-actions",i.e=n),o!==i.t&&r.classList.toggle("os-client-capability-actions",i.t=o),i},{e:void 0,t:void 0}),r})()}function Qs(e){const a=Dt(),r=xt(),i=It(),n=Ct(),o=()=>Vt(e.item);return(()=>{var u=js();return u.$$click=()=>{o()&&en({resourceId:e.item.id,navigate:a,isLoggedIn:!!Ne(),path:r.data.path,recent:Tt(r.data.project),lastCodeWorkspace:n.projects.lastCode(),openProject:c=>i.projects.open(c),touchCode:c=>n.projects.touchCode(c)})},y(c=>{var p=!o(),b=o()?void 0:"暂无魔搭安装包";return p!==c.e&&(u.disabled=c.e=p),b!==c.t&&j(u,"title",c.t=b),c},{e:void 0,t:void 0}),u})()}function Js(){if(typeof localStorage>"u")return"cards";const e=localStorage.getItem(dn);return e==="cards"||e==="list"?e:"cards"}function Ks(e){typeof localStorage>"u"||localStorage.setItem(dn,e)}Je(["input","click"]);export{eo as CapabilityCenterPage};
@@ -0,0 +1 @@
1
+ import{dt as v,O as S,P,dJ as k,dK as _,dL as w,C as F,cV as L,D as $,a as m,dl as C,i as u,E,dM as I,m as K,o as g,ds as M,t as T}from"./index-DgAWECfr.js";var b=T('<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 q(i){return i.toLocaleTimeString(void 0,{timeStyle:"short"})}const H=()=>{const i=v(),p=S(),f=P(),c=k(),l=_(),h=w(),x=F(),n=L(),y=$(()=>{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:q(new Date(s.time.created))})}return o.reverse()}),D=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")}),d=K(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:d,id:e.data.id}),f(M(p.pathname,d,e.data.id))}).catch(e=>{const r=e instanceof Error?e.message:String(e);g({title:n.t("common.requestFailed"),description:r})})};return m(E,{get title(){return n.t("command.session.fork")},get children(){return m(C,{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:D,children:t=>(()=>{var a=b(),o=a.firstChild,s=o.nextSibling;return u(o,()=>t.text),u(s,()=>t.time),a})()})}})};export{H as DialogFork};
@@ -1,2 +1,2 @@
1
- import{d as zt,C as It,cR as Rt,K as At,L as Ht,c as f,z as bt,D as b,d3 as Mt,d4 as Ot,d5 as vt,d6 as Wt,d7 as Nt,a as i,i as l,S as u,x as $t,b as U,B as mt,v as G,d8 as S,d9 as yt,F as qt,E as Gt,da as Kt,t as v,db as Vt,dc as Xt,o as Jt}from"./index-DjsAxbra.js";var Qt=v("<input class=os-project-upload-path-input>"),_t=v("<p class=os-project-upload-warn>"),K=v("<p class=os-section-copy>"),Yt=v("<ul class=os-project-upload-file-list>"),Zt=v("<div class=os-project-upload-summary role=status><strong>"),V=v("<p class=os-project-upload-error role=alert>"),te=v('<div class="os-upload-dialog os-download-dialog os-project-upload-panel"><div class=os-upload-head><div><div class=os-eyebrow></div><h2></h2></div><button type=button class="os-button os-button-secondary os-button-square">×</button></div><div class=os-project-upload-body><div class=os-download-env-field><span class=os-field-label></span><p class=os-section-copy></p></div><div class=os-project-upload-picks><button type=button class="os-button os-button-secondary"></button><button type=button class="os-button os-button-secondary"></button><input type=file class=hidden multiple><input type=file class=hidden multiple></div><p class=os-section-copy></p><label class=os-project-upload-overwrite><input type=checkbox><span></span></label></div><div class=os-upload-actions><button type=button class="os-button os-button-secondary"></button><button type=button class="os-button os-button-primary">'),ee=v("<code class=os-project-upload-path>/"),le=v("<li class=truncate>");function ae(n){const C=It(),a=Rt(),X=At(),wt=Ht(),[s,jt]=f([]),[St,xt]=f(!1),[J,kt]=f(!1),[Q,Y]=f(),[Et,z]=f(!0),[h,Z]=f(!1),[tt,et]=f({done:0,total:0,written:0,skipped:0,failed:0}),[I,E]=f("");let lt,ot;const at=()=>n.pathPrefix?.trim().replace(/\\/g,"/").replace(/^\/+|\/+$/g,"")||void 0,R=()=>{const e=n.directory.replace(/\/+$/,""),o=at();return o?`${e}/${o}`:e},[nt,rt]=f(R());bt(()=>{rt(R())});const Dt=e=>{if(n.allowEditDestination)return e;const o=at();return o?`${o}/${e}`:e},_=()=>n.allowEditDestination?nt().replace(/\/+$/,"")||R():n.directory.replace(/\/+$/,""),it=()=>Kt(_()),Lt=e=>`${_()}/${e.replace(/^\/+/,"")}`,Tt=b(()=>{const e=wt.data.path.home,o=_();return e&&o.startsWith(e)?`~${o.slice(e.length)}`:o}),Bt=b(()=>{if(!n.allowEditDestination)return!1;const e=n.directory.replace(/\/+$/,""),o=_();return!(o===e||o.startsWith(`${e}/`))}),A=b(()=>Mt(s())),T=b(()=>Ot(s())),H=b(()=>vt(s(),{maxFileBytes:n.maxFileBytes,maxTotalBytes:n.maxTotalBytes})),st=b(()=>{const e=Q();return e===void 0||e<=0?!1:A()>e}),ct=b(()=>s().length>0&&!h()&&!st()&&!H()&&!!_()),M=b(()=>s().slice(0,Wt)),Pt=b(()=>s().length>0&&!T()),dt=(e=H())=>e?e.kind==="file"?a.t("dialog.project.upload.fileTooLarge",{path:e.path,size:S(e.size),max:S(e.max)}):a.t("dialog.project.upload.totalTooLarge",{size:S(e.size),max:S(e.max)}):"";bt(()=>{const e=_(),o=X.current?.http;if(!e||!o){z(!1);return}let c=!1;return z(!0),Nt(o.url,e,it()).then(p=>{c||Y(p.availableBytes)}).catch(()=>{c||Y(void 0)}).finally(()=>{c||z(!1)}),()=>{c=!0}});const ut=e=>{if(!e?.length)return;E("");const o=Vt(e);jt(o.entries),xt(o.truncated);const c=vt(o.entries,{maxFileBytes:n.maxFileBytes,maxTotalBytes:n.maxTotalBytes});if(c){E(dt(c));return}o.truncated&&E(a.t("dialog.project.upload.tooManyFiles",{max:String(yt),selected:String(o.totalSelected)}))},Ft=async()=>{const e=X.current?.http;if(!e||!ct())return;const o=s(),c=_();Z(!0),E(""),et({done:0,total:o.length,written:0,skipped:0,failed:0});let p=0,w=0,$=0;const d=[],m=[];for(let j=0;j<o.length;j+=1){const x=o[j],D=Dt(x.path);try{const g=await Xt(e.url,c,{path:D,file:x.file,overwrite:J(),workspaceID:it()});g.status==="written"?p+=1:w+=1,m.push(Lt(g.path||D))}catch(g){$+=1;const k=g instanceof Error?g.message:a.t("dialog.project.upload.failed");d.length<3&&d.push(`${x.path}: ${k}`)}et({done:j+1,total:o.length,written:p,skipped:w,failed:$})}if(Z(!1),$===0){Jt({title:a.t("toast.project.upload.success",{written:String(p),skipped:String(w)})}),n.onUploadedPaths?.(m),n.onUploaded?.(),C.close();return}E([a.t("dialog.project.upload.partialFailed",{written:String(p),skipped:String(w),failed:String($)}),...d].join(`
2
- `)),(p>0||w>0)&&(n.onUploadedPaths?.(m),n.onUploaded?.())};return i(Gt,{fit:!0,class:"os-project-upload-dialog",get children(){var e=te(),o=e.firstChild,c=o.firstChild,p=c.firstChild,w=p.nextSibling,$=c.nextSibling,d=o.nextSibling,m=d.firstChild,j=m.firstChild,x=j.nextSibling,D=m.nextSibling,g=D.firstChild,k=g.nextSibling,O=k.nextSibling,pt=O.nextSibling,W=D.nextSibling,N=W.nextSibling,B=N.firstChild,Ut=B.nextSibling,Ct=d.nextSibling,P=Ct.firstChild,q=P.nextSibling;return l(p,()=>a.t("dialog.project.upload.eyebrow")),l(w,()=>n.title??a.t("command.project.upload")),$.$$click=()=>C.close(),l(j,()=>n.destinationLabel??a.t("dialog.project.upload.destinationLabel")),l(m,i(u,{get when(){return n.allowEditDestination},get fallback(){return(()=>{var t=ee(),y=t.firstChild;return l(t,Tt,y),t})()},get children(){var t=Qt();return t.$$input=y=>rt(y.currentTarget.value),$t(t,"spellcheck",!1),U(()=>t.disabled=h()),U(()=>t.value=nt()),t}}),x),l(x,()=>n.destinationHint??a.t("dialog.project.upload.destinationHint")),l(m,i(u,{get when(){return Bt()},get children(){var t=_t();return l(t,()=>a.t("dialog.project.upload.destinationRisk")),t}}),null),g.$$click=()=>lt?.click(),l(g,()=>a.t("dialog.project.upload.pickFiles")),k.$$click=()=>ot?.click(),l(k,()=>a.t("dialog.project.upload.pickFolder")),O.addEventListener("change",t=>{ut(t.currentTarget.files),t.currentTarget.value=""}),mt(t=>{lt=t},O),pt.addEventListener("change",t=>{ut(t.currentTarget.files),t.currentTarget.value=""}),mt(t=>{ot=t,t&&t.setAttribute("webkitdirectory","")},pt),l(d,i(u,{get when(){return s().length>0},get children(){var t=Zt(),y=t.firstChild;return l(y,(()=>{var r=G(()=>!!T());return()=>r()?a.t("dialog.project.upload.folderSummary",{folder:T(),count:String(s().length),size:S(A())}):a.t("dialog.project.upload.summary",{count:String(s().length),size:S(A())})})()),l(t,i(u,{get when(){return St()},get children(){var r=_t();return l(r,()=>a.t("dialog.project.upload.truncatedHint",{max:String(yt)})),r}}),null),l(t,i(u,{get when(){return T()},get children(){var r=K();return l(r,()=>a.t("dialog.project.upload.folderHint")),r}}),null),l(t,i(u,{get when(){return Pt()},get children(){return[(()=>{var r=Yt();return l(r,i(qt,{get each(){return M()},children:F=>(()=>{var L=le();return l(L,()=>F.path),L})()})),r})(),i(u,{get when(){return s().length>M().length},get children(){var r=K();return l(r,()=>a.t("dialog.project.upload.moreFiles",{count:String(s().length-M().length)})),r}})]}}),null),t}}),W),l(W,()=>a.t("dialog.project.upload.diskSpace",{space:Et()?a.t("common.loading"):S(Q())})),l(d,i(u,{get when(){return st()},get children(){var t=V();return l(t,()=>a.t("dialog.project.upload.diskInsufficient")),t}}),N),l(d,i(u,{get when(){return G(()=>!!H())()&&!I()},get children(){var t=V();return l(t,dt),t}}),N),B.addEventListener("change",t=>kt(t.currentTarget.checked)),l(Ut,()=>a.t("dialog.project.upload.overwrite")),l(d,i(u,{get when(){return h()},get children(){var t=K();return l(t,()=>a.t("dialog.project.upload.progress",{done:String(tt().done),total:String(tt().total)})),t}}),null),l(d,i(u,{get when(){return I()},get children(){var t=V();return l(t,I),t}}),null),P.$$click=()=>C.close(),l(P,()=>a.t("common.cancel")),q.$$click=()=>void Ft(),l(q,(()=>{var t=G(()=>!!h());return()=>t()?a.t("dialog.project.upload.uploading"):a.t("dialog.project.upload.confirm")})()),U(t=>{var y=h(),r=a.t("common.cancel"),F=h(),L=h(),gt=h(),ht=h(),ft=!ct();return y!==t.e&&($.disabled=t.e=y),r!==t.t&&$t($,"aria-label",t.t=r),F!==t.a&&(g.disabled=t.a=F),L!==t.o&&(k.disabled=t.o=L),gt!==t.i&&(B.disabled=t.i=gt),ht!==t.n&&(P.disabled=t.n=ht),ft!==t.s&&(q.disabled=t.s=ft),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),U(()=>B.checked=J()),e}})}zt(["click","input"]);export{ae as DialogProjectUpload};
1
+ import{d as zt,C as It,cV as Rt,K as At,L as Ht,c as f,z as bt,D as b,d7 as Mt,d8 as Ot,d9 as vt,da as Wt,db as Nt,a as i,i as l,S as u,x as $t,b as U,B as mt,v as q,dc as S,dd as yt,F as Vt,E as qt,de as Gt,t as v,df as Kt,dg as Xt,o as Jt}from"./index-DgAWECfr.js";var Qt=v("<input class=os-project-upload-path-input>"),_t=v("<p class=os-project-upload-warn>"),G=v("<p class=os-section-copy>"),Yt=v("<ul class=os-project-upload-file-list>"),Zt=v("<div class=os-project-upload-summary role=status><strong>"),K=v("<p class=os-project-upload-error role=alert>"),te=v('<div class="os-upload-dialog os-download-dialog os-project-upload-panel"><div class=os-upload-head><div><div class=os-eyebrow></div><h2></h2></div><button type=button class="os-button os-button-secondary os-button-square">×</button></div><div class=os-project-upload-body><div class=os-download-env-field><span class=os-field-label></span><p class=os-section-copy></p></div><div class=os-project-upload-picks><button type=button class="os-button os-button-secondary"></button><button type=button class="os-button os-button-secondary"></button><input type=file class=hidden multiple><input type=file class=hidden multiple></div><p class=os-section-copy></p><label class=os-project-upload-overwrite><input type=checkbox><span></span></label></div><div class=os-upload-actions><button type=button class="os-button os-button-secondary"></button><button type=button class="os-button os-button-primary">'),ee=v("<code class=os-project-upload-path>/"),le=v("<li class=truncate>");function ae(n){const C=It(),a=Rt(),X=At(),wt=Ht(),[s,jt]=f([]),[St,xt]=f(!1),[J,kt]=f(!1),[Q,Y]=f(),[Et,z]=f(!0),[h,Z]=f(!1),[tt,et]=f({done:0,total:0,written:0,skipped:0,failed:0}),[I,E]=f("");let lt,ot;const at=()=>n.pathPrefix?.trim().replace(/\\/g,"/").replace(/^\/+|\/+$/g,"")||void 0,R=()=>{const e=n.directory.replace(/\/+$/,""),o=at();return o?`${e}/${o}`:e},[nt,rt]=f(R());bt(()=>{rt(R())});const Dt=e=>{if(n.allowEditDestination)return e;const o=at();return o?`${o}/${e}`:e},_=()=>n.allowEditDestination?nt().replace(/\/+$/,"")||R():n.directory.replace(/\/+$/,""),it=()=>Gt(_()),Lt=e=>`${_()}/${e.replace(/^\/+/,"")}`,Tt=b(()=>{const e=wt.data.path.home,o=_();return e&&o.startsWith(e)?`~${o.slice(e.length)}`:o}),Bt=b(()=>{if(!n.allowEditDestination)return!1;const e=n.directory.replace(/\/+$/,""),o=_();return!(o===e||o.startsWith(`${e}/`))}),A=b(()=>Mt(s())),T=b(()=>Ot(s())),H=b(()=>vt(s(),{maxFileBytes:n.maxFileBytes,maxTotalBytes:n.maxTotalBytes})),st=b(()=>{const e=Q();return e===void 0||e<=0?!1:A()>e}),ct=b(()=>s().length>0&&!h()&&!st()&&!H()&&!!_()),M=b(()=>s().slice(0,Wt)),Pt=b(()=>s().length>0&&!T()),dt=(e=H())=>e?e.kind==="file"?a.t("dialog.project.upload.fileTooLarge",{path:e.path,size:S(e.size),max:S(e.max)}):a.t("dialog.project.upload.totalTooLarge",{size:S(e.size),max:S(e.max)}):"";bt(()=>{const e=_(),o=X.current?.http;if(!e||!o){z(!1);return}let c=!1;return z(!0),Nt(o.url,e,it()).then(p=>{c||Y(p.availableBytes)}).catch(()=>{c||Y(void 0)}).finally(()=>{c||z(!1)}),()=>{c=!0}});const ut=e=>{if(!e?.length)return;E("");const o=Kt(e);jt(o.entries),xt(o.truncated);const c=vt(o.entries,{maxFileBytes:n.maxFileBytes,maxTotalBytes:n.maxTotalBytes});if(c){E(dt(c));return}o.truncated&&E(a.t("dialog.project.upload.tooManyFiles",{max:String(yt),selected:String(o.totalSelected)}))},Ft=async()=>{const e=X.current?.http;if(!e||!ct())return;const o=s(),c=_();Z(!0),E(""),et({done:0,total:o.length,written:0,skipped:0,failed:0});let p=0,w=0,$=0;const d=[],m=[];for(let j=0;j<o.length;j+=1){const x=o[j],D=Dt(x.path);try{const g=await Xt(e.url,c,{path:D,file:x.file,overwrite:J(),workspaceID:it()});g.status==="written"?p+=1:w+=1,m.push(Lt(g.path||D))}catch(g){$+=1;const k=g instanceof Error?g.message:a.t("dialog.project.upload.failed");d.length<3&&d.push(`${x.path}: ${k}`)}et({done:j+1,total:o.length,written:p,skipped:w,failed:$})}if(Z(!1),$===0){Jt({title:a.t("toast.project.upload.success",{written:String(p),skipped:String(w)})}),n.onUploadedPaths?.(m),n.onUploaded?.(),C.close();return}E([a.t("dialog.project.upload.partialFailed",{written:String(p),skipped:String(w),failed:String($)}),...d].join(`
2
+ `)),(p>0||w>0)&&(n.onUploadedPaths?.(m),n.onUploaded?.())};return i(qt,{fit:!0,class:"os-project-upload-dialog",get children(){var e=te(),o=e.firstChild,c=o.firstChild,p=c.firstChild,w=p.nextSibling,$=c.nextSibling,d=o.nextSibling,m=d.firstChild,j=m.firstChild,x=j.nextSibling,D=m.nextSibling,g=D.firstChild,k=g.nextSibling,O=k.nextSibling,pt=O.nextSibling,W=D.nextSibling,N=W.nextSibling,B=N.firstChild,Ut=B.nextSibling,Ct=d.nextSibling,P=Ct.firstChild,V=P.nextSibling;return l(p,()=>a.t("dialog.project.upload.eyebrow")),l(w,()=>n.title??a.t("command.project.upload")),$.$$click=()=>C.close(),l(j,()=>n.destinationLabel??a.t("dialog.project.upload.destinationLabel")),l(m,i(u,{get when(){return n.allowEditDestination},get fallback(){return(()=>{var t=ee(),y=t.firstChild;return l(t,Tt,y),t})()},get children(){var t=Qt();return t.$$input=y=>rt(y.currentTarget.value),$t(t,"spellcheck",!1),U(()=>t.disabled=h()),U(()=>t.value=nt()),t}}),x),l(x,()=>n.destinationHint??a.t("dialog.project.upload.destinationHint")),l(m,i(u,{get when(){return Bt()},get children(){var t=_t();return l(t,()=>a.t("dialog.project.upload.destinationRisk")),t}}),null),g.$$click=()=>lt?.click(),l(g,()=>a.t("dialog.project.upload.pickFiles")),k.$$click=()=>ot?.click(),l(k,()=>a.t("dialog.project.upload.pickFolder")),O.addEventListener("change",t=>{ut(t.currentTarget.files),t.currentTarget.value=""}),mt(t=>{lt=t},O),pt.addEventListener("change",t=>{ut(t.currentTarget.files),t.currentTarget.value=""}),mt(t=>{ot=t,t&&t.setAttribute("webkitdirectory","")},pt),l(d,i(u,{get when(){return s().length>0},get children(){var t=Zt(),y=t.firstChild;return l(y,(()=>{var r=q(()=>!!T());return()=>r()?a.t("dialog.project.upload.folderSummary",{folder:T(),count:String(s().length),size:S(A())}):a.t("dialog.project.upload.summary",{count:String(s().length),size:S(A())})})()),l(t,i(u,{get when(){return St()},get children(){var r=_t();return l(r,()=>a.t("dialog.project.upload.truncatedHint",{max:String(yt)})),r}}),null),l(t,i(u,{get when(){return T()},get children(){var r=G();return l(r,()=>a.t("dialog.project.upload.folderHint")),r}}),null),l(t,i(u,{get when(){return Pt()},get children(){return[(()=>{var r=Yt();return l(r,i(Vt,{get each(){return M()},children:F=>(()=>{var L=le();return l(L,()=>F.path),L})()})),r})(),i(u,{get when(){return s().length>M().length},get children(){var r=G();return l(r,()=>a.t("dialog.project.upload.moreFiles",{count:String(s().length-M().length)})),r}})]}}),null),t}}),W),l(W,()=>a.t("dialog.project.upload.diskSpace",{space:Et()?a.t("common.loading"):S(Q())})),l(d,i(u,{get when(){return st()},get children(){var t=K();return l(t,()=>a.t("dialog.project.upload.diskInsufficient")),t}}),N),l(d,i(u,{get when(){return q(()=>!!H())()&&!I()},get children(){var t=K();return l(t,dt),t}}),N),B.addEventListener("change",t=>kt(t.currentTarget.checked)),l(Ut,()=>a.t("dialog.project.upload.overwrite")),l(d,i(u,{get when(){return h()},get children(){var t=G();return l(t,()=>a.t("dialog.project.upload.progress",{done:String(tt().done),total:String(tt().total)})),t}}),null),l(d,i(u,{get when(){return I()},get children(){var t=K();return l(t,I),t}}),null),P.$$click=()=>C.close(),l(P,()=>a.t("common.cancel")),V.$$click=()=>void Ft(),l(V,(()=>{var t=q(()=>!!h());return()=>t()?a.t("dialog.project.upload.uploading"):a.t("dialog.project.upload.confirm")})()),U(t=>{var y=h(),r=a.t("common.cancel"),F=h(),L=h(),gt=h(),ht=h(),ft=!ct();return y!==t.e&&($.disabled=t.e=y),r!==t.t&&$t($,"aria-label",t.t=r),F!==t.a&&(g.disabled=t.a=F),L!==t.o&&(k.disabled=t.o=L),gt!==t.i&&(B.disabled=t.i=gt),ht!==t.n&&(P.disabled=t.n=ht),ft!==t.s&&(V.disabled=t.s=ft),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),U(()=>B.checked=J()),e}})}zt(["click","input"]);export{ae as DialogProjectUpload};
@@ -1 +1 @@
1
- import{i as f,b as T,aV as U,t as $,dd as X,cR as Z,N as ee,de as te,C as ne,O as se,P as re,aY as ae,L as oe,df as ie,c as ce,D as b,dg as le,A as de,a as w,dh as ue,y as fe,M as P,S as C,di as ge,aL as he,dj as pe,dk as me,dl as A,E as we,dm as ye,dn as ve,m as be}from"./index-DjsAxbra.js";var xe=$("<span data-component=keybind>");function ke(t){return(()=>{var n=xe();return f(n,()=>t.children),T(a=>U(n,{...t.classList,[t.class??""]:!!t.class},a)),n})()}function $e(t,n){const a=Math.floor(Math.max(0,t)/1e3),l=Math.floor(a/60),s=Math.floor(l/60),d=Math.floor(s/24);return a<60?n("common.time.justNow"):l<60?n("common.time.minutesAgo.short",{count:l}):s<24?n("common.time.hoursAgo.short",{count:s}):n("common.time.daysAgo.short",{count:d})}function Se(t,n){return $e(Date.now()-new Date(t).getTime(),n)}var K=$('<span class="text-14-regular text-text-weak truncate">'),_e=$('<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">'),De=$('<span class="text-12-regular text-text-weak whitespace-nowrap ml-2">'),Me=$('<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">'),Ce=$('<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 L=5,Fe=["session.new","workspace.new","session.previous","session.next","terminal.toggle","review.toggle"],N=t=>{const n=new Set,a=[];for(const l of t)n.has(l.id)||(n.add(l.id),a.push(l));return a},R=(t,n)=>({id:"command:"+t.id,type:"command",title:t.title,description:t.description,keybind:t.keybind,category:n,option:t}),F=(t,n)=>({id:"file:"+t,type:"file",title:t,category:n,path:t}),Ee=(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 Te(t){const n=b(()=>t.filesOnly()?[]:t.command.options.filter(s=>!s.disabled&&!s.hidden&&!s.id.startsWith("suggested.")&&s.id!=="file.open")),a=b(()=>{const s=t.language.t("palette.group.commands");return n().map(d=>R(d,s))}),l=b(()=>{const s=n(),d=new Map(Fe.map((o,c)=>[o,c])),y=s.filter(o=>d.has(o.id)),i=y.length?y:s.slice(0,L),h=y.length?[...i].sort((o,c)=>(d.get(o.id)??0)-(d.get(c.id)??0)):i,v=t.language.t("palette.group.commands");return h.map(o=>R(o,v))});return{allowed:n,list:a,picks:l}}function Le(t){const n=ye({tabs:t.tabs,pathFromTab:t.file.pathFromTab,normalizeTab:s=>s.startsWith("file://")?t.file.tab(s):s}),a=b(()=>{const s=n.openedTabs(),d=n.activeFileTab(),y=d?[d,...s.filter(o=>o!==d)]:s,i=new Set,h=t.language.t("palette.group.files"),v=[];for(const o of y){const c=t.file.pathFromTab(o);c&&(i.has(c)||(i.add(c),v.push(F(c,h))))}return v.slice(0,L)}),l=b(()=>{const s=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,L).map(i=>F(i,s))});return{recent:a,root:l}}function Ie(t){const n={token:0,inflight:void 0,cached:void 0};return{sessions:l=>{if(!l.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(v=>(v.data??[]).filter(o=>!!o?.id).map(o=>({id:o.id,title:o.title??t.language.t("command.session.new"),description:h,directory:i,archived:o.time?.archived,updated:o.time?.updated}))).catch(()=>[])})).then(i=>{if(n.token!==d)return[];const h=new Set,v=t.language.t("command.category.session"),o=i.flat().filter(c=>{const S=`${c.directory}:${c.id}`;return h.has(S)?!1:(h.add(S),!0)}).map(c=>Ee(c,v));return n.cached=o,o}).catch(()=>[]).finally(()=>{n.inflight=void 0}),n.inflight)}}}function Oe(t){const n=X(),a=Z(),l=ee(),s=te(),d=ne(),y=se(),i=re(),h=ae(),v=oe(),{params:o,tabs:c,view:S}=ie(),D=()=>t.mode==="files",k={cleanup:void 0,committed:!1},[q,z]=ce(!1),I=Te({filesOnly:D,command:n,language:a}),_=Le({file:s,tabs:c,language:a}),j=b(()=>le(o.dir)??""),O=b(()=>{const e=j();if(e)return l.projects.list().find(r=>r.worktree===e||r.sandboxes?.includes(e))}),G=b(()=>{const e=j(),r=O();if(!r)return e?[e]:[];const u=[r.worktree,...r.sandboxes??[]];return e&&!u.includes(e)?[...u,e]:u}),H=b(()=>v.data.path.home),W=e=>{const r=O(),u=r&&e===r.worktree?a.t("workspace.type.local"):a.t("workspace.type.sandbox"),[p]=v.child(e,{bootstrap:!1}),g=H(),m=g?e.replace(g,"~"):e,x=p.vcs?.branch??A(e);return`${u} : ${x||m}`},{sessions:Y}=Ie({workspaces:G,label:W,globalSDK:h,language:a}),B=async e=>{const r=e.trim();if(z(r.length>0),!r&&D()){const x=s.tree.state("")?.loaded,E=x?Promise.resolve():s.tree.list(""),M=N([..._.recent(),..._.root()]);return x||M.length>0?M:(await E,N([..._.recent(),..._.root()]))}if(!r)return[...I.picks(),..._.recent()];if(D()){const x=await s.searchFiles(r),E=a.t("palette.group.files");return x.map(M=>F(M,E))}const[u,p]=await Promise.all([s.searchFiles(r),Promise.resolve(Y(r))]),g=a.t("palette.group.files"),m=u.map(x=>F(x,g));return[...I.list(),...p,...m]},V=e=>{k.cleanup?.(),e&&e.type==="command"&&(k.cleanup=e.option?.onHighlight?.())},J=e=>{const r=s.tab(e);c().open(r),s.load(e),S().reviewPanel.opened()||S().reviewPanel.open(),l.fileTree.setTab("all"),t.onOpenFile?.(e),c().setActive(r)},Q=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(ve(y.pathname,be(e.directory),e.sessionID));return}e.path&&J(e.path)}};return de(()=>{k.committed||k.cleanup?.()}),w(we,{class:"pt-3 pb-0 !max-h-[480px]",transition:!0,get children(){return w(ue,{get search(){return{placeholder:D()?a.t("session.header.searchFiles"):a.t("palette.search.placeholder"),autofocus:!0,hideIcon:!0}},get emptyMessage(){return a.t("palette.empty")},get loadingMessage(){return a.t("common.loading")},items:B,key:e=>e.id,filterKeys:["title","description","category"],get groupBy(){return q()?e=>e.category:()=>""},onMove:V,onSelect:Q,children:e=>w(fe,{get fallback(){return(()=>{var r=Ce(),u=r.firstChild,p=u.firstChild,g=p.firstChild,m=g.nextSibling;return f(u,w(pe,{get node(){return{path:e.path??"",type:"file"}},class:"shrink-0 size-4"}),p),f(g,()=>me(e.path??"")),f(m,()=>A(e.path??"")),r})()},get children(){return[w(P,{get when(){return e.type==="command"},get children(){var r=_e(),u=r.firstChild,p=u.firstChild;return f(p,()=>e.title),f(u,w(C,{get when(){return e.description},get children(){var g=K();return f(g,()=>e.description),g}}),null),f(r,w(C,{get when(){return e.keybind},get children(){return w(ke,{class:"rounded-[4px]",get children(){return ge(e.keybind??"",a.t)}})}}),null),r}}),w(P,{get when(){return e.type==="session"},get children(){var r=Me(),u=r.firstChild,p=u.firstChild,g=p.firstChild;return f(u,w(he,{name:"bubble-5",size:"small",class:"shrink-0 text-icon-weak"}),p),f(g,()=>e.title),f(p,w(C,{get when(){return e.description},get children(){var m=K();return f(m,()=>e.description),T(()=>m.classList.toggle("opacity-70",!!e.archived)),m}}),null),f(r,w(C,{get when(){return e.updated},get children(){var m=De();return f(m,()=>Se(new Date(e.updated).toISOString(),a.t)),m}}),null),T(()=>g.classList.toggle("opacity-70",!!e.archived)),r}})]}})})}})}export{Oe as DialogSelectFile};
1
+ import{i as f,b as T,b0 as U,t as $,dh as X,cV as Z,N as ee,di as te,C as ne,O as se,P as re,af as ae,L as oe,dj as ie,c as ce,D as b,dk as le,A as de,a as w,dl as ue,y as fe,M as P,S as C,dm as ge,aS as he,dn as pe,dp as me,dq as A,E as we,dr as ye,ds as ve,m as be}from"./index-DgAWECfr.js";var xe=$("<span data-component=keybind>");function ke(t){return(()=>{var n=xe();return f(n,()=>t.children),T(a=>U(n,{...t.classList,[t.class??""]:!!t.class},a)),n})()}function $e(t,n){const a=Math.floor(Math.max(0,t)/1e3),l=Math.floor(a/60),s=Math.floor(l/60),d=Math.floor(s/24);return a<60?n("common.time.justNow"):l<60?n("common.time.minutesAgo.short",{count:l}):s<24?n("common.time.hoursAgo.short",{count:s}):n("common.time.daysAgo.short",{count:d})}function Se(t,n){return $e(Date.now()-new Date(t).getTime(),n)}var K=$('<span class="text-14-regular text-text-weak truncate">'),_e=$('<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">'),De=$('<span class="text-12-regular text-text-weak whitespace-nowrap ml-2">'),Me=$('<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">'),Ce=$('<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 L=5,Fe=["session.new","workspace.new","session.previous","session.next","terminal.toggle","review.toggle"],N=t=>{const n=new Set,a=[];for(const l of t)n.has(l.id)||(n.add(l.id),a.push(l));return a},q=(t,n)=>({id:"command:"+t.id,type:"command",title:t.title,description:t.description,keybind:t.keybind,category:n,option:t}),F=(t,n)=>({id:"file:"+t,type:"file",title:t,category:n,path:t}),Ee=(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 Te(t){const n=b(()=>t.filesOnly()?[]:t.command.options.filter(s=>!s.disabled&&!s.hidden&&!s.id.startsWith("suggested.")&&s.id!=="file.open")),a=b(()=>{const s=t.language.t("palette.group.commands");return n().map(d=>q(d,s))}),l=b(()=>{const s=n(),d=new Map(Fe.map((o,c)=>[o,c])),y=s.filter(o=>d.has(o.id)),i=y.length?y:s.slice(0,L),h=y.length?[...i].sort((o,c)=>(d.get(o.id)??0)-(d.get(c.id)??0)):i,v=t.language.t("palette.group.commands");return h.map(o=>q(o,v))});return{allowed:n,list:a,picks:l}}function Le(t){const n=ye({tabs:t.tabs,pathFromTab:t.file.pathFromTab,normalizeTab:s=>s.startsWith("file://")?t.file.tab(s):s}),a=b(()=>{const s=n.openedTabs(),d=n.activeFileTab(),y=d?[d,...s.filter(o=>o!==d)]:s,i=new Set,h=t.language.t("palette.group.files"),v=[];for(const o of y){const c=t.file.pathFromTab(o);c&&(i.has(c)||(i.add(c),v.push(F(c,h))))}return v.slice(0,L)}),l=b(()=>{const s=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,L).map(i=>F(i,s))});return{recent:a,root:l}}function Ie(t){const n={token:0,inflight:void 0,cached:void 0};return{sessions:l=>{if(!l.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(v=>(v.data??[]).filter(o=>!!o?.id).map(o=>({id:o.id,title:o.title??t.language.t("command.session.new"),description:h,directory:i,archived:o.time?.archived,updated:o.time?.updated}))).catch(()=>[])})).then(i=>{if(n.token!==d)return[];const h=new Set,v=t.language.t("command.category.session"),o=i.flat().filter(c=>{const S=`${c.directory}:${c.id}`;return h.has(S)?!1:(h.add(S),!0)}).map(c=>Ee(c,v));return n.cached=o,o}).catch(()=>[]).finally(()=>{n.inflight=void 0}),n.inflight)}}}function Oe(t){const n=X(),a=Z(),l=ee(),s=te(),d=ne(),y=se(),i=re(),h=ae(),v=oe(),{params:o,tabs:c,view:S}=ie(),D=()=>t.mode==="files",k={cleanup:void 0,committed:!1},[R,z]=ce(!1),I=Te({filesOnly:D,command:n,language:a}),_=Le({file:s,tabs:c,language:a}),j=b(()=>le(o.dir)??""),O=b(()=>{const e=j();if(e)return l.projects.list().find(r=>r.worktree===e||r.sandboxes?.includes(e))}),G=b(()=>{const e=j(),r=O();if(!r)return e?[e]:[];const u=[r.worktree,...r.sandboxes??[]];return e&&!u.includes(e)?[...u,e]:u}),H=b(()=>v.data.path.home),W=e=>{const r=O(),u=r&&e===r.worktree?a.t("workspace.type.local"):a.t("workspace.type.sandbox"),[p]=v.child(e,{bootstrap:!1}),g=H(),m=g?e.replace(g,"~"):e,x=p.vcs?.branch??A(e);return`${u} : ${x||m}`},{sessions:B}=Ie({workspaces:G,label:W,globalSDK:h,language:a}),V=async e=>{const r=e.trim();if(z(r.length>0),!r&&D()){const x=s.tree.state("")?.loaded,E=x?Promise.resolve():s.tree.list(""),M=N([..._.recent(),..._.root()]);return x||M.length>0?M:(await E,N([..._.recent(),..._.root()]))}if(!r)return[...I.picks(),..._.recent()];if(D()){const x=await s.searchFiles(r),E=a.t("palette.group.files");return x.map(M=>F(M,E))}const[u,p]=await Promise.all([s.searchFiles(r),Promise.resolve(B(r))]),g=a.t("palette.group.files"),m=u.map(x=>F(x,g));return[...I.list(),...p,...m]},Y=e=>{k.cleanup?.(),e&&e.type==="command"&&(k.cleanup=e.option?.onHighlight?.())},J=e=>{const r=s.tab(e);c().open(r),s.load(e),S().reviewPanel.opened()||S().reviewPanel.open(),l.fileTree.setTab("all"),t.onOpenFile?.(e),c().setActive(r)},Q=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(ve(y.pathname,be(e.directory),e.sessionID));return}e.path&&J(e.path)}};return de(()=>{k.committed||k.cleanup?.()}),w(we,{class:"pt-3 pb-0 !max-h-[480px]",transition:!0,get children(){return w(ue,{get search(){return{placeholder:D()?a.t("session.header.searchFiles"):a.t("palette.search.placeholder"),autofocus:!0,hideIcon:!0}},get emptyMessage(){return a.t("palette.empty")},get loadingMessage(){return a.t("common.loading")},items:V,key:e=>e.id,filterKeys:["title","description","category"],get groupBy(){return R()?e=>e.category:()=>""},onMove:Y,onSelect:Q,children:e=>w(fe,{get fallback(){return(()=>{var r=Ce(),u=r.firstChild,p=u.firstChild,g=p.firstChild,m=g.nextSibling;return f(u,w(pe,{get node(){return{path:e.path??"",type:"file"}},class:"shrink-0 size-4"}),p),f(g,()=>me(e.path??"")),f(m,()=>A(e.path??"")),r})()},get children(){return[w(P,{get when(){return e.type==="command"},get children(){var r=_e(),u=r.firstChild,p=u.firstChild;return f(p,()=>e.title),f(u,w(C,{get when(){return e.description},get children(){var g=K();return f(g,()=>e.description),g}}),null),f(r,w(C,{get when(){return e.keybind},get children(){return w(ke,{class:"rounded-[4px]",get children(){return ge(e.keybind??"",a.t)}})}}),null),r}}),w(P,{get when(){return e.type==="session"},get children(){var r=Me(),u=r.firstChild,p=u.firstChild,g=p.firstChild;return f(u,w(he,{name:"bubble-5",size:"small",class:"shrink-0 text-icon-weak"}),p),f(g,()=>e.title),f(p,w(C,{get when(){return e.description},get children(){var m=K();return f(m,()=>e.description),T(()=>m.classList.toggle("opacity-70",!!e.archived)),m}}),null),f(r,w(C,{get when(){return e.updated},get children(){var m=De();return f(m,()=>Se(new Date(e.updated).toISOString(),a.t)),m}}),null),T(()=>g.classList.toggle("opacity-70",!!e.archived)),r}})]}})})}})}export{Oe as DialogSelectFile};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DjsAxbra.js","assets/index-BehFKl-V.css"])))=>i.map(i=>d[i]);
2
- import{cR as _,i as d,a as n,S as h,t as f,C as S,L as k,c as T,ac as z,ds as P,E as O,ap as B,dt as x,a$ as j,du as D,dv as y,dw as A,dx as R,D as F,dy as $,dz as K,dA as G,dB as V,dC as H,dD as v,dh as N,bk as L,dE as I}from"./index-DjsAxbra.js";var W=f('<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">'),q=f('<div class="text-12-regular text-text-invert-base">');const J=o=>{const r=_(),l=e=>{const i=`${e.id} ${e.name}`.toLowerCase();return/claude|anthropic/.test(i)?r.t("model.provider.anthropic"):/gpt|o[1-4]|codex|openai/.test(i)?r.t("model.provider.openai"):/gemini|palm|bard|google/.test(i)?r.t("model.provider.google"):/grok|xai/.test(i)?r.t("model.provider.xai"):/llama|meta/.test(i)?r.t("model.provider.meta"):e.provider.name},u=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,a=()=>{const e=[];o.latest&&e.push(r.t("model.tag.latest")),o.free&&e.push(r.t("model.tag.free")),o.limited&&e.push(r.t("model.tag.limited"));const i=e.length?` (${e.join(", ")})`:"";return`${l(o.model)} ${o.model.name}${i}`},g=()=>{if(o.model.capabilities){const c=o.model.capabilities.input,p=["text","image","audio","video","pdf"].filter(s=>c[s]).map(s=>u(s));return p.length?p.join(", "):void 0}const e=o.model.modalities?.input;if(!e)return;const i=e.map(c=>u(c));return i.length?i.join(", "):void 0},m=()=>o.model.capabilities?o.model.capabilities.reasoning?r.t("model.tooltip.reasoning.allowed"):r.t("model.tooltip.reasoning.none"):o.model.reasoning?r.t("model.tooltip.reasoning.allowed"):r.t("model.tooltip.reasoning.none"),t=()=>r.t("model.tooltip.context",{limit:o.model.limit.context.toLocaleString()});return(()=>{var e=W(),i=e.firstChild,c=i.nextSibling,b=c.nextSibling;return d(i,a),d(e,n(h,{get when(){return g()},children:p=>(()=>{var s=q();return d(s,()=>r.t("model.tooltip.allows",{inputs:p()})),s})()}),c),d(c,m),d(b,t),e})()};var Q=f('<div class="flex items-center justify-between w-full gap-2 pr-1"><span class=truncate>'),U=f('<div class="w-full flex items-center gap-x-2 text-13-regular"><span class=truncate>'),X=f('<div class="flex items-center gap-1">'),Y=f('<div class="px-3 py-8 text-14-regular text-text-weak">');const w=(o,r,l)=>o==="opencode"&&(!r||r.input===0)||o==="onescience"&&l==="glm-5.2",C=(o,r)=>o==="onescience"&&r!=="glm-5.2",E=o=>{const r=o.model??A().model,l=_(),u=S(),a=k(),g=R(),m=F(()=>r.list().filter(e=>o.provider?e.provider.id===o.provider:!0).filter(e=>r.visible({modelID:e.id,providerID:e.provider.id})).map(e=>({...e,search:[e.provider.name,e.provider.id,e.name,e.id,e.family,w(e.provider.id,e.cost,e.id)?"free 免费":"",C(e.provider.id,e.id)?"limited 限免":"",e.latest?"latest 最新":""].join(" ")})));return n(N,{get class(){return`flex-1 min-h-0 [&_[data-slot=list-scroll]]:flex-1 [&_[data-slot=list-scroll]]:min-h-0 ${o.class??""}`},get search(){return{placeholder:l.t("dialog.model.search.placeholder"),autofocus:!0,action:o.action}},get emptyMessage(){return l.t("dialog.model.empty")},key:t=>`${t.provider.id}:${t.id}`,items:m,get current(){return r.current()},scrollToCurrent:!1,filterKeys:["search"],sortBy:(t,e)=>t.name.localeCompare(e.name),groupBy:t=>t.provider.name,sortGroupsBy:(t,e)=>{const i=t.items[0].provider.id,c=e.items[0].provider.id;return v.includes(i)&&!v.includes(c)?-1:!v.includes(i)&&v.includes(c)?1:v.indexOf(i)-v.indexOf(c)},groupHeader:t=>{const e=t.items[0].provider.id,i=g.connected().find(s=>s.id===e)??g.all().find(s=>s.id===e),c=K(e,a.data.config.public_providers),b=e!=="onescience"&&e!=="opencode"&&e!=="opencode-go"&&!c&&i?.source!=="env",p=G(e,a.data.config.provider?.[e],i,a.data.config.public_providers);return(()=>{var s=Q(),M=s.firstChild;return d(M,()=>t.category),d(s,n(h,{when:b,get children(){return n(P,{size:"small",variant:"ghost",class:"shrink-0 h-6 px-1.5 text-12-medium",onClick:()=>{u.show(()=>p?n(V,{providerID:e,back:"picker"}):n(H,{provider:e,back:"picker"}))},get children(){return l.t("common.edit")}})}}),null),s})()},itemWrapper:(t,e)=>n(D,{class:"w-full",placement:"right-start",gutter:12,get value(){return n(J,{model:t,get latest(){return t.latest},get free(){return w(t.provider.id,t.cost,t.id)},get limited(){return C(t.provider.id,t.id)}})},children:e}),onSelect:t=>{r.set(t?{modelID:t.id,providerID:t.provider.id}:void 0,{recent:!0}),o.onSelect()},children:t=>(()=>{var e=U(),i=e.firstChild;return d(i,()=>t.name),d(e,n(h,{get when(){return w(t.provider.id,t.cost,t.id)},get children(){return n($,{get children(){return l.t("model.tag.free")}})}}),null),d(e,n(h,{get when(){return C(t.provider.id,t.id)},get children(){return n($,{get children(){return l.t("model.tag.limited")}})}}),null),d(e,n(h,{get when(){return t.latest},get children(){return n($,{get children(){return l.t("model.tag.latest")}})}}),null),e})()})};function ee(o){const[r,l]=B({open:!1,dismiss:null}),u=S(),a=e=>{l("dismiss",e),l("open",!1)},g=()=>{a("manage"),u.show(()=>n(L,{tab:"models"}))},m=()=>{a("provider"),I(()=>import("./index-DjsAxbra.js").then(e=>e.dK),__vite__mapDeps([0,1])).then(e=>{u.show(()=>n(e.DialogSelectProvider,{}))})},t=_();return n(x,{get open(){return r.open},onOpenChange:e=>{e&&l("dismiss",null),l("open",e)},modal:!1,placement:"top-start",gutter:4,get children(){return[n(x.Trigger,j({get as(){return o.triggerAs??"div"}},()=>o.triggerProps,{get children(){return o.children}})),n(x.Portal,{get children(){return n(x.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=>{a("escape"),e.preventDefault(),e.stopPropagation()},onPointerDownOutside:()=>a("outside"),onFocusOutside:()=>a("outside"),onCloseAutoFocus:e=>{const i=r.dismiss;i==="outside"&&e.preventDefault(),(i==="escape"||i==="select")&&(e.preventDefault(),o.onClose?.(i)),l("dismiss",null)},get children(){return[n(x.Title,{class:"sr-only",get children(){return t.t("dialog.model.select.title")}}),n(E,{get provider(){return o.provider},get model(){return o.model},onSelect:()=>a("select"),class:"p-1",get action(){return(()=>{var e=X();return d(e,n(D,{placement:"top",get value(){return t.t("command.provider.connect")},get children(){return n(y,{icon:"plus-small",variant:"ghost",iconSize:"normal",class:"size-6",get"aria-label"(){return t.t("command.provider.connect")},onClick:m})}}),null),d(e,n(D,{placement:"top",get value(){return t.t("settings.models.title")},get children(){return n(y,{icon:"sliders",variant:"ghost",iconSize:"normal",class:"size-6",get"aria-label"(){return t.t("settings.models.title")},onClick:g})}}),null),e})()}})]}})}})]}})}const te=o=>{const r=S(),l=_(),u=k(),[a,g]=T(u.data.provider.all.length>0);z(()=>{a()||u.ensureProviders().then(()=>g(!0)).catch(()=>g(!0))});const m=()=>{I(()=>import("./index-DjsAxbra.js").then(e=>e.dK),__vite__mapDeps([0,1])).then(e=>{r.show(()=>n(e.DialogSelectProvider,{}))})},t=()=>{r.show(()=>n(L,{tab:"models"}))};return n(O,{get title(){return l.t("dialog.model.select.title")},get action(){return n(P,{class:"h-7 -my-1 text-14-medium",icon:"plus-small",tabIndex:-1,onClick:m,get children(){return l.t("command.provider.connect")}})},get children(){return[n(h,{get when(){return a()||u.data.provider.all.length>0},get fallback(){return(()=>{var e=Y();return d(e,()=>l.t("toast.provider.catalogLoading.description")),e})()},get children(){return n(E,{get provider(){return o.provider},get model(){return o.model},onSelect:()=>r.close()})}}),n(P,{variant:"ghost",class:"ml-3 mt-5 mb-6 text-text-base self-start",onClick:t,get children(){return l.t("settings.models.title")}})]}})};export{te as DialogSelectModel,ee as ModelSelectorPopover};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-DgAWECfr.js","assets/index-BtTSBbfn.css"])))=>i.map(i=>d[i]);
2
+ import{cV as _,i as d,a as n,S as h,t as f,C as S,L as k,c as M,ag as T,dw as P,E as z,at as B,dx as x,b5 as j,dy as D,dz as y,dA as A,dB as F,D as R,dC as w,dD as G,dE as V,dF as H,dG as K,dH as v,dl as q,bq as I,dI as L}from"./index-DgAWECfr.js";var N=f('<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">'),W=f('<div class="text-12-regular text-text-invert-base">');const J=o=>{const r=_(),l=e=>{const i=`${e.id} ${e.name}`.toLowerCase();return/claude|anthropic/.test(i)?r.t("model.provider.anthropic"):/gpt|o[1-4]|codex|openai/.test(i)?r.t("model.provider.openai"):/gemini|palm|bard|google/.test(i)?r.t("model.provider.google"):/grok|xai/.test(i)?r.t("model.provider.xai"):/llama|meta/.test(i)?r.t("model.provider.meta"):e.provider.name},u=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,a=()=>{const e=[];o.latest&&e.push(r.t("model.tag.latest")),o.free&&e.push(r.t("model.tag.free")),o.limited&&e.push(r.t("model.tag.limited"));const i=e.length?` (${e.join(", ")})`:"";return`${l(o.model)} ${o.model.name}${i}`},g=()=>{if(o.model.capabilities){const c=o.model.capabilities.input,p=["text","image","audio","video","pdf"].filter(s=>c[s]).map(s=>u(s));return p.length?p.join(", "):void 0}const e=o.model.modalities?.input;if(!e)return;const i=e.map(c=>u(c));return i.length?i.join(", "):void 0},m=()=>o.model.capabilities?o.model.capabilities.reasoning?r.t("model.tooltip.reasoning.allowed"):r.t("model.tooltip.reasoning.none"):o.model.reasoning?r.t("model.tooltip.reasoning.allowed"):r.t("model.tooltip.reasoning.none"),t=()=>r.t("model.tooltip.context",{limit:o.model.limit.context.toLocaleString()});return(()=>{var e=N(),i=e.firstChild,c=i.nextSibling,b=c.nextSibling;return d(i,a),d(e,n(h,{get when(){return g()},children:p=>(()=>{var s=W();return d(s,()=>r.t("model.tooltip.allows",{inputs:p()})),s})()}),c),d(c,m),d(b,t),e})()};var Q=f('<div class="flex items-center justify-between w-full gap-2 pr-1"><span class=truncate>'),U=f('<div class="w-full flex items-center gap-x-2 text-13-regular"><span class=truncate>'),X=f('<div class="flex items-center gap-1">'),Y=f('<div class="px-3 py-8 text-14-regular text-text-weak">');const $=(o,r,l)=>o==="opencode"&&(!r||r.input===0)||o==="onescience"&&l==="glm-5.2",C=(o,r)=>o==="onescience"&&r!=="glm-5.2",E=o=>{const r=o.model??A().model,l=_(),u=S(),a=k(),g=F(),m=R(()=>r.list().filter(e=>o.provider?e.provider.id===o.provider:!0).filter(e=>r.visible({modelID:e.id,providerID:e.provider.id})).map(e=>({...e,search:[e.provider.name,e.provider.id,e.name,e.id,e.family,$(e.provider.id,e.cost,e.id)?"free 免费":"",C(e.provider.id,e.id)?"limited 限免":"",e.latest?"latest 最新":""].join(" ")})));return n(q,{get class(){return`flex-1 min-h-0 [&_[data-slot=list-scroll]]:flex-1 [&_[data-slot=list-scroll]]:min-h-0 ${o.class??""}`},get search(){return{placeholder:l.t("dialog.model.search.placeholder"),autofocus:!0,action:o.action}},get emptyMessage(){return l.t("dialog.model.empty")},key:t=>`${t.provider.id}:${t.id}`,items:m,get current(){return r.current()},scrollToCurrent:!1,filterKeys:["search"],sortBy:(t,e)=>t.name.localeCompare(e.name),groupBy:t=>t.provider.name,sortGroupsBy:(t,e)=>{const i=t.items[0].provider.id,c=e.items[0].provider.id;return v.includes(i)&&!v.includes(c)?-1:!v.includes(i)&&v.includes(c)?1:v.indexOf(i)-v.indexOf(c)},groupHeader:t=>{const e=t.items[0].provider.id,i=g.connected().find(s=>s.id===e)??g.all().find(s=>s.id===e),c=G(e,a.data.config.public_providers),b=e!=="onescience"&&e!=="opencode"&&e!=="opencode-go"&&!c&&i?.source!=="env",p=V(e,a.data.config.provider?.[e],i,a.data.config.public_providers);return(()=>{var s=Q(),O=s.firstChild;return d(O,()=>t.category),d(s,n(h,{when:b,get children(){return n(P,{size:"small",variant:"ghost",class:"shrink-0 h-6 px-1.5 text-12-medium",onClick:()=>{u.show(()=>p?n(H,{providerID:e,back:"picker"}):n(K,{provider:e,back:"picker"}))},get children(){return l.t("common.edit")}})}}),null),s})()},itemWrapper:(t,e)=>n(D,{class:"w-full",placement:"right-start",gutter:12,get value(){return n(J,{model:t,get latest(){return t.latest},get free(){return $(t.provider.id,t.cost,t.id)},get limited(){return C(t.provider.id,t.id)}})},children:e}),onSelect:t=>{r.set(t?{modelID:t.id,providerID:t.provider.id}:void 0,{recent:!0}),o.onSelect()},children:t=>(()=>{var e=U(),i=e.firstChild;return d(i,()=>t.name),d(e,n(h,{get when(){return $(t.provider.id,t.cost,t.id)},get children(){return n(w,{get children(){return l.t("model.tag.free")}})}}),null),d(e,n(h,{get when(){return C(t.provider.id,t.id)},get children(){return n(w,{get children(){return l.t("model.tag.limited")}})}}),null),d(e,n(h,{get when(){return t.latest},get children(){return n(w,{get children(){return l.t("model.tag.latest")}})}}),null),e})()})};function ee(o){const[r,l]=B({open:!1,dismiss:null}),u=S(),a=e=>{l("dismiss",e),l("open",!1)},g=()=>{a("manage"),u.show(()=>n(I,{tab:"models"}))},m=()=>{a("provider"),L(()=>import("./index-DgAWECfr.js").then(e=>e.dO),__vite__mapDeps([0,1])).then(e=>{u.show(()=>n(e.DialogSelectProvider,{}))})},t=_();return n(x,{get open(){return r.open},onOpenChange:e=>{e&&l("dismiss",null),l("open",e)},modal:!1,placement:"top-start",gutter:4,get children(){return[n(x.Trigger,j({get as(){return o.triggerAs??"div"}},()=>o.triggerProps,{get children(){return o.children}})),n(x.Portal,{get children(){return n(x.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=>{a("escape"),e.preventDefault(),e.stopPropagation()},onPointerDownOutside:()=>a("outside"),onFocusOutside:()=>a("outside"),onCloseAutoFocus:e=>{const i=r.dismiss;i==="outside"&&e.preventDefault(),(i==="escape"||i==="select")&&(e.preventDefault(),o.onClose?.(i)),l("dismiss",null)},get children(){return[n(x.Title,{class:"sr-only",get children(){return t.t("dialog.model.select.title")}}),n(E,{get provider(){return o.provider},get model(){return o.model},onSelect:()=>a("select"),class:"p-1",get action(){return(()=>{var e=X();return d(e,n(D,{placement:"top",get value(){return t.t("command.provider.connect")},get children(){return n(y,{icon:"plus-small",variant:"ghost",iconSize:"normal",class:"size-6",get"aria-label"(){return t.t("command.provider.connect")},onClick:m})}}),null),d(e,n(D,{placement:"top",get value(){return t.t("settings.models.title")},get children(){return n(y,{icon:"sliders",variant:"ghost",iconSize:"normal",class:"size-6",get"aria-label"(){return t.t("settings.models.title")},onClick:g})}}),null),e})()}})]}})}})]}})}const te=o=>{const r=S(),l=_(),u=k(),[a,g]=M(u.data.provider.all.length>0);T(()=>{a()||u.ensureProviders().then(()=>g(!0)).catch(()=>g(!0))});const m=()=>{L(()=>import("./index-DgAWECfr.js").then(e=>e.dO),__vite__mapDeps([0,1])).then(e=>{r.show(()=>n(e.DialogSelectProvider,{}))})},t=()=>{r.show(()=>n(I,{tab:"models"}))};return n(z,{get title(){return l.t("dialog.model.select.title")},get action(){return n(P,{class:"h-7 -my-1 text-14-medium",icon:"plus-small",tabIndex:-1,onClick:m,get children(){return l.t("command.provider.connect")}})},get children(){return[n(h,{get when(){return a()||u.data.provider.all.length>0},get fallback(){return(()=>{var e=Y();return d(e,()=>l.t("toast.provider.catalogLoading.description")),e})()},get children(){return n(E,{get provider(){return o.provider},get model(){return o.model},onSelect:()=>r.close()})}}),n(P,{variant:"ghost",class:"ml-3 mt-5 mb-6 text-text-base self-start",onClick:t,get children(){return l.t("settings.models.title")}})]}})};export{te as DialogSelectModel,ee as ModelSelectorPopover};
@@ -0,0 +1,3 @@
1
+ import{C as $,dt as A,D as r,k as N,du as D,de as T,dk as L,dv as R,a as u,i as a,S as h,dw as k,E as U,t as p}from"./index-DgAWECfr.js";var P=p('<pre class="m-0 shrink-0 max-h-28 overflow-y-auto rounded-lg border border-border-weak-base bg-background-weak p-3 text-12-regular text-text-strong leading-5 whitespace-pre-wrap break-all">服务端返回:'),M=p('<pre class="m-0 shrink-0 max-h-24 overflow-y-auto rounded-lg border border-border-weak-base bg-background-weak p-3 text-12-regular text-text-strong leading-5 whitespace-pre-wrap break-all">探测详情:'),G=p('<div class="flex flex-col gap-2 min-w-0 min-h-0"><div class="flex items-center justify-between gap-2 shrink-0"><strong class="text-13-medium text-text-strong">建议在服务器上执行</strong></div><pre class="m-0 max-h-[36vh] overflow-y-auto rounded-lg border border-border-weak-base bg-background-weak p-3 text-12-regular text-text-strong leading-5 whitespace-pre-wrap break-all">'),B=p('<div class="flex flex-col gap-4 px-6 pb-6 pt-0 min-h-0"><p class="text-14-regular text-text-weak m-0 leading-6 shrink-0"></p><p class="text-12-regular text-text-weak m-0 shrink-0"></p><div class="flex justify-end shrink-0">');function j(v={}){const x=$(),_=A(),l=r(()=>N()),n=r(()=>l()?.capabilities.terminalUnavailableReason??""),f=r(()=>l()?.capabilities.terminalUnavailableDetail??""),i=r(()=>l()?.capabilities.terminalIsolation??""),s=r(()=>(v.failure??"").trim()),o=r(()=>!!l()&&l()?.capabilities.terminal===!0&&!n()),g=r(()=>!n()&&!o()&&i()==="bubblewrap"),b=r(()=>(D(),!!T(L(_.dir)??""))),m=r(()=>{if(b())return[];if(o()&&s())return[];if(o())return i()==="docker"?["# 1) 无 GPU:改用 bubblewrap 后重启 OneCode,并重新登录","export ONECODE_TERMINAL_ISOLATION=bubblewrap","# 2) 有 GPU 且必须用 docker:给运行账号加组后重新登录系统再启 OneCode",'sudo usermod -aG docker "$USER"',"docker info"]:i()==="bubblewrap"?["# A. 临时绕过隔离(先验证终端能否打开)","export ONECODE_TERMINAL_ISOLATION=native","# 然后重启 onecode,浏览器重新登录后再开终端","","# B. 继续用 bubblewrap 时,在运行 OneCode 的机器上检查:","which bwrap; bwrap --version","bwrap --unshare-all --share-net --die-with-parent --new-session --proc /proc --dev /dev --ro-bind-try /usr /usr --ro-bind-try /bin /bin --tmpfs /tmp -- /usr/bin/true; echo exit:$?","cat /proc/sys/kernel/unprivileged_userns_clone","cat /proc/sys/kernel/apparmor_restrict_unprivileged_userns 2>/dev/null || true","","# C. 若 exit 非 0,可临时放开(需管理员;重启后可能失效)","sudo sysctl -w kernel.unprivileged_userns_clone=1","sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0","","# D. 服务端日志(搜 creating session / exited)",'ls ~/.local/share/opencode/log/ 2>/dev/null || ls "$HOME"/.local/share/opencode/log/']:["# 查看服务端日志(搜 creating session / exited)",'ls ~/.local/share/opencode/log/ 2>/dev/null || ls "$HOME"/.local/share/opencode/log/',"# 临时可改:export ONECODE_TERMINAL_ISOLATION=native 后重启并重新登录"];const e=R(l());return Array.isArray(e)&&e.length>0?e:g()?["export ONECODE_TERMINAL_ISOLATION=native","cat /proc/sys/kernel/unprivileged_userns_clone"]:[]}),O=r(()=>m().length>0),C=r(()=>b()||o()?"无法打开终端":n()==="docker-missing"?"无法打开终端:Docker 不可用":n()==="disabled"?"无法打开终端:服务未启用":n()==="bubblewrap-unusable"?"无法打开终端:bubblewrap 异常":g()?"无法打开终端:隔离环境异常":"无法打开终端:需要 bubblewrap"),y=r(()=>b()&&s()?"在远端创建或连接普通 shell 失败。下方是服务端返回;远端终端不使用本机 bubblewrap。":b()?"SSH 已连接时,终端应在远端以普通 shell 打开,不使用本机 bubblewrap。请关闭失效标签后新建,或断开后重新连接远端再打开终端。":o()&&s()?"创建终端失败。请查看下方服务端返回。SSH 远端项目的终端在远端以普通 shell 运行,不使用本机 bubblewrap。":o()?i()==="docker"?"隔离模式为 docker,创建终端失败。常见原因是当前用户无权访问 docker.sock。无 GPU 请改用 bubblewrap;有 GPU 请把运行账号加入 docker 组。":i()==="bubblewrap"?"隔离模式为 bubblewrap,创建终端失败(服务端 POST /pty 返回错误)。可先按下方 A 改用 native 验证;若需继续隔离,再按 B/C 检查 bubblewrap 与内核命名空间。":s()?"远端或本机创建终端失败。下方是服务端返回;SSH 远端终端应是普通 shell,不使用本机 bubblewrap。":`隔离模式为 ${i()||"native"},创建终端失败。请按下方命令查看日志或临时调整隔离模式后重试。`:n()==="docker-missing"?"已配置 docker 隔离,但当前用户无法使用 Docker。无 GPU 请改用 bubblewrap;有 GPU 请将运行账号加入 docker 组。":n()==="disabled"?"服务端未启用平台账号终端。":n()==="bubblewrap-unusable"?"已安装 bubblewrap,但无法创建用户命名空间。请按下方命令检查后重启 OneCode 并重新登录。":g()?"bubblewrap 终端启动失败。可临时改用 native,或检查 user namespace 相关 sysctl。":"需要安装 bubblewrap 后重启 OneCode 并重新登录。容器部署可使用 ONECODE_TERMINAL_ISOLATION=native。"),E=async()=>{const e=m().filter(c=>c.trim().length>0&&!c.trim().startsWith("#")).join(`
2
+ `);if(e)try{await navigator.clipboard.writeText(e)}catch{}};return u(U,{get title(){return C()},class:"os-client-terminal-dialog w-full",size:"normal",get children(){var e=B(),c=e.firstChild,d=c.nextSibling,S=d.nextSibling;return a(c,y),a(e,u(h,{get when(){return s()},get children(){var t=P();return t.firstChild,a(t,s,null),t}}),d),a(e,u(h,{get when(){return f()},get children(){var t=M();return t.firstChild,a(t,f,null),t}}),d),a(e,u(h,{get when(){return O()},get children(){var t=G(),w=t.firstChild;w.firstChild;var I=w.nextSibling;return a(w,u(k,{type:"button",size:"normal",variant:"ghost",onClick:()=>void E(),children:"复制命令"}),null),a(I,()=>m().join(`
3
+ `)),t}}),d),a(d,()=>b()?"远端终端在远端以普通 shell 运行,不使用本机隔离。":"修改环境变量后需重启 OneCode,并在浏览器中重新登录后再打开终端。"),a(S,u(k,{type:"button",variant:"primary",size:"large",onClick:()=>x.close(),children:"知道了"})),e}})}export{j as DialogTerminalUnavailable};