agentworkshop 0.7.6 → 0.7.8

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 (538) 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/{D8DDDzV62.js → C2iWjzEC2.js} +1 -1
  23. package/.output/public/_nuxt/{HWXLx5Hz.js → C8dxXc6K.js} +5 -5
  24. package/.output/public/_nuxt/CGdPdJPP.js +1 -0
  25. package/.output/public/_nuxt/{CN7Zh8GQ.js → CRGlf1Gb.js} +1 -1
  26. package/.output/public/_nuxt/{DSBfvCi5.js → CblLEiCZ.js} +7 -7
  27. package/.output/public/_nuxt/Cd15nPnG2.js +1 -0
  28. package/.output/public/_nuxt/{OwJ1LJkF.js → CsCpu2Zh.js} +1 -1
  29. package/.output/public/_nuxt/CvbHIGQY2.js +1 -0
  30. package/.output/public/_nuxt/Cyk3du4K2.js +1 -0
  31. package/.output/public/_nuxt/{DVQAz9WI.js → D4qXvjuV.js} +2 -2
  32. package/.output/public/_nuxt/{CfIXY-ET.js → DCEyMaN-.js} +1 -1
  33. package/.output/public/_nuxt/{BFYNhG9S.js → DCXIGxzT.js} +1 -1
  34. package/.output/public/_nuxt/{B9aPoQvt.js → DM8DS9MA.js} +1 -1
  35. package/.output/public/_nuxt/{ChnfyQHz.js → DNzaswei.js} +1 -1
  36. package/.output/public/_nuxt/{CrFGZYVB2.js → DYZBdSSg2.js} +1 -1
  37. package/.output/public/_nuxt/{dObsRdSQ.js → DZk24ego.js} +1 -1
  38. package/.output/public/_nuxt/{CyygA0q4.js → Dc46i75T.js} +4 -4
  39. package/.output/public/_nuxt/DeYsUzhr.js +1 -0
  40. package/.output/public/_nuxt/Dk6pq9JB2.js +1 -0
  41. package/.output/public/_nuxt/{ByGNWgAr.js → Do88WZG2.js} +3 -3
  42. package/.output/public/_nuxt/{R_WxTozV2.js → Du-eSpo2.js} +1 -1
  43. package/.output/public/_nuxt/OmpTerminalPanel.B_Pl5Ynm.css +1 -0
  44. package/.output/public/_nuxt/R_Wv_Nd9.js +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/e5bb1803-86d9-43b3-85be-dc787dc9a978.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/{entry.DvlXlPwx.css → entry.5qf6EqfN.css} +1 -1
  55. package/.output/public/_nuxt/{B4GHHF6d2.js → fQUs58kX2.js} +1 -1
  56. package/.output/public/_nuxt/p7wSGMtc.js +1 -0
  57. package/.output/public/_nuxt/tRBT-plo.js +1 -0
  58. package/.output/public/_nuxt/workshop.3kAcLB_M.css +1 -0
  59. package/.output/server/chunks/_/SearchOutlined.mjs +4 -4
  60. package/.output/server/chunks/_/SearchOutlined.mjs.map +1 -1
  61. package/.output/server/chunks/_/character-asset.repo.mjs +3 -6
  62. package/.output/server/chunks/_/character-asset.repo.mjs.map +1 -1
  63. package/.output/server/chunks/_/host-bindings.mjs +1 -1
  64. package/.output/server/chunks/_/nitro.mjs +12807 -9814
  65. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  66. package/.output/server/chunks/_/scene-layout.repo.mjs +4 -10
  67. package/.output/server/chunks/_/scene-layout.repo.mjs.map +1 -1
  68. package/.output/server/chunks/build/{Col-D7fjGDF6.mjs → Col-biaNnEPf.mjs} +2 -2
  69. package/.output/server/chunks/build/{Col-D7fjGDF6.mjs.map → Col-biaNnEPf.mjs.map} +1 -1
  70. package/.output/server/chunks/build/{OmpTerminalPanel-B_SYhmgb.mjs → OmpTerminalPanel-COphA1br.mjs} +20 -19
  71. package/.output/server/chunks/build/OmpTerminalPanel-COphA1br.mjs.map +1 -0
  72. package/.output/server/chunks/build/{TownView-Bl8Gkcxi.mjs → TownView-B5KifIaT.mjs} +5 -5
  73. package/.output/server/chunks/build/{TownView-Bl8Gkcxi.mjs.map → TownView-B5KifIaT.mjs.map} +1 -1
  74. package/.output/server/chunks/build/{_id_-GnRJPykX.mjs → _id_-C-ewLgfl.mjs} +120 -120
  75. package/.output/server/chunks/build/{_id_-GnRJPykX.mjs.map → _id_-C-ewLgfl.mjs.map} +1 -1
  76. package/.output/server/chunks/build/{_id_-CWLFGZjV.mjs → _id_-Ct4Jhvl1.mjs} +43 -39
  77. package/.output/server/chunks/build/_id_-Ct4Jhvl1.mjs.map +1 -0
  78. package/.output/server/chunks/build/{_wsId_-BhQMjyHG.mjs → _wsId_-CanI_6Su.mjs} +591 -53
  79. package/.output/server/chunks/build/{_wsId_-BhQMjyHG.mjs.map → _wsId_-CanI_6Su.mjs.map} +1 -1
  80. package/.output/server/chunks/build/{agents-D4l1icvn.mjs → agents-DSOptxXA.mjs} +146 -91
  81. package/.output/server/chunks/build/agents-DSOptxXA.mjs.map +1 -0
  82. package/.output/server/chunks/build/{alert-gH-s7yIh.mjs → alert-qJnjyRcP.mjs} +3 -3
  83. package/.output/server/chunks/build/{alert-gH-s7yIh.mjs.map → alert-qJnjyRcP.mjs.map} +1 -1
  84. package/.output/server/chunks/build/{button-BhbX5ACI.mjs → button-DEcZFcqN.mjs} +3 -3
  85. package/.output/server/chunks/build/{button-BhbX5ACI.mjs.map → button-DEcZFcqN.mjs.map} +1 -1
  86. package/.output/server/chunks/build/{card-l4BbX67w.mjs → card-Dipvaykh.mjs} +5 -5
  87. package/.output/server/chunks/build/{card-l4BbX67w.mjs.map → card-Dipvaykh.mjs.map} +1 -1
  88. package/.output/server/chunks/build/{channel-templates-DqjtC-R0.mjs → channel-templates-BK0KuPOd.mjs} +13 -12
  89. package/.output/server/chunks/build/channel-templates-BK0KuPOd.mjs.map +1 -0
  90. package/.output/server/chunks/build/{checkbox-BF11p3dH.mjs → checkbox-dzcpU_Cd.mjs} +4 -4
  91. package/.output/server/chunks/build/{checkbox-BF11p3dH.mjs.map → checkbox-dzcpU_Cd.mjs.map} +1 -1
  92. package/.output/server/chunks/build/{daq-BOgpn9sl.mjs → daq-D9RA_uze.mjs} +103 -103
  93. package/.output/server/chunks/build/{daq-BOgpn9sl.mjs.map → daq-D9RA_uze.mjs.map} +1 -1
  94. package/.output/server/chunks/build/dcw-BTM5YU-B.mjs +2 -2
  95. package/.output/server/chunks/build/{default-CKJWhkot.mjs → default-BfWGTlbj.mjs} +81 -23
  96. package/.output/server/chunks/build/{default-CKJWhkot.mjs.map → default-BfWGTlbj.mjs.map} +1 -1
  97. package/.output/server/chunks/build/{drawer-CVValqoh.mjs → drawer-Cmh90erI.mjs} +3 -3
  98. package/.output/server/chunks/build/{drawer-CVValqoh.mjs.map → drawer-Cmh90erI.mjs.map} +1 -1
  99. package/.output/server/chunks/build/{dropdown-ByCsEWlQ.mjs → dropdown-CGQ0KAzA.mjs} +2 -2
  100. package/.output/server/chunks/build/{dropdown-ByCsEWlQ.mjs.map → dropdown-CGQ0KAzA.mjs.map} +1 -1
  101. package/.output/server/chunks/build/{dropdown-Dex8PXu6.mjs → dropdown-vhn1NPFs.mjs} +4 -4
  102. package/.output/server/chunks/build/{dropdown-Dex8PXu6.mjs.map → dropdown-vhn1NPFs.mjs.map} +1 -1
  103. package/.output/server/chunks/build/{input-number-BBlRoAJ7.mjs → input-number-Bd55elNN.mjs} +5 -5
  104. package/.output/server/chunks/build/{input-number-BBlRoAJ7.mjs.map → input-number-Bd55elNN.mjs.map} +1 -1
  105. package/.output/server/chunks/build/{input--KMeLYqZ.mjs → input-sf_BT6o6.mjs} +3 -3
  106. package/.output/server/chunks/build/{input--KMeLYqZ.mjs.map → input-sf_BT6o6.mjs.map} +1 -1
  107. package/.output/server/chunks/build/logs-Dyk0I2I9.mjs +1 -1
  108. package/.output/server/chunks/build/{menu-xN-SXb9Q.mjs → menu-WCrlpYVh.mjs} +3 -3
  109. package/.output/server/chunks/build/{menu-xN-SXb9Q.mjs.map → menu-WCrlpYVh.mjs.map} +1 -1
  110. package/.output/server/chunks/build/{modal-DrCOcjrl.mjs → modal-yvUquPj5.mjs} +4 -4
  111. package/.output/server/chunks/build/{modal-DrCOcjrl.mjs.map → modal-yvUquPj5.mjs.map} +1 -1
  112. package/.output/server/chunks/build/{monitor-KW8WLOJd.mjs → monitor-MIOvsyLa.mjs} +21 -21
  113. package/.output/server/chunks/build/{monitor-KW8WLOJd.mjs.map → monitor-MIOvsyLa.mjs.map} +1 -1
  114. package/.output/server/chunks/build/pages-DR2bzczM.mjs +1 -1
  115. package/.output/server/chunks/build/{plugins-B-ZNey0Z.mjs → plugins-DnOBIWGg.mjs} +7 -7
  116. package/.output/server/chunks/build/{plugins-B-ZNey0Z.mjs.map → plugins-DnOBIWGg.mjs.map} +1 -1
  117. package/.output/server/chunks/build/{popconfirm-C5H1Qoh3.mjs → popconfirm-CRaHcz5O.mjs} +4 -4
  118. package/.output/server/chunks/build/{popconfirm-C5H1Qoh3.mjs.map → popconfirm-CRaHcz5O.mjs.map} +1 -1
  119. package/.output/server/chunks/build/{useWorkshopApi-Bh5VUHWu.mjs → segmented-DPe9ZzLO.mjs} +7 -78
  120. package/.output/server/chunks/build/segmented-DPe9ZzLO.mjs.map +1 -0
  121. package/.output/server/chunks/build/{select-D7H2ysgT.mjs → select-D-CeE5vY.mjs} +3 -3
  122. package/.output/server/chunks/build/{select-D7H2ysgT.mjs.map → select-D-CeE5vY.mjs.map} +1 -1
  123. package/.output/server/chunks/build/{settings-Cr06lbRy.mjs → settings-DA8IkGLo.mjs} +11 -11
  124. package/.output/server/chunks/build/{settings-Cr06lbRy.mjs.map → settings-DA8IkGLo.mjs.map} +1 -1
  125. package/.output/server/chunks/build/{space-DCwIlnkI.mjs → space-CCBYAkXt.mjs} +2 -2
  126. package/.output/server/chunks/build/{space-DCwIlnkI.mjs.map → space-CCBYAkXt.mjs.map} +1 -1
  127. package/.output/server/chunks/build/{switch-VC0m9ede.mjs → switch-CelRXpcy.mjs} +3 -3
  128. package/.output/server/chunks/build/{switch-VC0m9ede.mjs.map → switch-CelRXpcy.mjs.map} +1 -1
  129. package/.output/server/chunks/build/{table-BksLg3Q_.mjs → table-Cswq-l2r.mjs} +10 -10
  130. package/.output/server/chunks/build/{table-BksLg3Q_.mjs.map → table-Cswq-l2r.mjs.map} +1 -1
  131. package/.output/server/chunks/build/{tabs-CzUfD3iX.mjs → tabs-BM3tAh_J.mjs} +5 -5
  132. package/.output/server/chunks/build/{tabs-CzUfD3iX.mjs.map → tabs-BM3tAh_J.mjs.map} +1 -1
  133. package/.output/server/chunks/build/{tag-oQI3VtqM.mjs → tag-NO9jEqKy.mjs} +4 -4
  134. package/.output/server/chunks/build/{tag-oQI3VtqM.mjs.map → tag-NO9jEqKy.mjs.map} +1 -1
  135. package/.output/server/chunks/build/{teams-QR3BBF7A.mjs → teams-BhSKBBBM.mjs} +15 -14
  136. package/.output/server/chunks/build/teams-BhSKBBBM.mjs.map +1 -0
  137. package/.output/server/chunks/build/{tokens-DFvr_TLj.mjs → tokens-D_eyxmcv.mjs} +16 -16
  138. package/.output/server/chunks/build/{tokens-DFvr_TLj.mjs.map → tokens-D_eyxmcv.mjs.map} +1 -1
  139. package/.output/server/chunks/build/town-BUqRobze.mjs +1 -1
  140. package/.output/server/chunks/build/{town-_4tEEEVW.mjs → town-DPtOPRRO.mjs} +4 -4
  141. package/.output/server/chunks/build/{town-_4tEEEVW.mjs.map → town-DPtOPRRO.mjs.map} +1 -1
  142. package/.output/server/chunks/build/useDaqStream-hwkhJHFU.mjs +1 -1
  143. package/.output/server/chunks/build/useDcwStream-Bdew_yrr.mjs +1 -1
  144. package/.output/server/chunks/build/useLocalTime-9a4B-aHv.mjs +42 -0
  145. package/.output/server/chunks/build/useLocalTime-9a4B-aHv.mjs.map +1 -0
  146. package/.output/server/chunks/build/useWorkshopApi-D2gq06N2.mjs +81 -0
  147. package/.output/server/chunks/build/useWorkshopApi-D2gq06N2.mjs.map +1 -0
  148. package/.output/server/chunks/build/useWorkshopWs-B3j5wIAK.mjs +1 -1
  149. package/.output/server/chunks/build/user-Dk-ytEUV.mjs +1 -1
  150. package/.output/server/chunks/build/{users-4FZ0yFUO.mjs → users-CmVvb1oq.mjs} +16 -16
  151. package/.output/server/chunks/build/{users-4FZ0yFUO.mjs.map → users-CmVvb1oq.mjs.map} +1 -1
  152. package/.output/server/chunks/build/{workshop-k0XZTFKg.mjs → workshop-D5CQj2A8.mjs} +53 -47
  153. package/.output/server/chunks/build/workshop-D5CQj2A8.mjs.map +1 -0
  154. package/.output/server/chunks/build/workspaces-IfORCDJE.mjs +1 -1
  155. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  156. package/.output/server/chunks/routes/api/index.get.mjs +1 -1
  157. package/.output/server/chunks/routes/api/index.post.mjs +1 -1
  158. package/.output/server/chunks/routes/api/mcp/workshop.mjs +1 -1
  159. package/.output/server/chunks/routes/api/metrics.mjs +1 -1
  160. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +1 -1
  161. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +1 -1
  162. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +1 -1
  163. package/.output/server/chunks/routes/api/system/config.get.mjs +1 -1
  164. package/.output/server/chunks/routes/api/system/index.get.mjs +3 -3
  165. package/.output/server/chunks/routes/api/system/index.get.mjs.map +1 -1
  166. package/.output/server/chunks/routes/api/system/index.patch.mjs +1 -1
  167. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +1 -1
  168. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +1 -1
  169. package/.output/server/chunks/routes/api/system/monitor.get.mjs +1 -1
  170. package/.output/server/chunks/routes/api/system/settings/events.get.mjs +1 -1
  171. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +1 -1
  172. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -1
  173. package/.output/server/chunks/routes/api/users/_id_.get.mjs +1 -1
  174. package/.output/server/chunks/routes/api/users/_id_.put.mjs +1 -1
  175. package/.output/server/chunks/routes/api/users/index.get.mjs +1 -1
  176. package/.output/server/chunks/routes/api/users/index.post.mjs +1 -1
  177. package/.output/server/chunks/routes/api/users/login.post.mjs +1 -1
  178. package/.output/server/chunks/routes/api/users/logout.post.mjs +1 -1
  179. package/.output/server/chunks/routes/api/users/me.get.mjs +1 -1
  180. package/.output/server/chunks/routes/api/users/register.post.mjs +1 -1
  181. package/.output/server/chunks/routes/api/users/setup-status.get.mjs +25 -0
  182. package/.output/server/chunks/routes/api/users/setup-status.get.mjs.map +1 -0
  183. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +1 -1
  184. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +1 -1
  185. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -1
  186. package/.output/server/chunks/routes/api/workshop/_...path_.mjs +1 -1
  187. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +1 -1
  188. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +1 -1
  189. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -1
  190. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +1 -1
  191. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -1
  192. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +1 -1
  193. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +1 -1
  194. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +1 -1
  195. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +1 -1
  196. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +6 -14
  197. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs.map +1 -1
  198. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +39 -0
  199. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs.map +1 -0
  200. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +1 -1
  201. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +1 -1
  202. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +1 -1
  203. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -1
  204. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +1 -1
  205. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +1 -1
  206. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +1 -1
  207. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +1 -1
  208. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +2 -2
  209. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +1 -1
  210. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +2 -2
  211. package/.output/server/chunks/routes/api/workshop/audit.get.mjs +1 -1
  212. package/.output/server/chunks/routes/api/workshop/caller.mjs +2 -2
  213. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +3 -3
  214. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +1 -1
  215. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +1 -1
  216. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +1 -1
  217. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -1
  218. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +2 -2
  219. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +1 -1
  220. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -1
  221. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +1 -1
  222. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -1
  223. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +1 -1
  224. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +1 -1
  225. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +1 -1
  226. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +1 -1
  227. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +1 -1
  228. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +1 -1
  229. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -1
  230. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +1 -1
  231. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +2 -2
  232. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +1 -1
  233. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -1
  234. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +1 -1
  235. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +1 -1
  236. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -1
  237. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +1 -1
  238. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +1 -1
  239. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +1 -1
  240. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +2 -2
  241. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +1 -1
  242. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +2 -2
  243. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +9 -2
  244. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs.map +1 -1
  245. package/.output/server/chunks/routes/api/workshop/channels.get.mjs +1 -1
  246. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +3 -3
  247. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +2 -2
  248. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +2 -2
  249. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +2 -2
  250. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +7 -4
  251. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs.map +1 -1
  252. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +2 -2
  253. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +2 -2
  254. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +2 -2
  255. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +2 -2
  256. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +2 -2
  257. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +2 -2
  258. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +2 -2
  259. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +2 -2
  260. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +2 -2
  261. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +2 -2
  262. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +2 -2
  263. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +2 -2
  264. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +2 -2
  265. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +2 -2
  266. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +2 -2
  267. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +2 -2
  268. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +2 -2
  269. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -2
  270. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +2 -2
  271. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +2 -2
  272. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +2 -2
  273. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +2 -2
  274. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +2 -2
  275. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +2 -2
  276. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +2 -2
  277. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +2 -2
  278. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +2 -2
  279. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +2 -2
  280. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +2 -2
  281. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +2 -2
  282. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +2 -2
  283. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +2 -2
  284. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +2 -2
  285. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +2 -2
  286. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +2 -2
  287. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +2 -2
  288. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +2 -2
  289. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +2 -2
  290. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +2 -2
  291. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +2 -2
  292. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +2 -2
  293. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +2 -2
  294. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +2 -2
  295. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +2 -2
  296. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +2 -2
  297. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.patch.mjs +2 -2
  298. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +2 -2
  299. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +2 -2
  300. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +2 -2
  301. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +2 -2
  302. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +2 -2
  303. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +2 -2
  304. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +1 -1
  305. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +1 -1
  306. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +2 -2
  307. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +2 -2
  308. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +1 -1
  309. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +247 -0
  310. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs.map +1 -0
  311. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +27 -0
  312. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs.map +1 -0
  313. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +2 -2
  314. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +20 -8
  315. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs.map +1 -1
  316. package/.output/server/chunks/routes/api/workshop/index.get.mjs +1 -1
  317. package/.output/server/chunks/routes/api/workshop/index.post.mjs +1 -1
  318. package/.output/server/chunks/routes/api/workshop/index10.get.mjs +1 -1
  319. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +1 -1
  320. package/.output/server/chunks/routes/api/workshop/index2.post.mjs +1 -1
  321. package/.output/server/chunks/routes/api/workshop/index3.get.mjs +1 -1
  322. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +2 -2
  323. package/.output/server/chunks/routes/api/workshop/index4.get.mjs +2 -2
  324. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +2 -2
  325. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +2 -2
  326. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +2 -2
  327. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -1
  328. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +2 -2
  329. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +1 -1
  330. package/.output/server/chunks/routes/api/workshop/index7.post.mjs +1 -1
  331. package/.output/server/chunks/routes/api/workshop/index8.get.mjs +1 -1
  332. package/.output/server/chunks/routes/api/workshop/index8.post.mjs +1 -1
  333. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +1 -1
  334. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +1 -1
  335. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +1 -1
  336. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +1 -1
  337. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +2 -2
  338. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +2 -2
  339. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +1 -1
  340. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +1 -1
  341. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +2 -2
  342. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +2 -2
  343. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +1 -1
  344. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -1
  345. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -1
  346. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +1 -1
  347. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -1
  348. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +1 -1
  349. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +1 -1
  350. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +1 -1
  351. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +2 -2
  352. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +1 -1
  353. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -1
  354. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +1 -1
  355. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +1 -1
  356. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +1 -1
  357. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -1
  358. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +1 -1
  359. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +1 -1
  360. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +3 -3
  361. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +1 -1
  362. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +1 -1
  363. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +1 -1
  364. package/.output/server/chunks/routes/renderer.mjs +2 -2
  365. package/.output/server/chunks/virtual/entry.mjs +132 -114
  366. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  367. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  368. package/.output/server/index.mjs +1 -1
  369. package/.output/server/package.json +1 -1
  370. package/README-zh.md +27 -7
  371. package/README.md +455 -435
  372. package/app/components/AppHeader.vue +56 -2
  373. package/app/components/workshop/ChannelSessionList.vue +703 -593
  374. package/app/components/workshop/terminal/OmpTerminalPanel.vue +2 -1
  375. package/app/composables/workshop/useLocalTime.ts +16 -0
  376. package/app/composables/workshop/useSceneLayouts.ts +2 -1
  377. package/app/composables/workshop/useWorkshopApi.ts +249 -224
  378. package/app/pages/daq/[id].vue +7 -6
  379. package/app/pages/daq/index.vue +2 -2
  380. package/app/pages/dcw/[id].vue +3 -3
  381. package/app/pages/workshop/agents.vue +432 -382
  382. package/app/pages/workshop/index.vue +25 -6
  383. package/bin/aw.mjs +0 -0
  384. package/cli/aw.mjs +8 -1
  385. package/cli/commands/stop.mjs +7 -4
  386. package/cli/commands/tui.mjs +10 -1
  387. package/cli/core/registry.mjs +5 -3
  388. package/config.yml +144 -134
  389. package/docs/tui.md +1 -1
  390. package/i18n/dicts/settings.json +4 -0
  391. package/i18n/locales/en.ts +9 -0
  392. package/i18n/locales/zh-CN.ts +9 -0
  393. package/package.json +148 -140
  394. package/scripts/_dbg-catalog-smoke.ts +20 -0
  395. package/scripts/_dbg-codex-handshake.ts +30 -0
  396. package/scripts/_dbg-codex-probe.mjs +58 -0
  397. package/scripts/_dbg-codex-sandbox.ts +58 -0
  398. package/scripts/_dbg-codex-turn.ts +65 -0
  399. package/scripts/_dbg-dsh-probe.mjs +31 -0
  400. package/scripts/_dbg-interval-config.mjs +145 -0
  401. package/scripts/_dbg-interval-scenario.mjs +126 -0
  402. package/scripts/_dbg-line-spawn.ts +31 -0
  403. package/scripts/_dbg-live-engine-probe.mjs +80 -0
  404. package/scripts/_dbg-mcp-bridge-probe.mjs +147 -0
  405. package/scripts/_dbg-opencode-sse.mjs +101 -0
  406. package/scripts/_dbg-opencode-start.ts +57 -0
  407. package/scripts/_dbg-plugin-matrix.mjs +212 -0
  408. package/scripts/_dbg-protocol-matrix.mjs +425 -0
  409. package/scripts/_dbg-real-scenario-timeline.log +123 -0
  410. package/scripts/_dbg-registry-smoke.ts +14 -0
  411. package/scripts/_dbg-setup-e2e.mjs +88 -0
  412. package/scripts/_dbg-sim-keeper.mjs +100 -0
  413. package/scripts/_dbg-team-drill.mjs +173 -0
  414. package/scripts/dev-guard.mjs +11 -3
  415. package/scripts/dev-protocol-simulators.mjs +28 -1
  416. package/scripts/e2e-harness-provider-task.mjs +126 -0
  417. package/scripts/e2e-multi-harness.ts +374 -0
  418. package/scripts/e2e-multiharness-team.mjs +319 -0
  419. package/scripts/e2e-plc-scenario.mjs +292 -0
  420. package/scripts/e2e-real-scenario.mjs +452 -0
  421. package/scripts/migrate-local-time.mjs +123 -0
  422. package/scripts/start.mjs +30 -2
  423. package/server/api/system/settings/index.get.ts +3 -3
  424. package/server/api/users/setup-status.get.ts +8 -0
  425. package/server/api/workshop/agent-tools/invoke.post.ts +27 -41
  426. package/server/api/workshop/agent-tools/list.get.ts +25 -0
  427. package/server/api/workshop/channels/[id]/index.patch.ts +38 -30
  428. package/server/api/workshop/daq/[id]/samples.get.ts +8 -3
  429. package/server/api/workshop/harnesses/[id]/providers.get.ts +16 -0
  430. package/server/api/workshop/harnesses.get.ts +12 -0
  431. package/server/api/workshop/hitl/respond.post.ts +87 -67
  432. package/server/api/workshop/ws.ts +13 -0
  433. package/server/data/daqs.json +1421 -19
  434. package/server/data/dcw-lines.json +273 -0
  435. package/server/data/dcw-products.json +224 -0
  436. package/server/data/dcw-recipes.json +868 -0
  437. package/server/data/dcw-rollback.json +1177 -1
  438. package/server/data/dcw-runs.json +3032 -2834
  439. package/server/data/dcw-writes.json +1116 -0
  440. package/server/data/dcws.json +3447 -297
  441. package/server/data/line-runs.json +52 -2
  442. package/server/harness/aw-mcp-bridge.mjs +153 -0
  443. package/server/plugins/00-local-time.ts +10 -0
  444. package/server/plugins/aw-plugins.ts +3 -0
  445. package/server/plugins/backup.ts +116 -97
  446. package/server/plugins/dev-stability-guard.ts +24 -15
  447. package/server/plugins/retention.ts +1 -0
  448. package/server/plugins/security.ts +46 -29
  449. package/server/plugins/workshop.ts +156 -153
  450. package/server/repositories/user.repository.ts +15 -22
  451. package/server/services/system-config.ts +32 -6
  452. package/server/services/user.service.ts +8 -3
  453. package/server/services/workshop/.mimosa/hook-state/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f.json +1 -0
  454. package/server/services/workshop/.mimosa/hook-status/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f-e6b75bbfe6.json +14 -0
  455. package/server/services/workshop/agents/adapters/line-spawn.ts +111 -0
  456. package/server/services/workshop/agents/adapters/stdio-jsonrpc.ts +316 -0
  457. package/server/services/workshop/agents/agent-interface.ts +17 -0
  458. package/server/services/workshop/agents/codex-agent.ts +822 -0
  459. package/server/services/workshop/agents/dsh-agent.ts +670 -0
  460. package/server/services/workshop/agents/factory.ts +4 -16
  461. package/server/services/workshop/agents/harness-env.ts +54 -0
  462. package/server/services/workshop/agents/harness-models.ts +270 -0
  463. package/server/services/workshop/agents/host-tool-bridge.ts +612 -0
  464. package/server/services/workshop/agents/industrial-tools.ts +7 -1
  465. package/server/services/workshop/agents/node-bindings.repo.ts +4 -5
  466. package/server/services/workshop/agents/omp-agent.ts +1178 -1957
  467. package/server/services/workshop/agents/opencode-agent.ts +987 -0
  468. package/server/services/workshop/agents/prompt-builder.ts +393 -0
  469. package/server/services/workshop/agents/registry.ts +125 -0
  470. package/server/services/workshop/assets/character-asset.repo.ts +3 -5
  471. package/server/services/workshop/assets/device-twin.repo.ts +3 -5
  472. package/server/services/workshop/daq/daq-controller.ts +38 -6
  473. package/server/services/workshop/daq/daq-node.repo.ts +3 -5
  474. package/server/services/workshop/daq/daq-node.ts +3 -3
  475. package/server/services/workshop/daq/daq-runtime.ts +4 -3
  476. package/server/services/workshop/daq/daq-templates.ts +3 -5
  477. package/server/services/workshop/daq/drivers.ts +41 -12
  478. package/server/services/workshop/daq/storage/sqlite.adapter.ts +313 -309
  479. package/server/services/workshop/db/backup-registry.ts +33 -0
  480. package/server/services/workshop/db/channel.repo.ts +104 -101
  481. package/server/services/workshop/db/database.ts +956 -949
  482. package/server/services/workshop/dcw/dcw-controller.ts +5 -1
  483. package/server/services/workshop/dcw/dcw-line.repo.ts +4 -11
  484. package/server/services/workshop/dcw/dcw-node.repo.ts +3 -5
  485. package/server/services/workshop/dcw/dcw-node.ts +13 -1
  486. package/server/services/workshop/dcw/dcw-product.repo.ts +3 -4
  487. package/server/services/workshop/dcw/dcw-recipe.repo.ts +3 -19
  488. package/server/services/workshop/dcw/dcw-templates.ts +3 -5
  489. package/server/services/workshop/dcw/drivers.ts +37 -13
  490. package/server/services/workshop/dcw/line-run.ts +3 -5
  491. package/server/services/workshop/dcw/recipe-rollback.repo.ts +4 -10
  492. package/server/services/workshop/json-store.mjs +72 -0
  493. package/server/services/workshop/plugins/host.mjs +2 -1
  494. package/server/services/workshop/runtime/agent-runtime.ts +44 -0
  495. package/server/services/workshop/runtime/manager.ts +2953 -2868
  496. package/server/services/workshop/scene/scene-layout.repo.ts +4 -11
  497. package/server/services/workshop/settings.ts +30 -0
  498. package/shared/config/schema.json +9 -0
  499. package/shared/config/single-instance.mjs +5 -1
  500. package/shared/local-time.mjs +36 -0
  501. package/shared/workshop-protocol.ts +11 -5
  502. package/tui/aw-tui.mjs +28 -10
  503. package/tui/components/hitl-card.mjs +47 -36
  504. package/tui/lib/ws.mjs +2 -1
  505. package/.output/public/_nuxt/9X0fVBD7.js +0 -57
  506. package/.output/public/_nuxt/B6M2WJWm2.js +0 -1
  507. package/.output/public/_nuxt/B9Yie5HN.js +0 -2
  508. package/.output/public/_nuxt/BF9XPEuw.js +0 -1
  509. package/.output/public/_nuxt/BbQornXa.js +0 -1
  510. package/.output/public/_nuxt/Bxgaym6j.js +0 -1
  511. package/.output/public/_nuxt/Bxh5nf8j.js +0 -1
  512. package/.output/public/_nuxt/CXLI50Sq.js +0 -1
  513. package/.output/public/_nuxt/CdfAP_IH2.js +0 -1
  514. package/.output/public/_nuxt/Ce1zyNYu.js +0 -1
  515. package/.output/public/_nuxt/D-Ne4C9a.js +0 -1
  516. package/.output/public/_nuxt/DEHNjlTq2.js +0 -1
  517. package/.output/public/_nuxt/DFnGFEav.js +0 -18
  518. package/.output/public/_nuxt/DYWgGHNo.js +0 -7
  519. package/.output/public/_nuxt/OmpTerminalPanel.Bc9GjNU5.css +0 -1
  520. package/.output/public/_nuxt/W1E3-5ML.js +0 -14
  521. package/.output/public/_nuxt/XVB9_zwP.js +0 -1
  522. package/.output/public/_nuxt/Xaf_HIR3.js +0 -1
  523. package/.output/public/_nuxt/_id_.BeqSLvl_.css +0 -1
  524. package/.output/public/_nuxt/_id_.DN3U6EF9.css +0 -1
  525. package/.output/public/_nuxt/agents.BJwgTLFZ.css +0 -1
  526. package/.output/public/_nuxt/builds/meta/55c10854-ee0e-4be4-924b-a1b0e100fe11.json +0 -1
  527. package/.output/public/_nuxt/daq.BXsnevQv.css +0 -1
  528. package/.output/public/_nuxt/workshop.B98sHiJq.css +0 -1
  529. package/.output/public/_nuxt/yIKY_V1P.js +0 -1
  530. package/.output/server/chunks/build/OmpTerminalPanel-B_SYhmgb.mjs.map +0 -1
  531. package/.output/server/chunks/build/_id_-CWLFGZjV.mjs.map +0 -1
  532. package/.output/server/chunks/build/agents-D4l1icvn.mjs.map +0 -1
  533. package/.output/server/chunks/build/channel-templates-DqjtC-R0.mjs.map +0 -1
  534. package/.output/server/chunks/build/interval-WlxgjTzO.mjs +0 -9
  535. package/.output/server/chunks/build/interval-WlxgjTzO.mjs.map +0 -1
  536. package/.output/server/chunks/build/teams-QR3BBF7A.mjs.map +0 -1
  537. package/.output/server/chunks/build/useWorkshopApi-Bh5VUHWu.mjs.map +0 -1
  538. package/.output/server/chunks/build/workshop-k0XZTFKg.mjs.map +0 -1
