agentworkshop 0.8.4 → 0.8.6

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 (2335) hide show
  1. package/.AgentWorkShop/prompts/host-tools.en.json +174 -0
  2. package/.AgentWorkShop/prompts/host-tools.json +20 -6
  3. package/.output/.AgentWorkShop/aml-python/__pycache__/aml_eval.cpython-312.pyc +0 -0
  4. package/.output/.AgentWorkShop/aml-python/__pycache__/amlkit.cpython-312.pyc +0 -0
  5. package/.output/.AgentWorkShop/aml-python/__pycache__/train-example.cpython-312.pyc +0 -0
  6. package/.output/.AgentWorkShop/aml-python/__pycache__/train-hybrid-example.cpython-312.pyc +0 -0
  7. package/.output/.AgentWorkShop/aml-python/train-example.py +92 -92
  8. package/.output/.AgentWorkShop/prompts/host-tools.en.json +174 -0
  9. package/.output/.AgentWorkShop/prompts/host-tools.json +20 -6
  10. package/.output/.AgentWorkShop/schema.json +2 -0
  11. package/.output/nitro.json +1 -1
  12. package/.output/public/_nuxt/-gwj-zlk2.js +1 -0
  13. package/.output/public/_nuxt/26OL4Ao82.js +1 -0
  14. package/.output/public/_nuxt/6P4ZAzxa2.js +1 -0
  15. package/.output/public/_nuxt/7op-BMk82.js +1 -0
  16. package/.output/public/_nuxt/AQuNRC4D.js +36 -0
  17. package/.output/public/_nuxt/Aoz9xMB92.js +1 -0
  18. package/.output/public/_nuxt/B1SIgyrl.js +1 -0
  19. package/.output/public/_nuxt/BA2lmfW4.js +1 -0
  20. package/.output/public/_nuxt/BDXQqSkl2.js +1 -0
  21. package/.output/public/_nuxt/BI9jj13f2.js +2 -0
  22. package/.output/public/_nuxt/BPUQZ9Lq2.js +8 -0
  23. package/.output/public/_nuxt/BSxcHoiy.js +1 -0
  24. package/.output/public/_nuxt/BVg2R2VB2.js +1 -0
  25. package/.output/public/_nuxt/BY2u4LPg.js +1 -0
  26. package/.output/public/_nuxt/BaYDgyaR.js +3 -0
  27. package/.output/public/_nuxt/BfvuWqSa.js +1 -0
  28. package/.output/public/_nuxt/BiXqyYNw2.js +1 -0
  29. package/.output/public/_nuxt/BkEokGX5.js +1 -0
  30. package/.output/public/_nuxt/BlOm8JIs2.js +1 -0
  31. package/.output/public/_nuxt/BoXKUOiN2.js +1 -0
  32. package/.output/public/_nuxt/Br_q4qi72.js +1 -0
  33. package/.output/public/_nuxt/BtZKe9ZV2.js +1 -0
  34. package/.output/public/_nuxt/BuLoPmcf.js +1 -0
  35. package/.output/public/_nuxt/BwOK42JQ.js +1 -0
  36. package/.output/public/_nuxt/BwOko01T.js +47 -0
  37. package/.output/public/_nuxt/C0Db9tR_2.js +1 -0
  38. package/.output/public/_nuxt/C1RMfPoB2.js +1 -0
  39. package/.output/public/_nuxt/CBkXv24C2.js +1 -0
  40. package/.output/public/_nuxt/CNRjkgAZ2.js +1 -0
  41. package/.output/public/_nuxt/COfo_Bg3.js +1 -0
  42. package/.output/public/_nuxt/CTGJHZ8X2.js +1 -0
  43. package/.output/public/_nuxt/CY2NkFvI.js +1 -0
  44. package/.output/public/_nuxt/C_4mzQ5X.js +1 -0
  45. package/.output/public/_nuxt/CdvMP3lv.js +1 -0
  46. package/.output/public/_nuxt/CjdxNYpU2.js +1 -0
  47. package/.output/public/_nuxt/CmuGMxDP.js +1 -0
  48. package/.output/public/_nuxt/Co8Dcx132.js +1 -0
  49. package/.output/public/_nuxt/CooauJ7D.js +1 -0
  50. package/.output/public/_nuxt/D1eVi1zr.js +21 -0
  51. package/.output/public/_nuxt/D6PUmBb0.js +1 -0
  52. package/.output/public/_nuxt/D8AvmPUH.js +1 -0
  53. package/.output/public/_nuxt/DC8sMA36.js +1 -0
  54. package/.output/public/_nuxt/DDHh85c42.js +2 -0
  55. package/.output/public/_nuxt/DDXOfmo2.js +20 -0
  56. package/.output/public/_nuxt/DH_oqyfL.js +1 -0
  57. package/.output/public/_nuxt/DMFwLxfu.js +1 -0
  58. package/.output/public/_nuxt/DYQBIsiV2.js +1 -0
  59. package/.output/public/_nuxt/DZqVVvR0.js +1 -0
  60. package/.output/public/_nuxt/DmReUFK1.js +1 -0
  61. package/.output/public/_nuxt/DoprKJ5a2.js +1 -0
  62. package/.output/public/_nuxt/Dr1FVeQG2.js +1 -0
  63. package/.output/public/_nuxt/DtnsTW7e.js +1 -0
  64. package/.output/public/_nuxt/DuUc4bbY2.js +1 -0
  65. package/.output/public/_nuxt/DxDqd6T42.js +16 -0
  66. package/.output/public/_nuxt/DzU3zEKX.js +1 -0
  67. package/.output/public/_nuxt/EgO70wrE.js +1 -0
  68. package/.output/public/_nuxt/HJKu4eEV2.js +1 -0
  69. package/.output/public/_nuxt/K5Xen0wZ2.js +1 -0
  70. package/.output/public/_nuxt/OmpTerminalPanel.ComMDrA8.css +1 -0
  71. package/.output/public/_nuxt/PluginSlot.CGH0vb95.css +1 -0
  72. package/.output/public/_nuxt/Rb4o4o-82.js +1 -0
  73. package/.output/public/_nuxt/Tf6SJSDj.js +1 -0
  74. package/.output/public/_nuxt/TownView.CC3t-Dte.css +1 -0
  75. package/.output/public/_nuxt/Ud9o8ItR2.js +1 -0
  76. package/.output/public/_nuxt/ZzOyoXex2.js +1 -0
  77. package/.output/public/_nuxt/_id_.BQRWK7J2.css +1 -0
  78. package/.output/public/_nuxt/_wsId_.CQMH8t8j.css +1 -0
  79. package/.output/public/_nuxt/agents.D-JPovTZ.css +1 -0
  80. package/.output/public/_nuxt/aml.PalMp-5n.css +1 -0
  81. package/.output/public/_nuxt/azOGy_tU2.js +1 -0
  82. package/.output/public/_nuxt/be-4wyTo.js +1 -0
  83. package/.output/public/_nuxt/board.BxLE52BL.css +1 -0
  84. package/.output/public/_nuxt/builds/latest.json +1 -1
  85. package/.output/public/_nuxt/builds/meta/593b65bd-cf1d-4b7f-a993-57e939c38f36.json +1 -0
  86. package/.output/public/_nuxt/byZYInPk2.js +1 -0
  87. package/.output/public/_nuxt/dHwWyr6b.js +1 -0
  88. package/.output/public/_nuxt/dcjPjLPI.js +1 -0
  89. package/.output/public/_nuxt/default.BEXGWZFQ.css +1 -0
  90. package/.output/public/_nuxt/fIV9zbnA.js +1 -0
  91. package/.output/public/_nuxt/h-Fn7pRD.js +1 -0
  92. package/.output/public/_nuxt/hyLdZsOd2.js +1 -0
  93. package/.output/public/_nuxt/logs.BkJPbR_K.css +1 -0
  94. package/.output/public/_nuxt/m6G-kfdj.js +1 -0
  95. package/.output/public/_nuxt/monitor.D3yEqqrv.css +1 -0
  96. package/.output/public/_nuxt/o8sYG6xx2.js +1 -0
  97. package/.output/public/_nuxt/ontology.CkuUThtY.css +1 -0
  98. package/.output/public/_nuxt/operations.-l6u44Ar.css +1 -0
  99. package/.output/public/_nuxt/pages.Cdpm_B-G.css +1 -0
  100. package/.output/public/_nuxt/permissions.DxuOOIqQ.css +1 -0
  101. package/.output/public/_nuxt/pipeline.D7et0DoJ.css +1 -0
  102. package/.output/public/_nuxt/rDvMijKA.js +9 -0
  103. package/.output/public/_nuxt/schedules.BXNJ9q_I.css +1 -0
  104. package/.output/public/_nuxt/studio.ClA5gX4K.css +1 -0
  105. package/.output/public/_nuxt/tDEwr422.js +1 -0
  106. package/.output/public/_nuxt/teams.CLQaXno5.css +1 -0
  107. package/.output/public/_nuxt/tokens.BDSUWF-L.css +1 -0
  108. package/.output/public/_nuxt/tools.BwXFAb-X.css +1 -0
  109. package/.output/public/_nuxt/workshop.BBiFhXuM.css +1 -0
  110. package/.output/public/_nuxt/yS3bF3G32.js +2 -0
  111. package/.output/public/favicon.svg +14 -14
  112. package/.output/public/robots.txt +3 -3
  113. package/.output/server/chunks/_/LeftOutlined.mjs.map +1 -1
  114. package/.output/server/chunks/_/RightOutlined.mjs.map +1 -1
  115. package/.output/server/chunks/_/SearchOutlined.mjs +1261 -1230
  116. package/.output/server/chunks/_/SearchOutlined.mjs.map +1 -1
  117. package/.output/server/chunks/_/access.mjs +15 -27
  118. package/.output/server/chunks/_/access.mjs.map +1 -1
  119. package/.output/server/chunks/_/agent-dto.mjs +26 -0
  120. package/.output/server/chunks/_/agent-dto.mjs.map +1 -0
  121. package/.output/server/chunks/_/catalog-view.mjs +1 -1
  122. package/.output/server/chunks/_/chart-repo.mjs +14 -1
  123. package/.output/server/chunks/_/chart-repo.mjs.map +1 -1
  124. package/.output/server/chunks/_/data-export.mjs +8 -9
  125. package/.output/server/chunks/_/data-export.mjs.map +1 -1
  126. package/.output/server/chunks/_/data-query.mjs +4 -4
  127. package/.output/server/chunks/_/data-query.mjs.map +1 -1
  128. package/.output/server/chunks/_/eda-run.repo.mjs +3 -3
  129. package/.output/server/chunks/_/error-500.mjs.map +1 -1
  130. package/.output/server/chunks/_/features.mjs +6 -6
  131. package/.output/server/chunks/_/golden.mjs +3 -3
  132. package/.output/server/chunks/_/harness-spawn-policy.mjs +77 -0
  133. package/.output/server/chunks/_/harness-spawn-policy.mjs.map +1 -0
  134. package/.output/server/chunks/_/host-bindings.mjs +2 -2
  135. package/.output/server/chunks/_/index.mjs +2 -2
  136. package/.output/server/chunks/_/line-scope.mjs +32 -0
  137. package/.output/server/chunks/_/line-scope.mjs.map +1 -0
  138. package/.output/server/chunks/_/mes-console.mjs +1 -1
  139. package/.output/server/chunks/_/mes-secrets.repo.mjs +107 -0
  140. package/.output/server/chunks/_/mes-secrets.repo.mjs.map +1 -0
  141. package/.output/server/chunks/_/nitro.mjs +6403 -4166
  142. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  143. package/.output/server/chunks/_/ocap.mjs +1 -1
  144. package/.output/server/chunks/_/rest-auth.mjs +1 -1
  145. package/.output/server/chunks/_/spc.mjs +2 -2
  146. package/.output/server/chunks/build/AuthGate-nF1evO4v.mjs +716 -0
  147. package/.output/server/chunks/build/AuthGate-nF1evO4v.mjs.map +1 -0
  148. package/.output/server/chunks/build/FormItemContext-BlyzocS0.mjs +72 -0
  149. package/.output/server/chunks/build/FormItemContext-BlyzocS0.mjs.map +1 -0
  150. package/.output/server/chunks/build/OmpTerminalPanel-BhvhQ1gG.mjs +942 -0
  151. package/.output/server/chunks/build/OmpTerminalPanel-BhvhQ1gG.mjs.map +1 -0
  152. package/.output/server/chunks/build/PluginSlot-BUKXwV2X.mjs +141 -0
  153. package/.output/server/chunks/build/PluginSlot-BUKXwV2X.mjs.map +1 -0
  154. package/.output/server/chunks/build/TownView-BWMDbosY.mjs +6489 -0
  155. package/.output/server/chunks/build/TownView-BWMDbosY.mjs.map +1 -0
  156. package/.output/server/chunks/build/_id_-BK-t8nRG.mjs +392 -0
  157. package/.output/server/chunks/build/_id_-BK-t8nRG.mjs.map +1 -0
  158. package/.output/server/chunks/build/_id_-CZPlPDm4.mjs +2045 -0
  159. package/.output/server/chunks/build/_id_-CZPlPDm4.mjs.map +1 -0
  160. package/.output/server/chunks/build/_wsId_-C871SDPN.mjs +14589 -0
  161. package/.output/server/chunks/build/_wsId_-C871SDPN.mjs.map +1 -0
  162. package/.output/server/chunks/build/agents-D7CdEUTv.mjs +1078 -0
  163. package/.output/server/chunks/build/agents-D7CdEUTv.mjs.map +1 -0
  164. package/.output/server/chunks/build/alert-D0ivtTGy.mjs +263 -0
  165. package/.output/server/chunks/build/alert-D0ivtTGy.mjs.map +1 -0
  166. package/.output/server/chunks/build/aml-DRAFRcGU.mjs +814 -0
  167. package/.output/server/chunks/build/aml-DRAFRcGU.mjs.map +1 -0
  168. package/.output/server/chunks/build/analysis-p-dBkjoK.mjs +533 -0
  169. package/.output/server/chunks/build/analysis-p-dBkjoK.mjs.map +1 -0
  170. package/.output/server/chunks/build/api-B4Om0mEc.mjs +53 -0
  171. package/.output/server/chunks/build/api-B4Om0mEc.mjs.map +1 -0
  172. package/.output/server/chunks/build/api-BEW_ebY_.mjs +64 -0
  173. package/.output/server/chunks/build/api-BEW_ebY_.mjs.map +1 -0
  174. package/.output/server/chunks/build/api-BsAgXWxi.mjs +72 -0
  175. package/.output/server/chunks/build/api-BsAgXWxi.mjs.map +1 -0
  176. package/.output/server/chunks/build/api-error-BwAQLw44.mjs +47 -0
  177. package/.output/server/chunks/build/api-error-BwAQLw44.mjs.map +1 -0
  178. package/.output/server/chunks/build/apiClient-BvXtNzC8.mjs +81 -0
  179. package/.output/server/chunks/build/apiClient-BvXtNzC8.mjs.map +1 -0
  180. package/.output/server/chunks/build/board-CJUc032b.mjs +189 -0
  181. package/.output/server/chunks/build/board-CJUc032b.mjs.map +1 -0
  182. package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs +94 -81
  183. package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs.map +1 -1
  184. package/.output/server/chunks/build/card-Cqk0Ur-L.mjs +953 -0
  185. package/.output/server/chunks/build/card-Cqk0Ur-L.mjs.map +1 -0
  186. package/.output/server/chunks/build/channel-templates-ggsBacZF.mjs +942 -0
  187. package/.output/server/chunks/build/channel-templates-ggsBacZF.mjs.map +1 -0
  188. package/.output/server/chunks/build/chart-pipeline-BpoWYMK_.mjs +233 -0
  189. package/.output/server/chunks/build/chart-pipeline-BpoWYMK_.mjs.map +1 -0
  190. package/.output/server/chunks/build/chart-trend-BWeZh5Lv.mjs +112 -113
  191. package/.output/server/chunks/build/chart-trend-BWeZh5Lv.mjs.map +1 -1
  192. package/.output/server/chunks/build/checkbox-CrT4cnfu.mjs +439 -0
  193. package/.output/server/chunks/build/checkbox-CrT4cnfu.mjs.map +1 -0
  194. package/.output/server/chunks/build/client-only-qNA2OVV_.mjs +43 -0
  195. package/.output/server/chunks/build/client-only-qNA2OVV_.mjs.map +1 -0
  196. package/.output/server/chunks/build/constants-HPHJvjne.mjs +76 -66
  197. package/.output/server/chunks/build/constants-HPHJvjne.mjs.map +1 -1
  198. package/.output/server/chunks/build/core-CgTOPS4t.mjs +294 -0
  199. package/.output/server/chunks/build/core-CgTOPS4t.mjs.map +1 -0
  200. package/.output/server/chunks/build/daq-CdxcfY_G.mjs +1266 -0
  201. package/.output/server/chunks/build/daq-CdxcfY_G.mjs.map +1 -0
  202. package/.output/server/chunks/build/data-D8uX1dnm.mjs +481 -0
  203. package/.output/server/chunks/build/data-D8uX1dnm.mjs.map +1 -0
  204. package/.output/server/chunks/build/dcw-BlDQtS4q.mjs +505 -0
  205. package/.output/server/chunks/build/dcw-BlDQtS4q.mjs.map +1 -0
  206. package/.output/server/chunks/build/dcw-driver-badge-Df5wL_ZA.mjs +15 -3
  207. package/.output/server/chunks/build/dcw-driver-badge-Df5wL_ZA.mjs.map +1 -1
  208. package/.output/server/chunks/build/default-CNWS6NUw.mjs +2353 -0
  209. package/.output/server/chunks/build/default-CNWS6NUw.mjs.map +1 -0
  210. package/.output/server/chunks/build/descriptions-BNlfKG9y.mjs +406 -0
  211. package/.output/server/chunks/build/descriptions-BNlfKG9y.mjs.map +1 -0
  212. package/.output/server/chunks/build/drawer-Caji0PLs.mjs +834 -0
  213. package/.output/server/chunks/build/drawer-Caji0PLs.mjs.map +1 -0
  214. package/.output/server/chunks/build/dropdown-BNwTVGde.mjs +14 -0
  215. package/.output/server/chunks/build/dropdown-BNwTVGde.mjs.map +1 -0
  216. package/.output/server/chunks/build/dropdown-Cd-xPhR6.mjs +540 -0
  217. package/.output/server/chunks/build/dropdown-Cd-xPhR6.mjs.map +1 -0
  218. package/.output/server/chunks/build/es-Bxu10NJ2.mjs +43 -0
  219. package/.output/server/chunks/build/es-Bxu10NJ2.mjs.map +1 -0
  220. package/.output/server/chunks/build/firstNotUndefined-8H5_qHUu.mjs +2448 -0
  221. package/.output/server/chunks/build/firstNotUndefined-8H5_qHUu.mjs.map +1 -0
  222. package/.output/server/chunks/build/form-D_UpWPN4.mjs +4712 -0
  223. package/.output/server/chunks/build/form-D_UpWPN4.mjs.map +1 -0
  224. package/.output/server/chunks/build/hasIn-DBdElbjM.mjs +553 -0
  225. package/.output/server/chunks/build/hasIn-DBdElbjM.mjs.map +1 -0
  226. package/.output/server/chunks/build/hitl-Bd30yr1J.mjs +132 -0
  227. package/.output/server/chunks/build/hitl-Bd30yr1J.mjs.map +1 -0
  228. package/.output/server/chunks/build/input-GtPuSEgt.mjs +2181 -0
  229. package/.output/server/chunks/build/input-GtPuSEgt.mjs.map +1 -0
  230. package/.output/server/chunks/build/input-number-BNlNDK7H.mjs +1120 -0
  231. package/.output/server/chunks/build/input-number-BNlNDK7H.mjs.map +1 -0
  232. package/.output/server/chunks/build/interval-DvHBIIZh.mjs +9 -0
  233. package/.output/server/chunks/build/interval-DvHBIIZh.mjs.map +1 -0
  234. package/.output/server/chunks/build/isNumeric-CP7q_yhz.mjs +7 -0
  235. package/.output/server/chunks/build/isNumeric-CP7q_yhz.mjs.map +1 -0
  236. package/.output/server/chunks/build/logs-pRb-TMWa.mjs +427 -0
  237. package/.output/server/chunks/build/logs-pRb-TMWa.mjs.map +1 -0
  238. package/.output/server/chunks/build/menu-BXt-X0dt.mjs +1952 -0
  239. package/.output/server/chunks/build/menu-BXt-X0dt.mjs.map +1 -0
  240. package/.output/server/chunks/build/monitor-Cq6hRFeQ.mjs +2253 -0
  241. package/.output/server/chunks/build/monitor-Cq6hRFeQ.mjs.map +1 -0
  242. package/.output/server/chunks/build/narrow-fetch-CcG-BPxc.mjs +2 -0
  243. package/.output/server/chunks/build/narrow-fetch-CcG-BPxc.mjs.map +1 -1
  244. package/.output/server/chunks/build/ontology-ohICfVVb.mjs +1406 -0
  245. package/.output/server/chunks/build/ontology-ohICfVVb.mjs.map +1 -0
  246. package/.output/server/chunks/build/operations-SMQrRAcr.mjs +311 -0
  247. package/.output/server/chunks/build/operations-SMQrRAcr.mjs.map +1 -0
  248. package/.output/server/chunks/build/optimizer-BlWTsM-W.mjs +202 -0
  249. package/.output/server/chunks/build/optimizer-BlWTsM-W.mjs.map +1 -0
  250. package/.output/server/chunks/build/pages-DsMKUw7i.mjs +542 -0
  251. package/.output/server/chunks/build/pages-DsMKUw7i.mjs.map +1 -0
  252. package/.output/server/chunks/build/pagination-DTAconUo.mjs +1346 -0
  253. package/.output/server/chunks/build/pagination-DTAconUo.mjs.map +1 -0
  254. package/.output/server/chunks/build/permissions-DgXQZSyx.mjs +637 -0
  255. package/.output/server/chunks/build/permissions-DgXQZSyx.mjs.map +1 -0
  256. package/.output/server/chunks/build/pipeline-CkavMBhk.mjs +212 -0
  257. package/.output/server/chunks/build/pipeline-CkavMBhk.mjs.map +1 -0
  258. package/.output/server/chunks/build/plugins-LRjaSEZy.mjs +272 -0
  259. package/.output/server/chunks/build/plugins-LRjaSEZy.mjs.map +1 -0
  260. package/.output/server/chunks/build/popconfirm-DxYPGRgS.mjs +340 -0
  261. package/.output/server/chunks/build/popconfirm-DxYPGRgS.mjs.map +1 -0
  262. package/.output/server/chunks/build/responsiveObserve-DM3hpzhU.mjs +78 -0
  263. package/.output/server/chunks/build/responsiveObserve-DM3hpzhU.mjs.map +1 -0
  264. package/.output/server/chunks/build/schedules-Hz2DJUE2.mjs +7172 -0
  265. package/.output/server/chunks/build/schedules-Hz2DJUE2.mjs.map +1 -0
  266. package/.output/server/chunks/build/segmented-D3HWtHPw.mjs +341 -0
  267. package/.output/server/chunks/build/segmented-D3HWtHPw.mjs.map +1 -0
  268. package/.output/server/chunks/build/select-B3Dsb9yq.mjs +3923 -0
  269. package/.output/server/chunks/build/select-B3Dsb9yq.mjs.map +1 -0
  270. package/.output/server/chunks/build/settings-DXLJPq7d.mjs +1014 -0
  271. package/.output/server/chunks/build/settings-DXLJPq7d.mjs.map +1 -0
  272. package/.output/server/chunks/build/space-Dwu2Skt8.mjs +110 -0
  273. package/.output/server/chunks/build/space-Dwu2Skt8.mjs.map +1 -0
  274. package/.output/server/chunks/build/spin-C2cuvGth.mjs +357 -0
  275. package/.output/server/chunks/build/spin-C2cuvGth.mjs.map +1 -0
  276. package/.output/server/chunks/build/studio-hSqH9TYS.mjs +336 -0
  277. package/.output/server/chunks/build/studio-hSqH9TYS.mjs.map +1 -0
  278. package/.output/server/chunks/build/switch-CyR-H6Fb.mjs +377 -0
  279. package/.output/server/chunks/build/switch-CyR-H6Fb.mjs.map +1 -0
  280. package/.output/server/chunks/build/table-CmVD-cA9.mjs +7546 -0
  281. package/.output/server/chunks/build/table-CmVD-cA9.mjs.map +1 -0
  282. package/.output/server/chunks/build/tabs-Vg0e7cZE.mjs +1924 -0
  283. package/.output/server/chunks/build/tabs-Vg0e7cZE.mjs.map +1 -0
  284. package/.output/server/chunks/build/tag-y0sn-xv9.mjs +1156 -0
  285. package/.output/server/chunks/build/tag-y0sn-xv9.mjs.map +1 -0
  286. package/.output/server/chunks/build/teams-BbwYJyzv.mjs +1203 -0
  287. package/.output/server/chunks/build/teams-BbwYJyzv.mjs.map +1 -0
  288. package/.output/server/chunks/build/tokens-GYaGJ35Z.mjs +1062 -0
  289. package/.output/server/chunks/build/tokens-GYaGJ35Z.mjs.map +1 -0
  290. package/.output/server/chunks/build/tools-CnYi9cou.mjs +487 -0
  291. package/.output/server/chunks/build/tools-CnYi9cou.mjs.map +1 -0
  292. package/.output/server/chunks/build/tooltip-C2n2nNiQ.mjs +920 -0
  293. package/.output/server/chunks/build/tooltip-C2n2nNiQ.mjs.map +1 -0
  294. package/.output/server/chunks/build/town-B5aoiG98.mjs +133 -0
  295. package/.output/server/chunks/build/town-B5aoiG98.mjs.map +1 -0
  296. package/.output/server/chunks/build/town-BV-hbwb5.mjs +30 -17
  297. package/.output/server/chunks/build/town-BV-hbwb5.mjs.map +1 -1
  298. package/.output/server/chunks/build/types-D6J7slEa.mjs +1 -1
  299. package/.output/server/chunks/build/types-D6J7slEa.mjs.map +1 -1
  300. package/.output/server/chunks/build/types-DWqIeMRP.mjs +30 -29
  301. package/.output/server/chunks/build/types-DWqIeMRP.mjs.map +1 -1
  302. package/.output/server/chunks/build/useAgentHarnessOptions-Dq0l0Z6d.mjs +124 -0
  303. package/.output/server/chunks/build/useAgentHarnessOptions-Dq0l0Z6d.mjs.map +1 -0
  304. package/.output/server/chunks/build/useAgentTemplateActions-BFOHb5-L.mjs +77 -0
  305. package/.output/server/chunks/build/useAgentTemplateActions-BFOHb5-L.mjs.map +1 -0
  306. package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs +24 -17
  307. package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs.map +1 -1
  308. package/.output/server/chunks/build/useAgentTemplateForm-CuJPOPcK.mjs +117 -0
  309. package/.output/server/chunks/build/useAgentTemplateForm-CuJPOPcK.mjs.map +1 -0
  310. package/.output/server/chunks/build/useAgentTemplatesCatalog-B2bIhZLA.mjs +133 -0
  311. package/.output/server/chunks/build/useAgentTemplatesCatalog-B2bIhZLA.mjs.map +1 -0
  312. package/.output/server/chunks/build/useAmlDatasets-DeoE1idn.mjs +92 -0
  313. package/.output/server/chunks/build/useAmlDatasets-DeoE1idn.mjs.map +1 -0
  314. package/.output/server/chunks/build/useAmlEntities-BJhvdqHJ.mjs +86 -0
  315. package/.output/server/chunks/build/useAmlEntities-BJhvdqHJ.mjs.map +1 -0
  316. package/.output/server/chunks/build/useAmlEnv-CDIZ6xTe.mjs +194 -0
  317. package/.output/server/chunks/build/useAmlEnv-CDIZ6xTe.mjs.map +1 -0
  318. package/.output/server/chunks/build/useAmlExperiments-Dloi834i.mjs +89 -0
  319. package/.output/server/chunks/build/useAmlExperiments-Dloi834i.mjs.map +1 -0
  320. package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs +38 -33
  321. package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs.map +1 -1
  322. package/.output/server/chunks/build/useAmlJobs-BF9LpwXz.mjs +267 -0
  323. package/.output/server/chunks/build/useAmlJobs-BF9LpwXz.mjs.map +1 -0
  324. package/.output/server/chunks/build/useAmlModels-_bweOr3R.mjs +93 -0
  325. package/.output/server/chunks/build/useAmlModels-_bweOr3R.mjs.map +1 -0
  326. package/.output/server/chunks/build/useAmlNotes-DQj980iX.mjs +86 -0
  327. package/.output/server/chunks/build/useAmlNotes-DQj980iX.mjs.map +1 -0
  328. package/.output/server/chunks/build/useAmlPredict-DHNgDSJn.mjs +130 -0
  329. package/.output/server/chunks/build/useAmlPredict-DHNgDSJn.mjs.map +1 -0
  330. package/.output/server/chunks/build/useAnalysisFeed-BrEGV_9x.mjs +129 -0
  331. package/.output/server/chunks/build/useAnalysisFeed-BrEGV_9x.mjs.map +1 -0
  332. package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs +142 -0
  333. package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs.map +1 -0
  334. package/.output/server/chunks/build/useDaqDetailBinding-DCWaLKXT.mjs +70 -0
  335. package/.output/server/chunks/build/useDaqDetailBinding-DCWaLKXT.mjs.map +1 -0
  336. package/.output/server/chunks/build/useDaqDetailFrames-BOIcOJRB.mjs +79 -0
  337. package/.output/server/chunks/build/useDaqDetailFrames-BOIcOJRB.mjs.map +1 -0
  338. package/.output/server/chunks/build/useDaqDetailHistory-D6WulPVs.mjs +176 -0
  339. package/.output/server/chunks/build/useDaqDetailHistory-D6WulPVs.mjs.map +1 -0
  340. package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs +99 -0
  341. package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs.map +1 -0
  342. package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs +159 -0
  343. package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs.map +1 -0
  344. package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs +222 -0
  345. package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs.map +1 -0
  346. package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs +45 -44
  347. package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs.map +1 -1
  348. package/.output/server/chunks/build/useDaqOptimizations-CmX_dpBc.mjs +136 -0
  349. package/.output/server/chunks/build/useDaqOptimizations-CmX_dpBc.mjs.map +1 -0
  350. package/.output/server/chunks/build/useDaqStream-B9ZBVQrI.mjs +395 -0
  351. package/.output/server/chunks/build/useDaqStream-B9ZBVQrI.mjs.map +1 -0
  352. package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs +187 -0
  353. package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs.map +1 -0
  354. package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs +311 -313
  355. package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs.map +1 -1
  356. package/.output/server/chunks/build/useDashboardData-NJ7rKxhx.mjs +153 -0
  357. package/.output/server/chunks/build/useDashboardData-NJ7rKxhx.mjs.map +1 -0
  358. package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs +219 -0
  359. package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs.map +1 -0
  360. package/.output/server/chunks/build/useDcwCards-SaiImIYQ.mjs +67 -0
  361. package/.output/server/chunks/build/useDcwCards-SaiImIYQ.mjs.map +1 -0
  362. package/.output/server/chunks/build/useDcwDetailScope-DLOklSMO.mjs +184 -0
  363. package/.output/server/chunks/build/useDcwDetailScope-DLOklSMO.mjs.map +1 -0
  364. package/.output/server/chunks/build/useDcwDetailTemplates-ClmIdZ40.mjs +148 -0
  365. package/.output/server/chunks/build/useDcwDetailTemplates-ClmIdZ40.mjs.map +1 -0
  366. package/.output/server/chunks/build/useDcwFilter-CPMyCltx.mjs +71 -0
  367. package/.output/server/chunks/build/useDcwFilter-CPMyCltx.mjs.map +1 -0
  368. package/.output/server/chunks/build/useDcwLedger-0ie-0WTc.mjs +79 -0
  369. package/.output/server/chunks/build/useDcwLedger-0ie-0WTc.mjs.map +1 -0
  370. package/.output/server/chunks/build/useDcwLineMutations-DNxo66yM.mjs +137 -0
  371. package/.output/server/chunks/build/useDcwLineMutations-DNxo66yM.mjs.map +1 -0
  372. package/.output/server/chunks/build/useDcwLineRun-CHskwscT.mjs +104 -0
  373. package/.output/server/chunks/build/useDcwLineRun-CHskwscT.mjs.map +1 -0
  374. package/.output/server/chunks/build/useDcwParamApprovals-DtScUc-W.mjs +121 -0
  375. package/.output/server/chunks/build/useDcwParamApprovals-DtScUc-W.mjs.map +1 -0
  376. package/.output/server/chunks/build/useDcwProducts-BMaxzLu6.mjs +93 -0
  377. package/.output/server/chunks/build/useDcwProducts-BMaxzLu6.mjs.map +1 -0
  378. package/.output/server/chunks/build/useDcwQuery-TVU3Eo0M.mjs +98 -0
  379. package/.output/server/chunks/build/useDcwQuery-TVU3Eo0M.mjs.map +1 -0
  380. package/.output/server/chunks/build/useDcwQuickActions-BREFmR9T.mjs +88 -0
  381. package/.output/server/chunks/build/useDcwQuickActions-BREFmR9T.mjs.map +1 -0
  382. package/.output/server/chunks/build/useDcwRecipes-Bc9urA1N.mjs +258 -0
  383. package/.output/server/chunks/build/useDcwRecipes-Bc9urA1N.mjs.map +1 -0
  384. package/.output/server/chunks/build/useDcwStream-Dir5ufAU.mjs +452 -0
  385. package/.output/server/chunks/build/useDcwStream-Dir5ufAU.mjs.map +1 -0
  386. package/.output/server/chunks/build/useDcwTemplates-BzagZztS.mjs +91 -0
  387. package/.output/server/chunks/build/useDcwTemplates-BzagZztS.mjs.map +1 -0
  388. package/.output/server/chunks/build/useDcwWrites-BROwTLCn.mjs +140 -0
  389. package/.output/server/chunks/build/useDcwWrites-BROwTLCn.mjs.map +1 -0
  390. package/.output/server/chunks/build/useDeviceTwins-BqwVJaZg.mjs +128 -0
  391. package/.output/server/chunks/build/useDeviceTwins-BqwVJaZg.mjs.map +1 -0
  392. package/.output/server/chunks/build/useExpConfirmations-BM626N4p.mjs +107 -0
  393. package/.output/server/chunks/build/useExpConfirmations-BM626N4p.mjs.map +1 -0
  394. package/.output/server/chunks/build/useLocalTime-uVSM44Um.mjs +55 -0
  395. package/.output/server/chunks/build/useLocalTime-uVSM44Um.mjs.map +1 -0
  396. package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs +34 -31
  397. package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs.map +1 -1
  398. package/.output/server/chunks/build/useLogsManual-cVBZQ_Mt.mjs +88 -0
  399. package/.output/server/chunks/build/useLogsManual-cVBZQ_Mt.mjs.map +1 -0
  400. package/.output/server/chunks/build/useLogsQuery-D7hrJ3yn.mjs +150 -0
  401. package/.output/server/chunks/build/useLogsQuery-D7hrJ3yn.mjs.map +1 -0
  402. package/.output/server/chunks/build/useLogsScope-aaPQeTRm.mjs +83 -0
  403. package/.output/server/chunks/build/useLogsScope-aaPQeTRm.mjs.map +1 -0
  404. package/.output/server/chunks/build/useMonitorColumns-vVnt3r5Q.mjs +167 -156
  405. package/.output/server/chunks/build/useMonitorColumns-vVnt3r5Q.mjs.map +1 -1
  406. package/.output/server/chunks/build/useMonitorData-DIkiLr_h.mjs +135 -0
  407. package/.output/server/chunks/build/useMonitorData-DIkiLr_h.mjs.map +1 -0
  408. package/.output/server/chunks/build/useMonitorFormat-CyURtH8N.mjs +91 -0
  409. package/.output/server/chunks/build/useMonitorFormat-CyURtH8N.mjs.map +1 -0
  410. package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs +28 -21
  411. package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs.map +1 -1
  412. package/.output/server/chunks/build/useOperationsFeed-Ci4mZAn_.mjs +195 -0
  413. package/.output/server/chunks/build/useOperationsFeed-Ci4mZAn_.mjs.map +1 -0
  414. package/.output/server/chunks/build/useOpsLog-C-M6Eace.mjs +149 -0
  415. package/.output/server/chunks/build/useOpsLog-C-M6Eace.mjs.map +1 -0
  416. package/.output/server/chunks/build/useRecipeDispatchApprovals-BYtiqfeb.mjs +156 -0
  417. package/.output/server/chunks/build/useRecipeDispatchApprovals-BYtiqfeb.mjs.map +1 -0
  418. package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs +39 -23
  419. package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs.map +1 -1
  420. package/.output/server/chunks/build/useTeamActions-BDjU06LP.mjs +79 -0
  421. package/.output/server/chunks/build/useTeamActions-BDjU06LP.mjs.map +1 -0
  422. package/.output/server/chunks/build/useTeamAddMemberDialog-J3oFn3FI.mjs +84 -0
  423. package/.output/server/chunks/build/useTeamAddMemberDialog-J3oFn3FI.mjs.map +1 -0
  424. package/.output/server/chunks/build/useTeamCreateDialog-fbn4ixYu.mjs +97 -0
  425. package/.output/server/chunks/build/useTeamCreateDialog-fbn4ixYu.mjs.map +1 -0
  426. package/.output/server/chunks/build/useTeamDeployDialog-BNezMD2k.mjs +80 -0
  427. package/.output/server/chunks/build/useTeamDeployDialog-BNezMD2k.mjs.map +1 -0
  428. package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs +39 -32
  429. package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs.map +1 -1
  430. package/.output/server/chunks/build/useTeamPluginDialog-BZznrOVe.mjs +103 -0
  431. package/.output/server/chunks/build/useTeamPluginDialog-BZznrOVe.mjs.map +1 -0
  432. package/.output/server/chunks/build/useTeamsCatalog-DuZFP3oG.mjs +123 -0
  433. package/.output/server/chunks/build/useTeamsCatalog-DuZFP3oG.mjs.map +1 -0
  434. package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs +29 -22
  435. package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs.map +1 -1
  436. package/.output/server/chunks/build/useTokenCreate-Ctl0YGhL.mjs +115 -0
  437. package/.output/server/chunks/build/useTokenCreate-Ctl0YGhL.mjs.map +1 -0
  438. package/.output/server/chunks/build/useTokenRename-Cm3ypSfN.mjs +87 -0
  439. package/.output/server/chunks/build/useTokenRename-Cm3ypSfN.mjs.map +1 -0
  440. package/.output/server/chunks/build/useTokenReveal-CeoWL5Mt.mjs +118 -0
  441. package/.output/server/chunks/build/useTokenReveal-CeoWL5Mt.mjs.map +1 -0
  442. package/.output/server/chunks/build/useTokensList-CNIzON3u.mjs +92 -0
  443. package/.output/server/chunks/build/useTokensList-CNIzON3u.mjs.map +1 -0
  444. package/.output/server/chunks/build/useTownBus-D9SoIsAN.mjs +17 -16
  445. package/.output/server/chunks/build/useTownBus-D9SoIsAN.mjs.map +1 -1
  446. package/.output/server/chunks/build/useWorkbenchAuth-CY-bVFMu.mjs +141 -0
  447. package/.output/server/chunks/build/useWorkbenchAuth-CY-bVFMu.mjs.map +1 -0
  448. package/.output/server/chunks/build/useWorkbenchWorkspaces-DhZQFss9.mjs +138 -0
  449. package/.output/server/chunks/build/useWorkbenchWorkspaces-DhZQFss9.mjs.map +1 -0
  450. package/.output/server/chunks/build/useWorkshopApi-BxHn-4iR.mjs +127 -0
  451. package/.output/server/chunks/build/useWorkshopApi-BxHn-4iR.mjs.map +1 -0
  452. package/.output/server/chunks/build/useWorkshopWs-YQ5URrbt.mjs +1659 -0
  453. package/.output/server/chunks/build/useWorkshopWs-YQ5URrbt.mjs.map +1 -0
  454. package/.output/server/chunks/build/useWorkspaceAuth-Dlvj9csD.mjs +60 -0
  455. package/.output/server/chunks/build/useWorkspaceAuth-Dlvj9csD.mjs.map +1 -0
  456. package/.output/server/chunks/build/useWorkspaceChannels-CPFepxTN.mjs +92 -0
  457. package/.output/server/chunks/build/useWorkspaceChannels-CPFepxTN.mjs.map +1 -0
  458. package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs +34 -31
  459. package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs.map +1 -1
  460. package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs +168 -0
  461. package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs.map +1 -0
  462. package/.output/server/chunks/build/users-DjiVC_tS.mjs +569 -0
  463. package/.output/server/chunks/build/users-DjiVC_tS.mjs.map +1 -0
  464. package/.output/server/chunks/build/workshop-1gKeDASV.mjs +546 -0
  465. package/.output/server/chunks/build/workshop-1gKeDASV.mjs.map +1 -0
  466. package/.output/server/chunks/build/workspaces-CmW0cpOt.mjs +121 -111
  467. package/.output/server/chunks/build/workspaces-CmW0cpOt.mjs.map +1 -1
  468. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  469. package/.output/server/chunks/routes/api/index.get.mjs +1 -1
  470. package/.output/server/chunks/routes/api/index.post.mjs +1 -1
  471. package/.output/server/chunks/routes/api/mcp/workshop.mjs +2 -2
  472. package/.output/server/chunks/routes/api/metrics.mjs +1 -1
  473. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +1 -1
  474. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +1 -1
  475. package/.output/server/chunks/routes/api/plugins/i18n.get.mjs +1 -1
  476. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +1 -1
  477. package/.output/server/chunks/routes/api/system/backup/list.get.mjs +1 -1
  478. package/.output/server/chunks/routes/api/system/backup/run.post.mjs +3 -3
  479. package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs +1 -1
  480. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs +1 -1
  481. package/.output/server/chunks/routes/api/system/config.get.mjs +1 -1
  482. package/.output/server/chunks/routes/api/system/index.get.mjs +1 -1
  483. package/.output/server/chunks/routes/api/system/index.patch.mjs +1 -1
  484. package/.output/server/chunks/routes/api/system/index.post.mjs +1 -1
  485. package/.output/server/chunks/routes/api/system/index2.get.mjs +1 -1
  486. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +1 -1
  487. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +1 -1
  488. package/.output/server/chunks/routes/api/system/monitor.get.mjs +1 -1
  489. package/.output/server/chunks/routes/api/system/settings/events.get.mjs +1 -1
  490. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +1 -1
  491. package/.output/server/chunks/routes/api/system/timezone.get.mjs +1 -1
  492. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -1
  493. package/.output/server/chunks/routes/api/users/_id_.get.mjs +1 -1
  494. package/.output/server/chunks/routes/api/users/_id_.put.mjs +1 -1
  495. package/.output/server/chunks/routes/api/users/change-password.post.mjs +1 -1
  496. package/.output/server/chunks/routes/api/users/index.get.mjs +1 -1
  497. package/.output/server/chunks/routes/api/users/index.post.mjs +1 -1
  498. package/.output/server/chunks/routes/api/users/login.post.mjs +1 -1
  499. package/.output/server/chunks/routes/api/users/logout.post.mjs +1 -1
  500. package/.output/server/chunks/routes/api/users/me.get.mjs +1 -1
  501. package/.output/server/chunks/routes/api/users/register.post.mjs +1 -1
  502. package/.output/server/chunks/routes/api/users/setup-status.get.mjs +1 -1
  503. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +1 -1
  504. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +1 -1
  505. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -1
  506. package/.output/server/chunks/routes/api/workshop/_...path_.mjs +1 -1
  507. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +1 -1
  508. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +1 -1
  509. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -1
  510. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +1 -1
  511. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -1
  512. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +1 -1
  513. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs +1 -1
  514. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs +1 -1
  515. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +1 -1
  516. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +18 -10
  517. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs.map +1 -1
  518. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +1 -1
  519. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +1 -1
  520. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +1 -1
  521. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +1 -1
  522. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +1 -1
  523. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +4 -1
  524. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs.map +1 -1
  525. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -1
  526. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs +1 -1
  527. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs +1 -1
  528. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +1 -1
  529. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs +1 -1
  530. package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs +1 -1
  531. package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs +1 -1
  532. package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs +1 -1
  533. package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs +1 -1
  534. package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs +1 -1
  535. package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs +1 -1
  536. package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs +1 -1
  537. package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs +1 -1
  538. package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs +1 -1
  539. package/.output/server/chunks/routes/api/workshop/aml/index3.post.mjs +1 -1
  540. package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs +1 -1
  541. package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs +1 -1
  542. package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs +1 -1
  543. package/.output/server/chunks/routes/api/workshop/aml/index7.get.mjs +1 -1
  544. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs +1 -1
  545. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs +1 -1
  546. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs +1 -1
  547. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs +1 -1
  548. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs +1 -1
  549. package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs +1 -1
  550. package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs +1 -1
  551. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs +1 -1
  552. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs +1 -1
  553. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id/train.post.mjs +1 -1
  554. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.delete.mjs +1 -1
  555. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.patch.mjs +1 -1
  556. package/.output/server/chunks/routes/api/workshop/aml/twin/providers.get.mjs +1 -1
  557. package/.output/server/chunks/routes/api/workshop/analysis/_id_.delete.mjs +1 -1
  558. package/.output/server/chunks/routes/api/workshop/analysis/_id_.get.mjs +1 -1
  559. package/.output/server/chunks/routes/api/workshop/analysis/_id_.patch.mjs +1 -1
  560. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +1 -1
  561. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +1 -1
  562. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +1 -1
  563. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +1 -1
  564. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +1 -1
  565. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +1 -1
  566. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +1 -1
  567. package/.output/server/chunks/routes/api/workshop/audit.get.mjs +1 -1
  568. package/.output/server/chunks/routes/api/workshop/caller.mjs +1 -1
  569. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +2 -2
  570. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +1 -1
  571. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +1 -1
  572. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +7 -1
  573. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs.map +1 -1
  574. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -1
  575. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +1 -1
  576. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +1 -1
  577. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -1
  578. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +1 -1
  579. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -1
  580. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +1 -1
  581. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +1 -1
  582. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +1 -1
  583. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/rotate-token.post.mjs +1 -1
  584. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +1 -1
  585. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +1 -1
  586. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +6 -1
  587. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs.map +1 -1
  588. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.get.mjs +1 -1
  589. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs +1 -1
  590. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/messages/_messageId/read.post.mjs +1 -1
  591. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/permissions.get.mjs +1 -1
  592. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -1
  593. package/.output/server/chunks/routes/api/workshop/channels/_id/execution-mode.patch.mjs +92 -0
  594. package/.output/server/chunks/routes/api/workshop/channels/_id/execution-mode.patch.mjs.map +1 -0
  595. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +6 -3
  596. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs.map +1 -1
  597. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +8 -2
  598. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs.map +1 -1
  599. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +2 -2
  600. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +1 -1
  601. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -1
  602. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.put.mjs +2 -2
  603. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +1 -1
  604. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +1 -1
  605. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -1
  606. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +1 -1
  607. package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +2 -2
  608. package/.output/server/chunks/routes/api/workshop/channels/_id/index6.get.mjs +1 -1
  609. package/.output/server/chunks/routes/api/workshop/channels/_id/index7.get.mjs +1 -1
  610. package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs +1 -1
  611. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId/approve.post.mjs +1 -1
  612. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId_.delete.mjs +1 -1
  613. package/.output/server/chunks/routes/api/workshop/channels/_id/members/join.post.mjs +1 -1
  614. package/.output/server/chunks/routes/api/workshop/channels/_id/members/leave.post.mjs +1 -1
  615. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +1 -1
  616. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +1 -1
  617. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +2 -2
  618. package/.output/server/chunks/routes/api/workshop/channels/_id/tools/reset.post.mjs +2 -2
  619. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs +2 -2
  620. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs +2 -2
  621. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +1 -1
  622. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +4 -2
  623. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs.map +1 -1
  624. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +1 -1
  625. package/.output/server/chunks/routes/api/workshop/channels.get.mjs +1 -1
  626. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +9 -7
  627. package/.output/server/chunks/routes/api/workshop/channels.post.mjs.map +1 -1
  628. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +1 -1
  629. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +1 -1
  630. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +3 -1
  631. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs.map +1 -1
  632. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +1 -1
  633. package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs +33 -50
  634. package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs.map +1 -1
  635. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +2 -2
  636. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +1 -1
  637. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +1 -1
  638. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +7 -2
  639. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs.map +1 -1
  640. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +1 -1
  641. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +5 -3
  642. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs.map +1 -1
  643. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +1 -1
  644. package/.output/server/chunks/routes/api/workshop/daq/export/_id_.get.mjs +1 -1
  645. package/.output/server/chunks/routes/api/workshop/daq/export-file.get.mjs +1 -1
  646. package/.output/server/chunks/routes/api/workshop/daq/index.get.mjs +1 -1
  647. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +1 -1
  648. package/.output/server/chunks/routes/api/workshop/daq/index2.post.mjs +2 -2
  649. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +15 -6
  650. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs.map +1 -1
  651. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +2 -2
  652. package/.output/server/chunks/routes/api/workshop/daq/query.get.mjs +1 -1
  653. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +2 -2
  654. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +2 -2
  655. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +8 -5
  656. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs.map +1 -1
  657. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +2 -2
  658. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +2 -2
  659. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +7 -3
  660. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs.map +1 -1
  661. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +7 -3
  662. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs.map +1 -1
  663. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +2 -2
  664. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +2 -2
  665. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -2
  666. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +7 -2
  667. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs.map +1 -1
  668. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +2 -2
  669. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +8 -5
  670. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs.map +1 -1
  671. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +2 -2
  672. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +2 -2
  673. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +2 -2
  674. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +7 -3
  675. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs.map +1 -1
  676. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +2 -2
  677. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +8 -5
  678. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs.map +1 -1
  679. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +2 -2
  680. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +2 -2
  681. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +2 -2
  682. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +7 -3
  683. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs.map +1 -1
  684. package/.output/server/chunks/routes/api/workshop/dcw/index7.get.mjs +1 -1
  685. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +2 -2
  686. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +2 -2
  687. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +2 -2
  688. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +2 -2
  689. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +2 -2
  690. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +1 -1
  691. package/.output/server/chunks/routes/api/workshop/dcw/mes-artifacts/file.get.mjs +7 -3
  692. package/.output/server/chunks/routes/api/workshop/dcw/mes-artifacts/file.get.mjs.map +1 -1
  693. package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs +5 -5
  694. package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs.map +1 -1
  695. package/.output/server/chunks/routes/api/workshop/dcw/mes-test-read.post.mjs +2 -2
  696. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +2 -2
  697. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +2 -2
  698. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +7 -3
  699. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs.map +1 -1
  700. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +5 -3
  701. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs.map +1 -1
  702. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +6 -3
  703. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs.map +1 -1
  704. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +2 -2
  705. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +2 -2
  706. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +2 -2
  707. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +8 -5
  708. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs.map +1 -1
  709. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +9 -5
  710. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs.map +1 -1
  711. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +2 -2
  712. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +1 -1
  713. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +1 -1
  714. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +2 -2
  715. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +8 -4
  716. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs.map +1 -1
  717. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +9 -2
  718. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs.map +1 -1
  719. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs +7 -4
  720. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs.map +1 -1
  721. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +7 -3
  722. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs.map +1 -1
  723. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +2 -2
  724. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +2 -2
  725. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +2 -2
  726. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +2 -2
  727. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +8 -5
  728. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs.map +1 -1
  729. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +2 -2
  730. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +2 -2
  731. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +2 -2
  732. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +2 -2
  733. package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.delete.mjs +1 -1
  734. package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.get.mjs +1 -1
  735. package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.patch.mjs +1 -1
  736. package/.output/server/chunks/routes/api/workshop/eda/commonality.get.mjs +2 -2
  737. package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.delete.mjs +1 -1
  738. package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.get.mjs +1 -1
  739. package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.patch.mjs +1 -1
  740. package/.output/server/chunks/routes/api/workshop/eda/features/jobs.get.mjs +1 -1
  741. package/.output/server/chunks/routes/api/workshop/eda/features/run.post.mjs +1 -1
  742. package/.output/server/chunks/routes/api/workshop/eda/golden/_id_.delete.mjs +1 -1
  743. package/.output/server/chunks/routes/api/workshop/eda/golden/deviation.get.mjs +1 -1
  744. package/.output/server/chunks/routes/api/workshop/eda/golden/single.get.mjs +1 -1
  745. package/.output/server/chunks/routes/api/workshop/eda/index.get.mjs +1 -1
  746. package/.output/server/chunks/routes/api/workshop/eda/index.post.mjs +1 -1
  747. package/.output/server/chunks/routes/api/workshop/eda/index2.get.mjs +1 -1
  748. package/.output/server/chunks/routes/api/workshop/eda/index2.post.mjs +1 -1
  749. package/.output/server/chunks/routes/api/workshop/eda/index3.get.mjs +1 -1
  750. package/.output/server/chunks/routes/api/workshop/eda/index3.post.mjs +1 -1
  751. package/.output/server/chunks/routes/api/workshop/eda/index4.get.mjs +1 -1
  752. package/.output/server/chunks/routes/api/workshop/eda/index4.post.mjs +1 -1
  753. package/.output/server/chunks/routes/api/workshop/eda/index5.get.mjs +1 -1
  754. package/.output/server/chunks/routes/api/workshop/eda/index5.post.mjs +1 -1
  755. package/.output/server/chunks/routes/api/workshop/eda/index6.get.mjs +1 -1
  756. package/.output/server/chunks/routes/api/workshop/eda/index6.post.mjs +1 -1
  757. package/.output/server/chunks/routes/api/workshop/eda/index7.get.mjs +1 -1
  758. package/.output/server/chunks/routes/api/workshop/eda/index7.post.mjs +1 -1
  759. package/.output/server/chunks/routes/api/workshop/eda/index8.get.mjs +1 -1
  760. package/.output/server/chunks/routes/api/workshop/eda/index8.post.mjs +1 -1
  761. package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.get.mjs +1 -1
  762. package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.patch.mjs +1 -1
  763. package/.output/server/chunks/routes/api/workshop/eda/runs/_id/labels.patch.mjs +1 -1
  764. package/.output/server/chunks/routes/api/workshop/eda/runs.get.mjs +1 -1
  765. package/.output/server/chunks/routes/api/workshop/eda/spc/_id/recompute.post.mjs +1 -1
  766. package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.delete.mjs +1 -1
  767. package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.get.mjs +1 -1
  768. package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.delete.mjs +1 -1
  769. package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.get.mjs +1 -1
  770. package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.patch.mjs +1 -1
  771. package/.output/server/chunks/routes/api/workshop/eda/vm/predict.post.mjs +2 -2
  772. package/.output/server/chunks/routes/api/workshop/exp/confirmations/_id/decide.post.mjs +2 -2
  773. package/.output/server/chunks/routes/api/workshop/exp/index.get.mjs +2 -2
  774. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +2 -2
  775. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +2 -2
  776. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +2 -2
  777. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +2 -2
  778. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +2 -2
  779. package/.output/server/chunks/routes/api/workshop/index.get.mjs +1 -1
  780. package/.output/server/chunks/routes/api/workshop/index.mjs +2 -2
  781. package/.output/server/chunks/routes/api/workshop/index.post.mjs +3 -1
  782. package/.output/server/chunks/routes/api/workshop/index.post.mjs.map +1 -1
  783. package/.output/server/chunks/routes/api/workshop/index.put.mjs +2 -2
  784. package/.output/server/chunks/routes/api/workshop/index10.get.mjs +1 -1
  785. package/.output/server/chunks/routes/api/workshop/index10.post.mjs +1 -1
  786. package/.output/server/chunks/routes/api/workshop/index11.get.mjs +1 -1
  787. package/.output/server/chunks/routes/api/workshop/index12.get.mjs +2 -2
  788. package/.output/server/chunks/routes/api/workshop/index13.get.mjs +1 -1
  789. package/.output/server/chunks/routes/api/workshop/index14.get.mjs +1 -1
  790. package/.output/server/chunks/routes/api/workshop/index15.get.mjs +1 -1
  791. package/.output/server/chunks/routes/api/workshop/index16.get.mjs +1 -1
  792. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +1 -1
  793. package/.output/server/chunks/routes/api/workshop/index2.post.mjs +1 -1
  794. package/.output/server/chunks/routes/api/workshop/index3.get.mjs +1 -1
  795. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +9 -4
  796. package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
  797. package/.output/server/chunks/routes/api/workshop/index4.get.mjs +1 -1
  798. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +1 -1
  799. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +1 -1
  800. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +2 -2
  801. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +2 -2
  802. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +2 -2
  803. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +2 -2
  804. package/.output/server/chunks/routes/api/workshop/index7.post.mjs +2 -2
  805. package/.output/server/chunks/routes/api/workshop/index8.get.mjs +2 -2
  806. package/.output/server/chunks/routes/api/workshop/index8.post.mjs +1 -1
  807. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +1 -1
  808. package/.output/server/chunks/routes/api/workshop/index9.post.mjs +1 -1
  809. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +1 -1
  810. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +1 -1
  811. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +1 -1
  812. package/.output/server/chunks/routes/api/workshop/mes/datasets.get.mjs +2 -2
  813. package/.output/server/chunks/routes/api/workshop/mes/index.get.mjs +33 -0
  814. package/.output/server/chunks/routes/api/workshop/mes/index.get.mjs.map +1 -0
  815. package/.output/server/chunks/routes/api/workshop/mes/index.put.mjs +56 -0
  816. package/.output/server/chunks/routes/api/workshop/mes/index.put.mjs.map +1 -0
  817. package/.output/server/chunks/routes/api/workshop/mes/points.get.mjs +1 -1
  818. package/.output/server/chunks/routes/api/workshop/mes/preview.post.mjs +1 -1
  819. package/.output/server/chunks/routes/api/workshop/mes/secrets/_ref_.delete.mjs +49 -0
  820. package/.output/server/chunks/routes/api/workshop/mes/secrets/_ref_.delete.mjs.map +1 -0
  821. package/.output/server/chunks/routes/api/workshop/notifications/read.post.mjs +1 -1
  822. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/autofix.mjs +2 -2
  823. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/compile.mjs +2 -2
  824. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/evidence.mjs +2 -2
  825. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/publish.mjs +2 -2
  826. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval-decision.mjs +2 -2
  827. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval.mjs +2 -2
  828. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/transition.mjs +2 -2
  829. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/subgraph.mjs +2 -2
  830. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/validate.mjs +2 -2
  831. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId_.mjs +2 -2
  832. package/.output/server/chunks/routes/api/workshop/ontology/export/_ontologyId_.mjs +2 -2
  833. package/.output/server/chunks/routes/api/workshop/ontology/index.mjs +2 -2
  834. package/.output/server/chunks/routes/api/workshop/ontology/scene.mjs +2 -2
  835. package/.output/server/chunks/routes/api/workshop/ontology/traces/_ontologyId_.mjs +2 -2
  836. package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId/compare.mjs +2 -2
  837. package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId_.mjs +2 -2
  838. package/.output/server/chunks/routes/api/workshop/optimization/bindings/_id_.delete.mjs +1 -1
  839. package/.output/server/chunks/routes/api/workshop/optimization/capabilities.get.mjs +2 -2
  840. package/.output/server/chunks/routes/api/workshop/optimization/index.get.mjs +2 -2
  841. package/.output/server/chunks/routes/api/workshop/optimization/index.mjs +2 -2
  842. package/.output/server/chunks/routes/api/workshop/optimization/index2.mjs +2 -2
  843. package/.output/server/chunks/routes/api/workshop/optimization/profiles/_id/publish.post.mjs +2 -2
  844. package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/crosscheck.post.mjs +2 -2
  845. package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/dispatch.post.mjs +2 -2
  846. package/.output/server/chunks/routes/api/workshop/optimization/solve.post.mjs +2 -2
  847. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +2 -2
  848. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +2 -2
  849. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +1 -1
  850. package/.output/server/chunks/routes/api/workshop/process-model/datasets.post.mjs +2 -2
  851. package/.output/server/chunks/routes/api/workshop/process-model/eligibility.mjs +2 -2
  852. package/.output/server/chunks/routes/api/workshop/process-model/experiments.mjs +1 -1
  853. package/.output/server/chunks/routes/api/workshop/process-model/index.mjs +2 -2
  854. package/.output/server/chunks/routes/api/workshop/process-model/specs/_id/publish.post.mjs +2 -2
  855. package/.output/server/chunks/routes/api/workshop/process-model/train.post.mjs +2 -2
  856. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +1 -1
  857. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +2 -2
  858. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +2 -2
  859. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +1 -1
  860. package/.output/server/chunks/routes/api/workshop/schedules/_id/run.post.mjs +1 -1
  861. package/.output/server/chunks/routes/api/workshop/schedules/_id/runs.get.mjs +1 -1
  862. package/.output/server/chunks/routes/api/workshop/schedules/_id_.delete.mjs +1 -1
  863. package/.output/server/chunks/routes/api/workshop/schedules/_id_.get.mjs +1 -1
  864. package/.output/server/chunks/routes/api/workshop/schedules/_id_.patch.mjs +1 -1
  865. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -1
  866. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -1
  867. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +1 -1
  868. package/.output/server/chunks/routes/api/workshop/tasks/_id/reassign.post.mjs +1 -1
  869. package/.output/server/chunks/routes/api/workshop/tasks/_id/reopen.post.mjs +1 -1
  870. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -1
  871. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +1 -1
  872. package/.output/server/chunks/routes/api/workshop/tasks/_id/update.post.mjs +1 -1
  873. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +1 -1
  874. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +1 -1
  875. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +1 -1
  876. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +1 -1
  877. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -1
  878. package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs +2 -2
  879. package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs +2 -2
  880. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +1 -1
  881. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +1 -1
  882. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +1 -1
  883. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -1
  884. package/.output/server/chunks/routes/api/workshop/tools/_name_.get.mjs +1 -1
  885. package/.output/server/chunks/routes/api/workshop/tools/sync.post.mjs +2 -2
  886. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +1 -1
  887. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +1 -1
  888. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +2 -2
  889. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +1 -1
  890. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +1 -1
  891. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +1 -1
  892. package/.output/server/chunks/routes/renderer.mjs +2 -2
  893. package/.output/server/chunks/routes/renderer.mjs.map +1 -1
  894. package/.output/server/chunks/virtual/entry.mjs +10774 -9374
  895. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  896. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  897. package/.output/server/chunks/virtual/precomputed.mjs.map +1 -1
  898. package/.output/server/index.mjs +1 -1
  899. package/.output/server/package.json +1 -1
  900. package/README-zh.md +19 -7
  901. package/README.md +24 -7
  902. package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.json +1 -0
  903. package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.mtg0vz68-49792-75b0709555.baseline/1459e6269990a5d229b9228c8b2f62ffaa7d350068380ae8b875fee0db45cca6.source +180 -0
  904. package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.mtg0vz68-49792-75b0709555.baseline/c2991e909c70c5c12b90a407c7adcf63384c51668a2b334e6e047fa675c268fe.source +305 -0
  905. package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.mtg0vz68-49792-75b0709555.baseline/e09129039d1e27e3fac24becc9bdafd2d1a7c8049bff24173df007be865f0165.source +264 -0
  906. package/app/.mimosa/hook-status/sess_05189059-e42d-4188-8911-4f7baabe009b-28ef7c75ea.json +14 -0
  907. package/app/components/AwChart.vue +32 -3
  908. package/app/components/AwLogo.vue +75 -75
  909. package/app/components/aml/AmlDatasetFormModal.vue +279 -279
  910. package/app/components/aml/AmlDatasetTable.vue +319 -319
  911. package/app/components/aml/AmlExperimentsTable.vue +142 -142
  912. package/app/components/aml/AmlInfraBanner.vue +23 -23
  913. package/app/components/aml/AmlJobsTable.vue +248 -248
  914. package/app/components/aml/AmlOverviewBar.vue +62 -62
  915. package/app/components/aml/AmlPageHeader.vue +47 -47
  916. package/app/components/aml/AmlPredictConsole.vue +201 -201
  917. package/app/components/app-header/HitlBell.vue +423 -423
  918. package/app/components/daq/DaqAddNodeModal.vue +209 -209
  919. package/app/components/daq/DaqAlarmBar.vue +46 -46
  920. package/app/components/daq/DaqControlCard.vue +159 -159
  921. package/app/components/daq/DaqInfraBanner.vue +31 -31
  922. package/app/components/daq/DaqLineBanner.vue +47 -47
  923. package/app/components/daq/DaqNodePanel.vue +396 -396
  924. package/app/components/daq/DaqOptPanel.vue +197 -197
  925. package/app/components/daq/DaqTemplateModal.vue +246 -246
  926. package/app/components/dashboard/DashboardGaugeBand.vue +78 -78
  927. package/app/components/dashboard/DashboardHero.vue +209 -209
  928. package/app/components/dashboard/DashboardLineStatePanel.vue +78 -78
  929. package/app/components/dashboard/DashboardNodeStatePanel.vue +46 -46
  930. package/app/components/dashboard/DashboardPipelinePanel.vue +46 -46
  931. package/app/components/dashboard/DashboardTrendPanel.vue +83 -83
  932. package/app/components/dashboard/DashboardWritePanel.vue +52 -52
  933. package/app/components/dcw/DcwCreateLineModal.vue +105 -105
  934. package/app/components/dcw/DcwDeleteLineModal.vue +73 -73
  935. package/app/components/dcw/DcwDetailTemplateModal.vue +238 -238
  936. package/app/components/dcw/DcwLedgerCard.vue +160 -160
  937. package/app/components/dcw/DcwMesArtifacts.vue +140 -140
  938. package/app/components/dcw/DcwProductCreateModal.vue +113 -113
  939. package/app/components/dcw/DcwRecipeDispatchHistoryModal.vue +244 -244
  940. package/app/components/dcw/DcwRecipeEditModal.vue +399 -399
  941. package/app/components/dcw/DcwRecipeHistoryModal.vue +165 -165
  942. package/app/components/dcw/DcwRunDataModal.vue +191 -191
  943. package/app/components/dcw/DcwTemplateModal.vue +227 -227
  944. package/app/components/dcw/DcwWriteHistoryCard.vue +96 -96
  945. package/app/components/dcw/ExpConfirmCard.vue +103 -103
  946. package/app/components/dcw/RecipeDispatchApprovalCard.vue +330 -330
  947. package/app/components/logs/LogsPageHead.vue +71 -71
  948. package/app/components/monitor/MonitorAgentTable.vue +143 -143
  949. package/app/components/monitor/MonitorChannelTable.vue +80 -80
  950. package/app/components/monitor/MonitorLoginGate.vue +24 -24
  951. package/app/components/monitor/MonitorPageHead.vue +92 -92
  952. package/app/components/monitor/MonitorProcessTable.vue +159 -159
  953. package/app/components/ontology/OntologyGraph.vue +356 -356
  954. package/app/components/operations/OperationsFilterCard.vue +164 -164
  955. package/app/components/operations/OperationsPageHead.vue +47 -47
  956. package/app/components/tokens/TokenCreateModal.vue +42 -42
  957. package/app/components/tokens/TokenOnceModal.vue +164 -164
  958. package/app/components/tokens/TokenRenameModal.vue +40 -40
  959. package/app/components/tokens/TokensPageHead.vue +76 -76
  960. package/app/components/workshop/A2aRpcDebugger.vue +237 -237
  961. package/app/components/workshop/AgentInspectorDrawer.vue +424 -424
  962. package/app/components/workshop/AgentLanesView.vue +278 -278
  963. package/app/components/workshop/ArtifactCard.vue +120 -120
  964. package/app/components/workshop/AssetLibrary.vue +452 -452
  965. package/app/components/workshop/ChatMemberPanel.vue +556 -556
  966. package/app/components/workshop/CommandPalette.vue +270 -270
  967. package/app/components/workshop/Composer.vue +540 -540
  968. package/app/components/workshop/DaqTemplateIcon.vue +33 -33
  969. package/app/components/workshop/DeviceTwinPanel.vue +167 -167
  970. package/app/components/workshop/FileSelectorModal.vue +188 -188
  971. package/app/components/workshop/InspectorPanel.vue +301 -301
  972. package/app/components/workshop/PluginSlot.vue +120 -120
  973. package/app/components/workshop/TranscriptTimeline.vue +223 -223
  974. package/app/components/workshop/agents/AgentTemplateEditModal.vue +139 -139
  975. package/app/components/workshop/blocks/ClusterArtifact.vue +61 -61
  976. package/app/components/workshop/blocks/ClusterError.vue +85 -85
  977. package/app/components/workshop/blocks/ClusterLife.vue +87 -87
  978. package/app/components/workshop/blocks/ClusterMember.vue +95 -95
  979. package/app/components/workshop/blocks/ClusterMemory.vue +84 -84
  980. package/app/components/workshop/blocks/ClusterOther.vue +67 -67
  981. package/app/components/workshop/blocks/ClusterStatus.vue +149 -149
  982. package/app/components/workshop/blocks/ClusterTool.vue +176 -176
  983. package/app/components/workshop/blocks/EventBlockAvatar.vue +114 -114
  984. package/app/components/workshop/blocks/EventBlockHead.vue +232 -232
  985. package/app/components/workshop/composer/ComposerToolbar.vue +278 -278
  986. package/app/components/workshop/composer/MentionMenu.vue +135 -135
  987. package/app/components/workshop/composer/ReplyChip.vue +65 -65
  988. package/app/components/workshop/composer/StatusChip.vue +171 -171
  989. package/app/components/workshop/console/Dock.vue +71 -71
  990. package/app/components/workshop/console/LeftPane.vue +84 -84
  991. package/app/components/workshop/device-twin/DeviceTwinCard.vue +265 -265
  992. package/app/components/workshop/device-twin/DeviceTwinDcwSection.vue +203 -203
  993. package/app/components/workshop/lanes/AddMemberModal.vue +270 -270
  994. package/app/components/workshop/lanes/EditMemberModal.vue +106 -106
  995. package/app/components/workshop/lanes/LanesToolbar.vue +97 -97
  996. package/app/components/workshop/session-list/ChannelSettingsModal.vue +112 -1
  997. package/app/components/workshop/session-list/MountChannelModal.vue +124 -124
  998. package/app/components/workshop/session-list/SaveTemplateModal.vue +93 -93
  999. package/app/components/workshop/task-board/Card.vue +172 -172
  1000. package/app/components/workshop/task-board/Column.vue +151 -151
  1001. package/app/components/workshop/task-board/List.vue +157 -157
  1002. package/app/components/workshop/task-board/StatusMenu.vue +88 -88
  1003. package/app/components/workshop/teams/TeamAddMemberModal.vue +53 -53
  1004. package/app/components/workshop/teams/TeamCreateModal.vue +94 -94
  1005. package/app/components/workshop/teams/TeamDeployModal.vue +40 -40
  1006. package/app/components/workshop/teams/TeamPluginModal.vue +119 -119
  1007. package/app/components/workshop/terminal/OmpTerminalPanel.vue +270 -270
  1008. package/app/components/workshop/terminal/TerminalHitlCard.vue +170 -170
  1009. package/app/components/workshop/town/TownScene.ts +466 -466
  1010. package/app/components/workshop/town/TownView.vue +561 -561
  1011. package/app/components/workshop/town/components/AutoModeConfirmModal.vue +94 -94
  1012. package/app/components/workshop/town/components/TownAgentBindings.vue +405 -405
  1013. package/app/components/workshop/town/components/TownAgentInspector.vue +554 -554
  1014. package/app/components/workshop/town/components/TownAlarmList.vue +147 -147
  1015. package/app/components/workshop/town/components/TownBoundaryPanel.vue +350 -350
  1016. package/app/components/workshop/town/components/TownCalloutLayer.vue +147 -147
  1017. package/app/components/workshop/town/components/TownChannelDock.vue +116 -116
  1018. package/app/components/workshop/town/components/TownControlDock.vue +405 -405
  1019. package/app/components/workshop/town/components/TownDaqNodeInspector.vue +345 -345
  1020. package/app/components/workshop/town/components/TownDaqTree.vue +366 -366
  1021. package/app/components/workshop/town/components/TownDcwBindSection.vue +473 -473
  1022. package/app/components/workshop/town/components/TownDcwNodeInspector.vue +185 -185
  1023. package/app/components/workshop/town/components/TownDcwTree.vue +280 -280
  1024. package/app/components/workshop/town/components/TownDeviceBindings.vue +394 -394
  1025. package/app/components/workshop/town/components/TownDeviceTransform.vue +248 -248
  1026. package/app/components/workshop/town/components/TownEventList.vue +120 -120
  1027. package/app/components/workshop/town/components/TownHealthBody.vue +100 -100
  1028. package/app/components/workshop/town/components/TownKpiStrip.vue +207 -207
  1029. package/app/components/workshop/town/components/TownLeftRail.vue +308 -308
  1030. package/app/components/workshop/town/components/TownLoadingMask.vue +61 -61
  1031. package/app/components/workshop/town/components/TownNavMap.vue +154 -154
  1032. package/app/components/workshop/town/components/TownRightRail.vue +543 -543
  1033. package/app/components/workshop/town/components/TownStage.vue +281 -281
  1034. package/app/components/workshop/town/components/TownStageTop.vue +238 -238
  1035. package/app/components/workshop/town/components/TownStatusBar.vue +108 -108
  1036. package/app/components/workshop/town/components/TownTopNav.vue +367 -367
  1037. package/app/components/workshop/town/components/TownTrendDock.vue +178 -178
  1038. package/app/components/workshop/town/scene/town-scene-agents.ts +254 -254
  1039. package/app/components/workshop/town/scene/town-scene-behavior.ts +194 -194
  1040. package/app/components/workshop/town/scene/town-scene-bubbles.ts +96 -96
  1041. package/app/components/workshop/town/scene/town-scene-core.ts +158 -158
  1042. package/app/components/workshop/town/scene/town-scene-models.ts +109 -109
  1043. package/app/components/workshop/town/scene/town-scene-visuals.ts +279 -279
  1044. package/app/components/workshop/town/scene/town-scene3d-agents.ts +308 -308
  1045. package/app/components/workshop/town/scene/town-scene3d-blocks.ts +297 -297
  1046. package/app/components/workshop/town/scene/town-scene3d-bubbles.ts +281 -281
  1047. package/app/components/workshop/town/scene/town-scene3d-camera.ts +282 -282
  1048. package/app/components/workshop/town/scene/town-scene3d-devices.ts +433 -433
  1049. package/app/components/workshop/town/scene/town-scene3d-editing.ts +490 -490
  1050. package/app/components/workshop/town/scene/town-scene3d-events.ts +173 -173
  1051. package/app/components/workshop/town/scene/town-scene3d-factory.ts +412 -412
  1052. package/app/components/workshop/town/scene/town-scene3d-hud.ts +110 -110
  1053. package/app/components/workshop/town/scene/town-scene3d-lifecycle.ts +144 -144
  1054. package/app/components/workshop/town/scene/town-scene3d-links.ts +141 -141
  1055. package/app/components/workshop/town/scene/town-scene3d-loop.ts +286 -286
  1056. package/app/components/workshop/town/scene/town-scene3d-models.ts +154 -154
  1057. package/app/components/workshop/town/scene/town-scene3d-nodes.ts +562 -562
  1058. package/app/components/workshop/town/scene/town-scene3d-ranges.ts +273 -273
  1059. package/app/components/workshop/town/scene/town-scene3d-renderer.ts +320 -320
  1060. package/app/components/workshop/town/scene/town-scene3d-selection.ts +257 -257
  1061. package/app/components/workshop/town/scene/town-scene3d-types.ts +264 -264
  1062. package/app/components/workshop/transcript/TranscriptBlockList.vue +68 -68
  1063. package/app/components/workshop/transcript/TranscriptEarlierPager.vue +81 -81
  1064. package/app/components/workshop/transcript/TranscriptFilterBar.vue +126 -126
  1065. package/app/components/workshop/workbench/CreateWorkspaceModal.vue +36 -36
  1066. package/app/components/workshop/workbench/WorkspaceEmpty.vue +56 -56
  1067. package/app/composables/useResponsive.ts +88 -88
  1068. package/app/composables/workshop/device-twin-types.ts +29 -29
  1069. package/app/composables/workshop/event-blocks/attention.ts +58 -58
  1070. package/app/composables/workshop/event-blocks/classify.ts +44 -44
  1071. package/app/composables/workshop/event-blocks/clusterer.ts +231 -231
  1072. package/app/composables/workshop/event-blocks/fold-stream.ts +45 -45
  1073. package/app/composables/workshop/event-blocks/markdown.ts +81 -81
  1074. package/app/composables/workshop/event-blocks/mentions.ts +49 -49
  1075. package/app/composables/workshop/event-blocks/text-utils.ts +100 -100
  1076. package/app/composables/workshop/event-blocks/types.ts +40 -40
  1077. package/app/composables/workshop/town/town-relay-props.ts +231 -231
  1078. package/app/composables/workshop/town/town-view-types.ts +145 -145
  1079. package/app/composables/workshop/town/useTownAgentBindings.ts +182 -182
  1080. package/app/composables/workshop/town/useTownAgentChat.ts +203 -203
  1081. package/app/composables/workshop/town/useTownAlarms.ts +36 -36
  1082. package/app/composables/workshop/town/useTownCallouts.ts +174 -174
  1083. package/app/composables/workshop/town/useTownChannels.ts +220 -220
  1084. package/app/composables/workshop/town/useTownHealth.ts +66 -66
  1085. package/app/composables/workshop/town/useTownHudTickers.ts +77 -77
  1086. package/app/composables/workshop/town/useTownLayout.ts +277 -277
  1087. package/app/composables/workshop/town/useTownNavMap.ts +301 -301
  1088. package/app/composables/workshop/town/useTownNodeBindings.ts +345 -345
  1089. package/app/composables/workshop/town/useTownPanelDrag.ts +91 -91
  1090. package/app/composables/workshop/town/useTownRailData.ts +421 -421
  1091. package/app/composables/workshop/town/useTownSceneControl.ts +92 -92
  1092. package/app/composables/workshop/town/useTownSceneInput.ts +275 -275
  1093. package/app/composables/workshop/town/useTownSceneRuntime.ts +390 -390
  1094. package/app/composables/workshop/town/useTownSheets.ts +41 -41
  1095. package/app/composables/workshop/town/useTownTrends.ts +93 -93
  1096. package/app/composables/workshop/useChannelList.ts +88 -88
  1097. package/app/composables/workshop/useChannelTerminals.ts +65 -65
  1098. package/app/composables/workshop/useComposerMentions.ts +130 -130
  1099. package/app/composables/workshop/useDcwStream.ts +374 -374
  1100. package/app/composables/workshop/useDeviceTwinDcwWrite.ts +77 -77
  1101. package/app/composables/workshop/useDeviceTwinPanel.ts +56 -56
  1102. package/app/composables/workshop/useEscClose.ts +44 -44
  1103. package/app/composables/workshop/useEventBlockView.ts +159 -159
  1104. package/app/composables/workshop/useEventBlocks.ts +33 -33
  1105. package/app/composables/workshop/useHitlAnswer.ts +184 -184
  1106. package/app/composables/workshop/useLaneWidths.ts +27 -27
  1107. package/app/composables/workshop/useOmpTerminalSession.ts +424 -424
  1108. package/app/composables/workshop/usePluginAdmin.ts +152 -152
  1109. package/app/composables/workshop/usePluginPanels.ts +72 -72
  1110. package/app/composables/workshop/useRuntimeConfigDraft.ts +118 -118
  1111. package/app/composables/workshop/useSettingsGroups.ts +243 -243
  1112. package/app/composables/workshop/useTaskBoardColumns.ts +47 -47
  1113. package/app/composables/workshop/useTerminalRenderer.ts +308 -308
  1114. package/app/composables/workshop/useTranscriptEnterStage.ts +48 -48
  1115. package/app/composables/workshop/useTranscriptHistory.ts +52 -52
  1116. package/app/composables/workshop/useTranscriptScroll.ts +113 -113
  1117. package/app/composables/workshop/useVisibleInterval.ts +42 -42
  1118. package/app/composables/workshop/useWorkshopApi.ts +6 -0
  1119. package/app/composables/workshop/useWorkshopWs.ts +265 -265
  1120. package/app/config/index.ts +1 -1
  1121. package/app/config/schema.ts +5 -0
  1122. package/app/middleware/locale-cookie.global.ts +22 -22
  1123. package/app/pages/aml/api.ts +6 -6
  1124. package/app/pages/aml/composables/useAmlDatasets.ts +38 -38
  1125. package/app/pages/aml/composables/useAmlEntities.ts +57 -57
  1126. package/app/pages/aml/composables/useAmlEnv.ts +191 -191
  1127. package/app/pages/aml/composables/useAmlExperiments.ts +45 -45
  1128. package/app/pages/aml/composables/useAmlFormat.ts +44 -44
  1129. package/app/pages/aml/composables/useAmlJobs.ts +131 -131
  1130. package/app/pages/aml/composables/useAmlModels.ts +56 -56
  1131. package/app/pages/aml/composables/useAmlNotes.ts +47 -47
  1132. package/app/pages/aml/composables/useAmlPredict.ts +93 -93
  1133. package/app/pages/aml/constants.ts +63 -63
  1134. package/app/pages/aml/index.vue +236 -236
  1135. package/app/pages/composables/useDashboardCharts.ts +192 -192
  1136. package/app/pages/composables/useDashboardData.ts +144 -144
  1137. package/app/pages/daq/composables/useDaqAddNode.ts +126 -126
  1138. package/app/pages/daq/composables/useDaqDetailBinding.ts +29 -29
  1139. package/app/pages/daq/composables/useDaqDetailFrames.ts +42 -42
  1140. package/app/pages/daq/composables/useDaqDetailNode.ts +53 -53
  1141. package/app/pages/daq/composables/useDaqDetailParams.ts +138 -138
  1142. package/app/pages/daq/composables/useDaqFilters.ts +187 -187
  1143. package/app/pages/daq/composables/useDaqNodeWindow.ts +86 -86
  1144. package/app/pages/daq/composables/useDaqOptimizations.ts +99 -99
  1145. package/app/pages/daq/composables/useDaqTemplates.ts +152 -152
  1146. package/app/pages/daq/index.vue +260 -260
  1147. package/app/pages/dcw/composables/useDcwCards.ts +27 -27
  1148. package/app/pages/dcw/composables/useDcwDetailScope.ts +145 -145
  1149. package/app/pages/dcw/composables/useDcwDetailTemplates.ts +94 -94
  1150. package/app/pages/dcw/composables/useDcwFilter.ts +29 -29
  1151. package/app/pages/dcw/composables/useDcwLedger.ts +34 -34
  1152. package/app/pages/dcw/composables/useDcwLineMutations.ts +115 -115
  1153. package/app/pages/dcw/composables/useDcwLineRun.ts +60 -60
  1154. package/app/pages/dcw/composables/useDcwProducts.ts +54 -54
  1155. package/app/pages/dcw/composables/useDcwQuery.ts +68 -68
  1156. package/app/pages/dcw/composables/useDcwQuickActions.ts +47 -47
  1157. package/app/pages/dcw/composables/useDcwRecipes.ts +256 -256
  1158. package/app/pages/dcw/composables/useDcwTemplates.ts +50 -50
  1159. package/app/pages/dcw/index.vue +195 -195
  1160. package/app/pages/dcw/types.ts +9 -9
  1161. package/app/pages/index.vue +126 -126
  1162. package/app/pages/logs/composables/useLogsFormat.ts +43 -43
  1163. package/app/pages/logs/composables/useLogsScope.ts +39 -39
  1164. package/app/pages/monitor/types.ts +61 -61
  1165. package/app/pages/operations.vue +61 -61
  1166. package/app/pages/permissions/index.vue +369 -369
  1167. package/app/pages/studio/board.vue +30 -9
  1168. package/app/pages/studio/index.vue +40 -8
  1169. package/app/pages/studio/pipeline.vue +16 -24
  1170. package/app/pages/tokens/composables/useTokenClipboard.ts +33 -33
  1171. package/app/pages/tokens/composables/useTokenCreate.ts +93 -93
  1172. package/app/pages/tokens/composables/useTokenRename.ts +54 -54
  1173. package/app/pages/tokens/composables/useTokenReveal.ts +84 -84
  1174. package/app/pages/tokens/composables/useTokensList.ts +60 -60
  1175. package/app/pages/tokens.vue +111 -111
  1176. package/app/pages/tools/index.vue +98 -98
  1177. package/app/pages/workshop/agents.vue +130 -130
  1178. package/app/pages/workshop/composables/useAgentHarnessOptions.ts +59 -59
  1179. package/app/pages/workshop/composables/useAgentTemplateActions.ts +42 -42
  1180. package/app/pages/workshop/composables/useAgentTemplateDialogState.ts +24 -24
  1181. package/app/pages/workshop/composables/useAgentTemplateForm.ts +88 -88
  1182. package/app/pages/workshop/composables/useAgentTemplatesCatalog.ts +92 -92
  1183. package/app/pages/workshop/composables/useTeamActions.ts +44 -44
  1184. package/app/pages/workshop/composables/useTeamAddMemberDialog.ts +49 -49
  1185. package/app/pages/workshop/composables/useTeamCreateDialog.ts +67 -67
  1186. package/app/pages/workshop/composables/useTeamDeployDialog.ts +49 -49
  1187. package/app/pages/workshop/composables/useTeamDialogState.ts +46 -46
  1188. package/app/pages/workshop/composables/useTeamPluginDialog.ts +72 -72
  1189. package/app/pages/workshop/composables/useTeamsCatalog.ts +100 -100
  1190. package/app/pages/workshop/composables/useWorkbenchWorkspaces.ts +123 -123
  1191. package/app/pages/workshop/composables/useWorkspaceAuth.ts +31 -31
  1192. package/app/pages/workshop/composables/useWorkspaceChannels.ts +62 -62
  1193. package/app/pages/workshop/composables/useWorkspaceShell.ts +136 -136
  1194. package/app/pages/workshop/schedules.vue +553 -553
  1195. package/app/pages/workshop/w/[wsId].vue +221 -221
  1196. package/app/plugins/aw-plugins.client.ts +213 -213
  1197. package/app/plugins/esc-close.client.ts +31 -31
  1198. package/app/stores/workshop/hitl.ts +183 -183
  1199. package/app/stores/workshop/narrow-fetch.ts +23 -23
  1200. package/app/utils/api-error.ts +75 -75
  1201. package/app/utils/builtin-catalog.ts +104 -104
  1202. package/app/utils/chart-pipeline.ts +50 -1
  1203. package/app/utils/chart-trend.ts +97 -97
  1204. package/app/utils/dcw-driver-badge.ts +16 -16
  1205. package/app/utils/dcw-recipe-form.ts +26 -26
  1206. package/cli/commands/tui.mjs +28 -28
  1207. package/cli/commands/update.mjs +124 -124
  1208. package/cli/core/child-lifecycle.mjs +136 -136
  1209. package/cli/core/meta.mjs +38 -38
  1210. package/cli/core/post-build.mjs +96 -96
  1211. package/config.yml +1 -1
  1212. package/docker-compose.yml +4 -2
  1213. package/docs/cli.en.md +4 -4
  1214. package/docs/cli.md +4 -4
  1215. package/docs/mcp.en.md +27 -27
  1216. package/docs/multi-harness-architecture.md +248 -248
  1217. package/docs/plugins.en.md +1 -1
  1218. package/docs/plugins.md +1 -1
  1219. package/docs/sdk.en.md +1 -1
  1220. package/docs/sdk.md +1 -1
  1221. package/docs/tui.md +43 -43
  1222. package/i18n/dicts/_en.json +1551 -1551
  1223. package/i18n/dicts/_en2.json +300 -300
  1224. package/i18n/dicts/_en4.json +114 -114
  1225. package/i18n/dicts/agentLanesView.json +61 -61
  1226. package/i18n/dicts/appHeader.json +17 -17
  1227. package/i18n/dicts/channelSessionList.json +51 -51
  1228. package/i18n/dicts/chat.json +79 -79
  1229. package/i18n/dicts/clusterTool.json +4 -4
  1230. package/i18n/dicts/composer.json +38 -38
  1231. package/i18n/dicts/ctpl.json +37 -37
  1232. package/i18n/dicts/dcwDetail.json +219 -219
  1233. package/i18n/dicts/lineOps.json +14 -14
  1234. package/i18n/dicts/multiChannelView.json +13 -13
  1235. package/i18n/dicts/notifications.json +13 -13
  1236. package/i18n/dicts/taskInspectorDrawer.json +25 -25
  1237. package/i18n/dicts/teamPlugins.json +10 -10
  1238. package/i18n/dicts/townView.json +209 -209
  1239. package/i18n/locales/en.ts +18 -0
  1240. package/i18n/locales/zh-CN.ts +18 -0
  1241. package/mcp/discovery.mjs +227 -227
  1242. package/package.json +1 -1
  1243. package/public/favicon.svg +14 -14
  1244. package/public/robots.txt +3 -3
  1245. package/scripts/_audit/_detached-mes-20261028.mjs +48 -0
  1246. package/scripts/_audit/_detached-nodesim-20261028.mjs +50 -0
  1247. package/scripts/_audit/_detached-sim-20261028.mjs +44 -0
  1248. package/scripts/_audit/_live-execmodes-20261028.mjs +246 -0
  1249. package/scripts/_audit/_live-execmodes-invoke-20261028.mjs +203 -0
  1250. package/scripts/_audit/_live-mqtt-e2e-20261028.mjs +219 -0
  1251. package/scripts/_audit/_mission-coupling-probe-20261028.mjs +27 -0
  1252. package/scripts/_audit/_mission-f1-evidence-20261028.mjs +56 -0
  1253. package/scripts/_audit/_mission-idd-remint-20261028.mjs +32 -0
  1254. package/scripts/_audit/_mission-ui-shots-20261028.mjs +56 -0
  1255. package/scripts/_audit/_mission-us10-timeline-20261028.mjs +65 -0
  1256. package/scripts/_audit/_mission-us12-tools-20261028.mjs +85 -0
  1257. package/scripts/_audit/_mission-us4-daq-dcw-20261028.mjs +115 -0
  1258. package/scripts/_audit/_mission-us5-mes-20261028.mjs +142 -0
  1259. package/scripts/_audit/_mission-us6-dialog-20261028.mjs +43 -0
  1260. package/scripts/_audit/_mission-us7-diag-20261028.mjs +42 -0
  1261. package/scripts/_audit/_mission-us7-final-20261028.mjs +79 -0
  1262. package/scripts/_audit/_mission-us7-idd-rag-20261028.mjs +147 -0
  1263. package/scripts/_audit/audit-harness-adapters.md +664 -664
  1264. package/scripts/_audit/aw-mcp-live-e2e.mjs +293 -293
  1265. package/scripts/_audit/bump-version.mjs +51 -51
  1266. package/scripts/_audit/detached-instance.mjs +112 -112
  1267. package/scripts/_audit/detached-start.mjs +103 -103
  1268. package/scripts/_audit/eda-ui-fix-acceptance.mjs +212 -212
  1269. package/scripts/_audit/guard-upstream-liveness.mjs +104 -104
  1270. package/scripts/_audit/http-api-authz-audit.md +657 -657
  1271. package/scripts/_audit/kb-team-mock-e2e.mjs +146 -146
  1272. package/scripts/_audit/kb-team-omp-e2e.mjs +229 -229
  1273. package/scripts/_audit/prompt-injection-probe.mts +76 -0
  1274. package/scripts/_audit/run.mjs +21 -21
  1275. package/scripts/_audit/runtime-audit.md +716 -716
  1276. package/scripts/_audit/skills-guided-e2e.mjs +316 -316
  1277. package/scripts/_audit/stability-soak.mjs +252 -252
  1278. package/scripts/_audit/stubs/nuxt-imports.mjs +67 -67
  1279. package/scripts/_audit/ts-register-hook.mjs +12 -12
  1280. package/scripts/_audit/ts-resolve-hook.mjs +96 -96
  1281. package/scripts/_aw0746-stage12.mjs +94 -94
  1282. package/scripts/_aw0746-stage34.mjs +136 -136
  1283. package/scripts/_aw0746-stage6b-train-sweep.mjs +145 -145
  1284. package/scripts/_aw0746-stage6c-jobsmoke.mjs +69 -69
  1285. package/scripts/_dbg-configroot-audit.mjs +86 -86
  1286. package/scripts/_dbg-daq-intervals-func.mjs +115 -115
  1287. package/scripts/_dbg-perms-e2e.mjs +142 -142
  1288. package/scripts/_dbg-protocol-matrix.mjs +462 -462
  1289. package/scripts/_dbg-render-regression.mjs +193 -193
  1290. package/scripts/_dbg-schedule-e2e.mjs +262 -262
  1291. package/scripts/_e2e-ui-functional.mjs +371 -371
  1292. package/scripts/_lib-aml-python-run.mjs +17 -17
  1293. package/scripts/_plc-sim-detached.cjs +22 -22
  1294. package/scripts/_provision-injection-line.mjs +39 -39
  1295. package/scripts/_run-matrix.ps1 +53 -53
  1296. package/scripts/_sweep-button-contrast.mjs +87 -87
  1297. package/scripts/acceptance-aml-hybrid-e2e.ts +396 -396
  1298. package/scripts/acceptance-aml-hybrid-live.mjs +93 -93
  1299. package/scripts/acceptance-aml-model-identity.ts +137 -137
  1300. package/scripts/agent-daq-isolation-e2e.mjs +91 -91
  1301. package/scripts/api-contract-smoke.mjs +126 -126
  1302. package/scripts/api-live-e2e.mjs +9 -3
  1303. package/scripts/ask-hitl-e2e.mjs +96 -96
  1304. package/scripts/aw-expose.mjs +159 -159
  1305. package/scripts/channel-interaction-smoke.mjs +80 -80
  1306. package/scripts/data-studio-ui-e2e.mjs +163 -163
  1307. package/scripts/demo-group-chat-all-real.ts +279 -279
  1308. package/scripts/dev-modbus-simulator.mjs +55 -55
  1309. package/scripts/docs-shots.mjs +36 -36
  1310. package/scripts/e2e-agentteam-chat.mjs +473 -473
  1311. package/scripts/e2e-agentteam-real-triage.mjs +421 -421
  1312. package/scripts/e2e-aml-decoupled.mjs +162 -162
  1313. package/scripts/e2e-aw-tui-global.mjs +277 -277
  1314. package/scripts/e2e-closedloop/cleanup.mjs +27 -27
  1315. package/scripts/e2e-closedloop/lib.mjs +109 -109
  1316. package/scripts/e2e-closedloop/main.mjs +59 -59
  1317. package/scripts/e2e-closedloop/scenarios-accounts.mjs +210 -210
  1318. package/scripts/e2e-closedloop/scenarios-authz.mjs +196 -196
  1319. package/scripts/e2e-closedloop/scenarios-daq-dcw.mjs +222 -222
  1320. package/scripts/e2e-closedloop/scenarios-plugins.mjs +169 -169
  1321. package/scripts/e2e-closedloop/state.mjs +10 -10
  1322. package/scripts/e2e-config-groups.mjs +238 -238
  1323. package/scripts/e2e-crash-cycle.mjs +108 -108
  1324. package/scripts/e2e-direct-rest-simulator-paper.mjs +624 -0
  1325. package/scripts/e2e-eda-pipeline.mjs +23 -2
  1326. package/scripts/e2e-execution-modes.mjs +290 -0
  1327. package/scripts/e2e-full-closedloop.mjs +16 -16
  1328. package/scripts/e2e-hil-multi-user.mjs +307 -307
  1329. package/scripts/e2e-hil-restart.mjs +339 -339
  1330. package/scripts/e2e-injection-recipe-closedloop.mjs +1 -1
  1331. package/scripts/e2e-line-governance.mjs +352 -352
  1332. package/scripts/e2e-mqtt-protocol.mjs +945 -0
  1333. package/scripts/e2e-multiexpert-remediation-real.mjs +453 -0
  1334. package/scripts/e2e-node-binding-3mode-real.mjs +697 -0
  1335. package/scripts/e2e-node-binding-authz.mjs +332 -0
  1336. package/scripts/e2e-ontology.mjs +393 -393
  1337. package/scripts/e2e-pi-simulator-paper.mjs +2317 -0
  1338. package/scripts/e2e-plc-plugin-closedloop.mjs +549 -549
  1339. package/scripts/e2e-registered-harness-simulator-paper.mjs +1926 -0
  1340. package/scripts/e2e-simulator-optimizer-paper.mjs +264 -0
  1341. package/scripts/fixtures/omp-paper-harness.mjs +163 -0
  1342. package/scripts/full-stack-shots.mjs +145 -145
  1343. package/scripts/full-tool-injection-harness-e2e.mjs +214 -214
  1344. package/scripts/hitl-reject-e2e.mjs +131 -131
  1345. package/scripts/line-log-smoke.mjs +260 -260
  1346. package/scripts/live-aml-mockomp.mjs +304 -304
  1347. package/scripts/live-aml-optloop-resume.mjs +322 -322
  1348. package/scripts/live-aml-optloop.mjs +588 -588
  1349. package/scripts/live-aml-stage9.mjs +169 -169
  1350. package/scripts/live-aml-two-goals.mjs +315 -315
  1351. package/scripts/live-optloop-two-modes.mjs +857 -857
  1352. package/scripts/mes-agent-integration-e2e.mjs +361 -361
  1353. package/scripts/ops-plugins-e2e.mjs +85 -85
  1354. package/scripts/scenario-suite-setup.mjs +337 -337
  1355. package/scripts/scenario-suite-stability.mjs +144 -144
  1356. package/scripts/security-acceptance.mjs +218 -0
  1357. package/scripts/team-coordination-e2e.mjs +96 -96
  1358. package/scripts/test-agentteam-workflow.ts +472 -472
  1359. package/scripts/test-aw-skills.mjs +102 -102
  1360. package/scripts/test-daq-frame-race.mjs +358 -358
  1361. package/scripts/test-data-root.mjs +208 -208
  1362. package/scripts/test-events-index.mjs +176 -176
  1363. package/scripts/test-group-chat-unit/lib.ts +186 -186
  1364. package/scripts/test-group-chat-unit/main.ts +45 -45
  1365. package/scripts/test-group-chat-unit.ts +35 -35
  1366. package/scripts/test-hitl-decision.ts +526 -526
  1367. package/scripts/test-hitl-registry.ts +112 -112
  1368. package/scripts/test-log-flooding.mjs +160 -160
  1369. package/scripts/test-lru.mjs +101 -101
  1370. package/scripts/test-plugin-hardening.mjs +90 -90
  1371. package/scripts/test-plugin-lifecycle.mjs +173 -173
  1372. package/scripts/test-rollback-index.mjs +137 -137
  1373. package/scripts/test-schedule-runtime.ts +309 -309
  1374. package/scripts/test-sdk-surface.mjs +158 -158
  1375. package/scripts/test-serial-bridge.mjs +418 -418
  1376. package/scripts/test-tui-commands.mjs +148 -148
  1377. package/scripts/test-tui-reducers.mjs +72 -72
  1378. package/scripts/three-system-e2e/lib.mjs +79 -79
  1379. package/scripts/three-system-e2e/main.mjs +40 -40
  1380. package/scripts/three-system-e2e/phases/phase-0-user-token.mjs +42 -42
  1381. package/scripts/three-system-e2e/phases/phase-0a2-line-autoselect.mjs +35 -35
  1382. package/scripts/three-system-e2e/phases/phase-0b-fixture-grants.mjs +39 -39
  1383. package/scripts/three-system-e2e/phases/phase-0c-plugin-outbound-auth.mjs +95 -95
  1384. package/scripts/three-system-e2e/phases/stage-1-health.mjs +47 -47
  1385. package/scripts/three-system-e2e/phases/stage-2-5-team-plugins.mjs +84 -84
  1386. package/scripts/three-system-e2e/phases/stage-2-teams-tools-hitl.mjs +184 -184
  1387. package/scripts/three-system-e2e/phases/stage-3-diag.mjs +73 -73
  1388. package/scripts/three-system-e2e/phases/stage-4-plugin-toggle.mjs +53 -53
  1389. package/scripts/three-system-e2e/state.mjs +87 -87
  1390. package/scripts/three-system-e2e.mjs +40 -40
  1391. package/scripts/tool-face-batch-identity-e2e.mjs +222 -222
  1392. package/scripts/tsconfig.json +14 -14
  1393. package/scripts/tui-smoke.mjs +100 -100
  1394. package/scripts/typecheck.mjs +75 -75
  1395. package/scripts/ui/md-lint.mjs +80 -80
  1396. package/scripts/ui/readme-assets.mjs +30 -30
  1397. package/scripts/ui/readme-shots.mjs +42 -42
  1398. package/scripts/ui/record-demo.mjs +557 -557
  1399. package/scripts/ui/record.mjs +225 -225
  1400. package/scripts/ui/seed-admin.mjs +68 -68
  1401. package/scripts/ui/seed-demo.mjs +83 -83
  1402. package/scripts/ui/seed-industrial-demo.mjs +171 -171
  1403. package/scripts/ui/shot-hero.mjs +25 -25
  1404. package/scripts/ui/shots.mjs +75 -75
  1405. package/scripts/ui/verify-nav.mjs +51 -51
  1406. package/scripts/ui/verify-responsive.mjs +285 -285
  1407. package/sdk/client.d.mts +110 -110
  1408. package/sdk/examples/line-sentinel/index.mjs +105 -105
  1409. package/sdk/examples/ops-notifier/index.mjs +34 -34
  1410. package/sdk/examples/sample-insight/index.mjs +39 -39
  1411. package/server/.mimosa/hook-state/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2.json +1 -0
  1412. package/server/.mimosa/hook-state/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2.mvhn1irp-99488-e3fdc1cbfc.baseline/942d2679b87b96c612b4f2a425c3ccc5b6f3234f0cf589a8441602f866fbe277.source +41 -0
  1413. package/server/.mimosa/hook-state/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2.mvhn1irp-99488-e3fdc1cbfc.baseline/dd617a82339d2c61e49e28e416aabeb2fc100fb3cb1beca18d02dfb833214af6.source +51 -0
  1414. package/server/.mimosa/hook-status/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2-e67b6b91bf.json +14 -0
  1415. package/server/api/plugins/client/[name].get.ts +18 -18
  1416. package/server/api/plugins/i18n.get.ts +12 -12
  1417. package/server/api/plugins/manifest.get.ts +10 -10
  1418. package/server/api/system/backup/list.get.ts +32 -32
  1419. package/server/api/system/backup/run.post.ts +21 -21
  1420. package/server/api/system/config-groups/[id].delete.ts +21 -21
  1421. package/server/api/system/config-groups/[id].patch.ts +26 -26
  1422. package/server/api/system/config-groups/index.get.ts +21 -21
  1423. package/server/api/system/config-groups/index.post.ts +33 -33
  1424. package/server/api/system/timezone.get.ts +20 -20
  1425. package/server/api/users/tokens/[id]/token.get.ts +11 -11
  1426. package/server/api/workshop/[...path].ts +13 -13
  1427. package/server/api/workshop/agent-tools/approvals/index.get.ts +43 -43
  1428. package/server/api/workshop/agent-tools/bindings/[id].delete.ts +26 -26
  1429. package/server/api/workshop/agent-tools/bindings/grant.post.ts +45 -45
  1430. package/server/api/workshop/agent-tools/bindings/index.get.ts +41 -41
  1431. package/server/api/workshop/agent-tools/bindings/index.post.ts +33 -17
  1432. package/server/api/workshop/agent-tools/bindings/revoke.post.ts +42 -42
  1433. package/server/api/workshop/agents/[id].patch.ts +3 -0
  1434. package/server/api/workshop/agents/index.post.ts +3 -0
  1435. package/server/api/workshop/aml/datasets/[id]/preview.get.ts +68 -68
  1436. package/server/api/workshop/aml/datasets/[id].delete.ts +39 -39
  1437. package/server/api/workshop/aml/datasets/[id].get.ts +53 -53
  1438. package/server/api/workshop/aml/datasets/[id].patch.ts +30 -30
  1439. package/server/api/workshop/aml/datasets/index.get.ts +20 -20
  1440. package/server/api/workshop/aml/datasets/index.post.ts +27 -27
  1441. package/server/api/workshop/aml/entities/index.get.ts +13 -13
  1442. package/server/api/workshop/aml/entities/prune.post.ts +28 -28
  1443. package/server/api/workshop/aml/env/index.get.ts +13 -13
  1444. package/server/api/workshop/aml/env/recheck.post.ts +14 -14
  1445. package/server/api/workshop/aml/env/uv.post.ts +21 -21
  1446. package/server/api/workshop/aml/env/venv.post.ts +24 -24
  1447. package/server/api/workshop/aml/experiments/index.get.ts +35 -35
  1448. package/server/api/workshop/aml/index.get.ts +37 -37
  1449. package/server/api/workshop/aml/jobs/[id]/cancel.post.ts +21 -21
  1450. package/server/api/workshop/aml/jobs/[id]/logs.get.ts +23 -23
  1451. package/server/api/workshop/aml/jobs/[id]/retry.post.ts +20 -20
  1452. package/server/api/workshop/aml/jobs/[id].delete.ts +44 -44
  1453. package/server/api/workshop/aml/jobs/[id].get.ts +23 -23
  1454. package/server/api/workshop/aml/jobs/index.get.ts +26 -26
  1455. package/server/api/workshop/aml/models/[id]/predict.post.ts +24 -24
  1456. package/server/api/workshop/aml/models/[id]/promote.post.ts +30 -30
  1457. package/server/api/workshop/aml/models/index.get.ts +48 -48
  1458. package/server/api/workshop/aml/training-plans/[id]/train.post.ts +18 -18
  1459. package/server/api/workshop/aml/training-plans/[id].delete.ts +18 -18
  1460. package/server/api/workshop/aml/training-plans/[id].patch.ts +30 -30
  1461. package/server/api/workshop/aml/training-plans/index.get.ts +9 -9
  1462. package/server/api/workshop/aml/training-plans/index.post.ts +43 -43
  1463. package/server/api/workshop/analysis/index.post.ts +54 -54
  1464. package/server/api/workshop/approvals/[id]/decide.post.ts +30 -30
  1465. package/server/api/workshop/approvals/index.get.ts +22 -22
  1466. package/server/api/workshop/audit.get.ts +43 -43
  1467. package/server/api/workshop/channel-templates/[id].patch.ts +5 -0
  1468. package/server/api/workshop/channel-templates/index.post.ts +6 -0
  1469. package/server/api/workshop/channels/[id]/agents/[agentId].patch.ts +5 -0
  1470. package/server/api/workshop/channels/[id]/agents/index.get.ts +8 -2
  1471. package/server/api/workshop/channels/[id]/agents/index.post.ts +7 -0
  1472. package/server/api/workshop/channels/[id]/chat/messages/[messageId]/read.post.ts +22 -22
  1473. package/server/api/workshop/channels/[id]/chat/messages/index.get.ts +29 -29
  1474. package/server/api/workshop/channels/[id]/chat/messages/index.post.ts +51 -51
  1475. package/server/api/workshop/channels/[id]/chat/permissions.get.ts +35 -35
  1476. package/server/api/workshop/channels/[id]/execution-mode.patch.ts +94 -0
  1477. package/server/api/workshop/channels/[id]/index.get.ts +10 -4
  1478. package/server/api/workshop/channels/[id]/index.patch.ts +64 -64
  1479. package/server/api/workshop/channels/[id]/members/[userId]/approve.post.ts +20 -20
  1480. package/server/api/workshop/channels/[id]/members/[userId].delete.ts +21 -21
  1481. package/server/api/workshop/channels/[id]/members/index.get.ts +23 -23
  1482. package/server/api/workshop/channels/[id]/members/leave.post.ts +20 -20
  1483. package/server/api/workshop/channels/[id]/twin-profile.get.ts +45 -45
  1484. package/server/api/workshop/channels/[id]/twin-profile.patch.ts +72 -72
  1485. package/server/api/workshop/channels.post.ts +3 -0
  1486. package/server/api/workshop/daq/[id]/frames/content.get.ts +3 -0
  1487. package/server/api/workshop/daq/[id]/ingest.post.ts +31 -22
  1488. package/server/api/workshop/daq/[id]/test.post.ts +1 -1
  1489. package/server/api/workshop/daq/[id].patch.ts +8 -0
  1490. package/server/api/workshop/daq/alarms.get.ts +4 -2
  1491. package/server/api/workshop/daq/infra/reconnect.post.ts +21 -5
  1492. package/server/api/workshop/daq/test-driver.post.ts +10 -3
  1493. package/server/api/workshop/dcw/[id]/param-ledger.get.ts +7 -1
  1494. package/server/api/workshop/dcw/[id]/read.post.ts +6 -1
  1495. package/server/api/workshop/dcw/[id]/write.post.ts +4 -4
  1496. package/server/api/workshop/dcw/[id].delete.ts +41 -41
  1497. package/server/api/workshop/dcw/[id].patch.ts +9 -0
  1498. package/server/api/workshop/dcw/journal/index.get.ts +7 -3
  1499. package/server/api/workshop/dcw/mes-artifacts/file.get.ts +7 -1
  1500. package/server/api/workshop/dcw/mes-artifacts/index.get.ts +7 -1
  1501. package/server/api/workshop/dcw/mes-hook-test.post.ts +5 -3
  1502. package/server/api/workshop/dcw/mes-test-read.post.ts +24 -24
  1503. package/server/api/workshop/dcw/optimizations/[id]/series.get.ts +6 -1
  1504. package/server/api/workshop/dcw/optimizations/[id].get.ts +3 -1
  1505. package/server/api/workshop/dcw/optimizations/index.get.ts +6 -3
  1506. package/server/api/workshop/dcw/params/[id]/read.post.ts +6 -1
  1507. package/server/api/workshop/dcw/params/[id]/write.post.ts +21 -21
  1508. package/server/api/workshop/dcw/params/[id].delete.ts +19 -19
  1509. package/server/api/workshop/dcw/params/[id].patch.ts +23 -23
  1510. package/server/api/workshop/dcw/params/index.get.ts +27 -27
  1511. package/server/api/workshop/dcw/params/index.post.ts +25 -25
  1512. package/server/api/workshop/dcw/products/[id].delete.ts +6 -2
  1513. package/server/api/workshop/dcw/products/[id].patch.ts +8 -2
  1514. package/server/api/workshop/dcw/recipes/[id]/index.patch.ts +6 -1
  1515. package/server/api/workshop/dcw/recipes/[id]/versions.get.ts +7 -1
  1516. package/server/api/workshop/dcw/recipes/[id].delete.ts +8 -0
  1517. package/server/api/workshop/dcw/recipes/index.get.ts +7 -2
  1518. package/server/api/workshop/dcw/runs/[id]/close.post.ts +7 -1
  1519. package/server/api/workshop/dcw/templates/[key].delete.ts +14 -14
  1520. package/server/api/workshop/dcw/templates/[key].patch.ts +16 -16
  1521. package/server/api/workshop/dcw/templates/index.post.ts +15 -15
  1522. package/server/api/workshop/dcw/test-driver.post.ts +8 -3
  1523. package/server/api/workshop/device-twins/[id].delete.ts +25 -25
  1524. package/server/api/workshop/eda/runs/[id]/labels.patch.ts +25 -25
  1525. package/server/api/workshop/eda/templates/[id].delete.ts +14 -14
  1526. package/server/api/workshop/eda/templates/[id].get.ts +15 -15
  1527. package/server/api/workshop/eda/templates/[id].patch.ts +20 -20
  1528. package/server/api/workshop/eda/templates/index.get.ts +11 -11
  1529. package/server/api/workshop/eda/templates/index.post.ts +20 -20
  1530. package/server/api/workshop/exp/confirmations/[id]/decide.post.ts +41 -41
  1531. package/server/api/workshop/exp/confirmations/index.get.ts +25 -25
  1532. package/server/api/workshop/harnesses/[id]/providers.get.ts +16 -16
  1533. package/server/api/workshop/hitl/respond.post.ts +94 -94
  1534. package/server/api/workshop/mes/secrets/[ref].delete.ts +31 -0
  1535. package/server/api/workshop/mes/secrets/index.get.ts +13 -0
  1536. package/server/api/workshop/mes/secrets/index.put.ts +39 -0
  1537. package/server/api/workshop/notifications/index.get.ts +60 -60
  1538. package/server/api/workshop/notifications/read.post.ts +31 -31
  1539. package/server/api/workshop/ontology/drafts/[draftId]/subgraph.ts +24 -24
  1540. package/server/api/workshop/plugins/[name]/disable.post.ts +21 -21
  1541. package/server/api/workshop/plugins/[name]/enable.post.ts +21 -21
  1542. package/server/api/workshop/plugins/[name]/index.get.ts +14 -14
  1543. package/server/api/workshop/schedules/[id]/run.post.ts +15 -15
  1544. package/server/api/workshop/schedules/[id]/runs.get.ts +15 -15
  1545. package/server/api/workshop/schedules/[id].delete.ts +14 -14
  1546. package/server/api/workshop/schedules/[id].get.ts +13 -13
  1547. package/server/api/workshop/schedules/[id].patch.ts +29 -29
  1548. package/server/api/workshop/schedules/index.get.ts +12 -12
  1549. package/server/api/workshop/schedules/index.post.ts +32 -32
  1550. package/server/api/workshop/tasks/[id]/reassign.post.ts +32 -32
  1551. package/server/api/workshop/tasks/[id]/update.post.ts +35 -35
  1552. package/server/api/workshop/teams/[id]/plugins/index.get.ts +36 -36
  1553. package/server/api/workshop/teams/[id]/plugins/index.put.ts +42 -42
  1554. package/server/api/workshop/ws/audience.ts +56 -56
  1555. package/server/api/workshop/ws/db-buffer.ts +68 -68
  1556. package/server/api/workshop/ws/event-mapping.ts +47 -47
  1557. package/server/api/workshop/ws/handlers.ts +132 -132
  1558. package/server/api/workshop/ws/hub.ts +134 -133
  1559. package/server/api/workshop/ws/index.ts +23 -23
  1560. package/server/api/workshop/ws/notification-uplink.ts +77 -77
  1561. package/server/api/workshop/ws/shared.ts +94 -94
  1562. package/server/api/workshop/ws/streams.ts +146 -146
  1563. package/server/middleware/00-security-headers.ts +38 -38
  1564. package/server/middleware/01-rate-guard.ts +101 -101
  1565. package/server/plugins/01-instance-guard.ts +82 -0
  1566. package/server/plugins/aml-twin-worker.ts +32 -32
  1567. package/server/plugins/daq.ts +40 -8
  1568. package/server/plugins/dev-stability-guard.ts +42 -42
  1569. package/server/plugins/workshop.ts +12 -0
  1570. package/server/plugins-builtin/diag-bridge/host/constants.mjs +25 -25
  1571. package/server/plugins-builtin/diag-bridge/host/exports.mjs +104 -104
  1572. package/server/plugins-builtin/diag-bridge/host/index.mjs +15 -15
  1573. package/server/plugins-builtin/diag-bridge/host/intents.mjs +62 -62
  1574. package/server/plugins-builtin/diag-bridge/host/snapshot.mjs +93 -93
  1575. package/server/plugins-builtin/diag-bridge/index.mjs +9 -9
  1576. package/server/plugins-builtin/serial-bridge/client.mjs +211 -211
  1577. package/server/plugins-builtin/serial-bridge/drivers.mjs +409 -409
  1578. package/server/plugins-builtin/serial-bridge/i18n.json +62 -62
  1579. package/server/plugins-builtin/serial-bridge/index.mjs +247 -247
  1580. package/server/plugins-builtin/serial-bridge/lib.mjs +208 -208
  1581. package/server/plugins-builtin/serial-bridge/rtu.mjs +168 -168
  1582. package/server/services/system-config/contracts.ts +29 -29
  1583. package/server/services/system-config/dispose.ts +19 -19
  1584. package/server/services/system-config/facade.ts +26 -26
  1585. package/server/services/system-config/groups.ts +108 -108
  1586. package/server/services/system-config/index.ts +21 -21
  1587. package/server/services/system-config/init.ts +26 -26
  1588. package/server/services/system-config/mutate.ts +103 -103
  1589. package/server/services/system-config/plugins.ts +104 -104
  1590. package/server/services/system-config/snapshot.ts +59 -59
  1591. package/server/services/system-config/state.ts +79 -79
  1592. package/server/services/system-config/types.ts +58 -58
  1593. package/server/services/workshop/.mimosa/hook-state/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f.json +1 -0
  1594. package/server/services/workshop/.mimosa/hook-status/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f-e6b75bbfe6.json +14 -0
  1595. package/server/services/workshop/agents/adapters/line-spawn.ts +24 -1
  1596. package/server/services/workshop/agents/adapters/omp-rpc-client/api.ts +111 -111
  1597. package/server/services/workshop/agents/adapters/omp-rpc-client/contracts.ts +22 -22
  1598. package/server/services/workshop/agents/adapters/omp-rpc-client/facade.ts +7 -7
  1599. package/server/services/workshop/agents/adapters/omp-rpc-client/frames.ts +18 -0
  1600. package/server/services/workshop/agents/adapters/omp-rpc-client/helpers.ts +38 -38
  1601. package/server/services/workshop/agents/adapters/omp-rpc-client/index.ts +25 -25
  1602. package/server/services/workshop/agents/adapters/omp-rpc-client/start.ts +70 -70
  1603. package/server/services/workshop/agents/adapters/omp-rpc-client/state.ts +65 -65
  1604. package/server/services/workshop/agents/adapters/omp-rpc-client/stdout.ts +92 -92
  1605. package/server/services/workshop/agents/adapters/omp-rpc-client/usage.ts +47 -47
  1606. package/server/services/workshop/agents/agent-badge.ts +38 -38
  1607. package/server/services/workshop/agents/agent-dto.ts +54 -0
  1608. package/server/services/workshop/agents/binding-authz.ts +60 -60
  1609. package/server/services/workshop/agents/binding-mode.ts +51 -51
  1610. package/server/services/workshop/agents/codex-agent/client.ts +170 -170
  1611. package/server/services/workshop/agents/codex-agent/core.ts +119 -119
  1612. package/server/services/workshop/agents/codex-agent/facade.ts +8 -8
  1613. package/server/services/workshop/agents/codex-agent/helpers.ts +13 -13
  1614. package/server/services/workshop/agents/codex-agent/hitl.ts +138 -138
  1615. package/server/services/workshop/agents/codex-agent/index.ts +14 -14
  1616. package/server/services/workshop/agents/codex-agent/turn.ts +367 -367
  1617. package/server/services/workshop/agents/codex-agent/types.ts +42 -42
  1618. package/server/services/workshop/agents/execution-mode.ts +90 -0
  1619. package/server/services/workshop/agents/harness-process.ts +3 -3
  1620. package/server/services/workshop/agents/harness-spawn-policy.ts +114 -0
  1621. package/server/services/workshop/agents/harness-terminal/api.ts +197 -197
  1622. package/server/services/workshop/agents/harness-terminal/index.ts +17 -17
  1623. package/server/services/workshop/agents/harness-terminal/io.ts +120 -120
  1624. package/server/services/workshop/agents/harness-terminal/park.ts +55 -55
  1625. package/server/services/workshop/agents/harness-terminal/sanitize.ts +98 -98
  1626. package/server/services/workshop/agents/harness-terminal/session.ts +124 -124
  1627. package/server/services/workshop/agents/harness-terminal/shared.ts +74 -74
  1628. package/server/services/workshop/agents/hitl-capabilities.ts +312 -312
  1629. package/server/services/workshop/agents/hitl-decision/answers.ts +32 -32
  1630. package/server/services/workshop/agents/hitl-decision/decide.ts +268 -268
  1631. package/server/services/workshop/agents/hitl-decision/payload.ts +45 -45
  1632. package/server/services/workshop/agents/hitl-decision/shared.ts +108 -108
  1633. package/server/services/workshop/agents/hitl-decision/visibility.ts +94 -94
  1634. package/server/services/workshop/agents/host-tool-bridge/catalog.ts +42 -13
  1635. package/server/services/workshop/agents/host-tool-bridge/dispatch.ts +38 -0
  1636. package/server/services/workshop/agents/host-tool-bridge/index.ts +1 -1
  1637. package/server/services/workshop/agents/host-tool-bridge/per-agent.ts +27 -11
  1638. package/server/services/workshop/agents/host-tool-bridge/tools/progress.ts +84 -84
  1639. package/server/services/workshop/agents/host-tool-bridge/tools/tasks.ts +1 -1
  1640. package/server/services/workshop/agents/host-tool-bridge/tools/team-delegation.ts +108 -104
  1641. package/server/services/workshop/agents/host-tool-bridge/tools/team.ts +70 -70
  1642. package/server/services/workshop/agents/industrial/aml-activity.ts +131 -131
  1643. package/server/services/workshop/agents/industrial/audit-query.ts +66 -66
  1644. package/server/services/workshop/agents/industrial/daq-export.ts +9 -8
  1645. package/server/services/workshop/agents/industrial/daq-tools.ts +43 -6
  1646. package/server/services/workshop/agents/industrial/dcw-tools.ts +28 -6
  1647. package/server/services/workshop/agents/industrial/exp-tools.ts +104 -104
  1648. package/server/services/workshop/agents/industrial/grant-guard.ts +52 -9
  1649. package/server/services/workshop/agents/industrial/ops-tools.ts +101 -21
  1650. package/server/services/workshop/agents/industrial/param-tools.ts +69 -69
  1651. package/server/services/workshop/agents/industrial/recipe-gate.ts +92 -21
  1652. package/server/services/workshop/agents/industrial/recipe-propose-tools.ts +1 -1
  1653. package/server/services/workshop/agents/industrial/tool-verify-legacy-specs.ts +2 -2
  1654. package/server/services/workshop/agents/industrial/tool-verify.ts +31 -2
  1655. package/server/services/workshop/agents/industrial-context.ts +160 -83
  1656. package/server/services/workshop/agents/node-bindings.repo.ts +208 -207
  1657. package/server/services/workshop/agents/node-delegation.ts +204 -159
  1658. package/server/services/workshop/agents/omp-agent/core.ts +146 -146
  1659. package/server/services/workshop/agents/omp-agent/facade.ts +8 -8
  1660. package/server/services/workshop/agents/omp-agent/helpers.ts +37 -37
  1661. package/server/services/workshop/agents/omp-agent/index.ts +16 -16
  1662. package/server/services/workshop/agents/omp-agent/supervision-history.ts +38 -0
  1663. package/server/services/workshop/agents/omp-agent/tools-steer.ts +18 -1
  1664. package/server/services/workshop/agents/omp-agent/types.ts +45 -45
  1665. package/server/services/workshop/agents/opencode-agent/core.ts +77 -77
  1666. package/server/services/workshop/agents/opencode-agent/facade.ts +8 -8
  1667. package/server/services/workshop/agents/opencode-agent/helpers.ts +29 -29
  1668. package/server/services/workshop/agents/opencode-agent/hitl.ts +113 -113
  1669. package/server/services/workshop/agents/opencode-agent/index.ts +16 -16
  1670. package/server/services/workshop/agents/opencode-agent/lifecycle.ts +44 -44
  1671. package/server/services/workshop/agents/opencode-agent/server.ts +244 -244
  1672. package/server/services/workshop/agents/opencode-agent/turn.ts +278 -278
  1673. package/server/services/workshop/agents/opencode-agent/types.ts +54 -54
  1674. package/server/services/workshop/agents/prompt-i18n.ts +67 -0
  1675. package/server/services/workshop/agents/tool-approvals.ts +23 -0
  1676. package/server/services/workshop/agents/tool-classes.ts +44 -44
  1677. package/server/services/workshop/agents/tool-reference-spec.ts +3 -0
  1678. package/server/services/workshop/aml/clean.ts +120 -120
  1679. package/server/services/workshop/aml/entity.ts +367 -367
  1680. package/server/services/workshop/aml/job-orchestrator/broadcast.ts +37 -37
  1681. package/server/services/workshop/aml/job-orchestrator/control.ts +94 -94
  1682. package/server/services/workshop/aml/job-orchestrator/failure.ts +96 -96
  1683. package/server/services/workshop/aml/job-orchestrator/index.ts +22 -22
  1684. package/server/services/workshop/aml/job-orchestrator/process.ts +101 -101
  1685. package/server/services/workshop/aml/job-orchestrator/shared.ts +53 -53
  1686. package/server/services/workshop/aml/job-orchestrator/status.ts +20 -20
  1687. package/server/services/workshop/aml/job-orchestrator/tick.ts +37 -37
  1688. package/server/services/workshop/aml/python/__pycache__/aml_eval.cpython-312.pyc +0 -0
  1689. package/server/services/workshop/aml/python/__pycache__/amlkit.cpython-312.pyc +0 -0
  1690. package/server/services/workshop/aml/python/__pycache__/train-example.cpython-312.pyc +0 -0
  1691. package/server/services/workshop/aml/python/__pycache__/train-hybrid-example.cpython-312.pyc +0 -0
  1692. package/server/services/workshop/aml/python/train-example.py +92 -92
  1693. package/server/services/workshop/aml/runtime.ts +137 -137
  1694. package/server/services/workshop/aml/stats.ts +140 -140
  1695. package/server/services/workshop/aml/twin/calibration-worker.ts +150 -150
  1696. package/server/services/workshop/aml/twin/channel-profile.ts +12 -8
  1697. package/server/services/workshop/aml/twin/model-backed-provider.ts +332 -332
  1698. package/server/services/workshop/aml/twin/physics-spec-draft.ts +185 -185
  1699. package/server/services/workshop/aml/twin/prompt-composer.ts +143 -143
  1700. package/server/services/workshop/aml/twin/training-plans.ts +260 -260
  1701. package/server/services/workshop/aml/twin/write-guard.ts +19 -19
  1702. package/server/services/workshop/assets/character-asset.repo.ts +1 -1
  1703. package/server/services/workshop/assets/device-twin.repo.ts +1 -1
  1704. package/server/services/workshop/daq/bus/index.ts +12 -5
  1705. package/server/services/workshop/daq/bus/mqtt.adapter.ts +12 -0
  1706. package/server/services/workshop/daq/daq-controller/contracts.ts +39 -39
  1707. package/server/services/workshop/daq/daq-controller/crud.ts +5 -3
  1708. package/server/services/workshop/daq/daq-controller/driver-probe.ts +7 -4
  1709. package/server/services/workshop/daq/daq-controller/facade.ts +28 -28
  1710. package/server/services/workshop/daq/daq-controller/frames.ts +137 -137
  1711. package/server/services/workshop/daq/daq-controller/helpers.ts +52 -52
  1712. package/server/services/workshop/daq/daq-controller/index.ts +22 -22
  1713. package/server/services/workshop/daq/daq-controller/ingest.ts +32 -10
  1714. package/server/services/workshop/daq/daq-controller/push.ts +357 -0
  1715. package/server/services/workshop/daq/daq-controller/runtime-control.ts +8 -0
  1716. package/server/services/workshop/daq/daq-controller/state.ts +11 -3
  1717. package/server/services/workshop/daq/daq-controller/sweep-alarms.ts +13 -3
  1718. package/server/services/workshop/daq/daq-controller/tsdb-row.ts +48 -0
  1719. package/server/services/workshop/daq/daq-controller/tsdb-twin.ts +25 -2
  1720. package/server/services/workshop/daq/daq-controller/views.ts +5 -2
  1721. package/server/services/workshop/daq/daq-node.repo.ts +10 -7
  1722. package/server/services/workshop/daq/daq-node.ts +2 -0
  1723. package/server/services/workshop/daq/daq-runtime.ts +10 -2
  1724. package/server/services/workshop/daq/decoders.ts +77 -0
  1725. package/server/services/workshop/daq/drivers/http.ts +33 -6
  1726. package/server/services/workshop/daq/drivers/index.ts +3 -3
  1727. package/server/services/workshop/daq/drivers/mock.ts +130 -130
  1728. package/server/services/workshop/daq/drivers/modbus-rtu.ts +67 -67
  1729. package/server/services/workshop/daq/drivers/modbus-tcp.ts +310 -307
  1730. package/server/services/workshop/daq/drivers/mqtt-decode.ts +292 -0
  1731. package/server/services/workshop/daq/drivers/mqtt.ts +417 -94
  1732. package/server/services/workshop/daq/drivers/opcua.ts +227 -227
  1733. package/server/services/workshop/daq/drivers/registry.ts +5 -4
  1734. package/server/services/workshop/daq/drivers/s7-stub.ts +29 -29
  1735. package/server/services/workshop/daq/drivers/shared.ts +30 -1
  1736. package/server/services/workshop/daq/export-limits.ts +38 -0
  1737. package/server/services/workshop/daq/frames.ts +8 -2
  1738. package/server/services/workshop/daq/host-bindings.ts +71 -71
  1739. package/server/services/workshop/daq/host-ports.ts +65 -65
  1740. package/server/services/workshop/daq/infra.ts +13 -0
  1741. package/server/services/workshop/daq/ingest-policy.ts +24 -1
  1742. package/server/services/workshop/daq/plugin-bridge.ts +24 -2
  1743. package/server/services/workshop/daq/storage/latest-window.ts +132 -0
  1744. package/server/services/workshop/daq/storage/timescale.adapter.ts +42 -3
  1745. package/server/services/workshop/db/aml-team-seeds.ts +118 -118
  1746. package/server/services/workshop/db/backup-registry.ts +33 -33
  1747. package/server/services/workshop/db/channel-member.repo.ts +122 -122
  1748. package/server/services/workshop/db/channel.repo.ts +203 -203
  1749. package/server/services/workshop/db/chat-message.repo.ts +233 -233
  1750. package/server/services/workshop/db/database/index.ts +18 -18
  1751. package/server/services/workshop/db/database/json.ts +14 -14
  1752. package/server/services/workshop/db/database/migrations.ts +91 -68
  1753. package/server/services/workshop/db/database/open.ts +3 -1
  1754. package/server/services/workshop/db/database/schema.ts +1 -0
  1755. package/server/services/workshop/db/database/seed-data.ts +60 -60
  1756. package/server/services/workshop/db/hitl-request.repo.ts +221 -221
  1757. package/server/services/workshop/db/notification.repo.ts +199 -199
  1758. package/server/services/workshop/db/readonly.ts +30 -30
  1759. package/server/services/workshop/db/scheduled-task.repo.ts +235 -235
  1760. package/server/services/workshop/db/transaction.ts +72 -72
  1761. package/server/services/workshop/dcw/dcw-controller/actuation.ts +6 -0
  1762. package/server/services/workshop/dcw/dcw-controller/contracts.ts +16 -16
  1763. package/server/services/workshop/dcw/dcw-controller/control.ts +78 -78
  1764. package/server/services/workshop/dcw/dcw-controller/crud.ts +27 -2
  1765. package/server/services/workshop/dcw/dcw-controller/facade.ts +19 -19
  1766. package/server/services/workshop/dcw/dcw-controller/index.ts +22 -22
  1767. package/server/services/workshop/dcw/dcw-controller/lines.ts +14 -3
  1768. package/server/services/workshop/dcw/dcw-controller/params.ts +97 -97
  1769. package/server/services/workshop/dcw/dcw-controller/products.ts +103 -103
  1770. package/server/services/workshop/dcw/dcw-controller/recipes.ts +63 -5
  1771. package/server/services/workshop/dcw/dcw-controller/write-audit.ts +1 -1
  1772. package/server/services/workshop/dcw/dcw-recipe.repo.ts +10 -1
  1773. package/server/services/workshop/dcw/dcw-runtime.ts +37 -14
  1774. package/server/services/workshop/dcw/dcw-templates.ts +136 -136
  1775. package/server/services/workshop/dcw/drivers/http.ts +41 -15
  1776. package/server/services/workshop/dcw/drivers/mes-rest.ts +14 -51
  1777. package/server/services/workshop/dcw/drivers/mqtt.ts +58 -7
  1778. package/server/services/workshop/dcw/drivers/shared.ts +65 -6
  1779. package/server/services/workshop/dcw/param-conversion.ts +78 -78
  1780. package/server/services/workshop/dcw/param-map.repo.ts +349 -349
  1781. package/server/services/workshop/dcw/plugin-bridge.ts +45 -45
  1782. package/server/services/workshop/dcw/recipe-op-anchor.ts +28 -0
  1783. package/server/services/workshop/dcw/recipe-rollback-manager/contracts.ts +26 -26
  1784. package/server/services/workshop/dcw/recipe-rollback-manager/facade.ts +13 -13
  1785. package/server/services/workshop/dcw/recipe-rollback-manager/helpers.ts +30 -30
  1786. package/server/services/workshop/dcw/recipe-rollback-manager/index.ts +17 -17
  1787. package/server/services/workshop/dcw/recipe-rollback-manager/internal.ts +33 -33
  1788. package/server/services/workshop/dcw/recipe-rollback-manager/judge.ts +52 -52
  1789. package/server/services/workshop/dcw/recipe-rollback-manager/lock.ts +137 -137
  1790. package/server/services/workshop/dcw/recipe-rollback-manager/rollback.ts +16 -2
  1791. package/server/services/workshop/dcw/recipe-rollback-manager/state.ts +21 -21
  1792. package/server/services/workshop/dcw/recipe-rollback-manager/sweep.ts +20 -0
  1793. package/server/services/workshop/dcw/recipe-rollback-manager/types.ts +3 -3
  1794. package/server/services/workshop/dcw/recipe-rollback-manager/views.ts +214 -214
  1795. package/server/services/workshop/eda/chart-repo.ts +18 -1
  1796. package/server/services/workshop/eda/data-export.ts +3 -3
  1797. package/server/services/workshop/eda/data-query.ts +4 -1
  1798. package/server/services/workshop/eda/template-repo.ts +101 -101
  1799. package/server/services/workshop/exp/exp-collector.ts +275 -275
  1800. package/server/services/workshop/exp/exp-state.repo.ts +339 -339
  1801. package/server/services/workshop/line-scope.ts +80 -0
  1802. package/server/services/workshop/mes/mes-controller.ts +1155 -1155
  1803. package/server/services/workshop/mes/mes-hook.ts +567 -567
  1804. package/server/services/workshop/mes/mes-secrets.repo.ts +119 -0
  1805. package/server/services/workshop/net/secret-auth.ts +84 -0
  1806. package/server/services/workshop/net/ssrf.ts +74 -0
  1807. package/server/services/workshop/ontology/subgraph.core.ts +300 -300
  1808. package/server/services/workshop/ontology/subgraph.service.ts +113 -113
  1809. package/server/services/workshop/optimization/access.ts +24 -30
  1810. package/server/services/workshop/optimization/dispatch.service.ts +18 -2
  1811. package/server/services/workshop/optimization/python/.mimosa/hook-state/session_187ec97f45d4bd02369bbe94da527cf1.json +1 -0
  1812. package/server/services/workshop/optimization/python/.mimosa/hook-state/session_187ec97f45d4bd02369bbe94da527cf1.mvjqkcs6-68688-fb7131a89c.baseline/190a6772a4e43801737b4ba6072eb9d53d3099b5d8a9e6f57bc5e8592a26a6c4.source +274 -0
  1813. package/server/services/workshop/optimization/python/.mimosa/hook-status/session_187ec97f45d4bd02369bbe94da527cf1-01ed7f04fa.json +14 -0
  1814. package/server/services/workshop/optimization/python/__pycache__/problems.cpython-312.pyc +0 -0
  1815. package/server/services/workshop/permissions.ts +2 -0
  1816. package/server/services/workshop/plugins/host/api.mjs +90 -90
  1817. package/server/services/workshop/plugins/host/config.mjs +135 -135
  1818. package/server/services/workshop/plugins/host/index.mjs +23 -23
  1819. package/server/services/workshop/plugins/host/init.mjs +109 -109
  1820. package/server/services/workshop/plugins/host/load.mjs +14 -1
  1821. package/server/services/workshop/plugins/host/reload.mjs +6 -0
  1822. package/server/services/workshop/plugins/host/rollback.mjs +72 -72
  1823. package/server/services/workshop/plugins/host/state.mjs +54 -54
  1824. package/server/services/workshop/plugins/host/toggle.mjs +64 -64
  1825. package/server/services/workshop/plugins/host.mjs +9 -9
  1826. package/server/services/workshop/prompts/loader.ts +45 -8
  1827. package/server/services/workshop/runtime/agent-runtime/facade.ts +7 -7
  1828. package/server/services/workshop/runtime/agent-runtime/helpers.ts +18 -18
  1829. package/server/services/workshop/runtime/agent-runtime/index.ts +19 -19
  1830. package/server/services/workshop/runtime/agent-runtime/lifecycle.ts +137 -137
  1831. package/server/services/workshop/runtime/agent-runtime/message.ts +17 -0
  1832. package/server/services/workshop/runtime/agent-runtime/state.ts +9 -3
  1833. package/server/services/workshop/runtime/agent-runtime/types.ts +2 -1
  1834. package/server/services/workshop/runtime/channel-runtime.ts +3 -1
  1835. package/server/services/workshop/runtime/chat-mention.ts +164 -164
  1836. package/server/services/workshop/runtime/chat-projection.ts +246 -246
  1837. package/server/services/workshop/runtime/mailbox.ts +6 -3
  1838. package/server/services/workshop/runtime/manager/a2a.ts +4 -2
  1839. package/server/services/workshop/runtime/manager/admin-agents.ts +268 -268
  1840. package/server/services/workshop/runtime/manager/admin-channel.ts +6 -1
  1841. package/server/services/workshop/runtime/manager/bus.ts +182 -182
  1842. package/server/services/workshop/runtime/manager/channel-template-constants.ts +20 -20
  1843. package/server/services/workshop/runtime/manager/chat-reply.ts +181 -181
  1844. package/server/services/workshop/runtime/manager/chat.ts +386 -384
  1845. package/server/services/workshop/runtime/manager/facade.ts +24 -24
  1846. package/server/services/workshop/runtime/manager/helpers.ts +119 -119
  1847. package/server/services/workshop/runtime/manager/host-tools.ts +1 -1
  1848. package/server/services/workshop/runtime/manager/index.ts +42 -42
  1849. package/server/services/workshop/runtime/manager/internal.ts +73 -73
  1850. package/server/services/workshop/runtime/manager/notifications.ts +108 -108
  1851. package/server/services/workshop/runtime/manager/runtime-wiring.ts +31 -19
  1852. package/server/services/workshop/runtime/manager/state.ts +43 -1
  1853. package/server/services/workshop/runtime/manager/teams.ts +148 -148
  1854. package/server/services/workshop/runtime/memory/contracts.ts +18 -18
  1855. package/server/services/workshop/runtime/memory/facade.ts +10 -10
  1856. package/server/services/workshop/runtime/memory/helpers.ts +196 -196
  1857. package/server/services/workshop/runtime/memory/index.ts +27 -27
  1858. package/server/services/workshop/runtime/memory/score.ts +33 -33
  1859. package/server/services/workshop/runtime/memory/state.ts +40 -40
  1860. package/server/services/workshop/runtime/monitor.ts +3 -3
  1861. package/server/services/workshop/runtime/permission-scope.ts +21 -0
  1862. package/server/services/workshop/runtime/platform-notice.ts +113 -113
  1863. package/server/services/workshop/runtime/schedule-runtime.ts +347 -347
  1864. package/server/services/workshop/runtime/scheduler-loop/contracts.ts +29 -29
  1865. package/server/services/workshop/runtime/scheduler-loop/facade.ts +7 -7
  1866. package/server/services/workshop/runtime/scheduler-loop/helpers.ts +14 -14
  1867. package/server/services/workshop/runtime/scheduler-loop/index.ts +16 -16
  1868. package/server/services/workshop/runtime/scheduler-loop/tick.ts +16 -4
  1869. package/server/services/workshop/runtime/task-engine/facade.ts +7 -7
  1870. package/server/services/workshop/runtime/task-engine/index.ts +15 -15
  1871. package/server/services/workshop/runtime/task-engine/types.ts +3 -3
  1872. package/server/services/workshop/runtime/user-notification-hub.ts +192 -192
  1873. package/server/services/workshop/scene-events.ts +19 -0
  1874. package/server/services/workshop/tools/types.ts +1 -0
  1875. package/server/types/pg.d.ts +49 -49
  1876. package/server/utils/approval-gate.ts +67 -67
  1877. package/server/utils/mojibake-guard.ts +29 -29
  1878. package/server/utils/stability-severity.ts +77 -77
  1879. package/shared/config/groups.mjs +241 -241
  1880. package/shared/config/schema.json +2 -0
  1881. package/shared/daq-protocol.ts +54 -7
  1882. package/shared/dcw-protocol/catalog.ts +19 -7
  1883. package/shared/dcw-protocol/closed-loop.ts +2 -0
  1884. package/shared/lru.mjs +97 -97
  1885. package/tui/README.md +74 -74
  1886. package/tui/aw-tui.mjs +445 -445
  1887. package/tui/commands/index.mjs +287 -287
  1888. package/tui/components/chat-log.mjs +42 -42
  1889. package/tui/components/monitor-pane.mjs +39 -39
  1890. package/tui/components/root.mjs +53 -53
  1891. package/tui/components/status-bar.mjs +33 -33
  1892. package/tui/lib/api.mjs +82 -82
  1893. package/tui/lib/pickers.mjs +121 -121
  1894. package/tui/lib/reducers.mjs +218 -218
  1895. package/tui/lib/state.mjs +86 -86
  1896. package/tui/lib/virtual-terminal.mjs +48 -48
  1897. package/tui/lib/ws.mjs +125 -125
  1898. package/tui/theme.mjs +38 -38
  1899. package/.output/public/_nuxt/0qvcO_KM2.js +0 -1
  1900. package/.output/public/_nuxt/2Kwo_j9G2.js +0 -1
  1901. package/.output/public/_nuxt/39W1CH-l2.js +0 -1
  1902. package/.output/public/_nuxt/7xbYPfY6.js +0 -1
  1903. package/.output/public/_nuxt/8SZLbrI42.js +0 -1
  1904. package/.output/public/_nuxt/ATAvN55g.js +0 -1
  1905. package/.output/public/_nuxt/B3eCVqcT2.js +0 -1
  1906. package/.output/public/_nuxt/B4JlRHBB2.js +0 -1
  1907. package/.output/public/_nuxt/B4iJT5PX2.js +0 -2
  1908. package/.output/public/_nuxt/B9qIhT7k2.js +0 -1
  1909. package/.output/public/_nuxt/BE9oKpOt.js +0 -1
  1910. package/.output/public/_nuxt/BNUaS1jv.js +0 -20
  1911. package/.output/public/_nuxt/BVGzwAxr2.js +0 -16
  1912. package/.output/public/_nuxt/BY3Lbz3h.js +0 -1
  1913. package/.output/public/_nuxt/BbACaREb.js +0 -1
  1914. package/.output/public/_nuxt/BcosvNXb2.js +0 -1
  1915. package/.output/public/_nuxt/BhJA-E372.js +0 -1
  1916. package/.output/public/_nuxt/BiZWwdcD2.js +0 -1
  1917. package/.output/public/_nuxt/Bq-tmkst.js +0 -1
  1918. package/.output/public/_nuxt/Bq8YzXzs2.js +0 -1
  1919. package/.output/public/_nuxt/BxxpJxZf2.js +0 -1
  1920. package/.output/public/_nuxt/C1-SuwUN.js +0 -1
  1921. package/.output/public/_nuxt/C2Yp-B8m.js +0 -1
  1922. package/.output/public/_nuxt/C5OStZJ62.js +0 -1
  1923. package/.output/public/_nuxt/CDL30A2z2.js +0 -1
  1924. package/.output/public/_nuxt/CEvJu-xI.js +0 -1
  1925. package/.output/public/_nuxt/CT4bi_Y4.js +0 -1
  1926. package/.output/public/_nuxt/CZYNy60j2.js +0 -1
  1927. package/.output/public/_nuxt/CeCSjB9O2.js +0 -1
  1928. package/.output/public/_nuxt/Cf7ER7e2.js +0 -1
  1929. package/.output/public/_nuxt/CjF4QY9h.js +0 -1
  1930. package/.output/public/_nuxt/Cot5VNae.js +0 -1
  1931. package/.output/public/_nuxt/Crf8_Ad02.js +0 -1
  1932. package/.output/public/_nuxt/D1C6qtS12.js +0 -1
  1933. package/.output/public/_nuxt/D37gODe0.js +0 -1
  1934. package/.output/public/_nuxt/D8HQPtm62.js +0 -1
  1935. package/.output/public/_nuxt/D9O4L4jK.js +0 -1
  1936. package/.output/public/_nuxt/D9tNM-1a.js +0 -9
  1937. package/.output/public/_nuxt/DAug2CPf.js +0 -21
  1938. package/.output/public/_nuxt/DPnjnDtg.js +0 -36
  1939. package/.output/public/_nuxt/DWe6BMlp2.js +0 -1
  1940. package/.output/public/_nuxt/DbhTN7-T.js +0 -47
  1941. package/.output/public/_nuxt/DdyE0ylS.js +0 -1
  1942. package/.output/public/_nuxt/DgGzwjAr2.js +0 -2
  1943. package/.output/public/_nuxt/DgTqKyYF2.js +0 -1
  1944. package/.output/public/_nuxt/DhjgWrB62.js +0 -1
  1945. package/.output/public/_nuxt/DiWcX4gj.js +0 -1
  1946. package/.output/public/_nuxt/DkRozlDP2.js +0 -1
  1947. package/.output/public/_nuxt/DlS-SkQ42.js +0 -1
  1948. package/.output/public/_nuxt/DmHp9yQ3.js +0 -1
  1949. package/.output/public/_nuxt/DqxBCeDe.js +0 -1
  1950. package/.output/public/_nuxt/DxH5focQ.js +0 -1
  1951. package/.output/public/_nuxt/Dyr3LPGL.js +0 -1
  1952. package/.output/public/_nuxt/FsRVXpyF2.js +0 -1
  1953. package/.output/public/_nuxt/Iub61dX9.js +0 -1
  1954. package/.output/public/_nuxt/MC_i34H42.js +0 -1
  1955. package/.output/public/_nuxt/MmlCf-EZ.js +0 -1
  1956. package/.output/public/_nuxt/OmpTerminalPanel.DMWgGwDs.css +0 -1
  1957. package/.output/public/_nuxt/PluginSlot.BqBzLD4T.css +0 -1
  1958. package/.output/public/_nuxt/Q-JpBT03.js +0 -1
  1959. package/.output/public/_nuxt/TownView.Cn8SPG7S.css +0 -1
  1960. package/.output/public/_nuxt/TugRY_4O.js +0 -1
  1961. package/.output/public/_nuxt/WybiLTow2.js +0 -8
  1962. package/.output/public/_nuxt/Zn0BZpf0.js +0 -3
  1963. package/.output/public/_nuxt/_id_.Be5JaH-P.css +0 -1
  1964. package/.output/public/_nuxt/_wsId_.p_vAYtTp.css +0 -1
  1965. package/.output/public/_nuxt/agents.CRomddYR.css +0 -1
  1966. package/.output/public/_nuxt/aml.DgOMpDpv.css +0 -1
  1967. package/.output/public/_nuxt/b7UcqLKi.js +0 -1
  1968. package/.output/public/_nuxt/board.Bo35UR0e.css +0 -1
  1969. package/.output/public/_nuxt/builds/meta/8a151630-3285-41b8-a1e5-063fee2002ac.json +0 -1
  1970. package/.output/public/_nuxt/default.CpAx70gC.css +0 -1
  1971. package/.output/public/_nuxt/geMze5qw.js +0 -1
  1972. package/.output/public/_nuxt/hCN555XP2.js +0 -1
  1973. package/.output/public/_nuxt/hlfahYxK.js +0 -1
  1974. package/.output/public/_nuxt/logs.DcSvz6vi.css +0 -1
  1975. package/.output/public/_nuxt/monitor.OoNTwfMJ.css +0 -1
  1976. package/.output/public/_nuxt/ontology.D4P756Tc.css +0 -1
  1977. package/.output/public/_nuxt/operations.C48ggFa5.css +0 -1
  1978. package/.output/public/_nuxt/pages.Dpa28tJW.css +0 -1
  1979. package/.output/public/_nuxt/permissions.CrV-4t-6.css +0 -1
  1980. package/.output/public/_nuxt/pipeline.NFs5z5V-.css +0 -1
  1981. package/.output/public/_nuxt/rcdmiszh2.js +0 -1
  1982. package/.output/public/_nuxt/schedules.DYWOjGHm.css +0 -1
  1983. package/.output/public/_nuxt/studio.CjmUr8P7.css +0 -1
  1984. package/.output/public/_nuxt/teams.DEJoJ4QV.css +0 -1
  1985. package/.output/public/_nuxt/toG_qAMH.js +0 -1
  1986. package/.output/public/_nuxt/tokens.DKZWCP5v.css +0 -1
  1987. package/.output/public/_nuxt/tools.DP-nsTli.css +0 -1
  1988. package/.output/public/_nuxt/uomnHjhM.js +0 -1
  1989. package/.output/public/_nuxt/v77qozuJ2.js +0 -1
  1990. package/.output/public/_nuxt/v7cV7hJa.js +0 -1
  1991. package/.output/public/_nuxt/wK6Pp4Zc2.js +0 -2
  1992. package/.output/public/_nuxt/we7-sMSo2.js +0 -1
  1993. package/.output/public/_nuxt/workshop.PT1xhP8C.css +0 -1
  1994. package/.output/public/_nuxt/wxISMS1i.js +0 -1
  1995. package/.output/public/_nuxt/zy7efYKR.js +0 -1
  1996. package/.output/server/chunks/build/AuthGate-G74Wr5IV.mjs +0 -704
  1997. package/.output/server/chunks/build/AuthGate-G74Wr5IV.mjs.map +0 -1
  1998. package/.output/server/chunks/build/FormItemContext-DmuQqaeJ.mjs +0 -77
  1999. package/.output/server/chunks/build/FormItemContext-DmuQqaeJ.mjs.map +0 -1
  2000. package/.output/server/chunks/build/OmpTerminalPanel-5cB-78zp.mjs +0 -889
  2001. package/.output/server/chunks/build/OmpTerminalPanel-5cB-78zp.mjs.map +0 -1
  2002. package/.output/server/chunks/build/PluginSlot-CZlGlRoR.mjs +0 -131
  2003. package/.output/server/chunks/build/PluginSlot-CZlGlRoR.mjs.map +0 -1
  2004. package/.output/server/chunks/build/TownView-CcUPLqF1.mjs +0 -5960
  2005. package/.output/server/chunks/build/TownView-CcUPLqF1.mjs.map +0 -1
  2006. package/.output/server/chunks/build/_id_-AgACEyL6.mjs +0 -1922
  2007. package/.output/server/chunks/build/_id_-AgACEyL6.mjs.map +0 -1
  2008. package/.output/server/chunks/build/_id_-B3yCK2lD.mjs +0 -373
  2009. package/.output/server/chunks/build/_id_-B3yCK2lD.mjs.map +0 -1
  2010. package/.output/server/chunks/build/_wsId_-kcDriA4i.mjs +0 -13707
  2011. package/.output/server/chunks/build/_wsId_-kcDriA4i.mjs.map +0 -1
  2012. package/.output/server/chunks/build/agents-DRod4lTC.mjs +0 -1047
  2013. package/.output/server/chunks/build/agents-DRod4lTC.mjs.map +0 -1
  2014. package/.output/server/chunks/build/alert-CNGhs--Y.mjs +0 -260
  2015. package/.output/server/chunks/build/alert-CNGhs--Y.mjs.map +0 -1
  2016. package/.output/server/chunks/build/aml-B3Umz4DR.mjs +0 -729
  2017. package/.output/server/chunks/build/aml-B3Umz4DR.mjs.map +0 -1
  2018. package/.output/server/chunks/build/analysis-CMsMTMCg.mjs +0 -502
  2019. package/.output/server/chunks/build/analysis-CMsMTMCg.mjs.map +0 -1
  2020. package/.output/server/chunks/build/api-D-zkgkj-.mjs +0 -51
  2021. package/.output/server/chunks/build/api-D-zkgkj-.mjs.map +0 -1
  2022. package/.output/server/chunks/build/api-D3gy2e2q.mjs +0 -70
  2023. package/.output/server/chunks/build/api-D3gy2e2q.mjs.map +0 -1
  2024. package/.output/server/chunks/build/api-bn4OKkl_.mjs +0 -62
  2025. package/.output/server/chunks/build/api-bn4OKkl_.mjs.map +0 -1
  2026. package/.output/server/chunks/build/api-error-CnW_xiNI.mjs +0 -46
  2027. package/.output/server/chunks/build/api-error-CnW_xiNI.mjs.map +0 -1
  2028. package/.output/server/chunks/build/apiClient-DIXx9sfD.mjs +0 -70
  2029. package/.output/server/chunks/build/apiClient-DIXx9sfD.mjs.map +0 -1
  2030. package/.output/server/chunks/build/board-B2oYXGBy.mjs +0 -172
  2031. package/.output/server/chunks/build/board-B2oYXGBy.mjs.map +0 -1
  2032. package/.output/server/chunks/build/card-BECE6y_G.mjs +0 -922
  2033. package/.output/server/chunks/build/card-BECE6y_G.mjs.map +0 -1
  2034. package/.output/server/chunks/build/channel-templates-R2TInv8B.mjs +0 -950
  2035. package/.output/server/chunks/build/channel-templates-R2TInv8B.mjs.map +0 -1
  2036. package/.output/server/chunks/build/checkbox-C6xY5uc6.mjs +0 -429
  2037. package/.output/server/chunks/build/checkbox-C6xY5uc6.mjs.map +0 -1
  2038. package/.output/server/chunks/build/client-only-S7k53PIm.mjs +0 -42
  2039. package/.output/server/chunks/build/client-only-S7k53PIm.mjs.map +0 -1
  2040. package/.output/server/chunks/build/core-CRlsQhzd.mjs +0 -292
  2041. package/.output/server/chunks/build/core-CRlsQhzd.mjs.map +0 -1
  2042. package/.output/server/chunks/build/daq-DFQQOtcZ.mjs +0 -1210
  2043. package/.output/server/chunks/build/daq-DFQQOtcZ.mjs.map +0 -1
  2044. package/.output/server/chunks/build/data-Cl4wRZO6.mjs +0 -459
  2045. package/.output/server/chunks/build/data-Cl4wRZO6.mjs.map +0 -1
  2046. package/.output/server/chunks/build/dcw-8415S3Km.mjs +0 -467
  2047. package/.output/server/chunks/build/dcw-8415S3Km.mjs.map +0 -1
  2048. package/.output/server/chunks/build/default-DDRKP2Mb.mjs +0 -2246
  2049. package/.output/server/chunks/build/default-DDRKP2Mb.mjs.map +0 -1
  2050. package/.output/server/chunks/build/descriptions-B3uhDesi.mjs +0 -401
  2051. package/.output/server/chunks/build/descriptions-B3uhDesi.mjs.map +0 -1
  2052. package/.output/server/chunks/build/drawer-DwXxapMg.mjs +0 -822
  2053. package/.output/server/chunks/build/drawer-DwXxapMg.mjs.map +0 -1
  2054. package/.output/server/chunks/build/dropdown-DLrGy-Fs.mjs +0 -12
  2055. package/.output/server/chunks/build/dropdown-DLrGy-Fs.mjs.map +0 -1
  2056. package/.output/server/chunks/build/dropdown-nsGv8Gqx.mjs +0 -530
  2057. package/.output/server/chunks/build/dropdown-nsGv8Gqx.mjs.map +0 -1
  2058. package/.output/server/chunks/build/es-DXSEkmAm.mjs +0 -42
  2059. package/.output/server/chunks/build/es-DXSEkmAm.mjs.map +0 -1
  2060. package/.output/server/chunks/build/firstNotUndefined-laiThpLD.mjs +0 -2082
  2061. package/.output/server/chunks/build/firstNotUndefined-laiThpLD.mjs.map +0 -1
  2062. package/.output/server/chunks/build/form-Cw2Ex9w5.mjs +0 -3543
  2063. package/.output/server/chunks/build/form-Cw2Ex9w5.mjs.map +0 -1
  2064. package/.output/server/chunks/build/hasIn-RYRGomyg.mjs +0 -192
  2065. package/.output/server/chunks/build/hasIn-RYRGomyg.mjs.map +0 -1
  2066. package/.output/server/chunks/build/hitl-B4cHRlkC.mjs +0 -120
  2067. package/.output/server/chunks/build/hitl-B4cHRlkC.mjs.map +0 -1
  2068. package/.output/server/chunks/build/input-CJgB-RL6.mjs +0 -1705
  2069. package/.output/server/chunks/build/input-CJgB-RL6.mjs.map +0 -1
  2070. package/.output/server/chunks/build/input-number-CQKL42p_.mjs +0 -1027
  2071. package/.output/server/chunks/build/input-number-CQKL42p_.mjs.map +0 -1
  2072. package/.output/server/chunks/build/interval-DiAUqODq.mjs +0 -8
  2073. package/.output/server/chunks/build/interval-DiAUqODq.mjs.map +0 -1
  2074. package/.output/server/chunks/build/isNumeric-DQiJ-b15.mjs +0 -6
  2075. package/.output/server/chunks/build/isNumeric-DQiJ-b15.mjs.map +0 -1
  2076. package/.output/server/chunks/build/logs-C-dWpJ80.mjs +0 -381
  2077. package/.output/server/chunks/build/logs-C-dWpJ80.mjs.map +0 -1
  2078. package/.output/server/chunks/build/menu-xO8ocVtL.mjs +0 -1833
  2079. package/.output/server/chunks/build/menu-xO8ocVtL.mjs.map +0 -1
  2080. package/.output/server/chunks/build/monitor-BNrG6v3b.mjs +0 -2216
  2081. package/.output/server/chunks/build/monitor-BNrG6v3b.mjs.map +0 -1
  2082. package/.output/server/chunks/build/ontology-DoXAsa2y.mjs +0 -1416
  2083. package/.output/server/chunks/build/ontology-DoXAsa2y.mjs.map +0 -1
  2084. package/.output/server/chunks/build/operations-Ch6tZIKo.mjs +0 -278
  2085. package/.output/server/chunks/build/operations-Ch6tZIKo.mjs.map +0 -1
  2086. package/.output/server/chunks/build/optimizer-DaTyaY3c.mjs +0 -202
  2087. package/.output/server/chunks/build/optimizer-DaTyaY3c.mjs.map +0 -1
  2088. package/.output/server/chunks/build/pages-CQOfwKB4.mjs +0 -439
  2089. package/.output/server/chunks/build/pages-CQOfwKB4.mjs.map +0 -1
  2090. package/.output/server/chunks/build/pagination-BTzq7dD5.mjs +0 -1330
  2091. package/.output/server/chunks/build/pagination-BTzq7dD5.mjs.map +0 -1
  2092. package/.output/server/chunks/build/permissions-qmimwB0M.mjs +0 -649
  2093. package/.output/server/chunks/build/permissions-qmimwB0M.mjs.map +0 -1
  2094. package/.output/server/chunks/build/pipeline-eo2RWN3f.mjs +0 -226
  2095. package/.output/server/chunks/build/pipeline-eo2RWN3f.mjs.map +0 -1
  2096. package/.output/server/chunks/build/plugins-Dh_goy-k.mjs +0 -269
  2097. package/.output/server/chunks/build/plugins-Dh_goy-k.mjs.map +0 -1
  2098. package/.output/server/chunks/build/popconfirm-DuGF7ty-.mjs +0 -333
  2099. package/.output/server/chunks/build/popconfirm-DuGF7ty-.mjs.map +0 -1
  2100. package/.output/server/chunks/build/responsiveObserve-CzRpNXkr.mjs +0 -77
  2101. package/.output/server/chunks/build/responsiveObserve-CzRpNXkr.mjs.map +0 -1
  2102. package/.output/server/chunks/build/schedules-C2_x38gj.mjs +0 -7039
  2103. package/.output/server/chunks/build/schedules-C2_x38gj.mjs.map +0 -1
  2104. package/.output/server/chunks/build/segmented-29uEKZ3D.mjs +0 -332
  2105. package/.output/server/chunks/build/segmented-29uEKZ3D.mjs.map +0 -1
  2106. package/.output/server/chunks/build/select-CJb2XrQf.mjs +0 -3734
  2107. package/.output/server/chunks/build/select-CJb2XrQf.mjs.map +0 -1
  2108. package/.output/server/chunks/build/settings-Cz2Plds0.mjs +0 -944
  2109. package/.output/server/chunks/build/settings-Cz2Plds0.mjs.map +0 -1
  2110. package/.output/server/chunks/build/space-BByD-mFE.mjs +0 -107
  2111. package/.output/server/chunks/build/space-BByD-mFE.mjs.map +0 -1
  2112. package/.output/server/chunks/build/spin-XhbgGeLP.mjs +0 -313
  2113. package/.output/server/chunks/build/spin-XhbgGeLP.mjs.map +0 -1
  2114. package/.output/server/chunks/build/studio-CwYXl00G.mjs +0 -329
  2115. package/.output/server/chunks/build/studio-CwYXl00G.mjs.map +0 -1
  2116. package/.output/server/chunks/build/switch-DWcwVFxW.mjs +0 -374
  2117. package/.output/server/chunks/build/switch-DWcwVFxW.mjs.map +0 -1
  2118. package/.output/server/chunks/build/table-Zhuo7Fq-.mjs +0 -7249
  2119. package/.output/server/chunks/build/table-Zhuo7Fq-.mjs.map +0 -1
  2120. package/.output/server/chunks/build/tabs-BCwBXjNt.mjs +0 -1838
  2121. package/.output/server/chunks/build/tabs-BCwBXjNt.mjs.map +0 -1
  2122. package/.output/server/chunks/build/tag-CRW-anwy.mjs +0 -1010
  2123. package/.output/server/chunks/build/tag-CRW-anwy.mjs.map +0 -1
  2124. package/.output/server/chunks/build/teams-CwhFdcYn.mjs +0 -1160
  2125. package/.output/server/chunks/build/teams-CwhFdcYn.mjs.map +0 -1
  2126. package/.output/server/chunks/build/tokens-C5ODO1HA.mjs +0 -992
  2127. package/.output/server/chunks/build/tokens-C5ODO1HA.mjs.map +0 -1
  2128. package/.output/server/chunks/build/tools-C0YKragH.mjs +0 -487
  2129. package/.output/server/chunks/build/tools-C0YKragH.mjs.map +0 -1
  2130. package/.output/server/chunks/build/tooltip-GlMrUZzx.mjs +0 -888
  2131. package/.output/server/chunks/build/tooltip-GlMrUZzx.mjs.map +0 -1
  2132. package/.output/server/chunks/build/town-DLFB4SZl.mjs +0 -117
  2133. package/.output/server/chunks/build/town-DLFB4SZl.mjs.map +0 -1
  2134. package/.output/server/chunks/build/useAgentHarnessOptions-CYKuLtZ2.mjs +0 -120
  2135. package/.output/server/chunks/build/useAgentHarnessOptions-CYKuLtZ2.mjs.map +0 -1
  2136. package/.output/server/chunks/build/useAgentTemplateActions-Da_V1LSD.mjs +0 -71
  2137. package/.output/server/chunks/build/useAgentTemplateActions-Da_V1LSD.mjs.map +0 -1
  2138. package/.output/server/chunks/build/useAgentTemplateForm-BWvax5_E.mjs +0 -112
  2139. package/.output/server/chunks/build/useAgentTemplateForm-BWvax5_E.mjs.map +0 -1
  2140. package/.output/server/chunks/build/useAgentTemplatesCatalog-BnYjZy59.mjs +0 -140
  2141. package/.output/server/chunks/build/useAgentTemplatesCatalog-BnYjZy59.mjs.map +0 -1
  2142. package/.output/server/chunks/build/useAmlDatasets-nGi10DAl.mjs +0 -88
  2143. package/.output/server/chunks/build/useAmlDatasets-nGi10DAl.mjs.map +0 -1
  2144. package/.output/server/chunks/build/useAmlEntities-CTgNAgcZ.mjs +0 -79
  2145. package/.output/server/chunks/build/useAmlEntities-CTgNAgcZ.mjs.map +0 -1
  2146. package/.output/server/chunks/build/useAmlEnv-Da2TVfyK.mjs +0 -188
  2147. package/.output/server/chunks/build/useAmlEnv-Da2TVfyK.mjs.map +0 -1
  2148. package/.output/server/chunks/build/useAmlExperiments-U9AQ52RI.mjs +0 -86
  2149. package/.output/server/chunks/build/useAmlExperiments-U9AQ52RI.mjs.map +0 -1
  2150. package/.output/server/chunks/build/useAmlJobs-BM1mu5iH.mjs +0 -251
  2151. package/.output/server/chunks/build/useAmlJobs-BM1mu5iH.mjs.map +0 -1
  2152. package/.output/server/chunks/build/useAmlModels-C1DwIOMi.mjs +0 -90
  2153. package/.output/server/chunks/build/useAmlModels-C1DwIOMi.mjs.map +0 -1
  2154. package/.output/server/chunks/build/useAmlNotes-CNm47QdS.mjs +0 -80
  2155. package/.output/server/chunks/build/useAmlNotes-CNm47QdS.mjs.map +0 -1
  2156. package/.output/server/chunks/build/useAmlPredict-m8I1AdRn.mjs +0 -126
  2157. package/.output/server/chunks/build/useAmlPredict-m8I1AdRn.mjs.map +0 -1
  2158. package/.output/server/chunks/build/useAnalysisFeed-CpbOaiBD.mjs +0 -120
  2159. package/.output/server/chunks/build/useAnalysisFeed-CpbOaiBD.mjs.map +0 -1
  2160. package/.output/server/chunks/build/useDaqAddNode-D_1EBuR3.mjs +0 -141
  2161. package/.output/server/chunks/build/useDaqAddNode-D_1EBuR3.mjs.map +0 -1
  2162. package/.output/server/chunks/build/useDaqDetailBinding-j05iSApd.mjs +0 -72
  2163. package/.output/server/chunks/build/useDaqDetailBinding-j05iSApd.mjs.map +0 -1
  2164. package/.output/server/chunks/build/useDaqDetailFrames-BKciVJ78.mjs +0 -78
  2165. package/.output/server/chunks/build/useDaqDetailFrames-BKciVJ78.mjs.map +0 -1
  2166. package/.output/server/chunks/build/useDaqDetailHistory-DgemICkr.mjs +0 -166
  2167. package/.output/server/chunks/build/useDaqDetailHistory-DgemICkr.mjs.map +0 -1
  2168. package/.output/server/chunks/build/useDaqDetailNode-Cn7_og6t.mjs +0 -103
  2169. package/.output/server/chunks/build/useDaqDetailNode-Cn7_og6t.mjs.map +0 -1
  2170. package/.output/server/chunks/build/useDaqDetailParams-DX_vjFyK.mjs +0 -157
  2171. package/.output/server/chunks/build/useDaqDetailParams-DX_vjFyK.mjs.map +0 -1
  2172. package/.output/server/chunks/build/useDaqFilters-DMS4GN20.mjs +0 -224
  2173. package/.output/server/chunks/build/useDaqFilters-DMS4GN20.mjs.map +0 -1
  2174. package/.output/server/chunks/build/useDaqOptimizations-OPbdy5YB.mjs +0 -132
  2175. package/.output/server/chunks/build/useDaqOptimizations-OPbdy5YB.mjs.map +0 -1
  2176. package/.output/server/chunks/build/useDaqStream-CS1G6iro.mjs +0 -385
  2177. package/.output/server/chunks/build/useDaqStream-CS1G6iro.mjs.map +0 -1
  2178. package/.output/server/chunks/build/useDaqTemplates-DqhRYo88.mjs +0 -181
  2179. package/.output/server/chunks/build/useDaqTemplates-DqhRYo88.mjs.map +0 -1
  2180. package/.output/server/chunks/build/useDashboardData-CeaMjEA9.mjs +0 -139
  2181. package/.output/server/chunks/build/useDashboardData-CeaMjEA9.mjs.map +0 -1
  2182. package/.output/server/chunks/build/useDcwAddNode-Cytz_odQ.mjs +0 -217
  2183. package/.output/server/chunks/build/useDcwAddNode-Cytz_odQ.mjs.map +0 -1
  2184. package/.output/server/chunks/build/useDcwCards-BKCFqkRd.mjs +0 -64
  2185. package/.output/server/chunks/build/useDcwCards-BKCFqkRd.mjs.map +0 -1
  2186. package/.output/server/chunks/build/useDcwDetailScope-CvdvcKAv.mjs +0 -184
  2187. package/.output/server/chunks/build/useDcwDetailScope-CvdvcKAv.mjs.map +0 -1
  2188. package/.output/server/chunks/build/useDcwDetailTemplates-CC2FcEge.mjs +0 -143
  2189. package/.output/server/chunks/build/useDcwDetailTemplates-CC2FcEge.mjs.map +0 -1
  2190. package/.output/server/chunks/build/useDcwFilter-CVoiXbZh.mjs +0 -65
  2191. package/.output/server/chunks/build/useDcwFilter-CVoiXbZh.mjs.map +0 -1
  2192. package/.output/server/chunks/build/useDcwLedger-Cd-ckHoJ.mjs +0 -73
  2193. package/.output/server/chunks/build/useDcwLedger-Cd-ckHoJ.mjs.map +0 -1
  2194. package/.output/server/chunks/build/useDcwLineMutations-BOQs-fw3.mjs +0 -133
  2195. package/.output/server/chunks/build/useDcwLineMutations-BOQs-fw3.mjs.map +0 -1
  2196. package/.output/server/chunks/build/useDcwLineRun-D9qvcyTM.mjs +0 -100
  2197. package/.output/server/chunks/build/useDcwLineRun-D9qvcyTM.mjs.map +0 -1
  2198. package/.output/server/chunks/build/useDcwParamApprovals-D36q4can.mjs +0 -119
  2199. package/.output/server/chunks/build/useDcwParamApprovals-D36q4can.mjs.map +0 -1
  2200. package/.output/server/chunks/build/useDcwProducts-BozctrwT.mjs +0 -88
  2201. package/.output/server/chunks/build/useDcwProducts-BozctrwT.mjs.map +0 -1
  2202. package/.output/server/chunks/build/useDcwQuery-C8FikKgu.mjs +0 -93
  2203. package/.output/server/chunks/build/useDcwQuery-C8FikKgu.mjs.map +0 -1
  2204. package/.output/server/chunks/build/useDcwQuickActions-IyQ8Rkpe.mjs +0 -84
  2205. package/.output/server/chunks/build/useDcwQuickActions-IyQ8Rkpe.mjs.map +0 -1
  2206. package/.output/server/chunks/build/useDcwRecipes-k9HGhMwF.mjs +0 -263
  2207. package/.output/server/chunks/build/useDcwRecipes-k9HGhMwF.mjs.map +0 -1
  2208. package/.output/server/chunks/build/useDcwStream-BnBOiawo.mjs +0 -455
  2209. package/.output/server/chunks/build/useDcwStream-BnBOiawo.mjs.map +0 -1
  2210. package/.output/server/chunks/build/useDcwTemplates-CnyYOOy0.mjs +0 -87
  2211. package/.output/server/chunks/build/useDcwTemplates-CnyYOOy0.mjs.map +0 -1
  2212. package/.output/server/chunks/build/useDcwWrites-Cco590iv.mjs +0 -136
  2213. package/.output/server/chunks/build/useDcwWrites-Cco590iv.mjs.map +0 -1
  2214. package/.output/server/chunks/build/useDeviceTwins-DL-VLFeX.mjs +0 -118
  2215. package/.output/server/chunks/build/useDeviceTwins-DL-VLFeX.mjs.map +0 -1
  2216. package/.output/server/chunks/build/useExpConfirmations-DgwqTb9O.mjs +0 -104
  2217. package/.output/server/chunks/build/useExpConfirmations-DgwqTb9O.mjs.map +0 -1
  2218. package/.output/server/chunks/build/useLocalTime-C__kwn8h.mjs +0 -52
  2219. package/.output/server/chunks/build/useLocalTime-C__kwn8h.mjs.map +0 -1
  2220. package/.output/server/chunks/build/useLogsManual-BcfanT0s.mjs +0 -80
  2221. package/.output/server/chunks/build/useLogsManual-BcfanT0s.mjs.map +0 -1
  2222. package/.output/server/chunks/build/useLogsQuery-BGlKVKpV.mjs +0 -136
  2223. package/.output/server/chunks/build/useLogsQuery-BGlKVKpV.mjs.map +0 -1
  2224. package/.output/server/chunks/build/useLogsScope-C-yrta-v.mjs +0 -75
  2225. package/.output/server/chunks/build/useLogsScope-C-yrta-v.mjs.map +0 -1
  2226. package/.output/server/chunks/build/useMonitorData-BUey2Xly.mjs +0 -128
  2227. package/.output/server/chunks/build/useMonitorData-BUey2Xly.mjs.map +0 -1
  2228. package/.output/server/chunks/build/useMonitorFormat-rhs7FlNo.mjs +0 -77
  2229. package/.output/server/chunks/build/useMonitorFormat-rhs7FlNo.mjs.map +0 -1
  2230. package/.output/server/chunks/build/useOperationsFeed-DWfCjP4l.mjs +0 -182
  2231. package/.output/server/chunks/build/useOperationsFeed-DWfCjP4l.mjs.map +0 -1
  2232. package/.output/server/chunks/build/useOpsLog--yf8erUi.mjs +0 -139
  2233. package/.output/server/chunks/build/useOpsLog--yf8erUi.mjs.map +0 -1
  2234. package/.output/server/chunks/build/useRecipeDispatchApprovals-CKF2sB9P.mjs +0 -146
  2235. package/.output/server/chunks/build/useRecipeDispatchApprovals-CKF2sB9P.mjs.map +0 -1
  2236. package/.output/server/chunks/build/useTeamActions-C08sAVqY.mjs +0 -71
  2237. package/.output/server/chunks/build/useTeamActions-C08sAVqY.mjs.map +0 -1
  2238. package/.output/server/chunks/build/useTeamAddMemberDialog-fzTmflr8.mjs +0 -78
  2239. package/.output/server/chunks/build/useTeamAddMemberDialog-fzTmflr8.mjs.map +0 -1
  2240. package/.output/server/chunks/build/useTeamCreateDialog-De63ep-X.mjs +0 -91
  2241. package/.output/server/chunks/build/useTeamCreateDialog-De63ep-X.mjs.map +0 -1
  2242. package/.output/server/chunks/build/useTeamDeployDialog-CpAtG5Jy.mjs +0 -76
  2243. package/.output/server/chunks/build/useTeamDeployDialog-CpAtG5Jy.mjs.map +0 -1
  2244. package/.output/server/chunks/build/useTeamPluginDialog-C1OOe1sL.mjs +0 -99
  2245. package/.output/server/chunks/build/useTeamPluginDialog-C1OOe1sL.mjs.map +0 -1
  2246. package/.output/server/chunks/build/useTeamsCatalog-DA41SMDu.mjs +0 -124
  2247. package/.output/server/chunks/build/useTeamsCatalog-DA41SMDu.mjs.map +0 -1
  2248. package/.output/server/chunks/build/useTokenCreate-XHTQExra.mjs +0 -106
  2249. package/.output/server/chunks/build/useTokenCreate-XHTQExra.mjs.map +0 -1
  2250. package/.output/server/chunks/build/useTokenRename-Cf1B0cRy.mjs +0 -81
  2251. package/.output/server/chunks/build/useTokenRename-Cf1B0cRy.mjs.map +0 -1
  2252. package/.output/server/chunks/build/useTokenReveal-C8n1Vt9t.mjs +0 -108
  2253. package/.output/server/chunks/build/useTokenReveal-C8n1Vt9t.mjs.map +0 -1
  2254. package/.output/server/chunks/build/useTokensList-MMIq24E-.mjs +0 -86
  2255. package/.output/server/chunks/build/useTokensList-MMIq24E-.mjs.map +0 -1
  2256. package/.output/server/chunks/build/useWorkbenchAuth-Dyc_czui.mjs +0 -131
  2257. package/.output/server/chunks/build/useWorkbenchAuth-Dyc_czui.mjs.map +0 -1
  2258. package/.output/server/chunks/build/useWorkbenchWorkspaces-DT33HbBD.mjs +0 -128
  2259. package/.output/server/chunks/build/useWorkbenchWorkspaces-DT33HbBD.mjs.map +0 -1
  2260. package/.output/server/chunks/build/useWorkshopApi-BkEgGBIM.mjs +0 -118
  2261. package/.output/server/chunks/build/useWorkshopApi-BkEgGBIM.mjs.map +0 -1
  2262. package/.output/server/chunks/build/useWorkshopWs-BWrVj4jL.mjs +0 -1577
  2263. package/.output/server/chunks/build/useWorkshopWs-BWrVj4jL.mjs.map +0 -1
  2264. package/.output/server/chunks/build/useWorkspaceAuth-TahC9EC7.mjs +0 -48
  2265. package/.output/server/chunks/build/useWorkspaceAuth-TahC9EC7.mjs.map +0 -1
  2266. package/.output/server/chunks/build/useWorkspaceChannels-BVAHmhN3.mjs +0 -94
  2267. package/.output/server/chunks/build/useWorkspaceChannels-BVAHmhN3.mjs.map +0 -1
  2268. package/.output/server/chunks/build/useWorkspaceShell-rQHWNNWJ.mjs +0 -150
  2269. package/.output/server/chunks/build/useWorkspaceShell-rQHWNNWJ.mjs.map +0 -1
  2270. package/.output/server/chunks/build/users-pVCK50z-.mjs +0 -566
  2271. package/.output/server/chunks/build/users-pVCK50z-.mjs.map +0 -1
  2272. package/.output/server/chunks/build/workshop-DAgsBgG4.mjs +0 -499
  2273. package/.output/server/chunks/build/workshop-DAgsBgG4.mjs.map +0 -1
  2274. package/scripts/_aw-packaged-start.cjs +0 -22
  2275. package/scripts/_i18n-en-cjk-scan.mjs +0 -28
  2276. package/scripts/_i18n-en-verify.mjs +0 -107
  2277. package/scripts/_i18n-extra-checks.mjs +0 -53
  2278. package/scripts/_i18n-scan-hardcoded.mjs +0 -180
  2279. package/scripts/_lib-dcw-line.mjs +0 -24
  2280. package/scripts/_lib-plc-sim-child.mjs +0 -28
  2281. package/scripts/_lint-reflow.mjs +0 -105
  2282. package/scripts/_loop-biax-campaign.mjs +0 -130
  2283. package/scripts/_probe-daq-omp-task.mjs +0 -100
  2284. package/scripts/_probe-daq-scope-default.mjs +0 -123
  2285. package/scripts/_probe-lease.cjs +0 -13
  2286. package/scripts/_probe-model-channel-link.cjs +0 -25
  2287. package/scripts/_probe-recipe-switch.mjs +0 -92
  2288. package/scripts/_probe-task-queue.cjs +0 -9
  2289. package/scripts/build-anime-models.mjs +0 -339
  2290. package/scripts/demo-group-chat-omp-cases.ts +0 -210
  2291. package/scripts/demo-group-chat-omp.ts +0 -184
  2292. package/scripts/demo-group-chat-order.ts +0 -197
  2293. package/scripts/e2e-channel-isolation.ts +0 -329
  2294. package/scripts/e2e-lead-team-mgmt.ts +0 -217
  2295. package/scripts/proof-omp-real.ts +0 -189
  2296. package/scripts/smoke-optimization-verify.ts +0 -72
  2297. package/scripts/test-a2a-types.ts +0 -296
  2298. package/scripts/test-agent-multi-channel.ts +0 -160
  2299. package/scripts/test-agentteam-task-chat-flow.ts +0 -420
  2300. package/scripts/test-channel-routing.ts +0 -301
  2301. package/scripts/test-cli-exit.mjs +0 -343
  2302. package/scripts/test-event-persistence.mjs +0 -177
  2303. package/scripts/test-group-chat-hardening.ts +0 -265
  2304. package/scripts/test-group-chat-unit/section-a-migration.ts +0 -75
  2305. package/scripts/test-group-chat-unit/section-b-permission-matrix.ts +0 -88
  2306. package/scripts/test-group-chat-unit/section-c-member-lifecycle.ts +0 -64
  2307. package/scripts/test-group-chat-unit/section-d-mention-resolution.ts +0 -36
  2308. package/scripts/test-group-chat-unit/section-e-chat-facts.ts +0 -97
  2309. package/scripts/test-group-chat-unit/section-f-user-notifications.ts +0 -52
  2310. package/scripts/test-group-chat-unit/section-g-member-projection.ts +0 -44
  2311. package/scripts/test-group-chat-unit/section-h-outbox-consistency.ts +0 -30
  2312. package/scripts/test-group-chat-unit/section-i-read-idempotency.ts +0 -24
  2313. package/scripts/test-group-chat-unit/section-j-permission-scope.ts +0 -150
  2314. package/scripts/test-hitl-legacy-channel-auth.ts +0 -143
  2315. package/scripts/test-lane-history-live.mjs +0 -126
  2316. package/scripts/test-mcp-tools.ts +0 -285
  2317. package/scripts/test-memory-dynamic.ts +0 -101
  2318. package/scripts/test-memory-month-query.mjs +0 -70
  2319. package/scripts/test-memory.ts +0 -431
  2320. package/scripts/test-route-reason.mjs +0 -118
  2321. package/scripts/test-scheduler-loop/scenarios-modes.ts +0 -95
  2322. package/scripts/test-scheduler-loop/scenarios-runtime.ts +0 -58
  2323. package/scripts/test-scheduler-loop/scenarios-supervise.ts +0 -183
  2324. package/scripts/test-scheduler-loop/scenarios-triage.ts +0 -102
  2325. package/scripts/ui/admin-shots.mjs +0 -46
  2326. package/scripts/ui/bump-microfont.mjs +0 -39
  2327. package/scripts/ui/linkcheck2.mjs +0 -37
  2328. package/scripts/ui/live-render-check.mjs +0 -72
  2329. package/scripts/ui/perf-audit.mjs +0 -132
  2330. package/scripts/ui/sim-ui-shot.mjs +0 -16
  2331. package/scripts/ui/smoke-refactor.mjs +0 -258
  2332. /package/.output/public/_nuxt/{9j2J4k4w2.js → 9j2J4k4w.js} +0 -0
  2333. /package/.output/public/_nuxt/{BvRk9kiK2.js → DgrK8UCQ.js} +0 -0
  2334. /package/.output/public/_nuxt/{dVw8IHY6.js → dVw8IHY62.js} +0 -0
  2335. /package/.output/public/_nuxt/{k9b520K-2.js → k9b520K-.js} +0 -0
