agentworkshop 0.7.8 → 0.7.11

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 (627) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/-6OnbLFb.js +1 -0
  3. package/.output/public/_nuxt/{BUxYN2mw.js → -nb2uqVg.js} +1 -1
  4. package/.output/public/_nuxt/6vYobj4F.js +1 -0
  5. package/.output/public/_nuxt/{BSXx2vqR.js → B-xskWta.js} +1 -1
  6. package/.output/public/_nuxt/B3Psw_sL.js +1 -0
  7. package/.output/public/_nuxt/B53Mp7lD.js +1 -0
  8. package/.output/public/_nuxt/B5CYgFAD.js +14 -0
  9. package/.output/public/_nuxt/{uBbDCfTz.js → B5S_UyaC.js} +1 -1
  10. package/.output/public/_nuxt/{DZk24ego.js → B7wL3pDk.js} +1 -1
  11. package/.output/public/_nuxt/B8WV7GzS.js +1 -0
  12. package/.output/public/_nuxt/{BYL0Rjqj.js → BBwMH_hG.js} +3 -3
  13. package/.output/public/_nuxt/BLzCac9K2.js +1 -0
  14. package/.output/public/_nuxt/BNXfwXpE.js +1 -0
  15. package/.output/public/_nuxt/{VnIWJ0ts.js → BN_PdN3J.js} +1 -1
  16. package/.output/public/_nuxt/BZGNTgTQ2.js +1 -0
  17. package/.output/public/_nuxt/BbZAzXjZ2.js +1 -0
  18. package/.output/public/_nuxt/Bc3PiGGr.js +1 -0
  19. package/.output/public/_nuxt/Bckshc9V.js +1 -0
  20. package/.output/public/_nuxt/BcrN7QEl2.js +1 -0
  21. package/.output/public/_nuxt/BgOhoDTI.js +1 -0
  22. package/.output/public/_nuxt/Bmpvki7M.js +1 -0
  23. package/.output/public/_nuxt/{BkfchkK62.js → Bp5luxkg2.js} +1 -1
  24. package/.output/public/_nuxt/BxPPAkGA.js +3 -0
  25. package/.output/public/_nuxt/{C8dxXc6K.js → BxtpDtzC.js} +1 -1
  26. package/.output/public/_nuxt/{pRQri7vQ2.js → BytVi9VX2.js} +1 -1
  27. package/.output/public/_nuxt/{D5KJ7_0V.js → C3tCneTM.js} +1 -1
  28. package/.output/public/_nuxt/{C_gFA2H_2.js → C4OAdbVK2.js} +1 -1
  29. package/.output/public/_nuxt/C6m-kenn.js +1 -0
  30. package/.output/public/_nuxt/{zwdqvGN_.js → CGx-mtWf.js} +1 -1
  31. package/.output/public/_nuxt/{DCXIGxzT.js → CKfhtOt7.js} +2 -2
  32. package/.output/public/_nuxt/{ChEKFMxj.js → CUXCQXjG.js} +1 -1
  33. package/.output/public/_nuxt/CfVAr2nf.js +1 -0
  34. package/.output/public/_nuxt/Cj6139IM.js +1 -0
  35. package/.output/public/_nuxt/{DM8DS9MA.js → Cor9siSf.js} +1 -1
  36. package/.output/public/_nuxt/{BsMpJf7S.js → D-Ca4BGY.js} +6 -6
  37. package/.output/public/_nuxt/{CsCpu2Zh.js → D1z7i2UP.js} +1 -1
  38. package/.output/public/_nuxt/D7jiode2.js +1 -0
  39. package/.output/public/_nuxt/D8CqF0yy.js +1 -0
  40. package/.output/public/_nuxt/{DYZBdSSg2.js → DA4lxCWC2.js} +1 -1
  41. package/.output/public/_nuxt/DEaY_uvR.js +1 -0
  42. package/.output/public/_nuxt/{DCEyMaN-.js → DNxVTfhe.js} +3 -3
  43. package/.output/public/_nuxt/DT-Wg8r1.js +1 -0
  44. package/.output/public/_nuxt/DTYBfjRY.js +1 -0
  45. package/.output/public/_nuxt/{fQUs58kX2.js → DWcEk1ur2.js} +1 -1
  46. package/.output/public/_nuxt/DXRZPxGs.js +1 -0
  47. package/.output/public/_nuxt/Dhqra7NB.js +1 -0
  48. package/.output/public/_nuxt/DlRO_q5L.js +1 -0
  49. package/.output/public/_nuxt/{C2iWjzEC2.js → DoLasgPj2.js} +1 -1
  50. package/.output/public/_nuxt/{DRq09ZmT.js → DpojD719.js} +1 -1
  51. package/.output/public/_nuxt/Ds8JbqGB.js +1 -0
  52. package/.output/public/_nuxt/{BCipft_k2.js → DsUUYP292.js} +1 -1
  53. package/.output/public/_nuxt/DtBu71ev.js +32 -0
  54. package/.output/public/_nuxt/Dy-mxvXY2.js +1 -0
  55. package/.output/public/_nuxt/DyisHHzD.js +18 -0
  56. package/.output/public/_nuxt/G0qIw7Gq2.js +1 -0
  57. package/.output/public/_nuxt/ORt9oDIy2.js +1 -0
  58. package/.output/public/_nuxt/QoCzfpo2.js +1 -0
  59. package/.output/public/_nuxt/RzXYI9FM.js +23 -0
  60. package/.output/public/_nuxt/TownView.BHLKAjEu.css +1 -0
  61. package/.output/public/_nuxt/VLI2Zy4t.js +5 -0
  62. package/.output/public/_nuxt/_id_.DIxEKj88.css +1 -0
  63. package/.output/public/_nuxt/_id_.DTvjd6VN.css +1 -0
  64. package/.output/public/_nuxt/{_wsId_.COUzMXpP.css → _wsId_.BFyCuUwS.css} +1 -1
  65. package/.output/public/_nuxt/agents.CEbox5-D.css +1 -0
  66. package/.output/public/_nuxt/{ZugRk0CM2.js → arUY5dyq2.js} +2 -2
  67. package/.output/public/_nuxt/builds/latest.json +1 -1
  68. package/.output/public/_nuxt/builds/meta/88479a5b-ce6a-400f-9737-1cc9f54b1fe5.json +1 -0
  69. package/.output/public/_nuxt/channel-templates.De5ZvrGz.css +1 -0
  70. package/.output/public/_nuxt/d_Sz9KGm.js +1 -0
  71. package/.output/public/_nuxt/daq.6IrhVVfy.css +1 -0
  72. package/.output/public/_nuxt/dcw.DcDjwvqv.css +1 -0
  73. package/.output/public/_nuxt/default.BbgdTDCk.css +1 -0
  74. package/.output/public/_nuxt/{CblLEiCZ.js → eHYnGew0.js} +3 -3
  75. package/.output/public/_nuxt/eUGyJdiT.js +1 -0
  76. package/.output/public/_nuxt/{entry.5qf6EqfN.css → entry.B03HBJGC.css} +1 -1
  77. package/.output/public/_nuxt/{Cyk3du4K2.js → kZV5TQvh2.js} +1 -1
  78. package/.output/public/_nuxt/kkEthL84.js +2 -0
  79. package/.output/public/_nuxt/logs.BO-BSyjm.css +1 -0
  80. package/.output/public/_nuxt/{D4qXvjuV.js → niDwBOZW.js} +2 -2
  81. package/.output/public/_nuxt/permissions.CwZo6t1V.css +1 -0
  82. package/.output/public/_nuxt/plugins.Clsky_kl.css +1 -0
  83. package/.output/public/_nuxt/rqZ-1SoP.js +2 -0
  84. package/.output/public/_nuxt/settings.BqMF2nfj.css +1 -0
  85. package/.output/public/_nuxt/tJuVvBSl.js +1 -0
  86. package/.output/public/_nuxt/teams.CUMnbQGf.css +1 -0
  87. package/.output/public/_nuxt/tokens.BPLe9ioQ.css +1 -0
  88. package/.output/public/_nuxt/{Bi6AiCuP.js → vJ4FPb-_.js} +1 -1
  89. package/.output/public/_nuxt/workshop.BIdoGfoC.css +1 -0
  90. package/.output/public/_nuxt/{B7aqqzkY.js → zVkqCZ78.js} +1 -1
  91. package/.output/server/chunks/_/LeftOutlined.mjs +1 -1
  92. package/.output/server/chunks/_/SearchOutlined.mjs +1 -1
  93. package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
  94. package/.output/server/chunks/_/host-bindings.mjs +1 -1
  95. package/.output/server/chunks/_/nitro.mjs +1614 -1279
  96. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  97. package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
  98. package/.output/server/chunks/build/Col-biaNnEPf.mjs +1 -1
  99. package/.output/server/chunks/build/{OmpTerminalPanel-COphA1br.mjs → OmpTerminalPanel-Ban3yJZ4.mjs} +4 -5
  100. package/.output/server/chunks/build/OmpTerminalPanel-Ban3yJZ4.mjs.map +1 -0
  101. package/.output/server/chunks/build/{TownView-B5KifIaT.mjs → TownView-CunmEMzS.mjs} +184 -184
  102. package/.output/server/chunks/build/{TownView-B5KifIaT.mjs.map → TownView-CunmEMzS.mjs.map} +1 -1
  103. package/.output/server/chunks/build/{_id_-Ct4Jhvl1.mjs → _id_-CVnMdSeG.mjs} +38 -37
  104. package/.output/server/chunks/build/_id_-CVnMdSeG.mjs.map +1 -0
  105. package/.output/server/chunks/build/{_id_-C-ewLgfl.mjs → _id_-D265Wh_k.mjs} +127 -126
  106. package/.output/server/chunks/build/_id_-D265Wh_k.mjs.map +1 -0
  107. package/.output/server/chunks/build/{_wsId_-CanI_6Su.mjs → _wsId_-eNJmBp05.mjs} +137 -136
  108. package/.output/server/chunks/build/{_wsId_-CanI_6Su.mjs.map → _wsId_-eNJmBp05.mjs.map} +1 -1
  109. package/.output/server/chunks/build/{agents-DSOptxXA.mjs → agents-B10wmFri.mjs} +24 -23
  110. package/.output/server/chunks/build/agents-B10wmFri.mjs.map +1 -0
  111. package/.output/server/chunks/build/alert-qJnjyRcP.mjs +1 -1
  112. package/.output/server/chunks/build/api-error-dul30BYQ.mjs +47 -0
  113. package/.output/server/chunks/build/api-error-dul30BYQ.mjs.map +1 -0
  114. package/.output/server/chunks/build/button-DEcZFcqN.mjs +2 -2
  115. package/.output/server/chunks/build/{card-Dipvaykh.mjs → card-CCPQoKlh.mjs} +4 -4
  116. package/.output/server/chunks/build/{card-Dipvaykh.mjs.map → card-CCPQoKlh.mjs.map} +1 -1
  117. package/.output/server/chunks/build/{channel-templates-BK0KuPOd.mjs → channel-templates-CpWxVk5A.mjs} +29 -28
  118. package/.output/server/chunks/build/channel-templates-CpWxVk5A.mjs.map +1 -0
  119. package/.output/server/chunks/build/{checkbox-dzcpU_Cd.mjs → checkbox-Dv1kjaUZ.mjs} +3 -3
  120. package/.output/server/chunks/build/{checkbox-dzcpU_Cd.mjs.map → checkbox-Dv1kjaUZ.mjs.map} +1 -1
  121. package/.output/server/chunks/build/client-only-D5BzSQc6.mjs +1 -1
  122. package/.output/server/chunks/build/{daq-D9RA_uze.mjs → daq-DxaXk_8N.mjs} +114 -114
  123. package/.output/server/chunks/build/daq-DxaXk_8N.mjs.map +1 -0
  124. package/.output/server/chunks/build/{dcw-BTM5YU-B.mjs → dcw-DqjHrl5Z.mjs} +48 -47
  125. package/.output/server/chunks/build/dcw-DqjHrl5Z.mjs.map +1 -0
  126. package/.output/server/chunks/build/{default-BfWGTlbj.mjs → default-YcUHc1Ev.mjs} +34 -26
  127. package/.output/server/chunks/build/{default-BfWGTlbj.mjs.map → default-YcUHc1Ev.mjs.map} +1 -1
  128. package/.output/server/chunks/build/drawer-Cmh90erI.mjs +1 -1
  129. package/.output/server/chunks/build/dropdown-vhn1NPFs.mjs +2 -2
  130. package/.output/server/chunks/build/hasIn-vQ9LWt-J.mjs +554 -0
  131. package/.output/server/chunks/build/hasIn-vQ9LWt-J.mjs.map +1 -0
  132. package/.output/server/chunks/build/initDefaultProps-DIbWwP4R.mjs +1 -1
  133. package/.output/server/chunks/build/{input-sf_BT6o6.mjs → input-DxDqeyQW.mjs} +5 -553
  134. package/.output/server/chunks/build/input-DxDqeyQW.mjs.map +1 -0
  135. package/.output/server/chunks/build/{input-number-Bd55elNN.mjs → input-number-CZ3ZrCsy.mjs} +3 -3
  136. package/.output/server/chunks/build/{input-number-Bd55elNN.mjs.map → input-number-CZ3ZrCsy.mjs.map} +1 -1
  137. package/.output/server/chunks/build/{logs-Dyk0I2I9.mjs → logs-Co854R4y.mjs} +40 -40
  138. package/.output/server/chunks/build/{logs-Dyk0I2I9.mjs.map → logs-Co854R4y.mjs.map} +1 -1
  139. package/.output/server/chunks/build/menu-WCrlpYVh.mjs +2 -2
  140. package/.output/server/chunks/build/modal-yvUquPj5.mjs +2 -2
  141. package/.output/server/chunks/build/{monitor-MIOvsyLa.mjs → monitor-miqq9xHB.mjs} +11 -11
  142. package/.output/server/chunks/build/{monitor-MIOvsyLa.mjs.map → monitor-miqq9xHB.mjs.map} +1 -1
  143. package/.output/server/chunks/build/{pages-DR2bzczM.mjs → pages-DPC1Vp6w.mjs} +6 -5
  144. package/.output/server/chunks/build/pages-DPC1Vp6w.mjs.map +1 -0
  145. package/.output/server/chunks/build/permissions-Eu9e6hfZ.mjs +534 -0
  146. package/.output/server/chunks/build/permissions-Eu9e6hfZ.mjs.map +1 -0
  147. package/.output/server/chunks/build/{plugins-DnOBIWGg.mjs → plugins-D84mvK9G.mjs} +27 -25
  148. package/.output/server/chunks/build/plugins-D84mvK9G.mjs.map +1 -0
  149. package/.output/server/chunks/build/popconfirm-CRaHcz5O.mjs +2 -2
  150. package/.output/server/chunks/build/responsiveObserve-CS0UB6wQ.mjs +1 -1
  151. package/.output/server/chunks/build/{segmented-DPe9ZzLO.mjs → segmented-ChmQZwz6.mjs} +5 -4
  152. package/.output/server/chunks/build/{segmented-DPe9ZzLO.mjs.map → segmented-ChmQZwz6.mjs.map} +1 -1
  153. package/.output/server/chunks/build/select-D-CeE5vY.mjs +1 -1
  154. package/.output/server/chunks/build/{settings-DA8IkGLo.mjs → settings-BPBll_7K.mjs} +28 -26
  155. package/.output/server/chunks/build/settings-BPBll_7K.mjs.map +1 -0
  156. package/.output/server/chunks/build/space-CCBYAkXt.mjs +2 -2
  157. package/.output/server/chunks/build/spin-HVY81X_L.mjs +1 -1
  158. package/.output/server/chunks/build/switch-CelRXpcy.mjs +2 -2
  159. package/.output/server/chunks/build/{table-Cswq-l2r.mjs → table-BtksyDlQ.mjs} +5 -5
  160. package/.output/server/chunks/build/{table-Cswq-l2r.mjs.map → table-BtksyDlQ.mjs.map} +1 -1
  161. package/.output/server/chunks/build/{tabs-BM3tAh_J.mjs → tabs-DQv-_-R6.mjs} +3 -3
  162. package/.output/server/chunks/build/{tabs-BM3tAh_J.mjs.map → tabs-DQv-_-R6.mjs.map} +1 -1
  163. package/.output/server/chunks/build/{tag-NO9jEqKy.mjs → tag-A0tZ2Ouq.mjs} +4 -4
  164. package/.output/server/chunks/build/{tag-NO9jEqKy.mjs.map → tag-A0tZ2Ouq.mjs.map} +1 -1
  165. package/.output/server/chunks/build/{teams-BhSKBBBM.mjs → teams-CNflUtPh.mjs} +25 -24
  166. package/.output/server/chunks/build/teams-CNflUtPh.mjs.map +1 -0
  167. package/.output/server/chunks/build/{tokens-D_eyxmcv.mjs → tokens-CZpnEDVf.mjs} +27 -26
  168. package/.output/server/chunks/build/tokens-CZpnEDVf.mjs.map +1 -0
  169. package/.output/server/chunks/build/town-BUqRobze.mjs +1 -1
  170. package/.output/server/chunks/build/{town-DPtOPRRO.mjs → town-BbaR-8io.mjs} +10 -10
  171. package/.output/server/chunks/build/{town-DPtOPRRO.mjs.map → town-BbaR-8io.mjs.map} +1 -1
  172. package/.output/server/chunks/build/{useDaqStream-hwkhJHFU.mjs → useDaqStream-BkmyQT06.mjs} +36 -24
  173. package/.output/server/chunks/build/useDaqStream-BkmyQT06.mjs.map +1 -0
  174. package/.output/server/chunks/build/{useDcwStream-Bdew_yrr.mjs → useDcwStream-DWVoU96J.mjs} +63 -48
  175. package/.output/server/chunks/build/useDcwStream-DWVoU96J.mjs.map +1 -0
  176. package/.output/server/chunks/build/{useDeviceTwins-C6EBg9oN.mjs → useDeviceTwins-34WGk9aN.mjs} +4 -3
  177. package/.output/server/chunks/build/useDeviceTwins-34WGk9aN.mjs.map +1 -0
  178. package/.output/server/chunks/build/useLocalTime-9a4B-aHv.mjs +1 -1
  179. package/.output/server/chunks/build/{useOpsLog-DdCqKVVG.mjs → useOpsLog-C9zTzYof.mjs} +30 -17
  180. package/.output/server/chunks/build/useOpsLog-C9zTzYof.mjs.map +1 -0
  181. package/.output/server/chunks/build/useSiteConfig-DJe_KMVr.mjs +1 -1
  182. package/.output/server/chunks/build/useWorkshopApi-D2gq06N2.mjs +1 -1
  183. package/.output/server/chunks/build/{useWorkshopWs-B3j5wIAK.mjs → useWorkshopWs-CprkZEdq.mjs} +2 -3
  184. package/.output/server/chunks/build/useWorkshopWs-CprkZEdq.mjs.map +1 -0
  185. package/.output/server/chunks/build/{users-CmVvb1oq.mjs → users-D6RNylrW.mjs} +10 -10
  186. package/.output/server/chunks/build/{users-CmVvb1oq.mjs.map → users-D6RNylrW.mjs.map} +1 -1
  187. package/.output/server/chunks/build/{workshop-D5CQj2A8.mjs → workshop-Crsai2Y9.mjs} +27 -26
  188. package/.output/server/chunks/build/workshop-Crsai2Y9.mjs.map +1 -0
  189. package/.output/server/chunks/build/{workspaces-IfORCDJE.mjs → workspaces-BuydxM-3.mjs} +2 -3
  190. package/.output/server/chunks/build/workspaces-BuydxM-3.mjs.map +1 -0
  191. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  192. package/.output/server/chunks/routes/api/index.get.mjs +1 -1
  193. package/.output/server/chunks/routes/api/index.post.mjs +1 -1
  194. package/.output/server/chunks/routes/api/mcp/workshop.mjs +1 -1
  195. package/.output/server/chunks/routes/api/metrics.mjs +1 -1
  196. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +1 -1
  197. package/.output/server/chunks/routes/api/plugins/client/_name_.get.mjs +1 -1
  198. package/.output/server/chunks/routes/api/plugins/manifest.get.mjs +1 -1
  199. package/.output/server/chunks/routes/api/system/config.get.mjs +1 -1
  200. package/.output/server/chunks/routes/api/system/index.get.mjs +1 -1
  201. package/.output/server/chunks/routes/api/system/index.patch.mjs +1 -1
  202. package/.output/server/chunks/routes/api/system/monitor/terminal/ws.mjs +1 -1
  203. package/.output/server/chunks/routes/api/system/monitor/terminate.post.mjs +1 -1
  204. package/.output/server/chunks/routes/api/system/monitor.get.mjs +1 -1
  205. package/.output/server/chunks/routes/api/system/settings/events.get.mjs +1 -1
  206. package/.output/server/chunks/routes/api/system/settings/reset.post.mjs +1 -1
  207. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -1
  208. package/.output/server/chunks/routes/api/users/_id_.get.mjs +1 -1
  209. package/.output/server/chunks/routes/api/users/_id_.put.mjs +1 -1
  210. package/.output/server/chunks/routes/api/users/index.get.mjs +1 -1
  211. package/.output/server/chunks/routes/api/users/index.post.mjs +1 -1
  212. package/.output/server/chunks/routes/api/users/login.post.mjs +1 -1
  213. package/.output/server/chunks/routes/api/users/logout.post.mjs +1 -1
  214. package/.output/server/chunks/routes/api/users/me.get.mjs +1 -1
  215. package/.output/server/chunks/routes/api/users/register.post.mjs +1 -1
  216. package/.output/server/chunks/routes/api/users/setup-status.get.mjs +1 -1
  217. package/.output/server/chunks/routes/api/users/tokens/_id/token.get.mjs +1 -1
  218. package/.output/server/chunks/routes/api/users/tokens/_id_.delete.mjs +1 -1
  219. package/.output/server/chunks/routes/api/users/tokens/_id_.patch.mjs +1 -1
  220. package/.output/server/chunks/routes/api/workshop/_...path_.mjs +1 -1
  221. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.get.mjs +1 -1
  222. package/.output/server/chunks/routes/api/workshop/a2a/_agentId/index.post.mjs +1 -1
  223. package/.output/server/chunks/routes/api/workshop/a2a/send.post.mjs +1 -1
  224. package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +1 -1
  225. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -1
  226. package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +1 -1
  227. package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +1 -1
  228. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +19 -8
  229. package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs.map +1 -1
  230. package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +1 -1
  231. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +2 -2
  232. package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +2 -2
  233. package/.output/server/chunks/routes/api/workshop/agents/_id_.delete.mjs +1 -1
  234. package/.output/server/chunks/routes/api/workshop/agents/_id_.get.mjs +1 -1
  235. package/.output/server/chunks/routes/api/workshop/agents/_id_.patch.mjs +1 -1
  236. package/.output/server/chunks/routes/api/workshop/agents/subscribe.post.mjs +1 -1
  237. package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +1 -1
  238. package/.output/server/chunks/routes/api/workshop/assets/character/_id_.delete.mjs +1 -1
  239. package/.output/server/chunks/routes/api/workshop/assets/devices/_id_.delete.mjs +1 -1
  240. package/.output/server/chunks/routes/api/workshop/assets/index.get.mjs +1 -1
  241. package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +2 -2
  242. package/.output/server/chunks/routes/api/workshop/assets/index2.get.mjs +1 -1
  243. package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +2 -2
  244. package/.output/server/chunks/routes/api/workshop/audit.get.mjs +1 -1
  245. package/.output/server/chunks/routes/api/workshop/caller.mjs +1 -1
  246. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +3 -3
  247. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.delete.mjs +1 -1
  248. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.get.mjs +1 -1
  249. package/.output/server/chunks/routes/api/workshop/channel-templates/_id_.patch.mjs +1 -1
  250. package/.output/server/chunks/routes/api/workshop/channel-templates/from-channel.post.mjs +1 -1
  251. package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +2 -2
  252. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.get.mjs +1 -1
  253. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/index.post.mjs +1 -1
  254. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/_memoryId_.delete.mjs +1 -1
  255. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/memories/search.post.mjs +1 -1
  256. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/model.patch.mjs +1 -1
  257. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/position.patch.mjs +1 -1
  258. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/range.patch.mjs +1 -1
  259. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId/stop.post.mjs +1 -1
  260. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.delete.mjs +1 -1
  261. package/.output/server/chunks/routes/api/workshop/channels/_id/agents/_agentId_.patch.mjs +1 -1
  262. package/.output/server/chunks/routes/api/workshop/channels/_id/events.get.mjs +1 -1
  263. package/.output/server/chunks/routes/api/workshop/channels/_id/index.get.mjs +1 -1
  264. package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +2 -2
  265. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.get.mjs +1 -1
  266. package/.output/server/chunks/routes/api/workshop/channels/_id/index2.post.mjs +1 -1
  267. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.get.mjs +1 -1
  268. package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +1 -1
  269. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +1 -1
  270. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +1 -1
  271. package/.output/server/chunks/routes/api/workshop/channels/_id/memories/_memoryId_.delete.mjs +1 -1
  272. package/.output/server/chunks/routes/api/workshop/channels/_id/queue.get.mjs +1 -1
  273. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +2 -2
  274. package/.output/server/chunks/routes/api/workshop/channels/_id_.delete.mjs +1 -1
  275. package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +2 -2
  276. package/.output/server/chunks/routes/api/workshop/channels/index.patch.mjs +1 -1
  277. package/.output/server/chunks/routes/api/workshop/channels.get.mjs +1 -1
  278. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +3 -3
  279. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +7 -6
  280. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs.map +1 -1
  281. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +5 -4
  282. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs.map +1 -1
  283. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +5 -4
  284. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs.map +1 -1
  285. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +5 -4
  286. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs.map +1 -1
  287. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +2 -2
  288. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +2 -2
  289. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +5 -4
  290. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs.map +1 -1
  291. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +5 -2
  292. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs.map +1 -1
  293. package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +2 -2
  294. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +3 -2
  295. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs.map +1 -1
  296. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +2 -2
  297. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +2 -2
  298. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +2 -2
  299. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +2 -2
  300. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +2 -2
  301. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +2 -2
  302. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +7 -6
  303. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs.map +1 -1
  304. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +2 -2
  305. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +2 -2
  306. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +5 -4
  307. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs.map +1 -1
  308. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +4 -3
  309. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs.map +1 -1
  310. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -2
  311. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +2 -2
  312. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +2 -2
  313. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +2 -2
  314. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +4 -4
  315. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs.map +1 -1
  316. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +8 -4
  317. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs.map +1 -1
  318. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +4 -4
  319. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs.map +1 -1
  320. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +2 -2
  321. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +2 -2
  322. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +2 -2
  323. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +2 -2
  324. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +4 -4
  325. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs.map +1 -1
  326. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +2 -2
  327. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +7 -3
  328. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs.map +1 -1
  329. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +3 -2
  330. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs.map +1 -1
  331. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +3 -2
  332. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs.map +1 -1
  333. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +2 -2
  334. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +2 -2
  335. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +2 -2
  336. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +2 -2
  337. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +2 -2
  338. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +2 -2
  339. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +2 -2
  340. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +2 -2
  341. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +2 -2
  342. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +2 -2
  343. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +2 -2
  344. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +2 -2
  345. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.patch.mjs +2 -2
  346. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +2 -2
  347. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +5 -3
  348. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs.map +1 -1
  349. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +2 -2
  350. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +2 -2
  351. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +2 -2
  352. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +2 -2
  353. package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +1 -1
  354. package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +1 -1
  355. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +2 -2
  356. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +2 -2
  357. package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +1 -1
  358. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +2 -2
  359. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +2 -2
  360. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +2 -2
  361. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +2 -2
  362. package/.output/server/chunks/routes/api/workshop/index.get.mjs +1 -1
  363. package/.output/server/chunks/routes/api/workshop/index.post.mjs +1 -1
  364. package/.output/server/chunks/routes/api/workshop/index.put.mjs +41 -0
  365. package/.output/server/chunks/routes/api/workshop/index.put.mjs.map +1 -0
  366. package/.output/server/chunks/routes/api/workshop/index10.get.mjs +4 -3
  367. package/.output/server/chunks/routes/api/workshop/index10.get.mjs.map +1 -1
  368. package/.output/server/chunks/routes/api/workshop/index11.get.mjs +27 -0
  369. package/.output/server/chunks/routes/api/workshop/index11.get.mjs.map +1 -0
  370. package/.output/server/chunks/routes/api/workshop/index2.get.mjs +1 -1
  371. package/.output/server/chunks/routes/api/workshop/index2.post.mjs +1 -1
  372. package/.output/server/chunks/routes/api/workshop/index3.get.mjs +1 -1
  373. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +4 -4
  374. package/.output/server/chunks/routes/api/workshop/index3.post.mjs.map +1 -1
  375. package/.output/server/chunks/routes/api/workshop/index4.get.mjs +5 -4
  376. package/.output/server/chunks/routes/api/workshop/index4.get.mjs.map +1 -1
  377. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +2 -2
  378. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +18 -11
  379. package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
  380. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +2 -2
  381. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -1
  382. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +2 -2
  383. package/.output/server/chunks/routes/api/workshop/index7.get.mjs +1 -1
  384. package/.output/server/chunks/routes/api/workshop/index7.post.mjs +1 -1
  385. package/.output/server/chunks/routes/api/workshop/index8.get.mjs +24 -12
  386. package/.output/server/chunks/routes/api/workshop/index8.get.mjs.map +1 -1
  387. package/.output/server/chunks/routes/api/workshop/index8.post.mjs +1 -1
  388. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +12 -7
  389. package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
  390. package/.output/server/chunks/routes/api/workshop/mailbox/all.get.mjs +1 -1
  391. package/.output/server/chunks/routes/api/workshop/mailbox.get.mjs +1 -1
  392. package/.output/server/chunks/routes/api/workshop/memories/maintenance.post.mjs +1 -1
  393. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +4 -4
  394. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs.map +1 -1
  395. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +4 -4
  396. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs.map +1 -1
  397. package/.output/server/chunks/routes/api/workshop/plugins/index.get.mjs +1 -1
  398. package/.output/server/chunks/routes/api/workshop/runtime.get.mjs +1 -1
  399. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +2 -2
  400. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +2 -2
  401. package/.output/server/chunks/routes/api/workshop/scene/layouts.get.mjs +1 -1
  402. package/.output/server/chunks/routes/api/workshop/tasks/_id/complete.post.mjs +1 -1
  403. package/.output/server/chunks/routes/api/workshop/tasks/_id/dispatch.post.mjs +1 -1
  404. package/.output/server/chunks/routes/api/workshop/tasks/_id/index.post.mjs +1 -1
  405. package/.output/server/chunks/routes/api/workshop/tasks/_id/report.post.mjs +1 -1
  406. package/.output/server/chunks/routes/api/workshop/tasks/_id/retry.post.mjs +1 -1
  407. package/.output/server/chunks/routes/api/workshop/tasks/_id_.get.mjs +1 -1
  408. package/.output/server/chunks/routes/api/workshop/tasks.get.mjs +1 -1
  409. package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +2 -2
  410. package/.output/server/chunks/routes/api/workshop/teams/_id/index.get.mjs +1 -1
  411. package/.output/server/chunks/routes/api/workshop/teams/_id/index.post.mjs +1 -1
  412. package/.output/server/chunks/routes/api/workshop/teams/_id/members/_agentId_.delete.mjs +1 -1
  413. package/.output/server/chunks/routes/api/workshop/teams/_id_.delete.mjs +1 -1
  414. package/.output/server/chunks/routes/api/workshop/teams/_id_.get.mjs +1 -1
  415. package/.output/server/chunks/routes/api/workshop/teams/_id_.patch.mjs +1 -1
  416. package/.output/server/chunks/routes/api/workshop/users/me.get.mjs +1 -1
  417. package/.output/server/chunks/routes/api/workshop/users/register.post.mjs +1 -1
  418. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +3 -3
  419. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.delete.mjs +1 -1
  420. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channels/_channelId_.post.mjs +1 -1
  421. package/.output/server/chunks/routes/api/workshop/workspaces/index.delete.mjs +1 -1
  422. package/.output/server/chunks/routes/renderer.mjs +3 -3
  423. package/.output/server/chunks/virtual/entry.mjs +303 -37
  424. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  425. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  426. package/.output/server/index.mjs +1 -1
  427. package/.output/server/package.json +1 -1
  428. package/README-zh.md +15 -0
  429. package/README.md +20 -0
  430. package/app/components/AppHeader.vue +1 -1
  431. package/app/components/AppSidebar.vue +7 -1
  432. package/app/components/workshop/A2aRpcDebugger.vue +1 -1
  433. package/app/components/workshop/AgentInspectorDrawer.vue +3 -3
  434. package/app/components/workshop/AgentLanesView.vue +6 -6
  435. package/app/components/workshop/AssetLibrary.vue +2 -2
  436. package/app/components/workshop/ChannelSessionList.vue +5 -5
  437. package/app/components/workshop/Composer.vue +1 -1
  438. package/app/components/workshop/DeviceTwinPanel.vue +2 -2
  439. package/app/components/workshop/TaskBoardView.vue +1 -1
  440. package/app/components/workshop/TaskInspectorDrawer.vue +2 -2
  441. package/app/components/workshop/town/TownView.vue +23 -23
  442. package/app/composables/workshop/apiClient.ts +103 -95
  443. package/app/composables/workshop/useCharacterAssets.ts +1 -1
  444. package/app/composables/workshop/useDaqStream.ts +36 -22
  445. package/app/composables/workshop/useDcwStream.ts +23 -6
  446. package/app/composables/workshop/useDeviceTwins.ts +1 -1
  447. package/app/composables/workshop/useOpsLog.ts +28 -15
  448. package/app/composables/workshop/useSceneLayouts.ts +1 -1
  449. package/app/composables/workshop/useWorkshopWs.ts +11 -2
  450. package/app/pages/daq/[id].vue +1 -1
  451. package/app/pages/daq/index.vue +8 -8
  452. package/app/pages/dcw/[id].vue +13 -13
  453. package/app/pages/dcw/index.vue +7 -7
  454. package/app/pages/logs/index.vue +1 -1
  455. package/app/pages/permissions/index.vue +327 -0
  456. package/app/pages/plugins/index.vue +14 -6
  457. package/app/pages/settings.vue +4 -2
  458. package/app/pages/tokens.vue +3 -3
  459. package/app/pages/workshop/agents.vue +2 -2
  460. package/app/pages/workshop/channel-templates.vue +3 -3
  461. package/app/pages/workshop/index.vue +4 -4
  462. package/app/pages/workshop/teams.vue +3 -3
  463. package/app/plugins/http.ts +18 -2
  464. package/app/plugins/session-restore.client.ts +7 -2
  465. package/app/stores/workshop/user.ts +14 -1
  466. package/app/utils/api-error.ts +75 -0
  467. package/cli/commands/plugin.mjs +2 -2
  468. package/config.yml +1 -1
  469. package/i18n/locales/en.ts +53 -3
  470. package/i18n/locales/zh-CN.ts +53 -3
  471. package/package.json +1 -1
  472. package/scripts/_dbg-acc-1-setup.mjs +57 -0
  473. package/scripts/_dbg-acc-2-diag.mjs +14 -0
  474. package/scripts/_dbg-acc-2-intervals.mjs +81 -0
  475. package/scripts/_dbg-acc-3-daq.mjs +48 -0
  476. package/scripts/_dbg-acc-4-team.mjs +92 -0
  477. package/scripts/_dbg-acc-5-visual.mjs +63 -0
  478. package/scripts/_dbg-acc-5b-ws-town.mjs +18 -0
  479. package/scripts/_dbg-acc-5c-town.mjs +12 -0
  480. package/scripts/_dbg-acc-6-i18n.mjs +19 -0
  481. package/scripts/_dbg-audit-neg-e2e.mjs +64 -0
  482. package/scripts/_dbg-final-features.mjs +155 -0
  483. package/scripts/_dbg-final-fixups.mjs +62 -0
  484. package/scripts/_dbg-final-visual.mjs +29 -0
  485. package/scripts/_dbg-interval-config.mjs +17 -6
  486. package/scripts/_dbg-perms-e2e.mjs +102 -0
  487. package/scripts/_dbg-perms-visual.mjs +36 -0
  488. package/scripts/_dbg-plugins-e2e.mjs +101 -0
  489. package/scripts/_dbg-protocol-matrix.mjs +16 -0
  490. package/scripts/_dbg-repo-setup-verify.mjs +31 -0
  491. package/scripts/_dbg-setup-e2e.mjs +1 -1
  492. package/sdk/api.mjs +117 -101
  493. package/sdk/context.mjs +240 -219
  494. package/sdk/hooks.mjs +105 -103
  495. package/sdk/index.d.mts +142 -135
  496. package/sdk/lifecycle.mjs +26 -25
  497. package/server/api/workshop/agent-tools/bindings/index.post.ts +40 -20
  498. package/server/api/workshop/daq/[id]/bind.post.ts +5 -2
  499. package/server/api/workshop/daq/[id]/frames/content.get.ts +4 -1
  500. package/server/api/workshop/daq/[id]/frames.get.ts +4 -1
  501. package/server/api/workshop/daq/[id]/samples.get.ts +4 -1
  502. package/server/api/workshop/daq/[id].patch.ts +3 -0
  503. package/server/api/workshop/daq/alarms/[id]/ack.post.ts +20 -15
  504. package/server/api/workshop/daq/controller.post.ts +2 -0
  505. package/server/api/workshop/daq/index.get.ts +5 -3
  506. package/server/api/workshop/daq/index.post.ts +2 -2
  507. package/server/api/workshop/dcw/[id]/bind.post.ts +20 -17
  508. package/server/api/workshop/dcw/[id]/test.post.ts +18 -15
  509. package/server/api/workshop/dcw/[id]/write.post.ts +3 -0
  510. package/server/api/workshop/dcw/index.get.ts +22 -9
  511. package/server/api/workshop/dcw/line/query.get.ts +38 -31
  512. package/server/api/workshop/dcw/lines/[id]/start.post.ts +3 -0
  513. package/server/api/workshop/dcw/lines/[id]/stop.post.ts +3 -0
  514. package/server/api/workshop/dcw/lines/index.get.ts +8 -2
  515. package/server/api/workshop/dcw/lines/index.post.ts +2 -2
  516. package/server/api/workshop/dcw/products/index.post.ts +16 -16
  517. package/server/api/workshop/dcw/runs/[id]/data.get.ts +20 -15
  518. package/server/api/workshop/dcw/runs/index.get.ts +13 -11
  519. package/server/api/workshop/permissions/index.get.ts +30 -0
  520. package/server/api/workshop/permissions/index.put.ts +29 -0
  521. package/server/api/workshop/plugins/[name]/disable.post.ts +5 -3
  522. package/server/api/workshop/plugins/[name]/enable.post.ts +5 -3
  523. package/server/api/workshop/ws.ts +18 -6
  524. package/server/data/daqs.json +90 -46
  525. package/server/data/dcw-lines.json +21 -0
  526. package/server/data/dcw-products.json +140 -0
  527. package/server/data/dcw-recipes.json +506 -0
  528. package/server/data/dcw-rollback.json +281 -6
  529. package/server/data/dcw-runs.json +1374 -1257
  530. package/server/data/dcw-writes.json +312 -0
  531. package/server/data/dcws.json +1165 -477
  532. package/server/data/line-runs.json +26 -6
  533. package/server/plugins/backup.ts +119 -116
  534. package/server/repositories/user.repository.ts +86 -6
  535. package/server/services/system-config.ts +5 -0
  536. package/server/services/user.service.ts +5 -3
  537. package/server/services/workshop/daq/bus/index.ts +5 -3
  538. package/server/services/workshop/daq/bus/inproc.adapter.ts +12 -3
  539. package/server/services/workshop/daq/bus/mqtt.adapter.ts +13 -0
  540. package/server/services/workshop/daq/bus/queue-port.ts +2 -0
  541. package/server/services/workshop/daq/daq-controller.ts +18 -1
  542. package/server/services/workshop/daq/storage/sqlite.adapter.ts +10 -5
  543. package/server/services/workshop/db/ops.repo.ts +6 -0
  544. package/server/services/workshop/dcw/dcw-controller.ts +10 -2
  545. package/server/services/workshop/permissions.ts +79 -0
  546. package/server/services/workshop/plugins/host.mjs +40 -2
  547. package/server/services/workshop/scene-events.ts +25 -1
  548. package/server/services/workshop/settings.ts +10 -0
  549. package/shared/config/single-instance.mjs +24 -0
  550. package/shared/daq-protocol.ts +2 -0
  551. package/.output/public/_nuxt/2LwEn9gX.js +0 -2
  552. package/.output/public/_nuxt/3612gD2V.js +0 -32
  553. package/.output/public/_nuxt/8eIQAVlb.js +0 -1
  554. package/.output/public/_nuxt/Ah9qOv1m.js +0 -1
  555. package/.output/public/_nuxt/B4Fia4FB.js +0 -3
  556. package/.output/public/_nuxt/BH0Z05CS.js +0 -1
  557. package/.output/public/_nuxt/BJ-fxrSw.js +0 -1
  558. package/.output/public/_nuxt/BJvGPTpC.js +0 -1
  559. package/.output/public/_nuxt/BVZjSVs2.js +0 -1
  560. package/.output/public/_nuxt/BVzDoF8t.js +0 -1
  561. package/.output/public/_nuxt/BjVLsC3M.js +0 -1
  562. package/.output/public/_nuxt/BnVoQ74r.js +0 -1
  563. package/.output/public/_nuxt/Bnp4vIAf.js +0 -1
  564. package/.output/public/_nuxt/Bt_HDizI.js +0 -5
  565. package/.output/public/_nuxt/Bu-P92Pe.js +0 -18
  566. package/.output/public/_nuxt/ButLXkjo.js +0 -2
  567. package/.output/public/_nuxt/By-LNp3k.js +0 -1
  568. package/.output/public/_nuxt/CGdPdJPP.js +0 -1
  569. package/.output/public/_nuxt/CRGlf1Gb.js +0 -1
  570. package/.output/public/_nuxt/CS8R0_J3.js +0 -1
  571. package/.output/public/_nuxt/CUxV8Bw_.js +0 -1
  572. package/.output/public/_nuxt/Cd15nPnG2.js +0 -1
  573. package/.output/public/_nuxt/CvbHIGQY2.js +0 -1
  574. package/.output/public/_nuxt/DNJSkm3Q.js +0 -1
  575. package/.output/public/_nuxt/DNzaswei.js +0 -1
  576. package/.output/public/_nuxt/DXK1U43I.js +0 -1
  577. package/.output/public/_nuxt/Dc46i75T.js +0 -14
  578. package/.output/public/_nuxt/Dk6pq9JB2.js +0 -1
  579. package/.output/public/_nuxt/Do88WZG2.js +0 -23
  580. package/.output/public/_nuxt/Du-eSpo2.js +0 -1
  581. package/.output/public/_nuxt/GP2wXyuY.js +0 -1
  582. package/.output/public/_nuxt/NIM0Wglj2.js +0 -1
  583. package/.output/public/_nuxt/PQLnLxYe.js +0 -1
  584. package/.output/public/_nuxt/R_Wv_Nd9.js +0 -1
  585. package/.output/public/_nuxt/TownView.Bt33bo1M.css +0 -1
  586. package/.output/public/_nuxt/_id_.BzKMZnLe.css +0 -1
  587. package/.output/public/_nuxt/_id_.CbpDAWRh.css +0 -1
  588. package/.output/public/_nuxt/agents.BlejnOOC.css +0 -1
  589. package/.output/public/_nuxt/builds/meta/e5bb1803-86d9-43b3-85be-dc787dc9a978.json +0 -1
  590. package/.output/public/_nuxt/channel-templates.lkqEYlWY.css +0 -1
  591. package/.output/public/_nuxt/daq.zZ8GR433.css +0 -1
  592. package/.output/public/_nuxt/dcw.C46dGiF_.css +0 -1
  593. package/.output/public/_nuxt/default.V3_hUJq1.css +0 -1
  594. package/.output/public/_nuxt/eHGLpQSg2.js +0 -1
  595. package/.output/public/_nuxt/logs.DaIsHWZE.css +0 -1
  596. package/.output/public/_nuxt/p7wSGMtc.js +0 -1
  597. package/.output/public/_nuxt/plugins.FTm0PcEe.css +0 -1
  598. package/.output/public/_nuxt/settings.DeRNNUcP.css +0 -1
  599. package/.output/public/_nuxt/tRBT-plo.js +0 -1
  600. package/.output/public/_nuxt/teams.B8JNbUZg.css +0 -1
  601. package/.output/public/_nuxt/tokens.CWOTXM-Z.css +0 -1
  602. package/.output/public/_nuxt/ubPfs9mQ.js +0 -1
  603. package/.output/public/_nuxt/workshop.3kAcLB_M.css +0 -1
  604. package/.output/server/chunks/build/OmpTerminalPanel-COphA1br.mjs.map +0 -1
  605. package/.output/server/chunks/build/_id_-C-ewLgfl.mjs.map +0 -1
  606. package/.output/server/chunks/build/_id_-Ct4Jhvl1.mjs.map +0 -1
  607. package/.output/server/chunks/build/agents-DSOptxXA.mjs.map +0 -1
  608. package/.output/server/chunks/build/channel-templates-BK0KuPOd.mjs.map +0 -1
  609. package/.output/server/chunks/build/daq-D9RA_uze.mjs.map +0 -1
  610. package/.output/server/chunks/build/dcw-BTM5YU-B.mjs.map +0 -1
  611. package/.output/server/chunks/build/input-sf_BT6o6.mjs.map +0 -1
  612. package/.output/server/chunks/build/pages-DR2bzczM.mjs.map +0 -1
  613. package/.output/server/chunks/build/plugins-DnOBIWGg.mjs.map +0 -1
  614. package/.output/server/chunks/build/settings-DA8IkGLo.mjs.map +0 -1
  615. package/.output/server/chunks/build/teams-BhSKBBBM.mjs.map +0 -1
  616. package/.output/server/chunks/build/tokens-D_eyxmcv.mjs.map +0 -1
  617. package/.output/server/chunks/build/useDaqStream-hwkhJHFU.mjs.map +0 -1
  618. package/.output/server/chunks/build/useDcwStream-Bdew_yrr.mjs.map +0 -1
  619. package/.output/server/chunks/build/useDeviceTwins-C6EBg9oN.mjs.map +0 -1
  620. package/.output/server/chunks/build/useOpsLog-DdCqKVVG.mjs.map +0 -1
  621. package/.output/server/chunks/build/useWorkshopWs-B3j5wIAK.mjs.map +0 -1
  622. package/.output/server/chunks/build/user-Dk-ytEUV.mjs +0 -140
  623. package/.output/server/chunks/build/user-Dk-ytEUV.mjs.map +0 -1
  624. package/.output/server/chunks/build/workshop-D5CQj2A8.mjs.map +0 -1
  625. package/.output/server/chunks/build/workspaces-IfORCDJE.mjs.map +0 -1
  626. /package/.output/public/_nuxt/{CNs_Ozdc2.js → CNs_Ozdc.js} +0 -0
  627. /package/.output/public/_nuxt/{Cno6kYiO2.js → Cno6kYiO.js} +0 -0