@@ -27,6 +27,19 @@ const authPassword = ref('')
27
27
  const authTokenInput = ref('')
28
28
  const authLoading = ref(false)
29
29
 
30
+ // 首启初始化:系统尚无管理员 → 登录门切换为"注册管理员"模式(首个注册账号自动成为 admin)
31
+ const needsSetup = ref(false)
32
+ onMounted(async () => {
33
+ try {
34
+ const res = await $fetch<{ code: number, data?: { needsSetup: boolean } }>('/api/users/setup-status')
35
+ if (res.code === 0 && res.data?.needsSetup) {
36
+ needsSetup.value = true
37
+ authTab.value = 'register'
38
+ }
39
+ }
40
+ catch { /* 探测失败按常规登录门呈现 */ }
41
+ })
42
+
30
43
  const doRegister = async (): Promise<void> => {
31
44
  if (!authName.value.trim()) {
32
45
  message.warning(t('wsHome.k1vnhyks019'))
@@ -43,7 +56,8 @@ const doRegister = async (): Promise<void> => {
43
56
  authLoading.value = true
44
57
  try {
45
58
  const user = await userStore.register(authName.value, authEmail.value, authPassword.value)
46
- message.success(t('wsHome.k1mbatbh030', { p0: user.name }))
59
+ message.success(needsSetup.value ? `管理员账号创建成功:${user.name} 已进入系统` : t('wsHome.k1mbatbh030', { p0: user.name }))
60
+ needsSetup.value = false
47
61
  authName.value = ''
48
62
  authEmail.value = ''
49
63
  authPassword.value = ''
@@ -64,6 +78,7 @@ const doLogin = async (): Promise<void> => {
64
78
  try {
65
79
  const user = await userStore.login(authEmail.value, authPassword.value)
66
80
  message.success(t('wsHome.kwixbdl031', { p0: user.name }))
81
+ needsSetup.value = false
67
82
  authPassword.value = ''
68
83
  }
69
84
  catch (e) {
@@ -78,6 +93,7 @@ const doLoginWithToken = async (): Promise<void> => {
78
93
  try {
79
94
  const user = await userStore.loginWithToken(authTokenInput.value)
80
95
  message.success(t('wsHome.kwixbdl031', { p0: user.name }))
96
+ needsSetup.value = false
81
97
  authTokenInput.value = ''
82
98
  }
83
99
  catch (e) {
@@ -181,13 +197,15 @@ useHead({ title: () => t('titles.workshop') })
181
197
  <p class="aw-kicker">
182
198
  agentworkshop / sign in
183
199
  </p>
184
- <h2>{{ $t('wsHome.kr0vzqu008') }}</h2>
200
+ <h2>{{ needsSetup ? '创建管理员账号' : $t('wsHome.kr0vzqu008') }}</h2>
185
201
  <p class="sub">
186
- 全局用户系统统管身份;每个用户可管理多个 API Token,
187
- 管理 API 需用户 token(Authorization: Bearer)。
202
+ {{ needsSetup
203
+ ? '系统尚无任何用户:首个注册的账号将成为管理员,创建后自动进入系统。'
204
+ : '全局用户系统统管身份;每个用户可管理多个 API Token,管理 API 需用户 token(Authorization: Bearer)。' }}
188
205
  </p>
189
206
  <a-tabs v-model:active-key="authTab">
190
207
  <a-tab-pane
208
+ v-if="!needsSetup"
191
209
  key="login"
192
210
  tab="账号登录"
193
211
  >
@@ -221,7 +239,7 @@ useHead({ title: () => t('titles.workshop') })
221
239
  </a-tab-pane>
222
240
  <a-tab-pane
223
241
  key="register"
224
- tab="注册新用户"
242
+ :tab="needsSetup ? '注册管理员' : '注册新用户'"
225
243
  >
226
244
  <a-space
227
245
  direction="vertical"
@@ -247,7 +265,7 @@ useHead({ title: () => t('titles.workshop') })
247
265
  :loading="authLoading"
248
266
  @click="doRegister"
249
267
  >
250
- {{ $t('wsHome.k1so6a0v011') }}
268
+ {{ needsSetup ? '创建管理员并进入' : $t('wsHome.k1so6a0v011') }}
251
269
  </a-button>
252
270
  <p class="hint">
253
271
  {{ $t('wsHome.k1r0a4u3012') }}
@@ -255,6 +273,7 @@ useHead({ title: () => t('titles.workshop') })
255
273
  </a-space>
256
274
  </a-tab-pane>
257
275
  <a-tab-pane
276
+ v-if="!needsSetup"
258
277
  key="token"
259
278
  tab="Token 登录"
260
279
  >
package/bin/aw.mjs CHANGED
File without changes
package/cli/aw.mjs CHANGED
@@ -19,6 +19,10 @@ import { parseArgs } from './core/args.mjs'
19
19
  import { renderHelp, renderCommandHelp } from './core/help.mjs'
20
20
  import { logger, color } from './core/logger.mjs'
21
21
  import { CliError, isUsageError } from './core/errors.mjs'
22
+ import { installLocalIso } from '../shared/local-time.mjs'
23
+
24
+ // 全 CLI 时间输出统一本地时区(先于任何命令逻辑)
25
+ installLocalIso()
22
26
 
23
27
  export { CliError }
24
28
 
@@ -116,7 +120,10 @@ export async function main(argv = process.argv.slice(2), { cwd = process.cwd() }
116
120
  return EXIT.OK
117
121
  }
118
122
 
119
- const ctx = await createContext({ cwd, explicitRoot: root ?? undefined, json, debug, registry })
123
+ // explicitRoot 只接受用户显式 --root:把自动探测的 root 冒充 explicitRoot 会在
124
+ // context 内强制 configRoot=<root>/.AgentWorkShop,旁路 resolveRunMode 的
125
+ // "检出内无 .AgentWorkShop → 回退 ~/.AgentWorkShop"规则(aw stop 因此停不掉 home 实例)
126
+ const ctx = await createContext({ cwd, explicitRoot, json, debug, registry })
120
127
 
121
128
  // 无指令 → 帮助(用法错误码)
122
129
  if (!commandName) {
@@ -6,6 +6,7 @@ import { existsSync, readFileSync, rmSync } from 'node:fs'
6
6
  import { join } from 'node:path'
7
7
  import { spawnSync } from 'node:child_process'
8
8
  import { color } from '../core/logger.mjs'
9
+ import { isTruthy } from '../core/args.mjs'
9
10
 
10
11
  export const meta = {
11
12
  name: 'stop',
@@ -53,11 +54,13 @@ export async function run(argv, ctx) {
53
54
  // argv 为 parseArgs 结果({ flags, positionals, unknown });兼容裸数组调用
54
55
  const flags = argv?.flags ?? {}
55
56
  const positionals = Array.isArray(argv?.positionals) ? argv.positionals : (Array.isArray(argv) ? argv : [])
56
- const forceHome = flags.home === true || positionals.includes('--home')
57
+ // --home 接受布尔与字符串赋值两种形态(--home=true 走 parseArgs 是字符串)
58
+ const forceHome = isTruthy(flags.home) || positionals.includes('--home')
57
59
 
58
- const configRoot = forceHome
59
- ? ctx.home
60
- : (ctx.mode === 'repo' ? join(ctx.root, '.AgentWorkShop') : ctx.home)
60
+ // 配置根必须与启动侧(start.mjs / dev-guard)同源:ctx.configRoot 已按
61
+ // resolveRunMode 解析(检出内无 .AgentWorkShop 时回退 home),硬编码
62
+ // <repo>/.AgentWorkShop 会对 home 模式运行实例失明。
63
+ const configRoot = forceHome ? ctx.home : (ctx.configRoot ?? ctx.home)
61
64
  const lockPath = join(configRoot, '.runtime', 'aw.lock')
62
65
 
63
66
  if (!existsSync(lockPath)) {
@@ -14,6 +14,15 @@ export const meta = {
14
14
 
15
15
  export async function run(argv) {
16
16
  const { main } = await import('../../tui/aw-tui.mjs')
17
- await main(argv)
17
+ // 分发器传入 parseArgs 结果({ flags, positionals });aw-tui.main 自带
18
+ // 数组形态的参数解析 —— 这里还原为等价数组,直接传对象会因无 .length 被静默丢弃。
19
+ const flags = argv?.flags ?? {}
20
+ const positionals = Array.isArray(argv?.positionals) ? argv.positionals : (Array.isArray(argv) ? argv : [])
21
+ const legacy = [...positionals]
22
+ for (const [key, value] of Object.entries(flags)) {
23
+ if (value === true) legacy.push(`--${key}`)
24
+ else if (value !== undefined && value !== false) legacy.push(`--${key}`, String(value))
25
+ }
26
+ await main(legacy)
18
27
  return 0
19
28
  }
@@ -99,12 +99,14 @@ export class CommandRegistry {
99
99
  }
100
100
  }
101
101
 
102
- /** 拼接指令扫描目录清单(内建 → 用户级 → 项目级;配合同名后者覆盖,项目级优先级最高) */
102
+ /** 拼接指令扫描目录清单(内建 → 用户级 → 项目级;配合同名后者覆盖,项目级优先级最高)
103
+ * 目录名与 shared/config/home.mjs 的 HOME_DIRNAME 保持一致(.AgentWorkShop):
104
+ * Windows 大小写不敏感无感,Linux/macOS 下小写目录会导致注册的指令永远扫描不到。 */
103
105
  export function commandDirs({ packageRoot, projectRoot, homeDir }) {
104
106
  const dirs = []
105
107
  if (packageRoot) dirs.push(join(packageRoot, 'cli', 'commands'))
106
- if (homeDir) dirs.push(join(homeDir, '.agentworkshop', 'commands'))
107
- if (projectRoot) dirs.push(join(projectRoot, '.agentworkshop', 'commands'))
108
+ if (homeDir) dirs.push(join(homeDir, '.AgentWorkShop', 'commands'))
109
+ if (projectRoot) dirs.push(join(projectRoot, '.AgentWorkShop', 'commands'))
108
110
  return dirs
109
111
  }
110
112
 
package/config.yml CHANGED
@@ -1,134 +1,144 @@
1
- # ============================================================
2
- # AgentWorkShop 运行配置 —— 单一事实来源(Single Source of Truth)
3
- # ------------------------------------------------------------
4
- # 本文件由 nuxt.config.ts(构建/开发期)与 scripts/start.mjs(生产启动期)
5
- # 读取并解析,驱动整个运行时。修改后重启对应模式即可生效:
6
- # 开发:pnpm dev -> 读取 server.dev
7
- # 生产:pnpm start -> 读取 server.prod
8
- # ============================================================
9
-
10
- app:
11
- name: AgentWorkShop
12
- title: AgentWorkShop
13
- version: 0.7.6
14
- description: 基于 Nuxt 4 的配置驱动运行范式
15
-
16
- # 运行模式(dev/prod 实际由启动命令决定,此处仅作运行时展示)
17
- mode: dev
18
-
19
- # ------------------------------------------------------------
20
- # 服务端口:dev 与 prod 可分别自定义
21
- # ------------------------------------------------------------
22
- server:
23
- host: 0.0.0.0
24
- dev:
25
- port: 3000
26
- prod:
27
- port: 3001
28
-
29
- # 后端 API(前端 axios 基址 + 服务端行为均由本段驱动)
30
- api:
31
- baseURL: /api
32
- timeout: 15000
33
- pageSize: 20 # 服务端默认分页大小
34
- maxPageSize: 100 # 服务端分页大小上限
35
-
36
- # 国际化
37
- i18n:
38
- defaultLocale: zh-CN
39
- locales:
40
- - code: zh-CN
41
- name: 简体中文
42
- - code: en
43
- name: English
44
-
45
- # 主题
46
- theme:
47
- # Agent Harness · Digital Twin 控制室色板:品牌绿(交互/确认/DAQ)+ 数据青,见 TownView.vue --hud-*
48
- primaryColor: "#35e0a0"
49
- mode: light # light | dark
50
-
51
- # 安全配置
52
- # 数据采集基础设施(数采 DAQ;地址与 docker-compose.yml 默认一致)
53
- # startInfrastructure: never=启动探测,不通且有 Docker 则自动 docker compose 拉起;
54
- # always=仅 Docker 拉起;never=只直连。连接失败降级并警告,可前端一键重连。
55
- daq:
56
- startInfrastructure: auto
57
- mqtt:
58
- host: 127.0.0.1
59
- port: 1883
60
- timescale:
61
- host: 127.0.0.1
62
- port: 5432
63
- user: postgres
64
- password: awshop
65
- database: awshop
66
- # 对象存储(图像帧;MinIO,S3 兼容)。不可达时自动降级本地磁盘 data/daq-objects/,采集不中断。
67
- objectstore:
68
- host: 127.0.0.1
69
- port: 9000
70
- accessKey: awshop
71
- secretKey: awshop-secret
72
- bucket: daq
73
-
74
- security:
75
- # Session cookie 加密密钥(nuxt-auth-utils 使用)
76
- # 生产环境必须修改为强随机值;可用环境变量 NUXT_SESSION_PASSWORD 覆盖
77
- sessionPassword: awshop-dev-secret-change-me-0123456789
78
- # HITL 审批超时窗 ms(超时默认拒绝;env HITL_TIMEOUT_MS 兼容)
79
- # hitl_timeout_ms: 180000
80
-
81
- # ------------------------------------------------------------
82
- # 以下运行语义组:全部键均可被 env AW_<键>(点转下划线)或历史别名覆盖,
83
- # 优先级 config.yml < data/runtime-settings.json < 环境变量。缺省即用默认。
84
- # ------------------------------------------------------------
85
-
86
- # Agent 记忆系统(env AW_MEMORY_*)
87
- memory:
88
- primer_tokens: 300 # 记忆引子 token 预算(AW_MEMORY_PRIMER_TOKENS)
89
- inject_total: 500 # 单次注入总硬顶(AW_MEMORY_INJECT_TOTAL)
90
- maintenance_ms: 21600000 # 维护调度周期(AW_MEMORY_MAINTENANCE_MS)
91
- expire_days: 180 # 情景记忆保留天数(AW_MEMORY_EXPIRE_DAYS)
92
- expire_session_days: 14 # 会话记忆保留天数(AW_MEMORY_EXPIRE_SESSION_DAYS)
93
- cap: 500 # 条目驱逐上限(AW_MEMORY_CAP)
94
- reflect_trigger: 8 # 空闲反思触发阈值(AW_MEMORY_REFLECT_TRIGGER)
95
- embed_base_url: '' # OpenAI 兼容 /embeddings 基址(AW_MEMORY_EMBED_BASE_URL;空=纯 FTS)
96
- embed_model: '' # 向量模型名(AW_MEMORY_EMBED_MODEL)
97
- embed_api_key: '' # Bearer 密钥(AW_MEMORY_EMBED_API_KEY)
98
-
99
- # omp Agent Harness(env AW_OMP_COMPACT_*)
100
- omp:
101
- compact_enabled: true # 上下文自动压缩总开关(AW_OMP_COMPACT_ENABLED=0 可关)
102
- compact_threshold: 0.7 # 触发压缩的上下文占用比例(AW_OMP_COMPACT_THRESHOLD)
103
- compact_min_interval_ms: 300000 # 两次压缩最小间隔(AW_OMP_COMPACT_MIN_INTERVAL_MS)
104
- compact_wait_ms: 120000 # 等待压缩完成超时(AW_OMP_COMPACT_WAIT_MS)
105
-
106
- # 数控写控制(env DCW_ROLLBACK_*)
107
- dcw:
108
- rollback_cooldown_ms: 300000 # 回退后同向重写冷却(DCW_ROLLBACK_COOLDOWN_MS)
109
- rollback_min_window_ms: 120000 # 判定最小观察窗(DCW_ROLLBACK_MIN_WINDOW_MS)
110
- rollback_baseline_ms: 600000 # 基线回看窗(DCW_ROLLBACK_BASELINE_MS)
111
- rollback_stale_ms: 1800000 # open 记录接管阈值(DCW_ROLLBACK_STALE_MS)
112
-
113
- # 车间运行(env WORKSHOP_IDLE_*)
114
- workshop:
115
- idle_sweep_ms: 30000 # 空闲 agent 扫描周期(WORKSHOP_IDLE_SWEEP_MS)
116
- idle_grace_ms: 120000 # 空闲卸载宽限(WORKSHOP_IDLE_GRACE_MS)
117
-
118
- # 数据备份(env BACKUP_*)
119
- backup:
120
- disabled: false # BACKUP_DISABLED=1 关闭
121
- interval_hours: 24 # 备份间隔(BACKUP_INTERVAL_HOURS)
122
- keep: 7 # 保留份数(BACKUP_KEEP)
123
-
124
- # 数据保留清理(env RETENTION_DISABLED / AW_EVENTS_RETENTION_D 等)
125
- retention:
126
- disabled: false # RETENTION_DISABLED=1 / AW_RETENTION_DISABLED=1 关闭
127
- events_days: 7 # WS 事件流保留天数(AW_EVENTS_RETENTION_D)
128
- messages_days: 30 # Channel 消息(AW_MESSAGES_RETENTION_D)
129
- audit_days: 90 # 审计日志(AW_AUDIT_RETENTION_D)
130
- approval_days: 180 # 审批历史(AW_APPROVAL_RETENTION_D)
131
-
132
- # 服务端日志(env AWSHOP_LOG_LEVEL)
133
- log:
134
- level: info # debug | info | warn | error
1
+ # ============================================================
2
+ # AgentWorkShop 运行配置 —— 单一事实来源(Single Source of Truth)
3
+ # ------------------------------------------------------------
4
+ # 本文件由 nuxt.config.ts(构建/开发期)与 scripts/start.mjs(生产启动期)
5
+ # 读取并解析,驱动整个运行时。修改后重启对应模式即可生效:
6
+ # 开发:pnpm dev -> 读取 server.dev
7
+ # 生产:pnpm start -> 读取 server.prod
8
+ # ============================================================
9
+
10
+ app:
11
+ name: AgentWorkShop
12
+ title: AgentWorkShop
13
+ version: 0.7.8
14
+ description: 基于 Nuxt 4 的配置驱动运行范式
15
+
16
+ # 运行模式(dev/prod 实际由启动命令决定,此处仅作运行时展示)
17
+ mode: dev
18
+
19
+ # ------------------------------------------------------------
20
+ # 服务端口:dev 与 prod 可分别自定义
21
+ # ------------------------------------------------------------
22
+ server:
23
+ host: 0.0.0.0
24
+ dev:
25
+ port: 3000
26
+ prod:
27
+ port: 3001
28
+
29
+ # 后端 API(前端 axios 基址 + 服务端行为均由本段驱动)
30
+ api:
31
+ baseURL: /api
32
+ timeout: 15000
33
+ pageSize: 20 # 服务端默认分页大小
34
+ maxPageSize: 100 # 服务端分页大小上限
35
+
36
+ # 国际化
37
+ i18n:
38
+ defaultLocale: zh-CN
39
+ locales:
40
+ - code: zh-CN
41
+ name: 简体中文
42
+ - code: en
43
+ name: English
44
+
45
+ # 主题
46
+ theme:
47
+ # Agent Harness · Digital Twin 控制室色板:品牌绿(交互/确认/DAQ)+ 数据青,见 TownView.vue --hud-*
48
+ primaryColor: "#35e0a0"
49
+ mode: light # light | dark
50
+
51
+ # 安全配置
52
+ # 数据采集基础设施(数采 DAQ;地址与 docker-compose.yml 默认一致)
53
+ # startInfrastructure: never=启动探测,不通且有 Docker 则自动 docker compose 拉起;
54
+ # always=仅 Docker 拉起;never=只直连。连接失败降级并警告,可前端一键重连。
55
+ daq:
56
+ startInfrastructure: auto
57
+ mqtt:
58
+ host: 127.0.0.1
59
+ port: 1883
60
+ timescale:
61
+ host: 127.0.0.1
62
+ port: 5432
63
+ user: postgres
64
+ password: awshop
65
+ database: awshop
66
+ # 对象存储(图像帧;MinIO,S3 兼容)。不可达时自动降级本地磁盘 data/daq-objects/,采集不中断。
67
+ objectstore:
68
+ host: 127.0.0.1
69
+ port: 9000
70
+ accessKey: awshop
71
+ secretKey: awshop-secret
72
+ bucket: daq
73
+ # 采样节拍(live 可调,热重载):节点未显式指定 intervalMs 时的采集周期与可配置下限。
74
+ # 下限同时钳制 create/patch/存量节点;设置页/`aw config set daq.sampling.*` 均可改。
75
+ sampling:
76
+ defaultIntervalMs: 5000 # 默认 5s
77
+ minIntervalMs: 1000 # 下限 1s(绝对硬底 200ms)
78
+ # 时序查询节拍(live 可调,热重载):查询未指定 bucketMs 时的降采样桶宽与下限。
79
+ # samples / 产线数据查询 / Agent daq_query 三处共用;Agent 工具描述实时携带当前值。
80
+ query:
81
+ defaultBucketMs: 15000 # 缺省 15s
82
+ minBucketMs: 1000 # 下限 1s(绝对硬底 100ms)
83
+
84
+ security:
85
+ # Session cookie 加密密钥(nuxt-auth-utils 使用)
86
+ # 生产环境必须修改为强随机值;可用环境变量 NUXT_SESSION_PASSWORD 覆盖
87
+ sessionPassword: awshop-dev-secret-change-me-0123456789
88
+ # HITL 审批超时窗 ms(超时默认拒绝;env HITL_TIMEOUT_MS 兼容)
89
+ # hitl_timeout_ms: 180000
90
+
91
+ # ------------------------------------------------------------
92
+ # 以下运行语义组:全部键均可被 env AW_<键>(点转下划线)或历史别名覆盖,
93
+ # 优先级 config.yml < data/runtime-settings.json < 环境变量。缺省即用默认。
94
+ # ------------------------------------------------------------
95
+
96
+ # Agent 记忆系统(env AW_MEMORY_*)
97
+ memory:
98
+ primer_tokens: 300 # 记忆引子 token 预算(AW_MEMORY_PRIMER_TOKENS)
99
+ inject_total: 500 # 单次注入总硬顶(AW_MEMORY_INJECT_TOTAL)
100
+ maintenance_ms: 21600000 # 维护调度周期(AW_MEMORY_MAINTENANCE_MS)
101
+ expire_days: 180 # 情景记忆保留天数(AW_MEMORY_EXPIRE_DAYS)
102
+ expire_session_days: 14 # 会话记忆保留天数(AW_MEMORY_EXPIRE_SESSION_DAYS)
103
+ cap: 500 # 条目驱逐上限(AW_MEMORY_CAP)
104
+ reflect_trigger: 8 # 空闲反思触发阈值(AW_MEMORY_REFLECT_TRIGGER)
105
+ embed_base_url: '' # OpenAI 兼容 /embeddings 基址(AW_MEMORY_EMBED_BASE_URL;空=纯 FTS)
106
+ embed_model: '' # 向量模型名(AW_MEMORY_EMBED_MODEL)
107
+ embed_api_key: '' # Bearer 密钥(AW_MEMORY_EMBED_API_KEY)
108
+
109
+ # omp Agent Harness(env AW_OMP_COMPACT_*)
110
+ omp:
111
+ compact_enabled: true # 上下文自动压缩总开关(AW_OMP_COMPACT_ENABLED=0 可关)
112
+ compact_threshold: 0.7 # 触发压缩的上下文占用比例(AW_OMP_COMPACT_THRESHOLD)
113
+ compact_min_interval_ms: 300000 # 两次压缩最小间隔(AW_OMP_COMPACT_MIN_INTERVAL_MS)
114
+ compact_wait_ms: 120000 # 等待压缩完成超时(AW_OMP_COMPACT_WAIT_MS)
115
+
116
+ # 数控写控制(env DCW_ROLLBACK_*)
117
+ dcw:
118
+ rollback_cooldown_ms: 300000 # 回退后同向重写冷却(DCW_ROLLBACK_COOLDOWN_MS)
119
+ rollback_min_window_ms: 120000 # 判定最小观察窗(DCW_ROLLBACK_MIN_WINDOW_MS)
120
+ rollback_baseline_ms: 600000 # 基线回看窗(DCW_ROLLBACK_BASELINE_MS)
121
+ rollback_stale_ms: 1800000 # open 记录接管阈值(DCW_ROLLBACK_STALE_MS)
122
+
123
+ # 车间运行(env WORKSHOP_IDLE_*)
124
+ workshop:
125
+ idle_sweep_ms: 30000 # 空闲 agent 扫描周期(WORKSHOP_IDLE_SWEEP_MS)
126
+ idle_grace_ms: 120000 # 空闲卸载宽限(WORKSHOP_IDLE_GRACE_MS)
127
+
128
+ # 数据备份(env BACKUP_*)
129
+ backup:
130
+ disabled: false # BACKUP_DISABLED=1 关闭
131
+ interval_hours: 24 # 备份间隔(BACKUP_INTERVAL_HOURS)
132
+ keep: 7 # 保留份数(BACKUP_KEEP)
133
+
134
+ # 数据保留清理(env RETENTION_DISABLED / AW_EVENTS_RETENTION_D 等)
135
+ retention:
136
+ disabled: false # RETENTION_DISABLED=1 / AW_RETENTION_DISABLED=1 关闭
137
+ events_days: 7 # WS 事件流保留天数(AW_EVENTS_RETENTION_D)
138
+ messages_days: 30 # Channel 消息(AW_MESSAGES_RETENTION_D)
139
+ audit_days: 90 # 审计日志(AW_AUDIT_RETENTION_D)
140
+ approval_days: 180 # 审批历史(AW_APPROVAL_RETENTION_D)
141
+
142
+ # 服务端日志(env AWSHOP_LOG_LEVEL)
143
+ log:
144
+ level: info # debug | info | warn | error
package/docs/tui.md CHANGED
@@ -37,7 +37,7 @@ WebUI 侧:`app/stores/workshop/hitl.ts` 消费帧 → `AppHeader` 铃标 → 点
37
37
 
38
38
  | 命令 | 覆盖 |
39
39
  |---|---|
40
- | `npx tsx scripts/test-hitl-registry.ts` | registry 登记/落定/订阅/park 暂停与超时(22 断言) |
40
+ | `npx tsx --tsconfig .nuxt/tsconfig.server.json scripts/test-hitl-registry.ts` | registry 登记/落定/订阅/park 暂停与超时(22 断言);根 tsconfig 为 solution-style,tsx 须显式指定含 `@/*` 映射的子配置 |
41
41
  | `node scripts/test-tui-reducers.mjs` | AEP 帧 → 会话状态归约(15 断言) |
42
42
  | `node scripts/test-tui-commands.mjs` | 命令解析/分发(21 断言) |
43
43
  | `node scripts/tui-smoke.mjs` | 无头 e2e:虚拟终端驱动真实 TUI ↔ 真实 dev server(12 断言) |
@@ -40,6 +40,10 @@
40
40
  "runtime.daq.mqttPassword": "MQTT 密码",
41
41
  "runtime.daq.mqttCaFile": "MQTT CA 证书",
42
42
  "runtime.daq.mqttRejectUnauthorized": "MQTT 校验证书",
43
+ "runtime.daq.samplingDefaultIntervalMs": "节点采样默认间隔(ms)",
44
+ "runtime.daq.samplingMinIntervalMs": "节点采样下限(ms)",
45
+ "runtime.daq.queryDefaultBucketMs": "时序查询默认间隔(ms)",
46
+ "runtime.daq.queryMinBucketMs": "时序查询下限(ms)",
43
47
  "runtime.daq.tsRetentionH": "标量时序保留(h)",
44
48
  "runtime.daq.frameRetentionH": "帧元数据保留(h)",
45
49
  "runtime.daq.alarmWebhookUrl": "告警 Webhook",
@@ -161,6 +161,10 @@ export default {
161
161
  'runtime.daq.mqttPassword': 'MQTT password',
162
162
  'runtime.daq.mqttCaFile': 'MQTT CA certificate',
163
163
  'runtime.daq.mqttRejectUnauthorized': 'MQTT verify certificate',
164
+ 'runtime.daq.samplingDefaultIntervalMs': 'Default sampling interval (ms)',
165
+ 'runtime.daq.samplingMinIntervalMs': 'Sampling floor (ms)',
166
+ 'runtime.daq.queryDefaultBucketMs': 'Default TS query bucket (ms)',
167
+ 'runtime.daq.queryMinBucketMs': 'TS query floor (ms)',
164
168
  'runtime.daq.tsRetentionH': 'Scalar TS retention (h)',
165
169
  'runtime.daq.frameRetentionH': 'Frame retention (h)',
166
170
  'runtime.daq.alarmWebhookUrl': 'Alarm webhook',
@@ -1853,6 +1857,11 @@ export default {
1853
1857
  hitlBadge: 'Needs human input',
1854
1858
  hitlKindOmp: 'omp dialog',
1855
1859
  hitlKindDcw: 'write approval',
1860
+ hitlKindCodex: 'codex approval',
1861
+ hitlKindOpencode: 'opencode permission',
1862
+ hitlKindDsh: 'dsh permission',
1863
+ hitlApprove: 'Approve',
1864
+ hitlReject: 'Reject',
1856
1865
  },
1857
1866
  ompTerminalPanel: {
1858
1867
  k14jk3nu001: ' {p0}· 对话框已撤销({p1}){p2}',
@@ -161,6 +161,10 @@ export default {
161
161
  'runtime.daq.mqttPassword': 'MQTT 密码',
162
162
  'runtime.daq.mqttCaFile': 'MQTT CA 证书',
163
163
  'runtime.daq.mqttRejectUnauthorized': 'MQTT 校验证书',
164
+ 'runtime.daq.samplingDefaultIntervalMs': '节点采样默认间隔(ms)',
165
+ 'runtime.daq.samplingMinIntervalMs': '节点采样下限(ms)',
166
+ 'runtime.daq.queryDefaultBucketMs': '时序查询默认间隔(ms)',
167
+ 'runtime.daq.queryMinBucketMs': '时序查询下限(ms)',
164
168
  'runtime.daq.tsRetentionH': '标量时序保留(h)',
165
169
  'runtime.daq.frameRetentionH': '帧元数据保留(h)',
166
170
  'runtime.daq.alarmWebhookUrl': '告警 Webhook',
@@ -1852,6 +1856,11 @@ export default {
1852
1856
  hitlBadge: '待人工处理',
1853
1857
  hitlKindOmp: 'omp 对话框',
1854
1858
  hitlKindDcw: '下发审批',
1859
+ hitlKindCodex: 'codex 审批',
1860
+ hitlKindOpencode: 'opencode 权限',
1861
+ hitlKindDsh: 'dsh 权限',
1862
+ hitlApprove: '批准',
1863
+ hitlReject: '拒绝',
1855
1864
  },
1856
1865
  ompTerminalPanel: {
1857
1866
  k14jk3nu001: ' {p0}· 对话框已撤销({p1}){p2}',