agentworkshop 0.7.24 → 0.7.27

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 (243) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/2jaJHWIJ.js +1 -0
  3. package/.output/public/_nuxt/B7gZokg82.js +209 -0
  4. package/.output/public/_nuxt/{Dfe8vXdG.js → B8kt898d.js} +1 -1
  5. package/.output/public/_nuxt/{BvNJUu3s.js → BFGpEo8S.js} +1 -1
  6. package/.output/public/_nuxt/{BAfp6tmu.js → BG4zduPf.js} +5 -5
  7. package/.output/public/_nuxt/{BMb80_tm.js → BGhOrgle.js} +1 -1
  8. package/.output/public/_nuxt/{Bc-_IsBP.js → BHcpzI2n.js} +1 -1
  9. package/.output/public/_nuxt/{Djir5rSD.js → BTLEvDxM.js} +1 -1
  10. package/.output/public/_nuxt/{b50gYVZl.js → BWyR3awA.js} +1 -1
  11. package/.output/public/_nuxt/Bc89zKq2.js +1 -0
  12. package/.output/public/_nuxt/{CxY6LfeN.js → BetmGSO4.js} +1 -1
  13. package/.output/public/_nuxt/{DAR70Lf52.js → BgCrZKv_2.js} +1 -1
  14. package/.output/public/_nuxt/{DUToq-k_.js → BowTbasd.js} +1 -1
  15. package/.output/public/_nuxt/{D6HDb-vN2.js → BvtknqSC2.js} +1 -1
  16. package/.output/public/_nuxt/{CLZWFhZC.js → CTfqWGdy.js} +1 -1
  17. package/.output/public/_nuxt/Chc5pfAA.js +1 -0
  18. package/.output/public/_nuxt/CobSUzQv.js +2 -0
  19. package/.output/public/_nuxt/{kZV5TQvh2.js → CucID8qg2.js} +1 -1
  20. package/.output/public/_nuxt/{CAGL7TNK.js → DHbTyoAV.js} +1 -1
  21. package/.output/public/_nuxt/{DSa2O56y.js → DfLUN8kY.js} +1 -1
  22. package/.output/public/_nuxt/{Coik560n.js → DjU9Dx5Y.js} +1 -1
  23. package/.output/public/_nuxt/DnziMlcX.js +1 -0
  24. package/.output/public/_nuxt/{Ct68Z0232.js → DosOJEmZ2.js} +1 -1
  25. package/.output/public/_nuxt/{CDLv-n51.js → Q_SJDSgx.js} +1 -1
  26. package/.output/public/_nuxt/{TownView.zu2rU5nS.css → TownView.CtskuMXS.css} +1 -1
  27. package/.output/public/_nuxt/{CuVGPuP1.js → XY2z78rj.js} +1 -1
  28. package/.output/public/_nuxt/_id_.DdbYeLqn.css +1 -0
  29. package/.output/public/_nuxt/{C1CSiSBN.js → bFnZa2yd.js} +1 -1
  30. package/.output/public/_nuxt/builds/latest.json +1 -1
  31. package/.output/public/_nuxt/builds/meta/f7a8e33d-5422-45ac-895d-27168f97e3ad.json +1 -0
  32. package/.output/public/_nuxt/daq.DGV9QS8d.css +1 -0
  33. package/.output/public/_nuxt/{entry.AZM1Culo.css → entry.BN02X8iR.css} +1 -1
  34. package/.output/public/_nuxt/{X6IraCTB.js → rkVgzg62.js} +1 -1
  35. package/.output/public/_nuxt/settings.W6qrYAui.css +1 -0
  36. package/.output/public/_nuxt/teams.BBXVkyKq.css +1 -0
  37. package/.output/public/assets/game/character/yangyang-walk.glb +0 -0
  38. package/.output/server/chunks/_/host-bindings.mjs +1 -1
  39. package/.output/server/chunks/_/nitro.mjs +1013 -844
  40. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  41. package/.output/server/chunks/build/{TownView-DxeQe1Bl.mjs → TownView-ftIylqiD.mjs} +178 -151
  42. package/.output/server/chunks/build/{TownView-DxeQe1Bl.mjs.map → TownView-ftIylqiD.mjs.map} +1 -1
  43. package/.output/server/chunks/build/{_id_-DQDqj-cZ.mjs → _id_-3Axz2-gV.mjs} +35 -35
  44. package/.output/server/chunks/build/{_id_-DQDqj-cZ.mjs.map → _id_-3Axz2-gV.mjs.map} +1 -1
  45. package/.output/server/chunks/build/{_id_-DY6v6sqB.mjs → _id_-CahfkmEt.mjs} +5 -5
  46. package/.output/server/chunks/build/{_id_-DY6v6sqB.mjs.map → _id_-CahfkmEt.mjs.map} +1 -1
  47. package/.output/server/chunks/build/{_wsId_-D38Vx6Ky.mjs → _wsId_-BymlQhzS.mjs} +7 -7
  48. package/.output/server/chunks/build/{_wsId_-D38Vx6Ky.mjs.map → _wsId_-BymlQhzS.mjs.map} +1 -1
  49. package/.output/server/chunks/build/{agents-GnmUGZir.mjs → agents-DuMiSWKp.mjs} +4 -4
  50. package/.output/server/chunks/build/{agents-GnmUGZir.mjs.map → agents-DuMiSWKp.mjs.map} +1 -1
  51. package/.output/server/chunks/build/{channel-templates-B4z6v8Z5.mjs → channel-templates-BStqJ-of.mjs} +2 -2
  52. package/.output/server/chunks/build/{channel-templates-B4z6v8Z5.mjs.map → channel-templates-BStqJ-of.mjs.map} +1 -1
  53. package/.output/server/chunks/build/{checkbox-dzcpU_Cd.mjs → checkbox-C1gABOca.mjs} +4 -4
  54. package/.output/server/chunks/build/{checkbox-dzcpU_Cd.mjs.map → checkbox-C1gABOca.mjs.map} +1 -1
  55. package/.output/server/chunks/build/{daq-B-3xCp_2.mjs → daq-ChYCABz1.mjs} +312 -426
  56. package/.output/server/chunks/build/daq-ChYCABz1.mjs.map +1 -0
  57. package/.output/server/chunks/build/{dcw-BL2dhuz7.mjs → dcw-CcQNGggh.mjs} +3 -3
  58. package/.output/server/chunks/build/{dcw-BL2dhuz7.mjs.map → dcw-CcQNGggh.mjs.map} +1 -1
  59. package/.output/server/chunks/build/{default-CLf5m0NE.mjs → default-95-zOTPt.mjs} +2 -2
  60. package/.output/server/chunks/build/{default-CLf5m0NE.mjs.map → default-95-zOTPt.mjs.map} +1 -1
  61. package/.output/server/chunks/build/{logs-Dto_umFY.mjs → logs-D-2UyGtE.mjs} +3 -3
  62. package/.output/server/chunks/build/{logs-Dto_umFY.mjs.map → logs-D-2UyGtE.mjs.map} +1 -1
  63. package/.output/server/chunks/build/{monitor-Cp4V-H2n.mjs → monitor-mfG5jBtz.mjs} +3 -3
  64. package/.output/server/chunks/build/{monitor-Cp4V-H2n.mjs.map → monitor-mfG5jBtz.mjs.map} +1 -1
  65. package/.output/server/chunks/build/{pages-Dc2H1QFu.mjs → pages-Dfosfchr.mjs} +4 -4
  66. package/.output/server/chunks/build/{pages-Dc2H1QFu.mjs.map → pages-Dfosfchr.mjs.map} +1 -1
  67. package/.output/server/chunks/build/{permissions-BTRW2CVd.mjs → permissions-B-hhZuzm.mjs} +3 -3
  68. package/.output/server/chunks/build/{permissions-BTRW2CVd.mjs.map → permissions-B-hhZuzm.mjs.map} +1 -1
  69. package/.output/server/chunks/build/{settings-UfGyDgM7.mjs → settings-BajN9TQW.mjs} +249 -20
  70. package/.output/server/chunks/build/settings-BajN9TQW.mjs.map +1 -0
  71. package/.output/server/chunks/build/{table-Cswq-l2r.mjs → table-Bf1r2JjE.mjs} +2 -2
  72. package/.output/server/chunks/build/{table-Cswq-l2r.mjs.map → table-Bf1r2JjE.mjs.map} +1 -1
  73. package/.output/server/chunks/build/{teams-Cbg27MWW.mjs → teams-t2SkRlJP.mjs} +346 -46
  74. package/.output/server/chunks/build/teams-t2SkRlJP.mjs.map +1 -0
  75. package/.output/server/chunks/build/{tokens-Bmm6rDfj.mjs → tokens-DiCojbN8.mjs} +3 -3
  76. package/.output/server/chunks/build/{tokens-Bmm6rDfj.mjs.map → tokens-DiCojbN8.mjs.map} +1 -1
  77. package/.output/server/chunks/build/{town-Dsh0jlwZ.mjs → town-C7QM8DYK.mjs} +5 -5
  78. package/.output/server/chunks/build/{town-Dsh0jlwZ.mjs.map → town-C7QM8DYK.mjs.map} +1 -1
  79. package/.output/server/chunks/build/{useDaqStream-DkRL3tEW.mjs → useDaqStream-BeA2X8KR.mjs} +26 -11
  80. package/.output/server/chunks/build/useDaqStream-BeA2X8KR.mjs.map +1 -0
  81. package/.output/server/chunks/build/{useDcwStream-DyB2ufQI.mjs → useDcwStream-BJW_MitY.mjs} +14 -6
  82. package/.output/server/chunks/build/useDcwStream-BJW_MitY.mjs.map +1 -0
  83. package/.output/server/chunks/build/{useDeviceTwins-ZbT86L9O.mjs → useDeviceTwins-Dwz_EY_i.mjs} +2 -2
  84. package/.output/server/chunks/build/{useDeviceTwins-ZbT86L9O.mjs.map → useDeviceTwins-Dwz_EY_i.mjs.map} +1 -1
  85. package/.output/server/chunks/build/{useOpsLog-8HCYFb6n.mjs → useOpsLog-Dm8QEb1I.mjs} +2 -2
  86. package/.output/server/chunks/build/{useOpsLog-8HCYFb6n.mjs.map → useOpsLog-Dm8QEb1I.mjs.map} +1 -1
  87. package/.output/server/chunks/build/{useWorkshopApi-D2gq06N2.mjs → useWorkshopApi-B-L3MmIX.mjs} +9 -2
  88. package/.output/server/chunks/build/{useWorkshopApi-D2gq06N2.mjs.map → useWorkshopApi-B-L3MmIX.mjs.map} +1 -1
  89. package/.output/server/chunks/build/{users-B50HHrfi.mjs → users-B9SAdEtH.mjs} +3 -3
  90. package/.output/server/chunks/build/{users-B50HHrfi.mjs.map → users-B9SAdEtH.mjs.map} +1 -1
  91. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs +14 -2
  92. package/.output/server/chunks/routes/api/plugins/_name/_...path_.mjs.map +1 -1
  93. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
  94. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +40 -0
  95. package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs.map +1 -0
  96. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs +21 -9
  97. package/.output/server/chunks/routes/api/workshop/channels/_id/index4.get.mjs.map +1 -1
  98. package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +33 -0
  99. package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs.map +1 -0
  100. package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +1 -1
  101. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +15 -1
  102. package/.output/server/chunks/routes/api/workshop/channels.post.mjs.map +1 -1
  103. package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +1 -1
  104. package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +1 -1
  105. package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +1 -1
  106. package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +1 -1
  107. package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +1 -1
  108. package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +1 -1
  109. package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +1 -1
  110. package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +1 -1
  111. package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +1 -1
  112. package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +1 -1
  113. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +1 -1
  114. package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +1 -1
  115. package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +1 -1
  116. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +1 -1
  117. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +1 -1
  118. package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +1 -1
  119. package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +1 -1
  120. package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +1 -1
  121. package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +1 -1
  122. package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +1 -1
  123. package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +1 -1
  124. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +1 -1
  125. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +1 -1
  126. package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +1 -1
  127. package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +1 -1
  128. package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +1 -1
  129. package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -1
  130. package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +1 -1
  131. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +1 -1
  132. package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +1 -1
  133. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +1 -1
  134. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +1 -1
  135. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +1 -1
  136. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +1 -1
  137. package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +1 -1
  138. package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +1 -1
  139. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
  140. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
  141. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +1 -1
  142. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +1 -1
  143. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +1 -1
  144. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +1 -1
  145. package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +1 -1
  146. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +1 -1
  147. package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +1 -1
  148. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +1 -1
  149. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +1 -1
  150. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +1 -1
  151. package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +1 -1
  152. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +1 -1
  153. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +1 -1
  154. package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +1 -1
  155. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
  156. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
  157. package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +1 -1
  158. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +1 -1
  159. package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +1 -1
  160. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
  161. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
  162. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  163. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  164. package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
  165. package/.output/server/chunks/routes/api/workshop/index3.post.mjs +1 -1
  166. package/.output/server/chunks/routes/api/workshop/index4.get.mjs +1 -1
  167. package/.output/server/chunks/routes/api/workshop/index4.post.mjs +1 -1
  168. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +1 -1
  169. package/.output/server/chunks/routes/api/workshop/index5.post.mjs +1 -1
  170. package/.output/server/chunks/routes/api/workshop/index6.post.mjs +1 -1
  171. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  172. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  173. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  174. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  175. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
  176. package/.output/server/chunks/routes/renderer.mjs +2 -2
  177. package/.output/server/chunks/virtual/entry.mjs +352 -433
  178. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  179. package/.output/server/package.json +1 -1
  180. package/app/components/workshop/DaqNodeRow.vue +398 -0
  181. package/app/components/workshop/town/ModelPreview3D.vue +26 -4
  182. package/app/components/workshop/town/TownScene3D.ts +60 -12
  183. package/app/components/workshop/town/TownView.vue +4 -3
  184. package/app/composables/workshop/useCharacterAssets.ts +1 -0
  185. package/app/composables/workshop/useDaqStream.ts +24 -5
  186. package/app/composables/workshop/useDcwStream.ts +13 -4
  187. package/app/composables/workshop/useWorkshopApi.ts +294 -259
  188. package/app/pages/daq/[id].vue +27 -3
  189. package/app/pages/daq/index.vue +8 -355
  190. package/app/pages/settings.vue +253 -2
  191. package/app/pages/workshop/teams.vue +212 -2
  192. package/i18n/dicts/_en.json +361 -1
  193. package/i18n/dicts/plugins.json +10 -0
  194. package/i18n/dicts/settings.json +1 -0
  195. package/i18n/dicts/teamPlugins.json +10 -0
  196. package/i18n/locales/en.ts +1860 -1900
  197. package/i18n/locales/zh-CN.ts +1788 -1829
  198. package/package.json +149 -148
  199. package/public/assets/game/character/yangyang-walk.glb +0 -0
  200. package/scripts/_dbg-cpu-profile.mjs +53 -0
  201. package/scripts/_dbg-render-perf.mjs +142 -0
  202. package/scripts/_dbg-render-regression.mjs +130 -0
  203. package/scripts/i18n-merge.mjs +152 -30
  204. package/scripts/production-closed-loop-e2e.mjs +254 -0
  205. package/scripts/team-plugins-api-smoke.mjs +149 -0
  206. package/scripts/three-system-e2e.mjs +448 -0
  207. package/server/api/plugins/[name]/[...path].ts +46 -31
  208. package/server/api/workshop/channels/[id]/plugins/index.get.ts +35 -0
  209. package/server/api/workshop/channels/[id]/plugins/index.put.ts +39 -0
  210. package/server/api/workshop/channels.post.ts +17 -0
  211. package/server/data/dcw-lines.json +7 -0
  212. package/server/data/dcw-products.json +7 -0
  213. package/server/data/dcw-recipes.json +1 -1
  214. package/server/data/dcw-rollback.json +523 -11
  215. package/server/data/dcw-writes.json +72 -0
  216. package/server/data/dcws.json +368 -368
  217. package/server/data/scene-layouts.json +66 -0
  218. package/server/plugins/aw-plugins.ts +35 -27
  219. package/server/plugins-builtin/diag-bridge/index.mjs +556 -0
  220. package/server/plugins-builtin/rag-bridge/index.mjs +364 -0
  221. package/server/services/workshop/agents/host-tool-bridge.ts +659 -642
  222. package/server/services/workshop/agents/omp-agent.ts +1178 -1178
  223. package/server/services/workshop/agents/plugin-tools.ts +10 -1
  224. package/server/services/workshop/db/channel-plugins.repo.ts +65 -0
  225. package/server/services/workshop/plugins/host.mjs +52 -4
  226. package/server/services/workshop/runtime/manager.ts +2976 -2968
  227. package/shared/config/schema.json +4 -0
  228. package/.output/public/_nuxt/BUcmySDa2.js +0 -209
  229. package/.output/public/_nuxt/CYzpZzB_.js +0 -1
  230. package/.output/public/_nuxt/CjXIpPMR.js +0 -1
  231. package/.output/public/_nuxt/DKHcFE1i.js +0 -1
  232. package/.output/public/_nuxt/DjtE7AYt.js +0 -1
  233. package/.output/public/_nuxt/JOwsShod.js +0 -2
  234. package/.output/public/_nuxt/_id_.C-YXjn8Q.css +0 -1
  235. package/.output/public/_nuxt/builds/meta/024de5f7-6a10-4f53-82ab-bc65f3ec9e35.json +0 -1
  236. package/.output/public/_nuxt/daq.3OKj58HH.css +0 -1
  237. package/.output/public/_nuxt/settings.BqMF2nfj.css +0 -1
  238. package/.output/public/_nuxt/teams.DN0pAGGu.css +0 -1
  239. package/.output/server/chunks/build/daq-B-3xCp_2.mjs.map +0 -1
  240. package/.output/server/chunks/build/settings-UfGyDgM7.mjs.map +0 -1
  241. package/.output/server/chunks/build/teams-Cbg27MWW.mjs.map +0 -1
  242. package/.output/server/chunks/build/useDaqStream-DkRL3tEW.mjs.map +0 -1
  243. package/.output/server/chunks/build/useDcwStream-DyB2ufQI.mjs.map +0 -1