@@ -0,0 +1,534 @@
1
+ import { _ as _plugin_vue_export_helper_default, u as useI18n, b as useUserStore, n as navigateTo, ar as $fetch$2, d as api$1 } from '../virtual/entry.mjs';
2
+ import { b as button_default } from './button-DEcZFcqN.mjs';
3
+ import { t as table_default, C as Column_default } from './table-BtksyDlQ.mjs';
4
+ import { S as Search_default } from './input-DxDqeyQW.mjs';
5
+ import { T as Tag, G as Group_default, R as RadioButton_default } from './tag-A0tZ2Ouq.mjs';
6
+ import { d as drawer_default } from './drawer-Cmh90erI.mjs';
7
+ import { a as apiErrorMessage } from './api-error-dul30BYQ.mjs';
8
+ import { defineComponent, ref, reactive, computed, watch, mergeProps, withCtx, createVNode, withModifiers, toDisplayString, createTextVNode, openBlock, createBlock, Fragment, renderList, createCommentVNode, useSSRContext } from 'vue';
9
+ import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent, ssrRenderList, ssrRenderAttr } from 'vue/server-renderer';
10
+ import '../_/nitro.mjs';
11
+ import 'node:crypto';
12
+ import 'node:http';
13
+ import 'node:https';
14
+ import 'node:events';
15
+ import 'node:buffer';
16
+ import 'node:fs';
17
+ import 'node:path';
18
+ import 'node:url';
19
+ import 'node:fs/promises';
20
+ import 'node:os';
21
+ import 'js-yaml';
22
+ import 'node:child_process';
23
+ import 'node:net';
24
+ import 'node:util';
25
+ import 'node:sqlite';
26
+ import 'node:module';
27
+ import 'node:zlib';
28
+ import 'unhead/utils';
29
+ import '../routes/renderer.mjs';
30
+ import 'unhead/server';
31
+ import 'unhead/legacy';
32
+ import 'unhead/plugins';
33
+ import 'nostics';
34
+ import 'vue-bundle-renderer/runtime';
35
+ import 'devalue';
36
+ import 'vue-router';
37
+ import 'pinia';
38
+ import '@ant-design/colors';
39
+ import 'axios';
40
+ import './initDefaultProps-DIbWwP4R.mjs';
41
+ import '../_/SearchOutlined.mjs';
42
+ import './select-D-CeE5vY.mjs';
43
+ import './menu-WCrlpYVh.mjs';
44
+ import './responsiveObserve-CS0UB6wQ.mjs';
45
+ import './checkbox-Dv1kjaUZ.mjs';
46
+ import './dropdown-CGQ0KAzA.mjs';
47
+ import './dropdown-vhn1NPFs.mjs';
48
+ import './spin-HVY81X_L.mjs';
49
+ import '../_/LeftOutlined.mjs';
50
+ import './isNumeric-CP7q_yhz.mjs';
51
+
52
+ //#region app/pages/permissions/index.vue?vue&type=script&setup=true&lang.ts
53
+ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
54
+ __name: "index",
55
+ __ssrInlineRender: true,
56
+ setup(__props) {
57
+ /**
58
+ * 权限管理(admin 专属)—— 用户 × 产线授权矩阵。
59
+ * 三态:无权(none,后端不返回该产线数据)/ 仅查看(readonly,数采只读)/ 可操控(operate,数采+数控全量)。
60
+ * 用户详情抽屉含:基本信息、该用户创建的 Channel、产线授权矩阵(逐线三态选择,批量保存)。
61
+ */
62
+ const { t } = useI18n();
63
+ const userStore = useUserStore();
64
+ const lines = ref([]);
65
+ const users = ref([]);
66
+ const loading = ref(false);
67
+ const keyword = ref("");
68
+ const drawerOpen = ref(false);
69
+ const current = ref(null);
70
+ const draft = reactive({});
71
+ const saving = ref(false);
72
+ function authHeaders() {
73
+ const token = userStore.token;
74
+ return token ? { authorization: `Bearer ${token}` } : {};
75
+ }
76
+ const filteredUsers = computed(() => {
77
+ const kw = keyword.value.trim().toLowerCase();
78
+ if (!kw) return users.value;
79
+ return users.value.filter((u) => `${u.name} ${u.email}`.toLowerCase().includes(kw));
80
+ });
81
+ function openDetail(u) {
82
+ current.value = u;
83
+ draftClear(u);
84
+ drawerOpen.value = true;
85
+ }
86
+ function draftClear(u) {
87
+ for (const k of Object.keys(draft)) Reflect.deleteProperty(draft, k);
88
+ for (const l of lines.value) {
89
+ const g = u.grants.find((x) => x.lineId === l.id);
90
+ draft[l.id] = g?.mode === "readonly" || g?.mode === "operate" ? g.mode : "none";
91
+ }
92
+ }
93
+ const dirtyCount = computed(() => {
94
+ if (!current.value) return 0;
95
+ let n = 0;
96
+ for (const l of lines.value) {
97
+ const g = current.value.grants.find((x) => x.lineId === l.id);
98
+ const cur = g?.mode === "readonly" || g?.mode === "operate" ? g.mode : "none";
99
+ if ((draft[l.id] ?? "none") !== cur) n++;
100
+ }
101
+ return n;
102
+ });
103
+ async function save() {
104
+ if (!current.value) return;
105
+ saving.value = true;
106
+ try {
107
+ const grants = lines.value.filter((l) => (draft[l.id] ?? "none") !== "none").map((l) => ({
108
+ lineId: l.id,
109
+ mode: draft[l.id]
110
+ }));
111
+ const revoked = lines.value.filter((l) => (draft[l.id] ?? "none") === "none" && current.value.grants.some((g) => g.lineId === l.id)).map((l) => ({
112
+ lineId: l.id,
113
+ mode: null
114
+ }));
115
+ const d = await $fetch$2("/api/workshop/permissions", {
116
+ method: "PUT",
117
+ headers: authHeaders(),
118
+ body: {
119
+ userId: current.value.id,
120
+ grants: [...grants, ...revoked]
121
+ }
122
+ });
123
+ if (d.code !== 0 || !d.data) throw new Error("save fail");
124
+ current.value.grants = d.data.grants;
125
+ const u = users.value.find((x) => x.id === current.value?.id);
126
+ if (u) u.grants = d.data.grants;
127
+ api$1.success(t("permissions.saved", { n: grants.length + revoked.length }));
128
+ } catch (err) {
129
+ api$1.error(apiErrorMessage(err, t("permissions.saveFail")));
130
+ } finally {
131
+ saving.value = false;
132
+ }
133
+ }
134
+ function modeTag(mode) {
135
+ return mode === "operate" ? t("permissions.operate") : mode === "readonly" ? t("permissions.readonly") : t("permissions.none");
136
+ }
137
+ watch(() => userStore.isLoggedIn, (ok) => {
138
+ if (ok && !userStore.isAdmin) navigateTo("/");
139
+ }, { immediate: true });
140
+ return (_ctx, _push, _parent, _attrs) => {
141
+ const _component_a_input_search = Search_default;
142
+ const _component_a_table = table_default;
143
+ const _component_a_table_column = Column_default;
144
+ const _component_a_tag = Tag;
145
+ const _component_a_button = button_default;
146
+ const _component_a_drawer = drawer_default;
147
+ const _component_a_radio_group = Group_default;
148
+ const _component_a_radio_button = RadioButton_default;
149
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "perm-page" }, _attrs))} data-v-5c770568><header class="pg-head" data-v-5c770568><div data-v-5c770568><h1 class="pg-title" data-v-5c770568>${ssrInterpolate(_ctx.$t("permissions.title"))}</h1><p class="pg-sub" data-v-5c770568>${ssrInterpolate(_ctx.$t("permissions.subtitle"))}</p></div>`);
150
+ _push(ssrRenderComponent(_component_a_input_search, {
151
+ value: keyword.value,
152
+ "onUpdate:value": ($event) => keyword.value = $event,
153
+ placeholder: _ctx.$t("permissions.search"),
154
+ style: { "max-width": "260px" },
155
+ "allow-clear": ""
156
+ }, null, _parent));
157
+ _push(`</header>`);
158
+ _push(ssrRenderComponent(_component_a_table, {
159
+ "data-source": filteredUsers.value,
160
+ loading: loading.value,
161
+ "row-key": "id",
162
+ size: "middle",
163
+ pagination: {
164
+ pageSize: 12,
165
+ showSizeChanger: false
166
+ }
167
+ }, {
168
+ default: withCtx((_, _push, _parent, _scopeId) => {
169
+ if (_push) {
170
+ _push(ssrRenderComponent(_component_a_table_column, {
171
+ title: _ctx.$t("permissions.colUser"),
172
+ "data-index": "name"
173
+ }, {
174
+ default: withCtx(({ record }, _push, _parent, _scopeId) => {
175
+ if (_push) _push(`<a data-v-5c770568${_scopeId}>${ssrInterpolate(record.name)}</a>`);
176
+ else return [createVNode("a", { onClick: withModifiers(($event) => openDetail(record), ["prevent"]) }, toDisplayString(record.name), 9, ["onClick"])];
177
+ }),
178
+ _: 1
179
+ }, _parent, _scopeId));
180
+ _push(ssrRenderComponent(_component_a_table_column, {
181
+ title: _ctx.$t("permissions.colEmail"),
182
+ "data-index": "email"
183
+ }, null, _parent, _scopeId));
184
+ _push(ssrRenderComponent(_component_a_table_column, {
185
+ title: _ctx.$t("permissions.colRole"),
186
+ "data-index": "role"
187
+ }, {
188
+ default: withCtx(({ record }, _push, _parent, _scopeId) => {
189
+ if (_push) _push(ssrRenderComponent(_component_a_tag, { color: record.role === "admin" ? "green" : record.role === "editor" ? "blue" : "default" }, {
190
+ default: withCtx((_, _push, _parent, _scopeId) => {
191
+ if (_push) _push(`${ssrInterpolate(record.role)}`);
192
+ else return [createTextVNode(toDisplayString(record.role), 1)];
193
+ }),
194
+ _: 2
195
+ }, _parent, _scopeId));
196
+ else return [createVNode(_component_a_tag, { color: record.role === "admin" ? "green" : record.role === "editor" ? "blue" : "default" }, {
197
+ default: withCtx(() => [createTextVNode(toDisplayString(record.role), 1)]),
198
+ _: 2
199
+ }, 1032, ["color"])];
200
+ }),
201
+ _: 1
202
+ }, _parent, _scopeId));
203
+ _push(ssrRenderComponent(_component_a_table_column, {
204
+ title: _ctx.$t("permissions.colStatus"),
205
+ "data-index": "status"
206
+ }, {
207
+ default: withCtx(({ record }, _push, _parent, _scopeId) => {
208
+ if (_push) _push(ssrRenderComponent(_component_a_tag, { color: record.status === "active" ? "cyan" : "red" }, {
209
+ default: withCtx((_, _push, _parent, _scopeId) => {
210
+ if (_push) _push(`${ssrInterpolate(record.status === "active" ? _ctx.$t("permissions.active") : record.status)}`);
211
+ else return [createTextVNode(toDisplayString(record.status === "active" ? _ctx.$t("permissions.active") : record.status), 1)];
212
+ }),
213
+ _: 2
214
+ }, _parent, _scopeId));
215
+ else return [createVNode(_component_a_tag, { color: record.status === "active" ? "cyan" : "red" }, {
216
+ default: withCtx(() => [createTextVNode(toDisplayString(record.status === "active" ? _ctx.$t("permissions.active") : record.status), 1)]),
217
+ _: 2
218
+ }, 1032, ["color"])];
219
+ }),
220
+ _: 1
221
+ }, _parent, _scopeId));
222
+ _push(ssrRenderComponent(_component_a_table_column, {
223
+ title: _ctx.$t("permissions.colChannels"),
224
+ "data-index": "channels"
225
+ }, {
226
+ default: withCtx(({ record }, _push, _parent, _scopeId) => {
227
+ if (_push) _push(`${ssrInterpolate(record.channels.length)}`);
228
+ else return [createTextVNode(toDisplayString(record.channels.length), 1)];
229
+ }),
230
+ _: 1
231
+ }, _parent, _scopeId));
232
+ _push(ssrRenderComponent(_component_a_table_column, {
233
+ title: _ctx.$t("permissions.colGrants"),
234
+ "data-index": "grants"
235
+ }, {
236
+ default: withCtx(({ record }, _push, _parent, _scopeId) => {
237
+ if (_push) {
238
+ _push(`<!--[-->`);
239
+ ssrRenderList(record.grants, (g) => {
240
+ _push(ssrRenderComponent(_component_a_tag, {
241
+ key: g.lineId,
242
+ style: { "margin-bottom": "2px" }
243
+ }, {
244
+ default: withCtx((_, _push, _parent, _scopeId) => {
245
+ if (_push) _push(`${ssrInterpolate((lines.value.find((l) => l.id === g.lineId)?.name ?? g.lineId).slice(0, 14))} · ${ssrInterpolate(modeTag(g.mode))}`);
246
+ else return [createTextVNode(toDisplayString((lines.value.find((l) => l.id === g.lineId)?.name ?? g.lineId).slice(0, 14)) + " · " + toDisplayString(modeTag(g.mode)), 1)];
247
+ }),
248
+ _: 2
249
+ }, _parent, _scopeId));
250
+ });
251
+ _push(`<!--]-->`);
252
+ if (!record.grants.length) _push(`<span class="dim" data-v-5c770568${_scopeId}>—</span>`);
253
+ else _push(`<!---->`);
254
+ } else return [(openBlock(true), createBlock(Fragment, null, renderList(record.grants, (g) => {
255
+ return openBlock(), createBlock(_component_a_tag, {
256
+ key: g.lineId,
257
+ style: { "margin-bottom": "2px" }
258
+ }, {
259
+ default: withCtx(() => [createTextVNode(toDisplayString((lines.value.find((l) => l.id === g.lineId)?.name ?? g.lineId).slice(0, 14)) + " · " + toDisplayString(modeTag(g.mode)), 1)]),
260
+ _: 2
261
+ }, 1024);
262
+ }), 128)), !record.grants.length ? (openBlock(), createBlock("span", {
263
+ key: 0,
264
+ class: "dim"
265
+ }, "—")) : createCommentVNode("", true)];
266
+ }),
267
+ _: 1
268
+ }, _parent, _scopeId));
269
+ _push(ssrRenderComponent(_component_a_table_column, {
270
+ title: _ctx.$t("permissions.colOps"),
271
+ width: 90
272
+ }, {
273
+ default: withCtx(({ record }, _push, _parent, _scopeId) => {
274
+ if (_push) _push(ssrRenderComponent(_component_a_button, {
275
+ size: "small",
276
+ onClick: ($event) => openDetail(record)
277
+ }, {
278
+ default: withCtx((_, _push, _parent, _scopeId) => {
279
+ if (_push) _push(`${ssrInterpolate(_ctx.$t("permissions.manage"))}`);
280
+ else return [createTextVNode(toDisplayString(_ctx.$t("permissions.manage")), 1)];
281
+ }),
282
+ _: 2
283
+ }, _parent, _scopeId));
284
+ else return [createVNode(_component_a_button, {
285
+ size: "small",
286
+ onClick: ($event) => openDetail(record)
287
+ }, {
288
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("permissions.manage")), 1)]),
289
+ _: 1
290
+ }, 8, ["onClick"])];
291
+ }),
292
+ _: 1
293
+ }, _parent, _scopeId));
294
+ } else return [
295
+ createVNode(_component_a_table_column, {
296
+ title: _ctx.$t("permissions.colUser"),
297
+ "data-index": "name"
298
+ }, {
299
+ default: withCtx(({ record }) => [createVNode("a", { onClick: withModifiers(($event) => openDetail(record), ["prevent"]) }, toDisplayString(record.name), 9, ["onClick"])]),
300
+ _: 1
301
+ }, 8, ["title"]),
302
+ createVNode(_component_a_table_column, {
303
+ title: _ctx.$t("permissions.colEmail"),
304
+ "data-index": "email"
305
+ }, null, 8, ["title"]),
306
+ createVNode(_component_a_table_column, {
307
+ title: _ctx.$t("permissions.colRole"),
308
+ "data-index": "role"
309
+ }, {
310
+ default: withCtx(({ record }) => [createVNode(_component_a_tag, { color: record.role === "admin" ? "green" : record.role === "editor" ? "blue" : "default" }, {
311
+ default: withCtx(() => [createTextVNode(toDisplayString(record.role), 1)]),
312
+ _: 2
313
+ }, 1032, ["color"])]),
314
+ _: 1
315
+ }, 8, ["title"]),
316
+ createVNode(_component_a_table_column, {
317
+ title: _ctx.$t("permissions.colStatus"),
318
+ "data-index": "status"
319
+ }, {
320
+ default: withCtx(({ record }) => [createVNode(_component_a_tag, { color: record.status === "active" ? "cyan" : "red" }, {
321
+ default: withCtx(() => [createTextVNode(toDisplayString(record.status === "active" ? _ctx.$t("permissions.active") : record.status), 1)]),
322
+ _: 2
323
+ }, 1032, ["color"])]),
324
+ _: 1
325
+ }, 8, ["title"]),
326
+ createVNode(_component_a_table_column, {
327
+ title: _ctx.$t("permissions.colChannels"),
328
+ "data-index": "channels"
329
+ }, {
330
+ default: withCtx(({ record }) => [createTextVNode(toDisplayString(record.channels.length), 1)]),
331
+ _: 1
332
+ }, 8, ["title"]),
333
+ createVNode(_component_a_table_column, {
334
+ title: _ctx.$t("permissions.colGrants"),
335
+ "data-index": "grants"
336
+ }, {
337
+ default: withCtx(({ record }) => [(openBlock(true), createBlock(Fragment, null, renderList(record.grants, (g) => {
338
+ return openBlock(), createBlock(_component_a_tag, {
339
+ key: g.lineId,
340
+ style: { "margin-bottom": "2px" }
341
+ }, {
342
+ default: withCtx(() => [createTextVNode(toDisplayString((lines.value.find((l) => l.id === g.lineId)?.name ?? g.lineId).slice(0, 14)) + " · " + toDisplayString(modeTag(g.mode)), 1)]),
343
+ _: 2
344
+ }, 1024);
345
+ }), 128)), !record.grants.length ? (openBlock(), createBlock("span", {
346
+ key: 0,
347
+ class: "dim"
348
+ }, "—")) : createCommentVNode("", true)]),
349
+ _: 1
350
+ }, 8, ["title"]),
351
+ createVNode(_component_a_table_column, {
352
+ title: _ctx.$t("permissions.colOps"),
353
+ width: 90
354
+ }, {
355
+ default: withCtx(({ record }) => [createVNode(_component_a_button, {
356
+ size: "small",
357
+ onClick: ($event) => openDetail(record)
358
+ }, {
359
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("permissions.manage")), 1)]),
360
+ _: 1
361
+ }, 8, ["onClick"])]),
362
+ _: 1
363
+ }, 8, ["title"])
364
+ ];
365
+ }),
366
+ _: 1
367
+ }, _parent));
368
+ _push(ssrRenderComponent(_component_a_drawer, {
369
+ open: drawerOpen.value,
370
+ "onUpdate:open": ($event) => drawerOpen.value = $event,
371
+ title: current.value ? `${current.value.name} · ${_ctx.$t("permissions.detail")}` : "",
372
+ width: "560"
373
+ }, {
374
+ default: withCtx((_, _push, _parent, _scopeId) => {
375
+ if (_push) {
376
+ if (current.value) {
377
+ _push(`<!--[--><h4 class="sec" data-v-5c770568${_scopeId}>${ssrInterpolate(_ctx.$t("permissions.secProfile"))}</h4><dl class="detail" data-v-5c770568${_scopeId}><dt data-v-5c770568${_scopeId}>email</dt><dd data-v-5c770568${_scopeId}>${ssrInterpolate(current.value.email)}</dd><dt data-v-5c770568${_scopeId}>role</dt><dd data-v-5c770568${_scopeId}>${ssrInterpolate(current.value.role)}</dd><dt data-v-5c770568${_scopeId}>status</dt><dd data-v-5c770568${_scopeId}>${ssrInterpolate(current.value.status)}</dd><dt data-v-5c770568${_scopeId}>created</dt><dd data-v-5c770568${_scopeId}>${ssrInterpolate(current.value.createdAt)}</dd></dl><h4 class="sec" data-v-5c770568${_scopeId}>${ssrInterpolate(_ctx.$t("permissions.secChannels"))}(${ssrInterpolate(current.value.channels.length)}) </h4>`);
378
+ if (current.value.channels.length) {
379
+ _push(`<div class="ch-list" data-v-5c770568${_scopeId}><!--[-->`);
380
+ ssrRenderList(current.value.channels, (c) => {
381
+ _push(`<code data-v-5c770568${_scopeId}>${ssrInterpolate(c.name || c.id.slice(0, 8))}</code>`);
382
+ });
383
+ _push(`<!--]--></div>`);
384
+ } else _push(`<p class="dim" data-v-5c770568${_scopeId}>${ssrInterpolate(_ctx.$t("permissions.noChannels"))}</p>`);
385
+ _push(`<h4 class="sec" data-v-5c770568${_scopeId}>${ssrInterpolate(_ctx.$t("permissions.secMatrix"))} `);
386
+ _push(ssrRenderComponent(_component_a_button, {
387
+ type: "primary",
388
+ size: "small",
389
+ loading: saving.value,
390
+ disabled: dirtyCount.value === 0,
391
+ style: { "margin-left": "12px" },
392
+ onClick: save
393
+ }, {
394
+ default: withCtx((_, _push, _parent, _scopeId) => {
395
+ if (_push) _push(`${ssrInterpolate(_ctx.$t("permissions.save", { n: dirtyCount.value }))}`);
396
+ else return [createTextVNode(toDisplayString(_ctx.$t("permissions.save", { n: dirtyCount.value })), 1)];
397
+ }),
398
+ _: 1
399
+ }, _parent, _scopeId));
400
+ _push(`</h4><p class="hint" data-v-5c770568${_scopeId}>${ssrInterpolate(_ctx.$t("permissions.matrixHint"))}</p><div class="matrix" data-v-5c770568${_scopeId}><!--[-->`);
401
+ ssrRenderList(lines.value, (l) => {
402
+ _push(`<div class="row" data-v-5c770568${_scopeId}><span class="line-name"${ssrRenderAttr("title", l.id)} data-v-5c770568${_scopeId}>${ssrInterpolate(l.name)}</span>`);
403
+ _push(ssrRenderComponent(_component_a_radio_group, {
404
+ value: draft[l.id],
405
+ "onUpdate:value": ($event) => draft[l.id] = $event,
406
+ size: "small"
407
+ }, {
408
+ default: withCtx((_, _push, _parent, _scopeId) => {
409
+ if (_push) {
410
+ _push(ssrRenderComponent(_component_a_radio_button, { value: "none" }, {
411
+ default: withCtx((_, _push, _parent, _scopeId) => {
412
+ if (_push) _push(`${ssrInterpolate(_ctx.$t("permissions.none"))}`);
413
+ else return [createTextVNode(toDisplayString(_ctx.$t("permissions.none")), 1)];
414
+ }),
415
+ _: 2
416
+ }, _parent, _scopeId));
417
+ _push(ssrRenderComponent(_component_a_radio_button, { value: "readonly" }, {
418
+ default: withCtx((_, _push, _parent, _scopeId) => {
419
+ if (_push) _push(`${ssrInterpolate(_ctx.$t("permissions.readonly"))}`);
420
+ else return [createTextVNode(toDisplayString(_ctx.$t("permissions.readonly")), 1)];
421
+ }),
422
+ _: 2
423
+ }, _parent, _scopeId));
424
+ _push(ssrRenderComponent(_component_a_radio_button, { value: "operate" }, {
425
+ default: withCtx((_, _push, _parent, _scopeId) => {
426
+ if (_push) _push(`${ssrInterpolate(_ctx.$t("permissions.operate"))}`);
427
+ else return [createTextVNode(toDisplayString(_ctx.$t("permissions.operate")), 1)];
428
+ }),
429
+ _: 2
430
+ }, _parent, _scopeId));
431
+ } else return [
432
+ createVNode(_component_a_radio_button, { value: "none" }, {
433
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("permissions.none")), 1)]),
434
+ _: 1
435
+ }),
436
+ createVNode(_component_a_radio_button, { value: "readonly" }, {
437
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("permissions.readonly")), 1)]),
438
+ _: 1
439
+ }),
440
+ createVNode(_component_a_radio_button, { value: "operate" }, {
441
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("permissions.operate")), 1)]),
442
+ _: 1
443
+ })
444
+ ];
445
+ }),
446
+ _: 2
447
+ }, _parent, _scopeId));
448
+ _push(`</div>`);
449
+ });
450
+ _push(`<!--]--></div><!--]-->`);
451
+ } else _push(`<!---->`);
452
+ } else return [current.value ? (openBlock(), createBlock(Fragment, { key: 0 }, [
453
+ createVNode("h4", { class: "sec" }, toDisplayString(_ctx.$t("permissions.secProfile")), 1),
454
+ createVNode("dl", { class: "detail" }, [
455
+ createVNode("dt", null, "email"),
456
+ createVNode("dd", null, toDisplayString(current.value.email), 1),
457
+ createVNode("dt", null, "role"),
458
+ createVNode("dd", null, toDisplayString(current.value.role), 1),
459
+ createVNode("dt", null, "status"),
460
+ createVNode("dd", null, toDisplayString(current.value.status), 1),
461
+ createVNode("dt", null, "created"),
462
+ createVNode("dd", null, toDisplayString(current.value.createdAt), 1)
463
+ ]),
464
+ createVNode("h4", { class: "sec" }, toDisplayString(_ctx.$t("permissions.secChannels")) + "(" + toDisplayString(current.value.channels.length) + ") ", 1),
465
+ current.value.channels.length ? (openBlock(), createBlock("div", {
466
+ key: 0,
467
+ class: "ch-list"
468
+ }, [(openBlock(true), createBlock(Fragment, null, renderList(current.value.channels, (c) => {
469
+ return openBlock(), createBlock("code", { key: c.id }, toDisplayString(c.name || c.id.slice(0, 8)), 1);
470
+ }), 128))])) : (openBlock(), createBlock("p", {
471
+ key: 1,
472
+ class: "dim"
473
+ }, toDisplayString(_ctx.$t("permissions.noChannels")), 1)),
474
+ createVNode("h4", { class: "sec" }, [createTextVNode(toDisplayString(_ctx.$t("permissions.secMatrix")) + " ", 1), createVNode(_component_a_button, {
475
+ type: "primary",
476
+ size: "small",
477
+ loading: saving.value,
478
+ disabled: dirtyCount.value === 0,
479
+ style: { "margin-left": "12px" },
480
+ onClick: save
481
+ }, {
482
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("permissions.save", { n: dirtyCount.value })), 1)]),
483
+ _: 1
484
+ }, 8, ["loading", "disabled"])]),
485
+ createVNode("p", { class: "hint" }, toDisplayString(_ctx.$t("permissions.matrixHint")), 1),
486
+ createVNode("div", { class: "matrix" }, [(openBlock(true), createBlock(Fragment, null, renderList(lines.value, (l) => {
487
+ return openBlock(), createBlock("div", {
488
+ key: l.id,
489
+ class: "row"
490
+ }, [createVNode("span", {
491
+ class: "line-name",
492
+ title: l.id
493
+ }, toDisplayString(l.name), 9, ["title"]), createVNode(_component_a_radio_group, {
494
+ value: draft[l.id],
495
+ "onUpdate:value": ($event) => draft[l.id] = $event,
496
+ size: "small"
497
+ }, {
498
+ default: withCtx(() => [
499
+ createVNode(_component_a_radio_button, { value: "none" }, {
500
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("permissions.none")), 1)]),
501
+ _: 1
502
+ }),
503
+ createVNode(_component_a_radio_button, { value: "readonly" }, {
504
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("permissions.readonly")), 1)]),
505
+ _: 1
506
+ }),
507
+ createVNode(_component_a_radio_button, { value: "operate" }, {
508
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("permissions.operate")), 1)]),
509
+ _: 1
510
+ })
511
+ ]),
512
+ _: 1
513
+ }, 8, ["value", "onUpdate:value"])]);
514
+ }), 128))])
515
+ ], 64)) : createCommentVNode("", true)];
516
+ }),
517
+ _: 1
518
+ }, _parent));
519
+ _push(`</div>`);
520
+ };
521
+ }
522
+ });
523
+ //#endregion
524
+ //#region app/pages/permissions/index.vue
525
+ var _sfc_setup = index_vue_vue_type_script_setup_true_lang_default.setup;
526
+ index_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
527
+ const ssrContext = useSSRContext();
528
+ (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/permissions/index.vue");
529
+ return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
530
+ };
531
+ var permissions_default = /*#__PURE__*/ _plugin_vue_export_helper_default(index_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-5c770568"]]);
532
+
533
+ export { permissions_default as default };
534
+ //# sourceMappingURL=permissions-Eu9e6hfZ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permissions-Eu9e6hfZ.mjs","sources":["../../../../app/pages/permissions/index.vue"],"names":["$fetch","api","$t"],"mappings":"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"}