agentworkshop 0.7.39 → 0.7.41

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 (405) hide show
  1. package/.AgentWorkShop/prompts/host-tools.json +55 -0
  2. package/.output/.AgentWorkShop/prompts/host-tools.json +55 -0
  3. package/.output/nitro.json +1 -1
  4. package/.output/public/_nuxt/88GOowgO2.js +1 -0
  5. package/.output/public/_nuxt/{BNT8gYU92.js → BC9wjTJK2.js} +2 -2
  6. package/.output/public/_nuxt/{CY9LbPCI.js → BN16aRdQ.js} +1 -1
  7. package/.output/public/_nuxt/BWVhZntO.js +1 -0
  8. package/.output/public/_nuxt/{HBLJ-wei.js → BXxH0UQE.js} +1 -1
  9. package/.output/public/_nuxt/{zIGh7R49.js → BneN7fbu.js} +1 -1
  10. package/.output/public/_nuxt/BsROmY89.js +1 -0
  11. package/.output/public/_nuxt/{DUrecWPx.js → C0ZrS1KL.js} +2 -2
  12. package/.output/public/_nuxt/{C_OLzD09.js → C4oW1HsE.js} +1 -1
  13. package/.output/public/_nuxt/{CUDwzgLV.js → C4s_niy-.js} +9 -9
  14. package/.output/public/_nuxt/CFxtLwjp.js +1 -0
  15. package/.output/public/_nuxt/{Cec0Ua3F.js → CS50LB_l.js} +1 -1
  16. package/.output/public/_nuxt/CssgYAAL2.js +1 -0
  17. package/.output/public/_nuxt/D6mbFA-a.js +1 -0
  18. package/.output/public/_nuxt/D98NH8kG.js +1 -0
  19. package/.output/public/_nuxt/DGIuvyRN2.js +1 -0
  20. package/.output/public/_nuxt/DGbd-UiG.js +1 -0
  21. package/.output/public/_nuxt/{CojCTLKD.js → DGj-WEBg.js} +1 -1
  22. package/.output/public/_nuxt/{DDShH71m.js → DS8qj8EL.js} +1 -1
  23. package/.output/public/_nuxt/DTFCy6h-.js +1 -0
  24. package/.output/public/_nuxt/{DrYV5i68.js → DUjW5Yq5.js} +1 -1
  25. package/.output/public/_nuxt/{45zuyAso.js → D_OTvQza.js} +1 -1
  26. package/.output/public/_nuxt/Dap5PmTL.js +2 -0
  27. package/.output/public/_nuxt/Dqw1lpr-.js +1 -0
  28. package/.output/public/_nuxt/DvLxILQP.js +1 -0
  29. package/.output/public/_nuxt/IREZ1eC2.js +1 -0
  30. package/.output/public/_nuxt/TownView.f-YOdXRs.css +1 -0
  31. package/.output/public/_nuxt/_id_.D9ymtHB5.css +1 -0
  32. package/.output/public/_nuxt/_id_.jf-_8E_c.css +1 -0
  33. package/.output/public/_nuxt/_wsId_.B4WiqkIS.css +1 -0
  34. package/.output/public/_nuxt/agents.ZD0rVdHE.css +1 -0
  35. package/.output/public/_nuxt/aml.BN8ZEW4h.css +1 -0
  36. package/.output/public/_nuxt/builds/latest.json +1 -1
  37. package/.output/public/_nuxt/builds/meta/78a295bb-2072-48a4-8b46-6d545fdae743.json +1 -0
  38. package/.output/public/_nuxt/ca4TJ3Op.js +1 -0
  39. package/.output/public/_nuxt/channel-templates.BOtahzPi.css +1 -0
  40. package/.output/public/_nuxt/daq.DjSgY94l.css +1 -0
  41. package/.output/public/_nuxt/dcw.8Y7FqCVN.css +1 -0
  42. package/.output/public/_nuxt/default.J32SgqFY.css +1 -0
  43. package/.output/public/_nuxt/entry.bdm0tv6M.css +1 -0
  44. package/.output/public/_nuxt/eqq3wWQF.js +18 -0
  45. package/.output/public/_nuxt/logs.BpKzmKsh.css +1 -0
  46. package/.output/public/_nuxt/monitor.D9pe7qN6.css +1 -0
  47. package/.output/public/_nuxt/pages.D7aSDlUI.css +1 -0
  48. package/.output/public/_nuxt/permissions.DwTVlFe6.css +1 -0
  49. package/.output/public/_nuxt/plugins.sb4nDGqr.css +1 -0
  50. package/.output/public/_nuxt/{Cbq-mryP.js → qr6R6Ha1.js} +1 -1
  51. package/.output/public/_nuxt/settings.BTgR-NiE.css +1 -0
  52. package/.output/public/_nuxt/teams.CxnxKVVs.css +1 -0
  53. package/.output/public/_nuxt/tokens.BFY7qv4f.css +1 -0
  54. package/.output/public/_nuxt/{town.DKIAhKnx.css → town.BBXZmeoP.css} +1 -1
  55. package/.output/public/_nuxt/users.DLgZ1D0h.css +1 -0
  56. package/.output/public/_nuxt/workshop.CR_QzeAN.css +1 -0
  57. package/.output/public/_nuxt/{BzHEilTt.js → xh3_vYcu.js} +1 -1
  58. package/.output/public/_nuxt/yF0aYMF1.js +4 -0
  59. package/.output/server/chunks/_/entity.mjs.map +1 -1
  60. package/.output/server/chunks/_/nitro.mjs +2355 -1362
  61. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  62. package/.output/server/chunks/build/{TownView-jVazYOjN.mjs → TownView--otsnr_7.mjs} +290 -208
  63. package/.output/server/chunks/build/TownView--otsnr_7.mjs.map +1 -0
  64. package/.output/server/chunks/build/{_id_-CfVosNg3.mjs → _id_-Brv-JSvr.mjs} +142 -141
  65. package/.output/server/chunks/build/_id_-Brv-JSvr.mjs.map +1 -0
  66. package/.output/server/chunks/build/{_id_-Hwr4rZpr.mjs → _id_-D9pl1OZy.mjs} +38 -36
  67. package/.output/server/chunks/build/_id_-D9pl1OZy.mjs.map +1 -0
  68. package/.output/server/chunks/build/{_wsId_-BVg3bB77.mjs → _wsId_-BASfDf0s.mjs} +295 -261
  69. package/.output/server/chunks/build/{_wsId_-BVg3bB77.mjs.map → _wsId_-BASfDf0s.mjs.map} +1 -1
  70. package/.output/server/chunks/build/{agents-Bvin73QY.mjs → agents-CLQqJF2y.mjs} +21 -27
  71. package/.output/server/chunks/build/agents-CLQqJF2y.mjs.map +1 -0
  72. package/.output/server/chunks/build/{aml-BCSJCdX7.mjs → aml-_7FdFL2p.mjs} +109 -109
  73. package/.output/server/chunks/build/{aml-BCSJCdX7.mjs.map → aml-_7FdFL2p.mjs.map} +1 -1
  74. package/.output/server/chunks/build/api-error-dul30BYQ.mjs.map +1 -1
  75. package/.output/server/chunks/build/{channel-templates-BTq8570n.mjs → channel-templates-p6SZNjlM.mjs} +19 -19
  76. package/.output/server/chunks/build/{channel-templates-BTq8570n.mjs.map → channel-templates-p6SZNjlM.mjs.map} +1 -1
  77. package/.output/server/chunks/build/{daq-C03Uu5UE.mjs → daq-DkMvD8sg.mjs} +193 -126
  78. package/.output/server/chunks/build/daq-DkMvD8sg.mjs.map +1 -0
  79. package/.output/server/chunks/build/{dcw-6vEYVeje.mjs → dcw-C1jgVJkO.mjs} +46 -46
  80. package/.output/server/chunks/build/{dcw-6vEYVeje.mjs.map → dcw-C1jgVJkO.mjs.map} +1 -1
  81. package/.output/server/chunks/build/{default-CZmZFpqH.mjs → default-BE4r0FZN.mjs} +152 -58
  82. package/.output/server/chunks/build/{default-CZmZFpqH.mjs.map → default-BE4r0FZN.mjs.map} +1 -1
  83. package/.output/server/chunks/build/{logs-B-xhuqln.mjs → logs--dByNyhw.mjs} +35 -35
  84. package/.output/server/chunks/build/{logs-B-xhuqln.mjs.map → logs--dByNyhw.mjs.map} +1 -1
  85. package/.output/server/chunks/build/{monitor-CyfDt4nR.mjs → monitor-C0okQaXz.mjs} +33 -33
  86. package/.output/server/chunks/build/{monitor-CyfDt4nR.mjs.map → monitor-C0okQaXz.mjs.map} +1 -1
  87. package/.output/server/chunks/build/{pages-BO7yZsXA.mjs → pages-B0bUWnC6.mjs} +35 -19
  88. package/.output/server/chunks/build/pages-B0bUWnC6.mjs.map +1 -0
  89. package/.output/server/chunks/build/{permissions-B52oOmaO.mjs → permissions-68SsNjex.mjs} +12 -12
  90. package/.output/server/chunks/build/{permissions-B52oOmaO.mjs.map → permissions-68SsNjex.mjs.map} +1 -1
  91. package/.output/server/chunks/build/{plugins-CUWmMdyt.mjs → plugins-lGlUr1lj.mjs} +17 -17
  92. package/.output/server/chunks/build/{plugins-CUWmMdyt.mjs.map → plugins-lGlUr1lj.mjs.map} +1 -1
  93. package/.output/server/chunks/build/{settings-DoQ2Oq3P.mjs → settings-Ddd1qx2Z.mjs} +50 -47
  94. package/.output/server/chunks/build/settings-Ddd1qx2Z.mjs.map +1 -0
  95. package/.output/server/chunks/build/{teams-2kz3CusY.mjs → teams-MEDLZdMn.mjs} +38 -34
  96. package/.output/server/chunks/build/teams-MEDLZdMn.mjs.map +1 -0
  97. package/.output/server/chunks/build/{tokens-BbWLqtVz.mjs → tokens-C7fTM5C2.mjs} +14 -14
  98. package/.output/server/chunks/build/{tokens-BbWLqtVz.mjs.map → tokens-C7fTM5C2.mjs.map} +1 -1
  99. package/.output/server/chunks/build/{town-BOl6hs9B.mjs → town-CoQdblbZ.mjs} +38 -12
  100. package/.output/server/chunks/build/town-CoQdblbZ.mjs.map +1 -0
  101. package/.output/server/chunks/build/{useDaqStream-CIBaiGAl.mjs → useDaqStream-DfCFpb3p.mjs} +9 -3
  102. package/.output/server/chunks/build/useDaqStream-DfCFpb3p.mjs.map +1 -0
  103. package/.output/server/chunks/build/{useDcwStream-CBbiYnWe.mjs → useDcwStream-UPiX-3iO.mjs} +11 -2
  104. package/.output/server/chunks/build/useDcwStream-UPiX-3iO.mjs.map +1 -0
  105. package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs +49 -0
  106. package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs.map +1 -0
  107. package/.output/server/chunks/build/{users-fohSmF-J.mjs → users-Cfd5-l2-.mjs} +6 -6
  108. package/.output/server/chunks/build/{users-fohSmF-J.mjs.map → users-Cfd5-l2-.mjs.map} +1 -1
  109. package/.output/server/chunks/build/{workshop-DX5-ldc4.mjs → workshop-BL5bhfs0.mjs} +15 -15
  110. package/.output/server/chunks/build/{workshop-DX5-ldc4.mjs.map → workshop-BL5bhfs0.mjs.map} +1 -1
  111. package/.output/server/chunks/build/{workspaces-BuydxM-3.mjs → workspaces-Bgz5Ekwp.mjs} +18 -3
  112. package/.output/server/chunks/build/workspaces-Bgz5Ekwp.mjs.map +1 -0
  113. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs.map +1 -1
  114. package/.output/server/chunks/routes/api/system/index.patch.mjs.map +1 -1
  115. package/.output/server/chunks/routes/api/system/index.post.mjs.map +1 -1
  116. package/.output/server/chunks/routes/api/system/settings/events.get.mjs.map +1 -1
  117. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +6 -2
  118. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs.map +1 -1
  119. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +2 -1
  120. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs.map +1 -1
  121. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
  122. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +3 -3
  123. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs.map +1 -1
  124. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs.map +1 -1
  125. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs.map +1 -1
  126. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +3 -2
  127. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs.map +1 -1
  128. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -1
  129. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs.map +1 -1
  130. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +8 -6
  131. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs.map +1 -1
  132. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +5 -5
  133. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs.map +1 -1
  134. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +14 -4
  135. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs.map +1 -1
  136. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +4 -4
  137. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs.map +1 -1
  138. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +4 -3
  139. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs.map +1 -1
  140. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +31 -0
  141. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs.map +1 -0
  142. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +28 -0
  143. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs.map +1 -0
  144. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
  145. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
  146. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs.map +1 -1
  147. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +32 -0
  148. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs.map +1 -0
  149. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +34 -0
  150. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs.map +1 -0
  151. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +33 -0
  152. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs.map +1 -0
  153. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +34 -0
  154. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs.map +1 -0
  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/harnesses/_id/providers.get.mjs +1 -1
  158. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
  159. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  160. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  161. package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
  162. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +3 -1
  163. package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
  164. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +5 -1
  165. package/.output/server/chunks/routes/api/workshop/index6.get.mjs.map +1 -1
  166. package/.output/server/chunks/routes/api/workshop/index9.get.mjs +3 -1
  167. package/.output/server/chunks/routes/api/workshop/index9.get.mjs.map +1 -1
  168. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  169. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  170. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  171. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  172. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
  173. package/.output/server/chunks/routes/renderer.mjs +3 -3
  174. package/.output/server/chunks/virtual/entry.mjs +51 -25
  175. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  176. package/.output/server/package.json +1 -1
  177. package/README-zh.md +203 -39
  178. package/README.md +739 -591
  179. package/app/app.vue +9 -3
  180. package/app/assets/css/main.css +517 -7
  181. package/app/components/AppHeader.vue +98 -7
  182. package/app/components/AppSidebar.vue +117 -11
  183. package/app/components/AwChart.vue +2 -1
  184. package/app/components/workshop/AgentInspectorDrawer.vue +6 -6
  185. package/app/components/workshop/AgentLanesView.vue +52 -1
  186. package/app/components/workshop/AssetLibrary.vue +4 -2
  187. package/app/components/workshop/ChannelSessionList.vue +4 -2
  188. package/app/components/workshop/Composer.vue +96 -0
  189. package/app/components/workshop/DaqNodeRow.vue +19 -0
  190. package/app/components/workshop/DaqTemplateIcon.vue +33 -0
  191. package/app/components/workshop/DeviceTwinPanel.vue +37 -35
  192. package/app/components/workshop/EventBlock.vue +3 -3
  193. package/app/components/workshop/InspectorPanel.vue +47 -11
  194. package/app/components/workshop/LiveAgentBar.vue +34 -0
  195. package/app/components/workshop/TaskBoardView.vue +83 -33
  196. package/app/components/workshop/TranscriptTimeline.vue +56 -0
  197. package/app/components/workshop/blocks/ClusterError.vue +1 -1
  198. package/app/components/workshop/blocks/ClusterRoute.vue +3 -1
  199. package/app/components/workshop/blocks/ClusterStatus.vue +2 -2
  200. package/app/components/workshop/blocks/ClusterStream.vue +8 -2
  201. package/app/components/workshop/town/ModelPreview3D.vue +1 -1
  202. package/app/components/workshop/town/TownView.vue +507 -82
  203. package/app/composables/useResponsive.ts +88 -0
  204. package/app/composables/useRouteMeta.ts +3 -0
  205. package/app/composables/workshop/useDaqStream.ts +7 -4
  206. package/app/composables/workshop/useDcwStream.ts +8 -2
  207. package/app/composables/workshop/useVisibleInterval.ts +2 -2
  208. package/app/composables/workshop/useWorkshopApi.ts +1 -1
  209. package/app/layouts/default.vue +46 -2
  210. package/app/pages/aml/index.vue +712 -616
  211. package/app/pages/daq/[id].vue +12 -7
  212. package/app/pages/daq/index.vue +216 -13
  213. package/app/pages/dcw/[id].vue +117 -32
  214. package/app/pages/dcw/index.vue +83 -23
  215. package/app/pages/index.vue +35 -1
  216. package/app/pages/logs/index.vue +147 -13
  217. package/app/pages/monitor.vue +56 -12
  218. package/app/pages/permissions/index.vue +34 -0
  219. package/app/pages/plugins/index.vue +35 -4
  220. package/app/pages/settings.vue +90 -21
  221. package/app/pages/tokens.vue +23 -0
  222. package/app/pages/town.vue +50 -5
  223. package/app/pages/users.vue +23 -0
  224. package/app/pages/workshop/agents.vue +92 -2
  225. package/app/pages/workshop/channel-templates.vue +53 -0
  226. package/app/pages/workshop/index.vue +14 -0
  227. package/app/pages/workshop/teams.vue +66 -6
  228. package/app/pages/workshop/w/[wsId].vue +202 -14
  229. package/app/plugins/aw-plugins.client.ts +13 -8
  230. package/app/stores/app.ts +33 -1
  231. package/app/stores/workshop/user.ts +1 -1
  232. package/app/stores/workshop/workspaces.ts +18 -2
  233. package/app/utils/api-error.ts +1 -1
  234. package/cli/commands/build.mjs +8 -1
  235. package/docker-compose.yml +6 -0
  236. package/docs/cli.en.md +2 -2
  237. package/docs/cli.md +2 -2
  238. package/docs/plugins.en.md +33 -1
  239. package/docs/plugins.md +29 -1
  240. package/docs/sdk.en.md +1 -1
  241. package/docs/sdk.md +1 -1
  242. package/i18n/locales/en.ts +2 -0
  243. package/i18n/locales/zh-CN.ts +2 -0
  244. package/nuxt.config.ts +31 -0
  245. package/package.json +11 -2
  246. package/scripts/_dbg-param-map-e2e.ts +242 -0
  247. package/scripts/_dbg-param-map-rest-smoke.mjs +73 -0
  248. package/scripts/_dbg-param-real-scenario.mjs +153 -0
  249. package/scripts/_loop-biax-campaign.mjs +124 -0
  250. package/scripts/api-live-e2e.mjs +40 -8
  251. package/scripts/capture-walkthrough.mjs +232 -0
  252. package/scripts/render-walkthrough-figure.mjs +46 -0
  253. package/scripts/seed-walkthrough-fixture.mjs +143 -0
  254. package/scripts/test-plugin-hardening.mjs +8 -0
  255. package/scripts/test-serial-bridge.mjs +418 -0
  256. package/scripts/ui/admin-shots.mjs +46 -0
  257. package/scripts/ui/audit-layout.mjs +301 -0
  258. package/scripts/ui/bump-microfont.mjs +39 -0
  259. package/scripts/ui/e2e-interactive.mjs +328 -0
  260. package/scripts/ui/lib.mjs +198 -0
  261. package/scripts/ui/linkcheck2.mjs +37 -0
  262. package/scripts/ui/live-render-check.mjs +72 -0
  263. package/scripts/ui/md-lint.mjs +80 -0
  264. package/scripts/ui/perf-audit.mjs +132 -0
  265. package/scripts/ui/readme-assets.mjs +30 -0
  266. package/scripts/ui/readme-shots.mjs +42 -0
  267. package/scripts/ui/record.mjs +225 -0
  268. package/scripts/ui/seed-admin.mjs +68 -0
  269. package/scripts/ui/seed-demo.mjs +83 -0
  270. package/scripts/ui/seed-industrial-demo.mjs +171 -0
  271. package/scripts/ui/shot-hero.mjs +25 -0
  272. package/scripts/ui/shots.mjs +75 -0
  273. package/scripts/ui/sim-ui-shot.mjs +16 -0
  274. package/scripts/ui/verify-nav.mjs +51 -0
  275. package/scripts/ui/verify-responsive.mjs +285 -0
  276. package/server/api/system/config-groups/[id].patch.ts +1 -1
  277. package/server/api/system/config-groups/index.post.ts +1 -1
  278. package/server/api/system/settings/events.get.ts +1 -1
  279. package/server/api/system/settings/index.patch.ts +1 -1
  280. package/server/api/workshop/agent-tools/invoke.post.ts +16 -2
  281. package/server/api/workshop/aml/datasets/[id].get.ts +8 -1
  282. package/server/api/workshop/daq/index.get.ts +3 -1
  283. package/server/api/workshop/daq/infra/reconnect.post.ts +1 -1
  284. package/server/api/workshop/daq/templates/[key].delete.ts +1 -0
  285. package/server/api/workshop/daq/templates/[key].patch.ts +1 -0
  286. package/server/api/workshop/daq/templates/index.post.ts +1 -0
  287. package/server/api/workshop/dcw/[id]/write.post.ts +10 -2
  288. package/server/api/workshop/dcw/[id].delete.ts +5 -2
  289. package/server/api/workshop/dcw/index.get.ts +5 -0
  290. package/server/api/workshop/dcw/lines/[id].patch.ts +1 -1
  291. package/server/api/workshop/dcw/params/[id]/read.post.ts +17 -0
  292. package/server/api/workshop/dcw/params/[id]/write.post.ts +21 -0
  293. package/server/api/workshop/dcw/params/[id].delete.ts +19 -0
  294. package/server/api/workshop/dcw/params/[id].patch.ts +23 -0
  295. package/server/api/workshop/dcw/params/index.get.ts +27 -0
  296. package/server/api/workshop/dcw/params/index.post.ts +25 -0
  297. package/server/api/workshop/permissions/index.get.ts +3 -1
  298. package/server/plugins/aw-plugins.ts +23 -10
  299. package/server/plugins/dev-stability-guard.ts +3 -1
  300. package/server/plugins/system-config.ts +6 -1
  301. package/server/plugins-builtin/serial-bridge/client.mjs +210 -0
  302. package/server/plugins-builtin/serial-bridge/drivers.mjs +409 -0
  303. package/server/plugins-builtin/serial-bridge/i18n.json +62 -0
  304. package/server/plugins-builtin/serial-bridge/index.mjs +247 -0
  305. package/server/plugins-builtin/serial-bridge/lib.mjs +208 -0
  306. package/server/plugins-builtin/serial-bridge/rtu.mjs +168 -0
  307. package/server/services/system-config.ts +28 -9
  308. package/server/services/workshop/agents/adapters/one-shot-cli-agent.ts +2 -1
  309. package/server/services/workshop/agents/agent-interface.ts +8 -6
  310. package/server/services/workshop/agents/base-agent.ts +18 -4
  311. package/server/services/workshop/agents/claude-agent.ts +7 -3
  312. package/server/services/workshop/agents/codex-agent.ts +3 -3
  313. package/server/services/workshop/agents/dsh-agent.ts +3 -3
  314. package/server/services/workshop/agents/goose-agent.ts +0 -1
  315. package/server/services/workshop/agents/harness-terminal.ts +14 -1
  316. package/server/services/workshop/agents/hermes-agent.ts +4 -2
  317. package/server/services/workshop/agents/host-tool-bridge.ts +5 -1
  318. package/server/services/workshop/agents/industrial-context.ts +4 -1
  319. package/server/services/workshop/agents/industrial-tools.ts +164 -6
  320. package/server/services/workshop/agents/omp-agent.ts +15 -9
  321. package/server/services/workshop/agents/opencode-agent.ts +47 -21
  322. package/server/services/workshop/agents/qwen-agent.ts +10 -5
  323. package/server/services/workshop/aml/entity.ts +3 -1
  324. package/server/services/workshop/aml/python-runtime.ts +3 -2
  325. package/server/services/workshop/daq/bus/mqtt.adapter.ts +8 -4
  326. package/server/services/workshop/daq/daq-controller.ts +25 -5
  327. package/server/services/workshop/daq/daq-runtime.ts +5 -3
  328. package/server/services/workshop/daq/drivers.ts +141 -11
  329. package/server/services/workshop/daq/host-ports.ts +3 -2
  330. package/server/services/workshop/daq/storage/timescale.adapter.ts +3 -1
  331. package/server/services/workshop/db/channel.repo.ts +4 -0
  332. package/server/services/workshop/db/ops.repo.ts +5 -2
  333. package/server/services/workshop/db/retention.ts +8 -3
  334. package/server/services/workshop/dcw/dcw-controller.ts +147 -16
  335. package/server/services/workshop/dcw/dcw-product.repo.ts +38 -1
  336. package/server/services/workshop/dcw/dcw-runtime.ts +3 -2
  337. package/server/services/workshop/dcw/drivers.ts +90 -4
  338. package/server/services/workshop/dcw/param-conversion.ts +78 -0
  339. package/server/services/workshop/dcw/param-limits.ts +142 -0
  340. package/server/services/workshop/dcw/param-map.repo.ts +305 -0
  341. package/server/services/workshop/dcw/plugin-bridge.ts +45 -0
  342. package/server/services/workshop/dcw/recipe-rollback-manager.ts +13 -7
  343. package/server/services/workshop/plugins/host.mjs +30 -0
  344. package/server/services/workshop/runtime/agent-runtime.ts +4 -0
  345. package/server/services/workshop/runtime/manager.ts +9 -2
  346. package/server/services/workshop/settings.ts +4 -2
  347. package/server/types/pg.d.ts +49 -0
  348. package/server/utils/stability-severity.ts +13 -2
  349. package/shared/config/groups.mjs +22 -1
  350. package/shared/config/home.d.mts +28 -0
  351. package/shared/daq-protocol.ts +15 -0
  352. package/shared/dcw-protocol.ts +136 -0
  353. package/uno.config.ts +12 -1
  354. package/.output/public/_nuxt/8NMOXZOV.js +0 -1
  355. package/.output/public/_nuxt/BFkgkW8u.js +0 -4
  356. package/.output/public/_nuxt/C5gUkRwn.js +0 -1
  357. package/.output/public/_nuxt/CM12FuB42.js +0 -1
  358. package/.output/public/_nuxt/CZiw7sEV.js +0 -1
  359. package/.output/public/_nuxt/Cc_9VzD42.js +0 -1
  360. package/.output/public/_nuxt/CdPzkOMV.js +0 -1
  361. package/.output/public/_nuxt/CmsOtOAA2.js +0 -1
  362. package/.output/public/_nuxt/D1YDxZpZ.js +0 -1
  363. package/.output/public/_nuxt/D20Yamr4.js +0 -1
  364. package/.output/public/_nuxt/DAe0h2MB.js +0 -1
  365. package/.output/public/_nuxt/DmqknNvV.js +0 -18
  366. package/.output/public/_nuxt/DnUuIR83.js +0 -1
  367. package/.output/public/_nuxt/S_fVQwJK.js +0 -1
  368. package/.output/public/_nuxt/TownView.0oLiQgTC.css +0 -1
  369. package/.output/public/_nuxt/_id_.D-SYuyZb.css +0 -1
  370. package/.output/public/_nuxt/_id_.hma_BU6T.css +0 -1
  371. package/.output/public/_nuxt/_wsId_.B12v3PhY.css +0 -1
  372. package/.output/public/_nuxt/agents.BV70ioCv.css +0 -1
  373. package/.output/public/_nuxt/ahgEJu2R.js +0 -1
  374. package/.output/public/_nuxt/aml.COEKNNqK.css +0 -1
  375. package/.output/public/_nuxt/builds/meta/4457d63f-0866-4cea-b320-04a321f24795.json +0 -1
  376. package/.output/public/_nuxt/channel-templates.C-M5nKcC.css +0 -1
  377. package/.output/public/_nuxt/daq.B3265ZDn.css +0 -1
  378. package/.output/public/_nuxt/dcw.DLYZqEhT.css +0 -1
  379. package/.output/public/_nuxt/default.BXI_fZUi.css +0 -1
  380. package/.output/public/_nuxt/entry.BB-Eeh-J.css +0 -1
  381. package/.output/public/_nuxt/logs.CqFyMrJw.css +0 -1
  382. package/.output/public/_nuxt/monitor.B--1dPzs.css +0 -1
  383. package/.output/public/_nuxt/pages.ooEzrMm9.css +0 -1
  384. package/.output/public/_nuxt/permissions.B1pjGChZ.css +0 -1
  385. package/.output/public/_nuxt/plugins.5e5chZ67.css +0 -1
  386. package/.output/public/_nuxt/pz2JDAM7.js +0 -2
  387. package/.output/public/_nuxt/settings.Dm3M0RLy.css +0 -1
  388. package/.output/public/_nuxt/teams.BC75EGnR.css +0 -1
  389. package/.output/public/_nuxt/tokens.xRb1fSPU.css +0 -1
  390. package/.output/public/_nuxt/users.CXnP2E08.css +0 -1
  391. package/.output/public/_nuxt/workshop.Jk5HxWPE.css +0 -1
  392. package/.output/server/chunks/build/TownView-jVazYOjN.mjs.map +0 -1
  393. package/.output/server/chunks/build/_id_-CfVosNg3.mjs.map +0 -1
  394. package/.output/server/chunks/build/_id_-Hwr4rZpr.mjs.map +0 -1
  395. package/.output/server/chunks/build/agents-Bvin73QY.mjs.map +0 -1
  396. package/.output/server/chunks/build/daq-C03Uu5UE.mjs.map +0 -1
  397. package/.output/server/chunks/build/pages-BO7yZsXA.mjs.map +0 -1
  398. package/.output/server/chunks/build/settings-DoQ2Oq3P.mjs.map +0 -1
  399. package/.output/server/chunks/build/teams-2kz3CusY.mjs.map +0 -1
  400. package/.output/server/chunks/build/town-BOl6hs9B.mjs.map +0 -1
  401. package/.output/server/chunks/build/useDaqStream-CIBaiGAl.mjs.map +0 -1
  402. package/.output/server/chunks/build/useDcwStream-CBbiYnWe.mjs.map +0 -1
  403. package/.output/server/chunks/build/workspaces-BuydxM-3.mjs.map +0 -1
  404. /package/.output/public/_nuxt/{36oeS8_R2.js → 36oeS8_R.js} +0 -0
  405. /package/.output/public/_nuxt/{CYWVXZTS.js → CYWVXZTS2.js} +0 -0
