agentworkshop 0.8.3 → 0.8.5

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 (2251) hide show
  1. package/.AgentWorkShop/prompts/host-tools.en.json +174 -0
  2. package/.AgentWorkShop/prompts/host-tools.json +6 -2
  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 +6 -2
  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/-gy9k_TE2.js +1 -0
  14. package/.output/public/_nuxt/26OL4Ao82.js +1 -0
  15. package/.output/public/_nuxt/6P4ZAzxa2.js +1 -0
  16. package/.output/public/_nuxt/7OZQiw002.js +1 -0
  17. package/.output/public/_nuxt/8b9CKi6F.js +1 -0
  18. package/.output/public/_nuxt/AQuNRC4D.js +36 -0
  19. package/.output/public/_nuxt/Aoz9xMB92.js +1 -0
  20. package/.output/public/_nuxt/B0UUODeh.js +1 -0
  21. package/.output/public/_nuxt/B4GOTVfN.js +1 -0
  22. package/.output/public/_nuxt/BBhroEeN.js +1 -0
  23. package/.output/public/_nuxt/BHxG41IQ2.js +1 -0
  24. package/.output/public/_nuxt/BPUQZ9Lq2.js +8 -0
  25. package/.output/public/_nuxt/BSxcHoiy.js +1 -0
  26. package/.output/public/_nuxt/BVg2R2VB2.js +1 -0
  27. package/.output/public/_nuxt/BY2u4LPg.js +1 -0
  28. package/.output/public/_nuxt/BZg_MIK42.js +1 -0
  29. package/.output/public/_nuxt/BaYDgyaR.js +3 -0
  30. package/.output/public/_nuxt/BfvuWqSa.js +1 -0
  31. package/.output/public/_nuxt/BkEokGX5.js +1 -0
  32. package/.output/public/_nuxt/BkO5WdX5.js +1 -0
  33. package/.output/public/_nuxt/BqBTlfiz.js +1 -0
  34. package/.output/public/_nuxt/Br_q4qi72.js +1 -0
  35. package/.output/public/_nuxt/BtZKe9ZV2.js +1 -0
  36. package/.output/public/_nuxt/BwOko01T.js +47 -0
  37. package/.output/public/_nuxt/BzBBEE-o2.js +1 -0
  38. package/.output/public/_nuxt/C0Db9tR_2.js +1 -0
  39. package/.output/public/_nuxt/C3vxePED.js +21 -0
  40. package/.output/public/_nuxt/C4tXwpSt.js +1 -0
  41. package/.output/public/_nuxt/CBkXv24C2.js +1 -0
  42. package/.output/public/_nuxt/CCI-fwcS2.js +1 -0
  43. package/.output/public/_nuxt/CGf9neEK2.js +1 -0
  44. package/.output/public/_nuxt/CGviZq4E.js +1 -0
  45. package/.output/public/_nuxt/CNRjkgAZ2.js +1 -0
  46. package/.output/public/_nuxt/CNrRZmSx2.js +1 -0
  47. package/.output/public/_nuxt/CQ31GiJU2.js +1 -0
  48. package/.output/public/_nuxt/CY_7u1ST2.js +2 -0
  49. package/.output/public/_nuxt/CZJ5cw6r2.js +1 -0
  50. package/.output/public/_nuxt/ChF6qLpY2.js +1 -0
  51. package/.output/public/_nuxt/CjdxNYpU2.js +1 -0
  52. package/.output/public/_nuxt/CmuGMxDP.js +1 -0
  53. package/.output/public/_nuxt/Co8Dcx132.js +1 -0
  54. package/.output/public/_nuxt/Cr2xJ_CY.js +1 -0
  55. package/.output/public/_nuxt/Cy_HDgSl.js +20 -0
  56. package/.output/public/_nuxt/D1thFC3z.js +1 -0
  57. package/.output/public/_nuxt/D8AvmPUH.js +1 -0
  58. package/.output/public/_nuxt/D9GoOkyP2.js +1 -0
  59. package/.output/public/_nuxt/D9ppMCbw.js +1 -0
  60. package/.output/public/_nuxt/DGmFHb7m.js +1 -0
  61. package/.output/public/_nuxt/DH_oqyfL.js +1 -0
  62. package/.output/public/_nuxt/DJaGVY4v2.js +1 -0
  63. package/.output/public/_nuxt/DOUuGOQR2.js +2 -0
  64. package/.output/public/_nuxt/DYQBIsiV2.js +1 -0
  65. package/.output/public/_nuxt/DZqVVvR0.js +1 -0
  66. package/.output/public/_nuxt/DZzbCFY2.js +1 -0
  67. package/.output/public/_nuxt/DmReUFK1.js +1 -0
  68. package/.output/public/_nuxt/DnuJ66Jy.js +1 -0
  69. package/.output/public/_nuxt/DuUc4bbY2.js +1 -0
  70. package/.output/public/_nuxt/EJkmXP432.js +1 -0
  71. package/.output/public/_nuxt/OmpTerminalPanel.ComMDrA8.css +1 -0
  72. package/.output/public/_nuxt/PbzVdCTA2.js +1 -0
  73. package/.output/public/_nuxt/PluginSlot.CGH0vb95.css +1 -0
  74. package/.output/public/_nuxt/SgsmmrsZ.js +1 -0
  75. package/.output/public/_nuxt/TownView.CC3t-Dte.css +1 -0
  76. package/.output/public/_nuxt/U_n8pryv2.js +1 -0
  77. package/.output/public/_nuxt/Ud9o8ItR2.js +1 -0
  78. package/.output/public/_nuxt/W0sNnJQh.js +1 -0
  79. package/.output/public/_nuxt/_id_.BQRWK7J2.css +1 -0
  80. package/.output/public/_nuxt/_wsId_.CQMH8t8j.css +1 -0
  81. package/.output/public/_nuxt/ae2-5ZPt.js +1 -0
  82. package/.output/public/_nuxt/agents.D-JPovTZ.css +1 -0
  83. package/.output/public/_nuxt/aml.PalMp-5n.css +1 -0
  84. package/.output/public/_nuxt/board.BxLE52BL.css +1 -0
  85. package/.output/public/_nuxt/builds/latest.json +1 -1
  86. package/.output/public/_nuxt/builds/meta/5cd11284-05bf-4fcd-9a69-56a01c9f56dd.json +1 -0
  87. package/.output/public/_nuxt/byZYInPk2.js +1 -0
  88. package/.output/public/_nuxt/dHwWyr6b.js +1 -0
  89. package/.output/public/_nuxt/default.BEXGWZFQ.css +1 -0
  90. package/.output/public/_nuxt/entry.D6nBdXet.css +1 -0
  91. package/.output/public/_nuxt/fIV9zbnA.js +1 -0
  92. package/.output/public/_nuxt/gUYi1hLJ2.js +16 -0
  93. package/.output/public/_nuxt/iqxZGXsY.js +1 -0
  94. package/.output/public/_nuxt/logs.BkJPbR_K.css +1 -0
  95. package/.output/public/_nuxt/m6G-kfdj.js +1 -0
  96. package/.output/public/_nuxt/monitor.D3yEqqrv.css +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/_nuxt/zWZ26UWi.js +1 -0
  112. package/.output/public/favicon.svg +14 -14
  113. package/.output/public/robots.txt +3 -3
  114. package/.output/server/chunks/_/LeftOutlined.mjs.map +1 -1
  115. package/.output/server/chunks/_/RightOutlined.mjs.map +1 -1
  116. package/.output/server/chunks/_/SearchOutlined.mjs +1261 -1230
  117. package/.output/server/chunks/_/SearchOutlined.mjs.map +1 -1
  118. package/.output/server/chunks/_/access.mjs +15 -27
  119. package/.output/server/chunks/_/access.mjs.map +1 -1
  120. package/.output/server/chunks/_/catalog-view.mjs +1 -1
  121. package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
  122. package/.output/server/chunks/_/chart-repo.mjs +15 -2
  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-db.mjs +12 -0
  129. package/.output/server/chunks/_/eda-db.mjs.map +1 -1
  130. package/.output/server/chunks/_/eda-run.repo.mjs +3 -3
  131. package/.output/server/chunks/_/error-500.mjs.map +1 -1
  132. package/.output/server/chunks/_/features.mjs +6 -6
  133. package/.output/server/chunks/_/golden.mjs +3 -3
  134. package/.output/server/chunks/_/host-bindings.mjs +2 -2
  135. package/.output/server/chunks/_/index.mjs +2 -2
  136. package/.output/server/chunks/_/mes-console.mjs +1 -1
  137. package/.output/server/chunks/_/mes-secrets.repo.mjs +107 -0
  138. package/.output/server/chunks/_/mes-secrets.repo.mjs.map +1 -0
  139. package/.output/server/chunks/_/nitro.mjs +5404 -3844
  140. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  141. package/.output/server/chunks/_/ocap.mjs +1 -1
  142. package/.output/server/chunks/_/rest-auth.mjs +1 -1
  143. package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
  144. package/.output/server/chunks/_/spc.mjs +2 -2
  145. package/.output/server/chunks/_/template-repo.mjs +97 -0
  146. package/.output/server/chunks/_/template-repo.mjs.map +1 -0
  147. package/.output/server/chunks/build/AuthGate-nF1evO4v.mjs +716 -0
  148. package/.output/server/chunks/build/AuthGate-nF1evO4v.mjs.map +1 -0
  149. package/.output/server/chunks/build/FormItemContext-BlyzocS0.mjs +72 -0
  150. package/.output/server/chunks/build/FormItemContext-BlyzocS0.mjs.map +1 -0
  151. package/.output/server/chunks/build/OmpTerminalPanel-BhvhQ1gG.mjs +942 -0
  152. package/.output/server/chunks/build/OmpTerminalPanel-BhvhQ1gG.mjs.map +1 -0
  153. package/.output/server/chunks/build/PluginSlot-BUKXwV2X.mjs +141 -0
  154. package/.output/server/chunks/build/PluginSlot-BUKXwV2X.mjs.map +1 -0
  155. package/.output/server/chunks/build/TownView-BWMDbosY.mjs +6489 -0
  156. package/.output/server/chunks/build/TownView-BWMDbosY.mjs.map +1 -0
  157. package/.output/server/chunks/build/_id_-BK-t8nRG.mjs +392 -0
  158. package/.output/server/chunks/build/_id_-BK-t8nRG.mjs.map +1 -0
  159. package/.output/server/chunks/build/_id_-CZPlPDm4.mjs +2045 -0
  160. package/.output/server/chunks/build/_id_-CZPlPDm4.mjs.map +1 -0
  161. package/.output/server/chunks/build/_wsId_-C871SDPN.mjs +14589 -0
  162. package/.output/server/chunks/build/_wsId_-C871SDPN.mjs.map +1 -0
  163. package/.output/server/chunks/build/agents-D7CdEUTv.mjs +1078 -0
  164. package/.output/server/chunks/build/agents-D7CdEUTv.mjs.map +1 -0
  165. package/.output/server/chunks/build/alert-D0ivtTGy.mjs +263 -0
  166. package/.output/server/chunks/build/alert-D0ivtTGy.mjs.map +1 -0
  167. package/.output/server/chunks/build/aml-DRAFRcGU.mjs +814 -0
  168. package/.output/server/chunks/build/aml-DRAFRcGU.mjs.map +1 -0
  169. package/.output/server/chunks/build/analysis-p-dBkjoK.mjs +533 -0
  170. package/.output/server/chunks/build/analysis-p-dBkjoK.mjs.map +1 -0
  171. package/.output/server/chunks/build/api-B4Om0mEc.mjs +53 -0
  172. package/.output/server/chunks/build/api-B4Om0mEc.mjs.map +1 -0
  173. package/.output/server/chunks/build/api-BEW_ebY_.mjs +64 -0
  174. package/.output/server/chunks/build/api-BEW_ebY_.mjs.map +1 -0
  175. package/.output/server/chunks/build/api-BsAgXWxi.mjs +72 -0
  176. package/.output/server/chunks/build/api-BsAgXWxi.mjs.map +1 -0
  177. package/.output/server/chunks/build/api-error-BwAQLw44.mjs +47 -0
  178. package/.output/server/chunks/build/api-error-BwAQLw44.mjs.map +1 -0
  179. package/.output/server/chunks/build/apiClient-BvXtNzC8.mjs +81 -0
  180. package/.output/server/chunks/build/apiClient-BvXtNzC8.mjs.map +1 -0
  181. package/.output/server/chunks/build/board-CJUc032b.mjs +189 -0
  182. package/.output/server/chunks/build/board-CJUc032b.mjs.map +1 -0
  183. package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs +94 -81
  184. package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs.map +1 -1
  185. package/.output/server/chunks/build/card-Cqk0Ur-L.mjs +953 -0
  186. package/.output/server/chunks/build/card-Cqk0Ur-L.mjs.map +1 -0
  187. package/.output/server/chunks/build/channel-templates-ggsBacZF.mjs +942 -0
  188. package/.output/server/chunks/build/channel-templates-ggsBacZF.mjs.map +1 -0
  189. package/.output/server/chunks/build/chart-pipeline-BpoWYMK_.mjs +233 -0
  190. package/.output/server/chunks/build/chart-pipeline-BpoWYMK_.mjs.map +1 -0
  191. package/.output/server/chunks/build/chart-trend-BWeZh5Lv.mjs +112 -113
  192. package/.output/server/chunks/build/chart-trend-BWeZh5Lv.mjs.map +1 -1
  193. package/.output/server/chunks/build/checkbox-CrT4cnfu.mjs +439 -0
  194. package/.output/server/chunks/build/checkbox-CrT4cnfu.mjs.map +1 -0
  195. package/.output/server/chunks/build/client-only-qNA2OVV_.mjs +43 -0
  196. package/.output/server/chunks/build/client-only-qNA2OVV_.mjs.map +1 -0
  197. package/.output/server/chunks/build/constants-HPHJvjne.mjs +76 -66
  198. package/.output/server/chunks/build/constants-HPHJvjne.mjs.map +1 -1
  199. package/.output/server/chunks/build/core-CgTOPS4t.mjs +294 -0
  200. package/.output/server/chunks/build/core-CgTOPS4t.mjs.map +1 -0
  201. package/.output/server/chunks/build/daq-CdxcfY_G.mjs +1266 -0
  202. package/.output/server/chunks/build/daq-CdxcfY_G.mjs.map +1 -0
  203. package/.output/server/chunks/build/data-D8uX1dnm.mjs +481 -0
  204. package/.output/server/chunks/build/data-D8uX1dnm.mjs.map +1 -0
  205. package/.output/server/chunks/build/dcw-BlDQtS4q.mjs +505 -0
  206. package/.output/server/chunks/build/dcw-BlDQtS4q.mjs.map +1 -0
  207. package/.output/server/chunks/build/dcw-driver-badge-Df5wL_ZA.mjs +15 -3
  208. package/.output/server/chunks/build/dcw-driver-badge-Df5wL_ZA.mjs.map +1 -1
  209. package/.output/server/chunks/build/default-CNWS6NUw.mjs +2353 -0
  210. package/.output/server/chunks/build/default-CNWS6NUw.mjs.map +1 -0
  211. package/.output/server/chunks/build/descriptions-BNlfKG9y.mjs +406 -0
  212. package/.output/server/chunks/build/descriptions-BNlfKG9y.mjs.map +1 -0
  213. package/.output/server/chunks/build/drawer-Caji0PLs.mjs +834 -0
  214. package/.output/server/chunks/build/drawer-Caji0PLs.mjs.map +1 -0
  215. package/.output/server/chunks/build/dropdown-BNwTVGde.mjs +14 -0
  216. package/.output/server/chunks/build/dropdown-BNwTVGde.mjs.map +1 -0
  217. package/.output/server/chunks/build/dropdown-Cd-xPhR6.mjs +540 -0
  218. package/.output/server/chunks/build/dropdown-Cd-xPhR6.mjs.map +1 -0
  219. package/.output/server/chunks/build/es-Bxu10NJ2.mjs +43 -0
  220. package/.output/server/chunks/build/es-Bxu10NJ2.mjs.map +1 -0
  221. package/.output/server/chunks/build/firstNotUndefined-8H5_qHUu.mjs +2448 -0
  222. package/.output/server/chunks/build/firstNotUndefined-8H5_qHUu.mjs.map +1 -0
  223. package/.output/server/chunks/build/form-D_UpWPN4.mjs +4712 -0
  224. package/.output/server/chunks/build/form-D_UpWPN4.mjs.map +1 -0
  225. package/.output/server/chunks/build/hasIn-DBdElbjM.mjs +553 -0
  226. package/.output/server/chunks/build/hasIn-DBdElbjM.mjs.map +1 -0
  227. package/.output/server/chunks/build/hitl-Bd30yr1J.mjs +132 -0
  228. package/.output/server/chunks/build/hitl-Bd30yr1J.mjs.map +1 -0
  229. package/.output/server/chunks/build/input-GtPuSEgt.mjs +2181 -0
  230. package/.output/server/chunks/build/input-GtPuSEgt.mjs.map +1 -0
  231. package/.output/server/chunks/build/input-number-BNlNDK7H.mjs +1120 -0
  232. package/.output/server/chunks/build/input-number-BNlNDK7H.mjs.map +1 -0
  233. package/.output/server/chunks/build/interval-DvHBIIZh.mjs +9 -0
  234. package/.output/server/chunks/build/interval-DvHBIIZh.mjs.map +1 -0
  235. package/.output/server/chunks/build/isNumeric-CP7q_yhz.mjs +7 -0
  236. package/.output/server/chunks/build/isNumeric-CP7q_yhz.mjs.map +1 -0
  237. package/.output/server/chunks/build/logs-pRb-TMWa.mjs +427 -0
  238. package/.output/server/chunks/build/logs-pRb-TMWa.mjs.map +1 -0
  239. package/.output/server/chunks/build/menu-BXt-X0dt.mjs +1952 -0
  240. package/.output/server/chunks/build/menu-BXt-X0dt.mjs.map +1 -0
  241. package/.output/server/chunks/build/monitor-Cq6hRFeQ.mjs +2253 -0
  242. package/.output/server/chunks/build/monitor-Cq6hRFeQ.mjs.map +1 -0
  243. package/.output/server/chunks/build/narrow-fetch-CcG-BPxc.mjs +2 -0
  244. package/.output/server/chunks/build/narrow-fetch-CcG-BPxc.mjs.map +1 -1
  245. package/.output/server/chunks/build/ontology-ohICfVVb.mjs +1406 -0
  246. package/.output/server/chunks/build/ontology-ohICfVVb.mjs.map +1 -0
  247. package/.output/server/chunks/build/operations-SMQrRAcr.mjs +311 -0
  248. package/.output/server/chunks/build/operations-SMQrRAcr.mjs.map +1 -0
  249. package/.output/server/chunks/build/optimizer-BlWTsM-W.mjs +202 -0
  250. package/.output/server/chunks/build/optimizer-BlWTsM-W.mjs.map +1 -0
  251. package/.output/server/chunks/build/pages-DsMKUw7i.mjs +542 -0
  252. package/.output/server/chunks/build/pages-DsMKUw7i.mjs.map +1 -0
  253. package/.output/server/chunks/build/pagination-DTAconUo.mjs +1346 -0
  254. package/.output/server/chunks/build/pagination-DTAconUo.mjs.map +1 -0
  255. package/.output/server/chunks/build/permissions-DgXQZSyx.mjs +637 -0
  256. package/.output/server/chunks/build/permissions-DgXQZSyx.mjs.map +1 -0
  257. package/.output/server/chunks/build/pipeline-CkavMBhk.mjs +212 -0
  258. package/.output/server/chunks/build/pipeline-CkavMBhk.mjs.map +1 -0
  259. package/.output/server/chunks/build/plugins-LRjaSEZy.mjs +272 -0
  260. package/.output/server/chunks/build/plugins-LRjaSEZy.mjs.map +1 -0
  261. package/.output/server/chunks/build/popconfirm-DxYPGRgS.mjs +340 -0
  262. package/.output/server/chunks/build/popconfirm-DxYPGRgS.mjs.map +1 -0
  263. package/.output/server/chunks/build/responsiveObserve-DM3hpzhU.mjs +78 -0
  264. package/.output/server/chunks/build/responsiveObserve-DM3hpzhU.mjs.map +1 -0
  265. package/.output/server/chunks/build/schedules-Hz2DJUE2.mjs +7172 -0
  266. package/.output/server/chunks/build/schedules-Hz2DJUE2.mjs.map +1 -0
  267. package/.output/server/chunks/build/segmented-D3HWtHPw.mjs +341 -0
  268. package/.output/server/chunks/build/segmented-D3HWtHPw.mjs.map +1 -0
  269. package/.output/server/chunks/build/select-B3Dsb9yq.mjs +3923 -0
  270. package/.output/server/chunks/build/select-B3Dsb9yq.mjs.map +1 -0
  271. package/.output/server/chunks/build/settings-DXLJPq7d.mjs +1014 -0
  272. package/.output/server/chunks/build/settings-DXLJPq7d.mjs.map +1 -0
  273. package/.output/server/chunks/build/space-Dwu2Skt8.mjs +110 -0
  274. package/.output/server/chunks/build/space-Dwu2Skt8.mjs.map +1 -0
  275. package/.output/server/chunks/build/spin-C2cuvGth.mjs +357 -0
  276. package/.output/server/chunks/build/spin-C2cuvGth.mjs.map +1 -0
  277. package/.output/server/chunks/build/studio-hSqH9TYS.mjs +336 -0
  278. package/.output/server/chunks/build/studio-hSqH9TYS.mjs.map +1 -0
  279. package/.output/server/chunks/build/switch-CyR-H6Fb.mjs +377 -0
  280. package/.output/server/chunks/build/switch-CyR-H6Fb.mjs.map +1 -0
  281. package/.output/server/chunks/build/table-CmVD-cA9.mjs +7546 -0
  282. package/.output/server/chunks/build/table-CmVD-cA9.mjs.map +1 -0
  283. package/.output/server/chunks/build/tabs-Vg0e7cZE.mjs +1924 -0
  284. package/.output/server/chunks/build/tabs-Vg0e7cZE.mjs.map +1 -0
  285. package/.output/server/chunks/build/tag-y0sn-xv9.mjs +1156 -0
  286. package/.output/server/chunks/build/tag-y0sn-xv9.mjs.map +1 -0
  287. package/.output/server/chunks/build/teams-BbwYJyzv.mjs +1203 -0
  288. package/.output/server/chunks/build/teams-BbwYJyzv.mjs.map +1 -0
  289. package/.output/server/chunks/build/tokens-GYaGJ35Z.mjs +1062 -0
  290. package/.output/server/chunks/build/tokens-GYaGJ35Z.mjs.map +1 -0
  291. package/.output/server/chunks/build/tools-CnYi9cou.mjs +487 -0
  292. package/.output/server/chunks/build/tools-CnYi9cou.mjs.map +1 -0
  293. package/.output/server/chunks/build/tooltip-C2n2nNiQ.mjs +920 -0
  294. package/.output/server/chunks/build/tooltip-C2n2nNiQ.mjs.map +1 -0
  295. package/.output/server/chunks/build/town-B5aoiG98.mjs +133 -0
  296. package/.output/server/chunks/build/town-B5aoiG98.mjs.map +1 -0
  297. package/.output/server/chunks/build/town-BV-hbwb5.mjs +30 -17
  298. package/.output/server/chunks/build/town-BV-hbwb5.mjs.map +1 -1
  299. package/.output/server/chunks/build/types-D6J7slEa.mjs +1 -1
  300. package/.output/server/chunks/build/types-D6J7slEa.mjs.map +1 -1
  301. package/.output/server/chunks/build/types-DWqIeMRP.mjs +30 -29
  302. package/.output/server/chunks/build/types-DWqIeMRP.mjs.map +1 -1
  303. package/.output/server/chunks/build/useAgentHarnessOptions-Dq0l0Z6d.mjs +124 -0
  304. package/.output/server/chunks/build/useAgentHarnessOptions-Dq0l0Z6d.mjs.map +1 -0
  305. package/.output/server/chunks/build/useAgentTemplateActions-BFOHb5-L.mjs +77 -0
  306. package/.output/server/chunks/build/useAgentTemplateActions-BFOHb5-L.mjs.map +1 -0
  307. package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs +24 -17
  308. package/.output/server/chunks/build/useAgentTemplateDialogState-CZzpu5og.mjs.map +1 -1
  309. package/.output/server/chunks/build/useAgentTemplateForm-CuJPOPcK.mjs +117 -0
  310. package/.output/server/chunks/build/useAgentTemplateForm-CuJPOPcK.mjs.map +1 -0
  311. package/.output/server/chunks/build/useAgentTemplatesCatalog-B2bIhZLA.mjs +133 -0
  312. package/.output/server/chunks/build/useAgentTemplatesCatalog-B2bIhZLA.mjs.map +1 -0
  313. package/.output/server/chunks/build/useAmlDatasets-DeoE1idn.mjs +92 -0
  314. package/.output/server/chunks/build/useAmlDatasets-DeoE1idn.mjs.map +1 -0
  315. package/.output/server/chunks/build/useAmlEntities-BJhvdqHJ.mjs +86 -0
  316. package/.output/server/chunks/build/useAmlEntities-BJhvdqHJ.mjs.map +1 -0
  317. package/.output/server/chunks/build/useAmlEnv-CDIZ6xTe.mjs +194 -0
  318. package/.output/server/chunks/build/useAmlEnv-CDIZ6xTe.mjs.map +1 -0
  319. package/.output/server/chunks/build/useAmlExperiments-Dloi834i.mjs +89 -0
  320. package/.output/server/chunks/build/useAmlExperiments-Dloi834i.mjs.map +1 -0
  321. package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs +38 -33
  322. package/.output/server/chunks/build/useAmlFormat-C2sl3MGB.mjs.map +1 -1
  323. package/.output/server/chunks/build/useAmlJobs-BF9LpwXz.mjs +267 -0
  324. package/.output/server/chunks/build/useAmlJobs-BF9LpwXz.mjs.map +1 -0
  325. package/.output/server/chunks/build/useAmlModels-_bweOr3R.mjs +93 -0
  326. package/.output/server/chunks/build/useAmlModels-_bweOr3R.mjs.map +1 -0
  327. package/.output/server/chunks/build/useAmlNotes-DQj980iX.mjs +86 -0
  328. package/.output/server/chunks/build/useAmlNotes-DQj980iX.mjs.map +1 -0
  329. package/.output/server/chunks/build/useAmlPredict-DHNgDSJn.mjs +130 -0
  330. package/.output/server/chunks/build/useAmlPredict-DHNgDSJn.mjs.map +1 -0
  331. package/.output/server/chunks/build/useAnalysisFeed-BrEGV_9x.mjs +129 -0
  332. package/.output/server/chunks/build/useAnalysisFeed-BrEGV_9x.mjs.map +1 -0
  333. package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs +142 -0
  334. package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs.map +1 -0
  335. package/.output/server/chunks/build/useDaqDetailBinding-DCWaLKXT.mjs +70 -0
  336. package/.output/server/chunks/build/useDaqDetailBinding-DCWaLKXT.mjs.map +1 -0
  337. package/.output/server/chunks/build/useDaqDetailFrames-BOIcOJRB.mjs +79 -0
  338. package/.output/server/chunks/build/useDaqDetailFrames-BOIcOJRB.mjs.map +1 -0
  339. package/.output/server/chunks/build/useDaqDetailHistory-D6WulPVs.mjs +176 -0
  340. package/.output/server/chunks/build/useDaqDetailHistory-D6WulPVs.mjs.map +1 -0
  341. package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs +99 -0
  342. package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs.map +1 -0
  343. package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs +159 -0
  344. package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs.map +1 -0
  345. package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs +222 -0
  346. package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs.map +1 -0
  347. package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs +45 -44
  348. package/.output/server/chunks/build/useDaqNodeWindow-1DWj2H5G.mjs.map +1 -1
  349. package/.output/server/chunks/build/useDaqOptimizations-CmX_dpBc.mjs +136 -0
  350. package/.output/server/chunks/build/useDaqOptimizations-CmX_dpBc.mjs.map +1 -0
  351. package/.output/server/chunks/build/useDaqStream-B9ZBVQrI.mjs +395 -0
  352. package/.output/server/chunks/build/useDaqStream-B9ZBVQrI.mjs.map +1 -0
  353. package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs +187 -0
  354. package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs.map +1 -0
  355. package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs +311 -313
  356. package/.output/server/chunks/build/useDashboardCharts-D45083s_.mjs.map +1 -1
  357. package/.output/server/chunks/build/useDashboardData-NJ7rKxhx.mjs +153 -0
  358. package/.output/server/chunks/build/useDashboardData-NJ7rKxhx.mjs.map +1 -0
  359. package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs +219 -0
  360. package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs.map +1 -0
  361. package/.output/server/chunks/build/useDcwCards-SaiImIYQ.mjs +67 -0
  362. package/.output/server/chunks/build/useDcwCards-SaiImIYQ.mjs.map +1 -0
  363. package/.output/server/chunks/build/useDcwDetailScope-DLOklSMO.mjs +184 -0
  364. package/.output/server/chunks/build/useDcwDetailScope-DLOklSMO.mjs.map +1 -0
  365. package/.output/server/chunks/build/useDcwDetailTemplates-ClmIdZ40.mjs +148 -0
  366. package/.output/server/chunks/build/useDcwDetailTemplates-ClmIdZ40.mjs.map +1 -0
  367. package/.output/server/chunks/build/useDcwFilter-CPMyCltx.mjs +71 -0
  368. package/.output/server/chunks/build/useDcwFilter-CPMyCltx.mjs.map +1 -0
  369. package/.output/server/chunks/build/useDcwLedger-0ie-0WTc.mjs +79 -0
  370. package/.output/server/chunks/build/useDcwLedger-0ie-0WTc.mjs.map +1 -0
  371. package/.output/server/chunks/build/useDcwLineMutations-DNxo66yM.mjs +137 -0
  372. package/.output/server/chunks/build/useDcwLineMutations-DNxo66yM.mjs.map +1 -0
  373. package/.output/server/chunks/build/useDcwLineRun-CHskwscT.mjs +104 -0
  374. package/.output/server/chunks/build/useDcwLineRun-CHskwscT.mjs.map +1 -0
  375. package/.output/server/chunks/build/useDcwParamApprovals-DtScUc-W.mjs +121 -0
  376. package/.output/server/chunks/build/useDcwParamApprovals-DtScUc-W.mjs.map +1 -0
  377. package/.output/server/chunks/build/useDcwProducts-BMaxzLu6.mjs +93 -0
  378. package/.output/server/chunks/build/useDcwProducts-BMaxzLu6.mjs.map +1 -0
  379. package/.output/server/chunks/build/useDcwQuery-TVU3Eo0M.mjs +98 -0
  380. package/.output/server/chunks/build/useDcwQuery-TVU3Eo0M.mjs.map +1 -0
  381. package/.output/server/chunks/build/useDcwQuickActions-BREFmR9T.mjs +88 -0
  382. package/.output/server/chunks/build/useDcwQuickActions-BREFmR9T.mjs.map +1 -0
  383. package/.output/server/chunks/build/useDcwRecipes-Bc9urA1N.mjs +258 -0
  384. package/.output/server/chunks/build/useDcwRecipes-Bc9urA1N.mjs.map +1 -0
  385. package/.output/server/chunks/build/useDcwStream-Dir5ufAU.mjs +452 -0
  386. package/.output/server/chunks/build/useDcwStream-Dir5ufAU.mjs.map +1 -0
  387. package/.output/server/chunks/build/useDcwTemplates-BzagZztS.mjs +91 -0
  388. package/.output/server/chunks/build/useDcwTemplates-BzagZztS.mjs.map +1 -0
  389. package/.output/server/chunks/build/useDcwWrites-BROwTLCn.mjs +140 -0
  390. package/.output/server/chunks/build/useDcwWrites-BROwTLCn.mjs.map +1 -0
  391. package/.output/server/chunks/build/useDeviceTwins-BqwVJaZg.mjs +128 -0
  392. package/.output/server/chunks/build/useDeviceTwins-BqwVJaZg.mjs.map +1 -0
  393. package/.output/server/chunks/build/useExpConfirmations-BM626N4p.mjs +107 -0
  394. package/.output/server/chunks/build/useExpConfirmations-BM626N4p.mjs.map +1 -0
  395. package/.output/server/chunks/build/useLocalTime-uVSM44Um.mjs +55 -0
  396. package/.output/server/chunks/build/useLocalTime-uVSM44Um.mjs.map +1 -0
  397. package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs +34 -31
  398. package/.output/server/chunks/build/useLogsFormat-B-o4MHy7.mjs.map +1 -1
  399. package/.output/server/chunks/build/useLogsManual-cVBZQ_Mt.mjs +88 -0
  400. package/.output/server/chunks/build/useLogsManual-cVBZQ_Mt.mjs.map +1 -0
  401. package/.output/server/chunks/build/useLogsQuery-D7hrJ3yn.mjs +150 -0
  402. package/.output/server/chunks/build/useLogsQuery-D7hrJ3yn.mjs.map +1 -0
  403. package/.output/server/chunks/build/useLogsScope-aaPQeTRm.mjs +83 -0
  404. package/.output/server/chunks/build/useLogsScope-aaPQeTRm.mjs.map +1 -0
  405. package/.output/server/chunks/build/useMonitorColumns-vVnt3r5Q.mjs +167 -156
  406. package/.output/server/chunks/build/useMonitorColumns-vVnt3r5Q.mjs.map +1 -1
  407. package/.output/server/chunks/build/useMonitorData-DIkiLr_h.mjs +135 -0
  408. package/.output/server/chunks/build/useMonitorData-DIkiLr_h.mjs.map +1 -0
  409. package/.output/server/chunks/build/useMonitorFormat-CyURtH8N.mjs +91 -0
  410. package/.output/server/chunks/build/useMonitorFormat-CyURtH8N.mjs.map +1 -0
  411. package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs +28 -21
  412. package/.output/server/chunks/build/useMonitorTerminal-Dj4QwRNW.mjs.map +1 -1
  413. package/.output/server/chunks/build/useOperationsFeed-Ci4mZAn_.mjs +195 -0
  414. package/.output/server/chunks/build/useOperationsFeed-Ci4mZAn_.mjs.map +1 -0
  415. package/.output/server/chunks/build/useOpsLog-C-M6Eace.mjs +149 -0
  416. package/.output/server/chunks/build/useOpsLog-C-M6Eace.mjs.map +1 -0
  417. package/.output/server/chunks/build/useRecipeDispatchApprovals-BYtiqfeb.mjs +156 -0
  418. package/.output/server/chunks/build/useRecipeDispatchApprovals-BYtiqfeb.mjs.map +1 -0
  419. package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs +39 -23
  420. package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs.map +1 -1
  421. package/.output/server/chunks/build/useTeamActions-BDjU06LP.mjs +79 -0
  422. package/.output/server/chunks/build/useTeamActions-BDjU06LP.mjs.map +1 -0
  423. package/.output/server/chunks/build/useTeamAddMemberDialog-J3oFn3FI.mjs +84 -0
  424. package/.output/server/chunks/build/useTeamAddMemberDialog-J3oFn3FI.mjs.map +1 -0
  425. package/.output/server/chunks/build/useTeamCreateDialog-fbn4ixYu.mjs +97 -0
  426. package/.output/server/chunks/build/useTeamCreateDialog-fbn4ixYu.mjs.map +1 -0
  427. package/.output/server/chunks/build/useTeamDeployDialog-BNezMD2k.mjs +80 -0
  428. package/.output/server/chunks/build/useTeamDeployDialog-BNezMD2k.mjs.map +1 -0
  429. package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs +39 -32
  430. package/.output/server/chunks/build/useTeamDialogState-CFRUQxAf.mjs.map +1 -1
  431. package/.output/server/chunks/build/useTeamPluginDialog-BZznrOVe.mjs +103 -0
  432. package/.output/server/chunks/build/useTeamPluginDialog-BZznrOVe.mjs.map +1 -0
  433. package/.output/server/chunks/build/useTeamsCatalog-DuZFP3oG.mjs +123 -0
  434. package/.output/server/chunks/build/useTeamsCatalog-DuZFP3oG.mjs.map +1 -0
  435. package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs +29 -22
  436. package/.output/server/chunks/build/useTokenClipboard-CwQpoFeP.mjs.map +1 -1
  437. package/.output/server/chunks/build/useTokenCreate-Ctl0YGhL.mjs +115 -0
  438. package/.output/server/chunks/build/useTokenCreate-Ctl0YGhL.mjs.map +1 -0
  439. package/.output/server/chunks/build/useTokenRename-Cm3ypSfN.mjs +87 -0
  440. package/.output/server/chunks/build/useTokenRename-Cm3ypSfN.mjs.map +1 -0
  441. package/.output/server/chunks/build/useTokenReveal-CeoWL5Mt.mjs +118 -0
  442. package/.output/server/chunks/build/useTokenReveal-CeoWL5Mt.mjs.map +1 -0
  443. package/.output/server/chunks/build/useTokensList-CNIzON3u.mjs +92 -0
  444. package/.output/server/chunks/build/useTokensList-CNIzON3u.mjs.map +1 -0
  445. package/.output/server/chunks/build/useTownBus-D9SoIsAN.mjs +17 -16
  446. package/.output/server/chunks/build/useTownBus-D9SoIsAN.mjs.map +1 -1
  447. package/.output/server/chunks/build/useWorkbenchAuth-CY-bVFMu.mjs +141 -0
  448. package/.output/server/chunks/build/useWorkbenchAuth-CY-bVFMu.mjs.map +1 -0
  449. package/.output/server/chunks/build/useWorkbenchWorkspaces-DhZQFss9.mjs +138 -0
  450. package/.output/server/chunks/build/useWorkbenchWorkspaces-DhZQFss9.mjs.map +1 -0
  451. package/.output/server/chunks/build/useWorkshopApi-BxHn-4iR.mjs +127 -0
  452. package/.output/server/chunks/build/useWorkshopApi-BxHn-4iR.mjs.map +1 -0
  453. package/.output/server/chunks/build/useWorkshopWs-YQ5URrbt.mjs +1659 -0
  454. package/.output/server/chunks/build/useWorkshopWs-YQ5URrbt.mjs.map +1 -0
  455. package/.output/server/chunks/build/useWorkspaceAuth-Dlvj9csD.mjs +60 -0
  456. package/.output/server/chunks/build/useWorkspaceAuth-Dlvj9csD.mjs.map +1 -0
  457. package/.output/server/chunks/build/useWorkspaceChannels-CPFepxTN.mjs +92 -0
  458. package/.output/server/chunks/build/useWorkspaceChannels-CPFepxTN.mjs.map +1 -0
  459. package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs +34 -31
  460. package/.output/server/chunks/build/useWorkspacePanels-CTwREmq0.mjs.map +1 -1
  461. package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs +168 -0
  462. package/.output/server/chunks/build/useWorkspaceShell-BCypjjjE.mjs.map +1 -0
  463. package/.output/server/chunks/build/users-DjiVC_tS.mjs +569 -0
  464. package/.output/server/chunks/build/users-DjiVC_tS.mjs.map +1 -0
  465. package/.output/server/chunks/build/workshop-1gKeDASV.mjs +546 -0
  466. package/.output/server/chunks/build/workshop-1gKeDASV.mjs.map +1 -0
  467. package/.output/server/chunks/build/workspaces-CmW0cpOt.mjs +121 -111
  468. package/.output/server/chunks/build/workspaces-CmW0cpOt.mjs.map +1 -1
  469. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  470. package/.output/server/chunks/routes/api/index.get.mjs +1 -1
  471. package/.output/server/chunks/routes/api/index.post.mjs +1 -1
  472. package/.output/server/chunks/routes/api/mcp/workshop.mjs +2 -2
  473. package/.output/server/chunks/routes/api/metrics.mjs +1 -1
  474. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +1 -1
  475. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +1 -1
  476. package/.output/server/chunks/routes/api/plugins/i18n.get.mjs +1 -1
  477. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +1 -1
  478. package/.output/server/chunks/routes/api/system/backup/list.get.mjs +1 -1
  479. package/.output/server/chunks/routes/api/system/backup/run.post.mjs +3 -3
  480. package/.output/server/chunks/routes/api/system/config-groups/_id_.delete.mjs +1 -1
  481. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs +1 -1
  482. package/.output/server/chunks/routes/api/system/config.get.mjs +1 -1
  483. package/.output/server/chunks/routes/api/system/index.get.mjs +1 -1
  484. package/.output/server/chunks/routes/api/system/index.patch.mjs +1 -1
  485. package/.output/server/chunks/routes/api/system/index.post.mjs +1 -1
  486. package/.output/server/chunks/routes/api/system/index2.get.mjs +1 -1
  487. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +1 -1
  488. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +1 -1
  489. package/.output/server/chunks/routes/api/system/monitor.get.mjs +1 -1
  490. package/.output/server/chunks/routes/api/system/settings/events.get.mjs +1 -1
  491. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +1 -1
  492. package/.output/server/chunks/routes/api/system/timezone.get.mjs +1 -1
  493. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -1
  494. package/.output/server/chunks/routes/api/users/_id_.get.mjs +1 -1
  495. package/.output/server/chunks/routes/api/users/_id_.put.mjs +1 -1
  496. package/.output/server/chunks/routes/api/users/change-password.post.mjs +1 -1
  497. package/.output/server/chunks/routes/api/users/index.get.mjs +1 -1
  498. package/.output/server/chunks/routes/api/users/index.post.mjs +1 -1
  499. package/.output/server/chunks/routes/api/users/login.post.mjs +1 -1
  500. package/.output/server/chunks/routes/api/users/logout.post.mjs +1 -1
  501. package/.output/server/chunks/routes/api/users/me.get.mjs +1 -1
  502. package/.output/server/chunks/routes/api/users/register.post.mjs +1 -1
  503. package/.output/server/chunks/routes/api/users/setup-status.get.mjs +1 -1
  504. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +1 -1
  505. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +1 -1
  506. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -1
  507. package/.output/server/chunks/routes/api/workshop/_...path_.mjs +1 -1
  508. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +1 -1
  509. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +1 -1
  510. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -1
  511. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +1 -1
  512. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -1
  513. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +1 -1
  514. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs +1 -1
  515. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs +1 -1
  516. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +1 -1
  517. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +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 +1 -1
  524. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -1
  525. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs +1 -1
  526. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs +1 -1
  527. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +1 -1
  528. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs +1 -1
  529. package/.output/server/chunks/routes/api/workshop/aml/entities/prune.post.mjs +1 -1
  530. package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs +1 -1
  531. package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs +1 -1
  532. package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs +1 -1
  533. package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs +1 -1
  534. package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs +1 -1
  535. package/.output/server/chunks/routes/api/workshop/aml/index2.get.mjs +1 -1
  536. package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs +1 -1
  537. package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs +1 -1
  538. package/.output/server/chunks/routes/api/workshop/aml/index3.post.mjs +1 -1
  539. package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs +1 -1
  540. package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs +1 -1
  541. package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs +1 -1
  542. package/.output/server/chunks/routes/api/workshop/aml/index7.get.mjs +1 -1
  543. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs +1 -1
  544. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs +1 -1
  545. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs +1 -1
  546. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs +1 -1
  547. package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs +1 -1
  548. package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs +1 -1
  549. package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs +1 -1
  550. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs +1 -1
  551. package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs +1 -1
  552. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id/train.post.mjs +1 -1
  553. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.delete.mjs +1 -1
  554. package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.patch.mjs +1 -1
  555. package/.output/server/chunks/routes/api/workshop/aml/twin/providers.get.mjs +1 -1
  556. package/.output/server/chunks/routes/api/workshop/analysis/_id_.delete.mjs +1 -1
  557. package/.output/server/chunks/routes/api/workshop/analysis/_id_.get.mjs +1 -1
  558. package/.output/server/chunks/routes/api/workshop/analysis/_id_.patch.mjs +1 -1
  559. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +1 -1
  560. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +1 -1
  561. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +1 -1
  562. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +1 -1
  563. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +2 -2
  564. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +1 -1
  565. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +2 -2
  566. package/.output/server/chunks/routes/api/workshop/audit.get.mjs +1 -1
  567. package/.output/server/chunks/routes/api/workshop/caller.mjs +1 -1
  568. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +3 -3
  569. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +1 -1
  570. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +1 -1
  571. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +1 -1
  572. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -1
  573. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +2 -2
  574. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +1 -1
  575. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -1
  576. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +1 -1
  577. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -1
  578. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +1 -1
  579. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +1 -1
  580. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +1 -1
  581. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/rotate-token.post.mjs +1 -1
  582. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +1 -1
  583. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +1 -1
  584. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +1 -1
  585. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.get.mjs +1 -1
  586. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs +2 -2
  587. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/messages/_messageId/read.post.mjs +1 -1
  588. package/.output/server/chunks/routes/api/workshop/channels/_id/chat/permissions.get.mjs +1 -1
  589. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -1
  590. package/.output/server/chunks/routes/api/workshop/channels/_id/execution-mode.patch.mjs +92 -0
  591. package/.output/server/chunks/routes/api/workshop/channels/_id/execution-mode.patch.mjs.map +1 -0
  592. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +1 -1
  593. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +2 -2
  594. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +2 -2
  595. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +1 -1
  596. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -1
  597. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.put.mjs +2 -2
  598. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +1 -1
  599. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +2 -2
  600. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -1
  601. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +2 -2
  602. package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +2 -2
  603. package/.output/server/chunks/routes/api/workshop/channels/_id/index6.get.mjs +1 -1
  604. package/.output/server/chunks/routes/api/workshop/channels/_id/index7.get.mjs +1 -1
  605. package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs +2 -2
  606. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId/approve.post.mjs +1 -1
  607. package/.output/server/chunks/routes/api/workshop/channels/_id/members/_userId_.delete.mjs +1 -1
  608. package/.output/server/chunks/routes/api/workshop/channels/_id/members/join.post.mjs +1 -1
  609. package/.output/server/chunks/routes/api/workshop/channels/_id/members/leave.post.mjs +1 -1
  610. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +1 -1
  611. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +1 -1
  612. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +2 -2
  613. package/.output/server/chunks/routes/api/workshop/channels/_id/tools/reset.post.mjs +2 -2
  614. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs +2 -2
  615. package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs +2 -2
  616. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +1 -1
  617. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +2 -2
  618. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +1 -1
  619. package/.output/server/chunks/routes/api/workshop/channels.get.mjs +1 -1
  620. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +8 -8
  621. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +1 -1
  622. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +1 -1
  623. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +3 -1
  624. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs.map +1 -1
  625. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +1 -1
  626. package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs +6 -3
  627. package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs.map +1 -1
  628. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +2 -2
  629. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +1 -1
  630. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +1 -1
  631. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +1 -1
  632. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +1 -1
  633. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +1 -1
  634. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +1 -1
  635. package/.output/server/chunks/routes/api/workshop/daq/export/_id_.get.mjs +1 -1
  636. package/.output/server/chunks/routes/api/workshop/daq/export-file.get.mjs +1 -1
  637. package/.output/server/chunks/routes/api/workshop/daq/index.get.mjs +1 -1
  638. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +1 -1
  639. package/.output/server/chunks/routes/api/workshop/daq/index2.post.mjs +2 -2
  640. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +2 -2
  641. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +2 -2
  642. package/.output/server/chunks/routes/api/workshop/daq/query.get.mjs +1 -1
  643. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +2 -2
  644. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +2 -2
  645. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +2 -2
  646. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +2 -2
  647. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +2 -2
  648. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +2 -2
  649. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +2 -2
  650. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +2 -2
  651. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +2 -2
  652. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -2
  653. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +2 -2
  654. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +2 -2
  655. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +2 -2
  656. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +2 -2
  657. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +2 -2
  658. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +2 -2
  659. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +2 -2
  660. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +2 -2
  661. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +2 -2
  662. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +2 -2
  663. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +2 -2
  664. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +2 -2
  665. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +1 -1
  666. package/.output/server/chunks/routes/api/workshop/dcw/index7.get.mjs +1 -1
  667. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +2 -2
  668. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +2 -2
  669. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +2 -2
  670. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +2 -2
  671. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +2 -2
  672. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +1 -1
  673. package/.output/server/chunks/routes/api/workshop/dcw/mes-artifacts/file.get.mjs +2 -2
  674. package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs +5 -5
  675. package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs.map +1 -1
  676. package/.output/server/chunks/routes/api/workshop/dcw/mes-test-read.post.mjs +2 -2
  677. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +2 -2
  678. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +2 -2
  679. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +2 -2
  680. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +2 -2
  681. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +2 -2
  682. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +2 -2
  683. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +2 -2
  684. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +2 -2
  685. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +8 -5
  686. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs.map +1 -1
  687. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +9 -5
  688. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs.map +1 -1
  689. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +2 -2
  690. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +1 -1
  691. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +1 -1
  692. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +2 -2
  693. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +1 -1
  694. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +1 -1
  695. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs +7 -4
  696. package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs.map +1 -1
  697. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +2 -2
  698. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +2 -2
  699. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +2 -2
  700. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +2 -2
  701. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +2 -2
  702. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +2 -2
  703. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +2 -2
  704. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +2 -2
  705. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +2 -2
  706. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +2 -2
  707. package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.delete.mjs +1 -1
  708. package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.get.mjs +1 -1
  709. package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.patch.mjs +1 -1
  710. package/.output/server/chunks/routes/api/workshop/eda/commonality.get.mjs +2 -2
  711. package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.delete.mjs +1 -1
  712. package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.get.mjs +1 -1
  713. package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.patch.mjs +1 -1
  714. package/.output/server/chunks/routes/api/workshop/eda/features/jobs.get.mjs +1 -1
  715. package/.output/server/chunks/routes/api/workshop/eda/features/run.post.mjs +1 -1
  716. package/.output/server/chunks/routes/api/workshop/eda/golden/_id_.delete.mjs +1 -1
  717. package/.output/server/chunks/routes/api/workshop/eda/golden/deviation.get.mjs +1 -1
  718. package/.output/server/chunks/routes/api/workshop/eda/golden/single.get.mjs +1 -1
  719. package/.output/server/chunks/routes/api/workshop/eda/index.get.mjs +1 -1
  720. package/.output/server/chunks/routes/api/workshop/eda/index.post.mjs +1 -1
  721. package/.output/server/chunks/routes/api/workshop/eda/index2.get.mjs +1 -1
  722. package/.output/server/chunks/routes/api/workshop/eda/index2.post.mjs +1 -1
  723. package/.output/server/chunks/routes/api/workshop/eda/index3.get.mjs +1 -1
  724. package/.output/server/chunks/routes/api/workshop/eda/index3.post.mjs +1 -1
  725. package/.output/server/chunks/routes/api/workshop/eda/index4.get.mjs +1 -1
  726. package/.output/server/chunks/routes/api/workshop/eda/index4.post.mjs +1 -1
  727. package/.output/server/chunks/routes/api/workshop/eda/index5.get.mjs +1 -1
  728. package/.output/server/chunks/routes/api/workshop/eda/index5.post.mjs +1 -1
  729. package/.output/server/chunks/routes/api/workshop/eda/index6.get.mjs +1 -1
  730. package/.output/server/chunks/routes/api/workshop/eda/index6.post.mjs +1 -1
  731. package/.output/server/chunks/routes/api/workshop/eda/index7.get.mjs +1 -1
  732. package/.output/server/chunks/routes/api/workshop/eda/index7.post.mjs +1 -1
  733. package/.output/server/chunks/routes/api/workshop/eda/index8.get.mjs +33 -0
  734. package/.output/server/chunks/routes/api/workshop/eda/index8.get.mjs.map +1 -0
  735. package/.output/server/chunks/routes/api/workshop/eda/index8.post.mjs +41 -0
  736. package/.output/server/chunks/routes/api/workshop/eda/index8.post.mjs.map +1 -0
  737. package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.get.mjs +1 -1
  738. package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.patch.mjs +1 -1
  739. package/.output/server/chunks/routes/api/workshop/eda/runs/_id/labels.patch.mjs +1 -1
  740. package/.output/server/chunks/routes/api/workshop/eda/runs.get.mjs +1 -1
  741. package/.output/server/chunks/routes/api/workshop/eda/spc/_id/recompute.post.mjs +1 -1
  742. package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.delete.mjs +1 -1
  743. package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.get.mjs +1 -1
  744. package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.delete.mjs +36 -0
  745. package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.delete.mjs.map +1 -0
  746. package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.get.mjs +37 -0
  747. package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.get.mjs.map +1 -0
  748. package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.patch.mjs +42 -0
  749. package/.output/server/chunks/routes/api/workshop/eda/templates/_id_.patch.mjs.map +1 -0
  750. package/.output/server/chunks/routes/api/workshop/eda/vm/predict.post.mjs +2 -2
  751. package/.output/server/chunks/routes/api/workshop/exp/confirmations/_id/decide.post.mjs +2 -2
  752. package/.output/server/chunks/routes/api/workshop/exp/index.get.mjs +2 -2
  753. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +2 -2
  754. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +2 -2
  755. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +2 -2
  756. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +2 -2
  757. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +2 -2
  758. package/.output/server/chunks/routes/api/workshop/index.get.mjs +1 -1
  759. package/.output/server/chunks/routes/api/workshop/index.mjs +2 -2
  760. package/.output/server/chunks/routes/api/workshop/index.post.mjs +1 -1
  761. package/.output/server/chunks/routes/api/workshop/index.put.mjs +2 -2
  762. package/.output/server/chunks/routes/api/workshop/index10.get.mjs +1 -1
  763. package/.output/server/chunks/routes/api/workshop/index10.post.mjs +33 -0
  764. package/.output/server/chunks/routes/api/workshop/index10.post.mjs.map +1 -0
  765. package/.output/server/chunks/routes/api/workshop/index11.get.mjs +1 -1
  766. package/.output/server/chunks/routes/api/workshop/index12.get.mjs +2 -2
  767. package/.output/server/chunks/routes/api/workshop/index13.get.mjs +1 -1
  768. package/.output/server/chunks/routes/api/workshop/index14.get.mjs +1 -1
  769. package/.output/server/chunks/routes/api/workshop/index15.get.mjs +1 -1
  770. package/.output/server/chunks/routes/api/workshop/index16.get.mjs +1 -1
  771. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +1 -1
  772. package/.output/server/chunks/routes/api/workshop/index2.post.mjs +46 -47
  773. package/.output/server/chunks/routes/api/workshop/index2.post.mjs.map +1 -1
  774. package/.output/server/chunks/routes/api/workshop/index3.get.mjs +1 -1
  775. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +47 -24
  776. package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
  777. package/.output/server/chunks/routes/api/workshop/index4.get.mjs +1 -1
  778. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +11 -10
  779. package/.output/server/chunks/routes/api/workshop/index4.post.mjs.map +1 -1
  780. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +1 -1
  781. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +23 -20
  782. package/.output/server/chunks/routes/api/workshop/index5.post.mjs.map +1 -1
  783. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +2 -2
  784. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +19 -43
  785. package/.output/server/chunks/routes/api/workshop/index6.post.mjs.map +1 -1
  786. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +2 -2
  787. package/.output/server/chunks/routes/api/workshop/index7.post.mjs +44 -18
  788. package/.output/server/chunks/routes/api/workshop/index7.post.mjs.map +1 -1
  789. package/.output/server/chunks/routes/api/workshop/index8.get.mjs +2 -2
  790. package/.output/server/chunks/routes/api/workshop/index8.post.mjs +14 -16
  791. package/.output/server/chunks/routes/api/workshop/index8.post.mjs.map +1 -1
  792. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +1 -1
  793. package/.output/server/chunks/routes/api/workshop/index9.post.mjs +19 -5
  794. package/.output/server/chunks/routes/api/workshop/index9.post.mjs.map +1 -1
  795. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +1 -1
  796. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +1 -1
  797. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +1 -1
  798. package/.output/server/chunks/routes/api/workshop/mes/datasets.get.mjs +2 -2
  799. package/.output/server/chunks/routes/api/workshop/mes/index.get.mjs +33 -0
  800. package/.output/server/chunks/routes/api/workshop/mes/index.get.mjs.map +1 -0
  801. package/.output/server/chunks/routes/api/workshop/mes/index.put.mjs +56 -0
  802. package/.output/server/chunks/routes/api/workshop/mes/index.put.mjs.map +1 -0
  803. package/.output/server/chunks/routes/api/workshop/mes/points.get.mjs +1 -1
  804. package/.output/server/chunks/routes/api/workshop/mes/preview.post.mjs +1 -1
  805. package/.output/server/chunks/routes/api/workshop/mes/secrets/_ref_.delete.mjs +49 -0
  806. package/.output/server/chunks/routes/api/workshop/mes/secrets/_ref_.delete.mjs.map +1 -0
  807. package/.output/server/chunks/routes/api/workshop/notifications/read.post.mjs +1 -1
  808. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/autofix.mjs +2 -2
  809. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/compile.mjs +2 -2
  810. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/evidence.mjs +2 -2
  811. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/publish.mjs +2 -2
  812. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval-decision.mjs +2 -2
  813. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval.mjs +2 -2
  814. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/transition.mjs +2 -2
  815. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/subgraph.mjs +2 -2
  816. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/validate.mjs +2 -2
  817. package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId_.mjs +2 -2
  818. package/.output/server/chunks/routes/api/workshop/ontology/export/_ontologyId_.mjs +2 -2
  819. package/.output/server/chunks/routes/api/workshop/ontology/index.mjs +2 -2
  820. package/.output/server/chunks/routes/api/workshop/ontology/scene.mjs +2 -2
  821. package/.output/server/chunks/routes/api/workshop/ontology/traces/_ontologyId_.mjs +2 -2
  822. package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId/compare.mjs +2 -2
  823. package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId_.mjs +2 -2
  824. package/.output/server/chunks/routes/api/workshop/optimization/bindings/_id_.delete.mjs +1 -1
  825. package/.output/server/chunks/routes/api/workshop/optimization/capabilities.get.mjs +2 -2
  826. package/.output/server/chunks/routes/api/workshop/optimization/index.get.mjs +2 -2
  827. package/.output/server/chunks/routes/api/workshop/optimization/index.mjs +2 -2
  828. package/.output/server/chunks/routes/api/workshop/optimization/index2.mjs +2 -2
  829. package/.output/server/chunks/routes/api/workshop/optimization/profiles/_id/publish.post.mjs +2 -2
  830. package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/crosscheck.post.mjs +2 -2
  831. package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/dispatch.post.mjs +2 -2
  832. package/.output/server/chunks/routes/api/workshop/optimization/solve.post.mjs +2 -2
  833. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +2 -2
  834. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +2 -2
  835. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +1 -1
  836. package/.output/server/chunks/routes/api/workshop/process-model/datasets.post.mjs +2 -2
  837. package/.output/server/chunks/routes/api/workshop/process-model/eligibility.mjs +2 -2
  838. package/.output/server/chunks/routes/api/workshop/process-model/experiments.mjs +2 -2
  839. package/.output/server/chunks/routes/api/workshop/process-model/index.mjs +2 -2
  840. package/.output/server/chunks/routes/api/workshop/process-model/specs/_id/publish.post.mjs +2 -2
  841. package/.output/server/chunks/routes/api/workshop/process-model/train.post.mjs +2 -2
  842. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +1 -1
  843. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +2 -2
  844. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +2 -2
  845. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +1 -1
  846. package/.output/server/chunks/routes/api/workshop/schedules/_id/run.post.mjs +1 -1
  847. package/.output/server/chunks/routes/api/workshop/schedules/_id/runs.get.mjs +1 -1
  848. package/.output/server/chunks/routes/api/workshop/schedules/_id_.delete.mjs +1 -1
  849. package/.output/server/chunks/routes/api/workshop/schedules/_id_.get.mjs +1 -1
  850. package/.output/server/chunks/routes/api/workshop/schedules/_id_.patch.mjs +1 -1
  851. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -1
  852. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -1
  853. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +1 -1
  854. package/.output/server/chunks/routes/api/workshop/tasks/_id/reassign.post.mjs +1 -1
  855. package/.output/server/chunks/routes/api/workshop/tasks/_id/reopen.post.mjs +1 -1
  856. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -1
  857. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +1 -1
  858. package/.output/server/chunks/routes/api/workshop/tasks/_id/update.post.mjs +1 -1
  859. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +1 -1
  860. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +1 -1
  861. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +2 -2
  862. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +1 -1
  863. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -1
  864. package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs +2 -2
  865. package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs +2 -2
  866. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +1 -1
  867. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +1 -1
  868. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +1 -1
  869. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -1
  870. package/.output/server/chunks/routes/api/workshop/tools/_name_.get.mjs +1 -1
  871. package/.output/server/chunks/routes/api/workshop/tools/sync.post.mjs +2 -2
  872. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +1 -1
  873. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +1 -1
  874. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +3 -3
  875. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +1 -1
  876. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +1 -1
  877. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +1 -1
  878. package/.output/server/chunks/routes/renderer.mjs +2 -2
  879. package/.output/server/chunks/routes/renderer.mjs.map +1 -1
  880. package/.output/server/chunks/virtual/entry.mjs +10869 -9372
  881. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  882. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  883. package/.output/server/chunks/virtual/precomputed.mjs.map +1 -1
  884. package/.output/server/index.mjs +1 -1
  885. package/.output/server/package.json +1 -1
  886. package/README-zh.md +21 -8
  887. package/README.md +21 -8
  888. package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.json +1 -0
  889. package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.mtg0vz68-49792-75b0709555.baseline/1459e6269990a5d229b9228c8b2f62ffaa7d350068380ae8b875fee0db45cca6.source +180 -0
  890. package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.mtg0vz68-49792-75b0709555.baseline/c2991e909c70c5c12b90a407c7adcf63384c51668a2b334e6e047fa675c268fe.source +305 -0
  891. package/app/.mimosa/hook-state/sess_05189059-e42d-4188-8911-4f7baabe009b.mtg0vz68-49792-75b0709555.baseline/e09129039d1e27e3fac24becc9bdafd2d1a7c8049bff24173df007be865f0165.source +264 -0
  892. package/app/.mimosa/hook-status/sess_05189059-e42d-4188-8911-4f7baabe009b-28ef7c75ea.json +14 -0
  893. package/app/components/AwChart.vue +46 -3
  894. package/app/components/AwLogo.vue +75 -75
  895. package/app/components/aml/AmlDatasetFormModal.vue +279 -279
  896. package/app/components/aml/AmlDatasetTable.vue +319 -319
  897. package/app/components/aml/AmlExperimentsTable.vue +142 -142
  898. package/app/components/aml/AmlInfraBanner.vue +23 -23
  899. package/app/components/aml/AmlJobsTable.vue +248 -248
  900. package/app/components/aml/AmlOverviewBar.vue +62 -62
  901. package/app/components/aml/AmlPageHeader.vue +47 -47
  902. package/app/components/aml/AmlPredictConsole.vue +201 -201
  903. package/app/components/app-header/HitlBell.vue +423 -423
  904. package/app/components/daq/DaqAddNodeModal.vue +209 -209
  905. package/app/components/daq/DaqAlarmBar.vue +46 -46
  906. package/app/components/daq/DaqControlCard.vue +159 -159
  907. package/app/components/daq/DaqInfraBanner.vue +31 -31
  908. package/app/components/daq/DaqLineBanner.vue +47 -47
  909. package/app/components/daq/DaqNodePanel.vue +396 -396
  910. package/app/components/daq/DaqOptPanel.vue +197 -197
  911. package/app/components/daq/DaqTemplateModal.vue +246 -246
  912. package/app/components/dashboard/DashboardGaugeBand.vue +78 -78
  913. package/app/components/dashboard/DashboardHero.vue +209 -209
  914. package/app/components/dashboard/DashboardLineStatePanel.vue +78 -78
  915. package/app/components/dashboard/DashboardNodeStatePanel.vue +46 -46
  916. package/app/components/dashboard/DashboardPipelinePanel.vue +46 -46
  917. package/app/components/dashboard/DashboardTrendPanel.vue +83 -83
  918. package/app/components/dashboard/DashboardWritePanel.vue +52 -52
  919. package/app/components/dcw/DcwCreateLineModal.vue +105 -105
  920. package/app/components/dcw/DcwDeleteLineModal.vue +73 -73
  921. package/app/components/dcw/DcwDetailTemplateModal.vue +238 -238
  922. package/app/components/dcw/DcwLedgerCard.vue +160 -160
  923. package/app/components/dcw/DcwMesArtifacts.vue +140 -140
  924. package/app/components/dcw/DcwProductCreateModal.vue +113 -113
  925. package/app/components/dcw/DcwRecipeDispatchHistoryModal.vue +244 -244
  926. package/app/components/dcw/DcwRecipeEditModal.vue +399 -399
  927. package/app/components/dcw/DcwRecipeHistoryModal.vue +165 -165
  928. package/app/components/dcw/DcwRunDataModal.vue +191 -191
  929. package/app/components/dcw/DcwTemplateModal.vue +227 -227
  930. package/app/components/dcw/DcwWriteHistoryCard.vue +96 -96
  931. package/app/components/dcw/ExpConfirmCard.vue +103 -103
  932. package/app/components/dcw/RecipeDispatchApprovalCard.vue +330 -330
  933. package/app/components/logs/LogsPageHead.vue +71 -71
  934. package/app/components/monitor/MonitorAgentTable.vue +143 -143
  935. package/app/components/monitor/MonitorChannelTable.vue +80 -80
  936. package/app/components/monitor/MonitorLoginGate.vue +24 -24
  937. package/app/components/monitor/MonitorPageHead.vue +92 -92
  938. package/app/components/monitor/MonitorProcessTable.vue +159 -159
  939. package/app/components/ontology/OntologyGraph.vue +356 -356
  940. package/app/components/operations/OperationsFilterCard.vue +164 -164
  941. package/app/components/operations/OperationsPageHead.vue +47 -47
  942. package/app/components/tokens/TokenCreateModal.vue +42 -42
  943. package/app/components/tokens/TokenOnceModal.vue +164 -164
  944. package/app/components/tokens/TokenRenameModal.vue +40 -40
  945. package/app/components/tokens/TokensPageHead.vue +76 -76
  946. package/app/components/workshop/A2aRpcDebugger.vue +237 -237
  947. package/app/components/workshop/AgentInspectorDrawer.vue +424 -424
  948. package/app/components/workshop/AgentLanesView.vue +278 -278
  949. package/app/components/workshop/ArtifactCard.vue +120 -120
  950. package/app/components/workshop/AssetLibrary.vue +452 -452
  951. package/app/components/workshop/ChatMemberPanel.vue +556 -556
  952. package/app/components/workshop/CommandPalette.vue +270 -270
  953. package/app/components/workshop/Composer.vue +540 -540
  954. package/app/components/workshop/DaqTemplateIcon.vue +33 -33
  955. package/app/components/workshop/DeviceTwinPanel.vue +167 -167
  956. package/app/components/workshop/FileSelectorModal.vue +188 -188
  957. package/app/components/workshop/InspectorPanel.vue +301 -301
  958. package/app/components/workshop/PluginSlot.vue +120 -120
  959. package/app/components/workshop/TranscriptTimeline.vue +223 -223
  960. package/app/components/workshop/agents/AgentTemplateEditModal.vue +139 -139
  961. package/app/components/workshop/blocks/ClusterArtifact.vue +61 -61
  962. package/app/components/workshop/blocks/ClusterError.vue +85 -85
  963. package/app/components/workshop/blocks/ClusterLife.vue +87 -87
  964. package/app/components/workshop/blocks/ClusterMember.vue +95 -95
  965. package/app/components/workshop/blocks/ClusterMemory.vue +84 -84
  966. package/app/components/workshop/blocks/ClusterOther.vue +67 -67
  967. package/app/components/workshop/blocks/ClusterStatus.vue +149 -149
  968. package/app/components/workshop/blocks/ClusterTool.vue +176 -176
  969. package/app/components/workshop/blocks/EventBlockAvatar.vue +114 -114
  970. package/app/components/workshop/blocks/EventBlockHead.vue +232 -232
  971. package/app/components/workshop/composer/ComposerToolbar.vue +278 -278
  972. package/app/components/workshop/composer/MentionMenu.vue +135 -135
  973. package/app/components/workshop/composer/ReplyChip.vue +65 -65
  974. package/app/components/workshop/composer/StatusChip.vue +171 -171
  975. package/app/components/workshop/console/Dock.vue +71 -71
  976. package/app/components/workshop/console/LeftPane.vue +84 -84
  977. package/app/components/workshop/device-twin/DeviceTwinCard.vue +265 -265
  978. package/app/components/workshop/device-twin/DeviceTwinDcwSection.vue +203 -203
  979. package/app/components/workshop/lanes/AddMemberModal.vue +270 -270
  980. package/app/components/workshop/lanes/EditMemberModal.vue +106 -106
  981. package/app/components/workshop/lanes/LanesToolbar.vue +97 -97
  982. package/app/components/workshop/session-list/ChannelSettingsModal.vue +112 -1
  983. package/app/components/workshop/session-list/MountChannelModal.vue +124 -124
  984. package/app/components/workshop/session-list/SaveTemplateModal.vue +93 -93
  985. package/app/components/workshop/task-board/Card.vue +172 -172
  986. package/app/components/workshop/task-board/Column.vue +151 -151
  987. package/app/components/workshop/task-board/List.vue +157 -157
  988. package/app/components/workshop/task-board/StatusMenu.vue +88 -88
  989. package/app/components/workshop/teams/TeamAddMemberModal.vue +53 -53
  990. package/app/components/workshop/teams/TeamCreateModal.vue +94 -94
  991. package/app/components/workshop/teams/TeamDeployModal.vue +40 -40
  992. package/app/components/workshop/teams/TeamPluginModal.vue +119 -119
  993. package/app/components/workshop/terminal/OmpTerminalPanel.vue +270 -270
  994. package/app/components/workshop/terminal/TerminalHitlCard.vue +170 -170
  995. package/app/components/workshop/town/TownScene.ts +466 -466
  996. package/app/components/workshop/town/TownView.vue +561 -561
  997. package/app/components/workshop/town/components/AutoModeConfirmModal.vue +94 -94
  998. package/app/components/workshop/town/components/TownAgentBindings.vue +405 -405
  999. package/app/components/workshop/town/components/TownAgentInspector.vue +554 -554
  1000. package/app/components/workshop/town/components/TownAlarmList.vue +147 -147
  1001. package/app/components/workshop/town/components/TownBoundaryPanel.vue +350 -350
  1002. package/app/components/workshop/town/components/TownCalloutLayer.vue +147 -147
  1003. package/app/components/workshop/town/components/TownChannelDock.vue +116 -116
  1004. package/app/components/workshop/town/components/TownControlDock.vue +405 -405
  1005. package/app/components/workshop/town/components/TownDaqNodeInspector.vue +345 -345
  1006. package/app/components/workshop/town/components/TownDaqTree.vue +366 -366
  1007. package/app/components/workshop/town/components/TownDcwBindSection.vue +473 -473
  1008. package/app/components/workshop/town/components/TownDcwNodeInspector.vue +185 -185
  1009. package/app/components/workshop/town/components/TownDcwTree.vue +280 -280
  1010. package/app/components/workshop/town/components/TownDeviceBindings.vue +394 -394
  1011. package/app/components/workshop/town/components/TownDeviceTransform.vue +248 -248
  1012. package/app/components/workshop/town/components/TownEventList.vue +120 -120
  1013. package/app/components/workshop/town/components/TownHealthBody.vue +100 -100
  1014. package/app/components/workshop/town/components/TownKpiStrip.vue +207 -207
  1015. package/app/components/workshop/town/components/TownLeftRail.vue +308 -308
  1016. package/app/components/workshop/town/components/TownLoadingMask.vue +61 -61
  1017. package/app/components/workshop/town/components/TownNavMap.vue +154 -154
  1018. package/app/components/workshop/town/components/TownRightRail.vue +543 -543
  1019. package/app/components/workshop/town/components/TownStage.vue +281 -281
  1020. package/app/components/workshop/town/components/TownStageTop.vue +238 -238
  1021. package/app/components/workshop/town/components/TownStatusBar.vue +108 -108
  1022. package/app/components/workshop/town/components/TownTopNav.vue +367 -367
  1023. package/app/components/workshop/town/components/TownTrendDock.vue +178 -178
  1024. package/app/components/workshop/town/scene/town-scene-agents.ts +254 -254
  1025. package/app/components/workshop/town/scene/town-scene-behavior.ts +194 -194
  1026. package/app/components/workshop/town/scene/town-scene-bubbles.ts +96 -96
  1027. package/app/components/workshop/town/scene/town-scene-core.ts +158 -158
  1028. package/app/components/workshop/town/scene/town-scene-models.ts +109 -109
  1029. package/app/components/workshop/town/scene/town-scene-visuals.ts +279 -279
  1030. package/app/components/workshop/town/scene/town-scene3d-agents.ts +308 -308
  1031. package/app/components/workshop/town/scene/town-scene3d-blocks.ts +297 -297
  1032. package/app/components/workshop/town/scene/town-scene3d-bubbles.ts +281 -281
  1033. package/app/components/workshop/town/scene/town-scene3d-camera.ts +282 -282
  1034. package/app/components/workshop/town/scene/town-scene3d-devices.ts +433 -433
  1035. package/app/components/workshop/town/scene/town-scene3d-editing.ts +490 -490
  1036. package/app/components/workshop/town/scene/town-scene3d-events.ts +173 -173
  1037. package/app/components/workshop/town/scene/town-scene3d-factory.ts +412 -412
  1038. package/app/components/workshop/town/scene/town-scene3d-hud.ts +110 -110
  1039. package/app/components/workshop/town/scene/town-scene3d-lifecycle.ts +144 -144
  1040. package/app/components/workshop/town/scene/town-scene3d-links.ts +141 -141
  1041. package/app/components/workshop/town/scene/town-scene3d-loop.ts +286 -286
  1042. package/app/components/workshop/town/scene/town-scene3d-models.ts +154 -154
  1043. package/app/components/workshop/town/scene/town-scene3d-nodes.ts +562 -562
  1044. package/app/components/workshop/town/scene/town-scene3d-ranges.ts +273 -273
  1045. package/app/components/workshop/town/scene/town-scene3d-renderer.ts +320 -320
  1046. package/app/components/workshop/town/scene/town-scene3d-selection.ts +257 -257
  1047. package/app/components/workshop/town/scene/town-scene3d-types.ts +264 -264
  1048. package/app/components/workshop/transcript/TranscriptBlockList.vue +68 -68
  1049. package/app/components/workshop/transcript/TranscriptEarlierPager.vue +81 -81
  1050. package/app/components/workshop/transcript/TranscriptFilterBar.vue +126 -126
  1051. package/app/components/workshop/workbench/CreateWorkspaceModal.vue +36 -36
  1052. package/app/components/workshop/workbench/WorkspaceEmpty.vue +56 -56
  1053. package/app/composables/useResponsive.ts +88 -88
  1054. package/app/composables/workshop/device-twin-types.ts +29 -29
  1055. package/app/composables/workshop/event-blocks/attention.ts +58 -58
  1056. package/app/composables/workshop/event-blocks/classify.ts +44 -44
  1057. package/app/composables/workshop/event-blocks/clusterer.ts +231 -231
  1058. package/app/composables/workshop/event-blocks/fold-stream.ts +45 -45
  1059. package/app/composables/workshop/event-blocks/markdown.ts +81 -81
  1060. package/app/composables/workshop/event-blocks/mentions.ts +49 -49
  1061. package/app/composables/workshop/event-blocks/text-utils.ts +100 -100
  1062. package/app/composables/workshop/event-blocks/types.ts +40 -40
  1063. package/app/composables/workshop/town/town-relay-props.ts +231 -231
  1064. package/app/composables/workshop/town/town-view-types.ts +145 -145
  1065. package/app/composables/workshop/town/useTownAgentBindings.ts +182 -182
  1066. package/app/composables/workshop/town/useTownAgentChat.ts +203 -203
  1067. package/app/composables/workshop/town/useTownAlarms.ts +36 -36
  1068. package/app/composables/workshop/town/useTownCallouts.ts +174 -174
  1069. package/app/composables/workshop/town/useTownChannels.ts +220 -220
  1070. package/app/composables/workshop/town/useTownHealth.ts +66 -66
  1071. package/app/composables/workshop/town/useTownHudTickers.ts +77 -77
  1072. package/app/composables/workshop/town/useTownLayout.ts +277 -277
  1073. package/app/composables/workshop/town/useTownNavMap.ts +301 -301
  1074. package/app/composables/workshop/town/useTownNodeBindings.ts +345 -345
  1075. package/app/composables/workshop/town/useTownPanelDrag.ts +91 -91
  1076. package/app/composables/workshop/town/useTownRailData.ts +421 -421
  1077. package/app/composables/workshop/town/useTownSceneControl.ts +92 -92
  1078. package/app/composables/workshop/town/useTownSceneInput.ts +275 -275
  1079. package/app/composables/workshop/town/useTownSceneRuntime.ts +390 -390
  1080. package/app/composables/workshop/town/useTownSheets.ts +41 -41
  1081. package/app/composables/workshop/town/useTownTrends.ts +93 -93
  1082. package/app/composables/workshop/useChannelList.ts +88 -88
  1083. package/app/composables/workshop/useChannelTerminals.ts +65 -65
  1084. package/app/composables/workshop/useComposerMentions.ts +130 -130
  1085. package/app/composables/workshop/useDcwStream.ts +374 -374
  1086. package/app/composables/workshop/useDeviceTwinDcwWrite.ts +77 -77
  1087. package/app/composables/workshop/useDeviceTwinPanel.ts +56 -56
  1088. package/app/composables/workshop/useEscClose.ts +44 -44
  1089. package/app/composables/workshop/useEventBlockView.ts +159 -159
  1090. package/app/composables/workshop/useEventBlocks.ts +33 -33
  1091. package/app/composables/workshop/useHitlAnswer.ts +184 -184
  1092. package/app/composables/workshop/useLaneWidths.ts +27 -27
  1093. package/app/composables/workshop/useOmpTerminalSession.ts +424 -424
  1094. package/app/composables/workshop/usePluginAdmin.ts +152 -152
  1095. package/app/composables/workshop/usePluginPanels.ts +72 -72
  1096. package/app/composables/workshop/useRuntimeConfigDraft.ts +118 -118
  1097. package/app/composables/workshop/useSettingsGroups.ts +243 -243
  1098. package/app/composables/workshop/useTaskBoardColumns.ts +47 -47
  1099. package/app/composables/workshop/useTerminalRenderer.ts +308 -308
  1100. package/app/composables/workshop/useTranscriptEnterStage.ts +48 -48
  1101. package/app/composables/workshop/useTranscriptHistory.ts +52 -52
  1102. package/app/composables/workshop/useTranscriptScroll.ts +113 -113
  1103. package/app/composables/workshop/useVisibleInterval.ts +42 -42
  1104. package/app/composables/workshop/useWorkshopApi.ts +6 -0
  1105. package/app/composables/workshop/useWorkshopWs.ts +265 -265
  1106. package/app/config/index.ts +1 -1
  1107. package/app/config/schema.ts +5 -0
  1108. package/app/middleware/locale-cookie.global.ts +22 -22
  1109. package/app/pages/aml/api.ts +6 -6
  1110. package/app/pages/aml/composables/useAmlDatasets.ts +38 -38
  1111. package/app/pages/aml/composables/useAmlEntities.ts +57 -57
  1112. package/app/pages/aml/composables/useAmlEnv.ts +191 -191
  1113. package/app/pages/aml/composables/useAmlExperiments.ts +45 -45
  1114. package/app/pages/aml/composables/useAmlFormat.ts +44 -44
  1115. package/app/pages/aml/composables/useAmlJobs.ts +131 -131
  1116. package/app/pages/aml/composables/useAmlModels.ts +56 -56
  1117. package/app/pages/aml/composables/useAmlNotes.ts +47 -47
  1118. package/app/pages/aml/composables/useAmlPredict.ts +93 -93
  1119. package/app/pages/aml/constants.ts +63 -63
  1120. package/app/pages/aml/index.vue +236 -236
  1121. package/app/pages/composables/useDashboardCharts.ts +192 -192
  1122. package/app/pages/composables/useDashboardData.ts +144 -144
  1123. package/app/pages/daq/composables/useDaqAddNode.ts +126 -126
  1124. package/app/pages/daq/composables/useDaqDetailBinding.ts +29 -29
  1125. package/app/pages/daq/composables/useDaqDetailFrames.ts +42 -42
  1126. package/app/pages/daq/composables/useDaqDetailNode.ts +53 -53
  1127. package/app/pages/daq/composables/useDaqDetailParams.ts +138 -138
  1128. package/app/pages/daq/composables/useDaqFilters.ts +187 -187
  1129. package/app/pages/daq/composables/useDaqNodeWindow.ts +86 -86
  1130. package/app/pages/daq/composables/useDaqOptimizations.ts +99 -99
  1131. package/app/pages/daq/composables/useDaqTemplates.ts +152 -152
  1132. package/app/pages/daq/index.vue +260 -260
  1133. package/app/pages/dcw/composables/useDcwCards.ts +27 -27
  1134. package/app/pages/dcw/composables/useDcwDetailScope.ts +145 -145
  1135. package/app/pages/dcw/composables/useDcwDetailTemplates.ts +94 -94
  1136. package/app/pages/dcw/composables/useDcwFilter.ts +29 -29
  1137. package/app/pages/dcw/composables/useDcwLedger.ts +34 -34
  1138. package/app/pages/dcw/composables/useDcwLineMutations.ts +115 -115
  1139. package/app/pages/dcw/composables/useDcwLineRun.ts +60 -60
  1140. package/app/pages/dcw/composables/useDcwProducts.ts +54 -54
  1141. package/app/pages/dcw/composables/useDcwQuery.ts +68 -68
  1142. package/app/pages/dcw/composables/useDcwQuickActions.ts +47 -47
  1143. package/app/pages/dcw/composables/useDcwRecipes.ts +256 -256
  1144. package/app/pages/dcw/composables/useDcwTemplates.ts +50 -50
  1145. package/app/pages/dcw/index.vue +195 -195
  1146. package/app/pages/dcw/types.ts +9 -9
  1147. package/app/pages/index.vue +126 -126
  1148. package/app/pages/logs/composables/useLogsFormat.ts +43 -43
  1149. package/app/pages/logs/composables/useLogsScope.ts +39 -39
  1150. package/app/pages/monitor/types.ts +61 -61
  1151. package/app/pages/ontology/index.vue +1 -1
  1152. package/app/pages/operations.vue +61 -61
  1153. package/app/pages/permissions/index.vue +369 -369
  1154. package/app/pages/studio/board.vue +30 -9
  1155. package/app/pages/studio/index.vue +40 -8
  1156. package/app/pages/studio/pipeline.vue +804 -0
  1157. package/app/pages/tokens/composables/useTokenClipboard.ts +33 -33
  1158. package/app/pages/tokens/composables/useTokenCreate.ts +93 -93
  1159. package/app/pages/tokens/composables/useTokenRename.ts +54 -54
  1160. package/app/pages/tokens/composables/useTokenReveal.ts +84 -84
  1161. package/app/pages/tokens/composables/useTokensList.ts +60 -60
  1162. package/app/pages/tokens.vue +111 -111
  1163. package/app/pages/tools/index.vue +98 -98
  1164. package/app/pages/workshop/agents.vue +130 -130
  1165. package/app/pages/workshop/composables/useAgentHarnessOptions.ts +59 -59
  1166. package/app/pages/workshop/composables/useAgentTemplateActions.ts +42 -42
  1167. package/app/pages/workshop/composables/useAgentTemplateDialogState.ts +24 -24
  1168. package/app/pages/workshop/composables/useAgentTemplateForm.ts +88 -88
  1169. package/app/pages/workshop/composables/useAgentTemplatesCatalog.ts +92 -92
  1170. package/app/pages/workshop/composables/useTeamActions.ts +44 -44
  1171. package/app/pages/workshop/composables/useTeamAddMemberDialog.ts +49 -49
  1172. package/app/pages/workshop/composables/useTeamCreateDialog.ts +67 -67
  1173. package/app/pages/workshop/composables/useTeamDeployDialog.ts +49 -49
  1174. package/app/pages/workshop/composables/useTeamDialogState.ts +46 -46
  1175. package/app/pages/workshop/composables/useTeamPluginDialog.ts +72 -72
  1176. package/app/pages/workshop/composables/useTeamsCatalog.ts +100 -100
  1177. package/app/pages/workshop/composables/useWorkbenchWorkspaces.ts +123 -123
  1178. package/app/pages/workshop/composables/useWorkspaceAuth.ts +31 -31
  1179. package/app/pages/workshop/composables/useWorkspaceChannels.ts +62 -62
  1180. package/app/pages/workshop/composables/useWorkspaceShell.ts +136 -136
  1181. package/app/pages/workshop/schedules.vue +553 -553
  1182. package/app/pages/workshop/w/[wsId].vue +221 -221
  1183. package/app/plugins/aw-plugins.client.ts +213 -213
  1184. package/app/plugins/esc-close.client.ts +31 -31
  1185. package/app/stores/workshop/hitl.ts +183 -183
  1186. package/app/stores/workshop/narrow-fetch.ts +23 -23
  1187. package/app/utils/api-error.ts +75 -75
  1188. package/app/utils/builtin-catalog.ts +104 -104
  1189. package/app/utils/chart-pipeline.ts +242 -0
  1190. package/app/utils/chart-trend.ts +97 -97
  1191. package/app/utils/dcw-driver-badge.ts +16 -16
  1192. package/app/utils/dcw-recipe-form.ts +26 -26
  1193. package/cli/commands/tui.mjs +28 -28
  1194. package/cli/commands/update.mjs +124 -124
  1195. package/cli/core/child-lifecycle.mjs +136 -136
  1196. package/cli/core/meta.mjs +38 -38
  1197. package/cli/core/post-build.mjs +96 -96
  1198. package/config.yml +1 -1
  1199. package/docs/cli.en.md +4 -4
  1200. package/docs/cli.md +4 -4
  1201. package/docs/mcp.en.md +27 -27
  1202. package/docs/multi-harness-architecture.md +248 -248
  1203. package/docs/plugins.en.md +1 -1
  1204. package/docs/plugins.md +1 -1
  1205. package/docs/sdk.en.md +1 -1
  1206. package/docs/sdk.md +1 -1
  1207. package/docs/tui.md +43 -43
  1208. package/i18n/dicts/_en.json +1551 -1551
  1209. package/i18n/dicts/_en2.json +300 -300
  1210. package/i18n/dicts/_en4.json +114 -114
  1211. package/i18n/dicts/agentLanesView.json +61 -61
  1212. package/i18n/dicts/appHeader.json +17 -17
  1213. package/i18n/dicts/channelSessionList.json +51 -51
  1214. package/i18n/dicts/chat.json +79 -79
  1215. package/i18n/dicts/clusterTool.json +4 -4
  1216. package/i18n/dicts/composer.json +38 -38
  1217. package/i18n/dicts/ctpl.json +37 -37
  1218. package/i18n/dicts/dcwDetail.json +219 -219
  1219. package/i18n/dicts/lineOps.json +14 -14
  1220. package/i18n/dicts/multiChannelView.json +13 -13
  1221. package/i18n/dicts/notifications.json +13 -13
  1222. package/i18n/dicts/taskInspectorDrawer.json +25 -25
  1223. package/i18n/dicts/teamPlugins.json +10 -10
  1224. package/i18n/dicts/townView.json +209 -209
  1225. package/i18n/locales/en.ts +64 -0
  1226. package/i18n/locales/zh-CN.ts +64 -0
  1227. package/mcp/discovery.mjs +227 -227
  1228. package/package.json +1 -1
  1229. package/public/favicon.svg +14 -14
  1230. package/public/robots.txt +3 -3
  1231. package/scripts/_audit/_detached-mes-20261028.mjs +48 -0
  1232. package/scripts/_audit/_detached-nodesim-20261028.mjs +50 -0
  1233. package/scripts/_audit/_detached-sim-20261028.mjs +44 -0
  1234. package/scripts/_audit/_live-execmodes-20261028.mjs +246 -0
  1235. package/scripts/_audit/_live-execmodes-invoke-20261028.mjs +203 -0
  1236. package/scripts/_audit/_mission-coupling-probe-20261028.mjs +27 -0
  1237. package/scripts/_audit/_mission-f1-evidence-20261028.mjs +56 -0
  1238. package/scripts/_audit/_mission-idd-remint-20261028.mjs +32 -0
  1239. package/scripts/_audit/_mission-ui-shots-20261028.mjs +56 -0
  1240. package/scripts/_audit/_mission-us10-timeline-20261028.mjs +65 -0
  1241. package/scripts/_audit/_mission-us12-tools-20261028.mjs +85 -0
  1242. package/scripts/_audit/_mission-us4-daq-dcw-20261028.mjs +115 -0
  1243. package/scripts/_audit/_mission-us5-mes-20261028.mjs +142 -0
  1244. package/scripts/_audit/_mission-us6-dialog-20261028.mjs +43 -0
  1245. package/scripts/_audit/_mission-us7-diag-20261028.mjs +42 -0
  1246. package/scripts/_audit/_mission-us7-final-20261028.mjs +79 -0
  1247. package/scripts/_audit/_mission-us7-idd-rag-20261028.mjs +147 -0
  1248. package/scripts/_audit/audit-harness-adapters.md +664 -664
  1249. package/scripts/_audit/aw-mcp-live-e2e.mjs +293 -293
  1250. package/scripts/_audit/bump-version.mjs +51 -51
  1251. package/scripts/_audit/detached-instance.mjs +112 -112
  1252. package/scripts/_audit/detached-start.mjs +103 -103
  1253. package/scripts/_audit/eda-ui-fix-acceptance.mjs +212 -212
  1254. package/scripts/_audit/guard-upstream-liveness.mjs +104 -104
  1255. package/scripts/_audit/http-api-authz-audit.md +657 -657
  1256. package/scripts/_audit/kb-team-mock-e2e.mjs +146 -146
  1257. package/scripts/_audit/kb-team-omp-e2e.mjs +229 -229
  1258. package/scripts/_audit/run.mjs +21 -21
  1259. package/scripts/_audit/runtime-audit.md +716 -716
  1260. package/scripts/_audit/skills-guided-e2e.mjs +316 -316
  1261. package/scripts/_audit/stability-soak.mjs +252 -252
  1262. package/scripts/_audit/stubs/nuxt-imports.mjs +67 -67
  1263. package/scripts/_audit/ts-register-hook.mjs +12 -12
  1264. package/scripts/_audit/ts-resolve-hook.mjs +96 -96
  1265. package/scripts/_aw0746-stage12.mjs +94 -94
  1266. package/scripts/_aw0746-stage34.mjs +136 -136
  1267. package/scripts/_aw0746-stage6b-train-sweep.mjs +145 -145
  1268. package/scripts/_aw0746-stage6c-jobsmoke.mjs +69 -69
  1269. package/scripts/_dbg-configroot-audit.mjs +86 -86
  1270. package/scripts/_dbg-daq-intervals-func.mjs +115 -115
  1271. package/scripts/_dbg-perms-e2e.mjs +142 -142
  1272. package/scripts/_dbg-protocol-matrix.mjs +462 -462
  1273. package/scripts/_dbg-render-regression.mjs +193 -193
  1274. package/scripts/_dbg-schedule-e2e.mjs +262 -262
  1275. package/scripts/_e2e-ui-functional.mjs +371 -371
  1276. package/scripts/_lib-aml-python-run.mjs +17 -17
  1277. package/scripts/_plc-sim-detached.cjs +22 -22
  1278. package/scripts/_provision-injection-line.mjs +39 -39
  1279. package/scripts/_run-matrix.ps1 +53 -53
  1280. package/scripts/_sweep-button-contrast.mjs +87 -87
  1281. package/scripts/acceptance-aml-hybrid-e2e.ts +396 -396
  1282. package/scripts/acceptance-aml-hybrid-live.mjs +93 -93
  1283. package/scripts/acceptance-aml-model-identity.ts +137 -137
  1284. package/scripts/agent-daq-isolation-e2e.mjs +91 -91
  1285. package/scripts/api-contract-smoke.mjs +126 -126
  1286. package/scripts/ask-hitl-e2e.mjs +96 -96
  1287. package/scripts/aw-expose.mjs +159 -159
  1288. package/scripts/channel-interaction-smoke.mjs +80 -80
  1289. package/scripts/check-docs-sync.mjs +1 -1
  1290. package/scripts/data-studio-ui-e2e.mjs +163 -163
  1291. package/scripts/demo-group-chat-all-real.ts +279 -279
  1292. package/scripts/dev-modbus-simulator.mjs +55 -55
  1293. package/scripts/docs-shots.mjs +36 -36
  1294. package/scripts/e2e-agentteam-chat.mjs +473 -473
  1295. package/scripts/e2e-agentteam-real-triage.mjs +421 -421
  1296. package/scripts/e2e-aml-decoupled.mjs +162 -162
  1297. package/scripts/e2e-aw-tui-global.mjs +277 -277
  1298. package/scripts/e2e-closedloop/cleanup.mjs +27 -27
  1299. package/scripts/e2e-closedloop/lib.mjs +109 -109
  1300. package/scripts/e2e-closedloop/main.mjs +59 -59
  1301. package/scripts/e2e-closedloop/scenarios-accounts.mjs +210 -210
  1302. package/scripts/e2e-closedloop/scenarios-authz.mjs +196 -196
  1303. package/scripts/e2e-closedloop/scenarios-daq-dcw.mjs +222 -222
  1304. package/scripts/e2e-closedloop/scenarios-plugins.mjs +169 -169
  1305. package/scripts/e2e-closedloop/state.mjs +10 -10
  1306. package/scripts/e2e-config-groups.mjs +238 -238
  1307. package/scripts/e2e-crash-cycle.mjs +108 -108
  1308. package/scripts/e2e-direct-rest-simulator-paper.mjs +624 -0
  1309. package/scripts/e2e-eda-pipeline.mjs +307 -0
  1310. package/scripts/e2e-execution-modes.mjs +290 -0
  1311. package/scripts/e2e-full-closedloop.mjs +16 -16
  1312. package/scripts/e2e-hil-multi-user.mjs +307 -307
  1313. package/scripts/e2e-hil-restart.mjs +339 -339
  1314. package/scripts/e2e-injection-recipe-closedloop.mjs +1 -1
  1315. package/scripts/e2e-line-governance.mjs +352 -352
  1316. package/scripts/e2e-mqtt-protocol.mjs +945 -0
  1317. package/scripts/e2e-ontology.mjs +393 -393
  1318. package/scripts/e2e-pi-simulator-paper.mjs +2317 -0
  1319. package/scripts/e2e-plc-plugin-closedloop.mjs +549 -549
  1320. package/scripts/e2e-registered-harness-simulator-paper.mjs +1926 -0
  1321. package/scripts/e2e-resume-crash.mjs +20 -6
  1322. package/scripts/e2e-simulator-optimizer-paper.mjs +264 -0
  1323. package/scripts/e2e-timezone-settings.mjs +4 -2
  1324. package/scripts/fixtures/omp-paper-harness.mjs +163 -0
  1325. package/scripts/full-stack-shots.mjs +145 -145
  1326. package/scripts/full-tool-injection-harness-e2e.mjs +214 -214
  1327. package/scripts/hitl-reject-e2e.mjs +131 -131
  1328. package/scripts/line-log-smoke.mjs +260 -260
  1329. package/scripts/live-aml-mockomp.mjs +304 -304
  1330. package/scripts/live-aml-optloop-resume.mjs +322 -322
  1331. package/scripts/live-aml-optloop.mjs +588 -588
  1332. package/scripts/live-aml-stage9.mjs +169 -169
  1333. package/scripts/live-aml-two-goals.mjs +315 -315
  1334. package/scripts/live-optloop-two-modes.mjs +857 -857
  1335. package/scripts/mes-agent-integration-e2e.mjs +361 -361
  1336. package/scripts/ops-plugins-e2e.mjs +85 -85
  1337. package/scripts/scenario-suite-setup.mjs +337 -337
  1338. package/scripts/scenario-suite-stability.mjs +144 -144
  1339. package/scripts/team-coordination-e2e.mjs +96 -96
  1340. package/scripts/test-agentteam-workflow.ts +472 -472
  1341. package/scripts/test-aw-skills.mjs +102 -102
  1342. package/scripts/test-daq-frame-race.mjs +358 -358
  1343. package/scripts/test-data-root.mjs +208 -208
  1344. package/scripts/test-events-index.mjs +176 -176
  1345. package/scripts/test-group-chat-unit/lib.ts +186 -186
  1346. package/scripts/test-group-chat-unit/main.ts +45 -45
  1347. package/scripts/test-group-chat-unit.ts +35 -35
  1348. package/scripts/test-hitl-decision.ts +526 -526
  1349. package/scripts/test-hitl-registry.ts +112 -112
  1350. package/scripts/test-log-flooding.mjs +160 -160
  1351. package/scripts/test-lru.mjs +101 -101
  1352. package/scripts/test-plugin-hardening.mjs +90 -90
  1353. package/scripts/test-plugin-lifecycle.mjs +173 -173
  1354. package/scripts/test-rollback-index.mjs +137 -137
  1355. package/scripts/test-schedule-runtime.ts +309 -309
  1356. package/scripts/test-sdk-surface.mjs +158 -158
  1357. package/scripts/test-serial-bridge.mjs +418 -418
  1358. package/scripts/test-tui-commands.mjs +148 -148
  1359. package/scripts/test-tui-reducers.mjs +72 -72
  1360. package/scripts/three-system-e2e/lib.mjs +79 -79
  1361. package/scripts/three-system-e2e/main.mjs +40 -40
  1362. package/scripts/three-system-e2e/phases/phase-0-user-token.mjs +42 -42
  1363. package/scripts/three-system-e2e/phases/phase-0a2-line-autoselect.mjs +35 -35
  1364. package/scripts/three-system-e2e/phases/phase-0b-fixture-grants.mjs +39 -39
  1365. package/scripts/three-system-e2e/phases/phase-0c-plugin-outbound-auth.mjs +95 -95
  1366. package/scripts/three-system-e2e/phases/stage-1-health.mjs +47 -47
  1367. package/scripts/three-system-e2e/phases/stage-2-5-team-plugins.mjs +84 -84
  1368. package/scripts/three-system-e2e/phases/stage-2-teams-tools-hitl.mjs +184 -184
  1369. package/scripts/three-system-e2e/phases/stage-3-diag.mjs +73 -73
  1370. package/scripts/three-system-e2e/phases/stage-4-plugin-toggle.mjs +53 -53
  1371. package/scripts/three-system-e2e/state.mjs +87 -87
  1372. package/scripts/three-system-e2e.mjs +40 -40
  1373. package/scripts/tool-face-batch-identity-e2e.mjs +222 -222
  1374. package/scripts/tsconfig.json +14 -14
  1375. package/scripts/tui-smoke.mjs +100 -100
  1376. package/scripts/typecheck.mjs +75 -75
  1377. package/scripts/ui/md-lint.mjs +80 -80
  1378. package/scripts/ui/readme-assets.mjs +30 -30
  1379. package/scripts/ui/readme-shots.mjs +42 -42
  1380. package/scripts/ui/record-demo.mjs +557 -557
  1381. package/scripts/ui/record.mjs +225 -225
  1382. package/scripts/ui/seed-admin.mjs +68 -68
  1383. package/scripts/ui/seed-demo.mjs +83 -83
  1384. package/scripts/ui/seed-industrial-demo.mjs +171 -171
  1385. package/scripts/ui/shot-hero.mjs +25 -25
  1386. package/scripts/ui/shots.mjs +75 -75
  1387. package/scripts/ui/verify-nav.mjs +51 -51
  1388. package/scripts/ui/verify-responsive.mjs +285 -285
  1389. package/sdk/client.d.mts +110 -110
  1390. package/sdk/examples/line-sentinel/index.mjs +105 -105
  1391. package/sdk/examples/ops-notifier/index.mjs +34 -34
  1392. package/sdk/examples/sample-insight/index.mjs +39 -39
  1393. package/server/.mimosa/hook-state/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2.json +1 -0
  1394. package/server/.mimosa/hook-state/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2.mvhn1irp-99488-e3fdc1cbfc.baseline/942d2679b87b96c612b4f2a425c3ccc5b6f3234f0cf589a8441602f866fbe277.source +41 -0
  1395. package/server/.mimosa/hook-state/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2.mvhn1irp-99488-e3fdc1cbfc.baseline/dd617a82339d2c61e49e28e416aabeb2fc100fb3cb1beca18d02dfb833214af6.source +51 -0
  1396. package/server/.mimosa/hook-status/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2-e67b6b91bf.json +14 -0
  1397. package/server/api/plugins/client/[name].get.ts +18 -18
  1398. package/server/api/plugins/i18n.get.ts +12 -12
  1399. package/server/api/plugins/manifest.get.ts +10 -10
  1400. package/server/api/system/backup/list.get.ts +32 -32
  1401. package/server/api/system/backup/run.post.ts +21 -21
  1402. package/server/api/system/config-groups/[id].delete.ts +21 -21
  1403. package/server/api/system/config-groups/[id].patch.ts +26 -26
  1404. package/server/api/system/config-groups/index.get.ts +21 -21
  1405. package/server/api/system/config-groups/index.post.ts +33 -33
  1406. package/server/api/system/timezone.get.ts +20 -20
  1407. package/server/api/users/tokens/[id]/token.get.ts +11 -11
  1408. package/server/api/workshop/[...path].ts +13 -13
  1409. package/server/api/workshop/agent-tools/approvals/index.get.ts +43 -43
  1410. package/server/api/workshop/agent-tools/bindings/[id].delete.ts +26 -26
  1411. package/server/api/workshop/agent-tools/bindings/grant.post.ts +45 -45
  1412. package/server/api/workshop/agent-tools/bindings/index.get.ts +41 -41
  1413. package/server/api/workshop/agent-tools/bindings/revoke.post.ts +42 -42
  1414. package/server/api/workshop/aml/datasets/[id]/preview.get.ts +68 -68
  1415. package/server/api/workshop/aml/datasets/[id].delete.ts +39 -39
  1416. package/server/api/workshop/aml/datasets/[id].get.ts +53 -53
  1417. package/server/api/workshop/aml/datasets/[id].patch.ts +30 -30
  1418. package/server/api/workshop/aml/datasets/index.get.ts +20 -20
  1419. package/server/api/workshop/aml/datasets/index.post.ts +27 -27
  1420. package/server/api/workshop/aml/entities/index.get.ts +13 -13
  1421. package/server/api/workshop/aml/entities/prune.post.ts +28 -28
  1422. package/server/api/workshop/aml/env/index.get.ts +13 -13
  1423. package/server/api/workshop/aml/env/recheck.post.ts +14 -14
  1424. package/server/api/workshop/aml/env/uv.post.ts +21 -21
  1425. package/server/api/workshop/aml/env/venv.post.ts +24 -24
  1426. package/server/api/workshop/aml/experiments/index.get.ts +35 -35
  1427. package/server/api/workshop/aml/index.get.ts +37 -37
  1428. package/server/api/workshop/aml/jobs/[id]/cancel.post.ts +21 -21
  1429. package/server/api/workshop/aml/jobs/[id]/logs.get.ts +23 -23
  1430. package/server/api/workshop/aml/jobs/[id]/retry.post.ts +20 -20
  1431. package/server/api/workshop/aml/jobs/[id].delete.ts +44 -44
  1432. package/server/api/workshop/aml/jobs/[id].get.ts +23 -23
  1433. package/server/api/workshop/aml/jobs/index.get.ts +26 -26
  1434. package/server/api/workshop/aml/models/[id]/predict.post.ts +24 -24
  1435. package/server/api/workshop/aml/models/[id]/promote.post.ts +30 -30
  1436. package/server/api/workshop/aml/models/index.get.ts +48 -48
  1437. package/server/api/workshop/aml/training-plans/[id]/train.post.ts +18 -18
  1438. package/server/api/workshop/aml/training-plans/[id].delete.ts +18 -18
  1439. package/server/api/workshop/aml/training-plans/[id].patch.ts +30 -30
  1440. package/server/api/workshop/aml/training-plans/index.get.ts +9 -9
  1441. package/server/api/workshop/aml/training-plans/index.post.ts +43 -43
  1442. package/server/api/workshop/analysis/index.post.ts +54 -0
  1443. package/server/api/workshop/approvals/[id]/decide.post.ts +30 -30
  1444. package/server/api/workshop/approvals/index.get.ts +22 -22
  1445. package/server/api/workshop/audit.get.ts +43 -43
  1446. package/server/api/workshop/channels/[id]/chat/messages/[messageId]/read.post.ts +22 -22
  1447. package/server/api/workshop/channels/[id]/chat/messages/index.get.ts +29 -29
  1448. package/server/api/workshop/channels/[id]/chat/messages/index.post.ts +51 -51
  1449. package/server/api/workshop/channels/[id]/chat/permissions.get.ts +35 -35
  1450. package/server/api/workshop/channels/[id]/execution-mode.patch.ts +94 -0
  1451. package/server/api/workshop/channels/[id]/index.patch.ts +64 -64
  1452. package/server/api/workshop/channels/[id]/members/[userId]/approve.post.ts +20 -20
  1453. package/server/api/workshop/channels/[id]/members/[userId].delete.ts +21 -21
  1454. package/server/api/workshop/channels/[id]/members/index.get.ts +23 -23
  1455. package/server/api/workshop/channels/[id]/members/leave.post.ts +20 -20
  1456. package/server/api/workshop/channels/[id]/twin-profile.get.ts +45 -45
  1457. package/server/api/workshop/channels/[id]/twin-profile.patch.ts +72 -72
  1458. package/server/api/workshop/daq/[id]/frames/content.get.ts +3 -0
  1459. package/server/api/workshop/daq/[id]/ingest.post.ts +5 -0
  1460. package/server/api/workshop/daq/[id]/test.post.ts +1 -1
  1461. package/server/api/workshop/daq/alarms.get.ts +16 -16
  1462. package/server/api/workshop/dcw/[id]/write.post.ts +4 -4
  1463. package/server/api/workshop/dcw/[id].delete.ts +41 -41
  1464. package/server/api/workshop/dcw/[id].patch.ts +40 -40
  1465. package/server/api/workshop/dcw/mes-hook-test.post.ts +5 -3
  1466. package/server/api/workshop/dcw/mes-test-read.post.ts +24 -24
  1467. package/server/api/workshop/dcw/params/[id]/read.post.ts +17 -17
  1468. package/server/api/workshop/dcw/params/[id]/write.post.ts +21 -21
  1469. package/server/api/workshop/dcw/params/[id].delete.ts +19 -19
  1470. package/server/api/workshop/dcw/params/[id].patch.ts +23 -23
  1471. package/server/api/workshop/dcw/params/index.get.ts +27 -27
  1472. package/server/api/workshop/dcw/params/index.post.ts +25 -25
  1473. package/server/api/workshop/dcw/products/[id].delete.ts +6 -2
  1474. package/server/api/workshop/dcw/products/[id].patch.ts +8 -2
  1475. package/server/api/workshop/dcw/recipes/[id]/index.patch.ts +6 -1
  1476. package/server/api/workshop/dcw/recipes/[id]/versions.get.ts +14 -14
  1477. package/server/api/workshop/dcw/recipes/[id].delete.ts +25 -25
  1478. package/server/api/workshop/dcw/recipes/index.get.ts +12 -12
  1479. package/server/api/workshop/dcw/runs/[id]/close.post.ts +15 -15
  1480. package/server/api/workshop/dcw/templates/[key].delete.ts +14 -14
  1481. package/server/api/workshop/dcw/templates/[key].patch.ts +16 -16
  1482. package/server/api/workshop/dcw/templates/index.post.ts +15 -15
  1483. package/server/api/workshop/dcw/test-driver.post.ts +16 -16
  1484. package/server/api/workshop/device-twins/[id].delete.ts +25 -25
  1485. package/server/api/workshop/eda/runs/[id]/labels.patch.ts +25 -25
  1486. package/server/api/workshop/eda/templates/[id].delete.ts +14 -0
  1487. package/server/api/workshop/eda/templates/[id].get.ts +15 -0
  1488. package/server/api/workshop/eda/templates/[id].patch.ts +20 -0
  1489. package/server/api/workshop/eda/templates/index.get.ts +11 -0
  1490. package/server/api/workshop/eda/templates/index.post.ts +20 -0
  1491. package/server/api/workshop/exp/confirmations/[id]/decide.post.ts +41 -41
  1492. package/server/api/workshop/exp/confirmations/index.get.ts +25 -25
  1493. package/server/api/workshop/harnesses/[id]/providers.get.ts +16 -16
  1494. package/server/api/workshop/hitl/respond.post.ts +94 -94
  1495. package/server/api/workshop/mes/secrets/[ref].delete.ts +31 -0
  1496. package/server/api/workshop/mes/secrets/index.get.ts +13 -0
  1497. package/server/api/workshop/mes/secrets/index.put.ts +39 -0
  1498. package/server/api/workshop/notifications/index.get.ts +60 -60
  1499. package/server/api/workshop/notifications/read.post.ts +31 -31
  1500. package/server/api/workshop/ontology/drafts/[draftId]/subgraph.ts +24 -24
  1501. package/server/api/workshop/plugins/[name]/disable.post.ts +21 -21
  1502. package/server/api/workshop/plugins/[name]/enable.post.ts +21 -21
  1503. package/server/api/workshop/plugins/[name]/index.get.ts +14 -14
  1504. package/server/api/workshop/schedules/[id]/run.post.ts +15 -15
  1505. package/server/api/workshop/schedules/[id]/runs.get.ts +15 -15
  1506. package/server/api/workshop/schedules/[id].delete.ts +14 -14
  1507. package/server/api/workshop/schedules/[id].get.ts +13 -13
  1508. package/server/api/workshop/schedules/[id].patch.ts +29 -29
  1509. package/server/api/workshop/schedules/index.get.ts +12 -12
  1510. package/server/api/workshop/schedules/index.post.ts +32 -32
  1511. package/server/api/workshop/tasks/[id]/reassign.post.ts +32 -32
  1512. package/server/api/workshop/tasks/[id]/update.post.ts +35 -35
  1513. package/server/api/workshop/teams/[id]/plugins/index.get.ts +36 -36
  1514. package/server/api/workshop/teams/[id]/plugins/index.put.ts +42 -42
  1515. package/server/api/workshop/ws/audience.ts +56 -56
  1516. package/server/api/workshop/ws/db-buffer.ts +68 -68
  1517. package/server/api/workshop/ws/event-mapping.ts +47 -47
  1518. package/server/api/workshop/ws/handlers.ts +132 -132
  1519. package/server/api/workshop/ws/hub.ts +133 -133
  1520. package/server/api/workshop/ws/index.ts +23 -23
  1521. package/server/api/workshop/ws/notification-uplink.ts +77 -77
  1522. package/server/api/workshop/ws/shared.ts +94 -94
  1523. package/server/api/workshop/ws/streams.ts +146 -146
  1524. package/server/middleware/00-security-headers.ts +38 -38
  1525. package/server/middleware/01-rate-guard.ts +101 -101
  1526. package/server/plugins/aml-twin-worker.ts +32 -32
  1527. package/server/plugins/dev-stability-guard.ts +42 -42
  1528. package/server/plugins-builtin/diag-bridge/host/constants.mjs +25 -25
  1529. package/server/plugins-builtin/diag-bridge/host/exports.mjs +104 -104
  1530. package/server/plugins-builtin/diag-bridge/host/index.mjs +15 -15
  1531. package/server/plugins-builtin/diag-bridge/host/intents.mjs +62 -62
  1532. package/server/plugins-builtin/diag-bridge/host/snapshot.mjs +93 -93
  1533. package/server/plugins-builtin/diag-bridge/index.mjs +9 -9
  1534. package/server/plugins-builtin/serial-bridge/client.mjs +211 -211
  1535. package/server/plugins-builtin/serial-bridge/drivers.mjs +409 -409
  1536. package/server/plugins-builtin/serial-bridge/i18n.json +62 -62
  1537. package/server/plugins-builtin/serial-bridge/index.mjs +247 -247
  1538. package/server/plugins-builtin/serial-bridge/lib.mjs +208 -208
  1539. package/server/plugins-builtin/serial-bridge/rtu.mjs +168 -168
  1540. package/server/services/system-config/contracts.ts +29 -29
  1541. package/server/services/system-config/dispose.ts +19 -19
  1542. package/server/services/system-config/facade.ts +26 -26
  1543. package/server/services/system-config/groups.ts +108 -108
  1544. package/server/services/system-config/index.ts +21 -21
  1545. package/server/services/system-config/init.ts +26 -26
  1546. package/server/services/system-config/mutate.ts +103 -103
  1547. package/server/services/system-config/plugins.ts +104 -104
  1548. package/server/services/system-config/snapshot.ts +59 -59
  1549. package/server/services/system-config/state.ts +79 -79
  1550. package/server/services/system-config/types.ts +58 -58
  1551. package/server/services/workshop/.mimosa/hook-state/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f.json +1 -0
  1552. package/server/services/workshop/.mimosa/hook-status/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f-e6b75bbfe6.json +14 -0
  1553. package/server/services/workshop/agents/adapters/omp-rpc-client/api.ts +111 -111
  1554. package/server/services/workshop/agents/adapters/omp-rpc-client/contracts.ts +22 -22
  1555. package/server/services/workshop/agents/adapters/omp-rpc-client/facade.ts +7 -7
  1556. package/server/services/workshop/agents/adapters/omp-rpc-client/frames.ts +18 -0
  1557. package/server/services/workshop/agents/adapters/omp-rpc-client/helpers.ts +38 -38
  1558. package/server/services/workshop/agents/adapters/omp-rpc-client/index.ts +25 -25
  1559. package/server/services/workshop/agents/adapters/omp-rpc-client/start.ts +70 -70
  1560. package/server/services/workshop/agents/adapters/omp-rpc-client/state.ts +65 -65
  1561. package/server/services/workshop/agents/adapters/omp-rpc-client/stdout.ts +92 -92
  1562. package/server/services/workshop/agents/adapters/omp-rpc-client/usage.ts +47 -47
  1563. package/server/services/workshop/agents/agent-badge.ts +38 -38
  1564. package/server/services/workshop/agents/binding-authz.ts +60 -60
  1565. package/server/services/workshop/agents/binding-mode.ts +51 -51
  1566. package/server/services/workshop/agents/codex-agent/client.ts +170 -170
  1567. package/server/services/workshop/agents/codex-agent/core.ts +119 -119
  1568. package/server/services/workshop/agents/codex-agent/facade.ts +8 -8
  1569. package/server/services/workshop/agents/codex-agent/helpers.ts +13 -13
  1570. package/server/services/workshop/agents/codex-agent/hitl.ts +138 -138
  1571. package/server/services/workshop/agents/codex-agent/index.ts +14 -14
  1572. package/server/services/workshop/agents/codex-agent/turn.ts +367 -367
  1573. package/server/services/workshop/agents/codex-agent/types.ts +42 -42
  1574. package/server/services/workshop/agents/execution-mode.ts +90 -0
  1575. package/server/services/workshop/agents/harness-process.ts +3 -3
  1576. package/server/services/workshop/agents/harness-terminal/api.ts +197 -197
  1577. package/server/services/workshop/agents/harness-terminal/index.ts +17 -17
  1578. package/server/services/workshop/agents/harness-terminal/io.ts +120 -120
  1579. package/server/services/workshop/agents/harness-terminal/park.ts +55 -55
  1580. package/server/services/workshop/agents/harness-terminal/sanitize.ts +98 -98
  1581. package/server/services/workshop/agents/harness-terminal/session.ts +124 -124
  1582. package/server/services/workshop/agents/harness-terminal/shared.ts +74 -74
  1583. package/server/services/workshop/agents/hitl-capabilities.ts +312 -312
  1584. package/server/services/workshop/agents/hitl-decision/answers.ts +32 -32
  1585. package/server/services/workshop/agents/hitl-decision/decide.ts +268 -268
  1586. package/server/services/workshop/agents/hitl-decision/payload.ts +45 -45
  1587. package/server/services/workshop/agents/hitl-decision/shared.ts +108 -108
  1588. package/server/services/workshop/agents/hitl-decision/visibility.ts +94 -94
  1589. package/server/services/workshop/agents/host-tool-bridge/catalog.ts +42 -13
  1590. package/server/services/workshop/agents/host-tool-bridge/dispatch.ts +16 -0
  1591. package/server/services/workshop/agents/host-tool-bridge/per-agent.ts +10 -8
  1592. package/server/services/workshop/agents/host-tool-bridge/tools/progress.ts +84 -84
  1593. package/server/services/workshop/agents/host-tool-bridge/tools/team-delegation.ts +104 -104
  1594. package/server/services/workshop/agents/host-tool-bridge/tools/team.ts +70 -70
  1595. package/server/services/workshop/agents/industrial/aml-activity.ts +131 -131
  1596. package/server/services/workshop/agents/industrial/audit-query.ts +66 -66
  1597. package/server/services/workshop/agents/industrial/daq-export.ts +9 -8
  1598. package/server/services/workshop/agents/industrial/daq-tools.ts +43 -6
  1599. package/server/services/workshop/agents/industrial/dcw-tools.ts +22 -4
  1600. package/server/services/workshop/agents/industrial/exp-tools.ts +104 -104
  1601. package/server/services/workshop/agents/industrial/grant-guard.ts +52 -9
  1602. package/server/services/workshop/agents/industrial/ops-tools.ts +54 -16
  1603. package/server/services/workshop/agents/industrial/param-tools.ts +69 -69
  1604. package/server/services/workshop/agents/industrial/recipe-gate.ts +25 -7
  1605. package/server/services/workshop/agents/industrial/recipe-propose-tools.ts +1 -1
  1606. package/server/services/workshop/agents/industrial-context.ts +160 -83
  1607. package/server/services/workshop/agents/node-bindings.repo.ts +207 -207
  1608. package/server/services/workshop/agents/node-delegation.ts +159 -159
  1609. package/server/services/workshop/agents/omp-agent/core.ts +146 -146
  1610. package/server/services/workshop/agents/omp-agent/facade.ts +8 -8
  1611. package/server/services/workshop/agents/omp-agent/helpers.ts +37 -37
  1612. package/server/services/workshop/agents/omp-agent/index.ts +16 -16
  1613. package/server/services/workshop/agents/omp-agent/supervision-history.ts +38 -0
  1614. package/server/services/workshop/agents/omp-agent/tools-steer.ts +18 -1
  1615. package/server/services/workshop/agents/omp-agent/types.ts +45 -45
  1616. package/server/services/workshop/agents/opencode-agent/core.ts +77 -77
  1617. package/server/services/workshop/agents/opencode-agent/facade.ts +8 -8
  1618. package/server/services/workshop/agents/opencode-agent/helpers.ts +29 -29
  1619. package/server/services/workshop/agents/opencode-agent/hitl.ts +113 -113
  1620. package/server/services/workshop/agents/opencode-agent/index.ts +16 -16
  1621. package/server/services/workshop/agents/opencode-agent/lifecycle.ts +44 -44
  1622. package/server/services/workshop/agents/opencode-agent/server.ts +244 -244
  1623. package/server/services/workshop/agents/opencode-agent/turn.ts +278 -278
  1624. package/server/services/workshop/agents/opencode-agent/types.ts +54 -54
  1625. package/server/services/workshop/agents/prompt-i18n.ts +67 -0
  1626. package/server/services/workshop/agents/tool-classes.ts +44 -44
  1627. package/server/services/workshop/aml/clean.ts +120 -120
  1628. package/server/services/workshop/aml/entity.ts +367 -367
  1629. package/server/services/workshop/aml/job-orchestrator/broadcast.ts +37 -37
  1630. package/server/services/workshop/aml/job-orchestrator/control.ts +94 -94
  1631. package/server/services/workshop/aml/job-orchestrator/failure.ts +96 -96
  1632. package/server/services/workshop/aml/job-orchestrator/index.ts +22 -22
  1633. package/server/services/workshop/aml/job-orchestrator/process.ts +101 -101
  1634. package/server/services/workshop/aml/job-orchestrator/shared.ts +53 -53
  1635. package/server/services/workshop/aml/job-orchestrator/status.ts +20 -20
  1636. package/server/services/workshop/aml/job-orchestrator/tick.ts +37 -37
  1637. package/server/services/workshop/aml/python/__pycache__/aml_eval.cpython-312.pyc +0 -0
  1638. package/server/services/workshop/aml/python/__pycache__/amlkit.cpython-312.pyc +0 -0
  1639. package/server/services/workshop/aml/python/__pycache__/train-example.cpython-312.pyc +0 -0
  1640. package/server/services/workshop/aml/python/__pycache__/train-hybrid-example.cpython-312.pyc +0 -0
  1641. package/server/services/workshop/aml/python/train-example.py +92 -92
  1642. package/server/services/workshop/aml/runtime.ts +137 -137
  1643. package/server/services/workshop/aml/stats.ts +140 -140
  1644. package/server/services/workshop/aml/twin/calibration-worker.ts +150 -150
  1645. package/server/services/workshop/aml/twin/channel-profile.ts +12 -8
  1646. package/server/services/workshop/aml/twin/model-backed-provider.ts +332 -332
  1647. package/server/services/workshop/aml/twin/physics-spec-draft.ts +185 -185
  1648. package/server/services/workshop/aml/twin/prompt-composer.ts +143 -143
  1649. package/server/services/workshop/aml/twin/training-plans.ts +260 -260
  1650. package/server/services/workshop/aml/twin/write-guard.ts +19 -19
  1651. package/server/services/workshop/assets/character-asset.repo.ts +1 -1
  1652. package/server/services/workshop/assets/device-twin.repo.ts +1 -1
  1653. package/server/services/workshop/daq/bus/index.ts +12 -5
  1654. package/server/services/workshop/daq/daq-controller/contracts.ts +39 -39
  1655. package/server/services/workshop/daq/daq-controller/driver-probe.ts +7 -4
  1656. package/server/services/workshop/daq/daq-controller/facade.ts +28 -28
  1657. package/server/services/workshop/daq/daq-controller/frames.ts +137 -137
  1658. package/server/services/workshop/daq/daq-controller/helpers.ts +52 -52
  1659. package/server/services/workshop/daq/daq-controller/index.ts +22 -22
  1660. package/server/services/workshop/daq/daq-controller/ingest.ts +9 -10
  1661. package/server/services/workshop/daq/daq-controller/push.ts +336 -0
  1662. package/server/services/workshop/daq/daq-controller/runtime-control.ts +2 -0
  1663. package/server/services/workshop/daq/daq-controller/state.ts +11 -3
  1664. package/server/services/workshop/daq/daq-controller/sweep-alarms.ts +10 -2
  1665. package/server/services/workshop/daq/daq-controller/tsdb-row.ts +48 -0
  1666. package/server/services/workshop/daq/daq-controller/tsdb-twin.ts +4 -1
  1667. package/server/services/workshop/daq/daq-controller/views.ts +5 -2
  1668. package/server/services/workshop/daq/decoders.ts +77 -0
  1669. package/server/services/workshop/daq/drivers/http.ts +33 -6
  1670. package/server/services/workshop/daq/drivers/index.ts +3 -3
  1671. package/server/services/workshop/daq/drivers/mock.ts +130 -130
  1672. package/server/services/workshop/daq/drivers/modbus-rtu.ts +67 -67
  1673. package/server/services/workshop/daq/drivers/modbus-tcp.ts +307 -307
  1674. package/server/services/workshop/daq/drivers/mqtt-decode.ts +292 -0
  1675. package/server/services/workshop/daq/drivers/mqtt.ts +417 -94
  1676. package/server/services/workshop/daq/drivers/opcua.ts +227 -227
  1677. package/server/services/workshop/daq/drivers/s7-stub.ts +29 -29
  1678. package/server/services/workshop/daq/drivers/shared.ts +30 -1
  1679. package/server/services/workshop/daq/export-limits.ts +38 -0
  1680. package/server/services/workshop/daq/frames.ts +8 -2
  1681. package/server/services/workshop/daq/host-bindings.ts +71 -71
  1682. package/server/services/workshop/daq/host-ports.ts +65 -65
  1683. package/server/services/workshop/daq/plugin-bridge.ts +24 -2
  1684. package/server/services/workshop/daq/storage/latest-window.ts +132 -0
  1685. package/server/services/workshop/db/aml-team-seeds.ts +118 -118
  1686. package/server/services/workshop/db/backup-registry.ts +33 -33
  1687. package/server/services/workshop/db/channel-member.repo.ts +122 -122
  1688. package/server/services/workshop/db/channel.repo.ts +203 -203
  1689. package/server/services/workshop/db/chat-message.repo.ts +233 -233
  1690. package/server/services/workshop/db/database/index.ts +18 -18
  1691. package/server/services/workshop/db/database/json.ts +14 -14
  1692. package/server/services/workshop/db/database/migrations.ts +8 -0
  1693. package/server/services/workshop/db/database/open.ts +3 -1
  1694. package/server/services/workshop/db/database/schema.ts +1 -0
  1695. package/server/services/workshop/db/database/seed-data.ts +60 -60
  1696. package/server/services/workshop/db/hitl-request.repo.ts +221 -221
  1697. package/server/services/workshop/db/notification.repo.ts +199 -199
  1698. package/server/services/workshop/db/readonly.ts +30 -30
  1699. package/server/services/workshop/db/scheduled-task.repo.ts +235 -235
  1700. package/server/services/workshop/db/transaction.ts +72 -72
  1701. package/server/services/workshop/dcw/dcw-controller/actuation.ts +6 -0
  1702. package/server/services/workshop/dcw/dcw-controller/contracts.ts +16 -16
  1703. package/server/services/workshop/dcw/dcw-controller/control.ts +78 -78
  1704. package/server/services/workshop/dcw/dcw-controller/facade.ts +19 -19
  1705. package/server/services/workshop/dcw/dcw-controller/index.ts +22 -22
  1706. package/server/services/workshop/dcw/dcw-controller/params.ts +97 -97
  1707. package/server/services/workshop/dcw/dcw-controller/products.ts +103 -103
  1708. package/server/services/workshop/dcw/dcw-controller/write-audit.ts +1 -1
  1709. package/server/services/workshop/dcw/dcw-templates.ts +136 -136
  1710. package/server/services/workshop/dcw/drivers/http.ts +41 -15
  1711. package/server/services/workshop/dcw/drivers/mes-rest.ts +14 -51
  1712. package/server/services/workshop/dcw/drivers/mqtt.ts +58 -7
  1713. package/server/services/workshop/dcw/drivers/shared.ts +3 -0
  1714. package/server/services/workshop/dcw/param-conversion.ts +78 -78
  1715. package/server/services/workshop/dcw/param-map.repo.ts +349 -349
  1716. package/server/services/workshop/dcw/plugin-bridge.ts +45 -45
  1717. package/server/services/workshop/dcw/recipe-rollback-manager/contracts.ts +26 -26
  1718. package/server/services/workshop/dcw/recipe-rollback-manager/facade.ts +13 -13
  1719. package/server/services/workshop/dcw/recipe-rollback-manager/helpers.ts +30 -30
  1720. package/server/services/workshop/dcw/recipe-rollback-manager/index.ts +17 -17
  1721. package/server/services/workshop/dcw/recipe-rollback-manager/internal.ts +33 -33
  1722. package/server/services/workshop/dcw/recipe-rollback-manager/judge.ts +52 -52
  1723. package/server/services/workshop/dcw/recipe-rollback-manager/lock.ts +137 -137
  1724. package/server/services/workshop/dcw/recipe-rollback-manager/rollback.ts +190 -190
  1725. package/server/services/workshop/dcw/recipe-rollback-manager/state.ts +21 -21
  1726. package/server/services/workshop/dcw/recipe-rollback-manager/sweep.ts +77 -77
  1727. package/server/services/workshop/dcw/recipe-rollback-manager/types.ts +3 -3
  1728. package/server/services/workshop/dcw/recipe-rollback-manager/views.ts +214 -214
  1729. package/server/services/workshop/eda/chart-repo.ts +19 -2
  1730. package/server/services/workshop/eda/data-export.ts +3 -3
  1731. package/server/services/workshop/eda/data-query.ts +4 -1
  1732. package/server/services/workshop/eda/eda-db.ts +13 -0
  1733. package/server/services/workshop/eda/template-repo.ts +101 -0
  1734. package/server/services/workshop/exp/exp-collector.ts +275 -275
  1735. package/server/services/workshop/exp/exp-state.repo.ts +339 -339
  1736. package/server/services/workshop/mes/mes-controller.ts +1155 -1155
  1737. package/server/services/workshop/mes/mes-hook.ts +567 -567
  1738. package/server/services/workshop/mes/mes-secrets.repo.ts +119 -0
  1739. package/server/services/workshop/net/secret-auth.ts +84 -0
  1740. package/server/services/workshop/net/ssrf.ts +74 -0
  1741. package/server/services/workshop/ontology/subgraph.core.ts +300 -300
  1742. package/server/services/workshop/ontology/subgraph.service.ts +113 -113
  1743. package/server/services/workshop/optimization/access.ts +24 -30
  1744. package/server/services/workshop/optimization/python/.mimosa/hook-state/session_187ec97f45d4bd02369bbe94da527cf1.json +1 -0
  1745. package/server/services/workshop/optimization/python/.mimosa/hook-state/session_187ec97f45d4bd02369bbe94da527cf1.mvjqkcs6-68688-fb7131a89c.baseline/190a6772a4e43801737b4ba6072eb9d53d3099b5d8a9e6f57bc5e8592a26a6c4.source +274 -0
  1746. package/server/services/workshop/optimization/python/.mimosa/hook-status/session_187ec97f45d4bd02369bbe94da527cf1-01ed7f04fa.json +14 -0
  1747. package/server/services/workshop/optimization/python/__pycache__/problems.cpython-312.pyc +0 -0
  1748. package/server/services/workshop/plugins/host/api.mjs +90 -90
  1749. package/server/services/workshop/plugins/host/config.mjs +135 -135
  1750. package/server/services/workshop/plugins/host/index.mjs +23 -23
  1751. package/server/services/workshop/plugins/host/init.mjs +109 -109
  1752. package/server/services/workshop/plugins/host/load.mjs +14 -1
  1753. package/server/services/workshop/plugins/host/reload.mjs +6 -0
  1754. package/server/services/workshop/plugins/host/rollback.mjs +72 -72
  1755. package/server/services/workshop/plugins/host/state.mjs +54 -54
  1756. package/server/services/workshop/plugins/host/toggle.mjs +64 -64
  1757. package/server/services/workshop/plugins/host.mjs +9 -9
  1758. package/server/services/workshop/prompts/loader.ts +45 -8
  1759. package/server/services/workshop/runtime/agent-runtime/facade.ts +7 -7
  1760. package/server/services/workshop/runtime/agent-runtime/helpers.ts +18 -18
  1761. package/server/services/workshop/runtime/agent-runtime/index.ts +19 -19
  1762. package/server/services/workshop/runtime/agent-runtime/lifecycle.ts +137 -137
  1763. package/server/services/workshop/runtime/chat-mention.ts +164 -164
  1764. package/server/services/workshop/runtime/chat-projection.ts +246 -246
  1765. package/server/services/workshop/runtime/manager/admin-agents.ts +268 -268
  1766. package/server/services/workshop/runtime/manager/admin-channel.ts +5 -0
  1767. package/server/services/workshop/runtime/manager/bus.ts +182 -182
  1768. package/server/services/workshop/runtime/manager/channel-template-constants.ts +20 -20
  1769. package/server/services/workshop/runtime/manager/chat-reply.ts +181 -181
  1770. package/server/services/workshop/runtime/manager/chat.ts +384 -384
  1771. package/server/services/workshop/runtime/manager/facade.ts +24 -24
  1772. package/server/services/workshop/runtime/manager/helpers.ts +119 -119
  1773. package/server/services/workshop/runtime/manager/index.ts +42 -42
  1774. package/server/services/workshop/runtime/manager/internal.ts +73 -73
  1775. package/server/services/workshop/runtime/manager/notifications.ts +108 -108
  1776. package/server/services/workshop/runtime/manager/teams.ts +148 -148
  1777. package/server/services/workshop/runtime/memory/contracts.ts +18 -18
  1778. package/server/services/workshop/runtime/memory/facade.ts +10 -10
  1779. package/server/services/workshop/runtime/memory/helpers.ts +196 -196
  1780. package/server/services/workshop/runtime/memory/index.ts +27 -27
  1781. package/server/services/workshop/runtime/memory/score.ts +33 -33
  1782. package/server/services/workshop/runtime/memory/state.ts +40 -40
  1783. package/server/services/workshop/runtime/monitor.ts +3 -3
  1784. package/server/services/workshop/runtime/platform-notice.ts +113 -113
  1785. package/server/services/workshop/runtime/schedule-runtime.ts +347 -347
  1786. package/server/services/workshop/runtime/scheduler-loop/contracts.ts +29 -29
  1787. package/server/services/workshop/runtime/scheduler-loop/facade.ts +7 -7
  1788. package/server/services/workshop/runtime/scheduler-loop/helpers.ts +14 -14
  1789. package/server/services/workshop/runtime/scheduler-loop/index.ts +16 -16
  1790. package/server/services/workshop/runtime/task-engine/facade.ts +7 -7
  1791. package/server/services/workshop/runtime/task-engine/index.ts +15 -15
  1792. package/server/services/workshop/runtime/task-engine/types.ts +3 -3
  1793. package/server/services/workshop/runtime/user-notification-hub.ts +192 -192
  1794. package/server/services/workshop/tools/types.ts +1 -0
  1795. package/server/types/pg.d.ts +49 -49
  1796. package/server/utils/approval-gate.ts +67 -67
  1797. package/server/utils/mojibake-guard.ts +29 -29
  1798. package/server/utils/stability-severity.ts +77 -77
  1799. package/shared/config/groups.mjs +241 -241
  1800. package/shared/config/schema.json +2 -0
  1801. package/shared/daq-protocol.ts +30 -2
  1802. package/shared/dcw-protocol/catalog.ts +15 -3
  1803. package/shared/dcw-protocol/closed-loop.ts +2 -0
  1804. package/shared/lru.mjs +97 -97
  1805. package/tui/README.md +74 -74
  1806. package/tui/aw-tui.mjs +445 -445
  1807. package/tui/commands/index.mjs +287 -287
  1808. package/tui/components/chat-log.mjs +42 -42
  1809. package/tui/components/monitor-pane.mjs +39 -39
  1810. package/tui/components/root.mjs +53 -53
  1811. package/tui/components/status-bar.mjs +33 -33
  1812. package/tui/lib/api.mjs +82 -82
  1813. package/tui/lib/pickers.mjs +121 -121
  1814. package/tui/lib/reducers.mjs +218 -218
  1815. package/tui/lib/state.mjs +86 -86
  1816. package/tui/lib/virtual-terminal.mjs +48 -48
  1817. package/tui/lib/ws.mjs +125 -125
  1818. package/tui/theme.mjs +38 -38
  1819. package/.output/public/_nuxt/0qvcO_KM2.js +0 -1
  1820. package/.output/public/_nuxt/2Kwo_j9G2.js +0 -1
  1821. package/.output/public/_nuxt/39W1CH-l2.js +0 -1
  1822. package/.output/public/_nuxt/7xbYPfY6.js +0 -1
  1823. package/.output/public/_nuxt/8SZLbrI42.js +0 -1
  1824. package/.output/public/_nuxt/ATAvN55g.js +0 -1
  1825. package/.output/public/_nuxt/B3eCVqcT2.js +0 -1
  1826. package/.output/public/_nuxt/B4JlRHBB2.js +0 -1
  1827. package/.output/public/_nuxt/B9qIhT7k2.js +0 -1
  1828. package/.output/public/_nuxt/BE9oKpOt.js +0 -1
  1829. package/.output/public/_nuxt/BVGzwAxr2.js +0 -16
  1830. package/.output/public/_nuxt/BY3Lbz3h.js +0 -1
  1831. package/.output/public/_nuxt/BbACaREb.js +0 -1
  1832. package/.output/public/_nuxt/Bbk1XCCM.js +0 -14
  1833. package/.output/public/_nuxt/BcosvNXb2.js +0 -1
  1834. package/.output/public/_nuxt/BiZWwdcD2.js +0 -1
  1835. package/.output/public/_nuxt/Bq-tmkst.js +0 -1
  1836. package/.output/public/_nuxt/BxxpJxZf2.js +0 -1
  1837. package/.output/public/_nuxt/C1-SuwUN.js +0 -1
  1838. package/.output/public/_nuxt/C2Yp-B8m.js +0 -1
  1839. package/.output/public/_nuxt/C5OStZJ62.js +0 -1
  1840. package/.output/public/_nuxt/CDL30A2z2.js +0 -1
  1841. package/.output/public/_nuxt/CEvJu-xI.js +0 -1
  1842. package/.output/public/_nuxt/CMzExk8F.js +0 -1
  1843. package/.output/public/_nuxt/CT4bi_Y4.js +0 -1
  1844. package/.output/public/_nuxt/CZYNy60j2.js +0 -1
  1845. package/.output/public/_nuxt/CeCSjB9O2.js +0 -1
  1846. package/.output/public/_nuxt/CjF4QY9h.js +0 -1
  1847. package/.output/public/_nuxt/Cot5VNae.js +0 -1
  1848. package/.output/public/_nuxt/Crf8_Ad02.js +0 -1
  1849. package/.output/public/_nuxt/D1C6qtS12.js +0 -1
  1850. package/.output/public/_nuxt/D37gODe0.js +0 -1
  1851. package/.output/public/_nuxt/D6FhDrYe2.js +0 -1
  1852. package/.output/public/_nuxt/D8HQPtm62.js +0 -1
  1853. package/.output/public/_nuxt/D9O4L4jK.js +0 -1
  1854. package/.output/public/_nuxt/D9tNM-1a.js +0 -9
  1855. package/.output/public/_nuxt/DAug2CPf.js +0 -21
  1856. package/.output/public/_nuxt/DF9ETYJ32.js +0 -1
  1857. package/.output/public/_nuxt/DWe6BMlp2.js +0 -1
  1858. package/.output/public/_nuxt/DbhTN7-T.js +0 -47
  1859. package/.output/public/_nuxt/DdyE0ylS.js +0 -1
  1860. package/.output/public/_nuxt/DgGzwjAr2.js +0 -2
  1861. package/.output/public/_nuxt/DhjgWrB62.js +0 -1
  1862. package/.output/public/_nuxt/DiWcX4gj.js +0 -1
  1863. package/.output/public/_nuxt/DkRozlDP2.js +0 -1
  1864. package/.output/public/_nuxt/DlS-SkQ42.js +0 -1
  1865. package/.output/public/_nuxt/DmHp9yQ3.js +0 -1
  1866. package/.output/public/_nuxt/DoChWkff.js +0 -1
  1867. package/.output/public/_nuxt/DqxBCeDe.js +0 -1
  1868. package/.output/public/_nuxt/DrlnrdvY2.js +0 -36
  1869. package/.output/public/_nuxt/DxH5focQ2.js +0 -1
  1870. package/.output/public/_nuxt/Dyr3LPGL.js +0 -1
  1871. package/.output/public/_nuxt/FsRVXpyF2.js +0 -1
  1872. package/.output/public/_nuxt/Iub61dX9.js +0 -1
  1873. package/.output/public/_nuxt/MC_i34H42.js +0 -1
  1874. package/.output/public/_nuxt/OmpTerminalPanel.DMWgGwDs.css +0 -1
  1875. package/.output/public/_nuxt/PluginSlot.BqBzLD4T.css +0 -1
  1876. package/.output/public/_nuxt/Q-JpBT03.js +0 -1
  1877. package/.output/public/_nuxt/TownView.Cn8SPG7S.css +0 -1
  1878. package/.output/public/_nuxt/TugRY_4O.js +0 -1
  1879. package/.output/public/_nuxt/WybiLTow2.js +0 -8
  1880. package/.output/public/_nuxt/YNhAoK-R2.js +0 -1
  1881. package/.output/public/_nuxt/Zn0BZpf0.js +0 -3
  1882. package/.output/public/_nuxt/_id_.Be5JaH-P.css +0 -1
  1883. package/.output/public/_nuxt/_wsId_.p_vAYtTp.css +0 -1
  1884. package/.output/public/_nuxt/agents.CRomddYR.css +0 -1
  1885. package/.output/public/_nuxt/aml.DgOMpDpv.css +0 -1
  1886. package/.output/public/_nuxt/b7UcqLKi.js +0 -1
  1887. package/.output/public/_nuxt/board.Bo35UR0e.css +0 -1
  1888. package/.output/public/_nuxt/builds/meta/fd0033e4-1eaa-42f8-9a04-3132717a703b.json +0 -1
  1889. package/.output/public/_nuxt/default.CpAx70gC.css +0 -1
  1890. package/.output/public/_nuxt/entry.C7koBPom.css +0 -1
  1891. package/.output/public/_nuxt/geMze5qw.js +0 -1
  1892. package/.output/public/_nuxt/hCN555XP2.js +0 -1
  1893. package/.output/public/_nuxt/hlfahYxK.js +0 -1
  1894. package/.output/public/_nuxt/logs.DcSvz6vi.css +0 -1
  1895. package/.output/public/_nuxt/monitor.OoNTwfMJ.css +0 -1
  1896. package/.output/public/_nuxt/ontology.JqJ6PjV1.css +0 -1
  1897. package/.output/public/_nuxt/operations.C48ggFa5.css +0 -1
  1898. package/.output/public/_nuxt/pages.Dpa28tJW.css +0 -1
  1899. package/.output/public/_nuxt/permissions.CrV-4t-6.css +0 -1
  1900. package/.output/public/_nuxt/rcdmiszh2.js +0 -1
  1901. package/.output/public/_nuxt/schedules.DYWOjGHm.css +0 -1
  1902. package/.output/public/_nuxt/studio.CjmUr8P7.css +0 -1
  1903. package/.output/public/_nuxt/teams.DEJoJ4QV.css +0 -1
  1904. package/.output/public/_nuxt/toG_qAMH.js +0 -1
  1905. package/.output/public/_nuxt/tokens.DKZWCP5v.css +0 -1
  1906. package/.output/public/_nuxt/tools.DP-nsTli.css +0 -1
  1907. package/.output/public/_nuxt/uomnHjhM.js +0 -1
  1908. package/.output/public/_nuxt/v77qozuJ2.js +0 -1
  1909. package/.output/public/_nuxt/v7cV7hJa.js +0 -1
  1910. package/.output/public/_nuxt/wK6Pp4Zc2.js +0 -2
  1911. package/.output/public/_nuxt/we7-sMSo2.js +0 -1
  1912. package/.output/public/_nuxt/workshop.PT1xhP8C.css +0 -1
  1913. package/.output/public/_nuxt/wxISMS1i.js +0 -1
  1914. package/.output/public/_nuxt/zy7efYKR.js +0 -1
  1915. package/.output/server/chunks/build/AuthGate-G74Wr5IV.mjs +0 -704
  1916. package/.output/server/chunks/build/AuthGate-G74Wr5IV.mjs.map +0 -1
  1917. package/.output/server/chunks/build/FormItemContext-DmuQqaeJ.mjs +0 -77
  1918. package/.output/server/chunks/build/FormItemContext-DmuQqaeJ.mjs.map +0 -1
  1919. package/.output/server/chunks/build/OmpTerminalPanel-5cB-78zp.mjs +0 -889
  1920. package/.output/server/chunks/build/OmpTerminalPanel-5cB-78zp.mjs.map +0 -1
  1921. package/.output/server/chunks/build/PluginSlot-CZlGlRoR.mjs +0 -131
  1922. package/.output/server/chunks/build/PluginSlot-CZlGlRoR.mjs.map +0 -1
  1923. package/.output/server/chunks/build/TownView-CUbzOT_M.mjs +0 -5960
  1924. package/.output/server/chunks/build/TownView-CUbzOT_M.mjs.map +0 -1
  1925. package/.output/server/chunks/build/_id_-BHWZiRQZ.mjs +0 -373
  1926. package/.output/server/chunks/build/_id_-BHWZiRQZ.mjs.map +0 -1
  1927. package/.output/server/chunks/build/_id_-JaGx0yBE.mjs +0 -1922
  1928. package/.output/server/chunks/build/_id_-JaGx0yBE.mjs.map +0 -1
  1929. package/.output/server/chunks/build/_wsId_-C4DKkEqv.mjs +0 -13707
  1930. package/.output/server/chunks/build/_wsId_-C4DKkEqv.mjs.map +0 -1
  1931. package/.output/server/chunks/build/agents-DRod4lTC.mjs +0 -1047
  1932. package/.output/server/chunks/build/agents-DRod4lTC.mjs.map +0 -1
  1933. package/.output/server/chunks/build/alert-CNGhs--Y.mjs +0 -260
  1934. package/.output/server/chunks/build/alert-CNGhs--Y.mjs.map +0 -1
  1935. package/.output/server/chunks/build/aml-B3Umz4DR.mjs +0 -729
  1936. package/.output/server/chunks/build/aml-B3Umz4DR.mjs.map +0 -1
  1937. package/.output/server/chunks/build/analysis-tNpFLtMt.mjs +0 -502
  1938. package/.output/server/chunks/build/analysis-tNpFLtMt.mjs.map +0 -1
  1939. package/.output/server/chunks/build/api-D-zkgkj-.mjs +0 -51
  1940. package/.output/server/chunks/build/api-D-zkgkj-.mjs.map +0 -1
  1941. package/.output/server/chunks/build/api-D3gy2e2q.mjs +0 -70
  1942. package/.output/server/chunks/build/api-D3gy2e2q.mjs.map +0 -1
  1943. package/.output/server/chunks/build/api-bn4OKkl_.mjs +0 -62
  1944. package/.output/server/chunks/build/api-bn4OKkl_.mjs.map +0 -1
  1945. package/.output/server/chunks/build/api-error-CnW_xiNI.mjs +0 -46
  1946. package/.output/server/chunks/build/api-error-CnW_xiNI.mjs.map +0 -1
  1947. package/.output/server/chunks/build/apiClient-DIXx9sfD.mjs +0 -70
  1948. package/.output/server/chunks/build/apiClient-DIXx9sfD.mjs.map +0 -1
  1949. package/.output/server/chunks/build/board-B2oYXGBy.mjs +0 -172
  1950. package/.output/server/chunks/build/board-B2oYXGBy.mjs.map +0 -1
  1951. package/.output/server/chunks/build/card-BECE6y_G.mjs +0 -922
  1952. package/.output/server/chunks/build/card-BECE6y_G.mjs.map +0 -1
  1953. package/.output/server/chunks/build/channel-templates-R2TInv8B.mjs +0 -950
  1954. package/.output/server/chunks/build/channel-templates-R2TInv8B.mjs.map +0 -1
  1955. package/.output/server/chunks/build/checkbox-C6xY5uc6.mjs +0 -429
  1956. package/.output/server/chunks/build/checkbox-C6xY5uc6.mjs.map +0 -1
  1957. package/.output/server/chunks/build/client-only-S7k53PIm.mjs +0 -42
  1958. package/.output/server/chunks/build/client-only-S7k53PIm.mjs.map +0 -1
  1959. package/.output/server/chunks/build/core-CRlsQhzd.mjs +0 -292
  1960. package/.output/server/chunks/build/core-CRlsQhzd.mjs.map +0 -1
  1961. package/.output/server/chunks/build/daq-DHsYtWC-.mjs +0 -1210
  1962. package/.output/server/chunks/build/daq-DHsYtWC-.mjs.map +0 -1
  1963. package/.output/server/chunks/build/data-Cl4wRZO6.mjs +0 -459
  1964. package/.output/server/chunks/build/data-Cl4wRZO6.mjs.map +0 -1
  1965. package/.output/server/chunks/build/dcw-DnjOM6p1.mjs +0 -467
  1966. package/.output/server/chunks/build/dcw-DnjOM6p1.mjs.map +0 -1
  1967. package/.output/server/chunks/build/default-DDRKP2Mb.mjs +0 -2246
  1968. package/.output/server/chunks/build/default-DDRKP2Mb.mjs.map +0 -1
  1969. package/.output/server/chunks/build/descriptions-B3uhDesi.mjs +0 -401
  1970. package/.output/server/chunks/build/descriptions-B3uhDesi.mjs.map +0 -1
  1971. package/.output/server/chunks/build/drawer-DwXxapMg.mjs +0 -822
  1972. package/.output/server/chunks/build/drawer-DwXxapMg.mjs.map +0 -1
  1973. package/.output/server/chunks/build/dropdown-DLrGy-Fs.mjs +0 -12
  1974. package/.output/server/chunks/build/dropdown-DLrGy-Fs.mjs.map +0 -1
  1975. package/.output/server/chunks/build/dropdown-nsGv8Gqx.mjs +0 -530
  1976. package/.output/server/chunks/build/dropdown-nsGv8Gqx.mjs.map +0 -1
  1977. package/.output/server/chunks/build/es-DXSEkmAm.mjs +0 -42
  1978. package/.output/server/chunks/build/es-DXSEkmAm.mjs.map +0 -1
  1979. package/.output/server/chunks/build/firstNotUndefined-laiThpLD.mjs +0 -2082
  1980. package/.output/server/chunks/build/firstNotUndefined-laiThpLD.mjs.map +0 -1
  1981. package/.output/server/chunks/build/form-Cw2Ex9w5.mjs +0 -3543
  1982. package/.output/server/chunks/build/form-Cw2Ex9w5.mjs.map +0 -1
  1983. package/.output/server/chunks/build/hasIn-RYRGomyg.mjs +0 -192
  1984. package/.output/server/chunks/build/hasIn-RYRGomyg.mjs.map +0 -1
  1985. package/.output/server/chunks/build/hitl-B4cHRlkC.mjs +0 -120
  1986. package/.output/server/chunks/build/hitl-B4cHRlkC.mjs.map +0 -1
  1987. package/.output/server/chunks/build/input-CJgB-RL6.mjs +0 -1705
  1988. package/.output/server/chunks/build/input-CJgB-RL6.mjs.map +0 -1
  1989. package/.output/server/chunks/build/input-number-CQKL42p_.mjs +0 -1027
  1990. package/.output/server/chunks/build/input-number-CQKL42p_.mjs.map +0 -1
  1991. package/.output/server/chunks/build/interval-DiAUqODq.mjs +0 -8
  1992. package/.output/server/chunks/build/interval-DiAUqODq.mjs.map +0 -1
  1993. package/.output/server/chunks/build/isNumeric-DQiJ-b15.mjs +0 -6
  1994. package/.output/server/chunks/build/isNumeric-DQiJ-b15.mjs.map +0 -1
  1995. package/.output/server/chunks/build/logs-C4vKFkHQ.mjs +0 -381
  1996. package/.output/server/chunks/build/logs-C4vKFkHQ.mjs.map +0 -1
  1997. package/.output/server/chunks/build/menu-xO8ocVtL.mjs +0 -1833
  1998. package/.output/server/chunks/build/menu-xO8ocVtL.mjs.map +0 -1
  1999. package/.output/server/chunks/build/monitor-BNrG6v3b.mjs +0 -2216
  2000. package/.output/server/chunks/build/monitor-BNrG6v3b.mjs.map +0 -1
  2001. package/.output/server/chunks/build/ontology-B_0Vm6j-.mjs +0 -1416
  2002. package/.output/server/chunks/build/ontology-B_0Vm6j-.mjs.map +0 -1
  2003. package/.output/server/chunks/build/operations-D8D6-Jm-.mjs +0 -278
  2004. package/.output/server/chunks/build/operations-D8D6-Jm-.mjs.map +0 -1
  2005. package/.output/server/chunks/build/optimizer-DaTyaY3c.mjs +0 -202
  2006. package/.output/server/chunks/build/optimizer-DaTyaY3c.mjs.map +0 -1
  2007. package/.output/server/chunks/build/pages-Dac4icQC.mjs +0 -439
  2008. package/.output/server/chunks/build/pages-Dac4icQC.mjs.map +0 -1
  2009. package/.output/server/chunks/build/pagination-BTzq7dD5.mjs +0 -1330
  2010. package/.output/server/chunks/build/pagination-BTzq7dD5.mjs.map +0 -1
  2011. package/.output/server/chunks/build/permissions-qmimwB0M.mjs +0 -649
  2012. package/.output/server/chunks/build/permissions-qmimwB0M.mjs.map +0 -1
  2013. package/.output/server/chunks/build/plugins-Dh_goy-k.mjs +0 -269
  2014. package/.output/server/chunks/build/plugins-Dh_goy-k.mjs.map +0 -1
  2015. package/.output/server/chunks/build/popconfirm-DuGF7ty-.mjs +0 -333
  2016. package/.output/server/chunks/build/popconfirm-DuGF7ty-.mjs.map +0 -1
  2017. package/.output/server/chunks/build/responsiveObserve-CzRpNXkr.mjs +0 -77
  2018. package/.output/server/chunks/build/responsiveObserve-CzRpNXkr.mjs.map +0 -1
  2019. package/.output/server/chunks/build/schedules-C2_x38gj.mjs +0 -7039
  2020. package/.output/server/chunks/build/schedules-C2_x38gj.mjs.map +0 -1
  2021. package/.output/server/chunks/build/segmented-29uEKZ3D.mjs +0 -332
  2022. package/.output/server/chunks/build/segmented-29uEKZ3D.mjs.map +0 -1
  2023. package/.output/server/chunks/build/select-CJb2XrQf.mjs +0 -3734
  2024. package/.output/server/chunks/build/select-CJb2XrQf.mjs.map +0 -1
  2025. package/.output/server/chunks/build/settings-Cz2Plds0.mjs +0 -944
  2026. package/.output/server/chunks/build/settings-Cz2Plds0.mjs.map +0 -1
  2027. package/.output/server/chunks/build/space-BByD-mFE.mjs +0 -107
  2028. package/.output/server/chunks/build/space-BByD-mFE.mjs.map +0 -1
  2029. package/.output/server/chunks/build/spin-XhbgGeLP.mjs +0 -313
  2030. package/.output/server/chunks/build/spin-XhbgGeLP.mjs.map +0 -1
  2031. package/.output/server/chunks/build/studio-CwYXl00G.mjs +0 -329
  2032. package/.output/server/chunks/build/studio-CwYXl00G.mjs.map +0 -1
  2033. package/.output/server/chunks/build/switch-DWcwVFxW.mjs +0 -374
  2034. package/.output/server/chunks/build/switch-DWcwVFxW.mjs.map +0 -1
  2035. package/.output/server/chunks/build/table-Zhuo7Fq-.mjs +0 -7249
  2036. package/.output/server/chunks/build/table-Zhuo7Fq-.mjs.map +0 -1
  2037. package/.output/server/chunks/build/tabs-BCwBXjNt.mjs +0 -1838
  2038. package/.output/server/chunks/build/tabs-BCwBXjNt.mjs.map +0 -1
  2039. package/.output/server/chunks/build/tag-CRW-anwy.mjs +0 -1010
  2040. package/.output/server/chunks/build/tag-CRW-anwy.mjs.map +0 -1
  2041. package/.output/server/chunks/build/teams-CwhFdcYn.mjs +0 -1160
  2042. package/.output/server/chunks/build/teams-CwhFdcYn.mjs.map +0 -1
  2043. package/.output/server/chunks/build/tokens-C5ODO1HA.mjs +0 -992
  2044. package/.output/server/chunks/build/tokens-C5ODO1HA.mjs.map +0 -1
  2045. package/.output/server/chunks/build/tools-C0YKragH.mjs +0 -487
  2046. package/.output/server/chunks/build/tools-C0YKragH.mjs.map +0 -1
  2047. package/.output/server/chunks/build/tooltip-GlMrUZzx.mjs +0 -888
  2048. package/.output/server/chunks/build/tooltip-GlMrUZzx.mjs.map +0 -1
  2049. package/.output/server/chunks/build/town-LkDwWnKA.mjs +0 -117
  2050. package/.output/server/chunks/build/town-LkDwWnKA.mjs.map +0 -1
  2051. package/.output/server/chunks/build/useAgentHarnessOptions-CYKuLtZ2.mjs +0 -120
  2052. package/.output/server/chunks/build/useAgentHarnessOptions-CYKuLtZ2.mjs.map +0 -1
  2053. package/.output/server/chunks/build/useAgentTemplateActions-Da_V1LSD.mjs +0 -71
  2054. package/.output/server/chunks/build/useAgentTemplateActions-Da_V1LSD.mjs.map +0 -1
  2055. package/.output/server/chunks/build/useAgentTemplateForm-BWvax5_E.mjs +0 -112
  2056. package/.output/server/chunks/build/useAgentTemplateForm-BWvax5_E.mjs.map +0 -1
  2057. package/.output/server/chunks/build/useAgentTemplatesCatalog-BnYjZy59.mjs +0 -140
  2058. package/.output/server/chunks/build/useAgentTemplatesCatalog-BnYjZy59.mjs.map +0 -1
  2059. package/.output/server/chunks/build/useAmlDatasets-nGi10DAl.mjs +0 -88
  2060. package/.output/server/chunks/build/useAmlDatasets-nGi10DAl.mjs.map +0 -1
  2061. package/.output/server/chunks/build/useAmlEntities-CTgNAgcZ.mjs +0 -79
  2062. package/.output/server/chunks/build/useAmlEntities-CTgNAgcZ.mjs.map +0 -1
  2063. package/.output/server/chunks/build/useAmlEnv-Da2TVfyK.mjs +0 -188
  2064. package/.output/server/chunks/build/useAmlEnv-Da2TVfyK.mjs.map +0 -1
  2065. package/.output/server/chunks/build/useAmlExperiments-U9AQ52RI.mjs +0 -86
  2066. package/.output/server/chunks/build/useAmlExperiments-U9AQ52RI.mjs.map +0 -1
  2067. package/.output/server/chunks/build/useAmlJobs-BM1mu5iH.mjs +0 -251
  2068. package/.output/server/chunks/build/useAmlJobs-BM1mu5iH.mjs.map +0 -1
  2069. package/.output/server/chunks/build/useAmlModels-C1DwIOMi.mjs +0 -90
  2070. package/.output/server/chunks/build/useAmlModels-C1DwIOMi.mjs.map +0 -1
  2071. package/.output/server/chunks/build/useAmlNotes-CNm47QdS.mjs +0 -80
  2072. package/.output/server/chunks/build/useAmlNotes-CNm47QdS.mjs.map +0 -1
  2073. package/.output/server/chunks/build/useAmlPredict-m8I1AdRn.mjs +0 -126
  2074. package/.output/server/chunks/build/useAmlPredict-m8I1AdRn.mjs.map +0 -1
  2075. package/.output/server/chunks/build/useAnalysisFeed-CpbOaiBD.mjs +0 -120
  2076. package/.output/server/chunks/build/useAnalysisFeed-CpbOaiBD.mjs.map +0 -1
  2077. package/.output/server/chunks/build/useDaqAddNode-CRorxgOY.mjs +0 -141
  2078. package/.output/server/chunks/build/useDaqAddNode-CRorxgOY.mjs.map +0 -1
  2079. package/.output/server/chunks/build/useDaqDetailBinding-Ck-YUW9J.mjs +0 -72
  2080. package/.output/server/chunks/build/useDaqDetailBinding-Ck-YUW9J.mjs.map +0 -1
  2081. package/.output/server/chunks/build/useDaqDetailFrames-CLMoreaz.mjs +0 -78
  2082. package/.output/server/chunks/build/useDaqDetailFrames-CLMoreaz.mjs.map +0 -1
  2083. package/.output/server/chunks/build/useDaqDetailHistory-BVNQXwC_.mjs +0 -166
  2084. package/.output/server/chunks/build/useDaqDetailHistory-BVNQXwC_.mjs.map +0 -1
  2085. package/.output/server/chunks/build/useDaqDetailNode-BC0e9OfX.mjs +0 -103
  2086. package/.output/server/chunks/build/useDaqDetailNode-BC0e9OfX.mjs.map +0 -1
  2087. package/.output/server/chunks/build/useDaqDetailParams-D173iwFg.mjs +0 -157
  2088. package/.output/server/chunks/build/useDaqDetailParams-D173iwFg.mjs.map +0 -1
  2089. package/.output/server/chunks/build/useDaqFilters-CC-o_21d.mjs +0 -224
  2090. package/.output/server/chunks/build/useDaqFilters-CC-o_21d.mjs.map +0 -1
  2091. package/.output/server/chunks/build/useDaqOptimizations-4vK2w1yn.mjs +0 -132
  2092. package/.output/server/chunks/build/useDaqOptimizations-4vK2w1yn.mjs.map +0 -1
  2093. package/.output/server/chunks/build/useDaqStream-BHKpSJFd.mjs +0 -385
  2094. package/.output/server/chunks/build/useDaqStream-BHKpSJFd.mjs.map +0 -1
  2095. package/.output/server/chunks/build/useDaqTemplates-CsXSc7yI.mjs +0 -181
  2096. package/.output/server/chunks/build/useDaqTemplates-CsXSc7yI.mjs.map +0 -1
  2097. package/.output/server/chunks/build/useDashboardData-DuKjuJTz.mjs +0 -139
  2098. package/.output/server/chunks/build/useDashboardData-DuKjuJTz.mjs.map +0 -1
  2099. package/.output/server/chunks/build/useDcwAddNode-C5DcxsHF.mjs +0 -217
  2100. package/.output/server/chunks/build/useDcwAddNode-C5DcxsHF.mjs.map +0 -1
  2101. package/.output/server/chunks/build/useDcwCards-0bAVo6uB.mjs +0 -64
  2102. package/.output/server/chunks/build/useDcwCards-0bAVo6uB.mjs.map +0 -1
  2103. package/.output/server/chunks/build/useDcwDetailScope-BNFOlt2v.mjs +0 -184
  2104. package/.output/server/chunks/build/useDcwDetailScope-BNFOlt2v.mjs.map +0 -1
  2105. package/.output/server/chunks/build/useDcwDetailTemplates-DSH-o0tE.mjs +0 -143
  2106. package/.output/server/chunks/build/useDcwDetailTemplates-DSH-o0tE.mjs.map +0 -1
  2107. package/.output/server/chunks/build/useDcwFilter-W61BFUcT.mjs +0 -65
  2108. package/.output/server/chunks/build/useDcwFilter-W61BFUcT.mjs.map +0 -1
  2109. package/.output/server/chunks/build/useDcwLedger-DsColLdc.mjs +0 -73
  2110. package/.output/server/chunks/build/useDcwLedger-DsColLdc.mjs.map +0 -1
  2111. package/.output/server/chunks/build/useDcwLineMutations-Cx4Ir7g3.mjs +0 -133
  2112. package/.output/server/chunks/build/useDcwLineMutations-Cx4Ir7g3.mjs.map +0 -1
  2113. package/.output/server/chunks/build/useDcwLineRun-DQ0vB08z.mjs +0 -100
  2114. package/.output/server/chunks/build/useDcwLineRun-DQ0vB08z.mjs.map +0 -1
  2115. package/.output/server/chunks/build/useDcwParamApprovals-CYspRuDk.mjs +0 -119
  2116. package/.output/server/chunks/build/useDcwParamApprovals-CYspRuDk.mjs.map +0 -1
  2117. package/.output/server/chunks/build/useDcwProducts-CTbm_5S_.mjs +0 -88
  2118. package/.output/server/chunks/build/useDcwProducts-CTbm_5S_.mjs.map +0 -1
  2119. package/.output/server/chunks/build/useDcwQuery-E0yjZs7G.mjs +0 -93
  2120. package/.output/server/chunks/build/useDcwQuery-E0yjZs7G.mjs.map +0 -1
  2121. package/.output/server/chunks/build/useDcwQuickActions-BvT5VFOY.mjs +0 -84
  2122. package/.output/server/chunks/build/useDcwQuickActions-BvT5VFOY.mjs.map +0 -1
  2123. package/.output/server/chunks/build/useDcwRecipes-zngShyk0.mjs +0 -263
  2124. package/.output/server/chunks/build/useDcwRecipes-zngShyk0.mjs.map +0 -1
  2125. package/.output/server/chunks/build/useDcwStream-82IdjJKk.mjs +0 -455
  2126. package/.output/server/chunks/build/useDcwStream-82IdjJKk.mjs.map +0 -1
  2127. package/.output/server/chunks/build/useDcwTemplates-CpHrcnvJ.mjs +0 -87
  2128. package/.output/server/chunks/build/useDcwTemplates-CpHrcnvJ.mjs.map +0 -1
  2129. package/.output/server/chunks/build/useDcwWrites-BlOhljp9.mjs +0 -136
  2130. package/.output/server/chunks/build/useDcwWrites-BlOhljp9.mjs.map +0 -1
  2131. package/.output/server/chunks/build/useDeviceTwins-DL-VLFeX.mjs +0 -118
  2132. package/.output/server/chunks/build/useDeviceTwins-DL-VLFeX.mjs.map +0 -1
  2133. package/.output/server/chunks/build/useExpConfirmations-DgwqTb9O.mjs +0 -104
  2134. package/.output/server/chunks/build/useExpConfirmations-DgwqTb9O.mjs.map +0 -1
  2135. package/.output/server/chunks/build/useLocalTime-C__kwn8h.mjs +0 -52
  2136. package/.output/server/chunks/build/useLocalTime-C__kwn8h.mjs.map +0 -1
  2137. package/.output/server/chunks/build/useLogsManual-BcfanT0s.mjs +0 -80
  2138. package/.output/server/chunks/build/useLogsManual-BcfanT0s.mjs.map +0 -1
  2139. package/.output/server/chunks/build/useLogsQuery-BGlKVKpV.mjs +0 -136
  2140. package/.output/server/chunks/build/useLogsQuery-BGlKVKpV.mjs.map +0 -1
  2141. package/.output/server/chunks/build/useLogsScope-BRyy550Y.mjs +0 -75
  2142. package/.output/server/chunks/build/useLogsScope-BRyy550Y.mjs.map +0 -1
  2143. package/.output/server/chunks/build/useMonitorData-BUey2Xly.mjs +0 -128
  2144. package/.output/server/chunks/build/useMonitorData-BUey2Xly.mjs.map +0 -1
  2145. package/.output/server/chunks/build/useMonitorFormat-rhs7FlNo.mjs +0 -77
  2146. package/.output/server/chunks/build/useMonitorFormat-rhs7FlNo.mjs.map +0 -1
  2147. package/.output/server/chunks/build/useOperationsFeed-DWfCjP4l.mjs +0 -182
  2148. package/.output/server/chunks/build/useOperationsFeed-DWfCjP4l.mjs.map +0 -1
  2149. package/.output/server/chunks/build/useOpsLog--yf8erUi.mjs +0 -139
  2150. package/.output/server/chunks/build/useOpsLog--yf8erUi.mjs.map +0 -1
  2151. package/.output/server/chunks/build/useRecipeDispatchApprovals-CKF2sB9P.mjs +0 -146
  2152. package/.output/server/chunks/build/useRecipeDispatchApprovals-CKF2sB9P.mjs.map +0 -1
  2153. package/.output/server/chunks/build/useTeamActions-C08sAVqY.mjs +0 -71
  2154. package/.output/server/chunks/build/useTeamActions-C08sAVqY.mjs.map +0 -1
  2155. package/.output/server/chunks/build/useTeamAddMemberDialog-fzTmflr8.mjs +0 -78
  2156. package/.output/server/chunks/build/useTeamAddMemberDialog-fzTmflr8.mjs.map +0 -1
  2157. package/.output/server/chunks/build/useTeamCreateDialog-De63ep-X.mjs +0 -91
  2158. package/.output/server/chunks/build/useTeamCreateDialog-De63ep-X.mjs.map +0 -1
  2159. package/.output/server/chunks/build/useTeamDeployDialog-CpAtG5Jy.mjs +0 -76
  2160. package/.output/server/chunks/build/useTeamDeployDialog-CpAtG5Jy.mjs.map +0 -1
  2161. package/.output/server/chunks/build/useTeamPluginDialog-C1OOe1sL.mjs +0 -99
  2162. package/.output/server/chunks/build/useTeamPluginDialog-C1OOe1sL.mjs.map +0 -1
  2163. package/.output/server/chunks/build/useTeamsCatalog-DA41SMDu.mjs +0 -124
  2164. package/.output/server/chunks/build/useTeamsCatalog-DA41SMDu.mjs.map +0 -1
  2165. package/.output/server/chunks/build/useTokenCreate-XHTQExra.mjs +0 -106
  2166. package/.output/server/chunks/build/useTokenCreate-XHTQExra.mjs.map +0 -1
  2167. package/.output/server/chunks/build/useTokenRename-Cf1B0cRy.mjs +0 -81
  2168. package/.output/server/chunks/build/useTokenRename-Cf1B0cRy.mjs.map +0 -1
  2169. package/.output/server/chunks/build/useTokenReveal-C8n1Vt9t.mjs +0 -108
  2170. package/.output/server/chunks/build/useTokenReveal-C8n1Vt9t.mjs.map +0 -1
  2171. package/.output/server/chunks/build/useTokensList-MMIq24E-.mjs +0 -86
  2172. package/.output/server/chunks/build/useTokensList-MMIq24E-.mjs.map +0 -1
  2173. package/.output/server/chunks/build/useWorkbenchAuth-Dyc_czui.mjs +0 -131
  2174. package/.output/server/chunks/build/useWorkbenchAuth-Dyc_czui.mjs.map +0 -1
  2175. package/.output/server/chunks/build/useWorkbenchWorkspaces-DT33HbBD.mjs +0 -128
  2176. package/.output/server/chunks/build/useWorkbenchWorkspaces-DT33HbBD.mjs.map +0 -1
  2177. package/.output/server/chunks/build/useWorkshopApi-BkEgGBIM.mjs +0 -118
  2178. package/.output/server/chunks/build/useWorkshopApi-BkEgGBIM.mjs.map +0 -1
  2179. package/.output/server/chunks/build/useWorkshopWs-BWrVj4jL.mjs +0 -1577
  2180. package/.output/server/chunks/build/useWorkshopWs-BWrVj4jL.mjs.map +0 -1
  2181. package/.output/server/chunks/build/useWorkspaceAuth-TahC9EC7.mjs +0 -48
  2182. package/.output/server/chunks/build/useWorkspaceAuth-TahC9EC7.mjs.map +0 -1
  2183. package/.output/server/chunks/build/useWorkspaceChannels-BVAHmhN3.mjs +0 -94
  2184. package/.output/server/chunks/build/useWorkspaceChannels-BVAHmhN3.mjs.map +0 -1
  2185. package/.output/server/chunks/build/useWorkspaceShell-rQHWNNWJ.mjs +0 -150
  2186. package/.output/server/chunks/build/useWorkspaceShell-rQHWNNWJ.mjs.map +0 -1
  2187. package/.output/server/chunks/build/users-pVCK50z-.mjs +0 -566
  2188. package/.output/server/chunks/build/users-pVCK50z-.mjs.map +0 -1
  2189. package/.output/server/chunks/build/workshop-DAgsBgG4.mjs +0 -499
  2190. package/.output/server/chunks/build/workshop-DAgsBgG4.mjs.map +0 -1
  2191. package/scripts/_aw-packaged-start.cjs +0 -22
  2192. package/scripts/_i18n-en-cjk-scan.mjs +0 -28
  2193. package/scripts/_i18n-en-verify.mjs +0 -107
  2194. package/scripts/_i18n-extra-checks.mjs +0 -53
  2195. package/scripts/_i18n-scan-hardcoded.mjs +0 -180
  2196. package/scripts/_lib-dcw-line.mjs +0 -24
  2197. package/scripts/_lib-plc-sim-child.mjs +0 -28
  2198. package/scripts/_lint-reflow.mjs +0 -105
  2199. package/scripts/_loop-biax-campaign.mjs +0 -130
  2200. package/scripts/_probe-daq-omp-task.mjs +0 -100
  2201. package/scripts/_probe-daq-scope-default.mjs +0 -123
  2202. package/scripts/_probe-lease.cjs +0 -13
  2203. package/scripts/_probe-model-channel-link.cjs +0 -25
  2204. package/scripts/_probe-recipe-switch.mjs +0 -92
  2205. package/scripts/_probe-task-queue.cjs +0 -9
  2206. package/scripts/build-anime-models.mjs +0 -339
  2207. package/scripts/demo-group-chat-omp-cases.ts +0 -210
  2208. package/scripts/demo-group-chat-omp.ts +0 -184
  2209. package/scripts/demo-group-chat-order.ts +0 -197
  2210. package/scripts/e2e-channel-isolation.ts +0 -329
  2211. package/scripts/e2e-lead-team-mgmt.ts +0 -217
  2212. package/scripts/proof-omp-real.ts +0 -189
  2213. package/scripts/smoke-optimization-verify.ts +0 -72
  2214. package/scripts/test-a2a-types.ts +0 -296
  2215. package/scripts/test-agent-multi-channel.ts +0 -160
  2216. package/scripts/test-agentteam-task-chat-flow.ts +0 -420
  2217. package/scripts/test-channel-routing.ts +0 -301
  2218. package/scripts/test-cli-exit.mjs +0 -343
  2219. package/scripts/test-event-persistence.mjs +0 -177
  2220. package/scripts/test-group-chat-hardening.ts +0 -265
  2221. package/scripts/test-group-chat-unit/section-a-migration.ts +0 -75
  2222. package/scripts/test-group-chat-unit/section-b-permission-matrix.ts +0 -88
  2223. package/scripts/test-group-chat-unit/section-c-member-lifecycle.ts +0 -64
  2224. package/scripts/test-group-chat-unit/section-d-mention-resolution.ts +0 -36
  2225. package/scripts/test-group-chat-unit/section-e-chat-facts.ts +0 -97
  2226. package/scripts/test-group-chat-unit/section-f-user-notifications.ts +0 -52
  2227. package/scripts/test-group-chat-unit/section-g-member-projection.ts +0 -44
  2228. package/scripts/test-group-chat-unit/section-h-outbox-consistency.ts +0 -30
  2229. package/scripts/test-group-chat-unit/section-i-read-idempotency.ts +0 -24
  2230. package/scripts/test-group-chat-unit/section-j-permission-scope.ts +0 -150
  2231. package/scripts/test-hitl-legacy-channel-auth.ts +0 -143
  2232. package/scripts/test-lane-history-live.mjs +0 -126
  2233. package/scripts/test-mcp-tools.ts +0 -285
  2234. package/scripts/test-memory-dynamic.ts +0 -101
  2235. package/scripts/test-memory-month-query.mjs +0 -70
  2236. package/scripts/test-memory.ts +0 -431
  2237. package/scripts/test-route-reason.mjs +0 -118
  2238. package/scripts/test-scheduler-loop/scenarios-modes.ts +0 -95
  2239. package/scripts/test-scheduler-loop/scenarios-runtime.ts +0 -58
  2240. package/scripts/test-scheduler-loop/scenarios-supervise.ts +0 -183
  2241. package/scripts/test-scheduler-loop/scenarios-triage.ts +0 -102
  2242. package/scripts/ui/admin-shots.mjs +0 -46
  2243. package/scripts/ui/bump-microfont.mjs +0 -39
  2244. package/scripts/ui/linkcheck2.mjs +0 -37
  2245. package/scripts/ui/live-render-check.mjs +0 -72
  2246. package/scripts/ui/perf-audit.mjs +0 -132
  2247. package/scripts/ui/sim-ui-shot.mjs +0 -16
  2248. package/scripts/ui/smoke-refactor.mjs +0 -258
  2249. /package/.output/public/_nuxt/{9j2J4k4w2.js → 9j2J4k4w.js} +0 -0
  2250. /package/.output/public/_nuxt/{dVw8IHY6.js → dVw8IHY62.js} +0 -0
  2251. /package/.output/public/_nuxt/{k9b520K-2.js → k9b520K-.js} +0 -0