@@ -7,11 +7,12 @@ import { T as Tag, G as Group_default, r as radio_default } from './tag-NO9jEqKy
7
7
  import { m as menu_default, M as MenuItem_default } from './menu-WCrlpYVh.mjs';
8
8
  import { m as modal_default } from './modal-yvUquPj5.mjs';
9
9
  import { S as Space } from './space-CCBYAkXt.mjs';
10
+ import { G as Group_default$1, c as checkbox_default } from './checkbox-C1gABOca.mjs';
10
11
  import { d as dropdown_default } from './dropdown-CGQ0KAzA.mjs';
11
12
  import { s as spin_default } from './spin-HVY81X_L.mjs';
12
13
  import { s as switch_default } from './switch-CelRXpcy.mjs';
13
14
  import { a as apiErrorMessage } from './api-error-dul30BYQ.mjs';
14
- import { u as useWorkshopApi } from './useWorkshopApi-D2gq06N2.mjs';
15
+ import { u as useWorkshopApi } from './useWorkshopApi-B-L3MmIX.mjs';
15
16
  import { defineComponent, ref, computed, reactive, mergeProps, withCtx, unref, createTextVNode, toDisplayString, createVNode, isRef, openBlock, createBlock, createCommentVNode, Fragment, renderList, useSSRContext } from 'vue';
