agentworkshop 0.7.40 → 0.7.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{CzOCSGLe.js → BN16aRdQ.js} +1 -1
  3. package/.output/public/_nuxt/BWVhZntO.js +1 -0
  4. package/.output/public/_nuxt/{Dihnimlk.js → C0ZrS1KL.js} +1 -1
  5. package/.output/public/_nuxt/{Dr9v6C0f.js → C4s_niy-.js} +2 -2
  6. package/.output/public/_nuxt/D6mbFA-a.js +1 -0
  7. package/.output/public/_nuxt/{DcsCcxp4.js → D98NH8kG.js} +1 -1
  8. package/.output/public/_nuxt/{C_iYD-EB.js → DGbd-UiG.js} +1 -1
  9. package/.output/public/_nuxt/{DCn7QZ5N.js → Dap5PmTL.js} +1 -1
  10. package/.output/public/_nuxt/DvLxILQP.js +1 -0
  11. package/.output/public/_nuxt/{DZshyNLa.js → IREZ1eC2.js} +1 -1
  12. package/.output/public/_nuxt/_id_.D9ymtHB5.css +1 -0
  13. package/.output/public/_nuxt/_id_.jf-_8E_c.css +1 -0
  14. package/.output/public/_nuxt/builds/latest.json +1 -1
  15. package/.output/public/_nuxt/builds/meta/78a295bb-2072-48a4-8b46-6d545fdae743.json +1 -0
  16. package/.output/public/_nuxt/ca4TJ3Op.js +1 -0
  17. package/.output/public/_nuxt/daq.DjSgY94l.css +1 -0
  18. package/.output/public/_nuxt/{BP-NyKVG.js → eqq3wWQF.js} +1 -1
  19. package/.output/server/chunks/_/nitro.mjs +886 -673
  20. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  21. package/.output/server/chunks/build/{TownView-BuLAsmpR.mjs → TownView--otsnr_7.mjs} +4 -4
  22. package/.output/server/chunks/build/{TownView-BuLAsmpR.mjs.map → TownView--otsnr_7.mjs.map} +1 -1
  23. package/.output/server/chunks/build/{_id_-BU1wfOID.mjs → _id_-Brv-JSvr.mjs} +141 -140
  24. package/.output/server/chunks/build/_id_-Brv-JSvr.mjs.map +1 -0
  25. package/.output/server/chunks/build/{_id_-BYsEua57.mjs → _id_-D9pl1OZy.mjs} +37 -36
  26. package/.output/server/chunks/build/_id_-D9pl1OZy.mjs.map +1 -0
  27. package/.output/server/chunks/build/{_wsId_-BxlDcJHg.mjs → _wsId_-BASfDf0s.mjs} +4 -4
  28. package/.output/server/chunks/build/{_wsId_-BxlDcJHg.mjs.map → _wsId_-BASfDf0s.mjs.map} +1 -1
  29. package/.output/server/chunks/build/{daq-cgyjKmJu.mjs → daq-DkMvD8sg.mjs} +93 -92
  30. package/.output/server/chunks/build/daq-DkMvD8sg.mjs.map +1 -0
  31. package/.output/server/chunks/build/{dcw-CoTxBlAZ.mjs → dcw-C1jgVJkO.mjs} +3 -3
  32. package/.output/server/chunks/build/{dcw-CoTxBlAZ.mjs.map → dcw-C1jgVJkO.mjs.map} +1 -1
  33. package/.output/server/chunks/build/{logs-BSOeZwwI.mjs → logs--dByNyhw.mjs} +2 -2
  34. package/.output/server/chunks/build/{logs-BSOeZwwI.mjs.map → logs--dByNyhw.mjs.map} +1 -1
  35. package/.output/server/chunks/build/{pages-DFxjn9Xa.mjs → pages-B0bUWnC6.mjs} +3 -3
  36. package/.output/server/chunks/build/{pages-DFxjn9Xa.mjs.map → pages-B0bUWnC6.mjs.map} +1 -1
  37. package/.output/server/chunks/build/{town-qMPql9Se.mjs → town-CoQdblbZ.mjs} +4 -4
  38. package/.output/server/chunks/build/{town-qMPql9Se.mjs.map → town-CoQdblbZ.mjs.map} +1 -1
  39. package/.output/server/chunks/build/{useDaqStream-CIBaiGAl.mjs → useDaqStream-DfCFpb3p.mjs} +9 -3
  40. package/.output/server/chunks/build/useDaqStream-DfCFpb3p.mjs.map +1 -0
  41. package/.output/server/chunks/build/{useDcwStream-CBbiYnWe.mjs → useDcwStream-UPiX-3iO.mjs} +11 -2
  42. package/.output/server/chunks/build/useDcwStream-UPiX-3iO.mjs.map +1 -0
  43. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
  44. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +3 -3
  45. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +1 -1
  46. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
  47. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
  48. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +1 -1
  49. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +1 -1
  50. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
  51. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
  52. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
  53. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
  54. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  55. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  56. package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
  57. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +3 -1
  58. package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
  59. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +3 -1
  60. package/.output/server/chunks/routes/api/workshop/index6.get.mjs.map +1 -1
  61. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  62. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  63. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  64. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  65. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
  66. package/.output/server/chunks/routes/renderer.mjs +2 -2
  67. package/.output/server/chunks/virtual/entry.mjs +9 -9
  68. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  69. package/.output/server/package.json +1 -1
  70. package/README-zh.md +5 -5
  71. package/README.md +6 -6
  72. package/app/composables/workshop/useDaqStream.ts +7 -4
  73. package/app/composables/workshop/useDcwStream.ts +8 -2
  74. package/app/pages/daq/[id].vue +9 -5
  75. package/app/pages/daq/index.vue +13 -10
  76. package/app/pages/dcw/[id].vue +8 -4
  77. package/docs/cli.en.md +2 -2
  78. package/docs/cli.md +2 -2
  79. package/docs/plugins.en.md +33 -1
  80. package/docs/plugins.md +29 -1
  81. package/docs/sdk.en.md +1 -1
  82. package/docs/sdk.md +1 -1
  83. package/package.json +3 -2
  84. package/scripts/_loop-biax-campaign.mjs +124 -0
  85. package/scripts/test-serial-bridge.mjs +418 -0
  86. package/scripts/ui/e2e-interactive.mjs +328 -0
  87. package/scripts/ui/seed-industrial-demo.mjs +171 -0
  88. package/server/api/workshop/daq/index.get.ts +3 -1
  89. package/server/api/workshop/dcw/index.get.ts +3 -0
  90. package/server/plugins/aw-plugins.ts +9 -7
  91. package/server/plugins-builtin/serial-bridge/client.mjs +210 -0
  92. package/server/plugins-builtin/serial-bridge/drivers.mjs +409 -0
  93. package/server/plugins-builtin/serial-bridge/i18n.json +62 -0
  94. package/server/plugins-builtin/serial-bridge/index.mjs +247 -0
  95. package/server/plugins-builtin/serial-bridge/lib.mjs +208 -0
  96. package/server/plugins-builtin/serial-bridge/rtu.mjs +168 -0
  97. package/server/services/workshop/daq/daq-controller.ts +7 -2
  98. package/server/services/workshop/daq/drivers.ts +78 -3
  99. package/server/services/workshop/dcw/dcw-controller.ts +5 -1
  100. package/server/services/workshop/dcw/drivers.ts +85 -2
  101. package/server/services/workshop/dcw/plugin-bridge.ts +45 -0
  102. package/server/services/workshop/plugins/host.mjs +30 -0
  103. package/shared/daq-protocol.ts +15 -0
  104. package/.output/public/_nuxt/BOt2SP4z.js +0 -1
  105. package/.output/public/_nuxt/ClILjvWH.js +0 -1
  106. package/.output/public/_nuxt/D8qvkfyY.js +0 -1
  107. package/.output/public/_nuxt/Du9ZJtnj.js +0 -1
  108. package/.output/public/_nuxt/_id_.CM4bIgKY.css +0 -1
  109. package/.output/public/_nuxt/_id_.bNV69Dtf.css +0 -1
  110. package/.output/public/_nuxt/builds/meta/f4707884-7cf4-4a31-80d2-e3d72b73745f.json +0 -1
  111. package/.output/public/_nuxt/daq.B0D3dPAc.css +0 -1
  112. package/.output/server/chunks/build/_id_-BU1wfOID.mjs.map +0 -1
  113. package/.output/server/chunks/build/_id_-BYsEua57.mjs.map +0 -1
  114. package/.output/server/chunks/build/daq-cgyjKmJu.mjs.map +0 -1
  115. package/.output/server/chunks/build/useDaqStream-CIBaiGAl.mjs.map +0 -1
  116. package/.output/server/chunks/build/useDcwStream-CBbiYnWe.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ import{a as e}from"./BU83-NnX.js";import{$ as t,Ht as n,P as r,R as i,S as a,Ut as o,V as s,Vt as c,W as l,b as u,d,dt as f,f as p,h as m,i as h,m as g,nt as _,p as v,pt as y,tt as b,xt as x,y as S}from"./CSkxz2NX.js";import{c as C,f as ee,l as w,s as te}from"./D6uzXueg.js";import{n as ne}from"./DtYHUi5Z.js";import{t as re}from"./BHA40aHa.js";import{n as ie}from"./KZQX7xoM.js";import{t as ae}from"./DZtm4l-P2.js";import{t as T}from"./BDNMzG2s2.js";import{t as E}from"./D0ZBQrN_2.js";import{t as oe}from"./BC9wjTJK2.js";import{t as se}from"./CNs_Ozdc2.js";import{t as ce}from"./DTFCy6h-.js";import{a as le,i as ue,n as de,r as fe,t as pe}from"./D98NH8kG.js";import{t as me}from"./ca4TJ3Op.js";import{t as he}from"./C3J6FYKa.js";import{t as D}from"./CFxtLwjp.js";var O={class:`mono dim`},k={class:`mono ch`},ge=[`title`],_e=[`title`],ve={class:`trend-cell`},ye=[`title`],be=[`y1`,`y2`],xe=[`y1`,`y2`],Se=[`points`],A=[`y1`,`y2`],Ce={class:`mono`},we={class:`mono`},Te=[`title`],Ee=[`value`,`title`],De={value:``},Oe=[`value`],ke=[`title`],j={key:1,class:`run-pill na`},Ae={class:`prod-cell`},M=[`title`],N=[`title`],P={key:1,class:`dim`},je={class:`dev-binds`},Me=[`title`],Ne=[`onClick`],Pe=[`title`],F={value:``},Fe=[`value`,`disabled`],Ie={class:`right`},Le=[`title`],Re=120,I=26,ze=Object.assign(T(a({__name:`DaqNodeRow`,props:{n:{}},setup(t){let n=t,{t:r}=ie(),i=pe(),a=me(),f=he();function _(e){if(!e.lastAt)return!0;let t=e.intervalMs??i.controller.defaultIntervalMs;return Date.now()-Date.parse(e.lastAt)>Math.max(t*4,12e3)}function v(e){return e.enabled?e.lineId?a.lineStateOf(e.lineId).active?!i.controller.running||_(e)?`offline`:e.state:`idle`:`unassigned`:`disabled`}function y(e){let t=v(e);return t===`ok`||t===`warn`||t===`alarm`}function C(e){if(!e.lineId)return null;let t=a.lineStateOf(e.lineId);return!t.active||!t.recipeId?null:a.recipes.find(e=>e.id===t.recipeId)?.daqWindows?.find(t=>t.nodeId===e.id)??null}function ee(e){let t=C(e);return!t||e.value==null?!1:t.min!=null&&e.value<t.min||t.max!=null&&e.value>t.max}function w(e){let t=C(e);return t&&(t.min!=null||t.max!=null)?{min:t.min,max:t.max}:e.warnLow!=null||e.warnHigh!=null?{min:e.warnLow,max:e.warnHigh}:{min:null,max:null}}function te(e){let t=e.filter(Number.isFinite);if(t.length<2)return``;let n=Math.min(...t),r=Math.max(...t)-n||1;return t.map((e,i)=>`${(i/(t.length-1)*Re).toFixed(1)},${(I-(e-n)/r*24-1).toFixed(1)}`).join(` `)}function ne(e,t){if(t==null||!Number.isFinite(t))return null;let n=e.filter(Number.isFinite);if(n.length<2)return null;let r=Math.min(...n,t),i=Math.max(...n,t)-r||1;return Number((I-(t-r)/i*24-1).toFixed(1))}function ae(e){let t=v(e),n=r(`daq.k44c2n065`);if(t===`offline`)return e.lastError?{key:t,label:n,tip:e.lastError}:{key:t,label:n,tip:i.controller.running?r(`daq.k1staled129`,{p0:Math.round(Math.max((e.intervalMs??i.controller.defaultIntervalMs)*4,12e3)/1e3)}):r(`daq.k1gateoff140`)};let a={ok:r(`daq.k41k5c062`),warn:r(`daq.k49z8v063`),alarm:r(`daq.k3xmid064`),offline:n,idle:r(`daq.k3ozyqz117`),disabled:r(`daq.k1disabl130`),unassigned:r(`daq.k3ootr6053`)};if(t===`idle`)return{key:t,label:a.idle,tip:r(`daq.k1idlehin139`)};if((t===`ok`||t===`warn`||t===`alarm`)&&ee(e)){let t=C(e);return{key:`alarm`,label:r(`daq.k1l3pt51104`),tip:r(`daq.k1hrrqa1122`,{p0:t?.min??`-∞`,p1:t?.max??`+∞`,p2:``})}}return{key:t,label:a[t],tip:``}}function T(e){let t=i.templates.find(t=>t.key===le(e));return t?`${t.name} · ${t.ch}`:e||`-`}let oe=e=>e==null?r(`daq.k9vnp9h124`,{p0:i.controller.defaultIntervalMs}):`${e}ms`,se=e=>e==null?r(`daq.k9vnp9h124`,{p0:i.controller.defaultPublishIntervalMs}):e===0?r(`daq.k41mvv078`):`${e}ms`,ce=e=>i.meta.drivers.find(t=>t.kind===e)?.status===`planned`,ue=e=>e.deviceIds??(e.deviceBindingId?[e.deviceBindingId]:[]),de=e=>f.twins.find(t=>t.id===e)?.name??e,fe=d(()=>f.twins.filter(e=>e.kind!==`daq`&&!(e.modelRef??``).startsWith(`daq-`)&&!(e.modelRef??``).startsWith(`dcw-`))),D=d(()=>{let e=n.n,t=w(e),r=e.lineId?a.lineStateOf(e.lineId):null;return{tpl:T(e.templateRef),pill:ae(e),alarm:ee(e),live:y(e),trend:te(e.hist),limMin:ne(e.hist,t.min),limMax:ne(e.hist,t.max),interval:oe(e.intervalMs),publish:se(e.publishIntervalMs),lineActive:!!r?.active,lineProduct:r?.productName??``,lineRecipe:r?.recipeName??``}});async function ze(){let t=n.n,a=!t.enabled;try{await i.patchNode(t.id,{enabled:a}),t.enabled=a,a||(t.state=`offline`),e.success(r(a?`daq.k1nodestart147`:`daq.k1nodestop146`))}catch(t){e.error(E(t))}}async function Be(t){let r=t.target.value;try{await i.patchNode(n.n.id,{lineId:r});let e=n.n;e.lineId=r}catch(t){e.error(E(t))}}async function Ve(t){let r=t.target.value;if(!r)return;let a=n.n;if(!a.deviceIds?.includes(r)){try{await i.setNodeBindings(a.id,[...a.deviceIds??[],r])}catch(t){e.error(E(t))}t.target.value=``}}async function He(t){let r=n.n;try{await i.setNodeBindings(r.id,(r.deviceIds??[]).filter(e=>e!==t))}catch(t){e.error(E(t))}}return(e,n)=>{let r=re;return s(),m(`tr`,{class:c({"row-recipe-alarm":D.value.alarm})},[p(`td`,null,[p(`span`,O,o(t.n.id.slice(0,8)),1),p(`b`,null,o(t.n.name),1),p(`small`,k,o(D.value.tpl),1)]),p(`td`,null,[p(`span`,{class:c([`st-pill`,[D.value.pill.key]]),title:D.value.pill.tip},o(D.value.pill.label),11,ge)]),p(`td`,{class:c([`mono val`,{stale:!D.value.live,"val-alarm":t.n.state===`alarm`||D.value.alarm}]),title:D.value.live?void 0:D.value.pill.tip},[S(o(t.n.value==null?`--`:t.n.value.toFixed(t.n.decimals))+` `,1),p(`small`,null,o(t.n.unit),1)],10,_e),p(`td`,ve,[(s(),m(`svg`,{class:`trend`,viewBox:`0 0 120 26`,preserveAspectRatio:`none`,title:e.$t(`daq.k1trnd002`)},[D.value.limMin==null?g(``,!0):(s(),m(`line`,{key:0,class:`lim`,x1:`0`,y1:D.value.limMin,x2:`120`,y2:D.value.limMin},null,8,be)),D.value.limMax==null?g(``,!0):(s(),m(`line`,{key:1,class:`lim max`,x1:`0`,y1:D.value.limMax,x2:`120`,y2:D.value.limMax},null,8,xe)),D.value.trend?(s(),m(`polyline`,{key:2,class:c([`trace`,{alarm:t.n.state===`alarm`||D.value.alarm}]),points:D.value.trend},null,10,Se)):(s(),m(`line`,{key:3,class:`trace-idle`,x1:`0`,y1:I/2,x2:`120`,y2:I/2},null,8,A))],8,ye))]),p(`td`,Ce,o(D.value.interval),1),p(`td`,we,o(D.value.publish),1),p(`td`,null,[p(`span`,{class:c([`drv-tag`,{planned:ce(t.n.driver)}]),title:ce(t.n.driver)?e.$t(`daq.k1plndrv138`):``},o(t.n.driver),11,Te)]),p(`td`,null,[p(`select`,{class:`line-sel`,value:t.n.lineId,title:e.$t(`daq.k3q23v3010`),onChange:Be},[p(`option`,De,o(e.$t(`daq.k3ootr6053`)),1),(s(!0),m(h,null,l(x(a).lines,e=>(s(),m(`option`,{key:e.id,value:e.id},o(e.name),9,Oe))),128))],40,Ee)]),p(`td`,null,[t.n.lineId?(s(),m(`span`,{key:0,class:c([`run-pill`,{on:D.value.lineActive}]),title:e.$t(`daq.k1runtipc131`)},[n[0]||=p(`span`,{class:`rp-dot`},null,-1),S(` `+o(D.value.lineActive?e.$t(`daq.k3vp67i096`):e.$t(`daq.k3ozyqz117`)),1)],10,ke)):(s(),m(`span`,j,o(e.$t(`daq.k3ootr6053`)),1))]),p(`td`,Ae,[t.n.lineId&&D.value.lineActive?(s(),m(h,{key:0},[p(`b`,{title:e.$t(`daq.k1prdrtip132`)},o(D.value.lineProduct||`--`),9,M),p(`small`,{class:`mono`,title:e.$t(`daq.k1prdrtip132`)},o(D.value.lineRecipe||`--`),9,N)],64)):(s(),m(`span`,P,`--`))]),p(`td`,null,[p(`div`,je,[(s(!0),m(h,null,l(ue(t.n),t=>(s(),m(`span`,{key:t,class:`dev-bind-chip`,title:e.$t(`daq.k2bindtip137`)},[S(o(de(t))+` `,1),p(`span`,{class:`dev-unbind`,title:`unbind`,onClick:e=>He(t)},`✕`,8,Ne)],8,Me))),128)),p(`select`,{class:`line-sel dev-add`,value:``,title:e.$t(`daq.k2bindtip137`),onChange:Ve},[p(`option`,F,o(e.$t(`daq.k3own4q056`)),1),(s(!0),m(h,null,l(fe.value,e=>(s(),m(`option`,{key:e.id,value:e.id,disabled:(t.n.deviceIds??[]).includes(e.id)},o(de(e.id)),9,Fe))),128))],40,Pe)])]),p(`td`,Ie,[p(`button`,{class:c([`node-toggle`,{off:!t.n.enabled}]),title:t.n.enabled?e.$t(`daq.k1nodestop146`):e.$t(`daq.k1nodestart147`),onClick:ze},[p(`span`,{class:c(t.n.enabled?`i-tabler-player-pause`:`i-tabler-player-play`)},null,2),S(` `+o(t.n.enabled?e.$t(`daq.k1nodestop146`):e.$t(`daq.k1nodestart147`)),1)],10,Le),u(r,{class:`console-link`,to:`/daq/${t.n.id}`},{default:b(()=>[n[1]||=p(`span`,{class:`i-tabler-dashboard`},null,-1),S(` `+o(e.$t(`daq.k3o3jg2074`)),1)]),_:1},8,[`to`])])],2)}}}),[[`__scopeId`,`data-v-4b6f87e1`]]),{__name:`WorkshopDaqNodeRow`}),Be={class:`page`},Ve={class:`aw-page-head`},He={class:`sub`},Ue={class:`badges mono`},We=[`title`],Ge=[`title`],Ke={class:`txt`},qe={class:`mono`},Je={key:1,class:`infra-banner`},Ye={class:`txt`},Xe={key:2,class:`infra-banner`},Ze={class:`txt`},Qe=[`disabled`],$e={key:3,class:`alarm-bar`},et={class:`bar-label`},tt={class:`mono`},nt={class:`alarm-scroll`},rt=[`title`],it={class:`mono dim`},at={class:`mono`},ot={key:0,class:`esc mono`},st=[`onClick`],ct={class:`aw-tile ctrl-card`},lt={class:`ctrl-row`},ut={class:`ctrl-left`},dt=[`title`],ft={class:`cycle mono`},pt=[`title`],mt={class:`ctrl-right`},ht={class:`ctrl-metrics mono`},gt=[`title`],_t=[`title`],vt=[`title`],yt=[`title`],bt={class:`line-strip`},xt={class:`strip-label`},St={class:`mono`},Ct={class:`strip-scroll`},wt={key:0,class:`lp-run`},Tt={key:1,class:`lp-idle`},Et={class:`lp-idle`},Dt={class:`modal`},Ot={class:`m-title`},kt={class:`seg-row`},At={class:`f-grid`},jt={class:`f`},Mt=[`value`],Nt={class:`f`},Pt=[`placeholder`],Ft={key:0,class:`f`},It=[`placeholder`],Lt={class:`f-grid`},Rt={class:`f`},zt=[`value`],Bt={key:0,class:`f-grid driver-form`},Vt={key:0},Ht=[`onUpdate:modelValue`],Ut=[`value`],Wt=[`onUpdate:modelValue`,`type`,`placeholder`],Gt={key:2,class:`hint`},Kt={class:`test-row`},qt=[`disabled`],Jt={key:1,class:`m-err`},Yt={class:`m-actions`},Xt=[`disabled`,`title`],Zt={class:`modal`},Qt={class:`m-title`},$t={class:`sec-label`},en={class:`tpl-table`},tn={class:`mono dim`},nn={class:`mono range`},rn={class:`right actions`},an=[`onClick`],on=[`onClick`],sn={key:0},cn={colspan:`3`,class:`empty`},ln={class:`sec-label`},un={class:`f-grid`},dn={class:`f`},fn=[`placeholder`],pn={class:`f`},mn={class:`f`},hn=[`placeholder`],gn={class:`f`},_n=[`placeholder`],vn={class:`f`},yn={class:`f`},bn={class:`f`},xn={class:`f`},Sn=[`value`],Cn={class:`f`},wn={class:`hint`},Tn={class:`f`},En={class:`hint`},Dn={key:0,class:`m-err`},On={class:`m-actions`},kn=[`disabled`],An={class:`sec-label`},jn={class:`tpl-table`},Mn={class:`mono dim`},Nn={class:`mono range`},Pn={class:`right actions`},Fn=[`onClick`],In={class:`aw-tile opt-card`},Ln={class:`opt-count mono`},Rn={class:`opt-filters`},zn={value:``},Bn=[`value`],Vn={value:``},Hn=[`value`],Un={key:0,class:`opt-empty`},Wn={class:`opt-list`},Gn={class:`opt-line1`},Kn={class:`opt-node`},qn={class:`mono opt-params`},Jn={class:`mono opt-time`},Yn=[`disabled`,`onClick`],Xn=[`onClick`],Zn={class:`opt-line2 mono`},Qn={key:1,class:`opt-open-hint`},$n={key:2,class:`opt-agg`},er={key:3,class:`opt-agg`},tr={key:0,class:`opt-series`},nr={class:`opt-spark`,viewBox:`0 0 240 36`,preserveAspectRatio:`none`},rr=[`points`],ir={class:`mono`},ar={key:0,class:`opt-empty`},or={class:`aw-tile table-card`},sr={class:`tbl-toolbar`},cr={class:`filters`},lr={class:`flt`},ur={value:``},dr=[`value`],fr={value:`none`},pr={class:`flt`},mr={value:``},hr=[`value`],gr={value:`none`},_r=[`title`],vr={value:``},yr={value:`on`},br={value:`off`},xr={class:`flt`},Sr={value:``},Cr={value:`ok`},wr={value:`warn`},Tr={value:`alarm`},Er={value:`offline`},Dr={class:`flt`},Or={value:``},kr=[`value`],Ar={class:`flt`},jr={value:``},Mr=[`value`],Nr=[`title`],Pr={value:``},Fr={value:`live`},Ir={value:`hour`},Lr={value:`day`},Rr={value:`old`},zr={value:`never`},Br={class:`flt`},Vr=[`placeholder`],Hr={class:`count mono`},Ur={class:`ops-panels`},Wr={class:`panel-head`},Gr={class:`panel-body`},Kr={key:0,class:`panel-empty`},qr={class:`mono dim`},Jr={class:`mono`},Yr={key:0,class:`esc mono`},Xr=[`onClick`],Zr={class:`ops-panel event-panel`},Qr={class:`panel-head`},$r={class:`panel-body`},ei={key:0,class:`panel-empty`},ti={class:`mono dim t`},ni=[`title`],ri=[`title`],ii=[`title`],ai={class:`right`},oi={key:0,class:`vs-pad`,"aria-hidden":`true`},si={key:1,class:`vs-pad`,"aria-hidden":`true`},ci={key:2},li={colspan:`11`},ui={class:`pane-empty`,style:{"min-height":`120px`}},di={class:`pe-sub`},fi={key:3},pi={colspan:`11`},mi={class:`pane-empty`,style:{"min-height":`90px`}},hi={class:`pe-sub`},gi={key:6,class:`err`},_i=42,vi=8,yi=T(a({__name:`index`,setup(a){let{t:T}=ie();se({layout:`default`}),ne({title:()=>T(`titles.daq`)});let O=pe(),k=me(),ge=oe(),_e=d(()=>k.lines.some(e=>k.lineStateOf(e.id).active)),ve=D();function ye(e){return{write:T(`logs.kind.write`),manual:T(`logs.kind.manual`),alarm:T(`logs.kind.alarm`),line:T(`logs.kind.line`),recipe:T(`logs.kind.recipe`),rollback:T(`logs.kind.rollback`),daq:T(`logs.kind.daq`),system:T(`logs.kind.system`)}[e]??(e||T(`logs.kind.system`))}function be(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`:``}async function xe(t){try{await O.ackAlarm(t),e.success(T(`daq.k1acked144`))}catch(t){e.error(E(t))}}let Se=null;i(()=>{ge.ensureConnected(),Se=O.ensureWsFeed(),ve.ensureLive(),O.load(),O.fetchAlarms(),k.load(),ki.load(),k.loadOptimizations(),ce(()=>{O.load(),O.fetchAlarms()},5e3,{bgMs:3e4}),ce(()=>{k.load()},15e3,{bgMs:6e4})}),r(()=>{Se?.()});let A=f({lineId:``,deviceId:``,template:``,driver:``,lineRun:``,state:``,time:``,search:``}),Ce=d(()=>!!(A.lineId||A.deviceId||A.template||A.driver||A.lineRun||A.state||A.time||A.search.trim()));function we(){A.lineId=``,A.deviceId=``,A.template=``,A.driver=``,A.lineRun=``,A.state=``,A.time=``,A.search=``}let Te=d(()=>{let e=new Map;for(let t of O.nodes)e.set(t.templateRef,(e.get(t.templateRef)??0)+1);return[...e.entries()].map(([e,t])=>({ref:e,count:t,label:Hi(e)}))}),Ee=d(()=>{let e=new Map;for(let t of O.nodes)e.set(t.driver,(e.get(t.driver)??0)+1);return[...e.entries()].map(([e,t])=>({kind:e,count:t,label:O.meta.drivers.find(t=>t.kind===e)?.label??e}))});function De(e){if(!e.lastAt)return`never`;let t=Date.now()-Date.parse(e.lastAt);return t<=3e5?`live`:t<=36e5?`hour`:t<=864e5?`day`:`old`}function Oe(e){return!A.time||De(e)===A.time}function ke(e){let t=A.search.trim().toLowerCase();return!t||e.name.toLowerCase().includes(t)||e.id.toLowerCase().includes(t)}let j=y(!1),Ae=y(!1),M=y(``),N=y(``),P=y({}),je=y(``),Me=d(()=>k.recipes.filter(e=>!M.value||e.lineId===M.value));function Ne(e){return{open:`daq.k1optst001`,judged:`daq.k1optst008`,"judged-keep":`daq.k1optst002`,"rolled-back":`daq.k1optst003`,superseded:`daq.k1optst004`,"superseded-manual":`daq.k1optst005`,"closed-line-stop":`daq.k1optst006`,failed:`daq.k1optst007`}[e]??`daq.k1optst001`}async function Pe(){j.value=!j.value,j.value&&(Ae.value=!0,await F())}async function F(){await k.loadOptimizations({lineId:M.value||void 0,recipeId:N.value||void 0})}function Fe(){N.value&&!Me.value.some(e=>e.id===N.value)&&(N.value=``),F()}async function Ie(e){je.value=e;try{let t=await k.optimizationSeries(e);P.value={...P.value,[e]:t}}finally{je.value=``}}function Le(e,t=240,n=36){let r=e.map(e=>e.value??e.avg??0).filter(Number.isFinite);if(r.length<2)return``;let i=Math.min(...r),a=Math.max(...r)-i||1;return r.map((e,o)=>`${o/(r.length-1)*t},${n-(e-i)/a*n}`).join(` `)}async function Re(e){await k.rollbackOptimization(e),await F()}function I(e){return e==null?`--`:String(Number(e.toFixed(2)))}let yi=d(()=>{let e=new Map;for(let t of O.nodes)for(let n of t.deviceIds??(t.deviceBindingId?[t.deviceBindingId]:[]))e.set(n,(e.get(n)??0)+1);return ki.twins.filter(t=>e.has(t.id)).map(t=>({id:t.id,name:Ai.get(t.id)??t.name,count:e.get(t.id)}))});function bi(e){if(!A.lineRun)return!0;let t=!!e.lineId&&k.lineStateOf(e.lineId).active;return A.lineRun===`on`?t:!t}let L=d(()=>k.lines.find(e=>e.id===A.lineId)??null),R=d(()=>L.value?k.lineStateOf(L.value.id):null);function xi(e){if(!e.lastAt)return!0;let t=e.intervalMs??O.controller.defaultIntervalMs;return Date.now()-Date.parse(e.lastAt)>Math.max(t*4,12e3)}function Si(e){return e.enabled?e.lineId?k.lineStateOf(e.lineId).active?!O.controller.running||xi(e)?`offline`:e.state:`idle`:`unassigned`:`disabled`}let z=d(()=>O.nodes.filter(e=>{if(A.lineId&&(A.lineId===`none`?e.lineId:(e.lineId??``)!==A.lineId))return!1;let t=e.deviceIds??(e.deviceBindingId?[e.deviceBindingId]:[]);return!(A.deviceId&&(A.deviceId===`none`?t.length>0:!t.includes(A.deviceId))||A.template&&e.templateRef!==A.template||A.driver&&e.driver!==A.driver||!bi(e)||A.state&&Si(e)!==A.state||!Oe(e)||!ke(e))})),Ci=y(null),B=y(0),V=y(60),wi=d(()=>{let e=z.value,t=Math.min(B.value,Math.max(0,e.length-1));return e.slice(t,V.value)}),Ti=d(()=>B.value*_i),Ei=d(()=>Math.max(0,(z.value.length-V.value)*_i)),Di=0;function Oi(){let e=Ci.value;if(!e)return;let t=z.value.length,n=window.innerHeight||800,r=e.getBoundingClientRect().top+window.scrollY+40,i=Math.floor((window.scrollY-r)/_i),a=Math.ceil(n/_i)+16,o=Math.max(0,Math.min(i-vi,Math.max(0,t-1))),s=Math.max(o,Math.min(t,o+a));o!==B.value&&(B.value=o),s!==V.value&&(V.value=s)}function H(){Di||=requestAnimationFrame(()=>{Di=0,Oi()})}i(()=>{Oi(),window.addEventListener(`scroll`,H,{passive:!0}),window.addEventListener(`resize`,H,{passive:!0})}),r(()=>{window.removeEventListener(`scroll`,H),window.removeEventListener(`resize`,H),Di&&cancelAnimationFrame(Di)}),t(()=>z.value.length,()=>{B.value=0,V.value=Math.min(z.value.length,V.value||60),H()});let ki=he(),Ai=new Map;t(()=>ki.twins,e=>{for(let t of e)Ai.set(t.id,t.name)},{immediate:!0,deep:!0});let U=y(!1),W=y(`mock`),G=y(fe[0]?.key??`temp-tc`),K=y(`modbus-tcp`),q=y(``),ji=y(null),J=y({}),Mi=f({kind:`none`,scale:1,offset:0}),Ni=y(!1),Y=y(null),Pi=y(!1),Fi=y(``),Ii=d(()=>O.meta.drivers.length?O.meta.drivers:de.map(e=>({...e}))),Li=d(()=>Ii.value.find(e=>e.kind===K.value)),Ri=d(()=>Li.value?.configFields??[]),zi=e=>O.meta.drivers.find(t=>t.kind===e)?.status!==`planned`&&O.meta.driverAvailable?.[e]!==!1;t(K,()=>{let e={};for(let t of Ri.value)t.default!==void 0&&(e[t.key]=t.default);J.value=e,Y.value=null},{immediate:!0});async function Bi(){Ni.value=!0,Y.value=null;try{Y.value=await O.testDriver(K.value,J.value)}catch(e){Y.value={ok:!1,message:E(e)}}finally{Ni.value=!1}}async function Vi(){Pi.value=!0,Fi.value=``;try{let e=Mi.kind===`linear`?{kind:`linear`,scale:Number(Mi.scale),offset:Number(Mi.offset)}:void 0;if(W.value===`mock`)await O.createFromTemplate(`daq-${G.value}`,{name:q.value?{name:q.value}.name:void 0,transform:e});else{for(let e of Ri.value)if(e.required&&!J.value[e.key]&&J.value[e.key]!==0)throw Error(T(`daq.kyuadl0125`,{p0:e.label}));let t=O.templates.find(e=>e.key===G.value);await O.createFromTemplate(`daq-${G.value}`,{name:q.value||void 0,driver:K.value,driverConfig:{...J.value},transform:e,intervalMs:ji.value,unit:t?.unit,min:t?.min,max:t?.max,decimals:t?.decimals})}U.value=!1,q.value=``,Y.value=null}catch(e){Fi.value=E(e)}finally{Pi.value=!1}}function Hi(e){let t=O.templates.find(t=>t.key===le(e));return t?`${t.name} · ${t.ch}`:e||`-`}let Ui=y(!1),X=y(null),Wi=y(!1),Z=y(``),Q=y(``),$=f({name:``,ch:``,code:``,unit:``,min:0,max:100,base:50,amp:2,decimals:2,icon:`thermo`}),Gi={thermo:T(`daq.k422b8079`),pressure:T(`daq.k3x6ff080`),tension:T(`daq.k3z9xc081`),encoder:T(`daq.k3subk4082`),camera:T(`daq.k47atw083`),gateway:T(`daq.kz7yhbj084`)},Ki=d(()=>O.templates.filter(e=>!e.builtin)),qi=d(()=>O.templates.filter(e=>e.builtin));function Ji(e,t=!1){$.name=t?T(`daq.k2hbo3c126`,{p0:e.name}):e.name,$.ch=e.ch,$.code=e.code,$.unit=e.unit,$.min=e.min,$.max=e.max,$.base=e.base,$.amp=e.amp,$.decimals=e.decimals,$.icon=e.icon}function Yi(){X.value=null,Z.value=``,Q.value=``,Ji({key:``,name:``,code:``,ch:``,unit:``,base:50,amp:2,min:0,max:100,decimals:2,icon:`thermo`})}function Xi(e){X.value=e.key,Z.value=``,Ji(e)}function Zi(e){X.value=null,Z.value=``,Ji(e,!0)}async function Qi(){Wi.value=!0,Z.value=``;try{let e=e=>{let t=Number(e);return e===``||e==null||!Number.isFinite(t)?void 0:t},t={name:$.name.trim(),ch:$.ch.trim()||void 0,code:$.code.trim()||void 0,unit:$.unit.trim(),min:e($.min),max:e($.max),base:e($.base),amp:e($.amp),decimals:e($.decimals),icon:$.icon};X.value?await O.updateTemplate(X.value,t):await O.createTemplate(t),Yi()}catch(e){Z.value=E(e)}finally{Wi.value=!1}}async function $i(e){if(Q.value!==e.key){Q.value=e.key;return}try{await O.removeTemplate(e.key)}catch(e){Z.value=E(e)}finally{Q.value=``}}let ea=y(!1);async function ta(){ea.value=!0;try{await O.reconnectInfra()}catch{}finally{ea.value=!1}}return(e,t)=>{let r=re,i=ze,a=ae;return s(),m(`div`,Be,[p(`div`,Ve,[p(`div`,null,[t[36]||=p(`p`,{class:`aw-kicker`},` AGENTWORKSHOP / DAQ CONSOLE `,-1),p(`h1`,null,o(e.$t(`daq.k1emg364011`)),1),p(`p`,He,o(e.$t(`daq.k1wmg2bz012`)),1)]),p(`div`,Ue,[p(`span`,{class:`badge`,title:e.$t(`daq.k1tsdbtip133`)},`TSDB · `+o(x(O).meta.tsdb),9,We),p(`span`,{class:`badge`,title:e.$t(`daq.k1queuet134`)},`QUEUE · `+o(x(O).meta.queue),9,Ge)])]),x(O).loaded&&L.value&&R.value?(s(),m(`div`,{key:0,class:c([`infra-banner`,{good:R.value.active}])},[p(`span`,{class:c(R.value.active?`i-tabler-circle-check`:`i-tabler-info-circle`)},null,2),p(`span`,Ke,[R.value.active?(s(),m(h,{key:0},[S(o(e.$t(`daq.k3ktxbr085`))+o(L.value.name)+`」`+o(e.$t(`daq.k15lvw0o105`)),1),p(`b`,null,o(R.value.productName),1),t[37]||=S(` · Recipe:`,-1),p(`b`,null,o(R.value.recipeName),1),p(`small`,qe,o(e.$t(`daq.k400lb086`))+` `+o(R.value.runId?.slice(0,8))+` · `+o(e.$t(`daq.k3zkt2106`))+` `+o(R.value.startedAt?.slice(11,19))+` `+o(e.$t(`daq.k69vag8108`))+` `+o(R.value.taggedSamples)+` `+o(e.$t(`daq.k4118o092`)),1)],64)):(s(),m(h,{key:1},[S(o(e.$t(`daq.k3ktxbr085`))+o(L.value.name)+`」`+o(e.$t(`daq.k12uge2o107`)),1)],64))]),u(r,{class:`pill-btn`,to:`/dcw/${L.value.id}`},{default:b(()=>[S(o(R.value.active?e.$t(`daq.k1ukoy0v093`):e.$t(`daq.k1cg78i8109`)),1)]),_:1},8,[`to`])],2)):x(O).loaded&&!_e.value?(s(),m(`div`,Je,[t[38]||=p(`span`,{class:`i-tabler-info-circle`},null,-1),p(`span`,Ye,[S(o(e.$t(`daq.k19onw5w013`)),1),u(r,{to:`/dcw`},{default:b(()=>[S(o(e.$t(`daq.k1b2tk5c014`)),1)]),_:1}),S(o(e.$t(`daq.k1u9wnlg015`)),1)])])):g(``,!0),x(O).meta.infra?.degraded?(s(),m(`div`,Xe,[t[39]||=p(`span`,{class:`i-tabler-alert-triangle`},null,-1),p(`span`,Ze,o(x(O).meta.infra.warning),1),p(`button`,{class:`pill-btn`,disabled:ea.value,onClick:ta},o(ea.value?e.$t(`daq.k1ld43ur094`):e.$t(`daq.kzg9805110`)),9,Qe)])):g(``,!0),x(O).alarms.length?(s(),m(`div`,$e,[p(`span`,et,[t[40]||=p(`span`,{class:`i-tabler-bell-ringing bell`},null,-1),S(` `+o(e.$t(`daq.k1alarm141`))+` `,1),p(`b`,tt,o(x(O).alarms.length),1)]),p(`div`,nt,[(s(!0),m(h,null,l(x(O).alarms,t=>(s(),m(`span`,{key:t.id,class:`alarm-item`,title:e.$t(`daq.k1esc143`,{p0:t.escalation})},[p(`b`,null,o(t.nodeName),1),p(`span`,it,o(t.metric),1),p(`span`,at,o(t.value)+` `+o(t.rule===`lt-min`?`<`:`>`)+` `+o(t.threshold),1),t.escalation>0?(s(),m(`small`,ot,`+`+o(t.escalation),1)):g(``,!0),p(`button`,{class:`mini-btn ack`,onClick:e=>xe(t.id)},o(e.$t(`daq.k1ack142`)),9,st)],8,rt))),128))])])):g(``,!0),p(`section`,ct,[p(`div`,lt,[p(`div`,ut,[p(`button`,{class:c([`aw-pill`,{running:x(O).controller.running}]),title:e.$t(`daq.k1snap145`),onClick:t[0]||=e=>x(O).controllerAction(x(O).controller.running?`pause`:`resume`)},[p(`span`,{class:c(x(O).controller.running?`i-tabler-player-pause`:`i-tabler-player-play`)},null,2),S(` `+o(x(O).controller.running?e.$t(`daq.kpui00095`):e.$t(`daq.knxpdpt111`)),1)],10,dt),p(`label`,ft,[S(o(e.$t(`daq.k1ifahxj016`))+` `,1),_(p(`input`,{"onUpdate:modelValue":t[1]||=e=>x(O).controller.defaultIntervalMs=e,type:`number`,min:`200`,max:`60000`,step:`100`,onChange:t[2]||=e=>x(O).controllerAction(`config`,x(O).controller.defaultIntervalMs)},null,544),[[w,x(O).controller.defaultIntervalMs,void 0,{number:!0}]]),t[41]||=S(`ms `,-1)]),p(`label`,{class:`cycle mono`,title:e.$t(`daq.k1e8lcoo001`)},[S(o(e.$t(`daq.k1if98n0017`))+` `,1),_(p(`input`,{"onUpdate:modelValue":t[3]||=e=>x(O).controller.defaultPublishIntervalMs=e,type:`number`,min:`0`,max:`60000`,step:`100`,onChange:t[4]||=e=>x(O).controllerAction(`config`,x(O).controller.defaultIntervalMs,x(O).controller.defaultPublishIntervalMs)},null,544),[[w,x(O).controller.defaultPublishIntervalMs,void 0,{number:!0}]]),t[42]||=S(`ms `,-1)],8,pt)]),p(`div`,mt,[p(`span`,ht,[p(`span`,null,o(e.$t(`daq.k45uio067`))+` `+o(x(O).controller.nodesOnline)+`/`+o(x(O).controller.nodesTotal),1),t[43]||=p(`span`,{class:`sep`},`·`,-1),p(`span`,{title:e.$t(`daq.k1yztsu4002`)},o(e.$t(`daq.k3xagp087`))+` `+o(x(O).meta.produced),9,gt),t[44]||=p(`span`,{class:`sep`},`·`,-1),p(`span`,{title:e.$t(`daq.ko09iha003`)},o(e.$t(`daq.k427eu088`))+` `+o(x(O).meta.consumed),9,_t),t[45]||=p(`span`,{class:`sep`},`·`,-1),p(`span`,{class:c({warn:(x(O).meta.dropped??0)>0}),title:e.$t(`daq.k1droptip135`)},o(e.$t(`daq.k3w8go089`))+` `+o(x(O).meta.dropped),11,vt),t[46]||=p(`span`,{class:`sep`},`·`,-1),p(`span`,{title:e.$t(`daq.kj1jbmw004`)},o(e.$t(`daq.k3wusd090`))+` `+o(x(O).meta.samplesStored),9,yt)]),p(`button`,{class:`aw-pill outline add-btn`,onClick:t[5]||=e=>{Ui.value=!0,Yi()}},[t[47]||=p(`span`,{class:`i-tabler-adjustments-horizontal`},null,-1),S(` `+o(e.$t(`daq.k1f5cv0s018`)),1)]),p(`button`,{class:`aw-pill add-btn`,onClick:t[6]||=e=>U.value=!0},[t[48]||=p(`span`,{class:`i-tabler-plus`},null,-1),S(` `+o(e.$t(`daq.k1fn0ukb019`)),1)])])]),p(`div`,bt,[p(`span`,xt,[t[49]||=p(`span`,{class:`i-tabler-route`},null,-1),S(` `+o(e.$t(`daq.k1b2o3b6020`)),1),p(`small`,St,o(x(k).lines.length),1)]),p(`div`,Ct,[(s(!0),m(h,null,l(x(k).lines,i=>(s(),v(r,{key:i.id,class:c([`line-pill`,{on:x(k).lineStateOf(i.id).active}]),style:n({"--lc":i.color}),to:`/dcw/${i.id}`,title:x(k).lineStateOf(i.id).active?e.$t(`daq.k3v957u120`,{p0:i.name,p1:x(k).lineStateOf(i.id).productName,p2:x(k).lineStateOf(i.id).recipeName}):e.$t(`daq.k1x7jnru121`,{p0:i.name})},{default:b(()=>[t[50]||=p(`span`,{class:`lp-dot`},null,-1),p(`b`,null,o(i.name),1),x(k).lineStateOf(i.id).active?(s(),m(`small`,wt,o(x(k).lineStateOf(i.id).recipeName??e.$t(`daq.k3vp67i096`)),1)):(s(),m(`small`,Tt,o(e.$t(`daq.k3zgkk021`)),1))]),_:2},1032,[`class`,`style`,`to`,`title`]))),128)),x(k).lines.length===0?(s(),v(r,{key:0,class:`line-pill`,to:`/dcw`},{default:b(()=>[t[51]||=p(`span`,{class:`lp-dot`},null,-1),p(`b`,null,o(e.$t(`daq.k1el12b1022`)),1),p(`small`,Et,o(e.$t(`daq.k8jxxe8023`)),1)]),_:1})):g(``,!0)])])]),U.value?(s(),m(`div`,{key:4,class:`modal-mask`,onClick:t[14]||=ee(e=>U.value=!1,[`self`])},[p(`div`,Dt,[p(`h3`,Ot,o(e.$t(`daq.k19rioqa024`)),1),p(`div`,kt,[p(`button`,{class:c([`seg`,{on:W.value===`mock`}]),onClick:t[7]||=e=>W.value=`mock`},o(e.$t(`daq.k1p5c1un025`)),3),p(`button`,{class:c([`seg`,{on:W.value===`real`}]),onClick:t[8]||=e=>W.value=`real`},o(e.$t(`daq.k1cbcp3o026`)),3)]),p(`div`,At,[p(`label`,jt,[p(`span`,null,o(e.$t(`daq.k1fsgerc027`)),1),_(p(`select`,{"onUpdate:modelValue":t[9]||=e=>G.value=e,class:`inp`},[(s(!0),m(h,null,l(x(O).templates,t=>(s(),m(`option`,{key:t.key,value:t.key},o(t.name)+` · `+o(t.ch)+`(`+o(t.min)+`~`+o(t.max)+` `+o(t.unit)+`)`+o(t.builtin?``:e.$t(`daq.kr45rk9097`)),9,Mt))),128))],512),[[C,G.value]])]),p(`label`,Nt,[p(`span`,null,o(e.$t(`daq.k1ce2k1y028`)),1),_(p(`input`,{"onUpdate:modelValue":t[10]||=e=>q.value=e,class:`inp`,placeholder:e.$t(`daq.kgpxzy3005`)},null,8,Pt),[[w,q.value]])]),W.value===`real`?(s(),m(`label`,Ft,[p(`span`,null,o(e.$t(`daq.k13mfsfc029`)),1),_(p(`input`,{"onUpdate:modelValue":t[11]||=e=>ji.value=e,type:`number`,min:`1000`,max:`60000`,step:`500`,class:`inp`,placeholder:e.$t(`daq.k1eg1000a136`)},null,8,It),[[w,ji.value,void 0,{number:!0}]])])):g(``,!0)]),W.value===`real`?(s(),m(h,{key:0},[p(`div`,Lt,[p(`label`,Rt,[p(`span`,null,o(e.$t(`daq.k1kt87rx030`)),1),_(p(`select`,{"onUpdate:modelValue":t[12]||=e=>K.value=e,class:`inp`},[(s(!0),m(h,null,l(Ii.value.filter(e=>e.status!==`planned`),t=>(s(),m(`option`,{key:t.kind,value:t.kind},o(t.label)+o(t.plugin?` ⌁`:``)+o(zi(t.kind)?``:e.$t(`daq.kjbqphp098`)),9,zt))),128))],512),[[C,K.value]])])]),Ri.value.length?(s(),m(`div`,Bt,[(s(!0),m(h,null,l(Ri.value,e=>(s(),m(`label`,{key:e.key,class:`f`},[p(`span`,null,[S(o(e.label),1),e.required?(s(),m(`em`,Vt,`*`)):g(``,!0)]),e.type===`select`?_((s(),m(`select`,{key:0,"onUpdate:modelValue":t=>J.value[e.key]=t,class:`inp`},[(s(!0),m(h,null,l(e.options,e=>(s(),m(`option`,{key:e.value,value:e.value},o(e.label),9,Ut))),128))],8,Ht)),[[C,J.value[e.key]]]):_((s(),m(`input`,{key:1,"onUpdate:modelValue":t=>J.value[e.key]=t,type:e.type===`number`?`number`:`text`,placeholder:e.placeholder,class:`inp`},null,8,Wt)),[[te,J.value[e.key]]]),e.hint?(s(),m(`small`,Gt,o(e.hint),1)):g(``,!0)]))),128))])):g(``,!0),p(`div`,Kt,[p(`button`,{class:`pill-btn`,disabled:Ni.value,onClick:Bi},o(Ni.value?e.$t(`daq.k1fsh720099`):e.$t(`daq.k1fstglk112`)),9,qt),Y.value?(s(),m(`span`,{key:0,class:c([`test-result`,Y.value.ok?`ok`:`bad`])},[S(o(Y.value.ok?`✓`:`✗`)+` `+o(Y.value.message),1),Y.value.latencyMs==null?g(``,!0):(s(),m(h,{key:0},[S(`(`+o(Y.value.latencyMs)+`ms)`,1)],64))],2)):g(``,!0)])],64)):g(``,!0),Fi.value?(s(),m(`p`,Jt,o(Fi.value),1)):g(``,!0),p(`div`,Yt,[p(`button`,{class:`aw-pill outline`,onClick:t[13]||=e=>U.value=!1},o(e.$t(`daq.k3xdnn031`)),1),p(`button`,{class:`aw-pill`,disabled:Pi.value||W.value===`real`&&Y.value!=null&&!Y.value.ok,title:W.value===`real`&&!(Y.value&&Y.value.ok)?e.$t(`daq.k1needtst137`):``,onClick:Vi},o(Pi.value?e.$t(`daq.k1bg4759100`):W.value===`real`?e.$t(`daq.k7pxjxo113`):e.$t(`daq.k1bge46t118`)),9,Xt)])])])):g(``,!0),Ui.value?(s(),m(`div`,{key:5,class:`modal-mask`,onClick:t[25]||=ee(e=>Ui.value=!1,[`self`])},[p(`div`,Zt,[p(`h3`,Qt,o(e.$t(`daq.k11mv96s032`)),1),p(`p`,$t,o(e.$t(`daq.ktji4ky033`)),1),p(`table`,en,[p(`tbody`,null,[(s(!0),m(h,null,l(Ki.value,t=>(s(),m(`tr`,{key:t.key},[p(`td`,null,[p(`b`,null,o(t.name),1),p(`small`,tn,o(t.code),1)]),p(`td`,nn,o(t.min)+`~`+o(t.max)+` `+o(t.unit)+` · `+o(t.decimals)+` `+o(e.$t(`daq.k48oi091`)),1),p(`td`,rn,[p(`button`,{class:`mini-btn`,onClick:e=>Xi(t)},o(e.$t(`daq.k45eb0034`)),9,an),p(`button`,{class:`mini-btn danger`,onClick:e=>$i(t)},o(Q.value===t.key?e.$t(`daq.k1hhheu3101`):e.$t(`daq.k3xakp114`)),9,on)])]))),128)),Ki.value.length?g(``,!0):(s(),m(`tr`,sn,[p(`td`,cn,o(e.$t(`daq.kztvzbo035`)),1)]))])]),p(`p`,ln,o(X.value?e.$t(`daq.k1iiph0s102`):e.$t(`daq.k1efixrj115`)),1),p(`div`,un,[p(`label`,dn,[p(`span`,null,[S(o(e.$t(`daq.k3xhia036`)),1),t[52]||=p(`em`,null,`*`,-1)]),_(p(`input`,{"onUpdate:modelValue":t[15]||=e=>x($).name=e,class:`inp`,placeholder:e.$t(`daq.k5opd2t006`)},null,8,fn),[[w,x($).name]])]),p(`label`,pn,[p(`span`,null,[S(o(e.$t(`daq.k3x4ef037`)),1),t[53]||=p(`em`,null,`*`,-1)]),_(p(`input`,{"onUpdate:modelValue":t[16]||=e=>x($).unit=e,class:`inp`,placeholder:`如 %RH`},null,512),[[w,x($).unit]])]),p(`label`,mn,[p(`span`,null,o(e.$t(`daq.k1l477m0038`)),1),_(p(`input`,{"onUpdate:modelValue":t[17]||=e=>x($).ch=e,class:`inp`,placeholder:e.$t(`daq.kk8o4tl007`)},null,8,hn),[[w,x($).ch]])]),p(`label`,gn,[p(`span`,null,o(e.$t(`daq.k1ayxrqb039`)),1),_(p(`input`,{"onUpdate:modelValue":t[18]||=e=>x($).code=e,class:`inp`,placeholder:e.$t(`daq.kzn3l7l008`)},null,8,_n),[[w,x($).code]])]),p(`label`,vn,[p(`span`,null,[S(o(e.$t(`daq.k1l9jv5m040`)),1),t[54]||=p(`em`,null,`*`,-1)]),_(p(`input`,{"onUpdate:modelValue":t[19]||=e=>x($).min=e,type:`number`,class:`inp`},null,512),[[w,x($).min,void 0,{number:!0}]])]),p(`label`,yn,[p(`span`,null,[S(o(e.$t(`daq.k1l9jv4p041`)),1),t[55]||=p(`em`,null,`*`,-1)]),_(p(`input`,{"onUpdate:modelValue":t[20]||=e=>x($).max=e,type:`number`,class:`inp`},null,512),[[w,x($).max,void 0,{number:!0}]])]),p(`label`,bn,[p(`span`,null,o(e.$t(`daq.k3mxmcx042`)),1),_(p(`input`,{"onUpdate:modelValue":t[21]||=e=>x($).decimals=e,type:`number`,min:`0`,max:`4`,class:`inp`},null,512),[[w,x($).decimals,void 0,{number:!0}]])]),p(`label`,xn,[p(`span`,null,o(e.$t(`daq.k3xx56043`)),1),_(p(`select`,{"onUpdate:modelValue":t[22]||=e=>x($).icon=e,class:`inp`},[(s(!0),m(h,null,l(x(ue),e=>(s(),m(`option`,{key:e,value:e},o(Gi[e]),9,Sn))),128))],512),[[C,x($).icon]])]),p(`label`,Cn,[p(`span`,null,o(e.$t(`daq.k1f4eknv044`)),1),_(p(`input`,{"onUpdate:modelValue":t[23]||=e=>x($).base=e,type:`number`,class:`inp`},null,512),[[w,x($).base,void 0,{number:!0}]]),p(`small`,wn,o(e.$t(`daq.kytd15s045`)),1)]),p(`label`,Tn,[p(`span`,null,o(e.$t(`daq.k1f4ifpo046`)),1),_(p(`input`,{"onUpdate:modelValue":t[24]||=e=>x($).amp=e,type:`number`,class:`inp`},null,512),[[w,x($).amp,void 0,{number:!0}]]),p(`small`,En,o(e.$t(`daq.ksp2aji047`)),1)])]),Z.value?(s(),m(`p`,Dn,o(Z.value),1)):g(``,!0),p(`div`,On,[p(`button`,{class:`aw-pill outline`,onClick:Yi},o(e.$t(`daq.k48p40048`)),1),p(`button`,{class:`pill-btn`,disabled:Wi.value,onClick:Qi},o(Wi.value?e.$t(`daq.k1b38d59103`):X.value?e.$t(`daq.k1b39281116`):e.$t(`daq.k1b3dtga119`)),9,kn)]),p(`p`,An,o(e.$t(`daq.k1w8s84s049`)),1),p(`table`,jn,[p(`tbody`,null,[(s(!0),m(h,null,l(qi.value,t=>(s(),m(`tr`,{key:t.key},[p(`td`,null,[p(`b`,null,o(t.name),1),p(`small`,Mn,o(t.code),1)]),p(`td`,Nn,o(t.min)+`~`+o(t.max)+` `+o(t.unit)+` · `+o(t.decimals)+` `+o(e.$t(`daq.k48oi091`)),1),p(`td`,Pn,[p(`button`,{class:`mini-btn`,onClick:e=>Zi(t)},o(e.$t(`daq.k3y694050`)),9,Fn)])]))),128))])])])])):g(``,!0),p(`section`,In,[p(`button`,{class:`opt-head`,onClick:Pe},[t[56]||=p(`span`,{class:`i-tabler-flask`},null,-1),p(`b`,null,o(e.$t(`daq.k1optt001`)),1),p(`span`,Ln,o(x(k).optimizations.length),1),p(`span`,{class:c([`opt-chevron`,{open:j.value}])},null,2)]),p(`div`,{class:c([`opt-body`,{open:j.value}])},[Ae.value?(s(),m(h,{key:0},[p(`div`,Rn,[_(p(`select`,{"onUpdate:modelValue":t[26]||=e=>M.value=e,class:`inp-sel`,onChange:Fe},[p(`option`,zn,o(e.$t(`daq.k1optf001`)),1),(s(!0),m(h,null,l(x(k).lines,e=>(s(),m(`option`,{key:e.id,value:e.id},o(e.name),9,Bn))),128))],544),[[C,M.value]]),_(p(`select`,{"onUpdate:modelValue":t[27]||=e=>N.value=e,class:`inp-sel`,onChange:F},[p(`option`,Vn,o(e.$t(`daq.k1optf004`)),1),(s(!0),m(h,null,l(Me.value,e=>(s(),m(`option`,{key:e.id,value:e.id},o(e.name),9,Hn))),128))],544),[[C,N.value]]),p(`button`,{class:`mini-act`,onClick:F},o(e.$t(`daq.k1optf002`)),1)]),x(k).optimizations.length===0?(s(),m(`p`,Un,o(e.$t(`daq.k1opte001`)),1)):g(``,!0),p(`ul`,Wn,[(s(!0),m(h,null,l(x(k).optimizations.slice(0,30),t=>(s(),m(`li`,{key:t.id,class:c([`opt-row`,t.status])},[p(`div`,Gn,[p(`span`,{class:c([`opt-status`,t.status])},o(e.$t(Ne(t.status))),3),p(`b`,Kn,o(t.nodeName),1),p(`span`,qn,o(t.params[0]?.from??`?`)+` → `+o(t.params[0]?.to),1),p(`span`,Jn,o(t.setAt.slice(5,16).replace(`T`,` `)),1),P.value[t.id]?g(``,!0):(s(),m(`button`,{key:0,class:`mini-act`,disabled:je.value===t.id,onClick:e=>Ie(t.id)},o(e.$t(`daq.k1opta001`)),9,Yn)),t.status===`open`?(s(),m(`button`,{key:1,class:`mini-act danger`,onClick:e=>Re(t.id)},o(e.$t(`daq.k1opta002`)),9,Xn)):g(``,!0)]),p(`div`,Zn,[t.judge?(s(),m(`span`,{key:0,class:c([`opt-judge`,t.judge.verdict])},o(t.judge.verdict)+`(`+o(t.judge.by)+`): `+o(t.judge.reason.slice(0,70)),3)):t.status===`open`?(s(),m(`span`,Qn,o(e.$t(`daq.k1opto001`)),1)):g(``,!0),t.aggPending?(s(),m(`span`,$n,o(e.$t(`daq.k1optw001`)),1)):t.windowAgg&&t.windowAgg.channels.length?(s(),m(`span`,er,[(s(!0),m(h,null,l(t.windowAgg.channels,t=>(s(),m(h,{key:t.daqNodeId},[S(o(t.ch)+` `+o(I(t.min))+`~`+o(I(t.max))+`(`+o(e.$t(`daq.k1optw002`))+o(t.breaches<0?`-`:t.breaches)+`) `,1)],64))),128))])):g(``,!0)]),P.value[t.id]?(s(),m(`div`,tr,[(s(!0),m(h,null,l(P.value[t.id]?.channels??[],e=>(s(),m(`div`,{key:e.nodeId,class:`opt-ch`},[(s(),m(`svg`,nr,[p(`polyline`,{points:Le(e.points)},null,8,rr)])),p(`span`,ir,o(e.ch)+` `+o(I(e.points.at(-1)?.value??e.points.at(-1)?.avg))+o(e.unit),1)]))),128)),(P.value[t.id]?.channels.length??0)===0?(s(),m(`p`,ar,o(e.$t(`daq.k1opte002`)),1)):g(``,!0)])):g(``,!0)],2))),128))])],64)):g(``,!0)],2)]),u(a,{spinning:!x(O).loaded&&!x(O).error},{default:b(()=>[p(`section`,or,[p(`div`,sr,[p(`div`,cr,[p(`label`,lr,[p(`span`,null,o(e.$t(`daq.k3wj9n051`)),1),_(p(`select`,{"onUpdate:modelValue":t[28]||=e=>x(A).lineId=e,class:`inp-sel`},[p(`option`,ur,o(e.$t(`daq.k1bkl9uj052`)),1),(s(!0),m(h,null,l(x(k).lines,e=>(s(),m(`option`,{key:e.id,value:e.id},o(e.name),9,dr))),128)),p(`option`,fr,o(e.$t(`daq.k3ootr6053`)),1)],512),[[C,x(A).lineId]])]),p(`label`,pr,[p(`span`,null,o(e.$t(`daq.k1i8rtqt054`)),1),_(p(`select`,{"onUpdate:modelValue":t[29]||=e=>x(A).deviceId=e,class:`inp-sel`},[p(`option`,mr,o(e.$t(`daq.k1bkw4m2055`)),1),(s(!0),m(h,null,l(yi.value,e=>(s(),m(`option`,{key:e.id,value:e.id},o(e.name)+`(`+o(e.count)+`) `,9,hr))),128)),p(`option`,gr,o(e.$t(`daq.k3own4q056`)),1)],512),[[C,x(A).deviceId]])]),p(`label`,{class:`flt`,title:e.$t(`daq.khb8mru009`)},[p(`span`,null,o(e.$t(`daq.k1b2tkyv057`)),1),_(p(`select`,{"onUpdate:modelValue":t[30]||=e=>x(A).lineRun=e,class:`inp-sel`},[p(`option`,vr,o(e.$t(`daq.k3x4t1058`)),1),p(`option`,yr,o(e.$t(`daq.k1nxm3p7059`)),1),p(`option`,br,o(e.$t(`daq.k1ulx34e060`)),1)],512),[[C,x(A).lineRun]])],8,_r),p(`label`,xr,[p(`span`,null,o(e.$t(`daq.k1iwdfef061`)),1),_(p(`select`,{"onUpdate:modelValue":t[31]||=e=>x(A).state=e,class:`inp-sel`},[p(`option`,Sr,o(e.$t(`daq.k3x4t1058`)),1),p(`option`,Cr,o(e.$t(`daq.k41k5c062`)),1),p(`option`,wr,o(e.$t(`daq.k49z8v063`)),1),p(`option`,Tr,o(e.$t(`daq.k3xmid064`)),1),p(`option`,Er,o(e.$t(`daq.k44c2n065`)),1)],512),[[C,x(A).state]])]),p(`label`,Dr,[p(`span`,null,o(e.$t(`daq.k1flttpl010`)),1),_(p(`select`,{"onUpdate:modelValue":t[32]||=e=>x(A).template=e,class:`inp-sel`},[p(`option`,Or,o(e.$t(`daq.k1flttpl011`)),1),(s(!0),m(h,null,l(Te.value,e=>(s(),m(`option`,{key:e.ref,value:e.ref},o(e.label)+`(`+o(e.count)+`) `,9,kr))),128))],512),[[C,x(A).template]])]),p(`label`,Ar,[p(`span`,null,o(e.$t(`daq.k1fltdrv012`)),1),_(p(`select`,{"onUpdate:modelValue":t[33]||=e=>x(A).driver=e,class:`inp-sel`},[p(`option`,jr,o(e.$t(`daq.k1fltdrv013`)),1),(s(!0),m(h,null,l(Ee.value,e=>(s(),m(`option`,{key:e.kind,value:e.kind},o(e.label)+`(`+o(e.count)+`) `,9,Mr))),128))],512),[[C,x(A).driver]])]),p(`label`,{class:`flt`,title:e.$t(`daq.k1flttim014`)},[p(`span`,null,o(e.$t(`daq.k1flttim015`)),1),_(p(`select`,{"onUpdate:modelValue":t[34]||=e=>x(A).time=e,class:`inp-sel`},[p(`option`,Pr,o(e.$t(`daq.k1flttim016`)),1),p(`option`,Fr,o(e.$t(`daq.k1timlv017`)),1),p(`option`,Ir,o(e.$t(`daq.k1timhr018`)),1),p(`option`,Lr,o(e.$t(`daq.k1timdy019`)),1),p(`option`,Rr,o(e.$t(`daq.k1timld020`)),1),p(`option`,zr,o(e.$t(`daq.k1timnv021`)),1)],512),[[C,x(A).time]])],8,Nr),p(`label`,Br,[p(`span`,null,o(e.$t(`daq.k1fltsrc022`)),1),_(p(`input`,{"onUpdate:modelValue":t[35]||=e=>x(A).search=e,class:`inp-sel flt-search`,type:`search`,placeholder:e.$t(`daq.k1fltsph023`)},null,8,Vr),[[w,x(A).search]])]),Ce.value?(s(),m(`button`,{key:0,class:`mini-btn clear-btn`,onClick:we},o(e.$t(`daq.k1fygck2066`)),1)):g(``,!0)]),p(`span`,Hr,o(z.value.length)+` / `+o(x(O).nodes.length)+` `+o(e.$t(`daq.k45uio067`)),1)]),p(`div`,Ur,[p(`div`,{class:c([`ops-panel alarm-panel`,{live:x(O).alarms.length>0}])},[p(`div`,Wr,[t[57]||=p(`span`,{class:`i-tabler-bell-ringing bell`},null,-1),p(`b`,null,o(e.$t(`daq.k1alarm141`)),1),p(`span`,{class:c([`mono cnt`,{hot:x(O).alarms.length>0}])},o(x(O).alarms.length),3)]),p(`div`,Gr,[x(O).alarms.length===0?(s(),m(`p`,Kr,o(e.$t(`daq.k1evt001`)),1)):(s(!0),m(h,{key:1},l(x(O).alarms,n=>(s(),m(`div`,{key:n.id,class:`alarm-row`},[t[58]||=p(`span`,{class:`i-tabler-alert-triangle tri`},null,-1),p(`b`,null,o(n.nodeName),1),p(`span`,qr,o(n.metric),1),p(`span`,Jr,o(n.value)+` `+o(n.rule===`lt-min`?`<`:`>`)+` `+o(n.threshold),1),n.escalation>0?(s(),m(`small`,Yr,`+`+o(n.escalation),1)):g(``,!0),p(`button`,{class:`mini-btn ack`,onClick:e=>xe(n.id)},o(e.$t(`daq.k1ack142`)),9,Xr)]))),128))])],2),p(`div`,Zr,[p(`div`,Qr,[t[60]||=p(`span`,{class:`i-tabler-activity`},null,-1),p(`b`,null,o(e.$t(`daq.k1evt002`)),1),u(r,{class:`panel-link`,to:`/logs`},{default:b(()=>[S(o(e.$t(`daq.k1evt003`)),1),t[59]||=p(`span`,{class:`i-tabler-arrow-right`},null,-1)]),_:1})]),p(`div`,$r,[x(ve).recent.length===0?(s(),m(`p`,ei,o(e.$t(`daq.k1evt004`)),1)):(s(!0),m(h,{key:1},l(x(ve).recent,(t,n)=>(s(),m(`div`,{key:`${t.at}:${t.actor}:${t.action}:${n}`,class:`evt-row`},[p(`span`,ti,o(be(t.at)),1),p(`span`,{class:c([`src-badge`,t.actorKind])},o(t.actorKind===`agent`?`Agent`:t.actorKind===`user`?e.$t(`logs.src.user`):e.$t(`logs.src.system`)),3),p(`span`,{class:c([`kind-chip`,t.kind])},o(ye(t.kind)),3),p(`span`,{class:`txt`,title:t.summary},o(t.summary),9,ni)]))),128))])])]),p(`table`,{ref_key:`nodesTableRef`,ref:Ci,class:`nodes-table`},[p(`thead`,null,[p(`tr`,null,[p(`th`,null,o(e.$t(`daq.k45uio067`)),1),p(`th`,null,o(e.$t(`daq.k42w8s068`)),1),p(`th`,null,o(e.$t(`daq.k3mv305069`)),1),p(`th`,null,o(e.$t(`daq.k1trnd001`)),1),p(`th`,null,o(e.$t(`daq.k1l6g2ga070`)),1),p(`th`,null,o(e.$t(`daq.k3zi0nf071`)),1),p(`th`,null,o(e.$t(`daq.k4a0la072`)),1),p(`th`,null,o(e.$t(`daq.k3wj9n051`)),1),p(`th`,{title:e.$t(`daq.k1runtipc131`)},o(e.$t(`daq.k1b2tkyv057`)),9,ri),p(`th`,{title:e.$t(`daq.k1prdrtip132`)},o(e.$t(`daq.k1prodrc128`)),9,ii),p(`th`,null,o(e.$t(`daq.k1i8rtqt054`)),1),p(`th`,ai,o(e.$t(`daq.k40aa6073`)),1)])]),p(`tbody`,null,[Ti.value>0?(s(),m(`tr`,oi,[p(`td`,{colspan:11,style:n({height:Ti.value+`px`})},null,4)])):g(``,!0),(s(!0),m(h,null,l(wi.value,e=>(s(),v(i,{key:e.id,n:e},null,8,[`n`]))),128)),Ei.value>0?(s(),m(`tr`,si,[p(`td`,{colspan:11,style:n({height:Ei.value+`px`})},null,4)])):g(``,!0),x(O).loaded&&x(O).nodes.length===0?(s(),m(`tr`,ci,[p(`td`,li,[p(`div`,ui,[p(`p`,di,o(e.$t(`daq.kvhjyc3075`)),1)])])])):x(O).loaded&&z.value.length===0?(s(),m(`tr`,fi,[p(`td`,pi,[p(`div`,mi,[p(`p`,hi,o(e.$t(`daq.k1w20qew076`)),1)])])])):g(``,!0)])],512)])]),_:1},8,[`spinning`]),x(O).error?(s(),m(`p`,gi,[S(o(x(O).error)+`(`,1),u(r,{to:`/workshop`},{default:b(()=>[S(o(e.$t(`daq.k1bhhheq077`)),1)]),_:1}),t[61]||=S(`) `,-1)])):g(``,!0)])}}}),[[`__scopeId`,`data-v-74f24580`]]);export{yi as default};
@@ -1 +1 @@
1
- import{a as e}from"./BU83-NnX.js";import{C as t}from"./DdD9mCHM.js";import{R as n,S as ee,Ut as r,V as i,Vt as a,W as o,d as s,dt as c,f as l,h as u,i as d,m as f,nt as p,p as te,pt as m,s as ne,xt as h,y as g}from"./CSkxz2NX.js";import{c as _,d as re,f as ie,l as v}from"./D6uzXueg.js";import{t as y}from"./BDNMzG2s2.js";import{t as ae}from"./D0ZBQrN_2.js";import{t as oe}from"./BC9wjTJK2.js";import{t as se}from"./D8qvkfyY.js";import{t as ce}from"./CFxtLwjp.js";var le={class:`page`},ue={class:`aw-page-head`},de={class:`sub`},fe={class:`head-actions`},pe=[`title`],b={class:`live-txt mono`},x={class:`filter-card`},S={class:`flt`},C={value:``},w=[`value`],T={class:`flt`},E={value:``},D=[`value`],O={class:`flt`},k={value:``},A=[`value`],j={class:`flt`},M={value:``},N={value:`user`},P={value:`system`},F={class:`flt`},I={value:``},L=[`value`],R={class:`flt flt-grow`},z=[`placeholder`],B=[`disabled`],me={class:`table-card`},he={key:0,class:`err`},ge={class:`log-table`},_e={class:`th-time`},ve={class:`th-src`},ye={class:`th-kind`},be={class:`th-scope`},xe={class:`th-detail`},Se={class:`mono dim`},Ce={class:`actor`},we={class:`summary`},Te={class:`mono dim action`},Ee={class:`scope`},De=[`title`],Oe=[`title`],ke={key:2,class:`scope-chip`,title:`Recipe`},Ae={key:3,class:`dim`},je={class:`detail-cell`},Me=[`onClick`],Ne={key:1,class:`dim`},Pe={key:0,class:`log-detail-row`},Fe={colspan:`7`,class:`detail-td`},V={class:`detail-box mono`},Ie={class:`log-empty-row`},Le={key:0,colspan:`7`,class:`empty`},Re={class:`modal`},ze={class:`m-title`},Be={class:`m-f`},Ve=[`placeholder`],He={class:`m-f`},Ue=[`placeholder`],We={class:`m-grid`},Ge={class:`m-f`},Ke={value:``},qe=[`value`],Je={class:`m-f`},Ye={value:``},Xe=[`value`],Ze={class:`m-f`},Qe={value:``},$e=[`value`],et={key:0,class:`err`},tt={class:`m-actions`},nt=[`disabled`],H=y(ee({name:`OpsLogsPage`,setup(ee){let y=e=>t().$i18n.t(e),H=se(),rt=oe(),U=ce(),it=[`write`,`manual`,`alarm`,`line`,`recipe`,`rollback`,`daq`,`system`],W=c({lineId:``,productId:``,recipeId:``,actorKind:``,kind:``,text:``}),G=m(null),K=m(!1),q=c({summary:``,detail:``,lineId:``,productId:``,recipeId:``}),at=s(()=>!!(W.lineId||W.productId||W.recipeId||W.actorKind||W.kind||W.text.trim())),J=s(()=>H.products.filter(e=>!W.lineId||e.lineId===W.lineId)),Y=s(()=>H.recipes.filter(e=>(!W.lineId||e.lineId===W.lineId)&&(!W.productId||e.productId===W.productId)));function X(){U.fetchLogs({lineId:W.lineId,productId:W.productId,recipeId:W.recipeId,actorKind:W.actorKind,kind:W.kind,q:W.text.trim(),limit:300}),G.value=null}function ot(){W.lineId=``,W.productId=``,W.recipeId=``,W.actorKind=``,W.kind=``,W.text=``,X()}function st(){q.summary=``,q.detail=``,q.lineId=W.lineId,q.productId=W.productId,q.recipeId=W.recipeId,K.value=!0}async function ct(){try{let t=q.detail.trim();await U.postManual({summary:q.summary.trim(),lineId:q.lineId,productId:q.productId,recipeId:q.recipeId,...t?{detail:{note:t}}:{}}),e.success(y(`logs.mOk`)),K.value=!1,X()}catch(t){e.error(ae(t))}}function lt(e){return!!e.detailJson&&e.detailJson!==`{}`}function ut(e){G.value=G.value===e.id?null:e.id}function dt(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function ft(e){let t=new Date(e);if(!Number.isFinite(t.getTime()))return e;let n=e=>String(e).padStart(2,`0`);return`${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`}function pt(e){return e===`agent`?`Agent`:y(e===`user`?`logs.src.user`:`logs.src.system`)}function mt(e){return e?y(`logs.kind.${e}`):`—`}function Z(e){return H.lines.find(t=>t.id===e)?.name??``}function Q(e){return H.products.find(t=>t.id===e)?.name??``}function $(e){return H.recipes.find(t=>t.id===e)?.name??``}return n(()=>{rt.ensureConnected(),U.ensureLive(),H.load(),X()}),(e,t)=>(i(),u(`div`,le,[l(`header`,ue,[l(`div`,null,[t[17]||=l(`p`,{class:`aw-kicker`},` agentworkshop / audit log `,-1),l(`h1`,null,r(e.$t(`logs.title`)),1),l(`p`,de,r(e.$t(`logs.sub`)),1)]),l(`div`,fe,[l(`span`,{class:`live-dot`,title:e.$t(`logs.liveHint`)},null,8,pe),l(`span`,b,r(e.$t(`logs.live`))+` `+r(h(U).recent.length),1),l(`button`,{class:`pill-btn`,onClick:st},[t[18]||=l(`span`,{class:`i-tabler-plus`},null,-1),g(` `+r(e.$t(`logs.manual`)),1)])])]),l(`section`,x,[l(`label`,S,[l(`span`,null,r(e.$t(`logs.fLine`)),1),p(l(`select`,{"onUpdate:modelValue":t[0]||=e=>W.lineId=e,class:`inp-sel`,onChange:t[1]||=e=>{W.productId=``,W.recipeId=``}},[l(`option`,C,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(h(H).lines,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,w))),128))],544),[[_,W.lineId]])]),l(`label`,T,[l(`span`,null,r(e.$t(`logs.fProduct`)),1),p(l(`select`,{"onUpdate:modelValue":t[2]||=e=>W.productId=e,class:`inp-sel`,onChange:t[3]||=e=>W.recipeId=``},[l(`option`,E,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(J.value,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,D))),128))],544),[[_,W.productId]])]),l(`label`,O,[t[19]||=l(`span`,null,`Recipe`,-1),p(l(`select`,{"onUpdate:modelValue":t[4]||=e=>W.recipeId=e,class:`inp-sel`},[l(`option`,k,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(Y.value,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,A))),128))],512),[[_,W.recipeId]])]),l(`label`,j,[l(`span`,null,r(e.$t(`logs.fSource`)),1),p(l(`select`,{"onUpdate:modelValue":t[5]||=e=>W.actorKind=e,class:`inp-sel`},[l(`option`,M,r(e.$t(`logs.all`)),1),l(`option`,N,r(e.$t(`logs.src.user`)),1),t[20]||=l(`option`,{value:`agent`},` Agent `,-1),l(`option`,P,r(e.$t(`logs.src.system`)),1)],512),[[_,W.actorKind]])]),l(`label`,F,[l(`span`,null,r(e.$t(`logs.fKind`)),1),p(l(`select`,{"onUpdate:modelValue":t[6]||=e=>W.kind=e,class:`inp-sel`},[l(`option`,I,r(e.$t(`logs.all`)),1),(i(),u(d,null,o(it,t=>l(`option`,{key:t,value:t},r(e.$t(`logs.kind.${t}`)),9,L)),64))],512),[[_,W.kind]])]),l(`label`,R,[l(`span`,null,r(e.$t(`logs.fKeyword`)),1),p(l(`input`,{"onUpdate:modelValue":t[7]||=e=>W.text=e,class:`inp-sel`,type:`search`,placeholder:e.$t(`logs.fKeywordPh`),onKeydown:re(X,[`enter`])},null,40,z),[[v,W.text]])]),l(`button`,{class:`pill-btn`,disabled:h(U).loading.list,onClick:X},[t[21]||=l(`span`,{class:`i-tabler-search`},null,-1),g(` `+r(e.$t(`logs.query`)),1)],8,B),at.value?(i(),u(`button`,{key:0,class:`mini-btn`,onClick:ot},r(e.$t(`logs.reset`)),1)):f(``,!0)]),l(`section`,me,[h(U).error.list?(i(),u(`p`,he,r(h(U).error.list),1)):f(``,!0),l(`table`,ge,[l(`thead`,null,[l(`tr`,null,[l(`th`,_e,r(e.$t(`logs.thTime`)),1),l(`th`,ve,r(e.$t(`logs.fSource`)),1),l(`th`,null,r(e.$t(`logs.thActor`)),1),l(`th`,ye,r(e.$t(`logs.fKind`)),1),l(`th`,null,r(e.$t(`logs.thSummary`)),1),l(`th`,be,r(e.$t(`logs.thScope`)),1),l(`th`,xe,r(e.$t(`logs.thDetail`)),1)])]),l(`tbody`,null,[(i(!0),u(d,null,o(h(U).results,t=>(i(),u(d,{key:t.id},[l(`tr`,null,[l(`td`,Se,r(ft(t.at)),1),l(`td`,null,[l(`span`,{class:a([`src-badge`,t.actorKind])},r(pt(t.actorKind)),3)]),l(`td`,Ce,r(t.actorName||t.actor||`—`),1),l(`td`,null,[l(`span`,{class:a([`kind-chip`,t.kind])},r(mt(t.kind)),3)]),l(`td`,we,[g(r(t.summary)+` `,1),l(`small`,Te,r(t.action),1)]),l(`td`,Ee,[Z(t.lineId)?(i(),u(`span`,{key:0,class:`scope-chip`,title:e.$t(`logs.fLine`)},r(Z(t.lineId)),9,De)):f(``,!0),Q(t.productId)?(i(),u(`span`,{key:1,class:`scope-chip`,title:e.$t(`logs.fProduct`)},r(Q(t.productId)),9,Oe)):f(``,!0),$(t.recipeId)?(i(),u(`span`,ke,r($(t.recipeId)),1)):f(``,!0),!t.lineId&&!t.productId&&!t.recipeId?(i(),u(`span`,Ae,`—`)):f(``,!0)]),l(`td`,je,[lt(t)?(i(),u(`button`,{key:0,class:`mini-btn`,onClick:e=>ut(t)},r(G.value===t.id?e.$t(`logs.fold`):e.$t(`logs.expand`)),9,Me)):(i(),u(`span`,Ne,r(e.$t(`logs.noDetail`)),1))])]),G.value===t.id?(i(),u(`tr`,Pe,[l(`td`,Fe,[l(`pre`,V,r(dt(t.detailJson)),1)])])):f(``,!0)],64))),128)),l(`tr`,Ie,[h(U).results.length===0?(i(),u(`td`,Le,[h(U).loading.list?(i(),u(d,{key:0},[g(r(e.$t(`logs.loading`)),1)],64)):(i(),u(d,{key:1},[g(r(e.$t(`logs.empty`)),1)],64))])):f(``,!0)])])])]),(i(),te(ne,{to:`body`},[K.value?(i(),u(`div`,{key:0,class:`modal-mask`,onClick:t[16]||=ie(e=>K.value=!1,[`self`])},[l(`div`,Re,[l(`h3`,ze,r(e.$t(`logs.manual`)),1),l(`label`,Be,[l(`span`,null,r(e.$t(`logs.mSummary`))+` *`,1),p(l(`textarea`,{"onUpdate:modelValue":t[8]||=e=>q.summary=e,rows:`3`,placeholder:e.$t(`logs.mSummaryPh`)},null,8,Ve),[[v,q.summary]])]),l(`label`,He,[l(`span`,null,r(e.$t(`logs.mDetail`)),1),p(l(`textarea`,{"onUpdate:modelValue":t[9]||=e=>q.detail=e,rows:`2`,placeholder:e.$t(`logs.mDetailPh`)},null,8,Ue),[[v,q.detail]])]),l(`div`,We,[l(`label`,Ge,[l(`span`,null,r(e.$t(`logs.fLine`)),1),p(l(`select`,{"onUpdate:modelValue":t[10]||=e=>q.lineId=e,class:`inp-sel`,onChange:t[11]||=e=>{q.productId=``,q.recipeId=``}},[l(`option`,Ke,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(h(H).lines,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,qe))),128))],544),[[_,q.lineId]])]),l(`label`,Je,[l(`span`,null,r(e.$t(`logs.fProduct`)),1),p(l(`select`,{"onUpdate:modelValue":t[12]||=e=>q.productId=e,class:`inp-sel`,onChange:t[13]||=e=>q.recipeId=``},[l(`option`,Ye,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(J.value,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,Xe))),128))],544),[[_,q.productId]])]),l(`label`,Ze,[t[22]||=l(`span`,null,`Recipe`,-1),p(l(`select`,{"onUpdate:modelValue":t[14]||=e=>q.recipeId=e,class:`inp-sel`},[l(`option`,Qe,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(Y.value,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,$e))),128))],512),[[_,q.recipeId]])])]),h(U).error.post?(i(),u(`p`,et,r(h(U).error.post),1)):f(``,!0),l(`div`,tt,[l(`button`,{class:`ghost-btn`,onClick:t[15]||=e=>K.value=!1},r(e.$t(`common.cancel`)),1),l(`button`,{class:`pill-btn`,disabled:h(U).loading.posting||!q.summary.trim(),onClick:ct},r(e.$t(`logs.mSubmit`)),9,nt)])])])):f(``,!0)]))]))}}),[[`__scopeId`,`data-v-d6872483`]]);export{H as default};
1
+ import{a as e}from"./BU83-NnX.js";import{C as t}from"./DdD9mCHM.js";import{R as n,S as ee,Ut as r,V as i,Vt as a,W as o,d as s,dt as c,f as l,h as u,i as d,m as f,nt as p,p as te,pt as m,s as ne,xt as h,y as g}from"./CSkxz2NX.js";import{c as _,d as re,f as ie,l as v}from"./D6uzXueg.js";import{t as y}from"./BDNMzG2s2.js";import{t as ae}from"./D0ZBQrN_2.js";import{t as oe}from"./BC9wjTJK2.js";import{t as se}from"./ca4TJ3Op.js";import{t as ce}from"./CFxtLwjp.js";var le={class:`page`},ue={class:`aw-page-head`},de={class:`sub`},fe={class:`head-actions`},pe=[`title`],b={class:`live-txt mono`},x={class:`filter-card`},S={class:`flt`},C={value:``},w=[`value`],T={class:`flt`},E={value:``},D=[`value`],O={class:`flt`},k={value:``},A=[`value`],j={class:`flt`},M={value:``},N={value:`user`},P={value:`system`},F={class:`flt`},I={value:``},L=[`value`],R={class:`flt flt-grow`},z=[`placeholder`],B=[`disabled`],me={class:`table-card`},he={key:0,class:`err`},ge={class:`log-table`},_e={class:`th-time`},ve={class:`th-src`},ye={class:`th-kind`},be={class:`th-scope`},xe={class:`th-detail`},Se={class:`mono dim`},Ce={class:`actor`},we={class:`summary`},Te={class:`mono dim action`},Ee={class:`scope`},De=[`title`],Oe=[`title`],ke={key:2,class:`scope-chip`,title:`Recipe`},Ae={key:3,class:`dim`},je={class:`detail-cell`},Me=[`onClick`],Ne={key:1,class:`dim`},Pe={key:0,class:`log-detail-row`},Fe={colspan:`7`,class:`detail-td`},V={class:`detail-box mono`},Ie={class:`log-empty-row`},Le={key:0,colspan:`7`,class:`empty`},Re={class:`modal`},ze={class:`m-title`},Be={class:`m-f`},Ve=[`placeholder`],He={class:`m-f`},Ue=[`placeholder`],We={class:`m-grid`},Ge={class:`m-f`},Ke={value:``},qe=[`value`],Je={class:`m-f`},Ye={value:``},Xe=[`value`],Ze={class:`m-f`},Qe={value:``},$e=[`value`],et={key:0,class:`err`},tt={class:`m-actions`},nt=[`disabled`],H=y(ee({name:`OpsLogsPage`,setup(ee){let y=e=>t().$i18n.t(e),H=se(),rt=oe(),U=ce(),it=[`write`,`manual`,`alarm`,`line`,`recipe`,`rollback`,`daq`,`system`],W=c({lineId:``,productId:``,recipeId:``,actorKind:``,kind:``,text:``}),G=m(null),K=m(!1),q=c({summary:``,detail:``,lineId:``,productId:``,recipeId:``}),at=s(()=>!!(W.lineId||W.productId||W.recipeId||W.actorKind||W.kind||W.text.trim())),J=s(()=>H.products.filter(e=>!W.lineId||e.lineId===W.lineId)),Y=s(()=>H.recipes.filter(e=>(!W.lineId||e.lineId===W.lineId)&&(!W.productId||e.productId===W.productId)));function X(){U.fetchLogs({lineId:W.lineId,productId:W.productId,recipeId:W.recipeId,actorKind:W.actorKind,kind:W.kind,q:W.text.trim(),limit:300}),G.value=null}function ot(){W.lineId=``,W.productId=``,W.recipeId=``,W.actorKind=``,W.kind=``,W.text=``,X()}function st(){q.summary=``,q.detail=``,q.lineId=W.lineId,q.productId=W.productId,q.recipeId=W.recipeId,K.value=!0}async function ct(){try{let t=q.detail.trim();await U.postManual({summary:q.summary.trim(),lineId:q.lineId,productId:q.productId,recipeId:q.recipeId,...t?{detail:{note:t}}:{}}),e.success(y(`logs.mOk`)),K.value=!1,X()}catch(t){e.error(ae(t))}}function lt(e){return!!e.detailJson&&e.detailJson!==`{}`}function ut(e){G.value=G.value===e.id?null:e.id}function dt(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function ft(e){let t=new Date(e);if(!Number.isFinite(t.getTime()))return e;let n=e=>String(e).padStart(2,`0`);return`${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`}function pt(e){return e===`agent`?`Agent`:y(e===`user`?`logs.src.user`:`logs.src.system`)}function mt(e){return e?y(`logs.kind.${e}`):`—`}function Z(e){return H.lines.find(t=>t.id===e)?.name??``}function Q(e){return H.products.find(t=>t.id===e)?.name??``}function $(e){return H.recipes.find(t=>t.id===e)?.name??``}return n(()=>{rt.ensureConnected(),U.ensureLive(),H.load(),X()}),(e,t)=>(i(),u(`div`,le,[l(`header`,ue,[l(`div`,null,[t[17]||=l(`p`,{class:`aw-kicker`},` agentworkshop / audit log `,-1),l(`h1`,null,r(e.$t(`logs.title`)),1),l(`p`,de,r(e.$t(`logs.sub`)),1)]),l(`div`,fe,[l(`span`,{class:`live-dot`,title:e.$t(`logs.liveHint`)},null,8,pe),l(`span`,b,r(e.$t(`logs.live`))+` `+r(h(U).recent.length),1),l(`button`,{class:`pill-btn`,onClick:st},[t[18]||=l(`span`,{class:`i-tabler-plus`},null,-1),g(` `+r(e.$t(`logs.manual`)),1)])])]),l(`section`,x,[l(`label`,S,[l(`span`,null,r(e.$t(`logs.fLine`)),1),p(l(`select`,{"onUpdate:modelValue":t[0]||=e=>W.lineId=e,class:`inp-sel`,onChange:t[1]||=e=>{W.productId=``,W.recipeId=``}},[l(`option`,C,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(h(H).lines,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,w))),128))],544),[[_,W.lineId]])]),l(`label`,T,[l(`span`,null,r(e.$t(`logs.fProduct`)),1),p(l(`select`,{"onUpdate:modelValue":t[2]||=e=>W.productId=e,class:`inp-sel`,onChange:t[3]||=e=>W.recipeId=``},[l(`option`,E,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(J.value,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,D))),128))],544),[[_,W.productId]])]),l(`label`,O,[t[19]||=l(`span`,null,`Recipe`,-1),p(l(`select`,{"onUpdate:modelValue":t[4]||=e=>W.recipeId=e,class:`inp-sel`},[l(`option`,k,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(Y.value,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,A))),128))],512),[[_,W.recipeId]])]),l(`label`,j,[l(`span`,null,r(e.$t(`logs.fSource`)),1),p(l(`select`,{"onUpdate:modelValue":t[5]||=e=>W.actorKind=e,class:`inp-sel`},[l(`option`,M,r(e.$t(`logs.all`)),1),l(`option`,N,r(e.$t(`logs.src.user`)),1),t[20]||=l(`option`,{value:`agent`},` Agent `,-1),l(`option`,P,r(e.$t(`logs.src.system`)),1)],512),[[_,W.actorKind]])]),l(`label`,F,[l(`span`,null,r(e.$t(`logs.fKind`)),1),p(l(`select`,{"onUpdate:modelValue":t[6]||=e=>W.kind=e,class:`inp-sel`},[l(`option`,I,r(e.$t(`logs.all`)),1),(i(),u(d,null,o(it,t=>l(`option`,{key:t,value:t},r(e.$t(`logs.kind.${t}`)),9,L)),64))],512),[[_,W.kind]])]),l(`label`,R,[l(`span`,null,r(e.$t(`logs.fKeyword`)),1),p(l(`input`,{"onUpdate:modelValue":t[7]||=e=>W.text=e,class:`inp-sel`,type:`search`,placeholder:e.$t(`logs.fKeywordPh`),onKeydown:re(X,[`enter`])},null,40,z),[[v,W.text]])]),l(`button`,{class:`pill-btn`,disabled:h(U).loading.list,onClick:X},[t[21]||=l(`span`,{class:`i-tabler-search`},null,-1),g(` `+r(e.$t(`logs.query`)),1)],8,B),at.value?(i(),u(`button`,{key:0,class:`mini-btn`,onClick:ot},r(e.$t(`logs.reset`)),1)):f(``,!0)]),l(`section`,me,[h(U).error.list?(i(),u(`p`,he,r(h(U).error.list),1)):f(``,!0),l(`table`,ge,[l(`thead`,null,[l(`tr`,null,[l(`th`,_e,r(e.$t(`logs.thTime`)),1),l(`th`,ve,r(e.$t(`logs.fSource`)),1),l(`th`,null,r(e.$t(`logs.thActor`)),1),l(`th`,ye,r(e.$t(`logs.fKind`)),1),l(`th`,null,r(e.$t(`logs.thSummary`)),1),l(`th`,be,r(e.$t(`logs.thScope`)),1),l(`th`,xe,r(e.$t(`logs.thDetail`)),1)])]),l(`tbody`,null,[(i(!0),u(d,null,o(h(U).results,t=>(i(),u(d,{key:t.id},[l(`tr`,null,[l(`td`,Se,r(ft(t.at)),1),l(`td`,null,[l(`span`,{class:a([`src-badge`,t.actorKind])},r(pt(t.actorKind)),3)]),l(`td`,Ce,r(t.actorName||t.actor||`—`),1),l(`td`,null,[l(`span`,{class:a([`kind-chip`,t.kind])},r(mt(t.kind)),3)]),l(`td`,we,[g(r(t.summary)+` `,1),l(`small`,Te,r(t.action),1)]),l(`td`,Ee,[Z(t.lineId)?(i(),u(`span`,{key:0,class:`scope-chip`,title:e.$t(`logs.fLine`)},r(Z(t.lineId)),9,De)):f(``,!0),Q(t.productId)?(i(),u(`span`,{key:1,class:`scope-chip`,title:e.$t(`logs.fProduct`)},r(Q(t.productId)),9,Oe)):f(``,!0),$(t.recipeId)?(i(),u(`span`,ke,r($(t.recipeId)),1)):f(``,!0),!t.lineId&&!t.productId&&!t.recipeId?(i(),u(`span`,Ae,`—`)):f(``,!0)]),l(`td`,je,[lt(t)?(i(),u(`button`,{key:0,class:`mini-btn`,onClick:e=>ut(t)},r(G.value===t.id?e.$t(`logs.fold`):e.$t(`logs.expand`)),9,Me)):(i(),u(`span`,Ne,r(e.$t(`logs.noDetail`)),1))])]),G.value===t.id?(i(),u(`tr`,Pe,[l(`td`,Fe,[l(`pre`,V,r(dt(t.detailJson)),1)])])):f(``,!0)],64))),128)),l(`tr`,Ie,[h(U).results.length===0?(i(),u(`td`,Le,[h(U).loading.list?(i(),u(d,{key:0},[g(r(e.$t(`logs.loading`)),1)],64)):(i(),u(d,{key:1},[g(r(e.$t(`logs.empty`)),1)],64))])):f(``,!0)])])])]),(i(),te(ne,{to:`body`},[K.value?(i(),u(`div`,{key:0,class:`modal-mask`,onClick:t[16]||=ie(e=>K.value=!1,[`self`])},[l(`div`,Re,[l(`h3`,ze,r(e.$t(`logs.manual`)),1),l(`label`,Be,[l(`span`,null,r(e.$t(`logs.mSummary`))+` *`,1),p(l(`textarea`,{"onUpdate:modelValue":t[8]||=e=>q.summary=e,rows:`3`,placeholder:e.$t(`logs.mSummaryPh`)},null,8,Ve),[[v,q.summary]])]),l(`label`,He,[l(`span`,null,r(e.$t(`logs.mDetail`)),1),p(l(`textarea`,{"onUpdate:modelValue":t[9]||=e=>q.detail=e,rows:`2`,placeholder:e.$t(`logs.mDetailPh`)},null,8,Ue),[[v,q.detail]])]),l(`div`,We,[l(`label`,Ge,[l(`span`,null,r(e.$t(`logs.fLine`)),1),p(l(`select`,{"onUpdate:modelValue":t[10]||=e=>q.lineId=e,class:`inp-sel`,onChange:t[11]||=e=>{q.productId=``,q.recipeId=``}},[l(`option`,Ke,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(h(H).lines,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,qe))),128))],544),[[_,q.lineId]])]),l(`label`,Je,[l(`span`,null,r(e.$t(`logs.fProduct`)),1),p(l(`select`,{"onUpdate:modelValue":t[12]||=e=>q.productId=e,class:`inp-sel`,onChange:t[13]||=e=>q.recipeId=``},[l(`option`,Ye,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(J.value,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,Xe))),128))],544),[[_,q.productId]])]),l(`label`,Ze,[t[22]||=l(`span`,null,`Recipe`,-1),p(l(`select`,{"onUpdate:modelValue":t[14]||=e=>q.recipeId=e,class:`inp-sel`},[l(`option`,Qe,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(Y.value,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,$e))),128))],512),[[_,q.recipeId]])])]),h(U).error.post?(i(),u(`p`,et,r(h(U).error.post),1)):f(``,!0),l(`div`,tt,[l(`button`,{class:`ghost-btn`,onClick:t[15]||=e=>K.value=!1},r(e.$t(`common.cancel`)),1),l(`button`,{class:`pill-btn`,disabled:h(U).loading.posting||!q.summary.trim(),onClick:ct},r(e.$t(`logs.mSubmit`)),9,nt)])])])):f(``,!0)]))]))}}),[[`__scopeId`,`data-v-d6872483`]]);export{H as default};
@@ -0,0 +1 @@
1
+ .line-chip[data-v-ff580c34]{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:8px;display:inline-block;box-shadow:0 0 10px}.param-chip.daqwin[data-v-ff580c34]{color:#41c8f4;border-color:#41c8f466}.adopt-card[data-v-ff580c34]{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.adopt-title[data-v-ff580c34]{color:var(--aw-dim,#8fa0b5);flex:none;padding-top:4px;font-size:12px}.adopt-list[data-v-ff580c34]{flex-wrap:wrap;gap:8px;display:flex}.adopt-chip[data-v-ff580c34]{color:#e8eef8;background:#0d1420b3;border:1px solid #3c506e80;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 8px;font-size:11.5px;display:inline-flex}.page[data-v-ff580c34]{padding:4px}h1[data-v-ff580c34]{letter-spacing:-.015em;margin:2px 0 4px;font-size:30px;font-weight:400}.ledger-card[data-v-ff580c34]{margin-bottom:14px;padding:14px 18px}.ledger-head[data-v-ff580c34]{align-items:center;gap:12px;display:flex}.ledger-head b[data-v-ff580c34]{font-size:13.5px}.ledger-tri[data-v-ff580c34]{align-items:center;gap:12px;margin-top:12px;display:flex}.tri-cell[data-v-ff580c34]{background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);flex-direction:column;flex:none;gap:2px;padding:8px 16px;display:flex}.tri-cell small[data-v-ff580c34]{color:var(--ink-faint);font-size:11.5px}.tri-cell b[data-v-ff580c34]{color:var(--ink);font-size:17px}.ledger-cols[data-v-ff580c34]{grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;display:grid}.sec-t[data-v-ff580c34]{letter-spacing:.12em;color:var(--ink-faint);margin-bottom:6px;font-size:11.5px;font-weight:700;display:block}.ledger-list[data-v-ff580c34]{max-height:200px;color:var(--ink-soft);flex-direction:column;gap:3px;margin:0;padding:0;font-size:11.5px;list-style:none;display:flex;overflow:auto}.ledger-rec[data-v-ff580c34]{align-items:center;gap:8px;display:flex}.rec-st[data-v-ff580c34]{font-family:var(--font-mono);color:var(--ink-faint);border:1px solid var(--line-strong);border-radius:4px;flex:none;padding:0 6px;font-size:11.5px}.rec-st.open[data-v-ff580c34]{color:var(--tone-warning-dot);border-color:var(--tone-warning-dot)}.tri-cell b[data-v-ff580c34]{overflow-wrap:anywhere}.rec-st.judged[data-v-ff580c34]{color:var(--tone-warning-dot);border-color:var(--tone-warning-dot);opacity:.85}.rec-st.judged-keep[data-v-ff580c34],.rec-st.rolled-back[data-v-ff580c34]{color:var(--tone-success-dot);border-color:var(--tone-success-dot)}.sub[data-v-ff580c34]{opacity:.6;margin:0;font-size:12.5px}.mono[data-v-ff580c34]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-ff580c34]{opacity:.55}.badges[data-v-ff580c34]{gap:8px;display:flex}.badge[data-v-ff580c34]{letter-spacing:.05em;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:3px 10px;font-size:11.5px}.ctrl-card[data-v-ff580c34]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px 18px;display:flex}.ctrl-left[data-v-ff580c34]{align-items:center;gap:14px;display:flex}.aw-pill.running[data-v-ff580c34]{background:var(--accent)}.ctrl-right[data-v-ff580c34]{align-items:center;gap:12px;display:flex}.ctrl-metrics[data-v-ff580c34]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:11.5px;display:flex}.ctrl-metrics .sep[data-v-ff580c34]{opacity:.4}.ctrl-metrics .warn[data-v-ff580c34]{color:var(--tone-warning-dot)}.add-btn[data-v-ff580c34]{padding:8px 16px;font-size:13px}.banner[data-v-ff580c34]{border-radius:var(--radius-chip);margin:0 0 12px;padding:9px 14px;font-size:12.5px}.banner.bad[data-v-ff580c34]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.banner.good[data-v-ff580c34]{color:var(--tone-success-dot);background:var(--tone-success-bg);border:1px solid color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.table-card[data-v-ff580c34]{margin-bottom:14px;overflow-x:auto}.nodes-table[data-v-ff580c34]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table td[data-v-ff580c34],.nodes-table th[data-v-ff580c34]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:9px 12px}.nodes-table th[data-v-ff580c34]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:600}.nodes-table td b[data-v-ff580c34]{margin-left:8px}.ch[data-v-ff580c34]{color:var(--ink-faint);margin-top:2px;font-size:11.5px;display:block}.right[data-v-ff580c34]{text-align:right}.val[data-v-ff580c34]{font-size:13px}.val small[data-v-ff580c34]{color:var(--ink-faint);margin-left:3px}.read-stale[data-v-ff580c34]{color:var(--tone-danger-dot,#e05a5a);text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.read-btn[data-v-ff580c34]{margin-left:8px}.st-pill[data-v-ff580c34]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:3px 9px;font-size:11.5px;display:inline-block}.st-pill.ok[data-v-ff580c34]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.writing[data-v-ff580c34]{color:var(--ink);background:var(--hover-tint)}.st-pill.alarm[data-v-ff580c34],.st-pill.error[data-v-ff580c34]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.warn[data-v-ff580c34]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.idle[data-v-ff580c34],.st-pill.offline[data-v-ff580c34]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.paused[data-v-ff580c34]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.ctrl-toggle[data-v-ff580c34]{cursor:pointer;color:var(--ink-faint);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;display:inline-flex}.ctrl-toggle .ct-dot[data-v-ff580c34]{background:var(--tone-neutral-dot);border-radius:50%;width:7px;height:7px}.ctrl-toggle.on[data-v-ff580c34]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 45%, transparent)}.ctrl-toggle.on .ct-dot[data-v-ff580c34]{background:var(--tone-success-dot);box-shadow:0 0 6px var(--tone-success-dot)}.ctrl-toggle[data-v-ff580c34]:disabled{opacity:.55;cursor:wait}.node-paused td[data-v-ff580c34]{opacity:.6}.node-paused .write-row[data-v-ff580c34]{opacity:.5}.tpl-hint[data-v-ff580c34]{margin:0 0 10px;font-size:12px}.recipe-hd[data-v-ff580c34],.recipe-actions[data-v-ff580c34]{flex-wrap:wrap}.tpl-chips[data-v-ff580c34]{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.tpl-chip[data-v-ff580c34]{color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);flex-wrap:wrap;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;display:inline-flex}.tpl-chip small[data-v-ff580c34]{color:var(--ink-faint)}.tpl-tag[data-v-ff580c34]{color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:var(--radius-pill);padding:1px 6px;font-size:11.5px;font-style:normal}.tpl-tag.builtin[data-v-ff580c34]{color:var(--ink-faint);border-color:var(--line-strong)}.write-row[data-v-ff580c34]{align-items:center;gap:6px;display:flex}.write-inp[data-v-ff580c34]{width:92px;padding:4px 8px}.write-btn[data-v-ff580c34]{padding:5px 12px}.mini-btn[data-v-ff580c34]{margin-right:4px}.mini-btn.danger[data-v-ff580c34]{color:var(--tone-danger-dot)}.mini-btn[data-v-ff580c34]:hover{border-color:var(--accent);color:var(--accent)}.inp[data-v-ff580c34]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.line-card[data-v-ff580c34]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px 18px;display:flex}.line-status[data-v-ff580c34]{align-items:center;gap:12px;min-width:260px;display:flex}.line-dot[data-v-ff580c34]{background:var(--tone-neutral-dot);width:12px;height:12px;box-shadow:0 0 0 4px color-mix(in srgb, var(--tone-neutral-dot) 20%, transparent);border-radius:50%}.line-dot.on[data-v-ff580c34]{background:var(--tone-success-dot);box-shadow:0 0 0 4px color-mix(in srgb, var(--tone-success-dot) 22%, transparent);animation:1.6s infinite linePulse-ff580c34}@keyframes linePulse-ff580c34{0%,to{box-shadow:0 0 0 3px color-mix(in srgb, var(--tone-success-dot) 25%, transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--tone-success-dot) 8%, transparent)}}.line-info b[data-v-ff580c34]{font-size:14px}.line-info small[data-v-ff580c34]{margin-top:2px;font-size:11px;display:block}.line-ctl[data-v-ff580c34]{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.ctl-sel[data-v-ff580c34]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11px;display:flex}.ctl-sel .inp[data-v-ff580c34]{min-width:150px}.param-chip[data-v-ff580c34]{overflow-wrap:anywhere}.pill-btn.stop[data-v-ff580c34]{background:var(--tone-danger-dot);border-color:var(--tone-danger-dot)}.product-row[data-v-ff580c34]{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.prod-chip[data-v-ff580c34]{cursor:pointer;color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:inline-flex}.prod-chip.on[data-v-ff580c34]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.prod-del[data-v-ff580c34]{color:var(--tone-danger-dot);font-weight:700}.query-card[data-v-ff580c34]{margin-bottom:14px;padding:14px 18px}.q-grid[data-v-ff580c34]{grid-template-columns:repeat(6,1fr);align-items:end;gap:10px;display:grid}.recipe-grid[data-v-ff580c34]{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}.q-grid .f[data-v-ff580c34]{color:var(--ink-faint);font-size:11px}.q-actions[data-v-ff580c34]{justify-content:flex-end}.q-result[data-v-ff580c34]{margin-top:12px;overflow-x:auto}.cal-form[data-v-ff580c34]{grid-template-columns:2fr 1fr;align-items:end}.recipe-card[data-v-ff580c34]{margin-bottom:14px;padding:16px 18px}.recipe-hd[data-v-ff580c34]{align-items:center;gap:10px;margin-bottom:6px;display:flex}.recipe-hd h3[data-v-ff580c34]{margin:0;font-size:16px}.panel-tag[data-v-ff580c34]{color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:2px 8px;font-size:11.5px}.recipe-sub[data-v-ff580c34]{color:var(--ink-faint);margin:0 0 14px;font-size:12px}.recipe-grid[data-v-ff580c34]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.recipe-item[data-v-ff580c34]{background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);padding:12px 14px}.recipe-name b[data-v-ff580c34]{font-size:13.5px}.recipe-name small[data-v-ff580c34]{margin-left:8px}.desc[data-v-ff580c34]{margin:4px 0;font-size:12px}.recipe-params[data-v-ff580c34]{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.param-chip[data-v-ff580c34]{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:var(--radius-chip);padding:2px 8px;font-size:11.5px}.recipe-actions[data-v-ff580c34]{align-items:center;gap:6px;margin-top:8px;display:flex}.ver-row[data-v-ff580c34]{border:1px solid var(--divider-hair);border-radius:10px;margin-bottom:8px;padding:10px 12px}.ver-row.cur[data-v-ff580c34]{background:color-mix(in srgb, var(--accent) 6%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.ver-head[data-v-ff580c34]{align-items:center;gap:10px;display:flex}.ver-v[data-v-ff580c34]{font-size:13px;font-weight:700}.ver-src[data-v-ff580c34]{border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:1px 8px;font-size:11.5px}.ver-src.agent[data-v-ff580c34]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.ver-src.user[data-v-ff580c34]{color:var(--ink-soft)}.ver-src.system[data-v-ff580c34]{color:var(--ink-faint)}.ver-src.cur[data-v-ff580c34]{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:#0000}.ver-actor[data-v-ff580c34]{font-family:var(--font-mono);color:var(--ink-soft);font-size:12px}.ver-desc[data-v-ff580c34]{color:var(--ink);margin:6px 0 0;font-size:12px}.ver-diff[data-v-ff580c34]{color:var(--ink-faint);margin:4px 0 0;font-size:11px}.sec-label[data-v-ff580c34]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}.runs[data-v-ff580c34]{margin-top:6px}.modal-mask[data-v-ff580c34]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-ff580c34]{background:var(--surface-glass-strong);width:680px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:22px 24px;overflow-y:auto}.m-title[data-v-ff580c34]{margin:0 0 14px;font-size:17px}.seg-row[data-v-ff580c34]{gap:8px;margin-bottom:14px;display:flex}.seg[data-v-ff580c34]{cursor:pointer;color:var(--ink-faint);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);flex:1;padding:8px 0;font-size:13px}.seg.on[data-v-ff580c34]{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:600}.f-grid[data-v-ff580c34]{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.driver-form[data-v-ff580c34]{grid-template-columns:repeat(3,1fr)}.param-row[data-v-ff580c34]{grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:end;gap:8px;margin-bottom:8px;display:grid}.param-row .f[data-v-ff580c34]{flex:1}.param-del[data-v-ff580c34]{margin-bottom:2px}.f[data-v-ff580c34]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.f em[data-v-ff580c34]{margin-left:3px;font-style:normal}.hint[data-v-ff580c34]{color:var(--ink-faint);font-size:11.5px}.test-row[data-v-ff580c34]{align-items:center;gap:10px;margin:6px 0 4px;display:flex}.test-result[data-v-ff580c34]{font-family:var(--font-mono);font-size:11px}.test-result.good[data-v-ff580c34]{color:var(--tone-success-dot)}.test-result.bad[data-v-ff580c34]{color:var(--tone-danger-dot)}.m-err[data-v-ff580c34]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.m-note[data-v-ff580c34]{color:var(--ink-faint);margin:8px 0 0;font-size:12px}.param-chip.stale[data-v-ff580c34]{color:var(--ink-faint);background:color-mix(in srgb, var(--ink) 5%, transparent);border-color:var(--divider-hair);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--ink-faint) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--ink-faint) 60%, transparent)}.chip-stale-tag[data-v-ff580c34]{color:var(--tone-danger-dot);background:color-mix(in srgb, var(--tone-danger-dot) 8%, transparent);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 30%, transparent);border-radius:var(--radius-chip);margin-left:5px;padding:0 5px;font-size:11.5px;font-style:normal;text-decoration:none}.row-stale[data-v-ff580c34]{color:var(--tone-danger-dot);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 30%, transparent);border-radius:var(--radius-chip);flex:none;padding:1px 7px;font-size:11.5px}.m-actions[data-v-ff580c34]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.aw-pill.outline[data-v-ff580c34]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}.err[data-v-ff580c34]{color:var(--tone-danger-dot);margin-top:14px;font-size:13px}@media (prefers-reduced-motion:no-preference){.nodes-table tbody tr[data-v-ff580c34]:hover{background:var(--hover-tint)}}@media (width<=900px){.ctrl-card[data-v-ff580c34]{gap:12px;padding:12px}.ctrl-right[data-v-ff580c34]{flex-wrap:wrap;gap:8px 10px;width:100%}.ctrl-metrics[data-v-ff580c34]{width:100%}.line-card[data-v-ff580c34]{gap:12px;padding:12px}.line-status[data-v-ff580c34]{min-width:0}.line-ctl[data-v-ff580c34]{width:100%}.ctl-sel[data-v-ff580c34]{flex:140px;min-width:0}.ctl-sel .inp[data-v-ff580c34]{width:100%;min-width:0}.line-ctl .pill-btn[data-v-ff580c34]{flex:120px}.table-card[data-v-ff580c34]{-webkit-overflow-scrolling:touch;overflow-x:auto}.nodes-table[data-v-ff580c34]{min-width:1080px}.nodes-table td[data-v-ff580c34],.nodes-table th[data-v-ff580c34]{white-space:nowrap}.nodes-table tbody>tr>td[data-v-ff580c34]:first-child,.nodes-table thead>tr>th[data-v-ff580c34]:first-child{z-index:2;background:var(--paper-raised);box-shadow:1px 0 0 var(--line);position:sticky;left:0}.adopt-card[data-v-ff580c34],.ledger-card[data-v-ff580c34],.query-card[data-v-ff580c34],.recipe-card[data-v-ff580c34]{padding:12px}.ledger-cols[data-v-ff580c34]{grid-template-columns:1fr}.ledger-tri[data-v-ff580c34]{flex-wrap:wrap}.aw-pill[data-v-ff580c34],.ctrl-toggle[data-v-ff580c34],.inp[data-v-ff580c34],.mini-btn[data-v-ff580c34],.pill-btn[data-v-ff580c34],.prod-chip[data-v-ff580c34],.tpl-chip[data-v-ff580c34],.write-inp[data-v-ff580c34]{min-height:40px}.write-inp[data-v-ff580c34]{width:100%;min-width:90px}.write-row[data-v-ff580c34]{flex-wrap:wrap}.cal-form[data-v-ff580c34],.driver-form[data-v-ff580c34],.f-grid[data-v-ff580c34]{grid-template-columns:1fr}.q-grid[data-v-ff580c34]{grid-template-columns:repeat(2,minmax(0,1fr))}.param-row[data-v-ff580c34]{grid-template-columns:1fr 1fr}.modal[data-v-ff580c34]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:16px 14px}.seg[data-v-ff580c34]{min-height:40px;padding:10px 0}.m-actions[data-v-ff580c34]{flex-wrap:wrap}.m-actions[data-v-ff580c34]>*{flex:auto}.recipe-hd .mini-btn[data-v-ff580c34],.recipe-hd .pill-btn[data-v-ff580c34]{min-height:40px}}@media (width<=640px){h1[data-v-ff580c34]{font-size:22px}.q-grid[data-v-ff580c34]{grid-template-columns:1fr}}
@@ -0,0 +1 @@
1
+ .page[data-v-6e40dda6]{padding:4px}.back[data-v-6e40dda6]{color:var(--ink-faint);text-decoration:none}.back[data-v-6e40dda6]:hover{color:var(--accent)}.aw-page-head h1[data-v-6e40dda6]{letter-spacing:-.01em;margin:2px 0 4px;font-size:26px;font-weight:400}.mono[data-v-6e40dda6]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sec[data-v-6e40dda6]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 10px;font-size:12px;font-weight:600}.mt[data-v-6e40dda6]{margin-top:22px}.err[data-v-6e40dda6]{color:var(--tone-danger-dot);margin-top:14px;font-size:13px}.grid[data-v-6e40dda6]{grid-template-columns:minmax(260px,340px) minmax(320px,1fr) minmax(280px,380px);align-items:start;gap:14px;display:grid}@media (width<=1100px){.grid[data-v-6e40dda6]{grid-template-columns:1fr}}.pad[data-v-6e40dda6],.value-card[data-v-6e40dda6]{padding:16px 18px}.big-val[data-v-6e40dda6]{color:var(--accent);margin:8px 0 10px;font-size:40px;line-height:1.1}.big-val small[data-v-6e40dda6]{color:var(--ink-faint);margin-left:8px;font-size:15px}.live-canvas[data-v-6e40dda6]{border:1px solid var(--line);border-radius:var(--radius-chip);background:var(--paper-deep);width:100%;height:64px}.facts[data-v-6e40dda6]{flex-direction:column;gap:4px;margin:14px 0 0;display:flex}.facts div[data-v-6e40dda6]{justify-content:space-between;font-size:11.5px;display:flex}.facts dt[data-v-6e40dda6]{color:var(--ink-faint)}.facts dd[data-v-6e40dda6]{color:var(--ink);margin:0}.form-grid[data-v-6e40dda6]{flex-direction:column;gap:10px;display:flex}.field[data-v-6e40dda6]{color:var(--ink-faint);flex-direction:column;flex:1;gap:4px;font-size:12px;display:flex}.field.row[data-v-6e40dda6]{flex-direction:row;align-items:center;gap:8px}.field.row small[data-v-6e40dda6]{color:var(--ink-faint)}.field-row[data-v-6e40dda6]{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.input[data-v-6e40dda6]{width:100%;color:var(--ink);background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:6px 9px;font-size:12.5px}.input[data-v-6e40dda6]:disabled{opacity:.45}.grow[data-v-6e40dda6]{flex:auto}.toggle[data-v-6e40dda6]{cursor:pointer;color:var(--tone-neutral-dot);background:var(--tone-neutral-bg);border-radius:var(--radius-chip);border:0;align-self:flex-start;padding:6px 12px;font-size:12px}.toggle.on[data-v-6e40dda6]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.toggle.slim[data-v-6e40dda6]{padding:6px 10px;font-size:11.5px}.bind-row[data-v-6e40dda6]{gap:8px;display:flex}.driver-grid[data-v-6e40dda6]{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.field em[data-v-6e40dda6]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.test-row[data-v-6e40dda6]{align-items:center;gap:10px;margin-top:8px;display:flex}.test-out[data-v-6e40dda6]{font-size:11px}.test-out.ok[data-v-6e40dda6]{color:var(--tone-success-dot)}.test-out.bad[data-v-6e40dda6]{color:var(--tone-danger-dot)}.col-hist[data-v-6e40dda6]{min-width:0}.hist-hd[data-v-6e40dda6]{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.hist-ctl[data-v-6e40dda6]{align-items:center;gap:6px;display:flex}.refresh-ctl[data-v-6e40dda6]{color:var(--ink-soft);align-items:center;gap:3px;font-size:11px;display:inline-flex}.refresh-ctl input[data-v-6e40dda6]{width:62px;color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:3px 6px;font-size:11px}.refresh-ctl input[data-v-6e40dda6]:focus{border-color:var(--accent);outline:none}.hist-canvas[data-v-6e40dda6]{border:1px solid var(--line);border-radius:var(--radius-chip);background:var(--paper-deep);width:100%;height:130px}.raw-table[data-v-6e40dda6]{border-collapse:collapse;width:100%;margin-top:10px;font-size:11px}.raw-table td[data-v-6e40dda6],.raw-table th[data-v-6e40dda6]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:4px 6px}.raw-table th[data-v-6e40dda6]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.st-pill[data-v-6e40dda6]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:3px 11px;font-size:11px;display:inline-block}.st-pill.ok[data-v-6e40dda6]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.warn[data-v-6e40dda6]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.alarm[data-v-6e40dda6]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.offline[data-v-6e40dda6]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.frames-tile[data-v-6e40dda6]{margin-top:14px}.frames-n[data-v-6e40dda6]{color:var(--ink-faint);margin-left:8px}.vec-svg[data-v-6e40dda6]{background:var(--tone-neutral-bg);border-radius:6px;width:100%;height:96px;margin-bottom:10px;display:block}.gal[data-v-6e40dda6]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.gal-item[data-v-6e40dda6]{cursor:zoom-in;margin:0}.gal-item img[data-v-6e40dda6]{aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;background:var(--tone-neutral-bg);border-radius:6px;width:100%;display:block}.gal-item figcaption[data-v-6e40dda6]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.frames-empty[data-v-6e40dda6]{color:var(--ink-faint);margin:8px 0;font-size:13px}.gal-full[data-v-6e40dda6]{z-index:60;cursor:zoom-out;background:#000000b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gal-full img[data-v-6e40dda6]{border-radius:8px;max-width:92vw;max-height:92vh}
@@ -1 +1 @@
1
- {"id":"f4707884-7cf4-4a31-80d2-e3d72b73745f","timestamp":1789741900121}
1
+ {"id":"78a295bb-2072-48a4-8b46-6d545fdae743","timestamp":1789793190526}
@@ -0,0 +1 @@
1
+ {"id":"78a295bb-2072-48a4-8b46-6d545fdae743","timestamp":1789793190526,"prerendered":[]}
@@ -0,0 +1 @@
1
+ import{dt as e}from"./CSkxz2NX.js";import{t}from"./36oeS8_R.js";import{t as n}from"./D0ZBQrN_2.js";import{t as r}from"./BDmh31hl.js";var i=[{key:`temp-sp`,name:`温度设定器`,code:`TEMP · SP`,ch:`烘箱温度设定`,unit:`℃`,min:150,max:200,decimals:1,icon:`thermo`,semantics:`烘箱/熔体温度设定:升高使热塑温度上升(成膜更均匀但能耗高、过热降解风险),降低则偏冷易厚度不均。调整后需等待热惯性(数十秒级)再评估效果。`},{key:`speed-sp`,name:`速度设定器`,code:`LINE · SP`,ch:`产线速度设定`,unit:`m/min`,min:280,max:360,decimals:0,icon:`encoder`,semantics:`产线速度设定:升速提高产能但缩短物料受热时间(温度补偿需联动),降速利于精细工艺。速度变化会同步影响张力与厚度分布。`},{key:`tension-sp`,name:`张力设定器`,code:`TENSION · SP`,ch:`膜张力设定`,unit:`kN`,min:18,max:26,decimals:1,icon:`tension`,semantics:`膜张力设定:张力过大易断膜/拉伸变形,过小则跑偏起皱。调整需平缓,并与速度联动观察。`},{key:`pressure-sp`,name:`压力设定器`,code:`PRESSURE · SP`,ch:`熔体压力设定`,unit:`MPa`,min:.6,max:1.2,decimals:2,icon:`pressure`,semantics:`熔体压力设定:反映挤出/泵送负荷,压力偏高提示阻力大或温度偏低,偏低可能是料位不足。调整需小幅步进。`}],a=[{kind:`mock`,label:`Mock 模拟 PLC`,status:`builtin`,configFields:[]},{kind:`modbus-tcp`,label:`Modbus TCP(PLC/网关 写保持寄存器)`,status:`real`,configFields:[{key:`host`,label:`设备地址(host)`,type:`string`,required:!0,placeholder:`192.168.1.10`,hint:`PLC 或 Modbus 网关 IP`},{key:`port`,label:`端口`,type:`number`,default:502,hint:`Modbus TCP 标准端口 502`},{key:`unitId`,label:`单元号(unitId)`,type:`number`,default:1,hint:`从站地址,常见 1`},{key:`register`,label:`写寄存器地址`,type:`number`,required:!0,placeholder:`40021`,hint:`4xxxx=保持寄存器(写);回读同址校验`},{key:`dataType`,label:`数据类型`,type:`select`,default:`float32`,options:[{value:`int16`,label:`int16(1 寄存器)`},{value:`uint16`,label:`uint16(1 寄存器)`},{value:`int32`,label:`int32(2 寄存器)`},{value:`uint32`,label:`uint32(2 寄存器)`},{value:`float32`,label:`float32(2 寄存器,常用)`}]},{key:`byteOrder`,label:`字节序`,type:`select`,default:`big`,options:[{value:`big`,label:`大端(AB CD)`},{value:`little`,label:`小端(CD AB)`},{value:`wordSwap`,label:`字交换(CD AB / 交换单字)`}]},{key:`engMin`,label:`工程量程下限`,type:`number`,hint:`线性换算:eng ∈ [engMin, engMax] ↔ raw ∈ [rawMin, rawMax];float32 且未填原始量程时 raw=eng`},{key:`engMax`,label:`工程量程上限`,type:`number`},{key:`rawMin`,label:`原始值下限`,type:`number`,hint:`如 int16 用 0~2000 表示 0.1 分辨率`},{key:`rawMax`,label:`原始值上限`,type:`number`}]},{kind:`opcua`,label:`OPC UA(PLC/MES 写节点值)`,status:`real`,configFields:[{key:`endpoint`,label:`端点(endpoint)`,type:`string`,required:!0,placeholder:`opc.tcp://192.168.1.10:4840`,hint:`OPC UA 服务器地址`},{key:`nodeId`,label:`节点 ID(NodeId)`,type:`string`,required:!0,placeholder:`ns=2;s=Channel1.Device1.SetTemp`,hint:`要写入的变量节点`},{key:`securityMode`,label:`安全策略`,type:`select`,default:`None`,options:[{value:`None`,label:`None(无加密,内网常用)`},{value:`Sign`,label:`Sign(签名)`},{value:`SignAndEncrypt`,label:`SignAndEncrypt(签名+加密)`}]},{key:`username`,label:`用户名(可选)`,type:`string`},{key:`password`,label:`密码(可选)`,type:`string`}]},{kind:`modbus-rtu`,label:`Modbus RTU over TCP(串口网关 写保持寄存器)`,status:`real`,configFields:[{key:`host`,label:`网关地址(host)`,type:`string`,required:!0,placeholder:`192.168.1.50`,hint:`串口服务器/RTU 转 TCP 网关 IP`},{key:`port`,label:`端口`,type:`number`,default:502,hint:`网关透传端口(常见 502 / 8899 / 26)`},{key:`unitId`,label:`从站地址(unitId)`,type:`number`,default:1,hint:`RS-485 总线上的从站地址`},{key:`register`,label:`写寄存器地址`,type:`number`,required:!0,placeholder:`40021`,hint:`4xxxx=保持寄存器(写);回读同址校验`},{key:`dataType`,label:`数据类型`,type:`select`,default:`float32`,options:[{value:`int16`,label:`int16(1 寄存器)`},{value:`uint16`,label:`uint16(1 寄存器)`},{value:`int32`,label:`int32(2 寄存器)`},{value:`uint32`,label:`uint32(2 寄存器)`},{value:`float32`,label:`float32(2 寄存器,常用)`}]},{key:`byteOrder`,label:`字节序`,type:`select`,default:`big`,options:[{value:`big`,label:`大端(AB CD)`},{value:`little`,label:`小端(CD AB)`},{value:`wordSwap`,label:`字交换(CD AB / 交换单字)`}]},{key:`engMin`,label:`工程量程下限`,type:`number`,hint:`线性换算:eng ∈ [engMin, engMax] ↔ raw ∈ [rawMin, rawMax];float32 且未填原始量程时 raw=eng`},{key:`engMax`,label:`工程量程上限`,type:`number`},{key:`rawMin`,label:`原始值下限`,type:`number`},{key:`rawMax`,label:`原始值上限`,type:`number`}]},{kind:`mqtt`,label:`MQTT(发布设定值到 Broker)`,status:`real`,configFields:[{key:`host`,label:`Broker 地址(host)`,type:`string`,required:!0,placeholder:`192.168.1.20`,hint:`MQTT Broker 地址(与边缘网关约定同一 Broker)`},{key:`port`,label:`端口`,type:`number`,default:1883,hint:`MQTT TCP 端口 1883`},{key:`topic`,label:`下发主题(topic)`,type:`string`,required:!0,placeholder:`factory/line1/setpoint`,hint:`网关订阅的控制主题(勿与采集主题相同)`},{key:`jsonKey`,label:`JSON 键(可选)`,type:`string`,placeholder:`setpoint`,hint:`留空 = 纯数字报文;填写 = {"键":值} JSON 报文`},{key:`qos`,label:`QoS`,type:`number`,default:1,hint:`0=至多一次 1=至少一次(推荐)`},{key:`username`,label:`用户名(可选)`,type:`string`},{key:`password`,label:`密码(可选)`,type:`string`}]},{kind:`http`,label:`HTTP/REST(POST 设定值)`,status:`real`,configFields:[{key:`url`,label:`写接口地址(URL)`,type:`string`,required:!0,placeholder:`http://192.168.1.30/api/setpoint`,hint:`接收设定值的 HTTP 接口(POST JSON)`},{key:`bodyKey`,label:`JSON 键(可选)`,type:`string`,placeholder:`setpoint`,hint:`留空 = {"value": 设定值};填写 = {"键": 设定值}`},{key:`headersJSON`,label:`请求头(可选)`,type:`string`,placeholder:`{"Authorization":"Bearer xxx"}`,hint:`JSON 对象形式的 HTTP 头`}]}],o=[`#3aa0ff`,`#f4c542`,`#35e0a0`,`#41c8f4`,`#b58cff`,`#ff8a5c`],s=(e,t)=>r({base:`/api/workshop/dcw`,path:e,init:t,retries:(t?.method??`GET`).toUpperCase()===`GET`?2:0});function c(){let r=e([]),o=new Map,c=e({running:!0,nodesTotal:0,nodesOnline:0,writesTotal:0,writesFailed:0}),l=e(i.map(e=>({...e}))),u=e([]),d=e([]),f=e([]),p=e([]),m=e([]),h=e({}),g=e([]),_=e(a.map(e=>({kind:e.kind,label:e.label,status:e.status,configFields:e.configFields})));function v(e){let t=r.findIndex(t=>t.id===e.id);t>=0?r[t]=Object.assign(r[t],e):(r.push(e),o.set(e.id,r[r.length-1]))}function y(e){if(e.node){if(e.op===`removed`){let t=r.findIndex(t=>t.id===e.node.id);t>=0&&r.splice(t,1),o.delete(e.node.id);return}v(e.node)}}let b=0,x=null;function S(){b++,b===1&&(x=t().subscribe(C));let e=!1;return()=>{e||(e=!0,--b===0&&(x?.(),x=null))}}function C(e){if(e.type===`dcw.written`){let t=e.payload,n=o.get(t.nodeId);n&&(n.value=t.value,n.state=t.ok?`ok`:`error`,n.lastWriteAt=t.at,t.ok&&(n.lastAckAt=t.at)),f.unshift({id:`${t.nodeId}-${t.at}`,nodeId:t.nodeId,nodeName:n?.name??t.nodeId,param:``,eng:t.value,raw:t.raw,ok:t.ok,message:t.message,recipeRunId:t.recipeRunId,at:t.at}),f.length>60&&f.splice(60)}else if(e.type===`dcw.read`){let t=e.payload,n=o.get(t.nodeId);n&&(t.ok&&(n.readValue=t.value),n.lastReadAt=t.at,n.lastReadError=t.ok?null:t.message)}else if(e.type===`dcw.node.changed`)y(e.payload);else if(e.type===`dcw.controller`)Object.assign(c,e.payload);else if(e.type===`dcw.optimization.changed`){let t=e.payload.record,n=g.findIndex(e=>e.id===t.id);n>=0?g[n]=t:g.unshift(t),g.length>200&&(g.length=200)}}async function w(){try{let e=await s(``);r.splice(0,r.length,...e.nodes),o.clear();for(let e of r)o.set(e.id,e);Object.assign(c,e.controller),e.templates?.length&&l.splice(0,l.length,...e.templates.map(e=>({...e}))),e.drivers?.length&&_.splice(0,_.length,...e.drivers),u.splice(0,u.length,...e.recipes??[]),d.splice(0,d.length,...e.runs??[]),f.splice(0,f.length,...e.history??[]),p.splice(0,p.length,...e.products??[]),m.splice(0,m.length,...e.lines??[]);for(let e of Object.keys(h))Reflect.deleteProperty(h,e);for(let t of e.lineStates??[])h[t.lineId]=t;T.loaded=!0,T.error=``}catch(e){T.error=n(e)}}let T=e({nodes:r,controller:c,templates:l,recipes:u,runs:d,history:f,products:p,lines:m,lineStates:h,optimizations:g,driverCatalog:_,loaded:!1,error:``,ensureWsFeed:S,load:w,loadOptimizations:async e=>{let t=new URLSearchParams;e?.lineId&&t.set(`lineId`,e.lineId),e?.recipeId&&t.set(`recipeId`,e.recipeId),e?.nodeId&&t.set(`nodeId`,e.nodeId),e?.status&&t.set(`status`,e.status),t.set(`limit`,String(e?.limit??100));let n=await s(`/optimizations?${t.toString()}`);g.splice(0,g.length,...n.records)},fetchLedger:async e=>(await s(`/${e}/param-ledger`)).ledger,optimizationSeries:async(e,t)=>s(`/optimizations/${e}/series${t?`?windowMs=${t}`:``}`),judgeOptimization:async(e,t,n)=>{await s(`/optimizations/${e}/judge`,{method:`POST`,body:JSON.stringify({verdict:t,reason:n})})},rollbackOptimization:async e=>{await s(`/optimizations/${e}/rollback`,{method:`POST`,body:JSON.stringify({})})},rollbackNode:async(e,t)=>{await s(`/journal/node/${e}/rollback`,{method:`POST`,body:JSON.stringify({to:t})})},markGood:async(e,t)=>{await s(`/recipes/${e}/mark-good`,{method:`POST`,body:JSON.stringify({runId:t})})},rollbackRecipeGood:async e=>{await s(`/recipes/${e}/rollback-good`,{method:`POST`,body:JSON.stringify({})})},createFromTemplate:async(e,t)=>{let n=await s(``,{method:`POST`,body:JSON.stringify({templateRef:e,...t})});return v(n.node),n.node},patchNode:async(e,t)=>{await s(`/${e}`,{method:`PATCH`,body:JSON.stringify(t)})},removeNode:async e=>{await s(`/${e}`,{method:`DELETE`});let t=r.findIndex(t=>t.id===e);t>=0&&r.splice(t,1),o.delete(e)},bindNode:async(e,t)=>{v((await s(`/${e}/bind`,{method:`POST`,body:JSON.stringify({deviceId:t})})).node)},write:async(e,t)=>s(`/${e}/write`,{method:`POST`,body:JSON.stringify({value:t})}).then(e=>e.outcome),readNode:async e=>s(`/${e}/read`,{method:`POST`,body:JSON.stringify({})}).then(e=>e.read),testDriver:async(e,t)=>s(`/test-driver`,{method:`POST`,body:JSON.stringify({driver:e,driverConfig:t})}).then(e=>e.test),testNode:async e=>s(`/${e}/test`,{method:`POST`}).then(e=>e.test),startStop:async e=>{let t=await s(`/controller`,{method:`POST`,body:JSON.stringify({action:e})});Object.assign(c,t.controller)},createTemplate:async e=>{let t=await s(`/templates`,{method:`POST`,body:JSON.stringify(e)});return l.push(t.template),t.template},createRecipe:async e=>{let t=await s(`/recipes`,{method:`POST`,body:JSON.stringify(e)});return u.push(t.recipe),t.recipe},updateRecipe:async(e,t)=>{let n=await s(`/recipes/${e}`,{method:`PATCH`,body:JSON.stringify(t)}),r=u.findIndex(t=>t.id===e);return r>=0&&(u[r]=n.recipe),n.recipe},removeRecipe:async e=>{await s(`/recipes/${e}`,{method:`DELETE`});let t=u.findIndex(t=>t.id===e);t>=0&&u.splice(t,1)},applyRecipe:async e=>{let t=await s(`/recipes/${e}/apply`,{method:`POST`});return d.push(t.run),t.run},recipeVersions:async e=>(await s(`/recipes/${e}/versions`)).versions??[],revertRecipe:async(e,t)=>{let n=await s(`/recipes/${e}/revert`,{method:`POST`,body:JSON.stringify(t)}),r=u.findIndex(t=>t.id===e);return r>=0&&(u[r]=n.recipe),n.recipe},closeRun:async e=>{let t=await s(`/runs/${e}/close`,{method:`POST`}),n=d.findIndex(t=>t.id===e);return n>=0&&(d[n]=t.run),t.run},runData:e=>s(`/runs/${e}/data`),nodeById:e=>o.get(e)??r.find(t=>t.id===e),createProduct:async e=>{let t=await s(`/products`,{method:`POST`,body:JSON.stringify(e)});return p.push(t.product),t.product},updateProduct:async(e,t)=>s(`/products/${e}`,{method:`PATCH`,body:JSON.stringify(t)}).then(e=>(E(),e.product)),removeProduct:async e=>{await s(`/products/${e}`,{method:`DELETE`});let t=p.findIndex(t=>t.id===e);t>=0&&p.splice(t,1)},createLine:async e=>{let t=await s(`/lines`,{method:`POST`,body:JSON.stringify(e)});return m.push(t.line),t.line},updateLine:async(e,t)=>{let n=await s(`/lines/${e}`,{method:`PATCH`,body:JSON.stringify(t)}),r=m.findIndex(t=>t.id===e);r>=0&&(m[r]=n.line)},removeLine:async(e,t=!1)=>{await s(`/lines/${e}${t?`?purge=1`:``}`,{method:`DELETE`});let n=m.findIndex(t=>t.id===e);n>=0&&m.splice(n,1),Reflect.deleteProperty(h,e),await w()},startLine:async(e,t)=>{let n=await s(`/lines/${e}/start`,{method:`POST`,body:JSON.stringify({recipeId:t})});h[e]=n.line},stopLine:async e=>{let t=await s(`/lines/${e}/stop`,{method:`POST`});h[e]=t.line},lineStateOf:e=>h[e]??{lineId:e,active:!1,runId:null,recipeId:null,recipeName:null,productId:null,productName:null,startedAt:null,taggedSamples:0},queryLine:e=>{let t=new URLSearchParams;return e.lineId&&t.set(`lineId`,e.lineId),e.productId&&t.set(`productId`,e.productId),e.recipeId&&t.set(`recipeId`,e.recipeId),e.paramKey&&t.set(`paramKey`,e.paramKey),e.nodeId&&t.set(`nodeId`,e.nodeId),e.fromMs!=null&&t.set(`from`,String(e.fromMs)),e.toMs!=null&&t.set(`to`,String(e.toMs)),e.bucketMs!=null&&t.set(`bucketMs`,String(e.bucketMs)),e.limit!=null&&t.set(`limit`,String(e.limit)),s(`/line/query?${t.toString()}`)}});async function E(){try{let e=await s(``);p.splice(0,p.length,...e.products??[]),u.splice(0,u.length,...e.recipes??[])}catch{}}return T}var l=`__dcwStream`;function u(){let e=globalThis;return e[l]||(e[l]=c()),e[l]}export{a as n,o as r,u as t};
@@ -0,0 +1 @@
1
+ .mono[data-v-4b6f87e1]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-4b6f87e1]{opacity:.55}.ch[data-v-4b6f87e1]{color:var(--ink-faint);margin-top:2px;font-size:10px;display:block}.val[data-v-4b6f87e1]{font-size:13px}.val small[data-v-4b6f87e1]{color:var(--ink-faint);margin-left:3px}.val.stale[data-v-4b6f87e1]{opacity:.45}.val.val-alarm[data-v-4b6f87e1]{color:var(--tone-danger-dot);font-weight:700}.trend-cell[data-v-4b6f87e1]{width:128px}.trend[data-v-4b6f87e1]{width:120px;height:26px;display:block}.trend .trace[data-v-4b6f87e1]{fill:none;stroke:var(--tone-info-dot);stroke-width:1.4px}.trend .trace.alarm[data-v-4b6f87e1]{stroke:var(--tone-danger-dot)}.trend .trace-idle[data-v-4b6f87e1]{stroke:var(--ink-fainter);stroke-width:1px;stroke-dasharray:2 4;opacity:.55}.trend .lim[data-v-4b6f87e1]{stroke:color-mix(in srgb, var(--tone-warning-dot) 62%, transparent);stroke-width:1px;stroke-dasharray:3 3}.trend .lim.max[data-v-4b6f87e1]{stroke:color-mix(in srgb, var(--tone-danger-dot) 55%, transparent)}.st-pill[data-v-4b6f87e1]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:2px 9px;font-size:10.5px;display:inline-block}.st-pill.ok[data-v-4b6f87e1]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.warn[data-v-4b6f87e1]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.alarm[data-v-4b6f87e1]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}tr.row-recipe-alarm[data-v-4b6f87e1]{background:color-mix(in srgb, var(--tone-danger-dot,#ff6b6b) 8%, transparent)}tr.row-recipe-alarm td[data-v-4b6f87e1]:first-child{box-shadow:inset 3px 0 0 var(--tone-danger-dot,#ff6b6b)}.st-pill.offline[data-v-4b6f87e1],.st-pill.disabled[data-v-4b6f87e1],.st-pill.idle[data-v-4b6f87e1],.st-pill.unassigned[data-v-4b6f87e1]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.drv-tag[data-v-4b6f87e1]{font-family:var(--font-mono);border:1px solid var(--line);border-radius:var(--radius-chip);color:var(--ink-soft);padding:2px 7px;font-size:10.5px}.drv-tag.planned[data-v-4b6f87e1]{opacity:.55;border-style:dashed}.console-link[data-v-4b6f87e1]{color:var(--accent);align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.node-toggle[data-v-4b6f87e1]{border:1px solid var(--line);border-radius:var(--radius-chip);color:var(--ink);cursor:pointer;background:0 0;align-items:center;gap:4px;margin-right:12px;padding:2px 9px;font-size:11.5px;transition:border-color .15s,background .15s;display:inline-flex}.node-toggle[data-v-4b6f87e1]:hover{border-color:var(--accent);background:var(--hover-tint)}.node-toggle.off[data-v-4b6f87e1]{color:var(--ink-soft);opacity:.8;border-style:dashed}.dev-binds[data-v-4b6f87e1]{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.dev-bind-chip[data-v-4b6f87e1]{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:var(--radius-chip);align-items:center;gap:4px;padding:1px 7px;font-size:11px;display:inline-flex}.dev-unbind[data-v-4b6f87e1]{cursor:pointer;opacity:.55;font-size:10px}.dev-unbind[data-v-4b6f87e1]:hover{opacity:1;color:var(--tone-danger-dot)}.dev-add[data-v-4b6f87e1]{max-width:130px;font-size:11px}.line-sel[data-v-4b6f87e1]{max-width:120px;color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:3px 6px;font-size:10.5px;transition:border-color .15s}.line-sel[data-v-4b6f87e1]:focus{border-color:var(--accent);outline:none}.run-pill[data-v-4b6f87e1]{color:var(--ink-faint);border:1px solid var(--line);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:2px 9px;font-size:10.5px;display:inline-flex}.run-pill .rp-dot[data-v-4b6f87e1]{opacity:.7;border:1.5px solid;border-radius:50%;width:6px;height:6px}.run-pill.na[data-v-4b6f87e1]{opacity:.75;border-style:dashed}.run-pill.on[data-v-4b6f87e1]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 40%, transparent);background:var(--tone-success-bg)}.run-pill.on .rp-dot[data-v-4b6f87e1]{background:var(--tone-success-dot);opacity:1;border-color:#0000}@media (width<=900px){.ch[data-v-4b6f87e1],.dev-add[data-v-4b6f87e1],.dev-bind-chip[data-v-4b6f87e1],.dev-unbind[data-v-4b6f87e1],.drv-tag[data-v-4b6f87e1],.node-meta small[data-v-4b6f87e1],.st-pill[data-v-4b6f87e1],small.mono[data-v-4b6f87e1]{font-size:11.5px}}@media (prefers-reduced-motion:no-preference){.run-pill.on .rp-dot[data-v-4b6f87e1]{animation:1.8s ease-in-out infinite rpPulse-4b6f87e1}}@keyframes rpPulse-4b6f87e1{0%,to{box-shadow:0 0 2px color-mix(in srgb, var(--tone-success-dot) 55%, transparent)}50%{box-shadow:0 0 7px color-mix(in srgb, var(--tone-success-dot) 85%, transparent)}}.prod-cell[data-v-4b6f87e1]{max-width:170px}.prod-cell b[data-v-4b6f87e1]{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.prod-cell small[data-v-4b6f87e1]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:10px;display:block;overflow:hidden}.page[data-v-74f24580]{padding:4px}h1[data-v-74f24580]{letter-spacing:-.015em;margin:2px 0 4px;font-size:30px;font-weight:400}.sub[data-v-74f24580]{opacity:.6;margin:0;font-size:12.5px}.mono[data-v-74f24580]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-74f24580]{opacity:.55}.badges[data-v-74f24580]{gap:8px;display:flex}.badge[data-v-74f24580]{letter-spacing:.05em;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:3px 10px;font-size:11px}.ctrl-card[data-v-74f24580]{flex-direction:column;gap:11px;margin-bottom:14px;padding:12px 18px 11px;display:flex}.ctrl-row[data-v-74f24580]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.ctrl-left[data-v-74f24580]{flex-wrap:wrap;align-items:center;gap:14px;min-width:0;display:flex}.ctrl-left[data-v-74f24580]>*,.ctrl-right[data-v-74f24580]>*{flex:none}.aw-pill[data-v-74f24580]{white-space:nowrap;flex:none}.mini-act[data-v-74f24580],.mini-btn[data-v-74f24580],.node-toggle[data-v-74f24580],.pill-btn[data-v-74f24580]{white-space:nowrap}.aw-pill.running[data-v-74f24580]{background:var(--accent)}.cycle[data-v-74f24580]{white-space:nowrap;color:var(--ink-faint);flex:none;align-items:center;gap:6px;font-size:12px;display:inline-flex}.cycle input[data-v-74f24580]{width:84px;color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:4px 8px}.ctrl-metrics[data-v-74f24580]{min-width:0;color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;display:flex}.ctrl-metrics>span[data-v-74f24580]{white-space:nowrap}.ctrl-metrics .sep[data-v-74f24580]{opacity:.4}.ctrl-metrics .warn[data-v-74f24580]{color:var(--tone-warning-dot)}.line-strip[data-v-74f24580]{border-top:1px solid var(--divider-hair);align-items:center;gap:12px;padding-top:10px;display:flex}.strip-label[data-v-74f24580]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);flex:none;align-items:center;gap:6px;font-size:10.5px;display:inline-flex}.strip-label small[data-v-74f24580]{color:var(--ink-faint);font-size:10px}.strip-scroll[data-v-74f24580]{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:auto;gap:8px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.strip-scroll[data-v-74f24580]::-webkit-scrollbar{height:4px}.strip-scroll[data-v-74f24580]::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:2px}.strip-scroll[data-v-74f24580]::-webkit-scrollbar-track{background:0 0}.line-pill[data-v-74f24580]{color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-pill);flex:none;align-items:center;gap:7px;padding:4px 12px;font-size:11.5px;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.line-pill .lp-dot[data-v-74f24580]{border:1.5px solid var(--lc,var(--ink-fainter));opacity:.55;border-radius:50%;width:7px;height:7px}.line-pill b[data-v-74f24580]{font-weight:600}.line-pill small[data-v-74f24580]{color:var(--ink-faint);font-size:10.5px}.line-pill[data-v-74f24580]:hover{border-color:var(--lc,var(--accent));color:var(--ink)}.line-pill.on[data-v-74f24580]{color:var(--ink);background:color-mix(in srgb, var(--lc) 10%, transparent);border-color:color-mix(in srgb, var(--lc) 50%, transparent)}.line-pill.on .lp-dot[data-v-74f24580]{background:var(--lc);opacity:1;border-color:#0000}.line-pill.on .lp-run[data-v-74f24580]{color:color-mix(in srgb, var(--lc) 75%, var(--ink))}@media (prefers-reduced-motion:no-preference){.line-pill.on .lp-dot[data-v-74f24580]{box-shadow:0 0 7px color-mix(in srgb, var(--lc) 75%, transparent);animation:1.8s ease-in-out infinite lpPulse-74f24580}}@keyframes lpPulse-74f24580{0%,to{box-shadow:0 0 3px color-mix(in srgb, var(--lc) 55%, transparent)}50%{box-shadow:0 0 9px color-mix(in srgb, var(--lc) 85%, transparent)}}.table-card[data-v-74f24580]{overflow-x:auto}.vs-pad td[data-v-74f24580]{border:0!important;padding:0!important}.nodes-table[data-v-74f24580]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table tbody tr[data-v-74f24580]{content-visibility:auto;contain-intrinsic-size:auto 42px}.nodes-table[data-v-74f24580] td,.nodes-table th[data-v-74f24580]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:9px 12px}.nodes-table th[data-v-74f24580]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:600}.nodes-table[data-v-74f24580] td b{margin-left:8px}.nodes-table[data-v-74f24580] .right,.right[data-v-74f24580]{text-align:right}.ops-panels[data-v-74f24580]{grid-template-columns:minmax(320px,5fr) minmax(320px,7fr);gap:10px;margin:0 0 10px;display:grid}@media (width<=1100px){.ops-panels[data-v-74f24580]{grid-template-columns:1fr}}.ops-panel[data-v-74f24580]{background:var(--surface-glass);border:1px solid var(--glass-line);min-width:0;-webkit-backdrop-filter:var(--aurora-blur) saturate(1.15);backdrop-filter:var(--aurora-blur) saturate(1.15);border-radius:10px}.ops-panel.alarm-panel.live[data-v-74f24580]{border-color:color-mix(in srgb, var(--tone-danger-dot) 40%, var(--glass-line))}.panel-head[data-v-74f24580]{color:var(--ink-soft);border-bottom:1px solid var(--glass-line);align-items:center;gap:7px;padding:8px 12px;font-size:12.5px;display:flex}.panel-head .bell[data-v-74f24580]{color:var(--tone-danger-dot)}.panel-head .cnt[data-v-74f24580]{color:var(--ink-faint);margin-left:auto;font-size:11px}.panel-head .cnt.hot[data-v-74f24580]{color:var(--tone-danger-dot);font-weight:700}.panel-link[data-v-74f24580]{color:var(--tone-info-dot);align-items:center;gap:3px;margin-left:auto;font-size:11.5px;text-decoration:none;display:inline-flex}.panel-head .cnt+.panel-link[data-v-74f24580]{margin-left:12px}.panel-body[data-v-74f24580]{flex-direction:column;gap:5px;max-height:168px;padding:8px 12px;display:flex;overflow-y:auto}.panel-empty[data-v-74f24580]{color:var(--ink-faint);margin:4px 0;font-size:12px}.alarm-row[data-v-74f24580]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 35%, transparent);border-radius:7px;align-items:center;gap:7px;padding:5px 8px;font-size:12px;display:flex}.alarm-row .tri[data-v-74f24580]{flex:none}.alarm-row b[data-v-74f24580]{color:var(--ink)}.alarm-row .esc[data-v-74f24580]{color:var(--tone-danger-dot)}.alarm-row .ack[data-v-74f24580]{margin-left:auto}.evt-row[data-v-74f24580]{border-radius:6px;align-items:center;gap:7px;padding:4px 6px;font-size:12px;display:flex}.evt-row[data-v-74f24580]:hover{background:var(--frost-bg)}.evt-row .t[data-v-74f24580]{flex:none;font-size:11px}.evt-row .txt[data-v-74f24580]{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.src-badge[data-v-74f24580]{border:1px solid var(--glass-line);color:var(--ink-faint);border-radius:99px;flex:none;padding:1px 6px;font-size:10px}.src-badge.agent[data-v-74f24580]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.src-badge.user[data-v-74f24580]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.src-badge.system[data-v-74f24580]{color:var(--ink-faint)}.kind-chip[data-v-74f24580]{color:var(--ink-soft);background:var(--frost-bg);border-radius:5px;flex:none;padding:1px 6px;font-size:10px}.kind-chip.alarm[data-v-74f24580]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.kind-chip.write[data-v-74f24580]{color:var(--tone-info-dot)}.kind-chip.rollback[data-v-74f24580]{color:var(--tone-warning-dot)}.err[data-v-74f24580]{color:var(--tone-danger-dot);margin-top:14px;font-size:13px}@media (prefers-reduced-motion:no-preference){.nodes-table tbody tr[data-v-74f24580]:hover{background:var(--hover-tint)}}.infra-banner[data-v-74f24580]{color:var(--tone-warning-dot);background:var(--tone-warning-bg);border:1px solid color-mix(in srgb, var(--tone-warning-dot) 40%, transparent);border-radius:var(--radius-chip);align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;display:flex}.infra-banner.good[data-v-74f24580]{color:var(--tone-success-dot);background:var(--tone-success-bg);border-color:color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.infra-banner .txt[data-v-74f24580]{flex:auto;font-size:12.5px;line-height:1.5}.infra-banner .txt a[data-v-74f24580]{color:var(--accent);text-decoration:underline}.infra-banner .txt b[data-v-74f24580]{font-weight:600}.infra-banner .txt small[data-v-74f24580]{opacity:.75;margin-left:8px;font-size:10.5px}.infra-banner .pill-btn[data-v-74f24580]{flex:none}.alarm-bar[data-v-74f24580]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent);border-radius:var(--radius-chip);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:8px 14px;display:flex}.bar-label[data-v-74f24580]{letter-spacing:.05em;text-transform:uppercase;flex:none;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.bar-label .bell[data-v-74f24580]{animation:1.6s ease-in-out infinite bellShake-74f24580}@media (prefers-reduced-motion:reduce){.bar-label .bell[data-v-74f24580]{animation:none}}@keyframes bellShake-74f24580{0%,80%,to{transform:rotate(0)}85%{transform:rotate(12deg)}90%{transform:rotate(-10deg)}95%{transform:rotate(6deg)}}.alarm-scroll[data-v-74f24580]{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:auto;gap:8px;min-width:0;display:flex;overflow-x:auto}.alarm-item[data-v-74f24580]{color:var(--ink-soft);background:var(--paper-deep);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 30%, transparent);border-radius:var(--radius-pill);flex:none;align-items:center;gap:8px;padding:4px 10px;font-size:11.5px;display:inline-flex}.alarm-item b[data-v-74f24580]{font-weight:600}.alarm-item .dim[data-v-74f24580]{opacity:.6}.alarm-item .esc[data-v-74f24580]{color:var(--tone-warning-dot)}.alarm-item .ack[data-v-74f24580]{color:var(--paper-raised);background:var(--tone-danger-dot);border-color:#0000;padding:2px 9px}.alarm-item .ack[data-v-74f24580]:hover{opacity:.85;color:var(--paper-raised);border-color:#0000}.ctrl-right[data-v-74f24580]{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.add-btn[data-v-74f24580]{white-space:nowrap;padding:8px 16px;font-size:13px}.modal-mask[data-v-74f24580]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-74f24580]{background:var(--surface-glass-strong);width:640px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:22px 24px;overflow-y:auto}.m-title[data-v-74f24580]{margin:0 0 14px;font-size:17px}.seg-row[data-v-74f24580]{gap:8px;margin-bottom:14px;display:flex}.seg[data-v-74f24580]{cursor:pointer;color:var(--ink-faint);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);flex:1;padding:8px 0;font-size:13px}.seg.on[data-v-74f24580]{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:600}.f-grid[data-v-74f24580]{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.driver-form[data-v-74f24580]{grid-template-columns:repeat(3,1fr)}.cal-form[data-v-74f24580]{grid-template-columns:2fr 1fr;align-items:end}.f[data-v-74f24580]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.f em[data-v-74f24580]{color:var(--tone-danger-dot);margin-left:3px;font-style:normal}.inp[data-v-74f24580]{width:100%;color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:6px 9px;font-size:12.5px}.hint[data-v-74f24580]{color:var(--ink-faint);font-size:10px}.test-row[data-v-74f24580]{align-items:center;gap:10px;margin:6px 0 4px;display:flex}.test-result[data-v-74f24580]{font-family:var(--font-mono);font-size:11px}.test-result.ok[data-v-74f24580]{color:var(--tone-success-dot)}.test-result.bad[data-v-74f24580]{color:var(--tone-danger-dot)}.m-err[data-v-74f24580]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.m-actions[data-v-74f24580]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.aw-pill.outline[data-v-74f24580]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}.sec-label[data-v-74f24580]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}.tpl-table[data-v-74f24580]{border-collapse:collapse;width:100%;font-size:12.5px}.tpl-table td[data-v-74f24580]{border-bottom:1px solid var(--divider-hair);padding:7px 8px}.tpl-table td b[data-v-74f24580]{margin-right:8px}.tpl-table .range[data-v-74f24580]{color:var(--ink-soft);font-size:11.5px}.tpl-table .empty[data-v-74f24580]{color:var(--ink-faint);text-align:center;padding:14px 0;font-size:12px}.tpl-table .actions[data-v-74f24580]{white-space:nowrap}.tbl-toolbar[data-v-74f24580]{border-bottom:1px solid var(--divider-hair);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;padding:11px 14px;display:flex}.filters[data-v-74f24580]{flex-wrap:wrap;align-items:flex-end;gap:9px;display:flex}.flt[data-v-74f24580]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);flex-direction:column;gap:3px;font-size:10px;display:flex}.inp-sel[data-v-74f24580]{min-width:112px;color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:4px 8px;font-size:11.5px;transition:border-color .15s}.inp-sel[data-v-74f24580]:focus{border-color:var(--accent);outline:none}.clear-btn[data-v-74f24580]{margin-bottom:1px}.flt-search[data-v-74f24580]{width:168px;min-width:0}.flt-search[data-v-74f24580]::placeholder{color:var(--ink-faint)}.count[data-v-74f24580]{color:var(--ink-faint);padding-bottom:4px;font-size:11px}.opt-card[data-v-74f24580]{padding:0}.opt-head[data-v-74f24580]{width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:12px 16px;font-size:13.5px;display:flex}.opt-head>.i-tabler-flask[data-v-74f24580]{color:var(--tone-info-dot);font-size:16px}.opt-count[data-v-74f24580]{color:var(--tone-info-dot);background:var(--tone-info-bg);border-radius:999px;padding:1px 8px;font-size:10.5px}.opt-chevron[data-v-74f24580]{border-right:1.5px solid var(--ink-faint);border-bottom:1.5px solid var(--ink-faint);width:7px;height:7px;transition:transform var(--transition-base);margin-left:auto;transform:rotate(45deg)}.opt-chevron.open[data-v-74f24580]{transform:rotate(225deg)}.opt-body[data-v-74f24580]{visibility:hidden;opacity:0;flex-direction:column;gap:10px;max-height:0;padding:0 16px;transition:max-height .26s cubic-bezier(.22,.68,.36,1),opacity .2s,visibility .26s;display:flex;overflow:hidden}.opt-body.open[data-v-74f24580]{visibility:visible;opacity:1;max-height:64vh;padding-bottom:14px;overflow-y:auto}.opt-filters[data-v-74f24580]{align-items:center;gap:8px;display:flex}.opt-empty[data-v-74f24580]{color:var(--ink-faint);font-size:11.5px}.opt-list[data-v-74f24580]{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.opt-row[data-v-74f24580]{background:var(--frost-bg);border:1px solid var(--glass-line);border-radius:10px;flex-direction:column;gap:5px;padding:9px 12px;display:flex}.opt-row.open[data-v-74f24580]{border-color:color-mix(in srgb, var(--tone-warning-dot) 36%, var(--glass-line))}.opt-row.rolled-back[data-v-74f24580]{border-color:color-mix(in srgb, var(--tone-danger-dot) 30%, var(--glass-line))}.opt-line1[data-v-74f24580]{align-items:center;gap:9px;min-width:0;display:flex}.opt-status[data-v-74f24580]{font-family:var(--font-mono);color:var(--ink-faint);border:1px solid var(--line-strong);border-radius:5px;flex:none;padding:1px 8px;font-size:9.5px}.opt-status.open[data-v-74f24580]{color:var(--tone-warning-dot);border-color:color-mix(in srgb, var(--tone-warning-dot) 45%, transparent)}.opt-status.judged-keep[data-v-74f24580]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 45%, transparent)}.opt-status.rolled-back[data-v-74f24580]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.opt-node[data-v-74f24580]{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.opt-params[data-v-74f24580]{color:var(--tone-info-dot);flex:none;font-size:11px}.opt-time[data-v-74f24580]{color:var(--ink-faint);flex:none;margin-left:auto;font-size:10px}.mini-act[data-v-74f24580]{color:var(--tone-info-dot);background:var(--tone-info-bg);cursor:pointer;border:0;border-radius:6px;flex:none;padding:2px 9px;font-size:10.5px}.mini-act.danger[data-v-74f24580]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.mini-act[data-v-74f24580]:disabled{opacity:.5;cursor:default}.opt-line2[data-v-74f24580]{color:var(--ink-faint);flex-wrap:wrap;gap:8px;font-size:10.5px;display:flex}.opt-judge.keep[data-v-74f24580],.opt-judge.rollback[data-v-74f24580],.opt-judge.uncertain[data-v-74f24580]{color:var(--ink-soft)}.opt-judge b[data-v-74f24580]{font-weight:600}.opt-open-hint[data-v-74f24580]{color:var(--tone-warning-dot)}.opt-agg[data-v-74f24580]{color:var(--ink-faint)}.opt-series[data-v-74f24580]{flex-wrap:wrap;gap:10px;padding-top:4px;display:flex}.opt-ch[data-v-74f24580]{flex:180px;align-items:center;gap:8px;min-width:160px;display:flex}.opt-spark[data-v-74f24580]{width:120px;height:30px}.opt-spark polyline[data-v-74f24580]{fill:none;stroke:var(--tone-info-dot);stroke-width:1.5px}.badge[data-v-74f24580],.evt-row .t[data-v-74f24580],.flt[data-v-74f24580],.hint[data-v-74f24580],.infra-banner .txt small[data-v-74f24580],.kind-chip[data-v-74f24580],.line-pill small[data-v-74f24580],.mini-act[data-v-74f24580],.opt-count[data-v-74f24580],.opt-line2[data-v-74f24580],.opt-status[data-v-74f24580],.opt-time[data-v-74f24580],.sec-label[data-v-74f24580],.src-badge[data-v-74f24580],.strip-label[data-v-74f24580],.strip-label small[data-v-74f24580]{font-size:11.5px}.sub[data-v-74f24580]{font-size:13px}.alarm-item small[data-v-74f24580],.alarm-row small[data-v-74f24580]{font-size:11.5px}@media (width<=900px){.page small[data-v-74f24580],.page small.mono[data-v-74f24580],.page small.mono b[data-v-74f24580]{font-size:11.5px}.alarm-item[data-v-74f24580]{padding:6px 10px}.alarm-item .ack[data-v-74f24580],.mini-btn.ack[data-v-74f24580]{white-space:nowrap;min-height:32px;padding:4px 12px}.alarm-row[data-v-74f24580]{flex-wrap:wrap}.flt[data-v-74f24580],.hint[data-v-74f24580],.sec-label[data-v-74f24580]{font-size:11.5px}.inp-sel[data-v-74f24580]{font-size:12.5px}.badge[data-v-74f24580],.line-pill small[data-v-74f24580],.strip-label[data-v-74f24580]{font-size:11.5px}.ctrl-metrics[data-v-74f24580]{font-size:12px}.evt-row[data-v-74f24580]{font-size:12.5px}.evt-row .t[data-v-74f24580],.kind-chip[data-v-74f24580],.src-badge[data-v-74f24580]{font-size:11.5px}.panel-head[data-v-74f24580]{font-size:13px}.alarm-item[data-v-74f24580],.alarm-item small[data-v-74f24580],.alarm-row small[data-v-74f24580],.clear-btn[data-v-74f24580],.mini-act[data-v-74f24580],.opt-count[data-v-74f24580],.opt-line2[data-v-74f24580],.opt-status[data-v-74f24580],.opt-time[data-v-74f24580],.strip-label small[data-v-74f24580]{font-size:11.5px}.opt-empty[data-v-74f24580],.panel-empty[data-v-74f24580],.tpl-table .range[data-v-74f24580]{font-size:12px}.infra-banner .txt small[data-v-74f24580]{font-size:11.5px}.m-title[data-v-74f24580]{font-size:16px}.sub[data-v-74f24580]{font-size:13px}}@media (width<=700px){.ctrl-card[data-v-74f24580]{padding:12px 14px 11px}.ctrl-row[data-v-74f24580]{flex-direction:column;align-items:stretch;gap:12px}.ctrl-left[data-v-74f24580]{gap:10px}.ctrl-left>.aw-pill[data-v-74f24580]{flex:100%}.ctrl-left>.cycle[data-v-74f24580]{flex:calc(50% - 5px);justify-content:space-between}.cycle input[data-v-74f24580]{width:62px}.ctrl-right[data-v-74f24580]{gap:10px}.ctrl-metrics[data-v-74f24580]{flex:100%}.ctrl-right>.add-btn[data-v-74f24580]{flex:calc(50% - 5px)}.alarm-bar[data-v-74f24580]{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.bar-label[data-v-74f24580]{justify-content:flex-start}.alarm-scroll[data-v-74f24580]{width:100%;padding-bottom:3px}.alarm-item[data-v-74f24580]{max-width:100%}.tbl-toolbar[data-v-74f24580]{flex-direction:column;align-items:stretch;gap:8px;padding:11px 12px}.filters[data-v-74f24580]{grid-template-columns:1fr 1fr;gap:8px 10px;display:grid}.filters>.flt[data-v-74f24580]{min-width:0}.inp-sel[data-v-74f24580]{width:100%;min-width:0}.flt-search[data-v-74f24580]{width:100%}.clear-btn[data-v-74f24580]{grid-column:1/-1;min-height:34px}.count[data-v-74f24580]{padding-bottom:0}.opt-filters[data-v-74f24580]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.opt-filters>.mini-act[data-v-74f24580]{grid-column:1/-1;min-height:34px}.opt-line1[data-v-74f24580]{flex-wrap:wrap}.opt-node[data-v-74f24580]{white-space:normal;flex:100%;overflow:visible}.opt-time[data-v-74f24580]{margin-left:0}.opt-ch[data-v-74f24580]{flex:100%}.opt-spark[data-v-74f24580]{flex:auto;width:auto;min-width:96px}.nodes-table[data-v-74f24580] td,.nodes-table th[data-v-74f24580]{padding:7px 8px}.table-card[data-v-74f24580]{-webkit-overflow-scrolling:touch}.opt-body.open[data-v-74f24580]{max-height:70vh}.evt-row[data-v-74f24580]{flex-wrap:wrap}.evt-row .txt[data-v-74f24580]{white-space:normal;flex:100%;overflow:visible}}
@@ -1,4 +1,4 @@
1
- import{H as e,O as t,a as n,c as r,k as i,m as a,mt as o,n as s,ut as c}from"./BU83-NnX.js";import{$ as l,B as u,D as d,H as f,Ht as p,J as m,K as h,P as g,R as _,S as v,Ut as y,V as b,Vt as x,W as S,Z as C,b as w,ct as T,d as E,dt as D,f as O,h as k,ht as A,i as j,j as M,k as N,m as P,nt as ee,p as F,pt as I,s as L,tt as R,u as z,ut as B,v as V,xt as H,y as U,yt as W,z as G}from"./CSkxz2NX.js";import{d as K,f as te,l as q,t as J,u as ne}from"./D6uzXueg.js";import{d as re,p as ie}from"./BJHKLJJU.js";import{n as ae}from"./DtYHUi5Z.js";import{n as Y}from"./KZQX7xoM.js";import{t as oe}from"./D9Oidm5I.js";import{t as se}from"./CWoJjWmZ.js";import{$ as ce,At as X,E as le,J as ue,O as de,Q as fe,St as pe,X as me,Z as he,at as ge,ct as _e,d as ve,et as ye,h as be,it as xe,j as Se,jt as Z,m as Ce,n as we,pt as Te,t as Ee,tt as De,u as Oe,wt as ke}from"./4sIEbgcl.js";import{Y as Ae,c as je,i as Me}from"./DYr1VMiQ.js";import{n as Ne,r as Pe,t as Fe}from"./DDgJcSET.js";import{a as Ie,i as Le,t as Re}from"./aWWIh8YL.js";import{a as ze,i as Be,n as Ve,r as He,t as Ue}from"./DBHNsT1Y.js";import{i as We,n as Ge,r as Ke,t as qe}from"./BCGafdXT.js";import{t as Je}from"./CzlMDL5H.js";import{n as Ye,r as Xe,t as Ze}from"./DR12_WCA.js";import{t as Qe}from"./pdk8jLGT.js";import{t as $e}from"./lO5tpDZ5.js";import{t as et}from"./JCoYF4IJ.js";import{t as tt}from"./jZsY8yYz.js";import{t as nt}from"./CYWVXZTS2.js";import{n as rt,r as it,t as at}from"./DHFrCUxA2.js";import{t as ot}from"./Dz_Q3Lpw2.js";import{t as st}from"./DZtm4l-P2.js";import{t as ct}from"./CClOy-Hz2.js";import{t as lt}from"./DIaZ2PTo2.js";import{t as Q}from"./BDNMzG2s2.js";import{t as ut}from"./DGIuvyRN2.js";import{t as dt}from"./CssgYAAL2.js";import{t as $}from"./D0ZBQrN_2.js";import{a as ft,c as pt,d as mt,f as ht,i as gt,l as _t,m as vt,n as yt,o as bt,r as xt,s as St,t as Ct,u as wt}from"./BC9wjTJK2.js";import{t as Tt}from"./BN6iuJEg2.js";import{t as Et}from"./CNs_Ozdc2.js";import{t as Dt}from"./DeYsUzhr.js";import{t as Ot}from"./DeJykBFf.js";import{n as kt,t as At}from"./DCn7QZ5N.js";function jt(e){let{prefixCls:t,value:n,current:r,offset:i=0}=e,a;return i&&(a={position:`absolute`,top:`${i}00%`,left:0}),w(`p`,{style:a,class:ke(`${t}-only-unit`,{current:r})},[n])}function Mt(e,t,n){let r=e,i=0;for(;(r+10)%10!==t;)r+=n,i+=n;return i}var Nt=v({compatConfig:{MODE:3},name:`SingleNumber`,props:{prefixCls:String,value:String,count:Number},setup(e){let t=E(()=>Number(e.value)),n=E(()=>Math.abs(e.count)),r=D({prevValue:t.value,prevCount:n.value}),i=()=>{r.prevValue=t.value,r.prevCount=n.value},a=I();return l(t,()=>{clearTimeout(a.value),a.value=setTimeout(()=>{i()},1e3)},{flush:`post`}),G(()=>{clearTimeout(a.value)}),()=>{let a,o={},s=t.value;if(r.prevValue===s||Number.isNaN(s)||Number.isNaN(r.prevValue))a=[jt(X(X({},e),{current:!0}))],o={transition:`none`};else{a=[];let t=s+10,i=[];for(let e=s;e<=t;e+=1)i.push(e);let c=i.findIndex(e=>e%10===r.prevValue);a=i.map((t,n)=>{let r=t%10;return jt(X(X({},e),{value:r,offset:n-c,current:n===c}))});let l=r.prevCount<n.value?1:-1;o={transform:`translateY(${-Mt(r.prevValue,s,l)}00%)`}}return w(`span`,{class:`${e.prefixCls}-only`,style:o,onTransitionend:()=>i()},[a])}}}),Pt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Ft={prefixCls:String,count:Ee.any,component:String,title:Ee.any,show:Boolean},It=v({compatConfig:{MODE:3},name:`ScrollNumber`,inheritAttrs:!1,props:Ft,setup(e,t){let{attrs:n,slots:r}=t,{prefixCls:i}=we(`scroll-number`,e);return()=>{let t=X(X({},e),n),{prefixCls:a,count:o,title:s,show:l,component:u=`sup`,class:d,style:f}=t,p=Pt(t,[`prefixCls`,`count`,`title`,`show`,`component`,`class`,`style`]),m=X(X({},p),{style:f,"data-show":e.show,class:ke(i.value,d),title:s}),h=o;if(o&&Number(o)%1==0){let e=String(o).split(``);h=e.map((t,n)=>w(Nt,{prefixCls:i.value,count:Number(o),value:t,key:e.length-n},null))}f&&f.borderColor&&(m.style=X(X({},f),{boxShadow:`0 0 0 1px ${f.borderColor} inset`}));let g=ge(r.default?.call(r));return g&&g.length?c(g,{class:ke(`${i.value}-custom-component`)},!1):w(u,m,{default:()=>[h]})}}}),Lt=new de(`antStatusProcessing`,{"0%":{transform:`scale(0.8)`,opacity:.5},"100%":{transform:`scale(2.4)`,opacity:0}}),Rt=new de(`antZoomBadgeIn`,{"0%":{transform:`scale(0) translate(50%, -50%)`,opacity:0},"100%":{transform:`scale(1) translate(50%, -50%)`}}),zt=new de(`antZoomBadgeOut`,{"0%":{transform:`scale(1) translate(50%, -50%)`},"100%":{transform:`scale(0) translate(50%, -50%)`,opacity:0}}),Bt=new de(`antNoWrapperZoomBadgeIn`,{"0%":{transform:`scale(0)`,opacity:0},"100%":{transform:`scale(1)`}}),Vt=new de(`antNoWrapperZoomBadgeOut`,{"0%":{transform:`scale(1)`},"100%":{transform:`scale(0)`,opacity:0}}),Ht=new de(`antBadgeLoadingCircle`,{"0%":{transformOrigin:`50%`},"100%":{transform:`translate(50%, -50%) rotate(360deg)`,transformOrigin:`50%`}}),Ut=e=>{let{componentCls:t,iconCls:n,antCls:r,badgeFontHeight:i,badgeShadowSize:a,badgeHeightSm:o,motionDurationSlow:s,badgeStatusSize:c,marginXS:l,badgeRibbonOffset:u}=e,d=`${r}-scroll-number`,f=`${r}-ribbon`,p=`${r}-ribbon-wrapper`,m=Ae(e,(e,n)=>{let{darkColor:r}=n;return{[`&${t} ${t}-color-${e}`]:{background:r,[`&:not(${t}-count)`]:{color:r}}}}),h=Ae(e,(e,t)=>{let{darkColor:n}=t;return{[`&${f}-color-${e}`]:{background:n,color:n}}});return{[t]:X(X(X(X({},be(e)),{position:`relative`,display:`inline-block`,width:`fit-content`,lineHeight:1,[`${t}-count`]:{zIndex:e.badgeZIndex,minWidth:e.badgeHeight,height:e.badgeHeight,color:e.badgeTextColor,fontWeight:e.badgeFontWeight,fontSize:e.badgeFontSize,lineHeight:`${e.badgeHeight}px`,whiteSpace:`nowrap`,textAlign:`center`,background:e.badgeColor,borderRadius:e.badgeHeight/2,boxShadow:`0 0 0 ${a}px ${e.badgeShadowColor}`,transition:`background ${e.motionDurationMid}`,a:{color:e.badgeTextColor},"a:hover":{color:e.badgeTextColor},"a:hover &":{background:e.badgeColorHover}},[`${t}-count-sm`]:{minWidth:o,height:o,fontSize:e.badgeFontSizeSm,lineHeight:`${o}px`,borderRadius:o/2},[`${t}-multiple-words`]:{padding:`0 ${e.paddingXS}px`},[`${t}-dot`]:{zIndex:e.badgeZIndex,width:e.badgeDotSize,minWidth:e.badgeDotSize,height:e.badgeDotSize,background:e.badgeColor,borderRadius:`100%`,boxShadow:`0 0 0 ${a}px ${e.badgeShadowColor}`},[`${t}-dot${d}`]:{transition:`background ${s}`},[`${t}-count, ${t}-dot, ${d}-custom-component`]:{position:`absolute`,top:0,insetInlineEnd:0,transform:`translate(50%, -50%)`,transformOrigin:`100% 0%`,[`&${n}-spin`]:{animationName:Ht,animationDuration:`1s`,animationIterationCount:`infinite`,animationTimingFunction:`linear`}},[`&${t}-status`]:{lineHeight:`inherit`,verticalAlign:`baseline`,[`${t}-status-dot`]:{position:`relative`,top:-1,display:`inline-block`,width:c,height:c,verticalAlign:`middle`,borderRadius:`50%`},[`${t}-status-success`]:{backgroundColor:e.colorSuccess},[`${t}-status-processing`]:{overflow:`visible`,color:e.colorPrimary,backgroundColor:e.colorPrimary,"&::after":{position:`absolute`,top:0,insetInlineStart:0,width:`100%`,height:`100%`,borderWidth:a,borderStyle:`solid`,borderColor:`inherit`,borderRadius:`50%`,animationName:Lt,animationDuration:e.badgeProcessingDuration,animationIterationCount:`infinite`,animationTimingFunction:`ease-in-out`,content:`""`}},[`${t}-status-default`]:{backgroundColor:e.colorTextPlaceholder},[`${t}-status-error`]:{backgroundColor:e.colorError},[`${t}-status-warning`]:{backgroundColor:e.colorWarning},[`${t}-status-text`]:{marginInlineStart:l,color:e.colorText,fontSize:e.fontSize}}}),m),{[`${t}-zoom-appear, ${t}-zoom-enter`]:{animationName:Rt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack,animationFillMode:`both`},[`${t}-zoom-leave`]:{animationName:zt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack,animationFillMode:`both`},[`&${t}-not-a-wrapper`]:{[`${t}-zoom-appear, ${t}-zoom-enter`]:{animationName:Bt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack},[`${t}-zoom-leave`]:{animationName:Vt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack},[`&:not(${t}-status)`]:{verticalAlign:`middle`},[`${d}-custom-component, ${t}-count`]:{transform:`none`},[`${d}-custom-component, ${d}`]:{position:`relative`,top:`auto`,display:`block`,transformOrigin:`50% 50%`}},[`${d}`]:{overflow:`hidden`,[`${d}-only`]:{position:`relative`,display:`inline-block`,height:e.badgeHeight,transition:`all ${e.motionDurationSlow} ${e.motionEaseOutBack}`,WebkitTransformStyle:`preserve-3d`,WebkitBackfaceVisibility:`hidden`,[`> p${d}-only-unit`]:{height:e.badgeHeight,margin:0,WebkitTransformStyle:`preserve-3d`,WebkitBackfaceVisibility:`hidden`}},[`${d}-symbol`]:{verticalAlign:`top`}},"&-rtl":{direction:`rtl`,[`${t}-count, ${t}-dot, ${d}-custom-component`]:{transform:`translate(-50%, -50%)`}}}),[`${p}`]:{position:`relative`},[`${f}`]:X(X(X(X({},be(e)),{position:`absolute`,top:l,padding:`0 ${e.paddingXS}px`,color:e.colorPrimary,lineHeight:`${i}px`,whiteSpace:`nowrap`,backgroundColor:e.colorPrimary,borderRadius:e.borderRadiusSM,[`${f}-text`]:{color:e.colorTextLightSolid},[`${f}-corner`]:{position:`absolute`,top:`100%`,width:u,height:u,color:`currentcolor`,border:`${u/2}px solid`,transform:e.badgeRibbonCornerTransform,transformOrigin:`top`,filter:e.badgeRibbonCornerFilter}}),h),{[`&${f}-placement-end`]:{insetInlineEnd:-u,borderEndEndRadius:0,[`${f}-corner`]:{insetInlineEnd:0,borderInlineEndColor:`transparent`,borderBlockEndColor:`transparent`}},[`&${f}-placement-start`]:{insetInlineStart:-u,borderEndStartRadius:0,[`${f}-corner`]:{insetInlineStart:0,borderBlockEndColor:`transparent`,borderInlineStartColor:`transparent`}},"&-rtl":{direction:`rtl`}})}},Wt=ve(`Badge`,e=>{let{fontSize:t,lineHeight:n,fontSizeSM:r,lineWidth:i,marginXS:a,colorBorderBg:o}=e,s=Math.round(t*n),c=i,l=s-2*c,u=e.colorBgContainer,d=r,f=e.colorError,p=e.colorErrorHover,m=t,h=r/2,g=r,_=r/2;return[Ut(Oe(e,{badgeFontHeight:s,badgeShadowSize:c,badgeZIndex:`auto`,badgeHeight:l,badgeTextColor:u,badgeFontWeight:`normal`,badgeFontSize:d,badgeColor:f,badgeColorHover:p,badgeShadowColor:o,badgeHeightSm:m,badgeDotSize:h,badgeFontSizeSm:g,badgeStatusSize:_,badgeProcessingDuration:`1.2s`,badgeRibbonOffset:a,badgeRibbonCornerTransform:`scaleY(0.75)`,badgeRibbonCornerFilter:`brightness(75%)`}))]}),Gt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Kt=v({compatConfig:{MODE:3},name:`ABadgeRibbon`,inheritAttrs:!1,props:{prefix:String,color:{type:String},text:Ee.any,placement:{type:String,default:`end`}},slots:Object,setup(e,t){let{attrs:n,slots:r}=t,{prefixCls:i,direction:a}=we(`ribbon`,e),[o,s]=Wt(i),c=E(()=>je(e.color,!1)),l=E(()=>[i.value,`${i.value}-placement-${e.placement}`,{[`${i.value}-rtl`]:a.value===`rtl`,[`${i.value}-color-${e.color}`]:c.value}]);return()=>{let{class:t,style:a}=n,u=Gt(n,[`class`,`style`]),d={},f={};return e.color&&!c.value&&(d.background=e.color,f.color=e.color),o(w(`div`,Z({class:`${i.value}-wrapper ${s.value}`},u),[r.default?.call(r),w(`div`,{class:[l.value,t,s.value],style:X(X({},d),a)},[w(`span`,{class:`${i.value}-text`},[e.text||r.text?.call(r)]),w(`div`,{class:`${i.value}-corner`,style:f},null)])]))}}}),qt=v({compatConfig:{MODE:3},name:`ABadge`,Ribbon:Kt,inheritAttrs:!1,props:{count:Ee.any.def(null),showZero:{type:Boolean,default:void 0},overflowCount:{type:Number,default:99},dot:{type:Boolean,default:void 0},prefixCls:String,scrollNumberPrefixCls:String,status:{type:String},size:{type:String,default:`default`},color:String,text:Ee.any,offset:Array,numberStyle:{type:Object,default:void 0},title:String},slots:Object,setup(t,n){let{slots:r,attrs:i}=n,{prefixCls:a,direction:o}=we(`badge`,t),[s,u]=Wt(a),d=E(()=>t.count>t.overflowCount?`${t.overflowCount}+`:t.count),f=E(()=>d.value===`0`||d.value===0),p=E(()=>t.count===null||f.value&&!t.showZero),m=E(()=>(t.status!==null&&t.status!==void 0||t.color!==null&&t.color!==void 0)&&p.value),h=E(()=>t.dot&&!f.value),g=E(()=>h.value?``:d.value),_=E(()=>(g.value===null||g.value===void 0||g.value===``||f.value&&!t.showZero)&&!h.value),v=I(t.count),y=I(g.value),b=I(h.value);l([()=>t.count,g,h],()=>{_.value||(v.value=t.count,y.value=g.value,b.value=h.value)},{immediate:!0});let x=E(()=>je(t.color,!1)),S=E(()=>({[`${a.value}-status-dot`]:m.value,[`${a.value}-status-${t.status}`]:!!t.status,[`${a.value}-color-${t.color}`]:x.value})),C=E(()=>t.color&&!x.value?{background:t.color,color:t.color}:{}),T=E(()=>({[`${a.value}-dot`]:b.value,[`${a.value}-count`]:!b.value,[`${a.value}-count-sm`]:t.size===`small`,[`${a.value}-multiple-words`]:!b.value&&y.value&&y.value.toString().length>1,[`${a.value}-status-${t.status}`]:!!t.status,[`${a.value}-color-${t.color}`]:x.value}));return()=>{let{offset:n,title:l,color:d}=t,f=i.style,p=Te(r,t,`text`),h=a.value,g=v.value,b=_e(r.default?.call(r));b=b.length?b:null;let E=!!(!_.value||r.count),D=(()=>{if(!n)return X({},f);let e={marginTop:$e(n[1])?`${n[1]}px`:n[1]};return o.value===`rtl`?e.left=`${parseInt(n[0],10)}px`:e.right=`${-parseInt(n[0],10)}px`,X(X({},e),f)})(),O=l??(typeof g==`string`||typeof g==`number`?g:void 0),k=E||!p?null:w(`span`,{class:`${h}-status-text`},[p]),A=typeof g==`object`||g===void 0&&r.count?c(g??r.count?.call(r),{style:D},!1):null,j=ke(h,{[`${h}-status`]:m.value,[`${h}-not-a-wrapper`]:!b,[`${h}-rtl`]:o.value===`rtl`},i.class,u.value);if(!b&&m.value){let e=D.color;return s(w(`span`,Z(Z({},i),{},{class:j,style:D}),[w(`span`,{class:S.value,style:C.value},null),w(`span`,{style:{color:e},class:`${h}-status-text`},[p])]))}let M=e(b?`${h}-zoom`:``,{appear:!1}),N=X(X({},D),t.numberStyle);return d&&!x.value&&(N||={},N.background=d),s(w(`span`,Z(Z({},i),{},{class:j}),[b,w(J,M,{default:()=>[ee(w(It,{prefixCls:t.scrollNumberPrefixCls,show:E,class:T.value,count:y.value,title:O,style:N,key:`scrollNumber`},{default:()=>[A]}),[[ne,E]])]}),k]))}}});qt.install=function(e){return e.component(qt.name,qt),e.component(Kt.name,Kt),e};var Jt=qt,Yt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Xt=v({compatConfig:{MODE:3},name:`ABreadcrumbItem`,inheritAttrs:!1,__ANT_BREADCRUMB_ITEM:!0,props:{prefixCls:String,href:String,separator:Ee.any,dropdownProps:ce(),overlay:Ee.any,onClick:he()},slots:Object,setup(e,t){let{slots:n,attrs:r,emit:i}=t,{prefixCls:a}=we(`breadcrumb`,e),o=(t,r)=>{let i=Te(n,e,`overlay`);return i?w(et,Z(Z({},e.dropdownProps),{},{overlay:i,placement:`bottom`}),{default:()=>[w(`span`,{class:`${r}-overlay-link`},[t,w(Ie,null,null)])]}):t},s=e=>{i(`click`,e)};return()=>{let t=Te(n,e,`separator`)??`/`,i=Te(n,e),{class:c,style:l}=r,u=Yt(r,[`class`,`style`]),d;return d=e.href===void 0?w(`span`,Z({class:`${a.value}-link`,onClick:s},u),[i]):w(`a`,Z({class:`${a.value}-link`,onClick:s},u),[i]),d=o(d,a.value),i==null?null:w(`li`,{class:c,style:l},[d,t&&w(`span`,{class:`${a.value}-separator`},[t])])}}}),Zt=e=>{let{componentCls:t,iconCls:n}=e;return{[t]:X(X({},be(e)),{color:e.breadcrumbBaseColor,fontSize:e.breadcrumbFontSize,[n]:{fontSize:e.breadcrumbIconFontSize},ol:{display:`flex`,flexWrap:`wrap`,margin:0,padding:0,listStyle:`none`},a:X({color:e.breadcrumbLinkColor,transition:`color ${e.motionDurationMid}`,padding:`0 ${e.paddingXXS}px`,borderRadius:e.borderRadiusSM,height:e.lineHeight*e.fontSize,display:`inline-block`,marginInline:-e.marginXXS,"&:hover":{color:e.breadcrumbLinkColorHover,backgroundColor:e.colorBgTextHover}},Ce(e)),"li:last-child":{color:e.breadcrumbLastItemColor,[`& > ${t}-separator`]:{display:`none`}},[`${t}-separator`]:{marginInline:e.breadcrumbSeparatorMargin,color:e.breadcrumbSeparatorColor},[`${t}-link`]:{[`
1
+ import{H as e,O as t,a as n,c as r,k as i,m as a,mt as o,n as s,ut as c}from"./BU83-NnX.js";import{$ as l,B as u,D as d,H as f,Ht as p,J as m,K as h,P as g,R as _,S as v,Ut as y,V as b,Vt as x,W as S,Z as C,b as w,ct as T,d as E,dt as D,f as O,h as k,ht as A,i as j,j as M,k as N,m as P,nt as ee,p as F,pt as I,s as L,tt as R,u as z,ut as B,v as V,xt as H,y as U,yt as W,z as G}from"./CSkxz2NX.js";import{d as K,f as te,l as q,t as J,u as ne}from"./D6uzXueg.js";import{d as re,p as ie}from"./BJHKLJJU.js";import{n as ae}from"./DtYHUi5Z.js";import{n as Y}from"./KZQX7xoM.js";import{t as oe}from"./D9Oidm5I.js";import{t as se}from"./CWoJjWmZ.js";import{$ as ce,At as X,E as le,J as ue,O as de,Q as fe,St as pe,X as me,Z as he,at as ge,ct as _e,d as ve,et as ye,h as be,it as xe,j as Se,jt as Z,m as Ce,n as we,pt as Te,t as Ee,tt as De,u as Oe,wt as ke}from"./4sIEbgcl.js";import{Y as Ae,c as je,i as Me}from"./DYr1VMiQ.js";import{n as Ne,r as Pe,t as Fe}from"./DDgJcSET.js";import{a as Ie,i as Le,t as Re}from"./aWWIh8YL.js";import{a as ze,i as Be,n as Ve,r as He,t as Ue}from"./DBHNsT1Y.js";import{i as We,n as Ge,r as Ke,t as qe}from"./BCGafdXT.js";import{t as Je}from"./CzlMDL5H.js";import{n as Ye,r as Xe,t as Ze}from"./DR12_WCA.js";import{t as Qe}from"./pdk8jLGT.js";import{t as $e}from"./lO5tpDZ5.js";import{t as et}from"./JCoYF4IJ.js";import{t as tt}from"./jZsY8yYz.js";import{t as nt}from"./CYWVXZTS2.js";import{n as rt,r as it,t as at}from"./DHFrCUxA2.js";import{t as ot}from"./Dz_Q3Lpw2.js";import{t as st}from"./DZtm4l-P2.js";import{t as ct}from"./CClOy-Hz2.js";import{t as lt}from"./DIaZ2PTo2.js";import{t as Q}from"./BDNMzG2s2.js";import{t as ut}from"./DGIuvyRN2.js";import{t as dt}from"./CssgYAAL2.js";import{t as $}from"./D0ZBQrN_2.js";import{a as ft,c as pt,d as mt,f as ht,i as gt,l as _t,m as vt,n as yt,o as bt,r as xt,s as St,t as Ct,u as wt}from"./BC9wjTJK2.js";import{t as Tt}from"./BN6iuJEg2.js";import{t as Et}from"./CNs_Ozdc2.js";import{t as Dt}from"./DeYsUzhr.js";import{t as Ot}from"./DeJykBFf.js";import{n as kt,t as At}from"./Dap5PmTL.js";function jt(e){let{prefixCls:t,value:n,current:r,offset:i=0}=e,a;return i&&(a={position:`absolute`,top:`${i}00%`,left:0}),w(`p`,{style:a,class:ke(`${t}-only-unit`,{current:r})},[n])}function Mt(e,t,n){let r=e,i=0;for(;(r+10)%10!==t;)r+=n,i+=n;return i}var Nt=v({compatConfig:{MODE:3},name:`SingleNumber`,props:{prefixCls:String,value:String,count:Number},setup(e){let t=E(()=>Number(e.value)),n=E(()=>Math.abs(e.count)),r=D({prevValue:t.value,prevCount:n.value}),i=()=>{r.prevValue=t.value,r.prevCount=n.value},a=I();return l(t,()=>{clearTimeout(a.value),a.value=setTimeout(()=>{i()},1e3)},{flush:`post`}),G(()=>{clearTimeout(a.value)}),()=>{let a,o={},s=t.value;if(r.prevValue===s||Number.isNaN(s)||Number.isNaN(r.prevValue))a=[jt(X(X({},e),{current:!0}))],o={transition:`none`};else{a=[];let t=s+10,i=[];for(let e=s;e<=t;e+=1)i.push(e);let c=i.findIndex(e=>e%10===r.prevValue);a=i.map((t,n)=>{let r=t%10;return jt(X(X({},e),{value:r,offset:n-c,current:n===c}))});let l=r.prevCount<n.value?1:-1;o={transform:`translateY(${-Mt(r.prevValue,s,l)}00%)`}}return w(`span`,{class:`${e.prefixCls}-only`,style:o,onTransitionend:()=>i()},[a])}}}),Pt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Ft={prefixCls:String,count:Ee.any,component:String,title:Ee.any,show:Boolean},It=v({compatConfig:{MODE:3},name:`ScrollNumber`,inheritAttrs:!1,props:Ft,setup(e,t){let{attrs:n,slots:r}=t,{prefixCls:i}=we(`scroll-number`,e);return()=>{let t=X(X({},e),n),{prefixCls:a,count:o,title:s,show:l,component:u=`sup`,class:d,style:f}=t,p=Pt(t,[`prefixCls`,`count`,`title`,`show`,`component`,`class`,`style`]),m=X(X({},p),{style:f,"data-show":e.show,class:ke(i.value,d),title:s}),h=o;if(o&&Number(o)%1==0){let e=String(o).split(``);h=e.map((t,n)=>w(Nt,{prefixCls:i.value,count:Number(o),value:t,key:e.length-n},null))}f&&f.borderColor&&(m.style=X(X({},f),{boxShadow:`0 0 0 1px ${f.borderColor} inset`}));let g=ge(r.default?.call(r));return g&&g.length?c(g,{class:ke(`${i.value}-custom-component`)},!1):w(u,m,{default:()=>[h]})}}}),Lt=new de(`antStatusProcessing`,{"0%":{transform:`scale(0.8)`,opacity:.5},"100%":{transform:`scale(2.4)`,opacity:0}}),Rt=new de(`antZoomBadgeIn`,{"0%":{transform:`scale(0) translate(50%, -50%)`,opacity:0},"100%":{transform:`scale(1) translate(50%, -50%)`}}),zt=new de(`antZoomBadgeOut`,{"0%":{transform:`scale(1) translate(50%, -50%)`},"100%":{transform:`scale(0) translate(50%, -50%)`,opacity:0}}),Bt=new de(`antNoWrapperZoomBadgeIn`,{"0%":{transform:`scale(0)`,opacity:0},"100%":{transform:`scale(1)`}}),Vt=new de(`antNoWrapperZoomBadgeOut`,{"0%":{transform:`scale(1)`},"100%":{transform:`scale(0)`,opacity:0}}),Ht=new de(`antBadgeLoadingCircle`,{"0%":{transformOrigin:`50%`},"100%":{transform:`translate(50%, -50%) rotate(360deg)`,transformOrigin:`50%`}}),Ut=e=>{let{componentCls:t,iconCls:n,antCls:r,badgeFontHeight:i,badgeShadowSize:a,badgeHeightSm:o,motionDurationSlow:s,badgeStatusSize:c,marginXS:l,badgeRibbonOffset:u}=e,d=`${r}-scroll-number`,f=`${r}-ribbon`,p=`${r}-ribbon-wrapper`,m=Ae(e,(e,n)=>{let{darkColor:r}=n;return{[`&${t} ${t}-color-${e}`]:{background:r,[`&:not(${t}-count)`]:{color:r}}}}),h=Ae(e,(e,t)=>{let{darkColor:n}=t;return{[`&${f}-color-${e}`]:{background:n,color:n}}});return{[t]:X(X(X(X({},be(e)),{position:`relative`,display:`inline-block`,width:`fit-content`,lineHeight:1,[`${t}-count`]:{zIndex:e.badgeZIndex,minWidth:e.badgeHeight,height:e.badgeHeight,color:e.badgeTextColor,fontWeight:e.badgeFontWeight,fontSize:e.badgeFontSize,lineHeight:`${e.badgeHeight}px`,whiteSpace:`nowrap`,textAlign:`center`,background:e.badgeColor,borderRadius:e.badgeHeight/2,boxShadow:`0 0 0 ${a}px ${e.badgeShadowColor}`,transition:`background ${e.motionDurationMid}`,a:{color:e.badgeTextColor},"a:hover":{color:e.badgeTextColor},"a:hover &":{background:e.badgeColorHover}},[`${t}-count-sm`]:{minWidth:o,height:o,fontSize:e.badgeFontSizeSm,lineHeight:`${o}px`,borderRadius:o/2},[`${t}-multiple-words`]:{padding:`0 ${e.paddingXS}px`},[`${t}-dot`]:{zIndex:e.badgeZIndex,width:e.badgeDotSize,minWidth:e.badgeDotSize,height:e.badgeDotSize,background:e.badgeColor,borderRadius:`100%`,boxShadow:`0 0 0 ${a}px ${e.badgeShadowColor}`},[`${t}-dot${d}`]:{transition:`background ${s}`},[`${t}-count, ${t}-dot, ${d}-custom-component`]:{position:`absolute`,top:0,insetInlineEnd:0,transform:`translate(50%, -50%)`,transformOrigin:`100% 0%`,[`&${n}-spin`]:{animationName:Ht,animationDuration:`1s`,animationIterationCount:`infinite`,animationTimingFunction:`linear`}},[`&${t}-status`]:{lineHeight:`inherit`,verticalAlign:`baseline`,[`${t}-status-dot`]:{position:`relative`,top:-1,display:`inline-block`,width:c,height:c,verticalAlign:`middle`,borderRadius:`50%`},[`${t}-status-success`]:{backgroundColor:e.colorSuccess},[`${t}-status-processing`]:{overflow:`visible`,color:e.colorPrimary,backgroundColor:e.colorPrimary,"&::after":{position:`absolute`,top:0,insetInlineStart:0,width:`100%`,height:`100%`,borderWidth:a,borderStyle:`solid`,borderColor:`inherit`,borderRadius:`50%`,animationName:Lt,animationDuration:e.badgeProcessingDuration,animationIterationCount:`infinite`,animationTimingFunction:`ease-in-out`,content:`""`}},[`${t}-status-default`]:{backgroundColor:e.colorTextPlaceholder},[`${t}-status-error`]:{backgroundColor:e.colorError},[`${t}-status-warning`]:{backgroundColor:e.colorWarning},[`${t}-status-text`]:{marginInlineStart:l,color:e.colorText,fontSize:e.fontSize}}}),m),{[`${t}-zoom-appear, ${t}-zoom-enter`]:{animationName:Rt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack,animationFillMode:`both`},[`${t}-zoom-leave`]:{animationName:zt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack,animationFillMode:`both`},[`&${t}-not-a-wrapper`]:{[`${t}-zoom-appear, ${t}-zoom-enter`]:{animationName:Bt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack},[`${t}-zoom-leave`]:{animationName:Vt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack},[`&:not(${t}-status)`]:{verticalAlign:`middle`},[`${d}-custom-component, ${t}-count`]:{transform:`none`},[`${d}-custom-component, ${d}`]:{position:`relative`,top:`auto`,display:`block`,transformOrigin:`50% 50%`}},[`${d}`]:{overflow:`hidden`,[`${d}-only`]:{position:`relative`,display:`inline-block`,height:e.badgeHeight,transition:`all ${e.motionDurationSlow} ${e.motionEaseOutBack}`,WebkitTransformStyle:`preserve-3d`,WebkitBackfaceVisibility:`hidden`,[`> p${d}-only-unit`]:{height:e.badgeHeight,margin:0,WebkitTransformStyle:`preserve-3d`,WebkitBackfaceVisibility:`hidden`}},[`${d}-symbol`]:{verticalAlign:`top`}},"&-rtl":{direction:`rtl`,[`${t}-count, ${t}-dot, ${d}-custom-component`]:{transform:`translate(-50%, -50%)`}}}),[`${p}`]:{position:`relative`},[`${f}`]:X(X(X(X({},be(e)),{position:`absolute`,top:l,padding:`0 ${e.paddingXS}px`,color:e.colorPrimary,lineHeight:`${i}px`,whiteSpace:`nowrap`,backgroundColor:e.colorPrimary,borderRadius:e.borderRadiusSM,[`${f}-text`]:{color:e.colorTextLightSolid},[`${f}-corner`]:{position:`absolute`,top:`100%`,width:u,height:u,color:`currentcolor`,border:`${u/2}px solid`,transform:e.badgeRibbonCornerTransform,transformOrigin:`top`,filter:e.badgeRibbonCornerFilter}}),h),{[`&${f}-placement-end`]:{insetInlineEnd:-u,borderEndEndRadius:0,[`${f}-corner`]:{insetInlineEnd:0,borderInlineEndColor:`transparent`,borderBlockEndColor:`transparent`}},[`&${f}-placement-start`]:{insetInlineStart:-u,borderEndStartRadius:0,[`${f}-corner`]:{insetInlineStart:0,borderBlockEndColor:`transparent`,borderInlineStartColor:`transparent`}},"&-rtl":{direction:`rtl`}})}},Wt=ve(`Badge`,e=>{let{fontSize:t,lineHeight:n,fontSizeSM:r,lineWidth:i,marginXS:a,colorBorderBg:o}=e,s=Math.round(t*n),c=i,l=s-2*c,u=e.colorBgContainer,d=r,f=e.colorError,p=e.colorErrorHover,m=t,h=r/2,g=r,_=r/2;return[Ut(Oe(e,{badgeFontHeight:s,badgeShadowSize:c,badgeZIndex:`auto`,badgeHeight:l,badgeTextColor:u,badgeFontWeight:`normal`,badgeFontSize:d,badgeColor:f,badgeColorHover:p,badgeShadowColor:o,badgeHeightSm:m,badgeDotSize:h,badgeFontSizeSm:g,badgeStatusSize:_,badgeProcessingDuration:`1.2s`,badgeRibbonOffset:a,badgeRibbonCornerTransform:`scaleY(0.75)`,badgeRibbonCornerFilter:`brightness(75%)`}))]}),Gt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Kt=v({compatConfig:{MODE:3},name:`ABadgeRibbon`,inheritAttrs:!1,props:{prefix:String,color:{type:String},text:Ee.any,placement:{type:String,default:`end`}},slots:Object,setup(e,t){let{attrs:n,slots:r}=t,{prefixCls:i,direction:a}=we(`ribbon`,e),[o,s]=Wt(i),c=E(()=>je(e.color,!1)),l=E(()=>[i.value,`${i.value}-placement-${e.placement}`,{[`${i.value}-rtl`]:a.value===`rtl`,[`${i.value}-color-${e.color}`]:c.value}]);return()=>{let{class:t,style:a}=n,u=Gt(n,[`class`,`style`]),d={},f={};return e.color&&!c.value&&(d.background=e.color,f.color=e.color),o(w(`div`,Z({class:`${i.value}-wrapper ${s.value}`},u),[r.default?.call(r),w(`div`,{class:[l.value,t,s.value],style:X(X({},d),a)},[w(`span`,{class:`${i.value}-text`},[e.text||r.text?.call(r)]),w(`div`,{class:`${i.value}-corner`,style:f},null)])]))}}}),qt=v({compatConfig:{MODE:3},name:`ABadge`,Ribbon:Kt,inheritAttrs:!1,props:{count:Ee.any.def(null),showZero:{type:Boolean,default:void 0},overflowCount:{type:Number,default:99},dot:{type:Boolean,default:void 0},prefixCls:String,scrollNumberPrefixCls:String,status:{type:String},size:{type:String,default:`default`},color:String,text:Ee.any,offset:Array,numberStyle:{type:Object,default:void 0},title:String},slots:Object,setup(t,n){let{slots:r,attrs:i}=n,{prefixCls:a,direction:o}=we(`badge`,t),[s,u]=Wt(a),d=E(()=>t.count>t.overflowCount?`${t.overflowCount}+`:t.count),f=E(()=>d.value===`0`||d.value===0),p=E(()=>t.count===null||f.value&&!t.showZero),m=E(()=>(t.status!==null&&t.status!==void 0||t.color!==null&&t.color!==void 0)&&p.value),h=E(()=>t.dot&&!f.value),g=E(()=>h.value?``:d.value),_=E(()=>(g.value===null||g.value===void 0||g.value===``||f.value&&!t.showZero)&&!h.value),v=I(t.count),y=I(g.value),b=I(h.value);l([()=>t.count,g,h],()=>{_.value||(v.value=t.count,y.value=g.value,b.value=h.value)},{immediate:!0});let x=E(()=>je(t.color,!1)),S=E(()=>({[`${a.value}-status-dot`]:m.value,[`${a.value}-status-${t.status}`]:!!t.status,[`${a.value}-color-${t.color}`]:x.value})),C=E(()=>t.color&&!x.value?{background:t.color,color:t.color}:{}),T=E(()=>({[`${a.value}-dot`]:b.value,[`${a.value}-count`]:!b.value,[`${a.value}-count-sm`]:t.size===`small`,[`${a.value}-multiple-words`]:!b.value&&y.value&&y.value.toString().length>1,[`${a.value}-status-${t.status}`]:!!t.status,[`${a.value}-color-${t.color}`]:x.value}));return()=>{let{offset:n,title:l,color:d}=t,f=i.style,p=Te(r,t,`text`),h=a.value,g=v.value,b=_e(r.default?.call(r));b=b.length?b:null;let E=!!(!_.value||r.count),D=(()=>{if(!n)return X({},f);let e={marginTop:$e(n[1])?`${n[1]}px`:n[1]};return o.value===`rtl`?e.left=`${parseInt(n[0],10)}px`:e.right=`${-parseInt(n[0],10)}px`,X(X({},e),f)})(),O=l??(typeof g==`string`||typeof g==`number`?g:void 0),k=E||!p?null:w(`span`,{class:`${h}-status-text`},[p]),A=typeof g==`object`||g===void 0&&r.count?c(g??r.count?.call(r),{style:D},!1):null,j=ke(h,{[`${h}-status`]:m.value,[`${h}-not-a-wrapper`]:!b,[`${h}-rtl`]:o.value===`rtl`},i.class,u.value);if(!b&&m.value){let e=D.color;return s(w(`span`,Z(Z({},i),{},{class:j,style:D}),[w(`span`,{class:S.value,style:C.value},null),w(`span`,{style:{color:e},class:`${h}-status-text`},[p])]))}let M=e(b?`${h}-zoom`:``,{appear:!1}),N=X(X({},D),t.numberStyle);return d&&!x.value&&(N||={},N.background=d),s(w(`span`,Z(Z({},i),{},{class:j}),[b,w(J,M,{default:()=>[ee(w(It,{prefixCls:t.scrollNumberPrefixCls,show:E,class:T.value,count:y.value,title:O,style:N,key:`scrollNumber`},{default:()=>[A]}),[[ne,E]])]}),k]))}}});qt.install=function(e){return e.component(qt.name,qt),e.component(Kt.name,Kt),e};var Jt=qt,Yt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Xt=v({compatConfig:{MODE:3},name:`ABreadcrumbItem`,inheritAttrs:!1,__ANT_BREADCRUMB_ITEM:!0,props:{prefixCls:String,href:String,separator:Ee.any,dropdownProps:ce(),overlay:Ee.any,onClick:he()},slots:Object,setup(e,t){let{slots:n,attrs:r,emit:i}=t,{prefixCls:a}=we(`breadcrumb`,e),o=(t,r)=>{let i=Te(n,e,`overlay`);return i?w(et,Z(Z({},e.dropdownProps),{},{overlay:i,placement:`bottom`}),{default:()=>[w(`span`,{class:`${r}-overlay-link`},[t,w(Ie,null,null)])]}):t},s=e=>{i(`click`,e)};return()=>{let t=Te(n,e,`separator`)??`/`,i=Te(n,e),{class:c,style:l}=r,u=Yt(r,[`class`,`style`]),d;return d=e.href===void 0?w(`span`,Z({class:`${a.value}-link`,onClick:s},u),[i]):w(`a`,Z({class:`${a.value}-link`,onClick:s},u),[i]),d=o(d,a.value),i==null?null:w(`li`,{class:c,style:l},[d,t&&w(`span`,{class:`${a.value}-separator`},[t])])}}}),Zt=e=>{let{componentCls:t,iconCls:n}=e;return{[t]:X(X({},be(e)),{color:e.breadcrumbBaseColor,fontSize:e.breadcrumbFontSize,[n]:{fontSize:e.breadcrumbIconFontSize},ol:{display:`flex`,flexWrap:`wrap`,margin:0,padding:0,listStyle:`none`},a:X({color:e.breadcrumbLinkColor,transition:`color ${e.motionDurationMid}`,padding:`0 ${e.paddingXXS}px`,borderRadius:e.borderRadiusSM,height:e.lineHeight*e.fontSize,display:`inline-block`,marginInline:-e.marginXXS,"&:hover":{color:e.breadcrumbLinkColorHover,backgroundColor:e.colorBgTextHover}},Ce(e)),"li:last-child":{color:e.breadcrumbLastItemColor,[`& > ${t}-separator`]:{display:`none`}},[`${t}-separator`]:{marginInline:e.breadcrumbSeparatorMargin,color:e.breadcrumbSeparatorColor},[`${t}-link`]:{[`
2
2
  > ${n} + span,
3
3
  > ${n} + a
4
4
  `]:{marginInlineStart:e.marginXXS}},[`${t}-overlay-link`]:{borderRadius:e.borderRadiusSM,height:e.lineHeight*e.fontSize,display:`inline-block`,padding:`0 ${e.paddingXXS}px`,marginInline:-e.marginXXS,[`> ${n}`]:{marginInlineStart:e.marginXXS,fontSize:e.fontSizeIcon},"&:hover":{color:e.breadcrumbLinkColorHover,backgroundColor:e.colorBgTextHover,a:{color:e.breadcrumbLinkColorHover}},a:{"&:hover":{backgroundColor:`transparent`}}},[`&${e.componentCls}-rtl`]:{direction:`rtl`}})}},Qt=ve(`Breadcrumb`,e=>[Zt(Oe(e,{breadcrumbBaseColor:e.colorTextDescription,breadcrumbFontSize:e.fontSize,breadcrumbIconFontSize:e.fontSize,breadcrumbLinkColor:e.colorTextDescription,breadcrumbLinkColorHover:e.colorText,breadcrumbLastItemColor:e.colorText,breadcrumbSeparatorMargin:e.marginXS,breadcrumbSeparatorColor:e.colorTextDescription}))]),$t=()=>({prefixCls:String,routes:{type:Array},params:Ee.any,separator:Ee.any,itemRender:{type:Function}});function en(e,t){if(!e.breadcrumbName)return null;let n=Object.keys(t).join(`|`);return e.breadcrumbName.replace(RegExp(`:(${n})`,`g`),(e,n)=>t[n]||e)}function tn(e){let{route:t,params:n,routes:r,paths:i}=e,a=r.indexOf(t)===r.length-1,o=en(t,n);return a?w(`span`,null,[o]):w(`a`,{href:`#/${i.join(`/`)}`},[o])}var nn=v({compatConfig:{MODE:3},name:`ABreadcrumb`,inheritAttrs:!1,props:$t(),slots:Object,setup(e,t){let{slots:n,attrs:r}=t,{prefixCls:i,direction:a}=we(`breadcrumb`,e),[o,s]=Qt(i),c=(e,t)=>(e=(e||``).replace(/^\//,``),Object.keys(t).forEach(n=>{e=e.replace(`:${n}`,t[n])}),e),l=(e,t,n)=>{let r=[...e],i=c(t||``,n);return i&&r.push(i),r},u=e=>{let{routes:t=[],params:n={},separator:r,itemRender:i=tn}=e,a=[];return t.map(e=>{let o=c(e.path,n);o&&a.push(o);let s=[...a],u=null;e.children&&e.children.length&&(u=w(Je,{items:e.children.map(e=>({key:e.path||e.breadcrumbName,label:i({route:e,params:n,routes:t,paths:l(s,e.path,n)})}))},null));let d={separator:r};return u&&(d.overlay=u),w(Xt,Z(Z({},d),{},{key:o||e.breadcrumbName}),{default:()=>[i({route:e,params:n,routes:t,paths:s})]})})};return()=>{let t,{routes:c,params:l={}}=e,d=_e(Te(n,e)),f=Te(n,e,`separator`)??`/`,p=e.itemRender||n.itemRender||tn;c&&c.length>0?t=u({routes:c,params:l,separator:f,itemRender:p}):d.length&&(t=d.map((e,t)=>(Se(typeof e.type==`object`&&(e.type.__ANT_BREADCRUMB_ITEM||e.type.__ANT_BREADCRUMB_SEPARATOR),`Breadcrumb`,`Only accepts Breadcrumb.Item and Breadcrumb.Separator as it's children`),z(e,{separator:f,key:t}))));let m={[i.value]:!0,[`${i.value}-rtl`]:a.value===`rtl`,[`${r.class}`]:!!r.class,[s.value]:!0};return o(w(`nav`,Z(Z({},r),{},{class:m}),[w(`ol`,null,[t])]))}}}),rn=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},an=v({compatConfig:{MODE:3},name:`ABreadcrumbSeparator`,__ANT_BREADCRUMB_SEPARATOR:!0,inheritAttrs:!1,props:{prefixCls:String},setup(e,t){let{slots:n,attrs:r}=t,{prefixCls:i}=we(`breadcrumb`,e);return()=>{let{separator:e,class:t}=r,a=rn(r,[`separator`,`class`]),o=_e(n.default?.call(n));return w(`span`,Z({class:[`${i.value}-separator`,t]},a),[o.length>0?o:`/`])}}});nn.Item=Xt,nn.Separator=an,nn.install=function(e){return e.component(nn.name,nn),e.component(Xt.name,Xt),e.component(an.name,an),e};var on=nn,sn=[`normal`,`exception`,`active`,`success`],cn=()=>({prefixCls:String,type:De(),percent:Number,format:fe(),status:De(),showInfo:me(),strokeWidth:Number,strokeLinecap:De(),strokeColor:ue(),trailColor:String,width:Number,success:ce(),gapDegree:Number,gapPosition:De(),size:ye([String,Number,Array]),steps:Number,successPercent:Number,title:String,progressStatus:De()});function ln(e){return!e||e<0?0:e>100?100:e}function un(e){let{success:t,successPercent:n}=e,r=n;return t&&`progress`in t&&(o(!1,`Progress`,"`success.progress` is deprecated. Please use `success.percent` instead."),r=t.progress),t&&`percent`in t&&(r=t.percent),r}function dn(e){let{percent:t,success:n,successPercent:r}=e,i=ln(un({success:n,successPercent:r}));return[i,ln(ln(t)-i)]}function fn(e){let{success:t={},strokeColor:n}=e,{strokeColor:r}=t;return[r||le.green,n||null]}var pn=(e,t,n)=>{let r=-1,i=-1;if(t===`step`){let t=n.steps,a=n.strokeWidth;typeof e==`string`||e===void 0?(r=e===`small`?2:14,i=a??8):typeof e==`number`?[r,i]=[e,e]:[r=14,i=8]=e,r*=t}else if(t===`line`){let t=n?.strokeWidth;typeof e==`string`||e===void 0?i=t||(e===`small`?6:8):typeof e==`number`?[r,i]=[e,e]:[r=-1,i=8]=e}else(t===`circle`||t===`dashboard`)&&(typeof e==`string`||e===void 0?[r,i]=e===`small`?[60,60]:[120,120]:typeof e==`number`?[r,i]=[e,e]:(r=e[0]??e[1]??120,i=e[0]??e[1]??120));return{width:r,height:i}},mn=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},hn=()=>X(X({},cn()),{strokeColor:ue(),direction:De()}),gn=e=>{let t=[];return Object.keys(e).forEach(n=>{let r=parseFloat(n.replace(/%/g,``));isNaN(r)||t.push({key:r,value:e[n]})}),t=t.sort((e,t)=>e.key-t.key),t.map(e=>{let{key:t,value:n}=e;return`${n} ${t}%`}).join(`, `)},_n=(e,t)=>{let{from:n=le.blue,to:r=le.blue,direction:i=t===`rtl`?`to left`:`to right`}=e,a=mn(e,[`from`,`to`,`direction`]);return Object.keys(a).length===0?{backgroundImage:`linear-gradient(${i}, ${n}, ${r})`}:{backgroundImage:`linear-gradient(${i}, ${gn(a)})`}},vn=v({compatConfig:{MODE:3},name:`ProgressLine`,inheritAttrs:!1,props:hn(),setup(e,t){let{slots:n,attrs:r}=t,i=E(()=>{let{strokeColor:t,direction:n}=e;return t&&typeof t!=`string`?_n(t,n):{backgroundColor:t}}),a=E(()=>e.strokeLinecap===`square`||e.strokeLinecap===`butt`?0:void 0),o=E(()=>e.trailColor?{backgroundColor:e.trailColor}:void 0),s=E(()=>e.size??[-1,e.strokeWidth||(e.size===`small`?6:8)]),c=E(()=>pn(s.value,`line`,{strokeWidth:e.strokeWidth})),l=E(()=>{let{percent:t}=e;return X({width:`${ln(t)}%`,height:`${c.value.height}px`,borderRadius:a.value},i.value)}),u=E(()=>un(e)),d=E(()=>{let{success:t}=e;return{width:`${ln(u.value)}%`,height:`${c.value.height}px`,borderRadius:a.value,backgroundColor:t?.strokeColor}}),f={width:c.value.width<0?`100%`:c.value.width,height:`${c.value.height}px`};return()=>w(j,null,[w(`div`,Z(Z({},r),{},{class:[`${e.prefixCls}-outer`,r.class],style:[r.style,f]}),[w(`div`,{class:`${e.prefixCls}-inner`,style:o.value},[w(`div`,{class:`${e.prefixCls}-bg`,style:l.value},null),u.value===void 0?null:w(`div`,{class:`${e.prefixCls}-success-bg`,style:d.value},null)])]),n.default?.call(n)])}}),yn={percent:0,prefixCls:`vc-progress`,strokeColor:`#2db7f5`,strokeLinecap:`round`,strokeWidth:1,trailColor:`#D9D9D9`,trailWidth:1},bn=e=>{let t=I(null);return u(()=>{let n=Date.now(),r=!1;e.value.forEach(e=>{let i=e?.$el||e;if(!i)return;r=!0;let a=i.style;a.transitionDuration=`.3s, .3s, .3s, .06s`,t.value&&n-t.value<100&&(a.transitionDuration=`0s, 0s`)}),r&&(t.value=Date.now())}),e},xn={gapDegree:Number,gapPosition:{type:String},percent:{type:[Array,Number]},prefixCls:String,strokeColor:{type:[Object,String,Array]},strokeLinecap:{type:String},strokeWidth:Number,trailColor:String,trailWidth:Number,transition:String},Sn=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Cn=0;function wn(e){return+e.replace(`%`,``)}function Tn(e){return Array.isArray(e)?e:[e]}function En(e,t,n,r){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a=arguments.length>5?arguments[5]:void 0,o=50-r/2,s=0,c=-o,l=0,u=-2*o;switch(a){case`left`:s=-o,c=0,l=2*o,u=0;break;case`right`:s=o,c=0,l=-2*o,u=0;break;case`bottom`:c=o,u=2*o}let d=`M 50,50 m ${s},${c}