agentworkshop 0.7.39 → 0.7.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +55 -0
  2. package/.output/.AgentWorkShop/prompts/host-tools.json +55 -0
  3. package/.output/nitro.json +1 -1
  4. package/.output/public/_nuxt/88GOowgO2.js +1 -0
  5. package/.output/public/_nuxt/{BNT8gYU92.js → BC9wjTJK2.js} +2 -2
  6. package/.output/public/_nuxt/{CY9LbPCI.js → BN16aRdQ.js} +1 -1
  7. package/.output/public/_nuxt/BWVhZntO.js +1 -0
  8. package/.output/public/_nuxt/{HBLJ-wei.js → BXxH0UQE.js} +1 -1
  9. package/.output/public/_nuxt/{zIGh7R49.js → BneN7fbu.js} +1 -1
  10. package/.output/public/_nuxt/BsROmY89.js +1 -0
  11. package/.output/public/_nuxt/{DUrecWPx.js → C0ZrS1KL.js} +2 -2
  12. package/.output/public/_nuxt/{C_OLzD09.js → C4oW1HsE.js} +1 -1
  13. package/.output/public/_nuxt/{CUDwzgLV.js → C4s_niy-.js} +9 -9
  14. package/.output/public/_nuxt/CFxtLwjp.js +1 -0
  15. package/.output/public/_nuxt/{Cec0Ua3F.js → CS50LB_l.js} +1 -1
  16. package/.output/public/_nuxt/CssgYAAL2.js +1 -0
  17. package/.output/public/_nuxt/D6mbFA-a.js +1 -0
  18. package/.output/public/_nuxt/D98NH8kG.js +1 -0
  19. package/.output/public/_nuxt/DGIuvyRN2.js +1 -0
  20. package/.output/public/_nuxt/DGbd-UiG.js +1 -0
  21. package/.output/public/_nuxt/{CojCTLKD.js → DGj-WEBg.js} +1 -1
  22. package/.output/public/_nuxt/{DDShH71m.js → DS8qj8EL.js} +1 -1
  23. package/.output/public/_nuxt/DTFCy6h-.js +1 -0
  24. package/.output/public/_nuxt/{DrYV5i68.js → DUjW5Yq5.js} +1 -1
  25. package/.output/public/_nuxt/{45zuyAso.js → D_OTvQza.js} +1 -1
  26. package/.output/public/_nuxt/Dap5PmTL.js +2 -0
  27. package/.output/public/_nuxt/Dqw1lpr-.js +1 -0
  28. package/.output/public/_nuxt/DvLxILQP.js +1 -0
  29. package/.output/public/_nuxt/IREZ1eC2.js +1 -0
  30. package/.output/public/_nuxt/TownView.f-YOdXRs.css +1 -0
  31. package/.output/public/_nuxt/_id_.D9ymtHB5.css +1 -0
  32. package/.output/public/_nuxt/_id_.jf-_8E_c.css +1 -0
  33. package/.output/public/_nuxt/_wsId_.B4WiqkIS.css +1 -0
  34. package/.output/public/_nuxt/agents.ZD0rVdHE.css +1 -0
  35. package/.output/public/_nuxt/aml.BN8ZEW4h.css +1 -0
  36. package/.output/public/_nuxt/builds/latest.json +1 -1
  37. package/.output/public/_nuxt/builds/meta/78a295bb-2072-48a4-8b46-6d545fdae743.json +1 -0
  38. package/.output/public/_nuxt/ca4TJ3Op.js +1 -0
  39. package/.output/public/_nuxt/channel-templates.BOtahzPi.css +1 -0
  40. package/.output/public/_nuxt/daq.DjSgY94l.css +1 -0
  41. package/.output/public/_nuxt/dcw.8Y7FqCVN.css +1 -0
  42. package/.output/public/_nuxt/default.J32SgqFY.css +1 -0
  43. package/.output/public/_nuxt/entry.bdm0tv6M.css +1 -0
  44. package/.output/public/_nuxt/eqq3wWQF.js +18 -0
  45. package/.output/public/_nuxt/logs.BpKzmKsh.css +1 -0
  46. package/.output/public/_nuxt/monitor.D9pe7qN6.css +1 -0
  47. package/.output/public/_nuxt/pages.D7aSDlUI.css +1 -0
  48. package/.output/public/_nuxt/permissions.DwTVlFe6.css +1 -0
  49. package/.output/public/_nuxt/plugins.sb4nDGqr.css +1 -0
  50. package/.output/public/_nuxt/{Cbq-mryP.js → qr6R6Ha1.js} +1 -1
  51. package/.output/public/_nuxt/settings.BTgR-NiE.css +1 -0
  52. package/.output/public/_nuxt/teams.CxnxKVVs.css +1 -0
  53. package/.output/public/_nuxt/tokens.BFY7qv4f.css +1 -0
  54. package/.output/public/_nuxt/{town.DKIAhKnx.css → town.BBXZmeoP.css} +1 -1
  55. package/.output/public/_nuxt/users.DLgZ1D0h.css +1 -0
  56. package/.output/public/_nuxt/workshop.CR_QzeAN.css +1 -0
  57. package/.output/public/_nuxt/{BzHEilTt.js → xh3_vYcu.js} +1 -1
  58. package/.output/public/_nuxt/yF0aYMF1.js +4 -0
  59. package/.output/server/chunks/_/entity.mjs.map +1 -1
  60. package/.output/server/chunks/_/nitro.mjs +2355 -1362
  61. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  62. package/.output/server/chunks/build/{TownView-jVazYOjN.mjs → TownView--otsnr_7.mjs} +290 -208
  63. package/.output/server/chunks/build/TownView--otsnr_7.mjs.map +1 -0
  64. package/.output/server/chunks/build/{_id_-CfVosNg3.mjs → _id_-Brv-JSvr.mjs} +142 -141
  65. package/.output/server/chunks/build/_id_-Brv-JSvr.mjs.map +1 -0
  66. package/.output/server/chunks/build/{_id_-Hwr4rZpr.mjs → _id_-D9pl1OZy.mjs} +38 -36
  67. package/.output/server/chunks/build/_id_-D9pl1OZy.mjs.map +1 -0
  68. package/.output/server/chunks/build/{_wsId_-BVg3bB77.mjs → _wsId_-BASfDf0s.mjs} +295 -261
  69. package/.output/server/chunks/build/{_wsId_-BVg3bB77.mjs.map → _wsId_-BASfDf0s.mjs.map} +1 -1
  70. package/.output/server/chunks/build/{agents-Bvin73QY.mjs → agents-CLQqJF2y.mjs} +21 -27
  71. package/.output/server/chunks/build/agents-CLQqJF2y.mjs.map +1 -0
  72. package/.output/server/chunks/build/{aml-BCSJCdX7.mjs → aml-_7FdFL2p.mjs} +109 -109
  73. package/.output/server/chunks/build/{aml-BCSJCdX7.mjs.map → aml-_7FdFL2p.mjs.map} +1 -1
  74. package/.output/server/chunks/build/api-error-dul30BYQ.mjs.map +1 -1
  75. package/.output/server/chunks/build/{channel-templates-BTq8570n.mjs → channel-templates-p6SZNjlM.mjs} +19 -19
  76. package/.output/server/chunks/build/{channel-templates-BTq8570n.mjs.map → channel-templates-p6SZNjlM.mjs.map} +1 -1
  77. package/.output/server/chunks/build/{daq-C03Uu5UE.mjs → daq-DkMvD8sg.mjs} +193 -126
  78. package/.output/server/chunks/build/daq-DkMvD8sg.mjs.map +1 -0
  79. package/.output/server/chunks/build/{dcw-6vEYVeje.mjs → dcw-C1jgVJkO.mjs} +46 -46
  80. package/.output/server/chunks/build/{dcw-6vEYVeje.mjs.map → dcw-C1jgVJkO.mjs.map} +1 -1
  81. package/.output/server/chunks/build/{default-CZmZFpqH.mjs → default-BE4r0FZN.mjs} +152 -58
  82. package/.output/server/chunks/build/{default-CZmZFpqH.mjs.map → default-BE4r0FZN.mjs.map} +1 -1
  83. package/.output/server/chunks/build/{logs-B-xhuqln.mjs → logs--dByNyhw.mjs} +35 -35
  84. package/.output/server/chunks/build/{logs-B-xhuqln.mjs.map → logs--dByNyhw.mjs.map} +1 -1
  85. package/.output/server/chunks/build/{monitor-CyfDt4nR.mjs → monitor-C0okQaXz.mjs} +33 -33
  86. package/.output/server/chunks/build/{monitor-CyfDt4nR.mjs.map → monitor-C0okQaXz.mjs.map} +1 -1
  87. package/.output/server/chunks/build/{pages-BO7yZsXA.mjs → pages-B0bUWnC6.mjs} +35 -19
  88. package/.output/server/chunks/build/pages-B0bUWnC6.mjs.map +1 -0
  89. package/.output/server/chunks/build/{permissions-B52oOmaO.mjs → permissions-68SsNjex.mjs} +12 -12
  90. package/.output/server/chunks/build/{permissions-B52oOmaO.mjs.map → permissions-68SsNjex.mjs.map} +1 -1
  91. package/.output/server/chunks/build/{plugins-CUWmMdyt.mjs → plugins-lGlUr1lj.mjs} +17 -17
  92. package/.output/server/chunks/build/{plugins-CUWmMdyt.mjs.map → plugins-lGlUr1lj.mjs.map} +1 -1
  93. package/.output/server/chunks/build/{settings-DoQ2Oq3P.mjs → settings-Ddd1qx2Z.mjs} +50 -47
  94. package/.output/server/chunks/build/settings-Ddd1qx2Z.mjs.map +1 -0
  95. package/.output/server/chunks/build/{teams-2kz3CusY.mjs → teams-MEDLZdMn.mjs} +38 -34
  96. package/.output/server/chunks/build/teams-MEDLZdMn.mjs.map +1 -0
  97. package/.output/server/chunks/build/{tokens-BbWLqtVz.mjs → tokens-C7fTM5C2.mjs} +14 -14
  98. package/.output/server/chunks/build/{tokens-BbWLqtVz.mjs.map → tokens-C7fTM5C2.mjs.map} +1 -1
  99. package/.output/server/chunks/build/{town-BOl6hs9B.mjs → town-CoQdblbZ.mjs} +38 -12
  100. package/.output/server/chunks/build/town-CoQdblbZ.mjs.map +1 -0
  101. package/.output/server/chunks/build/{useDaqStream-CIBaiGAl.mjs → useDaqStream-DfCFpb3p.mjs} +9 -3
  102. package/.output/server/chunks/build/useDaqStream-DfCFpb3p.mjs.map +1 -0
  103. package/.output/server/chunks/build/{useDcwStream-CBbiYnWe.mjs → useDcwStream-UPiX-3iO.mjs} +11 -2
  104. package/.output/server/chunks/build/useDcwStream-UPiX-3iO.mjs.map +1 -0
  105. package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs +49 -0
  106. package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs.map +1 -0
  107. package/.output/server/chunks/build/{users-fohSmF-J.mjs → users-Cfd5-l2-.mjs} +6 -6
  108. package/.output/server/chunks/build/{users-fohSmF-J.mjs.map → users-Cfd5-l2-.mjs.map} +1 -1
  109. package/.output/server/chunks/build/{workshop-DX5-ldc4.mjs → workshop-BL5bhfs0.mjs} +15 -15
  110. package/.output/server/chunks/build/{workshop-DX5-ldc4.mjs.map → workshop-BL5bhfs0.mjs.map} +1 -1
  111. package/.output/server/chunks/build/{workspaces-BuydxM-3.mjs → workspaces-Bgz5Ekwp.mjs} +18 -3
  112. package/.output/server/chunks/build/workspaces-Bgz5Ekwp.mjs.map +1 -0
  113. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs.map +1 -1
  114. package/.output/server/chunks/routes/api/system/index.patch.mjs.map +1 -1
  115. package/.output/server/chunks/routes/api/system/index.post.mjs.map +1 -1
  116. package/.output/server/chunks/routes/api/system/settings/events.get.mjs.map +1 -1
  117. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +6 -2
  118. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs.map +1 -1
  119. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +2 -1
  120. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs.map +1 -1
  121. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
  122. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +3 -3
  123. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs.map +1 -1
  124. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs.map +1 -1
  125. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs.map +1 -1
  126. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +3 -2
  127. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs.map +1 -1
  128. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -1
  129. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs.map +1 -1
  130. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +8 -6
  131. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs.map +1 -1
  132. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +5 -5
  133. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs.map +1 -1
  134. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +14 -4
  135. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs.map +1 -1
  136. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +4 -4
  137. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs.map +1 -1
  138. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +4 -3
  139. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs.map +1 -1
  140. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +31 -0
  141. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs.map +1 -0
  142. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +28 -0
  143. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs.map +1 -0
  144. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
  145. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
  146. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs.map +1 -1
  147. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +32 -0
  148. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs.map +1 -0
  149. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +34 -0
  150. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs.map +1 -0
  151. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +33 -0
  152. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs.map +1 -0
  153. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +34 -0
  154. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs.map +1 -0
  155. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
  156. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
  157. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
  158. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
  159. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  160. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  161. package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
  162. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +3 -1
  163. package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
  164. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +5 -1
  165. package/.output/server/chunks/routes/api/workshop/index6.get.mjs.map +1 -1
  166. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +3 -1
  167. package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
  168. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  169. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  170. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  171. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  172. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
  173. package/.output/server/chunks/routes/renderer.mjs +3 -3
  174. package/.output/server/chunks/virtual/entry.mjs +51 -25
  175. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  176. package/.output/server/package.json +1 -1
  177. package/README-zh.md +203 -39
  178. package/README.md +739 -591
  179. package/app/app.vue +9 -3
  180. package/app/assets/css/main.css +517 -7
  181. package/app/components/AppHeader.vue +98 -7
  182. package/app/components/AppSidebar.vue +117 -11
  183. package/app/components/AwChart.vue +2 -1
  184. package/app/components/workshop/AgentInspectorDrawer.vue +6 -6
  185. package/app/components/workshop/AgentLanesView.vue +52 -1
  186. package/app/components/workshop/AssetLibrary.vue +4 -2
  187. package/app/components/workshop/ChannelSessionList.vue +4 -2
  188. package/app/components/workshop/Composer.vue +96 -0
  189. package/app/components/workshop/DaqNodeRow.vue +19 -0
  190. package/app/components/workshop/DaqTemplateIcon.vue +33 -0
  191. package/app/components/workshop/DeviceTwinPanel.vue +37 -35
  192. package/app/components/workshop/EventBlock.vue +3 -3
  193. package/app/components/workshop/InspectorPanel.vue +47 -11
  194. package/app/components/workshop/LiveAgentBar.vue +34 -0
  195. package/app/components/workshop/TaskBoardView.vue +83 -33
  196. package/app/components/workshop/TranscriptTimeline.vue +56 -0
  197. package/app/components/workshop/blocks/ClusterError.vue +1 -1
  198. package/app/components/workshop/blocks/ClusterRoute.vue +3 -1
  199. package/app/components/workshop/blocks/ClusterStatus.vue +2 -2
  200. package/app/components/workshop/blocks/ClusterStream.vue +8 -2
  201. package/app/components/workshop/town/ModelPreview3D.vue +1 -1
  202. package/app/components/workshop/town/TownView.vue +507 -82
  203. package/app/composables/useResponsive.ts +88 -0
  204. package/app/composables/useRouteMeta.ts +3 -0
  205. package/app/composables/workshop/useDaqStream.ts +7 -4
  206. package/app/composables/workshop/useDcwStream.ts +8 -2
  207. package/app/composables/workshop/useVisibleInterval.ts +2 -2
  208. package/app/composables/workshop/useWorkshopApi.ts +1 -1
  209. package/app/layouts/default.vue +46 -2
  210. package/app/pages/aml/index.vue +712 -616
  211. package/app/pages/daq/[id].vue +12 -7
  212. package/app/pages/daq/index.vue +216 -13
  213. package/app/pages/dcw/[id].vue +117 -32
  214. package/app/pages/dcw/index.vue +83 -23
  215. package/app/pages/index.vue +35 -1
  216. package/app/pages/logs/index.vue +147 -13
  217. package/app/pages/monitor.vue +56 -12
  218. package/app/pages/permissions/index.vue +34 -0
  219. package/app/pages/plugins/index.vue +35 -4
  220. package/app/pages/settings.vue +90 -21
  221. package/app/pages/tokens.vue +23 -0
  222. package/app/pages/town.vue +50 -5
  223. package/app/pages/users.vue +23 -0
  224. package/app/pages/workshop/agents.vue +92 -2
  225. package/app/pages/workshop/channel-templates.vue +53 -0
  226. package/app/pages/workshop/index.vue +14 -0
  227. package/app/pages/workshop/teams.vue +66 -6
  228. package/app/pages/workshop/w/[wsId].vue +202 -14
  229. package/app/plugins/aw-plugins.client.ts +13 -8
  230. package/app/stores/app.ts +33 -1
  231. package/app/stores/workshop/user.ts +1 -1
  232. package/app/stores/workshop/workspaces.ts +18 -2
  233. package/app/utils/api-error.ts +1 -1
  234. package/cli/commands/build.mjs +8 -1
  235. package/docker-compose.yml +6 -0
  236. package/docs/cli.en.md +2 -2
  237. package/docs/cli.md +2 -2
  238. package/docs/plugins.en.md +33 -1
  239. package/docs/plugins.md +29 -1
  240. package/docs/sdk.en.md +1 -1
  241. package/docs/sdk.md +1 -1
  242. package/i18n/locales/en.ts +2 -0
  243. package/i18n/locales/zh-CN.ts +2 -0
  244. package/nuxt.config.ts +31 -0
  245. package/package.json +11 -2
  246. package/scripts/_dbg-param-map-e2e.ts +242 -0
  247. package/scripts/_dbg-param-map-rest-smoke.mjs +73 -0
  248. package/scripts/_dbg-param-real-scenario.mjs +153 -0
  249. package/scripts/_loop-biax-campaign.mjs +124 -0
  250. package/scripts/api-live-e2e.mjs +40 -8
  251. package/scripts/capture-walkthrough.mjs +232 -0
  252. package/scripts/render-walkthrough-figure.mjs +46 -0
  253. package/scripts/seed-walkthrough-fixture.mjs +143 -0
  254. package/scripts/test-plugin-hardening.mjs +8 -0
  255. package/scripts/test-serial-bridge.mjs +418 -0
  256. package/scripts/ui/admin-shots.mjs +46 -0
  257. package/scripts/ui/audit-layout.mjs +301 -0
  258. package/scripts/ui/bump-microfont.mjs +39 -0
  259. package/scripts/ui/e2e-interactive.mjs +328 -0
  260. package/scripts/ui/lib.mjs +198 -0
  261. package/scripts/ui/linkcheck2.mjs +37 -0
  262. package/scripts/ui/live-render-check.mjs +72 -0
  263. package/scripts/ui/md-lint.mjs +80 -0
  264. package/scripts/ui/perf-audit.mjs +132 -0
  265. package/scripts/ui/readme-assets.mjs +30 -0
  266. package/scripts/ui/readme-shots.mjs +42 -0
  267. package/scripts/ui/record.mjs +225 -0
  268. package/scripts/ui/seed-admin.mjs +68 -0
  269. package/scripts/ui/seed-demo.mjs +83 -0
  270. package/scripts/ui/seed-industrial-demo.mjs +171 -0
  271. package/scripts/ui/shot-hero.mjs +25 -0
  272. package/scripts/ui/shots.mjs +75 -0
  273. package/scripts/ui/sim-ui-shot.mjs +16 -0
  274. package/scripts/ui/verify-nav.mjs +51 -0
  275. package/scripts/ui/verify-responsive.mjs +285 -0
  276. package/server/api/system/config-groups/[id].patch.ts +1 -1
  277. package/server/api/system/config-groups/index.post.ts +1 -1
  278. package/server/api/system/settings/events.get.ts +1 -1
  279. package/server/api/system/settings/index.patch.ts +1 -1
  280. package/server/api/workshop/agent-tools/invoke.post.ts +16 -2
  281. package/server/api/workshop/aml/datasets/[id].get.ts +8 -1
  282. package/server/api/workshop/daq/index.get.ts +3 -1
  283. package/server/api/workshop/daq/infra/reconnect.post.ts +1 -1
  284. package/server/api/workshop/daq/templates/[key].delete.ts +1 -0
  285. package/server/api/workshop/daq/templates/[key].patch.ts +1 -0
  286. package/server/api/workshop/daq/templates/index.post.ts +1 -0
  287. package/server/api/workshop/dcw/[id]/write.post.ts +10 -2
  288. package/server/api/workshop/dcw/[id].delete.ts +5 -2
  289. package/server/api/workshop/dcw/index.get.ts +5 -0
  290. package/server/api/workshop/dcw/lines/[id].patch.ts +1 -1
  291. package/server/api/workshop/dcw/params/[id]/read.post.ts +17 -0
  292. package/server/api/workshop/dcw/params/[id]/write.post.ts +21 -0
  293. package/server/api/workshop/dcw/params/[id].delete.ts +19 -0
  294. package/server/api/workshop/dcw/params/[id].patch.ts +23 -0
  295. package/server/api/workshop/dcw/params/index.get.ts +27 -0
  296. package/server/api/workshop/dcw/params/index.post.ts +25 -0
  297. package/server/api/workshop/permissions/index.get.ts +3 -1
  298. package/server/plugins/aw-plugins.ts +23 -10
  299. package/server/plugins/dev-stability-guard.ts +3 -1
  300. package/server/plugins/system-config.ts +6 -1
  301. package/server/plugins-builtin/serial-bridge/client.mjs +210 -0
  302. package/server/plugins-builtin/serial-bridge/drivers.mjs +409 -0
  303. package/server/plugins-builtin/serial-bridge/i18n.json +62 -0
  304. package/server/plugins-builtin/serial-bridge/index.mjs +247 -0
  305. package/server/plugins-builtin/serial-bridge/lib.mjs +208 -0
  306. package/server/plugins-builtin/serial-bridge/rtu.mjs +168 -0
  307. package/server/services/system-config.ts +28 -9
  308. package/server/services/workshop/agents/adapters/one-shot-cli-agent.ts +2 -1
  309. package/server/services/workshop/agents/agent-interface.ts +8 -6
  310. package/server/services/workshop/agents/base-agent.ts +18 -4
  311. package/server/services/workshop/agents/claude-agent.ts +7 -3
  312. package/server/services/workshop/agents/codex-agent.ts +3 -3
  313. package/server/services/workshop/agents/dsh-agent.ts +3 -3
  314. package/server/services/workshop/agents/goose-agent.ts +0 -1
  315. package/server/services/workshop/agents/harness-terminal.ts +14 -1
  316. package/server/services/workshop/agents/hermes-agent.ts +4 -2
  317. package/server/services/workshop/agents/host-tool-bridge.ts +5 -1
  318. package/server/services/workshop/agents/industrial-context.ts +4 -1
  319. package/server/services/workshop/agents/industrial-tools.ts +164 -6
  320. package/server/services/workshop/agents/omp-agent.ts +15 -9
  321. package/server/services/workshop/agents/opencode-agent.ts +47 -21
  322. package/server/services/workshop/agents/qwen-agent.ts +10 -5
  323. package/server/services/workshop/aml/entity.ts +3 -1
  324. package/server/services/workshop/aml/python-runtime.ts +3 -2
  325. package/server/services/workshop/daq/bus/mqtt.adapter.ts +8 -4
  326. package/server/services/workshop/daq/daq-controller.ts +25 -5
  327. package/server/services/workshop/daq/daq-runtime.ts +5 -3
  328. package/server/services/workshop/daq/drivers.ts +141 -11
  329. package/server/services/workshop/daq/host-ports.ts +3 -2
  330. package/server/services/workshop/daq/storage/timescale.adapter.ts +3 -1
  331. package/server/services/workshop/db/channel.repo.ts +4 -0
  332. package/server/services/workshop/db/ops.repo.ts +5 -2
  333. package/server/services/workshop/db/retention.ts +8 -3
  334. package/server/services/workshop/dcw/dcw-controller.ts +147 -16
  335. package/server/services/workshop/dcw/dcw-product.repo.ts +38 -1
  336. package/server/services/workshop/dcw/dcw-runtime.ts +3 -2
  337. package/server/services/workshop/dcw/drivers.ts +90 -4
  338. package/server/services/workshop/dcw/param-conversion.ts +78 -0
  339. package/server/services/workshop/dcw/param-limits.ts +142 -0
  340. package/server/services/workshop/dcw/param-map.repo.ts +305 -0
  341. package/server/services/workshop/dcw/plugin-bridge.ts +45 -0
  342. package/server/services/workshop/dcw/recipe-rollback-manager.ts +13 -7
  343. package/server/services/workshop/plugins/host.mjs +30 -0
  344. package/server/services/workshop/runtime/agent-runtime.ts +4 -0
  345. package/server/services/workshop/runtime/manager.ts +9 -2
  346. package/server/services/workshop/settings.ts +4 -2
  347. package/server/types/pg.d.ts +49 -0
  348. package/server/utils/stability-severity.ts +13 -2
  349. package/shared/config/groups.mjs +22 -1
  350. package/shared/config/home.d.mts +28 -0
  351. package/shared/daq-protocol.ts +15 -0
  352. package/shared/dcw-protocol.ts +136 -0
  353. package/uno.config.ts +12 -1
  354. package/.output/public/_nuxt/8NMOXZOV.js +0 -1
  355. package/.output/public/_nuxt/BFkgkW8u.js +0 -4
  356. package/.output/public/_nuxt/C5gUkRwn.js +0 -1
  357. package/.output/public/_nuxt/CM12FuB42.js +0 -1
  358. package/.output/public/_nuxt/CZiw7sEV.js +0 -1
  359. package/.output/public/_nuxt/Cc_9VzD42.js +0 -1
  360. package/.output/public/_nuxt/CdPzkOMV.js +0 -1
  361. package/.output/public/_nuxt/CmsOtOAA2.js +0 -1
  362. package/.output/public/_nuxt/D1YDxZpZ.js +0 -1
  363. package/.output/public/_nuxt/D20Yamr4.js +0 -1
  364. package/.output/public/_nuxt/DAe0h2MB.js +0 -1
  365. package/.output/public/_nuxt/DmqknNvV.js +0 -18
  366. package/.output/public/_nuxt/DnUuIR83.js +0 -1
  367. package/.output/public/_nuxt/S_fVQwJK.js +0 -1
  368. package/.output/public/_nuxt/TownView.0oLiQgTC.css +0 -1
  369. package/.output/public/_nuxt/_id_.D-SYuyZb.css +0 -1
  370. package/.output/public/_nuxt/_id_.hma_BU6T.css +0 -1
  371. package/.output/public/_nuxt/_wsId_.B12v3PhY.css +0 -1
  372. package/.output/public/_nuxt/agents.BV70ioCv.css +0 -1
  373. package/.output/public/_nuxt/ahgEJu2R.js +0 -1
  374. package/.output/public/_nuxt/aml.COEKNNqK.css +0 -1
  375. package/.output/public/_nuxt/builds/meta/4457d63f-0866-4cea-b320-04a321f24795.json +0 -1
  376. package/.output/public/_nuxt/channel-templates.C-M5nKcC.css +0 -1
  377. package/.output/public/_nuxt/daq.B3265ZDn.css +0 -1
  378. package/.output/public/_nuxt/dcw.DLYZqEhT.css +0 -1
  379. package/.output/public/_nuxt/default.BXI_fZUi.css +0 -1
  380. package/.output/public/_nuxt/entry.BB-Eeh-J.css +0 -1
  381. package/.output/public/_nuxt/logs.CqFyMrJw.css +0 -1
  382. package/.output/public/_nuxt/monitor.B--1dPzs.css +0 -1
  383. package/.output/public/_nuxt/pages.ooEzrMm9.css +0 -1
  384. package/.output/public/_nuxt/permissions.B1pjGChZ.css +0 -1
  385. package/.output/public/_nuxt/plugins.5e5chZ67.css +0 -1
  386. package/.output/public/_nuxt/pz2JDAM7.js +0 -2
  387. package/.output/public/_nuxt/settings.Dm3M0RLy.css +0 -1
  388. package/.output/public/_nuxt/teams.BC75EGnR.css +0 -1
  389. package/.output/public/_nuxt/tokens.xRb1fSPU.css +0 -1
  390. package/.output/public/_nuxt/users.CXnP2E08.css +0 -1
  391. package/.output/public/_nuxt/workshop.Jk5HxWPE.css +0 -1
  392. package/.output/server/chunks/build/TownView-jVazYOjN.mjs.map +0 -1
  393. package/.output/server/chunks/build/_id_-CfVosNg3.mjs.map +0 -1
  394. package/.output/server/chunks/build/_id_-Hwr4rZpr.mjs.map +0 -1
  395. package/.output/server/chunks/build/agents-Bvin73QY.mjs.map +0 -1
  396. package/.output/server/chunks/build/daq-C03Uu5UE.mjs.map +0 -1
  397. package/.output/server/chunks/build/pages-BO7yZsXA.mjs.map +0 -1
  398. package/.output/server/chunks/build/settings-DoQ2Oq3P.mjs.map +0 -1
  399. package/.output/server/chunks/build/teams-2kz3CusY.mjs.map +0 -1
  400. package/.output/server/chunks/build/town-BOl6hs9B.mjs.map +0 -1
  401. package/.output/server/chunks/build/useDaqStream-CIBaiGAl.mjs.map +0 -1
  402. package/.output/server/chunks/build/useDcwStream-CBbiYnWe.mjs.map +0 -1
  403. package/.output/server/chunks/build/workspaces-BuydxM-3.mjs.map +0 -1
  404. /package/.output/public/_nuxt/{36oeS8_R2.js → 36oeS8_R.js} +0 -0
  405. /package/.output/public/_nuxt/{CYWVXZTS.js → CYWVXZTS2.js} +0 -0