16
17
  import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent, ssrRenderList, ssrRenderClass } from 'vue/server-renderer';
17
18
  import '../_/nitro.mjs';
@@ -123,21 +124,38 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
123
124
  description: "",
124
125
  visibility: "private"
125
126
  });
127
+ const platformPlugins = ref([]);
128
+ const createPluginSel = ref({});
129
+ /** checkbox-group 双向绑定(勾选集 ↔ plugins 开关视图) */
130
+ const pluginChecked = computed({
131
+ get: () => Object.entries(createPluginSel.value).filter(([, v]) => v).map(([k]) => k),
132
+ set: (vals) => {
133
+ const next = {};
134
+ for (const p of platformPlugins.value) next[p.name] = vals.includes(p.name);
135
+ createPluginSel.value = next;
136
+ }
137
+ });
126
138
  const create = async () => {
127
139
  if (!createForm.name.trim()) {
128
140
  api$1.warning(t("teams.k1bvcdo2021"));
129
141
  return;
130
142
  }
143
+ const plugins = Object.entries(createPluginSel.value).map(([name, enabled]) => ({
144
+ name,
145
+ enabled
146
+ }));
131
147
  await api$1$1.createTeam({
132
148
  name: createForm.name.trim(),
133
149
  description: createForm.description || void 0,
134
- visibility: createForm.visibility
150
+ visibility: createForm.visibility,
151
+ plugins
135
152
  });
136
153
  api$1.success(t("teams.k3n5hak022"));
137
154
  createOpen.value = false;
138
155
  createForm.name = "";
139
156
  createForm.description = "";
140
157
  createForm.visibility = "private";
158
+ createPluginSel.value = Object.fromEntries(Object.entries(createPluginSel.value).map(([k]) => [k, true]));
141
159
  load();
142
160
  };
