agentworkshop 0.7.52 → 0.7.54

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 (1086) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +157 -1
  2. package/.output/.AgentWorkShop/prompts/host-tools.json +157 -1
  3. package/.output/.AgentWorkShop/schema.json +4 -1
  4. package/.output/nitro.json +1 -1
  5. package/.output/public/_nuxt/8oRmGaAV.js +1 -0
  6. package/.output/public/_nuxt/{9zrLAN2o2.js → BJhsCisg2.js} +1 -1
  7. package/.output/public/_nuxt/BOhcoxIu.js +2 -0
  8. package/.output/public/_nuxt/{BdM_Qr752.js → BP8TgWo02.js} +1 -1
  9. package/.output/public/_nuxt/{bg2adfck.js → BPqXOlYX.js} +1 -1
  10. package/.output/public/_nuxt/{Crbir9cT.js → BQOn0q6Y.js} +1 -1
  11. package/.output/public/_nuxt/{BPou3U7b.js → BQy0Yy7S.js} +1 -1
  12. package/.output/public/_nuxt/BTVyPFng2.js +1 -0
  13. package/.output/public/_nuxt/{qOlYoGLf.js → BWowAAJb.js} +1 -1
  14. package/.output/public/_nuxt/{CTvh8v4T.js → BXR3tgEk.js} +1 -1
  15. package/.output/public/_nuxt/{DQMbdg4t.js → BZtgVXC5.js} +1 -1
  16. package/.output/public/_nuxt/BcX4fktE.js +1 -0
  17. package/.output/public/_nuxt/{B_LcD7qE2.js → BdF9OAZq2.js} +1 -1
  18. package/.output/public/_nuxt/{IU-UGkCJ2.js → BhcbvVOa2.js} +1 -1
  19. package/.output/public/_nuxt/{CBDX7p73.js → BjWbbMHs.js} +1 -1
  20. package/.output/public/_nuxt/{mNnuUoSy.js → BkfA3BbD.js} +1 -1
  21. package/.output/public/_nuxt/{YaroNkJZ2.js → BmTzcKJg2.js} +1 -1
  22. package/.output/public/_nuxt/BnoyYd0Z2.js +1 -0
  23. package/.output/public/_nuxt/{Bl5dYv4m.js → BqYO-UfR.js} +1 -1
  24. package/.output/public/_nuxt/Btv3HXrq.js +1 -0
  25. package/.output/public/_nuxt/{BGKUW7ra.js → Btx8wL4-.js} +1 -1
  26. package/.output/public/_nuxt/{CBIoheY42.js → BuXaEtBG2.js} +1 -1
  27. package/.output/public/_nuxt/{BXx9AxdF2.js → BxWvUgMz2.js} +1 -1
  28. package/.output/public/_nuxt/{1g9IT9Qh2.js → BxoaZc_U2.js} +1 -1
  29. package/.output/public/_nuxt/C-LU6xv_.js +1 -0
  30. package/.output/public/_nuxt/{BcQXL8pb.js → C-y_g11k.js} +1 -1
  31. package/.output/public/_nuxt/{Bt2ZL5332.js → C4sQKuhk.js} +1 -1
  32. package/.output/public/_nuxt/C7_F68I7.js +1 -0
  33. package/.output/public/_nuxt/{CkPxL4UX2.js → CBUIODly2.js} +1 -1
  34. package/.output/public/_nuxt/CFjveTJh.js +1 -0
  35. package/.output/public/_nuxt/{BQXCMsXk.js → CMWyj56j.js} +1 -1
  36. package/.output/public/_nuxt/{C4WhK2wq.js → COQM2L1M.js} +1 -1
  37. package/.output/public/_nuxt/{BiUhxH3t2.js → CV61ysvv.js} +1 -1
  38. package/.output/public/_nuxt/Ca3iDJwu2.js +21 -0
  39. package/.output/public/_nuxt/{BiOSWsjD.js → Cg8Pgbeu.js} +1 -1
  40. package/.output/public/_nuxt/{CFQyYMEn2.js → Ch9KdZWb2.js} +1 -1
  41. package/.output/public/_nuxt/{B1RT9NTO2.js → ChN5v-i22.js} +1 -1
  42. package/.output/public/_nuxt/{DefDtlKK.js → Cpm5JYv4.js} +1 -1
  43. package/.output/public/_nuxt/{DsGf2IV82.js → CtXOpljm2.js} +1 -1
  44. package/.output/public/_nuxt/{B9cGf8mg.js → CvGYm7w8.js} +1 -1
  45. package/.output/public/_nuxt/{EhhQmlBV2.js → D2Sm-GTk2.js} +1 -1
  46. package/.output/public/_nuxt/{DCtk3qqr.js → D8xUsQGt.js} +1 -1
  47. package/.output/public/_nuxt/{CQabB0oy.js → D9TpiWjt.js} +1 -1
  48. package/.output/public/_nuxt/DB4ma-iU2.js +1 -0
  49. package/.output/public/_nuxt/{BDmNbZ252.js → DCPhrNWR2.js} +1 -1
  50. package/.output/public/_nuxt/{D_Ce9Fon2.js → DFhyhDGa2.js} +1 -1
  51. package/.output/public/_nuxt/{BE7BrEw6.js → DNZmwhSD.js} +1 -1
  52. package/.output/public/_nuxt/{CMXcOb6W.js → DO9xaI9a.js} +1 -1
  53. package/.output/public/_nuxt/{H2rNs1O82.js → DUribplv2.js} +1 -1
  54. package/.output/public/_nuxt/{B8zP7kaj2.js → DV5joWTn2.js} +1 -1
  55. package/.output/public/_nuxt/{Da90gveK.js → DVOR2pWg.js} +1 -1
  56. package/.output/public/_nuxt/{mgWHSRc8.js → DZDi8inD.js} +1 -1
  57. package/.output/public/_nuxt/DZuXfuXS.js +14 -0
  58. package/.output/public/_nuxt/{Ccps4cxo.js → D_hCLbi9.js} +1 -1
  59. package/.output/public/_nuxt/{B_opxrHJ.js → Db4_F1T2.js} +1 -1
  60. package/.output/public/_nuxt/{xQX5r6tW.js → Dep0Hc9w2.js} +1 -1
  61. package/.output/public/_nuxt/{evt5VGDh.js → DffgG8vT.js} +1 -1
  62. package/.output/public/_nuxt/{Bhe953zV2.js → DioKmYyB2.js} +1 -1
  63. package/.output/public/_nuxt/{D0ldVwl-.js → Dk6Zf3-L.js} +1 -1
  64. package/.output/public/_nuxt/{Dbe9TFc9.js → DlX0nqUe.js} +1 -1
  65. package/.output/public/_nuxt/{Chphw5IA2.js → Dm_iKz8k2.js} +1 -1
  66. package/.output/public/_nuxt/{BVzw5a_0.js → DmzmgYHb2.js} +1 -1
  67. package/.output/public/_nuxt/{NJn94js_.js → DnAn2LgG.js} +1 -1
  68. package/.output/public/_nuxt/DuPM4HXw.js +1 -0
  69. package/.output/public/_nuxt/{DNoEoo8t.js → Dz2SLIde.js} +1 -1
  70. package/.output/public/_nuxt/DzwIZ81f.js +1 -0
  71. package/.output/public/_nuxt/{DD6Z0yPN2.js → MbT4wXb62.js} +1 -1
  72. package/.output/public/_nuxt/{ChGuLxwW2.js → PY2GW_3N2.js} +1 -1
  73. package/.output/public/_nuxt/PluginSlot.CGH0vb95.css +1 -0
  74. package/.output/public/_nuxt/{2_DkYoqD2.js → QHo9mN-M2.js} +1 -1
  75. package/.output/public/_nuxt/{TownView.BvlfuLtP.css → TownView.Xt1yygrh.css} +1 -1
  76. package/.output/public/_nuxt/{ty5W5QwO.js → WmMwIS4y.js} +1 -1
  77. package/.output/public/_nuxt/_id_.DZbVLNnu.css +1 -0
  78. package/.output/public/_nuxt/_wsId_.XjmieZaJ.css +1 -0
  79. package/.output/public/_nuxt/a4X3ARNm2.js +1 -0
  80. package/.output/public/_nuxt/{C00Rd6Cg.js → aV6YPjg02.js} +1 -1
  81. package/.output/public/_nuxt/builds/latest.json +1 -1
  82. package/.output/public/_nuxt/builds/meta/af879435-fc74-4017-ade0-3b92c1ab35bb.json +1 -0
  83. package/.output/public/_nuxt/cY_5jwFz2.js +1 -0
  84. package/.output/public/_nuxt/dVw8IHY62.js +1 -0
  85. package/.output/public/_nuxt/{LwIFGLgF.js → deBcbALe2.js} +1 -1
  86. package/.output/public/_nuxt/{default.CXb_zoN6.css → default.CyLpQD1C.css} +1 -1
  87. package/.output/public/_nuxt/{BzvHUfRR.js → nT-bgxvf.js} +1 -1
  88. package/.output/public/_nuxt/tq3HbWr9.js +1 -0
  89. package/.output/public/_nuxt/{BH3obZJ42.js → uY58gQqR2.js} +1 -1
  90. package/.output/public/_nuxt/{ZuQtOnfI.js → vPfDYgvR.js} +1 -1
  91. package/.output/public/_nuxt/{zsRclU9w2.js → xX7ccjDl2.js} +1 -1
  92. package/.output/public/robots.txt +3 -0
  93. package/.output/server/chunks/_/binding-authz.mjs +1 -1
  94. package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
  95. package/.output/server/chunks/_/entity.mjs +1 -1
  96. package/.output/server/chunks/_/host-bindings.mjs +1 -1
  97. package/.output/server/chunks/_/nitro.mjs +3260 -1505
  98. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  99. package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
  100. package/.output/server/chunks/build/OmpTerminalPanel-mk31gVzA.mjs +1 -1
  101. package/.output/server/chunks/build/{PluginSlot-D2WUZgbp.mjs → PluginSlot-CT4YaNrB.mjs} +5 -5
  102. package/.output/server/chunks/build/{PluginSlot-D2WUZgbp.mjs.map → PluginSlot-CT4YaNrB.mjs.map} +1 -1
  103. package/.output/server/chunks/build/{TownView-fP9BiALv.mjs → TownView-Bf5VFYFj.mjs} +26 -19
  104. package/.output/server/chunks/build/TownView-Bf5VFYFj.mjs.map +1 -0
  105. package/.output/server/chunks/build/{_id_-BUpQSlzo.mjs → _id_-CuUmVPRg.mjs} +200 -86
  106. package/.output/server/chunks/build/_id_-CuUmVPRg.mjs.map +1 -0
  107. package/.output/server/chunks/build/{_id_-CDlur81q.mjs → _id_-WF20tjqT.mjs} +12 -11
  108. package/.output/server/chunks/build/_id_-WF20tjqT.mjs.map +1 -0
  109. package/.output/server/chunks/build/{_wsId_-C4L9fVHC.mjs → _wsId_-BUIKB68b.mjs} +332 -211
  110. package/.output/server/chunks/build/{_wsId_-C4L9fVHC.mjs.map → _wsId_-BUIKB68b.mjs.map} +1 -1
  111. package/.output/server/chunks/build/{agents-ydYu-Ol9.mjs → agents-DqICy4AL.mjs} +8 -7
  112. package/.output/server/chunks/build/agents-DqICy4AL.mjs.map +1 -0
  113. package/.output/server/chunks/build/{aml-DsgtDLWF.mjs → aml-C55iuLn-.mjs} +15 -13
  114. package/.output/server/chunks/build/aml-C55iuLn-.mjs.map +1 -0
  115. package/.output/server/chunks/build/{api-BY6ji7RC.mjs → api-B4Om0mEc.mjs} +4 -3
  116. package/.output/server/chunks/build/api-B4Om0mEc.mjs.map +1 -0
  117. package/.output/server/chunks/build/{apiClient-D281qrK2.mjs → apiClient-BvXtNzC8.mjs} +2 -2
  118. package/.output/server/chunks/build/apiClient-BvXtNzC8.mjs.map +1 -0
  119. package/.output/server/chunks/build/{channel-templates-DP1ndA5K.mjs → channel-templates-gdCLajKy.mjs} +5 -4
  120. package/.output/server/chunks/build/channel-templates-gdCLajKy.mjs.map +1 -0
  121. package/.output/server/chunks/build/constants-HPHJvjne.mjs +2 -1
  122. package/.output/server/chunks/build/constants-HPHJvjne.mjs.map +1 -1
  123. package/.output/server/chunks/build/{daq-N69AOtgw.mjs → daq-D0kLscVr.mjs} +15 -13
  124. package/.output/server/chunks/build/daq-D0kLscVr.mjs.map +1 -0
  125. package/.output/server/chunks/build/{dcw-CN9d3Rs7.mjs → dcw-DuhEyu7S.mjs} +11 -10
  126. package/.output/server/chunks/build/dcw-DuhEyu7S.mjs.map +1 -0
  127. package/.output/server/chunks/build/dcw-driver-badge-Df5wL_ZA.mjs +20 -0
  128. package/.output/server/chunks/build/dcw-driver-badge-Df5wL_ZA.mjs.map +1 -0
  129. package/.output/server/chunks/build/{default-DCf9tn1i.mjs → default-aFGiNebw.mjs} +70 -65
  130. package/.output/server/chunks/build/{default-DCf9tn1i.mjs.map → default-aFGiNebw.mjs.map} +1 -1
  131. package/.output/server/chunks/build/hitl-ePh3G3ue.mjs +132 -0
  132. package/.output/server/chunks/build/hitl-ePh3G3ue.mjs.map +1 -0
  133. package/.output/server/chunks/build/{logs-BcAjU1Ps.mjs → logs-BlOalbsZ.mjs} +11 -9
  134. package/.output/server/chunks/build/logs-BlOalbsZ.mjs.map +1 -0
  135. package/.output/server/chunks/build/monitor-DX_K0WMq.mjs +3 -2
  136. package/.output/server/chunks/build/{operations-OFHYXwh4.mjs → operations-BD6LK-Yz.mjs} +10 -8
  137. package/.output/server/chunks/build/operations-BD6LK-Yz.mjs.map +1 -0
  138. package/.output/server/chunks/build/{pages-BzmrmLL_.mjs → pages-DloBBvU5.mjs} +8 -7
  139. package/.output/server/chunks/build/pages-DloBBvU5.mjs.map +1 -0
  140. package/.output/server/chunks/build/permissions-BvmodvsO.mjs +3 -2
  141. package/.output/server/chunks/build/permissions-BvmodvsO.mjs.map +1 -1
  142. package/.output/server/chunks/build/{plugins-DSka7-vS.mjs → plugins-NAS9MQ5r.mjs} +5 -4
  143. package/.output/server/chunks/build/plugins-NAS9MQ5r.mjs.map +1 -0
  144. package/.output/server/chunks/build/{schedules-BYR-lA1k.mjs → schedules-D8vYHgQ5.mjs} +4 -3
  145. package/.output/server/chunks/build/{schedules-BYR-lA1k.mjs.map → schedules-D8vYHgQ5.mjs.map} +1 -1
  146. package/.output/server/chunks/build/{settings-UyZ78w2e.mjs → settings-B7HA-sdb.mjs} +6 -5
  147. package/.output/server/chunks/build/settings-B7HA-sdb.mjs.map +1 -0
  148. package/.output/server/chunks/build/{teams-D-Y5mzU7.mjs → teams-wM-MdLv9.mjs} +10 -9
  149. package/.output/server/chunks/build/teams-wM-MdLv9.mjs.map +1 -0
  150. package/.output/server/chunks/build/tokens-CloWk4x_.mjs +3 -2
  151. package/.output/server/chunks/build/tokens-CloWk4x_.mjs.map +1 -1
  152. package/.output/server/chunks/build/{town-BMlctE4m.mjs → town-B2gBu_ZE.mjs} +12 -9
  153. package/.output/server/chunks/build/town-B2gBu_ZE.mjs.map +1 -0
  154. package/.output/server/chunks/build/types-D6J7slEa.mjs +1 -1
  155. package/.output/server/chunks/build/{useAgentHarnessOptions-CRyQYYY0.mjs → useAgentHarnessOptions-BnFCh23W.mjs} +4 -3
  156. package/.output/server/chunks/build/useAgentHarnessOptions-BnFCh23W.mjs.map +1 -0
  157. package/.output/server/chunks/build/{useAgentTemplateActions-CaRsOBmB.mjs → useAgentTemplateActions-DsBRUQni.mjs} +4 -3
  158. package/.output/server/chunks/build/useAgentTemplateActions-DsBRUQni.mjs.map +1 -0
  159. package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs +2 -1
  160. package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs.map +1 -1
  161. package/.output/server/chunks/build/{useAgentTemplateForm-ChiIuPYr.mjs → useAgentTemplateForm-DzQ_t2Ue.mjs} +4 -3
  162. package/.output/server/chunks/build/useAgentTemplateForm-DzQ_t2Ue.mjs.map +1 -0
  163. package/.output/server/chunks/build/{useAgentTemplatesCatalog-Bf5hk6Jf.mjs → useAgentTemplatesCatalog-Q7LgG1Af.mjs} +5 -4
  164. package/.output/server/chunks/build/useAgentTemplatesCatalog-Q7LgG1Af.mjs.map +1 -0
  165. package/.output/server/chunks/build/{useAmlDatasets-BM0lZu40.mjs → useAmlDatasets-DeoE1idn.mjs} +5 -4
  166. package/.output/server/chunks/build/useAmlDatasets-DeoE1idn.mjs.map +1 -0
  167. package/.output/server/chunks/build/{useAmlEntities-BDQ8TmLL.mjs → useAmlEntities-BMLHU_39.mjs} +5 -4
  168. package/.output/server/chunks/build/useAmlEntities-BMLHU_39.mjs.map +1 -0
  169. package/.output/server/chunks/build/{useAmlEnv-DgTVwpqi.mjs → useAmlEnv-DdlyVzPu.mjs} +5 -4
  170. package/.output/server/chunks/build/useAmlEnv-DdlyVzPu.mjs.map +1 -0
  171. package/.output/server/chunks/build/{useAmlExperiments-BtyW32PO.mjs → useAmlExperiments-Dloi834i.mjs} +5 -4
  172. package/.output/server/chunks/build/useAmlExperiments-Dloi834i.mjs.map +1 -0
  173. package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs +2 -1
  174. package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs.map +1 -1
  175. package/.output/server/chunks/build/{useAmlJobs-fk-H5Rp5.mjs → useAmlJobs--a_1ovew.mjs} +5 -4
  176. package/.output/server/chunks/build/useAmlJobs--a_1ovew.mjs.map +1 -0
  177. package/.output/server/chunks/build/{useAmlModels-hgyVHoAq.mjs → useAmlModels-D7MuOWOy.mjs} +5 -4
  178. package/.output/server/chunks/build/useAmlModels-D7MuOWOy.mjs.map +1 -0
  179. package/.output/server/chunks/build/{useAmlNotes-BjbYNADm.mjs → useAmlNotes-CTZe-GI0.mjs} +5 -4
  180. package/.output/server/chunks/build/useAmlNotes-CTZe-GI0.mjs.map +1 -0
  181. package/.output/server/chunks/build/{useAmlPredict-U24-SZNA.mjs → useAmlPredict-BToRrVRV.mjs} +5 -4
  182. package/.output/server/chunks/build/useAmlPredict-BToRrVRV.mjs.map +1 -0
  183. package/.output/server/chunks/build/{useDaqAddNode-kW7uTSMQ.mjs → useDaqAddNode-CaOCbe4-.mjs} +6 -5
  184. package/.output/server/chunks/build/useDaqAddNode-CaOCbe4-.mjs.map +1 -0
  185. package/.output/server/chunks/build/{useDaqDetailBinding-cpBz4hSL.mjs → useDaqDetailBinding-C7AbGIdP.mjs} +6 -5
  186. package/.output/server/chunks/build/useDaqDetailBinding-C7AbGIdP.mjs.map +1 -0
  187. package/.output/server/chunks/build/{useDaqDetailFrames-BZGtKKXW.mjs → useDaqDetailFrames-CmAEdbAL.mjs} +5 -4
  188. package/.output/server/chunks/build/useDaqDetailFrames-CmAEdbAL.mjs.map +1 -0
  189. package/.output/server/chunks/build/{useDaqDetailHistory-DtSTfyMi.mjs → useDaqDetailHistory-pfi6zXWU.mjs} +5 -4
  190. package/.output/server/chunks/build/useDaqDetailHistory-pfi6zXWU.mjs.map +1 -0
  191. package/.output/server/chunks/build/{useDaqDetailNode-D_vhG0jF.mjs → useDaqDetailNode-qT7MjqJ7.mjs} +8 -7
  192. package/.output/server/chunks/build/useDaqDetailNode-qT7MjqJ7.mjs.map +1 -0
  193. package/.output/server/chunks/build/{useDaqDetailParams-JfqHvTxr.mjs → useDaqDetailParams-CrTMDs-2.mjs} +6 -5
  194. package/.output/server/chunks/build/useDaqDetailParams-CrTMDs-2.mjs.map +1 -0
  195. package/.output/server/chunks/build/{useDaqFilters-BUQtZ82a.mjs → useDaqFilters-CMysN13f.mjs} +8 -7
  196. package/.output/server/chunks/build/useDaqFilters-CMysN13f.mjs.map +1 -0
  197. package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs +2 -1
  198. package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs.map +1 -1
  199. package/.output/server/chunks/build/{useDaqOptimizations-Ct-TSXxy.mjs → useDaqOptimizations-Coq5lsfM.mjs} +5 -4
  200. package/.output/server/chunks/build/useDaqOptimizations-Coq5lsfM.mjs.map +1 -0
  201. package/.output/server/chunks/build/{useDaqStream-wOxZcMDA.mjs → useDaqStream-DhzdoyIR.mjs} +3 -3
  202. package/.output/server/chunks/build/{useDaqStream-wOxZcMDA.mjs.map → useDaqStream-DhzdoyIR.mjs.map} +1 -1
  203. package/.output/server/chunks/build/{useDaqTemplates-BqQRdrIm.mjs → useDaqTemplates-C7GzQmdJ.mjs} +6 -5
  204. package/.output/server/chunks/build/useDaqTemplates-C7GzQmdJ.mjs.map +1 -0
  205. package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs +2 -1
  206. package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs.map +1 -1
  207. package/.output/server/chunks/build/{useDashboardData-CNOY4Bi3.mjs → useDashboardData-DgJcGJaF.mjs} +7 -6
  208. package/.output/server/chunks/build/useDashboardData-DgJcGJaF.mjs.map +1 -0
  209. package/.output/server/chunks/build/{useDcwAddNode-C1HDP3yG.mjs → useDcwAddNode-C9DbEKHi.mjs} +38 -5
  210. package/.output/server/chunks/build/useDcwAddNode-C9DbEKHi.mjs.map +1 -0
  211. package/.output/server/chunks/build/{useDcwCards-ETEsHvVy.mjs → useDcwCards-VDoMYG7l.mjs} +5 -4
  212. package/.output/server/chunks/build/useDcwCards-VDoMYG7l.mjs.map +1 -0
  213. package/.output/server/chunks/build/{useDcwDetailScope-QTr1G6Oe.mjs → useDcwDetailScope-CL97tJdJ.mjs} +7 -6
  214. package/.output/server/chunks/build/useDcwDetailScope-CL97tJdJ.mjs.map +1 -0
  215. package/.output/server/chunks/build/{useDcwDetailTemplates-Djt-0Vse.mjs → useDcwDetailTemplates-OLmjMSGD.mjs} +5 -4
  216. package/.output/server/chunks/build/useDcwDetailTemplates-OLmjMSGD.mjs.map +1 -0
  217. package/.output/server/chunks/build/{useDcwFilter-FfVlDdyS.mjs → useDcwFilter-Bs9C6-h_.mjs} +5 -4
  218. package/.output/server/chunks/build/useDcwFilter-Bs9C6-h_.mjs.map +1 -0
  219. package/.output/server/chunks/build/{useDcwLedger-BLoMmcu1.mjs → useDcwLedger-Bbf_iFOY.mjs} +5 -4
  220. package/.output/server/chunks/build/useDcwLedger-Bbf_iFOY.mjs.map +1 -0
  221. package/.output/server/chunks/build/{useDcwLineMutations-BMC5BTWU.mjs → useDcwLineMutations-Bhtuqw7J.mjs} +5 -4
  222. package/.output/server/chunks/build/useDcwLineMutations-Bhtuqw7J.mjs.map +1 -0
  223. package/.output/server/chunks/build/{useDcwLineRun-74gN_s6T.mjs → useDcwLineRun-CGqZSnG4.mjs} +5 -4
  224. package/.output/server/chunks/build/useDcwLineRun-CGqZSnG4.mjs.map +1 -0
  225. package/.output/server/chunks/build/useDcwParamApprovals-BBwdFsKv.mjs +119 -0
  226. package/.output/server/chunks/build/useDcwParamApprovals-BBwdFsKv.mjs.map +1 -0
  227. package/.output/server/chunks/build/{useDcwProducts-D-zrMaeV.mjs → useDcwProducts-BoBkJqpv.mjs} +5 -4
  228. package/.output/server/chunks/build/useDcwProducts-BoBkJqpv.mjs.map +1 -0
  229. package/.output/server/chunks/build/{useDcwQuery-7tX4QYmv.mjs → useDcwQuery-DP7b2qb6.mjs} +5 -4
  230. package/.output/server/chunks/build/useDcwQuery-DP7b2qb6.mjs.map +1 -0
  231. package/.output/server/chunks/build/{useDcwQuickActions-C-tgcXIr.mjs → useDcwQuickActions-DHRiA9KN.mjs} +5 -4
  232. package/.output/server/chunks/build/useDcwQuickActions-DHRiA9KN.mjs.map +1 -0
  233. package/.output/server/chunks/build/{useDcwRecipes-FVk5gDLV.mjs → useDcwRecipes-CIMeH2oF.mjs} +5 -4
  234. package/.output/server/chunks/build/useDcwRecipes-CIMeH2oF.mjs.map +1 -0
  235. package/.output/server/chunks/build/{useDcwStream-D04kCV3J.mjs → useDcwStream-B9ugUWRq.mjs} +10 -3
  236. package/.output/server/chunks/build/{useDcwStream-D04kCV3J.mjs.map → useDcwStream-B9ugUWRq.mjs.map} +1 -1
  237. package/.output/server/chunks/build/{useDcwTemplates-LDZffy4u.mjs → useDcwTemplates-M_-qjV8E.mjs} +5 -4
  238. package/.output/server/chunks/build/useDcwTemplates-M_-qjV8E.mjs.map +1 -0
  239. package/.output/server/chunks/build/{useDcwWrites-B22mwliK.mjs → useDcwWrites-D94dAzqr.mjs} +5 -4
  240. package/.output/server/chunks/build/useDcwWrites-D94dAzqr.mjs.map +1 -0
  241. package/.output/server/chunks/build/{useDeviceTwins-CbVad1M3.mjs → useDeviceTwins-BqwVJaZg.mjs} +2 -2
  242. package/.output/server/chunks/build/{useDeviceTwins-CbVad1M3.mjs.map → useDeviceTwins-BqwVJaZg.mjs.map} +1 -1
  243. package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs +2 -1
  244. package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs.map +1 -1
  245. package/.output/server/chunks/build/{useLogsManual-COfCyUtj.mjs → useLogsManual-CMjD62nt.mjs} +5 -4
  246. package/.output/server/chunks/build/useLogsManual-CMjD62nt.mjs.map +1 -0
  247. package/.output/server/chunks/build/{useLogsQuery-CRAm2hmS.mjs → useLogsQuery-2x1mKxT1.mjs} +5 -4
  248. package/.output/server/chunks/build/useLogsQuery-2x1mKxT1.mjs.map +1 -0
  249. package/.output/server/chunks/build/{useLogsScope-ClNijVj4.mjs → useLogsScope-04cUJCU-.mjs} +5 -4
  250. package/.output/server/chunks/build/useLogsScope-04cUJCU-.mjs.map +1 -0
  251. package/.output/server/chunks/build/useMonitorColumns-DhYvkLDq.mjs +3 -2
  252. package/.output/server/chunks/build/useMonitorColumns-DhYvkLDq.mjs.map +1 -1
  253. package/.output/server/chunks/build/useMonitorData-guVjMDtR.mjs +3 -2
  254. package/.output/server/chunks/build/useMonitorData-guVjMDtR.mjs.map +1 -1
  255. package/.output/server/chunks/build/useMonitorFormat-C7lhZe4g.mjs +2 -1
  256. package/.output/server/chunks/build/useMonitorFormat-C7lhZe4g.mjs.map +1 -1
  257. package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs +2 -1
  258. package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs.map +1 -1
  259. package/.output/server/chunks/build/{useOperationsFeed-CeXeHqUK.mjs → useOperationsFeed-DsA2ym7M.mjs} +5 -4
  260. package/.output/server/chunks/build/useOperationsFeed-DsA2ym7M.mjs.map +1 -0
  261. package/.output/server/chunks/build/{useOpsLog-CgnNG7_n.mjs → useOpsLog-SnWPuRtK.mjs} +2 -2
  262. package/.output/server/chunks/build/{useOpsLog-CgnNG7_n.mjs.map → useOpsLog-SnWPuRtK.mjs.map} +1 -1
  263. package/.output/server/chunks/build/{useTeamActions-C51ciLb0.mjs → useTeamActions-BOLQkYxg.mjs} +4 -3
  264. package/.output/server/chunks/build/useTeamActions-BOLQkYxg.mjs.map +1 -0
  265. package/.output/server/chunks/build/{useTeamAddMemberDialog-DthpCMP8.mjs → useTeamAddMemberDialog-BCgrLPxI.mjs} +4 -3
  266. package/.output/server/chunks/build/useTeamAddMemberDialog-BCgrLPxI.mjs.map +1 -0
  267. package/.output/server/chunks/build/{useTeamCreateDialog-Dc2KTwyg.mjs → useTeamCreateDialog-CJk40LqS.mjs} +4 -3
  268. package/.output/server/chunks/build/useTeamCreateDialog-CJk40LqS.mjs.map +1 -0
  269. package/.output/server/chunks/build/{useTeamDeployDialog-CXpvPnJD.mjs → useTeamDeployDialog-49hdUXQP.mjs} +4 -3
  270. package/.output/server/chunks/build/useTeamDeployDialog-49hdUXQP.mjs.map +1 -0
  271. package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs +2 -1
  272. package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs.map +1 -1
  273. package/.output/server/chunks/build/{useTeamPluginDialog-DTs-7SSm.mjs → useTeamPluginDialog-Dh-QOoiU.mjs} +4 -3
  274. package/.output/server/chunks/build/useTeamPluginDialog-Dh-QOoiU.mjs.map +1 -0
  275. package/.output/server/chunks/build/{useTeamsCatalog-CcpetYyW.mjs → useTeamsCatalog-HBSyKt5P.mjs} +5 -4
  276. package/.output/server/chunks/build/useTeamsCatalog-HBSyKt5P.mjs.map +1 -0
  277. package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs +2 -1
  278. package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs.map +1 -1
  279. package/.output/server/chunks/build/useTokenCreate-DkYvEQUD.mjs +3 -2
  280. package/.output/server/chunks/build/useTokenCreate-DkYvEQUD.mjs.map +1 -1
  281. package/.output/server/chunks/build/useTokenRename-DOCP4aeI.mjs +3 -2
  282. package/.output/server/chunks/build/useTokenRename-DOCP4aeI.mjs.map +1 -1
  283. package/.output/server/chunks/build/useTokenReveal-CybwwflV.mjs +3 -2
  284. package/.output/server/chunks/build/useTokenReveal-CybwwflV.mjs.map +1 -1
  285. package/.output/server/chunks/build/useTokensList-BLiMvrc4.mjs +3 -2
  286. package/.output/server/chunks/build/useTokensList-BLiMvrc4.mjs.map +1 -1
  287. package/.output/server/chunks/build/useWorkbenchAuth-DqjBX-6w.mjs +3 -2
  288. package/.output/server/chunks/build/useWorkbenchAuth-DqjBX-6w.mjs.map +1 -1
  289. package/.output/server/chunks/build/{useWorkbenchWorkspaces-DgiSCzsX.mjs → useWorkbenchWorkspaces-GQVU9BLv.mjs} +6 -4
  290. package/.output/server/chunks/build/useWorkbenchWorkspaces-GQVU9BLv.mjs.map +1 -0
  291. package/.output/server/chunks/build/{useWorkshopApi-CO3ophqt.mjs → useWorkshopApi-C9sTYu1F.mjs} +10 -2
  292. package/.output/server/chunks/build/useWorkshopApi-C9sTYu1F.mjs.map +1 -0
  293. package/.output/server/chunks/build/{useWorkshopWs-Bm80bLn7.mjs → useWorkshopWs-CgeCsaYJ.mjs} +4 -128
  294. package/.output/server/chunks/build/useWorkshopWs-CgeCsaYJ.mjs.map +1 -0
  295. package/.output/server/chunks/build/useWorkspaceAuth-Dlvj9csD.mjs +3 -2
  296. package/.output/server/chunks/build/useWorkspaceAuth-Dlvj9csD.mjs.map +1 -1
  297. package/.output/server/chunks/build/{useWorkspaceChannels-D61Al2dr.mjs → useWorkspaceChannels-B13vROC1.mjs} +5 -3
  298. package/.output/server/chunks/build/useWorkspaceChannels-B13vROC1.mjs.map +1 -0
  299. package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs +2 -1
  300. package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs.map +1 -1
  301. package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs +2 -1
  302. package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs.map +1 -1
  303. package/.output/server/chunks/build/users-CCf5PgRs.mjs +3 -2
  304. package/.output/server/chunks/build/users-CCf5PgRs.mjs.map +1 -1
  305. package/.output/server/chunks/build/{workshop-FQ4YzooB.mjs → workshop-BDqWzJtr.mjs} +6 -4
  306. package/.output/server/chunks/build/workshop-BDqWzJtr.mjs.map +1 -0
  307. package/.output/server/chunks/build/workspaces-CmW0cpOt.mjs +1 -1
  308. package/.output/server/chunks/routes/api/health.get.mjs +2 -1
  309. package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
  310. package/.output/server/chunks/routes/api/index.get.mjs +3 -2
  311. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  312. package/.output/server/chunks/routes/api/index.post.mjs +16 -4
  313. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  314. package/.output/server/chunks/routes/api/mcp/workshop.mjs +45 -15
  315. package/.output/server/chunks/routes/api/mcp/workshop.mjs.map +1 -1
  316. package/.output/server/chunks/routes/api/metrics.mjs +4 -1
  317. package/.output/server/chunks/routes/api/metrics.mjs.map +1 -1
  318. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +3 -2
  319. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs.map +1 -1
  320. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +2 -1
  321. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs.map +1 -1
  322. package/.output/server/chunks/routes/api/plugins/i18n.get.mjs +2 -1
  323. package/.output/server/chunks/routes/api/plugins/i18n.get.mjs.map +1 -1
  324. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +2 -1
  325. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs.map +1 -1
  326. package/.output/server/chunks/routes/api/system/backup/list.get.mjs +48 -0
  327. package/.output/server/chunks/routes/api/system/backup/list.get.mjs.map +1 -0
  328. package/.output/server/chunks/routes/api/system/backup/run.post.mjs +36 -0
  329. package/.output/server/chunks/routes/api/system/backup/run.post.mjs.map +1 -0
  330. package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs +3 -2
  331. package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs.map +1 -1
  332. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs +3 -2
  333. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs.map +1 -1
  334. package/.output/server/chunks/routes/api/system/config.get.mjs +2 -1
  335. package/.output/server/chunks/routes/api/system/config.get.mjs.map +1 -1
  336. package/.output/server/chunks/routes/api/system/index.get.mjs +3 -2
  337. package/.output/server/chunks/routes/api/system/index.get.mjs.map +1 -1
  338. package/.output/server/chunks/routes/api/system/index.patch.mjs +17 -5
  339. package/.output/server/chunks/routes/api/system/index.patch.mjs.map +1 -1
  340. package/.output/server/chunks/routes/api/system/index.post.mjs +3 -2
  341. package/.output/server/chunks/routes/api/system/index.post.mjs.map +1 -1
  342. package/.output/server/chunks/routes/api/system/index2.get.mjs +3 -2
  343. package/.output/server/chunks/routes/api/system/index2.get.mjs.map +1 -1
  344. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +3 -2
  345. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs.map +1 -1
  346. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +3 -2
  347. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs.map +1 -1
  348. package/.output/server/chunks/routes/api/system/monitor.get.mjs +2 -1
  349. package/.output/server/chunks/routes/api/system/monitor.get.mjs.map +1 -1
  350. package/.output/server/chunks/routes/api/system/settings/events.get.mjs +3 -2
  351. package/.output/server/chunks/routes/api/system/settings/events.get.mjs.map +1 -1
  352. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +17 -4
  353. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs.map +1 -1
  354. package/.output/server/chunks/routes/api/system/timezone.get.mjs +3 -2
  355. package/.output/server/chunks/routes/api/system/timezone.get.mjs.map +1 -1
  356. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +16 -4
  357. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
  358. package/.output/server/chunks/routes/api/users/_id_.get.mjs +3 -2
  359. package/.output/server/chunks/routes/api/users/_id_.get.mjs.map +1 -1
  360. package/.output/server/chunks/routes/api/users/_id_.put.mjs +16 -4
  361. package/.output/server/chunks/routes/api/users/_id_.put.mjs.map +1 -1
  362. package/.output/server/chunks/routes/api/users/index.get.mjs +3 -2
  363. package/.output/server/chunks/routes/api/users/index.get.mjs.map +1 -1
  364. package/.output/server/chunks/routes/api/users/index.post.mjs +3 -2
  365. package/.output/server/chunks/routes/api/users/index.post.mjs.map +1 -1
  366. package/.output/server/chunks/routes/api/users/login.post.mjs +5 -3
  367. package/.output/server/chunks/routes/api/users/login.post.mjs.map +1 -1
  368. package/.output/server/chunks/routes/api/users/logout.post.mjs +3 -2
  369. package/.output/server/chunks/routes/api/users/logout.post.mjs.map +1 -1
  370. package/.output/server/chunks/routes/api/users/me.get.mjs +3 -2
  371. package/.output/server/chunks/routes/api/users/me.get.mjs.map +1 -1
  372. package/.output/server/chunks/routes/api/users/register.post.mjs +6 -2
  373. package/.output/server/chunks/routes/api/users/register.post.mjs.map +1 -1
  374. package/.output/server/chunks/routes/api/users/setup-status.get.mjs +3 -2
  375. package/.output/server/chunks/routes/api/users/setup-status.get.mjs.map +1 -1
  376. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +3 -2
  377. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs.map +1 -1
  378. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +3 -2
  379. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs.map +1 -1
  380. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +3 -2
  381. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs.map +1 -1
  382. package/.output/server/chunks/routes/api/workshop/_...path_.mjs +2 -1
  383. package/.output/server/chunks/routes/api/workshop/_...path_.mjs.map +1 -1
  384. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +3 -2
  385. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs.map +1 -1
  386. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +21 -16
  387. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs.map +1 -1
  388. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +3 -2
  389. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs.map +1 -1
  390. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +3 -2
  391. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs.map +1 -1
  392. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +3 -2
  393. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs.map +1 -1
  394. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +3 -2
  395. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs.map +1 -1
  396. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs +3 -2
  397. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs.map +1 -1
  398. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs +3 -2
  399. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs.map +1 -1
  400. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +3 -2
  401. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs.map +1 -1
  402. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +3 -2
  403. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs.map +1 -1
  404. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +3 -2
  405. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs.map +1 -1
  406. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +3 -2
  407. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs.map +1 -1
  408. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +3 -2
  409. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs.map +1 -1
  410. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +2 -1
  411. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs.map +1 -1
  412. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +2 -1
  413. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs.map +1 -1
  414. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +3 -2
  415. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs.map +1 -1
  416. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +3 -2
  417. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs.map +1 -1
  418. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs +3 -2
  419. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs.map +1 -1
  420. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs +3 -2
  421. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs.map +1 -1
  422. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +3 -2
  423. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs.map +1 -1
  424. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs +3 -2
  425. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs.map +1 -1
  426. package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs +3 -2
  427. package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs.map +1 -1
  428. package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs +3 -2
  429. package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs.map +1 -1
  430. package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs +3 -2
  431. package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs.map +1 -1
  432. package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs +3 -2
  433. package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs.map +1 -1
  434. package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs +3 -2
  435. package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs.map +1 -1
  436. package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs +3 -2
  437. package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs.map +1 -1
  438. package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs +2 -1
  439. package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs.map +1 -1
  440. package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs +3 -2
  441. package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs.map +1 -1
  442. package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs +3 -2
  443. package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs.map +1 -1
  444. package/.output/server/chunks/routes/api/workshop/aml/index3.post.mjs +3 -2
  445. package/.output/server/chunks/routes/api/workshop/aml/index3.post.mjs.map +1 -1
  446. package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs +3 -2
  447. package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs.map +1 -1
  448. package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs +3 -2
  449. package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs.map +1 -1
  450. package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs +3 -2
  451. package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs.map +1 -1
  452. package/.output/server/chunks/routes/api/workshop/aml/index7.get.mjs +3 -2
  453. package/.output/server/chunks/routes/api/workshop/aml/index7.get.mjs.map +1 -1
  454. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs +3 -2
  455. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs.map +1 -1
  456. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs +3 -2
  457. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs.map +1 -1
  458. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs +3 -2
  459. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs.map +1 -1
  460. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs +3 -2
  461. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs.map +1 -1
  462. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs +3 -2
  463. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs.map +1 -1
  464. package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs +3 -2
  465. package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs.map +1 -1
  466. package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs +3 -2
  467. package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs.map +1 -1
  468. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs +3 -2
  469. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs.map +1 -1
  470. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs +3 -2
  471. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs.map +1 -1
  472. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id/train.post.mjs +3 -2
  473. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id/train.post.mjs.map +1 -1
  474. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.delete.mjs +3 -2
  475. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.delete.mjs.map +1 -1
  476. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.patch.mjs +3 -2
  477. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.patch.mjs.map +1 -1
  478. package/.output/server/chunks/routes/api/workshop/aml/twin/providers.get.mjs +3 -2
  479. package/.output/server/chunks/routes/api/workshop/aml/twin/providers.get.mjs.map +1 -1
  480. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +3 -2
  481. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs.map +1 -1
  482. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +2 -1
  483. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs.map +1 -1
  484. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +2 -1
  485. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs.map +1 -1
  486. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +3 -2
  487. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs.map +1 -1
  488. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +3 -2
  489. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs.map +1 -1
  490. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +2 -1
  491. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs.map +1 -1
  492. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +3 -2
  493. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs.map +1 -1
  494. package/.output/server/chunks/routes/api/workshop/audit.get.mjs +3 -2
  495. package/.output/server/chunks/routes/api/workshop/audit.get.mjs.map +1 -1
  496. package/.output/server/chunks/routes/api/workshop/caller.mjs +3 -2
  497. package/.output/server/chunks/routes/api/workshop/caller.mjs.map +1 -1
  498. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +10 -4
  499. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs.map +1 -1
  500. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +2 -1
  501. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs.map +1 -1
  502. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +2 -1
  503. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs.map +1 -1
  504. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +3 -2
  505. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs.map +1 -1
  506. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +3 -2
  507. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs.map +1 -1
  508. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +3 -2
  509. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs.map +1 -1
  510. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +2 -1
  511. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs.map +1 -1
  512. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +3 -2
  513. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs.map +1 -1
  514. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +2 -1
  515. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs.map +1 -1
  516. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +3 -2
  517. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs.map +1 -1
  518. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +2 -1
  519. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs.map +1 -1
  520. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +2 -1
  521. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs.map +1 -1
  522. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +2 -1
  523. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs.map +1 -1
  524. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +2 -1
  525. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs.map +1 -1
  526. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +2 -1
  527. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs.map +1 -1
  528. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +2 -1
  529. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs.map +1 -1
  530. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.get.mjs +3 -2
  531. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.get.mjs.map +1 -1
  532. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs +3 -2
  533. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs.map +1 -1
  534. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/messages/_messageId/read.post.mjs +2 -1
  535. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/messages/_messageId/read.post.mjs.map +1 -1
  536. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/permissions.get.mjs +2 -1
  537. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/permissions.get.mjs.map +1 -1
  538. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +3 -2
  539. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs.map +1 -1
  540. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +2 -1
  541. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs.map +1 -1
  542. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +3 -2
  543. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs.map +1 -1
  544. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +3 -2
  545. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs.map +1 -1
  546. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +2 -1
  547. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs.map +1 -1
  548. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +3 -2
  549. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs.map +1 -1
  550. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +2 -1
  551. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs.map +1 -1
  552. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +3 -2
  553. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs.map +1 -1
  554. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +3 -2
  555. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs.map +1 -1
  556. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +3 -2
  557. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs.map +1 -1
  558. package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +3 -2
  559. package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs.map +1 -1
  560. package/.output/server/chunks/routes/api/workshop/channels/_id/index6.get.mjs +2 -1
  561. package/.output/server/chunks/routes/api/workshop/channels/_id/index6.get.mjs.map +1 -1
  562. package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs +38 -0
  563. package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs.map +1 -0
  564. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId/approve.post.mjs +2 -1
  565. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId/approve.post.mjs.map +1 -1
  566. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId_.delete.mjs +2 -1
  567. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId_.delete.mjs.map +1 -1
  568. package/.output/server/chunks/routes/api/workshop/channels/_id/members/join.post.mjs +2 -1
  569. package/.output/server/chunks/routes/api/workshop/channels/_id/members/join.post.mjs.map +1 -1
  570. package/.output/server/chunks/routes/api/workshop/channels/_id/members/leave.post.mjs +2 -1
  571. package/.output/server/chunks/routes/api/workshop/channels/_id/members/leave.post.mjs.map +1 -1
  572. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +2 -1
  573. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs.map +1 -1
  574. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +2 -1
  575. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs.map +1 -1
  576. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +3 -2
  577. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs.map +1 -1
  578. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs +3 -2
  579. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs.map +1 -1
  580. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs +3 -2
  581. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs.map +1 -1
  582. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +2 -1
  583. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs.map +1 -1
  584. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +3 -2
  585. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs.map +1 -1
  586. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +3 -2
  587. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs.map +1 -1
  588. package/.output/server/chunks/routes/api/workshop/channels.get.mjs +2 -1
  589. package/.output/server/chunks/routes/api/workshop/channels.get.mjs.map +1 -1
  590. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +6 -5
  591. package/.output/server/chunks/routes/api/workshop/channels.post.mjs.map +1 -1
  592. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +3 -2
  593. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs.map +1 -1
  594. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +3 -2
  595. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs.map +1 -1
  596. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +3 -2
  597. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs.map +1 -1
  598. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +3 -2
  599. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs.map +1 -1
  600. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +3 -2
  601. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs.map +1 -1
  602. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +3 -2
  603. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs.map +1 -1
  604. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +3 -2
  605. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs.map +1 -1
  606. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +3 -2
  607. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs.map +1 -1
  608. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +3 -2
  609. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs.map +1 -1
  610. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +3 -2
  611. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs.map +1 -1
  612. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +3 -2
  613. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs.map +1 -1
  614. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +3 -2
  615. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs.map +1 -1
  616. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +3 -2
  617. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs.map +1 -1
  618. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +3 -2
  619. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs.map +1 -1
  620. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +3 -2
  621. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs.map +1 -1
  622. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +3 -2
  623. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs.map +1 -1
  624. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +3 -2
  625. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs.map +1 -1
  626. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +3 -2
  627. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs.map +1 -1
  628. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +3 -2
  629. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs.map +1 -1
  630. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +3 -2
  631. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs.map +1 -1
  632. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +3 -2
  633. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs.map +1 -1
  634. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +3 -2
  635. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs.map +1 -1
  636. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +3 -2
  637. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs.map +1 -1
  638. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +3 -2
  639. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs.map +1 -1
  640. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +3 -2
  641. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs.map +1 -1
  642. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +3 -2
  643. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs.map +1 -1
  644. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +3 -2
  645. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs.map +1 -1
  646. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +3 -2
  647. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs.map +1 -1
  648. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +3 -2
  649. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs.map +1 -1
  650. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +3 -2
  651. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs.map +1 -1
  652. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +3 -2
  653. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs.map +1 -1
  654. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +3 -2
  655. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs.map +1 -1
  656. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +3 -2
  657. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs.map +1 -1
  658. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +3 -2
  659. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs.map +1 -1
  660. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +3 -2
  661. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs.map +1 -1
  662. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +3 -2
  663. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs.map +1 -1
  664. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +3 -2
  665. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs.map +1 -1
  666. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +3 -2
  667. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs.map +1 -1
  668. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +8 -2
  669. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs.map +1 -1
  670. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +3 -2
  671. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs.map +1 -1
  672. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +3 -2
  673. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs.map +1 -1
  674. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +3 -2
  675. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs.map +1 -1
  676. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +3 -2
  677. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs.map +1 -1
  678. package/.output/server/chunks/routes/api/workshop/dcw/mes-test-read.post.mjs +36 -0
  679. package/.output/server/chunks/routes/api/workshop/dcw/mes-test-read.post.mjs.map +1 -0
  680. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +3 -2
  681. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs.map +1 -1
  682. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +3 -2
  683. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs.map +1 -1
  684. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +3 -2
  685. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs.map +1 -1
  686. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +3 -2
  687. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs.map +1 -1
  688. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +3 -2
  689. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs.map +1 -1
  690. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +3 -2
  691. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs.map +1 -1
  692. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +3 -2
  693. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs.map +1 -1
  694. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +3 -2
  695. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs.map +1 -1
  696. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +3 -2
  697. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs.map +1 -1
  698. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +3 -2
  699. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs.map +1 -1
  700. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +3 -2
  701. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs.map +1 -1
  702. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +3 -2
  703. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs.map +1 -1
  704. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +5 -4
  705. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs.map +1 -1
  706. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +3 -2
  707. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs.map +1 -1
  708. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +3 -2
  709. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs.map +1 -1
  710. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +3 -2
  711. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs.map +1 -1
  712. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs +3 -2
  713. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs.map +1 -1
  714. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +3 -2
  715. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs.map +1 -1
  716. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +3 -2
  717. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs.map +1 -1
  718. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +3 -2
  719. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs.map +1 -1
  720. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +3 -2
  721. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs.map +1 -1
  722. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +3 -2
  723. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs.map +1 -1
  724. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +3 -2
  725. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs.map +1 -1
  726. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +3 -2
  727. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs.map +1 -1
  728. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +3 -2
  729. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs.map +1 -1
  730. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +3 -2
  731. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs.map +1 -1
  732. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +3 -2
  733. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs.map +1 -1
  734. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +16 -3
  735. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs.map +1 -1
  736. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +3 -2
  737. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs.map +1 -1
  738. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +3 -2
  739. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs.map +1 -1
  740. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +3 -2
  741. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs.map +1 -1
  742. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +3 -2
  743. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs.map +1 -1
  744. package/.output/server/chunks/routes/api/workshop/index.get.mjs +2 -1
  745. package/.output/server/chunks/routes/api/workshop/index.get.mjs.map +1 -1
  746. package/.output/server/chunks/routes/api/workshop/index.post.mjs +3 -2
  747. package/.output/server/chunks/routes/api/workshop/index.post.mjs.map +1 -1
  748. package/.output/server/chunks/routes/api/workshop/index.put.mjs +3 -2
  749. package/.output/server/chunks/routes/api/workshop/index.put.mjs.map +1 -1
  750. package/.output/server/chunks/routes/api/workshop/index10.get.mjs +3 -2
  751. package/.output/server/chunks/routes/api/workshop/index10.get.mjs.map +1 -1
  752. package/.output/server/chunks/routes/api/workshop/index11.get.mjs +2 -1
  753. package/.output/server/chunks/routes/api/workshop/index11.get.mjs.map +1 -1
  754. package/.output/server/chunks/routes/api/workshop/index12.get.mjs +2 -1
  755. package/.output/server/chunks/routes/api/workshop/index12.get.mjs.map +1 -1
  756. package/.output/server/chunks/routes/api/workshop/index13.get.mjs +2 -1
  757. package/.output/server/chunks/routes/api/workshop/index13.get.mjs.map +1 -1
  758. package/.output/server/chunks/routes/api/workshop/index14.get.mjs +2 -1
  759. package/.output/server/chunks/routes/api/workshop/index14.get.mjs.map +1 -1
  760. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +3 -2
  761. package/.output/server/chunks/routes/api/workshop/index2.get.mjs.map +1 -1
  762. package/.output/server/chunks/routes/api/workshop/index2.post.mjs +3 -2
  763. package/.output/server/chunks/routes/api/workshop/index2.post.mjs.map +1 -1
  764. package/.output/server/chunks/routes/api/workshop/index3.get.mjs +3 -2
  765. package/.output/server/chunks/routes/api/workshop/index3.get.mjs.map +1 -1
  766. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +3 -2
  767. package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
  768. package/.output/server/chunks/routes/api/workshop/index4.get.mjs +2 -1
  769. package/.output/server/chunks/routes/api/workshop/index4.get.mjs.map +1 -1
  770. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +3 -2
  771. package/.output/server/chunks/routes/api/workshop/index4.post.mjs.map +1 -1
  772. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +3 -2
  773. package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
  774. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +3 -2
  775. package/.output/server/chunks/routes/api/workshop/index5.post.mjs.map +1 -1
  776. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +3 -2
  777. package/.output/server/chunks/routes/api/workshop/index6.get.mjs.map +1 -1
  778. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +3 -2
  779. package/.output/server/chunks/routes/api/workshop/index6.post.mjs.map +1 -1
  780. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +3 -2
  781. package/.output/server/chunks/routes/api/workshop/index7.get.mjs.map +1 -1
  782. package/.output/server/chunks/routes/api/workshop/index7.post.mjs +3 -2
  783. package/.output/server/chunks/routes/api/workshop/index7.post.mjs.map +1 -1
  784. package/.output/server/chunks/routes/api/workshop/index8.get.mjs +3 -2
  785. package/.output/server/chunks/routes/api/workshop/index8.get.mjs.map +1 -1
  786. package/.output/server/chunks/routes/api/workshop/index8.post.mjs +3 -2
  787. package/.output/server/chunks/routes/api/workshop/index8.post.mjs.map +1 -1
  788. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +5 -4
  789. package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
  790. package/.output/server/chunks/routes/api/workshop/index9.post.mjs +3 -2
  791. package/.output/server/chunks/routes/api/workshop/index9.post.mjs.map +1 -1
  792. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +2 -1
  793. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs.map +1 -1
  794. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +2 -1
  795. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs.map +1 -1
  796. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +2 -1
  797. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs.map +1 -1
  798. package/.output/server/chunks/routes/api/workshop/notifications/read.post.mjs +3 -2
  799. package/.output/server/chunks/routes/api/workshop/notifications/read.post.mjs.map +1 -1
  800. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +3 -2
  801. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs.map +1 -1
  802. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +3 -2
  803. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs.map +1 -1
  804. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +2 -1
  805. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs.map +1 -1
  806. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +2 -1
  807. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs.map +1 -1
  808. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +3 -2
  809. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs.map +1 -1
  810. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +3 -2
  811. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs.map +1 -1
  812. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +2 -1
  813. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs.map +1 -1
  814. package/.output/server/chunks/routes/api/workshop/schedules/_id/run.post.mjs +2 -1
  815. package/.output/server/chunks/routes/api/workshop/schedules/_id/run.post.mjs.map +1 -1
  816. package/.output/server/chunks/routes/api/workshop/schedules/_id/runs.get.mjs +3 -2
  817. package/.output/server/chunks/routes/api/workshop/schedules/_id/runs.get.mjs.map +1 -1
  818. package/.output/server/chunks/routes/api/workshop/schedules/_id_.delete.mjs +2 -1
  819. package/.output/server/chunks/routes/api/workshop/schedules/_id_.delete.mjs.map +1 -1
  820. package/.output/server/chunks/routes/api/workshop/schedules/_id_.get.mjs +2 -1
  821. package/.output/server/chunks/routes/api/workshop/schedules/_id_.get.mjs.map +1 -1
  822. package/.output/server/chunks/routes/api/workshop/schedules/_id_.patch.mjs +3 -2
  823. package/.output/server/chunks/routes/api/workshop/schedules/_id_.patch.mjs.map +1 -1
  824. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +3 -2
  825. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs.map +1 -1
  826. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +3 -2
  827. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs.map +1 -1
  828. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +2 -1
  829. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs.map +1 -1
  830. package/.output/server/chunks/routes/api/workshop/tasks/_id/reassign.post.mjs +2 -1
  831. package/.output/server/chunks/routes/api/workshop/tasks/_id/reassign.post.mjs.map +1 -1
  832. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +3 -2
  833. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs.map +1 -1
  834. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +2 -1
  835. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs.map +1 -1
  836. package/.output/server/chunks/routes/api/workshop/tasks/_id/update.post.mjs +2 -1
  837. package/.output/server/chunks/routes/api/workshop/tasks/_id/update.post.mjs.map +1 -1
  838. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +3 -2
  839. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs.map +1 -1
  840. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +2 -1
  841. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs.map +1 -1
  842. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +3 -2
  843. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs.map +1 -1
  844. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +2 -1
  845. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs.map +1 -1
  846. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +3 -2
  847. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs.map +1 -1
  848. package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs +3 -2
  849. package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs.map +1 -1
  850. package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs +3 -2
  851. package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs.map +1 -1
  852. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +2 -1
  853. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs.map +1 -1
  854. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +2 -1
  855. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs.map +1 -1
  856. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +2 -1
  857. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs.map +1 -1
  858. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +3 -2
  859. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs.map +1 -1
  860. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +2 -1
  861. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs.map +1 -1
  862. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +6 -2
  863. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs.map +1 -1
  864. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +4 -3
  865. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs.map +1 -1
  866. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +2 -1
  867. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs.map +1 -1
  868. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +2 -1
  869. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs.map +1 -1
  870. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +2 -1
  871. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs.map +1 -1
  872. package/.output/server/chunks/routes/renderer.mjs +2 -2
  873. package/.output/server/chunks/virtual/entry.mjs +420 -99
  874. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  875. package/.output/server/index.mjs +2 -1
  876. package/.output/server/index.mjs.map +1 -1
  877. package/.output/server/package.json +1 -1
  878. package/README-zh.md +7 -3
  879. package/README.md +11 -5
  880. package/app/components/app-header/HitlBell.vue +9 -9
  881. package/app/components/dcw/DcwAddNodeModal.vue +57 -7
  882. package/app/components/dcw/DcwNodesTable.vue +19 -4
  883. package/app/components/dcw/DcwParamApprovalCard.vue +110 -0
  884. package/app/components/dcw/DcwRecipeEditModal.vue +12 -3
  885. package/app/components/workshop/ChatMemberPanel.vue +39 -38
  886. package/app/components/workshop/ChatTimeline.vue +33 -24
  887. package/app/components/workshop/Composer.vue +7 -7
  888. package/app/components/workshop/NotificationCenter.vue +22 -13
  889. package/app/components/workshop/PluginSlot.vue +1 -1
  890. package/app/components/workshop/TaskInspectorDrawer.vue +5 -5
  891. package/app/components/workshop/blocks/ClusterTool.vue +1 -1
  892. package/app/components/workshop/composer/ComposerToolbar.vue +2 -2
  893. package/app/components/workshop/composer/MentionMenu.vue +1 -1
  894. package/app/components/workshop/composer/ReplyChip.vue +2 -2
  895. package/app/components/workshop/composer/StatusChip.vue +7 -7
  896. package/app/components/workshop/console/LineOperationsPanel.vue +15 -14
  897. package/app/components/workshop/lanes/LaneHeader.vue +5 -3
  898. package/app/components/workshop/session-list/ChannelSettingsModal.vue +43 -1
  899. package/app/components/workshop/town/components/TownAgentBindings.vue +10 -1
  900. package/app/composables/useCodeCopy.ts +16 -2
  901. package/app/composables/workshop/useDcwStream.ts +4 -0
  902. package/app/composables/workshop/useWorkshopApi.ts +7 -0
  903. package/app/pages/dcw/[id].vue +19 -1
  904. package/app/pages/dcw/composables/useDcwAddNode.ts +35 -1
  905. package/app/pages/dcw/composables/useDcwParamApprovals.ts +119 -0
  906. package/app/stores/workshop/notifications.ts +43 -17
  907. package/app/utils/dcw-driver-badge.ts +16 -0
  908. package/docs/cli.en.md +1 -1
  909. package/i18n/dicts/_en.json +1551 -1557
  910. package/i18n/dicts/_en2.json +300 -300
  911. package/i18n/dicts/_en4.json +114 -115
  912. package/i18n/dicts/agentLanesView.json +61 -57
  913. package/i18n/dicts/appHeader.json +17 -7
  914. package/i18n/dicts/channelSessionList.json +51 -48
  915. package/i18n/dicts/chat.json +79 -0
  916. package/i18n/dicts/clusterTool.json +4 -3
  917. package/i18n/dicts/composer.json +38 -38
  918. package/i18n/dicts/dcwDetail.json +219 -209
  919. package/i18n/dicts/lineOps.json +14 -0
  920. package/i18n/dicts/multiChannelView.json +13 -13
  921. package/i18n/dicts/notifications.json +13 -0
  922. package/i18n/dicts/taskInspectorDrawer.json +25 -19
  923. package/i18n/locales/en.ts +166 -8
  924. package/i18n/locales/zh-CN.ts +166 -8
  925. package/package.json +1 -1
  926. package/public/robots.txt +3 -0
  927. package/scripts/_dbg-protocol-matrix.mjs +8 -1
  928. package/server/api/mcp/workshop.ts +8 -1
  929. package/server/api/metrics.ts +4 -1
  930. package/server/api/plugins/[name]/[...path].ts +4 -3
  931. package/server/api/system/backup/list.get.ts +32 -0
  932. package/server/api/system/backup/run.post.ts +21 -0
  933. package/server/api/system/settings/index.patch.ts +12 -2
  934. package/server/api/system/settings/reset.post.ts +11 -2
  935. package/server/api/users/[id].delete.ts +9 -2
  936. package/server/api/users/[id].put.ts +9 -2
  937. package/server/api/users/index.post.ts +9 -2
  938. package/server/api/users/login.post.ts +3 -3
  939. package/server/api/users/register.post.ts +11 -1
  940. package/server/api/workshop/a2a/[agentId]/rpc/index.post.ts +23 -13
  941. package/server/api/workshop/channel-templates/[id]/instantiate.post.ts +6 -0
  942. package/server/api/workshop/channels/[id]/line.put.ts +30 -0
  943. package/server/api/workshop/dcw/line/query.get.ts +6 -0
  944. package/server/api/workshop/dcw/mes-test-read.post.ts +24 -0
  945. package/server/api/workshop/dcw/recipes/[id]/revert.post.ts +3 -2
  946. package/server/api/workshop/fs/dirs.get.ts +19 -1
  947. package/server/api/workshop/ops-logs/index.get.ts +3 -2
  948. package/server/api/workshop/users/register.post.ts +7 -0
  949. package/server/mcp/workshop-server.ts +36 -13
  950. package/server/middleware/00-security-headers.ts +38 -0
  951. package/server/middleware/01-rate-guard.ts +101 -0
  952. package/server/plugins/backup.ts +56 -1
  953. package/server/plugins/workshop.ts +4 -0
  954. package/server/plugins-builtin/diag-bridge/host/plugin.mjs +18 -11
  955. package/server/repositories/user.repository.ts +10 -5
  956. package/server/services/user.service.ts +24 -1
  957. package/server/services/workshop/agents/host-tool-bridge/dispatch.ts +1 -1
  958. package/server/services/workshop/agents/host-tool-bridge/tools/industrial.ts +7 -1
  959. package/server/services/workshop/agents/industrial/index.ts +3 -1
  960. package/server/services/workshop/agents/industrial/mes-tools.ts +135 -0
  961. package/server/services/workshop/agents/industrial/ops-tools.ts +243 -30
  962. package/server/services/workshop/agents/industrial-context.ts +19 -0
  963. package/server/services/workshop/agents/tool-classes.ts +12 -0
  964. package/server/services/workshop/aml/dataset-builder.ts +4 -2
  965. package/server/services/workshop/aml/job-orchestrator/process.ts +1 -0
  966. package/server/services/workshop/aml/job-orchestrator/shared.ts +2 -0
  967. package/server/services/workshop/aml/job-orchestrator/start-job.ts +5 -2
  968. package/server/services/workshop/db/channel.repo.ts +11 -1
  969. package/server/services/workshop/db/database/migrations.ts +2 -0
  970. package/server/services/workshop/db/database/rows.ts +2 -0
  971. package/server/services/workshop/db/database/schema.ts +32 -0
  972. package/server/services/workshop/db/database/seed.ts +19 -9
  973. package/server/services/workshop/db/schema.sql +32 -0
  974. package/server/services/workshop/dcw/dcw-controller/recipes.ts +66 -7
  975. package/server/services/workshop/dcw/dcw-controller/write.ts +35 -6
  976. package/server/services/workshop/dcw/dcw-recipe.repo.ts +12 -5
  977. package/server/services/workshop/dcw/drivers/mes-rest.ts +543 -0
  978. package/server/services/workshop/dcw/drivers/registry.ts +2 -0
  979. package/server/services/workshop/dcw/drivers/shared.ts +30 -0
  980. package/server/services/workshop/dcw/param-map.repo.ts +3 -0
  981. package/server/services/workshop/mes/mes-controller.ts +410 -0
  982. package/server/services/workshop/mes/mes-datasets.ts +441 -0
  983. package/server/services/workshop/plugins/host/init.mjs +9 -1
  984. package/server/services/workshop/plugins/host/load.mjs +2 -2
  985. package/server/services/workshop/runtime/manager/admin-channel.ts +27 -1
  986. package/server/services/workshop/runtime/manager/channel-templates.ts +5 -4
  987. package/server/services/workshop/runtime/manager/runtime-wiring.ts +17 -1
  988. package/server/services/workshop/runtime/manager/state.ts +11 -0
  989. package/server/services/workshop/runtime/scheduler-loop/tick.ts +5 -1
  990. package/server/services/workshop/runtime/task-engine/helpers.ts +3 -1
  991. package/shared/config/schema.json +4 -1
  992. package/shared/daq-protocol.ts +2 -1
  993. package/shared/dcw-protocol/catalog.ts +25 -1
  994. package/.output/public/_nuxt/4wrEQ3np2.js +0 -21
  995. package/.output/public/_nuxt/B9BmiUil.js +0 -2
  996. package/.output/public/_nuxt/BgEDwFMf.js +0 -1
  997. package/.output/public/_nuxt/C4lagVdN2.js +0 -1
  998. package/.output/public/_nuxt/CGQvF-Gg.js +0 -14
  999. package/.output/public/_nuxt/Cbeifv55.js +0 -1
  1000. package/.output/public/_nuxt/CcGuXiOa.js +0 -1
  1001. package/.output/public/_nuxt/D0SNhlnt.js +0 -1
  1002. package/.output/public/_nuxt/D6lZftfy.js +0 -1
  1003. package/.output/public/_nuxt/DnH9SRMW2.js +0 -1
  1004. package/.output/public/_nuxt/DxagrjB8.js +0 -1
  1005. package/.output/public/_nuxt/ON2x-t6n.js +0 -1
  1006. package/.output/public/_nuxt/PluginSlot.DmjNbrcX.css +0 -1
  1007. package/.output/public/_nuxt/UN3nSFjj2.js +0 -1
  1008. package/.output/public/_nuxt/Z-Z6EhXs.js +0 -1
  1009. package/.output/public/_nuxt/_id_.DamiFT0Q.css +0 -1
  1010. package/.output/public/_nuxt/_wsId_.DkrQkT6r.css +0 -1
  1011. package/.output/public/_nuxt/builds/meta/c64014ca-3595-4b7a-a5ca-055687c83ba2.json +0 -1
  1012. package/.output/public/_nuxt/qPsch_ny2.js +0 -1
  1013. package/.output/server/chunks/build/TownView-fP9BiALv.mjs.map +0 -1
  1014. package/.output/server/chunks/build/_id_-BUpQSlzo.mjs.map +0 -1
  1015. package/.output/server/chunks/build/_id_-CDlur81q.mjs.map +0 -1
  1016. package/.output/server/chunks/build/agents-ydYu-Ol9.mjs.map +0 -1
  1017. package/.output/server/chunks/build/aml-DsgtDLWF.mjs.map +0 -1
  1018. package/.output/server/chunks/build/api-BY6ji7RC.mjs.map +0 -1
  1019. package/.output/server/chunks/build/apiClient-D281qrK2.mjs.map +0 -1
  1020. package/.output/server/chunks/build/channel-templates-DP1ndA5K.mjs.map +0 -1
  1021. package/.output/server/chunks/build/daq-N69AOtgw.mjs.map +0 -1
  1022. package/.output/server/chunks/build/dcw-CN9d3Rs7.mjs.map +0 -1
  1023. package/.output/server/chunks/build/logs-BcAjU1Ps.mjs.map +0 -1
  1024. package/.output/server/chunks/build/operations-OFHYXwh4.mjs.map +0 -1
  1025. package/.output/server/chunks/build/pages-BzmrmLL_.mjs.map +0 -1
  1026. package/.output/server/chunks/build/plugins-DSka7-vS.mjs.map +0 -1
  1027. package/.output/server/chunks/build/settings-UyZ78w2e.mjs.map +0 -1
  1028. package/.output/server/chunks/build/teams-D-Y5mzU7.mjs.map +0 -1
  1029. package/.output/server/chunks/build/town-BMlctE4m.mjs.map +0 -1
  1030. package/.output/server/chunks/build/useAgentHarnessOptions-CRyQYYY0.mjs.map +0 -1
  1031. package/.output/server/chunks/build/useAgentTemplateActions-CaRsOBmB.mjs.map +0 -1
  1032. package/.output/server/chunks/build/useAgentTemplateForm-ChiIuPYr.mjs.map +0 -1
  1033. package/.output/server/chunks/build/useAgentTemplatesCatalog-Bf5hk6Jf.mjs.map +0 -1
  1034. package/.output/server/chunks/build/useAmlDatasets-BM0lZu40.mjs.map +0 -1
  1035. package/.output/server/chunks/build/useAmlEntities-BDQ8TmLL.mjs.map +0 -1
  1036. package/.output/server/chunks/build/useAmlEnv-DgTVwpqi.mjs.map +0 -1
  1037. package/.output/server/chunks/build/useAmlExperiments-BtyW32PO.mjs.map +0 -1
  1038. package/.output/server/chunks/build/useAmlJobs-fk-H5Rp5.mjs.map +0 -1
  1039. package/.output/server/chunks/build/useAmlModels-hgyVHoAq.mjs.map +0 -1
  1040. package/.output/server/chunks/build/useAmlNotes-BjbYNADm.mjs.map +0 -1
  1041. package/.output/server/chunks/build/useAmlPredict-U24-SZNA.mjs.map +0 -1
  1042. package/.output/server/chunks/build/useDaqAddNode-kW7uTSMQ.mjs.map +0 -1
  1043. package/.output/server/chunks/build/useDaqDetailBinding-cpBz4hSL.mjs.map +0 -1
  1044. package/.output/server/chunks/build/useDaqDetailFrames-BZGtKKXW.mjs.map +0 -1
  1045. package/.output/server/chunks/build/useDaqDetailHistory-DtSTfyMi.mjs.map +0 -1
  1046. package/.output/server/chunks/build/useDaqDetailNode-D_vhG0jF.mjs.map +0 -1
  1047. package/.output/server/chunks/build/useDaqDetailParams-JfqHvTxr.mjs.map +0 -1
  1048. package/.output/server/chunks/build/useDaqFilters-BUQtZ82a.mjs.map +0 -1
  1049. package/.output/server/chunks/build/useDaqOptimizations-Ct-TSXxy.mjs.map +0 -1
  1050. package/.output/server/chunks/build/useDaqTemplates-BqQRdrIm.mjs.map +0 -1
  1051. package/.output/server/chunks/build/useDashboardData-CNOY4Bi3.mjs.map +0 -1
  1052. package/.output/server/chunks/build/useDcwAddNode-C1HDP3yG.mjs.map +0 -1
  1053. package/.output/server/chunks/build/useDcwCards-ETEsHvVy.mjs.map +0 -1
  1054. package/.output/server/chunks/build/useDcwDetailScope-QTr1G6Oe.mjs.map +0 -1
  1055. package/.output/server/chunks/build/useDcwDetailTemplates-Djt-0Vse.mjs.map +0 -1
  1056. package/.output/server/chunks/build/useDcwFilter-FfVlDdyS.mjs.map +0 -1
  1057. package/.output/server/chunks/build/useDcwLedger-BLoMmcu1.mjs.map +0 -1
  1058. package/.output/server/chunks/build/useDcwLineMutations-BMC5BTWU.mjs.map +0 -1
  1059. package/.output/server/chunks/build/useDcwLineRun-74gN_s6T.mjs.map +0 -1
  1060. package/.output/server/chunks/build/useDcwProducts-D-zrMaeV.mjs.map +0 -1
  1061. package/.output/server/chunks/build/useDcwQuery-7tX4QYmv.mjs.map +0 -1
  1062. package/.output/server/chunks/build/useDcwQuickActions-C-tgcXIr.mjs.map +0 -1
  1063. package/.output/server/chunks/build/useDcwRecipes-FVk5gDLV.mjs.map +0 -1
  1064. package/.output/server/chunks/build/useDcwTemplates-LDZffy4u.mjs.map +0 -1
  1065. package/.output/server/chunks/build/useDcwWrites-B22mwliK.mjs.map +0 -1
  1066. package/.output/server/chunks/build/useLogsManual-COfCyUtj.mjs.map +0 -1
  1067. package/.output/server/chunks/build/useLogsQuery-CRAm2hmS.mjs.map +0 -1
  1068. package/.output/server/chunks/build/useLogsScope-ClNijVj4.mjs.map +0 -1
  1069. package/.output/server/chunks/build/useOperationsFeed-CeXeHqUK.mjs.map +0 -1
  1070. package/.output/server/chunks/build/useTeamActions-C51ciLb0.mjs.map +0 -1
  1071. package/.output/server/chunks/build/useTeamAddMemberDialog-DthpCMP8.mjs.map +0 -1
  1072. package/.output/server/chunks/build/useTeamCreateDialog-Dc2KTwyg.mjs.map +0 -1
  1073. package/.output/server/chunks/build/useTeamDeployDialog-CXpvPnJD.mjs.map +0 -1
  1074. package/.output/server/chunks/build/useTeamPluginDialog-DTs-7SSm.mjs.map +0 -1
  1075. package/.output/server/chunks/build/useTeamsCatalog-CcpetYyW.mjs.map +0 -1
  1076. package/.output/server/chunks/build/useWorkbenchWorkspaces-DgiSCzsX.mjs.map +0 -1
  1077. package/.output/server/chunks/build/useWorkshopApi-CO3ophqt.mjs.map +0 -1
  1078. package/.output/server/chunks/build/useWorkshopWs-Bm80bLn7.mjs.map +0 -1
  1079. package/.output/server/chunks/build/useWorkspaceChannels-D61Al2dr.mjs.map +0 -1
  1080. package/.output/server/chunks/build/workshop-FQ4YzooB.mjs.map +0 -1
  1081. package/scripts/.chk-tok +0 -1
  1082. package/scripts/.retrain-body.json +0 -1
  1083. package/scripts/.retrain3-body.json +0 -1
  1084. package/scripts/.rt-tok +0 -1
  1085. package/scripts/.rt3-tok +0 -1
  1086. /package/.output/public/_nuxt/{BvRk9kiK2.js → DybRo6-H.js} +0 -0
