agentworkshop 0.7.6 → 0.7.7

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 (517) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +1 -1
  2. package/.output/.AgentWorkShop/prompts/host-tools.json +1 -1
  3. package/.output/nitro.json +1 -1
  4. package/.output/public/_nuxt/{rzGB_ojX.js → 3612gD2V.js} +2 -2
  5. package/.output/public/_nuxt/8eIQAVlb.js +1 -0
  6. package/.output/public/_nuxt/Ah9qOv1m.js +1 -0
  7. package/.output/public/_nuxt/{DdPeifHR.js → B4Fia4FB.js} +1 -1
  8. package/.output/public/_nuxt/B7aqqzkY.js +1 -0
  9. package/.output/public/_nuxt/BJ-fxrSw.js +1 -0
  10. package/.output/public/_nuxt/{DPDqAD1e.js → BSXx2vqR.js} +1 -1
  11. package/.output/public/_nuxt/{CdSgfcYR.js → BVZjSVs2.js} +1 -1
  12. package/.output/public/_nuxt/{DP6bdyIp.js → BVzDoF8t.js} +1 -1
  13. package/.output/public/_nuxt/BYL0Rjqj.js +7 -0
  14. package/.output/public/_nuxt/{CXmkVXS5.js → BjVLsC3M.js} +1 -1
  15. package/.output/public/_nuxt/{7ZABjMRh2.js → BkfchkK62.js} +1 -1
  16. package/.output/public/_nuxt/BnVoQ74r.js +1 -0
  17. package/.output/public/_nuxt/Bnp4vIAf.js +1 -0
  18. package/.output/public/_nuxt/BsMpJf7S.js +70 -0
  19. package/.output/public/_nuxt/{Z8k0uMSI.js → Bt_HDizI.js} +1 -1
  20. package/.output/public/_nuxt/Bu-P92Pe.js +18 -0
  21. package/.output/public/_nuxt/ButLXkjo.js +2 -0
  22. package/.output/public/_nuxt/C-GarxYC.js +1 -0
  23. package/.output/public/_nuxt/{D8DDDzV62.js → C2iWjzEC2.js} +1 -1
  24. package/.output/public/_nuxt/{HWXLx5Hz.js → C8dxXc6K.js} +5 -5
  25. package/.output/public/_nuxt/CGdPdJPP.js +1 -0
  26. package/.output/public/_nuxt/{CyygA0q4.js → CQiKcuoG.js} +4 -4
  27. package/.output/public/_nuxt/{CN7Zh8GQ.js → CRGlf1Gb.js} +1 -1
  28. package/.output/public/_nuxt/{DSBfvCi5.js → CblLEiCZ.js} +7 -7
  29. package/.output/public/_nuxt/Cd15nPnG2.js +1 -0
  30. package/.output/public/_nuxt/{OwJ1LJkF.js → CsCpu2Zh.js} +1 -1
  31. package/.output/public/_nuxt/CvbHIGQY2.js +1 -0
  32. package/.output/public/_nuxt/Cyk3du4K2.js +1 -0
  33. package/.output/public/_nuxt/{DVQAz9WI.js → D4qXvjuV.js} +2 -2
  34. package/.output/public/_nuxt/{CfIXY-ET.js → DCEyMaN-.js} +1 -1
  35. package/.output/public/_nuxt/{BFYNhG9S.js → DCXIGxzT.js} +1 -1
  36. package/.output/public/_nuxt/{B9aPoQvt.js → DM8DS9MA.js} +1 -1
  37. package/.output/public/_nuxt/{ChnfyQHz.js → DNzaswei.js} +1 -1
  38. package/.output/public/_nuxt/{CrFGZYVB2.js → DYZBdSSg2.js} +1 -1
  39. package/.output/public/_nuxt/{dObsRdSQ.js → DZk24ego.js} +1 -1
  40. package/.output/public/_nuxt/DeYsUzhr.js +1 -0
  41. package/.output/public/_nuxt/Dk6pq9JB2.js +1 -0
  42. package/.output/public/_nuxt/{ByGNWgAr.js → Do88WZG2.js} +3 -3
  43. package/.output/public/_nuxt/{R_WxTozV2.js → Du-eSpo2.js} +1 -1
  44. package/.output/public/_nuxt/OmpTerminalPanel.B_Pl5Ynm.css +1 -0
  45. package/.output/public/_nuxt/{Bsc69G4x.js → VnIWJ0ts.js} +3 -3
  46. package/.output/public/_nuxt/_id_.BzKMZnLe.css +1 -0
  47. package/.output/public/_nuxt/_id_.CbpDAWRh.css +1 -0
  48. package/.output/public/_nuxt/{_wsId_.DET_GinP.css → _wsId_.COUzMXpP.css} +1 -1
  49. package/.output/public/_nuxt/agents.BlejnOOC.css +1 -0
  50. package/.output/public/_nuxt/builds/latest.json +1 -1
  51. package/.output/public/_nuxt/builds/meta/14df171d-89cb-43ec-ad6f-9df72d6da7f5.json +1 -0
  52. package/.output/public/_nuxt/daq.zZ8GR433.css +1 -0
  53. package/.output/public/_nuxt/{default.D17kXlD6.css → default.V3_hUJq1.css} +1 -1
  54. package/.output/public/_nuxt/{B4GHHF6d2.js → fQUs58kX2.js} +1 -1
  55. package/.output/public/_nuxt/p7wSGMtc.js +1 -0
  56. package/.output/public/_nuxt/tRBT-plo.js +1 -0
  57. package/.output/server/chunks/_/SearchOutlined.mjs +4 -4
  58. package/.output/server/chunks/_/SearchOutlined.mjs.map +1 -1
  59. package/.output/server/chunks/_/character-asset.repo.mjs +3 -6
  60. package/.output/server/chunks/_/character-asset.repo.mjs.map +1 -1
  61. package/.output/server/chunks/_/host-bindings.mjs +1 -1
  62. package/.output/server/chunks/_/nitro.mjs +4967 -2035
  63. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  64. package/.output/server/chunks/_/scene-layout.repo.mjs +4 -10
  65. package/.output/server/chunks/_/scene-layout.repo.mjs.map +1 -1
  66. package/.output/server/chunks/build/{Col-D7fjGDF6.mjs → Col-biaNnEPf.mjs} +2 -2
  67. package/.output/server/chunks/build/{Col-D7fjGDF6.mjs.map → Col-biaNnEPf.mjs.map} +1 -1
  68. package/.output/server/chunks/build/{OmpTerminalPanel-B_SYhmgb.mjs → OmpTerminalPanel-COphA1br.mjs} +20 -19
  69. package/.output/server/chunks/build/OmpTerminalPanel-COphA1br.mjs.map +1 -0
  70. package/.output/server/chunks/build/{TownView-Bl8Gkcxi.mjs → TownView-B5KifIaT.mjs} +4 -4
  71. package/.output/server/chunks/build/{TownView-Bl8Gkcxi.mjs.map → TownView-B5KifIaT.mjs.map} +1 -1
  72. package/.output/server/chunks/build/{_id_-GnRJPykX.mjs → _id_-C-ewLgfl.mjs} +119 -119
  73. package/.output/server/chunks/build/{_id_-GnRJPykX.mjs.map → _id_-C-ewLgfl.mjs.map} +1 -1
  74. package/.output/server/chunks/build/{_id_-CWLFGZjV.mjs → _id_-Ct4Jhvl1.mjs} +42 -38
  75. package/.output/server/chunks/build/_id_-Ct4Jhvl1.mjs.map +1 -0
  76. package/.output/server/chunks/build/{_wsId_-BhQMjyHG.mjs → _wsId_-CanI_6Su.mjs} +591 -53
  77. package/.output/server/chunks/build/{_wsId_-BhQMjyHG.mjs.map → _wsId_-CanI_6Su.mjs.map} +1 -1
  78. package/.output/server/chunks/build/{agents-D4l1icvn.mjs → agents-DSOptxXA.mjs} +146 -91
  79. package/.output/server/chunks/build/agents-DSOptxXA.mjs.map +1 -0
  80. package/.output/server/chunks/build/{alert-gH-s7yIh.mjs → alert-qJnjyRcP.mjs} +3 -3
  81. package/.output/server/chunks/build/{alert-gH-s7yIh.mjs.map → alert-qJnjyRcP.mjs.map} +1 -1
  82. package/.output/server/chunks/build/{button-BhbX5ACI.mjs → button-DEcZFcqN.mjs} +3 -3
  83. package/.output/server/chunks/build/{button-BhbX5ACI.mjs.map → button-DEcZFcqN.mjs.map} +1 -1
  84. package/.output/server/chunks/build/{card-l4BbX67w.mjs → card-Dipvaykh.mjs} +5 -5
  85. package/.output/server/chunks/build/{card-l4BbX67w.mjs.map → card-Dipvaykh.mjs.map} +1 -1
  86. package/.output/server/chunks/build/{channel-templates-DqjtC-R0.mjs → channel-templates-BK0KuPOd.mjs} +13 -12
  87. package/.output/server/chunks/build/channel-templates-BK0KuPOd.mjs.map +1 -0
  88. package/.output/server/chunks/build/{checkbox-BF11p3dH.mjs → checkbox-dzcpU_Cd.mjs} +4 -4
  89. package/.output/server/chunks/build/{checkbox-BF11p3dH.mjs.map → checkbox-dzcpU_Cd.mjs.map} +1 -1
  90. package/.output/server/chunks/build/{daq-BOgpn9sl.mjs → daq-D9RA_uze.mjs} +102 -102
  91. package/.output/server/chunks/build/{daq-BOgpn9sl.mjs.map → daq-D9RA_uze.mjs.map} +1 -1
  92. package/.output/server/chunks/build/dcw-BTM5YU-B.mjs +1 -1
  93. package/.output/server/chunks/build/{default-CKJWhkot.mjs → default-BfWGTlbj.mjs} +81 -23
  94. package/.output/server/chunks/build/{default-CKJWhkot.mjs.map → default-BfWGTlbj.mjs.map} +1 -1
  95. package/.output/server/chunks/build/{drawer-CVValqoh.mjs → drawer-Cmh90erI.mjs} +3 -3
  96. package/.output/server/chunks/build/{drawer-CVValqoh.mjs.map → drawer-Cmh90erI.mjs.map} +1 -1
  97. package/.output/server/chunks/build/{dropdown-ByCsEWlQ.mjs → dropdown-CGQ0KAzA.mjs} +2 -2
  98. package/.output/server/chunks/build/{dropdown-ByCsEWlQ.mjs.map → dropdown-CGQ0KAzA.mjs.map} +1 -1
  99. package/.output/server/chunks/build/{dropdown-Dex8PXu6.mjs → dropdown-vhn1NPFs.mjs} +4 -4
  100. package/.output/server/chunks/build/{dropdown-Dex8PXu6.mjs.map → dropdown-vhn1NPFs.mjs.map} +1 -1
  101. package/.output/server/chunks/build/{input-number-BBlRoAJ7.mjs → input-number-Bd55elNN.mjs} +5 -5
  102. package/.output/server/chunks/build/{input-number-BBlRoAJ7.mjs.map → input-number-Bd55elNN.mjs.map} +1 -1
  103. package/.output/server/chunks/build/{input--KMeLYqZ.mjs → input-sf_BT6o6.mjs} +3 -3
  104. package/.output/server/chunks/build/{input--KMeLYqZ.mjs.map → input-sf_BT6o6.mjs.map} +1 -1
  105. package/.output/server/chunks/build/logs-Dyk0I2I9.mjs +1 -1
  106. package/.output/server/chunks/build/{menu-xN-SXb9Q.mjs → menu-WCrlpYVh.mjs} +3 -3
  107. package/.output/server/chunks/build/{menu-xN-SXb9Q.mjs.map → menu-WCrlpYVh.mjs.map} +1 -1
  108. package/.output/server/chunks/build/{modal-DrCOcjrl.mjs → modal-yvUquPj5.mjs} +4 -4
  109. package/.output/server/chunks/build/{modal-DrCOcjrl.mjs.map → modal-yvUquPj5.mjs.map} +1 -1
  110. package/.output/server/chunks/build/{monitor-KW8WLOJd.mjs → monitor-MIOvsyLa.mjs} +21 -21
  111. package/.output/server/chunks/build/{monitor-KW8WLOJd.mjs.map → monitor-MIOvsyLa.mjs.map} +1 -1
  112. package/.output/server/chunks/build/pages-DR2bzczM.mjs +1 -1
  113. package/.output/server/chunks/build/{plugins-B-ZNey0Z.mjs → plugins-DnOBIWGg.mjs} +7 -7
  114. package/.output/server/chunks/build/{plugins-B-ZNey0Z.mjs.map → plugins-DnOBIWGg.mjs.map} +1 -1
  115. package/.output/server/chunks/build/{popconfirm-C5H1Qoh3.mjs → popconfirm-CRaHcz5O.mjs} +4 -4
  116. package/.output/server/chunks/build/{popconfirm-C5H1Qoh3.mjs.map → popconfirm-CRaHcz5O.mjs.map} +1 -1
  117. package/.output/server/chunks/build/{useWorkshopApi-Bh5VUHWu.mjs → segmented-DPe9ZzLO.mjs} +7 -78
  118. package/.output/server/chunks/build/segmented-DPe9ZzLO.mjs.map +1 -0
  119. package/.output/server/chunks/build/{select-D7H2ysgT.mjs → select-D-CeE5vY.mjs} +3 -3
  120. package/.output/server/chunks/build/{select-D7H2ysgT.mjs.map → select-D-CeE5vY.mjs.map} +1 -1
  121. package/.output/server/chunks/build/{settings-Cr06lbRy.mjs → settings-DA8IkGLo.mjs} +11 -11
  122. package/.output/server/chunks/build/{settings-Cr06lbRy.mjs.map → settings-DA8IkGLo.mjs.map} +1 -1
  123. package/.output/server/chunks/build/{space-DCwIlnkI.mjs → space-CCBYAkXt.mjs} +2 -2
  124. package/.output/server/chunks/build/{space-DCwIlnkI.mjs.map → space-CCBYAkXt.mjs.map} +1 -1
  125. package/.output/server/chunks/build/{switch-VC0m9ede.mjs → switch-CelRXpcy.mjs} +3 -3
  126. package/.output/server/chunks/build/{switch-VC0m9ede.mjs.map → switch-CelRXpcy.mjs.map} +1 -1
  127. package/.output/server/chunks/build/{table-BksLg3Q_.mjs → table-Cswq-l2r.mjs} +10 -10
  128. package/.output/server/chunks/build/{table-BksLg3Q_.mjs.map → table-Cswq-l2r.mjs.map} +1 -1
  129. package/.output/server/chunks/build/{tabs-CzUfD3iX.mjs → tabs-BM3tAh_J.mjs} +5 -5
  130. package/.output/server/chunks/build/{tabs-CzUfD3iX.mjs.map → tabs-BM3tAh_J.mjs.map} +1 -1
  131. package/.output/server/chunks/build/{tag-oQI3VtqM.mjs → tag-NO9jEqKy.mjs} +4 -4
  132. package/.output/server/chunks/build/{tag-oQI3VtqM.mjs.map → tag-NO9jEqKy.mjs.map} +1 -1
  133. package/.output/server/chunks/build/{teams-QR3BBF7A.mjs → teams-BhSKBBBM.mjs} +15 -14
  134. package/.output/server/chunks/build/teams-BhSKBBBM.mjs.map +1 -0
  135. package/.output/server/chunks/build/{tokens-DFvr_TLj.mjs → tokens-D_eyxmcv.mjs} +16 -16
  136. package/.output/server/chunks/build/{tokens-DFvr_TLj.mjs.map → tokens-D_eyxmcv.mjs.map} +1 -1
  137. package/.output/server/chunks/build/town-BUqRobze.mjs +1 -1
  138. package/.output/server/chunks/build/{town-_4tEEEVW.mjs → town-DPtOPRRO.mjs} +4 -4
  139. package/.output/server/chunks/build/{town-_4tEEEVW.mjs.map → town-DPtOPRRO.mjs.map} +1 -1
  140. package/.output/server/chunks/build/useLocalTime-9a4B-aHv.mjs +42 -0
  141. package/.output/server/chunks/build/useLocalTime-9a4B-aHv.mjs.map +1 -0
  142. package/.output/server/chunks/build/useWorkshopApi-D2gq06N2.mjs +81 -0
  143. package/.output/server/chunks/build/useWorkshopApi-D2gq06N2.mjs.map +1 -0
  144. package/.output/server/chunks/build/useWorkshopWs-B3j5wIAK.mjs +1 -1
  145. package/.output/server/chunks/build/user-Dk-ytEUV.mjs +1 -1
  146. package/.output/server/chunks/build/{users-4FZ0yFUO.mjs → users-CmVvb1oq.mjs} +16 -16
  147. package/.output/server/chunks/build/{users-4FZ0yFUO.mjs.map → users-CmVvb1oq.mjs.map} +1 -1
  148. package/.output/server/chunks/build/{workshop-k0XZTFKg.mjs → workshop-iCzNRifn.mjs} +9 -9
  149. package/.output/server/chunks/build/{workshop-k0XZTFKg.mjs.map → workshop-iCzNRifn.mjs.map} +1 -1
  150. package/.output/server/chunks/build/workspaces-IfORCDJE.mjs +1 -1
  151. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  152. package/.output/server/chunks/routes/api/index.get.mjs +1 -1
  153. package/.output/server/chunks/routes/api/index.post.mjs +1 -1
  154. package/.output/server/chunks/routes/api/mcp/workshop.mjs +1 -1
  155. package/.output/server/chunks/routes/api/metrics.mjs +1 -1
  156. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +1 -1
  157. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +1 -1
  158. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +1 -1
  159. package/.output/server/chunks/routes/api/system/config.get.mjs +1 -1
  160. package/.output/server/chunks/routes/api/system/index.get.mjs +3 -3
  161. package/.output/server/chunks/routes/api/system/index.get.mjs.map +1 -1
  162. package/.output/server/chunks/routes/api/system/index.patch.mjs +1 -1
  163. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +1 -1
  164. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +1 -1
  165. package/.output/server/chunks/routes/api/system/monitor.get.mjs +1 -1
  166. package/.output/server/chunks/routes/api/system/settings/events.get.mjs +1 -1
  167. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +1 -1
  168. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -1
  169. package/.output/server/chunks/routes/api/users/_id_.get.mjs +1 -1
  170. package/.output/server/chunks/routes/api/users/_id_.put.mjs +1 -1
  171. package/.output/server/chunks/routes/api/users/index.get.mjs +1 -1
  172. package/.output/server/chunks/routes/api/users/index.post.mjs +1 -1
  173. package/.output/server/chunks/routes/api/users/login.post.mjs +1 -1
  174. package/.output/server/chunks/routes/api/users/logout.post.mjs +1 -1
  175. package/.output/server/chunks/routes/api/users/me.get.mjs +1 -1
  176. package/.output/server/chunks/routes/api/users/register.post.mjs +1 -1
  177. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +1 -1
  178. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +1 -1
  179. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -1
  180. package/.output/server/chunks/routes/api/workshop/_...path_.mjs +1 -1
  181. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +1 -1
  182. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +1 -1
  183. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -1
  184. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +1 -1
  185. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -1
  186. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +1 -1
  187. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +1 -1
  188. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +1 -1
  189. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +1 -1
  190. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +6 -14
  191. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs.map +1 -1
  192. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +39 -0
  193. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs.map +1 -0
  194. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +1 -1
  195. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +1 -1
  196. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +1 -1
  197. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -1
  198. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +1 -1
  199. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +1 -1
  200. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +1 -1
  201. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +1 -1
  202. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +2 -2
  203. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +1 -1
  204. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +2 -2
  205. package/.output/server/chunks/routes/api/workshop/audit.get.mjs +1 -1
  206. package/.output/server/chunks/routes/api/workshop/caller.mjs +1 -1
  207. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +2 -2
  208. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +1 -1
  209. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +1 -1
  210. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +1 -1
  211. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -1
  212. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +2 -2
  213. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +1 -1
  214. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -1
  215. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +1 -1
  216. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -1
  217. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +1 -1
  218. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +1 -1
  219. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +1 -1
  220. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +1 -1
  221. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +1 -1
  222. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +1 -1
  223. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -1
  224. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +1 -1
  225. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +2 -2
  226. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +1 -1
  227. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -1
  228. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +1 -1
  229. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +1 -1
  230. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -1
  231. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +1 -1
  232. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +1 -1
  233. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +1 -1
  234. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +2 -2
  235. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +1 -1
  236. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +2 -2
  237. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +9 -2
  238. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs.map +1 -1
  239. package/.output/server/chunks/routes/api/workshop/channels.get.mjs +1 -1
  240. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +2 -2
  241. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +2 -2
  242. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +2 -2
  243. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +2 -2
  244. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +6 -4
  245. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs.map +1 -1
  246. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +2 -2
  247. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +2 -2
  248. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +2 -2
  249. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +2 -2
  250. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +2 -2
  251. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +2 -2
  252. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +2 -2
  253. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +2 -2
  254. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +2 -2
  255. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +2 -2
  256. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +2 -2
  257. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +2 -2
  258. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +2 -2
  259. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +2 -2
  260. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +2 -2
  261. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +2 -2
  262. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +2 -2
  263. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -2
  264. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +2 -2
  265. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +2 -2
  266. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +2 -2
  267. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +2 -2
  268. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +2 -2
  269. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +2 -2
  270. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +2 -2
  271. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +2 -2
  272. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +2 -2
  273. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +2 -2
  274. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +2 -2
  275. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +2 -2
  276. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +2 -2
  277. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +2 -2
  278. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +2 -2
  279. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +2 -2
  280. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +2 -2
  281. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +2 -2
  282. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +2 -2
  283. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +2 -2
  284. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +2 -2
  285. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +2 -2
  286. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +2 -2
  287. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +2 -2
  288. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +2 -2
  289. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +2 -2
  290. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +2 -2
  291. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.patch.mjs +2 -2
  292. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +2 -2
  293. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +2 -2
  294. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +2 -2
  295. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +2 -2
  296. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +2 -2
  297. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +2 -2
  298. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +1 -1
  299. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +1 -1
  300. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +2 -2
  301. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +2 -2
  302. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +1 -1
  303. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +247 -0
  304. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs.map +1 -0
  305. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +27 -0
  306. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs.map +1 -0
  307. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  308. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +19 -7
  309. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs.map +1 -1
  310. package/.output/server/chunks/routes/api/workshop/index.get.mjs +1 -1
  311. package/.output/server/chunks/routes/api/workshop/index.post.mjs +1 -1
  312. package/.output/server/chunks/routes/api/workshop/index10.get.mjs +1 -1
  313. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +1 -1
  314. package/.output/server/chunks/routes/api/workshop/index2.post.mjs +1 -1
  315. package/.output/server/chunks/routes/api/workshop/index3.get.mjs +1 -1
  316. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +2 -2
  317. package/.output/server/chunks/routes/api/workshop/index4.get.mjs +2 -2
  318. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +2 -2
  319. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +2 -2
  320. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +2 -2
  321. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -1
  322. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +2 -2
  323. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +1 -1
  324. package/.output/server/chunks/routes/api/workshop/index7.post.mjs +1 -1
  325. package/.output/server/chunks/routes/api/workshop/index8.get.mjs +1 -1
  326. package/.output/server/chunks/routes/api/workshop/index8.post.mjs +1 -1
  327. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +1 -1
  328. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +1 -1
  329. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +1 -1
  330. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +1 -1
  331. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  332. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  333. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +1 -1
  334. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +1 -1
  335. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  336. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  337. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +1 -1
  338. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -1
  339. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -1
  340. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +1 -1
  341. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -1
  342. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +1 -1
  343. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +1 -1
  344. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +1 -1
  345. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +2 -2
  346. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +1 -1
  347. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -1
  348. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +1 -1
  349. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +1 -1
  350. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +1 -1
  351. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -1
  352. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +1 -1
  353. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +1 -1
  354. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +2 -2
  355. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +1 -1
  356. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +1 -1
  357. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +1 -1
  358. package/.output/server/chunks/routes/renderer.mjs +1 -1
  359. package/.output/server/chunks/virtual/entry.mjs +123 -113
  360. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  361. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  362. package/.output/server/index.mjs +1 -1
  363. package/.output/server/package.json +1 -1
  364. package/app/components/AppHeader.vue +56 -2
  365. package/app/components/workshop/ChannelSessionList.vue +703 -593
  366. package/app/components/workshop/terminal/OmpTerminalPanel.vue +2 -1
  367. package/app/composables/workshop/useLocalTime.ts +16 -0
  368. package/app/composables/workshop/useSceneLayouts.ts +2 -1
  369. package/app/composables/workshop/useWorkshopApi.ts +249 -224
  370. package/app/pages/daq/[id].vue +7 -6
  371. package/app/pages/daq/index.vue +2 -2
  372. package/app/pages/dcw/[id].vue +3 -3
  373. package/app/pages/workshop/agents.vue +432 -382
  374. package/bin/aw.mjs +0 -0
  375. package/cli/aw.mjs +8 -1
  376. package/cli/commands/stop.mjs +7 -4
  377. package/cli/commands/tui.mjs +10 -1
  378. package/cli/core/registry.mjs +5 -3
  379. package/config.yml +134 -134
  380. package/docs/tui.md +1 -1
  381. package/i18n/locales/en.ts +5 -0
  382. package/i18n/locales/zh-CN.ts +5 -0
  383. package/package.json +148 -140
  384. package/scripts/_dbg-catalog-smoke.ts +20 -0
  385. package/scripts/_dbg-codex-probe.mjs +58 -0
  386. package/scripts/_dbg-dsh-probe.mjs +31 -0
  387. package/scripts/_dbg-interval-scenario.mjs +126 -0
  388. package/scripts/_dbg-line-spawn.ts +31 -0
  389. package/scripts/_dbg-live-engine-probe.mjs +80 -0
  390. package/scripts/_dbg-mcp-bridge-probe.mjs +147 -0
  391. package/scripts/_dbg-opencode-sse.mjs +101 -0
  392. package/scripts/_dbg-opencode-start.ts +57 -0
  393. package/scripts/_dbg-plugin-matrix.mjs +212 -0
  394. package/scripts/_dbg-protocol-matrix.mjs +425 -0
  395. package/scripts/_dbg-real-scenario-timeline.log +123 -0
  396. package/scripts/_dbg-registry-smoke.ts +14 -0
  397. package/scripts/_dbg-sim-keeper.mjs +100 -0
  398. package/scripts/_dbg-team-drill.mjs +173 -0
  399. package/scripts/dev-guard.mjs +11 -3
  400. package/scripts/dev-protocol-simulators.mjs +28 -1
  401. package/scripts/e2e-multi-harness.ts +374 -0
  402. package/scripts/e2e-multiharness-team.mjs +319 -0
  403. package/scripts/e2e-plc-scenario.mjs +292 -0
  404. package/scripts/e2e-real-scenario.mjs +452 -0
  405. package/scripts/migrate-local-time.mjs +123 -0
  406. package/scripts/start.mjs +30 -2
  407. package/server/api/system/settings/index.get.ts +3 -3
  408. package/server/api/workshop/agent-tools/invoke.post.ts +27 -41
  409. package/server/api/workshop/agent-tools/list.get.ts +25 -0
  410. package/server/api/workshop/channels/[id]/index.patch.ts +38 -30
  411. package/server/api/workshop/daq/[id]/samples.get.ts +6 -3
  412. package/server/api/workshop/harnesses/[id]/providers.get.ts +16 -0
  413. package/server/api/workshop/harnesses.get.ts +12 -0
  414. package/server/api/workshop/hitl/respond.post.ts +87 -67
  415. package/server/api/workshop/ws.ts +13 -0
  416. package/server/data/daqs.json +1366 -16
  417. package/server/data/dcw-lines.json +266 -0
  418. package/server/data/dcw-products.json +203 -0
  419. package/server/data/dcw-recipes.json +784 -0
  420. package/server/data/dcw-rollback.json +1144 -1
  421. package/server/data/dcw-runs.json +983 -791
  422. package/server/data/dcw-writes.json +1080 -0
  423. package/server/data/dcws.json +3278 -203
  424. package/server/data/line-runs.json +52 -2
  425. package/server/harness/aw-mcp-bridge.mjs +153 -0
  426. package/server/plugins/00-local-time.ts +10 -0
  427. package/server/plugins/aw-plugins.ts +3 -0
  428. package/server/plugins/backup.ts +116 -97
  429. package/server/plugins/dev-stability-guard.ts +24 -15
  430. package/server/plugins/retention.ts +1 -0
  431. package/server/plugins/security.ts +24 -3
  432. package/server/plugins/workshop.ts +156 -153
  433. package/server/repositories/user.repository.ts +414 -391
  434. package/server/services/system-config.ts +30 -6
  435. package/server/services/workshop/.mimosa/hook-state/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f.json +1 -0
  436. package/server/services/workshop/.mimosa/hook-status/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f-e6b75bbfe6.json +14 -0
  437. package/server/services/workshop/agents/adapters/line-spawn.ts +108 -0
  438. package/server/services/workshop/agents/adapters/stdio-jsonrpc.ts +316 -0
  439. package/server/services/workshop/agents/agent-interface.ts +17 -0
  440. package/server/services/workshop/agents/codex-agent.ts +822 -0
  441. package/server/services/workshop/agents/dsh-agent.ts +670 -0
  442. package/server/services/workshop/agents/factory.ts +4 -16
  443. package/server/services/workshop/agents/harness-env.ts +54 -0
  444. package/server/services/workshop/agents/harness-models.ts +270 -0
  445. package/server/services/workshop/agents/host-tool-bridge.ts +592 -0
  446. package/server/services/workshop/agents/industrial-tools.ts +5 -1
  447. package/server/services/workshop/agents/node-bindings.repo.ts +4 -5
  448. package/server/services/workshop/agents/omp-agent.ts +1178 -1957
  449. package/server/services/workshop/agents/opencode-agent.ts +987 -0
  450. package/server/services/workshop/agents/prompt-builder.ts +393 -0
  451. package/server/services/workshop/agents/registry.ts +125 -0
  452. package/server/services/workshop/assets/character-asset.repo.ts +3 -5
  453. package/server/services/workshop/assets/device-twin.repo.ts +3 -5
  454. package/server/services/workshop/daq/daq-controller.ts +8 -4
  455. package/server/services/workshop/daq/daq-node.repo.ts +3 -5
  456. package/server/services/workshop/daq/daq-node.ts +2 -2
  457. package/server/services/workshop/daq/daq-templates.ts +3 -5
  458. package/server/services/workshop/daq/drivers.ts +41 -12
  459. package/server/services/workshop/daq/storage/sqlite.adapter.ts +313 -309
  460. package/server/services/workshop/db/backup-registry.ts +33 -0
  461. package/server/services/workshop/db/channel.repo.ts +104 -101
  462. package/server/services/workshop/db/database.ts +956 -949
  463. package/server/services/workshop/dcw/dcw-controller.ts +3 -1
  464. package/server/services/workshop/dcw/dcw-line.repo.ts +4 -11
  465. package/server/services/workshop/dcw/dcw-node.repo.ts +3 -5
  466. package/server/services/workshop/dcw/dcw-node.ts +13 -1
  467. package/server/services/workshop/dcw/dcw-product.repo.ts +3 -4
  468. package/server/services/workshop/dcw/dcw-recipe.repo.ts +3 -19
  469. package/server/services/workshop/dcw/dcw-templates.ts +3 -5
  470. package/server/services/workshop/dcw/drivers.ts +37 -13
  471. package/server/services/workshop/dcw/line-run.ts +3 -5
  472. package/server/services/workshop/dcw/recipe-rollback.repo.ts +4 -10
  473. package/server/services/workshop/json-store.mjs +72 -0
  474. package/server/services/workshop/plugins/host.mjs +2 -1
  475. package/server/services/workshop/runtime/agent-runtime.ts +44 -0
  476. package/server/services/workshop/runtime/manager.ts +2953 -2868
  477. package/server/services/workshop/scene/scene-layout.repo.ts +4 -11
  478. package/server/services/workshop/settings.ts +7 -0
  479. package/shared/config/schema.json +5 -0
  480. package/shared/config/single-instance.mjs +5 -1
  481. package/shared/local-time.mjs +36 -0
  482. package/shared/workshop-protocol.ts +11 -5
  483. package/tui/aw-tui.mjs +28 -10
  484. package/tui/components/hitl-card.mjs +47 -36
  485. package/tui/lib/ws.mjs +2 -1
  486. package/.output/public/_nuxt/9X0fVBD7.js +0 -57
  487. package/.output/public/_nuxt/B6M2WJWm2.js +0 -1
  488. package/.output/public/_nuxt/B9Yie5HN.js +0 -2
  489. package/.output/public/_nuxt/BF9XPEuw.js +0 -1
  490. package/.output/public/_nuxt/BbQornXa.js +0 -1
  491. package/.output/public/_nuxt/Bxgaym6j.js +0 -1
  492. package/.output/public/_nuxt/Bxh5nf8j.js +0 -1
  493. package/.output/public/_nuxt/CXLI50Sq.js +0 -1
  494. package/.output/public/_nuxt/CdfAP_IH2.js +0 -1
  495. package/.output/public/_nuxt/Ce1zyNYu.js +0 -1
  496. package/.output/public/_nuxt/D-Ne4C9a.js +0 -1
  497. package/.output/public/_nuxt/DEHNjlTq2.js +0 -1
  498. package/.output/public/_nuxt/DFnGFEav.js +0 -18
  499. package/.output/public/_nuxt/DYWgGHNo.js +0 -7
  500. package/.output/public/_nuxt/OmpTerminalPanel.Bc9GjNU5.css +0 -1
  501. package/.output/public/_nuxt/W1E3-5ML.js +0 -14
  502. package/.output/public/_nuxt/XVB9_zwP.js +0 -1
  503. package/.output/public/_nuxt/Xaf_HIR3.js +0 -1
  504. package/.output/public/_nuxt/_id_.BeqSLvl_.css +0 -1
  505. package/.output/public/_nuxt/_id_.DN3U6EF9.css +0 -1
  506. package/.output/public/_nuxt/agents.BJwgTLFZ.css +0 -1
  507. package/.output/public/_nuxt/builds/meta/55c10854-ee0e-4be4-924b-a1b0e100fe11.json +0 -1
  508. package/.output/public/_nuxt/daq.BXsnevQv.css +0 -1
  509. package/.output/public/_nuxt/yIKY_V1P.js +0 -1
  510. package/.output/server/chunks/build/OmpTerminalPanel-B_SYhmgb.mjs.map +0 -1
  511. package/.output/server/chunks/build/_id_-CWLFGZjV.mjs.map +0 -1
  512. package/.output/server/chunks/build/agents-D4l1icvn.mjs.map +0 -1
  513. package/.output/server/chunks/build/channel-templates-DqjtC-R0.mjs.map +0 -1
  514. package/.output/server/chunks/build/interval-WlxgjTzO.mjs +0 -9
  515. package/.output/server/chunks/build/interval-WlxgjTzO.mjs.map +0 -1
  516. package/.output/server/chunks/build/teams-QR3BBF7A.mjs.map +0 -1
  517. package/.output/server/chunks/build/useWorkshopApi-Bh5VUHWu.mjs.map +0 -1