143
161
  /** 一键切换可见性(属主/admin) */
@@ -211,6 +229,50 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
211
229
  api$1.success(t("teams.k1oxjrxx027"));
212
230
  load();
213
231
  };
232
+ const plugOpen = ref(false);
233
+ const plugTeamRef = ref(null);
234
+ const plugRows = ref([]);
235
+ const plugSource = ref("default");
236
+ const plugLoading = ref(false);
237
+ const plugSaving = ref(null);
238
+ const openPlugins = (team) => {
239
+ plugTeamRef.value = team;
240
+ plugRows.value = [];
241
+ plugSource.value = "default";
242
+ plugOpen.value = true;
243
+ loadTeamPlugins(team);
244
+ };
245
+ const loadTeamPlugins = async (team) => {
246
+ plugLoading.value = true;
247
+ try {
248
+ const data = (await api$1$1.listChannelPlugins(team.id))?.data ?? {};
249
+ plugRows.value = data.plugins ?? [];
250
+ plugSource.value = data.source === "explicit" ? "explicit" : "default";
251
+ } catch (e) {
252
+ api$1.error(apiErrorMessage(e));
253
+ } finally {
254
+ plugLoading.value = false;
255
+ }
256
+ };
257
+ const toggleTeamPlugin = async (row, next) => {
258
+ if (!plugTeamRef.value || plugSaving.value) return;
259
+ const teamId = plugTeamRef.value.id;
260
+ plugSaving.value = row.name;
261
+ try {
262
+ const payload = plugRows.value.map((r) => ({
263
+ name: r.name,
264
+ enabled: r.name === row.name ? next : r.enabled
265
+ }));
266
+ const data = (await api$1$1.putChannelPlugins(teamId, { plugins: payload }))?.data ?? {};
267
+ plugRows.value = data.plugins ?? payload.map((p) => ({ ...p }));
268
+ plugSource.value = data.source === "explicit" ? "explicit" : "default";
269
+ api$1.success(t("teams.k1plugon043"));
270
+ } catch (e) {
271
+ api$1.error(apiErrorMessage(e));
272
+ } finally {
273
+ plugSaving.value = null;
274
+ }
275
+ };
214
276
  useHead$1({ title: () => t("titles.teams") });