@@ -1,4 +1,4 @@
1
- import { h as _plugin_vue_export_helper_default, i as useHead$1, a as useI18n, C as ClientOnly, j as button_default, e as useUserStore, n as navigateTo, b as api$1, w as withInstall, k as useConfigInject_default, l as getPropsSlot, m as flattenChildren, o as _extends, p as cloneElement, q as classNames, r as _objectSpread2, s as getTransitionProps, t as modal_default, v as initDefaultProps, x as genComponentStyleHook, y as merge, P as PropTypes, z as filterEmpty, A as devWarning_default, B as CloseCircleFilled, D as CloseOutlined, E as CheckCircleFilled, F as stringType, G as someType, H as objectType, I as anyType, J as booleanType, K as functionType, L as resetComponent, M as Keyframe, N as presetPrimaryColors, O as warning, Q as eventType, R as genFocusStyle } from '../virtual/entry.mjs';
1
+ import { h as _plugin_vue_export_helper_default, i as useHead$1, a as useI18n, C as ClientOnly, j as button_default, d as useUserStore, n as navigateTo, b as api$1, w as withInstall, k as useConfigInject_default, l as getPropsSlot, m as flattenChildren, o as _extends, p as cloneElement, q as classNames, r as _objectSpread2, s as getTransitionProps, t as modal_default, v as initDefaultProps, x as genComponentStyleHook, y as merge, P as PropTypes, z as filterEmpty, A as devWarning_default, B as CloseCircleFilled, D as CloseOutlined, E as CheckCircleFilled, F as stringType, G as someType, H as objectType, I as anyType, J as booleanType, K as functionType, L as resetComponent, M as Keyframe, N as presetPrimaryColors, O as warning, Q as eventType, R as genFocusStyle } from '../virtual/entry.mjs';
2
2
  import { T as TextArea_default, i as isPresetColor, t as tooltip_default, g as genPresetColor } from '../_/SearchOutlined.mjs';
