agentworkshop 0.7.52 → 0.7.53

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 (459) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +70 -1
  2. package/.output/.AgentWorkShop/prompts/host-tools.json +70 -1
  3. package/.output/.AgentWorkShop/schema.json +2 -0
  4. package/.output/nitro.json +1 -1
  5. package/.output/public/_nuxt/{D0ldVwl-.js → 77DRSnQv.js} +1 -1
  6. package/.output/public/_nuxt/8oRmGaAV.js +1 -0
  7. package/.output/public/_nuxt/{BPou3U7b.js → BLnLjzka.js} +1 -1
  8. package/.output/public/_nuxt/{CFQyYMEn2.js → BSdJTnk12.js} +1 -1
  9. package/.output/public/_nuxt/{C4lagVdN2.js → BUD1CNvB2.js} +1 -1
  10. package/.output/public/_nuxt/{CTvh8v4T.js → BXR3tgEk.js} +1 -1
  11. package/.output/public/_nuxt/{Cbeifv55.js → BhlRInVa.js} +1 -1
  12. package/.output/public/_nuxt/{mNnuUoSy.js → BkfA3BbD.js} +1 -1
  13. package/.output/public/_nuxt/{ChGuLxwW2.js → BpcQDwKM2.js} +1 -1
  14. package/.output/public/_nuxt/{DQMbdg4t.js → BwlGxRxA.js} +1 -1
  15. package/.output/public/_nuxt/{Bt2ZL5332.js → C4sQKuhk2.js} +1 -1
  16. package/.output/public/_nuxt/{CkPxL4UX2.js → CBUIODly2.js} +1 -1
  17. package/.output/public/_nuxt/CR-ILcRu2.js +1 -0
  18. package/.output/public/_nuxt/CZLnEnbE.js +14 -0
  19. package/.output/public/_nuxt/{qPsch_ny2.js → Chxx-DIE2.js} +1 -1
  20. package/.output/public/_nuxt/{BiUhxH3t2.js → CjwxhpwR2.js} +1 -1
  21. package/.output/public/_nuxt/{B9cGf8mg.js → CvGYm7w8.js} +1 -1
  22. package/.output/public/_nuxt/{B9BmiUil.js → DAGuPgXa.js} +1 -1
  23. package/.output/public/_nuxt/{DefDtlKK.js → DE6H1HdJ.js} +1 -1
  24. package/.output/public/_nuxt/{D_Ce9Fon2.js → DFhyhDGa2.js} +1 -1
  25. package/.output/public/_nuxt/{BXx9AxdF2.js → DSqMyLCV2.js} +1 -1
  26. package/.output/public/_nuxt/{B8zP7kaj2.js → DV5joWTn2.js} +1 -1
  27. package/.output/public/_nuxt/{Da90gveK.js → DVOR2pWg.js} +1 -1
  28. package/.output/public/_nuxt/DWsgRq2c.js +1 -0
  29. package/.output/public/_nuxt/{mgWHSRc8.js → DZDi8inD.js} +1 -1
  30. package/.output/public/_nuxt/{xQX5r6tW.js → Dep0Hc9w.js} +1 -1
  31. package/.output/public/_nuxt/{evt5VGDh.js → DffgG8vT.js} +1 -1
  32. package/.output/public/_nuxt/{B_opxrHJ.js → DlCktWDT.js} +1 -1
  33. package/.output/public/_nuxt/{BVzw5a_0.js → DmzmgYHb.js} +1 -1
  34. package/.output/public/_nuxt/PluginSlot.CGH0vb95.css +1 -0
  35. package/.output/public/_nuxt/{ty5W5QwO.js → WmMwIS4y.js} +1 -1
  36. package/.output/public/_nuxt/{_id_.DamiFT0Q.css → _id_.rdGx-UDx.css} +1 -1
  37. package/.output/public/_nuxt/{BgEDwFMf.js → _kUzq9VF.js} +1 -1
  38. package/.output/public/_nuxt/_wsId_.XjmieZaJ.css +1 -0
  39. package/.output/public/_nuxt/{C00Rd6Cg.js → aV6YPjg0.js} +1 -1
  40. package/.output/public/_nuxt/builds/latest.json +1 -1
  41. package/.output/public/_nuxt/builds/meta/5ccc21c2-aba0-4b63-9a13-410e0569e345.json +1 -0
  42. package/.output/public/_nuxt/{default.CXb_zoN6.css → default.CyLpQD1C.css} +1 -1
  43. package/.output/public/_nuxt/o9rJf00k.js +1 -0
  44. package/.output/public/_nuxt/sl1EEoCr2.js +21 -0
  45. package/.output/public/robots.txt +3 -0
  46. package/.output/server/chunks/_/binding-authz.mjs +1 -1
  47. package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
  48. package/.output/server/chunks/_/entity.mjs +1 -1
  49. package/.output/server/chunks/_/host-bindings.mjs +1 -1
  50. package/.output/server/chunks/_/nitro.mjs +1945 -1420
  51. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  52. package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
  53. package/.output/server/chunks/build/{PluginSlot-D2WUZgbp.mjs → PluginSlot-CT4YaNrB.mjs} +5 -5
  54. package/.output/server/chunks/build/{PluginSlot-D2WUZgbp.mjs.map → PluginSlot-CT4YaNrB.mjs.map} +1 -1
  55. package/.output/server/chunks/build/TownView-fP9BiALv.mjs +1 -1
  56. package/.output/server/chunks/build/{_id_-BUpQSlzo.mjs → _id_-CK-QFrDV.mjs} +55 -51
  57. package/.output/server/chunks/build/_id_-CK-QFrDV.mjs.map +1 -0
  58. package/.output/server/chunks/build/{_wsId_-C4L9fVHC.mjs → _wsId_-DdqXzycE.mjs} +320 -202
  59. package/.output/server/chunks/build/{_wsId_-C4L9fVHC.mjs.map → _wsId_-DdqXzycE.mjs.map} +1 -1
  60. package/.output/server/chunks/build/{agents-ydYu-Ol9.mjs → agents-DqICy4AL.mjs} +6 -6
  61. package/.output/server/chunks/build/{agents-ydYu-Ol9.mjs.map → agents-DqICy4AL.mjs.map} +1 -1
  62. package/.output/server/chunks/build/{channel-templates-DP1ndA5K.mjs → channel-templates-gdCLajKy.mjs} +2 -2
  63. package/.output/server/chunks/build/{channel-templates-DP1ndA5K.mjs.map → channel-templates-gdCLajKy.mjs.map} +1 -1
  64. package/.output/server/chunks/build/daq-N69AOtgw.mjs +1 -1
  65. package/.output/server/chunks/build/dcw-CN9d3Rs7.mjs +1 -1
  66. package/.output/server/chunks/build/{default-DCf9tn1i.mjs → default-CXUe4HL7.mjs} +65 -62
  67. package/.output/server/chunks/build/{default-DCf9tn1i.mjs.map → default-CXUe4HL7.mjs.map} +1 -1
  68. package/.output/server/chunks/build/{pages-BzmrmLL_.mjs → pages-CRMeXrxG.mjs} +3 -3
  69. package/.output/server/chunks/build/{pages-BzmrmLL_.mjs.map → pages-CRMeXrxG.mjs.map} +1 -1
  70. package/.output/server/chunks/build/{plugins-DSka7-vS.mjs → plugins-NAS9MQ5r.mjs} +2 -2
  71. package/.output/server/chunks/build/{plugins-DSka7-vS.mjs.map → plugins-NAS9MQ5r.mjs.map} +1 -1
  72. package/.output/server/chunks/build/{schedules-BYR-lA1k.mjs → schedules-D8vYHgQ5.mjs} +2 -2
  73. package/.output/server/chunks/build/{schedules-BYR-lA1k.mjs.map → schedules-D8vYHgQ5.mjs.map} +1 -1
  74. package/.output/server/chunks/build/{settings-UyZ78w2e.mjs → settings-B7HA-sdb.mjs} +3 -3
  75. package/.output/server/chunks/build/{settings-UyZ78w2e.mjs.map → settings-B7HA-sdb.mjs.map} +1 -1
  76. package/.output/server/chunks/build/{teams-D-Y5mzU7.mjs → teams-wM-MdLv9.mjs} +8 -8
  77. package/.output/server/chunks/build/{teams-D-Y5mzU7.mjs.map → teams-wM-MdLv9.mjs.map} +1 -1
  78. package/.output/server/chunks/build/types-D6J7slEa.mjs +1 -1
  79. package/.output/server/chunks/build/{useAgentHarnessOptions-CRyQYYY0.mjs → useAgentHarnessOptions-BnFCh23W.mjs} +2 -2
  80. package/.output/server/chunks/build/{useAgentHarnessOptions-CRyQYYY0.mjs.map → useAgentHarnessOptions-BnFCh23W.mjs.map} +1 -1
  81. package/.output/server/chunks/build/{useAgentTemplateActions-CaRsOBmB.mjs → useAgentTemplateActions-DsBRUQni.mjs} +2 -2
  82. package/.output/server/chunks/build/{useAgentTemplateActions-CaRsOBmB.mjs.map → useAgentTemplateActions-DsBRUQni.mjs.map} +1 -1
  83. package/.output/server/chunks/build/{useAgentTemplateForm-ChiIuPYr.mjs → useAgentTemplateForm-DzQ_t2Ue.mjs} +2 -2
  84. package/.output/server/chunks/build/{useAgentTemplateForm-ChiIuPYr.mjs.map → useAgentTemplateForm-DzQ_t2Ue.mjs.map} +1 -1
  85. package/.output/server/chunks/build/{useAgentTemplatesCatalog-Bf5hk6Jf.mjs → useAgentTemplatesCatalog-Q7LgG1Af.mjs} +2 -2
  86. package/.output/server/chunks/build/{useAgentTemplatesCatalog-Bf5hk6Jf.mjs.map → useAgentTemplatesCatalog-Q7LgG1Af.mjs.map} +1 -1
  87. package/.output/server/chunks/build/useDaqAddNode-kW7uTSMQ.mjs +1 -1
  88. package/.output/server/chunks/build/useDaqDetailNode-D_vhG0jF.mjs +1 -1
  89. package/.output/server/chunks/build/useDaqDetailParams-JfqHvTxr.mjs +1 -1
  90. package/.output/server/chunks/build/useDaqFilters-BUQtZ82a.mjs +1 -1
  91. package/.output/server/chunks/build/useDaqStream-wOxZcMDA.mjs +1 -1
  92. package/.output/server/chunks/build/useDaqTemplates-BqQRdrIm.mjs +1 -1
  93. package/.output/server/chunks/build/{useDashboardData-CNOY4Bi3.mjs → useDashboardData-DWJ6vHjm.mjs} +2 -2
  94. package/.output/server/chunks/build/{useDashboardData-CNOY4Bi3.mjs.map → useDashboardData-DWJ6vHjm.mjs.map} +1 -1
  95. package/.output/server/chunks/build/useDcwAddNode-C1HDP3yG.mjs +1 -1
  96. package/.output/server/chunks/build/useDcwStream-D04kCV3J.mjs +1 -1
  97. package/.output/server/chunks/build/{useTeamActions-C51ciLb0.mjs → useTeamActions-BOLQkYxg.mjs} +2 -2
  98. package/.output/server/chunks/build/{useTeamActions-C51ciLb0.mjs.map → useTeamActions-BOLQkYxg.mjs.map} +1 -1
  99. package/.output/server/chunks/build/{useTeamAddMemberDialog-DthpCMP8.mjs → useTeamAddMemberDialog-BCgrLPxI.mjs} +2 -2
  100. package/.output/server/chunks/build/{useTeamAddMemberDialog-DthpCMP8.mjs.map → useTeamAddMemberDialog-BCgrLPxI.mjs.map} +1 -1
  101. package/.output/server/chunks/build/{useTeamCreateDialog-Dc2KTwyg.mjs → useTeamCreateDialog-CJk40LqS.mjs} +2 -2
  102. package/.output/server/chunks/build/{useTeamCreateDialog-Dc2KTwyg.mjs.map → useTeamCreateDialog-CJk40LqS.mjs.map} +1 -1
  103. package/.output/server/chunks/build/{useTeamDeployDialog-CXpvPnJD.mjs → useTeamDeployDialog-49hdUXQP.mjs} +2 -2
  104. package/.output/server/chunks/build/{useTeamDeployDialog-CXpvPnJD.mjs.map → useTeamDeployDialog-49hdUXQP.mjs.map} +1 -1
  105. package/.output/server/chunks/build/{useTeamPluginDialog-DTs-7SSm.mjs → useTeamPluginDialog-Dh-QOoiU.mjs} +2 -2
  106. package/.output/server/chunks/build/{useTeamPluginDialog-DTs-7SSm.mjs.map → useTeamPluginDialog-Dh-QOoiU.mjs.map} +1 -1
  107. package/.output/server/chunks/build/{useTeamsCatalog-CcpetYyW.mjs → useTeamsCatalog-HBSyKt5P.mjs} +2 -2
  108. package/.output/server/chunks/build/{useTeamsCatalog-CcpetYyW.mjs.map → useTeamsCatalog-HBSyKt5P.mjs.map} +1 -1
  109. package/.output/server/chunks/build/{useWorkshopApi-CO3ophqt.mjs → useWorkshopApi-C9sTYu1F.mjs} +9 -1
  110. package/.output/server/chunks/build/useWorkshopApi-C9sTYu1F.mjs.map +1 -0
  111. package/.output/server/chunks/build/useWorkshopWs-Bm80bLn7.mjs.map +1 -1
  112. package/.output/server/chunks/routes/api/index.get.mjs +1 -1
  113. package/.output/server/chunks/routes/api/index.post.mjs +14 -3
  114. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  115. package/.output/server/chunks/routes/api/mcp/workshop.mjs +43 -14
  116. package/.output/server/chunks/routes/api/mcp/workshop.mjs.map +1 -1
  117. package/.output/server/chunks/routes/api/metrics.mjs +2 -0
  118. package/.output/server/chunks/routes/api/metrics.mjs.map +1 -1
  119. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +1 -1
  120. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs.map +1 -1
  121. package/.output/server/chunks/routes/api/system/backup/list.get.mjs +47 -0
  122. package/.output/server/chunks/routes/api/system/backup/list.get.mjs.map +1 -0
  123. package/.output/server/chunks/routes/api/system/backup/run.post.mjs +35 -0
  124. package/.output/server/chunks/routes/api/system/backup/run.post.mjs.map +1 -0
  125. package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs +1 -1
  126. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs +1 -1
  127. package/.output/server/chunks/routes/api/system/index.get.mjs +1 -1
  128. package/.output/server/chunks/routes/api/system/index.patch.mjs +15 -4
  129. package/.output/server/chunks/routes/api/system/index.patch.mjs.map +1 -1
  130. package/.output/server/chunks/routes/api/system/index.post.mjs +1 -1
  131. package/.output/server/chunks/routes/api/system/index2.get.mjs +1 -1
  132. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +1 -1
  133. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +1 -1
  134. package/.output/server/chunks/routes/api/system/settings/events.get.mjs +1 -1
  135. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +15 -3
  136. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs.map +1 -1
  137. package/.output/server/chunks/routes/api/system/timezone.get.mjs +1 -1
  138. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +14 -3
  139. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
  140. package/.output/server/chunks/routes/api/users/_id_.get.mjs +1 -1
  141. package/.output/server/chunks/routes/api/users/_id_.put.mjs +14 -3
  142. package/.output/server/chunks/routes/api/users/_id_.put.mjs.map +1 -1
  143. package/.output/server/chunks/routes/api/users/index.get.mjs +1 -1
  144. package/.output/server/chunks/routes/api/users/index.post.mjs +1 -1
  145. package/.output/server/chunks/routes/api/users/login.post.mjs +3 -2
  146. package/.output/server/chunks/routes/api/users/login.post.mjs.map +1 -1
  147. package/.output/server/chunks/routes/api/users/logout.post.mjs +1 -1
  148. package/.output/server/chunks/routes/api/users/me.get.mjs +1 -1
  149. package/.output/server/chunks/routes/api/users/register.post.mjs +4 -1
  150. package/.output/server/chunks/routes/api/users/register.post.mjs.map +1 -1
  151. package/.output/server/chunks/routes/api/users/setup-status.get.mjs +1 -1
  152. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +1 -1
  153. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +1 -1
  154. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -1
  155. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +1 -1
  156. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +19 -15
  157. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs.map +1 -1
  158. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -1
  159. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +1 -1
  160. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -1
  161. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +1 -1
  162. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs +1 -1
  163. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs +1 -1
  164. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +1 -1
  165. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +1 -1
  166. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +1 -1
  167. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +1 -1
  168. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +1 -1
  169. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +1 -1
  170. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -1
  171. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs +1 -1
  172. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs +1 -1
  173. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +1 -1
  174. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs +1 -1
  175. package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs +1 -1
  176. package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs +1 -1
  177. package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs +1 -1
  178. package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs +1 -1
  179. package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs +1 -1
  180. package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs +1 -1
  181. package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs +1 -1
  182. package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs +1 -1
  183. package/.output/server/chunks/routes/api/workshop/aml/index3.post.mjs +1 -1
  184. package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs +1 -1
  185. package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs +1 -1
  186. package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs +1 -1
  187. package/.output/server/chunks/routes/api/workshop/aml/index7.get.mjs +1 -1
  188. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs +1 -1
  189. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs +1 -1
  190. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs +1 -1
  191. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs +1 -1
  192. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs +1 -1
  193. package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs +1 -1
  194. package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs +1 -1
  195. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs +1 -1
  196. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs +1 -1
  197. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id/train.post.mjs +1 -1
  198. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.delete.mjs +1 -1
  199. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.patch.mjs +1 -1
  200. package/.output/server/chunks/routes/api/workshop/aml/twin/providers.get.mjs +1 -1
  201. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +1 -1
  202. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +1 -1
  203. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +1 -1
  204. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +1 -1
  205. package/.output/server/chunks/routes/api/workshop/audit.get.mjs +1 -1
  206. package/.output/server/chunks/routes/api/workshop/caller.mjs +1 -1
  207. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +8 -3
  208. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs.map +1 -1
  209. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +1 -1
  210. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -1
  211. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +1 -1
  212. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -1
  213. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -1
  214. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.get.mjs +1 -1
  215. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs +1 -1
  216. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -1
  217. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +1 -1
  218. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +1 -1
  219. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -1
  220. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +1 -1
  221. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -1
  222. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +1 -1
  223. package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +1 -1
  224. package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs +37 -0
  225. package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs.map +1 -0
  226. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +1 -1
  227. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs +1 -1
  228. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs +1 -1
  229. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +1 -1
  230. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +1 -1
  231. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +4 -4
  232. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +1 -1
  233. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +1 -1
  234. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +1 -1
  235. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +1 -1
  236. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +1 -1
  237. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +1 -1
  238. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +1 -1
  239. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +1 -1
  240. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +1 -1
  241. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +1 -1
  242. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +1 -1
  243. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +1 -1
  244. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +1 -1
  245. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +1 -1
  246. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +1 -1
  247. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +1 -1
  248. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +1 -1
  249. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +1 -1
  250. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +1 -1
  251. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +1 -1
  252. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +1 -1
  253. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +1 -1
  254. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +1 -1
  255. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +1 -1
  256. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +1 -1
  257. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +1 -1
  258. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +1 -1
  259. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -1
  260. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +1 -1
  261. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +1 -1
  262. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +1 -1
  263. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +1 -1
  264. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +1 -1
  265. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +1 -1
  266. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +1 -1
  267. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +1 -1
  268. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +1 -1
  269. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +1 -1
  270. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +6 -1
  271. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs.map +1 -1
  272. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
  273. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
  274. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +1 -1
  275. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +1 -1
  276. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +1 -1
  277. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +1 -1
  278. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +1 -1
  279. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +1 -1
  280. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +1 -1
  281. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +1 -1
  282. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +1 -1
  283. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +1 -1
  284. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +1 -1
  285. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +1 -1
  286. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +1 -1
  287. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +1 -1
  288. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +3 -3
  289. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs.map +1 -1
  290. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +1 -1
  291. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +1 -1
  292. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +1 -1
  293. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs +1 -1
  294. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +1 -1
  295. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +1 -1
  296. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +1 -1
  297. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
  298. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
  299. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +1 -1
  300. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +1 -1
  301. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +1 -1
  302. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +1 -1
  303. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +1 -1
  304. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +14 -2
  305. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs.map +1 -1
  306. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
  307. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
  308. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  309. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  310. package/.output/server/chunks/routes/api/workshop/index.post.mjs +1 -1
  311. package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
  312. package/.output/server/chunks/routes/api/workshop/index10.get.mjs +1 -1
  313. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +1 -1
  314. package/.output/server/chunks/routes/api/workshop/index2.post.mjs +1 -1
  315. package/.output/server/chunks/routes/api/workshop/index3.get.mjs +1 -1
  316. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +1 -1
  317. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +1 -1
  318. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +1 -1
  319. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +1 -1
  320. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -1
  321. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +1 -1
  322. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +1 -1
  323. package/.output/server/chunks/routes/api/workshop/index7.post.mjs +1 -1
  324. package/.output/server/chunks/routes/api/workshop/index8.get.mjs +1 -1
  325. package/.output/server/chunks/routes/api/workshop/index8.post.mjs +1 -1
  326. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +3 -3
  327. package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
  328. package/.output/server/chunks/routes/api/workshop/index9.post.mjs +1 -1
  329. package/.output/server/chunks/routes/api/workshop/notifications/read.post.mjs +1 -1
  330. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  331. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  332. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  333. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  334. package/.output/server/chunks/routes/api/workshop/schedules/_id/runs.get.mjs +1 -1
  335. package/.output/server/chunks/routes/api/workshop/schedules/_id_.patch.mjs +1 -1
  336. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -1
  337. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -1
  338. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -1
  339. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +1 -1
  340. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +1 -1
  341. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -1
  342. package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs +1 -1
  343. package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs +1 -1
  344. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -1
  345. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +4 -1
  346. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs.map +1 -1
  347. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +2 -2
  348. package/.output/server/chunks/routes/renderer.mjs +2 -2
  349. package/.output/server/chunks/virtual/entry.mjs +340 -52
  350. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  351. package/.output/server/package.json +1 -1
  352. package/README-zh.md +7 -3
  353. package/README.md +11 -5
  354. package/app/components/app-header/HitlBell.vue +9 -9
  355. package/app/components/dcw/DcwAddNodeModal.vue +3 -3
  356. package/app/components/dcw/DcwNodesTable.vue +4 -4
  357. package/app/components/dcw/DcwRecipeEditModal.vue +2 -2
  358. package/app/components/workshop/ChatMemberPanel.vue +39 -38
  359. package/app/components/workshop/ChatTimeline.vue +33 -24
  360. package/app/components/workshop/Composer.vue +7 -7
  361. package/app/components/workshop/NotificationCenter.vue +22 -13
  362. package/app/components/workshop/PluginSlot.vue +1 -1
  363. package/app/components/workshop/TaskInspectorDrawer.vue +5 -5
  364. package/app/components/workshop/blocks/ClusterTool.vue +1 -1
  365. package/app/components/workshop/composer/ComposerToolbar.vue +2 -2
  366. package/app/components/workshop/composer/MentionMenu.vue +1 -1
  367. package/app/components/workshop/composer/ReplyChip.vue +2 -2
  368. package/app/components/workshop/composer/StatusChip.vue +7 -7
  369. package/app/components/workshop/console/LineOperationsPanel.vue +15 -14
  370. package/app/components/workshop/lanes/LaneHeader.vue +5 -3
  371. package/app/components/workshop/session-list/ChannelSettingsModal.vue +43 -1
  372. package/app/composables/useCodeCopy.ts +16 -2
  373. package/app/composables/workshop/useWorkshopApi.ts +7 -0
  374. package/app/stores/workshop/notifications.ts +43 -17
  375. package/docs/cli.en.md +1 -1
  376. package/i18n/dicts/_en.json +1551 -1557
  377. package/i18n/dicts/_en2.json +300 -300
  378. package/i18n/dicts/_en4.json +114 -115
  379. package/i18n/dicts/agentLanesView.json +61 -57
  380. package/i18n/dicts/appHeader.json +17 -7
  381. package/i18n/dicts/channelSessionList.json +51 -48
  382. package/i18n/dicts/chat.json +79 -0
  383. package/i18n/dicts/clusterTool.json +4 -3
  384. package/i18n/dicts/composer.json +38 -38
  385. package/i18n/dicts/dcwDetail.json +219 -209
  386. package/i18n/dicts/lineOps.json +14 -0
  387. package/i18n/dicts/multiChannelView.json +13 -13
  388. package/i18n/dicts/notifications.json +13 -0
  389. package/i18n/dicts/taskInspectorDrawer.json +25 -19
  390. package/i18n/locales/en.ts +152 -8
  391. package/i18n/locales/zh-CN.ts +152 -8
  392. package/package.json +1 -1
  393. package/public/robots.txt +3 -0
  394. package/server/api/mcp/workshop.ts +8 -1
  395. package/server/api/metrics.ts +4 -1
  396. package/server/api/plugins/[name]/[...path].ts +4 -3
  397. package/server/api/system/backup/list.get.ts +32 -0
  398. package/server/api/system/backup/run.post.ts +21 -0
  399. package/server/api/system/settings/index.patch.ts +12 -2
  400. package/server/api/system/settings/reset.post.ts +11 -2
  401. package/server/api/users/[id].delete.ts +9 -2
  402. package/server/api/users/[id].put.ts +9 -2
  403. package/server/api/users/index.post.ts +9 -2
  404. package/server/api/users/login.post.ts +3 -3
  405. package/server/api/users/register.post.ts +11 -1
  406. package/server/api/workshop/a2a/[agentId]/rpc/index.post.ts +23 -13
  407. package/server/api/workshop/channel-templates/[id]/instantiate.post.ts +6 -0
  408. package/server/api/workshop/channels/[id]/line.put.ts +30 -0
  409. package/server/api/workshop/dcw/line/query.get.ts +6 -0
  410. package/server/api/workshop/dcw/recipes/[id]/revert.post.ts +3 -2
  411. package/server/api/workshop/fs/dirs.get.ts +19 -1
  412. package/server/api/workshop/ops-logs/index.get.ts +3 -2
  413. package/server/api/workshop/users/register.post.ts +7 -0
  414. package/server/mcp/workshop-server.ts +36 -13
  415. package/server/middleware/00-security-headers.ts +38 -0
  416. package/server/middleware/01-rate-guard.ts +101 -0
  417. package/server/plugins/backup.ts +56 -1
  418. package/server/plugins-builtin/diag-bridge/host/plugin.mjs +18 -11
  419. package/server/repositories/user.repository.ts +10 -5
  420. package/server/services/user.service.ts +24 -1
  421. package/server/services/workshop/agents/host-tool-bridge/dispatch.ts +1 -1
  422. package/server/services/workshop/agents/host-tool-bridge/tools/industrial.ts +4 -2
  423. package/server/services/workshop/agents/industrial/index.ts +1 -1
  424. package/server/services/workshop/agents/industrial/ops-tools.ts +168 -26
  425. package/server/services/workshop/agents/tool-classes.ts +2 -0
  426. package/server/services/workshop/aml/dataset-builder.ts +4 -2
  427. package/server/services/workshop/aml/job-orchestrator/process.ts +1 -0
  428. package/server/services/workshop/aml/job-orchestrator/shared.ts +2 -0
  429. package/server/services/workshop/aml/job-orchestrator/start-job.ts +5 -2
  430. package/server/services/workshop/db/channel.repo.ts +11 -1
  431. package/server/services/workshop/db/database/migrations.ts +2 -0
  432. package/server/services/workshop/db/database/rows.ts +2 -0
  433. package/server/services/workshop/db/database/seed.ts +19 -9
  434. package/server/services/workshop/dcw/dcw-controller/recipes.ts +60 -4
  435. package/server/services/workshop/dcw/dcw-controller/write.ts +35 -6
  436. package/server/services/workshop/dcw/dcw-recipe.repo.ts +4 -3
  437. package/server/services/workshop/dcw/param-map.repo.ts +3 -0
  438. package/server/services/workshop/plugins/host/init.mjs +9 -1
  439. package/server/services/workshop/plugins/host/load.mjs +2 -2
  440. package/server/services/workshop/runtime/manager/admin-channel.ts +27 -1
  441. package/server/services/workshop/runtime/manager/channel-templates.ts +5 -4
  442. package/server/services/workshop/runtime/manager/runtime-wiring.ts +17 -1
  443. package/shared/config/schema.json +2 -0
  444. package/.output/public/_nuxt/4wrEQ3np2.js +0 -21
  445. package/.output/public/_nuxt/CGQvF-Gg.js +0 -14
  446. package/.output/public/_nuxt/CcGuXiOa.js +0 -1
  447. package/.output/public/_nuxt/D0SNhlnt.js +0 -1
  448. package/.output/public/_nuxt/DnH9SRMW2.js +0 -1
  449. package/.output/public/_nuxt/ON2x-t6n.js +0 -1
  450. package/.output/public/_nuxt/PluginSlot.DmjNbrcX.css +0 -1
  451. package/.output/public/_nuxt/_wsId_.DkrQkT6r.css +0 -1
  452. package/.output/public/_nuxt/builds/meta/c64014ca-3595-4b7a-a5ca-055687c83ba2.json +0 -1
  453. package/.output/server/chunks/build/_id_-BUpQSlzo.mjs.map +0 -1
  454. package/.output/server/chunks/build/useWorkshopApi-CO3ophqt.mjs.map +0 -1
  455. package/scripts/.chk-tok +0 -1
  456. package/scripts/.retrain-body.json +0 -1
  457. package/scripts/.retrain3-body.json +0 -1
  458. package/scripts/.rt-tok +0 -1
  459. package/scripts/.rt3-tok +0 -1
