agentworkshop 0.7.6 → 0.7.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (517) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +1 -1
  2. package/.output/.AgentWorkShop/prompts/host-tools.json +1 -1
  3. package/.output/nitro.json +1 -1
  4. package/.output/public/_nuxt/{rzGB_ojX.js → 3612gD2V.js} +2 -2
  5. package/.output/public/_nuxt/8eIQAVlb.js +1 -0
  6. package/.output/public/_nuxt/Ah9qOv1m.js +1 -0
  7. package/.output/public/_nuxt/{DdPeifHR.js → B4Fia4FB.js} +1 -1
  8. package/.output/public/_nuxt/B7aqqzkY.js +1 -0
  9. package/.output/public/_nuxt/BJ-fxrSw.js +1 -0
  10. package/.output/public/_nuxt/{DPDqAD1e.js → BSXx2vqR.js} +1 -1
  11. package/.output/public/_nuxt/{CdSgfcYR.js → BVZjSVs2.js} +1 -1
  12. package/.output/public/_nuxt/{DP6bdyIp.js → BVzDoF8t.js} +1 -1
  13. package/.output/public/_nuxt/BYL0Rjqj.js +7 -0
  14. package/.output/public/_nuxt/{CXmkVXS5.js → BjVLsC3M.js} +1 -1
  15. package/.output/public/_nuxt/{7ZABjMRh2.js → BkfchkK62.js} +1 -1
  16. package/.output/public/_nuxt/BnVoQ74r.js +1 -0
  17. package/.output/public/_nuxt/Bnp4vIAf.js +1 -0
  18. package/.output/public/_nuxt/BsMpJf7S.js +70 -0
  19. package/.output/public/_nuxt/{Z8k0uMSI.js → Bt_HDizI.js} +1 -1
  20. package/.output/public/_nuxt/Bu-P92Pe.js +18 -0
  21. package/.output/public/_nuxt/ButLXkjo.js +2 -0
  22. package/.output/public/_nuxt/C-GarxYC.js +1 -0
  23. package/.output/public/_nuxt/{D8DDDzV62.js → C2iWjzEC2.js} +1 -1
  24. package/.output/public/_nuxt/{HWXLx5Hz.js → C8dxXc6K.js} +5 -5
  25. package/.output/public/_nuxt/CGdPdJPP.js +1 -0
  26. package/.output/public/_nuxt/{CyygA0q4.js → CQiKcuoG.js} +4 -4
  27. package/.output/public/_nuxt/{CN7Zh8GQ.js → CRGlf1Gb.js} +1 -1
  28. package/.output/public/_nuxt/{DSBfvCi5.js → CblLEiCZ.js} +7 -7
  29. package/.output/public/_nuxt/Cd15nPnG2.js +1 -0
  30. package/.output/public/_nuxt/{OwJ1LJkF.js → CsCpu2Zh.js} +1 -1
  31. package/.output/public/_nuxt/CvbHIGQY2.js +1 -0
  32. package/.output/public/_nuxt/Cyk3du4K2.js +1 -0
  33. package/.output/public/_nuxt/{DVQAz9WI.js → D4qXvjuV.js} +2 -2
  34. package/.output/public/_nuxt/{CfIXY-ET.js → DCEyMaN-.js} +1 -1
  35. package/.output/public/_nuxt/{BFYNhG9S.js → DCXIGxzT.js} +1 -1
  36. package/.output/public/_nuxt/{B9aPoQvt.js → DM8DS9MA.js} +1 -1
  37. package/.output/public/_nuxt/{ChnfyQHz.js → DNzaswei.js} +1 -1
  38. package/.output/public/_nuxt/{CrFGZYVB2.js → DYZBdSSg2.js} +1 -1
  39. package/.output/public/_nuxt/{dObsRdSQ.js → DZk24ego.js} +1 -1
  40. package/.output/public/_nuxt/DeYsUzhr.js +1 -0
  41. package/.output/public/_nuxt/Dk6pq9JB2.js +1 -0
  42. package/.output/public/_nuxt/{ByGNWgAr.js → Do88WZG2.js} +3 -3
  43. package/.output/public/_nuxt/{R_WxTozV2.js → Du-eSpo2.js} +1 -1
  44. package/.output/public/_nuxt/OmpTerminalPanel.B_Pl5Ynm.css +1 -0
  45. package/.output/public/_nuxt/{Bsc69G4x.js → VnIWJ0ts.js} +3 -3
  46. package/.output/public/_nuxt/_id_.BzKMZnLe.css +1 -0
  47. package/.output/public/_nuxt/_id_.CbpDAWRh.css +1 -0
  48. package/.output/public/_nuxt/{_wsId_.DET_GinP.css → _wsId_.COUzMXpP.css} +1 -1
  49. package/.output/public/_nuxt/agents.BlejnOOC.css +1 -0
  50. package/.output/public/_nuxt/builds/latest.json +1 -1
  51. package/.output/public/_nuxt/builds/meta/14df171d-89cb-43ec-ad6f-9df72d6da7f5.json +1 -0
  52. package/.output/public/_nuxt/daq.zZ8GR433.css +1 -0
  53. package/.output/public/_nuxt/{default.D17kXlD6.css → default.V3_hUJq1.css} +1 -1
  54. package/.output/public/_nuxt/{B4GHHF6d2.js → fQUs58kX2.js} +1 -1
  55. package/.output/public/_nuxt/p7wSGMtc.js +1 -0
  56. package/.output/public/_nuxt/tRBT-plo.js +1 -0
  57. package/.output/server/chunks/_/SearchOutlined.mjs +4 -4
  58. package/.output/server/chunks/_/SearchOutlined.mjs.map +1 -1
  59. package/.output/server/chunks/_/character-asset.repo.mjs +3 -6
  60. package/.output/server/chunks/_/character-asset.repo.mjs.map +1 -1
  61. package/.output/server/chunks/_/host-bindings.mjs +1 -1
  62. package/.output/server/chunks/_/nitro.mjs +4967 -2035
  63. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  64. package/.output/server/chunks/_/scene-layout.repo.mjs +4 -10
  65. package/.output/server/chunks/_/scene-layout.repo.mjs.map +1 -1
  66. package/.output/server/chunks/build/{Col-D7fjGDF6.mjs → Col-biaNnEPf.mjs} +2 -2
  67. package/.output/server/chunks/build/{Col-D7fjGDF6.mjs.map → Col-biaNnEPf.mjs.map} +1 -1
  68. package/.output/server/chunks/build/{OmpTerminalPanel-B_SYhmgb.mjs → OmpTerminalPanel-COphA1br.mjs} +20 -19
  69. package/.output/server/chunks/build/OmpTerminalPanel-COphA1br.mjs.map +1 -0
  70. package/.output/server/chunks/build/{TownView-Bl8Gkcxi.mjs → TownView-B5KifIaT.mjs} +4 -4
  71. package/.output/server/chunks/build/{TownView-Bl8Gkcxi.mjs.map → TownView-B5KifIaT.mjs.map} +1 -1
  72. package/.output/server/chunks/build/{_id_-GnRJPykX.mjs → _id_-C-ewLgfl.mjs} +119 -119
  73. package/.output/server/chunks/build/{_id_-GnRJPykX.mjs.map → _id_-C-ewLgfl.mjs.map} +1 -1
  74. package/.output/server/chunks/build/{_id_-CWLFGZjV.mjs → _id_-Ct4Jhvl1.mjs} +42 -38
  75. package/.output/server/chunks/build/_id_-Ct4Jhvl1.mjs.map +1 -0
  76. package/.output/server/chunks/build/{_wsId_-BhQMjyHG.mjs → _wsId_-CanI_6Su.mjs} +591 -53
  77. package/.output/server/chunks/build/{_wsId_-BhQMjyHG.mjs.map → _wsId_-CanI_6Su.mjs.map} +1 -1
  78. package/.output/server/chunks/build/{agents-D4l1icvn.mjs → agents-DSOptxXA.mjs} +146 -91
  79. package/.output/server/chunks/build/agents-DSOptxXA.mjs.map +1 -0
  80. package/.output/server/chunks/build/{alert-gH-s7yIh.mjs → alert-qJnjyRcP.mjs} +3 -3
  81. package/.output/server/chunks/build/{alert-gH-s7yIh.mjs.map → alert-qJnjyRcP.mjs.map} +1 -1
  82. package/.output/server/chunks/build/{button-BhbX5ACI.mjs → button-DEcZFcqN.mjs} +3 -3
  83. package/.output/server/chunks/build/{button-BhbX5ACI.mjs.map → button-DEcZFcqN.mjs.map} +1 -1
  84. package/.output/server/chunks/build/{card-l4BbX67w.mjs → card-Dipvaykh.mjs} +5 -5
  85. package/.output/server/chunks/build/{card-l4BbX67w.mjs.map → card-Dipvaykh.mjs.map} +1 -1
  86. package/.output/server/chunks/build/{channel-templates-DqjtC-R0.mjs → channel-templates-BK0KuPOd.mjs} +13 -12
  87. package/.output/server/chunks/build/channel-templates-BK0KuPOd.mjs.map +1 -0
  88. package/.output/server/chunks/build/{checkbox-BF11p3dH.mjs → checkbox-dzcpU_Cd.mjs} +4 -4
  89. package/.output/server/chunks/build/{checkbox-BF11p3dH.mjs.map → checkbox-dzcpU_Cd.mjs.map} +1 -1
  90. package/.output/server/chunks/build/{daq-BOgpn9sl.mjs → daq-D9RA_uze.mjs} +102 -102
  91. package/.output/server/chunks/build/{daq-BOgpn9sl.mjs.map → daq-D9RA_uze.mjs.map} +1 -1
  92. package/.output/server/chunks/build/dcw-BTM5YU-B.mjs +1 -1
  93. package/.output/server/chunks/build/{default-CKJWhkot.mjs → default-BfWGTlbj.mjs} +81 -23
  94. package/.output/server/chunks/build/{default-CKJWhkot.mjs.map → default-BfWGTlbj.mjs.map} +1 -1
  95. package/.output/server/chunks/build/{drawer-CVValqoh.mjs → drawer-Cmh90erI.mjs} +3 -3
  96. package/.output/server/chunks/build/{drawer-CVValqoh.mjs.map → drawer-Cmh90erI.mjs.map} +1 -1
  97. package/.output/server/chunks/build/{dropdown-ByCsEWlQ.mjs → dropdown-CGQ0KAzA.mjs} +2 -2
  98. package/.output/server/chunks/build/{dropdown-ByCsEWlQ.mjs.map → dropdown-CGQ0KAzA.mjs.map} +1 -1
  99. package/.output/server/chunks/build/{dropdown-Dex8PXu6.mjs → dropdown-vhn1NPFs.mjs} +4 -4
  100. package/.output/server/chunks/build/{dropdown-Dex8PXu6.mjs.map → dropdown-vhn1NPFs.mjs.map} +1 -1
  101. package/.output/server/chunks/build/{input-number-BBlRoAJ7.mjs → input-number-Bd55elNN.mjs} +5 -5
  102. package/.output/server/chunks/build/{input-number-BBlRoAJ7.mjs.map → input-number-Bd55elNN.mjs.map} +1 -1
  103. package/.output/server/chunks/build/{input--KMeLYqZ.mjs → input-sf_BT6o6.mjs} +3 -3
  104. package/.output/server/chunks/build/{input--KMeLYqZ.mjs.map → input-sf_BT6o6.mjs.map} +1 -1
  105. package/.output/server/chunks/build/logs-Dyk0I2I9.mjs +1 -1
  106. package/.output/server/chunks/build/{menu-xN-SXb9Q.mjs → menu-WCrlpYVh.mjs} +3 -3
  107. package/.output/server/chunks/build/{menu-xN-SXb9Q.mjs.map → menu-WCrlpYVh.mjs.map} +1 -1
  108. package/.output/server/chunks/build/{modal-DrCOcjrl.mjs → modal-yvUquPj5.mjs} +4 -4
  109. package/.output/server/chunks/build/{modal-DrCOcjrl.mjs.map → modal-yvUquPj5.mjs.map} +1 -1
  110. package/.output/server/chunks/build/{monitor-KW8WLOJd.mjs → monitor-MIOvsyLa.mjs} +21 -21
  111. package/.output/server/chunks/build/{monitor-KW8WLOJd.mjs.map → monitor-MIOvsyLa.mjs.map} +1 -1
  112. package/.output/server/chunks/build/pages-DR2bzczM.mjs +1 -1
  113. package/.output/server/chunks/build/{plugins-B-ZNey0Z.mjs → plugins-DnOBIWGg.mjs} +7 -7
  114. package/.output/server/chunks/build/{plugins-B-ZNey0Z.mjs.map → plugins-DnOBIWGg.mjs.map} +1 -1
  115. package/.output/server/chunks/build/{popconfirm-C5H1Qoh3.mjs → popconfirm-CRaHcz5O.mjs} +4 -4
  116. package/.output/server/chunks/build/{popconfirm-C5H1Qoh3.mjs.map → popconfirm-CRaHcz5O.mjs.map} +1 -1
  117. package/.output/server/chunks/build/{useWorkshopApi-Bh5VUHWu.mjs → segmented-DPe9ZzLO.mjs} +7 -78
  118. package/.output/server/chunks/build/segmented-DPe9ZzLO.mjs.map +1 -0
  119. package/.output/server/chunks/build/{select-D7H2ysgT.mjs → select-D-CeE5vY.mjs} +3 -3
  120. package/.output/server/chunks/build/{select-D7H2ysgT.mjs.map → select-D-CeE5vY.mjs.map} +1 -1
  121. package/.output/server/chunks/build/{settings-Cr06lbRy.mjs → settings-DA8IkGLo.mjs} +11 -11
  122. package/.output/server/chunks/build/{settings-Cr06lbRy.mjs.map → settings-DA8IkGLo.mjs.map} +1 -1
  123. package/.output/server/chunks/build/{space-DCwIlnkI.mjs → space-CCBYAkXt.mjs} +2 -2
  124. package/.output/server/chunks/build/{space-DCwIlnkI.mjs.map → space-CCBYAkXt.mjs.map} +1 -1
  125. package/.output/server/chunks/build/{switch-VC0m9ede.mjs → switch-CelRXpcy.mjs} +3 -3
  126. package/.output/server/chunks/build/{switch-VC0m9ede.mjs.map → switch-CelRXpcy.mjs.map} +1 -1
  127. package/.output/server/chunks/build/{table-BksLg3Q_.mjs → table-Cswq-l2r.mjs} +10 -10
  128. package/.output/server/chunks/build/{table-BksLg3Q_.mjs.map → table-Cswq-l2r.mjs.map} +1 -1
  129. package/.output/server/chunks/build/{tabs-CzUfD3iX.mjs → tabs-BM3tAh_J.mjs} +5 -5
  130. package/.output/server/chunks/build/{tabs-CzUfD3iX.mjs.map → tabs-BM3tAh_J.mjs.map} +1 -1
  131. package/.output/server/chunks/build/{tag-oQI3VtqM.mjs → tag-NO9jEqKy.mjs} +4 -4
  132. package/.output/server/chunks/build/{tag-oQI3VtqM.mjs.map → tag-NO9jEqKy.mjs.map} +1 -1
  133. package/.output/server/chunks/build/{teams-QR3BBF7A.mjs → teams-BhSKBBBM.mjs} +15 -14
  134. package/.output/server/chunks/build/teams-BhSKBBBM.mjs.map +1 -0
  135. package/.output/server/chunks/build/{tokens-DFvr_TLj.mjs → tokens-D_eyxmcv.mjs} +16 -16
  136. package/.output/server/chunks/build/{tokens-DFvr_TLj.mjs.map → tokens-D_eyxmcv.mjs.map} +1 -1
  137. package/.output/server/chunks/build/town-BUqRobze.mjs +1 -1
  138. package/.output/server/chunks/build/{town-_4tEEEVW.mjs → town-DPtOPRRO.mjs} +4 -4
  139. package/.output/server/chunks/build/{town-_4tEEEVW.mjs.map → town-DPtOPRRO.mjs.map} +1 -1
  140. package/.output/server/chunks/build/useLocalTime-9a4B-aHv.mjs +42 -0
  141. package/.output/server/chunks/build/useLocalTime-9a4B-aHv.mjs.map +1 -0
  142. package/.output/server/chunks/build/useWorkshopApi-D2gq06N2.mjs +81 -0
  143. package/.output/server/chunks/build/useWorkshopApi-D2gq06N2.mjs.map +1 -0
  144. package/.output/server/chunks/build/useWorkshopWs-B3j5wIAK.mjs +1 -1
  145. package/.output/server/chunks/build/user-Dk-ytEUV.mjs +1 -1
  146. package/.output/server/chunks/build/{users-4FZ0yFUO.mjs → users-CmVvb1oq.mjs} +16 -16
  147. package/.output/server/chunks/build/{users-4FZ0yFUO.mjs.map → users-CmVvb1oq.mjs.map} +1 -1
  148. package/.output/server/chunks/build/{workshop-k0XZTFKg.mjs → workshop-iCzNRifn.mjs} +9 -9
  149. package/.output/server/chunks/build/{workshop-k0XZTFKg.mjs.map → workshop-iCzNRifn.mjs.map} +1 -1
  150. package/.output/server/chunks/build/workspaces-IfORCDJE.mjs +1 -1
  151. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  152. package/.output/server/chunks/routes/api/index.get.mjs +1 -1
  153. package/.output/server/chunks/routes/api/index.post.mjs +1 -1
  154. package/.output/server/chunks/routes/api/mcp/workshop.mjs +1 -1
  155. package/.output/server/chunks/routes/api/metrics.mjs +1 -1
  156. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +1 -1
  157. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +1 -1
  158. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +1 -1
  159. package/.output/server/chunks/routes/api/system/config.get.mjs +1 -1
  160. package/.output/server/chunks/routes/api/system/index.get.mjs +3 -3
  161. package/.output/server/chunks/routes/api/system/index.get.mjs.map +1 -1
  162. package/.output/server/chunks/routes/api/system/index.patch.mjs +1 -1
  163. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +1 -1
  164. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +1 -1
  165. package/.output/server/chunks/routes/api/system/monitor.get.mjs +1 -1
  166. package/.output/server/chunks/routes/api/system/settings/events.get.mjs +1 -1
  167. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +1 -1
  168. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -1
  169. package/.output/server/chunks/routes/api/users/_id_.get.mjs +1 -1
  170. package/.output/server/chunks/routes/api/users/_id_.put.mjs +1 -1
  171. package/.output/server/chunks/routes/api/users/index.get.mjs +1 -1
  172. package/.output/server/chunks/routes/api/users/index.post.mjs +1 -1
  173. package/.output/server/chunks/routes/api/users/login.post.mjs +1 -1
  174. package/.output/server/chunks/routes/api/users/logout.post.mjs +1 -1
  175. package/.output/server/chunks/routes/api/users/me.get.mjs +1 -1
  176. package/.output/server/chunks/routes/api/users/register.post.mjs +1 -1
  177. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +1 -1
  178. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +1 -1
  179. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -1
  180. package/.output/server/chunks/routes/api/workshop/_...path_.mjs +1 -1
  181. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +1 -1
  182. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +1 -1
  183. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -1
  184. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +1 -1
  185. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -1
  186. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +1 -1
  187. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +1 -1
  188. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +1 -1
  189. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +1 -1
  190. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +6 -14
  191. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs.map +1 -1
  192. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +39 -0
  193. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs.map +1 -0
  194. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +1 -1
  195. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +1 -1
  196. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +1 -1
  197. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -1
  198. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +1 -1
  199. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +1 -1
  200. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +1 -1
  201. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +1 -1
  202. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +2 -2
  203. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +1 -1
  204. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +2 -2
  205. package/.output/server/chunks/routes/api/workshop/audit.get.mjs +1 -1
  206. package/.output/server/chunks/routes/api/workshop/caller.mjs +1 -1
  207. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +2 -2
  208. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +1 -1
  209. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +1 -1
  210. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +1 -1
  211. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -1
  212. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +2 -2
  213. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +1 -1
  214. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -1
  215. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +1 -1
  216. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -1
  217. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +1 -1
  218. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +1 -1
  219. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +1 -1
  220. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +1 -1
  221. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +1 -1
  222. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +1 -1
  223. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -1
  224. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +1 -1
  225. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +2 -2
  226. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +1 -1
  227. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -1
  228. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +1 -1
  229. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +1 -1
  230. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -1
  231. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +1 -1
  232. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +1 -1
  233. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +1 -1
  234. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +2 -2
  235. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +1 -1
  236. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +2 -2
  237. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +9 -2
  238. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs.map +1 -1
  239. package/.output/server/chunks/routes/api/workshop/channels.get.mjs +1 -1
  240. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +2 -2
  241. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +2 -2
  242. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +2 -2
  243. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +2 -2
  244. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +6 -4
  245. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs.map +1 -1
  246. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +2 -2
  247. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +2 -2
  248. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +2 -2
  249. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +2 -2
  250. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +2 -2
  251. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +2 -2
  252. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +2 -2
  253. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +2 -2
  254. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +2 -2
  255. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +2 -2
  256. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +2 -2
  257. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +2 -2
  258. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +2 -2
  259. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +2 -2
  260. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +2 -2
  261. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +2 -2
  262. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +2 -2
  263. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -2
  264. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +2 -2
  265. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +2 -2
  266. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +2 -2
  267. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +2 -2
  268. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +2 -2
  269. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +2 -2
  270. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +2 -2
  271. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +2 -2
  272. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +2 -2
  273. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +2 -2
  274. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +2 -2
  275. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +2 -2
  276. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +2 -2
  277. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +2 -2
  278. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +2 -2
  279. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +2 -2
  280. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +2 -2
  281. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +2 -2
  282. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +2 -2
  283. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +2 -2
  284. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +2 -2
  285. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +2 -2
  286. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +2 -2
  287. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +2 -2
  288. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +2 -2
  289. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +2 -2
  290. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +2 -2
  291. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.patch.mjs +2 -2
  292. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +2 -2
  293. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +2 -2
  294. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +2 -2
  295. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +2 -2
  296. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +2 -2
  297. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +2 -2
  298. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +1 -1
  299. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +1 -1
  300. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +2 -2
  301. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +2 -2
  302. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +1 -1
  303. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +247 -0
  304. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs.map +1 -0
  305. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +27 -0
  306. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs.map +1 -0
  307. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  308. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +19 -7
  309. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs.map +1 -1
  310. package/.output/server/chunks/routes/api/workshop/index.get.mjs +1 -1
  311. package/.output/server/chunks/routes/api/workshop/index.post.mjs +1 -1
  312. package/.output/server/chunks/routes/api/workshop/index10.get.mjs +1 -1
  313. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +1 -1
  314. package/.output/server/chunks/routes/api/workshop/index2.post.mjs +1 -1
  315. package/.output/server/chunks/routes/api/workshop/index3.get.mjs +1 -1
  316. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +2 -2
  317. package/.output/server/chunks/routes/api/workshop/index4.get.mjs +2 -2
  318. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +2 -2
  319. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +2 -2
  320. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +2 -2
  321. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -1
  322. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +2 -2
  323. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +1 -1
  324. package/.output/server/chunks/routes/api/workshop/index7.post.mjs +1 -1
  325. package/.output/server/chunks/routes/api/workshop/index8.get.mjs +1 -1
  326. package/.output/server/chunks/routes/api/workshop/index8.post.mjs +1 -1
  327. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +1 -1
  328. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +1 -1
  329. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +1 -1
  330. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +1 -1
  331. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  332. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  333. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +1 -1
  334. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +1 -1
  335. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  336. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  337. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +1 -1
  338. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -1
  339. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -1
  340. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +1 -1
  341. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -1
  342. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +1 -1
  343. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +1 -1
  344. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +1 -1
  345. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +2 -2
  346. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +1 -1
  347. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -1
  348. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +1 -1
  349. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +1 -1
  350. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +1 -1
  351. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -1
  352. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +1 -1
  353. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +1 -1
  354. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +2 -2
  355. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +1 -1
  356. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +1 -1
  357. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +1 -1
  358. package/.output/server/chunks/routes/renderer.mjs +1 -1
  359. package/.output/server/chunks/virtual/entry.mjs +123 -113
  360. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  361. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  362. package/.output/server/index.mjs +1 -1
  363. package/.output/server/package.json +1 -1
  364. package/app/components/AppHeader.vue +56 -2
  365. package/app/components/workshop/ChannelSessionList.vue +703 -593
  366. package/app/components/workshop/terminal/OmpTerminalPanel.vue +2 -1
  367. package/app/composables/workshop/useLocalTime.ts +16 -0
  368. package/app/composables/workshop/useSceneLayouts.ts +2 -1
  369. package/app/composables/workshop/useWorkshopApi.ts +249 -224
  370. package/app/pages/daq/[id].vue +7 -6
  371. package/app/pages/daq/index.vue +2 -2
  372. package/app/pages/dcw/[id].vue +3 -3
  373. package/app/pages/workshop/agents.vue +432 -382
  374. package/bin/aw.mjs +0 -0
  375. package/cli/aw.mjs +8 -1
  376. package/cli/commands/stop.mjs +7 -4
  377. package/cli/commands/tui.mjs +10 -1
  378. package/cli/core/registry.mjs +5 -3
  379. package/config.yml +134 -134
  380. package/docs/tui.md +1 -1
  381. package/i18n/locales/en.ts +5 -0
  382. package/i18n/locales/zh-CN.ts +5 -0
  383. package/package.json +148 -140
  384. package/scripts/_dbg-catalog-smoke.ts +20 -0
  385. package/scripts/_dbg-codex-probe.mjs +58 -0
  386. package/scripts/_dbg-dsh-probe.mjs +31 -0
  387. package/scripts/_dbg-interval-scenario.mjs +126 -0
  388. package/scripts/_dbg-line-spawn.ts +31 -0
  389. package/scripts/_dbg-live-engine-probe.mjs +80 -0
  390. package/scripts/_dbg-mcp-bridge-probe.mjs +147 -0
  391. package/scripts/_dbg-opencode-sse.mjs +101 -0
  392. package/scripts/_dbg-opencode-start.ts +57 -0
  393. package/scripts/_dbg-plugin-matrix.mjs +212 -0
  394. package/scripts/_dbg-protocol-matrix.mjs +425 -0
  395. package/scripts/_dbg-real-scenario-timeline.log +123 -0
  396. package/scripts/_dbg-registry-smoke.ts +14 -0
  397. package/scripts/_dbg-sim-keeper.mjs +100 -0
  398. package/scripts/_dbg-team-drill.mjs +173 -0
  399. package/scripts/dev-guard.mjs +11 -3
  400. package/scripts/dev-protocol-simulators.mjs +28 -1
  401. package/scripts/e2e-multi-harness.ts +374 -0
  402. package/scripts/e2e-multiharness-team.mjs +319 -0
  403. package/scripts/e2e-plc-scenario.mjs +292 -0
  404. package/scripts/e2e-real-scenario.mjs +452 -0
  405. package/scripts/migrate-local-time.mjs +123 -0
  406. package/scripts/start.mjs +30 -2
  407. package/server/api/system/settings/index.get.ts +3 -3
  408. package/server/api/workshop/agent-tools/invoke.post.ts +27 -41
  409. package/server/api/workshop/agent-tools/list.get.ts +25 -0
  410. package/server/api/workshop/channels/[id]/index.patch.ts +38 -30
  411. package/server/api/workshop/daq/[id]/samples.get.ts +6 -3
  412. package/server/api/workshop/harnesses/[id]/providers.get.ts +16 -0
  413. package/server/api/workshop/harnesses.get.ts +12 -0
  414. package/server/api/workshop/hitl/respond.post.ts +87 -67
  415. package/server/api/workshop/ws.ts +13 -0
  416. package/server/data/daqs.json +1366 -16
  417. package/server/data/dcw-lines.json +266 -0
  418. package/server/data/dcw-products.json +203 -0
  419. package/server/data/dcw-recipes.json +784 -0
  420. package/server/data/dcw-rollback.json +1144 -1
  421. package/server/data/dcw-runs.json +983 -791
  422. package/server/data/dcw-writes.json +1080 -0
  423. package/server/data/dcws.json +3278 -203
  424. package/server/data/line-runs.json +52 -2
  425. package/server/harness/aw-mcp-bridge.mjs +153 -0
  426. package/server/plugins/00-local-time.ts +10 -0
  427. package/server/plugins/aw-plugins.ts +3 -0
  428. package/server/plugins/backup.ts +116 -97
  429. package/server/plugins/dev-stability-guard.ts +24 -15
  430. package/server/plugins/retention.ts +1 -0
  431. package/server/plugins/security.ts +24 -3
  432. package/server/plugins/workshop.ts +156 -153
  433. package/server/repositories/user.repository.ts +414 -391
  434. package/server/services/system-config.ts +30 -6
  435. package/server/services/workshop/.mimosa/hook-state/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f.json +1 -0
  436. package/server/services/workshop/.mimosa/hook-status/sess_fed429fb-c8b7-4a50-bbd6-45afc580893f-e6b75bbfe6.json +14 -0
  437. package/server/services/workshop/agents/adapters/line-spawn.ts +108 -0
  438. package/server/services/workshop/agents/adapters/stdio-jsonrpc.ts +316 -0
  439. package/server/services/workshop/agents/agent-interface.ts +17 -0
  440. package/server/services/workshop/agents/codex-agent.ts +822 -0
  441. package/server/services/workshop/agents/dsh-agent.ts +670 -0
  442. package/server/services/workshop/agents/factory.ts +4 -16
  443. package/server/services/workshop/agents/harness-env.ts +54 -0
  444. package/server/services/workshop/agents/harness-models.ts +270 -0
  445. package/server/services/workshop/agents/host-tool-bridge.ts +592 -0
  446. package/server/services/workshop/agents/industrial-tools.ts +5 -1
  447. package/server/services/workshop/agents/node-bindings.repo.ts +4 -5
  448. package/server/services/workshop/agents/omp-agent.ts +1178 -1957
  449. package/server/services/workshop/agents/opencode-agent.ts +987 -0
  450. package/server/services/workshop/agents/prompt-builder.ts +393 -0
  451. package/server/services/workshop/agents/registry.ts +125 -0
  452. package/server/services/workshop/assets/character-asset.repo.ts +3 -5
  453. package/server/services/workshop/assets/device-twin.repo.ts +3 -5
  454. package/server/services/workshop/daq/daq-controller.ts +8 -4
  455. package/server/services/workshop/daq/daq-node.repo.ts +3 -5
  456. package/server/services/workshop/daq/daq-node.ts +2 -2
  457. package/server/services/workshop/daq/daq-templates.ts +3 -5
  458. package/server/services/workshop/daq/drivers.ts +41 -12
  459. package/server/services/workshop/daq/storage/sqlite.adapter.ts +313 -309
  460. package/server/services/workshop/db/backup-registry.ts +33 -0
  461. package/server/services/workshop/db/channel.repo.ts +104 -101
  462. package/server/services/workshop/db/database.ts +956 -949
  463. package/server/services/workshop/dcw/dcw-controller.ts +3 -1
  464. package/server/services/workshop/dcw/dcw-line.repo.ts +4 -11
  465. package/server/services/workshop/dcw/dcw-node.repo.ts +3 -5
  466. package/server/services/workshop/dcw/dcw-node.ts +13 -1
  467. package/server/services/workshop/dcw/dcw-product.repo.ts +3 -4
  468. package/server/services/workshop/dcw/dcw-recipe.repo.ts +3 -19
  469. package/server/services/workshop/dcw/dcw-templates.ts +3 -5
  470. package/server/services/workshop/dcw/drivers.ts +37 -13
  471. package/server/services/workshop/dcw/line-run.ts +3 -5
  472. package/server/services/workshop/dcw/recipe-rollback.repo.ts +4 -10
  473. package/server/services/workshop/json-store.mjs +72 -0
  474. package/server/services/workshop/plugins/host.mjs +2 -1
  475. package/server/services/workshop/runtime/agent-runtime.ts +44 -0
  476. package/server/services/workshop/runtime/manager.ts +2953 -2868
  477. package/server/services/workshop/scene/scene-layout.repo.ts +4 -11
  478. package/server/services/workshop/settings.ts +7 -0
  479. package/shared/config/schema.json +5 -0
  480. package/shared/config/single-instance.mjs +5 -1
  481. package/shared/local-time.mjs +36 -0
  482. package/shared/workshop-protocol.ts +11 -5
  483. package/tui/aw-tui.mjs +28 -10
  484. package/tui/components/hitl-card.mjs +47 -36
  485. package/tui/lib/ws.mjs +2 -1
  486. package/.output/public/_nuxt/9X0fVBD7.js +0 -57
  487. package/.output/public/_nuxt/B6M2WJWm2.js +0 -1
  488. package/.output/public/_nuxt/B9Yie5HN.js +0 -2
  489. package/.output/public/_nuxt/BF9XPEuw.js +0 -1
  490. package/.output/public/_nuxt/BbQornXa.js +0 -1
  491. package/.output/public/_nuxt/Bxgaym6j.js +0 -1
  492. package/.output/public/_nuxt/Bxh5nf8j.js +0 -1
  493. package/.output/public/_nuxt/CXLI50Sq.js +0 -1
  494. package/.output/public/_nuxt/CdfAP_IH2.js +0 -1
  495. package/.output/public/_nuxt/Ce1zyNYu.js +0 -1
  496. package/.output/public/_nuxt/D-Ne4C9a.js +0 -1
  497. package/.output/public/_nuxt/DEHNjlTq2.js +0 -1
  498. package/.output/public/_nuxt/DFnGFEav.js +0 -18
  499. package/.output/public/_nuxt/DYWgGHNo.js +0 -7
  500. package/.output/public/_nuxt/OmpTerminalPanel.Bc9GjNU5.css +0 -1
  501. package/.output/public/_nuxt/W1E3-5ML.js +0 -14
  502. package/.output/public/_nuxt/XVB9_zwP.js +0 -1
  503. package/.output/public/_nuxt/Xaf_HIR3.js +0 -1
  504. package/.output/public/_nuxt/_id_.BeqSLvl_.css +0 -1
  505. package/.output/public/_nuxt/_id_.DN3U6EF9.css +0 -1
  506. package/.output/public/_nuxt/agents.BJwgTLFZ.css +0 -1
  507. package/.output/public/_nuxt/builds/meta/55c10854-ee0e-4be4-924b-a1b0e100fe11.json +0 -1
  508. package/.output/public/_nuxt/daq.BXsnevQv.css +0 -1
  509. package/.output/public/_nuxt/yIKY_V1P.js +0 -1
  510. package/.output/server/chunks/build/OmpTerminalPanel-B_SYhmgb.mjs.map +0 -1
  511. package/.output/server/chunks/build/_id_-CWLFGZjV.mjs.map +0 -1
  512. package/.output/server/chunks/build/agents-D4l1icvn.mjs.map +0 -1
  513. package/.output/server/chunks/build/channel-templates-DqjtC-R0.mjs.map +0 -1
  514. package/.output/server/chunks/build/interval-WlxgjTzO.mjs +0 -9
  515. package/.output/server/chunks/build/interval-WlxgjTzO.mjs.map +0 -1
  516. package/.output/server/chunks/build/teams-QR3BBF7A.mjs.map +0 -1
  517. package/.output/server/chunks/build/useWorkshopApi-Bh5VUHWu.mjs.map +0 -1