215
277
  return (_ctx, _push, _parent, _attrs) => {
216
278
  const _component_a_space = Space;
@@ -228,8 +290,10 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
228
290
  const _component_a_input = input_default;
229
291
  const _component_a_radio_group = Group_default;
230
292
  const _component_a_radio = radio_default;
293
+ const _component_a_checkbox_group = Group_default$1;
294
+ const _component_a_checkbox = checkbox_default;
231
295
  const _component_a_select = Select;
232
- _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-79de9b56><div class="head" data-v-79de9b56><div data-v-79de9b56><h2 data-v-79de9b56>AgentTeam ${ssrInterpolate(_ctx.$t("teams.k3svl8y028"))}</h2><p class="sub" data-v-79de9b56>${ssrInterpolate(_ctx.$t("teams.k12gl4wn008"))}</p></div>`);
296
+ _push(`<div${ssrRenderAttrs(mergeProps({ class: "page" }, _attrs))} data-v-56172f39><div class="head" data-v-56172f39><div data-v-56172f39><h2 data-v-56172f39>AgentTeam ${ssrInterpolate(_ctx.$t("teams.k3svl8y028"))}</h2><p class="sub" data-v-56172f39>${ssrInterpolate(_ctx.$t("teams.k12gl4wn008"))}</p></div>`);
233
297
  _push(ssrRenderComponent(_component_a_space, null, {
234
298
  default: withCtx((_, _push, _parent, _scopeId) => {
235
299
  if (_push) {
@@ -263,7 +327,7 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
263
327
  }),
264
328
  _: 1
265
329
  }, _parent));
266
- _push(`</div><div class="toolbar" data-v-79de9b56>`);
330
+ _push(`</div><div class="toolbar" data-v-56172f39>`);
267
331
  _push(ssrRenderComponent(_component_a_segmented, {
268
332
  value: unref(filter),
269
333
  "onUpdate:value": ($event) => isRef(filter) ? filter.value = $event : null,
@@ -287,22 +351,22 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
287
351
  }
288
352
  ]
289
353
  }, null, _parent));
290
- if (unref(userStore).isAdmin) _push(`<span class="admin-note" data-v-79de9b56><span class="i-tabler-shield-check" data-v-79de9b56></span> ${ssrInterpolate(_ctx.$t("teams.k1bpgi8h010"))}</span>`);
354
+ if (unref(userStore).isAdmin) _push(`<span class="admin-note" data-v-56172f39><span class="i-tabler-shield-check" data-v-56172f39></span> ${ssrInterpolate(_ctx.$t("teams.k1bpgi8h010"))}</span>`);
291
355
  else _push(`<!---->`);
292
356
  _push(`</div>`);
293
357
  _push(ssrRenderComponent(_component_a_spin, { spinning: unref(loading) }, {
294
358
  default: withCtx((_, _push, _parent, _scopeId) => {
295
359
  if (_push) {
296
- _push(`<div class="grid" data-v-79de9b56${_scopeId}><!--[-->`);
360
+ _push(`<div class="grid" data-v-56172f39${_scopeId}><!--[-->`);
297
361
  ssrRenderList(unref(shown), (team) => {
298
- _push(`<div class="card" data-v-79de9b56${_scopeId}><div class="card-head" data-v-79de9b56${_scopeId}><span class="name" data-v-79de9b56${_scopeId}>${ssrInterpolate(team.name)}</span>`);
362
+ _push(`<div class="card" data-v-56172f39${_scopeId}><div class="card-head" data-v-56172f39${_scopeId}><span class="name" data-v-56172f39${_scopeId}>${ssrInterpolate(team.name)}</span>`);
299
363
  _push(ssrRenderComponent(_component_a_tag, {
300
364
  color: visTag(team).color,
301
365
  class: "vis-tag"
302
366
  }, {
303
367
  default: withCtx((_, _push, _parent, _scopeId) => {
304
368
  if (_push) {
305
- if (visTag(team).icon) _push(`<span class="${ssrRenderClass(visTag(team).icon)}" data-v-79de9b56${_scopeId}></span>`);
369
+ if (visTag(team).icon) _push(`<span class="${ssrRenderClass(visTag(team).icon)}" data-v-56172f39${_scopeId}></span>`);
306
370
  else _push(`<!---->`);
307
371
  _push(`${ssrInterpolate(visTag(team).text)}`);
308
372
  } else return [visTag(team).icon ? (openBlock(), createBlock("span", {
@@ -320,7 +384,7 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
320
384
  onChange: (v) => toggleVisibility(team, v === true)
321
385
  }, null, _parent, _scopeId));
322
386
  else _push(`<!---->`);
323
- _push(`<span class="owner" data-v-79de9b56${_scopeId}>${ssrInterpolate(team.ownerName ?? "-")}</span>`);
387
+ _push(`<span class="owner" data-v-56172f39${_scopeId}>${ssrInterpolate(team.ownerName ?? "-")}</span>`);
324
388
  if (canWrite(team)) _push(ssrRenderComponent(_component_a_dropdown, null, {
325
389
  overlay: withCtx((_, _push, _parent, _scopeId) => {
326
390
  if (_push) _push(ssrRenderComponent(_component_a_menu, null, {
@@ -333,6 +397,13 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
333
397
  }),
334
398
  _: 2
335
399
  }, _parent, _scopeId));
400
+ _push(ssrRenderComponent(_component_a_menu_item, { onClick: ($event) => openPlugins(team) }, {
401
+ default: withCtx((_, _push, _parent, _scopeId) => {
402
+ if (_push) _push(`${ssrInterpolate(_ctx.$t("teams.k1plugon047"))}`);
403
+ else return [createTextVNode(toDisplayString(_ctx.$t("teams.k1plugon047")), 1)];
404
+ }),
405
+ _: 2
406
+ }, _parent, _scopeId));
336
407
  _push(ssrRenderComponent(_component_a_menu_item, {
337
408
  danger: "",
338
409
  onClick: ($event) => removeTeam(team)
@@ -343,35 +414,49 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
343
414
  }),
344
415
  _: 2
345
416
  }, _parent, _scopeId));
346
- } else return [createVNode(_component_a_menu_item, { onClick: ($event) => openDeploy(team) }, {
417
+ } else return [
418
+ createVNode(_component_a_menu_item, { onClick: ($event) => openDeploy(team) }, {
419
+ default: withCtx(() => [createTextVNode(" 部署到 Channel… ")]),
420
+ _: 1
421
+ }, 8, ["onClick"]),
422
+ createVNode(_component_a_menu_item, { onClick: ($event) => openPlugins(team) }, {
423
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("teams.k1plugon047")), 1)]),
424
+ _: 1
425
+ }, 8, ["onClick"]),
426
+ createVNode(_component_a_menu_item, {
427
+ danger: "",
428
+ onClick: ($event) => removeTeam(team)
429
+ }, {
430
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("teams.k1bpojhf011")), 1)]),
431
+ _: 1
432
+ }, 8, ["onClick"])
433
+ ];
434
+ }),
435
+ _: 2
436
+ }, _parent, _scopeId));
437
+ else return [createVNode(_component_a_menu, null, {
438
+ default: withCtx(() => [
439
+ createVNode(_component_a_menu_item, { onClick: ($event) => openDeploy(team) }, {
347
440
  default: withCtx(() => [createTextVNode(" 部署到 Channel… ")]),
348
441
  _: 1
349
- }, 8, ["onClick"]), createVNode(_component_a_menu_item, {
442
+ }, 8, ["onClick"]),
443
+ createVNode(_component_a_menu_item, { onClick: ($event) => openPlugins(team) }, {
444
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("teams.k1plugon047")), 1)]),
445
+ _: 1
446
+ }, 8, ["onClick"]),
447
+ createVNode(_component_a_menu_item, {
350
448
  danger: "",
351
449
  onClick: ($event) => removeTeam(team)
352
450
  }, {
353
451
  default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("teams.k1bpojhf011")), 1)]),
354
452
  _: 1
355
- }, 8, ["onClick"])];
356
- }),
357
- _: 2
358
- }, _parent, _scopeId));
359
- else return [createVNode(_component_a_menu, null, {
360
- default: withCtx(() => [createVNode(_component_a_menu_item, { onClick: ($event) => openDeploy(team) }, {
361
- default: withCtx(() => [createTextVNode(" 部署到 Channel… ")]),
362
- _: 1
363
- }, 8, ["onClick"]), createVNode(_component_a_menu_item, {
364
- danger: "",
365
- onClick: ($event) => removeTeam(team)
366
- }, {
367
- default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("teams.k1bpojhf011")), 1)]),
368
- _: 1
369
- }, 8, ["onClick"])]),
453
+ }, 8, ["onClick"])
454
+ ]),
370
455
  _: 2
371
456
  }, 1024)];
372
457
  }),
373
458
  default: withCtx((_, _push, _parent, _scopeId) => {
374
- if (_push) _push(`<span class="i-tabler-dots op" data-v-79de9b56${_scopeId}></span>`);
459
+ if (_push) _push(`<span class="i-tabler-dots op" data-v-56172f39${_scopeId}></span>`);
375
460
  else return [createVNode("span", { class: "i-tabler-dots op" })];
376
461
  }),
377
462
  _: 2
@@ -388,9 +473,9 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
388
473
  }),
389
474
  _: 2
390
475
  }, _parent, _scopeId));
391
- _push(`</div><div class="members" data-v-79de9b56${_scopeId}><!--[-->`);
476
+ _push(`</div><div class="members" data-v-56172f39${_scopeId}><!--[-->`);
392
477
  ssrRenderList(team.members, (m) => {
393
- _push(`<div class="member" data-v-79de9b56${_scopeId}>`);
478
+ _push(`<div class="member" data-v-56172f39${_scopeId}>`);
394
479
  _push(ssrRenderComponent(_component_a_tag, {
395
480
  color: m.role === "lead" ? "gold" : "blue",
396
481
  class: "role"
@@ -401,8 +486,8 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
401
486
  }),
402
487
  _: 2
403
488
  }, _parent, _scopeId));
404
- _push(`<span class="member-name" data-v-79de9b56${_scopeId}>${ssrInterpolate(m.name)}</span><span class="member-harness" data-v-79de9b56${_scopeId}>${ssrInterpolate(m.harness)}</span>`);
405
- if (canWrite(team)) _push(`<span class="i-tabler-x rm" data-v-79de9b56${_scopeId}></span>`);
489
+ _push(`<span class="member-name" data-v-56172f39${_scopeId}>${ssrInterpolate(m.name)}</span><span class="member-harness" data-v-56172f39${_scopeId}>${ssrInterpolate(m.harness)}</span>`);
490
+ if (canWrite(team)) _push(`<span class="i-tabler-x rm" data-v-56172f39${_scopeId}></span>`);
406
491
  else _push(`<!---->`);
407
492
  _push(`</div>`);
408
493
  });
@@ -423,7 +508,7 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
423
508
  _push(`</div></div>`);
424
509
  });
425
510
  _push(`<!--]-->`);
426
- if (unref(shown).length === 0) _push(`<div class="card placeholder" data-v-79de9b56${_scopeId}><span class="i-tabler-plus big" data-v-79de9b56${_scopeId}></span><span data-v-79de9b56${_scopeId}>${ssrInterpolate(_ctx.$t("teams.k6cbbgf014"))}</span></div>`);
511
+ if (unref(shown).length === 0) _push(`<div class="card placeholder" data-v-56172f39${_scopeId}><span class="i-tabler-plus big" data-v-56172f39${_scopeId}></span><span data-v-56172f39${_scopeId}>${ssrInterpolate(_ctx.$t("teams.k6cbbgf014"))}</span></div>`);
427
512
  else _push(`<!---->`);
428
513
  _push(`</div>`);
429
514
  } else return [createVNode("div", { class: "grid" }, [(openBlock(true), createBlock(Fragment, null, renderList(unref(shown), (team) => {
@@ -453,16 +538,23 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
453
538
  createVNode("span", { class: "owner" }, toDisplayString(team.ownerName ?? "-"), 1),
454
539
  canWrite(team) ? (openBlock(), createBlock(_component_a_dropdown, { key: 1 }, {
455
540
  overlay: withCtx(() => [createVNode(_component_a_menu, null, {
456
- default: withCtx(() => [createVNode(_component_a_menu_item, { onClick: ($event) => openDeploy(team) }, {
457
- default: withCtx(() => [createTextVNode(" 部署到 Channel… ")]),
458
- _: 1
459
- }, 8, ["onClick"]), createVNode(_component_a_menu_item, {
460
- danger: "",
461
- onClick: ($event) => removeTeam(team)
462
- }, {
463
- default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("teams.k1bpojhf011")), 1)]),
464
- _: 1
465
- }, 8, ["onClick"])]),
541
+ default: withCtx(() => [
542
+ createVNode(_component_a_menu_item, { onClick: ($event) => openDeploy(team) }, {
543
+ default: withCtx(() => [createTextVNode(" 部署到 Channel… ")]),
544
+ _: 1
545
+ }, 8, ["onClick"]),
546
+ createVNode(_component_a_menu_item, { onClick: ($event) => openPlugins(team) }, {
547
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("teams.k1plugon047")), 1)]),
548
+ _: 1
549
+ }, 8, ["onClick"]),
550
+ createVNode(_component_a_menu_item, {
551
+ danger: "",
552
+ onClick: ($event) => removeTeam(team)
553
+ }, {
554
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.$t("teams.k1bpojhf011")), 1)]),
555
+ _: 1
556
+ }, 8, ["onClick"])
557
+ ]),
466
558
  _: 2
467
559
  }, 1024)]),
468
560
  default: withCtx(() => [createVNode("span", { class: "i-tabler-dots op" })]),
@@ -601,6 +693,75 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
601
693
  }),
602
694
  _: 1
603
695
  }, _parent, _scopeId));
696
+ if (unref(platformPlugins).length) _push(ssrRenderComponent(_component_a_form_item, { label: _ctx.$t("teams.k1plugon041") }, {
697
+ default: withCtx((_, _push, _parent, _scopeId) => {
698
+ if (_push) {
699
+ _push(ssrRenderComponent(_component_a_checkbox_group, {
700
+ value: unref(pluginChecked),
701
+ "onUpdate:value": ($event) => isRef(pluginChecked) ? pluginChecked.value = $event : null,
702
+ class: "plug-create-group"
703
+ }, {
704
+ default: withCtx((_, _push, _parent, _scopeId) => {
705
+ if (_push) {
706
+ _push(`<!--[-->`);
707
+ ssrRenderList(unref(platformPlugins), (p) => {
708
+ _push(ssrRenderComponent(_component_a_checkbox, {
709
+ key: p.name,
710
+ value: p.name
711
+ }, {
712
+ default: withCtx((_, _push, _parent, _scopeId) => {
713
+ if (_push) {
714
+ _push(`<span class="aw-mono" data-v-56172f39${_scopeId}>${ssrInterpolate(p.name)}</span>`);
715
+ if (p.builtin) _push(`<span class="plug-builtin-tag" data-v-56172f39${_scopeId}>${ssrInterpolate(_ctx.$t("teams.k3x23c018"))}</span>`);
716
+ else _push(`<!---->`);
717
+ } else return [createVNode("span", { class: "aw-mono" }, toDisplayString(p.name), 1), p.builtin ? (openBlock(), createBlock("span", {
718
+ key: 0,
719
+ class: "plug-builtin-tag"
720
+ }, toDisplayString(_ctx.$t("teams.k3x23c018")), 1)) : createCommentVNode("", true)];
721
+ }),
722
+ _: 2
723
+ }, _parent, _scopeId));
724
+ });
725
+ _push(`<!--]-->`);
726
+ } else return [(openBlock(true), createBlock(Fragment, null, renderList(unref(platformPlugins), (p) => {
727
+ return openBlock(), createBlock(_component_a_checkbox, {
728
+ key: p.name,
729
+ value: p.name
730
+ }, {
731
+ default: withCtx(() => [createVNode("span", { class: "aw-mono" }, toDisplayString(p.name), 1), p.builtin ? (openBlock(), createBlock("span", {
732
+ key: 0,
733
+ class: "plug-builtin-tag"
734
+ }, toDisplayString(_ctx.$t("teams.k3x23c018")), 1)) : createCommentVNode("", true)]),
735
+ _: 2
736
+ }, 1032, ["value"]);
737
+ }), 128))];
738
+ }),
739
+ _: 1
740
+ }, _parent, _scopeId));
741
+ _push(`<div class="plug-hint" data-v-56172f39${_scopeId}>${ssrInterpolate(_ctx.$t("teams.k1plugon042"))}</div>`);
742
+ } else return [createVNode(_component_a_checkbox_group, {
743
+ value: unref(pluginChecked),
744
+ "onUpdate:value": ($event) => isRef(pluginChecked) ? pluginChecked.value = $event : null,
745
+ class: "plug-create-group"
746
+ }, {
747
+ default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(unref(platformPlugins), (p) => {
748
+ return openBlock(), createBlock(_component_a_checkbox, {
749
+ key: p.name,
750
+ value: p.name
751
+ }, {
752
+ default: withCtx(() => [createVNode("span", { class: "aw-mono" }, toDisplayString(p.name), 1), p.builtin ? (openBlock(), createBlock("span", {
753
+ key: 0,
754
+ class: "plug-builtin-tag"
755
+ }, toDisplayString(_ctx.$t("teams.k3x23c018")), 1)) : createCommentVNode("", true)]),
756
+ _: 2
757
+ }, 1032, ["value"]);
758
+ }), 128))]),
759
+ _: 1
760
+ }, 8, ["value", "onUpdate:value"]), createVNode("div", { class: "plug-hint" }, toDisplayString(_ctx.$t("teams.k1plugon042")), 1)];
761
+ }),
762
+ _: 1
763
+ }, _parent, _scopeId));
764
+ else _push(`<!---->`);
604
765
  } else return [
605
766
  createVNode(_component_a_form_item, { label: _ctx.$t("teams.k3xhia003") }, {
606
767
  default: withCtx(() => [createVNode(_component_a_input, {
@@ -631,7 +792,32 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
631
792
  _: 1
632
793
  }, 8, ["value", "onUpdate:value"])]),
633
794
  _: 1
634
- }, 8, ["label"])
795
+ }, 8, ["label"]),
796
+ unref(platformPlugins).length ? (openBlock(), createBlock(_component_a_form_item, {
797
+ key: 0,
798
+ label: _ctx.$t("teams.k1plugon041")
799
+ }, {
800
+ default: withCtx(() => [createVNode(_component_a_checkbox_group, {
801
+ value: unref(pluginChecked),
802
+ "onUpdate:value": ($event) => isRef(pluginChecked) ? pluginChecked.value = $event : null,
803
+ class: "plug-create-group"
804
+ }, {
805
+ default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(unref(platformPlugins), (p) => {
806
+ return openBlock(), createBlock(_component_a_checkbox, {
807
+ key: p.name,
808
+ value: p.name
809
+ }, {
810
+ default: withCtx(() => [createVNode("span", { class: "aw-mono" }, toDisplayString(p.name), 1), p.builtin ? (openBlock(), createBlock("span", {
811
+ key: 0,
812
+ class: "plug-builtin-tag"
813
+ }, toDisplayString(_ctx.$t("teams.k3x23c018")), 1)) : createCommentVNode("", true)]),
814
+ _: 2
815
+ }, 1032, ["value"]);
816
+ }), 128))]),
817
+ _: 1
818
+ }, 8, ["value", "onUpdate:value"]), createVNode("div", { class: "plug-hint" }, toDisplayString(_ctx.$t("teams.k1plugon042")), 1)]),
819
+ _: 1
820
+ }, 8, ["label"])) : createCommentVNode("", true)
635
821
  ];
636
822
  }),
637
823
  _: 1
@@ -667,7 +853,32 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
667
853
  _: 1
668
854
  }, 8, ["value", "onUpdate:value"])]),
669
855
  _: 1
670
- }, 8, ["label"])
856
+ }, 8, ["label"]),
857
+ unref(platformPlugins).length ? (openBlock(), createBlock(_component_a_form_item, {
858
+ key: 0,
859
+ label: _ctx.$t("teams.k1plugon041")
860
+ }, {
861
+ default: withCtx(() => [createVNode(_component_a_checkbox_group, {
862
+ value: unref(pluginChecked),
863
+ "onUpdate:value": ($event) => isRef(pluginChecked) ? pluginChecked.value = $event : null,
864
+ class: "plug-create-group"
865
+ }, {
866
+ default: withCtx(() => [(openBlock(true), createBlock(Fragment, null, renderList(unref(platformPlugins), (p) => {
867
+ return openBlock(), createBlock(_component_a_checkbox, {
868
+ key: p.name,
869
+ value: p.name
870
+ }, {
871
+ default: withCtx(() => [createVNode("span", { class: "aw-mono" }, toDisplayString(p.name), 1), p.builtin ? (openBlock(), createBlock("span", {
872
+ key: 0,
873
+ class: "plug-builtin-tag"
874
+ }, toDisplayString(_ctx.$t("teams.k3x23c018")), 1)) : createCommentVNode("", true)]),
875
+ _: 2
876
+ }, 1032, ["value"]);
877
+ }), 128))]),
878
+ _: 1
879
+ }, 8, ["value", "onUpdate:value"]), createVNode("div", { class: "plug-hint" }, toDisplayString(_ctx.$t("teams.k1plugon042")), 1)]),
880
+ _: 1
881
+ }, 8, ["label"])) : createCommentVNode("", true)
671
882
  ]),
672
883
  _: 1
673
884
  })];
@@ -892,6 +1103,95 @@ var teams_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
892
1103
  }),
893
1104
  _: 1
894
1105
  }, _parent));
1106
+ _push(ssrRenderComponent(_component_a_modal, {
1107
+ open: unref(plugOpen),
1108
+ "onUpdate:open": ($event) => isRef(plugOpen) ? plugOpen.value = $event : null,
1109
+ title: _ctx.$t("teams.k1plugon040", { p0: unref(plugTeamRef)?.name ?? "" }),
1110
+ footer: null
1111
+ }, {
1112
+ default: withCtx((_, _push, _parent, _scopeId) => {
1113
+ if (_push) _push(ssrRenderComponent(_component_a_spin, { spinning: unref(plugLoading) }, {
1114
+ default: withCtx((_, _push, _parent, _scopeId) => {
1115
+ if (_push) {
1116
+ _push(`<p class="plug-source" data-v-56172f39${_scopeId}>`);
1117
+ if (unref(plugSource) === "explicit") _push(`<!--[-->${ssrInterpolate(_ctx.$t("teams.k1plugon045"))}<!--]-->`);
1118
+ else _push(`<!--[-->${ssrInterpolate(_ctx.$t("teams.k1plugon044"))}<!--]-->`);
1119
+ _push(`</p><!--[-->`);
1120
+ ssrRenderList(unref(plugRows), (row) => {
1121
+ _push(`<div class="plug-row" data-v-56172f39${_scopeId}><div class="plug-text" data-v-56172f39${_scopeId}><div class="plug-name" data-v-56172f39${_scopeId}><span class="aw-mono" data-v-56172f39${_scopeId}>${ssrInterpolate(row.name)}</span>`);
1122
+ if (row.builtin) _push(`<span class="plug-builtin-tag" data-v-56172f39${_scopeId}>${ssrInterpolate(_ctx.$t("teams.k3x23c018"))}</span>`);
1123
+ else _push(`<!---->`);
1124
+ _push(`</div><div class="plug-desc" data-v-56172f39${_scopeId}>${ssrInterpolate(row.description || "—")}</div></div>`);
1125
+ _push(ssrRenderComponent(_component_a_switch, {
1126
+ checked: row.enabled,
1127
+ size: "small",
1128
+ loading: unref(plugSaving) === row.name,
1129
+ onChange: (v) => toggleTeamPlugin(row, v === true)
1130
+ }, null, _parent, _scopeId));
1131
+ _push(`</div>`);
1132
+ });
1133
+ _push(`<!--]-->`);
1134
+ if (unref(plugRows).length === 0 && !unref(plugLoading)) _push(`<div class="plug-hint" data-v-56172f39${_scopeId}>${ssrInterpolate(_ctx.$t("teams.k1plugon046"))}</div>`);
1135
+ else _push(`<!---->`);
1136
+ } else return [
1137
+ createVNode("p", { class: "plug-source" }, [unref(plugSource) === "explicit" ? (openBlock(), createBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(_ctx.$t("teams.k1plugon045")), 1)], 64)) : (openBlock(), createBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(_ctx.$t("teams.k1plugon044")), 1)], 64))]),
1138
+ (openBlock(true), createBlock(Fragment, null, renderList(unref(plugRows), (row) => {
1139
+ return openBlock(), createBlock("div", {
1140
+ key: row.name,
1141
+ class: "plug-row"
1142
+ }, [createVNode("div", { class: "plug-text" }, [createVNode("div", { class: "plug-name" }, [createVNode("span", { class: "aw-mono" }, toDisplayString(row.name), 1), row.builtin ? (openBlock(), createBlock("span", {
1143
+ key: 0,
1144
+ class: "plug-builtin-tag"
1145
+ }, toDisplayString(_ctx.$t("teams.k3x23c018")), 1)) : createCommentVNode("", true)]), createVNode("div", { class: "plug-desc" }, toDisplayString(row.description || "—"), 1)]), createVNode(_component_a_switch, {
1146
+ checked: row.enabled,
1147
+ size: "small",
1148
+ loading: unref(plugSaving) === row.name,
1149
+ onChange: (v) => toggleTeamPlugin(row, v === true)
1150
+ }, null, 8, [
1151
+ "checked",
1152
+ "loading",
1153
+ "onChange"
1154
+ ])]);
1155
+ }), 128)),
1156
+ unref(plugRows).length === 0 && !unref(plugLoading) ? (openBlock(), createBlock("div", {
1157
+ key: 0,
1158
+ class: "plug-hint"
1159
+ }, toDisplayString(_ctx.$t("teams.k1plugon046")), 1)) : createCommentVNode("", true)
1160
+ ];
1161
+ }),
1162
+ _: 1
1163
+ }, _parent, _scopeId));
1164
+ else return [createVNode(_component_a_spin, { spinning: unref(plugLoading) }, {
1165
+ default: withCtx(() => [
1166
+ createVNode("p", { class: "plug-source" }, [unref(plugSource) === "explicit" ? (openBlock(), createBlock(Fragment, { key: 0 }, [createTextVNode(toDisplayString(_ctx.$t("teams.k1plugon045")), 1)], 64)) : (openBlock(), createBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(_ctx.$t("teams.k1plugon044")), 1)], 64))]),
1167
+ (openBlock(true), createBlock(Fragment, null, renderList(unref(plugRows), (row) => {
1168
+ return openBlock(), createBlock("div", {
1169
+ key: row.name,
1170
+ class: "plug-row"
1171
+ }, [createVNode("div", { class: "plug-text" }, [createVNode("div", { class: "plug-name" }, [createVNode("span", { class: "aw-mono" }, toDisplayString(row.name), 1), row.builtin ? (openBlock(), createBlock("span", {
1172
+ key: 0,
1173
+ class: "plug-builtin-tag"
1174
+ }, toDisplayString(_ctx.$t("teams.k3x23c018")), 1)) : createCommentVNode("", true)]), createVNode("div", { class: "plug-desc" }, toDisplayString(row.description || "—"), 1)]), createVNode(_component_a_switch, {
1175
+ checked: row.enabled,
1176
+ size: "small",
1177
+ loading: unref(plugSaving) === row.name,
1178
+ onChange: (v) => toggleTeamPlugin(row, v === true)
1179
+ }, null, 8, [
1180
+ "checked",
1181
+ "loading",
1182
+ "onChange"
1183
+ ])]);
1184
+ }), 128)),
1185
+ unref(plugRows).length === 0 && !unref(plugLoading) ? (openBlock(), createBlock("div", {
1186
+ key: 0,
1187
+ class: "plug-hint"
1188
+ }, toDisplayString(_ctx.$t("teams.k1plugon046")), 1)) : createCommentVNode("", true)
1189
+ ]),
1190
+ _: 1
1191
+ }, 8, ["spinning"])];
1192
+ }),
1193
+ _: 1
1194
+ }, _parent));
895
1195
  _push(`</div>`);
896
1196
  };
897
1197
  }
@@ -904,7 +1204,7 @@ teams_vue_vue_type_script_setup_true_lang_default.setup = (props, ctx) => {
904
1204
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/workshop/teams.vue");
905
1205
  return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
906
1206
  };
907
- var teams_default = /*#__PURE__*/ _plugin_vue_export_helper_default(teams_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-79de9b56"]]);
1207
+ var teams_default = /*#__PURE__*/ _plugin_vue_export_helper_default(teams_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-56172f39"]]);
908
1208
 
909
1209
  export { teams_default as default };
910
- //# sourceMappingURL=teams-Cbg27MWW.mjs.map
1210
+ //# sourceMappingURL=teams-t2SkRlJP.mjs.map