@@ -42,6 +42,9 @@ export interface ToolRefFaces {
42
42
  agentId: string
43
43
  /** 绑定面节点:dcw+daq 绑定节点 ∪ 绑定配方参数节点 */
44
44
  boundNodes: Set<string>
45
+ /** 写授权面 W(a):dcw 绑定节点 ∪ 绑定配方参数节点(节点级写授权,与 recipe-gate 同口径;
46
+ * daq 只读绑定与频道绑线只读扩权不进写面) */
47
+ writeFace: Set<string>
45
48
  /** 仅数采绑定(dcw 工具只认 dcw 绑定,读取面只认 daq 绑定——分面保留) */
46
49
  daqBoundNodes: Set<string>
47
50
  /** 绑定的配方(kind='recipe' 的绑定,nodeId 字段存 recipeId) */
@@ -60,6 +63,7 @@ export interface ToolRefFaces {
60
63
  export function resolveRefFaces(agentId: string): ToolRefFaces {
61
64
  const bindings = getAgentNodeBindingRepo().byAgent(agentId)
62
65
  const boundNodes = new Set<string>()
66
+ const writeFace = new Set<string>()
63
67
  const daqBoundNodes = new Set<string>()
64
68
  const boundRecipes = new Set<string>()
65
69
  const recipeLines = new Set<string>()
@@ -72,11 +76,15 @@ export function resolveRefFaces(agentId: string): ToolRefFaces {
72
76
  recipeLines.add(r.lineId)
73
77
  readableLines.add(r.lineId)
74
78
  }
75
- for (const p of (r?.params ?? [])) boundNodes.add(p.nodeId)
79
+ for (const p of (r?.params ?? [])) {
80
+ boundNodes.add(p.nodeId)
81
+ writeFace.add(p.nodeId)
82
+ }
76
83
  continue
77
84
  }
78
85
  boundNodes.add(b.nodeId)
79
86
  if (b.kind === 'daq') daqBoundNodes.add(b.nodeId)
87
+ else writeFace.add(b.nodeId)
80
88
  const n = b.kind === 'dcw' ? getDcwController().byId(b.nodeId) : getDaqNodeRepo().byId(b.nodeId)
81
89
  if (n?.lineId) readableLines.add(n.lineId)
82
90
  }
@@ -86,7 +94,7 @@ export function resolveRefFaces(agentId: string): ToolRefFaces {
86
94
  if (channelLineId) {
87
95
  for (const n of getDaqNodeRepo().all()) if (n.lineId === channelLineId) channelLineNodes.add(n.id)
88
96
  }
89
- return { agentId, boundNodes, daqBoundNodes, boundRecipes, recipeLines, readableLines, channelLineId, channelLineNodes }
97
+ return { agentId, boundNodes, writeFace, daqBoundNodes, boundRecipes, recipeLines, readableLines, channelLineId, channelLineNodes }
90
98
  }
91
99
 
92
100
  // ===== 归属判定 =====
@@ -143,6 +151,17 @@ function denyNode(faces: ToolRefFaces, toolName: string, args: Record<string, un
143
151
  ], faces, hint, { param, value: id, lineId: row?.lineId })