@@ -346,187 +346,187 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
346
346
  const predError = ref("");
347
347
  const predResult = ref(null);
348
348
  return (_ctx, _push, _parent, _attrs) => {
349
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-e7c763e8><div class="aw-page-head" data-v-e7c763e8><div data-v-e7c763e8><p class="aw-kicker" data-v-e7c763e8> AGENTWORKSHOP / AML STUDIO </p><h1 data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx001"))}</h1><p class="sub" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx002"))}</p></div><div class="badges mono" data-v-e7c763e8><span class="${ssrRenderClass([{ bad: overview.value != null && !overview.value.runtime.python.ok }, "badge"])}"${ssrRenderAttr("title", overview.value?.runtime.python.reason ?? "")} data-v-e7c763e8>PYTHON · ${ssrInterpolate(pythonText.value)}</span><span class="${ssrRenderClass([{ bad: overview.value != null && !overview.value.runtime.venvReady }, "badge"])}" data-v-e7c763e8>VENV · ${ssrInterpolate(venvText.value)}</span><span class="${ssrRenderClass([{ bad: env.value != null && !env.value.uv.ok }, "badge"])}"${ssrRenderAttr("title", env.value?.uv.reason ?? env.value?.uv.path ?? "")} data-v-e7c763e8>UV · ${ssrInterpolate(uvText.value)}</span></div></div>`);
350
- if (overview.value != null && !overview.value.runtime.python.ok) _push(`<div class="infra-banner" data-v-e7c763e8><span class="i-tabler-alert-triangle" data-v-e7c763e8></span><span class="txt" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx014"))}<b class="mono" data-v-e7c763e8>${ssrInterpolate(overview.value.runtime.python.reason ?? "")}</b></span></div>`);
349
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-1b416c3a><div class="aw-page-head" data-v-1b416c3a><div data-v-1b416c3a><p class="aw-kicker" data-v-1b416c3a> AGENTWORKSHOP / AML STUDIO </p><h1 data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx001"))}</h1><p class="sub" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx002"))}</p></div><div class="badges mono" data-v-1b416c3a><span class="${ssrRenderClass([{ bad: overview.value != null && !overview.value.runtime.python.ok }, "badge"])}"${ssrRenderAttr("title", overview.value?.runtime.python.reason ?? "")} data-v-1b416c3a>PYTHON · ${ssrInterpolate(pythonText.value)}</span><span class="${ssrRenderClass([{ bad: overview.value != null && !overview.value.runtime.venvReady }, "badge"])}" data-v-1b416c3a>VENV · ${ssrInterpolate(venvText.value)}</span><span class="${ssrRenderClass([{ bad: env.value != null && !env.value.uv.ok }, "badge"])}"${ssrRenderAttr("title", env.value?.uv.reason ?? env.value?.uv.path ?? "")} data-v-1b416c3a>UV · ${ssrInterpolate(uvText.value)}</span></div></div>`);
350
+ if (overview.value != null && !overview.value.runtime.python.ok) _push(`<div class="infra-banner" data-v-1b416c3a><span class="i-tabler-alert-triangle" data-v-1b416c3a></span><span class="txt" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx014"))}<b class="mono" data-v-1b416c3a>${ssrInterpolate(overview.value.runtime.python.reason ?? "")}</b></span></div>`);
351
351
  else _push(`<!---->`);
