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
@@ -19,13 +19,14 @@ import { c as checkbox_default } from './checkbox-8fB-wI-T.mjs';
19
19
  import { d as drawer_default } from './drawer-Cmh90erI.mjs';
20
20
  import { s as spin_default } from './spin-HVY81X_L.mjs';
21
21
  import { s as switch_default } from './switch-CelRXpcy.mjs';
22
- import { u as useWorkspacesStore } from './workspaces-BuydxM-3.mjs';
22
+ import { u as useResponsive } from './useResponsive-BKDMGTHs.mjs';
23
+ import { u as useWorkspacesStore } from './workspaces-Bgz5Ekwp.mjs';
23
24
  import { a as apiErrorMessage } from './api-error-dul30BYQ.mjs';
24
25
  import { u as useEntitiesStore, a as useWorkshopWs, b as agentHueColor, c as useEventsStore, B as BlockClusterer, K as KIND_META, d as blockTier, e as buildStreamText, f as useWsConnectionStore, m as mdLiteMentions, T as TOOL_META, i as isStreaming, s as streamCursorVisible } from './useWorkshopWs-C_I7q9As.mjs';
25
26
  import { u as useWorkshopApi } from './useWorkshopApi-NyjL0L3j.mjs';
26
27
  import { f as formatLocalClock } from './useLocalTime-9a4B-aHv.mjs';
27
28
  import { O as OmpTerminalPanel_default } from './OmpTerminalPanel-Cu_s4i0A.mjs';
28
- import { u as useStorage, T as TownView_default } from './TownView-jVazYOjN.mjs';
29
+ import { u as useStorage, T as TownView_default } from './TownView--otsnr_7.mjs';
29
30
  import { defineComponent, computed, ref, watch, provide, mergeProps, unref, isRef, reactive, withCtx, createVNode, toDisplayString, createTextVNode, openBlock, createBlock, createCommentVNode, Fragment, renderList, withKeys, nextTick, useModel, withModifiers, mergeModels, shallowRef, toValue, onScopeDispose, Transition, withDirectives, vShow, inject, resolveDynamicComponent, resolveComponent, cloneVNode, useSSRContext } from 'vue';
30
31
  import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate, ssrRenderAttr, ssrRenderClass, ssrRenderStyle, ssrRenderTeleport, ssrRenderList, ssrIncludeBooleanAttr, ssrRenderVNode } from 'vue/server-renderer';
31
32
  import '../_/nitro.mjs';
@@ -61,9 +62,9 @@ import '@ant-design/colors';
61
62
  import 'axios';
62
63
  import './Checkbox-eax2M3o-.mjs';
63
64
  import './useTownBus-D9SoIsAN.mjs';
64
- import './useDcwStream-CBbiYnWe.mjs';
65
+ import './useDcwStream-UPiX-3iO.mjs';
65
66
  import './apiClient-BwnfOQU8.mjs';
66
- import './useDaqStream-CIBaiGAl.mjs';
67
+ import './useDaqStream-DfCFpb3p.mjs';
67
68
  import './useDeviceTwins-Yko6nNPF.mjs';
68
69
  import 'three';
69
70
  import 'three/examples/jsm/loaders/GLTFLoader.js';
@@ -2283,9 +2284,9 @@ var ChannelSessionList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
2283
2284
  const _component_a_radio_group = Group_default$1;
2284
2285
  const _component_a_radio = radio_default;
2285
2286
  const _component_workshop_file_selector_modal = FileSelectorModal_default;
2286
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "channel-list" }, _attrs))} data-v-535bdd58><div class="list-head" data-v-535bdd58><span class="title" data-v-535bdd58>Channels</span><span class="head-actions" data-v-535bdd58><button class="head-op im" type="button" title="Channel 模板中心" data-v-535bdd58><span class="i-tabler-layout-grid-add im-pop" data-v-535bdd58></span></button><button class="head-op im" type="button" title="新建 Channel" data-v-535bdd58><span class="i-tabler-plus im-pop" data-v-535bdd58></span></button></span></div>`);
2287
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "channel-list" }, _attrs))} data-v-749e05c3><div class="list-head" data-v-749e05c3><span class="title" data-v-749e05c3>Channels</span><span class="head-actions" data-v-749e05c3><button class="head-op im" type="button" title="Channel 模板中心" data-v-749e05c3><span class="i-tabler-layout-grid-add im-pop" data-v-749e05c3></span></button><button class="head-op im" type="button" title="新建 Channel" data-v-749e05c3><span class="i-tabler-plus im-pop" data-v-749e05c3></span></button></span></div>`);
2287
2288
  _push(ssrRenderComponent(_component_ClientOnly, null, {}, _parent));
2288
- _push(`<div class="mount-template" data-v-535bdd58>`);
2289
+ _push(`<div class="mount-template" data-v-749e05c3>`);
2289
2290
  _push(ssrRenderComponent(_component_a_select, {
2290
2291
  value: unref(templateMountId),
2291
2292
  "onUpdate:value": ($event) => isRef(templateMountId) ? templateMountId.value = $event : null,
@@ -2303,7 +2304,7 @@ var ChannelSessionList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
2303
2304
  })),
2304
2305
  onChange: mountFromTemplate
2305
2306
  }, null, _parent));
2306
- _push(`<div class="tpl-hint" data-v-535bdd58>${ssrInterpolate(_ctx.$t("channelSessionList.k18ppu31016"))}</div></div>`);
2307
+ _push(`<div class="tpl-hint" data-v-749e05c3>${ssrInterpolate(_ctx.$t("channelSessionList.k18ppu31016"))}</div></div>`);
2307
2308
  _push(ssrRenderComponent(_component_a_modal, {
2308
2309
  open: unref(mountModal),
2309
2310
  "onUpdate:open": ($event) => isRef(mountModal) ? mountModal.value = $event : null,
@@ -2345,7 +2346,7 @@ var ChannelSessionList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
2345
2346
  }, _parent, _scopeId));