3
3
  import { f as form_default, F as FormItem_default } from './form-uSlNqIAV.mjs';
4
4
  import { S as Select, C as CheckOutlined, D as DownOutlined } from './select-rdBWytVK.mjs';
@@ -19,15 +19,15 @@ import { s as switch_default } from './switch-DZAUIbIN.mjs';
19
19
  import { s as segmented_default } from './segmented-C61yLHvo.mjs';
20
20
  import { u as useResponsive } from './useResponsive-BKDMGTHs.mjs';
21
21
  import { f as formatLocalClock } from './useLocalTime-DZ2RAtVs.mjs';
22
- import { u as useEntitiesStore, b as agentHueColor, c as useEventsStore, a as useWorkshopWs, d as useChatStore, e as useNotificationsStore, B as BlockClusterer, f as chatErrorCode, g as chatErrorMessage, h as useWsConnectionStore, i as blockTier, j as buildStreamText, k as isStreaming, s as streamCursorVisible } from './useWorkshopWs-Bm80bLn7.mjs';
22
+ import { u as useEntitiesStore, b as agentHueColor, c as useEventsStore, a as useWorkshopWs, d as useChatStore, e as useNotificationsStore, B as BlockClusterer, f as chatErrorCode, g as chatErrorMessage, h as useWsConnectionStore, i as blockTier, j as buildStreamText, k as isStreaming, s as streamCursorVisible } from './useWorkshopWs-CgeCsaYJ.mjs';
23
23
  import { u as useWorkspacesStore } from './workspaces-CmW0cpOt.mjs';
