agentworkshop 0.7.54 → 0.7.59

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 (1356) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +2418 -2184
  2. package/.env.example +1 -0
  3. package/.output/.AgentWorkShop/prompts/host-tools.json +2418 -2184
  4. package/.output/.AgentWorkShop/schema.json +140 -138
  5. package/.output/nitro.json +1 -1
  6. package/.output/public/_nuxt/2pU5BiaQ2.js +1 -0
  7. package/.output/public/_nuxt/{BdF9OAZq2.js → 4RTUlYvj2.js} +1 -1
  8. package/.output/public/_nuxt/AuthGate.Cvsc4atp.css +1 -0
  9. package/.output/public/_nuxt/B-Y_rsfn.js +106 -0
  10. package/.output/public/_nuxt/{BhcbvVOa2.js → B02cxZz72.js} +1 -1
  11. package/.output/public/_nuxt/{DNZmwhSD.js → B03LfmKR.js} +1 -1
  12. package/.output/public/_nuxt/{BZtgVXC5.js → B4R5CHkk.js} +3 -3
  13. package/.output/public/_nuxt/{B3zB6K6m.js → BAqtRt0q.js} +1 -1
  14. package/.output/public/_nuxt/BDC8YDyc.js +1 -0
  15. package/.output/public/_nuxt/{uY58gQqR2.js → BG7XSX-S2.js} +1 -1
  16. package/.output/public/_nuxt/{DUribplv2.js → BH30ZaLl2.js} +1 -1
  17. package/.output/public/_nuxt/BKHd_sKD2.js +47 -0
  18. package/.output/public/_nuxt/{S9rLP7_v.js → BMUEVeOK.js} +1 -1
  19. package/.output/public/_nuxt/{D9TpiWjt.js → BMZ1d25O.js} +1 -1
  20. package/.output/public/_nuxt/{DFhyhDGa2.js → BNl_jGa12.js} +1 -1
  21. package/.output/public/_nuxt/{BxoaZc_U2.js → BSG-4Ecg2.js} +1 -1
  22. package/.output/public/_nuxt/{BPqXOlYX.js → BU7WuuKh.js} +1 -1
  23. package/.output/public/_nuxt/{BP8TgWo02.js → BVH9j8dQ2.js} +1 -1
  24. package/.output/public/_nuxt/{C7_F68I7.js → BXKCB3rS.js} +1 -1
  25. package/.output/public/_nuxt/{DioKmYyB2.js → Bd85nb9X2.js} +1 -1
  26. package/.output/public/_nuxt/BhrnGVGz.js +1 -0
  27. package/.output/public/_nuxt/BikIgp9R.js +1 -0
  28. package/.output/public/_nuxt/Bj7BcqHn.js +1 -0
  29. package/.output/public/_nuxt/BkGqyjWm.js +3 -0
  30. package/.output/public/_nuxt/{CP0Nep9S.js → BkO2MZZU.js} +1 -1
  31. package/.output/public/_nuxt/{KXjvpIk2.js → Bn1N3mJv.js} +1 -1
  32. package/.output/public/_nuxt/Br2LgfbH2.js +13 -0
  33. package/.output/public/_nuxt/BrFF_9742.js +1 -0
  34. package/.output/public/_nuxt/{tKxYgsf-.js → BtDBBofS.js} +1 -1
  35. package/.output/public/_nuxt/BtNT93vm2.js +1 -0
  36. package/.output/public/_nuxt/{BxWvUgMz2.js → BtYg4aGR2.js} +1 -1
  37. package/.output/public/_nuxt/BuVH9MB-.js +1 -0
  38. package/.output/public/_nuxt/BupBjt6B2.js +1 -0
  39. package/.output/public/_nuxt/{D2Sm-GTk2.js → ByvqxkcN.js} +1 -1
  40. package/.output/public/_nuxt/{CzlUIbK32.js → BzKT-ne_2.js} +3 -3
  41. package/.output/public/_nuxt/{vPfDYgvR.js → C4X_Z1lA.js} +1 -1
  42. package/.output/public/_nuxt/C5wBzGO7.js +1 -0
  43. package/.output/public/_nuxt/{BgnhB8r5.js → C8uaVABF.js} +1 -1
  44. package/.output/public/_nuxt/{BmTzcKJg2.js → C98jxVaK.js} +1 -1
  45. package/.output/public/_nuxt/CBATzTUf.js +13 -0
  46. package/.output/public/_nuxt/{B9rIcCX12.js → CCCq9H7D2.js} +1 -1
  47. package/.output/public/_nuxt/{CvGYm7w8.js → CEP4UrDv.js} +1 -1
  48. package/.output/public/_nuxt/CHyzK5m52.js +1 -0
  49. package/.output/public/_nuxt/CIPKYgrH2.js +1 -0
  50. package/.output/public/_nuxt/{Drq9iy6V.js → CIz7SM4H.js} +1 -1
  51. package/.output/public/_nuxt/{PY2GW_3N2.js → CKE_kTL92.js} +1 -1
  52. package/.output/public/_nuxt/CPSHP_EI.js +1 -0
  53. package/.output/public/_nuxt/{DCPhrNWR2.js → CSyIwYcJ2.js} +1 -1
  54. package/.output/public/_nuxt/{v55S8LnT.js → CW1HGp5X.js} +1 -1
  55. package/.output/public/_nuxt/{Yv9YItEX2.js → CYGkUj5M2.js} +1 -1
  56. package/.output/public/_nuxt/{DppqsiPC.js → CZ0Gt81h.js} +2 -2
  57. package/.output/public/_nuxt/{Cg8Pgbeu.js → CZkTlW93.js} +2 -2
  58. package/.output/public/_nuxt/{Dz2SLIde.js → CZwDnomB.js} +1 -1
  59. package/.output/public/_nuxt/{DnAn2LgG.js → CZyYdpqZ2.js} +1 -1
  60. package/.output/public/_nuxt/{BJhsCisg2.js → CaBVMdqG2.js} +1 -1
  61. package/.output/public/_nuxt/{CMWyj56j.js → CeDkXWCz.js} +1 -1
  62. package/.output/public/_nuxt/{C-y_g11k.js → Cl19UD7U.js} +1 -1
  63. package/.output/public/_nuxt/ClEbKcuS.js +1 -0
  64. package/.output/public/_nuxt/{B4ujjkUI.js → ClrkV0C4.js} +1 -1
  65. package/.output/public/_nuxt/{nT-bgxvf.js → CmTqFlYZ.js} +1 -1
  66. package/.output/public/_nuxt/{deBcbALe2.js → CnF6dXcZ2.js} +1 -1
  67. package/.output/public/_nuxt/CoGETbe-2.js +1 -0
  68. package/.output/public/_nuxt/{Dq0emNZi2.js → CuRtzvsa2.js} +1 -1
  69. package/.output/public/_nuxt/{CBUIODly2.js → Cv_H1gOM2.js} +1 -1
  70. package/.output/public/_nuxt/{Cmp8PMrA.js → CxLxiOGV.js} +1 -1
  71. package/.output/public/_nuxt/{MbT4wXb62.js → D1Xw30Dj2.js} +1 -1
  72. package/.output/public/_nuxt/{DJyNDnag.js → D5hI4Fhu.js} +1 -1
  73. package/.output/public/_nuxt/D5i2ofVw2.js +1 -0
  74. package/.output/public/_nuxt/D6XGn5vM.js +2 -0
  75. package/.output/public/_nuxt/{DjefmmJu.js → D6c5ppqB.js} +1 -1
  76. package/.output/public/_nuxt/D8VQGThE.js +28 -0
  77. package/.output/public/_nuxt/{DmzmgYHb2.js → DBwuADr82.js} +1 -1
  78. package/.output/public/_nuxt/{DO9xaI9a.js → DEhjFhZ2.js} +1 -1
  79. package/.output/public/_nuxt/{DuPM4HXw.js → DIDbAMv5.js} +1 -1
  80. package/.output/public/_nuxt/{CfLUvgr32.js → DJZzthKt2.js} +1 -1
  81. package/.output/public/_nuxt/{Bpkm4W5P.js → DKhRushG.js} +1 -1
  82. package/.output/public/_nuxt/DLAFNaPf.js +1 -0
  83. package/.output/public/_nuxt/{DffgG8vT.js → DMPpE41S2.js} +1 -1
  84. package/.output/public/_nuxt/{CPeZNE4S2.js → DTZO6WMs2.js} +1 -1
  85. package/.output/public/_nuxt/{Dk6Zf3-L.js → DTx_DtUo.js} +1 -1
  86. package/.output/public/_nuxt/DYtV50yi2.js +1 -0
  87. package/.output/public/_nuxt/{CV61ysvv.js → DctCtJq7.js} +1 -1
  88. package/.output/public/_nuxt/{xX7ccjDl2.js → DelESEcl2.js} +1 -1
  89. package/.output/public/_nuxt/DfqRQSFn.js +19 -0
  90. package/.output/public/_nuxt/{BFZIll912.js → DgldLfCZ2.js} +1 -1
  91. package/.output/public/_nuxt/Dmgqz2np.js +16 -0
  92. package/.output/public/_nuxt/Do0dCE8C2.js +1 -0
  93. package/.output/public/_nuxt/DraEWn4N2.js +1 -0
  94. package/.output/public/_nuxt/{Bwc6lt2X.js → Drhta6gr.js} +2 -2
  95. package/.output/public/_nuxt/{Cn6ihm8j.js → Du0zf-d3.js} +1 -1
  96. package/.output/public/_nuxt/{DqtnqNgL2.js → DvUt9uMt2.js} +1 -1
  97. package/.output/public/_nuxt/{C5cf3T4d.js → Dxo1GW5U.js} +1 -1
  98. package/.output/public/_nuxt/{Ca3iDJwu2.js → Dy-V8OEW2.js} +9 -9
  99. package/.output/public/_nuxt/{BWowAAJb.js → DyMgrV29.js} +1 -1
  100. package/.output/public/_nuxt/{Dm_iKz8k2.js → Eo2BYEIo2.js} +1 -1
  101. package/.output/public/_nuxt/{aV6YPjg02.js → H7Rbu32y2.js} +1 -1
  102. package/.output/public/_nuxt/{vXrNItas2.js → KS3KQF222.js} +1 -1
  103. package/.output/public/_nuxt/{BjWbbMHs.js → M58CVYnv.js} +1 -1
  104. package/.output/public/_nuxt/M6NcguDO.js +1 -0
  105. package/.output/public/_nuxt/{CtPNnATm2.js → MEwEMEMl2.js} +6 -6
  106. package/.output/public/_nuxt/MW-V7IIP2.js +1 -0
  107. package/.output/public/_nuxt/{tq3HbWr9.js → P0EcfD3j.js} +1 -1
  108. package/.output/public/_nuxt/{CHrErv1E.js → TjGWqrHo.js} +1 -1
  109. package/.output/public/_nuxt/{TownView.Xt1yygrh.css → TownView.BuMpDRkf.css} +1 -1
  110. package/.output/public/_nuxt/VVomhVqu2.js +1 -0
  111. package/.output/public/_nuxt/{QHo9mN-M2.js → WYqAa0r52.js} +1 -1
  112. package/.output/public/_nuxt/YDs3mbQu2.js +1 -0
  113. package/.output/public/_nuxt/{Dep0Hc9w2.js → Z3MSTcdu2.js} +1 -1
  114. package/.output/public/_nuxt/_id_.DOqX4gwB.css +1 -0
  115. package/.output/public/_nuxt/_vR_sc7t.js +24 -0
  116. package/.output/public/_nuxt/{aml.-czpKIs8.css → aml.BeFTP6_M.css} +1 -1
  117. package/.output/public/_nuxt/bTFhJlrI2.js +1 -0
  118. package/.output/public/_nuxt/builds/latest.json +1 -1
  119. package/.output/public/_nuxt/builds/meta/92fd7e2e-18f2-45c3-8588-d93004dda6e3.json +1 -0
  120. package/.output/public/_nuxt/daq.YQas76du.css +1 -0
  121. package/.output/public/_nuxt/dcw.UIcWRyIS.css +1 -0
  122. package/.output/public/_nuxt/{default.CyLpQD1C.css → default.8ac6QU28.css} +1 -1
  123. package/.output/public/_nuxt/{entry.JdEG3KJg.css → entry.BHNNQA9H.css} +1 -1
  124. package/.output/public/_nuxt/{D-Xyb3DA.js → gbaq2UOO.js} +1 -1
  125. package/.output/public/_nuxt/goF_oZHF.js +2 -0
  126. package/.output/public/_nuxt/h46i74oE.js +14 -0
  127. package/.output/public/_nuxt/{Cpm5JYv4.js → iZa330UY.js} +1 -1
  128. package/.output/public/_nuxt/logs.Bf65Kw17.css +1 -0
  129. package/.output/public/_nuxt/lyJsJl_G.js +1 -0
  130. package/.output/public/_nuxt/o-G6YtmK2.js +1 -0
  131. package/.output/public/_nuxt/{BkfA3BbD.js → pNy4V4kd.js} +1 -1
  132. package/.output/public/_nuxt/{C_sjV3Ee.js → pncSmP5n.js} +1 -1
  133. package/.output/public/_nuxt/{DVOR2pWg.js → qIQFsHtF.js} +1 -1
  134. package/.output/public/_nuxt/town.DFotRPod.css +1 -0
  135. package/.output/public/_nuxt/workshop.BX2YeO0g.css +1 -0
  136. package/.output/public/_nuxt/yPlLXpEw2.js +1 -0
  137. package/.output/public/_nuxt/ylowSquM2.js +1 -0
  138. package/.output/public/_nuxt/{Da0h_6VA.js → zGDAozGA.js} +4 -4
  139. package/.output/server/chunks/_/binding-authz.mjs +8 -4
  140. package/.output/server/chunks/_/binding-authz.mjs.map +1 -1
  141. package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
  142. package/.output/server/chunks/_/entity.mjs +1 -1
  143. package/.output/server/chunks/_/host-bindings.mjs +22 -2
  144. package/.output/server/chunks/_/host-bindings.mjs.map +1 -1
  145. package/.output/server/chunks/_/nitro.mjs +13085 -8339
  146. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  147. package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
  148. package/.output/server/chunks/_/user.schema.mjs +5 -1
  149. package/.output/server/chunks/_/user.schema.mjs.map +1 -1
  150. package/.output/server/chunks/build/{workshop-BDqWzJtr.mjs → AuthGate-DDPYswkA.mjs} +22 -327
  151. package/.output/server/chunks/build/AuthGate-DDPYswkA.mjs.map +1 -0
  152. package/.output/server/chunks/build/FormItemContext-4ORSzhWv.mjs +1 -1
  153. package/.output/server/chunks/build/{OmpTerminalPanel-mk31gVzA.mjs → OmpTerminalPanel-DZ2wHMS1.mjs} +4 -4
  154. package/.output/server/chunks/build/{OmpTerminalPanel-mk31gVzA.mjs.map → OmpTerminalPanel-DZ2wHMS1.mjs.map} +1 -1
  155. package/.output/server/chunks/build/{TownView-Bf5VFYFj.mjs → TownView-CZbFn6mO.mjs} +216 -107
  156. package/.output/server/chunks/build/TownView-CZbFn6mO.mjs.map +1 -0
  157. package/.output/server/chunks/build/{_id_-WF20tjqT.mjs → _id_-CCVhpJtj.mjs} +7 -6
  158. package/.output/server/chunks/build/_id_-CCVhpJtj.mjs.map +1 -0
  159. package/.output/server/chunks/build/{_id_-CuUmVPRg.mjs → _id_-Df2pgsAq.mjs} +521 -94
  160. package/.output/server/chunks/build/_id_-Df2pgsAq.mjs.map +1 -0
  161. package/.output/server/chunks/build/{_wsId_-BUIKB68b.mjs → _wsId_-CJqF-hmP.mjs} +19 -19
  162. package/.output/server/chunks/build/{_wsId_-BUIKB68b.mjs.map → _wsId_-CJqF-hmP.mjs.map} +1 -1
  163. package/.output/server/chunks/build/{agents-DqICy4AL.mjs → agents-BTsbna5H.mjs} +13 -13
  164. package/.output/server/chunks/build/{agents-DqICy4AL.mjs.map → agents-BTsbna5H.mjs.map} +1 -1
  165. package/.output/server/chunks/build/{aml-C55iuLn-.mjs → aml-BBKfWto1.mjs} +28 -27
  166. package/.output/server/chunks/build/aml-BBKfWto1.mjs.map +1 -0
  167. package/.output/server/chunks/build/api-B4Om0mEc.mjs +2 -1
  168. package/.output/server/chunks/build/api-B4Om0mEc.mjs.map +1 -1
  169. package/.output/server/chunks/build/{card-CUSocE9p.mjs → card-DJOYGuVH.mjs} +4 -4
  170. package/.output/server/chunks/build/{card-CUSocE9p.mjs.map → card-DJOYGuVH.mjs.map} +1 -1
  171. package/.output/server/chunks/build/{channel-templates-gdCLajKy.mjs → channel-templates-BPKJ8e4l.mjs} +9 -9
  172. package/.output/server/chunks/build/{channel-templates-gdCLajKy.mjs.map → channel-templates-BPKJ8e4l.mjs.map} +1 -1
  173. package/.output/server/chunks/build/constants-HPHJvjne.mjs +2 -1
  174. package/.output/server/chunks/build/constants-HPHJvjne.mjs.map +1 -1
  175. package/.output/server/chunks/build/{daq-D0kLscVr.mjs → daq-Cz7TaUAM.mjs} +38 -29
  176. package/.output/server/chunks/build/daq-Cz7TaUAM.mjs.map +1 -0
  177. package/.output/server/chunks/build/{dcw-DuhEyu7S.mjs → dcw-EhjJpVQM.mjs} +45 -20
  178. package/.output/server/chunks/build/dcw-EhjJpVQM.mjs.map +1 -0
  179. package/.output/server/chunks/build/{default-aFGiNebw.mjs → default-DweMY872.mjs} +260 -48
  180. package/.output/server/chunks/build/{default-aFGiNebw.mjs.map → default-DweMY872.mjs.map} +1 -1
  181. package/.output/server/chunks/build/{dropdown-Yev6knaj.mjs → dropdown-CIsqbX4P.mjs} +2 -2
  182. package/.output/server/chunks/build/{dropdown-Yev6knaj.mjs.map → dropdown-CIsqbX4P.mjs.map} +1 -1
  183. package/.output/server/chunks/build/{dropdown-KdKWCS5K.mjs → dropdown-CV9GW3z9.mjs} +5 -5
  184. package/.output/server/chunks/build/{dropdown-KdKWCS5K.mjs.map → dropdown-CV9GW3z9.mjs.map} +1 -1
  185. package/.output/server/chunks/build/{form-uSlNqIAV.mjs → form-cs_RcfGx.mjs} +4 -5
  186. package/.output/server/chunks/build/{form-uSlNqIAV.mjs.map → form-cs_RcfGx.mjs.map} +1 -1
  187. package/.output/server/chunks/{_/SearchOutlined.mjs → build/input-CobQ5LJ5.mjs} +1476 -103
  188. package/.output/server/chunks/build/input-CobQ5LJ5.mjs.map +1 -0
  189. package/.output/server/chunks/build/{input-number-BRVnxeiA.mjs → input-number-BpPYAWMk.mjs} +4 -4
  190. package/.output/server/chunks/build/{input-number-BRVnxeiA.mjs.map → input-number-BpPYAWMk.mjs.map} +1 -1
  191. package/.output/server/chunks/build/{logs-BlOalbsZ.mjs → logs-As9fZqU-.mjs} +49 -35
  192. package/.output/server/chunks/build/logs-As9fZqU-.mjs.map +1 -0
  193. package/.output/server/chunks/build/{menu-BgkRSSx7.mjs → menu-CVmvHyFT.mjs} +3 -3
  194. package/.output/server/chunks/build/{menu-BgkRSSx7.mjs.map → menu-CVmvHyFT.mjs.map} +1 -1
  195. package/.output/server/chunks/build/{monitor-DX_K0WMq.mjs → monitor-CdFQ2z4g.mjs} +17 -17
  196. package/.output/server/chunks/build/{monitor-DX_K0WMq.mjs.map → monitor-CdFQ2z4g.mjs.map} +1 -1
  197. package/.output/server/chunks/build/{operations-BD6LK-Yz.mjs → operations-B2gHCWgZ.mjs} +7 -6
  198. package/.output/server/chunks/build/operations-B2gHCWgZ.mjs.map +1 -0
  199. package/.output/server/chunks/build/{pages-DloBBvU5.mjs → pages-BItCt1ar.mjs} +5 -4
  200. package/.output/server/chunks/build/pages-BItCt1ar.mjs.map +1 -0
  201. package/.output/server/chunks/build/{permissions-BvmodvsO.mjs → permissions-D6mQw_9j.mjs} +12 -12
  202. package/.output/server/chunks/build/{permissions-BvmodvsO.mjs.map → permissions-D6mQw_9j.mjs.map} +1 -1
  203. package/.output/server/chunks/build/plugins-NAS9MQ5r.mjs +2 -1
  204. package/.output/server/chunks/build/plugins-NAS9MQ5r.mjs.map +1 -1
  205. package/.output/server/chunks/build/{popconfirm-Ox-_2V8A.mjs → popconfirm-DFfoFhmt.mjs} +2 -2
  206. package/.output/server/chunks/build/{popconfirm-Ox-_2V8A.mjs.map → popconfirm-DFfoFhmt.mjs.map} +1 -1
  207. package/.output/server/chunks/build/{schedules-D8vYHgQ5.mjs → schedules-BjWNDWL5.mjs} +16 -16
  208. package/.output/server/chunks/build/{schedules-D8vYHgQ5.mjs.map → schedules-BjWNDWL5.mjs.map} +1 -1
  209. package/.output/server/chunks/build/{segmented-C61yLHvo.mjs → segmented-D7FkCgg7.mjs} +2 -2
  210. package/.output/server/chunks/build/{segmented-C61yLHvo.mjs.map → segmented-D7FkCgg7.mjs.map} +1 -1
  211. package/.output/server/chunks/build/{select-rdBWytVK.mjs → select-FqBNxgxT.mjs} +3 -3
  212. package/.output/server/chunks/build/{select-rdBWytVK.mjs.map → select-FqBNxgxT.mjs.map} +1 -1
  213. package/.output/server/chunks/build/{settings-B7HA-sdb.mjs → settings-Cl_KRyEn.mjs} +9 -9
  214. package/.output/server/chunks/build/{settings-B7HA-sdb.mjs.map → settings-Cl_KRyEn.mjs.map} +1 -1
  215. package/.output/server/chunks/build/{table-DOFAvY-v.mjs → table-CeOYERqr.mjs} +8 -9
  216. package/.output/server/chunks/build/{table-DOFAvY-v.mjs.map → table-CeOYERqr.mjs.map} +1 -1
  217. package/.output/server/chunks/build/{tabs-DTeIuZeP.mjs → tabs-LLNSdLl2.mjs} +5 -6
  218. package/.output/server/chunks/build/{tabs-DTeIuZeP.mjs.map → tabs-LLNSdLl2.mjs.map} +1 -1
  219. package/.output/server/chunks/build/{tag-CHLGvNM6.mjs → tag-Dwvkh0Dj.mjs} +2 -3
  220. package/.output/server/chunks/build/{tag-CHLGvNM6.mjs.map → tag-Dwvkh0Dj.mjs.map} +1 -1
  221. package/.output/server/chunks/build/{teams-wM-MdLv9.mjs → teams-CGDZHaQl.mjs} +11 -11
  222. package/.output/server/chunks/build/{teams-wM-MdLv9.mjs.map → teams-CGDZHaQl.mjs.map} +1 -1
  223. package/.output/server/chunks/build/{tokens-CloWk4x_.mjs → tokens-BOYkZuoB.mjs} +13 -13
  224. package/.output/server/chunks/build/{tokens-CloWk4x_.mjs.map → tokens-BOYkZuoB.mjs.map} +1 -1
  225. package/.output/server/chunks/build/{town-BIn3be5v.mjs → town-BV-hbwb5.mjs} +41 -6
  226. package/.output/server/chunks/build/town-BV-hbwb5.mjs.map +1 -0
  227. package/.output/server/chunks/build/{town-B2gBu_ZE.mjs → town-P1rYoi0v.mjs} +7 -6
  228. package/.output/server/chunks/build/town-P1rYoi0v.mjs.map +1 -0
  229. package/.output/server/chunks/build/types-D6J7slEa.mjs +1 -1
  230. package/.output/server/chunks/build/useAgentHarnessOptions-BnFCh23W.mjs +2 -1
  231. package/.output/server/chunks/build/useAgentHarnessOptions-BnFCh23W.mjs.map +1 -1
  232. package/.output/server/chunks/build/useAgentTemplateActions-DsBRUQni.mjs +2 -1
  233. package/.output/server/chunks/build/useAgentTemplateActions-DsBRUQni.mjs.map +1 -1
  234. package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs +2 -1
  235. package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs.map +1 -1
  236. package/.output/server/chunks/build/useAgentTemplateForm-DzQ_t2Ue.mjs +2 -1
  237. package/.output/server/chunks/build/useAgentTemplateForm-DzQ_t2Ue.mjs.map +1 -1
  238. package/.output/server/chunks/build/useAgentTemplatesCatalog-Q7LgG1Af.mjs +2 -1
  239. package/.output/server/chunks/build/useAgentTemplatesCatalog-Q7LgG1Af.mjs.map +1 -1
  240. package/.output/server/chunks/build/useAmlDatasets-DeoE1idn.mjs +2 -1
  241. package/.output/server/chunks/build/useAmlDatasets-DeoE1idn.mjs.map +1 -1
  242. package/.output/server/chunks/build/useAmlEntities-BMLHU_39.mjs +3 -2
  243. package/.output/server/chunks/build/useAmlEntities-BMLHU_39.mjs.map +1 -1
  244. package/.output/server/chunks/build/useAmlEnv-DdlyVzPu.mjs +2 -1
  245. package/.output/server/chunks/build/useAmlEnv-DdlyVzPu.mjs.map +1 -1
  246. package/.output/server/chunks/build/useAmlExperiments-Dloi834i.mjs +2 -1
  247. package/.output/server/chunks/build/useAmlExperiments-Dloi834i.mjs.map +1 -1
  248. package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs +2 -1
  249. package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs.map +1 -1
  250. package/.output/server/chunks/build/{useAmlJobs--a_1ovew.mjs → useAmlJobs-BG_v21hJ.mjs} +4 -3
  251. package/.output/server/chunks/build/useAmlJobs-BG_v21hJ.mjs.map +1 -0
  252. package/.output/server/chunks/build/useAmlModels-D7MuOWOy.mjs +2 -1
  253. package/.output/server/chunks/build/useAmlModels-D7MuOWOy.mjs.map +1 -1
  254. package/.output/server/chunks/build/useAmlNotes-CTZe-GI0.mjs +2 -1
  255. package/.output/server/chunks/build/useAmlNotes-CTZe-GI0.mjs.map +1 -1
  256. package/.output/server/chunks/build/useAmlPredict-BToRrVRV.mjs +2 -1
  257. package/.output/server/chunks/build/useAmlPredict-BToRrVRV.mjs.map +1 -1
  258. package/.output/server/chunks/build/useDaqAddNode-CaOCbe4-.mjs +3 -2
  259. package/.output/server/chunks/build/useDaqAddNode-CaOCbe4-.mjs.map +1 -1
  260. package/.output/server/chunks/build/useDaqDetailBinding-C7AbGIdP.mjs +2 -1
  261. package/.output/server/chunks/build/useDaqDetailBinding-C7AbGIdP.mjs.map +1 -1
  262. package/.output/server/chunks/build/useDaqDetailFrames-CmAEdbAL.mjs +2 -1
  263. package/.output/server/chunks/build/useDaqDetailFrames-CmAEdbAL.mjs.map +1 -1
  264. package/.output/server/chunks/build/{useDaqDetailHistory-pfi6zXWU.mjs → useDaqDetailHistory-C4LWayu1.mjs} +4 -3
  265. package/.output/server/chunks/build/useDaqDetailHistory-C4LWayu1.mjs.map +1 -0
  266. package/.output/server/chunks/build/{useDaqDetailNode-qT7MjqJ7.mjs → useDaqDetailNode-DXgwAu5u.mjs} +5 -4
  267. package/.output/server/chunks/build/useDaqDetailNode-DXgwAu5u.mjs.map +1 -0
  268. package/.output/server/chunks/build/useDaqDetailParams-CrTMDs-2.mjs +3 -2
  269. package/.output/server/chunks/build/useDaqDetailParams-CrTMDs-2.mjs.map +1 -1
  270. package/.output/server/chunks/build/{useDaqFilters-CMysN13f.mjs → useDaqFilters-Jx6EERfr.mjs} +5 -4
  271. package/.output/server/chunks/build/useDaqFilters-Jx6EERfr.mjs.map +1 -0
  272. package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs +2 -1
  273. package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs.map +1 -1
  274. package/.output/server/chunks/build/{useDaqOptimizations-Coq5lsfM.mjs → useDaqOptimizations-C5N4bcu4.mjs} +4 -3
  275. package/.output/server/chunks/build/useDaqOptimizations-C5N4bcu4.mjs.map +1 -0
  276. package/.output/server/chunks/build/useDaqStream-DhzdoyIR.mjs +1 -1
  277. package/.output/server/chunks/build/useDaqTemplates-C7GzQmdJ.mjs +3 -2
  278. package/.output/server/chunks/build/useDaqTemplates-C7GzQmdJ.mjs.map +1 -1
  279. package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs +2 -1
  280. package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs.map +1 -1
  281. package/.output/server/chunks/build/{useDashboardData-DgJcGJaF.mjs → useDashboardData-Ce-EU5DJ.mjs} +4 -3
  282. package/.output/server/chunks/build/useDashboardData-Ce-EU5DJ.mjs.map +1 -0
  283. package/.output/server/chunks/build/{useDcwAddNode-C9DbEKHi.mjs → useDcwAddNode-4mTPQ6T8.mjs} +38 -4
  284. package/.output/server/chunks/build/useDcwAddNode-4mTPQ6T8.mjs.map +1 -0
  285. package/.output/server/chunks/build/{useDcwCards-VDoMYG7l.mjs → useDcwCards-DvLGgUYr.mjs} +4 -3
  286. package/.output/server/chunks/build/useDcwCards-DvLGgUYr.mjs.map +1 -0
  287. package/.output/server/chunks/build/{useDcwDetailScope-CL97tJdJ.mjs → useDcwDetailScope-4j3B03Pi.mjs} +4 -3
  288. package/.output/server/chunks/build/useDcwDetailScope-4j3B03Pi.mjs.map +1 -0
  289. package/.output/server/chunks/build/{useDcwDetailTemplates-OLmjMSGD.mjs → useDcwDetailTemplates-yzNEAMK-.mjs} +4 -3
  290. package/.output/server/chunks/build/useDcwDetailTemplates-yzNEAMK-.mjs.map +1 -0
  291. package/.output/server/chunks/build/{useDcwFilter-Bs9C6-h_.mjs → useDcwFilter-BQDmQYY0.mjs} +4 -3
  292. package/.output/server/chunks/build/useDcwFilter-BQDmQYY0.mjs.map +1 -0
  293. package/.output/server/chunks/build/{useDcwLedger-Bbf_iFOY.mjs → useDcwLedger-DWGufEor.mjs} +4 -3
  294. package/.output/server/chunks/build/useDcwLedger-DWGufEor.mjs.map +1 -0
  295. package/.output/server/chunks/build/{useDcwLineMutations-Bhtuqw7J.mjs → useDcwLineMutations-DHF-Bemn.mjs} +4 -3
  296. package/.output/server/chunks/build/useDcwLineMutations-DHF-Bemn.mjs.map +1 -0
  297. package/.output/server/chunks/build/{useDcwLineRun-CGqZSnG4.mjs → useDcwLineRun-VFe35xou.mjs} +4 -3
  298. package/.output/server/chunks/build/useDcwLineRun-VFe35xou.mjs.map +1 -0
  299. package/.output/server/chunks/build/{useDcwParamApprovals-BBwdFsKv.mjs → useDcwParamApprovals-Bc0BGBds.mjs} +8 -7
  300. package/.output/server/chunks/build/useDcwParamApprovals-Bc0BGBds.mjs.map +1 -0
  301. package/.output/server/chunks/build/{useDcwProducts-BoBkJqpv.mjs → useDcwProducts-DXisXYMh.mjs} +4 -3
  302. package/.output/server/chunks/build/useDcwProducts-DXisXYMh.mjs.map +1 -0
  303. package/.output/server/chunks/build/{useDcwQuery-DP7b2qb6.mjs → useDcwQuery-Cmo3UtIQ.mjs} +4 -3
  304. package/.output/server/chunks/build/useDcwQuery-Cmo3UtIQ.mjs.map +1 -0
  305. package/.output/server/chunks/build/{useDcwQuickActions-DHRiA9KN.mjs → useDcwQuickActions-BkAcxVnj.mjs} +4 -3
  306. package/.output/server/chunks/build/useDcwQuickActions-BkAcxVnj.mjs.map +1 -0
  307. package/.output/server/chunks/build/{useDcwRecipes-CIMeH2oF.mjs → useDcwRecipes-BvtGPQJ9.mjs} +16 -5
  308. package/.output/server/chunks/build/useDcwRecipes-BvtGPQJ9.mjs.map +1 -0
  309. package/.output/server/chunks/build/{useDcwStream-B9ugUWRq.mjs → useDcwStream-BXJ2V8HM.mjs} +12 -2
  310. package/.output/server/chunks/build/{useDcwStream-B9ugUWRq.mjs.map → useDcwStream-BXJ2V8HM.mjs.map} +1 -1
  311. package/.output/server/chunks/build/{useDcwTemplates-M_-qjV8E.mjs → useDcwTemplates-Zxz2DPdu.mjs} +4 -3
  312. package/.output/server/chunks/build/useDcwTemplates-Zxz2DPdu.mjs.map +1 -0
  313. package/.output/server/chunks/build/{useDcwWrites-D94dAzqr.mjs → useDcwWrites-66CKxcos.mjs} +4 -3
  314. package/.output/server/chunks/build/useDcwWrites-66CKxcos.mjs.map +1 -0
  315. package/.output/server/chunks/build/useExpConfirmations-BbInIHsn.mjs +106 -0
  316. package/.output/server/chunks/build/useExpConfirmations-BbInIHsn.mjs.map +1 -0
  317. package/.output/server/chunks/build/{useLocalTime-DZ2RAtVs.mjs → useLocalTime-CUnDHV5V.mjs} +8 -2
  318. package/.output/server/chunks/build/useLocalTime-CUnDHV5V.mjs.map +1 -0
  319. package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs +2 -1
  320. package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs.map +1 -1
  321. package/.output/server/chunks/build/useLogsManual-CMjD62nt.mjs +2 -1
  322. package/.output/server/chunks/build/useLogsManual-CMjD62nt.mjs.map +1 -1
  323. package/.output/server/chunks/build/{useLogsQuery-2x1mKxT1.mjs → useLogsQuery-C5nadU1m.mjs} +15 -4
  324. package/.output/server/chunks/build/useLogsQuery-C5nadU1m.mjs.map +1 -0
  325. package/.output/server/chunks/build/{useLogsScope-04cUJCU-.mjs → useLogsScope-DgrB1ur3.mjs} +4 -3
  326. package/.output/server/chunks/build/useLogsScope-DgrB1ur3.mjs.map +1 -0
  327. package/.output/server/chunks/build/useMonitorColumns-DhYvkLDq.mjs +2 -1
  328. package/.output/server/chunks/build/useMonitorColumns-DhYvkLDq.mjs.map +1 -1
  329. package/.output/server/chunks/build/{useMonitorData-guVjMDtR.mjs → useMonitorData-D2gFSonG.mjs} +4 -3
  330. package/.output/server/chunks/build/useMonitorData-D2gFSonG.mjs.map +1 -0
  331. package/.output/server/chunks/build/{useMonitorFormat-C7lhZe4g.mjs → useMonitorFormat-DRCXsKwh.mjs} +4 -3
  332. package/.output/server/chunks/build/useMonitorFormat-DRCXsKwh.mjs.map +1 -0
  333. package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs +2 -1
  334. package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs.map +1 -1
  335. package/.output/server/chunks/build/useOperationsFeed-DsA2ym7M.mjs +2 -1
  336. package/.output/server/chunks/build/useOperationsFeed-DsA2ym7M.mjs.map +1 -1
  337. package/.output/server/chunks/build/useOpsLog-SnWPuRtK.mjs.map +1 -1
  338. package/.output/server/chunks/build/useRecipeDispatchApprovals-CbL2El3n.mjs +155 -0
  339. package/.output/server/chunks/build/useRecipeDispatchApprovals-CbL2El3n.mjs.map +1 -0
  340. package/.output/server/chunks/build/useTeamActions-BOLQkYxg.mjs +2 -1
  341. package/.output/server/chunks/build/useTeamActions-BOLQkYxg.mjs.map +1 -1
  342. package/.output/server/chunks/build/useTeamAddMemberDialog-BCgrLPxI.mjs +2 -1
  343. package/.output/server/chunks/build/useTeamAddMemberDialog-BCgrLPxI.mjs.map +1 -1
  344. package/.output/server/chunks/build/useTeamCreateDialog-CJk40LqS.mjs +2 -1
  345. package/.output/server/chunks/build/useTeamCreateDialog-CJk40LqS.mjs.map +1 -1
  346. package/.output/server/chunks/build/useTeamDeployDialog-49hdUXQP.mjs +2 -1
  347. package/.output/server/chunks/build/useTeamDeployDialog-49hdUXQP.mjs.map +1 -1
  348. package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs +2 -1
  349. package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs.map +1 -1
  350. package/.output/server/chunks/build/useTeamPluginDialog-Dh-QOoiU.mjs +2 -1
  351. package/.output/server/chunks/build/useTeamPluginDialog-Dh-QOoiU.mjs.map +1 -1
  352. package/.output/server/chunks/build/useTeamsCatalog-HBSyKt5P.mjs +2 -1
  353. package/.output/server/chunks/build/useTeamsCatalog-HBSyKt5P.mjs.map +1 -1
  354. package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs +2 -1
  355. package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs.map +1 -1
  356. package/.output/server/chunks/build/useTokenCreate-DkYvEQUD.mjs +2 -1
  357. package/.output/server/chunks/build/useTokenCreate-DkYvEQUD.mjs.map +1 -1
  358. package/.output/server/chunks/build/useTokenRename-DOCP4aeI.mjs +2 -1
  359. package/.output/server/chunks/build/useTokenRename-DOCP4aeI.mjs.map +1 -1
  360. package/.output/server/chunks/build/useTokenReveal-CybwwflV.mjs +2 -1
  361. package/.output/server/chunks/build/useTokenReveal-CybwwflV.mjs.map +1 -1
  362. package/.output/server/chunks/build/useTokensList-BLiMvrc4.mjs +2 -1
  363. package/.output/server/chunks/build/useTokensList-BLiMvrc4.mjs.map +1 -1
  364. package/.output/server/chunks/build/{useWorkbenchAuth-DqjBX-6w.mjs → useWorkbenchAuth-DAabQl7X.mjs} +6 -2
  365. package/.output/server/chunks/build/useWorkbenchAuth-DAabQl7X.mjs.map +1 -0
  366. package/.output/server/chunks/build/{useWorkbenchWorkspaces-GQVU9BLv.mjs → useWorkbenchWorkspaces-6-mpCGCR.mjs} +5 -4
  367. package/.output/server/chunks/build/useWorkbenchWorkspaces-6-mpCGCR.mjs.map +1 -0
  368. package/.output/server/chunks/build/{useWorkshopWs-CgeCsaYJ.mjs → useWorkshopWs-CM-Ywk4h.mjs} +2 -2
  369. package/.output/server/chunks/build/{useWorkshopWs-CgeCsaYJ.mjs.map → useWorkshopWs-CM-Ywk4h.mjs.map} +1 -1
  370. package/.output/server/chunks/build/useWorkspaceAuth-Dlvj9csD.mjs +2 -1
  371. package/.output/server/chunks/build/useWorkspaceAuth-Dlvj9csD.mjs.map +1 -1
  372. package/.output/server/chunks/build/{useWorkspaceChannels-B13vROC1.mjs → useWorkspaceChannels--65yU02b.mjs} +5 -4
  373. package/.output/server/chunks/build/useWorkspaceChannels--65yU02b.mjs.map +1 -0
  374. package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs +2 -1
  375. package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs.map +1 -1
  376. package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs +2 -1
  377. package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs.map +1 -1
  378. package/.output/server/chunks/build/{users-CCf5PgRs.mjs → users-B_pHStEa.mjs} +13 -13
  379. package/.output/server/chunks/build/{users-CCf5PgRs.mjs.map → users-B_pHStEa.mjs.map} +1 -1
  380. package/.output/server/chunks/build/workshop-C0DefygA.mjs +522 -0
  381. package/.output/server/chunks/build/workshop-C0DefygA.mjs.map +1 -0
  382. package/.output/server/chunks/routes/api/health.get.mjs +12 -2
  383. package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
  384. package/.output/server/chunks/routes/api/index.get.mjs +4 -3
  385. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  386. package/.output/server/chunks/routes/api/index.post.mjs +3 -2
  387. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  388. package/.output/server/chunks/routes/api/mcp/workshop.mjs +3 -2
  389. package/.output/server/chunks/routes/api/mcp/workshop.mjs.map +1 -1
  390. package/.output/server/chunks/routes/api/metrics.mjs +11 -1
  391. package/.output/server/chunks/routes/api/metrics.mjs.map +1 -1
  392. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +2 -1
  393. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs.map +1 -1
  394. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +2 -1
  395. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs.map +1 -1
  396. package/.output/server/chunks/routes/api/plugins/i18n.get.mjs +2 -1
  397. package/.output/server/chunks/routes/api/plugins/i18n.get.mjs.map +1 -1
  398. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +2 -1
  399. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs.map +1 -1
  400. package/.output/server/chunks/routes/api/system/backup/list.get.mjs +2 -1
  401. package/.output/server/chunks/routes/api/system/backup/list.get.mjs.map +1 -1
  402. package/.output/server/chunks/routes/api/system/backup/run.post.mjs +4 -3
  403. package/.output/server/chunks/routes/api/system/backup/run.post.mjs.map +1 -1
  404. package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs +2 -1
  405. package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs.map +1 -1
  406. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs +2 -1
  407. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs.map +1 -1
  408. package/.output/server/chunks/routes/api/system/config.get.mjs +2 -1
  409. package/.output/server/chunks/routes/api/system/config.get.mjs.map +1 -1
  410. package/.output/server/chunks/routes/api/system/index.get.mjs +2 -1
  411. package/.output/server/chunks/routes/api/system/index.get.mjs.map +1 -1
  412. package/.output/server/chunks/routes/api/system/index.patch.mjs +2 -1
  413. package/.output/server/chunks/routes/api/system/index.patch.mjs.map +1 -1
  414. package/.output/server/chunks/routes/api/system/index.post.mjs +2 -1
  415. package/.output/server/chunks/routes/api/system/index.post.mjs.map +1 -1
  416. package/.output/server/chunks/routes/api/system/index2.get.mjs +2 -1
  417. package/.output/server/chunks/routes/api/system/index2.get.mjs.map +1 -1
  418. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +2 -1
  419. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs.map +1 -1
  420. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +2 -1
  421. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs.map +1 -1
  422. package/.output/server/chunks/routes/api/system/monitor.get.mjs +2 -1
  423. package/.output/server/chunks/routes/api/system/monitor.get.mjs.map +1 -1
  424. package/.output/server/chunks/routes/api/system/settings/events.get.mjs +2 -1
  425. package/.output/server/chunks/routes/api/system/settings/events.get.mjs.map +1 -1
  426. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +2 -1
  427. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs.map +1 -1
  428. package/.output/server/chunks/routes/api/system/timezone.get.mjs +2 -1
  429. package/.output/server/chunks/routes/api/system/timezone.get.mjs.map +1 -1
  430. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +2 -1
  431. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
  432. package/.output/server/chunks/routes/api/users/_id_.get.mjs +2 -1
  433. package/.output/server/chunks/routes/api/users/_id_.get.mjs.map +1 -1
  434. package/.output/server/chunks/routes/api/users/_id_.put.mjs +2 -1
  435. package/.output/server/chunks/routes/api/users/_id_.put.mjs.map +1 -1
  436. package/.output/server/chunks/routes/api/users/change-password.post.mjs +35 -0
  437. package/.output/server/chunks/routes/api/users/change-password.post.mjs.map +1 -0
  438. package/.output/server/chunks/routes/api/users/index.get.mjs +3 -2
  439. package/.output/server/chunks/routes/api/users/index.get.mjs.map +1 -1
  440. package/.output/server/chunks/routes/api/users/index.post.mjs +4 -3
  441. package/.output/server/chunks/routes/api/users/index.post.mjs.map +1 -1
  442. package/.output/server/chunks/routes/api/users/login.post.mjs +4 -3
  443. package/.output/server/chunks/routes/api/users/login.post.mjs.map +1 -1
  444. package/.output/server/chunks/routes/api/users/logout.post.mjs +3 -2
  445. package/.output/server/chunks/routes/api/users/logout.post.mjs.map +1 -1
  446. package/.output/server/chunks/routes/api/users/me.get.mjs +3 -2
  447. package/.output/server/chunks/routes/api/users/me.get.mjs.map +1 -1
  448. package/.output/server/chunks/routes/api/users/register.post.mjs +3 -2
  449. package/.output/server/chunks/routes/api/users/register.post.mjs.map +1 -1
  450. package/.output/server/chunks/routes/api/users/setup-status.get.mjs +6 -3
  451. package/.output/server/chunks/routes/api/users/setup-status.get.mjs.map +1 -1
  452. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +3 -2
  453. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs.map +1 -1
  454. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +3 -2
  455. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs.map +1 -1
  456. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +4 -3
  457. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs.map +1 -1
  458. package/.output/server/chunks/routes/api/workshop/_...path_.mjs +2 -1
  459. package/.output/server/chunks/routes/api/workshop/_...path_.mjs.map +1 -1
  460. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +2 -1
  461. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs.map +1 -1
  462. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +2 -1
  463. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs.map +1 -1
  464. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +2 -1
  465. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs.map +1 -1
  466. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +15 -5
  467. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs.map +1 -1
  468. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +3 -2
  469. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs.map +1 -1
  470. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +24 -3
  471. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs.map +1 -1
  472. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs +3 -2
  473. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs.map +1 -1
  474. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs +3 -2
  475. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs.map +1 -1
  476. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +3 -2
  477. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs.map +1 -1
  478. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +48 -8
  479. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs.map +1 -1
  480. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +3 -2
  481. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs.map +1 -1
  482. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +3 -2
  483. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs.map +1 -1
  484. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +3 -2
  485. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs.map +1 -1
  486. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +2 -1
  487. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs.map +1 -1
  488. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +2 -1
  489. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs.map +1 -1
  490. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +2 -1
  491. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs.map +1 -1
  492. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +2 -1
  493. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs.map +1 -1
  494. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs +3 -2
  495. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs.map +1 -1
  496. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs +3 -2
  497. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs.map +1 -1
  498. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +3 -2
  499. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs.map +1 -1
  500. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs +3 -2
  501. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs.map +1 -1
  502. package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs +2 -1
  503. package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs.map +1 -1
  504. package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs +3 -2
  505. package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs.map +1 -1
  506. package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs +3 -2
  507. package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs.map +1 -1
  508. package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs +3 -2
  509. package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs.map +1 -1
  510. package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs +3 -2
  511. package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs.map +1 -1
  512. package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs +3 -2
  513. package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs.map +1 -1
  514. package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs +2 -1
  515. package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs.map +1 -1
  516. package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs +3 -2
  517. package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs.map +1 -1
  518. package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs +3 -2
  519. package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs.map +1 -1
  520. package/.output/server/chunks/routes/api/workshop/aml/index3.post.mjs +3 -2
  521. package/.output/server/chunks/routes/api/workshop/aml/index3.post.mjs.map +1 -1
  522. package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs +3 -2
  523. package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs.map +1 -1
  524. package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs +3 -2
  525. package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs.map +1 -1
  526. package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs +3 -2
  527. package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs.map +1 -1
  528. package/.output/server/chunks/routes/api/workshop/aml/index7.get.mjs +3 -2
  529. package/.output/server/chunks/routes/api/workshop/aml/index7.get.mjs.map +1 -1
  530. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs +3 -2
  531. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs.map +1 -1
  532. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs +3 -2
  533. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs.map +1 -1
  534. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs +3 -2
  535. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs.map +1 -1
  536. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs +3 -2
  537. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs.map +1 -1
  538. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs +3 -2
  539. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs.map +1 -1
  540. package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs +3 -2
  541. package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs.map +1 -1
  542. package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs +3 -2
  543. package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs.map +1 -1
  544. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs +3 -2
  545. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs.map +1 -1
  546. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs +3 -2
  547. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs.map +1 -1
  548. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id/train.post.mjs +3 -2
  549. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id/train.post.mjs.map +1 -1
  550. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.delete.mjs +3 -2
  551. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.delete.mjs.map +1 -1
  552. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.patch.mjs +3 -2
  553. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.patch.mjs.map +1 -1
  554. package/.output/server/chunks/routes/api/workshop/aml/twin/providers.get.mjs +3 -2
  555. package/.output/server/chunks/routes/api/workshop/aml/twin/providers.get.mjs.map +1 -1
  556. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +3 -2
  557. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs.map +1 -1
  558. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +2 -1
  559. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs.map +1 -1
  560. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +2 -1
  561. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs.map +1 -1
  562. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +2 -1
  563. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs.map +1 -1
  564. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +3 -2
  565. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs.map +1 -1
  566. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +2 -1
  567. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs.map +1 -1
  568. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +3 -2
  569. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs.map +1 -1
  570. package/.output/server/chunks/routes/api/workshop/audit.get.mjs +2 -1
  571. package/.output/server/chunks/routes/api/workshop/audit.get.mjs.map +1 -1
  572. package/.output/server/chunks/routes/api/workshop/caller.mjs +3 -2
  573. package/.output/server/chunks/routes/api/workshop/caller.mjs.map +1 -1
  574. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +5 -4
  575. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs.map +1 -1
  576. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +2 -1
  577. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs.map +1 -1
  578. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +2 -1
  579. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs.map +1 -1
  580. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +2 -1
  581. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs.map +1 -1
  582. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +2 -1
  583. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs.map +1 -1
  584. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +3 -2
  585. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs.map +1 -1
  586. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +2 -1
  587. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs.map +1 -1
  588. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +2 -1
  589. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs.map +1 -1
  590. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +2 -1
  591. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs.map +1 -1
  592. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +2 -1
  593. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs.map +1 -1
  594. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +2 -1
  595. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs.map +1 -1
  596. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +2 -1
  597. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs.map +1 -1
  598. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +2 -1
  599. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs.map +1 -1
  600. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +2 -1
  601. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs.map +1 -1
  602. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +2 -1
  603. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs.map +1 -1
  604. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +2 -1
  605. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs.map +1 -1
  606. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.get.mjs +2 -1
  607. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.get.mjs.map +1 -1
  608. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs +3 -2
  609. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs.map +1 -1
  610. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/messages/_messageId/read.post.mjs +2 -1
  611. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/messages/_messageId/read.post.mjs.map +1 -1
  612. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/permissions.get.mjs +2 -1
  613. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/permissions.get.mjs.map +1 -1
  614. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +2 -1
  615. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs.map +1 -1
  616. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +2 -1
  617. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs.map +1 -1
  618. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +3 -2
  619. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs.map +1 -1
  620. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +3 -2
  621. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs.map +1 -1
  622. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +2 -1
  623. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs.map +1 -1
  624. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +2 -1
  625. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs.map +1 -1
  626. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +2 -1
  627. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs.map +1 -1
  628. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +3 -2
  629. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs.map +1 -1
  630. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +2 -1
  631. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs.map +1 -1
  632. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +3 -2
  633. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs.map +1 -1
  634. package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +3 -2
  635. package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs.map +1 -1
  636. package/.output/server/chunks/routes/api/workshop/channels/_id/index6.get.mjs +2 -1
  637. package/.output/server/chunks/routes/api/workshop/channels/_id/index6.get.mjs.map +1 -1
  638. package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs +9 -2
  639. package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs.map +1 -1
  640. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId/approve.post.mjs +2 -1
  641. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId/approve.post.mjs.map +1 -1
  642. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId_.delete.mjs +2 -1
  643. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId_.delete.mjs.map +1 -1
  644. package/.output/server/chunks/routes/api/workshop/channels/_id/members/join.post.mjs +5 -2
  645. package/.output/server/chunks/routes/api/workshop/channels/_id/members/join.post.mjs.map +1 -1
  646. package/.output/server/chunks/routes/api/workshop/channels/_id/members/leave.post.mjs +2 -1
  647. package/.output/server/chunks/routes/api/workshop/channels/_id/members/leave.post.mjs.map +1 -1
  648. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +2 -1
  649. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs.map +1 -1
  650. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +2 -1
  651. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs.map +1 -1
  652. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +3 -2
  653. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs.map +1 -1
  654. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs +3 -2
  655. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs.map +1 -1
  656. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs +3 -2
  657. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs.map +1 -1
  658. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +2 -1
  659. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs.map +1 -1
  660. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +3 -2
  661. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs.map +1 -1
  662. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +2 -1
  663. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs.map +1 -1
  664. package/.output/server/chunks/routes/api/workshop/channels.get.mjs +2 -1
  665. package/.output/server/chunks/routes/api/workshop/channels.get.mjs.map +1 -1
  666. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +18 -5
  667. package/.output/server/chunks/routes/api/workshop/channels.post.mjs.map +1 -1
  668. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +4 -3
  669. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs.map +1 -1
  670. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +4 -3
  671. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs.map +1 -1
  672. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +3 -2
  673. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs.map +1 -1
  674. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +3 -2
  675. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs.map +1 -1
  676. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +3 -2
  677. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs.map +1 -1
  678. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +4 -3
  679. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs.map +1 -1
  680. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +4 -3
  681. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs.map +1 -1
  682. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +4 -3
  683. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs.map +1 -1
  684. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +3 -2
  685. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs.map +1 -1
  686. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +3 -2
  687. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs.map +1 -1
  688. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +4 -3
  689. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs.map +1 -1
  690. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +3 -2
  691. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs.map +1 -1
  692. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +3 -2
  693. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs.map +1 -1
  694. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +3 -2
  695. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs.map +1 -1
  696. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +3 -2
  697. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs.map +1 -1
  698. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +3 -2
  699. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs.map +1 -1
  700. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +5 -4
  701. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs.map +1 -1
  702. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +3 -2
  703. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs.map +1 -1
  704. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +3 -2
  705. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs.map +1 -1
  706. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +3 -2
  707. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs.map +1 -1
  708. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +3 -2
  709. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs.map +1 -1
  710. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +3 -2
  711. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs.map +1 -1
  712. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +3 -2
  713. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs.map +1 -1
  714. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +3 -2
  715. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs.map +1 -1
  716. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +3 -2
  717. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs.map +1 -1
  718. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +3 -2
  719. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs.map +1 -1
  720. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +3 -2
  721. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs.map +1 -1
  722. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +4 -3
  723. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs.map +1 -1
  724. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +3 -2
  725. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs.map +1 -1
  726. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +3 -2
  727. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs.map +1 -1
  728. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +15 -12
  729. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs.map +1 -1
  730. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +7 -4
  731. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs.map +1 -1
  732. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +15 -14
  733. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs.map +1 -1
  734. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +12 -4
  735. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs.map +1 -1
  736. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +16 -5
  737. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs.map +1 -1
  738. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +3 -2
  739. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs.map +1 -1
  740. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +6 -4
  741. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs.map +1 -1
  742. package/.output/server/chunks/routes/api/workshop/dcw/index7.get.mjs +30 -0
  743. package/.output/server/chunks/routes/api/workshop/dcw/index7.get.mjs.map +1 -0
  744. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +3 -2
  745. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs.map +1 -1
  746. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +3 -2
  747. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs.map +1 -1
  748. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +3 -2
  749. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs.map +1 -1
  750. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +3 -2
  751. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs.map +1 -1
  752. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +5 -4
  753. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs.map +1 -1
  754. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +5 -4
  755. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs.map +1 -1
  756. package/.output/server/chunks/routes/api/workshop/dcw/mes-artifacts/file.get.mjs +62 -0
  757. package/.output/server/chunks/routes/api/workshop/dcw/mes-artifacts/file.get.mjs.map +1 -0
  758. package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs +99 -0
  759. package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs.map +1 -0
  760. package/.output/server/chunks/routes/api/workshop/dcw/mes-test-read.post.mjs +3 -2
  761. package/.output/server/chunks/routes/api/workshop/dcw/mes-test-read.post.mjs.map +1 -1
  762. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +3 -2
  763. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs.map +1 -1
  764. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +3 -2
  765. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs.map +1 -1
  766. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +3 -2
  767. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs.map +1 -1
  768. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +3 -2
  769. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs.map +1 -1
  770. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +3 -2
  771. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs.map +1 -1
  772. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +3 -2
  773. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs.map +1 -1
  774. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +3 -2
  775. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs.map +1 -1
  776. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +3 -2
  777. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs.map +1 -1
  778. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +3 -2
  779. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs.map +1 -1
  780. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +3 -2
  781. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs.map +1 -1
  782. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +7 -4
  783. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs.map +1 -1
  784. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +7 -4
  785. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs.map +1 -1
  786. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +7 -4
  787. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs.map +1 -1
  788. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +7 -4
  789. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs.map +1 -1
  790. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +3 -2
  791. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs.map +1 -1
  792. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +3 -2
  793. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs.map +1 -1
  794. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs +3 -2
  795. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs.map +1 -1
  796. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +3 -2
  797. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs.map +1 -1
  798. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +3 -2
  799. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs.map +1 -1
  800. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +3 -2
  801. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs.map +1 -1
  802. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +3 -2
  803. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs.map +1 -1
  804. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +3 -2
  805. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs.map +1 -1
  806. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +3 -2
  807. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs.map +1 -1
  808. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +3 -2
  809. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs.map +1 -1
  810. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +3 -2
  811. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs.map +1 -1
  812. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +3 -2
  813. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs.map +1 -1
  814. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +3 -2
  815. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs.map +1 -1
  816. package/.output/server/chunks/routes/api/workshop/exp/confirmations/_id/decide.post.mjs +55 -0
  817. package/.output/server/chunks/routes/api/workshop/exp/confirmations/_id/decide.post.mjs.map +1 -0
  818. package/.output/server/chunks/routes/api/workshop/exp/index.get.mjs +38 -0
  819. package/.output/server/chunks/routes/api/workshop/exp/index.get.mjs.map +1 -0
  820. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +3 -2
  821. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs.map +1 -1
  822. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +3 -2
  823. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs.map +1 -1
  824. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +3 -2
  825. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs.map +1 -1
  826. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +8 -2
  827. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs.map +1 -1
  828. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +6 -3
  829. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs.map +1 -1
  830. package/.output/server/chunks/routes/api/workshop/index.get.mjs +2 -1
  831. package/.output/server/chunks/routes/api/workshop/index.get.mjs.map +1 -1
  832. package/.output/server/chunks/routes/api/workshop/index.post.mjs +2 -1
  833. package/.output/server/chunks/routes/api/workshop/index.post.mjs.map +1 -1
  834. package/.output/server/chunks/routes/api/workshop/index.put.mjs +3 -2
  835. package/.output/server/chunks/routes/api/workshop/index.put.mjs.map +1 -1
  836. package/.output/server/chunks/routes/api/workshop/index10.get.mjs +3 -2
  837. package/.output/server/chunks/routes/api/workshop/index10.get.mjs.map +1 -1
  838. package/.output/server/chunks/routes/api/workshop/index11.get.mjs +2 -1
  839. package/.output/server/chunks/routes/api/workshop/index11.get.mjs.map +1 -1
  840. package/.output/server/chunks/routes/api/workshop/index12.get.mjs +2 -1
  841. package/.output/server/chunks/routes/api/workshop/index12.get.mjs.map +1 -1
  842. package/.output/server/chunks/routes/api/workshop/index13.get.mjs +2 -1
  843. package/.output/server/chunks/routes/api/workshop/index13.get.mjs.map +1 -1
  844. package/.output/server/chunks/routes/api/workshop/index14.get.mjs +2 -1
  845. package/.output/server/chunks/routes/api/workshop/index14.get.mjs.map +1 -1
  846. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +3 -2
  847. package/.output/server/chunks/routes/api/workshop/index2.get.mjs.map +1 -1
  848. package/.output/server/chunks/routes/api/workshop/index2.post.mjs +2 -1
  849. package/.output/server/chunks/routes/api/workshop/index2.post.mjs.map +1 -1
  850. package/.output/server/chunks/routes/api/workshop/index3.get.mjs +2 -1
  851. package/.output/server/chunks/routes/api/workshop/index3.get.mjs.map +1 -1
  852. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +8 -4
  853. package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
  854. package/.output/server/chunks/routes/api/workshop/index4.get.mjs +2 -1
  855. package/.output/server/chunks/routes/api/workshop/index4.get.mjs.map +1 -1
  856. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +8 -4
  857. package/.output/server/chunks/routes/api/workshop/index4.post.mjs.map +1 -1
  858. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +4 -3
  859. package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
  860. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +3 -2
  861. package/.output/server/chunks/routes/api/workshop/index5.post.mjs.map +1 -1
  862. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +3 -2
  863. package/.output/server/chunks/routes/api/workshop/index6.get.mjs.map +1 -1
  864. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +3 -2
  865. package/.output/server/chunks/routes/api/workshop/index6.post.mjs.map +1 -1
  866. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +3 -2
  867. package/.output/server/chunks/routes/api/workshop/index7.get.mjs.map +1 -1
  868. package/.output/server/chunks/routes/api/workshop/index7.post.mjs +2 -1
  869. package/.output/server/chunks/routes/api/workshop/index7.post.mjs.map +1 -1
  870. package/.output/server/chunks/routes/api/workshop/index8.get.mjs +2 -1
  871. package/.output/server/chunks/routes/api/workshop/index8.get.mjs.map +1 -1
  872. package/.output/server/chunks/routes/api/workshop/index8.post.mjs +2 -1
  873. package/.output/server/chunks/routes/api/workshop/index8.post.mjs.map +1 -1
  874. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +3 -1
  875. package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
  876. package/.output/server/chunks/routes/api/workshop/index9.post.mjs +2 -1
  877. package/.output/server/chunks/routes/api/workshop/index9.post.mjs.map +1 -1
  878. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +2 -1
  879. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs.map +1 -1
  880. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +2 -1
  881. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs.map +1 -1
  882. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +2 -1
  883. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs.map +1 -1
  884. package/.output/server/chunks/routes/api/workshop/notifications/read.post.mjs +2 -1
  885. package/.output/server/chunks/routes/api/workshop/notifications/read.post.mjs.map +1 -1
  886. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +3 -2
  887. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs.map +1 -1
  888. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +3 -2
  889. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs.map +1 -1
  890. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +2 -1
  891. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs.map +1 -1
  892. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +2 -1
  893. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs.map +1 -1
  894. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +3 -2
  895. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs.map +1 -1
  896. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +3 -2
  897. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs.map +1 -1
  898. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +2 -1
  899. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs.map +1 -1
  900. package/.output/server/chunks/routes/api/workshop/schedules/_id/run.post.mjs +2 -1
  901. package/.output/server/chunks/routes/api/workshop/schedules/_id/run.post.mjs.map +1 -1
  902. package/.output/server/chunks/routes/api/workshop/schedules/_id/runs.get.mjs +2 -1
  903. package/.output/server/chunks/routes/api/workshop/schedules/_id/runs.get.mjs.map +1 -1
  904. package/.output/server/chunks/routes/api/workshop/schedules/_id_.delete.mjs +2 -1
  905. package/.output/server/chunks/routes/api/workshop/schedules/_id_.delete.mjs.map +1 -1
  906. package/.output/server/chunks/routes/api/workshop/schedules/_id_.get.mjs +2 -1
  907. package/.output/server/chunks/routes/api/workshop/schedules/_id_.get.mjs.map +1 -1
  908. package/.output/server/chunks/routes/api/workshop/schedules/_id_.patch.mjs +2 -1
  909. package/.output/server/chunks/routes/api/workshop/schedules/_id_.patch.mjs.map +1 -1
  910. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +2 -1
  911. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs.map +1 -1
  912. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +2 -1
  913. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs.map +1 -1
  914. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +2 -1
  915. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs.map +1 -1
  916. package/.output/server/chunks/routes/api/workshop/tasks/_id/reassign.post.mjs +2 -1
  917. package/.output/server/chunks/routes/api/workshop/tasks/_id/reassign.post.mjs.map +1 -1
  918. package/.output/server/chunks/routes/api/workshop/tasks/_id/reopen.post.mjs +48 -0
  919. package/.output/server/chunks/routes/api/workshop/tasks/_id/reopen.post.mjs.map +1 -0
  920. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +2 -1
  921. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs.map +1 -1
  922. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +2 -1
  923. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs.map +1 -1
  924. package/.output/server/chunks/routes/api/workshop/tasks/_id/update.post.mjs +2 -1
  925. package/.output/server/chunks/routes/api/workshop/tasks/_id/update.post.mjs.map +1 -1
  926. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +2 -1
  927. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs.map +1 -1
  928. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +2 -1
  929. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs.map +1 -1
  930. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +3 -2
  931. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs.map +1 -1
  932. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +2 -1
  933. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs.map +1 -1
  934. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +2 -1
  935. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs.map +1 -1
  936. package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs +3 -2
  937. package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs.map +1 -1
  938. package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs +3 -2
  939. package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs.map +1 -1
  940. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +2 -1
  941. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs.map +1 -1
  942. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +2 -1
  943. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs.map +1 -1
  944. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +2 -1
  945. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs.map +1 -1
  946. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +2 -1
  947. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs.map +1 -1
  948. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +2 -1
  949. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs.map +1 -1
  950. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +2 -1
  951. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs.map +1 -1
  952. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +4 -3
  953. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs.map +1 -1
  954. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +2 -1
  955. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs.map +1 -1
  956. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +2 -1
  957. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs.map +1 -1
  958. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +2 -1
  959. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs.map +1 -1
  960. package/.output/server/chunks/routes/renderer.mjs +3 -3
  961. package/.output/server/chunks/virtual/entry.mjs +250 -57
  962. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  963. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  964. package/.output/server/index.mjs +2 -1
  965. package/.output/server/index.mjs.map +1 -1
  966. package/.output/server/package.json +1 -1
  967. package/LICENSE +69 -91
  968. package/README-zh.md +928 -833
  969. package/README.md +949 -845
  970. package/app/components/AppSidebar.vue +1 -1
  971. package/app/components/aml/AmlEnvPanel.vue +230 -230
  972. package/app/components/app-header/LoginModal.vue +131 -0
  973. package/app/components/app-header/UserChip.vue +161 -150
  974. package/app/components/dcw/DcwAddNodeModal.vue +29 -1
  975. package/app/components/dcw/DcwEditLineModal.vue +216 -108
  976. package/app/components/dcw/DcwLineCard.vue +129 -117
  977. package/app/components/dcw/DcwMesArtifacts.vue +140 -0
  978. package/app/components/dcw/DcwNodesTable.vue +9 -0
  979. package/app/components/dcw/DcwParamApprovalCard.vue +116 -110
  980. package/app/components/dcw/DcwRecipeEditModal.vue +399 -306
  981. package/app/components/dcw/ExpConfirmCard.vue +103 -0
  982. package/app/components/dcw/RecipeDispatchApprovalCard.vue +330 -0
  983. package/app/components/dcw/RecipeGateApprovalCard.vue +159 -0
  984. package/app/components/logs/LogsEventTable.vue +321 -309
  985. package/app/components/logs/LogsFilterCard.vue +253 -234
  986. package/app/components/workshop/DaqNodeRow.vue +616 -592
  987. package/app/components/workshop/town/TownView.vue +6 -2
  988. package/app/components/workshop/town/components/AutoModeConfirmModal.vue +94 -0
  989. package/app/components/workshop/town/components/TownAgentBindings.vue +18 -2
  990. package/app/components/workshop/town/components/TownAgentInspector.vue +10 -2
  991. package/app/components/workshop/town/components/TownRightRail.vue +4 -1
  992. package/app/components/workshop/workbench/AuthGate.vue +182 -179
  993. package/app/components/workshop/workbench/ChangePasswordModal.vue +106 -0
  994. package/app/composables/workshop/town/town-relay-props.ts +6 -1
  995. package/app/composables/workshop/town/useTownAgentBindings.ts +73 -6
  996. package/app/composables/workshop/useDcwStream.ts +374 -362
  997. package/app/composables/workshop/useOpsLog.ts +3 -0
  998. package/app/layouts/default.vue +201 -161
  999. package/app/layouts/town.vue +40 -21
  1000. package/app/pages/daq/composables/useDaqDetailHistory.ts +199 -199
  1001. package/app/pages/dcw/[id].vue +380 -318
  1002. package/app/pages/dcw/composables/useDcwAddNode.ts +29 -0
  1003. package/app/pages/dcw/composables/useDcwParamApprovals.ts +123 -119
  1004. package/app/pages/dcw/composables/useDcwRecipes.ts +256 -242
  1005. package/app/pages/dcw/composables/useExpConfirmations.ts +108 -0
  1006. package/app/pages/dcw/composables/useRecipeDispatchApprovals.ts +200 -0
  1007. package/app/pages/dcw/dcw-page.css +360 -344
  1008. package/app/pages/dcw/index.vue +11 -0
  1009. package/app/pages/logs/composables/useLogsQuery.ts +57 -52
  1010. package/app/pages/logs/index.vue +95 -94
  1011. package/app/pages/workshop/composables/useWorkbenchAuth.ts +131 -125
  1012. package/app/pages/workshop/index.vue +121 -116
  1013. package/app/plugins/http.ts +6 -0
  1014. package/app/stores/workshop/auth-ui.ts +26 -0
  1015. package/app/stores/workshop/user.ts +19 -2
  1016. package/cli/commands/mcp.mjs +6 -0
  1017. package/config.yml +180 -180
  1018. package/docker-compose.yml +4 -0
  1019. package/docs/cli.en.md +447 -447
  1020. package/docs/cli.md +412 -412
  1021. package/docs/plugins.en.md +621 -621
  1022. package/docs/plugins.md +610 -610
  1023. package/docs/sdk.en.md +964 -964
  1024. package/docs/sdk.md +900 -900
  1025. package/i18n/locales/en.ts +2812 -2738
  1026. package/i18n/locales/zh-CN.ts +2812 -2738
  1027. package/mcp/aw-mcp-server.mjs +4 -1
  1028. package/package.json +181 -181
  1029. package/scripts/_audit/feature-audit-e2e.mjs +12 -9
  1030. package/scripts/_audit/idd-scenarios-e2e.mjs +239 -0
  1031. package/scripts/aw-start-smoke.mjs +7 -1
  1032. package/scripts/check-docs-sync.mjs +417 -367
  1033. package/scripts/dev-guard.mjs +2 -1
  1034. package/scripts/dev-mes-simulator.mjs +456 -0
  1035. package/scripts/feature-sweep-e2e.mjs +176 -0
  1036. package/scripts/onboarding/forge-channel.mjs +157 -0
  1037. package/scripts/onboarding/lib.mjs +78 -0
  1038. package/scripts/onboarding/onboard.mjs +196 -0
  1039. package/scripts/onboarding/provision-line.mjs +179 -0
  1040. package/scripts/onboarding/test-connection.mjs +42 -0
  1041. package/scripts/onboarding/verify-line.mjs +95 -0
  1042. package/scripts/perm-isolation-e2e.mjs +188 -0
  1043. package/scripts/render-opt-curve.mjs +97 -0
  1044. package/scripts/render-pressure-curve.mjs +89 -0
  1045. package/scripts/start.mjs +126 -2
  1046. package/scripts/testing/aep-live.mjs +60 -0
  1047. package/scripts/testing/aggregate-benchmarks.mjs +79 -0
  1048. package/scripts/testing/api-full-loop.mjs +172 -0
  1049. package/scripts/testing/benchmark.config.json +66 -0
  1050. package/scripts/testing/game-host.mjs +63 -0
  1051. package/scripts/testing/hitl-expert.mjs +143 -0
  1052. package/scripts/testing/idd-kb-smoke.mjs +46 -0
  1053. package/scripts/testing/run-benchmark.mjs +984 -0
  1054. package/scripts/testing/sdk-live.mjs +55 -0
  1055. package/scripts/ui/e2e-interactive.mjs +14 -14
  1056. package/scripts/ui/lib.mjs +210 -210
  1057. package/server/api/health.get.ts +12 -1
  1058. package/server/api/metrics.ts +89 -78
  1059. package/server/api/users/change-password.post.ts +18 -0
  1060. package/server/api/users/setup-status.get.ts +13 -8
  1061. package/server/api/workshop/agent-tools/approvals/[id]/decide.post.ts +21 -6
  1062. package/server/api/workshop/agent-tools/bindings/[id].patch.ts +36 -3
  1063. package/server/api/workshop/agent-tools/bindings/index.post.ts +60 -9
  1064. package/server/api/workshop/caller.ts +3 -2
  1065. package/server/api/workshop/channel-templates/[id]/instantiate.post.ts +1 -1
  1066. package/server/api/workshop/channels/[id]/line.put.ts +41 -30
  1067. package/server/api/workshop/channels/[id]/members/join.post.ts +35 -30
  1068. package/server/api/workshop/channels.post.ts +13 -0
  1069. package/server/api/workshop/daq/index.post.ts +6 -1
  1070. package/server/api/workshop/daq/test-driver.post.ts +3 -3
  1071. package/server/api/workshop/dcw/index.post.ts +26 -20
  1072. package/server/api/workshop/dcw/lines/[id].delete.ts +3 -2
  1073. package/server/api/workshop/dcw/lines/[id].patch.ts +5 -3
  1074. package/server/api/workshop/dcw/lines/index.post.ts +1 -1
  1075. package/server/api/workshop/dcw/mes-artifacts/file.get.ts +50 -0
  1076. package/server/api/workshop/dcw/mes-artifacts/index.get.ts +27 -0
  1077. package/server/api/workshop/dcw/mes-hook-test.post.ts +105 -0
  1078. package/server/api/workshop/dcw/products/index.post.ts +6 -2
  1079. package/server/api/workshop/dcw/recipes/[id]/apply.post.ts +6 -2
  1080. package/server/api/workshop/dcw/recipes/[id]/mark-good.post.ts +6 -2
  1081. package/server/api/workshop/dcw/recipes/[id]/revert.post.ts +33 -29
  1082. package/server/api/workshop/dcw/recipes/[id]/rollback-good.post.ts +7 -3
  1083. package/server/api/workshop/dcw/recipes/index.post.ts +27 -15
  1084. package/server/api/workshop/exp/confirmations/[id]/decide.post.ts +41 -0
  1085. package/server/api/workshop/exp/confirmations/index.get.ts +25 -0
  1086. package/server/api/workshop/hitl/pending.get.ts +57 -48
  1087. package/server/api/workshop/hitl/respond.post.ts +10 -2
  1088. package/server/api/workshop/ops-logs/index.get.ts +1 -0
  1089. package/server/api/workshop/tasks/[id]/reopen.post.ts +35 -0
  1090. package/server/api/workshop/ws/peer-sub.ts +135 -128
  1091. package/server/api/workshop/ws/subscriptions.ts +15 -1
  1092. package/server/plugins/backup.ts +94 -11
  1093. package/server/plugins/daq.ts +3 -0
  1094. package/server/plugins/memory-watch.ts +92 -0
  1095. package/server/plugins/parent-watch.ts +22 -0
  1096. package/server/plugins/workshop.ts +258 -230
  1097. package/server/plugins-builtin/diag-bridge/client.mjs +49 -1
  1098. package/server/plugins-builtin/diag-bridge/host/diagnosis.mjs +15 -6
  1099. package/server/plugins-builtin/diag-bridge/host/exports.mjs +104 -0
  1100. package/server/plugins-builtin/diag-bridge/host/plugin.mjs +120 -17
  1101. package/server/plugins-builtin/diag-bridge/host/sweep.mjs +47 -0
  1102. package/server/plugins-builtin/diag-bridge/i18n.json +82 -72
  1103. package/server/repositories/user.repository.ts +36 -12
  1104. package/server/schemas/user.schema.ts +7 -0
  1105. package/server/services/user.service.ts +50 -8
  1106. package/server/services/workshop/agents/agent-interface.ts +1 -1
  1107. package/server/services/workshop/agents/base-agent.ts +8 -1
  1108. package/server/services/workshop/agents/binding-authz.ts +8 -5
  1109. package/server/services/workshop/agents/binding-mode.ts +51 -0
  1110. package/server/services/workshop/agents/hitl-decision/dispatcher.ts +16 -3
  1111. package/server/services/workshop/agents/hitl-decision/index.ts +24 -24
  1112. package/server/services/workshop/agents/hitl-decision/line-of.ts +38 -0
  1113. package/server/services/workshop/agents/hitl-decision/reconcile.ts +152 -70
  1114. package/server/services/workshop/agents/hitl-decision/shared.ts +2 -0
  1115. package/server/services/workshop/agents/hitl-registry.ts +582 -577
  1116. package/server/services/workshop/agents/host-tool-bridge/catalog.ts +86 -2
  1117. package/server/services/workshop/agents/host-tool-bridge/dispatch.ts +25 -0
  1118. package/server/services/workshop/agents/host-tool-bridge/tools/industrial.ts +13 -1
  1119. package/server/services/workshop/agents/host-tool-bridge/tools/memory.ts +4 -1
  1120. package/server/services/workshop/agents/host-tool-bridge/tools/messaging.ts +45 -11
  1121. package/server/services/workshop/agents/host-tool-bridge/tools/tasks.ts +5 -1
  1122. package/server/services/workshop/agents/industrial/aml-activity.ts +131 -0
  1123. package/server/services/workshop/agents/industrial/aml-dataset-tools.ts +21 -0
  1124. package/server/services/workshop/agents/industrial/aml-job-tools.ts +9 -3
  1125. package/server/services/workshop/agents/industrial/daq-export.ts +510 -0
  1126. package/server/services/workshop/agents/industrial/dcw-judge-tools.ts +160 -149
  1127. package/server/services/workshop/agents/industrial/dcw-tools.ts +68 -21
  1128. package/server/services/workshop/agents/industrial/exp-tools.ts +104 -0
  1129. package/server/services/workshop/agents/industrial/grant-guard.ts +145 -0
  1130. package/server/services/workshop/agents/industrial/index.ts +4 -0
  1131. package/server/services/workshop/agents/industrial/line-tools.ts +151 -0
  1132. package/server/services/workshop/agents/industrial/manual-approval.ts +3 -2
  1133. package/server/services/workshop/agents/industrial/mes-tools.ts +143 -135
  1134. package/server/services/workshop/agents/industrial/ops-tools.ts +267 -68
  1135. package/server/services/workshop/agents/industrial/optimization-tools.ts +19 -9
  1136. package/server/services/workshop/agents/industrial/param-tools.ts +192 -169
  1137. package/server/services/workshop/agents/industrial/recipe-gate.ts +96 -0
  1138. package/server/services/workshop/agents/industrial/recipe-propose-tools.ts +366 -0
  1139. package/server/services/workshop/agents/industrial/twin-tools.ts +38 -4
  1140. package/server/services/workshop/agents/industrial-context.ts +122 -24
  1141. package/server/services/workshop/agents/mock-agent.ts +17 -0
  1142. package/server/services/workshop/agents/node-bindings.repo.ts +207 -206
  1143. package/server/services/workshop/agents/node-delegation.ts +4 -4
  1144. package/server/services/workshop/agents/omp-agent/event-mapping.ts +178 -142
  1145. package/server/services/workshop/agents/tool-approvals.ts +261 -13
  1146. package/server/services/workshop/aml/dataset-builder.ts +8 -1
  1147. package/server/services/workshop/aml/env-manager.ts +242 -242
  1148. package/server/services/workshop/aml/job-orchestrator/failure.ts +19 -0
  1149. package/server/services/workshop/aml/job-orchestrator/stages.ts +27 -0
  1150. package/server/services/workshop/aml/python-runtime.ts +600 -552
  1151. package/server/services/workshop/aml/twin/binding-snapshot.ts +637 -603
  1152. package/server/services/workshop/aml/twin/channel-profile.ts +3 -2
  1153. package/server/services/workshop/daq/bus/queue-port.ts +3 -0
  1154. package/server/services/workshop/daq/daq-controller/crud.ts +206 -202
  1155. package/server/services/workshop/daq/daq-controller/driver-probe.ts +64 -64
  1156. package/server/services/workshop/daq/daq-controller/ingest.ts +189 -189
  1157. package/server/services/workshop/daq/daq-controller/state.ts +204 -197
  1158. package/server/services/workshop/daq/daq-controller/views.ts +85 -84
  1159. package/server/services/workshop/daq/daq-node.repo.ts +27 -4
  1160. package/server/services/workshop/daq/daq-node.ts +4 -2
  1161. package/server/services/workshop/daq/daq-runtime.ts +2 -1
  1162. package/server/services/workshop/daq/drivers/index.ts +29 -29
  1163. package/server/services/workshop/daq/drivers/mqtt.ts +217 -182
  1164. package/server/services/workshop/daq/drivers/registry.ts +35 -1
  1165. package/server/services/workshop/daq/drivers/shared.ts +63 -60
  1166. package/server/services/workshop/daq/objectstore/disk.adapter.ts +48 -2
  1167. package/server/services/workshop/daq/objectstore/gc.ts +92 -0
  1168. package/server/services/workshop/daq/objectstore/objectstore-port.ts +12 -0
  1169. package/server/services/workshop/daq/storage/sqlite.adapter.ts +318 -318
  1170. package/server/services/workshop/daq/storage/timescale.adapter.ts +37 -3
  1171. package/server/services/workshop/db/database/migrations.ts +12 -1
  1172. package/server/services/workshop/db/database/open.ts +5 -1
  1173. package/server/services/workshop/db/database/rows.ts +4 -0
  1174. package/server/services/workshop/db/database/schema.ts +7 -2
  1175. package/server/services/workshop/db/database/seed.ts +71 -0
  1176. package/server/services/workshop/db/memory.repo.ts +1 -1
  1177. package/server/services/workshop/db/ops.repo.ts +24 -7
  1178. package/server/services/workshop/dcw/dcw-controller/actuation.ts +140 -127
  1179. package/server/services/workshop/dcw/dcw-controller/bindings.ts +97 -83
  1180. package/server/services/workshop/dcw/dcw-controller/crud.ts +19 -4
  1181. package/server/services/workshop/dcw/dcw-controller/gate-persist.ts +80 -0
  1182. package/server/services/workshop/dcw/dcw-controller/lines.ts +229 -213
  1183. package/server/services/workshop/dcw/dcw-controller/recipes.ts +286 -196
  1184. package/server/services/workshop/dcw/dcw-controller/state.ts +71 -66
  1185. package/server/services/workshop/dcw/dcw-controller/write-verify.ts +98 -0
  1186. package/server/services/workshop/dcw/dcw-controller/write.ts +51 -9
  1187. package/server/services/workshop/dcw/dcw-line.repo.ts +17 -1
  1188. package/server/services/workshop/dcw/dcw-node.repo.ts +110 -87
  1189. package/server/services/workshop/dcw/dcw-node.ts +8 -3
  1190. package/server/services/workshop/dcw/dcw-recipe.repo.ts +32 -0
  1191. package/server/services/workshop/dcw/dcw-runtime.ts +8 -1
  1192. package/server/services/workshop/dcw/drivers/http.ts +68 -66
  1193. package/server/services/workshop/dcw/drivers/index.ts +27 -27
  1194. package/server/services/workshop/dcw/drivers/mes-rest.ts +707 -543
  1195. package/server/services/workshop/dcw/drivers/mock.ts +47 -44
  1196. package/server/services/workshop/dcw/drivers/modbus-rtu.ts +1 -1
  1197. package/server/services/workshop/dcw/drivers/modbus.ts +1 -1
  1198. package/server/services/workshop/dcw/drivers/mqtt.ts +109 -108
  1199. package/server/services/workshop/dcw/drivers/opcua.ts +1 -1
  1200. package/server/services/workshop/dcw/drivers/registry.ts +142 -100
  1201. package/server/services/workshop/dcw/drivers/shared.ts +186 -161
  1202. package/server/services/workshop/dcw/param-map.repo.ts +349 -321
  1203. package/server/services/workshop/dcw/recipe-op-anchor.ts +117 -0
  1204. package/server/services/workshop/dcw/recipe-rollback.repo.ts +26 -0
  1205. package/server/services/workshop/exp/exp-collector.ts +275 -0
  1206. package/server/services/workshop/exp/exp-state.repo.ts +339 -0
  1207. package/server/services/workshop/json-store.mjs +137 -105
  1208. package/server/services/workshop/mes/mes-controller.ts +274 -26
  1209. package/server/services/workshop/mes/mes-datasets.ts +503 -441
  1210. package/server/services/workshop/mes/mes-hook.ts +567 -0
  1211. package/server/services/workshop/ops/ops.ts +3 -0
  1212. package/server/services/workshop/permissions.ts +7 -7
  1213. package/server/services/workshop/plugin-driver-registry.ts +123 -108
  1214. package/server/services/workshop/plugins/host/services.mjs +10 -0
  1215. package/server/services/workshop/prompts/loader.ts +11 -2
  1216. package/server/services/workshop/runtime/agent-runtime/lifecycle.ts +18 -0
  1217. package/server/services/workshop/runtime/agent-runtime/message.ts +10 -0
  1218. package/server/services/workshop/runtime/line-notify.ts +76 -0
  1219. package/server/services/workshop/runtime/manager/access.ts +488 -483
  1220. package/server/services/workshop/runtime/manager/channel-templates.ts +21 -2
  1221. package/server/services/workshop/runtime/manager/runtime-wiring.ts +96 -1
  1222. package/server/services/workshop/runtime/manager/state.ts +106 -1
  1223. package/server/services/workshop/runtime/manager/tasks.ts +67 -4
  1224. package/server/services/workshop/runtime/manager/workspace.ts +8 -2
  1225. package/server/services/workshop/runtime/memory/recall.ts +20 -1
  1226. package/server/services/workshop/runtime/memory/write.ts +149 -93
  1227. package/server/services/workshop/runtime/platform-notice.ts +113 -0
  1228. package/server/services/workshop/runtime/scheduler-loop/execute.ts +44 -12
  1229. package/server/services/workshop/runtime/scheduler-loop/rules.ts +24 -7
  1230. package/server/services/workshop/runtime/scheduler-loop/tick.ts +44 -1
  1231. package/server/services/workshop/runtime/task-engine/lifecycle.ts +11 -0
  1232. package/server/services/workshop/runtime/task-engine/update.ts +11 -0
  1233. package/server/services/workshop/settings.ts +17 -0
  1234. package/server/types/user.ts +4 -0
  1235. package/server/utils/errors.ts +1 -0
  1236. package/server/utils/response.ts +6 -0
  1237. package/shared/config/schema.json +140 -138
  1238. package/shared/config/single-instance.mjs +28 -1
  1239. package/shared/daq-protocol.ts +12 -2
  1240. package/shared/dcw-protocol/catalog.ts +6 -1
  1241. package/shared/dcw-protocol/index.ts +19 -19
  1242. package/shared/dcw-protocol/line.ts +34 -0
  1243. package/shared/dcw-protocol/recipe.ts +33 -3
  1244. package/shared/local-time.mjs +37 -13
  1245. package/shared/workshop-protocol.ts +4 -0
  1246. package/.output/public/_nuxt/B2x8SKRO2.js +0 -1
  1247. package/.output/public/_nuxt/BOhcoxIu.js +0 -2
  1248. package/.output/public/_nuxt/BQy0Yy7S.js +0 -1
  1249. package/.output/public/_nuxt/BTVyPFng2.js +0 -1
  1250. package/.output/public/_nuxt/BXR3tgEk.js +0 -1
  1251. package/.output/public/_nuxt/B_9_BM9G.js +0 -3
  1252. package/.output/public/_nuxt/BcX4fktE.js +0 -1
  1253. package/.output/public/_nuxt/Bfe2qOYs.js +0 -1
  1254. package/.output/public/_nuxt/BnoyYd0Z2.js +0 -1
  1255. package/.output/public/_nuxt/BqYO-UfR.js +0 -1
  1256. package/.output/public/_nuxt/Btv3HXrq.js +0 -1
  1257. package/.output/public/_nuxt/BuXaEtBG2.js +0 -1
  1258. package/.output/public/_nuxt/Bub2P5me.js +0 -28
  1259. package/.output/public/_nuxt/CAaSPBqk.js +0 -1
  1260. package/.output/public/_nuxt/CD9lpEz22.js +0 -13
  1261. package/.output/public/_nuxt/CFjveTJh.js +0 -1
  1262. package/.output/public/_nuxt/CI2yXRr42.js +0 -1
  1263. package/.output/public/_nuxt/COQM2L1M.js +0 -1
  1264. package/.output/public/_nuxt/Ch9KdZWb2.js +0 -1
  1265. package/.output/public/_nuxt/CtXOpljm2.js +0 -1
  1266. package/.output/public/_nuxt/CwLQAKay2.js +0 -1
  1267. package/.output/public/_nuxt/DB4ma-iU2.js +0 -1
  1268. package/.output/public/_nuxt/DV5joWTn2.js +0 -47
  1269. package/.output/public/_nuxt/DVKXGuMz2.js +0 -1
  1270. package/.output/public/_nuxt/DZDi8inD.js +0 -1
  1271. package/.output/public/_nuxt/DZuXfuXS.js +0 -14
  1272. package/.output/public/_nuxt/Db4_F1T2.js +0 -1
  1273. package/.output/public/_nuxt/DlX0nqUe.js +0 -1
  1274. package/.output/public/_nuxt/Dqz5HiXa.js +0 -2
  1275. package/.output/public/_nuxt/I1cI6sPJ2.js +0 -1
  1276. package/.output/public/_nuxt/Sjjmp5OD2.js +0 -1
  1277. package/.output/public/_nuxt/WVTVkqef.js +0 -1
  1278. package/.output/public/_nuxt/_id_.DZbVLNnu.css +0 -1
  1279. package/.output/public/_nuxt/a4X3ARNm2.js +0 -1
  1280. package/.output/public/_nuxt/bt__BP-I.js +0 -13
  1281. package/.output/public/_nuxt/builds/meta/af879435-fc74-4017-ade0-3b92c1ab35bb.json +0 -1
  1282. package/.output/public/_nuxt/cY_5jwFz2.js +0 -1
  1283. package/.output/public/_nuxt/daq.0uieKcZk.css +0 -1
  1284. package/.output/public/_nuxt/dcw.pQRVkAi_.css +0 -1
  1285. package/.output/public/_nuxt/eutnXI4F.js +0 -24
  1286. package/.output/public/_nuxt/k5K6Jj6g.js +0 -19
  1287. package/.output/public/_nuxt/logs.CD0Olr3c.css +0 -1
  1288. package/.output/public/_nuxt/wDPc4SSR.js +0 -106
  1289. package/.output/public/_nuxt/workshop.b4YRXEe0.css +0 -1
  1290. package/.output/server/chunks/_/SearchOutlined.mjs.map +0 -1
  1291. package/.output/server/chunks/build/TownView-Bf5VFYFj.mjs.map +0 -1
  1292. package/.output/server/chunks/build/_id_-CuUmVPRg.mjs.map +0 -1
  1293. package/.output/server/chunks/build/_id_-WF20tjqT.mjs.map +0 -1
  1294. package/.output/server/chunks/build/aml-C55iuLn-.mjs.map +0 -1
  1295. package/.output/server/chunks/build/daq-D0kLscVr.mjs.map +0 -1
  1296. package/.output/server/chunks/build/dcw-DuhEyu7S.mjs.map +0 -1
  1297. package/.output/server/chunks/build/input-Cr_KFj4T.mjs +0 -1381
  1298. package/.output/server/chunks/build/input-Cr_KFj4T.mjs.map +0 -1
  1299. package/.output/server/chunks/build/logs-BlOalbsZ.mjs.map +0 -1
  1300. package/.output/server/chunks/build/operations-BD6LK-Yz.mjs.map +0 -1
  1301. package/.output/server/chunks/build/pages-DloBBvU5.mjs.map +0 -1
  1302. package/.output/server/chunks/build/town-B2gBu_ZE.mjs.map +0 -1
  1303. package/.output/server/chunks/build/town-BIn3be5v.mjs.map +0 -1
  1304. package/.output/server/chunks/build/useAmlJobs--a_1ovew.mjs.map +0 -1
  1305. package/.output/server/chunks/build/useDaqDetailHistory-pfi6zXWU.mjs.map +0 -1
  1306. package/.output/server/chunks/build/useDaqDetailNode-qT7MjqJ7.mjs.map +0 -1
  1307. package/.output/server/chunks/build/useDaqFilters-CMysN13f.mjs.map +0 -1
  1308. package/.output/server/chunks/build/useDaqOptimizations-Coq5lsfM.mjs.map +0 -1
  1309. package/.output/server/chunks/build/useDashboardData-DgJcGJaF.mjs.map +0 -1
  1310. package/.output/server/chunks/build/useDcwAddNode-C9DbEKHi.mjs.map +0 -1
  1311. package/.output/server/chunks/build/useDcwCards-VDoMYG7l.mjs.map +0 -1
  1312. package/.output/server/chunks/build/useDcwDetailScope-CL97tJdJ.mjs.map +0 -1
  1313. package/.output/server/chunks/build/useDcwDetailTemplates-OLmjMSGD.mjs.map +0 -1
  1314. package/.output/server/chunks/build/useDcwFilter-Bs9C6-h_.mjs.map +0 -1
  1315. package/.output/server/chunks/build/useDcwLedger-Bbf_iFOY.mjs.map +0 -1
  1316. package/.output/server/chunks/build/useDcwLineMutations-Bhtuqw7J.mjs.map +0 -1
  1317. package/.output/server/chunks/build/useDcwLineRun-CGqZSnG4.mjs.map +0 -1
  1318. package/.output/server/chunks/build/useDcwParamApprovals-BBwdFsKv.mjs.map +0 -1
  1319. package/.output/server/chunks/build/useDcwProducts-BoBkJqpv.mjs.map +0 -1
  1320. package/.output/server/chunks/build/useDcwQuery-DP7b2qb6.mjs.map +0 -1
  1321. package/.output/server/chunks/build/useDcwQuickActions-DHRiA9KN.mjs.map +0 -1
  1322. package/.output/server/chunks/build/useDcwRecipes-CIMeH2oF.mjs.map +0 -1
  1323. package/.output/server/chunks/build/useDcwTemplates-M_-qjV8E.mjs.map +0 -1
  1324. package/.output/server/chunks/build/useDcwWrites-D94dAzqr.mjs.map +0 -1
  1325. package/.output/server/chunks/build/useLocalTime-DZ2RAtVs.mjs.map +0 -1
  1326. package/.output/server/chunks/build/useLogsQuery-2x1mKxT1.mjs.map +0 -1
  1327. package/.output/server/chunks/build/useLogsScope-04cUJCU-.mjs.map +0 -1
  1328. package/.output/server/chunks/build/useMonitorData-guVjMDtR.mjs.map +0 -1
  1329. package/.output/server/chunks/build/useMonitorFormat-C7lhZe4g.mjs.map +0 -1
  1330. package/.output/server/chunks/build/useWorkbenchAuth-DqjBX-6w.mjs.map +0 -1
  1331. package/.output/server/chunks/build/useWorkbenchWorkspaces-GQVU9BLv.mjs.map +0 -1
  1332. package/.output/server/chunks/build/useWorkspaceChannels-B13vROC1.mjs.map +0 -1
  1333. package/.output/server/chunks/build/workshop-BDqWzJtr.mjs.map +0 -1
  1334. package/scripts/_aw0746-stage5.mjs +0 -159
  1335. package/scripts/_aw0746-stage6-aml.mjs +0 -177
  1336. package/scripts/_aw0746-train-strong.py +0 -142
  1337. package/scripts/_aw0747-readme-rows.mjs +0 -32
  1338. package/scripts/_aw0748-fresh-channel.mjs +0 -21
  1339. package/scripts/_aw0748-mock-dispatch-diag.mjs +0 -66
  1340. package/scripts/_aw0748-wake-channel.mjs +0 -46
  1341. package/scripts/_aw0749-readme-rows.mjs +0 -23
  1342. package/scripts/_dbg-comm-verify.mjs +0 -188
  1343. package/scripts/_dbg-im-e2e.mjs +0 -169
  1344. package/scripts/_dbg-opt2-run.mjs +0 -114
  1345. package/scripts/_dbg-opt2-setup.mjs +0 -95
  1346. package/scripts/_dbg-param-map-e2e.ts +0 -248
  1347. package/scripts/_dbg-param-map-rest-smoke.mjs +0 -73
  1348. package/scripts/_dbg-param-real-scenario.mjs +0 -153
  1349. package/scripts/_dbg-real-scenario-e2e.mjs +0 -246
  1350. package/scripts/_dbg-recipe-stale-e2e.mjs +0 -135
  1351. package/scripts/_dbg-schedule-ui-verify.mjs +0 -115
  1352. package/scripts/_dbg-team-matrix.mjs +0 -148
  1353. package/scripts/_dbg-ui-fullcrawl.mjs +0 -91
  1354. package/scripts/_dbg-ui-static-audit.mjs +0 -65
  1355. package/scripts/_dbg-write-lock-e2e.mjs +0 -131
  1356. /package/.output/public/_nuxt/{DdNujZN52.js → DdNujZN5.js} +0 -0
@@ -1 +0,0 @@
1
- import{N as e,dt as t,ft as n,g as r,mt as i,u as a}from"./CavpkQb0.js";import{Q as o,S as s,V as c,W as l,b as u,d,f,h as p,i as m,k as h,m as g,nt as _,p as v,rt as y,y as b}from"./ByMj6e7s.js";import{c as x,d as S,o as C,s as w}from"./Dqz5HiXa.js";import{t as ee}from"./Cmp8PMrA.js";import{n as T}from"./Cnrmlixo.js";import{t as E}from"./DzBbYWrw2.js";import{t as D}from"./BDNMzG2s2.js";import{t as O}from"./Bfe2qOYs.js";import{r as te}from"./Du9v6qGB2.js";import{t as k}from"./dVw8IHY62.js";import{i as A,r as j,t as M}from"./CtXOpljm2.js";import{t as N}from"./a4X3ARNm2.js";import{t as P}from"./DCPhrNWR2.js";import{t as ne}from"./QHo9mN-M2.js";import{t as re}from"./Dm_iKz8k2.js";import{t as ie}from"./BJhsCisg2.js";import{t as ae}from"./cY_5jwFz2.js";import{t as oe}from"./DUribplv2.js";import{t as se}from"./BP8TgWo02.js";import{t as ce}from"./xX7ccjDl2.js";var le={class:`aw-page-head`},ue={class:`aw-kicker`},de={class:`sub`},fe={class:`badges mono`},pe={class:`badge`},me={class:`badge`},he={class:`badge`},ge=Object.assign(D(s({__name:`DcwDetailHead`,props:{line:{},lineId:{},nodesCount:{},productsCount:{},recipesCount:{}},setup(e){return(t,r)=>(c(),p(`div`,le,[f(`div`,null,[f(`p`,ue,[f(`span`,{class:`line-chip`,style:n({background:e.line?.color??`#3aa0ff`})},null,4),b(`AGENTWORKSHOP / LINE / `+i(e.line?.name??e.lineId),1)]),f(`h1`,null,i(e.line?.name??t.$t(`dcwDetail.k1b2snna151`))+` · `+i(t.$t(`dcwDetail.k1l0iow1137`)),1),f(`p`,de,i(e.line?.description||t.$t(`dcwDetail.kzcbfki152`)),1)]),f(`div`,fe,[f(`span`,pe,i(t.$t(`dcwDetail.k45uio082`))+` `+i(e.nodesCount),1),f(`span`,me,i(t.$t(`dcwDetail.k3waz1025`))+` `+i(e.productsCount),1),f(`span`,he,i(t.$t(`dcwDetail.k48grv027`))+` `+i(e.recipesCount),1)])]))}}),[[`__scopeId`,`data-v-2c59e7e0`]]),{__name:`DcwDetailHead`}),_e={class:`aw-tile ctrl-card`},ve={class:`ctrl-left`},ye=[`title`],be={class:`ctrl-right`},xe={class:`ctrl-metrics mono`},Se=[`title`],Ce=[`title`],F=[`title`],we=Object.assign(D(s({__name:`DcwGatewayBar`,props:{running:{type:Boolean},nodesOnline:{},nodesTotal:{},writesTotal:{},writesFailed:{}},emits:[`toggle`,`open-templates`,`open-add`],setup(e,{emit:n}){let r=n;return(n,a)=>(c(),p(`section`,_e,[f(`div`,ve,[f(`button`,{class:t([`aw-pill`,{running:e.running}]),title:n.$t(`dcwDetail.k1snap154`),onClick:a[0]||=t=>r(`toggle`,e.running?`pause`:`resume`)},[f(`span`,{class:t(e.running?`i-tabler-player-pause`:`i-tabler-player-play`)},null,2),b(` `+i(e.running?n.$t(`dcwDetail.kplrsg153`):n.$t(`dcwDetail.knxgni9169`)),1)],10,ye)]),f(`div`,be,[f(`span`,xe,[f(`span`,null,i(n.$t(`dcwDetail.k45uio082`))+` `+i(e.nodesOnline)+`/`+i(e.nodesTotal),1),a[3]||=f(`span`,{class:`sep`},`·`,-1),f(`span`,{title:n.$t(`dcwDetail.kd3ygmn001`)},i(n.$t(`dcwDetail.k3wtib138`))+` `+i(e.writesTotal),9,Se),a[4]||=f(`span`,{class:`sep`},`·`,-1),f(`span`,{class:t({warn:e.writesFailed>0}),title:n.$t(`dcwDetail.kd3znl0002`)},i(n.$t(`dcwDetail.k3yit7139`))+` `+i(e.writesFailed),11,Ce)]),f(`button`,{class:`aw-pill outline`,title:n.$t(`dcwDetail.kc4ixly003`),onClick:a[1]||=e=>r(`open-templates`)},[a[5]||=f(`span`,{class:`i-tabler-template`},null,-1),b(` `+i(n.$t(`dcwDetail.k1972dx9020`)),1)],8,F),f(`button`,{class:`aw-pill add-btn`,onClick:a[2]||=e=>r(`open-add`)},[a[6]||=f(`span`,{class:`i-tabler-plus`},null,-1),b(` `+i(n.$t(`dcwDetail.k1976uns021`)),1)])])]))}}),[[`__scopeId`,`data-v-e18f9fc9`]]),{__name:`DcwGatewayBar`}),Te={key:0,class:`aw-tile adopt-card`},I={class:`adopt-title`},Ee={class:`adopt-list`},De=[`onClick`],Oe=[`onClick`],ke=Object.assign(D(s({__name:`DcwAdoptCard`,props:{unassignedNodes:{},unassignedProducts:{}},emits:[`adopt-node`,`adopt-product`],setup(e,{emit:t}){let n=t;return(t,r)=>e.unassignedNodes.length||e.unassignedProducts.length?(c(),p(`section`,Te,[f(`b`,I,i(t.$t(`dcwDetail.kaebkky022`)),1),f(`div`,Ee,[(c(!0),p(m,null,l(e.unassignedNodes,e=>(c(),p(`span`,{key:e.id,class:`adopt-chip`},[b(i(e.name)+` `,1),f(`button`,{class:`mini-btn`,onClick:t=>n(`adopt-node`,e.id)},i(t.$t(`dcwDetail.kyjp9fg023`)),9,De)]))),128)),(c(!0),p(m,null,l(e.unassignedProducts,e=>(c(),p(`span`,{key:e.id,class:`adopt-chip`},[b(i(e.name)+`(`+i(t.$t(`dcwDetail.k3km252140`)),1),f(`button`,{class:`mini-btn`,onClick:t=>n(`adopt-product`,e.id)},i(t.$t(`dcwDetail.kyjp9fg023`)),9,Oe)]))),128))])])):g(``,!0)}}),[[`__scopeId`,`data-v-6ad055a2`]]),{__name:`DcwAdoptCard`}),Ae={class:`aw-tile line-card`},je={class:`line-status`},Me={class:`line-info`},Ne={key:0,class:`mono dim`},Pe={key:1,class:`dim`},L={class:`line-ctl`},Fe={class:`ctl-sel`},Ie={value:``},Le=[`value`],R={class:`ctl-sel`},z=[`disabled`],Re={value:``},ze=[`value`,`disabled`],Be=[`disabled`,`title`],Ve=[`disabled`],He={key:0,class:`banner bad`,style:{"margin-top":`10px`}},Ue={key:1,class:`banner good`,style:{"margin-top":`10px`}},We=Object.assign(D(s({__name:`DcwLineRunCard`,props:h({ls:{},lineProducts:{},lineRecipes:{},lineBusy:{type:Boolean},lineMsg:{},lineErr:{}},{productId:{required:!0},productIdModifiers:{},recipeId:{required:!0},recipeIdModifiers:{}}),emits:h([`start`,`stop`],[`update:productId`,`update:recipeId`]),setup(e,{emit:n}){let r=n,a=o(e,`productId`),s=o(e,`recipeId`);return(n,o)=>(c(),p(`section`,Ae,[f(`div`,je,[f(`span`,{class:t([`line-dot`,{on:e.ls.active}])},null,2),f(`div`,Me,[f(`b`,null,i(e.ls.active?n.$t(`dcwDetail.k1pxrhx0154`):n.$t(`dcwDetail.k1b2hxmx170`)),1),e.ls.active?(c(),p(`small`,Ne,i(e.ls.productName)+` · `+i(e.ls.recipeName)+` · `+i(n.$t(`dcwDetail.k400lb075`))+` `+i(e.ls.runId)+` · `+i(n.$t(`dcwDetail.k3zkt2166`))+` `+i(e.ls.startedAt?.slice(11,19))+` `+i(n.$t(`dcwDetail.k69vag8168`))+` `+i(e.ls.taggedSamples)+` `+i(n.$t(`dcwDetail.k4118o085`)),1)):(c(),p(`small`,Pe,i(n.$t(`dcwDetail.k19pof14024`)),1))])]),f(`div`,L,[f(`label`,Fe,[f(`span`,null,i(n.$t(`dcwDetail.k3waz1025`)),1),y(f(`select`,{"onUpdate:modelValue":o[0]||=e=>a.value=e,class:`inp`,onChange:o[1]||=e=>s.value=``},[f(`option`,Ie,i(n.$t(`dcwDetail.kuisodh026`)),1),(c(!0),p(m,null,l(e.lineProducts,e=>(c(),p(`option`,{key:e.id,value:e.id},i(e.name),9,Le))),128))],544),[[w,a.value]])]),f(`label`,R,[f(`span`,null,i(n.$t(`dcwDetail.k48grv027`)),1),y(f(`select`,{"onUpdate:modelValue":o[2]||=e=>s.value=e,class:`inp`,disabled:!a.value},[f(`option`,Re,i(n.$t(`dcwDetail.kutxzsz028`)),1),(c(!0),p(m,null,l(e.lineRecipes,e=>(c(),p(`option`,{key:e.id,value:e.id,disabled:e.params.length===0},i(e.name)+i(e.params.length===0?n.$t(`dcwDetail.k1hicmch155`):n.$t(`dcwDetail.k1lzfi4g180`,{p0:e.params.length})),9,ze))),128))],8,z),[[w,s.value]])]),e.ls.active?(c(),p(`button`,{key:1,class:`pill-btn stop`,disabled:e.lineBusy,onClick:o[4]||=e=>r(`stop`)},i(n.$t(`dcwDetail.k1xyhd2y030`)),9,Ve)):(c(),p(`button`,{key:0,class:`pill-btn`,disabled:e.lineBusy||!s.value,title:s.value?n.$t(`dcwDetail.startTip`):n.$t(`dcwDetail.startNeedRecipe`),onClick:o[3]||=e=>r(`start`)},i(n.$t(`dcwDetail.kfb8vml029`)),9,Be))]),e.lineErr?(c(),p(`p`,He,i(e.lineErr),1)):g(``,!0),e.lineMsg?(c(),p(`p`,Ue,i(e.lineMsg),1)):g(``,!0)]))}}),[[`__scopeId`,`data-v-7ef9dbe9`]]),{__name:`DcwLineRunCard`}),B={class:`modal`},Ge={class:`m-title`},V={class:`dim mono`},Ke={class:`dim tpl-hint`},qe={class:`tpl-chips`},H=[`title`],Je={class:`mono`},U={class:`sec-label`},Ye={class:`f-grid tpl-form`},Xe={class:`f`},Ze=[`placeholder`],Qe={class:`f`},$e=[`placeholder`],W={class:`f`},et=[`placeholder`],tt={class:`f`},nt=[`placeholder`],rt={class:`f`},G=[`placeholder`],it={class:`f`},at=[`placeholder`],ot={class:`f`},st={class:`f`},ct=[`value`],lt={class:`f`},ut=[`placeholder`],dt={key:0,class:`banner good`,style:{"margin-top":`10px`}},ft={key:1,class:`m-err`},K={class:`m-actions`},pt=[`disabled`],mt=Object.assign(D(s({__name:`DcwDetailTemplateModal`,props:h({templates:{},tplIcons:{},builtinCount:{},customCount:{},tplSaving:{type:Boolean},tplError:{},tplOk:{}},{open:{type:Boolean,required:!0},openModifiers:{},form:{required:!0},formModifiers:{}}),emits:h([`submit`,`close`],[`update:open`,`update:form`]),setup(n,{emit:r}){let a=r,{t:s}=T(),u=o(n,`open`),d=o(n,`form`);return(r,o)=>u.value?(c(),p(`div`,{key:0,class:`modal-mask`,onClick:o[11]||=S(e=>u.value=!1,[`self`])},[f(`div`,B,[f(`h3`,Ge,[b(i(r.$t(`dcwDetail.k1x4vam0031`))+` `,1),f(`small`,V,i(r.$t(`dcwDetail.k3x23c141`))+` `+i(n.builtinCount)+` · `+i(r.$t(`dcwDetail.k3t616a142`))+` `+i(n.customCount),1)]),f(`p`,Ke,i(r.$t(`dcwDetail.ke1iyud032`)),1),f(`div`,qe,[(c(!0),p(m,null,l(n.templates,n=>(c(),p(`span`,{key:n.key,class:`tpl-chip`,title:`${n.code} · ${n.min}~${n.max} ${n.unit}${n.semantics?` · ${n.semantics}`:``}`},[b(i((`catalogTplName`in r?r.catalogTplName:e(te))(e(s),n))+` `,1),f(`small`,Je,i(n.min)+`~`+i(n.max)+i(n.unit),1),f(`em`,{class:t([`tpl-tag`,{builtin:n.builtin}])},i(n.builtin?r.$t(`dcwDetail.k3x23c141`):r.$t(`dcwDetail.k3t616a142`)),3)],8,H))),128))]),f(`p`,U,i(r.$t(`dcwDetail.k169eb4s033`)),1),f(`div`,Ye,[f(`label`,Xe,[f(`span`,null,[b(i(r.$t(`dcwDetail.k1f55q76034`)),1),o[12]||=f(`em`,null,`*`,-1)]),y(f(`input`,{"onUpdate:modelValue":o[0]||=e=>d.value.name=e,class:`inp`,placeholder:r.$t(`dcwDetail.k1tooi3o004`)},null,8,Ze),[[x,d.value.name]])]),f(`label`,Qe,[f(`span`,null,i(r.$t(`dcwDetail.k1bqk219035`)),1),y(f(`input`,{"onUpdate:modelValue":o[1]||=e=>d.value.ch=e,class:`inp`,placeholder:r.$t(`dcwDetail.k698qz0005`)},null,8,$e),[[x,d.value.ch]])]),f(`label`,W,[f(`span`,null,i(r.$t(`dcwDetail.k1ayxrqb036`)),1),y(f(`input`,{"onUpdate:modelValue":o[2]||=e=>d.value.code=e,class:`inp`,placeholder:r.$t(`dcwDetail.codePh`)},null,8,et),[[x,d.value.code]])]),f(`label`,tt,[f(`span`,null,[b(i(r.$t(`dcwDetail.k3x4ef037`)),1),o[13]||=f(`em`,null,`*`,-1)]),y(f(`input`,{"onUpdate:modelValue":o[3]||=e=>d.value.unit=e,class:`inp`,placeholder:r.$t(`dcwDetail.unitPh`)},null,8,nt),[[x,d.value.unit]])]),f(`label`,rt,[f(`span`,null,[b(i(r.$t(`dcwDetail.k1l9jv5m038`)),1),o[14]||=f(`em`,null,`*`,-1)]),y(f(`input`,{"onUpdate:modelValue":o[4]||=e=>d.value.min=e,type:`number`,class:`inp`,placeholder:r.$t(`dcwDetail.kxz9174006`)},null,8,G),[[x,d.value.min,void 0,{number:!0}]])]),f(`label`,it,[f(`span`,null,[b(i(r.$t(`dcwDetail.k1l9jv4p039`)),1),o[15]||=f(`em`,null,`*`,-1)]),y(f(`input`,{"onUpdate:modelValue":o[5]||=e=>d.value.max=e,type:`number`,class:`inp`,placeholder:r.$t(`dcwDetail.kxz9167007`)},null,8,at),[[x,d.value.max,void 0,{number:!0}]])]),f(`label`,ot,[f(`span`,null,i(r.$t(`dcwDetail.k3mxmcx040`)),1),y(f(`input`,{"onUpdate:modelValue":o[6]||=e=>d.value.decimals=e,type:`number`,min:`0`,max:`4`,class:`inp`},null,512),[[x,d.value.decimals,void 0,{number:!0}]])]),f(`label`,st,[f(`span`,null,i(r.$t(`dcwDetail.k3xx56041`)),1),y(f(`select`,{"onUpdate:modelValue":o[7]||=e=>d.value.icon=e,class:`inp`},[(c(!0),p(m,null,l(n.tplIcons,e=>(c(),p(`option`,{key:e.key,value:e.key},i(e.label),9,ct))),128))],512),[[w,d.value.icon]])])]),f(`label`,lt,[f(`span`,null,i(r.$t(`dcwDetail.knjmyfr042`)),1),y(f(`textarea`,{"onUpdate:modelValue":o[8]||=e=>d.value.semantics=e,class:`inp`,rows:`2`,placeholder:r.$t(`dcwDetail.k1qdnfzc008`)},null,8,ut),[[x,d.value.semantics]])]),n.tplOk?(c(),p(`p`,dt,i(n.tplOk),1)):g(``,!0),n.tplError?(c(),p(`p`,ft,i(n.tplError),1)):g(``,!0),f(`div`,K,[f(`button`,{class:`aw-pill outline`,onClick:o[9]||=e=>u.value=!1},i(r.$t(`dcwDetail.k3x62t043`)),1),f(`button`,{class:`pill-btn`,disabled:n.tplSaving||!d.value.name.trim()||d.value.unit.trim()===``||d.value.min===``||d.value.max===``,onClick:o[10]||=e=>a(`submit`)},i(n.tplSaving?r.$t(`dcwDetail.k1bg4759156`):r.$t(`dcwDetail.k1bg9nga171`)),9,pt)])])])):g(``,!0)}}),[[`__scopeId`,`data-v-f19aa086`]]),{__name:`DcwDetailTemplateModal`}),ht={class:`modal`},gt={class:`m-title`},_t={class:`seg-row`},vt={class:`f-grid`},q={class:`f`},J=[`value`],Y={class:`f`},X=[`placeholder`],Z={class:`f`},yt=[`placeholder`],bt={class:`f`},xt=[`placeholder`],St={class:`f`},Ct=[`placeholder`],wt={class:`f`},Tt=[`placeholder`],Et={class:`field-hint`},Dt={class:`f-grid cal-form`},Ot={class:`f`},kt={value:`none`},At={value:`linear`},jt={class:`f`},Mt={style:{display:`flex`,gap:`6px`}},Nt=[`disabled`,`title`],Pt=[`disabled`,`title`],Ft={class:`f-grid`},It={class:`f`},Q=[`value`],Lt={key:0,class:`f-grid driver-form`},Rt={key:0,style:{color:`var(--tone-danger-dot)`,"font-style":`normal`}},zt=[`onUpdate:modelValue`,`placeholder`],Bt=[`onUpdate:modelValue`],Vt=[`value`],Ht=[`onUpdate:modelValue`,`type`,`placeholder`],Ut={key:3,class:`hint`},Wt={class:`test-row`},Gt=[`disabled`],Kt={key:1,class:`test-row`},$=[`disabled`],qt={class:`f`},Jt=[`placeholder`],Yt={key:1,class:`m-err`},Xt={class:`m-actions`},Zt=[`disabled`],Qt=Object.assign(D(s({__name:`DcwAddNodeModal`,props:h({templates:{},driverCatalog:{},addFields:{},addTesting:{type:Boolean},addTest:{},addMesTesting:{type:Boolean},addMesResult:{},addSaving:{type:Boolean},addError:{}},{open:{type:Boolean,required:!0},openModifiers:{},scenario:{required:!0},scenarioModifiers:{},template:{required:!0},templateModifiers:{},driver:{required:!0},driverModifiers:{},name:{required:!0},nameModifiers:{},hold:{required:!0},holdModifiers:{},read:{required:!0},readModifiers:{},writeLock:{required:!0},writeLockModifiers:{},stepLimit:{required:!0},stepLimitModifiers:{},cfg:{required:!0},cfgModifiers:{},transform:{required:!0},transformModifiers:{},semantics:{required:!0},semanticsModifiers:{}}),emits:h([`test`,`mes-test`,`submit`],[`update:open`,`update:scenario`,`update:template`,`update:driver`,`update:name`,`update:hold`,`update:read`,`update:writeLock`,`update:stepLimit`,`update:cfg`,`update:transform`,`update:semantics`]),setup(n,{emit:r}){let a=n,s=r,{t:u}=T(),h=o(n,`open`),_=o(n,`scenario`),v=o(n,`template`),ee=o(n,`driver`),E=o(n,`name`),D=o(n,`hold`),O=o(n,`read`),k=o(n,`writeLock`),A=o(n,`stepLimit`),j=o(n,`cfg`),M=o(n,`transform`),N=o(n,`semantics`),P=e=>e.type===`text`,ne=d(()=>ee.value===`mes-rest`),re=d(()=>{let e=a.addMesResult;return e?e.ok?`${e.eng==null?`--`:String(e.eng)}${e.latencyMs==null?``:` · ${e.latencyMs}ms`}`:e.message:``});return(r,a)=>h.value?(c(),p(`div`,{key:0,class:`modal-mask`,onClick:a[17]||=S(e=>h.value=!1,[`self`])},[f(`div`,ht,[f(`h3`,gt,i(r.$t(`dcwDetail.k1976uns021`)),1),f(`div`,_t,[f(`button`,{class:t([`seg`,{on:_.value===`mock`}]),onClick:a[0]||=e=>_.value=`mock`},i(r.$t(`dcwDetail.mockPlc`)),3),f(`button`,{class:t([`seg`,{on:_.value===`real`}]),onClick:a[1]||=e=>_.value=`real`},i(r.$t(`dcwDetail.kyj8fen044`)),3)]),f(`div`,vt,[f(`label`,q,[f(`span`,null,i(r.$t(`dcwDetail.k1ejzwqp045`)),1),y(f(`select`,{"onUpdate:modelValue":a[2]||=e=>v.value=e,class:`inp`},[(c(!0),p(m,null,l(n.templates,t=>(c(),p(`option`,{key:t.key,value:t.key},i((`catalogTplName`in r?r.catalogTplName:e(te))(e(u),t))+` · `+i(t.ch)+`(`+i(t.min)+`~`+i(t.max)+` `+i(t.unit)+`)`+i(t.builtin?``:r.$t(`dcwDetail.kr45rk9157`)),9,J))),128))],512),[[w,v.value]])]),f(`label`,Y,[f(`span`,null,i(r.$t(`dcwDetail.k1ce2k1y046`)),1),y(f(`input`,{"onUpdate:modelValue":a[3]||=e=>E.value=e,class:`inp`,placeholder:r.$t(`dcwDetail.kgpxzy3009`)},null,8,X),[[x,E.value]])]),f(`label`,Z,[f(`span`,null,i(r.$t(`dcwDetail.k1vyb8im047`)),1),y(f(`input`,{"onUpdate:modelValue":a[4]||=e=>D.value=e,type:`number`,min:`0`,max:`3600000`,step:`500`,class:`inp`,placeholder:r.$t(`dcwDetail.kb1srz0010`)},null,8,yt),[[x,D.value,void 0,{number:!0}]])]),f(`label`,bt,[f(`span`,null,i(r.$t(`dcwDetail.k9r7d4e016`)),1),y(f(`input`,{"onUpdate:modelValue":a[5]||=e=>O.value=e,type:`number`,min:`0`,max:`3600000`,step:`500`,class:`inp`,placeholder:r.$t(`dcwDetail.k9r7d4e017`)},null,8,xt),[[x,O.value,void 0,{number:!0}]])]),f(`label`,St,[f(`span`,null,i(r.$t(`dcwDetail.writeLockLabel`)),1),y(f(`input`,{"onUpdate:modelValue":a[6]||=e=>k.value=e,type:`number`,min:`0`,max:`3600`,step:`1`,class:`inp`,placeholder:r.$t(`dcwDetail.writeLockHint`)},null,8,Ct),[[x,k.value,void 0,{number:!0}]])]),f(`label`,wt,[f(`span`,null,[b(i(r.$t(`dcwDetail.stepLimitLabel`))+` `,1),f(`em`,null,`(`+i(r.$t(`dcwDetail.stepLimitUnit`))+`)`,1)]),y(f(`input`,{"onUpdate:modelValue":a[7]||=e=>A.value=e,type:`number`,min:`0`,step:`any`,class:`inp`,placeholder:r.$t(`dcwDetail.stepLimitPlaceholder`)},null,8,Tt),[[x,A.value,void 0,{number:!0}]]),f(`small`,Et,i(r.$t(`dcwDetail.stepLimitHint`)),1)])]),f(`div`,Dt,[f(`label`,Ot,[f(`span`,null,i(r.$t(`dcwDetail.kiune1f048`)),1),y(f(`select`,{"onUpdate:modelValue":a[8]||=e=>M.value.kind=e,class:`inp`},[f(`option`,kt,i(r.$t(`dcwDetail.kkzy0k049`)),1),f(`option`,At,i(r.$t(`dcwDetail.linearCalOpt`)),1)],512),[[w,M.value.kind]])]),f(`label`,jt,[a[18]||=f(`span`,null,`scale / offset`,-1),f(`div`,Mt,[y(f(`input`,{"onUpdate:modelValue":a[9]||=e=>M.value.scale=e,type:`number`,step:`0.1`,class:`inp`,disabled:M.value.kind!==`linear`,title:r.$t(`dcwDetail.calScaleTip`)},null,8,Nt),[[x,M.value.scale,void 0,{number:!0}]]),y(f(`input`,{"onUpdate:modelValue":a[10]||=e=>M.value.offset=e,type:`number`,step:`0.1`,class:`inp`,disabled:M.value.kind!==`linear`,title:r.$t(`dcwDetail.calOffsetTip`)},null,8,Pt),[[x,M.value.offset,void 0,{number:!0}]])])])]),_.value===`real`?(c(),p(m,{key:0},[f(`div`,Ft,[f(`label`,It,[f(`span`,null,i(r.$t(`dcwDetail.k1kt87rx050`)),1),y(f(`select`,{"onUpdate:modelValue":a[11]||=e=>ee.value=e,class:`inp`},[(c(!0),p(m,null,l(n.driverCatalog.filter(e=>e.status!==`builtin`),e=>(c(),p(`option`,{key:e.kind,value:e.kind},i(e.label)+i(e.plugin?` ⌁`:``),9,Q))),128))],512),[[w,ee.value]])])]),n.addFields.length?(c(),p(`div`,Lt,[(c(!0),p(m,null,l(n.addFields,e=>(c(),p(`label`,{key:e.key,class:t([`f`,{"map-field":P(e)}])},[f(`span`,null,[b(i(e.label),1),e.required?(c(),p(`em`,Rt,`*`)):g(``,!0)]),P(e)?y((c(),p(`textarea`,{key:0,"onUpdate:modelValue":t=>j.value[e.key]=t,class:`inp cfg-map mono`,rows:`6`,placeholder:e.placeholder},null,8,zt)),[[x,j.value[e.key]]]):e.type===`select`?y((c(),p(`select`,{key:1,"onUpdate:modelValue":t=>j.value[e.key]=t,class:`inp`},[(c(!0),p(m,null,l(e.options,e=>(c(),p(`option`,{key:e.value,value:e.value},i(e.label),9,Vt))),128))],8,Bt)),[[w,j.value[e.key]]]):y((c(),p(`input`,{key:2,"onUpdate:modelValue":t=>j.value[e.key]=t,type:e.type===`number`?`number`:`text`,placeholder:e.placeholder,class:`inp`},null,8,Ht)),[[C,j.value[e.key]]]),e.hint?(c(),p(`small`,Ut,i(e.hint),1)):g(``,!0)],2))),128))])):g(``,!0),f(`div`,Wt,[f(`button`,{class:`pill-btn outline`,disabled:n.addTesting,onClick:a[12]||=e=>s(`test`)},i(n.addTesting?r.$t(`dcwDetail.k1fsh720158`):r.$t(`dcwDetail.k1fstglk172`)),9,Gt),n.addTest?(c(),p(`span`,{key:0,class:t([`test-result`,n.addTest.ok?`good`:`bad`])},i(n.addTest.ok?`✓`:`✗`)+` `+i(n.addTest.message),3)):g(``,!0)]),ne.value?(c(),p(`div`,Kt,[f(`button`,{class:`mini-btn`,disabled:n.addMesTesting,onClick:a[13]||=e=>s(`mes-test`)},i(n.addMesTesting?r.$t(`dcwDetail.mesTesting`):r.$t(`dcwDetail.mesTestBtn`)),9,$),n.addMesResult?(c(),p(`span`,{key:0,class:t([`test-result`,n.addMesResult.ok?`good`:`bad`])},i(n.addMesResult.ok?`✓`:`✗`)+` `+i(re.value),3)):g(``,!0)])):g(``,!0)],64)):g(``,!0),f(`label`,qt,[f(`span`,null,i(r.$t(`dcwDetail.k1hgizn7051`)),1),y(f(`textarea`,{"onUpdate:modelValue":a[14]||=e=>N.value=e,class:`inp`,rows:`2`,placeholder:r.$t(`dcwDetail.k12bnyt9011`)},null,8,Jt),[[x,N.value]])]),n.addError?(c(),p(`p`,Yt,i(n.addError),1)):g(``,!0),f(`div`,Xt,[f(`button`,{class:`aw-pill outline`,onClick:a[15]||=e=>h.value=!1},i(r.$t(`dcwDetail.k3xdnn052`)),1),f(`button`,{class:`aw-pill`,disabled:n.addSaving,onClick:a[16]||=e=>s(`submit`)},i(n.addSaving?r.$t(`dcwDetail.k1bg4759156`):r.$t(`dcwDetail.k1bge46t173`)),9,Zt)])])])):g(``,!0)}}),[[`__scopeId`,`data-v-4980f785`]]),{__name:`DcwAddNodeModal`}),$t={class:`aw-tile ap-card`},en={class:`ap-head`},tn={class:`ap-count mono`},nn={class:`ap-rule`},rn={class:`ap-main`},an={class:`ap-line`},on={class:`ap-node`},sn={class:`ap-detail`},cn={class:`ap-meta`},ln={class:`mono`},un=[`onUpdate:modelValue`,`placeholder`],dn={class:`ap-actions`},fn=[`disabled`,`onClick`],pn=[`disabled`,`onClick`],mn=Object.assign(D(s({__name:`DcwParamApprovalCard`,props:h({items:{},decidingId:{},remainingSec:{type:Function},agentName:{type:Function},nodeName:{type:Function}},{comments:{required:!0},commentsModifiers:{}}),emits:h([`decide`],[`update:comments`]),setup(e,{emit:n}){let r=n,a=o(e,`comments`);return(n,o)=>(c(),p(`section`,$t,[f(`div`,en,[f(`b`,null,i(n.$t(`dcwDetail.apTitle`)),1),f(`span`,tn,i(e.items.length),1),f(`small`,nn,i(n.$t(`dcwDetail.apRule`)),1)]),(c(!0),p(m,null,l(e.items,o=>(c(),p(`div`,{key:o.id,class:`ap-row`},[f(`div`,rn,[f(`div`,an,[f(`span`,on,i(e.nodeName(o)),1),f(`span`,sn,i(o.detail),1)]),f(`small`,cn,[f(`span`,ln,i(n.$t(`dcwDetail.apInitiator`))+` `+i(e.agentName(o)),1),f(`span`,{class:t([`ap-ttl mono`,{urgent:e.remainingSec(o)<=30}])},`⏱ `+i(e.remainingSec(o))+`s `+i(n.$t(`dcwDetail.apTimeout`)),3)])]),y(f(`input`,{"onUpdate:modelValue":e=>a.value[o.id]=e,class:`inp ap-comment`,placeholder:n.$t(`dcwDetail.apCommentPh`)},null,8,un),[[x,a.value[o.id]]]),f(`div`,dn,[f(`button`,{class:`mini-btn ap-ok`,disabled:e.decidingId===o.id,onClick:e=>r(`decide`,o.id,!0)},i(n.$t(`dcwDetail.apApprove`)),9,fn),f(`button`,{class:`mini-btn danger`,disabled:e.decidingId===o.id,onClick:e=>r(`decide`,o.id,!1)},i(n.$t(`dcwDetail.apReject`)),9,pn)])]))),128))]))}}),[[`__scopeId`,`data-v-cd2bb0c2`]]),{__name:`DcwParamApprovalCard`}),hn={class:`aw-tile table-card`},gn={class:`nodes-table`},_n={class:`right`},vn={class:`mono dim`},yn={key:0,class:`drv-badge`},bn={class:`mono ch`},xn=[`disabled`,`title`,`onClick`],Sn={key:0,class:`st-pill paused`},Cn={class:`mono val`},wn={key:0,class:`dim`},Tn={class:`mono val`},En=[`title`],Dn={key:0,class:`dim`},On=[`disabled`,`title`,`onClick`],kn={class:`write-row`},An=[`onUpdate:modelValue`,`placeholder`,`min`,`max`,`step`,`disabled`,`title`],jn=[`disabled`,`title`,`onClick`],Mn={class:`mono dim`},Nn={class:`mono`},Pn=[`title`],Fn=[`title`],In={class:`step-limit-cell`},Ln=[`value`,`title`,`onInput`],Rn=[`disabled`,`onClick`],zn={class:`dim`},Bn={class:`right`},Vn=[`onClick`],Hn={key:0},Un={colspan:`10`},Wn={class:`pane-empty`,style:{"min-height":`120px`}},Gn={class:`pe-sub`},Kn=Object.assign(D(s({__name:`DcwNodesTable`,props:h({lineNodes:{},stateLabel:{},togglingId:{},readingId:{},writingId:{},stepPatchingId:{},loaded:{type:Boolean},error:{},dcwTemplateRefCh:{type:Function},nodeDeviceNames:{type:Function}},{setInputs:{required:!0},setInputsModifiers:{}}),emits:h([`toggle`,`read`,`write`,`patch-step-limit`,`remove`],[`update:setInputs`]),setup(e,{emit:n}){let a=n,{t:s}=T();function u(e){let t=k(e);return t?s(t):``}let d=o(e,`setInputs`),h=r({});function S(e){return h[e.id]??e.stepLimit}function C(e){let t=h[e.id]===void 0?e.stepLimit:h[e.id];a(`patch-step-limit`,e.id,t===``||t==null?null:Number(t))}return(n,r)=>{let o=E;return c(),v(o,{spinning:!e.loaded&&!e.error},{default:_(()=>[f(`section`,hn,[f(`table`,gn,[f(`thead`,null,[f(`tr`,null,[f(`th`,null,i(n.$t(`dcwDetail.k1e2dtkt053`)),1),f(`th`,null,i(n.$t(`dcwDetail.k403cy054`)),1),f(`th`,null,i(n.$t(`dcwDetail.k42w8s055`)),1),f(`th`,null,i(n.$t(`dcwDetail.k1deqh0d056`)),1),f(`th`,null,i(n.$t(`dcwDetail.k9r7d4e018`)),1),f(`th`,null,i(n.$t(`dcwDetail.k1k79ec9057`)),1),f(`th`,null,i(n.$t(`dcwDetail.k1dexou6058`)),1),f(`th`,null,i(n.$t(`dcwDetail.k1b1nnaa059`)),1),f(`th`,null,i(n.$t(`dcwDetail.k1i8rtqt060`)),1),f(`th`,null,i(n.$t(`dcwDetail.thStepLimit`)),1),f(`th`,_n,i(n.$t(`dcwDetail.k40aa6061`)),1)])]),f(`tbody`,null,[(c(!0),p(m,null,l(e.lineNodes,o=>(c(),p(`tr`,{key:o.id,class:t({"node-paused":!o.enabled})},[f(`td`,null,[f(`span`,vn,i(o.id.slice(0,8)),1),f(`b`,null,i(o.name),1),u(o.driver)?(c(),p(`span`,yn,i(u(o.driver)),1)):g(``,!0),f(`small`,bn,i(e.dcwTemplateRefCh(o.templateRef)),1)]),f(`td`,null,[f(`button`,{class:t([`ctrl-toggle`,{on:o.enabled}]),disabled:e.togglingId===o.id,title:o.enabled?n.$t(`dcwDetail.pauseCtrlTip`):n.$t(`dcwDetail.enableCtrlTip`),onClick:e=>a(`toggle`,o.id,!o.enabled)},[r[0]||=f(`span`,{class:`ct-dot`},null,-1),b(` `+i(o.enabled?n.$t(`dcwDetail.k3o3ib3159`):n.$t(`dcwDetail.k3n93ed062`)),1)],10,xn)]),f(`td`,null,[o.enabled?(c(),p(`span`,{key:1,class:t([`st-pill`,o.state])},i(e.stateLabel[o.state]??o.state),3)):(c(),p(`span`,Sn,i(n.$t(`dcwDetail.k3n93ed062`)),1))]),f(`td`,Cn,[b(i(o.value==null?`--`:o.value.toFixed(o.decimals))+` `,1),f(`small`,null,i(o.unit),1),o.lastAckAt?(c(),p(`small`,wn,` · `+i(o.lastAckAt.slice(11,19)),1)):g(``,!0)]),f(`td`,Tn,[f(`span`,{title:o.lastReadError??n.$t(`dcwDetail.k9r7d4e019`),class:t({"read-stale":o.lastReadError})},i(o.readValue==null?`--`:o.readValue.toFixed(o.decimals)),11,En),f(`small`,null,i(o.unit),1),o.lastReadAt?(c(),p(`small`,Dn,` · `+i(o.lastReadAt.slice(11,19)),1)):g(``,!0),f(`button`,{class:`mini-btn read-btn`,disabled:e.readingId===o.id,title:n.$t(`dcwDetail.k9r7d4e020`),onClick:e=>a(`read`,o.id)},i(e.readingId===o.id?`···`:n.$t(`dcwDetail.k9r7d4e021`)),9,On)]),f(`td`,null,[f(`div`,kn,[y(f(`input`,{"onUpdate:modelValue":e=>d.value[o.id]=e,type:`number`,class:`inp write-inp mono`,placeholder:`${o.min}~${o.max}`,min:o.min,max:o.max,step:10**-o.decimals,disabled:!o.enabled,title:o.enabled?``:n.$t(`dcwDetail.pausedTip`)},null,8,An),[[x,d.value[o.id],void 0,{number:!0}]]),f(`button`,{class:`mini-btn write-btn`,disabled:!o.enabled||e.writingId===o.id||d.value[o.id]==null||d.value[o.id]===``,title:o.enabled?n.$t(`dcwDetail.writeTip`):n.$t(`dcwDetail.pausedTip`),onClick:e=>a(`write`,o.id,Number(d.value[o.id]))},i(e.writingId===o.id?n.$t(`dcwDetail.k3l3h80123`):n.$t(`dcwDetail.k3w6td174`)),9,jn)])]),f(`td`,Mn,i(o.min)+` ~ `+i(o.max)+` `+i(o.unit),1),f(`td`,Nn,[b(i(o.holdIntervalMs==null?n.$t(`dcwDetail.k3zul4160`):`${o.holdIntervalMs}ms`)+` `,1),f(`small`,{class:`dim`,title:n.$t(`dcwDetail.k9r7d4e016`)},`· `+i(o.readIntervalMs===0?n.$t(`dcwDetail.k9r7d4e022`):o.readIntervalMs==null?n.$t(`dcwDetail.k9r7d4e023`):`${o.readIntervalMs}ms`),9,Pn),f(`small`,{class:`dim`,title:n.$t(`dcwDetail.writeLockHint`)},`· `+i(o.writeLockSeconds===0?`0s`:`${o.writeLockSeconds}s`),9,Fn)]),f(`td`,null,i(e.nodeDeviceNames(o)),1),f(`td`,null,[f(`div`,In,[f(`input`,{value:S(o)??``,type:`number`,min:`0`,step:`any`,class:`inp step-inp mono`,placeholder:`2% default`,title:n.$t(`dcwDetail.stepInputTitle`),onInput:e=>h[o.id]=e.target.value===``?``:Number(e.target.value)},null,40,Ln),f(`button`,{class:`mini-btn step-btn`,disabled:e.stepPatchingId===o.id,onClick:e=>C(o)},i(e.stepPatchingId===o.id?`…`:n.$t(`common.save`)),9,Rn)]),f(`small`,zn,i(n.$t(`dcwDetail.stepCurrent`,{p0:o.stepLimit??n.$t(`dcwDetail.stepUnset`)}))+` `+i(o.unit),1)]),f(`td`,Bn,[f(`button`,{class:`mini-btn danger`,onClick:e=>a(`remove`,o.id)},i(n.$t(`dcwDetail.k3xakp063`)),9,Vn)])],2))),128)),e.loaded&&e.lineNodes.length===0?(c(),p(`tr`,Hn,[f(`td`,Un,[f(`div`,Wn,[f(`p`,Gn,i(n.$t(`dcwDetail.k1wtecyw064`)),1)])])])):g(``,!0)])])])]),_:1},8,[`spinning`])}}}),[[`__scopeId`,`data-v-50a1386c`]]),{__name:`DcwNodesTable`}),qn={class:`modal`},Jn={class:`m-title`},Yn={class:`sec-label`},Xn={class:`nodes-table`},Zn={class:`mono dim`},Qn={class:`mono`},$n={class:`mono`},er={class:`mono dim`},tr={class:`mono dim`},nr={key:0},rr={colspan:`6`,class:`dim`,style:{"text-align":`center`,padding:`12px`}},ir={class:`sec-label`},ar={class:`nodes-table`},or={class:`mono`},sr={class:`mono dim`},cr={class:`mono dim`},lr={key:0},ur={colspan:`6`,class:`dim`,style:{"text-align":`center`,padding:`12px`}},dr={class:`m-actions`},fr=Object.assign(D(s({__name:`DcwRunDataModal`,props:{runDataView:{}},emits:[`close`],setup(e,{emit:n}){let r=n;return(n,a)=>e.runDataView?(c(),p(`div`,{key:0,class:`modal-mask`,onClick:a[1]||=S(e=>r(`close`),[`self`])},[f(`div`,qn,[f(`h3`,Jn,i(n.$t(`dcwDetail.k11lq94k145`))+` `+i(e.runDataView.data.run.recipeName)+`(`+i(e.runDataView.runId)+`) `,1),f(`p`,Yn,i(n.$t(`dcwDetail.k1me41w8080`)),1),f(`table`,Xn,[f(`thead`,null,[f(`tr`,null,[f(`th`,null,i(n.$t(`dcwDetail.k48hde081`)),1),f(`th`,null,i(n.$t(`dcwDetail.k45uio082`)),1),f(`th`,null,i(n.$t(`dcwDetail.k40t11083`)),1),f(`th`,null,i(n.$t(`dcwDetail.k3xuaw084`)),1),a[2]||=f(`th`,null,`min ~ max`,-1),f(`th`,null,i(n.$t(`dcwDetail.k4118o085`)),1)])]),f(`tbody`,null,[(c(!0),p(m,null,l(e.runDataView.data.daq,e=>(c(),p(`tr`,{key:e.nodeId},[f(`td`,null,[b(i(e.ch),1),f(`small`,Zn,i(e.unit),1)]),f(`td`,null,i(e.nodeName),1),f(`td`,Qn,i(e.latest),1),f(`td`,$n,i(e.avg),1),f(`td`,er,i(e.min)+` ~ `+i(e.max),1),f(`td`,tr,i(e.cnt),1)]))),128)),e.runDataView.data.daq.length===0?(c(),p(`tr`,nr,[f(`td`,rr,i(n.$t(`dcwDetail.kd457ry086`)),1)])):g(``,!0)])]),f(`p`,ir,i(n.$t(`dcwDetail.k12b7cxs087`)),1),f(`table`,ar,[f(`thead`,null,[f(`tr`,null,[f(`th`,null,i(n.$t(`dcwDetail.k3xbjr088`)),1),f(`th`,null,i(n.$t(`dcwDetail.k45uio082`)),1),f(`th`,null,i(n.$t(`dcwDetail.k3ncbsh089`)),1),f(`th`,null,i(n.$t(`dcwDetail.k3lh3mz090`)),1),f(`th`,null,i(n.$t(`dcwDetail.k454pg091`)),1),f(`th`,null,i(n.$t(`dcwDetail.k40ieu092`)),1)])]),f(`tbody`,null,[(c(!0),p(m,null,l(e.runDataView.data.writes,(e,r)=>(c(),p(`tr`,{key:r},[f(`td`,null,i(e.param),1),f(`td`,null,i(e.nodeName),1),f(`td`,or,i(e.eng),1),f(`td`,sr,i(e.raw),1),f(`td`,null,[f(`span`,{class:t([`st-pill`,e.ok?`ok`:`alarm`])},i(e.ok?`ACK`:n.$t(`dcwDetail.k3yit7139`)),3)]),f(`td`,cr,i(e.at.slice(5,19)),1)]))),128)),e.runDataView.data.writes.length===0?(c(),p(`tr`,lr,[f(`td`,ur,i(n.$t(`dcwDetail.knzcp8i093`)),1)])):g(``,!0)])]),f(`div`,dr,[f(`button`,{class:`aw-pill outline`,onClick:a[0]||=e=>r(`close`)},i(n.$t(`dcwDetail.k3x62t043`)),1)])])])):g(``,!0)}}),[[`__scopeId`,`data-v-23fad435`]]),{__name:`DcwRunDataModal`}),pr={class:`aw-tile recipe-card`},mr={class:`recipe-hd`},hr={class:`panel-tag mono`},gr={class:`recipe-sub`},_r={key:0,class:`product-row`},vr=[`title`,`onClick`],yr=[`title`,`onClick`],br={key:1,class:`dim`,style:{margin:`6px 0 12px`,"font-size":`12px`}},xr={class:`recipe-grid`},Sr={class:`recipe-name`},Cr=[`title`],wr={class:`dim`},Tr={class:`mono dim`},Er={key:0,class:`dim desc`},Dr={class:`recipe-params mono`},Or=[`title`],kr={key:0,class:`chip-step-tag`},Ar={key:1,class:`chip-stale-tag`},jr=[`title`],Mr={key:0,class:`chip-stale-tag`},Nr={class:`recipe-actions`},Pr=[`onClick`],Fr=[`onClick`],Ir=[`onClick`],Lr={key:0,class:`mono`},Rr=[`onClick`],zr={key:0,class:`pane-empty`,style:{"grid-column":`1 / -1`}},Br={key:2,class:`banner good`},Vr=[`disabled`],Hr={key:3,class:`runs`},Ur={class:`sec-label`},Wr={class:`nodes-table`},Gr={class:`right`},Kr={class:`mono`},qr={class:`mono dim`},Jr={class:`right`},Yr=[`disabled`,`onClick`],Xr=[`onClick`],Zr=Object.assign(D(s({__name:`DcwRecipePanel`,props:h({lineProducts:{},visibleRecipes:{},lineRuns:{},applyResult:{},runDataView:{},runDataLoading:{type:Boolean},productName:{type:Function},paramStatus:{type:Function},paramNodeName:{type:Function},daqWindowStatus:{type:Function},daqNodeCh:{type:Function}},{filterProductId:{required:!0},filterProductIdModifiers:{}}),emits:h([`create`,`open-product`,`apply`,`edit`,`history`,`remove-recipe`,`remove-product`,`view-run`,`close-run`,`close-run-data`],[`update:filterProductId`]),setup(n,{emit:r}){let a=r,{t:s}=T(),d=o(n,`filterProductId`);return(r,o)=>{let h=fr;return c(),p(`section`,pr,[f(`div`,mr,[f(`h3`,null,i(r.$t(`dcwDetail.k1j8w3hd065`)),1),f(`span`,hr,i(n.lineProducts.length)+` `+i(r.$t(`dcwDetail.k1av3wgs143`))+` `+i(n.visibleRecipes.length)+` `+i(r.$t(`dcwDetail.k48grv027`)),1),f(`button`,{class:`pill-btn`,style:{"margin-left":`auto`},onClick:o[0]||=e=>a(`create`)},i(r.$t(`dcwDetail.k1akm6dc066`)),1),f(`button`,{class:`mini-btn`,onClick:o[1]||=e=>a(`open-product`)},i(r.$t(`dcwDetail.k1aka0ki067`)),1)]),f(`p`,gr,i(r.$t(`dcwDetail.k6bl2q8068`)),1),n.lineProducts.length?(c(),p(`div`,_r,[f(`button`,{class:t([`prod-chip`,{on:d.value===``}]),onClick:o[2]||=e=>d.value=``},i(r.$t(`dcwDetail.k3x4t1069`)),3),(c(!0),p(m,null,l(n.lineProducts,e=>(c(),p(`button`,{key:e.id,class:t([`prod-chip`,{on:d.value===e.id}]),title:e.description,onClick:t=>d.value=e.id},[b(i(e.name)+` `,1),f(`span`,{class:`prod-del`,title:r.$t(`dcwDetail.k1bpfjgx012`),onClick:S(t=>a(`remove-product`,e.id),[`stop`])},`×`,8,yr)],10,vr))),128))])):(c(),p(`p`,br,i(r.$t(`dcwDetail.knov3zg070`)),1)),f(`div`,xr,[(c(!0),p(m,null,l(n.visibleRecipes,o=>(c(),p(`div`,{key:o.id,class:`recipe-item`},[f(`div`,Sr,[f(`b`,null,i(o.name),1),o.version?(c(),p(`span`,{key:0,class:`param-chip mono`,title:e(s)(`dcwDetail.histTitle`)},`v`+i(o.version),9,Cr)):g(``,!0),f(`small`,wr,i(n.productName(o.productId)),1),f(`small`,Tr,i(o.id),1)]),o.description?(c(),p(`p`,Er,i(o.description),1)):g(``,!0),f(`div`,Dr,[(c(!0),p(m,null,l(o.params,(e,r)=>(c(),p(`span`,{key:r,class:t([`param-chip`,{stale:n.paramStatus(e.nodeId,o.lineId)}]),title:n.paramStatus(e.nodeId,o.lineId)?.label??``},[b(i(n.paramNodeName(e.nodeId))+` = `+i(e.value),1),e.stepLimit==null?g(``,!0):(c(),p(`span`,kr,`Δ≤`+i(e.stepLimit),1)),n.paramStatus(e.nodeId,o.lineId)?(c(),p(`span`,Ar,i(n.paramStatus(e.nodeId,o.lineId).label),1)):g(``,!0)],10,Or))),128)),(c(!0),p(m,null,l(o.daqWindows,(e,a)=>(c(),p(`span`,{key:`w-${a}`,class:t([`param-chip daqwin`,{stale:n.daqWindowStatus(e.nodeId,o.lineId)}]),title:n.daqWindowStatus(e.nodeId,o.lineId)?.label??r.$t(`dcwDetail.k1l11api013`)},[b(` ◎ `+i(n.daqNodeCh(e.nodeId))+` ∈ [`+i(e.min??`-∞`)+`, `+i(e.max??`+∞`)+`]`,1),n.daqWindowStatus(e.nodeId,o.lineId)?(c(),p(`span`,Mr,i(n.daqWindowStatus(e.nodeId,o.lineId).label),1)):g(``,!0)],10,jr))),128))]),f(`div`,Nr,[f(`button`,{class:`pill-btn`,onClick:e=>a(`apply`,o.id)},i(r.$t(`dcwDetail.k1497qvr071`)),9,Pr),f(`button`,{class:`mini-btn`,onClick:e=>a(`edit`,o.id)},i(r.$t(`dcwDetail.k45eb0072`)),9,Fr),f(`button`,{class:`mini-btn`,onClick:e=>a(`history`,o.id)},[b(i(e(s)(`dcwDetail.histBtn`)),1),o.version?(c(),p(`span`,Lr,`·v`+i(o.version),1)):g(``,!0)],8,Ir),f(`button`,{class:`mini-btn danger`,onClick:e=>a(`remove-recipe`,o.id)},i(r.$t(`dcwDetail.k3xakp063`)),9,Rr)])]))),128)),n.visibleRecipes.length===0?(c(),p(`div`,zr,i(r.$t(`dcwDetail.keko1xy073`)),1)):g(``,!0)]),n.applyResult?(c(),p(`div`,Br,[b(i(r.$t(`dcwDetail.k1l3hrvp144`))+` `+i(n.applyResult.runId)+` `+i(r.$t(`dcwDetail.k1g3lh2v167`))+i(n.applyResult.ok)+`/`+i(n.applyResult.total)+` `+i(r.$t(`dcwDetail.k1bqci06149`))+` `,1),f(`button`,{class:`mini-btn`,style:{"margin-left":`10px`},disabled:n.runDataLoading,onClick:o[3]||=e=>a(`view-run`,n.applyResult.runId)},i(n.runDataLoading?r.$t(`dcwDetail.k1br0ij9161`):r.$t(`dcwDetail.kxwei5175`)),9,Vr)])):g(``,!0),n.lineRuns.length?(c(),p(`div`,Hr,[f(`p`,Ur,i(r.$t(`dcwDetail.k1rjer8d074`)),1),f(`table`,Wr,[f(`thead`,null,[f(`tr`,null,[f(`th`,null,i(r.$t(`dcwDetail.k400lb075`)),1),f(`th`,null,i(r.$t(`dcwDetail.k48grv027`)),1),f(`th`,null,i(r.$t(`dcwDetail.k4497j076`)),1),f(`th`,null,i(r.$t(`dcwDetail.k1bqhtmu077`)),1),f(`th`,Gr,i(r.$t(`dcwDetail.k40aa6061`)),1)])]),f(`tbody`,null,[(c(!0),p(m,null,l([...n.lineRuns].reverse().slice(0,8),e=>(c(),p(`tr`,{key:e.id},[f(`td`,Kr,i(e.id),1),f(`td`,null,i(e.recipeName),1),f(`td`,qr,i(e.startedAt.slice(5,19))+` ~ `+i(e.endedAt?e.endedAt.slice(5,19):r.$t(`dcwDetail.k3vpfg9162`)),1),f(`td`,null,[f(`span`,{class:t([`st-pill`,e.results.every(e=>e.ok)?`ok`:`warn`])},i(e.results.filter(e=>e.ok).length)+`/`+i(e.results.length),3)]),f(`td`,Jr,[f(`button`,{class:`mini-btn`,disabled:n.runDataLoading,onClick:t=>a(`view-run`,e.id)},i(r.$t(`dcwDetail.k1dzwrdp078`)),9,Yr),e.endedAt?g(``,!0):(c(),p(`button`,{key:0,class:`mini-btn`,onClick:t=>a(`close-run`,e.id)},i(r.$t(`dcwDetail.k1blr7y7079`)),9,Xr))])]))),128))])])])):g(``,!0),u(h,{"run-data-view":n.runDataView,onClose:o[4]||=e=>a(`close-run-data`)},null,8,[`run-data-view`])])}}}),[[`__scopeId`,`data-v-6242bc54`]]),{__name:`DcwRecipePanel`}),Qr={class:`modal`},$r={class:`m-title`},ei={class:`f-grid`},ti={class:`f`},ni=[`value`],ri={class:`f`},ii=[`placeholder`],ai={class:`f`},oi=[`placeholder`],si={class:`sec-label`},ci={class:`f`},li=[`onUpdate:modelValue`],ui=[`value`],di={key:0,class:`row-stale`},fi={class:`f`},pi=[`onUpdate:modelValue`],mi={class:`f`},hi=[`onUpdate:modelValue`,`placeholder`],gi={class:`f`},_i=[`onUpdate:modelValue`,`placeholder`],vi={class:`f`},yi=[`onUpdate:modelValue`,`placeholder`],bi=[`onClick`],xi={class:`sec-label`},Si={class:`f`},Ci=[`onUpdate:modelValue`],wi=[`value`],Ti={class:`f`},Ei=[`onUpdate:modelValue`],Di={class:`f`},Oi=[`onUpdate:modelValue`],ki=[`onClick`],Ai=[`disabled`,`title`],ji={key:0,class:`m-note`},Mi={key:1,class:`m-err`},Ni={class:`m-actions`},Pi=[`disabled`],Fi=Object.assign(D(s({__name:`DcwRecipeEditModal`,props:h({lineProducts:{},lineNodes:{},lineDaqNodes:{},lineId:{},recipeEditing:{},recipeSaving:{type:Boolean},recipeError:{},recipeStaleNote:{},dcwTemplateRefCh:{type:Function},nodeMin:{type:Function},nodeMax:{type:Function},paramStatus:{type:Function}},{open:{type:Boolean,required:!0},openModifiers:{},form:{required:!0},formModifiers:{}}),emits:h([`submit`,`close`],[`update:open`,`update:form`]),setup(t,{emit:n}){let r=n,a=o(t,`open`),s=o(t,`form`),{t:u}=T();function d(e){let t=k(e);return t?` · ${u(t)}`:``}return(n,o)=>a.value?(c(),p(`div`,{key:0,class:`modal-mask`,onClick:o[7]||=S(e=>a.value=!1,[`self`])},[f(`div`,Qr,[f(`h3`,$r,i(t.recipeEditing?n.$t(`dcwDetail.k1iiwk0i163`):n.$t(`dcwDetail.k1efq0r9176`)),1),f(`div`,ei,[f(`label`,ti,[f(`span`,null,[b(i(n.$t(`dcwDetail.k1dw4fzf094`)),1),o[8]||=f(`em`,null,`*`,-1)]),y(f(`select`,{"onUpdate:modelValue":o[0]||=e=>s.value.productId=e,class:`inp`},[(c(!0),p(m,null,l(t.lineProducts,e=>(c(),p(`option`,{key:e.id,value:e.id},i(e.name),9,ni))),128))],512),[[w,s.value.productId]])]),f(`label`,ri,[f(`span`,null,[b(i(n.$t(`dcwDetail.k1l3f8so095`)),1),o[9]||=f(`em`,null,`*`,-1)]),y(f(`input`,{"onUpdate:modelValue":o[1]||=e=>s.value.name=e,class:`inp`,placeholder:n.$t(`dcwDetail.k12c11vm014`)},null,8,ii),[[x,s.value.name]])]),f(`label`,ai,[f(`span`,null,i(n.$t(`dcwDetail.k40gkk096`)),1),y(f(`input`,{"onUpdate:modelValue":o[2]||=e=>s.value.description=e,class:`inp`,placeholder:n.$t(`dcwDetail.k1hxx8hy015`)},null,8,oi),[[x,s.value.description]])])]),f(`p`,si,i(n.$t(`dcwDetail.ka1kfgh097`)),1),(c(!0),p(m,null,l(s.value.params,(e,r)=>(c(),p(`div`,{key:r,class:`param-row`},[f(`label`,ci,[f(`span`,null,i(n.$t(`dcwDetail.k1e2dtkt053`)),1),y(f(`select`,{"onUpdate:modelValue":t=>e.nodeId=t,class:`inp`},[(c(!0),p(m,null,l(t.lineNodes,e=>(c(),p(`option`,{key:e.id,value:e.id},i(e.name)+i(d(e.driver))+`(`+i(t.dcwTemplateRefCh(e.templateRef))+` · `+i(e.min)+`~`+i(e.max)+` `+i(e.unit)+`) `,9,ui))),128))],8,li),[[w,e.nodeId]]),t.paramStatus(e.nodeId,t.lineId)?(c(),p(`span`,di,i(t.paramStatus(e.nodeId,t.lineId).label),1)):g(``,!0)]),f(`label`,fi,[f(`span`,null,[b(i(n.$t(`dcwDetail.k3renp2098`)),1),o[10]||=f(`em`,null,`*`,-1)]),y(f(`input`,{"onUpdate:modelValue":t=>e.value=t,type:`number`,class:`inp`,step:.1},null,8,pi),[[x,e.value,void 0,{number:!0}]])]),f(`label`,mi,[f(`span`,null,i(n.$t(`dcwDetail.k134rw3b146`))+i(t.nodeMin(e.nodeId)??`-`)+`)`,1),y(f(`input`,{"onUpdate:modelValue":t=>e.min=t,type:`number`,class:`inp`,step:.1,placeholder:n.$t(`dcwDetail.k5vew9z016`)},null,8,hi),[[x,e.min,void 0,{number:!0}]])]),f(`label`,gi,[f(`span`,null,i(n.$t(`dcwDetail.khrv911147`))+i(t.nodeMax(e.nodeId)??`-`)+`)`,1),y(f(`input`,{"onUpdate:modelValue":t=>e.max=t,type:`number`,class:`inp`,step:.1,placeholder:n.$t(`dcwDetail.kzoh5pr017`)},null,8,_i),[[x,e.max,void 0,{number:!0}]])]),f(`label`,vi,[f(`span`,null,i(n.$t(`dcwDetail.recipeStepLimitLabel`)),1),y(f(`input`,{"onUpdate:modelValue":t=>e.stepLimit=t,type:`number`,min:`0`,class:`inp`,step:`any`,placeholder:n.$t(`dcwDetail.recipeStepLimitPlaceholder`)},null,8,yi),[[x,e.stepLimit,void 0,{number:!0}]])]),f(`button`,{class:`mini-btn danger param-del`,onClick:e=>s.value.params.splice(r,1)},i(n.$t(`dcwDetail.k44idg099`)),9,bi)]))),128)),f(`button`,{class:`mini-btn`,onClick:o[3]||=n=>s.value.params.push(e(A)(t.lineNodes[0]?.id??``))},i(n.$t(`dcwDetail.k1broh7h100`)),1),f(`p`,xi,i(n.$t(`dcwDetail.k1h5gues101`)),1),(c(!0),p(m,null,l(s.value.daqWindows,(e,r)=>(c(),p(`div`,{key:`dw-${r}`,class:`param-row`},[f(`label`,Si,[f(`span`,null,i(n.$t(`dcwDetail.k1empnnb102`)),1),y(f(`select`,{"onUpdate:modelValue":t=>e.nodeId=t,class:`inp`},[(c(!0),p(m,null,l(t.lineDaqNodes,e=>(c(),p(`option`,{key:e.id,value:e.id},i(e.name)+`(`+i(e.min)+`~`+i(e.max)+` `+i(e.unit)+`) `,9,wi))),128))],8,Ci),[[w,e.nodeId]])]),f(`label`,Ti,[f(`span`,null,i(n.$t(`dcwDetail.kqm08ap103`)),1),y(f(`input`,{"onUpdate:modelValue":t=>e.min=t,type:`number`,class:`inp`,step:.1},null,8,Ei),[[x,e.min,void 0,{number:!0}]])]),f(`label`,Di,[f(`span`,null,i(n.$t(`dcwDetail.kpypf8g104`)),1),y(f(`input`,{"onUpdate:modelValue":t=>e.max=t,type:`number`,class:`inp`,step:.1},null,8,Oi),[[x,e.max,void 0,{number:!0}]])]),f(`button`,{class:`mini-btn danger param-del`,onClick:e=>s.value.daqWindows.splice(r,1)},i(n.$t(`dcwDetail.k44idg099`)),9,ki)]))),128)),f(`button`,{class:`mini-btn`,disabled:t.lineDaqNodes.length===0,title:t.lineDaqNodes.length===0?n.$t(`dcwDetail.noDaqTip`):``,onClick:o[4]||=n=>s.value.daqWindows.push(e(j)(t.lineDaqNodes[0]?.id??``))},i(n.$t(`dcwDetail.kv1de1p105`)),9,Ai),t.recipeStaleNote?(c(),p(`p`,ji,i(t.recipeStaleNote),1)):g(``,!0),t.recipeError?(c(),p(`p`,Mi,i(t.recipeError),1)):g(``,!0),f(`div`,Ni,[f(`button`,{class:`aw-pill outline`,onClick:o[5]||=e=>a.value=!1},i(n.$t(`dcwDetail.k3xdnn052`)),1),f(`button`,{class:`pill-btn`,disabled:t.recipeSaving,onClick:o[6]||=e=>r(`submit`)},i(t.recipeSaving?n.$t(`dcwDetail.k1b38d59164`):n.$t(`dcwDetail.k1b3kwg0177`)),9,Pi)])])])):g(``,!0)}}),[[`__scopeId`,`data-v-6a4fb369`]]),{__name:`DcwRecipeEditModal`}),Ii={class:`modal`,style:{"max-width":`760px`}},Li={class:`modal-head`},Ri={key:0,class:`dim`,style:{"margin-left":`8px`,"font-size":`12px`}},zi={key:0,class:`banner good`,style:{margin:`6px 0`}},Bi={key:1,class:`dim`},Vi={key:2,class:`pane-empty`},Hi={class:`ver-head`},Ui={class:`mono ver-v`},Wi={class:`mono dim`},Gi={class:`ver-actor`},Ki=[`onClick`],qi={key:0,class:`ver-desc`},Ji={class:`ver-diff mono`},Yi=Object.assign(D(s({__name:`DcwRecipeHistoryModal`,props:h({verRecipe:{},verRows:{},verLoading:{type:Boolean},verMsg:{},paramNodeName:{type:Function}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:h([`revert`,`close`],[`update:open`]),setup(n,{emit:r}){let a=n,s=r,{t:u}=T(),d=o(n,`open`),h=e=>e===`agent`?`Agent`:u(e===`system`?`dcwDetail.srcSystem`:`dcwDetail.srcUser`);function _(e,t){if(t===0)return u(`dcwDetail.histInit`);let n=a.verRows[t-1],r=e.params.map(e=>({p:e,old:n.params.find(t=>t.nodeId===e.nodeId)})).filter(({p:e,old:t})=>!t||t.value!==e.value).map(({p:e,old:t})=>`${a.paramNodeName(e.nodeId)}: ${t?.value??u(`dcwDetail.histAdded`)} → ${e.value}`);return r.length>0?r.join(`;`):u(`dcwDetail.histNoChange`)}return(r,a)=>d.value?(c(),p(`div`,{key:0,class:`modal-mask`,onClick:a[1]||=S(e=>d.value=!1,[`self`])},[f(`div`,Ii,[f(`div`,Li,[f(`h3`,null,[b(i(e(u)(`dcwDetail.histTitle`)),1),n.verRecipe?(c(),p(`span`,Ri,i(n.verRecipe.name)+` · v`+i(n.verRecipe.version),1)):g(``,!0)]),f(`button`,{class:`mini-btn`,onClick:a[0]||=e=>d.value=!1},` ✕ `)]),n.verMsg?(c(),p(`p`,zi,i(n.verMsg),1)):g(``,!0),n.verLoading?(c(),p(`p`,Bi,i(e(u)(`dcwDetail.histLoading`)),1)):n.verRows.length===0?(c(),p(`div`,Vi,i(e(u)(`dcwDetail.histEmpty`)),1)):(c(!0),p(m,{key:3},l(n.verRows,(n,r)=>(c(),p(`div`,{key:n.version,class:t([`ver-row`,{cur:n.current}])},[f(`div`,Hi,[f(`span`,Ui,`v`+i(n.version),1),f(`span`,{class:t([`ver-src`,n.by??(n.current?`cur`:``)])},i(n.current?e(u)(`dcwDetail.histCurrent`):h(n.by)),3),f(`span`,Wi,i(n.at.slice(0,19).replace(`T`,` `)),1),f(`span`,Gi,i(n.actorName||`—`),1),n.current?g(``,!0):(c(),p(`button`,{key:0,class:`mini-btn`,onClick:e=>s(`revert`,n.version)},i(e(u)(`dcwDetail.revertTo`)),9,Ki))]),n.description?(c(),p(`p`,qi,i(n.description),1)):g(``,!0),f(`p`,Ji,i(_(n,r)),1)],2))),128))])])):g(``,!0)}}),[[`__scopeId`,`data-v-322135bb`]]),{__name:`DcwRecipeHistoryModal`}),Xi={class:`aw-tile query-card`},Zi={class:`sec-label`},Qi={class:`q-grid`},$i={class:`f`},ea={value:``},ta=[`value`],na={class:`f`},ra=[`disabled`],ia={value:``},aa=[`value`],oa={class:`f`},sa={value:``},ca=[`value`],la={class:`f`},ua={value:``},da=[`value`],fa={class:`f`},pa={class:`f`},ma={class:`f q-actions`},ha=[`disabled`],ga={key:0,class:`banner bad`,style:{"margin-top":`8px`}},_a={key:1,class:`q-result`},va={class:`nodes-table`},ya={class:`mono dim`},ba={class:`mono`},xa={class:`mono`},Sa={class:`mono`},Ca={class:`mono dim`},wa=Object.assign(D(s({__name:`DcwQueryCard`,props:h({lineProducts:{},visibleRecipes:{},lineDaqNodes:{},daqParamKeys:{},queryBusy:{type:Boolean},queryError:{},queryResult:{}},{query:{required:!0},queryModifiers:{}}),emits:h([`run`],[`update:query`]),setup(t,{emit:n}){let r=n,a=o(t,`query`);function s(e){let t=e?.value??e?.avg;return t==null?`--`:String(Math.round(t*1e3)/1e3)}return(n,o)=>(c(),p(`section`,Xi,[f(`p`,Zi,i(n.$t(`dcwDetail.k1us3jse106`)),1),f(`div`,Qi,[f(`label`,$i,[f(`span`,null,i(n.$t(`dcwDetail.k3waz1025`)),1),y(f(`select`,{"onUpdate:modelValue":o[0]||=e=>a.value.productId=e,class:`inp`,onChange:o[1]||=e=>a.value.recipeId=``},[f(`option`,ea,i(n.$t(`dcwDetail.k1bkl1jx107`)),1),(c(!0),p(m,null,l(t.lineProducts,e=>(c(),p(`option`,{key:e.id,value:e.id},i(e.name),9,ta))),128))],544),[[w,a.value.productId]])]),f(`label`,na,[f(`span`,null,i(n.$t(`dcwDetail.k48grv027`)),1),y(f(`select`,{"onUpdate:modelValue":o[2]||=e=>a.value.recipeId=e,class:`inp`,disabled:!a.value.productId},[f(`option`,ia,i(n.$t(`dcwDetail.k1bkx7cr108`)),1),(c(!0),p(m,null,l(t.visibleRecipes,e=>(c(),p(`option`,{key:e.id,value:e.id},i(e.name),9,aa))),128))],8,ra),[[w,a.value.recipeId]])]),f(`label`,oa,[f(`span`,null,i(n.$t(`dcwDetail.k1demcae109`)),1),y(f(`select`,{"onUpdate:modelValue":o[3]||=e=>a.value.paramKey=e,class:`inp`},[f(`option`,sa,i(n.$t(`dcwDetail.k1bkx7ya110`)),1),(c(!0),p(m,null,l(t.daqParamKeys,e=>(c(),p(`option`,{key:e,value:e},i(e),9,ca))),128))],512),[[w,a.value.paramKey]])]),f(`label`,la,[f(`span`,null,i(n.$t(`dcwDetail.k45uio082`)),1),y(f(`select`,{"onUpdate:modelValue":o[4]||=e=>a.value.nodeId=e,class:`inp`},[f(`option`,ua,i(n.$t(`dcwDetail.k1bkul3k111`)),1),(c(!0),p(m,null,l(t.lineDaqNodes,e=>(c(),p(`option`,{key:e.id,value:e.id},i(e.name),9,da))),128))],512),[[w,a.value.nodeId]])]),f(`label`,fa,[f(`span`,null,i(n.$t(`dcwDetail.kx2ojn0112`)),1),y(f(`input`,{"onUpdate:modelValue":o[5]||=e=>a.value.lastMin=e,type:`number`,min:`1`,max:`10080`,class:`inp`},null,512),[[x,a.value.lastMin,void 0,{number:!0}]])]),f(`label`,pa,[f(`span`,null,i(n.$t(`dcwDetail.kjvnvn4113`)),1),y(f(`input`,{"onUpdate:modelValue":o[6]||=e=>a.value.bucketMs=e,type:`number`,min:`1000`,step:`500`,class:`inp`},null,512),[[x,a.value.bucketMs,void 0,{number:!0}]])]),f(`div`,ma,[f(`button`,{class:`pill-btn`,disabled:t.queryBusy,onClick:o[7]||=e=>r(`run`)},i(t.queryBusy?n.$t(`dcwDetail.k1eyx09r165`):n.$t(`dcwDetail.k416ek178`)),9,ha)])]),t.queryError?(c(),p(`p`,ga,i(t.queryError),1)):g(``,!0),t.queryResult?(c(),p(`div`,_a,[f(`table`,va,[f(`thead`,null,[f(`tr`,null,[f(`th`,null,i(n.$t(`dcwDetail.k48hde081`)),1),f(`th`,null,i(n.$t(`dcwDetail.k45uio082`)),1),f(`th`,null,i(n.$t(`dcwDetail.k42kcu114`)),1),f(`th`,null,i(n.$t(`dcwDetail.k49ujb115`)),1),f(`th`,null,i(n.$t(`dcwDetail.k40pvw116`)),1),f(`th`,null,i(n.$t(`dcwDetail.k3xho3117`)),1)])]),f(`tbody`,null,[(c(!0),p(m,null,l(t.queryResult.channels,t=>(c(),p(`tr`,{key:t.nodeId},[f(`td`,null,[b(i(t.ch),1),f(`small`,ya,i(t.unit),1)]),f(`td`,null,i(t.nodeName),1),f(`td`,ba,i(t.points.length),1),f(`td`,xa,i(s(t.points[0])),1),f(`td`,Sa,i(s(t.points[t.points.length-1])),1),f(`td`,Ca,i(e(O)(new Date(t.points[0]?.at??0).toISOString(),!1))+` ~ `+i(e(O)(new Date(t.points[t.points.length-1]?.at??0).toISOString(),!1)),1)]))),128))])])])):g(``,!0)]))}}),[[`__scopeId`,`data-v-ee60c0a5`]]),{__name:`DcwQueryCard`}),Ta={class:`aw-tile table-card`},Ea={class:`sec-label`},Da={class:`nodes-table`},Oa={class:`mono dim`},ka={class:`mono`},Aa={class:`mono dim`},ja={class:`dim`},Ma=Object.assign(D(s({__name:`DcwWriteHistoryCard`,props:{lineHistory:{}},setup(e){return(n,r)=>(c(),p(`section`,Ta,[f(`p`,Ea,i(n.$t(`dcwDetail.kw7ym9b148`))+` `+i(e.lineHistory.length)+` `+i(n.$t(`dcwDetail.k40bfz150`)),1),f(`table`,Da,[f(`tbody`,null,[(c(!0),p(m,null,l(e.lineHistory.slice(0,12),e=>(c(),p(`tr`,{key:e.id},[f(`td`,Oa,i(e.at.slice(5,19)),1),f(`td`,null,i(e.param),1),f(`td`,null,i(e.nodeName),1),f(`td`,ka,i(e.eng),1),f(`td`,Aa,` raw `+i(e.raw??`-`),1),f(`td`,null,[f(`span`,{class:t([`st-pill`,e.ok?`ok`:`alarm`])},i(e.ok?`ACK`:n.$t(`dcwDetail.k3yit7139`)),3)]),f(`td`,ja,i(e.recipeRunId?n.$t(`dcwDetail.k6vgks7181`,{p0:e.recipeRunId}):n.$t(`dcwDetail.manualTag`)),1)]))),128))])])]))}}),[[`__scopeId`,`data-v-1ca86a1c`]]),{__name:`DcwWriteHistoryCard`}),Na={class:`modal`},Pa={class:`m-title`},Fa={class:`f-grid`},Ia={class:`f`},La=[`placeholder`],Ra={class:`f`},za=[`placeholder`],Ba={key:0,class:`m-err`},Va={class:`m-actions`},Ha=[`disabled`],Ua=Object.assign(D(s({__name:`DcwProductCreateModal`,props:h({productSaving:{type:Boolean},productError:{}},{open:{type:Boolean,required:!0},openModifiers:{},form:{required:!0},formModifiers:{}}),emits:h([`submit`,`close`],[`update:open`,`update:form`]),setup(e,{emit:t}){let n=t,r=o(e,`open`),a=o(e,`form`);return(t,o)=>r.value?(c(),p(`div`,{key:0,class:`modal-mask`,onClick:o[4]||=S(e=>r.value=!1,[`self`])},[f(`div`,Na,[f(`h3`,Pa,i(t.$t(`dcwDetail.k1efduyf118`)),1),f(`div`,Fa,[f(`label`,Ia,[f(`span`,null,[b(i(t.$t(`dcwDetail.k1avjrl6119`)),1),o[5]||=f(`em`,null,`*`,-1)]),y(f(`input`,{"onUpdate:modelValue":o[0]||=e=>a.value.name=e,class:`inp`,placeholder:t.$t(`dcwDetail.k12c11vm014`)},null,8,La),[[x,a.value.name]])]),f(`label`,Ra,[f(`span`,null,i(t.$t(`dcwDetail.k40gkk096`)),1),y(f(`input`,{"onUpdate:modelValue":o[1]||=e=>a.value.description=e,class:`inp`,placeholder:t.$t(`dcwDetail.k1hxx8hy015`)},null,8,za),[[x,a.value.description]])])]),e.productError?(c(),p(`p`,Ba,i(e.productError),1)):g(``,!0),f(`div`,Va,[f(`button`,{class:`aw-pill outline`,onClick:o[2]||=e=>r.value=!1},i(t.$t(`dcwDetail.k3xdnn052`)),1),f(`button`,{class:`pill-btn`,disabled:e.productSaving,onClick:o[3]||=e=>n(`submit`)},i(e.productSaving?t.$t(`dcwDetail.k1bg4759156`):t.$t(`dcwDetail.k1bg4kn6179`)),9,Ha)])])])):g(``,!0)}}),[[`__scopeId`,`data-v-aa17ef24`]]),{__name:`DcwProductCreateModal`}),Wa={class:`aw-tile ledger-card`},Ga={class:`ledger-head`},Ka={value:``},qa=[`value`],Ja={class:`ledger-tri`},Ya={class:`tri-cell`},Xa={class:`mono`},Za={class:`tri-cell`},Qa={class:`mono`},$a={class:`tri-cell`},eo={class:`mono`},to={class:`ledger-cols`},no={class:`ledger-col`},ro={class:`sec-t`},io={class:`ledger-list mono`},ao={class:`ledger-col`},oo={class:`sec-t`},so={class:`ledger-list`},co={class:`mono`},lo=Object.assign(D(s({__name:`DcwLedgerCard`,props:h({lineNodes:{},ledger:{}},{nodeId:{required:!0},nodeIdModifiers:{}}),emits:h([`load`,`rollback`],[`update:nodeId`]),setup(e,{emit:n}){let r=n,a=o(e,`nodeId`);return(n,o)=>(c(),p(`section`,Wa,[f(`div`,Ga,[f(`b`,null,i(n.$t(`dcwDetail.k1ledgt001`)),1),y(f(`select`,{"onUpdate:modelValue":o[0]||=e=>a.value=e,class:`inp`,onChange:o[1]||=e=>r(`load`)},[f(`option`,Ka,i(n.$t(`dcwDetail.k1ledgs001`)),1),(c(!0),p(m,null,l(e.lineNodes,e=>(c(),p(`option`,{key:e.id,value:e.id},i(e.name),9,qa))),128))],544),[[w,a.value]])]),e.ledger?(c(),p(m,{key:0},[f(`div`,Ja,[f(`div`,Ya,[f(`small`,null,i(n.$t(`dcwDetail.k1ledgv001`)),1),f(`b`,Xa,i(e.ledger.current??`--`),1)]),f(`div`,Za,[f(`small`,null,i(n.$t(`dcwDetail.k1ledgv002`)),1),f(`b`,Qa,i(e.ledger.recipeTarget??`--`),1)]),f(`div`,$a,[f(`small`,null,i(n.$t(`dcwDetail.k1ledgv003`)),1),f(`b`,eo,i(e.ledger.lastGood??`--`),1)]),f(`button`,{class:`mini-btn`,onClick:o[2]||=e=>r(`load`)},i(n.$t(`dcwDetail.k1ledga001`)),1),f(`button`,{class:`mini-btn danger`,onClick:o[3]||=e=>r(`rollback`)},i(n.$t(`dcwDetail.k1ledga002`)),1)]),f(`div`,to,[f(`div`,no,[f(`small`,ro,i(n.$t(`dcwDetail.k1ledgh001`)),1),f(`ul`,io,[(c(!0),p(m,null,l(e.ledger.journal,e=>(c(),p(`li`,{key:e.id},i(e.at.slice(5,16).replace(`T`,` `))+` [`+i(e.source)+`] `+i(e.prevValue??`?`)+` → `+i(e.newValue),1))),128))])]),f(`div`,ao,[f(`small`,oo,i(n.$t(`dcwDetail.k1ledgr001`)),1),f(`ul`,so,[(c(!0),p(m,null,l(e.ledger.records,e=>(c(),p(`li`,{key:e.id,class:`ledger-rec`},[f(`span`,{class:t([`rec-st`,e.status])},i(e.status),3),f(`span`,co,i(e.params[0]?.from??`?`)+` → `+i(e.params[0]?.to),1),f(`small`,null,i(e.judge?`${e.judge.verdict}(${e.judge.by})`:e.status===`open`?`open`:e.closedBy??``),1)]))),128))])])])],64)):g(``,!0)]))}}),[[`__scopeId`,`data-v-15a6bb00`]]),{__name:`DcwLedgerCard`}),uo={key:0,class:`page`},fo={class:`banner bad`},po={key:1,class:`page`},mo={key:3,class:`err`},ho=D(s({__name:`[id]`,setup(n){let r=P(),o=ce(),s=re(),l=ie(r),d=oe(r,l),m=M(r,d,l,o),h=se(r),y=N(r),x=ne(y),S=ae(r),{dcw:C,line:w,lineId:T,ls:E,lineNodes:D,lineProducts:O,lineRecipesAll:te,lineRuns:k,lineHistory:A,unassignedNodes:j,unassignedProducts:le,stateLabel:ue,dcwTemplateRefCh:de,nodeMin:fe,nodeMax:pe,lineDaqNodes:me,daqNodeCh:he,adoptNode:_e,adoptProduct:ve,productName:ye,paramStatus:be,paramNodeName:xe,daqWindowStatus:Se,nodeDeviceNames:Ce}=r,{setInputs:F,writingId:Te,writeError:I,writeOk:Ee,readingId:De,togglingId:Oe,stepPatchingId:Ae,doWrite:je,doRead:Me,toggleControl:Ne,patchStepLimit:Pe}=o,{ledgerNodeId:L,ledger:Fe,loadLedger:Ie,rollbackLedgerNode:Le}=s,{lineProductId:R,lineRecipeId:z,lineBusy:Re,lineMsg:ze,lineErr:Be,lineRecipes:Ve,doLineStart:He,doLineStop:Ue}=l,{filterProductId:B,visibleRecipes:Ge,productOpen:V,productSaving:Ke,productError:qe,productForm:H,doCreateProduct:Je}=d,{verOpen:U,verRecipe:Ye,verRows:Xe,verLoading:Ze,verMsg:Qe,doRevert:$e,recipeOpen:W,recipeEditing:et,recipeSaving:tt,recipeError:nt,recipeStaleNote:rt,recipeForm:G,applyResult:it,runDataView:at,runDataLoading:ot,openRecipeCreate:st,openRecipeEdit:ct,openRecipeHistory:lt,saveRecipe:ut,doApplyRecipe:dt,doViewRun:ft}=m,{query:K,queryBusy:pt,queryError:ht,queryResult:gt,doQuery:_t,daqParamKeys:vt}=h,{addOpen:q,addScenario:J,addTemplate:Y,addDriver:X,addName:Z,addHold:yt,addRead:bt,addWriteLock:xt,addStepLimit:St,addCfg:Ct,addTransform:wt,addSemantics:Tt,addTesting:Et,addTest:Dt,addMesTesting:Ot,addMesResult:kt,addSaving:At,addError:jt,addFields:Mt,driverCatalog:Nt,doTestConnection:Pt,doMesTestRead:Ft,doAddNode:It}=y,{tplOpen:Q,tplSaving:Lt,tplError:Rt,tplOk:zt,tplForm:Bt,tplIcons:Vt,builtinCount:Ht,customCount:Ut,openTplModal:Wt,doCreateTemplate:Gt}=x,{approvalItems:Kt,approvalComments:$,approvalDecidingId:qt,approvalRemainingSec:Jt,approvalAgentName:Yt,approvalNodeName:Xt,decideApproval:Zt}=S;return(n,r)=>{let o=ee,s=ge,l=we,d=ke,m=We,h=mt,y=Qt,x=mn,S=Kn,M=Zr,N=Fi,P=Yi,ne=wa,re=Ma,ie=Ua,ae=lo;return e(C).loaded&&!e(w)?(c(),p(`div`,uo,[f(`p`,fo,i(n.$t(`dcwDetail.k19337yp018`)),1),u(o,{class:`pill-btn`,to:`/dcw`},{default:_(()=>[b(i(n.$t(`dcwDetail.kllwu1c019`)),1)]),_:1})])):(c(),p(`div`,po,[u(s,{line:e(w),"line-id":e(T),"nodes-count":e(D).length,"products-count":e(O).length,"recipes-count":e(te).length},null,8,[`line`,`line-id`,`nodes-count`,`products-count`,`recipes-count`]),u(l,{running:e(C).controller.running,"nodes-online":e(C).controller.nodesOnline,"nodes-total":e(C).controller.nodesTotal,"writes-total":e(C).controller.writesTotal,"writes-failed":e(C).controller.writesFailed,onToggle:e(C).startStop,onOpenTemplates:e(Wt),onOpenAdd:r[0]||=e=>q.value=!0},null,8,[`running`,`nodes-online`,`nodes-total`,`writes-total`,`writes-failed`,`onToggle`,`onOpenTemplates`]),e(I)||e(Ee)?(c(),p(`p`,{key:0,class:t([`banner`,e(I)?`bad`:`good`])},i(e(I)||e(Ee)),3)):g(``,!0),u(d,{"unassigned-nodes":e(j),"unassigned-products":e(le),onAdoptNode:e(_e),onAdoptProduct:e(ve)},null,8,[`unassigned-nodes`,`unassigned-products`,`onAdoptNode`,`onAdoptProduct`]),u(m,{"product-id":e(R),"onUpdate:productId":r[1]||=e=>a(R)?R.value=e:null,"recipe-id":e(z),"onUpdate:recipeId":r[2]||=e=>a(z)?z.value=e:null,ls:e(E),"line-products":e(O),"line-recipes":e(Ve),"line-busy":e(Re),"line-msg":e(ze),"line-err":e(Be),onStart:e(He),onStop:e(Ue)},null,8,[`product-id`,`recipe-id`,`ls`,`line-products`,`line-recipes`,`line-busy`,`line-msg`,`line-err`,`onStart`,`onStop`]),u(h,{open:e(Q),"onUpdate:open":r[3]||=e=>a(Q)?Q.value=e:null,form:e(Bt),"onUpdate:form":r[4]||=e=>a(Bt)?Bt.value=e:null,templates:e(C).templates,"tpl-icons":e(Vt),"builtin-count":e(Ht),"custom-count":e(Ut),"tpl-saving":e(Lt),"tpl-error":e(Rt),"tpl-ok":e(zt),onSubmit:e(Gt),onClose:r[5]||=e=>Q.value=!1},null,8,[`open`,`form`,`templates`,`tpl-icons`,`builtin-count`,`custom-count`,`tpl-saving`,`tpl-error`,`tpl-ok`,`onSubmit`]),u(y,{open:e(q),"onUpdate:open":r[6]||=e=>a(q)?q.value=e:null,scenario:e(J),"onUpdate:scenario":r[7]||=e=>a(J)?J.value=e:null,template:e(Y),"onUpdate:template":r[8]||=e=>a(Y)?Y.value=e:null,driver:e(X),"onUpdate:driver":r[9]||=e=>a(X)?X.value=e:null,name:e(Z),"onUpdate:name":r[10]||=e=>a(Z)?Z.value=e:null,hold:e(yt),"onUpdate:hold":r[11]||=e=>a(yt)?yt.value=e:null,read:e(bt),"onUpdate:read":r[12]||=e=>a(bt)?bt.value=e:null,"write-lock":e(xt),"onUpdate:writeLock":r[13]||=e=>a(xt)?xt.value=e:null,"step-limit":e(St),"onUpdate:stepLimit":r[14]||=e=>a(St)?St.value=e:null,cfg:e(Ct),"onUpdate:cfg":r[15]||=e=>a(Ct)?Ct.value=e:null,transform:e(wt),"onUpdate:transform":r[16]||=e=>a(wt)?wt.value=e:null,semantics:e(Tt),"onUpdate:semantics":r[17]||=e=>a(Tt)?Tt.value=e:null,templates:e(C).templates,"driver-catalog":e(Nt),"add-fields":e(Mt),"add-testing":e(Et),"add-test":e(Dt),"add-mes-testing":e(Ot),"add-mes-result":e(kt),"add-saving":e(At),"add-error":e(jt),onTest:e(Pt),onMesTest:e(Ft),onSubmit:e(It)},null,8,[`open`,`scenario`,`template`,`driver`,`name`,`hold`,`read`,`write-lock`,`step-limit`,`cfg`,`transform`,`semantics`,`templates`,`driver-catalog`,`add-fields`,`add-testing`,`add-test`,`add-mes-testing`,`add-mes-result`,`add-saving`,`add-error`,`onTest`,`onMesTest`,`onSubmit`]),e(Kt).length?(c(),v(x,{key:1,comments:e($),"onUpdate:comments":r[18]||=e=>a($)?$.value=e:null,items:e(Kt),"deciding-id":e(qt),"remaining-sec":e(Jt),"agent-name":e(Yt),"node-name":e(Xt),onDecide:e(Zt)},null,8,[`comments`,`items`,`deciding-id`,`remaining-sec`,`agent-name`,`node-name`,`onDecide`])):g(``,!0),u(S,{"set-inputs":e(F),"onUpdate:setInputs":r[19]||=e=>a(F)?F.value=e:null,"line-nodes":e(D),"state-label":e(ue),"toggling-id":e(Oe),"reading-id":e(De),"writing-id":e(Te),"step-patching-id":e(Ae),loaded:e(C).loaded,error:e(C).error,"dcw-template-ref-ch":e(de),"node-device-names":e(Ce),onToggle:e(Ne),onRead:e(Me),onWrite:e(je),onPatchStepLimit:e(Pe),onRemove:e(C).removeNode},null,8,[`set-inputs`,`line-nodes`,`state-label`,`toggling-id`,`reading-id`,`writing-id`,`step-patching-id`,`loaded`,`error`,`dcw-template-ref-ch`,`node-device-names`,`onToggle`,`onRead`,`onWrite`,`onPatchStepLimit`,`onRemove`]),u(M,{"filter-product-id":e(B),"onUpdate:filterProductId":r[20]||=e=>a(B)?B.value=e:null,"line-products":e(O),"visible-recipes":e(Ge),"line-runs":e(k),"apply-result":e(it),"run-data-view":e(at),"run-data-loading":e(ot),"product-name":e(ye),"param-status":e(be),"param-node-name":e(xe),"daq-window-status":e(Se),"daq-node-ch":e(he),onCreate:e(st),onOpenProduct:r[21]||=e=>V.value=!0,onApply:e(dt),onEdit:e(ct),onHistory:e(lt),onRemoveRecipe:e(C).removeRecipe,onRemoveProduct:e(C).removeProduct,onViewRun:e(ft),onCloseRun:e(C).closeRun,onCloseRunData:r[22]||=e=>at.value=null},null,8,[`filter-product-id`,`line-products`,`visible-recipes`,`line-runs`,`apply-result`,`run-data-view`,`run-data-loading`,`product-name`,`param-status`,`param-node-name`,`daq-window-status`,`daq-node-ch`,`onCreate`,`onApply`,`onEdit`,`onHistory`,`onRemoveRecipe`,`onRemoveProduct`,`onViewRun`,`onCloseRun`]),u(N,{open:e(W),"onUpdate:open":r[23]||=e=>a(W)?W.value=e:null,form:e(G),"onUpdate:form":r[24]||=e=>a(G)?G.value=e:null,"line-products":e(O),"line-nodes":e(D),"line-daq-nodes":e(me),"line-id":e(T),"recipe-editing":e(et),"recipe-saving":e(tt),"recipe-error":e(nt),"recipe-stale-note":e(rt),"dcw-template-ref-ch":e(de),"node-min":e(fe),"node-max":e(pe),"param-status":e(be),onSubmit:e(ut),onClose:r[25]||=e=>W.value=!1},null,8,[`open`,`form`,`line-products`,`line-nodes`,`line-daq-nodes`,`line-id`,`recipe-editing`,`recipe-saving`,`recipe-error`,`recipe-stale-note`,`dcw-template-ref-ch`,`node-min`,`node-max`,`param-status`,`onSubmit`]),u(P,{open:e(U),"onUpdate:open":r[26]||=e=>a(U)?U.value=e:null,"ver-recipe":e(Ye),"ver-rows":e(Xe),"ver-loading":e(Ze),"ver-msg":e(Qe),"param-node-name":e(xe),onRevert:e($e),onClose:r[27]||=e=>U.value=!1},null,8,[`open`,`ver-recipe`,`ver-rows`,`ver-loading`,`ver-msg`,`param-node-name`,`onRevert`]),u(ne,{query:e(K),"onUpdate:query":r[28]||=e=>a(K)?K.value=e:null,"line-products":e(O),"visible-recipes":e(Ge),"line-daq-nodes":e(me),"daq-param-keys":e(vt),"query-busy":e(pt),"query-error":e(ht),"query-result":e(gt),onRun:e(_t)},null,8,[`query`,`line-products`,`visible-recipes`,`line-daq-nodes`,`daq-param-keys`,`query-busy`,`query-error`,`query-result`,`onRun`]),e(A).length?(c(),v(re,{key:2,"line-history":e(A)},null,8,[`line-history`])):g(``,!0),u(ie,{open:e(V),"onUpdate:open":r[29]||=e=>a(V)?V.value=e:null,form:e(H),"onUpdate:form":r[30]||=e=>a(H)?H.value=e:null,"product-saving":e(Ke),"product-error":e(qe),onSubmit:e(Je),onClose:r[31]||=e=>V.value=!1},null,8,[`open`,`form`,`product-saving`,`product-error`,`onSubmit`]),e(C).error?(c(),p(`p`,mo,[b(i(e(C).error)+`(`,1),u(o,{to:`/workshop`},{default:_(()=>[b(i(n.$t(`dcwDetail.k1bhhheq120`)),1)]),_:1}),r[33]||=b(`) `,-1)])):g(``,!0),u(ae,{"node-id":e(L),"onUpdate:nodeId":r[32]||=e=>a(L)?L.value=e:null,"line-nodes":e(D),ledger:e(Fe),onLoad:e(Ie),onRollback:e(Le)},null,8,[`node-id`,`line-nodes`,`ledger`,`onLoad`,`onRollback`])]))}}}),[[`__scopeId`,`data-v-3bc28b19`]]);export{ho as default};
@@ -1 +0,0 @@
1
- import{N as e,dt as t,g as n,mt as r,u as i,v as a}from"./CavpkQb0.js";import{S as o,V as s,W as ee,b as c,d as l,f as u,h as d,i as f,m as p,nt as m,p as h,y as g}from"./ByMj6e7s.js";import{d as te}from"./Br3AySNQ.js";import{n as _}from"./DkpmSnHX.js";import{n as v}from"./Cnrmlixo.js";import{t as ne}from"./Bub2P5me.js";import{a as y,c as re,n as ie}from"./wDPc4SSR.js";import{n as ae,t as oe}from"./k5K6Jj6g.js";import{t as se}from"./eutnXI4F.js";import{t as ce}from"./CAaSPBqk.js";import{i as le,n as ue,t as de}from"./DppqsiPC.js";import{t as fe}from"./B2x8SKRO2.js";import{t as pe}from"./CPeZNE4S2.js";import{t as me}from"./DzBbYWrw2.js";import{t as he}from"./DqtnqNgL2.js";import{t as ge}from"./CfLUvgr32.js";import{t as b}from"./CI2yXRr42.js";import{t as x}from"./BDNMzG2s2.js";import{t as S}from"./JgheoP3e.js";import{t as C}from"./CNs_Ozdc.js";import{t as w}from"./8oRmGaAV.js";import{i as T,n as E}from"./Du9v6qGB2.js";var _e={class:`page`},ve={class:`head`},ye={class:`sub`},be={class:`toolbar`},xe={key:0,class:`admin-note`},Se={class:`grid`},Ce={class:`card-head`},D={class:`name`},O={class:`owner`},k={key:0,class:`desc`},A={class:`member-line`},we={class:`lead-name`},Te={key:0,class:`count`},Ee={key:1,class:`count`},De=[`title`],Oe={class:`card-foot`},j=[`title`],ke={class:`kb-hint`},M=x(o({__name:`channel-templates`,setup(o){let{t:x}=v(),M=e=>E[e.id]?.desc?x(E[e.id].desc):e.description,N=e=>E[e.id]?.scenario?x(E[e.id].scenario):e.scenarioPrompt;C({layout:`default`});let P=w(),F=b(),I=a([]),L=a([]),R=a(!1),z=async()=>{R.value=!0;try{let[e,t]=await Promise.all([P.listChannelTemplates(),P.listTemplates()]);I.value=e?.data??[],L.value=t?.data??[]}finally{R.value=!1}};z();let B=a(`all`),V=l(()=>{let e=F.user?.id;switch(B.value){case`mine`:return I.value.filter(t=>t.ownerUserId===e);case`public`:return I.value.filter(e=>e.visibility===`public`);case`builtin`:return I.value.filter(e=>e.isBuiltin);default:return I.value}}),H=e=>!e.isBuiltin&&(e.ownerUserId===F.user?.id||F.isAdmin),U=e=>e.isBuiltin?{text:x(`ctpl.k3x23c021`),color:`default`,icon:`i-tabler-lock`}:e.visibility===`public`?{text:x(`ctpl.k3wv1t022`),color:`green`}:{text:x(`ctpl.k447jj023`),color:`default`},Ae=e=>`templateId`in e?T(x,L.value.find(t=>t.id===e.templateId)??{id:e.templateId,name:e.templateId.slice(0,8)}):e.inline.name,W=a(!1),G=n({name:``,description:``,scenarioPrompt:``,workspace:``,visibility:`private`,leadId:``,memberIds:[]}),K=()=>{G.name=``,G.description=``,G.scenarioPrompt=``,G.workspace=``,G.visibility=`private`,G.leadId=``,G.memberIds=[],W.value=!0},je=async()=>{if(!G.name.trim()){y.warning(x(`ctpl.k1i0ji0y024`));return}let e=G.leadId?L.value.find(e=>e.id===G.leadId):void 0,t=G.memberIds.filter(e=>e!==G.leadId).map(e=>({templateId:e,role:`worker`}));try{await P.createChannelTemplate({name:G.name.trim(),description:G.description||void 0,scenarioPrompt:G.scenarioPrompt||void 0,workspace:G.workspace||void 0,lead:e?{name:e.name,harness:e.harness,config:e.config}:null,members:t,visibility:G.visibility}),y.success(x(`ctpl.kyppebc025`)),W.value=!1,z()}catch(e){y.error(S(e))}},Me=async(e,t)=>{try{await P.updateChannelTemplate(e.id,{visibility:t?`public`:`private`}),y.success(x(t?`ctpl.kkziya3026`:`ctpl.k1xxabaf027`)),z()}catch(e){y.error(S(e))}},q=a(null),J=a(!1),Y=a(null),X=a(!0),Ne=e=>{if(Y.value=e,X.value=!0,!e.knowledgeBaseCapable){Z();return}J.value=!0},Z=async()=>{let e=Y.value;if(e){q.value=e.id,J.value=!1;try{let t=e.knowledgeBaseCapable?{enableKnowledgeBase:X.value}:void 0,n=(await P.instantiateChannelTemplate(e.id,void 0,t))?.data;y.success(x(`ctpl.kefkfnl030`,{p0:e.name,p1:n?.agentCount??0}))}catch(e){y.error(S(e))}finally{q.value=null}}},Pe=async e=>{await P.deleteChannelTemplate(e.id),y.success(x(`ctpl.k1oxfuqj028`)),z()};return _({title:()=>x(`titles.ctpl`)}),(n,a)=>{let o=re,l=pe,_=ge,v=de,y=he,b=fe,S=me,C=ce,w=ae,E=se,P=ne,z=ue,Fe=le,Q=oe,$=ie;return s(),d(`div`,_e,[u(`div`,ve,[u(`div`,null,[u(`h2`,null,`Channel `+r(n.$t(`ctpl.k1f54iqd029`)),1),u(`p`,ye,r(n.$t(`ctpl.k18gglgp011`)),1)]),c(l,null,{default:m(()=>[c(o,{onClick:a[0]||=t=>(`navigateTo`in n?n.navigateTo:e(te))(`/workshop`)},{default:m(()=>[g(r(n.$t(`ctpl.krpx6qa012`)),1)]),_:1}),c(o,{type:`primary`,onClick:K},{default:m(()=>[g(r(n.$t(`ctpl.k1efixrj013`)),1)]),_:1})]),_:1})]),u(`div`,be,[c(_,{value:e(B),"onUpdate:value":a[1]||=e=>i(B)?B.value=e:null,size:`small`,options:[{value:`all`,label:n.$t(`chips.chipAll`,{n:e(I).length})},{value:`mine`,label:n.$t(`chips.mine`)},{value:`public`,label:n.$t(`chips.public`)},{value:`builtin`,label:n.$t(`chips.builtin`)}]},null,8,[`value`,`options`]),e(F).isAdmin?(s(),d(`span`,xe,[a[12]||=u(`span`,{class:`i-tabler-shield-check`},null,-1),g(` `+r(n.$t(`ctpl.ka1gpdj014`)),1)])):p(``,!0)]),c(S,{spinning:e(R)},{default:m(()=>[u(`div`,Se,[(s(!0),d(f,null,ee(e(V),i=>(s(),d(`div`,{key:i.id,class:`card`},[u(`div`,Ce,[u(`span`,D,r((`seedName`in n?n.seedName:e(T))(e(x),i)),1),c(v,{color:U(i).color,class:`vis-tag`},{default:m(()=>[U(i).icon?(s(),d(`span`,{key:0,class:t(U(i).icon)},null,2)):p(``,!0),g(r(U(i).text),1)]),_:2},1032,[`color`]),!i.isBuiltin&&H(i)?(s(),h(y,{key:0,checked:i.visibility===`public`,size:`small`,"checked-children":n.$t(`ctpl.visPublic`),"un-checked-children":n.$t(`ctpl.visPrivate`),onChange:e=>Me(i,e===!0)},null,8,[`checked`,`checked-children`,`un-checked-children`,`onChange`])):p(``,!0),u(`span`,O,r(i.ownerName??`-`),1)]),i.description?(s(),d(`p`,k,r(M(i)),1)):p(``,!0),u(`div`,A,[a[14]||=u(`span`,{class:`i-tabler-users-group`},null,-1),i.lead||i.members.length>0?(s(),d(f,{key:0},[c(v,{color:`gold`},{default:m(()=>[...a[13]||=[g(` lead `,-1)]]),_:1}),u(`span`,we,r(i.lead?.name??Ae(i.members.find(e=>e.role===`lead`)??i.members[0])),1),i.members.filter(e=>e.role!==`lead`).length>0?(s(),d(`span`,Te,`+ `+r(i.members.filter(e=>e.role!==`lead`).length)+` worker`,1)):p(``,!0)],64)):(s(),d(`span`,Ee,r(n.$t(`ctpl.k3rx4ps015`)),1))]),i.scenarioPrompt?(s(),d(`div`,{key:1,class:`scenario`,title:i.scenarioPrompt},r(N(i).slice(0,90))+r(N(i).length>90?`…`:``),9,De)):p(``,!0),u(`div`,Oe,[i.workspace?(s(),d(`span`,{key:0,class:`ws`,title:i.workspace},[a[15]||=u(`span`,{class:`i-tabler-folder`},null,-1),g(` `+r(i.workspace),1)],8,j)):p(``,!0),a[16]||=u(`span`,{class:`spacer`},null,-1),H(i)?(s(),h(b,{key:1,title:n.$t(`ctpl.k117jag9001`),onConfirm:e=>Pe(i)},{default:m(()=>[c(o,{size:`small`,type:`text`,danger:``},{default:m(()=>[g(r(n.$t(`ctpl.k3xakp016`)),1)]),_:1})]),_:1},8,[`title`,`onConfirm`])):p(``,!0),c(o,{size:`small`,type:`primary`,ghost:``,loading:e(q)===i.id,title:n.$t(`ctpl.knjomku002`),onClick:e=>Ne(i)},{default:m(()=>[g(r(n.$t(`ctpl.k3mr1fo017`)),1)]),_:1},8,[`loading`,`title`,`onClick`])])]))),128)),e(V).length===0?(s(),d(`div`,{key:0,class:`card placeholder`,onClick:K},[a[17]||=u(`span`,{class:`i-tabler-layout-grid-add big`},null,-1),u(`span`,null,r(n.$t(`ctpl.k19fglby018`)),1)])):p(``,!0)])]),_:1},8,[`spinning`]),c($,{open:e(W),"onUpdate:open":a[9]||=e=>i(W)?W.value=e:null,title:n.$t(`ctpl.newTplTitle`),"ok-text":n.$t(`common.create`),"cancel-text":n.$t(`common.cancel`),onOk:je},{default:m(()=>[c(Q,{layout:`vertical`},{default:m(()=>[c(w,{label:n.$t(`ctpl.k1f55q76003`)},{default:m(()=>[c(C,{value:e(G).name,"onUpdate:value":a[2]||=t=>e(G).name=t},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k40gkk004`)},{default:m(()=>[c(C,{value:e(G).description,"onUpdate:value":a[3]||=t=>e(G).description=t},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.leadTplLabel`)},{default:m(()=>[c(E,{value:e(G).leadId,"onUpdate:value":a[4]||=t=>e(G).leadId=t,"allow-clear":``,placeholder:n.$t(`ctpl.k1ju32o7005`),options:e(L).map(e=>({value:e.id,label:`${e.name}(${e.harness})`}))},null,8,[`value`,`placeholder`,`options`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k5uq1js006`)},{default:m(()=>[c(E,{value:e(G).memberIds,"onUpdate:value":a[5]||=t=>e(G).memberIds=t,mode:`multiple`,placeholder:n.$t(`ctpl.kqmdkc9007`),options:e(L).filter(t=>t.id!==e(G).leadId).map(e=>({value:e.id,label:`${e.name}(${e.harness})`}))},null,8,[`value`,`placeholder`,`options`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k1q87yho008`)},{default:m(()=>[c(P,{value:e(G).scenarioPrompt,"onUpdate:value":a[6]||=t=>e(G).scenarioPrompt=t,rows:3},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.kk4u5cr009`)},{default:m(()=>[c(C,{value:e(G).workspace,"onUpdate:value":a[7]||=t=>e(G).workspace=t,placeholder:`data/workspaces/<channelId>`},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k3lrqn0010`)},{default:m(()=>[c(Fe,{value:e(G).visibility,"onUpdate:value":a[8]||=t=>e(G).visibility=t},{default:m(()=>[c(z,{value:`private`},{default:m(()=>[g(r(n.$t(`ctpl.k17jfge3019`)),1)]),_:1}),c(z,{value:`public`},{default:m(()=>[g(r(n.$t(`ctpl.k191u0u5020`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`open`,`title`,`ok-text`,`cancel-text`]),c($,{open:e(J),"onUpdate:open":a[11]||=e=>i(J)?J.value=e:null,title:e(x)(`ctpl.kbInstTitle`,{p0:e(Y)?.name??``}),"ok-text":n.$t(`ctpl.k3mr1fo017`),"cancel-text":n.$t(`common.cancel`),"confirm-loading":e(q)===e(Y)?.id,onOk:Z},{default:m(()=>[c(Q,{layout:`vertical`},{default:m(()=>[c(w,{label:n.$t(`ctpl.kbOption`)},{default:m(()=>[c(y,{checked:e(X),"onUpdate:checked":a[10]||=e=>i(X)?X.value=e:null,"checked-children":n.$t(`ctpl.kbOn`),"un-checked-children":n.$t(`ctpl.kbOff`)},null,8,[`checked`,`checked-children`,`un-checked-children`])]),_:1},8,[`label`]),u(`p`,ke,r(n.$t(`ctpl.kbHint`)),1)]),_:1})]),_:1},8,[`open`,`title`,`ok-text`,`cancel-text`,`confirm-loading`])])}}}),[[`__scopeId`,`data-v-bd11472d`]]);export{M as default};
@@ -1,3 +0,0 @@
1
- import{D as e,S as t,v as n}from"./CavpkQb0.js";import{D as r,F as i,H as a,P as o,R as s,S as c,b as l,d as u,et as d,tt as f}from"./ByMj6e7s.js";import{$ as p,Ct as m,Et as h,Mt as g,Tt as _,X as v,Z as y,_ as b,bt as x,d as S,et as C,h as w,jt as T,kt as E,lt as D,m as O,n as k,nt as A,t as j,tt as M,u as N}from"./C2YYOgMe.js";import{G as P,N as F,W as I,_t as ee,nt as L}from"./Bub2P5me.js";import{M as R,P as z,St as B,at as te,ht as ne,j as V,k as re,mt as H,ut as U}from"./wDPc4SSR.js";import{a as ie,c as ae,d as W,l as oe,m as G,u as K}from"./CAaSPBqk.js";import{c as se,l as ce,r as q,s as J,t as le}from"./bt__BP-I.js";function Y(e,t,n,r){if(!te(e))return e;t=W(t,e);for(var i=-1,a=t.length,o=a-1,s=e;s!=null&&++i<a;){var c=K(t[i]),l=n;if(c===`__proto__`||c===`constructor`||c===`prototype`)return e;if(i!=o){var u=s[c];l=r?r(u,c,s):void 0,l===void 0&&(l=te(u)?u:L(t[i+1])?[]:{})}G(s,c,l),s=s[c]}return e}function ue(e,t,n){for(var r=-1,i=t.length,a={};++r<i;){var o=t[r],s=oe(e,o);n(s,o)&&Y(a,W(o,e),s)}return a}function de(e,t){return ue(e,t,function(t,n){return ie(e,n)})}var fe=ae(function(e,t){return e==null?{}:de(e,t)});function pe(e){let n=t(),r=t(!1);function i(){var t=[...arguments];r.value||(B.cancel(n.value),n.value=B(()=>{e(...t)}))}return o(()=>{r.value=!0,B.cancel(n.value)}),i}function me(e){let n=t([]),r=t(typeof e==`function`?e():e),i=pe(()=>{let e=r.value;n.value.forEach(t=>{e=t(e)}),n.value=[],r.value=e});function a(e){n.value.push(e),i()}return[r,a]}var he=c({compatConfig:{MODE:3},name:`TabNode`,props:{id:{type:String},prefixCls:{type:String},tab:{type:Object},active:{type:Boolean},closable:{type:Boolean},editable:{type:Object},onClick:{type:Function},onResize:{type:Function},renderWrapper:{type:Function},removeAriaLabel:{type:String},onFocus:{type:Function}},emits:[`click`,`resize`,`remove`,`focus`],setup(e,t){let{expose:r,attrs:i}=t,a=n();function o(t){e.tab?.disabled||e.onClick(t)}r({domRef:a});function s(t){t.preventDefault(),t.stopPropagation(),e.editable.onEdit(`remove`,{key:e.tab?.key,event:t})}let c=u(()=>e.editable&&e.closable!==!1&&!e.tab?.disabled);return()=>{let{prefixCls:t,id:n,active:r,tab:{key:u,tab:d,disabled:f,closeIcon:p},renderWrapper:m,removeAriaLabel:h,editable:g,onFocus:v}=e,y=`${t}-tab`,b=l(`div`,{key:u,ref:a,class:_(y,{[`${y}-with-remove`]:c.value,[`${y}-active`]:r,[`${y}-disabled`]:f}),style:i.style,onClick:o},[l(`div`,{role:`tab`,"aria-selected":r,id:n&&`${n}-tab-${u}`,class:`${y}-btn`,"aria-controls":n&&`${n}-panel-${u}`,"aria-disabled":f,tabindex:f?null:0,onClick:e=>{e.stopPropagation(),o(e)},onKeydown:e=>{[z.SPACE,z.ENTER].includes(e.which)&&(e.preventDefault(),o(e))},onFocus:v},[typeof d==`function`?d():d]),c.value&&l(`button`,{type:`button`,"aria-label":h||`remove`,tabindex:0,class:`${y}-remove`,onClick:e=>{e.stopPropagation(),s(e)}},[p?.()||g.removeIcon?.call(g)||`×`])]);return m?m(b):b}}}),X={width:0,height:0,left:0,top:0};function ge(e,t){let r=n(new Map);return f(()=>{let n=new Map,i=e.value,a=t.value.get(i[0]?.key)||X,o=a.left+a.width;for(let e=0;e<i.length;e+=1){let{key:r}=i[e],a=t.value.get(r);a||=t.value.get(i[e-1]?.key)||X;let s=n.get(r)||T({},a);s.right=o-s.left-s.width,n.set(r,s)}r.value=new Map(n)}),r}var _e=c({compatConfig:{MODE:3},name:`AddButton`,inheritAttrs:!1,props:{prefixCls:String,editable:{type:Object},locale:{type:Object,default:void 0}},setup(e,t){let{expose:r,attrs:i}=t,a=n();return r({domRef:a}),()=>{let{prefixCls:t,editable:n,locale:r}=e;return!n||n.showAdd===!1?null:l(`button`,{ref:a,type:`button`,class:`${t}-nav-add`,style:i.style,"aria-label":r?.addAriaLabel||`Add tab`,onClick:e=>{n.onEdit(`add`,{event:e})}},[n.addIcon?n.addIcon():`+`])}}}),ve={prefixCls:{type:String},id:{type:String},tabs:{type:Object},rtl:{type:Boolean},tabBarGutter:{type:Number},activeKey:{type:[String,Number]},mobile:{type:Boolean},moreIcon:j.any,moreTransitionName:{type:String},editable:{type:Object},locale:{type:Object,default:void 0},removeAriaLabel:String,onTabClick:{type:Function},popupClassName:String,getPopupContainer:p()},ye=c({compatConfig:{MODE:3},name:`OperationNode`,inheritAttrs:!1,props:ve,emits:[`tabClick`],slots:Object,setup(e,t){let{attrs:n,slots:r}=t,[i,a]=R(!1),[o,c]=R(null),f=t=>{let n=e.tabs.filter(e=>!e.disabled),r=n.findIndex(e=>e.key===o.value)||0,i=n.length;for(let e=0;e<i;e+=1){r=(r+t+i)%i;let e=n[r];if(!e.disabled){c(e.key);return}}},p=t=>{let{which:n}=t;if(!i.value){[z.DOWN,z.SPACE,z.ENTER].includes(n)&&(a(!0),t.preventDefault());return}switch(n){case z.UP:f(-1),t.preventDefault();break;case z.DOWN:f(1),t.preventDefault();break;case z.ESC:a(!1);break;case z.SPACE:case z.ENTER:o.value!==null&&e.onTabClick(o.value,t)}},m=u(()=>`${e.id}-more-popup`),h=u(()=>o.value===null?null:`${m.value}-${o.value}`),g=(t,n)=>{t.preventDefault(),t.stopPropagation(),e.editable.onEdit(`remove`,{key:n,event:t})};return s(()=>{d(o,()=>{let e=document.getElementById(h.value);e&&e.scrollIntoView&&e.scrollIntoView(!1)},{flush:`post`,immediate:!0})}),d(i,()=>{i.value||c(null)}),J({}),()=>{let{prefixCls:t,id:s,tabs:c,locale:u,mobile:d,moreIcon:f=r.moreIcon?.call(r)||l(se,null,null),moreTransitionName:v,editable:y,tabBarGutter:b,rtl:x,onTabClick:S,popupClassName:C}=e;if(!c.length)return null;let w=`${t}-dropdown`,T=u?.dropdownAriaLabel,E={[x?`marginRight`:`marginLeft`]:b};c.length||(E.visibility=`hidden`,E.order=1);let D=_({[`${w}-rtl`]:x,[`${C}`]:!0}),O=d?null:l(ce,{prefixCls:w,trigger:[`hover`],visible:i.value,transitionName:v,onVisibleChange:a,overlayClassName:D,mouseEnterDelay:.1,mouseLeaveDelay:.1,getPopupContainer:e.getPopupContainer},{overlay:()=>l(le,{onClick:e=>{let{key:t,domEvent:n}=e;S(t,n),a(!1)},id:m.value,tabindex:-1,role:`listbox`,"aria-activedescendant":h.value,selectedKeys:[o.value],"aria-label":T===void 0?`expanded dropdown`:T},{default:()=>[c.map(t=>{let n=y&&t.closable!==!1&&!t.disabled;return l(q,{key:t.key,id:`${m.value}-${t.key}`,role:`option`,"aria-controls":s&&`${s}-panel-${t.key}`,disabled:t.disabled},{default:()=>[l(`span`,null,[typeof t.tab==`function`?t.tab():t.tab]),n&&l(`button`,{type:`button`,"aria-label":e.removeAriaLabel||`remove`,tabindex:0,class:`${w}-menu-item-remove`,onClick:e=>{e.stopPropagation(),g(e,t.key)}},[t.closeIcon?.call(t)||y.removeIcon?.call(y)||`×`])]})})]}),default:()=>l(`button`,{type:`button`,class:`${t}-nav-more`,style:E,tabindex:-1,"aria-hidden":`true`,"aria-haspopup":`listbox`,"aria-controls":m.value,id:`${s}-more`,"aria-expanded":i.value,onKeydown:p},[f])});return l(`div`,{class:_(`${t}-nav-operations`,n.class),style:n.style},[O,l(_e,{prefixCls:t,locale:u,editable:y},null)])}}}),be=Symbol(`tabsContextKey`),Z=e=>{a(be,e)},xe=()=>r(be,{tabs:n([]),prefixCls:n()});c({compatConfig:{MODE:3},name:`TabsContextProvider`,inheritAttrs:!1,props:{tabs:{type:Object,default:void 0},prefixCls:{type:String,default:void 0}},setup(t,n){let{slots:r}=n;return Z(e(t)),()=>r.default?.call(r)}});var Se=.1,Ce=.01,we=20,Te=.995**we;function Ee(e,t){let[r,i]=R(),[a,c]=R(0),[l,u]=R(0),[d,f]=R(),p=n();function m(e){let{screenX:t,screenY:n}=e.touches[0];i({x:t,y:n}),clearInterval(p.value)}function h(e){if(!r.value)return;e.preventDefault();let{screenX:n,screenY:o}=e.touches[0],s=n-r.value.x,l=o-r.value.y;t(s,l),i({x:n,y:o});let d=Date.now();u(d-a.value),c(d),f({x:s,y:l})}function g(){if(!r.value)return;let e=d.value;if(i(null),f(null),e){let n=e.x/l.value,r=e.y/l.value;if(Math.max(Math.abs(n),Math.abs(r))<Se)return;let i=n,a=r;p.value=setInterval(()=>{if(Math.abs(i)<Ce&&Math.abs(a)<Ce){clearInterval(p.value);return}i*=Te,a*=Te,t(i*we,a*we)},we)}}let _=n();function v(e){let{deltaX:n,deltaY:r}=e,i=0,a=Math.abs(n),o=Math.abs(r);a===o?i=_.value===`x`?n:r:a>o?(i=n,_.value=`x`):(i=r,_.value=`y`),t(-i,-i)&&e.preventDefault()}let y=n({onTouchStart:m,onTouchMove:h,onTouchEnd:g,onWheel:v});function b(e){y.value.onTouchStart(e)}function x(e){y.value.onTouchMove(e)}function S(e){y.value.onTouchEnd(e)}function C(e){y.value.onWheel(e)}s(()=>{var t,n;document.addEventListener(`touchmove`,x,{passive:!1}),document.addEventListener(`touchend`,S,{passive:!1}),(t=e.value)==null||t.addEventListener(`touchstart`,b,{passive:!1}),(n=e.value)==null||n.addEventListener(`wheel`,C,{passive:!1})}),o(()=>{document.removeEventListener(`touchmove`,x),document.removeEventListener(`touchend`,S)})}function De(e,t){let r=n(e);function i(e){let n=typeof e==`function`?e(r.value):e;n!==r.value&&t(n,r.value),r.value=n}return[r,i]}var Oe=()=>{let e=n(new Map);return i(()=>{e.value=new Map}),[t=>n=>{e.value.set(t,n)},e]},ke={width:0,height:0,left:0,top:0,right:0},Ae=()=>({id:{type:String},tabPosition:{type:String},activeKey:{type:[String,Number]},rtl:{type:Boolean},animated:C(),editable:C(),moreIcon:j.any,moreTransitionName:{type:String},mobile:{type:Boolean},tabBarGutter:{type:Number},renderTabBar:{type:Function},locale:C(),popupClassName:String,getPopupContainer:p(),onTabClick:{type:Function},onTabScroll:{type:Function}}),je=(e,t)=>{let{offsetWidth:n,offsetHeight:r,offsetTop:i,offsetLeft:a}=e,{width:o,height:s,x:c,y:l}=e.getBoundingClientRect();return Math.abs(o-n)<1?[o,s,c-t.x,l-t.y]:[n,r,a,i]},Me=c({compatConfig:{MODE:3},name:`TabNavList`,inheritAttrs:!1,props:Ae(),slots:Object,emits:[`tabClick`,`tabScroll`],setup(e,n){let{attrs:r,slots:i}=n,{tabs:a,prefixCls:s}=xe(),c=t(),p=t(),m=t(),h=t(),[v,y]=Oe(),b=u(()=>e.tabPosition===`top`||e.tabPosition===`bottom`),[x,S]=De(0,(t,n)=>{b.value&&e.onTabScroll&&e.onTabScroll({direction:t>n?`left`:`right`})}),[C,w]=De(0,(t,n)=>{!b.value&&e.onTabScroll&&e.onTabScroll({direction:t>n?`top`:`bottom`})}),[D,O]=R(0),[k,A]=R(0),[j,M]=R(null),[N,P]=R(null),[F,I]=R(0),[L,z]=R(0),[te,ne]=me(new Map),V=ge(a,te),re=u(()=>`${s.value}-nav-operations-hidden`),H=t(0),U=t(0);f(()=>{b.value?e.rtl?(H.value=0,U.value=Math.max(0,D.value-j.value)):(H.value=Math.min(0,j.value-D.value),U.value=0):(H.value=Math.min(0,N.value-k.value),U.value=0)});let ie=e=>e<H.value?H.value:e>U.value?U.value:e,ae=t(),[W,oe]=R(),G=()=>{oe(Date.now())},K=()=>{clearTimeout(ae.value)},se=(e,t)=>{e(e=>ie(e+t))};Ee(c,(e,t)=>{if(b.value){if(j.value>=D.value)return!1;se(S,e)}else{if(N.value>=k.value)return!1;se(w,t)}return K(),G(),!0}),d(W,()=>{K(),W.value&&(ae.value=setTimeout(()=>{oe(0)},100))});let ce=function(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e.activeKey,n=V.value.get(t)||{width:0,height:0,left:0,right:0,top:0};if(b.value){let t=x.value;e.rtl?n.right<x.value?t=n.right:n.right+n.width>x.value+j.value&&(t=n.right+n.width-j.value):n.left<-x.value?t=-n.left:n.left+n.width>-x.value+j.value&&(t=-(n.left+n.width-j.value)),w(0),S(ie(t))}else{let e=C.value;n.top<-C.value?e=-n.top:n.top+n.height>-C.value+N.value&&(e=-(n.top+n.height-N.value)),S(0),w(ie(e))}},q=t(0),J=t(0);f(()=>{let t,n,r,i,o,s,c=V.value;[`top`,`bottom`].includes(e.tabPosition)?(t=`width`,i=j.value,o=D.value,s=F.value,n=e.rtl?`right`:`left`,r=Math.abs(x.value)):(t=`height`,i=N.value,o=D.value,s=L.value,n=`top`,r=-C.value);let l=i;o+s>i&&o<i&&(l=i-s);let u=a.value;if(!u.length)return[q.value,J.value]=[0,0];let d=u.length,f=d;for(let e=0;e<d;e+=1){let i=c.get(u[e].key)||ke;if(i[n]+i[t]>r+l){f=e-1;break}}let p=0;for(let e=d-1;e>=0;--e)if((c.get(u[e].key)||ke)[n]<r){p=e+1;break}return[q.value,J.value]=[p,f]});let le=()=>{ne(()=>{let e=new Map,t=p.value?.getBoundingClientRect();return a.value.forEach(n=>{let{key:r}=n,i=y.value.get(r),a=i?.$el||i;if(a){let[n,i,o,s]=je(a,t);e.set(r,{width:n,height:i,left:o,top:s})}}),e})};d(()=>a.value.map(e=>e.key).join(`%%`),()=>{le()},{flush:`post`});let Y=()=>{let e=c.value?.offsetWidth||0,t=c.value?.offsetHeight||0,n=h.value?.$el||{},r=n.offsetWidth||0,i=n.offsetHeight||0;M(e),P(t),I(r),z(i);let a=(p.value?.offsetWidth||0)-r,o=(p.value?.offsetHeight||0)-i;O(a),A(o),le()},ue=u(()=>[...a.value.slice(0,q.value),...a.value.slice(J.value+1)]),[de,pe]=R(),X=u(()=>V.value.get(e.activeKey)),ve=t(),be=()=>{B.cancel(ve.value)};d([X,b,()=>e.rtl],()=>{let t={};X.value&&(b.value?(e.rtl?t.right=E(X.value.right):t.left=E(X.value.left),t.width=E(X.value.width)):(t.top=E(X.value.top),t.height=E(X.value.height))),be(),ve.value=B(()=>{pe(t)})}),d([()=>e.activeKey,X,V,b],()=>{ce()},{flush:`post`}),d([()=>e.rtl,()=>e.tabBarGutter,()=>e.activeKey,()=>a.value],()=>{Y()},{flush:`post`});let Z=e=>{let{position:t,prefixCls:n,extra:r}=e;if(!r)return null;let i=r?.({position:t});return i?l(`div`,{class:`${n}-extra-content`},[i]):null};return o(()=>{K(),be()}),()=>{let{id:t,animated:n,activeKey:o,rtl:u,editable:d,locale:f,tabPosition:y,tabBarGutter:S,onTabClick:w}=e,{class:E,style:O}=r,A=s.value,M=!!ue.value.length,P=`${A}-nav-wrap`,F,I,L,R;b.value?u?(I=x.value>0,F=x.value+j.value<D.value):(F=x.value<0,I=-x.value+j.value<D.value):(L=C.value<0,R=-C.value+N.value<k.value);let z={};y===`top`||y===`bottom`?z[u?`marginRight`:`marginLeft`]=typeof S==`number`?`${S}px`:S:z.marginTop=typeof S==`number`?`${S}px`:S;let B=a.value.map((e,n)=>{let{key:r}=e;return l(he,{id:t,prefixCls:A,key:r,tab:e,style:n===0?void 0:z,closable:e.closable,editable:d,active:r===o,removeAriaLabel:f?.removeAriaLabel,ref:v(r),onClick:e=>{w(r,e)},onFocus:()=>{ce(r),G(),c.value&&(u||(c.value.scrollLeft=0),c.value.scrollTop=0)}},i)});return l(`div`,{role:`tablist`,class:_(`${A}-nav`,E),style:O,onKeydown:()=>{G()}},[l(Z,{position:`left`,prefixCls:A,extra:i.leftExtra},null),l(ee,{onResize:Y},{default:()=>[l(`div`,{class:_(P,{[`${P}-ping-left`]:F,[`${P}-ping-right`]:I,[`${P}-ping-top`]:L,[`${P}-ping-bottom`]:R}),ref:c},[l(ee,{onResize:Y},{default:()=>[l(`div`,{ref:p,class:`${A}-nav-list`,style:{transform:`translate(${x.value}px, ${C.value}px)`,transition:W.value?`none`:void 0}},[B,l(_e,{ref:h,prefixCls:A,locale:f,editable:d,style:T(T({},B.length===0?void 0:z),{visibility:M?`hidden`:null})},null),l(`div`,{class:_(`${A}-ink-bar`,{[`${A}-ink-bar-animated`]:n.inkBar}),style:de.value},null)])]})])]}),l(ye,g(g({},e),{},{removeAriaLabel:f?.removeAriaLabel,ref:m,prefixCls:A,tabs:ue.value,class:!M&&re.value}),fe(i,[`moreIcon`])),l(Z,{position:`right`,prefixCls:A,extra:i.rightExtra},null),l(Z,{position:`right`,prefixCls:A,extra:i.tabBarExtraContent},null)])}}}),Ne=c({compatConfig:{MODE:3},name:`TabPanelList`,inheritAttrs:!1,props:{activeKey:{type:[String,Number]},id:{type:String},rtl:{type:Boolean},animated:{type:Object,default:void 0},tabPosition:{type:String},destroyInactiveTabPane:{type:Boolean}},setup(e){let{tabs:t,prefixCls:n}=xe();return()=>{let{id:r,activeKey:i,animated:a,tabPosition:o,rtl:s,destroyInactiveTabPane:c}=e,u=a.tabPane,d=n.value,f=t.value.findIndex(e=>e.key===i);return l(`div`,{class:`${d}-content-holder`},[l(`div`,{class:[`${d}-content`,`${d}-content-${o}`,{[`${d}-content-animated`]:u}],style:f&&u?{[s?`marginRight`:`marginLeft`]:`-${f}00%`}:null},[t.value.map(e=>U(e.node,{key:e.key,prefixCls:d,tabKey:e.key,id:r,animated:u,active:e.key===i,destroyInactiveTabPane:c}))])])}}}),Pe={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M482 152h60q8 0 8 8v704q0 8-8 8h-60q-8 0-8-8V160q0-8 8-8z`}},{tag:`path`,attrs:{d:`M192 474h672q8 0 8 8v60q0 8-8 8H160q-8 0-8-8v-60q0-8 8-8z`}}]},name:`plus`,theme:`outlined`};function Fe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Ie(e,t,n[t])})}return e}function Ie(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Le=function(e,t){var n=Fe({},e,t.attrs);return l(V,Fe({},n,{icon:Pe}),null)};Le.displayName=`PlusOutlined`,Le.inheritAttrs=!1;var Re=e=>{let{componentCls:t,motionDurationSlow:n}=e;return[{[t]:{[`${t}-switch`]:{"&-appear, &-enter":{transition:`none`,"&-start":{opacity:0},"&-active":{opacity:1,transition:`opacity ${n}`}},"&-leave":{position:`absolute`,transition:`none`,inset:0,"&-start":{opacity:1},"&-active":{opacity:0,transition:`opacity ${n}`}}}}},[F(e,`slide-up`),F(e,`slide-down`)]]},ze=e=>{let{componentCls:t,tabsCardHorizontalPadding:n,tabsCardHeadBackground:r,tabsCardGutter:i,colorSplit:a}=e;return{[`${t}-card`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab`]:{margin:0,padding:n,background:r,border:`${e.lineWidth}px ${e.lineType} ${a}`,transition:`all ${e.motionDurationSlow} ${e.motionEaseInOut}`},[`${t}-tab-active`]:{color:e.colorPrimary,background:e.colorBgContainer},[`${t}-ink-bar`]:{visibility:`hidden`}},[`&${t}-top, &${t}-bottom`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab + ${t}-tab`]:{marginLeft:{_skip_check_:!0,value:`${i}px`}}}},[`&${t}-top`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab`]:{borderRadius:`${e.borderRadiusLG}px ${e.borderRadiusLG}px 0 0`},[`${t}-tab-active`]:{borderBottomColor:e.colorBgContainer}}},[`&${t}-bottom`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab`]:{borderRadius:`0 0 ${e.borderRadiusLG}px ${e.borderRadiusLG}px`},[`${t}-tab-active`]:{borderTopColor:e.colorBgContainer}}},[`&${t}-left, &${t}-right`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab + ${t}-tab`]:{marginTop:`${i}px`}}},[`&${t}-left`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab`]:{borderRadius:{_skip_check_:!0,value:`${e.borderRadiusLG}px 0 0 ${e.borderRadiusLG}px`}},[`${t}-tab-active`]:{borderRightColor:{_skip_check_:!0,value:e.colorBgContainer}}}},[`&${t}-right`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${e.borderRadiusLG}px ${e.borderRadiusLG}px 0`}},[`${t}-tab-active`]:{borderLeftColor:{_skip_check_:!0,value:e.colorBgContainer}}}}}}},Be=e=>{let{componentCls:t,tabsHoverColor:n,dropdownEdgeChildVerticalPadding:r}=e;return{[`${t}-dropdown`]:T(T({},w(e)),{position:`absolute`,top:-9999,left:{_skip_check_:!0,value:-9999},zIndex:e.zIndexPopup,display:`block`,"&-hidden":{display:`none`},[`${t}-dropdown-menu`]:{maxHeight:e.tabsDropdownHeight,margin:0,padding:`${r}px 0`,overflowX:`hidden`,overflowY:`auto`,textAlign:{_skip_check_:!0,value:`left`},listStyleType:`none`,backgroundColor:e.colorBgContainer,backgroundClip:`padding-box`,borderRadius:e.borderRadiusLG,outline:`none`,boxShadow:e.boxShadowSecondary,"&-item":T(T({},b),{display:`flex`,alignItems:`center`,minWidth:e.tabsDropdownWidth,margin:0,padding:`${e.paddingXXS}px ${e.paddingSM}px`,color:e.colorText,fontWeight:`normal`,fontSize:e.fontSize,lineHeight:e.lineHeight,cursor:`pointer`,transition:`all ${e.motionDurationSlow}`,"> span":{flex:1,whiteSpace:`nowrap`},"&-remove":{flex:`none`,marginLeft:{_skip_check_:!0,value:e.marginSM},color:e.colorTextDescription,fontSize:e.fontSizeSM,background:`transparent`,border:0,cursor:`pointer`,"&:hover":{color:n}},"&:hover":{background:e.controlItemBgHover},"&-disabled":{"&, &:hover":{color:e.colorTextDisabled,background:`transparent`,cursor:`not-allowed`}}})}})}},Ve=e=>{let{componentCls:t,margin:n,colorSplit:r}=e;return{[`${t}-top, ${t}-bottom`]:{flexDirection:`column`,[`> ${t}-nav, > div > ${t}-nav`]:{margin:`0 0 ${n}px 0`,"&::before":{position:`absolute`,right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},borderBottom:`${e.lineWidth}px ${e.lineType} ${r}`,content:`''`},[`${t}-ink-bar`]:{height:e.lineWidthBold,"&-animated":{transition:`width ${e.motionDurationSlow}, left ${e.motionDurationSlow},
2
- right ${e.motionDurationSlow}`}},[`${t}-nav-wrap`]:{"&::before, &::after":{top:0,bottom:0,width:e.controlHeight},"&::before":{left:{_skip_check_:!0,value:0},boxShadow:e.boxShadowTabsOverflowLeft},"&::after":{right:{_skip_check_:!0,value:0},boxShadow:e.boxShadowTabsOverflowRight},[`&${t}-nav-wrap-ping-left::before`]:{opacity:1},[`&${t}-nav-wrap-ping-right::after`]:{opacity:1}}}},[`${t}-top`]:{[`> ${t}-nav,
3
- > div > ${t}-nav`]:{"&::before":{bottom:0},[`${t}-ink-bar`]:{bottom:0}}},[`${t}-bottom`]:{[`> ${t}-nav, > div > ${t}-nav`]:{order:1,marginTop:`${n}px`,marginBottom:0,"&::before":{top:0},[`${t}-ink-bar`]:{top:0}},[`> ${t}-content-holder, > div > ${t}-content-holder`]:{order:0}},[`${t}-left, ${t}-right`]:{[`> ${t}-nav, > div > ${t}-nav`]:{flexDirection:`column`,minWidth:e.controlHeight*1.25,[`${t}-tab`]:{padding:`${e.paddingXS}px ${e.paddingLG}px`,textAlign:`center`},[`${t}-tab + ${t}-tab`]:{margin:`${e.margin}px 0 0 0`},[`${t}-nav-wrap`]:{flexDirection:`column`,"&::before, &::after":{right:{_skip_check_:!0,value:0},left:{_skip_check_:!0,value:0},height:e.controlHeight},"&::before":{top:0,boxShadow:e.boxShadowTabsOverflowTop},"&::after":{bottom:0,boxShadow:e.boxShadowTabsOverflowBottom},[`&${t}-nav-wrap-ping-top::before`]:{opacity:1},[`&${t}-nav-wrap-ping-bottom::after`]:{opacity:1}},[`${t}-ink-bar`]:{width:e.lineWidthBold,"&-animated":{transition:`height ${e.motionDurationSlow}, top ${e.motionDurationSlow}`}},[`${t}-nav-list, ${t}-nav-operations`]:{flex:`1 0 auto`,flexDirection:`column`}}},[`${t}-left`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-ink-bar`]:{right:{_skip_check_:!0,value:0}}},[`> ${t}-content-holder, > div > ${t}-content-holder`]:{marginLeft:{_skip_check_:!0,value:`-${e.lineWidth}px`},borderLeft:{_skip_check_:!0,value:`${e.lineWidth}px ${e.lineType} ${e.colorBorder}`},[`> ${t}-content > ${t}-tabpane`]:{paddingLeft:{_skip_check_:!0,value:e.paddingLG}}}},[`${t}-right`]:{[`> ${t}-nav, > div > ${t}-nav`]:{order:1,[`${t}-ink-bar`]:{left:{_skip_check_:!0,value:0}}},[`> ${t}-content-holder, > div > ${t}-content-holder`]:{order:0,marginRight:{_skip_check_:!0,value:-e.lineWidth},borderRight:{_skip_check_:!0,value:`${e.lineWidth}px ${e.lineType} ${e.colorBorder}`},[`> ${t}-content > ${t}-tabpane`]:{paddingRight:{_skip_check_:!0,value:e.paddingLG}}}}}},He=e=>{let{componentCls:t,padding:n}=e;return{[t]:{"&-small":{[`> ${t}-nav`]:{[`${t}-tab`]:{padding:`${e.paddingXS}px 0`,fontSize:e.fontSize}}},"&-large":{[`> ${t}-nav`]:{[`${t}-tab`]:{padding:`${n}px 0`,fontSize:e.fontSizeLG}}}},[`${t}-card`]:{[`&${t}-small`]:{[`> ${t}-nav`]:{[`${t}-tab`]:{padding:`${e.paddingXXS*1.5}px ${n}px`}},[`&${t}-bottom`]:{[`> ${t}-nav ${t}-tab`]:{borderRadius:`0 0 ${e.borderRadius}px ${e.borderRadius}px`}},[`&${t}-top`]:{[`> ${t}-nav ${t}-tab`]:{borderRadius:`${e.borderRadius}px ${e.borderRadius}px 0 0`}},[`&${t}-right`]:{[`> ${t}-nav ${t}-tab`]:{borderRadius:{_skip_check_:!0,value:`0 ${e.borderRadius}px ${e.borderRadius}px 0`}}},[`&${t}-left`]:{[`> ${t}-nav ${t}-tab`]:{borderRadius:{_skip_check_:!0,value:`${e.borderRadius}px 0 0 ${e.borderRadius}px`}}}},[`&${t}-large`]:{[`> ${t}-nav`]:{[`${t}-tab`]:{padding:`${e.paddingXS}px ${n}px ${e.paddingXXS*1.5}px`}}}}}},Ue=e=>{let{componentCls:t,tabsActiveColor:n,tabsHoverColor:r,iconCls:i,tabsHorizontalGutter:a}=e,o=`${t}-tab`;return{[o]:{position:`relative`,display:`inline-flex`,alignItems:`center`,padding:`${e.paddingSM}px 0`,fontSize:`${e.fontSize}px`,background:`transparent`,border:0,outline:`none`,cursor:`pointer`,"&-btn, &-remove":T({"&:focus:not(:focus-visible), &:active":{color:n}},O(e)),"&-btn":{outline:`none`,transition:`all 0.3s`},"&-remove":{flex:`none`,marginRight:{_skip_check_:!0,value:-e.marginXXS},marginLeft:{_skip_check_:!0,value:e.marginXS},color:e.colorTextDescription,fontSize:e.fontSizeSM,background:`transparent`,border:`none`,outline:`none`,cursor:`pointer`,transition:`all ${e.motionDurationSlow}`,"&:hover":{color:e.colorTextHeading}},"&:hover":{color:r},[`&${o}-active ${o}-btn`]:{color:e.colorPrimary,textShadow:e.tabsActiveTextShadow},[`&${o}-disabled`]:{color:e.colorTextDisabled,cursor:`not-allowed`},[`&${o}-disabled ${o}-btn, &${o}-disabled ${t}-remove`]:{"&:focus, &:active":{color:e.colorTextDisabled}},[`& ${o}-remove ${i}`]:{margin:0},[i]:{marginRight:{_skip_check_:!0,value:e.marginSM}}},[`${o} + ${o}`]:{margin:{_skip_check_:!0,value:`0 0 0 ${a}px`}}}},We=e=>{let{componentCls:t,tabsHorizontalGutter:n,iconCls:r,tabsCardGutter:i}=e;return{[`${t}-rtl`]:{direction:`rtl`,[`${t}-nav`]:{[`${t}-tab`]:{margin:{_skip_check_:!0,value:`0 0 0 ${n}px`},[`${t}-tab:last-of-type`]:{marginLeft:{_skip_check_:!0,value:0}},[r]:{marginRight:{_skip_check_:!0,value:0},marginLeft:{_skip_check_:!0,value:`${e.marginSM}px`}},[`${t}-tab-remove`]:{marginRight:{_skip_check_:!0,value:`${e.marginXS}px`},marginLeft:{_skip_check_:!0,value:`-${e.marginXXS}px`},[r]:{margin:0}}}},[`&${t}-left`]:{[`> ${t}-nav`]:{order:1},[`> ${t}-content-holder`]:{order:0}},[`&${t}-right`]:{[`> ${t}-nav`]:{order:0},[`> ${t}-content-holder`]:{order:1}},[`&${t}-card${t}-top, &${t}-card${t}-bottom`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-tab + ${t}-tab`]:{marginRight:{_skip_check_:!0,value:`${i}px`},marginLeft:{_skip_check_:!0,value:0}}}}},[`${t}-dropdown-rtl`]:{direction:`rtl`},[`${t}-menu-item`]:{[`${t}-dropdown-rtl`]:{textAlign:{_skip_check_:!0,value:`right`}}}}},Ge=e=>{let{componentCls:t,tabsCardHorizontalPadding:n,tabsCardHeight:r,tabsCardGutter:i,tabsHoverColor:a,tabsActiveColor:o,colorSplit:s}=e;return{[t]:T(T(T(T({},w(e)),{display:`flex`,[`> ${t}-nav, > div > ${t}-nav`]:{position:`relative`,display:`flex`,flex:`none`,alignItems:`center`,[`${t}-nav-wrap`]:{position:`relative`,display:`flex`,flex:`auto`,alignSelf:`stretch`,overflow:`hidden`,whiteSpace:`nowrap`,transform:`translate(0)`,"&::before, &::after":{position:`absolute`,zIndex:1,opacity:0,transition:`opacity ${e.motionDurationSlow}`,content:`''`,pointerEvents:`none`}},[`${t}-nav-list`]:{position:`relative`,display:`flex`,transition:`opacity ${e.motionDurationSlow}`},[`${t}-nav-operations`]:{display:`flex`,alignSelf:`stretch`},[`${t}-nav-operations-hidden`]:{position:`absolute`,visibility:`hidden`,pointerEvents:`none`},[`${t}-nav-more`]:{position:`relative`,padding:n,background:`transparent`,border:0,"&::after":{position:`absolute`,right:{_skip_check_:!0,value:0},bottom:0,left:{_skip_check_:!0,value:0},height:e.controlHeightLG/8,transform:`translateY(100%)`,content:`''`}},[`${t}-nav-add`]:T({minWidth:`${r}px`,marginLeft:{_skip_check_:!0,value:`${i}px`},padding:`0 ${e.paddingXS}px`,background:`transparent`,border:`${e.lineWidth}px ${e.lineType} ${s}`,borderRadius:`${e.borderRadiusLG}px ${e.borderRadiusLG}px 0 0`,outline:`none`,cursor:`pointer`,color:e.colorText,transition:`all ${e.motionDurationSlow} ${e.motionEaseInOut}`,"&:hover":{color:a},"&:active, &:focus:not(:focus-visible)":{color:o}},O(e))},[`${t}-extra-content`]:{flex:`none`},[`${t}-ink-bar`]:{position:`absolute`,background:e.colorPrimary,pointerEvents:`none`}}),Ue(e)),{[`${t}-content`]:{position:`relative`,display:`flex`,width:`100%`,"&-animated":{transition:`margin 0.3s`}},[`${t}-content-holder`]:{flex:`auto`,minWidth:0,minHeight:0},[`${t}-tabpane`]:{outline:`none`,flex:`none`,width:`100%`}}),[`${t}-centered`]:{[`> ${t}-nav, > div > ${t}-nav`]:{[`${t}-nav-wrap`]:{[`&:not([class*='${t}-nav-wrap-ping'])`]:{justifyContent:`center`}}}}}},Ke=S(`Tabs`,e=>{let t=e.controlHeightLG,n=N(e,{tabsHoverColor:e.colorPrimaryHover,tabsActiveColor:e.colorPrimaryActive,tabsCardHorizontalPadding:`${(t-Math.round(e.fontSize*e.lineHeight))/2-e.lineWidth}px ${e.padding}px`,tabsCardHeight:t,tabsCardGutter:e.marginXXS/2,tabsHorizontalGutter:32,tabsCardHeadBackground:e.colorFillAlter,dropdownEdgeChildVerticalPadding:e.paddingXXS,tabsActiveTextShadow:`0 0 0.25px currentcolor`,tabsDropdownHeight:200,tabsDropdownWidth:120});return[He(n),We(n),Ve(n),Be(n),ze(n),Ge(n),Re(n)]},e=>({zIndexPopup:e.zIndexPopupBase+50})),qe=0,Je=()=>({prefixCls:{type:String},id:{type:String},popupClassName:String,getPopupContainer:p(),activeKey:{type:[String,Number]},defaultActiveKey:{type:[String,Number]},direction:A(),animated:M([Boolean,Object]),renderTabBar:p(),tabBarGutter:{type:Number},tabBarStyle:C(),tabPosition:A(),destroyInactiveTabPane:y(),hideAdd:Boolean,type:A(),size:A(),centered:Boolean,onEdit:p(),onChange:p(),onTabClick:p(),onTabScroll:p(),"onUpdate:activeKey":p(),locale:C(),onPrevClick:p(),onNextClick:p(),tabBarExtraContent:j.any});function Ye(e){return e.map(e=>{if(x(e)){let t=T({},e.props||{});for(let[e,n]of Object.entries(t))delete t[e],t[h(e)]=n;let n=e.children||{},r=e.key===void 0?void 0:e.key,{tab:i=n.tab,disabled:a,forceRender:o,closable:s,animated:c,active:l,destroyInactiveTabPane:u}=t;return T(T({key:r},t),{node:e,closeIcon:n.closeIcon,tab:i,disabled:a===``||a,forceRender:o===``||o,closable:s===``||s,animated:c===``||c,active:l===``||l,destroyInactiveTabPane:u===``||u})}return null}).filter(e=>e)}var Xe=c({compatConfig:{MODE:3},name:`InternalTabs`,inheritAttrs:!1,props:T(T({},m(Je(),{tabPosition:`top`,animated:{inkBar:!0,tabPane:!1}})),{tabs:v()}),slots:Object,setup(e,t){let{attrs:n,slots:r}=t;H(e.onPrevClick===void 0&&e.onNextClick===void 0,`Tabs`,"`onPrevClick / @prevClick` and `onNextClick / @nextClick` has been removed. Please use `onTabScroll / @tabScroll` instead."),H(e.tabBarExtraContent===void 0,`Tabs`,"`tabBarExtraContent` prop has been removed. Please use `rightExtra` slot instead."),H(r.tabBarExtraContent===void 0,`Tabs`,"`tabBarExtraContent` slot is deprecated. Please use `rightExtra` slot instead.");let{prefixCls:i,direction:a,size:o,rootPrefixCls:c,getPopupContainer:d}=k(`tabs`,e),[p,m]=Ke(i),h=u(()=>a.value===`rtl`),v=u(()=>{let{animated:t,tabPosition:n}=e;return t===!1||[`left`,`right`].includes(n)?{inkBar:!1,tabPane:!1}:t===!0?{inkBar:!0,tabPane:!0}:T({inkBar:!0,tabPane:!1},typeof t==`object`?t:{})}),[y,b]=R(!1);s(()=>{b(P())});let[x,S]=I(()=>e.tabs[0]?.key,{value:u(()=>e.activeKey),defaultValue:e.defaultActiveKey}),[C,w]=R(()=>e.tabs.findIndex(e=>e.key===x.value));f(()=>{let t=e.tabs.findIndex(e=>e.key===x.value);t===-1&&(t=Math.max(0,Math.min(C.value,e.tabs.length-1)),S(e.tabs[t]?.key)),w(t)});let[E,D]=I(null,{value:u(()=>e.id)}),O=u(()=>y.value&&![`left`,`right`].includes(e.tabPosition)?`top`:e.tabPosition);s(()=>{e.id||(D(`rc-tabs-${qe}`),qe+=1)});let A=(t,n)=>{var r,i;(r=e.onTabClick)==null||r.call(e,t,n);let a=t!==x.value;S(t),a&&((i=e.onChange)==null||i.call(e,t))};return Z({tabs:u(()=>e.tabs),prefixCls:i}),()=>{let{id:t,type:a,tabBarGutter:s,tabBarStyle:u,locale:f,destroyInactiveTabPane:b,renderTabBar:S=r.renderTabBar,onTabScroll:C,hideAdd:w,centered:D}=e,k={id:E.value,activeKey:x.value,animated:v.value,tabPosition:O.value,rtl:h.value,mobile:y.value},j;a===`editable-card`&&(j={onEdit:(t,n)=>{let{key:r,event:i}=n;var a;(a=e.onEdit)==null||a.call(e,t===`add`?i:r,t)},removeIcon:()=>l(re,null,null),addIcon:r.addIcon?r.addIcon:()=>l(Le,null,null),showAdd:w!==!0});let M,N=T(T({},k),{moreTransitionName:`${c.value}-slide-up`,editable:j,locale:f,tabBarGutter:s,onTabClick:A,onTabScroll:C,style:u,getPopupContainer:d.value,popupClassName:_(e.popupClassName,m.value)});M=S?S(T(T({},N),{DefaultTabBar:Me})):l(Me,N,fe(r,[`moreIcon`,`leftExtra`,`rightExtra`,`tabBarExtraContent`]));let P=i.value;return p(l(`div`,g(g({},n),{},{id:t,class:_(P,`${P}-${O.value}`,{[m.value]:!0,[`${P}-${o.value}`]:o.value,[`${P}-card`]:[`card`,`editable-card`].includes(a),[`${P}-editable-card`]:a===`editable-card`,[`${P}-centered`]:D,[`${P}-mobile`]:y.value,[`${P}-editable`]:a===`editable-card`,[`${P}-rtl`]:h.value},n.class)}),[M,l(Ne,g(g({destroyInactiveTabPane:b},k),{},{animated:v.value}),null)]))}}}),Ze=c({compatConfig:{MODE:3},name:`ATabs`,inheritAttrs:!1,props:m(Je(),{tabPosition:`top`,animated:{inkBar:!0,tabPane:!1}}),slots:Object,setup(e,t){let{attrs:n,slots:r,emit:i}=t,a=e=>{i(`update:activeKey`,e),i(`change`,e)};return()=>{let t=Ye(D(r.default?.call(r)));return l(Xe,g(g(g({},ne(e,[`onUpdate:activeKey`])),n),{},{onChange:a,tabs:t}),r)}}}),Q=c({compatConfig:{MODE:3},name:`ATabPane`,inheritAttrs:!1,__ANT_TAB_PANE:!0,props:{tab:j.any,disabled:{type:Boolean},forceRender:{type:Boolean},closable:{type:Boolean},animated:{type:Boolean},active:{type:Boolean},destroyInactiveTabPane:{type:Boolean},prefixCls:{type:String},tabKey:{type:[String,Number]},id:{type:String}},slots:Object,setup(e,t){let{attrs:r,slots:i}=t,a=n(e.forceRender);d([()=>e.active,()=>e.destroyInactiveTabPane],()=>{e.active?a.value=!0:e.destroyInactiveTabPane&&(a.value=!1)},{immediate:!0});let o=u(()=>e.active?{}:e.animated?{visibility:`hidden`,height:0,overflowY:`hidden`}:{display:`none`});return()=>{let{prefixCls:t,forceRender:n,id:s,active:c,tabKey:u}=e;return l(`div`,{id:s&&`${s}-panel-${u}`,role:`tabpanel`,tabindex:c?0:-1,"aria-labelledby":s&&`${s}-tab-${u}`,"aria-hidden":!c,style:[o.value,r.style],class:[`${t}-tabpane`,c&&`${t}-tabpane-active`,r.class]},[(c||a.value||n)&&i.default?.call(i)])}}}),$=Ze;$.TabPane=Q,$.install=function(e){return e.component($.name,$),e.component(Q.name,Q),e};var Qe=$;export{Q as n,Oe as r,Qe as t};
@@ -1 +0,0 @@
1
- import{N as e,S as t,dt as n,ft as r,mt as i,v as a}from"./CavpkQb0.js";import{D as o,G as s,H as c,P as l,R as u,S as d,V as f,W as p,b as m,d as h,et as g,f as _,h as v,i as y,m as b,nt as x,p as S,rt as C,tt as w,v as T,y as E}from"./ByMj6e7s.js";import{d as D,l as O,n as k,t as A,u as j}from"./Dqz5HiXa.js";import{d as M,p as N}from"./Br3AySNQ.js";import{n as P,r as ee,t as F}from"./BgnhB8r5.js";import{i as I,t as L}from"./S799kNo8.js";import{n as R}from"./Cnrmlixo.js";import{t as z}from"./DJyNDnag.js";import{Ct as B,Mt as te,Tt as ne,d as re,jt as V,n as H,rt as ie,t as U,u as ae}from"./C2YYOgMe.js";import{C as oe,t as se}from"./Bub2P5me.js";import{a as W,c as ce,j as le}from"./wDPc4SSR.js";import{t as ue}from"./eutnXI4F.js";import{a as de,i as fe,n as pe,r as me,t as he}from"./bt__BP-I.js";import{t as ge}from"./lO5tpDZ52.js";import{n as _e}from"./CtPNnATm2.js";import{t as ve}from"./B9rIcCX12.js";import{t as G}from"./CwLQAKay2.js";import{t as ye}from"./Sjjmp5OD2.js";import{t as K}from"./CI2yXRr42.js";import{t as q}from"./BDNMzG2s2.js";import{t as J}from"./DlUQa0wn.js";import{t as be}from"./Bfe2qOYs.js";import{c as xe,i as Se,l as Ce,t as we}from"./DuPM4HXw.js";import{t as Te}from"./C_sjV3Ee.js";import{t as Ee}from"./tq3HbWr9.js";var De=e=>{let{componentCls:t,colorBgContainer:n,colorBgBody:r,colorText:i}=e;return{[`${t}-sider-light`]:{background:n,[`${t}-sider-trigger`]:{color:i,background:n},[`${t}-sider-zero-width-trigger`]:{color:i,background:n,border:`1px solid ${r}`,borderInlineStart:0}}}},Oe=e=>{let{antCls:t,componentCls:n,colorText:r,colorTextLightSolid:i,colorBgHeader:a,colorBgBody:o,colorBgTrigger:s,layoutHeaderHeight:c,layoutHeaderPaddingInline:l,layoutHeaderColor:u,layoutFooterPadding:d,layoutTriggerHeight:f,layoutZeroTriggerSize:p,motionDurationMid:m,motionDurationSlow:h,fontSize:g,borderRadius:_}=e;return{[n]:V(V({display:`flex`,flex:`auto`,flexDirection:`column`,color:r,minHeight:0,background:o,"&, *":{boxSizing:`border-box`},[`&${n}-has-sider`]:{flexDirection:`row`,[`> ${n}, > ${n}-content`]:{width:0}},[`${n}-header, &${n}-footer`]:{flex:`0 0 auto`},[`${n}-header`]:{height:c,paddingInline:l,color:u,lineHeight:`${c}px`,background:a,[`${t}-menu`]:{lineHeight:`inherit`}},[`${n}-footer`]:{padding:d,color:r,fontSize:g,background:o},[`${n}-content`]:{flex:`auto`,minHeight:0},[`${n}-sider`]:{position:`relative`,minWidth:0,background:a,transition:`all ${m}, background 0s`,"&-children":{height:`100%`,marginTop:-.1,paddingTop:.1,[`${t}-menu${t}-menu-inline-collapsed`]:{width:`auto`}},"&-has-trigger":{paddingBottom:f},"&-right":{order:1},"&-trigger":{position:`fixed`,bottom:0,zIndex:1,height:f,color:i,lineHeight:`${f}px`,textAlign:`center`,background:s,cursor:`pointer`,transition:`all ${m}`},"&-zero-width":{"> *":{overflow:`hidden`},"&-trigger":{position:`absolute`,top:c,insetInlineEnd:-p,zIndex:1,width:p,height:p,color:i,fontSize:e.fontSizeXL,display:`flex`,alignItems:`center`,justifyContent:`center`,background:a,borderStartStartRadius:0,borderStartEndRadius:_,borderEndEndRadius:_,borderEndStartRadius:0,cursor:`pointer`,transition:`background ${h} ease`,"&::after":{position:`absolute`,inset:0,background:`transparent`,transition:`all ${h}`,content:`""`},"&:hover::after":{background:`rgba(255, 255, 255, 0.2)`},"&-right":{insetInlineStart:-p,borderStartStartRadius:_,borderStartEndRadius:0,borderEndEndRadius:0,borderEndStartRadius:_}}}}},De(e)),{"&-rtl":{direction:`rtl`}})}},ke=re(`Layout`,e=>{let{colorText:t,controlHeightSM:n,controlHeight:r,controlHeightLG:i,marginXXS:a}=e,o=i*1.25;return[Oe(ae(e,{layoutHeaderHeight:r*2,layoutHeaderPaddingInline:o,layoutHeaderColor:t,layoutFooterPadding:`${n}px ${o}px`,layoutTriggerHeight:i+a*2,layoutZeroTriggerSize:i}))]},e=>{let{colorBgLayout:t}=e;return{colorBgHeader:`#001529`,colorBgBody:t,colorBgTrigger:`#002140`}}),Ae=()=>({prefixCls:String,hasSider:{type:Boolean,default:void 0},tagName:String});function Y(e){let{suffixCls:t,tagName:n,name:r}=e;return e=>d({compatConfig:{MODE:3},name:r,props:Ae(),setup(r,i){let{slots:a}=i,{prefixCls:o}=H(t,r);return()=>{let t=V(V({},r),{prefixCls:o.value,tagName:n});return m(e,t,a)}}})}var je=d({compatConfig:{MODE:3},props:Ae(),setup(e,t){let{slots:n}=t;return()=>m(e.tagName,{class:e.prefixCls},n)}}),Me=d({compatConfig:{MODE:3},inheritAttrs:!1,props:Ae(),setup(e,t){let{slots:n,attrs:r}=t,{prefixCls:i,direction:o}=H(``,e),[s,l]=ke(i),u=a([]);c(de,{addSider:e=>{u.value=[...u.value,e]},removeSider:e=>{u.value=u.value.filter(t=>t!==e)}});let d=h(()=>{let{prefixCls:t,hasSider:n}=e;return{[l.value]:!0,[`${t}`]:!0,[`${t}-has-sider`]:typeof n==`boolean`?n:u.value.length>0,[`${t}-rtl`]:o.value===`rtl`}});return()=>{let{tagName:t}=e;return s(m(t,V(V({},r),{class:[d.value,r.class]}),n))}}}),Ne=Y({suffixCls:`layout`,tagName:`section`,name:`ALayout`})(Me),X=Y({suffixCls:`layout-header`,tagName:`header`,name:`ALayoutHeader`})(je),Z=Y({suffixCls:`layout-footer`,tagName:`footer`,name:`ALayoutFooter`})(je),Q=Y({suffixCls:`layout-content`,tagName:`main`,name:`ALayoutContent`})(je),Pe={icon:{tag:`svg`,attrs:{viewBox:`0 0 1024 1024`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M912 192H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 284H328c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h584c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM104 228a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0zm0 284a56 56 0 10112 0 56 56 0 10-112 0z`}}]},name:`bars`,theme:`outlined`};function Fe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Ie(e,t,n[t])})}return e}function Ie(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Le=function(e,t){var n=Fe({},e,t.attrs);return m(le,Fe({},n,{icon:Pe}),null)};Le.displayName=`BarsOutlined`,Le.inheritAttrs=!1;var Re={xs:`479.98px`,sm:`575.98px`,md:`767.98px`,lg:`991.98px`,xl:`1199.98px`,xxl:`1599.98px`,xxxl:`1999.98px`},ze=()=>({prefixCls:String,collapsible:{type:Boolean,default:void 0},collapsed:{type:Boolean,default:void 0},defaultCollapsed:{type:Boolean,default:void 0},reverseArrow:{type:Boolean,default:void 0},zeroWidthTriggerStyle:{type:Object,default:void 0},trigger:U.any,width:U.oneOfType([U.number,U.string]),collapsedWidth:U.oneOfType([U.number,U.string]),breakpoint:U.oneOf(ie(`xs`,`sm`,`md`,`lg`,`xl`,`xxl`,`xxxl`)),theme:U.oneOf(ie(`light`,`dark`)).def(`dark`),onBreakpoint:Function,onCollapse:Function}),Be=(()=>{let e=0;return function(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:``;return e+=1,`${t}${e}`}})(),$=d({compatConfig:{MODE:3},name:`ALayoutSider`,inheritAttrs:!1,props:B(ze(),{collapsible:!1,defaultCollapsed:!1,reverseArrow:!1,width:200,collapsedWidth:80}),emits:[`breakpoint`,`update:collapsed`,`collapse`],setup(e,n){let{emit:r,attrs:i,slots:a}=n,{prefixCls:s}=H(`layout-sider`,e),d=o(de,void 0),f=t(!!(e.collapsed===void 0?e.defaultCollapsed:e.collapsed)),p=t(!1);g(()=>e.collapsed,()=>{f.value=!!e.collapsed}),c(fe,f);let h=(t,n)=>{e.collapsed===void 0&&(f.value=t),r(`update:collapsed`,t),r(`collapse`,t,n)},_=t(e=>{p.value=e.matches,r(`breakpoint`,e.matches),f.value!==e.matches&&h(e.matches,`responsive`)}),v;function y(e){return _.value(e)}let b=Be(`ant-sider-`);d&&d.addSider(b),u(()=>{g(()=>e.breakpoint,()=>{try{v?.removeEventListener(`change`,y)}catch{v?.removeListener(y)}if(typeof window<`u`){let{matchMedia:t}=window;if(t&&e.breakpoint&&e.breakpoint in Re){v=t(`(max-width: ${Re[e.breakpoint]})`);try{v.addEventListener(`change`,y)}catch{v.addListener(y)}y(v)}}},{immediate:!0})}),l(()=>{try{v?.removeEventListener(`change`,y)}catch{v?.removeListener(y)}d&&d.removeSider(b)});let x=()=>{h(!f.value,`clickTrigger`)};return()=>{let t=s.value,{collapsedWidth:n,width:r,reverseArrow:o,zeroWidthTriggerStyle:c,trigger:l=a.trigger?.call(a),collapsible:u,theme:d}=e,h=f.value?n:r,g=ge(h)?`${h}px`:String(h),_=parseFloat(String(n||0))===0?m(`span`,{onClick:x,class:ne(`${t}-zero-width-trigger`,`${t}-zero-width-trigger-${o?`right`:`left`}`),style:c},[l||m(Le,null,null)]):null,v={expanded:m(o?_e:ve,null,null),collapsed:m(o?ve:_e,null,null)}[f.value?`collapsed`:`expanded`],y=l===null?null:_||m(`div`,{class:`${t}-trigger`,onClick:x,style:{width:g}},[l||v]),b=[i.style,{flex:`0 0 ${g}`,maxWidth:g,minWidth:g,width:g}],S=ne(t,`${t}-${d}`,{[`${t}-collapsed`]:!!f.value,[`${t}-has-trigger`]:u&&l!==null&&!_,[`${t}-below`]:!!p.value,[`${t}-zero-width`]:parseFloat(g)===0},i.class);return m(`aside`,te(te({},i),{},{class:S,style:b}),[m(`div`,{class:`${t}-children`},[a.default?.call(a)]),u||p.value&&_?y:null])}}}),Ve=X,He=Z,Ue=$,We=Q,Ge=V(Ne,{Header:X,Footer:Z,Content:Q,Sider:$,install:e=>(e.component(Ne.name,Ne),e.component(X.name,X),e.component(Z.name,Z),e.component($.name,$),e.component(Q.name,Q),e)}),Ke=[`width`,`height`],qe=Object.assign(d({__name:`AwLogo`,props:{size:{default:32}},setup(e){return(t,n)=>(f(),v(`svg`,{width:e.size,height:e.size,viewBox:`0 0 64 64`,fill:`none`,"aria-hidden":`true`},[...n[0]||=[T(`<defs><linearGradient id="aw-logo-gradient" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#35e0a0"></stop><stop offset="1" stop-color="#41c8f4"></stop></linearGradient></defs><path d="M32 4 L56 18 V46 L32 60 L8 46 V18 Z" stroke="url(#aw-logo-gradient)" stroke-width="4" stroke-linejoin="round"></path><path d="M32 15 L46.7 23.5 V40.5 L32 49 L17.3 40.5 V23.5 Z" stroke="#41c8f4" stroke-opacity="0.45" stroke-width="1.8" stroke-dasharray="4 3"></path><path d="M32 23 L25 38 M32 23 L39 38 M25 38 L39 38" stroke="#35e0a0" stroke-width="1.8" stroke-opacity="0.75"></path><circle cx="32" cy="23" r="3.4" fill="#35e0a0"></circle><circle cx="25" cy="38" r="3.4" fill="#41c8f4"></circle><circle cx="39" cy="38" r="3.4" fill="#41c8f4"></circle>`,7)]],8,Ke))}}),{__name:`AwLogo`}),Je={class:`logo`},Ye={class:`logo-mark`,"aria-hidden":`true`},Xe={class:`logo-text`},Ze={class:`logo-title`},Qe={class:`app-menu`},$e={class:`menu-group-label`},et={class:`menu-group-text`},tt={class:`menu-group-sep`,"aria-hidden":`true`},nt=[`title`,`onClick`],rt={class:`sider-footer`},it={class:`footer-line`},at=Object.assign(q(d({__name:`AppSidebar`,setup(t){let r=K(),{t:o}=R(),s=N(),c=F(),d=P(),S=a(!1),T=h(()=>[{id:`console`,label:o(`menu.groups.console`),items:[{key:`/`,icon:`i-tabler-layout-dashboard`,label:o(`menu.dashboard`),motion:`im-pop`},{key:`/workshop`,icon:`i-tabler-box`,label:o(`menu.workshop`),motion:`im-pop`},{key:`/town`,icon:`i-tabler-map-2`,label:o(`menu.town`),motion:`im-pop`},{key:`/daq`,icon:`i-tabler-activity`,label:o(`menu.daq`),motion:`im-pop`},{key:`/dcw`,icon:`i-tabler-settings-automation`,label:o(`menu.dcw`),motion:`im-pop`},{key:`/aml`,icon:`i-tabler-flask`,label:o(`menu.aml`),motion:`im-pop`}]},{id:`ops`,label:o(`menu.groups.ops`),items:[{key:`/operations`,icon:`i-tabler-stream`,label:o(`menu.operations`),motion:`im-pop`},{key:`/monitor`,icon:`i-tabler-cpu`,label:o(`menu.monitor`),motion:`im-pulse`},{key:`/logs`,icon:`i-tabler-list-details`,label:o(`menu.logs`),motion:`im-pop`}]},{id:`system`,label:o(`menu.groups.system`),items:[{key:`/tokens`,icon:`i-tabler-key`,label:o(`menu.tokens`),motion:`im-nudge-up`},{key:`/users`,icon:`i-tabler-users-group`,label:o(`menu.users`),motion:`im-pop`},{key:`/permissions`,icon:`i-tabler-shield-lock`,label:o(`menu.permissions`),motion:`im-pop`,adminOnly:!0},{key:`/plugins`,icon:`i-tabler-puzzle`,label:o(`menu.plugins`),motion:`im-pop`},{key:`/settings`,icon:`i-tabler-settings`,label:o(`menu.settings`),motion:`im-rotate`}]}].map(e=>({...e,items:e.items.filter(e=>!e.adminOnly||S.value&&r.isAdmin)})).filter(e=>e.items.length>0)),E=e=>e===`/`?s.path===`/`:s.path.startsWith(e),D=e=>{k.value&&d.closeMobileNav(),E(e)||M(e)},{isDrawer:k,isTablet:j}=J();u(()=>{S.value=!0});let ee=h(()=>S.value?k.value?`drawer`:j.value?`rail`:`full`:void 0),I=h(()=>k.value?!1:j.value?!0:d.sidebarCollapsed),L=h(()=>!I.value),z=h(()=>k.value&&d.mobileNavOpen);g(()=>s.path,()=>{d.mobileNavOpen&&d.closeMobileNav()}),w(()=>{typeof document>`u`||(document.body.classList.toggle(`nav-drawer`,k.value),document.body.classList.toggle(`nav-drawer-open`,z.value))}),l(()=>{typeof document>`u`||document.body.classList.remove(`nav-drawer`,`nav-drawer-open`)}),g(z,e=>{typeof document>`u`||(document.body.style.overflow=e?`hidden`:``)});let B=e=>{e.key===`Escape`&&z.value&&d.closeMobileNav()};return u(()=>window.addEventListener(`keydown`,B)),l(()=>{window.removeEventListener(`keydown`,B),typeof document<`u`&&(document.body.style.overflow=``)}),(t,r)=>{let a=qe,o=Ue;return f(),v(y,null,[m(o,{collapsed:e(I),trigger:null,collapsible:``,width:228,"collapsed-width":64,class:`app-sider`,"data-nav-mode":e(ee),"aria-hidden":e(k)&&!e(z)?`true`:void 0},{default:x(()=>[_(`div`,Je,[_(`div`,Ye,[m(a,{size:30})]),m(A,{name:`slide-fade`},{default:x(()=>[C(_(`div`,Xe,[_(`span`,Ze,i(e(c).name),1),r[1]||=_(`span`,{class:`logo-sub`},`digital twin`,-1)],512),[[O,e(L)]])]),_:1})]),_(`nav`,Qe,[(f(!0),v(y,null,p(e(T),t=>(f(),v(`div`,{key:t.id,class:`menu-group`},[C(_(`div`,$e,[_(`span`,et,i(t.label),1),r[2]||=_(`span`,{class:`menu-group-rule`,"aria-hidden":`true`},null,-1)],512),[[O,e(L)]]),C(_(`div`,tt,null,512),[[O,!e(L)]]),(f(!0),v(y,null,p(t.items,t=>(f(),v(`button`,{key:t.key,type:`button`,class:n([`menu-item im`,{active:E(t.key)}]),title:e(L)?void 0:t.label,onClick:e=>D(t.key)},[_(`span`,{class:n([`menu-icon`,[t.icon,t.motion]])},null,2),C(_(`span`,{class:`menu-label`},i(t.label),513),[[O,e(L)]])],10,nt))),128))]))),128))]),C(_(`div`,rt,[r[4]||=_(`div`,{class:`footer-rule`},null,-1),_(`div`,it,[_(`span`,null,`v`+i(e(c).version),1),r[3]||=_(`span`,{class:`sep`},`/`,-1),_(`span`,null,i(e(c).mode),1)])],512),[[O,e(L)]])]),_:1},8,[`collapsed`,`data-nav-mode`,`aria-hidden`]),e(z)?(f(),v(`div`,{key:0,class:`nav-scrim`,"aria-hidden":`true`,onClick:r[0]||=t=>e(d).closeMobileNav()})):b(``,!0)],64)}}}),[[`__scopeId`,`data-v-9bace048`]]),{__name:`AppSidebar`}),ot=[`title`],st={key:0,class:`nc-count`},ct={class:`nc-menu`},lt={class:`nc-menu-title`},ut={class:`nc-unread`},dt={class:`nc-list`},ft=[`onClick`],pt={class:`nc-item-body`},mt={class:`nc-item-top`},ht={class:`nc-item-type`},gt={class:`nc-item-time`},_t={class:`nc-item-title`},vt={key:0,class:`nc-item-text`},yt={key:0,class:`nc-dot`,"aria-hidden":`true`},bt={key:0,class:`nc-empty`},xt=Object.assign(q(d({__name:`NotificationCenter`,setup(t){let r=Ce(),o=Te(),{hostNotifications:s}=we(),{t:c}=R(),d=a(!1),m=a(null);u(async()=>{m.value=s(),r.loaded?await r.backfill():await r.loadSnapshot()}),l(()=>{m.value?.(),m.value=null}),g(()=>r.liveSeq,()=>{let e=r.liveItem;e&&W.info({content:`${e.title}${e.body?` · ${e.body.slice(0,60)}`:``}`,duration:6,onClick:()=>void E(e)})});let C={mention:{icon:`i-tabler-at`,tone:`mention`},agent_reply:{icon:`i-tabler-robot`,tone:`reply`},hitl_request:{icon:`i-tabler-alert-triangle`,tone:`hitl`},hitl_resolved:{icon:`i-tabler-circle-check`,tone:`ok`},member:{icon:`i-tabler-user-plus`,tone:`info`}},w=h(()=>({mention:c(`notifications.typeMention`),agent_reply:c(`notifications.typeAgentReply`),hitl_request:c(`notifications.typeHitlRequest`),hitl_resolved:c(`notifications.typeHitlResolved`),member:c(`notifications.typeMember`)})),T=h(()=>r.unreadCount>99?`99+`:String(r.unreadCount));async function E(e){if(d.value=!1,!e.readAt)try{await r.markRead({id:e.id})}catch{}if(e.hitlKind||e.hitlId||e.type===`hitl_request`){await M({path:`/monitor`,query:{agentId:String(e.payload?.agentId??``),channelId:e.channelId??``}});return}if(!e.channelId)return;if(!o.loaded)try{await o.load()}catch{}let t=o.workspaces.find(t=>t.channelIds.includes(e.channelId));if(!t){await M(`/workshop`);return}o.setActiveChannel(t.id,e.channelId),await M({path:`/workshop/w/${t.id}`,query:{view:`chat`}})}let O=a(!1);async function k(){if(!O.value){O.value=!0;try{await r.markRead({all:!0})}catch(e){W.error(e instanceof Error?e.message:c(`notifications.markReadFailed`))}finally{O.value=!1}}}return(t,a)=>{let o=G;return f(),S(o,{open:d.value,"onUpdate:open":a[0]||=e=>d.value=e,placement:`bottomRight`,trigger:[`click`]},{overlay:x(()=>[_(`div`,ct,[_(`div`,lt,[_(`span`,null,i(t.$t(`notifications.title`)),1),_(`span`,ut,i(t.$t(`notifications.unreadCount`,{p0:e(r).unreadCount})),1),e(r).unreadCount>0?(f(),v(`button`,{key:0,type:`button`,class:`nc-markall`,onClick:D(k,[`stop`])},i(t.$t(`notifications.markAllRead`)),1)):b(``,!0)]),_(`div`,dt,[(f(!0),v(y,null,p(e(r).items,t=>(f(),v(`button`,{key:t.id,type:`button`,class:n([`nc-item`,{unread:!t.readAt}]),onClick:e=>E(t)},[_(`span`,{class:n([`nc-item-icon`,[C[t.type]?.icon,C[t.type]?.tone]])},null,2),_(`span`,pt,[_(`span`,mt,[_(`span`,ht,i(w.value[t.type]??t.type),1),_(`span`,gt,i(e(be)(t.createdAt,!1)),1)]),_(`span`,_t,i(t.title),1),t.body?(f(),v(`span`,vt,i(t.body),1)):b(``,!0)]),t.readAt?b(``,!0):(f(),v(`span`,yt))],10,ft))),128)),e(r).items.length===0?(f(),v(`div`,bt,i(t.$t(`notifications.empty`)),1)):b(``,!0)])])]),default:x(()=>[_(`button`,{class:n([`icon-btn nc-bell`,{unread:e(r).unreadCount>0}]),title:t.$t(`notifications.bellTitle`)},[a[1]||=_(`span`,{class:`i-tabler-bell`},null,-1),e(r).unreadCount>0?(f(),v(`span`,st,i(T.value),1)):b(``,!0)],10,ot)]),_:1},8,[`open`])}}}),[[`__scopeId`,`data-v-21c11450`]]),{__name:`WorkshopNotificationCenter`}),St=I(`app.routeTrail`,()=>{let e=a([]);function t(t){if(!t||t.startsWith(`/api`))return;let n=e.value.filter(e=>e.path!==t);e.value=[...n,{path:t,at:Date.now()}].slice(-8)}function n(t){let n=e.value.findIndex(e=>e.path===t);return n>=0&&(e.value=e.value.filter(e=>e.path!==t)),n}function r(){e.value=[]}return{waypoints:e,visit:t,remove:n,clear:r}},{persist:{pick:[`waypoints`],storage:ee.localStorage()}});function Ct(){let{t:e}=R(),t=Te(),n={"/":{key:`menu.dashboard`,icon:`i-tabler-layout-dashboard`},"/workshop":{key:`menu.workshop`,icon:`i-tabler-box`},"/workshop/agents":{key:`meta.agents`,icon:`i-tabler-users`},"/workshop/teams":{key:`meta.teams`,icon:`i-tabler-users-group`},"/workshop/channel-templates":{key:`meta.ctpl`,icon:`i-tabler-layout-grid-add`},"/town":{key:`menu.town`,icon:`i-tabler-map-2`},"/tokens":{key:`menu.tokens`,icon:`i-tabler-key`},"/daq":{key:`menu.daq`,icon:`i-tabler-activity`},"/dcw":{key:`menu.dcw`,icon:`i-tabler-settings-automation`},"/aml":{key:`menu.aml`,icon:`i-tabler-flask`},"/logs":{key:`menu.logs`,icon:`i-tabler-list-details`},"/permissions":{key:`menu.permissions`,icon:`i-tabler-shield-lock`},"/plugins":{key:`menu.plugins`,icon:`i-tabler-puzzle`},"/users":{key:`menu.users`,icon:`i-tabler-users-group`},"/monitor":{key:`menu.monitor`,icon:`i-tabler-cpu`},"/settings":{key:`menu.settings`,icon:`i-tabler-settings`}};return{metaFor:r=>{let i=n[r];if(i)return{title:e(i.key),icon:i.icon};let a=r.match(/^\/workshop\/w\/([^/]+)$/);if(a){let n=a[1];return{title:t.workspaces.find(e=>e.id===n)?.name??`${e(`header.workspace`)} ${n.slice(0,6)}`,icon:`i-tabler-console`}}let o=r.split(`/`).filter(Boolean).pop()??`·`;return{title:o.charAt(0).toUpperCase()+o.slice(1),icon:`i-tabler-point`}}}}var wt=[`aria-label`],Tt=[`title`,`onClick`,`onKeydown`],Et={class:`node-title`},Dt=[`aria-label`,`title`,`onClick`],Ot=Object.assign(q(d({__name:`TrailNav`,props:{hydrated:{type:Boolean}},setup(t){let r=N(),{t:a}=R(),o=St(),{metaFor:s}=Ct(),c=e=>{e!==r.path&&M(e)},l=e=>{let t=o.remove(e);if(e!==r.path)return;let n=o.waypoints,i=n[Math.min(Math.max(t-1,0),Math.max(n.length-1,0))]?.path??`/`;M(i)};return(u,d)=>(f(),v(`nav`,{class:`trail`,"aria-label":e(a)(`header.trail`)},[m(k,{name:`stamp`,tag:`div`,class:`trail-row`},{default:x(()=>[t.hydrated?(f(!0),v(y,{key:0},p(e(o).waypoints,(t,a)=>(f(),v(y,{key:t.path},[a>0?(f(),v(`span`,{key:`link-${t.path}`,class:`trail-link`,"aria-hidden":`true`})):b(``,!0),_(`div`,{class:n([`trail-node`,{active:t.path===e(r).path}]),role:`button`,tabindex:`0`,title:e(s)(t.path).title,onClick:e=>c(t.path),onKeydown:j(D(e=>c(t.path),[`prevent`]),[`enter`])},[_(`span`,{class:n([`node-icon`,e(s)(t.path).icon])},null,2),_(`span`,Et,i(e(s)(t.path).title),1),_(`button`,{class:`node-close`,"aria-label":u.$t(`appHeader.kzwjv99001`,{p0:e(s)(t.path).title}),title:u.$t(`appHeader.kzwjv99001`,{p0:e(s)(t.path).title}),onClick:D(e=>l(t.path),[`stop`])},[...d[0]||=[_(`span`,{class:`i-tabler-x`},null,-1)]],8,Dt)],42,Tt)],64))),128)):b(``,!0)]),_:1})],8,wt))}}),[[`__scopeId`,`data-v-9570d879`]]),{__name:`AppHeaderTrailNav`});function kt(){let{t:e}=R(),t=Ee(),n=Se(),r=[`omp-dialog`,`dcw-approval`,`codex-approval`,`opencode-permission`,`dsh-permission`,`claude-permission`,`qwen-permission`,`hermes-permission`],i=t=>{switch(t){case`omp-dialog`:return e(`appHeader.hitlKindOmp`);case`dcw-approval`:return e(`appHeader.hitlKindDcw`);case`codex-approval`:return e(`appHeader.hitlKindCodex`);case`opencode-permission`:return e(`appHeader.hitlKindOpencode`);case`dsh-permission`:return e(`appHeader.hitlKindDsh`);case`claude-permission`:return`claude 权限`;case`qwen-permission`:return`qwen 权限`;case`hermes-permission`:return`hermes 权限`;default:return t}},o=e=>{M({path:`/monitor`,query:{agentId:e.agentId,channelId:e.channelId}})},s=e=>e.channelId in n.permissions,c=e=>{let t=n.permissions[e.channelId];return t?t.canApprove||t.isAdmin?!0:n.settings[e.channelId]?.legacy===!0:!1},l=e=>e.requestType?e.requestType:e.questions&&e.questions.length>0||e.method===`input`||e.method===`editor`||e.method===`select`?`question`:`approval`,u=e=>l(e)===`question`,d=e=>e.kind===`opencode-permission`&&(e.options?.length??0)>0,f=a({}),p=a({}),m=a({}),h=e=>`${e.kind}:${e.id}`,g=(e,t)=>`${h(e)}:${t}`,_=(e,t,n)=>t.multiSelect?(p.value[g(e,t.id)]??[]).includes(n):f.value[g(e,t.id)]===n,v=(e,t,n)=>{let r=g(e,t.id);if(t.multiSelect){let e=p.value[r]??[];p.value={...p.value,[r]:e.includes(n)?e.filter(e=>e!==n):[...e,n]}}else f.value={...f.value,[r]:n}},y=(e,t)=>{let n=g(e,t.id),r=t.multiSelect?p.value[n]??[]:[f.value[n]??``].filter(Boolean),i=(m.value[n]??``).trim();return[...r.filter(Boolean),i].filter(Boolean).join(`、`)},b=`__plain`,x=e=>{if(e.questions&&e.questions.length>0)return e.questions;let t=e.options?.map(e=>({label:e}));return[{id:b,question:e.message||e.detail||e.title,options:t,multiSelect:!1,freeText:!(t&&t.length>0)}]},S=async(e,n)=>{let r=await t.answer(e,n);if(r.ok){W.success(`已提交`);return}r.code===`ALREADY_RESOLVED`?W.warning(`已被他人处理`):r.code===`APPROVAL_FORBIDDEN`?W.warning(r.message||`无审批权限(该 Channel 策略不允许你决策)`):W.error(r.message)};return{HITL_KINDS:r,hitlKindLabel:i,hitlGo:o,permsKnown:s,canAnswer:c,requestTypeOf:l,isQuestion:u,isNativeOptionApproval:d,qSingle:f,qMulti:p,qFree:m,itemKey:h,slotOf:g,isChosen:_,chooseOption:v,answerOf:y,PLAIN_QID:b,questionsOf:x,answer:S,submitQuestion:async e=>{let t=x(e),n=t.findIndex(t=>!y(e,t).trim());if(n>=0){W.warning(`请先填写第 ${n+1} 题(${t[n].question||`未命名问题`})的答案`);return}await S(e,{answers:t.map((t,n)=>({id:t.id||String(n),answer:y(e,t)}))})},submitApproval:async(e,t)=>{await S(e,{confirmed:t})},submitNativeOption:async(e,t)=>{await S(e,{response:t})},submitCancel:async e=>{await S(e,{cancelled:!0})},policyLabel:e=>e.policy===`any_member`?`任一成员可决策`:e.policy?`仅 owner 可决策`:``}}var At=[`title`],jt={class:`hitl-count`},Mt={class:`hitl-menu`},Nt={class:`hitl-menu-title`},Pt=[`onClick`],Ft={class:`hitl-item-top`},It={class:`hitl-item-agent`},Lt={class:`hitl-item-kind`},Rt=[`data-type`],zt={class:`hitl-item-title`},Bt={key:0,class:`hitl-item-detail`},Vt={key:1,class:`hitl-item-detail`},Ht={key:2,class:`hitl-item-policy`},Ut={key:0,class:`hitl-answer-note`},Wt={key:1,class:`hitl-answer-note`},Gt={key:2,class:`hitl-answer-note`},Kt={key:3,class:`hitl-answer`},qt={key:0,class:`hitl-q-title`},Jt={key:1,class:`hitl-q-desc`},Yt={key:2,class:`hitl-opts`},Xt=[`title`,`onClick`],Zt={class:`hitl-btns`},Qt={key:0,class:`hitl-opts`},$t=[`onClick`],en={class:`hitl-btns`},tn=Object.assign(q(d({__name:`HitlBell`,setup(t){let{t:r}=R(),a=Ee(),{HITL_KINDS:o,hitlKindLabel:s,hitlGo:c,permsKnown:l,canAnswer:u,requestTypeOf:d,isQuestion:h,isNativeOptionApproval:g,qFree:C,slotOf:w,isChosen:T,chooseOption:D,questionsOf:O,submitQuestion:k,submitNativeOption:A,submitApproval:j,submitCancel:M,policyLabel:N}=kt();return(t,P)=>{let ee=se,F=ce,I=G;return e(a).count>0?(f(),S(I,{key:0,placement:`bottomRight`},{overlay:x(()=>[_(`div`,Mt,[_(`div`,Nt,i(e(r)(`appHeader.hitlBadge`))+` · `+i(e(a).count),1),(f(!0),v(y,null,p(e(a).items,t=>(f(),v(`div`,{key:`${t.kind}:${t.id}`,class:`hitl-item`},[_(`button`,{type:`button`,class:`hitl-item-head`,onClick:n=>e(c)(t)},[_(`span`,Ft,[_(`span`,It,i(t.agentName),1),_(`span`,Lt,i(e(s)(t.kind)),1),t.requestType||e(h)(t)?(f(),v(`span`,{key:0,class:`hitl-item-reqtype`,"data-type":e(d)(t)},i(e(h)(t)?e(r)(`appHeader.hitlReqQuestion`):e(r)(`appHeader.hitlReqApproval`)),9,Rt)):b(``,!0)]),_(`span`,zt,i(t.title),1),t.detail?(f(),v(`span`,Bt,i(t.detail),1)):b(``,!0),t.message?(f(),v(`span`,Vt,i(t.message),1)):b(``,!0),t.policy?(f(),v(`span`,Ht,[P[1]||=_(`span`,{class:`i-tabler-shield-lock`},null,-1),E(` `+i(e(r)(`appHeader.hitlPolicy`,{p0:e(N)(t)})),1)])):b(``,!0)],8,Pt),e(o).includes(t.kind)?e(l)(t)?e(u)(t)?(f(),v(`div`,Kt,[e(h)(t)?(f(),v(y,{key:0},[(f(!0),v(y,null,p(e(O)(t),(a,o)=>(f(),v(`div`,{key:`${t.kind}:${t.id}:${a.id}:${o}`,class:`hitl-q`},[t.questions&&t.questions.length>1?(f(),v(`div`,qt,i(o+1)+`. `+i(a.header||a.question),1)):b(``,!0),a.header&&a.question?(f(),v(`div`,Jt,i(a.question),1)):b(``,!0),a.options&&a.options.length>0?(f(),v(`div`,Yt,[(f(!0),v(y,null,p(a.options,r=>(f(),v(`button`,{key:r.label,type:`button`,class:n([`hitl-opt`,{on:e(T)(t,a,r.label)}]),title:r.description||r.label,onClick:n=>e(D)(t,a,r.label)},i(r.label),11,Xt))),128))])):b(``,!0),!(a.options&&a.options.length>0)||a.freeText?(f(),S(ee,{key:3,value:e(C)[e(w)(t,a.id)],"onUpdate:value":n=>e(C)[e(w)(t,a.id)]=n,rows:2,placeholder:a.options&&a.options.length>0?e(r)(`appHeader.hitlSupplementPlaceholder`):e(r)(`appHeader.hitlAnswerPlaceholder`)},null,8,[`value`,`onUpdate:value`,`placeholder`])):b(``,!0)]))),128)),_(`div`,Zt,[m(F,{size:`small`,type:`primary`,loading:e(a).answering===`${t.kind}:${t.id}`,onClick:n=>e(k)(t)},{default:x(()=>[E(i(e(r)(`appHeader.hitlSubmitAnswer`)),1)]),_:1},8,[`loading`,`onClick`]),m(F,{size:`small`,disabled:e(a).answering===`${t.kind}:${t.id}`,onClick:n=>e(M)(t)},{default:x(()=>[E(i(e(r)(`appHeader.hitlCancelRequest`)),1)]),_:1},8,[`disabled`,`onClick`])])],64)):(f(),v(y,{key:1},[e(g)(t)?(f(),v(`div`,Qt,[(f(!0),v(y,null,p(t.options,n=>(f(),v(`button`,{key:n,type:`button`,class:`hitl-opt`,onClick:r=>e(A)(t,n)},i(n),9,$t))),128))])):b(``,!0),_(`div`,en,[m(F,{size:`small`,type:`primary`,loading:e(a).answering===`${t.kind}:${t.id}`,onClick:n=>e(j)(t,!0)},{default:x(()=>[E(i(e(r)(`appHeader.hitlApprove`)),1)]),_:1},8,[`loading`,`onClick`]),m(F,{size:`small`,danger:``,disabled:e(a).answering===`${t.kind}:${t.id}`,onClick:n=>e(j)(t,!1)},{default:x(()=>[E(i(e(r)(`appHeader.hitlReject`)),1)]),_:1},8,[`disabled`,`onClick`]),m(F,{size:`small`,disabled:e(a).answering===`${t.kind}:${t.id}`,onClick:n=>e(M)(t)},{default:x(()=>[E(i(e(r)(`common.cancel`)),1)]),_:1},8,[`disabled`,`onClick`])])],64))])):(f(),v(`div`,Gt,i(e(r)(`appHeader.hitlNoPerm`))+i(t.policy?`(${e(N)(t)})`:``),1)):(f(),v(`div`,Wt,i(e(r)(`appHeader.hitlPermsLoading`)),1)):(f(),v(`div`,Ut,i(e(r)(`appHeader.hitlEngineNote`)),1))]))),128))])]),default:x(()=>[_(`button`,{class:`icon-btn hitl-bell`,title:e(r)(`appHeader.hitlBadge`)},[P[0]||=_(`span`,{class:`i-tabler-bell-ringing`},null,-1),_(`span`,jt,i(e(a).count),1)],8,At)]),_:1})):b(``,!0)}}}),[[`__scopeId`,`data-v-5a73f3c7`]]),{__name:`AppHeaderHitlBell`}),nn=[`title`],rn=Object.assign(q(d({__name:`HeaderTools`,props:{hydrated:{type:Boolean}},setup(t){let{t:r,locale:i,locales:o,setLocale:s}=R(),c=P(),{isMobile:l}=J(),u=h(()=>o.value.map(e=>({label:l.value?e.code.split(`-`)[0].toUpperCase():e.name,value:e.code}))),d=e=>{e!=null&&(L(`aw.locale`,{maxAge:31536e3}).value=String(e),localStorage.setItem(`aw.locale`,String(e)),s(String(e)),window.location.reload())},p=xe(),g=h(()=>p.state!==`closed`||p.lastDataAt>0),S=h(()=>p.state===`open`?p.pendingReplay?`syncing`:`live`:p.state===`connecting`?`syncing`:`down`),C=h(()=>p.state===`open`?p.pendingReplay?r(`appHeader.kwsdot0002`):r(`appHeader.kwsdot0001`):p.state===`connecting`?r(`appHeader.kwsdot0003`):r(`appHeader.kwsdot0004`)),w=a(!1);function T(){document.fullscreenElement?(document.exitFullscreen(),w.value=!1):(document.documentElement.requestFullscreen(),w.value=!0)}return(a,o)=>{let s=oe,l=ue;return f(),v(y,null,[t.hydrated&&e(g)?(f(),v(`span`,{key:0,class:n([`ws-dot`,e(S)]),title:e(C)},null,10,nn)):b(``,!0),m(s,{title:e(r)(`header.fullscreen`)},{default:x(()=>[_(`button`,{class:`icon-btn hdr-fullscreen`,onClick:T},[_(`span`,{class:n([`i-tabler-arrows-maximize`,{hidden:e(w)}])},null,2),_(`span`,{class:n([`i-tabler-arrows-minimize`,{hidden:!e(w)}])},null,2)])]),_:1},8,[`title`]),m(l,{id:`hdr-locale`,value:e(i),size:`middle`,options:e(u),class:`lang-select`,onChange:d},null,8,[`value`,`options`]),m(s,{title:e(c).isDark?e(r)(`common.light`):e(r)(`common.dark`)},{default:x(()=>[_(`button`,{class:`icon-btn`,onClick:o[0]||=t=>e(c).toggleDark()},[_(`span`,{class:n([`i-tabler-sun-high`,{hidden:e(c).isDark}])},null,2),_(`span`,{class:n([`i-tabler-moon-stars`,{hidden:!e(c).isDark}])},null,2)])]),_:1},8,[`title`])],64)}}}),[[`__scopeId`,`data-v-d647eb55`]]),{__name:`AppHeaderTools`}),an={class:`user-chip`},on={class:`user-initial aw-avatar`},sn={class:`user-meta`},cn={class:`user-name`},ln={class:`user-role`},un=Object.assign(q(d({__name:`UserChip`,setup(t){let{t:r}=R(),a=K(),o=h(()=>(a.user?.name??`?`).trim().charAt(0).toUpperCase()),s=h(()=>a.user?.name??r(`header.guest`)),c=h(()=>a.isLoggedIn?a.user?.role??`user`:`anonymous`),l=h(()=>{let e=[{key:`tokens`,icon:`i-tabler-key`,label:r(`menu.tokens`)},{key:`settings`,icon:`i-tabler-adjustments`,label:r(`menu.settings`)}];return a.isLoggedIn&&(e.push({key:`d-logout`,label:``,divider:!0}),e.push({key:`logout`,icon:`i-tabler-logout`,label:r(`header.logout`),danger:!0})),e}),u=async({key:e})=>{e===`settings`?M(`/settings`):e===`tokens`?M(`/tokens`):e===`logout`&&(await a.logout(),M(`/workshop`))};return(t,r)=>{let a=z,d=pe,h=me,g=he,b=G;return f(),S(b,null,{overlay:x(()=>[m(g,{onClick:u},{default:x(()=>[(f(!0),v(y,null,p(e(l),e=>(f(),v(y,{key:e.key},[e.divider?(f(),S(d,{key:0})):(f(),S(h,{key:e.key,danger:e.danger},{default:x(()=>[_(`span`,{class:n([e.icon,`mr-2`])},null,2),E(` `+i(e.label),1)]),_:2},1032,[`danger`]))],64))),128))]),_:1})]),default:x(()=>[_(`div`,an,[m(a,null,{fallback:x(()=>[...r[0]||=[_(`span`,{class:`user-initial aw-avatar`},`·`,-1),_(`span`,{class:`user-meta`},[_(`span`,{class:`user-name`},`·`),_(`span`,{class:`user-role`},`·`)],-1)]]),default:x(()=>[_(`span`,on,i(e(o)),1),_(`span`,sn,[_(`span`,cn,i(e(s)),1),_(`span`,ln,i(e(c)),1)])]),_:1})])]),_:1})}}}),[[`__scopeId`,`data-v-c89d85c4`]]),{__name:`AppHeaderUserChip`}),dn={class:`header-left`},fn=[`aria-label`,`aria-expanded`],pn={class:`mobile-title`},mn={class:`header-right`},hn=Object.assign(q(d({__name:`AppHeader`,setup(t){let{t:r}=R(),o=P(),s=N(),c=St(),d=K(),{metaFor:p}=Ct(),v=Ee(),y=Se(),b=we(),C=()=>{d.isLoggedIn&&b.ensureConnected()};g(()=>d.token,e=>{e?(C(),v.loadSnapshot()):v.clear()},{immediate:!0}),g(()=>v.items.map(e=>e.channelId).join(`|`),e=>{for(let t of new Set(e.split(`|`).filter(Boolean)))t in y.permissions||y.loadPermissions(t)},{immediate:!0});let{isDrawer:w}=J(),T=h(()=>w.value?o.mobileNavOpen?r(`header.closeNav`):r(`header.openNav`):o.sidebarCollapsed?r(`header.expand`):r(`header.collapse`)),E=()=>{w.value?o.toggleMobileNav():o.toggleSidebar()},D=h(()=>p(s.path).title),O=a(!1),k=a(!1),A=null;return g(()=>s.path,()=>{c.visit(s.path),k.value=!1,requestAnimationFrame(()=>{k.value=!0,A&&clearTimeout(A),A=setTimeout(()=>{k.value=!1},620)})},{immediate:!1}),u(()=>{O.value=!0,c.visit(s.path)}),l(()=>{A&&clearTimeout(A)}),(t,r)=>{let a=xt,s=z,c=Ve;return f(),S(c,{class:`app-header app-header-glass`},{default:x(()=>[_(`div`,dn,[_(`button`,{class:`collapse-btn`,"aria-label":e(T),"aria-expanded":e(w)?e(o).mobileNavOpen:!e(o).sidebarCollapsed,onClick:r[0]||=e=>E()},[...r[1]||=[_(`span`,{class:`i-tabler-menu-2`},null,-1)]],8,fn),_(`span`,pn,i(e(D)),1),r[2]||=_(`span`,{class:`rail-mark i-tabler-route`},null,-1),m(Ot,{hydrated:e(O)},null,8,[`hydrated`])]),_(`div`,mn,[m(s,null,{default:x(()=>[m(a)]),_:1}),m(s,null,{default:x(()=>[m(tn)]),_:1}),m(rn,{hydrated:e(O)},null,8,[`hydrated`]),m(un)]),_(`span`,{class:n([`plotter-line`,{run:e(k)}]),"aria-hidden":`true`},null,2)]),_:1})}}}),[[`__scopeId`,`data-v-21aed131`]]),{__name:`AppHeader`}),gn={class:`footer-title aw-serif-accent`},_n={class:`footer-corner`},vn=q(d({__name:`default`,setup(t){let{token:n}=ye.useToken(),a=F();return(t,o)=>{let c=at,l=hn,u=We,d=He,p=Ge;return f(),S(p,{class:`app-layout`,"has-sider":``},{default:x(()=>[m(c),m(p,{class:`app-main`,style:r({background:`transparent`,"--app-bg-container":e(n)?.colorBgContainer,"--app-bg-layout":e(n)?.colorBgLayout,"--app-text":e(n)?.colorText,"--app-text-secondary":e(n)?.colorTextSecondary,"--app-border":e(n)?.colorBorderSecondary,"--app-fill":e(n)?.colorFillQuaternary,"--app-header-h":`56px`,"--app-footer-h":`46px`})},{default:x(()=>[m(l),m(u,{class:`app-content`},{default:x(()=>[s(t.$slots,`default`,{},void 0,!0)]),_:3}),m(d,{class:`app-footer`,style:r({color:e(n)?.colorTextSecondary})},{default:x(()=>[_(`span`,gn,i(e(a).title),1),o[4]||=_(`span`,{class:`sep`},`/`,-1),_(`span`,null,`mode=`+i(e(a).mode),1),_(`span`,_n,[_(`span`,null,`v`+i(e(a).version),1),o[0]||=_(`span`,{class:`sep`},`·`,-1),o[1]||=_(`a`,{class:`footer-link`,href:`https://github.com/kingdol666/AgentWorkShop`,target:`_blank`,rel:`noopener`},`GitHub`,-1),o[2]||=_(`span`,{class:`sep`},`·`,-1),o[3]||=_(`a`,{class:`footer-link`,href:`https://kingdol666.github.io/AgentWorkShop/`,target:`_blank`,rel:`noopener`},`Docs`,-1)])]),_:1},8,[`style`])]),_:3},8,[`style`]),o[5]||=_(`span`,{class:`aw-noise`,"aria-hidden":`true`},null,-1)]),_:3})}}}),[[`__scopeId`,`data-v-e4abc244`]]);export{vn as default};
@@ -1 +0,0 @@
1
- import"./CIduggmC.js";import"./CXzfXC5M.js";var e=`Asia/Shanghai`;function t(e){if(!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function n(n){let r=t(n);return r?Object.fromEntries(new Intl.DateTimeFormat(`en-CA`,{timeZone:e,calendar:`iso8601`,numberingSystem:`latn`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`}).formatToParts(r).filter(e=>e.type!==`literal`).map(e=>[e.type,e.value])):null}function r(e,t=!0){let r=n(e);return r?`${r.hour}:${r.minute}${t?`:${r.second}`:``}`:``}function i(){let t=new Date,r=n(t.toISOString());if(!r)return t.toISOString();let i=(new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`,hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`}).formatToParts(t).find(e=>e.type===`timeZoneName`)?.value??`GMT`).match(/^GMT([+-])(\d{2}):(\d{2})$/),a=i?(i[1]===`+`?1:-1)*(Number(i[2])*60+Number(i[3])):0,o=a>=0?`+`:`-`,s=Math.abs(a);return`${r.year}-${r.month}-${r.day}T${r.hour}:${r.minute}:${r.second}.${String(t.getMilliseconds()).padStart(3,`0`)}${o}${String(Math.floor(s/60)).padStart(2,`0`)}:${String(s%60).padStart(2,`0`)}`}export{i as n,r as t};
@@ -1 +0,0 @@
1
- import{N as e,dt as t,ft as n,mt as r,u as i}from"./CavpkQb0.js";import{P as a,Q as o,R as s,S as c,V as l,W as u,b as d,d as f,et as p,f as m,h,i as g,k as _,m as v,nt as y,p as b,rt as x,y as S}from"./ByMj6e7s.js";import{c as C,d as w,o as T,s as E}from"./Dqz5HiXa.js";import{n as D}from"./DkpmSnHX.js";import{t as O}from"./Cmp8PMrA.js";import{n as k}from"./Cnrmlixo.js";import{a as A}from"./wDPc4SSR.js";import{t as j}from"./DzBbYWrw2.js";import{t as M}from"./BDNMzG2s2.js";import{t as ee}from"./DuPM4HXw.js";import{t as N}from"./JgheoP3e.js";import{t as P}from"./CNs_Ozdc.js";import{t as F}from"./B8cnjDtt.js";import{a as te,t as I}from"./BqYO-UfR.js";import{t as L}from"./CFjveTJh.js";import{t as ne}from"./DzwIZ81f.js";import{t as R}from"./deBcbALe2.js";import{n as re,r as z,t as ie}from"./BhcbvVOa2.js";import{t as ae}from"./csitHKnE2.js";import{t as oe}from"./BxoaZc_U2.js";import{n as B,t as se}from"./DioKmYyB2.js";import{t as ce}from"./ChN5v-i22.js";var V={class:`txt`},H={class:`mono`},U={key:1,class:`infra-banner`},W={class:`txt`},le=Object.assign(c({__name:`DaqLineBanner`,props:{loaded:{type:Boolean},filteredLine:{},filteredLineState:{},anyLineActive:{type:Boolean}},setup(e){return(n,i)=>{let a=O;return e.loaded&&e.filteredLine&&e.filteredLineState?(l(),h(`div`,{key:0,class:t([`infra-banner`,{good:e.filteredLineState.active}])},[m(`span`,{class:t(e.filteredLineState.active?`i-tabler-circle-check`:`i-tabler-info-circle`)},null,2),m(`span`,V,[e.filteredLineState.active?(l(),h(g,{key:0},[S(r(n.$t(`daq.k3ktxbr085`))+r(e.filteredLine.name)+`」`+r(n.$t(`daq.k15lvw0o105`)),1),m(`b`,null,r(e.filteredLineState.productName),1),i[0]||=S(` · Recipe:`,-1),m(`b`,null,r(e.filteredLineState.recipeName),1),m(`small`,H,r(n.$t(`daq.k400lb086`))+` `+r(e.filteredLineState.runId?.slice(0,8))+` · `+r(n.$t(`daq.k3zkt2106`))+` `+r(e.filteredLineState.startedAt?.slice(11,19))+` `+r(n.$t(`daq.k69vag8108`))+` `+r(e.filteredLineState.taggedSamples)+` `+r(n.$t(`daq.k4118o092`)),1)],64)):(l(),h(g,{key:1},[S(r(n.$t(`daq.k3ktxbr085`))+r(e.filteredLine.name)+`」`+r(n.$t(`daq.k12uge2o107`)),1)],64))]),d(a,{class:`pill-btn`,to:`/dcw/${e.filteredLine.id}`},{default:y(()=>[S(r(e.filteredLineState.active?n.$t(`daq.k1ukoy0v093`):n.$t(`daq.k1cg78i8109`)),1)]),_:1},8,[`to`])],2)):e.loaded&&!e.anyLineActive?(l(),h(`div`,U,[i[1]||=m(`span`,{class:`i-tabler-info-circle`},null,-1),m(`span`,W,[S(r(n.$t(`daq.k19onw5w013`)),1),d(a,{to:`/dcw`},{default:y(()=>[S(r(n.$t(`daq.k1b2tk5c014`)),1)]),_:1}),S(r(n.$t(`daq.k1u9wnlg015`)),1)])])):v(``,!0)}}}),{__name:`DaqLineBanner`}),G={key:0,class:`infra-banner`},K={class:`txt`},q=[`disabled`],ue=Object.assign(c({__name:`DaqInfraBanner`,props:{infra:{},reconnecting:{type:Boolean}},emits:[`reconnect`],setup(e,{emit:t}){let n=t;return(t,i)=>e.infra?.degraded?(l(),h(`div`,G,[i[1]||=m(`span`,{class:`i-tabler-alert-triangle`},null,-1),m(`span`,K,r(e.infra.warning),1),m(`button`,{class:`pill-btn`,disabled:e.reconnecting,onClick:i[0]||=e=>n(`reconnect`)},r(e.reconnecting?t.$t(`daq.k1ld43ur094`):t.$t(`daq.kzg9805110`)),9,q)])):v(``,!0)}}),{__name:`DaqInfraBanner`}),de={key:0,class:`alarm-bar`},fe={class:`bar-label`},pe={class:`mono`},J={class:`alarm-scroll`},me=[`title`],he={class:`mono dim`},Y={class:`mono`},ge={key:0,class:`esc mono`},X=[`onClick`],_e=Object.assign(c({__name:`DaqAlarmBar`,props:{alarms:{}},emits:[`ack`],setup(e,{emit:t}){let n=t;return(t,i)=>e.alarms.length?(l(),h(`div`,de,[m(`span`,fe,[i[0]||=m(`span`,{class:`i-tabler-bell-ringing bell`},null,-1),S(` `+r(t.$t(`daq.k1alarm141`))+` `,1),m(`b`,pe,r(e.alarms.length),1)]),m(`div`,J,[(l(!0),h(g,null,u(e.alarms,e=>(l(),h(`span`,{key:e.id,class:`alarm-item`,title:t.$t(`daq.k1esc143`,{p0:e.escalation})},[m(`b`,null,r(e.nodeName),1),m(`span`,he,r(e.metric),1),m(`span`,Y,r(e.value)+` `+r(e.rule===`lt-min`?`<`:`>`)+` `+r(e.threshold),1),e.escalation>0?(l(),h(`small`,ge,`+`+r(e.escalation),1)):v(``,!0),m(`button`,{class:`mini-btn ack`,onClick:t=>n(`ack`,e.id)},r(t.$t(`daq.k1ack142`)),9,X)],8,me))),128))])])):v(``,!0)}}),{__name:`DaqAlarmBar`}),Z={class:`aw-tile ctrl-card`},ve={class:`ctrl-row`},Q={class:`ctrl-left`},ye=[`title`],be={class:`cycle mono`},xe=[`title`],Se={class:`ctrl-right`},Ce={class:`ctrl-metrics mono`},we=[`title`],Te=[`title`],Ee=[`title`],De=[`title`],Oe={class:`line-strip`},ke={class:`strip-label`},Ae={class:`mono`},je={class:`strip-scroll`},Me={key:0,class:`lp-run`},Ne={key:1,class:`lp-idle`},Pe={class:`lp-idle`},Fe=Object.assign(c({__name:`DaqControlCard`,props:_({meta:{},lines:{},lineStateOf:{type:Function}},{controller:{required:!0},controllerModifiers:{}}),emits:_([`action`,`config`,`open-add`,`open-templates`],[`update:controller`]),setup(e,{emit:i}){let a=i,s=o(e,`controller`);return(i,o)=>{let c=O;return l(),h(`section`,Z,[m(`div`,ve,[m(`div`,Q,[m(`button`,{class:t([`aw-pill`,{running:s.value.running}]),title:i.$t(`daq.k1snap145`),onClick:o[0]||=e=>a(`action`,s.value.running?`pause`:`resume`)},[m(`span`,{class:t(s.value.running?`i-tabler-player-pause`:`i-tabler-player-play`)},null,2),S(` `+r(s.value.running?i.$t(`daq.kpui00095`):i.$t(`daq.knxpdpt111`)),1)],10,ye),m(`label`,be,[S(r(i.$t(`daq.k1ifahxj016`))+` `,1),x(m(`input`,{"onUpdate:modelValue":o[1]||=e=>s.value.defaultIntervalMs=e,type:`number`,min:`200`,max:`60000`,step:`100`,onChange:o[2]||=e=>a(`config`,s.value.defaultIntervalMs,s.value.defaultPublishIntervalMs)},null,544),[[C,s.value.defaultIntervalMs,void 0,{number:!0}]]),o[7]||=S(`ms `,-1)]),m(`label`,{class:`cycle mono`,title:i.$t(`daq.k1e8lcoo001`)},[S(r(i.$t(`daq.k1if98n0017`))+` `,1),x(m(`input`,{"onUpdate:modelValue":o[3]||=e=>s.value.defaultPublishIntervalMs=e,type:`number`,min:`0`,max:`60000`,step:`100`,onChange:o[4]||=e=>a(`config`,s.value.defaultIntervalMs,s.value.defaultPublishIntervalMs)},null,544),[[C,s.value.defaultPublishIntervalMs,void 0,{number:!0}]]),o[8]||=S(`ms `,-1)],8,xe)]),m(`div`,Se,[m(`span`,Ce,[m(`span`,null,r(i.$t(`daq.k45uio067`))+` `+r(s.value.nodesOnline)+`/`+r(s.value.nodesTotal),1),o[9]||=m(`span`,{class:`sep`},`·`,-1),m(`span`,{title:i.$t(`daq.k1yztsu4002`)},r(i.$t(`daq.k3xagp087`))+` `+r(e.meta.produced),9,we),o[10]||=m(`span`,{class:`sep`},`·`,-1),m(`span`,{title:i.$t(`daq.ko09iha003`)},r(i.$t(`daq.k427eu088`))+` `+r(e.meta.consumed),9,Te),o[11]||=m(`span`,{class:`sep`},`·`,-1),m(`span`,{class:t({warn:(e.meta.dropped??0)>0}),title:i.$t(`daq.k1droptip135`)},r(i.$t(`daq.k3w8go089`))+` `+r(e.meta.dropped),11,Ee),o[12]||=m(`span`,{class:`sep`},`·`,-1),m(`span`,{title:i.$t(`daq.kj1jbmw004`)},r(i.$t(`daq.k3wusd090`))+` `+r(e.meta.samplesStored),9,De)]),m(`button`,{class:`aw-pill outline add-btn`,onClick:o[5]||=e=>a(`open-templates`)},[o[13]||=m(`span`,{class:`i-tabler-adjustments-horizontal`},null,-1),S(` `+r(i.$t(`daq.k1f5cv0s018`)),1)]),m(`button`,{class:`aw-pill add-btn`,onClick:o[6]||=e=>a(`open-add`)},[o[14]||=m(`span`,{class:`i-tabler-plus`},null,-1),S(` `+r(i.$t(`daq.k1fn0ukb019`)),1)])])]),m(`div`,Oe,[m(`span`,ke,[o[15]||=m(`span`,{class:`i-tabler-route`},null,-1),S(` `+r(i.$t(`daq.k1b2o3b6020`)),1),m(`small`,Ae,r(e.lines.length),1)]),m(`div`,je,[(l(!0),h(g,null,u(e.lines,a=>(l(),b(c,{key:a.id,class:t([`line-pill`,{on:e.lineStateOf(a.id).active}]),style:n({"--lc":a.color}),to:`/dcw/${a.id}`,title:e.lineStateOf(a.id).active?i.$t(`daq.k3v957u120`,{p0:a.name,p1:e.lineStateOf(a.id).productName,p2:e.lineStateOf(a.id).recipeName}):i.$t(`daq.k1x7jnru121`,{p0:a.name})},{default:y(()=>[o[16]||=m(`span`,{class:`lp-dot`},null,-1),m(`b`,null,r(a.name),1),e.lineStateOf(a.id).active?(l(),h(`small`,Me,r(e.lineStateOf(a.id).recipeName??i.$t(`daq.k3vp67i096`)),1)):(l(),h(`small`,Ne,r(i.$t(`daq.k3zgkk021`)),1))]),_:2},1032,[`class`,`style`,`to`,`title`]))),128)),e.lines.length===0?(l(),b(c,{key:0,class:`line-pill`,to:`/dcw`},{default:y(()=>[o[17]||=m(`span`,{class:`lp-dot`},null,-1),m(`b`,null,r(i.$t(`daq.k1el12b1022`)),1),m(`small`,Pe,r(i.$t(`daq.k8jxxe8023`)),1)]),_:1})):v(``,!0)])])])}}}),{__name:`DaqControlCard`}),Ie={class:`modal`},Le={class:`m-title`},Re={class:`seg-row`},ze={class:`f-grid`},Be={class:`f`},Ve=[`value`],He={class:`f`},Ue=[`placeholder`],We={key:0,class:`f`},Ge=[`placeholder`],Ke={class:`f-grid`},qe={class:`f`},Je=[`value`],Ye={key:0,class:`f-grid driver-form`},Xe={key:0},Ze=[`onUpdate:modelValue`],Qe=[`value`],$e=[`onUpdate:modelValue`,`type`,`placeholder`],et={key:2,class:`hint`},tt={class:`test-row`},nt=[`disabled`],rt={key:1,class:`m-err`},it={class:`m-actions`},at=[`disabled`,`title`],ot=Object.assign(c({__name:`DaqAddNodeModal`,props:_({templates:{},driverCatalog:{},driverReady:{type:Function}},{open:{type:Boolean,required:!0},openModifiers:{},form:{required:!0},formModifiers:{}}),emits:_([`test`,`submit`,`close`],[`update:open`,`update:form`]),setup(e,{emit:n}){let i=n,a=o(e,`open`),s=o(e,`form`);return(n,o)=>a.value?(l(),h(`div`,{key:0,class:`modal-mask`,onClick:o[9]||=w(e=>i(`close`),[`self`])},[m(`div`,Ie,[m(`h3`,Le,r(n.$t(`daq.k19rioqa024`)),1),m(`div`,Re,[m(`button`,{class:t([`seg`,{on:s.value.scenario===`mock`}]),onClick:o[0]||=e=>s.value.scenario=`mock`},r(n.$t(`daq.k1p5c1un025`)),3),m(`button`,{class:t([`seg`,{on:s.value.scenario===`real`}]),onClick:o[1]||=e=>s.value.scenario=`real`},r(n.$t(`daq.k1cbcp3o026`)),3)]),m(`div`,ze,[m(`label`,Be,[m(`span`,null,r(n.$t(`daq.k1fsgerc027`)),1),x(m(`select`,{"onUpdate:modelValue":o[2]||=e=>s.value.template=e,class:`inp`},[(l(!0),h(g,null,u(e.templates,e=>(l(),h(`option`,{key:e.key,value:e.key},r(e.name)+` · `+r(e.ch)+`(`+r(e.min)+`~`+r(e.max)+` `+r(e.unit)+`)`+r(e.builtin?``:n.$t(`daq.kr45rk9097`)),9,Ve))),128))],512),[[E,s.value.template]])]),m(`label`,He,[m(`span`,null,r(n.$t(`daq.k1ce2k1y028`)),1),x(m(`input`,{"onUpdate:modelValue":o[3]||=e=>s.value.name=e,class:`inp`,placeholder:n.$t(`daq.kgpxzy3005`)},null,8,Ue),[[C,s.value.name]])]),s.value.scenario===`real`?(l(),h(`label`,We,[m(`span`,null,r(n.$t(`daq.k13mfsfc029`)),1),x(m(`input`,{"onUpdate:modelValue":o[4]||=e=>s.value.interval=e,type:`number`,min:`1000`,max:`60000`,step:`500`,class:`inp`,placeholder:n.$t(`daq.k1eg1000a136`)},null,8,Ge),[[C,s.value.interval,void 0,{number:!0}]])])):v(``,!0)]),s.value.scenario===`real`?(l(),h(g,{key:0},[m(`div`,Ke,[m(`label`,qe,[m(`span`,null,r(n.$t(`daq.k1kt87rx030`)),1),x(m(`select`,{"onUpdate:modelValue":o[5]||=e=>s.value.driver=e,class:`inp`},[(l(!0),h(g,null,u(e.driverCatalog.filter(e=>e.status!==`planned`),t=>(l(),h(`option`,{key:t.kind,value:t.kind},r(t.label)+r(t.plugin?` ⌁`:``)+r(e.driverReady(t.kind)?``:n.$t(`daq.kjbqphp098`)),9,Je))),128))],512),[[E,s.value.driver]])])]),s.value.fields.length?(l(),h(`div`,Ye,[(l(!0),h(g,null,u(s.value.fields,e=>(l(),h(`label`,{key:e.key,class:`f`},[m(`span`,null,[S(r(e.label),1),e.required?(l(),h(`em`,Xe,`*`)):v(``,!0)]),e.type===`select`?x((l(),h(`select`,{key:0,"onUpdate:modelValue":t=>s.value.cfg[e.key]=t,class:`inp`},[(l(!0),h(g,null,u(e.options,e=>(l(),h(`option`,{key:e.value,value:e.value},r(e.label),9,Qe))),128))],8,Ze)),[[E,s.value.cfg[e.key]]]):x((l(),h(`input`,{key:1,"onUpdate:modelValue":t=>s.value.cfg[e.key]=t,type:e.type===`number`?`number`:`text`,placeholder:e.placeholder,class:`inp`},null,8,$e)),[[T,s.value.cfg[e.key]]]),e.hint?(l(),h(`small`,et,r(e.hint),1)):v(``,!0)]))),128))])):v(``,!0),m(`div`,tt,[m(`button`,{class:`pill-btn`,disabled:s.value.testing,onClick:o[6]||=e=>i(`test`)},r(s.value.testing?n.$t(`daq.k1fsh720099`):n.$t(`daq.k1fstglk112`)),9,nt),s.value.test?(l(),h(`span`,{key:0,class:t([`test-result`,s.value.test.ok?`ok`:`bad`])},[S(r(s.value.test.ok?`✓`:`✗`)+` `+r(s.value.test.message),1),s.value.test.latencyMs==null?v(``,!0):(l(),h(g,{key:0},[S(`(`+r(s.value.test.latencyMs)+`ms)`,1)],64))],2)):v(``,!0)])],64)):v(``,!0),s.value.error?(l(),h(`p`,rt,r(s.value.error),1)):v(``,!0),m(`div`,it,[m(`button`,{class:`aw-pill outline`,onClick:o[7]||=e=>i(`close`)},r(n.$t(`daq.k3xdnn031`)),1),m(`button`,{class:`aw-pill`,disabled:s.value.saving||s.value.scenario===`real`&&s.value.test!=null&&!s.value.test.ok,title:s.value.scenario===`real`&&!(s.value.test&&s.value.test.ok)?n.$t(`daq.k1needtst137`):``,onClick:o[8]||=e=>i(`submit`)},r(s.value.saving?n.$t(`daq.k1bg4759100`):s.value.scenario===`real`?n.$t(`daq.k7pxjxo113`):n.$t(`daq.k1bge46t118`)),9,at)])])])):v(``,!0)}}),{__name:`DaqAddNodeModal`}),st={class:`modal`},ct={class:`m-title`},lt={class:`sec-label`},ut={class:`tpl-table`},dt={class:`mono dim`},ft={class:`mono range`},pt={class:`right actions`},mt=[`onClick`],ht=[`onClick`],gt={key:0},_t={colspan:`3`,class:`empty`},vt={class:`sec-label`},yt={class:`f-grid`},bt={class:`f`},xt=[`placeholder`],St={class:`f`},Ct=[`placeholder`],wt={class:`f`},Tt=[`placeholder`],Et={class:`f`},Dt=[`placeholder`],Ot={class:`f`},kt={class:`f`},At={class:`f`},jt={class:`f`},Mt=[`value`],Nt={class:`f`},Pt={class:`hint`},Ft={class:`f`},It={class:`hint`},Lt={key:0,class:`m-err`},Rt={class:`m-actions`},zt=[`disabled`],Bt={class:`sec-label`},Vt={class:`tpl-table`},Ht={class:`mono dim`},Ut={class:`mono range`},Wt={class:`right actions`},Gt=[`onClick`],Kt=Object.assign(c({__name:`DaqTemplateModal`,props:_({customTpls:{},builtinTpls:{},iconChoices:{},iconLabels:{},editing:{},saving:{type:Boolean},error:{},confirmingDel:{}},{open:{type:Boolean,required:!0},openModifiers:{},form:{required:!0},formModifiers:{}}),emits:_([`edit`,`copy`,`remove`,`reset`,`save`,`close`],[`update:open`,`update:form`]),setup(e,{emit:t}){let n=t,i=o(e,`open`),a=o(e,`form`);return(t,o)=>i.value?(l(),h(`div`,{key:0,class:`modal-mask`,onClick:o[12]||=w(e=>n(`close`),[`self`])},[m(`div`,st,[m(`h3`,ct,r(t.$t(`daq.k11mv96s032`)),1),m(`p`,lt,r(t.$t(`daq.ktji4ky033`)),1),m(`table`,ut,[m(`tbody`,null,[(l(!0),h(g,null,u(e.customTpls,i=>(l(),h(`tr`,{key:i.key},[m(`td`,null,[m(`b`,null,r(i.name),1),m(`small`,dt,r(i.code),1)]),m(`td`,ft,r(i.min)+`~`+r(i.max)+` `+r(i.unit)+` · `+r(i.decimals)+` `+r(t.$t(`daq.k48oi091`)),1),m(`td`,pt,[m(`button`,{class:`mini-btn`,onClick:e=>n(`edit`,i)},r(t.$t(`daq.k45eb0034`)),9,mt),m(`button`,{class:`mini-btn danger`,onClick:e=>n(`remove`,i)},r(e.confirmingDel===i.key?t.$t(`daq.k1hhheu3101`):t.$t(`daq.k3xakp114`)),9,ht)])]))),128)),e.customTpls.length?v(``,!0):(l(),h(`tr`,gt,[m(`td`,_t,r(t.$t(`daq.kztvzbo035`)),1)]))])]),m(`p`,vt,r(e.editing?t.$t(`daq.k1iiph0s102`):t.$t(`daq.k1efixrj115`)),1),m(`div`,yt,[m(`label`,bt,[m(`span`,null,[S(r(t.$t(`daq.k3xhia036`)),1),o[13]||=m(`em`,null,`*`,-1)]),x(m(`input`,{"onUpdate:modelValue":o[0]||=e=>a.value.name=e,class:`inp`,placeholder:t.$t(`daq.k5opd2t006`)},null,8,xt),[[C,a.value.name]])]),m(`label`,St,[m(`span`,null,[S(r(t.$t(`daq.k3x4ef037`)),1),o[14]||=m(`em`,null,`*`,-1)]),x(m(`input`,{"onUpdate:modelValue":o[1]||=e=>a.value.unit=e,class:`inp`,placeholder:t.$t(`daq.unitPh`)},null,8,Ct),[[C,a.value.unit]])]),m(`label`,wt,[m(`span`,null,r(t.$t(`daq.k1l477m0038`)),1),x(m(`input`,{"onUpdate:modelValue":o[2]||=e=>a.value.ch=e,class:`inp`,placeholder:t.$t(`daq.kk8o4tl007`)},null,8,Tt),[[C,a.value.ch]])]),m(`label`,Et,[m(`span`,null,r(t.$t(`daq.k1ayxrqb039`)),1),x(m(`input`,{"onUpdate:modelValue":o[3]||=e=>a.value.code=e,class:`inp`,placeholder:t.$t(`daq.kzn3l7l008`)},null,8,Dt),[[C,a.value.code]])]),m(`label`,Ot,[m(`span`,null,[S(r(t.$t(`daq.k1l9jv5m040`)),1),o[15]||=m(`em`,null,`*`,-1)]),x(m(`input`,{"onUpdate:modelValue":o[4]||=e=>a.value.min=e,type:`number`,class:`inp`},null,512),[[C,a.value.min,void 0,{number:!0}]])]),m(`label`,kt,[m(`span`,null,[S(r(t.$t(`daq.k1l9jv4p041`)),1),o[16]||=m(`em`,null,`*`,-1)]),x(m(`input`,{"onUpdate:modelValue":o[5]||=e=>a.value.max=e,type:`number`,class:`inp`},null,512),[[C,a.value.max,void 0,{number:!0}]])]),m(`label`,At,[m(`span`,null,r(t.$t(`daq.k3mxmcx042`)),1),x(m(`input`,{"onUpdate:modelValue":o[6]||=e=>a.value.decimals=e,type:`number`,min:`0`,max:`4`,class:`inp`},null,512),[[C,a.value.decimals,void 0,{number:!0}]])]),m(`label`,jt,[m(`span`,null,r(t.$t(`daq.k3xx56043`)),1),x(m(`select`,{"onUpdate:modelValue":o[7]||=e=>a.value.icon=e,class:`inp`},[(l(!0),h(g,null,u(e.iconChoices,t=>(l(),h(`option`,{key:t,value:t},r(e.iconLabels[t]),9,Mt))),128))],512),[[E,a.value.icon]])]),m(`label`,Nt,[m(`span`,null,r(t.$t(`daq.k1f4eknv044`)),1),x(m(`input`,{"onUpdate:modelValue":o[8]||=e=>a.value.base=e,type:`number`,class:`inp`},null,512),[[C,a.value.base,void 0,{number:!0}]]),m(`small`,Pt,r(t.$t(`daq.kytd15s045`)),1)]),m(`label`,Ft,[m(`span`,null,r(t.$t(`daq.k1f4ifpo046`)),1),x(m(`input`,{"onUpdate:modelValue":o[9]||=e=>a.value.amp=e,type:`number`,class:`inp`},null,512),[[C,a.value.amp,void 0,{number:!0}]]),m(`small`,It,r(t.$t(`daq.ksp2aji047`)),1)])]),e.error?(l(),h(`p`,Lt,r(e.error),1)):v(``,!0),m(`div`,Rt,[m(`button`,{class:`aw-pill outline`,onClick:o[10]||=e=>n(`reset`)},r(t.$t(`daq.k48p40048`)),1),m(`button`,{class:`pill-btn`,disabled:e.saving,onClick:o[11]||=e=>n(`save`)},r(e.saving?t.$t(`daq.k1b38d59103`):e.editing?t.$t(`daq.k1b39281116`):t.$t(`daq.k1b3dtga119`)),9,zt)]),m(`p`,Bt,r(t.$t(`daq.k1w8s84s049`)),1),m(`table`,Vt,[m(`tbody`,null,[(l(!0),h(g,null,u(e.builtinTpls,e=>(l(),h(`tr`,{key:e.key},[m(`td`,null,[m(`b`,null,r(e.name),1),m(`small`,Ht,r(e.code),1)]),m(`td`,Ut,r(e.min)+`~`+r(e.max)+` `+r(e.unit)+` · `+r(e.decimals)+` `+r(t.$t(`daq.k48oi091`)),1),m(`td`,Wt,[m(`button`,{class:`mini-btn`,onClick:t=>n(`copy`,e)},r(t.$t(`daq.k3y694050`)),9,Gt)])]))),128))])])])])):v(``,!0)}}),{__name:`DaqTemplateModal`}),qt={class:`aw-tile opt-card`},Jt={class:`opt-count mono`},Yt={class:`opt-filters`},Xt=[`value`],Zt={value:``},Qt=[`value`],$t=[`value`],en={value:``},tn=[`value`],nn={key:0,class:`opt-empty`},rn={class:`opt-list`},an={class:`opt-line1`},on={class:`opt-node`},sn={class:`mono opt-params`},cn={class:`mono opt-time`},ln=[`disabled`,`onClick`],un=[`onClick`],dn={class:`opt-line2 mono`},fn={key:1,class:`opt-open-hint`},pn={key:2,class:`opt-agg`},mn={key:3,class:`opt-agg`},hn={key:0,class:`opt-series`},gn={class:`opt-spark`,viewBox:`0 0 240 36`,preserveAspectRatio:`none`},_n=[`points`],vn={class:`mono`},yn={key:0,class:`opt-empty`},bn=Object.assign(c({__name:`DaqOptPanel`,props:{optimizations:{},lines:{},open:{type:Boolean},mounted:{type:Boolean},filterLine:{},filterRecipe:{},recipeOptions:{},seriesOf:{},seriesLoading:{},statusKey:{type:Function},seriesPath:{type:Function},fmtPoint:{type:Function}},emits:[`toggle`,`selectLine`,`selectRecipe`,`line-change`,`filter`,`series`,`rollback`],setup(e,{emit:n}){let i=n;function a(e){i(`selectLine`,e.target.value),i(`line-change`)}function o(e){i(`selectRecipe`,e.target.value),i(`filter`)}return(n,s)=>(l(),h(`section`,qt,[m(`button`,{class:`opt-head`,onClick:s[0]||=e=>i(`toggle`)},[s[2]||=m(`span`,{class:`i-tabler-flask`},null,-1),m(`b`,null,r(n.$t(`daq.k1optt001`)),1),m(`span`,Jt,r(e.optimizations.length),1),m(`span`,{class:t([`opt-chevron`,{open:e.open}])},null,2)]),m(`div`,{class:t([`opt-body`,{open:e.open}])},[e.mounted?(l(),h(g,{key:0},[m(`div`,Yt,[m(`select`,{value:e.filterLine,class:`inp-sel`,onChange:a},[m(`option`,Zt,r(n.$t(`daq.k1optf001`)),1),(l(!0),h(g,null,u(e.lines,e=>(l(),h(`option`,{key:e.id,value:e.id},r(e.name),9,Qt))),128))],40,Xt),m(`select`,{value:e.filterRecipe,class:`inp-sel`,onChange:o},[m(`option`,en,r(n.$t(`daq.k1optf004`)),1),(l(!0),h(g,null,u(e.recipeOptions,e=>(l(),h(`option`,{key:e.id,value:e.id},r(e.name),9,tn))),128))],40,$t),m(`button`,{class:`mini-act`,onClick:s[1]||=e=>i(`filter`)},r(n.$t(`daq.k1optf002`)),1)]),e.optimizations.length===0?(l(),h(`p`,nn,r(n.$t(`daq.k1opte001`)),1)):v(``,!0),m(`ul`,rn,[(l(!0),h(g,null,u(e.optimizations.slice(0,30),a=>(l(),h(`li`,{key:a.id,class:t([`opt-row`,a.status])},[m(`div`,an,[m(`span`,{class:t([`opt-status`,a.status])},r(n.$t(e.statusKey(a.status))),3),m(`b`,on,r(a.nodeName),1),m(`span`,sn,r(a.params[0]?.from??`?`)+` → `+r(a.params[0]?.to),1),m(`span`,cn,r(a.setAt.slice(5,16).replace(`T`,` `)),1),e.seriesOf[a.id]?v(``,!0):(l(),h(`button`,{key:0,class:`mini-act`,disabled:e.seriesLoading===a.id,onClick:e=>i(`series`,a.id)},r(n.$t(`daq.k1opta001`)),9,ln)),a.status===`open`?(l(),h(`button`,{key:1,class:`mini-act danger`,onClick:e=>i(`rollback`,a.id)},r(n.$t(`daq.k1opta002`)),9,un)):v(``,!0)]),m(`div`,dn,[a.judge?(l(),h(`span`,{key:0,class:t([`opt-judge`,a.judge.verdict])},r(a.judge.verdict)+`(`+r(a.judge.by)+`): `+r(a.judge.reason.slice(0,70)),3)):a.status===`open`?(l(),h(`span`,fn,r(n.$t(`daq.k1opto001`)),1)):v(``,!0),a.aggPending?(l(),h(`span`,pn,r(n.$t(`daq.k1optw001`)),1)):a.windowAgg&&a.windowAgg.channels.length?(l(),h(`span`,mn,[(l(!0),h(g,null,u(a.windowAgg.channels,t=>(l(),h(g,{key:t.daqNodeId},[S(r(t.ch)+` `+r(e.fmtPoint(t.min))+`~`+r(e.fmtPoint(t.max))+`(`+r(n.$t(`daq.k1optw002`))+r(t.breaches<0?`-`:t.breaches)+`) `,1)],64))),128))])):v(``,!0)]),e.seriesOf[a.id]?(l(),h(`div`,hn,[(l(!0),h(g,null,u(e.seriesOf[a.id]?.channels??[],t=>(l(),h(`div`,{key:t.nodeId,class:`opt-ch`},[(l(),h(`svg`,gn,[m(`polyline`,{points:e.seriesPath(t.points)},null,8,_n)])),m(`span`,vn,r(t.ch)+` `+r(e.fmtPoint(t.points.at(-1)?.value??t.points.at(-1)?.avg))+r(t.unit),1)]))),128)),(e.seriesOf[a.id]?.channels.length??0)===0?(l(),h(`p`,yn,r(n.$t(`daq.k1opte002`)),1)):v(``,!0)])):v(``,!0)],2))),128))])],64)):v(``,!0)],2)]))}}),{__name:`DaqOptPanel`}),xn={class:`mono dim`},Sn={class:`mono ch`},Cn=[`title`],wn=[`title`],Tn={class:`trend-cell`},En=[`title`],Dn=[`y1`,`y2`],On=[`y1`,`y2`],kn=[`points`],An=[`y1`,`y2`],jn={class:`mono`},Mn={class:`mono`},Nn=[`title`],Pn=[`value`,`title`],Fn={value:``},In=[`value`],Ln=[`title`],Rn={key:1,class:`run-pill na`},zn={class:`prod-cell`},Bn=[`title`],Vn=[`title`],Hn={key:1,class:`dim`},Un={class:`dev-binds`},Wn=[`title`],Gn=[`onClick`],Kn=[`title`],qn={value:``},Jn=[`value`,`disabled`],Yn={class:`right`},Xn=[`title`],Zn=120,$=26,Qn=Object.assign(M(c({__name:`DaqNodeRow`,props:{n:{}},setup(n){let i=n,{t:a}=k(),o=I(),s=L(),c=ne();function p(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 _(e){return e.enabled?e.lineId?s.lineStateOf(e.lineId).active?!o.controller.running||p(e)?`offline`:e.state:`idle`:`unassigned`:`disabled`}function b(e){let t=_(e);return t===`ok`||t===`warn`||t===`alarm`}function x(e){if(!e.lineId)return null;let t=s.lineStateOf(e.lineId);return!t.active||!t.recipeId?null:s.recipes.find(e=>e.id===t.recipeId)?.daqWindows?.find(t=>t.nodeId===e.id)??null}function C(e){let t=x(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=x(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 T(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)*Zn).toFixed(1)},${($-(e-n)/r*24-1).toFixed(1)}`).join(` `)}function E(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(($-(t-r)/i*24-1).toFixed(1))}function D(e){let t=_(e),n=a(`daq.k44c2n065`);if(t===`offline`)return e.lastError?{key:t,label:n,tip:e.lastError}:{key:t,label:n,tip:o.controller.running?a(`daq.k1staled129`,{p0:Math.round(Math.max((e.intervalMs??o.controller.defaultIntervalMs)*4,12e3)/1e3)}):a(`daq.k1gateoff140`)};let r={ok:a(`daq.k41k5c062`),warn:a(`daq.k49z8v063`),alarm:a(`daq.k3xmid064`),offline:n,idle:a(`daq.k3ozyqz117`),disabled:a(`daq.k1disabl130`),unassigned:a(`daq.k3ootr6053`)};if(t===`idle`)return{key:t,label:r.idle,tip:a(`daq.k1idlehin139`)};if((t===`ok`||t===`warn`||t===`alarm`)&&C(e)){let t=x(e);return{key:`alarm`,label:a(`daq.k1l3pt51104`),tip:a(`daq.k1hrrqa1122`,{p0:t?.min??`-∞`,p1:t?.max??`+∞`,p2:``})}}return{key:t,label:r[t],tip:``}}function j(e){let t=o.templates.find(t=>t.key===te(e));return t?`${t.name} · ${t.ch}`:e||`-`}let M=e=>e==null?a(`daq.k9vnp9h124`,{p0:o.controller.defaultIntervalMs}):`${e}ms`,ee=e=>e==null?a(`daq.k9vnp9h124`,{p0:o.controller.defaultPublishIntervalMs}):e===0?a(`daq.k41mvv078`):`${e}ms`,P=e=>o.meta.drivers.find(t=>t.kind===e)?.status===`planned`,F=e=>e.deviceIds??(e.deviceBindingId?[e.deviceBindingId]:[]),R=e=>c.twins.find(t=>t.id===e)?.name??e,re=f(()=>c.twins.filter(e=>e.kind!==`daq`&&!(e.modelRef??``).startsWith(`daq-`)&&!(e.modelRef??``).startsWith(`dcw-`))),z=f(()=>{let e=i.n,t=w(e),n=e.lineId?s.lineStateOf(e.lineId):null;return{tpl:j(e.templateRef),pill:D(e),alarm:C(e),live:b(e),trend:T(e.hist),limMin:E(e.hist,t.min),limMax:E(e.hist,t.max),interval:M(e.intervalMs),publish:ee(e.publishIntervalMs),lineActive:!!n?.active,lineProduct:n?.productName??``,lineRecipe:n?.recipeName??``}});async function ie(){let e=i.n,t=!e.enabled;try{await o.patchNode(e.id,{enabled:t}),e.enabled=t,t||(e.state=`offline`),A.success(a(t?`daq.k1nodestart147`:`daq.k1nodestop146`))}catch(e){A.error(N(e))}}async function ae(e){let t=e.target.value;try{await o.patchNode(i.n.id,{lineId:t});let e=i.n;e.lineId=t}catch(e){A.error(N(e))}}async function oe(e){let t=e.target.value;if(!t)return;let n=i.n;if(!n.deviceIds?.includes(t)){try{await o.setNodeBindings(n.id,[...n.deviceIds??[],t])}catch(e){A.error(N(e))}e.target.value=``}}async function B(e){let t=i.n;try{await o.setNodeBindings(t.id,(t.deviceIds??[]).filter(t=>t!==e))}catch(e){A.error(N(e))}}return(i,a)=>{let o=O;return l(),h(`tr`,{class:t({"row-recipe-alarm":z.value.alarm})},[m(`td`,null,[m(`span`,xn,r(n.n.id.slice(0,8)),1),m(`b`,null,r(n.n.name),1),m(`small`,Sn,r(z.value.tpl),1)]),m(`td`,null,[m(`span`,{class:t([`st-pill`,[z.value.pill.key]]),title:z.value.pill.tip},r(z.value.pill.label),11,Cn)]),m(`td`,{class:t([`mono val`,{stale:!z.value.live,"val-alarm":n.n.state===`alarm`||z.value.alarm}]),title:z.value.live?void 0:z.value.pill.tip},[S(r(n.n.value==null?`--`:n.n.value.toFixed(n.n.decimals))+` `,1),m(`small`,null,r(n.n.unit),1)],10,wn),m(`td`,Tn,[(l(),h(`svg`,{class:`trend`,viewBox:`0 0 120 26`,preserveAspectRatio:`none`,title:i.$t(`daq.k1trnd002`)},[z.value.limMin==null?v(``,!0):(l(),h(`line`,{key:0,class:`lim`,x1:`0`,y1:z.value.limMin,x2:`120`,y2:z.value.limMin},null,8,Dn)),z.value.limMax==null?v(``,!0):(l(),h(`line`,{key:1,class:`lim max`,x1:`0`,y1:z.value.limMax,x2:`120`,y2:z.value.limMax},null,8,On)),z.value.trend?(l(),h(`polyline`,{key:2,class:t([`trace`,{alarm:n.n.state===`alarm`||z.value.alarm}]),points:z.value.trend},null,10,kn)):(l(),h(`line`,{key:3,class:`trace-idle`,x1:`0`,y1:$/2,x2:`120`,y2:$/2},null,8,An))],8,En))]),m(`td`,jn,r(z.value.interval),1),m(`td`,Mn,r(z.value.publish),1),m(`td`,null,[m(`span`,{class:t([`drv-tag`,{planned:P(n.n.driver)}]),title:P(n.n.driver)?i.$t(`daq.k1plndrv138`):``},r(n.n.driver),11,Nn)]),m(`td`,null,[m(`select`,{class:`line-sel`,value:n.n.lineId,title:i.$t(`daq.k3q23v3010`),onChange:ae},[m(`option`,Fn,r(i.$t(`daq.k3ootr6053`)),1),(l(!0),h(g,null,u(e(s).lines,e=>(l(),h(`option`,{key:e.id,value:e.id},r(e.name),9,In))),128))],40,Pn)]),m(`td`,null,[n.n.lineId?(l(),h(`span`,{key:0,class:t([`run-pill`,{on:z.value.lineActive}]),title:i.$t(`daq.k1runtipc131`)},[a[0]||=m(`span`,{class:`rp-dot`},null,-1),S(` `+r(z.value.lineActive?i.$t(`daq.k3vp67i096`):i.$t(`daq.k3ozyqz117`)),1)],10,Ln)):(l(),h(`span`,Rn,r(i.$t(`daq.k3ootr6053`)),1))]),m(`td`,zn,[n.n.lineId&&z.value.lineActive?(l(),h(g,{key:0},[m(`b`,{title:i.$t(`daq.k1prdrtip132`)},r(z.value.lineProduct||`--`),9,Bn),m(`small`,{class:`mono`,title:i.$t(`daq.k1prdrtip132`)},r(z.value.lineRecipe||`--`),9,Vn)],64)):(l(),h(`span`,Hn,`--`))]),m(`td`,null,[m(`div`,Un,[(l(!0),h(g,null,u(F(n.n),e=>(l(),h(`span`,{key:e,class:`dev-bind-chip`,title:i.$t(`daq.k2bindtip137`)},[S(r(R(e))+` `,1),m(`span`,{class:`dev-unbind`,title:`unbind`,onClick:t=>B(e)},`✕`,8,Gn)],8,Wn))),128)),m(`select`,{class:`line-sel dev-add`,value:``,title:i.$t(`daq.k2bindtip137`),onChange:oe},[m(`option`,qn,r(i.$t(`daq.k3own4q056`)),1),(l(!0),h(g,null,u(re.value,e=>(l(),h(`option`,{key:e.id,value:e.id,disabled:(n.n.deviceIds??[]).includes(e.id)},r(R(e.id)),9,Jn))),128))],40,Kn)])]),m(`td`,Yn,[m(`button`,{class:t([`node-toggle`,{off:!n.n.enabled}]),title:n.n.enabled?i.$t(`daq.k1nodestop146`):i.$t(`daq.k1nodestart147`),onClick:ie},[m(`span`,{class:t(n.n.enabled?`i-tabler-player-pause`:`i-tabler-player-play`)},null,2),S(` `+r(n.n.enabled?i.$t(`daq.k1nodestop146`):i.$t(`daq.k1nodestart147`)),1)],10,Xn),d(o,{class:`console-link`,to:`/daq/${n.n.id}`},{default:y(()=>[a[1]||=m(`span`,{class:`i-tabler-dashboard`},null,-1),S(` `+r(i.$t(`daq.k3o3jg2074`)),1)]),_:1},8,[`to`])])],2)}}}),[[`__scopeId`,`data-v-4b6f87e1`]]),{__name:`WorkshopDaqNodeRow`}),$n={class:`aw-tile table-card`},er={class:`tbl-toolbar`},tr={class:`filters`},nr={class:`flt`},rr={value:``},ir=[`value`],ar={value:`none`},or={class:`flt`},sr={value:``},cr=[`value`],lr={value:`none`},ur=[`title`],dr={value:``},fr={value:`on`},pr={value:`off`},mr={class:`flt`},hr={value:``},gr={value:`ok`},_r={value:`warn`},vr={value:`alarm`},yr={value:`offline`},br={class:`flt`},xr={value:``},Sr=[`value`],Cr={class:`flt`},wr={value:``},Tr=[`value`],Er=[`title`],Dr={value:``},Or={value:`live`},kr={value:`hour`},Ar={value:`day`},jr={value:`old`},Mr={value:`never`},Nr={class:`flt`},Pr=[`placeholder`],Fr={class:`count mono`},Ir={class:`ops-panels`},Lr={class:`panel-head`},Rr={class:`panel-body`},zr={key:0,class:`panel-empty`},Br={class:`mono dim`},Vr={class:`mono`},Hr={key:0,class:`esc mono`},Ur=[`onClick`],Wr={class:`ops-panel event-panel`},Gr={class:`panel-head`},Kr={class:`panel-body`},qr={key:0,class:`panel-empty`},Jr={class:`mono dim t`},Yr=[`title`],Xr=[`title`],Zr=[`title`],Qr={class:`right`},$r={key:0,class:`vs-pad`,"aria-hidden":`true`},ei={key:1,class:`vs-pad`,"aria-hidden":`true`},ti={key:2},ni={colspan:`11`},ri={class:`pane-empty`,style:{"min-height":`120px`}},ii={class:`pe-sub`},ai={key:3},oi={colspan:`11`},si={class:`pane-empty`,style:{"min-height":`90px`}},ci={class:`pe-sub`},li=Object.assign(c({__name:`DaqNodePanel`,props:_({hasFilters:{type:Boolean},lines:{},boundDevices:{},templateOptions:{},driverOptions:{},filteredCount:{},totalCount:{},opsRecent:{},opsKindLabel:{type:Function},opsTime:{type:Function},alarms:{},visibleNodes:{},padTopPx:{},padBottomPx:{},loading:{type:Boolean},loaded:{type:Boolean},error:{}},{filters:{required:!0},filtersModifiers:{},tableEl:{required:!0},tableElModifiers:{}}),emits:_([`clear-filters`,`ack`],[`update:filters`,`update:tableEl`]),setup(e,{emit:i}){let a=i,s=o(e,`filters`),c=o(e,`tableEl`);return(i,o)=>{let f=O,p=Qn,_=j;return l(),b(_,{spinning:e.loading},{default:y(()=>[m(`section`,$n,[m(`div`,er,[m(`div`,tr,[m(`label`,nr,[m(`span`,null,r(i.$t(`daq.k3wj9n051`)),1),x(m(`select`,{"onUpdate:modelValue":o[0]||=e=>s.value.lineId=e,class:`inp-sel`},[m(`option`,rr,r(i.$t(`daq.k1bkl9uj052`)),1),(l(!0),h(g,null,u(e.lines,e=>(l(),h(`option`,{key:e.id,value:e.id},r(e.name),9,ir))),128)),m(`option`,ar,r(i.$t(`daq.k3ootr6053`)),1)],512),[[E,s.value.lineId]])]),m(`label`,or,[m(`span`,null,r(i.$t(`daq.k1i8rtqt054`)),1),x(m(`select`,{"onUpdate:modelValue":o[1]||=e=>s.value.deviceId=e,class:`inp-sel`},[m(`option`,sr,r(i.$t(`daq.k1bkw4m2055`)),1),(l(!0),h(g,null,u(e.boundDevices,e=>(l(),h(`option`,{key:e.id,value:e.id},r(e.name)+`(`+r(e.count)+`) `,9,cr))),128)),m(`option`,lr,r(i.$t(`daq.k3own4q056`)),1)],512),[[E,s.value.deviceId]])]),m(`label`,{class:`flt`,title:i.$t(`daq.khb8mru009`)},[m(`span`,null,r(i.$t(`daq.k1b2tkyv057`)),1),x(m(`select`,{"onUpdate:modelValue":o[2]||=e=>s.value.lineRun=e,class:`inp-sel`},[m(`option`,dr,r(i.$t(`daq.k3x4t1058`)),1),m(`option`,fr,r(i.$t(`daq.k1nxm3p7059`)),1),m(`option`,pr,r(i.$t(`daq.k1ulx34e060`)),1)],512),[[E,s.value.lineRun]])],8,ur),m(`label`,mr,[m(`span`,null,r(i.$t(`daq.k1iwdfef061`)),1),x(m(`select`,{"onUpdate:modelValue":o[3]||=e=>s.value.state=e,class:`inp-sel`},[m(`option`,hr,r(i.$t(`daq.k3x4t1058`)),1),m(`option`,gr,r(i.$t(`daq.k41k5c062`)),1),m(`option`,_r,r(i.$t(`daq.k49z8v063`)),1),m(`option`,vr,r(i.$t(`daq.k3xmid064`)),1),m(`option`,yr,r(i.$t(`daq.k44c2n065`)),1)],512),[[E,s.value.state]])]),m(`label`,br,[m(`span`,null,r(i.$t(`daq.k1flttpl010`)),1),x(m(`select`,{"onUpdate:modelValue":o[4]||=e=>s.value.template=e,class:`inp-sel`},[m(`option`,xr,r(i.$t(`daq.k1flttpl011`)),1),(l(!0),h(g,null,u(e.templateOptions,e=>(l(),h(`option`,{key:e.ref,value:e.ref},r(e.label)+`(`+r(e.count)+`) `,9,Sr))),128))],512),[[E,s.value.template]])]),m(`label`,Cr,[m(`span`,null,r(i.$t(`daq.k1fltdrv012`)),1),x(m(`select`,{"onUpdate:modelValue":o[5]||=e=>s.value.driver=e,class:`inp-sel`},[m(`option`,wr,r(i.$t(`daq.k1fltdrv013`)),1),(l(!0),h(g,null,u(e.driverOptions,e=>(l(),h(`option`,{key:e.kind,value:e.kind},r(e.label)+`(`+r(e.count)+`) `,9,Tr))),128))],512),[[E,s.value.driver]])]),m(`label`,{class:`flt`,title:i.$t(`daq.k1flttim014`)},[m(`span`,null,r(i.$t(`daq.k1flttim015`)),1),x(m(`select`,{"onUpdate:modelValue":o[6]||=e=>s.value.time=e,class:`inp-sel`},[m(`option`,Dr,r(i.$t(`daq.k1flttim016`)),1),m(`option`,Or,r(i.$t(`daq.k1timlv017`)),1),m(`option`,kr,r(i.$t(`daq.k1timhr018`)),1),m(`option`,Ar,r(i.$t(`daq.k1timdy019`)),1),m(`option`,jr,r(i.$t(`daq.k1timld020`)),1),m(`option`,Mr,r(i.$t(`daq.k1timnv021`)),1)],512),[[E,s.value.time]])],8,Er),m(`label`,Nr,[m(`span`,null,r(i.$t(`daq.k1fltsrc022`)),1),x(m(`input`,{"onUpdate:modelValue":o[7]||=e=>s.value.search=e,class:`inp-sel flt-search`,type:`search`,placeholder:i.$t(`daq.k1fltsph023`)},null,8,Pr),[[C,s.value.search]])]),e.hasFilters?(l(),h(`button`,{key:0,class:`mini-btn clear-btn`,onClick:o[8]||=e=>a(`clear-filters`)},r(i.$t(`daq.k1fygck2066`)),1)):v(``,!0)]),m(`span`,Fr,r(e.filteredCount)+` / `+r(e.totalCount)+` `+r(i.$t(`daq.k45uio067`)),1)]),m(`div`,Ir,[m(`div`,{class:t([`ops-panel alarm-panel`,{live:e.alarms.length>0}])},[m(`div`,Lr,[o[9]||=m(`span`,{class:`i-tabler-bell-ringing bell`},null,-1),m(`b`,null,r(i.$t(`daq.k1alarm141`)),1),m(`span`,{class:t([`mono cnt`,{hot:e.alarms.length>0}])},r(e.alarms.length),3)]),m(`div`,Rr,[e.alarms.length===0?(l(),h(`p`,zr,r(i.$t(`daq.k1evt001`)),1)):(l(!0),h(g,{key:1},u(e.alarms,e=>(l(),h(`div`,{key:e.id,class:`alarm-row`},[o[10]||=m(`span`,{class:`i-tabler-alert-triangle tri`},null,-1),m(`b`,null,r(e.nodeName),1),m(`span`,Br,r(e.metric),1),m(`span`,Vr,r(e.value)+` `+r(e.rule===`lt-min`?`<`:`>`)+` `+r(e.threshold),1),e.escalation>0?(l(),h(`small`,Hr,`+`+r(e.escalation),1)):v(``,!0),m(`button`,{class:`mini-btn ack`,onClick:t=>a(`ack`,e.id)},r(i.$t(`daq.k1ack142`)),9,Ur)]))),128))])],2),m(`div`,Wr,[m(`div`,Gr,[o[12]||=m(`span`,{class:`i-tabler-activity`},null,-1),m(`b`,null,r(i.$t(`daq.k1evt002`)),1),d(f,{class:`panel-link`,to:`/logs`},{default:y(()=>[S(r(i.$t(`daq.k1evt003`)),1),o[11]||=m(`span`,{class:`i-tabler-arrow-right`},null,-1)]),_:1})]),m(`div`,Kr,[e.opsRecent.length===0?(l(),h(`p`,qr,r(i.$t(`daq.k1evt004`)),1)):(l(!0),h(g,{key:1},u(e.opsRecent,(n,a)=>(l(),h(`div`,{key:`${n.at}:${n.actor}:${n.action}:${a}`,class:`evt-row`},[m(`span`,Jr,r(e.opsTime(n.at)),1),m(`span`,{class:t([`src-badge`,n.actorKind])},r(n.actorKind===`agent`?`Agent`:n.actorKind===`user`?i.$t(`logs.src.user`):i.$t(`logs.src.system`)),3),m(`span`,{class:t([`kind-chip`,n.kind])},r(e.opsKindLabel(n.kind)),3),m(`span`,{class:`txt`,title:n.summary},r(n.summary),9,Yr)]))),128))])])]),m(`table`,{ref_key:`tableEl`,ref:c,class:`nodes-table`},[m(`thead`,null,[m(`tr`,null,[m(`th`,null,r(i.$t(`daq.k45uio067`)),1),m(`th`,null,r(i.$t(`daq.k42w8s068`)),1),m(`th`,null,r(i.$t(`daq.k3mv305069`)),1),m(`th`,null,r(i.$t(`daq.k1trnd001`)),1),m(`th`,null,r(i.$t(`daq.k1l6g2ga070`)),1),m(`th`,null,r(i.$t(`daq.k3zi0nf071`)),1),m(`th`,null,r(i.$t(`daq.k4a0la072`)),1),m(`th`,null,r(i.$t(`daq.k3wj9n051`)),1),m(`th`,{title:i.$t(`daq.k1runtipc131`)},r(i.$t(`daq.k1b2tkyv057`)),9,Xr),m(`th`,{title:i.$t(`daq.k1prdrtip132`)},r(i.$t(`daq.k1prodrc128`)),9,Zr),m(`th`,null,r(i.$t(`daq.k1i8rtqt054`)),1),m(`th`,Qr,r(i.$t(`daq.k40aa6073`)),1)])]),m(`tbody`,null,[e.padTopPx>0?(l(),h(`tr`,$r,[m(`td`,{colspan:11,style:n({height:e.padTopPx+`px`})},null,4)])):v(``,!0),(l(!0),h(g,null,u(e.visibleNodes,e=>(l(),b(p,{key:e.id,n:e},null,8,[`n`]))),128)),e.padBottomPx>0?(l(),h(`tr`,ei,[m(`td`,{colspan:11,style:n({height:e.padBottomPx+`px`})},null,4)])):v(``,!0),e.loaded&&e.totalCount===0?(l(),h(`tr`,ti,[m(`td`,ni,[m(`div`,ri,[m(`p`,ii,r(i.$t(`daq.kvhjyc3075`)),1)])])])):e.loaded&&e.filteredCount===0?(l(),h(`tr`,ai,[m(`td`,oi,[m(`div`,si,[m(`p`,ci,r(i.$t(`daq.k1w20qew076`)),1)])])])):v(``,!0)])],512)])]),_:1},8,[`spinning`])}}}),{__name:`DaqNodePanel`}),ui={class:`page`},di={class:`aw-page-head`},fi={class:`sub`},pi={class:`badges mono`},mi=[`title`],hi=[`title`],gi={key:0,class:`err`},_i=c({__name:`index`,setup(t){let{t:n}=k();P({layout:`default`}),D({title:()=>n(`titles.daq`)});let o=I(),c=L(),u=ee(),g=f(()=>c.lines.some(e=>c.lineStateOf(e.id).active)),_=ce();function b(e){return{write:n(`logs.kind.write`),manual:n(`logs.kind.manual`),alarm:n(`logs.kind.alarm`),line:n(`logs.kind.line`),recipe:n(`logs.kind.recipe`),rollback:n(`logs.kind.rollback`),daq:n(`logs.kind.daq`),system:n(`logs.kind.system`)}[e]??(e||n(`logs.kind.system`))}function x(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 C(e){try{await o.ackAlarm(e),A.success(n(`daq.k1acked144`))}catch(e){A.error(N(e))}}let w=null;s(()=>{u.ensureConnected(),w=o.ensureWsFeed(),_.ensureLive(),o.load(),o.fetchAlarms(),c.load(),G.load(),c.loadOptimizations(),F(()=>{o.load(),o.fetchAlarms()},5e3,{bgMs:3e4}),F(()=>{c.load()},15e3,{bgMs:6e4})}),a(()=>{w?.()});let{filters:T,hasFilters:E,clearFilters:j,templateOptions:M,driverOptions:te,boundDevices:V,filteredNodes:H,filteredLine:U,filteredLineState:W}=z(),G=ne(),{driverCatalog:K,driverReady:q}=re(),{reconnecting:de,doReconnect:fe}=ie();function pe(e,t){o.controllerAction(`config`,e,t)}let{nodesTableRef:J,visibleNodes:me,padTopPx:he,padBottomPx:Y,resetToTop:ge}=ae(H);p(()=>H.value.length,()=>{ge()});let X=R(K,n),Z=B(n),ve=se(n),Q=oe();return(t,n)=>{let a=le,s=ue,u=_e,f=Fe,p=ot,w=Kt,D=bn,k=li,A=O;return l(),h(`div`,ui,[m(`div`,di,[m(`div`,null,[n[13]||=m(`p`,{class:`aw-kicker`},` AGENTWORKSHOP / DAQ CONSOLE `,-1),m(`h1`,null,r(t.$t(`daq.k1emg364011`)),1),m(`p`,fi,r(t.$t(`daq.k1wmg2bz012`)),1)]),m(`div`,pi,[m(`span`,{class:`badge`,title:t.$t(`daq.k1tsdbtip133`)},`TSDB · `+r(e(o).meta.tsdb),9,mi),m(`span`,{class:`badge`,title:t.$t(`daq.k1queuet134`)},`QUEUE · `+r(e(o).meta.queue),9,hi)])]),d(a,{loaded:e(o).loaded,"filtered-line":e(U),"filtered-line-state":e(W),"any-line-active":g.value},null,8,[`loaded`,`filtered-line`,`filtered-line-state`,`any-line-active`]),d(s,{infra:e(o).meta.infra,reconnecting:e(de),onReconnect:e(fe)},null,8,[`infra`,`reconnecting`,`onReconnect`]),d(u,{alarms:e(o).alarms,onAck:C},null,8,[`alarms`]),d(f,{controller:e(o).controller,"onUpdate:controller":n[0]||=t=>e(o).controller=t,meta:e(o).meta,lines:e(c).lines,"line-state-of":t=>e(c).lineStateOf(t),onAction:n[1]||=t=>e(o).controllerAction(t),onConfig:pe,onOpenAdd:n[2]||=t=>e(X).open.value=!0,onOpenTemplates:n[3]||=t=>{e(Z).tplOpen.value=!0,e(Z).resetTplForm()}},null,8,[`controller`,`meta`,`lines`,`line-state-of`]),d(p,{open:e(X).open.value,"onUpdate:open":n[4]||=t=>e(X).open.value=t,form:e(X).form,"onUpdate:form":n[5]||=t=>e(X).form=t,templates:e(o).templates,"driver-catalog":e(K),"driver-ready":e(q),onTest:e(X).doTestConnection,onSubmit:e(X).doAddNode,onClose:n[6]||=t=>e(X).open.value=!1},null,8,[`open`,`form`,`templates`,`driver-catalog`,`driver-ready`,`onTest`,`onSubmit`]),d(w,{open:e(Z).tplOpen.value,"onUpdate:open":n[7]||=t=>e(Z).tplOpen.value=t,form:e(Z).tplForm.value,"onUpdate:form":n[8]||=t=>e(Z).tplForm.value=t,"custom-tpls":e(Z).customTpls.value,"builtin-tpls":e(Z).builtinTpls.value,"icon-choices":e(Z).iconChoices,"icon-labels":e(ve),editing:e(Z).tplEditing.value,saving:e(Z).tplSaving.value,error:e(Z).tplError.value,"confirming-del":e(Z).confirmingDel.value,onEdit:e(Z).editTpl,onCopy:e(Z).copyTpl,onRemove:e(Z).askDelTpl,onReset:e(Z).resetTplForm,onSave:e(Z).saveTpl},null,8,[`open`,`form`,`custom-tpls`,`builtin-tpls`,`icon-choices`,`icon-labels`,`editing`,`saving`,`error`,`confirming-del`,`onEdit`,`onCopy`,`onRemove`,`onReset`,`onSave`]),d(D,{optimizations:e(c).optimizations,lines:e(c).lines,open:e(Q).optOpen.value,mounted:e(Q).optMounted.value,"filter-line":e(Q).optFilterLine.value,"filter-recipe":e(Q).optFilterRecipe.value,"recipe-options":e(Q).optRecipeOptions.value,"series-of":e(Q).optSeriesOf.value,"series-loading":e(Q).optSeriesLoading.value,"status-key":e(Q).optStatusKey,"series-path":e(Q).seriesPath,"fmt-point":e(Q).fmtPoint,onToggle:e(Q).toggleOptPanel,onSelectLine:n[9]||=t=>e(Q).optFilterLine.value=t,onSelectRecipe:n[10]||=t=>e(Q).optFilterRecipe.value=t,onLineChange:e(Q).onOptLineChange,onFilter:e(Q).filterOpts,onSeries:e(Q).showOptSeries,onRollback:e(Q).rollbackRecord},null,8,[`optimizations`,`lines`,`open`,`mounted`,`filter-line`,`filter-recipe`,`recipe-options`,`series-of`,`series-loading`,`status-key`,`series-path`,`fmt-point`,`onToggle`,`onLineChange`,`onFilter`,`onSeries`,`onRollback`]),d(k,{"table-el":e(J),"onUpdate:tableEl":n[11]||=e=>i(J)?J.value=e:null,filters:e(T),"onUpdate:filters":n[12]||=e=>i(T)?T.value=e:null,"has-filters":e(E),lines:e(c).lines,"bound-devices":e(V),"template-options":e(M),"driver-options":e(te),"filtered-count":e(H).length,"total-count":e(o).nodes.length,"ops-recent":e(_).recent,"ops-kind-label":b,"ops-time":x,alarms:e(o).alarms,"visible-nodes":e(me),"pad-top-px":e(he),"pad-bottom-px":e(Y),loading:!e(o).loaded&&!e(o).error,loaded:e(o).loaded,error:e(o).error,onClearFilters:e(j),onAck:C},null,8,[`table-el`,`filters`,`has-filters`,`lines`,`bound-devices`,`template-options`,`driver-options`,`filtered-count`,`total-count`,`ops-recent`,`alarms`,`visible-nodes`,`pad-top-px`,`pad-bottom-px`,`loading`,`loaded`,`error`,`onClearFilters`]),e(o).error?(l(),h(`p`,gi,[S(r(e(o).error)+`(`,1),d(A,{to:`/workshop`},{default:y(()=>[S(r(t.$t(`daq.k1bhhheq077`)),1)]),_:1}),n[14]||=S(`) `,-1)])):v(``,!0)])}}});export{_i as default};
@@ -1 +0,0 @@
1
- import{g as e}from"./CavpkQb0.js";import{t}from"./36oeS8_R.js";import{t as n}from"./JgheoP3e.js";import{n as r}from"./BQOn0q6Y.js";var i=[`thermo`,`pressure`,`tension`,`encoder`,`camera`,`gateway`],a=[{key:`temp-tc`,name:`温度传感器`,code:`TEMP · TC`,ch:`熔体/箱体温度`,unit:`℃`,base:168,amp:3.2,min:150,max:185,decimals:1,icon:`thermo`,telemetryKey:`temperature`,semantics:`熔体/箱体温度:热工艺核心被控量,热惯性大(变化平缓)。判读:与设定值偏差 ±2℃ 内为稳态;持续单边漂移 = 加热/散热失衡;骤升骤降多为扰动或传感器异常。`},{key:`pressure-tx`,name:`压力变送器`,code:`PRESSURE · TX`,ch:`熔体压力`,unit:`MPa`,base:.82,amp:.05,min:.6,max:1.2,decimals:2,icon:`pressure`,telemetryKey:`pressure`,semantics:`熔体压力:挤出负荷的「血压计」。判读:与温度负相关(温度升→熔体黏度降→压力降);压力突升常见于滤网堵塞或出料受阻。`},{key:`tension-cell`,name:`张力传感器`,code:`TENSION · CELL`,ch:`膜张力`,unit:`kN`,base:21.4,amp:.9,min:18,max:26,decimals:1,icon:`tension`,semantics:`膜张力:成膜质量直接指标。判读:张力波动与速度/温度设定强耦合,评估张力前先确认速度稳定。`},{key:`line-encoder`,name:`速度编码器`,code:`LINE · ENCODER`,ch:`产线速度`,unit:`m/min`,base:318,amp:7,min:280,max:360,decimals:0,icon:`encoder`,semantics:`产线速度:产能直接观测量。判读:实际速度对设定值的跟随滞后反映传动惯量;速度波动会传导至张力与厚度。`},{key:`vision-cam`,name:`视觉检测相机`,code:`VISION · CAM`,ch:`表面缺陷率`,unit:`‰`,base:.42,amp:.09,min:.1,max:.9,decimals:2,icon:`camera`},{key:`power-meter`,name:`电参采集器`,code:`POWER · METER`,ch:`运行功率`,unit:`kW`,base:45.2,amp:2.6,min:38,max:55,decimals:1,icon:`gateway`},{key:`thickness-scan`,name:`测厚扫描仪`,code:`THK · SCAN`,ch:`厚度轮廓`,unit:`mm`,base:.52,amp:.018,min:.4,max:.65,decimals:3,icon:`tension`,signalKind:`vector`,vector:{points:64,min:.4,max:.65},sink:{processors:[{name:`resample`,args:{n:64}},{name:`derive-metric`,args:{name:`avg`,op:`avg`}},{name:`derive-metric`,args:{name:`max`,op:`max`}}]},metrics:[{key:`max`,label:`最大厚度`,unit:`mm`,alarmHigh:.62},{key:`avg`,label:`平均厚度`,unit:`mm`,warnLow:.47,warnHigh:.57}],semantics:`测厚仪横向扫描轮廓:多点厚度分布。判读:平均值漂移=工艺整体偏移;单点尖峰=局部缺陷(夹杂/气泡);max 越硬限=超差,须联动分切剔除。`},{key:`ccd-image`,name:`CCD 视觉相机`,code:`CCD · IMG`,ch:`表面图像`,unit:`灰度`,base:128,amp:0,min:0,max:255,decimals:0,icon:`camera`,signalKind:`image`,sink:{processors:[{name:`thumbnail`,args:{width:256}},{name:`quality-gate`}]},metrics:[{key:`brightness`,label:`平均亮度`,unit:`gray`,alarmLow:30,alarmHigh:230}],semantics:`CCD 图像帧:像素数据入对象存储,Timescale 仅存元数据与派生指标。判读:brightness 过低=曝光不足/镜头遮挡,过高=过曝;缺陷识别算法经插件处理器扩展。`}],o=e=>e.startsWith(`daq-`)?e.slice(4):e,s=[{kind:`mock`,label:`Mock 模拟源`,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:`40001`,hint:`4xxxx=保持寄存器(地址-40001 为协议偏移);3xxxx=输入寄存器`},{key:`registerType`,label:`寄存器区`,type:`select`,default:`holding`,options:[{value:`holding`,label:`保持寄存器(4x)`},{value:`input`,label:`输入寄存器(3x)`}]},{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:`scale`,label:`缩放系数`,type:`number`,default:1,hint:`原始值 × scale = 工程量(如 0.1)`},{key:`byteOrder`,label:`字节序`,type:`select`,default:`big`,options:[{value:`big`,label:`大端(AB CD)`},{value:`little`,label:`小端(CD AB)`},{value:`wordSwap`,label:`字交换(CD AB / 交换单字)`}]}]},{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.Tag1`,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`},{key:`certificateFile`,label:`客户端证书路径(可选)`,type:`string`,placeholder:`certs/client_cert.pem`,hint:`Sign/SignAndEncrypt 时的 PEM 证书;留空自动生成自签`},{key:`privateKeyFile`,label:`私钥路径(可选)`,type:`string`,placeholder:`certs/client_key.pem`,hint:`与证书配对的 PEM 私钥`}]},{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(设备本身走 RS-485)`},{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:`40001`,hint:`4xxxx=保持寄存器(地址-40001 为协议偏移);3xxxx=输入寄存器`},{key:`registerType`,label:`寄存器区`,type:`select`,default:`holding`,options:[{value:`holding`,label:`保持寄存器(4x)`},{value:`input`,label:`输入寄存器(3x)`}]},{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:`scale`,label:`缩放系数`,type:`number`,default:1,hint:`原始值 × scale = 工程量(如 0.1)`},{key:`byteOrder`,label:`字节序`,type:`select`,default:`big`,options:[{value:`big`,label:`大端(AB CD)`},{value:`little`,label:`小端(CD AB)`},{value:`wordSwap`,label:`字交换(CD AB / 交换单字)`}]}]},{kind:`mqtt`,label:`MQTT(网关/边缘采集)`,status:`real`,configFields:[{key:`host`,label:`Broker 地址(host)`,type:`string`,required:!0,placeholder:`192.168.1.20 或 mqtt.example.com`,hint:`MQTT Broker(EMQX/Mosquitto/Aliyun IoT)地址`},{key:`port`,label:`端口`,type:`number`,default:1883,hint:`MQTT TCP 标准端口 1883(TLS 8883)`},{key:`topic`,label:`主题(topic)`,type:`string`,required:!0,placeholder:`factory/line1/temp`,hint:`设备上报数值的主题;支持 +/# 通配`},{key:`jsonPath`,label:`取值路径(可选)`,type:`string`,placeholder:`data.temperature`,hint:`payload 为 JSON 时按路径取数值,如 data.temp;纯数字报文留空`},{key:`username`,label:`用户名(可选)`,type:`string`},{key:`password`,label:`密码(可选)`,type:`string`}]},{kind:`http`,label:`HTTP/REST(轮询)`,status:`real`,configFields:[{key:`url`,label:`接口地址(URL)`,type:`string`,required:!0,placeholder:`http://192.168.1.30/api/sensor`,hint:`返回数值或 JSON 的 HTTP 接口`},{key:`jsonPath`,label:`取值路径(可选)`,type:`string`,placeholder:`data.value`,hint:`响应为 JSON 时按路径取数值,如 data.value;纯文本留空`},{key:`headersJSON`,label:`请求头(可选)`,type:`string`,placeholder:`{"Authorization":"Bearer xxx"}`,hint:`JSON 对象形式的 HTTP 头`}]},{kind:`s7`,label:`S7(西门子 PLC)`,status:`planned`,configFields:[]}],c=60,l=30,u=(e,t)=>r({base:`/api/workshop/daq`,path:e,init:t,retries:(t?.method??`GET`).toUpperCase()===`GET`?2:0}),d=()=>{let r=e([]),i=new Map,o=e([]),d=e({running:!0,defaultIntervalMs:1e3,defaultPublishIntervalMs:0,queryDisplayIntervalMs:5e3,nodesTotal:0,nodesOnline:0}),f=e({tsdb:`…`,queue:`…`,drivers:s.map(e=>({kind:e.kind,label:e.label,status:e.status,configFields:e.configFields})),driverAvailable:{},infra:void 0,produced:0,consumed:0,dropped:0,samplesStored:0}),p=e(a.map(e=>({...e}))),m=e({});function h(){i.clear();for(let e of r)i.set(e.id,e)}function g(e){let t=r.findIndex(t=>t.id===e.id);t>=0?r[t]=Object.assign(r[t],e):(r.push({...e,hist:[]}),i.set(e.id,r[r.length-1]))}let _=[],v=null;function y(){v=null;let e=_;if(_=[],!e.length)return;let t=new Map;for(let n of e){t.set(n.nodeId,n);let e=i.get(n.nodeId);e&&(e.hist.push(n.value),e.hist.length>c&&e.hist.splice(0,e.hist.length-c))}for(let e of t.values()){let t=i.get(e.nodeId);t&&(t.value=e.value,t.state=e.state,t.lastAt=e.at)}}function b(e){_.push(e),v||=setTimeout(y,500)}function x(e){if(e.node){if(e.op===`removed`){let t=r.findIndex(t=>t.id===e.node.id);t>=0&&r.splice(t,1),i.delete(e.node.id),Reflect.deleteProperty(m,e.node.id);return}g(e.node)}}function S(e){p.splice(0,p.length,...e.map(e=>({...e})))}function C(e){if(!e.template)return;let t=p.findIndex(t=>t.key===e.template.key);if(e.op===`removed`){t>=0&&p.splice(t,1);return}t>=0?p[t]={...e.template}:p.push({...e.template})}function w(e){let t=Date.parse(e.at),n=m[e.nodeId]??(m[e.nodeId]=[]);n.some(e=>e.at===t)||(n.unshift({at:t,kind:e.kind,points:e.preview,metrics:e.metrics??{},thumbUrl:e.thumbUrl,contentUrl:e.thumbUrl?e.thumbUrl.replace(`thumb=1`,`thumb=0`):void 0}),n.length>l&&n.splice(l));let r=i.get(e.nodeId);r&&(r.value=e.metrics?.avg??r.value,e.state&&(r.state=e.state),r.lastAt=e.at)}let T=0,E=null;function D(){T++,T===1&&(E=t().subscribe(O));let e=!1;return()=>{e||(e=!0,--T===0&&(E?.(),E=null))}}function O(e){if(e.type===`daq.reading`)b(e.payload);else if(e.type===`daq.frame`)w(e.payload);else if(e.type===`daq.node.changed`)x(e.payload);else if(e.type===`daq.controller`)Object.assign(d,e.payload);else if(e.type===`daq.template.changed`)C(e.payload);else if(e.type===`daq.alarm`){let t=e.payload;o.some(e=>e.id===t.id)||o.unshift(t)}else if(e.type===`daq.alarm.changed`){let t=e.payload;if(t.ackedAt){let e=o.findIndex(e=>e.id===t.id);e>=0&&o.splice(e,1)}}}async function k(){try{let e=await u(``),t=new Map(r.map(e=>[e.id,e])),n=[];for(let r of e.nodes){let e=t.get(r.id);e?(Object.assign(e,r),n.push(e),t.delete(r.id)):n.push({...r,hist:[]})}r.splice(0,r.length,...n),h();for(let e of Object.keys(m))i.has(e)||Reflect.deleteProperty(m,e);Object.assign(d,e.controller),Object.assign(f,e.meta??{}),f.driverAvailable=e.driverAvailable??{},e.drivers?.length&&(f.drivers=e.drivers),f.infra=e.infra,e.templates?.length&&S(e.templates),q.loaded=!0,q.error=``}catch(e){q.error=n(e)}}async function A(e,t){let n=await u(``,{method:`POST`,body:JSON.stringify({templateRef:e,...t})});return g(n.node),n.node}async function j(e,t){await u(`/${e}`,{method:`PATCH`,body:JSON.stringify(t)})}async function M(e,t,n){await u(`/${e}`,{method:`PATCH`,body:JSON.stringify({posX:t,posZ:n})})}async function N(e){await u(`/${e}`,{method:`DELETE`});let t=r.findIndex(t=>t.id===e);t>=0&&r.splice(t,1),i.delete(e),Reflect.deleteProperty(m,e)}async function P(e,t){g((await u(`/${e}/bind`,{method:`POST`,body:JSON.stringify({deviceId:t})})).node)}async function F(e,t){g((await u(`/${e}/bindings`,{method:`PUT`,body:JSON.stringify({deviceIds:t})})).node)}async function I(e,t){return(await u(`/test-driver`,{method:`POST`,body:JSON.stringify({driver:e,driverConfig:t})})).test}async function L(e){return(await u(`/${e}/test`,{method:`POST`})).test}async function R(){try{let e=await u(`/alarms?scope=open&limit=50`);o.splice(0,o.length,...e.alarms??[])}catch{}}async function z(e){await u(`/alarms/${e}/ack`,{method:`POST`}),await R()}async function B(){let e=await u(`/infra/reconnect`,{method:`POST`});return f.infra=e.infra,await k(),e.infra}async function V(e,t,n){let r=await u(`/controller`,{method:`POST`,body:JSON.stringify({action:e,defaultIntervalMs:t,defaultPublishIntervalMs:n})});Object.assign(d,r.controller)}async function H(e,t={}){let n=new URLSearchParams;return t.fromMs!=null&&n.set(`from`,String(t.fromMs)),t.toMs!=null&&n.set(`to`,String(t.toMs)),t.bucketMs!=null&&n.set(`bucketMs`,String(t.bucketMs)),t.limit!=null&&n.set(`limit`,String(t.limit)),(await u(`/${e}/samples?${n.toString()}`)).points??[]}async function U(e,t={}){let n=new URLSearchParams;t.fromMs!=null&&n.set(`from`,String(t.fromMs)),t.toMs!=null&&n.set(`to`,String(t.toMs)),t.kind&&n.set(`kind`,t.kind),t.limit!=null&&n.set(`limit`,String(t.limit));let r=await u(`/${e}/frames?${n.toString()}`);return m[e]=r.frames??[],m[e]}async function W(e){let t=await u(`/templates`,{method:`POST`,body:JSON.stringify(e)});return C({op:`added`,template:t.template}),t.template}async function G(e,t){let n=await u(`/templates/${e}`,{method:`PATCH`,body:JSON.stringify(t)});return C({op:`updated`,template:n.template}),n.template}async function K(e){await u(`/templates/${e}`,{method:`DELETE`}),C({op:`removed`,template:{key:e}})}let q=e({nodes:r,controller:d,meta:f,templates:p,loaded:!1,error:``,ensureWsFeed:D,load:k,createFromTemplate:A,createTemplate:W,updateTemplate:G,removeTemplate:K,testDriver:I,testNode:L,reconnectInfra:B,patchNode:j,saveTransform:M,removeNode:N,bindNode:P,setNodeBindings:F,controllerAction:V,alarms:o,fetchAlarms:R,ackAlarm:z,nodeById:e=>i.get(e)??r.find(t=>t.id===e),samplesOf:H,fetchFrames:U,frames:m,framesOf:e=>m[e]??[],templateOf:e=>p.find(t=>t.key===e||`daq-${t.key}`===e),ofDevice:e=>e?r.filter(t=>t.deviceBindingId===e):[]});return q},f=`__daqStream`;function p(){let e=globalThis;return e[f]||(e[f]=d()),e[f]}export{o as a,i,s as n,a as r,p as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./BMMoqi94.js";import{N as t,dt as n,ft as r,g as i,mt as a,u as o,v as s}from"./CavpkQb0.js";import{D as c,H as l,R as u,S as d,V as f,W as p,b as m,d as h,et as g,f as _,h as v,i as y,m as b,nt as x,p as S,rt as C,y as w}from"./ByMj6e7s.js";import{c as T,d as E,l as D,u as O}from"./Dqz5HiXa.js";import{n as k,t as A}from"./BgnhB8r5.js";import{t as j}from"./S799kNo8.js";import{n as M}from"./Cnrmlixo.js";import{a as N}from"./wDPc4SSR.js";import{t as P}from"./eutnXI4F.js";import{t as F}from"./CAaSPBqk.js";import{t as ee}from"./Bwc6lt2X.js";import{t as I}from"./CzlUIbK32.js";import{t as te}from"./Yv9YItEX2.js";import{n as L,t as ne}from"./DVKXGuMz2.js";import{t as re}from"./CD9lpEz22.js";import{t as ie}from"./DzBbYWrw2.js";import{t as ae}from"./DqtnqNgL2.js";import{t as R}from"./CI2yXRr42.js";import{t as z}from"./DTxfFIvL2.js";import{t as B}from"./BDNMzG2s2.js";import{t as V}from"./JgheoP3e.js";import{t as H}from"./8oRmGaAV.js";import{t as U}from"./C4sQKuhk.js";var W={class:`section-title`},G={class:`section-desc`},K={class:`set-row`},q={class:`set-text`},J={class:`set-title`},oe={class:`set-sub`},se={class:`color-swatches`},ce=[`title`,`onClick`],le={class:`swatch-label`},ue={key:0,class:`i-tabler-check swatch-check`},de={class:`toggle-row`},fe={class:`set-text`},pe={class:`set-title`},me={class:`set-sub`},he=[`aria-checked`],ge={class:`toggle-row`},_e={class:`set-text`},ve={class:`set-title`},ye={class:`set-sub`},be=Object.assign(B(d({__name:`AppearancePane`,props:{activeTab:{}},setup(i){let o=k(),s=e().public,{t:c,locale:l,locales:u,setLocale:d}=M(),g=String(s.primaryColor),x=[{value:g,label:c(`settings.accentInk`)},{value:`#c9963f`,label:c(`settings.accentStone`)},{value:`#44615a`,label:c(`settings.accentMoss`)},{value:`#3f6094`,label:c(`settings.accentSlate`)},{value:`#6b5aa0`,label:c(`settings.accentPlum`)},{value:`#9c5744`,label:c(`settings.accentClay`)}],S=h(()=>o.accent??g);function T(e){o.setAccent(e===g?null:e),N.success(c(`settings.accentApplied`))}function E(){o.setAccent(null),N.success(c(`settings.accentReset`))}let O=h(()=>u.value.map(e=>({label:e.name,value:e.code}))),A=e=>{e!=null&&(j(`aw.locale`,{maxAge:31536e3}).value=String(e),localStorage.setItem(`aw.locale`,String(e)),d(String(e)),window.location.reload())};return(e,s)=>{let u=P;return C((f(),v(`div`,null,[_(`h3`,W,a(t(c)(`settings.theme`)),1),_(`p`,G,a(t(c)(`settings.appearanceDesc`)),1),_(`div`,K,[_(`div`,q,[_(`div`,J,a(t(c)(`settings.primaryColor`)),1),_(`div`,oe,a(t(c)(`settings.accentDesc`)),1)])]),_(`div`,se,[(f(),v(y,null,p(x,e=>_(`button`,{key:e.value,class:n([`swatch`,{on:t(S).toLowerCase()===e.value.toLowerCase()}]),style:r({"--sw":e.value}),title:e.label,onClick:t=>T(e.value)},[s[1]||=_(`span`,{class:`swatch-dot`},null,-1),_(`span`,le,a(e.label),1),t(S).toLowerCase()===e.value.toLowerCase()?(f(),v(`span`,ue)):b(``,!0)],14,ce)),64))]),_(`button`,{class:`aw-pill outline reset-btn`,onClick:E},[s[2]||=_(`span`,{class:`i-tabler-rotate`},null,-1),w(` `+a(t(c)(`settings.accentResetAction`)),1)]),_(`div`,de,[_(`div`,fe,[_(`div`,pe,a(t(o).isDark?t(c)(`common.dark`):t(c)(`common.light`)),1),_(`div`,me,a(t(c)(`settings.darkDesc`)),1)]),_(`button`,{class:n([`switch`,{on:t(o).isDark}]),role:`switch`,"aria-checked":t(o).isDark,onClick:s[0]||=e=>t(o).toggleDark()},[...s[3]||=[_(`span`,{class:`knob`},null,-1)]],10,he)]),_(`div`,ge,[_(`div`,_e,[_(`div`,ve,a(t(c)(`header.language`)),1),_(`div`,ye,a(t(c)(`settings.languageDesc`)),1)]),m(u,{value:t(l),options:t(O),style:{width:`140px`},onChange:A},null,8,[`value`,`options`])])],512)),[[D,i.activeTab===`appearance`]])}}}),[[`__scopeId`,`data-v-79352bd2`]]),{__name:`SettingsAppearancePane`});function xe(){let{t:e}=M(),t=z(),n=s({}),r=s(new Set),i=s(!1),a=s(null);function o(){n.value={...t.effective},r.value=new Set}g(()=>t.loaded,e=>{e&&o()},{immediate:!0}),g(()=>t.effective,()=>{r.value.size===0&&o()},{deep:!0});function c(e){r.value.add(e),a.value=null}async function l(){if(r.value.size){i.value=!0,a.value=null;try{let i={};for(let e of r.value)i[e]=n.value[e];let s=await t.patch(i);o();let c=s.restartRequired??[];a.value=c.length?{type:`warning`,text:e(`settings.runtime.restartNotice`,{keys:c.join(`, `)})}:{type:`success`,text:e(`settings.runtime.savedLive`)}}catch(e){let t=e;a.value={type:`error`,text:t?.response?.data?.message||t?.message||String(e)}}finally{i.value=!1}}}async function u(i){try{await t.patch({[i]:null}),r.value.delete(i),n.value[i]=t.effective[i],a.value={type:`success`,text:e(`settings.runtime.keyReset`,{key:i})}}catch(e){let t=e;a.value={type:`error`,text:t?.response?.data?.message||t?.message||String(e)}}}async function d(){try{await t.resetAll(),o(),a.value={type:`success`,text:e(`settings.runtime.resetAllDone`)}}catch(e){let t=e;a.value={type:`error`,text:t?.response?.data?.message||t?.message||String(e)}}}return{draft:n,dirtyKeys:r,savingRuntime:i,runtimeNotice:a,syncRuntimeDraft:o,markDirty:c,saveRuntime:l,resetRuntimeKey:u,resetAllRuntime:d}}var Y=Symbol(`aw.settings.runtimeConfigDraft`);function Se(){let e=xe();return l(Y,e),e}function Ce(){let e=c(Y);if(!e)throw Error(`[settings] useRuntimeConfigDraftContext: 缺少 provideRuntimeConfigDraft()`);return e}function we(){let{t:e}=M(),t=R(),n=z(),r={server:`settings.runtime.groupServer`,app:`settings.runtime.groupApp`,api:`settings.runtime.groupApi`,theme:`settings.runtime.groupTheme`,i18n:`settings.runtime.groupI18n`,security:`settings.runtime.groupSecurity`,daq:`settings.runtime.groupDaq`,memory:`settings.runtime.groupMemory`,omp:`settings.runtime.groupOmp`,harness:`settings.runtime.groupHarness`,dcw:`settings.runtime.groupDcw`,workshop:`settings.runtime.groupWorkshop`,backup:`settings.runtime.groupBackup`,retention:`settings.runtime.groupRetention`,log:`settings.runtime.groupLog`,plugins:`settings.runtime.groupPlugins`};function a(t){if(t.labelKey&&e(t.labelKey)!==t.labelKey)return e(t.labelKey);if(t.label&&t.label!==t.id)return t.label;let n=r[t.id];return n?e(n):t.label||t.id}function o(t){return t.source===`plugin`?t.plugin?`${e(`settings.groups.srcPlugin`)}: ${t.plugin}`:e(`settings.groups.srcPlugin`):t.source===`user`?e(`settings.groups.srcUser`):e(`settings.groups.srcBuiltin`)}function c(e){return e===`runtime`?`src-runtime`:e===`env`?`src-env`:`src-yaml`}function l(t){let n=t.labelKey;return n&&e(n)!==n?e(n):t.label}let d=`aw.settings.groups.collapsed`,f=s({});function p(){try{f.value=JSON.parse(localStorage.getItem(d)??`{}`)??{}}catch{f.value={}}}function m(){try{localStorage.setItem(d,JSON.stringify(f.value))}catch{}}function g(e){let t=f.value[e.id];return t===void 0?e.collapsed:t}function _(e){e.collapsible&&(f.value={...f.value,[e.id]:!g(e)},m())}function v(){let e=n.groups.filter(e=>e.collapsible),t=e.some(e=>!g(e)),r={...f.value};for(let n of e)r[n.id]=t;f.value=r,m()}let y=h(()=>n.groups.filter(e=>e.collapsible).some(e=>!g(e))),b=h(()=>t.isAdmin),x=s(!1),S=i({label:``,description:``,collapsed:!1}),C=s(``),w=s(``),T=s(``);async function E(){if(S.label.trim()){C.value=`create`;try{await n.createGroup({label:S.label.trim(),description:S.description.trim(),collapsed:S.collapsed}),x.value=!1,S.label=``,S.description=``,S.collapsed=!1,N.success(e(`settings.groups.created`))}catch(t){N.error(V(t,e(`settings.groups.createFail`)))}finally{C.value=``}}}function D(e){w.value=e.id,T.value=e.label}async function O(t){let r=T.value.trim();if(w.value=``,r){C.value=t;try{await n.updateGroup(t,{label:r}),N.success(e(`settings.groups.renamed`))}catch(t){N.error(V(t,e(`settings.groups.updateFail`)))}finally{C.value=``}}}async function k(t,r){let i=[...n.groups],a=i.findIndex(e=>e.id===t),o=a+r;if(a<0||o<0||o>=i.length)return;let s=i[a],c=i[o];C.value=t;try{let e=[...i];e.splice(a,1),e.splice(o,0,s);let t=(o+1)*10,r=(a+1)*10;await n.updateGroup(s.id,{order:t}),await n.updateGroup(c.id,{order:r})}catch(t){N.error(V(t,e(`settings.groups.updateFail`)))}finally{C.value=``}}async function A(t){C.value=t.id;try{await n.updateGroup(t.id,{collapsed:!t.collapsed})}catch(t){N.error(V(t,e(`settings.groups.updateFail`)))}finally{C.value=``}}async function j(t){let r=t.fieldCount??0;if(r>0){N.warning(e(`settings.groups.deleteHasFields`,{p0:a(t),p1:r}));return}C.value=t.id;try{await n.deleteGroup(t.id),N.success(e(`settings.groups.deleted`))}catch(t){N.error(V(t,e(`settings.groups.deleteFail`)))}finally{C.value=``}}return u(p),{groupLabel:a,groupSourceBadge:o,sourceClass:c,itemLabel:l,groupCollapsed:f,loadCollapsePref:p,saveCollapsePref:m,isCollapsed:g,toggleGroup:_,toggleAllGroups:v,allExpanded:y,isAdmin:b,groupFormOpen:x,groupForm:S,groupBusy:C,renamingId:w,renameDraft:T,submitGroupForm:E,startRename:D,commitRename:O,moveGroup:k,setGroupDefaultCollapsed:A,removeGroup:j}}var X=Symbol(`aw.settings.groups`);function Te(){let e=we();return l(X,e),e}function Z(){let e=c(X);if(!e)throw Error(`[settings] useSettingsGroupsContext: 缺少 provideSettingsGroups()`);return e}var Ee={class:`rt-row`},De={class:`rt-main`},Oe={class:`rt-title`},ke={class:`rt-sub`},Ae={class:`rt-ctrl`},je={key:4,class:`rt-color`},Me=[`value`],Ne=[`title`],Pe=Object.assign(B(d({__name:`RuntimeFieldRow`,props:{item:{}},setup(e){let{t:r}=M(),i=z(),{draft:o,markDirty:c,resetRuntimeKey:l}=Ce(),{itemLabel:u,sourceClass:d}=Z(),p=s({}),g=h(()=>(p.value.supportedTimeZones??[`Asia/Shanghai`,`UTC`,`America/Los_Angeles`,`Europe/London`]).map(e=>({label:e,value:e})));return fetch(`/api/system/timezone`).then(e=>e.ok?e.json():{}).then(e=>{p.value=e}),(s,p)=>{let h=re,y=ae,b=P,x=F;return f(),v(`div`,Ee,[_(`div`,De,[_(`div`,Oe,[w(a(t(u)(e.item))+` `,1),_(`span`,{class:n([`rt-tag`,t(d)(t(i).sourceOf(e.item.key))])},a(t(i).sourceOf(e.item.key)),3),_(`span`,{class:n([`rt-tag`,e.item.applies])},a(e.item.applies===`live`?t(r)(`settings.runtime.live`):t(r)(`settings.runtime.restart`)),3)]),_(`div`,ke,a(e.item.description),1)]),_(`div`,Ae,[e.item.type===`number`?(f(),S(h,{key:0,value:t(o)[e.item.key],"onUpdate:value":p[0]||=n=>t(o)[e.item.key]=n,min:e.item.min,max:e.item.max,onChange:p[1]||=n=>t(c)(e.item.key)},null,8,[`value`,`min`,`max`])):e.item.type===`boolean`?(f(),S(y,{key:1,checked:t(o)[e.item.key],"onUpdate:checked":p[2]||=n=>t(o)[e.item.key]=n,onChange:p[3]||=n=>t(c)(e.item.key)},null,8,[`checked`])):e.item.type===`timezone`?(f(),S(b,{key:2,value:t(o)[e.item.key],"onUpdate:value":p[4]||=n=>t(o)[e.item.key]=n,"show-search":``,"option-filter-prop":`label`,style:{width:`260px`},options:t(g),onChange:p[5]||=n=>t(c)(e.item.key)},null,8,[`value`,`options`])):e.item.type===`select`?(f(),S(b,{key:3,value:t(o)[e.item.key],"onUpdate:value":p[6]||=n=>t(o)[e.item.key]=n,style:{width:`160px`},options:(e.item.options??[]).map(e=>({label:e,value:e})),onChange:p[7]||=n=>t(c)(e.item.key)},null,8,[`value`,`options`])):e.item.type===`color`?(f(),v(`span`,je,[_(`input`,{type:`color`,value:String(t(o)[e.item.key]??`#35e0a0`),onInput:p[8]||=n=>{t(o)[e.item.key]=n.target.value,t(c)(e.item.key)}},null,40,Me),m(x,{value:String(t(o)[e.item.key]??``),style:{width:`110px`},class:`aw-mono`,onChange:p[9]||=n=>{t(o)[e.item.key]=n.target.value,t(c)(e.item.key)}},null,8,[`value`])])):(f(),S(x,{key:5,value:t(o)[e.item.key],"onUpdate:value":p[10]||=n=>t(o)[e.item.key]=n,style:{width:`220px`},onChange:p[11]||=n=>t(c)(e.item.key)},null,8,[`value`])),_(`button`,{class:`aw-pill outline rt-reset`,title:t(r)(`settings.runtime.resetKey`),onClick:p[12]||=n=>t(l)(e.item.key)},[...p[13]||=[_(`span`,{class:`i-tabler-rotate`},null,-1)]],8,Ne)])])}}}),[[`__scopeId`,`data-v-03e4daa3`]]),{__name:`SettingsRuntimeFieldRow`}),Fe=[`role`,`tabindex`],Ie={key:3,class:`rt-group-title`},Le={class:`rt-group-badge`},Re={class:`rt-group-fields`},ze={key:4,class:`rt-group-desc`},Be=[`disabled`,`title`],Ve=[`disabled`,`title`],He=[`disabled`,`title`],Ue=[`disabled`,`title`],We=[`disabled`,`title`],Ge={class:`rt-group-body`},Ke={key:0,class:`rt-group-empty`},qe=Object.assign(B(d({__name:`RuntimeGroupSection`,props:{group:{}},setup(e){let{t:r}=M(),i=z(),{groupLabel:s,groupSourceBadge:c,isCollapsed:l,toggleGroup:u,renamingId:d,renameDraft:m,commitRename:h,startRename:g,isAdmin:x,groupBusy:w,moveGroup:k,setGroupDefaultCollapsed:A,removeGroup:j}=Z();return(M,N)=>(f(),v(`section`,{class:n([`rt-group`,{collapsed:t(l)(e.group),"grp-plugin":e.group.source===`plugin`}])},[_(`header`,{class:`rt-group-head`,role:e.group.collapsible?`button`:void 0,tabindex:e.group.collapsible?0:void 0,onClick:N[11]||=n=>t(u)(e.group),onKeydown:[N[12]||=O(E(n=>t(u)(e.group),[`prevent`]),[`enter`]),N[13]||=O(E(n=>t(u)(e.group),[`prevent`]),[`space`])]},[e.group.collapsible?(f(),v(`span`,{key:0,class:n([`rt-caret`,t(l)(e.group)?`i-tabler-chevron-right`:`i-tabler-chevron-down`])},null,2)):b(``,!0),e.group.icon?(f(),v(`span`,{key:1,class:n([`rt-group-icon`,e.group.icon])},null,2)):b(``,!0),t(d)===e.group.id?(f(),v(y,{key:2},[C(_(`input`,{"onUpdate:modelValue":N[0]||=e=>o(m)?m.value=e:null,class:`rt-rename aw-mono`,onClick:N[1]||=E(()=>{},[`stop`]),onKeydown:[N[2]||=O(E(n=>t(h)(e.group.id),[`prevent`]),[`enter`]),N[3]||=O(E(e=>d.value=``,[`prevent`]),[`esc`])]},null,544),[[T,t(m)]]),_(`button`,{class:`mini-btn`,onClick:N[4]||=E(n=>t(h)(e.group.id),[`stop`])},a(t(r)(`settings.groups.ok`)),1)],64)):(f(),v(`h4`,Ie,a(t(s)(e.group)),1)),_(`span`,Le,a(t(c)(e.group)),1),_(`span`,Re,a(t(r)(`settings.groups.fields`,{p0:e.group.fieldCount??0})),1),e.group.description?(f(),v(`span`,ze,a(e.group.description),1)):b(``,!0),t(x)&&e.group.source!==`plugin`?(f(),v(`span`,{key:5,class:`rt-group-ops`,onClick:N[10]||=E(()=>{},[`stop`])},[_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.moveUp`),onClick:N[5]||=n=>t(k)(e.group.id,-1)},[...N[14]||=[_(`span`,{class:`i-tabler-arrow-up`},null,-1)]],8,Be),_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.moveDown`),onClick:N[6]||=n=>t(k)(e.group.id,1)},[...N[15]||=[_(`span`,{class:`i-tabler-arrow-down`},null,-1)]],8,Ve),_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.rename`),onClick:N[7]||=n=>t(g)(e.group)},[...N[16]||=[_(`span`,{class:`i-tabler-pencil`},null,-1)]],8,He),_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.defaultCollapsed`),onClick:N[8]||=n=>t(A)(e.group)},[_(`span`,{class:n(e.group.collapsed?`i-tabler-chevrons-down`:`i-tabler-chevrons-up`)},null,2)],8,Ue),e.group.source===`user`?(f(),v(`button`,{key:0,class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.delete`),onClick:N[9]||=n=>t(j)(e.group)},[...N[17]||=[_(`span`,{class:`i-tabler-trash`},null,-1)]],8,We)):b(``,!0)])):b(``,!0)],40,Fe),C(_(`div`,Ge,[e.group.fieldCount??0?b(``,!0):(f(),v(`p`,Ke,a(t(r)(`settings.groups.emptyHint`)),1)),(f(!0),v(y,null,p(t(i).fieldsOf(e.group.id),e=>(f(),S(Pe,{key:e.key,item:e},null,8,[`item`]))),128))],512),[[D,!t(l)(e.group)]])],2))}}),[[`__scopeId`,`data-v-2f40d8db`]]),{__name:`SettingsRuntimeGroupSection`});function Je(e){let{t}=M(),n=R(),r=H(),i=s([]),a=s(!1),o=s(!1),c=s(new Set),l=s({}),u=e=>(e.routes??[]).some(e=>String(e.path||``).endsWith(`/health`));async function d(){a.value=!0;try{let e=await r.listPlugins(),t=e?.plugins??e?.data?.plugins??[];i.value=Array.isArray(t)?t:[],o.value=!0}catch(e){N.error(V(e,t(`plugins.loadFail`)))}finally{a.value=!1}}async function f(e,n){if(!c.value.has(e.name)){c.value.add(e.name);try{n?await r.enablePlugin(e.name):await r.disablePlugin(e.name),e.enabled=n,N.success(t(n?`plugins.enabled`:`plugins.disabled`))}catch(e){N.error(V(e,t(`plugins.adminRequired`)))}finally{c.value.delete(e.name)}}}async function p(e){if(u(e)){l.value={...l.value,[e.name]:`checking`};try{let t=await r.pluginHealth(e.name);l.value={...l.value,[e.name]:m(e.name,t)}}catch(n){l.value={...l.value,[e.name]:{ok:!1,reason:V(n,t(`plugins.loadFail`))}}}}}function m(e,t){if(e===`rag-bridge`){let e=t.backend,n=t.web,r=!!e?.ok&&!!n?.ok,i=e?.ok?n?.error||n?.status||`web`:e?.error||e?.status||`backend`;return r?{ok:!0}:{ok:!1,reason:i}}if(e===`diag-bridge`){let e=t.remote;return e?.status===`ok`?{ok:!0}:{ok:!1,reason:e?.status||`remote`}}return{ok:!0}}function h(e){return l.value[e]===`checking`}function _(e){let t=l.value[e];return t&&t!==`checking`?t:null}function v(e){return c.value.has(e)}return g(e,e=>{e===`runtime`&&!o.value&&!a.value&&n.isLoggedIn&&d()},{immediate:!0}),{plugins:i,pluginsLoading:a,pluginsLoaded:o,togglingPlugins:c,healthMap:l,hasHealthRoute:u,loadPlugins:d,togglePlugin:f,checkPluginHealth:p,judgePluginHealth:m,isCheckingHealth:h,healthOf:_,isToggling:v}}var Q=Symbol(`aw.settings.pluginAdmin`);function Ye(e){let t=Je(e);return l(Q,t),t}function Xe(){let e=c(Q);if(!e)throw Error(`[settings] usePluginAdminContext: 缺少 providePluginAdmin()`);return e}var Ze={key:0,class:`identity-note`},Qe={class:`plugin-main`},$e={class:`rt-title`},et={class:`aw-mono`},tt={key:0,class:`rt-tag`},nt={key:1,class:`rt-tag src-runtime`},rt={key:2,class:`rt-tag restart`},it={class:`rt-sub`},at={class:`rt-ctrl`},ot={key:0,class:`plugin-health faint`},st=[`onClick`],ct=[`aria-checked`,`disabled`,`onClick`],lt={key:0,class:`identity-note`},ut=Object.assign(B(d({__name:`PluginsSection`,setup(e){let{t:r}=M(),i=R(),{plugins:o,pluginsLoading:s,hasHealthRoute:c,checkPluginHealth:l,isCheckingHealth:u,healthOf:d,isToggling:m,togglePlugin:h}=Xe();return(e,g)=>{let C=ie;return t(i).isLoggedIn?(f(),S(C,{key:1,spinning:t(s)},{default:x(()=>[(f(!0),v(y,null,p(t(o),e=>(f(),v(`div`,{key:e.name,class:n([`plugin-row`,{off:e.enabled===!1}])},[_(`div`,Qe,[_(`div`,$e,[_(`span`,et,a(e.name),1),e.version?(f(),v(`span`,tt,`v`+a(e.version),1)):b(``,!0),e.builtin?(f(),v(`span`,nt,a(t(r)(`plugins.builtin`)),1)):b(``,!0),e.error?(f(),v(`span`,rt,a(e.error),1)):b(``,!0)]),_(`div`,it,a(e.description||`—`),1)]),_(`div`,at,[t(u)(e.name)?(f(),v(`span`,ot,[g[0]||=_(`span`,{class:`i-tabler-loader-2 spin`},null,-1),w(` `+a(t(r)(`plugins.healthChecking`)),1)])):t(d)(e.name)?(f(),v(`span`,{key:1,class:n([`plugin-health`,t(d)(e.name).ok?`ok`:`bad`])},[_(`span`,{class:n(t(d)(e.name).ok?`i-tabler-circle-check`:`i-tabler-alert-circle`)},null,2),w(` `+a(t(d)(e.name).ok?t(r)(`plugins.healthOk`):`${t(r)(`plugins.healthBad`)}: ${t(d)(e.name).reason??``}`),1)],2)):b(``,!0),t(c)(e)?(f(),v(`button`,{key:2,class:`aw-pill outline rt-reset`,onClick:n=>t(l)(e)},[g[1]||=_(`span`,{class:`i-tabler-heartbeat`},null,-1),w(` `+a(t(r)(`plugins.healthCheck`)),1)],8,st)):b(``,!0),_(`button`,{class:n([`switch`,{on:e.enabled!==!1}]),role:`switch`,"aria-checked":e.enabled!==!1,disabled:t(m)(e.name),onClick:n=>t(h)(e,e.enabled===!1)},[...g[2]||=[_(`span`,{class:`knob`},null,-1)]],10,ct)])],2))),128)),t(o).length===0&&!t(s)?(f(),v(`div`,lt,a(t(r)(`plugins.empty`)),1)):b(``,!0)]),_:1},8,[`spinning`])):(f(),v(`div`,Ze,a(t(r)(`plugins.needLogin`)),1))}}}),[[`__scopeId`,`data-v-c4c10ede`]]),{__name:`SettingsPluginsSection`}),dt={class:`section-title`},ft={class:`section-desc`},pt={class:`rt-groups-bar`},mt=[`title`],ht={class:`rt-groups-count`},gt={key:1,class:`rt-group-form`},_t=[`disabled`],vt={class:`rt-actions`},yt=[`disabled`],bt={class:`rt-path aw-mono`},xt={class:`rt-group-title plugin-group-title`},St={class:`section-desc`},Ct=Object.assign(B(d({__name:`RuntimePane`,props:{activeTab:{}},setup(e){let r=e,{t:i}=M(),o=z(),{runtimeNotice:s,dirtyKeys:c,savingRuntime:l,saveRuntime:u,resetAllRuntime:d}=Se(),{allExpanded:g,groupFormOpen:T,groupForm:E,groupBusy:O,isAdmin:k,submitGroupForm:A,toggleAllGroups:j}=Te(),{plugins:N}=Ye(h(()=>r.activeTab));return(r,h)=>{let M=ee,P=F,I=te,L=U;return C((f(),v(`div`,null,[_(`h3`,dt,a(t(i)(`settings.runtimeTab`)),1),_(`p`,ft,a(t(i)(`settings.runtime.desc`)),1),t(s)?(f(),S(M,{key:0,type:t(s).type,"show-icon":``,class:`rt-notice`,message:t(s).text},null,8,[`type`,`message`])):b(``,!0),_(`div`,pt,[_(`button`,{class:`aw-pill outline rt-groups-toggle`,title:t(i)(`settings.groups.toggleAll`),onClick:h[0]||=(...e)=>t(j)&&t(j)(...e)},[_(`span`,{class:n(t(g)?`i-tabler-chevrons-up`:`i-tabler-chevrons-down`)},null,2),w(` `+a(t(g)?t(i)(`settings.groups.collapseAll`):t(i)(`settings.groups.expandAll`)),1)],8,mt),_(`span`,ht,a(t(i)(`settings.groups.count`,{p0:t(o).groups.length})),1),t(k)?(f(),v(`button`,{key:0,class:`aw-pill outline rt-groups-add`,onClick:h[1]||=e=>T.value=!t(T)},[h[9]||=_(`span`,{class:`i-tabler-plus`},null,-1),w(` `+a(t(i)(`settings.groups.newGroup`)),1)])):b(``,!0)]),t(k)&&t(T)?(f(),v(`div`,gt,[m(P,{value:t(E).label,"onUpdate:value":h[2]||=e=>t(E).label=e,placeholder:t(i)(`settings.groups.namePlaceholder`),style:{width:`220px`},onPressEnter:t(A)},null,8,[`value`,`placeholder`,`onPressEnter`]),m(P,{value:t(E).description,"onUpdate:value":h[3]||=e=>t(E).description=e,placeholder:t(i)(`settings.groups.descPlaceholder`),style:{width:`320px`},onPressEnter:t(A)},null,8,[`value`,`placeholder`,`onPressEnter`]),m(I,{checked:t(E).collapsed,"onUpdate:checked":h[4]||=e=>t(E).collapsed=e},{default:x(()=>[w(a(t(i)(`settings.groups.defaultCollapsed`)),1)]),_:1},8,[`checked`]),_(`button`,{class:`aw-pill primary`,disabled:!t(E).label.trim()||t(O)===`create`,onClick:h[5]||=(...e)=>t(A)&&t(A)(...e)},a(t(O)===`create`?`…`:t(i)(`settings.groups.create`)),9,_t),_(`button`,{class:`aw-pill outline`,onClick:h[6]||=e=>T.value=!1},a(t(i)(`settings.groups.cancel`)),1)])):b(``,!0),(f(!0),v(y,null,p(t(o).groups,e=>(f(),S(qe,{key:e.id,group:e},null,8,[`group`]))),128)),_(`div`,vt,[_(`button`,{class:`aw-pill primary`,disabled:!t(c).size||t(l),onClick:h[7]||=(...e)=>t(u)&&t(u)(...e)},[h[10]||=_(`span`,{class:`i-tabler-device-floppy`},null,-1),w(` `+a(t(l)?`…`:t(i)(`settings.runtime.save`)),1)],8,yt),_(`button`,{class:`aw-pill outline`,onClick:h[8]||=(...e)=>t(d)&&t(d)(...e)},a(t(i)(`settings.runtime.resetAll`)),1),_(`span`,bt,a(t(o).settingsPath),1)]),_(`h4`,xt,a(t(i)(`plugins.title`)),1),_(`p`,St,a(t(i)(`plugins.desc`)),1),m(ut),t(N).length?(f(),S(L,{key:2,"slot-name":`settings.plugins`})):b(``,!0)],512)),[[D,e.activeTab===`runtime`]])}}}),[[`__scopeId`,`data-v-6a6f35be`]]),{__name:`SettingsRuntimePane`}),wt={class:`section-title`},Tt={class:`section-desc`},Et={class:`aw-mono`},$={class:`identity-note`},Dt=Object.assign(B(d({__name:`SystemPane`,props:{activeTab:{}},setup(n){let{t:r,locale:i}=M(),o=A(),s=e().public,c=R(),l=String(s.primaryColor),u=h(()=>[{label:r(`home.fields.name`),value:o.name},{label:r(`home.fields.version`),value:`v${o.version}`},{label:r(`home.fields.mode`),value:o.mode},{label:r(`home.fields.apiBase`),value:`${o.apiBase} (${s.apiTimeout}ms)`},{label:r(`home.fields.primary`),value:l},{label:`i18n`,value:i.value}]);return(e,i)=>{let o=L,s=ne;return C((f(),v(`div`,null,[_(`h3`,wt,a(t(r)(`settings.systemTab`)),1),_(`p`,Tt,a(t(r)(`settings.systemDesc`)),1),m(s,{bordered:``,column:1,size:`small`},{default:x(()=>[(f(!0),v(y,null,p(t(u),e=>(f(),S(o,{key:e.label,label:e.label},{default:x(()=>[_(`span`,Et,a(e.value),1)]),_:2},1032,[`label`]))),128))]),_:1}),_(`p`,$,a(t(c).isLoggedIn?`${t(r)(`settings.identity`)}: ${t(c).user?.name} (${t(c).user?.role})`:t(r)(`settings.identityGuest`)),1)],512)),[[D,n.activeTab===`system`]])}}}),[[`__scopeId`,`data-v-4d2a2989`]]),{__name:`SettingsSystemPane`}),Ot={class:`settings-page`},kt={class:`aw-page-head`},At={class:`aw-kicker`},jt={class:`aw-stamp`},Mt={class:`settings-layout`},Nt={class:`settings-nav`},Pt=[`onClick`],Ft={class:`settings-body`},It=B(d({__name:`settings`,setup(e){let{t:r}=M(),i=A(),o=s(`appearance`),c=h(()=>[{key:`appearance`,icon:`i-tabler-palette`,label:r(`settings.theme`)},{key:`runtime`,icon:`i-tabler-settings`,label:r(`settings.runtimeTab`)},{key:`system`,icon:`i-tabler-server-2`,label:r(`settings.systemTab`)}]);return(e,s)=>{let l=I;return f(),v(`div`,Ot,[_(`div`,kt,[_(`div`,null,[_(`p`,At,a(t(r)(`menu.system`))+` / settings `,1),_(`h1`,null,a(t(r)(`settings.title`)),1)]),_(`span`,jt,`v`+a(t(i).version),1)]),m(l,{bordered:!1,class:`settings-card`},{default:x(()=>[_(`div`,Mt,[_(`div`,Nt,[(f(!0),v(y,null,p(t(c),e=>(f(),v(`button`,{key:e.key,class:n([`nav-item`,{active:t(o)===e.key}]),onClick:t=>o.value=e.key},[_(`span`,{class:n(e.icon)},null,2),_(`span`,null,a(e.label),1)],10,Pt))),128))]),_(`div`,Ft,[m(be,{"active-tab":t(o)},null,8,[`active-tab`]),m(Ct,{"active-tab":t(o)},null,8,[`active-tab`]),m(Dt,{"active-tab":t(o)},null,8,[`active-tab`])])])]),_:1})])}}}),[[`__scopeId`,`data-v-672ae7d7`]]);export{It as default};