2346
2347
  _push(ssrRenderComponent(_component_a_form_item, { label: _ctx.$t("channelSessionList.k1wj4f38004") }, {
2347
2348
  extra: withCtx((_, _push, _parent, _scopeId) => {
2348
- if (_push) _push(`<span class="ws-hint" data-v-535bdd58${_scopeId}>${ssrInterpolate(_ctx.$t("channelSessionList.k1u3zsr5017"))}</span>`);
2349
+ if (_push) _push(`<span class="ws-hint" data-v-749e05c3${_scopeId}>${ssrInterpolate(_ctx.$t("channelSessionList.k1u3zsr5017"))}</span>`);
2349
2350
  else return [createVNode("span", { class: "ws-hint" }, toDisplayString(_ctx.$t("channelSessionList.k1u3zsr5017")), 1)];
2350
2351
  }),
2351
2352
  default: withCtx((_, _push, _parent, _scopeId) => {
@@ -2370,7 +2371,7 @@ var ChannelSessionList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
2370
2371
  }, _parent, _scopeId));
2371
2372
  _push(ssrRenderComponent(_component_a_form_item, { label: _ctx.$t("channelSessionList.kmgv4h5006") }, {
2372
2373
  extra: withCtx((_, _push, _parent, _scopeId) => {
2373
- if (_push) _push(`<span class="ws-hint" data-v-535bdd58${_scopeId}>${ssrInterpolate(_ctx.$t("channelSessionList.kucq30k019"))}</span>`);
2374
+ if (_push) _push(`<span class="ws-hint" data-v-749e05c3${_scopeId}>${ssrInterpolate(_ctx.$t("channelSessionList.kucq30k019"))}</span>`);
2374
2375
  else return [createVNode("span", { class: "ws-hint" }, toDisplayString(_ctx.$t("channelSessionList.kucq30k019")), 1)];
2375
2376
  }),
2376
2377
  default: withCtx((_, _push, _parent, _scopeId) => {
@@ -2434,7 +2435,7 @@ var ChannelSessionList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
2434
2435
  }, _parent, _scopeId));
2435
2436
  _push(ssrRenderComponent(_component_a_form_item, null, {
2436
2437
  default: withCtx((_, _push, _parent, _scopeId) => {
2437
- if (_push) _push(`<span class="ws-hint" data-v-535bdd58${_scopeId}>${ssrInterpolate(_ctx.$t("channelSessionList.k1ful761020"))}</span>`);
2438
+ if (_push) _push(`<span class="ws-hint" data-v-749e05c3${_scopeId}>${ssrInterpolate(_ctx.$t("channelSessionList.k1ful761020"))}</span>`);
2438
2439
  else return [createVNode("span", { class: "ws-hint" }, toDisplayString(_ctx.$t("channelSessionList.k1ful761020")), 1)];
2439
2440
  }),
2440
2441
  _: 1
@@ -2940,12 +2941,12 @@ var ChannelSessionList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
2940
2941
  default: withCtx((_, _push, _parent, _scopeId) => {
2941
2942
  if (_push) {
2942
2943
  if (unref(pluginRows).length) {
2943
- _push(`<div class="ch-plugin-list" data-v-535bdd58${_scopeId}><!--[-->`);
2944
+ _push(`<div class="ch-plugin-list" data-v-749e05c3${_scopeId}><!--[-->`);
2944
2945
  ssrRenderList(unref(pluginRows), (p) => {
2945
- _push(`<div class="ch-plugin-row" data-v-535bdd58${_scopeId}><div class="ch-plugin-main" data-v-535bdd58${_scopeId}><span class="aw-mono" data-v-535bdd58${_scopeId}>${ssrInterpolate(p.name)}</span>`);
2946
- if (p.builtin) _push(`<span class="ws-hint" data-v-535bdd58${_scopeId}>内置</span>`);
2946
+ _push(`<div class="ch-plugin-row" data-v-749e05c3${_scopeId}><div class="ch-plugin-main" data-v-749e05c3${_scopeId}><span class="aw-mono" data-v-749e05c3${_scopeId}>${ssrInterpolate(p.name)}</span>`);
2947
+ if (p.builtin) _push(`<span class="ws-hint" data-v-749e05c3${_scopeId}>内置</span>`);
2947
2948
  else _push(`<!---->`);
2948
- if (p.description) _push(`<span class="ws-hint ch-plugin-desc" data-v-535bdd58${_scopeId}>${ssrInterpolate(p.description)}</span>`);
2949
+ if (p.description) _push(`<span class="ws-hint ch-plugin-desc" data-v-749e05c3${_scopeId}>${ssrInterpolate(p.description)}</span>`);
2949
2950
  else _push(`<!---->`);
2950
2951
  _push(`</div>`);
2951
2952
  _push(ssrRenderComponent(_component_a_switch, {
@@ -2957,10 +2958,10 @@ var ChannelSessionList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
2957
2958
  _push(`</div>`);
2958
2959
  });
2959
2960
  _push(`<!--]-->`);
2960
- if (unref(pluginSource) !== "explicit") _push(`<span class="ws-hint" data-v-535bdd58${_scopeId}>${ssrInterpolate(unref(t)("channelSessionList.k1plugsrc046"))}</span>`);
2961
+ if (unref(pluginSource) !== "explicit") _push(`<span class="ws-hint" data-v-749e05c3${_scopeId}>${ssrInterpolate(unref(t)("channelSessionList.k1plugsrc046"))}</span>`);
2961
2962
  else _push(`<!---->`);
2962
2963
  _push(`</div>`);
2963
- } else _push(`<span class="ws-hint" data-v-535bdd58${_scopeId}>—</span>`);
2964
+ } else _push(`<span class="ws-hint" data-v-749e05c3${_scopeId}>—</span>`);
2964
2965
  } else return [unref(pluginRows).length ? (openBlock(), createBlock("div", {
2965
2966
  key: 0,
2966
2967
  class: "ch-plugin-list"
@@ -3006,12 +3007,12 @@ var ChannelSessionList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
3006
3007
  onClick: openSaveTemplate
3007
3008
  }, {
3008
3009
  default: withCtx((_, _push, _parent, _scopeId) => {
3009
- if (_push) _push(`<span class="i-tabler-template" data-v-535bdd58${_scopeId}></span> ${ssrInterpolate(_ctx.$t("channelSessionList.k6kpql010"))}`);
3010
+ if (_push) _push(`<span class="i-tabler-template" data-v-749e05c3${_scopeId}></span> ${ssrInterpolate(_ctx.$t("channelSessionList.k6kpql010"))}`);
3010
3011
  else return [createVNode("span", { class: "i-tabler-template" }), createTextVNode(" " + toDisplayString(_ctx.$t("channelSessionList.k6kpql010")), 1)];
3011
3012
  }),
3012
3013
  _: 1
3013
3014
  }, _parent, _scopeId));
3014
- _push(`<span class="ws-hint" data-v-535bdd58${_scopeId}>${ssrInterpolate(_ctx.$t("channelSessionList.k1x6kznr021"))}</span>`);
3015
+ _push(`<span class="ws-hint" data-v-749e05c3${_scopeId}>${ssrInterpolate(_ctx.$t("channelSessionList.k1x6kznr021"))}</span>`);
3015
3016
  } else return [createVNode(_component_a_button, {
3016
3017
  size: "small",
3017
3018
  onClick: openSaveTemplate
@@ -3496,7 +3497,7 @@ var ChannelSessionList_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
3496
3497
  }, _parent, _scopeId));
3497
3498
  _push(ssrRenderComponent(_component_a_form_item, null, {
3498
3499
  default: withCtx((_, _push, _parent, _scopeId) => {
3499
- if (_push) _push(`<span class="ws-hint" data-v-535bdd58${_scopeId}>${ssrInterpolate(_ctx.$t("channelSessionList.kl9btf7024"))}</span>`);
3500
+ if (_push) _push(`<span class="ws-hint" data-v-749e05c3${_scopeId}>${ssrInterpolate(_ctx.$t("channelSessionList.kl9btf7024"))}</span>`);
3500
3501
  else return [createVNode("span", { class: "ws-hint" }, toDisplayString(_ctx.$t("channelSessionList.kl9btf7024")), 1)];
3501
3502
  }),
3502
3503
  _: 1
@@ -3612,7 +3613,7 @@ ChannelSessionList_vue_vue_type_script_setup_true_lang_default.setup = (props, c
3612
3613
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/ChannelSessionList.vue");
3613
3614
  return _sfc_setup$29 ? _sfc_setup$29(props, ctx) : void 0;
3614
3615
  };
3615
- var ChannelSessionList_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ChannelSessionList_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-535bdd58"]]), { __name: "WorkshopChannelSessionList" });
3616
+ var ChannelSessionList_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ChannelSessionList_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-749e05c3"]]), { __name: "WorkshopChannelSessionList" });
3616
3617
  //#endregion
3617
3618
  //#region app/components/workshop/LiveAgentBar.vue?vue&type=script&setup=true&lang.ts
3618
3619
  var LiveAgentBar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -3651,16 +3652,16 @@ var LiveAgentBar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
3651
3652
  const popOpen = ref(false);
3652
3653
  const initials = (name) => name.trim().charAt(0).toUpperCase();
3653
3654
  return (_ctx, _push, _parent, _attrs) => {
3654
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "live-bar" }, _attrs))} data-v-865fed94>`);
3655
- if (unref(live).length === 0) _push(`<div class="live-idle" data-v-865fed94><span class="idle-dot" aria-hidden="true" data-v-865fed94></span><span class="idle-text" data-v-865fed94>${ssrInterpolate(_ctx.$t("liveAgentBar.kr4bxgp001"))}</span></div>`);
3655
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "live-bar" }, _attrs))} data-v-8f6c62e6>`);
3656
+ if (unref(live).length === 0) _push(`<div class="live-idle" data-v-8f6c62e6><span class="idle-dot" aria-hidden="true" data-v-8f6c62e6></span><span class="idle-text" data-v-8f6c62e6>${ssrInterpolate(_ctx.$t("liveAgentBar.kr4bxgp001"))}</span></div>`);
3656
3657
  else {
3657
- _push(`<!--[--><button type="button" class="live-main"${ssrRenderAttr("title", _ctx.$t("liveAgentBar.kh66fan003", { p0: unref(live)[0].name }))} data-v-865fed94><span class="live-ava" data-v-865fed94><span class="aw-avatar is-agent live-avatar" style="${ssrRenderStyle({ "--av": unref(agentHueColor)(unref(live)[0].agentId) })}" data-v-865fed94>${ssrInterpolate(initials(unref(live)[0].name))}</span><span class="live-pip" aria-hidden="true" data-v-865fed94></span></span><span class="live-text" data-v-865fed94><span class="live-name" data-v-865fed94>${ssrInterpolate(unref(live)[0].name)}</span><span class="live-detail" data-v-865fed94>${ssrInterpolate(unref(live)[0].taskLabel)}</span></span></button>`);
3658
- if (unref(live).length > 1) _push(`<button type="button" class="live-more" aria-haspopup="true"${ssrRenderAttr("aria-expanded", unref(popOpen))}${ssrRenderAttr("title", _ctx.$t("liveAgentBar.k1a39d92004", { p0: unref(live).length - 1 }))} data-v-865fed94> +${ssrInterpolate(unref(live).length - 1)}</button>`);
3658
+ _push(`<!--[--><button type="button" class="live-main"${ssrRenderAttr("title", _ctx.$t("liveAgentBar.kh66fan003", { p0: unref(live)[0].name }))} data-v-8f6c62e6><span class="live-ava" data-v-8f6c62e6><span class="aw-avatar is-agent live-avatar" style="${ssrRenderStyle({ "--av": unref(agentHueColor)(unref(live)[0].agentId) })}" data-v-8f6c62e6>${ssrInterpolate(initials(unref(live)[0].name))}</span><span class="live-pip" aria-hidden="true" data-v-8f6c62e6></span></span><span class="live-text" data-v-8f6c62e6><span class="live-name" data-v-8f6c62e6>${ssrInterpolate(unref(live)[0].name)}</span><span class="live-detail" data-v-8f6c62e6>${ssrInterpolate(unref(live)[0].taskLabel)}</span></span></button>`);
3659
+ if (unref(live).length > 1) _push(`<button type="button" class="live-more" aria-haspopup="true"${ssrRenderAttr("aria-expanded", unref(popOpen))}${ssrRenderAttr("title", _ctx.$t("liveAgentBar.k1a39d92004", { p0: unref(live).length - 1 }))} data-v-8f6c62e6> +${ssrInterpolate(unref(live).length - 1)}</button>`);
3659
3660
  else _push(`<!---->`);
3660
3661
  if (unref(popOpen) && unref(live).length > 1) {
3661
- _push(`<!--[--><div class="live-backdrop" data-v-865fed94></div><div class="live-pop" data-v-865fed94><div class="live-pop-title" data-v-865fed94>${ssrInterpolate(_ctx.$t("liveAgentBar.k1sf0ymy002"))} ${ssrInterpolate(unref(live).length)}</div><!--[-->`);
3662
+ _push(`<!--[--><div class="live-backdrop" data-v-8f6c62e6></div><div class="live-pop" data-v-8f6c62e6><div class="live-pop-title" data-v-8f6c62e6>${ssrInterpolate(_ctx.$t("liveAgentBar.k1sf0ymy002"))} ${ssrInterpolate(unref(live).length)}</div><!--[-->`);
3662
3663
  ssrRenderList(unref(live), (a) => {
3663
- _push(`<button type="button" class="live-pop-item" data-v-865fed94><span class="aw-avatar is-agent live-avatar-sm" style="${ssrRenderStyle({ "--av": unref(agentHueColor)(a.agentId) })}" data-v-865fed94>${ssrInterpolate(initials(a.name))}</span><span class="live-pop-text" data-v-865fed94><span class="live-pop-name" data-v-865fed94>${ssrInterpolate(a.name)}</span><span class="live-pop-detail" data-v-865fed94>${ssrInterpolate(a.taskLabel)}</span></span><span class="pop-dot" aria-hidden="true" data-v-865fed94></span></button>`);
3664
+ _push(`<button type="button" class="live-pop-item" data-v-8f6c62e6><span class="aw-avatar is-agent live-avatar-sm" style="${ssrRenderStyle({ "--av": unref(agentHueColor)(a.agentId) })}" data-v-8f6c62e6>${ssrInterpolate(initials(a.name))}</span><span class="live-pop-text" data-v-8f6c62e6><span class="live-pop-name" data-v-8f6c62e6>${ssrInterpolate(a.name)}</span><span class="live-pop-detail" data-v-8f6c62e6>${ssrInterpolate(a.taskLabel)}</span></span><span class="pop-dot" aria-hidden="true" data-v-8f6c62e6></span></button>`);
3664
3665
  });
3665
3666
  _push(`<!--]--></div><!--]-->`);
3666
3667
  } else _push(`<!---->`);
@@ -3678,7 +3679,7 @@ LiveAgentBar_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) =>
3678
3679
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/LiveAgentBar.vue");
3679
3680
  return _sfc_setup$28 ? _sfc_setup$28(props, ctx) : void 0;
3680
3681
  };
3681
- var LiveAgentBar_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(LiveAgentBar_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-865fed94"]]), { __name: "WorkshopLiveAgentBar" });
3682
+ var LiveAgentBar_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(LiveAgentBar_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-8f6c62e6"]]), { __name: "WorkshopLiveAgentBar" });
3682
3683
  //#endregion
3683
3684
  //#region app/components/workshop/PaneSplitter.vue?vue&type=script&setup=true&lang.ts
3684
3685
  var PaneSplitter_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -3810,13 +3811,13 @@ var ClusterStream_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
3810
3811
  const showCursor = computed(() => streamCursorVisible(full.value.length, visible.value, streaming.value));
3811
3812
  const rendered = computed(() => mdLiteMentions(full.value.slice(0, visible.value), members.value));
3812
3813
  return (_ctx, _push, _parent, _attrs) => {
3813
- if (__props.block.coveredBy) _push(`<div${ssrRenderAttrs(mergeProps({ class: "stream-covered" }, _attrs))} data-v-cda07cf1><span class="i-tabler-corner-right-up" data-v-cda07cf1></span><span data-v-cda07cf1>${ssrInterpolate(_ctx.$t("clusterStream.kpk9wff001"))}</span></div>`);
3814
+ if (__props.block.coveredBy) _push(`<div${ssrRenderAttrs(mergeProps({ class: "stream-covered" }, _attrs))} data-v-d381d8b3><span class="i-tabler-corner-right-up" data-v-d381d8b3></span><span data-v-d381d8b3>${ssrInterpolate(_ctx.$t("clusterStream.kpk9wff001"))}</span></div>`);
3814
3815
  else if (full.value) {
3815
- _push(`<div${ssrRenderAttrs(mergeProps({ class: ["stream-bubble", { settled: __props.block.settled }] }, _attrs))} data-v-cda07cf1><div class="stream-text prose" data-v-cda07cf1><span data-v-cda07cf1>${rendered.value ?? ""}</span>`);
3816
- if (showCursor.value) _push(`<span class="cursor" data-v-cda07cf1>▋</span>`);
3816
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: ["stream-bubble", { settled: __props.block.settled }] }, _attrs))} data-v-d381d8b3><div class="stream-text prose" data-v-d381d8b3><span data-v-d381d8b3>${rendered.value ?? ""}</span>`);
3817
+ if (showCursor.value) _push(`<span class="cursor" data-v-d381d8b3>▋</span>`);
3817
3818
  else _push(`<!---->`);
3818
3819
  _push(`</div></div>`);
3819
- } else if (streaming.value) _push(`<div${ssrRenderAttrs(mergeProps({ class: "stream-pending" }, _attrs))} data-v-cda07cf1><span class="pending-dot" data-v-cda07cf1></span><span class="pending-dot" data-v-cda07cf1></span><span class="pending-dot" data-v-cda07cf1></span></div>`);
3820
+ } else if (streaming.value) _push(`<div${ssrRenderAttrs(mergeProps({ class: "stream-pending" }, _attrs))} data-v-d381d8b3><span class="pending-dot" data-v-d381d8b3></span><span class="pending-dot" data-v-d381d8b3></span><span class="pending-dot" data-v-d381d8b3></span></div>`);
3820
3821
  else _push(`<!---->`);
3821
3822
  };
3822
3823
  }
@@ -3829,7 +3830,7 @@ ClusterStream_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) =
3829
3830
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/blocks/ClusterStream.vue");
3830
3831
  return _sfc_setup$26 ? _sfc_setup$26(props, ctx) : void 0;
3831
3832
  };
3832
- var ClusterStream_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ClusterStream_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-cda07cf1"]]), { __name: "WorkshopBlocksClusterStream" });
3833
+ var ClusterStream_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ClusterStream_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-d381d8b3"]]), { __name: "WorkshopBlocksClusterStream" });
3833
3834
  //#endregion
3834
3835
  //#region app/components/workshop/blocks/ClusterTool.vue?vue&type=script&setup=true&lang.ts
3835
3836
  var MAX$5 = 4;
@@ -3915,14 +3916,14 @@ var ClusterStatus_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
3915
3916
  });
3916
3917
  const expanded = ref(false);
3917
3918
  return (_ctx, _push, _parent, _attrs) => {
3918
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "status-cluster" }, _attrs))} data-v-1da3d4ae><button class="st-toggle"${ssrRenderAttr("aria-expanded", expanded.value)} data-v-1da3d4ae><span class="${ssrRenderClass([{ open: expanded.value }, "chev"])}" data-v-1da3d4ae>▸</span><span class="st-label" data-v-1da3d4ae>${ssrInterpolate(_ctx.$t("clusterStatus.k1fpy8te001"))}</span><span class="st-count" data-v-1da3d4ae>${ssrInterpolate(lines.value.length)}</span>`);
3919
- if (!expanded.value) _push(`<span class="st-preview" data-v-1da3d4ae>${ssrInterpolate(preview.value)}</span>`);
3919
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "status-cluster" }, _attrs))} data-v-0a42e8bb><button class="st-toggle"${ssrRenderAttr("aria-expanded", expanded.value)} data-v-0a42e8bb><span class="${ssrRenderClass([{ open: expanded.value }, "chev"])}" data-v-0a42e8bb>▸</span><span class="st-label" data-v-0a42e8bb>${ssrInterpolate(_ctx.$t("clusterStatus.k1fpy8te001"))}</span><span class="st-count" data-v-0a42e8bb>${ssrInterpolate(lines.value.length)}</span>`);
3920
+ if (!expanded.value) _push(`<span class="st-preview" data-v-0a42e8bb>${ssrInterpolate(preview.value)}</span>`);
3920
3921
  else _push(`<!---->`);
3921
3922
  _push(`</button>`);
3922
3923
  if (expanded.value) {
3923
- _push(`<div class="st-detail" data-v-1da3d4ae><!--[-->`);
3924
+ _push(`<div class="st-detail" data-v-0a42e8bb><!--[-->`);
3924
3925
  ssrRenderList(lines.value, (l) => {
3925
- _push(`<div class="st-line" data-v-1da3d4ae><span class="st-mark" data-v-1da3d4ae>·</span><pre class="st-text" data-v-1da3d4ae>${ssrInterpolate(l.text)}</pre></div>`);
3926
+ _push(`<div class="st-line" data-v-0a42e8bb><span class="st-mark" data-v-0a42e8bb>·</span><pre class="st-text" data-v-0a42e8bb>${ssrInterpolate(l.text)}</pre></div>`);
3926
3927
  });
3927
3928
  _push(`<!--]--></div>`);
3928
3929
  } else _push(`<!---->`);
@@ -3938,7 +3939,7 @@ ClusterStatus_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) =
3938
3939
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/blocks/ClusterStatus.vue");
3939
3940
  return _sfc_setup$24 ? _sfc_setup$24(props, ctx) : void 0;
3940
3941
  };
3941
- var ClusterStatus_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ClusterStatus_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-1da3d4ae"]]), { __name: "WorkshopBlocksClusterStatus" });
3942
+ var ClusterStatus_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ClusterStatus_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-0a42e8bb"]]), { __name: "WorkshopBlocksClusterStatus" });
3942
3943
  //#endregion
3943
3944
  //#region app/components/workshop/blocks/ClusterLife.vue?vue&type=script&setup=true&lang.ts
3944
3945
  var ClusterLife_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -4075,29 +4076,29 @@ var ClusterRoute_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
4075
4076
  const shownRendered = computed(() => expanded.value ? rendered.value : rendered.value.slice(0, MAX$4));
4076
4077
  const hasMore = computed(() => rows.value.length > MAX$4);
4077
4078
  return (_ctx, _push, _parent, _attrs) => {
4078
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "route-cluster" }, _attrs))} data-v-72348858><!--[-->`);
4079
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "route-cluster" }, _attrs))} data-v-173b8491><!--[-->`);
4079
4080
  ssrRenderList(shown.value, (r, ri) => {
4080
- _push(`<div class="chat-row" data-v-72348858><div class="chat-meta" data-v-72348858>`);
4081
- if (r.fromLabel && !r.from) _push(`<span class="human-chip"${ssrRenderAttr("title", _ctx.$t("clusterRoute.k12448jn010", { p0: r.fromLabel }))} data-v-72348858><span class="i-tabler-user" data-v-72348858></span> ${ssrInterpolate(r.fromLabel)}</span>`);
4081
+ _push(`<div class="chat-row" data-v-173b8491><div class="chat-meta" data-v-173b8491>`);
4082
+ if (r.fromLabel && !r.from) _push(`<span class="human-chip"${ssrRenderAttr("title", _ctx.$t("clusterRoute.k12448jn010", { p0: r.fromLabel }))} data-v-173b8491><span class="i-tabler-user" data-v-173b8491></span> ${ssrInterpolate(r.fromLabel)}</span>`);
4082
4083
  else _push(`<!---->`);
4083
- if (r.from) _push(`<button type="button" class="who-pill from"${ssrRenderAttr("data-agent-id", r.from)}${ssrRenderAttr("title", _ctx.$t("clusterRoute.khsfl59011", { p0: nameOf(r.from) }))} data-v-72348858><span class="aw-avatar is-agent who-ava" style="${ssrRenderStyle({ "--av": unref(agentHueColor)(r.from) })}" data-v-72348858>${ssrInterpolate(initials(nameOf(r.from)))}</span> @${ssrInterpolate(nameOf(r.from))}</button>`);
4084
+ if (r.from) _push(`<button type="button" class="who-pill from"${ssrRenderAttr("data-agent-id", r.from)}${ssrRenderAttr("title", _ctx.$t("clusterRoute.khsfl59011", { p0: nameOf(r.from) }))} data-v-173b8491><span class="aw-avatar is-agent who-ava" style="${ssrRenderStyle({ "--av": unref(agentHueColor)(r.from) })}" data-v-173b8491>${ssrInterpolate(initials(nameOf(r.from)))}</span> @${ssrInterpolate(nameOf(r.from))}</button>`);
4084
4085
  else _push(`<!---->`);
4085
- if (r.to) _push(`<span class="to-arrow" aria-hidden="true" data-v-72348858>→</span>`);
4086
+ if (r.to) _push(`<span class="to-arrow" aria-hidden="true" data-v-173b8491>→</span>`);
4086
4087
  else _push(`<!---->`);
4087
- if (r.to) _push(`<button type="button" class="who-pill"${ssrRenderAttr("data-agent-id", r.to)}${ssrRenderAttr("title", _ctx.$t("clusterRoute.khsfl59011", { p0: nameOf(r.to) }))} data-v-72348858> @${ssrInterpolate(nameOf(r.to))}</button>`);
4088
- else _push(`<span class="who-broadcast" data-v-72348858>${ssrInterpolate(_ctx.$t("clusterRoute.kyza1ya002"))}</span>`);
4089
- _push(`<span class="route-badge"${ssrRenderAttr("data-tone", r.kind.tone)} data-v-72348858><span class="${ssrRenderClass(r.kind.icon)}" data-v-72348858></span>${ssrInterpolate(r.kind.label)}</span>`);
4090
- if (r.requireReply) _push(`<span class="route-badge receipt"${ssrRenderAttr("title", _ctx.$t("clusterRoute.kfbpe32001"))} data-v-72348858><span class="i-tabler-message-reply" data-v-72348858></span>${ssrInterpolate(_ctx.$t("clusterRoute.k3wn89c003"))}</span>`);
4088
+ if (r.to) _push(`<button type="button" class="who-pill"${ssrRenderAttr("data-agent-id", r.to)}${ssrRenderAttr("title", _ctx.$t("clusterRoute.khsfl59011", { p0: nameOf(r.to) }))} data-v-173b8491> @${ssrInterpolate(nameOf(r.to))}</button>`);
4089
+ else _push(`<span class="who-broadcast" data-v-173b8491>${ssrInterpolate(_ctx.$t("clusterRoute.kyza1ya002"))}</span>`);
4090
+ _push(`<span class="route-badge"${ssrRenderAttr("data-tone", r.kind.tone)} data-v-173b8491><span class="${ssrRenderClass(r.kind.icon)}" data-v-173b8491></span>${ssrInterpolate(r.kind.label)}</span>`);
4091
+ if (r.requireReply) _push(`<span class="route-badge receipt"${ssrRenderAttr("title", _ctx.$t("clusterRoute.kfbpe32001"))} data-v-173b8491><span class="i-tabler-message-reply" data-v-173b8491></span>${ssrInterpolate(_ctx.$t("clusterRoute.k3wn89c003"))}</span>`);
4091
4092
  else _push(`<!---->`);
4092
- if (r.inReplyTo) _push(`<span class="route-badge reply-link aw-mono"${ssrRenderAttr("title", _ctx.$t("clusterRoute.k94hqp2012", { p0: r.inReplyTo }))} data-v-72348858>↩ ${ssrInterpolate(r.inReplyTo.slice(0, 8))}</span>`);
4093
+ if (r.inReplyTo) _push(`<span class="route-badge reply-link aw-mono"${ssrRenderAttr("title", _ctx.$t("clusterRoute.k94hqp2012", { p0: r.inReplyTo }))} data-v-173b8491>↩ ${ssrInterpolate(r.inReplyTo.slice(0, 8))}</span>`);
4093
4094
  else _push(`<!---->`);
4094
- _push(`<span class="chat-time aw-mono" data-v-72348858>${ssrInterpolate(r.time)}</span></div>`);
4095
- if (r.text) _push(`<div class="chat-body prose" data-v-72348858>${shownRendered.value[ri] ?? ""}</div>`);
4095
+ _push(`<span class="chat-time aw-mono" data-v-173b8491>${ssrInterpolate(r.time)}</span></div>`);
4096
+ if (r.text) _push(`<div class="chat-body prose" data-v-173b8491>${shownRendered.value[ri] ?? ""}</div>`);
4096
4097
  else _push(`<!---->`);
4097
4098
  _push(`</div>`);
4098
4099
  });
4099
4100
  _push(`<!--]-->`);
4100
- if (hasMore.value) _push(`<button class="more-btn" data-v-72348858>${ssrInterpolate(expanded.value ? _ctx.$t("clusterRoute.k40p82004") : _ctx.$t("clusterRoute.k13ewgum013", { p0: rows.value.length }))}</button>`);
4101
+ if (hasMore.value) _push(`<button class="more-btn" data-v-173b8491>${ssrInterpolate(expanded.value ? _ctx.$t("clusterRoute.k40p82004") : _ctx.$t("clusterRoute.k13ewgum013", { p0: rows.value.length }))}</button>`);
4101
4102
  else _push(`<!---->`);
4102
4103
  _push(`</div>`);
4103
4104
  };
@@ -4111,7 +4112,7 @@ ClusterRoute_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) =>
4111
4112
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/blocks/ClusterRoute.vue");
4112
4113
  return _sfc_setup$22 ? _sfc_setup$22(props, ctx) : void 0;
4113
4114
  };
4114
- var ClusterRoute_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ClusterRoute_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-72348858"]]), { __name: "WorkshopBlocksClusterRoute" });
4115
+ var ClusterRoute_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ClusterRoute_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-173b8491"]]), { __name: "WorkshopBlocksClusterRoute" });
4115
4116
  //#endregion
4116
4117
  //#region app/components/workshop/blocks/ClusterTask.vue?vue&type=script&setup=true&lang.ts
4117
4118
  var ClusterTask_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -4483,15 +4484,15 @@ var ClusterError_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
4483
4484
  const shown = computed(() => expanded.value ? lines.value : lines.value.slice(0, MAX$1));
4484
4485
  const hasMore = computed(() => lines.value.length > MAX$1);
4485
4486
  return (_ctx, _push, _parent, _attrs) => {
4486
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "error-cluster" }, _attrs))} data-v-22804f20><!--[-->`);
4487
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "error-cluster" }, _attrs))} data-v-25c85ac6><!--[-->`);
4487
4488
  ssrRenderList(shown.value, (er) => {
4488
- _push(`<div class="error-line" data-v-22804f20><span class="i-tabler-alert-triangle" data-v-22804f20></span>`);
4489
- if (er.code) _push(`<span class="error-code" data-v-22804f20>${ssrInterpolate(er.code)}</span>`);
4489
+ _push(`<div class="error-line" data-v-25c85ac6><span class="i-tabler-alert-triangle" data-v-25c85ac6></span>`);
4490
+ if (er.code) _push(`<span class="error-code" data-v-25c85ac6>${ssrInterpolate(er.code)}</span>`);
4490
4491
  else _push(`<!---->`);
4491
- _push(`<span class="error-text" data-v-22804f20>${ssrInterpolate(er.text)}</span></div>`);
4492
+ _push(`<span class="error-text" data-v-25c85ac6>${ssrInterpolate(er.text)}</span></div>`);
4492
4493
  });
4493
4494
  _push(`<!--]-->`);
4494
- if (hasMore.value) _push(`<button class="more-btn" data-v-22804f20>${ssrInterpolate(expanded.value ? _ctx.$t("clusterError.k40p82001") : `全部 ${lines.value.length} 条`)}</button>`);
4495
+ if (hasMore.value) _push(`<button class="more-btn" data-v-25c85ac6>${ssrInterpolate(expanded.value ? _ctx.$t("clusterError.k40p82001") : `全部 ${lines.value.length} 条`)}</button>`);
4495
4496
  else _push(`<!---->`);
4496
4497
  _push(`</div>`);
4497
4498
  };
@@ -4505,7 +4506,7 @@ ClusterError_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) =>
4505
4506
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/blocks/ClusterError.vue");
4506
4507
  return _sfc_setup$16 ? _sfc_setup$16(props, ctx) : void 0;
4507
4508
  };
4508
- var ClusterError_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ClusterError_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-22804f20"]]), { __name: "WorkshopBlocksClusterError" });
4509
+ var ClusterError_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ClusterError_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-25c85ac6"]]), { __name: "WorkshopBlocksClusterError" });
4509
4510
  //#endregion
4510
4511
  //#region app/components/workshop/blocks/ClusterOther.vue?vue&type=script&setup=true&lang.ts
4511
4512
  var MAX = 6;
@@ -4659,33 +4660,33 @@ var EventBlock_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
4659
4660
  "data-seq": firstSeq.value,
4660
4661
  "data-events": __props.block.events.length,
4661
4662
  "data-folded": __props.block.folded
4662
- }, _attrs))} data-v-5e0be04f><button type="button" class="${ssrRenderClass([{
4663
+ }, _attrs))} data-v-e836bc26><button type="button" class="${ssrRenderClass([{
4663
4664
  "is-agent": !!__props.block.agentId,
4664
4665
  "is-human": !!humanLabel.value,
4665
4666
  "clickable": !!__props.block.agentId
4666
- }, "agent-avatar"])}"${ssrRenderAttr("title", humanLabel.value ?? `${agentLabel.value}${roleLabel.value ? ` · ${roleLabel.value}` : ""}`)} style="${ssrRenderStyle(avColor.value ? { "--av": avColor.value } : void 0)}" data-v-5e0be04f>`);
4667
- if (humanLabel.value) _push(`<span class="i-tabler-user system-icon" data-v-5e0be04f></span>`);
4668
- else if (!__props.block.agentId) _push(`<span class="i-tabler-cpu system-icon" data-v-5e0be04f></span>`);
4667
+ }, "agent-avatar"])}"${ssrRenderAttr("title", humanLabel.value ?? `${agentLabel.value}${roleLabel.value ? ` · ${roleLabel.value}` : ""}`)} style="${ssrRenderStyle(avColor.value ? { "--av": avColor.value } : void 0)}" data-v-e836bc26>`);
4668
+ if (humanLabel.value) _push(`<span class="i-tabler-user system-icon" data-v-e836bc26></span>`);
4669
+ else if (!__props.block.agentId) _push(`<span class="i-tabler-cpu system-icon" data-v-e836bc26></span>`);
4669
4670
  else _push(`<!--[-->${ssrInterpolate(agentInitial.value)}<!--]-->`);