@@ -9,8 +9,8 @@
9
9
  * 应用级单例,写入 server/data/scene-layouts.json,进程内缓存,启动读盘。
10
10
  */
11
11
 
12
- import fs from 'node:fs'
13
12
  import path from 'node:path'
13
+ import { loadJsonFile, saveJsonFileAtomic } from '../json-store.mjs'
14
14
 
15
15
  export interface SceneLayout {
16
16
  channelId: string
@@ -44,18 +44,11 @@ const DB_PATH = process.cwd().endsWith('server')
44
44
  : path.join(process.cwd(), 'server', 'data', 'scene-layouts.json')
45
45
 
46
46
  function load(): SceneLayout[] {
47
- try {
48
- const raw = fs.readFileSync(DB_PATH, 'utf-8')
49
- const parsed = JSON.parse(raw)
50
- return Array.isArray(parsed) ? parsed : []
51
- }
52
- catch {
53
- return []
54
- }
47
+ const parsed = loadJsonFile(DB_PATH, [])
48
+ return Array.isArray(parsed) ? parsed as SceneLayout[] : []
55
49
  }
56
50
  function save(list: SceneLayout[]): void {
57
- fs.mkdirSync(path.dirname(DB_PATH), { recursive: true })
58
- fs.writeFileSync(DB_PATH, JSON.stringify(list, null, 2), 'utf-8')
51
+ saveJsonFileAtomic(DB_PATH, list)
59
52
  }
60
53
 
61
54
  class SceneLayoutRepo {
@@ -69,6 +69,12 @@ export interface OmpSettings {
69
69
  compact_min_interval_ms: number
70
70
  compact_wait_ms: number
71
71
  }
72
+ export interface HarnessSettings {
73
+ opencode_command: string
74
+ codex_command: string
75
+ dsh_command: string
76
+ hitl_timeout_ms: number
77
+ }
72
78
  export interface DcwSettings {
73
79
  rollback_cooldown_ms: number
74
80
  rollback_min_window_ms: number
@@ -113,6 +119,7 @@ export interface DaqRuntimeSettings {
113
119
 
114
120
  export const memorySettings = (): MemorySettings => section<MemorySettings>('memory')
115
121
  export const ompSettings = (): OmpSettings => section<OmpSettings>('omp')
122
+ export const harnessSettings = (): HarnessSettings => section<HarnessSettings>('harness')
116
123
  export const dcwSettings = (): DcwSettings => section<DcwSettings>('dcw')
117
124
  export const workshopSettings = (): WorkshopSettings => section<WorkshopSettings>('workshop')
118
125
  export const backupSettings = (): BackupSettings => section<BackupSettings>('backup')
@@ -59,6 +59,11 @@
59
59
  { "key": "omp.compact_min_interval_ms", "type": "number", "group": "omp", "label": "压缩最小间隔(ms)", "labelKey": "settings.runtime.omp.compactMinIntervalMs", "description": "两次自动压缩之间的最小间隔", "applies": "restart", "default": 300000, "min": 30000, "max": 3600000 },
60
60
  { "key": "omp.compact_wait_ms", "type": "number", "group": "omp", "label": "压缩等待超时(ms)", "labelKey": "settings.runtime.omp.compactWaitMs", "description": "等待 compaction_end 完成事件的超时", "applies": "restart", "default": 120000, "min": 10000, "max": 600000 },
61
61
 
62
+ { "key": "harness.opencode_command", "type": "string", "group": "harness", "label": "opencode 命令", "labelKey": "settings.runtime.harness.opencodeCommand", "description": "OpenCode 引擎可执行文件(PATH 解析)", "applies": "restart", "default": "opencode" },
63
+ { "key": "harness.codex_command", "type": "string", "group": "harness", "label": "codex 命令", "labelKey": "settings.runtime.harness.codexCommand", "description": "OpenAI Codex CLI 可执行文件(app-server 模式)", "applies": "restart", "default": "codex" },
64
+ { "key": "harness.dsh_command", "type": "string", "group": "harness", "label": "dsh 命令", "labelKey": "settings.runtime.harness.dshCommand", "description": "DeepSeek Harness 可执行文件(ACP 模式)", "applies": "restart", "default": "dsh" },
65
+ { "key": "harness.hitl_timeout_ms", "type": "number", "group": "harness", "label": "引擎审批超时(ms)", "labelKey": "settings.runtime.harness.hitlTimeoutMs", "description": "codex/opencode/dsh 权限审批无人应答的自动拒绝时限(0=无限等待)", "applies": "restart", "default": 300000, "min": 0, "max": 3600000 },
66
+
62
67
  { "key": "dcw.rollback_cooldown_ms", "type": "number", "group": "dcw", "label": "回退冷却(ms)", "labelKey": "settings.runtime.dcw.rollbackCooldownMs", "description": "回退执行后的同向冷却窗", "applies": "restart", "default": 300000, "min": 0, "max": 3600000 },
63
68
  { "key": "dcw.rollback_min_window_ms", "type": "number", "group": "dcw", "label": "回退最小观察窗(ms)", "labelKey": "settings.runtime.dcw.rollbackMinWindowMs", "description": "开记录后允许判定的最小观察窗", "applies": "restart", "default": 120000, "min": 0, "max": 3600000 },
64
69
  { "key": "dcw.rollback_baseline_ms", "type": "number", "group": "dcw", "label": "基线稳定窗(ms)", "labelKey": "settings.runtime.dcw.rollbackBaselineMs", "description": "上一稳定锚的稳定时间要求", "applies": "restart", "default": 600000, "min": 0, "max": 7200000 },
@@ -113,12 +113,16 @@ export function acquireLock(configRoot, { mode = 'prod', port = null } = {}) {
113
113
  return { ok: true, lockPath, release }
114
114
  }
115
115
 
116
- /** 端口占用探测:返回占用进程 PID(未占用返回 null)。TCP try-listen 后立刻释放。 */
116
+ /** 端口占用探测:TCP try-listen 后立刻释放。EADDRINUSE → 端口号;其余 error code →
117
+ * 绑定状态未知(Windows 保留段 EACCES 等),按"未占用"放行但显式告警,不静默。 */
117
118
  export async function checkPort(host, port) {
118
119
  const net = await import('node:net')
119
120
  return new Promise((resolveProbe) => {
120
121
  const srv = net.createServer()
121
122
  srv.once('error', (err) => {
123
+ if (err?.code !== 'EADDRINUSE') {
124
+ console.warn(`[checkPort] 端口 ${port} 探测异常(${err?.code ?? err}),绑定状态未知,按未占用继续`)
125
+ }
122
126
  resolveProbe(err?.code === 'EADDRINUSE' ? port : null)
123
127
  srv.close()
124
128
  })
@@ -0,0 +1,36 @@
1
+ /**
2
+ * 本地时间呈现(单点收口):全项目 ISO 时间输出统一为本地系统时区(如北京时间 +08:00)。
3
+ *
4
+ * 背景:Node `Date.toISOString()` 恒输出 UTC(`Z` 后缀)。本项目所有时间字段
5
+ * (日志 t / DB createdAt / WS 帧 at / Agent 记录)此前均为 UTC 字符串,用户要求
6
+ * 全部以本地系统时间呈现。
7
+ *
8
+ * 机制:installLocalIso() 把 Date.prototype.toISOString 改写为输出
9
+ * `YYYY-MM-DDTHH:mm:ss.sss±HH:MM`(本地偏移)。性质:
10
+ * - 同一绝对时刻(仅表示形式变化),Date.parse/new Date(str) 完全兼容;
11
+ * - 偏移后缀恒定(无 DST 时区如 +08:00),字符串字典序排序与时间序一致;
12
+ * - 覆盖显式调用与 JSON.stringify(Date)(toJSON 默认走 toISOString)。
13
+ * - 时区动态取自系统(getTimezoneOffset),跟随宿主,不硬编码。
14
+ *
15
+ * 幂等:重复安装跳过;原始实现保留在 __origToISOString 供诊断。
16
+ */
17
+ export function installLocalIso() {
18
+ const proto = Date.prototype
19
+ if (proto.__origToISOString) return
20
+ const orig = proto.toISOString
21
+ proto.__origToISOString = orig
22
+ const pad = (n, w) => String(n).padStart(w, '0')
23
+ proto.toISOString = function () {
24
+ const t = this.getTime()
25
+ if (Number.isNaN(t)) throw new RangeError('Invalid time value')
26
+ // getTimezoneOffset:UTC 比本地慢的分钟数(UTC+8 → -480);取负得本地相对 UTC 偏移
27
+ const offMin = -this.getTimezoneOffset()
28
+ const sign = offMin >= 0 ? '+' : '-'
29
+ const abs = Math.abs(offMin)
30
+ // 平移后用 UTC getter 读出本地分量(整分偏移,毫秒不变)
31
+ const shifted = new Date(t + offMin * 60_000)
32
+ return `${pad(shifted.getUTCFullYear(), 4)}-${pad(shifted.getUTCMonth() + 1, 2)}-${pad(shifted.getUTCDate(), 2)}`
33
+ + `T${pad(shifted.getUTCHours(), 2)}:${pad(shifted.getUTCMinutes(), 2)}:${pad(shifted.getUTCSeconds(), 2)}`
34
+ + `.${pad(this.getMilliseconds(), 3)}${sign}${pad(Math.floor(abs / 60), 2)}:${pad(abs % 60, 2)}`
35
+ }
36
+ }
@@ -118,20 +118,26 @@ export interface AepSceneLayout {
118
118
  rotationY: number
119
119
  }
120
120
 
121
- /** hitl.request payload:待人工处理条目(omp ask 对话框与 dcw 工具审批的统一视图) */
121
+ /**
122
+ * hitl.request payload:待人工处理条目的统一视图。
123
+ * kind:omp 对话框(rpc-ui ask)/ dcw 工具审批 / codex 命令与文件审批 /
124
+ * opencode 权限与提问 / dsh 权限请求。
125
+ */
126
+ export type AepHitlKind = 'omp-dialog' | 'dcw-approval' | 'codex-approval' | 'opencode-permission' | 'dsh-permission'
127
+
122
128
  export interface AepHitlItem {
123
- kind: 'omp-dialog' | 'dcw-approval'
124
- /** omp:对话框 id;dcw:审批 id(ap-*) */
129
+ kind: AepHitlKind
130
+ /** omp:对话框 id;dcw:审批 id(ap-*);其余:引擎请求 id(应答路由用) */
125
131
  id: string
126
132
  channelId: string
127
133
  agentId: string
128
134
  agentName: string
129
135
  /** omp 子进程 pid(应答路由 respondTerminalUi 用) */
130
136
  pid?: number
131
- /** omp-dialog 专属:对话框形态 */
137
+ /** 对话框形态(codex requestUserInput/opencode question 为 input/select;权限类为 confirm) */
132
138
  method?: 'select' | 'confirm' | 'input' | 'editor'
133
139
  title: string
134
- /** dcw-approval 专属:人读摘要(节点/物理量/目标值) */
140
+ /** dcw-approval 专属:人读摘要(节点/物理量/目标值);其余:命令/路径/权限详情 */
135
141
  detail?: string
136
142
  /** select 的选项列表 */
137
143
  options?: string[]
package/tui/aw-tui.mjs CHANGED
@@ -9,7 +9,7 @@
9
9
  // 命令系统(/help)+ 监控面板(终端 WS)+ HITL 统一作答(/hitl)。
10
10
  // --headless:VirtualTerminal 驱动(无 TTY;scripts/tui-smoke.mjs 用)。
11
11
  // ============================================================
12
- import { TuiMainScreen, Editor, CombinedAutocompleteProvider, ProcessTerminal } from '@earendil-works/pi-tui'
12
+ import { TuiMainScreen, Editor, CombinedAutocompleteProvider, ProcessTerminal, truncateToWidth } from '@earendil-works/pi-tui'
13
13
  import { theme } from './theme.mjs'
14
14
  import { loadAuth, saveAuth, configRoot } from './lib/config.mjs'
15
15
  import { createApi } from './lib/api.mjs'
@@ -221,10 +221,14 @@ export async function main(argv = process.argv.slice(2)) {
221
221
  }
222
222
  }
223
223
  else {
224
- // dcw-approval:confirm 语义(y=批准/n=拒绝)+ 备注
224
+ // dcw-approval:显式 y/n。此前"非 y 开头一律落定为拒绝"对中文用户是逆向
225
+ // 陷阱(输入"同意/ok/批准"全部变成静默拒绝高危下发),必须重输。
225
226
  const norm = text.trim().toLowerCase()
227
+ if (!['y', 'n', 'yes', 'no'].includes(norm)) {
228
+ push('error', '下发审批请输入 y(批准)或 n(拒绝)')
229
+ return true
230
+ }
226
231
  body.confirmed = norm.startsWith('y')
227
- if (norm.length > 1) body.comment = text
228
232
  }
229
233
  try {
230
234
  await api.hitlRespond(body)
@@ -234,7 +238,11 @@ export async function main(argv = process.argv.slice(2)) {
234
238
  }
235
239
  catch (err) {
236
240
  push('error', `应答失败:${err.message}`)
237
- if (String(err.code) === 'ALREADY_RESOLVED') state.hitlAnswering = null
241
+ if (String(err.code) === 'ALREADY_RESOLVED') {
242
+ // 该待办已在别处(WebUI/另一端)解决:同步清除列表项,避免幽灵待办
243
+ state.hitl = state.hitl.filter(i => !(i.kind === item.kind && i.id === item.id))
244
+ state.hitlAnswering = null
245
+ }
238
246
  }
239
247
  store.notify()
240
248
  return true
@@ -262,21 +270,23 @@ export async function main(argv = process.argv.slice(2)) {
262
270
  }
263
271
  const ctx = { state, store, api, echo, push, actions }
264
272
 
265
- // ── 编辑器提交路由:HITL 作答 → 命令 → 普通文本按目标分流 ──
273
+ // ── 编辑器提交路由:命令 → HITL 作答 → 普通文本按目标分流 ──
266
274
  editor.onSubmit = async (text) => {
267
275
  const trimmed = text.trim()
268
276
  editor.setText('')
269
277
  editor.addToHistory?.(text)
270
278
  if (!trimmed) return
271
- if (state.hitlAnswering) {
272
- await actions.submitHitlAnswer(trimmed)
273
- return
274
- }
279
+ // 斜杠命令优先于作答分支:否则作答卡里输入 /hitl off(卡片提示的放弃方式)
280
+ // 会被当作答案文本提交给 Agent —— 与文档承诺行为相反。
275
281
  if (trimmed.startsWith('/')) {
276
282
  await dispatchCommand(ctx, trimmed)
277
283
  store.notify()
278
284
  return
279
285
  }
286
+ if (state.hitlAnswering) {
287
+ await actions.submitHitlAnswer(trimmed)
288
+ return
289
+ }
280
290
  if (!state.activeChannelId) {
281
291
  push('error', '未选择频道:Tab 或 /channel use 打开选择器')
282
292
  return
@@ -346,8 +356,16 @@ export async function main(argv = process.argv.slice(2)) {
346
356
 
347
357
  store.onChange(() => tui.requestRender())
348
358
 
359
+ // 兜底:未处理的 rejection 只记日志,不让 TUI 进程静默死亡(重连窗口内
360
+ // ws.send 之类的瞬态异常不应终止整个工作台)。
361
+ process.on('unhandledRejection', (err) => {
362
+ push('error', `未处理的异步错误:${err?.message ?? err}`)
363
+ })
364
+
349
365
  // ── 组装视图 ──
350
- tui.addChild({ render: width => [...stack.render(width), '', ...editor.render(width)] })
366
+ // 出口统一按终端宽度夹断:pi-tui 对超宽行直接 stop()+throw(进程崩溃),
367
+ // 组合行(左栏+44 列监控右栏)在窄终端必然溢出,必须在进入渲染前截断。
368
+ tui.addChild({ render: width => [...stack.render(width), '', ...editor.render(width)].map(l => truncateToWidth(l, width)) })
351
369
  editor.setAutocompleteProvider?.(new CombinedAutocompleteProvider(slashCommandCompletions(), process.cwd()))
352
370
  tui.setFocus(editor)
353
371
 
@@ -1,36 +1,47 @@
1
- // ============================================================
2
- // HitlCard —— 作答模式卡片(state.hitlAnswering 非空时渲染于输入框上方)。
3
- // 作答约定:confirm → y/n;select → 选项序号;input/editor → 自由文本;
4
- // /hitl off 放弃作答(等价 Esc)。提交经 POST /api/workshop/hitl/respond。
5
- // ============================================================
6
- import { theme } from '../theme.mjs'
7
- import { wrapTextWithAnsi, truncateToWidth } from '@earendil-works/pi-tui'
8
-
9
- const HINT = {
10
- confirm: '输入 y 批准 / n 拒绝',
11
- select: '输入选项序号(如 1)',
12
- input: '输入回答文本',
13
- editor: '输入回答文本',
14
- }
15
-
16
- export class HitlCard {
17
- constructor(state) {
18
- this.state = state
19
- }
20
-
21
- render(width) {
22
- const item = this.state.hitlAnswering
23
- if (!item) return []
24
- const w = Math.max(width - 4, 20)
25
- const lines = []
26
- lines.push(theme.warn(`⏸ HITL 作答 · ${item.agentName} · ${item.kind === 'omp-dialog' ? 'omp 对话框' : '下发审批'}`))
27
- lines.push(truncateToWidth(theme.bold(String(item.title ?? '')), w))
28
- if (item.detail) lines.push(...wrapTextWithAnsi(theme.faint(item.detail), w))
29
- if (item.message) lines.push(...wrapTextWithAnsi(String(item.message), w))
30
- if (item.method === 'select' && Array.isArray(item.options)) {
31
- item.options.forEach((opt, i) => lines.push(` ${theme.accent(`${i + 1}.`)} ${opt}`))
32
- }
33
- lines.push(theme.faint(`${HINT[item.method] ?? '输入回答'} · /hitl off 放弃`))
34
- return lines.map(l => truncateToWidth(l, Math.max(width, 20)))
35
- }
36
- }
1
+ // ============================================================
2
+ // HitlCard —— 作答模式卡片(state.hitlAnswering 非空时渲染于输入框上方)。
3
+ // 作答约定:confirm → y/n;select → 选项序号;input/editor → 自由文本;
4
+ // /hitl off 放弃作答(等价 Esc)。提交经 POST /api/workshop/hitl/respond。
5
+ // ============================================================
6
+ import { theme } from '../theme.mjs'
7
+ import { wrapTextWithAnsi, truncateToWidth } from '@earendil-works/pi-tui'
8
+
9
+ const HINT = {
10
+ confirm: '输入 y 批准 / n 拒绝',
11
+ select: '输入选项序号(如 1)',
12
+ input: '输入回答文本',
13
+ editor: '输入回答文本',
14
+ }
15
+
16
+ const KIND_LABEL = {
17
+ 'omp-dialog': 'omp 对话框',
18
+ 'dcw-approval': '下发审批',
19
+ 'codex-approval': 'codex 审批',
20
+ 'opencode-permission': 'opencode 权限',
21
+ 'dsh-permission': 'dsh 权限',
22
+ }
23
+
24
+ export class HitlCard {
25
+ constructor(state) {
26
+ this.state = state
27
+ }
28
+
29
+ render(width) {
30
+ const item = this.state.hitlAnswering
31
+ if (!item) return []
32
+ const w = Math.max(width - 4, 20)
33
+ const lines = []
34
+ lines.push(theme.warn(`⏸ HITL 作答 · ${item.agentName} · ${KIND_LABEL[item.kind] ?? '引擎待办'}`))
35
+ lines.push(truncateToWidth(theme.bold(String(item.title ?? '')), w))
36
+ if (item.detail) lines.push(...wrapTextWithAnsi(theme.faint(item.detail), w))
37
+ if (item.message) lines.push(...wrapTextWithAnsi(String(item.message), w))
38
+ if (item.method === 'select' && Array.isArray(item.options)) {
39
+ item.options.forEach((opt, i) => lines.push(` ${theme.accent(`${i + 1}.`)} ${opt}`))
40
+ }
41
+ // 下发审批(dcw-approval)无 method 字段,必须显式告知 y/n 约定,
42
+ // 否则中文确认词会触发"非 y 即拒绝"的静默拒绝。
43
+ const hint = item.kind === 'omp-dialog' ? (HINT[item.method] ?? '输入回答') : '输入 y 批准 / n 拒绝'
44
+ lines.push(theme.faint(`${hint} · /hitl off 放弃`))
45
+ return lines.map(l => truncateToWidth(l, Math.max(width, 20)))
46
+ }
47
+ }
package/tui/lib/ws.mjs CHANGED
@@ -72,7 +72,8 @@ export function connectAep({ baseUrl, token, onEvent, onState }) {
72
72
  },
73
73
  unsubscribe(channelId) {
74
74
  subscribed.delete(channelId)
75
- ws?.send(JSON.stringify({ type: 'unsub', channelId }))
75
+ // CONNECTING 态 send() 会同步抛 InvalidStateError(重连窗口内切频道即触发)
76
+ if (ws?.readyState === WebSocket.OPEN) ws.send(JSON.stringify({ type: 'unsub', channelId }))
76
77
  },
77
78
  /** 游标推进(onEvent 内按信封 seq 调用;重连续传依据) */
78
79
  cursor(channelId, seq) {
@@ -1,57 +0,0 @@
1
- import{C as e,E as t,M as n,O as r,P as i,U as a,V as o,c as s,et as c,f as l,ft as u,mt as d,w as f,x as p,z as m}from"./BSCpFtzG.js";import{T as h,kt as g,nt as _,t as v,w as y}from"./BDUjyaF4.js";function b(e){let{prefixCls:t,animation:n,transitionName:r}=e;return n?{name:`${t}-${n}`}:r?{name:r}:{}}_(`bottomLeft`,`bottomRight`,`topLeft`,`topRight`);var x=e=>e!==void 0&&(e===`topLeft`||e===`topRight`)?`slide-down`:`slide-up`,ee=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return g(e?{name:e,appear:!0,enterFromClass:`${e}-enter ${e}-enter-prepare ${e}-enter-start`,enterActiveClass:`${e}-enter ${e}-enter-prepare`,enterToClass:`${e}-enter ${e}-enter-active`,leaveFromClass:` ${e}-leave`,leaveActiveClass:`${e}-leave ${e}-leave-active`,leaveToClass:`${e}-leave ${e}-leave-active`}:{css:!1},t)},te=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return g(e?{name:e,appear:!0,appearActiveClass:`${e}`,appearToClass:`${e}-appear ${e}-appear-active`,enterFromClass:`${e}-appear ${e}-enter ${e}-appear-prepare ${e}-enter-prepare`,enterActiveClass:`${e}`,enterToClass:`${e}-enter ${e}-appear ${e}-appear-active ${e}-enter-active`,leaveActiveClass:`${e} ${e}-leave`,leaveToClass:`${e}-leave-active`}:{css:!1},t)},ne=(e,t,n)=>n===void 0?`${e}-${t}`:n,S=Symbol(`PortalContextKey`),C=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{inTriggerContext:!0};a(S,{inTriggerContext:t.inTriggerContext,shouldRender:l(()=>{let{sPopupVisible:t,popupRef:n,forceRender:r,autoDestroy:i}=e||{},a=!1;return(t||n||r)&&(a=!0),!t&&i&&(a=!1),a})})},re=()=>{C({},{inTriggerContext:!1});let e=r(S,{shouldRender:l(()=>!1),inTriggerContext:!1});return{shouldRender:l(()=>e.shouldRender.value||e.inTriggerContext===!1)}},ie=e({compatConfig:{MODE:3},name:`Portal`,inheritAttrs:!1,props:{getContainer:v.func.isRequired,didUpdate:Function},setup(e,t){let{slots:r}=t,a=!0,l,{shouldRender:u}=re();function d(){u.value&&(l=e.getContainer())}i(()=>{a=!1,d()}),m(()=>{l||d()});let f=c(u,()=>{u.value&&!l&&(l=e.getContainer()),l&&f()});return o(()=>{n(()=>{var t;u.value&&((t=e.didUpdate)==null||t.call(e,e))})}),()=>u.value?a?r.default?.call(r):l?p(s,{to:l},r):null:null}}),ae=Symbol(`iconContext`),w=function(){return r(ae,{prefixCls:d(`anticon`),rootClassName:d(``),csp:d()})};function T(){return!!(typeof window<`u`&&window.document&&window.document.createElement)}function oe(e,t){return e&&e.contains?e.contains(t):!1}var E=`data-vc-order`,se=`vc-icon-key`,D=new Map;function O(){var e=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}).mark;return e?e.startsWith(`data-`)?e:`data-${e}`:se}function k(e){return e.attachTo?e.attachTo:document.querySelector(`head`)||document.body}function ce(e){return e===`queue`?`prependQueue`:e?`prepend`:`append`}function A(e){return Array.from((D.get(e)||e).children).filter(function(e){return e.tagName===`STYLE`})}function j(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!T())return null;var n=t.csp,r=t.prepend,i=document.createElement(`style`);i.setAttribute(E,ce(r)),n&&n.nonce&&(i.nonce=n.nonce),i.innerHTML=e;var a=k(t),o=a.firstChild;if(r){if(r===`queue`){var s=A(a).filter(function(e){return[`prepend`,`prependQueue`].includes(e.getAttribute(E))});if(s.length)return a.insertBefore(i,s[s.length-1].nextSibling),i}a.insertBefore(i,o)}else a.appendChild(i);return i}function le(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return A(k(t)).find(function(n){return n.getAttribute(O(t))===e})}function ue(e,t){var n=D.get(e);if(!n||!oe(document,n)){var r=j(``,t),i=r.parentNode;D.set(e,i),e.removeChild(r)}}function de(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};ue(k(n),n);var r=le(t,n);if(r)return n.csp&&n.csp.nonce&&r.nonce!==n.csp.nonce&&(r.nonce=n.csp.nonce),r.innerHTML!==e&&(r.innerHTML=e),r;var i=j(e,n);return i.setAttribute(O(n),t),i}function M(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){fe(e,t,n[t])})}return e}function fe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pe(e,t){`${t}`}function N(e){return typeof e==`object`&&typeof e.name==`string`&&typeof e.theme==`string`&&(typeof e.icon==`object`||typeof e.icon==`function`)}function P(e,n,r){return r?t(e.tag,M({key:n},r,e.attrs),(e.children||[]).map(function(t,r){return P(t,`${n}-${e.tag}-${r}`)})):t(e.tag,M({key:n},e.attrs),(e.children||[]).map(function(t,r){return P(t,`${n}-${e.tag}-${r}`)}))}function F(e){return h(e)[0]}function I(e){return e?Array.isArray(e)?e:[e]:[]}var me=`
2
- .anticon {
3
- display: inline-block;
4
- color: inherit;
5
- font-style: normal;
6
- line-height: 0;
7
- text-align: center;
8
- text-transform: none;
9
- vertical-align: -0.125em;
10
- text-rendering: optimizeLegibility;
11
- -webkit-font-smoothing: antialiased;
12
- -moz-osx-font-smoothing: grayscale;
13
- }
14
-
15
- .anticon > * {
16
- line-height: 1;
17
- }
18
-
19
- .anticon svg {
20
- display: inline-block;
21
- }
22
-
23
- .anticon::before {
24
- display: none;
25
- }
26
-
27
- .anticon .anticon-icon {
28
- display: block;
29
- }
30
-
31
- .anticon[tabindex] {
32
- cursor: pointer;
33
- }
34
-
35
- .anticon-spin::before,
36
- .anticon-spin {
37
- display: inline-block;
38
- -webkit-animation: loadingCircle 1s infinite linear;
39
- animation: loadingCircle 1s infinite linear;
40
- }
41
-
42
- @-webkit-keyframes loadingCircle {
43
- 100% {
44
- -webkit-transform: rotate(360deg);
45
- transform: rotate(360deg);
46
- }
47
- }
48
-
49
- @keyframes loadingCircle {
50
- 100% {
51
- -webkit-transform: rotate(360deg);
52
- transform: rotate(360deg);
53
- }
54
- }
55
- `;function L(e){return e&&e.getRootNode&&e.getRootNode()}function he(e){return T()?L(e)instanceof ShadowRoot:!1}function ge(e){return he(e)?L(e):null}var _e=function(){var e=w(),t=e.prefixCls,r=e.csp,i=f(),a=me;t&&(a=a.replace(/anticon/g,t.value)),n(function(){if(T()){var e=i.vnode.el,t=ge(e);de(a,`@ant-design-vue-icons`,{prepend:!0,csp:r.value,attachTo:t})}})},ve=[`icon`,`primaryColor`,`secondaryColor`];function ye(e,t){if(e==null)return{};var n=be(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function be(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function R(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){xe(e,t,n[t])})}return e}function xe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var z=u({primaryColor:`#333`,secondaryColor:`#E6E6E6`,calculated:!1});function Se(e){var t=e.primaryColor,n=e.secondaryColor;z.primaryColor=t,z.secondaryColor=n||F(t),z.calculated=!!n}function Ce(){return R({},z)}var B=function(e,t){var n=R({},e,t.attrs),r=n.icon,i=n.primaryColor,a=n.secondaryColor,o=ye(n,ve),s=z;if(i&&(s={primaryColor:i,secondaryColor:a||F(i)}),pe(N(r),`icon should be icon definiton, but got ${r}`),!N(r))return null;var c=r;return c&&typeof c.icon==`function`&&(c=R({},c,{icon:c.icon(s.primaryColor,s.secondaryColor)})),P(c.icon,`svg-${c.name}`,R({},o,{"data-icon":c.name,width:`1em`,height:`1em`,fill:`currentColor`,"aria-hidden":`true`}))};B.props={icon:Object,primaryColor:String,secondaryColor:String,focusable:String},B.inheritAttrs=!1,B.displayName=`IconBase`,B.getTwoToneColors=Ce,B.setTwoToneColors=Se;function we(e,t){return Oe(e)||De(e,t)||Ee(e,t)||Te()}function Te(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
56
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ee(e,t){if(e){if(typeof e==`string`)return V(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return V(e,t)}}function V(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function De(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r=[],i=!0,a=!1,o,s;try{for(n=n.call(e);!(i=(o=n.next()).done)&&(r.push(o.value),!(t&&r.length===t));i=!0);}catch(e){a=!0,s=e}finally{try{!i&&n.return!=null&&n.return()}finally{if(a)throw s}}return r}}function Oe(e){if(Array.isArray(e))return e}function H(e){var t=we(I(e),2),n=t[0],r=t[1];return B.setTwoToneColors({primaryColor:n,secondaryColor:r})}function ke(){var e=B.getTwoToneColors();return e.calculated?[e.primaryColor,e.secondaryColor]:e.primaryColor}var U=e({name:`InsertStyles`,setup:function(){return _e(),function(){return null}}}),Ae=[`class`,`icon`,`spin`,`rotate`,`tabindex`,`twoToneColor`,`onClick`];function je(e,t){return Fe(e)||Pe(e,t)||Ne(e,t)||Me()}function Me(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
57
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ne(e,t){if(e){if(typeof e==`string`)return W(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`)return Array.from(e);if(n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return W(e,t)}}function W(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Pe(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r=[],i=!0,a=!1,o,s;try{for(n=n.call(e);!(i=(o=n.next()).done)&&(r.push(o.value),!(t&&r.length===t));i=!0);}catch(e){a=!0,s=e}finally{try{!i&&n.return!=null&&n.return()}finally{if(a)throw s}}return r}}function Fe(e){if(Array.isArray(e))return e}function G(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){K(e,t,n[t])})}return e}function K(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ie(e,t){if(e==null)return{};var n=Le(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Le(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}H(y.primary);var q=function(e,t){var n,r=G({},e,t.attrs),i=r.class,a=r.icon,o=r.spin,s=r.rotate,c=r.tabindex,l=r.twoToneColor,u=r.onClick,d=Ie(r,Ae),f=w(),m=f.prefixCls,h=f.rootClassName,g=(n={},K(n,h.value,!!h.value),K(n,m.value,!0),K(n,`${m.value}-${a.name}`,!!a.name),K(n,`${m.value}-spin`,!!o||a.name===`loading`),n),_=c;_===void 0&&u&&(_=-1);var v=s?{msTransform:`rotate(${s}deg)`,transform:`rotate(${s}deg)`}:void 0,y=je(I(l),2),b=y[0],x=y[1];return p(`span`,G({role:`img`,"aria-label":a.name},d,{onClick:u,class:[g,i],tabindex:_}),[p(B,{icon:a,primaryColor:b,secondaryColor:x,style:v},null),p(U,null,null)])};q.props={spin:Boolean,rotate:Number,icon:Object,twoToneColor:[String,Array]},q.displayName=`AntdIcon`,q.inheritAttrs=!1,q.getTwoToneColor=ke,q.setTwoToneColor=H;var Re={icon:{tag:`svg`,attrs:{viewBox:`0 0 1024 1024`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z`}}]},name:`loading`,theme:`outlined`};function J(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){ze(e,t,n[t])})}return e}function ze(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Y=function(e,t){var n=J({},e,t.attrs);return p(q,J({},n,{icon:Re}),null)};Y.displayName=`LoadingOutlined`,Y.inheritAttrs=!1;var Be={icon:{tag:`svg`,attrs:{"fill-rule":`evenodd`,viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z`}}]},name:`close`,theme:`outlined`};function X(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Ve(e,t,n[t])})}return e}function Ve(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Z=function(e,t){var n=X({},e,t.attrs);return p(q,X({},n,{icon:Be}),null)};Z.displayName=`CloseOutlined`,Z.inheritAttrs=!1;var He={icon:{tag:`svg`,attrs:{"fill-rule":`evenodd`,viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z`}}]},name:`close-circle`,theme:`filled`};function Q(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Ue(e,t,n[t])})}return e}function Ue(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var $=function(e,t){var n=Q({},e,t.attrs);return p(q,Q({},n,{icon:He}),null)};$.displayName=`CloseCircleFilled`,$.inheritAttrs=!1;export{ie as a,te as c,b as d,q as i,ne as l,Z as n,C as o,Y as r,x as s,$ as t,ee as u};
@@ -1 +0,0 @@
1
- import{r as e,t}from"./OwJ1LJkF.js";t.Button=e,t.install=function(n){return n.component(t.name,t),n.component(e.name,e),n};var n=t;export{n as t};