agentworkshop 0.6.1 → 0.7.0

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 (537) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +17 -0
  2. package/.env.example +37 -0
  3. package/.output/.AgentWorkShop/prompts/host-tools.json +17 -0
  4. package/.output/nitro.json +1 -1
  5. package/.output/public/_nuxt/{Bc_mM2cU.js → BH0Z05CS.js} +1 -1
  6. package/.output/public/_nuxt/Bxgaym6j.js +1 -0
  7. package/.output/public/_nuxt/{DRlJ2-4p.js → By-LNp3k.js} +1 -1
  8. package/.output/public/_nuxt/{C2QSTAWf.js → Bz40vyZS.js} +1 -1
  9. package/.output/public/_nuxt/{CwS_UHeH.js → CS8R0_J3.js} +1 -1
  10. package/.output/public/_nuxt/{ClptO7LA.js → CUxV8Bw_.js} +1 -1
  11. package/.output/public/_nuxt/CXmkVXS5.js +1 -0
  12. package/.output/public/_nuxt/DC-QMEk1.js +2 -0
  13. package/.output/public/_nuxt/{C-Y5ydB6.js → Dgp2wK2U.js} +6 -6
  14. package/.output/public/_nuxt/{Ck6tznoQ.js → DjqcbFBE.js} +1 -1
  15. package/.output/public/_nuxt/{B0haAGoq.js → GP2wXyuY.js} +1 -1
  16. package/.output/public/_nuxt/TownView.Bt33bo1M.css +1 -0
  17. package/.output/public/_nuxt/{MhK4buEJ.js → XVB9_zwP.js} +1 -1
  18. package/.output/public/_nuxt/_id_.BeqSLvl_.css +1 -0
  19. package/.output/public/_nuxt/builds/latest.json +1 -1
  20. package/.output/public/_nuxt/builds/meta/90ae66f6-f649-4b44-8df9-bcd9e9a957a2.json +1 -0
  21. package/.output/public/_nuxt/{Bq_KKxCg.js → i_MKObHo.js} +1 -1
  22. package/.output/public/_nuxt/settings.DeRNNUcP.css +1 -0
  23. package/.output/public/_nuxt/{CclO6GyL.js → tpDMVY5w.js} +1 -1
  24. package/.output/public/_nuxt/{C0FogB-p.js → zwdqvGN_.js} +1 -1
  25. package/.output/server/chunks/_/nitro.mjs +4910 -4591
  26. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  27. package/.output/server/chunks/build/{TownView-D9yCQe1T.mjs → TownView-BkHxMiwZ.mjs} +168 -159
  28. package/.output/server/chunks/build/{TownView-D9yCQe1T.mjs.map → TownView-BkHxMiwZ.mjs.map} +1 -1
  29. package/.output/server/chunks/build/{_id_-xR3AChMO.mjs → _id_-Bna1_JuB.mjs} +5 -4
  30. package/.output/server/chunks/build/_id_-Bna1_JuB.mjs.map +1 -0
  31. package/.output/server/chunks/build/{_id_-CmKAEFHV.mjs → _id_-GnRJPykX.mjs} +161 -119
  32. package/.output/server/chunks/build/_id_-GnRJPykX.mjs.map +1 -0
  33. package/.output/server/chunks/build/{_wsId_-C45nVrl-.mjs → _wsId_-CzLDGT_V.mjs} +6 -5
  34. package/.output/server/chunks/build/{_wsId_-C45nVrl-.mjs.map → _wsId_-CzLDGT_V.mjs.map} +1 -1
  35. package/.output/server/chunks/build/agents-D4l1icvn.mjs +1 -0
  36. package/.output/server/chunks/build/agents-D4l1icvn.mjs.map +1 -1
  37. package/.output/server/chunks/build/channel-templates-DqjtC-R0.mjs +1 -0
  38. package/.output/server/chunks/build/channel-templates-DqjtC-R0.mjs.map +1 -1
  39. package/.output/server/chunks/build/{daq-Boz_dlAQ.mjs → daq-D_W59QOe.mjs} +6 -5
  40. package/.output/server/chunks/build/daq-D_W59QOe.mjs.map +1 -0
  41. package/.output/server/chunks/build/{dcw-wTRwBAUi.mjs → dcw-BTM5YU-B.mjs} +3 -2
  42. package/.output/server/chunks/build/dcw-BTM5YU-B.mjs.map +1 -0
  43. package/.output/server/chunks/build/default-Dt6xLdpd.mjs +1 -0
  44. package/.output/server/chunks/build/{logs-Cdi-eXlN.mjs → logs-CUQt1z7D.mjs} +4 -3
  45. package/.output/server/chunks/build/logs-CUQt1z7D.mjs.map +1 -0
  46. package/.output/server/chunks/build/monitor-yNoV98rf.mjs +1 -0
  47. package/.output/server/chunks/build/{pages-bWKy0ZsA.mjs → pages-DR2bzczM.mjs} +4 -3
  48. package/.output/server/chunks/build/pages-DR2bzczM.mjs.map +1 -0
  49. package/.output/server/chunks/build/plugins-B-ZNey0Z.mjs +1 -0
  50. package/.output/server/chunks/build/plugins-B-ZNey0Z.mjs.map +1 -1
  51. package/.output/server/chunks/build/{settings-C3T5hR2A.mjs → settings-Cr06lbRy.mjs} +26 -18
  52. package/.output/server/chunks/build/settings-Cr06lbRy.mjs.map +1 -0
  53. package/.output/server/chunks/build/teams-QR3BBF7A.mjs +1 -0
  54. package/.output/server/chunks/build/teams-QR3BBF7A.mjs.map +1 -1
  55. package/.output/server/chunks/build/tokens-DFvr_TLj.mjs +1 -0
  56. package/.output/server/chunks/build/tokens-DFvr_TLj.mjs.map +1 -1
  57. package/.output/server/chunks/build/{town-CKg6Qxba.mjs → town-BN4vQPb8.mjs} +6 -5
  58. package/.output/server/chunks/build/town-BN4vQPb8.mjs.map +1 -0
  59. package/.output/server/chunks/build/town-BUqRobze.mjs +1 -0
  60. package/.output/server/chunks/build/town-BUqRobze.mjs.map +1 -1
  61. package/.output/server/chunks/build/{useDaqStream-zHEptJQ_.mjs → useDaqStream-hwkhJHFU.mjs} +2 -2
  62. package/.output/server/chunks/build/{useDaqStream-zHEptJQ_.mjs.map → useDaqStream-hwkhJHFU.mjs.map} +1 -1
  63. package/.output/server/chunks/build/{useDcwStream-BkWDGaWp.mjs → useDcwStream-Bdew_yrr.mjs} +16 -1
  64. package/.output/server/chunks/build/useDcwStream-Bdew_yrr.mjs.map +1 -0
  65. package/.output/server/chunks/build/{useDeviceTwins-NhtXqSkU.mjs → useDeviceTwins-C6EBg9oN.mjs} +2 -2
  66. package/.output/server/chunks/build/{useDeviceTwins-NhtXqSkU.mjs.map → useDeviceTwins-C6EBg9oN.mjs.map} +1 -1
  67. package/.output/server/chunks/build/{useOpsLog-CU64VDg5.mjs → useOpsLog-DdCqKVVG.mjs} +2 -2
  68. package/.output/server/chunks/build/{useOpsLog-CU64VDg5.mjs.map → useOpsLog-DdCqKVVG.mjs.map} +1 -1
  69. package/.output/server/chunks/build/users-4FZ0yFUO.mjs +1 -0
  70. package/.output/server/chunks/build/users-4FZ0yFUO.mjs.map +1 -1
  71. package/.output/server/chunks/build/workshop-CLhwe5eo.mjs +1 -0
  72. package/.output/server/chunks/build/workshop-CLhwe5eo.mjs.map +1 -1
  73. package/.output/server/chunks/routes/api/health.get.mjs +1 -0
  74. package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
  75. package/.output/server/chunks/routes/api/index.get.mjs +1 -0
  76. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  77. package/.output/server/chunks/routes/api/index.post.mjs +1 -0
  78. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  79. package/.output/server/chunks/routes/api/mcp/workshop.mjs +1 -0
  80. package/.output/server/chunks/routes/api/mcp/workshop.mjs.map +1 -1
  81. package/.output/server/chunks/routes/api/metrics.mjs +1 -0
  82. package/.output/server/chunks/routes/api/metrics.mjs.map +1 -1
  83. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +1 -0
  84. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs.map +1 -1
  85. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +1 -0
  86. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs.map +1 -1
  87. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +1 -0
  88. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs.map +1 -1
  89. package/.output/server/chunks/routes/api/system/config.get.mjs +1 -0
  90. package/.output/server/chunks/routes/api/system/config.get.mjs.map +1 -1
  91. package/.output/server/chunks/routes/api/system/index.get.mjs +1 -0
  92. package/.output/server/chunks/routes/api/system/index.get.mjs.map +1 -1
  93. package/.output/server/chunks/routes/api/system/index.patch.mjs +1 -0
  94. package/.output/server/chunks/routes/api/system/index.patch.mjs.map +1 -1
  95. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +1 -0
  96. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs.map +1 -1
  97. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +1 -0
  98. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs.map +1 -1
  99. package/.output/server/chunks/routes/api/system/monitor.get.mjs +1 -0
  100. package/.output/server/chunks/routes/api/system/monitor.get.mjs.map +1 -1
  101. package/.output/server/chunks/routes/api/system/settings/events.get.mjs +1 -0
  102. package/.output/server/chunks/routes/api/system/settings/events.get.mjs.map +1 -1
  103. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +1 -0
  104. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs.map +1 -1
  105. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -0
  106. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
  107. package/.output/server/chunks/routes/api/users/_id_.get.mjs +1 -0
  108. package/.output/server/chunks/routes/api/users/_id_.get.mjs.map +1 -1
  109. package/.output/server/chunks/routes/api/users/_id_.put.mjs +1 -0
  110. package/.output/server/chunks/routes/api/users/_id_.put.mjs.map +1 -1
  111. package/.output/server/chunks/routes/api/users/index.get.mjs +1 -0
  112. package/.output/server/chunks/routes/api/users/index.get.mjs.map +1 -1
  113. package/.output/server/chunks/routes/api/users/index.post.mjs +1 -0
  114. package/.output/server/chunks/routes/api/users/index.post.mjs.map +1 -1
  115. package/.output/server/chunks/routes/api/users/login.post.mjs +1 -0
  116. package/.output/server/chunks/routes/api/users/login.post.mjs.map +1 -1
  117. package/.output/server/chunks/routes/api/users/logout.post.mjs +1 -0
  118. package/.output/server/chunks/routes/api/users/logout.post.mjs.map +1 -1
  119. package/.output/server/chunks/routes/api/users/me.get.mjs +1 -0
  120. package/.output/server/chunks/routes/api/users/me.get.mjs.map +1 -1
  121. package/.output/server/chunks/routes/api/users/register.post.mjs +1 -0
  122. package/.output/server/chunks/routes/api/users/register.post.mjs.map +1 -1
  123. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +1 -0
  124. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs.map +1 -1
  125. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +1 -0
  126. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs.map +1 -1
  127. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -0
  128. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs.map +1 -1
  129. package/.output/server/chunks/routes/api/workshop/_...path_.mjs +1 -0
  130. package/.output/server/chunks/routes/api/workshop/_...path_.mjs.map +1 -1
  131. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +1 -0
  132. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs.map +1 -1
  133. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +1 -0
  134. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs.map +1 -1
  135. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -0
  136. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs.map +1 -1
  137. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +1 -0
  138. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs.map +1 -1
  139. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -0
  140. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs.map +1 -1
  141. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +1 -0
  142. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs.map +1 -1
  143. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +1 -0
  144. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs.map +1 -1
  145. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +1 -0
  146. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs.map +1 -1
  147. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +1 -0
  148. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs.map +1 -1
  149. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +1 -0
  150. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs.map +1 -1
  151. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +1 -0
  152. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs.map +1 -1
  153. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +1 -0
  154. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs.map +1 -1
  155. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +1 -0
  156. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs.map +1 -1
  157. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -0
  158. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs.map +1 -1
  159. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +1 -0
  160. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs.map +1 -1
  161. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +1 -0
  162. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs.map +1 -1
  163. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +1 -0
  164. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs.map +1 -1
  165. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +1 -0
  166. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs.map +1 -1
  167. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +1 -0
  168. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs.map +1 -1
  169. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +1 -0
  170. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs.map +1 -1
  171. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +1 -0
  172. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs.map +1 -1
  173. package/.output/server/chunks/routes/api/workshop/audit.get.mjs +1 -0
  174. package/.output/server/chunks/routes/api/workshop/audit.get.mjs.map +1 -1
  175. package/.output/server/chunks/routes/api/workshop/caller.mjs +1 -0
  176. package/.output/server/chunks/routes/api/workshop/caller.mjs.map +1 -1
  177. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -0
  178. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs.map +1 -1
  179. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +1 -0
  180. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs.map +1 -1
  181. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +1 -0
  182. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs.map +1 -1
  183. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +1 -0
  184. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs.map +1 -1
  185. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -0
  186. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs.map +1 -1
  187. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +1 -0
  188. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs.map +1 -1
  189. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +1 -0
  190. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs.map +1 -1
  191. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -0
  192. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs.map +1 -1
  193. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +1 -0
  194. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs.map +1 -1
  195. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -0
  196. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs.map +1 -1
  197. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +1 -0
  198. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs.map +1 -1
  199. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +1 -0
  200. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs.map +1 -1
  201. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +1 -0
  202. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs.map +1 -1
  203. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +1 -0
  204. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs.map +1 -1
  205. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +1 -0
  206. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs.map +1 -1
  207. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +1 -0
  208. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs.map +1 -1
  209. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -0
  210. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs.map +1 -1
  211. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +1 -0
  212. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs.map +1 -1
  213. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +1 -0
  214. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs.map +1 -1
  215. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +1 -0
  216. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs.map +1 -1
  217. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -0
  218. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs.map +1 -1
  219. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +1 -0
  220. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs.map +1 -1
  221. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +1 -0
  222. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs.map +1 -1
  223. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -0
  224. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs.map +1 -1
  225. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +1 -0
  226. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs.map +1 -1
  227. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +1 -0
  228. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs.map +1 -1
  229. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +1 -0
  230. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs.map +1 -1
  231. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +1 -0
  232. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs.map +1 -1
  233. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +1 -0
  234. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs.map +1 -1
  235. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +1 -0
  236. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs.map +1 -1
  237. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +1 -0
  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 -0
  240. package/.output/server/chunks/routes/api/workshop/channels.get.mjs.map +1 -1
  241. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +1 -0
  242. package/.output/server/chunks/routes/api/workshop/channels.post.mjs.map +1 -1
  243. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +1 -0
  244. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs.map +1 -1
  245. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +1 -0
  246. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs.map +1 -1
  247. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +1 -0
  248. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs.map +1 -1
  249. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +1 -0
  250. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs.map +1 -1
  251. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +1 -0
  252. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs.map +1 -1
  253. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +1 -0
  254. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs.map +1 -1
  255. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +1 -0
  256. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs.map +1 -1
  257. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +1 -0
  258. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs.map +1 -1
  259. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +1 -0
  260. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs.map +1 -1
  261. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +1 -0
  262. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs.map +1 -1
  263. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +1 -0
  264. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs.map +1 -1
  265. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +1 -0
  266. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs.map +1 -1
  267. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +1 -0
  268. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs.map +1 -1
  269. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +1 -0
  270. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs.map +1 -1
  271. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +1 -0
  272. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs.map +1 -1
  273. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +1 -0
  274. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs.map +1 -1
  275. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +1 -0
  276. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs.map +1 -1
  277. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +1 -0
  278. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs.map +1 -1
  279. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +31 -0
  280. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs.map +1 -0
  281. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +1 -0
  282. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs.map +1 -1
  283. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +1 -0
  284. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs.map +1 -1
  285. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +1 -0
  286. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs.map +1 -1
  287. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +1 -0
  288. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs.map +1 -1
  289. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +1 -0
  290. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs.map +1 -1
  291. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +1 -0
  292. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs.map +1 -1
  293. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -0
  294. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs.map +1 -1
  295. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +1 -0
  296. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs.map +1 -1
  297. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +1 -0
  298. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs.map +1 -1
  299. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +1 -0
  300. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs.map +1 -1
  301. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +1 -0
  302. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs.map +1 -1
  303. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +1 -0
  304. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs.map +1 -1
  305. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +1 -0
  306. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs.map +1 -1
  307. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +1 -0
  308. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs.map +1 -1
  309. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +1 -0
  310. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs.map +1 -1
  311. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +1 -0
  312. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs.map +1 -1
  313. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -0
  314. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs.map +1 -1
  315. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -0
  316. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs.map +1 -1
  317. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +1 -0
  318. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs.map +1 -1
  319. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +1 -0
  320. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs.map +1 -1
  321. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +1 -0
  322. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs.map +1 -1
  323. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +1 -0
  324. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs.map +1 -1
  325. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +1 -0
  326. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs.map +1 -1
  327. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +1 -0
  328. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs.map +1 -1
  329. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +1 -0
  330. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs.map +1 -1
  331. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +1 -0
  332. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs.map +1 -1
  333. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +1 -0
  334. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs.map +1 -1
  335. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +1 -0
  336. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs.map +1 -1
  337. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +1 -0
  338. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs.map +1 -1
  339. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +1 -0
  340. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs.map +1 -1
  341. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.patch.mjs +1 -0
  342. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.patch.mjs.map +1 -1
  343. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +1 -0
  344. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs.map +1 -1
  345. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +1 -0
  346. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs.map +1 -1
  347. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +1 -0
  348. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs.map +1 -1
  349. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -0
  350. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs.map +1 -1
  351. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -0
  352. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs.map +1 -1
  353. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +1 -0
  354. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs.map +1 -1
  355. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +1 -0
  356. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs.map +1 -1
  357. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +1 -0
  358. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs.map +1 -1
  359. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +1 -0
  360. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs.map +1 -1
  361. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +1 -0
  362. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs.map +1 -1
  363. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +1 -0
  364. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs.map +1 -1
  365. package/.output/server/chunks/routes/api/workshop/index.get.mjs +1 -0
  366. package/.output/server/chunks/routes/api/workshop/index.get.mjs.map +1 -1
  367. package/.output/server/chunks/routes/api/workshop/index.post.mjs +1 -0
  368. package/.output/server/chunks/routes/api/workshop/index.post.mjs.map +1 -1
  369. package/.output/server/chunks/routes/api/workshop/index10.get.mjs +1 -0
  370. package/.output/server/chunks/routes/api/workshop/index10.get.mjs.map +1 -1
  371. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +1 -0
  372. package/.output/server/chunks/routes/api/workshop/index2.get.mjs.map +1 -1
  373. package/.output/server/chunks/routes/api/workshop/index2.post.mjs +1 -0
  374. package/.output/server/chunks/routes/api/workshop/index2.post.mjs.map +1 -1
  375. package/.output/server/chunks/routes/api/workshop/index3.get.mjs +1 -0
  376. package/.output/server/chunks/routes/api/workshop/index3.get.mjs.map +1 -1
  377. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +1 -0
  378. package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
  379. package/.output/server/chunks/routes/api/workshop/index4.get.mjs +1 -0
  380. package/.output/server/chunks/routes/api/workshop/index4.get.mjs.map +1 -1
  381. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +1 -0
  382. package/.output/server/chunks/routes/api/workshop/index4.post.mjs.map +1 -1
  383. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +1 -0
  384. package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
  385. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +1 -0
  386. package/.output/server/chunks/routes/api/workshop/index5.post.mjs.map +1 -1
  387. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -0
  388. package/.output/server/chunks/routes/api/workshop/index6.get.mjs.map +1 -1
  389. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +1 -0
  390. package/.output/server/chunks/routes/api/workshop/index6.post.mjs.map +1 -1
  391. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +1 -0
  392. package/.output/server/chunks/routes/api/workshop/index7.get.mjs.map +1 -1
  393. package/.output/server/chunks/routes/api/workshop/index7.post.mjs +1 -0
  394. package/.output/server/chunks/routes/api/workshop/index7.post.mjs.map +1 -1
  395. package/.output/server/chunks/routes/api/workshop/index8.get.mjs +1 -0
  396. package/.output/server/chunks/routes/api/workshop/index8.get.mjs.map +1 -1
  397. package/.output/server/chunks/routes/api/workshop/index8.post.mjs +1 -0
  398. package/.output/server/chunks/routes/api/workshop/index8.post.mjs.map +1 -1
  399. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +1 -0
  400. package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
  401. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +1 -0
  402. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs.map +1 -1
  403. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +1 -0
  404. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs.map +1 -1
  405. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +1 -0
  406. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs.map +1 -1
  407. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -0
  408. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs.map +1 -1
  409. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -0
  410. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs.map +1 -1
  411. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +1 -0
  412. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs.map +1 -1
  413. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +1 -0
  414. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs.map +1 -1
  415. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -0
  416. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs.map +1 -1
  417. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -0
  418. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs.map +1 -1
  419. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +1 -0
  420. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs.map +1 -1
  421. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -0
  422. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs.map +1 -1
  423. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -0
  424. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs.map +1 -1
  425. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +1 -0
  426. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs.map +1 -1
  427. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -0
  428. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs.map +1 -1
  429. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +1 -0
  430. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs.map +1 -1
  431. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +1 -0
  432. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs.map +1 -1
  433. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +1 -0
  434. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs.map +1 -1
  435. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +1 -0
  436. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs.map +1 -1
  437. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +1 -0
  438. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs.map +1 -1
  439. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -0
  440. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs.map +1 -1
  441. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +1 -0
  442. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs.map +1 -1
  443. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +1 -0
  444. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs.map +1 -1
  445. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +1 -0
  446. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs.map +1 -1
  447. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -0
  448. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs.map +1 -1
  449. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +1 -0
  450. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs.map +1 -1
  451. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +1 -0
  452. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs.map +1 -1
  453. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -0
  454. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs.map +1 -1
  455. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +1 -0
  456. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs.map +1 -1
  457. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +1 -0
  458. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs.map +1 -1
  459. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +1 -0
  460. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs.map +1 -1
  461. package/.output/server/chunks/routes/renderer.mjs +1 -1
  462. package/.output/server/chunks/virtual/entry.mjs +287 -85
  463. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  464. package/.output/server/index.mjs +1 -0
  465. package/.output/server/package.json +1 -1
  466. package/README-zh.md +434 -430
  467. package/README.md +5 -1
  468. package/app/components/workshop/DeviceTwinPanel.vue +34 -0
  469. package/app/components/workshop/town/TownView.vue +5 -0
  470. package/app/composables/workshop/useDcwStream.ts +15 -1
  471. package/app/config/schema.ts +54 -0
  472. package/app/pages/dcw/[id].vue +57 -0
  473. package/app/pages/settings.vue +2 -1
  474. package/config.yml +58 -1
  475. package/i18n/dicts/_en.json +56 -2
  476. package/i18n/dicts/dcwDetail.json +9 -1
  477. package/i18n/dicts/deviceTwinPanel.json +2 -1
  478. package/i18n/dicts/settings.json +48 -1
  479. package/i18n/locales/en.ts +139 -38
  480. package/i18n/locales/zh-CN.ts +139 -38
  481. package/package.json +1 -1
  482. package/scripts/_dbg-agent-dcw-rw.ts +131 -0
  483. package/scripts/_dbg-config-smoke.ts +28 -0
  484. package/scripts/_dbg-dcw-read-rest.mjs +103 -0
  485. package/scripts/_dbg-dcw-read-toolface.ts +13 -0
  486. package/scripts/_dbg-dcw-read-ui.mjs +74 -0
  487. package/scripts/_dbg-plugin-ui-wizard.mjs +125 -0
  488. package/scripts/test-config-precedence.ts +124 -0
  489. package/scripts/test-dcw-read.ts +153 -0
  490. package/server/api/workshop/dcw/[id]/read.post.ts +18 -0
  491. package/server/api/workshop/ws.ts +6 -4
  492. package/server/data/daqs.json +55 -9
  493. package/server/data/dcw-rollback.json +221 -1
  494. package/server/data/dcw-runs.json +41 -18
  495. package/server/data/dcw-writes.json +264 -0
  496. package/server/data/dcws.json +646 -4
  497. package/server/data/line-runs.json +12 -1
  498. package/server/plugins/backup.ts +7 -5
  499. package/server/plugins/retention.ts +59 -57
  500. package/server/plugins/workshop.ts +5 -4
  501. package/server/services/workshop/agents/industrial-tools.ts +50 -1
  502. package/server/services/workshop/agents/omp-agent.ts +10 -8
  503. package/server/services/workshop/agents/tool-approvals.ts +175 -174
  504. package/server/services/workshop/daq/alarm-notify.ts +102 -100
  505. package/server/services/workshop/daq/bus/mqtt.adapter.ts +14 -15
  506. package/server/services/workshop/daq/storage/sqlite.adapter.ts +5 -4
  507. package/server/services/workshop/daq/storage/timescale.adapter.ts +5 -4
  508. package/server/services/workshop/db/retention.ts +49 -50
  509. package/server/services/workshop/dcw/dcw-controller.ts +56 -1
  510. package/server/services/workshop/dcw/dcw-node.ts +233 -200
  511. package/server/services/workshop/dcw/dcw-runtime.ts +46 -9
  512. package/server/services/workshop/dcw/drivers.ts +98 -0
  513. package/server/services/workshop/dcw/recipe-rollback-manager.ts +16 -15
  514. package/server/services/workshop/logger.ts +65 -58
  515. package/server/services/workshop/runtime/embedding-provider.ts +9 -5
  516. package/server/services/workshop/runtime/manager.ts +16 -7
  517. package/server/services/workshop/runtime/memory.ts +14 -7
  518. package/server/services/workshop/settings.ts +143 -0
  519. package/shared/config/engine.mjs +6 -2
  520. package/shared/config/schema.json +48 -1
  521. package/shared/dcw-protocol.ts +21 -0
  522. package/.output/public/_nuxt/BD9D9pl4.js +0 -1
  523. package/.output/public/_nuxt/BxD8Fg_Z.js +0 -2
  524. package/.output/public/_nuxt/CwcOEM8m.js +0 -1
  525. package/.output/public/_nuxt/TownView.CI2Wpzty.css +0 -1
  526. package/.output/public/_nuxt/_id_.Ci4u30cR.css +0 -1
  527. package/.output/public/_nuxt/builds/meta/221de779-a113-4232-b9a1-31a614f5e3c7.json +0 -1
  528. package/.output/public/_nuxt/settings.BG0K9_MG.css +0 -1
  529. package/.output/server/chunks/build/_id_-CmKAEFHV.mjs.map +0 -1
  530. package/.output/server/chunks/build/_id_-xR3AChMO.mjs.map +0 -1
  531. package/.output/server/chunks/build/daq-Boz_dlAQ.mjs.map +0 -1
  532. package/.output/server/chunks/build/dcw-wTRwBAUi.mjs.map +0 -1
  533. package/.output/server/chunks/build/logs-Cdi-eXlN.mjs.map +0 -1
  534. package/.output/server/chunks/build/pages-bWKy0ZsA.mjs.map +0 -1
  535. package/.output/server/chunks/build/settings-C3T5hR2A.mjs.map +0 -1
  536. package/.output/server/chunks/build/town-CKg6Qxba.mjs.map +0 -1
  537. package/.output/server/chunks/build/useDcwStream-BkWDGaWp.mjs.map +0 -1