352
- if (overview.value) _push(`<section class="aw-tile ov-card" data-v-e7c763e8><div class="ov-row mono" data-v-e7c763e8><span class="${ssrRenderClass([overview.value.runtime.python.ok ? "ok" : "bad", "ov-item"])}" data-v-e7c763e8><span class="${ssrRenderClass(overview.value.runtime.python.ok ? "i-tabler-circle-check" : "i-tabler-alert-triangle")}" data-v-e7c763e8></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx003"))} · ${ssrInterpolate(pythonText.value)}</span><span class="${ssrRenderClass([{ ok: overview.value.runtime.venvReady }, "ov-item"])}" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx006"))} · ${ssrInterpolate(venvText.value)}</span><span class="ov-item" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx009"))} <b data-v-e7c763e8>${ssrInterpolate(overview.value.runtime.queued)}</b></span><span class="ov-item" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx010"))} <b data-v-e7c763e8>${ssrInterpolate(overview.value.runtime.running)}</b></span><span class="sep" data-v-e7c763e8>·</span><span class="ov-item" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx011"))} <b data-v-e7c763e8>${ssrInterpolate(overview.value.counts.datasets)}</b></span><span class="ov-item" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx012"))} <b data-v-e7c763e8>${ssrInterpolate(overview.value.counts.models)}</b></span><span class="ov-item accent"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx013"))} data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx013"))} <b data-v-e7c763e8>${ssrInterpolate(overview.value.counts.productions)}</b></span><button class="mini-btn reload" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx017"))}</button></div></section>`);
353
- else if (overviewError.value) _push(`<p class="err" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx015"))}:${ssrInterpolate(overviewError.value)}</p>`);
352
+ if (overview.value) _push(`<section class="aw-tile ov-card" data-v-1b416c3a><div class="ov-row mono" data-v-1b416c3a><span class="${ssrRenderClass([overview.value.runtime.python.ok ? "ok" : "bad", "ov-item"])}" data-v-1b416c3a><span class="${ssrRenderClass(overview.value.runtime.python.ok ? "i-tabler-circle-check" : "i-tabler-alert-triangle")}" data-v-1b416c3a></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx003"))} · ${ssrInterpolate(pythonText.value)}</span><span class="${ssrRenderClass([{ ok: overview.value.runtime.venvReady }, "ov-item"])}" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx006"))} · ${ssrInterpolate(venvText.value)}</span><span class="ov-item" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx009"))} <b data-v-1b416c3a>${ssrInterpolate(overview.value.runtime.queued)}</b></span><span class="ov-item" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx010"))} <b data-v-1b416c3a>${ssrInterpolate(overview.value.runtime.running)}</b></span><span class="sep" data-v-1b416c3a>·</span><span class="ov-item" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx011"))} <b data-v-1b416c3a>${ssrInterpolate(overview.value.counts.datasets)}</b></span><span class="ov-item" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx012"))} <b data-v-1b416c3a>${ssrInterpolate(overview.value.counts.models)}</b></span><span class="ov-item accent"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx013"))} data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx013"))} <b data-v-1b416c3a>${ssrInterpolate(overview.value.counts.productions)}</b></span><button class="mini-btn reload" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx017"))}</button></div></section>`);
353
+ else if (overviewError.value) _push(`<p class="err" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx015"))}:${ssrInterpolate(overviewError.value)}</p>`);
354
354
  else _push(`<!---->`);
355
355
  if (env.value) {
356
- _push(`<section class="aw-tile zone env-zone" data-v-e7c763e8><div class="zone-head" data-v-e7c763e8><h2 data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx162"))}</h2><div class="zone-actions" data-v-e7c763e8><button class="mini-btn"${ssrIncludeBooleanAttr(envBusy.value) ? " disabled" : ""} data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx175"))}</button><button class="mini-btn" data-v-e7c763e8>${ssrInterpolate(envOpen.value ? _ctx.$t("aml.k1amlx181") : _ctx.$t("aml.k1amlx180"))}</button></div></div>`);
357
- if (!env.value.preflight.canRunJobs) _push(`<div class="infra-banner" data-v-e7c763e8><span class="i-tabler-alert-triangle" data-v-e7c763e8></span><span class="txt" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx178"))}:<b class="mono" data-v-e7c763e8>${ssrInterpolate(env.value.preflight.blockers.join(" / "))}</b></span></div>`);
356
+ _push(`<section class="aw-tile zone env-zone" data-v-1b416c3a><div class="zone-head" data-v-1b416c3a><h2 data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx162"))}</h2><div class="zone-actions" data-v-1b416c3a><button class="mini-btn"${ssrIncludeBooleanAttr(envBusy.value) ? " disabled" : ""} data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx175"))}</button><button class="mini-btn" data-v-1b416c3a>${ssrInterpolate(envOpen.value ? _ctx.$t("aml.k1amlx181") : _ctx.$t("aml.k1amlx180"))}</button></div></div>`);
357
+ if (!env.value.preflight.canRunJobs) _push(`<div class="infra-banner" data-v-1b416c3a><span class="i-tabler-alert-triangle" data-v-1b416c3a></span><span class="txt" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx178"))}:<b class="mono" data-v-1b416c3a>${ssrInterpolate(env.value.preflight.blockers.join(" / "))}</b></span></div>`);
358
358
  else _push(`<!---->`);
359
- _push(`<div class="env-grid" data-v-e7c763e8><div class="${ssrRenderClass([env.value.uv.ok ? "ok" : "bad", "env-card"])}" data-v-e7c763e8><div class="ec-head" data-v-e7c763e8><span class="${ssrRenderClass(env.value.uv.ok ? "i-tabler-circle-check" : "i-tabler-alert-triangle")}" data-v-e7c763e8></span><b data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx163"))}</b><span class="ec-state" data-v-e7c763e8>${ssrInterpolate(uvText.value)}</span></div>`);
359
+ _push(`<div class="env-grid" data-v-1b416c3a><div class="${ssrRenderClass([env.value.uv.ok ? "ok" : "bad", "env-card"])}" data-v-1b416c3a><div class="ec-head" data-v-1b416c3a><span class="${ssrRenderClass(env.value.uv.ok ? "i-tabler-circle-check" : "i-tabler-alert-triangle")}" data-v-1b416c3a></span><b data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx163"))}</b><span class="ec-state" data-v-1b416c3a>${ssrInterpolate(uvText.value)}</span></div>`);
360
360
  if (env.value.uv.ok) {
361
- _push(`<p class="ec-detail mono" data-v-e7c763e8>${ssrInterpolate(env.value.uv.path)}`);
361
+ _push(`<p class="ec-detail mono" data-v-1b416c3a>${ssrInterpolate(env.value.uv.path)}`);
362
362
  if (uvSourceText.value) _push(`<!--[--> · ${ssrInterpolate(uvSourceText.value)}<!--]-->`);
363
363
  else _push(`<!---->`);
364
364
  _push(`</p>`);
365
- } else _push(`<p class="ec-detail" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx177"))}</p>`);
366
- _push(`<div class="ec-actions" data-v-e7c763e8>`);
367
- if (!env.value.uv.ok) _push(`<button class="mini-btn primary"${ssrIncludeBooleanAttr(envBusy.value) ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("aml.k1amlx176"))} data-v-e7c763e8><span class="i-tabler-download" data-v-e7c763e8></span> ${ssrInterpolate(env.value.task?.kind === "install-uv" && env.value.task.status === "running" ? _ctx.$t("aml.k1amlx167") : _ctx.$t("aml.k1amlx166"))}</button>`);
365
+ } else _push(`<p class="ec-detail" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx177"))}</p>`);
366
+ _push(`<div class="ec-actions" data-v-1b416c3a>`);
367
+ if (!env.value.uv.ok) _push(`<button class="mini-btn primary"${ssrIncludeBooleanAttr(envBusy.value) ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("aml.k1amlx176"))} data-v-1b416c3a><span class="i-tabler-download" data-v-1b416c3a></span> ${ssrInterpolate(env.value.task?.kind === "install-uv" && env.value.task.status === "running" ? _ctx.$t("aml.k1amlx167") : _ctx.$t("aml.k1amlx166"))}</button>`);
368
368
  else _push(`<!---->`);
369
- _push(`</div></div><div class="${ssrRenderClass([env.value.venv.ready ? "ok" : "bad", "env-card"])}" data-v-e7c763e8><div class="ec-head" data-v-e7c763e8><span class="${ssrRenderClass(env.value.venv.ready ? "i-tabler-circle-check" : "i-tabler-alert-triangle")}" data-v-e7c763e8></span><b data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx168"))}</b><span class="ec-state" data-v-e7c763e8>${ssrInterpolate(env.value.venv.ready ? _ctx.$t("aml.k1amlx007") : _ctx.$t("aml.k1amlx008"))}</span></div><p class="ec-detail mono" data-v-e7c763e8>${ssrInterpolate(env.value.venv.dir)} `);
369
+ _push(`</div></div><div class="${ssrRenderClass([env.value.venv.ready ? "ok" : "bad", "env-card"])}" data-v-1b416c3a><div class="ec-head" data-v-1b416c3a><span class="${ssrRenderClass(env.value.venv.ready ? "i-tabler-circle-check" : "i-tabler-alert-triangle")}" data-v-1b416c3a></span><b data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx168"))}</b><span class="ec-state" data-v-1b416c3a>${ssrInterpolate(env.value.venv.ready ? _ctx.$t("aml.k1amlx007") : _ctx.$t("aml.k1amlx008"))}</span></div><p class="ec-detail mono" data-v-1b416c3a>${ssrInterpolate(env.value.venv.dir)} `);
370
370
  if (env.value.venv.ready) _push(`<!--[--> · ${ssrInterpolate(env.value.venv.sizeMb)} MB <!--]-->`);
371
371
  else _push(`<!---->`);
372
- _push(`</p><div class="ec-actions" data-v-e7c763e8><button class="mini-btn primary"${ssrIncludeBooleanAttr(envBusy.value || !env.value.python.ok) ? " disabled" : ""}${ssrRenderAttr("title", env.value.python.ok ? "" : env.value.python.reason ?? "")} data-v-e7c763e8><span class="i-tabler-plus" data-v-e7c763e8></span> ${ssrInterpolate(env.value.task?.kind === "create-venv" && env.value.task.status === "running" ? _ctx.$t("aml.k1amlx170") : _ctx.$t("aml.k1amlx168"))}</button>`);
373
- if (env.value.venv.ready) _push(`<button class="mini-btn"${ssrIncludeBooleanAttr(envBusy.value) ? " disabled" : ""} data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx169"))}</button>`);
372
+ _push(`</p><div class="ec-actions" data-v-1b416c3a><button class="mini-btn primary"${ssrIncludeBooleanAttr(envBusy.value || !env.value.python.ok) ? " disabled" : ""}${ssrRenderAttr("title", env.value.python.ok ? "" : env.value.python.reason ?? "")} data-v-1b416c3a><span class="i-tabler-plus" data-v-1b416c3a></span> ${ssrInterpolate(env.value.task?.kind === "create-venv" && env.value.task.status === "running" ? _ctx.$t("aml.k1amlx170") : _ctx.$t("aml.k1amlx168"))}</button>`);
373
+ if (env.value.venv.ready) _push(`<button class="mini-btn"${ssrIncludeBooleanAttr(envBusy.value) ? " disabled" : ""} data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx169"))}</button>`);
374
374
  else _push(`<!---->`);