4670
- if (__props.block.agentId && agentState.value) _push(`<span class="${ssrRenderClass([agentState.value, "av-status"])}"${ssrRenderAttr("title", agentState.value === "busy" ? "运行中" : agentState.value === "stopped" ? "已停止" : "空闲")} data-v-5e0be04f></span>`);
4671
+ if (__props.block.agentId && agentState.value) _push(`<span class="${ssrRenderClass([agentState.value, "av-status"])}"${ssrRenderAttr("title", agentState.value === "busy" ? "运行中" : agentState.value === "stopped" ? "已停止" : "空闲")} data-v-e836bc26></span>`);
4671
4672
  else _push(`<!---->`);
4672
- _push(`</button><div class="eb-main" data-v-5e0be04f><header class="block-head" style="${ssrRenderStyle(!__props.compact ? null : { display: "none" })}" data-v-5e0be04f><span class="agent-name" data-v-5e0be04f>${ssrInterpolate(humanLabel.value ?? agentLabel.value)}</span>`);
4673
- if (roleLabel.value) _push(`<span class="role-label" data-v-5e0be04f>${ssrInterpolate(roleLabel.value)}</span>`);
4673
+ _push(`</button><div class="eb-main" data-v-e836bc26><header class="block-head" style="${ssrRenderStyle(!__props.compact ? null : { display: "none" })}" data-v-e836bc26><span class="agent-name" data-v-e836bc26>${ssrInterpolate(humanLabel.value ?? agentLabel.value)}</span>`);
4674
+ if (roleLabel.value) _push(`<span class="role-label" data-v-e836bc26>${ssrInterpolate(roleLabel.value)}</span>`);
4674
4675
  else _push(`<!---->`);
4675
- if (tier.value === "attention") _push(`<span class="tier-attention"${ssrRenderAttr("title", _ctx.$t("eventBlock.kc918hn001"))} data-v-5e0be04f><span class="i-tabler-alert-circle" data-v-5e0be04f></span>${ssrInterpolate(_ctx.$t("eventBlock.k3wmcv4004"))}</span>`);
4676
+ if (tier.value === "attention") _push(`<span class="tier-attention"${ssrRenderAttr("title", _ctx.$t("eventBlock.kc918hn001"))} data-v-e836bc26><span class="i-tabler-alert-circle" data-v-e836bc26></span>${ssrInterpolate(_ctx.$t("eventBlock.k3wmcv4004"))}</span>`);
4676
4677
  else _push(`<!---->`);
4677
- _push(`<span class="head-right" data-v-5e0be04f>`);
4678
- if (runningNow.value) _push(`<span class="running-chip" data-v-5e0be04f><span class="running-dot" data-v-5e0be04f></span>${ssrInterpolate(_ctx.$t("eventBlock.k3vp67i005"))}</span>`);
4678
+ _push(`<span class="head-right" data-v-e836bc26>`);
4679
+ if (runningNow.value) _push(`<span class="running-chip" data-v-e836bc26><span class="running-dot" data-v-e836bc26></span>${ssrInterpolate(_ctx.$t("eventBlock.k3vp67i005"))}</span>`);
4679
4680
  else _push(`<!---->`);
4680
- if (__props.block.folded > 0) _push(`<span class="folded"${ssrRenderAttr("title", _ctx.$t("eventBlock.kcugdph002"))} data-v-5e0be04f>${ssrInterpolate(_ctx.$t("eventBlock.k3xk4t006"))} ${ssrInterpolate(__props.block.folded)}</span>`);
4681
+ if (__props.block.folded > 0) _push(`<span class="folded"${ssrRenderAttr("title", _ctx.$t("eventBlock.kcugdph002"))} data-v-e836bc26>${ssrInterpolate(_ctx.$t("eventBlock.k3xk4t006"))} ${ssrInterpolate(__props.block.folded)}</span>`);
4681
4682
  else _push(`<!---->`);
4682
- if (__props.block.events.length > 1) _push(`<span class="merged" data-v-5e0be04f>×${ssrInterpolate(__props.block.events.length)}</span>`);
4683
+ if (__props.block.events.length > 1) _push(`<span class="merged" data-v-e836bc26>×${ssrInterpolate(__props.block.events.length)}</span>`);
4683
4684
  else _push(`<!---->`);
4684
- _push(`<span class="kind-chip" data-v-5e0be04f>${ssrInterpolate(meta.value.label)}</span><span class="time" data-v-5e0be04f>${ssrInterpolate(time.value)}</span></span>`);
4685
- if (toolbarText.value) _push(`<span class="eb-toolbar" data-v-5e0be04f><button type="button" class="eb-tool"${ssrRenderAttr("title", unref(copied) ? "已复制" : "复制全文")} data-v-5e0be04f><span class="${ssrRenderClass(unref(copied) ? "i-tabler-check" : "i-tabler-copy")}" data-v-5e0be04f></span></button><button type="button" class="eb-tool"${ssrRenderAttr("title", _ctx.$t("eventBlock.kknq700003"))} data-v-5e0be04f><span class="i-tabler-quote" data-v-5e0be04f></span></button></span>`);
4685
+ _push(`<span class="kind-chip" data-v-e836bc26>${ssrInterpolate(meta.value.label)}</span><span class="time" data-v-e836bc26>${ssrInterpolate(time.value)}</span></span>`);
4686
+ if (toolbarText.value) _push(`<span class="eb-toolbar" data-v-e836bc26><button type="button" class="eb-tool"${ssrRenderAttr("title", unref(copied) ? "已复制" : "复制全文")} data-v-e836bc26><span class="${ssrRenderClass(unref(copied) ? "i-tabler-check" : "i-tabler-copy")}" data-v-e836bc26></span></button><button type="button" class="eb-tool"${ssrRenderAttr("title", _ctx.$t("eventBlock.kknq700003"))} data-v-e836bc26><span class="i-tabler-quote" data-v-e836bc26></span></button></span>`);
4686
4687
  else _push(`<!---->`);
4687
4688
  _push(`</header>`);
4688
- if (__props.compact) _push(`<span class="ghost-time" data-v-5e0be04f>${ssrInterpolate(time.value.slice(0, 5))}</span>`);
4689
+ if (__props.compact) _push(`<span class="ghost-time" data-v-e836bc26>${ssrInterpolate(time.value.slice(0, 5))}</span>`);
4689
4690
  else _push(`<!---->`);