24
24
  import { a as apiErrorMessage } from './api-error-BwAQLw44.mjs';
25
- import { u as useWorkshopApi } from './useWorkshopApi-CO3ophqt.mjs';
25
+ import { u as useWorkshopApi } from './useWorkshopApi-C9sTYu1F.mjs';
26
26
  import { O as OmpTerminalPanel_default } from './OmpTerminalPanel-mk31gVzA.mjs';
27
- import { T as TownView_default } from './TownView-fP9BiALv.mjs';
27
+ import { T as TownView_default } from './TownView-Bf5VFYFj.mjs';
28
28
  import { u as useStorage } from './core-CgTOPS4t.mjs';
29
29
  import { t as useWorkspaceAuth } from './useWorkspaceAuth-Dlvj9csD.mjs';
30
- import { t as useWorkspaceChannels } from './useWorkspaceChannels-D61Al2dr.mjs';
30
+ import { t as useWorkspaceChannels } from './useWorkspaceChannels-B13vROC1.mjs';
31
31
  import { t as useWorkspacePanels } from './useWorkspacePanels-CTwREmq0.mjs';
32
32
  import { t as useWorkspaceShell } from './useWorkspaceShell-BCypjjjE.mjs';
33
33
  import { defineComponent, mergeProps, unref, isRef, ref, useModel, computed, mergeModels, toRef, inject, watch, nextTick, withCtx, openBlock, createBlock, Fragment, renderList, withKeys, createVNode, toDisplayString, createTextVNode, createCommentVNode, withModifiers, shallowRef, toValue, onScopeDispose, Transition, withDirectives, vShow, reactive, resolveComponent, resolveDynamicComponent, cloneVNode, useSSRContext } from 'vue';
@@ -47,8 +47,9 @@ import 'zod';
47
47
  import 'node:child_process';
48
48
  import 'node:sqlite';
49
49
  import 'node:module';
50
- import 'node:fs/promises';
50
+ import 'node:dns/promises';
51
51
  import 'node:net';
52
+ import 'node:fs/promises';
52
53
  import 'node:util';
53
54
  import 'node:zlib';
54
55
  import 'unhead/utils';
@@ -66,13 +67,15 @@ import 'axios';
66
67
  import './FormItemContext-4ORSzhWv.mjs';
67
68
  import './Checkbox-4EdGAAl_.mjs';
68
69
  import './narrow-fetch-CcG-BPxc.mjs';
70
+ import './hitl-ePh3G3ue.mjs';
69
71
  import './useTownBus-D9SoIsAN.mjs';
70
72
  import './interval-DvHBIIZh.mjs';
71
- import './useDaqStream-wOxZcMDA.mjs';
72
- import './apiClient-D281qrK2.mjs';
73
- import './useDcwStream-D04kCV3J.mjs';
74
- import './useDeviceTwins-CbVad1M3.mjs';
73
+ import './useDaqStream-DhzdoyIR.mjs';
74
+ import './apiClient-BvXtNzC8.mjs';
75
+ import './useDcwStream-B9ugUWRq.mjs';
76
+ import './useDeviceTwins-BqwVJaZg.mjs';
75
77
  import './builtin-catalog-edpDcgfL.mjs';
78
+ import './dcw-driver-badge-Df5wL_ZA.mjs';
76
79
  import 'three';
77
80
  import 'three/examples/jsm/loaders/GLTFLoader.js';
78
81
  import 'three/examples/jsm/environments/RoomEnvironment.js';
@@ -3099,8 +3102,25 @@ var ChannelSettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE
3099
3102
  const settingsForm = reactive({
3100
3103
  name: "",
3101
3104
  scenarioPrompt: "",
3102
- workspace: ""
3105
+ workspace: "",
3106
+ lineId: ""
3103
3107
  });
3108
+ const lineOptions = ref([]);
3109
+ const linesLoading = ref(false);
3110
+ const lineChanged = ref(false);
3111
+ const loadLines = async () => {
3112
+ linesLoading.value = true;
3113
+ try {
3114
+ const res = await api$11.listDcwLines();
3115
+ lineOptions.value = res?.data?.lines ?? [];
3116
+ } catch {} finally {
3117
+ linesLoading.value = false;
3118
+ }
3119
+ };
3120
+ const onLineChange = (v) => {
3121
+ settingsForm.lineId = String(v ?? "");
3122
+ lineChanged.value = true;
3123
+ };
3104
3124
  const llmForm = reactive({
3105
3125
  harness: "omp",
3106
3126
  provider: "",
@@ -3158,6 +3178,9 @@ var ChannelSettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE
3158
3178
  settingsForm.name = meta?.name ?? "";
3159
3179
  settingsForm.scenarioPrompt = meta?.scenarioPrompt ?? "";
3160
3180
  settingsForm.workspace = meta?.workspace ?? "";
3181
+ settingsForm.lineId = meta?.lineId ?? "";
3182
+ lineChanged.value = false;
3183
+ loadLines();
3161
3184
  let saved = null;
3162
3185
  try {
3163
3186
  const metaAny = meta;
@@ -3217,6 +3240,7 @@ var ChannelSettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE
3217
3240
  ...llmForm.effort ? { effort: llmForm.effort } : {}
3218
3241
  } : null
3219
3242
  });
3243
+ if (lineChanged.value) await api$11.bindChannelLine(props.channelId, settingsForm.lineId || null);
3220
3244
  api$1.success(t("channelSessionList.kvsxlu6031"));
3221
3245
  open.value = false;
3222
3246
  emit("saved");
@@ -3234,13 +3258,13 @@ var ChannelSettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE
3234
3258
  const _component_a_modal = modal_default;
3235
3259
  const _component_a_form = form_default;
3236
3260
  const _component_a_form_item = FormItem_default;
3261
+ const _component_a_select = Select;
3237
3262
  const _component_a_textarea = TextArea_default;
3238
3263
  const _component_a_input_group = Group_default;
3239
3264
  const _component_a_input = input_default;
3240
3265
  const _component_a_button = button_default;
3241
3266
  const _component_a_space = Space;
3242
3267
  const _component_a_switch = switch_default;
3243
- const _component_a_select = Select;
3244
3268
  const _component_workshop_file_selector_modal = FileSelectorModal_default;
3245
3269
  _push(`<!--[-->`);