375
- _push(`</div></div><div class="env-card" data-v-e7c763e8><div class="ec-head" data-v-e7c763e8><span class="i-tabler-folder" data-v-e7c763e8></span><b data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx171"))}</b></div><p class="ec-detail mono" data-v-e7c763e8>${ssrInterpolate(env.value.amlRoot)}</p><p class="ec-detail dim" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx201"))}</p><p class="ec-detail" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx174"))}: <b class="mono" data-v-e7c763e8>${ssrInterpolate(env.value.disk.usedMb)} / ${ssrInterpolate(env.value.disk.quotaMb)} MB</b><span class="dim" data-v-e7c763e8> · ${ssrInterpolate(env.value.amlRootSource)}</span></p></div><div class="${ssrRenderClass([inventory.value == null ? "" : inventory.value.ok ? "ok" : "bad", "env-card"])}" data-v-e7c763e8><div class="ec-head" data-v-e7c763e8><span class="${ssrRenderClass(inventory.value?.ok === false ? "i-tabler-alert-triangle" : "i-tabler-database")}" data-v-e7c763e8></span><b data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx182"))}</b>`);
376
- if (inventory.value) _push(`<span class="ec-state" data-v-e7c763e8>${ssrInterpolate(inventory.value.ok ? _ctx.$t("aml.k1amlx183") : _ctx.$t("aml.k1amlx184"))}</span>`);
375
+ _push(`</div></div><div class="env-card" data-v-1b416c3a><div class="ec-head" data-v-1b416c3a><span class="i-tabler-folder" data-v-1b416c3a></span><b data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx171"))}</b></div><p class="ec-detail mono" data-v-1b416c3a>${ssrInterpolate(env.value.amlRoot)}</p><p class="ec-detail dim" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx201"))}</p><p class="ec-detail" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx174"))}: <b class="mono" data-v-1b416c3a>${ssrInterpolate(env.value.disk.usedMb)} / ${ssrInterpolate(env.value.disk.quotaMb)} MB</b><span class="dim" data-v-1b416c3a> · ${ssrInterpolate(env.value.amlRootSource)}</span></p></div><div class="${ssrRenderClass([inventory.value == null ? "" : inventory.value.ok ? "ok" : "bad", "env-card"])}" data-v-1b416c3a><div class="ec-head" data-v-1b416c3a><span class="${ssrRenderClass(inventory.value?.ok === false ? "i-tabler-alert-triangle" : "i-tabler-database")}" data-v-1b416c3a></span><b data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx182"))}</b>`);
376
+ if (inventory.value) _push(`<span class="ec-state" data-v-1b416c3a>${ssrInterpolate(inventory.value.ok ? _ctx.$t("aml.k1amlx183") : _ctx.$t("aml.k1amlx184"))}</span>`);
377
377
  else _push(`<!---->`);
378
378
  _push(`</div>`);
379
- if (inventory.value) _push(`<p class="ec-detail mono" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx011"))} ${ssrInterpolate(inventory.value.counts.datasets)}/${ssrInterpolate(inventory.value.entities.datasets)} · ${ssrInterpolate(_ctx.$t("aml.k1amlx010"))} ${ssrInterpolate(inventory.value.counts.jobs)}/${ssrInterpolate(inventory.value.entities.jobs)} · ${ssrInterpolate(_ctx.$t("aml.k1amlx012"))} ${ssrInterpolate(inventory.value.counts.models)}/${ssrInterpolate(inventory.value.entities.models)}</p>`);
379
+ if (inventory.value) _push(`<p class="ec-detail mono" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx011"))} ${ssrInterpolate(inventory.value.counts.datasets)}/${ssrInterpolate(inventory.value.entities.datasets)} · ${ssrInterpolate(_ctx.$t("aml.k1amlx010"))} ${ssrInterpolate(inventory.value.counts.jobs)}/${ssrInterpolate(inventory.value.entities.jobs)} · ${ssrInterpolate(_ctx.$t("aml.k1amlx012"))} ${ssrInterpolate(inventory.value.counts.models)}/${ssrInterpolate(inventory.value.entities.models)}</p>`);
380
380
  else _push(`<!---->`);
381
381
  if (inventory.value && inventory.value.issues.length > 0) {
382
- _push(`<ul class="ec-issues mono" data-v-e7c763e8><!--[-->`);
382
+ _push(`<ul class="ec-issues mono" data-v-1b416c3a><!--[-->`);
383
383
  ssrRenderList(inventory.value.issues.slice(0, 5), (is) => {
384
- _push(`<li${ssrRenderAttr("title", is.detail)} data-v-e7c763e8><span class="tag" data-v-e7c763e8>${ssrInterpolate(is.problem === "entity_missing" ? _ctx.$t("aml.k1amlx185") : is.problem === "orphan_dir" ? _ctx.$t("aml.k1amlx186") : _ctx.$t("aml.k1amlx187"))}</span> ${ssrInterpolate(is.kind)} ${ssrInterpolate(shortId(is.id))}</li>`);
384
+ _push(`<li${ssrRenderAttr("title", is.detail)} data-v-1b416c3a><span class="tag" data-v-1b416c3a>${ssrInterpolate(is.problem === "entity_missing" ? _ctx.$t("aml.k1amlx185") : is.problem === "orphan_dir" ? _ctx.$t("aml.k1amlx186") : _ctx.$t("aml.k1amlx187"))}</span> ${ssrInterpolate(is.kind)} ${ssrInterpolate(shortId(is.id))}</li>`);
385
385
  });
386
386
  _push(`<!--]--></ul>`);
387
387
  } else _push(`<!---->`);
388
- _push(`<div class="ec-actions" data-v-e7c763e8>`);
389
- if (inventory.value && inventory.value.issues.some((i) => i.problem === "orphan_dir")) _push(`<button class="mini-btn" data-v-e7c763e8><span class="i-tabler-trash" data-v-e7c763e8></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx188"))}</button>`);
388
+ _push(`<div class="ec-actions" data-v-1b416c3a>`);
389
+ if (inventory.value && inventory.value.issues.some((i) => i.problem === "orphan_dir")) _push(`<button class="mini-btn" data-v-1b416c3a><span class="i-tabler-trash" data-v-1b416c3a></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx188"))}</button>`);
390
390
  else _push(`<!---->`);
391
391
  _push(`</div></div></div>`);
392
392
  if (env.value.task && envOpen.value) {
393
- _push(`<div class="env-task" data-v-e7c763e8><div class="et-head mono" data-v-e7c763e8><span class="${ssrRenderClass(env.value.task.status === "running" ? "i-tabler-loader-2 spin" : env.value.task.status === "done" ? "i-tabler-circle-check" : "i-tabler-alert-triangle")}" data-v-e7c763e8></span><b data-v-e7c763e8>${ssrInterpolate(env.value.task.kind)}</b><span class="dim" data-v-e7c763e8>${ssrInterpolate(env.value.task.status)}</span>`);
394
- if (env.value.task.status === "running") _push(`<span class="dim" data-v-e7c763e8>· ${ssrInterpolate(_ctx.$t("aml.k1amlx179"))}</span>`);
393
+ _push(`<div class="env-task" data-v-1b416c3a><div class="et-head mono" data-v-1b416c3a><span class="${ssrRenderClass(env.value.task.status === "running" ? "i-tabler-loader-2 spin" : env.value.task.status === "done" ? "i-tabler-circle-check" : "i-tabler-alert-triangle")}" data-v-1b416c3a></span><b data-v-1b416c3a>${ssrInterpolate(env.value.task.kind)}</b><span class="dim" data-v-1b416c3a>${ssrInterpolate(env.value.task.status)}</span>`);
394
+ if (env.value.task.status === "running") _push(`<span class="dim" data-v-1b416c3a>· ${ssrInterpolate(_ctx.$t("aml.k1amlx179"))}</span>`);
395
395
  else _push(`<!---->`);
396
- _push(`</div><pre class="et-log mono" data-v-e7c763e8>${ssrInterpolate(env.value.task.log.slice(-40).join("\n"))}</pre>`);
397
- if (env.value.task.error) _push(`<p class="err" data-v-e7c763e8>${ssrInterpolate(env.value.task.error)}</p>`);
396
+ _push(`</div><pre class="et-log mono" data-v-1b416c3a>${ssrInterpolate(env.value.task.log.slice(-40).join("\n"))}</pre>`);
397
+ if (env.value.task.error) _push(`<p class="err" data-v-1b416c3a>${ssrInterpolate(env.value.task.error)}</p>`);
398
398
  else _push(`<!---->`);
399
399
  _push(`</div>`);
400
400
  } else _push(`<!---->`);
401
401
  _push(`</section>`);
402
402
  } else _push(`<!---->`);
