agentworkshop 0.7.39 → 0.7.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +55 -0
  2. package/.output/.AgentWorkShop/prompts/host-tools.json +55 -0
  3. package/.output/nitro.json +1 -1
  4. package/.output/public/_nuxt/88GOowgO2.js +1 -0
  5. package/.output/public/_nuxt/{BNT8gYU92.js → BC9wjTJK2.js} +2 -2
  6. package/.output/public/_nuxt/{CY9LbPCI.js → BN16aRdQ.js} +1 -1
  7. package/.output/public/_nuxt/BWVhZntO.js +1 -0
  8. package/.output/public/_nuxt/{HBLJ-wei.js → BXxH0UQE.js} +1 -1
  9. package/.output/public/_nuxt/{zIGh7R49.js → BneN7fbu.js} +1 -1
  10. package/.output/public/_nuxt/BsROmY89.js +1 -0
  11. package/.output/public/_nuxt/{DUrecWPx.js → C0ZrS1KL.js} +2 -2
  12. package/.output/public/_nuxt/{C_OLzD09.js → C4oW1HsE.js} +1 -1
  13. package/.output/public/_nuxt/{CUDwzgLV.js → C4s_niy-.js} +9 -9
  14. package/.output/public/_nuxt/CFxtLwjp.js +1 -0
  15. package/.output/public/_nuxt/{Cec0Ua3F.js → CS50LB_l.js} +1 -1
  16. package/.output/public/_nuxt/CssgYAAL2.js +1 -0
  17. package/.output/public/_nuxt/D6mbFA-a.js +1 -0
  18. package/.output/public/_nuxt/D98NH8kG.js +1 -0
  19. package/.output/public/_nuxt/DGIuvyRN2.js +1 -0
  20. package/.output/public/_nuxt/DGbd-UiG.js +1 -0
  21. package/.output/public/_nuxt/{CojCTLKD.js → DGj-WEBg.js} +1 -1
  22. package/.output/public/_nuxt/{DDShH71m.js → DS8qj8EL.js} +1 -1
  23. package/.output/public/_nuxt/DTFCy6h-.js +1 -0
  24. package/.output/public/_nuxt/{DrYV5i68.js → DUjW5Yq5.js} +1 -1
  25. package/.output/public/_nuxt/{45zuyAso.js → D_OTvQza.js} +1 -1
  26. package/.output/public/_nuxt/Dap5PmTL.js +2 -0
  27. package/.output/public/_nuxt/Dqw1lpr-.js +1 -0
  28. package/.output/public/_nuxt/DvLxILQP.js +1 -0
  29. package/.output/public/_nuxt/IREZ1eC2.js +1 -0
  30. package/.output/public/_nuxt/TownView.f-YOdXRs.css +1 -0
  31. package/.output/public/_nuxt/_id_.D9ymtHB5.css +1 -0
  32. package/.output/public/_nuxt/_id_.jf-_8E_c.css +1 -0
  33. package/.output/public/_nuxt/_wsId_.B4WiqkIS.css +1 -0
  34. package/.output/public/_nuxt/agents.ZD0rVdHE.css +1 -0
  35. package/.output/public/_nuxt/aml.BN8ZEW4h.css +1 -0
  36. package/.output/public/_nuxt/builds/latest.json +1 -1
  37. package/.output/public/_nuxt/builds/meta/78a295bb-2072-48a4-8b46-6d545fdae743.json +1 -0
  38. package/.output/public/_nuxt/ca4TJ3Op.js +1 -0
  39. package/.output/public/_nuxt/channel-templates.BOtahzPi.css +1 -0
  40. package/.output/public/_nuxt/daq.DjSgY94l.css +1 -0
  41. package/.output/public/_nuxt/dcw.8Y7FqCVN.css +1 -0
  42. package/.output/public/_nuxt/default.J32SgqFY.css +1 -0
  43. package/.output/public/_nuxt/entry.bdm0tv6M.css +1 -0
  44. package/.output/public/_nuxt/eqq3wWQF.js +18 -0
  45. package/.output/public/_nuxt/logs.BpKzmKsh.css +1 -0
  46. package/.output/public/_nuxt/monitor.D9pe7qN6.css +1 -0
  47. package/.output/public/_nuxt/pages.D7aSDlUI.css +1 -0
  48. package/.output/public/_nuxt/permissions.DwTVlFe6.css +1 -0
  49. package/.output/public/_nuxt/plugins.sb4nDGqr.css +1 -0
  50. package/.output/public/_nuxt/{Cbq-mryP.js → qr6R6Ha1.js} +1 -1
  51. package/.output/public/_nuxt/settings.BTgR-NiE.css +1 -0
  52. package/.output/public/_nuxt/teams.CxnxKVVs.css +1 -0
  53. package/.output/public/_nuxt/tokens.BFY7qv4f.css +1 -0
  54. package/.output/public/_nuxt/{town.DKIAhKnx.css → town.BBXZmeoP.css} +1 -1
  55. package/.output/public/_nuxt/users.DLgZ1D0h.css +1 -0
  56. package/.output/public/_nuxt/workshop.CR_QzeAN.css +1 -0
  57. package/.output/public/_nuxt/{BzHEilTt.js → xh3_vYcu.js} +1 -1
  58. package/.output/public/_nuxt/yF0aYMF1.js +4 -0
  59. package/.output/server/chunks/_/entity.mjs.map +1 -1
  60. package/.output/server/chunks/_/nitro.mjs +2355 -1362
  61. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  62. package/.output/server/chunks/build/{TownView-jVazYOjN.mjs → TownView--otsnr_7.mjs} +290 -208
  63. package/.output/server/chunks/build/TownView--otsnr_7.mjs.map +1 -0
  64. package/.output/server/chunks/build/{_id_-CfVosNg3.mjs → _id_-Brv-JSvr.mjs} +142 -141
  65. package/.output/server/chunks/build/_id_-Brv-JSvr.mjs.map +1 -0
  66. package/.output/server/chunks/build/{_id_-Hwr4rZpr.mjs → _id_-D9pl1OZy.mjs} +38 -36
  67. package/.output/server/chunks/build/_id_-D9pl1OZy.mjs.map +1 -0
  68. package/.output/server/chunks/build/{_wsId_-BVg3bB77.mjs → _wsId_-BASfDf0s.mjs} +295 -261
  69. package/.output/server/chunks/build/{_wsId_-BVg3bB77.mjs.map → _wsId_-BASfDf0s.mjs.map} +1 -1
  70. package/.output/server/chunks/build/{agents-Bvin73QY.mjs → agents-CLQqJF2y.mjs} +21 -27
  71. package/.output/server/chunks/build/agents-CLQqJF2y.mjs.map +1 -0
  72. package/.output/server/chunks/build/{aml-BCSJCdX7.mjs → aml-_7FdFL2p.mjs} +109 -109
  73. package/.output/server/chunks/build/{aml-BCSJCdX7.mjs.map → aml-_7FdFL2p.mjs.map} +1 -1
  74. package/.output/server/chunks/build/api-error-dul30BYQ.mjs.map +1 -1
  75. package/.output/server/chunks/build/{channel-templates-BTq8570n.mjs → channel-templates-p6SZNjlM.mjs} +19 -19
  76. package/.output/server/chunks/build/{channel-templates-BTq8570n.mjs.map → channel-templates-p6SZNjlM.mjs.map} +1 -1
  77. package/.output/server/chunks/build/{daq-C03Uu5UE.mjs → daq-DkMvD8sg.mjs} +193 -126
  78. package/.output/server/chunks/build/daq-DkMvD8sg.mjs.map +1 -0
  79. package/.output/server/chunks/build/{dcw-6vEYVeje.mjs → dcw-C1jgVJkO.mjs} +46 -46
  80. package/.output/server/chunks/build/{dcw-6vEYVeje.mjs.map → dcw-C1jgVJkO.mjs.map} +1 -1
  81. package/.output/server/chunks/build/{default-CZmZFpqH.mjs → default-BE4r0FZN.mjs} +152 -58
  82. package/.output/server/chunks/build/{default-CZmZFpqH.mjs.map → default-BE4r0FZN.mjs.map} +1 -1
  83. package/.output/server/chunks/build/{logs-B-xhuqln.mjs → logs--dByNyhw.mjs} +35 -35
  84. package/.output/server/chunks/build/{logs-B-xhuqln.mjs.map → logs--dByNyhw.mjs.map} +1 -1
  85. package/.output/server/chunks/build/{monitor-CyfDt4nR.mjs → monitor-C0okQaXz.mjs} +33 -33
  86. package/.output/server/chunks/build/{monitor-CyfDt4nR.mjs.map → monitor-C0okQaXz.mjs.map} +1 -1
  87. package/.output/server/chunks/build/{pages-BO7yZsXA.mjs → pages-B0bUWnC6.mjs} +35 -19
  88. package/.output/server/chunks/build/pages-B0bUWnC6.mjs.map +1 -0
  89. package/.output/server/chunks/build/{permissions-B52oOmaO.mjs → permissions-68SsNjex.mjs} +12 -12
  90. package/.output/server/chunks/build/{permissions-B52oOmaO.mjs.map → permissions-68SsNjex.mjs.map} +1 -1
  91. package/.output/server/chunks/build/{plugins-CUWmMdyt.mjs → plugins-lGlUr1lj.mjs} +17 -17
  92. package/.output/server/chunks/build/{plugins-CUWmMdyt.mjs.map → plugins-lGlUr1lj.mjs.map} +1 -1
  93. package/.output/server/chunks/build/{settings-DoQ2Oq3P.mjs → settings-Ddd1qx2Z.mjs} +50 -47
  94. package/.output/server/chunks/build/settings-Ddd1qx2Z.mjs.map +1 -0
  95. package/.output/server/chunks/build/{teams-2kz3CusY.mjs → teams-MEDLZdMn.mjs} +38 -34
  96. package/.output/server/chunks/build/teams-MEDLZdMn.mjs.map +1 -0
  97. package/.output/server/chunks/build/{tokens-BbWLqtVz.mjs → tokens-C7fTM5C2.mjs} +14 -14
  98. package/.output/server/chunks/build/{tokens-BbWLqtVz.mjs.map → tokens-C7fTM5C2.mjs.map} +1 -1
  99. package/.output/server/chunks/build/{town-BOl6hs9B.mjs → town-CoQdblbZ.mjs} +38 -12
  100. package/.output/server/chunks/build/town-CoQdblbZ.mjs.map +1 -0
  101. package/.output/server/chunks/build/{useDaqStream-CIBaiGAl.mjs → useDaqStream-DfCFpb3p.mjs} +9 -3
  102. package/.output/server/chunks/build/useDaqStream-DfCFpb3p.mjs.map +1 -0
  103. package/.output/server/chunks/build/{useDcwStream-CBbiYnWe.mjs → useDcwStream-UPiX-3iO.mjs} +11 -2
  104. package/.output/server/chunks/build/useDcwStream-UPiX-3iO.mjs.map +1 -0
  105. package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs +49 -0
  106. package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs.map +1 -0
  107. package/.output/server/chunks/build/{users-fohSmF-J.mjs → users-Cfd5-l2-.mjs} +6 -6
  108. package/.output/server/chunks/build/{users-fohSmF-J.mjs.map → users-Cfd5-l2-.mjs.map} +1 -1
  109. package/.output/server/chunks/build/{workshop-DX5-ldc4.mjs → workshop-BL5bhfs0.mjs} +15 -15
  110. package/.output/server/chunks/build/{workshop-DX5-ldc4.mjs.map → workshop-BL5bhfs0.mjs.map} +1 -1
  111. package/.output/server/chunks/build/{workspaces-BuydxM-3.mjs → workspaces-Bgz5Ekwp.mjs} +18 -3
  112. package/.output/server/chunks/build/workspaces-Bgz5Ekwp.mjs.map +1 -0
  113. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs.map +1 -1
  114. package/.output/server/chunks/routes/api/system/index.patch.mjs.map +1 -1
  115. package/.output/server/chunks/routes/api/system/index.post.mjs.map +1 -1
  116. package/.output/server/chunks/routes/api/system/settings/events.get.mjs.map +1 -1
  117. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +6 -2
  118. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs.map +1 -1
  119. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +2 -1
  120. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs.map +1 -1
  121. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
  122. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +3 -3
  123. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs.map +1 -1
  124. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs.map +1 -1
  125. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs.map +1 -1
  126. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +3 -2
  127. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs.map +1 -1
  128. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -1
  129. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs.map +1 -1
  130. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +8 -6
  131. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs.map +1 -1
  132. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +5 -5
  133. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs.map +1 -1
  134. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +14 -4
  135. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs.map +1 -1
  136. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +4 -4
  137. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs.map +1 -1
  138. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +4 -3
  139. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs.map +1 -1
  140. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +31 -0
  141. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs.map +1 -0
  142. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +28 -0
  143. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs.map +1 -0
  144. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
  145. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
  146. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs.map +1 -1
  147. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +32 -0
  148. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs.map +1 -0
  149. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +34 -0
  150. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs.map +1 -0
  151. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +33 -0
  152. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs.map +1 -0
  153. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +34 -0
  154. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs.map +1 -0
  155. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
  156. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
  157. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
  158. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
  159. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  160. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  161. package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
  162. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +3 -1
  163. package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
  164. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +5 -1
  165. package/.output/server/chunks/routes/api/workshop/index6.get.mjs.map +1 -1
  166. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +3 -1
  167. package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
  168. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  169. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  170. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  171. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  172. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
  173. package/.output/server/chunks/routes/renderer.mjs +3 -3
  174. package/.output/server/chunks/virtual/entry.mjs +51 -25
  175. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  176. package/.output/server/package.json +1 -1
  177. package/README-zh.md +203 -39
  178. package/README.md +739 -591
  179. package/app/app.vue +9 -3
  180. package/app/assets/css/main.css +517 -7
  181. package/app/components/AppHeader.vue +98 -7
  182. package/app/components/AppSidebar.vue +117 -11
  183. package/app/components/AwChart.vue +2 -1
  184. package/app/components/workshop/AgentInspectorDrawer.vue +6 -6
  185. package/app/components/workshop/AgentLanesView.vue +52 -1
  186. package/app/components/workshop/AssetLibrary.vue +4 -2
  187. package/app/components/workshop/ChannelSessionList.vue +4 -2
  188. package/app/components/workshop/Composer.vue +96 -0
  189. package/app/components/workshop/DaqNodeRow.vue +19 -0
  190. package/app/components/workshop/DaqTemplateIcon.vue +33 -0
  191. package/app/components/workshop/DeviceTwinPanel.vue +37 -35
  192. package/app/components/workshop/EventBlock.vue +3 -3
  193. package/app/components/workshop/InspectorPanel.vue +47 -11
  194. package/app/components/workshop/LiveAgentBar.vue +34 -0
  195. package/app/components/workshop/TaskBoardView.vue +83 -33
  196. package/app/components/workshop/TranscriptTimeline.vue +56 -0
  197. package/app/components/workshop/blocks/ClusterError.vue +1 -1
  198. package/app/components/workshop/blocks/ClusterRoute.vue +3 -1
  199. package/app/components/workshop/blocks/ClusterStatus.vue +2 -2
  200. package/app/components/workshop/blocks/ClusterStream.vue +8 -2
  201. package/app/components/workshop/town/ModelPreview3D.vue +1 -1
  202. package/app/components/workshop/town/TownView.vue +507 -82
  203. package/app/composables/useResponsive.ts +88 -0
  204. package/app/composables/useRouteMeta.ts +3 -0
  205. package/app/composables/workshop/useDaqStream.ts +7 -4
  206. package/app/composables/workshop/useDcwStream.ts +8 -2
  207. package/app/composables/workshop/useVisibleInterval.ts +2 -2
  208. package/app/composables/workshop/useWorkshopApi.ts +1 -1
  209. package/app/layouts/default.vue +46 -2
  210. package/app/pages/aml/index.vue +712 -616
  211. package/app/pages/daq/[id].vue +12 -7
  212. package/app/pages/daq/index.vue +216 -13
  213. package/app/pages/dcw/[id].vue +117 -32
  214. package/app/pages/dcw/index.vue +83 -23
  215. package/app/pages/index.vue +35 -1
  216. package/app/pages/logs/index.vue +147 -13
  217. package/app/pages/monitor.vue +56 -12
  218. package/app/pages/permissions/index.vue +34 -0
  219. package/app/pages/plugins/index.vue +35 -4
  220. package/app/pages/settings.vue +90 -21
  221. package/app/pages/tokens.vue +23 -0
  222. package/app/pages/town.vue +50 -5
  223. package/app/pages/users.vue +23 -0
  224. package/app/pages/workshop/agents.vue +92 -2
  225. package/app/pages/workshop/channel-templates.vue +53 -0
  226. package/app/pages/workshop/index.vue +14 -0
  227. package/app/pages/workshop/teams.vue +66 -6
  228. package/app/pages/workshop/w/[wsId].vue +202 -14
  229. package/app/plugins/aw-plugins.client.ts +13 -8
  230. package/app/stores/app.ts +33 -1
  231. package/app/stores/workshop/user.ts +1 -1
  232. package/app/stores/workshop/workspaces.ts +18 -2
  233. package/app/utils/api-error.ts +1 -1
  234. package/cli/commands/build.mjs +8 -1
  235. package/docker-compose.yml +6 -0
  236. package/docs/cli.en.md +2 -2
  237. package/docs/cli.md +2 -2
  238. package/docs/plugins.en.md +33 -1
  239. package/docs/plugins.md +29 -1
  240. package/docs/sdk.en.md +1 -1
  241. package/docs/sdk.md +1 -1
  242. package/i18n/locales/en.ts +2 -0
  243. package/i18n/locales/zh-CN.ts +2 -0
  244. package/nuxt.config.ts +31 -0
  245. package/package.json +11 -2
  246. package/scripts/_dbg-param-map-e2e.ts +242 -0
  247. package/scripts/_dbg-param-map-rest-smoke.mjs +73 -0
  248. package/scripts/_dbg-param-real-scenario.mjs +153 -0
  249. package/scripts/_loop-biax-campaign.mjs +124 -0
  250. package/scripts/api-live-e2e.mjs +40 -8
  251. package/scripts/capture-walkthrough.mjs +232 -0
  252. package/scripts/render-walkthrough-figure.mjs +46 -0
  253. package/scripts/seed-walkthrough-fixture.mjs +143 -0
  254. package/scripts/test-plugin-hardening.mjs +8 -0
  255. package/scripts/test-serial-bridge.mjs +418 -0
  256. package/scripts/ui/admin-shots.mjs +46 -0
  257. package/scripts/ui/audit-layout.mjs +301 -0
  258. package/scripts/ui/bump-microfont.mjs +39 -0
  259. package/scripts/ui/e2e-interactive.mjs +328 -0
  260. package/scripts/ui/lib.mjs +198 -0
  261. package/scripts/ui/linkcheck2.mjs +37 -0
  262. package/scripts/ui/live-render-check.mjs +72 -0
  263. package/scripts/ui/md-lint.mjs +80 -0
  264. package/scripts/ui/perf-audit.mjs +132 -0
  265. package/scripts/ui/readme-assets.mjs +30 -0
  266. package/scripts/ui/readme-shots.mjs +42 -0
  267. package/scripts/ui/record.mjs +225 -0
  268. package/scripts/ui/seed-admin.mjs +68 -0
  269. package/scripts/ui/seed-demo.mjs +83 -0
  270. package/scripts/ui/seed-industrial-demo.mjs +171 -0
  271. package/scripts/ui/shot-hero.mjs +25 -0
  272. package/scripts/ui/shots.mjs +75 -0
  273. package/scripts/ui/sim-ui-shot.mjs +16 -0
  274. package/scripts/ui/verify-nav.mjs +51 -0
  275. package/scripts/ui/verify-responsive.mjs +285 -0
  276. package/server/api/system/config-groups/[id].patch.ts +1 -1
  277. package/server/api/system/config-groups/index.post.ts +1 -1
  278. package/server/api/system/settings/events.get.ts +1 -1
  279. package/server/api/system/settings/index.patch.ts +1 -1
  280. package/server/api/workshop/agent-tools/invoke.post.ts +16 -2
  281. package/server/api/workshop/aml/datasets/[id].get.ts +8 -1
  282. package/server/api/workshop/daq/index.get.ts +3 -1
  283. package/server/api/workshop/daq/infra/reconnect.post.ts +1 -1
  284. package/server/api/workshop/daq/templates/[key].delete.ts +1 -0
  285. package/server/api/workshop/daq/templates/[key].patch.ts +1 -0
  286. package/server/api/workshop/daq/templates/index.post.ts +1 -0
  287. package/server/api/workshop/dcw/[id]/write.post.ts +10 -2
  288. package/server/api/workshop/dcw/[id].delete.ts +5 -2
  289. package/server/api/workshop/dcw/index.get.ts +5 -0
  290. package/server/api/workshop/dcw/lines/[id].patch.ts +1 -1
  291. package/server/api/workshop/dcw/params/[id]/read.post.ts +17 -0
  292. package/server/api/workshop/dcw/params/[id]/write.post.ts +21 -0
  293. package/server/api/workshop/dcw/params/[id].delete.ts +19 -0
  294. package/server/api/workshop/dcw/params/[id].patch.ts +23 -0
  295. package/server/api/workshop/dcw/params/index.get.ts +27 -0
  296. package/server/api/workshop/dcw/params/index.post.ts +25 -0
  297. package/server/api/workshop/permissions/index.get.ts +3 -1
  298. package/server/plugins/aw-plugins.ts +23 -10
  299. package/server/plugins/dev-stability-guard.ts +3 -1
  300. package/server/plugins/system-config.ts +6 -1
  301. package/server/plugins-builtin/serial-bridge/client.mjs +210 -0
  302. package/server/plugins-builtin/serial-bridge/drivers.mjs +409 -0
  303. package/server/plugins-builtin/serial-bridge/i18n.json +62 -0
  304. package/server/plugins-builtin/serial-bridge/index.mjs +247 -0
  305. package/server/plugins-builtin/serial-bridge/lib.mjs +208 -0
  306. package/server/plugins-builtin/serial-bridge/rtu.mjs +168 -0
  307. package/server/services/system-config.ts +28 -9
  308. package/server/services/workshop/agents/adapters/one-shot-cli-agent.ts +2 -1
  309. package/server/services/workshop/agents/agent-interface.ts +8 -6
  310. package/server/services/workshop/agents/base-agent.ts +18 -4
  311. package/server/services/workshop/agents/claude-agent.ts +7 -3
  312. package/server/services/workshop/agents/codex-agent.ts +3 -3
  313. package/server/services/workshop/agents/dsh-agent.ts +3 -3
  314. package/server/services/workshop/agents/goose-agent.ts +0 -1
  315. package/server/services/workshop/agents/harness-terminal.ts +14 -1
  316. package/server/services/workshop/agents/hermes-agent.ts +4 -2
  317. package/server/services/workshop/agents/host-tool-bridge.ts +5 -1
  318. package/server/services/workshop/agents/industrial-context.ts +4 -1
  319. package/server/services/workshop/agents/industrial-tools.ts +164 -6
  320. package/server/services/workshop/agents/omp-agent.ts +15 -9
  321. package/server/services/workshop/agents/opencode-agent.ts +47 -21
  322. package/server/services/workshop/agents/qwen-agent.ts +10 -5
  323. package/server/services/workshop/aml/entity.ts +3 -1
  324. package/server/services/workshop/aml/python-runtime.ts +3 -2
  325. package/server/services/workshop/daq/bus/mqtt.adapter.ts +8 -4
  326. package/server/services/workshop/daq/daq-controller.ts +25 -5
  327. package/server/services/workshop/daq/daq-runtime.ts +5 -3
  328. package/server/services/workshop/daq/drivers.ts +141 -11
  329. package/server/services/workshop/daq/host-ports.ts +3 -2
  330. package/server/services/workshop/daq/storage/timescale.adapter.ts +3 -1
  331. package/server/services/workshop/db/channel.repo.ts +4 -0
  332. package/server/services/workshop/db/ops.repo.ts +5 -2
  333. package/server/services/workshop/db/retention.ts +8 -3
  334. package/server/services/workshop/dcw/dcw-controller.ts +147 -16
  335. package/server/services/workshop/dcw/dcw-product.repo.ts +38 -1
  336. package/server/services/workshop/dcw/dcw-runtime.ts +3 -2
  337. package/server/services/workshop/dcw/drivers.ts +90 -4
  338. package/server/services/workshop/dcw/param-conversion.ts +78 -0
  339. package/server/services/workshop/dcw/param-limits.ts +142 -0
  340. package/server/services/workshop/dcw/param-map.repo.ts +305 -0
  341. package/server/services/workshop/dcw/plugin-bridge.ts +45 -0
  342. package/server/services/workshop/dcw/recipe-rollback-manager.ts +13 -7
  343. package/server/services/workshop/plugins/host.mjs +30 -0
  344. package/server/services/workshop/runtime/agent-runtime.ts +4 -0
  345. package/server/services/workshop/runtime/manager.ts +9 -2
  346. package/server/services/workshop/settings.ts +4 -2
  347. package/server/types/pg.d.ts +49 -0
  348. package/server/utils/stability-severity.ts +13 -2
  349. package/shared/config/groups.mjs +22 -1
  350. package/shared/config/home.d.mts +28 -0
  351. package/shared/daq-protocol.ts +15 -0
  352. package/shared/dcw-protocol.ts +136 -0
  353. package/uno.config.ts +12 -1
  354. package/.output/public/_nuxt/8NMOXZOV.js +0 -1
  355. package/.output/public/_nuxt/BFkgkW8u.js +0 -4
  356. package/.output/public/_nuxt/C5gUkRwn.js +0 -1
  357. package/.output/public/_nuxt/CM12FuB42.js +0 -1
  358. package/.output/public/_nuxt/CZiw7sEV.js +0 -1
  359. package/.output/public/_nuxt/Cc_9VzD42.js +0 -1
  360. package/.output/public/_nuxt/CdPzkOMV.js +0 -1
  361. package/.output/public/_nuxt/CmsOtOAA2.js +0 -1
  362. package/.output/public/_nuxt/D1YDxZpZ.js +0 -1
  363. package/.output/public/_nuxt/D20Yamr4.js +0 -1
  364. package/.output/public/_nuxt/DAe0h2MB.js +0 -1
  365. package/.output/public/_nuxt/DmqknNvV.js +0 -18
  366. package/.output/public/_nuxt/DnUuIR83.js +0 -1
  367. package/.output/public/_nuxt/S_fVQwJK.js +0 -1
  368. package/.output/public/_nuxt/TownView.0oLiQgTC.css +0 -1
  369. package/.output/public/_nuxt/_id_.D-SYuyZb.css +0 -1
  370. package/.output/public/_nuxt/_id_.hma_BU6T.css +0 -1
  371. package/.output/public/_nuxt/_wsId_.B12v3PhY.css +0 -1
  372. package/.output/public/_nuxt/agents.BV70ioCv.css +0 -1
  373. package/.output/public/_nuxt/ahgEJu2R.js +0 -1
  374. package/.output/public/_nuxt/aml.COEKNNqK.css +0 -1
  375. package/.output/public/_nuxt/builds/meta/4457d63f-0866-4cea-b320-04a321f24795.json +0 -1
  376. package/.output/public/_nuxt/channel-templates.C-M5nKcC.css +0 -1
  377. package/.output/public/_nuxt/daq.B3265ZDn.css +0 -1
  378. package/.output/public/_nuxt/dcw.DLYZqEhT.css +0 -1
  379. package/.output/public/_nuxt/default.BXI_fZUi.css +0 -1
  380. package/.output/public/_nuxt/entry.BB-Eeh-J.css +0 -1
  381. package/.output/public/_nuxt/logs.CqFyMrJw.css +0 -1
  382. package/.output/public/_nuxt/monitor.B--1dPzs.css +0 -1
  383. package/.output/public/_nuxt/pages.ooEzrMm9.css +0 -1
  384. package/.output/public/_nuxt/permissions.B1pjGChZ.css +0 -1
  385. package/.output/public/_nuxt/plugins.5e5chZ67.css +0 -1
  386. package/.output/public/_nuxt/pz2JDAM7.js +0 -2
  387. package/.output/public/_nuxt/settings.Dm3M0RLy.css +0 -1
  388. package/.output/public/_nuxt/teams.BC75EGnR.css +0 -1
  389. package/.output/public/_nuxt/tokens.xRb1fSPU.css +0 -1
  390. package/.output/public/_nuxt/users.CXnP2E08.css +0 -1
  391. package/.output/public/_nuxt/workshop.Jk5HxWPE.css +0 -1
  392. package/.output/server/chunks/build/TownView-jVazYOjN.mjs.map +0 -1
  393. package/.output/server/chunks/build/_id_-CfVosNg3.mjs.map +0 -1
  394. package/.output/server/chunks/build/_id_-Hwr4rZpr.mjs.map +0 -1
  395. package/.output/server/chunks/build/agents-Bvin73QY.mjs.map +0 -1
  396. package/.output/server/chunks/build/daq-C03Uu5UE.mjs.map +0 -1
  397. package/.output/server/chunks/build/pages-BO7yZsXA.mjs.map +0 -1
  398. package/.output/server/chunks/build/settings-DoQ2Oq3P.mjs.map +0 -1
  399. package/.output/server/chunks/build/teams-2kz3CusY.mjs.map +0 -1
  400. package/.output/server/chunks/build/town-BOl6hs9B.mjs.map +0 -1
  401. package/.output/server/chunks/build/useDaqStream-CIBaiGAl.mjs.map +0 -1
  402. package/.output/server/chunks/build/useDcwStream-CBbiYnWe.mjs.map +0 -1
  403. package/.output/server/chunks/build/workspaces-BuydxM-3.mjs.map +0 -1
  404. /package/.output/public/_nuxt/{36oeS8_R2.js → 36oeS8_R.js} +0 -0
  405. /package/.output/public/_nuxt/{CYWVXZTS.js → CYWVXZTS2.js} +0 -0
@@ -1,18 +0,0 @@
1
- import{H as e,O as t,a as n,c as r,k as i,m as a,mt as o,n as s,ut as c}from"./BU83-NnX.js";import{$ as l,B as u,D as d,H as f,Ht as p,J as m,K as h,P as g,R as _,S as v,Ut as y,V as b,Vt as x,W as S,Z as C,b as w,ct as T,d as E,dt as D,f as O,h as k,ht as A,i as j,j as M,k as N,m as P,nt as F,p as I,pt as L,s as R,tt as z,u as B,ut as V,v as H,xt as U,y as W,yt as G,z as K}from"./CSkxz2NX.js";import{d as q,f as ee,l as J,t as Y,u as te}from"./D6uzXueg.js";import{d as ne,p as re}from"./BJHKLJJU.js";import{n as ie}from"./DtYHUi5Z.js";import{n as X}from"./KZQX7xoM.js";import{t as ae}from"./D9Oidm5I.js";import{t as oe}from"./CWoJjWmZ.js";import{$ as se,At as Z,E as ce,J as le,O as ue,Q as de,St as fe,X as pe,Z as me,at as he,ct as ge,d as _e,et as ve,h as ye,it as be,j as xe,jt as Q,m as Se,n as Ce,pt as we,t as Te,tt as Ee,u as De,wt as Oe}from"./4sIEbgcl.js";import{Y as ke,c as Ae,i as je}from"./DYr1VMiQ.js";import{n as Me,r as Ne,t as Pe}from"./DDgJcSET.js";import{a as Fe,i as Ie,t as Le}from"./aWWIh8YL.js";import{a as Re,i as ze,n as Be,r as Ve,t as He}from"./DBHNsT1Y.js";import{i as Ue,n as We,r as Ge,t as Ke}from"./BCGafdXT.js";import{t as qe}from"./CzlMDL5H.js";import{n as Je,r as Ye,t as Xe}from"./DR12_WCA.js";import{t as Ze}from"./pdk8jLGT.js";import{t as Qe}from"./lO5tpDZ5.js";import{t as $e}from"./JCoYF4IJ.js";import{t as et}from"./jZsY8yYz.js";import{t as tt}from"./CYWVXZTS.js";import{n as nt,r as rt,t as it}from"./DHFrCUxA2.js";import{t as at}from"./Dz_Q3Lpw2.js";import{t as ot}from"./DZtm4l-P2.js";import{t as st}from"./CClOy-Hz2.js";import{t as ct}from"./DIaZ2PTo2.js";import{t as $}from"./BDNMzG2s2.js";import{t as lt}from"./Cc_9VzD42.js";import{t as ut}from"./D0ZBQrN_2.js";import{a as dt,c as ft,d as pt,f as mt,i as ht,l as gt,m as _t,n as vt,o as yt,r as bt,s as xt,t as St,u as Ct}from"./BNT8gYU92.js";import{t as wt}from"./BN6iuJEg2.js";import{t as Tt}from"./CNs_Ozdc2.js";import{t as Et}from"./DeYsUzhr.js";import{t as Dt}from"./DeJykBFf.js";import{n as Ot,t as kt}from"./pz2JDAM7.js";function At(e){let{prefixCls:t,value:n,current:r,offset:i=0}=e,a;return i&&(a={position:`absolute`,top:`${i}00%`,left:0}),w(`p`,{style:a,class:Oe(`${t}-only-unit`,{current:r})},[n])}function jt(e,t,n){let r=e,i=0;for(;(r+10)%10!==t;)r+=n,i+=n;return i}var Mt=v({compatConfig:{MODE:3},name:`SingleNumber`,props:{prefixCls:String,value:String,count:Number},setup(e){let t=E(()=>Number(e.value)),n=E(()=>Math.abs(e.count)),r=D({prevValue:t.value,prevCount:n.value}),i=()=>{r.prevValue=t.value,r.prevCount=n.value},a=L();return l(t,()=>{clearTimeout(a.value),a.value=setTimeout(()=>{i()},1e3)},{flush:`post`}),K(()=>{clearTimeout(a.value)}),()=>{let a,o={},s=t.value;if(r.prevValue===s||Number.isNaN(s)||Number.isNaN(r.prevValue))a=[At(Z(Z({},e),{current:!0}))],o={transition:`none`};else{a=[];let t=s+10,i=[];for(let e=s;e<=t;e+=1)i.push(e);let c=i.findIndex(e=>e%10===r.prevValue);a=i.map((t,n)=>{let r=t%10;return At(Z(Z({},e),{value:r,offset:n-c,current:n===c}))});let l=r.prevCount<n.value?1:-1;o={transform:`translateY(${-jt(r.prevValue,s,l)}00%)`}}return w(`span`,{class:`${e.prefixCls}-only`,style:o,onTransitionend:()=>i()},[a])}}}),Nt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Pt={prefixCls:String,count:Te.any,component:String,title:Te.any,show:Boolean},Ft=v({compatConfig:{MODE:3},name:`ScrollNumber`,inheritAttrs:!1,props:Pt,setup(e,t){let{attrs:n,slots:r}=t,{prefixCls:i}=Ce(`scroll-number`,e);return()=>{let t=Z(Z({},e),n),{prefixCls:a,count:o,title:s,show:l,component:u=`sup`,class:d,style:f}=t,p=Nt(t,[`prefixCls`,`count`,`title`,`show`,`component`,`class`,`style`]),m=Z(Z({},p),{style:f,"data-show":e.show,class:Oe(i.value,d),title:s}),h=o;if(o&&Number(o)%1==0){let e=String(o).split(``);h=e.map((t,n)=>w(Mt,{prefixCls:i.value,count:Number(o),value:t,key:e.length-n},null))}f&&f.borderColor&&(m.style=Z(Z({},f),{boxShadow:`0 0 0 1px ${f.borderColor} inset`}));let g=he(r.default?.call(r));return g&&g.length?c(g,{class:Oe(`${i.value}-custom-component`)},!1):w(u,m,{default:()=>[h]})}}}),It=new ue(`antStatusProcessing`,{"0%":{transform:`scale(0.8)`,opacity:.5},"100%":{transform:`scale(2.4)`,opacity:0}}),Lt=new ue(`antZoomBadgeIn`,{"0%":{transform:`scale(0) translate(50%, -50%)`,opacity:0},"100%":{transform:`scale(1) translate(50%, -50%)`}}),Rt=new ue(`antZoomBadgeOut`,{"0%":{transform:`scale(1) translate(50%, -50%)`},"100%":{transform:`scale(0) translate(50%, -50%)`,opacity:0}}),zt=new ue(`antNoWrapperZoomBadgeIn`,{"0%":{transform:`scale(0)`,opacity:0},"100%":{transform:`scale(1)`}}),Bt=new ue(`antNoWrapperZoomBadgeOut`,{"0%":{transform:`scale(1)`},"100%":{transform:`scale(0)`,opacity:0}}),Vt=new ue(`antBadgeLoadingCircle`,{"0%":{transformOrigin:`50%`},"100%":{transform:`translate(50%, -50%) rotate(360deg)`,transformOrigin:`50%`}}),Ht=e=>{let{componentCls:t,iconCls:n,antCls:r,badgeFontHeight:i,badgeShadowSize:a,badgeHeightSm:o,motionDurationSlow:s,badgeStatusSize:c,marginXS:l,badgeRibbonOffset:u}=e,d=`${r}-scroll-number`,f=`${r}-ribbon`,p=`${r}-ribbon-wrapper`,m=ke(e,(e,n)=>{let{darkColor:r}=n;return{[`&${t} ${t}-color-${e}`]:{background:r,[`&:not(${t}-count)`]:{color:r}}}}),h=ke(e,(e,t)=>{let{darkColor:n}=t;return{[`&${f}-color-${e}`]:{background:n,color:n}}});return{[t]:Z(Z(Z(Z({},ye(e)),{position:`relative`,display:`inline-block`,width:`fit-content`,lineHeight:1,[`${t}-count`]:{zIndex:e.badgeZIndex,minWidth:e.badgeHeight,height:e.badgeHeight,color:e.badgeTextColor,fontWeight:e.badgeFontWeight,fontSize:e.badgeFontSize,lineHeight:`${e.badgeHeight}px`,whiteSpace:`nowrap`,textAlign:`center`,background:e.badgeColor,borderRadius:e.badgeHeight/2,boxShadow:`0 0 0 ${a}px ${e.badgeShadowColor}`,transition:`background ${e.motionDurationMid}`,a:{color:e.badgeTextColor},"a:hover":{color:e.badgeTextColor},"a:hover &":{background:e.badgeColorHover}},[`${t}-count-sm`]:{minWidth:o,height:o,fontSize:e.badgeFontSizeSm,lineHeight:`${o}px`,borderRadius:o/2},[`${t}-multiple-words`]:{padding:`0 ${e.paddingXS}px`},[`${t}-dot`]:{zIndex:e.badgeZIndex,width:e.badgeDotSize,minWidth:e.badgeDotSize,height:e.badgeDotSize,background:e.badgeColor,borderRadius:`100%`,boxShadow:`0 0 0 ${a}px ${e.badgeShadowColor}`},[`${t}-dot${d}`]:{transition:`background ${s}`},[`${t}-count, ${t}-dot, ${d}-custom-component`]:{position:`absolute`,top:0,insetInlineEnd:0,transform:`translate(50%, -50%)`,transformOrigin:`100% 0%`,[`&${n}-spin`]:{animationName:Vt,animationDuration:`1s`,animationIterationCount:`infinite`,animationTimingFunction:`linear`}},[`&${t}-status`]:{lineHeight:`inherit`,verticalAlign:`baseline`,[`${t}-status-dot`]:{position:`relative`,top:-1,display:`inline-block`,width:c,height:c,verticalAlign:`middle`,borderRadius:`50%`},[`${t}-status-success`]:{backgroundColor:e.colorSuccess},[`${t}-status-processing`]:{overflow:`visible`,color:e.colorPrimary,backgroundColor:e.colorPrimary,"&::after":{position:`absolute`,top:0,insetInlineStart:0,width:`100%`,height:`100%`,borderWidth:a,borderStyle:`solid`,borderColor:`inherit`,borderRadius:`50%`,animationName:It,animationDuration:e.badgeProcessingDuration,animationIterationCount:`infinite`,animationTimingFunction:`ease-in-out`,content:`""`}},[`${t}-status-default`]:{backgroundColor:e.colorTextPlaceholder},[`${t}-status-error`]:{backgroundColor:e.colorError},[`${t}-status-warning`]:{backgroundColor:e.colorWarning},[`${t}-status-text`]:{marginInlineStart:l,color:e.colorText,fontSize:e.fontSize}}}),m),{[`${t}-zoom-appear, ${t}-zoom-enter`]:{animationName:Lt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack,animationFillMode:`both`},[`${t}-zoom-leave`]:{animationName:Rt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack,animationFillMode:`both`},[`&${t}-not-a-wrapper`]:{[`${t}-zoom-appear, ${t}-zoom-enter`]:{animationName:zt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack},[`${t}-zoom-leave`]:{animationName:Bt,animationDuration:e.motionDurationSlow,animationTimingFunction:e.motionEaseOutBack},[`&:not(${t}-status)`]:{verticalAlign:`middle`},[`${d}-custom-component, ${t}-count`]:{transform:`none`},[`${d}-custom-component, ${d}`]:{position:`relative`,top:`auto`,display:`block`,transformOrigin:`50% 50%`}},[`${d}`]:{overflow:`hidden`,[`${d}-only`]:{position:`relative`,display:`inline-block`,height:e.badgeHeight,transition:`all ${e.motionDurationSlow} ${e.motionEaseOutBack}`,WebkitTransformStyle:`preserve-3d`,WebkitBackfaceVisibility:`hidden`,[`> p${d}-only-unit`]:{height:e.badgeHeight,margin:0,WebkitTransformStyle:`preserve-3d`,WebkitBackfaceVisibility:`hidden`}},[`${d}-symbol`]:{verticalAlign:`top`}},"&-rtl":{direction:`rtl`,[`${t}-count, ${t}-dot, ${d}-custom-component`]:{transform:`translate(-50%, -50%)`}}}),[`${p}`]:{position:`relative`},[`${f}`]:Z(Z(Z(Z({},ye(e)),{position:`absolute`,top:l,padding:`0 ${e.paddingXS}px`,color:e.colorPrimary,lineHeight:`${i}px`,whiteSpace:`nowrap`,backgroundColor:e.colorPrimary,borderRadius:e.borderRadiusSM,[`${f}-text`]:{color:e.colorTextLightSolid},[`${f}-corner`]:{position:`absolute`,top:`100%`,width:u,height:u,color:`currentcolor`,border:`${u/2}px solid`,transform:e.badgeRibbonCornerTransform,transformOrigin:`top`,filter:e.badgeRibbonCornerFilter}}),h),{[`&${f}-placement-end`]:{insetInlineEnd:-u,borderEndEndRadius:0,[`${f}-corner`]:{insetInlineEnd:0,borderInlineEndColor:`transparent`,borderBlockEndColor:`transparent`}},[`&${f}-placement-start`]:{insetInlineStart:-u,borderEndStartRadius:0,[`${f}-corner`]:{insetInlineStart:0,borderBlockEndColor:`transparent`,borderInlineStartColor:`transparent`}},"&-rtl":{direction:`rtl`}})}},Ut=_e(`Badge`,e=>{let{fontSize:t,lineHeight:n,fontSizeSM:r,lineWidth:i,marginXS:a,colorBorderBg:o}=e,s=Math.round(t*n),c=i,l=s-2*c,u=e.colorBgContainer,d=r,f=e.colorError,p=e.colorErrorHover,m=t,h=r/2,g=r,_=r/2;return[Ht(De(e,{badgeFontHeight:s,badgeShadowSize:c,badgeZIndex:`auto`,badgeHeight:l,badgeTextColor:u,badgeFontWeight:`normal`,badgeFontSize:d,badgeColor:f,badgeColorHover:p,badgeShadowColor:o,badgeHeightSm:m,badgeDotSize:h,badgeFontSizeSm:g,badgeStatusSize:_,badgeProcessingDuration:`1.2s`,badgeRibbonOffset:a,badgeRibbonCornerTransform:`scaleY(0.75)`,badgeRibbonCornerFilter:`brightness(75%)`}))]}),Wt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Gt=v({compatConfig:{MODE:3},name:`ABadgeRibbon`,inheritAttrs:!1,props:{prefix:String,color:{type:String},text:Te.any,placement:{type:String,default:`end`}},slots:Object,setup(e,t){let{attrs:n,slots:r}=t,{prefixCls:i,direction:a}=Ce(`ribbon`,e),[o,s]=Ut(i),c=E(()=>Ae(e.color,!1)),l=E(()=>[i.value,`${i.value}-placement-${e.placement}`,{[`${i.value}-rtl`]:a.value===`rtl`,[`${i.value}-color-${e.color}`]:c.value}]);return()=>{let{class:t,style:a}=n,u=Wt(n,[`class`,`style`]),d={},f={};return e.color&&!c.value&&(d.background=e.color,f.color=e.color),o(w(`div`,Q({class:`${i.value}-wrapper ${s.value}`},u),[r.default?.call(r),w(`div`,{class:[l.value,t,s.value],style:Z(Z({},d),a)},[w(`span`,{class:`${i.value}-text`},[e.text||r.text?.call(r)]),w(`div`,{class:`${i.value}-corner`,style:f},null)])]))}}}),Kt=v({compatConfig:{MODE:3},name:`ABadge`,Ribbon:Gt,inheritAttrs:!1,props:{count:Te.any.def(null),showZero:{type:Boolean,default:void 0},overflowCount:{type:Number,default:99},dot:{type:Boolean,default:void 0},prefixCls:String,scrollNumberPrefixCls:String,status:{type:String},size:{type:String,default:`default`},color:String,text:Te.any,offset:Array,numberStyle:{type:Object,default:void 0},title:String},slots:Object,setup(t,n){let{slots:r,attrs:i}=n,{prefixCls:a,direction:o}=Ce(`badge`,t),[s,u]=Ut(a),d=E(()=>t.count>t.overflowCount?`${t.overflowCount}+`:t.count),f=E(()=>d.value===`0`||d.value===0),p=E(()=>t.count===null||f.value&&!t.showZero),m=E(()=>(t.status!==null&&t.status!==void 0||t.color!==null&&t.color!==void 0)&&p.value),h=E(()=>t.dot&&!f.value),g=E(()=>h.value?``:d.value),_=E(()=>(g.value===null||g.value===void 0||g.value===``||f.value&&!t.showZero)&&!h.value),v=L(t.count),y=L(g.value),b=L(h.value);l([()=>t.count,g,h],()=>{_.value||(v.value=t.count,y.value=g.value,b.value=h.value)},{immediate:!0});let x=E(()=>Ae(t.color,!1)),S=E(()=>({[`${a.value}-status-dot`]:m.value,[`${a.value}-status-${t.status}`]:!!t.status,[`${a.value}-color-${t.color}`]:x.value})),C=E(()=>t.color&&!x.value?{background:t.color,color:t.color}:{}),T=E(()=>({[`${a.value}-dot`]:b.value,[`${a.value}-count`]:!b.value,[`${a.value}-count-sm`]:t.size===`small`,[`${a.value}-multiple-words`]:!b.value&&y.value&&y.value.toString().length>1,[`${a.value}-status-${t.status}`]:!!t.status,[`${a.value}-color-${t.color}`]:x.value}));return()=>{let{offset:n,title:l,color:d}=t,f=i.style,p=we(r,t,`text`),h=a.value,g=v.value,b=ge(r.default?.call(r));b=b.length?b:null;let E=!!(!_.value||r.count),D=(()=>{if(!n)return Z({},f);let e={marginTop:Qe(n[1])?`${n[1]}px`:n[1]};return o.value===`rtl`?e.left=`${parseInt(n[0],10)}px`:e.right=`${-parseInt(n[0],10)}px`,Z(Z({},e),f)})(),O=l??(typeof g==`string`||typeof g==`number`?g:void 0),k=E||!p?null:w(`span`,{class:`${h}-status-text`},[p]),A=typeof g==`object`||g===void 0&&r.count?c(g??r.count?.call(r),{style:D},!1):null,j=Oe(h,{[`${h}-status`]:m.value,[`${h}-not-a-wrapper`]:!b,[`${h}-rtl`]:o.value===`rtl`},i.class,u.value);if(!b&&m.value){let e=D.color;return s(w(`span`,Q(Q({},i),{},{class:j,style:D}),[w(`span`,{class:S.value,style:C.value},null),w(`span`,{style:{color:e},class:`${h}-status-text`},[p])]))}let M=e(b?`${h}-zoom`:``,{appear:!1}),N=Z(Z({},D),t.numberStyle);return d&&!x.value&&(N||={},N.background=d),s(w(`span`,Q(Q({},i),{},{class:j}),[b,w(Y,M,{default:()=>[F(w(Ft,{prefixCls:t.scrollNumberPrefixCls,show:E,class:T.value,count:y.value,title:O,style:N,key:`scrollNumber`},{default:()=>[A]}),[[te,E]])]}),k]))}}});Kt.install=function(e){return e.component(Kt.name,Kt),e.component(Gt.name,Gt),e};var qt=Kt,Jt=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Yt=v({compatConfig:{MODE:3},name:`ABreadcrumbItem`,inheritAttrs:!1,__ANT_BREADCRUMB_ITEM:!0,props:{prefixCls:String,href:String,separator:Te.any,dropdownProps:se(),overlay:Te.any,onClick:me()},slots:Object,setup(e,t){let{slots:n,attrs:r,emit:i}=t,{prefixCls:a}=Ce(`breadcrumb`,e),o=(t,r)=>{let i=we(n,e,`overlay`);return i?w($e,Q(Q({},e.dropdownProps),{},{overlay:i,placement:`bottom`}),{default:()=>[w(`span`,{class:`${r}-overlay-link`},[t,w(Fe,null,null)])]}):t},s=e=>{i(`click`,e)};return()=>{let t=we(n,e,`separator`)??`/`,i=we(n,e),{class:c,style:l}=r,u=Jt(r,[`class`,`style`]),d;return d=e.href===void 0?w(`span`,Q({class:`${a.value}-link`,onClick:s},u),[i]):w(`a`,Q({class:`${a.value}-link`,onClick:s},u),[i]),d=o(d,a.value),i==null?null:w(`li`,{class:c,style:l},[d,t&&w(`span`,{class:`${a.value}-separator`},[t])])}}}),Xt=e=>{let{componentCls:t,iconCls:n}=e;return{[t]:Z(Z({},ye(e)),{color:e.breadcrumbBaseColor,fontSize:e.breadcrumbFontSize,[n]:{fontSize:e.breadcrumbIconFontSize},ol:{display:`flex`,flexWrap:`wrap`,margin:0,padding:0,listStyle:`none`},a:Z({color:e.breadcrumbLinkColor,transition:`color ${e.motionDurationMid}`,padding:`0 ${e.paddingXXS}px`,borderRadius:e.borderRadiusSM,height:e.lineHeight*e.fontSize,display:`inline-block`,marginInline:-e.marginXXS,"&:hover":{color:e.breadcrumbLinkColorHover,backgroundColor:e.colorBgTextHover}},Se(e)),"li:last-child":{color:e.breadcrumbLastItemColor,[`& > ${t}-separator`]:{display:`none`}},[`${t}-separator`]:{marginInline:e.breadcrumbSeparatorMargin,color:e.breadcrumbSeparatorColor},[`${t}-link`]:{[`
2
- > ${n} + span,
3
- > ${n} + a
4
- `]:{marginInlineStart:e.marginXXS}},[`${t}-overlay-link`]:{borderRadius:e.borderRadiusSM,height:e.lineHeight*e.fontSize,display:`inline-block`,padding:`0 ${e.paddingXXS}px`,marginInline:-e.marginXXS,[`> ${n}`]:{marginInlineStart:e.marginXXS,fontSize:e.fontSizeIcon},"&:hover":{color:e.breadcrumbLinkColorHover,backgroundColor:e.colorBgTextHover,a:{color:e.breadcrumbLinkColorHover}},a:{"&:hover":{backgroundColor:`transparent`}}},[`&${e.componentCls}-rtl`]:{direction:`rtl`}})}},Zt=_e(`Breadcrumb`,e=>[Xt(De(e,{breadcrumbBaseColor:e.colorTextDescription,breadcrumbFontSize:e.fontSize,breadcrumbIconFontSize:e.fontSize,breadcrumbLinkColor:e.colorTextDescription,breadcrumbLinkColorHover:e.colorText,breadcrumbLastItemColor:e.colorText,breadcrumbSeparatorMargin:e.marginXS,breadcrumbSeparatorColor:e.colorTextDescription}))]),Qt=()=>({prefixCls:String,routes:{type:Array},params:Te.any,separator:Te.any,itemRender:{type:Function}});function $t(e,t){if(!e.breadcrumbName)return null;let n=Object.keys(t).join(`|`);return e.breadcrumbName.replace(RegExp(`:(${n})`,`g`),(e,n)=>t[n]||e)}function en(e){let{route:t,params:n,routes:r,paths:i}=e,a=r.indexOf(t)===r.length-1,o=$t(t,n);return a?w(`span`,null,[o]):w(`a`,{href:`#/${i.join(`/`)}`},[o])}var tn=v({compatConfig:{MODE:3},name:`ABreadcrumb`,inheritAttrs:!1,props:Qt(),slots:Object,setup(e,t){let{slots:n,attrs:r}=t,{prefixCls:i,direction:a}=Ce(`breadcrumb`,e),[o,s]=Zt(i),c=(e,t)=>(e=(e||``).replace(/^\//,``),Object.keys(t).forEach(n=>{e=e.replace(`:${n}`,t[n])}),e),l=(e,t,n)=>{let r=[...e],i=c(t||``,n);return i&&r.push(i),r},u=e=>{let{routes:t=[],params:n={},separator:r,itemRender:i=en}=e,a=[];return t.map(e=>{let o=c(e.path,n);o&&a.push(o);let s=[...a],u=null;e.children&&e.children.length&&(u=w(qe,{items:e.children.map(e=>({key:e.path||e.breadcrumbName,label:i({route:e,params:n,routes:t,paths:l(s,e.path,n)})}))},null));let d={separator:r};return u&&(d.overlay=u),w(Yt,Q(Q({},d),{},{key:o||e.breadcrumbName}),{default:()=>[i({route:e,params:n,routes:t,paths:s})]})})};return()=>{let t,{routes:c,params:l={}}=e,d=ge(we(n,e)),f=we(n,e,`separator`)??`/`,p=e.itemRender||n.itemRender||en;c&&c.length>0?t=u({routes:c,params:l,separator:f,itemRender:p}):d.length&&(t=d.map((e,t)=>(xe(typeof e.type==`object`&&(e.type.__ANT_BREADCRUMB_ITEM||e.type.__ANT_BREADCRUMB_SEPARATOR),`Breadcrumb`,`Only accepts Breadcrumb.Item and Breadcrumb.Separator as it's children`),B(e,{separator:f,key:t}))));let m={[i.value]:!0,[`${i.value}-rtl`]:a.value===`rtl`,[`${r.class}`]:!!r.class,[s.value]:!0};return o(w(`nav`,Q(Q({},r),{},{class:m}),[w(`ol`,null,[t])]))}}}),nn=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},rn=v({compatConfig:{MODE:3},name:`ABreadcrumbSeparator`,__ANT_BREADCRUMB_SEPARATOR:!0,inheritAttrs:!1,props:{prefixCls:String},setup(e,t){let{slots:n,attrs:r}=t,{prefixCls:i}=Ce(`breadcrumb`,e);return()=>{let{separator:e,class:t}=r,a=nn(r,[`separator`,`class`]),o=ge(n.default?.call(n));return w(`span`,Q({class:[`${i.value}-separator`,t]},a),[o.length>0?o:`/`])}}});tn.Item=Yt,tn.Separator=rn,tn.install=function(e){return e.component(tn.name,tn),e.component(Yt.name,Yt),e.component(rn.name,rn),e};var an=tn,on=[`normal`,`exception`,`active`,`success`],sn=()=>({prefixCls:String,type:Ee(),percent:Number,format:de(),status:Ee(),showInfo:pe(),strokeWidth:Number,strokeLinecap:Ee(),strokeColor:le(),trailColor:String,width:Number,success:se(),gapDegree:Number,gapPosition:Ee(),size:ve([String,Number,Array]),steps:Number,successPercent:Number,title:String,progressStatus:Ee()});function cn(e){return!e||e<0?0:e>100?100:e}function ln(e){let{success:t,successPercent:n}=e,r=n;return t&&`progress`in t&&(o(!1,`Progress`,"`success.progress` is deprecated. Please use `success.percent` instead."),r=t.progress),t&&`percent`in t&&(r=t.percent),r}function un(e){let{percent:t,success:n,successPercent:r}=e,i=cn(ln({success:n,successPercent:r}));return[i,cn(cn(t)-i)]}function dn(e){let{success:t={},strokeColor:n}=e,{strokeColor:r}=t;return[r||ce.green,n||null]}var fn=(e,t,n)=>{let r=-1,i=-1;if(t===`step`){let t=n.steps,a=n.strokeWidth;typeof e==`string`||e===void 0?(r=e===`small`?2:14,i=a??8):typeof e==`number`?[r,i]=[e,e]:[r=14,i=8]=e,r*=t}else if(t===`line`){let t=n?.strokeWidth;typeof e==`string`||e===void 0?i=t||(e===`small`?6:8):typeof e==`number`?[r,i]=[e,e]:[r=-1,i=8]=e}else(t===`circle`||t===`dashboard`)&&(typeof e==`string`||e===void 0?[r,i]=e===`small`?[60,60]:[120,120]:typeof e==`number`?[r,i]=[e,e]:(r=e[0]??e[1]??120,i=e[0]??e[1]??120));return{width:r,height:i}},pn=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},mn=()=>Z(Z({},sn()),{strokeColor:le(),direction:Ee()}),hn=e=>{let t=[];return Object.keys(e).forEach(n=>{let r=parseFloat(n.replace(/%/g,``));isNaN(r)||t.push({key:r,value:e[n]})}),t=t.sort((e,t)=>e.key-t.key),t.map(e=>{let{key:t,value:n}=e;return`${n} ${t}%`}).join(`, `)},gn=(e,t)=>{let{from:n=ce.blue,to:r=ce.blue,direction:i=t===`rtl`?`to left`:`to right`}=e,a=pn(e,[`from`,`to`,`direction`]);return Object.keys(a).length===0?{backgroundImage:`linear-gradient(${i}, ${n}, ${r})`}:{backgroundImage:`linear-gradient(${i}, ${hn(a)})`}},_n=v({compatConfig:{MODE:3},name:`ProgressLine`,inheritAttrs:!1,props:mn(),setup(e,t){let{slots:n,attrs:r}=t,i=E(()=>{let{strokeColor:t,direction:n}=e;return t&&typeof t!=`string`?gn(t,n):{backgroundColor:t}}),a=E(()=>e.strokeLinecap===`square`||e.strokeLinecap===`butt`?0:void 0),o=E(()=>e.trailColor?{backgroundColor:e.trailColor}:void 0),s=E(()=>e.size??[-1,e.strokeWidth||(e.size===`small`?6:8)]),c=E(()=>fn(s.value,`line`,{strokeWidth:e.strokeWidth})),l=E(()=>{let{percent:t}=e;return Z({width:`${cn(t)}%`,height:`${c.value.height}px`,borderRadius:a.value},i.value)}),u=E(()=>ln(e)),d=E(()=>{let{success:t}=e;return{width:`${cn(u.value)}%`,height:`${c.value.height}px`,borderRadius:a.value,backgroundColor:t?.strokeColor}}),f={width:c.value.width<0?`100%`:c.value.width,height:`${c.value.height}px`};return()=>w(j,null,[w(`div`,Q(Q({},r),{},{class:[`${e.prefixCls}-outer`,r.class],style:[r.style,f]}),[w(`div`,{class:`${e.prefixCls}-inner`,style:o.value},[w(`div`,{class:`${e.prefixCls}-bg`,style:l.value},null),u.value===void 0?null:w(`div`,{class:`${e.prefixCls}-success-bg`,style:d.value},null)])]),n.default?.call(n)])}}),vn={percent:0,prefixCls:`vc-progress`,strokeColor:`#2db7f5`,strokeLinecap:`round`,strokeWidth:1,trailColor:`#D9D9D9`,trailWidth:1},yn=e=>{let t=L(null);return u(()=>{let n=Date.now(),r=!1;e.value.forEach(e=>{let i=e?.$el||e;if(!i)return;r=!0;let a=i.style;a.transitionDuration=`.3s, .3s, .3s, .06s`,t.value&&n-t.value<100&&(a.transitionDuration=`0s, 0s`)}),r&&(t.value=Date.now())}),e},bn={gapDegree:Number,gapPosition:{type:String},percent:{type:[Array,Number]},prefixCls:String,strokeColor:{type:[Object,String,Array]},strokeLinecap:{type:String},strokeWidth:Number,trailColor:String,trailWidth:Number,transition:String},xn=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},Sn=0;function Cn(e){return+e.replace(`%`,``)}function wn(e){return Array.isArray(e)?e:[e]}function Tn(e,t,n,r){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0,a=arguments.length>5?arguments[5]:void 0,o=50-r/2,s=0,c=-o,l=0,u=-2*o;switch(a){case`left`:s=-o,c=0,l=2*o,u=0;break;case`right`:s=o,c=0,l=-2*o,u=0;break;case`bottom`:c=o,u=2*o}let d=`M 50,50 m ${s},${c}
5
- a ${o},${o} 0 1 1 ${l},${-u}
6
- a ${o},${o} 0 1 1 ${-l},${u}`,f=Math.PI*2*o;return{pathString:d,pathStyle:{stroke:n,strokeDasharray:`${t/100*(f-i)}px ${f}px`,strokeDashoffset:`-${i/2+e/100*(f-i)}px`,transition:`stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s`}}}var En=v({compatConfig:{MODE:3},name:`VCCircle`,props:fe(bn,vn),setup(e){Sn+=1;let t=L(Sn),n=E(()=>wn(e.percent)),r=E(()=>wn(e.strokeColor)),[i,a]=Ye();yn(a);let o=()=>{let{prefixCls:a,strokeWidth:o,strokeLinecap:s,gapDegree:c,gapPosition:l}=e,u=0;return n.value.map((e,n)=>{let d=r.value[n]||r.value[r.value.length-1],f=Object.prototype.toString.call(d)===`[object Object]`?`url(#${a}-gradient-${t.value})`:``,{pathString:p,pathStyle:m}=Tn(u,e,d,o,c,l);u+=e;let h={key:n,d:p,stroke:f,"stroke-linecap":s,"stroke-width":o,opacity:e===0?0:1,"fill-opacity":`0`,class:`${a}-circle-path`,style:m};return w(`path`,Q({ref:i(n)},h),null)})};return()=>{let{prefixCls:n,strokeWidth:i,trailWidth:a,gapDegree:s,gapPosition:c,trailColor:l,strokeLinecap:u,strokeColor:d}=e,f=xn(e,[`prefixCls`,`strokeWidth`,`trailWidth`,`gapDegree`,`gapPosition`,`trailColor`,`strokeLinecap`,`strokeColor`]),{pathString:p,pathStyle:m}=Tn(0,100,l,i,s,c);delete f.percent;let h=r.value.find(e=>Object.prototype.toString.call(e)===`[object Object]`),g={d:p,stroke:l,"stroke-linecap":u,"stroke-width":a||i,"fill-opacity":`0`,class:`${n}-circle-trail`,style:m};return w(`svg`,Q({class:`${n}-circle`,viewBox:`0 0 100 100`},f),[h&&w(`defs`,null,[w(`linearGradient`,{id:`${n}-gradient-${t.value}`,x1:`100%`,y1:`0%`,x2:`0%`,y2:`0%`},[Object.keys(h).sort((e,t)=>Cn(e)-Cn(t)).map((e,t)=>w(`stop`,{key:t,offset:e,"stop-color":h[e]},null))])]),w(`path`,g,null),o().reverse()])}}}),Dn=()=>Z(Z({},sn()),{strokeColor:le()}),On=3,kn=e=>On/e*100,An=v({compatConfig:{MODE:3},name:`ProgressCircle`,inheritAttrs:!1,props:fe(Dn(),{trailColor:null}),setup(e,t){let{slots:n,attrs:r}=t,i=E(()=>e.width??120),a=E(()=>e.size??[i.value,i.value]),o=E(()=>fn(a.value,`circle`)),s=E(()=>{if(e.gapDegree||e.gapDegree===0)return e.gapDegree;if(e.type===`dashboard`)return 75}),c=E(()=>({width:`${o.value.width}px`,height:`${o.value.height}px`,fontSize:`${o.value.width*.15+6}px`})),l=E(()=>e.strokeWidth??Math.max(kn(o.value.width),6)),u=E(()=>e.gapPosition||e.type===`dashboard`&&`bottom`||void 0),d=E(()=>un(e)),f=E(()=>Object.prototype.toString.call(e.strokeColor)===`[object Object]`),p=E(()=>dn({success:e.success,strokeColor:e.strokeColor})),m=E(()=>({[`${e.prefixCls}-inner`]:!0,[`${e.prefixCls}-circle-gradient`]:f.value}));return()=>{let t=w(En,{percent:d.value,strokeWidth:l.value,trailWidth:l.value,strokeColor:p.value,strokeLinecap:e.strokeLinecap,trailColor:e.trailColor,prefixCls:e.prefixCls,gapDegree:s.value,gapPosition:u.value},null);return w(`div`,Q(Q({},r),{},{class:[m.value,r.class],style:[r.style,c.value]}),[o.value.width<=20?w(je,null,{default:()=>[w(`span`,null,[t])],title:n.default}):w(j,null,[t,n.default?.call(n)])])}}}),jn=v({compatConfig:{MODE:3},name:`Steps`,props:Z(Z({},sn()),{steps:Number,strokeColor:ve(),trailColor:String}),setup(e,t){let{slots:n}=t,r=E(()=>Math.round(e.steps*((e.percent||0)/100))),i=E(()=>e.size??[e.size===`small`?2:14,e.strokeWidth||8]),a=E(()=>fn(i.value,`step`,{steps:e.steps,strokeWidth:e.strokeWidth||8})),o=E(()=>{let{steps:t,strokeColor:n,trailColor:i,prefixCls:o}=e,s=[];for(let e=0;e<t;e+=1){let c=Array.isArray(n)?n[e]:n,l={[`${o}-steps-item`]:!0,[`${o}-steps-item-active`]:e<=r.value-1};s.push(w(`div`,{key:e,class:l,style:{backgroundColor:e<=r.value-1?c:i,width:`${a.value.width/t}px`,height:`${a.value.height}px`}},null))}return s});return()=>w(`div`,{class:`${e.prefixCls}-steps-outer`},[o.value,n.default?.call(n)])}}),Mn=new ue(`antProgressActive`,{"0%":{transform:`translateX(-100%) scaleX(0)`,opacity:.1},"20%":{transform:`translateX(-100%) scaleX(0)`,opacity:.5},to:{transform:`translateX(0) scaleX(1)`,opacity:0}}),Nn=e=>{let{componentCls:t,iconCls:n}=e;return{[t]:Z(Z({},ye(e)),{display:`inline-block`,"&-rtl":{direction:`rtl`},"&-line":{position:`relative`,width:`100%`,fontSize:e.fontSize,marginInlineEnd:e.marginXS,marginBottom:e.marginXS},[`${t}-outer`]:{display:`inline-block`,width:`100%`},[`&${t}-show-info`]:{[`${t}-outer`]:{marginInlineEnd:`calc(-2em - ${e.marginXS}px)`,paddingInlineEnd:`calc(2em + ${e.paddingXS}px)`}},[`${t}-inner`]:{position:`relative`,display:`inline-block`,width:`100%`,overflow:`hidden`,verticalAlign:`middle`,backgroundColor:e.progressRemainingColor,borderRadius:e.progressLineRadius},[`${t}-inner:not(${t}-circle-gradient)`]:{[`${t}-circle-path`]:{stroke:e.colorInfo}},[`${t}-success-bg, ${t}-bg`]:{position:`relative`,backgroundColor:e.colorInfo,borderRadius:e.progressLineRadius,transition:`all ${e.motionDurationSlow} ${e.motionEaseInOutCirc}`},[`${t}-success-bg`]:{position:`absolute`,insetBlockStart:0,insetInlineStart:0,backgroundColor:e.colorSuccess},[`${t}-text`]:{display:`inline-block`,width:`2em`,marginInlineStart:e.marginXS,color:e.progressInfoTextColor,lineHeight:1,whiteSpace:`nowrap`,textAlign:`start`,verticalAlign:`middle`,wordBreak:`normal`,[n]:{fontSize:e.fontSize}},[`&${t}-status-active`]:{[`${t}-bg::before`]:{position:`absolute`,inset:0,backgroundColor:e.colorBgContainer,borderRadius:e.progressLineRadius,opacity:0,animationName:Mn,animationDuration:e.progressActiveMotionDuration,animationTimingFunction:e.motionEaseOutQuint,animationIterationCount:`infinite`,content:`""`}},[`&${t}-status-exception`]:{[`${t}-bg`]:{backgroundColor:e.colorError},[`${t}-text`]:{color:e.colorError}},[`&${t}-status-exception ${t}-inner:not(${t}-circle-gradient)`]:{[`${t}-circle-path`]:{stroke:e.colorError}},[`&${t}-status-success`]:{[`${t}-bg`]:{backgroundColor:e.colorSuccess},[`${t}-text`]:{color:e.colorSuccess}},[`&${t}-status-success ${t}-inner:not(${t}-circle-gradient)`]:{[`${t}-circle-path`]:{stroke:e.colorSuccess}}})}},Pn=e=>{let{componentCls:t,iconCls:n}=e;return{[t]:{[`${t}-circle-trail`]:{stroke:e.progressRemainingColor},[`&${t}-circle ${t}-inner`]:{position:`relative`,lineHeight:1,backgroundColor:`transparent`},[`&${t}-circle ${t}-text`]:{position:`absolute`,insetBlockStart:`50%`,insetInlineStart:0,width:`100%`,margin:0,padding:0,color:e.colorText,lineHeight:1,whiteSpace:`normal`,textAlign:`center`,transform:`translateY(-50%)`,[n]:{fontSize:`${e.fontSize/e.fontSizeSM}em`}},[`${t}-circle&-status-exception`]:{[`${t}-text`]:{color:e.colorError}},[`${t}-circle&-status-success`]:{[`${t}-text`]:{color:e.colorSuccess}}},[`${t}-inline-circle`]:{lineHeight:1,[`${t}-inner`]:{verticalAlign:`bottom`}}}},Fn=e=>{let{componentCls:t}=e;return{[t]:{[`${t}-steps`]:{display:`inline-block`,"&-outer":{display:`flex`,flexDirection:`row`,alignItems:`center`},"&-item":{flexShrink:0,minWidth:e.progressStepMinWidth,marginInlineEnd:e.progressStepMarginInlineEnd,backgroundColor:e.progressRemainingColor,transition:`all ${e.motionDurationSlow}`,"&-active":{backgroundColor:e.colorInfo}}}}}},In=e=>{let{componentCls:t,iconCls:n}=e;return{[t]:{[`${t}-small&-line, ${t}-small&-line ${t}-text ${n}`]:{fontSize:e.fontSizeSM}}}},Ln=_e(`Progress`,e=>{let t=e.marginXXS/2,n=De(e,{progressLineRadius:100,progressInfoTextColor:e.colorText,progressDefaultColor:e.colorInfo,progressRemainingColor:e.colorFillSecondary,progressStepMarginInlineEnd:t,progressStepMinWidth:t,progressActiveMotionDuration:`2.4s`});return[Nn(n),Pn(n),Fn(n),In(n)]}),Rn=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},zn=v({compatConfig:{MODE:3},name:`AProgress`,inheritAttrs:!1,props:fe(sn(),{type:`line`,percent:0,showInfo:!0,trailColor:null,size:`default`,strokeLinecap:`round`}),slots:Object,setup(e,n){let{slots:r,attrs:o}=n,{prefixCls:s,direction:c}=Ce(`progress`,e),[l,u]=Ln(s),d=E(()=>Array.isArray(e.strokeColor)?e.strokeColor[0]:e.strokeColor),f=E(()=>{let{percent:t=0}=e,n=ln(e);return parseInt(n===void 0?t.toString():n.toString(),10)}),p=E(()=>{let{status:t}=e;return!on.includes(t)&&f.value>=100?`success`:t||`normal`}),m=E(()=>{let{type:t,showInfo:n,size:r}=e,i=s.value;return{[i]:!0,[`${i}-inline-circle`]:t===`circle`&&fn(r,`circle`).width<=20,[`${i}-${t===`dashboard`&&`circle`||t}`]:!0,[`${i}-status-${p.value}`]:!0,[`${i}-show-info`]:n,[`${i}-${r}`]:r,[`${i}-rtl`]:c.value===`rtl`,[u.value]:!0}}),h=E(()=>typeof e.strokeColor==`string`||Array.isArray(e.strokeColor)?e.strokeColor:void 0),g=()=>{let{showInfo:n,format:o,type:c,percent:l,title:u}=e,d=ln(e);if(!n)return null;let f,m=o||r?.format||(e=>`${e}%`),h=c===`line`;return o||r?.format||p.value!==`exception`&&p.value!==`success`?f=m(cn(l),cn(d)):p.value===`exception`?f=w(h?t:i,null,null):p.value===`success`&&(f=w(h?a:Ie,null,null)),w(`span`,{class:`${s.value}-text`,title:u===void 0&&typeof f==`string`?f:void 0},[f])};return()=>{let{type:t,steps:n,title:r}=e,{class:i}=o,a=Rn(o,[`class`]),u=g(),f;return t===`line`?f=n?w(jn,Q(Q({},e),{},{strokeColor:h.value,prefixCls:s.value,steps:n}),{default:()=>[u]}):w(_n,Q(Q({},e),{},{strokeColor:d.value,prefixCls:s.value,direction:c.value}),{default:()=>[u]}):(t===`circle`||t===`dashboard`)&&(f=w(An,Q(Q({},e),{},{prefixCls:s.value,strokeColor:d.value,progressStatus:p.value}),{default:()=>[u]})),l(w(`div`,Q(Q({role:`progressbar`},a),{},{class:[m.value,i],title:r}),[f]))}}}),Bn=be(zn),Vn={class:`mh-body`},Hn={class:`mh-name`},Un={class:`mh-role`},Wn={key:0,class:`mh-task`},Gn={class:`mh-hint`},Kn=Object.assign($(v({__name:`MentionHoverCard`,setup(e){let t=vt(),n=L(null),r=null,i=e=>{for(let[n,r]of Object.entries(t.agents)){let t=r.find(t=>t.agentId===e);if(t)return{agent:t,channelId:n}}return null},a=e=>e.target.closest?.(`.md-mention, .who-pill`)??null,o=e=>{let t=a(e);if(!t)return;let o=t.dataset.agentId;o&&(r&&clearTimeout(r),r=setTimeout(()=>{let t=i(o);if(!t)return;let r=Math.min(e.clientX+14,Math.max(window.innerWidth-280,8)),a=Math.min(e.clientY+16,Math.max(window.innerHeight-170,8));n.value={x:r,y:a,...t}},350))},s=e=>{a(e)&&(r&&clearTimeout(r),n.value=null)};_(()=>{document.addEventListener(`mouseover`,o),document.addEventListener(`mouseout`,s)}),g(()=>{r&&clearTimeout(r),document.removeEventListener(`mouseover`,o),document.removeEventListener(`mouseout`,s)});let c=e=>e===`busy`?`var(--tone-live-dot)`:`var(--ink-fainter)`;return(e,r)=>(b(),I(R,{to:`body`},[n.value?(b(),k(`div`,{key:0,class:`mh-card`,style:p({left:`${n.value.x}px`,top:`${n.value.y}px`})},[O(`span`,{class:`aw-avatar is-agent mh-ava`,style:p({"--av":U(xt)(n.value.agent.agentId)})},y(n.value.agent.name.trim().charAt(0).toUpperCase()),5),O(`div`,Vn,[O(`div`,Hn,[O(`span`,{class:`mh-dot`,style:p({background:c(n.value.agent.state)})},null,4),W(` `+y(n.value.agent.name),1)]),O(`div`,Un,y(n.value.agent.role)+` / `+y(n.value.agent.harness)+` / `+y(n.value.agent.state),1),n.value.agent.currentTaskId?(b(),k(`div`,Wn,y(e.$t(`mentionHoverCard.k3o5eky002`))+y(U(t).taskTitle(n.value.channelId,n.value.agent.currentTaskId)),1)):P(``,!0),O(`div`,Gn,y(e.$t(`mentionHoverCard.k1t89ag4001`)),1)])],4)):P(``,!0)]))}}),[[`__scopeId`,`data-v-85570eca`]]),{__name:`WorkshopMentionHoverCard`}),qn={class:`fs`},Jn={class:`addr`},Yn=[`onClick`],Xn={class:`list`},Zn={class:`name`},Qn=[`onClick`],$n={class:`icon`},er={class:`name`},tr={key:1,class:`empty`},nr={class:`hint`},rr=Object.assign($(v({__name:`FileSelectorModal`,props:{open:{type:Boolean},initialPath:{},title:{}},emits:[`update:open`,`select`],setup(e,{emit:t}){let{t:r}=X(),i=e,a=t,o=ct(),c=L(``),u=L(null),d=L([]),f=L(!1),p=L(``),m=async e=>{f.value=!0;try{let t=await(await fetch(`/api/workshop/fs/dirs${e?`?path=${encodeURIComponent(e)}`:``}`,{headers:{authorization:`Bearer ${o.token}`}})).json();if(t.code!==0){n.warning(t.message??r(`fileSelectorModal.kz99pgv004`));return}c.value=t.data.cwd,u.value=t.data.parent,d.value=t.data.dirs??[],p.value=t.data.cwd}finally{f.value=!1}};l(()=>i.open,e=>{e&&m(i.initialPath||c.value||void 0)});let h=E(()=>{let e=c.value.includes(`\\`)?`\\`:`/`,t=c.value.split(e).filter(Boolean),n=[],r=``;for(let i of t)r=r?r+e+i:i.endsWith(`:`)?i+e:e+i,n.push({label:i,path:r});return n}),g=e=>void m(e),_=()=>{let e=p.value.trim();e&&m(e)},v=()=>{c.value&&(a(`select`,c.value),a(`update:open`,!1))},x=()=>a(`update:open`,!1);return(t,n)=>{let r=Yt,i=an,a=ze,o=ot,c=s;return b(),I(c,{open:e.open,title:e.title??`选择工作目录`,width:640,"ok-text":`选择此目录`,"cancel-text":`取消`,"confirm-loading":U(f),onOk:v,onCancel:x},{default:z(()=>[O(`div`,qn,[O(`div`,Jn,[w(i,{class:`crumbs`},{default:z(()=>[(b(!0),k(j,null,S(U(h),(e,t)=>(b(),I(r,{key:e.path+t},{default:z(()=>[O(`a`,{onClick:ee(t=>g(e.path),[`prevent`])},y(e.label),9,Yn)]),_:2},1024))),128))]),_:1})]),w(a,{value:U(p),"onUpdate:value":n[0]||=e=>T(p)?p.value=e:null,size:`small`,class:`manual`,placeholder:`输入绝对路径跳转(如 D:\\\\projects\\\\my-app)`,"enter-button":`跳转`,onSearch:_},null,8,[`value`]),w(o,{spinning:U(f)},{default:z(()=>[O(`div`,Xn,[U(u)?(b(),k(`div`,{key:0,class:`row up`,onClick:n[1]||=e=>g(U(u))},[n[2]||=O(`span`,{class:`icon`},`⬆`,-1),O(`span`,Zn,y(t.$t(`fileSelectorModal.kvwnnvn001`)),1)])):P(``,!0),(b(!0),k(j,null,S(U(d),e=>(b(),k(`div`,{key:e.path,class:`row`,onClick:t=>g(e.path),onDblclick:v},[O(`span`,$n,y(e.hasChildren?`📂`:`📁`),1),O(`span`,er,y(e.name),1)],40,Qn))),128)),!U(f)&&U(d).length===0?(b(),k(`div`,tr,y(t.$t(`fileSelectorModal.k268o2o002`)),1)):P(``,!0)])]),_:1},8,[`spinning`]),O(`div`,nr,y(t.$t(`fileSelectorModal.k1rt80dq003`)),1)])]),_:1},8,[`open`,`title`,`confirm-loading`])}}}),[[`__scopeId`,`data-v-c35e0bdd`]]),{__name:`WorkshopFileSelectorModal`}),ir={class:`channel-list`},ar={class:`list-head`},or={class:`head-actions`},sr={key:0,class:`empty`},cr=[`onClick`],lr={class:`row1`},ur={class:`ch-name`},dr=[`title`,`aria-label`,`onClick`],fr=[`aria-label`,`onClick`],pr={class:`row2`},mr={key:0,class:`meta syncing`},hr={key:1,class:`meta`},gr=[`title`,`onClick`],_r={class:`mount-template`},vr={class:`tpl-hint`},yr={class:`ws-hint`},br={class:`ws-hint`},xr={class:`ws-hint`},Sr={key:0,class:`ch-plugin-list`},Cr={class:`ch-plugin-main`},wr={class:`aw-mono`},Tr={key:0,class:`ws-hint`},Er={key:1,class:`ws-hint ch-plugin-desc`},Dr={key:0,class:`ws-hint`},Or={key:1,class:`ws-hint`},kr={class:`ws-hint`},Ar={class:`ws-hint`},jr=Object.assign($(v({__name:`ChannelSessionList`,props:{wsId:{}},setup(e){let{t}=X(),i=e,a=lt(),o=vt(),c=wt(),l=E(()=>a.workspaces.find(e=>e.id===i.wsId)),u=L([]),d=L([]),f=async()=>{if(typeof window>`u`)return;let[e,t]=await Promise.all([c.listChannels(),c.listChannelTemplates().catch(()=>null)]);u.value=e?.data??[],d.value=t?.data??[]};f();let p=E(()=>(l.value?.channelIds??[]).map(e=>({id:e,meta:u.value.find(t=>t.id===e),entity:o.channels[e]})).map(({id:e,meta:t,entity:n})=>({id:e,name:n?.name??t?.name??e.slice(0,8),synced:n!==void 0,busy:o.busyCount(e),agents:o.agents[e]?.length??0,activeTasks:(o.tasks[e]??[]).filter(e=>![`COMPLETED`,`CANCELED`,`FAILED`].includes(e.state)).length,workspace:t?.workspace??``}))),m=e=>{a.setActiveChannel(i.wsId,e)},h=async e=>{try{await navigator.clipboard.writeText(e),n.success(t(`channelSessionList.kud74vg040`,{p0:e}))}catch{n.error(t(`channelSessionList.krij3gg026`))}},g=e=>e.replace(/[\\/]+$/,``).split(/[\\/]/).pop()??e,_=/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/i,v=e=>{let t=g(e);return _.test(t)?``:t},C=L(!1),A=D({name:``,description:``,workspace:``,scenarioPrompt:``}),M=L(!1),N=L(!1),F=async()=>{if(!A.name.trim()){n.warning(`Channel 名称必填`);return}M.value=!0;try{let e=(await c.createChannel({name:A.name.trim(),description:A.description||void 0,scenarioPrompt:A.scenarioPrompt.trim()||void 0,workspace:A.workspace.trim()||void 0}))?.data?.channelId;if(!e)throw Error(t(`channelSessionList.k1bg6shc027`));await a.mountChannel(i.wsId,e),C.value=!1,A.name=``,A.description=``,A.workspace=``,A.scenarioPrompt=``,f(),n.success(t(`channelSessionList.kn89jvs028`))}catch(e){n.error(t(`channelSessionList.k1x2th9e041`,{p0:ut(e)}))}finally{M.value=!1}},R=L(),B=L(!1),V=async()=>{if(R.value){B.value=!0;try{let e=(await c.mountChannelTemplate(i.wsId,R.value))?.data;n.success(t(`channelSessionList.kai50qc042`,{p0:e?.agentCount??0})),R.value=void 0,f()}catch(e){let r=e;n.error(ut(r,t(`channelSessionList.k97xi7u029`)))}finally{B.value=!1}}},H=e=>{a.unmountChannel(i.wsId,e).catch(e=>{n.error(ut(e,t(`channelSessionList.k1hgfvdc030`)))})},G=L(!1),K=L(``),q=D({name:``,scenarioPrompt:``,workspace:``}),J=D({harness:`omp`,provider:``,model:``,effort:``,enabled:!1}),Y=L([]),te=L(`levels`),re=L(!1),ie=E(()=>Y.value.map(e=>({value:e.id,label:e.id}))),oe=E(()=>(Y.value.find(e=>e.id===J.provider)?.models??[]).map(e=>({value:e.id,label:e.id}))),se=E(()=>{let e=Y.value.find(e=>e.id===J.provider)?.models.find(e=>e.id===J.model);return(e?.efforts??[]).map(t=>({value:t,label:t+(e?.defaultEffort===t?`(默认)`:``)}))}),Z=async e=>{re.value=!0,Y.value=[];try{let t=(await c.listHarnessProviders(e))?.data?.catalog;Y.value=t?.providers??[],te.value=t?.effortMode??`unsupported`}catch{}finally{re.value=!1}},ce=async()=>{J.provider=``,J.model=``,J.effort=``,await Z(J.harness)},le=()=>{J.model=``,J.effort=``},ue=()=>{J.effort=``},de=L(!1),fe=L(!1),pe=e=>{let t=u.value.find(t=>t.id===e);K.value=e,q.name=t?.name??``,q.scenarioPrompt=t?.scenarioPrompt??``,q.workspace=t?.workspace??``;let n=null;try{let e=t;n=e?.llmJson?JSON.parse(e.llmJson):null}catch{n=null}J.enabled=!!n?.model,J.harness=`omp`,J.provider=n?.provider??``,J.model=n?.model??``,J.effort=n?.effort??``,G.value=!0,J.enabled&&Z(J.harness),_e(e)},me=L([]),he=L(`default`),ge=L(null),_e=async e=>{try{let t=(await c.listChannelPlugins(e))?.data??{};me.value=t.plugins??[],he.value=t.source===`explicit`?`explicit`:`default`}catch{}},ve=async(e,r)=>{if(!ge.value){ge.value=e.name;try{let i=me.value.map(t=>({name:t.name,enabled:t.name===e.name?r:t.enabled})),a=(await c.putChannelPlugins(K.value,{plugins:i}))?.data??{};me.value=a.plugins??i.map(e=>({...e})),he.value=a.source===`explicit`?`explicit`:`default`,n.success(t(`channelSessionList.k1plugon044`))}catch(e){n.error(ut(e))}finally{ge.value=null}}},ye=async()=>{de.value=!0;try{await c.patchChannel(K.value,{scenarioPrompt:q.scenarioPrompt,workspace:q.workspace.trim()||void 0,llm:J.enabled&&J.model?{...J.provider?{provider:J.provider}:{},model:J.model,...J.effort?{effort:J.effort}:{}}:null}),n.success(t(`channelSessionList.kvsxlu6031`)),G.value=!1,f()}catch(e){n.error(ut(e))}finally{de.value=!1}},be=L(!1),xe=D({name:``,description:``,visibility:`private`}),Q=L(!1),Se=()=>{xe.name=t(`channelSessionList.k2hfym5043`,{p0:q.name||`channel`}),xe.description=``,xe.visibility=`private`,be.value=!0},Ce=async()=>{if(!xe.name.trim()){n.warning(t(`channelSessionList.k1i0ji0y032`));return}Q.value=!0;try{await c.captureChannelTemplate({channelId:K.value,name:xe.name.trim(),description:xe.description||void 0,visibility:xe.visibility}),n.success(t(`channelSessionList.kjpguxw033`)),be.value=!1,f()}catch(e){n.error(ut(e))}finally{Q.value=!1}};return(e,n)=>{let i=ae,a=Le,o=He,c=Ne,u=Ve,f=r,g=Re,_=Me,E=s,D=st,L=et,K=We,Y=Ue,X=rr;return b(),k(`div`,ir,[O(`div`,ar,[n[30]||=O(`span`,{class:`title`},`Channels`,-1),O(`span`,or,[O(`button`,{class:`head-op im`,type:`button`,title:`Channel 模板中心`,onClick:n[0]||=t=>(`navigateTo`in e?e.navigateTo:U(ne))(`/workshop/channel-templates`)},[...n[28]||=[O(`span`,{class:`i-tabler-layout-grid-add im-pop`},null,-1)]]),O(`button`,{class:`head-op im`,type:`button`,title:`新建 Channel`,onClick:n[1]||=e=>C.value=!0},[...n[29]||=[O(`span`,{class:`i-tabler-plus im-pop`},null,-1)]])])]),w(i,null,{default:z(()=>[U(p).length===0?(b(),k(`div`,sr,y(e.$t(`channelSessionList.kkv789s014`)),1)):P(``,!0),(b(!0),k(j,null,S(U(p),t=>(b(),k(`div`,{key:t.id,class:x([`channel-item`,{active:U(l)?.activeChannelId===t.id}]),onClick:e=>m(t.id)},[O(`div`,lr,[O(`span`,{class:x([`dot`,{live:t.activeTasks>0}])},null,2),O(`span`,ur,y(t.name),1),O(`button`,{class:`op im`,type:`button`,title:e.$t(`channelSessionList.kne35ug001`),"aria-label":e.$t(`channelSessionList.kjmldih035`,{p0:t.name}),onClick:ee(e=>pe(t.id),[`stop`])},[...n[31]||=[O(`span`,{class:`i-tabler-settings2 im-pop`},null,-1)]],8,dr),O(`button`,{class:`op im`,type:`button`,title:`移出 workspace`,"aria-label":e.$t(`channelSessionList.k1yurooi036`,{p0:t.name}),onClick:ee(e=>H(t.id),[`stop`])},[...n[32]||=[O(`span`,{class:`i-tabler-x im-pop`},null,-1)]],8,fr)]),O(`div`,pr,[t.synced?(b(),k(`span`,hr,y(t.agents)+` `+y(e.$t(`channelSessionList.k1ggoa45025`))+` `+y(t.busy)+` / `+y(e.$t(`channelSessionList.k3wcox034`))+` `+y(t.activeTasks),1)):(b(),k(`span`,mr,y(e.$t(`channelSessionList.k1bst7s9015`)),1))]),v(t.workspace)?(b(),k(`button`,{key:0,class:`row2 ws im`,type:`button`,title:e.$t(`channelSessionList.kfe4pzq037`,{p0:t.workspace}),onClick:ee(e=>h(t.workspace),[`stop`])},[n[33]||=O(`span`,{class:`i-tabler-folder`},null,-1),W(` `+y(v(t.workspace)),1)],8,gr)):P(``,!0)],10,cr))),128))]),_:1}),O(`div`,_r,[w(a,{value:U(R),"onUpdate:value":n[2]||=e=>T(R)?R.value=e:null,size:`small`,placeholder:`从 Channel 模板挂载`,class:`select`,loading:U(B),options:U(d).map(t=>({value:t.id,label:e.$t(`channelSessionList.k1oes209038`,{p0:t.isBuiltin?`内置 · `:t.visibility===`public`?`公开 · `:``,p1:t.name,p2:+!!t.lead+t.members.length})})),onChange:V},null,8,[`value`,`loading`,`options`]),O(`div`,vr,y(e.$t(`channelSessionList.k18ppu31016`)),1)]),w(E,{open:U(C),"onUpdate:open":n[8]||=e=>T(C)?C.value=e:null,title:e.$t(`channelSessionList.k1qjyl6l002`),"confirm-loading":U(M),"ok-text":`创建`,"cancel-text":`取消`,onOk:F},{default:z(()=>[w(_,{layout:`vertical`},{default:z(()=>[w(c,{label:`Channel 名称`},{default:z(()=>[w(o,{value:U(A).name,"onUpdate:value":n[3]||=e=>U(A).name=e},null,8,[`value`])]),_:1}),w(c,{label:e.$t(`channelSessionList.k40gkk003`)},{default:z(()=>[w(o,{value:U(A).description,"onUpdate:value":n[4]||=e=>U(A).description=e},null,8,[`value`])]),_:1},8,[`label`]),w(c,{label:e.$t(`channelSessionList.k1wj4f38004`)},{extra:z(()=>[O(`span`,yr,y(e.$t(`channelSessionList.k1u3zsr5017`)),1)]),default:z(()=>[w(u,{value:U(A).scenarioPrompt,"onUpdate:value":n[5]||=e=>U(A).scenarioPrompt=e,rows:4,placeholder:e.$t(`channelSessionList.k1098zie005`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),w(c,{label:e.$t(`channelSessionList.kmgv4h5006`)},{extra:z(()=>[O(`span`,br,y(e.$t(`channelSessionList.kucq30k019`)),1)]),default:z(()=>[w(g,{compact:``},{default:z(()=>[w(o,{value:U(A).workspace,"onUpdate:value":n[6]||=e=>U(A).workspace=e,style:{width:`70%`},placeholder:`留空 = data/workspaces/<channelId>`,"allow-clear":``,onPressEnter:F},null,8,[`value`]),w(f,{style:{width:`30%`},onClick:n[7]||=e=>N.value=!0},{default:z(()=>[W(y(e.$t(`channelSessionList.k3pz0ma018`)),1)]),_:1})]),_:1})]),_:1},8,[`label`]),w(c,null,{default:z(()=>[O(`span`,xr,y(e.$t(`channelSessionList.k1ful761020`)),1)]),_:1})]),_:1})]),_:1},8,[`open`,`title`,`confirm-loading`]),w(E,{open:U(G),"onUpdate:open":n[19]||=e=>T(G)?G.value=e:null,title:e.$t(`channelSessionList.k1pmemvt039`,{p0:U(q).name}),"confirm-loading":U(de),"ok-text":`保存`,"cancel-text":`取消`,onOk:ye},{default:z(()=>[w(_,{layout:`vertical`},{default:z(()=>[w(c,{label:e.$t(`channelSessionList.k1i8q46x007`)},{default:z(()=>[w(u,{value:U(q).scenarioPrompt,"onUpdate:value":n[9]||=e=>U(q).scenarioPrompt=e,rows:4,placeholder:e.$t(`channelSessionList.ku3ugac008`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),w(c,{label:e.$t(`channelSessionList.k67dzev009`)},{default:z(()=>[w(g,{compact:``},{default:z(()=>[w(o,{value:U(q).workspace,"onUpdate:value":n[10]||=e=>U(q).workspace=e,style:{width:`70%`},placeholder:`data/workspaces/<channelId>`,"allow-clear":``},null,8,[`value`]),w(f,{style:{width:`30%`},onClick:n[11]||=e=>fe.value=!0},{default:z(()=>[W(y(e.$t(`channelSessionList.k3pz0ma018`)),1)]),_:1})]),_:1})]),_:1},8,[`label`]),w(c,{label:`默认模型(可选;留空用各 Harness 默认)`},{default:z(()=>[w(L,null,{default:z(()=>[w(D,{checked:U(J).enabled,"onUpdate:checked":n[12]||=e=>U(J).enabled=e,size:`small`,onChange:n[13]||=e=>{e&&Z(U(J).harness)}},null,8,[`checked`]),w(a,{value:U(J).harness,"onUpdate:value":n[14]||=e=>U(J).harness=e,style:{width:`130px`},options:[{value:`omp`,label:`omp`},{value:`codex`,label:`codex`},{value:`opencode`,label:`opencode`},{value:`dsh`,label:`dsh`}],disabled:!U(J).enabled,onChange:ce},null,8,[`value`,`disabled`]),w(a,{value:U(J).provider,"onUpdate:value":n[15]||=e=>U(J).provider=e,style:{width:`170px`},placeholder:U(re)?`目录加载中…`:`provider`,options:U(ie),disabled:!U(J).enabled||U(re),"show-search":``,onChange:le},null,8,[`value`,`placeholder`,`options`,`disabled`]),w(a,{value:U(J).model,"onUpdate:value":n[16]||=e=>U(J).model=e,style:{width:`210px`},placeholder:`model`,options:U(oe),disabled:!U(J).enabled||!U(J).provider,"show-search":``,onChange:ue},null,8,[`value`,`options`,`disabled`]),U(te)===`levels`?(b(),I(a,{key:0,value:U(J).effort,"onUpdate:value":n[17]||=e=>U(J).effort=e,style:{width:`130px`},placeholder:`effort(可选)`,options:U(se),disabled:!U(J).enabled||!U(J).model,"allow-clear":``},null,8,[`value`,`options`,`disabled`])):U(te)===`freetext`?(b(),I(o,{key:1,value:U(J).effort,"onUpdate:value":n[18]||=e=>U(J).effort=e,style:{width:`130px`},placeholder:`variant(可选)`,disabled:!U(J).enabled||!U(J).model,"allow-clear":``},null,8,[`value`,`disabled`])):P(``,!0)]),_:1})]),_:1}),w(c,{label:U(t)(`channelSessionList.k1pluglbl045`)},{default:z(()=>[U(me).length?(b(),k(`div`,Sr,[(b(!0),k(j,null,S(U(me),e=>(b(),k(`div`,{key:e.name,class:`ch-plugin-row`},[O(`div`,Cr,[O(`span`,wr,y(e.name),1),e.builtin?(b(),k(`span`,Tr,`内置`)):P(``,!0),e.description?(b(),k(`span`,Er,y(e.description),1)):P(``,!0)]),w(D,{checked:e.enabled,size:`small`,loading:U(ge)===e.name,onChange:t=>ve(e,!!t)},null,8,[`checked`,`loading`,`onChange`])]))),128)),U(he)===`explicit`?P(``,!0):(b(),k(`span`,Dr,y(U(t)(`channelSessionList.k1plugsrc046`)),1))])):(b(),k(`span`,Or,`—`))]),_:1},8,[`label`]),w(c,null,{default:z(()=>[w(f,{size:`small`,onClick:Se},{default:z(()=>[n[34]||=O(`span`,{class:`i-tabler-template`},null,-1),W(` `+y(e.$t(`channelSessionList.k6kpql010`)),1)]),_:1}),O(`span`,kr,y(e.$t(`channelSessionList.k1x6kznr021`)),1)]),_:1})]),_:1})]),_:1},8,[`open`,`title`,`confirm-loading`]),w(E,{open:U(be),"onUpdate:open":n[23]||=e=>T(be)?be.value=e:null,title:e.$t(`channelSessionList.k6kpql010`),"confirm-loading":U(Q),"ok-text":`保存模板`,"cancel-text":`取消`,onOk:Ce},{default:z(()=>[w(_,{layout:`vertical`},{default:z(()=>[w(c,{label:e.$t(`channelSessionList.k1f55q76011`)},{default:z(()=>[w(o,{value:U(xe).name,"onUpdate:value":n[20]||=e=>U(xe).name=e},null,8,[`value`])]),_:1},8,[`label`]),w(c,{label:e.$t(`channelSessionList.k40gkk003`)},{default:z(()=>[w(o,{value:U(xe).description,"onUpdate:value":n[21]||=e=>U(xe).description=e},null,8,[`value`])]),_:1},8,[`label`]),w(c,{label:e.$t(`channelSessionList.k3lrqn0012`)},{default:z(()=>[w(Y,{value:U(xe).visibility,"onUpdate:value":n[22]||=e=>U(xe).visibility=e},{default:z(()=>[w(K,{value:`private`},{default:z(()=>[W(y(e.$t(`channelSessionList.k1otvrfv022`)),1)]),_:1}),w(K,{value:`public`},{default:z(()=>[W(y(e.$t(`channelSessionList.k1cc399s023`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`]),w(c,null,{default:z(()=>[O(`span`,Ar,y(e.$t(`channelSessionList.kl9btf7024`)),1)]),_:1})]),_:1})]),_:1},8,[`open`,`title`,`confirm-loading`]),w(X,{open:U(N),"onUpdate:open":n[24]||=e=>T(N)?N.value=e:null,title:e.$t(`channelSessionList.kbdp56k013`),"initial-path":U(A).workspace||void 0,onSelect:n[25]||=e=>{U(A).workspace=e}},null,8,[`open`,`title`,`initial-path`]),w(X,{open:U(fe),"onUpdate:open":n[26]||=e=>T(fe)?fe.value=e:null,title:e.$t(`channelSessionList.kbdp56k013`),"initial-path":U(q).workspace||void 0,onSelect:n[27]||=e=>{U(q).workspace=e}},null,8,[`open`,`title`,`initial-path`])])}}}),[[`__scopeId`,`data-v-535bdd58`]]),{__name:`WorkshopChannelSessionList`}),Mr={class:`live-bar`},Nr={key:0,class:`live-idle`},Pr={class:`idle-text`},Fr=[`title`],Ir={class:`live-ava`},Lr={class:`live-text`},Rr={class:`live-name`},zr={class:`live-detail`},Br=[`aria-expanded`,`title`],Vr={class:`live-pop`},Hr={class:`live-pop-title`},Ur=[`onClick`],Wr={class:`live-pop-text`},Gr={class:`live-pop-name`},Kr={class:`live-pop-detail`},qr=Object.assign($(v({__name:`LiveAgentBar`,props:{wsId:{}},emits:[`openAgent`],setup(e,{emit:t}){let{t:n}=X(),r=e,i=t,a=lt(),o=vt(),s=E(()=>a.workspaces.find(e=>e.id===r.wsId)),c=E(()=>{let e=[];for(let t of s.value?.channelIds??[])for(let r of o.agents[t]??[])r.state===`busy`&&e.push({...r,channelId:t,taskLabel:r.currentTaskId?o.taskTitle(t,r.currentTaskId):r.queued?n(`liveAgentBar.k68d2a2006`,{p0:r.queued}):n(`liveAgentBar.k3o5tz9005`)});return e}),l=L(!1),u=e=>e.trim().charAt(0).toUpperCase(),d=e=>{l.value=!1,i(`openAgent`,{channelId:e.channelId,agentId:e.agentId})};return(e,t)=>(b(),k(`div`,Mr,[U(c).length===0?(b(),k(`div`,Nr,[t[3]||=O(`span`,{class:`idle-dot`,"aria-hidden":`true`},null,-1),O(`span`,Pr,y(e.$t(`liveAgentBar.kr4bxgp001`)),1)])):(b(),k(j,{key:1},[O(`button`,{type:`button`,class:`live-main`,title:e.$t(`liveAgentBar.kh66fan003`,{p0:U(c)[0].name}),onClick:t[0]||=e=>d(U(c)[0])},[O(`span`,Ir,[O(`span`,{class:`aw-avatar is-agent live-avatar`,style:p({"--av":U(xt)(U(c)[0].agentId)})},y(u(U(c)[0].name)),5),t[4]||=O(`span`,{class:`live-pip`,"aria-hidden":`true`},null,-1)]),O(`span`,Lr,[O(`span`,Rr,y(U(c)[0].name),1),O(`span`,zr,y(U(c)[0].taskLabel),1)])],8,Fr),U(c).length>1?(b(),k(`button`,{key:0,type:`button`,class:`live-more`,"aria-haspopup":`true`,"aria-expanded":U(l),title:e.$t(`liveAgentBar.k1a39d92004`,{p0:U(c).length-1}),onClick:t[1]||=e=>l.value=!U(l)},` +`+y(U(c).length-1),9,Br)):P(``,!0),U(l)&&U(c).length>1?(b(),k(j,{key:1},[O(`div`,{class:`live-backdrop`,onClick:t[2]||=e=>l.value=!1}),O(`div`,Vr,[O(`div`,Hr,y(e.$t(`liveAgentBar.k1sf0ymy002`))+` `+y(U(c).length),1),(b(!0),k(j,null,S(U(c),e=>(b(),k(`button`,{key:e.agentId,type:`button`,class:`live-pop-item`,onClick:t=>d(e)},[O(`span`,{class:`aw-avatar is-agent live-avatar-sm`,style:p({"--av":U(xt)(e.agentId)})},y(u(e.name)),5),O(`span`,Wr,[O(`span`,Gr,y(e.name),1),O(`span`,Kr,y(e.taskLabel),1)]),t[5]||=O(`span`,{class:`pop-dot`,"aria-hidden":`true`},null,-1)],8,Ur))),128))])],64)):P(``,!0)],64))]))}}),[[`__scopeId`,`data-v-865fed94`]]),{__name:`WorkshopLiveAgentBar`}),Jr=[`aria-label`],Yr=Object.assign($(v({__name:`PaneSplitter`,props:{label:{default:``},variant:{default:`divider`}},emits:[`resize`,`reset`],setup(e,{emit:t}){let{t:n}=X(),r=e,i=E(()=>r.label||n(`paneSplitter.kejk1i9001`)),a=t,o=L(!1),s=0,c=e=>{e.button===0&&(o.value=!0,s=e.clientX,document.body.classList.add(`aw-pane-dragging`),e.currentTarget.setPointerCapture(e.pointerId))},l=e=>{if(!o.value)return;let t=e.clientX-s;s=e.clientX,t!==0&&a(`resize`,t)},u=e=>{if(o.value){o.value=!1,document.body.classList.remove(`aw-pane-dragging`);try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}}},d=e=>{let t=e.shiftKey?48:12;e.key===`ArrowLeft`?(a(`resize`,-t),e.preventDefault()):e.key===`ArrowRight`&&(a(`resize`,t),e.preventDefault())};return(t,n)=>(b(),k(`div`,{class:x([`pane-splitter`,[e.variant,{dragging:U(o)}]]),role:`separator`,"aria-orientation":`vertical`,"aria-label":U(i),tabindex:`0`,onPointerdown:c,onPointermove:l,onPointerup:u,onPointercancel:u,onDblclick:n[0]||=e=>a(`reset`),onKeydown:d},[...n[1]||=[O(`span`,{class:`grip`},null,-1)]],42,Jr))}}),[[`__scopeId`,`data-v-4f787ef8`]]),{__name:`WorkshopPaneSplitter`}),Xr=L(null);function Zr(){return{quoteText:Xr,quote:e=>{Xr.value=e}}}var Qr={key:0,class:`stream-covered`},$r={class:`stream-text prose`},ei=[`innerHTML`],ti={key:0,class:`cursor`},ni={key:2,class:`stream-pending`},ri=Object.assign($(v({__name:`ClusterStream`,props:{block:{}},setup(e){let t=e,n=vt(),r=d(`aw:open-agent`,()=>{}),i=E(()=>t.block.events[0]?.channelId??``),a=E(()=>(n.agents[i.value]??[]).map(e=>({agentId:e.agentId,name:e.name}))),o=e=>{let t=e.target.closest(`.md-mention`);if(!t)return;let n=t.dataset.agentId;n&&r({channelId:i.value,agentId:n})},s=E(()=>gt(t.block)),c=E(()=>Ct(t.block)),u=L(0),f=null,p=()=>{f!==null&&(cancelAnimationFrame(f),f=null)},m=()=>{let e=s.value.length;if(u.value>=e){f=null;return}let t=e-u.value,n=Math.max(24,Math.min(1024,Math.ceil(t/16)));u.value=Math.min(e,u.value+n),f=requestAnimationFrame(m)},h=()=>{f===null&&(f=requestAnimationFrame(m))},v=()=>typeof document<`u`&&document.hidden;l([s,()=>t.block.settled],([e,t])=>{if(!e){u.value=0;return}if(t||e.length-u.value>4e3||v()){p(),u.value=e.length;return}u.value>e.length&&(u.value=e.length),u.value<e.length&&h()},{immediate:!0});let S=()=>{document.hidden||u.value<s.value.length&&(p(),h())};_(()=>{document.addEventListener(`visibilitychange`,S),t.block.settled||v()?u.value=s.value.length:(u.value=Math.min(u.value,s.value.length),h())}),g(()=>{p(),document.removeEventListener(`visibilitychange`,S)});let C=E(()=>mt(s.value.length,u.value,c.value)),w=E(()=>pt(s.value.slice(0,u.value),a.value));return(t,n)=>e.block.coveredBy?(b(),k(`div`,Qr,[n[0]||=O(`span`,{class:`i-tabler-corner-right-up`},null,-1),O(`span`,null,y(t.$t(`clusterStream.kpk9wff001`)),1)])):s.value?(b(),k(`div`,{key:1,class:x([`stream-bubble`,{settled:e.block.settled}]),onClick:o},[O(`div`,$r,[O(`span`,{innerHTML:w.value},null,8,ei),C.value?(b(),k(`span`,ti,`▋`)):P(``,!0)])],2)):c.value?(b(),k(`div`,ni,[...n[1]||=[O(`span`,{class:`pending-dot`},null,-1),O(`span`,{class:`pending-dot`},null,-1),O(`span`,{class:`pending-dot`},null,-1)]])):P(``,!0)}}),[[`__scopeId`,`data-v-cda07cf1`]]),{__name:`WorkshopBlocksClusterStream`}),ii={class:`tool-cluster`},ai={class:`tool-time aw-mono`},oi={class:`tool-name`},si=[`title`],ci={key:1,class:`tool-kind`},li=4,ui=Object.assign($(v({__name:`ClusterTool`,props:{block:{}},setup(e){let t=e,n=E(()=>t.block.events.map(e=>{let t=String(e.payload.text??``).match(/^🔧\s*(\S+?)(?:\(([\s\S]*)\))?$/),n=t?.[1]??`tool`,r=t?.[2]??``;return{seq:e.seq,time:Et(e.at),name:n,args:r,meta:yt[n]??{icon:`i-tabler-tool`,kind:`native`}}})),r=L(!1),i=E(()=>r.value?n.value:n.value.slice(0,li)),a=E(()=>n.value.length>li);return(e,t)=>(b(),k(`div`,ii,[(b(!0),k(j,null,S(i.value,e=>(b(),k(`div`,{key:e.seq,class:x([`tool-line`,e.meta.kind])},[O(`time`,ai,y(e.time),1),t[1]||=O(`span`,{class:`tool-node`},null,-1),O(`span`,{class:x([`tool-icon`,e.meta.icon])},null,2),O(`span`,oi,y(e.name),1),e.args?(b(),k(`span`,{key:0,class:`tool-args`,title:e.args},y(e.args),9,si)):P(``,!0),e.meta.kind===`host`?(b(),k(`span`,ci,`harness`)):P(``,!0)],2))),128)),a.value?(b(),k(`button`,{key:0,class:`more-btn`,onClick:t[0]||=e=>r.value=!r.value},y(r.value?e.$t(`clusterTool.k40p82001`):`展开全部 ${n.value.length} 个调用`),1)):P(``,!0)]))}}),[[`__scopeId`,`data-v-ac0502fc`]]),{__name:`WorkshopBlocksClusterTool`}),di={class:`status-cluster`},fi=[`aria-expanded`],pi={class:`st-label`},mi={class:`st-count`},hi={key:0,class:`st-preview`},gi={key:0,class:`st-detail`},_i={class:`st-text`},vi=Object.assign($(v({__name:`ClusterStatus`,props:{block:{}},setup(e){let t=e,n=E(()=>t.block.events.map(e=>({seq:e.seq,text:String(e.payload.text??``)}))),r=E(()=>{let e=n.value[n.value.length-1];if(!e)return`(空)`;let t=(e.text.split(`
7
- `).find(e=>e.trim().length>0)??``).replace(/\s+/g,` `).trim();return t.length>120?`${t.slice(0,120)}…`:t||`(空)`}),i=L(!1),a=()=>{i.value=!i.value};return(e,t)=>(b(),k(`div`,di,[O(`button`,{class:`st-toggle`,"aria-expanded":i.value,onClick:a},[O(`span`,{class:x([`chev`,{open:i.value}])},`▸`,2),O(`span`,pi,y(e.$t(`clusterStatus.k1fpy8te001`)),1),O(`span`,mi,y(n.value.length),1),i.value?P(``,!0):(b(),k(`span`,hi,y(r.value),1))],8,fi),i.value?(b(),k(`div`,gi,[(b(!0),k(j,null,S(n.value,e=>(b(),k(`div`,{key:e.seq,class:`st-line`},[t[0]||=O(`span`,{class:`st-mark`},`·`,-1),O(`pre`,_i,y(e.text),1)]))),128))])):P(``,!0)]))}}),[[`__scopeId`,`data-v-1da3d4ae`]]),{__name:`WorkshopBlocksClusterStatus`}),yi={class:`life-cluster`},bi=[`data-state`],xi={key:1,class:`life-row`},Si={class:`life-state`},Ci=[`title`],wi={class:`life-meta`},Ti={key:1,class:`life-count`},Ei={key:2,class:`life-row`},Di=Object.assign($(v({__name:`ClusterLife`,props:{block:{}},setup(e){let t=e,n=vt(),r=E(()=>{let e=t.block.events[t.block.events.length-1];if(!e||e.type!==`agent.status`)return null;let n=e.payload;return{state:n.state,currentTaskId:n.currentTaskId??null,queued:n.queued??0,completed:n.completed??0,transitions:t.block.events.length,channelId:e.channelId}}),i=E(()=>{let e=r.value;if(!e?.currentTaskId)return``;let t=n.taskTitle(e.channelId,e.currentTaskId);return t&&t!==e.currentTaskId?t:e.currentTaskId.slice(0,12)});return(e,t)=>(b(),k(`div`,yi,[r.value?(b(),k(`span`,{key:0,class:`life-dot`,"data-state":r.value.state},null,8,bi)):P(``,!0),r.value?(b(),k(`div`,xi,[O(`span`,Si,y(r.value.state),1),i.value?(b(),k(`span`,{key:0,class:`life-task`,title:r.value.currentTaskId??``},`「`+y(i.value)+`」`,9,Ci)):P(``,!0),O(`span`,wi,y(e.$t(`clusterLife.k498bf002`))+` `+y(r.value.queued)+` · 完成 `+y(r.value.completed),1),r.value.transitions>1?(b(),k(`span`,Ti,y(r.value.transitions)+` `+y(e.$t(`clusterLife.k3pi5z1003`)),1)):P(``,!0)])):(b(),k(`span`,Ei,y(e.$t(`clusterLife.k1xthifv001`)),1))]))}}),[[`__scopeId`,`data-v-effa619b`]]),{__name:`WorkshopBlocksClusterLife`}),Oi={class:`chat-meta`},ki=[`title`],Ai=[`data-agent-id`,`title`],ji={key:2,class:`to-arrow`,"aria-hidden":`true`},Mi=[`data-agent-id`,`title`],Ni={key:4,class:`who-broadcast`},Pi=[`data-tone`],Fi=[`title`],Ii=[`title`],Li={class:`chat-time aw-mono`},Ri=[`innerHTML`],zi=4,Bi=Object.assign($(v({__name:`ClusterRoute`,props:{block:{}},setup(e){let{t}=X(),n=e,r=vt(),i=d(`aw:open-agent`,()=>{}),a=E(()=>n.block.events.map((e,n)=>{let r=e.payload.metadata??{},i=typeof r[`x-aw-from-agent`]==`string`?r[`x-aw-from-agent`]:``,a=typeof r[`x-aw-from-label`]==`string`?r[`x-aw-from-label`]:``,o=typeof r[`x-aw-target-agent`]==`string`?r[`x-aw-target-agent`]:``,s=r[`x-aw-msg-priority`]===`immediate`?`immediate`:`task`,c=typeof r[`x-aw-task-kind`]==`string`?r[`x-aw-task-kind`]:``,l=c===`assign`?{icon:`i-tabler-send`,label:t(`clusterRoute.k1ax44eo005`),tone:`assign`}:c===`cancel`?{icon:`i-tabler-circle-x`,label:t(`clusterRoute.k1bsct42006`),tone:`notice`}:c===`child-completed`?{icon:`i-tabler-circle-check`,label:t(`clusterRoute.k1ax087h007`),tone:`notice`}:s===`immediate`?{icon:`i-tabler-bolt`,label:t(`clusterRoute.k1cxjc4m008`),tone:`immediate`}:{icon:`i-tabler-message`,label:t(`clusterRoute.k1bka5dz009`),tone:`peer`},u=e.payload.parts??[],d=r[`x-aw-in-reply-to`];return{seq:e.seq,i:n,channelId:e.channelId,from:i,fromLabel:a,to:o,kind:l,text:u.map(e=>e.text??``).join(`
8
- `).trim(),time:Et(e.at),requireReply:r[`x-aw-require-reply`]===`true`,inReplyTo:typeof d==`string`?d:``}})),o=E(()=>n.block.events[0]?.channelId??``),s=E(()=>(r.agents[o.value]??[]).map(e=>({agentId:e.agentId,name:e.name}))),c=e=>e?r.agentName(o.value,e):``,l=e=>e.trim().charAt(0).toUpperCase(),u=E(()=>a.value.map(e=>pt(e.text,s.value))),f=e=>{let t=e.target.closest(`.md-mention, .who-pill`);if(!t)return;let n=t.dataset.agentId;n&&i({channelId:o.value,agentId:n})},m=L(!1),h=E(()=>m.value?a.value:a.value.slice(0,zi)),g=E(()=>m.value?u.value:u.value.slice(0,zi)),_=E(()=>a.value.length>zi);return(e,t)=>(b(),k(`div`,{class:`route-cluster`,onClick:f},[(b(!0),k(j,null,S(h.value,(n,r)=>(b(),k(`div`,{key:n.seq,class:`chat-row`},[O(`div`,Oi,[n.fromLabel&&!n.from?(b(),k(`span`,{key:0,class:`human-chip`,title:e.$t(`clusterRoute.k12448jn010`,{p0:n.fromLabel})},[t[1]||=O(`span`,{class:`i-tabler-user`},null,-1),W(` `+y(n.fromLabel),1)],8,ki)):P(``,!0),n.from?(b(),k(`button`,{key:1,type:`button`,class:`who-pill from`,"data-agent-id":n.from,title:e.$t(`clusterRoute.khsfl59011`,{p0:c(n.from)})},[O(`span`,{class:`aw-avatar is-agent who-ava`,style:p({"--av":U(xt)(n.from)})},y(l(c(n.from))),5),W(` @`+y(c(n.from)),1)],8,Ai)):P(``,!0),n.to?(b(),k(`span`,ji,`→`)):P(``,!0),n.to?(b(),k(`button`,{key:3,type:`button`,class:`who-pill`,"data-agent-id":n.to,title:e.$t(`clusterRoute.khsfl59011`,{p0:c(n.to)})},` @`+y(c(n.to)),9,Mi)):(b(),k(`span`,Ni,y(e.$t(`clusterRoute.kyza1ya002`)),1)),O(`span`,{class:`route-badge`,"data-tone":n.kind.tone},[O(`span`,{class:x(n.kind.icon)},null,2),W(y(n.kind.label),1)],8,Pi),n.requireReply?(b(),k(`span`,{key:5,class:`route-badge receipt`,title:e.$t(`clusterRoute.kfbpe32001`)},[t[2]||=O(`span`,{class:`i-tabler-message-reply`},null,-1),W(y(e.$t(`clusterRoute.k3wn89c003`)),1)],8,Fi)):P(``,!0),n.inReplyTo?(b(),k(`span`,{key:6,class:`route-badge reply-link aw-mono`,title:e.$t(`clusterRoute.k94hqp2012`,{p0:n.inReplyTo})},`↩ `+y(n.inReplyTo.slice(0,8)),9,Ii)):P(``,!0),O(`span`,Li,y(n.time),1)]),n.text?(b(),k(`div`,{key:0,class:`chat-body prose`,innerHTML:g.value[r]},null,8,Ri)):P(``,!0)]))),128)),_.value?(b(),k(`button`,{key:0,class:`more-btn`,onClick:t[0]||=e=>m.value=!m.value},y(m.value?e.$t(`clusterRoute.k40p82004`):e.$t(`clusterRoute.k13ewgum013`,{p0:a.value.length})),1)):P(``,!0)]))}}),[[`__scopeId`,`data-v-72348858`]]),{__name:`WorkshopBlocksClusterRoute`}),Vi={class:`task-cluster`},Hi={key:0,class:`chain-arrow`},Ui=[`data-state`,`title`],Wi={class:`state-code`},Gi={class:`task-title`},Ki={key:0,class:`task-assignee`},qi=Object.assign($(v({__name:`ClusterTask`,props:{block:{}},setup(e){let{t}=X(),n=e,r=vt(),i=E(()=>n.block.events[0]?.channelId??``),a=E(()=>{let e=[];for(let t of n.block.events){if(t.type!==`task.status`)continue;let n=String(t.payload.state);e[e.length-1]!==n&&e.push(n)}return e}),o=E(()=>{let e=n.block.events.find(e=>e.type===`task.status`||e.type===`task.progress`),t=e?String(e.payload.taskId??``):``;return r.taskTitle(i.value,t)}),s=E(()=>{let e=n.block.events.find(e=>e.type===`task.status`&&e.payload.assigneeId);return e?r.agentName(i.value,e.payload.assigneeId):``}),c=E(()=>{let e=0;for(let t of n.block.events)t.type===`task.progress`&&(e=Math.max(e,t.payload.progress));return e}),l=E(()=>{let e=-1;for(let t of n.block.events)t.type===`task.progress`&&(e=Math.max(e,t.payload.progress));return e>=0}),u={SUBMITTED:{bg:`var(--tone-neutral-bg)`,dot:`var(--tone-neutral-dot)`},ASSIGNED:{bg:`var(--tone-info-bg)`,dot:`var(--tone-info-dot)`},WORKING:{bg:`var(--tone-info-bg)`,dot:`var(--tone-info-dot)`},WAITING:{bg:`var(--tone-warning-bg)`,dot:`var(--tone-warning-dot)`},COMPLETED:{bg:`var(--tone-success-bg)`,dot:`var(--tone-success-dot)`},FAILED:{bg:`var(--tone-danger-bg)`,dot:`var(--tone-danger-dot)`},CANCELED:{bg:`var(--tone-neutral-bg)`,dot:`var(--tone-neutral-dot)`}},d=e=>u[e]??u.SUBMITTED,f={SUBMITTED:t(`clusterTask.k3n8lhn001`),ASSIGNED:t(`clusterTask.k3n8mf0002`),WORKING:t(`clusterTask.k3o5tz9003`),WAITING:t(`clusterTask.k1hpsvap004`),COMPLETED:t(`clusterTask.k10w8u89005`),FAILED:t(`clusterTask.k4u7566006`),CANCELED:t(`clusterTask.k3n5vg5007`)},m=e=>f[e]??e;return(e,t)=>{let n=Bn;return b(),k(`div`,Vi,[(b(!0),k(j,null,S(a.value,(t,n)=>(b(),k(j,{key:t},[n>0?(b(),k(`span`,Hi,`→`)):P(``,!0),O(`span`,{class:`state-chip`,style:p({background:d(t).bg}),"data-state":t,title:e.$t(`clusterTask.kfwdcd4008`,{p0:t})},[O(`span`,{class:`state-dot`,style:p({background:d(t).dot})},null,4),W(y(m(t)),1),O(`span`,Wi,y(t),1)],12,Ui)],64))),128)),O(`span`,Gi,y(o.value),1),s.value?(b(),k(`span`,Ki,`→ `+y(s.value),1)):P(``,!0),l.value?(b(),I(n,{key:1,percent:c.value,size:`small`,class:`progress`,"show-info":!0},null,8,[`percent`])):P(``,!0)])}}}),[[`__scopeId`,`data-v-cdaa9d8e`]]),{__name:`WorkshopBlocksClusterTask`}),Ji={class:`artifact-head`},Yi={class:`tag`},Xi={class:`name`},Zi=Object.assign($(v({__name:`ArtifactCard`,props:{artifact:{}},setup(e){let t=e,n=E(()=>t.artifact.parts.map(e=>e.text??``).join(`
9
- `).trim()),i=E(()=>{let e=n.value;if(!e)return!1;try{return JSON.parse(e),!0}catch{return!1}}),a=E(()=>t.artifact.name===`deliverable`||t.artifact.name===`summary`||t.artifact.name===`result`||t.artifact.name===`goal-summary`),o=E(()=>{switch(t.artifact.name){case`deliverable`:return`i-tabler-package`;case`summary`:return`i-tabler-list-check`;case`result`:return`i-tabler-circle-check`;case`output`:return`i-tabler-file-text`;case`input`:return`i-tabler-inbox`;case`goal-summary`:return`i-tabler-flag`;default:return`i-tabler-receipt-2`}}),s=L(!1),c=E(()=>{let e=n.value;return e.length>200&&!s.value?`${e.slice(0,200)}…`:e}),l=L(!1),u=async()=>{try{await navigator.clipboard.writeText(n.value),l.value=!0,setTimeout(()=>{l.value=!1},1500)}catch{}};return(t,n)=>{let d=r;return b(),k(`div`,{class:x([`artifact-card`,{deliverable:U(a)}])},[O(`div`,Ji,[O(`span`,Yi,[O(`span`,{class:x(U(o))},null,2)]),O(`span`,Xi,y(e.artifact.name??`artifact`),1),w(d,{size:`small`,type:`text`,class:`op`,onClick:n[0]||=e=>s.value=!U(s)},{default:z(()=>[W(y(U(s)?t.$t(`artifactCard.k40p82001`):t.$t(`artifactCard.k3yu62003`)),1)]),_:1}),w(d,{size:`small`,type:`text`,class:`op`,onClick:u},{default:z(()=>[W(y(U(l)?t.$t(`artifactCard.k3n6o1m002`):t.$t(`artifactCard.k3y694004`)),1)]),_:1})]),O(`pre`,{class:x([`artifact-body`,{json:U(i)}])},y(U(c)||`(空)`),3)],2)}}}),[[`__scopeId`,`data-v-1699711f`]]),{__name:`WorkshopArtifactCard`}),Qi={class:`artifact-cluster`},$i={key:0,class:`dup-note`},ea=Object.assign($(v({__name:`ClusterArtifact`,props:{block:{}},setup(e){let t=e,n=E(()=>t.block.events.filter(e=>e.type===`a2a.artifact`).map(e=>e.payload.artifact)),r=E(()=>!t.block.dupStream),i=L(t.block.dupStream);return(t,a)=>{let o=Zi;return b(),k(`div`,Qi,[e.block.dupStream?(b(),k(`div`,$i,[a[1]||=O(`span`,{class:`i-tabler-copy`},null,-1),O(`span`,null,y(t.$t(`clusterArtifact.kyh87lw001`)),1),O(`button`,{class:`mini-btn`,onClick:a[0]||=e=>i.value=!i.value},y(i.value?t.$t(`clusterArtifact.k49les002`):`查看`),1)])):P(``,!0),r.value||i.value?(b(!0),k(j,{key:1},S(n.value,(e,t)=>(b(),I(o,{key:t,artifact:e},null,8,[`artifact`]))),128)):P(``,!0)])}}}),[[`__scopeId`,`data-v-8e7bf1b1`]]),{__name:`WorkshopBlocksClusterArtifact`}),ta={class:`member-cluster`},na=[`data-op`],ra={class:`line-text`},ia=8,aa=Object.assign($(v({__name:`ClusterMember`,props:{block:{}},setup(e){let t=e,n=vt(),r=E(()=>t.block.events[0]?.channelId??``),i=E(()=>t.block.events.map(e=>{let t=e.payload,i=t.by===`user`?`用户`:`lead ${n.agentName(r.value,t.by.replace(/^lead:/,``))}`,a=`${t.name}(${t.role}/${t.harness})`,o={added:`新增成员 ${a}`,updated:t.enabled===0?`禁用成员 ${a}`:`更新成员 ${a}`,removed:`移除成员 ${a}`};return{seq:e.seq,text:`${i}${o[t.op]}${t.reason?`,理由:${t.reason}`:``}`,op:t.op}})),a=L(!1),o=E(()=>a.value?i.value:i.value.slice(0,ia)),s=E(()=>i.value.length>ia);return(e,t)=>(b(),k(`div`,ta,[(b(!0),k(j,null,S(o.value,e=>(b(),k(`div`,{key:e.seq,class:`member-line`,"data-op":e.op},[t[1]||=O(`span`,{class:`i-tabler-users`},null,-1),O(`span`,ra,y(e.text),1)],8,na))),128)),s.value?(b(),k(`button`,{key:0,class:`more-btn`,onClick:t[0]||=e=>a.value=!a.value},y(a.value?e.$t(`clusterMember.k40p82001`):`全部 ${i.value.length} 条`),1)):P(``,!0)]))}}),[[`__scopeId`,`data-v-0647f285`]]),{__name:`WorkshopBlocksClusterMember`}),oa={class:`memory-cluster`},sa=[`data-scope`],ca={class:`mem-title`},la=8,ua=Object.assign($(v({__name:`ClusterMemory`,props:{block:{}},setup(e){let t=e,n=E(()=>t.block.events.map(e=>({seq:e.seq,scope:String(e.payload.scope),title:String(e.payload.title)}))),r=L(!1),i=E(()=>r.value?n.value:n.value.slice(0,la)),a=E(()=>n.value.length>la);return(e,t)=>(b(),k(`div`,oa,[(b(!0),k(j,null,S(i.value,e=>(b(),k(`div`,{key:e.seq,class:`memory-line`},[t[1]||=O(`span`,{class:`i-tabler-bookmark`},null,-1),O(`span`,{class:`mem-scope`,"data-scope":e.scope},y(e.scope),9,sa),O(`span`,ca,y(e.title),1)]))),128)),a.value?(b(),k(`button`,{key:0,class:`more-btn`,onClick:t[0]||=e=>r.value=!r.value},y(r.value?e.$t(`clusterMemory.k40p82001`):`全部 ${n.value.length} 条`),1)):P(``,!0)]))}}),[[`__scopeId`,`data-v-9ba9f01b`]]),{__name:`WorkshopBlocksClusterMemory`}),da={class:`error-cluster`},fa={key:0,class:`error-code`},pa={class:`error-text`},ma=3,ha=Object.assign($(v({__name:`ClusterError`,props:{block:{}},setup(e){let t=e,n=E(()=>t.block.events.map(e=>({seq:e.seq,code:String(e.payload.code??``),text:String(e.payload.message??``)}))),r=L(!1),i=E(()=>r.value?n.value:n.value.slice(0,ma)),a=E(()=>n.value.length>ma);return(e,t)=>(b(),k(`div`,da,[(b(!0),k(j,null,S(i.value,e=>(b(),k(`div`,{key:e.seq,class:`error-line`},[t[1]||=O(`span`,{class:`i-tabler-alert-triangle`},null,-1),e.code?(b(),k(`span`,fa,y(e.code),1)):P(``,!0),O(`span`,pa,y(e.text),1)]))),128)),a.value?(b(),k(`button`,{key:0,class:`more-btn`,onClick:t[0]||=e=>r.value=!r.value},y(r.value?e.$t(`clusterError.k40p82001`):`全部 ${n.value.length} 条`),1)):P(``,!0)]))}}),[[`__scopeId`,`data-v-22804f20`]]),{__name:`WorkshopBlocksClusterError`}),ga={class:`other-cluster`},_a={class:`other-type`},va=6,ya=Object.assign($(v({__name:`ClusterOther`,props:{block:{}},setup(e){let t=e,n=E(()=>t.block.events.map(e=>({seq:e.seq,type:e.type}))),r=L(!1),i=E(()=>r.value?n.value:n.value.slice(0,va)),a=E(()=>n.value.length>va);return(e,t)=>(b(),k(`div`,ga,[(b(!0),k(j,null,S(i.value,e=>(b(),k(`div`,{key:e.seq,class:`other-row`},[t[1]||=O(`span`,{class:`i-tabler-dots`},null,-1),O(`span`,_a,y(e.type),1)]))),128)),a.value?(b(),k(`button`,{key:0,class:`more-btn`,onClick:t[0]||=e=>r.value=!r.value},y(r.value?e.$t(`clusterOther.k40p82001`):`全部 ${n.value.length} 条`),1)):P(``,!0)]))}}),[[`__scopeId`,`data-v-5f033e18`]]),{__name:`WorkshopBlocksClusterOther`}),ba=[`data-kind`,`data-tier`,`data-settled`,`data-covered`,`data-seq`,`data-events`,`data-folded`],xa=[`title`],Sa={key:0,class:`i-tabler-user system-icon`},Ca={key:1,class:`i-tabler-cpu system-icon`},wa=[`title`],Ta={class:`eb-main`},Ea={class:`block-head`},Da={class:`agent-name`},Oa={key:0,class:`role-label`},ka=[`title`],Aa={class:`head-right`},ja={key:0,class:`running-chip`},Ma=[`title`],Na={key:2,class:`merged`},Pa={class:`kind-chip`},Fa={class:`time`},Ia={key:2,class:`eb-toolbar`},La=[`title`],Ra=[`title`],za={key:0,class:`ghost-time`},Ba=Object.assign($(v({__name:`EventBlock`,props:{block:{},turnStart:{type:Boolean},compact:{type:Boolean},enterStage:{}},setup(e){let t=e,n=vt(),{quote:r}=Zr(),i=E(()=>t.block.events[0]?.channelId??``),a=E(()=>Et(t.block.firstAt)),o=E(()=>{let e=t.block.agentId;return e?n.agentName(i.value,e):`system`}),s=E(()=>{if(t.block.agentId)return null;let e=t.block.events[0];if(!e||e.type!==`a2a.message`)return null;let n=(e.payload.metadata??{})[`x-aw-from-label`];return typeof n==`string`&&n?n:null}),c=E(()=>{let e=t.block.agentId;return e?(n.agentName(i.value,e)||e).charAt(0).toUpperCase():``}),l=E(()=>t.block.agentId?xt(t.block.agentId):void 0),u=E(()=>dt[t.block.kind]),f=d(`aw:open-agent`,()=>{}),h=()=>{t.block.agentId&&f({channelId:i.value,agentId:t.block.agentId})},g=E(()=>{let e=t.block.agentId;if(!e)return``;let r=(n.agents[i.value]??[]).find(t=>t.agentId===e);if(!r)return`agent`;let a=r.role===`lead`?`lead`:`worker`,o=r.harness??``;return o?`${a} · ${o}`:a}),_=E(()=>ft(t.block.events)),v=E(()=>{let e=t.block.agentId;return e?(n.agents[i.value]??[]).find(t=>t.agentId===e)?.state??null:null}),S=E(()=>t.block.kind===`stream`&&!t.block.settled&&v.value===`busy`),C=E(()=>t.block.events[0]?.seq??0),w={stream:ri,tool:ui,status:vi,life:Di,route:Bi,task:qi,artifact:ea,member:aa,memory:ua,error:ha,other:ya},T=E(()=>w[t.block.kind]??ya),D=E(()=>t.block.kind===`stream`?gt(t.block).trim()||null:t.block.kind===`route`&&t.block.events.map(e=>(e.payload.parts??[]).map(e=>e.text??``).join(`
10
- `).trim()).filter(Boolean).join(`
11
- `)||null),A=L(!1),M=async()=>{let e=D.value;if(e)try{await navigator.clipboard.writeText(e),A.value=!0,setTimeout(()=>{A.value=!1},1400)}catch{}},N=()=>{let e=D.value;e&&r(e)};return(t,n)=>(b(),k(`section`,{class:x([`event-block`,{"turn-start":e.turnStart,compact:e.compact,enter:e.enterStage?.enter}]),style:p(e.enterStage?.enter?{"--d":`${e.enterStage.delay}ms`}:void 0),"data-kind":e.block.kind,"data-tier":_.value,"data-settled":e.block.settled?`true`:`false`,"data-covered":e.block.coveredBy?`true`:`false`,"data-seq":C.value,"data-events":e.block.events.length,"data-folded":e.block.folded},[O(`button`,{type:`button`,class:x([`agent-avatar`,{"is-agent":!!e.block.agentId,"is-human":!!s.value,clickable:!!e.block.agentId}]),title:s.value??`${o.value}${g.value?` · ${g.value}`:``}`,style:p(l.value?{"--av":l.value}:void 0),onClick:h},[s.value?(b(),k(`span`,Sa)):e.block.agentId?(b(),k(j,{key:2},[W(y(c.value),1)],64)):(b(),k(`span`,Ca)),e.block.agentId&&v.value?(b(),k(`span`,{key:3,class:x([`av-status`,v.value]),title:v.value===`busy`?`运行中`:v.value===`stopped`?`已停止`:`空闲`},null,10,wa)):P(``,!0)],14,xa),O(`div`,Ta,[F(O(`header`,Ea,[O(`span`,Da,y(s.value??o.value),1),g.value?(b(),k(`span`,Oa,y(g.value),1)):P(``,!0),_.value===`attention`?(b(),k(`span`,{key:1,class:`tier-attention`,title:t.$t(`eventBlock.kc918hn001`)},[n[0]||=O(`span`,{class:`i-tabler-alert-circle`},null,-1),W(y(t.$t(`eventBlock.k3wmcv4004`)),1)],8,ka)):P(``,!0),O(`span`,Aa,[S.value?(b(),k(`span`,ja,[n[1]||=O(`span`,{class:`running-dot`},null,-1),W(y(t.$t(`eventBlock.k3vp67i005`)),1)])):P(``,!0),e.block.folded>0?(b(),k(`span`,{key:1,class:`folded`,title:t.$t(`eventBlock.kcugdph002`)},y(t.$t(`eventBlock.k3xk4t006`))+` `+y(e.block.folded),9,Ma)):P(``,!0),e.block.events.length>1?(b(),k(`span`,Na,`×`+y(e.block.events.length),1)):P(``,!0),O(`span`,Pa,y(u.value.label),1),O(`span`,Fa,y(a.value),1)]),D.value?(b(),k(`span`,Ia,[O(`button`,{type:`button`,class:`eb-tool`,title:U(A)?`已复制`:`复制全文`,onClick:M},[O(`span`,{class:x(U(A)?`i-tabler-check`:`i-tabler-copy`)},null,2)],8,La),O(`button`,{type:`button`,class:`eb-tool`,title:t.$t(`eventBlock.kknq700003`),onClick:N},[...n[2]||=[O(`span`,{class:`i-tabler-quote`},null,-1)]],8,Ra)])):P(``,!0)],512),[[te,!e.compact]]),e.compact?(b(),k(`span`,za,y(a.value.slice(0,5)),1)):P(``,!0),(b(),I(m(T.value),{block:e.block,class:`eb-body`},null,8,[`block`]))])],14,ba))}}),[[`__scopeId`,`data-v-5e0be04f`]]),{__name:`WorkshopEventBlock`}),Va=160,Ha=Object.freeze([]),Ua=8,Wa=new Set([`agent.message`,`a2a.artifact`,`error`,`task.status`,`a2a.message`,`agent.member`,`agent.status`]);function Ga(e,t={}){let n=bt(),r=new ht,i=A(r.blocks),a=E(()=>G(e)??``),o=E(()=>n.filters[a.value]??`all`),s=E(()=>n.focusAgents[a.value]??null),c=E(()=>G(t.resetKey)),u=E(()=>t.predicate??null),d=E(()=>G(t.agentId)??``),f=E(()=>t.raw?a.value?t.agentId?n.agentEvents(a.value,d.value):n.ring(a.value).items:Ha:a.value?n.timeline(a.value):Ha),p=E(()=>(c.value,t.agentId?f.value:u.value?f.value.filter(u.value):f.value)),m=null,h=!1,g=e=>{if(e.length===0)return e;let t=e.length-1;return e.filter((e,n)=>{if(e.kind!==`stream`)return!0;let r=gt(e).trim();return!(!r&&!e.overrideText||n===t&&!e.settled&&r.length<Ua)})},_=()=>{m!=null&&(clearTimeout(m),m=null),i.value=g(r.blocks)},v=e=>{if(e||h){h=!1,_();return}m??=setTimeout(_,Va)};return V(()=>{m!=null&&clearTimeout(m)}),t.raw?l([a,u,c,d],()=>{r.reset(),h=!0},{immediate:!0}):l([a,o,s,u,c],()=>{r.reset(),h=!0},{immediate:!0}),l(p,e=>{let t=e[e.length-1],n=t!=null&&Wa.has(t.type);r.sync(e),v(n)},{immediate:!0}),{blocks:i,totalEvents:E(()=>p.value.length),clusterer:r}}var Ka=!1;function qa(){Ka||typeof document>`u`||(Ka=!0,document.addEventListener(`click`,e=>{let t=e.target?.closest?.(`.code-copy`);if(!(t instanceof HTMLElement))return;let n=t.closest(`.code-block`)?.querySelector(`pre code`)?.textContent??``,r=()=>{let e=t.textContent;t.textContent=`已复制`,setTimeout(()=>{t.textContent=e??`复制`},1400)};navigator.clipboard?.writeText?navigator.clipboard.writeText(n).then(r,r):r()}))}var Ja={class:`transcript`},Ya={class:`filter-bar`},Xa={class:`count`},Za=[`data-state`,`title`],Qa={key:0,class:`sync-pulse`},$a={key:1,class:`i-tabler-point-filled sync-dot`},eo=[`title`],to=[`disabled`],no={key:1,class:`earlier-done`},ro={key:2,class:`skel-stack`},io={key:3,class:`empty`},ao={key:0,class:`i-tabler-refresh empty-icon`},oo={key:1,class:`i-tabler-message-dots empty-icon`},so={class:`empty-title`},co={class:`empty-hint`},lo={key:4,class:`empty filtered`},uo={class:`empty-title`},fo={class:`empty-hint`},po={key:0,class:`date-divider`},mo={class:`date-divider-label`},ho=Object.assign($(v({__name:`TranscriptTimeline`,props:{channelId:{}},setup(e){let{t}=X(),n=e,r=bt(),{conn:i}=St();qa();let a=L(null),o=L(!0),s=E(()=>i.state===`connecting`&&r.ring(n.channelId).items.length===0),c=E({get:()=>r.filters[n.channelId]??`all`,set:e=>r.setFilter(n.channelId,e)}),{blocks:u,totalEvents:d}=Ga(()=>n.channelId),f=L(!1),m=L(!1),h=E(()=>r.ring(n.channelId).items.length),v=E(()=>!m.value&&h.value>0),x=async()=>{if(f.value||m.value)return;f.value=!0;let e=a.value,t=e?{top:e.scrollTop,height:e.scrollHeight}:null;try{await r.loadEarlier(n.channelId)||(m.value=!0),e&&t&&(await M(),e.scrollTop=e.scrollHeight-t.height+t.top)}catch{}finally{f.value=!1}},C=()=>{let e=a.value;e&&(o.value=e.scrollHeight-e.scrollTop-e.clientHeight<120)},D=L(!1),A=(e,t)=>new Promise(n=>{if(window.matchMedia(`(prefers-reduced-motion: reduce)`).matches){e.scrollTop=e.scrollHeight,n();return}let r=e.scrollTop,i=e.scrollHeight-e.clientHeight-r,a=performance.now(),o=s=>{let c=Math.min(1,(s-a)/t),l=1-(1-c)**3;e.scrollTop=r+i*l,c<1?requestAnimationFrame(o):n()};requestAnimationFrame(o)}),N=async()=>{o.value=!0;let e=a.value;if(e){D.value=!0;try{await A(e,800)}finally{D.value=!1}}},F=L(new Map),I=0,R=0,z=Date.now();l(u,(e,t)=>{let n=new Set((t??[]).map(e=>e.id)),r=e.filter(e=>!n.has(e.id)),i=new Map,a=r.length===0||r.length>Math.max(8,Math.ceil(e.length*.4))||Date.now()-z<1500;if(!a){let e=Date.now();e-I>600&&(I=e,R=0)}for(let t of e){let e=!n.has(t.id)&&!a?Math.min(R++,7)*60:-1;i.set(t.id,{enter:e>=0,delay:Math.max(0,e)})}F.value=i},{immediate:!0});let B=async()=>{if(!o.value)return;await M();let e=a.value;e&&(e.scrollTop=e.scrollHeight)};l(()=>u.value.length,()=>{B()}),l(()=>r.lastSeq(n.channelId),()=>{B()});let V=L(null),G=null;_(()=>{let e=a.value,t=V.value;if(!e||!t||typeof ResizeObserver>`u`)return;let n=new ResizeObserver(()=>{o.value&&(e.scrollTop=e.scrollHeight)});n.observe(t),G=n}),g(()=>{G?.disconnect(),G=null});let K=E(()=>i.pendingReplay||i.state===`connecting`),q=E(()=>{if(!i.lastDataAt)return``;let e=Math.max(0,Math.round((Date.now()-i.lastDataAt)/1e3));return e<5?t(`transcriptTimeline.k3wwxl026`):t(`transcriptTimeline.k2gyl6l027`,{p0:e})}),ee=[{value:`all`,label:t(`transcriptTimeline.k3x4t1012`)},{value:`key`,label:t(`transcriptTimeline.k3x5xi013`)},{value:`messages`,label:t(`transcriptTimeline.k41ykc014`)},{value:`tasks`,label:t(`transcriptTimeline.k3wcox015`)},{value:`team`,label:t(`transcriptTimeline.k3y5ja016`)},{value:`errors`,label:t(`transcriptTimeline.k49d2l017`)}],J=e=>{let t=new Date(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime()},Y=e=>{let n=new Date(e),r=new Date,i=new Date;i.setDate(r.getDate()-1);let a=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate();if(a(n,r))return t(`transcriptTimeline.k3wcqg018`);if(a(n,i))return t(`transcriptTimeline.k40l1y019`);let o=n.getFullYear()===r.getFullYear()?``:t(`transcriptTimeline.k2hda35028`,{p0:n.getFullYear()});return t(`transcriptTimeline.kbs29zx029`,{p0:o,p1:n.getMonth()+1,p2:n.getDate()})},te=E(()=>{let e=[],t=null;for(let n of u.value){let r=J(n.firstAt);e.push({divider:t===null||r!==t?Y(n.firstAt):null}),t=r}return e});return(e,t)=>{let n=Pe,r=Ba;return b(),k(`div`,Ja,[O(`div`,Ya,[w(n,{value:U(c),"onUpdate:value":t[0]||=e=>T(c)?c.value=e:null,size:`small`,options:ee},null,8,[`value`]),O(`span`,Xa,y(U(d))+` `+y(e.$t(`transcriptTimeline.k1atjpx1005`))+` `+y(U(u).length)+` `+y(e.$t(`transcriptTimeline.k4a9o007`)),1),O(`span`,{class:`sync-chip`,"data-state":U(K)?`syncing`:U(i).state,title:U(K)?`连接中断,重连后将自动对齐缺失事件`:e.$t(`transcriptTimeline.kglov3b025`,{p0:U(q)||`无`})},[U(K)?(b(),k(`span`,Qa)):U(i).state===`open`?(b(),k(`span`,$a)):P(``,!0),W(` `+y(U(K)?e.$t(`transcriptTimeline.k3lmtk3008`):U(i).state===`open`?U(q)||e.$t(`transcriptTimeline.k3y2p8020`):e.$t(`transcriptTimeline.k44c2n024`)),1)],8,Za)]),O(`div`,{ref_key:`scroller`,ref:a,class:`scroller`,onScroll:C},[!U(o)&&!U(D)?(b(),k(`button`,{key:0,class:`jump-latest`,title:e.$t(`transcriptTimeline.kqu93z8001`),onClick:N},[t[1]||=O(`span`,{class:`i-tabler-arrow-down`},null,-1),W(` `+y(e.$t(`transcriptTimeline.k40t11002`)),1)],8,eo)):P(``,!0),O(`div`,{ref_key:`columnEl`,ref:V,class:`column`},[U(v)?(b(),k(`button`,{key:0,class:`earlier-btn`,disabled:U(f),onClick:x},y(U(f)?e.$t(`transcriptTimeline.k1br0ij9009`):e.$t(`transcriptTimeline.kywgd38021`)),9,to)):P(``,!0),U(m)&&U(h)>0?(b(),k(`div`,no,y(e.$t(`transcriptTimeline.k1kbaden003`)),1)):P(``,!0),U(s)?(b(),k(`div`,ro,[(b(),k(j,null,S(3,e=>O(`div`,{key:e,class:`skel-row`,style:p({"--d":`${(e-1)*.12}s`})},[...t[2]||=[H(`<span class="aw-skel skel-ava" data-v-53ad6b8b></span><div class="skel-lines" data-v-53ad6b8b><span class="aw-skel skel-line name" data-v-53ad6b8b></span><span class="aw-skel skel-line w70" data-v-53ad6b8b></span><span class="aw-skel skel-line w45" data-v-53ad6b8b></span></div>`,2)]],4)),64))])):U(u).length===0&&U(d)===0?(b(),k(`div`,io,[U(K)||U(i).state!==`open`?(b(),k(`span`,ao)):(b(),k(`span`,oo)),O(`p`,so,y(U(K)||U(i).state!==`open`?e.$t(`transcriptTimeline.klnne6o010`):e.$t(`transcriptTimeline.k126izdm022`)),1),O(`p`,co,y(U(K)||U(i).state!==`open`?e.$t(`transcriptTimeline.k1iuqpxj011`):e.$t(`transcriptTimeline.kuyjpmi023`)),1)])):U(u).length===0?(b(),k(`div`,lo,[t[3]||=O(`span`,{class:`i-tabler-filter-off empty-icon`},null,-1),O(`p`,uo,y(e.$t(`transcriptTimeline.ktuo1zg004`)),1),O(`p`,fo,` 「`+y(ee.find(e=>e.value===U(c))?.label??U(c))+`」`+y(e.$t(`transcriptTimeline.kapxgq4006`)),1)])):P(``,!0),(b(!0),k(j,null,S(U(u),(e,t)=>(b(),k(j,{key:e.id},[U(te)[t]?.divider?(b(),k(`div`,po,[O(`span`,mo,y(U(te)[t].divider),1)])):P(``,!0),w(r,{block:e,"turn-start":t>0&&U(u)[t-1].agentId!==e.agentId,compact:t>0&&U(u)[t-1].agentId===e.agentId,"enter-stage":U(F).get(e.id)},null,8,[`block`,`turn-start`,`compact`,`enter-stage`])],64))),128))],512)],544)])}}}),[[`__scopeId`,`data-v-53ad6b8b`]]),{__name:`WorkshopTranscriptTimeline`}),go={key:0,class:`lane-empty`},_o={key:1,class:`lane-empty`},vo=[`disabled`],yo=Object.assign($(v({__name:`LaneBlocks`,props:{channelId:{},agentId:{}},setup(e){let t=e,n=bt(),{blocks:r}=Ga(()=>t.channelId,{agentId:()=>t.agentId,predicate:e=>e.agentId===t.agentId,resetKey:()=>t.agentId,raw:!0}),i=L(!0);_(()=>{n.loadLaneHistory(t.channelId,t.agentId).finally(()=>{i.value=!1})});let a=L(!1),o=L(!1),s=E(()=>r.value.length>0),c=E(()=>!o.value&&s.value),l=async()=>{if(!(a.value||o.value)){a.value=!0;try{await n.loadLaneEarlier(t.channelId,t.agentId)||(o.value=!0)}catch{}finally{a.value=!1}}};return(e,t)=>{let n=Ba;return U(r).length===0&&U(i)?(b(),k(`div`,go,[t[0]||=O(`span`,{class:`i-tabler-refresh lane-empty-icon`},null,-1),W(` `+y(e.$t(`laneBlocks.k1otw1r3001`)),1)])):U(r).length===0?(b(),k(`div`,_o,y(e.$t(`laneBlocks.k1el0s5k002`)),1)):(b(),k(j,{key:2},[U(c)?(b(),k(`button`,{key:0,type:`button`,class:`lane-earlier`,disabled:U(a),onClick:l},y(U(a)?e.$t(`laneBlocks.k1br0ij9003`):e.$t(`laneBlocks.k1br5dtr004`)),9,vo)):P(``,!0),(b(!0),k(j,null,S(U(r),e=>(b(),I(n,{key:e.id,block:e},null,8,[`block`]))),128))],64))}}}),[[`__scopeId`,`data-v-e020dd8e`]]),{__name:`WorkshopLanesLaneBlocks`}),bo={class:`lanes-wrap`},xo={class:`toolbar`},So={class:`team-summary`},Co={class:`ts-label`},wo={class:`ts-count`},To={class:`ts-unit`},Eo={class:`ts-detail`},Do={class:`lanes`},Oo={key:0,class:`empty`},ko={class:`empty-title`},Ao={class:`empty-title`},jo={class:`empty-hint`},Mo={class:`lane-head`},No={class:`head-top`},Po={class:`lane-ava`},Fo=[`title`],Io=[`title`],Lo=[`title`],Ro={class:`head-sub`},zo={class:`lane-meta`},Bo={key:0,class:`lane-progress`},Vo={class:`lane-actions`},Ho={class:`term-label`},Uo={class:`lane-body`},Wo={class:`mode-hint`},Go={class:`mode-hint`},Ko={class:`ws-hint`},qo=320,Jo=Object.assign($(v({__name:`AgentLanesView`,props:{channelId:{}},setup(e){let{t}=X(),i=e,a=vt(),o=wt(),c=E(()=>a.agents[i.channelId]??[]),l=Ot(`aw.harness.laneW`,{}),u=e=>l.value[e]??qo,d=(e,t)=>{l.value={...l.value,[e]:Math.min(720,Math.max(240,u(e)+t))}},f=e=>{let t={...l.value};Reflect.deleteProperty(t,e),l.value=t},m=e=>e.trim().charAt(0).toUpperCase()||`?`,h=e=>xt(e),v={processing:`var(--tone-live-dot)`,warning:`var(--tone-warning-dot)`,success:`var(--tone-success-dot)`},C=L(!1),A=L(!1),M=L(`create`),N=D({name:``,harness:`omp`,role:`worker`,systemPrompt:``}),F=L([]),R=L([]),B=L(``),V=L(``),H=async()=>{try{let[e,t]=await Promise.all([o.listTemplates(),o.listTeams()]);F.value=(e.data??[]).map(e=>({id:e.id,name:e.name,harness:e.harness,enabled:e.enabled})),R.value=(t.data??[]).map(e=>({id:e.id,name:e.name,memberCount:e.members.length,hasLead:e.members.some(e=>e.role===`lead`)}))}catch{}},G=L(!1),K=L(!1),q=D({agentId:``,name:``,role:`worker`,harness:``,systemPrompt:``}),ee=e=>{q.agentId=e.agentId,q.name=e.name,q.role=e.role===`lead`?`lead`:`worker`,q.harness=e.harness,q.systemPrompt=typeof e.config?.systemPromptPrefix==`string`?e.config.systemPromptPrefix:``,G.value=!0},J=async()=>{let e=q.name.trim();if(!e){n.warning(t(`agentLanesView.ky6jqt4032`));return}K.value=!0;try{await o.updateChannelAgent(i.channelId,q.agentId,{name:e,config:{...a.agents[i.channelId]?.find(e=>e.agentId===q.agentId)?.config??{},systemPromptPrefix:q.systemPrompt.trim()},reason:t(`agentLanesView.kfvflle033`)}),n.success(t(`agentLanesView.k21xjz2044`,{p0:e})),G.value=!1}catch(e){n.error(t(`agentLanesView.k3jmrw1045`,{p0:ut(e)}))}finally{K.value=!1}},Y=()=>{N.name=``,N.harness=`omp`,N.role=`worker`,N.systemPrompt=``,M.value=`create`,B.value=``,V.value=``,C.value=!0,H()},te=async()=>{if(M.value===`create`){let e=N.name.trim();if(!e){n.warning(t(`agentLanesView.ky6jqt4032`));return}A.value=!0;try{await o.addChannelAgent(i.channelId,{name:e,harness:N.harness,role:N.role,config:N.systemPrompt.trim()?{systemPromptPrefix:N.systemPrompt.trim()}:void 0}),n.success(t(`agentLanesView.k1g5ykr3046`,{p0:e})),C.value=!1}catch(e){n.error(t(`agentLanesView.k1j97j74047`,{p0:ut(e)}))}finally{A.value=!1}return}if(M.value===`template`){if(!B.value){n.warning(t(`agentLanesView.k13xo8sz034`));return}A.value=!0;try{let e=F.value.find(e=>e.id===B.value);await o.addChannelAgent(i.channelId,{agentId:B.value,role:N.role,config:N.systemPrompt.trim()?{systemPromptPrefix:N.systemPrompt.trim()}:void 0}),n.success(t(`agentLanesView.kk3uwzo048`,{p0:N.role,p1:e?.name??``})),C.value=!1}catch(e){let t=ut(e);n.error(`模板克隆失败${t.includes(`LEAD_EXISTS`)?`(已有 lead,不能再添加 lead)`:`: ${t}`}`)}finally{A.value=!1}return}if(!V.value){n.warning(t(`agentLanesView.k1tjd5ab035`));return}A.value=!0;try{let e=R.value.find(e=>e.id===V.value);await o.deployTeam(V.value,i.channelId),n.success(t(`agentLanesView.k1gslqf9050`,{p0:e?.name??``,p1:e?.memberCount??0})),C.value=!1}catch(e){let t=ut(e);n.error(`编组部署失败${t.includes(`LEAD_EXISTS`)?`(channel 已有 lead,编组内 lead 成员冲突;请先移除现有 lead 或选用无 lead 编组)`:`: ${t}`}`)}finally{A.value=!1}},ne=L(null),re=async(e,r)=>{ne.value=e;try{await o.removeChannelAgent(i.channelId,e),n.success(t(`agentLanesView.k1n3o03a052`,{p0:r}))}catch(e){n.error(t(`agentLanesView.k13dsp10053`,{p0:ut(e)}))}finally{ne.value=null}},ie=L(null),ae=async(e,r)=>{ie.value=e;try{await o.stopChannelAgent(i.channelId,e),n.success(t(`agentLanesView.kcpbv47054`,{p0:r}))}catch(e){n.error(t(`agentLanesView.k139ec5j055`,{p0:ut(e)}))}finally{ie.value=null}},se=L([]),Z=E(()=>{let e=new Map;for(let t of se.value)!t.alive||!t.agentId||e.set(t.agentId,t);return e}),ce=e=>e?e.streaming?{text:`streaming`,color:`processing`}:e.running?{text:`turn`,color:`warning`}:{text:`idle`,color:`success`}:null,le=null,ue=async()=>{try{let e=await o.listChannelTerminals(i.channelId);se.value=e.data??[]}catch{}},de=L(!1),fe=L(null),pe=L(``),me=e=>{fe.value=e.agentId,pe.value=`${e.name} · ${e.role}`,de.value=!0};return _(()=>{ue(),le=oe(()=>void ue(),5e3)}),g(()=>{le&&clearInterval(le)}),(t,n)=>{let i=r,o=Ze,l=Yr,g=Ge,_=Ue,E=He,D=Ne,L=We,H=Ve,X=Me,oe=Le,se=s,le=Ke,ue=et;return b(),k(`div`,bo,[O(`div`,xo,[O(`div`,So,[O(`span`,Co,y(t.$t(`agentLanesView.k3y5ja016`)),1),O(`span`,wo,y(U(c).length),1),O(`span`,To,y(t.$t(`agentLanesView.k3ll6sa017`)),1),O(`span`,Eo,`lead `+y(U(c).filter(e=>e.role===`lead`).length)+` · worker `+y(U(c).filter(e=>e.role===`worker`).length),1)]),w(i,{size:`small`,type:`primary`,ghost:``,onClick:Y},{default:z(()=>[n[14]||=O(`span`,{class:`i-tabler-user-plus`},null,-1),O(`span`,null,y(t.$t(`agentLanesView.k1fmutgo018`)),1)]),_:1})]),O(`div`,Do,[U(c).length===0?(b(),k(`div`,Oo,[U(a).channels[e.channelId]?(b(),k(j,{key:1},[n[16]||=O(`span`,{class:`i-tabler-users-group empty-icon`},null,-1),O(`p`,Ao,y(t.$t(`agentLanesView.k122h4pc020`)),1),O(`p`,jo,y(t.$t(`agentLanesView.k7cr2h8021`)),1)],64)):(b(),k(j,{key:0},[n[15]||=O(`span`,{class:`i-tabler-refresh empty-icon`},null,-1),O(`p`,ko,y(t.$t(`agentLanesView.k1woev5v019`)),1)],64))])):P(``,!0),(b(!0),k(j,null,S(U(c),r=>(b(),k(j,{key:r.agentId},[O(`div`,{class:`lane`,style:p({flexBasis:`${u(r.agentId)}px`})},[O(`div`,Mo,[O(`div`,No,[O(`span`,Po,[O(`span`,{style:p({"--av":h(r.agentId)})},y(m(r.name)),5),O(`span`,{class:x([`lane-state`,r.state])},null,2)]),O(`span`,{class:`lane-name`,title:r.name},y(r.name),9,Fo),r.config?.systemPromptPrefix?(b(),k(`span`,{key:0,class:`lane-chip`,title:t.$t(`agentLanesView.k107s4am001`)},y(t.$t(`agentLanesView.k3xycu022`)),9,Io)):P(``,!0),O(`span`,{class:x([`lane-role`,r.role])},y(r.role),3),ce(U(Z).get(r.agentId))?(b(),k(`span`,{key:1,class:`term-badge`,title:t.$t(`agentLanesView.k1wn2vmt036`,{p0:U(Z).get(r.agentId)?.pid})},[O(`span`,{class:`term-dot`,style:p({background:v[ce(U(Z).get(r.agentId)).color]??`var(--tone-neutral-dot)`})},null,4),W(` `+y(ce(U(Z).get(r.agentId)).text),1)],8,Lo)):P(``,!0)]),O(`div`,Ro,[O(`span`,zo,[r.state===`busy`&&r.currentTaskTitle?(b(),k(j,{key:0},[W(y(r.currentTaskTitle)+` `,1),r.currentTaskProgress==null?P(``,!0):(b(),k(`span`,Bo,y(r.currentTaskProgress)+`%`,1))],64)):(b(),k(j,{key:1},[W(y(r.state)+` · Q`+y(r.queued??0),1)],64))]),O(`div`,Vo,[r.harness===`omp`?(b(),I(i,{key:0,size:`small`,type:`primary`,ghost:``,class:`lane-term`,title:t.$t(`agentLanesView.k1884q17002`),onClick:e=>me(r)},{default:z(()=>[n[17]||=O(`span`,{class:`i-tabler-terminal-2`},null,-1),O(`span`,Ho,y(t.$t(`agentLanesView.k4588s023`)),1)]),_:1},8,[`title`,`onClick`])):P(``,!0),w(i,{size:`small`,type:`text`,class:`lane-edit`,title:t.$t(`agentLanesView.k1pgd3tf003`),onClick:e=>ee(r)},{default:z(()=>[...n[18]||=[O(`span`,{class:`i-tabler-edit`},null,-1)]]),_:1},8,[`title`,`onClick`]),n[21]||=O(`span`,{class:`actions-divider`},null,-1),w(o,{title:t.$t(`agentLanesView.k1l029kf037`,{p0:r.name}),"ok-text":`停止`,"cancel-text":`取消`,onConfirm:e=>ae(r.agentId,r.name)},{default:z(()=>[w(i,{size:`small`,type:`text`,class:`lane-stop`,loading:U(ie)===r.agentId,title:`HITL 停止该 Agent 运行时`},{default:z(()=>[...n[19]||=[O(`span`,{class:`i-tabler-player-stop`},null,-1)]]),_:1},8,[`loading`])]),_:2},1032,[`title`,`onConfirm`]),w(o,{title:t.$t(`agentLanesView.kt3n27m038`,{p0:r.name}),"ok-text":`移除`,"cancel-text":`取消`,onConfirm:e=>re(r.agentId,r.name)},{default:z(()=>[w(i,{size:`small`,type:`text`,danger:``,class:`lane-remove`,loading:U(ne)===r.agentId},{default:z(()=>[...n[20]||=[O(`span`,{class:`i-tabler-x`},null,-1)]]),_:1},8,[`loading`])]),_:2},1032,[`title`,`onConfirm`])])])]),O(`div`,Uo,[w(yo,{"channel-id":e.channelId,"agent-id":r.agentId},null,8,[`channel-id`,`agent-id`])])],4),w(l,{label:t.$t(`agentLanesView.k7xt1y6039`,{p0:r.name}),onResize:e=>d(r.agentId,e),onReset:e=>f(r.agentId)},null,8,[`label`,`onResize`,`onReset`])],64))),128))]),w(se,{open:U(C),"onUpdate:open":n[9]||=e=>T(C)?C.value=e:null,title:t.$t(`agentLanesView.k17kcn55004`),"confirm-loading":U(A),"ok-text":`添加`,"cancel-text":`取消`,onOk:te},{default:z(()=>[w(_,{value:U(M),"onUpdate:value":n[0]||=e=>T(M)?M.value=e:null,class:`mode-switch`},{default:z(()=>[w(g,{value:`create`},{default:z(()=>[W(y(t.$t(`agentLanesView.k1b7cwvy024`)),1)]),_:1}),w(g,{value:`template`},{default:z(()=>[W(y(t.$t(`agentLanesView.k1ndey1w025`)),1)]),_:1}),w(g,{value:`team`},{default:z(()=>[W(y(t.$t(`agentLanesView.k1l5qyux026`)),1)]),_:1})]),_:1},8,[`value`]),U(M)===`create`?(b(),I(X,{key:0,layout:`vertical`,class:`member-form`},{default:z(()=>[w(D,{label:t.$t(`agentLanesView.k3nufdm005`)},{default:z(()=>[w(E,{value:U(N).name,"onUpdate:value":n[1]||=e=>U(N).name=e,placeholder:`如 db-migrator / test-writer`,onPressEnter:te},null,8,[`value`])]),_:1},8,[`label`]),w(D,{label:`harness`},{default:z(()=>[w(_,{value:U(N).harness,"onUpdate:value":n[2]||=e=>U(N).harness=e},{default:z(()=>[w(L,{value:`omp`},{default:z(()=>[...n[22]||=[W(` omp(完整 LLM agent) `,-1)]]),_:1}),w(L,{value:`mock`},{default:z(()=>[W(y(t.$t(`agentLanesView.kqg6783027`)),1)]),_:1}),w(L,{value:`claude`},{default:z(()=>[...n[23]||=[W(` claude `,-1)]]),_:1})]),_:1},8,[`value`])]),_:1}),w(D,{label:t.$t(`agentLanesView.k479op006`)},{default:z(()=>[w(_,{value:U(N).role,"onUpdate:value":n[3]||=e=>U(N).role=e},{default:z(()=>[w(L,{value:`worker`},{default:z(()=>[...n[24]||=[W(` worker `,-1)]]),_:1}),w(L,{value:`lead`},{default:z(()=>[W(y(t.$t(`agentLanesView.k1weovo028`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`]),w(D,{label:t.$t(`agentLanesView.kaogfp007`)},{default:z(()=>[w(H,{value:U(N).systemPrompt,"onUpdate:value":n[4]||=e=>U(N).systemPrompt=e,rows:3,placeholder:t.$t(`agentLanesView.kbqn6w5008`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`])]),_:1})):U(M)===`template`?(b(),I(X,{key:1,layout:`vertical`,class:`member-form`},{default:z(()=>[w(D,{label:`选择 Agent 模板(克隆 name/harness/config 为独立实例)`},{default:z(()=>[w(oe,{value:U(B),"onUpdate:value":n[5]||=e=>T(B)?B.value=e:null,placeholder:t.$t(`agentLanesView.kung925009`),options:U(F).map(e=>({value:e.id,label:`${e.name}(${e.harness})${e.enabled===0?` · 已停用`:``}`}))},null,8,[`value`,`placeholder`,`options`])]),_:1}),w(D,{label:t.$t(`agentLanesView.k1bl78fu010`)},{default:z(()=>[w(_,{value:U(N).role,"onUpdate:value":n[6]||=e=>U(N).role=e},{default:z(()=>[w(L,{value:`worker`},{default:z(()=>[...n[25]||=[W(` worker `,-1)]]),_:1}),w(L,{value:`lead`},{default:z(()=>[W(y(t.$t(`agentLanesView.k1weovo028`)),1)]),_:1})]),_:1},8,[`value`])]),_:1},8,[`label`]),w(D,{label:t.$t(`agentLanesView.k1vhvbz7011`)},{default:z(()=>[w(H,{value:U(N).systemPrompt,"onUpdate:value":n[7]||=e=>U(N).systemPrompt=e,rows:3,placeholder:t.$t(`agentLanesView.k7ft6ig012`)},null,8,[`value`,`placeholder`])]),_:1},8,[`label`]),O(`div`,Wo,y(t.$t(`agentLanesView.knybb6r029`)),1)]),_:1})):(b(),I(X,{key:2,layout:`vertical`,class:`member-form`},{default:z(()=>[w(D,{label:t.$t(`agentLanesView.k29om9b013`)},{default:z(()=>[w(oe,{value:U(V),"onUpdate:value":n[8]||=e=>T(V)?V.value=e:null,placeholder:t.$t(`agentLanesView.kur1otz014`),options:U(R).map(e=>({value:e.id,label:t.$t(`agentLanesView.k1qcmxyu040`,{p0:e.name,p1:e.memberCount,p2:e.hasLead?`,含 lead`:``})}))},null,8,[`value`,`placeholder`,`options`])]),_:1},8,[`label`]),O(`div`,Go,y(t.$t(`agentLanesView.k1qqnq5030`)),1)]),_:1}))]),_:1},8,[`open`,`title`,`confirm-loading`]),w(se,{open:U(G),"onUpdate:open":n[12]||=e=>T(G)?G.value=e:null,title:t.$t(`agentLanesView.k19j5rho041`,{p0:U(q).name||``}),"confirm-loading":U(K),"ok-text":`保存`,"cancel-text":`取消`,onOk:J},{default:z(()=>[w(X,{layout:`vertical`,class:`member-form`},{default:z(()=>[w(D,{label:t.$t(`agentLanesView.k3nufdm005`)},{default:z(()=>[w(E,{value:U(q).name,"onUpdate:value":n[10]||=e=>U(q).name=e},null,8,[`value`])]),_:1},8,[`label`]),w(D,{label:`角色 / harness`},{default:z(()=>[w(ue,null,{default:z(()=>[w(le,{color:U(q).role===`lead`?`purple`:`blue`},{default:z(()=>[W(y(U(q).role),1)]),_:1},8,[`color`]),w(le,null,{default:z(()=>[W(y(U(q).harness),1)]),_:1})]),_:1})]),_:1}),w(D,{label:`场景系统提示词(systemPromptPrefix)`},{extra:z(()=>[O(`span`,Ko,y(t.$t(`agentLanesView.k1rw1rd2031`)),1)]),default:z(()=>[w(H,{value:U(q).systemPrompt,"onUpdate:value":n[11]||=e=>U(q).systemPrompt=e,rows:6,placeholder:t.$t(`agentLanesView.k10ti81i015`)},null,8,[`value`,`placeholder`])]),_:1})]),_:1})]),_:1},8,[`open`,`title`,`confirm-loading`]),w(Dt,{open:U(de),"onUpdate:open":n[13]||=e=>T(de)?de.value=e:null,"agent-id":U(fe),"channel-id":e.channelId,pid:null,subtitle:U(pe)},null,8,[`open`,`agent-id`,`channel-id`,`subtitle`])])}}}),[[`__scopeId`,`data-v-bd4c4a97`]]),{__name:`WorkshopAgentLanesView`}),Yo={class:`board-shell`},Xo={class:`toolbar`},Zo={class:`aw-seg`},Qo={class:`count`},$o={key:0,class:`pane-empty`},es={class:`pe-title`},ts={class:`aw-serif-accent-italic`},ns={class:`pe-sub`},rs={key:1,class:`board`},is=[`onDragover`,`onDragleave`,`onDrop`],as={class:`sec`},os={class:`sec-title`},ss={class:`sec-cnt`},cs={class:`task-col-body`},ls=[`onDragstart`,`onClick`],us={class:`tk-chan`},ds={key:0,class:`tk-num`},fs={key:1,class:`tk-num`},ps={class:`tk-title`},ms=[`title`],hs={class:`tk-foot`},gs=[`onClick`],_s={key:0,class:`col-empty`},vs={key:2,class:`task-list`},ys={key:0,class:`list-sec sec`},bs={class:`sec-title`},xs={class:`sec-cnt`},Ss=[`onClick`],Cs={class:`grow`},ws={class:`lnum`},Ts={class:`meta`},Es=[`onClick`],Ds=Object.assign($(v({__name:`TaskBoardView`,props:{channelId:{}},emits:[`openTask`],setup(e,{emit:t}){let{t:r}=X(),i=e,a=t,o=vt(),s=wt(),c=E(()=>o.tasks[i.channelId]??[]),l=E(()=>o.channels[i.channelId]!==void 0||o.tasks[i.channelId]!==void 0),u=L(new Map),d=E(()=>c.value.map(e=>u.value.has(e.id)?{...e,state:u.value.get(e.id)}:e)),f=[{key:`todo`,title:r(`taskBoardView.k3nf71d008`),states:[`SUBMITTED`,`ASSIGNED`],dot:`var(--tone-neutral-dot)`,moveAction:`retry`},{key:`doing`,title:r(`taskBoardView.k3o5tz9009`),states:[`WORKING`],dot:`var(--tone-info-dot)`,moveAction:null},{key:`waiting`,title:r(`taskBoardView.k1hpx9p1010`),states:[`WAITING`],dot:`var(--tone-warning-dot)`,moveAction:null},{key:`done`,title:r(`taskBoardView.k3n77g3011`),states:[`COMPLETED`],dot:`var(--tone-success-dot)`,moveAction:null},{key:`bad`,title:r(`taskBoardView.k1veotws012`),states:[`FAILED`,`CANCELED`],dot:`var(--tone-danger-dot)`,moveAction:`cancel`}],m=E(()=>f.map(e=>({...e,items:d.value.filter(t=>e.states.includes(t.state))}))),h=e=>o.agentById(i.channelId,e)?.name??e.slice(0,6),g=e=>d.value.filter(t=>t.parentId===e).length,_=e=>e.state,v=L(localStorage.getItem(`aw.tasks.boardLayout`)===`list`?`list`:`board`),C=e=>{v.value=e,localStorage.setItem(`aw.tasks.boardLayout`,e)},w=L(null),T=L(null),D=L(null),A=e=>d.value.find(t=>t.id===e),M=(e,t)=>{if(!t.moveAction)return!1;let n=A(e);return!n||t.states.includes(n.state)?!1:t.moveAction===`retry`?[`FAILED`,`CANCELED`].includes(n.state):[`SUBMITTED`,`ASSIGNED`,`WORKING`,`WAITING`,`FAILED`].includes(n.state)},N=(e,t,n)=>{w.value=t.id,T.value=n,e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t.id))},F=(e,t)=>{!w.value||!M(w.value,t)||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=`move`))},R=e=>{D.value===e&&(D.value=null)},z=(e,t)=>{D.value=t.key,F(e,t)},B=()=>{w.value=null,T.value=null,D.value=null},V=e=>({"drop-over":D.value===e.key&&!!w.value&&M(w.value,e),"no-drop":!!w.value&&D.value===e.key&&!M(w.value,e),"drag-origin":T.value===e.key}),H=async(e,t)=>{e.preventDefault();let n=w.value;D.value=null,w.value=null,T.value=null,!(!n||!M(n,t))&&await K(n,t.moveAction)},G=L(new Set),K=async(e,t)=>{if(G.value.has(e))return;let r=A(e);if(!r)return;G.value.add(e);let i=r.state,a=t===`cancel`?`CANCELED`:`ASSIGNED`,o=new Map(u.value);o.set(e,a),u.value=o;try{await(t===`cancel`?s.cancelTask(e):s.retryTask(e)),n.success(r(t===`cancel`?`taskBoardView.k189y4q013`:`taskBoardView.kv1l1j3014`))}catch(t){let a=new Map(u.value);a.set(e,i),u.value=a;let o=t;n.error(ut(o,r(`taskBoardView.k1e7zwuc015`)))}finally{G.value.delete(e),setTimeout(()=>{let t=new Map(u.value);t.delete(e),u.value=t},4e3)}},q=L(null),J=(e,t)=>{let n=Math.min(e.clientX,Math.max(window.innerWidth-156,8)),r=Math.min(e.clientY,Math.max(window.innerHeight-160,8));q.value={task:t,x:n,y:r}},Y=()=>{q.value=null},te=E(()=>{let e=q.value?.task;if(!e)return[];let t=[];return[`SUBMITTED`,`ASSIGNED`,`WORKING`,`WAITING`,`FAILED`].includes(e.state)&&t.push({key:`cancel`,label:e(`taskBoardView.k1bs0t9b016`),danger:!0}),[`FAILED`,`CANCELED`].includes(e.state)&&t.push({key:`retry`,label:e(`taskBoardView.k1lclwk6017`)}),t.push({key:`detail`,label:e(`taskBoardView.k1dx9ysj018`)}),t}),ne=async e=>{let t=q.value?.task;Y(),t&&(e===`detail`?a(`openTask`,t.id):await K(t.id,e))};return(e,t)=>{let n=Bn;return b(),k(`div`,Yo,[O(`div`,Xo,[O(`div`,Zo,[O(`button`,{type:`button`,class:x({on:U(v)===`board`}),onClick:t[0]||=e=>C(`board`)},y(e.$t(`taskBoardView.k43pyn001`)),3),O(`button`,{type:`button`,class:x({on:U(v)===`list`}),onClick:t[1]||=e=>C(`list`)},y(e.$t(`taskBoardView.k3x7l0002`)),3)]),O(`span`,Qo,y(U(d).length)+` `+y(e.$t(`taskBoardView.k168w1ze004`)),1)]),U(d).length===0?(b(),k(`div`,$o,[O(`span`,{class:x(U(l)?`pe-icon i-tabler-list-check`:`pe-icon i-tabler-refresh`)},null,2),O(`div`,es,[W(y(U(l)?e.$t(`taskBoardView.k3vkhhj006`):e.$t(`taskBoardView.k1f9c17l019`))+` `,1),O(`span`,ts,y(e.$t(`taskBoardView.k3wcox003`)),1)]),O(`div`,ns,y(U(l)?`在下方 Composer 提交首个任务(首行标题,支持 goal / loop / pipeline 模式)`:`任务快照对齐后自动呈现`),1)])):U(v)===`board`?(b(),k(`div`,rs,[(b(!0),k(j,null,S(U(m),r=>(b(),k(`div`,{key:r.key,class:x([`task-col`,V(r)]),onDragover:e=>z(e,r),onDragleave:e=>R(r.key),onDrop:e=>H(e,r)},[O(`div`,as,[O(`span`,{class:`st-dot`,style:p({background:r.dot})},null,4),O(`span`,os,y(r.title),1),O(`span`,ss,y(r.items.length),1)]),O(`div`,cs,[(b(!0),k(j,null,S(r.items,i=>(b(),k(`div`,{key:i.id,class:x([`card task`,{dragging:U(w)===i.id}]),draggable:`true`,onDragstart:e=>N(e,i,r.key),onDragend:B,onClick:e=>a(`openTask`,i.id)},[O(`div`,us,[O(`span`,null,`#`+y(h(i.assigneeId)),1),g(i.id)?(b(),k(`span`,ds,y(e.$t(`taskBoardView.k4b1x005`))+` `+y(g(i.id)),1)):P(``,!0),i.artifacts?(b(),k(`span`,fs,[t[2]||=O(`span`,{class:`i-tabler-package`},null,-1),W(` `+y(i.artifacts),1)])):P(``,!0)]),O(`div`,ps,y(i.title),1),i.routeReason?(b(),k(`div`,{key:0,class:`tk-route`,title:e.$t(`taskBoardView.k8m7hm6020`,{p0:i.routeReason})},` ↳ `+y(i.routeReason),9,ms)):P(``,!0),i.state===`WORKING`&&i.progress>0?(b(),I(n,{key:1,percent:i.progress,size:`small`,"show-info":!1},null,8,[`percent`])):P(``,!0),O(`div`,hs,[O(`button`,{type:`button`,class:`st-pill-btn`,onClick:ee(e=>J(e,i),[`stop`])},[O(`span`,{class:`st-pill`,style:p({color:r.dot,borderColor:r.dot})},y(r.title),5)],8,gs)])],42,ls))),128)),r.items.length===0?(b(),k(`div`,_s,y(r.moveAction?e.$t(`taskBoardView.k13pad50007`):`-`),1)):P(``,!0)])],42,is))),128))])):(b(),k(`div`,vs,[(b(!0),k(j,null,S(U(m),e=>(b(),k(j,{key:e.key},[e.items.length?(b(),k(`div`,ys,[O(`span`,{class:`st-dot`,style:p({background:e.dot})},null,4),O(`span`,bs,y(e.title),1),O(`span`,xs,y(e.items.length),1)])):P(``,!0),(b(!0),k(j,null,S(e.items,t=>(b(),k(`div`,{key:t.id,class:`list-row`,onClick:e=>a(`openTask`,t.id)},[O(`span`,Cs,y(t.title),1),O(`span`,ws,`#`+y(h(t.assigneeId)),1),O(`span`,Ts,y(t.id.slice(0,8)),1),O(`span`,{class:`st-pill`,style:p({color:e.dot,borderColor:e.dot})},y(_(t)),5)],8,Ss))),128))],64))),128))])),U(q)?(b(),k(j,{key:3},[O(`div`,{class:`menu-backdrop`,onClick:Y,onScroll:Y},null,32),O(`div`,{class:`st-menu`,style:p({left:`${U(q).x}px`,top:`${U(q).y}px`})},[(b(!0),k(j,null,S(U(te),e=>(b(),k(`button`,{key:e.key,type:`button`,class:x({danger:e.danger}),onClick:t=>ne(e.key)},[O(`span`,{class:x(e.key===`cancel`?`i-tabler-circle-off`:e.key===`retry`?`i-tabler-rotate`:`i-tabler-external-link`)},null,2),W(` `+y(e.label),1)],10,Es))),128))],4)],64)):P(``,!0)])}}}),[[`__scopeId`,`data-v-f6edc999`]]),{__name:`WorkshopTaskBoardView`}),Os={class:`split`},ks={key:0,class:`empty`},As={class:`col-head`},js={class:`col-name`},Ms={class:`col-meta`},Ns={class:`col-body`},Ps={key:0,class:`col-empty`},Fs=[`onClick`],Is={class:`me-time`},Ls={class:`me-agent`},Rs={class:`me-text`},zs=360,Bs=Object.assign($(v({__name:`MultiChannelView`,props:{wsId:{}},emits:[`openTask`],setup(e,{emit:t}){let{t:n}=X(),r=e,i=t,a=Ot(`aw.harness.mcColW`,{}),o=e=>a.value[e]??zs,s=(e,t)=>{a.value={...a.value,[e]:Math.min(760,Math.max(300,o(e)+t))}},c=e=>{let t={...a.value};Reflect.deleteProperty(t,e),a.value=t},l=lt(),u=vt(),d=bt(),f=E(()=>(l.workspaces.find(e=>e.id===r.wsId)?.channelIds??[]).map(e=>{let t=u.agents[e]??[],n=u.tasks[e]??[];return{id:e,name:u.channels[e]?.name??e.slice(0,8),synced:u.channels[e]!==void 0,busy:t.filter(e=>e.state===`busy`).length,agents:t.length,activeTasks:n.filter(e=>![`COMPLETED`,`CANCELED`,`FAILED`].includes(e.state)).length,seq:d.lastSeq(e),items:d.ring(e).items.slice(-120)}})),m=e=>{let t=e.payload;switch(e.type){case`task.status`:return`${String(t.state)} ${String(t.taskId??``).slice(0,6)}`;case`task.progress`:return`${String(t.progress??``)}%`;case`agent.delta`:return`…${String(t.delta??``).slice(-24)}`;case`agent.message`:return`${String(t.parts?.[0]?.text??``).slice(0,40)}`;case`a2a.message`:return`文本 ${String(t.parts?.[0]?.text??``).slice(0,40)}`;case`a2a.artifact`:return`交付 ${String(t.artifact?.name??``)}`;case`memory.saved`:return n(`multiChannelView.kfvue7n009`,{p0:String(t.title??``)});case`agent.member`:return n(`multiChannelView.khq39oe010`,{p0:String(t.op??``),p1:String(t.name??``)});case`agent.status`:return`${String(t.state)}`;case`error`:return n(`multiChannelView.k16wopr9011`,{p0:String(t.code??``)});default:return e.type}};return(e,t)=>{let n=Yr;return b(),k(`div`,Os,[U(f).length===0?(b(),k(`div`,ks,y(e.$t(`multiChannelView.k1bfi9ms001`)),1)):P(``,!0),(b(!0),k(j,null,S(U(f),t=>(b(),k(j,{key:t.id},[O(`div`,{class:`col`,style:p({flexBasis:`${o(t.id)}px`})},[O(`div`,As,[O(`span`,js,y(t.name),1),O(`span`,Ms,[t.synced?(b(),k(j,{key:0},[W(y(t.agents)+`a / `+y(e.$t(`multiChannelView.k4by6003`))+y(t.busy)+` / `+y(e.$t(`multiChannelView.k3wcox005`))+y(t.activeTasks)+` / seq`+y(t.seq),1)],64)):(b(),k(j,{key:1},[W(y(e.$t(`multiChannelView.k1bst7s9002`)),1)],64))])]),O(`div`,Ns,[t.items.length===0?(b(),k(`div`,Ps,y(t.synced?e.$t(`multiChannelView.k1el0s5k004`):e.$t(`multiChannelView.k1bst7s9002`)),1)):P(``,!0),(b(!0),k(j,null,S(t.items,e=>(b(),k(`div`,{key:`${t.id}-${e.seq}`,class:x([`mini-event`,{clickable:e.type===`task.status`}]),onClick:t=>e.type===`task.status`&&i(`openTask`,e.payload.taskId)},[O(`span`,Is,y(U(Et)(e.at)),1),O(`span`,Ls,y(e.agentId?.slice(0,4)??`sys`),1),O(`span`,Rs,y(m(e)),1)],10,Fs))),128))])],4),w(n,{label:e.$t(`multiChannelView.kvfx0mh006`,{p0:t.name}),onResize:e=>s(t.id,e),onReset:e=>c(t.id)},null,8,[`label`,`onResize`,`onReset`])],64))),128))])}}}),[[`__scopeId`,`data-v-51168f05`]]),{__name:`WorkshopMultiChannelView`}),Vs={class:`memory-panel`},Hs={class:`toolbar`},Us=[`data-ok`],Ws={class:`search-bar`},Gs={key:1,class:`search-results`},Ks=[`title`],qs=[`data-source`],Js={class:`score`},Ys={class:`hit-title`},Xs={class:`list-head`},Zs={class:`row-head`},Qs={class:`row-importance`},$s={class:`row-title`},ec={class:`row-content`},tc={key:0,class:`empty`},nc=Object.assign($(v({__name:`MemoryPanel`,props:{channelId:{},agentId:{}},setup(e){let{t}=X(),i=e,a=vt(),o=wt(),c=L(`shared`),u=L(i.agentId??``);l(()=>i.agentId,e=>{e&&(u.value=e)});let d=L({}),f=L(``),p=E(()=>f.value.trim()||d.value[u.value]||``),m=E(()=>p.value.length>0),h=async()=>{try{let e=await o.listChannelAgents(i.channelId),t={};for(let n of e.data??[])n.token&&(t[n.id]=n.token);if(d.value=t,!u.value){let t=(e.data??[]).find(e=>e.role===`lead`);t&&(u.value=t.id)}}catch{}};_(()=>void h()),l(()=>i.channelId,()=>{d.value={},u.value=i.agentId??``,h()});let g=E(()=>{let e={};return p.value&&(e.authorization=`Bearer ${p.value}`),e}),v=E(()=>a.agents[i.channelId]??[]),x=L([]),C=L(!1),A=async()=>{C.value=!0;try{let e=c.value===`shared`?`/api/workshop/channels/${i.channelId}/memories`:`/api/workshop/channels/${i.channelId}/agents/${u.value}/memories`,r=await(await fetch(e,{headers:g.value})).json();x.value=r.code===0?r.data:[],r.code!==0&&n.warning(r.message??t(`memoryPanel.k186sctu014`))}finally{C.value=!1}};l([c,u,p],()=>{p.value&&(c.value===`shared`||u.value)&&A()});let M=L(``),N=L(`auto`),F=L([]),R=L(!1),B=async()=>{if(!M.value.trim()||!u.value||!p.value){n.warning(t(`memoryPanel.k1eh0fbo015`));return}R.value=!0;try{let e=await(await fetch(`/api/workshop/channels/${i.channelId}/agents/${u.value}/memories/search`,{method:`POST`,headers:{"content-type":`application/json`,...g.value},body:JSON.stringify({query:M.value,scope:N.value,limit:8})})).json();F.value=e.code===0?e.data:[]}finally{R.value=!1}},V=L(!1),H=D({title:``,content:``,scope:`shared`,importance:.8,dedupKey:``}),G=async()=>{if(!H.title||!H.content||!u.value||!p.value){n.warning(t(`memoryPanel.k1dpj734016`));return}let e=await(await fetch(`/api/workshop/channels/${i.channelId}/agents/${u.value}/memories`,{method:`POST`,headers:{"content-type":`application/json`,...g.value},body:JSON.stringify({...H,dedupKey:H.dedupKey||void 0})})).json();e.code===0?(n.success(t(`memoryPanel.k3n5bat017`)),V.value=!1,H.title=``,H.content=``,A()):n.error(e.message??t(`memoryPanel.k1bb5i1l018`))};return(t,n)=>{let i=Ge,a=Ue,o=Le,l=je,d=Be,p=ze,h=r,g=et,_=Ke,E=ot,D=We,L=Ne,K=He,q=Ve,ee=it,J=Me,Y=s;return b(),k(`div`,Vs,[O(`div`,Hs,[w(a,{value:U(c),"onUpdate:value":n[0]||=e=>T(c)?c.value=e:null,size:`small`,"button-style":`solid`},{default:z(()=>[w(i,{value:`shared`},{default:z(()=>[W(y(t.$t(`memoryPanel.k3l2hmp005`)),1)]),_:1}),w(i,{value:`private`},{default:z(()=>[W(y(t.$t(`memoryPanel.k3rve9a006`)),1)]),_:1})]),_:1},8,[`value`]),e.agentId?P(``,!0):(b(),I(o,{key:0,value:U(u),"onUpdate:value":n[1]||=e=>T(u)?u.value=e:null,size:`small`,placeholder:t.$t(`memoryPanel.k1du3379001`),class:`agent-select`,options:U(v).map(e=>({value:e.agentId,label:e.name}))},null,8,[`value`,`placeholder`,`options`])),w(l,{title:U(m)?`成员 token 已自动装配`:`自动装配失败,可手动填入成员 token`},{default:z(()=>[O(`span`,{class:`token-state`,"data-ok":U(m)},[n[12]||=O(`span`,{class:`i-tabler-key`},null,-1),W(y(U(m)?`auto`:t.$t(`memoryPanel.k3zul4013`)),1)],8,Us)]),_:1},8,[`title`])]),U(m)?P(``,!0):(b(),I(d,{key:0,value:U(f),"onUpdate:value":n[2]||=e=>T(f)?f.value=e:null,size:`small`,placeholder:`Bearer token(成员身份,兜底手填)`,class:`token`},null,8,[`value`])),O(`div`,Ws,[w(p,{value:U(M),"onUpdate:value":n[3]||=e=>T(M)?M.value=e:null,size:`small`,placeholder:`混合检索记忆(FTS+向量,与 agent search_memory 同源)…`,loading:U(R),onSearch:B},null,8,[`value`,`loading`]),w(o,{value:U(N),"onUpdate:value":n[4]||=e=>T(N)?N.value=e:null,size:`small`,class:`scope`,options:[{value:`auto`,label:`auto`},{value:`private`,label:`private`},{value:`shared`,label:`shared`}]},null,8,[`value`])]),U(F).length?(b(),k(`div`,Gs,[(b(!0),k(j,null,S(U(F),e=>(b(),k(`div`,{key:e.id,class:`hit`,title:e.content.slice(0,200)},[O(`span`,{class:`src`,"data-source":e.source},y(e.source),9,qs),O(`span`,Js,y(e.score),1),O(`span`,Ys,y(e.title),1)],8,Ks))),128))])):P(``,!0),O(`div`,Xs,[O(`span`,null,y(t.$t(`memoryPanel.k1k7okbe007`)),1),w(g,{size:`small`},{default:z(()=>[w(h,{size:`small`,type:`text`,onClick:A},{default:z(()=>[W(y(t.$t(`memoryPanel.k3x1jg008`)),1)]),_:1}),w(h,{size:`small`,type:`text`,onClick:n[5]||=e=>V.value=!0},{default:z(()=>[W(y(t.$t(`memoryPanel.k3wtib009`)),1)]),_:1})]),_:1})]),w(E,{spinning:U(C)},{default:z(()=>[(b(!0),k(j,null,S(U(x),e=>(b(),k(`div`,{key:e.id,class:`row`},[O(`div`,Zs,[w(_,{class:`kind`},{default:z(()=>[W(y(e.kind),1)]),_:2},1024),O(`span`,Qs,y(e.importance.toFixed(2)),1),O(`span`,$s,y(e.title),1)]),O(`div`,ec,y(e.content.slice(0,140))+y(e.content.length>140?`…`:``),1)]))),128)),U(x).length===0&&!U(C)?(b(),k(`div`,tc,` (`+y(t.$t(`memoryPanel.k43rxk011`)),1)):P(``,!0)]),_:1},8,[`spinning`]),w(Y,{open:U(V),"onUpdate:open":n[11]||=e=>T(V)?V.value=e:null,title:t.$t(`memoryPanel.k1bbee8p002`),"ok-text":`写入`,"cancel-text":`取消`,onOk:G},{default:z(()=>[w(J,{layout:`vertical`},{default:z(()=>[w(L,{label:`scope`},{default:z(()=>[w(a,{value:U(H).scope,"onUpdate:value":n[6]||=e=>U(H).scope=e},{default:z(()=>[w(D,{value:`shared`},{default:z(()=>[W(y(t.$t(`memoryPanel.kemjjvq010`)),1)]),_:1}),w(D,{value:`private`},{default:z(()=>[W(` private(`+y(t.$t(`memoryPanel.k3onh9w012`)),1)]),_:1})]),_:1},8,[`value`])]),_:1}),w(L,{label:t.$t(`memoryPanel.k419s4003`)},{default:z(()=>[w(K,{value:U(H).title,"onUpdate:value":n[7]||=e=>U(H).title=e},null,8,[`value`])]),_:1},8,[`label`]),w(L,{label:t.$t(`memoryPanel.k3wv1f004`)},{default:z(()=>[w(q,{value:U(H).content,"onUpdate:value":n[8]||=e=>U(H).content=e,rows:4},null,8,[`value`])]),_:1},8,[`label`]),w(L,{label:`importance(0-1)`},{default:z(()=>[w(ee,{value:U(H).importance,"onUpdate:value":n[9]||=e=>U(H).importance=e,min:0,max:1,step:.1},null,8,[`value`])]),_:1}),w(L,{label:`dedupKey(可选,幂等)`},{default:z(()=>[w(K,{value:U(H).dedupKey,"onUpdate:value":n[10]||=e=>U(H).dedupKey=e},null,8,[`value`])]),_:1})]),_:1})]),_:1},8,[`open`,`title`])])}}}),[[`__scopeId`,`data-v-25b1b7cc`]]),{__name:`WorkshopMemoryPanel`}),rc={class:`stats`},ic={class:`kpis`},ac={class:`kpi`},oc={class:`kpi-num`},sc={class:`kpi-label`},cc={class:`kpi`},lc={class:`kpi-num`},uc={class:`kpi-label`},dc={class:`kpi`},fc={class:`kpi-num`},pc={class:`kpi-label`},mc={class:`chart`},hc={class:`types`},gc={class:`types-title`},_c={class:`t-name`},vc={class:`t-bar-wrap`},yc={class:`t-n`},bc={key:0,class:`empty`},xc=60,Sc=Object.assign($(v({__name:`StatsPanel`,props:{channelId:{}},setup(e){let t=e,n=bt(),r=_t(),i=E(()=>{let e=n.ring(t.channelId).items,r=Date.now(),i=Array(xc).fill(0);for(let t of e){let e=Date.parse(t.at);if(Number.isNaN(e))continue;let n=Math.floor((r-e)/1e3),a=n>=0&&n<xc?59-n:-1;a>=0&&(i[a]=(i[a]??0)+1)}return i}),a=E(()=>{let e=new Map;for(let r of n.ring(t.channelId).items)e.set(r.type,(e.get(r.type)??0)+1);return[...e.entries()].sort((e,t)=>t[1]-e[1])}),o=E(()=>({grid:{left:36,right:8,top:12,bottom:20},xAxis:{type:`category`,data:i.value.map((e,t)=>String(t-xc+1))},yAxis:{type:`value`,minInterval:1},tooltip:{trigger:`axis`},series:[{type:`line`,data:i.value,smooth:!0,showSymbol:!1,areaStyle:{opacity:.15},lineStyle:{width:1.5}}]})),s=E(()=>n.ring(t.channelId).items.length),c=E(()=>i.value.slice(-10).reduce((e,t)=>e+t,0)/10);return(t,i)=>{let l=h(`app-chart`);return b(),k(`div`,rc,[O(`div`,ic,[O(`div`,ac,[O(`div`,oc,y(U(s)),1),O(`div`,sc,y(t.$t(`statsPanel.k1i88c0b001`)),1)]),O(`div`,cc,[O(`div`,lc,y(U(c).toFixed(1))+`/s `,1),O(`div`,uc,y(t.$t(`statsPanel.kfplawo002`)),1)]),O(`div`,dc,[O(`div`,fc,y(U(n).lastSeq(e.channelId)),1),O(`div`,pc,` seq / `+y(U(r).state),1)])]),O(`div`,mc,[w(l,{option:U(o),class:`app-chart`,autoresize:``},null,8,[`option`])]),O(`div`,hc,[O(`div`,gc,y(t.$t(`statsPanel.kzcd51003`)),1),(b(!0),k(j,null,S(U(a),([e,t])=>(b(),k(`div`,{key:e,class:`type-row`},[O(`span`,_c,y(e),1),O(`div`,vc,[O(`div`,{class:`t-bar`,style:p({width:`${Math.round(t/(U(a)[0]?.[1]??1)*100)}%`})},null,4)]),O(`span`,yc,y(t),1)]))),128)),U(a).length===0?(b(),k(`div`,bc,y(t.$t(`statsPanel.k1pevwxl004`)),1)):P(``,!0)])])}}}),[[`__scopeId`,`data-v-23e4d795`]]),{__name:`WorkshopStatsPanel`}),Cc={class:`inspector`},wc=[`onClick`,`onKeydown`],Tc={class:`member-info`},Ec={class:`member-name`},Dc={class:`name-text`},Oc={class:`member-meta`},kc={key:0,class:`prog`},Ac={class:`member-cap`},jc={key:0,class:`empty`},Mc=[`onClick`,`onKeydown`],Nc={class:`task-head`},Pc={class:`state-chip aw-mono`},Fc={class:`task-title`},Ic={class:`task-meta`},Lc={key:0},Rc={key:1},zc={key:0,class:`empty`},Bc=Object.assign($(v({__name:`InspectorPanel`,props:{channelId:{}},emits:[`openAgent`,`openTask`],setup(e,{emit:t}){let{t:n}=X(),r=e,i=t,a=vt(),o=L(`members`),s=E(()=>a.agents[r.channelId]??[]),c=E(()=>a.tasks[r.channelId]??[]),l=E(()=>c.value.filter(e=>!e.parentId)),u=E(()=>a.channels[r.channelId]!==void 0),d=E(()=>{let e=new Map;for(let t of c.value){if(t.state!==`COMPLETED`&&t.state!==`FAILED`)continue;let n=e.get(t.assigneeId)??{total:0,completed:0,failed:0,durationSum:0};n.total+=1,t.state===`COMPLETED`?(n.completed+=1,t.updatedAt&&t.createdAt&&(n.durationSum+=Math.max(0,new Date(t.updatedAt).getTime()-new Date(t.createdAt).getTime()))):n.failed+=1,e.set(t.assigneeId,n)}return e}),f=e=>{let t=d.value.get(e);if(!t||t.total===0)return n(`inspectorPanel.k1el1plr007`);let r=Math.round(t.completed/t.total*100),i=t.completed>0?Math.round(t.durationSum/t.completed/1e3):0;return n(`inspectorPanel.k12oip5c010`,{p0:r,p1:i,p2:t.failed})},m=e=>c.value.filter(t=>t.parentId===e).length,h={idle:`var(--tone-success-dot)`,busy:`var(--tone-info-dot)`,stopped:`var(--tone-neutral-dot)`};return(t,n)=>{let r=Je,a=Bn,c=nc,d=Sc,g=Xe;return b(),k(`div`,Cc,[w(g,{"active-key":U(o),"onUpdate:activeKey":n[0]||=e=>T(o)?o.value=e:null,size:`small`,class:`tabs`},{default:z(()=>[w(r,{key:`members`,tab:`成员`},{default:z(()=>[(b(!0),k(j,null,S(U(s),e=>(b(),k(`div`,{key:e.agentId,class:`member aw-tile`,role:`button`,tabindex:`0`,onClick:t=>i(`openAgent`,e.agentId),onKeydown:q(t=>i(`openAgent`,e.agentId),[`enter`])},[O(`span`,{class:`dot`,style:p({background:h[e.state]??`var(--tone-neutral-dot)`})},null,4),O(`div`,Tc,[O(`div`,Ec,[O(`span`,Dc,y(e.name),1),O(`span`,{class:x([`role-chip`,e.role])},y(e.role),3)]),O(`div`,Oc,[e.state===`busy`&&e.currentTaskTitle?(b(),k(j,{key:0},[W(y(e.currentTaskTitle)+` `,1),e.currentTaskProgress==null?P(``,!0):(b(),k(`span`,kc,y(e.currentTaskProgress)+`%`,1))],64)):(b(),k(j,{key:1},[W(y(e.state)+` `,1),e.queued?(b(),k(j,{key:0},[W(` · `+y(t.$t(`inspectorPanel.k498bf001`))+` `+y(e.queued),1)],64)):P(``,!0),e.completed?(b(),k(j,{key:1},[W(` · `+y(t.$t(`inspectorPanel.k3ypnl002`))+` `+y(e.completed),1)],64)):P(``,!0)],64))]),O(`div`,Ac,y(f(e.agentId)),1)])],40,wc))),128)),U(s).length===0?(b(),k(`div`,jc,y(U(u)?t.$t(`inspectorPanel.k1el4cgf005`):t.$t(`inspectorPanel.k1tqitzl008`)),1)):P(``,!0)]),_:1}),w(r,{key:`tasks`,tab:`任务`},{default:z(()=>[(b(!0),k(j,null,S(U(l),e=>(b(),k(`div`,{key:e.id,class:`task aw-tile`,role:`button`,tabindex:`0`,onClick:t=>i(`openTask`,e.id),onKeydown:q(t=>i(`openTask`,e.id),[`enter`])},[O(`div`,Nc,[O(`span`,Pc,y(e.state),1),O(`span`,Fc,y(e.title),1)]),O(`div`,Ic,[W(y(e.id.slice(0,8))+` · `+y(e.progress)+`% `,1),m(e.id)?(b(),k(`span`,Lc,`· `+y(t.$t(`inspectorPanel.k3mp44x003`))+` `+y(m(e.id)),1)):P(``,!0),e.artifacts?(b(),k(`span`,Rc,`· `+y(t.$t(`inspectorPanel.k3w9q9004`))+` `+y(e.artifacts),1)):P(``,!0)]),e.state===`WORKING`?(b(),I(a,{key:0,percent:e.progress,size:`small`,"show-info":!1},null,8,[`percent`])):P(``,!0)],40,Mc))),128)),U(l).length===0?(b(),k(`div`,zc,y(U(u)?t.$t(`inspectorPanel.k1el0vqb006`):t.$t(`inspectorPanel.kks0y5h009`)),1)):P(``,!0)]),_:1}),w(r,{key:`memory`,tab:`记忆`},{default:z(()=>[w(c,{"channel-id":e.channelId},null,8,[`channel-id`])]),_:1}),w(r,{key:`stats`,tab:`统计`},{default:z(()=>[w(d,{"channel-id":e.channelId},null,8,[`channel-id`])]),_:1})]),_:1},8,[`active-key`])])}}}),[[`__scopeId`,`data-v-ea1bee22`]]),{__name:`WorkshopInspectorPanel`}),Vc={class:`composer`},Hc={class:`composer-box`},Uc={key:0,class:`mention-menu`},Wc={class:`mention-title`},Gc=[`onMousedown`,`onMouseenter`],Kc={class:`mention-name`},qc={class:`mention-role`},Jc=[`title`],Yc={class:`composer-status-chip`},Xc={class:`chip-key`},Zc={key:0},Qc=[`title`],$c=[`data-tone`,`title`],el={class:`chip-hint`},tl={class:`chip-key`},nl={key:0},rl=[`data-tone`,`title`],il=[`placeholder`],al={class:`composer-bar`},ol={class:`cb-left`},sl={class:`aw-seg`},cl={class:`aw-seg`},ll=[`onClick`],ul={class:`aw-seg`},dl=[`title`],fl=[`title`],pl={class:`cb-right`},ml=[`disabled`],hl=Object.assign($(v({__name:`Composer`,props:{channelId:{}},emits:[`submitted`],setup(e,{emit:t}){let{t:r}=X(),i=e,a=t,o=wt(),s=vt(),c=ct(),u=L(`task`),d=L(``),{quoteText:f}=Zr(),m=L(null);l(f,e=>{if(!e)return;let t=e.trim().split(`
12
- `).map(e=>`> ${e}`).join(`
13
- `);d.value=d.value?`${d.value}\n\n${t}\n\n`:`${t}\n\n`,f.value=null,M(()=>m.value?.focus())});let h=L(`goal`),g=L(60),_=L(null),v=E({get:()=>g.value??void 0,set:e=>{g.value=e??null}}),C=E({get:()=>_.value??void 0,set:e=>{_.value=e??null}}),D=L(!1),A=E(()=>s.agents[i.channelId]??[]),N=E(()=>A.value),I=E(()=>A.value.find(e=>e.role===`lead`)?.agentId??A.value[0]?.agentId??``),R=L(``);l([A,I],([e])=>{e.length!==0&&(!R.value||!e.some(e=>e.agentId===R.value))&&(R.value=I.value||(e[0]?.agentId??``))},{immediate:!0});let z=L(`immediate`),B=L(!1),V=()=>{R.value=I.value},H=L(!1),G=L(``),K=L(0),q=()=>{let e=document.activeElement,t=e?.value??d.value,n=e?.selectionStart??t.length,r=t.slice(0,n),i=/(^|\s)@([^\s@]*)$/.exec(r);if(!i){H.value=!1;return}G.value=i[2]??``,H.value=Y.value.length>0,K.value=0},Y=E(()=>{let e=G.value.toLowerCase();return N.value.filter(t=>!e||t.name.toLowerCase().includes(e)).slice(0,6)}),te=e=>{let t=Y.value[e];if(!t)return;let n=document.activeElement,r=n?.value??d.value,i=n?.selectionStart??r.length,a=r.slice(0,i),o=/(^|\s)@([^\s@]*)$/.exec(a),s=o?i-(o[2]?.length??0):i,c=`${r.slice(0,s)}${t.name} ${r.slice(i)}`;d.value=c,R.value=t.agentId,H.value=!1,M(()=>{let e=s+t.name.length+1;n?.setSelectionRange(e,e),n?.focus()})},ne=e=>H.value?e.key===`ArrowDown`?(e.preventDefault(),K.value=Math.min(K.value+1,Y.value.length-1),!0):e.key===`ArrowUp`?(e.preventDefault(),K.value=Math.max(K.value-1,0),!0):e.key===`Enter`||e.key===`Tab`?(e.preventDefault(),te(K.value),!0):e.key===`Escape`&&(H.value=!1,!0):!1,re=()=>{let[e,...t]=d.value.trim().split(`
14
- `);return{title:(e??``).slice(0,120),description:t.join(`
15
- `).trim()||void 0}},ie=async()=>{let e=d.value.trim();if(e){D.value=!0;try{if(u.value===`task`){let{title:e,description:t}=re();if(!e){n.warning(r(`composer.kqdhdlq014`));return}let a=g.value,s=_.value;if(h.value===`loop`){if(a===null||!Number.isFinite(a)||a<1||a>86400){n.warning(`loop 间隔需设置为 1 到 86400 秒`);return}if(s!==null&&(!Number.isInteger(s)||s<1||s>1e4)){n.warning(r(`composer.k1l36qf9015`));return}}await o.submitTask(i.channelId,{title:e,description:t,mode:h.value,...h.value===`loop`?{modeConfig:{intervalMs:Math.round(a*1e3),...s===null?{}:{maxIterations:Math.floor(s)}}}:{},assigneeId:R.value||void 0,fromLabel:c.user?.name??void 0,parts:[{text:d.value.trim()}]});let l=se.value||`lead`;n.success(r(`composer.k1d2idgj035`,{p0:l,p1:h.value}))}else{if(!R.value){n.warning(r(`composer.k1bw65is016`));return}await o.injectMessage(i.channelId,{toAgentId:R.value,text:e,priority:z.value,requireReply:B.value,fromLabel:c.user?.name??void 0}),n.success(r(`composer.k1wk4bf036`,{p0:se.value,p1:z.value===`immediate`?r(`composer.k1cxjc4m034`):r(`composer.k40g8m009`)}))}d.value=``,V(),a(`submitted`)}catch(e){n.error(ut(e))}finally{D.value=!1}}},ae=e=>{e.isComposing||ne(e)||e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),ie())};l(d,async()=>{await M();let e=m.value;e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,160)}px`)});let oe=E(()=>N.value.find(e=>e.agentId===R.value)),se=E(()=>oe.value?.name??``),Z=E(()=>!!I.value&&R.value===I.value),ce=E(()=>{if(!oe.value)return null;let e=oe.value.state;return u.value===`task`?e===`busy`?{tone:`info`,text:r(`composer.k1ww0ftm017`),title:r(`composer.k9eq10w018`)}:e===`stopped`?{tone:`warn`,text:r(`composer.kbhz1rp019`),title:r(`composer.kophjf5020`)}:{tone:`ok`,text:r(`composer.k4qgtiw021`),title:r(`composer.kfmjwas022`)}:e===`busy`?{tone:`info`,text:z.value===`immediate`?r(`composer.kwg68t0023`):r(`composer.k7w1etd024`),title:r(`composer.k9m6p7u025`)}:e===`stopped`?{tone:`warn`,text:r(`composer.kj1ngpo026`),title:r(`composer.kmf7lcc027`)}:{tone:`ok`,text:r(`composer.k1tet5df028`),title:r(`composer.kn600in029`)}}),le=E(()=>u.value===`task`?r(`composer.k2h5jwc030`):r(`composer.k15mwzt7031`));return(e,t)=>{let n=Le,r=it;return b(),k(`div`,Vc,[O(`div`,Hc,[U(H)?(b(),k(`div`,Uc,[O(`div`,Wc,y(e.$t(`composer.k1bxvc46004`)),1),(b(!0),k(j,null,S(U(Y),(e,t)=>(b(),k(`button`,{key:e.agentId,type:`button`,class:x([`mention-opt`,{sel:t===U(K)}]),onMousedown:ee(e=>te(t),[`prevent`]),onMouseenter:e=>K.value=t},[O(`span`,{class:`aw-avatar is-agent mention-ava`,style:p({"--av":U(xt)(e.agentId)})},y(e.name.charAt(0).toUpperCase()),5),O(`span`,Kc,`@`+y(e.name),1),O(`span`,qc,y(e.role),1),O(`span`,{class:x([`mention-state`,e.state]),title:e.state},null,10,Jc)],42,Gc))),128))])):P(``,!0),O(`div`,Yc,[U(u)===`task`?(b(),k(j,{key:0},[O(`span`,Xc,y(e.$t(`composer.k3wcox005`)),1),O(`span`,null,y(U(h)),1),U(h)===`loop`?(b(),k(`span`,Zc,y(e.$t(`composer.k49kr1011`))+` `+y(U(g)??`-`)+`s `,1)):P(``,!0),O(`span`,{class:`chip-target`,title:U(Z)?`未 @ 指定:任务自动路由 lead 调度;@ 某成员可直发`:e.$t(`composer.kl3604i033`,{p0:U(se)})},`→ `+y(U(se)?`@${U(se)}`:`lead`)+y(U(Z)?e.$t(`composer.k2z7yuw012`):e.$t(`composer.k2z0fsx032`)),9,Qc),U(ce)?(b(),k(`span`,{key:1,class:`reach-chip`,"data-tone":U(ce).tone,title:U(ce).title},[t[10]||=O(`span`,{class:`reach-dot`,"aria-hidden":`true`},null,-1),W(y(U(ce).text),1)],8,$c)):P(``,!0),O(`span`,el,y(e.$t(`composer.k17u6q77006`)),1)],64)):(b(),k(j,{key:1},[O(`span`,tl,y(e.$t(`composer.k41ykc007`)),1),U(se)?(b(),k(`span`,nl,`@`+y(U(se))+y(U(Z)?e.$t(`composer.k2z7yuw012`):``),1)):P(``,!0),O(`span`,null,y(U(z)===`immediate`?e.$t(`composer.k1bosqfv013`):e.$t(`composer.k40g8m009`)),1),U(ce)?(b(),k(`span`,{key:1,class:`reach-chip`,"data-tone":U(ce).tone,title:U(ce).title},[t[11]||=O(`span`,{class:`reach-dot`,"aria-hidden":`true`},null,-1),W(y(U(ce).text),1)],8,rl)):P(``,!0),t[12]||=O(`span`,{class:`chip-hint`},`输入 @ 提及成员 · ⌘/Ctrl+Enter 发送`,-1)],64))]),F(O(`textarea`,{ref_key:`taEl`,ref:m,"onUpdate:modelValue":t[0]||=e=>T(d)?d.value=e:null,class:`composer-input`,rows:`1`,placeholder:U(le),onInput:q,onKeydown:ae,onBlur:t[1]||=e=>H.value=!1},null,40,il),[[J,U(d)]]),O(`div`,al,[O(`div`,ol,[O(`div`,sl,[O(`button`,{type:`button`,class:x({on:U(u)===`task`}),onClick:t[2]||=e=>u.value=`task`},y(e.$t(`composer.k3wcox005`)),3),O(`button`,{type:`button`,class:x({on:U(u)===`message`}),onClick:t[3]||=e=>u.value=`message`},y(e.$t(`composer.k41ykc007`)),3)]),w(n,{value:U(R),"onUpdate:value":t[4]||=e=>T(R)?R.value=e:null,size:`small`,class:`target`,options:U(N).map(e=>({value:e.agentId,label:`@ ${e.name}${e.role===`lead`?` · lead`:``}`}))},null,8,[`value`,`options`]),U(u)===`task`?(b(),k(j,{key:0},[O(`div`,cl,[(b(),k(j,null,S([`goal`,`loop`,`pipeline`],e=>O(`button`,{key:e,type:`button`,class:x({on:U(h)===e}),onClick:t=>h.value=e},y(e),11,ll)),64))]),U(h)===`loop`?(b(),k(j,{key:0},[w(r,{value:U(v),"onUpdate:value":t[5]||=e=>T(v)?v.value=e:null,size:`small`,min:1,max:86400,step:1,precision:0,"addon-after":`秒`,class:`loop-number`},null,8,[`value`]),w(r,{value:U(C),"onUpdate:value":t[6]||=e=>T(C)?C.value=e:null,size:`small`,min:1,max:1e4,step:1,precision:0,placeholder:e.$t(`composer.k1b38y2b001`),class:`loop-number iterations`},null,8,[`value`,`placeholder`])],64)):P(``,!0)],64)):(b(),k(j,{key:1},[O(`div`,ul,[O(`button`,{type:`button`,class:x({on:U(z)===`immediate`}),title:e.$t(`composer.k1jqqvhe002`),onClick:t[7]||=e=>z.value=`immediate`},y(e.$t(`composer.k3x9n2008`)),11,dl),O(`button`,{type:`button`,class:x({on:U(z)===`task`}),onClick:t[8]||=e=>z.value=`task`},y(e.$t(`composer.k40g8m009`)),3)]),O(`button`,{type:`button`,class:x([`chip-toggle`,{on:U(B)}]),title:e.$t(`composer.k195594v003`),onClick:t[9]||=e=>B.value=!U(B)},[t[13]||=O(`span`,{class:`i-tabler-mail-forward`},null,-1),W(` `+y(e.$t(`composer.k3xv7u010`)),1)],10,fl)],64))]),O(`div`,pl,[O(`button`,{type:`button`,class:`send-btn im`,disabled:U(D)||!U(d).trim(),title:`发送(⌘/Ctrl+Enter)`,onClick:ie},[...t[14]||=[O(`span`,{class:`i-tabler-send im-nudge-up`},null,-1)]],8,ml)])])])])}}}),[[`__scopeId`,`data-v-f1e383c4`]]),{__name:`WorkshopComposer`}),gl={class:`head`},_l={class:`state-text`},vl={class:`role-chip`},yl={class:`queue-meta`},bl={key:0,class:`current-task`},xl={class:`stream`},Sl={key:0,class:`empty`},Cl={class:`group-title`},wl={class:`state-chip aw-mono`},Tl={class:`qt-title`},El={class:`qt-meta`},Dl={key:0,class:`empty`},Ol={class:`footer`},kl={key:0,class:`member-ops`},Al={class:`op-label`},jl={class:`send-box`},Ml={class:`send-ops`},Nl=520,Pl=Object.assign($(v({__name:`AgentInspectorDrawer`,props:N({channelId:{},agentId:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:N([`removed`],[`update:open`]),setup(e,{emit:t}){let{t:i}=X(),a=e,o=C(e,`open`),s=t,c=Ot(`aw.drawer.agentW`,Nl),l=e=>{c.value=Math.min(900,Math.max(360,c.value-e))},u=vt(),d=bt(),f=wt(),m=E(()=>a.agentId?u.agentById(a.channelId,a.agentId):void 0),h=L(`stream`),g=L(!1),_=async e=>{if(a.agentId){g.value=!0;try{await f.updateChannelAgent(a.channelId,a.agentId,{enabled:+(e===!0),reason:i(e===!0?`agentInspectorDrawer.kgjqkq9014`:`agentInspectorDrawer.kpkjhbz015`)}),n.success(i(e===!0?`agentInspectorDrawer.k3n5z7y016`:`agentInspectorDrawer.k1dst50d017`))}catch(e){n.error(ut(e))}finally{g.value=!1}}},v=L(!1),x=async()=>{if(a.agentId){v.value=!0;try{await f.removeChannelAgent(a.channelId,a.agentId),n.success(i(`agentInspectorDrawer.kane5dq018`)),o.value=!1,s(`removed`,a.agentId)}catch(e){n.error(ut(e))}finally{v.value=!1}}},{blocks:D}=Ga(()=>a.channelId,{predicate:e=>e.agentId===a.agentId,resetKey:()=>a.agentId,raw:!0}),A=E(()=>{let e=u.tasks[a.channelId]??[],t=a.agentId?e.filter(e=>e.assigneeId===a.agentId):[];return{working:t.filter(e=>[`WORKING`,`ASSIGNED`].includes(e.state)),queued:t.filter(e=>e.state===`SUBMITTED`),done:t.filter(e=>[`COMPLETED`,`FAILED`,`CANCELED`].includes(e.state))}}),M=E(()=>m.value?.currentTaskId?u.taskTitle(a.channelId,m.value.currentTaskId):``),N=E(()=>a.agentId&&(d.focusAgents[a.channelId]??null)===a.agentId),F=()=>{a.agentId&&(d.setFocusAgent(a.channelId,N.value?null:a.agentId),n.success(N.value?i(`agentInspectorDrawer.k1p055kl019`):i(`agentInspectorDrawer.ky2fhkf020`)))},R=L(``),B=L(`immediate`),V=L(!1),H=L(!1),G=async()=>{if(!(!a.agentId||!R.value.trim())){H.value=!0;try{await f.injectMessage(a.channelId,{toAgentId:a.agentId,text:R.value.trim(),priority:B.value,requireReply:V.value}),n.success(i(`agentInspectorDrawer.k1y2jrsr021`)),R.value=``}catch(e){n.error(ut(e))}finally{H.value=!1}}},K={idle:`var(--tone-success-dot)`,busy:`var(--tone-info-dot)`,stopped:`var(--tone-neutral-dot)`};return(t,n)=>{let i=Yr,a=r,s=Ba,u=Je,d=qt,f=nc,C=Xe,E=st,L=Ze,J=Ve,Y=Pe,te=tt,ne=at;return b(),I(ne,{open:o.value,"onUpdate:open":n[5]||=e=>o.value=e,placement:`right`,width:U(c),title:U(m)?`${U(m).name}(${U(m).role})`:`Agent`,class:`agent-drawer aw-resizable-drawer`},{default:z(()=>[w(i,{variant:`bare`,class:`drawer-resizer`,label:t.$t(`agentInspectorDrawer.k6hcbxi001`),onResize:l,onReset:n[0]||=e=>c.value=Nl},null,8,[`label`]),U(m)?(b(),k(j,{key:0},[O(`div`,gl,[O(`span`,{class:`dot`,style:p({background:K[U(m).state]??`var(--tone-neutral-dot)`})},null,4),O(`span`,_l,y(U(m).state),1),O(`span`,vl,y(U(m).harness),1),O(`span`,yl,y(t.$t(`agentInspectorDrawer.k498bf010`))+y(U(m).queued??0)+` · `+y(t.$t(`agentInspectorDrawer.k3ypnl022`))+y(U(m).completed??0),1),w(a,{size:`small`,type:U(N)?`primary`:`default`,onClick:F},{default:z(()=>[W(y(U(N)?t.$t(`agentInspectorDrawer.k1bs9x43013`):t.$t(`agentInspectorDrawer.k16t80ax023`)),1)]),_:1},8,[`type`])]),U(M)?(b(),k(`div`,bl,y(t.$t(`agentInspectorDrawer.kk653nv011`))+y(U(M))+`」 `,1)):P(``,!0),w(C,{"active-key":U(h),"onUpdate:activeKey":n[1]||=e=>T(h)?h.value=e:null,size:`small`,class:`drawer-tabs`},{default:z(()=>[w(u,{key:`stream`,tab:`独立输出流`},{default:z(()=>[O(`div`,xl,[U(D).length===0?(b(),k(`div`,Sl,y(t.$t(`agentInspectorDrawer.k1frr9es004`)),1)):P(``,!0),(b(!0),k(j,null,S(U(D),e=>(b(),I(s,{key:e.id,block:e},null,8,[`block`]))),128))])]),_:1}),w(u,{key:`queue`},{tab:z(()=>[W(y(t.$t(`agentInspectorDrawer.k1axbijb005`))+` `,1),w(d,{count:U(A).working.length,"number-style":{backgroundColor:`var(--tone-info-dot)`},size:`small`},null,8,[`count`])]),default:z(()=>[(b(!0),k(j,null,S([[`执行中`,U(A).working],[`待执行`,U(A).queued],[`已完成`,U(A).done]],e=>(b(),k(`div`,{key:e[0],class:`queue-group`},[O(`div`,Cl,y(e[0])+`(`+y(e[1].length)+`) `,1),(b(!0),k(j,null,S(e[1],e=>(b(),k(`div`,{key:e.id,class:`queue-task`},[O(`span`,wl,y(e.state),1),O(`span`,Tl,y(e.title),1),O(`span`,El,y(e.progress)+`%`,1)]))),128)),e[1].length===0?(b(),k(`div`,Dl,` (`+y(t.$t(`agentInspectorDrawer.k43rxk012`)),1)):P(``,!0)]))),128))]),_:1}),w(u,{key:`memory`,tab:`记忆`},{default:z(()=>[w(f,{"channel-id":e.channelId,"agent-id":e.agentId??void 0},null,8,[`channel-id`,`agent-id`])]),_:1})]),_:1},8,[`active-key`]),O(`div`,Ol,[U(m).role===`worker`?(b(),k(`div`,kl,[O(`span`,Al,y(t.$t(`agentInspectorDrawer.kas9m5q006`)),1),w(E,{checked:(U(m).enabled??1)===1,loading:U(g),"checked-children":`启用`,"un-checked-children":`停用`,size:`small`,onChange:_},null,8,[`checked`,`loading`]),w(L,{title:t.$t(`agentInspectorDrawer.k1ofh789002`),"ok-text":`移除`,"cancel-text":`取消`,onConfirm:x},{default:z(()=>[w(a,{size:`small`,danger:``,type:`text`,loading:U(v)},{default:z(()=>[W(y(t.$t(`agentInspectorDrawer.k1hrtylo007`)),1)]),_:1},8,[`loading`])]),_:1},8,[`title`])])):P(``,!0),O(`div`,jl,[w(J,{value:U(R),"onUpdate:value":n[2]||=e=>T(R)?R.value=e:null,"auto-size":{minRows:1,maxRows:3},placeholder:t.$t(`agentInspectorDrawer.kwsotdg003`),onKeydown:q(ee(G,[`ctrl`,`prevent`]),[`enter`])},null,8,[`value`,`placeholder`,`onKeydown`]),O(`div`,Ml,[w(Y,{value:U(B),"onUpdate:value":n[3]||=e=>T(B)?B.value=e:null,size:`small`,options:[{value:`immediate`,label:`即时`},{value:`task`,label:`排队`}]},null,8,[`value`]),w(te,{checked:U(V),"onUpdate:checked":n[4]||=e=>T(V)?V.value=e:null},{default:z(()=>[W(y(t.$t(`agentInspectorDrawer.k1jxt8vh008`)),1)]),_:1},8,[`checked`]),w(a,{type:`primary`,size:`small`,loading:U(H),onClick:G},{default:z(()=>[W(y(t.$t(`agentInspectorDrawer.k3xkc7009`)),1)]),_:1},8,[`loading`])])])])],64)):P(``,!0)]),_:1},8,[`open`,`width`,`title`])}}}),[[`__scopeId`,`data-v-857e6de6`]]),{__name:`WorkshopAgentInspectorDrawer`}),Fl={class:`head`},Il={class:`meta`},Ll={class:`meta`},Rl={key:0,class:`failure-reason`},zl={class:`fr-text`},Bl={key:2,class:`route-reason`},Vl={class:`route-label`},Hl={class:`route-text`},Ul={key:0,class:`empty`},Wl={class:`tl-time`},Gl={key:1,class:`tl-progress`},Kl={key:0,class:`empty`},ql={key:0,class:`empty`},Jl={class:`child-title`},Yl={class:`child-meta`},Xl={class:`raw`},Zl=560,Ql=Object.assign($(v({__name:`TaskInspectorDrawer`,props:N({channelId:{},taskId:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(e){let{t}=X(),i=e,a=C(e,`open`),o=Ot(`aw.drawer.taskW`,Zl),s=e=>{o.value=Math.min(960,Math.max(380,o.value-e))},c=vt(),u=bt(),d=wt(),f=L(null),p=L(!1),m=async()=>{if(i.taskId){p.value=!0;try{let e=await d.getTask(i.taskId);f.value=e.data??null}finally{p.value=!1}}};l(()=>[a.value,i.taskId],()=>{a.value&&i.taskId&&m()});let h=E(()=>i.taskId?c.taskById(i.channelId,i.taskId):void 0),g=E(()=>i.taskId?(c.tasks[i.channelId]??[]).filter(e=>e.parentId===i.taskId):[]),_=E(()=>i.taskId?u.ring(i.channelId).items.filter(e=>e.taskId===i.taskId&&(e.type===`task.status`||e.type===`task.progress`)):[]),v=L(!1),x=async()=>{if(i.taskId){v.value=!0;try{await d.cancelTask(i.taskId),n.success(t(`taskInspectorDrawer.k1xj595a013`)),m()}catch(e){n.error(ut(e))}finally{v.value=!1}}},T=L(!1),D=async()=>{if(i.taskId){T.value=!0;try{await d.retryTask(i.taskId),n.success(t(`taskInspectorDrawer.ke7bh8u014`)),m()}catch(e){n.error(ut(e))}finally{T.value=!1}}},A=e=>c.agentById(i.channelId,e)?.name??e.slice(0,8),M=E(()=>{let e=f.value;if(!e||e.state!==`FAILED`)return``;let t=e.history??[];for(let e=t.length-1;e>=0;e--){let n=(t[e]?.parts??[]).map(e=>e.text??``).join(` `).trim();if(n)return n.slice(0,500)}return e.description?.trim()??``}),N={SUBMITTED:`default`,ASSIGNED:`processing`,WORKING:`processing`,WAITING:`warning`,COMPLETED:`success`,FAILED:`error`,CANCELED:`default`};return(e,t)=>{let n=Yr,i=Ke,c=r,l=Ze,u=rt,d=nt,m=Je,C=Zi,E=Xe,F=ot,L=at;return b(),I(L,{open:a.value,"onUpdate:open":t[1]||=e=>a.value=e,placement:`right`,width:U(o),title:U(f)?.title??U(h)?.title??`任务详情`,class:`aw-resizable-drawer`},{default:z(()=>[w(n,{variant:`bare`,class:`drawer-resizer`,label:e.$t(`taskInspectorDrawer.k6hcbxi001`),onResize:s,onReset:t[0]||=e=>o.value=Zl},null,8,[`label`]),w(F,{spinning:U(p)},{default:z(()=>[U(f)||U(h)?(b(),k(j,{key:0},[O(`div`,Fl,[w(i,{color:N[U(h)?.state??U(f)?.state??``]??`default`},{default:z(()=>[W(y(U(h)?.state??U(f)?.state),1)]),_:1},8,[`color`]),O(`span`,Il,y(e.$t(`taskInspectorDrawer.k3o48o4010`))+y(A(U(h)?.assigneeId??U(f)?.assigneeId??``)),1),O(`span`,Ll,y(U(h)?.progress??U(f)?.progress??0)+`%`,1),t[2]||=O(`div`,{class:`spacer`},null,-1),(U(h)?.state??U(f)?.state)===`FAILED`?(b(),I(l,{key:0,title:e.$t(`taskInspectorDrawer.kns2a6x002`),onConfirm:D},{default:z(()=>[w(c,{size:`small`,loading:U(T)},{default:z(()=>[W(y(e.$t(`taskInspectorDrawer.k1lcgf2b005`)),1)]),_:1},8,[`loading`])]),_:1},8,[`title`])):P(``,!0),w(l,{title:e.$t(`taskInspectorDrawer.k1a7jqb9003`),onConfirm:x},{default:z(()=>[w(c,{danger:``,size:`small`,loading:U(v),disabled:[`COMPLETED`,`CANCELED`,`FAILED`].includes(U(h)?.state??U(f)?.state??``)},{default:z(()=>[W(y(e.$t(`taskInspectorDrawer.k1bs0t9b006`)),1)]),_:1},8,[`loading`,`disabled`])]),_:1},8,[`title`])]),(U(h)?.state??U(f)?.state)===`FAILED`&&U(M)?(b(),k(`div`,Rl,[t[3]||=O(`span`,{class:`fr-label`},`失败原因`,-1),O(`span`,zl,y(U(M)),1)])):P(``,!0),U(f)?.description?(b(),I(d,{key:1,column:1,size:`small`,class:`desc`},{default:z(()=>[w(u,{label:e.$t(`taskInspectorDrawer.k40gkk004`)},{default:z(()=>[W(y(U(f).description),1)]),_:1},8,[`label`])]),_:1})):P(``,!0),U(f)?.routeReason?(b(),k(`div`,Bl,[O(`span`,Vl,y(e.$t(`taskInspectorDrawer.k1knph8c007`)),1),O(`span`,Hl,y(U(f).routeReason),1)])):P(``,!0),w(E,{size:`small`,"default-active-key":`timeline`},{default:z(()=>[w(m,{key:`timeline`,tab:`状态时间线`},{default:z(()=>[U(_).length===0?(b(),k(`div`,Ul,y(e.$t(`taskInspectorDrawer.kr3vr2x008`)),1)):P(``,!0),(b(!0),k(j,null,S(U(_),t=>(b(),k(`div`,{key:`${t.seq}-${t.type}`,class:`tl-row`},[O(`span`,Wl,y(U(Et)(t.at)),1),t.type===`task.status`?(b(),I(i,{key:0,color:N[t.payload.state]??`default`,class:`state`},{default:z(()=>[W(y(t.payload.state),1)]),_:2},1032,[`color`])):(b(),k(`span`,Gl,y(e.$t(`taskInspectorDrawer.k485ye011`))+` `+y(t.payload.progress)+`%`,1))]))),128))]),_:1}),w(m,{key:`artifacts`,tab:e.$t(`taskInspectorDrawer.kkp77tf015`,{p0:U(f)?.artifacts.length??0})},{default:z(()=>[U(f)?.artifacts.length?P(``,!0):(b(),k(`div`,Kl,` (`+y(e.$t(`taskInspectorDrawer.k401n2012`)),1)),(b(!0),k(j,null,S(U(f)?.artifacts??[],e=>(b(),I(C,{key:e.artifactId,artifact:e},null,8,[`artifact`]))),128))]),_:1},8,[`tab`]),w(m,{key:`children`,tab:e.$t(`taskInspectorDrawer.khnua62016`,{p0:U(g).length})},{default:z(()=>[U(g).length===0?(b(),k(`div`,ql,y(e.$t(`taskInspectorDrawer.k1kmqn5u009`)),1)):P(``,!0),(b(!0),k(j,null,S(U(g),e=>(b(),k(`div`,{key:e.id,class:`child-row`},[w(i,{color:N[e.state]??`default`,class:`state`},{default:z(()=>[W(y(e.state),1)]),_:2},1032,[`color`]),O(`span`,Jl,y(e.title),1),O(`span`,Yl,y(A(e.assigneeId))+` · `+y(e.progress)+`%`,1)]))),128))]),_:1},8,[`tab`]),w(m,{key:`raw`,tab:e.$t(`taskInspectorDrawer.kxj74io017`,{p0:U(f)?.artifacts.reduce((e,t)=>e+t.parts.length,0)??0})},{default:z(()=>[O(`pre`,Xl,y(JSON.stringify(U(f)?.artifacts,null,2)?.slice(0,4e3)),1)]),_:1},8,[`tab`])]),_:1})],64)):P(``,!0)]),_:1},8,[`spinning`])]),_:1},8,[`open`,`width`,`title`])}}}),[[`__scopeId`,`data-v-4130ad00`]]),{__name:`WorkshopTaskInspectorDrawer`}),$l={class:`dbg`},eu={class:`row`},tu={class:`row`},nu={class:`row ops`},ru={class:`output`},iu=600,au=Object.assign($(v({__name:`A2aRpcDebugger`,props:N({channelId:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(e){let{t}=X(),i=e,a=C(e,`open`),o=Ot(`aw.drawer.a2aW`,iu),s=e=>{o.value=Math.min(1040,Math.max(420,o.value-e))},c=vt(),u=E(()=>c.agents[i.channelId]??[]),d=L(``);l(u,e=>{!d.value&&e.length>0&&(d.value=e[0]?.agentId??``)},{immediate:!0});let f=L(`tasks/list`),p=[{value:`tasks/list`,label:`tasks/list`},{value:`tasks/get`,label:`tasks/get`},{value:`tasks/send`,label:`tasks/send`},{value:`tasks/sendSubscribe`,label:`tasks/sendSubscribe(SSE 流)`,sse:!0},{value:`message/send`,label:`message/send(需 token)`},{value:`agent/getCard`,label:`agent/getCard`}],m=L(`{}`),h=L(``),g=L(!1),_=L(``),v=()=>{switch(f.value){case`tasks/send`:case`tasks/sendSubscribe`:return{message:{role:`ROLE_USER`,parts:[{text:t(`a2aRpcDebugger.kq00d3v005`)}]}};case`tasks/get`:return{taskId:`<taskId>`};case`message/send`:return{message:{role:`ROLE_USER`,parts:[{text:t(`a2aRpcDebugger.k1kgwib8006`)}]}};default:return{}}},x=e=>{_.value+=`${e}\n`},S=async e=>{let n=await fetch(`/api/workshop/a2a/${d.value}/rpc`,{method:`POST`,headers:{"content-type":`application/json`,accept:`text/event-stream`,...h.value?{authorization:`Bearer ${h.value}`}:{}},body:JSON.stringify(e)});if(x(`▶ HTTP ${n.status} ${n.headers.get(`content-type`)??``}`),!n.body){x(await n.text());return}let r=n.body.getReader(),i=new TextDecoder,a=``;for(;;){let{done:e,value:t}=await r.read();if(e)break;a+=i.decode(t,{stream:!0});let n=a.split(`
16
-
17
- `);a=n.pop()??``;for(let e of n){let t=e.split(`
18
- `).find(e=>e.startsWith(`data:`));t&&x(`◀ ${t.slice(5).trim().slice(0,400)}`)}}x(t(`a2aRpcDebugger.k1e1hi4u007`))},D=async()=>{if(!d.value){n.warning(t(`a2aRpcDebugger.k1vryfv008`));return}let e;try{e=JSON.parse(m.value||`{}`)}catch{n.error(`params 不是合法 JSON`);return}g.value=!0,_.value=``;let r={jsonrpc:`2.0`,id:Date.now(),method:f.value,params:e};try{if(f.value===`tasks/sendSubscribe`)await S(r);else{let e=await fetch(`/api/workshop/a2a/${d.value}/rpc`,{method:`POST`,headers:{"content-type":`application/json`,...h.value?{authorization:`Bearer ${h.value}`}:{}},body:JSON.stringify(r)}),t=await e.text();x(`▶ POST /a2a/${d.value.slice(0,8)}/rpc ${f.value} → HTTP ${e.status}`),x(t.slice(0,4e3))}}catch(e){x(`✖ ${ut(e)}`)}finally{g.value=!1}};return(e,t)=>{let n=Yr,i=Le,c=Be,l=Ve,x=r,S=at;return b(),I(S,{open:a.value,"onUpdate:open":t[6]||=e=>a.value=e,placement:`right`,width:U(o),title:`A2A RPC / SSE 调试器`,class:`aw-resizable-drawer`},{default:z(()=>[w(n,{variant:`bare`,class:`drawer-resizer`,label:e.$t(`a2aRpcDebugger.k6hcbxi001`),onResize:s,onReset:t[0]||=e=>o.value=iu},null,8,[`label`]),O(`div`,$l,[O(`div`,eu,[w(i,{value:U(d),"onUpdate:value":t[1]||=e=>T(d)?d.value=e:null,class:`agent`,placeholder:e.$t(`a2aRpcDebugger.k34cz76002`),options:U(u).map(e=>({value:e.agentId,label:`${e.name}(${e.role})`}))},null,8,[`value`,`placeholder`,`options`]),w(i,{value:U(f),"onUpdate:value":t[2]||=e=>T(f)?f.value=e:null,class:`method`,options:p},null,8,[`value`])]),w(c,{value:U(h),"onUpdate:value":t[3]||=e=>T(h)?h.value=e:null,size:`small`,placeholder:`Bearer token(message/send 需要;留空匿名)`,class:`token`},null,8,[`value`]),O(`div`,tu,[w(l,{value:U(m),"onUpdate:value":t[4]||=e=>T(m)?m.value=e:null,rows:6,class:`params`},null,8,[`value`])]),O(`div`,nu,[w(x,{size:`small`,onClick:t[5]||=e=>m.value=JSON.stringify(v(),null,2)},{default:z(()=>[W(y(e.$t(`a2aRpcDebugger.k1bqe2pj003`)),1)]),_:1}),w(x,{type:`primary`,size:`small`,loading:U(g),onClick:D},{default:z(()=>[W(y(e.$t(`a2aRpcDebugger.k405w8004`)),1)]),_:1},8,[`loading`])]),O(`pre`,ru,y(U(_)||`(输出;sendSubscribe 将逐条渲染 SSE 事件)`),1)])]),_:1},8,[`open`,`width`])}}}),[[`__scopeId`,`data-v-56f080d0`]]),{__name:`WorkshopA2aRpcDebugger`}),ou={class:`palette`},su={class:`palette-search`},cu=[`placeholder`],lu={class:`palette-list`},uu=[`onClick`,`onMousemove`],du={class:`pi-label`},fu={key:0,class:`pi-hint`},pu={key:0,class:`palette-empty`},mu={class:`palette-foot`},hu=Object.assign($(v({__name:`CommandPalette`,props:N({wsId:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:N([`setView`,`openA2aDebug`,`compose`],[`update:open`]),setup(e,{emit:t}){let{t:n}=X(),r=e,i=C(e,`open`),a=lt(),o=vt(),s=bt(),c=t,u=L(``),d=L(0),f=E(()=>{let e=[{key:`nav-home`,label:n(`commandPalette.kmxxk3u006`),hint:`/workshop`,run:()=>ne(`/workshop`)},{key:`nav-agents`,label:n(`commandPalette.k4s8e5q007`),hint:`/workshop/agents`,run:()=>ne(`/workshop/agents`)},{key:`nav-teams`,label:`前往:AgentTeam 编组库`,hint:`/workshop/teams`,run:()=>ne(`/workshop/teams`)},{key:`nav-channel-templates`,label:n(`commandPalette.k1ezz11x008`),hint:`/workshop/channel-templates`,run:()=>ne(`/workshop/channel-templates`)},{key:`view-timeline`,label:n(`commandPalette.k143z9bg009`),run:()=>{c(`setView`,`timeline`)}},{key:`view-lanes`,label:`视图:Agent lanes`,run:()=>{c(`setView`,`lanes`)}},{key:`view-board`,label:n(`commandPalette.k13ztmim010`),run:()=>{c(`setView`,`board`)}},{key:`view-split`,label:n(`commandPalette.k21cpnp011`),run:()=>{c(`setView`,`split`)}},{key:`act-compose`,label:n(`commandPalette.k1tm54il012`),hint:`⌘I`,run:()=>{c(`compose`)}},{key:`act-a2a`,label:`动作:A2A RPC/SSE 调试器`,run:()=>{c(`openA2aDebug`)}}];for(let t of a.workspaces.find(e=>e.id===r.wsId)?.channelIds??[]){let i=o.channels[t]?.name??t.slice(0,8);e.push({key:`ch-${t}`,label:n(`commandPalette.k1nz14ux013`,{p0:i}),hint:t.slice(0,8),run:()=>a.setActiveChannel(r.wsId,t)})}let t=a.workspaces.find(e=>e.id===r.wsId)?.activeChannelId;if(t){let r=s.filters[t]??`all`;for(let i of[`all`,`messages`,`tasks`,`errors`])i!==r&&e.push({key:`filter-${i}`,label:n(`commandPalette.k1d8xtez014`,{p0:i}),run:()=>s.setFilter(t,i)})}return e}),p=E(()=>{let e=u.value.trim().toLowerCase();return e?f.value.filter(t=>t.label.toLowerCase().includes(e)||(t.hint??``).toLowerCase().includes(e)):f.value});l(p,()=>{d.value=0});let m=e=>{let t=e??p.value[d.value];t&&(t.run(),i.value=!1,u.value=``)},h=e=>{e.key===`ArrowDown`?(e.preventDefault(),d.value=Math.min(d.value+1,p.value.length-1)):e.key===`ArrowUp`?(e.preventDefault(),d.value=Math.max(d.value-1,0)):e.key===`Enter`?(e.preventDefault(),m()):e.key===`Escape`&&(i.value=!1)},v=e=>{(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`k`&&(e.preventDefault(),i.value=!i.value,u.value=``)};return _(()=>window.addEventListener(`keydown`,v)),g(()=>window.removeEventListener(`keydown`,v)),(e,t)=>(b(),I(R,{to:`body`},[i.value?(b(),k(`div`,{key:0,class:`palette-mask`,onClick:t[1]||=ee(e=>i.value=!1,[`self`])},[O(`div`,ou,[O(`div`,su,[t[2]||=O(`span`,{class:`i-tabler-search ps-icon`},null,-1),F(O(`input`,{"onUpdate:modelValue":t[0]||=e=>T(u)?u.value=e:null,class:`palette-input`,placeholder:e.$t(`commandPalette.k1nn6i83001`),autofocus:``,onKeydown:h},null,40,cu),[[J,U(u)]])]),O(`div`,lu,[(b(!0),k(j,null,S(U(p),(e,t)=>(b(),k(`button`,{key:e.key,type:`button`,class:x([`palette-item`,{selected:t===U(d)}]),onClick:t=>m(e),onMousemove:e=>d.value=t},[O(`span`,du,y(e.label),1),e.hint?(b(),k(`span`,fu,y(e.hint),1)):P(``,!0)],42,uu))),128)),U(p).length===0?(b(),k(`div`,pu,y(e.$t(`commandPalette.ktup4q4002`)),1)):P(``,!0)]),O(`div`,mu,[t[3]||=O(`kbd`,null,`↑↓`,-1),W(` `+y(e.$t(`commandPalette.k1kvl0fa003`))+` `,1),t[4]||=O(`kbd`,null,`↵`,-1),W(` `+y(e.$t(`commandPalette.k1e3ualj004`))+` `,1),t[5]||=O(`kbd`,null,`esc`,-1),W(` `+y(e.$t(`commandPalette.k3x62t005`)),1)])])])):P(``,!0)]))}}),[[`__scopeId`,`data-v-b72e120a`]]),{__name:`WorkshopCommandPalette`}),gu={class:`harness`},_u={class:`topbar`},vu={class:`ws-name`},yu=[`title`],bu={class:`right`},xu=[`title`],Su=[`title`],Cu=[`title`],wu=[`data-state`],Tu={class:`seq`},Eu={class:`main`},Du={class:`left-scroll`},Ou={class:`center-pane`},ku={key:1,class:`pane-empty`},Au={class:`pe-title`},ju={class:`pe-sub`},Mu={key:1,class:`pane-loading`},Nu=248,Pu=300,Fu=$(v({__name:`[wsId]`,setup(e){let{t}=X();Tt({layout:`default`});let n=re(),r=E(()=>String(n.params.wsId)),i=ct(),a=lt(),o=L(!1);_(()=>{if(!i.isLoggedIn){ne(`/workshop`);return}o.value=!0,a.loaded||a.load().catch(()=>{})});let s=vt(),{subscribe:c,unsubscribe:u,conn:d}=St(),m=E(()=>a.workspaces.find(e=>e.id===r.value)),h=E(()=>{let e=m.value;if(!e)return;let t=e.channelIds,n=e.activeChannelId;return n&&t.includes(n)?n:t[0]});l(()=>[r.value,m.value?.channelIds.join(`,`)??``],()=>{let e=new Set(m.value?.channelIds??[]);for(let t of e)c(t)},{immediate:!0}),l(()=>m.value?.channelIds.join(`,`)??``,(e,t)=>{if(t===void 0)return;let n=new Set(m.value?.channelIds??[]);for(let e of t.split(`,`).filter(Boolean))n.has(e)||u(e)}),g(()=>{for(let e of m.value?.channelIds??[])u(e)});let v=E(()=>d.state===`open`?`var(--tone-success-dot)`:d.state===`connecting`?`var(--tone-warning-dot)`:`var(--tone-danger-dot)`),S=E(()=>h.value?d.cursors[h.value]??0:0),C={1:`timeline`,2:`lanes`,3:`board`,4:`split`,5:`town`},D=new Set([`timeline`,`lanes`,`board`,`split`,`town`]),A=n.query.view,M=L(typeof A==`string`&&D.has(A)?A:`timeline`),N=[{value:`timeline`,label:t(`wsView.k3otu32010`)},{value:`lanes`,label:`Agent lanes`},{value:`board`,label:t(`wsView.k3ko7a8011`)},{value:`split`,label:t(`wsView.k3xbmo012`)},{value:`town`,label:t(`wsView.k1cz0pbw013`)}],F=e=>{if(e.metaKey||e.ctrlKey||e.altKey)return;let t=e.target;if(t&&(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable))return;let n=C[e.key];!n||!h.value||(e.preventDefault(),M.value=n)};_(()=>window.addEventListener(`keydown`,F)),g(()=>window.removeEventListener(`keydown`,F));let R=L(!0),z=L(!0),B=Ot(`aw.harness.leftW`,Nu),V=Ot(`aw.harness.rightW`,Pu),H=e=>{B.value=Math.min(460,Math.max(220,B.value+e))},G=e=>{V.value=Math.min(560,Math.max(240,V.value-e))};H(0),G(0);let K=L(!1),q=L(null),ee=e=>{q.value=e,K.value=!0},J=e=>{a.setActiveChannel(r.value,e.channelId),ee(e.agentId)};f(`aw:open-agent`,J);let Y=L(!1),te=L(null),ae=e=>{te.value=e,Y.value=!0},oe=L(!1),se=L(!1),Z=L(null),ce=()=>{Z.value?.querySelector(`textarea`)?.focus()};return ie({title:()=>`${m.value?.name??`Workspace`} · AgentWorkShop`}),(e,t)=>{let n=Kn,i=Pe,o=jr,c=qr,l=Yr,u=ho,f=Jo,g=Ds,_=Bs,C=kt,E=Bc,D=hl,A=Pl,L=Ql,ne=au,re=hu;return b(),k(`div`,gu,[w(n),O(`div`,_u,[O(`div`,{class:`left`,tabindex:`-1`,onKeydown:F},[t[14]||=O(`span`,{class:`topbar-mark i-tabler-box`},null,-1),O(`span`,vu,y(U(m)?.name??`未知 Workspace`),1),U(h)?(b(),k(`span`,{key:0,class:`chan-chip`,title:U(h)},[t[13]||=O(`span`,{class:`chan-hash`},`#`,-1),W(y(U(s).channels[U(h)]?.name??U(h).slice(0,8)),1)],8,yu)):P(``,!0),U(h)?(b(),I(i,{key:1,value:U(M),"onUpdate:value":t[0]||=e=>T(M)?M.value=e:null,size:`small`,options:N,class:`view-switch`,title:e.$t(`wsView.kqwckjr001`),onKeydown:F},null,8,[`value`,`title`])):P(``,!0)],32),O(`div`,bu,[O(`button`,{class:x([`pane-toggle im`,{off:!U(R)}]),title:e.$t(`wsView.k1tsy2e4002`),onClick:t[1]||=e=>R.value=!U(R)},[...t[15]||=[O(`span`,{class:`i-tabler-layout-sidebar-left-collapse im-pop`},null,-1)]],10,xu),O(`button`,{class:x([`pane-toggle im`,{off:!U(z)}]),title:e.$t(`wsView.k1tx0ppf003`),onClick:t[2]||=e=>z.value=!U(z)},[...t[16]||=[O(`span`,{class:`i-tabler-layout-sidebar-right-collapse im-pop`},null,-1)]],10,Su),O(`button`,{class:`pane-toggle im`,title:`A2A RPC/SSE 调试器`,onClick:t[3]||=e=>se.value=!0},[...t[17]||=[O(`span`,{class:`i-tabler-terminal-2 im-pop`},null,-1)]]),O(`button`,{class:`pane-toggle im`,title:e.$t(`wsView.k1cvg8sb004`),onClick:t[4]||=e=>oe.value=!0},[...t[18]||=[O(`span`,{class:`i-tabler-command im-pop`},null,-1)]],8,Cu),O(`span`,{class:`dot`,style:p({background:U(v)})},null,4),O(`span`,{class:`ws-state`,"data-state":U(d).state},y(U(d).state),9,wu),O(`span`,Tu,`seq `+y(U(S)),1)])]),O(`div`,Eu,[U(R)?(b(),k(`div`,{key:0,class:`left-pane`,style:p({flexBasis:`${U(B)}px`})},[O(`div`,Du,[w(o,{"ws-id":U(r)},null,8,[`ws-id`])]),w(c,{"ws-id":U(r),onOpenAgent:J},null,8,[`ws-id`])],4)):P(``,!0),U(R)?(b(),I(l,{key:1,label:e.$t(`wsView.k1fkfvra005`),onResize:H,onReset:t[5]||=e=>B.value=Nu},null,8,[`label`])):P(``,!0),O(`div`,Ou,[U(h)?(b(),k(j,{key:0},[U(M)===`timeline`?(b(),I(u,{key:0,"channel-id":U(h)},null,8,[`channel-id`])):U(M)===`lanes`?(b(),I(f,{key:1,"channel-id":U(h)},null,8,[`channel-id`])):U(M)===`board`?(b(),I(g,{key:2,"channel-id":U(h),onOpenTask:ae},null,8,[`channel-id`])):U(M)===`split`?(b(),I(_,{key:3,"ws-id":U(r),onOpenTask:ae},null,8,[`ws-id`])):U(M)===`town`?(b(),I(C,{key:4,"channel-id":U(h)},null,8,[`channel-id`])):P(``,!0)],64)):(b(),k(`div`,ku,[t[20]||=O(`span`,{class:`pe-icon i-tabler-messages`},null,-1),O(`div`,Au,[W(y(e.$t(`wsView.klzbtyp007`))+` `,1),t[19]||=O(`span`,{class:`aw-serif-accent-italic`},`Channel`,-1),W(` `+y(e.$t(`wsView.k3zaj4008`)),1)]),O(`div`,ju,y(e.$t(`wsView.k1us0cxy009`)),1)]))]),U(z)?(b(),I(l,{key:2,label:e.$t(`wsView.kwqb0st006`),onResize:G,onReset:t[6]||=e=>V.value=Pu},null,8,[`label`])):P(``,!0),U(z)?(b(),k(`div`,{key:3,class:x([`right-pane`,{empty:U(a).loaded&&!U(h)}]),style:p({flexBasis:`${U(V)}px`})},[U(h)?(b(),I(E,{key:0,"channel-id":U(h),onOpenAgent:ee,onOpenTask:ae},null,8,[`channel-id`])):U(a).loaded?P(``,!0):(b(),k(`div`,Mu,` 正在加载 Workspace… `))],6)):P(``,!0)]),U(h)?(b(),k(`div`,{key:0,ref_key:`composerBox`,ref:Z,class:`composer-pane`},[w(D,{"channel-id":U(h)},null,8,[`channel-id`]),w(A,{open:U(K),"onUpdate:open":t[7]||=e=>T(K)?K.value=e:null,"channel-id":U(h)??``,"agent-id":U(q)},null,8,[`open`,`channel-id`,`agent-id`]),w(L,{open:U(Y),"onUpdate:open":t[8]||=e=>T(Y)?Y.value=e:null,"channel-id":U(h)??``,"task-id":U(te)},null,8,[`open`,`channel-id`,`task-id`]),w(ne,{open:U(se),"onUpdate:open":t[9]||=e=>T(se)?se.value=e:null,"channel-id":U(h)??``},null,8,[`open`,`channel-id`]),w(re,{open:U(oe),"onUpdate:open":t[10]||=e=>T(oe)?oe.value=e:null,"ws-id":U(r),onSetView:t[11]||=e=>M.value=e,onOpenA2aDebug:t[12]||=e=>se.value=!0,onCompose:ce},null,8,[`open`,`ws-id`])],512)):P(``,!0)])}}}),[[`__scopeId`,`data-v-f2913902`]]);export{Fu as default};
@@ -1 +0,0 @@
1
- import{a as e}from"./BU83-NnX.js";import{C as t}from"./DdD9mCHM.js";import{R as n,S as ee,Ut as r,V as i,Vt as a,W as o,d as s,dt as c,f as l,h as u,i as d,m as f,nt as p,p as te,pt as m,s as ne,xt as h,y as g}from"./CSkxz2NX.js";import{c as _,d as re,f as ie,l as v}from"./D6uzXueg.js";import{t as y}from"./BDNMzG2s2.js";import{t as ae}from"./D0ZBQrN_2.js";import{t as oe}from"./BNT8gYU92.js";import{t as se}from"./D20Yamr4.js";import{t as ce}from"./CdPzkOMV.js";var le={class:`page`},ue={class:`aw-page-head`},de={class:`sub`},fe={class:`head-actions`},pe=[`title`],b={class:`live-txt mono`},x={class:`filter-card`},S={class:`flt`},C={value:``},w=[`value`],T={class:`flt`},E={value:``},D=[`value`],O={class:`flt`},k={value:``},A=[`value`],j={class:`flt`},M={value:``},N={value:`user`},P={value:`system`},F={class:`flt`},I={value:``},L=[`value`],R={class:`flt flt-grow`},z=[`placeholder`],B=[`disabled`],me={class:`table-card`},he={key:0,class:`err`},ge={class:`log-table`},_e={class:`th-time`},ve={class:`th-src`},ye={class:`th-kind`},be={class:`th-scope`},xe={class:`th-detail`},Se={class:`mono dim`},Ce={class:`actor`},we={class:`summary`},Te={class:`mono dim action`},Ee={class:`scope`},De=[`title`],Oe=[`title`],ke={key:2,class:`scope-chip`,title:`Recipe`},Ae={key:3,class:`dim`},je={class:`detail-cell`},Me=[`onClick`],V={key:1,class:`dim`},Ne={key:0},Pe={colspan:`7`,class:`detail-td`},Fe={class:`detail-box mono`},Ie={key:0,colspan:`7`,class:`empty`},Le={class:`modal`},Re={class:`m-title`},ze={class:`m-f`},Be=[`placeholder`],Ve={class:`m-f`},He=[`placeholder`],Ue={class:`m-grid`},We={class:`m-f`},Ge={value:``},Ke=[`value`],qe={class:`m-f`},Je={value:``},Ye=[`value`],Xe={class:`m-f`},Ze={value:``},Qe=[`value`],$e={key:0,class:`err`},et={class:`m-actions`},tt=[`disabled`],H=y(ee({name:`OpsLogsPage`,setup(ee){let y=e=>t().$i18n.t(e),H=se(),nt=oe(),U=ce(),rt=[`write`,`manual`,`alarm`,`line`,`recipe`,`rollback`,`daq`,`system`],W=c({lineId:``,productId:``,recipeId:``,actorKind:``,kind:``,text:``}),G=m(null),K=m(!1),q=c({summary:``,detail:``,lineId:``,productId:``,recipeId:``}),it=s(()=>!!(W.lineId||W.productId||W.recipeId||W.actorKind||W.kind||W.text.trim())),J=s(()=>H.products.filter(e=>!W.lineId||e.lineId===W.lineId)),Y=s(()=>H.recipes.filter(e=>(!W.lineId||e.lineId===W.lineId)&&(!W.productId||e.productId===W.productId)));function X(){U.fetchLogs({lineId:W.lineId,productId:W.productId,recipeId:W.recipeId,actorKind:W.actorKind,kind:W.kind,q:W.text.trim(),limit:300}),G.value=null}function at(){W.lineId=``,W.productId=``,W.recipeId=``,W.actorKind=``,W.kind=``,W.text=``,X()}function ot(){q.summary=``,q.detail=``,q.lineId=W.lineId,q.productId=W.productId,q.recipeId=W.recipeId,K.value=!0}async function st(){try{let t=q.detail.trim();await U.postManual({summary:q.summary.trim(),lineId:q.lineId,productId:q.productId,recipeId:q.recipeId,...t?{detail:{note:t}}:{}}),e.success(y(`logs.mOk`)),K.value=!1,X()}catch(t){e.error(ae(t))}}function ct(e){return!!e.detailJson&&e.detailJson!==`{}`}function lt(e){G.value=G.value===e.id?null:e.id}function ut(e){try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}}function dt(e){let t=new Date(e);if(!Number.isFinite(t.getTime()))return e;let n=e=>String(e).padStart(2,`0`);return`${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`}function ft(e){return e===`agent`?`Agent`:y(e===`user`?`logs.src.user`:`logs.src.system`)}function pt(e){return e?y(`logs.kind.${e}`):`—`}function Z(e){return H.lines.find(t=>t.id===e)?.name??``}function Q(e){return H.products.find(t=>t.id===e)?.name??``}function $(e){return H.recipes.find(t=>t.id===e)?.name??``}return n(()=>{nt.ensureConnected(),U.ensureLive(),H.load(),X()}),(e,t)=>(i(),u(`div`,le,[l(`header`,ue,[l(`div`,null,[t[17]||=l(`p`,{class:`aw-kicker`},` agentworkshop / audit log `,-1),l(`h1`,null,r(e.$t(`logs.title`)),1),l(`p`,de,r(e.$t(`logs.sub`)),1)]),l(`div`,fe,[l(`span`,{class:`live-dot`,title:e.$t(`logs.liveHint`)},null,8,pe),l(`span`,b,r(e.$t(`logs.live`))+` `+r(h(U).recent.length),1),l(`button`,{class:`pill-btn`,onClick:ot},[t[18]||=l(`span`,{class:`i-tabler-plus`},null,-1),g(` `+r(e.$t(`logs.manual`)),1)])])]),l(`section`,x,[l(`label`,S,[l(`span`,null,r(e.$t(`logs.fLine`)),1),p(l(`select`,{"onUpdate:modelValue":t[0]||=e=>W.lineId=e,class:`inp-sel`,onChange:t[1]||=e=>{W.productId=``,W.recipeId=``}},[l(`option`,C,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(h(H).lines,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,w))),128))],544),[[_,W.lineId]])]),l(`label`,T,[l(`span`,null,r(e.$t(`logs.fProduct`)),1),p(l(`select`,{"onUpdate:modelValue":t[2]||=e=>W.productId=e,class:`inp-sel`,onChange:t[3]||=e=>W.recipeId=``},[l(`option`,E,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(J.value,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,D))),128))],544),[[_,W.productId]])]),l(`label`,O,[t[19]||=l(`span`,null,`Recipe`,-1),p(l(`select`,{"onUpdate:modelValue":t[4]||=e=>W.recipeId=e,class:`inp-sel`},[l(`option`,k,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(Y.value,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,A))),128))],512),[[_,W.recipeId]])]),l(`label`,j,[l(`span`,null,r(e.$t(`logs.fSource`)),1),p(l(`select`,{"onUpdate:modelValue":t[5]||=e=>W.actorKind=e,class:`inp-sel`},[l(`option`,M,r(e.$t(`logs.all`)),1),l(`option`,N,r(e.$t(`logs.src.user`)),1),t[20]||=l(`option`,{value:`agent`},` Agent `,-1),l(`option`,P,r(e.$t(`logs.src.system`)),1)],512),[[_,W.actorKind]])]),l(`label`,F,[l(`span`,null,r(e.$t(`logs.fKind`)),1),p(l(`select`,{"onUpdate:modelValue":t[6]||=e=>W.kind=e,class:`inp-sel`},[l(`option`,I,r(e.$t(`logs.all`)),1),(i(),u(d,null,o(rt,t=>l(`option`,{key:t,value:t},r(e.$t(`logs.kind.${t}`)),9,L)),64))],512),[[_,W.kind]])]),l(`label`,R,[l(`span`,null,r(e.$t(`logs.fKeyword`)),1),p(l(`input`,{"onUpdate:modelValue":t[7]||=e=>W.text=e,class:`inp-sel`,type:`search`,placeholder:e.$t(`logs.fKeywordPh`),onKeydown:re(X,[`enter`])},null,40,z),[[v,W.text]])]),l(`button`,{class:`pill-btn`,disabled:h(U).loading.list,onClick:X},[t[21]||=l(`span`,{class:`i-tabler-search`},null,-1),g(` `+r(e.$t(`logs.query`)),1)],8,B),it.value?(i(),u(`button`,{key:0,class:`mini-btn`,onClick:at},r(e.$t(`logs.reset`)),1)):f(``,!0)]),l(`section`,me,[h(U).error.list?(i(),u(`p`,he,r(h(U).error.list),1)):f(``,!0),l(`table`,ge,[l(`thead`,null,[l(`tr`,null,[l(`th`,_e,r(e.$t(`logs.thTime`)),1),l(`th`,ve,r(e.$t(`logs.fSource`)),1),l(`th`,null,r(e.$t(`logs.thActor`)),1),l(`th`,ye,r(e.$t(`logs.fKind`)),1),l(`th`,null,r(e.$t(`logs.thSummary`)),1),l(`th`,be,r(e.$t(`logs.thScope`)),1),l(`th`,xe,r(e.$t(`logs.thDetail`)),1)])]),l(`tbody`,null,[(i(!0),u(d,null,o(h(U).results,t=>(i(),u(d,{key:t.id},[l(`tr`,null,[l(`td`,Se,r(dt(t.at)),1),l(`td`,null,[l(`span`,{class:a([`src-badge`,t.actorKind])},r(ft(t.actorKind)),3)]),l(`td`,Ce,r(t.actorName||t.actor||`—`),1),l(`td`,null,[l(`span`,{class:a([`kind-chip`,t.kind])},r(pt(t.kind)),3)]),l(`td`,we,[g(r(t.summary)+` `,1),l(`small`,Te,r(t.action),1)]),l(`td`,Ee,[Z(t.lineId)?(i(),u(`span`,{key:0,class:`scope-chip`,title:e.$t(`logs.fLine`)},r(Z(t.lineId)),9,De)):f(``,!0),Q(t.productId)?(i(),u(`span`,{key:1,class:`scope-chip`,title:e.$t(`logs.fProduct`)},r(Q(t.productId)),9,Oe)):f(``,!0),$(t.recipeId)?(i(),u(`span`,ke,r($(t.recipeId)),1)):f(``,!0),!t.lineId&&!t.productId&&!t.recipeId?(i(),u(`span`,Ae,`—`)):f(``,!0)]),l(`td`,je,[ct(t)?(i(),u(`button`,{key:0,class:`mini-btn`,onClick:e=>lt(t)},r(G.value===t.id?e.$t(`logs.fold`):e.$t(`logs.expand`)),9,Me)):(i(),u(`span`,V,r(e.$t(`logs.noDetail`)),1))])]),G.value===t.id?(i(),u(`tr`,Ne,[l(`td`,Pe,[l(`pre`,Fe,r(ut(t.detailJson)),1)])])):f(``,!0)],64))),128)),l(`tr`,null,[h(U).results.length===0?(i(),u(`td`,Ie,[h(U).loading.list?(i(),u(d,{key:0},[g(r(e.$t(`logs.loading`)),1)],64)):(i(),u(d,{key:1},[g(r(e.$t(`logs.empty`)),1)],64))])):f(``,!0)])])])]),(i(),te(ne,{to:`body`},[K.value?(i(),u(`div`,{key:0,class:`modal-mask`,onClick:t[16]||=ie(e=>K.value=!1,[`self`])},[l(`div`,Le,[l(`h3`,Re,r(e.$t(`logs.manual`)),1),l(`label`,ze,[l(`span`,null,r(e.$t(`logs.mSummary`))+` *`,1),p(l(`textarea`,{"onUpdate:modelValue":t[8]||=e=>q.summary=e,rows:`3`,placeholder:e.$t(`logs.mSummaryPh`)},null,8,Be),[[v,q.summary]])]),l(`label`,Ve,[l(`span`,null,r(e.$t(`logs.mDetail`)),1),p(l(`textarea`,{"onUpdate:modelValue":t[9]||=e=>q.detail=e,rows:`2`,placeholder:e.$t(`logs.mDetailPh`)},null,8,He),[[v,q.detail]])]),l(`div`,Ue,[l(`label`,We,[l(`span`,null,r(e.$t(`logs.fLine`)),1),p(l(`select`,{"onUpdate:modelValue":t[10]||=e=>q.lineId=e,class:`inp-sel`,onChange:t[11]||=e=>{q.productId=``,q.recipeId=``}},[l(`option`,Ge,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(h(H).lines,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,Ke))),128))],544),[[_,q.lineId]])]),l(`label`,qe,[l(`span`,null,r(e.$t(`logs.fProduct`)),1),p(l(`select`,{"onUpdate:modelValue":t[12]||=e=>q.productId=e,class:`inp-sel`,onChange:t[13]||=e=>q.recipeId=``},[l(`option`,Je,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(J.value,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,Ye))),128))],544),[[_,q.productId]])]),l(`label`,Xe,[t[22]||=l(`span`,null,`Recipe`,-1),p(l(`select`,{"onUpdate:modelValue":t[14]||=e=>q.recipeId=e,class:`inp-sel`},[l(`option`,Ze,r(e.$t(`logs.all`)),1),(i(!0),u(d,null,o(Y.value,e=>(i(),u(`option`,{key:e.id,value:e.id},r(e.name),9,Qe))),128))],512),[[_,q.recipeId]])])]),h(U).error.post?(i(),u(`p`,$e,r(h(U).error.post),1)):f(``,!0),l(`div`,et,[l(`button`,{class:`ghost-btn`,onClick:t[15]||=e=>K.value=!1},r(e.$t(`common.cancel`)),1),l(`button`,{class:`pill-btn`,disabled:h(U).loading.posting||!q.summary.trim(),onClick:st},r(e.$t(`logs.mSubmit`)),9,tt)])])])):f(``,!0)]))]))}}),[[`__scopeId`,`data-v-3716fa0c`]]);export{H as default};
@@ -1 +0,0 @@
1
- import{a as e}from"./BU83-NnX.js";import{$ as t,Ht as n,P as r,R as i,S as a,Ut as o,V as s,Vt as c,W as l,b as u,d,dt as f,f as p,h as m,i as h,m as g,nt as _,p as v,pt as y,tt as b,xt as x,y as S}from"./CSkxz2NX.js";import{c as C,f as w,l as T,s as ee}from"./D6uzXueg.js";import{n as te}from"./DtYHUi5Z.js";import{t as ne}from"./BHA40aHa.js";import{n as re}from"./KZQX7xoM.js";import{t as ie}from"./DZtm4l-P2.js";import{t as E}from"./BDNMzG2s2.js";import{t as D}from"./D0ZBQrN_2.js";import{t as ae}from"./BNT8gYU92.js";import{t as oe}from"./CNs_Ozdc2.js";import{t as se}from"./CM12FuB42.js";import{a as ce,i as le,n as ue,r as de,t as fe}from"./D1YDxZpZ.js";import{t as pe}from"./D20Yamr4.js";import{t as me}from"./C3J6FYKa.js";import{t as O}from"./CdPzkOMV.js";var k={class:`mono dim`},A={class:`mono ch`},he=[`title`],ge=[`title`],_e={class:`trend-cell`},ve=[`title`],ye=[`y1`,`y2`],be=[`y1`,`y2`],xe=[`points`],j=[`y1`,`y2`],Se={class:`mono`},Ce={class:`mono`},we=[`title`],Te=[`value`,`title`],Ee={value:``},De=[`value`],Oe=[`title`],M={key:1,class:`run-pill na`},ke={class:`prod-cell`},N=[`title`],P=[`title`],F={key:1,class:`dim`},I={class:`dev-binds`},Ae=[`title`],je=[`onClick`],Me=[`title`],L={value:``},Ne=[`value`,`disabled`],Pe={class:`right`},Fe=[`title`],Ie=120,R=26,Le=Object.assign(E(a({__name:`DaqNodeRow`,props:{n:{}},setup(t){let n=t,{t:r}=re(),i=fe(),a=pe(),f=me();function _(e){if(!e.lastAt)return!0;let t=e.intervalMs??i.controller.defaultIntervalMs;return Date.now()-Date.parse(e.lastAt)>Math.max(t*4,12e3)}function v(e){return e.enabled?e.lineId?a.lineStateOf(e.lineId).active?!i.controller.running||_(e)?`offline`:e.state:`idle`:`unassigned`:`disabled`}function y(e){let t=v(e);return t===`ok`||t===`warn`||t===`alarm`}function C(e){if(!e.lineId)return null;let t=a.lineStateOf(e.lineId);return!t.active||!t.recipeId?null:a.recipes.find(e=>e.id===t.recipeId)?.daqWindows?.find(t=>t.nodeId===e.id)??null}function w(e){let t=C(e);return!t||e.value==null?!1:t.min!=null&&e.value<t.min||t.max!=null&&e.value>t.max}function T(e){let t=C(e);return t&&(t.min!=null||t.max!=null)?{min:t.min,max:t.max}:e.warnLow!=null||e.warnHigh!=null?{min:e.warnLow,max:e.warnHigh}:{min:null,max:null}}function ee(e){let t=e.filter(Number.isFinite);if(t.length<2)return``;let n=Math.min(...t),r=Math.max(...t)-n||1;return t.map((e,i)=>`${(i/(t.length-1)*Ie).toFixed(1)},${(R-(e-n)/r*24-1).toFixed(1)}`).join(` `)}function te(e,t){if(t==null||!Number.isFinite(t))return null;let n=e.filter(Number.isFinite);if(n.length<2)return null;let r=Math.min(...n,t),i=Math.max(...n,t)-r||1;return Number((R-(t-r)/i*24-1).toFixed(1))}function ie(e){let t=v(e),n=r(`daq.k44c2n065`);if(t===`offline`)return e.lastError?{key:t,label:n,tip:e.lastError}:{key:t,label:n,tip:i.controller.running?r(`daq.k1staled129`,{p0:Math.round(Math.max((e.intervalMs??i.controller.defaultIntervalMs)*4,12e3)/1e3)}):r(`daq.k1gateoff140`)};let a={ok:r(`daq.k41k5c062`),warn:r(`daq.k49z8v063`),alarm:r(`daq.k3xmid064`),offline:n,idle:r(`daq.k3ozyqz117`),disabled:r(`daq.k1disabl130`),unassigned:r(`daq.k3ootr6053`)};if(t===`idle`)return{key:t,label:a.idle,tip:r(`daq.k1idlehin139`)};if((t===`ok`||t===`warn`||t===`alarm`)&&w(e)){let t=C(e);return{key:`alarm`,label:r(`daq.k1l3pt51104`),tip:r(`daq.k1hrrqa1122`,{p0:t?.min??`-∞`,p1:t?.max??`+∞`,p2:``})}}return{key:t,label:a[t],tip:``}}function E(e){let t=i.templates.find(t=>t.key===ce(e));return t?`${t.name} · ${t.ch}`:e||`-`}let ae=e=>e==null?r(`daq.k9vnp9h124`,{p0:i.controller.defaultIntervalMs}):`${e}ms`,oe=e=>e==null?r(`daq.k9vnp9h124`,{p0:i.controller.defaultPublishIntervalMs}):e===0?r(`daq.k41mvv078`):`${e}ms`,se=e=>i.meta.drivers.find(t=>t.kind===e)?.status===`planned`,le=e=>e.deviceIds??(e.deviceBindingId?[e.deviceBindingId]:[]),ue=e=>f.twins.find(t=>t.id===e)?.name??e,de=d(()=>f.twins.filter(e=>e.kind!==`daq`&&!(e.modelRef??``).startsWith(`daq-`)&&!(e.modelRef??``).startsWith(`dcw-`))),O=d(()=>{let e=n.n,t=T(e),r=e.lineId?a.lineStateOf(e.lineId):null;return{tpl:E(e.templateRef),pill:ie(e),alarm:w(e),live:y(e),trend:ee(e.hist),limMin:te(e.hist,t.min),limMax:te(e.hist,t.max),interval:ae(e.intervalMs),publish:oe(e.publishIntervalMs),lineActive:!!r?.active,lineProduct:r?.productName??``,lineRecipe:r?.recipeName??``}});async function Le(){let t=n.n,a=!t.enabled;try{await i.patchNode(t.id,{enabled:a}),t.enabled=a,a||(t.state=`offline`),e.success(r(a?`daq.k1nodestart147`:`daq.k1nodestop146`))}catch(t){e.error(D(t))}}async function Re(t){let r=t.target.value;try{await i.patchNode(n.n.id,{lineId:r});let e=n.n;e.lineId=r}catch(t){e.error(D(t))}}async function ze(t){let r=t.target.value;if(!r)return;let a=n.n;if(!a.deviceIds?.includes(r)){try{await i.setNodeBindings(a.id,[...a.deviceIds??[],r])}catch(t){e.error(D(t))}t.target.value=``}}async function Be(t){let r=n.n;try{await i.setNodeBindings(r.id,(r.deviceIds??[]).filter(e=>e!==t))}catch(t){e.error(D(t))}}return(e,n)=>{let r=ne;return s(),m(`tr`,{class:c({"row-recipe-alarm":O.value.alarm})},[p(`td`,null,[p(`span`,k,o(t.n.id.slice(0,8)),1),p(`b`,null,o(t.n.name),1),p(`small`,A,o(O.value.tpl),1)]),p(`td`,null,[p(`span`,{class:c([`st-pill`,[O.value.pill.key]]),title:O.value.pill.tip},o(O.value.pill.label),11,he)]),p(`td`,{class:c([`mono val`,{stale:!O.value.live,"val-alarm":t.n.state===`alarm`||O.value.alarm}]),title:O.value.live?void 0:O.value.pill.tip},[S(o(t.n.value==null?`--`:t.n.value.toFixed(t.n.decimals))+` `,1),p(`small`,null,o(t.n.unit),1)],10,ge),p(`td`,_e,[(s(),m(`svg`,{class:`trend`,viewBox:`0 0 120 26`,preserveAspectRatio:`none`,title:e.$t(`daq.k1trnd002`)},[O.value.limMin==null?g(``,!0):(s(),m(`line`,{key:0,class:`lim`,x1:`0`,y1:O.value.limMin,x2:`120`,y2:O.value.limMin},null,8,ye)),O.value.limMax==null?g(``,!0):(s(),m(`line`,{key:1,class:`lim max`,x1:`0`,y1:O.value.limMax,x2:`120`,y2:O.value.limMax},null,8,be)),O.value.trend?(s(),m(`polyline`,{key:2,class:c([`trace`,{alarm:t.n.state===`alarm`||O.value.alarm}]),points:O.value.trend},null,10,xe)):(s(),m(`line`,{key:3,class:`trace-idle`,x1:`0`,y1:R/2,x2:`120`,y2:R/2},null,8,j))],8,ve))]),p(`td`,Se,o(O.value.interval),1),p(`td`,Ce,o(O.value.publish),1),p(`td`,null,[p(`span`,{class:c([`drv-tag`,{planned:se(t.n.driver)}]),title:se(t.n.driver)?e.$t(`daq.k1plndrv138`):``},o(t.n.driver),11,we)]),p(`td`,null,[p(`select`,{class:`line-sel`,value:t.n.lineId,title:e.$t(`daq.k3q23v3010`),onChange:Re},[p(`option`,Ee,o(e.$t(`daq.k3ootr6053`)),1),(s(!0),m(h,null,l(x(a).lines,e=>(s(),m(`option`,{key:e.id,value:e.id},o(e.name),9,De))),128))],40,Te)]),p(`td`,null,[t.n.lineId?(s(),m(`span`,{key:0,class:c([`run-pill`,{on:O.value.lineActive}]),title:e.$t(`daq.k1runtipc131`)},[n[0]||=p(`span`,{class:`rp-dot`},null,-1),S(` `+o(O.value.lineActive?e.$t(`daq.k3vp67i096`):e.$t(`daq.k3ozyqz117`)),1)],10,Oe)):(s(),m(`span`,M,o(e.$t(`daq.k3ootr6053`)),1))]),p(`td`,ke,[t.n.lineId&&O.value.lineActive?(s(),m(h,{key:0},[p(`b`,{title:e.$t(`daq.k1prdrtip132`)},o(O.value.lineProduct||`--`),9,N),p(`small`,{class:`mono`,title:e.$t(`daq.k1prdrtip132`)},o(O.value.lineRecipe||`--`),9,P)],64)):(s(),m(`span`,F,`--`))]),p(`td`,null,[p(`div`,I,[(s(!0),m(h,null,l(le(t.n),t=>(s(),m(`span`,{key:t,class:`dev-bind-chip`,title:e.$t(`daq.k2bindtip137`)},[S(o(ue(t))+` `,1),p(`span`,{class:`dev-unbind`,title:`unbind`,onClick:e=>Be(t)},`✕`,8,je)],8,Ae))),128)),p(`select`,{class:`line-sel dev-add`,value:``,title:e.$t(`daq.k2bindtip137`),onChange:ze},[p(`option`,L,o(e.$t(`daq.k3own4q056`)),1),(s(!0),m(h,null,l(de.value,e=>(s(),m(`option`,{key:e.id,value:e.id,disabled:(t.n.deviceIds??[]).includes(e.id)},o(ue(e.id)),9,Ne))),128))],40,Me)])]),p(`td`,Pe,[p(`button`,{class:c([`node-toggle`,{off:!t.n.enabled}]),title:t.n.enabled?e.$t(`daq.k1nodestop146`):e.$t(`daq.k1nodestart147`),onClick:Le},[p(`span`,{class:c(t.n.enabled?`i-tabler-player-pause`:`i-tabler-player-play`)},null,2),S(` `+o(t.n.enabled?e.$t(`daq.k1nodestop146`):e.$t(`daq.k1nodestart147`)),1)],10,Fe),u(r,{class:`console-link`,to:`/daq/${t.n.id}`},{default:b(()=>[n[1]||=p(`span`,{class:`i-tabler-dashboard`},null,-1),S(` `+o(e.$t(`daq.k3o3jg2074`)),1)]),_:1},8,[`to`])])],2)}}}),[[`__scopeId`,`data-v-86569a81`]]),{__name:`WorkshopDaqNodeRow`}),Re={class:`page`},ze={class:`aw-page-head`},Be={class:`sub`},Ve={class:`badges mono`},He=[`title`],Ue=[`title`],We={class:`txt`},Ge={class:`mono`},Ke={key:1,class:`infra-banner`},qe={class:`txt`},Je={key:2,class:`infra-banner`},Ye={class:`txt`},Xe=[`disabled`],Ze={key:3,class:`alarm-bar`},Qe={class:`bar-label`},$e={class:`mono`},et={class:`alarm-scroll`},tt=[`title`],nt={class:`mono dim`},rt={class:`mono`},it={key:0,class:`esc mono`},at=[`onClick`],ot={class:`aw-tile ctrl-card`},st={class:`ctrl-row`},ct={class:`ctrl-left`},lt=[`title`],ut={class:`cycle mono`},dt=[`title`],ft={class:`ctrl-right`},pt={class:`ctrl-metrics mono`},mt=[`title`],ht=[`title`],gt=[`title`],_t=[`title`],vt={class:`line-strip`},yt={class:`strip-label`},bt={class:`mono`},xt={class:`strip-scroll`},St={key:0,class:`lp-run`},Ct={key:1,class:`lp-idle`},wt={class:`lp-idle`},Tt={class:`modal`},Et={class:`m-title`},Dt={class:`seg-row`},Ot={class:`f-grid`},kt={class:`f`},At=[`value`],jt={class:`f`},Mt=[`placeholder`],Nt={key:0,class:`f`},Pt=[`placeholder`],Ft={class:`f-grid`},It={class:`f`},Lt=[`value`],Rt={key:0,class:`f-grid driver-form`},zt={key:0},Bt=[`onUpdate:modelValue`],Vt=[`value`],Ht=[`onUpdate:modelValue`,`type`,`placeholder`],Ut={key:2,class:`hint`},Wt={class:`test-row`},Gt=[`disabled`],Kt={key:1,class:`m-err`},qt={class:`m-actions`},Jt=[`disabled`,`title`],Yt={class:`modal`},Xt={class:`m-title`},Zt={class:`sec-label`},Qt={class:`tpl-table`},$t={class:`mono dim`},en={class:`mono range`},tn={class:`right actions`},nn=[`onClick`],rn=[`onClick`],an={key:0},on={colspan:`3`,class:`empty`},sn={class:`sec-label`},cn={class:`f-grid`},ln={class:`f`},un=[`placeholder`],dn={class:`f`},fn={class:`f`},pn=[`placeholder`],mn={class:`f`},hn=[`placeholder`],gn={class:`f`},_n={class:`f`},vn={class:`f`},yn={class:`f`},bn=[`value`],xn={class:`f`},Sn={class:`hint`},Cn={class:`f`},wn={class:`hint`},Tn={key:0,class:`m-err`},En={class:`m-actions`},Dn=[`disabled`],On={class:`sec-label`},kn={class:`tpl-table`},An={class:`mono dim`},jn={class:`mono range`},Mn={class:`right actions`},Nn=[`onClick`],Pn={class:`aw-tile opt-card`},Fn={class:`opt-count mono`},In={class:`opt-filters`},Ln={value:``},Rn=[`value`],zn={value:``},Bn=[`value`],Vn={key:0,class:`opt-empty`},Hn={class:`opt-list`},Un={class:`opt-line1`},Wn={class:`opt-node`},Gn={class:`mono opt-params`},Kn={class:`mono opt-time`},qn=[`disabled`,`onClick`],Jn=[`onClick`],Yn={class:`opt-line2 mono`},Xn={key:1,class:`opt-open-hint`},Zn={key:2,class:`opt-agg`},Qn={key:3,class:`opt-agg`},$n={key:0,class:`opt-series`},er={class:`opt-spark`,viewBox:`0 0 240 36`,preserveAspectRatio:`none`},tr=[`points`],nr={class:`mono`},rr={key:0,class:`opt-empty`},ir={class:`aw-tile table-card`},ar={class:`tbl-toolbar`},or={class:`filters`},sr={class:`flt`},cr={value:``},lr=[`value`],ur={value:`none`},dr={class:`flt`},fr={value:``},pr=[`value`],mr={value:`none`},hr=[`title`],gr={value:``},_r={value:`on`},vr={value:`off`},yr={class:`flt`},br={value:``},xr={value:`ok`},Sr={value:`warn`},Cr={value:`alarm`},wr={value:`offline`},Tr={class:`flt`},Er={value:``},Dr=[`value`],Or={class:`flt`},kr={value:``},Ar=[`value`],jr=[`title`],Mr={value:``},Nr={value:`live`},Pr={value:`hour`},Fr={value:`day`},Ir={value:`old`},Lr={value:`never`},Rr={class:`flt`},zr=[`placeholder`],Br={class:`count mono`},Vr={class:`ops-panels`},Hr={class:`panel-head`},Ur={class:`panel-body`},Wr={key:0,class:`panel-empty`},Gr={class:`mono dim`},Kr={class:`mono`},qr={key:0,class:`esc mono`},Jr=[`onClick`],Yr={class:`ops-panel event-panel`},Xr={class:`panel-head`},Zr={class:`panel-body`},Qr={key:0,class:`panel-empty`},$r={class:`mono dim t`},ei=[`title`],ti={class:`nodes-table`},ni=[`title`],ri=[`title`],ii={class:`right`},ai={key:0},oi={colspan:`11`},si={class:`pane-empty`,style:{"min-height":`120px`}},ci={class:`pe-sub`},li={key:1},ui={colspan:`11`},di={class:`pane-empty`,style:{"min-height":`90px`}},fi={class:`pe-sub`},pi={key:6,class:`err`},mi=E(a({__name:`index`,setup(a){let{t:E}=re();oe({layout:`default`}),te({title:()=>E(`titles.daq`)});let k=fe(),A=pe(),he=ae(),ge=d(()=>A.lines.some(e=>A.lineStateOf(e.id).active)),_e=O();function ve(e){return{write:E(`logs.kind.write`),manual:E(`logs.kind.manual`),alarm:E(`logs.kind.alarm`),line:E(`logs.kind.line`),recipe:E(`logs.kind.recipe`),rollback:E(`logs.kind.rollback`),daq:E(`logs.kind.daq`),system:E(`logs.kind.system`)}[e]??(e||E(`logs.kind.system`))}function ye(e){let t=new Date(e);return Number.isFinite(t.getTime())?`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`:``}async function be(t){try{await k.ackAlarm(t),e.success(E(`daq.k1acked144`))}catch(t){e.error(D(t))}}let xe=null;i(()=>{he.ensureConnected(),xe=k.ensureWsFeed(),_e.ensureLive(),k.load(),k.fetchAlarms(),A.load(),yi.load(),A.loadOptimizations(),se(()=>{k.load(),k.fetchAlarms()},5e3,{bgMs:3e4}),se(()=>{A.load()},15e3,{bgMs:6e4})}),r(()=>{xe?.()});let j=f({lineId:``,deviceId:``,template:``,driver:``,lineRun:``,state:``,time:``,search:``}),Se=d(()=>!!(j.lineId||j.deviceId||j.template||j.driver||j.lineRun||j.state||j.time||j.search.trim()));function Ce(){j.lineId=``,j.deviceId=``,j.template=``,j.driver=``,j.lineRun=``,j.state=``,j.time=``,j.search=``}let we=d(()=>{let e=new Map;for(let t of k.nodes)e.set(t.templateRef,(e.get(t.templateRef)??0)+1);return[...e.entries()].map(([e,t])=>({ref:e,count:t,label:Ai(e)}))}),Te=d(()=>{let e=new Map;for(let t of k.nodes)e.set(t.driver,(e.get(t.driver)??0)+1);return[...e.entries()].map(([e,t])=>({kind:e,count:t,label:k.meta.drivers.find(t=>t.kind===e)?.label??e}))});function Ee(e){if(!e.lastAt)return`never`;let t=Date.now()-Date.parse(e.lastAt);return t<=3e5?`live`:t<=36e5?`hour`:t<=864e5?`day`:`old`}function De(e){return!j.time||Ee(e)===j.time}function Oe(e){let t=j.search.trim().toLowerCase();return!t||e.name.toLowerCase().includes(t)||e.id.toLowerCase().includes(t)}let M=y(!1),ke=y(!1),N=y(``),P=y(``),F=y({}),I=y(``),Ae=d(()=>A.recipes.filter(e=>!N.value||e.lineId===N.value));function je(e){return{open:`daq.k1optst001`,judged:`daq.k1optst008`,"judged-keep":`daq.k1optst002`,"rolled-back":`daq.k1optst003`,superseded:`daq.k1optst004`,"superseded-manual":`daq.k1optst005`,"closed-line-stop":`daq.k1optst006`,failed:`daq.k1optst007`}[e]??`daq.k1optst001`}async function Me(){M.value=!M.value,M.value&&(ke.value=!0,await L())}async function L(){await A.loadOptimizations({lineId:N.value||void 0,recipeId:P.value||void 0})}function Ne(){P.value&&!Ae.value.some(e=>e.id===P.value)&&(P.value=``),L()}async function Pe(e){I.value=e;try{let t=await A.optimizationSeries(e);F.value={...F.value,[e]:t}}finally{I.value=``}}function Fe(e,t=240,n=36){let r=e.map(e=>e.value??e.avg??0).filter(Number.isFinite);if(r.length<2)return``;let i=Math.min(...r),a=Math.max(...r)-i||1;return r.map((e,o)=>`${o/(r.length-1)*t},${n-(e-i)/a*n}`).join(` `)}async function Ie(e){await A.rollbackOptimization(e),await L()}function R(e){return e==null?`--`:String(Number(e.toFixed(2)))}let mi=d(()=>{let e=new Map;for(let t of k.nodes)for(let n of t.deviceIds??(t.deviceBindingId?[t.deviceBindingId]:[]))e.set(n,(e.get(n)??0)+1);return yi.twins.filter(t=>e.has(t.id)).map(t=>({id:t.id,name:bi.get(t.id)??t.name,count:e.get(t.id)}))});function hi(e){if(!j.lineRun)return!0;let t=!!e.lineId&&A.lineStateOf(e.lineId).active;return j.lineRun===`on`?t:!t}let z=d(()=>A.lines.find(e=>e.id===j.lineId)??null),B=d(()=>z.value?A.lineStateOf(z.value.id):null);function gi(e){if(!e.lastAt)return!0;let t=e.intervalMs??k.controller.defaultIntervalMs;return Date.now()-Date.parse(e.lastAt)>Math.max(t*4,12e3)}function _i(e){return e.enabled?e.lineId?A.lineStateOf(e.lineId).active?!k.controller.running||gi(e)?`offline`:e.state:`idle`:`unassigned`:`disabled`}let vi=d(()=>k.nodes.filter(e=>{if(j.lineId&&(j.lineId===`none`?e.lineId:(e.lineId??``)!==j.lineId))return!1;let t=e.deviceIds??(e.deviceBindingId?[e.deviceBindingId]:[]);return!(j.deviceId&&(j.deviceId===`none`?t.length>0:!t.includes(j.deviceId))||j.template&&e.templateRef!==j.template||j.driver&&e.driver!==j.driver||!hi(e)||j.state&&_i(e)!==j.state||!De(e)||!Oe(e))})),yi=me(),bi=new Map;t(()=>yi.twins,e=>{for(let t of e)bi.set(t.id,t.name)},{immediate:!0,deep:!0});let V=y(!1),H=y(`mock`),U=y(de[0]?.key??`temp-tc`),W=y(`modbus-tcp`),G=y(``),xi=y(null),K=y({}),Si=f({kind:`none`,scale:1,offset:0}),Ci=y(!1),q=y(null),wi=y(!1),Ti=y(``),Ei=d(()=>ue.find(e=>e.kind===W.value)),J=d(()=>Ei.value?.configFields??[]),Di=e=>k.meta.drivers.find(t=>t.kind===e)?.status!==`planned`&&k.meta.driverAvailable?.[e]!==!1;t(W,()=>{let e={};for(let t of J.value)t.default!==void 0&&(e[t.key]=t.default);K.value=e,q.value=null},{immediate:!0});async function Oi(){Ci.value=!0,q.value=null;try{q.value=await k.testDriver(W.value,K.value)}catch(e){q.value={ok:!1,message:D(e)}}finally{Ci.value=!1}}async function ki(){wi.value=!0,Ti.value=``;try{let e=Si.kind===`linear`?{kind:`linear`,scale:Number(Si.scale),offset:Number(Si.offset)}:void 0;if(H.value===`mock`)await k.createFromTemplate(`daq-${U.value}`,{name:G.value?{name:G.value}.name:void 0,transform:e});else{for(let e of J.value)if(e.required&&!K.value[e.key]&&K.value[e.key]!==0)throw Error(E(`daq.kyuadl0125`,{p0:e.label}));let t=k.templates.find(e=>e.key===U.value);await k.createFromTemplate(`daq-${U.value}`,{name:G.value||void 0,driver:W.value,driverConfig:{...K.value},transform:e,intervalMs:xi.value,unit:t?.unit,min:t?.min,max:t?.max,decimals:t?.decimals})}V.value=!1,G.value=``,q.value=null}catch(e){Ti.value=D(e)}finally{wi.value=!1}}function Ai(e){let t=k.templates.find(t=>t.key===ce(e));return t?`${t.name} · ${t.ch}`:e||`-`}let ji=y(!1),Y=y(null),Mi=y(!1),X=y(``),Z=y(``),Q=f({name:``,ch:``,code:``,unit:``,min:0,max:100,base:50,amp:2,decimals:2,icon:`thermo`}),Ni={thermo:E(`daq.k422b8079`),pressure:E(`daq.k3x6ff080`),tension:E(`daq.k3z9xc081`),encoder:E(`daq.k3subk4082`),camera:E(`daq.k47atw083`),gateway:E(`daq.kz7yhbj084`)},Pi=d(()=>k.templates.filter(e=>!e.builtin)),Fi=d(()=>k.templates.filter(e=>e.builtin));function Ii(e,t=!1){Q.name=t?E(`daq.k2hbo3c126`,{p0:e.name}):e.name,Q.ch=e.ch,Q.code=e.code,Q.unit=e.unit,Q.min=e.min,Q.max=e.max,Q.base=e.base,Q.amp=e.amp,Q.decimals=e.decimals,Q.icon=e.icon}function Li(){Y.value=null,X.value=``,Z.value=``,Ii({key:``,name:``,code:``,ch:``,unit:``,base:50,amp:2,min:0,max:100,decimals:2,icon:`thermo`})}function Ri(e){Y.value=e.key,X.value=``,Ii(e)}function zi(e){Y.value=null,X.value=``,Ii(e,!0)}async function Bi(){Mi.value=!0,X.value=``;try{let e=e=>{let t=Number(e);return e===``||e==null||!Number.isFinite(t)?void 0:t},t={name:Q.name.trim(),ch:Q.ch.trim()||void 0,code:Q.code.trim()||void 0,unit:Q.unit.trim(),min:e(Q.min),max:e(Q.max),base:e(Q.base),amp:e(Q.amp),decimals:e(Q.decimals),icon:Q.icon};Y.value?await k.updateTemplate(Y.value,t):await k.createTemplate(t),Li()}catch(e){X.value=D(e)}finally{Mi.value=!1}}async function Vi(e){if(Z.value!==e.key){Z.value=e.key;return}try{await k.removeTemplate(e.key)}catch(e){X.value=D(e)}finally{Z.value=``}}let $=y(!1);async function Hi(){$.value=!0;try{await k.reconnectInfra()}catch{}finally{$.value=!1}}return(e,t)=>{let r=ne,i=Le,a=ie;return s(),m(`div`,Re,[p(`div`,ze,[p(`div`,null,[t[36]||=p(`p`,{class:`aw-kicker`},` AGENTWORKSHOP / DAQ CONSOLE `,-1),p(`h1`,null,o(e.$t(`daq.k1emg364011`)),1),p(`p`,Be,o(e.$t(`daq.k1wmg2bz012`)),1)]),p(`div`,Ve,[p(`span`,{class:`badge`,title:e.$t(`daq.k1tsdbtip133`)},`TSDB · `+o(x(k).meta.tsdb),9,He),p(`span`,{class:`badge`,title:e.$t(`daq.k1queuet134`)},`QUEUE · `+o(x(k).meta.queue),9,Ue)])]),x(k).loaded&&z.value&&B.value?(s(),m(`div`,{key:0,class:c([`infra-banner`,{good:B.value.active}])},[p(`span`,{class:c(B.value.active?`i-tabler-circle-check`:`i-tabler-info-circle`)},null,2),p(`span`,We,[B.value.active?(s(),m(h,{key:0},[S(o(e.$t(`daq.k3ktxbr085`))+o(z.value.name)+`」`+o(e.$t(`daq.k15lvw0o105`)),1),p(`b`,null,o(B.value.productName),1),t[37]||=S(` · Recipe:`,-1),p(`b`,null,o(B.value.recipeName),1),p(`small`,Ge,o(e.$t(`daq.k400lb086`))+` `+o(B.value.runId?.slice(0,8))+` · `+o(e.$t(`daq.k3zkt2106`))+` `+o(B.value.startedAt?.slice(11,19))+` `+o(e.$t(`daq.k69vag8108`))+` `+o(B.value.taggedSamples)+` `+o(e.$t(`daq.k4118o092`)),1)],64)):(s(),m(h,{key:1},[S(o(e.$t(`daq.k3ktxbr085`))+o(z.value.name)+`」`+o(e.$t(`daq.k12uge2o107`)),1)],64))]),u(r,{class:`pill-btn`,to:`/dcw/${z.value.id}`},{default:b(()=>[S(o(B.value.active?e.$t(`daq.k1ukoy0v093`):e.$t(`daq.k1cg78i8109`)),1)]),_:1},8,[`to`])],2)):x(k).loaded&&!ge.value?(s(),m(`div`,Ke,[t[38]||=p(`span`,{class:`i-tabler-info-circle`},null,-1),p(`span`,qe,[S(o(e.$t(`daq.k19onw5w013`)),1),u(r,{to:`/dcw`},{default:b(()=>[S(o(e.$t(`daq.k1b2tk5c014`)),1)]),_:1}),S(o(e.$t(`daq.k1u9wnlg015`)),1)])])):g(``,!0),x(k).meta.infra?.degraded?(s(),m(`div`,Je,[t[39]||=p(`span`,{class:`i-tabler-alert-triangle`},null,-1),p(`span`,Ye,o(x(k).meta.infra.warning),1),p(`button`,{class:`pill-btn`,disabled:$.value,onClick:Hi},o($.value?e.$t(`daq.k1ld43ur094`):e.$t(`daq.kzg9805110`)),9,Xe)])):g(``,!0),x(k).alarms.length?(s(),m(`div`,Ze,[p(`span`,Qe,[t[40]||=p(`span`,{class:`i-tabler-bell-ringing bell`},null,-1),S(` `+o(e.$t(`daq.k1alarm141`))+` `,1),p(`b`,$e,o(x(k).alarms.length),1)]),p(`div`,et,[(s(!0),m(h,null,l(x(k).alarms,t=>(s(),m(`span`,{key:t.id,class:`alarm-item`,title:e.$t(`daq.k1esc143`,{p0:t.escalation})},[p(`b`,null,o(t.nodeName),1),p(`span`,nt,o(t.metric),1),p(`span`,rt,o(t.value)+` `+o(t.rule===`lt-min`?`<`:`>`)+` `+o(t.threshold),1),t.escalation>0?(s(),m(`small`,it,`+`+o(t.escalation),1)):g(``,!0),p(`button`,{class:`mini-btn ack`,onClick:e=>be(t.id)},o(e.$t(`daq.k1ack142`)),9,at)],8,tt))),128))])])):g(``,!0),p(`section`,ot,[p(`div`,st,[p(`div`,ct,[p(`button`,{class:c([`aw-pill`,{running:x(k).controller.running}]),title:e.$t(`daq.k1snap145`),onClick:t[0]||=e=>x(k).controllerAction(x(k).controller.running?`pause`:`resume`)},[p(`span`,{class:c(x(k).controller.running?`i-tabler-player-pause`:`i-tabler-player-play`)},null,2),S(` `+o(x(k).controller.running?e.$t(`daq.kpui00095`):e.$t(`daq.knxpdpt111`)),1)],10,lt),p(`label`,ut,[S(o(e.$t(`daq.k1ifahxj016`))+` `,1),_(p(`input`,{"onUpdate:modelValue":t[1]||=e=>x(k).controller.defaultIntervalMs=e,type:`number`,min:`200`,max:`60000`,step:`100`,onChange:t[2]||=e=>x(k).controllerAction(`config`,x(k).controller.defaultIntervalMs)},null,544),[[T,x(k).controller.defaultIntervalMs,void 0,{number:!0}]]),t[41]||=S(`ms `,-1)]),p(`label`,{class:`cycle mono`,title:e.$t(`daq.k1e8lcoo001`)},[S(o(e.$t(`daq.k1if98n0017`))+` `,1),_(p(`input`,{"onUpdate:modelValue":t[3]||=e=>x(k).controller.defaultPublishIntervalMs=e,type:`number`,min:`0`,max:`60000`,step:`100`,onChange:t[4]||=e=>x(k).controllerAction(`config`,x(k).controller.defaultIntervalMs,x(k).controller.defaultPublishIntervalMs)},null,544),[[T,x(k).controller.defaultPublishIntervalMs,void 0,{number:!0}]]),t[42]||=S(`ms `,-1)],8,dt)]),p(`div`,ft,[p(`span`,pt,[p(`span`,null,o(e.$t(`daq.k45uio067`))+` `+o(x(k).controller.nodesOnline)+`/`+o(x(k).controller.nodesTotal),1),t[43]||=p(`span`,{class:`sep`},`·`,-1),p(`span`,{title:e.$t(`daq.k1yztsu4002`)},o(e.$t(`daq.k3xagp087`))+` `+o(x(k).meta.produced),9,mt),t[44]||=p(`span`,{class:`sep`},`·`,-1),p(`span`,{title:e.$t(`daq.ko09iha003`)},o(e.$t(`daq.k427eu088`))+` `+o(x(k).meta.consumed),9,ht),t[45]||=p(`span`,{class:`sep`},`·`,-1),p(`span`,{class:c({warn:(x(k).meta.dropped??0)>0}),title:e.$t(`daq.k1droptip135`)},o(e.$t(`daq.k3w8go089`))+` `+o(x(k).meta.dropped),11,gt),t[46]||=p(`span`,{class:`sep`},`·`,-1),p(`span`,{title:e.$t(`daq.kj1jbmw004`)},o(e.$t(`daq.k3wusd090`))+` `+o(x(k).meta.samplesStored),9,_t)]),p(`button`,{class:`aw-pill outline add-btn`,onClick:t[5]||=e=>{ji.value=!0,Li()}},[t[47]||=p(`span`,{class:`i-tabler-adjustments-horizontal`},null,-1),S(` `+o(e.$t(`daq.k1f5cv0s018`)),1)]),p(`button`,{class:`aw-pill add-btn`,onClick:t[6]||=e=>V.value=!0},[t[48]||=p(`span`,{class:`i-tabler-plus`},null,-1),S(` `+o(e.$t(`daq.k1fn0ukb019`)),1)])])]),p(`div`,vt,[p(`span`,yt,[t[49]||=p(`span`,{class:`i-tabler-route`},null,-1),S(` `+o(e.$t(`daq.k1b2o3b6020`)),1),p(`small`,bt,o(x(A).lines.length),1)]),p(`div`,xt,[(s(!0),m(h,null,l(x(A).lines,i=>(s(),v(r,{key:i.id,class:c([`line-pill`,{on:x(A).lineStateOf(i.id).active}]),style:n({"--lc":i.color}),to:`/dcw/${i.id}`,title:x(A).lineStateOf(i.id).active?e.$t(`daq.k3v957u120`,{p0:i.name,p1:x(A).lineStateOf(i.id).productName,p2:x(A).lineStateOf(i.id).recipeName}):e.$t(`daq.k1x7jnru121`,{p0:i.name})},{default:b(()=>[t[50]||=p(`span`,{class:`lp-dot`},null,-1),p(`b`,null,o(i.name),1),x(A).lineStateOf(i.id).active?(s(),m(`small`,St,o(x(A).lineStateOf(i.id).recipeName??e.$t(`daq.k3vp67i096`)),1)):(s(),m(`small`,Ct,o(e.$t(`daq.k3zgkk021`)),1))]),_:2},1032,[`class`,`style`,`to`,`title`]))),128)),x(A).lines.length===0?(s(),v(r,{key:0,class:`line-pill`,to:`/dcw`},{default:b(()=>[t[51]||=p(`span`,{class:`lp-dot`},null,-1),p(`b`,null,o(e.$t(`daq.k1el12b1022`)),1),p(`small`,wt,o(e.$t(`daq.k8jxxe8023`)),1)]),_:1})):g(``,!0)])])]),V.value?(s(),m(`div`,{key:4,class:`modal-mask`,onClick:t[14]||=w(e=>V.value=!1,[`self`])},[p(`div`,Tt,[p(`h3`,Et,o(e.$t(`daq.k19rioqa024`)),1),p(`div`,Dt,[p(`button`,{class:c([`seg`,{on:H.value===`mock`}]),onClick:t[7]||=e=>H.value=`mock`},o(e.$t(`daq.k1p5c1un025`)),3),p(`button`,{class:c([`seg`,{on:H.value===`real`}]),onClick:t[8]||=e=>H.value=`real`},o(e.$t(`daq.k1cbcp3o026`)),3)]),p(`div`,Ot,[p(`label`,kt,[p(`span`,null,o(e.$t(`daq.k1fsgerc027`)),1),_(p(`select`,{"onUpdate:modelValue":t[9]||=e=>U.value=e,class:`inp`},[(s(!0),m(h,null,l(x(k).templates,t=>(s(),m(`option`,{key:t.key,value:t.key},o(t.name)+` · `+o(t.ch)+`(`+o(t.min)+`~`+o(t.max)+` `+o(t.unit)+`)`+o(t.builtin?``:e.$t(`daq.kr45rk9097`)),9,At))),128))],512),[[C,U.value]])]),p(`label`,jt,[p(`span`,null,o(e.$t(`daq.k1ce2k1y028`)),1),_(p(`input`,{"onUpdate:modelValue":t[10]||=e=>G.value=e,class:`inp`,placeholder:e.$t(`daq.kgpxzy3005`)},null,8,Mt),[[T,G.value]])]),H.value===`real`?(s(),m(`label`,Nt,[p(`span`,null,o(e.$t(`daq.k13mfsfc029`)),1),_(p(`input`,{"onUpdate:modelValue":t[11]||=e=>xi.value=e,type:`number`,min:`1000`,max:`60000`,step:`500`,class:`inp`,placeholder:e.$t(`daq.k1eg1000a136`)},null,8,Pt),[[T,xi.value,void 0,{number:!0}]])])):g(``,!0)]),H.value===`real`?(s(),m(h,{key:0},[p(`div`,Ft,[p(`label`,It,[p(`span`,null,o(e.$t(`daq.k1kt87rx030`)),1),_(p(`select`,{"onUpdate:modelValue":t[12]||=e=>W.value=e,class:`inp`},[(s(!0),m(h,null,l(x(ue).filter(e=>e.status!==`planned`),t=>(s(),m(`option`,{key:t.kind,value:t.kind},o(t.label)+o(Di(t.kind)?``:e.$t(`daq.kjbqphp098`)),9,Lt))),128))],512),[[C,W.value]])])]),J.value.length?(s(),m(`div`,Rt,[(s(!0),m(h,null,l(J.value,e=>(s(),m(`label`,{key:e.key,class:`f`},[p(`span`,null,[S(o(e.label),1),e.required?(s(),m(`em`,zt,`*`)):g(``,!0)]),e.type===`select`?_((s(),m(`select`,{key:0,"onUpdate:modelValue":t=>K.value[e.key]=t,class:`inp`},[(s(!0),m(h,null,l(e.options,e=>(s(),m(`option`,{key:e.value,value:e.value},o(e.label),9,Vt))),128))],8,Bt)),[[C,K.value[e.key]]]):_((s(),m(`input`,{key:1,"onUpdate:modelValue":t=>K.value[e.key]=t,type:e.type===`number`?`number`:`text`,placeholder:e.placeholder,class:`inp`},null,8,Ht)),[[ee,K.value[e.key]]]),e.hint?(s(),m(`small`,Ut,o(e.hint),1)):g(``,!0)]))),128))])):g(``,!0),p(`div`,Wt,[p(`button`,{class:`pill-btn`,disabled:Ci.value,onClick:Oi},o(Ci.value?e.$t(`daq.k1fsh720099`):e.$t(`daq.k1fstglk112`)),9,Gt),q.value?(s(),m(`span`,{key:0,class:c([`test-result`,q.value.ok?`ok`:`bad`])},[S(o(q.value.ok?`✓`:`✗`)+` `+o(q.value.message),1),q.value.latencyMs==null?g(``,!0):(s(),m(h,{key:0},[S(`(`+o(q.value.latencyMs)+`ms)`,1)],64))],2)):g(``,!0)])],64)):g(``,!0),Ti.value?(s(),m(`p`,Kt,o(Ti.value),1)):g(``,!0),p(`div`,qt,[p(`button`,{class:`aw-pill outline`,onClick:t[13]||=e=>V.value=!1},o(e.$t(`daq.k3xdnn031`)),1),p(`button`,{class:`aw-pill`,disabled:wi.value||H.value===`real`&&q.value!=null&&!q.value.ok,title:H.value===`real`&&!(q.value&&q.value.ok)?e.$t(`daq.k1needtst137`):``,onClick:ki},o(wi.value?e.$t(`daq.k1bg4759100`):H.value===`real`?e.$t(`daq.k7pxjxo113`):e.$t(`daq.k1bge46t118`)),9,Jt)])])])):g(``,!0),ji.value?(s(),m(`div`,{key:5,class:`modal-mask`,onClick:t[25]||=w(e=>ji.value=!1,[`self`])},[p(`div`,Yt,[p(`h3`,Xt,o(e.$t(`daq.k11mv96s032`)),1),p(`p`,Zt,o(e.$t(`daq.ktji4ky033`)),1),p(`table`,Qt,[p(`tbody`,null,[(s(!0),m(h,null,l(Pi.value,t=>(s(),m(`tr`,{key:t.key},[p(`td`,null,[p(`b`,null,o(t.name),1),p(`small`,$t,o(t.code),1)]),p(`td`,en,o(t.min)+`~`+o(t.max)+` `+o(t.unit)+` · `+o(t.decimals)+` `+o(e.$t(`daq.k48oi091`)),1),p(`td`,tn,[p(`button`,{class:`mini-btn`,onClick:e=>Ri(t)},o(e.$t(`daq.k45eb0034`)),9,nn),p(`button`,{class:`mini-btn danger`,onClick:e=>Vi(t)},o(Z.value===t.key?e.$t(`daq.k1hhheu3101`):e.$t(`daq.k3xakp114`)),9,rn)])]))),128)),Pi.value.length?g(``,!0):(s(),m(`tr`,an,[p(`td`,on,o(e.$t(`daq.kztvzbo035`)),1)]))])]),p(`p`,sn,o(Y.value?e.$t(`daq.k1iiph0s102`):e.$t(`daq.k1efixrj115`)),1),p(`div`,cn,[p(`label`,ln,[p(`span`,null,[S(o(e.$t(`daq.k3xhia036`)),1),t[52]||=p(`em`,null,`*`,-1)]),_(p(`input`,{"onUpdate:modelValue":t[15]||=e=>x(Q).name=e,class:`inp`,placeholder:e.$t(`daq.k5opd2t006`)},null,8,un),[[T,x(Q).name]])]),p(`label`,dn,[p(`span`,null,[S(o(e.$t(`daq.k3x4ef037`)),1),t[53]||=p(`em`,null,`*`,-1)]),_(p(`input`,{"onUpdate:modelValue":t[16]||=e=>x(Q).unit=e,class:`inp`,placeholder:`如 %RH`},null,512),[[T,x(Q).unit]])]),p(`label`,fn,[p(`span`,null,o(e.$t(`daq.k1l477m0038`)),1),_(p(`input`,{"onUpdate:modelValue":t[17]||=e=>x(Q).ch=e,class:`inp`,placeholder:e.$t(`daq.kk8o4tl007`)},null,8,pn),[[T,x(Q).ch]])]),p(`label`,mn,[p(`span`,null,o(e.$t(`daq.k1ayxrqb039`)),1),_(p(`input`,{"onUpdate:modelValue":t[18]||=e=>x(Q).code=e,class:`inp`,placeholder:e.$t(`daq.kzn3l7l008`)},null,8,hn),[[T,x(Q).code]])]),p(`label`,gn,[p(`span`,null,[S(o(e.$t(`daq.k1l9jv5m040`)),1),t[54]||=p(`em`,null,`*`,-1)]),_(p(`input`,{"onUpdate:modelValue":t[19]||=e=>x(Q).min=e,type:`number`,class:`inp`},null,512),[[T,x(Q).min,void 0,{number:!0}]])]),p(`label`,_n,[p(`span`,null,[S(o(e.$t(`daq.k1l9jv4p041`)),1),t[55]||=p(`em`,null,`*`,-1)]),_(p(`input`,{"onUpdate:modelValue":t[20]||=e=>x(Q).max=e,type:`number`,class:`inp`},null,512),[[T,x(Q).max,void 0,{number:!0}]])]),p(`label`,vn,[p(`span`,null,o(e.$t(`daq.k3mxmcx042`)),1),_(p(`input`,{"onUpdate:modelValue":t[21]||=e=>x(Q).decimals=e,type:`number`,min:`0`,max:`4`,class:`inp`},null,512),[[T,x(Q).decimals,void 0,{number:!0}]])]),p(`label`,yn,[p(`span`,null,o(e.$t(`daq.k3xx56043`)),1),_(p(`select`,{"onUpdate:modelValue":t[22]||=e=>x(Q).icon=e,class:`inp`},[(s(!0),m(h,null,l(x(le),e=>(s(),m(`option`,{key:e,value:e},o(Ni[e]),9,bn))),128))],512),[[C,x(Q).icon]])]),p(`label`,xn,[p(`span`,null,o(e.$t(`daq.k1f4eknv044`)),1),_(p(`input`,{"onUpdate:modelValue":t[23]||=e=>x(Q).base=e,type:`number`,class:`inp`},null,512),[[T,x(Q).base,void 0,{number:!0}]]),p(`small`,Sn,o(e.$t(`daq.kytd15s045`)),1)]),p(`label`,Cn,[p(`span`,null,o(e.$t(`daq.k1f4ifpo046`)),1),_(p(`input`,{"onUpdate:modelValue":t[24]||=e=>x(Q).amp=e,type:`number`,class:`inp`},null,512),[[T,x(Q).amp,void 0,{number:!0}]]),p(`small`,wn,o(e.$t(`daq.ksp2aji047`)),1)])]),X.value?(s(),m(`p`,Tn,o(X.value),1)):g(``,!0),p(`div`,En,[p(`button`,{class:`aw-pill outline`,onClick:Li},o(e.$t(`daq.k48p40048`)),1),p(`button`,{class:`pill-btn`,disabled:Mi.value,onClick:Bi},o(Mi.value?e.$t(`daq.k1b38d59103`):Y.value?e.$t(`daq.k1b39281116`):e.$t(`daq.k1b3dtga119`)),9,Dn)]),p(`p`,On,o(e.$t(`daq.k1w8s84s049`)),1),p(`table`,kn,[p(`tbody`,null,[(s(!0),m(h,null,l(Fi.value,t=>(s(),m(`tr`,{key:t.key},[p(`td`,null,[p(`b`,null,o(t.name),1),p(`small`,An,o(t.code),1)]),p(`td`,jn,o(t.min)+`~`+o(t.max)+` `+o(t.unit)+` · `+o(t.decimals)+` `+o(e.$t(`daq.k48oi091`)),1),p(`td`,Mn,[p(`button`,{class:`mini-btn`,onClick:e=>zi(t)},o(e.$t(`daq.k3y694050`)),9,Nn)])]))),128))])])])])):g(``,!0),p(`section`,Pn,[p(`button`,{class:`opt-head`,onClick:Me},[t[56]||=p(`span`,{class:`i-tabler-flask`},null,-1),p(`b`,null,o(e.$t(`daq.k1optt001`)),1),p(`span`,Fn,o(x(A).optimizations.length),1),p(`span`,{class:c([`opt-chevron`,{open:M.value}])},null,2)]),p(`div`,{class:c([`opt-body`,{open:M.value}])},[ke.value?(s(),m(h,{key:0},[p(`div`,In,[_(p(`select`,{"onUpdate:modelValue":t[26]||=e=>N.value=e,class:`inp-sel`,onChange:Ne},[p(`option`,Ln,o(e.$t(`daq.k1optf001`)),1),(s(!0),m(h,null,l(x(A).lines,e=>(s(),m(`option`,{key:e.id,value:e.id},o(e.name),9,Rn))),128))],544),[[C,N.value]]),_(p(`select`,{"onUpdate:modelValue":t[27]||=e=>P.value=e,class:`inp-sel`,onChange:L},[p(`option`,zn,o(e.$t(`daq.k1optf004`)),1),(s(!0),m(h,null,l(Ae.value,e=>(s(),m(`option`,{key:e.id,value:e.id},o(e.name),9,Bn))),128))],544),[[C,P.value]]),p(`button`,{class:`mini-act`,onClick:L},o(e.$t(`daq.k1optf002`)),1)]),x(A).optimizations.length===0?(s(),m(`p`,Vn,o(e.$t(`daq.k1opte001`)),1)):g(``,!0),p(`ul`,Hn,[(s(!0),m(h,null,l(x(A).optimizations.slice(0,30),t=>(s(),m(`li`,{key:t.id,class:c([`opt-row`,t.status])},[p(`div`,Un,[p(`span`,{class:c([`opt-status`,t.status])},o(e.$t(je(t.status))),3),p(`b`,Wn,o(t.nodeName),1),p(`span`,Gn,o(t.params[0]?.from??`?`)+` → `+o(t.params[0]?.to),1),p(`span`,Kn,o(t.setAt.slice(5,16).replace(`T`,` `)),1),F.value[t.id]?g(``,!0):(s(),m(`button`,{key:0,class:`mini-act`,disabled:I.value===t.id,onClick:e=>Pe(t.id)},o(e.$t(`daq.k1opta001`)),9,qn)),t.status===`open`?(s(),m(`button`,{key:1,class:`mini-act danger`,onClick:e=>Ie(t.id)},o(e.$t(`daq.k1opta002`)),9,Jn)):g(``,!0)]),p(`div`,Yn,[t.judge?(s(),m(`span`,{key:0,class:c([`opt-judge`,t.judge.verdict])},o(t.judge.verdict)+`(`+o(t.judge.by)+`): `+o(t.judge.reason.slice(0,70)),3)):t.status===`open`?(s(),m(`span`,Xn,o(e.$t(`daq.k1opto001`)),1)):g(``,!0),t.aggPending?(s(),m(`span`,Zn,o(e.$t(`daq.k1optw001`)),1)):t.windowAgg&&t.windowAgg.channels.length?(s(),m(`span`,Qn,[(s(!0),m(h,null,l(t.windowAgg.channels,t=>(s(),m(h,{key:t.daqNodeId},[S(o(t.ch)+` `+o(R(t.min))+`~`+o(R(t.max))+`(`+o(e.$t(`daq.k1optw002`))+o(t.breaches<0?`-`:t.breaches)+`) `,1)],64))),128))])):g(``,!0)]),F.value[t.id]?(s(),m(`div`,$n,[(s(!0),m(h,null,l(F.value[t.id].channels,e=>(s(),m(`div`,{key:e.nodeId,class:`opt-ch`},[(s(),m(`svg`,er,[p(`polyline`,{points:Fe(e.points)},null,8,tr)])),p(`span`,nr,o(e.ch)+` `+o(R(e.points.at(-1)?.value??e.points.at(-1)?.avg))+o(e.unit),1)]))),128)),F.value[t.id].channels.length===0?(s(),m(`p`,rr,o(e.$t(`daq.k1opte002`)),1)):g(``,!0)])):g(``,!0)],2))),128))])],64)):g(``,!0)],2)]),u(a,{spinning:!x(k).loaded&&!x(k).error},{default:b(()=>[p(`section`,ir,[p(`div`,ar,[p(`div`,or,[p(`label`,sr,[p(`span`,null,o(e.$t(`daq.k3wj9n051`)),1),_(p(`select`,{"onUpdate:modelValue":t[28]||=e=>x(j).lineId=e,class:`inp-sel`},[p(`option`,cr,o(e.$t(`daq.k1bkl9uj052`)),1),(s(!0),m(h,null,l(x(A).lines,e=>(s(),m(`option`,{key:e.id,value:e.id},o(e.name),9,lr))),128)),p(`option`,ur,o(e.$t(`daq.k3ootr6053`)),1)],512),[[C,x(j).lineId]])]),p(`label`,dr,[p(`span`,null,o(e.$t(`daq.k1i8rtqt054`)),1),_(p(`select`,{"onUpdate:modelValue":t[29]||=e=>x(j).deviceId=e,class:`inp-sel`},[p(`option`,fr,o(e.$t(`daq.k1bkw4m2055`)),1),(s(!0),m(h,null,l(mi.value,e=>(s(),m(`option`,{key:e.id,value:e.id},o(e.name)+`(`+o(e.count)+`) `,9,pr))),128)),p(`option`,mr,o(e.$t(`daq.k3own4q056`)),1)],512),[[C,x(j).deviceId]])]),p(`label`,{class:`flt`,title:e.$t(`daq.khb8mru009`)},[p(`span`,null,o(e.$t(`daq.k1b2tkyv057`)),1),_(p(`select`,{"onUpdate:modelValue":t[30]||=e=>x(j).lineRun=e,class:`inp-sel`},[p(`option`,gr,o(e.$t(`daq.k3x4t1058`)),1),p(`option`,_r,o(e.$t(`daq.k1nxm3p7059`)),1),p(`option`,vr,o(e.$t(`daq.k1ulx34e060`)),1)],512),[[C,x(j).lineRun]])],8,hr),p(`label`,yr,[p(`span`,null,o(e.$t(`daq.k1iwdfef061`)),1),_(p(`select`,{"onUpdate:modelValue":t[31]||=e=>x(j).state=e,class:`inp-sel`},[p(`option`,br,o(e.$t(`daq.k3x4t1058`)),1),p(`option`,xr,o(e.$t(`daq.k41k5c062`)),1),p(`option`,Sr,o(e.$t(`daq.k49z8v063`)),1),p(`option`,Cr,o(e.$t(`daq.k3xmid064`)),1),p(`option`,wr,o(e.$t(`daq.k44c2n065`)),1)],512),[[C,x(j).state]])]),p(`label`,Tr,[p(`span`,null,o(e.$t(`daq.k1flttpl010`)),1),_(p(`select`,{"onUpdate:modelValue":t[32]||=e=>x(j).template=e,class:`inp-sel`},[p(`option`,Er,o(e.$t(`daq.k1flttpl011`)),1),(s(!0),m(h,null,l(we.value,e=>(s(),m(`option`,{key:e.ref,value:e.ref},o(e.label)+`(`+o(e.count)+`) `,9,Dr))),128))],512),[[C,x(j).template]])]),p(`label`,Or,[p(`span`,null,o(e.$t(`daq.k1fltdrv012`)),1),_(p(`select`,{"onUpdate:modelValue":t[33]||=e=>x(j).driver=e,class:`inp-sel`},[p(`option`,kr,o(e.$t(`daq.k1fltdrv013`)),1),(s(!0),m(h,null,l(Te.value,e=>(s(),m(`option`,{key:e.kind,value:e.kind},o(e.label)+`(`+o(e.count)+`) `,9,Ar))),128))],512),[[C,x(j).driver]])]),p(`label`,{class:`flt`,title:e.$t(`daq.k1flttim014`)},[p(`span`,null,o(e.$t(`daq.k1flttim015`)),1),_(p(`select`,{"onUpdate:modelValue":t[34]||=e=>x(j).time=e,class:`inp-sel`},[p(`option`,Mr,o(e.$t(`daq.k1flttim016`)),1),p(`option`,Nr,o(e.$t(`daq.k1timlv017`)),1),p(`option`,Pr,o(e.$t(`daq.k1timhr018`)),1),p(`option`,Fr,o(e.$t(`daq.k1timdy019`)),1),p(`option`,Ir,o(e.$t(`daq.k1timld020`)),1),p(`option`,Lr,o(e.$t(`daq.k1timnv021`)),1)],512),[[C,x(j).time]])],8,jr),p(`label`,Rr,[p(`span`,null,o(e.$t(`daq.k1fltsrc022`)),1),_(p(`input`,{"onUpdate:modelValue":t[35]||=e=>x(j).search=e,class:`inp-sel flt-search`,type:`search`,placeholder:e.$t(`daq.k1fltsph023`)},null,8,zr),[[T,x(j).search]])]),Se.value?(s(),m(`button`,{key:0,class:`mini-btn clear-btn`,onClick:Ce},o(e.$t(`daq.k1fygck2066`)),1)):g(``,!0)]),p(`span`,Br,o(vi.value.length)+` / `+o(x(k).nodes.length)+` `+o(e.$t(`daq.k45uio067`)),1)]),p(`div`,Vr,[p(`div`,{class:c([`ops-panel alarm-panel`,{live:x(k).alarms.length>0}])},[p(`div`,Hr,[t[57]||=p(`span`,{class:`i-tabler-bell-ringing bell`},null,-1),p(`b`,null,o(e.$t(`daq.k1alarm141`)),1),p(`span`,{class:c([`mono cnt`,{hot:x(k).alarms.length>0}])},o(x(k).alarms.length),3)]),p(`div`,Ur,[x(k).alarms.length===0?(s(),m(`p`,Wr,o(e.$t(`daq.k1evt001`)),1)):(s(!0),m(h,{key:1},l(x(k).alarms,n=>(s(),m(`div`,{key:n.id,class:`alarm-row`},[t[58]||=p(`span`,{class:`i-tabler-alert-triangle tri`},null,-1),p(`b`,null,o(n.nodeName),1),p(`span`,Gr,o(n.metric),1),p(`span`,Kr,o(n.value)+` `+o(n.rule===`lt-min`?`<`:`>`)+` `+o(n.threshold),1),n.escalation>0?(s(),m(`small`,qr,`+`+o(n.escalation),1)):g(``,!0),p(`button`,{class:`mini-btn ack`,onClick:e=>be(n.id)},o(e.$t(`daq.k1ack142`)),9,Jr)]))),128))])],2),p(`div`,Yr,[p(`div`,Xr,[t[60]||=p(`span`,{class:`i-tabler-activity`},null,-1),p(`b`,null,o(e.$t(`daq.k1evt002`)),1),u(r,{class:`panel-link`,to:`/logs`},{default:b(()=>[S(o(e.$t(`daq.k1evt003`)),1),t[59]||=p(`span`,{class:`i-tabler-arrow-right`},null,-1)]),_:1})]),p(`div`,Zr,[x(_e).recent.length===0?(s(),m(`p`,Qr,o(e.$t(`daq.k1evt004`)),1)):(s(!0),m(h,{key:1},l(x(_e).recent,(t,n)=>(s(),m(`div`,{key:`${t.at}:${t.actor}:${t.action}:${n}`,class:`evt-row`},[p(`span`,$r,o(ye(t.at)),1),p(`span`,{class:c([`src-badge`,t.actorKind])},o(t.actorKind===`agent`?`Agent`:t.actorKind===`user`?e.$t(`logs.src.user`):e.$t(`logs.src.system`)),3),p(`span`,{class:c([`kind-chip`,t.kind])},o(ve(t.kind)),3),p(`span`,{class:`txt`,title:t.summary},o(t.summary),9,ei)]))),128))])])]),p(`table`,ti,[p(`thead`,null,[p(`tr`,null,[p(`th`,null,o(e.$t(`daq.k45uio067`)),1),p(`th`,null,o(e.$t(`daq.k42w8s068`)),1),p(`th`,null,o(e.$t(`daq.k3mv305069`)),1),p(`th`,null,o(e.$t(`daq.k1trnd001`)),1),p(`th`,null,o(e.$t(`daq.k1l6g2ga070`)),1),p(`th`,null,o(e.$t(`daq.k3zi0nf071`)),1),p(`th`,null,o(e.$t(`daq.k4a0la072`)),1),p(`th`,null,o(e.$t(`daq.k3wj9n051`)),1),p(`th`,{title:e.$t(`daq.k1runtipc131`)},o(e.$t(`daq.k1b2tkyv057`)),9,ni),p(`th`,{title:e.$t(`daq.k1prdrtip132`)},o(e.$t(`daq.k1prodrc128`)),9,ri),p(`th`,null,o(e.$t(`daq.k1i8rtqt054`)),1),p(`th`,ii,o(e.$t(`daq.k40aa6073`)),1)])]),p(`tbody`,null,[(s(!0),m(h,null,l(vi.value,e=>(s(),v(i,{key:e.id,n:e},null,8,[`n`]))),128)),x(k).loaded&&x(k).nodes.length===0?(s(),m(`tr`,ai,[p(`td`,oi,[p(`div`,si,[p(`p`,ci,o(e.$t(`daq.kvhjyc3075`)),1)])])])):x(k).loaded&&vi.value.length===0?(s(),m(`tr`,li,[p(`td`,ui,[p(`div`,di,[p(`p`,fi,o(e.$t(`daq.k1w20qew076`)),1)])])])):g(``,!0)])])])]),_:1},8,[`spinning`]),x(k).error?(s(),m(`p`,pi,[S(o(x(k).error)+`(`,1),u(r,{to:`/workshop`},{default:b(()=>[S(o(e.$t(`daq.k1bhhheq077`)),1)]),_:1}),t[61]||=S(`) `,-1)])):g(``,!0)])}}}),[[`__scopeId`,`data-v-e2087525`]]);export{mi as default};