4690
4691
  ssrRenderVNode(_push, createVNode(resolveDynamicComponent(body.value), {
4691
4692
  block: __props.block,
@@ -4703,7 +4704,7 @@ EventBlock_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
4703
4704
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/EventBlock.vue");
4704
4705
  return _sfc_setup$14 ? _sfc_setup$14(props, ctx) : void 0;
4705
4706
  };
4706
- var EventBlock_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(EventBlock_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-5e0be04f"]]), { __name: "WorkshopEventBlock" });
4707
+ var EventBlock_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(EventBlock_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e836bc26"]]), { __name: "WorkshopEventBlock" });
4707
4708
  //#endregion
4708
4709
  //#region app/composables/workshop/useClusteredBlocks.ts
4709
4710
  /**
@@ -4980,42 +4981,42 @@ var TranscriptTimeline_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
4980
4981
  return (_ctx, _push, _parent, _attrs) => {
4981
4982
  const _component_a_segmented = segmented_default;
4982
4983
  const _component_workshop_event_block = EventBlock_default;
4983
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "transcript" }, _attrs))} data-v-53ad6b8b><div class="filter-bar" data-v-53ad6b8b>`);
4984
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "transcript" }, _attrs))} data-v-2b1e0a0e><div class="filter-bar" data-v-2b1e0a0e>`);
4984
4985
  _push(ssrRenderComponent(_component_a_segmented, {
4985
4986
  value: unref(filter),
4986
4987
  "onUpdate:value": ($event) => isRef(filter) ? filter.value = $event : null,
4987
4988
  size: "small",
4988
4989
  options: filterOptions
4989
4990
  }, null, _parent));
4990
- _push(`<span class="count" data-v-53ad6b8b>${ssrInterpolate(unref(totalEvents))} ${ssrInterpolate(_ctx.$t("transcriptTimeline.k1atjpx1005"))} ${ssrInterpolate(unref(blocks).length)} ${ssrInterpolate(_ctx.$t("transcriptTimeline.k4a9o007"))}</span><span class="sync-chip"${ssrRenderAttr("data-state", unref(syncing) ? "syncing" : unref(conn).state)}${ssrRenderAttr("title", unref(syncing) ? "连接中断,重连后将自动对齐缺失事件" : _ctx.$t("transcriptTimeline.kglov3b025", { p0: unref(lastDataAgo) || "无" }))} data-v-53ad6b8b>`);
4991
- if (unref(syncing)) _push(`<span class="sync-pulse" data-v-53ad6b8b></span>`);
4992
- else if (unref(conn).state === "open") _push(`<span class="i-tabler-point-filled sync-dot" data-v-53ad6b8b></span>`);
4991
+ _push(`<span class="count" data-v-2b1e0a0e>${ssrInterpolate(unref(totalEvents))} ${ssrInterpolate(_ctx.$t("transcriptTimeline.k1atjpx1005"))} ${ssrInterpolate(unref(blocks).length)} ${ssrInterpolate(_ctx.$t("transcriptTimeline.k4a9o007"))}</span><span class="sync-chip"${ssrRenderAttr("data-state", unref(syncing) ? "syncing" : unref(conn).state)}${ssrRenderAttr("title", unref(syncing) ? "连接中断,重连后将自动对齐缺失事件" : _ctx.$t("transcriptTimeline.kglov3b025", { p0: unref(lastDataAgo) || "无" }))} data-v-2b1e0a0e>`);
4992
+ if (unref(syncing)) _push(`<span class="sync-pulse" data-v-2b1e0a0e></span>`);
4993
+ else if (unref(conn).state === "open") _push(`<span class="i-tabler-point-filled sync-dot" data-v-2b1e0a0e></span>`);
4993
4994
  else _push(`<!---->`);
4994
- _push(` ${ssrInterpolate(unref(syncing) ? _ctx.$t("transcriptTimeline.k3lmtk3008") : unref(conn).state === "open" ? unref(lastDataAgo) || _ctx.$t("transcriptTimeline.k3y2p8020") : _ctx.$t("transcriptTimeline.k44c2n024"))}</span></div><div class="scroller" data-v-53ad6b8b>`);
4995
- if (!unref(stickBottom) && !unref(scrollingDown)) _push(`<button class="jump-latest"${ssrRenderAttr("title", _ctx.$t("transcriptTimeline.kqu93z8001"))} data-v-53ad6b8b><span class="i-tabler-arrow-down" data-v-53ad6b8b></span> ${ssrInterpolate(_ctx.$t("transcriptTimeline.k40t11002"))}</button>`);
4995
+ _push(` ${ssrInterpolate(unref(syncing) ? _ctx.$t("transcriptTimeline.k3lmtk3008") : unref(conn).state === "open" ? unref(lastDataAgo) || _ctx.$t("transcriptTimeline.k3y2p8020") : _ctx.$t("transcriptTimeline.k44c2n024"))}</span></div><div class="scroller" data-v-2b1e0a0e>`);
4996
+ if (!unref(stickBottom) && !unref(scrollingDown)) _push(`<button class="jump-latest"${ssrRenderAttr("title", _ctx.$t("transcriptTimeline.kqu93z8001"))} data-v-2b1e0a0e><span class="i-tabler-arrow-down" data-v-2b1e0a0e></span> ${ssrInterpolate(_ctx.$t("transcriptTimeline.k40t11002"))}</button>`);
4996
4997
  else _push(`<!---->`);
4997
- _push(`<div class="column" data-v-53ad6b8b>`);
4998
- if (unref(maybeMore)) _push(`<button class="earlier-btn"${ssrIncludeBooleanAttr(unref(loadingEarlier)) ? " disabled" : ""} data-v-53ad6b8b>${ssrInterpolate(unref(loadingEarlier) ? _ctx.$t("transcriptTimeline.k1br0ij9009") : _ctx.$t("transcriptTimeline.kywgd38021"))}</button>`);
4998
+ _push(`<div class="column" data-v-2b1e0a0e>`);
4999
+ if (unref(maybeMore)) _push(`<button class="earlier-btn"${ssrIncludeBooleanAttr(unref(loadingEarlier)) ? " disabled" : ""} data-v-2b1e0a0e>${ssrInterpolate(unref(loadingEarlier) ? _ctx.$t("transcriptTimeline.k1br0ij9009") : _ctx.$t("transcriptTimeline.kywgd38021"))}</button>`);
4999
5000
  else _push(`<!---->`);
5000
- if (unref(earlierExhausted) && unref(loadedCount) > 0) _push(`<div class="earlier-done" data-v-53ad6b8b>${ssrInterpolate(_ctx.$t("transcriptTimeline.k1kbaden003"))}</div>`);
5001
+ if (unref(earlierExhausted) && unref(loadedCount) > 0) _push(`<div class="earlier-done" data-v-2b1e0a0e>${ssrInterpolate(_ctx.$t("transcriptTimeline.k1kbaden003"))}</div>`);
5001
5002
  else _push(`<!---->`);
5002
5003
  if (unref(connecting)) {
5003
- _push(`<div class="skel-stack" data-v-53ad6b8b><!--[-->`);
5004
+ _push(`<div class="skel-stack" data-v-2b1e0a0e><!--[-->`);
5004
5005
  ssrRenderList(3, (n) => {
5005
- _push(`<div class="skel-row" style="${ssrRenderStyle({ "--d": `${(n - 1) * .12}s` })}" data-v-53ad6b8b><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></div>`);
5006
+ _push(`<div class="skel-row" style="${ssrRenderStyle({ "--d": `${(n - 1) * .12}s` })}" data-v-2b1e0a0e><span class="aw-skel skel-ava" data-v-2b1e0a0e></span><div class="skel-lines" data-v-2b1e0a0e><span class="aw-skel skel-line name" data-v-2b1e0a0e></span><span class="aw-skel skel-line w70" data-v-2b1e0a0e></span><span class="aw-skel skel-line w45" data-v-2b1e0a0e></span></div></div>`);
5006
5007
  });
5007
5008
  _push(`<!--]--></div>`);
5008
5009
  } else if (unref(blocks).length === 0 && unref(totalEvents) === 0) {
5009
- _push(`<div class="empty" data-v-53ad6b8b>`);
5010
- if (unref(syncing) || unref(conn).state !== "open") _push(`<span class="i-tabler-refresh empty-icon" data-v-53ad6b8b></span>`);
5011
- else _push(`<span class="i-tabler-message-dots empty-icon" data-v-53ad6b8b></span>`);
5012
- _push(`<p class="empty-title" data-v-53ad6b8b>${ssrInterpolate(unref(syncing) || unref(conn).state !== "open" ? _ctx.$t("transcriptTimeline.klnne6o010") : _ctx.$t("transcriptTimeline.k126izdm022"))}</p><p class="empty-hint" data-v-53ad6b8b>${ssrInterpolate(unref(syncing) || unref(conn).state !== "open" ? _ctx.$t("transcriptTimeline.k1iuqpxj011") : _ctx.$t("transcriptTimeline.kuyjpmi023"))}</p></div>`);
5013
- } else if (unref(blocks).length === 0) _push(`<div class="empty filtered" data-v-53ad6b8b><span class="i-tabler-filter-off empty-icon" data-v-53ad6b8b></span><p class="empty-title" data-v-53ad6b8b>${ssrInterpolate(_ctx.$t("transcriptTimeline.ktuo1zg004"))}</p><p class="empty-hint" data-v-53ad6b8b> 「${ssrInterpolate(filterOptions.find((o) => o.value === unref(filter))?.label ?? unref(filter))}」${ssrInterpolate(_ctx.$t("transcriptTimeline.kapxgq4006"))}</p></div>`);
5010
+ _push(`<div class="empty" data-v-2b1e0a0e>`);
5011
+ if (unref(syncing) || unref(conn).state !== "open") _push(`<span class="i-tabler-refresh empty-icon" data-v-2b1e0a0e></span>`);
5012
+ else _push(`<span class="i-tabler-message-dots empty-icon" data-v-2b1e0a0e></span>`);
5013
+ _push(`<p class="empty-title" data-v-2b1e0a0e>${ssrInterpolate(unref(syncing) || unref(conn).state !== "open" ? _ctx.$t("transcriptTimeline.klnne6o010") : _ctx.$t("transcriptTimeline.k126izdm022"))}</p><p class="empty-hint" data-v-2b1e0a0e>${ssrInterpolate(unref(syncing) || unref(conn).state !== "open" ? _ctx.$t("transcriptTimeline.k1iuqpxj011") : _ctx.$t("transcriptTimeline.kuyjpmi023"))}</p></div>`);
5014
+ } else if (unref(blocks).length === 0) _push(`<div class="empty filtered" data-v-2b1e0a0e><span class="i-tabler-filter-off empty-icon" data-v-2b1e0a0e></span><p class="empty-title" data-v-2b1e0a0e>${ssrInterpolate(_ctx.$t("transcriptTimeline.ktuo1zg004"))}</p><p class="empty-hint" data-v-2b1e0a0e> 「${ssrInterpolate(filterOptions.find((o) => o.value === unref(filter))?.label ?? unref(filter))}」${ssrInterpolate(_ctx.$t("transcriptTimeline.kapxgq4006"))}</p></div>`);
5014
5015
  else _push(`<!---->`);
5015
5016
  _push(`<!--[-->`);
5016
5017
  ssrRenderList(unref(blocks), (b, i) => {
5017
5018
  _push(`<!--[-->`);
5018
- if (unref(blockDayFlags)[i]?.divider) _push(`<div class="date-divider" data-v-53ad6b8b><span class="date-divider-label" data-v-53ad6b8b>${ssrInterpolate(unref(blockDayFlags)[i].divider)}</span></div>`);
5019
+ if (unref(blockDayFlags)[i]?.divider) _push(`<div class="date-divider" data-v-2b1e0a0e><span class="date-divider-label" data-v-2b1e0a0e>${ssrInterpolate(unref(blockDayFlags)[i].divider)}</span></div>`);
5019
5020
  else _push(`<!---->`);
5020
5021
  _push(ssrRenderComponent(_component_workshop_event_block, {
5021
5022
  block: b,
@@ -5037,7 +5038,7 @@ TranscriptTimeline_vue_vue_type_script_setup_true_lang_default.setup = (props, c
5037
5038
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/TranscriptTimeline.vue");
5038
5039
  return _sfc_setup$13 ? _sfc_setup$13(props, ctx) : void 0;
5039
5040
  };
5040
- var TranscriptTimeline_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(TranscriptTimeline_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-53ad6b8b"]]), { __name: "WorkshopTranscriptTimeline" });
5041
+ var TranscriptTimeline_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(TranscriptTimeline_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-2b1e0a0e"]]), { __name: "WorkshopTranscriptTimeline" });
5041
5042
  //#endregion
5042
5043
  //#region app/components/workshop/lanes/LaneBlocks.vue?vue&type=script&setup=true&lang.ts
5043
5044
  var LaneBlocks_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -5378,7 +5379,7 @@ var AgentLanesView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
5378
5379
  const _component_a_select = Select;
5379
5380
  const _component_a_space = Space;
5380
5381
  const _component_a_tag = Tag;
5381
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "lanes-wrap" }, _attrs))} data-v-bd4c4a97><div class="toolbar" data-v-bd4c4a97><div class="team-summary" data-v-bd4c4a97><span class="ts-label" data-v-bd4c4a97>${ssrInterpolate(_ctx.$t("agentLanesView.k3y5ja016"))}</span><span class="ts-count" data-v-bd4c4a97>${ssrInterpolate(unref(agents).length)}</span><span class="ts-unit" data-v-bd4c4a97>${ssrInterpolate(_ctx.$t("agentLanesView.k3ll6sa017"))}</span><span class="ts-detail" data-v-bd4c4a97>lead ${ssrInterpolate(unref(agents).filter((a) => a.role === "lead").length)} · worker ${ssrInterpolate(unref(agents).filter((a) => a.role === "worker").length)}</span></div>`);
5382
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "lanes-wrap" }, _attrs))} data-v-f68d6ffb><div class="toolbar" data-v-f68d6ffb><div class="team-summary" data-v-f68d6ffb><span class="ts-label" data-v-f68d6ffb>${ssrInterpolate(_ctx.$t("agentLanesView.k3y5ja016"))}</span><span class="ts-count" data-v-f68d6ffb>${ssrInterpolate(unref(agents).length)}</span><span class="ts-unit" data-v-f68d6ffb>${ssrInterpolate(_ctx.$t("agentLanesView.k3ll6sa017"))}</span><span class="ts-detail" data-v-f68d6ffb>lead ${ssrInterpolate(unref(agents).filter((a) => a.role === "lead").length)} · worker ${ssrInterpolate(unref(agents).filter((a) => a.role === "worker").length)}</span></div>`);
5382
5383
  _push(ssrRenderComponent(_component_a_button, {
5383
5384
  size: "small",
5384
5385
  type: "primary",
@@ -5386,34 +5387,34 @@ var AgentLanesView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
5386
5387
  onClick: openMemberModal
5387
5388
  }, {
5388
5389
  default: withCtx((_, _push, _parent, _scopeId) => {
5389
- if (_push) _push(`<span class="i-tabler-user-plus" data-v-bd4c4a97${_scopeId}></span><span data-v-bd4c4a97${_scopeId}>${ssrInterpolate(_ctx.$t("agentLanesView.k1fmutgo018"))}</span>`);
5390
+ if (_push) _push(`<span class="i-tabler-user-plus" data-v-f68d6ffb${_scopeId}></span><span data-v-f68d6ffb${_scopeId}>${ssrInterpolate(_ctx.$t("agentLanesView.k1fmutgo018"))}</span>`);
5390
5391
  else return [createVNode("span", { class: "i-tabler-user-plus" }), createVNode("span", null, toDisplayString(_ctx.$t("agentLanesView.k1fmutgo018")), 1)];
5391
5392
  }),
5392
5393
  _: 1
5393
5394
  }, _parent));
5394
- _push(`</div><div class="lanes" data-v-bd4c4a97>`);
5395
+ _push(`</div><div class="lanes" data-v-f68d6ffb>`);
5395
5396
  if (unref(agents).length === 0) {
5396
- _push(`<div class="empty" data-v-bd4c4a97>`);
5397
- if (!unref(entities).channels[__props.channelId]) _push(`<!--[--><span class="i-tabler-refresh empty-icon" data-v-bd4c4a97></span><p class="empty-title" data-v-bd4c4a97>${ssrInterpolate(_ctx.$t("agentLanesView.k1woev5v019"))}</p><!--]-->`);
5398
- else _push(`<!--[--><span class="i-tabler-users-group empty-icon" data-v-bd4c4a97></span><p class="empty-title" data-v-bd4c4a97>${ssrInterpolate(_ctx.$t("agentLanesView.k122h4pc020"))}</p><p class="empty-hint" data-v-bd4c4a97>${ssrInterpolate(_ctx.$t("agentLanesView.k7cr2h8021"))}</p><!--]-->`);
5397
+ _push(`<div class="empty" data-v-f68d6ffb>`);
5398
+ if (!unref(entities).channels[__props.channelId]) _push(`<!--[--><span class="i-tabler-refresh empty-icon" data-v-f68d6ffb></span><p class="empty-title" data-v-f68d6ffb>${ssrInterpolate(_ctx.$t("agentLanesView.k1woev5v019"))}</p><!--]-->`);
5399
+ else _push(`<!--[--><span class="i-tabler-users-group empty-icon" data-v-f68d6ffb></span><p class="empty-title" data-v-f68d6ffb>${ssrInterpolate(_ctx.$t("agentLanesView.k122h4pc020"))}</p><p class="empty-hint" data-v-f68d6ffb>${ssrInterpolate(_ctx.$t("agentLanesView.k7cr2h8021"))}</p><!--]-->`);
5399
5400
  _push(`</div>`);
5400
5401
  } else _push(`<!---->`);
5401
5402
  _push(`<!--[-->`);
5402
5403
  ssrRenderList(unref(agents), (a) => {
5403
- _push(`<!--[--><div class="lane" style="${ssrRenderStyle({ flexBasis: `${laneWidth(a.agentId)}px` })}" data-v-bd4c4a97><div class="lane-head" data-v-bd4c4a97><div class="head-top" data-v-bd4c4a97><span class="lane-ava" data-v-bd4c4a97><span style="${ssrRenderStyle({ "--av": laneHue(a.agentId) })}" data-v-bd4c4a97>${ssrInterpolate(laneInitial(a.name))}</span><span class="${ssrRenderClass([a.state, "lane-state"])}" data-v-bd4c4a97></span></span><span class="lane-name"${ssrRenderAttr("title", a.name)} data-v-bd4c4a97>${ssrInterpolate(a.name)}</span>`);
5404
- if (a.config?.systemPromptPrefix) _push(`<span class="lane-chip"${ssrRenderAttr("title", _ctx.$t("agentLanesView.k107s4am001"))} data-v-bd4c4a97>${ssrInterpolate(_ctx.$t("agentLanesView.k3xycu022"))}</span>`);
5404
+ _push(`<!--[--><div class="lane" style="${ssrRenderStyle({ flexBasis: `${laneWidth(a.agentId)}px` })}" data-v-f68d6ffb><div class="lane-head" data-v-f68d6ffb><div class="head-top" data-v-f68d6ffb><span class="lane-ava" data-v-f68d6ffb><span style="${ssrRenderStyle({ "--av": laneHue(a.agentId) })}" data-v-f68d6ffb>${ssrInterpolate(laneInitial(a.name))}</span><span class="${ssrRenderClass([a.state, "lane-state"])}" data-v-f68d6ffb></span></span><span class="lane-name"${ssrRenderAttr("title", a.name)} data-v-f68d6ffb>${ssrInterpolate(a.name)}</span>`);
5405
+ if (a.config?.systemPromptPrefix) _push(`<span class="lane-chip"${ssrRenderAttr("title", _ctx.$t("agentLanesView.k107s4am001"))} data-v-f68d6ffb>${ssrInterpolate(_ctx.$t("agentLanesView.k3xycu022"))}</span>`);
5405
5406
  else _push(`<!---->`);
5406
- _push(`<span class="${ssrRenderClass([a.role, "lane-role"])}" data-v-bd4c4a97>${ssrInterpolate(a.role)}</span>`);
5407
- if (termBadge(unref(terminalOf).get(a.agentId))) _push(`<span class="term-badge"${ssrRenderAttr("title", _ctx.$t("agentLanesView.k1wn2vmt036", { p0: unref(terminalOf).get(a.agentId)?.pid }))} data-v-bd4c4a97><span class="term-dot" style="${ssrRenderStyle({ background: TERM_DOT[termBadge(unref(terminalOf).get(a.agentId)).color] ?? "var(--tone-neutral-dot)" })}" data-v-bd4c4a97></span> ${ssrInterpolate(termBadge(unref(terminalOf).get(a.agentId)).text)}</span>`);
5407
+ _push(`<span class="${ssrRenderClass([a.role, "lane-role"])}" data-v-f68d6ffb>${ssrInterpolate(a.role)}</span>`);
5408
+ if (termBadge(unref(terminalOf).get(a.agentId))) _push(`<span class="term-badge"${ssrRenderAttr("title", _ctx.$t("agentLanesView.k1wn2vmt036", { p0: unref(terminalOf).get(a.agentId)?.pid }))} data-v-f68d6ffb><span class="term-dot" style="${ssrRenderStyle({ background: TERM_DOT[termBadge(unref(terminalOf).get(a.agentId)).color] ?? "var(--tone-neutral-dot)" })}" data-v-f68d6ffb></span> ${ssrInterpolate(termBadge(unref(terminalOf).get(a.agentId)).text)}</span>`);
5408
5409
  else _push(`<!---->`);
5409
- _push(`</div><div class="head-sub" data-v-bd4c4a97><span class="lane-meta" data-v-bd4c4a97>`);
5410
+ _push(`</div><div class="head-sub" data-v-f68d6ffb><span class="lane-meta" data-v-f68d6ffb>`);
5410
5411
  if (a.state === "busy" && a.currentTaskTitle) {
5411
5412
  _push(`<!--[-->${ssrInterpolate(a.currentTaskTitle)} `);
5412
- if (a.currentTaskProgress != null) _push(`<span class="lane-progress" data-v-bd4c4a97>${ssrInterpolate(a.currentTaskProgress)}%</span>`);
5413
+ if (a.currentTaskProgress != null) _push(`<span class="lane-progress" data-v-f68d6ffb>${ssrInterpolate(a.currentTaskProgress)}%</span>`);
5413
5414
  else _push(`<!---->`);
5414
5415
  _push(`<!--]-->`);
5415
5416
  } else _push(`<!--[-->${ssrInterpolate(a.state)} · Q${ssrInterpolate(a.queued ?? 0)}<!--]-->`);
5416
- _push(`</span><div class="lane-actions" data-v-bd4c4a97>`);
5417
+ _push(`</span><div class="lane-actions" data-v-f68d6ffb>`);
5417
5418
  if (a.harness === "omp") _push(ssrRenderComponent(_component_a_button, {
5418
5419
  size: "small",
5419
5420
  type: "primary",
@@ -5423,7 +5424,7 @@ var AgentLanesView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
5423
5424
  onClick: ($event) => openTerminal(a)
5424
5425
  }, {
5425
5426
  default: withCtx((_, _push, _parent, _scopeId) => {
5426
- if (_push) _push(`<span class="i-tabler-terminal-2" data-v-bd4c4a97${_scopeId}></span><span class="term-label" data-v-bd4c4a97${_scopeId}>${ssrInterpolate(_ctx.$t("agentLanesView.k4588s023"))}</span>`);
5427
+ if (_push) _push(`<span class="i-tabler-terminal-2" data-v-f68d6ffb${_scopeId}></span><span class="term-label" data-v-f68d6ffb${_scopeId}>${ssrInterpolate(_ctx.$t("agentLanesView.k4588s023"))}</span>`);
5427
5428
  else return [createVNode("span", { class: "i-tabler-terminal-2" }), createVNode("span", { class: "term-label" }, toDisplayString(_ctx.$t("agentLanesView.k4588s023")), 1)];
5428
5429
  }),
5429
5430
  _: 2
@@ -5437,12 +5438,12 @@ var AgentLanesView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
5437
5438
  onClick: ($event) => openEditMember(a)
5438
5439
  }, {
5439
5440
  default: withCtx((_, _push, _parent, _scopeId) => {
5440
- if (_push) _push(`<span class="i-tabler-edit" data-v-bd4c4a97${_scopeId}></span>`);
5441
+ if (_push) _push(`<span class="i-tabler-edit" data-v-f68d6ffb${_scopeId}></span>`);
5441
5442
  else return [createVNode("span", { class: "i-tabler-edit" })];
5442
5443
  }),
5443
5444
  _: 2
5444
5445
  }, _parent));
5445
- _push(`<span class="actions-divider" data-v-bd4c4a97></span>`);
5446
+ _push(`<span class="actions-divider" data-v-f68d6ffb></span>`);
5446
5447
  _push(ssrRenderComponent(_component_a_popconfirm, {
5447
5448
  title: _ctx.$t("agentLanesView.k1l029kf037", { p0: a.name }),
5448
5449
  "ok-text": "停止",
@@ -5458,7 +5459,7 @@ var AgentLanesView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
5458
5459
  title: "HITL 停止该 Agent 运行时"
5459
5460
  }, {
5460
5461
  default: withCtx((_, _push, _parent, _scopeId) => {
5461
- if (_push) _push(`<span class="i-tabler-player-stop" data-v-bd4c4a97${_scopeId}></span>`);
5462
+ if (_push) _push(`<span class="i-tabler-player-stop" data-v-f68d6ffb${_scopeId}></span>`);
5462
5463
  else return [createVNode("span", { class: "i-tabler-player-stop" })];
5463
5464
  }),
5464
5465
  _: 2
@@ -5491,7 +5492,7 @@ var AgentLanesView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
5491
5492
  loading: unref(removing) === a.agentId
5492
5493
  }, {
5493
5494
  default: withCtx((_, _push, _parent, _scopeId) => {
5494
- if (_push) _push(`<span class="i-tabler-x" data-v-bd4c4a97${_scopeId}></span>`);
5495
+ if (_push) _push(`<span class="i-tabler-x" data-v-f68d6ffb${_scopeId}></span>`);
5495
5496
  else return [createVNode("span", { class: "i-tabler-x" })];
5496
5497
  }),
5497
5498
  _: 2
@@ -5509,7 +5510,7 @@ var AgentLanesView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
5509
5510
  }),
5510
5511
  _: 2
5511
5512
  }, _parent));
5512
- _push(`</div></div></div><div class="lane-body" data-v-bd4c4a97>`);
5513
+ _push(`</div></div></div><div class="lane-body" data-v-f68d6ffb>`);
5513
5514
  _push(ssrRenderComponent(LaneBlocks_default, {
5514
5515
  "channel-id": __props.channelId,
5515
5516
  "agent-id": a.agentId
@@ -5909,7 +5910,7 @@ var AgentLanesView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
5909
5910
  }),
5910
5911
  _: 1
5911
5912
  }, _parent, _scopeId));
5912
- _push(`<div class="mode-hint" data-v-bd4c4a97${_scopeId}>${ssrInterpolate(_ctx.$t("agentLanesView.knybb6r029"))}</div>`);
5913
+ _push(`<div class="mode-hint" data-v-f68d6ffb${_scopeId}>${ssrInterpolate(_ctx.$t("agentLanesView.knybb6r029"))}</div>`);
5913
5914
  } else return [
5914
5915
  createVNode(_component_a_form_item, { label: "选择 Agent 模板(克隆 name/harness/config 为独立实例)" }, {
5915
5916
  default: withCtx(() => [createVNode(_component_a_select, {
@@ -6004,7 +6005,7 @@ var AgentLanesView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
6004
6005
  }),
6005
6006
  _: 1
6006
6007
  }, _parent, _scopeId));
6007
- _push(`<div class="mode-hint" data-v-bd4c4a97${_scopeId}>${ssrInterpolate(_ctx.$t("agentLanesView.k1qqnq5030"))}</div>`);
6008
+ _push(`<div class="mode-hint" data-v-f68d6ffb${_scopeId}>${ssrInterpolate(_ctx.$t("agentLanesView.k1qqnq5030"))}</div>`);
6008
6009
  } else return [createVNode(_component_a_form_item, { label: _ctx.$t("agentLanesView.k29om9b013") }, {
6009
6010
  default: withCtx(() => [createVNode(_component_a_select, {
6010
6011
  value: unref(selectedTeamId),
@@ -6277,7 +6278,7 @@ var AgentLanesView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
6277
6278
  }, _parent, _scopeId));
6278
6279
  _push(ssrRenderComponent(_component_a_form_item, { label: "场景系统提示词(systemPromptPrefix)" }, {
6279
6280
  extra: withCtx((_, _push, _parent, _scopeId) => {
6280
- if (_push) _push(`<span class="ws-hint" data-v-bd4c4a97${_scopeId}>${ssrInterpolate(_ctx.$t("agentLanesView.k1rw1rd2031"))}</span>`);
6281
+ if (_push) _push(`<span class="ws-hint" data-v-f68d6ffb${_scopeId}>${ssrInterpolate(_ctx.$t("agentLanesView.k1rw1rd2031"))}</span>`);
6281
6282
  else return [createVNode("span", { class: "ws-hint" }, toDisplayString(_ctx.$t("agentLanesView.k1rw1rd2031")), 1)];
6282
6283
  }),
6283
6284
  default: withCtx((_, _push, _parent, _scopeId) => {
@@ -6404,7 +6405,7 @@ AgentLanesView_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx)
6404
6405
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/AgentLanesView.vue");
6405
6406
  return _sfc_setup$11 ? _sfc_setup$11(props, ctx) : void 0;
6406
6407
  };
6407
- var AgentLanesView_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(AgentLanesView_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-bd4c4a97"]]), { __name: "WorkshopAgentLanesView" });
6408
+ var AgentLanesView_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(AgentLanesView_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-f68d6ffb"]]), { __name: "WorkshopAgentLanesView" });
6408
6409
  //#endregion
6409
6410
  //#region app/components/workshop/TaskBoardView.vue?vue&type=script&setup=true&lang.ts
6410
6411
  var TaskBoardView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -6509,8 +6510,8 @@ var TaskBoardView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
6509
6510
  /** 状态胶囊菜单(动作 + 详情);fixed 定位并按视口收敛 */
6510
6511
  const menu = ref(null);
6511
6512
  const menuActions = computed(() => {
6512
- const t = menu.value?.task;
6513
- if (!t) return [];
6513
+ const task = menu.value?.task;
6514
+ if (!task) return [];
6514
6515
  const acts = [];
6515
6516
  if ([
6516
6517
  "SUBMITTED",
@@ -6518,12 +6519,12 @@ var TaskBoardView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
6518
6519
  "WORKING",
6519
6520
  "WAITING",
6520
6521
  "FAILED"
6521
- ].includes(t.state)) acts.push({
6522
+ ].includes(task.state)) acts.push({
6522
6523
  key: "cancel",
6523
6524
  label: t("taskBoardView.k1bs0t9b016"),
6524
6525
  danger: true
6525
6526
  });
6526
- if (["FAILED", "CANCELED"].includes(t.state)) acts.push({
6527
+ if (["FAILED", "CANCELED"].includes(task.state)) acts.push({
6527
6528
  key: "retry",
6528
6529
  label: t("taskBoardView.k1lclwk6017")
6529
6530
  });
@@ -6535,62 +6536,62 @@ var TaskBoardView_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
6535
6536
  });
6536
6537
  return (_ctx, _push, _parent, _attrs) => {
6537
6538
  const _component_a_progress = progress_default;
6538
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "board-shell" }, _attrs))} data-v-f6edc999><div class="toolbar" data-v-f6edc999><div class="aw-seg" data-v-f6edc999><button type="button" class="${ssrRenderClass({ on: unref(layout) === "board" })}" data-v-f6edc999>${ssrInterpolate(_ctx.$t("taskBoardView.k43pyn001"))}</button><button type="button" class="${ssrRenderClass({ on: unref(layout) === "list" })}" data-v-f6edc999>${ssrInterpolate(_ctx.$t("taskBoardView.k3x7l0002"))}</button></div><span class="count" data-v-f6edc999>${ssrInterpolate(unref(mergedTasks).length)} ${ssrInterpolate(_ctx.$t("taskBoardView.k168w1ze004"))}</span></div>`);
6539
- if (unref(mergedTasks).length === 0) _push(`<div class="pane-empty" data-v-f6edc999><span class="${ssrRenderClass(unref(synced) ? "pe-icon i-tabler-list-check" : "pe-icon i-tabler-refresh")}" data-v-f6edc999></span><div class="pe-title" data-v-f6edc999>${ssrInterpolate(unref(synced) ? _ctx.$t("taskBoardView.k3vkhhj006") : _ctx.$t("taskBoardView.k1f9c17l019"))} <span class="aw-serif-accent-italic" data-v-f6edc999>${ssrInterpolate(_ctx.$t("taskBoardView.k3wcox003"))}</span></div><div class="pe-sub" data-v-f6edc999>${ssrInterpolate(unref(synced) ? "在下方 Composer 提交首个任务(首行标题,支持 goal / loop / pipeline 模式)" : "任务快照对齐后自动呈现")}</div></div>`);
6539
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "board-shell" }, _attrs))} data-v-e4b51f68><div class="toolbar" data-v-e4b51f68><div class="aw-seg" data-v-e4b51f68><button type="button" class="${ssrRenderClass({ on: unref(layout) === "board" })}" data-v-e4b51f68>${ssrInterpolate(_ctx.$t("taskBoardView.k43pyn001"))}</button><button type="button" class="${ssrRenderClass({ on: unref(layout) === "list" })}" data-v-e4b51f68>${ssrInterpolate(_ctx.$t("taskBoardView.k3x7l0002"))}</button></div><span class="count" data-v-e4b51f68>${ssrInterpolate(unref(mergedTasks).length)} ${ssrInterpolate(_ctx.$t("taskBoardView.k168w1ze004"))}</span></div>`);
6540
+ if (unref(mergedTasks).length === 0) _push(`<div class="pane-empty" data-v-e4b51f68><span class="${ssrRenderClass(unref(synced) ? "pe-icon i-tabler-list-check" : "pe-icon i-tabler-refresh")}" data-v-e4b51f68></span><div class="pe-title" data-v-e4b51f68>${ssrInterpolate(unref(synced) ? _ctx.$t("taskBoardView.k3vkhhj006") : _ctx.$t("taskBoardView.k1f9c17l019"))} <span class="aw-serif-accent-italic" data-v-e4b51f68>${ssrInterpolate(_ctx.$t("taskBoardView.k3wcox003"))}</span></div><div class="pe-sub" data-v-e4b51f68>${ssrInterpolate(unref(synced) ? "在下方 Composer 提交首个任务(首行标题,支持 goal / loop / pipeline 模式)" : "任务快照对齐后自动呈现")}</div></div>`);
6540
6541
  else if (unref(layout) === "board") {
6541
- _push(`<div class="board" data-v-f6edc999><!--[-->`);
6542
+ _push(`<div class="board" data-v-e4b51f68><!--[-->`);
6542
6543
  ssrRenderList(unref(columns), (col) => {
6543
- _push(`<div class="${ssrRenderClass([colClasses(col), "task-col"])}" data-v-f6edc999><div class="sec" data-v-f6edc999><span class="st-dot" style="${ssrRenderStyle({ background: col.dot })}" data-v-f6edc999></span><span class="sec-title" data-v-f6edc999>${ssrInterpolate(col.title)}</span><span class="sec-cnt" data-v-f6edc999>${ssrInterpolate(col.items.length)}</span></div><div class="task-col-body" data-v-f6edc999><!--[-->`);
6544
- ssrRenderList(col.items, (t) => {
6545
- _push(`<div class="${ssrRenderClass([{ dragging: unref(dragId) === t.id }, "card task"])}" draggable="true" data-v-f6edc999><div class="tk-chan" data-v-f6edc999><span data-v-f6edc999>#${ssrInterpolate(agentName(t.assigneeId))}</span>`);
6546
- if (childCount(t.id)) _push(`<span class="tk-num" data-v-f6edc999>${ssrInterpolate(_ctx.$t("taskBoardView.k4b1x005"))} ${ssrInterpolate(childCount(t.id))}</span>`);
6544
+ _push(`<div class="${ssrRenderClass([colClasses(col), "task-col"])}" data-v-e4b51f68><div class="sec" data-v-e4b51f68><span class="st-dot" style="${ssrRenderStyle({ background: col.dot })}" data-v-e4b51f68></span><span class="sec-title" data-v-e4b51f68>${ssrInterpolate(col.title)}</span><span class="sec-cnt" data-v-e4b51f68>${ssrInterpolate(col.items.length)}</span></div><div class="task-col-body" data-v-e4b51f68><!--[-->`);
6545
+ ssrRenderList(col.items, (task) => {
6546
+ _push(`<div class="${ssrRenderClass([{ dragging: unref(dragId) === task.id }, "card task"])}" draggable="true" data-v-e4b51f68><div class="tk-chan" data-v-e4b51f68><span data-v-e4b51f68>#${ssrInterpolate(agentName(task.assigneeId))}</span>`);
6547
+ if (childCount(task.id)) _push(`<span class="tk-num" data-v-e4b51f68>${ssrInterpolate(_ctx.$t("taskBoardView.k4b1x005"))} ${ssrInterpolate(childCount(task.id))}</span>`);
6547
6548
  else _push(`<!---->`);
6548
- if (t.artifacts) _push(`<span class="tk-num" data-v-f6edc999><span class="i-tabler-package" data-v-f6edc999></span> ${ssrInterpolate(t.artifacts)}</span>`);
6549
+ if (task.artifacts) _push(`<span class="tk-num" data-v-e4b51f68><span class="i-tabler-package" data-v-e4b51f68></span> ${ssrInterpolate(task.artifacts)}</span>`);
6549
6550
  else _push(`<!---->`);
6550
- _push(`</div><div class="tk-title" data-v-f6edc999>${ssrInterpolate(t.title)}</div>`);
6551
- if (t.routeReason) _push(`<div class="tk-route"${ssrRenderAttr("title", _ctx.$t("taskBoardView.k8m7hm6020", { p0: t.routeReason }))} data-v-f6edc999> ↳ ${ssrInterpolate(t.routeReason)}</div>`);
6551
+ _push(`</div><div class="tk-title" data-v-e4b51f68>${ssrInterpolate(task.title)}</div>`);
6552
+ if (task.routeReason) _push(`<div class="tk-route"${ssrRenderAttr("title", _ctx.$t("taskBoardView.k8m7hm6020", { p0: task.routeReason }))} data-v-e4b51f68> ↳ ${ssrInterpolate(task.routeReason)}</div>`);
6552
6553
  else _push(`<!---->`);
6553
- if (t.state === "WORKING" && t.progress > 0) _push(ssrRenderComponent(_component_a_progress, {
6554
- percent: t.progress,
6554
+ if (task.state === "WORKING" && task.progress > 0) _push(ssrRenderComponent(_component_a_progress, {
6555
+ percent: task.progress,
6555
6556
  size: "small",
6556
6557
  "show-info": false
6557
6558
  }, null, _parent));
6558
6559
  else _push(`<!---->`);
6559
- _push(`<div class="tk-foot" data-v-f6edc999><button type="button" class="st-pill-btn" data-v-f6edc999><span class="st-pill" style="${ssrRenderStyle({
6560
+ _push(`<div class="tk-foot" data-v-e4b51f68><button type="button" class="st-pill-btn" data-v-e4b51f68><span class="st-pill" style="${ssrRenderStyle({
6560
6561
  color: col.dot,
6561
6562
  borderColor: col.dot
6562
- })}" data-v-f6edc999>${ssrInterpolate(col.title)}</span></button></div></div>`);
6563
+ })}" data-v-e4b51f68>${ssrInterpolate(col.title)}</span></button></div></div>`);
6563
6564
  });
6564
6565
  _push(`<!--]-->`);
6565
- if (col.items.length === 0) _push(`<div class="col-empty" data-v-f6edc999>${ssrInterpolate(col.moveAction ? _ctx.$t("taskBoardView.k13pad50007") : "-")}</div>`);
6566
+ if (col.items.length === 0) _push(`<div class="col-empty" data-v-e4b51f68>${ssrInterpolate(col.moveAction ? _ctx.$t("taskBoardView.k13pad50007") : "-")}</div>`);
6566
6567
  else _push(`<!---->`);
6567
6568
  _push(`</div></div>`);
6568
6569
  });
6569
6570
  _push(`<!--]--></div>`);
6570
6571
  } else {
6571
- _push(`<div class="task-list" data-v-f6edc999><!--[-->`);
6572
+ _push(`<div class="task-list" data-v-e4b51f68><!--[-->`);
6572
6573
  ssrRenderList(unref(columns), (col) => {
6573
6574
  _push(`<!--[-->`);
6574
- if (col.items.length) _push(`<div class="list-sec sec" data-v-f6edc999><span class="st-dot" style="${ssrRenderStyle({ background: col.dot })}" data-v-f6edc999></span><span class="sec-title" data-v-f6edc999>${ssrInterpolate(col.title)}</span><span class="sec-cnt" data-v-f6edc999>${ssrInterpolate(col.items.length)}</span></div>`);
6575
+ if (col.items.length) _push(`<div class="list-sec sec" data-v-e4b51f68><span class="st-dot" style="${ssrRenderStyle({ background: col.dot })}" data-v-e4b51f68></span><span class="sec-title" data-v-e4b51f68>${ssrInterpolate(col.title)}</span><span class="sec-cnt" data-v-e4b51f68>${ssrInterpolate(col.items.length)}</span></div>`);
6575
6576
  else _push(`<!---->`);
6576
6577
  _push(`<!--[-->`);
6577
- ssrRenderList(col.items, (t) => {
6578
- _push(`<div class="list-row" data-v-f6edc999><span class="grow" data-v-f6edc999>${ssrInterpolate(t.title)}</span><span class="lnum" data-v-f6edc999>#${ssrInterpolate(agentName(t.assigneeId))}</span><span class="meta" data-v-f6edc999>${ssrInterpolate(t.id.slice(0, 8))}</span><span class="st-pill" style="${ssrRenderStyle({
6578
+ ssrRenderList(col.items, (task) => {
6579
+ _push(`<div class="list-row" data-v-e4b51f68><span class="grow" data-v-e4b51f68>${ssrInterpolate(task.title)}</span><span class="lnum" data-v-e4b51f68>#${ssrInterpolate(agentName(task.assigneeId))}</span><span class="meta" data-v-e4b51f68>${ssrInterpolate(task.id.slice(0, 8))}</span><span class="st-pill" style="${ssrRenderStyle({
6579
6580
  color: col.dot,
6580
6581
  borderColor: col.dot
6581
- })}" data-v-f6edc999>${ssrInterpolate(stateOf(t))}</span></div>`);
6582
+ })}" data-v-e4b51f68>${ssrInterpolate(stateOf(task))}</span></div>`);
6582
6583
  });