403
- _push(`<section class="aw-tile zone" data-v-e7c763e8><div class="zone-head" data-v-e7c763e8><h2 data-v-e7c763e8><span class="i-tabler-database" data-v-e7c763e8></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx016"))} <b class="mono cnt" data-v-e7c763e8>${ssrInterpolate(datasets.value.length)}</b></h2><div class="zone-actions" data-v-e7c763e8><button class="mini-btn" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx017"))}</button><button class="pill-btn" data-v-e7c763e8><span class="i-tabler-plus" data-v-e7c763e8></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx018"))}</button></div></div>`);
403
+ _push(`<section class="aw-tile zone" data-v-1b416c3a><div class="zone-head" data-v-1b416c3a><h2 data-v-1b416c3a><span class="i-tabler-database" data-v-1b416c3a></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx016"))} <b class="mono cnt" data-v-1b416c3a>${ssrInterpolate(datasets.value.length)}</b></h2><div class="zone-actions" data-v-1b416c3a><button class="mini-btn" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx017"))}</button><button class="pill-btn" data-v-1b416c3a><span class="i-tabler-plus" data-v-1b416c3a></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx018"))}</button></div></div>`);
404
404
  if (datasets.value.length) {
405
- _push(`<table class="tbl" data-v-e7c763e8><thead data-v-e7c763e8><tr data-v-e7c763e8><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx020"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx021"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx022"))}</th><th class="num" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx023"))}</th><th class="num" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx024"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx025"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx026"))}</th></tr></thead><tbody data-v-e7c763e8><!--[-->`);
405
+ _push(`<div class="tbl-scroll" data-v-1b416c3a><table class="tbl tbl-datasets" data-v-1b416c3a><thead data-v-1b416c3a><tr data-v-1b416c3a><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx020"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx021"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx022"))}</th><th class="num" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx023"))}</th><th class="num" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx024"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx025"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx026"))}</th></tr></thead><tbody data-v-1b416c3a><!--[-->`);
406
406
  ssrRenderList(datasets.value, (d) => {
407
- _push(`<!--[--><tr class="${ssrRenderClass([{ open: expandedDs.value === d.id }, "row-main"])}" data-v-e7c763e8><td class="mono dim" data-v-e7c763e8>${ssrInterpolate(fmtTime(d.createdAt))}</td><td class="mono" data-v-e7c763e8>${ssrInterpolate(shortId(d.productId))}</td><td class="mono" data-v-e7c763e8>${ssrInterpolate(shortId(d.recipeId))}</td><td class="mono num" data-v-e7c763e8>${ssrInterpolate(d.rowCount)}</td><td class="mono num" data-v-e7c763e8>${ssrInterpolate(d.runIds.length)}</td><td data-v-e7c763e8>${ssrInterpolate(d.createdBy)}<small class="${ssrRenderClass([d.createdByKind, "kind"])}" data-v-e7c763e8>${ssrInterpolate(d.createdByKind === "agent" ? "Agent" : _ctx.$t("aml.k1amlx049"))}</small></td><td class="note-cell" data-v-e7c763e8>`);
408
- if (noteEditing.value === d.id) _push(`<div class="note-edit" data-v-e7c763e8><input${ssrRenderAttr("value", noteDraft.value)}${ssrRenderAttr("placeholder", _ctx.$t("aml.k1amlx189"))} data-v-e7c763e8><button class="mini-btn" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx191"))}</button><button class="mini-btn" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx202"))}</button></div>`);
409
- else _push(`<span class="note-text" data-v-e7c763e8><span class="note"${ssrRenderAttr("title", d.note)} data-v-e7c763e8>${ssrInterpolate(d.note || "--")}</span><span class="i-tabler-pencil edit-i"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx189"))} data-v-e7c763e8></span><span class="i-tabler-trash edit-i"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx190"))} data-v-e7c763e8></span></span>`);
407
+ _push(`<!--[--><tr class="${ssrRenderClass([{ open: expandedDs.value === d.id }, "row-main"])}" data-v-1b416c3a><td class="mono dim" data-v-1b416c3a>${ssrInterpolate(fmtTime(d.createdAt))}</td><td class="mono" data-v-1b416c3a>${ssrInterpolate(shortId(d.productId))}</td><td class="mono" data-v-1b416c3a>${ssrInterpolate(shortId(d.recipeId))}</td><td class="mono num" data-v-1b416c3a>${ssrInterpolate(d.rowCount)}</td><td class="mono num" data-v-1b416c3a>${ssrInterpolate(d.runIds.length)}</td><td data-v-1b416c3a>${ssrInterpolate(d.createdBy)}<small class="${ssrRenderClass([d.createdByKind, "kind"])}" data-v-1b416c3a>${ssrInterpolate(d.createdByKind === "agent" ? "Agent" : _ctx.$t("aml.k1amlx049"))}</small></td><td class="note-cell" data-v-1b416c3a>`);
408
+ if (noteEditing.value === d.id) _push(`<div class="note-edit" data-v-1b416c3a><input${ssrRenderAttr("value", noteDraft.value)}${ssrRenderAttr("placeholder", _ctx.$t("aml.k1amlx189"))} data-v-1b416c3a><button class="mini-btn" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx191"))}</button><button class="mini-btn" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx202"))}</button></div>`);
409
+ else _push(`<span class="note-text" data-v-1b416c3a><span class="note"${ssrRenderAttr("title", d.note)} data-v-1b416c3a>${ssrInterpolate(d.note || "--")}</span><span class="i-tabler-pencil edit-i"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx189"))} data-v-1b416c3a></span><span class="i-tabler-trash edit-i"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx190"))} data-v-1b416c3a></span></span>`);
410
410
  _push(`</td></tr>`);
411
411
  if (expandedDs.value === d.id) {
412
- _push(`<tr class="detail-row" data-v-e7c763e8><td colspan="7" data-v-e7c763e8>`);
413
- if (dsDetails[d.id]?.loading) _push(`<div class="dim pad" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx030"))}</div>`);
414
- else if (dsDetails[d.id]?.error) _push(`<div class="err pad" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx031"))}:${ssrInterpolate(dsDetails[d.id]?.error)}</div>`);
412
+ _push(`<tr class="detail-row" data-v-1b416c3a><td colspan="7" data-v-1b416c3a>`);
413
+ if (dsDetails[d.id]?.loading) _push(`<div class="dim pad" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx030"))}</div>`);
414
+ else if (dsDetails[d.id]?.error) _push(`<div class="err pad" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx031"))}:${ssrInterpolate(dsDetails[d.id]?.error)}</div>`);
415
415
  else if (dsDetails[d.id]?.report) {
416
- _push(`<div class="det-grid" data-v-e7c763e8><div data-v-e7c763e8><p class="det-title" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx027"))}</p><table class="sub-tbl" data-v-e7c763e8><thead data-v-e7c763e8><tr data-v-e7c763e8><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx033"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx034"))}</th><th class="num" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx035"))}</th><th class="num" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx036"))}</th><th class="num" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx037"))}</th><th class="num" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx038"))}</th><th class="num" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx039"))}</th></tr></thead><tbody data-v-e7c763e8><!--[-->`);
416
+ _push(`<div class="det-grid" data-v-1b416c3a><div data-v-1b416c3a><p class="det-title" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx027"))}</p><table class="sub-tbl" data-v-1b416c3a><thead data-v-1b416c3a><tr data-v-1b416c3a><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx033"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx034"))}</th><th class="num" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx035"))}</th><th class="num" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx036"))}</th><th class="num" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx037"))}</th><th class="num" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx038"))}</th><th class="num" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx039"))}</th></tr></thead><tbody data-v-1b416c3a><!--[-->`);
417
417
  ssrRenderList(dsDetails[d.id]?.report?.nodeSummaries, (s) => {
418
- _push(`<tr data-v-e7c763e8><td class="mono" data-v-e7c763e8>${ssrInterpolate(s.nodeId)}</td><td data-v-e7c763e8><small class="role-chip" data-v-e7c763e8>${ssrInterpolate(s.role)}</small></td><td class="mono num" data-v-e7c763e8>${ssrInterpolate(fmtPct(s.cleanedRatio))}</td><td class="mono num" data-v-e7c763e8>${ssrInterpolate(fmtPct(s.missingRatio))}</td><td class="mono num" data-v-e7c763e8>${ssrInterpolate(fmtNum(s.mean, 3))}</td><td class="mono num" data-v-e7c763e8>${ssrInterpolate(fmtNum(s.std, 3))}</td><td class="mono num" data-v-e7c763e8>${ssrInterpolate(fmtNum(s.min, 2))}~${ssrInterpolate(fmtNum(s.max, 2))}</td></tr>`);
418
+ _push(`<tr data-v-1b416c3a><td class="mono" data-v-1b416c3a>${ssrInterpolate(s.nodeId)}</td><td data-v-1b416c3a><small class="role-chip" data-v-1b416c3a>${ssrInterpolate(s.role)}</small></td><td class="mono num" data-v-1b416c3a>${ssrInterpolate(fmtPct(s.cleanedRatio))}</td><td class="mono num" data-v-1b416c3a>${ssrInterpolate(fmtPct(s.missingRatio))}</td><td class="mono num" data-v-1b416c3a>${ssrInterpolate(fmtNum(s.mean, 3))}</td><td class="mono num" data-v-1b416c3a>${ssrInterpolate(fmtNum(s.std, 3))}</td><td class="mono num" data-v-1b416c3a>${ssrInterpolate(fmtNum(s.min, 2))}~${ssrInterpolate(fmtNum(s.max, 2))}</td></tr>`);
419
419
  });
420
- _push(`<!--]--></tbody></table></div><div data-v-e7c763e8><p class="det-title" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx028"))}</p>`);
420
+ _push(`<!--]--></tbody></table></div><div data-v-1b416c3a><p class="det-title" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx028"))}</p>`);
421
421
  if (dsDetails[d.id]?.report?.lagEstimates.length) {
422
- _push(`<table class="sub-tbl" data-v-e7c763e8><thead data-v-e7c763e8><tr data-v-e7c763e8><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx040"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx041"))}</th><th class="num" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx042"))}</th><th class="num" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx043"))}</th></tr></thead><tbody data-v-e7c763e8><!--[-->`);
422
+ _push(`<table class="sub-tbl" data-v-1b416c3a><thead data-v-1b416c3a><tr data-v-1b416c3a><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx040"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx041"))}</th><th class="num" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx042"))}</th><th class="num" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx043"))}</th></tr></thead><tbody data-v-1b416c3a><!--[-->`);
423
423
  ssrRenderList(dsDetails[d.id]?.report?.lagEstimates, (l) => {
424
- _push(`<tr data-v-e7c763e8><td class="mono" data-v-e7c763e8>${ssrInterpolate(l.controlId)}</td><td class="mono" data-v-e7c763e8>${ssrInterpolate(l.targetId)}</td><td class="mono num" data-v-e7c763e8>${ssrInterpolate(l.lagSteps)}</td><td class="mono num" data-v-e7c763e8>${ssrInterpolate(fmtNum(l.corr, 3))}</td></tr>`);
424
+ _push(`<tr data-v-1b416c3a><td class="mono" data-v-1b416c3a>${ssrInterpolate(l.controlId)}</td><td class="mono" data-v-1b416c3a>${ssrInterpolate(l.targetId)}</td><td class="mono num" data-v-1b416c3a>${ssrInterpolate(l.lagSteps)}</td><td class="mono num" data-v-1b416c3a>${ssrInterpolate(fmtNum(l.corr, 3))}</td></tr>`);
425
425
  });
426
426
  _push(`<!--]--></tbody></table>`);
427
- } else _push(`<p class="dim" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx032"))}</p>`);
428
- _push(`<p class="det-title" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx029"))}</p><p class="mono dim run-line" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx044"))} <b data-v-e7c763e8>${ssrInterpolate(dsDetails[d.id]?.report?.runsUsed.length ?? 0)}</b> · ${ssrInterpolate(_ctx.$t("aml.k1amlx045"))} <b data-v-e7c763e8>${ssrInterpolate(dsDetails[d.id]?.report?.runsDropped.length ?? 0)}</b> · ${ssrInterpolate(_ctx.$t("aml.k1amlx046"))} <b data-v-e7c763e8>${ssrInterpolate(dsDetails[d.id]?.report?.windowCount.train)}/${ssrInterpolate(dsDetails[d.id]?.report?.windowCount.val)}/${ssrInterpolate(dsDetails[d.id]?.report?.windowCount.test)}</b></p><!--[-->`);
427
+ } else _push(`<p class="dim" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx032"))}</p>`);
428
+ _push(`<p class="det-title" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx029"))}</p><p class="mono dim run-line" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx044"))} <b data-v-1b416c3a>${ssrInterpolate(dsDetails[d.id]?.report?.runsUsed.length ?? 0)}</b> · ${ssrInterpolate(_ctx.$t("aml.k1amlx045"))} <b data-v-1b416c3a>${ssrInterpolate(dsDetails[d.id]?.report?.runsDropped.length ?? 0)}</b> · ${ssrInterpolate(_ctx.$t("aml.k1amlx046"))} <b data-v-1b416c3a>${ssrInterpolate(dsDetails[d.id]?.report?.windowCount.train)}/${ssrInterpolate(dsDetails[d.id]?.report?.windowCount.val)}/${ssrInterpolate(dsDetails[d.id]?.report?.windowCount.test)}</b></p><!--[-->`);
429
429
  ssrRenderList(dsDetails[d.id]?.report?.runsDropped, (r) => {
430
- _push(`<p class="mono drop-line" data-v-e7c763e8> ✗ ${ssrInterpolate(shortId(r.runId))} — ${ssrInterpolate(r.reason)}</p>`);
430
+ _push(`<p class="mono drop-line" data-v-1b416c3a> ✗ ${ssrInterpolate(shortId(r.runId))} — ${ssrInterpolate(r.reason)}</p>`);
431
431
  });
432
432
  _push(`<!--]--></div></div>`);
433
- } else _push(`<p class="dim pad" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx047"))}</p>`);
433
+ } else _push(`<p class="dim pad" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx047"))}</p>`);
434
434
  _push(`</td></tr>`);
435
435
  } else _push(`<!---->`);
436
436
  _push(`<!--]-->`);
437
437
  });
438
- _push(`<!--]--></tbody></table>`);
439
- } else _push(`<p class="empty" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx019"))}</p>`);
440
- _push(`</section><section class="aw-tile zone" data-v-e7c763e8><div class="zone-head" data-v-e7c763e8><h2 data-v-e7c763e8><span class="i-tabler-brain" data-v-e7c763e8></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx074"))} <b class="mono cnt" data-v-e7c763e8>${ssrInterpolate(jobRows.value.length)}</b>`);
441
- if (jobRows.value.some((j) => isActiveStatus(j.status))) _push(`<span class="live-dot"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx091"))} data-v-e7c763e8></span>`);
438
+ _push(`<!--]--></tbody></table></div>`);
439
+ } else _push(`<p class="empty" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx019"))}</p>`);
440
+ _push(`</section><section class="aw-tile zone" data-v-1b416c3a><div class="zone-head" data-v-1b416c3a><h2 data-v-1b416c3a><span class="i-tabler-brain" data-v-1b416c3a></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx074"))} <b class="mono cnt" data-v-1b416c3a>${ssrInterpolate(jobRows.value.length)}</b>`);
441
+ if (jobRows.value.some((j) => isActiveStatus(j.status))) _push(`<span class="live-dot"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx091"))} data-v-1b416c3a></span>`);
442
442
  else _push(`<!---->`);
443
- _push(`</h2><button class="mini-btn" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx017"))}</button></div>`);
443
+ _push(`</h2><button class="mini-btn" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx017"))}</button></div>`);
444
444
  if (jobRows.value.length) {
445
- _push(`<table class="tbl" data-v-e7c763e8><thead data-v-e7c763e8><tr data-v-e7c763e8><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx076"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx011"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx066"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx077"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx078"))}</th><th class="prog-th" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx079"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx020"))}</th><th class="right" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx127"))}</th></tr></thead><tbody data-v-e7c763e8><!--[-->`);
445
+ _push(`<div class="tbl-scroll" data-v-1b416c3a><table class="tbl tbl-jobs" data-v-1b416c3a><thead data-v-1b416c3a><tr data-v-1b416c3a><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx076"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx011"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx066"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx077"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx078"))}</th><th class="prog-th" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx079"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx020"))}</th><th class="right" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx127"))}</th></tr></thead><tbody data-v-1b416c3a><!--[-->`);
446
446
  ssrRenderList(jobRows.value, (j) => {
447
- _push(`<!--[--><tr class="${ssrRenderClass([{ open: expandedJob.value === j.id }, "row-main"])}" data-v-e7c763e8><td class="mono" data-v-e7c763e8>${ssrInterpolate(shortId(j.id))}</td><td class="mono dim" data-v-e7c763e8>${ssrInterpolate(shortId(j.datasetId))}</td><td class="mono dim" data-v-e7c763e8>${ssrInterpolate(j.purpose)}</td><td data-v-e7c763e8><span class="${ssrRenderClass([j.status, "st-pill"])}" data-v-e7c763e8>${ssrInterpolate(statusLabel(j.status))}</span></td><td class="mono dim" data-v-e7c763e8>${ssrInterpolate(j.stage || "--")}</td><td class="prog-cell" data-v-e7c763e8><span class="prog" data-v-e7c763e8><i style="${ssrRenderStyle({ width: `${Math.max(0, Math.min(100, j.progress))}%` })}" class="${ssrRenderClass({
447
+ _push(`<!--[--><tr class="${ssrRenderClass([{ open: expandedJob.value === j.id }, "row-main"])}" data-v-1b416c3a><td class="mono" data-v-1b416c3a>${ssrInterpolate(shortId(j.id))}</td><td class="mono dim" data-v-1b416c3a>${ssrInterpolate(shortId(j.datasetId))}</td><td class="mono dim" data-v-1b416c3a>${ssrInterpolate(j.purpose)}</td><td data-v-1b416c3a><span class="${ssrRenderClass([j.status, "st-pill"])}" data-v-1b416c3a>${ssrInterpolate(statusLabel(j.status))}</span></td><td class="mono dim" data-v-1b416c3a>${ssrInterpolate(j.stage || "--")}</td><td class="prog-cell" data-v-1b416c3a><span class="prog" data-v-1b416c3a><i style="${ssrRenderStyle({ width: `${Math.max(0, Math.min(100, j.progress))}%` })}" class="${ssrRenderClass({
448
448
  done: j.status === "done",
449
449
  bad: j.status === "failed"
450
- })}" data-v-e7c763e8></i></span><span class="mono prog-num" data-v-e7c763e8>${ssrInterpolate(Math.round(j.progress))}%</span></td><td class="mono dim" data-v-e7c763e8>${ssrInterpolate(fmtTime(j.createdAt))}</td><td class="right acts" data-v-e7c763e8>`);
451
- if (isActiveStatus(j.status)) _push(`<button class="mini-btn danger"${ssrIncludeBooleanAttr(cancelling.value === j.id) ? " disabled" : ""} data-v-e7c763e8>${ssrInterpolate(confirmCancel.value === j.id ? _ctx.$t("aml.k1amlx094") : cancelling.value === j.id ? _ctx.$t("aml.k1amlx093") : _ctx.$t("aml.k1amlx071"))}</button>`);
450
+ })}" data-v-1b416c3a></i></span><span class="mono prog-num" data-v-1b416c3a>${ssrInterpolate(Math.round(j.progress))}%</span></td><td class="mono dim" data-v-1b416c3a>${ssrInterpolate(fmtTime(j.createdAt))}</td><td class="right acts" data-v-1b416c3a>`);
451
+ if (isActiveStatus(j.status)) _push(`<button class="mini-btn danger"${ssrIncludeBooleanAttr(cancelling.value === j.id) ? " disabled" : ""} data-v-1b416c3a>${ssrInterpolate(confirmCancel.value === j.id ? _ctx.$t("aml.k1amlx094") : cancelling.value === j.id ? _ctx.$t("aml.k1amlx093") : _ctx.$t("aml.k1amlx071"))}</button>`);
452
452
  else _push(`<!---->`);
453
- if (canRetry(j.status)) _push(`<button class="mini-btn"${ssrIncludeBooleanAttr(retrying.value === j.id) ? " disabled" : ""} data-v-e7c763e8>${ssrInterpolate(confirmRetry.value === j.id ? _ctx.$t("aml.k1amlx096") : _ctx.$t("aml.k1amlx095"))}</button>`);
453
+ if (canRetry(j.status)) _push(`<button class="mini-btn"${ssrIncludeBooleanAttr(retrying.value === j.id) ? " disabled" : ""} data-v-1b416c3a>${ssrInterpolate(confirmRetry.value === j.id ? _ctx.$t("aml.k1amlx096") : _ctx.$t("aml.k1amlx095"))}</button>`);
454
454
  else _push(`<!---->`);