3246
3270
  _push(ssrRenderComponent(_component_a_modal, {
@@ -3256,6 +3280,44 @@ var ChannelSettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE
3256
3280
  if (_push) _push(ssrRenderComponent(_component_a_form, { layout: "vertical" }, {
3257
3281
  default: withCtx((_, _push, _parent, _scopeId) => {
3258
3282
  if (_push) {
3283
+ _push(ssrRenderComponent(_component_a_form_item, { label: _ctx.$t("channelSessionList.bindLineLabel") }, {
3284
+ default: withCtx((_, _push, _parent, _scopeId) => {
3285
+ if (_push) {
3286
+ _push(ssrRenderComponent(_component_a_select, {
3287
+ value: unref(settingsForm).lineId || void 0,
3288
+ loading: unref(linesLoading),
3289
+ "allow-clear": "",
3290
+ "show-search": "",
3291
+ "option-filter-prop": "label",
3292
+ placeholder: _ctx.$t("channelSessionList.bindLinePlaceholder"),
3293
+ options: unref(lineOptions).map((l) => ({
3294
+ value: l.id,
3295
+ label: l.name
3296
+ })),
3297
+ onChange: onLineChange
3298
+ }, null, _parent, _scopeId));
3299
+ _push(`<div class="bind-line-hint" data-v-cb687826${_scopeId}>${ssrInterpolate(_ctx.$t("channelSessionList.bindLineHint"))}</div>`);
3300
+ } else return [createVNode(_component_a_select, {
3301
+ value: unref(settingsForm).lineId || void 0,
3302
+ loading: unref(linesLoading),
3303
+ "allow-clear": "",
3304
+ "show-search": "",
3305
+ "option-filter-prop": "label",
3306
+ placeholder: _ctx.$t("channelSessionList.bindLinePlaceholder"),
3307
+ options: unref(lineOptions).map((l) => ({
3308
+ value: l.id,
3309
+ label: l.name
3310
+ })),
3311
+ onChange: onLineChange
3312
+ }, null, 8, [
3313
+ "value",
3314
+ "loading",
3315
+ "placeholder",
3316
+ "options"
3317
+ ]), createVNode("div", { class: "bind-line-hint" }, toDisplayString(_ctx.$t("channelSessionList.bindLineHint")), 1)];
3318
+ }),
3319
+ _: 1
3320
+ }, _parent, _scopeId));
3259
3321
  _push(ssrRenderComponent(_component_a_form_item, { label: _ctx.$t("channelSessionList.k1i8q46x007") }, {
3260
3322
  default: withCtx((_, _push, _parent, _scopeId) => {
3261
3323
  if (_push) _push(ssrRenderComponent(_component_a_textarea, {
@@ -3629,12 +3691,12 @@ var ChannelSettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE
3629
3691
  default: withCtx((_, _push, _parent, _scopeId) => {
3630
3692
  if (_push) {
3631
3693
  if (unref(pluginRows).length) {
3632
- _push(`<div class="ch-plugin-list" data-v-3ff76d4f${_scopeId}><!--[-->`);
3694
+ _push(`<div class="ch-plugin-list" data-v-cb687826${_scopeId}><!--[-->`);
3633
3695
  ssrRenderList(unref(pluginRows), (p) => {
3634
- _push(`<div class="ch-plugin-row" data-v-3ff76d4f${_scopeId}><div class="ch-plugin-main" data-v-3ff76d4f${_scopeId}><span class="aw-mono" data-v-3ff76d4f${_scopeId}>${ssrInterpolate(p.name)}</span>`);
3635
- if (p.builtin) _push(`<span class="ws-hint" data-v-3ff76d4f${_scopeId}>${ssrInterpolate(_ctx.$t("channelSessionList.builtinTag"))}</span>`);
3696
+ _push(`<div class="ch-plugin-row" data-v-cb687826${_scopeId}><div class="ch-plugin-main" data-v-cb687826${_scopeId}><span class="aw-mono" data-v-cb687826${_scopeId}>${ssrInterpolate(p.name)}</span>`);
3697
+ if (p.builtin) _push(`<span class="ws-hint" data-v-cb687826${_scopeId}>${ssrInterpolate(_ctx.$t("channelSessionList.builtinTag"))}</span>`);
3636
3698
  else _push(`<!---->`);
3637
- if (p.description) _push(`<span class="ws-hint ch-plugin-desc" data-v-3ff76d4f${_scopeId}>${ssrInterpolate(p.description)}</span>`);
3699
+ if (p.description) _push(`<span class="ws-hint ch-plugin-desc" data-v-cb687826${_scopeId}>${ssrInterpolate(p.description)}</span>`);
3638
3700
  else _push(`<!---->`);
3639
3701
  _push(`</div>`);
3640
3702
  _push(ssrRenderComponent(_component_a_switch, {
@@ -3646,10 +3708,10 @@ var ChannelSettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE
3646
3708
  _push(`</div>`);
3647
3709
  });
3648
3710
  _push(`<!--]-->`);
3649
- if (unref(pluginSource) !== "explicit") _push(`<span class="ws-hint" data-v-3ff76d4f${_scopeId}>${ssrInterpolate(unref(t)("channelSessionList.k1plugsrc046"))}</span>`);
3711
+ if (unref(pluginSource) !== "explicit") _push(`<span class="ws-hint" data-v-cb687826${_scopeId}>${ssrInterpolate(unref(t)("channelSessionList.k1plugsrc046"))}</span>`);
3650
3712
  else _push(`<!---->`);
3651
3713
  _push(`</div>`);
3652
- } else _push(`<span class="ws-hint" data-v-3ff76d4f${_scopeId}>—</span>`);
3714
+ } else _push(`<span class="ws-hint" data-v-cb687826${_scopeId}>—</span>`);
3653
3715
  } else return [unref(pluginRows).length ? (openBlock(), createBlock("div", {
3654
3716
  key: 0,
3655
3717
  class: "ch-plugin-list"
@@ -3695,12 +3757,12 @@ var ChannelSettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE
3695
3757
  onClick: openSaveTemplate
3696
3758
  }, {
3697
3759
  default: withCtx((_, _push, _parent, _scopeId) => {
3698
- if (_push) _push(`<span class="i-tabler-template" data-v-3ff76d4f${_scopeId}></span> ${ssrInterpolate(_ctx.$t("channelSessionList.k6kpql010"))}`);
3760
+ if (_push) _push(`<span class="i-tabler-template" data-v-cb687826${_scopeId}></span> ${ssrInterpolate(_ctx.$t("channelSessionList.k6kpql010"))}`);
3699
3761
  else return [createVNode("span", { class: "i-tabler-template" }), createTextVNode(" " + toDisplayString(_ctx.$t("channelSessionList.k6kpql010")), 1)];
3700
3762
  }),
3701
3763
  _: 1
3702
3764
  }, _parent, _scopeId));
3703
- _push(`<span class="ws-hint" data-v-3ff76d4f${_scopeId}>${ssrInterpolate(_ctx.$t("channelSessionList.k1x6kznr021"))}</span>`);
3765
+ _push(`<span class="ws-hint" data-v-cb687826${_scopeId}>${ssrInterpolate(_ctx.$t("channelSessionList.k1x6kznr021"))}</span>`);
3704
3766
  } else return [createVNode(_component_a_button, {
3705
3767
  size: "small",
3706
3768
  onClick: openSaveTemplate
@@ -3712,6 +3774,27 @@ var ChannelSettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE
3712
3774
  _: 1
3713
3775
  }, _parent, _scopeId));
3714
3776
  } else return [
3777
+ createVNode(_component_a_form_item, { label: _ctx.$t("channelSessionList.bindLineLabel") }, {
3778
+ default: withCtx(() => [createVNode(_component_a_select, {
3779
+ value: unref(settingsForm).lineId || void 0,
3780
+ loading: unref(linesLoading),
3781
+ "allow-clear": "",
3782
+ "show-search": "",
3783
+ "option-filter-prop": "label",
3784
+ placeholder: _ctx.$t("channelSessionList.bindLinePlaceholder"),
3785
+ options: unref(lineOptions).map((l) => ({
3786
+ value: l.id,
3787
+ label: l.name
3788
+ })),
3789
+ onChange: onLineChange
3790
+ }, null, 8, [
3791
+ "value",
3792
+ "loading",
3793
+ "placeholder",
3794
+ "options"
3795
+ ]), createVNode("div", { class: "bind-line-hint" }, toDisplayString(_ctx.$t("channelSessionList.bindLineHint")), 1)]),
3796
+ _: 1
3797
+ }, 8, ["label"]),
3715
3798
  createVNode(_component_a_form_item, { label: _ctx.$t("channelSessionList.k1i8q46x007") }, {
3716
3799
  default: withCtx(() => [createVNode(_component_a_textarea, {
3717
3800
  value: unref(settingsForm).scenarioPrompt,
@@ -3906,6 +3989,27 @@ var ChannelSettingsModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE
3906
3989
  }, _parent, _scopeId));
3907
3990
  else return [createVNode(_component_a_form, { layout: "vertical" }, {
3908
3991
  default: withCtx(() => [
3992
+ createVNode(_component_a_form_item, { label: _ctx.$t("channelSessionList.bindLineLabel") }, {
3993
+ default: withCtx(() => [createVNode(_component_a_select, {
3994
+ value: unref(settingsForm).lineId || void 0,
3995
+ loading: unref(linesLoading),
3996
+ "allow-clear": "",
3997
+ "show-search": "",
3998
+ "option-filter-prop": "label",
3999
+ placeholder: _ctx.$t("channelSessionList.bindLinePlaceholder"),
4000
+ options: unref(lineOptions).map((l) => ({
4001
+ value: l.id,
4002
+ label: l.name
4003
+ })),
4004
+ onChange: onLineChange
4005
+ }, null, 8, [
4006
+ "value",
4007
+ "loading",
4008
+ "placeholder",
4009
+ "options"
4010
+ ]), createVNode("div", { class: "bind-line-hint" }, toDisplayString(_ctx.$t("channelSessionList.bindLineHint")), 1)]),
4011
+ _: 1
4012
+ }, 8, ["label"]),
3909
4013
  createVNode(_component_a_form_item, { label: _ctx.$t("channelSessionList.k1i8q46x007") }, {
3910
4014
  default: withCtx(() => [createVNode(_component_a_textarea, {
3911
4015
  value: unref(settingsForm).scenarioPrompt,
@@ -4121,7 +4225,7 @@ ChannelSettingsModal_vue_vue_type_script_setup_true_lang_default.setup = (props,
4121
4225
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/session-list/ChannelSettingsModal.vue");
4122
4226
  return _sfc_setup$55 ? _sfc_setup$55(props, ctx) : void 0;
4123
4227
  };
4124
- var ChannelSettingsModal_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ChannelSettingsModal_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-3ff76d4f"]]), { __name: "WorkshopSessionListChannelSettingsModal" });
4228
+ var ChannelSettingsModal_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ChannelSettingsModal_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-cb687826"]]), { __name: "WorkshopSessionListChannelSettingsModal" });
4125
4229
  //#endregion
4126
4230
  //#region app/components/workshop/session-list/SaveTemplateModal.vue?vue&type=script&setup=true&lang.ts
4127
4231
  var SaveTemplateModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -5374,17 +5478,17 @@ var ClusterTool_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
5374
5478
  const shown = computed(() => expanded.value ? toolLines.value : toolLines.value.slice(0, MAX$5));
5375
5479
  const hasMore = computed(() => toolLines.value.length > MAX$5);
5376
5480
  return (_ctx, _push, _parent, _attrs) => {
5377
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "tool-cluster" }, _attrs))} data-v-43cd8a58><!--[-->`);
5481
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "tool-cluster" }, _attrs))} data-v-878f10f1><!--[-->`);
5378
5482
  ssrRenderList(shown.value, (t) => {
5379
- _push(`<div class="${ssrRenderClass([t.meta.kind, "tool-line"])}" data-v-43cd8a58><time class="tool-time aw-mono" data-v-43cd8a58>${ssrInterpolate(t.time)}</time><span class="tool-node" data-v-43cd8a58></span><span class="${ssrRenderClass([t.meta.icon, "tool-icon"])}" data-v-43cd8a58></span><span class="tool-name" data-v-43cd8a58>${ssrInterpolate(t.name)}</span>`);
5380
- if (t.args) _push(`<span class="tool-args"${ssrRenderAttr("title", t.args)} data-v-43cd8a58>${ssrInterpolate(t.args)}</span>`);
5483
+ _push(`<div class="${ssrRenderClass([t.meta.kind, "tool-line"])}" data-v-878f10f1><time class="tool-time aw-mono" data-v-878f10f1>${ssrInterpolate(t.time)}</time><span class="tool-node" data-v-878f10f1></span><span class="${ssrRenderClass([t.meta.icon, "tool-icon"])}" data-v-878f10f1></span><span class="tool-name" data-v-878f10f1>${ssrInterpolate(t.name)}</span>`);
5484
+ if (t.args) _push(`<span class="tool-args"${ssrRenderAttr("title", t.args)} data-v-878f10f1>${ssrInterpolate(t.args)}</span>`);
5381
5485
  else _push(`<!---->`);
5382
- if (t.meta.kind !== "native") _push(`<span class="${ssrRenderClass([t.meta.kind, "tool-kind"])}" data-v-43cd8a58>${ssrInterpolate(t.meta.kind === "industrial" ? "工业" : "harness")}</span>`);
5486
+ if (t.meta.kind !== "native") _push(`<span class="${ssrRenderClass([t.meta.kind, "tool-kind"])}" data-v-878f10f1>${ssrInterpolate(t.meta.kind === "industrial" ? _ctx.$t("clusterTool.kindIndustrial") : "harness")}</span>`);
5383
5487
  else _push(`<!---->`);
5384
5488
  _push(`</div>`);
5385
5489
  });
5386
5490
  _push(`<!--]-->`);
5387
- if (hasMore.value) _push(`<button class="more-btn" data-v-43cd8a58>${ssrInterpolate(expanded.value ? _ctx.$t("clusterTool.k40p82001") : _ctx.$t("clusterTool.expandAll", { p0: toolLines.value.length }))}</button>`);
5491
+ if (hasMore.value) _push(`<button class="more-btn" data-v-878f10f1>${ssrInterpolate(expanded.value ? _ctx.$t("clusterTool.k40p82001") : _ctx.$t("clusterTool.expandAll", { p0: toolLines.value.length }))}</button>`);
5388
5492
  else _push(`<!---->`);
5389
5493
  _push(`</div>`);
5390
5494
  };
@@ -5398,7 +5502,7 @@ ClusterTool_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) =>
5398
5502
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/blocks/ClusterTool.vue");
5399
5503
  return _sfc_setup$47 ? _sfc_setup$47(props, ctx) : void 0;
5400
5504
  };
5401
- var ClusterTool_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ClusterTool_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-43cd8a58"]]), { __name: "WorkshopBlocksClusterTool" });
5505
+ var ClusterTool_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ClusterTool_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-878f10f1"]]), { __name: "WorkshopBlocksClusterTool" });
5402
5506
  //#endregion
5403
5507
  //#region app/components/workshop/blocks/ClusterStatus.vue?vue&type=script&setup=true&lang.ts
5404
5508
  var ClusterStatus_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -6490,6 +6594,7 @@ var ChatTimeline_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
6490
6594
  * 写入 chat store 的 replyTarget,由 Composer 转成 replyToId 发出。
6491
6595
  */
6492
6596
  const props = __props;
6597
+ const { t } = useI18n();
6493
6598
  const chat = useChatStore();
6494
6599
  const entities = useEntitiesStore();
6495
6600
  const notifications = useNotificationsStore();
@@ -6514,7 +6619,7 @@ var ChatTimeline_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
6514
6619
  }
6515
6620
  function avatarText(m) {
6516
6621
  if (m.senderType === "agent") return senderNameOf(m).charAt(0).toUpperCase();
6517
- return "人";
6622
+ return t("chat.avatarHuman");
6518
6623
  }
6519
6624
  function renderText(m) {
6520
6625
  return mdLiteMentions(m.text, mentionMembers.value);
@@ -6531,7 +6636,7 @@ var ChatTimeline_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
6531
6636
  /** 引用锚点的发送者名(锚点不在已加载窗口内 → 显示"更早的消息") */
6532
6637
  function replyAnchorName(m) {
6533
6638
  const anchor = m.replyToId ? byId.value.get(m.replyToId) : void 0;
6534
- return anchor ? senderNameOf(anchor) : "更早的消息";
6639
+ return anchor ? senderNameOf(anchor) : t("chat.earlierMessage");
6535
6640
  }
6536
6641
  /**
6537
6642
  * 投递台账按 messageId 建一次索引。
@@ -6550,28 +6655,20 @@ var ChatTimeline_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
6550
6655
  return out;
6551
6656
  });
6552
6657
  const deliveriesOf = (m) => deliveriesByMessage.value.get(m.id) ?? [];
6553
- const DELIVERY_META = {
6554
- pending: {
6555
- label: "待投递",
6556
- tone: "pending"
6557
- },
6558
- delivered: {
6559
- label: "已入信箱",
6560
- tone: "delivered"
6561
- },
6562
- consumed: {
6563
- label: "已被消费",
6564
- tone: "consumed"
6565
- },
6566
- failed: {
6567
- label: "投递失败",
6568
- tone: "failed"
6569
- },
6570
- cancelled: {
6571
- label: "已取消",
6572
- tone: "cancelled"
6573
- }
6574
- };
6658
+ const DELIVERY_TONE = {
6659
+ pending: "pending",
6660
+ delivered: "delivered",
6661
+ consumed: "consumed",
6662
+ failed: "failed",
6663
+ cancelled: "cancelled"
6664
+ };
6665
+ const deliveryLabels = computed(() => ({
6666
+ pending: t("chat.deliveryPending"),
6667
+ delivered: t("chat.deliveryDelivered"),
6668
+ consumed: t("chat.deliveryConsumed"),
6669
+ failed: t("chat.deliveryFailed"),
6670
+ cancelled: t("chat.deliveryCancelled")
6671
+ }));
6575
6672
  const scroller = ref(null);
6576
6673
  const atBottom = ref(true);
6577
6674
  function scrollToBottom() {
@@ -6598,43 +6695,43 @@ var ChatTimeline_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
6598
6695
  scrollToBottom();
6599
6696
  });
6600
6697
  return (_ctx, _push, _parent, _attrs) => {
6601
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "chat-timeline" }, _attrs))} data-v-b705073e><div class="ct-head" data-v-b705073e><span class="i-tabler-messages ct-icon" data-v-b705073e></span><span class="ct-title" data-v-b705073e>群聊</span><span class="ct-count" data-v-b705073e>${ssrInterpolate(messages.value.length)} 条</span><span class="ct-spacer" data-v-b705073e></span>`);
6602
- if (!atBottom.value) _push(`<span class="ct-jump" role="button" tabindex="0" title="回到最新" data-v-b705073e><span class="i-tabler-arrow-down" data-v-b705073e></span> 最新 </span>`);
6698
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "chat-timeline" }, _attrs))} data-v-2619237f><div class="ct-head" data-v-2619237f><span class="i-tabler-messages ct-icon" data-v-2619237f></span><span class="ct-title" data-v-2619237f>${ssrInterpolate(_ctx.$t("chat.title"))}</span><span class="ct-count" data-v-2619237f>${ssrInterpolate(_ctx.$t("chat.messageCount", { p0: messages.value.length }))}</span><span class="ct-spacer" data-v-2619237f></span>`);
6699
+ if (!atBottom.value) _push(`<span class="ct-jump" role="button" tabindex="0"${ssrRenderAttr("title", _ctx.$t("chat.backToLatest"))} data-v-2619237f><span class="i-tabler-arrow-down" data-v-2619237f></span> ${ssrInterpolate(_ctx.$t("chat.latest"))}</span>`);
6603
6700
  else _push(`<!---->`);
6604
- _push(`</div><div class="ct-scroll" data-v-b705073e>`);
6605
- if (hasMore.value && messages.value.length > 0) _push(`<button type="button" class="ct-earlier"${ssrIncludeBooleanAttr(loading.value) ? " disabled" : ""} data-v-b705073e>${ssrInterpolate(loading.value ? "加载中…" : "加载更早的消息")}</button>`);
6701
+ _push(`</div><div class="ct-scroll" data-v-2619237f>`);
6702
+ if (hasMore.value && messages.value.length > 0) _push(`<button type="button" class="ct-earlier"${ssrIncludeBooleanAttr(loading.value) ? " disabled" : ""} data-v-2619237f>${ssrInterpolate(loading.value ? _ctx.$t("chat.loading") : _ctx.$t("chat.loadEarlier"))}</button>`);
6606
6703
  else _push(`<!---->`);
6607
- if (messages.value.length === 0) _push(`<div class="ct-empty" data-v-b705073e><span class="i-tabler-message-2 ct-empty-icon" data-v-b705073e></span><div data-v-b705073e>还没有群聊消息</div><div class="ct-empty-sub" data-v-b705073e> 直接发言只进群聊(0 次 Agent 执行);输入 @ 提及 Agent 才会触发执行,@ 成员只发定向通知。 </div></div>`);
6704
+ if (messages.value.length === 0) _push(`<div class="ct-empty" data-v-2619237f><span class="i-tabler-message-2 ct-empty-icon" data-v-2619237f></span><div data-v-2619237f>${ssrInterpolate(_ctx.$t("chat.emptyTitle"))}</div><div class="ct-empty-sub" data-v-2619237f>${ssrInterpolate(_ctx.$t("chat.emptyHint"))}</div></div>`);
6608
6705
  else _push(`<!---->`);
6609
6706
  _push(`<!--[-->`);
6610
6707
  ssrRenderList(messages.value, (m) => {
6611
- _push(`<div class="${ssrRenderClass([[m.senderType, operationOf(m) ? `op-${operationOf(m).kind}` : ""], "ct-row"])}"${ssrRenderAttr("data-operation", operationOf(m)?.kind)}${ssrRenderAttr("data-operation-severity", operationOf(m)?.severity)} data-v-b705073e><span class="${ssrRenderClass([{ "is-agent": m.senderType === "agent" }, "aw-avatar ct-ava"])}" style="${ssrRenderStyle(m.senderType === "agent" ? { "--av": unref(agentHueColor)(m.senderId) } : {})}" data-v-b705073e>${ssrInterpolate(avatarText(m))}</span><div class="ct-body" data-v-b705073e><div class="ct-meta" data-v-b705073e><span class="ct-sender" data-v-b705073e>${ssrInterpolate(senderNameOf(m))}</span><span class="${ssrRenderClass([m.senderType, "ct-role"])}" data-v-b705073e>`);
6612
- if (m.senderType === "user") _push(`<span class="i-tabler-user" data-v-b705073e></span>`);
6613
- else if (m.senderType === "agent") _push(`<span class="i-tabler-robot" data-v-b705073e></span>`);
6708
+ _push(`<div class="${ssrRenderClass([[m.senderType, operationOf(m) ? `op-${operationOf(m).kind}` : ""], "ct-row"])}"${ssrRenderAttr("data-operation", operationOf(m)?.kind)}${ssrRenderAttr("data-operation-severity", operationOf(m)?.severity)} data-v-2619237f><span class="${ssrRenderClass([{ "is-agent": m.senderType === "agent" }, "aw-avatar ct-ava"])}" style="${ssrRenderStyle(m.senderType === "agent" ? { "--av": unref(agentHueColor)(m.senderId) } : {})}" data-v-2619237f>${ssrInterpolate(avatarText(m))}</span><div class="ct-body" data-v-2619237f><div class="ct-meta" data-v-2619237f><span class="ct-sender" data-v-2619237f>${ssrInterpolate(senderNameOf(m))}</span><span class="${ssrRenderClass([m.senderType, "ct-role"])}" data-v-2619237f>`);
6709
+ if (m.senderType === "user") _push(`<span class="i-tabler-user" data-v-2619237f></span>`);
6710
+ else if (m.senderType === "agent") _push(`<span class="i-tabler-robot" data-v-2619237f></span>`);
6614
6711
  else _push(`<!---->`);
6615
- _push(` ${ssrInterpolate(m.senderType === "agent" ? unref(entities).agents[__props.channelId]?.find((a) => a.agentId === m.senderId)?.role ?? "agent" : m.senderType === "user" ? "用户" : "系统")}</span><span class="ct-time" data-v-b705073e>${ssrInterpolate(unref(formatLocalClock)(m.createdAt, false))}</span><button type="button" class="ct-reply-btn" title="引用这条消息回复" data-v-b705073e><span class="i-tabler-arrow-back-up" data-v-b705073e></span> 回复 </button></div>`);
6616
- if (m.replyToId) _push(`<div class="ct-replyto" data-v-b705073e><span class="i-tabler-corner-down-right" data-v-b705073e></span> 回复 <b data-v-b705073e>${ssrInterpolate(replyAnchorName(m))}</b></div>`);
6712
+ _push(` ${ssrInterpolate(m.senderType === "agent" ? unref(entities).agents[__props.channelId]?.find((a) => a.agentId === m.senderId)?.role ?? "agent" : m.senderType === "user" ? _ctx.$t("chat.roleUser") : _ctx.$t("chat.roleSystem"))}</span><span class="ct-time" data-v-2619237f>${ssrInterpolate(unref(formatLocalClock)(m.createdAt, false))}</span><button type="button" class="ct-reply-btn"${ssrRenderAttr("title", _ctx.$t("chat.replyTitle"))} data-v-2619237f><span class="i-tabler-arrow-back-up" data-v-2619237f></span> ${ssrInterpolate(_ctx.$t("chat.reply"))}</button></div>`);
6713
+ if (m.replyToId) _push(`<div class="ct-replyto" data-v-2619237f><span class="i-tabler-corner-down-right" data-v-2619237f></span> ${ssrInterpolate(_ctx.$t("chat.reply"))} <b data-v-2619237f>${ssrInterpolate(replyAnchorName(m))}</b></div>`);
6617
6714
  else _push(`<!---->`);
6618
- if (operationOf(m)) _push(`<div class="${ssrRenderClass([operationOf(m).kind, "ct-operation-badge"])}" data-v-b705073e><span class="${ssrRenderClass(operationOf(m).icon)}" data-v-b705073e></span> ${ssrInterpolate(operationOf(m).label)}</div>`);
6715
+ if (operationOf(m)) _push(`<div class="${ssrRenderClass([operationOf(m).kind, "ct-operation-badge"])}" data-v-2619237f><span class="${ssrRenderClass(operationOf(m).icon)}" data-v-2619237f></span> ${ssrInterpolate(operationOf(m).label)}</div>`);
6619
6716
  else _push(`<!---->`);
6620
- _push(`<div class="ct-text" data-v-b705073e>${renderText(m) ?? ""}</div>`);
6717
+ _push(`<div class="ct-text" data-v-2619237f>${renderText(m) ?? ""}</div>`);
6621
6718
  if (m.mentions.length > 0) {
6622
- _push(`<div class="ct-mentions" data-v-b705073e><!--[-->`);
6719
+ _push(`<div class="ct-mentions" data-v-2619237f><!--[-->`);
6623
6720
  ssrRenderList(m.mentions, (mm) => {
6624
- _push(`<span class="${ssrRenderClass([mm.type, "ct-mention-chip"])}"${ssrRenderAttr("data-agent-id", mm.type === "agent" ? mm.id : void 0)}${ssrRenderAttr("title", mm.type === "agent" ? "点击查看该 Agent" : "被 @ 的成员(不触发 Agent)")} data-v-b705073e><span class="${ssrRenderClass(mm.type === "agent" ? "i-tabler-robot" : "i-tabler-user")}" data-v-b705073e></span> @${ssrInterpolate(mm.label || (mm.type === "agent" ? unref(entities).agentName(__props.channelId, mm.id) : mm.id.slice(0, 8)))}</span>`);
6721
+ _push(`<span class="${ssrRenderClass([mm.type, "ct-mention-chip"])}"${ssrRenderAttr("data-agent-id", mm.type === "agent" ? mm.id : void 0)}${ssrRenderAttr("title", mm.type === "agent" ? _ctx.$t("chat.mentionAgentTitle") : _ctx.$t("chat.mentionMemberTitle"))} data-v-2619237f><span class="${ssrRenderClass(mm.type === "agent" ? "i-tabler-robot" : "i-tabler-user")}" data-v-2619237f></span> @${ssrInterpolate(mm.label || (mm.type === "agent" ? unref(entities).agentName(__props.channelId, mm.id) : mm.id.slice(0, 8)))}</span>`);
6625
6722
  });
6626
6723
  _push(`<!--]--></div>`);
6627
6724
  } else _push(`<!---->`);
6628
6725
  if (deliveriesOf(m).length > 0) {
6629
- _push(`<div class="ct-deliveries" data-v-b705073e><!--[-->`);
6726
+ _push(`<div class="ct-deliveries" data-v-2619237f><!--[-->`);
6630
6727
  ssrRenderList(deliveriesOf(m), (d) => {
6631
- _push(`<span class="ct-delivery"${ssrRenderAttr("data-tone", DELIVERY_META[d.status]?.tone ?? "pending")}${ssrRenderAttr("title", d.error || `deliveryId: ${d.deliveryId}`)} data-v-b705073e><span class="cd-dot" data-v-b705073e></span>@${ssrInterpolate(unref(entities).agentName(__props.channelId, d.targetAgentId))} · ${ssrInterpolate(DELIVERY_META[d.status]?.label ?? d.status)}</span>`);
6728
+ _push(`<span class="ct-delivery"${ssrRenderAttr("data-tone", DELIVERY_TONE[d.status] ?? "pending")}${ssrRenderAttr("title", d.error || `deliveryId: ${d.deliveryId}`)} data-v-2619237f><span class="cd-dot" data-v-2619237f></span>@${ssrInterpolate(unref(entities).agentName(__props.channelId, d.targetAgentId))} · ${ssrInterpolate(deliveryLabels.value[d.status] ?? d.status)}</span>`);
6632
6729
  });
6633
6730
  _push(`<!--]--></div>`);
6634
6731
  } else _push(`<!---->`);
6635
6732
  if (m.senderType === "agent" && m.sourceChatMessageId) {
6636
- _push(`<div class="ct-source" data-v-b705073e><span class="i-tabler-link" data-v-b705073e></span> 回答自 ${ssrInterpolate(m.sourceChatMessageId.slice(0, 8))} `);
6637
- if (m.requesterUserId) _push(`<!--[--> · 提问者 ${ssrInterpolate(m.requesterUserId.slice(0, 8))}<!--]-->`);
6733
+ _push(`<div class="ct-source" data-v-2619237f><span class="i-tabler-link" data-v-2619237f></span> ${ssrInterpolate(_ctx.$t("chat.answeredFrom", { p0: m.sourceChatMessageId.slice(0, 8) }))} `);
6734
+ if (m.requesterUserId) _push(`<!--[-->${ssrInterpolate(_ctx.$t("chat.askedBy", { p0: m.requesterUserId.slice(0, 8) }))}<!--]-->`);
6638
6735
  else _push(`<!---->`);
6639
6736
  _push(`</div>`);
6640
6737
  } else _push(`<!---->`);
@@ -6652,7 +6749,7 @@ ChatTimeline_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) =>
6652
6749
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/ChatTimeline.vue");
6653
6750
  return _sfc_setup$30 ? _sfc_setup$30(props, ctx) : void 0;
6654
6751
  };
6655
- var ChatTimeline_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ChatTimeline_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-b705073e"]]), { __name: "WorkshopChatTimeline" });
6752
+ var ChatTimeline_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ChatTimeline_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-2619237f"]]), { __name: "WorkshopChatTimeline" });
6656
6753
  function useLaneWidths() {
6657
6754
  const laneWidths = useStorage("aw.harness.laneW", {});
6658
6755
  const laneWidth = (id) => laneWidths.value[id] ?? 320;
@@ -6867,6 +6964,7 @@ var LaneHeader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
6867
6964
  const props = __props;
6868
6965
  const emit = __emit;
6869
6966
  const agent = computed(() => props.agent);
6967
+ const { t } = useI18n();
6870
6968
  /**
6871
6969
  * §8 监督/watchdog 徽标:
6872
6970
  * - `watchdog N`:监督回合已触发 watchdog(观察信号,不是取消);
@@ -6880,17 +6978,23 @@ var LaneHeader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
6880
6978
  if (s.watchdogCount > 0 || s.state === "WATCHDOG_SIGNALED") return {
6881
6979
  kind: "watchdog",
6882
6980
  text: `watchdog ${s.watchdogCount}`,
6883
- title: `监督观察阈值已触发(${s.watchdogAt ?? "-"});这是观察信号,不是取消`
6981
+ title: t("agentLanesView.supervisionWatchdogTitle", { p0: s.watchdogAt ?? "-" })
6884
6982
  };
6885
6983
  if (live) return {
6886
6984
  kind: "running",
6887
6985
  text: "supervising",
6888
- title: `监督回合进行中(attempt=${s.attemptId?.slice(0, 8) ?? "-"},tick=${s.snapshotRevision ?? "-"})`
6986
+ title: t("agentLanesView.supervisionRunningTitle", {
6987
+ p0: s.attemptId?.slice(0, 8) ?? "-",
6988
+ p1: s.snapshotRevision ?? "-"
6989
+ })
6889
6990
  };
6890
6991
  if (s.lastDecisionKind) return {
6891
6992
  kind: "decision",
6892
- text: `决策 ${s.lastDecisionKind}`,
6893
- title: `Lead 最后决策:${s.lastDecisionKind}(${s.completedAt ?? "-"})`
6993
+ text: t("agentLanesView.supervisionDecisionText", { p0: s.lastDecisionKind }),
6994
+ title: t("agentLanesView.supervisionDecisionTitle", {
6995
+ p0: s.lastDecisionKind,
6996
+ p1: s.completedAt ?? "-"
6997
+ })
6894
6998
  };
6895
6999
  return null;
6896
7000
  });
@@ -6923,24 +7027,24 @@ var LaneHeader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
6923
7027
  return (_ctx, _push, _parent, _attrs) => {
6924
7028
  const _component_a_button = button_default;
6925
7029
  const _component_a_popconfirm = popconfirm_default;
6926
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "lane-head" }, _attrs))} data-v-1dfd80fa><div class="head-top" data-v-1dfd80fa><span class="lane-ava" data-v-1dfd80fa><span style="${ssrRenderStyle({ "--av": unref(laneHue)(unref(agent).agentId) })}" data-v-1dfd80fa>${ssrInterpolate(unref(laneInitial)(unref(agent).name))}</span><span class="${ssrRenderClass([unref(agent).state, "lane-state"])}" data-v-1dfd80fa></span></span><span class="lane-name"${ssrRenderAttr("title", unref(agent).name)} data-v-1dfd80fa>${ssrInterpolate(unref(agent).name)}</span>`);
6927
- if (unref(agent).config?.systemPromptPrefix) _push(`<span class="lane-chip"${ssrRenderAttr("title", _ctx.$t("agentLanesView.k107s4am001"))} data-v-1dfd80fa>${ssrInterpolate(_ctx.$t("agentLanesView.k3xycu022"))}</span>`);
7030
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "lane-head" }, _attrs))} data-v-c7c28180><div class="head-top" data-v-c7c28180><span class="lane-ava" data-v-c7c28180><span style="${ssrRenderStyle({ "--av": unref(laneHue)(unref(agent).agentId) })}" data-v-c7c28180>${ssrInterpolate(unref(laneInitial)(unref(agent).name))}</span><span class="${ssrRenderClass([unref(agent).state, "lane-state"])}" data-v-c7c28180></span></span><span class="lane-name"${ssrRenderAttr("title", unref(agent).name)} data-v-c7c28180>${ssrInterpolate(unref(agent).name)}</span>`);
7031
+ if (unref(agent).config?.systemPromptPrefix) _push(`<span class="lane-chip"${ssrRenderAttr("title", _ctx.$t("agentLanesView.k107s4am001"))} data-v-c7c28180>${ssrInterpolate(_ctx.$t("agentLanesView.k3xycu022"))}</span>`);
6928
7032
  else _push(`<!---->`);
6929
- _push(`<span class="${ssrRenderClass([unref(agent).role, "lane-role"])}" data-v-1dfd80fa>${ssrInterpolate(unref(agent).role)}</span>`);
6930
- if (unref(termBadge)(__props.terminal)) _push(`<span class="term-badge"${ssrRenderAttr("title", _ctx.$t("agentLanesView.k1wn2vmt036", { p0: __props.terminal?.pid }))} data-v-1dfd80fa><span class="term-dot" style="${ssrRenderStyle({ background: unref(TERM_DOT)[unref(termBadge)(__props.terminal).color] ?? "var(--tone-neutral-dot)" })}" data-v-1dfd80fa></span> ${ssrInterpolate(unref(termBadge)(__props.terminal).text)}</span>`);
7033
+ _push(`<span class="${ssrRenderClass([unref(agent).role, "lane-role"])}" data-v-c7c28180>${ssrInterpolate(unref(agent).role)}</span>`);
7034
+ if (unref(termBadge)(__props.terminal)) _push(`<span class="term-badge"${ssrRenderAttr("title", _ctx.$t("agentLanesView.k1wn2vmt036", { p0: __props.terminal?.pid }))} data-v-c7c28180><span class="term-dot" style="${ssrRenderStyle({ background: unref(TERM_DOT)[unref(termBadge)(__props.terminal).color] ?? "var(--tone-neutral-dot)" })}" data-v-c7c28180></span> ${ssrInterpolate(unref(termBadge)(__props.terminal).text)}</span>`);
6931
7035
  else _push(`<!---->`);
6932
- if (unref(continuityBadge)) _push(`<span class="${ssrRenderClass([{ restart: unref(continuityBadge).error }, "cont-badge"])}"${ssrRenderAttr("title", unref(continuityBadge).title)} data-v-1dfd80fa>${ssrInterpolate(unref(continuityBadge).text)}</span>`);
7036
+ if (unref(continuityBadge)) _push(`<span class="${ssrRenderClass([{ restart: unref(continuityBadge).error }, "cont-badge"])}"${ssrRenderAttr("title", unref(continuityBadge).title)} data-v-c7c28180>${ssrInterpolate(unref(continuityBadge).text)}</span>`);
6933
7037
  else _push(`<!---->`);
6934
- if (unref(supervisionBadge)) _push(`<span class="${ssrRenderClass([unref(supervisionBadge).kind, "sup-badge"])}"${ssrRenderAttr("title", unref(supervisionBadge).title)} data-v-1dfd80fa>${ssrInterpolate(unref(supervisionBadge).text)}</span>`);
7038
+ if (unref(supervisionBadge)) _push(`<span class="${ssrRenderClass([unref(supervisionBadge).kind, "sup-badge"])}"${ssrRenderAttr("title", unref(supervisionBadge).title)} data-v-c7c28180>${ssrInterpolate(unref(supervisionBadge).text)}</span>`);
6935
7039
  else _push(`<!---->`);
6936
- _push(`</div><div class="head-sub" data-v-1dfd80fa><span class="lane-meta" data-v-1dfd80fa>`);
7040
+ _push(`</div><div class="head-sub" data-v-c7c28180><span class="lane-meta" data-v-c7c28180>`);
6937
7041
  if (unref(agent).state === "busy" && unref(agent).currentTaskTitle) {
6938
7042
  _push(`<!--[-->${ssrInterpolate(unref(agent).currentTaskTitle)} `);
6939
- if (unref(agent).currentTaskProgress != null) _push(`<span class="lane-progress" data-v-1dfd80fa>${ssrInterpolate(unref(agent).currentTaskProgress)}%</span>`);
7043
+ if (unref(agent).currentTaskProgress != null) _push(`<span class="lane-progress" data-v-c7c28180>${ssrInterpolate(unref(agent).currentTaskProgress)}%</span>`);
6940
7044
  else _push(`<!---->`);
6941
7045
  _push(`<!--]-->`);
6942
7046
  } else _push(`<!--[-->${ssrInterpolate(unref(agent).state)} · Q${ssrInterpolate(unref(agent).queued ?? 0)}<!--]-->`);
6943
- _push(`</span><div class="lane-actions" data-v-1dfd80fa>`);
7047
+ _push(`</span><div class="lane-actions" data-v-c7c28180>`);
6944
7048
  if (unref(agent).harness === "omp") _push(ssrRenderComponent(_component_a_button, {
6945
7049
  size: "small",
6946
7050
  type: "primary",
@@ -6950,7 +7054,7 @@ var LaneHeader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
6950
7054
  onClick: ($event) => emit("open-terminal", unref(agent))
6951
7055
  }, {
6952
7056
  default: withCtx((_, _push, _parent, _scopeId) => {
6953
- if (_push) _push(`<span class="i-tabler-terminal-2" data-v-1dfd80fa${_scopeId}></span><span class="term-label" data-v-1dfd80fa${_scopeId}>${ssrInterpolate(_ctx.$t("agentLanesView.k4588s023"))}</span>`);
7057
+ if (_push) _push(`<span class="i-tabler-terminal-2" data-v-c7c28180${_scopeId}></span><span class="term-label" data-v-c7c28180${_scopeId}>${ssrInterpolate(_ctx.$t("agentLanesView.k4588s023"))}</span>`);
6954
7058
  else return [createVNode("span", { class: "i-tabler-terminal-2" }), createVNode("span", { class: "term-label" }, toDisplayString(_ctx.$t("agentLanesView.k4588s023")), 1)];
6955
7059
  }),
6956
7060
  _: 1
@@ -6964,12 +7068,12 @@ var LaneHeader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
6964
7068
  onClick: ($event) => emit("edit", unref(agent))
6965
7069
  }, {
6966
7070
  default: withCtx((_, _push, _parent, _scopeId) => {
6967
- if (_push) _push(`<span class="i-tabler-edit" data-v-1dfd80fa${_scopeId}></span>`);
7071
+ if (_push) _push(`<span class="i-tabler-edit" data-v-c7c28180${_scopeId}></span>`);
6968
7072
  else return [createVNode("span", { class: "i-tabler-edit" })];
6969
7073
  }),
6970
7074
  _: 1
6971
7075
  }, _parent));
6972
- _push(`<span class="actions-divider" data-v-1dfd80fa></span>`);
7076
+ _push(`<span class="actions-divider" data-v-c7c28180></span>`);
6973
7077
  _push(ssrRenderComponent(_component_a_popconfirm, {
6974
7078
  title: _ctx.$t("agentLanesView.k1l029kf037", { p0: unref(agent).name }),
6975
7079
  "ok-text": _ctx.$t("common.stop"),
@@ -6985,7 +7089,7 @@ var LaneHeader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
6985
7089
  title: _ctx.$t("agentLanesView.hitlStopTitle")
6986
7090
  }, {
6987
7091
  default: withCtx((_, _push, _parent, _scopeId) => {
6988
- if (_push) _push(`<span class="i-tabler-player-stop" data-v-1dfd80fa${_scopeId}></span>`);
7092
+ if (_push) _push(`<span class="i-tabler-player-stop" data-v-c7c28180${_scopeId}></span>`);
6989
7093
  else return [createVNode("span", { class: "i-tabler-player-stop" })];
6990
7094
  }),
6991
7095
  _: 1
@@ -7018,7 +7122,7 @@ var LaneHeader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
7018
7122
  loading: __props.removing === unref(agent).agentId
7019
7123
  }, {
7020
7124
  default: withCtx((_, _push, _parent, _scopeId) => {
7021
- if (_push) _push(`<span class="i-tabler-x" data-v-1dfd80fa${_scopeId}></span>`);
7125
+ if (_push) _push(`<span class="i-tabler-x" data-v-c7c28180${_scopeId}></span>`);
7022
7126
  else return [createVNode("span", { class: "i-tabler-x" })];
7023
7127
  }),
7024
7128
  _: 1
@@ -7048,7 +7152,7 @@ LaneHeader_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
7048
7152
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/lanes/LaneHeader.vue");
7049
7153
  return _sfc_setup$27 ? _sfc_setup$27(props, ctx) : void 0;
7050
7154
  };
7051
- var LaneHeader_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(LaneHeader_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-1dfd80fa"]]), { __name: "WorkshopLanesLaneHeader" });
7155
+ var LaneHeader_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(LaneHeader_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-c7c28180"]]), { __name: "WorkshopLanesLaneHeader" });
7052
7156
  //#endregion
7053
7157
  //#region app/components/workshop/lanes/AddMemberModal.vue?vue&type=script&setup=true&lang.ts
7054
7158
  var AddMemberModal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -10089,6 +10193,7 @@ var ChatMemberPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10089
10193
  * 409 VERSION_CONFLICT 不是泛化错误,而是"别人刚改过,请刷新后重试"。
10090
10194
  */
10091
10195
  const props = __props;
10196
+ const { t } = useI18n();
10092
10197
  const chat = useChatStore();
10093
10198
  const perms = computed(() => chat.permissions[props.channelId] ?? null);
10094
10199
  const members = computed(() => chat.members[props.channelId] ?? []);
@@ -10141,13 +10246,13 @@ var ChatMemberPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10141
10246
  if (busy.value) return;
10142
10247
  busy.value = "join";
10143
10248
  try {
10144
- if (await chat.join(props.channelId) === "pending") api$1.info("已提交加入申请,等待 owner 批准");
10145
- else api$1.success("已加入群聊");
10249
+ if (await chat.join(props.channelId) === "pending") api$1.info(t("chat.joinedPending"));
10250
+ else api$1.success(t("chat.joinedOk"));
10146
10251
  await refresh();
10147
10252
  } catch (e) {
10148
10253
  const code = chatErrorCode(e);
10149
- if (code === "CHAT_DISABLED") api$1.warning("该 Channel 未开启群聊");
10150
- else if (code === "CHANNEL_PRIVATE") api$1.warning("该 Channel 未公开,需 owner 邀请");
10254
+ if (code === "CHAT_DISABLED") api$1.warning(t("chat.errChatDisabled"));
10255
+ else if (code === "CHANNEL_PRIVATE") api$1.warning(t("chat.errChannelPrivate"));
10151
10256
  else api$1.error(chatErrorMessage(e));
10152
10257
  } finally {
10153
10258
  busy.value = null;
@@ -10158,10 +10263,10 @@ var ChatMemberPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10158
10263
  busy.value = "leave";
10159
10264
  try {
10160
10265
  await chat.leave(props.channelId);
10161
- api$1.success("已退出群聊");
10266
+ api$1.success(t("chat.leftOk"));
10162
10267
  await refresh();
10163
10268
  } catch (e) {
10164
- if (chatErrorCode(e) === "OWNER_CANNOT_LEAVE") api$1.warning("owner 不能退出群聊,请先转移 owner");
10269
+ if (chatErrorCode(e) === "OWNER_CANNOT_LEAVE") api$1.warning(t("chat.errOwnerCannotLeave"));
10165
10270
  else api$1.error(chatErrorMessage(e));
10166
10271
  } finally {
10167
10272
  busy.value = null;
@@ -10172,7 +10277,7 @@ var ChatMemberPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10172
10277
  busy.value = `approve:${m.userId}`;
10173
10278
  try {
10174
10279
  await chat.approveMember(props.channelId, m.userId);
10175
- api$1.success("已批准加入");
10280
+ api$1.success(t("chat.approvedOk"));
10176
10281
  } catch (e) {
10177
10282
  api$1.error(chatErrorMessage(e));
10178
10283
  } finally {
@@ -10184,7 +10289,7 @@ var ChatMemberPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10184
10289
  busy.value = `remove:${m.userId}`;
10185
10290
  try {
10186
10291
  await chat.removeMember(props.channelId, m.userId);
10187
- api$1.success("已移除成员");
10292
+ api$1.success(t("chat.removedOk"));
10188
10293
  } catch (e) {
10189
10294
  api$1.error(chatErrorMessage(e));
10190
10295
  } finally {
@@ -10207,29 +10312,29 @@ var ChatMemberPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10207
10312
  approvalPolicy: d.approvalPolicy,
10208
10313
  chatEnabled: d.chatEnabled ? 1 : 0
10209
10314
  });
10210
- api$1.success("群聊设置已保存");
10315
+ api$1.success(t("chat.settingsSaved"));
10211
10316
  syncDraft();
10212
10317
  } catch (e) {
10213
- if (chatErrorCode(e) === "VERSION_CONFLICT") settingsError.value = "Channel 设置已被他人修改,请刷新后重试";
10318
+ if (chatErrorCode(e) === "VERSION_CONFLICT") settingsError.value = t("chat.settingsConflict");
10214
10319
  else if (chatErrorCode(e) === "CHAT_DISABLED") settingsError.value = chatErrorMessage(e);
10215
10320
  else settingsError.value = chatErrorMessage(e);
10216
10321
  } finally {
10217
10322
  busy.value = null;
10218
10323
  }
10219
10324
  }
10220
- const statusLabel = {
10221
- active: "在群",
10222
- pending: "待批准",
10223
- left: "已退出",
10224
- removed: "已移除"
10225
- };
10325
+ const statusLabels = computed(() => ({
10326
+ active: t("chat.statusActive"),
10327
+ pending: t("chat.statusPending"),
10328
+ left: t("chat.statusLeft"),
10329
+ removed: t("chat.statusRemoved")
10330
+ }));
10226
10331
  const avatarText = (m) => (m.displayName || m.userId.slice(0, 8)).trim().charAt(0).toUpperCase();
10227
10332
  return (_ctx, _push, _parent, _attrs) => {
10228
10333
  const _component_a_button = button_default;
10229
10334
  const _component_a_popconfirm = popconfirm_default;
10230
10335
  const _component_a_select = Select;
10231
10336
  const _component_a_switch = switch_default;
10232
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "member-panel" }, _attrs))} data-v-76f98421><div class="mp-head" data-v-76f98421><span class="i-tabler-users-group mp-icon" data-v-76f98421></span><span class="mp-title" data-v-76f98421>成员</span><span class="mp-count" data-v-76f98421>${ssrInterpolate(members.value.filter((m) => m.status === "active").length)}</span><span class="mp-spacer" data-v-76f98421></span><button type="button" class="mp-refresh" title="刷新成员与设置" data-v-76f98421><span class="i-tabler-refresh" data-v-76f98421></span></button></div><div class="mp-scroll" data-v-76f98421><div class="mp-actions" data-v-76f98421>`);
10337
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "member-panel" }, _attrs))} data-v-00cda6ad><div class="mp-head" data-v-00cda6ad><span class="i-tabler-users-group mp-icon" data-v-00cda6ad></span><span class="mp-title" data-v-00cda6ad>${ssrInterpolate(_ctx.$t("chat.title"))}</span><span class="mp-count" data-v-00cda6ad>${ssrInterpolate(members.value.filter((m) => m.status === "active").length)}</span><span class="mp-spacer" data-v-00cda6ad></span><button type="button" class="mp-refresh"${ssrRenderAttr("title", _ctx.$t("chat.refreshTitle"))} data-v-00cda6ad><span class="i-tabler-refresh" data-v-00cda6ad></span></button></div><div class="mp-scroll" data-v-00cda6ad><div class="mp-actions" data-v-00cda6ad>`);
10233
10338
  if (!isMember.value) {
10234
10339
  _push(`<!--[-->`);
10235
10340
  if (canJoin.value) _push(ssrRenderComponent(_component_a_button, {
@@ -10240,16 +10345,16 @@ var ChatMemberPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10240
10345
  onClick: onJoin
10241
10346
  }, {
10242
10347
  default: withCtx((_, _push, _parent, _scopeId) => {
10243
- if (_push) _push(` 加入群聊 `);
10244
- else return [createTextVNode(" 加入群聊 ")];
10348
+ if (_push) _push(`${ssrInterpolate(_ctx.$t("chat.join"))}`);
10349
+ else return [createTextVNode(toDisplayString(_ctx.$t("chat.join")), 1)];
10245
10350
  }),
10246
10351
  _: 1
10247
10352
  }, _parent));
10248
- else _push(`<div class="mp-hint" data-v-76f98421>${ssrInterpolate(perms.value === null ? "未加入群聊 —— 需 owner 邀请或 Channel 未公开" : "该 Channel 未公开或未开启群聊 —— 需 owner 邀请")}</div>`);
10353
+ else _push(`<div class="mp-hint" data-v-00cda6ad>${ssrInterpolate(perms.value === null ? _ctx.$t("chat.notMemberHint") : _ctx.$t("chat.privateHint"))}</div>`);
10249
10354
  _push(`<!--]-->`);
10250
- } else if (myStatus.value === "pending") _push(`<div class="mp-hint pending" data-v-76f98421><span class="i-tabler-hourglass" data-v-76f98421></span> 加入申请待 owner 批准 </div>`);
10355
+ } else if (myStatus.value === "pending") _push(`<div class="mp-hint pending" data-v-00cda6ad><span class="i-tabler-hourglass" data-v-00cda6ad></span> ${ssrInterpolate(_ctx.$t("chat.pendingHint"))}</div>`);
10251
10356
  else if (!isOwner.value) _push(ssrRenderComponent(_component_a_popconfirm, {
10252
- title: "退出群聊后将立即失去读、发言、审批与通知补拉权限,确认退出?",
10357
+ title: _ctx.$t("chat.leaveConfirm"),
10253
10358
  "ok-text": _ctx.$t("common.confirm"),
10254
10359
  "cancel-text": _ctx.$t("common.cancel"),
10255
10360
  onConfirm: onLeave
@@ -10261,8 +10366,8 @@ var ChatMemberPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10261
10366
  loading: busy.value === "leave"
10262
10367
  }, {
10263
10368
  default: withCtx((_, _push, _parent, _scopeId) => {
10264
- if (_push) _push(` 退出群聊 `);
10265
- else return [createTextVNode(" 退出群聊 ")];
10369
+ if (_push) _push(`${ssrInterpolate(_ctx.$t("chat.leave"))}`);
10370
+ else return [createTextVNode(toDisplayString(_ctx.$t("chat.leave")), 1)];
10266
10371
  }),
10267
10372
  _: 1
10268
10373
  }, _parent, _scopeId));
@@ -10271,21 +10376,21 @@ var ChatMemberPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10271
10376
  block: "",
10272
10377
  loading: busy.value === "leave"
10273
10378
  }, {
10274
- default: withCtx(() => [createTextVNode(" 退出群聊 ")]),
10379
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("chat.leave")), 1)]),
10275
10380
  _: 1
10276
10381
  }, 8, ["loading"])];
10277
10382
  }),
10278
10383
  _: 1
10279
10384
  }, _parent));
10280
- else _push(`<div class="mp-hint" data-v-76f98421><span class="i-tabler-crown" data-v-76f98421></span> 你是 owner(不可退出,可转移 owner 或删除 Channel) </div>`);
10281
- _push(`</div><div class="mp-list" data-v-76f98421><!--[-->`);
10385
+ else _push(`<div class="mp-hint" data-v-00cda6ad><span class="i-tabler-crown" data-v-00cda6ad></span> ${ssrInterpolate(_ctx.$t("chat.ownerHint"))}</div>`);
10386
+ _push(`</div><div class="mp-list" data-v-00cda6ad><!--[-->`);
10282
10387
  ssrRenderList(sortedMembers.value, (m) => {
10283
- _push(`<div class="${ssrRenderClass([m.status, "mp-row"])}" data-v-76f98421><span class="aw-avatar mp-ava" data-v-76f98421>${ssrInterpolate(avatarText(m))}</span><div class="mp-info" data-v-76f98421><div class="mp-name-line" data-v-76f98421><span class="mp-name" data-v-76f98421>${ssrInterpolate(m.displayName || m.userId.slice(0, 8))}</span>`);
10284
- if (m.role === "owner") _push(`<span class="mp-role owner" data-v-76f98421>owner</span>`);
10388
+ _push(`<div class="${ssrRenderClass([m.status, "mp-row"])}" data-v-00cda6ad><span class="aw-avatar mp-ava" data-v-00cda6ad>${ssrInterpolate(avatarText(m))}</span><div class="mp-info" data-v-00cda6ad><div class="mp-name-line" data-v-00cda6ad><span class="mp-name" data-v-00cda6ad>${ssrInterpolate(m.displayName || m.userId.slice(0, 8))}</span>`);
10389
+ if (m.role === "owner") _push(`<span class="mp-role owner" data-v-00cda6ad>owner</span>`);
10285
10390
  else _push(`<!---->`);
10286
- _push(`</div><div class="mp-sub" data-v-76f98421><span class="mp-status"${ssrRenderAttr("data-status", m.status)} data-v-76f98421>${ssrInterpolate(statusLabel[m.status])}</span><span class="mp-joined" data-v-76f98421>${ssrInterpolate(unref(formatLocalClock)(m.joinedAt, false))}</span></div></div>`);
10391
+ _push(`</div><div class="mp-sub" data-v-00cda6ad><span class="mp-status"${ssrRenderAttr("data-status", m.status)} data-v-00cda6ad>${ssrInterpolate(statusLabels.value[m.status])}</span><span class="mp-joined" data-v-00cda6ad>${ssrInterpolate(unref(formatLocalClock)(m.joinedAt, false))}</span></div></div>`);
10287
10392
  if (canManage.value && m.role !== "owner") {
10288
- _push(`<div class="mp-row-actions" data-v-76f98421>`);
10393
+ _push(`<div class="mp-row-actions" data-v-00cda6ad>`);
10289
10394
  if (m.status === "pending") _push(ssrRenderComponent(_component_a_button, {
10290
10395
  size: "small",
10291
10396
  type: "primary",
@@ -10293,14 +10398,14 @@ var ChatMemberPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10293
10398
  onClick: ($event) => onApprove(m)
10294
10399
  }, {
10295
10400
  default: withCtx((_, _push, _parent, _scopeId) => {
10296
- if (_push) _push(` 批准 `);
10297
- else return [createTextVNode(" 批准 ")];
10401
+ if (_push) _push(`${ssrInterpolate(_ctx.$t("chat.approve"))}`);
10402
+ else return [createTextVNode(toDisplayString(_ctx.$t("chat.approve")), 1)];
10298
10403
  }),
10299
10404
  _: 2
10300
10405
  }, _parent));
10301
10406
  else _push(`<!---->`);
10302
10407
  if (m.status === "active" || m.status === "pending") _push(ssrRenderComponent(_component_a_popconfirm, {
10303
- title: "移除该成员后其立即失去群聊与审批权限,确认?",
10408
+ title: _ctx.$t("chat.removeConfirm"),
10304
10409
  "ok-text": _ctx.$t("common.remove"),
10305
10410
  "cancel-text": _ctx.$t("common.cancel"),
10306
10411
  onConfirm: ($event) => onRemove(m)
@@ -10334,50 +10439,50 @@ var ChatMemberPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10334
10439
  _push(`</div>`);
10335
10440
  });
10336
10441
  _push(`<!--]-->`);
10337
- if (sortedMembers.value.length === 0) _push(`<div class="mp-hint" data-v-76f98421> 名册不可见(非成员) </div>`);
10442
+ if (sortedMembers.value.length === 0) _push(`<div class="mp-hint" data-v-00cda6ad>${ssrInterpolate(_ctx.$t("chat.rosterHidden"))}</div>`);
10338
10443
  else _push(`<!---->`);
10339
10444
  _push(`</div>`);
10340
10445
  if (canManage.value && draft.value) {
10341
- _push(`<div class="mp-settings" data-v-76f98421><div class="mp-sec-title" data-v-76f98421> 群聊设置 <span class="mp-ver" data-v-76f98421>v${ssrInterpolate(settings.value?.version ?? "-")}</span></div><label class="mp-field" data-v-76f98421><span data-v-76f98421>可见性</span>`);
10446
+ _push(`<div class="mp-settings" data-v-00cda6ad><div class="mp-sec-title" data-v-00cda6ad>${ssrInterpolate(_ctx.$t("chat.settingsTitle"))} <span class="mp-ver" data-v-00cda6ad>v${ssrInterpolate(settings.value?.version ?? "-")}</span></div><label class="mp-field" data-v-00cda6ad><span data-v-00cda6ad>${ssrInterpolate(_ctx.$t("chat.visibilityLabel"))}</span>`);
10342
10447
  _push(ssrRenderComponent(_component_a_select, {
10343
10448
  value: draft.value.visibility,
10344
10449
  "onUpdate:value": ($event) => draft.value.visibility = $event,
10345
10450
  size: "small",
10346
10451
  options: [{
10347
10452
  value: "private",
10348
- label: "私有(仅成员可见)"
10453
+ label: _ctx.$t("chat.visibilityPrivate")
10349
10454
  }, {
10350
10455
  value: "public",
10351
- label: "公开(登录用户可发现)"
10456
+ label: _ctx.$t("chat.visibilityPublic")
10352
10457
  }]
10353
10458
  }, null, _parent));
10354
- _push(`</label><label class="mp-field" data-v-76f98421><span data-v-76f98421>加入策略</span>`);
10459
+ _push(`</label><label class="mp-field" data-v-00cda6ad><span data-v-00cda6ad>${ssrInterpolate(_ctx.$t("chat.joinPolicyLabel"))}</span>`);
10355
10460
  _push(ssrRenderComponent(_component_a_select, {
10356
10461
  value: draft.value.joinPolicy,
10357
10462
  "onUpdate:value": ($event) => draft.value.joinPolicy = $event,
10358
10463
  size: "small",
10359
10464
  options: [{
10360
10465
  value: "owner_approve",
10361
- label: "需 owner 批准"
10466
+ label: _ctx.$t("chat.joinPolicyOwnerApprove")
10362
10467
  }, {
10363
10468
  value: "open",
10364
- label: "开放加入"
10469
+ label: _ctx.$t("chat.joinPolicyOpen")
10365
10470
  }]
10366
10471
  }, null, _parent));
10367
- _push(`</label><label class="mp-field" data-v-76f98421><span data-v-76f98421>审批策略</span>`);
10472
+ _push(`</label><label class="mp-field" data-v-00cda6ad><span data-v-00cda6ad>${ssrInterpolate(_ctx.$t("chat.approvalPolicyLabel"))}</span>`);
10368
10473
  _push(ssrRenderComponent(_component_a_select, {
10369
10474
  value: draft.value.approvalPolicy,
10370
10475
  "onUpdate:value": ($event) => draft.value.approvalPolicy = $event,
10371
10476
  size: "small",
10372
10477
  options: [{
10373
10478
  value: "owner_only",
10374
- label: "仅 owner 可决策"
10479
+ label: _ctx.$t("chat.approvalOwnerOnly")
10375
10480
  }, {
10376
10481
  value: "any_member",
10377
- label: "任一成员可决策"
10482
+ label: _ctx.$t("chat.approvalAnyMember")
10378
10483
  }]
10379
10484
  }, null, _parent));
10380
- _push(`</label><label class="mp-field switch" data-v-76f98421><span data-v-76f98421>开启群聊</span>`);
10485
+ _push(`</label><label class="mp-field switch" data-v-00cda6ad><span data-v-00cda6ad>${ssrInterpolate(_ctx.$t("chat.chatEnabledLabel"))}</span>`);
10381
10486
  _push(ssrRenderComponent(_component_a_switch, {
10382
10487
  checked: draft.value.chatEnabled,
10383
10488
  "onUpdate:checked": ($event) => draft.value.chatEnabled = $event,
@@ -10385,15 +10490,15 @@ var ChatMemberPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10385
10490
  }, null, _parent));
10386
10491
  _push(`</label>`);
10387
10492
  if (settingsError.value) {
10388
- _push(`<div class="mp-error" data-v-76f98421>${ssrInterpolate(settingsError.value)} `);
10493
+ _push(`<div class="mp-error" data-v-00cda6ad>${ssrInterpolate(settingsError.value)} `);
10389
10494
  _push(ssrRenderComponent(_component_a_button, {
10390
10495
  size: "small",
10391
10496
  type: "link",
10392
10497
  onClick: ($event) => refresh().then(syncDraft)
10393
10498
  }, {
10394
10499
  default: withCtx((_, _push, _parent, _scopeId) => {
10395
- if (_push) _push(` 刷新 `);
10396
- else return [createTextVNode(" 刷新 ")];
10500
+ if (_push) _push(`${ssrInterpolate(_ctx.$t("chat.refresh"))}`);
10501
+ else return [createTextVNode(toDisplayString(_ctx.$t("chat.refresh")), 1)];
10397
10502
  }),
10398
10503
  _: 1
10399
10504
  }, _parent));
@@ -10407,8 +10512,8 @@ var ChatMemberPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10407
10512
  onClick: onSaveSettings
10408
10513
  }, {
10409
10514
  default: withCtx((_, _push, _parent, _scopeId) => {
10410
- if (_push) _push(` 保存设置 `);
10411
- else return [createTextVNode(" 保存设置 ")];
10515
+ if (_push) _push(`${ssrInterpolate(_ctx.$t("chat.saveSettings"))}`);
10516
+ else return [createTextVNode(toDisplayString(_ctx.$t("chat.saveSettings")), 1)];
10412
10517
  }),
10413
10518
  _: 1
10414
10519
  }, _parent));
@@ -10426,7 +10531,7 @@ ChatMemberPanel_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx)
10426
10531
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/ChatMemberPanel.vue");
10427
10532
  return _sfc_setup$13 ? _sfc_setup$13(props, ctx) : void 0;
10428
10533
  };
10429
- var ChatMemberPanel_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ChatMemberPanel_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-76f98421"]]), { __name: "WorkshopChatMemberPanel" });
10534
+ var ChatMemberPanel_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ChatMemberPanel_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-00cda6ad"]]), { __name: "WorkshopChatMemberPanel" });
10430
10535
  //#endregion
10431
10536
  //#region app/components/workshop/console/LineOperationsPanel.vue?vue&type=script&setup=true&lang.ts
10432
10537
  var LineOperationsPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -10438,6 +10543,7 @@ var LineOperationsPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
10438
10543
  const events = useEventsStore();
10439
10544
  const entities = useEntitiesStore();
10440
10545
  const filter = ref("all");
10546
+ const { t } = useI18n();
10441
10547
  const allItems = computed(() => events.ring(props.channelId).items);
10442
10548
  const operations = computed(() => allItems.value.map((e) => ({
10443
10549
  e,
@@ -10465,7 +10571,7 @@ var LineOperationsPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
10465
10571
  };
10466
10572
  });
10467
10573
  function agentName(e) {
10468
- return e.agentId ? entities.agentName(props.channelId, e.agentId) || e.agentId.slice(0, 8) : "系统";
10574
+ return e.agentId ? entities.agentName(props.channelId, e.agentId) || e.agentId.slice(0, 8) : t("lineOps.systemName");
10469
10575
  }
10470
10576
  function tone(meta) {
10471
10577
  return `${meta.kind} ${meta.severity}`;
@@ -10476,13 +10582,13 @@ var LineOperationsPanel_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
10476
10582
  return (_ctx, _push, _parent, _attrs) => {
10477
10583
  _push(`<section${ssrRenderAttrs(mergeProps({
10478
10584
  class: "line-ops-panel",
10479
- "aria-label": "产线作业面板"
10480
- }, _attrs))} data-v-e241fe8f><header class="lop-head" data-v-e241fe8f><div data-v-e241fe8f><div class="lop-kicker" data-v-e241fe8f><span class="lop-live" data-v-e241fe8f></span>LINE OPERATIONS </div><h3 data-v-e241fe8f>产线作业</h3></div><span class="${ssrRenderClass([phaseTone(), "lop-phase"])}" data-v-e241fe8f><span class="i-tabler-radar" data-v-e241fe8f></span>${ssrInterpolate(phase.value.label)}</span></header><div class="lop-summary" data-v-e241fe8f><div class="lop-stat dcw" data-v-e241fe8f><span data-v-e241fe8f>DCW</span><b data-v-e241fe8f>${ssrInterpolate(stats.value.dcw)}</b><small data-v-e241fe8f>写控</small></div><div class="lop-stat daq" data-v-e241fe8f><span data-v-e241fe8f>DAQ</span><b data-v-e241fe8f>${ssrInterpolate(stats.value.daq)}</b><small data-v-e241fe8f>采集</small></div><div class="lop-stat aml" data-v-e241fe8f><span data-v-e241fe8f>AML</span><b data-v-e241fe8f>${ssrInterpolate(stats.value.aml)}</b><small data-v-e241fe8f>训练</small></div><div class="lop-stat safety" data-v-e241fe8f><span data-v-e241fe8f>SAFE</span><b data-v-e241fe8f>${ssrInterpolate(stats.value.blocked)}</b><small data-v-e241fe8f>拦截</small></div></div><nav class="lop-filters" aria-label="作业筛选" data-v-e241fe8f><button class="${ssrRenderClass({ on: filter.value === "all" })}" data-v-e241fe8f> 全部 </button><button class="${ssrRenderClass({ on: filter.value === "dcw" })}" data-v-e241fe8f> 写控 </button><button class="${ssrRenderClass({ on: filter.value === "daq" })}" data-v-e241fe8f> 取数 </button><button class="${ssrRenderClass({ on: filter.value === "aml" })}" data-v-e241fe8f> AML </button><button class="${ssrRenderClass({ on: filter.value === "twin" })}" data-v-e241fe8f> 孪生 </button><button class="${ssrRenderClass({ on: filter.value === "safety" })}" data-v-e241fe8f> 安全 </button></nav><div class="lop-timeline" data-v-e241fe8f>`);
10481
- if (visible.value.length === 0) _push(`<div class="lop-empty" data-v-e241fe8f><span class="i-tabler-activity-heartbeat" data-v-e241fe8f></span><span data-v-e241fe8f>等待产线作业事件</span></div>`);
10585
+ "aria-label": _ctx.$t("lineOps.panelAria")
10586
+ }, _attrs))} data-v-e034693e><header class="lop-head" data-v-e034693e><div data-v-e034693e><div class="lop-kicker" data-v-e034693e><span class="lop-live" data-v-e034693e></span>LINE OPERATIONS </div><h3 data-v-e034693e>${ssrInterpolate(_ctx.$t("lineOps.title"))}</h3></div><span class="${ssrRenderClass([phaseTone(), "lop-phase"])}" data-v-e034693e><span class="i-tabler-radar" data-v-e034693e></span>${ssrInterpolate(phase.value.label)}</span></header><div class="lop-summary" data-v-e034693e><div class="lop-stat dcw" data-v-e034693e><span data-v-e034693e>DCW</span><b data-v-e034693e>${ssrInterpolate(stats.value.dcw)}</b><small data-v-e034693e>${ssrInterpolate(_ctx.$t("lineOps.statDcw"))}</small></div><div class="lop-stat daq" data-v-e034693e><span data-v-e034693e>DAQ</span><b data-v-e034693e>${ssrInterpolate(stats.value.daq)}</b><small data-v-e034693e>${ssrInterpolate(_ctx.$t("lineOps.statDaq"))}</small></div><div class="lop-stat aml" data-v-e034693e><span data-v-e034693e>AML</span><b data-v-e034693e>${ssrInterpolate(stats.value.aml)}</b><small data-v-e034693e>${ssrInterpolate(_ctx.$t("lineOps.statAml"))}</small></div><div class="lop-stat safety" data-v-e034693e><span data-v-e034693e>SAFE</span><b data-v-e034693e>${ssrInterpolate(stats.value.blocked)}</b><small data-v-e034693e>${ssrInterpolate(_ctx.$t("lineOps.statSafe"))}</small></div></div><nav class="lop-filters"${ssrRenderAttr("aria-label", _ctx.$t("lineOps.filterAria"))} data-v-e034693e><button class="${ssrRenderClass({ on: filter.value === "all" })}" data-v-e034693e>${ssrInterpolate(_ctx.$t("common.all"))}</button><button class="${ssrRenderClass({ on: filter.value === "dcw" })}" data-v-e034693e>${ssrInterpolate(_ctx.$t("lineOps.statDcw"))}</button><button class="${ssrRenderClass({ on: filter.value === "daq" })}" data-v-e034693e>${ssrInterpolate(_ctx.$t("lineOps.filterDaq"))}</button><button class="${ssrRenderClass({ on: filter.value === "aml" })}" data-v-e034693e> AML </button><button class="${ssrRenderClass({ on: filter.value === "twin" })}" data-v-e034693e>${ssrInterpolate(_ctx.$t("lineOps.filterTwin"))}</button><button class="${ssrRenderClass({ on: filter.value === "safety" })}" data-v-e034693e>${ssrInterpolate(_ctx.$t("lineOps.filterSafety"))}</button></nav><div class="lop-timeline" data-v-e034693e>`);
10587
+ if (visible.value.length === 0) _push(`<div class="lop-empty" data-v-e034693e><span class="i-tabler-activity-heartbeat" data-v-e034693e></span><span data-v-e034693e>${ssrInterpolate(_ctx.$t("lineOps.empty"))}</span></div>`);
10482
10588
  else _push(`<!---->`);
10483
10589
  _push(`<!--[-->`);
10484
10590
  ssrRenderList(visible.value.slice(0, 24), (item) => {
10485
- _push(`<article class="${ssrRenderClass([tone(item.meta), "lop-event"])}" data-v-e241fe8f><div class="lop-event-icon" data-v-e241fe8f><span class="${ssrRenderClass(item.meta.icon)}" data-v-e241fe8f></span></div><div class="lop-event-body" data-v-e241fe8f><div class="lop-event-top" data-v-e241fe8f><strong data-v-e241fe8f>${ssrInterpolate(item.meta.label)}</strong><time data-v-e241fe8f>${ssrInterpolate(unref(formatLocalClock)(item.e.at, false))}</time></div><p data-v-e241fe8f>${ssrInterpolate(item.meta.summary || "—")}</p><small data-v-e241fe8f>${ssrInterpolate(agentName(item.e))} · #${ssrInterpolate(item.e.seq)}</small></div></article>`);
10591
+ _push(`<article class="${ssrRenderClass([tone(item.meta), "lop-event"])}" data-v-e034693e><div class="lop-event-icon" data-v-e034693e><span class="${ssrRenderClass(item.meta.icon)}" data-v-e034693e></span></div><div class="lop-event-body" data-v-e034693e><div class="lop-event-top" data-v-e034693e><strong data-v-e034693e>${ssrInterpolate(item.meta.label)}</strong><time data-v-e034693e>${ssrInterpolate(unref(formatLocalClock)(item.e.at, false))}</time></div><p data-v-e034693e>${ssrInterpolate(item.meta.summary || "—")}</p><small data-v-e034693e>${ssrInterpolate(agentName(item.e))} · #${ssrInterpolate(item.e.seq)}</small></div></article>`);
10486
10592
  });
10487
10593
  _push(`<!--]--></div></section>`);
10488
10594
  };
@@ -10496,7 +10602,7 @@ LineOperationsPanel_vue_vue_type_script_setup_true_lang_default.setup = (props,
10496
10602
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/console/LineOperationsPanel.vue");
10497
10603
  return _sfc_setup$12 ? _sfc_setup$12(props, ctx) : void 0;
10498
10604
  };
10499
- var LineOperationsPanel_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(LineOperationsPanel_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e241fe8f"]]), { __name: "WorkshopConsoleLineOperationsPanel" });
10605
+ var LineOperationsPanel_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(LineOperationsPanel_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e034693e"]]), { __name: "WorkshopConsoleLineOperationsPanel" });
10500
10606
  //#endregion
10501
10607
  //#region app/components/workshop/console/RightPane.vue?vue&type=script&setup=true&lang.ts
10502
10608
  var RightPane_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -10714,12 +10820,12 @@ var ComposerToolbar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10714
10820
  return (_ctx, _push, _parent, _attrs) => {
10715
10821
  const _component_a_select = Select;
10716
10822
  const _component_a_input_number = input_number_default;
10717
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "composer-bar" }, _attrs))} data-v-29be197e><div class="cb-left" data-v-29be197e><div class="aw-seg" data-v-29be197e>`);
10718
- if (__props.canPost || !__props.perms) _push(`<button type="button" class="${ssrRenderClass({ on: mode.value === "chat" })}" title="群聊:仅显式 @Agent 才触发执行" data-v-29be197e> 群聊 </button>`);
10823
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "composer-bar" }, _attrs))} data-v-6bede5c4><div class="cb-left" data-v-6bede5c4><div class="aw-seg" data-v-6bede5c4>`);
10824
+ if (__props.canPost || !__props.perms) _push(`<button type="button" class="${ssrRenderClass({ on: mode.value === "chat" })}"${ssrRenderAttr("title", _ctx.$t("chat.toolbarChatTitle"))} data-v-6bede5c4>${ssrInterpolate(_ctx.$t("chat.title"))}</button>`);
10719
10825
  else _push(`<!---->`);
10720
- if (__props.canManage || !__props.perms || !__props.canPost) _push(`<button type="button" class="${ssrRenderClass({ on: mode.value === "task" })}" data-v-29be197e>${ssrInterpolate(_ctx.$t("composer.k3wcox005"))}</button>`);
10826
+ if (__props.canManage || !__props.perms || !__props.canPost) _push(`<button type="button" class="${ssrRenderClass({ on: mode.value === "task" })}" data-v-6bede5c4>${ssrInterpolate(_ctx.$t("composer.k3wcox005"))}</button>`);
10721
10827
  else _push(`<!---->`);
10722
- if (__props.canManage || !__props.perms || !__props.canPost) _push(`<button type="button" class="${ssrRenderClass({ on: mode.value === "message" })}" data-v-29be197e>${ssrInterpolate(_ctx.$t("composer.k41ykc007"))}</button>`);
10828
+ if (__props.canManage || !__props.perms || !__props.canPost) _push(`<button type="button" class="${ssrRenderClass({ on: mode.value === "message" })}" data-v-6bede5c4>${ssrInterpolate(_ctx.$t("composer.k41ykc007"))}</button>`);
10723
10829
  else _push(`<!---->`);
10724
10830
  _push(`</div>`);
10725
10831
  if (mode.value !== "chat") _push(ssrRenderComponent(_component_a_select, {
@@ -10734,13 +10840,13 @@ var ComposerToolbar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10734
10840
  }, null, _parent));
10735
10841
  else _push(`<!---->`);
10736
10842
  if (mode.value === "task") {
10737
- _push(`<!--[--><div class="aw-seg" data-v-29be197e><!--[-->`);
10843
+ _push(`<!--[--><div class="aw-seg" data-v-6bede5c4><!--[-->`);
10738
10844
  ssrRenderList([
10739
10845
  "goal",
10740
10846
  "loop",
10741
10847
  "pipeline"
10742
10848
  ], (m) => {
10743
- _push(`<button type="button" class="${ssrRenderClass({ on: taskMode.value === m })}" data-v-29be197e>${ssrInterpolate(m)}</button>`);
10849
+ _push(`<button type="button" class="${ssrRenderClass({ on: taskMode.value === m })}" data-v-6bede5c4>${ssrInterpolate(m)}</button>`);
10744
10850
  });
10745
10851
  _push(`<!--]--></div>`);
10746
10852
  if (taskMode.value === "loop") {
@@ -10770,9 +10876,9 @@ var ComposerToolbar_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
10770
10876
  _push(`<!--]-->`);
10771
10877
  } else _push(`<!---->`);
10772
10878
  _push(`<!--]-->`);
10773
- } else if (mode.value === "message") _push(`<!--[--><div class="aw-seg" data-v-29be197e><button type="button" class="${ssrRenderClass({ on: priority.value === "immediate" })}"${ssrRenderAttr("title", _ctx.$t("composer.k1jqqvhe002"))} data-v-29be197e>${ssrInterpolate(_ctx.$t("composer.k3x9n2008"))}</button><button type="button" class="${ssrRenderClass({ on: priority.value === "task" })}" data-v-29be197e>${ssrInterpolate(_ctx.$t("composer.k40g8m009"))}</button></div><button type="button" class="${ssrRenderClass([{ on: requireReply.value }, "chip-toggle"])}"${ssrRenderAttr("title", _ctx.$t("composer.k195594v003"))} data-v-29be197e><span class="i-tabler-mail-forward" data-v-29be197e></span> ${ssrInterpolate(_ctx.$t("composer.k3xv7u010"))}</button><!--]-->`);
10879
+ } else if (mode.value === "message") _push(`<!--[--><div class="aw-seg" data-v-6bede5c4><button type="button" class="${ssrRenderClass({ on: priority.value === "immediate" })}"${ssrRenderAttr("title", _ctx.$t("composer.k1jqqvhe002"))} data-v-6bede5c4>${ssrInterpolate(_ctx.$t("composer.k3x9n2008"))}</button><button type="button" class="${ssrRenderClass({ on: priority.value === "task" })}" data-v-6bede5c4>${ssrInterpolate(_ctx.$t("composer.k40g8m009"))}</button></div><button type="button" class="${ssrRenderClass([{ on: requireReply.value }, "chip-toggle"])}"${ssrRenderAttr("title", _ctx.$t("composer.k195594v003"))} data-v-6bede5c4><span class="i-tabler-mail-forward" data-v-6bede5c4></span> ${ssrInterpolate(_ctx.$t("composer.k3xv7u010"))}</button><!--]-->`);
10774
10880
  else _push(`<!---->`);
10775
- _push(`</div><div class="cb-right" data-v-29be197e><button type="button" class="send-btn im"${ssrIncludeBooleanAttr(__props.sendLoading || !__props.input.trim() || mode.value === "chat" && !__props.canPost) ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("composer.sendTitle"))} data-v-29be197e><span class="i-tabler-send im-nudge-up" data-v-29be197e></span></button></div></div>`);
10881
+ _push(`</div><div class="cb-right" data-v-6bede5c4><button type="button" class="send-btn im"${ssrIncludeBooleanAttr(__props.sendLoading || !__props.input.trim() || mode.value === "chat" && !__props.canPost) ? " disabled" : ""}${ssrRenderAttr("title", _ctx.$t("composer.sendTitle"))} data-v-6bede5c4><span class="i-tabler-send im-nudge-up" data-v-6bede5c4></span></button></div></div>`);
10776
10882
  };
10777
10883
  }
10778
10884
  });
@@ -10784,7 +10890,7 @@ ComposerToolbar_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx)
10784
10890
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/composer/ComposerToolbar.vue");
10785
10891
  return _sfc_setup$10 ? _sfc_setup$10(props, ctx) : void 0;
10786
10892
  };
10787
- var ComposerToolbar_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ComposerToolbar_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-29be197e"]]), { __name: "WorkshopComposerToolbar" });
10893
+ var ComposerToolbar_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ComposerToolbar_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-6bede5c4"]]), { __name: "WorkshopComposerToolbar" });
10788
10894
  //#endregion
10789
10895
  //#region app/components/workshop/composer/MentionMenu.vue?vue&type=script&setup=true&lang.ts
10790
10896
  var MentionMenu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -10797,10 +10903,10 @@ var MentionMenu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
10797
10903
  emits: ["pick", "hover"],
10798
10904
  setup(__props, { emit: __emit }) {
10799
10905
  return (_ctx, _push, _parent, _attrs) => {
10800
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "mention-menu" }, _attrs))} data-v-a42e4a1c><div class="mention-title" data-v-a42e4a1c>${ssrInterpolate(_ctx.$t("composer.k1bxvc46004"))}</div><!--[-->`);
10906
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "mention-menu" }, _attrs))} data-v-a5b73823><div class="mention-title" data-v-a5b73823>${ssrInterpolate(_ctx.$t("composer.k1bxvc46004"))}</div><!--[-->`);
10801
10907
  ssrRenderList(__props.candidates, (c, i) => {
10802
- _push(`<button type="button" class="${ssrRenderClass([{ sel: i === __props.highlighted }, "mention-opt"])}" data-v-a42e4a1c><span class="${ssrRenderClass([c.type === "agent" ? "is-agent" : "is-user", "aw-avatar mention-ava"])}" style="${ssrRenderStyle({ "--av": c.type === "agent" ? unref(agentHueColor)(c.id) : "var(--ink-faint)" })}" data-v-a42e4a1c>${ssrInterpolate(c.type === "agent" ? "A" : "人")}</span><span class="mention-name" data-v-a42e4a1c>@${ssrInterpolate(c.name)}</span><span class="mention-role" data-v-a42e4a1c>${ssrInterpolate(c.role)}</span>`);
10803
- if (c.type === "agent") _push(`<span class="${ssrRenderClass([c.state, "mention-state"])}"${ssrRenderAttr("title", c.state)} data-v-a42e4a1c></span>`);
10908
+ _push(`<button type="button" class="${ssrRenderClass([{ sel: i === __props.highlighted }, "mention-opt"])}" data-v-a5b73823><span class="${ssrRenderClass([c.type === "agent" ? "is-agent" : "is-user", "aw-avatar mention-ava"])}" style="${ssrRenderStyle({ "--av": c.type === "agent" ? unref(agentHueColor)(c.id) : "var(--ink-faint)" })}" data-v-a5b73823>${ssrInterpolate(c.type === "agent" ? "A" : _ctx.$t("chat.avatarHuman"))}</span><span class="mention-name" data-v-a5b73823>@${ssrInterpolate(c.name)}</span><span class="mention-role" data-v-a5b73823>${ssrInterpolate(c.role)}</span>`);
10909
+ if (c.type === "agent") _push(`<span class="${ssrRenderClass([c.state, "mention-state"])}"${ssrRenderAttr("title", c.state)} data-v-a5b73823></span>`);
10804
10910
  else _push(`<!---->`);
10805
10911
  _push(`</button>`);
10806
10912
  });
