agentworkshop 0.7.24 → 0.7.33

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 (1057) hide show
  1. package/.AgentWorkShop/prompts/aml-mission-default.md +20 -0
  2. package/.AgentWorkShop/prompts/aml-playbook.md +49 -0
  3. package/.AgentWorkShop/prompts/host-tools.json +314 -0
  4. package/.output/.AgentWorkShop/prompts/aml-mission-default.md +20 -0
  5. package/.output/.AgentWorkShop/prompts/aml-playbook.md +49 -0
  6. package/.output/.AgentWorkShop/prompts/host-tools.json +314 -0
  7. package/.output/.AgentWorkShop/schema.json +120 -0
  8. package/.output/nitro.json +1 -1
  9. package/.output/public/_nuxt/{Djir5rSD.js → 4bHdIqEg.js} +8 -8
  10. package/.output/public/_nuxt/B7gZokg82.js +209 -0
  11. package/.output/public/_nuxt/B9nXmjSB.js +19 -0
  12. package/.output/public/_nuxt/BASN8nZ0.js +1 -0
  13. package/.output/public/_nuxt/{DNQF_TXX.js → BBBtwOpo.js} +1 -1
  14. package/.output/public/_nuxt/{DoAlYsiF.js → BBwMH_hG.js} +1 -1
  15. package/.output/public/_nuxt/BWSE6hR6.js +1 -0
  16. package/.output/public/_nuxt/BZv4RFYN.js +1 -0
  17. package/.output/public/_nuxt/Bc0AmjfT.js +1 -0
  18. package/.output/public/_nuxt/BcmbLh2z2.js +1 -0
  19. package/.output/public/_nuxt/BgTB6h_q.js +2 -0
  20. package/.output/public/_nuxt/BkLJA9J5.js +1 -0
  21. package/.output/public/_nuxt/{CuVGPuP1.js → BuCHayqN.js} +1 -1
  22. package/.output/public/_nuxt/{0jKrzLuM.js → BuvcLKh1.js} +1 -1
  23. package/.output/public/_nuxt/C-mDhyEd.js +1 -0
  24. package/.output/public/_nuxt/{Ct68Z0232.js → C77oC8yC2.js} +2 -2
  25. package/.output/public/_nuxt/CQvmN-Mi.js +1 -0
  26. package/.output/public/_nuxt/CUDrOuW7.js +1 -0
  27. package/.output/public/_nuxt/{Coik560n.js → CZcC-gpk.js} +1 -1
  28. package/.output/public/_nuxt/{Cz9gD2Yo.js → CbzsPO5H.js} +1 -1
  29. package/.output/public/_nuxt/CdSOrh2c.js +1 -0
  30. package/.output/public/_nuxt/Cgx818r-.js +1 -0
  31. package/.output/public/_nuxt/Cjm7VogC.js +1 -0
  32. package/.output/public/_nuxt/Cm5mDxzH.js +1 -0
  33. package/.output/public/_nuxt/Cp6z0RN7.js +1 -0
  34. package/.output/public/_nuxt/Ct-WOVr4.js +1 -0
  35. package/.output/public/_nuxt/CwqIxJGj.js +2 -0
  36. package/.output/public/_nuxt/{BMb80_tm.js → D0fhp-Ga.js} +2 -2
  37. package/.output/public/_nuxt/DIaTPH1M.js +1 -0
  38. package/.output/public/_nuxt/DLljr7g0.js +1 -0
  39. package/.output/public/_nuxt/DTYBfjRY.js +1 -0
  40. package/.output/public/_nuxt/DYKVPzN-.js +1 -0
  41. package/.output/public/_nuxt/DZzGarBE2.js +13 -0
  42. package/.output/public/_nuxt/DaMCzQhv.js +1 -0
  43. package/.output/public/_nuxt/DoMxCWN52.js +4 -0
  44. package/.output/public/_nuxt/{kZV5TQvh2.js → DoTdlVVe2.js} +1 -1
  45. package/.output/public/_nuxt/DsVcWfyR.js +1 -0
  46. package/.output/public/_nuxt/{BCJFMBQ6.js → DzuC31-i.js} +2 -2
  47. package/.output/public/_nuxt/FQri3dV3.js +1 -0
  48. package/.output/public/_nuxt/Lp7Ll94I.js +1 -0
  49. package/.output/public/_nuxt/PluginSlot.DmjNbrcX.css +1 -0
  50. package/.output/public/_nuxt/{TownView.zu2rU5nS.css → TownView.CtskuMXS.css} +1 -1
  51. package/.output/public/_nuxt/_id_.hRYo-EAB.css +1 -0
  52. package/.output/public/_nuxt/_wsId_.gXMEOYgX.css +1 -0
  53. package/.output/public/_nuxt/agents.BV70ioCv.css +1 -0
  54. package/.output/public/_nuxt/aml.WU_bh87J.css +1 -0
  55. package/.output/public/_nuxt/builds/latest.json +1 -1
  56. package/.output/public/_nuxt/builds/meta/291ef3e6-fa6a-4dee-8f46-05da1aeab815.json +1 -0
  57. package/.output/public/_nuxt/daq.Bb6l44-O.css +1 -0
  58. package/.output/public/_nuxt/default.jNT73_hq.css +1 -0
  59. package/.output/public/_nuxt/ekuGmQ7R.js +1 -0
  60. package/.output/public/_nuxt/entry.jFrFAWuA.css +1 -0
  61. package/.output/public/_nuxt/pMoIO6rr.js +14 -0
  62. package/.output/public/_nuxt/pages.Cc8GX9T1.css +1 -0
  63. package/.output/public/_nuxt/plugins.wIPyfPn-.css +1 -0
  64. package/.output/public/_nuxt/settings.BCm4NZIc.css +1 -0
  65. package/.output/public/_nuxt/teams.BC75EGnR.css +1 -0
  66. package/.output/public/assets/game/character/yangyang-walk.glb +0 -0
  67. package/.output/server/chunks/_/binding-authz.mjs +23 -0
  68. package/.output/server/chunks/_/binding-authz.mjs.map +1 -0
  69. package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
  70. package/.output/server/chunks/_/host-bindings.mjs +1 -1
  71. package/.output/server/chunks/_/nitro.mjs +14422 -7551
  72. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  73. package/.output/server/chunks/_/scene-layout.repo.mjs +3 -3
  74. package/.output/server/chunks/_/scene-layout.repo.mjs.map +1 -1
  75. package/.output/server/chunks/build/Checkbox-eax2M3o-.mjs +207 -0
  76. package/.output/server/chunks/build/Checkbox-eax2M3o-.mjs.map +1 -0
  77. package/.output/server/chunks/build/{OmpTerminalPanel-Cw_Vw9oO.mjs → OmpTerminalPanel-Cu_s4i0A.mjs} +2 -2
  78. package/.output/server/chunks/build/{OmpTerminalPanel-Cw_Vw9oO.mjs.map → OmpTerminalPanel-Cu_s4i0A.mjs.map} +1 -1
  79. package/.output/server/chunks/build/{alert-qJnjyRcP.mjs → PluginSlot-CcR4Ys3T.mjs} +140 -4
  80. package/.output/server/chunks/build/PluginSlot-CcR4Ys3T.mjs.map +1 -0
  81. package/.output/server/chunks/build/{TownView-DxeQe1Bl.mjs → TownView-BdHnAilw.mjs} +178 -151
  82. package/.output/server/chunks/build/{TownView-DxeQe1Bl.mjs.map → TownView-BdHnAilw.mjs.map} +1 -1
  83. package/.output/server/chunks/build/{_id_-DY6v6sqB.mjs → _id_-Cb845FHR.mjs} +7 -5
  84. package/.output/server/chunks/build/_id_-Cb845FHR.mjs.map +1 -0
  85. package/.output/server/chunks/build/{_id_-DQDqj-cZ.mjs → _id_-fadFPl2i.mjs} +50 -35
  86. package/.output/server/chunks/build/_id_-fadFPl2i.mjs.map +1 -0
  87. package/.output/server/chunks/build/{_wsId_-D38Vx6Ky.mjs → _wsId_-CTZswnm5.mjs} +181 -22
  88. package/.output/server/chunks/build/{_wsId_-D38Vx6Ky.mjs.map → _wsId_-CTZswnm5.mjs.map} +1 -1
  89. package/.output/server/chunks/build/{agents-GnmUGZir.mjs → agents-Bvin73QY.mjs} +82 -32
  90. package/.output/server/chunks/build/agents-Bvin73QY.mjs.map +1 -0
  91. package/.output/server/chunks/build/aml-uBNIppIf.mjs +508 -0
  92. package/.output/server/chunks/build/aml-uBNIppIf.mjs.map +1 -0
  93. package/.output/server/chunks/build/apiClient-BwnfOQU8.mjs +81 -0
  94. package/.output/server/chunks/build/apiClient-BwnfOQU8.mjs.map +1 -0
  95. package/.output/server/chunks/build/{channel-templates-B4z6v8Z5.mjs → channel-templates-BTq8570n.mjs} +6 -5
  96. package/.output/server/chunks/build/channel-templates-BTq8570n.mjs.map +1 -0
  97. package/.output/server/chunks/build/{checkbox-dzcpU_Cd.mjs → checkbox-8fB-wI-T.mjs} +5 -5
  98. package/.output/server/chunks/build/{checkbox-dzcpU_Cd.mjs.map → checkbox-8fB-wI-T.mjs.map} +1 -1
  99. package/.output/server/chunks/build/{daq-B-3xCp_2.mjs → daq-BvihjQyW.mjs} +314 -426
  100. package/.output/server/chunks/build/daq-BvihjQyW.mjs.map +1 -0
  101. package/.output/server/chunks/build/{dcw-BL2dhuz7.mjs → dcw-Ks2vJ4PF.mjs} +5 -3
  102. package/.output/server/chunks/build/dcw-Ks2vJ4PF.mjs.map +1 -0
  103. package/.output/server/chunks/build/{default-CLf5m0NE.mjs → default-GgHt4O2R.mjs} +164 -101
  104. package/.output/server/chunks/build/{default-CLf5m0NE.mjs.map → default-GgHt4O2R.mjs.map} +1 -1
  105. package/.output/server/chunks/build/{input-number-Bd55elNN.mjs → input-number-DzpyYB99.mjs} +2 -2
  106. package/.output/server/chunks/build/{input-number-Bd55elNN.mjs.map → input-number-DzpyYB99.mjs.map} +1 -1
  107. package/.output/server/chunks/build/{logs-Dto_umFY.mjs → logs-CYBhkQwh.mjs} +5 -3
  108. package/.output/server/chunks/build/logs-CYBhkQwh.mjs.map +1 -0
  109. package/.output/server/chunks/build/{monitor-Cp4V-H2n.mjs → monitor-CyfDt4nR.mjs} +7 -6
  110. package/.output/server/chunks/build/{monitor-Cp4V-H2n.mjs.map → monitor-CyfDt4nR.mjs.map} +1 -1
  111. package/.output/server/chunks/build/{pages-Dc2H1QFu.mjs → pages-C-6BRtv8.mjs} +57 -47
  112. package/.output/server/chunks/build/pages-C-6BRtv8.mjs.map +1 -0
  113. package/.output/server/chunks/build/{permissions-BTRW2CVd.mjs → permissions-B52oOmaO.mjs} +6 -5
  114. package/.output/server/chunks/build/permissions-B52oOmaO.mjs.map +1 -0
  115. package/.output/server/chunks/build/{plugins-DZR0T4Mh.mjs → plugins-dZRegC7m.mjs} +22 -18
  116. package/.output/server/chunks/build/plugins-dZRegC7m.mjs.map +1 -0
  117. package/.output/server/chunks/build/{segmented-LPPREMtZ.mjs → segmented-3TrWo0lS.mjs} +3 -3
  118. package/.output/server/chunks/build/{segmented-LPPREMtZ.mjs.map → segmented-3TrWo0lS.mjs.map} +1 -1
  119. package/.output/server/chunks/build/settings-CgDLkP3s.mjs +1171 -0
  120. package/.output/server/chunks/build/settings-CgDLkP3s.mjs.map +1 -0
  121. package/.output/server/chunks/build/{table-Cswq-l2r.mjs → table-BjSWwmic.mjs} +4 -4
  122. package/.output/server/chunks/build/{table-Cswq-l2r.mjs.map → table-BjSWwmic.mjs.map} +1 -1
  123. package/.output/server/chunks/build/{tag-NO9jEqKy.mjs → tag-DNE9vXc0.mjs} +3 -131
  124. package/.output/server/chunks/build/tag-DNE9vXc0.mjs.map +1 -0
  125. package/.output/server/chunks/build/{teams-Cbg27MWW.mjs → teams-2kz3CusY.mjs} +350 -49
  126. package/.output/server/chunks/build/teams-2kz3CusY.mjs.map +1 -0
  127. package/.output/server/chunks/build/{tokens-Bmm6rDfj.mjs → tokens-BbWLqtVz.mjs} +6 -5
  128. package/.output/server/chunks/build/tokens-BbWLqtVz.mjs.map +1 -0
  129. package/.output/server/chunks/build/town-BUqRobze.mjs +1 -0
  130. package/.output/server/chunks/build/town-BUqRobze.mjs.map +1 -1
  131. package/.output/server/chunks/build/{town-Dsh0jlwZ.mjs → town-DJ-V5G9U.mjs} +7 -5
  132. package/.output/server/chunks/build/town-DJ-V5G9U.mjs.map +1 -0
  133. package/.output/server/chunks/build/{useDaqStream-DkRL3tEW.mjs → useDaqStream-CIBaiGAl.mjs} +27 -11
  134. package/.output/server/chunks/build/useDaqStream-CIBaiGAl.mjs.map +1 -0
  135. package/.output/server/chunks/build/{useDcwStream-DyB2ufQI.mjs → useDcwStream-CBbiYnWe.mjs} +16 -84
  136. package/.output/server/chunks/build/useDcwStream-CBbiYnWe.mjs.map +1 -0
  137. package/.output/server/chunks/build/{useDeviceTwins-ZbT86L9O.mjs → useDeviceTwins-Yko6nNPF.mjs} +2 -2
  138. package/.output/server/chunks/build/{useDeviceTwins-ZbT86L9O.mjs.map → useDeviceTwins-Yko6nNPF.mjs.map} +1 -1
  139. package/.output/server/chunks/build/{useOpsLog-8HCYFb6n.mjs → useOpsLog-CO_VWh7t.mjs} +2 -2
  140. package/.output/server/chunks/build/{useOpsLog-8HCYFb6n.mjs.map → useOpsLog-CO_VWh7t.mjs.map} +1 -1
  141. package/.output/server/chunks/build/{useWorkshopApi-D2gq06N2.mjs → useWorkshopApi-NyjL0L3j.mjs} +11 -2
  142. package/.output/server/chunks/build/{useWorkshopApi-D2gq06N2.mjs.map → useWorkshopApi-NyjL0L3j.mjs.map} +1 -1
  143. package/.output/server/chunks/build/{users-B50HHrfi.mjs → users-4nzxTjFT.mjs} +6 -5
  144. package/.output/server/chunks/build/users-4nzxTjFT.mjs.map +1 -0
  145. package/.output/server/chunks/build/workshop-81xhz368.mjs +1 -0
  146. package/.output/server/chunks/build/workshop-81xhz368.mjs.map +1 -1
  147. package/.output/server/chunks/routes/api/health.get.mjs +1 -0
  148. package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
  149. package/.output/server/chunks/routes/api/index.get.mjs +1 -1
  150. package/.output/server/chunks/routes/api/index.post.mjs +1 -1
  151. package/.output/server/chunks/routes/api/metrics.mjs +1 -0
  152. package/.output/server/chunks/routes/api/metrics.mjs.map +1 -1
  153. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +15 -2
  154. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs.map +1 -1
  155. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +1 -0
  156. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs.map +1 -1
  157. package/.output/server/chunks/routes/api/plugins/i18n.get.mjs +26 -0
  158. package/.output/server/chunks/routes/api/plugins/i18n.get.mjs.map +1 -0
  159. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +2 -1
  160. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs.map +1 -1
  161. package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs +32 -0
  162. package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs.map +1 -0
  163. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs +36 -0
  164. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs.map +1 -0
  165. package/.output/server/chunks/routes/api/system/config.get.mjs +1 -0
  166. package/.output/server/chunks/routes/api/system/config.get.mjs.map +1 -1
  167. package/.output/server/chunks/routes/api/system/index.get.mjs +7 -2
  168. package/.output/server/chunks/routes/api/system/index.get.mjs.map +1 -1
  169. package/.output/server/chunks/routes/api/system/index.patch.mjs +2 -1
  170. package/.output/server/chunks/routes/api/system/index.patch.mjs.map +1 -1
  171. package/.output/server/chunks/routes/api/system/index.post.mjs +36 -0
  172. package/.output/server/chunks/routes/api/system/index.post.mjs.map +1 -0
  173. package/.output/server/chunks/routes/api/system/index2.get.mjs +28 -0
  174. package/.output/server/chunks/routes/api/system/index2.get.mjs.map +1 -0
  175. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +2 -1
  176. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs.map +1 -1
  177. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +2 -1
  178. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs.map +1 -1
  179. package/.output/server/chunks/routes/api/system/monitor.get.mjs +1 -0
  180. package/.output/server/chunks/routes/api/system/monitor.get.mjs.map +1 -1
  181. package/.output/server/chunks/routes/api/system/settings/events.get.mjs +8 -5
  182. package/.output/server/chunks/routes/api/system/settings/events.get.mjs.map +1 -1
  183. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +2 -1
  184. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs.map +1 -1
  185. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +2 -1
  186. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
  187. package/.output/server/chunks/routes/api/users/_id_.get.mjs +2 -1
  188. package/.output/server/chunks/routes/api/users/_id_.get.mjs.map +1 -1
  189. package/.output/server/chunks/routes/api/users/_id_.put.mjs +1 -1
  190. package/.output/server/chunks/routes/api/users/index.get.mjs +2 -1
  191. package/.output/server/chunks/routes/api/users/index.get.mjs.map +1 -1
  192. package/.output/server/chunks/routes/api/users/index.post.mjs +1 -1
  193. package/.output/server/chunks/routes/api/users/login.post.mjs +1 -1
  194. package/.output/server/chunks/routes/api/users/logout.post.mjs +2 -1
  195. package/.output/server/chunks/routes/api/users/logout.post.mjs.map +1 -1
  196. package/.output/server/chunks/routes/api/users/me.get.mjs +2 -1
  197. package/.output/server/chunks/routes/api/users/me.get.mjs.map +1 -1
  198. package/.output/server/chunks/routes/api/users/register.post.mjs +1 -1
  199. package/.output/server/chunks/routes/api/users/setup-status.get.mjs +2 -1
  200. package/.output/server/chunks/routes/api/users/setup-status.get.mjs.map +1 -1
  201. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +2 -1
  202. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs.map +1 -1
  203. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +2 -1
  204. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs.map +1 -1
  205. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -1
  206. package/.output/server/chunks/routes/api/workshop/_...path_.mjs +2 -1
  207. package/.output/server/chunks/routes/api/workshop/_...path_.mjs.map +1 -1
  208. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +2 -1
  209. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs.map +1 -1
  210. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +1 -1
  211. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -1
  212. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +2 -1
  213. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs.map +1 -1
  214. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +5 -2
  215. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs.map +1 -1
  216. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +9 -3
  217. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs.map +1 -1
  218. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +2 -1
  219. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs.map +1 -1
  220. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +2 -1
  221. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs.map +1 -1
  222. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +23 -3
  223. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs.map +1 -1
  224. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +21 -3
  225. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs.map +1 -1
  226. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +2 -1
  227. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs.map +1 -1
  228. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +2 -1
  229. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs.map +1 -1
  230. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +2 -1
  231. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs.map +1 -1
  232. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +1 -1
  233. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -1
  234. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs +75 -0
  235. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs.map +1 -0
  236. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +35 -0
  237. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs.map +1 -0
  238. package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs +35 -0
  239. package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs.map +1 -0
  240. package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs +46 -0
  241. package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs.map +1 -0
  242. package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs +47 -0
  243. package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs.map +1 -0
  244. package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs +48 -0
  245. package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs.map +1 -0
  246. package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs +41 -0
  247. package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs.map +1 -0
  248. package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs +62 -0
  249. package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs.map +1 -0
  250. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs +35 -0
  251. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs.map +1 -0
  252. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs +36 -0
  253. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs.map +1 -0
  254. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs +34 -0
  255. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs.map +1 -0
  256. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs +38 -0
  257. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs.map +1 -0
  258. package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs +37 -0
  259. package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs.map +1 -0
  260. package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs +42 -0
  261. package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs.map +1 -0
  262. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +2 -1
  263. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs.map +1 -1
  264. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +2 -1
  265. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs.map +1 -1
  266. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +2 -1
  267. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs.map +1 -1
  268. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +2 -1
  269. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs.map +1 -1
  270. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +2 -1
  271. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs.map +1 -1
  272. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +1 -0
  273. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs.map +1 -1
  274. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +2 -1
  275. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs.map +1 -1
  276. package/.output/server/chunks/routes/api/workshop/audit.get.mjs +2 -1
  277. package/.output/server/chunks/routes/api/workshop/audit.get.mjs.map +1 -1
  278. package/.output/server/chunks/routes/api/workshop/caller.mjs +2 -1
  279. package/.output/server/chunks/routes/api/workshop/caller.mjs.map +1 -1
  280. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +2 -2
  281. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +2 -1
  282. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs.map +1 -1
  283. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +2 -1
  284. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs.map +1 -1
  285. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +1 -1
  286. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -1
  287. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +2 -1
  288. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs.map +1 -1
  289. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +2 -1
  290. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs.map +1 -1
  291. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -1
  292. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +2 -1
  293. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs.map +1 -1
  294. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -1
  295. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +2 -1
  296. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs.map +1 -1
  297. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +2 -1
  298. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs.map +1 -1
  299. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +2 -1
  300. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs.map +1 -1
  301. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +2 -1
  302. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs.map +1 -1
  303. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +2 -1
  304. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs.map +1 -1
  305. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +2 -1
  306. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs.map +1 -1
  307. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -1
  308. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +2 -1
  309. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs.map +1 -1
  310. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +1 -1
  311. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +41 -0
  312. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs.map +1 -0
  313. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +2 -1
  314. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs.map +1 -1
  315. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -1
  316. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +1 -1
  317. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +1 -1
  318. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +22 -9
  319. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs.map +1 -1
  320. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +1 -1
  321. package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +34 -0
  322. package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs.map +1 -0
  323. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +2 -1
  324. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs.map +1 -1
  325. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +2 -1
  326. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs.map +1 -1
  327. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +2 -1
  328. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs.map +1 -1
  329. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +1 -0
  330. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs.map +1 -1
  331. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +2 -1
  332. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs.map +1 -1
  333. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +1 -1
  334. package/.output/server/chunks/routes/api/workshop/channels.get.mjs +1 -0
  335. package/.output/server/chunks/routes/api/workshop/channels.get.mjs.map +1 -1
  336. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +16 -2
  337. package/.output/server/chunks/routes/api/workshop/channels.post.mjs.map +1 -1
  338. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +2 -1
  339. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs.map +1 -1
  340. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +2 -1
  341. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs.map +1 -1
  342. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +2 -1
  343. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs.map +1 -1
  344. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +2 -1
  345. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs.map +1 -1
  346. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +2 -1
  347. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs.map +1 -1
  348. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +2 -1
  349. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs.map +1 -1
  350. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +3 -1
  351. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs.map +1 -1
  352. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +2 -1
  353. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs.map +1 -1
  354. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +2 -1
  355. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs.map +1 -1
  356. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +2 -1
  357. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs.map +1 -1
  358. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +2 -1
  359. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs.map +1 -1
  360. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +2 -1
  361. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs.map +1 -1
  362. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +2 -1
  363. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs.map +1 -1
  364. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +2 -1
  365. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs.map +1 -1
  366. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +2 -1
  367. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs.map +1 -1
  368. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +2 -1
  369. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs.map +1 -1
  370. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +2 -1
  371. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs.map +1 -1
  372. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +2 -1
  373. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs.map +1 -1
  374. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +2 -1
  375. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs.map +1 -1
  376. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +2 -1
  377. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs.map +1 -1
  378. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +2 -1
  379. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs.map +1 -1
  380. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +2 -1
  381. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs.map +1 -1
  382. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +2 -1
  383. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs.map +1 -1
  384. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -1
  385. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs.map +1 -1
  386. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +7 -2
  387. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs.map +1 -1
  388. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +2 -1
  389. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs.map +1 -1
  390. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +2 -1
  391. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs.map +1 -1
  392. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +2 -1
  393. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs.map +1 -1
  394. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +2 -1
  395. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs.map +1 -1
  396. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +2 -1
  397. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs.map +1 -1
  398. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +2 -1
  399. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs.map +1 -1
  400. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +2 -1
  401. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs.map +1 -1
  402. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +2 -1
  403. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs.map +1 -1
  404. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +2 -1
  405. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs.map +1 -1
  406. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +2 -1
  407. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs.map +1 -1
  408. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +2 -1
  409. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs.map +1 -1
  410. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +2 -1
  411. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs.map +1 -1
  412. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +2 -1
  413. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs.map +1 -1
  414. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +2 -1
  415. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs.map +1 -1
  416. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +2 -1
  417. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs.map +1 -1
  418. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +2 -1
  419. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs.map +1 -1
  420. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +2 -1
  421. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs.map +1 -1
  422. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +2 -1
  423. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs.map +1 -1
  424. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +2 -1
  425. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs.map +1 -1
  426. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +2 -1
  427. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs.map +1 -1
  428. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +2 -1
  429. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs.map +1 -1
  430. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +2 -1
  431. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs.map +1 -1
  432. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +2 -1
  433. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs.map +1 -1
  434. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +2 -1
  435. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs.map +1 -1
  436. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +2 -1
  437. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs.map +1 -1
  438. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +2 -1
  439. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs.map +1 -1
  440. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +2 -1
  441. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs.map +1 -1
  442. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +2 -1
  443. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs.map +1 -1
  444. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs +2 -1
  445. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs.map +1 -1
  446. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +2 -1
  447. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs.map +1 -1
  448. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +2 -1
  449. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs.map +1 -1
  450. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +2 -1
  451. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs.map +1 -1
  452. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +2 -1
  453. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs.map +1 -1
  454. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +2 -1
  455. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs.map +1 -1
  456. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +2 -1
  457. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs.map +1 -1
  458. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +2 -1
  459. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs.map +1 -1
  460. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +2 -1
  461. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs.map +1 -1
  462. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +2 -1
  463. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs.map +1 -1
  464. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +2 -1
  465. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs.map +1 -1
  466. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +2 -1
  467. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs.map +1 -1
  468. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +32 -1
  469. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs.map +1 -1
  470. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +2 -1
  471. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs.map +1 -1
  472. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +2 -1
  473. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs.map +1 -1
  474. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +3 -2
  475. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs.map +1 -1
  476. package/.output/server/chunks/routes/api/workshop/index.get.mjs +1 -0
  477. package/.output/server/chunks/routes/api/workshop/index.get.mjs.map +1 -1
  478. package/.output/server/chunks/routes/api/workshop/index.post.mjs +1 -1
  479. package/.output/server/chunks/routes/api/workshop/index.put.mjs +2 -1
  480. package/.output/server/chunks/routes/api/workshop/index.put.mjs.map +1 -1
  481. package/.output/server/chunks/routes/api/workshop/index10.get.mjs +12 -6
  482. package/.output/server/chunks/routes/api/workshop/index10.get.mjs.map +1 -1
  483. package/.output/server/chunks/routes/api/workshop/index11.get.mjs +4 -2
  484. package/.output/server/chunks/routes/api/workshop/index11.get.mjs.map +1 -1
  485. package/.output/server/chunks/routes/api/workshop/index12.get.mjs +28 -0
  486. package/.output/server/chunks/routes/api/workshop/index12.get.mjs.map +1 -0
  487. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +17 -11
  488. package/.output/server/chunks/routes/api/workshop/index2.get.mjs.map +1 -1
  489. package/.output/server/chunks/routes/api/workshop/index2.post.mjs +1 -1
  490. package/.output/server/chunks/routes/api/workshop/index3.get.mjs +11 -4
  491. package/.output/server/chunks/routes/api/workshop/index3.get.mjs.map +1 -1
  492. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +2 -1
  493. package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
  494. package/.output/server/chunks/routes/api/workshop/index4.get.mjs +5 -27
  495. package/.output/server/chunks/routes/api/workshop/index4.get.mjs.map +1 -1
  496. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +2 -1
  497. package/.output/server/chunks/routes/api/workshop/index4.post.mjs.map +1 -1
  498. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +24 -18
  499. package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
  500. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +2 -1
  501. package/.output/server/chunks/routes/api/workshop/index5.post.mjs.map +1 -1
  502. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +23 -5
  503. package/.output/server/chunks/routes/api/workshop/index6.get.mjs.map +1 -1
  504. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +2 -1
  505. package/.output/server/chunks/routes/api/workshop/index6.post.mjs.map +1 -1
  506. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +4 -17
  507. package/.output/server/chunks/routes/api/workshop/index7.get.mjs.map +1 -1
  508. package/.output/server/chunks/routes/api/workshop/index7.post.mjs +8 -3
  509. package/.output/server/chunks/routes/api/workshop/index7.post.mjs.map +1 -1
  510. package/.output/server/chunks/routes/api/workshop/index8.get.mjs +20 -21
  511. package/.output/server/chunks/routes/api/workshop/index8.get.mjs.map +1 -1
  512. package/.output/server/chunks/routes/api/workshop/index8.post.mjs +1 -1
  513. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +24 -11
  514. package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
  515. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +1 -0
  516. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs.map +1 -1
  517. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +1 -0
  518. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs.map +1 -1
  519. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +2 -1
  520. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs.map +1 -1
  521. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +2 -1
  522. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs.map +1 -1
  523. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +2 -1
  524. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs.map +1 -1
  525. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +2 -1
  526. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs.map +1 -1
  527. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +1 -0
  528. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs.map +1 -1
  529. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +2 -1
  530. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs.map +1 -1
  531. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +2 -1
  532. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs.map +1 -1
  533. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +1 -0
  534. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs.map +1 -1
  535. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -1
  536. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -1
  537. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +2 -1
  538. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs.map +1 -1
  539. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -1
  540. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +2 -1
  541. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs.map +1 -1
  542. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +2 -1
  543. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs.map +1 -1
  544. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +1 -0
  545. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs.map +1 -1
  546. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +1 -1
  547. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +2 -1
  548. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs.map +1 -1
  549. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -1
  550. package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs +44 -0
  551. package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs.map +1 -0
  552. package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs +47 -0
  553. package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs.map +1 -0
  554. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +2 -1
  555. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs.map +1 -1
  556. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +2 -1
  557. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs.map +1 -1
  558. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +2 -1
  559. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs.map +1 -1
  560. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -1
  561. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +2 -0
  562. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs.map +1 -1
  563. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +1 -1
  564. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +2 -2
  565. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +1 -0
  566. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs.map +1 -1
  567. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +1 -0
  568. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs.map +1 -1
  569. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +1 -0
  570. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs.map +1 -1
  571. package/.output/server/chunks/routes/renderer.mjs +2 -2
  572. package/.output/server/chunks/virtual/entry.mjs +933 -449
  573. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  574. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  575. package/.output/server/index.mjs +1 -0
  576. package/.output/server/node_modules/@anthropic-ai/claude-agent-sdk/package.json +84 -0
  577. package/.output/server/node_modules/@anthropic-ai/claude-agent-sdk/sdk.mjs +225 -0
  578. package/.output/server/package.json +2 -1
  579. package/README-zh.md +507 -478
  580. package/README.md +517 -486
  581. package/app/app.vue +17 -2
  582. package/app/assets/css/main.css +421 -30
  583. package/app/components/AppHeader.vue +17 -0
  584. package/app/components/AppSidebar.vue +162 -63
  585. package/app/components/AwChart.vue +57 -54
  586. package/app/components/workshop/ChannelSessionList.vue +802 -703
  587. package/app/components/workshop/DaqNodeRow.vue +554 -0
  588. package/app/components/workshop/PluginSlot.vue +120 -0
  589. package/app/components/workshop/town/ModelPreview3D.vue +26 -4
  590. package/app/components/workshop/town/TownScene3D.ts +60 -12
  591. package/app/components/workshop/town/TownView.vue +4 -3
  592. package/app/composables/workshop/useAmlStream.ts +136 -0
  593. package/app/composables/workshop/useCharacterAssets.ts +1 -0
  594. package/app/composables/workshop/useDaqStream.ts +32 -6
  595. package/app/composables/workshop/useDcwStream.ts +13 -4
  596. package/app/composables/workshop/usePluginPanels.ts +72 -0
  597. package/app/composables/workshop/useWorkshopApi.ts +301 -259
  598. package/app/pages/aml/index.vue +1949 -0
  599. package/app/pages/daq/[id].vue +86 -4
  600. package/app/pages/daq/index.vue +15 -503
  601. package/app/pages/index.vue +235 -213
  602. package/app/pages/plugins/index.vue +280 -274
  603. package/app/pages/settings.vue +807 -79
  604. package/app/pages/workshop/agents.vue +23 -1
  605. package/app/pages/workshop/teams.vue +212 -2
  606. package/app/plugins/aw-plugins.client.ts +95 -6
  607. package/app/plugins/runtime-config.client.ts +4 -14
  608. package/app/plugins/theme.client.ts +13 -3
  609. package/app/stores/app.ts +9 -2
  610. package/app/stores/runtime-config.ts +113 -7
  611. package/cli/aw.mjs +16 -3
  612. package/cli/commands/build.mjs +8 -8
  613. package/cli/commands/dev.mjs +5 -13
  614. package/cli/commands/init.mjs +1 -1
  615. package/cli/commands/start.mjs +10 -17
  616. package/cli/core/args.mjs +85 -4
  617. package/cli/core/child-lifecycle.mjs +136 -0
  618. package/config.yml +24 -0
  619. package/docs/plugins.md +128 -220
  620. package/docs/sdk.md +1 -1
  621. package/i18n/dicts/_en.json +403 -2
  622. package/i18n/dicts/aml.json +163 -0
  623. package/i18n/dicts/channelSessionList.json +4 -1
  624. package/i18n/dicts/daqDetail.json +1 -0
  625. package/i18n/dicts/plugins.json +10 -0
  626. package/i18n/dicts/settings.json +34 -1
  627. package/i18n/dicts/teamPlugins.json +10 -0
  628. package/i18n/dicts/teams.json +9 -1
  629. package/i18n/locales/en.ts +2059 -1867
  630. package/i18n/locales/zh-CN.ts +2059 -1868
  631. package/nuxt.config.ts +18 -3
  632. package/package.json +7 -2
  633. package/public/assets/game/character/yangyang-walk.glb +0 -0
  634. package/scripts/_audit/.tmp/audit-data/dcws.json +28 -0
  635. package/scripts/_audit/.tmp/dcw-writes.json +15650 -0
  636. package/scripts/_audit/.tmp/dcws.json +9033 -0
  637. package/scripts/_audit/.tmp/pollution-backup/dcw-rollback.polluted.json +470006 -0
  638. package/scripts/_audit/.tmp/pollution-backup/dcws.polluted.json +9085 -0
  639. package/scripts/_audit/.tmp/probe-cwd.txt +1 -0
  640. package/scripts/_audit/audit-harness-adapters.md +664 -0
  641. package/scripts/_audit/awhome/commands/README.md +3 -0
  642. package/scripts/_audit/awhome/commands/hello.mjs +12 -0
  643. package/scripts/_audit/dcw-controller-e2e.ts +99 -0
  644. package/scripts/_audit/dcw-flush-cost.ts +43 -0
  645. package/scripts/_audit/dcw-rollback-ledger.ts +153 -0
  646. package/scripts/_audit/dcw-unrecorded-write.ts +171 -0
  647. package/scripts/_audit/dcw-write-mutex.ts +157 -0
  648. package/scripts/_audit/diag-cwd.ts +20 -0
  649. package/scripts/_audit/diag-cwd2.ts +19 -0
  650. package/scripts/_audit/exp-cost-scaling.mjs +54 -0
  651. package/scripts/_audit/exp-envelope-and-png.mjs +77 -0
  652. package/scripts/_audit/exp-png-decode.mjs +67 -0
  653. package/scripts/_audit/exp-retention-plan.mjs +61 -0
  654. package/scripts/_audit/exp-retention-rescan.mjs +42 -0
  655. package/scripts/_audit/exp-sweep-fairness.mjs +48 -0
  656. package/scripts/_audit/hello.mjs +12 -0
  657. package/scripts/_audit/http-api-authz-audit.md +657 -0
  658. package/scripts/_audit/ndjson-partial-line-repro.mjs +77 -0
  659. package/scripts/_audit/opencode-await-ternary-repro.mjs +20 -0
  660. package/scripts/_audit/part-frag.txt +84 -0
  661. package/scripts/_audit/part-head.txt +45 -0
  662. package/scripts/_audit/probe-binding.mjs +103 -0
  663. package/scripts/_audit/probe-child.mjs +17 -0
  664. package/scripts/_audit/probe-envelope.mjs +49 -0
  665. package/scripts/_audit/probe-packlist.mjs +67 -0
  666. package/scripts/_audit/probe-routes.mjs +47 -0
  667. package/scripts/_audit/probe-routes2.mjs +38 -0
  668. package/scripts/_audit/probe.ts +9 -0
  669. package/scripts/_audit/probe2.ts +6 -0
  670. package/scripts/_audit/probe3.ts +3 -0
  671. package/scripts/_audit/probe4.ts +3 -0
  672. package/scripts/_audit/proj/.AgentWorkShop/commands/echoargs.mjs +13 -0
  673. package/scripts/_audit/proj/config.yml +1 -0
  674. package/scripts/_audit/run.mjs +30 -0
  675. package/scripts/_audit/runtime-audit.md +716 -0
  676. package/scripts/_audit/ts-resolve-hook.mjs +41 -0
  677. package/scripts/_audit/tsconfig.probe.json +24 -0
  678. package/scripts/_audit/typecheck-out.txt +466 -0
  679. package/scripts/_audit/verify-data-integrity.mjs +112 -0
  680. package/scripts/_dbg-agents-dropdown-shot.py +33 -0
  681. package/scripts/_dbg-anim-verify.mjs +1 -1
  682. package/scripts/_dbg-audit-all-pages.mjs +1 -1
  683. package/scripts/_dbg-availability-probe.ts +11 -0
  684. package/scripts/_dbg-bind-bidi-e2e.mjs +1 -1
  685. package/scripts/_dbg-cf-line-shot.mjs +18 -0
  686. package/scripts/_dbg-channel-plugin-ui.mjs +94 -0
  687. package/scripts/_dbg-configroot-audit.mjs +84 -0
  688. package/scripts/_dbg-cpu-profile.mjs +53 -0
  689. package/scripts/_dbg-crash-recovery.mjs +1 -1
  690. package/scripts/_dbg-crush-probe.sh +21 -0
  691. package/scripts/_dbg-crush-spawn-probe.ts +22 -0
  692. package/scripts/_dbg-daq-acc-probe.mjs +1 -1
  693. package/scripts/_dbg-daq-attrib.mjs +1 -1
  694. package/scripts/_dbg-daq-debug.mjs +1 -1
  695. package/scripts/_dbg-daq-diag.mjs +1 -1
  696. package/scripts/_dbg-daq-e2e.mjs +1 -1
  697. package/scripts/_dbg-daq-filter-e2e.mjs +1 -1
  698. package/scripts/_dbg-daq-filter-e2e2.mjs +1 -1
  699. package/scripts/_dbg-daq-final-regression.mjs +1 -1
  700. package/scripts/_dbg-daq-frame-alarm.mjs +1 -1
  701. package/scripts/_dbg-daq-frame-ui.mjs +1 -1
  702. package/scripts/_dbg-daq-frame-ws.mjs +1 -1
  703. package/scripts/_dbg-daq-frames-e2e.mjs +1 -1
  704. package/scripts/_dbg-daq-full-check.mjs +1 -1
  705. package/scripts/_dbg-daq-intervals-func.mjs +94 -0
  706. package/scripts/_dbg-daq-pages-shot.mjs +1 -1
  707. package/scripts/_dbg-daq-perf.mjs +1 -1
  708. package/scripts/_dbg-daq-probe.mjs +1 -1
  709. package/scripts/_dbg-daq-recipe-e2e.mjs +1 -1
  710. package/scripts/_dbg-daq-rows-probe.mjs +1 -1
  711. package/scripts/_dbg-daq-rowstate-e2e.mjs +1 -1
  712. package/scripts/_dbg-daq-rowstate-shot.mjs +1 -1
  713. package/scripts/_dbg-daq-rowstate-shot2.mjs +1 -1
  714. package/scripts/_dbg-daq-rowstyle-verify.mjs +112 -0
  715. package/scripts/_dbg-dash-console-check.mjs +1 -1
  716. package/scripts/_dbg-dash-deep-probe.mjs +1 -1
  717. package/scripts/_dbg-dash-hitpoint.mjs +1 -1
  718. package/scripts/_dbg-dcw-read-rest.mjs +1 -1
  719. package/scripts/_dbg-dcw-read-ui.mjs +1 -1
  720. package/scripts/_dbg-dcw-shot2.mjs +1 -1
  721. package/scripts/_dbg-diag-mock-loop.mjs +89 -0
  722. package/scripts/_dbg-diag-watch.mjs +95 -0
  723. package/scripts/_dbg-error-probe.mjs +2 -2
  724. package/scripts/_dbg-filter-light-verify.mjs +1 -1
  725. package/scripts/_dbg-final-acceptance-2.mjs +1 -1
  726. package/scripts/_dbg-final-acceptance.mjs +1 -1
  727. package/scripts/_dbg-final-full-e2e.mjs +1 -1
  728. package/scripts/_dbg-final-shots.mjs +32 -0
  729. package/scripts/_dbg-final-t6-hitl.mjs +1 -1
  730. package/scripts/_dbg-fix-unused-imports.py +41 -0
  731. package/scripts/_dbg-fresh-scene-e2e.mjs +1 -1
  732. package/scripts/_dbg-goose-probe.mjs +33 -0
  733. package/scripts/_dbg-goose-probe.sh +10 -0
  734. package/scripts/_dbg-groups-ui-verify.mjs +122 -0
  735. package/scripts/_dbg-harness-ui-shot.py +109 -0
  736. package/scripts/_dbg-hidden-check.mjs +1 -1
  737. package/scripts/_dbg-home-repro.mjs +1 -1
  738. package/scripts/_dbg-home-stack.mjs +1 -1
  739. package/scripts/_dbg-hydration-detail.mjs +1 -1
  740. package/scripts/_dbg-infra-lifecycle.mjs +1 -1
  741. package/scripts/_dbg-line-live-e2e.mjs +1 -1
  742. package/scripts/_dbg-line-repo-test.ts +10 -0
  743. package/scripts/_dbg-login-debug.py +23 -0
  744. package/scripts/_dbg-modbus-latency.mjs +22 -0
  745. package/scripts/_dbg-mqtt-chain-e2e.mjs +1 -1
  746. package/scripts/_dbg-oneshot-impl-probe.ts +67 -0
  747. package/scripts/_dbg-opt-team-e2e.mjs +1 -1
  748. package/scripts/_dbg-panesplitter-fix-check.mjs +1 -1
  749. package/scripts/_dbg-phase-e3-monitor.mjs +1 -1
  750. package/scripts/_dbg-pi-spawn-probe.ts +33 -0
  751. package/scripts/_dbg-plc-e2e.mjs +1 -1
  752. package/scripts/_dbg-plugin-config-ui.mjs +111 -0
  753. package/scripts/_dbg-plugin-panels-ui.mjs +54 -0
  754. package/scripts/_dbg-plugin-sink-rest.mjs +1 -1
  755. package/scripts/_dbg-plugin-sink-ui.mjs +1 -1
  756. package/scripts/_dbg-plugin-ui-wizard.mjs +1 -1
  757. package/scripts/_dbg-plugin-verify-e2e.mjs +1 -1
  758. package/scripts/_dbg-pop-clamp-verify.mjs +1 -1
  759. package/scripts/_dbg-preview-console.mjs +1 -1
  760. package/scripts/_dbg-preview-minrepro.mjs +1 -1
  761. package/scripts/_dbg-preview-pixels.mjs +1 -1
  762. package/scripts/_dbg-quality-pages-e2e.mjs +1 -1
  763. package/scripts/_dbg-qwen-acp-probe.mjs +30 -0
  764. package/scripts/_dbg-qwen-capture.mjs +21 -0
  765. package/scripts/_dbg-rail-tree-e2e.mjs +1 -1
  766. package/scripts/_dbg-real-driver-e2e.mjs +1 -1
  767. package/scripts/_dbg-real-scenario-timeline.log +55 -123
  768. package/scripts/_dbg-redesign-shots.mjs +1 -1
  769. package/scripts/_dbg-release-smoke.mjs +1 -1
  770. package/scripts/_dbg-render-perf.mjs +142 -0
  771. package/scripts/_dbg-render-regression.mjs +130 -0
  772. package/scripts/_dbg-resolve-probe.ts +6 -0
  773. package/scripts/_dbg-restart-persist.mjs +1 -1
  774. package/scripts/_dbg-sc001-dispatch.mjs +1 -1
  775. package/scripts/_dbg-scenario-final-shot.mjs +1 -1
  776. package/scripts/_dbg-scenario-phase-e2.mjs +1 -1
  777. package/scripts/_dbg-scenario-phase-e3.mjs +1 -1
  778. package/scripts/_dbg-scenario-phase1.mjs +1 -1
  779. package/scripts/_dbg-scenario-phase2.mjs +1 -1
  780. package/scripts/_dbg-scenario-phase3-monitor.mjs +1 -1
  781. package/scripts/_dbg-scenario-phase3.mjs +1 -1
  782. package/scripts/_dbg-settings-draft-probe.mjs +39 -0
  783. package/scripts/_dbg-settings-probe.mjs +33 -0
  784. package/scripts/_dbg-task-cancel-probe.mjs +66 -0
  785. package/scripts/_dbg-town-alarm-e2e.mjs +1 -1
  786. package/scripts/_dbg-town-daq-shot.mjs +1 -1
  787. package/scripts/_dbg-town-full-e2e.mjs +1 -1
  788. package/scripts/_dbg-town-gate.mjs +1 -1
  789. package/scripts/_dbg-town-ins-probe.mjs +1 -1
  790. package/scripts/_dbg-town-perf.mjs +1 -1
  791. package/scripts/_dbg-town-realtime.mjs +1 -1
  792. package/scripts/_dbg-town-shot.py +25 -0
  793. package/scripts/_dbg-town-shot3.mjs +1 -1
  794. package/scripts/_dbg-town-smoke.mjs +54 -0
  795. package/scripts/_dbg-town-truth.mjs +1 -1
  796. package/scripts/_dbg-town-truth2.mjs +1 -1
  797. package/scripts/_dbg-trend-expand-test.mjs +1 -1
  798. package/scripts/_dbg-twindaq-focus.mjs +1 -1
  799. package/scripts/_dbg-ui-polish-shot.mjs +1 -1
  800. package/scripts/_dbg-ui-polish-verify1.mjs +1 -1
  801. package/scripts/_dbg-ui-polish-verify2.mjs +1 -1
  802. package/scripts/_dbg-ui-polish-verify3.mjs +1 -1
  803. package/scripts/_dbg-ui-polish-verify4.mjs +1 -1
  804. package/scripts/_dbg-unify-shot.mjs +1 -1
  805. package/scripts/_dbg-uplink-probe.mjs +1 -1
  806. package/scripts/_dbg-wizard-preview-shot.mjs +1 -1
  807. package/scripts/_dbg-wizard-ui-e2e.mjs +1 -1
  808. package/scripts/_dbg-ws-probe.mjs +1 -1
  809. package/scripts/_dbg-wsdot-sanity.mjs +1 -1
  810. package/scripts/_node-state-probe.mjs +1 -1
  811. package/scripts/_tmp-args-probe.mjs +20 -0
  812. package/scripts/_tmp-cyc-entry.mjs +8 -0
  813. package/scripts/_tmp-cyc-main.mjs +5 -0
  814. package/scripts/_tmp-cyc-mod.mjs +2 -0
  815. package/scripts/_tmp-cycle-a.mjs +6 -0
  816. package/scripts/_tmp-cycle-b.mjs +2 -0
  817. package/scripts/_tmp-cycle-probe.mjs +4 -0
  818. package/scripts/_tmp-entry-variant.mjs +2 -0
  819. package/scripts/_tmp-help-probe.mjs +19 -0
  820. package/scripts/_tmp-help-probe2.mjs +2 -0
  821. package/scripts/_tmp-trace-preload.mjs +1 -0
  822. package/scripts/aml-agent-bridge.ts +230 -0
  823. package/scripts/aml-industrial-loop.ts +232 -0
  824. package/scripts/aml-ui-smoke.mjs +67 -0
  825. package/scripts/aw-start-smoke.mjs +194 -0
  826. package/scripts/design-verify-templates.mjs +1 -1
  827. package/scripts/device-line-restore.mjs +1 -1
  828. package/scripts/e2e-aml.ts +259 -0
  829. package/scripts/e2e-config-groups.mjs +238 -0
  830. package/scripts/e2e-full-closedloop.mjs +911 -0
  831. package/scripts/e2e-full-scenario.ts +321 -0
  832. package/scripts/e2e-harness-consistency.ts +204 -0
  833. package/scripts/e2e-multi-harness.ts +233 -76
  834. package/scripts/e2e-plc-plugin-closedloop.mjs +518 -0
  835. package/scripts/e2e-real-scenario.mjs +466 -452
  836. package/scripts/e2e-template-isolation.mjs +2 -2
  837. package/scripts/experiment-castfilm-closedloop.mjs +423 -0
  838. package/scripts/experiment-castfilm-finish.mjs +194 -0
  839. package/scripts/experiment-castfilm-ui-shot.mjs +52 -0
  840. package/scripts/experiment-castfilm-viz.mjs +172 -0
  841. package/scripts/i18n-merge.mjs +152 -30
  842. package/scripts/production-closed-loop-e2e.mjs +300 -0
  843. package/scripts/team-plugins-api-smoke.mjs +149 -0
  844. package/scripts/test-aml-integration.ts +159 -0
  845. package/scripts/test-aml-job.ts +174 -0
  846. package/scripts/test-aml-unit.ts +184 -0
  847. package/scripts/test-cli-exit.mjs +235 -0
  848. package/scripts/test-daq-frame-race.mjs +310 -0
  849. package/scripts/test-data-root.mjs +208 -0
  850. package/scripts/test-log-flooding.mjs +160 -0
  851. package/scripts/test-lru.mjs +78 -0
  852. package/scripts/test-memory-month-query.mjs +62 -0
  853. package/scripts/test-plugin-hardening.mjs +45 -0
  854. package/scripts/test-rollback-index.mjs +79 -0
  855. package/scripts/test-sdk-surface.mjs +155 -0
  856. package/scripts/three-system-e2e.mjs +662 -0
  857. package/scripts/town-scene-clear.mjs +1 -1
  858. package/sdk/client.d.mts +110 -0
  859. package/sdk/client.mjs +144 -124
  860. package/sdk/context.mjs +161 -1
  861. package/sdk/index.d.mts +37 -5
  862. package/sdk/index.mjs +44 -41
  863. package/sdk/lifecycle.mjs +4 -1
  864. package/server/api/plugins/[name]/[...path].ts +46 -31
  865. package/server/api/plugins/i18n.get.ts +12 -0
  866. package/server/api/system/config-groups/[id].delete.ts +21 -0
  867. package/server/api/system/config-groups/[id].patch.ts +26 -0
  868. package/server/api/system/config-groups/index.get.ts +21 -0
  869. package/server/api/system/config-groups/index.post.ts +33 -0
  870. package/server/api/system/settings/events.get.ts +8 -4
  871. package/server/api/workshop/agent-tools/bindings/[id].delete.ts +6 -1
  872. package/server/api/workshop/agent-tools/bindings/[id].patch.ts +12 -3
  873. package/server/api/workshop/agent-tools/bindings/index.get.ts +29 -2
  874. package/server/api/workshop/agent-tools/invoke.post.ts +30 -5
  875. package/server/api/workshop/aml/datasets/[id]/preview.get.ts +68 -0
  876. package/server/api/workshop/aml/datasets/[id].get.ts +24 -0
  877. package/server/api/workshop/aml/datasets/index.get.ts +20 -0
  878. package/server/api/workshop/aml/datasets/index.post.ts +27 -0
  879. package/server/api/workshop/aml/experiments/index.get.ts +35 -0
  880. package/server/api/workshop/aml/index.get.ts +24 -0
  881. package/server/api/workshop/aml/jobs/[id]/cancel.post.ts +21 -0
  882. package/server/api/workshop/aml/jobs/[id]/logs.get.ts +23 -0
  883. package/server/api/workshop/aml/jobs/[id]/retry.post.ts +20 -0
  884. package/server/api/workshop/aml/jobs/[id].get.ts +23 -0
  885. package/server/api/workshop/aml/jobs/index.get.ts +26 -0
  886. package/server/api/workshop/aml/jobs/index.post.ts +44 -0
  887. package/server/api/workshop/aml/models/[id]/predict.post.ts +24 -0
  888. package/server/api/workshop/aml/models/[id]/promote.post.ts +30 -0
  889. package/server/api/workshop/aml/models/index.get.ts +48 -0
  890. package/server/api/workshop/channels/[id]/plugins/index.get.ts +35 -0
  891. package/server/api/workshop/channels/[id]/plugins/index.put.ts +39 -0
  892. package/server/api/workshop/channels.post.ts +17 -0
  893. package/server/api/workshop/daq/[id].delete.ts +6 -0
  894. package/server/api/workshop/dcw/[id].patch.ts +14 -2
  895. package/server/api/workshop/hitl/respond.post.ts +3 -1
  896. package/server/api/workshop/teams/[id]/plugins/index.get.ts +36 -0
  897. package/server/api/workshop/teams/[id]/plugins/index.put.ts +42 -0
  898. package/server/api/workshop/teams/index.post.ts +13 -0
  899. package/server/api/workshop/users/me.get.ts +5 -0
  900. package/server/api/workshop/ws.ts +14 -2
  901. package/server/data/daqs.json +1648 -123
  902. package/server/data/dcw-lines.json +308 -0
  903. package/server/data/dcw-products.json +147 -0
  904. package/server/data/dcw-recipes.json +891 -1
  905. package/server/data/dcw-rollback.json +11903 -5540
  906. package/server/data/dcw-runs.json +3745 -3559
  907. package/server/data/dcw-templates.json +120 -0
  908. package/server/data/dcw-writes.json +1872 -0
  909. package/server/data/dcws.json +1723 -434
  910. package/server/data/line-runs.json +137 -27
  911. package/server/data/scene-layouts.json +66 -0
  912. package/server/harness/pi-aw-tools.mjs +51 -0
  913. package/server/plugins/aw-plugins.ts +35 -27
  914. package/server/plugins/dev-stability-guard.ts +63 -63
  915. package/server/plugins/system-config.ts +10 -11
  916. package/server/plugins/workshop.ts +10 -0
  917. package/server/plugins-builtin/diag-bridge/client.mjs +84 -0
  918. package/server/plugins-builtin/diag-bridge/i18n.json +72 -0
  919. package/server/plugins-builtin/diag-bridge/index.mjs +661 -0
  920. package/server/plugins-builtin/rag-bridge/client.mjs +108 -0
  921. package/server/plugins-builtin/rag-bridge/i18n.json +60 -0
  922. package/server/plugins-builtin/rag-bridge/index.mjs +411 -0
  923. package/server/services/system-config.ts +610 -396
  924. package/server/services/workshop/agents/adapters/line-spawn.ts +15 -6
  925. package/server/services/workshop/agents/adapters/one-shot-cli-agent.ts +530 -0
  926. package/server/services/workshop/agents/base-agent.ts +210 -0
  927. package/server/services/workshop/agents/binding-authz.ts +57 -0
  928. package/server/services/workshop/agents/claude-agent.ts +546 -30
  929. package/server/services/workshop/agents/codex-agent.ts +729 -822
  930. package/server/services/workshop/agents/copilot-agent.ts +136 -0
  931. package/server/services/workshop/agents/crush-agent.ts +107 -0
  932. package/server/services/workshop/agents/cursor-agent.ts +102 -0
  933. package/server/services/workshop/agents/dsh-agent.ts +578 -670
  934. package/server/services/workshop/agents/gemini-agent.ts +121 -0
  935. package/server/services/workshop/agents/goose-agent.ts +98 -0
  936. package/server/services/workshop/agents/harness-models.ts +305 -270
  937. package/server/services/workshop/agents/hermes-agent.ts +528 -0
  938. package/server/services/workshop/agents/host-tool-bridge.ts +710 -642
  939. package/server/services/workshop/agents/industrial-tools.ts +659 -7
  940. package/server/services/workshop/agents/omp-agent.ts +1193 -1178
  941. package/server/services/workshop/agents/opencode-agent.ts +936 -987
  942. package/server/services/workshop/agents/pi-agent.ts +108 -0
  943. package/server/services/workshop/agents/plugin-tools.ts +10 -1
  944. package/server/services/workshop/agents/qwen-agent.ts +540 -0
  945. package/server/services/workshop/agents/registry.ts +117 -5
  946. package/server/services/workshop/agents/tool-approvals.ts +3 -3
  947. package/server/services/workshop/aml/aml.repo.ts +368 -0
  948. package/server/services/workshop/aml/clean.ts +120 -0
  949. package/server/services/workshop/aml/dataset-builder.ts +491 -0
  950. package/server/services/workshop/aml/gates.ts +121 -0
  951. package/server/services/workshop/aml/job-orchestrator.ts +650 -0
  952. package/server/services/workshop/aml/model-registry.ts +169 -0
  953. package/server/services/workshop/aml/predictor.ts +262 -0
  954. package/server/services/workshop/aml/python/aml_eval.py +171 -0
  955. package/server/services/workshop/aml/python/amlkit.py +120 -0
  956. package/server/services/workshop/aml/python/requirements.txt +7 -0
  957. package/server/services/workshop/aml/python/train-example.py +92 -0
  958. package/server/services/workshop/aml/python-runtime.ts +217 -0
  959. package/server/services/workshop/aml/retention.ts +98 -0
  960. package/server/services/workshop/aml/runtime.ts +45 -0
  961. package/server/services/workshop/aml/spec.ts +63 -0
  962. package/server/services/workshop/aml/stats.ts +140 -0
  963. package/server/services/workshop/daq/bus/mqtt.adapter.ts +8 -1
  964. package/server/services/workshop/daq/daq-controller.ts +147 -19
  965. package/server/services/workshop/daq/daq-node.repo.ts +13 -11
  966. package/server/services/workshop/daq/daq-runtime.ts +11 -0
  967. package/server/services/workshop/daq/drivers.ts +89 -8
  968. package/server/services/workshop/db/aml-team-seeds.ts +118 -0
  969. package/server/services/workshop/db/channel-plugins.repo.ts +91 -0
  970. package/server/services/workshop/db/database.ts +89 -1
  971. package/server/services/workshop/db/memory.repo.ts +31 -0
  972. package/server/services/workshop/db/user.repo.ts +9 -0
  973. package/server/services/workshop/dcw/dcw-controller.ts +33 -7
  974. package/server/services/workshop/dcw/dcw-line.repo.ts +5 -3
  975. package/server/services/workshop/dcw/dcw-node.repo.ts +4 -4
  976. package/server/services/workshop/dcw/dcw-product.repo.ts +8 -8
  977. package/server/services/workshop/dcw/dcw-recipe.repo.ts +6 -7
  978. package/server/services/workshop/dcw/dcw-runtime.ts +16 -2
  979. package/server/services/workshop/dcw/dcw-templates.ts +4 -4
  980. package/server/services/workshop/dcw/line-run.ts +5 -5
  981. package/server/services/workshop/dcw/recipe-rollback-manager.ts +3 -1
  982. package/server/services/workshop/dcw/recipe-rollback.repo.ts +155 -52
  983. package/server/services/workshop/logger.ts +145 -3
  984. package/server/services/workshop/plugins/host.mjs +857 -518
  985. package/server/services/workshop/prompts/loader.ts +32 -6
  986. package/server/services/workshop/runtime/manager.ts +3016 -2968
  987. package/server/services/workshop/runtime/scheduler-loop.ts +18 -1
  988. package/server/services/workshop/scene/scene-layout.repo.ts +5 -5
  989. package/server/services/workshop/settings.ts +64 -0
  990. package/shared/config/engine.mjs +5 -0
  991. package/shared/config/groups.mjs +220 -0
  992. package/shared/config/home.mjs +11 -2
  993. package/shared/config/schema.json +31 -2
  994. package/shared/daq-protocol.ts +6 -0
  995. package/shared/lru.mjs +94 -0
  996. package/shared/workshop-protocol.ts +2 -2
  997. package/.output/public/_nuxt/BAfp6tmu.js +0 -14
  998. package/.output/public/_nuxt/BUcmySDa2.js +0 -209
  999. package/.output/public/_nuxt/Bc-_IsBP.js +0 -19
  1000. package/.output/public/_nuxt/BvNJUu3s.js +0 -1
  1001. package/.output/public/_nuxt/BytVi9VX2.js +0 -4
  1002. package/.output/public/_nuxt/C1CSiSBN.js +0 -1
  1003. package/.output/public/_nuxt/CAGL7TNK.js +0 -1
  1004. package/.output/public/_nuxt/CDLv-n51.js +0 -1
  1005. package/.output/public/_nuxt/CJviSvm-.js +0 -1
  1006. package/.output/public/_nuxt/CLZWFhZC.js +0 -1
  1007. package/.output/public/_nuxt/CYzpZzB_.js +0 -1
  1008. package/.output/public/_nuxt/Cb3SnTM8.js +0 -1
  1009. package/.output/public/_nuxt/CjXIpPMR.js +0 -1
  1010. package/.output/public/_nuxt/CxY6LfeN.js +0 -1
  1011. package/.output/public/_nuxt/D6HDb-vN2.js +0 -1
  1012. package/.output/public/_nuxt/D95h62Jn.js +0 -1
  1013. package/.output/public/_nuxt/DAR70Lf52.js +0 -1
  1014. package/.output/public/_nuxt/DGAOugLt.js +0 -1
  1015. package/.output/public/_nuxt/DKHcFE1i.js +0 -1
  1016. package/.output/public/_nuxt/DSa2O56y.js +0 -1
  1017. package/.output/public/_nuxt/DUToq-k_.js +0 -1
  1018. package/.output/public/_nuxt/Dfe8vXdG.js +0 -1
  1019. package/.output/public/_nuxt/DjtE7AYt.js +0 -1
  1020. package/.output/public/_nuxt/DvgKXPgu2.js +0 -13
  1021. package/.output/public/_nuxt/JOwsShod.js +0 -2
  1022. package/.output/public/_nuxt/X6IraCTB.js +0 -1
  1023. package/.output/public/_nuxt/_id_.C-YXjn8Q.css +0 -1
  1024. package/.output/public/_nuxt/_wsId_.BqWBlY7X.css +0 -1
  1025. package/.output/public/_nuxt/agents.CB9Ck7VQ.css +0 -1
  1026. package/.output/public/_nuxt/b50gYVZl.js +0 -1
  1027. package/.output/public/_nuxt/builds/meta/024de5f7-6a10-4f53-82ab-bc65f3ec9e35.json +0 -1
  1028. package/.output/public/_nuxt/daq.3OKj58HH.css +0 -1
  1029. package/.output/public/_nuxt/default.BbgdTDCk.css +0 -1
  1030. package/.output/public/_nuxt/entry.AZM1Culo.css +0 -1
  1031. package/.output/public/_nuxt/pages.CG8UJ2TK.css +0 -1
  1032. package/.output/public/_nuxt/plugins.DpCuwaJt.css +0 -1
  1033. package/.output/public/_nuxt/settings.BqMF2nfj.css +0 -1
  1034. package/.output/public/_nuxt/teams.DN0pAGGu.css +0 -1
  1035. package/.output/server/chunks/build/_id_-DQDqj-cZ.mjs.map +0 -1
  1036. package/.output/server/chunks/build/_id_-DY6v6sqB.mjs.map +0 -1
  1037. package/.output/server/chunks/build/agents-GnmUGZir.mjs.map +0 -1
  1038. package/.output/server/chunks/build/alert-qJnjyRcP.mjs.map +0 -1
  1039. package/.output/server/chunks/build/channel-templates-B4z6v8Z5.mjs.map +0 -1
  1040. package/.output/server/chunks/build/daq-B-3xCp_2.mjs.map +0 -1
  1041. package/.output/server/chunks/build/dcw-BL2dhuz7.mjs.map +0 -1
  1042. package/.output/server/chunks/build/logs-Dto_umFY.mjs.map +0 -1
  1043. package/.output/server/chunks/build/pages-Dc2H1QFu.mjs.map +0 -1
  1044. package/.output/server/chunks/build/permissions-BTRW2CVd.mjs.map +0 -1
  1045. package/.output/server/chunks/build/plugins-DZR0T4Mh.mjs.map +0 -1
  1046. package/.output/server/chunks/build/responsiveObserve-CS0UB6wQ.mjs +0 -78
  1047. package/.output/server/chunks/build/responsiveObserve-CS0UB6wQ.mjs.map +0 -1
  1048. package/.output/server/chunks/build/settings-UfGyDgM7.mjs +0 -567
  1049. package/.output/server/chunks/build/settings-UfGyDgM7.mjs.map +0 -1
  1050. package/.output/server/chunks/build/tag-NO9jEqKy.mjs.map +0 -1
  1051. package/.output/server/chunks/build/teams-Cbg27MWW.mjs.map +0 -1
  1052. package/.output/server/chunks/build/tokens-Bmm6rDfj.mjs.map +0 -1
  1053. package/.output/server/chunks/build/town-Dsh0jlwZ.mjs.map +0 -1
  1054. package/.output/server/chunks/build/useDaqStream-DkRL3tEW.mjs.map +0 -1
  1055. package/.output/server/chunks/build/useDcwStream-DyB2ufQI.mjs.map +0 -1
  1056. package/.output/server/chunks/build/users-B50HHrfi.mjs.map +0 -1
  1057. /package/.output/public/_nuxt/{ORt9oDIy.js → ORt9oDIy2.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  import process from 'node:process';globalThis._importMeta_=globalThis._importMeta_||{url:import.meta.url,env:process.env};import { getCurrentScope, ref, watchEffect, getCurrentInstance, onBeforeUnmount, onDeactivated, onActivated, shallowReactive, reactive, effectScope, hasInjectionContext, inject, toRef, customRef, defineComponent, shallowRef, h, resolveComponent, computed, unref, isRef, toValue, onServerPrefetch, nextTick, queuePostFlushCb, provide, watch, triggerRef, Fragment, isVNode, createVNode, Comment, Text, TransitionGroup, toRaw, Teleport, render, createApp, onErrorCaptured, resolveDynamicComponent, mergeProps, withCtx, defineAsyncComponent, createCommentVNode, isReadonly, Suspense, useSSRContext, isShallow, isReactive } from 'vue';
2
- import { aQ as createHooks, n as createError, aR as sanitizeStatusCode, aS as klona, Q as getRequestHeader, aT as isEqual$1, aU as setCookie, aV as getCookie, aW as deleteCookie, aX as $fetch, aY as baseURL, k as getRequestHeaders, aZ as defu, a_ as getRequestProtocol, a$ as appendResponseHeader } from '../_/nitro.mjs';
2
+ import { b3 as createHooks, n as createError, b4 as sanitizeStatusCode, b5 as klona, S as getRequestHeader, b6 as isEqual$1, b7 as setCookie, b8 as getCookie, b9 as deleteCookie, ba as $fetch, bb as baseURL, k as getRequestHeaders, bc as defu, bd as getRequestProtocol, be as appendResponseHeader } from '../_/nitro.mjs';
3
3
  import { walkResolver } from 'unhead/utils';
4
4
  import { i as injectHead$1, V as VueResolver, h as headSymbol } from '../routes/renderer.mjs';
5
5
  import { START_LOCATION, useRoute as useRoute$1, RouterView, createMemoryHistory, createRouter, isNavigationFailure } from 'vue-router';
@@ -2288,12 +2288,19 @@ var useAppStore = (0, composables_exports.defineStore)("app", () => {
2288
2288
  const isDark = ref(true);
2289
2289
  const sidebarCollapsed = ref(false);
2290
2290
  /**
2291
+ * 用户是否在设置页/页头显式切换过明暗。
2292
+ * 只有"显式选择"才锁死主题,阻止服务端 theme.mode 的运行时跟随——
2293
+ * 否则每次刷新都会被服务端默认值冲掉本地偏好(设置项形同虚设)。
2294
+ */
2295
+ const themeTouched = ref(false);
2296
+ /**
2291
2297
  * 主题强调色(warm-editorial:默认墨色药丸;设置页可换 muted 预设,实时生效并持久化)。
2292
2298
  * null = 跟随 config.yml 默认(config.primaryColor 注入的 --color-primary)。
2293
2299
  */
2294
2300
  const accent = ref(null);
2295
2301
  function toggleDark() {
2296
2302
  isDark.value = !isDark.value;
2303
+ themeTouched.value = true;
2297
2304
  }
2298
2305
  function toggleSidebar() {
2299
2306
  sidebarCollapsed.value = !sidebarCollapsed.value;
@@ -2305,6 +2312,7 @@ var useAppStore = (0, composables_exports.defineStore)("app", () => {
2305
2312
  isDark,
2306
2313
  sidebarCollapsed,
2307
2314
  accent,
2315
+ themeTouched,
2308
2316
  toggleDark,
2309
2317
  toggleSidebar,
2310
2318
  setAccent
@@ -2313,7 +2321,8 @@ var useAppStore = (0, composables_exports.defineStore)("app", () => {
2313
2321
  pick: [
2314
2322
  "isDark",
2315
2323
  "sidebarCollapsed",
2316
- "accent"
2324
+ "accent",
2325
+ "themeTouched"
2317
2326
  ],
2318
2327
  storage: storages.localStorage()
2319
2328
  } });
@@ -9376,79 +9385,85 @@ var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Froutes_default = [
9376
9385
  name: "workshop-w-wsId",
9377
9386
  path: "/workshop/w/:wsId()",
9378
9387
  meta: { layout: "default" },
9379
- component: () => import('../build/_wsId_-D38Vx6Ky.mjs')
9388
+ component: () => import('../build/_wsId_-CTZswnm5.mjs')
9380
9389
  },
9381
9390
  {
9382
9391
  name: "workshop-agents",
9383
9392
  path: "/workshop/agents",
9384
9393
  meta: { layout: "default" },
9385
- component: () => import('../build/agents-GnmUGZir.mjs')
9394
+ component: () => import('../build/agents-Bvin73QY.mjs')
9386
9395
  },
9387
9396
  {
9388
9397
  name: "workshop-channel-templates",
9389
9398
  path: "/workshop/channel-templates",
9390
9399
  meta: { layout: "default" },
9391
- component: () => import('../build/channel-templates-B4z6v8Z5.mjs')
9400
+ component: () => import('../build/channel-templates-BTq8570n.mjs')
9392
9401
  },
9393
9402
  {
9394
9403
  name: "workshop-teams",
9395
9404
  path: "/workshop/teams",
9396
9405
  meta: { layout: "default" },
9397
- component: () => import('../build/teams-Cbg27MWW.mjs')
9406
+ component: () => import('../build/teams-2kz3CusY.mjs')
9398
9407
  },
9399
9408
  {
9400
9409
  name: "daq-id",
9401
9410
  path: "/daq/:id()",
9402
9411
  meta: { layout: "default" },
9403
- component: () => import('../build/_id_-DQDqj-cZ.mjs')
9412
+ component: () => import('../build/_id_-fadFPl2i.mjs')
9404
9413
  },
9405
9414
  {
9406
9415
  name: "dcw-id",
9407
9416
  path: "/dcw/:id()",
9408
- component: () => import('../build/_id_-DY6v6sqB.mjs')
9417
+ component: () => import('../build/_id_-Cb845FHR.mjs')
9418
+ },
9419
+ {
9420
+ name: "aml",
9421
+ path: "/aml",
9422
+ meta: { layout: "default" },
9423
+ component: () => import('../build/aml-uBNIppIf.mjs')
9409
9424
  },
9410
9425
  {
9411
9426
  name: "daq",
9412
9427
  path: "/daq",
9413
9428
  meta: { layout: "default" },
9414
- component: () => import('../build/daq-B-3xCp_2.mjs')
9429
+ component: () => import('../build/daq-BvihjQyW.mjs')
9415
9430
  },
9416
9431
  {
9417
9432
  name: "dcw",
9418
9433
  path: "/dcw",
9419
- component: () => import('../build/dcw-BL2dhuz7.mjs')
9434
+ component: () => import('../build/dcw-Ks2vJ4PF.mjs')
9420
9435
  },
9421
9436
  {
9422
9437
  name: "logs",
9423
9438
  path: "/logs",
9424
- component: () => import('../build/logs-Dto_umFY.mjs')
9439
+ component: () => import('../build/logs-CYBhkQwh.mjs')
9425
9440
  },
9426
9441
  {
9427
9442
  name: "monitor",
9428
9443
  path: "/monitor",
9429
9444
  meta: { layout: "default" },
9430
- component: () => import('../build/monitor-Cp4V-H2n.mjs')
9445
+ component: () => import('../build/monitor-CyfDt4nR.mjs')
9431
9446
  },
9432
9447
  {
9433
9448
  name: "permissions",
9434
9449
  path: "/permissions",
9435
- component: () => import('../build/permissions-BTRW2CVd.mjs')
9450
+ component: () => import('../build/permissions-B52oOmaO.mjs')
9436
9451
  },
9437
9452
  {
9438
9453
  name: "plugins",
9439
9454
  path: "/plugins",
9440
- component: () => import('../build/plugins-DZR0T4Mh.mjs')
9455
+ component: () => import('../build/plugins-dZRegC7m.mjs')
9441
9456
  },
9442
9457
  {
9443
9458
  name: "settings",
9444
9459
  path: "/settings",
9445
- component: () => import('../build/settings-UfGyDgM7.mjs')
9460
+ component: () => import('../build/settings-CgDLkP3s.mjs')
9446
9461
  },
9447
9462
  {
9448
9463
  name: "tokens",
9449
9464
  path: "/tokens",
9450
9465
  meta: { layout: "default" },
9451
- component: () => import('../build/tokens-Bmm6rDfj.mjs')
9466
+ component: () => import('../build/tokens-BbWLqtVz.mjs')
9452
9467
  },
9453
9468
  {
9454
9469
  name: "town",
@@ -9457,12 +9472,12 @@ var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Froutes_default = [
9457
9472
  layout: "town",
9458
9473
  title: "Digital Twin"
9459
9474
  },
9460
- component: () => import('../build/town-Dsh0jlwZ.mjs')
9475
+ component: () => import('../build/town-DJ-V5G9U.mjs')
9461
9476
  },
9462
9477
  {
9463
9478
  name: "users",
9464
9479
  path: "/users",
9465
- component: () => import('../build/users-B50HHrfi.mjs')
9480
+ component: () => import('../build/users-4nzxTjFT.mjs')
9466
9481
  },
9467
9482
  {
9468
9483
  name: "workshop",
@@ -9473,7 +9488,7 @@ var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Froutes_default = [
9473
9488
  {
9474
9489
  name: "index",
9475
9490
  path: "/",
9476
- component: () => import('../build/pages-Dc2H1QFu.mjs')
9491
+ component: () => import('../build/pages-C-6BRtv8.mjs')
9477
9492
  }
9478
9493
  ];
9479
9494
  //#endregion
@@ -12939,6 +12954,11 @@ var zh_CN_default$1 = {
12939
12954
  },
12940
12955
  menu: {
12941
12956
  system: "AgentWorkShop",
12957
+ groups: {
12958
+ console: "控制台",
12959
+ ops: "运维",
12960
+ system: "系统"
12961
+ },
12942
12962
  dashboard: "仪表盘",
12943
12963
  workshop: "Agent 工作台",
12944
12964
  town: "AgentWorkShop",
@@ -13063,94 +13083,51 @@ var zh_CN_default$1 = {
13063
13083
  disabled: "已禁用"
13064
13084
  },
13065
13085
  settings: {
13066
- "runtime.groupMemory": "记忆系统",
13067
- "runtime.groupOmp": "Agent Harness",
13068
- "runtime.groupDcw": "数控写控",
13069
- "runtime.groupWorkshop": "车间运行",
13070
- "runtime.groupBackup": "数据备份",
13071
- "runtime.groupRetention": "数据保留",
13072
- "runtime.groupLog": "日志",
13073
- "runtime.memory.primerTokens": "记忆引子预算",
13074
- "runtime.memory.injectTotal": "记忆注入硬顶",
13075
- "runtime.memory.maintenanceMs": "记忆维护周期(ms)",
13076
- "runtime.memory.expireDays": "情景记忆过期(天)",
13077
- "runtime.memory.expireSessionDays": "会话记忆过期(天)",
13078
- "runtime.memory.cap": "记忆条目上限",
13079
- "runtime.memory.reflectTrigger": "反思触发阈值",
13080
- "runtime.memory.embedBaseUrl": "Embedding 端点",
13081
- "runtime.memory.embedModel": "Embedding 模型",
13082
- "runtime.memory.embedApiKey": "Embedding 密钥",
13083
- "runtime.omp.compactEnabled": "上下文自动压缩",
13084
- "runtime.omp.compactThreshold": "压缩阈值",
13085
- "runtime.omp.compactMinIntervalMs": "压缩最小间隔(ms)",
13086
- "runtime.omp.compactWaitMs": "压缩等待超时(ms)",
13087
- "runtime.dcw.rollbackCooldownMs": "回退冷却(ms)",
13088
- "runtime.dcw.rollbackMinWindowMs": "回退最小观察窗(ms)",
13089
- "runtime.dcw.rollbackBaselineMs": "基线稳定窗(ms)",
13090
- "runtime.dcw.rollbackStaleMs": "open 记录过期(ms)",
13091
- "runtime.workshop.idleSweepMs": "空产线扫描(ms)",
13092
- "runtime.workshop.idleGraceMs": "空闲宽限(ms)",
13093
- "runtime.backup.disabled": "禁用自动备份",
13094
- "runtime.backup.intervalHours": "备份间隔(h)",
13095
- "runtime.backup.keep": "备份保留份数",
13096
- "runtime.retention.disabled": "禁用数据保留策略",
13097
- "runtime.retention.eventsDays": "事件保留(天)",
13098
- "runtime.retention.messagesDays": "消息保留(天)",
13099
- "runtime.retention.auditDays": "审计日志保留(天)",
13100
- "runtime.retention.approvalDays": "审批历史保留(天)",
13101
- "runtime.log.level": "日志级别",
13102
- "runtime.daq.mqttQos": "MQTT QoS",
13103
- "runtime.daq.mqttUsername": "MQTT 用户名",
13104
- "runtime.daq.mqttPassword": "MQTT 密码",
13105
- "runtime.daq.mqttCaFile": "MQTT CA 证书",
13106
- "runtime.daq.mqttRejectUnauthorized": "MQTT 校验证书",
13107
- "runtime.daq.samplingDefaultIntervalMs": "节点采样默认间隔(ms)",
13108
- "runtime.daq.samplingMinIntervalMs": "节点采样下限(ms)",
13109
- "runtime.daq.queryDefaultBucketMs": "时序查询默认间隔(ms)",
13110
- "runtime.daq.queryMinBucketMs": "时序查询下限(ms)",
13111
- "runtime.daq.tsRetentionH": "标量时序保留(h)",
13112
- "runtime.daq.frameRetentionH": "帧元数据保留(h)",
13113
- "runtime.daq.alarmWebhookUrl": "告警 Webhook",
13114
- "runtime.daq.alarmEscalateMinutes": "告警升级时限(min)",
13115
- "runtime.security.hitlTimeoutMs": "HITL 审批超时(ms)",
13116
- "title": "系统设置",
13117
- "subtitle": "配置应用基本信息、主题外观与通知偏好",
13118
- "basic": "基本设置",
13119
- "basicDesc": "应用的名称、描述等基础信息",
13120
- "theme": "主题设置",
13121
- "themeDesc": "自定义主色调与显示模式",
13122
- "notification": "通知设置",
13123
- "notificationDesc": "管理系统消息通知的推送方式",
13124
- "appName": "应用名称",
13125
- "appDesc": "应用描述",
13126
- "primaryColor": "主题色",
13127
- "themeMode": "显示模式",
13128
- "appearanceDesc": "主题色、深浅模式与语言偏好,实时生效并自动持久化(localStorage)。",
13129
- "accentDesc": "默认品牌绿,与 Digital Twin 控制室同源;可选低饱和预设,悬停预览即时生效。",
13130
- "accentInk": "品牌",
13131
- "accentStone": "琥珀",
13132
- "accentMoss": "苔绿",
13133
- "accentSlate": "靛蓝",
13134
- "accentPlum": "紫檀",
13135
- "accentClay": "陶赭",
13136
- "accentApplied": "主题色已应用",
13137
- "accentReset": "已恢复默认主题色(跟随 config.yml)",
13138
- "accentResetAction": "恢复默认",
13139
- "darkDesc": "深海军蓝控制室暗阶,与数字孪生空间同一视觉语言;亮色模式保留编辑风格。",
13140
- "languageDesc": "界面语言(zh-CN / en),选择即生效。",
13141
- "systemTab": "系统",
13142
- "systemDesc": "只读运行参数(同源 config.yml,经 nuxt.config runtimeConfig 注入)。",
13143
- "identity": "当前身份",
13144
- "identityGuest": "当前未登录(工作台数据需登录后查看)",
13145
- "emailNotify": "邮件通知",
13146
- "emailNotifyDesc": "重要事件通过邮件推送给管理员",
13147
- "smsNotify": "短信通知",
13148
- "smsNotifyDesc": "紧急告警通过短信即时送达",
13149
- "pushNotify": "站内推送",
13150
- "pushNotifyDesc": "浏览器内实时消息提醒",
13151
- "saveSuccess": "设置已保存",
13152
- "runtimeTab": "运行配置",
13153
- "runtime": {
13086
+ title: "系统设置",
13087
+ subtitle: "配置应用基本信息、主题外观与通知偏好",
13088
+ basic: "基本设置",
13089
+ basicDesc: "应用的名称、描述等基础信息",
13090
+ theme: "主题设置",
13091
+ themeDesc: "自定义主色调与显示模式",
13092
+ notification: "通知设置",
13093
+ notificationDesc: "管理系统消息通知的推送方式",
13094
+ appName: "应用名称",
13095
+ appDesc: "应用描述",
13096
+ primaryColor: "主题色",
13097
+ themeMode: "显示模式",
13098
+ appearanceDesc: "主题色、深浅模式与语言偏好,实时生效并自动持久化(localStorage)。",
13099
+ accentDesc: "默认品牌绿,与 Digital Twin 控制室同源;可选低饱和预设,悬停预览即时生效。",
13100
+ accentInk: "品牌",
13101
+ accentStone: "琥珀",
13102
+ accentMoss: "苔绿",
13103
+ accentSlate: "靛蓝",
13104
+ accentPlum: "紫檀",
13105
+ accentClay: "陶赭",
13106
+ accentApplied: "主题色已应用",
13107
+ accentReset: "已恢复默认主题色(跟随 config.yml)",
13108
+ accentResetAction: "恢复默认",
13109
+ darkDesc: "深海军蓝控制室暗阶,与数字孪生空间同一视觉语言;亮色模式保留编辑风格。",
13110
+ languageDesc: "界面语言(zh-CN / en),选择即生效。",
13111
+ systemTab: "系统",
13112
+ systemDesc: "只读运行参数(同源 config.yml,经 nuxt.config runtimeConfig 注入)。",
13113
+ identity: "当前身份",
13114
+ identityGuest: "当前未登录(工作台数据需登录后查看)",
13115
+ emailNotify: "邮件通知",
13116
+ emailNotifyDesc: "重要事件通过邮件推送给管理员",
13117
+ smsNotify: "短信通知",
13118
+ smsNotifyDesc: "紧急告警通过短信即时送达",
13119
+ pushNotify: "站内推送",
13120
+ pushNotifyDesc: "浏览器内实时消息提醒",
13121
+ saveSuccess: "设置已保存",
13122
+ runtimeTab: "运行配置",
13123
+ runtime: {
13124
+ groupMemory: "记忆系统",
13125
+ groupOmp: "Agent Harness",
13126
+ groupDcw: "数控写控",
13127
+ groupWorkshop: "车间运行",
13128
+ groupBackup: "数据备份",
13129
+ groupRetention: "数据保留",
13130
+ groupLog: "日志",
13154
13131
  title: "运行配置",
13155
13132
  desc: "服务端持久化的运行参数:live 键保存即热重载生效(无需刷新),restart 键下次启动生效。与 CLI(aw config)同源同通道。",
13156
13133
  live: "实时",
@@ -13169,14 +13146,95 @@ var zh_CN_default$1 = {
13169
13146
  groupSecurity: "安全",
13170
13147
  groupDaq: "数采",
13171
13148
  groupApi: "API",
13172
- groupMemory: "记忆系统",
13173
- groupOmp: "Agent Harness",
13174
13149
  groupHarness: "Harness 接入",
13175
- groupDcw: "数控写控",
13176
- groupWorkshop: "车间运行",
13177
- groupBackup: "数据备份",
13178
- groupRetention: "数据保留",
13179
- groupLog: "日志",
13150
+ groupPlugins: "插件",
13151
+ memory: {
13152
+ primerTokens: "记忆引子预算",
13153
+ injectTotal: "记忆注入硬顶",
13154
+ maintenanceMs: "记忆维护周期(ms)",
13155
+ expireDays: "情景记忆过期(天)",
13156
+ expireSessionDays: "会话记忆过期(天)",
13157
+ cap: "记忆条目上限",
13158
+ reflectTrigger: "反思触发阈值",
13159
+ embedBaseUrl: "Embedding 端点",
13160
+ embedModel: "Embedding 模型",
13161
+ embedApiKey: "Embedding 密钥"
13162
+ },
13163
+ omp: {
13164
+ compactEnabled: "上下文自动压缩",
13165
+ compactThreshold: "压缩阈值",
13166
+ compactMinIntervalMs: "压缩最小间隔(ms)",
13167
+ compactWaitMs: "压缩等待超时(ms)"
13168
+ },
13169
+ dcw: {
13170
+ rollbackCooldownMs: "回退冷却(ms)",
13171
+ rollbackMinWindowMs: "回退最小观察窗(ms)",
13172
+ rollbackBaselineMs: "基线稳定窗(ms)",
13173
+ rollbackStaleMs: "open 记录过期(ms)"
13174
+ },
13175
+ workshop: {
13176
+ idleSweepMs: "空产线扫描(ms)",
13177
+ idleGraceMs: "空闲宽限(ms)"
13178
+ },
13179
+ backup: {
13180
+ disabled: "禁用自动备份",
13181
+ intervalHours: "备份间隔(h)",
13182
+ keep: "备份保留份数"
13183
+ },
13184
+ retention: {
13185
+ disabled: "禁用数据保留策略",
13186
+ eventsDays: "事件保留(天)",
13187
+ messagesDays: "消息保留(天)",
13188
+ auditDays: "审计日志保留(天)",
13189
+ approvalDays: "审批历史保留(天)"
13190
+ },
13191
+ log: { level: "日志级别" },
13192
+ daq: {
13193
+ mqttQos: "MQTT QoS",
13194
+ mqttUsername: "MQTT 用户名",
13195
+ mqttPassword: "MQTT 密码",
13196
+ mqttCaFile: "MQTT CA 证书",
13197
+ mqttRejectUnauthorized: "MQTT 校验证书",
13198
+ samplingDefaultIntervalMs: "节点采样默认间隔(ms)",
13199
+ samplingMinIntervalMs: "节点采样下限(ms)",
13200
+ queryDefaultBucketMs: "时序查询默认间隔(ms)",
13201
+ queryMinBucketMs: "时序查询下限(ms)",
13202
+ tsRetentionH: "标量时序保留(h)",
13203
+ frameRetentionH: "帧元数据保留(h)",
13204
+ alarmWebhookUrl: "告警 Webhook",
13205
+ alarmEscalateMinutes: "告警升级时限(min)",
13206
+ startInfrastructure: "数采基础设施拉起策略",
13207
+ mqttHost: "MQTT Broker 地址",
13208
+ mqttPort: "MQTT Broker 端口",
13209
+ tsHost: "时序库地址",
13210
+ tsPort: "时序库端口",
13211
+ publishDefaultIntervalMs: "WS 下发默认间隔(ms)",
13212
+ publishMinIntervalMs: "WS 下发下限(ms)",
13213
+ queryDisplayIntervalMs: "趋势图刷新间隔(ms)",
13214
+ queryMinDisplayIntervalMs: "趋势图刷新下限(ms)"
13215
+ },
13216
+ aml: {
13217
+ pythonBin: "Python 解释器",
13218
+ uvBin: "uv 可执行",
13219
+ indexUrl: "pip 镜像源",
13220
+ jobTimeoutMs: "作业墙钟超时(ms)",
13221
+ jobMaxConcurrent: "最大并发作业",
13222
+ jobDiskQuotaMb: "AML 磁盘配额(MB)",
13223
+ jobStallMs: "作业停摆判定(ms)",
13224
+ datasetMaxRows: "数据集行数上限",
13225
+ datasetRetentionDays: "无引用数据集保留(天)",
13226
+ allowCrossRecipe: "允许跨 Recipe 合并",
13227
+ retiredKeepDays: "退役模型工件保留(天)",
13228
+ gateNrmse: "门禁:单步 NRMSE",
13229
+ gateRolloutNrmse: "门禁:多步滚动 NRMSE",
13230
+ gateValTestGap: "门禁:泛化差",
13231
+ gateMinRows: "门禁:最少样本行",
13232
+ gateMinRuns: "门禁:最少批次数"
13233
+ },
13234
+ security: {
13235
+ hitlTimeoutMs: "HITL 审批超时(ms)",
13236
+ approvalGate: "高危操作双人复核"
13237
+ },
13180
13238
  server: {
13181
13239
  host: "监听地址",
13182
13240
  devPort: "开发端口",
@@ -13196,15 +13254,36 @@ var zh_CN_default$1 = {
13196
13254
  primaryColor: "主题色",
13197
13255
  mode: "显示模式"
13198
13256
  },
13199
- i18n: { defaultLocale: "默认语言" },
13200
- security: { approvalGate: "高危操作双人复核" },
13201
- daq: {
13202
- startInfrastructure: "数采基础设施拉起策略",
13203
- mqttHost: "MQTT Broker 地址",
13204
- mqttPort: "MQTT Broker 端口",
13205
- tsHost: "时序库地址",
13206
- tsPort: "时序库端口"
13207
- }
13257
+ i18n: { defaultLocale: "默认语言" }
13258
+ },
13259
+ groups: {
13260
+ toggleAll: "展开/收起全部分组",
13261
+ expandAll: "全部展开",
13262
+ collapseAll: "全部收起",
13263
+ count: "共 {p0} 个分组",
13264
+ newGroup: "新建分组",
13265
+ namePlaceholder: "分组名称(如「现场网络」)",
13266
+ descPlaceholder: "分组说明(可选)",
13267
+ defaultCollapsed: "默认折叠",
13268
+ create: "创建",
13269
+ cancel: "取消",
13270
+ ok: "确定",
13271
+ rename: "重命名",
13272
+ moveUp: "上移",
13273
+ moveDown: "下移",
13274
+ delete: "删除分组",
13275
+ created: "分组已创建",
13276
+ renamed: "分组已重命名",
13277
+ deleted: "分组已删除",
13278
+ createFail: "创建分组失败",
13279
+ updateFail: "更新分组失败",
13280
+ deleteFail: "删除分组失败",
13281
+ deleteHasFields: "分组「{p0}」还有 {p1} 个字段,请先移走再删除",
13282
+ fields: "{p0} 项",
13283
+ emptyHint: "该分组暂无字段 —— 可用 API 或插件向此分组登记配置项",
13284
+ srcBuiltin: "内置",
13285
+ srcUser: "自建",
13286
+ srcPlugin: "插件"
13208
13287
  }
13209
13288
  },
13210
13289
  monitor: {
@@ -13280,6 +13359,7 @@ var zh_CN_default$1 = {
13280
13359
  },
13281
13360
  agents: {
13282
13361
  notInstalled: "未安装",
13362
+ installLink: "前往官网安装 ↗",
13283
13363
  harnessInprocess: "进程内引擎 · 恒可用",
13284
13364
  k3pa5h4025: "模板库",
13285
13365
  k3xhia001: "名称",
@@ -13590,106 +13670,45 @@ var zh_CN_default$1 = {
13590
13670
  k3xmid028: "告警",
13591
13671
  k44c2n029: "离线",
13592
13672
  k1m1zwux030: "每帧(随采样)",
13593
- k3lha20031: "原始点"
13673
+ k3lha20031: "原始点",
13674
+ k1rfrshint001: "趋势图自动拉取间隔(ms);留空或 0 = 跟随服务端默认(daq.query.displayIntervalMs),最小 {p0}ms"
13594
13675
  },
13595
13676
  logs: {
13596
- "src.user": "用户",
13597
- "src.system": "系统",
13598
- "kind.write": "下发",
13599
- "kind.manual": "人工",
13600
- "kind.alarm": "告警",
13601
- "kind.line": "产线",
13602
- "kind.recipe": "配方",
13603
- "kind.rollback": "回退",
13604
- "kind.daq": "数采",
13605
- "kind.system": "系统",
13606
- "title": "运维日志",
13607
- "sub": "全操作统一记录:下发了什么控制、用户与 Agent 做了什么操作;按产线/产品/Recipe 隔离查询",
13608
- "live": "实时",
13609
- "liveHint": "WS 实时接收操作事件(仅摘要渲染;完整详情查询于下表)",
13610
- "all": "全部",
13611
- "fLine": "产线",
13612
- "fProduct": "产品",
13613
- "fSource": "来源",
13614
- "fKind": "分类",
13615
- "fKeyword": "关键词",
13616
- "fKeywordPh": "搜索摘要/操作/操作者…",
13617
- "query": "查询",
13618
- "reset": "重置",
13619
- "thTime": "时间",
13620
- "thActor": "操作者",
13621
- "thSummary": "事件摘要",
13622
- "thScope": "归属(产线/产品/Recipe)",
13623
- "thDetail": "详情",
13624
- "expand": "详情",
13625
- "fold": "收起",
13626
- "loading": "查询中…",
13627
- "empty": "无匹配日志",
13628
- "src.user": "用户",
13629
- "src.system": "系统",
13630
- "kind.write": "下发",
13631
- "kind.manual": "人工",
13632
- "kind.alarm": "告警",
13633
- "kind.line": "产线",
13634
- "kind.recipe": "配方",
13635
- "kind.rollback": "回退",
13636
- "kind.daq": "数采",
13637
- "kind.system": "系统",
13638
- "mSummary": "记录内容",
13639
- "mSummaryPh": "如:更换 3 号烘箱加热丝,当前批次延长保温 10 分钟",
13640
- "mDetail": "详情(可选)",
13641
- "mDetailPh": "补充说明、处置过程、关联单号等(将存入日志详情)",
13642
- "mSubmit": "入册",
13643
- "mOk": "已入册",
13644
- "src.user": "用户",
13645
- "src.system": "系统",
13646
- "kind.write": "下发",
13647
- "kind.manual": "人工",
13648
- "kind.alarm": "告警",
13649
- "kind.line": "产线",
13650
- "kind.recipe": "配方",
13651
- "kind.rollback": "回退",
13652
- "kind.daq": "数采",
13653
- "kind.system": "系统",
13654
- "src.user": "用户",
13655
- "src.system": "系统",
13656
- "kind.write": "下发",
13657
- "kind.manual": "人工",
13658
- "kind.alarm": "告警",
13659
- "kind.line": "产线",
13660
- "kind.recipe": "配方",
13661
- "kind.rollback": "回退",
13662
- "kind.daq": "数采",
13663
- "kind.system": "系统",
13664
- "title": "运维日志",
13665
- "sub": "全操作统一记录:下发了什么控制、用户与 Agent 做了什么操作;按产线/产品/Recipe 隔离查询",
13666
- "live": "实时",
13667
- "liveHint": "WS 实时接收操作事件(仅摘要渲染;完整详情查询于下表)",
13668
- "manual": "人工记录",
13669
- "all": "全部",
13670
- "fLine": "产线",
13671
- "fProduct": "产品",
13672
- "fSource": "来源",
13673
- "fKind": "分类",
13674
- "fKeyword": "关键词",
13675
- "fKeywordPh": "搜索摘要/操作/操作者…",
13676
- "query": "查询",
13677
- "reset": "重置",
13678
- "thTime": "时间",
13679
- "thActor": "操作者",
13680
- "thSummary": "事件摘要",
13681
- "thScope": "归属(产线/产品/Recipe)",
13682
- "thDetail": "详情",
13683
- "expand": "详情",
13684
- "fold": "收起",
13685
- "noDetail": "无",
13686
- "loading": "查询中…",
13687
- "empty": "无匹配日志",
13688
- "src": {
13677
+ title: "运维日志",
13678
+ sub: "全操作统一记录:下发了什么控制、用户与 Agent 做了什么操作;按产线/产品/Recipe 隔离查询",
13679
+ live: "实时",
13680
+ liveHint: "WS 实时接收操作事件(仅摘要渲染;完整详情查询于下表)",
13681
+ all: "全部",
13682
+ fLine: "产线",
13683
+ fProduct: "产品",
13684
+ fSource: "来源",
13685
+ fKind: "分类",
13686
+ fKeyword: "关键词",
13687
+ fKeywordPh: "搜索摘要/操作/操作者…",
13688
+ query: "查询",
13689
+ reset: "重置",
13690
+ thTime: "时间",
13691
+ thActor: "操作者",
13692
+ thSummary: "事件摘要",
13693
+ thScope: "归属(产线/产品/Recipe)",
13694
+ thDetail: "详情",
13695
+ expand: "详情",
13696
+ fold: "收起",
13697
+ loading: "查询中…",
13698
+ empty: "无匹配日志",
13699
+ mSummary: "记录内容",
13700
+ mSummaryPh: "如:更换 3 号烘箱加热丝,当前批次延长保温 10 分钟",
13701
+ mDetail: "详情(可选)",
13702
+ mDetailPh: "补充说明、处置过程、关联单号等(将存入日志详情)",
13703
+ mSubmit: "入册",
13704
+ mOk: "已入册",
13705
+ manual: "人工记录",
13706
+ noDetail: "无",
13707
+ src: {
13689
13708
  user: "用户",
13690
13709
  system: "系统"
13691
13710
  },
13692
- "kind": {
13711
+ kind: {
13693
13712
  write: "下发",
13694
13713
  manual: "人工",
13695
13714
  alarm: "告警",
@@ -13698,13 +13717,7 @@ var zh_CN_default$1 = {
13698
13717
  rollback: "回退",
13699
13718
  daq: "数采",
13700
13719
  system: "系统"
13701
- },
13702
- "mSummary": "记录内容",
13703
- "mSummaryPh": "如:更换 3 号烘箱加热丝,当前批次延长保温 10 分钟",
13704
- "mDetail": "详情(可选)",
13705
- "mDetailPh": "补充说明、处置过程、关联单号等(将存入日志详情)",
13706
- "mSubmit": "入册",
13707
- "mOk": "已入册"
13720
+ }
13708
13721
  },
13709
13722
  dcw: {
13710
13723
  k1qidbpy061: "缺省 {p0}(按创建序)",
@@ -13774,7 +13787,8 @@ var zh_CN_default$1 = {
13774
13787
  k48c07045: "通用",
13775
13788
  k6ugbw2046: "模板名称必填",
13776
13789
  k13awowo047: "工艺量程(min/max)必填",
13777
- k1bphrb3048: "删除失败"
13790
+ k1bphrb3048: "删除失败",
13791
+ k1b2ioko019: "产线名称"
13778
13792
  },
13779
13793
  dcwDetail: {
13780
13794
  staleDeleted: "已删除",
@@ -14032,7 +14046,15 @@ var zh_CN_default$1 = {
14032
14046
  k1xxabaf024: "已转为私有",
14033
14047
  k1kw4rtj025: "选择模板",
14034
14048
  k3n5hzw026: "已加入",
14035
- k1oxjrxx027: "已删除编组"
14049
+ k1oxjrxx027: "已删除编组",
14050
+ k1plugon040: "插件开关 · {p0}",
14051
+ k1plugon041: "插件(该编组启用哪些;部署时传导到目标 Channel)",
14052
+ k1plugon042: "勾选的插件在编组部署到 Channel 后对其成员生效;未勾选的插件工具对该团队隐藏",
14053
+ k1plugon043: "团队插件开关已保存",
14054
+ k1plugon044: "未显式配置 —— 当前默认全启用;切换任一开关后按行生效",
14055
+ k1plugon045: "已显式配置(按下方开关生效)",
14056
+ k1plugon046: "暂无已注册插件",
14057
+ k1plugon047: "插件开关…"
14036
14058
  },
14037
14059
  tokens: {
14038
14060
  k1upppaw026: "每个 token 可独立吊销;明文存档于服务端,可随时查看复制",
@@ -14284,7 +14306,10 @@ var zh_CN_default$1 = {
14284
14306
  k1hgfvdc030: "移出失败",
14285
14307
  kvsxlu6031: "已更新;成员运行时将按新设置回收重装配",
14286
14308
  k1i0ji0y032: "模板名必填",
14287
- kjpguxw033: "已捕获为 Channel 模板(场景/目录/团队快照)"
14309
+ kjpguxw033: "已捕获为 Channel 模板(场景/目录/团队快照)",
14310
+ k1plugon044: "插件开关已保存;该 Channel 在跑 Agent 的工具清单即时刷新",
14311
+ k1pluglbl045: "插件(本 Channel 独立开关;关闭后其工具对本团队 Agent 隐藏并拒绝调用)",
14312
+ k1plugsrc046: "未显式配置(默认全启用);首次切换后按行生效"
14288
14313
  },
14289
14314
  clusterArtifact: {
14290
14315
  kyh87lw001: "交付物正文与上方回复一致",
@@ -14843,7 +14868,15 @@ var zh_CN_default$1 = {
14843
14868
  failures: "装载失败",
14844
14869
  loadFailures: "{n} 个插件装载失败,详情见服务启动日志",
14845
14870
  enableFail: "启停操作失败",
14846
- detail: "插件详情"
14871
+ detail: "插件详情",
14872
+ desc: "平台插件清单:启停(admin,热重载生效)与连接健康检测。",
14873
+ needLogin: "登录后可查看与管理插件",
14874
+ builtin: "内置",
14875
+ adminRequired: "该操作需要管理员权限",
14876
+ healthCheck: "检测连接",
14877
+ healthChecking: "检测中…",
14878
+ healthOk: "正常",
14879
+ healthBad: "异常"
14847
14880
  },
14848
14881
  errors: {
14849
14882
  http400: "请求参数有误,请检查后重试",
@@ -14885,6 +14918,179 @@ var zh_CN_default$1 = {
14885
14918
  error: {
14886
14919
  backHome: "返回首页",
14887
14920
  lost: "页面走失了"
14921
+ },
14922
+ aml: {
14923
+ k1amlx001: "AML 自动建模",
14924
+ k1amlx002: "数据集快照 → 训练作业 → 实验门禁 → 模型注册全链路;作业进度经 WS 实时帧推送,平台门禁判定为准。",
14925
+ k1amlx003: "Python 运行时",
14926
+ k1amlx004: "就绪",
14927
+ k1amlx005: "不可用",
14928
+ k1amlx006: "依赖环境",
14929
+ k1amlx007: "已备好",
14930
+ k1amlx008: "未就绪",
14931
+ k1amlx009: "排队",
14932
+ k1amlx010: "运行",
14933
+ k1amlx011: "数据集",
14934
+ k1amlx012: "模型",
14935
+ k1amlx013: "生产模型",
14936
+ k1amlx014: "训练/预测均不可执行:",
14937
+ k1amlx015: "平台状态加载失败",
14938
+ k1amlx016: "数据集快照",
14939
+ k1amlx017: "刷新",
14940
+ k1amlx018: "新建数据集",
14941
+ k1amlx019: "暂无数据集 —— 从产线历史批次构建对齐快照后即可提交训练。",
14942
+ k1amlx020: "时间",
14943
+ k1amlx021: "产品",
14944
+ k1amlx022: "配方",
14945
+ k1amlx023: "行数",
14946
+ k1amlx024: "批次",
14947
+ k1amlx025: "创建者",
14948
+ k1amlx026: "备注",
14949
+ k1amlx027: "清洗报告(逐节点)",
14950
+ k1amlx028: "滞后估计(控制 → 目标互相关)",
14951
+ k1amlx029: "Run 概览",
14952
+ k1amlx030: "加载中…",
14953
+ k1amlx031: "详情加载失败",
14954
+ k1amlx032: "无滞后估计(需同时存在 control 与 target 节点)",
14955
+ k1amlx033: "节点",
14956
+ k1amlx034: "角色",
14957
+ k1amlx035: "剔除率",
14958
+ k1amlx036: "缺失率",
14959
+ k1amlx037: "均值",
14960
+ k1amlx038: "σ",
14961
+ k1amlx039: "min~max",
14962
+ k1amlx040: "控制",
14963
+ k1amlx041: "目标",
14964
+ k1amlx042: "滞后(拍)",
14965
+ k1amlx043: "峰值相关",
14966
+ k1amlx044: "使用批次",
14967
+ k1amlx045: "丢弃批次",
14968
+ k1amlx046: "窗口 train/val/test",
14969
+ k1amlx047: "无构建报告(旧快照)",
14970
+ k1amlx048: "无",
14971
+ k1amlx049: "用户",
14972
+ k1amlx050: "新建数据集快照",
14973
+ k1amlx051: "产线 ID",
14974
+ k1amlx052: "产品 ID",
14975
+ k1amlx053: "配方 ID",
14976
+ k1amlx054: "节点角色表(至少 1 个 target)",
14977
+ k1amlx055: "加一行",
14978
+ k1amlx056: "节点 ID",
14979
+ k1amlx057: "control(可控输入)",
14980
+ k1amlx058: "feature(历史特征)",
14981
+ k1amlx059: "target(预测目标)",
14982
+ k1amlx060: "对齐节拍 ms",
14983
+ k1amlx061: "历史窗(拍)",
14984
+ k1amlx062: "预测窗(拍)",
14985
+ k1amlx063: "val 比例",
14986
+ k1amlx064: "test 比例",
14987
+ k1amlx065: "随机种子",
14988
+ k1amlx066: "用途",
14989
+ k1amlx067: "mpc_surrogate(MPC 代理)",
14990
+ k1amlx068: "quality_predict(质量预测)",
14991
+ k1amlx069: "构建目的/口径说明(可选)",
14992
+ k1amlx070: "构建中…",
14993
+ k1amlx071: "取消",
14994
+ k1amlx072: "构建快照",
14995
+ k1amlx073: "数据集已构建:{p0}(行 {p1})",
14996
+ k1amlx074: "训练作业",
14997
+ k1amlx075: "暂无训练作业 —— 选定数据集后经 Agent 工具或 API 提交。",
14998
+ k1amlx076: "作业",
14999
+ k1amlx077: "状态",
15000
+ k1amlx078: "阶段",
15001
+ k1amlx079: "进度",
15002
+ k1amlx080: "门禁通过",
15003
+ k1amlx081: "门禁未过",
15004
+ k1amlx082: "门禁待判",
15005
+ k1amlx083: "平台门禁",
15006
+ k1amlx084: "门禁项",
15007
+ k1amlx085: "实测",
15008
+ k1amlx086: "阈值",
15009
+ k1amlx087: "通过",
15010
+ k1amlx088: "未过",
15011
+ k1amlx089: "运行日志(尾随)",
15012
+ k1amlx090: "暂无日志",
15013
+ k1amlx091: "活跃作业日志 5s 轮询中",
15014
+ k1amlx092: "失败原因",
15015
+ k1amlx093: "取消中…",
15016
+ k1amlx094: "确认取消",
15017
+ k1amlx095: "重试",
15018
+ k1amlx096: "确认重试",
15019
+ k1amlx097: "已请求取消:{p0}",
15020
+ k1amlx098: "已重新排队:{p0}",
15021
+ k1amlx099: "指标",
15022
+ k1amlx100: "排队中",
15023
+ k1amlx101: "备环境",
15024
+ k1amlx102: "训练",
15025
+ k1amlx103: "评估",
15026
+ k1amlx104: "完成",
15027
+ k1amlx105: "失败",
15028
+ k1amlx106: "已取消",
15029
+ k1amlx107: "超时",
15030
+ k1amlx108: "已中断",
15031
+ k1amlx109: "实验排行榜",
15032
+ k1amlx110: "选择数据集查看谱系",
15033
+ k1amlx111: "— 选择数据集 —",
15034
+ k1amlx112: "该数据集暂无实验 —— 提交训练作业后此处呈现谱系与门禁。",
15035
+ k1amlx113: "实验",
15036
+ k1amlx114: "变更说明",
15037
+ k1amlx115: "父实验",
15038
+ k1amlx116: "G1 单步",
15039
+ k1amlx117: "G2 滚动",
15040
+ k1amlx118: "门禁态",
15041
+ k1amlx119: "运行中",
15042
+ k1amlx120: "最优",
15043
+ k1amlx121: "测试集单步 NRMSE(越小越好)",
15044
+ k1amlx122: "测试集滚动 NRMSE(越小越好)",
15045
+ k1amlx123: "模型注册表",
15046
+ k1amlx124: "注册表为空 —— 门禁通过的实验会自动登记 candidate 模型。",
15047
+ k1amlx125: "模型",
15048
+ k1amlx126: "指标(G1 单步 / G2 滚动 NRMSE)",
15049
+ k1amlx127: "操作",
15050
+ k1amlx128: "晋升 shadow",
15051
+ k1amlx129: "晋升 production",
15052
+ k1amlx130: "退役",
15053
+ k1amlx131: "确认执行",
15054
+ k1amlx132: "已晋升:{p0} → {p1}",
15055
+ k1amlx133: "预测控制台(what-if)",
15056
+ k1amlx134: "— 选择 production 模型 —",
15057
+ k1amlx135: "暂无 production 模型 —— 先在注册表晋升,再回此做预测。",
15058
+ k1amlx136: "IO 规格",
15059
+ k1amlx137: "全部节点",
15060
+ k1amlx138: "控制节点",
15061
+ k1amlx139: "目标节点",
15062
+ k1amlx140: "历史窗",
15063
+ k1amlx141: "预测窗",
15064
+ k1amlx142: "节拍",
15065
+ k1amlx143: "history 输入([H][nAll] JSON;列序 = allNodes)",
15066
+ k1amlx144: "[[21.4,0.82,…], …] — H×nAll 数值矩阵",
15067
+ k1amlx145: "拉取最新",
15068
+ k1amlx146: "页面暂不内联拉数:让 Agent 用数采查询工具取该配方最近 H 拍,粘贴为 JSON 矩阵。",
15069
+ k1amlx147: "滚动步数(≤预测窗,空 = 全额)",
15070
+ k1amlx148: "预测",
15071
+ k1amlx149: "推理中…",
15072
+ k1amlx150: "预测结果 forecast",
15073
+ k1amlx151: "步",
15074
+ k1amlx152: "t+(s)",
15075
+ k1amlx153: "history JSON 解析失败:",
15076
+ k1amlx154: "预测完成:{p0} 步 × {p1} 目标",
15077
+ k1amlx155: "模型口径",
15078
+ k1amlx156: "controls 轨迹(可选,[≤H][nControl] JSON)",
15079
+ k1amlx157: "操作失败",
15080
+ k1amlx158: "建模",
15081
+ k1amlx159: "AML 自动建模平台",
15082
+ k1amlx160: "AML 自动建模 · AgentWorkShop",
15083
+ k1amlx161: "请补全:产线 / 产品 / 配方 ID 均为必填"
15084
+ },
15085
+ teamPlugins: {
15086
+ k1plugon040: "插件开关 · {p0}",
15087
+ k1plugon041: "启用插件",
15088
+ k1plugon042: "未选中的插件其工具不会注入该团队 Agent,避免上下文污染",
15089
+ k1plugon043: "已保存",
15090
+ k1plugon044: "默认全启用(尚未单独配置)",
15091
+ k1plugon045: "已单独配置",
15092
+ k1plugon046: "插件已全部停用",
15093
+ k1plugon047: "插件开关…"
14888
15094
  }
14889
15095
  };
14890
15096
  //#endregion
@@ -14905,6 +15111,11 @@ var en_default = {
14905
15111
  },
14906
15112
  menu: {
14907
15113
  system: "AgentWorkShop",
15114
+ groups: {
15115
+ console: "Console",
15116
+ ops: "Operations",
15117
+ system: "System"
15118
+ },
14908
15119
  dashboard: "Dashboard",
14909
15120
  workshop: "Agent Harness",
14910
15121
  town: "AgentWorkShop",
@@ -15029,94 +15240,51 @@ var en_default = {
15029
15240
  disabled: "Disabled"
15030
15241
  },
15031
15242
  settings: {
15032
- "runtime.groupMemory": "Memory",
15033
- "runtime.groupOmp": "Agent Harness",
15034
- "runtime.groupDcw": "Write Control",
15035
- "runtime.groupWorkshop": "Workshop",
15036
- "runtime.groupBackup": "Backup",
15037
- "runtime.groupRetention": "Retention",
15038
- "runtime.groupLog": "Logs",
15039
- "runtime.memory.primerTokens": "Memory primer budget",
15040
- "runtime.memory.injectTotal": "Memory inject cap",
15041
- "runtime.memory.maintenanceMs": "Memory maintenance (ms)",
15042
- "runtime.memory.expireDays": "Episodic expiry (days)",
15043
- "runtime.memory.expireSessionDays": "Session expiry (days)",
15044
- "runtime.memory.cap": "Memory entry cap",
15045
- "runtime.memory.reflectTrigger": "Reflection trigger",
15046
- "runtime.memory.embedBaseUrl": "Embedding endpoint",
15047
- "runtime.memory.embedModel": "Embedding model",
15048
- "runtime.memory.embedApiKey": "Embedding key",
15049
- "runtime.omp.compactEnabled": "Auto compaction",
15050
- "runtime.omp.compactThreshold": "Compaction threshold",
15051
- "runtime.omp.compactMinIntervalMs": "Min compaction interval (ms)",
15052
- "runtime.omp.compactWaitMs": "Compaction wait timeout (ms)",
15053
- "runtime.dcw.rollbackCooldownMs": "Rollback cooldown (ms)",
15054
- "runtime.dcw.rollbackMinWindowMs": "Min observe window (ms)",
15055
- "runtime.dcw.rollbackBaselineMs": "Baseline window (ms)",
15056
- "runtime.dcw.rollbackStaleMs": "Open record staleness (ms)",
15057
- "runtime.workshop.idleSweepMs": "Idle sweep (ms)",
15058
- "runtime.workshop.idleGraceMs": "Idle grace (ms)",
15059
- "runtime.backup.disabled": "Disable auto backup",
15060
- "runtime.backup.intervalHours": "Backup interval (h)",
15061
- "runtime.backup.keep": "Backups to keep",
15062
- "runtime.retention.disabled": "Disable retention sweep",
15063
- "runtime.retention.eventsDays": "Events retention (days)",
15064
- "runtime.retention.messagesDays": "Messages retention (days)",
15065
- "runtime.retention.auditDays": "Audit retention (days)",
15066
- "runtime.retention.approvalDays": "Approval history retention (days)",
15067
- "runtime.log.level": "Log level",
15068
- "runtime.daq.mqttQos": "MQTT QoS",
15069
- "runtime.daq.mqttUsername": "MQTT username",
15070
- "runtime.daq.mqttPassword": "MQTT password",
15071
- "runtime.daq.mqttCaFile": "MQTT CA certificate",
15072
- "runtime.daq.mqttRejectUnauthorized": "MQTT verify certificate",
15073
- "runtime.daq.samplingDefaultIntervalMs": "Default sampling interval (ms)",
15074
- "runtime.daq.samplingMinIntervalMs": "Sampling floor (ms)",
15075
- "runtime.daq.queryDefaultBucketMs": "Default TS query bucket (ms)",
15076
- "runtime.daq.queryMinBucketMs": "TS query floor (ms)",
15077
- "runtime.daq.tsRetentionH": "Scalar TS retention (h)",
15078
- "runtime.daq.frameRetentionH": "Frame retention (h)",
15079
- "runtime.daq.alarmWebhookUrl": "Alarm webhook",
15080
- "runtime.daq.alarmEscalateMinutes": "Alarm escalate (min)",
15081
- "runtime.security.hitlTimeoutMs": "HITL approval timeout (ms)",
15082
- "title": "System Settings",
15083
- "subtitle": "Configure app basics, theme appearance and notifications",
15084
- "basic": "General",
15085
- "basicDesc": "Application name, description and other basics",
15086
- "theme": "Appearance",
15087
- "themeDesc": "Customize primary color and display mode",
15088
- "notification": "Notifications",
15089
- "notificationDesc": "Manage how system messages are delivered",
15090
- "appName": "App Name",
15091
- "appDesc": "Description",
15092
- "primaryColor": "Primary Color",
15093
- "themeMode": "Display Mode",
15094
- "appearanceDesc": "Accent color, dark mode and language, applied live and persisted automatically (localStorage).",
15095
- "accentDesc": "Warm-editorial defaults to the ink pill; pick a muted preset to preview instantly.",
15096
- "accentInk": "Ink",
15097
- "accentStone": "Amber",
15098
- "accentMoss": "Moss",
15099
- "accentSlate": "Slate",
15100
- "accentPlum": "Plum",
15101
- "accentClay": "Clay",
15102
- "accentApplied": "Accent applied",
15103
- "accentReset": "Reset to default ink (follows config.yml)",
15104
- "accentResetAction": "Reset to default ink",
15105
- "darkDesc": "Deep-navy control-room dark ramp; light mode keeps the editorial paper look.",
15106
- "languageDesc": "Interface language (zh-CN / en); applies immediately.",
15107
- "systemTab": "System",
15108
- "systemDesc": "Read-only runtime parameters (sourced from config.yml via nuxt.config runtimeConfig).",
15109
- "identity": "Signed in as",
15110
- "identityGuest": "Not signed in (workshop data requires sign-in)",
15111
- "emailNotify": "Email Notifications",
15112
- "emailNotifyDesc": "Push important events to administrators via email",
15113
- "smsNotify": "SMS Notifications",
15114
- "smsNotifyDesc": "Deliver urgent alerts instantly via SMS",
15115
- "pushNotify": "In-App Push",
15116
- "pushNotifyDesc": "Real-time message alerts in the browser",
15117
- "saveSuccess": "Settings saved",
15118
- "runtimeTab": "Runtime config",
15119
- "runtime": {
15243
+ title: "System Settings",
15244
+ subtitle: "Configure app basics, theme appearance and notifications",
15245
+ basic: "General",
15246
+ basicDesc: "Application name, description and other basics",
15247
+ theme: "Appearance",
15248
+ themeDesc: "Customize primary color and display mode",
15249
+ notification: "Notifications",
15250
+ notificationDesc: "Manage how system messages are delivered",
15251
+ appName: "App Name",
15252
+ appDesc: "Description",
15253
+ primaryColor: "Primary Color",
15254
+ themeMode: "Display Mode",
15255
+ appearanceDesc: "Accent color, dark mode and language, applied live and persisted automatically (localStorage).",
15256
+ accentDesc: "Warm-editorial defaults to the ink pill; pick a muted preset to preview instantly.",
15257
+ accentInk: "Ink",
15258
+ accentStone: "Amber",
15259
+ accentMoss: "Moss",
15260
+ accentSlate: "Slate",
15261
+ accentPlum: "Plum",
15262
+ accentClay: "Clay",
15263
+ accentApplied: "Accent applied",
15264
+ accentReset: "Reset to default ink (follows config.yml)",
15265
+ accentResetAction: "Reset to default ink",
15266
+ darkDesc: "Deep-navy control-room dark ramp; light mode keeps the editorial paper look.",
15267
+ languageDesc: "Interface language (zh-CN / en); applies immediately.",
15268
+ systemTab: "System",
15269
+ systemDesc: "Read-only runtime parameters (sourced from config.yml via nuxt.config runtimeConfig).",
15270
+ identity: "Signed in as",
15271
+ identityGuest: "Not signed in (workshop data requires sign-in)",
15272
+ emailNotify: "Email Notifications",
15273
+ emailNotifyDesc: "Push important events to administrators via email",
15274
+ smsNotify: "SMS Notifications",
15275
+ smsNotifyDesc: "Deliver urgent alerts instantly via SMS",
15276
+ pushNotify: "In-App Push",
15277
+ pushNotifyDesc: "Real-time message alerts in the browser",
15278
+ saveSuccess: "Settings saved",
15279
+ runtimeTab: "Runtime config",
15280
+ runtime: {
15281
+ groupMemory: "Memory",
15282
+ groupOmp: "Agent Harness",
15283
+ groupDcw: "Write Control",
15284
+ groupWorkshop: "Workshop",
15285
+ groupBackup: "Backup",
15286
+ groupRetention: "Retention",
15287
+ groupLog: "Logs",
15120
15288
  title: "Runtime config",
15121
15289
  desc: "Server-backed runtime parameters: live keys apply instantly over SSE (no reload); restart keys take effect on the next launch of the matching mode. Same channel as the `aw config` CLI.",
15122
15290
  live: "live",
@@ -15135,14 +15303,95 @@ var en_default = {
15135
15303
  groupSecurity: "Security",
15136
15304
  groupDaq: "DAQ",
15137
15305
  groupApi: "API",
15138
- groupMemory: "Memory",
15139
- groupOmp: "Agent Harness",
15140
15306
  groupHarness: "Harness Adapters",
15141
- groupDcw: "Write Control",
15142
- groupWorkshop: "Workshop",
15143
- groupBackup: "Backup",
15144
- groupRetention: "Retention",
15145
- groupLog: "Logs",
15307
+ groupPlugins: "Plugins",
15308
+ memory: {
15309
+ primerTokens: "Memory primer budget",
15310
+ injectTotal: "Memory inject cap",
15311
+ maintenanceMs: "Memory maintenance (ms)",
15312
+ expireDays: "Episodic expiry (days)",
15313
+ expireSessionDays: "Session expiry (days)",
15314
+ cap: "Memory entry cap",
15315
+ reflectTrigger: "Reflection trigger",
15316
+ embedBaseUrl: "Embedding endpoint",
15317
+ embedModel: "Embedding model",
15318
+ embedApiKey: "Embedding key"
15319
+ },
15320
+ omp: {
15321
+ compactEnabled: "Auto compaction",
15322
+ compactThreshold: "Compaction threshold",
15323
+ compactMinIntervalMs: "Min compaction interval (ms)",
15324
+ compactWaitMs: "Compaction wait timeout (ms)"
15325
+ },
15326
+ dcw: {
15327
+ rollbackCooldownMs: "Rollback cooldown (ms)",
15328
+ rollbackMinWindowMs: "Min observe window (ms)",
15329
+ rollbackBaselineMs: "Baseline window (ms)",
15330
+ rollbackStaleMs: "Open record staleness (ms)"
15331
+ },
15332
+ workshop: {
15333
+ idleSweepMs: "Idle sweep (ms)",
15334
+ idleGraceMs: "Idle grace (ms)"
15335
+ },
15336
+ backup: {
15337
+ disabled: "Disable auto backup",
15338
+ intervalHours: "Backup interval (h)",
15339
+ keep: "Backups to keep"
15340
+ },
15341
+ retention: {
15342
+ disabled: "Disable retention sweep",
15343
+ eventsDays: "Events retention (days)",
15344
+ messagesDays: "Messages retention (days)",
15345
+ auditDays: "Audit retention (days)",
15346
+ approvalDays: "Approval history retention (days)"
15347
+ },
15348
+ log: { level: "Log level" },
15349
+ daq: {
15350
+ mqttQos: "MQTT QoS",
15351
+ mqttUsername: "MQTT username",
15352
+ mqttPassword: "MQTT password",
15353
+ mqttCaFile: "MQTT CA certificate",
15354
+ mqttRejectUnauthorized: "MQTT verify certificate",
15355
+ samplingDefaultIntervalMs: "Default sampling interval (ms)",
15356
+ samplingMinIntervalMs: "Sampling floor (ms)",
15357
+ queryDefaultBucketMs: "Default TS query bucket (ms)",
15358
+ queryMinBucketMs: "TS query floor (ms)",
15359
+ tsRetentionH: "Scalar TS retention (h)",
15360
+ frameRetentionH: "Frame retention (h)",
15361
+ alarmWebhookUrl: "Alarm webhook",
15362
+ alarmEscalateMinutes: "Alarm escalate (min)",
15363
+ startInfrastructure: "DAQ infra policy",
15364
+ mqttHost: "MQTT broker host",
15365
+ mqttPort: "MQTT broker port",
15366
+ tsHost: "Timescale host",
15367
+ tsPort: "Timescale port",
15368
+ publishDefaultIntervalMs: "Default WS push interval (ms)",
15369
+ publishMinIntervalMs: "WS push floor (ms)",
15370
+ queryDisplayIntervalMs: "Trend refresh interval (ms)",
15371
+ queryMinDisplayIntervalMs: "Trend refresh floor (ms)"
15372
+ },
15373
+ aml: {
15374
+ pythonBin: "Python interpreter",
15375
+ uvBin: "uv executable",
15376
+ indexUrl: "pip index mirror",
15377
+ jobTimeoutMs: "Job wall-clock timeout (ms)",
15378
+ jobMaxConcurrent: "Max concurrent jobs",
15379
+ jobDiskQuotaMb: "AML disk quota (MB)",
15380
+ jobStallMs: "Job stall threshold (ms)",
15381
+ datasetMaxRows: "Dataset row limit",
15382
+ datasetRetentionDays: "Unreferenced dataset retention (days)",
15383
+ allowCrossRecipe: "Allow cross-recipe merge",
15384
+ retiredKeepDays: "Retired model artifact retention (days)",
15385
+ gateNrmse: "Gate: one-step NRMSE",
15386
+ gateRolloutNrmse: "Gate: rollout NRMSE",
15387
+ gateValTestGap: "Gate: val/test gap",
15388
+ gateMinRows: "Gate: min sample rows",
15389
+ gateMinRuns: "Gate: min batch runs"
15390
+ },
15391
+ security: {
15392
+ hitlTimeoutMs: "HITL approval timeout (ms)",
15393
+ approvalGate: "Dual approval for high-risk ops"
15394
+ },
15146
15395
  server: {
15147
15396
  host: "Listen address",
15148
15397
  devPort: "Dev port",
@@ -15162,15 +15411,36 @@ var en_default = {
15162
15411
  primaryColor: "Primary color",
15163
15412
  mode: "Theme mode"
15164
15413
  },
15165
- i18n: { defaultLocale: "Default locale" },
15166
- security: { approvalGate: "Dual approval for high-risk ops" },
15167
- daq: {
15168
- startInfrastructure: "DAQ infra policy",
15169
- mqttHost: "MQTT broker host",
15170
- mqttPort: "MQTT broker port",
15171
- tsHost: "Timescale host",
15172
- tsPort: "Timescale port"
15173
- }
15414
+ i18n: { defaultLocale: "Default locale" }
15415
+ },
15416
+ groups: {
15417
+ toggleAll: "Expand/collapse all groups",
15418
+ expandAll: "Expand all",
15419
+ collapseAll: "Collapse all",
15420
+ count: "{p0} groups",
15421
+ newGroup: "New group",
15422
+ namePlaceholder: "Group name (e.g. Field network)",
15423
+ descPlaceholder: "Group description (optional)",
15424
+ defaultCollapsed: "Collapsed by default",
15425
+ create: "Create",
15426
+ cancel: "Cancel",
15427
+ ok: "OK",
15428
+ rename: "Rename",
15429
+ moveUp: "Move up",
15430
+ moveDown: "Move down",
15431
+ delete: "Delete group",
15432
+ created: "Group created",
15433
+ renamed: "Group renamed",
15434
+ deleted: "Group deleted",
15435
+ createFail: "Failed to create group",
15436
+ updateFail: "Failed to update group",
15437
+ deleteFail: "Failed to delete group",
15438
+ deleteHasFields: "Group \"{p0}\" still has {p1} field(s); move them out first",
15439
+ fields: "{p0}",
15440
+ emptyHint: "No fields in this group yet — register settings via the API or a plugin",
15441
+ srcBuiltin: "Built-in",
15442
+ srcUser: "Custom",
15443
+ srcPlugin: "Plugins"
15174
15444
  }
15175
15445
  },
15176
15446
  monitor: {
@@ -15246,6 +15516,7 @@ var en_default = {
15246
15516
  },
15247
15517
  agents: {
15248
15518
  notInstalled: "not installed",
15519
+ installLink: "Open official site to install ↗",
15249
15520
  harnessInprocess: "In-process engine · always available",
15250
15521
  k3pa5h4025: "Templates",
15251
15522
  k3xhia001: "Name",
@@ -15556,119 +15827,54 @@ var en_default = {
15556
15827
  k3xmid028: "Alarm",
15557
15828
  k44c2n029: "Offline",
15558
15829
  k1m1zwux030: "Every frame (with sampling)",
15559
- k3lha20031: "Raw points"
15830
+ k3lha20031: "Raw points",
15831
+ k1rfrshint001: "Trend auto-pull interval (ms); empty or 0 = follow server default (daq.query.displayIntervalMs), min {p0}ms"
15560
15832
  },
15561
15833
  logs: {
15562
- "src.user": "用户",
15563
- "src.system": "System",
15564
- "kind.write": "Apply",
15565
- "kind.manual": "人工",
15566
- "kind.alarm": "Alarm",
15567
- "kind.line": "Line",
15568
- "kind.recipe": "Recipe",
15569
- "kind.rollback": "回退",
15570
- "kind.daq": "DAQ",
15571
- "kind.system": "System",
15572
- "title": "运维日志",
15573
- "sub": "全操作统一记录:下发了什么控制、用户与 Agent 做了什么操作;按产线/产品/Recipe 隔离查询",
15574
- "live": "实时",
15575
- "liveHint": "WS 实时接收操作事件(仅摘要渲染;完整详情查询于下表)",
15576
- "all": "All",
15577
- "fLine": "Line",
15578
- "fProduct": "Product",
15579
- "fSource": "来源",
15580
- "fKind": "分类",
15581
- "fKeyword": "关键词",
15582
- "fKeywordPh": "搜索摘要/操作/操作者…",
15583
- "query": "Query",
15584
- "reset": "Reset",
15585
- "thTime": "Time",
15586
- "thActor": "操作者",
15587
- "thSummary": "事件摘要",
15588
- "thScope": "归属(产线/产品/Recipe)",
15589
- "thDetail": "Details",
15590
- "expand": "Details",
15591
- "fold": "Collapse",
15592
- "loading": "Querying…",
15593
- "empty": "无匹配日志",
15594
- "src.user": "用户",
15595
- "src.system": "System",
15596
- "kind.write": "Apply",
15597
- "kind.manual": "人工",
15598
- "kind.alarm": "Alarm",
15599
- "kind.line": "Line",
15600
- "kind.recipe": "Recipe",
15601
- "kind.rollback": "回退",
15602
- "kind.daq": "DAQ",
15603
- "kind.system": "System",
15604
- "mSummary": "记录内容",
15605
- "mSummaryPh": "如:更换 3 号烘箱加热丝,当前批次延长保温 10 分钟",
15606
- "mSubmit": "入册",
15607
- "mOk": "已入册",
15608
- "src.user": "用户",
15609
- "src.system": "System",
15610
- "kind.write": "Apply",
15611
- "kind.manual": "人工",
15612
- "kind.alarm": "Alarm",
15613
- "kind.line": "Line",
15614
- "kind.recipe": "Recipe",
15615
- "kind.rollback": "回退",
15616
- "kind.daq": "DAQ",
15617
- "kind.system": "System",
15618
- "src.user": "用户",
15619
- "src.system": "System",
15620
- "kind.write": "Apply",
15621
- "kind.manual": "人工",
15622
- "kind.alarm": "Alarm",
15623
- "kind.line": "Line",
15624
- "kind.recipe": "Recipe",
15625
- "kind.rollback": "回退",
15626
- "kind.daq": "DAQ",
15627
- "kind.system": "System",
15628
- "title": "Operations log",
15629
- "sub": "One unified record of every operation: what control was issued, what users and agents did — queryable by line / product / recipe",
15630
- "live": "Live",
15631
- "liveHint": "Receiving operation events over WS (summary rendering only; full details queryable below)",
15632
- "manual": "Manual entry",
15633
- "all": "All",
15634
- "fLine": "Line",
15635
- "fProduct": "Product",
15636
- "fSource": "Source",
15637
- "fKind": "Kind",
15638
- "fKeyword": "Keyword",
15639
- "fKeywordPh": "Search summary / action / actor…",
15640
- "query": "Query",
15641
- "reset": "Reset",
15642
- "thTime": "Time",
15643
- "thActor": "Actor",
15644
- "thSummary": "Event summary",
15645
- "thScope": "Scope (line / product / recipe)",
15646
- "thDetail": "Detail",
15647
- "expand": "Detail",
15648
- "fold": "Fold",
15649
- "noDetail": "None",
15650
- "loading": "Querying…",
15651
- "empty": "No matching log entries",
15652
- "src": {
15653
- user: "User",
15834
+ title: "运维日志",
15835
+ sub: "全操作统一记录:下发了什么控制、用户与 Agent 做了什么操作;按产线/产品/Recipe 隔离查询",
15836
+ live: "实时",
15837
+ liveHint: "WS 实时接收操作事件(仅摘要渲染;完整详情查询于下表)",
15838
+ all: "All",
15839
+ fLine: "Line",
15840
+ fProduct: "Product",
15841
+ fSource: "来源",
15842
+ fKind: "分类",
15843
+ fKeyword: "关键词",
15844
+ fKeywordPh: "搜索摘要/操作/操作者…",
15845
+ query: "Query",
15846
+ reset: "Reset",
15847
+ thTime: "Time",
15848
+ thActor: "操作者",
15849
+ thSummary: "事件摘要",
15850
+ thScope: "归属(产线/产品/Recipe)",
15851
+ thDetail: "Details",
15852
+ expand: "Details",
15853
+ fold: "Collapse",
15854
+ loading: "Querying…",
15855
+ empty: "无匹配日志",
15856
+ mSummary: "记录内容",
15857
+ mSummaryPh: "如:更换 3 号烘箱加热丝,当前批次延长保温 10 分钟",
15858
+ mSubmit: "入册",
15859
+ mOk: "已入册",
15860
+ manual: "Manual entry",
15861
+ noDetail: "None",
15862
+ mDetail: "Detail (optional)",
15863
+ mDetailPh: "Context, handling notes, related ticket… (stored in the log detail)",
15864
+ src: {
15865
+ user: "用户",
15654
15866
  system: "System"
15655
15867
  },
15656
- "kind": {
15657
- write: "Write",
15658
- manual: "Manual",
15868
+ kind: {
15869
+ write: "Apply",
15870
+ manual: "人工",
15659
15871
  alarm: "Alarm",
15660
15872
  line: "Line",
15661
15873
  recipe: "Recipe",
15662
- rollback: "Rollback",
15874
+ rollback: "回退",
15663
15875
  daq: "DAQ",
15664
15876
  system: "System"
15665
- },
15666
- "mSummary": "Entry content",
15667
- "mSummaryPh": "e.g. Replaced heater coil of oven #3; extended soaking for current batch by 10 min",
15668
- "mDetail": "Detail (optional)",
15669
- "mDetailPh": "Context, handling notes, related ticket… (stored in the log detail)",
15670
- "mSubmit": "Record",
15671
- "mOk": "Recorded"
15877
+ }
15672
15878
  },
15673
15879
  dcw: {
15674
15880
  k1qidbpy061: "Default {p0} (by creation order)",
@@ -15996,7 +16202,15 @@ var en_default = {
15996
16202
  k1xxabaf024: "Switched to private",
15997
16203
  k1kw4rtj025: "Select Template",
15998
16204
  k3n5hzw026: "Added",
15999
- k1oxjrxx027: "Group deleted"
16205
+ k1oxjrxx027: "Group deleted",
16206
+ k1plugon040: "Plugin switches · {p0}",
16207
+ k1plugon041: "Plugins to enable for this team; propagated to the target Channel on deploy",
16208
+ k1plugon042: "Checked plugins take effect for members after the team deploys to a Channel; tools of unchecked plugins stay hidden from that team",
16209
+ k1plugon043: "Team plugin switches saved",
16210
+ k1plugon044: "Not explicitly configured — all enabled by default; toggling any switch applies per-row",
16211
+ k1plugon045: "Explicitly configured (per the switches below)",
16212
+ k1plugon046: "No registered plugins",
16213
+ k1plugon047: "Plugin switches…"
16000
16214
  },
16001
16215
  tokens: {
16002
16216
  k1upppaw026: "Each token can be revoked independently; plaintext is archived server-side and can be viewed/copied anytime",
@@ -16248,7 +16462,10 @@ var en_default = {
16248
16462
  k1hgfvdc030: "Move-out failed",
16249
16463
  kvsxlu6031: "Updated; member runtimes will be recycled and re-assembled with the new settings",
16250
16464
  k1i0ji0y032: "Template name is required",
16251
- kjpguxw033: "Captured as a Channel template (scenario/directory/team snapshot)"
16465
+ kjpguxw033: "Captured as a Channel template (scenario/directory/team snapshot)",
16466
+ k1plugon044: "Plugin switches saved; tool lists of running agents in this Channel refresh immediately",
16467
+ k1pluglbl045: "Plugins (per-Channel switches; disabled tools are hidden from and rejected for this team's agents)",
16468
+ k1plugsrc046: "Not explicitly configured (all enabled by default); applies per-row after first toggle"
16252
16469
  },
16253
16470
  clusterArtifact: {
16254
16471
  kyh87lw001: "Deliverable body matches the reply above",
@@ -16807,7 +17024,15 @@ var en_default = {
16807
17024
  failures: "Load failures",
16808
17025
  loadFailures: "{n} plugin(s) failed to load, see server startup log",
16809
17026
  enableFail: "Toggle failed",
16810
- detail: "Plugin detail"
17027
+ detail: "Plugin detail",
17028
+ desc: "Platform plugin list: enable/disable (admin, hot-reload) and connection health checks.",
17029
+ needLogin: "Sign in to view and manage plugins",
17030
+ builtin: "Built-in",
17031
+ adminRequired: "This action requires an administrator",
17032
+ healthCheck: "Check connection",
17033
+ healthChecking: "Checking…",
17034
+ healthOk: "OK",
17035
+ healthBad: "Error"
16811
17036
  },
16812
17037
  errors: {
16813
17038
  http400: "Invalid request, please check and retry",
@@ -16849,6 +17074,179 @@ var en_default = {
16849
17074
  error: {
16850
17075
  backHome: "Back to Home",
16851
17076
  lost: "Page lost"
17077
+ },
17078
+ aml: {
17079
+ k1amlx001: "AML Auto-Modeling",
17080
+ k1amlx002: "Dataset snapshots → training jobs → gated experiments → model registry; job progress streams over WS, platform gates are authoritative.",
17081
+ k1amlx003: "Python runtime",
17082
+ k1amlx004: "Ready",
17083
+ k1amlx005: "Unavailable",
17084
+ k1amlx006: "Deps venv",
17085
+ k1amlx007: "Ready",
17086
+ k1amlx008: "Not ready",
17087
+ k1amlx009: "Queued",
17088
+ k1amlx010: "Running",
17089
+ k1amlx011: "Datasets",
17090
+ k1amlx012: "Models",
17091
+ k1amlx013: "Production models",
17092
+ k1amlx014: "training and prediction are disabled:",
17093
+ k1amlx015: "Failed to load platform status",
17094
+ k1amlx016: "Dataset snapshots",
17095
+ k1amlx017: "Refresh",
17096
+ k1amlx018: "New dataset",
17097
+ k1amlx019: "No datasets yet — build an aligned snapshot from line history to submit training.",
17098
+ k1amlx020: "Time",
17099
+ k1amlx021: "Product",
17100
+ k1amlx022: "Recipe",
17101
+ k1amlx023: "Rows",
17102
+ k1amlx024: "Runs",
17103
+ k1amlx025: "Creator",
17104
+ k1amlx026: "Note",
17105
+ k1amlx027: "Cleaning report (per node)",
17106
+ k1amlx028: "Lag estimates (control → target cross-correlation)",
17107
+ k1amlx029: "Run overview",
17108
+ k1amlx030: "Loading…",
17109
+ k1amlx031: "Failed to load details",
17110
+ k1amlx032: "No lag estimates (needs both control and target nodes)",
17111
+ k1amlx033: "Node",
17112
+ k1amlx034: "Role",
17113
+ k1amlx035: "Cleaned",
17114
+ k1amlx036: "Missing",
17115
+ k1amlx037: "Mean",
17116
+ k1amlx038: "σ",
17117
+ k1amlx039: "min~max",
17118
+ k1amlx040: "Control",
17119
+ k1amlx041: "Target",
17120
+ k1amlx042: "Lag (steps)",
17121
+ k1amlx043: "Peak corr",
17122
+ k1amlx044: "Runs used",
17123
+ k1amlx045: "Runs dropped",
17124
+ k1amlx046: "Windows train/val/test",
17125
+ k1amlx047: "No build report (legacy snapshot)",
17126
+ k1amlx048: "None",
17127
+ k1amlx049: "user",
17128
+ k1amlx050: "New dataset snapshot",
17129
+ k1amlx051: "Line ID",
17130
+ k1amlx052: "Product ID",
17131
+ k1amlx053: "Recipe ID",
17132
+ k1amlx054: "Node roles (at least one target)",
17133
+ k1amlx055: "Add row",
17134
+ k1amlx056: "Node ID",
17135
+ k1amlx057: "control (known future input)",
17136
+ k1amlx058: "feature (history-only feature)",
17137
+ k1amlx059: "target (prediction target)",
17138
+ k1amlx060: "Beat (ms)",
17139
+ k1amlx061: "History (steps)",
17140
+ k1amlx062: "Horizon (steps)",
17141
+ k1amlx063: "val ratio",
17142
+ k1amlx064: "test ratio",
17143
+ k1amlx065: "Seed",
17144
+ k1amlx066: "Purpose",
17145
+ k1amlx067: "mpc_surrogate (MPC surrogate)",
17146
+ k1amlx068: "quality_predict (quality prediction)",
17147
+ k1amlx069: "Why this snapshot / alignment notes (optional)",
17148
+ k1amlx070: "Building…",
17149
+ k1amlx071: "Cancel",
17150
+ k1amlx072: "Build snapshot",
17151
+ k1amlx073: "Dataset built: {p0} ({p1} rows)",
17152
+ k1amlx074: "Training jobs",
17153
+ k1amlx075: "No training jobs — submit one via Agent tools or API once a dataset exists.",
17154
+ k1amlx076: "Job",
17155
+ k1amlx077: "Status",
17156
+ k1amlx078: "Stage",
17157
+ k1amlx079: "Progress",
17158
+ k1amlx080: "Gates passed",
17159
+ k1amlx081: "Gates failed",
17160
+ k1amlx082: "Gates pending",
17161
+ k1amlx083: "Platform gates",
17162
+ k1amlx084: "Check",
17163
+ k1amlx085: "Value",
17164
+ k1amlx086: "Threshold",
17165
+ k1amlx087: "Pass",
17166
+ k1amlx088: "Fail",
17167
+ k1amlx089: "Run log (tail)",
17168
+ k1amlx090: "No logs yet",
17169
+ k1amlx091: "Live log polling (5s) for active jobs",
17170
+ k1amlx092: "Failure reason",
17171
+ k1amlx093: "Cancelling…",
17172
+ k1amlx094: "Confirm cancel",
17173
+ k1amlx095: "Retry",
17174
+ k1amlx096: "Confirm retry",
17175
+ k1amlx097: "Cancellation requested: {p0}",
17176
+ k1amlx098: "Requeued: {p0}",
17177
+ k1amlx099: "Metrics",
17178
+ k1amlx100: "Queued",
17179
+ k1amlx101: "Provisioning",
17180
+ k1amlx102: "Training",
17181
+ k1amlx103: "Evaluating",
17182
+ k1amlx104: "Done",
17183
+ k1amlx105: "Failed",
17184
+ k1amlx106: "Cancelled",
17185
+ k1amlx107: "Timeout",
17186
+ k1amlx108: "Interrupted",
17187
+ k1amlx109: "Experiment leaderboard",
17188
+ k1amlx110: "Pick a dataset to view lineage",
17189
+ k1amlx111: "— Pick a dataset —",
17190
+ k1amlx112: "No experiments for this dataset — submit a training job to grow the lineage.",
17191
+ k1amlx113: "Experiment",
17192
+ k1amlx114: "Change note",
17193
+ k1amlx115: "Parent",
17194
+ k1amlx116: "G1 1-step",
17195
+ k1amlx117: "G2 rollout",
17196
+ k1amlx118: "Gates",
17197
+ k1amlx119: "Running",
17198
+ k1amlx120: "Best",
17199
+ k1amlx121: "Test 1-step NRMSE (lower is better)",
17200
+ k1amlx122: "Test rollout NRMSE (lower is better)",
17201
+ k1amlx123: "Model registry",
17202
+ k1amlx124: "Registry is empty — experiments passing gates register a candidate model automatically.",
17203
+ k1amlx125: "Model",
17204
+ k1amlx126: "Metrics (G1 1-step / G2 rollout NRMSE)",
17205
+ k1amlx127: "Actions",
17206
+ k1amlx128: "Promote to shadow",
17207
+ k1amlx129: "Promote to production",
17208
+ k1amlx130: "Retire",
17209
+ k1amlx131: "Confirm",
17210
+ k1amlx132: "Promoted: {p0} → {p1}",
17211
+ k1amlx133: "Prediction console (what-if)",
17212
+ k1amlx134: "— Pick a production model —",
17213
+ k1amlx135: "No production model — promote one in the registry first.",
17214
+ k1amlx136: "IO spec",
17215
+ k1amlx137: "All nodes",
17216
+ k1amlx138: "Control nodes",
17217
+ k1amlx139: "Target nodes",
17218
+ k1amlx140: "History",
17219
+ k1amlx141: "Horizon",
17220
+ k1amlx142: "Beat",
17221
+ k1amlx143: "history input ([H][nAll] JSON; column order = allNodes)",
17222
+ k1amlx144: "[[21.4,0.82,…], …] — H×nAll numeric matrix",
17223
+ k1amlx145: "Pull latest",
17224
+ k1amlx146: "In-line fetch is not wired: ask an Agent to query the latest H beats for this recipe and paste them as a JSON matrix.",
17225
+ k1amlx147: "Rollout steps (≤ horizon, empty = full)",
17226
+ k1amlx148: "Predict",
17227
+ k1amlx149: "Inferring…",
17228
+ k1amlx150: "Forecast result",
17229
+ k1amlx151: "Step",
17230
+ k1amlx152: "t+ (s)",
17231
+ k1amlx153: "Failed to parse history JSON:",
17232
+ k1amlx154: "Forecast ready: {p0} steps × {p1} targets",
17233
+ k1amlx155: "Model assumptions",
17234
+ k1amlx156: "controls trajectory (optional, [≤H][nControl] JSON)",
17235
+ k1amlx157: "Action failed",
17236
+ k1amlx158: "Modeling",
17237
+ k1amlx159: "AML auto-modeling studio",
17238
+ k1amlx160: "AML Auto-Modeling · AgentWorkShop",
17239
+ k1amlx161: "Line, product and recipe IDs are all required"
17240
+ },
17241
+ teamPlugins: {
17242
+ k1plugon040: "Plugin switches · {p0}",
17243
+ k1plugon041: "Enable plugins",
17244
+ k1plugon042: "Tools of unchecked plugins are not injected into this team's agents, avoiding context pollution",
17245
+ k1plugon043: "Saved",
17246
+ k1plugon044: "All enabled by default (not yet configured)",
17247
+ k1plugon045: "Explicitly configured",
17248
+ k1plugon046: "All plugins are disabled",
17249
+ k1plugon047: "Plugin switches…"
16852
17250
  }
16853
17251
  };
16854
17252
  //#endregion
@@ -18261,7 +18659,7 @@ var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Fplugins_server_default =
18261
18659
  //#endregion
18262
18660
  //#region virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Flayouts.mjs
18263
18661
  var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Flayouts_default = {
18264
- default: defineAsyncComponent(() => import('../build/default-CLf5m0NE.mjs').then((m) => m.default || m)),
18662
+ default: defineAsyncComponent(() => import('../build/default-GgHt4O2R.mjs').then((m) => m.default || m)),
18265
18663
  town: defineAsyncComponent(() => import('../build/town-BUqRobze.mjs').then((m) => m.default || m))
18266
18664
  };
18267
18665
  //#endregion
@@ -18496,6 +18894,8 @@ function normalizeSlot(slot, data) {
18496
18894
  */
18497
18895
  var useRuntimeConfigStore = (0, composables_exports.defineStore)("runtime-config", () => {
18498
18896
  const descriptors = ref([]);
18897
+ /** 服务端下发的有序分组(唯一渲染权威);为空时退化为「按描述符出现顺序就地分组」 */
18898
+ const groupsRaw = ref([]);
18499
18899
  const effective = ref({});
18500
18900
  const overrides = ref({});
18501
18901
  const sources = ref({});
@@ -18503,18 +18903,58 @@ var useRuntimeConfigStore = (0, composables_exports.defineStore)("runtime-config
18503
18903
  const loaded = ref(false);
18504
18904
  const loading = ref(false);
18505
18905
  const lastEvent = ref(null);
18906
+ /**
18907
+ * 渲染用分组(后端驱动):
18908
+ * - 服务端给了 groups → 完全按它的顺序与元数据(标签/说明/折叠态)渲染;
18909
+ * - 没给(旧服务端) → 按描述符首次出现顺序就地分组,保证不丢字段。
18910
+ * 两种情况下,描述符引用了分组列表里没有的 id 时自动补一个兜底分组。
18911
+ */
18506
18912
  const groups = computed(() => {
18507
- const out = [];
18913
+ const byId = /* @__PURE__ */ new Map();
18914
+ for (const g of groupsRaw.value) byId.set(g.id, g);
18915
+ const items = /* @__PURE__ */ new Map();
18508
18916
  for (const d of descriptors.value) {
18509
- const g = out.find((x) => x.group === d.group);
18510
- if (g) g.items.push(d);
18511
- else out.push({
18512
- group: d.group,
18513
- items: [d]
18917
+ const gid = d.group || "__ungrouped__";
18918
+ const list = items.get(gid);
18919
+ if (list) list.push(d);
18920
+ else items.set(gid, [d]);
18921
+ }
18922
+ if (!groupsRaw.value.length) return [...items.entries()].map(([id, list], i) => ({
18923
+ id,
18924
+ label: id,
18925
+ description: "",
18926
+ order: i * 10,
18927
+ collapsed: false,
18928
+ collapsible: true,
18929
+ icon: "",
18930
+ source: "builtin",
18931
+ fieldCount: list.length
18932
+ }));
18933
+ const out = groupsRaw.value.map((g) => ({
18934
+ ...g,
18935
+ fieldCount: g.fieldCount ?? items.get(g.id)?.length ?? 0
18936
+ }));
18937
+ const known = new Set(out.map((g) => g.id));
18938
+ for (const [id, list] of items) {
18939
+ if (known.has(id)) continue;
18940
+ out.push({
18941
+ id,
18942
+ label: id === "__ungrouped__" ? "其他" : id,
18943
+ description: "",
18944
+ order: 9999,
18945
+ collapsed: false,
18946
+ collapsible: true,
18947
+ icon: "",
18948
+ source: "builtin",
18949
+ fieldCount: list.length
18514
18950
  });
18515
18951
  }
18516
- return out;
18952
+ return out.sort((a, b) => a.order - b.order || a.id.localeCompare(b.id));
18517
18953
  });
18954
+ /** 某分组内的字段(保持描述符声明顺序) */
18955
+ function fieldsOf(groupId) {
18956
+ return descriptors.value.filter((d) => (d.group || "__ungrouped__") === groupId);
18957
+ }
18518
18958
  function sourceOf(key) {
18519
18959
  return sources.value[key] ?? "config.yml";
18520
18960
  }
@@ -18535,12 +18975,44 @@ var useRuntimeConfigStore = (0, composables_exports.defineStore)("runtime-config
18535
18975
  }
18536
18976
  function applySnapshot(snap) {
18537
18977
  descriptors.value = snap.descriptors ?? [];
18978
+ groupsRaw.value = snap.groups ?? [];
18538
18979
  effective.value = snap.effective ?? {};
18539
18980
  overrides.value = snap.overrides ?? {};
18540
18981
  sources.value = snap.sources ?? {};
18541
18982
  settingsPath.value = snap.settingsPath ?? "";
18542
18983
  loaded.value = true;
18543
18984
  }
18985
+ /** 重新拉取分组(仅分组,不重拉描述符/值;分组 CRUD 后调用) */
18986
+ async function fetchGroups() {
18987
+ const env = await useHttp().get("/system/config-groups");
18988
+ const res = env.data ?? env;
18989
+ groupsRaw.value = res.groups ?? [];
18990
+ return groupsRaw.value;
18991
+ }
18992
+ /** 新建分组(admin) */
18993
+ async function createGroup(def) {
18994
+ const env = await useHttp().post("/system/config-groups", def);
18995
+ const res = env.data ?? env;
18996
+ await fetchGroups();
18997
+ return res.group;
18998
+ }
18999
+ /** 更新分组(admin;标题/说明/排序/默认折叠/图标) */
19000
+ async function updateGroup(id, patchMap) {
19001
+ await useHttp().request({
19002
+ method: "PATCH",
19003
+ url: `/system/config-groups/${encodeURIComponent(id)}`,
19004
+ data: patchMap
19005
+ });
19006
+ await fetchGroups();
19007
+ }
19008
+ /** 删除分组(admin;仅自建组) */
19009
+ async function deleteGroup(id, reassignTo) {
19010
+ await useHttp().request({
19011
+ method: "DELETE",
19012
+ url: `/system/config-groups/${encodeURIComponent(id)}${reassignTo ? `?reassignTo=${encodeURIComponent(reassignTo)}` : ""}`
19013
+ });
19014
+ await fetchGroups();
19015
+ }
18544
19016
  /**
18545
19017
  * 保存一组覆盖(同 PATCH 语义;值为 null 表示清除该键覆盖)。
18546
19018
  * @returns 服务端返回 { changed, restartRequired, effective, sources }
@@ -18569,6 +19041,7 @@ var useRuntimeConfigStore = (0, composables_exports.defineStore)("runtime-config
18569
19041
  }
18570
19042
  return {
18571
19043
  descriptors,
19044
+ groupsRaw,
18572
19045
  effective,
18573
19046
  overrides,
18574
19047
  sources,
@@ -18577,9 +19050,14 @@ var useRuntimeConfigStore = (0, composables_exports.defineStore)("runtime-config
18577
19050
  loading,
18578
19051
  lastEvent,
18579
19052
  groups,
19053
+ fieldsOf,
18580
19054
  sourceOf,
18581
19055
  valueOf,
18582
19056
  fetchAll,
19057
+ fetchGroups,
19058
+ createGroup,
19059
+ updateGroup,
19060
+ deleteGroup,
18583
19061
  patch,
18584
19062
  resetAll,
18585
19063
  startEvents,
@@ -18777,7 +19255,13 @@ var app_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompon
18777
19255
  const store = useAppStore();
18778
19256
  const config = useRuntimeConfig().public;
18779
19257
  const runtimeCfg = useRuntimeConfigStore();
18780
- store.isDark = (useSiteConfig().themeMode ?? "dark") !== "light";
19258
+ const site = useSiteConfig();
19259
+ const themeCookie = useCookie("aw-theme", {
19260
+ maxAge: 31536e3,
19261
+ sameSite: "lax",
19262
+ path: "/"
19263
+ });
19264
+ store.isDark = themeCookie.value ? themeCookie.value === "dark" : (site.themeMode ?? "dark") !== "light";
18781
19265
  const antdLocale = computed(() => locale.value.startsWith("en") ? localeValues$1 : localeValues);
18782
19266
  /** 将 hex 向白混合(lighten),供暗色模式强调色提亮 */
18783
19267
  function mixWhite(hex, ratio) {