455
- if (!isActiveStatus(j.status)) _push(`<span class="i-tabler-trash edit-i"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx190"))} data-v-e7c763e8></span>`);
455
+ if (!isActiveStatus(j.status)) _push(`<span class="i-tabler-trash edit-i"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx190"))} data-v-1b416c3a></span>`);
456
456
  else _push(`<!---->`);
457
457
  _push(`</td></tr>`);
458
458
  if (expandedJob.value === j.id) {
459
- _push(`<tr class="detail-row" data-v-e7c763e8><td colspan="8" data-v-e7c763e8>`);
460
- if (jobDetails[j.id]?.loading) _push(`<div class="dim pad" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx030"))}</div>`);
461
- else if (jobDetails[j.id]?.error) _push(`<div class="err pad" data-v-e7c763e8>${ssrInterpolate(jobDetails[j.id]?.error)}</div>`);
459
+ _push(`<tr class="detail-row" data-v-1b416c3a><td colspan="8" data-v-1b416c3a>`);
460
+ if (jobDetails[j.id]?.loading) _push(`<div class="dim pad" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx030"))}</div>`);
461
+ else if (jobDetails[j.id]?.error) _push(`<div class="err pad" data-v-1b416c3a>${ssrInterpolate(jobDetails[j.id]?.error)}</div>`);
462
462
  else {
463
- _push(`<div class="det-grid" data-v-e7c763e8><div data-v-e7c763e8><p class="det-title" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx083"))}</p>`);
463
+ _push(`<div class="det-grid" data-v-1b416c3a><div data-v-1b416c3a><p class="det-title" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx083"))}</p>`);
464
464
  if (jobDetails[j.id]?.gates?.checks.length) {
465
- _push(`<table class="sub-tbl" data-v-e7c763e8><thead data-v-e7c763e8><tr data-v-e7c763e8><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx084"))}</th><th class="num" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx085"))}</th><th class="num" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx086"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx118"))}</th></tr></thead><tbody data-v-e7c763e8><!--[-->`);
465
+ _push(`<table class="sub-tbl" data-v-1b416c3a><thead data-v-1b416c3a><tr data-v-1b416c3a><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx084"))}</th><th class="num" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx085"))}</th><th class="num" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx086"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx118"))}</th></tr></thead><tbody data-v-1b416c3a><!--[-->`);
466
466
  ssrRenderList(jobDetails[j.id]?.gates?.checks, (g) => {
467
- _push(`<tr data-v-e7c763e8><td data-v-e7c763e8><b class="mono gate-id" data-v-e7c763e8>${ssrInterpolate(g.id)}</b><small class="dim" data-v-e7c763e8>${ssrInterpolate(g.name)}</small></td><td class="mono num" data-v-e7c763e8>${ssrInterpolate(fmtNum(g.value))}</td><td class="mono num dim" data-v-e7c763e8>${ssrInterpolate(fmtNum(g.threshold))}</td><td data-v-e7c763e8><span class="${ssrRenderClass([g.pass ? "pass" : "fail", "verdict"])}" data-v-e7c763e8>${ssrInterpolate(g.pass ? _ctx.$t("aml.k1amlx087") : _ctx.$t("aml.k1amlx088"))}</span><small class="dim gate-detail" data-v-e7c763e8>${ssrInterpolate(g.detail)}</small></td></tr>`);
467
+ _push(`<tr data-v-1b416c3a><td data-v-1b416c3a><b class="mono gate-id" data-v-1b416c3a>${ssrInterpolate(g.id)}</b><small class="dim" data-v-1b416c3a>${ssrInterpolate(g.name)}</small></td><td class="mono num" data-v-1b416c3a>${ssrInterpolate(fmtNum(g.value))}</td><td class="mono num dim" data-v-1b416c3a>${ssrInterpolate(fmtNum(g.threshold))}</td><td data-v-1b416c3a><span class="${ssrRenderClass([g.pass ? "pass" : "fail", "verdict"])}" data-v-1b416c3a>${ssrInterpolate(g.pass ? _ctx.$t("aml.k1amlx087") : _ctx.$t("aml.k1amlx088"))}</span><small class="dim gate-detail" data-v-1b416c3a>${ssrInterpolate(g.detail)}</small></td></tr>`);
468
468
  });
469
469
  _push(`<!--]--></tbody></table>`);
470
- } else _push(`<p class="dim" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx082"))}</p>`);
470
+ } else _push(`<p class="dim" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx082"))}</p>`);
471
471
  if (jobDetails[j.id]?.metrics?.oneStepTest) {
472
- _push(`<p class="mono dim gate-detail" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx099"))}: ${ssrInterpolate(_ctx.$t("aml.k1amlx116"))} ${ssrInterpolate(fmtNum(jobDetails[j.id]?.metrics?.oneStepTest?.nrmse))} `);
472
+ _push(`<p class="mono dim gate-detail" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx099"))}: ${ssrInterpolate(_ctx.$t("aml.k1amlx116"))} ${ssrInterpolate(fmtNum(jobDetails[j.id]?.metrics?.oneStepTest?.nrmse))} `);
473
473
  if (jobDetails[j.id]?.metrics?.rolloutTest) _push(`<!--[--> · ${ssrInterpolate(_ctx.$t("aml.k1amlx117"))} ${ssrInterpolate(fmtNum(jobDetails[j.id]?.metrics?.rolloutTest?.nrmse))}<!--]-->`);
474
474
  else _push(`<!---->`);
475
475
  _push(`</p>`);
476
476
  } else _push(`<!---->`);
477
- if (j.error) _push(`<p class="err gate-detail" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx092"))}:${ssrInterpolate(j.error)}</p>`);
477
+ if (j.error) _push(`<p class="err gate-detail" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx092"))}:${ssrInterpolate(j.error)}</p>`);
478
478
  else _push(`<!---->`);
479
- _push(`</div><div data-v-e7c763e8><p class="det-title" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx089"))} `);
480
- if (isActiveStatus(j.status)) _push(`<span class="mono live-hint" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx091"))}</span>`);
479
+ _push(`</div><div data-v-1b416c3a><p class="det-title" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx089"))} `);
480
+ if (isActiveStatus(j.status)) _push(`<span class="mono live-hint" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx091"))}</span>`);
481
481
  else _push(`<!---->`);
482
- _push(`</p><pre class="logs" data-v-e7c763e8>${ssrInterpolate((jobDetails[j.id]?.logs ?? []).join("\n") || _ctx.$t("aml.k1amlx090"))}</pre></div></div>`);
482
+ _push(`</p><pre class="logs" data-v-1b416c3a>${ssrInterpolate((jobDetails[j.id]?.logs ?? []).join("\n") || _ctx.$t("aml.k1amlx090"))}</pre></div></div>`);
483
483
  }
484
484
  _push(`</td></tr>`);
485
485
  } else _push(`<!---->`);
486
486
  _push(`<!--]-->`);
487
487
  });
488
- _push(`<!--]--></tbody></table>`);
489
- } else _push(`<p class="empty" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx075"))}</p>`);
490
- _push(`</section><section class="aw-tile zone" data-v-e7c763e8><div class="zone-head" data-v-e7c763e8><h2 data-v-e7c763e8><span class="i-tabler-trophy" data-v-e7c763e8></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx109"))} <b class="mono cnt" data-v-e7c763e8>${ssrInterpolate(experiments.value.length)}</b></h2><div class="zone-actions" data-v-e7c763e8><select class="inp-sel" data-v-e7c763e8><option value="" data-v-e7c763e8${ssrIncludeBooleanAttr(Array.isArray(expDatasetId.value) ? ssrLooseContain(expDatasetId.value, "") : ssrLooseEqual(expDatasetId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("aml.k1amlx111"))}</option><!--[-->`);
488
+ _push(`<!--]--></tbody></table></div>`);
489
+ } else _push(`<p class="empty" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx075"))}</p>`);
490
+ _push(`</section><section class="aw-tile zone" data-v-1b416c3a><div class="zone-head" data-v-1b416c3a><h2 data-v-1b416c3a><span class="i-tabler-trophy" data-v-1b416c3a></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx109"))} <b class="mono cnt" data-v-1b416c3a>${ssrInterpolate(experiments.value.length)}</b></h2><div class="zone-actions" data-v-1b416c3a><select class="inp-sel" data-v-1b416c3a><option value="" data-v-1b416c3a${ssrIncludeBooleanAttr(Array.isArray(expDatasetId.value) ? ssrLooseContain(expDatasetId.value, "") : ssrLooseEqual(expDatasetId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("aml.k1amlx111"))}</option><!--[-->`);
491
491
  ssrRenderList(datasets.value, (d) => {
492
- _push(`<option${ssrRenderAttr("value", d.id)} data-v-e7c763e8${ssrIncludeBooleanAttr(Array.isArray(expDatasetId.value) ? ssrLooseContain(expDatasetId.value, d.id) : ssrLooseEqual(expDatasetId.value, d.id)) ? " selected" : ""}>${ssrInterpolate(shortId(d.id))} · ${ssrInterpolate(shortId(d.recipeId))}</option>`);
492
+ _push(`<option${ssrRenderAttr("value", d.id)} data-v-1b416c3a${ssrIncludeBooleanAttr(Array.isArray(expDatasetId.value) ? ssrLooseContain(expDatasetId.value, d.id) : ssrLooseEqual(expDatasetId.value, d.id)) ? " selected" : ""}>${ssrInterpolate(shortId(d.id))} · ${ssrInterpolate(shortId(d.recipeId))}</option>`);
493
493
  });
494
- _push(`<!--]--></select><button class="mini-btn"${ssrIncludeBooleanAttr(!expDatasetId.value) ? " disabled" : ""} data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx017"))}</button></div></div>`);
494
+ _push(`<!--]--></select><button class="mini-btn"${ssrIncludeBooleanAttr(!expDatasetId.value) ? " disabled" : ""} data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx017"))}</button></div></div>`);
495
495
  if (experiments.value.length) {
496
- _push(`<table class="tbl" data-v-e7c763e8><thead data-v-e7c763e8><tr data-v-e7c763e8><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx113"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx020"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx114"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx115"))}</th><th class="num"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx121"))} data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx116"))}</th><th class="num"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx122"))} data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx117"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx118"))}</th></tr></thead><tbody data-v-e7c763e8><!--[-->`);
496
+ _push(`<div class="tbl-scroll" data-v-1b416c3a><table class="tbl tbl-exp" data-v-1b416c3a><thead data-v-1b416c3a><tr data-v-1b416c3a><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx113"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx020"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx114"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx115"))}</th><th class="num"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx121"))} data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx116"))}</th><th class="num"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx122"))} data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx117"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx118"))}</th></tr></thead><tbody data-v-1b416c3a><!--[-->`);
497
497
  ssrRenderList(experiments.value, (e) => {
498
- _push(`<tr class="${ssrRenderClass({ best: e.id === bestExpId.value })}" data-v-e7c763e8><td class="mono" data-v-e7c763e8>`);
499
- if (e.id === bestExpId.value) _push(`<span class="best-tag" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx120"))}</span>`);
498
+ _push(`<tr class="${ssrRenderClass({ best: e.id === bestExpId.value })}" data-v-1b416c3a><td class="mono" data-v-1b416c3a>`);
499
+ if (e.id === bestExpId.value) _push(`<span class="best-tag" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx120"))}</span>`);
500
500
  else _push(`<!---->`);
501
- _push(` ${ssrInterpolate(shortId(e.id))}</td><td class="mono dim" data-v-e7c763e8>${ssrInterpolate(fmtTime(e.createdAt))}</td><td class="note-cell" data-v-e7c763e8><span class="note"${ssrRenderAttr("title", e.changeNote)} data-v-e7c763e8>${ssrInterpolate(e.changeNote || "--")}</span></td><td class="mono dim" data-v-e7c763e8>${ssrInterpolate(e.parentExperimentId ? shortId(e.parentExperimentId) : "--")}</td><td class="mono num" data-v-e7c763e8>${ssrInterpolate(fmtNum(e.metrics?.oneStepTest?.nrmse))}</td><td class="mono num" data-v-e7c763e8>${ssrInterpolate(fmtNum(e.metrics?.rolloutTest?.nrmse))}</td><td data-v-e7c763e8><span class="${ssrRenderClass([e.status, "st-pill"])}" data-v-e7c763e8>${ssrInterpolate(expStatusLabel(e.status))}</span></td></tr>`);
501
+ _push(` ${ssrInterpolate(shortId(e.id))}</td><td class="mono dim" data-v-1b416c3a>${ssrInterpolate(fmtTime(e.createdAt))}</td><td class="note-cell" data-v-1b416c3a><span class="note"${ssrRenderAttr("title", e.changeNote)} data-v-1b416c3a>${ssrInterpolate(e.changeNote || "--")}</span></td><td class="mono dim" data-v-1b416c3a>${ssrInterpolate(e.parentExperimentId ? shortId(e.parentExperimentId) : "--")}</td><td class="mono num" data-v-1b416c3a>${ssrInterpolate(fmtNum(e.metrics?.oneStepTest?.nrmse))}</td><td class="mono num" data-v-1b416c3a>${ssrInterpolate(fmtNum(e.metrics?.rolloutTest?.nrmse))}</td><td data-v-1b416c3a><span class="${ssrRenderClass([e.status, "st-pill"])}" data-v-1b416c3a>${ssrInterpolate(expStatusLabel(e.status))}</span></td></tr>`);
502
502
  });
503
- _push(`<!--]--></tbody></table>`);
504
- } else _push(`<p class="empty" data-v-e7c763e8>${ssrInterpolate(expDatasetId.value ? _ctx.$t("aml.k1amlx112") : _ctx.$t("aml.k1amlx110"))}</p>`);
505
- if (expError.value) _push(`<p class="err pad" data-v-e7c763e8>${ssrInterpolate(expError.value)}</p>`);
503
+ _push(`<!--]--></tbody></table></div>`);
504
+ } else _push(`<p class="empty" data-v-1b416c3a>${ssrInterpolate(expDatasetId.value ? _ctx.$t("aml.k1amlx112") : _ctx.$t("aml.k1amlx110"))}</p>`);
505
+ if (expError.value) _push(`<p class="err pad" data-v-1b416c3a>${ssrInterpolate(expError.value)}</p>`);
506
506
  else _push(`<!---->`);