@@ -10816,7 +10922,7 @@ MentionMenu_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) =>
10816
10922
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/composer/MentionMenu.vue");
10817
10923
  return _sfc_setup$9 ? _sfc_setup$9(props, ctx) : void 0;
10818
10924
  };
10819
- var MentionMenu_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(MentionMenu_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-a42e4a1c"]]), { __name: "WorkshopComposerMentionMenu" });
10925
+ var MentionMenu_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(MentionMenu_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-a5b73823"]]), { __name: "WorkshopComposerMentionMenu" });
10820
10926
  //#endregion
10821
10927
  //#region app/components/workshop/composer/ReplyChip.vue?vue&type=script&setup=true&lang.ts
10822
10928
  var ReplyChip_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -10829,7 +10935,7 @@ var ReplyChip_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
10829
10935
  emits: ["cancel"],
10830
10936
  setup(__props, { emit: __emit }) {
10831
10937
  return (_ctx, _push, _parent, _attrs) => {
10832
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "reply-chip" }, _attrs))} data-v-59520bd3><span class="i-tabler-arrow-back-up" data-v-59520bd3></span><span class="reply-label" data-v-59520bd3>回复 <b data-v-59520bd3>${ssrInterpolate(__props.senderName)}</b></span><span class="reply-excerpt" data-v-59520bd3>${ssrInterpolate(__props.excerpt)}</span><button type="button" class="reply-cancel" title="取消回复" data-v-59520bd3><span class="i-tabler-x" data-v-59520bd3></span></button></div>`);
10938
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "reply-chip" }, _attrs))} data-v-9af897c9><span class="i-tabler-arrow-back-up" data-v-9af897c9></span><span class="reply-label" data-v-9af897c9>${ssrInterpolate(_ctx.$t("chat.reply"))} <b data-v-9af897c9>${ssrInterpolate(__props.senderName)}</b></span><span class="reply-excerpt" data-v-9af897c9>${ssrInterpolate(__props.excerpt)}</span><button type="button" class="reply-cancel"${ssrRenderAttr("title", _ctx.$t("chat.cancelReply"))} data-v-9af897c9><span class="i-tabler-x" data-v-9af897c9></span></button></div>`);
10833
10939
  };