6583
6584
  _push(`<!--]--><!--]-->`);
6584
6585
  });
6585
6586
  _push(`<!--]--></div>`);
6586
6587
  }
6587
6588
  if (unref(menu)) {
6588
- _push(`<!--[--><div class="menu-backdrop" data-v-f6edc999></div><div class="st-menu" style="${ssrRenderStyle({
6589
+ _push(`<!--[--><div class="menu-backdrop" data-v-e4b51f68></div><div class="st-menu" style="${ssrRenderStyle({
6589
6590
  left: `${unref(menu).x}px`,
6590
6591
  top: `${unref(menu).y}px`
6591
- })}" data-v-f6edc999><!--[-->`);
6592
+ })}" data-v-e4b51f68><!--[-->`);
6592
6593
  ssrRenderList(unref(menuActions), (a) => {
6593
- _push(`<button type="button" class="${ssrRenderClass({ danger: a.danger })}" data-v-f6edc999><span class="${ssrRenderClass(a.key === "cancel" ? "i-tabler-circle-off" : a.key === "retry" ? "i-tabler-rotate" : "i-tabler-external-link")}" data-v-f6edc999></span> ${ssrInterpolate(a.label)}</button>`);
6594
+ _push(`<button type="button" class="${ssrRenderClass({ danger: a.danger })}" data-v-e4b51f68><span class="${ssrRenderClass(a.key === "cancel" ? "i-tabler-circle-off" : a.key === "retry" ? "i-tabler-rotate" : "i-tabler-external-link")}" data-v-e4b51f68></span> ${ssrInterpolate(a.label)}</button>`);
6594
6595
  });
6595
6596
  _push(`<!--]--></div><!--]-->`);
6596
6597
  } else _push(`<!---->`);
@@ -6606,7 +6607,7 @@ TaskBoardView_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) =
6606
6607
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/TaskBoardView.vue");
6607
6608
  return _sfc_setup$10 ? _sfc_setup$10(props, ctx) : void 0;
6608
6609
  };