507
- _push(`</section><section class="aw-tile zone" data-v-e7c763e8><div class="zone-head" data-v-e7c763e8><h2 data-v-e7c763e8><span class="i-tabler-cube-3d-sphere" data-v-e7c763e8></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx123"))} <b class="mono cnt" data-v-e7c763e8>${ssrInterpolate(models.value.length)}</b></h2><button class="mini-btn" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx017"))}</button></div>`);
507
+ _push(`</section><section class="aw-tile zone" data-v-1b416c3a><div class="zone-head" data-v-1b416c3a><h2 data-v-1b416c3a><span class="i-tabler-cube-3d-sphere" data-v-1b416c3a></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx123"))} <b class="mono cnt" data-v-1b416c3a>${ssrInterpolate(models.value.length)}</b></h2><button class="mini-btn" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx017"))}</button></div>`);
508
508
  if (models.value.length) {
509
- _push(`<table class="tbl" data-v-e7c763e8><thead data-v-e7c763e8><tr data-v-e7c763e8><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx125"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx021"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx022"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx078"))}</th><th${ssrRenderAttr("title", _ctx.$t("aml.k1amlx126"))} data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx099"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx020"))}</th><th data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx026"))}</th><th class="right" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx127"))}</th></tr></thead><tbody data-v-e7c763e8><!--[-->`);
509
+ _push(`<div class="tbl-scroll" data-v-1b416c3a><table class="tbl tbl-models" data-v-1b416c3a><thead data-v-1b416c3a><tr data-v-1b416c3a><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx125"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx021"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx022"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx078"))}</th><th${ssrRenderAttr("title", _ctx.$t("aml.k1amlx126"))} data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx099"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx020"))}</th><th data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx026"))}</th><th class="right" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx127"))}</th></tr></thead><tbody data-v-1b416c3a><!--[-->`);
510
510
  ssrRenderList(models.value, (m) => {
511
- _push(`<tr data-v-e7c763e8><td class="mono" data-v-e7c763e8>${ssrInterpolate(shortId(m.id))}</td><td class="mono dim" data-v-e7c763e8>${ssrInterpolate(shortId(m.productId))}</td><td class="mono dim" data-v-e7c763e8>${ssrInterpolate(shortId(m.recipeId))}</td><td data-v-e7c763e8><span class="${ssrRenderClass([m.stage, "stage-pill"])}" data-v-e7c763e8>${ssrInterpolate(m.stage)}</span></td><td class="mono dim" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx116"))} ${ssrInterpolate(fmtNum(m.metrics?.oneStepTest?.nrmse))} · ${ssrInterpolate(_ctx.$t("aml.k1amlx117"))} ${ssrInterpolate(fmtNum(m.metrics?.rolloutTest?.nrmse))}</td><td class="mono dim" data-v-e7c763e8>${ssrInterpolate(fmtTime(m.createdAt))}</td><td class="note-cell" data-v-e7c763e8>`);
512
- if (noteEditing.value === m.id) _push(`<div class="note-edit" data-v-e7c763e8><input${ssrRenderAttr("value", noteDraft.value)}${ssrRenderAttr("placeholder", _ctx.$t("aml.k1amlx189"))} data-v-e7c763e8><button class="mini-btn" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx191"))}</button><button class="mini-btn" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx202"))}</button></div>`);
513
- else _push(`<span class="note-text" data-v-e7c763e8><span class="note"${ssrRenderAttr("title", m.note)} data-v-e7c763e8>${ssrInterpolate(m.note || "--")}</span><span class="i-tabler-pencil edit-i"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx189"))} data-v-e7c763e8></span></span>`);
514
- _push(`</td><td class="right acts" data-v-e7c763e8><!--[-->`);
511
+ _push(`<tr data-v-1b416c3a><td class="mono" data-v-1b416c3a>${ssrInterpolate(shortId(m.id))}</td><td class="mono dim" data-v-1b416c3a>${ssrInterpolate(shortId(m.productId))}</td><td class="mono dim" data-v-1b416c3a>${ssrInterpolate(shortId(m.recipeId))}</td><td data-v-1b416c3a><span class="${ssrRenderClass([m.stage, "stage-pill"])}" data-v-1b416c3a>${ssrInterpolate(m.stage)}</span></td><td class="mono dim" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx116"))} ${ssrInterpolate(fmtNum(m.metrics?.oneStepTest?.nrmse))} · ${ssrInterpolate(_ctx.$t("aml.k1amlx117"))} ${ssrInterpolate(fmtNum(m.metrics?.rolloutTest?.nrmse))}</td><td class="mono dim" data-v-1b416c3a>${ssrInterpolate(fmtTime(m.createdAt))}</td><td class="note-cell" data-v-1b416c3a>`);
512
+ if (noteEditing.value === m.id) _push(`<div class="note-edit" data-v-1b416c3a><input${ssrRenderAttr("value", noteDraft.value)}${ssrRenderAttr("placeholder", _ctx.$t("aml.k1amlx189"))} data-v-1b416c3a><button class="mini-btn" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx191"))}</button><button class="mini-btn" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx202"))}</button></div>`);
513
+ else _push(`<span class="note-text" data-v-1b416c3a><span class="note"${ssrRenderAttr("title", m.note)} data-v-1b416c3a>${ssrInterpolate(m.note || "--")}</span><span class="i-tabler-pencil edit-i"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx189"))} data-v-1b416c3a></span></span>`);
514
+ _push(`</td><td class="right acts" data-v-1b416c3a><!--[-->`);
515
515
  ssrRenderList(promoteActionOf(m), (a) => {
516
- _push(`<button class="${ssrRenderClass([{ danger: a.to === "retired" }, "mini-btn"])}"${ssrIncludeBooleanAttr(promoting.value === `${m.id}:${a.to}`) ? " disabled" : ""} data-v-e7c763e8>${ssrInterpolate(confirmPromote.value === `${m.id}:${a.to}` ? _ctx.$t("aml.k1amlx131") : _ctx.$t(a.key))}</button>`);
516
+ _push(`<button class="${ssrRenderClass([{ danger: a.to === "retired" }, "mini-btn"])}"${ssrIncludeBooleanAttr(promoting.value === `${m.id}:${a.to}`) ? " disabled" : ""} data-v-1b416c3a>${ssrInterpolate(confirmPromote.value === `${m.id}:${a.to}` ? _ctx.$t("aml.k1amlx131") : _ctx.$t(a.key))}</button>`);
517
517
  });
518
518
  _push(`<!--]-->`);
519
- if (promoteActionOf(m).length === 0) _push(`<span class="dim" data-v-e7c763e8>--</span>`);
519
+ if (promoteActionOf(m).length === 0) _push(`<span class="dim" data-v-1b416c3a>--</span>`);
520
520
  else _push(`<!---->`);
521
- _push(`<span class="i-tabler-trash edit-i"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx190"))} data-v-e7c763e8></span></td></tr>`);
521
+ _push(`<span class="i-tabler-trash edit-i"${ssrRenderAttr("title", _ctx.$t("aml.k1amlx190"))} data-v-1b416c3a></span></td></tr>`);
522
522
  });
523
- _push(`<!--]--></tbody></table>`);
524
- } else _push(`<p class="empty" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx124"))}</p>`);
525
- _push(`</section><section class="aw-tile zone" data-v-e7c763e8><div class="zone-head" data-v-e7c763e8><h2 data-v-e7c763e8><span class="i-tabler-chart-line" data-v-e7c763e8></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx133"))}</h2>`);
523
+ _push(`<!--]--></tbody></table></div>`);
524
+ } else _push(`<p class="empty" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx124"))}</p>`);
525
+ _push(`</section><section class="aw-tile zone" data-v-1b416c3a><div class="zone-head" data-v-1b416c3a><h2 data-v-1b416c3a><span class="i-tabler-chart-line" data-v-1b416c3a></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx133"))}</h2>`);
526
526
  if (productionModels.value.length) {
527
- _push(`<select class="inp-sel" data-v-e7c763e8><option value="" data-v-e7c763e8${ssrIncludeBooleanAttr(Array.isArray(predModelId.value) ? ssrLooseContain(predModelId.value, "") : ssrLooseEqual(predModelId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("aml.k1amlx134"))}</option><!--[-->`);
527
+ _push(`<select class="inp-sel" data-v-1b416c3a><option value="" data-v-1b416c3a${ssrIncludeBooleanAttr(Array.isArray(predModelId.value) ? ssrLooseContain(predModelId.value, "") : ssrLooseEqual(predModelId.value, "")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("aml.k1amlx134"))}</option><!--[-->`);
528
528
  ssrRenderList(productionModels.value, (m) => {
529
- _push(`<option${ssrRenderAttr("value", m.id)} data-v-e7c763e8${ssrIncludeBooleanAttr(Array.isArray(predModelId.value) ? ssrLooseContain(predModelId.value, m.id) : ssrLooseEqual(predModelId.value, m.id)) ? " selected" : ""}>${ssrInterpolate(shortId(m.id))} · ${ssrInterpolate(shortId(m.recipeId))}</option>`);
529
+ _push(`<option${ssrRenderAttr("value", m.id)} data-v-1b416c3a${ssrIncludeBooleanAttr(Array.isArray(predModelId.value) ? ssrLooseContain(predModelId.value, m.id) : ssrLooseEqual(predModelId.value, m.id)) ? " selected" : ""}>${ssrInterpolate(shortId(m.id))} · ${ssrInterpolate(shortId(m.recipeId))}</option>`);
530
530
  });
531
531
  _push(`<!--]--></select>`);
532
532
  } else _push(`<!---->`);
@@ -534,41 +534,41 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
534
534
  if (productionModels.value.length) {
535
535
  _push(`<!--[-->`);
536
536
  if (predModel.value?.ioSpec) {
537
- _push(`<div class="pc-body" data-v-e7c763e8><p class="det-title" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx136"))}</p><div class="io-grid mono" data-v-e7c763e8><span class="io-item" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx140"))} <b data-v-e7c763e8>${ssrInterpolate(predModel.value.ioSpec.historySteps)}</b></span><span class="io-item" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx141"))} <b data-v-e7c763e8>${ssrInterpolate(predModel.value.ioSpec.horizonSteps)}</b></span><span class="io-item" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx142"))} <b data-v-e7c763e8>${ssrInterpolate(predModel.value.ioSpec.beatMs)}ms</b></span><span class="io-item"${ssrRenderAttr("title", predModel.value.ioSpec.allNodes.join(", "))} data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx137"))}(${ssrInterpolate(predModel.value.ioSpec.allNodes.length)}) <b data-v-e7c763e8>${ssrInterpolate(predModel.value.ioSpec.allNodes.map((n) => shortId(n)).join(", "))}</b></span><span class="io-item"${ssrRenderAttr("title", predModel.value.ioSpec.controlNodes.join(", "))} data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx138"))} <b data-v-e7c763e8>${ssrInterpolate(predModel.value.ioSpec.controlNodes.map((n) => shortId(n)).join(", "))}</b></span><span class="io-item"${ssrRenderAttr("title", predModel.value.ioSpec.targetNodes.join(", "))} data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx139"))} <b data-v-e7c763e8>${ssrInterpolate(predModel.value.ioSpec.targetNodes.map((n) => shortId(n)).join(", "))}</b></span></div><div class="pc-form" data-v-e7c763e8><label class="pc-field" data-v-e7c763e8><span data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx143"))}</span><textarea class="inp area" rows="5"${ssrRenderAttr("placeholder", _ctx.$t("aml.k1amlx144"))} data-v-e7c763e8>${ssrInterpolate(predHistory.value)}</textarea></label><div class="pc-side" data-v-e7c763e8><button class="ghost-btn" data-v-e7c763e8><span class="i-tabler-download" data-v-e7c763e8></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx145"))}</button><label class="pc-field" data-v-e7c763e8><span data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx156"))}</span><textarea class="inp area" rows="3"${ssrRenderAttr("placeholder", "[[…]]")} data-v-e7c763e8>${ssrInterpolate(predControls.value)}</textarea></label><label class="pc-field" data-v-e7c763e8><span data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx147"))}</span><input${ssrRenderAttr("value", predSteps.value)} type="number" min="1" class="inp" data-v-e7c763e8></label><button class="pill-btn"${ssrIncludeBooleanAttr(predBusy.value || !predHistory.value.trim()) ? " disabled" : ""} data-v-e7c763e8>${ssrInterpolate(predBusy.value ? _ctx.$t("aml.k1amlx149") : _ctx.$t("aml.k1amlx148"))}</button></div></div><p class="hint dim" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx146"))}</p>`);
538
- if (predError.value) _push(`<p class="err" data-v-e7c763e8>${ssrInterpolate(predError.value)}</p>`);
537
+ _push(`<div class="pc-body" data-v-1b416c3a><p class="det-title" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx136"))}</p><div class="io-grid mono" data-v-1b416c3a><span class="io-item" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx140"))} <b data-v-1b416c3a>${ssrInterpolate(predModel.value.ioSpec.historySteps)}</b></span><span class="io-item" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx141"))} <b data-v-1b416c3a>${ssrInterpolate(predModel.value.ioSpec.horizonSteps)}</b></span><span class="io-item" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx142"))} <b data-v-1b416c3a>${ssrInterpolate(predModel.value.ioSpec.beatMs)}ms</b></span><span class="io-item"${ssrRenderAttr("title", predModel.value.ioSpec.allNodes.join(", "))} data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx137"))}(${ssrInterpolate(predModel.value.ioSpec.allNodes.length)}) <b data-v-1b416c3a>${ssrInterpolate(predModel.value.ioSpec.allNodes.map((n) => shortId(n)).join(", "))}</b></span><span class="io-item"${ssrRenderAttr("title", predModel.value.ioSpec.controlNodes.join(", "))} data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx138"))} <b data-v-1b416c3a>${ssrInterpolate(predModel.value.ioSpec.controlNodes.map((n) => shortId(n)).join(", "))}</b></span><span class="io-item"${ssrRenderAttr("title", predModel.value.ioSpec.targetNodes.join(", "))} data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx139"))} <b data-v-1b416c3a>${ssrInterpolate(predModel.value.ioSpec.targetNodes.map((n) => shortId(n)).join(", "))}</b></span></div><div class="pc-form" data-v-1b416c3a><label class="pc-field" data-v-1b416c3a><span data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx143"))}</span><textarea class="inp area" rows="5"${ssrRenderAttr("placeholder", _ctx.$t("aml.k1amlx144"))} data-v-1b416c3a>${ssrInterpolate(predHistory.value)}</textarea></label><div class="pc-side" data-v-1b416c3a><button class="ghost-btn" data-v-1b416c3a><span class="i-tabler-download" data-v-1b416c3a></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx145"))}</button><label class="pc-field" data-v-1b416c3a><span data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx156"))}</span><textarea class="inp area" rows="3"${ssrRenderAttr("placeholder", "[[…]]")} data-v-1b416c3a>${ssrInterpolate(predControls.value)}</textarea></label><label class="pc-field" data-v-1b416c3a><span data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx147"))}</span><input${ssrRenderAttr("value", predSteps.value)} type="number" min="1" class="inp" data-v-1b416c3a></label><button class="pill-btn"${ssrIncludeBooleanAttr(predBusy.value || !predHistory.value.trim()) ? " disabled" : ""} data-v-1b416c3a>${ssrInterpolate(predBusy.value ? _ctx.$t("aml.k1amlx149") : _ctx.$t("aml.k1amlx148"))}</button></div></div><p class="hint dim" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx146"))}</p>`);
538
+ if (predError.value) _push(`<p class="err" data-v-1b416c3a>${ssrInterpolate(predError.value)}</p>`);
539
539
  else _push(`<!---->`);
540
540
  if (predResult.value) {
541
- _push(`<!--[--><p class="det-title" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx150"))}</p><table class="sub-tbl" data-v-e7c763e8><thead data-v-e7c763e8><tr data-v-e7c763e8><th class="num" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx151"))}</th><th class="num" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx152"))}</th><!--[-->`);
541
+ _push(`<!--[--><p class="det-title" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx150"))}</p><table class="sub-tbl" data-v-1b416c3a><thead data-v-1b416c3a><tr data-v-1b416c3a><th class="num" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx151"))}</th><th class="num" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx152"))}</th><!--[-->`);
542
542
  ssrRenderList(predResult.value.targetNodes, (n, i) => {
543
- _push(`<th class="num" data-v-e7c763e8>${ssrInterpolate(shortId(n))}`);
544
- if (i === 0) _push(`<small class="dim" data-v-e7c763e8> (${ssrInterpolate(_ctx.$t("aml.k1amlx041"))})</small>`);
543
+ _push(`<th class="num" data-v-1b416c3a>${ssrInterpolate(shortId(n))}`);
544
+ if (i === 0) _push(`<small class="dim" data-v-1b416c3a> (${ssrInterpolate(_ctx.$t("aml.k1amlx041"))})</small>`);
545
545
  else _push(`<!---->`);
546
546
  _push(`</th>`);
547
547
  });
548
- _push(`<!--]--></tr></thead><tbody data-v-e7c763e8><!--[-->`);
548
+ _push(`<!--]--></tr></thead><tbody data-v-1b416c3a><!--[-->`);
549
549
  ssrRenderList(predResult.value.forecast, (row, ri) => {
550
- _push(`<tr data-v-e7c763e8><td class="mono num" data-v-e7c763e8>${ssrInterpolate(ri + 1)}</td><td class="mono num dim" data-v-e7c763e8>${ssrInterpolate(fmtNum((ri + 1) * predResult.value.beatMs / 1e3, 1))}</td><!--[-->`);
550
+ _push(`<tr data-v-1b416c3a><td class="mono num" data-v-1b416c3a>${ssrInterpolate(ri + 1)}</td><td class="mono num dim" data-v-1b416c3a>${ssrInterpolate(fmtNum((ri + 1) * predResult.value.beatMs / 1e3, 1))}</td><!--[-->`);
551
551
  ssrRenderList(row, (v, ci) => {
552
- _push(`<td class="mono num" data-v-e7c763e8>${ssrInterpolate(fmtNum(v, 3))}</td>`);
552
+ _push(`<td class="mono num" data-v-1b416c3a>${ssrInterpolate(fmtNum(v, 3))}</td>`);
553
553
  });
554
554
  _push(`<!--]--></tr>`);
555
555
  });
556
- _push(`<!--]--></tbody></table><p class="mono dim gate-detail" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx155"))}:${ssrInterpolate(predResult.value.assumptions)}</p><!--]-->`);
556
+ _push(`<!--]--></tbody></table><p class="mono dim gate-detail" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx155"))}:${ssrInterpolate(predResult.value.assumptions)}</p><!--]-->`);
557
557
  } else _push(`<!---->`);
558
558
  _push(`</div>`);
559
- } else _push(`<p class="empty" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx134"))}</p>`);
559
+ } else _push(`<p class="empty" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx134"))}</p>`);
560
560
  _push(`<!--]-->`);