10834
10940
  }
10835
10941
  });
@@ -10841,7 +10947,7 @@ ReplyChip_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
10841
10947
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/composer/ReplyChip.vue");
10842
10948
  return _sfc_setup$8 ? _sfc_setup$8(props, ctx) : void 0;
10843
10949
  };
10844
- var ReplyChip_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ReplyChip_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-59520bd3"]]), { __name: "WorkshopComposerReplyChip" });
10950
+ var ReplyChip_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(ReplyChip_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-9af897c9"]]), { __name: "WorkshopComposerReplyChip" });
10845
10951
  //#endregion
10846
10952
  //#region app/components/workshop/composer/StatusChip.vue?vue&type=script&setup=true&lang.ts
10847
10953
  var StatusChip_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -10864,30 +10970,33 @@ var StatusChip_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
10864
10970
  * 目标成员与 HITL 可达性提示。纯展示,无状态、无事件。
10865
10971
  */
10866
10972
  return (_ctx, _push, _parent, _attrs) => {
10867
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "composer-status-chip" }, _attrs))} data-v-2cc33deb>`);
10973
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "composer-status-chip" }, _attrs))} data-v-bac143ef>`);
10868
10974
  if (__props.mode === "chat") {
10869
- _push(`<!--[--><span class="chip-key" data-v-2cc33deb>群聊</span>`);
10870
- if (__props.draftAgentMentions.length > 0) _push(`<span class="reach-chip" data-tone="info"${ssrRenderAttr("title", "仅显式 @Agent 触发执行")} data-v-2cc33deb><span class="reach-dot" aria-hidden="true" data-v-2cc33deb></span>@${ssrInterpolate(__props.draftAgentMentions.map((m) => m.label).join(" @"))} · 将触发 ${ssrInterpolate(__props.draftAgentMentions.length)} 次 Agent 执行 </span>`);
10871
- else _push(`<span class="reach-chip" data-tone="ok" title="未 @Agent:消息只进群聊,不触发任何 Agent" data-v-2cc33deb><span class="reach-dot" aria-hidden="true" data-v-2cc33deb></span>仅群聊 · 0 次 Agent 执行 </span>`);
10872
- if (__props.draftUserMentions.length > 0) _push(`<span class="chip-hint" data-v-2cc33deb>@${ssrInterpolate(__props.draftUserMentions.map((m) => m.label).join(" @"))} 将收到定向通知</span>`);
10873
- else _push(`<span class="chip-hint" data-v-2cc33deb>输入 @ 提及成员 · Enter 发送</span>`);
10975
+ _push(`<!--[--><span class="chip-key" data-v-bac143ef>${ssrInterpolate(_ctx.$t("chat.title"))}</span>`);
10976
+ if (__props.draftAgentMentions.length > 0) _push(`<span class="reach-chip" data-tone="info"${ssrRenderAttr("title", _ctx.$t("chat.reachAgentsTitle"))} data-v-bac143ef><span class="reach-dot" aria-hidden="true" data-v-bac143ef></span>${ssrInterpolate(_ctx.$t("chat.reachAgentsText", {
10977
+ p0: __props.draftAgentMentions.map((m) => m.label).join(" @"),
10978
+ p1: __props.draftAgentMentions.length
10979
+ }))}</span>`);
10980
+ else _push(`<span class="reach-chip" data-tone="ok"${ssrRenderAttr("title", _ctx.$t("chat.reachNoAgentTitle"))} data-v-bac143ef><span class="reach-dot" aria-hidden="true" data-v-bac143ef></span>${ssrInterpolate(_ctx.$t("chat.reachNoAgentText"))}</span>`);
10981
+ if (__props.draftUserMentions.length > 0) _push(`<span class="chip-hint" data-v-bac143ef>@${ssrInterpolate(__props.draftUserMentions.map((m) => m.label).join(" @"))}${ssrInterpolate(_ctx.$t("chat.notifyMembersSuffix"))}</span>`);
10982
+ else _push(`<span class="chip-hint" data-v-bac143ef>${ssrInterpolate(_ctx.$t("chat.mentionHint"))}</span>`);
10874
10983
  _push(`<!--]-->`);
10875
10984
  } else if (__props.mode === "task") {
10876
- _push(`<!--[--><span class="chip-key" data-v-2cc33deb>${ssrInterpolate(_ctx.$t("composer.k3wcox005"))}</span><span data-v-2cc33deb>${ssrInterpolate(__props.taskMode)}</span>`);
10877
- if (__props.taskMode === "loop") _push(`<span data-v-2cc33deb>${ssrInterpolate(_ctx.$t("composer.k49kr1011"))} ${ssrInterpolate(__props.loopIntervalSeconds ?? "-")}s </span>`);
10985
+ _push(`<!--[--><span class="chip-key" data-v-bac143ef>${ssrInterpolate(_ctx.$t("composer.k3wcox005"))}</span><span data-v-bac143ef>${ssrInterpolate(__props.taskMode)}</span>`);
10986
+ if (__props.taskMode === "loop") _push(`<span data-v-bac143ef>${ssrInterpolate(_ctx.$t("composer.k49kr1011"))} ${ssrInterpolate(__props.loopIntervalSeconds ?? "-")}s </span>`);
10878
10987
  else _push(`<!---->`);
10879
- _push(`<span class="chip-target"${ssrRenderAttr("title", __props.isDefaultLead ? _ctx.$t("composer.defaultLeadTitle") : _ctx.$t("composer.kl3604i033", { p0: __props.targetName }))} data-v-2cc33deb>→ ${ssrInterpolate(__props.targetName ? `@${__props.targetName}` : "lead")}${ssrInterpolate(__props.isDefaultLead ? _ctx.$t("composer.k2z7yuw012") : _ctx.$t("composer.k2z0fsx032"))}</span>`);
10880
- if (__props.reachHint) _push(`<span class="reach-chip"${ssrRenderAttr("data-tone", __props.reachHint.tone)}${ssrRenderAttr("title", __props.reachHint.title)} data-v-2cc33deb><span class="reach-dot" aria-hidden="true" data-v-2cc33deb></span>${ssrInterpolate(__props.reachHint.text)}</span>`);
10988
+ _push(`<span class="chip-target"${ssrRenderAttr("title", __props.isDefaultLead ? _ctx.$t("composer.defaultLeadTitle") : _ctx.$t("composer.kl3604i033", { p0: __props.targetName }))} data-v-bac143ef>→ ${ssrInterpolate(__props.targetName ? `@${__props.targetName}` : "lead")}${ssrInterpolate(__props.isDefaultLead ? _ctx.$t("composer.k2z7yuw012") : _ctx.$t("composer.k2z0fsx032"))}</span>`);
10989
+ if (__props.reachHint) _push(`<span class="reach-chip"${ssrRenderAttr("data-tone", __props.reachHint.tone)}${ssrRenderAttr("title", __props.reachHint.title)} data-v-bac143ef><span class="reach-dot" aria-hidden="true" data-v-bac143ef></span>${ssrInterpolate(__props.reachHint.text)}</span>`);
10881
10990
  else _push(`<!---->`);
10882
- _push(`<span class="chip-hint" data-v-2cc33deb>${ssrInterpolate(_ctx.$t("composer.k17u6q77006"))}</span><!--]-->`);
10991
+ _push(`<span class="chip-hint" data-v-bac143ef>${ssrInterpolate(_ctx.$t("composer.k17u6q77006"))}</span><!--]-->`);
10883
10992
  } else {
10884
- _push(`<!--[--><span class="chip-key" data-v-2cc33deb>${ssrInterpolate(_ctx.$t("composer.k41ykc007"))}</span>`);
10885
- if (__props.targetName) _push(`<span data-v-2cc33deb>@${ssrInterpolate(__props.targetName)}${ssrInterpolate(__props.isDefaultLead ? _ctx.$t("composer.k2z7yuw012") : "")}</span>`);
10993
+ _push(`<!--[--><span class="chip-key" data-v-bac143ef>${ssrInterpolate(_ctx.$t("composer.k41ykc007"))}</span>`);
10994
+ if (__props.targetName) _push(`<span data-v-bac143ef>@${ssrInterpolate(__props.targetName)}${ssrInterpolate(__props.isDefaultLead ? _ctx.$t("composer.k2z7yuw012") : "")}</span>`);
10886
10995
  else _push(`<!---->`);
10887
- _push(`<span data-v-2cc33deb>${ssrInterpolate(__props.priority === "immediate" ? _ctx.$t("composer.k1bosqfv013") : _ctx.$t("composer.k40g8m009"))}</span>`);
10888
- if (__props.reachHint) _push(`<span class="reach-chip"${ssrRenderAttr("data-tone", __props.reachHint.tone)}${ssrRenderAttr("title", __props.reachHint.title)} data-v-2cc33deb><span class="reach-dot" aria-hidden="true" data-v-2cc33deb></span>${ssrInterpolate(__props.reachHint.text)}</span>`);
10996
+ _push(`<span data-v-bac143ef>${ssrInterpolate(__props.priority === "immediate" ? _ctx.$t("composer.k1bosqfv013") : _ctx.$t("composer.k40g8m009"))}</span>`);
10997
+ if (__props.reachHint) _push(`<span class="reach-chip"${ssrRenderAttr("data-tone", __props.reachHint.tone)}${ssrRenderAttr("title", __props.reachHint.title)} data-v-bac143ef><span class="reach-dot" aria-hidden="true" data-v-bac143ef></span>${ssrInterpolate(__props.reachHint.text)}</span>`);
10889
10998
  else _push(`<!---->`);
10890
- _push(`<span class="chip-hint" data-v-2cc33deb>${ssrInterpolate(_ctx.$t("composer.chipHint"))}</span><!--]-->`);
10999
+ _push(`<span class="chip-hint" data-v-bac143ef>${ssrInterpolate(_ctx.$t("composer.chipHint"))}</span><!--]-->`);
10891
11000
  }