@@ -1 +1 @@
1
- import{N as e,dt as t,g as n,mt as r,u as i,v as a}from"./CavpkQb0.js";import{S as o,V as s,W as ee,b as c,d as l,f as u,h as d,i as f,m as p,nt as m,p as h,y as g}from"./ByMj6e7s.js";import{d as te}from"./Br3AySNQ.js";import{n as _}from"./DkpmSnHX.js";import{n as v}from"./Cnrmlixo.js";import{t as ne}from"./Bub2P5me.js";import{a as y,c as re,n as ie}from"./wDPc4SSR.js";import{n as ae,t as oe}from"./k5K6Jj6g.js";import{t as se}from"./eutnXI4F.js";import{t as ce}from"./CAaSPBqk.js";import{i as le,n as ue,t as de}from"./DppqsiPC.js";import{t as fe}from"./B2x8SKRO2.js";import{t as pe}from"./CPeZNE4S2.js";import{t as me}from"./DzBbYWrw2.js";import{t as he}from"./DqtnqNgL2.js";import{t as ge}from"./CfLUvgr32.js";import{t as b}from"./CI2yXRr42.js";import{t as x}from"./BDNMzG2s2.js";import{t as S}from"./JgheoP3e.js";import{t as C}from"./CNs_Ozdc.js";import{t as w}from"./CcGuXiOa.js";import{i as T,n as E}from"./Du9v6qGB2.js";var _e={class:`page`},ve={class:`head`},ye={class:`sub`},be={class:`toolbar`},xe={key:0,class:`admin-note`},Se={class:`grid`},Ce={class:`card-head`},D={class:`name`},O={class:`owner`},k={key:0,class:`desc`},A={class:`member-line`},we={class:`lead-name`},Te={key:0,class:`count`},Ee={key:1,class:`count`},De=[`title`],Oe={class:`card-foot`},j=[`title`],ke={class:`kb-hint`},M=x(o({__name:`channel-templates`,setup(o){let{t:x}=v(),M=e=>E[e.id]?.desc?x(E[e.id].desc):e.description,N=e=>E[e.id]?.scenario?x(E[e.id].scenario):e.scenarioPrompt;C({layout:`default`});let P=w(),F=b(),I=a([]),L=a([]),R=a(!1),z=async()=>{R.value=!0;try{let[e,t]=await Promise.all([P.listChannelTemplates(),P.listTemplates()]);I.value=e?.data??[],L.value=t?.data??[]}finally{R.value=!1}};z();let B=a(`all`),V=l(()=>{let e=F.user?.id;switch(B.value){case`mine`:return I.value.filter(t=>t.ownerUserId===e);case`public`:return I.value.filter(e=>e.visibility===`public`);case`builtin`:return I.value.filter(e=>e.isBuiltin);default:return I.value}}),H=e=>!e.isBuiltin&&(e.ownerUserId===F.user?.id||F.isAdmin),U=e=>e.isBuiltin?{text:x(`ctpl.k3x23c021`),color:`default`,icon:`i-tabler-lock`}:e.visibility===`public`?{text:x(`ctpl.k3wv1t022`),color:`green`}:{text:x(`ctpl.k447jj023`),color:`default`},Ae=e=>`templateId`in e?T(x,L.value.find(t=>t.id===e.templateId)??{id:e.templateId,name:e.templateId.slice(0,8)}):e.inline.name,W=a(!1),G=n({name:``,description:``,scenarioPrompt:``,workspace:``,visibility:`private`,leadId:``,memberIds:[]}),K=()=>{G.name=``,G.description=``,G.scenarioPrompt=``,G.workspace=``,G.visibility=`private`,G.leadId=``,G.memberIds=[],W.value=!0},je=async()=>{if(!G.name.trim()){y.warning(x(`ctpl.k1i0ji0y024`));return}let e=G.leadId?L.value.find(e=>e.id===G.leadId):void 0,t=G.memberIds.filter(e=>e!==G.leadId).map(e=>({templateId:e,role:`worker`}));try{await P.createChannelTemplate({name:G.name.trim(),description:G.description||void 0,scenarioPrompt:G.scenarioPrompt||void 0,workspace:G.workspace||void 0,lead:e?{name:e.name,harness:e.harness,config:e.config}:null,members:t,visibility:G.visibility}),y.success(x(`ctpl.kyppebc025`)),W.value=!1,z()}catch(e){y.error(S(e))}},Me=async(e,t)=>{try{await P.updateChannelTemplate(e.id,{visibility:t?`public`:`private`}),y.success(x(t?`ctpl.kkziya3026`:`ctpl.k1xxabaf027`)),z()}catch(e){y.error(S(e))}},q=a(null),J=a(!1),Y=a(null),X=a(!0),Ne=e=>{if(Y.value=e,X.value=!0,!e.knowledgeBaseCapable){Z();return}J.value=!0},Z=async()=>{let e=Y.value;if(e){q.value=e.id,J.value=!1;try{let t=e.knowledgeBaseCapable?{enableKnowledgeBase:X.value}:void 0,n=(await P.instantiateChannelTemplate(e.id,void 0,t))?.data;y.success(x(`ctpl.kefkfnl030`,{p0:e.name,p1:n?.agentCount??0}))}catch(e){y.error(S(e))}finally{q.value=null}}},Pe=async e=>{await P.deleteChannelTemplate(e.id),y.success(x(`ctpl.k1oxfuqj028`)),z()};return _({title:()=>x(`titles.ctpl`)}),(n,a)=>{let o=re,l=pe,_=ge,v=de,y=he,b=fe,S=me,C=ce,w=ae,E=se,P=ne,z=ue,Fe=le,Q=oe,$=ie;return s(),d(`div`,_e,[u(`div`,ve,[u(`div`,null,[u(`h2`,null,`Channel `+r(n.$t(`ctpl.k1f54iqd029`)),1),u(`p`,ye,r(n.$t(`ctpl.k18gglgp011`)),1)]),c(l,null,{default:m(()=>[c(o,{onClick:a[0]||=t=>(`navigateTo`in n?n.navigateTo:e(te))(`/workshop`)},{default:m(()=>[g(r(n.$t(`ctpl.krpx6qa012`)),1)]),_:1}),c(o,{type:`primary`,onClick:K},{default:m(()=>[g(r(n.$t(`ctpl.k1efixrj013`)),1)]),_:1})]),_:1})]),u(`div`,be,[c(_,{value:e(B),"onUpdate:value":a[1]||=e=>i(B)?B.value=e:null,size:`small`,options:[{value:`all`,label:n.$t(`chips.chipAll`,{n:e(I).length})},{value:`mine`,label:n.$t(`chips.mine`)},{value:`public`,label:n.$t(`chips.public`)},{value:`builtin`,label:n.$t(`chips.builtin`)}]},null,8,[`value`,`options`]),e(F).isAdmin?(s(),d(`span`,xe,[a[12]||=u(`span`,{class:`i-tabler-shield-check`},null,-1),g(` `+r(n.$t(`ctpl.ka1gpdj014`)),1)])):p(``,!0)]),c(S,{spinning:e(R)},{default:m(()=>[u(`div`,Se,[(s(!0),d(f,null,ee(e(V),i=>(s(),d(`div`,{key:i.id,class:`card`},[u(`div`,Ce,[u(`span`,D,r((`seedName`in n?n.seedName:e(T))(e(x),i)),1),c(v,{color:U(i).color,class:`vis-tag`},{default:m(()=>[U(i).icon?(s(),d(`span`,{key:0,class:t(U(i).icon)},null,2)):p(``,!0),g(r(U(i).text),1)]),_:2},1032,[`color`]),!i.isBuiltin&&H(i)?(s(),h(y,{key:0,checked:i.visibility===`public`,size:`small`,"checked-children":n.$t(`ctpl.visPublic`),"un-checked-children":n.$t(`ctpl.visPrivate`),onChange:e=>Me(i,e===!0)},null,8,[`checked`,`checked-children`,`un-checked-children`,`onChange`])):p(``,!0),u(`span`,O,r(i.ownerName??`-`),1)]),i.description?(s(),d(`p`,k,r(M(i)),1)):p(``,!0),u(`div`,A,[a[14]||=u(`span`,{class:`i-tabler-users-group`},null,-1),i.lead||i.members.length>0?(s(),d(f,{key:0},[c(v,{color:`gold`},{default:m(()=>[...a[13]||=[g(` lead `,-1)]]),_:1}),u(`span`,we,r(i.lead?.name??Ae(i.members.find(e=>e.role===`lead`)??i.members[0])),1),i.members.filter(e=>e.role!==`lead`).length>0?(s(),d(`span`,Te,`+ `+r(i.members.filter(e=>e.role!==`lead`).length)+` worker`,1)):p(``,!0)],64)):(s(),d(`span`,Ee,r(n.$t(`ctpl.k3rx4ps015`)),1))]),i.scenarioPrompt?(s(),d(`div`,{key:1,class:`scenario`,title:i.scenarioPrompt},r(N(i).slice(0,90))+r(N(i).length>90?`…`:``),9,De)):p(``,!0),u(`div`,Oe,[i.workspace?(s(),d(`span`,{key:0,class:`ws`,title:i.workspace},[a[15]||=u(`span`,{class:`i-tabler-folder`},null,-1),g(` `+r(i.workspace),1)],8,j)):p(``,!0),a[16]||=u(`span`,{class:`spacer`},null,-1),H(i)?(s(),h(b,{key:1,title:n.$t(`ctpl.k117jag9001`),onConfirm:e=>Pe(i)},{default:m(()=>[c(o,{size:`small`,type:`text`,danger:``},{default:m(()=>[g(r(n.$t(`ctpl.k3xakp016`)),1)]),_:1})]),_:1},8,[`title`,`onConfirm`])):p(``,!0),c(o,{size:`small`,type:`primary`,ghost:``,loading:e(q)===i.id,title:n.$t(`ctpl.knjomku002`),onClick:e=>Ne(i)},{default:m(()=>[g(r(n.$t(`ctpl.k3mr1fo017`)),1)]),_:1},8,[`loading`,`title`,`onClick`])])]))),128)),e(V).length===0?(s(),d(`div`,{key:0,class:`card placeholder`,onClick:K},[a[17]||=u(`span`,{class:`i-tabler-layout-grid-add big`},null,-1),u(`span`,null,r(n.$t(`ctpl.k19fglby018`)),1)])):p(``,!0)])]),_:1},8,[`spinning`]),c($,{open:e(W),"onUpdate:open":a[9]||=e=>i(W)?W.value=e:null,title:n.$t(`ctpl.newTplTitle`),"ok-text":n.$t(`common.create`),"cancel-text":n.$t(`common.cancel`),onOk:je},{default:m(()=>[c(Q,{layout:`vertical`},{default:m(()=>[c(w,{label:n.$t(`ctpl.k1f55q76003`)},{default:m(()=>[c(C,{value:e(G).name,"onUpdate:value":a[2]||=t=>e(G).name=t},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k40gkk004`)},{default:m(()=>[c(C,{value:e(G).description,"onUpdate:value":a[3]||=t=>e(G).description=t},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.leadTplLabel`)},{default:m(()=>[c(E,{value:e(G).leadId,"onUpdate:value":a[4]||=t=>e(G).leadId=t,"allow-clear":``,placeholder:n.$t(`ctpl.k1ju32o7005`),options:e(L).map(e=>({value:e.id,label:`${e.name}(${e.harness})`}))},null,8,[`value`,`placeholder`,`options`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k5uq1js006`)},{default:m(()=>[c(E,{value:e(G).memberIds,"onUpdate:value":a[5]||=t=>e(G).memberIds=t,mode:`multiple`,placeholder:n.$t(`ctpl.kqmdkc9007`),options:e(L).filter(t=>t.id!==e(G).leadId).map(e=>({value:e.id,label:`${e.name}(${e.harness})`}))},null,8,[`value`,`placeholder`,`options`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k1q87yho008`)},{default:m(()=>[c(P,{value:e(G).scenarioPrompt,"onUpdate:value":a[6]||=t=>e(G).scenarioPrompt=t,rows:3},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.kk4u5cr009`)},{default:m(()=>[c(C,{value:e(G).workspace,"onUpdate:value":a[7]||=t=>e(G).workspace=t,placeholder:`data/workspaces/<channelId>`},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k3lrqn0010`)},{default:m(()=>[c(Fe,{value:e(G).visibility,"onUpdate:value":a[8]||=t=>e(G).visibility=t},{default:m(()=>[c(z,{value:`private`},{default:m(()=>[g(r(n.$t(`ctpl.k17jfge3019`)),1)]),_:1}),c(z,{value:`public`},{default:m(()=>[g(r(n.$t(`ctpl.k191u0u5020`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`open`,`title`,`ok-text`,`cancel-text`]),c($,{open:e(J),"onUpdate:open":a[11]||=e=>i(J)?J.value=e:null,title:e(x)(`ctpl.kbInstTitle`,{p0:e(Y)?.name??``}),"ok-text":n.$t(`ctpl.k3mr1fo017`),"cancel-text":n.$t(`common.cancel`),"confirm-loading":e(q)===e(Y)?.id,onOk:Z},{default:m(()=>[c(Q,{layout:`vertical`},{default:m(()=>[c(w,{label:n.$t(`ctpl.kbOption`)},{default:m(()=>[c(y,{checked:e(X),"onUpdate:checked":a[10]||=e=>i(X)?X.value=e:null,"checked-children":n.$t(`ctpl.kbOn`),"un-checked-children":n.$t(`ctpl.kbOff`)},null,8,[`checked`,`checked-children`,`un-checked-children`])]),_:1},8,[`label`]),u(`p`,ke,r(n.$t(`ctpl.kbHint`)),1)]),_:1})]),_:1},8,[`open`,`title`,`ok-text`,`cancel-text`,`confirm-loading`])])}}}),[[`__scopeId`,`data-v-bd11472d`]]);export{M as default};
1
+ import{N as e,dt as t,g as n,mt as r,u as i,v as a}from"./CavpkQb0.js";import{S as o,V as s,W as ee,b as c,d as l,f as u,h as d,i as f,m as p,nt as m,p as h,y as g}from"./ByMj6e7s.js";import{d as te}from"./Br3AySNQ.js";import{n as _}from"./DkpmSnHX.js";import{n as v}from"./Cnrmlixo.js";import{t as ne}from"./Bub2P5me.js";import{a as y,c as re,n as ie}from"./wDPc4SSR.js";import{n as ae,t as oe}from"./k5K6Jj6g.js";import{t as se}from"./eutnXI4F.js";import{t as ce}from"./CAaSPBqk.js";import{i as le,n as ue,t as de}from"./DppqsiPC.js";import{t as fe}from"./B2x8SKRO2.js";import{t as pe}from"./CPeZNE4S2.js";import{t as me}from"./DzBbYWrw2.js";import{t as he}from"./DqtnqNgL2.js";import{t as ge}from"./CfLUvgr32.js";import{t as b}from"./CI2yXRr42.js";import{t as x}from"./BDNMzG2s2.js";import{t as S}from"./JgheoP3e.js";import{t as C}from"./CNs_Ozdc.js";import{t as w}from"./8oRmGaAV.js";import{i as T,n as E}from"./Du9v6qGB2.js";var _e={class:`page`},ve={class:`head`},ye={class:`sub`},be={class:`toolbar`},xe={key:0,class:`admin-note`},Se={class:`grid`},Ce={class:`card-head`},D={class:`name`},O={class:`owner`},k={key:0,class:`desc`},A={class:`member-line`},we={class:`lead-name`},Te={key:0,class:`count`},Ee={key:1,class:`count`},De=[`title`],Oe={class:`card-foot`},j=[`title`],ke={class:`kb-hint`},M=x(o({__name:`channel-templates`,setup(o){let{t:x}=v(),M=e=>E[e.id]?.desc?x(E[e.id].desc):e.description,N=e=>E[e.id]?.scenario?x(E[e.id].scenario):e.scenarioPrompt;C({layout:`default`});let P=w(),F=b(),I=a([]),L=a([]),R=a(!1),z=async()=>{R.value=!0;try{let[e,t]=await Promise.all([P.listChannelTemplates(),P.listTemplates()]);I.value=e?.data??[],L.value=t?.data??[]}finally{R.value=!1}};z();let B=a(`all`),V=l(()=>{let e=F.user?.id;switch(B.value){case`mine`:return I.value.filter(t=>t.ownerUserId===e);case`public`:return I.value.filter(e=>e.visibility===`public`);case`builtin`:return I.value.filter(e=>e.isBuiltin);default:return I.value}}),H=e=>!e.isBuiltin&&(e.ownerUserId===F.user?.id||F.isAdmin),U=e=>e.isBuiltin?{text:x(`ctpl.k3x23c021`),color:`default`,icon:`i-tabler-lock`}:e.visibility===`public`?{text:x(`ctpl.k3wv1t022`),color:`green`}:{text:x(`ctpl.k447jj023`),color:`default`},Ae=e=>`templateId`in e?T(x,L.value.find(t=>t.id===e.templateId)??{id:e.templateId,name:e.templateId.slice(0,8)}):e.inline.name,W=a(!1),G=n({name:``,description:``,scenarioPrompt:``,workspace:``,visibility:`private`,leadId:``,memberIds:[]}),K=()=>{G.name=``,G.description=``,G.scenarioPrompt=``,G.workspace=``,G.visibility=`private`,G.leadId=``,G.memberIds=[],W.value=!0},je=async()=>{if(!G.name.trim()){y.warning(x(`ctpl.k1i0ji0y024`));return}let e=G.leadId?L.value.find(e=>e.id===G.leadId):void 0,t=G.memberIds.filter(e=>e!==G.leadId).map(e=>({templateId:e,role:`worker`}));try{await P.createChannelTemplate({name:G.name.trim(),description:G.description||void 0,scenarioPrompt:G.scenarioPrompt||void 0,workspace:G.workspace||void 0,lead:e?{name:e.name,harness:e.harness,config:e.config}:null,members:t,visibility:G.visibility}),y.success(x(`ctpl.kyppebc025`)),W.value=!1,z()}catch(e){y.error(S(e))}},Me=async(e,t)=>{try{await P.updateChannelTemplate(e.id,{visibility:t?`public`:`private`}),y.success(x(t?`ctpl.kkziya3026`:`ctpl.k1xxabaf027`)),z()}catch(e){y.error(S(e))}},q=a(null),J=a(!1),Y=a(null),X=a(!0),Ne=e=>{if(Y.value=e,X.value=!0,!e.knowledgeBaseCapable){Z();return}J.value=!0},Z=async()=>{let e=Y.value;if(e){q.value=e.id,J.value=!1;try{let t=e.knowledgeBaseCapable?{enableKnowledgeBase:X.value}:void 0,n=(await P.instantiateChannelTemplate(e.id,void 0,t))?.data;y.success(x(`ctpl.kefkfnl030`,{p0:e.name,p1:n?.agentCount??0}))}catch(e){y.error(S(e))}finally{q.value=null}}},Pe=async e=>{await P.deleteChannelTemplate(e.id),y.success(x(`ctpl.k1oxfuqj028`)),z()};return _({title:()=>x(`titles.ctpl`)}),(n,a)=>{let o=re,l=pe,_=ge,v=de,y=he,b=fe,S=me,C=ce,w=ae,E=se,P=ne,z=ue,Fe=le,Q=oe,$=ie;return s(),d(`div`,_e,[u(`div`,ve,[u(`div`,null,[u(`h2`,null,`Channel `+r(n.$t(`ctpl.k1f54iqd029`)),1),u(`p`,ye,r(n.$t(`ctpl.k18gglgp011`)),1)]),c(l,null,{default:m(()=>[c(o,{onClick:a[0]||=t=>(`navigateTo`in n?n.navigateTo:e(te))(`/workshop`)},{default:m(()=>[g(r(n.$t(`ctpl.krpx6qa012`)),1)]),_:1}),c(o,{type:`primary`,onClick:K},{default:m(()=>[g(r(n.$t(`ctpl.k1efixrj013`)),1)]),_:1})]),_:1})]),u(`div`,be,[c(_,{value:e(B),"onUpdate:value":a[1]||=e=>i(B)?B.value=e:null,size:`small`,options:[{value:`all`,label:n.$t(`chips.chipAll`,{n:e(I).length})},{value:`mine`,label:n.$t(`chips.mine`)},{value:`public`,label:n.$t(`chips.public`)},{value:`builtin`,label:n.$t(`chips.builtin`)}]},null,8,[`value`,`options`]),e(F).isAdmin?(s(),d(`span`,xe,[a[12]||=u(`span`,{class:`i-tabler-shield-check`},null,-1),g(` `+r(n.$t(`ctpl.ka1gpdj014`)),1)])):p(``,!0)]),c(S,{spinning:e(R)},{default:m(()=>[u(`div`,Se,[(s(!0),d(f,null,ee(e(V),i=>(s(),d(`div`,{key:i.id,class:`card`},[u(`div`,Ce,[u(`span`,D,r((`seedName`in n?n.seedName:e(T))(e(x),i)),1),c(v,{color:U(i).color,class:`vis-tag`},{default:m(()=>[U(i).icon?(s(),d(`span`,{key:0,class:t(U(i).icon)},null,2)):p(``,!0),g(r(U(i).text),1)]),_:2},1032,[`color`]),!i.isBuiltin&&H(i)?(s(),h(y,{key:0,checked:i.visibility===`public`,size:`small`,"checked-children":n.$t(`ctpl.visPublic`),"un-checked-children":n.$t(`ctpl.visPrivate`),onChange:e=>Me(i,e===!0)},null,8,[`checked`,`checked-children`,`un-checked-children`,`onChange`])):p(``,!0),u(`span`,O,r(i.ownerName??`-`),1)]),i.description?(s(),d(`p`,k,r(M(i)),1)):p(``,!0),u(`div`,A,[a[14]||=u(`span`,{class:`i-tabler-users-group`},null,-1),i.lead||i.members.length>0?(s(),d(f,{key:0},[c(v,{color:`gold`},{default:m(()=>[...a[13]||=[g(` lead `,-1)]]),_:1}),u(`span`,we,r(i.lead?.name??Ae(i.members.find(e=>e.role===`lead`)??i.members[0])),1),i.members.filter(e=>e.role!==`lead`).length>0?(s(),d(`span`,Te,`+ `+r(i.members.filter(e=>e.role!==`lead`).length)+` worker`,1)):p(``,!0)],64)):(s(),d(`span`,Ee,r(n.$t(`ctpl.k3rx4ps015`)),1))]),i.scenarioPrompt?(s(),d(`div`,{key:1,class:`scenario`,title:i.scenarioPrompt},r(N(i).slice(0,90))+r(N(i).length>90?`…`:``),9,De)):p(``,!0),u(`div`,Oe,[i.workspace?(s(),d(`span`,{key:0,class:`ws`,title:i.workspace},[a[15]||=u(`span`,{class:`i-tabler-folder`},null,-1),g(` `+r(i.workspace),1)],8,j)):p(``,!0),a[16]||=u(`span`,{class:`spacer`},null,-1),H(i)?(s(),h(b,{key:1,title:n.$t(`ctpl.k117jag9001`),onConfirm:e=>Pe(i)},{default:m(()=>[c(o,{size:`small`,type:`text`,danger:``},{default:m(()=>[g(r(n.$t(`ctpl.k3xakp016`)),1)]),_:1})]),_:1},8,[`title`,`onConfirm`])):p(``,!0),c(o,{size:`small`,type:`primary`,ghost:``,loading:e(q)===i.id,title:n.$t(`ctpl.knjomku002`),onClick:e=>Ne(i)},{default:m(()=>[g(r(n.$t(`ctpl.k3mr1fo017`)),1)]),_:1},8,[`loading`,`title`,`onClick`])])]))),128)),e(V).length===0?(s(),d(`div`,{key:0,class:`card placeholder`,onClick:K},[a[17]||=u(`span`,{class:`i-tabler-layout-grid-add big`},null,-1),u(`span`,null,r(n.$t(`ctpl.k19fglby018`)),1)])):p(``,!0)])]),_:1},8,[`spinning`]),c($,{open:e(W),"onUpdate:open":a[9]||=e=>i(W)?W.value=e:null,title:n.$t(`ctpl.newTplTitle`),"ok-text":n.$t(`common.create`),"cancel-text":n.$t(`common.cancel`),onOk:je},{default:m(()=>[c(Q,{layout:`vertical`},{default:m(()=>[c(w,{label:n.$t(`ctpl.k1f55q76003`)},{default:m(()=>[c(C,{value:e(G).name,"onUpdate:value":a[2]||=t=>e(G).name=t},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k40gkk004`)},{default:m(()=>[c(C,{value:e(G).description,"onUpdate:value":a[3]||=t=>e(G).description=t},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.leadTplLabel`)},{default:m(()=>[c(E,{value:e(G).leadId,"onUpdate:value":a[4]||=t=>e(G).leadId=t,"allow-clear":``,placeholder:n.$t(`ctpl.k1ju32o7005`),options:e(L).map(e=>({value:e.id,label:`${e.name}(${e.harness})`}))},null,8,[`value`,`placeholder`,`options`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k5uq1js006`)},{default:m(()=>[c(E,{value:e(G).memberIds,"onUpdate:value":a[5]||=t=>e(G).memberIds=t,mode:`multiple`,placeholder:n.$t(`ctpl.kqmdkc9007`),options:e(L).filter(t=>t.id!==e(G).leadId).map(e=>({value:e.id,label:`${e.name}(${e.harness})`}))},null,8,[`value`,`placeholder`,`options`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k1q87yho008`)},{default:m(()=>[c(P,{value:e(G).scenarioPrompt,"onUpdate:value":a[6]||=t=>e(G).scenarioPrompt=t,rows:3},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.kk4u5cr009`)},{default:m(()=>[c(C,{value:e(G).workspace,"onUpdate:value":a[7]||=t=>e(G).workspace=t,placeholder:`data/workspaces/<channelId>`},null,8,[`value`])]),_:1},8,[`label`]),c(w,{label:n.$t(`ctpl.k3lrqn0010`)},{default:m(()=>[c(Fe,{value:e(G).visibility,"onUpdate:value":a[8]||=t=>e(G).visibility=t},{default:m(()=>[c(z,{value:`private`},{default:m(()=>[g(r(n.$t(`ctpl.k17jfge3019`)),1)]),_:1}),c(z,{value:`public`},{default:m(()=>[g(r(n.$t(`ctpl.k191u0u5020`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`])]),_:1})]),_:1},8,[`open`,`title`,`ok-text`,`cancel-text`]),c($,{open:e(J),"onUpdate:open":a[11]||=e=>i(J)?J.value=e:null,title:e(x)(`ctpl.kbInstTitle`,{p0:e(Y)?.name??``}),"ok-text":n.$t(`ctpl.k3mr1fo017`),"cancel-text":n.$t(`common.cancel`),"confirm-loading":e(q)===e(Y)?.id,onOk:Z},{default:m(()=>[c(Q,{layout:`vertical`},{default:m(()=>[c(w,{label:n.$t(`ctpl.kbOption`)},{default:m(()=>[c(y,{checked:e(X),"onUpdate:checked":a[10]||=e=>i(X)?X.value=e:null,"checked-children":n.$t(`ctpl.kbOn`),"un-checked-children":n.$t(`ctpl.kbOff`)},null,8,[`checked`,`checked-children`,`un-checked-children`])]),_:1},8,[`label`]),u(`p`,ke,r(n.$t(`ctpl.kbHint`)),1)]),_:1})]),_:1},8,[`open`,`title`,`ok-text`,`cancel-text`,`confirm-loading`])])}}}),[[`__scopeId`,`data-v-bd11472d`]]);export{M as default};
@@ -1 +1 @@
1
- import{o as e}from"./BMMoqi94.js";import{N as t,dt as n,ft as r,g as i,mt as a,u as o,v as s}from"./CavpkQb0.js";import{D as c,H as l,R as u,S as d,V as f,W as p,b as m,d as h,et as g,f as _,h as v,i as y,m as b,nt as x,p as S,rt as C,y as w}from"./ByMj6e7s.js";import{c as T,d as E,l as D,u as O}from"./Dqz5HiXa.js";import{n as k,t as A}from"./BgnhB8r5.js";import{t as j}from"./S799kNo8.js";import{n as M}from"./Cnrmlixo.js";import{a as N}from"./wDPc4SSR.js";import{t as P}from"./eutnXI4F.js";import{t as F}from"./CAaSPBqk.js";import{t as ee}from"./Bwc6lt2X.js";import{t as I}from"./CzlUIbK32.js";import{t as te}from"./Yv9YItEX2.js";import{n as L,t as ne}from"./DVKXGuMz2.js";import{t as re}from"./CD9lpEz22.js";import{t as ie}from"./DzBbYWrw2.js";import{t as ae}from"./DqtnqNgL2.js";import{t as R}from"./CI2yXRr42.js";import{t as z}from"./DTxfFIvL2.js";import{t as B}from"./BDNMzG2s2.js";import{t as V}from"./JgheoP3e.js";import{t as H}from"./CcGuXiOa.js";import{t as U}from"./Bt2ZL5332.js";var W={class:`section-title`},G={class:`section-desc`},K={class:`set-row`},q={class:`set-text`},J={class:`set-title`},oe={class:`set-sub`},se={class:`color-swatches`},ce=[`title`,`onClick`],le={class:`swatch-label`},ue={key:0,class:`i-tabler-check swatch-check`},de={class:`toggle-row`},fe={class:`set-text`},pe={class:`set-title`},me={class:`set-sub`},he=[`aria-checked`],ge={class:`toggle-row`},_e={class:`set-text`},ve={class:`set-title`},ye={class:`set-sub`},be=Object.assign(B(d({__name:`AppearancePane`,props:{activeTab:{}},setup(i){let o=k(),s=e().public,{t:c,locale:l,locales:u,setLocale:d}=M(),g=String(s.primaryColor),x=[{value:g,label:c(`settings.accentInk`)},{value:`#c9963f`,label:c(`settings.accentStone`)},{value:`#44615a`,label:c(`settings.accentMoss`)},{value:`#3f6094`,label:c(`settings.accentSlate`)},{value:`#6b5aa0`,label:c(`settings.accentPlum`)},{value:`#9c5744`,label:c(`settings.accentClay`)}],S=h(()=>o.accent??g);function T(e){o.setAccent(e===g?null:e),N.success(c(`settings.accentApplied`))}function E(){o.setAccent(null),N.success(c(`settings.accentReset`))}let O=h(()=>u.value.map(e=>({label:e.name,value:e.code}))),A=e=>{e!=null&&(j(`aw.locale`,{maxAge:31536e3}).value=String(e),localStorage.setItem(`aw.locale`,String(e)),d(String(e)),window.location.reload())};return(e,s)=>{let u=P;return C((f(),v(`div`,null,[_(`h3`,W,a(t(c)(`settings.theme`)),1),_(`p`,G,a(t(c)(`settings.appearanceDesc`)),1),_(`div`,K,[_(`div`,q,[_(`div`,J,a(t(c)(`settings.primaryColor`)),1),_(`div`,oe,a(t(c)(`settings.accentDesc`)),1)])]),_(`div`,se,[(f(),v(y,null,p(x,e=>_(`button`,{key:e.value,class:n([`swatch`,{on:t(S).toLowerCase()===e.value.toLowerCase()}]),style:r({"--sw":e.value}),title:e.label,onClick:t=>T(e.value)},[s[1]||=_(`span`,{class:`swatch-dot`},null,-1),_(`span`,le,a(e.label),1),t(S).toLowerCase()===e.value.toLowerCase()?(f(),v(`span`,ue)):b(``,!0)],14,ce)),64))]),_(`button`,{class:`aw-pill outline reset-btn`,onClick:E},[s[2]||=_(`span`,{class:`i-tabler-rotate`},null,-1),w(` `+a(t(c)(`settings.accentResetAction`)),1)]),_(`div`,de,[_(`div`,fe,[_(`div`,pe,a(t(o).isDark?t(c)(`common.dark`):t(c)(`common.light`)),1),_(`div`,me,a(t(c)(`settings.darkDesc`)),1)]),_(`button`,{class:n([`switch`,{on:t(o).isDark}]),role:`switch`,"aria-checked":t(o).isDark,onClick:s[0]||=e=>t(o).toggleDark()},[...s[3]||=[_(`span`,{class:`knob`},null,-1)]],10,he)]),_(`div`,ge,[_(`div`,_e,[_(`div`,ve,a(t(c)(`header.language`)),1),_(`div`,ye,a(t(c)(`settings.languageDesc`)),1)]),m(u,{value:t(l),options:t(O),style:{width:`140px`},onChange:A},null,8,[`value`,`options`])])],512)),[[D,i.activeTab===`appearance`]])}}}),[[`__scopeId`,`data-v-79352bd2`]]),{__name:`SettingsAppearancePane`});function xe(){let{t:e}=M(),t=z(),n=s({}),r=s(new Set),i=s(!1),a=s(null);function o(){n.value={...t.effective},r.value=new Set}g(()=>t.loaded,e=>{e&&o()},{immediate:!0}),g(()=>t.effective,()=>{r.value.size===0&&o()},{deep:!0});function c(e){r.value.add(e),a.value=null}async function l(){if(r.value.size){i.value=!0,a.value=null;try{let i={};for(let e of r.value)i[e]=n.value[e];let s=await t.patch(i);o();let c=s.restartRequired??[];a.value=c.length?{type:`warning`,text:e(`settings.runtime.restartNotice`,{keys:c.join(`, `)})}:{type:`success`,text:e(`settings.runtime.savedLive`)}}catch(e){let t=e;a.value={type:`error`,text:t?.response?.data?.message||t?.message||String(e)}}finally{i.value=!1}}}async function u(i){try{await t.patch({[i]:null}),r.value.delete(i),n.value[i]=t.effective[i],a.value={type:`success`,text:e(`settings.runtime.keyReset`,{key:i})}}catch(e){let t=e;a.value={type:`error`,text:t?.response?.data?.message||t?.message||String(e)}}}async function d(){try{await t.resetAll(),o(),a.value={type:`success`,text:e(`settings.runtime.resetAllDone`)}}catch(e){let t=e;a.value={type:`error`,text:t?.response?.data?.message||t?.message||String(e)}}}return{draft:n,dirtyKeys:r,savingRuntime:i,runtimeNotice:a,syncRuntimeDraft:o,markDirty:c,saveRuntime:l,resetRuntimeKey:u,resetAllRuntime:d}}var Y=Symbol(`aw.settings.runtimeConfigDraft`);function Se(){let e=xe();return l(Y,e),e}function Ce(){let e=c(Y);if(!e)throw Error(`[settings] useRuntimeConfigDraftContext: 缺少 provideRuntimeConfigDraft()`);return e}function we(){let{t:e}=M(),t=R(),n=z(),r={server:`settings.runtime.groupServer`,app:`settings.runtime.groupApp`,api:`settings.runtime.groupApi`,theme:`settings.runtime.groupTheme`,i18n:`settings.runtime.groupI18n`,security:`settings.runtime.groupSecurity`,daq:`settings.runtime.groupDaq`,memory:`settings.runtime.groupMemory`,omp:`settings.runtime.groupOmp`,harness:`settings.runtime.groupHarness`,dcw:`settings.runtime.groupDcw`,workshop:`settings.runtime.groupWorkshop`,backup:`settings.runtime.groupBackup`,retention:`settings.runtime.groupRetention`,log:`settings.runtime.groupLog`,plugins:`settings.runtime.groupPlugins`};function a(t){if(t.labelKey&&e(t.labelKey)!==t.labelKey)return e(t.labelKey);if(t.label&&t.label!==t.id)return t.label;let n=r[t.id];return n?e(n):t.label||t.id}function o(t){return t.source===`plugin`?t.plugin?`${e(`settings.groups.srcPlugin`)}: ${t.plugin}`:e(`settings.groups.srcPlugin`):t.source===`user`?e(`settings.groups.srcUser`):e(`settings.groups.srcBuiltin`)}function c(e){return e===`runtime`?`src-runtime`:e===`env`?`src-env`:`src-yaml`}function l(t){let n=t.labelKey;return n&&e(n)!==n?e(n):t.label}let d=`aw.settings.groups.collapsed`,f=s({});function p(){try{f.value=JSON.parse(localStorage.getItem(d)??`{}`)??{}}catch{f.value={}}}function m(){try{localStorage.setItem(d,JSON.stringify(f.value))}catch{}}function g(e){let t=f.value[e.id];return t===void 0?e.collapsed:t}function _(e){e.collapsible&&(f.value={...f.value,[e.id]:!g(e)},m())}function v(){let e=n.groups.filter(e=>e.collapsible),t=e.some(e=>!g(e)),r={...f.value};for(let n of e)r[n.id]=t;f.value=r,m()}let y=h(()=>n.groups.filter(e=>e.collapsible).some(e=>!g(e))),b=h(()=>t.isAdmin),x=s(!1),S=i({label:``,description:``,collapsed:!1}),C=s(``),w=s(``),T=s(``);async function E(){if(S.label.trim()){C.value=`create`;try{await n.createGroup({label:S.label.trim(),description:S.description.trim(),collapsed:S.collapsed}),x.value=!1,S.label=``,S.description=``,S.collapsed=!1,N.success(e(`settings.groups.created`))}catch(t){N.error(V(t,e(`settings.groups.createFail`)))}finally{C.value=``}}}function D(e){w.value=e.id,T.value=e.label}async function O(t){let r=T.value.trim();if(w.value=``,r){C.value=t;try{await n.updateGroup(t,{label:r}),N.success(e(`settings.groups.renamed`))}catch(t){N.error(V(t,e(`settings.groups.updateFail`)))}finally{C.value=``}}}async function k(t,r){let i=[...n.groups],a=i.findIndex(e=>e.id===t),o=a+r;if(a<0||o<0||o>=i.length)return;let s=i[a],c=i[o];C.value=t;try{let e=[...i];e.splice(a,1),e.splice(o,0,s);let t=(o+1)*10,r=(a+1)*10;await n.updateGroup(s.id,{order:t}),await n.updateGroup(c.id,{order:r})}catch(t){N.error(V(t,e(`settings.groups.updateFail`)))}finally{C.value=``}}async function A(t){C.value=t.id;try{await n.updateGroup(t.id,{collapsed:!t.collapsed})}catch(t){N.error(V(t,e(`settings.groups.updateFail`)))}finally{C.value=``}}async function j(t){let r=t.fieldCount??0;if(r>0){N.warning(e(`settings.groups.deleteHasFields`,{p0:a(t),p1:r}));return}C.value=t.id;try{await n.deleteGroup(t.id),N.success(e(`settings.groups.deleted`))}catch(t){N.error(V(t,e(`settings.groups.deleteFail`)))}finally{C.value=``}}return u(p),{groupLabel:a,groupSourceBadge:o,sourceClass:c,itemLabel:l,groupCollapsed:f,loadCollapsePref:p,saveCollapsePref:m,isCollapsed:g,toggleGroup:_,toggleAllGroups:v,allExpanded:y,isAdmin:b,groupFormOpen:x,groupForm:S,groupBusy:C,renamingId:w,renameDraft:T,submitGroupForm:E,startRename:D,commitRename:O,moveGroup:k,setGroupDefaultCollapsed:A,removeGroup:j}}var X=Symbol(`aw.settings.groups`);function Te(){let e=we();return l(X,e),e}function Z(){let e=c(X);if(!e)throw Error(`[settings] useSettingsGroupsContext: 缺少 provideSettingsGroups()`);return e}var Ee={class:`rt-row`},De={class:`rt-main`},Oe={class:`rt-title`},ke={class:`rt-sub`},Ae={class:`rt-ctrl`},je={key:4,class:`rt-color`},Me=[`value`],Ne=[`title`],Pe=Object.assign(B(d({__name:`RuntimeFieldRow`,props:{item:{}},setup(e){let{t:r}=M(),i=z(),{draft:o,markDirty:c,resetRuntimeKey:l}=Ce(),{itemLabel:u,sourceClass:d}=Z(),p=s({}),g=h(()=>(p.value.supportedTimeZones??[`Asia/Shanghai`,`UTC`,`America/Los_Angeles`,`Europe/London`]).map(e=>({label:e,value:e})));return fetch(`/api/system/timezone`).then(e=>e.ok?e.json():{}).then(e=>{p.value=e}),(s,p)=>{let h=re,y=ae,b=P,x=F;return f(),v(`div`,Ee,[_(`div`,De,[_(`div`,Oe,[w(a(t(u)(e.item))+` `,1),_(`span`,{class:n([`rt-tag`,t(d)(t(i).sourceOf(e.item.key))])},a(t(i).sourceOf(e.item.key)),3),_(`span`,{class:n([`rt-tag`,e.item.applies])},a(e.item.applies===`live`?t(r)(`settings.runtime.live`):t(r)(`settings.runtime.restart`)),3)]),_(`div`,ke,a(e.item.description),1)]),_(`div`,Ae,[e.item.type===`number`?(f(),S(h,{key:0,value:t(o)[e.item.key],"onUpdate:value":p[0]||=n=>t(o)[e.item.key]=n,min:e.item.min,max:e.item.max,onChange:p[1]||=n=>t(c)(e.item.key)},null,8,[`value`,`min`,`max`])):e.item.type===`boolean`?(f(),S(y,{key:1,checked:t(o)[e.item.key],"onUpdate:checked":p[2]||=n=>t(o)[e.item.key]=n,onChange:p[3]||=n=>t(c)(e.item.key)},null,8,[`checked`])):e.item.type===`timezone`?(f(),S(b,{key:2,value:t(o)[e.item.key],"onUpdate:value":p[4]||=n=>t(o)[e.item.key]=n,"show-search":``,"option-filter-prop":`label`,style:{width:`260px`},options:t(g),onChange:p[5]||=n=>t(c)(e.item.key)},null,8,[`value`,`options`])):e.item.type===`select`?(f(),S(b,{key:3,value:t(o)[e.item.key],"onUpdate:value":p[6]||=n=>t(o)[e.item.key]=n,style:{width:`160px`},options:(e.item.options??[]).map(e=>({label:e,value:e})),onChange:p[7]||=n=>t(c)(e.item.key)},null,8,[`value`,`options`])):e.item.type===`color`?(f(),v(`span`,je,[_(`input`,{type:`color`,value:String(t(o)[e.item.key]??`#35e0a0`),onInput:p[8]||=n=>{t(o)[e.item.key]=n.target.value,t(c)(e.item.key)}},null,40,Me),m(x,{value:String(t(o)[e.item.key]??``),style:{width:`110px`},class:`aw-mono`,onChange:p[9]||=n=>{t(o)[e.item.key]=n.target.value,t(c)(e.item.key)}},null,8,[`value`])])):(f(),S(x,{key:5,value:t(o)[e.item.key],"onUpdate:value":p[10]||=n=>t(o)[e.item.key]=n,style:{width:`220px`},onChange:p[11]||=n=>t(c)(e.item.key)},null,8,[`value`])),_(`button`,{class:`aw-pill outline rt-reset`,title:t(r)(`settings.runtime.resetKey`),onClick:p[12]||=n=>t(l)(e.item.key)},[...p[13]||=[_(`span`,{class:`i-tabler-rotate`},null,-1)]],8,Ne)])])}}}),[[`__scopeId`,`data-v-03e4daa3`]]),{__name:`SettingsRuntimeFieldRow`}),Fe=[`role`,`tabindex`],Ie={key:3,class:`rt-group-title`},Le={class:`rt-group-badge`},Re={class:`rt-group-fields`},ze={key:4,class:`rt-group-desc`},Be=[`disabled`,`title`],Ve=[`disabled`,`title`],He=[`disabled`,`title`],Ue=[`disabled`,`title`],We=[`disabled`,`title`],Ge={class:`rt-group-body`},Ke={key:0,class:`rt-group-empty`},qe=Object.assign(B(d({__name:`RuntimeGroupSection`,props:{group:{}},setup(e){let{t:r}=M(),i=z(),{groupLabel:s,groupSourceBadge:c,isCollapsed:l,toggleGroup:u,renamingId:d,renameDraft:m,commitRename:h,startRename:g,isAdmin:x,groupBusy:w,moveGroup:k,setGroupDefaultCollapsed:A,removeGroup:j}=Z();return(M,N)=>(f(),v(`section`,{class:n([`rt-group`,{collapsed:t(l)(e.group),"grp-plugin":e.group.source===`plugin`}])},[_(`header`,{class:`rt-group-head`,role:e.group.collapsible?`button`:void 0,tabindex:e.group.collapsible?0:void 0,onClick:N[11]||=n=>t(u)(e.group),onKeydown:[N[12]||=O(E(n=>t(u)(e.group),[`prevent`]),[`enter`]),N[13]||=O(E(n=>t(u)(e.group),[`prevent`]),[`space`])]},[e.group.collapsible?(f(),v(`span`,{key:0,class:n([`rt-caret`,t(l)(e.group)?`i-tabler-chevron-right`:`i-tabler-chevron-down`])},null,2)):b(``,!0),e.group.icon?(f(),v(`span`,{key:1,class:n([`rt-group-icon`,e.group.icon])},null,2)):b(``,!0),t(d)===e.group.id?(f(),v(y,{key:2},[C(_(`input`,{"onUpdate:modelValue":N[0]||=e=>o(m)?m.value=e:null,class:`rt-rename aw-mono`,onClick:N[1]||=E(()=>{},[`stop`]),onKeydown:[N[2]||=O(E(n=>t(h)(e.group.id),[`prevent`]),[`enter`]),N[3]||=O(E(e=>d.value=``,[`prevent`]),[`esc`])]},null,544),[[T,t(m)]]),_(`button`,{class:`mini-btn`,onClick:N[4]||=E(n=>t(h)(e.group.id),[`stop`])},a(t(r)(`settings.groups.ok`)),1)],64)):(f(),v(`h4`,Ie,a(t(s)(e.group)),1)),_(`span`,Le,a(t(c)(e.group)),1),_(`span`,Re,a(t(r)(`settings.groups.fields`,{p0:e.group.fieldCount??0})),1),e.group.description?(f(),v(`span`,ze,a(e.group.description),1)):b(``,!0),t(x)&&e.group.source!==`plugin`?(f(),v(`span`,{key:5,class:`rt-group-ops`,onClick:N[10]||=E(()=>{},[`stop`])},[_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.moveUp`),onClick:N[5]||=n=>t(k)(e.group.id,-1)},[...N[14]||=[_(`span`,{class:`i-tabler-arrow-up`},null,-1)]],8,Be),_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.moveDown`),onClick:N[6]||=n=>t(k)(e.group.id,1)},[...N[15]||=[_(`span`,{class:`i-tabler-arrow-down`},null,-1)]],8,Ve),_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.rename`),onClick:N[7]||=n=>t(g)(e.group)},[...N[16]||=[_(`span`,{class:`i-tabler-pencil`},null,-1)]],8,He),_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.defaultCollapsed`),onClick:N[8]||=n=>t(A)(e.group)},[_(`span`,{class:n(e.group.collapsed?`i-tabler-chevrons-down`:`i-tabler-chevrons-up`)},null,2)],8,Ue),e.group.source===`user`?(f(),v(`button`,{key:0,class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.delete`),onClick:N[9]||=n=>t(j)(e.group)},[...N[17]||=[_(`span`,{class:`i-tabler-trash`},null,-1)]],8,We)):b(``,!0)])):b(``,!0)],40,Fe),C(_(`div`,Ge,[e.group.fieldCount??0?b(``,!0):(f(),v(`p`,Ke,a(t(r)(`settings.groups.emptyHint`)),1)),(f(!0),v(y,null,p(t(i).fieldsOf(e.group.id),e=>(f(),S(Pe,{key:e.key,item:e},null,8,[`item`]))),128))],512),[[D,!t(l)(e.group)]])],2))}}),[[`__scopeId`,`data-v-2f40d8db`]]),{__name:`SettingsRuntimeGroupSection`});function Je(e){let{t}=M(),n=R(),r=H(),i=s([]),a=s(!1),o=s(!1),c=s(new Set),l=s({}),u=e=>(e.routes??[]).some(e=>String(e.path||``).endsWith(`/health`));async function d(){a.value=!0;try{let e=await r.listPlugins(),t=e?.plugins??e?.data?.plugins??[];i.value=Array.isArray(t)?t:[],o.value=!0}catch(e){N.error(V(e,t(`plugins.loadFail`)))}finally{a.value=!1}}async function f(e,n){if(!c.value.has(e.name)){c.value.add(e.name);try{n?await r.enablePlugin(e.name):await r.disablePlugin(e.name),e.enabled=n,N.success(t(n?`plugins.enabled`:`plugins.disabled`))}catch(e){N.error(V(e,t(`plugins.adminRequired`)))}finally{c.value.delete(e.name)}}}async function p(e){if(u(e)){l.value={...l.value,[e.name]:`checking`};try{let t=await r.pluginHealth(e.name);l.value={...l.value,[e.name]:m(e.name,t)}}catch(n){l.value={...l.value,[e.name]:{ok:!1,reason:V(n,t(`plugins.loadFail`))}}}}}function m(e,t){if(e===`rag-bridge`){let e=t.backend,n=t.web,r=!!e?.ok&&!!n?.ok,i=e?.ok?n?.error||n?.status||`web`:e?.error||e?.status||`backend`;return r?{ok:!0}:{ok:!1,reason:i}}if(e===`diag-bridge`){let e=t.remote;return e?.status===`ok`?{ok:!0}:{ok:!1,reason:e?.status||`remote`}}return{ok:!0}}function h(e){return l.value[e]===`checking`}function _(e){let t=l.value[e];return t&&t!==`checking`?t:null}function v(e){return c.value.has(e)}return g(e,e=>{e===`runtime`&&!o.value&&!a.value&&n.isLoggedIn&&d()},{immediate:!0}),{plugins:i,pluginsLoading:a,pluginsLoaded:o,togglingPlugins:c,healthMap:l,hasHealthRoute:u,loadPlugins:d,togglePlugin:f,checkPluginHealth:p,judgePluginHealth:m,isCheckingHealth:h,healthOf:_,isToggling:v}}var Q=Symbol(`aw.settings.pluginAdmin`);function Ye(e){let t=Je(e);return l(Q,t),t}function Xe(){let e=c(Q);if(!e)throw Error(`[settings] usePluginAdminContext: 缺少 providePluginAdmin()`);return e}var Ze={key:0,class:`identity-note`},Qe={class:`plugin-main`},$e={class:`rt-title`},et={class:`aw-mono`},tt={key:0,class:`rt-tag`},nt={key:1,class:`rt-tag src-runtime`},rt={key:2,class:`rt-tag restart`},it={class:`rt-sub`},at={class:`rt-ctrl`},ot={key:0,class:`plugin-health faint`},st=[`onClick`],ct=[`aria-checked`,`disabled`,`onClick`],lt={key:0,class:`identity-note`},ut=Object.assign(B(d({__name:`PluginsSection`,setup(e){let{t:r}=M(),i=R(),{plugins:o,pluginsLoading:s,hasHealthRoute:c,checkPluginHealth:l,isCheckingHealth:u,healthOf:d,isToggling:m,togglePlugin:h}=Xe();return(e,g)=>{let C=ie;return t(i).isLoggedIn?(f(),S(C,{key:1,spinning:t(s)},{default:x(()=>[(f(!0),v(y,null,p(t(o),e=>(f(),v(`div`,{key:e.name,class:n([`plugin-row`,{off:e.enabled===!1}])},[_(`div`,Qe,[_(`div`,$e,[_(`span`,et,a(e.name),1),e.version?(f(),v(`span`,tt,`v`+a(e.version),1)):b(``,!0),e.builtin?(f(),v(`span`,nt,a(t(r)(`plugins.builtin`)),1)):b(``,!0),e.error?(f(),v(`span`,rt,a(e.error),1)):b(``,!0)]),_(`div`,it,a(e.description||`—`),1)]),_(`div`,at,[t(u)(e.name)?(f(),v(`span`,ot,[g[0]||=_(`span`,{class:`i-tabler-loader-2 spin`},null,-1),w(` `+a(t(r)(`plugins.healthChecking`)),1)])):t(d)(e.name)?(f(),v(`span`,{key:1,class:n([`plugin-health`,t(d)(e.name).ok?`ok`:`bad`])},[_(`span`,{class:n(t(d)(e.name).ok?`i-tabler-circle-check`:`i-tabler-alert-circle`)},null,2),w(` `+a(t(d)(e.name).ok?t(r)(`plugins.healthOk`):`${t(r)(`plugins.healthBad`)}: ${t(d)(e.name).reason??``}`),1)],2)):b(``,!0),t(c)(e)?(f(),v(`button`,{key:2,class:`aw-pill outline rt-reset`,onClick:n=>t(l)(e)},[g[1]||=_(`span`,{class:`i-tabler-heartbeat`},null,-1),w(` `+a(t(r)(`plugins.healthCheck`)),1)],8,st)):b(``,!0),_(`button`,{class:n([`switch`,{on:e.enabled!==!1}]),role:`switch`,"aria-checked":e.enabled!==!1,disabled:t(m)(e.name),onClick:n=>t(h)(e,e.enabled===!1)},[...g[2]||=[_(`span`,{class:`knob`},null,-1)]],10,ct)])],2))),128)),t(o).length===0&&!t(s)?(f(),v(`div`,lt,a(t(r)(`plugins.empty`)),1)):b(``,!0)]),_:1},8,[`spinning`])):(f(),v(`div`,Ze,a(t(r)(`plugins.needLogin`)),1))}}}),[[`__scopeId`,`data-v-c4c10ede`]]),{__name:`SettingsPluginsSection`}),dt={class:`section-title`},ft={class:`section-desc`},pt={class:`rt-groups-bar`},mt=[`title`],ht={class:`rt-groups-count`},gt={key:1,class:`rt-group-form`},_t=[`disabled`],vt={class:`rt-actions`},yt=[`disabled`],bt={class:`rt-path aw-mono`},xt={class:`rt-group-title plugin-group-title`},St={class:`section-desc`},Ct=Object.assign(B(d({__name:`RuntimePane`,props:{activeTab:{}},setup(e){let r=e,{t:i}=M(),o=z(),{runtimeNotice:s,dirtyKeys:c,savingRuntime:l,saveRuntime:u,resetAllRuntime:d}=Se(),{allExpanded:g,groupFormOpen:T,groupForm:E,groupBusy:O,isAdmin:k,submitGroupForm:A,toggleAllGroups:j}=Te(),{plugins:N}=Ye(h(()=>r.activeTab));return(r,h)=>{let M=ee,P=F,I=te,L=U;return C((f(),v(`div`,null,[_(`h3`,dt,a(t(i)(`settings.runtimeTab`)),1),_(`p`,ft,a(t(i)(`settings.runtime.desc`)),1),t(s)?(f(),S(M,{key:0,type:t(s).type,"show-icon":``,class:`rt-notice`,message:t(s).text},null,8,[`type`,`message`])):b(``,!0),_(`div`,pt,[_(`button`,{class:`aw-pill outline rt-groups-toggle`,title:t(i)(`settings.groups.toggleAll`),onClick:h[0]||=(...e)=>t(j)&&t(j)(...e)},[_(`span`,{class:n(t(g)?`i-tabler-chevrons-up`:`i-tabler-chevrons-down`)},null,2),w(` `+a(t(g)?t(i)(`settings.groups.collapseAll`):t(i)(`settings.groups.expandAll`)),1)],8,mt),_(`span`,ht,a(t(i)(`settings.groups.count`,{p0:t(o).groups.length})),1),t(k)?(f(),v(`button`,{key:0,class:`aw-pill outline rt-groups-add`,onClick:h[1]||=e=>T.value=!t(T)},[h[9]||=_(`span`,{class:`i-tabler-plus`},null,-1),w(` `+a(t(i)(`settings.groups.newGroup`)),1)])):b(``,!0)]),t(k)&&t(T)?(f(),v(`div`,gt,[m(P,{value:t(E).label,"onUpdate:value":h[2]||=e=>t(E).label=e,placeholder:t(i)(`settings.groups.namePlaceholder`),style:{width:`220px`},onPressEnter:t(A)},null,8,[`value`,`placeholder`,`onPressEnter`]),m(P,{value:t(E).description,"onUpdate:value":h[3]||=e=>t(E).description=e,placeholder:t(i)(`settings.groups.descPlaceholder`),style:{width:`320px`},onPressEnter:t(A)},null,8,[`value`,`placeholder`,`onPressEnter`]),m(I,{checked:t(E).collapsed,"onUpdate:checked":h[4]||=e=>t(E).collapsed=e},{default:x(()=>[w(a(t(i)(`settings.groups.defaultCollapsed`)),1)]),_:1},8,[`checked`]),_(`button`,{class:`aw-pill primary`,disabled:!t(E).label.trim()||t(O)===`create`,onClick:h[5]||=(...e)=>t(A)&&t(A)(...e)},a(t(O)===`create`?`…`:t(i)(`settings.groups.create`)),9,_t),_(`button`,{class:`aw-pill outline`,onClick:h[6]||=e=>T.value=!1},a(t(i)(`settings.groups.cancel`)),1)])):b(``,!0),(f(!0),v(y,null,p(t(o).groups,e=>(f(),S(qe,{key:e.id,group:e},null,8,[`group`]))),128)),_(`div`,vt,[_(`button`,{class:`aw-pill primary`,disabled:!t(c).size||t(l),onClick:h[7]||=(...e)=>t(u)&&t(u)(...e)},[h[10]||=_(`span`,{class:`i-tabler-device-floppy`},null,-1),w(` `+a(t(l)?`…`:t(i)(`settings.runtime.save`)),1)],8,yt),_(`button`,{class:`aw-pill outline`,onClick:h[8]||=(...e)=>t(d)&&t(d)(...e)},a(t(i)(`settings.runtime.resetAll`)),1),_(`span`,bt,a(t(o).settingsPath),1)]),_(`h4`,xt,a(t(i)(`plugins.title`)),1),_(`p`,St,a(t(i)(`plugins.desc`)),1),m(ut),t(N).length?(f(),S(L,{key:2,"slot-name":`settings.plugins`})):b(``,!0)],512)),[[D,e.activeTab===`runtime`]])}}}),[[`__scopeId`,`data-v-6a6f35be`]]),{__name:`SettingsRuntimePane`}),wt={class:`section-title`},Tt={class:`section-desc`},Et={class:`aw-mono`},$={class:`identity-note`},Dt=Object.assign(B(d({__name:`SystemPane`,props:{activeTab:{}},setup(n){let{t:r,locale:i}=M(),o=A(),s=e().public,c=R(),l=String(s.primaryColor),u=h(()=>[{label:r(`home.fields.name`),value:o.name},{label:r(`home.fields.version`),value:`v${o.version}`},{label:r(`home.fields.mode`),value:o.mode},{label:r(`home.fields.apiBase`),value:`${o.apiBase} (${s.apiTimeout}ms)`},{label:r(`home.fields.primary`),value:l},{label:`i18n`,value:i.value}]);return(e,i)=>{let o=L,s=ne;return C((f(),v(`div`,null,[_(`h3`,wt,a(t(r)(`settings.systemTab`)),1),_(`p`,Tt,a(t(r)(`settings.systemDesc`)),1),m(s,{bordered:``,column:1,size:`small`},{default:x(()=>[(f(!0),v(y,null,p(t(u),e=>(f(),S(o,{key:e.label,label:e.label},{default:x(()=>[_(`span`,Et,a(e.value),1)]),_:2},1032,[`label`]))),128))]),_:1}),_(`p`,$,a(t(c).isLoggedIn?`${t(r)(`settings.identity`)}: ${t(c).user?.name} (${t(c).user?.role})`:t(r)(`settings.identityGuest`)),1)],512)),[[D,n.activeTab===`system`]])}}}),[[`__scopeId`,`data-v-4d2a2989`]]),{__name:`SettingsSystemPane`}),Ot={class:`settings-page`},kt={class:`aw-page-head`},At={class:`aw-kicker`},jt={class:`aw-stamp`},Mt={class:`settings-layout`},Nt={class:`settings-nav`},Pt=[`onClick`],Ft={class:`settings-body`},It=B(d({__name:`settings`,setup(e){let{t:r}=M(),i=A(),o=s(`appearance`),c=h(()=>[{key:`appearance`,icon:`i-tabler-palette`,label:r(`settings.theme`)},{key:`runtime`,icon:`i-tabler-settings`,label:r(`settings.runtimeTab`)},{key:`system`,icon:`i-tabler-server-2`,label:r(`settings.systemTab`)}]);return(e,s)=>{let l=I;return f(),v(`div`,Ot,[_(`div`,kt,[_(`div`,null,[_(`p`,At,a(t(r)(`menu.system`))+` / settings `,1),_(`h1`,null,a(t(r)(`settings.title`)),1)]),_(`span`,jt,`v`+a(t(i).version),1)]),m(l,{bordered:!1,class:`settings-card`},{default:x(()=>[_(`div`,Mt,[_(`div`,Nt,[(f(!0),v(y,null,p(t(c),e=>(f(),v(`button`,{key:e.key,class:n([`nav-item`,{active:t(o)===e.key}]),onClick:t=>o.value=e.key},[_(`span`,{class:n(e.icon)},null,2),_(`span`,null,a(e.label),1)],10,Pt))),128))]),_(`div`,Ft,[m(be,{"active-tab":t(o)},null,8,[`active-tab`]),m(Ct,{"active-tab":t(o)},null,8,[`active-tab`]),m(Dt,{"active-tab":t(o)},null,8,[`active-tab`])])])]),_:1})])}}}),[[`__scopeId`,`data-v-672ae7d7`]]);export{It as default};
1
+ import{o as e}from"./BMMoqi94.js";import{N as t,dt as n,ft as r,g as i,mt as a,u as o,v as s}from"./CavpkQb0.js";import{D as c,H as l,R as u,S as d,V as f,W as p,b as m,d as h,et as g,f as _,h as v,i as y,m as b,nt as x,p as S,rt as C,y as w}from"./ByMj6e7s.js";import{c as T,d as E,l as D,u as O}from"./Dqz5HiXa.js";import{n as k,t as A}from"./BgnhB8r5.js";import{t as j}from"./S799kNo8.js";import{n as M}from"./Cnrmlixo.js";import{a as N}from"./wDPc4SSR.js";import{t as P}from"./eutnXI4F.js";import{t as F}from"./CAaSPBqk.js";import{t as ee}from"./Bwc6lt2X.js";import{t as I}from"./CzlUIbK32.js";import{t as te}from"./Yv9YItEX2.js";import{n as L,t as ne}from"./DVKXGuMz2.js";import{t as re}from"./CD9lpEz22.js";import{t as ie}from"./DzBbYWrw2.js";import{t as ae}from"./DqtnqNgL2.js";import{t as R}from"./CI2yXRr42.js";import{t as z}from"./DTxfFIvL2.js";import{t as B}from"./BDNMzG2s2.js";import{t as V}from"./JgheoP3e.js";import{t as H}from"./8oRmGaAV.js";import{t as U}from"./C4sQKuhk2.js";var W={class:`section-title`},G={class:`section-desc`},K={class:`set-row`},q={class:`set-text`},J={class:`set-title`},oe={class:`set-sub`},se={class:`color-swatches`},ce=[`title`,`onClick`],le={class:`swatch-label`},ue={key:0,class:`i-tabler-check swatch-check`},de={class:`toggle-row`},fe={class:`set-text`},pe={class:`set-title`},me={class:`set-sub`},he=[`aria-checked`],ge={class:`toggle-row`},_e={class:`set-text`},ve={class:`set-title`},ye={class:`set-sub`},be=Object.assign(B(d({__name:`AppearancePane`,props:{activeTab:{}},setup(i){let o=k(),s=e().public,{t:c,locale:l,locales:u,setLocale:d}=M(),g=String(s.primaryColor),x=[{value:g,label:c(`settings.accentInk`)},{value:`#c9963f`,label:c(`settings.accentStone`)},{value:`#44615a`,label:c(`settings.accentMoss`)},{value:`#3f6094`,label:c(`settings.accentSlate`)},{value:`#6b5aa0`,label:c(`settings.accentPlum`)},{value:`#9c5744`,label:c(`settings.accentClay`)}],S=h(()=>o.accent??g);function T(e){o.setAccent(e===g?null:e),N.success(c(`settings.accentApplied`))}function E(){o.setAccent(null),N.success(c(`settings.accentReset`))}let O=h(()=>u.value.map(e=>({label:e.name,value:e.code}))),A=e=>{e!=null&&(j(`aw.locale`,{maxAge:31536e3}).value=String(e),localStorage.setItem(`aw.locale`,String(e)),d(String(e)),window.location.reload())};return(e,s)=>{let u=P;return C((f(),v(`div`,null,[_(`h3`,W,a(t(c)(`settings.theme`)),1),_(`p`,G,a(t(c)(`settings.appearanceDesc`)),1),_(`div`,K,[_(`div`,q,[_(`div`,J,a(t(c)(`settings.primaryColor`)),1),_(`div`,oe,a(t(c)(`settings.accentDesc`)),1)])]),_(`div`,se,[(f(),v(y,null,p(x,e=>_(`button`,{key:e.value,class:n([`swatch`,{on:t(S).toLowerCase()===e.value.toLowerCase()}]),style:r({"--sw":e.value}),title:e.label,onClick:t=>T(e.value)},[s[1]||=_(`span`,{class:`swatch-dot`},null,-1),_(`span`,le,a(e.label),1),t(S).toLowerCase()===e.value.toLowerCase()?(f(),v(`span`,ue)):b(``,!0)],14,ce)),64))]),_(`button`,{class:`aw-pill outline reset-btn`,onClick:E},[s[2]||=_(`span`,{class:`i-tabler-rotate`},null,-1),w(` `+a(t(c)(`settings.accentResetAction`)),1)]),_(`div`,de,[_(`div`,fe,[_(`div`,pe,a(t(o).isDark?t(c)(`common.dark`):t(c)(`common.light`)),1),_(`div`,me,a(t(c)(`settings.darkDesc`)),1)]),_(`button`,{class:n([`switch`,{on:t(o).isDark}]),role:`switch`,"aria-checked":t(o).isDark,onClick:s[0]||=e=>t(o).toggleDark()},[...s[3]||=[_(`span`,{class:`knob`},null,-1)]],10,he)]),_(`div`,ge,[_(`div`,_e,[_(`div`,ve,a(t(c)(`header.language`)),1),_(`div`,ye,a(t(c)(`settings.languageDesc`)),1)]),m(u,{value:t(l),options:t(O),style:{width:`140px`},onChange:A},null,8,[`value`,`options`])])],512)),[[D,i.activeTab===`appearance`]])}}}),[[`__scopeId`,`data-v-79352bd2`]]),{__name:`SettingsAppearancePane`});function xe(){let{t:e}=M(),t=z(),n=s({}),r=s(new Set),i=s(!1),a=s(null);function o(){n.value={...t.effective},r.value=new Set}g(()=>t.loaded,e=>{e&&o()},{immediate:!0}),g(()=>t.effective,()=>{r.value.size===0&&o()},{deep:!0});function c(e){r.value.add(e),a.value=null}async function l(){if(r.value.size){i.value=!0,a.value=null;try{let i={};for(let e of r.value)i[e]=n.value[e];let s=await t.patch(i);o();let c=s.restartRequired??[];a.value=c.length?{type:`warning`,text:e(`settings.runtime.restartNotice`,{keys:c.join(`, `)})}:{type:`success`,text:e(`settings.runtime.savedLive`)}}catch(e){let t=e;a.value={type:`error`,text:t?.response?.data?.message||t?.message||String(e)}}finally{i.value=!1}}}async function u(i){try{await t.patch({[i]:null}),r.value.delete(i),n.value[i]=t.effective[i],a.value={type:`success`,text:e(`settings.runtime.keyReset`,{key:i})}}catch(e){let t=e;a.value={type:`error`,text:t?.response?.data?.message||t?.message||String(e)}}}async function d(){try{await t.resetAll(),o(),a.value={type:`success`,text:e(`settings.runtime.resetAllDone`)}}catch(e){let t=e;a.value={type:`error`,text:t?.response?.data?.message||t?.message||String(e)}}}return{draft:n,dirtyKeys:r,savingRuntime:i,runtimeNotice:a,syncRuntimeDraft:o,markDirty:c,saveRuntime:l,resetRuntimeKey:u,resetAllRuntime:d}}var Y=Symbol(`aw.settings.runtimeConfigDraft`);function Se(){let e=xe();return l(Y,e),e}function Ce(){let e=c(Y);if(!e)throw Error(`[settings] useRuntimeConfigDraftContext: 缺少 provideRuntimeConfigDraft()`);return e}function we(){let{t:e}=M(),t=R(),n=z(),r={server:`settings.runtime.groupServer`,app:`settings.runtime.groupApp`,api:`settings.runtime.groupApi`,theme:`settings.runtime.groupTheme`,i18n:`settings.runtime.groupI18n`,security:`settings.runtime.groupSecurity`,daq:`settings.runtime.groupDaq`,memory:`settings.runtime.groupMemory`,omp:`settings.runtime.groupOmp`,harness:`settings.runtime.groupHarness`,dcw:`settings.runtime.groupDcw`,workshop:`settings.runtime.groupWorkshop`,backup:`settings.runtime.groupBackup`,retention:`settings.runtime.groupRetention`,log:`settings.runtime.groupLog`,plugins:`settings.runtime.groupPlugins`};function a(t){if(t.labelKey&&e(t.labelKey)!==t.labelKey)return e(t.labelKey);if(t.label&&t.label!==t.id)return t.label;let n=r[t.id];return n?e(n):t.label||t.id}function o(t){return t.source===`plugin`?t.plugin?`${e(`settings.groups.srcPlugin`)}: ${t.plugin}`:e(`settings.groups.srcPlugin`):t.source===`user`?e(`settings.groups.srcUser`):e(`settings.groups.srcBuiltin`)}function c(e){return e===`runtime`?`src-runtime`:e===`env`?`src-env`:`src-yaml`}function l(t){let n=t.labelKey;return n&&e(n)!==n?e(n):t.label}let d=`aw.settings.groups.collapsed`,f=s({});function p(){try{f.value=JSON.parse(localStorage.getItem(d)??`{}`)??{}}catch{f.value={}}}function m(){try{localStorage.setItem(d,JSON.stringify(f.value))}catch{}}function g(e){let t=f.value[e.id];return t===void 0?e.collapsed:t}function _(e){e.collapsible&&(f.value={...f.value,[e.id]:!g(e)},m())}function v(){let e=n.groups.filter(e=>e.collapsible),t=e.some(e=>!g(e)),r={...f.value};for(let n of e)r[n.id]=t;f.value=r,m()}let y=h(()=>n.groups.filter(e=>e.collapsible).some(e=>!g(e))),b=h(()=>t.isAdmin),x=s(!1),S=i({label:``,description:``,collapsed:!1}),C=s(``),w=s(``),T=s(``);async function E(){if(S.label.trim()){C.value=`create`;try{await n.createGroup({label:S.label.trim(),description:S.description.trim(),collapsed:S.collapsed}),x.value=!1,S.label=``,S.description=``,S.collapsed=!1,N.success(e(`settings.groups.created`))}catch(t){N.error(V(t,e(`settings.groups.createFail`)))}finally{C.value=``}}}function D(e){w.value=e.id,T.value=e.label}async function O(t){let r=T.value.trim();if(w.value=``,r){C.value=t;try{await n.updateGroup(t,{label:r}),N.success(e(`settings.groups.renamed`))}catch(t){N.error(V(t,e(`settings.groups.updateFail`)))}finally{C.value=``}}}async function k(t,r){let i=[...n.groups],a=i.findIndex(e=>e.id===t),o=a+r;if(a<0||o<0||o>=i.length)return;let s=i[a],c=i[o];C.value=t;try{let e=[...i];e.splice(a,1),e.splice(o,0,s);let t=(o+1)*10,r=(a+1)*10;await n.updateGroup(s.id,{order:t}),await n.updateGroup(c.id,{order:r})}catch(t){N.error(V(t,e(`settings.groups.updateFail`)))}finally{C.value=``}}async function A(t){C.value=t.id;try{await n.updateGroup(t.id,{collapsed:!t.collapsed})}catch(t){N.error(V(t,e(`settings.groups.updateFail`)))}finally{C.value=``}}async function j(t){let r=t.fieldCount??0;if(r>0){N.warning(e(`settings.groups.deleteHasFields`,{p0:a(t),p1:r}));return}C.value=t.id;try{await n.deleteGroup(t.id),N.success(e(`settings.groups.deleted`))}catch(t){N.error(V(t,e(`settings.groups.deleteFail`)))}finally{C.value=``}}return u(p),{groupLabel:a,groupSourceBadge:o,sourceClass:c,itemLabel:l,groupCollapsed:f,loadCollapsePref:p,saveCollapsePref:m,isCollapsed:g,toggleGroup:_,toggleAllGroups:v,allExpanded:y,isAdmin:b,groupFormOpen:x,groupForm:S,groupBusy:C,renamingId:w,renameDraft:T,submitGroupForm:E,startRename:D,commitRename:O,moveGroup:k,setGroupDefaultCollapsed:A,removeGroup:j}}var X=Symbol(`aw.settings.groups`);function Te(){let e=we();return l(X,e),e}function Z(){let e=c(X);if(!e)throw Error(`[settings] useSettingsGroupsContext: 缺少 provideSettingsGroups()`);return e}var Ee={class:`rt-row`},De={class:`rt-main`},Oe={class:`rt-title`},ke={class:`rt-sub`},Ae={class:`rt-ctrl`},je={key:4,class:`rt-color`},Me=[`value`],Ne=[`title`],Pe=Object.assign(B(d({__name:`RuntimeFieldRow`,props:{item:{}},setup(e){let{t:r}=M(),i=z(),{draft:o,markDirty:c,resetRuntimeKey:l}=Ce(),{itemLabel:u,sourceClass:d}=Z(),p=s({}),g=h(()=>(p.value.supportedTimeZones??[`Asia/Shanghai`,`UTC`,`America/Los_Angeles`,`Europe/London`]).map(e=>({label:e,value:e})));return fetch(`/api/system/timezone`).then(e=>e.ok?e.json():{}).then(e=>{p.value=e}),(s,p)=>{let h=re,y=ae,b=P,x=F;return f(),v(`div`,Ee,[_(`div`,De,[_(`div`,Oe,[w(a(t(u)(e.item))+` `,1),_(`span`,{class:n([`rt-tag`,t(d)(t(i).sourceOf(e.item.key))])},a(t(i).sourceOf(e.item.key)),3),_(`span`,{class:n([`rt-tag`,e.item.applies])},a(e.item.applies===`live`?t(r)(`settings.runtime.live`):t(r)(`settings.runtime.restart`)),3)]),_(`div`,ke,a(e.item.description),1)]),_(`div`,Ae,[e.item.type===`number`?(f(),S(h,{key:0,value:t(o)[e.item.key],"onUpdate:value":p[0]||=n=>t(o)[e.item.key]=n,min:e.item.min,max:e.item.max,onChange:p[1]||=n=>t(c)(e.item.key)},null,8,[`value`,`min`,`max`])):e.item.type===`boolean`?(f(),S(y,{key:1,checked:t(o)[e.item.key],"onUpdate:checked":p[2]||=n=>t(o)[e.item.key]=n,onChange:p[3]||=n=>t(c)(e.item.key)},null,8,[`checked`])):e.item.type===`timezone`?(f(),S(b,{key:2,value:t(o)[e.item.key],"onUpdate:value":p[4]||=n=>t(o)[e.item.key]=n,"show-search":``,"option-filter-prop":`label`,style:{width:`260px`},options:t(g),onChange:p[5]||=n=>t(c)(e.item.key)},null,8,[`value`,`options`])):e.item.type===`select`?(f(),S(b,{key:3,value:t(o)[e.item.key],"onUpdate:value":p[6]||=n=>t(o)[e.item.key]=n,style:{width:`160px`},options:(e.item.options??[]).map(e=>({label:e,value:e})),onChange:p[7]||=n=>t(c)(e.item.key)},null,8,[`value`,`options`])):e.item.type===`color`?(f(),v(`span`,je,[_(`input`,{type:`color`,value:String(t(o)[e.item.key]??`#35e0a0`),onInput:p[8]||=n=>{t(o)[e.item.key]=n.target.value,t(c)(e.item.key)}},null,40,Me),m(x,{value:String(t(o)[e.item.key]??``),style:{width:`110px`},class:`aw-mono`,onChange:p[9]||=n=>{t(o)[e.item.key]=n.target.value,t(c)(e.item.key)}},null,8,[`value`])])):(f(),S(x,{key:5,value:t(o)[e.item.key],"onUpdate:value":p[10]||=n=>t(o)[e.item.key]=n,style:{width:`220px`},onChange:p[11]||=n=>t(c)(e.item.key)},null,8,[`value`])),_(`button`,{class:`aw-pill outline rt-reset`,title:t(r)(`settings.runtime.resetKey`),onClick:p[12]||=n=>t(l)(e.item.key)},[...p[13]||=[_(`span`,{class:`i-tabler-rotate`},null,-1)]],8,Ne)])])}}}),[[`__scopeId`,`data-v-03e4daa3`]]),{__name:`SettingsRuntimeFieldRow`}),Fe=[`role`,`tabindex`],Ie={key:3,class:`rt-group-title`},Le={class:`rt-group-badge`},Re={class:`rt-group-fields`},ze={key:4,class:`rt-group-desc`},Be=[`disabled`,`title`],Ve=[`disabled`,`title`],He=[`disabled`,`title`],Ue=[`disabled`,`title`],We=[`disabled`,`title`],Ge={class:`rt-group-body`},Ke={key:0,class:`rt-group-empty`},qe=Object.assign(B(d({__name:`RuntimeGroupSection`,props:{group:{}},setup(e){let{t:r}=M(),i=z(),{groupLabel:s,groupSourceBadge:c,isCollapsed:l,toggleGroup:u,renamingId:d,renameDraft:m,commitRename:h,startRename:g,isAdmin:x,groupBusy:w,moveGroup:k,setGroupDefaultCollapsed:A,removeGroup:j}=Z();return(M,N)=>(f(),v(`section`,{class:n([`rt-group`,{collapsed:t(l)(e.group),"grp-plugin":e.group.source===`plugin`}])},[_(`header`,{class:`rt-group-head`,role:e.group.collapsible?`button`:void 0,tabindex:e.group.collapsible?0:void 0,onClick:N[11]||=n=>t(u)(e.group),onKeydown:[N[12]||=O(E(n=>t(u)(e.group),[`prevent`]),[`enter`]),N[13]||=O(E(n=>t(u)(e.group),[`prevent`]),[`space`])]},[e.group.collapsible?(f(),v(`span`,{key:0,class:n([`rt-caret`,t(l)(e.group)?`i-tabler-chevron-right`:`i-tabler-chevron-down`])},null,2)):b(``,!0),e.group.icon?(f(),v(`span`,{key:1,class:n([`rt-group-icon`,e.group.icon])},null,2)):b(``,!0),t(d)===e.group.id?(f(),v(y,{key:2},[C(_(`input`,{"onUpdate:modelValue":N[0]||=e=>o(m)?m.value=e:null,class:`rt-rename aw-mono`,onClick:N[1]||=E(()=>{},[`stop`]),onKeydown:[N[2]||=O(E(n=>t(h)(e.group.id),[`prevent`]),[`enter`]),N[3]||=O(E(e=>d.value=``,[`prevent`]),[`esc`])]},null,544),[[T,t(m)]]),_(`button`,{class:`mini-btn`,onClick:N[4]||=E(n=>t(h)(e.group.id),[`stop`])},a(t(r)(`settings.groups.ok`)),1)],64)):(f(),v(`h4`,Ie,a(t(s)(e.group)),1)),_(`span`,Le,a(t(c)(e.group)),1),_(`span`,Re,a(t(r)(`settings.groups.fields`,{p0:e.group.fieldCount??0})),1),e.group.description?(f(),v(`span`,ze,a(e.group.description),1)):b(``,!0),t(x)&&e.group.source!==`plugin`?(f(),v(`span`,{key:5,class:`rt-group-ops`,onClick:N[10]||=E(()=>{},[`stop`])},[_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.moveUp`),onClick:N[5]||=n=>t(k)(e.group.id,-1)},[...N[14]||=[_(`span`,{class:`i-tabler-arrow-up`},null,-1)]],8,Be),_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.moveDown`),onClick:N[6]||=n=>t(k)(e.group.id,1)},[...N[15]||=[_(`span`,{class:`i-tabler-arrow-down`},null,-1)]],8,Ve),_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.rename`),onClick:N[7]||=n=>t(g)(e.group)},[...N[16]||=[_(`span`,{class:`i-tabler-pencil`},null,-1)]],8,He),_(`button`,{class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.defaultCollapsed`),onClick:N[8]||=n=>t(A)(e.group)},[_(`span`,{class:n(e.group.collapsed?`i-tabler-chevrons-down`:`i-tabler-chevrons-up`)},null,2)],8,Ue),e.group.source===`user`?(f(),v(`button`,{key:0,class:`mini-btn`,disabled:t(w)===e.group.id,title:t(r)(`settings.groups.delete`),onClick:N[9]||=n=>t(j)(e.group)},[...N[17]||=[_(`span`,{class:`i-tabler-trash`},null,-1)]],8,We)):b(``,!0)])):b(``,!0)],40,Fe),C(_(`div`,Ge,[e.group.fieldCount??0?b(``,!0):(f(),v(`p`,Ke,a(t(r)(`settings.groups.emptyHint`)),1)),(f(!0),v(y,null,p(t(i).fieldsOf(e.group.id),e=>(f(),S(Pe,{key:e.key,item:e},null,8,[`item`]))),128))],512),[[D,!t(l)(e.group)]])],2))}}),[[`__scopeId`,`data-v-2f40d8db`]]),{__name:`SettingsRuntimeGroupSection`});function Je(e){let{t}=M(),n=R(),r=H(),i=s([]),a=s(!1),o=s(!1),c=s(new Set),l=s({}),u=e=>(e.routes??[]).some(e=>String(e.path||``).endsWith(`/health`));async function d(){a.value=!0;try{let e=await r.listPlugins(),t=e?.plugins??e?.data?.plugins??[];i.value=Array.isArray(t)?t:[],o.value=!0}catch(e){N.error(V(e,t(`plugins.loadFail`)))}finally{a.value=!1}}async function f(e,n){if(!c.value.has(e.name)){c.value.add(e.name);try{n?await r.enablePlugin(e.name):await r.disablePlugin(e.name),e.enabled=n,N.success(t(n?`plugins.enabled`:`plugins.disabled`))}catch(e){N.error(V(e,t(`plugins.adminRequired`)))}finally{c.value.delete(e.name)}}}async function p(e){if(u(e)){l.value={...l.value,[e.name]:`checking`};try{let t=await r.pluginHealth(e.name);l.value={...l.value,[e.name]:m(e.name,t)}}catch(n){l.value={...l.value,[e.name]:{ok:!1,reason:V(n,t(`plugins.loadFail`))}}}}}function m(e,t){if(e===`rag-bridge`){let e=t.backend,n=t.web,r=!!e?.ok&&!!n?.ok,i=e?.ok?n?.error||n?.status||`web`:e?.error||e?.status||`backend`;return r?{ok:!0}:{ok:!1,reason:i}}if(e===`diag-bridge`){let e=t.remote;return e?.status===`ok`?{ok:!0}:{ok:!1,reason:e?.status||`remote`}}return{ok:!0}}function h(e){return l.value[e]===`checking`}function _(e){let t=l.value[e];return t&&t!==`checking`?t:null}function v(e){return c.value.has(e)}return g(e,e=>{e===`runtime`&&!o.value&&!a.value&&n.isLoggedIn&&d()},{immediate:!0}),{plugins:i,pluginsLoading:a,pluginsLoaded:o,togglingPlugins:c,healthMap:l,hasHealthRoute:u,loadPlugins:d,togglePlugin:f,checkPluginHealth:p,judgePluginHealth:m,isCheckingHealth:h,healthOf:_,isToggling:v}}var Q=Symbol(`aw.settings.pluginAdmin`);function Ye(e){let t=Je(e);return l(Q,t),t}function Xe(){let e=c(Q);if(!e)throw Error(`[settings] usePluginAdminContext: 缺少 providePluginAdmin()`);return e}var Ze={key:0,class:`identity-note`},Qe={class:`plugin-main`},$e={class:`rt-title`},et={class:`aw-mono`},tt={key:0,class:`rt-tag`},nt={key:1,class:`rt-tag src-runtime`},rt={key:2,class:`rt-tag restart`},it={class:`rt-sub`},at={class:`rt-ctrl`},ot={key:0,class:`plugin-health faint`},st=[`onClick`],ct=[`aria-checked`,`disabled`,`onClick`],lt={key:0,class:`identity-note`},ut=Object.assign(B(d({__name:`PluginsSection`,setup(e){let{t:r}=M(),i=R(),{plugins:o,pluginsLoading:s,hasHealthRoute:c,checkPluginHealth:l,isCheckingHealth:u,healthOf:d,isToggling:m,togglePlugin:h}=Xe();return(e,g)=>{let C=ie;return t(i).isLoggedIn?(f(),S(C,{key:1,spinning:t(s)},{default:x(()=>[(f(!0),v(y,null,p(t(o),e=>(f(),v(`div`,{key:e.name,class:n([`plugin-row`,{off:e.enabled===!1}])},[_(`div`,Qe,[_(`div`,$e,[_(`span`,et,a(e.name),1),e.version?(f(),v(`span`,tt,`v`+a(e.version),1)):b(``,!0),e.builtin?(f(),v(`span`,nt,a(t(r)(`plugins.builtin`)),1)):b(``,!0),e.error?(f(),v(`span`,rt,a(e.error),1)):b(``,!0)]),_(`div`,it,a(e.description||`—`),1)]),_(`div`,at,[t(u)(e.name)?(f(),v(`span`,ot,[g[0]||=_(`span`,{class:`i-tabler-loader-2 spin`},null,-1),w(` `+a(t(r)(`plugins.healthChecking`)),1)])):t(d)(e.name)?(f(),v(`span`,{key:1,class:n([`plugin-health`,t(d)(e.name).ok?`ok`:`bad`])},[_(`span`,{class:n(t(d)(e.name).ok?`i-tabler-circle-check`:`i-tabler-alert-circle`)},null,2),w(` `+a(t(d)(e.name).ok?t(r)(`plugins.healthOk`):`${t(r)(`plugins.healthBad`)}: ${t(d)(e.name).reason??``}`),1)],2)):b(``,!0),t(c)(e)?(f(),v(`button`,{key:2,class:`aw-pill outline rt-reset`,onClick:n=>t(l)(e)},[g[1]||=_(`span`,{class:`i-tabler-heartbeat`},null,-1),w(` `+a(t(r)(`plugins.healthCheck`)),1)],8,st)):b(``,!0),_(`button`,{class:n([`switch`,{on:e.enabled!==!1}]),role:`switch`,"aria-checked":e.enabled!==!1,disabled:t(m)(e.name),onClick:n=>t(h)(e,e.enabled===!1)},[...g[2]||=[_(`span`,{class:`knob`},null,-1)]],10,ct)])],2))),128)),t(o).length===0&&!t(s)?(f(),v(`div`,lt,a(t(r)(`plugins.empty`)),1)):b(``,!0)]),_:1},8,[`spinning`])):(f(),v(`div`,Ze,a(t(r)(`plugins.needLogin`)),1))}}}),[[`__scopeId`,`data-v-c4c10ede`]]),{__name:`SettingsPluginsSection`}),dt={class:`section-title`},ft={class:`section-desc`},pt={class:`rt-groups-bar`},mt=[`title`],ht={class:`rt-groups-count`},gt={key:1,class:`rt-group-form`},_t=[`disabled`],vt={class:`rt-actions`},yt=[`disabled`],bt={class:`rt-path aw-mono`},xt={class:`rt-group-title plugin-group-title`},St={class:`section-desc`},Ct=Object.assign(B(d({__name:`RuntimePane`,props:{activeTab:{}},setup(e){let r=e,{t:i}=M(),o=z(),{runtimeNotice:s,dirtyKeys:c,savingRuntime:l,saveRuntime:u,resetAllRuntime:d}=Se(),{allExpanded:g,groupFormOpen:T,groupForm:E,groupBusy:O,isAdmin:k,submitGroupForm:A,toggleAllGroups:j}=Te(),{plugins:N}=Ye(h(()=>r.activeTab));return(r,h)=>{let M=ee,P=F,I=te,L=U;return C((f(),v(`div`,null,[_(`h3`,dt,a(t(i)(`settings.runtimeTab`)),1),_(`p`,ft,a(t(i)(`settings.runtime.desc`)),1),t(s)?(f(),S(M,{key:0,type:t(s).type,"show-icon":``,class:`rt-notice`,message:t(s).text},null,8,[`type`,`message`])):b(``,!0),_(`div`,pt,[_(`button`,{class:`aw-pill outline rt-groups-toggle`,title:t(i)(`settings.groups.toggleAll`),onClick:h[0]||=(...e)=>t(j)&&t(j)(...e)},[_(`span`,{class:n(t(g)?`i-tabler-chevrons-up`:`i-tabler-chevrons-down`)},null,2),w(` `+a(t(g)?t(i)(`settings.groups.collapseAll`):t(i)(`settings.groups.expandAll`)),1)],8,mt),_(`span`,ht,a(t(i)(`settings.groups.count`,{p0:t(o).groups.length})),1),t(k)?(f(),v(`button`,{key:0,class:`aw-pill outline rt-groups-add`,onClick:h[1]||=e=>T.value=!t(T)},[h[9]||=_(`span`,{class:`i-tabler-plus`},null,-1),w(` `+a(t(i)(`settings.groups.newGroup`)),1)])):b(``,!0)]),t(k)&&t(T)?(f(),v(`div`,gt,[m(P,{value:t(E).label,"onUpdate:value":h[2]||=e=>t(E).label=e,placeholder:t(i)(`settings.groups.namePlaceholder`),style:{width:`220px`},onPressEnter:t(A)},null,8,[`value`,`placeholder`,`onPressEnter`]),m(P,{value:t(E).description,"onUpdate:value":h[3]||=e=>t(E).description=e,placeholder:t(i)(`settings.groups.descPlaceholder`),style:{width:`320px`},onPressEnter:t(A)},null,8,[`value`,`placeholder`,`onPressEnter`]),m(I,{checked:t(E).collapsed,"onUpdate:checked":h[4]||=e=>t(E).collapsed=e},{default:x(()=>[w(a(t(i)(`settings.groups.defaultCollapsed`)),1)]),_:1},8,[`checked`]),_(`button`,{class:`aw-pill primary`,disabled:!t(E).label.trim()||t(O)===`create`,onClick:h[5]||=(...e)=>t(A)&&t(A)(...e)},a(t(O)===`create`?`…`:t(i)(`settings.groups.create`)),9,_t),_(`button`,{class:`aw-pill outline`,onClick:h[6]||=e=>T.value=!1},a(t(i)(`settings.groups.cancel`)),1)])):b(``,!0),(f(!0),v(y,null,p(t(o).groups,e=>(f(),S(qe,{key:e.id,group:e},null,8,[`group`]))),128)),_(`div`,vt,[_(`button`,{class:`aw-pill primary`,disabled:!t(c).size||t(l),onClick:h[7]||=(...e)=>t(u)&&t(u)(...e)},[h[10]||=_(`span`,{class:`i-tabler-device-floppy`},null,-1),w(` `+a(t(l)?`…`:t(i)(`settings.runtime.save`)),1)],8,yt),_(`button`,{class:`aw-pill outline`,onClick:h[8]||=(...e)=>t(d)&&t(d)(...e)},a(t(i)(`settings.runtime.resetAll`)),1),_(`span`,bt,a(t(o).settingsPath),1)]),_(`h4`,xt,a(t(i)(`plugins.title`)),1),_(`p`,St,a(t(i)(`plugins.desc`)),1),m(ut),t(N).length?(f(),S(L,{key:2,"slot-name":`settings.plugins`})):b(``,!0)],512)),[[D,e.activeTab===`runtime`]])}}}),[[`__scopeId`,`data-v-6a6f35be`]]),{__name:`SettingsRuntimePane`}),wt={class:`section-title`},Tt={class:`section-desc`},Et={class:`aw-mono`},$={class:`identity-note`},Dt=Object.assign(B(d({__name:`SystemPane`,props:{activeTab:{}},setup(n){let{t:r,locale:i}=M(),o=A(),s=e().public,c=R(),l=String(s.primaryColor),u=h(()=>[{label:r(`home.fields.name`),value:o.name},{label:r(`home.fields.version`),value:`v${o.version}`},{label:r(`home.fields.mode`),value:o.mode},{label:r(`home.fields.apiBase`),value:`${o.apiBase} (${s.apiTimeout}ms)`},{label:r(`home.fields.primary`),value:l},{label:`i18n`,value:i.value}]);return(e,i)=>{let o=L,s=ne;return C((f(),v(`div`,null,[_(`h3`,wt,a(t(r)(`settings.systemTab`)),1),_(`p`,Tt,a(t(r)(`settings.systemDesc`)),1),m(s,{bordered:``,column:1,size:`small`},{default:x(()=>[(f(!0),v(y,null,p(t(u),e=>(f(),S(o,{key:e.label,label:e.label},{default:x(()=>[_(`span`,Et,a(e.value),1)]),_:2},1032,[`label`]))),128))]),_:1}),_(`p`,$,a(t(c).isLoggedIn?`${t(r)(`settings.identity`)}: ${t(c).user?.name} (${t(c).user?.role})`:t(r)(`settings.identityGuest`)),1)],512)),[[D,n.activeTab===`system`]])}}}),[[`__scopeId`,`data-v-4d2a2989`]]),{__name:`SettingsSystemPane`}),Ot={class:`settings-page`},kt={class:`aw-page-head`},At={class:`aw-kicker`},jt={class:`aw-stamp`},Mt={class:`settings-layout`},Nt={class:`settings-nav`},Pt=[`onClick`],Ft={class:`settings-body`},It=B(d({__name:`settings`,setup(e){let{t:r}=M(),i=A(),o=s(`appearance`),c=h(()=>[{key:`appearance`,icon:`i-tabler-palette`,label:r(`settings.theme`)},{key:`runtime`,icon:`i-tabler-settings`,label:r(`settings.runtimeTab`)},{key:`system`,icon:`i-tabler-server-2`,label:r(`settings.systemTab`)}]);return(e,s)=>{let l=I;return f(),v(`div`,Ot,[_(`div`,kt,[_(`div`,null,[_(`p`,At,a(t(r)(`menu.system`))+` / settings `,1),_(`h1`,null,a(t(r)(`settings.title`)),1)]),_(`span`,jt,`v`+a(t(i).version),1)]),m(l,{bordered:!1,class:`settings-card`},{default:x(()=>[_(`div`,Mt,[_(`div`,Nt,[(f(!0),v(y,null,p(t(c),e=>(f(),v(`button`,{key:e.key,class:n([`nav-item`,{active:t(o)===e.key}]),onClick:t=>o.value=e.key},[_(`span`,{class:n(e.icon)},null,2),_(`span`,null,a(e.label),1)],10,Pt))),128))]),_(`div`,Ft,[m(be,{"active-tab":t(o)},null,8,[`active-tab`]),m(Ct,{"active-tab":t(o)},null,8,[`active-tab`]),m(Dt,{"active-tab":t(o)},null,8,[`active-tab`])])])]),_:1})])}}}),[[`__scopeId`,`data-v-672ae7d7`]]);export{It as default};
@@ -1 +1 @@
1
- import{t as e}from"./DK3Fl9T5.js";import{n as t}from"./Cnrmlixo.js";import{a as n}from"./wDPc4SSR.js";import{t as r}from"./JgheoP3e.js";import{t as i}from"./CcGuXiOa.js";var a=e({useAgentTemplateActions:()=>o});function o(e){let a=i(),{t:o}=t();return{remove:async t=>{await a.deleteTemplate(t.id),n.success(o(`agents.k3n5sd7022`)),e.reload()},toggleEnabled:async t=>{await a.updateTemplate(t.id,{enabled:t.enabled===1?0:1}),e.reload()},toggleVisibility:async(t,i)=>{try{await a.updateTemplate(t.id,{visibility:i?`public`:`private`}),n.success(o(i?`agents.kxa6cxx023`:`agents.k1xxabaf024`)),e.reload()}catch(e){n.error(r(e))}}}}export{a as n,o as t};
1
+ import{t as e}from"./DK3Fl9T5.js";import{n as t}from"./Cnrmlixo.js";import{a as n}from"./wDPc4SSR.js";import{t as r}from"./JgheoP3e.js";import{t as i}from"./8oRmGaAV.js";var a=e({useAgentTemplateActions:()=>o});function o(e){let a=i(),{t:o}=t();return{remove:async t=>{await a.deleteTemplate(t.id),n.success(o(`agents.k3n5sd7022`)),e.reload()},toggleEnabled:async t=>{await a.updateTemplate(t.id,{enabled:t.enabled===1?0:1}),e.reload()},toggleVisibility:async(t,i)=>{try{await a.updateTemplate(t.id,{visibility:i?`public`:`private`}),n.success(o(i?`agents.kxa6cxx023`:`agents.k1xxabaf024`)),e.reload()}catch(e){n.error(r(e))}}}}export{a as n,o as t};
@@ -1 +1 @@
1
- import{t as e}from"./DK3Fl9T5.js";import{P as t,d as n,et as r}from"./ByMj6e7s.js";import{p as i}from"./Br3AySNQ.js";import{t as a}from"./D0SNhlnt.js";import{t as o}from"./C_sjV3Ee.js";var s=e({useWorkspaceChannels:()=>c});function c(){let e=i(),s=o(),{subscribe:c,unsubscribe:l,conn:u}=a(),d=n(()=>String(e.params.wsId)),f=n(()=>s.workspaces.find(e=>e.id===d.value)),p=n(()=>{let e=f.value;if(!e)return;let t=e.channelIds,n=e.activeChannelId;return n&&t.includes(n)?n:t[0]});r(()=>[d.value,f.value?.channelIds.join(`,`)??``],()=>{let e=new Set(f.value?.channelIds??[]);for(let t of e)c(t)},{immediate:!0}),r(()=>f.value?.channelIds.join(`,`)??``,(e,t)=>{if(t===void 0)return;let n=new Set(f.value?.channelIds??[]);for(let e of t.split(`,`).filter(Boolean))n.has(e)||l(e)}),t(()=>{for(let e of f.value?.channelIds??[])l(e)});let m=n(()=>u.state===`open`?`var(--tone-success-dot)`:u.state===`connecting`?`var(--tone-warning-dot)`:`var(--tone-danger-dot)`),h=n(()=>p.value?u.cursors[p.value]??0:0);return{wsId:d,workspace:f,channelId:p,loaded:n(()=>s.loaded),conn:u,stateColor:m,lastSeq:h}}export{s as n,c as t};
1
+ import{t as e}from"./DK3Fl9T5.js";import{P as t,d as n,et as r}from"./ByMj6e7s.js";import{p as i}from"./Br3AySNQ.js";import{t as a}from"./DWsgRq2c.js";import{t as o}from"./C_sjV3Ee.js";var s=e({useWorkspaceChannels:()=>c});function c(){let e=i(),s=o(),{subscribe:c,unsubscribe:l,conn:u}=a(),d=n(()=>String(e.params.wsId)),f=n(()=>s.workspaces.find(e=>e.id===d.value)),p=n(()=>{let e=f.value;if(!e)return;let t=e.channelIds,n=e.activeChannelId;return n&&t.includes(n)?n:t[0]});r(()=>[d.value,f.value?.channelIds.join(`,`)??``],()=>{let e=new Set(f.value?.channelIds??[]);for(let t of e)c(t)},{immediate:!0}),r(()=>f.value?.channelIds.join(`,`)??``,(e,t)=>{if(t===void 0)return;let n=new Set(f.value?.channelIds??[]);for(let e of t.split(`,`).filter(Boolean))n.has(e)||l(e)}),t(()=>{for(let e of f.value?.channelIds??[])l(e)});let m=n(()=>u.state===`open`?`var(--tone-success-dot)`:u.state===`connecting`?`var(--tone-warning-dot)`:`var(--tone-danger-dot)`),h=n(()=>p.value?u.cursors[p.value]??0:0);return{wsId:d,workspace:f,channelId:p,loaded:n(()=>s.loaded),conn:u,stateColor:m,lastSeq:h}}export{s as n,c as t};
@@ -1,3 +1,3 @@
1
- import{N as e,dt as t,ft as n,g as r,mt as i,u as a,v as o}from"./CavpkQb0.js";import{P as s,Q as c,R as l,S as u,V as d,W as f,b as p,et as m,f as h,h as g,i as _,k as v,m as y,p as b,rt as x,y as S}from"./ByMj6e7s.js";import{c as C,d as w,s as T,u as E}from"./Dqz5HiXa.js";import{n as D}from"./DkpmSnHX.js";import{n as ee}from"./Cnrmlixo.js";import{t as te}from"./RAqsw632.js";import{a as ne}from"./wDPc4SSR.js";import{t as O}from"./BDNMzG2s2.js";import{t as re}from"./D0SNhlnt.js";import{t as ie}from"./JgheoP3e.js";import{t as ae}from"./Z-Z6EhXs.js";import{t as oe}from"./DCtk3qqr.js";import{t as se}from"./BiOSWsjD.js";import{c as ce,l as le,u as k}from"./B6Olw0Op.js";import{t as ue}from"./BQXCMsXk.js";import{t as de}from"./BGKUW7ra.js";import{t as A}from"./BqYVLAcm.js";import{r as fe,t as pe}from"./BE7BrEw6.js";import{t as me}from"./CQabB0oy.js";import{t as he}from"./DNoEoo8t.js";import{t as j}from"./ZuQtOnfI.js";import{t as ge}from"./CNs_Ozdc.js";import{t as _e}from"./B8cnjDtt.js";var ve={class:`aw-page-head`},M={class:`sub`},N={class:`badges mono`},ye=[`title`],P=[`title`],be=Object.assign(O(u({__name:`AmlPageHeader`,props:{overview:{},env:{},pythonText:{},venvText:{},uvText:{}},setup(e){return(n,r)=>(d(),g(`div`,ve,[h(`div`,null,[r[0]||=h(`p`,{class:`aw-kicker`},` AGENTWORKSHOP / AML STUDIO `,-1),h(`h1`,null,i(n.$t(`aml.k1amlx001`)),1),h(`p`,M,i(n.$t(`aml.k1amlx002`)),1)]),h(`div`,N,[h(`span`,{class:t([`badge`,{bad:e.overview!=null&&!e.overview.runtime.python.ok}]),title:e.overview?.runtime.python.reason??``},`PYTHON · `+i(e.pythonText),11,ye),h(`span`,{class:t([`badge`,{bad:e.overview!=null&&!e.overview.runtime.venvReady}])},`VENV · `+i(e.venvText),3),h(`span`,{class:t([`badge`,{bad:e.env!=null&&!e.env.uv.ok}]),title:e.env?.uv.reason??e.env?.uv.path??``},`UV · `+i(e.uvText),11,P)])]))}}),[[`__scopeId`,`data-v-6556153b`]]),{__name:`AmlPageHeader`}),F={key:0,class:`infra-banner`},I={class:`txt`},xe={class:`mono`},Se=Object.assign(O(u({__name:`AmlInfraBanner`,props:{overview:{}},setup(e){return(t,n)=>e.overview!=null&&!e.overview.runtime.python.ok?(d(),g(`div`,F,[n[0]||=h(`span`,{class:`i-tabler-alert-triangle`},null,-1),h(`span`,I,[S(i(t.$t(`aml.k1amlx014`)),1),h(`b`,xe,i(e.overview.runtime.python.reason??``),1)])])):y(``,!0)}}),[[`__scopeId`,`data-v-b2590880`]]),{__name:`AmlInfraBanner`}),Ce={key:0,class:`aw-tile ov-card`},we={class:`ov-row mono`},Te={class:`ov-item`},L={class:`ov-item`},Ee={class:`ov-item`},De={class:`ov-item`},Oe=[`title`],R={key:1,class:`err`},ke=Object.assign(O(u({__name:`AmlOverviewBar`,props:{overview:{},overviewError:{},pythonText:{},venvText:{}},emits:[`reload`],setup(e){return(n,r)=>e.overview?(d(),g(`section`,Ce,[h(`div`,we,[h(`span`,{class:t([`ov-item`,e.overview.runtime.python.ok?`ok`:`bad`])},[h(`span`,{class:t(e.overview.runtime.python.ok?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),S(` `+i(n.$t(`aml.k1amlx003`))+` · `+i(e.pythonText),1)],2),h(`span`,{class:t([`ov-item`,{ok:e.overview.runtime.venvReady}])},i(n.$t(`aml.k1amlx006`))+` · `+i(e.venvText),3),h(`span`,Te,[S(i(n.$t(`aml.k1amlx009`))+` `,1),h(`b`,null,i(e.overview.runtime.queued),1)]),h(`span`,L,[S(i(n.$t(`aml.k1amlx010`))+` `,1),h(`b`,null,i(e.overview.runtime.running),1)]),r[1]||=h(`span`,{class:`sep`},`·`,-1),h(`span`,Ee,[S(i(n.$t(`aml.k1amlx011`))+` `,1),h(`b`,null,i(e.overview.counts.datasets),1)]),h(`span`,De,[S(i(n.$t(`aml.k1amlx012`))+` `,1),h(`b`,null,i(e.overview.counts.models),1)]),h(`span`,{class:`ov-item accent`,title:n.$t(`aml.k1amlx013`)},[S(i(n.$t(`aml.k1amlx013`))+` `,1),h(`b`,null,i(e.overview.counts.productions),1)],8,Oe),h(`button`,{class:`mini-btn reload`,onClick:r[0]||=e=>n.$emit(`reload`)},i(n.$t(`aml.k1amlx017`)),1)])])):e.overviewError?(d(),g(`p`,R,i(n.$t(`aml.k1amlx015`))+`:`+i(e.overviewError),1)):y(``,!0)}}),[[`__scopeId`,`data-v-77db0a40`]]),{__name:`AmlOverviewBar`}),z={class:`aw-tile zone env-zone`},B={class:`zone-head`},Ae={class:`zone-actions`},je=[`disabled`],V={key:0,class:`infra-banner`},H={class:`txt`},Me={class:`mono`},Ne={class:`env-grid`},U={class:`ec-head`},Pe={class:`ec-state`},W={key:0,class:`ec-detail mono`},G={key:1,class:`ec-detail`},K={class:`ec-actions`},q=[`disabled`,`title`],J={class:`ec-head`},Y={class:`ec-state`},X={class:`ec-detail mono`},Fe={class:`ec-actions`},Z=[`disabled`,`title`],Ie=[`disabled`],Q={class:`env-card`},$={class:`ec-head`},Le={class:`ec-detail mono`},Re={class:`ec-detail dim`},ze={class:`ec-detail`},Be={class:`mono`},Ve={class:`dim`},He={class:`ec-head`},Ue={key:0,class:`ec-state`},We={key:0,class:`ec-detail mono`},Ge={key:1,class:`ec-issues mono`},Ke=[`title`],qe={class:`tag`},Je={class:`ec-actions`},Ye={key:1,class:`env-task`},Xe={class:`et-head mono`},Ze={class:`dim`},Qe={key:0,class:`dim`},$e={class:`et-log mono`},et={key:0,class:`err`},tt=Object.assign(O(u({__name:`AmlEnvPanel`,props:{env:{},inventory:{},envBusy:{type:Boolean},uvText:{},uvSourceText:{},blockerText:{},rootSourceLabel:{}},emits:[`recheck`,`installUv`,`createVenv`,`prune`],setup(n){let r=o(!1),{shortId:a}=A();return(o,s)=>(d(),g(`section`,z,[h(`div`,B,[h(`h2`,null,i(o.$t(`aml.k1amlx162`)),1),h(`div`,Ae,[h(`button`,{class:`mini-btn`,disabled:n.envBusy,onClick:s[0]||=e=>o.$emit(`recheck`)},i(o.$t(`aml.k1amlx175`)),9,je),h(`button`,{class:`mini-btn`,onClick:s[1]||=e=>r.value=!r.value},i(r.value?o.$t(`aml.k1amlx181`):o.$t(`aml.k1amlx180`)),1)])]),n.env.preflight.canRunJobs?y(``,!0):(d(),g(`div`,V,[s[6]||=h(`span`,{class:`i-tabler-alert-triangle`},null,-1),h(`span`,H,[S(i(o.$t(`aml.k1amlx178`))+`:`,1),h(`b`,Me,i(n.blockerText),1)])])),h(`div`,Ne,[h(`div`,{class:t([`env-card`,n.env.uv.ok?`ok`:`bad`])},[h(`div`,U,[h(`span`,{class:t(n.env.uv.ok?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),h(`b`,null,i(o.$t(`aml.k1amlx163`)),1),h(`span`,Pe,i(n.uvText),1)]),n.env.uv.ok?(d(),g(`p`,W,[S(i(n.env.uv.path),1),n.uvSourceText?(d(),g(_,{key:0},[S(` · `+i(n.uvSourceText),1)],64)):y(``,!0)])):(d(),g(`p`,G,i(o.$t(`aml.k1amlx177`)),1)),h(`div`,K,[n.env.uv.ok?y(``,!0):(d(),g(`button`,{key:0,class:`mini-btn primary`,disabled:n.envBusy,title:o.$t(`aml.k1amlx176`),onClick:s[2]||=e=>o.$emit(`installUv`)},[s[7]||=h(`span`,{class:`i-tabler-download`},null,-1),S(` `+i(n.env.task?.kind===`install-uv`&&n.env.task.status===`running`?o.$t(`aml.k1amlx167`):o.$t(`aml.k1amlx166`)),1)],8,q))])],2),h(`div`,{class:t([`env-card`,n.env.venv.ready?`ok`:`bad`])},[h(`div`,J,[h(`span`,{class:t(n.env.venv.ready?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),h(`b`,null,i(o.$t(`aml.k1amlx168`)),1),h(`span`,Y,i(n.env.venv.ready?o.$t(`aml.k1amlx007`):o.$t(`aml.k1amlx008`)),1)]),h(`p`,X,[S(i(n.env.venv.dir)+` `,1),n.env.venv.ready?(d(),g(_,{key:0},[S(` · `+i(n.env.venv.sizeMb)+` MB `,1)],64)):y(``,!0)]),h(`div`,Fe,[h(`button`,{class:`mini-btn primary`,disabled:n.envBusy||!n.env.python.ok,title:n.env.python.ok?``:n.env.python.reason??``,onClick:s[3]||=e=>o.$emit(`createVenv`,!1)},[s[8]||=h(`span`,{class:`i-tabler-plus`},null,-1),S(` `+i(n.env.task?.kind===`create-venv`&&n.env.task.status===`running`?o.$t(`aml.k1amlx170`):o.$t(`aml.k1amlx168`)),1)],8,Z),n.env.venv.ready?(d(),g(`button`,{key:0,class:`mini-btn`,disabled:n.envBusy,onClick:s[4]||=e=>o.$emit(`createVenv`,!0)},i(o.$t(`aml.k1amlx169`)),9,Ie)):y(``,!0)])],2),h(`div`,Q,[h(`div`,$,[s[9]||=h(`span`,{class:`i-tabler-folder`},null,-1),h(`b`,null,i(o.$t(`aml.k1amlx171`)),1)]),h(`p`,Le,i(n.env.amlRoot),1),h(`p`,Re,i(o.$t(`aml.k1amlx201`)),1),h(`p`,ze,[S(i(o.$t(`aml.k1amlx174`))+`: `,1),h(`b`,Be,i(n.env.disk.usedMb)+` / `+i(n.env.disk.quotaMb)+` MB`,1),h(`span`,Ve,` · `+i(n.rootSourceLabel),1)])]),h(`div`,{class:t([`env-card`,n.inventory==null?``:n.inventory.ok?`ok`:`bad`])},[h(`div`,He,[h(`span`,{class:t(n.inventory?.ok===!1?`i-tabler-alert-triangle`:`i-tabler-database`)},null,2),h(`b`,null,i(o.$t(`aml.k1amlx182`)),1),n.inventory?(d(),g(`span`,Ue,i(n.inventory.ok?o.$t(`aml.k1amlx183`):o.$t(`aml.k1amlx184`)),1)):y(``,!0)]),n.inventory?(d(),g(`p`,We,i(o.$t(`aml.k1amlx011`))+` `+i(n.inventory.counts.datasets)+`/`+i(n.inventory.entities.datasets)+` · `+i(o.$t(`aml.k1amlx010`))+` `+i(n.inventory.counts.jobs)+`/`+i(n.inventory.entities.jobs)+` · `+i(o.$t(`aml.k1amlx012`))+` `+i(n.inventory.counts.models)+`/`+i(n.inventory.entities.models),1)):y(``,!0),n.inventory&&n.inventory.issues.length>0?(d(),g(`ul`,Ge,[(d(!0),g(_,null,f(n.inventory.issues.slice(0,5),t=>(d(),g(`li`,{key:`${t.kind}:${t.id}:${t.problem}`,title:t.detail},[h(`span`,qe,i(t.problem===`entity_missing`?o.$t(`aml.k1amlx185`):t.problem===`orphan_dir`?o.$t(`aml.k1amlx186`):o.$t(`aml.k1amlx187`)),1),S(` `+i(t.kind)+` `+i(e(a)(t.id)),1)],8,Ke))),128))])):y(``,!0),h(`div`,Je,[n.inventory&&n.inventory.issues.some(e=>e.problem===`orphan_dir`)?(d(),g(`button`,{key:0,class:`mini-btn`,onClick:s[5]||=e=>o.$emit(`prune`)},[s[10]||=h(`span`,{class:`i-tabler-trash`},null,-1),S(` `+i(o.$t(`aml.k1amlx188`)),1)])):y(``,!0)])],2)]),n.env.task&&r.value?(d(),g(`div`,Ye,[h(`div`,Xe,[h(`span`,{class:t(n.env.task.status===`running`?`i-tabler-loader-2 spin`:n.env.task.status===`done`?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),h(`b`,null,i(n.env.task.kind),1),h(`span`,Ze,i(n.env.task.status),1),n.env.task.status===`running`?(d(),g(`span`,Qe,`· `+i(o.$t(`aml.k1amlx179`)),1)):y(``,!0)]),h(`pre`,$e,i(n.env.task.log.slice(-40).join(`
1
+ import{N as e,dt as t,ft as n,g as r,mt as i,u as a,v as o}from"./CavpkQb0.js";import{P as s,Q as c,R as l,S as u,V as d,W as f,b as p,et as m,f as h,h as g,i as _,k as v,m as y,p as b,rt as x,y as S}from"./ByMj6e7s.js";import{c as C,d as w,s as T,u as E}from"./Dqz5HiXa.js";import{n as D}from"./DkpmSnHX.js";import{n as ee}from"./Cnrmlixo.js";import{t as te}from"./RAqsw632.js";import{a as ne}from"./wDPc4SSR.js";import{t as O}from"./BDNMzG2s2.js";import{t as re}from"./DWsgRq2c.js";import{t as ie}from"./JgheoP3e.js";import{t as ae}from"./Z-Z6EhXs.js";import{t as oe}from"./DCtk3qqr.js";import{t as se}from"./BiOSWsjD.js";import{c as ce,l as le,u as k}from"./B6Olw0Op.js";import{t as ue}from"./BQXCMsXk.js";import{t as de}from"./BGKUW7ra.js";import{t as A}from"./BqYVLAcm.js";import{r as fe,t as pe}from"./BE7BrEw6.js";import{t as me}from"./CQabB0oy.js";import{t as he}from"./DNoEoo8t.js";import{t as j}from"./ZuQtOnfI.js";import{t as ge}from"./CNs_Ozdc.js";import{t as _e}from"./B8cnjDtt.js";var ve={class:`aw-page-head`},M={class:`sub`},N={class:`badges mono`},ye=[`title`],P=[`title`],be=Object.assign(O(u({__name:`AmlPageHeader`,props:{overview:{},env:{},pythonText:{},venvText:{},uvText:{}},setup(e){return(n,r)=>(d(),g(`div`,ve,[h(`div`,null,[r[0]||=h(`p`,{class:`aw-kicker`},` AGENTWORKSHOP / AML STUDIO `,-1),h(`h1`,null,i(n.$t(`aml.k1amlx001`)),1),h(`p`,M,i(n.$t(`aml.k1amlx002`)),1)]),h(`div`,N,[h(`span`,{class:t([`badge`,{bad:e.overview!=null&&!e.overview.runtime.python.ok}]),title:e.overview?.runtime.python.reason??``},`PYTHON · `+i(e.pythonText),11,ye),h(`span`,{class:t([`badge`,{bad:e.overview!=null&&!e.overview.runtime.venvReady}])},`VENV · `+i(e.venvText),3),h(`span`,{class:t([`badge`,{bad:e.env!=null&&!e.env.uv.ok}]),title:e.env?.uv.reason??e.env?.uv.path??``},`UV · `+i(e.uvText),11,P)])]))}}),[[`__scopeId`,`data-v-6556153b`]]),{__name:`AmlPageHeader`}),F={key:0,class:`infra-banner`},I={class:`txt`},xe={class:`mono`},Se=Object.assign(O(u({__name:`AmlInfraBanner`,props:{overview:{}},setup(e){return(t,n)=>e.overview!=null&&!e.overview.runtime.python.ok?(d(),g(`div`,F,[n[0]||=h(`span`,{class:`i-tabler-alert-triangle`},null,-1),h(`span`,I,[S(i(t.$t(`aml.k1amlx014`)),1),h(`b`,xe,i(e.overview.runtime.python.reason??``),1)])])):y(``,!0)}}),[[`__scopeId`,`data-v-b2590880`]]),{__name:`AmlInfraBanner`}),Ce={key:0,class:`aw-tile ov-card`},we={class:`ov-row mono`},Te={class:`ov-item`},L={class:`ov-item`},Ee={class:`ov-item`},De={class:`ov-item`},Oe=[`title`],R={key:1,class:`err`},ke=Object.assign(O(u({__name:`AmlOverviewBar`,props:{overview:{},overviewError:{},pythonText:{},venvText:{}},emits:[`reload`],setup(e){return(n,r)=>e.overview?(d(),g(`section`,Ce,[h(`div`,we,[h(`span`,{class:t([`ov-item`,e.overview.runtime.python.ok?`ok`:`bad`])},[h(`span`,{class:t(e.overview.runtime.python.ok?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),S(` `+i(n.$t(`aml.k1amlx003`))+` · `+i(e.pythonText),1)],2),h(`span`,{class:t([`ov-item`,{ok:e.overview.runtime.venvReady}])},i(n.$t(`aml.k1amlx006`))+` · `+i(e.venvText),3),h(`span`,Te,[S(i(n.$t(`aml.k1amlx009`))+` `,1),h(`b`,null,i(e.overview.runtime.queued),1)]),h(`span`,L,[S(i(n.$t(`aml.k1amlx010`))+` `,1),h(`b`,null,i(e.overview.runtime.running),1)]),r[1]||=h(`span`,{class:`sep`},`·`,-1),h(`span`,Ee,[S(i(n.$t(`aml.k1amlx011`))+` `,1),h(`b`,null,i(e.overview.counts.datasets),1)]),h(`span`,De,[S(i(n.$t(`aml.k1amlx012`))+` `,1),h(`b`,null,i(e.overview.counts.models),1)]),h(`span`,{class:`ov-item accent`,title:n.$t(`aml.k1amlx013`)},[S(i(n.$t(`aml.k1amlx013`))+` `,1),h(`b`,null,i(e.overview.counts.productions),1)],8,Oe),h(`button`,{class:`mini-btn reload`,onClick:r[0]||=e=>n.$emit(`reload`)},i(n.$t(`aml.k1amlx017`)),1)])])):e.overviewError?(d(),g(`p`,R,i(n.$t(`aml.k1amlx015`))+`:`+i(e.overviewError),1)):y(``,!0)}}),[[`__scopeId`,`data-v-77db0a40`]]),{__name:`AmlOverviewBar`}),z={class:`aw-tile zone env-zone`},B={class:`zone-head`},Ae={class:`zone-actions`},je=[`disabled`],V={key:0,class:`infra-banner`},H={class:`txt`},Me={class:`mono`},Ne={class:`env-grid`},U={class:`ec-head`},Pe={class:`ec-state`},W={key:0,class:`ec-detail mono`},G={key:1,class:`ec-detail`},K={class:`ec-actions`},q=[`disabled`,`title`],J={class:`ec-head`},Y={class:`ec-state`},X={class:`ec-detail mono`},Fe={class:`ec-actions`},Z=[`disabled`,`title`],Ie=[`disabled`],Q={class:`env-card`},$={class:`ec-head`},Le={class:`ec-detail mono`},Re={class:`ec-detail dim`},ze={class:`ec-detail`},Be={class:`mono`},Ve={class:`dim`},He={class:`ec-head`},Ue={key:0,class:`ec-state`},We={key:0,class:`ec-detail mono`},Ge={key:1,class:`ec-issues mono`},Ke=[`title`],qe={class:`tag`},Je={class:`ec-actions`},Ye={key:1,class:`env-task`},Xe={class:`et-head mono`},Ze={class:`dim`},Qe={key:0,class:`dim`},$e={class:`et-log mono`},et={key:0,class:`err`},tt=Object.assign(O(u({__name:`AmlEnvPanel`,props:{env:{},inventory:{},envBusy:{type:Boolean},uvText:{},uvSourceText:{},blockerText:{},rootSourceLabel:{}},emits:[`recheck`,`installUv`,`createVenv`,`prune`],setup(n){let r=o(!1),{shortId:a}=A();return(o,s)=>(d(),g(`section`,z,[h(`div`,B,[h(`h2`,null,i(o.$t(`aml.k1amlx162`)),1),h(`div`,Ae,[h(`button`,{class:`mini-btn`,disabled:n.envBusy,onClick:s[0]||=e=>o.$emit(`recheck`)},i(o.$t(`aml.k1amlx175`)),9,je),h(`button`,{class:`mini-btn`,onClick:s[1]||=e=>r.value=!r.value},i(r.value?o.$t(`aml.k1amlx181`):o.$t(`aml.k1amlx180`)),1)])]),n.env.preflight.canRunJobs?y(``,!0):(d(),g(`div`,V,[s[6]||=h(`span`,{class:`i-tabler-alert-triangle`},null,-1),h(`span`,H,[S(i(o.$t(`aml.k1amlx178`))+`:`,1),h(`b`,Me,i(n.blockerText),1)])])),h(`div`,Ne,[h(`div`,{class:t([`env-card`,n.env.uv.ok?`ok`:`bad`])},[h(`div`,U,[h(`span`,{class:t(n.env.uv.ok?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),h(`b`,null,i(o.$t(`aml.k1amlx163`)),1),h(`span`,Pe,i(n.uvText),1)]),n.env.uv.ok?(d(),g(`p`,W,[S(i(n.env.uv.path),1),n.uvSourceText?(d(),g(_,{key:0},[S(` · `+i(n.uvSourceText),1)],64)):y(``,!0)])):(d(),g(`p`,G,i(o.$t(`aml.k1amlx177`)),1)),h(`div`,K,[n.env.uv.ok?y(``,!0):(d(),g(`button`,{key:0,class:`mini-btn primary`,disabled:n.envBusy,title:o.$t(`aml.k1amlx176`),onClick:s[2]||=e=>o.$emit(`installUv`)},[s[7]||=h(`span`,{class:`i-tabler-download`},null,-1),S(` `+i(n.env.task?.kind===`install-uv`&&n.env.task.status===`running`?o.$t(`aml.k1amlx167`):o.$t(`aml.k1amlx166`)),1)],8,q))])],2),h(`div`,{class:t([`env-card`,n.env.venv.ready?`ok`:`bad`])},[h(`div`,J,[h(`span`,{class:t(n.env.venv.ready?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),h(`b`,null,i(o.$t(`aml.k1amlx168`)),1),h(`span`,Y,i(n.env.venv.ready?o.$t(`aml.k1amlx007`):o.$t(`aml.k1amlx008`)),1)]),h(`p`,X,[S(i(n.env.venv.dir)+` `,1),n.env.venv.ready?(d(),g(_,{key:0},[S(` · `+i(n.env.venv.sizeMb)+` MB `,1)],64)):y(``,!0)]),h(`div`,Fe,[h(`button`,{class:`mini-btn primary`,disabled:n.envBusy||!n.env.python.ok,title:n.env.python.ok?``:n.env.python.reason??``,onClick:s[3]||=e=>o.$emit(`createVenv`,!1)},[s[8]||=h(`span`,{class:`i-tabler-plus`},null,-1),S(` `+i(n.env.task?.kind===`create-venv`&&n.env.task.status===`running`?o.$t(`aml.k1amlx170`):o.$t(`aml.k1amlx168`)),1)],8,Z),n.env.venv.ready?(d(),g(`button`,{key:0,class:`mini-btn`,disabled:n.envBusy,onClick:s[4]||=e=>o.$emit(`createVenv`,!0)},i(o.$t(`aml.k1amlx169`)),9,Ie)):y(``,!0)])],2),h(`div`,Q,[h(`div`,$,[s[9]||=h(`span`,{class:`i-tabler-folder`},null,-1),h(`b`,null,i(o.$t(`aml.k1amlx171`)),1)]),h(`p`,Le,i(n.env.amlRoot),1),h(`p`,Re,i(o.$t(`aml.k1amlx201`)),1),h(`p`,ze,[S(i(o.$t(`aml.k1amlx174`))+`: `,1),h(`b`,Be,i(n.env.disk.usedMb)+` / `+i(n.env.disk.quotaMb)+` MB`,1),h(`span`,Ve,` · `+i(n.rootSourceLabel),1)])]),h(`div`,{class:t([`env-card`,n.inventory==null?``:n.inventory.ok?`ok`:`bad`])},[h(`div`,He,[h(`span`,{class:t(n.inventory?.ok===!1?`i-tabler-alert-triangle`:`i-tabler-database`)},null,2),h(`b`,null,i(o.$t(`aml.k1amlx182`)),1),n.inventory?(d(),g(`span`,Ue,i(n.inventory.ok?o.$t(`aml.k1amlx183`):o.$t(`aml.k1amlx184`)),1)):y(``,!0)]),n.inventory?(d(),g(`p`,We,i(o.$t(`aml.k1amlx011`))+` `+i(n.inventory.counts.datasets)+`/`+i(n.inventory.entities.datasets)+` · `+i(o.$t(`aml.k1amlx010`))+` `+i(n.inventory.counts.jobs)+`/`+i(n.inventory.entities.jobs)+` · `+i(o.$t(`aml.k1amlx012`))+` `+i(n.inventory.counts.models)+`/`+i(n.inventory.entities.models),1)):y(``,!0),n.inventory&&n.inventory.issues.length>0?(d(),g(`ul`,Ge,[(d(!0),g(_,null,f(n.inventory.issues.slice(0,5),t=>(d(),g(`li`,{key:`${t.kind}:${t.id}:${t.problem}`,title:t.detail},[h(`span`,qe,i(t.problem===`entity_missing`?o.$t(`aml.k1amlx185`):t.problem===`orphan_dir`?o.$t(`aml.k1amlx186`):o.$t(`aml.k1amlx187`)),1),S(` `+i(t.kind)+` `+i(e(a)(t.id)),1)],8,Ke))),128))])):y(``,!0),h(`div`,Je,[n.inventory&&n.inventory.issues.some(e=>e.problem===`orphan_dir`)?(d(),g(`button`,{key:0,class:`mini-btn`,onClick:s[5]||=e=>o.$emit(`prune`)},[s[10]||=h(`span`,{class:`i-tabler-trash`},null,-1),S(` `+i(o.$t(`aml.k1amlx188`)),1)])):y(``,!0)])],2)]),n.env.task&&r.value?(d(),g(`div`,Ye,[h(`div`,Xe,[h(`span`,{class:t(n.env.task.status===`running`?`i-tabler-loader-2 spin`:n.env.task.status===`done`?`i-tabler-circle-check`:`i-tabler-alert-triangle`)},null,2),h(`b`,null,i(n.env.task.kind),1),h(`span`,Ze,i(n.env.task.status),1),n.env.task.status===`running`?(d(),g(`span`,Qe,`· `+i(o.$t(`aml.k1amlx179`)),1)):y(``,!0)]),h(`pre`,$e,i(n.env.task.log.slice(-40).join(`
2
2
  `)),1),n.env.task.error?(d(),g(`p`,et,i(n.env.task.error),1)):y(``,!0)])):y(``,!0)]))}}),[[`__scopeId`,`data-v-c33b3744`]]),{__name:`AmlEnvPanel`}),nt={class:`aw-tile zone`},rt={class:`zone-head`},it={class:`mono cnt`},at={class:`zone-actions`},ot={key:0,class:`tbl-scroll`},st={class:`tbl tbl-datasets`},ct={class:`num`},lt={class:`num`},ut=[`onClick`],dt={class:`mono dim`},ft={class:`mono`},pt={class:`mono`},mt={class:`mono num`},ht={class:`mono num`},gt={key:0,class:`note-edit`},_t=[`placeholder`,`onKeyup`],vt=[`onClick`],yt={key:1,class:`note-text`},bt=[`title`],xt=[`title`,`onClick`],St=[`title`,`onClick`],Ct={key:0,class:`detail-row`},wt={colspan:`7`},Tt={key:0,class:`dim pad`},Et={key:1,class:`err pad`},Dt={key:2,class:`det-grid`},Ot={class:`det-title`},kt={class:`sub-tbl`},At={class:`num`},jt={class:`num`},Mt={class:`num`},Nt={class:`num`},Pt={class:`num`},Ft={class:`mono`},It={class:`role-chip`},Lt={class:`mono num`},Rt={class:`mono num`},zt={class:`mono num`},Bt={class:`mono num`},Vt={class:`mono num`},Ht={class:`det-title`},Ut={key:0,class:`sub-tbl`},Wt={class:`num`},Gt={class:`num`},Kt={class:`mono`},qt={class:`mono`},Jt={class:`mono num`},Yt={class:`mono num`},Xt={key:1,class:`dim`},Zt={class:`det-title`},Qt={class:`mono dim run-line`},$t={key:3,class:`dim pad`},en={key:1,class:`empty`},tn=Object.assign(O(u({__name:`AmlDatasetTable`,props:v({datasets:{},expandedDs:{},dsDetails:{},noteEditing:{}},{noteDraft:{required:!0},noteDraftModifiers:{}}),emits:v([`toggle`,`reload`,`create`,`editNote`,`saveNote`,`cancelNote`,`remove`],[`update:noteDraft`]),setup(n){let r=c(n,`noteDraft`),{fmtTime:a,fmtNum:o,fmtPct:s,shortId:l}=A();return(c,u)=>(d(),g(`section`,nt,[h(`div`,rt,[h(`h2`,null,[u[6]||=h(`span`,{class:`i-tabler-database`},null,-1),S(` `+i(c.$t(`aml.k1amlx016`))+` `,1),h(`b`,it,i(n.datasets.length),1)]),h(`div`,at,[h(`button`,{class:`mini-btn`,onClick:u[0]||=e=>c.$emit(`reload`)},i(c.$t(`aml.k1amlx017`)),1),h(`button`,{class:`pill-btn`,onClick:u[1]||=e=>c.$emit(`create`)},[u[7]||=h(`span`,{class:`i-tabler-plus`},null,-1),S(` `+i(c.$t(`aml.k1amlx018`)),1)])])]),n.datasets.length?(d(),g(`div`,ot,[h(`table`,st,[h(`thead`,null,[h(`tr`,null,[h(`th`,null,i(c.$t(`aml.k1amlx020`)),1),h(`th`,null,i(c.$t(`aml.k1amlx021`)),1),h(`th`,null,i(c.$t(`aml.k1amlx022`)),1),h(`th`,ct,i(c.$t(`aml.k1amlx023`)),1),h(`th`,lt,i(c.$t(`aml.k1amlx024`)),1),h(`th`,null,i(c.$t(`aml.k1amlx025`)),1),h(`th`,null,i(c.$t(`aml.k1amlx026`)),1)])]),h(`tbody`,null,[(d(!0),g(_,null,f(n.datasets,p=>(d(),g(_,{key:p.id},[h(`tr`,{class:t([`row-main`,{open:n.expandedDs===p.id}]),onClick:e=>c.$emit(`toggle`,p.id)},[h(`td`,dt,i(e(a)(p.createdAt)),1),h(`td`,ft,i(e(l)(p.productId)),1),h(`td`,pt,i(e(l)(p.recipeId)),1),h(`td`,mt,i(p.rowCount),1),h(`td`,ht,i(p.runIds.length),1),h(`td`,null,[S(i(p.createdBy),1),h(`small`,{class:t([`kind`,p.createdByKind])},i(p.createdByKind===`agent`?`Agent`:c.$t(`aml.k1amlx049`)),3)]),h(`td`,{class:`note-cell`,onClick:u[5]||=w(()=>{},[`stop`])},[n.noteEditing===p.id?(d(),g(`div`,gt,[x(h(`input`,{"onUpdate:modelValue":u[2]||=e=>r.value=e,placeholder:c.$t(`aml.k1amlx189`),onKeyup:[E(e=>c.$emit(`saveNote`,p.id),[`enter`]),u[3]||=E(e=>c.$emit(`cancelNote`),[`esc`])]},null,40,_t),[[C,r.value]]),h(`button`,{class:`mini-btn`,onClick:e=>c.$emit(`saveNote`,p.id)},i(c.$t(`aml.k1amlx191`)),9,vt),h(`button`,{class:`mini-btn`,onClick:u[4]||=e=>c.$emit(`cancelNote`)},i(c.$t(`aml.k1amlx202`)),1)])):(d(),g(`span`,yt,[h(`span`,{class:`note`,title:p.note},i(p.note||`--`),9,bt),h(`span`,{class:`i-tabler-pencil edit-i`,title:c.$t(`aml.k1amlx189`),onClick:e=>c.$emit(`editNote`,p.id,p.note)},null,8,xt),h(`span`,{class:`i-tabler-trash edit-i`,title:c.$t(`aml.k1amlx190`),onClick:e=>c.$emit(`remove`,p.id,c.$t(`aml.k1amlx198`))},null,8,St)]))])],10,ut),n.expandedDs===p.id?(d(),g(`tr`,Ct,[h(`td`,wt,[n.dsDetails[p.id]?.loading?(d(),g(`div`,Tt,i(c.$t(`aml.k1amlx030`)),1)):n.dsDetails[p.id]?.error?(d(),g(`div`,Et,i(c.$t(`aml.k1amlx031`))+`:`+i(n.dsDetails[p.id]?.error),1)):n.dsDetails[p.id]?.report?(d(),g(`div`,Dt,[h(`div`,null,[h(`p`,Ot,i(c.$t(`aml.k1amlx027`)),1),h(`table`,kt,[h(`thead`,null,[h(`tr`,null,[h(`th`,null,i(c.$t(`aml.k1amlx033`)),1),h(`th`,null,i(c.$t(`aml.k1amlx034`)),1),h(`th`,At,i(c.$t(`aml.k1amlx035`)),1),h(`th`,jt,i(c.$t(`aml.k1amlx036`)),1),h(`th`,Mt,i(c.$t(`aml.k1amlx037`)),1),h(`th`,Nt,i(c.$t(`aml.k1amlx038`)),1),h(`th`,Pt,i(c.$t(`aml.k1amlx039`)),1)])]),h(`tbody`,null,[(d(!0),g(_,null,f(n.dsDetails[p.id]?.report?.nodeSummaries,t=>(d(),g(`tr`,{key:t.nodeId},[h(`td`,Ft,i(t.nodeId),1),h(`td`,null,[h(`small`,It,i(t.role),1)]),h(`td`,Lt,i(e(s)(t.cleanedRatio)),1),h(`td`,Rt,i(e(s)(t.missingRatio)),1),h(`td`,zt,i(e(o)(t.mean,3)),1),h(`td`,Bt,i(e(o)(t.std,3)),1),h(`td`,Vt,i(e(o)(t.min,2))+`~`+i(e(o)(t.max,2)),1)]))),128))])])]),h(`div`,null,[h(`p`,Ht,i(c.$t(`aml.k1amlx028`)),1),n.dsDetails[p.id]?.report?.lagEstimates.length?(d(),g(`table`,Ut,[h(`thead`,null,[h(`tr`,null,[h(`th`,null,i(c.$t(`aml.k1amlx040`)),1),h(`th`,null,i(c.$t(`aml.k1amlx041`)),1),h(`th`,Wt,i(c.$t(`aml.k1amlx042`)),1),h(`th`,Gt,i(c.$t(`aml.k1amlx043`)),1)])]),h(`tbody`,null,[(d(!0),g(_,null,f(n.dsDetails[p.id]?.report?.lagEstimates,t=>(d(),g(`tr`,{key:`${t.controlId}->${t.targetId}`},[h(`td`,Kt,i(t.controlId),1),h(`td`,qt,i(t.targetId),1),h(`td`,Jt,i(t.lagSteps),1),h(`td`,Yt,i(e(o)(t.corr,3)),1)]))),128))])])):(d(),g(`p`,Xt,i(c.$t(`aml.k1amlx032`)),1)),h(`p`,Zt,i(c.$t(`aml.k1amlx029`)),1),h(`p`,Qt,[S(i(c.$t(`aml.k1amlx044`))+` `,1),h(`b`,null,i(n.dsDetails[p.id]?.report?.runsUsed.length??0),1),S(` · `+i(c.$t(`aml.k1amlx045`))+` `,1),h(`b`,null,i(n.dsDetails[p.id]?.report?.runsDropped.length??0),1),S(` · `+i(c.$t(`aml.k1amlx046`))+` `,1),h(`b`,null,i(n.dsDetails[p.id]?.report?.windowCount.train)+`/`+i(n.dsDetails[p.id]?.report?.windowCount.val)+`/`+i(n.dsDetails[p.id]?.report?.windowCount.test),1)]),(d(!0),g(_,null,f(n.dsDetails[p.id]?.report?.runsDropped,t=>(d(),g(`p`,{key:t.runId,class:`mono drop-line`},` ✗ `+i(e(l)(t.runId))+` — `+i(t.reason),1))),128))])])):(d(),g(`p`,$t,i(c.$t(`aml.k1amlx047`)),1))])])):y(``,!0)],64))),128))])])])):(d(),g(`p`,en,i(c.$t(`aml.k1amlx019`)),1))]))}}),[[`__scopeId`,`data-v-ff727fc7`]]),{__name:`AmlDatasetTable`}),nn={class:`aw-tile zone`},rn={class:`zone-head`},an={class:`mono cnt`},on=[`title`],sn={key:0,class:`tbl-scroll`},cn={class:`tbl tbl-jobs`},ln={class:`prog-th`},un={class:`right`},dn=[`onClick`],fn={class:`mono`},pn={class:`mono dim`},mn={class:`mono dim`},hn={class:`mono dim`},gn={class:`prog-cell`},_n={class:`prog`},vn={class:`mono prog-num`},yn={class:`mono dim`},bn={class:`right acts`},xn=[`disabled`,`onClick`],Sn=[`disabled`,`onClick`],Cn=[`title`,`onClick`],wn={key:0,class:`detail-row`},Tn={colspan:`8`},En={key:0,class:`dim pad`},Dn={key:1,class:`err pad`},On={key:2,class:`det-grid`},kn={class:`det-title`},An={key:0,class:`sub-tbl`},jn={class:`num`},Mn={class:`num`},Nn={class:`mono gate-id`},Pn={class:`dim`},Fn={class:`mono num`},In={class:`mono num dim`},Ln={class:`dim gate-detail`},Rn={key:1,class:`dim`},zn={key:2,class:`mono dim gate-detail`},Bn={key:3,class:`err gate-detail`},Vn={class:`det-title`},Hn={key:0,class:`mono live-hint`},Un={class:`logs`},Wn={key:1,class:`empty`},Gn=Object.assign(O(u({__name:`AmlJobsTable`,props:{jobRows:{},expandedJob:{},jobDetails:{},confirmCancel:{},cancelling:{},confirmRetry:{},retrying:{}},emits:[`toggle`,`reload`,`cancel`,`retry`,`remove`],setup(r){let{fmtTime:a,fmtNum:o,shortId:s,statusLabel:c,isActiveStatus:l,canRetry:u}=A();return(p,m)=>(d(),g(`section`,nn,[h(`div`,rn,[h(`h2`,null,[m[1]||=h(`span`,{class:`i-tabler-brain`},null,-1),S(` `+i(p.$t(`aml.k1amlx074`))+` `,1),h(`b`,an,i(r.jobRows.length),1),r.jobRows.some(t=>e(l)(t.status))?(d(),g(`span`,{key:0,class:`live-dot`,title:p.$t(`aml.k1amlx091`)},null,8,on)):y(``,!0)]),h(`button`,{class:`mini-btn`,onClick:m[0]||=e=>p.$emit(`reload`)},i(p.$t(`aml.k1amlx017`)),1)]),r.jobRows.length?(d(),g(`div`,sn,[h(`table`,cn,[h(`thead`,null,[h(`tr`,null,[h(`th`,null,i(p.$t(`aml.k1amlx076`)),1),h(`th`,null,i(p.$t(`aml.k1amlx011`)),1),h(`th`,null,i(p.$t(`aml.k1amlx066`)),1),h(`th`,null,i(p.$t(`aml.k1amlx077`)),1),h(`th`,null,i(p.$t(`aml.k1amlx078`)),1),h(`th`,ln,i(p.$t(`aml.k1amlx079`)),1),h(`th`,null,i(p.$t(`aml.k1amlx020`)),1),h(`th`,un,i(p.$t(`aml.k1amlx127`)),1)])]),h(`tbody`,null,[(d(!0),g(_,null,f(r.jobRows,m=>(d(),g(_,{key:m.id},[h(`tr`,{class:t([`row-main`,{open:r.expandedJob===m.id}]),onClick:e=>p.$emit(`toggle`,m.id)},[h(`td`,fn,i(e(s)(m.id)),1),h(`td`,pn,i(e(s)(m.datasetId)),1),h(`td`,mn,i(m.purpose),1),h(`td`,null,[h(`span`,{class:t([`st-pill`,m.status])},i(e(c)(m.status)),3)]),h(`td`,hn,i(m.stage||`--`),1),h(`td`,gn,[h(`span`,_n,[h(`i`,{style:n({width:`${Math.max(0,Math.min(100,m.progress))}%`}),class:t({done:m.status===`done`,bad:m.status===`failed`})},null,6)]),h(`span`,vn,i(Math.round(m.progress))+`%`,1)]),h(`td`,yn,i(e(a)(m.createdAt)),1),h(`td`,bn,[e(l)(m.status)?(d(),g(`button`,{key:0,class:`mini-btn danger`,disabled:r.cancelling===m.id,onClick:w(e=>p.$emit(`cancel`,m.id),[`stop`])},i(r.confirmCancel===m.id?p.$t(`aml.k1amlx094`):r.cancelling===m.id?p.$t(`aml.k1amlx093`):p.$t(`aml.k1amlx071`)),9,xn)):y(``,!0),e(u)(m.status)?(d(),g(`button`,{key:1,class:`mini-btn`,disabled:r.retrying===m.id,onClick:w(e=>p.$emit(`retry`,m.id),[`stop`])},i(r.confirmRetry===m.id?p.$t(`aml.k1amlx096`):p.$t(`aml.k1amlx095`)),9,Sn)):y(``,!0),e(l)(m.status)?y(``,!0):(d(),g(`span`,{key:2,class:`i-tabler-trash edit-i`,title:p.$t(`aml.k1amlx190`),onClick:w(e=>p.$emit(`remove`,m.id,p.$t(`aml.k1amlx200`)),[`stop`])},null,8,Cn))])],10,dn),r.expandedJob===m.id?(d(),g(`tr`,wn,[h(`td`,Tn,[r.jobDetails[m.id]?.loading?(d(),g(`div`,En,i(p.$t(`aml.k1amlx030`)),1)):r.jobDetails[m.id]?.error?(d(),g(`div`,Dn,i(r.jobDetails[m.id]?.error),1)):(d(),g(`div`,On,[h(`div`,null,[h(`p`,kn,i(p.$t(`aml.k1amlx083`)),1),r.jobDetails[m.id]?.gates?.checks.length?(d(),g(`table`,An,[h(`thead`,null,[h(`tr`,null,[h(`th`,null,i(p.$t(`aml.k1amlx084`)),1),h(`th`,jn,i(p.$t(`aml.k1amlx085`)),1),h(`th`,Mn,i(p.$t(`aml.k1amlx086`)),1),h(`th`,null,i(p.$t(`aml.k1amlx118`)),1)])]),h(`tbody`,null,[(d(!0),g(_,null,f(r.jobDetails[m.id]?.gates?.checks,n=>(d(),g(`tr`,{key:n.id},[h(`td`,null,[h(`b`,Nn,i(n.id),1),h(`small`,Pn,i(n.name),1)]),h(`td`,Fn,i(e(o)(n.value)),1),h(`td`,In,i(e(o)(n.threshold)),1),h(`td`,null,[h(`span`,{class:t([`verdict`,n.pass?`pass`:`fail`])},i(n.pass?p.$t(`aml.k1amlx087`):p.$t(`aml.k1amlx088`)),3),h(`small`,Ln,i(n.detail),1)])]))),128))])])):(d(),g(`p`,Rn,i(p.$t(`aml.k1amlx082`)),1)),r.jobDetails[m.id]?.metrics?.oneStepTest?(d(),g(`p`,zn,[S(i(p.$t(`aml.k1amlx099`))+`: `+i(p.$t(`aml.k1amlx116`))+` `+i(e(o)(r.jobDetails[m.id]?.metrics?.oneStepTest?.nrmse))+` `,1),r.jobDetails[m.id]?.metrics?.rolloutTest?(d(),g(_,{key:0},[S(` · `+i(p.$t(`aml.k1amlx117`))+` `+i(e(o)(r.jobDetails[m.id]?.metrics?.rolloutTest?.nrmse)),1)],64)):y(``,!0)])):y(``,!0),m.error?(d(),g(`p`,Bn,i(p.$t(`aml.k1amlx092`))+`:`+i(m.error),1)):y(``,!0)]),h(`div`,null,[h(`p`,Vn,[S(i(p.$t(`aml.k1amlx089`))+` `,1),e(l)(m.status)?(d(),g(`span`,Hn,i(p.$t(`aml.k1amlx091`)),1)):y(``,!0)]),h(`pre`,Un,i((r.jobDetails[m.id]?.logs??[]).join(`
3
3
  `)||p.$t(`aml.k1amlx090`)),1)])]))])])):y(``,!0)],64))),128))])])])):(d(),g(`p`,Wn,i(p.$t(`aml.k1amlx075`)),1))]))}}),[[`__scopeId`,`data-v-89544017`]]),{__name:`AmlJobsTable`}),Kn={class:`aw-tile zone`},qn={class:`zone-head`},Jn={class:`mono cnt`},Yn={class:`zone-actions`},Xn={value:``},Zn=[`value`],Qn=[`disabled`],$n={key:0,class:`tbl-scroll`},er={class:`tbl tbl-exp`},tr=[`title`],nr=[`title`],rr={class:`mono`},ir={key:0,class:`best-tag`},ar={class:`mono dim`},or={class:`note-cell`},sr=[`title`],cr={class:`mono dim`},lr={class:`mono num`},ur={class:`mono num`},dr={key:1,class:`empty`},fr={key:2,class:`err pad`},pr=Object.assign(O(u({__name:`AmlExperimentsTable`,props:v({datasets:{},experiments:{},bestExpId:{},expError:{}},{expDatasetId:{required:!0},expDatasetIdModifiers:{}}),emits:v([`reload`],[`update:expDatasetId`]),setup(n){let r=c(n,`expDatasetId`),{fmtTime:a,fmtNum:o,shortId:s,expStatusLabel:l}=A();return(c,u)=>(d(),g(`section`,Kn,[h(`div`,qn,[h(`h2`,null,[u[3]||=h(`span`,{class:`i-tabler-trophy`},null,-1),S(` `+i(c.$t(`aml.k1amlx109`))+` `,1),h(`b`,Jn,i(n.experiments.length),1)]),h(`div`,Yn,[x(h(`select`,{"onUpdate:modelValue":u[0]||=e=>r.value=e,class:`inp-sel`,onChange:u[1]||=e=>c.$emit(`reload`)},[h(`option`,Xn,i(c.$t(`aml.k1amlx111`)),1),(d(!0),g(_,null,f(n.datasets,t=>(d(),g(`option`,{key:t.id,value:t.id},i(e(s)(t.id))+` · `+i(e(s)(t.recipeId)),9,Zn))),128))],544),[[T,r.value]]),h(`button`,{class:`mini-btn`,disabled:!r.value,onClick:u[2]||=e=>c.$emit(`reload`)},i(c.$t(`aml.k1amlx017`)),9,Qn)])]),n.experiments.length?(d(),g(`div`,$n,[h(`table`,er,[h(`thead`,null,[h(`tr`,null,[h(`th`,null,i(c.$t(`aml.k1amlx113`)),1),h(`th`,null,i(c.$t(`aml.k1amlx020`)),1),h(`th`,null,i(c.$t(`aml.k1amlx114`)),1),h(`th`,null,i(c.$t(`aml.k1amlx115`)),1),h(`th`,{class:`num`,title:c.$t(`aml.k1amlx121`)},i(c.$t(`aml.k1amlx116`)),9,tr),h(`th`,{class:`num`,title:c.$t(`aml.k1amlx122`)},i(c.$t(`aml.k1amlx117`)),9,nr),h(`th`,null,i(c.$t(`aml.k1amlx118`)),1)])]),h(`tbody`,null,[(d(!0),g(_,null,f(n.experiments,r=>(d(),g(`tr`,{key:r.id,class:t({best:r.id===n.bestExpId})},[h(`td`,rr,[r.id===n.bestExpId?(d(),g(`span`,ir,i(c.$t(`aml.k1amlx120`)),1)):y(``,!0),S(` `+i(e(s)(r.id)),1)]),h(`td`,ar,i(e(a)(r.createdAt)),1),h(`td`,or,[h(`span`,{class:`note`,title:r.changeNote},i(r.changeNote||`--`),9,sr)]),h(`td`,cr,i(r.parentExperimentId?e(s)(r.parentExperimentId):`--`),1),h(`td`,lr,i(e(o)(r.metrics?.oneStepTest?.nrmse)),1),h(`td`,ur,i(e(o)(r.metrics?.rolloutTest?.nrmse)),1),h(`td`,null,[h(`span`,{class:t([`st-pill`,r.status])},i(e(l)(r.status)),3)])],2))),128))])])])):(d(),g(`p`,dr,i(r.value?c.$t(`aml.k1amlx112`):c.$t(`aml.k1amlx110`)),1)),n.expError?(d(),g(`p`,fr,i(n.expError),1)):y(``,!0)]))}}),[[`__scopeId`,`data-v-5b7fda0b`]]),{__name:`AmlExperimentsTable`}),mr={class:`aw-tile zone`},hr={class:`zone-head`},gr={class:`mono cnt`},_r={key:0,class:`tbl-scroll`},vr={class:`tbl tbl-models`},yr=[`title`],br={class:`right`},xr={class:`mono`},Sr=[`title`],Cr={class:`label-text`},wr={class:`mono dim`},Tr={class:`mono dim`},Er={class:`mono dim`},Dr={class:`mono dim`},Or={key:0,class:`note-edit`},kr=[`placeholder`,`onKeyup`],Ar=[`onClick`],jr={key:1,class:`note-text`},Mr=[`title`],Nr=[`title`,`onClick`],Pr={class:`right acts`},Fr=[`disabled`,`onClick`],Ir={key:0,class:`dim`},Lr=[`title`,`onClick`],Rr={key:1,class:`empty`},zr=Object.assign(O(u({__name:`AmlModelsTable`,props:v({models:{},noteEditing:{},confirmPromote:{},promoting:{}},{noteDraft:{required:!0},noteDraftModifiers:{}}),emits:v([`reload`,`editNote`,`saveNote`,`cancelNote`,`promote`,`remove`],[`update:noteDraft`]),setup(n){let r=c(n,`noteDraft`),{fmtTime:a,fmtNum:o,shortId:s}=A();return(c,l)=>(d(),g(`section`,mr,[h(`div`,hr,[h(`h2`,null,[l[5]||=h(`span`,{class:`i-tabler-cube-3d-sphere`},null,-1),S(` `+i(c.$t(`aml.k1amlx123`))+` `,1),h(`b`,gr,i(n.models.length),1)]),h(`button`,{class:`mini-btn`,onClick:l[0]||=e=>c.$emit(`reload`)},i(c.$t(`aml.k1amlx017`)),1)]),n.models.length?(d(),g(`div`,_r,[h(`table`,vr,[h(`thead`,null,[h(`tr`,null,[h(`th`,null,i(c.$t(`aml.k1amlx125`)),1),h(`th`,null,i(c.$t(`aml.k1amlx204`)),1),h(`th`,null,i(c.$t(`aml.k1amlx021`)),1),h(`th`,null,i(c.$t(`aml.k1amlx022`)),1),h(`th`,null,i(c.$t(`aml.k1amlx078`)),1),h(`th`,{title:c.$t(`aml.k1amlx126`)},i(c.$t(`aml.k1amlx099`)),9,yr),h(`th`,null,i(c.$t(`aml.k1amlx020`)),1),h(`th`,null,i(c.$t(`aml.k1amlx026`)),1),h(`th`,br,i(c.$t(`aml.k1amlx127`)),1)])]),h(`tbody`,null,[(d(!0),g(_,null,f(n.models,u=>(d(),g(`tr`,{key:u.id},[h(`td`,xr,i(e(s)(u.id)),1),h(`td`,{class:`label-cell`,title:u.description||u.label},[h(`span`,Cr,i(u.label||`--`),1)],8,Sr),h(`td`,wr,i(e(s)(u.productId)),1),h(`td`,Tr,i(e(s)(u.recipeId)),1),h(`td`,null,[h(`span`,{class:t([`stage-pill`,u.stage])},i(u.stage),3)]),h(`td`,Er,i(c.$t(`aml.k1amlx116`))+` `+i(e(o)(u.metrics?.oneStepTest?.nrmse))+` · `+i(c.$t(`aml.k1amlx117`))+` `+i(e(o)(u.metrics?.rolloutTest?.nrmse)),1),h(`td`,Dr,i(e(a)(u.createdAt)),1),h(`td`,{class:`note-cell`,onClick:l[4]||=w(()=>{},[`stop`])},[n.noteEditing===u.id?(d(),g(`div`,Or,[x(h(`input`,{"onUpdate:modelValue":l[1]||=e=>r.value=e,placeholder:c.$t(`aml.k1amlx189`),onKeyup:[E(e=>c.$emit(`saveNote`,u.id),[`enter`]),l[2]||=E(e=>c.$emit(`cancelNote`),[`esc`])]},null,40,kr),[[C,r.value]]),h(`button`,{class:`mini-btn`,onClick:e=>c.$emit(`saveNote`,u.id)},i(c.$t(`aml.k1amlx191`)),9,Ar),h(`button`,{class:`mini-btn`,onClick:l[3]||=e=>c.$emit(`cancelNote`)},i(c.$t(`aml.k1amlx202`)),1)])):(d(),g(`span`,jr,[h(`span`,{class:`note`,title:u.note},i(u.note||`--`),9,Mr),h(`span`,{class:`i-tabler-pencil edit-i`,title:c.$t(`aml.k1amlx189`),onClick:e=>c.$emit(`editNote`,u.id,u.note)},null,8,Nr)]))]),h(`td`,Pr,[(d(!0),g(_,null,f(e(k)(u),e=>(d(),g(`button`,{key:e.to,class:t([`mini-btn`,{danger:e.to===`retired`}]),disabled:n.promoting===`${u.id}:${e.to}`,onClick:t=>c.$emit(`promote`,u,e.to)},i(n.confirmPromote===`${u.id}:${e.to}`?c.$t(`aml.k1amlx131`):c.$t(e.key)),11,Fr))),128)),e(k)(u).length===0?(d(),g(`span`,Ir,`--`)):y(``,!0),h(`span`,{class:`i-tabler-trash edit-i`,title:c.$t(`aml.k1amlx190`),onClick:e=>c.$emit(`remove`,u.id,c.$t(`aml.k1amlx199`))},null,8,Lr)])]))),128))])])])):(d(),g(`p`,Rr,i(c.$t(`aml.k1amlx124`)),1))]))}}),[[`__scopeId`,`data-v-e42319a9`]]),{__name:`AmlModelsTable`}),Br={class:`aw-tile zone`},Vr={class:`zone-head`},Hr={value:``},Ur=[`value`],Wr={key:0,class:`pc-body`},Gr={class:`det-title`},Kr={class:`io-grid mono`},qr={class:`io-item`},Jr={class:`io-item`},Yr={class:`io-item`},Xr=[`title`],Zr=[`title`],Qr=[`title`],$r={class:`pc-form`},ei={class:`pc-field`},ti=[`placeholder`],ni={class:`pc-side`},ri={class:`pc-field`},ii={class:`pc-field`},ai=[`disabled`],oi={class:`hint dim`},si={key:0,class:`err`},ci={class:`det-title`},li={class:`sub-tbl`},ui={class:`num`},di={class:`num`},fi={key:0,class:`dim`},pi={class:`mono num`},mi={class:`mono num dim`},hi={class:`mono dim gate-detail`},gi={key:1,class:`empty`},_i={key:1,class:`empty`},vi=Object.assign(O(u({__name:`AmlPredictConsole`,props:{models:{}},setup(t){let n=t,{productionModels:r,predModelId:o,predModel:s,predHistory:c,predControls:l,predSteps:u,predBusy:p,predError:m,predResult:v,onPullLatest:b,doPredict:w}=j(()=>n.models),{fmtNum:E,shortId:D}=A();return(t,n)=>(d(),g(`section`,Br,[h(`div`,Vr,[h(`h2`,null,[n[6]||=h(`span`,{class:`i-tabler-chart-line`},null,-1),S(` `+i(t.$t(`aml.k1amlx133`)),1)]),e(r).length?x((d(),g(`select`,{key:0,"onUpdate:modelValue":n[0]||=e=>a(o)?o.value=e:null,class:`inp-sel`},[h(`option`,Hr,i(t.$t(`aml.k1amlx134`)),1),(d(!0),g(_,null,f(e(r),t=>(d(),g(`option`,{key:t.id,value:t.id},i(e(D)(t.id))+` · `+i(e(D)(t.recipeId)),9,Ur))),128))],512)),[[T,e(o)]]):y(``,!0)]),e(r).length?(d(),g(_,{key:0},[e(s)?.ioSpec?(d(),g(`div`,Wr,[h(`p`,Gr,i(t.$t(`aml.k1amlx136`)),1),h(`div`,Kr,[h(`span`,qr,[S(i(t.$t(`aml.k1amlx140`))+` `,1),h(`b`,null,i(e(s).ioSpec.historySteps),1)]),h(`span`,Jr,[S(i(t.$t(`aml.k1amlx141`))+` `,1),h(`b`,null,i(e(s).ioSpec.horizonSteps),1)]),h(`span`,Yr,[S(i(t.$t(`aml.k1amlx142`))+` `,1),h(`b`,null,i(e(s).ioSpec.beatMs)+`ms`,1)]),h(`span`,{class:`io-item`,title:e(s).ioSpec.allNodes.join(`, `)},[S(i(t.$t(`aml.k1amlx137`))+`(`+i(e(s).ioSpec.allNodes.length)+`) `,1),h(`b`,null,i(e(s).ioSpec.allNodes.map(t=>e(D)(t)).join(`, `)),1)],8,Xr),h(`span`,{class:`io-item`,title:e(s).ioSpec.controlNodes.join(`, `)},[S(i(t.$t(`aml.k1amlx138`))+` `,1),h(`b`,null,i(e(s).ioSpec.controlNodes.map(t=>e(D)(t)).join(`, `)),1)],8,Zr),h(`span`,{class:`io-item`,title:e(s).ioSpec.targetNodes.join(`, `)},[S(i(t.$t(`aml.k1amlx139`))+` `,1),h(`b`,null,i(e(s).ioSpec.targetNodes.map(t=>e(D)(t)).join(`, `)),1)],8,Qr)]),h(`div`,$r,[h(`label`,ei,[h(`span`,null,i(t.$t(`aml.k1amlx143`)),1),x(h(`textarea`,{"onUpdate:modelValue":n[1]||=e=>a(c)?c.value=e:null,class:`inp area`,rows:`5`,placeholder:t.$t(`aml.k1amlx144`)},null,8,ti),[[C,e(c)]])]),h(`div`,ni,[h(`button`,{class:`ghost-btn`,onClick:n[2]||=(...t)=>e(b)&&e(b)(...t)},[n[7]||=h(`span`,{class:`i-tabler-download`},null,-1),S(` `+i(t.$t(`aml.k1amlx145`)),1)]),h(`label`,ri,[h(`span`,null,i(t.$t(`aml.k1amlx156`)),1),x(h(`textarea`,{"onUpdate:modelValue":n[3]||=e=>a(l)?l.value=e:null,class:`inp area`,rows:`3`,placeholder:`[[…]]`},null,512),[[C,e(l)]])]),h(`label`,ii,[h(`span`,null,i(t.$t(`aml.k1amlx147`)),1),x(h(`input`,{"onUpdate:modelValue":n[4]||=e=>a(u)?u.value=e:null,type:`number`,min:`1`,class:`inp`},null,512),[[C,e(u),void 0,{number:!0}]])]),h(`button`,{class:`pill-btn`,disabled:e(p)||!e(c).trim(),onClick:n[5]||=(...t)=>e(w)&&e(w)(...t)},i(e(p)?t.$t(`aml.k1amlx149`):t.$t(`aml.k1amlx148`)),9,ai)])]),h(`p`,oi,i(t.$t(`aml.k1amlx146`)),1),e(m)?(d(),g(`p`,si,i(e(m)),1)):y(``,!0),e(v)?(d(),g(_,{key:1},[h(`p`,ci,i(t.$t(`aml.k1amlx150`)),1),h(`table`,li,[h(`thead`,null,[h(`tr`,null,[h(`th`,ui,i(t.$t(`aml.k1amlx151`)),1),h(`th`,di,i(t.$t(`aml.k1amlx152`)),1),(d(!0),g(_,null,f(e(v).targetNodes,(n,r)=>(d(),g(`th`,{key:n,class:`num`},[S(i(e(D)(n)),1),r===0?(d(),g(`small`,fi,` (`+i(t.$t(`aml.k1amlx041`))+`)`,1)):y(``,!0)]))),128))])]),h(`tbody`,null,[(d(!0),g(_,null,f(e(v).forecast,(t,n)=>(d(),g(`tr`,{key:n},[h(`td`,pi,i(n+1),1),h(`td`,mi,i(e(E)((n+1)*e(v).beatMs/1e3,1)),1),(d(!0),g(_,null,f(t,(t,n)=>(d(),g(`td`,{key:n,class:`mono num`},i(e(E)(t,3)),1))),128))]))),128))])]),h(`p`,hi,i(t.$t(`aml.k1amlx155`))+`:`+i(e(v).assumptions),1)],64)):y(``,!0)])):(d(),g(`p`,gi,i(t.$t(`aml.k1amlx134`)),1))],64)):(d(),g(`p`,_i,i(t.$t(`aml.k1amlx135`)),1))]))}}),[[`__scopeId`,`data-v-57c9a30a`]]),{__name:`AmlPredictConsole`}),yi={class:`modal`},bi={class:`m-title`},xi={class:`f-grid`},Si={class:`f`},Ci={class:`f`},wi={class:`f`},Ti={class:`sec-label`},Ei={class:`node-rows`},Di=[`onUpdate:modelValue`,`placeholder`],Oi=[`onUpdate:modelValue`],ki={value:`control`},Ai={value:`feature`},ji={value:`target`},Mi=[`disabled`,`onClick`],Ni={class:`f-grid`},Pi={class:`f`},Fi={class:`f`},Ii={class:`f`},Li={class:`f`},Ri={class:`f`},zi={class:`f`},Bi={class:`f`},Vi={value:`mpc_surrogate`},Hi={value:`quality_predict`},Ui={class:`f wide`},Wi=[`placeholder`],Gi={key:0,class:`m-err`},Ki={class:`m-actions`},qi=[`disabled`],Ji=Object.assign(O(u({__name:`AmlDatasetFormModal`,props:{open:{type:Boolean,required:!0},openModifiers:{}},emits:v([`created`],[`update:open`]),setup(e,{emit:t}){let n=t,a=c(e,`open`),{t:s}=ee(),{shortId:l}=A(),u=o(!1),p=o(``),v=r({lineId:``,productId:``,recipeId:``,beatMs:5e3,historySteps:60,horizonSteps:30,valRatio:.15,testRatio:.15,seed:7,purpose:`mpc_surrogate`,note:``}),b=r([{nodeId:``,role:`control`},{nodeId:``,role:`target`}]);m(a,e=>{e&&(p.value=``)});function E(){b.push({nodeId:``,role:`feature`})}function D(e){b.splice(e,1)}async function te(){p.value=``;let e=b.filter(e=>e.nodeId.trim()).map(e=>({nodeId:e.nodeId.trim(),role:e.role}));if(!v.lineId.trim()||!v.productId.trim()||!v.recipeId.trim()){p.value=s(`aml.k1amlx161`);return}if(e.length<2||!e.some(e=>e.role===`target`)){p.value=s(`aml.k1amlx054`);return}u.value=!0;try{let t=await ae(`/datasets`,{method:`POST`,body:JSON.stringify({lineId:v.lineId.trim(),productId:v.productId.trim(),recipeId:v.recipeId.trim(),nodes:e,beatMs:Number(v.beatMs),window:{historySteps:Number(v.historySteps),horizonSteps:Number(v.horizonSteps)},split:{valRatio:Number(v.valRatio),testRatio:Number(v.testRatio),seed:Number(v.seed)},purpose:v.purpose,note:v.note.trim()||void 0})});ne.success(s(`aml.k1amlx073`,{p0:l(t.dataset.id),p1:t.dataset.rowCount})),a.value=!1,n(`created`)}catch(e){p.value=ie(e)}finally{u.value=!1}}return(e,t)=>a.value?(d(),g(`div`,{key:0,class:`modal-mask`,onClick:t[12]||=w(e=>a.value=!1,[`self`])},[h(`div`,yi,[h(`h3`,bi,i(e.$t(`aml.k1amlx050`)),1),h(`div`,xi,[h(`label`,Si,[h(`span`,null,[S(i(e.$t(`aml.k1amlx051`)),1),t[13]||=h(`em`,null,`*`,-1)]),x(h(`input`,{"onUpdate:modelValue":t[0]||=e=>v.lineId=e,class:`inp`,placeholder:`line-ov-01`},null,512),[[C,v.lineId]])]),h(`label`,Ci,[h(`span`,null,[S(i(e.$t(`aml.k1amlx052`)),1),t[14]||=h(`em`,null,`*`,-1)]),x(h(`input`,{"onUpdate:modelValue":t[1]||=e=>v.productId=e,class:`inp`},null,512),[[C,v.productId]])]),h(`label`,wi,[h(`span`,null,[S(i(e.$t(`aml.k1amlx053`)),1),t[15]||=h(`em`,null,`*`,-1)]),x(h(`input`,{"onUpdate:modelValue":t[2]||=e=>v.recipeId=e,class:`inp`},null,512),[[C,v.recipeId]])])]),h(`p`,Ti,i(e.$t(`aml.k1amlx054`)),1),h(`div`,Ei,[(d(!0),g(_,null,f(b,(t,n)=>(d(),g(`div`,{key:n,class:`node-row`},[x(h(`input`,{"onUpdate:modelValue":e=>t.nodeId=e,class:`inp grow`,placeholder:e.$t(`aml.k1amlx056`)},null,8,Di),[[C,t.nodeId]]),x(h(`select`,{"onUpdate:modelValue":e=>t.role=e,class:`inp sel`},[h(`option`,ki,i(e.$t(`aml.k1amlx057`)),1),h(`option`,Ai,i(e.$t(`aml.k1amlx058`)),1),h(`option`,ji,i(e.$t(`aml.k1amlx059`)),1)],8,Oi),[[T,t.role]]),h(`button`,{class:`mini-btn danger`,disabled:b.length<=1,onClick:e=>D(n)},` ✕ `,8,Mi)]))),128)),h(`button`,{class:`mini-btn`,onClick:E},[t[16]||=h(`span`,{class:`i-tabler-plus`},null,-1),S(` `+i(e.$t(`aml.k1amlx055`)),1)])]),h(`div`,Ni,[h(`label`,Pi,[h(`span`,null,i(e.$t(`aml.k1amlx060`)),1),x(h(`input`,{"onUpdate:modelValue":t[3]||=e=>v.beatMs=e,type:`number`,min:`1000`,step:`500`,class:`inp`},null,512),[[C,v.beatMs,void 0,{number:!0}]])]),h(`label`,Fi,[h(`span`,null,i(e.$t(`aml.k1amlx061`)),1),x(h(`input`,{"onUpdate:modelValue":t[4]||=e=>v.historySteps=e,type:`number`,min:`1`,class:`inp`},null,512),[[C,v.historySteps,void 0,{number:!0}]])]),h(`label`,Ii,[h(`span`,null,i(e.$t(`aml.k1amlx062`)),1),x(h(`input`,{"onUpdate:modelValue":t[5]||=e=>v.horizonSteps=e,type:`number`,min:`1`,class:`inp`},null,512),[[C,v.horizonSteps,void 0,{number:!0}]])]),h(`label`,Li,[h(`span`,null,i(e.$t(`aml.k1amlx063`)),1),x(h(`input`,{"onUpdate:modelValue":t[6]||=e=>v.valRatio=e,type:`number`,min:`0`,max:`0.8`,step:`0.05`,class:`inp`},null,512),[[C,v.valRatio,void 0,{number:!0}]])]),h(`label`,Ri,[h(`span`,null,i(e.$t(`aml.k1amlx064`)),1),x(h(`input`,{"onUpdate:modelValue":t[7]||=e=>v.testRatio=e,type:`number`,min:`0`,max:`0.8`,step:`0.05`,class:`inp`},null,512),[[C,v.testRatio,void 0,{number:!0}]])]),h(`label`,zi,[h(`span`,null,i(e.$t(`aml.k1amlx065`)),1),x(h(`input`,{"onUpdate:modelValue":t[8]||=e=>v.seed=e,type:`number`,class:`inp`},null,512),[[C,v.seed,void 0,{number:!0}]])]),h(`label`,Bi,[h(`span`,null,i(e.$t(`aml.k1amlx066`)),1),x(h(`select`,{"onUpdate:modelValue":t[9]||=e=>v.purpose=e,class:`inp`},[h(`option`,Vi,i(e.$t(`aml.k1amlx067`)),1),h(`option`,Hi,i(e.$t(`aml.k1amlx068`)),1)],512),[[T,v.purpose]])]),h(`label`,Ui,[h(`span`,null,i(e.$t(`aml.k1amlx026`)),1),x(h(`input`,{"onUpdate:modelValue":t[10]||=e=>v.note=e,class:`inp`,placeholder:e.$t(`aml.k1amlx069`)},null,8,Wi),[[C,v.note]])])]),p.value?(d(),g(`p`,Gi,i(p.value),1)):y(``,!0),h(`div`,Ki,[h(`button`,{class:`ghost-btn`,onClick:t[11]||=e=>a.value=!1},i(e.$t(`aml.k1amlx071`)),1),h(`button`,{class:`pill-btn`,disabled:u.value,onClick:te},i(u.value?e.$t(`aml.k1amlx070`):e.$t(`aml.k1amlx072`)),9,qi)])])])):y(``,!0)}}),[[`__scopeId`,`data-v-5ac31f7e`]]),{__name:`AmlDatasetFormModal`}),Yi={class:`page`},Xi=O(u({__name:`index`,setup(t){let{t:n}=ee();ge({layout:`default`}),D({title:()=>n(`aml.k1amlx160`)});let{overview:r,overviewError:i,env:c,envBusy:u,inventory:f,pythonText:h,venvText:_,uvText:v,uvSourceText:x,blockerText:S,rootSourceLabel:C,loadOverview:w,loadEnv:T,loadInventory:E,startEnvPoll:ne,stopEnvPoll:O,installUv:ie,createVenv:ae,recheckEnv:k,pruneOrphans:A}=ue(),{datasets:j,expandedDs:ve,dsDetails:M,loadDatasets:N,toggleDs:ye}=oe(),{jobRows:P,jobDetails:F,expandedJob:I,confirmCancel:xe,cancelling:Ce,confirmRetry:we,retrying:Te,loadJobs:L,toggleJob:Ee,refreshJobLogs:De,onCancelJob:Oe,onRetryJob:R}=pe(),{expDatasetId:z,experiments:B,expError:Ae,bestExpId:je,loadExperiments:V}=de(),{models:H,confirmPromote:Me,promoting:Ne,loadModels:U,onPromote:Pe}=me({reloadOverview:w}),{noteEditing:W,noteDraft:G,startEditNote:K,cancelEditNote:q,saveNote:J}=he({reloadDatasets:N,reloadModels:U}),{removeEntity:Y}=se({reloadDatasets:N,reloadModels:U,reloadJobs:L,reloadOverview:w,reloadInventory:E}),X=o(!1);function Fe(){w(),T(),E(),N(),L(),U()}let Z=fe(),Ie=re(),Q=null,$=null;return l(()=>{Ie.ensureConnected(),Q=Z.ensure(),w(),T(),E(),N(),L(),U(),(c.value?.task?.status??r.value?.env?.task?.status)===`running`&&(u.value=!0,ne()),_e(()=>{w(),L()},8e3,{bgMs:3e4}),$=te(()=>{let e=I.value;if(!e||document.hidden)return;let t=P.value.find(t=>t.id===e);t&&ce(t.status)&&De(e)},5e3)}),s(()=>{Q?.(),$&&clearInterval($),O()}),m(()=>Z.lastJob.value,e=>{e&&le(e.status)&&L()}),m(()=>Z.lastModel.value,()=>{U()}),m(()=>Z.lastDataset.value,()=>{N()}),(t,n)=>(d(),g(`div`,Yi,[p(be,{overview:e(r),env:e(c),"python-text":e(h),"venv-text":e(_),"uv-text":e(v)},null,8,[`overview`,`env`,`python-text`,`venv-text`,`uv-text`]),p(Se,{overview:e(r)},null,8,[`overview`]),p(ke,{overview:e(r),"overview-error":e(i),"python-text":e(h),"venv-text":e(_),onReload:Fe},null,8,[`overview`,`overview-error`,`python-text`,`venv-text`]),e(c)?(d(),b(tt,{key:0,env:e(c),inventory:e(f),"env-busy":e(u),"uv-text":e(v),"uv-source-text":e(x),"blocker-text":e(S),"root-source-label":e(C),onRecheck:e(k),onInstallUv:e(ie),onCreateVenv:e(ae),onPrune:e(A)},null,8,[`env`,`inventory`,`env-busy`,`uv-text`,`uv-source-text`,`blocker-text`,`root-source-label`,`onRecheck`,`onInstallUv`,`onCreateVenv`,`onPrune`])):y(``,!0),p(tn,{"note-draft":e(G),"onUpdate:noteDraft":n[0]||=e=>a(G)?G.value=e:null,datasets:e(j),"expanded-ds":e(ve),"ds-details":e(M),"note-editing":e(W),onToggle:e(ye),onReload:e(N),onCreate:n[1]||=e=>X.value=!0,onEditNote:e(K),onSaveNote:n[2]||=t=>e(J)(`datasets`,t),onCancelNote:e(q),onRemove:n[3]||=(t,n)=>e(Y)(`datasets`,t,n)},null,8,[`note-draft`,`datasets`,`expanded-ds`,`ds-details`,`note-editing`,`onToggle`,`onReload`,`onEditNote`,`onCancelNote`]),p(Gn,{"job-rows":e(P),"expanded-job":e(I),"job-details":e(F),"confirm-cancel":e(xe),cancelling:e(Ce),"confirm-retry":e(we),retrying:e(Te),onToggle:e(Ee),onReload:e(L),onCancel:e(Oe),onRetry:e(R),onRemove:n[4]||=(t,n)=>e(Y)(`jobs`,t,n)},null,8,[`job-rows`,`expanded-job`,`job-details`,`confirm-cancel`,`cancelling`,`confirm-retry`,`retrying`,`onToggle`,`onReload`,`onCancel`,`onRetry`]),p(pr,{"exp-dataset-id":e(z),"onUpdate:expDatasetId":n[5]||=e=>a(z)?z.value=e:null,datasets:e(j),experiments:e(B),"best-exp-id":e(je),"exp-error":e(Ae),onReload:e(V)},null,8,[`exp-dataset-id`,`datasets`,`experiments`,`best-exp-id`,`exp-error`,`onReload`]),p(zr,{"note-draft":e(G),"onUpdate:noteDraft":n[6]||=e=>a(G)?G.value=e:null,models:e(H),"note-editing":e(W),"confirm-promote":e(Me),promoting:e(Ne),onReload:e(U),onEditNote:e(K),onSaveNote:n[7]||=t=>e(J)(`models`,t),onCancelNote:e(q),onPromote:e(Pe),onRemove:n[8]||=(t,n)=>e(Y)(`models`,t,n)},null,8,[`note-draft`,`models`,`note-editing`,`confirm-promote`,`promoting`,`onReload`,`onEditNote`,`onCancelNote`,`onPromote`]),p(vi,{models:e(H)},null,8,[`models`]),p(Ji,{open:X.value,"onUpdate:open":n[9]||=e=>X.value=e,onCreated:e(N)},null,8,[`open`,`onCreated`])]))}}),[[`__scopeId`,`data-v-68be5b34`]]);export{Xi as default};
@@ -1 +1 @@
1
- import{N as e,mt as t,v as n}from"./CavpkQb0.js";import{P as r,S as i,V as a,W as o,et as s,f as c,h as l,i as u,j as d}from"./ByMj6e7s.js";import{n as f}from"./Cnrmlixo.js";import{t as p}from"./Br3MggOL.js";import{t as m}from"./BDNMzG2s2.js";var h=[`data-plugin-slot`],g=[`data-plugin-panel`],_={class:`plugin-slot-title`},v=Object.assign(m(i({__name:`PluginSlot`,props:{slotName:{}},setup(i){let m=i,{panelsOf:v}=p(),y=v(m.slotName),{t:b}=f(),x=new Map;function S(e){return`${e.plugin}/${e.name}`}function C(e){if(e.titleKey){let t=e.titleKey.startsWith(`plugin.`)?e.titleKey:`plugin.${e.plugin}.${e.titleKey}`,n=b(t);if(n!==t)return n}return e.title??`${e.plugin}.${e.name}`}async function w(){await d();let e=T.value;if(!e)return;let t=new Set(y.value.map(S));for(let[e,n]of[...x.entries()])if(!t.has(e)){try{n.cleanup?.()}catch{}n.el.remove(),x.delete(e)}for(let t of y.value){let n=S(t);if(x.has(n))continue;let r=e.querySelector(`[data-plugin-panel="${n}"]`);if(r)try{let e=await t.mount(r);x.set(n,{el:r,cleanup:typeof e==`function`?e:void 0})}catch(e){console.warn(`[plugin-slot] 面板渲染失败 ${n}:`,e)}}}let T=n(null);return s(y,()=>void w(),{deep:!0,immediate:!0}),r(()=>{for(let e of x.values())try{e.cleanup?.()}catch{}x.clear()}),(n,r)=>(a(),l(`div`,{ref_key:`hostRef`,ref:T,class:`plugin-slot`,"data-plugin-slot":i.slotName},[(a(!0),l(u,null,o(e(y),e=>(a(),l(`div`,{key:S(e),class:`plugin-slot-panel`,"data-plugin-panel":S(e)},[c(`div`,_,t(C(e)),1)],8,g))),128))],8,h))}}),[[`__scopeId`,`data-v-f86b8e9c`]]),{__name:`WorkshopPluginSlot`});export{v as t};
1
+ import{N as e,mt as t,v as n}from"./CavpkQb0.js";import{P as r,S as i,V as a,W as o,et as s,f as c,h as l,i as u,j as d}from"./ByMj6e7s.js";import{n as f}from"./Cnrmlixo.js";import{t as p}from"./Br3MggOL.js";import{t as m}from"./BDNMzG2s2.js";var h=[`data-plugin-slot`],g=[`data-plugin-panel`],_={class:`plugin-slot-title`},v=Object.assign(m(i({__name:`PluginSlot`,props:{slotName:{}},setup(i){let m=i,{panelsOf:v}=p(),y=v(m.slotName),{t:b}=f(),x=new Map;function S(e){return`${e.plugin}/${e.name}`}function C(e){if(e.titleKey){let t=e.titleKey.startsWith(`plugin.`)?e.titleKey:`plugin.${e.plugin}.${e.titleKey}`,n=b(t);if(n!==t)return n}return e.title??`${e.plugin}.${e.name}`}async function w(){await d();let e=T.value;if(!e)return;let t=new Set(y.value.map(S));for(let[e,n]of[...x.entries()])if(!t.has(e)){try{n.cleanup?.()}catch{}n.el.remove(),x.delete(e)}for(let t of y.value){let n=S(t);if(x.has(n))continue;let r=e.querySelector(`[data-plugin-panel="${n}"]`);if(r)try{let e=await t.mount(r);x.set(n,{el:r,cleanup:typeof e==`function`?e:void 0})}catch(e){console.warn(`[plugin-slot] panel render failed ${n}:`,e)}}}let T=n(null);return s(y,()=>void w(),{deep:!0,immediate:!0}),r(()=>{for(let e of x.values())try{e.cleanup?.()}catch{}x.clear()}),(n,r)=>(a(),l(`div`,{ref_key:`hostRef`,ref:T,class:`plugin-slot`,"data-plugin-slot":i.slotName},[(a(!0),l(u,null,o(e(y),e=>(a(),l(`div`,{key:S(e),class:`plugin-slot-panel`,"data-plugin-panel":S(e)},[c(`div`,_,t(C(e)),1)],8,g))),128))],8,h))}}),[[`__scopeId`,`data-v-2f402227`]]),{__name:`WorkshopPluginSlot`});export{v as t};
@@ -1 +1 @@
1
- import{t as e}from"./DK3Fl9T5.js";import{v as t}from"./CavpkQb0.js";import{et as n}from"./ByMj6e7s.js";import{n as r}from"./Cnrmlixo.js";import{a as i}from"./wDPc4SSR.js";import{t as a}from"./JgheoP3e.js";import{t as o}from"./CcGuXiOa.js";var s=e({useTeamPluginDialog:()=>c});function c(e){let s=o(),{t:c}=r(),l=t([]),u=t(`default`),d=t(!1),f=t(null),p=async e=>{d.value=!0;try{let t=(await s.listTeamPlugins(e))?.data??{};l.value=t.plugins??[],u.value=t.source===`explicit`?`explicit`:`default`}catch(e){i.error(a(e))}finally{d.value=!1}};return n(e.open,t=>{if(!t)return;l.value=[],u.value=`default`;let n=e.teamId();n&&p(n)}),{rows:l,source:u,loading:d,saving:f,toggle:async(t,n)=>{let r=e.teamId();if(!(!r||f.value)){f.value=t.name;try{let e=l.value.map(e=>({name:e.name,enabled:e.name===t.name?n:e.enabled})),a=(await s.putTeamPlugins(r,{plugins:e}))?.data??{};l.value=a.plugins??e.map(e=>({...e})),u.value=a.source===`explicit`?`explicit`:`default`,i.success(c(`teams.k1plugon043`))}catch(e){i.error(a(e))}finally{f.value=null}}}}}export{s as n,c as t};
1
+ import{t as e}from"./DK3Fl9T5.js";import{v as t}from"./CavpkQb0.js";import{et as n}from"./ByMj6e7s.js";import{n as r}from"./Cnrmlixo.js";import{a as i}from"./wDPc4SSR.js";import{t as a}from"./JgheoP3e.js";import{t as o}from"./8oRmGaAV.js";var s=e({useTeamPluginDialog:()=>c});function c(e){let s=o(),{t:c}=r(),l=t([]),u=t(`default`),d=t(!1),f=t(null),p=async e=>{d.value=!0;try{let t=(await s.listTeamPlugins(e))?.data??{};l.value=t.plugins??[],u.value=t.source===`explicit`?`explicit`:`default`}catch(e){i.error(a(e))}finally{d.value=!1}};return n(e.open,t=>{if(!t)return;l.value=[],u.value=`default`;let n=e.teamId();n&&p(n)}),{rows:l,source:u,loading:d,saving:f,toggle:async(t,n)=>{let r=e.teamId();if(!(!r||f.value)){f.value=t.name;try{let e=l.value.map(e=>({name:e.name,enabled:e.name===t.name?n:e.enabled})),a=(await s.putTeamPlugins(r,{plugins:e}))?.data??{};l.value=a.plugins??e.map(e=>({...e})),u.value=a.source===`explicit`?`explicit`:`default`,i.success(c(`teams.k1plugon043`))}catch(e){i.error(a(e))}finally{f.value=null}}}}}export{s as n,c as t};
@@ -0,0 +1 @@
1
+ import{N as e,dt as t,ft as n,g as r,mt as i,u as a}from"./CavpkQb0.js";import{Q as o,S as s,V as c,W as l,b as u,f as d,h as f,i as p,k as m,m as h,nt as g,p as _,rt as v,y}from"./ByMj6e7s.js";import{c as b,d as x,o as S,s as C}from"./Dqz5HiXa.js";import{t as ee}from"./Cmp8PMrA.js";import{n as w}from"./Cnrmlixo.js";import{t as T}from"./DzBbYWrw2.js";import{t as E}from"./BDNMzG2s2.js";import{t as D}from"./Bfe2qOYs.js";import{r as te}from"./Du9v6qGB2.js";import{i as O,r as k,t as A}from"./DsGf2IV82.js";import{t as j}from"./UN3nSFjj2.js";import{t as ne}from"./BDmNbZ252.js";import{t as re}from"./2_DkYoqD2.js";import{t as ie}from"./Chphw5IA2.js";import{t as ae}from"./9zrLAN2o2.js";import{t as oe}from"./H2rNs1O82.js";import{t as se}from"./BdM_Qr752.js";import{t as ce}from"./zsRclU9w2.js";var le={class:`aw-page-head`},ue={class:`aw-kicker`},de={class:`sub`},fe={class:`badges mono`},pe={class:`badge`},me={class:`badge`},he={class:`badge`},ge=Object.assign(E(s({__name:`DcwDetailHead`,props:{line:{},lineId:{},nodesCount:{},productsCount:{},recipesCount:{}},setup(e){return(t,r)=>(c(),f(`div`,le,[d(`div`,null,[d(`p`,ue,[d(`span`,{class:`line-chip`,style:n({background:e.line?.color??`#3aa0ff`})},null,4),y(`AGENTWORKSHOP / LINE / `+i(e.line?.name??e.lineId),1)]),d(`h1`,null,i(e.line?.name??t.$t(`dcwDetail.k1b2snna151`))+` · `+i(t.$t(`dcwDetail.k1l0iow1137`)),1),d(`p`,de,i(e.line?.description||t.$t(`dcwDetail.kzcbfki152`)),1)]),d(`div`,fe,[d(`span`,pe,i(t.$t(`dcwDetail.k45uio082`))+` `+i(e.nodesCount),1),d(`span`,me,i(t.$t(`dcwDetail.k3waz1025`))+` `+i(e.productsCount),1),d(`span`,he,i(t.$t(`dcwDetail.k48grv027`))+` `+i(e.recipesCount),1)])]))}}),[[`__scopeId`,`data-v-2c59e7e0`]]),{__name:`DcwDetailHead`}),_e={class:`aw-tile ctrl-card`},ve={class:`ctrl-left`},ye=[`title`],be={class:`ctrl-right`},xe={class:`ctrl-metrics mono`},Se=[`title`],Ce=[`title`],we=[`title`],Te=Object.assign(E(s({__name:`DcwGatewayBar`,props:{running:{type:Boolean},nodesOnline:{},nodesTotal:{},writesTotal:{},writesFailed:{}},emits:[`toggle`,`open-templates`,`open-add`],setup(e,{emit:n}){let r=n;return(n,a)=>(c(),f(`section`,_e,[d(`div`,ve,[d(`button`,{class:t([`aw-pill`,{running:e.running}]),title:n.$t(`dcwDetail.k1snap154`),onClick:a[0]||=t=>r(`toggle`,e.running?`pause`:`resume`)},[d(`span`,{class:t(e.running?`i-tabler-player-pause`:`i-tabler-player-play`)},null,2),y(` `+i(e.running?n.$t(`dcwDetail.kplrsg153`):n.$t(`dcwDetail.knxgni9169`)),1)],10,ye)]),d(`div`,be,[d(`span`,xe,[d(`span`,null,i(n.$t(`dcwDetail.k45uio082`))+` `+i(e.nodesOnline)+`/`+i(e.nodesTotal),1),a[3]||=d(`span`,{class:`sep`},`·`,-1),d(`span`,{title:n.$t(`dcwDetail.kd3ygmn001`)},i(n.$t(`dcwDetail.k3wtib138`))+` `+i(e.writesTotal),9,Se),a[4]||=d(`span`,{class:`sep`},`·`,-1),d(`span`,{class:t({warn:e.writesFailed>0}),title:n.$t(`dcwDetail.kd3znl0002`)},i(n.$t(`dcwDetail.k3yit7139`))+` `+i(e.writesFailed),11,Ce)]),d(`button`,{class:`aw-pill outline`,title:n.$t(`dcwDetail.kc4ixly003`),onClick:a[1]||=e=>r(`open-templates`)},[a[5]||=d(`span`,{class:`i-tabler-template`},null,-1),y(` `+i(n.$t(`dcwDetail.k1972dx9020`)),1)],8,we),d(`button`,{class:`aw-pill add-btn`,onClick:a[2]||=e=>r(`open-add`)},[a[6]||=d(`span`,{class:`i-tabler-plus`},null,-1),y(` `+i(n.$t(`dcwDetail.k1976uns021`)),1)])])]))}}),[[`__scopeId`,`data-v-e18f9fc9`]]),{__name:`DcwGatewayBar`}),M={key:0,class:`aw-tile adopt-card`},Ee={class:`adopt-title`},N={class:`adopt-list`},De=[`onClick`],Oe=[`onClick`],ke=Object.assign(E(s({__name:`DcwAdoptCard`,props:{unassignedNodes:{},unassignedProducts:{}},emits:[`adopt-node`,`adopt-product`],setup(e,{emit:t}){let n=t;return(t,r)=>e.unassignedNodes.length||e.unassignedProducts.length?(c(),f(`section`,M,[d(`b`,Ee,i(t.$t(`dcwDetail.kaebkky022`)),1),d(`div`,N,[(c(!0),f(p,null,l(e.unassignedNodes,e=>(c(),f(`span`,{key:e.id,class:`adopt-chip`},[y(i(e.name)+` `,1),d(`button`,{class:`mini-btn`,onClick:t=>n(`adopt-node`,e.id)},i(t.$t(`dcwDetail.kyjp9fg023`)),9,De)]))),128)),(c(!0),f(p,null,l(e.unassignedProducts,e=>(c(),f(`span`,{key:e.id,class:`adopt-chip`},[y(i(e.name)+`(`+i(t.$t(`dcwDetail.k3km252140`)),1),d(`button`,{class:`mini-btn`,onClick:t=>n(`adopt-product`,e.id)},i(t.$t(`dcwDetail.kyjp9fg023`)),9,Oe)]))),128))])])):h(``,!0)}}),[[`__scopeId`,`data-v-6ad055a2`]]),{__name:`DcwAdoptCard`}),Ae={class:`aw-tile line-card`},je={class:`line-status`},Me={class:`line-info`},Ne={key:0,class:`mono dim`},Pe={key:1,class:`dim`},Fe={class:`line-ctl`},P={class:`ctl-sel`},Ie={value:``},Le=[`value`],Re={class:`ctl-sel`},F=[`disabled`],I={value:``},ze=[`value`,`disabled`],Be=[`disabled`,`title`],Ve=[`disabled`],He={key:0,class:`banner bad`,style:{"margin-top":`10px`}},Ue={key:1,class:`banner good`,style:{"margin-top":`10px`}},We=Object.assign(E(s({__name:`DcwLineRunCard`,props:m({ls:{},lineProducts:{},lineRecipes:{},lineBusy:{type:Boolean},lineMsg:{},lineErr:{}},{productId:{required:!0},productIdModifiers:{},recipeId:{required:!0},recipeIdModifiers:{}}),emits:m([`start`,`stop`],[`update:productId`,`update:recipeId`]),setup(e,{emit:n}){let r=n,a=o(e,`productId`),s=o(e,`recipeId`);return(n,o)=>(c(),f(`section`,Ae,[d(`div`,je,[d(`span`,{class:t([`line-dot`,{on:e.ls.active}])},null,2),d(`div`,Me,[d(`b`,null,i(e.ls.active?n.$t(`dcwDetail.k1pxrhx0154`):n.$t(`dcwDetail.k1b2hxmx170`)),1),e.ls.active?(c(),f(`small`,Ne,i(e.ls.productName)+` · `+i(e.ls.recipeName)+` · `+i(n.$t(`dcwDetail.k400lb075`))+` `+i(e.ls.runId)+` · `+i(n.$t(`dcwDetail.k3zkt2166`))+` `+i(e.ls.startedAt?.slice(11,19))+` `+i(n.$t(`dcwDetail.k69vag8168`))+` `+i(e.ls.taggedSamples)+` `+i(n.$t(`dcwDetail.k4118o085`)),1)):(c(),f(`small`,Pe,i(n.$t(`dcwDetail.k19pof14024`)),1))])]),d(`div`,Fe,[d(`label`,P,[d(`span`,null,i(n.$t(`dcwDetail.k3waz1025`)),1),v(d(`select`,{"onUpdate:modelValue":o[0]||=e=>a.value=e,class:`inp`,onChange:o[1]||=e=>s.value=``},[d(`option`,Ie,i(n.$t(`dcwDetail.kuisodh026`)),1),(c(!0),f(p,null,l(e.lineProducts,e=>(c(),f(`option`,{key:e.id,value:e.id},i(e.name),9,Le))),128))],544),[[C,a.value]])]),d(`label`,Re,[d(`span`,null,i(n.$t(`dcwDetail.k48grv027`)),1),v(d(`select`,{"onUpdate:modelValue":o[2]||=e=>s.value=e,class:`inp`,disabled:!a.value},[d(`option`,I,i(n.$t(`dcwDetail.kutxzsz028`)),1),(c(!0),f(p,null,l(e.lineRecipes,e=>(c(),f(`option`,{key:e.id,value:e.id,disabled:e.params.length===0},i(e.name)+i(e.params.length===0?n.$t(`dcwDetail.k1hicmch155`):n.$t(`dcwDetail.k1lzfi4g180`,{p0:e.params.length})),9,ze))),128))],8,F),[[C,s.value]])]),e.ls.active?(c(),f(`button`,{key:1,class:`pill-btn stop`,disabled:e.lineBusy,onClick:o[4]||=e=>r(`stop`)},i(n.$t(`dcwDetail.k1xyhd2y030`)),9,Ve)):(c(),f(`button`,{key:0,class:`pill-btn`,disabled:e.lineBusy||!s.value,title:s.value?n.$t(`dcwDetail.startTip`):n.$t(`dcwDetail.startNeedRecipe`),onClick:o[3]||=e=>r(`start`)},i(n.$t(`dcwDetail.kfb8vml029`)),9,Be))]),e.lineErr?(c(),f(`p`,He,i(e.lineErr),1)):h(``,!0),e.lineMsg?(c(),f(`p`,Ue,i(e.lineMsg),1)):h(``,!0)]))}}),[[`__scopeId`,`data-v-7ef9dbe9`]]),{__name:`DcwLineRunCard`}),Ge={class:`modal`},L={class:`m-title`},Ke={class:`dim mono`},R={class:`dim tpl-hint`},qe={class:`tpl-chips`},Je=[`title`],z={class:`mono`},Ye={class:`sec-label`},B={class:`f-grid tpl-form`},Xe={class:`f`},Ze=[`placeholder`],Qe={class:`f`},$e=[`placeholder`],et={class:`f`},V=[`placeholder`],tt={class:`f`},nt=[`placeholder`],rt={class:`f`},it=[`placeholder`],H={class:`f`},at=[`placeholder`],ot={class:`f`},st={class:`f`},ct=[`value`],lt={class:`f`},ut=[`placeholder`],dt={key:0,class:`banner good`,style:{"margin-top":`10px`}},ft={key:1,class:`m-err`},pt={class:`m-actions`},U=[`disabled`],mt=Object.assign(E(s({__name:`DcwDetailTemplateModal`,props:m({templates:{},tplIcons:{},builtinCount:{},customCount:{},tplSaving:{type:Boolean},tplError:{},tplOk:{}},{open:{type:Boolean,required:!0},openModifiers:{},form:{required:!0},formModifiers:{}}),emits:m([`submit`,`close`],[`update:open`,`update:form`]),setup(n,{emit:r}){let a=r,{t:s}=w(),u=o(n,`open`),m=o(n,`form`);return(r,o)=>u.value?(c(),f(`div`,{key:0,class:`modal-mask`,onClick:o[11]||=x(e=>u.value=!1,[`self`])},[d(`div`,Ge,[d(`h3`,L,[y(i(r.$t(`dcwDetail.k1x4vam0031`))+` `,1),d(`small`,Ke,i(r.$t(`dcwDetail.k3x23c141`))+` `+i(n.builtinCount)+` · `+i(r.$t(`dcwDetail.k3t616a142`))+` `+i(n.customCount),1)]),d(`p`,R,i(r.$t(`dcwDetail.ke1iyud032`)),1),d(`div`,qe,[(c(!0),f(p,null,l(n.templates,n=>(c(),f(`span`,{key:n.key,class:`tpl-chip`,title:`${n.code} · ${n.min}~${n.max} ${n.unit}${n.semantics?` · ${n.semantics}`:``}`},[y(i((`catalogTplName`in r?r.catalogTplName:e(te))(e(s),n))+` `,1),d(`small`,z,i(n.min)+`~`+i(n.max)+i(n.unit),1),d(`em`,{class:t([`tpl-tag`,{builtin:n.builtin}])},i(n.builtin?r.$t(`dcwDetail.k3x23c141`):r.$t(`dcwDetail.k3t616a142`)),3)],8,Je))),128))]),d(`p`,Ye,i(r.$t(`dcwDetail.k169eb4s033`)),1),d(`div`,B,[d(`label`,Xe,[d(`span`,null,[y(i(r.$t(`dcwDetail.k1f55q76034`)),1),o[12]||=d(`em`,null,`*`,-1)]),v(d(`input`,{"onUpdate:modelValue":o[0]||=e=>m.value.name=e,class:`inp`,placeholder:r.$t(`dcwDetail.k1tooi3o004`)},null,8,Ze),[[b,m.value.name]])]),d(`label`,Qe,[d(`span`,null,i(r.$t(`dcwDetail.k1bqk219035`)),1),v(d(`input`,{"onUpdate:modelValue":o[1]||=e=>m.value.ch=e,class:`inp`,placeholder:r.$t(`dcwDetail.k698qz0005`)},null,8,$e),[[b,m.value.ch]])]),d(`label`,et,[d(`span`,null,i(r.$t(`dcwDetail.k1ayxrqb036`)),1),v(d(`input`,{"onUpdate:modelValue":o[2]||=e=>m.value.code=e,class:`inp`,placeholder:r.$t(`dcwDetail.codePh`)},null,8,V),[[b,m.value.code]])]),d(`label`,tt,[d(`span`,null,[y(i(r.$t(`dcwDetail.k3x4ef037`)),1),o[13]||=d(`em`,null,`*`,-1)]),v(d(`input`,{"onUpdate:modelValue":o[3]||=e=>m.value.unit=e,class:`inp`,placeholder:r.$t(`dcwDetail.unitPh`)},null,8,nt),[[b,m.value.unit]])]),d(`label`,rt,[d(`span`,null,[y(i(r.$t(`dcwDetail.k1l9jv5m038`)),1),o[14]||=d(`em`,null,`*`,-1)]),v(d(`input`,{"onUpdate:modelValue":o[4]||=e=>m.value.min=e,type:`number`,class:`inp`,placeholder:r.$t(`dcwDetail.kxz9174006`)},null,8,it),[[b,m.value.min,void 0,{number:!0}]])]),d(`label`,H,[d(`span`,null,[y(i(r.$t(`dcwDetail.k1l9jv4p039`)),1),o[15]||=d(`em`,null,`*`,-1)]),v(d(`input`,{"onUpdate:modelValue":o[5]||=e=>m.value.max=e,type:`number`,class:`inp`,placeholder:r.$t(`dcwDetail.kxz9167007`)},null,8,at),[[b,m.value.max,void 0,{number:!0}]])]),d(`label`,ot,[d(`span`,null,i(r.$t(`dcwDetail.k3mxmcx040`)),1),v(d(`input`,{"onUpdate:modelValue":o[6]||=e=>m.value.decimals=e,type:`number`,min:`0`,max:`4`,class:`inp`},null,512),[[b,m.value.decimals,void 0,{number:!0}]])]),d(`label`,st,[d(`span`,null,i(r.$t(`dcwDetail.k3xx56041`)),1),v(d(`select`,{"onUpdate:modelValue":o[7]||=e=>m.value.icon=e,class:`inp`},[(c(!0),f(p,null,l(n.tplIcons,e=>(c(),f(`option`,{key:e.key,value:e.key},i(e.label),9,ct))),128))],512),[[C,m.value.icon]])])]),d(`label`,lt,[d(`span`,null,i(r.$t(`dcwDetail.knjmyfr042`)),1),v(d(`textarea`,{"onUpdate:modelValue":o[8]||=e=>m.value.semantics=e,class:`inp`,rows:`2`,placeholder:r.$t(`dcwDetail.k1qdnfzc008`)},null,8,ut),[[b,m.value.semantics]])]),n.tplOk?(c(),f(`p`,dt,i(n.tplOk),1)):h(``,!0),n.tplError?(c(),f(`p`,ft,i(n.tplError),1)):h(``,!0),d(`div`,pt,[d(`button`,{class:`aw-pill outline`,onClick:o[9]||=e=>u.value=!1},i(r.$t(`dcwDetail.k3x62t043`)),1),d(`button`,{class:`pill-btn`,disabled:n.tplSaving||!m.value.name.trim()||m.value.unit.trim()===``||m.value.min===``||m.value.max===``,onClick:o[10]||=e=>a(`submit`)},i(n.tplSaving?r.$t(`dcwDetail.k1bg4759156`):r.$t(`dcwDetail.k1bg9nga171`)),9,U)])])])):h(``,!0)}}),[[`__scopeId`,`data-v-f19aa086`]]),{__name:`DcwDetailTemplateModal`}),ht={class:`modal`},gt={class:`m-title`},_t={class:`seg-row`},vt={class:`f-grid`},yt={class:`f`},W=[`value`],G={class:`f`},K=[`placeholder`],q={class:`f`},J=[`placeholder`],Y={class:`f`},X=[`placeholder`],Z={class:`f`},bt=[`placeholder`],xt={class:`f`},St=[`placeholder`],Ct={class:`field-hint`},wt={class:`f-grid cal-form`},Tt={class:`f`},Et={value:`none`},Dt={value:`linear`},Ot={class:`f`},kt={style:{display:`flex`,gap:`6px`}},At=[`disabled`,`title`],jt=[`disabled`,`title`],Q={class:`f-grid`},Mt={class:`f`},Nt=[`value`],Pt={key:0,class:`f-grid driver-form`},$={key:0,style:{color:`var(--tone-danger-dot)`,"font-style":`normal`}},Ft=[`onUpdate:modelValue`],It=[`value`],Lt=[`onUpdate:modelValue`,`type`,`placeholder`],Rt={key:2,class:`hint`},zt={class:`test-row`},Bt=[`disabled`],Vt={class:`f`},Ht=[`placeholder`],Ut={key:1,class:`m-err`},Wt={class:`m-actions`},Gt=[`disabled`],Kt=Object.assign(E(s({__name:`DcwAddNodeModal`,props:m({templates:{},driverCatalog:{},addFields:{},addTesting:{type:Boolean},addTest:{},addSaving:{type:Boolean},addError:{}},{open:{type:Boolean,required:!0},openModifiers:{},scenario:{required:!0},scenarioModifiers:{},template:{required:!0},templateModifiers:{},driver:{required:!0},driverModifiers:{},name:{required:!0},nameModifiers:{},hold:{required:!0},holdModifiers:{},read:{required:!0},readModifiers:{},writeLock:{required:!0},writeLockModifiers:{},stepLimit:{required:!0},stepLimitModifiers:{},cfg:{required:!0},cfgModifiers:{},transform:{required:!0},transformModifiers:{},semantics:{required:!0},semanticsModifiers:{}}),emits:m([`test`,`submit`],[`update:open`,`update:scenario`,`update:template`,`update:driver`,`update:name`,`update:hold`,`update:read`,`update:writeLock`,`update:stepLimit`,`update:cfg`,`update:transform`,`update:semantics`]),setup(n,{emit:r}){let a=r,{t:s}=w(),u=o(n,`open`),m=o(n,`scenario`),g=o(n,`template`),_=o(n,`driver`),ee=o(n,`name`),T=o(n,`hold`),E=o(n,`read`),D=o(n,`writeLock`),O=o(n,`stepLimit`),k=o(n,`cfg`),A=o(n,`transform`),j=o(n,`semantics`);return(r,o)=>u.value?(c(),f(`div`,{key:0,class:`modal-mask`,onClick:o[16]||=x(e=>u.value=!1,[`self`])},[d(`div`,ht,[d(`h3`,gt,i(r.$t(`dcwDetail.k1976uns021`)),1),d(`div`,_t,[d(`button`,{class:t([`seg`,{on:m.value===`mock`}]),onClick:o[0]||=e=>m.value=`mock`},i(r.$t(`dcwDetail.mockPlc`)),3),d(`button`,{class:t([`seg`,{on:m.value===`real`}]),onClick:o[1]||=e=>m.value=`real`},i(r.$t(`dcwDetail.kyj8fen044`)),3)]),d(`div`,vt,[d(`label`,yt,[d(`span`,null,i(r.$t(`dcwDetail.k1ejzwqp045`)),1),v(d(`select`,{"onUpdate:modelValue":o[2]||=e=>g.value=e,class:`inp`},[(c(!0),f(p,null,l(n.templates,t=>(c(),f(`option`,{key:t.key,value:t.key},i((`catalogTplName`in r?r.catalogTplName:e(te))(e(s),t))+` · `+i(t.ch)+`(`+i(t.min)+`~`+i(t.max)+` `+i(t.unit)+`)`+i(t.builtin?``:r.$t(`dcwDetail.kr45rk9157`)),9,W))),128))],512),[[C,g.value]])]),d(`label`,G,[d(`span`,null,i(r.$t(`dcwDetail.k1ce2k1y046`)),1),v(d(`input`,{"onUpdate:modelValue":o[3]||=e=>ee.value=e,class:`inp`,placeholder:r.$t(`dcwDetail.kgpxzy3009`)},null,8,K),[[b,ee.value]])]),d(`label`,q,[d(`span`,null,i(r.$t(`dcwDetail.k1vyb8im047`)),1),v(d(`input`,{"onUpdate:modelValue":o[4]||=e=>T.value=e,type:`number`,min:`0`,max:`3600000`,step:`500`,class:`inp`,placeholder:r.$t(`dcwDetail.kb1srz0010`)},null,8,J),[[b,T.value,void 0,{number:!0}]])]),d(`label`,Y,[d(`span`,null,i(r.$t(`dcwDetail.k9r7d4e016`)),1),v(d(`input`,{"onUpdate:modelValue":o[5]||=e=>E.value=e,type:`number`,min:`0`,max:`3600000`,step:`500`,class:`inp`,placeholder:r.$t(`dcwDetail.k9r7d4e017`)},null,8,X),[[b,E.value,void 0,{number:!0}]])]),d(`label`,Z,[d(`span`,null,i(r.$t(`dcwDetail.writeLockLabel`)),1),v(d(`input`,{"onUpdate:modelValue":o[6]||=e=>D.value=e,type:`number`,min:`0`,max:`3600`,step:`1`,class:`inp`,placeholder:r.$t(`dcwDetail.writeLockHint`)},null,8,bt),[[b,D.value,void 0,{number:!0}]])]),d(`label`,xt,[d(`span`,null,[y(i(r.$t(`dcwDetail.stepLimitLabel`))+` `,1),d(`em`,null,`(`+i(r.$t(`dcwDetail.stepLimitUnit`))+`)`,1)]),v(d(`input`,{"onUpdate:modelValue":o[7]||=e=>O.value=e,type:`number`,min:`0`,step:`any`,class:`inp`,placeholder:r.$t(`dcwDetail.stepLimitPlaceholder`)},null,8,St),[[b,O.value,void 0,{number:!0}]]),d(`small`,Ct,i(r.$t(`dcwDetail.stepLimitHint`)),1)])]),d(`div`,wt,[d(`label`,Tt,[d(`span`,null,i(r.$t(`dcwDetail.kiune1f048`)),1),v(d(`select`,{"onUpdate:modelValue":o[8]||=e=>A.value.kind=e,class:`inp`},[d(`option`,Et,i(r.$t(`dcwDetail.kkzy0k049`)),1),d(`option`,Dt,i(r.$t(`dcwDetail.linearCalOpt`)),1)],512),[[C,A.value.kind]])]),d(`label`,Ot,[o[17]||=d(`span`,null,`scale / offset`,-1),d(`div`,kt,[v(d(`input`,{"onUpdate:modelValue":o[9]||=e=>A.value.scale=e,type:`number`,step:`0.1`,class:`inp`,disabled:A.value.kind!==`linear`,title:r.$t(`dcwDetail.calScaleTip`)},null,8,At),[[b,A.value.scale,void 0,{number:!0}]]),v(d(`input`,{"onUpdate:modelValue":o[10]||=e=>A.value.offset=e,type:`number`,step:`0.1`,class:`inp`,disabled:A.value.kind!==`linear`,title:r.$t(`dcwDetail.calOffsetTip`)},null,8,jt),[[b,A.value.offset,void 0,{number:!0}]])])])]),m.value===`real`?(c(),f(p,{key:0},[d(`div`,Q,[d(`label`,Mt,[d(`span`,null,i(r.$t(`dcwDetail.k1kt87rx050`)),1),v(d(`select`,{"onUpdate:modelValue":o[11]||=e=>_.value=e,class:`inp`},[(c(!0),f(p,null,l(n.driverCatalog.filter(e=>e.status!==`builtin`),e=>(c(),f(`option`,{key:e.kind,value:e.kind},i(e.label)+i(e.plugin?` ⌁`:``),9,Nt))),128))],512),[[C,_.value]])])]),n.addFields.length?(c(),f(`div`,Pt,[(c(!0),f(p,null,l(n.addFields,e=>(c(),f(`label`,{key:e.key,class:`f`},[d(`span`,null,[y(i(e.label),1),e.required?(c(),f(`em`,$,`*`)):h(``,!0)]),e.type===`select`?v((c(),f(`select`,{key:0,"onUpdate:modelValue":t=>k.value[e.key]=t,class:`inp`},[(c(!0),f(p,null,l(e.options,e=>(c(),f(`option`,{key:e.value,value:e.value},i(e.label),9,It))),128))],8,Ft)),[[C,k.value[e.key]]]):v((c(),f(`input`,{key:1,"onUpdate:modelValue":t=>k.value[e.key]=t,type:e.type===`number`?`number`:`text`,placeholder:e.placeholder,class:`inp`},null,8,Lt)),[[S,k.value[e.key]]]),e.hint?(c(),f(`small`,Rt,i(e.hint),1)):h(``,!0)]))),128))])):h(``,!0),d(`div`,zt,[d(`button`,{class:`pill-btn outline`,disabled:n.addTesting,onClick:o[12]||=e=>a(`test`)},i(n.addTesting?r.$t(`dcwDetail.k1fsh720158`):r.$t(`dcwDetail.k1fstglk172`)),9,Bt),n.addTest?(c(),f(`span`,{key:0,class:t([`test-result`,n.addTest.ok?`good`:`bad`])},i(n.addTest.ok?`✓`:`✗`)+` `+i(n.addTest.message),3)):h(``,!0)])],64)):h(``,!0),d(`label`,Vt,[d(`span`,null,i(r.$t(`dcwDetail.k1hgizn7051`)),1),v(d(`textarea`,{"onUpdate:modelValue":o[13]||=e=>j.value=e,class:`inp`,rows:`2`,placeholder:r.$t(`dcwDetail.k12bnyt9011`)},null,8,Ht),[[b,j.value]])]),n.addError?(c(),f(`p`,Ut,i(n.addError),1)):h(``,!0),d(`div`,Wt,[d(`button`,{class:`aw-pill outline`,onClick:o[14]||=e=>u.value=!1},i(r.$t(`dcwDetail.k3xdnn052`)),1),d(`button`,{class:`aw-pill`,disabled:n.addSaving,onClick:o[15]||=e=>a(`submit`)},i(n.addSaving?r.$t(`dcwDetail.k1bg4759156`):r.$t(`dcwDetail.k1bge46t173`)),9,Gt)])])])):h(``,!0)}}),[[`__scopeId`,`data-v-3125ed01`]]),{__name:`DcwAddNodeModal`}),qt={class:`aw-tile table-card`},Jt={class:`nodes-table`},Yt={class:`right`},Xt={class:`mono dim`},Zt={class:`mono ch`},Qt=[`disabled`,`title`,`onClick`],$t={key:0,class:`st-pill paused`},en={class:`mono val`},tn={key:0,class:`dim`},nn={class:`mono val`},rn=[`title`],an={key:0,class:`dim`},on=[`disabled`,`title`,`onClick`],sn={class:`write-row`},cn=[`onUpdate:modelValue`,`placeholder`,`min`,`max`,`step`,`disabled`,`title`],ln=[`disabled`,`title`,`onClick`],un={class:`mono dim`},dn={class:`mono`},fn=[`title`],pn=[`title`],mn={class:`step-limit-cell`},hn=[`value`,`title`,`onInput`],gn=[`disabled`,`onClick`],_n={class:`dim`},vn={class:`right`},yn=[`onClick`],bn={key:0},xn={colspan:`10`},Sn={class:`pane-empty`,style:{"min-height":`120px`}},Cn={class:`pe-sub`},wn=Object.assign(E(s({__name:`DcwNodesTable`,props:m({lineNodes:{},stateLabel:{},togglingId:{},readingId:{},writingId:{},stepPatchingId:{},loaded:{type:Boolean},error:{},dcwTemplateRefCh:{type:Function},nodeDeviceNames:{type:Function}},{setInputs:{required:!0},setInputsModifiers:{}}),emits:m([`toggle`,`read`,`write`,`patch-step-limit`,`remove`],[`update:setInputs`]),setup(e,{emit:n}){let a=n,s=o(e,`setInputs`),u=r({});function m(e){return u[e.id]??e.stepLimit}function x(e){let t=u[e.id]===void 0?e.stepLimit:u[e.id];a(`patch-step-limit`,e.id,t===``||t==null?null:Number(t))}return(n,r)=>{let o=T;return c(),_(o,{spinning:!e.loaded&&!e.error},{default:g(()=>[d(`section`,qt,[d(`table`,Jt,[d(`thead`,null,[d(`tr`,null,[d(`th`,null,i(n.$t(`dcwDetail.k1e2dtkt053`)),1),d(`th`,null,i(n.$t(`dcwDetail.k403cy054`)),1),d(`th`,null,i(n.$t(`dcwDetail.k42w8s055`)),1),d(`th`,null,i(n.$t(`dcwDetail.k1deqh0d056`)),1),d(`th`,null,i(n.$t(`dcwDetail.k9r7d4e018`)),1),d(`th`,null,i(n.$t(`dcwDetail.k1k79ec9057`)),1),d(`th`,null,i(n.$t(`dcwDetail.k1dexou6058`)),1),d(`th`,null,i(n.$t(`dcwDetail.k1b1nnaa059`)),1),d(`th`,null,i(n.$t(`dcwDetail.k1i8rtqt060`)),1),d(`th`,null,i(n.$t(`dcwDetail.thStepLimit`)),1),d(`th`,Yt,i(n.$t(`dcwDetail.k40aa6061`)),1)])]),d(`tbody`,null,[(c(!0),f(p,null,l(e.lineNodes,o=>(c(),f(`tr`,{key:o.id,class:t({"node-paused":!o.enabled})},[d(`td`,null,[d(`span`,Xt,i(o.id.slice(0,8)),1),d(`b`,null,i(o.name),1),d(`small`,Zt,i(e.dcwTemplateRefCh(o.templateRef)),1)]),d(`td`,null,[d(`button`,{class:t([`ctrl-toggle`,{on:o.enabled}]),disabled:e.togglingId===o.id,title:o.enabled?n.$t(`dcwDetail.pauseCtrlTip`):n.$t(`dcwDetail.enableCtrlTip`),onClick:e=>a(`toggle`,o.id,!o.enabled)},[r[0]||=d(`span`,{class:`ct-dot`},null,-1),y(` `+i(o.enabled?n.$t(`dcwDetail.k3o3ib3159`):n.$t(`dcwDetail.k3n93ed062`)),1)],10,Qt)]),d(`td`,null,[o.enabled?(c(),f(`span`,{key:1,class:t([`st-pill`,o.state])},i(e.stateLabel[o.state]??o.state),3)):(c(),f(`span`,$t,i(n.$t(`dcwDetail.k3n93ed062`)),1))]),d(`td`,en,[y(i(o.value==null?`--`:o.value.toFixed(o.decimals))+` `,1),d(`small`,null,i(o.unit),1),o.lastAckAt?(c(),f(`small`,tn,` · `+i(o.lastAckAt.slice(11,19)),1)):h(``,!0)]),d(`td`,nn,[d(`span`,{title:o.lastReadError??n.$t(`dcwDetail.k9r7d4e019`),class:t({"read-stale":o.lastReadError})},i(o.readValue==null?`--`:o.readValue.toFixed(o.decimals)),11,rn),d(`small`,null,i(o.unit),1),o.lastReadAt?(c(),f(`small`,an,` · `+i(o.lastReadAt.slice(11,19)),1)):h(``,!0),d(`button`,{class:`mini-btn read-btn`,disabled:e.readingId===o.id,title:n.$t(`dcwDetail.k9r7d4e020`),onClick:e=>a(`read`,o.id)},i(e.readingId===o.id?`···`:n.$t(`dcwDetail.k9r7d4e021`)),9,on)]),d(`td`,null,[d(`div`,sn,[v(d(`input`,{"onUpdate:modelValue":e=>s.value[o.id]=e,type:`number`,class:`inp write-inp mono`,placeholder:`${o.min}~${o.max}`,min:o.min,max:o.max,step:10**-o.decimals,disabled:!o.enabled,title:o.enabled?``:n.$t(`dcwDetail.pausedTip`)},null,8,cn),[[b,s.value[o.id],void 0,{number:!0}]]),d(`button`,{class:`mini-btn write-btn`,disabled:!o.enabled||e.writingId===o.id||s.value[o.id]==null||s.value[o.id]===``,title:o.enabled?n.$t(`dcwDetail.writeTip`):n.$t(`dcwDetail.pausedTip`),onClick:e=>a(`write`,o.id,Number(s.value[o.id]))},i(e.writingId===o.id?n.$t(`dcwDetail.k3l3h80123`):n.$t(`dcwDetail.k3w6td174`)),9,ln)])]),d(`td`,un,i(o.min)+` ~ `+i(o.max)+` `+i(o.unit),1),d(`td`,dn,[y(i(o.holdIntervalMs==null?n.$t(`dcwDetail.k3zul4160`):`${o.holdIntervalMs}ms`)+` `,1),d(`small`,{class:`dim`,title:n.$t(`dcwDetail.k9r7d4e016`)},`· `+i(o.readIntervalMs===0?n.$t(`dcwDetail.k9r7d4e022`):o.readIntervalMs==null?n.$t(`dcwDetail.k9r7d4e023`):`${o.readIntervalMs}ms`),9,fn),d(`small`,{class:`dim`,title:n.$t(`dcwDetail.writeLockHint`)},`· `+i(o.writeLockSeconds===0?`0s`:`${o.writeLockSeconds}s`),9,pn)]),d(`td`,null,i(e.nodeDeviceNames(o)),1),d(`td`,null,[d(`div`,mn,[d(`input`,{value:m(o)??``,type:`number`,min:`0`,step:`any`,class:`inp step-inp mono`,placeholder:`2% default`,title:n.$t(`dcwDetail.stepInputTitle`),onInput:e=>u[o.id]=e.target.value===``?``:Number(e.target.value)},null,40,hn),d(`button`,{class:`mini-btn step-btn`,disabled:e.stepPatchingId===o.id,onClick:e=>x(o)},i(e.stepPatchingId===o.id?`…`:n.$t(`common.save`)),9,gn)]),d(`small`,_n,i(n.$t(`dcwDetail.stepCurrent`,{p0:o.stepLimit??n.$t(`dcwDetail.stepUnset`)}))+` `+i(o.unit),1)]),d(`td`,vn,[d(`button`,{class:`mini-btn danger`,onClick:e=>a(`remove`,o.id)},i(n.$t(`dcwDetail.k3xakp063`)),9,yn)])],2))),128)),e.loaded&&e.lineNodes.length===0?(c(),f(`tr`,bn,[d(`td`,xn,[d(`div`,Sn,[d(`p`,Cn,i(n.$t(`dcwDetail.k1wtecyw064`)),1)])])])):h(``,!0)])])])]),_:1},8,[`spinning`])}}}),[[`__scopeId`,`data-v-0b1ceb25`]]),{__name:`DcwNodesTable`}),Tn={class:`modal`},En={class:`m-title`},Dn={class:`sec-label`},On={class:`nodes-table`},kn={class:`mono dim`},An={class:`mono`},jn={class:`mono`},Mn={class:`mono dim`},Nn={class:`mono dim`},Pn={key:0},Fn={colspan:`6`,class:`dim`,style:{"text-align":`center`,padding:`12px`}},In={class:`sec-label`},Ln={class:`nodes-table`},Rn={class:`mono`},zn={class:`mono dim`},Bn={class:`mono dim`},Vn={key:0},Hn={colspan:`6`,class:`dim`,style:{"text-align":`center`,padding:`12px`}},Un={class:`m-actions`},Wn=Object.assign(E(s({__name:`DcwRunDataModal`,props:{runDataView:{}},emits:[`close`],setup(e,{emit:n}){let r=n;return(n,a)=>e.runDataView?(c(),f(`div`,{key:0,class:`modal-mask`,onClick:a[1]||=x(e=>r(`close`),[`self`])},[d(`div`,Tn,[d(`h3`,En,i(n.$t(`dcwDetail.k11lq94k145`))+` `+i(e.runDataView.data.run.recipeName)+`(`+i(e.runDataView.runId)+`) `,1),d(`p`,Dn,i(n.$t(`dcwDetail.k1me41w8080`)),1),d(`table`,On,[d(`thead`,null,[d(`tr`,null,[d(`th`,null,i(n.$t(`dcwDetail.k48hde081`)),1),d(`th`,null,i(n.$t(`dcwDetail.k45uio082`)),1),d(`th`,null,i(n.$t(`dcwDetail.k40t11083`)),1),d(`th`,null,i(n.$t(`dcwDetail.k3xuaw084`)),1),a[2]||=d(`th`,null,`min ~ max`,-1),d(`th`,null,i(n.$t(`dcwDetail.k4118o085`)),1)])]),d(`tbody`,null,[(c(!0),f(p,null,l(e.runDataView.data.daq,e=>(c(),f(`tr`,{key:e.nodeId},[d(`td`,null,[y(i(e.ch),1),d(`small`,kn,i(e.unit),1)]),d(`td`,null,i(e.nodeName),1),d(`td`,An,i(e.latest),1),d(`td`,jn,i(e.avg),1),d(`td`,Mn,i(e.min)+` ~ `+i(e.max),1),d(`td`,Nn,i(e.cnt),1)]))),128)),e.runDataView.data.daq.length===0?(c(),f(`tr`,Pn,[d(`td`,Fn,i(n.$t(`dcwDetail.kd457ry086`)),1)])):h(``,!0)])]),d(`p`,In,i(n.$t(`dcwDetail.k12b7cxs087`)),1),d(`table`,Ln,[d(`thead`,null,[d(`tr`,null,[d(`th`,null,i(n.$t(`dcwDetail.k3xbjr088`)),1),d(`th`,null,i(n.$t(`dcwDetail.k45uio082`)),1),d(`th`,null,i(n.$t(`dcwDetail.k3ncbsh089`)),1),d(`th`,null,i(n.$t(`dcwDetail.k3lh3mz090`)),1),d(`th`,null,i(n.$t(`dcwDetail.k454pg091`)),1),d(`th`,null,i(n.$t(`dcwDetail.k40ieu092`)),1)])]),d(`tbody`,null,[(c(!0),f(p,null,l(e.runDataView.data.writes,(e,r)=>(c(),f(`tr`,{key:r},[d(`td`,null,i(e.param),1),d(`td`,null,i(e.nodeName),1),d(`td`,Rn,i(e.eng),1),d(`td`,zn,i(e.raw),1),d(`td`,null,[d(`span`,{class:t([`st-pill`,e.ok?`ok`:`alarm`])},i(e.ok?`ACK`:n.$t(`dcwDetail.k3yit7139`)),3)]),d(`td`,Bn,i(e.at.slice(5,19)),1)]))),128)),e.runDataView.data.writes.length===0?(c(),f(`tr`,Vn,[d(`td`,Hn,i(n.$t(`dcwDetail.knzcp8i093`)),1)])):h(``,!0)])]),d(`div`,Un,[d(`button`,{class:`aw-pill outline`,onClick:a[0]||=e=>r(`close`)},i(n.$t(`dcwDetail.k3x62t043`)),1)])])])):h(``,!0)}}),[[`__scopeId`,`data-v-23fad435`]]),{__name:`DcwRunDataModal`}),Gn={class:`aw-tile recipe-card`},Kn={class:`recipe-hd`},qn={class:`panel-tag mono`},Jn={class:`recipe-sub`},Yn={key:0,class:`product-row`},Xn=[`title`,`onClick`],Zn=[`title`,`onClick`],Qn={key:1,class:`dim`,style:{margin:`6px 0 12px`,"font-size":`12px`}},$n={class:`recipe-grid`},er={class:`recipe-name`},tr=[`title`],nr={class:`dim`},rr={class:`mono dim`},ir={key:0,class:`dim desc`},ar={class:`recipe-params mono`},or=[`title`],sr={key:0,class:`chip-step-tag`},cr={key:1,class:`chip-stale-tag`},lr=[`title`],ur={key:0,class:`chip-stale-tag`},dr={class:`recipe-actions`},fr=[`onClick`],pr=[`onClick`],mr=[`onClick`],hr={key:0,class:`mono`},gr=[`onClick`],_r={key:0,class:`pane-empty`,style:{"grid-column":`1 / -1`}},vr={key:2,class:`banner good`},yr=[`disabled`],br={key:3,class:`runs`},xr={class:`sec-label`},Sr={class:`nodes-table`},Cr={class:`right`},wr={class:`mono`},Tr={class:`mono dim`},Er={class:`right`},Dr=[`disabled`,`onClick`],Or=[`onClick`],kr=Object.assign(E(s({__name:`DcwRecipePanel`,props:m({lineProducts:{},visibleRecipes:{},lineRuns:{},applyResult:{},runDataView:{},runDataLoading:{type:Boolean},productName:{type:Function},paramStatus:{type:Function},paramNodeName:{type:Function},daqWindowStatus:{type:Function},daqNodeCh:{type:Function}},{filterProductId:{required:!0},filterProductIdModifiers:{}}),emits:m([`create`,`open-product`,`apply`,`edit`,`history`,`remove-recipe`,`remove-product`,`view-run`,`close-run`,`close-run-data`],[`update:filterProductId`]),setup(n,{emit:r}){let a=r,{t:s}=w(),m=o(n,`filterProductId`);return(r,o)=>{let g=Wn;return c(),f(`section`,Gn,[d(`div`,Kn,[d(`h3`,null,i(r.$t(`dcwDetail.k1j8w3hd065`)),1),d(`span`,qn,i(n.lineProducts.length)+` `+i(r.$t(`dcwDetail.k1av3wgs143`))+` `+i(n.visibleRecipes.length)+` `+i(r.$t(`dcwDetail.k48grv027`)),1),d(`button`,{class:`pill-btn`,style:{"margin-left":`auto`},onClick:o[0]||=e=>a(`create`)},i(r.$t(`dcwDetail.k1akm6dc066`)),1),d(`button`,{class:`mini-btn`,onClick:o[1]||=e=>a(`open-product`)},i(r.$t(`dcwDetail.k1aka0ki067`)),1)]),d(`p`,Jn,i(r.$t(`dcwDetail.k6bl2q8068`)),1),n.lineProducts.length?(c(),f(`div`,Yn,[d(`button`,{class:t([`prod-chip`,{on:m.value===``}]),onClick:o[2]||=e=>m.value=``},i(r.$t(`dcwDetail.k3x4t1069`)),3),(c(!0),f(p,null,l(n.lineProducts,e=>(c(),f(`button`,{key:e.id,class:t([`prod-chip`,{on:m.value===e.id}]),title:e.description,onClick:t=>m.value=e.id},[y(i(e.name)+` `,1),d(`span`,{class:`prod-del`,title:r.$t(`dcwDetail.k1bpfjgx012`),onClick:x(t=>a(`remove-product`,e.id),[`stop`])},`×`,8,Zn)],10,Xn))),128))])):(c(),f(`p`,Qn,i(r.$t(`dcwDetail.knov3zg070`)),1)),d(`div`,$n,[(c(!0),f(p,null,l(n.visibleRecipes,o=>(c(),f(`div`,{key:o.id,class:`recipe-item`},[d(`div`,er,[d(`b`,null,i(o.name),1),o.version?(c(),f(`span`,{key:0,class:`param-chip mono`,title:e(s)(`dcwDetail.histTitle`)},`v`+i(o.version),9,tr)):h(``,!0),d(`small`,nr,i(n.productName(o.productId)),1),d(`small`,rr,i(o.id),1)]),o.description?(c(),f(`p`,ir,i(o.description),1)):h(``,!0),d(`div`,ar,[(c(!0),f(p,null,l(o.params,(e,r)=>(c(),f(`span`,{key:r,class:t([`param-chip`,{stale:n.paramStatus(e.nodeId,o.lineId)}]),title:n.paramStatus(e.nodeId,o.lineId)?.label??``},[y(i(n.paramNodeName(e.nodeId))+` = `+i(e.value),1),e.stepLimit==null?h(``,!0):(c(),f(`span`,sr,`Δ≤`+i(e.stepLimit),1)),n.paramStatus(e.nodeId,o.lineId)?(c(),f(`span`,cr,i(n.paramStatus(e.nodeId,o.lineId).label),1)):h(``,!0)],10,or))),128)),(c(!0),f(p,null,l(o.daqWindows,(e,a)=>(c(),f(`span`,{key:`w-${a}`,class:t([`param-chip daqwin`,{stale:n.daqWindowStatus(e.nodeId,o.lineId)}]),title:n.daqWindowStatus(e.nodeId,o.lineId)?.label??r.$t(`dcwDetail.k1l11api013`)},[y(` ◎ `+i(n.daqNodeCh(e.nodeId))+` ∈ [`+i(e.min??`-∞`)+`, `+i(e.max??`+∞`)+`]`,1),n.daqWindowStatus(e.nodeId,o.lineId)?(c(),f(`span`,ur,i(n.daqWindowStatus(e.nodeId,o.lineId).label),1)):h(``,!0)],10,lr))),128))]),d(`div`,dr,[d(`button`,{class:`pill-btn`,onClick:e=>a(`apply`,o.id)},i(r.$t(`dcwDetail.k1497qvr071`)),9,fr),d(`button`,{class:`mini-btn`,onClick:e=>a(`edit`,o.id)},i(r.$t(`dcwDetail.k45eb0072`)),9,pr),d(`button`,{class:`mini-btn`,onClick:e=>a(`history`,o.id)},[y(i(e(s)(`dcwDetail.histBtn`)),1),o.version?(c(),f(`span`,hr,`·v`+i(o.version),1)):h(``,!0)],8,mr),d(`button`,{class:`mini-btn danger`,onClick:e=>a(`remove-recipe`,o.id)},i(r.$t(`dcwDetail.k3xakp063`)),9,gr)])]))),128)),n.visibleRecipes.length===0?(c(),f(`div`,_r,i(r.$t(`dcwDetail.keko1xy073`)),1)):h(``,!0)]),n.applyResult?(c(),f(`div`,vr,[y(i(r.$t(`dcwDetail.k1l3hrvp144`))+` `+i(n.applyResult.runId)+` `+i(r.$t(`dcwDetail.k1g3lh2v167`))+i(n.applyResult.ok)+`/`+i(n.applyResult.total)+` `+i(r.$t(`dcwDetail.k1bqci06149`))+` `,1),d(`button`,{class:`mini-btn`,style:{"margin-left":`10px`},disabled:n.runDataLoading,onClick:o[3]||=e=>a(`view-run`,n.applyResult.runId)},i(n.runDataLoading?r.$t(`dcwDetail.k1br0ij9161`):r.$t(`dcwDetail.kxwei5175`)),9,yr)])):h(``,!0),n.lineRuns.length?(c(),f(`div`,br,[d(`p`,xr,i(r.$t(`dcwDetail.k1rjer8d074`)),1),d(`table`,Sr,[d(`thead`,null,[d(`tr`,null,[d(`th`,null,i(r.$t(`dcwDetail.k400lb075`)),1),d(`th`,null,i(r.$t(`dcwDetail.k48grv027`)),1),d(`th`,null,i(r.$t(`dcwDetail.k4497j076`)),1),d(`th`,null,i(r.$t(`dcwDetail.k1bqhtmu077`)),1),d(`th`,Cr,i(r.$t(`dcwDetail.k40aa6061`)),1)])]),d(`tbody`,null,[(c(!0),f(p,null,l([...n.lineRuns].reverse().slice(0,8),e=>(c(),f(`tr`,{key:e.id},[d(`td`,wr,i(e.id),1),d(`td`,null,i(e.recipeName),1),d(`td`,Tr,i(e.startedAt.slice(5,19))+` ~ `+i(e.endedAt?e.endedAt.slice(5,19):r.$t(`dcwDetail.k3vpfg9162`)),1),d(`td`,null,[d(`span`,{class:t([`st-pill`,e.results.every(e=>e.ok)?`ok`:`warn`])},i(e.results.filter(e=>e.ok).length)+`/`+i(e.results.length),3)]),d(`td`,Er,[d(`button`,{class:`mini-btn`,disabled:n.runDataLoading,onClick:t=>a(`view-run`,e.id)},i(r.$t(`dcwDetail.k1dzwrdp078`)),9,Dr),e.endedAt?h(``,!0):(c(),f(`button`,{key:0,class:`mini-btn`,onClick:t=>a(`close-run`,e.id)},i(r.$t(`dcwDetail.k1blr7y7079`)),9,Or))])]))),128))])])])):h(``,!0),u(g,{"run-data-view":n.runDataView,onClose:o[4]||=e=>a(`close-run-data`)},null,8,[`run-data-view`])])}}}),[[`__scopeId`,`data-v-6242bc54`]]),{__name:`DcwRecipePanel`}),Ar={class:`modal`},jr={class:`m-title`},Mr={class:`f-grid`},Nr={class:`f`},Pr=[`value`],Fr={class:`f`},Ir=[`placeholder`],Lr={class:`f`},Rr=[`placeholder`],zr={class:`sec-label`},Br={class:`f`},Vr=[`onUpdate:modelValue`],Hr=[`value`],Ur={key:0,class:`row-stale`},Wr={class:`f`},Gr=[`onUpdate:modelValue`],Kr={class:`f`},qr=[`onUpdate:modelValue`,`placeholder`],Jr={class:`f`},Yr=[`onUpdate:modelValue`,`placeholder`],Xr={class:`f`},Zr=[`onUpdate:modelValue`,`placeholder`],Qr=[`onClick`],$r={class:`sec-label`},ei={class:`f`},ti=[`onUpdate:modelValue`],ni=[`value`],ri={class:`f`},ii=[`onUpdate:modelValue`],ai={class:`f`},oi=[`onUpdate:modelValue`],si=[`onClick`],ci=[`disabled`,`title`],li={key:0,class:`m-note`},ui={key:1,class:`m-err`},di={class:`m-actions`},fi=[`disabled`],pi=Object.assign(E(s({__name:`DcwRecipeEditModal`,props:m({lineProducts:{},lineNodes:{},lineDaqNodes:{},lineId:{},recipeEditing:{},recipeSaving:{type:Boolean},recipeError:{},recipeStaleNote:{},dcwTemplateRefCh:{type:Function},nodeMin:{type:Function},nodeMax:{type:Function},paramStatus:{type:Function}},{open:{type:Boolean,required:!0},openModifiers:{},form:{required:!0},formModifiers:{}}),emits:m([`submit`,`close`],[`update:open`,`update:form`]),setup(t,{emit:n}){let r=n,a=o(t,`open`),s=o(t,`form`);return(n,o)=>a.value?(c(),f(`div`,{key:0,class:`modal-mask`,onClick:o[7]||=x(e=>a.value=!1,[`self`])},[d(`div`,Ar,[d(`h3`,jr,i(t.recipeEditing?n.$t(`dcwDetail.k1iiwk0i163`):n.$t(`dcwDetail.k1efq0r9176`)),1),d(`div`,Mr,[d(`label`,Nr,[d(`span`,null,[y(i(n.$t(`dcwDetail.k1dw4fzf094`)),1),o[8]||=d(`em`,null,`*`,-1)]),v(d(`select`,{"onUpdate:modelValue":o[0]||=e=>s.value.productId=e,class:`inp`},[(c(!0),f(p,null,l(t.lineProducts,e=>(c(),f(`option`,{key:e.id,value:e.id},i(e.name),9,Pr))),128))],512),[[C,s.value.productId]])]),d(`label`,Fr,[d(`span`,null,[y(i(n.$t(`dcwDetail.k1l3f8so095`)),1),o[9]||=d(`em`,null,`*`,-1)]),v(d(`input`,{"onUpdate:modelValue":o[1]||=e=>s.value.name=e,class:`inp`,placeholder:n.$t(`dcwDetail.k12c11vm014`)},null,8,Ir),[[b,s.value.name]])]),d(`label`,Lr,[d(`span`,null,i(n.$t(`dcwDetail.k40gkk096`)),1),v(d(`input`,{"onUpdate:modelValue":o[2]||=e=>s.value.description=e,class:`inp`,placeholder:n.$t(`dcwDetail.k1hxx8hy015`)},null,8,Rr),[[b,s.value.description]])])]),d(`p`,zr,i(n.$t(`dcwDetail.ka1kfgh097`)),1),(c(!0),f(p,null,l(s.value.params,(e,r)=>(c(),f(`div`,{key:r,class:`param-row`},[d(`label`,Br,[d(`span`,null,i(n.$t(`dcwDetail.k1e2dtkt053`)),1),v(d(`select`,{"onUpdate:modelValue":t=>e.nodeId=t,class:`inp`},[(c(!0),f(p,null,l(t.lineNodes,e=>(c(),f(`option`,{key:e.id,value:e.id},i(e.name)+`(`+i(t.dcwTemplateRefCh(e.templateRef))+` · `+i(e.min)+`~`+i(e.max)+` `+i(e.unit)+`) `,9,Hr))),128))],8,Vr),[[C,e.nodeId]]),t.paramStatus(e.nodeId,t.lineId)?(c(),f(`span`,Ur,i(t.paramStatus(e.nodeId,t.lineId).label),1)):h(``,!0)]),d(`label`,Wr,[d(`span`,null,[y(i(n.$t(`dcwDetail.k3renp2098`)),1),o[10]||=d(`em`,null,`*`,-1)]),v(d(`input`,{"onUpdate:modelValue":t=>e.value=t,type:`number`,class:`inp`,step:.1},null,8,Gr),[[b,e.value,void 0,{number:!0}]])]),d(`label`,Kr,[d(`span`,null,i(n.$t(`dcwDetail.k134rw3b146`))+i(t.nodeMin(e.nodeId)??`-`)+`)`,1),v(d(`input`,{"onUpdate:modelValue":t=>e.min=t,type:`number`,class:`inp`,step:.1,placeholder:n.$t(`dcwDetail.k5vew9z016`)},null,8,qr),[[b,e.min,void 0,{number:!0}]])]),d(`label`,Jr,[d(`span`,null,i(n.$t(`dcwDetail.khrv911147`))+i(t.nodeMax(e.nodeId)??`-`)+`)`,1),v(d(`input`,{"onUpdate:modelValue":t=>e.max=t,type:`number`,class:`inp`,step:.1,placeholder:n.$t(`dcwDetail.kzoh5pr017`)},null,8,Yr),[[b,e.max,void 0,{number:!0}]])]),d(`label`,Xr,[d(`span`,null,i(n.$t(`dcwDetail.recipeStepLimitLabel`)),1),v(d(`input`,{"onUpdate:modelValue":t=>e.stepLimit=t,type:`number`,min:`0`,class:`inp`,step:`any`,placeholder:n.$t(`dcwDetail.recipeStepLimitPlaceholder`)},null,8,Zr),[[b,e.stepLimit,void 0,{number:!0}]])]),d(`button`,{class:`mini-btn danger param-del`,onClick:e=>s.value.params.splice(r,1)},i(n.$t(`dcwDetail.k44idg099`)),9,Qr)]))),128)),d(`button`,{class:`mini-btn`,onClick:o[3]||=n=>s.value.params.push(e(O)(t.lineNodes[0]?.id??``))},i(n.$t(`dcwDetail.k1broh7h100`)),1),d(`p`,$r,i(n.$t(`dcwDetail.k1h5gues101`)),1),(c(!0),f(p,null,l(s.value.daqWindows,(e,r)=>(c(),f(`div`,{key:`dw-${r}`,class:`param-row`},[d(`label`,ei,[d(`span`,null,i(n.$t(`dcwDetail.k1empnnb102`)),1),v(d(`select`,{"onUpdate:modelValue":t=>e.nodeId=t,class:`inp`},[(c(!0),f(p,null,l(t.lineDaqNodes,e=>(c(),f(`option`,{key:e.id,value:e.id},i(e.name)+`(`+i(e.min)+`~`+i(e.max)+` `+i(e.unit)+`) `,9,ni))),128))],8,ti),[[C,e.nodeId]])]),d(`label`,ri,[d(`span`,null,i(n.$t(`dcwDetail.kqm08ap103`)),1),v(d(`input`,{"onUpdate:modelValue":t=>e.min=t,type:`number`,class:`inp`,step:.1},null,8,ii),[[b,e.min,void 0,{number:!0}]])]),d(`label`,ai,[d(`span`,null,i(n.$t(`dcwDetail.kpypf8g104`)),1),v(d(`input`,{"onUpdate:modelValue":t=>e.max=t,type:`number`,class:`inp`,step:.1},null,8,oi),[[b,e.max,void 0,{number:!0}]])]),d(`button`,{class:`mini-btn danger param-del`,onClick:e=>s.value.daqWindows.splice(r,1)},i(n.$t(`dcwDetail.k44idg099`)),9,si)]))),128)),d(`button`,{class:`mini-btn`,disabled:t.lineDaqNodes.length===0,title:t.lineDaqNodes.length===0?n.$t(`dcwDetail.noDaqTip`):``,onClick:o[4]||=n=>s.value.daqWindows.push(e(k)(t.lineDaqNodes[0]?.id??``))},i(n.$t(`dcwDetail.kv1de1p105`)),9,ci),t.recipeStaleNote?(c(),f(`p`,li,i(t.recipeStaleNote),1)):h(``,!0),t.recipeError?(c(),f(`p`,ui,i(t.recipeError),1)):h(``,!0),d(`div`,di,[d(`button`,{class:`aw-pill outline`,onClick:o[5]||=e=>a.value=!1},i(n.$t(`dcwDetail.k3xdnn052`)),1),d(`button`,{class:`pill-btn`,disabled:t.recipeSaving,onClick:o[6]||=e=>r(`submit`)},i(t.recipeSaving?n.$t(`dcwDetail.k1b38d59164`):n.$t(`dcwDetail.k1b3kwg0177`)),9,fi)])])])):h(``,!0)}}),[[`__scopeId`,`data-v-4e89db36`]]),{__name:`DcwRecipeEditModal`}),mi={class:`modal`,style:{"max-width":`760px`}},hi={class:`modal-head`},gi={key:0,class:`dim`,style:{"margin-left":`8px`,"font-size":`12px`}},_i={key:0,class:`banner good`,style:{margin:`6px 0`}},vi={key:1,class:`dim`},yi={key:2,class:`pane-empty`},bi={class:`ver-head`},xi={class:`mono ver-v`},Si={class:`mono dim`},Ci={class:`ver-actor`},wi=[`onClick`],Ti={key:0,class:`ver-desc`},Ei={class:`ver-diff mono`},Di=Object.assign(E(s({__name:`DcwRecipeHistoryModal`,props:m({verRecipe:{},verRows:{},verLoading:{type:Boolean},verMsg:{},paramNodeName:{type:Function}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:m([`revert`,`close`],[`update:open`]),setup(n,{emit:r}){let a=n,s=r,{t:u}=w(),m=o(n,`open`),g=e=>e===`agent`?`Agent`:u(e===`system`?`dcwDetail.srcSystem`:`dcwDetail.srcUser`);function _(e,t){if(t===0)return u(`dcwDetail.histInit`);let n=a.verRows[t-1],r=e.params.map(e=>({p:e,old:n.params.find(t=>t.nodeId===e.nodeId)})).filter(({p:e,old:t})=>!t||t.value!==e.value).map(({p:e,old:t})=>`${a.paramNodeName(e.nodeId)}: ${t?.value??u(`dcwDetail.histAdded`)} → ${e.value}`);return r.length>0?r.join(`;`):u(`dcwDetail.histNoChange`)}return(r,a)=>m.value?(c(),f(`div`,{key:0,class:`modal-mask`,onClick:a[1]||=x(e=>m.value=!1,[`self`])},[d(`div`,mi,[d(`div`,hi,[d(`h3`,null,[y(i(e(u)(`dcwDetail.histTitle`)),1),n.verRecipe?(c(),f(`span`,gi,i(n.verRecipe.name)+` · v`+i(n.verRecipe.version),1)):h(``,!0)]),d(`button`,{class:`mini-btn`,onClick:a[0]||=e=>m.value=!1},` ✕ `)]),n.verMsg?(c(),f(`p`,_i,i(n.verMsg),1)):h(``,!0),n.verLoading?(c(),f(`p`,vi,i(e(u)(`dcwDetail.histLoading`)),1)):n.verRows.length===0?(c(),f(`div`,yi,i(e(u)(`dcwDetail.histEmpty`)),1)):(c(!0),f(p,{key:3},l(n.verRows,(n,r)=>(c(),f(`div`,{key:n.version,class:t([`ver-row`,{cur:n.current}])},[d(`div`,bi,[d(`span`,xi,`v`+i(n.version),1),d(`span`,{class:t([`ver-src`,n.by??(n.current?`cur`:``)])},i(n.current?e(u)(`dcwDetail.histCurrent`):g(n.by)),3),d(`span`,Si,i(n.at.slice(0,19).replace(`T`,` `)),1),d(`span`,Ci,i(n.actorName||`—`),1),n.current?h(``,!0):(c(),f(`button`,{key:0,class:`mini-btn`,onClick:e=>s(`revert`,n.version)},i(e(u)(`dcwDetail.revertTo`)),9,wi))]),n.description?(c(),f(`p`,Ti,i(n.description),1)):h(``,!0),d(`p`,Ei,i(_(n,r)),1)],2))),128))])])):h(``,!0)}}),[[`__scopeId`,`data-v-322135bb`]]),{__name:`DcwRecipeHistoryModal`}),Oi={class:`aw-tile query-card`},ki={class:`sec-label`},Ai={class:`q-grid`},ji={class:`f`},Mi={value:``},Ni=[`value`],Pi={class:`f`},Fi=[`disabled`],Ii={value:``},Li=[`value`],Ri={class:`f`},zi={value:``},Bi=[`value`],Vi={class:`f`},Hi={value:``},Ui=[`value`],Wi={class:`f`},Gi={class:`f`},Ki={class:`f q-actions`},qi=[`disabled`],Ji={key:0,class:`banner bad`,style:{"margin-top":`8px`}},Yi={key:1,class:`q-result`},Xi={class:`nodes-table`},Zi={class:`mono dim`},Qi={class:`mono`},$i={class:`mono`},ea={class:`mono`},ta={class:`mono dim`},na=Object.assign(E(s({__name:`DcwQueryCard`,props:m({lineProducts:{},visibleRecipes:{},lineDaqNodes:{},daqParamKeys:{},queryBusy:{type:Boolean},queryError:{},queryResult:{}},{query:{required:!0},queryModifiers:{}}),emits:m([`run`],[`update:query`]),setup(t,{emit:n}){let r=n,a=o(t,`query`);function s(e){let t=e?.value??e?.avg;return t==null?`--`:String(Math.round(t*1e3)/1e3)}return(n,o)=>(c(),f(`section`,Oi,[d(`p`,ki,i(n.$t(`dcwDetail.k1us3jse106`)),1),d(`div`,Ai,[d(`label`,ji,[d(`span`,null,i(n.$t(`dcwDetail.k3waz1025`)),1),v(d(`select`,{"onUpdate:modelValue":o[0]||=e=>a.value.productId=e,class:`inp`,onChange:o[1]||=e=>a.value.recipeId=``},[d(`option`,Mi,i(n.$t(`dcwDetail.k1bkl1jx107`)),1),(c(!0),f(p,null,l(t.lineProducts,e=>(c(),f(`option`,{key:e.id,value:e.id},i(e.name),9,Ni))),128))],544),[[C,a.value.productId]])]),d(`label`,Pi,[d(`span`,null,i(n.$t(`dcwDetail.k48grv027`)),1),v(d(`select`,{"onUpdate:modelValue":o[2]||=e=>a.value.recipeId=e,class:`inp`,disabled:!a.value.productId},[d(`option`,Ii,i(n.$t(`dcwDetail.k1bkx7cr108`)),1),(c(!0),f(p,null,l(t.visibleRecipes,e=>(c(),f(`option`,{key:e.id,value:e.id},i(e.name),9,Li))),128))],8,Fi),[[C,a.value.recipeId]])]),d(`label`,Ri,[d(`span`,null,i(n.$t(`dcwDetail.k1demcae109`)),1),v(d(`select`,{"onUpdate:modelValue":o[3]||=e=>a.value.paramKey=e,class:`inp`},[d(`option`,zi,i(n.$t(`dcwDetail.k1bkx7ya110`)),1),(c(!0),f(p,null,l(t.daqParamKeys,e=>(c(),f(`option`,{key:e,value:e},i(e),9,Bi))),128))],512),[[C,a.value.paramKey]])]),d(`label`,Vi,[d(`span`,null,i(n.$t(`dcwDetail.k45uio082`)),1),v(d(`select`,{"onUpdate:modelValue":o[4]||=e=>a.value.nodeId=e,class:`inp`},[d(`option`,Hi,i(n.$t(`dcwDetail.k1bkul3k111`)),1),(c(!0),f(p,null,l(t.lineDaqNodes,e=>(c(),f(`option`,{key:e.id,value:e.id},i(e.name),9,Ui))),128))],512),[[C,a.value.nodeId]])]),d(`label`,Wi,[d(`span`,null,i(n.$t(`dcwDetail.kx2ojn0112`)),1),v(d(`input`,{"onUpdate:modelValue":o[5]||=e=>a.value.lastMin=e,type:`number`,min:`1`,max:`10080`,class:`inp`},null,512),[[b,a.value.lastMin,void 0,{number:!0}]])]),d(`label`,Gi,[d(`span`,null,i(n.$t(`dcwDetail.kjvnvn4113`)),1),v(d(`input`,{"onUpdate:modelValue":o[6]||=e=>a.value.bucketMs=e,type:`number`,min:`1000`,step:`500`,class:`inp`},null,512),[[b,a.value.bucketMs,void 0,{number:!0}]])]),d(`div`,Ki,[d(`button`,{class:`pill-btn`,disabled:t.queryBusy,onClick:o[7]||=e=>r(`run`)},i(t.queryBusy?n.$t(`dcwDetail.k1eyx09r165`):n.$t(`dcwDetail.k416ek178`)),9,qi)])]),t.queryError?(c(),f(`p`,Ji,i(t.queryError),1)):h(``,!0),t.queryResult?(c(),f(`div`,Yi,[d(`table`,Xi,[d(`thead`,null,[d(`tr`,null,[d(`th`,null,i(n.$t(`dcwDetail.k48hde081`)),1),d(`th`,null,i(n.$t(`dcwDetail.k45uio082`)),1),d(`th`,null,i(n.$t(`dcwDetail.k42kcu114`)),1),d(`th`,null,i(n.$t(`dcwDetail.k49ujb115`)),1),d(`th`,null,i(n.$t(`dcwDetail.k40pvw116`)),1),d(`th`,null,i(n.$t(`dcwDetail.k3xho3117`)),1)])]),d(`tbody`,null,[(c(!0),f(p,null,l(t.queryResult.channels,t=>(c(),f(`tr`,{key:t.nodeId},[d(`td`,null,[y(i(t.ch),1),d(`small`,Zi,i(t.unit),1)]),d(`td`,null,i(t.nodeName),1),d(`td`,Qi,i(t.points.length),1),d(`td`,$i,i(s(t.points[0])),1),d(`td`,ea,i(s(t.points[t.points.length-1])),1),d(`td`,ta,i(e(D)(new Date(t.points[0]?.at??0).toISOString(),!1))+` ~ `+i(e(D)(new Date(t.points[t.points.length-1]?.at??0).toISOString(),!1)),1)]))),128))])])])):h(``,!0)]))}}),[[`__scopeId`,`data-v-ee60c0a5`]]),{__name:`DcwQueryCard`}),ra={class:`aw-tile table-card`},ia={class:`sec-label`},aa={class:`nodes-table`},oa={class:`mono dim`},sa={class:`mono`},ca={class:`mono dim`},la={class:`dim`},ua=Object.assign(E(s({__name:`DcwWriteHistoryCard`,props:{lineHistory:{}},setup(e){return(n,r)=>(c(),f(`section`,ra,[d(`p`,ia,i(n.$t(`dcwDetail.kw7ym9b148`))+` `+i(e.lineHistory.length)+` `+i(n.$t(`dcwDetail.k40bfz150`)),1),d(`table`,aa,[d(`tbody`,null,[(c(!0),f(p,null,l(e.lineHistory.slice(0,12),e=>(c(),f(`tr`,{key:e.id},[d(`td`,oa,i(e.at.slice(5,19)),1),d(`td`,null,i(e.param),1),d(`td`,null,i(e.nodeName),1),d(`td`,sa,i(e.eng),1),d(`td`,ca,` raw `+i(e.raw??`-`),1),d(`td`,null,[d(`span`,{class:t([`st-pill`,e.ok?`ok`:`alarm`])},i(e.ok?`ACK`:n.$t(`dcwDetail.k3yit7139`)),3)]),d(`td`,la,i(e.recipeRunId?n.$t(`dcwDetail.k6vgks7181`,{p0:e.recipeRunId}):n.$t(`dcwDetail.manualTag`)),1)]))),128))])])]))}}),[[`__scopeId`,`data-v-1ca86a1c`]]),{__name:`DcwWriteHistoryCard`}),da={class:`modal`},fa={class:`m-title`},pa={class:`f-grid`},ma={class:`f`},ha=[`placeholder`],ga={class:`f`},_a=[`placeholder`],va={key:0,class:`m-err`},ya={class:`m-actions`},ba=[`disabled`],xa=Object.assign(E(s({__name:`DcwProductCreateModal`,props:m({productSaving:{type:Boolean},productError:{}},{open:{type:Boolean,required:!0},openModifiers:{},form:{required:!0},formModifiers:{}}),emits:m([`submit`,`close`],[`update:open`,`update:form`]),setup(e,{emit:t}){let n=t,r=o(e,`open`),a=o(e,`form`);return(t,o)=>r.value?(c(),f(`div`,{key:0,class:`modal-mask`,onClick:o[4]||=x(e=>r.value=!1,[`self`])},[d(`div`,da,[d(`h3`,fa,i(t.$t(`dcwDetail.k1efduyf118`)),1),d(`div`,pa,[d(`label`,ma,[d(`span`,null,[y(i(t.$t(`dcwDetail.k1avjrl6119`)),1),o[5]||=d(`em`,null,`*`,-1)]),v(d(`input`,{"onUpdate:modelValue":o[0]||=e=>a.value.name=e,class:`inp`,placeholder:t.$t(`dcwDetail.k12c11vm014`)},null,8,ha),[[b,a.value.name]])]),d(`label`,ga,[d(`span`,null,i(t.$t(`dcwDetail.k40gkk096`)),1),v(d(`input`,{"onUpdate:modelValue":o[1]||=e=>a.value.description=e,class:`inp`,placeholder:t.$t(`dcwDetail.k1hxx8hy015`)},null,8,_a),[[b,a.value.description]])])]),e.productError?(c(),f(`p`,va,i(e.productError),1)):h(``,!0),d(`div`,ya,[d(`button`,{class:`aw-pill outline`,onClick:o[2]||=e=>r.value=!1},i(t.$t(`dcwDetail.k3xdnn052`)),1),d(`button`,{class:`pill-btn`,disabled:e.productSaving,onClick:o[3]||=e=>n(`submit`)},i(e.productSaving?t.$t(`dcwDetail.k1bg4759156`):t.$t(`dcwDetail.k1bg4kn6179`)),9,ba)])])])):h(``,!0)}}),[[`__scopeId`,`data-v-aa17ef24`]]),{__name:`DcwProductCreateModal`}),Sa={class:`aw-tile ledger-card`},Ca={class:`ledger-head`},wa={value:``},Ta=[`value`],Ea={class:`ledger-tri`},Da={class:`tri-cell`},Oa={class:`mono`},ka={class:`tri-cell`},Aa={class:`mono`},ja={class:`tri-cell`},Ma={class:`mono`},Na={class:`ledger-cols`},Pa={class:`ledger-col`},Fa={class:`sec-t`},Ia={class:`ledger-list mono`},La={class:`ledger-col`},Ra={class:`sec-t`},za={class:`ledger-list`},Ba={class:`mono`},Va=Object.assign(E(s({__name:`DcwLedgerCard`,props:m({lineNodes:{},ledger:{}},{nodeId:{required:!0},nodeIdModifiers:{}}),emits:m([`load`,`rollback`],[`update:nodeId`]),setup(e,{emit:n}){let r=n,a=o(e,`nodeId`);return(n,o)=>(c(),f(`section`,Sa,[d(`div`,Ca,[d(`b`,null,i(n.$t(`dcwDetail.k1ledgt001`)),1),v(d(`select`,{"onUpdate:modelValue":o[0]||=e=>a.value=e,class:`inp`,onChange:o[1]||=e=>r(`load`)},[d(`option`,wa,i(n.$t(`dcwDetail.k1ledgs001`)),1),(c(!0),f(p,null,l(e.lineNodes,e=>(c(),f(`option`,{key:e.id,value:e.id},i(e.name),9,Ta))),128))],544),[[C,a.value]])]),e.ledger?(c(),f(p,{key:0},[d(`div`,Ea,[d(`div`,Da,[d(`small`,null,i(n.$t(`dcwDetail.k1ledgv001`)),1),d(`b`,Oa,i(e.ledger.current??`--`),1)]),d(`div`,ka,[d(`small`,null,i(n.$t(`dcwDetail.k1ledgv002`)),1),d(`b`,Aa,i(e.ledger.recipeTarget??`--`),1)]),d(`div`,ja,[d(`small`,null,i(n.$t(`dcwDetail.k1ledgv003`)),1),d(`b`,Ma,i(e.ledger.lastGood??`--`),1)]),d(`button`,{class:`mini-btn`,onClick:o[2]||=e=>r(`load`)},i(n.$t(`dcwDetail.k1ledga001`)),1),d(`button`,{class:`mini-btn danger`,onClick:o[3]||=e=>r(`rollback`)},i(n.$t(`dcwDetail.k1ledga002`)),1)]),d(`div`,Na,[d(`div`,Pa,[d(`small`,Fa,i(n.$t(`dcwDetail.k1ledgh001`)),1),d(`ul`,Ia,[(c(!0),f(p,null,l(e.ledger.journal,e=>(c(),f(`li`,{key:e.id},i(e.at.slice(5,16).replace(`T`,` `))+` [`+i(e.source)+`] `+i(e.prevValue??`?`)+` → `+i(e.newValue),1))),128))])]),d(`div`,La,[d(`small`,Ra,i(n.$t(`dcwDetail.k1ledgr001`)),1),d(`ul`,za,[(c(!0),f(p,null,l(e.ledger.records,e=>(c(),f(`li`,{key:e.id,class:`ledger-rec`},[d(`span`,{class:t([`rec-st`,e.status])},i(e.status),3),d(`span`,Ba,i(e.params[0]?.from??`?`)+` → `+i(e.params[0]?.to),1),d(`small`,null,i(e.judge?`${e.judge.verdict}(${e.judge.by})`:e.status===`open`?`open`:e.closedBy??``),1)]))),128))])])])],64)):h(``,!0)]))}}),[[`__scopeId`,`data-v-15a6bb00`]]),{__name:`DcwLedgerCard`}),Ha={key:0,class:`page`},Ua={class:`banner bad`},Wa={key:1,class:`page`},Ga={key:2,class:`err`},Ka=E(s({__name:`[id]`,setup(n){let r=ne(),o=ce(),s=ie(),l=ae(r),p=oe(r,l),m=A(r,p,l,o),v=se(r),b=j(r),x=re(b),{dcw:S,line:C,lineId:w,ls:T,lineNodes:E,lineProducts:D,lineRecipesAll:te,lineRuns:O,lineHistory:k,unassignedNodes:le,unassignedProducts:ue,stateLabel:de,dcwTemplateRefCh:fe,nodeMin:pe,nodeMax:me,lineDaqNodes:he,daqNodeCh:_e,adoptNode:ve,adoptProduct:ye,productName:be,paramStatus:xe,paramNodeName:Se,daqWindowStatus:Ce,nodeDeviceNames:we}=r,{setInputs:M,writingId:Ee,writeError:N,writeOk:De,readingId:Oe,togglingId:Ae,stepPatchingId:je,doWrite:Me,doRead:Ne,toggleControl:Pe,patchStepLimit:Fe}=o,{ledgerNodeId:P,ledger:Ie,loadLedger:Le,rollbackLedgerNode:Re}=s,{lineProductId:F,lineRecipeId:I,lineBusy:ze,lineMsg:Be,lineErr:Ve,lineRecipes:He,doLineStart:Ue,doLineStop:Ge}=l,{filterProductId:L,visibleRecipes:Ke,productOpen:R,productSaving:qe,productError:Je,productForm:z,doCreateProduct:Ye}=p,{verOpen:B,verRecipe:Xe,verRows:Ze,verLoading:Qe,verMsg:$e,doRevert:et,recipeOpen:V,recipeEditing:tt,recipeSaving:nt,recipeError:rt,recipeStaleNote:it,recipeForm:H,applyResult:at,runDataView:ot,runDataLoading:st,openRecipeCreate:ct,openRecipeEdit:lt,openRecipeHistory:ut,saveRecipe:dt,doApplyRecipe:ft,doViewRun:pt}=m,{query:U,queryBusy:ht,queryError:gt,queryResult:_t,doQuery:vt,daqParamKeys:yt}=v,{addOpen:W,addScenario:G,addTemplate:K,addDriver:q,addName:J,addHold:Y,addRead:X,addWriteLock:Z,addStepLimit:bt,addCfg:xt,addTransform:St,addSemantics:Ct,addTesting:wt,addTest:Tt,addSaving:Et,addError:Dt,addFields:Ot,driverCatalog:kt,doTestConnection:At,doAddNode:jt}=b,{tplOpen:Q,tplSaving:Mt,tplError:Nt,tplOk:Pt,tplForm:$,tplIcons:Ft,builtinCount:It,customCount:Lt,openTplModal:Rt,doCreateTemplate:zt}=x;return(n,r)=>{let o=ee,s=ge,l=Te,p=ke,m=We,v=mt,b=Kt,x=wn,A=kr,j=pi,ne=Di,re=na,ie=ua,ae=xa,oe=Va;return e(S).loaded&&!e(C)?(c(),f(`div`,Ha,[d(`p`,Ua,i(n.$t(`dcwDetail.k19337yp018`)),1),u(o,{class:`pill-btn`,to:`/dcw`},{default:g(()=>[y(i(n.$t(`dcwDetail.kllwu1c019`)),1)]),_:1})])):(c(),f(`div`,Wa,[u(s,{line:e(C),"line-id":e(w),"nodes-count":e(E).length,"products-count":e(D).length,"recipes-count":e(te).length},null,8,[`line`,`line-id`,`nodes-count`,`products-count`,`recipes-count`]),u(l,{running:e(S).controller.running,"nodes-online":e(S).controller.nodesOnline,"nodes-total":e(S).controller.nodesTotal,"writes-total":e(S).controller.writesTotal,"writes-failed":e(S).controller.writesFailed,onToggle:e(S).startStop,onOpenTemplates:e(Rt),onOpenAdd:r[0]||=e=>W.value=!0},null,8,[`running`,`nodes-online`,`nodes-total`,`writes-total`,`writes-failed`,`onToggle`,`onOpenTemplates`]),e(N)||e(De)?(c(),f(`p`,{key:0,class:t([`banner`,e(N)?`bad`:`good`])},i(e(N)||e(De)),3)):h(``,!0),u(p,{"unassigned-nodes":e(le),"unassigned-products":e(ue),onAdoptNode:e(ve),onAdoptProduct:e(ye)},null,8,[`unassigned-nodes`,`unassigned-products`,`onAdoptNode`,`onAdoptProduct`]),u(m,{"product-id":e(F),"onUpdate:productId":r[1]||=e=>a(F)?F.value=e:null,"recipe-id":e(I),"onUpdate:recipeId":r[2]||=e=>a(I)?I.value=e:null,ls:e(T),"line-products":e(D),"line-recipes":e(He),"line-busy":e(ze),"line-msg":e(Be),"line-err":e(Ve),onStart:e(Ue),onStop:e(Ge)},null,8,[`product-id`,`recipe-id`,`ls`,`line-products`,`line-recipes`,`line-busy`,`line-msg`,`line-err`,`onStart`,`onStop`]),u(v,{open:e(Q),"onUpdate:open":r[3]||=e=>a(Q)?Q.value=e:null,form:e($),"onUpdate:form":r[4]||=e=>a($)?$.value=e:null,templates:e(S).templates,"tpl-icons":e(Ft),"builtin-count":e(It),"custom-count":e(Lt),"tpl-saving":e(Mt),"tpl-error":e(Nt),"tpl-ok":e(Pt),onSubmit:e(zt),onClose:r[5]||=e=>Q.value=!1},null,8,[`open`,`form`,`templates`,`tpl-icons`,`builtin-count`,`custom-count`,`tpl-saving`,`tpl-error`,`tpl-ok`,`onSubmit`]),u(b,{open:e(W),"onUpdate:open":r[6]||=e=>a(W)?W.value=e:null,scenario:e(G),"onUpdate:scenario":r[7]||=e=>a(G)?G.value=e:null,template:e(K),"onUpdate:template":r[8]||=e=>a(K)?K.value=e:null,driver:e(q),"onUpdate:driver":r[9]||=e=>a(q)?q.value=e:null,name:e(J),"onUpdate:name":r[10]||=e=>a(J)?J.value=e:null,hold:e(Y),"onUpdate:hold":r[11]||=e=>a(Y)?Y.value=e:null,read:e(X),"onUpdate:read":r[12]||=e=>a(X)?X.value=e:null,"write-lock":e(Z),"onUpdate:writeLock":r[13]||=e=>a(Z)?Z.value=e:null,"step-limit":e(bt),"onUpdate:stepLimit":r[14]||=e=>a(bt)?bt.value=e:null,cfg:e(xt),"onUpdate:cfg":r[15]||=e=>a(xt)?xt.value=e:null,transform:e(St),"onUpdate:transform":r[16]||=e=>a(St)?St.value=e:null,semantics:e(Ct),"onUpdate:semantics":r[17]||=e=>a(Ct)?Ct.value=e:null,templates:e(S).templates,"driver-catalog":e(kt),"add-fields":e(Ot),"add-testing":e(wt),"add-test":e(Tt),"add-saving":e(Et),"add-error":e(Dt),onTest:e(At),onSubmit:e(jt)},null,8,[`open`,`scenario`,`template`,`driver`,`name`,`hold`,`read`,`write-lock`,`step-limit`,`cfg`,`transform`,`semantics`,`templates`,`driver-catalog`,`add-fields`,`add-testing`,`add-test`,`add-saving`,`add-error`,`onTest`,`onSubmit`]),u(x,{"set-inputs":e(M),"onUpdate:setInputs":r[18]||=e=>a(M)?M.value=e:null,"line-nodes":e(E),"state-label":e(de),"toggling-id":e(Ae),"reading-id":e(Oe),"writing-id":e(Ee),"step-patching-id":e(je),loaded:e(S).loaded,error:e(S).error,"dcw-template-ref-ch":e(fe),"node-device-names":e(we),onToggle:e(Pe),onRead:e(Ne),onWrite:e(Me),onPatchStepLimit:e(Fe),onRemove:e(S).removeNode},null,8,[`set-inputs`,`line-nodes`,`state-label`,`toggling-id`,`reading-id`,`writing-id`,`step-patching-id`,`loaded`,`error`,`dcw-template-ref-ch`,`node-device-names`,`onToggle`,`onRead`,`onWrite`,`onPatchStepLimit`,`onRemove`]),u(A,{"filter-product-id":e(L),"onUpdate:filterProductId":r[19]||=e=>a(L)?L.value=e:null,"line-products":e(D),"visible-recipes":e(Ke),"line-runs":e(O),"apply-result":e(at),"run-data-view":e(ot),"run-data-loading":e(st),"product-name":e(be),"param-status":e(xe),"param-node-name":e(Se),"daq-window-status":e(Ce),"daq-node-ch":e(_e),onCreate:e(ct),onOpenProduct:r[20]||=e=>R.value=!0,onApply:e(ft),onEdit:e(lt),onHistory:e(ut),onRemoveRecipe:e(S).removeRecipe,onRemoveProduct:e(S).removeProduct,onViewRun:e(pt),onCloseRun:e(S).closeRun,onCloseRunData:r[21]||=e=>ot.value=null},null,8,[`filter-product-id`,`line-products`,`visible-recipes`,`line-runs`,`apply-result`,`run-data-view`,`run-data-loading`,`product-name`,`param-status`,`param-node-name`,`daq-window-status`,`daq-node-ch`,`onCreate`,`onApply`,`onEdit`,`onHistory`,`onRemoveRecipe`,`onRemoveProduct`,`onViewRun`,`onCloseRun`]),u(j,{open:e(V),"onUpdate:open":r[22]||=e=>a(V)?V.value=e:null,form:e(H),"onUpdate:form":r[23]||=e=>a(H)?H.value=e:null,"line-products":e(D),"line-nodes":e(E),"line-daq-nodes":e(he),"line-id":e(w),"recipe-editing":e(tt),"recipe-saving":e(nt),"recipe-error":e(rt),"recipe-stale-note":e(it),"dcw-template-ref-ch":e(fe),"node-min":e(pe),"node-max":e(me),"param-status":e(xe),onSubmit:e(dt),onClose:r[24]||=e=>V.value=!1},null,8,[`open`,`form`,`line-products`,`line-nodes`,`line-daq-nodes`,`line-id`,`recipe-editing`,`recipe-saving`,`recipe-error`,`recipe-stale-note`,`dcw-template-ref-ch`,`node-min`,`node-max`,`param-status`,`onSubmit`]),u(ne,{open:e(B),"onUpdate:open":r[25]||=e=>a(B)?B.value=e:null,"ver-recipe":e(Xe),"ver-rows":e(Ze),"ver-loading":e(Qe),"ver-msg":e($e),"param-node-name":e(Se),onRevert:e(et),onClose:r[26]||=e=>B.value=!1},null,8,[`open`,`ver-recipe`,`ver-rows`,`ver-loading`,`ver-msg`,`param-node-name`,`onRevert`]),u(re,{query:e(U),"onUpdate:query":r[27]||=e=>a(U)?U.value=e:null,"line-products":e(D),"visible-recipes":e(Ke),"line-daq-nodes":e(he),"daq-param-keys":e(yt),"query-busy":e(ht),"query-error":e(gt),"query-result":e(_t),onRun:e(vt)},null,8,[`query`,`line-products`,`visible-recipes`,`line-daq-nodes`,`daq-param-keys`,`query-busy`,`query-error`,`query-result`,`onRun`]),e(k).length?(c(),_(ie,{key:1,"line-history":e(k)},null,8,[`line-history`])):h(``,!0),u(ae,{open:e(R),"onUpdate:open":r[28]||=e=>a(R)?R.value=e:null,form:e(z),"onUpdate:form":r[29]||=e=>a(z)?z.value=e:null,"product-saving":e(qe),"product-error":e(Je),onSubmit:e(Ye),onClose:r[30]||=e=>R.value=!1},null,8,[`open`,`form`,`product-saving`,`product-error`,`onSubmit`]),e(S).error?(c(),f(`p`,Ga,[y(i(e(S).error)+`(`,1),u(o,{to:`/workshop`},{default:g(()=>[y(i(n.$t(`dcwDetail.k1bhhheq120`)),1)]),_:1}),r[32]||=y(`) `,-1)])):h(``,!0),u(oe,{"node-id":e(P),"onUpdate:nodeId":r[31]||=e=>a(P)?P.value=e:null,"line-nodes":e(E),ledger:e(Ie),onLoad:e(Le),onRollback:e(Re)},null,8,[`node-id`,`line-nodes`,`ledger`,`onLoad`,`onRollback`])]))}}}),[[`__scopeId`,`data-v-9f15f2af`]]);export{Ka as default};