561
- } else _push(`<p class="empty" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx135"))}</p>`);
561
+ } else _push(`<p class="empty" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx135"))}</p>`);
562
562
  _push(`</section>`);
563
563
  if (dsFormOpen.value) {
564
- _push(`<div class="modal-mask" data-v-e7c763e8><div class="modal" data-v-e7c763e8><h3 class="m-title" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx050"))}</h3><div class="f-grid" data-v-e7c763e8><label class="f" data-v-e7c763e8><span data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx051"))}<em data-v-e7c763e8>*</em></span><input${ssrRenderAttr("value", dsForm.lineId)} class="inp" placeholder="line-ov-01" data-v-e7c763e8></label><label class="f" data-v-e7c763e8><span data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx052"))}<em data-v-e7c763e8>*</em></span><input${ssrRenderAttr("value", dsForm.productId)} class="inp" data-v-e7c763e8></label><label class="f" data-v-e7c763e8><span data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx053"))}<em data-v-e7c763e8>*</em></span><input${ssrRenderAttr("value", dsForm.recipeId)} class="inp" data-v-e7c763e8></label></div><p class="sec-label" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx054"))}</p><div class="node-rows" data-v-e7c763e8><!--[-->`);
564
+ _push(`<div class="modal-mask" data-v-1b416c3a><div class="modal" data-v-1b416c3a><h3 class="m-title" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx050"))}</h3><div class="f-grid" data-v-1b416c3a><label class="f" data-v-1b416c3a><span data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx051"))}<em data-v-1b416c3a>*</em></span><input${ssrRenderAttr("value", dsForm.lineId)} class="inp" placeholder="line-ov-01" data-v-1b416c3a></label><label class="f" data-v-1b416c3a><span data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx052"))}<em data-v-1b416c3a>*</em></span><input${ssrRenderAttr("value", dsForm.productId)} class="inp" data-v-1b416c3a></label><label class="f" data-v-1b416c3a><span data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx053"))}<em data-v-1b416c3a>*</em></span><input${ssrRenderAttr("value", dsForm.recipeId)} class="inp" data-v-1b416c3a></label></div><p class="sec-label" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx054"))}</p><div class="node-rows" data-v-1b416c3a><!--[-->`);
565
565
  ssrRenderList(dsNodes, (n, i) => {
566
- _push(`<div class="node-row" data-v-e7c763e8><input${ssrRenderAttr("value", n.nodeId)} class="inp grow"${ssrRenderAttr("placeholder", _ctx.$t("aml.k1amlx056"))} data-v-e7c763e8><select class="inp sel" data-v-e7c763e8><option value="control" data-v-e7c763e8${ssrIncludeBooleanAttr(Array.isArray(n.role) ? ssrLooseContain(n.role, "control") : ssrLooseEqual(n.role, "control")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("aml.k1amlx057"))}</option><option value="feature" data-v-e7c763e8${ssrIncludeBooleanAttr(Array.isArray(n.role) ? ssrLooseContain(n.role, "feature") : ssrLooseEqual(n.role, "feature")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("aml.k1amlx058"))}</option><option value="target" data-v-e7c763e8${ssrIncludeBooleanAttr(Array.isArray(n.role) ? ssrLooseContain(n.role, "target") : ssrLooseEqual(n.role, "target")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("aml.k1amlx059"))}</option></select><button class="mini-btn danger"${ssrIncludeBooleanAttr(dsNodes.length <= 1) ? " disabled" : ""} data-v-e7c763e8> ✕ </button></div>`);
566
+ _push(`<div class="node-row" data-v-1b416c3a><input${ssrRenderAttr("value", n.nodeId)} class="inp grow"${ssrRenderAttr("placeholder", _ctx.$t("aml.k1amlx056"))} data-v-1b416c3a><select class="inp sel" data-v-1b416c3a><option value="control" data-v-1b416c3a${ssrIncludeBooleanAttr(Array.isArray(n.role) ? ssrLooseContain(n.role, "control") : ssrLooseEqual(n.role, "control")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("aml.k1amlx057"))}</option><option value="feature" data-v-1b416c3a${ssrIncludeBooleanAttr(Array.isArray(n.role) ? ssrLooseContain(n.role, "feature") : ssrLooseEqual(n.role, "feature")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("aml.k1amlx058"))}</option><option value="target" data-v-1b416c3a${ssrIncludeBooleanAttr(Array.isArray(n.role) ? ssrLooseContain(n.role, "target") : ssrLooseEqual(n.role, "target")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("aml.k1amlx059"))}</option></select><button class="mini-btn danger"${ssrIncludeBooleanAttr(dsNodes.length <= 1) ? " disabled" : ""} data-v-1b416c3a> ✕ </button></div>`);
567
567
  });
568
- _push(`<!--]--><button class="mini-btn" data-v-e7c763e8><span class="i-tabler-plus" data-v-e7c763e8></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx055"))}</button></div><div class="f-grid" data-v-e7c763e8><label class="f" data-v-e7c763e8><span data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx060"))}</span><input${ssrRenderAttr("value", dsForm.beatMs)} type="number" min="1000" step="500" class="inp" data-v-e7c763e8></label><label class="f" data-v-e7c763e8><span data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx061"))}</span><input${ssrRenderAttr("value", dsForm.historySteps)} type="number" min="1" class="inp" data-v-e7c763e8></label><label class="f" data-v-e7c763e8><span data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx062"))}</span><input${ssrRenderAttr("value", dsForm.horizonSteps)} type="number" min="1" class="inp" data-v-e7c763e8></label><label class="f" data-v-e7c763e8><span data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx063"))}</span><input${ssrRenderAttr("value", dsForm.valRatio)} type="number" min="0" max="0.8" step="0.05" class="inp" data-v-e7c763e8></label><label class="f" data-v-e7c763e8><span data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx064"))}</span><input${ssrRenderAttr("value", dsForm.testRatio)} type="number" min="0" max="0.8" step="0.05" class="inp" data-v-e7c763e8></label><label class="f" data-v-e7c763e8><span data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx065"))}</span><input${ssrRenderAttr("value", dsForm.seed)} type="number" class="inp" data-v-e7c763e8></label><label class="f" data-v-e7c763e8><span data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx066"))}</span><select class="inp" data-v-e7c763e8><option value="mpc_surrogate" data-v-e7c763e8${ssrIncludeBooleanAttr(Array.isArray(dsForm.purpose) ? ssrLooseContain(dsForm.purpose, "mpc_surrogate") : ssrLooseEqual(dsForm.purpose, "mpc_surrogate")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("aml.k1amlx067"))}</option><option value="quality_predict" data-v-e7c763e8${ssrIncludeBooleanAttr(Array.isArray(dsForm.purpose) ? ssrLooseContain(dsForm.purpose, "quality_predict") : ssrLooseEqual(dsForm.purpose, "quality_predict")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("aml.k1amlx068"))}</option></select></label><label class="f wide" data-v-e7c763e8><span data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx026"))}</span><input${ssrRenderAttr("value", dsForm.note)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("aml.k1amlx069"))} data-v-e7c763e8></label></div>`);
569
- if (dsFormError.value) _push(`<p class="m-err" data-v-e7c763e8>${ssrInterpolate(dsFormError.value)}</p>`);
568
+ _push(`<!--]--><button class="mini-btn" data-v-1b416c3a><span class="i-tabler-plus" data-v-1b416c3a></span> ${ssrInterpolate(_ctx.$t("aml.k1amlx055"))}</button></div><div class="f-grid" data-v-1b416c3a><label class="f" data-v-1b416c3a><span data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx060"))}</span><input${ssrRenderAttr("value", dsForm.beatMs)} type="number" min="1000" step="500" class="inp" data-v-1b416c3a></label><label class="f" data-v-1b416c3a><span data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx061"))}</span><input${ssrRenderAttr("value", dsForm.historySteps)} type="number" min="1" class="inp" data-v-1b416c3a></label><label class="f" data-v-1b416c3a><span data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx062"))}</span><input${ssrRenderAttr("value", dsForm.horizonSteps)} type="number" min="1" class="inp" data-v-1b416c3a></label><label class="f" data-v-1b416c3a><span data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx063"))}</span><input${ssrRenderAttr("value", dsForm.valRatio)} type="number" min="0" max="0.8" step="0.05" class="inp" data-v-1b416c3a></label><label class="f" data-v-1b416c3a><span data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx064"))}</span><input${ssrRenderAttr("value", dsForm.testRatio)} type="number" min="0" max="0.8" step="0.05" class="inp" data-v-1b416c3a></label><label class="f" data-v-1b416c3a><span data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx065"))}</span><input${ssrRenderAttr("value", dsForm.seed)} type="number" class="inp" data-v-1b416c3a></label><label class="f" data-v-1b416c3a><span data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx066"))}</span><select class="inp" data-v-1b416c3a><option value="mpc_surrogate" data-v-1b416c3a${ssrIncludeBooleanAttr(Array.isArray(dsForm.purpose) ? ssrLooseContain(dsForm.purpose, "mpc_surrogate") : ssrLooseEqual(dsForm.purpose, "mpc_surrogate")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("aml.k1amlx067"))}</option><option value="quality_predict" data-v-1b416c3a${ssrIncludeBooleanAttr(Array.isArray(dsForm.purpose) ? ssrLooseContain(dsForm.purpose, "quality_predict") : ssrLooseEqual(dsForm.purpose, "quality_predict")) ? " selected" : ""}>${ssrInterpolate(_ctx.$t("aml.k1amlx068"))}</option></select></label><label class="f wide" data-v-1b416c3a><span data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx026"))}</span><input${ssrRenderAttr("value", dsForm.note)} class="inp"${ssrRenderAttr("placeholder", _ctx.$t("aml.k1amlx069"))} data-v-1b416c3a></label></div>`);
569
+ if (dsFormError.value) _push(`<p class="m-err" data-v-1b416c3a>${ssrInterpolate(dsFormError.value)}</p>`);
570
570
  else _push(`<!---->`);
571
- _push(`<div class="m-actions" data-v-e7c763e8><button class="ghost-btn" data-v-e7c763e8>${ssrInterpolate(_ctx.$t("aml.k1amlx071"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(dsSaving.value) ? " disabled" : ""} data-v-e7c763e8>${ssrInterpolate(dsSaving.value ? _ctx.$t("aml.k1amlx070") : _ctx.$t("aml.k1amlx072"))}</button></div></div></div>`);
571
+ _push(`<div class="m-actions" data-v-1b416c3a><button class="ghost-btn" data-v-1b416c3a>${ssrInterpolate(_ctx.$t("aml.k1amlx071"))}</button><button class="pill-btn"${ssrIncludeBooleanAttr(dsSaving.value) ? " disabled" : ""} data-v-1b416c3a>${ssrInterpolate(dsSaving.value ? _ctx.$t("aml.k1amlx070") : _ctx.$t("aml.k1amlx072"))}</button></div></div></div>`);
572
572
  } else _push(`<!---->`);
573
573
  _push(`</div>`);
574
574
  };
@@ -582,7 +582,7 @@ index_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
582
582
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/aml/index.vue");
583
583
  return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
584
584
  };
585
- var aml_default = /*#__PURE__*/ _plugin_vue_export_helper_default(index_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e7c763e8"]]);
585
+ var aml_default = /*#__PURE__*/ _plugin_vue_export_helper_default(index_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-1b416c3a"]]);
586
586
 
587
587
  export { aml_default as default };
588
- //# sourceMappingURL=aml-BCSJCdX7.mjs.map
588
+ //# sourceMappingURL=aml-_7FdFL2p.mjs.map