@@ -1,422 +1,62 @@
1
1
  [
2
2
  {
3
- "id": "rr-4c9920e7",
4
- "recipeId": "rc-23cbfa6b",
5
- "recipeName": "控制终审Y线配方",
6
- "productId": "pd-0a3b1a6b",
7
- "lineId": "ln-ee288c10",
8
- "startedAt": "2026-08-30T07:41:57.565Z",
9
- "endedAt": "2026-08-30T07:42:02.385Z",
10
- "results": [
11
- {
12
- "templateRef": "dcw-temp-sp",
13
- "nodeId": "dw-6ae89624",
14
- "ok": true,
15
- "message": "Mock PLC 写入成功:165 → raw 165,回读一致(标定后物理值 165)",
16
- "value": 165
17
- }
18
- ]
19
- },
20
- {
21
- "id": "rr-a679fe71",
22
- "recipeId": "rc-798819f9",
23
- "recipeName": "工具审计配方",
24
- "productId": "pd-68656e38",
25
- "lineId": "ln-915a4031",
26
- "startedAt": "2026-08-30T07:42:02.881Z",
27
- "endedAt": "2026-08-30T07:42:16.498Z",
28
- "results": [
29
- {
30
- "templateRef": "dcw-temp-sp",
31
- "nodeId": "dw-761e7543",
32
- "ok": true,
33
- "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
34
- "value": 180
35
- }
36
- ]
37
- },
38
- {
39
- "id": "rr-cabc4b8e",
40
- "recipeId": "rc-12b6fe3a",
41
- "recipeName": "作业流审计配方",
42
- "productId": "pd-5176e0c0",
43
- "lineId": "ln-ef8c8109",
44
- "startedAt": "2026-08-30T07:42:16.919Z",
45
- "endedAt": "2026-08-30T07:42:22.447Z",
46
- "results": [
47
- {
48
- "templateRef": "dcw-temp-sp",
49
- "nodeId": "dw-9e0a641c",
50
- "ok": true,
51
- "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
52
- "value": 180
53
- }
54
- ]
55
- },
56
- {
57
- "id": "rr-977bee11",
58
- "recipeId": "rc-0282083f",
59
- "recipeName": "加固探针配方",
60
- "productId": "pd-7daabef6",
61
- "lineId": "ln-4d6cbd50",
62
- "startedAt": "2026-08-30T08:34:13.832Z",
63
- "endedAt": "2026-08-30T08:34:17.460Z",
64
- "results": [
65
- {
66
- "templateRef": "dcw-temp-sp",
67
- "nodeId": "dw-6e4b3069",
68
- "ok": true,
69
- "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
70
- "value": 180
71
- }
72
- ]
73
- },
74
- {
75
- "id": "rr-45a509d9",
76
- "recipeId": "rc-5e36acb3",
77
- "recipeName": "加固探针配方",
78
- "productId": "pd-fb896b33",
79
- "lineId": "ln-0f8ba5c7",
80
- "startedAt": "2026-08-30T08:34:30.046Z",
81
- "endedAt": "2026-08-30T08:34:33.681Z",
82
- "results": [
83
- {
84
- "templateRef": "dcw-temp-sp",
85
- "nodeId": "dw-8dcb94fe",
86
- "ok": true,
87
- "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
88
- "value": 180
89
- }
90
- ]
91
- },
92
- {
93
- "id": "rr-17257f9d",
94
- "recipeId": "rc-c18c9c53",
95
- "recipeName": "控制终审X线配方",
96
- "productId": "pd-f2b61054",
97
- "lineId": "ln-a7022cdc",
98
- "startedAt": "2026-08-30T08:34:34.140Z",
99
- "endedAt": "2026-08-30T08:34:40.000Z",
100
- "results": [
101
- {
102
- "templateRef": "dcw-temp-sp",
103
- "nodeId": "dw-61c0dd97",
104
- "ok": true,
105
- "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
106
- "value": 180
107
- }
108
- ]
109
- },
110
- {
111
- "id": "rr-29c4f794",
112
- "recipeId": "rc-2058ac67",
113
- "recipeName": "控制终审Y线配方",
114
- "productId": "pd-be50ddb0",
115
- "lineId": "ln-ade526fa",
116
- "startedAt": "2026-08-30T08:34:37.334Z",
117
- "endedAt": "2026-08-30T08:34:42.151Z",
118
- "results": [
119
- {
120
- "templateRef": "dcw-temp-sp",
121
- "nodeId": "dw-c316eb9e",
122
- "ok": true,
123
- "message": "Mock PLC 写入成功:165 → raw 165,回读一致(标定后物理值 165)",
124
- "value": 165
125
- }
126
- ]
127
- },
128
- {
129
- "id": "rr-812a2910",
130
- "recipeId": "rc-eb5c4fb3",
131
- "recipeName": "工具审计配方",
132
- "productId": "pd-eaf2efa6",
133
- "lineId": "ln-00056e5b",
134
- "startedAt": "2026-08-30T08:34:42.668Z",
135
- "endedAt": "2026-08-30T08:35:01.580Z",
136
- "results": [
137
- {
138
- "templateRef": "dcw-temp-sp",
139
- "nodeId": "dw-66644029",
140
- "ok": true,
141
- "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
142
- "value": 180
143
- }
144
- ]
145
- },
146
- {
147
- "id": "rr-26256a6d",
148
- "recipeId": "rc-ae2b967e",
149
- "recipeName": "作业流审计配方",
150
- "productId": "pd-640d8816",
151
- "lineId": "ln-883acb63",
152
- "startedAt": "2026-08-30T08:35:01.984Z",
153
- "endedAt": "2026-08-30T08:35:07.489Z",
154
- "results": [
155
- {
156
- "templateRef": "dcw-temp-sp",
157
- "nodeId": "dw-7bc34a4b",
158
- "ok": true,
159
- "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
160
- "value": 180
161
- }
162
- ]
163
- },
164
- {
165
- "id": "rr-58ea12f1",
166
- "recipeId": "rc-3511ecbb",
167
- "recipeName": "终审配方A",
168
- "productId": "pd-f9e3a072",
169
- "lineId": "ln-d63c4d1c",
170
- "startedAt": "2026-08-30T08:35:08.590Z",
171
- "endedAt": "2026-08-30T08:35:20.364Z",
3
+ "id": "rr-b171f611",
4
+ "recipeId": "rc-7bf584db",
5
+ "recipeName": "A-标准工艺",
6
+ "productId": "pd-6348a595",
7
+ "lineId": "ln-af002514",
8
+ "startedAt": "2026-08-30T11:45:42.754Z",
9
+ "endedAt": "2026-08-30T11:46:40.875Z",
172
10
  "results": [
173
11
  {
174
12
  "templateRef": "dcw-temp-sp",
175
- "nodeId": "dw-52a8b97e",
13
+ "nodeId": "dw-322b1978",
176
14
  "ok": true,
177
- "message": "写入并回读一致:182 → raw 1280,回读 182(标定后物理值 182)",
15
+ "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
178
16
  "value": 182
179
- }
180
- ]
181
- },
182
- {
183
- "id": "rr-3f947bf4",
184
- "recipeId": "rc-5611e28b",
185
- "recipeName": "场景配方A",
186
- "productId": "pd-5d5279f7",
187
- "lineId": "ln-595b7e1d",
188
- "startedAt": "2026-08-30T08:35:20.859Z",
189
- "endedAt": "2026-08-30T08:35:26.409Z",
190
- "results": [
191
- {
192
- "templateRef": "dcw-temp-sp",
193
- "nodeId": "dw-a9759e18",
194
- "ok": true,
195
- "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
196
- "value": 180
197
- }
198
- ]
199
- },
200
- {
201
- "id": "rr-b4ee801d",
202
- "recipeId": "rc-9fbc9641",
203
- "recipeName": "场景配方B",
204
- "productId": "pd-25bcd330",
205
- "lineId": "ln-e25ce0a0",
206
- "startedAt": "2026-08-30T08:35:26.426Z",
207
- "endedAt": "2026-08-30T08:35:56.188Z",
208
- "results": [
209
- {
210
- "templateRef": "dcw-temp-sp",
211
- "nodeId": "dw-6b47687f",
212
- "ok": true,
213
- "message": "Mock PLC 写入成功:165 → raw 165,回读一致(标定后物理值 165)",
214
- "value": 165
215
- }
216
- ]
217
- },
218
- {
219
- "id": "rr-f8cffd0d",
220
- "recipeId": "rc-c113b99e",
221
- "recipeName": "标定审计配方",
222
- "productId": "pd-239baef2",
223
- "lineId": "ln-adef5b03",
224
- "startedAt": "2026-08-30T08:40:09.463Z",
225
- "endedAt": "2026-08-30T08:40:14.304Z",
226
- "results": [
227
- {
228
- "templateRef": "dcw-temp-sp",
229
- "nodeId": "dw-0b55ae65",
230
- "ok": true,
231
- "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
232
- "value": 180
233
- }
234
- ]
235
- },
236
- {
237
- "id": "rr-cf0a59cc",
238
- "recipeId": "rc-a30734b7",
239
- "recipeName": "审计配方-光学膜",
240
- "productId": "pd-f66f6351",
241
- "lineId": "ln-552aba9c",
242
- "startedAt": "2026-08-30T08:41:13.047Z",
243
- "endedAt": "2026-08-30T08:41:16.825Z",
244
- "results": [
245
- {
246
- "templateRef": "dcw-temp-sp",
247
- "nodeId": "dw-34200a01",
248
- "ok": true,
249
- "message": "Mock PLC 写入成功:185 → raw 185,回读一致(标定后物理值 185)",
250
- "value": 185
251
17
  },
252
18
  {
253
- "templateRef": "dcw-cw-76f80ea3",
254
- "nodeId": null,
255
- "ok": false,
256
- "message": "目标控制节点不存在(dw-c07840d5),参数未下发",
257
- "value": 320
258
- }
259
- ]
260
- },
261
- {
262
- "id": "rr-d3d0be87",
263
- "recipeId": "rc-7fc53407",
264
- "recipeName": "审计配方-B",
265
- "productId": "pd-f66f6351",
266
- "lineId": "ln-552aba9c",
267
- "startedAt": "2026-08-30T08:41:14.097Z",
268
- "endedAt": "2026-08-30T08:41:16.904Z",
269
- "results": [
270
- {
271
- "templateRef": "dcw-temp-sp",
272
- "nodeId": "dw-34200a01",
273
- "ok": true,
274
- "message": "Mock PLC 写入成功:160 → raw 160,回读一致(标定后物理值 160)",
275
- "value": 160
276
- }
277
- ]
278
- },
279
- {
280
- "id": "rr-830e8ce8",
281
- "recipeId": "rc-7efd4042",
282
- "recipeName": "B-低温工艺",
283
- "productId": "pd-5c18f2a8",
284
- "lineId": "ln-17b2d0ae",
285
- "startedAt": "2026-08-30T10:04:50.177Z",
286
- "endedAt": null,
287
- "results": [
288
- {
289
- "templateRef": "dcw-temp-sp",
290
- "nodeId": "dw-d341d62e",
19
+ "templateRef": "dcw-pressure-sp",
20
+ "nodeId": "dw-e92bb0e7",
291
21
  "ok": true,
292
- "message": "Mock PLC 写入成功:162 → raw 162,回读一致(标定后物理值 162)",
293
- "value": 162
294
- }
295
- ]
296
- },
297
- {
298
- "id": "rr-b9b333b8",
299
- "recipeId": "rc-82ca6601",
300
- "recipeName": "暂停审计配方-sttdr",
301
- "productId": "pd-78c7f507",
302
- "lineId": "",
303
- "startedAt": "2026-08-30T10:42:36.238Z",
304
- "endedAt": null,
305
- "results": [
306
- {
307
- "templateRef": "dcw-cw-4750b4bb",
308
- "nodeId": "dw-69135086",
309
- "ok": false,
310
- "message": "当前节点暂停:「暂停审计-扭矩节点-sttdr」控制已暂停,仅开启控制的节点可被设定",
311
- "value": 32
312
- }
313
- ]
314
- },
315
- {
316
- "id": "rr-5c0fff1f",
317
- "recipeId": "rc-82ca6601",
318
- "recipeName": "暂停审计配方-sttdr",
319
- "productId": "pd-78c7f507",
320
- "lineId": "",
321
- "startedAt": "2026-08-30T10:42:36.483Z",
322
- "endedAt": null,
323
- "results": [
324
- {
325
- "templateRef": "dcw-cw-4750b4bb",
326
- "nodeId": "dw-69135086",
327
- "ok": false,
328
- "message": "控制网关已暂停(暂停全部控制):设定下发被拒绝,请先「恢复全部控制」",
329
- "value": 32
330
- }
331
- ]
332
- },
333
- {
334
- "id": "rr-ad69c602",
335
- "recipeId": "rc-e1aeed7b",
336
- "recipeName": "暂停审计配方-vo12j",
337
- "productId": "pd-1738e789",
338
- "lineId": "",
339
- "startedAt": "2026-08-30T10:42:59.321Z",
340
- "endedAt": null,
341
- "results": [
342
- {
343
- "templateRef": "dcw-cw-c12651c1",
344
- "nodeId": "dw-68d912a1",
345
- "ok": false,
346
- "message": "当前节点暂停:「暂停审计-扭矩节点-vo12j」控制已暂停,仅开启控制的节点可被设定",
347
- "value": 32
348
- }
349
- ]
350
- },
351
- {
352
- "id": "rr-927d18a2",
353
- "recipeId": "rc-0f1499c9",
354
- "recipeName": "暂停审计配方-o9pk5",
355
- "productId": "pd-ebbc3a62",
356
- "lineId": "",
357
- "startedAt": "2026-08-30T10:43:11.705Z",
358
- "endedAt": null,
359
- "results": [
360
- {
361
- "templateRef": "dcw-cw-afc49732",
362
- "nodeId": "dw-cca7897c",
363
- "ok": false,
364
- "message": "当前节点暂停:「暂停审计-扭矩节点-o9pk5」控制已暂停,仅开启控制的节点可被设定",
365
- "value": 32
366
- }
367
- ]
368
- },
369
- {
370
- "id": "rr-a83f2629",
371
- "recipeId": "rc-0f1499c9",
372
- "recipeName": "暂停审计配方-o9pk5",
373
- "productId": "pd-ebbc3a62",
374
- "lineId": "",
375
- "startedAt": "2026-08-30T10:43:13.080Z",
376
- "endedAt": null,
377
- "results": [
378
- {
379
- "templateRef": "dcw-cw-afc49732",
380
- "nodeId": "dw-cca7897c",
381
- "ok": false,
382
- "message": "控制网关已暂停(暂停全部控制):设定下发被拒绝,请先「恢复全部控制」",
383
- "value": 32
22
+ "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
23
+ "value": 0.92
384
24
  }
385
25
  ]
386
26
  },
387
27
  {
388
- "id": "rr-b9cc60a5",
28
+ "id": "rr-7ff55812",
389
29
  "recipeId": "rc-7bf584db",
390
30
  "recipeName": "A-标准工艺",
391
31
  "productId": "pd-6348a595",
392
32
  "lineId": "ln-af002514",
393
- "startedAt": "2026-08-30T11:15:54.164Z",
394
- "endedAt": null,
33
+ "startedAt": "2026-08-30T11:49:25.607Z",
34
+ "endedAt": "2026-08-30T11:50:03.476Z",
395
35
  "results": [
396
36
  {
397
37
  "templateRef": "dcw-temp-sp",
398
38
  "nodeId": "dw-322b1978",
399
- "ok": false,
400
- "message": "控制网关已暂停(暂停全部控制):设定下发被拒绝,请先「恢复全部控制」",
39
+ "ok": true,
40
+ "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
401
41
  "value": 182
402
42
  },
403
43
  {
404
44
  "templateRef": "dcw-pressure-sp",
405
45
  "nodeId": "dw-e92bb0e7",
406
- "ok": false,
407
- "message": "控制网关已暂停(暂停全部控制):设定下发被拒绝,请先「恢复全部控制」",
46
+ "ok": true,
47
+ "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
408
48
  "value": 0.92
409
49
  }
410
50
  ]
411
51
  },
412
52
  {
413
- "id": "rr-0db8e4d2",
53
+ "id": "rr-78084ec6",
414
54
  "recipeId": "rc-7bf584db",
415
55
  "recipeName": "A-标准工艺",
416
56
  "productId": "pd-6348a595",
417
57
  "lineId": "ln-af002514",
418
- "startedAt": "2026-08-30T11:15:57.783Z",
419
- "endedAt": null,
58
+ "startedAt": "2026-08-30T11:51:02.784Z",
59
+ "endedAt": "2026-08-30T11:51:07.947Z",
420
60
  "results": [
421
61
  {
422
62
  "templateRef": "dcw-temp-sp",
@@ -435,13 +75,13 @@
435
75
  ]
436
76
  },
437
77
  {
438
- "id": "rr-692e3b83",
78
+ "id": "rr-01ae127b",
439
79
  "recipeId": "rc-7bf584db",
440
80
  "recipeName": "A-标准工艺",
441
81
  "productId": "pd-6348a595",
442
82
  "lineId": "ln-af002514",
443
- "startedAt": "2026-08-30T11:23:12.943Z",
444
- "endedAt": "2026-08-30T11:23:14.664Z",
83
+ "startedAt": "2026-08-30T12:15:39.662Z",
84
+ "endedAt": "2026-08-30T12:16:35.223Z",
445
85
  "results": [
446
86
  {
447
87
  "templateRef": "dcw-temp-sp",
@@ -460,13 +100,13 @@
460
100
  ]
461
101
  },
462
102
  {
463
- "id": "rr-993474e0",
103
+ "id": "rr-f3cb33d0",
464
104
  "recipeId": "rc-7bf584db",
465
105
  "recipeName": "A-标准工艺",
466
106
  "productId": "pd-6348a595",
467
107
  "lineId": "ln-af002514",
468
- "startedAt": "2026-08-30T11:37:49.594Z",
469
- "endedAt": "2026-08-30T11:37:54.761Z",
108
+ "startedAt": "2026-08-30T12:18:36.060Z",
109
+ "endedAt": "2026-08-30T12:19:30.722Z",
470
110
  "results": [
471
111
  {
472
112
  "templateRef": "dcw-temp-sp",
@@ -485,13 +125,13 @@
485
125
  ]
486
126
  },
487
127
  {
488
- "id": "rr-fdb0a713",
128
+ "id": "rr-94074f6c",
489
129
  "recipeId": "rc-7bf584db",
490
130
  "recipeName": "A-标准工艺",
491
131
  "productId": "pd-6348a595",
492
132
  "lineId": "ln-af002514",
493
- "startedAt": "2026-08-30T11:43:18.446Z",
494
- "endedAt": "2026-08-30T11:43:56.206Z",
133
+ "startedAt": "2026-08-30T12:24:48.621Z",
134
+ "endedAt": "2026-08-30T12:24:56.192Z",
495
135
  "results": [
496
136
  {
497
137
  "templateRef": "dcw-temp-sp",
@@ -510,13 +150,31 @@
510
150
  ]
511
151
  },
512
152
  {
513
- "id": "rr-b171f611",
153
+ "id": "rr-7a2b1d8e",
154
+ "recipeId": "rc-383d5228",
155
+ "recipeName": "全功能配方-cmi1rk",
156
+ "productId": "pd-f5e16580",
157
+ "lineId": "ln-c6398954",
158
+ "startedAt": "2026-08-30T15:01:39.119Z",
159
+ "endedAt": "2026-08-30T15:11:53.479Z",
160
+ "results": [
161
+ {
162
+ "templateRef": "dcw-temp-sp",
163
+ "nodeId": "dw-e7d0b794",
164
+ "ok": true,
165
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
166
+ "value": 180
167
+ }
168
+ ]
169
+ },
170
+ {
171
+ "id": "rr-3cfdeade",
514
172
  "recipeId": "rc-7bf584db",
515
173
  "recipeName": "A-标准工艺",
516
174
  "productId": "pd-6348a595",
517
175
  "lineId": "ln-af002514",
518
- "startedAt": "2026-08-30T11:45:42.754Z",
519
- "endedAt": "2026-08-30T11:46:40.875Z",
176
+ "startedAt": "2026-08-30T15:51:40.543Z",
177
+ "endedAt": "2026-08-30T15:52:09.236Z",
520
178
  "results": [
521
179
  {
522
180
  "templateRef": "dcw-temp-sp",
@@ -535,13 +193,13 @@
535
193
  ]
536
194
  },
537
195
  {
538
- "id": "rr-7ff55812",
196
+ "id": "rr-046e4328",
539
197
  "recipeId": "rc-7bf584db",
540
198
  "recipeName": "A-标准工艺",
541
199
  "productId": "pd-6348a595",
542
200
  "lineId": "ln-af002514",
543
- "startedAt": "2026-08-30T11:49:25.607Z",
544
- "endedAt": "2026-08-30T11:50:03.476Z",
201
+ "startedAt": "2026-08-30T15:52:46.613Z",
202
+ "endedAt": "2026-08-30T15:53:02.101Z",
545
203
  "results": [
546
204
  {
547
205
  "templateRef": "dcw-temp-sp",
@@ -560,175 +218,7 @@
560
218
  ]
561
219
  },
562
220
  {
563
- "id": "rr-78084ec6",
564
- "recipeId": "rc-7bf584db",
565
- "recipeName": "A-标准工艺",
566
- "productId": "pd-6348a595",
567
- "lineId": "ln-af002514",
568
- "startedAt": "2026-08-30T11:51:02.784Z",
569
- "endedAt": "2026-08-30T11:51:07.947Z",
570
- "results": [
571
- {
572
- "templateRef": "dcw-temp-sp",
573
- "nodeId": "dw-322b1978",
574
- "ok": true,
575
- "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
576
- "value": 182
577
- },
578
- {
579
- "templateRef": "dcw-pressure-sp",
580
- "nodeId": "dw-e92bb0e7",
581
- "ok": true,
582
- "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
583
- "value": 0.92
584
- }
585
- ]
586
- },
587
- {
588
- "id": "rr-01ae127b",
589
- "recipeId": "rc-7bf584db",
590
- "recipeName": "A-标准工艺",
591
- "productId": "pd-6348a595",
592
- "lineId": "ln-af002514",
593
- "startedAt": "2026-08-30T12:15:39.662Z",
594
- "endedAt": "2026-08-30T12:16:35.223Z",
595
- "results": [
596
- {
597
- "templateRef": "dcw-temp-sp",
598
- "nodeId": "dw-322b1978",
599
- "ok": true,
600
- "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
601
- "value": 182
602
- },
603
- {
604
- "templateRef": "dcw-pressure-sp",
605
- "nodeId": "dw-e92bb0e7",
606
- "ok": true,
607
- "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
608
- "value": 0.92
609
- }
610
- ]
611
- },
612
- {
613
- "id": "rr-f3cb33d0",
614
- "recipeId": "rc-7bf584db",
615
- "recipeName": "A-标准工艺",
616
- "productId": "pd-6348a595",
617
- "lineId": "ln-af002514",
618
- "startedAt": "2026-08-30T12:18:36.060Z",
619
- "endedAt": "2026-08-30T12:19:30.722Z",
620
- "results": [
621
- {
622
- "templateRef": "dcw-temp-sp",
623
- "nodeId": "dw-322b1978",
624
- "ok": true,
625
- "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
626
- "value": 182
627
- },
628
- {
629
- "templateRef": "dcw-pressure-sp",
630
- "nodeId": "dw-e92bb0e7",
631
- "ok": true,
632
- "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
633
- "value": 0.92
634
- }
635
- ]
636
- },
637
- {
638
- "id": "rr-94074f6c",
639
- "recipeId": "rc-7bf584db",
640
- "recipeName": "A-标准工艺",
641
- "productId": "pd-6348a595",
642
- "lineId": "ln-af002514",
643
- "startedAt": "2026-08-30T12:24:48.621Z",
644
- "endedAt": "2026-08-30T12:24:56.192Z",
645
- "results": [
646
- {
647
- "templateRef": "dcw-temp-sp",
648
- "nodeId": "dw-322b1978",
649
- "ok": true,
650
- "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
651
- "value": 182
652
- },
653
- {
654
- "templateRef": "dcw-pressure-sp",
655
- "nodeId": "dw-e92bb0e7",
656
- "ok": true,
657
- "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
658
- "value": 0.92
659
- }
660
- ]
661
- },
662
- {
663
- "id": "rr-7a2b1d8e",
664
- "recipeId": "rc-383d5228",
665
- "recipeName": "全功能配方-cmi1rk",
666
- "productId": "pd-f5e16580",
667
- "lineId": "ln-c6398954",
668
- "startedAt": "2026-08-30T15:01:39.119Z",
669
- "endedAt": "2026-08-30T15:11:53.479Z",
670
- "results": [
671
- {
672
- "templateRef": "dcw-temp-sp",
673
- "nodeId": "dw-e7d0b794",
674
- "ok": true,
675
- "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
676
- "value": 180
677
- }
678
- ]
679
- },
680
- {
681
- "id": "rr-3cfdeade",
682
- "recipeId": "rc-7bf584db",
683
- "recipeName": "A-标准工艺",
684
- "productId": "pd-6348a595",
685
- "lineId": "ln-af002514",
686
- "startedAt": "2026-08-30T15:51:40.543Z",
687
- "endedAt": "2026-08-30T15:52:09.236Z",
688
- "results": [
689
- {
690
- "templateRef": "dcw-temp-sp",
691
- "nodeId": "dw-322b1978",
692
- "ok": true,
693
- "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
694
- "value": 182
695
- },
696
- {
697
- "templateRef": "dcw-pressure-sp",
698
- "nodeId": "dw-e92bb0e7",
699
- "ok": true,
700
- "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
701
- "value": 0.92
702
- }
703
- ]
704
- },
705
- {
706
- "id": "rr-046e4328",
707
- "recipeId": "rc-7bf584db",
708
- "recipeName": "A-标准工艺",
709
- "productId": "pd-6348a595",
710
- "lineId": "ln-af002514",
711
- "startedAt": "2026-08-30T15:52:46.613Z",
712
- "endedAt": "2026-08-30T15:53:02.101Z",
713
- "results": [
714
- {
715
- "templateRef": "dcw-temp-sp",
716
- "nodeId": "dw-322b1978",
717
- "ok": true,
718
- "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
719
- "value": 182
720
- },
721
- {
722
- "templateRef": "dcw-pressure-sp",
723
- "nodeId": "dw-e92bb0e7",
724
- "ok": true,
725
- "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
726
- "value": 0.92
727
- }
728
- ]
729
- },
730
- {
731
- "id": "rr-9ac3a8c5",
221
+ "id": "rr-9ac3a8c5",
732
222
  "recipeId": "rc-7bf584db",
733
223
  "recipeName": "A-标准工艺",
734
224
  "productId": "pd-6348a595",
@@ -5140,305 +4630,1007 @@
5140
4630
  ],
5141
4631
  "paramsSnapshot": [
5142
4632
  {
5143
- "nodeId": "dw-322b1978",
4633
+ "nodeId": "dw-322b1978",
4634
+ "templateRef": "dcw-temp-sp",
4635
+ "value": 182,
4636
+ "min": 176,
4637
+ "max": 188
4638
+ },
4639
+ {
4640
+ "nodeId": "dw-e92bb0e7",
4641
+ "templateRef": "dcw-pressure-sp",
4642
+ "value": 0.92,
4643
+ "min": 0.85,
4644
+ "max": 1
4645
+ }
4646
+ ]
4647
+ },
4648
+ {
4649
+ "id": "rr-a6881136",
4650
+ "recipeId": "rc-7bf584db",
4651
+ "recipeName": "A-标准工艺",
4652
+ "productId": "pd-6348a595",
4653
+ "lineId": "ln-af002514",
4654
+ "startedAt": "2026-09-03T01:13:27.536Z",
4655
+ "endedAt": "2026-09-03T01:13:54.797Z",
4656
+ "results": [
4657
+ {
4658
+ "templateRef": "dcw-temp-sp",
4659
+ "nodeId": "dw-322b1978",
4660
+ "ok": true,
4661
+ "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
4662
+ "value": 182
4663
+ },
4664
+ {
4665
+ "templateRef": "dcw-pressure-sp",
4666
+ "nodeId": "dw-e92bb0e7",
4667
+ "ok": true,
4668
+ "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
4669
+ "value": 0.92
4670
+ }
4671
+ ],
4672
+ "paramsSnapshot": [
4673
+ {
4674
+ "nodeId": "dw-322b1978",
4675
+ "templateRef": "dcw-temp-sp",
4676
+ "value": 182,
4677
+ "min": 176,
4678
+ "max": 188
4679
+ },
4680
+ {
4681
+ "nodeId": "dw-e92bb0e7",
4682
+ "templateRef": "dcw-pressure-sp",
4683
+ "value": 0.92,
4684
+ "min": 0.85,
4685
+ "max": 1
4686
+ }
4687
+ ]
4688
+ },
4689
+ {
4690
+ "id": "rr-8b294482",
4691
+ "recipeId": "rc-7bf584db",
4692
+ "recipeName": "A-标准工艺",
4693
+ "productId": "pd-6348a595",
4694
+ "lineId": "ln-af002514",
4695
+ "startedAt": "2026-09-03T10:17:58.886Z",
4696
+ "endedAt": "2026-09-03T10:41:13.654Z",
4697
+ "results": [
4698
+ {
4699
+ "templateRef": "dcw-temp-sp",
4700
+ "nodeId": "dw-322b1978",
4701
+ "ok": true,
4702
+ "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
4703
+ "value": 182
4704
+ },
4705
+ {
4706
+ "templateRef": "dcw-pressure-sp",
4707
+ "nodeId": "dw-e92bb0e7",
4708
+ "ok": true,
4709
+ "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
4710
+ "value": 0.92
4711
+ }
4712
+ ],
4713
+ "paramsSnapshot": [
4714
+ {
4715
+ "nodeId": "dw-322b1978",
4716
+ "templateRef": "dcw-temp-sp",
4717
+ "value": 182,
4718
+ "min": 176,
4719
+ "max": 188
4720
+ },
4721
+ {
4722
+ "nodeId": "dw-e92bb0e7",
4723
+ "templateRef": "dcw-pressure-sp",
4724
+ "value": 0.92,
4725
+ "min": 0.85,
4726
+ "max": 1
4727
+ }
4728
+ ]
4729
+ },
4730
+ {
4731
+ "id": "rr-b1f6156d",
4732
+ "recipeId": "rc-7bf584db",
4733
+ "recipeName": "A-标准工艺",
4734
+ "productId": "pd-6348a595",
4735
+ "lineId": "ln-af002514",
4736
+ "startedAt": "2026-09-03T10:41:14.527Z",
4737
+ "endedAt": "2026-09-03T10:44:04.580Z",
4738
+ "results": [
4739
+ {
4740
+ "templateRef": "dcw-temp-sp",
4741
+ "nodeId": "dw-322b1978",
4742
+ "ok": true,
4743
+ "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
4744
+ "value": 182
4745
+ },
4746
+ {
4747
+ "templateRef": "dcw-pressure-sp",
4748
+ "nodeId": "dw-e92bb0e7",
4749
+ "ok": true,
4750
+ "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
4751
+ "value": 0.92
4752
+ }
4753
+ ],
4754
+ "paramsSnapshot": [
4755
+ {
4756
+ "nodeId": "dw-322b1978",
4757
+ "templateRef": "dcw-temp-sp",
4758
+ "value": 182,
4759
+ "min": 176,
4760
+ "max": 188
4761
+ },
4762
+ {
4763
+ "nodeId": "dw-e92bb0e7",
4764
+ "templateRef": "dcw-pressure-sp",
4765
+ "value": 0.92,
4766
+ "min": 0.85,
4767
+ "max": 1
4768
+ }
4769
+ ]
4770
+ },
4771
+ {
4772
+ "id": "rr-6da3f412",
4773
+ "recipeId": "rc-7bf584db",
4774
+ "recipeName": "A-标准工艺",
4775
+ "productId": "pd-6348a595",
4776
+ "lineId": "ln-af002514",
4777
+ "startedAt": "2026-09-03T11:18:01.213Z",
4778
+ "endedAt": null,
4779
+ "results": [
4780
+ {
4781
+ "templateRef": "dcw-temp-sp",
4782
+ "nodeId": "dw-322b1978",
4783
+ "ok": true,
4784
+ "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
4785
+ "value": 182
4786
+ },
4787
+ {
4788
+ "templateRef": "dcw-pressure-sp",
4789
+ "nodeId": "dw-e92bb0e7",
4790
+ "ok": true,
4791
+ "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
4792
+ "value": 0.92
4793
+ }
4794
+ ],
4795
+ "paramsSnapshot": [
4796
+ {
4797
+ "nodeId": "dw-322b1978",
4798
+ "templateRef": "dcw-temp-sp",
4799
+ "value": 182,
4800
+ "min": 176,
4801
+ "max": 188
4802
+ },
4803
+ {
4804
+ "nodeId": "dw-e92bb0e7",
4805
+ "templateRef": "dcw-pressure-sp",
4806
+ "value": 0.92,
4807
+ "min": 0.85,
4808
+ "max": 1
4809
+ }
4810
+ ]
4811
+ },
4812
+ {
4813
+ "id": "rr-2238155d",
4814
+ "recipeId": "rc-552c0488",
4815
+ "recipeName": "A-闭环工艺",
4816
+ "productId": "pd-e712875d",
4817
+ "lineId": "ln-9a60a0cd",
4818
+ "startedAt": "2026-09-03T16:03:27.304Z",
4819
+ "endedAt": null,
4820
+ "results": [
4821
+ {
4822
+ "templateRef": "dcw-temp-sp",
4823
+ "nodeId": "dw-f944538c",
4824
+ "ok": true,
4825
+ "message": "写入并回读一致:160 → raw 160,回读 160(标定后物理值 160)",
4826
+ "value": 160
4827
+ }
4828
+ ],
4829
+ "paramsSnapshot": [
4830
+ {
4831
+ "nodeId": "dw-f944538c",
4832
+ "templateRef": "dcw-temp-sp",
4833
+ "value": 160,
4834
+ "min": 100,
4835
+ "max": 200
4836
+ }
4837
+ ]
4838
+ },
4839
+ {
4840
+ "id": "rr-9d5070a1",
4841
+ "recipeId": "rc-0d3b58f7",
4842
+ "recipeName": "A-闭环工艺",
4843
+ "productId": "pd-16eecb35",
4844
+ "lineId": "ln-b33a3105",
4845
+ "startedAt": "2026-09-03T16:39:22.962Z",
4846
+ "endedAt": null,
4847
+ "results": [
4848
+ {
4849
+ "templateRef": "dcw-temp-sp",
4850
+ "nodeId": "dw-0188c6c4",
4851
+ "ok": true,
4852
+ "message": "写入并回读一致:160 → raw 160,回读 160(标定后物理值 160)",
4853
+ "value": 160
4854
+ }
4855
+ ],
4856
+ "paramsSnapshot": [
4857
+ {
4858
+ "nodeId": "dw-0188c6c4",
4859
+ "templateRef": "dcw-temp-sp",
4860
+ "value": 160,
4861
+ "min": 100,
4862
+ "max": 200
4863
+ }
4864
+ ]
4865
+ },
4866
+ {
4867
+ "id": "rr-a86971ae",
4868
+ "recipeId": "rc-2961fd43",
4869
+ "recipeName": "A-闭环工艺",
4870
+ "productId": "pd-9c755781",
4871
+ "lineId": "ln-1aedc305",
4872
+ "startedAt": "2026-09-03T16:44:33.199Z",
4873
+ "endedAt": null,
4874
+ "results": [
4875
+ {
4876
+ "templateRef": "dcw-temp-sp",
4877
+ "nodeId": "dw-097f1e6a",
4878
+ "ok": true,
4879
+ "message": "写入并回读一致:160 → raw 160,回读 160(标定后物理值 160)",
4880
+ "value": 160
4881
+ }
4882
+ ],
4883
+ "paramsSnapshot": [
4884
+ {
4885
+ "nodeId": "dw-097f1e6a",
4886
+ "templateRef": "dcw-temp-sp",
4887
+ "value": 160,
4888
+ "min": 100,
4889
+ "max": 200
4890
+ }
4891
+ ]
4892
+ },
4893
+ {
4894
+ "id": "rr-c66a150f",
4895
+ "recipeId": "rc-6acb6e12",
4896
+ "recipeName": "A-闭环工艺",
4897
+ "productId": "pd-835aed90",
4898
+ "lineId": "ln-758658dc",
4899
+ "startedAt": "2026-09-03T17:12:52.205Z",
4900
+ "endedAt": null,
4901
+ "results": [
4902
+ {
4903
+ "templateRef": "dcw-temp-sp",
4904
+ "nodeId": "dw-8fb89e02",
4905
+ "ok": true,
4906
+ "message": "写入并回读一致:160 → raw 160,回读 160(标定后物理值 160)",
4907
+ "value": 160
4908
+ }
4909
+ ],
4910
+ "paramsSnapshot": [
4911
+ {
4912
+ "nodeId": "dw-8fb89e02",
4913
+ "templateRef": "dcw-temp-sp",
4914
+ "value": 160,
4915
+ "min": 100,
4916
+ "max": 200
4917
+ }
4918
+ ]
4919
+ },
4920
+ {
4921
+ "id": "rr-875be24a",
4922
+ "recipeId": "rc-59b8eca0",
4923
+ "recipeName": "配方-mtmhgrsn",
4924
+ "productId": "pd-b06ac7d7",
4925
+ "lineId": "ln-40681e03",
4926
+ "startedAt": "2026-09-04T04:58:09.920Z",
4927
+ "endedAt": "2026-09-04T04:58:51.324Z",
4928
+ "results": [
4929
+ {
4930
+ "templateRef": "dcw-temp-sp",
4931
+ "nodeId": "dw-3a3f7a4c",
4932
+ "ok": true,
4933
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
4934
+ "value": 180
4935
+ }
4936
+ ],
4937
+ "paramsSnapshot": [
4938
+ {
4939
+ "nodeId": "dw-3a3f7a4c",
4940
+ "templateRef": "dcw-temp-sp",
4941
+ "value": 180,
4942
+ "min": 176,
4943
+ "max": 188
4944
+ }
4945
+ ]
4946
+ },
4947
+ {
4948
+ "id": "rr-de10d51e",
4949
+ "recipeId": "rc-5667c3cb",
4950
+ "recipeName": "配方-mtmhnz2f",
4951
+ "productId": "pd-a7ccbe70",
4952
+ "lineId": "ln-a284d605",
4953
+ "startedAt": "2026-09-04T05:03:45.894Z",
4954
+ "endedAt": "2026-09-04T05:04:27.237Z",
4955
+ "results": [
4956
+ {
4957
+ "templateRef": "dcw-temp-sp",
4958
+ "nodeId": "dw-42fcd798",
4959
+ "ok": true,
4960
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
4961
+ "value": 180
4962
+ }
4963
+ ],
4964
+ "paramsSnapshot": [
4965
+ {
4966
+ "nodeId": "dw-42fcd798",
4967
+ "templateRef": "dcw-temp-sp",
4968
+ "value": 180,
4969
+ "min": 176,
4970
+ "max": 188
4971
+ }
4972
+ ]
4973
+ },
4974
+ {
4975
+ "id": "rr-9e70a9dc",
4976
+ "recipeId": "rc-ccee1b1b",
4977
+ "recipeName": "探针配方",
4978
+ "productId": "pd-db432902",
4979
+ "lineId": "ln-1b318320",
4980
+ "startedAt": "2026-09-04T05:08:10.103Z",
4981
+ "endedAt": null,
4982
+ "results": [
4983
+ {
4984
+ "templateRef": "dcw-temp-sp",
4985
+ "nodeId": "dw-756e3e07",
4986
+ "ok": true,
4987
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
4988
+ "value": 180
4989
+ }
4990
+ ],
4991
+ "paramsSnapshot": [
4992
+ {
4993
+ "nodeId": "dw-756e3e07",
4994
+ "templateRef": "dcw-temp-sp",
4995
+ "value": 180,
4996
+ "min": 176,
4997
+ "max": 188
4998
+ }
4999
+ ]
5000
+ },
5001
+ {
5002
+ "id": "rr-dbb44962",
5003
+ "recipeId": "rc-c73f8aed",
5004
+ "recipeName": "探针配方",
5005
+ "productId": "pd-f6296ca1",
5006
+ "lineId": "ln-c50d97f5",
5007
+ "startedAt": "2026-09-04T05:08:56.257Z",
5008
+ "endedAt": "2026-09-04T05:09:02.608Z",
5009
+ "results": [
5010
+ {
5011
+ "templateRef": "dcw-temp-sp",
5012
+ "nodeId": "dw-1ccbe1a8",
5013
+ "ok": true,
5014
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
5015
+ "value": 180
5016
+ }
5017
+ ],
5018
+ "paramsSnapshot": [
5019
+ {
5020
+ "nodeId": "dw-1ccbe1a8",
5021
+ "templateRef": "dcw-temp-sp",
5022
+ "value": 180,
5023
+ "min": 176,
5024
+ "max": 188
5025
+ }
5026
+ ]
5027
+ },
5028
+ {
5029
+ "id": "rr-02e1b75d",
5030
+ "recipeId": "rc-839041c6",
5031
+ "recipeName": "配方-mtmhyn1r",
5032
+ "productId": "pd-cfe2e059",
5033
+ "lineId": "ln-826f8518",
5034
+ "startedAt": "2026-09-04T05:12:03.638Z",
5035
+ "endedAt": "2026-09-04T05:12:13.981Z",
5036
+ "results": [
5037
+ {
5038
+ "templateRef": "dcw-temp-sp",
5039
+ "nodeId": "dw-3b6fd688",
5040
+ "ok": true,
5041
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
5042
+ "value": 180
5043
+ }
5044
+ ],
5045
+ "paramsSnapshot": [
5046
+ {
5047
+ "nodeId": "dw-3b6fd688",
5048
+ "templateRef": "dcw-temp-sp",
5049
+ "value": 180,
5050
+ "min": 176,
5051
+ "max": 188
5052
+ }
5053
+ ]
5054
+ },
5055
+ {
5056
+ "id": "rr-901d3630",
5057
+ "recipeId": "rc-14eddb92",
5058
+ "recipeName": "全协议配方-mtny0lcv",
5059
+ "productId": "pd-c01bf204",
5060
+ "lineId": "ln-62e215e5",
5061
+ "startedAt": "2026-09-05T05:29:21.550Z",
5062
+ "endedAt": "2026-09-05T05:31:24.035Z",
5063
+ "results": [
5064
+ {
5065
+ "templateRef": "dcw-temp-sp",
5066
+ "nodeId": "dw-34014c7e",
5067
+ "ok": true,
5068
+ "message": "写入并回读一致:180 → raw 180,回读 180(标定后物理值 180)",
5069
+ "value": 180
5070
+ }
5071
+ ],
5072
+ "paramsSnapshot": [
5073
+ {
5074
+ "nodeId": "dw-34014c7e",
5075
+ "templateRef": "dcw-temp-sp",
5076
+ "value": 180,
5077
+ "min": 176,
5078
+ "max": 188
5079
+ }
5080
+ ]
5081
+ },
5082
+ {
5083
+ "id": "rr-f0e4d57d",
5084
+ "recipeId": "rc-a2b19319",
5085
+ "recipeName": "全协议配方-mtnyemlz",
5086
+ "productId": "pd-572c23f0",
5087
+ "lineId": "ln-81865050",
5088
+ "startedAt": "2026-09-05T05:40:12.225Z",
5089
+ "endedAt": "2026-09-05T05:40:32.930Z",
5090
+ "results": [
5091
+ {
5092
+ "templateRef": "dcw-temp-sp",
5093
+ "nodeId": "dw-07787cf7",
5094
+ "ok": true,
5095
+ "message": "写入并回读一致:180 → raw 180,回读 180(标定后物理值 180)",
5096
+ "value": 180
5097
+ }
5098
+ ],
5099
+ "paramsSnapshot": [
5100
+ {
5101
+ "nodeId": "dw-07787cf7",
5102
+ "templateRef": "dcw-temp-sp",
5103
+ "value": 180,
5104
+ "min": 176,
5105
+ "max": 188
5106
+ }
5107
+ ]
5108
+ },
5109
+ {
5110
+ "id": "rr-6a0c3b60",
5111
+ "recipeId": "rc-15b027a7",
5112
+ "recipeName": "全协议配方-mtnynfph",
5113
+ "productId": "pd-10cfc2b3",
5114
+ "lineId": "ln-6a34fbc7",
5115
+ "startedAt": "2026-09-05T05:47:26.453Z",
5116
+ "endedAt": null,
5117
+ "results": [
5118
+ {
5119
+ "templateRef": "dcw-temp-sp",
5120
+ "nodeId": "dw-8960e2f8",
5121
+ "ok": false,
5122
+ "message": "Modbus 写入失败: 无法建立连接——检查 PLC 电源/IP/端口与防火墙(connect ECONNREFUSED 127.0.0.1:15040)",
5123
+ "value": 180
5124
+ }
5125
+ ],
5126
+ "paramsSnapshot": [
5127
+ {
5128
+ "nodeId": "dw-8960e2f8",
5129
+ "templateRef": "dcw-temp-sp",
5130
+ "value": 180,
5131
+ "min": 176,
5132
+ "max": 188
5133
+ }
5134
+ ]
5135
+ },
5136
+ {
5137
+ "id": "rr-b7161a8a",
5138
+ "recipeId": "rc-bc73d81d",
5139
+ "recipeName": "全协议配方-mtnyz0bo",
5140
+ "productId": "pd-daaacaea",
5141
+ "lineId": "ln-8f28c295",
5142
+ "startedAt": "2026-09-05T05:56:36.833Z",
5143
+ "endedAt": "2026-09-05T05:58:40.961Z",
5144
+ "results": [
5145
+ {
5146
+ "templateRef": "dcw-temp-sp",
5147
+ "nodeId": "dw-ded0b84a",
5148
+ "ok": false,
5149
+ "message": "Modbus 写入失败: 无法建立连接——检查 PLC 电源/IP/端口与防火墙(connect ECONNREFUSED 127.0.0.1:15040)",
5150
+ "value": 180
5151
+ }
5152
+ ],
5153
+ "paramsSnapshot": [
5154
+ {
5155
+ "nodeId": "dw-ded0b84a",
5156
+ "templateRef": "dcw-temp-sp",
5157
+ "value": 180,
5158
+ "min": 176,
5159
+ "max": 188
5160
+ }
5161
+ ]
5162
+ },
5163
+ {
5164
+ "id": "rr-08f535dc",
5165
+ "recipeId": "rc-2e7f586c",
5166
+ "recipeName": "全协议配方-mtnzg090",
5167
+ "productId": "pd-b9b15b64",
5168
+ "lineId": "ln-419463e0",
5169
+ "startedAt": "2026-09-05T06:09:36.931Z",
5170
+ "endedAt": null,
5171
+ "results": [
5172
+ {
5173
+ "templateRef": "dcw-temp-sp",
5174
+ "nodeId": "dw-9f172fc2",
5175
+ "ok": false,
5176
+ "message": "Modbus 写入失败: 无法建立连接——检查 PLC 电源/IP/端口与防火墙(connect ECONNREFUSED 127.0.0.1:15040)",
5177
+ "value": 180
5178
+ }
5179
+ ],
5180
+ "paramsSnapshot": [
5181
+ {
5182
+ "nodeId": "dw-9f172fc2",
5183
+ "templateRef": "dcw-temp-sp",
5184
+ "value": 180,
5185
+ "min": 176,
5186
+ "max": 188
5187
+ }
5188
+ ]
5189
+ },
5190
+ {
5191
+ "id": "rr-09d52cc2",
5192
+ "recipeId": "rc-93d38783",
5193
+ "recipeName": "全协议配方-mtnzli8v",
5194
+ "productId": "pd-5451cd24",
5195
+ "lineId": "ln-2d4ae314",
5196
+ "startedAt": "2026-09-05T06:13:58.602Z",
5197
+ "endedAt": "2026-09-05T06:16:11.383Z",
5198
+ "results": [
5199
+ {
5200
+ "templateRef": "dcw-temp-sp",
5201
+ "nodeId": "dw-c30656ec",
5202
+ "ok": true,
5203
+ "message": "写入并回读一致:180 → raw 180,回读 180(标定后物理值 180)",
5204
+ "value": 180
5205
+ }
5206
+ ],
5207
+ "paramsSnapshot": [
5208
+ {
5209
+ "nodeId": "dw-c30656ec",
5210
+ "templateRef": "dcw-temp-sp",
5211
+ "value": 180,
5212
+ "min": 176,
5213
+ "max": 188
5214
+ }
5215
+ ]
5216
+ },
5217
+ {
5218
+ "id": "rr-fd00b56d",
5219
+ "recipeId": "rc-33609df2",
5220
+ "recipeName": "全协议配方-mto01hxw",
5221
+ "productId": "pd-d7d266f4",
5222
+ "lineId": "ln-ab3281cb",
5223
+ "startedAt": "2026-09-05T06:26:18.620Z",
5224
+ "endedAt": "2026-09-05T06:28:31.351Z",
5225
+ "results": [
5226
+ {
5227
+ "templateRef": "dcw-temp-sp",
5228
+ "nodeId": "dw-553bf1fb",
5229
+ "ok": true,
5230
+ "message": "写入并回读一致:180 → raw 180,回读 180(标定后物理值 180)",
5231
+ "value": 180
5232
+ }
5233
+ ],
5234
+ "paramsSnapshot": [
5235
+ {
5236
+ "nodeId": "dw-553bf1fb",
5237
+ "templateRef": "dcw-temp-sp",
5238
+ "value": 180,
5239
+ "min": 176,
5240
+ "max": 188
5241
+ }
5242
+ ]
5243
+ },
5244
+ {
5245
+ "id": "rr-1bebca32",
5246
+ "recipeId": "rc-de49bc7e",
5247
+ "recipeName": "全协议配方-mto0h8o5",
5248
+ "productId": "pd-07fbd119",
5249
+ "lineId": "ln-8f14ebfc",
5250
+ "startedAt": "2026-09-05T06:38:33.546Z",
5251
+ "endedAt": "2026-09-05T06:40:46.349Z",
5252
+ "results": [
5253
+ {
5254
+ "templateRef": "dcw-temp-sp",
5255
+ "nodeId": "dw-8e07e4f3",
5256
+ "ok": true,
5257
+ "message": "写入并回读一致:180 → raw 180,回读 180(标定后物理值 180)",
5258
+ "value": 180
5259
+ }
5260
+ ],
5261
+ "paramsSnapshot": [
5262
+ {
5263
+ "nodeId": "dw-8e07e4f3",
5264
+ "templateRef": "dcw-temp-sp",
5265
+ "value": 180,
5266
+ "min": 176,
5267
+ "max": 188
5268
+ }
5269
+ ]
5270
+ },
5271
+ {
5272
+ "id": "rr-54b34bb5",
5273
+ "recipeId": "rc-c6fd3e11",
5274
+ "recipeName": "全协议配方-mto0m9es",
5275
+ "productId": "pd-fa8c0b2d",
5276
+ "lineId": "ln-d010bba3",
5277
+ "startedAt": "2026-09-05T06:42:28.622Z",
5278
+ "endedAt": "2026-09-05T06:44:29.232Z",
5279
+ "results": [
5280
+ {
5281
+ "templateRef": "dcw-temp-sp",
5282
+ "nodeId": "dw-96091e58",
5283
+ "ok": true,
5284
+ "message": "写入并回读一致:180 → raw 180,回读 180(标定后物理值 180)",
5285
+ "value": 180
5286
+ }
5287
+ ],
5288
+ "paramsSnapshot": [
5289
+ {
5290
+ "nodeId": "dw-96091e58",
5291
+ "templateRef": "dcw-temp-sp",
5292
+ "value": 180,
5293
+ "min": 176,
5294
+ "max": 188
5295
+ }
5296
+ ]
5297
+ },
5298
+ {
5299
+ "id": "rr-4e40cab0",
5300
+ "recipeId": "rc-80195acf",
5301
+ "recipeName": "全协议配方-mto113i2",
5302
+ "productId": "pd-9e290ee1",
5303
+ "lineId": "ln-c7668a8d",
5304
+ "startedAt": "2026-09-05T06:54:01.584Z",
5305
+ "endedAt": "2026-09-05T06:55:54.890Z",
5306
+ "results": [
5307
+ {
5308
+ "templateRef": "dcw-temp-sp",
5309
+ "nodeId": "dw-ab89beb3",
5310
+ "ok": true,
5311
+ "message": "写入并回读一致:180 → raw 180,回读 180(标定后物理值 180)",
5312
+ "value": 180
5313
+ }
5314
+ ],
5315
+ "paramsSnapshot": [
5316
+ {
5317
+ "nodeId": "dw-ab89beb3",
5318
+ "templateRef": "dcw-temp-sp",
5319
+ "value": 180,
5320
+ "min": 176,
5321
+ "max": 188
5322
+ }
5323
+ ]
5324
+ },
5325
+ {
5326
+ "id": "rr-27719005",
5327
+ "recipeId": "rc-4b542654",
5328
+ "recipeName": "全协议配方-mto1771y",
5329
+ "productId": "pd-9868366c",
5330
+ "lineId": "ln-694c51f4",
5331
+ "startedAt": "2026-09-05T07:14:22.918Z",
5332
+ "endedAt": "2026-09-05T07:16:16.372Z",
5333
+ "results": [
5334
+ {
5335
+ "templateRef": "dcw-temp-sp",
5336
+ "nodeId": "dw-4c6c6920",
5337
+ "ok": true,
5338
+ "message": "写入并回读一致:180 → raw 180,回读 180(标定后物理值 180)",
5339
+ "value": 180
5340
+ }
5341
+ ],
5342
+ "paramsSnapshot": [
5343
+ {
5344
+ "nodeId": "dw-4c6c6920",
5345
+ "templateRef": "dcw-temp-sp",
5346
+ "value": 180,
5347
+ "min": 176,
5348
+ "max": 188
5349
+ }
5350
+ ]
5351
+ },
5352
+ {
5353
+ "id": "rr-d667a896",
5354
+ "recipeId": "rc-814248c6",
5355
+ "recipeName": "runp3-recipe",
5356
+ "productId": "pd-fd822802",
5357
+ "lineId": "ln-3548f325",
5358
+ "startedAt": "2026-09-05T07:23:51.972Z",
5359
+ "endedAt": null,
5360
+ "results": [
5361
+ {
5362
+ "templateRef": "dcw-temp-sp",
5363
+ "nodeId": "dw-06590507",
5364
+ "ok": true,
5365
+ "message": "写入并回读一致:180 → raw 180,回读 180(标定后物理值 180)",
5366
+ "value": 180
5367
+ }
5368
+ ],
5369
+ "paramsSnapshot": [
5370
+ {
5371
+ "nodeId": "dw-06590507",
5372
+ "templateRef": "dcw-temp-sp",
5373
+ "value": 180,
5374
+ "min": 176,
5375
+ "max": 188
5376
+ }
5377
+ ]
5378
+ },
5379
+ {
5380
+ "id": "rr-3d8e141a",
5381
+ "recipeId": "rc-98300208",
5382
+ "recipeName": "全协议配方-mto2mf6i",
5383
+ "productId": "pd-37e543f1",
5384
+ "lineId": "ln-6502a1f3",
5385
+ "startedAt": "2026-09-05T07:38:47.414Z",
5386
+ "endedAt": "2026-09-05T07:40:41.683Z",
5387
+ "results": [
5388
+ {
5389
+ "templateRef": "dcw-temp-sp",
5390
+ "nodeId": "dw-ed7f4682",
5391
+ "ok": true,
5392
+ "message": "写入并回读一致:180 → raw 180,回读 180(标定后物理值 180)",
5393
+ "value": 180
5394
+ }
5395
+ ],
5396
+ "paramsSnapshot": [
5397
+ {
5398
+ "nodeId": "dw-ed7f4682",
5144
5399
  "templateRef": "dcw-temp-sp",
5145
- "value": 182,
5400
+ "value": 180,
5146
5401
  "min": 176,
5147
5402
  "max": 188
5148
- },
5149
- {
5150
- "nodeId": "dw-e92bb0e7",
5151
- "templateRef": "dcw-pressure-sp",
5152
- "value": 0.92,
5153
- "min": 0.85,
5154
- "max": 1
5155
5403
  }
5156
5404
  ]
5157
5405
  },
5158
5406
  {
5159
- "id": "rr-a6881136",
5160
- "recipeId": "rc-7bf584db",
5161
- "recipeName": "A-标准工艺",
5162
- "productId": "pd-6348a595",
5163
- "lineId": "ln-af002514",
5164
- "startedAt": "2026-09-03T01:13:27.536Z",
5165
- "endedAt": "2026-09-03T01:13:54.797Z",
5407
+ "id": "rr-a41a21fd",
5408
+ "recipeId": "rc-c362b721",
5409
+ "recipeName": "全协议配方-mto2w44t",
5410
+ "productId": "pd-4de49ca3",
5411
+ "lineId": "ln-c3a7ba01",
5412
+ "startedAt": "2026-09-05T07:46:23.423Z",
5413
+ "endedAt": null,
5166
5414
  "results": [
5167
5415
  {
5168
5416
  "templateRef": "dcw-temp-sp",
5169
- "nodeId": "dw-322b1978",
5170
- "ok": true,
5171
- "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
5172
- "value": 182
5173
- },
5174
- {
5175
- "templateRef": "dcw-pressure-sp",
5176
- "nodeId": "dw-e92bb0e7",
5417
+ "nodeId": "dw-5fdc7f6f",
5177
5418
  "ok": true,
5178
- "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
5179
- "value": 0.92
5419
+ "message": "写入并回读一致:180 → raw 180,回读 180(标定后物理值 180)",
5420
+ "value": 180
5180
5421
  }
5181
5422
  ],
5182
5423
  "paramsSnapshot": [
5183
5424
  {
5184
- "nodeId": "dw-322b1978",
5425
+ "nodeId": "dw-5fdc7f6f",
5185
5426
  "templateRef": "dcw-temp-sp",
5186
- "value": 182,
5427
+ "value": 180,
5187
5428
  "min": 176,
5188
5429
  "max": 188
5189
- },
5190
- {
5191
- "nodeId": "dw-e92bb0e7",
5192
- "templateRef": "dcw-pressure-sp",
5193
- "value": 0.92,
5194
- "min": 0.85,
5195
- "max": 1
5196
5430
  }
5197
5431
  ]
5198
5432
  },
5199
5433
  {
5200
- "id": "rr-8b294482",
5201
- "recipeId": "rc-7bf584db",
5202
- "recipeName": "A-标准工艺",
5203
- "productId": "pd-6348a595",
5204
- "lineId": "ln-af002514",
5205
- "startedAt": "2026-09-03T10:17:58.886Z",
5206
- "endedAt": "2026-09-03T10:41:13.654Z",
5434
+ "id": "rr-f5a55ecb",
5435
+ "recipeId": "rc-6035701d",
5436
+ "recipeName": "全协议配方-mto30yeb",
5437
+ "productId": "pd-689555fc",
5438
+ "lineId": "ln-c570b64e",
5439
+ "startedAt": "2026-09-05T07:50:14.492Z",
5440
+ "endedAt": "2026-09-05T07:52:08.752Z",
5207
5441
  "results": [
5208
5442
  {
5209
5443
  "templateRef": "dcw-temp-sp",
5210
- "nodeId": "dw-322b1978",
5211
- "ok": true,
5212
- "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
5213
- "value": 182
5214
- },
5215
- {
5216
- "templateRef": "dcw-pressure-sp",
5217
- "nodeId": "dw-e92bb0e7",
5444
+ "nodeId": "dw-d324afad",
5218
5445
  "ok": true,
5219
- "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
5220
- "value": 0.92
5446
+ "message": "写入并回读一致:180 → raw 180,回读 180(标定后物理值 180)",
5447
+ "value": 180
5221
5448
  }
5222
5449
  ],
5223
5450
  "paramsSnapshot": [
5224
5451
  {
5225
- "nodeId": "dw-322b1978",
5452
+ "nodeId": "dw-d324afad",
5226
5453
  "templateRef": "dcw-temp-sp",
5227
- "value": 182,
5454
+ "value": 180,
5228
5455
  "min": 176,
5229
5456
  "max": 188
5230
- },
5231
- {
5232
- "nodeId": "dw-e92bb0e7",
5233
- "templateRef": "dcw-pressure-sp",
5234
- "value": 0.92,
5235
- "min": 0.85,
5236
- "max": 1
5237
5457
  }
5238
5458
  ]
5239
5459
  },
5240
5460
  {
5241
- "id": "rr-b1f6156d",
5242
- "recipeId": "rc-7bf584db",
5243
- "recipeName": "A-标准工艺",
5244
- "productId": "pd-6348a595",
5245
- "lineId": "ln-af002514",
5246
- "startedAt": "2026-09-03T10:41:14.527Z",
5247
- "endedAt": "2026-09-03T10:44:04.580Z",
5461
+ "id": "rr-3da13dd0",
5462
+ "recipeId": "rc-ddc06010",
5463
+ "recipeName": "插件配方-mto3p7ny",
5464
+ "productId": "pd-aa36f7ab",
5465
+ "lineId": "ln-ab4024ff",
5466
+ "startedAt": "2026-09-05T08:08:23.551Z",
5467
+ "endedAt": "2026-09-05T08:08:34.411Z",
5248
5468
  "results": [
5249
5469
  {
5250
5470
  "templateRef": "dcw-temp-sp",
5251
- "nodeId": "dw-322b1978",
5252
- "ok": true,
5253
- "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
5254
- "value": 182
5255
- },
5256
- {
5257
- "templateRef": "dcw-pressure-sp",
5258
- "nodeId": "dw-e92bb0e7",
5471
+ "nodeId": "dw-511d0e81",
5259
5472
  "ok": true,
5260
- "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
5261
- "value": 0.92
5473
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
5474
+ "value": 180
5262
5475
  }
5263
5476
  ],
5264
5477
  "paramsSnapshot": [
5265
5478
  {
5266
- "nodeId": "dw-322b1978",
5479
+ "nodeId": "dw-511d0e81",
5267
5480
  "templateRef": "dcw-temp-sp",
5268
- "value": 182,
5269
- "min": 176,
5270
- "max": 188
5271
- },
5272
- {
5273
- "nodeId": "dw-e92bb0e7",
5274
- "templateRef": "dcw-pressure-sp",
5275
- "value": 0.92,
5276
- "min": 0.85,
5277
- "max": 1
5481
+ "value": 180,
5482
+ "min": 150,
5483
+ "max": 200
5278
5484
  }
5279
5485
  ]
5280
5486
  },
5281
5487
  {
5282
- "id": "rr-6da3f412",
5283
- "recipeId": "rc-7bf584db",
5284
- "recipeName": "A-标准工艺",
5285
- "productId": "pd-6348a595",
5286
- "lineId": "ln-af002514",
5287
- "startedAt": "2026-09-03T11:18:01.213Z",
5288
- "endedAt": null,
5488
+ "id": "rr-ede96923",
5489
+ "recipeId": "rc-137880a8",
5490
+ "recipeName": "多引擎配方-mto47ec9",
5491
+ "productId": "pd-7b6d4e2c",
5492
+ "lineId": "ln-b2c3be6e",
5493
+ "startedAt": "2026-09-05T08:23:06.417Z",
5494
+ "endedAt": "2026-09-05T08:41:26.164Z",
5289
5495
  "results": [
5290
5496
  {
5291
5497
  "templateRef": "dcw-temp-sp",
5292
- "nodeId": "dw-322b1978",
5293
- "ok": true,
5294
- "message": "Mock PLC 写入成功:182 → raw 182,回读一致(标定后物理值 182)",
5295
- "value": 182
5296
- },
5297
- {
5298
- "templateRef": "dcw-pressure-sp",
5299
- "nodeId": "dw-e92bb0e7",
5498
+ "nodeId": "dw-a470230d",
5300
5499
  "ok": true,
5301
- "message": "Mock PLC 写入成功:0.92 → raw 0.92,回读一致(标定后物理值 0.92)",
5302
- "value": 0.92
5500
+ "message": "写入并回读一致:180 → raw 180,回读 180(标定后物理值 180)",
5501
+ "value": 180
5303
5502
  }
5304
5503
  ],
5305
5504
  "paramsSnapshot": [
5306
5505
  {
5307
- "nodeId": "dw-322b1978",
5506
+ "nodeId": "dw-a470230d",
5308
5507
  "templateRef": "dcw-temp-sp",
5309
- "value": 182,
5310
- "min": 176,
5311
- "max": 188
5312
- },
5313
- {
5314
- "nodeId": "dw-e92bb0e7",
5315
- "templateRef": "dcw-pressure-sp",
5316
- "value": 0.92,
5317
- "min": 0.85,
5318
- "max": 1
5508
+ "value": 180,
5509
+ "min": 150,
5510
+ "max": 200
5319
5511
  }
5320
5512
  ]
5321
5513
  },
5322
5514
  {
5323
- "id": "rr-2238155d",
5324
- "recipeId": "rc-552c0488",
5325
- "recipeName": "A-闭环工艺",
5326
- "productId": "pd-e712875d",
5327
- "lineId": "ln-9a60a0cd",
5328
- "startedAt": "2026-09-03T16:03:27.304Z",
5329
- "endedAt": null,
5515
+ "id": "rr-8c3cc9f7",
5516
+ "recipeId": "rc-a01ee7c9",
5517
+ "recipeName": "多引擎配方-mto4xd17",
5518
+ "productId": "pd-ef246eba",
5519
+ "lineId": "ln-190e7eef",
5520
+ "startedAt": "2026-09-05T08:42:47.817Z",
5521
+ "endedAt": "2026-09-05T09:02:01.764Z",
5330
5522
  "results": [
5331
5523
  {
5332
5524
  "templateRef": "dcw-temp-sp",
5333
- "nodeId": "dw-f944538c",
5525
+ "nodeId": "dw-dc216d75",
5334
5526
  "ok": true,
5335
- "message": "写入并回读一致:160 → raw 160,回读 160(标定后物理值 160)",
5336
- "value": 160
5527
+ "message": "写入并回读一致:180 → raw 180,回读 180(标定后物理值 180)",
5528
+ "value": 180
5337
5529
  }
5338
5530
  ],
5339
5531
  "paramsSnapshot": [
5340
5532
  {
5341
- "nodeId": "dw-f944538c",
5533
+ "nodeId": "dw-dc216d75",
5342
5534
  "templateRef": "dcw-temp-sp",
5343
- "value": 160,
5344
- "min": 100,
5535
+ "value": 180,
5536
+ "min": 150,
5345
5537
  "max": 200
5346
5538
  }
5347
5539
  ]
5348
5540
  },
5349
5541
  {
5350
- "id": "rr-9d5070a1",
5351
- "recipeId": "rc-0d3b58f7",
5352
- "recipeName": "A-闭环工艺",
5353
- "productId": "pd-16eecb35",
5354
- "lineId": "ln-b33a3105",
5355
- "startedAt": "2026-09-03T16:39:22.962Z",
5356
- "endedAt": null,
5542
+ "id": "rr-5ba7bd5b",
5543
+ "recipeId": "rc-9b2255dc",
5544
+ "recipeName": "间隔配方-mto6rqqa",
5545
+ "productId": "pd-0e64bd2f",
5546
+ "lineId": "ln-51fcb8ac",
5547
+ "startedAt": "2026-09-05T09:34:20.925Z",
5548
+ "endedAt": "2026-09-05T09:35:29.245Z",
5357
5549
  "results": [
5358
5550
  {
5359
5551
  "templateRef": "dcw-temp-sp",
5360
- "nodeId": "dw-0188c6c4",
5552
+ "nodeId": "dw-0ed9deab",
5361
5553
  "ok": true,
5362
- "message": "写入并回读一致:160 → raw 160,回读 160(标定后物理值 160)",
5363
- "value": 160
5554
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
5555
+ "value": 180
5364
5556
  }
5365
5557
  ],
5366
5558
  "paramsSnapshot": [
5367
5559
  {
5368
- "nodeId": "dw-0188c6c4",
5560
+ "nodeId": "dw-0ed9deab",
5369
5561
  "templateRef": "dcw-temp-sp",
5370
- "value": 160,
5371
- "min": 100,
5562
+ "value": 180,
5563
+ "min": 150,
5372
5564
  "max": 200
5373
5565
  }
5374
5566
  ]
5375
5567
  },
5376
5568
  {
5377
- "id": "rr-a86971ae",
5378
- "recipeId": "rc-2961fd43",
5379
- "recipeName": "A-闭环工艺",
5380
- "productId": "pd-9c755781",
5381
- "lineId": "ln-1aedc305",
5382
- "startedAt": "2026-09-03T16:44:33.199Z",
5383
- "endedAt": null,
5569
+ "id": "rr-7d24224e",
5570
+ "recipeId": "rc-2e349c80",
5571
+ "recipeName": "插件配方-mto6ysj1",
5572
+ "productId": "pd-64a9d0b7",
5573
+ "lineId": "ln-2e9272f7",
5574
+ "startedAt": "2026-09-05T09:39:59.370Z",
5575
+ "endedAt": "2026-09-05T09:40:10.153Z",
5384
5576
  "results": [
5385
5577
  {
5386
5578
  "templateRef": "dcw-temp-sp",
5387
- "nodeId": "dw-097f1e6a",
5579
+ "nodeId": "dw-37f5153e",
5388
5580
  "ok": true,
5389
- "message": "写入并回读一致:160 → raw 160,回读 160(标定后物理值 160)",
5390
- "value": 160
5581
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
5582
+ "value": 180
5391
5583
  }
5392
5584
  ],
5393
5585
  "paramsSnapshot": [
5394
5586
  {
5395
- "nodeId": "dw-097f1e6a",
5587
+ "nodeId": "dw-37f5153e",
5396
5588
  "templateRef": "dcw-temp-sp",
5397
- "value": 160,
5398
- "min": 100,
5589
+ "value": 180,
5590
+ "min": 150,
5399
5591
  "max": 200
5400
5592
  }
5401
5593
  ]
5402
5594
  },
5403
5595
  {
5404
- "id": "rr-c66a150f",
5405
- "recipeId": "rc-6acb6e12",
5406
- "recipeName": "A-闭环工艺",
5407
- "productId": "pd-835aed90",
5408
- "lineId": "ln-758658dc",
5409
- "startedAt": "2026-09-03T17:12:52.205Z",
5410
- "endedAt": null,
5596
+ "id": "rr-55e35132",
5597
+ "recipeId": "rc-4f3f66b1",
5598
+ "recipeName": "插件配方-mto73j6f",
5599
+ "productId": "pd-981b720a",
5600
+ "lineId": "ln-98ac4967",
5601
+ "startedAt": "2026-09-05T09:43:40.421Z",
5602
+ "endedAt": "2026-09-05T09:43:51.246Z",
5411
5603
  "results": [
5412
5604
  {
5413
5605
  "templateRef": "dcw-temp-sp",
5414
- "nodeId": "dw-8fb89e02",
5606
+ "nodeId": "dw-f9a5e01e",
5415
5607
  "ok": true,
5416
- "message": "写入并回读一致:160 → raw 160,回读 160(标定后物理值 160)",
5417
- "value": 160
5608
+ "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
5609
+ "value": 180
5418
5610
  }
5419
5611
  ],
5420
5612
  "paramsSnapshot": [
5421
5613
  {
5422
- "nodeId": "dw-8fb89e02",
5614
+ "nodeId": "dw-f9a5e01e",
5423
5615
  "templateRef": "dcw-temp-sp",
5424
- "value": 160,
5425
- "min": 100,
5616
+ "value": 180,
5617
+ "min": 150,
5426
5618
  "max": 200
5427
5619
  }
5428
5620
  ]
5429
5621
  },
5430
5622
  {
5431
- "id": "rr-875be24a",
5432
- "recipeId": "rc-59b8eca0",
5433
- "recipeName": "配方-mtmhgrsn",
5434
- "productId": "pd-b06ac7d7",
5435
- "lineId": "ln-40681e03",
5436
- "startedAt": "2026-09-04T04:58:09.920Z",
5437
- "endedAt": "2026-09-04T04:58:51.324Z",
5623
+ "id": "rr-cb2a9c2f",
5624
+ "recipeId": "rc-e82b9389",
5625
+ "recipeName": "插件配方-mto75hw0",
5626
+ "productId": "pd-b7c69be7",
5627
+ "lineId": "ln-68d3dc2d",
5628
+ "startedAt": "2026-09-05T09:45:11.763Z",
5629
+ "endedAt": "2026-09-05T09:45:22.566Z",
5438
5630
  "results": [
5439
5631
  {
5440
5632
  "templateRef": "dcw-temp-sp",
5441
- "nodeId": "dw-3a3f7a4c",
5633
+ "nodeId": "dw-1a99b8ea",
5442
5634
  "ok": true,
5443
5635
  "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
5444
5636
  "value": 180
@@ -5446,26 +5638,26 @@
5446
5638
  ],
5447
5639
  "paramsSnapshot": [
5448
5640
  {
5449
- "nodeId": "dw-3a3f7a4c",
5641
+ "nodeId": "dw-1a99b8ea",
5450
5642
  "templateRef": "dcw-temp-sp",
5451
5643
  "value": 180,
5452
- "min": 176,
5453
- "max": 188
5644
+ "min": 150,
5645
+ "max": 200
5454
5646
  }
5455
5647
  ]
5456
5648
  },
5457
5649
  {
5458
- "id": "rr-de10d51e",
5459
- "recipeId": "rc-5667c3cb",
5460
- "recipeName": "配方-mtmhnz2f",
5461
- "productId": "pd-a7ccbe70",
5462
- "lineId": "ln-a284d605",
5463
- "startedAt": "2026-09-04T05:03:45.894Z",
5464
- "endedAt": "2026-09-04T05:04:27.237Z",
5650
+ "id": "rr-ecf1b5fb",
5651
+ "recipeId": "rc-57a42339",
5652
+ "recipeName": "pp-recipe",
5653
+ "productId": "pd-d547a376",
5654
+ "lineId": "ln-871ac52d",
5655
+ "startedAt": "2026-09-05T09:47:55.526Z",
5656
+ "endedAt": null,
5465
5657
  "results": [
5466
5658
  {
5467
5659
  "templateRef": "dcw-temp-sp",
5468
- "nodeId": "dw-42fcd798",
5660
+ "nodeId": "dw-edbf2b95",
5469
5661
  "ok": true,
5470
5662
  "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
5471
5663
  "value": 180
@@ -5473,26 +5665,26 @@
5473
5665
  ],
5474
5666
  "paramsSnapshot": [
5475
5667
  {
5476
- "nodeId": "dw-42fcd798",
5668
+ "nodeId": "dw-edbf2b95",
5477
5669
  "templateRef": "dcw-temp-sp",
5478
5670
  "value": 180,
5479
- "min": 176,
5480
- "max": 188
5671
+ "min": 150,
5672
+ "max": 200
5481
5673
  }
5482
5674
  ]
5483
5675
  },
5484
5676
  {
5485
- "id": "rr-9e70a9dc",
5486
- "recipeId": "rc-ccee1b1b",
5487
- "recipeName": "探针配方",
5488
- "productId": "pd-db432902",
5489
- "lineId": "ln-1b318320",
5490
- "startedAt": "2026-09-04T05:08:10.103Z",
5491
- "endedAt": null,
5677
+ "id": "rr-44976926",
5678
+ "recipeId": "rc-5ef215b3",
5679
+ "recipeName": "pp2-recipe",
5680
+ "productId": "pd-60668493",
5681
+ "lineId": "ln-fe3512a7",
5682
+ "startedAt": "2026-09-05T09:53:24.690Z",
5683
+ "endedAt": "2026-09-05T09:53:33.853Z",
5492
5684
  "results": [
5493
5685
  {
5494
5686
  "templateRef": "dcw-temp-sp",
5495
- "nodeId": "dw-756e3e07",
5687
+ "nodeId": "dw-fb6b0f5a",
5496
5688
  "ok": true,
5497
5689
  "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
5498
5690
  "value": 180
@@ -5500,26 +5692,26 @@
5500
5692
  ],
5501
5693
  "paramsSnapshot": [
5502
5694
  {
5503
- "nodeId": "dw-756e3e07",
5695
+ "nodeId": "dw-fb6b0f5a",
5504
5696
  "templateRef": "dcw-temp-sp",
5505
5697
  "value": 180,
5506
- "min": 176,
5507
- "max": 188
5698
+ "min": 150,
5699
+ "max": 200
5508
5700
  }
5509
5701
  ]
5510
5702
  },
5511
5703
  {
5512
- "id": "rr-dbb44962",
5513
- "recipeId": "rc-c73f8aed",
5514
- "recipeName": "探针配方",
5515
- "productId": "pd-f6296ca1",
5516
- "lineId": "ln-c50d97f5",
5517
- "startedAt": "2026-09-04T05:08:56.257Z",
5518
- "endedAt": "2026-09-04T05:09:02.608Z",
5704
+ "id": "rr-bb6abea5",
5705
+ "recipeId": "rc-62231c1c",
5706
+ "recipeName": "插件配方-mto7gthj",
5707
+ "productId": "pd-ce27a82c",
5708
+ "lineId": "ln-96b92c18",
5709
+ "startedAt": "2026-09-05T09:53:58.816Z",
5710
+ "endedAt": "2026-09-05T09:54:09.729Z",
5519
5711
  "results": [
5520
5712
  {
5521
5713
  "templateRef": "dcw-temp-sp",
5522
- "nodeId": "dw-1ccbe1a8",
5714
+ "nodeId": "dw-e5fcf0a3",
5523
5715
  "ok": true,
5524
5716
  "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
5525
5717
  "value": 180
@@ -5527,26 +5719,26 @@
5527
5719
  ],
5528
5720
  "paramsSnapshot": [
5529
5721
  {
5530
- "nodeId": "dw-1ccbe1a8",
5722
+ "nodeId": "dw-e5fcf0a3",
5531
5723
  "templateRef": "dcw-temp-sp",
5532
5724
  "value": 180,
5533
- "min": 176,
5534
- "max": 188
5725
+ "min": 150,
5726
+ "max": 200
5535
5727
  }
5536
5728
  ]
5537
5729
  },
5538
5730
  {
5539
- "id": "rr-02e1b75d",
5540
- "recipeId": "rc-839041c6",
5541
- "recipeName": "配方-mtmhyn1r",
5542
- "productId": "pd-cfe2e059",
5543
- "lineId": "ln-826f8518",
5544
- "startedAt": "2026-09-04T05:12:03.638Z",
5545
- "endedAt": "2026-09-04T05:12:13.981Z",
5731
+ "id": "rr-c0498edd",
5732
+ "recipeId": "rc-299d17de",
5733
+ "recipeName": "tzc-recipe",
5734
+ "productId": "pd-e7a6099a",
5735
+ "lineId": "ln-bd67b10b",
5736
+ "startedAt": "2026-09-05T19:05:14.654+08:00",
5737
+ "endedAt": "2026-09-05T19:05:22.851+08:00",
5546
5738
  "results": [
5547
5739
  {
5548
5740
  "templateRef": "dcw-temp-sp",
5549
- "nodeId": "dw-3b6fd688",
5741
+ "nodeId": "dw-db743eb4",
5550
5742
  "ok": true,
5551
5743
  "message": "Mock PLC 写入成功:180 → raw 180,回读一致(标定后物理值 180)",
5552
5744
  "value": 180
@@ -5554,11 +5746,11 @@
5554
5746
  ],
5555
5747
  "paramsSnapshot": [
5556
5748
  {
5557
- "nodeId": "dw-3b6fd688",
5749
+ "nodeId": "dw-db743eb4",
5558
5750
  "templateRef": "dcw-temp-sp",
5559
5751
  "value": 180,
5560
- "min": 176,
5561
- "max": 188
5752
+ "min": 150,
5753
+ "max": 200
5562
5754
  }
5563
5755
  ]
5564
5756
  }