agentworkshop 0.7.64 → 0.7.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{DAfWhONg.js → 1NcBJMyL.js} +3 -3
- package/.output/public/_nuxt/{CKE_kTL92.js → Bb4REys92.js} +1 -1
- package/.output/public/_nuxt/{CVUMEGa1.js → Bnf04goH.js} +1 -1
- package/.output/public/_nuxt/{Cuw2--X2.js → CJPIo2E7.js} +1 -1
- package/.output/public/_nuxt/{CkYk8bj02.js → Cfy5Jn8v2.js} +1 -1
- package/.output/public/_nuxt/{DSWuWYx_2.js → DBERjwK92.js} +1 -1
- package/.output/public/_nuxt/DG0esyZR.js +1 -0
- package/.output/public/_nuxt/{B5RD2ZST.js → DPP0W5Ni.js} +1 -1
- package/.output/public/_nuxt/{DqT2_Jtw2.js → DxJFBokW2.js} +1 -1
- package/.output/public/_nuxt/{Cnf1PFhB2.js → GKiBVVYe2.js} +1 -1
- package/.output/public/_nuxt/{Dc5NeCDq.js → H13l21fR.js} +1 -1
- package/.output/public/_nuxt/{Cdw4juXw.js → XErFZOU9.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/8bf65244-eb00-45c7-be23-9dcd7b917ef3.json +1 -0
- package/.output/public/_nuxt/{D-z6N1Cz.js → kYyvM13M.js} +1 -1
- package/.output/public/_nuxt/{B0w8DZ4C.js → t54AYjsC.js} +1 -1
- package/.output/server/chunks/_/nitro.mjs +1220 -904
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/build/useWorkshopWs-CM-Ywk4h.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/README-zh.md +8 -6
- package/README.md +7 -5
- package/app/stores/workshop/notifications.ts +22 -1
- package/config.yml +1 -1
- package/docs/cli.en.md +2 -2
- package/docs/cli.md +2 -2
- package/docs/full-test-plan.md +1 -1
- package/docs/plugins.en.md +1 -1
- package/docs/plugins.md +1 -1
- package/docs/sdk.en.md +1 -1
- package/docs/sdk.md +1 -1
- package/package.json +1 -1
- package/server/plugins-builtin/diag-bridge/client.mjs +230 -132
- package/server/plugins-builtin/diag-bridge/i18n.json +45 -15
- package/server/plugins-builtin/rag-bridge/client.mjs +182 -108
- package/server/plugins-builtin/rag-bridge/i18n.json +84 -60
- package/server/services/workshop/agents/host-tool-bridge/dispatch.ts +5 -0
- package/server/services/workshop/agents/industrial/aml-dataset-tools.ts +14 -0
- package/server/services/workshop/agents/industrial/dcw-judge-tools.ts +7 -2
- package/server/services/workshop/agents/industrial/dcw-tools.ts +5 -3
- package/server/services/workshop/agents/industrial/line-tools.ts +16 -3
- package/server/services/workshop/agents/industrial/optimization-tools.ts +10 -0
- package/server/services/workshop/agents/industrial/param-tools.ts +1 -84
- package/server/services/workshop/agents/industrial/tool-verify.ts +373 -0
- package/server/services/workshop/agents/industrial/twin-tools.ts +5 -0
- package/server/services/workshop/runtime/manager/channel-template-constants.ts +20 -0
- package/server/services/workshop/runtime/manager/channel-templates.ts +3 -12
- package/.output/public/_nuxt/DIDbAMv5.js +0 -1
- package/.output/public/_nuxt/builds/meta/1809e625-ff1d-4fd5-9ad2-28cea81f06ab.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as e,S as t,dt as n,ft as r,mt as i,u as a,v as o}from"./CavpkQb0.js";import{D as s,G as c,H as l,P as u,R as d,S as f,V as p,W as m,b as h,d as g,et as _,f as v,h as y,i as b,m as x,nt as S,p as C,rt as w,tt as T,v as E,y as D}from"./ByMj6e7s.js";import{d as O,f as k,n as A,t as j,u as M}from"./goF_oZHF.js";import{d as N,p as P}from"./Br3AySNQ.js";import{n as F,t as I}from"./C8uaVABF.js";import{i as L,t as R}from"./S799kNo8.js";import{n as z}from"./Cnrmlixo.js";import{t as B}from"./D5hI4Fhu.js";import{Ct as ee,Mt as te,Tt as ne,d as re,jt as V,n as ie,rt as ae,t as H,u as oe}from"./C2YYOgMe.js";import{t as se}from"./D-jg-SoR.js";import{r as ce}from"./CoTm7jd3.js";import{A as le,i as U,s as ue,t as de}from"./CiyTTgqr.js";import{t as fe}from"./DP_e7Vwv.js";import{a as pe,i as me,n as he,r as ge,t as _e}from"./jmKfTQMN.js";import{t as ve}from"./lO5tpDZ52.js";import{n as ye}from"./Qa9rS9oK2.js";import{t as be}from"./DC7WzYCf2.js";import{t as W}from"./J94L7hHq2.js";import{n as xe,t as G}from"./DYtV50yi2.js";import{t as K}from"./Do0dCE8C2.js";import{t as Se}from"./BupBjt6B2.js";import{t as q}from"./BDNMzG2s2.js";import{t as Ce}from"./DlUQa0wn.js";import{t as we}from"./ClEbKcuS.js";import{t as Te}from"./Ch1P2mIf.js";import{c as Ee,i as De,l as Oe,t as ke}from"./DIDbAMv5.js";import{t as Ae}from"./pncSmP5n.js";import{t as je}from"./P0EcfD3j.js";import{t as Me}from"./D4tAdwYm.js";var Ne=e=>{let{componentCls:t,colorBgContainer:n,colorBgBody:r,colorText:i}=e;return{[`${t}-sider-light`]:{background:n,[`${t}-sider-trigger`]:{color:i,background:n},[`${t}-sider-zero-width-trigger`]:{color:i,background:n,border:`1px solid ${r}`,borderInlineStart:0}}}},Pe=e=>{let{antCls:t,componentCls:n,colorText:r,colorTextLightSolid:i,colorBgHeader:a,colorBgBody:o,colorBgTrigger:s,layoutHeaderHeight:c,layoutHeaderPaddingInline:l,layoutHeaderColor:u,layoutFooterPadding:d,layoutTriggerHeight:f,layoutZeroTriggerSize:p,motionDurationMid:m,motionDurationSlow:h,fontSize:g,borderRadius:_}=e;return{[n]:V(V({display:`flex`,flex:`auto`,flexDirection:`column`,color:r,minHeight:0,background:o,"&, *":{boxSizing:`border-box`},[`&${n}-has-sider`]:{flexDirection:`row`,[`> ${n}, > ${n}-content`]:{width:0}},[`${n}-header, &${n}-footer`]:{flex:`0 0 auto`},[`${n}-header`]:{height:c,paddingInline:l,color:u,lineHeight:`${c}px`,background:a,[`${t}-menu`]:{lineHeight:`inherit`}},[`${n}-footer`]:{padding:d,color:r,fontSize:g,background:o},[`${n}-content`]:{flex:`auto`,minHeight:0},[`${n}-sider`]:{position:`relative`,minWidth:0,background:a,transition:`all ${m}, background 0s`,"&-children":{height:`100%`,marginTop:-.1,paddingTop:.1,[`${t}-menu${t}-menu-inline-collapsed`]:{width:`auto`}},"&-has-trigger":{paddingBottom:f},"&-right":{order:1},"&-trigger":{position:`fixed`,bottom:0,zIndex:1,height:f,color:i,lineHeight:`${f}px`,textAlign:`center`,background:s,cursor:`pointer`,transition:`all ${m}`},"&-zero-width":{"> *":{overflow:`hidden`},"&-trigger":{position:`absolute`,top:c,insetInlineEnd:-p,zIndex:1,width:p,height:p,color:i,fontSize:e.fontSizeXL,display:`flex`,alignItems:`center`,justifyContent:`center`,background:a,borderStartStartRadius:0,borderStartEndRadius:_,borderEndEndRadius:_,borderEndStartRadius:0,cursor:`pointer`,transition:`background ${h} ease`,"&::after":{position:`absolute`,inset:0,background:`transparent`,transition:`all ${h}`,content:`""`},"&:hover::after":{background:`rgba(255, 255, 255, 0.2)`},"&-right":{insetInlineStart:-p,borderStartStartRadius:_,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:_}}}}},Ne(e)),{"&-rtl":{direction:`rtl`}})}},Fe=re(`Layout`,e=>{let{colorText:t,controlHeightSM:n,controlHeight:r,controlHeightLG:i,marginXXS:a}=e,o=i*1.25;return[Pe(oe(e,{layoutHeaderHeight:r*2,layoutHeaderPaddingInline:o,layoutHeaderColor:t,layoutFooterPadding:`${n}px ${o}px`,layoutTriggerHeight:i+a*2,layoutZeroTriggerSize:i}))]},e=>{let{colorBgLayout:t}=e;return{colorBgHeader:`#001529`,colorBgBody:t,colorBgTrigger:`#002140`}}),Ie=()=>({prefixCls:String,hasSider:{type:Boolean,default:void 0},tagName:String});function J(e){let{suffixCls:t,tagName:n,name:r}=e;return e=>f({compatConfig:{MODE:3},name:r,props:Ie(),setup(r,i){let{slots:a}=i,{prefixCls:o}=ie(t,r);return()=>{let t=V(V({},r),{prefixCls:o.value,tagName:n});return h(e,t,a)}}})}var Y=f({compatConfig:{MODE:3},props:Ie(),setup(e,t){let{slots:n}=t;return()=>h(e.tagName,{class:e.prefixCls},n)}}),Le=f({compatConfig:{MODE:3},inheritAttrs:!1,props:Ie(),setup(e,t){let{slots:n,attrs:r}=t,{prefixCls:i,direction:a}=ie(``,e),[s,c]=Fe(i),u=o([]);l(pe,{addSider:e=>{u.value=[...u.value,e]},removeSider:e=>{u.value=u.value.filter(t=>t!==e)}});let d=g(()=>{let{prefixCls:t,hasSider:n}=e;return{[c.value]:!0,[`${t}`]:!0,[`${t}-has-sider`]:typeof n==`boolean`?n:u.value.length>0,[`${t}-rtl`]:a.value===`rtl`}});return()=>{let{tagName:t}=e;return s(h(t,V(V({},r),{class:[d.value,r.class]}),n))}}}),Re=J({suffixCls:`layout`,tagName:`section`,name:`ALayout`})(Le),X=J({suffixCls:`layout-header`,tagName:`header`,name:`ALayoutHeader`})(Y),Z=J({suffixCls:`layout-footer`,tagName:`footer`,name:`ALayoutFooter`})(Y),Q=J({suffixCls:`layout-content`,tagName:`main`,name:`ALayoutContent`})(Y),ze={icon:{tag:`svg`,attrs:{viewBox:`0 0 1024 1024`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z`}}]},name:`bars`,theme:`outlined`};function Be(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Ve(e,t,n[t])})}return e}function Ve(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var He=function(e,t){var n=Be({},e,t.attrs);return h(le,Be({},n,{icon:ze}),null)};He.displayName=`BarsOutlined`,He.inheritAttrs=!1;var Ue={xs:`479.98px`,sm:`575.98px`,md:`767.98px`,lg:`991.98px`,xl:`1199.98px`,xxl:`1599.98px`,xxxl:`1999.98px`},We=()=>({prefixCls:String,collapsible:{type:Boolean,default:void 0},collapsed:{type:Boolean,default:void 0},defaultCollapsed:{type:Boolean,default:void 0},reverseArrow:{type:Boolean,default:void 0},zeroWidthTriggerStyle:{type:Object,default:void 0},trigger:H.any,width:H.oneOfType([H.number,H.string]),collapsedWidth:H.oneOfType([H.number,H.string]),breakpoint:H.oneOf(ae(`xs`,`sm`,`md`,`lg`,`xl`,`xxl`,`xxxl`)),theme:H.oneOf(ae(`light`,`dark`)).def(`dark`),onBreakpoint:Function,onCollapse:Function}),Ge=(()=>{let e=0;return function(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:``;return e+=1,`${t}${e}`}})(),$=f({compatConfig:{MODE:3},name:`ALayoutSider`,inheritAttrs:!1,props:ee(We(),{collapsible:!1,defaultCollapsed:!1,reverseArrow:!1,width:200,collapsedWidth:80}),emits:[`breakpoint`,`update:collapsed`,`collapse`],setup(e,n){let{emit:r,attrs:i,slots:a}=n,{prefixCls:o}=ie(`layout-sider`,e),c=s(pe,void 0),f=t(!!(e.collapsed===void 0?e.defaultCollapsed:e.collapsed)),p=t(!1);_(()=>e.collapsed,()=>{f.value=!!e.collapsed}),l(me,f);let m=(t,n)=>{e.collapsed===void 0&&(f.value=t),r(`update:collapsed`,t),r(`collapse`,t,n)},g=t(e=>{p.value=e.matches,r(`breakpoint`,e.matches),f.value!==e.matches&&m(e.matches,`responsive`)}),v;function y(e){return g.value(e)}let b=Ge(`ant-sider-`);c&&c.addSider(b),d(()=>{_(()=>e.breakpoint,()=>{try{v?.removeEventListener(`change`,y)}catch{v?.removeListener(y)}if(typeof window<`u`){let{matchMedia:t}=window;if(t&&e.breakpoint&&e.breakpoint in Ue){v=t(`(max-width: ${Ue[e.breakpoint]})`);try{v.addEventListener(`change`,y)}catch{v.addListener(y)}y(v)}}},{immediate:!0})}),u(()=>{try{v?.removeEventListener(`change`,y)}catch{v?.removeListener(y)}c&&c.removeSider(b)});let x=()=>{m(!f.value,`clickTrigger`)};return()=>{let t=o.value,{collapsedWidth:n,width:r,reverseArrow:s,zeroWidthTriggerStyle:c,trigger:l=a.trigger?.call(a),collapsible:u,theme:d}=e,m=f.value?n:r,g=ve(m)?`${m}px`:String(m),_=parseFloat(String(n||0))===0?h(`span`,{onClick:x,class:ne(`${t}-zero-width-trigger`,`${t}-zero-width-trigger-${s?`right`:`left`}`),style:c},[l||h(He,null,null)]):null,v={expanded:h(s?ye:be,null,null),collapsed:h(s?be:ye,null,null)}[f.value?`collapsed`:`expanded`],y=l===null?null:_||h(`div`,{class:`${t}-trigger`,onClick:x,style:{width:g}},[l||v]),b=[i.style,{flex:`0 0 ${g}`,maxWidth:g,minWidth:g,width:g}],S=ne(t,`${t}-${d}`,{[`${t}-collapsed`]:!!f.value,[`${t}-has-trigger`]:u&&l!==null&&!_,[`${t}-below`]:!!p.value,[`${t}-zero-width`]:parseFloat(g)===0},i.class);return h(`aside`,te(te({},i),{},{class:S,style:b}),[h(`div`,{class:`${t}-children`},[a.default?.call(a)]),u||p.value&&_?y:null])}}}),Ke=X,qe=Z,Je=$,Ye=Q,Xe=V(Re,{Header:X,Footer:Z,Content:Q,Sider:$,install:e=>(e.component(Re.name,Re),e.component(X.name,X),e.component(Z.name,Z),e.component($.name,$),e.component(Q.name,Q),e)}),Ze=[`width`,`height`],Qe=Object.assign(f({__name:`AwLogo`,props:{size:{default:32}},setup(e){return(t,n)=>(p(),y(`svg`,{width:e.size,height:e.size,viewBox:`0 0 64 64`,fill:`none`,"aria-hidden":`true`},[...n[0]||=[E(`<defs><linearGradient id="aw-logo-gradient" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#35e0a0"></stop><stop offset="1" stop-color="#41c8f4"></stop></linearGradient></defs><path d="M32 4 L56 18 V46 L32 60 L8 46 V18 Z" stroke="url(#aw-logo-gradient)" stroke-width="4" stroke-linejoin="round"></path><path d="M32 15 L46.7 23.5 V40.5 L32 49 L17.3 40.5 V23.5 Z" stroke="#41c8f4" stroke-opacity="0.45" stroke-width="1.8" stroke-dasharray="4 3"></path><path d="M32 23 L25 38 M32 23 L39 38 M25 38 L39 38" stroke="#35e0a0" stroke-width="1.8" stroke-opacity="0.75"></path><circle cx="32" cy="23" r="3.4" fill="#35e0a0"></circle><circle cx="25" cy="38" r="3.4" fill="#41c8f4"></circle><circle cx="39" cy="38" r="3.4" fill="#41c8f4"></circle>`,7)]],8,Ze))}}),{__name:`AwLogo`}),$e={class:`logo`},et={class:`logo-mark`,"aria-hidden":`true`},tt={class:`logo-text`},nt={class:`logo-title`},rt={class:`app-menu`},it={class:`menu-group-label`},at={class:`menu-group-text`},ot={class:`menu-group-sep`,"aria-hidden":`true`},st=[`title`,`onClick`],ct={class:`sider-footer`},lt={class:`footer-line`},ut=Object.assign(q(f({__name:`AppSidebar`,setup(t){let r=K(),{t:a}=z(),s=P(),c=Se(),l=I(),f=o(!1),C=g(()=>[{id:`console`,label:a(`menu.groups.console`),items:[{key:`/`,icon:`i-tabler-layout-dashboard`,label:a(`menu.dashboard`),motion:`im-pop`},{key:`/workshop`,icon:`i-tabler-box`,label:a(`menu.workshop`),motion:`im-pop`},{key:`/town`,icon:`i-tabler-map-2`,label:a(`menu.town`),motion:`im-pop`},{key:`/daq`,icon:`i-tabler-activity`,label:a(`menu.daq`),motion:`im-pop`},{key:`/dcw`,icon:`i-tabler-settings-automation`,label:a(`menu.dcw`),motion:`im-pop`},{key:`/aml`,icon:`i-tabler-flask`,label:a(`menu.aml`),motion:`im-pop`}]},{id:`ops`,label:a(`menu.groups.ops`),items:[{key:`/operations`,icon:`i-tabler-broadcast`,label:a(`menu.operations`),motion:`im-pop`},{key:`/analysis`,icon:`i-tabler-report-analytics`,label:a(`menu.analysis`),motion:`im-pop`},{key:`/monitor`,icon:`i-tabler-cpu`,label:a(`menu.monitor`),motion:`im-pulse`},{key:`/logs`,icon:`i-tabler-list-details`,label:a(`menu.logs`),motion:`im-pop`}]},{id:`system`,label:a(`menu.groups.system`),items:[{key:`/tokens`,icon:`i-tabler-key`,label:a(`menu.tokens`),motion:`im-nudge-up`},{key:`/users`,icon:`i-tabler-users-group`,label:a(`menu.users`),motion:`im-pop`},{key:`/permissions`,icon:`i-tabler-shield-lock`,label:a(`menu.permissions`),motion:`im-pop`,adminOnly:!0},{key:`/plugins`,icon:`i-tabler-puzzle`,label:a(`menu.plugins`),motion:`im-pop`},{key:`/settings`,icon:`i-tabler-settings`,label:a(`menu.settings`),motion:`im-rotate`}]}].map(e=>({...e,items:e.items.filter(e=>!e.adminOnly||f.value&&r.isAdmin)})).filter(e=>e.items.length>0)),E=e=>e===`/`?s.path===`/`:s.path.startsWith(e),D=e=>{O.value&&l.closeMobileNav(),E(e)||N(e)},{isDrawer:O,isTablet:k}=Ce();d(()=>{f.value=!0});let A=g(()=>f.value?O.value?`drawer`:k.value?`rail`:`full`:void 0),F=g(()=>O.value?!1:k.value?!0:l.sidebarCollapsed),L=g(()=>!F.value),R=g(()=>O.value&&l.mobileNavOpen);_(()=>s.path,()=>{l.mobileNavOpen&&l.closeMobileNav()}),T(()=>{typeof document>`u`||(document.body.classList.toggle(`nav-drawer`,O.value),document.body.classList.toggle(`nav-drawer-open`,R.value))}),u(()=>{typeof document>`u`||document.body.classList.remove(`nav-drawer`,`nav-drawer-open`)}),_(R,e=>{typeof document>`u`||(document.body.style.overflow=e?`hidden`:``)});let B=e=>{e.key===`Escape`&&R.value&&l.closeMobileNav()};return d(()=>window.addEventListener(`keydown`,B)),u(()=>{window.removeEventListener(`keydown`,B),typeof document<`u`&&(document.body.style.overflow=``)}),(t,r)=>{let a=Qe,o=Je;return p(),y(b,null,[h(o,{collapsed:e(F),trigger:null,collapsible:``,width:228,"collapsed-width":64,class:`app-sider`,"data-nav-mode":e(A),"aria-hidden":e(O)&&!e(R)?`true`:void 0},{default:S(()=>[v(`div`,$e,[v(`div`,et,[h(a,{size:30})]),h(j,{name:`slide-fade`},{default:S(()=>[w(v(`div`,tt,[v(`span`,nt,i(e(c).name),1),r[1]||=v(`span`,{class:`logo-sub`},`digital twin`,-1)],512),[[M,e(L)]])]),_:1})]),v(`nav`,rt,[(p(!0),y(b,null,m(e(C),t=>(p(),y(`div`,{key:t.id,class:`menu-group`},[w(v(`div`,it,[v(`span`,at,i(t.label),1),r[2]||=v(`span`,{class:`menu-group-rule`,"aria-hidden":`true`},null,-1)],512),[[M,e(L)]]),w(v(`div`,ot,null,512),[[M,!e(L)]]),(p(!0),y(b,null,m(t.items,t=>(p(),y(`button`,{key:t.key,type:`button`,class:n([`menu-item im`,{active:E(t.key)}]),title:e(L)?void 0:t.label,onClick:e=>D(t.key)},[v(`span`,{class:n([`menu-icon`,[t.icon,t.motion]])},null,2),w(v(`span`,{class:`menu-label`},i(t.label),513),[[M,e(L)]])],10,st))),128))]))),128))]),w(v(`div`,ct,[r[4]||=v(`div`,{class:`footer-rule`},null,-1),v(`div`,lt,[v(`span`,null,`v`+i(e(c).version),1),r[3]||=v(`span`,{class:`sep`},`/`,-1),v(`span`,null,i(e(c).mode),1)])],512),[[M,e(L)]])]),_:1},8,[`collapsed`,`data-nav-mode`,`aria-hidden`]),e(R)?(p(),y(`div`,{key:0,class:`nav-scrim`,"aria-hidden":`true`,onClick:r[0]||=t=>e(l).closeMobileNav()})):x(``,!0)],64)}}}),[[`__scopeId`,`data-v-55067b41`]]),{__name:`AppSidebar`}),dt=[`title`],ft={key:0,class:`nc-count`},pt={class:`nc-menu`},mt={class:`nc-menu-title`},ht={class:`nc-unread`},gt={class:`nc-list`},_t=[`onClick`],vt={class:`nc-item-body`},yt={class:`nc-item-top`},bt={class:`nc-item-type`},xt={class:`nc-item-time`},St={class:`nc-item-title`},Ct={key:0,class:`nc-item-text`},wt={key:0,class:`nc-dot`,"aria-hidden":`true`},Tt={key:0,class:`nc-empty`},Et=Object.assign(q(f({__name:`NotificationCenter`,setup(t){let r=Oe(),a=Ae(),{hostNotifications:s}=ke(),{t:c}=z(),l=o(!1),f=o(null);d(async()=>{f.value=s(),r.loaded?await r.backfill():await r.loadSnapshot()}),u(()=>{f.value?.(),f.value=null}),_(()=>r.liveSeq,()=>{let e=r.liveItem;e&&U.info({content:`${e.title}${e.body?` · ${e.body.slice(0,60)}`:``}`,duration:6,onClick:()=>void E(e)})});let h={mention:{icon:`i-tabler-at`,tone:`mention`},agent_reply:{icon:`i-tabler-robot`,tone:`reply`},hitl_request:{icon:`i-tabler-alert-triangle`,tone:`hitl`},hitl_resolved:{icon:`i-tabler-circle-check`,tone:`ok`},member:{icon:`i-tabler-user-plus`,tone:`info`}},w=g(()=>({mention:c(`notifications.typeMention`),agent_reply:c(`notifications.typeAgentReply`),hitl_request:c(`notifications.typeHitlRequest`),hitl_resolved:c(`notifications.typeHitlResolved`),member:c(`notifications.typeMember`)})),T=g(()=>r.unreadCount>99?`99+`:String(r.unreadCount));async function E(e){if(l.value=!1,!e.readAt)try{await r.markRead({id:e.id})}catch{}if(e.hitlKind||e.hitlId||e.type===`hitl_request`){await N({path:`/monitor`,query:{agentId:String(e.payload?.agentId??``),channelId:e.channelId??``}});return}if(!e.channelId)return;if(!a.loaded)try{await a.load()}catch{}let t=a.workspaces.find(t=>t.channelIds.includes(e.channelId));if(!t){await N(`/workshop`);return}a.setActiveChannel(t.id,e.channelId),await N({path:`/workshop/w/${t.id}`,query:{view:`chat`}})}let D=o(!1);async function O(){if(!D.value){D.value=!0;try{await r.markRead({all:!0})}catch(e){U.error(e instanceof Error?e.message:c(`notifications.markReadFailed`))}finally{D.value=!1}}}return(t,a)=>{let o=W;return p(),C(o,{open:l.value,"onUpdate:open":a[0]||=e=>l.value=e,placement:`bottomRight`,trigger:[`click`]},{overlay:S(()=>[v(`div`,pt,[v(`div`,mt,[v(`span`,null,i(t.$t(`notifications.title`)),1),v(`span`,ht,i(t.$t(`notifications.unreadCount`,{p0:e(r).unreadCount})),1),e(r).unreadCount>0?(p(),y(`button`,{key:0,type:`button`,class:`nc-markall`,onClick:k(O,[`stop`])},i(t.$t(`notifications.markAllRead`)),1)):x(``,!0)]),v(`div`,gt,[(p(!0),y(b,null,m(e(r).items,t=>(p(),y(`button`,{key:t.id,type:`button`,class:n([`nc-item`,{unread:!t.readAt}]),onClick:e=>E(t)},[v(`span`,{class:n([`nc-item-icon`,[h[t.type]?.icon,h[t.type]?.tone]])},null,2),v(`span`,vt,[v(`span`,yt,[v(`span`,bt,i(w.value[t.type]??t.type),1),v(`span`,xt,i(e(we)(t.createdAt,!1)),1)]),v(`span`,St,i(t.title),1),t.body?(p(),y(`span`,Ct,i(t.body),1)):x(``,!0)]),t.readAt?x(``,!0):(p(),y(`span`,wt))],10,_t))),128)),e(r).items.length===0?(p(),y(`div`,Tt,i(t.$t(`notifications.empty`)),1)):x(``,!0)])])]),default:S(()=>[v(`button`,{class:n([`icon-btn nc-bell`,{unread:e(r).unreadCount>0}]),title:t.$t(`notifications.bellTitle`)},[a[1]||=v(`span`,{class:`i-tabler-bell`},null,-1),e(r).unreadCount>0?(p(),y(`span`,ft,i(T.value),1)):x(``,!0)],10,dt)]),_:1},8,[`open`])}}}),[[`__scopeId`,`data-v-21c11450`]]),{__name:`WorkshopNotificationCenter`}),Dt=L(`app.routeTrail`,()=>{let e=o([]);function t(t){if(!t||t.startsWith(`/api`))return;let n=e.value.filter(e=>e.path!==t);e.value=[...n,{path:t,at:Date.now()}].slice(-8)}function n(t){let n=e.value.findIndex(e=>e.path===t);return n>=0&&(e.value=e.value.filter(e=>e.path!==t)),n}function r(){e.value=[]}return{waypoints:e,visit:t,remove:n,clear:r}},{persist:{pick:[`waypoints`],storage:F.localStorage()}});function Ot(){let{t:e}=z(),t=Ae(),n={"/":{key:`menu.dashboard`,icon:`i-tabler-layout-dashboard`},"/workshop":{key:`menu.workshop`,icon:`i-tabler-box`},"/workshop/agents":{key:`meta.agents`,icon:`i-tabler-users`},"/workshop/teams":{key:`meta.teams`,icon:`i-tabler-users-group`},"/workshop/channel-templates":{key:`meta.ctpl`,icon:`i-tabler-layout-grid-add`},"/town":{key:`menu.town`,icon:`i-tabler-map-2`},"/tokens":{key:`menu.tokens`,icon:`i-tabler-key`},"/daq":{key:`menu.daq`,icon:`i-tabler-activity`},"/dcw":{key:`menu.dcw`,icon:`i-tabler-settings-automation`},"/aml":{key:`menu.aml`,icon:`i-tabler-flask`},"/logs":{key:`menu.logs`,icon:`i-tabler-list-details`},"/analysis":{key:`menu.analysis`,icon:`i-tabler-report-analytics`},"/permissions":{key:`menu.permissions`,icon:`i-tabler-shield-lock`},"/plugins":{key:`menu.plugins`,icon:`i-tabler-puzzle`},"/users":{key:`menu.users`,icon:`i-tabler-users-group`},"/monitor":{key:`menu.monitor`,icon:`i-tabler-cpu`},"/settings":{key:`menu.settings`,icon:`i-tabler-settings`}};return{metaFor:r=>{let i=n[r];if(i)return{title:e(i.key),icon:i.icon};let a=r.match(/^\/workshop\/w\/([^/]+)$/);if(a){let n=a[1];return{title:t.workspaces.find(e=>e.id===n)?.name??`${e(`header.workspace`)} ${n.slice(0,6)}`,icon:`i-tabler-console`}}let o=r.split(`/`).filter(Boolean).pop()??`·`;return{title:o.charAt(0).toUpperCase()+o.slice(1),icon:`i-tabler-point`}}}}var kt=[`aria-label`],At=[`title`,`onClick`,`onKeydown`],jt={class:`node-title`},Mt=[`aria-label`,`title`,`onClick`],Nt=Object.assign(q(f({__name:`TrailNav`,props:{hydrated:{type:Boolean}},setup(t){let r=P(),{t:a}=z(),o=Dt(),{metaFor:s}=Ot(),c=e=>{e!==r.path&&N(e)},l=e=>{let t=o.remove(e);if(e!==r.path)return;let n=o.waypoints,i=n[Math.min(Math.max(t-1,0),Math.max(n.length-1,0))]?.path??`/`;N(i)};return(u,d)=>(p(),y(`nav`,{class:`trail`,"aria-label":e(a)(`header.trail`)},[h(A,{name:`stamp`,tag:`div`,class:`trail-row`},{default:S(()=>[t.hydrated?(p(!0),y(b,{key:0},m(e(o).waypoints,(t,a)=>(p(),y(b,{key:t.path},[a>0?(p(),y(`span`,{key:`link-${t.path}`,class:`trail-link`,"aria-hidden":`true`})):x(``,!0),v(`div`,{class:n([`trail-node`,{active:t.path===e(r).path}]),role:`button`,tabindex:`0`,title:e(s)(t.path).title,onClick:e=>c(t.path),onKeydown:O(k(e=>c(t.path),[`prevent`]),[`enter`])},[v(`span`,{class:n([`node-icon`,e(s)(t.path).icon])},null,2),v(`span`,jt,i(e(s)(t.path).title),1),v(`button`,{class:`node-close`,"aria-label":u.$t(`appHeader.kzwjv99001`,{p0:e(s)(t.path).title}),title:u.$t(`appHeader.kzwjv99001`,{p0:e(s)(t.path).title}),onClick:k(e=>l(t.path),[`stop`])},[...d[0]||=[v(`span`,{class:`i-tabler-x`},null,-1)]],8,Mt)],42,At)],64))),128)):x(``,!0)]),_:1})],8,kt))}}),[[`__scopeId`,`data-v-9570d879`]]),{__name:`AppHeaderTrailNav`});function Pt(){let{t:e}=z(),t=je(),n=De(),r=[`omp-dialog`,`dcw-approval`,`codex-approval`,`opencode-permission`,`dsh-permission`,`claude-permission`,`qwen-permission`,`hermes-permission`],i=t=>{switch(t){case`omp-dialog`:return e(`appHeader.hitlKindOmp`);case`dcw-approval`:return e(`appHeader.hitlKindDcw`);case`codex-approval`:return e(`appHeader.hitlKindCodex`);case`opencode-permission`:return e(`appHeader.hitlKindOpencode`);case`dsh-permission`:return e(`appHeader.hitlKindDsh`);case`claude-permission`:return`claude 权限`;case`qwen-permission`:return`qwen 权限`;case`hermes-permission`:return`hermes 权限`;default:return t}},a=e=>{N({path:`/monitor`,query:{agentId:e.agentId,channelId:e.channelId}})},s=e=>e.channelId in n.permissions,c=e=>{let t=n.permissions[e.channelId];return t?t.canApprove||t.isAdmin?!0:n.settings[e.channelId]?.legacy===!0:!1},l=e=>e.requestType?e.requestType:e.questions&&e.questions.length>0||e.method===`input`||e.method===`editor`||e.method===`select`?`question`:`approval`,u=e=>l(e)===`question`,d=e=>e.kind===`opencode-permission`&&(e.options?.length??0)>0,f=o({}),p=o({}),m=o({}),h=e=>`${e.kind}:${e.id}`,g=(e,t)=>`${h(e)}:${t}`,_=(e,t,n)=>t.multiSelect?(p.value[g(e,t.id)]??[]).includes(n):f.value[g(e,t.id)]===n,v=(e,t,n)=>{let r=g(e,t.id);if(t.multiSelect){let e=p.value[r]??[];p.value={...p.value,[r]:e.includes(n)?e.filter(e=>e!==n):[...e,n]}}else f.value={...f.value,[r]:n}},y=(e,t)=>{let n=g(e,t.id),r=t.multiSelect?p.value[n]??[]:[f.value[n]??``].filter(Boolean),i=(m.value[n]??``).trim();return[...r.filter(Boolean),i].filter(Boolean).join(`、`)},b=`__plain`,x=e=>{if(e.questions&&e.questions.length>0)return e.questions;let t=e.options?.map(e=>({label:e}));return[{id:b,question:e.message||e.detail||e.title,options:t,multiSelect:!1,freeText:!(t&&t.length>0)}]},S=async(e,n)=>{let r=await t.answer(e,n);if(r.ok){U.success(`已提交`);return}r.code===`ALREADY_RESOLVED`?U.warning(`已被他人处理`):r.code===`APPROVAL_FORBIDDEN`?U.warning(r.message||`无审批权限(该 Channel 策略不允许你决策)`):U.error(r.message)};return{HITL_KINDS:r,hitlKindLabel:i,hitlGo:a,permsKnown:s,canAnswer:c,requestTypeOf:l,isQuestion:u,isNativeOptionApproval:d,qSingle:f,qMulti:p,qFree:m,itemKey:h,slotOf:g,isChosen:_,chooseOption:v,answerOf:y,PLAIN_QID:b,questionsOf:x,answer:S,submitQuestion:async e=>{let t=x(e),n=t.findIndex(t=>!y(e,t).trim());if(n>=0){U.warning(`请先填写第 ${n+1} 题(${t[n].question||`未命名问题`})的答案`);return}await S(e,{answers:t.map((t,n)=>({id:t.id||String(n),answer:y(e,t)}))})},submitApproval:async(e,t)=>{await S(e,{confirmed:t})},submitNativeOption:async(e,t)=>{await S(e,{response:t})},submitCancel:async e=>{await S(e,{cancelled:!0})},policyLabel:e=>e.policy===`any_member`?`任一成员可决策`:e.policy?`仅 owner 可决策`:``}}var Ft=[`title`],It={class:`hitl-count`},Lt={class:`hitl-menu`},Rt={class:`hitl-menu-title`},zt=[`onClick`],Bt={class:`hitl-item-top`},Vt={class:`hitl-item-agent`},Ht={class:`hitl-item-kind`},Ut=[`data-type`],Wt={class:`hitl-item-title`},Gt={key:0,class:`hitl-item-detail`},Kt={key:1,class:`hitl-item-detail`},qt={key:2,class:`hitl-item-policy`},Jt={key:0,class:`hitl-answer-note`},Yt={key:1,class:`hitl-answer-note`},Xt={key:2,class:`hitl-answer-note`},Zt={key:3,class:`hitl-answer`},Qt={key:0,class:`hitl-q-title`},$t={key:1,class:`hitl-q-desc`},en={key:2,class:`hitl-opts`},tn=[`title`,`onClick`],nn={class:`hitl-btns`},rn={key:0,class:`hitl-opts`},an=[`onClick`],on={class:`hitl-btns`},sn=Object.assign(q(f({__name:`HitlBell`,setup(t){let{t:r}=z(),a=je(),{HITL_KINDS:o,hitlKindLabel:s,hitlGo:c,permsKnown:l,canAnswer:u,requestTypeOf:d,isQuestion:f,isNativeOptionApproval:g,qFree:_,slotOf:w,isChosen:T,chooseOption:E,questionsOf:O,submitQuestion:k,submitNativeOption:A,submitApproval:j,submitCancel:M,policyLabel:N}=Pt();return(t,P)=>{let F=ce,I=ue,L=W;return e(a).count>0?(p(),C(L,{key:0,placement:`bottomRight`},{overlay:S(()=>[v(`div`,Lt,[v(`div`,Rt,i(e(r)(`appHeader.hitlBadge`))+` · `+i(e(a).count),1),(p(!0),y(b,null,m(e(a).items,t=>(p(),y(`div`,{key:`${t.kind}:${t.id}`,class:`hitl-item`},[v(`button`,{type:`button`,class:`hitl-item-head`,onClick:n=>e(c)(t)},[v(`span`,Bt,[v(`span`,Vt,i(t.agentName),1),v(`span`,Ht,i(e(s)(t.kind)),1),t.requestType||e(f)(t)?(p(),y(`span`,{key:0,class:`hitl-item-reqtype`,"data-type":e(d)(t)},i(e(f)(t)?e(r)(`appHeader.hitlReqQuestion`):e(r)(`appHeader.hitlReqApproval`)),9,Ut)):x(``,!0)]),v(`span`,Wt,i(t.title),1),t.detail?(p(),y(`span`,Gt,i(t.detail),1)):x(``,!0),t.message?(p(),y(`span`,Kt,i(t.message),1)):x(``,!0),t.policy?(p(),y(`span`,qt,[P[1]||=v(`span`,{class:`i-tabler-shield-lock`},null,-1),D(` `+i(e(r)(`appHeader.hitlPolicy`,{p0:e(N)(t)})),1)])):x(``,!0)],8,zt),e(o).includes(t.kind)?e(l)(t)?e(u)(t)?(p(),y(`div`,Zt,[e(f)(t)?(p(),y(b,{key:0},[(p(!0),y(b,null,m(e(O)(t),(a,o)=>(p(),y(`div`,{key:`${t.kind}:${t.id}:${a.id}:${o}`,class:`hitl-q`},[t.questions&&t.questions.length>1?(p(),y(`div`,Qt,i(o+1)+`. `+i(a.header||a.question),1)):x(``,!0),a.header&&a.question?(p(),y(`div`,$t,i(a.question),1)):x(``,!0),a.options&&a.options.length>0?(p(),y(`div`,en,[(p(!0),y(b,null,m(a.options,r=>(p(),y(`button`,{key:r.label,type:`button`,class:n([`hitl-opt`,{on:e(T)(t,a,r.label)}]),title:r.description||r.label,onClick:n=>e(E)(t,a,r.label)},i(r.label),11,tn))),128))])):x(``,!0),!(a.options&&a.options.length>0)||a.freeText?(p(),C(F,{key:3,value:e(_)[e(w)(t,a.id)],"onUpdate:value":n=>e(_)[e(w)(t,a.id)]=n,rows:2,placeholder:a.options&&a.options.length>0?e(r)(`appHeader.hitlSupplementPlaceholder`):e(r)(`appHeader.hitlAnswerPlaceholder`)},null,8,[`value`,`onUpdate:value`,`placeholder`])):x(``,!0)]))),128)),v(`div`,nn,[h(I,{size:`small`,type:`primary`,loading:e(a).answering===`${t.kind}:${t.id}`,onClick:n=>e(k)(t)},{default:S(()=>[D(i(e(r)(`appHeader.hitlSubmitAnswer`)),1)]),_:1},8,[`loading`,`onClick`]),h(I,{size:`small`,disabled:e(a).answering===`${t.kind}:${t.id}`,onClick:n=>e(M)(t)},{default:S(()=>[D(i(e(r)(`appHeader.hitlCancelRequest`)),1)]),_:1},8,[`disabled`,`onClick`])])],64)):(p(),y(b,{key:1},[e(g)(t)?(p(),y(`div`,rn,[(p(!0),y(b,null,m(t.options,n=>(p(),y(`button`,{key:n,type:`button`,class:`hitl-opt`,onClick:r=>e(A)(t,n)},i(n),9,an))),128))])):x(``,!0),v(`div`,on,[h(I,{size:`small`,type:`primary`,loading:e(a).answering===`${t.kind}:${t.id}`,onClick:n=>e(j)(t,!0)},{default:S(()=>[D(i(e(r)(`appHeader.hitlApprove`)),1)]),_:1},8,[`loading`,`onClick`]),h(I,{size:`small`,danger:``,disabled:e(a).answering===`${t.kind}:${t.id}`,onClick:n=>e(j)(t,!1)},{default:S(()=>[D(i(e(r)(`appHeader.hitlReject`)),1)]),_:1},8,[`disabled`,`onClick`]),h(I,{size:`small`,disabled:e(a).answering===`${t.kind}:${t.id}`,onClick:n=>e(M)(t)},{default:S(()=>[D(i(e(r)(`common.cancel`)),1)]),_:1},8,[`disabled`,`onClick`])])],64))])):(p(),y(`div`,Xt,i(e(r)(`appHeader.hitlNoPerm`))+i(t.policy?`(${e(N)(t)})`:``),1)):(p(),y(`div`,Yt,i(e(r)(`appHeader.hitlPermsLoading`)),1)):(p(),y(`div`,Jt,i(e(r)(`appHeader.hitlEngineNote`)),1))]))),128))])]),default:S(()=>[v(`button`,{class:`icon-btn hitl-bell`,title:e(r)(`appHeader.hitlBadge`)},[P[0]||=v(`span`,{class:`i-tabler-bell-ringing`},null,-1),v(`span`,It,i(e(a).count),1)],8,Ft)]),_:1})):x(``,!0)}}}),[[`__scopeId`,`data-v-5a73f3c7`]]),{__name:`AppHeaderHitlBell`}),cn=[`title`],ln=Object.assign(q(f({__name:`HeaderTools`,props:{hydrated:{type:Boolean}},setup(t){let{t:r,locale:i,locales:a,setLocale:s}=z(),c=I(),{isMobile:l}=Ce(),u=g(()=>a.value.map(e=>({label:l.value?e.code.split(`-`)[0].toUpperCase():e.name,value:e.code}))),d=e=>{e!=null&&(R(`aw.locale`,{maxAge:31536e3}).value=String(e),localStorage.setItem(`aw.locale`,String(e)),s(String(e)),window.location.reload())},f=Ee(),m=g(()=>f.state!==`closed`||f.lastDataAt>0),_=g(()=>f.state===`open`?f.pendingReplay?`syncing`:`live`:f.state===`connecting`?`syncing`:`down`),C=g(()=>f.state===`open`?f.pendingReplay?r(`appHeader.kwsdot0002`):r(`appHeader.kwsdot0001`):f.state===`connecting`?r(`appHeader.kwsdot0003`):r(`appHeader.kwsdot0004`)),w=o(!1);function T(){document.fullscreenElement?(document.exitFullscreen(),w.value=!1):(document.documentElement.requestFullscreen(),w.value=!0)}return(a,o)=>{let s=se,l=fe;return p(),y(b,null,[t.hydrated&&e(m)?(p(),y(`span`,{key:0,class:n([`ws-dot`,e(_)]),title:e(C)},null,10,cn)):x(``,!0),h(s,{title:e(r)(`header.fullscreen`)},{default:S(()=>[v(`button`,{class:`icon-btn hdr-fullscreen`,onClick:T},[v(`span`,{class:n([`i-tabler-arrows-maximize`,{hidden:e(w)}])},null,2),v(`span`,{class:n([`i-tabler-arrows-minimize`,{hidden:!e(w)}])},null,2)])]),_:1},8,[`title`]),h(l,{id:`hdr-locale`,value:e(i),size:`middle`,options:e(u),class:`lang-select`,onChange:d},null,8,[`value`,`options`]),h(s,{title:e(c).isDark?e(r)(`common.light`):e(r)(`common.dark`)},{default:S(()=>[v(`button`,{class:`icon-btn`,onClick:o[0]||=t=>e(c).toggleDark()},[v(`span`,{class:n([`i-tabler-sun-high`,{hidden:e(c).isDark}])},null,2),v(`span`,{class:n([`i-tabler-moon-stars`,{hidden:!e(c).isDark}])},null,2)])]),_:1},8,[`title`])],64)}}}),[[`__scopeId`,`data-v-d647eb55`]]),{__name:`AppHeaderTools`}),un={class:`user-chip`},dn={class:`user-initial aw-avatar`},fn={class:`user-meta`},pn={class:`user-name`},mn={class:`user-role`},hn=Object.assign(q(f({__name:`UserChip`,setup(t){let{t:r}=z(),a=K(),o=G(),s=g(()=>(a.user?.name??`?`).trim().charAt(0).toUpperCase()),c=g(()=>a.user?.name??r(`header.guest`)),l=g(()=>a.isLoggedIn?a.user?.role??`user`:`anonymous`),u=g(()=>{let e=[];return a.isLoggedIn||e.push({key:`login`,icon:`i-tabler-login`,label:r(`header.login`)}),e.push({key:`tokens`,icon:`i-tabler-key`,label:r(`menu.tokens`)},{key:`settings`,icon:`i-tabler-adjustments`,label:r(`menu.settings`)}),a.isLoggedIn&&(e.push({key:`d-logout`,label:``,divider:!0}),e.push({key:`logout`,icon:`i-tabler-logout`,label:r(`header.logout`),danger:!0})),e}),d=async({key:e})=>{e===`login`?o.openLogin(`manual`):e===`settings`?N(`/settings`):e===`tokens`?N(`/tokens`):e===`logout`&&(await a.logout(),o.openLogin(`anonymous`))};return(t,r)=>{let a=B,o=he,f=ge,g=_e,_=W;return p(),C(_,null,{overlay:S(()=>[h(g,{onClick:d},{default:S(()=>[(p(!0),y(b,null,m(e(u),e=>(p(),y(b,{key:e.key},[e.divider?(p(),C(o,{key:0})):(p(),C(f,{key:e.key,danger:e.danger},{default:S(()=>[v(`span`,{class:n([e.icon,`mr-2`])},null,2),D(` `+i(e.label),1)]),_:2},1032,[`danger`]))],64))),128))]),_:1})]),default:S(()=>[v(`div`,un,[h(a,null,{fallback:S(()=>[...r[0]||=[v(`span`,{class:`user-initial aw-avatar`},`·`,-1),v(`span`,{class:`user-meta`},[v(`span`,{class:`user-name`},`·`),v(`span`,{class:`user-role`},`·`)],-1)]]),default:S(()=>[v(`span`,dn,i(e(s)),1),v(`span`,fn,[v(`span`,pn,i(e(c)),1),v(`span`,mn,i(e(l)),1)])]),_:1})])]),_:1})}}}),[[`__scopeId`,`data-v-afd65262`]]),{__name:`AppHeaderUserChip`}),gn={class:`header-left`},_n=[`aria-label`,`aria-expanded`],vn={class:`mobile-title`},yn={class:`header-right`},bn=Object.assign(q(f({__name:`AppHeader`,setup(t){let{t:r}=z(),a=I(),s=P(),c=Dt(),l=K(),{metaFor:f}=Ot(),m=je(),y=De(),b=ke(),x=()=>{l.isLoggedIn&&b.ensureConnected()};_(()=>l.token,e=>{e?(x(),m.loadSnapshot()):m.clear()},{immediate:!0}),_(()=>m.items.map(e=>e.channelId).join(`|`),e=>{for(let t of new Set(e.split(`|`).filter(Boolean)))t in y.permissions||y.loadPermissions(t)},{immediate:!0});let{isDrawer:w}=Ce(),T=g(()=>w.value?a.mobileNavOpen?r(`header.closeNav`):r(`header.openNav`):a.sidebarCollapsed?r(`header.expand`):r(`header.collapse`)),E=()=>{w.value?a.toggleMobileNav():a.toggleSidebar()},D=g(()=>f(s.path).title),O=o(!1),k=o(!1),A=null;return _(()=>s.path,()=>{c.visit(s.path),k.value=!1,requestAnimationFrame(()=>{k.value=!0,A&&clearTimeout(A),A=setTimeout(()=>{k.value=!1},620)})},{immediate:!1}),d(()=>{O.value=!0,c.visit(s.path)}),u(()=>{A&&clearTimeout(A)}),(t,r)=>{let o=Et,s=B,c=Ke;return p(),C(c,{class:`app-header app-header-glass`},{default:S(()=>[v(`div`,gn,[v(`button`,{class:`collapse-btn`,"aria-label":e(T),"aria-expanded":e(w)?e(a).mobileNavOpen:!e(a).sidebarCollapsed,onClick:r[0]||=e=>E()},[...r[1]||=[v(`span`,{class:`i-tabler-menu-2`},null,-1)]],8,_n),v(`span`,vn,i(e(D)),1),r[2]||=v(`span`,{class:`rail-mark i-tabler-route`},null,-1),h(Nt,{hydrated:e(O)},null,8,[`hydrated`])]),v(`div`,yn,[h(s,null,{default:S(()=>[h(o)]),_:1}),h(s,null,{default:S(()=>[h(sn)]),_:1}),h(ln,{hydrated:e(O)},null,8,[`hydrated`]),h(hn)]),v(`span`,{class:n([`plotter-line`,{run:e(k)}]),"aria-hidden":`true`},null,2)]),_:1})}}}),[[`__scopeId`,`data-v-21aed131`]]),{__name:`AppHeader`}),xn=Object.assign(q(f({__name:`LoginModal`,setup(t){let n=G(),r=K(),i=o(`login`),s=o(``),c=o(``),l=o(``),u=o(``),f=o(!1),m=o(!1),g=o(!0),v=async()=>{for(let e=1;e<=3;e++)try{let e=await Te(`/api/users/setup-status`);m.value=e.data?.needsSetup===!0,g.value=e.data?.allowRegistration!==!1,m.value?i.value=`register`:g.value||(i.value=`login`);return}catch{e<3&&await new Promise(e=>setTimeout(e,800))}};d(()=>{v()}),_(()=>n.open,e=>{e&&(f.value=!1,i.value=`login`,v())});let y=e=>{U.error(e instanceof Error?e.message:String(e))},b=e=>{U.success(`${e} 登录成功`),n.closeLogin(),setTimeout(()=>window.location.reload(),400)},x=async()=>{f.value=!0;try{let e=await r.login(c.value,l.value);b(e.name)}catch(e){y(e)}finally{f.value=!1}},w=async()=>{f.value=!0;try{let e=await r.register(s.value,c.value,l.value);b(e.name)}catch(e){y(e)}finally{f.value=!1}},T=async()=>{f.value=!0;try{let e=await r.loginWithToken(u.value);b(e.name)}catch(e){y(e)}finally{f.value=!1}};return(t,r)=>{let o=de;return p(),C(o,{open:e(n).open,footer:null,width:480,closable:!0,"mask-closable":!0,"body-style":{padding:`8px 8px 0`},"destroy-on-close":``,onCancel:r[5]||=t=>e(n).closeLogin()},{default:S(()=>[h(Me,{"active-tab":e(i),"onUpdate:activeTab":r[0]||=e=>a(i)?i.value=e:null,name:e(s),"onUpdate:name":r[1]||=e=>a(s)?s.value=e:null,email:e(c),"onUpdate:email":r[2]||=e=>a(c)?c.value=e:null,password:e(l),"onUpdate:password":r[3]||=e=>a(l)?l.value=e:null,"token-input":e(u),"onUpdate:tokenInput":r[4]||=e=>a(u)?u.value=e:null,loading:e(f),"needs-setup":e(m),"allow-register":e(g),onLogin:x,onRegister:w,onLoginWithToken:T},null,8,[`active-tab`,`name`,`email`,`password`,`token-input`,`loading`,`needs-setup`,`allow-register`])]),_:1},8,[`open`])}}}),[[`__scopeId`,`data-v-ab177237`]]),{__name:`AppHeaderLoginModal`}),Sn={key:0,class:`guest-banner`},Cn={class:`footer-title aw-serif-accent`},wn={class:`footer-corner`},Tn=q(f({__name:`default`,setup(t){let{token:n}=xe.useToken(),a=Se(),o=K(),s=G(),{t:l}=z();return(t,u)=>{let d=ut,f=bn,m=ue,g=B,_=Ye,b=qe,w=Xe,T=xn;return p(),C(w,{class:`app-layout`,"has-sider":``},{default:S(()=>[h(d),h(w,{class:`app-main`,style:r({background:`transparent`,"--app-bg-container":e(n)?.colorBgContainer,"--app-bg-layout":e(n)?.colorBgLayout,"--app-text":e(n)?.colorText,"--app-text-secondary":e(n)?.colorTextSecondary,"--app-border":e(n)?.colorBorderSecondary,"--app-fill":e(n)?.colorFillQuaternary,"--app-header-h":`56px`,"--app-footer-h":`46px`})},{default:S(()=>[h(f),h(g,null,{default:S(()=>[!e(o).isLoggedIn&&!e(s).open?(p(),y(`div`,Sn,[v(`span`,null,i(e(l)(`header.guestBanner`)),1),h(m,{size:`small`,type:`primary`,onClick:u[0]||=t=>e(s).openLogin(`anonymous`)},{default:S(()=>[D(i(e(l)(`header.login`)),1)]),_:1})])):x(``,!0)]),_:1}),h(_,{class:`app-content`},{default:S(()=>[c(t.$slots,`default`,{},void 0,!0)]),_:3}),h(b,{class:`app-footer`,style:r({color:e(n)?.colorTextSecondary})},{default:S(()=>[v(`span`,Cn,i(e(a).title),1),u[5]||=v(`span`,{class:`sep`},`/`,-1),v(`span`,null,`mode=`+i(e(a).mode),1),v(`span`,wn,[v(`span`,null,`v`+i(e(a).version),1),u[1]||=v(`span`,{class:`sep`},`·`,-1),u[2]||=v(`a`,{class:`footer-link`,href:`https://github.com/kingdol666/AgentWorkShop`,target:`_blank`,rel:`noopener`},`GitHub`,-1),u[3]||=v(`span`,{class:`sep`},`·`,-1),u[4]||=v(`a`,{class:`footer-link`,href:`https://kingdol666.github.io/AgentWorkShop/`,target:`_blank`,rel:`noopener`},`Docs`,-1)])]),_:1},8,[`style`])]),_:3},8,[`style`]),u[6]||=v(`span`,{class:`aw-noise`,"aria-hidden":`true`},null,-1),h(T)]),_:3})}}}),[[`__scopeId`,`data-v-644e646f`]]);export{Tn as default};
|
|
1
|
+
import{N as e,S as t,dt as n,ft as r,mt as i,u as a,v as o}from"./CavpkQb0.js";import{D as s,G as c,H as l,P as u,R as d,S as f,V as p,W as m,b as h,d as g,et as _,f as v,h as y,i as b,m as x,nt as S,p as C,rt as w,tt as T,v as E,y as D}from"./ByMj6e7s.js";import{d as O,f as k,n as A,t as j,u as M}from"./goF_oZHF.js";import{d as N,p as P}from"./Br3AySNQ.js";import{n as F,t as I}from"./C8uaVABF.js";import{i as L,t as R}from"./S799kNo8.js";import{n as z}from"./Cnrmlixo.js";import{t as B}from"./D5hI4Fhu.js";import{Ct as ee,Mt as te,Tt as ne,d as re,jt as V,n as ie,rt as ae,t as H,u as oe}from"./C2YYOgMe.js";import{t as se}from"./D-jg-SoR.js";import{r as ce}from"./CoTm7jd3.js";import{A as le,i as U,s as ue,t as de}from"./CiyTTgqr.js";import{t as fe}from"./DP_e7Vwv.js";import{a as pe,i as me,n as he,r as ge,t as _e}from"./jmKfTQMN.js";import{t as ve}from"./lO5tpDZ52.js";import{n as ye}from"./Qa9rS9oK2.js";import{t as be}from"./DC7WzYCf2.js";import{t as W}from"./J94L7hHq2.js";import{n as xe,t as G}from"./DYtV50yi2.js";import{t as K}from"./Do0dCE8C2.js";import{t as Se}from"./BupBjt6B2.js";import{t as q}from"./BDNMzG2s2.js";import{t as Ce}from"./DlUQa0wn.js";import{t as we}from"./ClEbKcuS.js";import{t as Te}from"./Ch1P2mIf.js";import{c as Ee,i as De,l as Oe,t as ke}from"./DG0esyZR.js";import{t as Ae}from"./pncSmP5n.js";import{t as je}from"./P0EcfD3j.js";import{t as Me}from"./D4tAdwYm.js";var Ne=e=>{let{componentCls:t,colorBgContainer:n,colorBgBody:r,colorText:i}=e;return{[`${t}-sider-light`]:{background:n,[`${t}-sider-trigger`]:{color:i,background:n},[`${t}-sider-zero-width-trigger`]:{color:i,background:n,border:`1px solid ${r}`,borderInlineStart:0}}}},Pe=e=>{let{antCls:t,componentCls:n,colorText:r,colorTextLightSolid:i,colorBgHeader:a,colorBgBody:o,colorBgTrigger:s,layoutHeaderHeight:c,layoutHeaderPaddingInline:l,layoutHeaderColor:u,layoutFooterPadding:d,layoutTriggerHeight:f,layoutZeroTriggerSize:p,motionDurationMid:m,motionDurationSlow:h,fontSize:g,borderRadius:_}=e;return{[n]:V(V({display:`flex`,flex:`auto`,flexDirection:`column`,color:r,minHeight:0,background:o,"&, *":{boxSizing:`border-box`},[`&${n}-has-sider`]:{flexDirection:`row`,[`> ${n}, > ${n}-content`]:{width:0}},[`${n}-header, &${n}-footer`]:{flex:`0 0 auto`},[`${n}-header`]:{height:c,paddingInline:l,color:u,lineHeight:`${c}px`,background:a,[`${t}-menu`]:{lineHeight:`inherit`}},[`${n}-footer`]:{padding:d,color:r,fontSize:g,background:o},[`${n}-content`]:{flex:`auto`,minHeight:0},[`${n}-sider`]:{position:`relative`,minWidth:0,background:a,transition:`all ${m}, background 0s`,"&-children":{height:`100%`,marginTop:-.1,paddingTop:.1,[`${t}-menu${t}-menu-inline-collapsed`]:{width:`auto`}},"&-has-trigger":{paddingBottom:f},"&-right":{order:1},"&-trigger":{position:`fixed`,bottom:0,zIndex:1,height:f,color:i,lineHeight:`${f}px`,textAlign:`center`,background:s,cursor:`pointer`,transition:`all ${m}`},"&-zero-width":{"> *":{overflow:`hidden`},"&-trigger":{position:`absolute`,top:c,insetInlineEnd:-p,zIndex:1,width:p,height:p,color:i,fontSize:e.fontSizeXL,display:`flex`,alignItems:`center`,justifyContent:`center`,background:a,borderStartStartRadius:0,borderStartEndRadius:_,borderEndEndRadius:_,borderEndStartRadius:0,cursor:`pointer`,transition:`background ${h} ease`,"&::after":{position:`absolute`,inset:0,background:`transparent`,transition:`all ${h}`,content:`""`},"&:hover::after":{background:`rgba(255, 255, 255, 0.2)`},"&-right":{insetInlineStart:-p,borderStartStartRadius:_,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:_}}}}},Ne(e)),{"&-rtl":{direction:`rtl`}})}},Fe=re(`Layout`,e=>{let{colorText:t,controlHeightSM:n,controlHeight:r,controlHeightLG:i,marginXXS:a}=e,o=i*1.25;return[Pe(oe(e,{layoutHeaderHeight:r*2,layoutHeaderPaddingInline:o,layoutHeaderColor:t,layoutFooterPadding:`${n}px ${o}px`,layoutTriggerHeight:i+a*2,layoutZeroTriggerSize:i}))]},e=>{let{colorBgLayout:t}=e;return{colorBgHeader:`#001529`,colorBgBody:t,colorBgTrigger:`#002140`}}),Ie=()=>({prefixCls:String,hasSider:{type:Boolean,default:void 0},tagName:String});function J(e){let{suffixCls:t,tagName:n,name:r}=e;return e=>f({compatConfig:{MODE:3},name:r,props:Ie(),setup(r,i){let{slots:a}=i,{prefixCls:o}=ie(t,r);return()=>{let t=V(V({},r),{prefixCls:o.value,tagName:n});return h(e,t,a)}}})}var Y=f({compatConfig:{MODE:3},props:Ie(),setup(e,t){let{slots:n}=t;return()=>h(e.tagName,{class:e.prefixCls},n)}}),Le=f({compatConfig:{MODE:3},inheritAttrs:!1,props:Ie(),setup(e,t){let{slots:n,attrs:r}=t,{prefixCls:i,direction:a}=ie(``,e),[s,c]=Fe(i),u=o([]);l(pe,{addSider:e=>{u.value=[...u.value,e]},removeSider:e=>{u.value=u.value.filter(t=>t!==e)}});let d=g(()=>{let{prefixCls:t,hasSider:n}=e;return{[c.value]:!0,[`${t}`]:!0,[`${t}-has-sider`]:typeof n==`boolean`?n:u.value.length>0,[`${t}-rtl`]:a.value===`rtl`}});return()=>{let{tagName:t}=e;return s(h(t,V(V({},r),{class:[d.value,r.class]}),n))}}}),Re=J({suffixCls:`layout`,tagName:`section`,name:`ALayout`})(Le),X=J({suffixCls:`layout-header`,tagName:`header`,name:`ALayoutHeader`})(Y),Z=J({suffixCls:`layout-footer`,tagName:`footer`,name:`ALayoutFooter`})(Y),Q=J({suffixCls:`layout-content`,tagName:`main`,name:`ALayoutContent`})(Y),ze={icon:{tag:`svg`,attrs:{viewBox:`0 0 1024 1024`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z`}}]},name:`bars`,theme:`outlined`};function Be(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Ve(e,t,n[t])})}return e}function Ve(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var He=function(e,t){var n=Be({},e,t.attrs);return h(le,Be({},n,{icon:ze}),null)};He.displayName=`BarsOutlined`,He.inheritAttrs=!1;var Ue={xs:`479.98px`,sm:`575.98px`,md:`767.98px`,lg:`991.98px`,xl:`1199.98px`,xxl:`1599.98px`,xxxl:`1999.98px`},We=()=>({prefixCls:String,collapsible:{type:Boolean,default:void 0},collapsed:{type:Boolean,default:void 0},defaultCollapsed:{type:Boolean,default:void 0},reverseArrow:{type:Boolean,default:void 0},zeroWidthTriggerStyle:{type:Object,default:void 0},trigger:H.any,width:H.oneOfType([H.number,H.string]),collapsedWidth:H.oneOfType([H.number,H.string]),breakpoint:H.oneOf(ae(`xs`,`sm`,`md`,`lg`,`xl`,`xxl`,`xxxl`)),theme:H.oneOf(ae(`light`,`dark`)).def(`dark`),onBreakpoint:Function,onCollapse:Function}),Ge=(()=>{let e=0;return function(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:``;return e+=1,`${t}${e}`}})(),$=f({compatConfig:{MODE:3},name:`ALayoutSider`,inheritAttrs:!1,props:ee(We(),{collapsible:!1,defaultCollapsed:!1,reverseArrow:!1,width:200,collapsedWidth:80}),emits:[`breakpoint`,`update:collapsed`,`collapse`],setup(e,n){let{emit:r,attrs:i,slots:a}=n,{prefixCls:o}=ie(`layout-sider`,e),c=s(pe,void 0),f=t(!!(e.collapsed===void 0?e.defaultCollapsed:e.collapsed)),p=t(!1);_(()=>e.collapsed,()=>{f.value=!!e.collapsed}),l(me,f);let m=(t,n)=>{e.collapsed===void 0&&(f.value=t),r(`update:collapsed`,t),r(`collapse`,t,n)},g=t(e=>{p.value=e.matches,r(`breakpoint`,e.matches),f.value!==e.matches&&m(e.matches,`responsive`)}),v;function y(e){return g.value(e)}let b=Ge(`ant-sider-`);c&&c.addSider(b),d(()=>{_(()=>e.breakpoint,()=>{try{v?.removeEventListener(`change`,y)}catch{v?.removeListener(y)}if(typeof window<`u`){let{matchMedia:t}=window;if(t&&e.breakpoint&&e.breakpoint in Ue){v=t(`(max-width: ${Ue[e.breakpoint]})`);try{v.addEventListener(`change`,y)}catch{v.addListener(y)}y(v)}}},{immediate:!0})}),u(()=>{try{v?.removeEventListener(`change`,y)}catch{v?.removeListener(y)}c&&c.removeSider(b)});let x=()=>{m(!f.value,`clickTrigger`)};return()=>{let t=o.value,{collapsedWidth:n,width:r,reverseArrow:s,zeroWidthTriggerStyle:c,trigger:l=a.trigger?.call(a),collapsible:u,theme:d}=e,m=f.value?n:r,g=ve(m)?`${m}px`:String(m),_=parseFloat(String(n||0))===0?h(`span`,{onClick:x,class:ne(`${t}-zero-width-trigger`,`${t}-zero-width-trigger-${s?`right`:`left`}`),style:c},[l||h(He,null,null)]):null,v={expanded:h(s?ye:be,null,null),collapsed:h(s?be:ye,null,null)}[f.value?`collapsed`:`expanded`],y=l===null?null:_||h(`div`,{class:`${t}-trigger`,onClick:x,style:{width:g}},[l||v]),b=[i.style,{flex:`0 0 ${g}`,maxWidth:g,minWidth:g,width:g}],S=ne(t,`${t}-${d}`,{[`${t}-collapsed`]:!!f.value,[`${t}-has-trigger`]:u&&l!==null&&!_,[`${t}-below`]:!!p.value,[`${t}-zero-width`]:parseFloat(g)===0},i.class);return h(`aside`,te(te({},i),{},{class:S,style:b}),[h(`div`,{class:`${t}-children`},[a.default?.call(a)]),u||p.value&&_?y:null])}}}),Ke=X,qe=Z,Je=$,Ye=Q,Xe=V(Re,{Header:X,Footer:Z,Content:Q,Sider:$,install:e=>(e.component(Re.name,Re),e.component(X.name,X),e.component(Z.name,Z),e.component($.name,$),e.component(Q.name,Q),e)}),Ze=[`width`,`height`],Qe=Object.assign(f({__name:`AwLogo`,props:{size:{default:32}},setup(e){return(t,n)=>(p(),y(`svg`,{width:e.size,height:e.size,viewBox:`0 0 64 64`,fill:`none`,"aria-hidden":`true`},[...n[0]||=[E(`<defs><linearGradient id="aw-logo-gradient" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#35e0a0"></stop><stop offset="1" stop-color="#41c8f4"></stop></linearGradient></defs><path d="M32 4 L56 18 V46 L32 60 L8 46 V18 Z" stroke="url(#aw-logo-gradient)" stroke-width="4" stroke-linejoin="round"></path><path d="M32 15 L46.7 23.5 V40.5 L32 49 L17.3 40.5 V23.5 Z" stroke="#41c8f4" stroke-opacity="0.45" stroke-width="1.8" stroke-dasharray="4 3"></path><path d="M32 23 L25 38 M32 23 L39 38 M25 38 L39 38" stroke="#35e0a0" stroke-width="1.8" stroke-opacity="0.75"></path><circle cx="32" cy="23" r="3.4" fill="#35e0a0"></circle><circle cx="25" cy="38" r="3.4" fill="#41c8f4"></circle><circle cx="39" cy="38" r="3.4" fill="#41c8f4"></circle>`,7)]],8,Ze))}}),{__name:`AwLogo`}),$e={class:`logo`},et={class:`logo-mark`,"aria-hidden":`true`},tt={class:`logo-text`},nt={class:`logo-title`},rt={class:`app-menu`},it={class:`menu-group-label`},at={class:`menu-group-text`},ot={class:`menu-group-sep`,"aria-hidden":`true`},st=[`title`,`onClick`],ct={class:`sider-footer`},lt={class:`footer-line`},ut=Object.assign(q(f({__name:`AppSidebar`,setup(t){let r=K(),{t:a}=z(),s=P(),c=Se(),l=I(),f=o(!1),C=g(()=>[{id:`console`,label:a(`menu.groups.console`),items:[{key:`/`,icon:`i-tabler-layout-dashboard`,label:a(`menu.dashboard`),motion:`im-pop`},{key:`/workshop`,icon:`i-tabler-box`,label:a(`menu.workshop`),motion:`im-pop`},{key:`/town`,icon:`i-tabler-map-2`,label:a(`menu.town`),motion:`im-pop`},{key:`/daq`,icon:`i-tabler-activity`,label:a(`menu.daq`),motion:`im-pop`},{key:`/dcw`,icon:`i-tabler-settings-automation`,label:a(`menu.dcw`),motion:`im-pop`},{key:`/aml`,icon:`i-tabler-flask`,label:a(`menu.aml`),motion:`im-pop`}]},{id:`ops`,label:a(`menu.groups.ops`),items:[{key:`/operations`,icon:`i-tabler-broadcast`,label:a(`menu.operations`),motion:`im-pop`},{key:`/analysis`,icon:`i-tabler-report-analytics`,label:a(`menu.analysis`),motion:`im-pop`},{key:`/monitor`,icon:`i-tabler-cpu`,label:a(`menu.monitor`),motion:`im-pulse`},{key:`/logs`,icon:`i-tabler-list-details`,label:a(`menu.logs`),motion:`im-pop`}]},{id:`system`,label:a(`menu.groups.system`),items:[{key:`/tokens`,icon:`i-tabler-key`,label:a(`menu.tokens`),motion:`im-nudge-up`},{key:`/users`,icon:`i-tabler-users-group`,label:a(`menu.users`),motion:`im-pop`},{key:`/permissions`,icon:`i-tabler-shield-lock`,label:a(`menu.permissions`),motion:`im-pop`,adminOnly:!0},{key:`/plugins`,icon:`i-tabler-puzzle`,label:a(`menu.plugins`),motion:`im-pop`},{key:`/settings`,icon:`i-tabler-settings`,label:a(`menu.settings`),motion:`im-rotate`}]}].map(e=>({...e,items:e.items.filter(e=>!e.adminOnly||f.value&&r.isAdmin)})).filter(e=>e.items.length>0)),E=e=>e===`/`?s.path===`/`:s.path.startsWith(e),D=e=>{O.value&&l.closeMobileNav(),E(e)||N(e)},{isDrawer:O,isTablet:k}=Ce();d(()=>{f.value=!0});let A=g(()=>f.value?O.value?`drawer`:k.value?`rail`:`full`:void 0),F=g(()=>O.value?!1:k.value?!0:l.sidebarCollapsed),L=g(()=>!F.value),R=g(()=>O.value&&l.mobileNavOpen);_(()=>s.path,()=>{l.mobileNavOpen&&l.closeMobileNav()}),T(()=>{typeof document>`u`||(document.body.classList.toggle(`nav-drawer`,O.value),document.body.classList.toggle(`nav-drawer-open`,R.value))}),u(()=>{typeof document>`u`||document.body.classList.remove(`nav-drawer`,`nav-drawer-open`)}),_(R,e=>{typeof document>`u`||(document.body.style.overflow=e?`hidden`:``)});let B=e=>{e.key===`Escape`&&R.value&&l.closeMobileNav()};return d(()=>window.addEventListener(`keydown`,B)),u(()=>{window.removeEventListener(`keydown`,B),typeof document<`u`&&(document.body.style.overflow=``)}),(t,r)=>{let a=Qe,o=Je;return p(),y(b,null,[h(o,{collapsed:e(F),trigger:null,collapsible:``,width:228,"collapsed-width":64,class:`app-sider`,"data-nav-mode":e(A),"aria-hidden":e(O)&&!e(R)?`true`:void 0},{default:S(()=>[v(`div`,$e,[v(`div`,et,[h(a,{size:30})]),h(j,{name:`slide-fade`},{default:S(()=>[w(v(`div`,tt,[v(`span`,nt,i(e(c).name),1),r[1]||=v(`span`,{class:`logo-sub`},`digital twin`,-1)],512),[[M,e(L)]])]),_:1})]),v(`nav`,rt,[(p(!0),y(b,null,m(e(C),t=>(p(),y(`div`,{key:t.id,class:`menu-group`},[w(v(`div`,it,[v(`span`,at,i(t.label),1),r[2]||=v(`span`,{class:`menu-group-rule`,"aria-hidden":`true`},null,-1)],512),[[M,e(L)]]),w(v(`div`,ot,null,512),[[M,!e(L)]]),(p(!0),y(b,null,m(t.items,t=>(p(),y(`button`,{key:t.key,type:`button`,class:n([`menu-item im`,{active:E(t.key)}]),title:e(L)?void 0:t.label,onClick:e=>D(t.key)},[v(`span`,{class:n([`menu-icon`,[t.icon,t.motion]])},null,2),w(v(`span`,{class:`menu-label`},i(t.label),513),[[M,e(L)]])],10,st))),128))]))),128))]),w(v(`div`,ct,[r[4]||=v(`div`,{class:`footer-rule`},null,-1),v(`div`,lt,[v(`span`,null,`v`+i(e(c).version),1),r[3]||=v(`span`,{class:`sep`},`/`,-1),v(`span`,null,i(e(c).mode),1)])],512),[[M,e(L)]])]),_:1},8,[`collapsed`,`data-nav-mode`,`aria-hidden`]),e(R)?(p(),y(`div`,{key:0,class:`nav-scrim`,"aria-hidden":`true`,onClick:r[0]||=t=>e(l).closeMobileNav()})):x(``,!0)],64)}}}),[[`__scopeId`,`data-v-55067b41`]]),{__name:`AppSidebar`}),dt=[`title`],ft={key:0,class:`nc-count`},pt={class:`nc-menu`},mt={class:`nc-menu-title`},ht={class:`nc-unread`},gt={class:`nc-list`},_t=[`onClick`],vt={class:`nc-item-body`},yt={class:`nc-item-top`},bt={class:`nc-item-type`},xt={class:`nc-item-time`},St={class:`nc-item-title`},Ct={key:0,class:`nc-item-text`},wt={key:0,class:`nc-dot`,"aria-hidden":`true`},Tt={key:0,class:`nc-empty`},Et=Object.assign(q(f({__name:`NotificationCenter`,setup(t){let r=Oe(),a=Ae(),{hostNotifications:s}=ke(),{t:c}=z(),l=o(!1),f=o(null);d(async()=>{f.value=s(),r.loaded?await r.backfill():await r.loadSnapshot()}),u(()=>{f.value?.(),f.value=null}),_(()=>r.liveSeq,()=>{let e=r.liveItem;e&&U.info({content:`${e.title}${e.body?` · ${e.body.slice(0,60)}`:``}`,duration:6,onClick:()=>void E(e)})});let h={mention:{icon:`i-tabler-at`,tone:`mention`},agent_reply:{icon:`i-tabler-robot`,tone:`reply`},hitl_request:{icon:`i-tabler-alert-triangle`,tone:`hitl`},hitl_resolved:{icon:`i-tabler-circle-check`,tone:`ok`},member:{icon:`i-tabler-user-plus`,tone:`info`}},w=g(()=>({mention:c(`notifications.typeMention`),agent_reply:c(`notifications.typeAgentReply`),hitl_request:c(`notifications.typeHitlRequest`),hitl_resolved:c(`notifications.typeHitlResolved`),member:c(`notifications.typeMember`)})),T=g(()=>r.unreadCount>99?`99+`:String(r.unreadCount));async function E(e){if(l.value=!1,!e.readAt)try{await r.markRead({id:e.id})}catch{}if(e.hitlKind||e.hitlId||e.type===`hitl_request`){await N({path:`/monitor`,query:{agentId:String(e.payload?.agentId??``),channelId:e.channelId??``}});return}if(!e.channelId)return;if(!a.loaded)try{await a.load()}catch{}let t=a.workspaces.find(t=>t.channelIds.includes(e.channelId));if(!t){await N(`/workshop`);return}a.setActiveChannel(t.id,e.channelId),await N({path:`/workshop/w/${t.id}`,query:{view:`chat`}})}let D=o(!1);async function O(){if(!D.value){D.value=!0;try{await r.markRead({all:!0})}catch(e){U.error(e instanceof Error?e.message:c(`notifications.markReadFailed`))}finally{D.value=!1}}}return(t,a)=>{let o=W;return p(),C(o,{open:l.value,"onUpdate:open":a[0]||=e=>l.value=e,placement:`bottomRight`,trigger:[`click`]},{overlay:S(()=>[v(`div`,pt,[v(`div`,mt,[v(`span`,null,i(t.$t(`notifications.title`)),1),v(`span`,ht,i(t.$t(`notifications.unreadCount`,{p0:e(r).unreadCount})),1),e(r).unreadCount>0?(p(),y(`button`,{key:0,type:`button`,class:`nc-markall`,onClick:k(O,[`stop`])},i(t.$t(`notifications.markAllRead`)),1)):x(``,!0)]),v(`div`,gt,[(p(!0),y(b,null,m(e(r).items,t=>(p(),y(`button`,{key:t.id,type:`button`,class:n([`nc-item`,{unread:!t.readAt}]),onClick:e=>E(t)},[v(`span`,{class:n([`nc-item-icon`,[h[t.type]?.icon,h[t.type]?.tone]])},null,2),v(`span`,vt,[v(`span`,yt,[v(`span`,bt,i(w.value[t.type]??t.type),1),v(`span`,xt,i(e(we)(t.createdAt,!1)),1)]),v(`span`,St,i(t.title),1),t.body?(p(),y(`span`,Ct,i(t.body),1)):x(``,!0)]),t.readAt?x(``,!0):(p(),y(`span`,wt))],10,_t))),128)),e(r).items.length===0?(p(),y(`div`,Tt,i(t.$t(`notifications.empty`)),1)):x(``,!0)])])]),default:S(()=>[v(`button`,{class:n([`icon-btn nc-bell`,{unread:e(r).unreadCount>0}]),title:t.$t(`notifications.bellTitle`)},[a[1]||=v(`span`,{class:`i-tabler-bell`},null,-1),e(r).unreadCount>0?(p(),y(`span`,ft,i(T.value),1)):x(``,!0)],10,dt)]),_:1},8,[`open`])}}}),[[`__scopeId`,`data-v-21c11450`]]),{__name:`WorkshopNotificationCenter`}),Dt=L(`app.routeTrail`,()=>{let e=o([]);function t(t){if(!t||t.startsWith(`/api`))return;let n=e.value.filter(e=>e.path!==t);e.value=[...n,{path:t,at:Date.now()}].slice(-8)}function n(t){let n=e.value.findIndex(e=>e.path===t);return n>=0&&(e.value=e.value.filter(e=>e.path!==t)),n}function r(){e.value=[]}return{waypoints:e,visit:t,remove:n,clear:r}},{persist:{pick:[`waypoints`],storage:F.localStorage()}});function Ot(){let{t:e}=z(),t=Ae(),n={"/":{key:`menu.dashboard`,icon:`i-tabler-layout-dashboard`},"/workshop":{key:`menu.workshop`,icon:`i-tabler-box`},"/workshop/agents":{key:`meta.agents`,icon:`i-tabler-users`},"/workshop/teams":{key:`meta.teams`,icon:`i-tabler-users-group`},"/workshop/channel-templates":{key:`meta.ctpl`,icon:`i-tabler-layout-grid-add`},"/town":{key:`menu.town`,icon:`i-tabler-map-2`},"/tokens":{key:`menu.tokens`,icon:`i-tabler-key`},"/daq":{key:`menu.daq`,icon:`i-tabler-activity`},"/dcw":{key:`menu.dcw`,icon:`i-tabler-settings-automation`},"/aml":{key:`menu.aml`,icon:`i-tabler-flask`},"/logs":{key:`menu.logs`,icon:`i-tabler-list-details`},"/analysis":{key:`menu.analysis`,icon:`i-tabler-report-analytics`},"/permissions":{key:`menu.permissions`,icon:`i-tabler-shield-lock`},"/plugins":{key:`menu.plugins`,icon:`i-tabler-puzzle`},"/users":{key:`menu.users`,icon:`i-tabler-users-group`},"/monitor":{key:`menu.monitor`,icon:`i-tabler-cpu`},"/settings":{key:`menu.settings`,icon:`i-tabler-settings`}};return{metaFor:r=>{let i=n[r];if(i)return{title:e(i.key),icon:i.icon};let a=r.match(/^\/workshop\/w\/([^/]+)$/);if(a){let n=a[1];return{title:t.workspaces.find(e=>e.id===n)?.name??`${e(`header.workspace`)} ${n.slice(0,6)}`,icon:`i-tabler-console`}}let o=r.split(`/`).filter(Boolean).pop()??`·`;return{title:o.charAt(0).toUpperCase()+o.slice(1),icon:`i-tabler-point`}}}}var kt=[`aria-label`],At=[`title`,`onClick`,`onKeydown`],jt={class:`node-title`},Mt=[`aria-label`,`title`,`onClick`],Nt=Object.assign(q(f({__name:`TrailNav`,props:{hydrated:{type:Boolean}},setup(t){let r=P(),{t:a}=z(),o=Dt(),{metaFor:s}=Ot(),c=e=>{e!==r.path&&N(e)},l=e=>{let t=o.remove(e);if(e!==r.path)return;let n=o.waypoints,i=n[Math.min(Math.max(t-1,0),Math.max(n.length-1,0))]?.path??`/`;N(i)};return(u,d)=>(p(),y(`nav`,{class:`trail`,"aria-label":e(a)(`header.trail`)},[h(A,{name:`stamp`,tag:`div`,class:`trail-row`},{default:S(()=>[t.hydrated?(p(!0),y(b,{key:0},m(e(o).waypoints,(t,a)=>(p(),y(b,{key:t.path},[a>0?(p(),y(`span`,{key:`link-${t.path}`,class:`trail-link`,"aria-hidden":`true`})):x(``,!0),v(`div`,{class:n([`trail-node`,{active:t.path===e(r).path}]),role:`button`,tabindex:`0`,title:e(s)(t.path).title,onClick:e=>c(t.path),onKeydown:O(k(e=>c(t.path),[`prevent`]),[`enter`])},[v(`span`,{class:n([`node-icon`,e(s)(t.path).icon])},null,2),v(`span`,jt,i(e(s)(t.path).title),1),v(`button`,{class:`node-close`,"aria-label":u.$t(`appHeader.kzwjv99001`,{p0:e(s)(t.path).title}),title:u.$t(`appHeader.kzwjv99001`,{p0:e(s)(t.path).title}),onClick:k(e=>l(t.path),[`stop`])},[...d[0]||=[v(`span`,{class:`i-tabler-x`},null,-1)]],8,Mt)],42,At)],64))),128)):x(``,!0)]),_:1})],8,kt))}}),[[`__scopeId`,`data-v-9570d879`]]),{__name:`AppHeaderTrailNav`});function Pt(){let{t:e}=z(),t=je(),n=De(),r=[`omp-dialog`,`dcw-approval`,`codex-approval`,`opencode-permission`,`dsh-permission`,`claude-permission`,`qwen-permission`,`hermes-permission`],i=t=>{switch(t){case`omp-dialog`:return e(`appHeader.hitlKindOmp`);case`dcw-approval`:return e(`appHeader.hitlKindDcw`);case`codex-approval`:return e(`appHeader.hitlKindCodex`);case`opencode-permission`:return e(`appHeader.hitlKindOpencode`);case`dsh-permission`:return e(`appHeader.hitlKindDsh`);case`claude-permission`:return`claude 权限`;case`qwen-permission`:return`qwen 权限`;case`hermes-permission`:return`hermes 权限`;default:return t}},a=e=>{N({path:`/monitor`,query:{agentId:e.agentId,channelId:e.channelId}})},s=e=>e.channelId in n.permissions,c=e=>{let t=n.permissions[e.channelId];return t?t.canApprove||t.isAdmin?!0:n.settings[e.channelId]?.legacy===!0:!1},l=e=>e.requestType?e.requestType:e.questions&&e.questions.length>0||e.method===`input`||e.method===`editor`||e.method===`select`?`question`:`approval`,u=e=>l(e)===`question`,d=e=>e.kind===`opencode-permission`&&(e.options?.length??0)>0,f=o({}),p=o({}),m=o({}),h=e=>`${e.kind}:${e.id}`,g=(e,t)=>`${h(e)}:${t}`,_=(e,t,n)=>t.multiSelect?(p.value[g(e,t.id)]??[]).includes(n):f.value[g(e,t.id)]===n,v=(e,t,n)=>{let r=g(e,t.id);if(t.multiSelect){let e=p.value[r]??[];p.value={...p.value,[r]:e.includes(n)?e.filter(e=>e!==n):[...e,n]}}else f.value={...f.value,[r]:n}},y=(e,t)=>{let n=g(e,t.id),r=t.multiSelect?p.value[n]??[]:[f.value[n]??``].filter(Boolean),i=(m.value[n]??``).trim();return[...r.filter(Boolean),i].filter(Boolean).join(`、`)},b=`__plain`,x=e=>{if(e.questions&&e.questions.length>0)return e.questions;let t=e.options?.map(e=>({label:e}));return[{id:b,question:e.message||e.detail||e.title,options:t,multiSelect:!1,freeText:!(t&&t.length>0)}]},S=async(e,n)=>{let r=await t.answer(e,n);if(r.ok){U.success(`已提交`);return}r.code===`ALREADY_RESOLVED`?U.warning(`已被他人处理`):r.code===`APPROVAL_FORBIDDEN`?U.warning(r.message||`无审批权限(该 Channel 策略不允许你决策)`):U.error(r.message)};return{HITL_KINDS:r,hitlKindLabel:i,hitlGo:a,permsKnown:s,canAnswer:c,requestTypeOf:l,isQuestion:u,isNativeOptionApproval:d,qSingle:f,qMulti:p,qFree:m,itemKey:h,slotOf:g,isChosen:_,chooseOption:v,answerOf:y,PLAIN_QID:b,questionsOf:x,answer:S,submitQuestion:async e=>{let t=x(e),n=t.findIndex(t=>!y(e,t).trim());if(n>=0){U.warning(`请先填写第 ${n+1} 题(${t[n].question||`未命名问题`})的答案`);return}await S(e,{answers:t.map((t,n)=>({id:t.id||String(n),answer:y(e,t)}))})},submitApproval:async(e,t)=>{await S(e,{confirmed:t})},submitNativeOption:async(e,t)=>{await S(e,{response:t})},submitCancel:async e=>{await S(e,{cancelled:!0})},policyLabel:e=>e.policy===`any_member`?`任一成员可决策`:e.policy?`仅 owner 可决策`:``}}var Ft=[`title`],It={class:`hitl-count`},Lt={class:`hitl-menu`},Rt={class:`hitl-menu-title`},zt=[`onClick`],Bt={class:`hitl-item-top`},Vt={class:`hitl-item-agent`},Ht={class:`hitl-item-kind`},Ut=[`data-type`],Wt={class:`hitl-item-title`},Gt={key:0,class:`hitl-item-detail`},Kt={key:1,class:`hitl-item-detail`},qt={key:2,class:`hitl-item-policy`},Jt={key:0,class:`hitl-answer-note`},Yt={key:1,class:`hitl-answer-note`},Xt={key:2,class:`hitl-answer-note`},Zt={key:3,class:`hitl-answer`},Qt={key:0,class:`hitl-q-title`},$t={key:1,class:`hitl-q-desc`},en={key:2,class:`hitl-opts`},tn=[`title`,`onClick`],nn={class:`hitl-btns`},rn={key:0,class:`hitl-opts`},an=[`onClick`],on={class:`hitl-btns`},sn=Object.assign(q(f({__name:`HitlBell`,setup(t){let{t:r}=z(),a=je(),{HITL_KINDS:o,hitlKindLabel:s,hitlGo:c,permsKnown:l,canAnswer:u,requestTypeOf:d,isQuestion:f,isNativeOptionApproval:g,qFree:_,slotOf:w,isChosen:T,chooseOption:E,questionsOf:O,submitQuestion:k,submitNativeOption:A,submitApproval:j,submitCancel:M,policyLabel:N}=Pt();return(t,P)=>{let F=ce,I=ue,L=W;return e(a).count>0?(p(),C(L,{key:0,placement:`bottomRight`},{overlay:S(()=>[v(`div`,Lt,[v(`div`,Rt,i(e(r)(`appHeader.hitlBadge`))+` · `+i(e(a).count),1),(p(!0),y(b,null,m(e(a).items,t=>(p(),y(`div`,{key:`${t.kind}:${t.id}`,class:`hitl-item`},[v(`button`,{type:`button`,class:`hitl-item-head`,onClick:n=>e(c)(t)},[v(`span`,Bt,[v(`span`,Vt,i(t.agentName),1),v(`span`,Ht,i(e(s)(t.kind)),1),t.requestType||e(f)(t)?(p(),y(`span`,{key:0,class:`hitl-item-reqtype`,"data-type":e(d)(t)},i(e(f)(t)?e(r)(`appHeader.hitlReqQuestion`):e(r)(`appHeader.hitlReqApproval`)),9,Ut)):x(``,!0)]),v(`span`,Wt,i(t.title),1),t.detail?(p(),y(`span`,Gt,i(t.detail),1)):x(``,!0),t.message?(p(),y(`span`,Kt,i(t.message),1)):x(``,!0),t.policy?(p(),y(`span`,qt,[P[1]||=v(`span`,{class:`i-tabler-shield-lock`},null,-1),D(` `+i(e(r)(`appHeader.hitlPolicy`,{p0:e(N)(t)})),1)])):x(``,!0)],8,zt),e(o).includes(t.kind)?e(l)(t)?e(u)(t)?(p(),y(`div`,Zt,[e(f)(t)?(p(),y(b,{key:0},[(p(!0),y(b,null,m(e(O)(t),(a,o)=>(p(),y(`div`,{key:`${t.kind}:${t.id}:${a.id}:${o}`,class:`hitl-q`},[t.questions&&t.questions.length>1?(p(),y(`div`,Qt,i(o+1)+`. `+i(a.header||a.question),1)):x(``,!0),a.header&&a.question?(p(),y(`div`,$t,i(a.question),1)):x(``,!0),a.options&&a.options.length>0?(p(),y(`div`,en,[(p(!0),y(b,null,m(a.options,r=>(p(),y(`button`,{key:r.label,type:`button`,class:n([`hitl-opt`,{on:e(T)(t,a,r.label)}]),title:r.description||r.label,onClick:n=>e(E)(t,a,r.label)},i(r.label),11,tn))),128))])):x(``,!0),!(a.options&&a.options.length>0)||a.freeText?(p(),C(F,{key:3,value:e(_)[e(w)(t,a.id)],"onUpdate:value":n=>e(_)[e(w)(t,a.id)]=n,rows:2,placeholder:a.options&&a.options.length>0?e(r)(`appHeader.hitlSupplementPlaceholder`):e(r)(`appHeader.hitlAnswerPlaceholder`)},null,8,[`value`,`onUpdate:value`,`placeholder`])):x(``,!0)]))),128)),v(`div`,nn,[h(I,{size:`small`,type:`primary`,loading:e(a).answering===`${t.kind}:${t.id}`,onClick:n=>e(k)(t)},{default:S(()=>[D(i(e(r)(`appHeader.hitlSubmitAnswer`)),1)]),_:1},8,[`loading`,`onClick`]),h(I,{size:`small`,disabled:e(a).answering===`${t.kind}:${t.id}`,onClick:n=>e(M)(t)},{default:S(()=>[D(i(e(r)(`appHeader.hitlCancelRequest`)),1)]),_:1},8,[`disabled`,`onClick`])])],64)):(p(),y(b,{key:1},[e(g)(t)?(p(),y(`div`,rn,[(p(!0),y(b,null,m(t.options,n=>(p(),y(`button`,{key:n,type:`button`,class:`hitl-opt`,onClick:r=>e(A)(t,n)},i(n),9,an))),128))])):x(``,!0),v(`div`,on,[h(I,{size:`small`,type:`primary`,loading:e(a).answering===`${t.kind}:${t.id}`,onClick:n=>e(j)(t,!0)},{default:S(()=>[D(i(e(r)(`appHeader.hitlApprove`)),1)]),_:1},8,[`loading`,`onClick`]),h(I,{size:`small`,danger:``,disabled:e(a).answering===`${t.kind}:${t.id}`,onClick:n=>e(j)(t,!1)},{default:S(()=>[D(i(e(r)(`appHeader.hitlReject`)),1)]),_:1},8,[`disabled`,`onClick`]),h(I,{size:`small`,disabled:e(a).answering===`${t.kind}:${t.id}`,onClick:n=>e(M)(t)},{default:S(()=>[D(i(e(r)(`common.cancel`)),1)]),_:1},8,[`disabled`,`onClick`])])],64))])):(p(),y(`div`,Xt,i(e(r)(`appHeader.hitlNoPerm`))+i(t.policy?`(${e(N)(t)})`:``),1)):(p(),y(`div`,Yt,i(e(r)(`appHeader.hitlPermsLoading`)),1)):(p(),y(`div`,Jt,i(e(r)(`appHeader.hitlEngineNote`)),1))]))),128))])]),default:S(()=>[v(`button`,{class:`icon-btn hitl-bell`,title:e(r)(`appHeader.hitlBadge`)},[P[0]||=v(`span`,{class:`i-tabler-bell-ringing`},null,-1),v(`span`,It,i(e(a).count),1)],8,Ft)]),_:1})):x(``,!0)}}}),[[`__scopeId`,`data-v-5a73f3c7`]]),{__name:`AppHeaderHitlBell`}),cn=[`title`],ln=Object.assign(q(f({__name:`HeaderTools`,props:{hydrated:{type:Boolean}},setup(t){let{t:r,locale:i,locales:a,setLocale:s}=z(),c=I(),{isMobile:l}=Ce(),u=g(()=>a.value.map(e=>({label:l.value?e.code.split(`-`)[0].toUpperCase():e.name,value:e.code}))),d=e=>{e!=null&&(R(`aw.locale`,{maxAge:31536e3}).value=String(e),localStorage.setItem(`aw.locale`,String(e)),s(String(e)),window.location.reload())},f=Ee(),m=g(()=>f.state!==`closed`||f.lastDataAt>0),_=g(()=>f.state===`open`?f.pendingReplay?`syncing`:`live`:f.state===`connecting`?`syncing`:`down`),C=g(()=>f.state===`open`?f.pendingReplay?r(`appHeader.kwsdot0002`):r(`appHeader.kwsdot0001`):f.state===`connecting`?r(`appHeader.kwsdot0003`):r(`appHeader.kwsdot0004`)),w=o(!1);function T(){document.fullscreenElement?(document.exitFullscreen(),w.value=!1):(document.documentElement.requestFullscreen(),w.value=!0)}return(a,o)=>{let s=se,l=fe;return p(),y(b,null,[t.hydrated&&e(m)?(p(),y(`span`,{key:0,class:n([`ws-dot`,e(_)]),title:e(C)},null,10,cn)):x(``,!0),h(s,{title:e(r)(`header.fullscreen`)},{default:S(()=>[v(`button`,{class:`icon-btn hdr-fullscreen`,onClick:T},[v(`span`,{class:n([`i-tabler-arrows-maximize`,{hidden:e(w)}])},null,2),v(`span`,{class:n([`i-tabler-arrows-minimize`,{hidden:!e(w)}])},null,2)])]),_:1},8,[`title`]),h(l,{id:`hdr-locale`,value:e(i),size:`middle`,options:e(u),class:`lang-select`,onChange:d},null,8,[`value`,`options`]),h(s,{title:e(c).isDark?e(r)(`common.light`):e(r)(`common.dark`)},{default:S(()=>[v(`button`,{class:`icon-btn`,onClick:o[0]||=t=>e(c).toggleDark()},[v(`span`,{class:n([`i-tabler-sun-high`,{hidden:e(c).isDark}])},null,2),v(`span`,{class:n([`i-tabler-moon-stars`,{hidden:!e(c).isDark}])},null,2)])]),_:1},8,[`title`])],64)}}}),[[`__scopeId`,`data-v-d647eb55`]]),{__name:`AppHeaderTools`}),un={class:`user-chip`},dn={class:`user-initial aw-avatar`},fn={class:`user-meta`},pn={class:`user-name`},mn={class:`user-role`},hn=Object.assign(q(f({__name:`UserChip`,setup(t){let{t:r}=z(),a=K(),o=G(),s=g(()=>(a.user?.name??`?`).trim().charAt(0).toUpperCase()),c=g(()=>a.user?.name??r(`header.guest`)),l=g(()=>a.isLoggedIn?a.user?.role??`user`:`anonymous`),u=g(()=>{let e=[];return a.isLoggedIn||e.push({key:`login`,icon:`i-tabler-login`,label:r(`header.login`)}),e.push({key:`tokens`,icon:`i-tabler-key`,label:r(`menu.tokens`)},{key:`settings`,icon:`i-tabler-adjustments`,label:r(`menu.settings`)}),a.isLoggedIn&&(e.push({key:`d-logout`,label:``,divider:!0}),e.push({key:`logout`,icon:`i-tabler-logout`,label:r(`header.logout`),danger:!0})),e}),d=async({key:e})=>{e===`login`?o.openLogin(`manual`):e===`settings`?N(`/settings`):e===`tokens`?N(`/tokens`):e===`logout`&&(await a.logout(),o.openLogin(`anonymous`))};return(t,r)=>{let a=B,o=he,f=ge,g=_e,_=W;return p(),C(_,null,{overlay:S(()=>[h(g,{onClick:d},{default:S(()=>[(p(!0),y(b,null,m(e(u),e=>(p(),y(b,{key:e.key},[e.divider?(p(),C(o,{key:0})):(p(),C(f,{key:e.key,danger:e.danger},{default:S(()=>[v(`span`,{class:n([e.icon,`mr-2`])},null,2),D(` `+i(e.label),1)]),_:2},1032,[`danger`]))],64))),128))]),_:1})]),default:S(()=>[v(`div`,un,[h(a,null,{fallback:S(()=>[...r[0]||=[v(`span`,{class:`user-initial aw-avatar`},`·`,-1),v(`span`,{class:`user-meta`},[v(`span`,{class:`user-name`},`·`),v(`span`,{class:`user-role`},`·`)],-1)]]),default:S(()=>[v(`span`,dn,i(e(s)),1),v(`span`,fn,[v(`span`,pn,i(e(c)),1),v(`span`,mn,i(e(l)),1)])]),_:1})])]),_:1})}}}),[[`__scopeId`,`data-v-afd65262`]]),{__name:`AppHeaderUserChip`}),gn={class:`header-left`},_n=[`aria-label`,`aria-expanded`],vn={class:`mobile-title`},yn={class:`header-right`},bn=Object.assign(q(f({__name:`AppHeader`,setup(t){let{t:r}=z(),a=I(),s=P(),c=Dt(),l=K(),{metaFor:f}=Ot(),m=je(),y=De(),b=ke(),x=()=>{l.isLoggedIn&&b.ensureConnected()};_(()=>l.token,e=>{e?(x(),m.loadSnapshot()):m.clear()},{immediate:!0}),_(()=>m.items.map(e=>e.channelId).join(`|`),e=>{for(let t of new Set(e.split(`|`).filter(Boolean)))t in y.permissions||y.loadPermissions(t)},{immediate:!0});let{isDrawer:w}=Ce(),T=g(()=>w.value?a.mobileNavOpen?r(`header.closeNav`):r(`header.openNav`):a.sidebarCollapsed?r(`header.expand`):r(`header.collapse`)),E=()=>{w.value?a.toggleMobileNav():a.toggleSidebar()},D=g(()=>f(s.path).title),O=o(!1),k=o(!1),A=null;return _(()=>s.path,()=>{c.visit(s.path),k.value=!1,requestAnimationFrame(()=>{k.value=!0,A&&clearTimeout(A),A=setTimeout(()=>{k.value=!1},620)})},{immediate:!1}),d(()=>{O.value=!0,c.visit(s.path)}),u(()=>{A&&clearTimeout(A)}),(t,r)=>{let o=Et,s=B,c=Ke;return p(),C(c,{class:`app-header app-header-glass`},{default:S(()=>[v(`div`,gn,[v(`button`,{class:`collapse-btn`,"aria-label":e(T),"aria-expanded":e(w)?e(a).mobileNavOpen:!e(a).sidebarCollapsed,onClick:r[0]||=e=>E()},[...r[1]||=[v(`span`,{class:`i-tabler-menu-2`},null,-1)]],8,_n),v(`span`,vn,i(e(D)),1),r[2]||=v(`span`,{class:`rail-mark i-tabler-route`},null,-1),h(Nt,{hydrated:e(O)},null,8,[`hydrated`])]),v(`div`,yn,[h(s,null,{default:S(()=>[h(o)]),_:1}),h(s,null,{default:S(()=>[h(sn)]),_:1}),h(ln,{hydrated:e(O)},null,8,[`hydrated`]),h(hn)]),v(`span`,{class:n([`plotter-line`,{run:e(k)}]),"aria-hidden":`true`},null,2)]),_:1})}}}),[[`__scopeId`,`data-v-21aed131`]]),{__name:`AppHeader`}),xn=Object.assign(q(f({__name:`LoginModal`,setup(t){let n=G(),r=K(),i=o(`login`),s=o(``),c=o(``),l=o(``),u=o(``),f=o(!1),m=o(!1),g=o(!0),v=async()=>{for(let e=1;e<=3;e++)try{let e=await Te(`/api/users/setup-status`);m.value=e.data?.needsSetup===!0,g.value=e.data?.allowRegistration!==!1,m.value?i.value=`register`:g.value||(i.value=`login`);return}catch{e<3&&await new Promise(e=>setTimeout(e,800))}};d(()=>{v()}),_(()=>n.open,e=>{e&&(f.value=!1,i.value=`login`,v())});let y=e=>{U.error(e instanceof Error?e.message:String(e))},b=e=>{U.success(`${e} 登录成功`),n.closeLogin(),setTimeout(()=>window.location.reload(),400)},x=async()=>{f.value=!0;try{let e=await r.login(c.value,l.value);b(e.name)}catch(e){y(e)}finally{f.value=!1}},w=async()=>{f.value=!0;try{let e=await r.register(s.value,c.value,l.value);b(e.name)}catch(e){y(e)}finally{f.value=!1}},T=async()=>{f.value=!0;try{let e=await r.loginWithToken(u.value);b(e.name)}catch(e){y(e)}finally{f.value=!1}};return(t,r)=>{let o=de;return p(),C(o,{open:e(n).open,footer:null,width:480,closable:!0,"mask-closable":!0,"body-style":{padding:`8px 8px 0`},"destroy-on-close":``,onCancel:r[5]||=t=>e(n).closeLogin()},{default:S(()=>[h(Me,{"active-tab":e(i),"onUpdate:activeTab":r[0]||=e=>a(i)?i.value=e:null,name:e(s),"onUpdate:name":r[1]||=e=>a(s)?s.value=e:null,email:e(c),"onUpdate:email":r[2]||=e=>a(c)?c.value=e:null,password:e(l),"onUpdate:password":r[3]||=e=>a(l)?l.value=e:null,"token-input":e(u),"onUpdate:tokenInput":r[4]||=e=>a(u)?u.value=e:null,loading:e(f),"needs-setup":e(m),"allow-register":e(g),onLogin:x,onRegister:w,onLoginWithToken:T},null,8,[`active-tab`,`name`,`email`,`password`,`token-input`,`loading`,`needs-setup`,`allow-register`])]),_:1},8,[`open`])}}}),[[`__scopeId`,`data-v-ab177237`]]),{__name:`AppHeaderLoginModal`}),Sn={key:0,class:`guest-banner`},Cn={class:`footer-title aw-serif-accent`},wn={class:`footer-corner`},Tn=q(f({__name:`default`,setup(t){let{token:n}=xe.useToken(),a=Se(),o=K(),s=G(),{t:l}=z();return(t,u)=>{let d=ut,f=bn,m=ue,g=B,_=Ye,b=qe,w=Xe,T=xn;return p(),C(w,{class:`app-layout`,"has-sider":``},{default:S(()=>[h(d),h(w,{class:`app-main`,style:r({background:`transparent`,"--app-bg-container":e(n)?.colorBgContainer,"--app-bg-layout":e(n)?.colorBgLayout,"--app-text":e(n)?.colorText,"--app-text-secondary":e(n)?.colorTextSecondary,"--app-border":e(n)?.colorBorderSecondary,"--app-fill":e(n)?.colorFillQuaternary,"--app-header-h":`56px`,"--app-footer-h":`46px`})},{default:S(()=>[h(f),h(g,null,{default:S(()=>[!e(o).isLoggedIn&&!e(s).open?(p(),y(`div`,Sn,[v(`span`,null,i(e(l)(`header.guestBanner`)),1),h(m,{size:`small`,type:`primary`,onClick:u[0]||=t=>e(s).openLogin(`anonymous`)},{default:S(()=>[D(i(e(l)(`header.login`)),1)]),_:1})])):x(``,!0)]),_:1}),h(_,{class:`app-content`},{default:S(()=>[c(t.$slots,`default`,{},void 0,!0)]),_:3}),h(b,{class:`app-footer`,style:r({color:e(n)?.colorTextSecondary})},{default:S(()=>[v(`span`,Cn,i(e(a).title),1),u[5]||=v(`span`,{class:`sep`},`/`,-1),v(`span`,null,`mode=`+i(e(a).mode),1),v(`span`,wn,[v(`span`,null,`v`+i(e(a).version),1),u[1]||=v(`span`,{class:`sep`},`·`,-1),u[2]||=v(`a`,{class:`footer-link`,href:`https://github.com/kingdol666/AgentWorkShop`,target:`_blank`,rel:`noopener`},`GitHub`,-1),u[3]||=v(`span`,{class:`sep`},`·`,-1),u[4]||=v(`a`,{class:`footer-link`,href:`https://kingdol666.github.io/AgentWorkShop/`,target:`_blank`,rel:`noopener`},`Docs`,-1)])]),_:1},8,[`style`])]),_:3},8,[`style`]),u[6]||=v(`span`,{class:`aw-noise`,"aria-hidden":`true`},null,-1),h(T)]),_:3})}}}),[[`__scopeId`,`data-v-644e646f`]]);export{Tn as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as e,mt as t,v as n}from"./CavpkQb0.js";import{P as r,R as i,S as a,V as o,d as s,et as c,f as l,h as u,p as d,y as f}from"./ByMj6e7s.js";import{d as p}from"./Br3AySNQ.js";import{t as m}from"./S799kNo8.js";import{t as h}from"./Do0dCE8C2.js";import{t as g}from"./BDNMzG2s2.js";import{a as _,t as v}from"./
|
|
1
|
+
import{N as e,mt as t,v as n}from"./CavpkQb0.js";import{P as r,R as i,S as a,V as o,d as s,et as c,f as l,h as u,p as d,y as f}from"./ByMj6e7s.js";import{d as p}from"./Br3AySNQ.js";import{t as m}from"./S799kNo8.js";import{t as h}from"./Do0dCE8C2.js";import{t as g}from"./BDNMzG2s2.js";import{a as _,t as v}from"./DG0esyZR.js";import{t as y}from"./pncSmP5n.js";import{t as b}from"./CNs_Ozdc.js";import{t as x}from"./CJPIo2E7.js";var S={class:`town-page`},C={key:0,"data-hud":`town-empty`,class:`pane-empty`},w={class:`pe-title`},T={class:`pe-sub`},E={key:2,"data-hud":`town-loading`,class:`pane-loading`},D=g(a({__name:`town`,setup(a){b({layout:`town`,title:`Digital Twin`});let g=h(),D=_(),O=y(),{subscribe:k,unsubscribe:A}=v(),j=m(`token`),M=n(!1);c(()=>g.isLoggedIn,async e=>{if(!e){M.value=!1;return}if(await g.refresh(),g.isLoggedIn)try{await O.load(),M.value=!0}catch{}},{immediate:!0}),i(()=>{!g.isLoggedIn&&!j.value&&p(`/workshop`)}),c(j,e=>{!e&&!g.isLoggedIn&&p(`/workshop`)});let N=s(()=>{let e=[];for(let t of O.workspaces)for(let n of t.channelIds??[])e.includes(n)||e.push(n);return e});c(()=>N.value.join(`,`),()=>{for(let e of N.value)k(e)},{immediate:!0}),r(()=>{for(let e of N.value)A(e)});let P=s(()=>{let e=N.value[0];if(e&&D.channels[e])return e;for(let e of O.workspaces)for(let t of e.channelIds??[])if(D.channels[t])return t;return N.value[0]??void 0}),F=s(()=>N.value.length>0);return(n,r)=>{let i=x;return o(),u(`div`,S,[e(M)&&!e(F)?(o(),u(`div`,C,[r[0]||=l(`span`,{class:`pe-icon i-tabler-map-2`},null,-1),l(`div`,w,t(n.$t(`town.k1wm8wtr001`)),1),l(`div`,T,[f(t(n.$t(`town.k47e4s002`))+` `,1),l(`b`,null,`Agent `+t(n.$t(`town.k3n4mae005`)),1),f(` `+t(n.$t(`town.k17rerba003`)),1)])])):e(P)?(o(),d(i,{key:1,"channel-id":e(P),"all-channels":!0},null,8,[`channel-id`])):(o(),u(`div`,E,t(n.$t(`town.k1uc5mup004`)),1))])}}}),[[`__scopeId`,`data-v-83876687`]]);export{D as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"
|
|
1
|
+
{"id":"8bf65244-eb00-45c7-be23-9dcd7b917ef3","timestamp":1792203734389}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"8bf65244-eb00-45c7-be23-9dcd7b917ef3","timestamp":1792203734389,"prerendered":[]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{N as e,dt as t,ft as n,g as r,mt as i,u as a,v as o}from"./CavpkQb0.js";import{P as s,Q as c,R as l,S as u,V as d,W as f,b as p,et as m,f as h,h as g,i as _,k as v,m as y,p as b,rt as x,y as S}from"./ByMj6e7s.js";import{c as C,d as w,f as T,l as E}from"./goF_oZHF.js";import{n as D}from"./DkpmSnHX.js";import{n as ee}from"./Cnrmlixo.js";import{t as O}from"./RAqsw632.js";import{i as te}from"./CiyTTgqr.js";import{t as k}from"./BDNMzG2s2.js";import{t as ne}from"./
|
|
1
|
+
import{N as e,dt as t,ft as n,g as r,mt as i,u as a,v as o}from"./CavpkQb0.js";import{P as s,Q as c,R as l,S as u,V as d,W as f,b as p,et as m,f as h,h as g,i as _,k as v,m as y,p as b,rt as x,y as S}from"./ByMj6e7s.js";import{c as C,d as w,f as T,l as E}from"./goF_oZHF.js";import{n as D}from"./DkpmSnHX.js";import{n as ee}from"./Cnrmlixo.js";import{t as O}from"./RAqsw632.js";import{i as te}from"./CiyTTgqr.js";import{t as k}from"./BDNMzG2s2.js";import{t as ne}from"./DG0esyZR.js";import{t as re}from"./JgheoP3e.js";import{t as ie}from"./C-LU6xv_.js";import{t as ae}from"./D8xUsQGt.js";import{t as oe}from"./zrgcKVTq.js";import{c as se,l as ce,u as A}from"./B6Olw0Op.js";import{t as le}from"./DjtDexGg.js";import{t as ue}from"./Btx8wL4-.js";import{t as j}from"./BqYVLAcm.js";import{r as de,t as fe}from"./CK2ts9sD.js";import{t as pe}from"./BtBgrPNT.js";import{t as me}from"./taHLOXkS.js";import{t as M}from"./BTXdYngG.js";import{t as he}from"./CNs_Ozdc.js";import{t as ge}from"./B8cnjDtt.js";var _e={class:`aw-page-head`},ve={class:`sub`},N={class:`badges mono`},ye=[`title`],P=[`title`],be=Object.assign(k(u({__name:`AmlPageHeader`,props:{overview:{},env:{},pythonText:{},venvText:{},uvText:{}},setup(e){return(n,r)=>(d(),g(`div`,_e,[h(`div`,null,[r[0]||=h(`p`,{class:`aw-kicker`},` AGENTWORKSHOP / AML STUDIO `,-1),h(`h1`,null,i(n.$t(`aml.k1amlx001`)),1),h(`p`,ve,i(n.$t(`aml.k1amlx002`)),1)]),h(`div`,N,[h(`span`,{class:t([`badge`,{bad:e.overview!=null&&!e.overview.runtime.python.ok}]),title:e.overview?.runtime.python.reason??``},`PYTHON · `+i(e.pythonText),11,ye),h(`span`,{class:t([`badge`,{bad:e.overview!=null&&!e.overview.runtime.venvReady}])},`VENV · `+i(e.venvText),3),h(`span`,{class:t([`badge`,{bad:e.env!=null&&!e.env.uv.ok}]),title:e.env?.uv.reason??e.env?.uv.path??``},`UV · `+i(e.uvText),11,P)])]))}}),[[`__scopeId`,`data-v-6556153b`]]),{__name:`AmlPageHeader`}),xe={key:0,class:`infra-banner`},F={class:`txt`},Se={class:`mono`},Ce=Object.assign(k(u({__name:`AmlInfraBanner`,props:{overview:{}},setup(e){return(t,n)=>e.overview!=null&&!e.overview.runtime.python.ok?(d(),g(`div`,xe,[n[0]||=h(`span`,{class:`i-tabler-alert-triangle`},null,-1),h(`span`,F,[S(i(t.$t(`aml.k1amlx014`)),1),h(`b`,Se,i(e.overview.runtime.python.reason??``),1)])])):y(``,!0)}}),[[`__scopeId`,`data-v-b2590880`]]),{__name:`AmlInfraBanner`}),we={key:0,class:`aw-tile ov-card`},Te={class:`ov-row mono`},Ee={class:`ov-item`},I={class:`ov-item`},De={class:`ov-item`},Oe={class:`ov-item`},L=[`title`],R={key:1,class:`err`},ke=Object.assign(k(u({__name:`AmlOverviewBar`,props:{overview:{},overviewError:{},pythonText:{},venvText:{}},emits:[`reload`],setup(e){return(n,r)=>e.overview?(d(),g(`section`,we,[h(`div`,Te,[h(`span`,{class:t([`ov-item`,e.overview.runtime.python.ok?`ok`:`bad`])},[h(`span`,{class:t(e.overview.runtime.python.ok?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),S(` `+i(n.$t(`aml.k1amlx003`))+` · `+i(e.pythonText),1)],2),h(`span`,{class:t([`ov-item`,{ok:e.overview.runtime.venvReady}])},i(n.$t(`aml.k1amlx006`))+` · `+i(e.venvText),3),h(`span`,Ee,[S(i(n.$t(`aml.k1amlx009`))+` `,1),h(`b`,null,i(e.overview.runtime.queued),1)]),h(`span`,I,[S(i(n.$t(`aml.k1amlx010`))+` `,1),h(`b`,null,i(e.overview.runtime.running),1)]),r[1]||=h(`span`,{class:`sep`},`·`,-1),h(`span`,De,[S(i(n.$t(`aml.k1amlx011`))+` `,1),h(`b`,null,i(e.overview.counts.datasets),1)]),h(`span`,Oe,[S(i(n.$t(`aml.k1amlx012`))+` `,1),h(`b`,null,i(e.overview.counts.models),1)]),h(`span`,{class:`ov-item accent`,title:n.$t(`aml.k1amlx013`)},[S(i(n.$t(`aml.k1amlx013`))+` `,1),h(`b`,null,i(e.overview.counts.productions),1)],8,L),h(`button`,{class:`mini-btn reload`,onClick:r[0]||=e=>n.$emit(`reload`)},i(n.$t(`aml.k1amlx017`)),1)])])):e.overviewError?(d(),g(`p`,R,i(n.$t(`aml.k1amlx015`))+`:`+i(e.overviewError),1)):y(``,!0)}}),[[`__scopeId`,`data-v-77db0a40`]]),{__name:`AmlOverviewBar`}),z={class:`aw-tile zone env-zone`},B={class:`zone-head`},V={class:`zone-actions`},Ae=[`disabled`],je={key:0,class:`infra-banner`},H={class:`txt`},Me={class:`mono`},Ne={class:`env-grid`},U={class:`ec-head`},Pe={class:`ec-state`},W={key:0,class:`ec-detail mono`},G={key:1,class:`ec-detail`},K={class:`ec-actions`},q=[`disabled`,`title`],J={class:`ec-head`},Y={class:`ec-state`},X={class:`ec-detail mono`},Fe={class:`ec-actions`},Z=[`disabled`,`title`],Ie=[`disabled`],Q={class:`env-card`},$={class:`ec-head`},Le={class:`ec-detail mono`},Re={class:`ec-detail dim`},ze={class:`ec-detail`},Be={class:`mono`},Ve={class:`dim`},He={class:`ec-head`},Ue={key:0,class:`ec-state`},We={key:0,class:`ec-detail mono`},Ge={key:1,class:`ec-issues mono`},Ke=[`title`],qe={class:`tag`},Je={class:`ec-actions`},Ye={key:1,class:`env-task`},Xe={class:`et-head mono`},Ze={class:`dim`},Qe={key:0,class:`dim`},$e={class:`et-log mono`},et={key:0,class:`err`},tt=Object.assign(k(u({__name:`AmlEnvPanel`,props:{env:{},inventory:{},envBusy:{type:Boolean},uvText:{},uvSourceText:{},blockerText:{},rootSourceLabel:{}},emits:[`recheck`,`installUv`,`createVenv`,`prune`],setup(n){let r=o(!1),{shortId:a}=j();return(o,s)=>(d(),g(`section`,z,[h(`div`,B,[h(`h2`,null,i(o.$t(`aml.k1amlx162`)),1),h(`div`,V,[h(`button`,{class:`mini-btn`,disabled:n.envBusy,onClick:s[0]||=e=>o.$emit(`recheck`)},i(o.$t(`aml.k1amlx175`)),9,Ae),h(`button`,{class:`mini-btn`,onClick:s[1]||=e=>r.value=!r.value},i(r.value?o.$t(`aml.k1amlx181`):o.$t(`aml.k1amlx180`)),1)])]),n.env.preflight.canRunJobs?y(``,!0):(d(),g(`div`,je,[s[6]||=h(`span`,{class:`i-tabler-alert-triangle`},null,-1),h(`span`,H,[S(i(o.$t(`aml.k1amlx178`))+`:`,1),h(`b`,Me,i(n.blockerText),1)])])),h(`div`,Ne,[h(`div`,{class:t([`env-card`,n.env.uv.ok?`ok`:`bad`])},[h(`div`,U,[h(`span`,{class:t(n.env.uv.ok?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),h(`b`,null,i(o.$t(`aml.k1amlx163`)),1),h(`span`,Pe,i(n.uvText),1)]),n.env.uv.ok?(d(),g(`p`,W,[S(i(n.env.uv.path),1),n.uvSourceText?(d(),g(_,{key:0},[S(` · `+i(n.uvSourceText),1)],64)):y(``,!0)])):(d(),g(`p`,G,i(o.$t(`aml.k1amlx177`)),1)),h(`div`,K,[n.env.uv.ok?y(``,!0):(d(),g(`button`,{key:0,class:`mini-btn primary`,disabled:n.envBusy,title:o.$t(`aml.k1amlx176`),onClick:s[2]||=e=>o.$emit(`installUv`)},[s[7]||=h(`span`,{class:`i-tabler-download`},null,-1),S(` `+i(n.env.task?.kind===`install-uv`&&n.env.task.status===`running`?o.$t(`aml.k1amlx167`):o.$t(`aml.k1amlx166`)),1)],8,q))])],2),h(`div`,{class:t([`env-card`,n.env.venv.ready?`ok`:`bad`])},[h(`div`,J,[h(`span`,{class:t(n.env.venv.ready?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),h(`b`,null,i(o.$t(`aml.k1amlx168`)),1),h(`span`,Y,i(n.env.venv.ready?o.$t(`aml.k1amlx007`):o.$t(`aml.k1amlx008`)),1)]),h(`p`,X,[S(i(n.env.venv.dir)+` `,1),n.env.venv.ready?(d(),g(_,{key:0},[S(` · `+i(n.env.venv.sizeMb)+` MB `,1)],64)):y(``,!0)]),h(`div`,Fe,[h(`button`,{class:`mini-btn primary`,disabled:n.envBusy||!n.env.python.ok&&!n.env.uv.ok,title:n.env.python.ok?``:n.env.uv.ok?`系统无 Python —— 将由 uv 自动安装托管解释器并创建环境(uv 优先)`:n.env.python.reason??``,onClick:s[3]||=e=>o.$emit(`createVenv`,!1)},[s[8]||=h(`span`,{class:`i-tabler-plus`},null,-1),S(` `+i(n.env.task?.kind===`create-venv`&&n.env.task.status===`running`?o.$t(`aml.k1amlx170`):o.$t(`aml.k1amlx168`)),1)],8,Z),n.env.venv.ready?(d(),g(`button`,{key:0,class:`mini-btn`,disabled:n.envBusy,onClick:s[4]||=e=>o.$emit(`createVenv`,!0)},i(o.$t(`aml.k1amlx169`)),9,Ie)):y(``,!0)])],2),h(`div`,Q,[h(`div`,$,[s[9]||=h(`span`,{class:`i-tabler-folder`},null,-1),h(`b`,null,i(o.$t(`aml.k1amlx171`)),1)]),h(`p`,Le,i(n.env.amlRoot),1),h(`p`,Re,i(o.$t(`aml.k1amlx201`)),1),h(`p`,ze,[S(i(o.$t(`aml.k1amlx174`))+`: `,1),h(`b`,Be,i(n.env.disk.usedMb)+` / `+i(n.env.disk.quotaMb)+` MB`,1),h(`span`,Ve,` · `+i(n.rootSourceLabel),1)])]),h(`div`,{class:t([`env-card`,n.inventory==null?``:n.inventory.ok?`ok`:`bad`])},[h(`div`,He,[h(`span`,{class:t(n.inventory?.ok===!1?`i-tabler-alert-triangle`:`i-tabler-database`)},null,2),h(`b`,null,i(o.$t(`aml.k1amlx182`)),1),n.inventory?(d(),g(`span`,Ue,i(n.inventory.ok?o.$t(`aml.k1amlx183`):o.$t(`aml.k1amlx184`)),1)):y(``,!0)]),n.inventory?(d(),g(`p`,We,i(o.$t(`aml.k1amlx011`))+` `+i(n.inventory.counts.datasets)+`/`+i(n.inventory.entities.datasets)+` · `+i(o.$t(`aml.k1amlx010`))+` `+i(n.inventory.counts.jobs)+`/`+i(n.inventory.entities.jobs)+` · `+i(o.$t(`aml.k1amlx012`))+` `+i(n.inventory.counts.models)+`/`+i(n.inventory.entities.models),1)):y(``,!0),n.inventory&&n.inventory.issues.length>0?(d(),g(`ul`,Ge,[(d(!0),g(_,null,f(n.inventory.issues.slice(0,5),t=>(d(),g(`li`,{key:`${t.kind}:${t.id}:${t.problem}`,title:t.detail},[h(`span`,qe,i(t.problem===`entity_missing`?o.$t(`aml.k1amlx185`):t.problem===`orphan_dir`?o.$t(`aml.k1amlx186`):o.$t(`aml.k1amlx187`)),1),S(` `+i(t.kind)+` `+i(e(a)(t.id)),1)],8,Ke))),128))])):y(``,!0),h(`div`,Je,[n.inventory&&n.inventory.issues.some(e=>e.problem===`orphan_dir`)?(d(),g(`button`,{key:0,class:`mini-btn`,onClick:s[5]||=e=>o.$emit(`prune`)},[s[10]||=h(`span`,{class:`i-tabler-trash`},null,-1),S(` `+i(o.$t(`aml.k1amlx188`)),1)])):y(``,!0)])],2)]),n.env.task&&r.value?(d(),g(`div`,Ye,[h(`div`,Xe,[h(`span`,{class:t(n.env.task.status===`running`?`i-tabler-loader-2 spin`:n.env.task.status===`done`?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),h(`b`,null,i(n.env.task.kind),1),h(`span`,Ze,i(n.env.task.status),1),n.env.task.status===`running`?(d(),g(`span`,Qe,`· `+i(o.$t(`aml.k1amlx179`)),1)):y(``,!0)]),h(`pre`,$e,i(n.env.task.log.slice(-40).join(`
|
|
2
2
|
`)),1),n.env.task.error?(d(),g(`p`,et,i(n.env.task.error),1)):y(``,!0)])):y(``,!0)]))}}),[[`__scopeId`,`data-v-f2c92c1d`]]),{__name:`AmlEnvPanel`}),nt={class:`aw-tile zone`},rt={class:`zone-head`},it={class:`mono cnt`},at={class:`zone-actions`},ot={key:0,class:`tbl-scroll`},st={class:`tbl tbl-datasets`},ct={class:`num`},lt={class:`num`},ut=[`onClick`],dt={class:`mono dim`},ft={class:`mono`},pt={class:`mono`},mt={class:`mono num`},ht={class:`mono num`},gt={key:0,class:`note-edit`},_t=[`placeholder`,`onKeyup`],vt=[`onClick`],yt={key:1,class:`note-text`},bt=[`title`],xt=[`title`,`onClick`],St=[`title`,`onClick`],Ct={key:0,class:`detail-row`},wt={colspan:`7`},Tt={key:0,class:`dim pad`},Et={key:1,class:`err pad`},Dt={key:2,class:`det-grid`},Ot={class:`det-title`},kt={class:`sub-tbl`},At={class:`num`},jt={class:`num`},Mt={class:`num`},Nt={class:`num`},Pt={class:`num`},Ft={class:`mono`},It={class:`role-chip`},Lt={class:`mono num`},Rt={class:`mono num`},zt={class:`mono num`},Bt={class:`mono num`},Vt={class:`mono num`},Ht={class:`det-title`},Ut={key:0,class:`sub-tbl`},Wt={class:`num`},Gt={class:`num`},Kt={class:`mono`},qt={class:`mono`},Jt={class:`mono num`},Yt={class:`mono num`},Xt={key:1,class:`dim`},Zt={class:`det-title`},Qt={class:`mono dim run-line`},$t={key:3,class:`dim pad`},en={key:1,class:`empty`},tn=Object.assign(k(u({__name:`AmlDatasetTable`,props:v({datasets:{},expandedDs:{},dsDetails:{},noteEditing:{}},{noteDraft:{required:!0},noteDraftModifiers:{}}),emits:v([`toggle`,`reload`,`create`,`editNote`,`saveNote`,`cancelNote`,`remove`],[`update:noteDraft`]),setup(n){let r=c(n,`noteDraft`),{fmtTime:a,fmtNum:o,fmtPct:s,shortId:l}=j();return(c,u)=>(d(),g(`section`,nt,[h(`div`,rt,[h(`h2`,null,[u[6]||=h(`span`,{class:`i-tabler-database`},null,-1),S(` `+i(c.$t(`aml.k1amlx016`))+` `,1),h(`b`,it,i(n.datasets.length),1)]),h(`div`,at,[h(`button`,{class:`mini-btn`,onClick:u[0]||=e=>c.$emit(`reload`)},i(c.$t(`aml.k1amlx017`)),1),h(`button`,{class:`pill-btn`,onClick:u[1]||=e=>c.$emit(`create`)},[u[7]||=h(`span`,{class:`i-tabler-plus`},null,-1),S(` `+i(c.$t(`aml.k1amlx018`)),1)])])]),n.datasets.length?(d(),g(`div`,ot,[h(`table`,st,[h(`thead`,null,[h(`tr`,null,[h(`th`,null,i(c.$t(`aml.k1amlx020`)),1),h(`th`,null,i(c.$t(`aml.k1amlx021`)),1),h(`th`,null,i(c.$t(`aml.k1amlx022`)),1),h(`th`,ct,i(c.$t(`aml.k1amlx023`)),1),h(`th`,lt,i(c.$t(`aml.k1amlx024`)),1),h(`th`,null,i(c.$t(`aml.k1amlx025`)),1),h(`th`,null,i(c.$t(`aml.k1amlx026`)),1)])]),h(`tbody`,null,[(d(!0),g(_,null,f(n.datasets,p=>(d(),g(_,{key:p.id},[h(`tr`,{class:t([`row-main`,{open:n.expandedDs===p.id}]),onClick:e=>c.$emit(`toggle`,p.id)},[h(`td`,dt,i(e(a)(p.createdAt)),1),h(`td`,ft,i(e(l)(p.productId)),1),h(`td`,pt,i(e(l)(p.recipeId)),1),h(`td`,mt,i(p.rowCount),1),h(`td`,ht,i(p.runIds.length),1),h(`td`,null,[S(i(p.createdBy),1),h(`small`,{class:t([`kind`,p.createdByKind])},i(p.createdByKind===`agent`?`Agent`:c.$t(`aml.k1amlx049`)),3)]),h(`td`,{class:`note-cell`,onClick:u[5]||=T(()=>{},[`stop`])},[n.noteEditing===p.id?(d(),g(`div`,gt,[x(h(`input`,{"onUpdate:modelValue":u[2]||=e=>r.value=e,placeholder:c.$t(`aml.k1amlx189`),onKeyup:[w(e=>c.$emit(`saveNote`,p.id),[`enter`]),u[3]||=w(e=>c.$emit(`cancelNote`),[`esc`])]},null,40,_t),[[E,r.value]]),h(`button`,{class:`mini-btn`,onClick:e=>c.$emit(`saveNote`,p.id)},i(c.$t(`aml.k1amlx191`)),9,vt),h(`button`,{class:`mini-btn`,onClick:u[4]||=e=>c.$emit(`cancelNote`)},i(c.$t(`aml.k1amlx202`)),1)])):(d(),g(`span`,yt,[h(`span`,{class:`note`,title:p.note},i(p.note||`--`),9,bt),h(`span`,{class:`i-tabler-pencil edit-i`,title:c.$t(`aml.k1amlx189`),onClick:e=>c.$emit(`editNote`,p.id,p.note)},null,8,xt),h(`span`,{class:`i-tabler-trash edit-i`,title:c.$t(`aml.k1amlx190`),onClick:e=>c.$emit(`remove`,p.id,c.$t(`aml.k1amlx198`))},null,8,St)]))])],10,ut),n.expandedDs===p.id?(d(),g(`tr`,Ct,[h(`td`,wt,[n.dsDetails[p.id]?.loading?(d(),g(`div`,Tt,i(c.$t(`aml.k1amlx030`)),1)):n.dsDetails[p.id]?.error?(d(),g(`div`,Et,i(c.$t(`aml.k1amlx031`))+`:`+i(n.dsDetails[p.id]?.error),1)):n.dsDetails[p.id]?.report?(d(),g(`div`,Dt,[h(`div`,null,[h(`p`,Ot,i(c.$t(`aml.k1amlx027`)),1),h(`table`,kt,[h(`thead`,null,[h(`tr`,null,[h(`th`,null,i(c.$t(`aml.k1amlx033`)),1),h(`th`,null,i(c.$t(`aml.k1amlx034`)),1),h(`th`,At,i(c.$t(`aml.k1amlx035`)),1),h(`th`,jt,i(c.$t(`aml.k1amlx036`)),1),h(`th`,Mt,i(c.$t(`aml.k1amlx037`)),1),h(`th`,Nt,i(c.$t(`aml.k1amlx038`)),1),h(`th`,Pt,i(c.$t(`aml.k1amlx039`)),1)])]),h(`tbody`,null,[(d(!0),g(_,null,f(n.dsDetails[p.id]?.report?.nodeSummaries,t=>(d(),g(`tr`,{key:t.nodeId},[h(`td`,Ft,i(t.nodeId),1),h(`td`,null,[h(`small`,It,i(t.role),1)]),h(`td`,Lt,i(e(s)(t.cleanedRatio)),1),h(`td`,Rt,i(e(s)(t.missingRatio)),1),h(`td`,zt,i(e(o)(t.mean,3)),1),h(`td`,Bt,i(e(o)(t.std,3)),1),h(`td`,Vt,i(e(o)(t.min,2))+`~`+i(e(o)(t.max,2)),1)]))),128))])])]),h(`div`,null,[h(`p`,Ht,i(c.$t(`aml.k1amlx028`)),1),n.dsDetails[p.id]?.report?.lagEstimates.length?(d(),g(`table`,Ut,[h(`thead`,null,[h(`tr`,null,[h(`th`,null,i(c.$t(`aml.k1amlx040`)),1),h(`th`,null,i(c.$t(`aml.k1amlx041`)),1),h(`th`,Wt,i(c.$t(`aml.k1amlx042`)),1),h(`th`,Gt,i(c.$t(`aml.k1amlx043`)),1)])]),h(`tbody`,null,[(d(!0),g(_,null,f(n.dsDetails[p.id]?.report?.lagEstimates,t=>(d(),g(`tr`,{key:`${t.controlId}->${t.targetId}`},[h(`td`,Kt,i(t.controlId),1),h(`td`,qt,i(t.targetId),1),h(`td`,Jt,i(t.lagSteps),1),h(`td`,Yt,i(e(o)(t.corr,3)),1)]))),128))])])):(d(),g(`p`,Xt,i(c.$t(`aml.k1amlx032`)),1)),h(`p`,Zt,i(c.$t(`aml.k1amlx029`)),1),h(`p`,Qt,[S(i(c.$t(`aml.k1amlx044`))+` `,1),h(`b`,null,i(n.dsDetails[p.id]?.report?.runsUsed.length??0),1),S(` · `+i(c.$t(`aml.k1amlx045`))+` `,1),h(`b`,null,i(n.dsDetails[p.id]?.report?.runsDropped.length??0),1),S(` · `+i(c.$t(`aml.k1amlx046`))+` `,1),h(`b`,null,i(n.dsDetails[p.id]?.report?.windowCount.train)+`/`+i(n.dsDetails[p.id]?.report?.windowCount.val)+`/`+i(n.dsDetails[p.id]?.report?.windowCount.test),1)]),(d(!0),g(_,null,f(n.dsDetails[p.id]?.report?.runsDropped,t=>(d(),g(`p`,{key:t.runId,class:`mono drop-line`},` ✗ `+i(e(l)(t.runId))+` — `+i(t.reason),1))),128))])])):(d(),g(`p`,$t,i(c.$t(`aml.k1amlx047`)),1))])])):y(``,!0)],64))),128))])])])):(d(),g(`p`,en,i(c.$t(`aml.k1amlx019`)),1))]))}}),[[`__scopeId`,`data-v-ff727fc7`]]),{__name:`AmlDatasetTable`}),nn={class:`aw-tile zone`},rn={class:`zone-head`},an={class:`mono cnt`},on=[`title`],sn={key:0,class:`tbl-scroll`},cn={class:`tbl tbl-jobs`},ln={class:`prog-th`},un={class:`right`},dn=[`onClick`],fn={class:`mono`},pn={class:`mono dim`},mn={class:`mono dim`},hn={class:`mono dim`},gn={class:`prog-cell`},_n={class:`prog`},vn={class:`mono prog-num`},yn={class:`mono dim`},bn={class:`right acts`},xn=[`disabled`,`onClick`],Sn=[`disabled`,`onClick`],Cn=[`title`,`onClick`],wn={key:0,class:`detail-row`},Tn={colspan:`8`},En={key:0,class:`dim pad`},Dn={key:1,class:`err pad`},On={key:2,class:`det-grid`},kn={class:`det-title`},An={key:0,class:`sub-tbl`},jn={class:`num`},Mn={class:`num`},Nn={class:`mono gate-id`},Pn={class:`dim`},Fn={class:`mono num`},In={class:`mono num dim`},Ln={class:`dim gate-detail`},Rn={key:1,class:`dim`},zn={key:2,class:`mono dim gate-detail`},Bn={key:3,class:`err gate-detail`},Vn={class:`det-title`},Hn={key:0,class:`mono live-hint`},Un={class:`logs`},Wn={key:1,class:`empty`},Gn=Object.assign(k(u({__name:`AmlJobsTable`,props:{jobRows:{},expandedJob:{},jobDetails:{},confirmCancel:{},cancelling:{},confirmRetry:{},retrying:{}},emits:[`toggle`,`reload`,`cancel`,`retry`,`remove`],setup(r){let{fmtTime:a,fmtNum:o,shortId:s,statusLabel:c,isActiveStatus:l,canRetry:u}=j();return(p,m)=>(d(),g(`section`,nn,[h(`div`,rn,[h(`h2`,null,[m[1]||=h(`span`,{class:`i-tabler-brain`},null,-1),S(` `+i(p.$t(`aml.k1amlx074`))+` `,1),h(`b`,an,i(r.jobRows.length),1),r.jobRows.some(t=>e(l)(t.status))?(d(),g(`span`,{key:0,class:`live-dot`,title:p.$t(`aml.k1amlx091`)},null,8,on)):y(``,!0)]),h(`button`,{class:`mini-btn`,onClick:m[0]||=e=>p.$emit(`reload`)},i(p.$t(`aml.k1amlx017`)),1)]),r.jobRows.length?(d(),g(`div`,sn,[h(`table`,cn,[h(`thead`,null,[h(`tr`,null,[h(`th`,null,i(p.$t(`aml.k1amlx076`)),1),h(`th`,null,i(p.$t(`aml.k1amlx011`)),1),h(`th`,null,i(p.$t(`aml.k1amlx066`)),1),h(`th`,null,i(p.$t(`aml.k1amlx077`)),1),h(`th`,null,i(p.$t(`aml.k1amlx078`)),1),h(`th`,ln,i(p.$t(`aml.k1amlx079`)),1),h(`th`,null,i(p.$t(`aml.k1amlx020`)),1),h(`th`,un,i(p.$t(`aml.k1amlx127`)),1)])]),h(`tbody`,null,[(d(!0),g(_,null,f(r.jobRows,m=>(d(),g(_,{key:m.id},[h(`tr`,{class:t([`row-main`,{open:r.expandedJob===m.id}]),onClick:e=>p.$emit(`toggle`,m.id)},[h(`td`,fn,i(e(s)(m.id)),1),h(`td`,pn,i(e(s)(m.datasetId)),1),h(`td`,mn,i(m.purpose),1),h(`td`,null,[h(`span`,{class:t([`st-pill`,m.status])},i(e(c)(m.status)),3)]),h(`td`,hn,i(m.stage||`--`),1),h(`td`,gn,[h(`span`,_n,[h(`i`,{style:n({width:`${Math.max(0,Math.min(100,m.progress))}%`}),class:t({done:m.status===`done`,bad:m.status===`failed`})},null,6)]),h(`span`,vn,i(Math.round(m.progress))+`%`,1)]),h(`td`,yn,i(e(a)(m.createdAt)),1),h(`td`,bn,[e(l)(m.status)?(d(),g(`button`,{key:0,class:`mini-btn danger`,disabled:r.cancelling===m.id,onClick:T(e=>p.$emit(`cancel`,m.id),[`stop`])},i(r.confirmCancel===m.id?p.$t(`aml.k1amlx094`):r.cancelling===m.id?p.$t(`aml.k1amlx093`):p.$t(`aml.k1amlx071`)),9,xn)):y(``,!0),e(u)(m.status)?(d(),g(`button`,{key:1,class:`mini-btn`,disabled:r.retrying===m.id,onClick:T(e=>p.$emit(`retry`,m.id),[`stop`])},i(r.confirmRetry===m.id?p.$t(`aml.k1amlx096`):p.$t(`aml.k1amlx095`)),9,Sn)):y(``,!0),e(l)(m.status)?y(``,!0):(d(),g(`span`,{key:2,class:`i-tabler-trash edit-i`,title:p.$t(`aml.k1amlx190`),onClick:T(e=>p.$emit(`remove`,m.id,p.$t(`aml.k1amlx200`)),[`stop`])},null,8,Cn))])],10,dn),r.expandedJob===m.id?(d(),g(`tr`,wn,[h(`td`,Tn,[r.jobDetails[m.id]?.loading?(d(),g(`div`,En,i(p.$t(`aml.k1amlx030`)),1)):r.jobDetails[m.id]?.error?(d(),g(`div`,Dn,i(r.jobDetails[m.id]?.error),1)):(d(),g(`div`,On,[h(`div`,null,[h(`p`,kn,i(p.$t(`aml.k1amlx083`)),1),r.jobDetails[m.id]?.gates?.checks.length?(d(),g(`table`,An,[h(`thead`,null,[h(`tr`,null,[h(`th`,null,i(p.$t(`aml.k1amlx084`)),1),h(`th`,jn,i(p.$t(`aml.k1amlx085`)),1),h(`th`,Mn,i(p.$t(`aml.k1amlx086`)),1),h(`th`,null,i(p.$t(`aml.k1amlx118`)),1)])]),h(`tbody`,null,[(d(!0),g(_,null,f(r.jobDetails[m.id]?.gates?.checks,n=>(d(),g(`tr`,{key:n.id},[h(`td`,null,[h(`b`,Nn,i(n.id),1),h(`small`,Pn,i(n.name),1)]),h(`td`,Fn,i(e(o)(n.value)),1),h(`td`,In,i(e(o)(n.threshold)),1),h(`td`,null,[h(`span`,{class:t([`verdict`,n.pass?`pass`:`fail`])},i(n.pass?p.$t(`aml.k1amlx087`):p.$t(`aml.k1amlx088`)),3),h(`small`,Ln,i(n.detail),1)])]))),128))])])):(d(),g(`p`,Rn,i(p.$t(`aml.k1amlx082`)),1)),r.jobDetails[m.id]?.metrics?.oneStepTest?(d(),g(`p`,zn,[S(i(p.$t(`aml.k1amlx099`))+`: `+i(p.$t(`aml.k1amlx116`))+` `+i(e(o)(r.jobDetails[m.id]?.metrics?.oneStepTest?.nrmse))+` `,1),r.jobDetails[m.id]?.metrics?.rolloutTest?(d(),g(_,{key:0},[S(` · `+i(p.$t(`aml.k1amlx117`))+` `+i(e(o)(r.jobDetails[m.id]?.metrics?.rolloutTest?.nrmse)),1)],64)):y(``,!0)])):y(``,!0),m.error?(d(),g(`p`,Bn,i(p.$t(`aml.k1amlx092`))+`:`+i(m.error),1)):y(``,!0)]),h(`div`,null,[h(`p`,Vn,[S(i(p.$t(`aml.k1amlx089`))+` `,1),e(l)(m.status)?(d(),g(`span`,Hn,i(p.$t(`aml.k1amlx091`)),1)):y(``,!0)]),h(`pre`,Un,i((r.jobDetails[m.id]?.logs??[]).join(`
|
|
3
3
|
`)||p.$t(`aml.k1amlx090`)),1)])]))])])):y(``,!0)],64))),128))])])])):(d(),g(`p`,Wn,i(p.$t(`aml.k1amlx075`)),1))]))}}),[[`__scopeId`,`data-v-89544017`]]),{__name:`AmlJobsTable`}),Kn={class:`aw-tile zone`},qn={class:`zone-head`},Jn={class:`mono cnt`},Yn={class:`zone-actions`},Xn={value:``},Zn=[`value`],Qn=[`disabled`],$n={key:0,class:`tbl-scroll`},er={class:`tbl tbl-exp`},tr=[`title`],nr=[`title`],rr={class:`mono`},ir={key:0,class:`best-tag`},ar={class:`mono dim`},or={class:`note-cell`},sr=[`title`],cr={class:`mono dim`},lr={class:`mono num`},ur={class:`mono num`},dr={key:1,class:`empty`},fr={key:2,class:`err pad`},pr=Object.assign(k(u({__name:`AmlExperimentsTable`,props:v({datasets:{},experiments:{},bestExpId:{},expError:{}},{expDatasetId:{required:!0},expDatasetIdModifiers:{}}),emits:v([`reload`],[`update:expDatasetId`]),setup(n){let r=c(n,`expDatasetId`),{fmtTime:a,fmtNum:o,shortId:s,expStatusLabel:l}=j();return(c,u)=>(d(),g(`section`,Kn,[h(`div`,qn,[h(`h2`,null,[u[3]||=h(`span`,{class:`i-tabler-trophy`},null,-1),S(` `+i(c.$t(`aml.k1amlx109`))+` `,1),h(`b`,Jn,i(n.experiments.length),1)]),h(`div`,Yn,[x(h(`select`,{"onUpdate:modelValue":u[0]||=e=>r.value=e,class:`inp-sel`,onChange:u[1]||=e=>c.$emit(`reload`)},[h(`option`,Xn,i(c.$t(`aml.k1amlx111`)),1),(d(!0),g(_,null,f(n.datasets,t=>(d(),g(`option`,{key:t.id,value:t.id},i(e(s)(t.id))+` · `+i(e(s)(t.recipeId)),9,Zn))),128))],544),[[C,r.value]]),h(`button`,{class:`mini-btn`,disabled:!r.value,onClick:u[2]||=e=>c.$emit(`reload`)},i(c.$t(`aml.k1amlx017`)),9,Qn)])]),n.experiments.length?(d(),g(`div`,$n,[h(`table`,er,[h(`thead`,null,[h(`tr`,null,[h(`th`,null,i(c.$t(`aml.k1amlx113`)),1),h(`th`,null,i(c.$t(`aml.k1amlx020`)),1),h(`th`,null,i(c.$t(`aml.k1amlx114`)),1),h(`th`,null,i(c.$t(`aml.k1amlx115`)),1),h(`th`,{class:`num`,title:c.$t(`aml.k1amlx121`)},i(c.$t(`aml.k1amlx116`)),9,tr),h(`th`,{class:`num`,title:c.$t(`aml.k1amlx122`)},i(c.$t(`aml.k1amlx117`)),9,nr),h(`th`,null,i(c.$t(`aml.k1amlx118`)),1)])]),h(`tbody`,null,[(d(!0),g(_,null,f(n.experiments,r=>(d(),g(`tr`,{key:r.id,class:t({best:r.id===n.bestExpId})},[h(`td`,rr,[r.id===n.bestExpId?(d(),g(`span`,ir,i(c.$t(`aml.k1amlx120`)),1)):y(``,!0),S(` `+i(e(s)(r.id)),1)]),h(`td`,ar,i(e(a)(r.createdAt)),1),h(`td`,or,[h(`span`,{class:`note`,title:r.changeNote},i(r.changeNote||`--`),9,sr)]),h(`td`,cr,i(r.parentExperimentId?e(s)(r.parentExperimentId):`--`),1),h(`td`,lr,i(e(o)(r.metrics?.oneStepTest?.nrmse)),1),h(`td`,ur,i(e(o)(r.metrics?.rolloutTest?.nrmse)),1),h(`td`,null,[h(`span`,{class:t([`st-pill`,r.status])},i(e(l)(r.status)),3)])],2))),128))])])])):(d(),g(`p`,dr,i(r.value?c.$t(`aml.k1amlx112`):c.$t(`aml.k1amlx110`)),1)),n.expError?(d(),g(`p`,fr,i(n.expError),1)):y(``,!0)]))}}),[[`__scopeId`,`data-v-5b7fda0b`]]),{__name:`AmlExperimentsTable`}),mr={class:`aw-tile zone`},hr={class:`zone-head`},gr={class:`mono cnt`},_r={key:0,class:`tbl-scroll`},vr={class:`tbl tbl-models`},yr=[`title`],br={class:`right`},xr={class:`mono`},Sr=[`title`],Cr={class:`label-text`},wr={class:`mono dim`},Tr={class:`mono dim`},Er={class:`mono dim`},Dr={class:`mono dim`},Or={key:0,class:`note-edit`},kr=[`placeholder`,`onKeyup`],Ar=[`onClick`],jr={key:1,class:`note-text`},Mr=[`title`],Nr=[`title`,`onClick`],Pr={class:`right acts`},Fr=[`disabled`,`onClick`],Ir={key:0,class:`dim`},Lr=[`title`,`onClick`],Rr={key:1,class:`empty`},zr=Object.assign(k(u({__name:`AmlModelsTable`,props:v({models:{},noteEditing:{},confirmPromote:{},promoting:{}},{noteDraft:{required:!0},noteDraftModifiers:{}}),emits:v([`reload`,`editNote`,`saveNote`,`cancelNote`,`promote`,`remove`],[`update:noteDraft`]),setup(n){let r=c(n,`noteDraft`),{fmtTime:a,fmtNum:o,shortId:s}=j();return(c,l)=>(d(),g(`section`,mr,[h(`div`,hr,[h(`h2`,null,[l[5]||=h(`span`,{class:`i-tabler-cube-3d-sphere`},null,-1),S(` `+i(c.$t(`aml.k1amlx123`))+` `,1),h(`b`,gr,i(n.models.length),1)]),h(`button`,{class:`mini-btn`,onClick:l[0]||=e=>c.$emit(`reload`)},i(c.$t(`aml.k1amlx017`)),1)]),n.models.length?(d(),g(`div`,_r,[h(`table`,vr,[h(`thead`,null,[h(`tr`,null,[h(`th`,null,i(c.$t(`aml.k1amlx125`)),1),h(`th`,null,i(c.$t(`aml.k1amlx204`)),1),h(`th`,null,i(c.$t(`aml.k1amlx021`)),1),h(`th`,null,i(c.$t(`aml.k1amlx022`)),1),h(`th`,null,i(c.$t(`aml.k1amlx078`)),1),h(`th`,{title:c.$t(`aml.k1amlx126`)},i(c.$t(`aml.k1amlx099`)),9,yr),h(`th`,null,i(c.$t(`aml.k1amlx020`)),1),h(`th`,null,i(c.$t(`aml.k1amlx026`)),1),h(`th`,br,i(c.$t(`aml.k1amlx127`)),1)])]),h(`tbody`,null,[(d(!0),g(_,null,f(n.models,u=>(d(),g(`tr`,{key:u.id},[h(`td`,xr,i(e(s)(u.id)),1),h(`td`,{class:`label-cell`,title:u.description||u.label},[h(`span`,Cr,i(u.label||`--`),1)],8,Sr),h(`td`,wr,i(e(s)(u.productId)),1),h(`td`,Tr,i(e(s)(u.recipeId)),1),h(`td`,null,[h(`span`,{class:t([`stage-pill`,u.stage])},i(u.stage),3)]),h(`td`,Er,i(c.$t(`aml.k1amlx116`))+` `+i(e(o)(u.metrics?.oneStepTest?.nrmse))+` · `+i(c.$t(`aml.k1amlx117`))+` `+i(e(o)(u.metrics?.rolloutTest?.nrmse)),1),h(`td`,Dr,i(e(a)(u.createdAt)),1),h(`td`,{class:`note-cell`,onClick:l[4]||=T(()=>{},[`stop`])},[n.noteEditing===u.id?(d(),g(`div`,Or,[x(h(`input`,{"onUpdate:modelValue":l[1]||=e=>r.value=e,placeholder:c.$t(`aml.k1amlx189`),onKeyup:[w(e=>c.$emit(`saveNote`,u.id),[`enter`]),l[2]||=w(e=>c.$emit(`cancelNote`),[`esc`])]},null,40,kr),[[E,r.value]]),h(`button`,{class:`mini-btn`,onClick:e=>c.$emit(`saveNote`,u.id)},i(c.$t(`aml.k1amlx191`)),9,Ar),h(`button`,{class:`mini-btn`,onClick:l[3]||=e=>c.$emit(`cancelNote`)},i(c.$t(`aml.k1amlx202`)),1)])):(d(),g(`span`,jr,[h(`span`,{class:`note`,title:u.note},i(u.note||`--`),9,Mr),h(`span`,{class:`i-tabler-pencil edit-i`,title:c.$t(`aml.k1amlx189`),onClick:e=>c.$emit(`editNote`,u.id,u.note)},null,8,Nr)]))]),h(`td`,Pr,[(d(!0),g(_,null,f(e(A)(u),e=>(d(),g(`button`,{key:e.to,class:t([`mini-btn`,{danger:e.to===`retired`}]),disabled:n.promoting===`${u.id}:${e.to}`,onClick:t=>c.$emit(`promote`,u,e.to)},i(n.confirmPromote===`${u.id}:${e.to}`?c.$t(`aml.k1amlx131`):c.$t(e.key)),11,Fr))),128)),e(A)(u).length===0?(d(),g(`span`,Ir,`--`)):y(``,!0),h(`span`,{class:`i-tabler-trash edit-i`,title:c.$t(`aml.k1amlx190`),onClick:e=>c.$emit(`remove`,u.id,c.$t(`aml.k1amlx199`))},null,8,Lr)])]))),128))])])])):(d(),g(`p`,Rr,i(c.$t(`aml.k1amlx124`)),1))]))}}),[[`__scopeId`,`data-v-e42319a9`]]),{__name:`AmlModelsTable`}),Br={class:`aw-tile zone`},Vr={class:`zone-head`},Hr={value:``},Ur=[`value`],Wr={key:0,class:`pc-body`},Gr={class:`det-title`},Kr={class:`io-grid mono`},qr={class:`io-item`},Jr={class:`io-item`},Yr={class:`io-item`},Xr=[`title`],Zr=[`title`],Qr=[`title`],$r={class:`pc-form`},ei={class:`pc-field`},ti=[`placeholder`],ni={class:`pc-side`},ri={class:`pc-field`},ii={class:`pc-field`},ai=[`disabled`],oi={class:`hint dim`},si={key:0,class:`err`},ci={class:`det-title`},li={class:`sub-tbl`},ui={class:`num`},di={class:`num`},fi={key:0,class:`dim`},pi={class:`mono num`},mi={class:`mono num dim`},hi={class:`mono dim gate-detail`},gi={key:1,class:`empty`},_i={key:1,class:`empty`},vi=Object.assign(k(u({__name:`AmlPredictConsole`,props:{models:{}},setup(t){let n=t,{productionModels:r,predModelId:o,predModel:s,predHistory:c,predControls:l,predSteps:u,predBusy:p,predError:m,predResult:v,onPullLatest:b,doPredict:w}=M(()=>n.models),{fmtNum:T,shortId:D}=j();return(t,n)=>(d(),g(`section`,Br,[h(`div`,Vr,[h(`h2`,null,[n[6]||=h(`span`,{class:`i-tabler-chart-line`},null,-1),S(` `+i(t.$t(`aml.k1amlx133`)),1)]),e(r).length?x((d(),g(`select`,{key:0,"onUpdate:modelValue":n[0]||=e=>a(o)?o.value=e:null,class:`inp-sel`},[h(`option`,Hr,i(t.$t(`aml.k1amlx134`)),1),(d(!0),g(_,null,f(e(r),t=>(d(),g(`option`,{key:t.id,value:t.id},i(e(D)(t.id))+` · `+i(e(D)(t.recipeId)),9,Ur))),128))],512)),[[C,e(o)]]):y(``,!0)]),e(r).length?(d(),g(_,{key:0},[e(s)?.ioSpec?(d(),g(`div`,Wr,[h(`p`,Gr,i(t.$t(`aml.k1amlx136`)),1),h(`div`,Kr,[h(`span`,qr,[S(i(t.$t(`aml.k1amlx140`))+` `,1),h(`b`,null,i(e(s).ioSpec.historySteps),1)]),h(`span`,Jr,[S(i(t.$t(`aml.k1amlx141`))+` `,1),h(`b`,null,i(e(s).ioSpec.horizonSteps),1)]),h(`span`,Yr,[S(i(t.$t(`aml.k1amlx142`))+` `,1),h(`b`,null,i(e(s).ioSpec.beatMs)+`ms`,1)]),h(`span`,{class:`io-item`,title:e(s).ioSpec.allNodes.join(`, `)},[S(i(t.$t(`aml.k1amlx137`))+`(`+i(e(s).ioSpec.allNodes.length)+`) `,1),h(`b`,null,i(e(s).ioSpec.allNodes.map(t=>e(D)(t)).join(`, `)),1)],8,Xr),h(`span`,{class:`io-item`,title:e(s).ioSpec.controlNodes.join(`, `)},[S(i(t.$t(`aml.k1amlx138`))+` `,1),h(`b`,null,i(e(s).ioSpec.controlNodes.map(t=>e(D)(t)).join(`, `)),1)],8,Zr),h(`span`,{class:`io-item`,title:e(s).ioSpec.targetNodes.join(`, `)},[S(i(t.$t(`aml.k1amlx139`))+` `,1),h(`b`,null,i(e(s).ioSpec.targetNodes.map(t=>e(D)(t)).join(`, `)),1)],8,Qr)]),h(`div`,$r,[h(`label`,ei,[h(`span`,null,i(t.$t(`aml.k1amlx143`)),1),x(h(`textarea`,{"onUpdate:modelValue":n[1]||=e=>a(c)?c.value=e:null,class:`inp area`,rows:`5`,placeholder:t.$t(`aml.k1amlx144`)},null,8,ti),[[E,e(c)]])]),h(`div`,ni,[h(`button`,{class:`ghost-btn`,onClick:n[2]||=(...t)=>e(b)&&e(b)(...t)},[n[7]||=h(`span`,{class:`i-tabler-download`},null,-1),S(` `+i(t.$t(`aml.k1amlx145`)),1)]),h(`label`,ri,[h(`span`,null,i(t.$t(`aml.k1amlx156`)),1),x(h(`textarea`,{"onUpdate:modelValue":n[3]||=e=>a(l)?l.value=e:null,class:`inp area`,rows:`3`,placeholder:`[[…]]`},null,512),[[E,e(l)]])]),h(`label`,ii,[h(`span`,null,i(t.$t(`aml.k1amlx147`)),1),x(h(`input`,{"onUpdate:modelValue":n[4]||=e=>a(u)?u.value=e:null,type:`number`,min:`1`,class:`inp`},null,512),[[E,e(u),void 0,{number:!0}]])]),h(`button`,{class:`pill-btn`,disabled:e(p)||!e(c).trim(),onClick:n[5]||=(...t)=>e(w)&&e(w)(...t)},i(e(p)?t.$t(`aml.k1amlx149`):t.$t(`aml.k1amlx148`)),9,ai)])]),h(`p`,oi,i(t.$t(`aml.k1amlx146`)),1),e(m)?(d(),g(`p`,si,i(e(m)),1)):y(``,!0),e(v)?(d(),g(_,{key:1},[h(`p`,ci,i(t.$t(`aml.k1amlx150`)),1),h(`table`,li,[h(`thead`,null,[h(`tr`,null,[h(`th`,ui,i(t.$t(`aml.k1amlx151`)),1),h(`th`,di,i(t.$t(`aml.k1amlx152`)),1),(d(!0),g(_,null,f(e(v).targetNodes,(n,r)=>(d(),g(`th`,{key:n,class:`num`},[S(i(e(D)(n)),1),r===0?(d(),g(`small`,fi,` (`+i(t.$t(`aml.k1amlx041`))+`)`,1)):y(``,!0)]))),128))])]),h(`tbody`,null,[(d(!0),g(_,null,f(e(v).forecast,(t,n)=>(d(),g(`tr`,{key:n},[h(`td`,pi,i(n+1),1),h(`td`,mi,i(e(T)((n+1)*e(v).beatMs/1e3,1)),1),(d(!0),g(_,null,f(t,(t,n)=>(d(),g(`td`,{key:n,class:`mono num`},i(e(T)(t,3)),1))),128))]))),128))])]),h(`p`,hi,i(t.$t(`aml.k1amlx155`))+`:`+i(e(v).assumptions),1)],64)):y(``,!0)])):(d(),g(`p`,gi,i(t.$t(`aml.k1amlx134`)),1))],64)):(d(),g(`p`,_i,i(t.$t(`aml.k1amlx135`)),1))]))}}),[[`__scopeId`,`data-v-57c9a30a`]]),{__name:`AmlPredictConsole`}),yi={class:`modal`},bi={class:`m-title`},xi={class:`f-grid`},Si={class:`f`},Ci={class:`f`},wi={class:`f`},Ti={class:`sec-label`},Ei={class:`node-rows`},Di=[`onUpdate:modelValue`,`placeholder`],Oi=[`onUpdate:modelValue`],ki={value:`control`},Ai={value:`feature`},ji={value:`target`},Mi=[`disabled`,`onClick`],Ni={class:`f-grid`},Pi={class:`f`},Fi={class:`f`},Ii={class:`f`},Li={class:`f`},Ri={class:`f`},zi={class:`f`},Bi={class:`f`},Vi={value:`mpc_surrogate`},Hi={value:`quality_predict`},Ui={class:`f wide`},Wi=[`placeholder`],Gi={key:0,class:`m-err`},Ki={class:`m-actions`},qi=[`disabled`],Ji=Object.assign(k(u({__name:`AmlDatasetFormModal`,props:{open:{type:Boolean,required:!0},openModifiers:{}},emits:v([`created`],[`update:open`]),setup(e,{emit:t}){let n=t,a=c(e,`open`),{t:s}=ee(),{shortId:l}=j(),u=o(!1),p=o(``),v=r({lineId:``,productId:``,recipeId:``,beatMs:5e3,historySteps:60,horizonSteps:30,valRatio:.15,testRatio:.15,seed:7,purpose:`mpc_surrogate`,note:``}),b=r([{nodeId:``,role:`control`},{nodeId:``,role:`target`}]);m(a,e=>{e&&(p.value=``)});function w(){b.push({nodeId:``,role:`feature`})}function D(e){b.splice(e,1)}async function O(){p.value=``;let e=b.filter(e=>e.nodeId.trim()).map(e=>({nodeId:e.nodeId.trim(),role:e.role}));if(!v.lineId.trim()||!v.productId.trim()||!v.recipeId.trim()){p.value=s(`aml.k1amlx161`);return}if(e.length<2||!e.some(e=>e.role===`target`)){p.value=s(`aml.k1amlx054`);return}u.value=!0;try{let t=await ie(`/datasets`,{method:`POST`,body:JSON.stringify({lineId:v.lineId.trim(),productId:v.productId.trim(),recipeId:v.recipeId.trim(),nodes:e,beatMs:Number(v.beatMs),window:{historySteps:Number(v.historySteps),horizonSteps:Number(v.horizonSteps)},split:{valRatio:Number(v.valRatio),testRatio:Number(v.testRatio),seed:Number(v.seed)},purpose:v.purpose,note:v.note.trim()||void 0})});te.success(s(`aml.k1amlx073`,{p0:l(t.dataset.id),p1:t.dataset.rowCount})),a.value=!1,n(`created`)}catch(e){p.value=re(e)}finally{u.value=!1}}return(e,t)=>a.value?(d(),g(`div`,{key:0,class:`modal-mask`,onClick:t[12]||=T(e=>a.value=!1,[`self`])},[h(`div`,yi,[h(`h3`,bi,i(e.$t(`aml.k1amlx050`)),1),h(`div`,xi,[h(`label`,Si,[h(`span`,null,[S(i(e.$t(`aml.k1amlx051`)),1),t[13]||=h(`em`,null,`*`,-1)]),x(h(`input`,{"onUpdate:modelValue":t[0]||=e=>v.lineId=e,class:`inp`,placeholder:`line-ov-01`},null,512),[[E,v.lineId]])]),h(`label`,Ci,[h(`span`,null,[S(i(e.$t(`aml.k1amlx052`)),1),t[14]||=h(`em`,null,`*`,-1)]),x(h(`input`,{"onUpdate:modelValue":t[1]||=e=>v.productId=e,class:`inp`},null,512),[[E,v.productId]])]),h(`label`,wi,[h(`span`,null,[S(i(e.$t(`aml.k1amlx053`)),1),t[15]||=h(`em`,null,`*`,-1)]),x(h(`input`,{"onUpdate:modelValue":t[2]||=e=>v.recipeId=e,class:`inp`},null,512),[[E,v.recipeId]])])]),h(`p`,Ti,i(e.$t(`aml.k1amlx054`)),1),h(`div`,Ei,[(d(!0),g(_,null,f(b,(t,n)=>(d(),g(`div`,{key:n,class:`node-row`},[x(h(`input`,{"onUpdate:modelValue":e=>t.nodeId=e,class:`inp grow`,placeholder:e.$t(`aml.k1amlx056`)},null,8,Di),[[E,t.nodeId]]),x(h(`select`,{"onUpdate:modelValue":e=>t.role=e,class:`inp sel`},[h(`option`,ki,i(e.$t(`aml.k1amlx057`)),1),h(`option`,Ai,i(e.$t(`aml.k1amlx058`)),1),h(`option`,ji,i(e.$t(`aml.k1amlx059`)),1)],8,Oi),[[C,t.role]]),h(`button`,{class:`mini-btn danger`,disabled:b.length<=1,onClick:e=>D(n)},` ✕ `,8,Mi)]))),128)),h(`button`,{class:`mini-btn`,onClick:w},[t[16]||=h(`span`,{class:`i-tabler-plus`},null,-1),S(` `+i(e.$t(`aml.k1amlx055`)),1)])]),h(`div`,Ni,[h(`label`,Pi,[h(`span`,null,i(e.$t(`aml.k1amlx060`)),1),x(h(`input`,{"onUpdate:modelValue":t[3]||=e=>v.beatMs=e,type:`number`,min:`1000`,step:`500`,class:`inp`},null,512),[[E,v.beatMs,void 0,{number:!0}]])]),h(`label`,Fi,[h(`span`,null,i(e.$t(`aml.k1amlx061`)),1),x(h(`input`,{"onUpdate:modelValue":t[4]||=e=>v.historySteps=e,type:`number`,min:`1`,class:`inp`},null,512),[[E,v.historySteps,void 0,{number:!0}]])]),h(`label`,Ii,[h(`span`,null,i(e.$t(`aml.k1amlx062`)),1),x(h(`input`,{"onUpdate:modelValue":t[5]||=e=>v.horizonSteps=e,type:`number`,min:`1`,class:`inp`},null,512),[[E,v.horizonSteps,void 0,{number:!0}]])]),h(`label`,Li,[h(`span`,null,i(e.$t(`aml.k1amlx063`)),1),x(h(`input`,{"onUpdate:modelValue":t[6]||=e=>v.valRatio=e,type:`number`,min:`0`,max:`0.8`,step:`0.05`,class:`inp`},null,512),[[E,v.valRatio,void 0,{number:!0}]])]),h(`label`,Ri,[h(`span`,null,i(e.$t(`aml.k1amlx064`)),1),x(h(`input`,{"onUpdate:modelValue":t[7]||=e=>v.testRatio=e,type:`number`,min:`0`,max:`0.8`,step:`0.05`,class:`inp`},null,512),[[E,v.testRatio,void 0,{number:!0}]])]),h(`label`,zi,[h(`span`,null,i(e.$t(`aml.k1amlx065`)),1),x(h(`input`,{"onUpdate:modelValue":t[8]||=e=>v.seed=e,type:`number`,class:`inp`},null,512),[[E,v.seed,void 0,{number:!0}]])]),h(`label`,Bi,[h(`span`,null,i(e.$t(`aml.k1amlx066`)),1),x(h(`select`,{"onUpdate:modelValue":t[9]||=e=>v.purpose=e,class:`inp`},[h(`option`,Vi,i(e.$t(`aml.k1amlx067`)),1),h(`option`,Hi,i(e.$t(`aml.k1amlx068`)),1)],512),[[C,v.purpose]])]),h(`label`,Ui,[h(`span`,null,i(e.$t(`aml.k1amlx026`)),1),x(h(`input`,{"onUpdate:modelValue":t[10]||=e=>v.note=e,class:`inp`,placeholder:e.$t(`aml.k1amlx069`)},null,8,Wi),[[E,v.note]])])]),p.value?(d(),g(`p`,Gi,i(p.value),1)):y(``,!0),h(`div`,Ki,[h(`button`,{class:`ghost-btn`,onClick:t[11]||=e=>a.value=!1},i(e.$t(`aml.k1amlx071`)),1),h(`button`,{class:`pill-btn`,disabled:u.value,onClick:O},i(u.value?e.$t(`aml.k1amlx070`):e.$t(`aml.k1amlx072`)),9,qi)])])])):y(``,!0)}}),[[`__scopeId`,`data-v-5ac31f7e`]]),{__name:`AmlDatasetFormModal`}),Yi={class:`page`},Xi=k(u({__name:`index`,setup(t){let{t:n}=ee();he({layout:`default`}),D({title:()=>n(`aml.k1amlx160`)});let{overview:r,overviewError:i,env:c,envBusy:u,inventory:f,pythonText:h,venvText:_,uvText:v,uvSourceText:x,blockerText:S,rootSourceLabel:C,loadOverview:w,loadEnv:T,loadInventory:E,startEnvPoll:te,stopEnvPoll:k,installUv:re,createVenv:ie,recheckEnv:A,pruneOrphans:j}=le(),{datasets:M,expandedDs:_e,dsDetails:ve,loadDatasets:N,toggleDs:ye}=ae(),{jobRows:P,jobDetails:xe,expandedJob:F,confirmCancel:Se,cancelling:we,confirmRetry:Te,retrying:Ee,loadJobs:I,toggleJob:De,refreshJobLogs:Oe,onCancelJob:L,onRetryJob:R}=fe(),{expDatasetId:z,experiments:B,expError:V,bestExpId:Ae,loadExperiments:je}=ue(),{models:H,confirmPromote:Me,promoting:Ne,loadModels:U,onPromote:Pe}=pe({reloadOverview:w}),{noteEditing:W,noteDraft:G,startEditNote:K,cancelEditNote:q,saveNote:J}=me({reloadDatasets:N,reloadModels:U}),{removeEntity:Y}=oe({reloadDatasets:N,reloadModels:U,reloadJobs:I,reloadOverview:w,reloadInventory:E}),X=o(!1);function Fe(){w(),T(),E(),N(),I(),U()}let Z=de(),Ie=ne(),Q=null,$=null;return l(()=>{Ie.ensureConnected(),Q=Z.ensure(),w(),T(),E(),N(),I(),U(),(c.value?.task?.status??r.value?.env?.task?.status)===`running`&&(u.value=!0,te()),ge(()=>{w(),I()},8e3,{bgMs:3e4}),$=O(()=>{let e=F.value;if(!e||document.hidden)return;let t=P.value.find(t=>t.id===e);t&&se(t.status)&&Oe(e)},5e3)}),s(()=>{Q?.(),$&&clearInterval($),k()}),m(()=>Z.lastJob.value,e=>{e&&ce(e.status)&&I()}),m(()=>Z.lastModel.value,()=>{U()}),m(()=>Z.lastDataset.value,()=>{N()}),(t,n)=>(d(),g(`div`,Yi,[p(be,{overview:e(r),env:e(c),"python-text":e(h),"venv-text":e(_),"uv-text":e(v)},null,8,[`overview`,`env`,`python-text`,`venv-text`,`uv-text`]),p(Ce,{overview:e(r)},null,8,[`overview`]),p(ke,{overview:e(r),"overview-error":e(i),"python-text":e(h),"venv-text":e(_),onReload:Fe},null,8,[`overview`,`overview-error`,`python-text`,`venv-text`]),e(c)?(d(),b(tt,{key:0,env:e(c),inventory:e(f),"env-busy":e(u),"uv-text":e(v),"uv-source-text":e(x),"blocker-text":e(S),"root-source-label":e(C),onRecheck:e(A),onInstallUv:e(re),onCreateVenv:e(ie),onPrune:e(j)},null,8,[`env`,`inventory`,`env-busy`,`uv-text`,`uv-source-text`,`blocker-text`,`root-source-label`,`onRecheck`,`onInstallUv`,`onCreateVenv`,`onPrune`])):y(``,!0),p(tn,{"note-draft":e(G),"onUpdate:noteDraft":n[0]||=e=>a(G)?G.value=e:null,datasets:e(M),"expanded-ds":e(_e),"ds-details":e(ve),"note-editing":e(W),onToggle:e(ye),onReload:e(N),onCreate:n[1]||=e=>X.value=!0,onEditNote:e(K),onSaveNote:n[2]||=t=>e(J)(`datasets`,t),onCancelNote:e(q),onRemove:n[3]||=(t,n)=>e(Y)(`datasets`,t,n)},null,8,[`note-draft`,`datasets`,`expanded-ds`,`ds-details`,`note-editing`,`onToggle`,`onReload`,`onEditNote`,`onCancelNote`]),p(Gn,{"job-rows":e(P),"expanded-job":e(F),"job-details":e(xe),"confirm-cancel":e(Se),cancelling:e(we),"confirm-retry":e(Te),retrying:e(Ee),onToggle:e(De),onReload:e(I),onCancel:e(L),onRetry:e(R),onRemove:n[4]||=(t,n)=>e(Y)(`jobs`,t,n)},null,8,[`job-rows`,`expanded-job`,`job-details`,`confirm-cancel`,`cancelling`,`confirm-retry`,`retrying`,`onToggle`,`onReload`,`onCancel`,`onRetry`]),p(pr,{"exp-dataset-id":e(z),"onUpdate:expDatasetId":n[5]||=e=>a(z)?z.value=e:null,datasets:e(M),experiments:e(B),"best-exp-id":e(Ae),"exp-error":e(V),onReload:e(je)},null,8,[`exp-dataset-id`,`datasets`,`experiments`,`best-exp-id`,`exp-error`,`onReload`]),p(zr,{"note-draft":e(G),"onUpdate:noteDraft":n[6]||=e=>a(G)?G.value=e:null,models:e(H),"note-editing":e(W),"confirm-promote":e(Me),promoting:e(Ne),onReload:e(U),onEditNote:e(K),onSaveNote:n[7]||=t=>e(J)(`models`,t),onCancelNote:e(q),onPromote:e(Pe),onRemove:n[8]||=(t,n)=>e(Y)(`models`,t,n)},null,8,[`note-draft`,`models`,`note-editing`,`confirm-promote`,`promoting`,`onReload`,`onEditNote`,`onCancelNote`,`onPromote`]),p(vi,{models:e(H)},null,8,[`models`]),p(Ji,{open:X.value,"onUpdate:open":n[9]||=e=>X.value=e,onCreated:e(N)},null,8,[`open`,`onCreated`])]))}}),[[`__scopeId`,`data-v-68be5b34`]]);export{Xi as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{N as e,dt as t,mt as n,v as r}from"./CavpkQb0.js";import{Q as i,R as a,S as o,V as s,W as c,b as l,f as u,h as d,i as f,k as p,m,rt as h,y as g}from"./ByMj6e7s.js";import{c as _,d as v,l as y}from"./goF_oZHF.js";import{t as b}from"./BDNMzG2s2.js";import{t as x}from"./ClEbKcuS.js";import{t as ee}from"./
|
|
1
|
+
import{N as e,dt as t,mt as n,v as r}from"./CavpkQb0.js";import{Q as i,R as a,S as o,V as s,W as c,b as l,f as u,h as d,i as f,k as p,m,rt as h,y as g}from"./ByMj6e7s.js";import{c as _,d as v,l as y}from"./goF_oZHF.js";import{t as b}from"./BDNMzG2s2.js";import{t as x}from"./ClEbKcuS.js";import{t as ee}from"./DG0esyZR.js";import{t as S}from"./M58CVYnv.js";import{t as C}from"./ChN5v-i22.js";import{a as w,i as T,n as E,r as D,t as O}from"./D_hCLbi9.js";var k={class:`aw-page-head`},A={class:`sub`},j={class:`head-actions`},M=[`title`],N={class:`live-txt mono`},P=Object.assign(b(o({__name:`OperationsPageHead`,props:{recentCount:{}},setup(e){return(t,r)=>(s(),d(`header`,k,[u(`div`,null,[r[0]||=u(`p`,{class:`aw-kicker`},` agentworkshop / line operations `,-1),u(`h1`,null,n(t.$t(`operations.title`)),1),u(`p`,A,n(t.$t(`operations.sub`)),1)]),u(`div`,j,[u(`span`,{class:`live-dot`,title:t.$t(`operations.liveHint`)},null,8,M),u(`span`,N,n(t.$t(`operations.live`))+` `+n(e.recentCount),1)])]))}}),[[`__scopeId`,`data-v-800abe93`]]),{__name:`OperationsPageHead`}),F={class:`filter-card`},I={class:`flt`},L={value:``},R=[`value`],z={class:`flt`},B={value:``},V=[`value`],H={class:`flt`},U={value:``},W={value:`agent`},G={value:`user`},te={value:`system`},K={class:`flt flt-grow`},q=[`placeholder`],J=[`disabled`],Y=Object.assign(b(o({__name:`OperationsFilterCard`,props:p({hasFilter:{type:Boolean},loading:{type:Boolean}},{lineId:{required:!0},lineIdModifiers:{},actorKind:{required:!0},actorKindModifiers:{},kind:{required:!0},kindModifiers:{},text:{required:!0},textModifiers:{}}),emits:p([`query`,`reset`],[`update:lineId`,`update:actorKind`,`update:kind`,`update:text`]),setup(t){let r=i(t,`lineId`),a=i(t,`actorKind`),o=i(t,`kind`),l=i(t,`text`),{lines:p}=S();return(i,b)=>(s(),d(`section`,F,[u(`label`,I,[u(`span`,null,n(i.$t(`operations.fLine`)),1),h(u(`select`,{"onUpdate:modelValue":b[0]||=e=>r.value=e,class:`inp-sel`},[u(`option`,L,n(i.$t(`operations.all`)),1),(s(!0),d(f,null,c(e(p),e=>(s(),d(`option`,{key:e.id,value:e.id},n(e.name),9,R))),128))],512),[[_,r.value]])]),u(`label`,z,[u(`span`,null,n(i.$t(`operations.fKind`)),1),h(u(`select`,{"onUpdate:modelValue":b[1]||=e=>o.value=e,class:`inp-sel`},[u(`option`,B,n(i.$t(`operations.all`)),1),(s(!0),d(f,null,c(e(E),e=>(s(),d(`option`,{key:e,value:e},n(i.$t(`operations.cat.${e}`)),9,V))),128))],512),[[_,o.value]])]),u(`label`,H,[u(`span`,null,n(i.$t(`operations.fSource`)),1),h(u(`select`,{"onUpdate:modelValue":b[2]||=e=>a.value=e,class:`inp-sel`},[u(`option`,U,n(i.$t(`operations.all`)),1),u(`option`,W,n(i.$t(`operations.actorAgent`)),1),u(`option`,G,n(i.$t(`operations.actorUser`)),1),u(`option`,te,n(i.$t(`operations.actorSystem`)),1)],512),[[_,a.value]])]),u(`label`,K,[u(`span`,null,n(i.$t(`operations.fKeyword`)),1),h(u(`input`,{"onUpdate:modelValue":b[3]||=e=>l.value=e,class:`inp-sel`,type:`search`,placeholder:i.$t(`operations.fKeywordPh`),onKeydown:b[4]||=v(e=>i.$emit(`query`),[`enter`])},null,40,q),[[y,l.value]])]),u(`button`,{class:`pill-btn`,disabled:t.loading,onClick:b[5]||=e=>i.$emit(`query`)},[b[7]||=u(`span`,{class:`i-tabler-search`},null,-1),g(` `+n(i.$t(`operations.query`)),1)],8,J),t.hasFilter?(s(),d(`button`,{key:0,class:`mini-btn`,onClick:b[6]||=e=>i.$emit(`reset`)},n(i.$t(`operations.reset`)),1)):m(``,!0)]))}}),[[`__scopeId`,`data-v-7598a15a`]]),{__name:`OperationsFilterCard`}),X={class:`ops-stream`},Z={key:0,class:`stream-stats`},Q={class:`mono`},ne={key:1,class:`stream-state error`},re={key:2,class:`stream-state`},ie={key:3,class:`stream-state`},ae={key:4,class:`stream-list`},oe=[`disabled`,`onClick`],se={class:`op-icon`},ce={class:`op-body`},le={class:`op-top`},ue={class:`op-cat`},de={class:`op-summary`},fe={class:`op-sub`},pe={key:0,class:`op-diff mono`},$={key:0},me={key:2,class:`op-diff-bad`},he={class:`op-action mono`},ge={class:`op-time mono`},_e={key:0,class:`op-detail mono`},ve=Object.assign(b(o({__name:`OperationsTimeline`,props:{rows:{},loading:{type:Boolean},error:{}},setup(i){let a=i,o=r(null);function l(e){o.value=o.value===e.id?null:e.id}function p(e){return D(e)}function h(e){if(!e.detailJson)return``;try{return JSON.stringify(JSON.parse(e.detailJson),null,2)}catch{return e.detailJson}}let _=[`write`,`daq`,`aml`,`recipe`,`rollback`,`alarm`,`line`,`manual`,`system`];function v(){let e={};for(let t of a.rows){let n=p(t);e[n]=(e[n]??0)+1}return _.filter(t=>e[t]).map(t=>({key:t,count:e[t]??0}))}return(r,a)=>(s(),d(`section`,X,[i.rows.length>0?(s(),d(`div`,Z,[(s(!0),d(f,null,c(v(),i=>(s(),d(`div`,{key:i.key,class:t([`stream-stat`,i.key])},[u(`span`,{class:t(e(O)[i.key])},null,2),u(`b`,Q,n(i.count),1),u(`small`,null,n(r.$t(`operations.cat.${i.key}`)),1)],2))),128))])):m(``,!0),i.error?(s(),d(`div`,ne,[a[0]||=u(`span`,{class:`i-tabler-alert-circle`},null,-1),g(` `+n(i.error),1)])):i.loading&&i.rows.length===0?(s(),d(`div`,re,[a[1]||=u(`span`,{class:`i-tabler-loader-2 spin`},null,-1),g(` `+n(r.$t(`operations.loading`)),1)])):i.rows.length===0?(s(),d(`div`,ie,[a[2]||=u(`span`,{class:`i-tabler-activity-heartbeat`},null,-1),g(` `+n(r.$t(`operations.empty`)),1)])):(s(),d(`ol`,ae,[(s(!0),d(f,null,c(i.rows,i=>(s(),d(`li`,{key:`${i.id}-${i.at}-${i.action}`,class:t([`op-row`,[p(i),{open:o.value===i.id}]])},[u(`button`,{class:`op-main`,disabled:!i.detailJson,onClick:e=>l(i)},[u(`span`,se,[u(`span`,{class:t(e(O)[p(i)])},null,2)]),u(`span`,ce,[u(`span`,le,[u(`span`,ue,n(r.$t(`operations.cat.${p(i)}`)),1),u(`span`,de,n(i.summary||i.action),1)]),u(`span`,fe,[u(`span`,{class:t([`op-actor`,i.actorKind])},n(i.actorKind===`agent`?r.$t(`operations.actorAgent`):i.actorKind===`user`?r.$t(`operations.actorUser`):r.$t(`operations.actorSystem`))+` · `+n(i.actorName),3),e(T)(i)?(s(),d(`span`,pe,[e(T)(i).prev==null?m(``,!0):(s(),d(`del`,$,n(e(T)(i).prev),1)),e(T)(i).prev==null?m(``,!0):(s(),d(f,{key:1},[g(` → `)],64)),u(`ins`,null,n(e(T)(i).next),1),e(T)(i).ok?m(``,!0):(s(),d(`span`,me,`✕`))])):m(``,!0),u(`span`,he,n(i.action),1)])]),u(`time`,ge,n(e(x)(i.at,!0)),1)],8,oe),o.value===i.id&&i.detailJson?(s(),d(`pre`,_e,n(h(i)||r.$t(`operations.noDetail`)),1)):m(``,!0)],2))),128))]))]))}}),[[`__scopeId`,`data-v-552620b2`]]),{__name:`OperationsTimeline`}),ye={class:`page`},be=b(o({name:`OperationsPage`,setup(t){let n=C(),r=ee(),i=w();return a(()=>{r.ensureConnected(),n.ensureLive(),i.doQuery()}),(t,r)=>(s(),d(`div`,ye,[l(P,{"recent-count":e(n).recent.length},null,8,[`recent-count`]),l(Y,{"line-id":e(i).q.lineId,"onUpdate:lineId":r[0]||=t=>e(i).q.lineId=t,kind:e(i).q.kind,"onUpdate:kind":r[1]||=t=>e(i).q.kind=t,"actor-kind":e(i).q.actorKind,"onUpdate:actorKind":r[2]||=t=>e(i).q.actorKind=t,text:e(i).q.text,"onUpdate:text":r[3]||=t=>e(i).q.text=t,"has-filter":e(i).hasFilter.value,loading:e(n).loading.list,onQuery:e(i).doQuery,onReset:e(i).resetFilters},null,8,[`line-id`,`kind`,`actor-kind`,`text`,`has-filter`,`loading`,`onQuery`,`onReset`]),l(ve,{rows:e(i).rows.value,loading:e(n).loading.list,error:e(n).error.list},null,8,[`rows`,`loading`,`error`])]))}}),[[`__scopeId`,`data-v-bfd603dd`]]);export{be as default};
|