@@ -0,0 +1,28 @@
1
+ import { resolveUser } from '../caller.mjs';
2
+ import { c as defineApiHandler, a8 as filterByLine, aH as getDcwRecipeRepo } from '../../../../_/nitro.mjs';
3
+ import 'node:crypto';
4
+ import 'node:http';
5
+ import 'node:https';
6
+ import 'node:events';
7
+ import 'node:buffer';
8
+ import 'node:fs';
9
+ import 'node:path';
10
+ import 'node:url';
11
+ import 'node:fs/promises';
12
+ import 'node:os';
13
+ import 'js-yaml';
14
+ import 'node:child_process';
15
+ import 'node:net';
16
+ import 'node:util';
17
+ import 'node:sqlite';
18
+ import 'node:module';
19
+ import 'node:zlib';
20
+ import 'zod';
21
+
22
+ const index_get = defineApiHandler(async (event) => {
23
+ const user = resolveUser(event);
24
+ return { runs: filterByLine(user, getDcwRecipeRepo().listRuns(), (r) => r.lineId) };
25
+ });
26
+
27
+ export { index_get as default };
28
+ //# sourceMappingURL=index6.get.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index6.get.mjs","sources":["../../../../../../../server/api/workshop/dcw/runs/index.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAQA,kBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAC/C,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAE9B,EAAA,OAAO,EAAE,IAAA,EAAM,YAAA,CAAa,IAAA,EAAM,gBAAA,EAAiB,CAAE,QAAA,EAAS,EAAG,CAAA,CAAA,KAAK,CAAA,CAAE,MAAM,CAAA,EAAE;AAClF,CAAC,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { c as defineApiHandler, aT as bindDcwBroadcast, aC as broadcastSceneEvent, q as getRouterParam, a3 as requireLineMode, o as readBody, $ as getDcwController, aJ as getActiveLineRun, a4 as recordOps, aY as emitLineLifecycle } from '../../../../../../_/nitro.mjs';
1
+ import { c as defineApiHandler, aT as bindDcwBroadcast, aC as broadcastSceneEvent, q as getRouterParam, a3 as requireLineMode, o as readBody, $ as getDcwController, aJ as getActiveLineRun, a4 as recordOps, aZ as emitLineLifecycle } from '../../../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../../../caller.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
@@ -1,4 +1,4 @@
1
- import { c as defineApiHandler, aT as bindDcwBroadcast, aC as broadcastSceneEvent, q as getRouterParam, a3 as requireLineMode, aJ as getActiveLineRun, $ as getDcwController, a4 as recordOps, aY as emitLineLifecycle } from '../../../../../../_/nitro.mjs';
1
+ import { c as defineApiHandler, aT as bindDcwBroadcast, aC as broadcastSceneEvent, q as getRouterParam, a3 as requireLineMode, aJ as getActiveLineRun, $ as getDcwController, a4 as recordOps, aZ as emitLineLifecycle } from '../../../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../../../caller.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
@@ -1 +1 @@
1
- {"version":3,"file":"_id_.patch.mjs","sources":["../../../../../../../../server/api/workshop/dcw/lines/[id].patch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AASA,mBAAA,gBAAA,CAAA,OAAA,KAAA,KAAA;;AACA,EAAA,WAAA,CAAA,KAAA,CAAA;AACA,EAAA,MAAA,EAAA,GAAA,cAAA,CAAA,KAAA,EAAA,IAAA,CAAA;AACA,EAAA,MAAA,QAAA,EAAA,GAAA,MAAA,QAAA,CAAA,KAAA,CAAA,KAAA,YAAA,EAAA;AACA,EAAA,OAAA,EAAA,IAAA,EAAA,gBAAA,GAAA,UAAA,CAAA,EAAA,EAAA,IAAA,CAAA,EAAA;AACA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"_id_.patch.mjs","sources":["../../../../../../../../server/api/workshop/dcw/lines/[id].patch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AASA,mBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AATjD,EAAA,IAAA,EAAA;AAUE,EAAA,WAAA,CAAY,KAAK,CAAA;AACjB,EAAA,MAAM,EAAA,GAAK,cAAA,CAAe,KAAA,EAAO,IAAI,CAAA;AACrC,EAAA,MAAM,QAAO,EAAA,GAAA,MAAM,QAAA,CAA6B,KAAK,CAAA,KAAxC,YAA6C,EAAC;AAC3D,EAAA,OAAO,EAAE,IAAA,EAAM,gBAAA,GAAmB,UAAA,CAAW,EAAA,EAAI,IAAI,CAAA,EAAE;AACzD,CAAC,CAAA;;;;"}
@@ -0,0 +1,32 @@
1
+ import { c as defineApiHandler, aT as bindDcwBroadcast, aC as broadcastSceneEvent, q as getRouterParam, $ as getDcwController } from '../../../../../../_/nitro.mjs';
2
+ import { resolveUser } from '../../../caller.mjs';
3
+ import 'node:crypto';
4
+ import 'node:http';
5
+ import 'node:https';
6
+ import 'node:events';
7
+ import 'node:buffer';
8
+ import 'node:fs';
9
+ import 'node:path';
10
+ import 'node:url';
11
+ import 'node:fs/promises';
12
+ import 'node:os';
13
+ import 'js-yaml';
14
+ import 'node:child_process';
15
+ import 'node:net';
16
+ import 'node:util';
17
+ import 'node:sqlite';
18
+ import 'node:module';
19
+ import 'node:zlib';
20
+ import 'zod';
21
+
22
+ const read_post = defineApiHandler(async (event) => {
23
+ var _a;
24
+ resolveUser(event);
25
+ bindDcwBroadcast(broadcastSceneEvent);
26
+ const id = (_a = getRouterParam(event, "id")) != null ? _a : "";
27
+ const read = await getDcwController().readParam(id);
28
+ return { read };
29
+ });
30
+
31
+ export { read_post as default };
32
+ //# sourceMappingURL=read.post.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read.post.mjs","sources":["../../../../../../../../../server/api/workshop/dcw/params/[id]/read.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAUA,kBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAVjD,EAAA,IAAA,EAAA;AAWE,EAAA,WAAA,CAAY,KAAK,CAAA;AACjB,EAAA,gBAAA,CAAiB,mBAAmB,CAAA;AACpC,EAAA,MAAM,EAAA,GAAA,CAAK,EAAA,GAAA,cAAA,CAAe,KAAA,EAAO,IAAI,MAA1B,IAAA,GAAA,EAAA,GAA+B,EAAA;AAC1C,EAAA,MAAM,IAAA,GAAO,MAAM,gBAAA,EAAiB,CAAE,UAAU,EAAE,CAAA;AAClD,EAAA,OAAO,EAAE,IAAA,EAAK;AAChB,CAAC,CAAA;;;;"}
@@ -0,0 +1,34 @@
1
+ import { c as defineApiHandler, aT as bindDcwBroadcast, aC as broadcastSceneEvent, q as getRouterParam, o as readBody, a3 as requireLineMode, $ as getDcwController } from '../../../../../../_/nitro.mjs';
2
+ import { resolveUser } from '../../../caller.mjs';
3
+ import 'node:crypto';
4
+ import 'node:http';
5
+ import 'node:https';
6
+ import 'node:events';
7
+ import 'node:buffer';
8
+ import 'node:fs';
9
+ import 'node:path';
10
+ import 'node:url';
11
+ import 'node:fs/promises';
12
+ import 'node:os';
13
+ import 'js-yaml';
14
+ import 'node:child_process';
15
+ import 'node:net';
16
+ import 'node:util';
17
+ import 'node:sqlite';
18
+ import 'node:module';
19
+ import 'node:zlib';
20
+ import 'zod';
21
+
22
+ const write_post = defineApiHandler(async (event) => {
23
+ var _a, _b;
24
+ const user = resolveUser(event);
25
+ bindDcwBroadcast(broadcastSceneEvent);
26
+ const id = (_a = getRouterParam(event, "id")) != null ? _a : "";
27
+ const body = (_b = await readBody(event)) != null ? _b : {};
28
+ requireLineMode(user, getDcwController().paramById(id).lineId, "operate");
29
+ const outcome = await getDcwController().writeParam(id, Number(body.value), { source: "manual", actor: user.id, actorName: user.name });
30
+ return { outcome };
31
+ });
32
+
33
+ export { write_post as default };
34
+ //# sourceMappingURL=write.post.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.post.mjs","sources":["../../../../../../../../../server/api/workshop/dcw/params/[id]/write.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAYA,mBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAZjD,EAAA,IAAA,EAAA,EAAA,EAAA;AAaE,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAC9B,EAAA,gBAAA,CAAiB,mBAAmB,CAAA;AACpC,EAAA,MAAM,EAAA,GAAA,CAAK,EAAA,GAAA,cAAA,CAAe,KAAA,EAAO,IAAI,MAA1B,IAAA,GAAA,EAAA,GAA+B,EAAA;AAC1C,EAAA,MAAM,QAAO,EAAA,GAAA,MAAM,QAAA,CAA6B,KAAK,CAAA,KAAxC,YAA6C,EAAC;AAC3D,EAAA,eAAA,CAAgB,MAAM,gBAAA,EAAiB,CAAE,UAAU,EAAE,CAAA,CAAE,QAAQ,SAAS,CAAA;AACxE,EAAA,MAAM,UAAU,MAAM,gBAAA,GAAmB,UAAA,CAAW,EAAA,EAAI,OAAO,IAAA,CAAK,KAAK,GAAG,EAAE,MAAA,EAAQ,UAAU,KAAA,EAAO,IAAA,CAAK,IAAI,SAAA,EAAW,IAAA,CAAK,MAAM,CAAA;AACtI,EAAA,OAAO,EAAE,OAAA,EAAQ;AACnB,CAAC,CAAA;;;;"}
@@ -0,0 +1,33 @@
1
+ import { c as defineApiHandler, aT as bindDcwBroadcast, aC as broadcastSceneEvent, q as getRouterParam, a3 as requireLineMode, $ as getDcwController, a_ as getDcwParamRepo } from '../../../../../_/nitro.mjs';
2
+ import { resolveUser } from '../../caller.mjs';
3
+ import 'node:crypto';
4
+ import 'node:http';
5
+ import 'node:https';
6
+ import 'node:events';
7
+ import 'node:buffer';
8
+ import 'node:fs';
9
+ import 'node:path';
10
+ import 'node:url';
11
+ import 'node:fs/promises';
12
+ import 'node:os';
13
+ import 'js-yaml';
14
+ import 'node:child_process';
15
+ import 'node:net';
16
+ import 'node:util';
17
+ import 'node:sqlite';
18
+ import 'node:module';
19
+ import 'node:zlib';
20
+ import 'zod';
21
+
22
+ const _id__delete = defineApiHandler(async (event) => {
23
+ var _a;
24
+ const user = resolveUser(event);
25
+ bindDcwBroadcast(broadcastSceneEvent);
26
+ const id = (_a = getRouterParam(event, "id")) != null ? _a : "";
27
+ requireLineMode(user, getDcwController().paramById(id).lineId, "operate");
28
+ getDcwParamRepo().remove(id);
29
+ return { removed: id };
30
+ });
31
+
32
+ export { _id__delete as default };
33
+ //# sourceMappingURL=_id_.delete.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_id_.delete.mjs","sources":["../../../../../../../../server/api/workshop/dcw/params/[id].delete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAWA,oBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAXjD,EAAA,IAAA,EAAA;AAYE,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAC9B,EAAA,gBAAA,CAAiB,mBAAmB,CAAA;AACpC,EAAA,MAAM,EAAA,GAAA,CAAK,EAAA,GAAA,cAAA,CAAe,KAAA,EAAO,IAAI,MAA1B,IAAA,GAAA,EAAA,GAA+B,EAAA;AAC1C,EAAA,eAAA,CAAgB,MAAM,gBAAA,EAAiB,CAAE,UAAU,EAAE,CAAA,CAAE,QAAQ,SAAS,CAAA;AACxE,EAAA,eAAA,EAAgB,CAAE,OAAO,EAAE,CAAA;AAC3B,EAAA,OAAO,EAAE,SAAS,EAAA,EAAG;AACvB,CAAC,CAAA;;;;"}
@@ -0,0 +1,34 @@
1
+ import { c as defineApiHandler, aT as bindDcwBroadcast, aC as broadcastSceneEvent, q as getRouterParam, o as readBody, a3 as requireLineMode, $ as getDcwController, a_ as getDcwParamRepo } from '../../../../../_/nitro.mjs';
2
+ import { resolveUser } from '../../caller.mjs';
3
+ import 'node:crypto';
4
+ import 'node:http';
5
+ import 'node:https';
6
+ import 'node:events';
7
+ import 'node:buffer';
8
+ import 'node:fs';
9
+ import 'node:path';
10
+ import 'node:url';
11
+ import 'node:fs/promises';
12
+ import 'node:os';
13
+ import 'js-yaml';
14
+ import 'node:child_process';
15
+ import 'node:net';
16
+ import 'node:util';
17
+ import 'node:sqlite';
18
+ import 'node:module';
19
+ import 'node:zlib';
20
+ import 'zod';
21
+
22
+ const _id__patch = defineApiHandler(async (event) => {
23
+ var _a, _b;
24
+ const user = resolveUser(event);
25
+ bindDcwBroadcast(broadcastSceneEvent);
26
+ const id = (_a = getRouterParam(event, "id")) != null ? _a : "";
27
+ const body = (_b = await readBody(event)) != null ? _b : {};
28
+ requireLineMode(user, getDcwController().paramById(id).lineId, "operate");
29
+ const row = getDcwParamRepo().update(id, body);
30
+ return { param: getDcwController().paramById(row.id) };
31
+ });
32
+
33
+ export { _id__patch as default };
34
+ //# sourceMappingURL=_id_.patch.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_id_.patch.mjs","sources":["../../../../../../../../server/api/workshop/dcw/params/[id].patch.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAaA,mBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAbjD,EAAA,IAAA,EAAA,EAAA,EAAA;AAcE,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAC9B,EAAA,gBAAA,CAAiB,mBAAmB,CAAA;AACpC,EAAA,MAAM,EAAA,GAAA,CAAK,EAAA,GAAA,cAAA,CAAe,KAAA,EAAO,IAAI,MAA1B,IAAA,GAAA,EAAA,GAA+B,EAAA;AAC1C,EAAA,MAAM,QAAO,EAAA,GAAA,MAAM,QAAA,CAAiC,KAAK,CAAA,KAA5C,YAAiD,EAAC;AAE/D,EAAA,eAAA,CAAgB,MAAM,gBAAA,EAAiB,CAAE,UAAU,EAAE,CAAA,CAAE,QAAQ,SAAS,CAAA;AACxE,EAAA,MAAM,GAAA,GAAM,eAAA,EAAgB,CAAE,MAAA,CAAO,IAAI,IAAI,CAAA;AAC7C,EAAA,OAAO,EAAE,KAAA,EAAO,gBAAA,GAAmB,SAAA,CAAU,GAAA,CAAI,EAAE,CAAA,EAAE;AACvD,CAAC,CAAA;;;;"}
@@ -1,4 +1,4 @@
1
- import { c as defineApiHandler, q as getRouterParam, aZ as getDcwTemplateRegistry } from '../../../../../_/nitro.mjs';
1
+ import { c as defineApiHandler, q as getRouterParam, a$ as getDcwTemplateRegistry } from '../../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../../caller.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
@@ -1,4 +1,4 @@
1
- import { c as defineApiHandler, q as getRouterParam, o as readBody, aZ as getDcwTemplateRegistry } from '../../../../../_/nitro.mjs';
1
+ import { c as defineApiHandler, q as getRouterParam, o as readBody, a$ as getDcwTemplateRegistry } from '../../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../../caller.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
@@ -1,4 +1,4 @@
1
- import { b0 as StdioJsonRpcClient, b1 as spawnLineProcess, c as defineApiHandler, q as getRouterParam } from '../../../../../_/nitro.mjs';
1
+ import { b2 as StdioJsonRpcClient, b3 as spawnLineProcess, c as defineApiHandler, q as getRouterParam } from '../../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../../caller.mjs';
3
3
  import { resolve, sep } from 'node:path';
4
4
  import 'node:crypto';
@@ -1,4 +1,4 @@
1
- import { c as defineApiHandler, z as getQuery, a_ as checkAllHarnessAvailability, a$ as harnessMetas } from '../../../_/nitro.mjs';
1
+ import { c as defineApiHandler, z as getQuery, b0 as checkAllHarnessAvailability, b1 as harnessMetas } from '../../../_/nitro.mjs';
2
2
  import { resolveUser } from './caller.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
@@ -1,4 +1,4 @@
1
- import { c as defineApiHandler, z as getQuery, g as getWorkshopManager, b2 as getHitlRegistry } from '../../../../_/nitro.mjs';
1
+ import { c as defineApiHandler, z as getQuery, g as getWorkshopManager, b4 as getHitlRegistry } from '../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../caller.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
@@ -1,4 +1,4 @@
1
- import { c as defineApiHandler, o as readBody, K as AppError, b2 as getHitlRegistry, g as getWorkshopManager, C as respondTerminalUi, W as audit, V as getToolApprovals } from '../../../../_/nitro.mjs';
1
+ import { c as defineApiHandler, o as readBody, K as AppError, b4 as getHitlRegistry, g as getWorkshopManager, C as respondTerminalUi, W as audit, V as getToolApprovals } from '../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../caller.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
@@ -1,4 +1,4 @@
1
- import { c as defineApiHandler, o as readBody, R as userRepository, K as AppError, Y as ErrorCodes, b3 as notifyGrantsChanged } from '../../../_/nitro.mjs';
1
+ import { c as defineApiHandler, o as readBody, R as userRepository, K as AppError, Y as ErrorCodes, b5 as notifyGrantsChanged } from '../../../_/nitro.mjs';
2
2
  import { resolveUser, requireAdmin } from './caller.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
@@ -39,8 +39,10 @@ const index_get = defineApiHandler(async (event) => {
39
39
  dropped: (_c = state.dropped) != null ? _c : 0,
40
40
  samplesStored: (_d = state.samplesStored) != null ? _d : 0
41
41
  },
42
- // 驱动协议栈可用性(包缺失 → UI 显示"未安装")
42
+ // 驱动协议栈可用性(包缺失 → UI 显示"未安装";含插件驱动)
43
43
  driverAvailable: await ctrl.driverAvailability(),
44
+ // 驱动目录(内置 + 协议插件自描述合并;前端添加节点下拉/参数表单同源消费)
45
+ drivers: await ctrl.driverCatalog(),
44
46
  // 基础设施在线状态(降级 → 前端横幅 + 重连入口)
45
47
  infra: daqInfraStatus(),
46
48
  // 信号模板目录(内置 + 用户自定义;前端下拉/左轨/控制台同源消费)
@@ -1 +1 @@
1
- {"version":3,"file":"index5.get.mjs","sources":["../../../../../../server/api/workshop/daq/index.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAeA,kBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAfjD,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAgBE,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAE9B,EAAA,WAAA,CAAY,mBAAmB,CAAA;AAC/B,EAAA,MAAM,QAAQ,GAAA,CAAI,CAAC,SAAA,EAAW,WAAA,EAAa,CAAC,CAAA;AAC5C,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAC9B,EAAA,IAAA,CAAK,oBAAA,EAAqB;AAC1B,EAAA,MAAM,KAAA,GAAQ,KAAK,eAAA,EAAgB;AACnC,EAAA,OAAO;AAAA,IACL,UAAA,EAAY,KAAA;AAAA;AAAA,IAEZ,KAAA,EAAO,aAAa,IAAA,EAAM,IAAA,CAAK,WAAU,EAAG,CAAA,CAAA,KAAK,EAAE,MAAM,CAAA;AAAA,IACzD,IAAA,EAAM;AAAA,MACJ,GAAG,KAAK,QAAA,EAAS;AAAA,MACjB,QAAA,EAAA,CAAU,EAAA,GAAA,KAAA,CAAM,QAAA,KAAN,IAAA,GAAA,EAAA,GAAkB,CAAA;AAAA,MAC5B,QAAA,EAAA,CAAU,EAAA,GAAA,KAAA,CAAM,QAAA,KAAN,IAAA,GAAA,EAAA,GAAkB,CAAA;AAAA,MAC5B,OAAA,EAAA,CAAS,EAAA,GAAA,KAAA,CAAM,OAAA,KAAN,IAAA,GAAA,EAAA,GAAiB,CAAA;AAAA,MAC1B,aAAA,EAAA,CAAe,EAAA,GAAA,KAAA,CAAM,aAAA,KAAN,IAAA,GAAA,EAAA,GAAuB;AAAA,KACxC;AAAA;AAAA,IAEA,eAAA,EAAiB,MAAM,IAAA,CAAK,kBAAA,EAAmB;AAAA;AAAA,IAE/C,OAAO,cAAA,EAAe;AAAA;AAAA,IAEtB,WAAW,gBAAA;AAAiB,GAC9B;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"index5.get.mjs","sources":["../../../../../../server/api/workshop/daq/index.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAeA,kBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAfjD,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAgBE,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAE9B,EAAA,WAAA,CAAY,mBAAmB,CAAA;AAC/B,EAAA,MAAM,QAAQ,GAAA,CAAI,CAAC,SAAA,EAAW,WAAA,EAAa,CAAC,CAAA;AAC5C,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAC9B,EAAA,IAAA,CAAK,oBAAA,EAAqB;AAC1B,EAAA,MAAM,KAAA,GAAQ,KAAK,eAAA,EAAgB;AACnC,EAAA,OAAO;AAAA,IACL,UAAA,EAAY,KAAA;AAAA;AAAA,IAEZ,KAAA,EAAO,aAAa,IAAA,EAAM,IAAA,CAAK,WAAU,EAAG,CAAA,CAAA,KAAK,EAAE,MAAM,CAAA;AAAA,IACzD,IAAA,EAAM;AAAA,MACJ,GAAG,KAAK,QAAA,EAAS;AAAA,MACjB,QAAA,EAAA,CAAU,EAAA,GAAA,KAAA,CAAM,QAAA,KAAN,IAAA,GAAA,EAAA,GAAkB,CAAA;AAAA,MAC5B,QAAA,EAAA,CAAU,EAAA,GAAA,KAAA,CAAM,QAAA,KAAN,IAAA,GAAA,EAAA,GAAkB,CAAA;AAAA,MAC5B,OAAA,EAAA,CAAS,EAAA,GAAA,KAAA,CAAM,OAAA,KAAN,IAAA,GAAA,EAAA,GAAiB,CAAA;AAAA,MAC1B,aAAA,EAAA,CAAe,EAAA,GAAA,KAAA,CAAM,aAAA,KAAN,IAAA,GAAA,EAAA,GAAuB;AAAA,KACxC;AAAA;AAAA,IAEA,eAAA,EAAiB,MAAM,IAAA,CAAK,kBAAA,EAAmB;AAAA;AAAA,IAE/C,OAAA,EAAS,MAAM,IAAA,CAAK,aAAA,EAAc;AAAA;AAAA,IAElC,OAAO,cAAA,EAAe;AAAA;AAAA,IAEtB,WAAW,gBAAA;AAAiB,GAC9B;AACF,CAAC,CAAA;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { resolveUser } from './caller.mjs';
2
- import { c as defineApiHandler, aT as bindDcwBroadcast, aC as broadcastSceneEvent, $ as getDcwController, a0 as visibleLineIds, aW as isPrivilegedRole, aX as listDcwTemplates, a8 as filterByLine } from '../../../_/nitro.mjs';
2
+ import { c as defineApiHandler, aT as bindDcwBroadcast, aC as broadcastSceneEvent, $ as getDcwController, a0 as visibleLineIds, aW as isPrivilegedRole, aX as dcwDriverCatalog, aY as listDcwTemplates, a8 as filterByLine } from '../../../_/nitro.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -33,7 +33,11 @@ const index_get = defineApiHandler(async (event) => {
33
33
  return {
34
34
  controller: privileged ? ctrl.controllerState() : { running: ctrl.controllerState().running === true },
35
35
  nodes: filterByLine(user, ctrl.listViews(), (n) => n.lineId),
36
+ /** 工艺参数映射面(用户/Agent 的参数语义读写面;PLC 寻址细节不透出) */
37
+ params: visible ? ctrl.listParamViews().filter((p) => inLine(p.lineId)) : ctrl.listParamViews(),
36
38
  templates: listDcwTemplates(),
39
+ // 写驱动目录(内置 + 协议插件自描述合并;前端写控节点向导同源消费)
40
+ drivers: await dcwDriverCatalog(),
37
41
  recipes: visible ? ctrl.listRecipes().filter((r) => inLine(r.lineId)) : ctrl.listRecipes(),
38
42
  runs: visible ? ctrl.listRuns().filter((r) => inLine(r.lineId)) : ctrl.listRuns(),
39
43
  history: visible ? ctrl.listHistory(400).filter((h) => inLine(nodeLine(h.nodeId))).slice(0, 60) : ctrl.listHistory(60),
@@ -1 +1 @@
1
- {"version":3,"file":"index6.get.mjs","sources":["../../../../../../server/api/workshop/dcw/index.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAUA,kBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAC/C,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAC9B,EAAA,gBAAA,CAAiB,mBAAmB,CAAA;AACpC,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAI9B,EAAA,MAAM,OAAA,GAAU,eAAe,IAAI,CAAA;AACnC,EAAA,MAAM,UAAA,GAAa,iBAAiB,IAAI,CAAA;AACxC,EAAA,MAAM,MAAA,GAAS,CAAC,MAAA,KACd,MAAA,IAAU,IAAA,IAAQ,MAAA,KAAW,EAAA,IAAM,OAAA,IAAW,IAAA,IAAQ,OAAA,CAAQ,GAAA,CAAI,MAAM,CAAA;AAC1E,EAAA,MAAM,QAAA,GAAW,CAAC,MAAA,KAAoC;AArBxD,IAAA,IAAA,EAAA;AAqB2D,IAAA,OAAA,CAAA,EAAA,GAAA,IAAA,CAAK,IAAA,CAAK,MAAM,CAAA,KAAhB,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAmB,MAAA;AAAA,EAAA,CAAA;AAC5E,EAAA,OAAO;AAAA,IACL,UAAA,EAAY,UAAA,GACR,IAAA,CAAK,eAAA,EAAgB,GACrB,EAAE,OAAA,EAAS,IAAA,CAAK,eAAA,EAAgB,CAAE,OAAA,KAAY,IAAA,EAAK;AAAA,IACvD,KAAA,EAAO,aAAa,IAAA,EAAM,IAAA,CAAK,WAAU,EAAG,CAAA,CAAA,KAAK,EAAE,MAAM,CAAA;AAAA,IACzD,WAAW,gBAAA,EAAiB;AAAA,IAC5B,OAAA,EAAS,OAAA,GAAU,IAAA,CAAK,WAAA,EAAY,CAAE,MAAA,CAAO,CAAA,CAAA,KAAK,MAAA,CAAO,CAAA,CAAE,MAAM,CAAC,CAAA,GAAI,KAAK,WAAA,EAAY;AAAA,IACvF,IAAA,EAAM,OAAA,GAAU,IAAA,CAAK,QAAA,EAAS,CAAE,MAAA,CAAO,CAAA,CAAA,KAAK,MAAA,CAAO,CAAA,CAAE,MAAM,CAAC,CAAA,GAAI,KAAK,QAAA,EAAS;AAAA,IAC9E,OAAA,EAAS,UACL,IAAA,CAAK,WAAA,CAAY,GAAG,CAAA,CAAE,MAAA,CAAO,OAAK,MAAA,CAAO,QAAA,CAAS,EAAE,MAAM,CAAC,CAAC,CAAA,CAAE,KAAA,CAAM,GAAG,EAAE,CAAA,GACzE,IAAA,CAAK,WAAA,CAAY,EAAE,CAAA;AAAA,IACvB,QAAA,EAAU,OAAA,GAAU,IAAA,CAAK,YAAA,EAAa,CAAE,MAAA,CAAO,CAAA,CAAA,KAAK,MAAA,CAAO,CAAA,CAAE,MAAM,CAAC,CAAA,GAAI,KAAK,YAAA,EAAa;AAAA,IAC1F,KAAA,EAAO,OAAA,GAAU,IAAA,CAAK,SAAA,GAAY,MAAA,CAAO,CAAA,CAAA,KAAK,OAAA,CAAQ,GAAA,CAAI,CAAA,CAAE,EAAE,CAAC,CAAA,GAAI,KAAK,SAAA,EAAU;AAAA,IAClF,UAAA,EAAY,OAAA,GAAU,IAAA,CAAK,aAAA,GAAgB,MAAA,CAAO,CAAA,CAAA,KAAK,OAAA,CAAQ,GAAA,CAAI,CAAA,CAAE,MAAM,CAAC,CAAA,GAAI,KAAK,aAAA;AAAc,GACrG;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"index6.get.mjs","sources":["../../../../../../server/api/workshop/dcw/index.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAWA,kBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAC/C,EAAA,MAAM,IAAA,GAAO,YAAY,KAAK,CAAA;AAC9B,EAAA,gBAAA,CAAiB,mBAAmB,CAAA;AACpC,EAAA,MAAM,OAAO,gBAAA,EAAiB;AAI9B,EAAA,MAAM,OAAA,GAAU,eAAe,IAAI,CAAA;AACnC,EAAA,MAAM,UAAA,GAAa,iBAAiB,IAAI,CAAA;AACxC,EAAA,MAAM,MAAA,GAAS,CAAC,MAAA,KACd,MAAA,IAAU,IAAA,IAAQ,MAAA,KAAW,EAAA,IAAM,OAAA,IAAW,IAAA,IAAQ,OAAA,CAAQ,GAAA,CAAI,MAAM,CAAA;AAC1E,EAAA,MAAM,QAAA,GAAW,CAAC,MAAA,KAAoC;AAtBxD,IAAA,IAAA,EAAA;AAsB2D,IAAA,OAAA,CAAA,EAAA,GAAA,IAAA,CAAK,IAAA,CAAK,MAAM,CAAA,KAAhB,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAmB,MAAA;AAAA,EAAA,CAAA;AAC5E,EAAA,OAAO;AAAA,IACL,UAAA,EAAY,UAAA,GACR,IAAA,CAAK,eAAA,EAAgB,GACrB,EAAE,OAAA,EAAS,IAAA,CAAK,eAAA,EAAgB,CAAE,OAAA,KAAY,IAAA,EAAK;AAAA,IACvD,KAAA,EAAO,aAAa,IAAA,EAAM,IAAA,CAAK,WAAU,EAAG,CAAA,CAAA,KAAK,EAAE,MAAM,CAAA;AAAA;AAAA,IAEzD,MAAA,EAAQ,OAAA,GAAU,IAAA,CAAK,cAAA,EAAe,CAAE,MAAA,CAAO,CAAA,CAAA,KAAK,MAAA,CAAO,CAAA,CAAE,MAAM,CAAC,CAAA,GAAI,KAAK,cAAA,EAAe;AAAA,IAC5F,WAAW,gBAAA,EAAiB;AAAA;AAAA,IAE5B,OAAA,EAAS,MAAM,gBAAA,EAAiB;AAAA,IAChC,OAAA,EAAS,OAAA,GAAU,IAAA,CAAK,WAAA,EAAY,CAAE,MAAA,CAAO,CAAA,CAAA,KAAK,MAAA,CAAO,CAAA,CAAE,MAAM,CAAC,CAAA,GAAI,KAAK,WAAA,EAAY;AAAA,IACvF,IAAA,EAAM,OAAA,GAAU,IAAA,CAAK,QAAA,EAAS,CAAE,MAAA,CAAO,CAAA,CAAA,KAAK,MAAA,CAAO,CAAA,CAAE,MAAM,CAAC,CAAA,GAAI,KAAK,QAAA,EAAS;AAAA,IAC9E,OAAA,EAAS,UACL,IAAA,CAAK,WAAA,CAAY,GAAG,CAAA,CAAE,MAAA,CAAO,OAAK,MAAA,CAAO,QAAA,CAAS,EAAE,MAAM,CAAC,CAAC,CAAA,CAAE,KAAA,CAAM,GAAG,EAAE,CAAA,GACzE,IAAA,CAAK,WAAA,CAAY,EAAE,CAAA;AAAA,IACvB,QAAA,EAAU,OAAA,GAAU,IAAA,CAAK,YAAA,EAAa,CAAE,MAAA,CAAO,CAAA,CAAA,KAAK,MAAA,CAAO,CAAA,CAAE,MAAM,CAAC,CAAA,GAAI,KAAK,YAAA,EAAa;AAAA,IAC1F,KAAA,EAAO,OAAA,GAAU,IAAA,CAAK,SAAA,GAAY,MAAA,CAAO,CAAA,CAAA,KAAK,OAAA,CAAQ,GAAA,CAAI,CAAA,CAAE,EAAE,CAAC,CAAA,GAAI,KAAK,SAAA,EAAU;AAAA,IAClF,UAAA,EAAY,OAAA,GAAU,IAAA,CAAK,aAAA,GAAgB,MAAA,CAAO,CAAA,CAAA,KAAK,OAAA,CAAQ,GAAA,CAAI,CAAA,CAAE,MAAM,CAAC,CAAA,GAAI,KAAK,aAAA;AAAc,GACrG;AACF,CAAC,CAAA;;;;"}
@@ -35,7 +35,9 @@ const index_get = defineApiHandler(async (event) => {
35
35
  var _a2;
36
36
  return {
37
37
  ...u,
38
- channels: manager.listChannelsForUser(u.id).map((c) => ({ id: c.channelId, name: c.name, createdAt: c.createdAt })),
38
+ // ChannelRow 的 channel 主键列名是 id(SELECT 'id, name, ...');原写的 c.channelId 运行时恒 undefined,
39
+ // 与前端 UserRow.channels: Array<{ id, name, createdAt }>(app/pages/permissions/index.vue)不一致
40
+ channels: manager.listChannelsForUser(u.id).map((c) => ({ id: c.id, name: c.name, createdAt: c.createdAt })),
39
41
  grants: (_a2 = grantsByUser.get(u.id)) != null ? _a2 : []
40
42
  };
41
43
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index9.get.mjs","sources":["../../../../../../server/api/workshop/permissions/index.get.ts"],"names":["_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAWA,kBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAXjD,EAAA,IAAA,EAAA;AAYE,EAAA,YAAA,CAAa,KAAK,CAAA;AAClB,EAAA,MAAM,KAAA,GAAQ,gBAAA,EAAiB,CAAE,SAAA,EAAU;AAC3C,EAAA,MAAM,UAAU,kBAAA,EAAmB;AACnC,EAAA,MAAM,KAAA,GAAQ,eAAe,OAAA,EAAQ;AACrC,EAAA,MAAM,YAAA,uBAAmB,GAAA,EAAkG;AAC3H,EAAA,KAAA,MAAW,CAAA,IAAK,cAAA,CAAe,SAAA,EAAU,EAAG;AAC1C,IAAA,MAAM,QAAO,EAAA,GAAA,YAAA,CAAa,GAAA,CAAI,EAAE,MAAM,CAAA,KAAzB,YAA8B,EAAC;AAC5C,IAAA,IAAA,CAAK,IAAA,CAAK,EAAE,MAAA,EAAQ,CAAA,CAAE,QAAQ,IAAA,EAAM,CAAA,CAAE,IAAA,EAAM,SAAA,EAAW,CAAA,CAAE,SAAA,EAAW,SAAA,EAAW,CAAA,CAAE,WAAW,CAAA;AAC5F,IAAA,YAAA,CAAa,GAAA,CAAI,CAAA,CAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,EACjC;AAEA,EAAA,MAAM,GAAA,GAAM,KAAA,CAAM,GAAA,CAAI,CAAA,CAAA,KAAE;AAvB1B,IAAA,IAAAA,GAAAA;AAuB8B,IAAA,OAAA;AAAA,MAC1B,GAAG,CAAA;AAAA,MACH,UAAU,OAAA,CAAQ,mBAAA,CAAoB,EAAE,EAAE,CAAA,CAAE,IAAI,CAAA,CAAA,MAAM,EAAE,EAAA,EAAI,CAAA,CAAE,WAAW,IAAA,EAAM,CAAA,CAAE,MAAM,SAAA,EAAW,CAAA,CAAE,WAAU,CAAE,CAAA;AAAA,MAChH,MAAA,EAAA,CAAQA,MAAA,YAAA,CAAa,GAAA,CAAI,EAAE,EAAE,CAAA,KAArB,IAAA,GAAAA,GAAAA,GAA0B;AAAC,KACrC;AAAA,EAAA,CAAE,CAAA;AACF,EAAA,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,GAAA,EAAI;AAC7B,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"index9.get.mjs","sources":["../../../../../../server/api/workshop/permissions/index.get.ts"],"names":["_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAWA,kBAAe,gBAAA,CAAiB,OAAO,KAAA,KAAU;AAXjD,EAAA,IAAA,EAAA;AAYE,EAAA,YAAA,CAAa,KAAK,CAAA;AAClB,EAAA,MAAM,KAAA,GAAQ,gBAAA,EAAiB,CAAE,SAAA,EAAU;AAC3C,EAAA,MAAM,UAAU,kBAAA,EAAmB;AACnC,EAAA,MAAM,KAAA,GAAQ,eAAe,OAAA,EAAQ;AACrC,EAAA,MAAM,YAAA,uBAAmB,GAAA,EAAkG;AAC3H,EAAA,KAAA,MAAW,CAAA,IAAK,cAAA,CAAe,SAAA,EAAU,EAAG;AAC1C,IAAA,MAAM,QAAO,EAAA,GAAA,YAAA,CAAa,GAAA,CAAI,EAAE,MAAM,CAAA,KAAzB,YAA8B,EAAC;AAC5C,IAAA,IAAA,CAAK,IAAA,CAAK,EAAE,MAAA,EAAQ,CAAA,CAAE,QAAQ,IAAA,EAAM,CAAA,CAAE,IAAA,EAAM,SAAA,EAAW,CAAA,CAAE,SAAA,EAAW,SAAA,EAAW,CAAA,CAAE,WAAW,CAAA;AAC5F,IAAA,YAAA,CAAa,GAAA,CAAI,CAAA,CAAE,MAAA,EAAQ,IAAI,CAAA;AAAA,EACjC;AAEA,EAAA,MAAM,GAAA,GAAM,KAAA,CAAM,GAAA,CAAI,CAAA,CAAA,KAAE;AAvB1B,IAAA,IAAAA,GAAAA;AAuB8B,IAAA,OAAA;AAAA,MAC1B,GAAG,CAAA;AAAA;AAAA;AAAA,MAGH,UAAU,OAAA,CAAQ,mBAAA,CAAoB,EAAE,EAAE,CAAA,CAAE,IAAI,CAAA,CAAA,MAAM,EAAE,EAAA,EAAI,CAAA,CAAE,IAAI,IAAA,EAAM,CAAA,CAAE,MAAM,SAAA,EAAW,CAAA,CAAE,WAAU,CAAE,CAAA;AAAA,MACzG,MAAA,EAAA,CAAQA,MAAA,YAAA,CAAa,GAAA,CAAI,EAAE,EAAE,CAAA,KAArB,IAAA,GAAAA,GAAAA,GAA0B;AAAC,KACrC;AAAA,EAAA,CAAE,CAAA;AACF,EAAA,OAAO,EAAE,KAAA,EAAO,KAAA,EAAO,GAAA,EAAI;AAC7B,CAAC,CAAA;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { resolveUser, requireAdmin } from '../../caller.mjs';
2
- import { c as defineApiHandler, y as pluginManifest, K as AppError, Y as ErrorCodes, b4 as setPluginEnabled, b5 as reloadPluginHost } from '../../../../../_/nitro.mjs';
2
+ import { c as defineApiHandler, y as pluginManifest, K as AppError, Y as ErrorCodes, b6 as setPluginEnabled, b7 as reloadPluginHost } from '../../../../../_/nitro.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,5 +1,5 @@
1
1
  import { resolveUser, requireAdmin } from '../../caller.mjs';
2
- import { c as defineApiHandler, y as pluginManifest, K as AppError, Y as ErrorCodes, b4 as setPluginEnabled, b5 as reloadPluginHost } from '../../../../../_/nitro.mjs';
2
+ import { c as defineApiHandler, y as pluginManifest, K as AppError, Y as ErrorCodes, b6 as setPluginEnabled, b7 as reloadPluginHost } from '../../../../../_/nitro.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
5
5
  import 'node:https';
@@ -1,4 +1,4 @@
1
- import { c as defineApiHandler, q as getRouterParam, g as getWorkshopManager, K as AppError, b6 as publishSceneLayoutEvent } from '../../../../../_/nitro.mjs';
1
+ import { c as defineApiHandler, q as getRouterParam, g as getWorkshopManager, K as AppError, b8 as publishSceneLayoutEvent } from '../../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../../caller.mjs';
3
3
  import { g as getSceneLayoutRepo } from '../../../../../_/scene-layout.repo.mjs';
4
4
  import 'node:crypto';
@@ -1,4 +1,4 @@
1
- import { c as defineApiHandler, q as getRouterParam, o as readBody, g as getWorkshopManager, b6 as publishSceneLayoutEvent } from '../../../../../_/nitro.mjs';
1
+ import { c as defineApiHandler, q as getRouterParam, o as readBody, g as getWorkshopManager, b8 as publishSceneLayoutEvent } from '../../../../../_/nitro.mjs';
2
2
  import { resolveUser } from '../../caller.mjs';
3
3
  import { g as getSceneLayoutRepo } from '../../../../../_/scene-layout.repo.mjs';
4
4
  import 'node:crypto';
@@ -33,7 +33,7 @@ const _tplId__post = defineApiHandler(async (event) => {
33
33
  if (result.leadAgentId) {
34
34
  ensureLeadSchedulerLoop(manager, result.channelId);
35
35
  }
36
- const { ensureStream } = await import('../../../../../../_/nitro.mjs').then(function (n) { return n.bA; });
36
+ const { ensureStream } = await import('../../../../../../_/nitro.mjs').then(function (n) { return n.bC; });
37
37
  ensureStream(manager, result.channelId);
38
38
  return result;
39
39
  });
@@ -1,4 +1,4 @@
1
- import { u as useRuntimeConfig, b7 as encodePath, b8 as buildAssetsURL, b9 as publicAssetsURL, ba as defineRenderHandler, z as getQuery, n as createError, d as destr, bb as getRouteRules, bc as relative, bd as joinURL, be as getResponseStatusText, bf as getResponseStatus, b as useNitroApp } from '../_/nitro.mjs';
1
+ import { u as useRuntimeConfig, b9 as encodePath, ba as buildAssetsURL, bb as publicAssetsURL, bc as defineRenderHandler, z as getQuery, n as createError, d as destr, bd as getRouteRules, be as relative, bf as joinURL, bg as getResponseStatusText, bh as getResponseStatus, b as useNitroApp } from '../_/nitro.mjs';
2
2
  import { createHead as createHead$1, propsToString, renderSSRHead } from 'unhead/server';
3
3
  import { hasInjectionContext, inject, isRef, toValue } from 'vue';
4
4
  import { DeprecationsPlugin } from 'unhead/legacy';
@@ -154,7 +154,7 @@ globalThis.__buildAssetsURL = buildAssetsURL;
154
154
  globalThis.__publicAssetsURL = publicAssetsURL;
155
155
  const APP_ROOT_OPEN_TAG = `<${appRootTag}${propsToString(appRootAttrs)}>`;
156
156
  const APP_ROOT_CLOSE_TAG = `</${appRootTag}>`;
157
- const getServerEntry = () => import('../virtual/entry.mjs').then(function (n) { return n.aO; }).then((r) => r.default || r);
157
+ const getServerEntry = () => import('../virtual/entry.mjs').then(function (n) { return n.aP; }).then((r) => r.default || r);
158
158
  const getPrecomputedDependencies = () => import('../virtual/precomputed.mjs').then((r) => "default" in r ? r.default : r).then((r) => typeof r === "function" ? r() : r);
159
159
  const getSSRRenderer = lazyCachedFunction(async () => {
160
160
  const createSSRApp = await getServerEntry();
@@ -230,7 +230,7 @@ function encodeForwardSlashes(str) {
230
230
 
231
231
  const renderSSRHeadOptions = {"omitLineBreaks":true};
232
232
 
233
- const entryFileName = "CUDwzgLV.js";
233
+ const entryFileName = "C4s_niy-.js";
234
234
 
235
235
  //#region src/runtime/handlers/renderer.ts
236
236
  globalThis.__buildAssetsURL = buildAssetsURL;