144
152
  }
145
153
 
154
+ /** 写面拒绝(2026-10-28):参数要写到的节点必须落在 W(a)=dcw 绑定 ∪ 绑定配方参数节点。
155
+ * 比 denyNode 更明确:读得到 ≠ 写得到(频道绑线只读扩权/他配方节点都不构成写授权)。 */
156
+ function denyWriteNode(faces: ToolRefFaces, toolName: string, args: Record<string, unknown>, param: string, id: string, exists: boolean): HostToolResult {
157
+ const row = exists ? nodeRow(id) : null
158
+ const where = row ? `(节点「${row.name}」${row.lineId ? `,归属产线 ${row.lineId}` : ''})` : '(节点不存在或已删除)'
159
+ const hint = `该节点不在你的写授权面(节点绑定=点位写授权;配方绑定=配方操作权)。你的可写节点:${listOf(faces.writeFace)};你已绑定的配方参数节点也在此列。如需写入,请让用户或 lead 为你绑定该数控节点(dcw),或改用上述已授权节点;若要对整批配方操作,可请求绑定配方(kind='recipe')。`
160
+ return deny(toolName, args, [
161
+ `工具调用被拒(写授权校验,${toolName}):参数节点「${id}」不在你的写授权面内${where}。`,
162
+ ], faces, hint, { param, value: id, lineId: row?.lineId })
163
+ }
164
+
146
165
  function denyLine(faces: ToolRefFaces, toolName: string, args: Record<string, unknown>, param: string, id: string): HostToolResult {
147
166
  const exists = getDcwController().listLines().some(l => l.id === id)
148
167
  const hint = `你的可读产线:${listOf(faces.readableLines)}${faces.channelLineId ? `(其中「${faces.channelLineId}」来自频道绑线,只读)` : ''}。如需访问该产线,请让用户授予对应产线权限(权限管理),或把当前频道绑定到该产线;也可以改用上述可读产线重试。`
@@ -370,6 +389,16 @@ export function verifyToolReferences(agentId: string, toolName: string, args: Re
370
389
  if (!exists || !nodeAllowed(faces, id)) return denyNode(faces, toolName, args, key, id, exists)
371
390
  }
372
391
  }