6609
- var TaskBoardView_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(TaskBoardView_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-f6edc999"]]), { __name: "WorkshopTaskBoardView" });
6610
+ var TaskBoardView_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(TaskBoardView_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e4b51f68"]]), { __name: "WorkshopTaskBoardView" });
6610
6611
  //#endregion
6611
6612
  //#region app/components/workshop/MultiChannelView.vue?vue&type=script&setup=true&lang.ts
6612
6613
  var COL_W_DEFAULT = 360;
@@ -7446,7 +7447,7 @@ var InspectorPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
7446
7447
  const _component_a_progress = progress_default;
7447
7448
  const _component_workshop_memory_panel = MemoryPanel_default;
7448
7449
  const _component_workshop_stats_panel = StatsPanel_default;
7449
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "inspector" }, _attrs))} data-v-ea1bee22>`);
7450
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "inspector" }, _attrs))} data-v-b3dfa7e4>`);
7450
7451
  _push(ssrRenderComponent(_component_a_tabs, {
7451
7452
  "active-key": unref(tab),
7452
7453
  "onUpdate:activeKey": ($event) => isRef(tab) ? tab.value = $event : null,
@@ -7463,10 +7464,10 @@ var InspectorPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
7463
7464
  if (_push) {
7464
7465
  _push(`<!--[-->`);
7465
7466
  ssrRenderList(unref(agents), (a) => {
7466
- _push(`<div class="member aw-tile" role="button" tabindex="0" data-v-ea1bee22${_scopeId}><span class="dot" style="${ssrRenderStyle({ background: stateDot[a.state] ?? "var(--tone-neutral-dot)" })}" data-v-ea1bee22${_scopeId}></span><div class="member-info" data-v-ea1bee22${_scopeId}><div class="member-name" data-v-ea1bee22${_scopeId}><span class="name-text" data-v-ea1bee22${_scopeId}>${ssrInterpolate(a.name)}</span><span class="${ssrRenderClass([a.role, "role-chip"])}" data-v-ea1bee22${_scopeId}>${ssrInterpolate(a.role)}</span></div><div class="member-meta" data-v-ea1bee22${_scopeId}>`);
7467
+ _push(`<div class="member aw-tile" role="button" tabindex="0" data-v-b3dfa7e4${_scopeId}><span class="dot" style="${ssrRenderStyle({ background: stateDot[a.state] ?? "var(--tone-neutral-dot)" })}" data-v-b3dfa7e4${_scopeId}></span><div class="member-info" data-v-b3dfa7e4${_scopeId}><div class="member-name" data-v-b3dfa7e4${_scopeId}><span class="name-text" data-v-b3dfa7e4${_scopeId}>${ssrInterpolate(a.name)}</span><span class="${ssrRenderClass([a.role, "role-chip"])}" data-v-b3dfa7e4${_scopeId}>${ssrInterpolate(a.role)}</span></div><div class="member-meta" data-v-b3dfa7e4${_scopeId}>`);
7467
7468
  if (a.state === "busy" && a.currentTaskTitle) {
7468
7469
  _push(`<!--[-->${ssrInterpolate(a.currentTaskTitle)} `);
7469
- if (a.currentTaskProgress != null) _push(`<span class="prog" data-v-ea1bee22${_scopeId}>${ssrInterpolate(a.currentTaskProgress)}%</span>`);
7470
+ if (a.currentTaskProgress != null) _push(`<span class="prog" data-v-b3dfa7e4${_scopeId}>${ssrInterpolate(a.currentTaskProgress)}%</span>`);
7470
7471
  else _push(`<!---->`);
7471
7472
  _push(`<!--]-->`);
7472
7473
  } else {
@@ -7477,10 +7478,10 @@ var InspectorPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
7477
7478
  else _push(`<!---->`);
7478
7479
  _push(`<!--]-->`);
7479
7480
  }
7480
- _push(`</div><div class="member-cap" data-v-ea1bee22${_scopeId}>${ssrInterpolate(capLine(a.agentId))}</div></div></div>`);
7481
+ _push(`</div><div class="member-cap" data-v-b3dfa7e4${_scopeId}>${ssrInterpolate(capLine(a.agentId))}</div></div></div>`);
7481
7482
  });
7482
7483
  _push(`<!--]-->`);
7483
- if (unref(agents).length === 0) _push(`<div class="empty" data-v-ea1bee22${_scopeId}>${ssrInterpolate(unref(synced) ? _ctx.$t("inspectorPanel.k1el4cgf005") : _ctx.$t("inspectorPanel.k1tqitzl008"))}</div>`);
7484
+ if (unref(agents).length === 0) _push(`<div class="empty" data-v-b3dfa7e4${_scopeId}>${ssrInterpolate(unref(synced) ? _ctx.$t("inspectorPanel.k1el4cgf005") : _ctx.$t("inspectorPanel.k1tqitzl008"))}</div>`);
7484
7485
  else _push(`<!---->`);
7485
7486
  } else return [(openBlock(true), createBlock(Fragment, null, renderList(unref(agents), (a) => {
7486
7487
  return openBlock(), createBlock("div", {
@@ -7519,15 +7520,15 @@ var InspectorPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
7519
7520
  default: withCtx((_, _push, _parent, _scopeId) => {
7520
7521
  if (_push) {
7521
7522
  _push(`<!--[-->`);
7522
- ssrRenderList(unref(rootTasks), (t) => {
7523
- _push(`<div class="task aw-tile" role="button" tabindex="0" data-v-ea1bee22${_scopeId}><div class="task-head" data-v-ea1bee22${_scopeId}><span class="state-chip aw-mono" data-v-ea1bee22${_scopeId}>${ssrInterpolate(t.state)}</span><span class="task-title" data-v-ea1bee22${_scopeId}>${ssrInterpolate(t.title)}</span></div><div class="task-meta" data-v-ea1bee22${_scopeId}>${ssrInterpolate(t.id.slice(0, 8))} · ${ssrInterpolate(t.progress)}% `);
7524
- if (childCount(t.id)) _push(`<span data-v-ea1bee22${_scopeId}>· ${ssrInterpolate(_ctx.$t("inspectorPanel.k3mp44x003"))} ${ssrInterpolate(childCount(t.id))}</span>`);
7523
+ ssrRenderList(unref(rootTasks), (task) => {
7524
+ _push(`<div class="task aw-tile" role="button" tabindex="0" data-v-b3dfa7e4${_scopeId}><div class="task-head" data-v-b3dfa7e4${_scopeId}><span class="state-chip aw-mono" data-v-b3dfa7e4${_scopeId}>${ssrInterpolate(task.state)}</span><span class="task-title" data-v-b3dfa7e4${_scopeId}>${ssrInterpolate(task.title)}</span></div><div class="task-meta" data-v-b3dfa7e4${_scopeId}>${ssrInterpolate(task.id.slice(0, 8))} · ${ssrInterpolate(task.progress)}% `);
7525
+ if (childCount(task.id)) _push(`<span data-v-b3dfa7e4${_scopeId}>· ${ssrInterpolate(_ctx.$t("inspectorPanel.k3mp44x003"))} ${ssrInterpolate(childCount(task.id))}</span>`);
7525
7526
  else _push(`<!---->`);
7526
- if (t.artifacts) _push(`<span data-v-ea1bee22${_scopeId}>· ${ssrInterpolate(_ctx.$t("inspectorPanel.k3w9q9004"))} ${ssrInterpolate(t.artifacts)}</span>`);
7527
+ if (task.artifacts) _push(`<span data-v-b3dfa7e4${_scopeId}>· ${ssrInterpolate(_ctx.$t("inspectorPanel.k3w9q9004"))} ${ssrInterpolate(task.artifacts)}</span>`);
7527
7528
  else _push(`<!---->`);
7528
7529
  _push(`</div>`);
7529
- if (t.state === "WORKING") _push(ssrRenderComponent(_component_a_progress, {
7530
- percent: t.progress,
7530
+ if (task.state === "WORKING") _push(ssrRenderComponent(_component_a_progress, {
7531
+ percent: task.progress,
7531
7532
  size: "small",
7532
7533
  "show-info": false
7533
7534
  }, null, _parent, _scopeId));
@@ -7535,26 +7536,26 @@ var InspectorPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
7535
7536
  _push(`</div>`);
7536
7537
  });
7537
7538
  _push(`<!--]-->`);
7538
- if (unref(rootTasks).length === 0) _push(`<div class="empty" data-v-ea1bee22${_scopeId}>${ssrInterpolate(unref(synced) ? _ctx.$t("inspectorPanel.k1el0vqb006") : _ctx.$t("inspectorPanel.kks0y5h009"))}</div>`);
7539
+ if (unref(rootTasks).length === 0) _push(`<div class="empty" data-v-b3dfa7e4${_scopeId}>${ssrInterpolate(unref(synced) ? _ctx.$t("inspectorPanel.k1el0vqb006") : _ctx.$t("inspectorPanel.kks0y5h009"))}</div>`);
7539
7540
  else _push(`<!---->`);
7540
- } else return [(openBlock(true), createBlock(Fragment, null, renderList(unref(rootTasks), (t) => {
7541
+ } else return [(openBlock(true), createBlock(Fragment, null, renderList(unref(rootTasks), (task) => {
7541
7542
  return openBlock(), createBlock("div", {
7542
- key: t.id,
7543
+ key: task.id,
7543
7544
  class: "task aw-tile",
7544
7545
  role: "button",
7545
7546
  tabindex: "0",
7546
- onClick: ($event) => emit("openTask", t.id),
7547
- onKeydown: withKeys(($event) => emit("openTask", t.id), ["enter"])
7547
+ onClick: ($event) => emit("openTask", task.id),
7548
+ onKeydown: withKeys(($event) => emit("openTask", task.id), ["enter"])
7548
7549
  }, [
7549
- createVNode("div", { class: "task-head" }, [createVNode("span", { class: "state-chip aw-mono" }, toDisplayString(t.state), 1), createVNode("span", { class: "task-title" }, toDisplayString(t.title), 1)]),
7550
+ createVNode("div", { class: "task-head" }, [createVNode("span", { class: "state-chip aw-mono" }, toDisplayString(task.state), 1), createVNode("span", { class: "task-title" }, toDisplayString(task.title), 1)]),
7550
7551
  createVNode("div", { class: "task-meta" }, [
7551
- createTextVNode(toDisplayString(t.id.slice(0, 8)) + " · " + toDisplayString(t.progress) + "% ", 1),
7552
- childCount(t.id) ? (openBlock(), createBlock("span", { key: 0 }, "· " + toDisplayString(_ctx.$t("inspectorPanel.k3mp44x003")) + " " + toDisplayString(childCount(t.id)), 1)) : createCommentVNode("", true),
7553
- t.artifacts ? (openBlock(), createBlock("span", { key: 1 }, "· " + toDisplayString(_ctx.$t("inspectorPanel.k3w9q9004")) + " " + toDisplayString(t.artifacts), 1)) : createCommentVNode("", true)
7552
+ createTextVNode(toDisplayString(task.id.slice(0, 8)) + " · " + toDisplayString(task.progress) + "% ", 1),
7553
+ childCount(task.id) ? (openBlock(), createBlock("span", { key: 0 }, "· " + toDisplayString(_ctx.$t("inspectorPanel.k3mp44x003")) + " " + toDisplayString(childCount(task.id)), 1)) : createCommentVNode("", true),
7554
+ task.artifacts ? (openBlock(), createBlock("span", { key: 1 }, "· " + toDisplayString(_ctx.$t("inspectorPanel.k3w9q9004")) + " " + toDisplayString(task.artifacts), 1)) : createCommentVNode("", true)
7554
7555
  ]),
7555
- t.state === "WORKING" ? (openBlock(), createBlock(_component_a_progress, {
7556
+ task.state === "WORKING" ? (openBlock(), createBlock(_component_a_progress, {
7556
7557
  key: 0,
7557
- percent: t.progress,
7558
+ percent: task.progress,
7558
7559
  size: "small",
7559
7560
  "show-info": false
7560
7561
  }, null, 8, ["percent"])) : createCommentVNode("", true)
@@ -7624,24 +7625,24 @@ var InspectorPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
7624
7625
  key: "tasks",
7625
7626
  tab: "任务"
7626
7627
  }, {
7627
- default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(unref(rootTasks), (t) => {
7628
+ default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(unref(rootTasks), (task) => {
7628
7629
  return openBlock(), createBlock("div", {
7629
- key: t.id,
7630
+ key: task.id,
7630
7631
  class: "task aw-tile",
7631
7632
  role: "button",
7632
7633
  tabindex: "0",
7633
- onClick: ($event) => emit("openTask", t.id),
7634
- onKeydown: withKeys(($event) => emit("openTask", t.id), ["enter"])
7634
+ onClick: ($event) => emit("openTask", task.id),
7635
+ onKeydown: withKeys(($event) => emit("openTask", task.id), ["enter"])
7635
7636
  }, [
7636
- createVNode("div", { class: "task-head" }, [createVNode("span", { class: "state-chip aw-mono" }, toDisplayString(t.state), 1), createVNode("span", { class: "task-title" }, toDisplayString(t.title), 1)]),
7637
+ createVNode("div", { class: "task-head" }, [createVNode("span", { class: "state-chip aw-mono" }, toDisplayString(task.state), 1), createVNode("span", { class: "task-title" }, toDisplayString(task.title), 1)]),
7637
7638
  createVNode("div", { class: "task-meta" }, [
7638
- createTextVNode(toDisplayString(t.id.slice(0, 8)) + " · " + toDisplayString(t.progress) + "% ", 1),
7639
- childCount(t.id) ? (openBlock(), createBlock("span", { key: 0 }, "· " + toDisplayString(_ctx.$t("inspectorPanel.k3mp44x003")) + " " + toDisplayString(childCount(t.id)), 1)) : createCommentVNode("", true),
7640
- t.artifacts ? (openBlock(), createBlock("span", { key: 1 }, "· " + toDisplayString(_ctx.$t("inspectorPanel.k3w9q9004")) + " " + toDisplayString(t.artifacts), 1)) : createCommentVNode("", true)
7639
+ createTextVNode(toDisplayString(task.id.slice(0, 8)) + " · " + toDisplayString(task.progress) + "% ", 1),
7640
+ childCount(task.id) ? (openBlock(), createBlock("span", { key: 0 }, "· " + toDisplayString(_ctx.$t("inspectorPanel.k3mp44x003")) + " " + toDisplayString(childCount(task.id)), 1)) : createCommentVNode("", true),
7641
+ task.artifacts ? (openBlock(), createBlock("span", { key: 1 }, "· " + toDisplayString(_ctx.$t("inspectorPanel.k3w9q9004")) + " " + toDisplayString(task.artifacts), 1)) : createCommentVNode("", true)
7641
7642
  ]),
7642
- t.state === "WORKING" ? (openBlock(), createBlock(_component_a_progress, {
7643
+ task.state === "WORKING" ? (openBlock(), createBlock(_component_a_progress, {
7643
7644
  key: 0,
7644
- percent: t.progress,
7645
+ percent: task.progress,
7645
7646
  size: "small",
7646
7647
  "show-info": false
7647
7648
  }, null, 8, ["percent"])) : createCommentVNode("", true)
@@ -7682,7 +7683,7 @@ InspectorPanel_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx)
7682
7683
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/InspectorPanel.vue");
7683
7684
  return _sfc_setup$6 ? _sfc_setup$6(props, ctx) : void 0;
7684
7685
  };
7685
- var InspectorPanel_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(InspectorPanel_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-ea1bee22"]]), { __name: "WorkshopInspectorPanel" });
7686
+ var InspectorPanel_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(InspectorPanel_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-b3dfa7e4"]]), { __name: "WorkshopInspectorPanel" });
7686
7687
  //#endregion
7687
7688
  //#region app/components/workshop/Composer.vue?vue&type=script&setup=true&lang.ts
7688
7689
  var Composer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -7813,33 +7814,33 @@ var Composer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
7813
7814
  return (_ctx, _push, _parent, _attrs) => {
7814
7815
  const _component_a_select = Select;
7815
7816
  const _component_a_input_number = input_number_default;
7816
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "composer" }, _attrs))} data-v-f1e383c4><div class="composer-box" data-v-f1e383c4>`);
7817
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "composer" }, _attrs))} data-v-bddcd471><div class="composer-box" data-v-bddcd471>`);
7817
7818
  if (unref(mentionOpen)) {
7818
- _push(`<div class="mention-menu" data-v-f1e383c4><div class="mention-title" data-v-f1e383c4>${ssrInterpolate(_ctx.$t("composer.k1bxvc46004"))}</div><!--[-->`);
7819
+ _push(`<div class="mention-menu" data-v-bddcd471><div class="mention-title" data-v-bddcd471>${ssrInterpolate(_ctx.$t("composer.k1bxvc46004"))}</div><!--[-->`);
7819
7820
  ssrRenderList(unref(mentionCandidates), (a, i) => {
7820
- _push(`<button type="button" class="${ssrRenderClass([{ sel: i === unref(mentionHi) }, "mention-opt"])}" data-v-f1e383c4><span class="aw-avatar is-agent mention-ava" style="${ssrRenderStyle({ "--av": unref(agentHueColor)(a.agentId) })}" data-v-f1e383c4>${ssrInterpolate(a.name.charAt(0).toUpperCase())}</span><span class="mention-name" data-v-f1e383c4>@${ssrInterpolate(a.name)}</span><span class="mention-role" data-v-f1e383c4>${ssrInterpolate(a.role)}</span><span class="${ssrRenderClass([a.state, "mention-state"])}"${ssrRenderAttr("title", a.state)} data-v-f1e383c4></span></button>`);
7821
+ _push(`<button type="button" class="${ssrRenderClass([{ sel: i === unref(mentionHi) }, "mention-opt"])}" data-v-bddcd471><span class="aw-avatar is-agent mention-ava" style="${ssrRenderStyle({ "--av": unref(agentHueColor)(a.agentId) })}" data-v-bddcd471>${ssrInterpolate(a.name.charAt(0).toUpperCase())}</span><span class="mention-name" data-v-bddcd471>@${ssrInterpolate(a.name)}</span><span class="mention-role" data-v-bddcd471>${ssrInterpolate(a.role)}</span><span class="${ssrRenderClass([a.state, "mention-state"])}"${ssrRenderAttr("title", a.state)} data-v-bddcd471></span></button>`);
7821
7822
  });
7822
7823
  _push(`<!--]--></div>`);
7823
7824
  } else _push(`<!---->`);
7824
- _push(`<div class="composer-status-chip" data-v-f1e383c4>`);
7825
+ _push(`<div class="composer-status-chip" data-v-bddcd471>`);
7825
7826
  if (unref(mode) === "task") {
7826
- _push(`<!--[--><span class="chip-key" data-v-f1e383c4>${ssrInterpolate(_ctx.$t("composer.k3wcox005"))}</span><span data-v-f1e383c4>${ssrInterpolate(unref(taskMode))}</span>`);
7827
- if (unref(taskMode) === "loop") _push(`<span data-v-f1e383c4>${ssrInterpolate(_ctx.$t("composer.k49kr1011"))} ${ssrInterpolate(unref(loopIntervalSeconds) ?? "-")}s </span>`);
7827
+ _push(`<!--[--><span class="chip-key" data-v-bddcd471>${ssrInterpolate(_ctx.$t("composer.k3wcox005"))}</span><span data-v-bddcd471>${ssrInterpolate(unref(taskMode))}</span>`);
7828
+ if (unref(taskMode) === "loop") _push(`<span data-v-bddcd471>${ssrInterpolate(_ctx.$t("composer.k49kr1011"))} ${ssrInterpolate(unref(loopIntervalSeconds) ?? "-")}s </span>`);
7828
7829
  else _push(`<!---->`);
7829
- _push(`<span class="chip-target"${ssrRenderAttr("title", unref(isDefaultLead) ? "未 @ 指定:任务自动路由 lead 调度;@ 某成员可直发" : _ctx.$t("composer.kl3604i033", { p0: unref(targetName) }))} data-v-f1e383c4>→ ${ssrInterpolate(unref(targetName) ? `@${unref(targetName)}` : "lead")}${ssrInterpolate(unref(isDefaultLead) ? _ctx.$t("composer.k2z7yuw012") : _ctx.$t("composer.k2z0fsx032"))}</span>`);
7830
- if (unref(reachHint)) _push(`<span class="reach-chip"${ssrRenderAttr("data-tone", unref(reachHint).tone)}${ssrRenderAttr("title", unref(reachHint).title)} data-v-f1e383c4><span class="reach-dot" aria-hidden="true" data-v-f1e383c4></span>${ssrInterpolate(unref(reachHint).text)}</span>`);
7830
+ _push(`<span class="chip-target"${ssrRenderAttr("title", unref(isDefaultLead) ? "未 @ 指定:任务自动路由 lead 调度;@ 某成员可直发" : _ctx.$t("composer.kl3604i033", { p0: unref(targetName) }))} data-v-bddcd471>→ ${ssrInterpolate(unref(targetName) ? `@${unref(targetName)}` : "lead")}${ssrInterpolate(unref(isDefaultLead) ? _ctx.$t("composer.k2z7yuw012") : _ctx.$t("composer.k2z0fsx032"))}</span>`);
7831
+ if (unref(reachHint)) _push(`<span class="reach-chip"${ssrRenderAttr("data-tone", unref(reachHint).tone)}${ssrRenderAttr("title", unref(reachHint).title)} data-v-bddcd471><span class="reach-dot" aria-hidden="true" data-v-bddcd471></span>${ssrInterpolate(unref(reachHint).text)}</span>`);
7831
7832
  else _push(`<!---->`);
7832
- _push(`<span class="chip-hint" data-v-f1e383c4>${ssrInterpolate(_ctx.$t("composer.k17u6q77006"))}</span><!--]-->`);
7833
+ _push(`<span class="chip-hint" data-v-bddcd471>${ssrInterpolate(_ctx.$t("composer.k17u6q77006"))}</span><!--]-->`);
7833
7834
  } else {
7834
- _push(`<!--[--><span class="chip-key" data-v-f1e383c4>${ssrInterpolate(_ctx.$t("composer.k41ykc007"))}</span>`);
7835
- if (unref(targetName)) _push(`<span data-v-f1e383c4>@${ssrInterpolate(unref(targetName))}${ssrInterpolate(unref(isDefaultLead) ? _ctx.$t("composer.k2z7yuw012") : "")}</span>`);
7835
+ _push(`<!--[--><span class="chip-key" data-v-bddcd471>${ssrInterpolate(_ctx.$t("composer.k41ykc007"))}</span>`);
7836
+ if (unref(targetName)) _push(`<span data-v-bddcd471>@${ssrInterpolate(unref(targetName))}${ssrInterpolate(unref(isDefaultLead) ? _ctx.$t("composer.k2z7yuw012") : "")}</span>`);
7836
7837
  else _push(`<!---->`);
7837
- _push(`<span data-v-f1e383c4>${ssrInterpolate(unref(priority) === "immediate" ? _ctx.$t("composer.k1bosqfv013") : _ctx.$t("composer.k40g8m009"))}</span>`);
7838
- if (unref(reachHint)) _push(`<span class="reach-chip"${ssrRenderAttr("data-tone", unref(reachHint).tone)}${ssrRenderAttr("title", unref(reachHint).title)} data-v-f1e383c4><span class="reach-dot" aria-hidden="true" data-v-f1e383c4></span>${ssrInterpolate(unref(reachHint).text)}</span>`);
7838
+ _push(`<span data-v-bddcd471>${ssrInterpolate(unref(priority) === "immediate" ? _ctx.$t("composer.k1bosqfv013") : _ctx.$t("composer.k40g8m009"))}</span>`);
7839
+ if (unref(reachHint)) _push(`<span class="reach-chip"${ssrRenderAttr("data-tone", unref(reachHint).tone)}${ssrRenderAttr("title", unref(reachHint).title)} data-v-bddcd471><span class="reach-dot" aria-hidden="true" data-v-bddcd471></span>${ssrInterpolate(unref(reachHint).text)}</span>`);
7839
7840
  else _push(`<!---->`);
7840
- _push(`<span class="chip-hint" data-v-f1e383c4>输入 @ 提及成员 · ⌘/Ctrl+Enter 发送</span><!--]-->`);
7841
+ _push(`<span class="chip-hint" data-v-bddcd471>输入 @ 提及成员 · ⌘/Ctrl+Enter 发送</span><!--]-->`);
7841
7842
  }
7842
- _push(`</div><textarea class="composer-input" rows="1"${ssrRenderAttr("placeholder", unref(placeholder))} data-v-f1e383c4>${ssrInterpolate(unref(input))}</textarea><div class="composer-bar" data-v-f1e383c4><div class="cb-left" data-v-f1e383c4><div class="aw-seg" data-v-f1e383c4><button type="button" class="${ssrRenderClass({ on: unref(mode) === "task" })}" data-v-f1e383c4>${ssrInterpolate(_ctx.$t("composer.k3wcox005"))}</button><button type="button" class="${ssrRenderClass({ on: unref(mode) === "message" })}" data-v-f1e383c4>${ssrInterpolate(_ctx.$t("composer.k41ykc007"))}</button></div>`);
7843
+ _push(`</div><textarea class="composer-input" rows="1"${ssrRenderAttr("placeholder", unref(placeholder))} data-v-bddcd471>${ssrInterpolate(unref(input))}</textarea><div class="composer-bar" data-v-bddcd471><div class="cb-left" data-v-bddcd471><div class="aw-seg" data-v-bddcd471><button type="button" class="${ssrRenderClass({ on: unref(mode) === "task" })}" data-v-bddcd471>${ssrInterpolate(_ctx.$t("composer.k3wcox005"))}</button><button type="button" class="${ssrRenderClass({ on: unref(mode) === "message" })}" data-v-bddcd471>${ssrInterpolate(_ctx.$t("composer.k41ykc007"))}</button></div>`);
7843
7844
  _push(ssrRenderComponent(_component_a_select, {
7844
7845
  value: unref(toAgentId),
7845
7846
  "onUpdate:value": ($event) => isRef(toAgentId) ? toAgentId.value = $event : null,
@@ -7851,13 +7852,13 @@ var Composer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
7851
7852
  }))
7852
7853
  }, null, _parent));
7853
7854
  if (unref(mode) === "task") {
7854
- _push(`<!--[--><div class="aw-seg" data-v-f1e383c4><!--[-->`);
7855
+ _push(`<!--[--><div class="aw-seg" data-v-bddcd471><!--[-->`);
7855
7856
  ssrRenderList([
7856
7857
  "goal",
7857
7858
  "loop",
7858
7859
  "pipeline"
7859
7860
  ], (m) => {
7860
- _push(`<button type="button" class="${ssrRenderClass({ on: unref(taskMode) === m })}" data-v-f1e383c4>${ssrInterpolate(m)}</button>`);
7861
+ _push(`<button type="button" class="${ssrRenderClass({ on: unref(taskMode) === m })}" data-v-bddcd471>${ssrInterpolate(m)}</button>`);
7861
7862
  });
7862
7863
  _push(`<!--]--></div>`);
7863
7864
  if (unref(taskMode) === "loop") {
@@ -7887,8 +7888,8 @@ var Composer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
7887
7888
  _push(`<!--]-->`);
7888
7889
  } else _push(`<!---->`);
7889
7890
  _push(`<!--]-->`);
7890
- } else _push(`<!--[--><div class="aw-seg" data-v-f1e383c4><button type="button" class="${ssrRenderClass({ on: unref(priority) === "immediate" })}"${ssrRenderAttr("title", _ctx.$t("composer.k1jqqvhe002"))} data-v-f1e383c4>${ssrInterpolate(_ctx.$t("composer.k3x9n2008"))}</button><button type="button" class="${ssrRenderClass({ on: unref(priority) === "task" })}" data-v-f1e383c4>${ssrInterpolate(_ctx.$t("composer.k40g8m009"))}</button></div><button type="button" class="${ssrRenderClass([{ on: unref(requireReply) }, "chip-toggle"])}"${ssrRenderAttr("title", _ctx.$t("composer.k195594v003"))} data-v-f1e383c4><span class="i-tabler-mail-forward" data-v-f1e383c4></span> ${ssrInterpolate(_ctx.$t("composer.k3xv7u010"))}</button><!--]-->`);
7891
- _push(`</div><div class="cb-right" data-v-f1e383c4><button type="button" class="send-btn im"${ssrIncludeBooleanAttr(unref(sendLoading) || !unref(input).trim()) ? " disabled" : ""} title="发送(⌘/Ctrl+Enter)" data-v-f1e383c4><span class="i-tabler-send im-nudge-up" data-v-f1e383c4></span></button></div></div></div></div>`);
7891
+ } else _push(`<!--[--><div class="aw-seg" data-v-bddcd471><button type="button" class="${ssrRenderClass({ on: unref(priority) === "immediate" })}"${ssrRenderAttr("title", _ctx.$t("composer.k1jqqvhe002"))} data-v-bddcd471>${ssrInterpolate(_ctx.$t("composer.k3x9n2008"))}</button><button type="button" class="${ssrRenderClass({ on: unref(priority) === "task" })}" data-v-bddcd471>${ssrInterpolate(_ctx.$t("composer.k40g8m009"))}</button></div><button type="button" class="${ssrRenderClass([{ on: unref(requireReply) }, "chip-toggle"])}"${ssrRenderAttr("title", _ctx.$t("composer.k195594v003"))} data-v-bddcd471><span class="i-tabler-mail-forward" data-v-bddcd471></span> ${ssrInterpolate(_ctx.$t("composer.k3xv7u010"))}</button><!--]-->`);
7892
+ _push(`</div><div class="cb-right" data-v-bddcd471><button type="button" class="send-btn im"${ssrIncludeBooleanAttr(unref(sendLoading) || !unref(input).trim()) ? " disabled" : ""} title="发送(⌘/Ctrl+Enter)" data-v-bddcd471><span class="i-tabler-send im-nudge-up" data-v-bddcd471></span></button></div></div></div></div>`);
7892
7893
  };
7893
7894
  }
7894
7895
  });
@@ -7900,7 +7901,7 @@ Composer_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
7900
7901
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/Composer.vue");
7901
7902
  return _sfc_setup$5 ? _sfc_setup$5(props, ctx) : void 0;
7902
7903
  };
7903
- var Composer_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(Composer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-f1e383c4"]]), { __name: "WorkshopComposer" });
7904
+ var Composer_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(Composer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-bddcd471"]]), { __name: "WorkshopComposer" });
7904
7905
  //#endregion
7905
7906
  //#region app/components/workshop/AgentInspectorDrawer.vue?vue&type=script&setup=true&lang.ts
7906
7907
  var DRAWER_W_DEFAULT$2 = 520;
@@ -8059,7 +8060,7 @@ var AgentInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE
8059
8060
  onReset: ($event) => drawerWidth.value = DRAWER_W_DEFAULT$2
8060
8061
  }, null, _parent, _scopeId));
8061
8062
  if (unref(agent)) {
8062
- _push(`<!--[--><div class="head" data-v-857e6de6${_scopeId}><span class="dot" style="${ssrRenderStyle({ background: stateDot[unref(agent).state] ?? "var(--tone-neutral-dot)" })}" data-v-857e6de6${_scopeId}></span><span class="state-text" data-v-857e6de6${_scopeId}>${ssrInterpolate(unref(agent).state)}</span><span class="role-chip" data-v-857e6de6${_scopeId}>${ssrInterpolate(unref(agent).harness)}</span><span class="queue-meta" data-v-857e6de6${_scopeId}>${ssrInterpolate(_ctx.$t("agentInspectorDrawer.k498bf010"))}${ssrInterpolate(unref(agent).queued ?? 0)} · ${ssrInterpolate(_ctx.$t("agentInspectorDrawer.k3ypnl022"))}${ssrInterpolate(unref(agent).completed ?? 0)}</span>`);
8063
+ _push(`<!--[--><div class="head" data-v-69681b3a${_scopeId}><span class="dot" style="${ssrRenderStyle({ background: stateDot[unref(agent).state] ?? "var(--tone-neutral-dot)" })}" data-v-69681b3a${_scopeId}></span><span class="state-text" data-v-69681b3a${_scopeId}>${ssrInterpolate(unref(agent).state)}</span><span class="role-chip" data-v-69681b3a${_scopeId}>${ssrInterpolate(unref(agent).harness)}</span><span class="queue-meta" data-v-69681b3a${_scopeId}>${ssrInterpolate(_ctx.$t("agentInspectorDrawer.k498bf010"))}${ssrInterpolate(unref(agent).queued ?? 0)} · ${ssrInterpolate(_ctx.$t("agentInspectorDrawer.k3ypnl022"))}${ssrInterpolate(unref(agent).completed ?? 0)}</span>`);
8063
8064
  _push(ssrRenderComponent(_component_a_button, {
8064
8065
  size: "small",
8065
8066
  type: unref(focusActive) ? "primary" : "default",
@@ -8072,7 +8073,7 @@ var AgentInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE
8072
8073
  _: 1
8073
8074
  }, _parent, _scopeId));
8074
8075
  _push(`</div>`);
8075
- if (unref(currentTitle)) _push(`<div class="current-task" data-v-857e6de6${_scopeId}>${ssrInterpolate(_ctx.$t("agentInspectorDrawer.kk653nv011"))}${ssrInterpolate(unref(currentTitle))}」 </div>`);
8076
+ if (unref(currentTitle)) _push(`<div class="current-task" data-v-69681b3a${_scopeId}>${ssrInterpolate(_ctx.$t("agentInspectorDrawer.kk653nv011"))}${ssrInterpolate(unref(currentTitle))}」 </div>`);
8076
8077
  else _push(`<!---->`);
8077
8078
  _push(ssrRenderComponent(_component_a_tabs, {
8078
8079
  "active-key": unref(tab),
@@ -8088,8 +8089,8 @@ var AgentInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE
8088
8089
  }, {
8089
8090
  default: withCtx((_, _push, _parent, _scopeId) => {
8090
8091
  if (_push) {
8091
- _push(`<div class="stream" data-v-857e6de6${_scopeId}>`);
8092
- if (unref(stream).length === 0) _push(`<div class="empty" data-v-857e6de6${_scopeId}>${ssrInterpolate(_ctx.$t("agentInspectorDrawer.k1frr9es004"))}</div>`);
8092
+ _push(`<div class="stream" data-v-69681b3a${_scopeId}>`);
8093
+ if (unref(stream).length === 0) _push(`<div class="empty" data-v-69681b3a${_scopeId}>${ssrInterpolate(_ctx.$t("agentInspectorDrawer.k1frr9es004"))}</div>`);
8093
8094
  else _push(`<!---->`);
8094
8095
  _push(`<!--[-->`);
8095
8096
  ssrRenderList(unref(stream), (b) => {
@@ -8134,12 +8135,12 @@ var AgentInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE
8134
8135
  ["待执行", unref(assignedTasks).queued],
8135
8136
  ["已完成", unref(assignedTasks).done]
8136
8137
  ], (group) => {
8137
- _push(`<div class="queue-group" data-v-857e6de6${_scopeId}><div class="group-title" data-v-857e6de6${_scopeId}>${ssrInterpolate(group[0])}(${ssrInterpolate(group[1].length)}) </div><!--[-->`);
8138
- ssrRenderList(group[1], (t) => {
8139
- _push(`<div class="queue-task" data-v-857e6de6${_scopeId}><span class="state-chip aw-mono" data-v-857e6de6${_scopeId}>${ssrInterpolate(t.state)}</span><span class="qt-title" data-v-857e6de6${_scopeId}>${ssrInterpolate(t.title)}</span><span class="qt-meta" data-v-857e6de6${_scopeId}>${ssrInterpolate(t.progress)}%</span></div>`);
8138
+ _push(`<div class="queue-group" data-v-69681b3a${_scopeId}><div class="group-title" data-v-69681b3a${_scopeId}>${ssrInterpolate(group[0])}(${ssrInterpolate(group[1].length)}) </div><!--[-->`);
8139
+ ssrRenderList(group[1], (task) => {
8140
+ _push(`<div class="queue-task" data-v-69681b3a${_scopeId}><span class="state-chip aw-mono" data-v-69681b3a${_scopeId}>${ssrInterpolate(task.state)}</span><span class="qt-title" data-v-69681b3a${_scopeId}>${ssrInterpolate(task.title)}</span><span class="qt-meta" data-v-69681b3a${_scopeId}>${ssrInterpolate(task.progress)}%</span></div>`);
8140
8141
  });
8141
8142
  _push(`<!--]-->`);
8142
- if (group[1].length === 0) _push(`<div class="empty" data-v-857e6de6${_scopeId}> (${ssrInterpolate(_ctx.$t("agentInspectorDrawer.k43rxk012"))}</div>`);
8143
+ if (group[1].length === 0) _push(`<div class="empty" data-v-69681b3a${_scopeId}> (${ssrInterpolate(_ctx.$t("agentInspectorDrawer.k43rxk012"))}</div>`);
8143
8144
  else _push(`<!---->`);
8144
8145
  _push(`</div>`);
8145
8146
  });
@@ -8154,14 +8155,14 @@ var AgentInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE
8154
8155
  class: "queue-group"
8155
8156
  }, [
8156
8157
  createVNode("div", { class: "group-title" }, toDisplayString(group[0]) + "(" + toDisplayString(group[1].length) + ") ", 1),
8157
- (openBlock(true), createBlock(Fragment, null, renderList(group[1], (t) => {
8158
+ (openBlock(true), createBlock(Fragment, null, renderList(group[1], (task) => {
8158
8159
  return openBlock(), createBlock("div", {
8159
- key: t.id,
8160
+ key: task.id,
8160
8161
  class: "queue-task"
8161
8162
  }, [
8162
- createVNode("span", { class: "state-chip aw-mono" }, toDisplayString(t.state), 1),
8163
- createVNode("span", { class: "qt-title" }, toDisplayString(t.title), 1),
8164
- createVNode("span", { class: "qt-meta" }, toDisplayString(t.progress) + "%", 1)
8163
+ createVNode("span", { class: "state-chip aw-mono" }, toDisplayString(task.state), 1),
8164
+ createVNode("span", { class: "qt-title" }, toDisplayString(task.title), 1),
8165
+ createVNode("span", { class: "qt-meta" }, toDisplayString(task.progress) + "%", 1)
8165
8166
  ]);
8166
8167
  }), 128)),
8167
8168
  group[1].length === 0 ? (openBlock(), createBlock("div", {
@@ -8221,14 +8222,14 @@ var AgentInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE
8221
8222
  class: "queue-group"
8222
8223
  }, [
8223
8224
  createVNode("div", { class: "group-title" }, toDisplayString(group[0]) + "(" + toDisplayString(group[1].length) + ") ", 1),
8224
- (openBlock(true), createBlock(Fragment, null, renderList(group[1], (t) => {
8225
+ (openBlock(true), createBlock(Fragment, null, renderList(group[1], (task) => {
8225
8226
  return openBlock(), createBlock("div", {
8226
- key: t.id,
8227
+ key: task.id,
8227
8228
  class: "queue-task"
8228
8229
  }, [
8229
- createVNode("span", { class: "state-chip aw-mono" }, toDisplayString(t.state), 1),
8230
- createVNode("span", { class: "qt-title" }, toDisplayString(t.title), 1),
8231
- createVNode("span", { class: "qt-meta" }, toDisplayString(t.progress) + "%", 1)
8230
+ createVNode("span", { class: "state-chip aw-mono" }, toDisplayString(task.state), 1),
8231
+ createVNode("span", { class: "qt-title" }, toDisplayString(task.title), 1),
8232
+ createVNode("span", { class: "qt-meta" }, toDisplayString(task.progress) + "%", 1)
8232
8233
  ]);
8233
8234
  }), 128)),
8234
8235
  group[1].length === 0 ? (openBlock(), createBlock("div", {
@@ -8253,9 +8254,9 @@ var AgentInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE
8253
8254
  }),
8254
8255
  _: 1
8255
8256
  }, _parent, _scopeId));
8256
- _push(`<div class="footer" data-v-857e6de6${_scopeId}>`);
8257
+ _push(`<div class="footer" data-v-69681b3a${_scopeId}>`);
8257
8258
  if (unref(agent).role === "worker") {
8258
- _push(`<div class="member-ops" data-v-857e6de6${_scopeId}><span class="op-label" data-v-857e6de6${_scopeId}>${ssrInterpolate(_ctx.$t("agentInspectorDrawer.kas9m5q006"))}</span>`);
8259
+ _push(`<div class="member-ops" data-v-69681b3a${_scopeId}><span class="op-label" data-v-69681b3a${_scopeId}>${ssrInterpolate(_ctx.$t("agentInspectorDrawer.kas9m5q006"))}</span>`);
8259
8260
  _push(ssrRenderComponent(_component_a_switch, {
8260
8261
  checked: (unref(agent).enabled ?? 1) === 1,
8261
8262
  loading: unref(toggling),
@@ -8297,7 +8298,7 @@ var AgentInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE
8297
8298
  }, _parent, _scopeId));
8298
8299
  _push(`</div>`);
8299
8300
  } else _push(`<!---->`);
8300
- _push(`<div class="send-box" data-v-857e6de6${_scopeId}>`);
8301
+ _push(`<div class="send-box" data-v-69681b3a${_scopeId}>`);
8301
8302
  _push(ssrRenderComponent(_component_a_textarea, {
8302
8303
  value: unref(sendText),
8303
8304
  "onUpdate:value": ($event) => isRef(sendText) ? sendText.value = $event : null,
@@ -8308,7 +8309,7 @@ var AgentInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE
8308
8309
  placeholder: _ctx.$t("agentInspectorDrawer.kwsotdg003"),
8309
8310
  onKeydown: send
8310
8311
  }, null, _parent, _scopeId));
8311
- _push(`<div class="send-ops" data-v-857e6de6${_scopeId}>`);
8312
+ _push(`<div class="send-ops" data-v-69681b3a${_scopeId}>`);
8312
8313
  _push(ssrRenderComponent(_component_a_segmented, {
8313
8314
  value: unref(priority),
8314
8315
  "onUpdate:value": ($event) => isRef(priority) ? priority.value = $event : null,
@@ -8411,14 +8412,14 @@ var AgentInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE
8411
8412
  class: "queue-group"
8412
8413
  }, [
8413
8414
  createVNode("div", { class: "group-title" }, toDisplayString(group[0]) + "(" + toDisplayString(group[1].length) + ") ", 1),
8414
- (openBlock(true), createBlock(Fragment, null, renderList(group[1], (t) => {
8415
+ (openBlock(true), createBlock(Fragment, null, renderList(group[1], (task) => {
8415
8416
  return openBlock(), createBlock("div", {
8416
- key: t.id,
8417
+ key: task.id,
8417
8418
  class: "queue-task"
8418
8419
  }, [
8419
- createVNode("span", { class: "state-chip aw-mono" }, toDisplayString(t.state), 1),
8420
- createVNode("span", { class: "qt-title" }, toDisplayString(t.title), 1),
8421
- createVNode("span", { class: "qt-meta" }, toDisplayString(t.progress) + "%", 1)
8420
+ createVNode("span", { class: "state-chip aw-mono" }, toDisplayString(task.state), 1),
8421
+ createVNode("span", { class: "qt-title" }, toDisplayString(task.title), 1),
8422
+ createVNode("span", { class: "qt-meta" }, toDisplayString(task.progress) + "%", 1)
8422
8423
  ]);
8423
8424
  }), 128)),
8424
8425
  group[1].length === 0 ? (openBlock(), createBlock("div", {
@@ -8531,7 +8532,7 @@ AgentInspectorDrawer_vue_vue_type_script_setup_true_lang_default.setup = (props,
8531
8532
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/AgentInspectorDrawer.vue");
8532
8533
  return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0;
8533
8534
  };
8534
- var AgentInspectorDrawer_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(AgentInspectorDrawer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-857e6de6"]]), { __name: "WorkshopAgentInspectorDrawer" });
8535
+ var AgentInspectorDrawer_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(AgentInspectorDrawer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-69681b3a"]]), { __name: "WorkshopAgentInspectorDrawer" });
8535
8536
  //#endregion
8536
8537
  //#region app/components/workshop/TaskInspectorDrawer.vue?vue&type=script&setup=true&lang.ts
8537
8538
  var DRAWER_W_DEFAULT$1 = 560;
@@ -9795,6 +9796,7 @@ var _wsId__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
9795
9796
  ref(false);
9796
9797
  const entities = useEntitiesStore();
9797
9798
  const { subscribe, unsubscribe, conn } = useWorkshopWs();
9799
+ const { isDesktop } = useResponsive();
9798
9800
  const workspace = computed(() => wsStore.workspaces.find((w) => w.id === wsId.value));
9799
9801
  const channelId = computed(() => {
9800
9802
  const ws = workspace.value;
@@ -9830,29 +9832,39 @@ var _wsId__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
9830
9832
  ]);
9831
9833
  const initView = route.query.view;
9832
9834
  const view = ref(typeof initView === "string" && VIEW_VALUES.has(initView) ? initView : "timeline");
9833
- const viewOptions = [
9834
- {
9835
- value: "timeline",
9836
- label: t("wsView.k3otu32010")
9837
- },
9838
- {
9839
- value: "lanes",
9840
- label: "Agent lanes"
9841
- },
9842
- {
9843
- value: "board",
9844
- label: t("wsView.k3ko7a8011")
9845
- },
9846
- {
9847
- value: "split",
9848
- label: t("wsView.k3xbmo012")
9849
- },
9850
- {
9851
- value: "town",
9852
- label: t("wsView.k1cz0pbw013")
9853
- }
9854
- ];
9835
+ const viewOptions = computed(() => {
9836
+ const base = [
9837
+ {
9838
+ value: "timeline",
9839
+ label: t("wsView.k3otu32010")
9840
+ },
9841
+ {
9842
+ value: "lanes",
9843
+ label: "Agent lanes"
9844
+ },
9845
+ {
9846
+ value: "board",
9847
+ label: t("wsView.k3ko7a8011")
9848
+ },
9849
+ {
9850
+ value: "split",
9851
+ label: t("wsView.k3xbmo012")
9852
+ },
9853
+ {
9854
+ value: "town",
9855
+ label: t("wsView.k1cz0pbw013")
9856
+ }
9857
+ ];
9858
+ return narrowUI.value ? [...base, {
9859
+ value: "inspector",
9860
+ label: "检查器"
9861
+ }] : base;
9862
+ });
9855
9863
  const onViewKey = (ev) => {
9864
+ if (ev.key === "Escape" && narrowUI.value && leftOpen.value) {
9865
+ leftOpen.value = false;
9866
+ return;
9867
+ }
9856
9868
  if (ev.metaKey || ev.ctrlKey || ev.altKey) return;
9857
9869
  const t = ev.target;
9858
9870
  if (t && (t.tagName === "INPUT" || t.tagName === "TEXTAREA" || t.isContentEditable)) return;
@@ -9861,8 +9873,20 @@ var _wsId__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
9861
9873
  ev.preventDefault();
9862
9874
  view.value = next;
9863
9875
  };
9876
+ const mounted = ref(false);
9877
+ const narrowUI = computed(() => mounted.value && !isDesktop.value);
9864
9878
  const leftOpen = ref(true);
9865
9879
  const rightOpen = ref(true);
9880
+ /** 窄屏:左右侧栏都不再占位(收成覆盖式抽屉 / 并入切换条) */
9881
+ const applyTier = (desktop) => {
9882
+ leftOpen.value = desktop;
9883
+ rightOpen.value = desktop;
9884
+ if (desktop && view.value === "inspector") view.value = "timeline";
9885
+ };
9886
+ watch(isDesktop, (d) => applyTier(d));
9887
+ watch(channelId, (next, prev) => {
9888
+ if (prev !== void 0 && next !== prev && narrowUI.value) leftOpen.value = false;
9889
+ });
9866
9890
  const leftWidth = useStorage("aw.harness.leftW", LEFT_W_DEFAULT);
9867
9891
  const rightWidth = useStorage("aw.harness.rightW", RIGHT_W_DEFAULT);
9868
9892
  const resizeLeft = (d) => {
@@ -9916,24 +9940,29 @@ var _wsId__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
9916
9940
  const _component_workshop_task_inspector_drawer = TaskInspectorDrawer_default;
9917
9941
  const _component_workshop_a2a_rpc_debugger = A2aRpcDebugger_default;
9918
9942
  const _component_workshop_command_palette = CommandPalette_default;
9919
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "harness" }, _attrs))} data-v-f2913902>`);
9943
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "harness" }, _attrs))} data-v-634670bb>`);
9920
9944
  _push(ssrRenderComponent(_component_workshop_mention_hover_card, null, null, _parent));
9921
- _push(`<div class="topbar" data-v-f2913902><div class="left" tabindex="-1" data-v-f2913902><span class="topbar-mark i-tabler-box" data-v-f2913902></span><span class="ws-name" data-v-f2913902>${ssrInterpolate(unref(workspace)?.name ?? "未知 Workspace")}</span>`);
9922
- if (unref(channelId)) _push(`<span class="chan-chip"${ssrRenderAttr("title", unref(channelId))} data-v-f2913902><span class="chan-hash" data-v-f2913902>#</span>${ssrInterpolate(unref(entities).channels[unref(channelId)]?.name ?? unref(channelId).slice(0, 8))}</span>`);
9945
+ _push(`<div class="topbar" data-v-634670bb><div class="left" tabindex="-1" data-v-634670bb><span class="topbar-mark i-tabler-box" data-v-634670bb></span><span class="ws-name" data-v-634670bb>${ssrInterpolate(unref(workspace)?.name ?? "未知 Workspace")}</span>`);
9946
+ if (unref(channelId)) _push(`<span class="chan-chip"${ssrRenderAttr("title", unref(channelId))} data-v-634670bb><span class="chan-hash" data-v-634670bb>#</span>${ssrInterpolate(unref(entities).channels[unref(channelId)]?.name ?? unref(channelId).slice(0, 8))}</span>`);
9923
9947
  else _push(`<!---->`);
9924
9948
  if (unref(channelId)) _push(ssrRenderComponent(_component_a_segmented, {
9925
9949
  value: unref(view),
9926
9950
  "onUpdate:value": ($event) => isRef(view) ? view.value = $event : null,
9927
9951
  size: "small",
9928
- options: viewOptions,
9952
+ options: unref(viewOptions),
9929
9953
  class: "view-switch",
9930
9954
  title: _ctx.$t("wsView.kqwckjr001"),
9931
9955
  onKeydown: onViewKey
9932
9956
  }, null, _parent));
9933
9957
  else _push(`<!---->`);
9934
- _push(`</div><div class="right" data-v-f2913902><button class="${ssrRenderClass([{ off: !unref(leftOpen) }, "pane-toggle im"])}"${ssrRenderAttr("title", _ctx.$t("wsView.k1tsy2e4002"))} data-v-f2913902><span class="i-tabler-layout-sidebar-left-collapse im-pop" data-v-f2913902></span></button><button class="${ssrRenderClass([{ off: !unref(rightOpen) }, "pane-toggle im"])}"${ssrRenderAttr("title", _ctx.$t("wsView.k1tx0ppf003"))} data-v-f2913902><span class="i-tabler-layout-sidebar-right-collapse im-pop" data-v-f2913902></span></button><button class="pane-toggle im" title="A2A RPC/SSE 调试器" data-v-f2913902><span class="i-tabler-terminal-2 im-pop" data-v-f2913902></span></button><button class="pane-toggle im"${ssrRenderAttr("title", _ctx.$t("wsView.k1cvg8sb004"))} data-v-f2913902><span class="i-tabler-command im-pop" data-v-f2913902></span></button><span class="dot" style="${ssrRenderStyle({ background: unref(stateColor) })}" data-v-f2913902></span><span class="ws-state"${ssrRenderAttr("data-state", unref(conn).state)} data-v-f2913902>${ssrInterpolate(unref(conn).state)}</span><span class="seq" data-v-f2913902>seq ${ssrInterpolate(unref(lastSeq))}</span></div></div><div class="main" data-v-f2913902>`);
9958
+ _push(`</div><div class="right" data-v-634670bb>`);
9959
+ if (unref(narrowUI)) _push(`<button class="${ssrRenderClass([{ off: !unref(leftOpen) }, "pane-toggle im toggle-left-narrow"])}" title="频道会话列表" data-v-634670bb><span class="i-tabler-list-details im-pop" data-v-634670bb></span></button>`);
9960
+ else _push(`<!---->`);
9961
+ _push(`<button class="${ssrRenderClass([{ off: !unref(leftOpen) }, "pane-toggle im toggle-left-desk"])}"${ssrRenderAttr("title", _ctx.$t("wsView.k1tsy2e4002"))} data-v-634670bb><span class="i-tabler-layout-sidebar-left-collapse im-pop" data-v-634670bb></span></button><button class="${ssrRenderClass([{ off: !unref(rightOpen) }, "pane-toggle im toggle-right-desk"])}"${ssrRenderAttr("title", _ctx.$t("wsView.k1tx0ppf003"))} data-v-634670bb><span class="i-tabler-layout-sidebar-right-collapse im-pop" data-v-634670bb></span></button><button class="pane-toggle im" title="A2A RPC/SSE 调试器" data-v-634670bb><span class="i-tabler-terminal-2 im-pop" data-v-634670bb></span></button><button class="pane-toggle im"${ssrRenderAttr("title", _ctx.$t("wsView.k1cvg8sb004"))} data-v-634670bb><span class="i-tabler-command im-pop" data-v-634670bb></span></button><span class="dot" style="${ssrRenderStyle({ background: unref(stateColor) })}" data-v-634670bb></span><span class="ws-state"${ssrRenderAttr("data-state", unref(conn).state)} data-v-634670bb>${ssrInterpolate(unref(conn).state)}</span><span class="seq" data-v-634670bb>seq ${ssrInterpolate(unref(lastSeq))}</span></div></div><div class="main" data-v-634670bb>`);
9962
+ if (unref(narrowUI) && unref(leftOpen)) _push(`<div class="drawer-scrim" data-v-634670bb></div>`);
9963
+ else _push(`<!---->`);
9935
9964
  if (unref(leftOpen)) {
9936
- _push(`<div class="left-pane" style="${ssrRenderStyle({ flexBasis: `${unref(leftWidth)}px` })}" data-v-f2913902><div class="left-scroll" data-v-f2913902>`);
9965
+ _push(`<div class="left-pane" style="${ssrRenderStyle({ flexBasis: unref(narrowUI) ? "auto" : `${unref(leftWidth)}px` })}" data-v-634670bb><div class="left-scroll" data-v-634670bb>`);
9937
9966
  _push(ssrRenderComponent(_component_workshop_channel_session_list, { "ws-id": unref(wsId) }, null, _parent));
9938
9967
  _push(`</div>`);
9939
9968
  _push(ssrRenderComponent(_component_workshop_live_agent_bar, {
@@ -9942,13 +9971,13 @@ var _wsId__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
9942
9971
  }, null, _parent));
9943
9972
  _push(`</div>`);
9944
9973
  } else _push(`<!---->`);
9945
- if (unref(leftOpen)) _push(ssrRenderComponent(_component_workshop_pane_splitter, {
9974
+ if (unref(leftOpen) && !unref(narrowUI)) _push(ssrRenderComponent(_component_workshop_pane_splitter, {
9946
9975
  label: _ctx.$t("wsView.k1fkfvra005"),
9947
9976
  onResize: resizeLeft,
9948
9977
  onReset: ($event) => leftWidth.value = LEFT_W_DEFAULT
9949
9978
  }, null, _parent));
9950
9979
  else _push(`<!---->`);
9951
- _push(`<div class="center-pane" data-v-f2913902>`);
9980
+ _push(`<div class="center-pane" data-v-634670bb>`);
9952
9981
  if (unref(channelId)) {
9953
9982
  _push(`<!--[-->`);
9954
9983
  if (unref(view) === "timeline") _push(ssrRenderComponent(_component_workshop_transcript_timeline, { "channel-id": unref(channelId) }, null, _parent));
@@ -9962,30 +9991,35 @@ var _wsId__vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
9962
9991
  onOpenTask: openTask
9963
9992
  }, null, _parent));
9964
9993
  else if (unref(view) === "town") _push(ssrRenderComponent(_component_workshop_town_view, { "channel-id": unref(channelId) }, null, _parent));
9994
+ else if (unref(view) === "inspector" && unref(narrowUI)) _push(ssrRenderComponent(_component_workshop_inspector_panel, {
9995
+ "channel-id": unref(channelId),
9996
+ onOpenAgent: openAgent,
9997
+ onOpenTask: openTask
9998
+ }, null, _parent));
9965
9999
  else _push(`<!---->`);
9966
10000
  _push(`<!--]-->`);
9967
- } else _push(`<div class="pane-empty" data-v-f2913902><span class="pe-icon i-tabler-messages" data-v-f2913902></span><div class="pe-title" data-v-f2913902>${ssrInterpolate(_ctx.$t("wsView.klzbtyp007"))} <span class="aw-serif-accent-italic" data-v-f2913902>Channel</span> ${ssrInterpolate(_ctx.$t("wsView.k3zaj4008"))}</div><div class="pe-sub" data-v-f2913902>${ssrInterpolate(_ctx.$t("wsView.k1us0cxy009"))}</div></div>`);
10001
+ } else _push(`<div class="pane-empty" data-v-634670bb><span class="pe-icon i-tabler-messages" data-v-634670bb></span><div class="pe-title" data-v-634670bb>${ssrInterpolate(_ctx.$t("wsView.klzbtyp007"))} <span class="aw-serif-accent-italic" data-v-634670bb>Channel</span> ${ssrInterpolate(_ctx.$t("wsView.k3zaj4008"))}</div><div class="pe-sub" data-v-634670bb>${ssrInterpolate(_ctx.$t("wsView.k1us0cxy009"))}</div></div>`);
9968
10002
  _push(`</div>`);
9969
- if (unref(rightOpen)) _push(ssrRenderComponent(_component_workshop_pane_splitter, {
10003
+ if (unref(rightOpen) && !unref(narrowUI)) _push(ssrRenderComponent(_component_workshop_pane_splitter, {
9970
10004
  label: _ctx.$t("wsView.kwqb0st006"),
9971
10005
  onResize: resizeRight,
9972
10006
  onReset: ($event) => rightWidth.value = RIGHT_W_DEFAULT
9973
10007
  }, null, _parent));
9974
10008
  else _push(`<!---->`);
9975
- if (unref(rightOpen)) {
9976
- _push(`<div class="${ssrRenderClass([{ empty: unref(wsStore).loaded && !unref(channelId) }, "right-pane"])}" style="${ssrRenderStyle({ flexBasis: `${unref(rightWidth)}px` })}" data-v-f2913902>`);
10009
+ if (unref(rightOpen) && !unref(narrowUI)) {
10010
+ _push(`<div class="${ssrRenderClass([{ empty: unref(wsStore).loaded && !unref(channelId) }, "right-pane"])}" style="${ssrRenderStyle({ flexBasis: `${unref(rightWidth)}px` })}" data-v-634670bb>`);
9977
10011
  if (unref(channelId)) _push(ssrRenderComponent(_component_workshop_inspector_panel, {
9978
10012
  "channel-id": unref(channelId),
9979
10013
  onOpenAgent: openAgent,
9980
10014
  onOpenTask: openTask
9981
10015
  }, null, _parent));
9982
- else if (!unref(wsStore).loaded) _push(`<div class="pane-loading" data-v-f2913902> 正在加载 Workspace… </div>`);
10016
+ else if (!unref(wsStore).loaded) _push(`<div class="pane-loading" data-v-634670bb> 正在加载 Workspace… </div>`);
9983
10017
  else _push(`<!---->`);
9984
10018
  _push(`</div>`);
9985
10019
  } else _push(`<!---->`);
9986
10020
  _push(`</div>`);
9987
10021
  if (unref(channelId)) {
9988
- _push(`<div class="composer-pane" data-v-f2913902>`);
10022
+ _push(`<div class="composer-pane" data-v-634670bb>`);
9989
10023
  _push(ssrRenderComponent(_component_workshop_composer, { "channel-id": unref(channelId) }, null, _parent));
9990
10024
  _push(ssrRenderComponent(_component_workshop_agent_inspector_drawer, {
9991
10025
  open: unref(agentDrawerOpen),
@@ -10026,7 +10060,7 @@ _wsId__vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
10026
10060
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/workshop/w/[wsId].vue");
10027
10061
  return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
10028
10062
  };
10029
- var _wsId__default = /*#__PURE__*/ _plugin_vue_export_helper_default(_wsId__vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-f2913902"]]);
10063
+ var _wsId__default = /*#__PURE__*/ _plugin_vue_export_helper_default(_wsId__vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-634670bb"]]);
10030
10064
 
10031
10065
  export { _wsId__default as default };
10032
- //# sourceMappingURL=_wsId_-BVg3bB77.mjs.map
10066
+ //# sourceMappingURL=_wsId_-BASfDf0s.mjs.map