@@ -9353,7 +9353,7 @@ var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Froutes_default = [
9353
9353
  name: "workshop-w-wsId",
9354
9354
  path: "/workshop/w/:wsId()",
9355
9355
  meta: { layout: "default" },
9356
- component: () => import('../build/_wsId_-C45nVrl-.mjs')
9356
+ component: () => import('../build/_wsId_-CzLDGT_V.mjs')
9357
9357
  },
9358
9358
  {
9359
9359
  name: "workshop-agents",
@@ -9377,28 +9377,28 @@ var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Froutes_default = [
9377
9377
  name: "daq-id",
9378
9378
  path: "/daq/:id()",
9379
9379
  meta: { layout: "default" },
9380
- component: () => import('../build/_id_-xR3AChMO.mjs')
9380
+ component: () => import('../build/_id_-Bna1_JuB.mjs')
9381
9381
  },
9382
9382
  {
9383
9383
  name: "dcw-id",
9384
9384
  path: "/dcw/:id()",
9385
- component: () => import('../build/_id_-CmKAEFHV.mjs')
9385
+ component: () => import('../build/_id_-GnRJPykX.mjs')
9386
9386
  },
9387
9387
  {
9388
9388
  name: "daq",
9389
9389
  path: "/daq",
9390
9390
  meta: { layout: "default" },
9391
- component: () => import('../build/daq-Boz_dlAQ.mjs')
9391
+ component: () => import('../build/daq-D_W59QOe.mjs')
9392
9392
  },
9393
9393
  {
9394
9394
  name: "dcw",
9395
9395
  path: "/dcw",
9396
- component: () => import('../build/dcw-wTRwBAUi.mjs')
9396
+ component: () => import('../build/dcw-BTM5YU-B.mjs')
9397
9397
  },
9398
9398
  {
9399
9399
  name: "logs",
9400
9400
  path: "/logs",
9401
- component: () => import('../build/logs-Cdi-eXlN.mjs')
9401
+ component: () => import('../build/logs-CUQt1z7D.mjs')
9402
9402
  },
9403
9403
  {
9404
9404
  name: "monitor",
@@ -9414,7 +9414,7 @@ var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Froutes_default = [
9414
9414
  {
9415
9415
  name: "settings",
9416
9416
  path: "/settings",
9417
- component: () => import('../build/settings-C3T5hR2A.mjs')
9417
+ component: () => import('../build/settings-Cr06lbRy.mjs')
9418
9418
  },
9419
9419
  {
9420
9420
  name: "tokens",
@@ -9429,7 +9429,7 @@ var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Froutes_default = [
9429
9429
  layout: "town",
9430
9430
  title: "Digital Twin"
9431
9431
  },
9432
- component: () => import('../build/town-CKg6Qxba.mjs')
9432
+ component: () => import('../build/town-BN4vQPb8.mjs')
9433
9433
  },
9434
9434
  {
9435
9435
  name: "users",
@@ -9445,7 +9445,7 @@ var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Froutes_default = [
9445
9445
  {
9446
9446
  name: "index",
9447
9447
  path: "/",
9448
- component: () => import('../build/pages-bWKy0ZsA.mjs')
9448
+ component: () => import('../build/pages-DR2bzczM.mjs')
9449
9449
  }
9450
9450
  ];
9451
9451
  //#endregion
@@ -13028,44 +13028,90 @@ var zh_CN_default$1 = {
13028
13028
  disabled: "已禁用"
13029
13029
  },
13030
13030
  settings: {
13031
- title: "系统设置",
13032
- subtitle: "配置应用基本信息、主题外观与通知偏好",
13033
- basic: "基本设置",
13034
- basicDesc: "应用的名称、描述等基础信息",
13035
- theme: "主题设置",
13036
- themeDesc: "自定义主色调与显示模式",
13037
- notification: "通知设置",
13038
- notificationDesc: "管理系统消息通知的推送方式",
13039
- appName: "应用名称",
13040
- appDesc: "应用描述",
13041
- primaryColor: "主题色",
13042
- themeMode: "显示模式",
13043
- appearanceDesc: "主题色、深浅模式与语言偏好,实时生效并自动持久化(localStorage)。",
13044
- accentDesc: "默认品牌绿,与 Digital Twin 控制室同源;可选低饱和预设,悬停预览即时生效。",
13045
- accentInk: "品牌",
13046
- accentStone: "琥珀",
13047
- accentMoss: "苔绿",
13048
- accentSlate: "靛蓝",
13049
- accentPlum: "紫檀",
13050
- accentClay: "陶赭",
13051
- accentApplied: "主题色已应用",
13052
- accentReset: "已恢复默认主题色(跟随 config.yml)",
13053
- accentResetAction: "恢复默认",
13054
- darkDesc: "深海军蓝控制室暗阶,与数字孪生空间同一视觉语言;亮色模式保留编辑风格。",
13055
- languageDesc: "界面语言(zh-CN / en),选择即生效。",
13056
- systemTab: "系统",
13057
- systemDesc: "只读运行参数(同源 config.yml,经 nuxt.config runtimeConfig 注入)。",
13058
- identity: "当前身份",
13059
- identityGuest: "当前未登录(工作台数据需登录后查看)",
13060
- emailNotify: "邮件通知",
13061
- emailNotifyDesc: "重要事件通过邮件推送给管理员",
13062
- smsNotify: "短信通知",
13063
- smsNotifyDesc: "紧急告警通过短信即时送达",
13064
- pushNotify: "站内推送",
13065
- pushNotifyDesc: "浏览器内实时消息提醒",
13066
- saveSuccess: "设置已保存",
13067
- runtimeTab: "运行配置",
13068
- runtime: {
13031
+ "runtime.groupMemory": "记忆系统",
13032
+ "runtime.groupOmp": "Agent Harness",
13033
+ "runtime.groupDcw": "数控写控",
13034
+ "runtime.groupWorkshop": "车间运行",
13035
+ "runtime.groupBackup": "数据备份",
13036
+ "runtime.groupRetention": "数据保留",
13037
+ "runtime.groupLog": "日志",
13038
+ "runtime.memory.primerTokens": "记忆引子预算",
13039
+ "runtime.memory.injectTotal": "记忆注入硬顶",
13040
+ "runtime.memory.maintenanceMs": "记忆维护周期(ms)",
13041
+ "runtime.memory.expireDays": "情景记忆过期(天)",
13042
+ "runtime.memory.expireSessionDays": "会话记忆过期(天)",
13043
+ "runtime.memory.cap": "记忆条目上限",
13044
+ "runtime.memory.reflectTrigger": "反思触发阈值",
13045
+ "runtime.memory.embedBaseUrl": "Embedding 端点",
13046
+ "runtime.memory.embedModel": "Embedding 模型",
13047
+ "runtime.memory.embedApiKey": "Embedding 密钥",
13048
+ "runtime.omp.compactEnabled": "上下文自动压缩",
13049
+ "runtime.omp.compactThreshold": "压缩阈值",
13050
+ "runtime.omp.compactMinIntervalMs": "压缩最小间隔(ms)",
13051
+ "runtime.omp.compactWaitMs": "压缩等待超时(ms)",
13052
+ "runtime.dcw.rollbackCooldownMs": "回退冷却(ms)",
13053
+ "runtime.dcw.rollbackMinWindowMs": "回退最小观察窗(ms)",
13054
+ "runtime.dcw.rollbackBaselineMs": "基线稳定窗(ms)",
13055
+ "runtime.dcw.rollbackStaleMs": "open 记录过期(ms)",
13056
+ "runtime.workshop.idleSweepMs": "空产线扫描(ms)",
13057
+ "runtime.workshop.idleGraceMs": "空闲宽限(ms)",
13058
+ "runtime.backup.disabled": "禁用自动备份",
13059
+ "runtime.backup.intervalHours": "备份间隔(h)",
13060
+ "runtime.backup.keep": "备份保留份数",
13061
+ "runtime.retention.disabled": "禁用数据保留策略",
13062
+ "runtime.retention.eventsDays": "事件保留(天)",
13063
+ "runtime.retention.messagesDays": "消息保留(天)",
13064
+ "runtime.retention.auditDays": "审计日志保留(天)",
13065
+ "runtime.retention.approvalDays": "审批历史保留(天)",
13066
+ "runtime.log.level": "日志级别",
13067
+ "runtime.daq.mqttQos": "MQTT QoS",
13068
+ "runtime.daq.mqttUsername": "MQTT 用户名",
13069
+ "runtime.daq.mqttPassword": "MQTT 密码",
13070
+ "runtime.daq.mqttCaFile": "MQTT CA 证书",
13071
+ "runtime.daq.mqttRejectUnauthorized": "MQTT 校验证书",
13072
+ "runtime.daq.tsRetentionH": "标量时序保留(h)",
13073
+ "runtime.daq.frameRetentionH": "帧元数据保留(h)",
13074
+ "runtime.daq.alarmWebhookUrl": "告警 Webhook",
13075
+ "runtime.daq.alarmEscalateMinutes": "告警升级时限(min)",
13076
+ "runtime.security.hitlTimeoutMs": "HITL 审批超时(ms)",
13077
+ "title": "系统设置",
13078
+ "subtitle": "配置应用基本信息、主题外观与通知偏好",
13079
+ "basic": "基本设置",
13080
+ "basicDesc": "应用的名称、描述等基础信息",
13081
+ "theme": "主题设置",
13082
+ "themeDesc": "自定义主色调与显示模式",
13083
+ "notification": "通知设置",
13084
+ "notificationDesc": "管理系统消息通知的推送方式",
13085
+ "appName": "应用名称",
13086
+ "appDesc": "应用描述",
13087
+ "primaryColor": "主题色",
13088
+ "themeMode": "显示模式",
13089
+ "appearanceDesc": "主题色、深浅模式与语言偏好,实时生效并自动持久化(localStorage)。",
13090
+ "accentDesc": "默认品牌绿,与 Digital Twin 控制室同源;可选低饱和预设,悬停预览即时生效。",
13091
+ "accentInk": "品牌",
13092
+ "accentStone": "琥珀",
13093
+ "accentMoss": "苔绿",
13094
+ "accentSlate": "靛蓝",
13095
+ "accentPlum": "紫檀",
13096
+ "accentClay": "陶赭",
13097
+ "accentApplied": "主题色已应用",
13098
+ "accentReset": "已恢复默认主题色(跟随 config.yml)",
13099
+ "accentResetAction": "恢复默认",
13100
+ "darkDesc": "深海军蓝控制室暗阶,与数字孪生空间同一视觉语言;亮色模式保留编辑风格。",
13101
+ "languageDesc": "界面语言(zh-CN / en),选择即生效。",
13102
+ "systemTab": "系统",
13103
+ "systemDesc": "只读运行参数(同源 config.yml,经 nuxt.config runtimeConfig 注入)。",
13104
+ "identity": "当前身份",
13105
+ "identityGuest": "当前未登录(工作台数据需登录后查看)",
13106
+ "emailNotify": "邮件通知",
13107
+ "emailNotifyDesc": "重要事件通过邮件推送给管理员",
13108
+ "smsNotify": "短信通知",
13109
+ "smsNotifyDesc": "紧急告警通过短信即时送达",
13110
+ "pushNotify": "站内推送",
13111
+ "pushNotifyDesc": "浏览器内实时消息提醒",
13112
+ "saveSuccess": "设置已保存",
13113
+ "runtimeTab": "运行配置",
13114
+ "runtime": {
13069
13115
  title: "运行配置",
13070
13116
  desc: "服务端持久化的运行参数:live 键保存即热重载生效(无需刷新),restart 键下次启动生效。与 CLI(aw config)同源同通道。",
13071
13117
  live: "实时",
@@ -13497,6 +13543,52 @@ var zh_CN_default$1 = {
13497
13543
  k3lha20031: "原始点"
13498
13544
  },
13499
13545
  logs: {
13546
+ "src.user": "用户",
13547
+ "src.system": "系统",
13548
+ "kind.write": "下发",
13549
+ "kind.manual": "人工",
13550
+ "kind.alarm": "告警",
13551
+ "kind.line": "产线",
13552
+ "kind.recipe": "配方",
13553
+ "kind.rollback": "回退",
13554
+ "kind.daq": "数采",
13555
+ "kind.system": "系统",
13556
+ "title": "运维日志",
13557
+ "sub": "全操作统一记录:下发了什么控制、用户与 Agent 做了什么操作;按产线/产品/Recipe 隔离查询",
13558
+ "live": "实时",
13559
+ "liveHint": "WS 实时接收操作事件(仅摘要渲染;完整详情查询于下表)",
13560
+ "all": "全部",
13561
+ "fLine": "产线",
13562
+ "fProduct": "产品",
13563
+ "fSource": "来源",
13564
+ "fKind": "分类",
13565
+ "fKeyword": "关键词",
13566
+ "fKeywordPh": "搜索摘要/操作/操作者…",
13567
+ "query": "查询",
13568
+ "reset": "重置",
13569
+ "thTime": "时间",
13570
+ "thActor": "操作者",
13571
+ "thSummary": "事件摘要",
13572
+ "thScope": "归属(产线/产品/Recipe)",
13573
+ "thDetail": "详情",
13574
+ "expand": "详情",
13575
+ "fold": "收起",
13576
+ "loading": "查询中…",
13577
+ "empty": "无匹配日志",
13578
+ "src.user": "用户",
13579
+ "src.system": "系统",
13580
+ "kind.write": "下发",
13581
+ "kind.manual": "人工",
13582
+ "kind.alarm": "告警",
13583
+ "kind.line": "产线",
13584
+ "kind.recipe": "配方",
13585
+ "kind.rollback": "回退",
13586
+ "kind.daq": "数采",
13587
+ "kind.system": "系统",
13588
+ "mSummary": "记录内容",
13589
+ "mSummaryPh": "如:更换 3 号烘箱加热丝,当前批次延长保温 10 分钟",
13590
+ "mSubmit": "入册",
13591
+ "mOk": "已入册",
13500
13592
  "src.user": "用户",
13501
13593
  "src.system": "系统",
13502
13594
  "kind.write": "下发",
@@ -13630,6 +13722,14 @@ var zh_CN_default$1 = {
13630
13722
  k1bphrb3048: "删除失败"
13631
13723
  },
13632
13724
  dcwDetail: {
13725
+ k9r7d4e016: "周期读(ms)",
13726
+ k9r7d4e017: "缺省 5000ms;0 = 仅手动读取",
13727
+ k9r7d4e018: "PLC 读数",
13728
+ k9r7d4e019: "暂无读数(周期读未开启或驱动不支持读取)",
13729
+ k9r7d4e020: "读取 PLC 当前值",
13730
+ k9r7d4e021: "读取",
13731
+ k9r7d4e022: "手动",
13732
+ k9r7d4e023: "默认 5s",
13633
13733
  k1lzfi4g180: "({p0} 参数)",
13634
13734
  k6vgks7181: "批次 {p0}",
13635
13735
  k1alcbyu182: "节点 {p0} 下发成功:{p1}",
@@ -14210,6 +14310,7 @@ var zh_CN_default$1 = {
14210
14310
  k15mwzt7031: "输入消息/通知({'@'} 成员指定目标,缺省 lead)… ⌘/Ctrl+Enter 发送"
14211
14311
  },
14212
14312
  deviceTwinPanel: {
14313
+ k9r7d4e030: "PLC 当前读数(实际值)",
14213
14314
  kq2jssk008: "配方工艺窗口",
14214
14315
  k1iwj796009: "节点量程",
14215
14316
  kxddket010: "超出{p0} {p1}",
@@ -14801,44 +14902,90 @@ var en_default = {
14801
14902
  disabled: "Disabled"
14802
14903
  },
14803
14904
  settings: {
14804
- title: "System Settings",
14805
- subtitle: "Configure app basics, theme appearance and notifications",
14806
- basic: "General",
14807
- basicDesc: "Application name, description and other basics",
14808
- theme: "Appearance",
14809
- themeDesc: "Customize primary color and display mode",
14810
- notification: "Notifications",
14811
- notificationDesc: "Manage how system messages are delivered",
14812
- appName: "App Name",
14813
- appDesc: "Description",
14814
- primaryColor: "Primary Color",
14815
- themeMode: "Display Mode",
14816
- appearanceDesc: "Accent color, dark mode and language, applied live and persisted automatically (localStorage).",
14817
- accentDesc: "Warm-editorial defaults to the ink pill; pick a muted preset to preview instantly.",
14818
- accentInk: "Ink",
14819
- accentStone: "Amber",
14820
- accentMoss: "Moss",
14821
- accentSlate: "Slate",
14822
- accentPlum: "Plum",
14823
- accentClay: "Clay",
14824
- accentApplied: "Accent applied",
14825
- accentReset: "Reset to default ink (follows config.yml)",
14826
- accentResetAction: "Reset to default ink",
14827
- darkDesc: "Deep-navy control-room dark ramp; light mode keeps the editorial paper look.",
14828
- languageDesc: "Interface language (zh-CN / en); applies immediately.",
14829
- systemTab: "System",
14830
- systemDesc: "Read-only runtime parameters (sourced from config.yml via nuxt.config runtimeConfig).",
14831
- identity: "Signed in as",
14832
- identityGuest: "Not signed in (workshop data requires sign-in)",
14833
- emailNotify: "Email Notifications",
14834
- emailNotifyDesc: "Push important events to administrators via email",
14835
- smsNotify: "SMS Notifications",
14836
- smsNotifyDesc: "Deliver urgent alerts instantly via SMS",
14837
- pushNotify: "In-App Push",
14838
- pushNotifyDesc: "Real-time message alerts in the browser",
14839
- saveSuccess: "Settings saved",
14840
- runtimeTab: "Runtime config",
14841
- runtime: {
14905
+ "runtime.groupMemory": "Memory",
14906
+ "runtime.groupOmp": "Agent Harness",
14907
+ "runtime.groupDcw": "Write Control",
14908
+ "runtime.groupWorkshop": "Workshop",
14909
+ "runtime.groupBackup": "Backup",
14910
+ "runtime.groupRetention": "Retention",
14911
+ "runtime.groupLog": "Logs",
14912
+ "runtime.memory.primerTokens": "Memory primer budget",
14913
+ "runtime.memory.injectTotal": "Memory inject cap",
14914
+ "runtime.memory.maintenanceMs": "Memory maintenance (ms)",
14915
+ "runtime.memory.expireDays": "Episodic expiry (days)",
14916
+ "runtime.memory.expireSessionDays": "Session expiry (days)",
14917
+ "runtime.memory.cap": "Memory entry cap",
14918
+ "runtime.memory.reflectTrigger": "Reflection trigger",
14919
+ "runtime.memory.embedBaseUrl": "Embedding endpoint",
14920
+ "runtime.memory.embedModel": "Embedding model",
14921
+ "runtime.memory.embedApiKey": "Embedding key",
14922
+ "runtime.omp.compactEnabled": "Auto compaction",
14923
+ "runtime.omp.compactThreshold": "Compaction threshold",
14924
+ "runtime.omp.compactMinIntervalMs": "Min compaction interval (ms)",
14925
+ "runtime.omp.compactWaitMs": "Compaction wait timeout (ms)",
14926
+ "runtime.dcw.rollbackCooldownMs": "Rollback cooldown (ms)",
14927
+ "runtime.dcw.rollbackMinWindowMs": "Min observe window (ms)",
14928
+ "runtime.dcw.rollbackBaselineMs": "Baseline window (ms)",
14929
+ "runtime.dcw.rollbackStaleMs": "Open record staleness (ms)",
14930
+ "runtime.workshop.idleSweepMs": "Idle sweep (ms)",
14931
+ "runtime.workshop.idleGraceMs": "Idle grace (ms)",
14932
+ "runtime.backup.disabled": "Disable auto backup",
14933
+ "runtime.backup.intervalHours": "Backup interval (h)",
14934
+ "runtime.backup.keep": "Backups to keep",
14935
+ "runtime.retention.disabled": "Disable retention sweep",
14936
+ "runtime.retention.eventsDays": "Events retention (days)",
14937
+ "runtime.retention.messagesDays": "Messages retention (days)",
14938
+ "runtime.retention.auditDays": "Audit retention (days)",
14939
+ "runtime.retention.approvalDays": "Approval history retention (days)",
14940
+ "runtime.log.level": "Log level",
14941
+ "runtime.daq.mqttQos": "MQTT QoS",
14942
+ "runtime.daq.mqttUsername": "MQTT username",
14943
+ "runtime.daq.mqttPassword": "MQTT password",
14944
+ "runtime.daq.mqttCaFile": "MQTT CA certificate",
14945
+ "runtime.daq.mqttRejectUnauthorized": "MQTT verify certificate",
14946
+ "runtime.daq.tsRetentionH": "Scalar TS retention (h)",
14947
+ "runtime.daq.frameRetentionH": "Frame retention (h)",
14948
+ "runtime.daq.alarmWebhookUrl": "Alarm webhook",
14949
+ "runtime.daq.alarmEscalateMinutes": "Alarm escalate (min)",
14950
+ "runtime.security.hitlTimeoutMs": "HITL approval timeout (ms)",
14951
+ "title": "System Settings",
14952
+ "subtitle": "Configure app basics, theme appearance and notifications",
14953
+ "basic": "General",
14954
+ "basicDesc": "Application name, description and other basics",
14955
+ "theme": "Appearance",
14956
+ "themeDesc": "Customize primary color and display mode",
14957
+ "notification": "Notifications",
14958
+ "notificationDesc": "Manage how system messages are delivered",
14959
+ "appName": "App Name",
14960
+ "appDesc": "Description",
14961
+ "primaryColor": "Primary Color",
14962
+ "themeMode": "Display Mode",
14963
+ "appearanceDesc": "Accent color, dark mode and language, applied live and persisted automatically (localStorage).",
14964
+ "accentDesc": "Warm-editorial defaults to the ink pill; pick a muted preset to preview instantly.",
14965
+ "accentInk": "Ink",
14966
+ "accentStone": "Amber",
14967
+ "accentMoss": "Moss",
14968
+ "accentSlate": "Slate",
14969
+ "accentPlum": "Plum",
14970
+ "accentClay": "Clay",
14971
+ "accentApplied": "Accent applied",
14972
+ "accentReset": "Reset to default ink (follows config.yml)",
14973
+ "accentResetAction": "Reset to default ink",
14974
+ "darkDesc": "Deep-navy control-room dark ramp; light mode keeps the editorial paper look.",
14975
+ "languageDesc": "Interface language (zh-CN / en); applies immediately.",
14976
+ "systemTab": "System",
14977
+ "systemDesc": "Read-only runtime parameters (sourced from config.yml via nuxt.config runtimeConfig).",
14978
+ "identity": "Signed in as",
14979
+ "identityGuest": "Not signed in (workshop data requires sign-in)",
14980
+ "emailNotify": "Email Notifications",
14981
+ "emailNotifyDesc": "Push important events to administrators via email",
14982
+ "smsNotify": "SMS Notifications",
14983
+ "smsNotifyDesc": "Deliver urgent alerts instantly via SMS",
14984
+ "pushNotify": "In-App Push",
14985
+ "pushNotifyDesc": "Real-time message alerts in the browser",
14986
+ "saveSuccess": "Settings saved",
14987
+ "runtimeTab": "Runtime config",
14988
+ "runtime": {
14842
14989
  title: "Runtime config",
14843
14990
  desc: "Server-backed runtime parameters: live keys apply instantly over SSE (no reload); restart keys take effect on the next launch of the matching mode. Same channel as the `aw config` CLI.",
14844
14991
  live: "live",
@@ -15270,6 +15417,52 @@ var en_default = {
15270
15417
  k3lha20031: "Raw points"
15271
15418
  },
15272
15419
  logs: {
15420
+ "src.user": "用户",
15421
+ "src.system": "System",
15422
+ "kind.write": "Apply",
15423
+ "kind.manual": "人工",
15424
+ "kind.alarm": "Alarm",
15425
+ "kind.line": "Line",
15426
+ "kind.recipe": "Recipe",
15427
+ "kind.rollback": "回退",
15428
+ "kind.daq": "DAQ",
15429
+ "kind.system": "System",
15430
+ "title": "运维日志",
15431
+ "sub": "全操作统一记录:下发了什么控制、用户与 Agent 做了什么操作;按产线/产品/Recipe 隔离查询",
15432
+ "live": "实时",
15433
+ "liveHint": "WS 实时接收操作事件(仅摘要渲染;完整详情查询于下表)",
15434
+ "all": "All",
15435
+ "fLine": "Line",
15436
+ "fProduct": "Product",
15437
+ "fSource": "来源",
15438
+ "fKind": "分类",
15439
+ "fKeyword": "关键词",
15440
+ "fKeywordPh": "搜索摘要/操作/操作者…",
15441
+ "query": "Query",
15442
+ "reset": "Reset",
15443
+ "thTime": "Time",
15444
+ "thActor": "操作者",
15445
+ "thSummary": "事件摘要",
15446
+ "thScope": "归属(产线/产品/Recipe)",
15447
+ "thDetail": "Details",
15448
+ "expand": "Details",
15449
+ "fold": "Collapse",
15450
+ "loading": "Querying…",
15451
+ "empty": "无匹配日志",
15452
+ "src.user": "用户",
15453
+ "src.system": "System",
15454
+ "kind.write": "Apply",
15455
+ "kind.manual": "人工",
15456
+ "kind.alarm": "Alarm",
15457
+ "kind.line": "Line",
15458
+ "kind.recipe": "Recipe",
15459
+ "kind.rollback": "回退",
15460
+ "kind.daq": "DAQ",
15461
+ "kind.system": "System",
15462
+ "mSummary": "记录内容",
15463
+ "mSummaryPh": "如:更换 3 号烘箱加热丝,当前批次延长保温 10 分钟",
15464
+ "mSubmit": "入册",
15465
+ "mOk": "已入册",
15273
15466
  "src.user": "用户",
15274
15467
  "src.system": "System",
15275
15468
  "kind.write": "Apply",
@@ -15403,6 +15596,14 @@ var en_default = {
15403
15596
  k1bphrb3048: "Delete failed"
15404
15597
  },
15405
15598
  dcwDetail: {
15599
+ k9r7d4e016: "Poll read (ms)",
15600
+ k9r7d4e017: "Default 5000ms; 0 = manual read only",
15601
+ k9r7d4e018: "PLC reading",
15602
+ k9r7d4e019: "No reading yet (poll read off or driver lacks read support)",
15603
+ k9r7d4e020: "Read current PLC value",
15604
+ k9r7d4e021: "Read",
15605
+ k9r7d4e022: "Manual",
15606
+ k9r7d4e023: "Default 5s",
15406
15607
  k1lzfi4g180: "({p0} params)",
15407
15608
  k6vgks7181: "Batch {p0}",
15408
15609
  k1alcbyu182: "Node {p0} write OK: {p1}",
@@ -15983,6 +16184,7 @@ var en_default = {
15983
16184
  k15mwzt7031: "Type a message/notice ({'@'} to target a member, defaults to lead)… ⌘/Ctrl+Enter to send"
15984
16185
  },
15985
16186
  deviceTwinPanel: {
16187
+ k9r7d4e030: "Current PLC reading (actual)",
15986
16188
  kq2jssk008: "Recipe Process Window",
15987
16189
  k1iwj796009: "Node Range",
15988
16190
  kxddket010: "超出{p0} {p1}",