@@ -17,15 +17,23 @@ import { getAgentNodeBindingRepo, type AgentNodeBinding } from '../node-bindings
17
17
  import { getDcwController } from '../../dcw/dcw-controller'
18
18
  import { getDcwLineRepo } from '../../dcw/dcw-line.repo'
19
19
  import { getActiveLineRun } from '../../dcw/line-run'
20
+ import { executionModeOfAgent } from '../execution-mode'
20
21
 
21
22
  export type RecipeOp = 'update' | 'dispatch' | 'trial' | 'rollback' | 'create'
22
23
 
24
+ export type ActiveRecipeContext = {
25
+ lineId: string
26
+ runId: string
27
+ recipeId: string
28
+ productId: string
29
+ }
30
+
23
31
  export type RecipeGateResult
24
- = | { ok: true, binding: AgentNodeBinding, hitlRequired: boolean, activeRunId: string }
32
+ = | { ok: true, binding: AgentNodeBinding, hitlRequired: boolean, activeContext: ActiveRecipeContext }
25
33
  | { ok: false, text: string }
26
34
 
27
35
  /** 运行门:该配方当前是否有活动批次(未结束的 run) */
28
- export function activeRunOfRecipe(recipeId: string): { id: string } | null {
36
+ export function activeRunOfRecipe(recipeId: string): ActiveRecipeContext | null {
29
37
  const run = getDcwController().listRuns().find(r => r.recipeId === recipeId && !r.endedAt)
30
38
  if (!run) return null
31
39
  // 反僵尸交叉校验(鲁棒性):DB 行未结束 ≠ 产线在运行 —— 多次 apply/崩溃/重启会泄漏
@@ -33,8 +41,13 @@ export function activeRunOfRecipe(recipeId: string): { id: string } | null {
33
41
  // 权威运行态是 line-run 注册表(内存+line-runs.json 落盘,崩溃可恢复):
34
42
  // run 所属产线必须在注册表中运行,且注册表的活跃批次就是本批次。
35
43
  const active = getActiveLineRun(run.lineId)
36
- if (!active || active.runId !== run.id) return null
37
- return { id: run.id }
44
+ if (!active || active.runId !== run.id || active.recipeId !== recipeId) return null
45
+ return {
46
+ lineId: active.lineId,
47
+ runId: active.runId,
48
+ recipeId: active.recipeId,
49
+ productId: active.productId,
50
+ }
38
51
  }
39
52
 
40
53
  /** 统一鉴权门:绑定 → 二级认证 → 运行门;返回绑定与 HITL 判定(不做挂起,挂起由调用方执行) */
@@ -70,11 +83,14 @@ export function assertRecipeOperation(
70
83
  // ④ HITL 判定:manual 绑定 → 逐动作人工批准;auto → 免批。
71
84
  // 线级总闸(2026-10-08 生产化):line.controlMode='manual'(缺省)时,即便绑定为
72
85
  // auto 也强制人工审批 —— 手动模式下人类必须过目每一次写动作(fail-safe)。
86
+ // 频道层钳位(2026-10-28 三模式):Agent 所属频道 executionMode='manual' 时同理强制;
87
+ // 'auto'(中性缺省)/'observe'(分发层已拒写,不可达)不改变本判定。
73
88
  const lineManual = recipe.lineId ? getDcwLineRepo().controlModeOf(recipe.lineId) === 'manual' : false
89
+ const channelManual = executionModeOfAgent(agentId) === 'manual'
74
90
  // ⑤ 全局开关兼容位:security.recipeDispatchApproval 开启时即便 auto 也挂审批(保留语义)
75
91
  const globalGate = false // 由调用方按 settingOf('security.recipeDispatchApproval') 叠加(本模块不依赖设置服务)
76
92
  void globalGate
77
- return { ok: true, binding, hitlRequired: binding.mode === 'manual' || lineManual, activeRunId: run.id }
93
+ return { ok: true, binding, hitlRequired: binding.mode === 'manual' || lineManual || channelManual, activeContext: run }
78
94
  }
79
95
 
80
96
  /** 新建配方的授权门(尚无 recipe 可绑定):要求 Agent 在该线至少有一个写向绑定
@@ -109,13 +125,15 @@ export function assertRecipeCreate(agentId: string, lineId: string): { ok: true,
109
125
  }
110
126
  }
111
127
  const lineManual = getDcwLineRepo().controlModeOf(lineId) === 'manual'
112
- return { ok: true, hitlRequired: manualBound || lineManual }
128
+ const channelManual = executionModeOfAgent(agentId) === 'manual'
129
+ return { ok: true, hitlRequired: manualBound || lineManual || channelManual }
113
130
  }
114
131
 
115
132
  /** 审批单载荷(结构化;前端审批卡渲染理由/参数/批次) */
116
133
  export function recipeApprovalPayload(op: RecipeOp, recipeId: string, recipeName: string, extra: {
117
134
  reason: string
118
135
  params?: Array<{ nodeId: string, name: string, from: number | null, to: number, unit?: string }>
136
+ context?: ActiveRecipeContext
119
137
  runId?: string
120
138
  }): Record<string, unknown> {
121
139
  return {
@@ -126,6 +144,6 @@ export function recipeApprovalPayload(op: RecipeOp, recipeId: string, recipeName
126
144
  recipeName,
127
145
  reason: extra.reason,
128
146
  ...(extra.params ? { params: extra.params } : {}),
129
- ...(extra.runId ? { runId: extra.runId } : {}),
147
+ ...(extra.context ? { context: { ...extra.context }, runId: extra.context.runId } : extra.runId ? { runId: extra.runId } : {}),
130
148
  }
131
149
  }
@@ -278,7 +278,7 @@ export async function toolRecipePropose(agentId: string, args: {
278
278
  }
279
279
 
280
280
  // 批准不等于授权仍有效:复核绑定/认证/运行门/产线 grant(审批期间可能被撤销)
281
- const stale = await revalidateApprovedAction(agentId, recipe, 'dispatch', 'recipe_propose', { recipe_id: recipeId })
281
+ const stale = await revalidateApprovedAction(agentId, recipe, 'dispatch', 'recipe_propose', { recipe_id: recipeId }, gate.activeContext)
282
282
  if (stale) return stale
283
283
 
284
284
  // ---------- ⑦b 批准(choice 已由 decide 链 fail-closed 归一):选定包整批下发 ----------
@@ -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
+ }