392
+ // 写入型参数节点:必须落在写授权面 W(a)(只读面/频道绑线/他配方节点不构成写授权)。
393
+ // 先于 deepNodeRefs 检查:nodeAllowed 允许"绑定配方所在产线的任意节点",对写入过宽,
394
+ // 写面判定才是本工具真正的授权边界(拒绝文案也更能行动)。
395
+ for (const path of spec.writeNodeRefs ?? []) {
396
+ const leaf = path.split('.').pop() ?? path
397
+ for (const id of collectDeep(args, path)) {
398
+ const exists = nodeRow(id) !== null
399
+ if (!exists || !faces.writeFace.has(id)) return denyWriteNode(faces, toolName, args, leaf, id, exists)
400
+ }
401
+ }
373
402
  for (const path of spec.deepNodeRefs ?? []) {
374
403
  // 深路径的 param 名用于文案:取最后一段
375
404
  const leaf = path.split('.').pop() ?? path
@@ -22,6 +22,8 @@ import { getRecipeRollBackManager } from '../dcw/recipe-rollback-manager'
22
22
  import { limitsBreakdownOf } from '../dcw/param-limits'
23
23
  import { MES_REST_DRIVER_KIND, mesCatalogEntryOf } from '../mes/mes-controller'
24
24
  import { getDcwParamRepo } from '../dcw/param-map.repo'
25
+ import { promptLocaleOf, tr, type PromptLocale } from './prompt-i18n'
26
+ import { executionModeOfAgent } from './execution-mode'
25
27
 
26
28
  /** 从属设备描述(名称/状态/实时遥测;数据驱动) */
27
29
  function describeTwin(bindId: string | null | undefined): string | null {
@@ -38,7 +40,7 @@ function describeTwins(node: { deviceIds?: string[], deviceBindingId?: string |
38
40
  }
39
41
 
40
42
  /** 数控节点语义卡:模板 semantics(或节点覆盖)× 实时数据合成 */
41
- function dcwSemanticCard(nodeId: string, mode: string): string | null {
43
+ function dcwSemanticCard(nodeId: string, mode: string, locale: PromptLocale = 'zh'): string | null {
42
44
  const node = getDcwController().byId(nodeId)
43
45
  if (!node) return null
44
46
  const tpl = findDcwTemplate(node.templateKey)
@@ -55,33 +57,35 @@ function dcwSemanticCard(nodeId: string, mode: string): string | null {
55
57
  const param = recipe?.params.find(p => p.nodeId === nodeId)
56
58
  const twinDesc = describeTwins(node).join(' | ') || null
57
59
  const stepProfile = limitsBreakdownOf(node)
58
- const stepText = stepProfile.stepLimit == null ? '未配置(探索阶段禁止无界写入)' : `${Number(stepProfile.stepLimit.toFixed(node.decimals))}${node.unit}(来源:${stepProfile.stepLimitSource})`
60
+ const stepText = stepProfile.stepLimit == null
61
+ ? tr(locale, '未配置(探索阶段禁止无界写入)', 'not configured (unbounded writes are forbidden during exploration)')
62
+ : `${Number(stepProfile.stepLimit.toFixed(node.decimals))}${node.unit}(${tr(locale, '来源:', 'source:')}${stepProfile.stepLimitSource})`
59
63
  const route = isMes
60
- ? '写入经 MES 集成下发(REST API;多字段接口由 writeHook 只组装本节点声明的字段,writeCheckHook 二次校验回执)'
61
- : `写入经驱动 ${node.driver} 下发 PLC(寄存器/换算封装在驱动配置内,你只面对工程量)`
64
+ ? tr(locale, '写入经 MES 集成下发(REST API;多字段接口由 writeHook 只组装本节点声明的字段,writeCheckHook 二次校验回执)', 'Writes are dispatched through the MES integration (REST API; multi-field endpoints are assembled by writeHook for this node only, with writeCheckHook verifying the acknowledgement)')
65
+ : tr(locale, `写入经驱动 ${node.driver} 下发 PLC(寄存器/换算封装在驱动配置内,你只面对工程量)`, `Writes go through driver ${node.driver} to the PLC (register scaling is encapsulated in the driver config; you only deal in engineering units)`)
62
66
 
63
67
  const lines = [
64
- `#### ◆ ${node.name} [id=${nodeId}]${isMes ? '[MES 集成点位]' : ''}`,
65
- `- 物理量: ${tpl?.ch ?? node.templateKey},单位 ${node.unit},精度 ${node.decimals} 位小数`,
68
+ `#### ◆ ${node.name} [id=${nodeId}]${isMes ? tr(locale, '[MES 集成点位]', '[MES integration point]') : ''}`,
69
+ tr(locale, `- 物理量: ${tpl?.ch ?? node.templateKey},单位 ${node.unit},精度 ${node.decimals} 位小数`, `- Physical quantity: ${tpl?.ch ?? node.templateKey}, unit ${node.unit}, precision ${node.decimals} decimals`),
66
70
  ]
67
- if (sem) lines.push(`- 工艺语义: ${sem}${nodeSem ? '' : tplSem ? '(来自模板)' : '(来自 MES 点位描述)'}`)
68
- else lines.push(`- 工艺语义: (待补)该节点未填写工艺语义 —— 物理量 ${tpl?.ch ?? node.templateKey};请让用户在模板/节点语义中补充物理机理与调参守则后再做大幅调整`)
69
- lines.push(`- 安全量程: [${node.min}, ${node.max}] ${node.unit}(硬联锁,越界即拒)`)
71
+ if (sem) lines.push(tr(locale, `- 工艺语义: ${sem}${nodeSem ? '' : tplSem ? '(来自模板)' : '(来自 MES 点位描述)'}`, `- Process semantics: ${sem}${nodeSem ? '' : tplSem ? ' (from template)' : ' (from MES point description)'}`))
72
+ else lines.push(tr(locale, `- 工艺语义: (待补)该节点未填写工艺语义 —— 物理量 ${tpl?.ch ?? node.templateKey};请让用户在模板/节点语义中补充物理机理与调参守则后再做大幅调整`, `- Process semantics: (missing) no semantics configured for this node — physical quantity ${tpl?.ch ?? node.templateKey}; ask the user to add the physical mechanism and tuning rules before large adjustments`))
73
+ lines.push(tr(locale, `- 安全量程: [${node.min}, ${node.max}] ${node.unit}(硬联锁,越界即拒)`, `- Safe range: [${node.min}, ${node.max}] ${node.unit} (hard interlock; out-of-range writes are rejected)`))
70
74
  if (param && (param.min != null || param.max != null)) {
71
- lines.push(`- 活动配方「${recipe!.name}」工艺窗口: [${param.min ?? '-∞'}, ${param.max ?? '+∞'}] ${node.unit}(软联锁,配方目标值 ${param.value}${node.unit ?? ''})`)
75
+ lines.push(tr(locale, `- 活动配方「${recipe!.name}」工艺窗口: [${param.min ?? '-∞'}, ${param.max ?? '+∞'}] ${node.unit}(软联锁,配方目标值 ${param.value}${node.unit ?? ''})`, `- Active recipe "${recipe!.name}" process window: [${param.min ?? '-∞'}, ${param.max ?? '+∞'}] ${node.unit} (soft interlock; recipe target ${param.value}${node.unit ?? ''})`))
72
76
  }
73
77
  else if (run) {
74
- lines.push(`- 活动配方「${run.recipeName}」未对本节点设窗口(全局量程生效)`)
78
+ lines.push(tr(locale, `- 活动配方「${run.recipeName}」未对本节点设窗口(全局量程生效)`, `- Active recipe "${run.recipeName}" has no window for this node (global range applies)`))
75
79
  }
76
- lines.push(`- 当前设定: ${node.value != null ? `${node.value}${node.unit}` : '未下发'},状态 ${node.state},所属产线「${line?.name ?? '未分配'}」`)
77
- if (twinDesc) lines.push(`- 从属设备: ${twinDesc};你的写入经 PLC 下发后反映到该设备的物理行为`)
78
- lines.push(`- 下发链路: ${route};参数写入与下发一律走你绑定的配方(recipe_update 保存版本 / recipe_apply 整批下发 / recipe_trial 候选试验),四层限界(量程∩参数∩产品∩配方)与单步上限在配方面照常生效`)
79
- lines.push(`- 操作守则: 单次调幅硬上限 ≤${stepText};下发后等待工艺响应再评估;目标值必须落在窗口内;${mode === 'manual' ? '**手动确认模式**,每次下发会请求用户批准,请在下发前说明理由' : mode === 'recipe' ? '经配方绑定操作:绑定 manual 时逐动作人工批准,auto 直接执行(配方未在运行时不可操作)' : '自动模式,直接执行'}`)
80
+ lines.push(tr(locale, `- 当前设定: ${node.value != null ? `${node.value}${node.unit}` : '未下发'},状态 ${node.state},所属产线「${line?.name ?? '未分配'}」`, `- Current setpoint: ${node.value != null ? `${node.value}${node.unit}` : 'not dispatched'}, state ${node.state}, line "${line?.name ?? 'unassigned'}"`))
81
+ if (twinDesc) lines.push(tr(locale, `- 从属设备: ${twinDesc};你的写入经 PLC 下发后反映到该设备的物理行为`, `- Bound device: ${twinDesc}; your writes reach the PLC and affect this device's physical behavior`))
82
+ lines.push(tr(locale, `- 下发链路: ${route};参数写入与下发一律走你绑定的配方(recipe_update 保存版本 / recipe_apply 整批下发 / recipe_trial 候选试验),四层限界(量程∩参数∩产品∩配方)与单步上限在配方面照常生效`, `- Dispatch path: ${route}; all parameter writes go through your bound recipe (recipe_update saves a version / recipe_apply dispatches the batch / recipe_trial runs a candidate). The four-layer limits (range ∩ parameter ∩ product ∩ recipe) and per-step cap still apply`))
83
+ lines.push(tr(locale, `- 操作守则: 单次调幅硬上限 ≤${stepText};下发后等待工艺响应再评估;目标值必须落在窗口内;${mode === 'manual' ? '**手动确认模式**,每次下发会请求用户批准,请在下发前说明理由' : mode === 'recipe' ? '经配方绑定操作:绑定 manual 时逐动作人工批准,auto 直接执行(配方未在运行时不可操作)' : '自动模式,直接执行'}`, `- Operating rules: hard per-step cap <= ${stepText}; wait for the process response before re-evaluating; targets must stay inside the window; ${mode === 'manual' ? '**manual approval mode**: every dispatch asks the user, so state your rationale first' : mode === 'recipe' ? 'recipe-bound operation: manual mode approves each action, auto executes directly (no operation while the recipe is not running)' : 'automatic mode, execute directly'}`))
80
84
  return lines.join('\n')
81
85
  }
82
86
 
83
87
  /** 数采节点语义卡 */
84
- function daqSemanticCard(nodeId: string, mode: string): string | null {
88
+ function daqSemanticCard(nodeId: string, mode: string, locale: PromptLocale = 'zh'): string | null {
85
89
  const node = getDaqNodeRepo().byId(nodeId)
86
90
  if (!node) return null
87
91
  const tpl = findDaqTemplate(node.templateKey)
@@ -95,29 +99,42 @@ function daqSemanticCard(nodeId: string, mode: string): string | null {
95
99
 
96
100
  const lines = [
97
101
  `#### ◇ ${node.name} [id=${nodeId}]`,
98
- `- 物理量: ${tpl?.ch ?? node.templateKey},单位 ${node.unit},正常量程 [${node.min}, ${node.max}] ${node.unit}`,
102
+ tr(locale, `- 物理量: ${tpl?.ch ?? node.templateKey},单位 ${node.unit},正常量程 [${node.min}, ${node.max}] ${node.unit}`, `- Physical quantity: ${tpl?.ch ?? node.templateKey}, unit ${node.unit}, normal range [${node.min}, ${node.max}] ${node.unit}`),
99
103
  ]
100
- if (sem) lines.push(`- 采集语义: ${sem}`)
101
- else lines.push(`- 采集语义: (待补)该节点未填写采集语义 —— 物理量 ${tpl?.ch ?? node.templateKey};请让用户在模板/节点语义中补充测点含义与判读方法`)
104
+ if (sem) lines.push(tr(locale, `- 采集语义: ${sem}`, `- Measurement semantics: ${sem}`))
105
+ else lines.push(tr(locale, `- 采集语义: (待补)该节点未填写采集语义 —— 物理量 ${tpl?.ch ?? node.templateKey};请让用户在模板/节点语义中补充测点含义与判读方法`, `- Measurement semantics: (missing) no semantics configured — physical quantity ${tpl?.ch ?? node.templateKey}; ask the user to add the point meaning and interpretation method`))
102
106
  if (node.warnLow != null || node.warnHigh != null) {
103
- lines.push(`- 预警带: [${node.warnLow ?? '-∞'}, ${node.warnHigh ?? '+∞'}] ${node.unit}(出带=warn,越量程=alarm)`)
107
+ lines.push(tr(locale, `- 预警带: [${node.warnLow ?? '-∞'}, ${node.warnHigh ?? '+∞'}] ${node.unit}(出带=warn,越量程=alarm)`, `- Warning band: [${node.warnLow ?? '-∞'}, ${node.warnHigh ?? '+∞'}] ${node.unit} (outside band = warn, outside range = alarm)`))
104
108
  }
105
- if (win) lines.push(`- 活动配方「${recipe!.name}」监控窗口: [${win.min ?? '-∞'}, ${win.max ?? '+∞'}] ${node.unit}(实时值越限 → 节点标红 + 孪生告警)`)
106
- lines.push(`- 实时值: ${node.value != null ? `${node.value}${node.unit}` : '暂无数据'}${fresh != null ? `( ${fresh}s 前更新)` : ''},状态 ${node.state},采样 ${node.effectiveInterval(1000)}ms,驱动 ${node.driver},所属产线「${line?.name ?? '未分配'}」`)
107
- if (twinDesc) lines.push(`- 从属设备: ${twinDesc};量测的是该设备的真实过程量`)
108
- lines.push(`- 数据获取: daq_query(node_id='${nodeId}');${mode === 'manual' ? '手动确认模式' : '查询自动执行'}`)
109
+ if (win) lines.push(tr(locale, `- 活动配方「${recipe!.name}」监控窗口: [${win.min ?? '-∞'}, ${win.max ?? '+∞'}] ${node.unit}(实时值越限 → 节点标红 + 孪生告警)`, `- Active recipe "${recipe!.name}" monitoring window: [${win.min ?? '-∞'}, ${win.max ?? '+∞'}] ${node.unit} (out-of-window = node red + twin alarm)`))
110
+ lines.push(tr(locale, `- 实时值: ${node.value != null ? `${node.value}${node.unit}` : '暂无数据'}${fresh != null ? `( ${fresh}s 前更新)` : ''},状态 ${node.state},采样 ${node.effectiveInterval(1000)}ms,驱动 ${node.driver},所属产线「${line?.name ?? '未分配'}」`, `- Live value: ${node.value != null ? `${node.value}${node.unit}` : 'no data'}${fresh != null ? ` (updated ${fresh}s ago)` : ''}, state ${node.state}, sampling ${node.effectiveInterval(1000)}ms, driver ${node.driver}, line "${line?.name ?? 'unassigned'}"`))
111
+ if (twinDesc) lines.push(tr(locale, `- 从属设备: ${twinDesc};量测的是该设备的真实过程量`, `- Bound device: ${twinDesc}; this point measures the device's real process variable`))
112
+ lines.push(tr(locale, `- 数据获取: daq_query(node_id='${nodeId}');${mode === 'manual' ? '手动确认模式' : '查询自动执行'}`, `- Data access: daq_query(node_id='${nodeId}'); ${mode === 'manual' ? 'manual approval mode' : 'queries run automatically'}`))
109
113
  return lines.join('\n')
110
114
  }
111
115
 
112
116
  /** 工具:my_industrial_nodes 的语义卡视图(绑定节点 dcw/daq 全集 ∪ 绑定配方的参数节点) */
113
- export function nodeSemanticCards(agentId: string): { text: string, stale: number } {
117
+ export function nodeSemanticCards(agentId: string, localeInput?: PromptLocale): { text: string, stale: number } {
118
+ const locale = localeInput ?? promptLocaleOf(agentId)
114
119
  const repo = getAgentNodeBindingRepo()
115
120
  const bindings = repo.byAgent(agentId)
116
121
  const cards: string[] = []
117
122
  let stale = 0
118
123
  const seen = new Set<string>()
124
+ // 执行模式卡(2026-10-28 三模式计划 M2):让 Agent 一开始就知道本频道的执行档位与后果
125
+ const execMode = executionModeOfAgent(agentId)
126
+ let modeCard: string
127
+ if (execMode === 'observe') {
128
+ modeCard = tr(locale, '### ⚙ 频道执行模式:observe(观察)—— 本频道为只读分析档:控制下发/配方操作/启停线工具均不可用,请专注数采集、台账查询与分析;若认为需要调整参数,请在结论中建议并由人执行', '### ⚙ Channel execution mode: observe (read-only) — control dispatch / recipe operations / line start-stop tools are unavailable; focus on data collection, ledger queries and analysis; suggest parameter changes in your conclusions and let a human execute them')
129
+ }
130
+ else if (execMode === 'manual') {
131
+ modeCard = tr(locale, '### ⚙ 频道执行模式:manual(手动)—— 本频道所有下发/配方/回退动作都会挂起等人工批准:下发前必须说明依据(数采/MES 证据),审批卡会向人类展示你的理由', '### ⚙ Channel execution mode: manual — every dispatch / recipe / rollback action waits for human approval: state your evidence (DAQ/MES) first; the approval card shows your rationale to the human')
132
+ }
133
+ else {
134
+ modeCard = tr(locale, '### ⚙ 频道执行模式:auto(默认,频道不加额外约束)—— 是否人工批准由产线总闸与你的绑定模式决定;自动执行的下发必须附带 hypothesis 依据,四层限界/单步上限/运行门照常生效', '### ⚙ Channel execution mode: auto (default; no extra channel-level constraint) — human approval is decided by the line master switch and your binding mode; automatic dispatches must carry a hypothesis, and the four-layer limits / step cap / run gate still apply')
135
+ }
119
136
  for (const b of bindings) {
120
- const card = b.kind === 'dcw' ? dcwSemanticCard(b.nodeId, b.mode) : b.kind === 'daq' ? daqSemanticCard(b.nodeId, b.mode) : null
137
+ const card = b.kind === 'dcw' ? dcwSemanticCard(b.nodeId, b.mode, locale) : b.kind === 'daq' ? daqSemanticCard(b.nodeId, b.mode, locale) : null
121
138
  if (card) {
122
139
  cards.push(card)
123
140
  seen.add(b.nodeId)
@@ -134,12 +151,12 @@ export function nodeSemanticCards(agentId: string): { text: string, stale: numbe
134
151
  for (const p of recipe.params) {
135
152
  if (seen.has(p.nodeId)) continue
136
153
  seen.add(p.nodeId)
137
- const card = dcwSemanticCard(p.nodeId, 'recipe')
138
- if (card) cards.push(`${card}\n(来源:绑定配方「${recipe.name}」的参数)`)
154
+ const card = dcwSemanticCard(p.nodeId, 'recipe', locale)
155
+ if (card) cards.push(`${card}\n${tr(locale, `(来源:绑定配方「${recipe.name}」的参数)`, `(source: parameter of bound recipe "${recipe.name}")`)}`)
139
156
  else stale++
140
157
  }
141
158
  }
142
- return { text: cards.join('\n\n'), stale }
159
+ return { text: `${modeCard}\n\n${cards.join('\n\n')}`, stale }
143
160
  }
144
161
 
145
162
  /**
@@ -147,7 +164,8 @@ export function nodeSemanticCards(agentId: string): { text: string, stale: numbe
147
164
  * 每个绑定配方:名称/描述/版本/运行状态/绑定模式(manual=逐动作 HITL;auto=免批)/
148
165
  * 二级认证状态 + 参数对照表(参数 key|描述|执行节点|目标值|窗口)。
149
166
  */
150
- export function recipeOperationFace(agentId: string): string {
167
+ export function recipeOperationFace(agentId: string, localeInput?: PromptLocale): string {
168
+ const locale = localeInput ?? promptLocaleOf(agentId)
151
169
  const repo = getAgentNodeBindingRepo()
152
170
  const bindings = repo.byAgent(agentId).filter(b => b.kind === 'recipe')
153
171
  if (bindings.length === 0) return ''
@@ -160,23 +178,23 @@ export function recipeOperationFace(agentId: string): string {
160
178
  const run = getDcwController().listRuns().find(r => r.recipeId === recipe.id && !r.endedAt)
161
179
  const access = recipe.access
162
180
  const head = [
163
- `#### ▣ 配方「${recipe.name}」[id=${recipe.id}] v${recipe.version ?? 1}`,
164
- `- 运行状态: ${run ? `**执行中**(批次 ${run.id.slice(0, 8)},可操作)——参数写入/下发/试验/回退均已放行` : '**未运行**(运行门:未在执行的配方不可操作;请由用户开跑后再操作)'}`,
165
- `- 绑定模式: ${b.mode === 'manual' ? '**manual** —— 你的每次参数写入/下发/试验/回退都会挂起等人工批准;reason 必填且要给出判断依据(数采/MES 证据),审批卡会向人类展示' : '**auto** —— 免人工批准直接执行,但仍受四层限界与运行门约束'}`,
166
- `- 二级认证: ${access?.requireAuth ? `已开启(授权清单 ${access.authorizedAgentIds?.length ?? 0} 人;你在清单内才能操作)` : '未开启(绑定即可操作)'}`,
167
- recipe.description ? `- 配方说明: ${recipe.description.slice(0, 160)}` : null,
181
+ tr(locale, `#### ▣ 配方「${recipe.name}」[id=${recipe.id}] v${recipe.version ?? 1}`, `#### ▣ Recipe "${recipe.name}" [id=${recipe.id}] v${recipe.version ?? 1}`),
182
+ tr(locale, `- 运行状态: ${run ? `**执行中**(批次 ${run.id.slice(0, 8)},可操作)——参数写入/下发/试验/回退均已放行` : '**未运行**(运行门:未在执行的配方不可操作;请由用户开跑后再操作)'}`, `- Run state: ${run ? `**running** (batch ${run.id.slice(0, 8)}, operable) — parameter writes/dispatch/trials/rollback are allowed` : '**not running** (run gate: a recipe that is not executing cannot be operated; ask the user to start the line)'}`),
183
+ tr(locale, `- 绑定模式: ${b.mode === 'manual' ? '**manual** —— 你的每次参数写入/下发/试验/回退都会挂起等人工批准;reason 必填且要给出判断依据(数采/MES 证据),审批卡会向人类展示' : '**auto** —— 免人工批准直接执行,但仍受四层限界与运行门约束'}`, `- Binding mode: ${b.mode === 'manual' ? '**manual** — every parameter write/dispatch/trial/rollback waits for human approval; reason is required and must cite evidence; the approval card shows it to the human' : '**auto** — executes without human approval, still bounded by the four-layer limits and run gate'}`),
184
+ tr(locale, `- 二级认证: ${access?.requireAuth ? `已开启(授权清单 ${access.authorizedAgentIds?.length ?? 0} 人;你在清单内才能操作)` : '未开启(绑定即可操作)'}`, `- Secondary auth: ${access?.requireAuth ? `enabled (${access.authorizedAgentIds?.length ?? 0} authorized agents; you must be on the list)` : 'disabled (binding is sufficient)'}`),
185
+ recipe.description ? tr(locale, `- 配方说明: ${recipe.description.slice(0, 160)}`, `- Recipe description: ${recipe.description.slice(0, 160)}`) : null,
168
186
  ].filter(Boolean) as string[]
169
187
  const rows = recipe.params.map((p) => {
170
188
  const node = getDcwController().byId(p.nodeId)
171
189
  const pv = paramViews.get(p.nodeId)
172
190
  const desc = pv?.desc ?? node?.semantics ?? ''
173
- const win = (p.min != null || p.max != null) ? `,窗口 ${p.min ?? '-∞'}~${p.max ?? '+∞'}${node?.unit ?? ''}` : ''
174
- return ` - ${node?.name ?? p.nodeId}:目标 ${p.value}${node?.unit ?? ''}${win} | 参数键 ${pv?.key ?? '-'}${desc ? ` | ${desc.slice(0, 80)}` : ''}`
191
+ const win = (p.min != null || p.max != null) ? tr(locale, `,窗口 ${p.min ?? '-∞'}~${p.max ?? '+∞'}${node?.unit ?? ''}`, `, window ${p.min ?? '-∞'}~${p.max ?? '+∞'}${node?.unit ?? ''}`) : ''
192
+ return tr(locale, ` - ${node?.name ?? p.nodeId}:目标 ${p.value}${node?.unit ?? ''}${win} | 参数键 ${pv?.key ?? '-'}${desc ? ` | ${desc.slice(0, 80)}` : ''}`, ` - ${node?.name ?? p.nodeId}: target ${p.value}${node?.unit ?? ''}${win} | key ${pv?.key ?? '-'}${desc ? ` | ${desc.slice(0, 80)}` : ''}`)
175
193
  })
176
- sections.push([...head, '- 参数对照(目标值/窗口/参数键/描述):', ...rows].join('\n'))
194
+ sections.push([...head, tr(locale, '- 参数对照(目标值/窗口/参数键/描述):', '- Parameters (target/window/key/description):'), ...rows].join('\n'))
177
195
  }
178
196
  if (sections.length === 0) return ''
179
- return `### 你绑定的配方(操作面;动作入口 recipe_update/recipe_apply/recipe_trial/recipe_rollback)\n${sections.join('\n\n')}`
197
+ return tr(locale, `### 你绑定的配方(操作面;动作入口 recipe_update/recipe_apply/recipe_trial/recipe_rollback)\n${sections.join('\n\n')}`, `### Your bound recipes (operation surface; entry points recipe_update/recipe_apply/recipe_trial/recipe_rollback)\n${sections.join('\n\n')}`)
180
198
  }
181
199
 
182
200
  /** 参数面视图(参数面未就绪时返回空,不阻断语义卡) */
@@ -189,8 +207,18 @@ function getDcwParamRepoSafe(): Array<{ nodeId: string, key: string, desc?: stri
189
207
  }
190
208
  }
191
209
 
210
+ /** MES 点位能力标签(纯函数;zh=读/写/史/钩,en=R/W/H/HK) */
211
+ export function mesCapabilityLabel(
212
+ e: { readable: boolean, writable: boolean, historyable: boolean, format: string, hooked: boolean },
213
+ locale: PromptLocale = 'zh',
214
+ ): string {
215
+ const hist = e.historyable ? (e.format !== 'scalar' ? tr(locale, `史·${e.format}`, `H·${e.format}`) : tr(locale, '史', 'H')) : null
216
+ return [e.readable ? tr(locale, '读', 'R') : null, e.writable ? tr(locale, '写', 'W') : null, hist, e.hooked ? tr(locale, '钩', 'HK') : null].filter(Boolean).join('/') || '-'
217
+ }
218
+
192
219
  /** 产线工况简报(注入每次回合 prompt;只描述 Agent 绑定节点/绑定配方所在的产线) */
193
- export function buildIndustrialContext(agentId: string): string {
220
+ export function buildIndustrialContext(agentId: string, localeInput?: PromptLocale): string {
221
+ const locale = localeInput ?? promptLocaleOf(agentId)
194
222
  const bindings = getAgentNodeBindingRepo().byAgent(agentId)
195
223
  const dcwIds = bindings.filter(b => b.kind === 'dcw').map(b => b.nodeId)
196
224
  const daqIds = bindings.filter(b => b.kind === 'daq').map(b => b.nodeId)
@@ -216,36 +244,36 @@ export function buildIndustrialContext(agentId: string): string {
216
244
  const line = getDcwLineRepo().byId(lineId)
217
245
  if (!line) continue
218
246
  const run = getActiveLineRun(lineId)
219
- const lines: string[] = [`### 产线「${line.name}」(id=${lineId},光晕色 ${line.color})`]
247
+ const lines: string[] = [tr(locale, `### 产线「${line.name}」(id=${lineId},光晕色 ${line.color})`, `### Line "${line.name}" (id=${lineId}, halo color ${line.color})`)]
220
248
  // 场景描述(产线本体说明:工艺场景/规格/闭环目标 —— 用户在建线/编辑产线时填写,
221
249
  // 是场景语义最丰富的一手描述;不注入则 Agent 对这条产线是干什么的毫无概念)
222
- if (line.description?.trim()) lines.push(`- 场景说明: ${line.description.trim().slice(0, 260)}`)
250
+ if (line.description?.trim()) lines.push(tr(locale, `- 场景说明: ${line.description.trim().slice(0, 260)}`, `- Scenario description: ${line.description.trim().slice(0, 260)}`))
223
251
  if (run) {
224
252
  const elapsedMin = Math.round((Date.now() - Date.parse(run.startedAt)) / 60_000)
225
- lines.push(`- 工况:**运行中**,批次 ${run.runId.slice(0, 8)},产品「${run.productName}」× 配方「${run.recipeName}」,已运行 ${elapsedMin} 分钟,已采集 ${run.taggedSamples} 打标样本`)
253
+ lines.push(tr(locale, `- 工况:**运行中**,批次 ${run.runId.slice(0, 8)},产品「${run.productName}」× 配方「${run.recipeName}」,已运行 ${elapsedMin} 分钟,已采集 ${run.taggedSamples} 打标样本`, `- Condition: **running**, batch ${run.runId.slice(0, 8)}, product "${run.productName}" x recipe "${run.recipeName}", ${elapsedMin} min elapsed, ${run.taggedSamples} tagged samples`))
226
254
  const recipe = getDcwController().listRecipes().find(r => r.id === run.recipeId)
227
255
  const product = recipe ? getDcwProductRepo().byId(recipe.productId) : undefined
228
- if (product?.description?.trim()) lines.push(`- 产品说明(${product.name}): ${product.description.trim().slice(0, 160)}`)
256
+ if (product?.description?.trim()) lines.push(tr(locale, `- 产品说明(${product.name}): ${product.description.trim().slice(0, 160)}`, `- Product description (${product.name}): ${product.description.trim().slice(0, 160)}`))
229
257
  if (recipe) {
230
258
  const params = recipe.params
231
259
  .map((p) => {
232
260
  const n = getDcwController().byId(p.nodeId)
233
- const win = (p.min != null || p.max != null) ? ` 窗口 ${p.min ?? '-∞'}~${p.max ?? '+∞'}${n?.unit ?? ''}` : ''
261
+ const win = (p.min != null || p.max != null) ? tr(locale, ` 窗口 ${p.min ?? '-∞'}~${p.max ?? '+∞'}${n?.unit ?? ''}`, ` window ${p.min ?? '-∞'}~${p.max ?? '+∞'}${n?.unit ?? ''}`) : ''
234
262
  return `${n?.name ?? p.nodeId}=${p.value}${n?.unit ?? ''}${win}`
235
263
  })
236
264
  .join(';')
237
- lines.push(`- 配方工艺参数: ${params}`)
265
+ lines.push(tr(locale, `- 配方工艺参数: ${params}`, `- Recipe process parameters: ${params}`))
238
266
  const wins = (recipe.daqWindows ?? [])
239
267
  .map((w) => {
240
268
  const n = getDaqNodeRepo().byId(w.nodeId)
241
269
  return `${n?.name ?? w.nodeId} ∈ [${w.min ?? '-∞'}, ${w.max ?? '+∞'}]${n?.unit ?? ''}`
242
270
  })
243
271
  .join(';')
244
- if (wins) lines.push(`- 数采监控窗口(越限即报警): ${wins}`)
272
+ if (wins) lines.push(tr(locale, `- 数采监控窗口(越限即报警): ${wins}`, `- DAQ monitoring windows (out-of-window alarms): ${wins}`))
245
273
  }
246
274
  }
247
275
  else {
248
- lines.push('- 工况:**停线**(无活动批次;写入仅受节点全局量程约束,数采暂停)')
276
+ lines.push(tr(locale, '- 工况:**停线**(无活动批次;写入仅受节点全局量程约束,数采暂停)', '- Condition: **line stopped** (no active batch; writes are bounded only by global node range, DAQ paused)'))
249
277
  }
250
278
  const twinNames = new Set<string>()
251
279
  for (const id of [...dcwIds, ...daqIds]) {
@@ -256,7 +284,7 @@ export function buildIndustrialContext(agentId: string): string {
256
284
  if (desc) twinNames.add(desc)
257
285
  }
258
286
  }
259
- if (twinNames.size > 0) lines.push(`- 关联设备孪生: ${Array.from(twinNames).join(' | ')}`)
287
+ if (twinNames.size > 0) lines.push(tr(locale, `- 关联设备孪生: ${Array.from(twinNames).join(' | ')}`, `- Associated device twins: ${Array.from(twinNames).join(' | ')}`))
260
288
  // 当前报警透出(只报本 Agent 绑定的数采节点):越限即报警是工况里最需要
261
289
  // Agent 优先感知的事实 —— 不注入的话,Agent 只能靠 daq_query 事后发现
262
290
  // 类型谓词(不收窄就无法在下游安全读 n.name/n.value/n.unit):
@@ -265,7 +293,7 @@ export function buildIndustrialContext(agentId: string): string {
265
293
  .map(id => getDaqNodeRepo().byId(id))
266
294
  .filter((n): n is DaqNode => !!n && n.lineId === lineId && n.state === 'alarm')
267
295
  if (alarms.length > 0) {
268
- lines.push(`- **当前报警**: ${alarms.map(n => `${n.name} 实时 ${n.value ?? '?'}${n.unit} 处于报警态(越量程或越配方监控窗口)`)},应优先判读(设定-响应滞后 vs 真实异常)并处置`)
296
+ lines.push(tr(locale, `- **当前报警**: ${alarms.map(n => `${n.name} 实时 ${n.value ?? '?'}${n.unit} 处于报警态(越量程或越配方监控窗口)`)},应优先判读(设定-响应滞后 vs 真实异常)并处置`, `- **Active alarms**: ${alarms.map(n => `${n.name} live ${n.value ?? '?'}${n.unit} is in alarm (out of range or out of recipe window)`)}, prioritize diagnosis (setpoint-response lag vs real fault) and act`))
269
297
  }
270
298
  // MES REST 点位段:本产线 mes-rest 节点 ≤30 条全量简列(>30 给前 30 + 检索指引);
271
299
  // 只列语义面(名称/单位/量程/能力/desc),取数走 mes_fetch(原文不进 prompt)
@@ -275,21 +303,17 @@ export function buildIndustrialContext(agentId: string): string {
275
303
  .map(mesCatalogEntryOf)
276
304
  if (mesEntries.length > 0) {
277
305
  const MES_BRIEF_MAX = 30
278
- const capOf = (e: { readable: boolean, writable: boolean, historyable: boolean, format: string, hooked: boolean }): string => {
279
- const hist = e.historyable ? (e.format !== 'scalar' ? '史·' + e.format : '史') : null
280
- return [e.readable ? '读' : null, e.writable ? '写' : null, hist, e.hooked ? '钩' : null].filter(Boolean).join('/') || '-'
281
- }
282
306
  const shown = mesEntries.slice(0, MES_BRIEF_MAX)
283
- .map(e => ` ${e.name}|${e.unit || '-'}|${e.min}~${e.max}|${capOf(e)}|${e.desc.slice(0, 40)}`)
307
+ .map(e => ` ${e.name}|${e.unit || '-'}|${e.min}~${e.max}|${mesCapabilityLabel(e, locale)}|${e.desc.slice(0, 40)}`)
284
308
  const rest = mesEntries.length - shown.length
285
- lines.push(`- MES REST 点位(${mesEntries.length} 条,名称|单位|量程|读写与格式能力(史·vector=检测向量,史·image=图像帧,钩=取数后自动下沉处理)|描述):\n${shown.join('\n')}${rest > 0 ? `\n (其余 ${rest} 条未列出,用 mes_catalog 检索)` : ''}`)
309
+ lines.push(tr(locale, `- MES REST 点位(${mesEntries.length} 条,名称|单位|量程|读写与格式能力(史·vector=检测向量,史·image=图像帧,钩=取数后自动下沉处理)|描述):\n${shown.join('\n')}${rest > 0 ? `\n (其余 ${rest} 条未列出,用 mes_catalog 检索)` : ''}`, `- MES REST points (${mesEntries.length}; name|unit|range|capabilities (H·vector=inspection vector, H·image=image frame, HK=post-fetch sink)|description):\n${shown.join('\n')}${rest > 0 ? `\n (${rest} more not listed; use mes_catalog to search)` : ''}`))
286
310
  }
287
311
  }
288
312
  catch { /* MES 面未就绪(单测/降级)不阻断简报 */ }
289
313
  sections.push(lines.join('\n'))
290
314
  }
291
315
  if (sections.length === 0) return ''
292
- return `## 产线工况简报(实时;每次回合自动注入)\n${sections.join('\n\n')}`
316
+ return tr(locale, `## 产线工况简报(实时;每次回合自动注入)\n${sections.join('\n\n')}`, `## Line condition brief (live; injected every turn)\n${sections.join('\n\n')}`)
293
317
  }
294
318
 
295
319
  /**
@@ -299,55 +323,108 @@ export function buildIndustrialContext(agentId: string): string {
299
323
  * 七步闭环(v2.1):观察 → 理解 → 假设 → 设定 → 判定 → 回退/保持 → 复盘;
300
324
  * 每次下发自动开优化记录、判定入册、回退可审计 —— 闭环由系统记账,Agent 负责判断质量。
301
325
  */
302
- export function industrialLoopGuide(agentId: string): string {
326
+ export function industrialLoopGuide(agentId: string, localeInput?: PromptLocale): string {
327
+ const locale = localeInput ?? promptLocaleOf(agentId)
303
328
  const bindings = getAgentNodeBindingRepo().byAgent(agentId)
304
329
  if (bindings.length === 0) return ''
305
330
  // 权限模型 v2:写面收敛到 recipe(节点直写工具已摘除);hasDcw 仅剩存量兼容绑定
306
331
  const hasRecipe = bindings.some(b => b.kind === 'recipe')
307
332
  const hasManualRecipe = bindings.some(b => b.kind === 'recipe' && b.mode === 'manual')
308
333
  const steps: string[] = [
309
- '1. 观察:daq_query / mes_fetch 获取绑定产线的真实时序数据(数采/检测/MES 多源;支持按产品/配方/时间窗过滤),结合返回的工况判读理解当前状态。',
310
- '2. 理解:my_industrial_nodes 与 line_context 读取语义卡 —— 物理量含义/单位/安全量程/活动配方工艺窗口/单次调幅步进,以及调控闭环状态(进行中的优化记录/上次良好值/最近判定)。',
334
+ tr(locale, '1. 观察:daq_query / mes_fetch 获取绑定产线的真实时序数据(数采/检测/MES 多源;支持按产品/配方/时间窗过滤),结合返回的工况判读理解当前状态。', '1. Observe: use daq_query / mes_fetch to obtain real time-series from the bound line (DAQ/inspection/MES; filterable by product/recipe/time window), and read the returned condition summary to understand the current state.'),
335
+ tr(locale, '2. 理解:my_industrial_nodes 与 line_context 读取语义卡 —— 物理量含义/单位/安全量程/活动配方工艺窗口/单次调幅步进,以及调控闭环状态(进行中的优化记录/上次良好值/最近判定)。', '2. Understand: read semantic cards via my_industrial_nodes and line_context — physical meaning/unit/safe range/active recipe window/per-step cap, plus loop state (open optimization record/last good value/latest verdict).'),
311
336
  ]
312
337
  if (hasRecipe) {
313
338
  steps.push(
314
- '3. 假设:调参前先声明假设与理由 —— 目标值 + 预期效果 + 判断依据(数采/MES 证据);目标必须落在「安全量程 ∩ 活动配方工艺窗口」内,优先小步幅(≤量程 2%)、单向逼近。理由必填且会被人类在审批卡上看到。',
315
- '4. 设定:对绑定的配方操作 —— recipe_trial(候选整批试验,不写版本)或 recipe_update(写入新版本)+ recipe_apply(整批下发);治理联锁(量程∩参数∩产品∩配方 + 步长 + 限速)在配方面照常生效,底层数控节点(PLC/MES)由配置层承接,无需关心差异。运行中的批次一次只改本配方绑定的参数;等待工艺响应,勿连续大幅调整。',
316
- '5. 判定:daq_query / mes_fetch 复测窗口数据后落判定 —— keep(达标/有进步:无动作或 recipe_update 固化候选值)/ rollback(劣化)/ uncertain(证据不足,继续观察)。判定必须引用具体数值与时间窗证据。注意:判定直接以复测数据对照你的假设陈述,不要调用 dcw_judge —— 那是旧直写时代的优化记录面(opt-* 记录),配方面链路(批次 rr-*)不产生该记录,调用必报「不存在」。',
317
- '6. 回退/保持:判 rollback 后用 recipe_rollback(dispatch=true, reason=…) 统一回退(定义回退+参数整批恢复),回退后复测确认;回退冷却期内禁止同向重写。增益趋零/杠杆失效时,如实汇报实测增益并上报请求决策(换杠杆/调目标/接受当前点),而非盲目加码。',
318
- '7. 复盘:recipe_versions / dcw_journal 查看变更史与写历史;达标候选值用 recipe_update 固化为新版本(带 reason),rollback 的结论写进共享记忆修正下次假设 —— 禁止重复已失败的调参方向。',
339
+ tr(locale, '3. 假设:调参前先声明假设与理由 —— 目标值 + 预期效果 + 判断依据(数采/MES 证据);目标必须落在「安全量程 ∩ 活动配方工艺窗口」内,优先小步幅(≤量程 2%)、单向逼近。理由必填且会被人类在审批卡上看到。', '3. Hypothesize: before tuning, state the hypothesis and rationale — target + expected effect + evidence (DAQ/MES); the target must lie inside "safe range ∩ active recipe window", prefer small monotonic steps (<=2% of range). The rationale is required and shown to the human on the approval card.'),
340
+ tr(locale, '4. 设定:对绑定的配方操作 —— recipe_trial(候选整批试验,不写版本)或 recipe_update(写入新版本)+ recipe_apply(整批下发);治理联锁(量程∩参数∩产品∩配方 + 步长 + 限速)在配方面照常生效,底层数控节点(PLC/MES)由配置层承接,无需关心差异。运行中的批次一次只改本配方绑定的参数;等待工艺响应,勿连续大幅调整。', '4. Set: operate on the bound recipe — recipe_trial (candidate batch without version) or recipe_update (new version) + recipe_apply (dispatch batch); governance interlocks (range ∩ parameter ∩ product ∩ recipe + step + rate) still apply on the recipe face, and PLC/MES differences are absorbed by config. Change only parameters bound to this recipe at a time, and wait for the process response before further large adjustments.'),
341
+ tr(locale, '5. 判定:daq_query / mes_fetch 复测窗口数据后落判定 —— keep(达标/有进步:无动作或 recipe_update 固化候选值)/ rollback(劣化)/ uncertain(证据不足,继续观察)。判定必须引用具体数值与时间窗证据。注意:判定直接以复测数据对照你的假设陈述,不要调用 dcw_judge —— 那是旧直写时代的优化记录面(opt-* 记录),配方面链路(批次 rr-*)不产生该记录,调用必报「不存在」。', '5. Decide: re-measure with daq_query / mes_fetch, then record keep (target met/improved: no action or recipe_update to persist the candidate) / rollback (degraded) / uncertain (insufficient evidence; keep observing). Cite concrete numbers and time windows. Do NOT call dcw_judge — that is the legacy direct-write optimization ledger (opt-* records); the recipe path (rr-* batches) does not create those records and the call will always report "not found".'),
342
+ tr(locale, '6. 回退/保持:判 rollback 后用 recipe_rollback(dispatch=true, reason=…) 统一回退(定义回退+参数整批恢复),回退后复测确认;回退冷却期内禁止同向重写。增益趋零/杠杆失效时,如实汇报实测增益并上报请求决策(换杠杆/调目标/接受当前点),而非盲目加码。', '6. Roll back / hold: after rollback, use recipe_rollback(dispatch=true, reason=…) to restore the definition and parameters together, then re-measure; same-direction rewrites are forbidden during the cooldown. If gain approaches zero or the lever fails, report measured gain and escalate for a decision (change lever/target/accept current point) instead of blindly pushing harder.'),
343
+ tr(locale, '7. 复盘:recipe_versions / dcw_journal 查看变更史与写历史;达标候选值用 recipe_update 固化为新版本(带 reason),rollback 的结论写进共享记忆修正下次假设 —— 禁止重复已失败的调参方向。', '7. Review: inspect change/write history via recipe_versions / dcw_journal; persist a good candidate with recipe_update (with reason), and write rollback conclusions into shared memory to correct the next hypothesis — never repeat a failed direction.'),
319
344
  )
320
345
  }
321
346
  else {
322
- steps.push('3. 判读:你是量测侧 —— 数据越过配方监控窗口会触发节点报警与孪生告警;判读时区分「同线数控设定-响应滞后」与「真实过程异常」,结论引用具体数值与时间窗。')
347
+ steps.push(tr(locale, '3. 判读:你是量测侧 —— 数据越过配方监控窗口会触发节点报警与孪生告警;判读时区分「同线数控设定-响应滞后」与「真实过程异常」,结论引用具体数值与时间窗。', '3. Interpret: you are on the measurement side — data leaving the recipe window triggers node and twin alarms; distinguish "same-line setpoint/response lag" from a real process fault, citing concrete numbers and time windows.'))
323
348
  }
324
349
  if (hasManualRecipe) {
325
- steps.push('8. 权限边界:你绑定的配方为 manual 模式 —— 每次参数写入/下发/试验/回退前必须给出理由并等待人类批准(批准附言会随结果返回,请响应其关切;审批 30 分钟窗内无人裁决=默认拒绝);经显式确认切到 auto 的配方免批,但同样受联锁与运行门约束(配方未在执行时一律不可操作)。')
350
+ steps.push(tr(locale, '8. 权限边界:你绑定的配方为 manual 模式 —— 每次参数写入/下发/试验/回退前必须给出理由并等待人类批准(批准附言会随结果返回,请响应其关切;审批 30 分钟窗内无人裁决=默认拒绝);经显式确认切到 auto 的配方免批,但同样受联锁与运行门约束(配方未在执行时一律不可操作)。', '8. Permission boundary: your recipe is in manual mode — every parameter write/dispatch/trial/rollback requires a rationale and human approval (the approval comment is returned with the result; address it; no decision within 30 minutes = default deny). Recipes explicitly switched to auto skip approval but still obey interlocks and the run gate (no operation while the recipe is not executing).'))
326
351
  }
327
- steps.push(`${steps.length + 1}. 数值口径:工具返回的采集/设定值均为经标定钩子处理后的真实物理量纲;引用数值时带上单位与时间,便于人工复核。`)
328
- const history = recentOptimizationNotes(agentId)
329
- return `## 工业调控作业环(你的节点操作方法论,每回合生效)\n${steps.join('\n')}${history}`
352
+ steps.push(tr(locale, `${steps.length + 1}. 数值口径:工具返回的采集/设定值均为经标定钩子处理后的真实物理量纲;引用数值时带上单位与时间,便于人工复核。`, `${steps.length + 1}. Units: all sampled/setpoint values returned by tools are real engineering units after calibration hooks; cite units and timestamps so a human can verify.`))
353
+ const history = recentOptimizationNotes(agentId, locale)
354
+ return tr(locale, `## 工业调控作业环(你的节点操作方法论,每回合生效)\n${steps.join('\n')}${history}`, `## Industrial control loop (your node operating method, active every turn)\n${steps.join('\n')}${history}`)
330
355
  }
331
356
 
332
357
  /** 经验注入:该 Agent 绑定数控节点的最近优化记录结论(keep/rollback 统计),跨任务积累 */
333
- function recentOptimizationNotes(agentId: string): string {
358
+ function recentOptimizationNotes(agentId: string, locale: PromptLocale = 'zh'): string {
334
359
  try {
335
360
  const rb = getRecipeRollBackManager()
336
- const dcwIds = getAgentNodeBindingRepo().byAgent(agentId).filter(b => b.kind === 'dcw').map(b => b.nodeId)
337
- if (dcwIds.length === 0) return ''
338
- const lines: string[] = []
339
- for (const nodeId of dcwIds.slice(0, 3)) {
340
- const records = rb.records({ nodeId, limit: 20 })
341
- if (records.length === 0) continue
342
- const keep = records.filter(r => r.judge?.verdict === 'keep').length
343
- const roll = records.filter(r => r.judge?.verdict === 'rollback' || r.status === 'rolled-back').length
344
- const last = records.find(r => r.judge)
345
- lines.push(`- ${records[0]!.nodeName}:近 ${records.length} 次调控(keep ${keep}/rollback ${roll})${last?.judge ? `,最近判定 ${last.judge.verdict}(${last.judge.reason.slice(0, 60)})` : ''}`)
346
- }
361
+ const bindings = getAgentNodeBindingRepo().byAgent(agentId)
362
+ const dcwNodes = bindings.filter(b => b.kind === 'dcw').map(b => b.nodeId)
363
+ const recipes = bindings.filter(b => b.kind === 'recipe').map((b) => {
364
+ const r = getDcwController().listRecipes().find(x => x.id === b.nodeId)
365
+ return { recipeId: b.nodeId, name: r?.name ?? b.nodeId, paramNodeIds: (r?.params ?? []).map(p => p.nodeId) }
366
+ })
367
+ if (dcwNodes.length === 0 && recipes.length === 0) return ''
368
+ const lines = optimizationNoteLines({
369
+ dcwNodes,
370
+ recipes,
371
+ recordsOf: filter => rb.records({ ...filter, limit: 20 }),
372
+ }, locale)
347
373
  if (lines.length === 0) return ''
348
- return `\n\n## 优化经验台账(你绑定节点的近期调控结论;避免重复已失败方向)\n${lines.join('\n')}`
374
+ return tr(locale, `\n\n## 优化经验台账(你绑定节点的近期调控结论;避免重复已失败方向)\n${lines.join('\n')}`, `\n\n## Optimization experience ledger (recent verdicts for your bound nodes; avoid repeating failed directions)\n${lines.join('\n')}`)
349
375
  }
350
376
  catch {
351
377
  return ''
352
378
  }
353
379
  }
380
+
381
+ export interface OptimizationNoteSource {
382
+ /** 直接绑定的数控节点 id(旧链路 dcw-*) */
383
+ dcwNodes: string[]
384
+ /** 配方绑定(recipe 链路 rr-*;OptimizationRecord.recipeId 匹配;无匹配退参数节点维度) */
385
+ recipes: Array<{ recipeId: string, name: string, paramNodeIds?: string[] }>
386
+ recordsOf: (filter: { nodeId?: string, recipeId?: string }) => Array<{
387
+ nodeName: string
388
+ status: string
389
+ judge?: { verdict: string, reason: string } | null
390
+ }>
391
+ }
392
+
393
+ /**
394
+ * 纯装配(便于单测):dcw 节点按 nodeId、配方按 recipeId 聚合近期判定。
395
+ * 配方无记录时如实提示一行 —— 避免模型把「空」误判成查询失败而反复重试。
396
+ */
397
+ export function optimizationNoteLines(src: OptimizationNoteSource, locale: PromptLocale = 'zh'): string[] {
398
+ const lines: string[] = []
399
+ for (const nodeId of src.dcwNodes.slice(0, 3)) {
400
+ const records = src.recordsOf({ nodeId })
401
+ if (records.length === 0) continue
402
+ const keep = records.filter(r => r.judge?.verdict === 'keep').length
403
+ const roll = records.filter(r => r.judge?.verdict === 'rollback' || r.status === 'rolled-back').length
404
+ const last = records.find(r => r.judge)
405
+ lines.push(tr(locale, `- ${records[0]!.nodeName}:近 ${records.length} 次调控(keep ${keep}/rollback ${roll})${last?.judge ? `,最近判定 ${last.judge.verdict}(${last.judge.reason.slice(0, 60)})` : ''}`, `- ${records[0]!.nodeName}: last ${records.length} tunings (keep ${keep}/rollback ${roll})${last?.judge ? `, latest verdict ${last.judge.verdict}(${last.judge.reason.slice(0, 60)})` : ''}`))
406
+ }
407
+ for (const { recipeId, name, paramNodeIds } of src.recipes.slice(0, 3)) {
408
+ let records = src.recordsOf({ recipeId })
409
+ // 无 recipeId 匹配 → 退参数节点维度(旧 dcw 链路记录仍可复用)
410
+ if (records.length === 0 && paramNodeIds?.length) {
411
+ const byNode = paramNodeIds.flatMap(nodeId => src.recordsOf({ nodeId }))
412
+ const seen = new Set<string>()
413
+ records = byNode.filter((r) => {
414
+ const key = `${r.nodeName}|${r.status}|${r.judge?.reason ?? ''}`
415
+ if (seen.has(key)) return false
416
+ seen.add(key)
417
+ return true
418
+ }).slice(0, 20)
419
+ }
420
+ if (records.length === 0) {
421
+ lines.push(tr(locale, `- ${name}:暂无历史调控记录(该配方尚无可复用的调参结论)`, `- ${name}: no tuning history yet (no reusable conclusion for this recipe)`))
422
+ continue
423
+ }
424
+ const keep = records.filter(r => r.judge?.verdict === 'keep').length
425
+ const roll = records.filter(r => r.judge?.verdict === 'rollback' || r.status === 'rolled-back').length
426
+ const last = records.find(r => r.judge)
427
+ lines.push(tr(locale, `- ${name}(配方):近 ${records.length} 次调控(keep ${keep}/rollback ${roll})${last?.judge ? `,最近判定 ${last.judge.verdict}(${last.judge.reason.slice(0, 60)})` : ''}`, `- ${name}(recipe): last ${records.length} tunings (keep ${keep}/rollback ${roll})${last?.judge ? `, latest verdict ${last.judge.verdict}(${last.judge.reason.slice(0, 60)})` : ''}`))
428
+ }
429
+ return lines
430
+ }