10892
11001
  _push(`</div>`);
10893
11002
  };
@@ -10901,7 +11010,7 @@ StatusChip_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
10901
11010
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/composer/StatusChip.vue");
10902
11011
  return _sfc_setup$7 ? _sfc_setup$7(props, ctx) : void 0;
10903
11012
  };
10904
- var StatusChip_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(StatusChip_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-2cc33deb"]]), { __name: "WorkshopComposerStatusChip" });
11013
+ var StatusChip_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(StatusChip_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-bac143ef"]]), { __name: "WorkshopComposerStatusChip" });
10905
11014
  //#endregion
10906
11015
  //#region app/components/workshop/Composer.vue?vue&type=script&setup=true&lang.ts
10907
11016
  var Composer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
@@ -11085,10 +11194,10 @@ var Composer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
11085
11194
  });
11086
11195
  pendingSend.value = null;
11087
11196
  chat.clearReplyTarget();
11088
- if (res.unresolvedMentions?.length) api$1.warning(`未识别的 @: ${res.unresolvedMentions.join("、")}(不在本群成员内,未投递)`);
11197
+ if (res.unresolvedMentions?.length) api$1.warning(t("chat.unresolvedMentions", { p0: res.unresolvedMentions.join("、") }));
11089
11198
  const n = res.deliveries?.length ?? 0;
11090
- if (n > 0) api$1.success(`已发到群聊 · ${n} 个 Agent 已收到投递`);
11091
- else api$1.success("已发到群聊(未 @Agent,无 Agent 执行)");
11199
+ if (n > 0) api$1.success(t("chat.sentToChat", { p0: n }));
11200
+ else api$1.success(t("chat.sentToChatNoAgent"));
11092
11201
  };
11093
11202
  const send = async () => {
11094
11203
  const text = input.value.trim();
@@ -11155,8 +11264,8 @@ var Composer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
11155
11264
  emit("submitted");
11156
11265
  } catch (e) {
11157
11266
  const code = chatErrorCode(e);
11158
- if (mode.value === "chat" && code === "CHAT_DISABLED") api$1.warning("该 Channel 未开启群聊 —— 请 owner 在右侧成员面板开启后重试");
11159
- else if (mode.value === "chat" && (code === "NOT_CHANNEL_MEMBER" || code === "FORBIDDEN_LEGACY")) api$1.warning("你还不是该 Channel 的群成员 —— 请在右侧成员面板加入群聊");
11267
+ if (mode.value === "chat" && code === "CHAT_DISABLED") api$1.warning(t("chat.composerChatDisabled"));
11268
+ else if (mode.value === "chat" && (code === "NOT_CHANNEL_MEMBER" || code === "FORBIDDEN_LEGACY")) api$1.warning(t("chat.composerNotMember"));
11160
11269
  else api$1.error(chatErrorMessage(e));
11161
11270
  } finally {
11162
11271
  sendLoading.value = false;
@@ -11216,11 +11325,11 @@ var Composer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
11216
11325
  };
11217
11326
  });
11218
11327
  const placeholder = computed(() => {
11219
- if (mode.value === "chat") return "发送到群聊… @ 提及 Agent(触发执行)或成员(仅通知)";
11328
+ if (mode.value === "chat") return t("chat.composerPlaceholder");
11220
11329
  return mode.value === "task" ? t("composer.k2h5jwc030") : t("composer.k15mwzt7031");
11221
11330
  });
11222
11331
  return (_ctx, _push, _parent, _attrs) => {
11223
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "composer" }, _attrs))} data-v-685c0ff5><div class="composer-box" data-v-685c0ff5>`);
11332
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "composer" }, _attrs))} data-v-b1f25582><div class="composer-box" data-v-b1f25582>`);
11224
11333
  if (unref(mentionOpen)) _push(ssrRenderComponent(MentionMenu_default, {
11225
11334
  candidates: unref(mentionFiltered),
11226
11335
  highlighted: unref(mentionHi),
@@ -11245,9 +11354,9 @@ var Composer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
11245
11354
  "reach-hint": unref(reachHint),
11246
11355
  priority: unref(priority)
11247
11356
  }, null, _parent));
11248
- if (unref(mode) === "chat" && unref(perms) && !unref(canPost)) _push(`<div class="composer-block-hint" data-v-685c0ff5><span class="i-tabler-lock" data-v-685c0ff5></span> ${ssrInterpolate(unref(isMember) ? "该 Channel 未开启群聊(owner 可在右侧成员面板开启)" : "你还不是群成员 —— 请在右侧成员面板加入群聊后发言")}</div>`);
11357
+ if (unref(mode) === "chat" && unref(perms) && !unref(canPost)) _push(`<div class="composer-block-hint" data-v-b1f25582><span class="i-tabler-lock" data-v-b1f25582></span> ${ssrInterpolate(unref(isMember) ? _ctx.$t("chat.blockChatDisabled") : _ctx.$t("chat.blockNotMember"))}</div>`);
11249
11358
  else _push(`<!---->`);
11250
- _push(`<textarea class="composer-input" rows="1"${ssrRenderAttr("placeholder", unref(placeholder))} data-v-685c0ff5>${ssrInterpolate(unref(input))}</textarea>`);
11359
+ _push(`<textarea class="composer-input" rows="1"${ssrRenderAttr("placeholder", unref(placeholder))} data-v-b1f25582>${ssrInterpolate(unref(input))}</textarea>`);
11251
11360
  _push(ssrRenderComponent(ComposerToolbar_default, {
11252
11361
  mode: unref(mode),
11253
11362
  "onUpdate:mode": ($event) => isRef(mode) ? mode.value = $event : null,
@@ -11284,7 +11393,7 @@ Composer_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
11284
11393
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/Composer.vue");
11285
11394
  return _sfc_setup$6 ? _sfc_setup$6(props, ctx) : void 0;
11286
11395
  };
11287
- var Composer_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(Composer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-685c0ff5"]]), { __name: "WorkshopComposer" });
11396
+ var Composer_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(Composer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-b1f25582"]]), { __name: "WorkshopComposer" });
11288
11397
  //#endregion
11289
11398
  //#region app/components/workshop/AgentInspectorDrawer.vue?vue&type=script&setup=true&lang.ts
11290
11399
  var DRAWER_W_DEFAULT$2 = 520;
@@ -12016,11 +12125,11 @@ var TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
12016
12125
  const ts = new Date(value).getTime();
12017
12126
  if (!Number.isFinite(ts)) return value;
12018
12127
  const delta = ts - Date.now();
12019
- if (delta <= 0) return "已超时";
12128
+ if (delta <= 0) return t("taskInspectorDrawer.timedOut");
12020
12129
  const mins = Math.ceil(delta / 6e4);
12021
- return mins < 60 ? `剩余约 ${mins} 分钟` : `截止 ${formatLocalClock(value)}`;
12130
+ return mins < 60 ? t("taskInspectorDrawer.remainingMinutes", { p0: mins }) : t("taskInspectorDrawer.deadlineAt", { p0: formatLocalClock(value) });
12022
12131
  });
12023
- const cancelTitle = computed(() => childHealth.value.total > 0 ? `这会同时停止 ${childHealth.value.active} 个活动后代任务,已完成结果会保留。确定继续?` : "确定取消这个任务吗?");
12132
+ const cancelTitle = computed(() => childHealth.value.total > 0 ? t("taskInspectorDrawer.cancelWithChildren", { p0: childHealth.value.active }) : t("taskInspectorDrawer.cancelConfirm"));
12024
12133
  /** AEP 状态时间线重放 */
12025
12134
  const timeline = computed(() => {
12026
12135
  if (!props.taskId) return [];
@@ -12110,7 +12219,7 @@ var TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
12110
12219
  default: withCtx((_, _push, _parent, _scopeId) => {
12111
12220
  if (_push) {
12112
12221
  if (unref(detail) || unref(taskView)) {
12113
- _push(`<!--[--><div class="head" data-v-25f7d667${_scopeId}>`);
12222
+ _push(`<!--[--><div class="head" data-v-9b700ecf${_scopeId}>`);
12114
12223
  _push(ssrRenderComponent(_component_a_tag, { color: stateColor[unref(taskView)?.state ?? unref(detail)?.state ?? ""] ?? "default" }, {
12115
12224
  default: withCtx((_, _push, _parent, _scopeId) => {
12116
12225
  if (_push) _push(`${ssrInterpolate(unref(taskView)?.state ?? unref(detail)?.state)}`);
@@ -12118,7 +12227,7 @@ var TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
12118
12227
  }),
12119
12228
  _: 1
12120
12229
  }, _parent, _scopeId));
12121
- _push(`<span class="meta" data-v-25f7d667${_scopeId}>${ssrInterpolate(_ctx.$t("taskInspectorDrawer.k3o48o4010"))}${ssrInterpolate(agentName(unref(taskView)?.assigneeId ?? unref(detail)?.assigneeId ?? ""))}</span><span class="meta" data-v-25f7d667${_scopeId}>${ssrInterpolate(unref(taskView)?.progress ?? unref(detail)?.progress ?? 0)}%</span><div class="spacer" data-v-25f7d667${_scopeId}></div>`);
12230
+ _push(`<span class="meta" data-v-9b700ecf${_scopeId}>${ssrInterpolate(_ctx.$t("taskInspectorDrawer.k3o48o4010"))}${ssrInterpolate(agentName(unref(taskView)?.assigneeId ?? unref(detail)?.assigneeId ?? ""))}</span><span class="meta" data-v-9b700ecf${_scopeId}>${ssrInterpolate(unref(taskView)?.progress ?? unref(detail)?.progress ?? 0)}%</span><div class="spacer" data-v-9b700ecf${_scopeId}></div>`);
12122
12231
  if ((unref(taskView)?.state ?? unref(detail)?.state) === "FAILED") _push(ssrRenderComponent(_component_a_popconfirm, {
12123
12232
  title: _ctx.$t("taskInspectorDrawer.kns2a6x002"),
12124
12233
  onConfirm: retry
@@ -12183,15 +12292,19 @@ var TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
12183
12292
  _: 1
12184
12293
  }, _parent, _scopeId));
12185
12294
  _push(`</div>`);
12186
- if ((unref(taskView)?.state ?? unref(detail)?.state) === "FAILED" && unref(failureReason)) _push(`<div class="failure-reason" data-v-25f7d667${_scopeId}><span class="fr-label" data-v-25f7d667${_scopeId}>${ssrInterpolate(_ctx.$t("taskInspectorDrawer.failReason"))}</span><span class="fr-text" data-v-25f7d667${_scopeId}>${ssrInterpolate(unref(failureReason))}</span></div>`);
12295
+ if ((unref(taskView)?.state ?? unref(detail)?.state) === "FAILED" && unref(failureReason)) _push(`<div class="failure-reason" data-v-9b700ecf${_scopeId}><span class="fr-label" data-v-9b700ecf${_scopeId}>${ssrInterpolate(_ctx.$t("taskInspectorDrawer.failReason"))}</span><span class="fr-text" data-v-9b700ecf${_scopeId}>${ssrInterpolate(unref(failureReason))}</span></div>`);
12187
12296
  else _push(`<!---->`);
12188
12297
  if (unref(deadlineLabel) || unref(detail)?.closeReason || unref(childHealth).total > 0) {
12189
- _push(`<div class="guardrail-strip" data-v-25f7d667${_scopeId}>`);
12190
- if (unref(deadlineLabel)) _push(`<span class="guardrail-chip deadline" data-v-25f7d667${_scopeId}><span class="i-tabler-hourglass-high" data-v-25f7d667${_scopeId}></span> ${ssrInterpolate(unref(deadlineLabel))}</span>`);
12298
+ _push(`<div class="guardrail-strip" data-v-9b700ecf${_scopeId}>`);
12299
+ if (unref(deadlineLabel)) _push(`<span class="guardrail-chip deadline" data-v-9b700ecf${_scopeId}><span class="i-tabler-hourglass-high" data-v-9b700ecf${_scopeId}></span> ${ssrInterpolate(unref(deadlineLabel))}</span>`);
12191
12300
  else _push(`<!---->`);
12192
- if (unref(detail)?.closeReason) _push(`<span class="guardrail-chip reason" data-v-25f7d667${_scopeId}><span class="i-tabler-lock-square-rounded" data-v-25f7d667${_scopeId}></span> ${ssrInterpolate(unref(detail).closeReason)}</span>`);
12301
+ if (unref(detail)?.closeReason) _push(`<span class="guardrail-chip reason" data-v-9b700ecf${_scopeId}><span class="i-tabler-lock-square-rounded" data-v-9b700ecf${_scopeId}></span> ${ssrInterpolate(unref(detail).closeReason)}</span>`);
12193
12302
  else _push(`<!---->`);
12194
- if (unref(childHealth).total > 0) _push(`<span class="guardrail-chip tree" data-v-25f7d667${_scopeId}><span class="i-tabler-git-branch" data-v-25f7d667${_scopeId}></span> 后代 ${ssrInterpolate(unref(childHealth).total)} · 活动 ${ssrInterpolate(unref(childHealth).active)} · 已取消 ${ssrInterpolate(unref(childHealth).canceled)}</span>`);
12303
+ if (unref(childHealth).total > 0) _push(`<span class="guardrail-chip tree" data-v-9b700ecf${_scopeId}><span class="i-tabler-git-branch" data-v-9b700ecf${_scopeId}></span> ${ssrInterpolate(_ctx.$t("taskInspectorDrawer.childrenStats", {
12304
+ p0: unref(childHealth).total,
12305
+ p1: unref(childHealth).active,
12306
+ p2: unref(childHealth).canceled
12307
+ }))}</span>`);
12195
12308
  else _push(`<!---->`);
12196
12309
  _push(`</div>`);
12197
12310
  } else _push(`<!---->`);
@@ -12216,7 +12329,7 @@ var TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
12216
12329
  _: 1
12217
12330
  }, _parent, _scopeId));
12218
12331
  else _push(`<!---->`);
12219
- if (unref(detail)?.routeReason) _push(`<div class="route-reason" data-v-25f7d667${_scopeId}><span class="route-label" data-v-25f7d667${_scopeId}>${ssrInterpolate(_ctx.$t("taskInspectorDrawer.k1knph8c007"))}</span><span class="route-text" data-v-25f7d667${_scopeId}>${ssrInterpolate(unref(detail).routeReason)}</span></div>`);
12332
+ if (unref(detail)?.routeReason) _push(`<div class="route-reason" data-v-9b700ecf${_scopeId}><span class="route-label" data-v-9b700ecf${_scopeId}>${ssrInterpolate(_ctx.$t("taskInspectorDrawer.k1knph8c007"))}</span><span class="route-text" data-v-9b700ecf${_scopeId}>${ssrInterpolate(unref(detail).routeReason)}</span></div>`);
12220
12333
  else _push(`<!---->`);
12221
12334
  _push(ssrRenderComponent(_component_a_tabs, {
12222
12335
  size: "small",
@@ -12230,11 +12343,11 @@ var TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
12230
12343
  }, {
12231
12344
  default: withCtx((_, _push, _parent, _scopeId) => {
12232
12345
  if (_push) {
12233
- if (unref(timeline).length === 0) _push(`<div class="empty" data-v-25f7d667${_scopeId}>${ssrInterpolate(_ctx.$t("taskInspectorDrawer.kr3vr2x008"))}</div>`);
12346
+ if (unref(timeline).length === 0) _push(`<div class="empty" data-v-9b700ecf${_scopeId}>${ssrInterpolate(_ctx.$t("taskInspectorDrawer.kr3vr2x008"))}</div>`);
12234
12347
  else _push(`<!---->`);
12235
12348
  _push(`<!--[-->`);
12236
12349
  ssrRenderList(unref(timeline), (e) => {
12237
- _push(`<div class="tl-row" data-v-25f7d667${_scopeId}><span class="tl-time" data-v-25f7d667${_scopeId}>${ssrInterpolate(unref(formatLocalClock)(e.at))}</span>`);
12350
+ _push(`<div class="tl-row" data-v-9b700ecf${_scopeId}><span class="tl-time" data-v-9b700ecf${_scopeId}>${ssrInterpolate(unref(formatLocalClock)(e.at))}</span>`);
12238
12351
  if (e.type === "task.status") _push(ssrRenderComponent(_component_a_tag, {
12239
12352
  color: stateColor[e.payload.state] ?? "default",
12240
12353
  class: "state"
@@ -12245,7 +12358,7 @@ var TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
12245
12358
  }),
12246
12359
  _: 2
12247
12360
  }, _parent, _scopeId));
12248
- else _push(`<span class="tl-progress" data-v-25f7d667${_scopeId}>${ssrInterpolate(_ctx.$t("taskInspectorDrawer.k485ye011"))} ${ssrInterpolate(e.payload.progress)}%</span>`);
12361
+ else _push(`<span class="tl-progress" data-v-9b700ecf${_scopeId}>${ssrInterpolate(_ctx.$t("taskInspectorDrawer.k485ye011"))} ${ssrInterpolate(e.payload.progress)}%</span>`);
12249
12362
  _push(`</div>`);
12250
12363
  });
12251
12364
  _push(`<!--]-->`);
@@ -12277,7 +12390,7 @@ var TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
12277
12390
  }, {
12278
12391
  default: withCtx((_, _push, _parent, _scopeId) => {
12279
12392
  if (_push) {
12280
- if (!unref(detail)?.artifacts.length) _push(`<div class="empty" data-v-25f7d667${_scopeId}> (${ssrInterpolate(_ctx.$t("taskInspectorDrawer.k401n2012"))}</div>`);
12393
+ if (!unref(detail)?.artifacts.length) _push(`<div class="empty" data-v-9b700ecf${_scopeId}> (${ssrInterpolate(_ctx.$t("taskInspectorDrawer.k401n2012"))}</div>`);
12281
12394
  else _push(`<!---->`);
12282
12395
  _push(`<!--[-->`);
12283
12396
  ssrRenderList(unref(detail)?.artifacts ?? [], (a) => {
@@ -12305,11 +12418,11 @@ var TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
12305
12418
  }, {
12306
12419
  default: withCtx((_, _push, _parent, _scopeId) => {
12307
12420
  if (_push) {
12308
- if (unref(children).length === 0) _push(`<div class="empty" data-v-25f7d667${_scopeId}>${ssrInterpolate(_ctx.$t("taskInspectorDrawer.k1kmqn5u009"))}</div>`);
12421
+ if (unref(children).length === 0) _push(`<div class="empty" data-v-9b700ecf${_scopeId}>${ssrInterpolate(_ctx.$t("taskInspectorDrawer.k1kmqn5u009"))}</div>`);
12309
12422
  else _push(`<!---->`);
12310
12423
  _push(`<!--[-->`);
12311
12424
  ssrRenderList(unref(children), (c) => {
12312
- _push(`<div class="child-row" data-v-25f7d667${_scopeId}>`);
12425
+ _push(`<div class="child-row" data-v-9b700ecf${_scopeId}>`);
12313
12426
  _push(ssrRenderComponent(_component_a_tag, {
12314
12427
  color: stateColor[c.state] ?? "default",
12315
12428
  class: "state"
@@ -12320,7 +12433,7 @@ var TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
12320
12433
  }),
12321
12434
  _: 2
12322
12435
  }, _parent, _scopeId));
12323
- _push(`<span class="child-title" data-v-25f7d667${_scopeId}>${ssrInterpolate(c.title)}</span><span class="child-meta" data-v-25f7d667${_scopeId}>${ssrInterpolate(agentName(c.assigneeId))} · ${ssrInterpolate(c.progress)}%</span></div>`);
12436
+ _push(`<span class="child-title" data-v-9b700ecf${_scopeId}>${ssrInterpolate(c.title)}</span><span class="child-meta" data-v-9b700ecf${_scopeId}>${ssrInterpolate(agentName(c.assigneeId))} · ${ssrInterpolate(c.progress)}%</span></div>`);
12324
12437
  });
12325
12438
  _push(`<!--]-->`);
12326
12439
  } else return [unref(children).length === 0 ? (openBlock(), createBlock("div", {
@@ -12350,7 +12463,7 @@ var TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
12350
12463
  tab: _ctx.$t("taskInspectorDrawer.kxj74io017", { p0: unref(detail)?.artifacts.reduce((n, a) => n + a.parts.length, 0) ?? 0 })
12351
12464
  }, {
12352
12465
  default: withCtx((_, _push, _parent, _scopeId) => {
12353
- if (_push) _push(`<pre class="raw" data-v-25f7d667${_scopeId}>${ssrInterpolate(JSON.stringify(unref(detail)?.artifacts, null, 2)?.slice(0, 4e3))}</pre>`);
12466
+ if (_push) _push(`<pre class="raw" data-v-9b700ecf${_scopeId}>${ssrInterpolate(JSON.stringify(unref(detail)?.artifacts, null, 2)?.slice(0, 4e3))}</pre>`);
12354
12467
  else return [createVNode("pre", { class: "raw" }, toDisplayString(JSON.stringify(unref(detail)?.artifacts, null, 2)?.slice(0, 4e3)), 1)];
12355
12468
  }),
12356
12469
  _: 1
@@ -12496,7 +12609,11 @@ var TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
12496
12609
  unref(childHealth).total > 0 ? (openBlock(), createBlock("span", {
12497
12610
  key: 2,
12498
12611
  class: "guardrail-chip tree"
12499
- }, [createVNode("span", { class: "i-tabler-git-branch" }), createTextVNode(" 后代 " + toDisplayString(unref(childHealth).total) + " · 活动 " + toDisplayString(unref(childHealth).active) + " · 已取消 " + toDisplayString(unref(childHealth).canceled), 1)])) : createCommentVNode("", true)
12612
+ }, [createVNode("span", { class: "i-tabler-git-branch" }), createTextVNode(" " + toDisplayString(_ctx.$t("taskInspectorDrawer.childrenStats", {
12613
+ p0: unref(childHealth).total,
12614
+ p1: unref(childHealth).active,
12615
+ p2: unref(childHealth).canceled
12616
+ })), 1)])) : createCommentVNode("", true)
12500
12617
  ])) : createCommentVNode("", true),
12501
12618
  unref(detail)?.description ? (openBlock(), createBlock(_component_a_descriptions, {
12502
12619
  key: 2,
@@ -12667,7 +12784,11 @@ var TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
12667
12784
  unref(childHealth).total > 0 ? (openBlock(), createBlock("span", {
12668
12785
  key: 2,
12669
12786
  class: "guardrail-chip tree"
12670
- }, [createVNode("span", { class: "i-tabler-git-branch" }), createTextVNode(" 后代 " + toDisplayString(unref(childHealth).total) + " · 活动 " + toDisplayString(unref(childHealth).active) + " · 已取消 " + toDisplayString(unref(childHealth).canceled), 1)])) : createCommentVNode("", true)
12787
+ }, [createVNode("span", { class: "i-tabler-git-branch" }), createTextVNode(" " + toDisplayString(_ctx.$t("taskInspectorDrawer.childrenStats", {
12788
+ p0: unref(childHealth).total,
12789
+ p1: unref(childHealth).active,
12790
+ p2: unref(childHealth).canceled
12791
+ })), 1)])) : createCommentVNode("", true)
12671
12792
  ])) : createCommentVNode("", true),
12672
12793
  unref(detail)?.description ? (openBlock(), createBlock(_component_a_descriptions, {
12673
12794
  key: 2,
@@ -12782,7 +12903,7 @@ TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default.setup = (props,
12782
12903
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/workshop/TaskInspectorDrawer.vue");
12783
12904
  return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0;
12784
12905
  };
12785
- var TaskInspectorDrawer_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-25f7d667"]]), { __name: "WorkshopTaskInspectorDrawer" });
12906
+ var TaskInspectorDrawer_default = /*#__PURE__*/ Object.assign(_plugin_vue_export_helper_default(TaskInspectorDrawer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-9b700ecf"]]), { __name: "WorkshopTaskInspectorDrawer" });
12786
12907
  //#endregion
12787
12908
  //#region app/components/workshop/A2aRpcDebugger.vue?vue&type=script&setup=true&lang.ts
12788
12909
  var DRAWER_W_DEFAULT = 600;
@@ -13495,4 +13616,4 @@ _wsId__vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
13495
13616
  var _wsId__default = /*#__PURE__*/ _plugin_vue_export_helper_default(_wsId__vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-18e1cc65"]]);
13496
13617
 
13497
13618
  export { _wsId__default as default };
13498
- //# sourceMappingURL=_wsId_-C4L9fVHC.mjs.map
13619
+ //# sourceMappingURL=_wsId_-BUIKB68b.mjs.map