agentworkshop 0.7.38 → 0.7.40

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 (392) hide show
  1. package/.AgentWorkShop/prompts/aml-mission-default.md +20 -20
  2. package/.AgentWorkShop/prompts/aml-playbook.md +49 -49
  3. package/.AgentWorkShop/prompts/host-tools.json +1293 -1238
  4. package/.AgentWorkShop/prompts/peer-reply-cross-channel.md +10 -10
  5. package/.output/.AgentWorkShop/prompts/aml-mission-default.md +20 -20
  6. package/.output/.AgentWorkShop/prompts/aml-playbook.md +49 -49
  7. package/.output/.AgentWorkShop/prompts/host-tools.json +1293 -1238
  8. package/.output/.AgentWorkShop/prompts/peer-reply-cross-channel.md +10 -10
  9. package/.output/nitro.json +1 -1
  10. package/.output/public/_nuxt/88GOowgO2.js +1 -0
  11. package/.output/public/_nuxt/{BNT8gYU92.js → BC9wjTJK2.js} +2 -2
  12. package/.output/public/_nuxt/BOt2SP4z.js +1 -0
  13. package/.output/public/_nuxt/BP-NyKVG.js +18 -0
  14. package/.output/public/_nuxt/{HBLJ-wei.js → BXxH0UQE.js} +1 -1
  15. package/.output/public/_nuxt/{zIGh7R49.js → BneN7fbu.js} +1 -1
  16. package/.output/public/_nuxt/BsROmY89.js +1 -0
  17. package/.output/public/_nuxt/{C_OLzD09.js → C4oW1HsE.js} +1 -1
  18. package/.output/public/_nuxt/CFxtLwjp.js +1 -0
  19. package/.output/public/_nuxt/{Cec0Ua3F.js → CS50LB_l.js} +1 -1
  20. package/.output/public/_nuxt/C_iYD-EB.js +1 -0
  21. package/.output/public/_nuxt/{DAe0h2MB.js → ClILjvWH.js} +1 -1
  22. package/.output/public/_nuxt/CssgYAAL2.js +1 -0
  23. package/.output/public/_nuxt/{CY9LbPCI.js → CzOCSGLe.js} +1 -1
  24. package/.output/public/_nuxt/D8qvkfyY.js +1 -0
  25. package/.output/public/_nuxt/DCn7QZ5N.js +2 -0
  26. package/.output/public/_nuxt/DGIuvyRN2.js +1 -0
  27. package/.output/public/_nuxt/{CojCTLKD.js → DGj-WEBg.js} +1 -1
  28. package/.output/public/_nuxt/{DDShH71m.js → DS8qj8EL.js} +1 -1
  29. package/.output/public/_nuxt/DTFCy6h-.js +1 -0
  30. package/.output/public/_nuxt/{DrYV5i68.js → DUjW5Yq5.js} +1 -1
  31. package/.output/public/_nuxt/DZshyNLa.js +1 -0
  32. package/.output/public/_nuxt/{45zuyAso.js → D_OTvQza.js} +1 -1
  33. package/.output/public/_nuxt/DcsCcxp4.js +1 -0
  34. package/.output/public/_nuxt/{DUrecWPx.js → Dihnimlk.js} +2 -2
  35. package/.output/public/_nuxt/Dqw1lpr-.js +1 -0
  36. package/.output/public/_nuxt/{BG8sCcwx.js → Dr9v6C0f.js} +9 -9
  37. package/.output/public/_nuxt/{8NMOXZOV.js → Du9ZJtnj.js} +1 -1
  38. package/.output/public/_nuxt/TownView.f-YOdXRs.css +1 -0
  39. package/.output/public/_nuxt/_id_.CM4bIgKY.css +1 -0
  40. package/.output/public/_nuxt/_id_.bNV69Dtf.css +1 -0
  41. package/.output/public/_nuxt/_wsId_.B4WiqkIS.css +1 -0
  42. package/.output/public/_nuxt/agents.ZD0rVdHE.css +1 -0
  43. package/.output/public/_nuxt/aml.BN8ZEW4h.css +1 -0
  44. package/.output/public/_nuxt/builds/latest.json +1 -1
  45. package/.output/public/_nuxt/builds/meta/f4707884-7cf4-4a31-80d2-e3d72b73745f.json +1 -0
  46. package/.output/public/_nuxt/channel-templates.BOtahzPi.css +1 -0
  47. package/.output/public/_nuxt/daq.B0D3dPAc.css +1 -0
  48. package/.output/public/_nuxt/dcw.8Y7FqCVN.css +1 -0
  49. package/.output/public/_nuxt/default.J32SgqFY.css +1 -0
  50. package/.output/public/_nuxt/entry.bdm0tv6M.css +1 -0
  51. package/.output/public/_nuxt/logs.BpKzmKsh.css +1 -0
  52. package/.output/public/_nuxt/monitor.D9pe7qN6.css +1 -0
  53. package/.output/public/_nuxt/pages.D7aSDlUI.css +1 -0
  54. package/.output/public/_nuxt/permissions.DwTVlFe6.css +1 -0
  55. package/.output/public/_nuxt/plugins.sb4nDGqr.css +1 -0
  56. package/.output/public/_nuxt/{Cbq-mryP.js → qr6R6Ha1.js} +1 -1
  57. package/.output/public/_nuxt/settings.BTgR-NiE.css +1 -0
  58. package/.output/public/_nuxt/teams.CxnxKVVs.css +1 -0
  59. package/.output/public/_nuxt/tokens.BFY7qv4f.css +1 -0
  60. package/.output/public/_nuxt/{town.DKIAhKnx.css → town.BBXZmeoP.css} +1 -1
  61. package/.output/public/_nuxt/users.DLgZ1D0h.css +1 -0
  62. package/.output/public/_nuxt/workshop.CR_QzeAN.css +1 -0
  63. package/.output/public/_nuxt/{BzHEilTt.js → xh3_vYcu.js} +1 -1
  64. package/.output/public/_nuxt/yF0aYMF1.js +4 -0
  65. package/.output/server/chunks/_/entity.mjs.map +1 -1
  66. package/.output/server/chunks/_/nitro.mjs +2244 -1464
  67. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  68. package/.output/server/chunks/build/{TownView-jVazYOjN.mjs → TownView-BuLAsmpR.mjs} +288 -206
  69. package/.output/server/chunks/build/TownView-BuLAsmpR.mjs.map +1 -0
  70. package/.output/server/chunks/build/{_id_-CfVosNg3.mjs → _id_-BU1wfOID.mjs} +138 -138
  71. package/.output/server/chunks/build/{_id_-CfVosNg3.mjs.map → _id_-BU1wfOID.mjs.map} +1 -1
  72. package/.output/server/chunks/build/{_id_-Hwr4rZpr.mjs → _id_-BYsEua57.mjs} +33 -32
  73. package/.output/server/chunks/build/_id_-BYsEua57.mjs.map +1 -0
  74. package/.output/server/chunks/build/{_wsId_-BVg3bB77.mjs → _wsId_-BxlDcJHg.mjs} +293 -259
  75. package/.output/server/chunks/build/{_wsId_-BVg3bB77.mjs.map → _wsId_-BxlDcJHg.mjs.map} +1 -1
  76. package/.output/server/chunks/build/{agents-Bvin73QY.mjs → agents-CLQqJF2y.mjs} +21 -27
  77. package/.output/server/chunks/build/agents-CLQqJF2y.mjs.map +1 -0
  78. package/.output/server/chunks/build/{aml-BCSJCdX7.mjs → aml-_7FdFL2p.mjs} +109 -109
  79. package/.output/server/chunks/build/{aml-BCSJCdX7.mjs.map → aml-_7FdFL2p.mjs.map} +1 -1
  80. package/.output/server/chunks/build/api-error-dul30BYQ.mjs.map +1 -1
  81. package/.output/server/chunks/build/{channel-templates-BTq8570n.mjs → channel-templates-p6SZNjlM.mjs} +19 -19
  82. package/.output/server/chunks/build/{channel-templates-BTq8570n.mjs.map → channel-templates-p6SZNjlM.mjs.map} +1 -1
  83. package/.output/server/chunks/build/{daq-C03Uu5UE.mjs → daq-cgyjKmJu.mjs} +188 -122
  84. package/.output/server/chunks/build/daq-cgyjKmJu.mjs.map +1 -0
  85. package/.output/server/chunks/build/{dcw-6vEYVeje.mjs → dcw-CoTxBlAZ.mjs} +45 -45
  86. package/.output/server/chunks/build/{dcw-6vEYVeje.mjs.map → dcw-CoTxBlAZ.mjs.map} +1 -1
  87. package/.output/server/chunks/build/{default-hseyOqBT.mjs → default-BE4r0FZN.mjs} +158 -79
  88. package/.output/server/chunks/build/{default-hseyOqBT.mjs.map → default-BE4r0FZN.mjs.map} +1 -1
  89. package/.output/server/chunks/build/{logs-B-xhuqln.mjs → logs-BSOeZwwI.mjs} +34 -34
  90. package/.output/server/chunks/build/{logs-B-xhuqln.mjs.map → logs-BSOeZwwI.mjs.map} +1 -1
  91. package/.output/server/chunks/build/{monitor-CyfDt4nR.mjs → monitor-C0okQaXz.mjs} +33 -33
  92. package/.output/server/chunks/build/{monitor-CyfDt4nR.mjs.map → monitor-C0okQaXz.mjs.map} +1 -1
  93. package/.output/server/chunks/build/{pages-BO7yZsXA.mjs → pages-DFxjn9Xa.mjs} +33 -17
  94. package/.output/server/chunks/build/pages-DFxjn9Xa.mjs.map +1 -0
  95. package/.output/server/chunks/build/{permissions-B52oOmaO.mjs → permissions-68SsNjex.mjs} +12 -12
  96. package/.output/server/chunks/build/{permissions-B52oOmaO.mjs.map → permissions-68SsNjex.mjs.map} +1 -1
  97. package/.output/server/chunks/build/{plugins-CUWmMdyt.mjs → plugins-lGlUr1lj.mjs} +17 -17
  98. package/.output/server/chunks/build/{plugins-CUWmMdyt.mjs.map → plugins-lGlUr1lj.mjs.map} +1 -1
  99. package/.output/server/chunks/build/{settings-DoQ2Oq3P.mjs → settings-Ddd1qx2Z.mjs} +50 -47
  100. package/.output/server/chunks/build/settings-Ddd1qx2Z.mjs.map +1 -0
  101. package/.output/server/chunks/build/{teams-2kz3CusY.mjs → teams-MEDLZdMn.mjs} +38 -34
  102. package/.output/server/chunks/build/teams-MEDLZdMn.mjs.map +1 -0
  103. package/.output/server/chunks/build/{tokens-BbWLqtVz.mjs → tokens-C7fTM5C2.mjs} +14 -14
  104. package/.output/server/chunks/build/{tokens-BbWLqtVz.mjs.map → tokens-C7fTM5C2.mjs.map} +1 -1
  105. package/.output/server/chunks/build/{town-BOl6hs9B.mjs → town-qMPql9Se.mjs} +36 -10
  106. package/.output/server/chunks/build/town-qMPql9Se.mjs.map +1 -0
  107. package/.output/server/chunks/build/useDaqStream-CIBaiGAl.mjs +1 -1
  108. package/.output/server/chunks/build/useDcwStream-CBbiYnWe.mjs +1 -1
  109. package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs +49 -0
  110. package/.output/server/chunks/build/useResponsive-BKDMGTHs.mjs.map +1 -0
  111. package/.output/server/chunks/build/{users-fohSmF-J.mjs → users-Cfd5-l2-.mjs} +6 -6
  112. package/.output/server/chunks/build/{users-fohSmF-J.mjs.map → users-Cfd5-l2-.mjs.map} +1 -1
  113. package/.output/server/chunks/build/{workshop-DX5-ldc4.mjs → workshop-BL5bhfs0.mjs} +15 -15
  114. package/.output/server/chunks/build/{workshop-DX5-ldc4.mjs.map → workshop-BL5bhfs0.mjs.map} +1 -1
  115. package/.output/server/chunks/build/{workspaces-BuydxM-3.mjs → workspaces-Bgz5Ekwp.mjs} +18 -3
  116. package/.output/server/chunks/build/workspaces-Bgz5Ekwp.mjs.map +1 -0
  117. package/.output/server/chunks/routes/api/system/config-groups/_id_.patch.mjs.map +1 -1
  118. package/.output/server/chunks/routes/api/system/index.patch.mjs.map +1 -1
  119. package/.output/server/chunks/routes/api/system/index.post.mjs.map +1 -1
  120. package/.output/server/chunks/routes/api/system/settings/events.get.mjs.map +1 -1
  121. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +6 -2
  122. package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs.map +1 -1
  123. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +2 -1
  124. package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs.map +1 -1
  125. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
  126. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +3 -3
  127. package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs.map +1 -1
  128. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs.map +1 -1
  129. package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs.map +1 -1
  130. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +3 -2
  131. package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs.map +1 -1
  132. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +2 -1
  133. package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs.map +1 -1
  134. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +8 -6
  135. package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs.map +1 -1
  136. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +5 -5
  137. package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs.map +1 -1
  138. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +14 -4
  139. package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs.map +1 -1
  140. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +4 -4
  141. package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs.map +1 -1
  142. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +4 -3
  143. package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs.map +1 -1
  144. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +31 -0
  145. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs.map +1 -0
  146. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +28 -0
  147. package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs.map +1 -0
  148. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs.map +1 -1
  149. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +32 -0
  150. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs.map +1 -0
  151. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +34 -0
  152. package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs.map +1 -0
  153. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +33 -0
  154. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs.map +1 -0
  155. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +34 -0
  156. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs.map +1 -0
  157. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
  158. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
  159. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
  160. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
  161. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  162. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  163. package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
  164. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +2 -0
  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 +53 -25
  175. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  176. package/.output/server/package.json +1 -1
  177. package/README-zh.md +204 -40
  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 -24
  182. package/app/components/AppSidebar.vue +118 -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/useDcwStream.ts +1 -1
  206. package/app/composables/workshop/useVisibleInterval.ts +2 -2
  207. package/app/composables/workshop/useWorkshopApi.ts +1 -1
  208. package/app/layouts/default.vue +46 -2
  209. package/app/pages/aml/index.vue +712 -616
  210. package/app/pages/daq/[id].vue +3 -2
  211. package/app/pages/daq/index.vue +209 -9
  212. package/app/pages/dcw/[id].vue +109 -28
  213. package/app/pages/dcw/index.vue +83 -23
  214. package/app/pages/index.vue +35 -1
  215. package/app/pages/logs/index.vue +147 -13
  216. package/app/pages/monitor.vue +56 -12
  217. package/app/pages/permissions/index.vue +34 -0
  218. package/app/pages/plugins/index.vue +35 -4
  219. package/app/pages/settings.vue +90 -21
  220. package/app/pages/tokens.vue +23 -0
  221. package/app/pages/town.vue +50 -5
  222. package/app/pages/users.vue +23 -0
  223. package/app/pages/workshop/agents.vue +92 -2
  224. package/app/pages/workshop/channel-templates.vue +53 -0
  225. package/app/pages/workshop/index.vue +14 -0
  226. package/app/pages/workshop/teams.vue +66 -6
  227. package/app/pages/workshop/w/[wsId].vue +202 -14
  228. package/app/plugins/aw-plugins.client.ts +13 -8
  229. package/app/stores/app.ts +33 -1
  230. package/app/stores/workshop/user.ts +1 -1
  231. package/app/stores/workshop/workspaces.ts +18 -2
  232. package/app/utils/api-error.ts +1 -1
  233. package/cli/commands/build.mjs +8 -1
  234. package/docker-compose.yml +6 -0
  235. package/docs/full-test-plan.md +4 -0
  236. package/docs/plugins.en.md +1 -0
  237. package/docs/plugins.md +1 -0
  238. package/i18n/locales/en.ts +3 -0
  239. package/i18n/locales/zh-CN.ts +3 -0
  240. package/nuxt.config.ts +31 -0
  241. package/package.json +9 -1
  242. package/scripts/_audit/detached-start.mjs +103 -0
  243. package/scripts/_audit/guard-upstream-liveness.mjs +104 -0
  244. package/scripts/_dbg-param-map-e2e.ts +242 -0
  245. package/scripts/_dbg-param-map-rest-smoke.mjs +73 -0
  246. package/scripts/_dbg-param-real-scenario.mjs +153 -0
  247. package/scripts/_dbg-perms-e2e.mjs +10 -3
  248. package/scripts/_dbg-protocol-matrix.mjs +453 -441
  249. package/scripts/_dbg-render-regression.mjs +151 -130
  250. package/scripts/_dbg-town-agents-probe.mjs +60 -0
  251. package/scripts/_dbg-visual-acceptance.mjs +63 -0
  252. package/scripts/api-live-e2e.mjs +40 -8
  253. package/scripts/capture-walkthrough.mjs +232 -0
  254. package/scripts/e2e-agent-team.mjs +5 -3
  255. package/scripts/render-walkthrough-figure.mjs +46 -0
  256. package/scripts/seed-walkthrough-fixture.mjs +143 -0
  257. package/scripts/test-plugin-hardening.mjs +8 -0
  258. package/scripts/three-system-e2e.mjs +6 -6
  259. package/scripts/ui/admin-shots.mjs +46 -0
  260. package/scripts/ui/audit-layout.mjs +301 -0
  261. package/scripts/ui/bump-microfont.mjs +39 -0
  262. package/scripts/ui/lib.mjs +198 -0
  263. package/scripts/ui/linkcheck2.mjs +37 -0
  264. package/scripts/ui/live-render-check.mjs +72 -0
  265. package/scripts/ui/md-lint.mjs +80 -0
  266. package/scripts/ui/perf-audit.mjs +132 -0
  267. package/scripts/ui/readme-assets.mjs +30 -0
  268. package/scripts/ui/readme-shots.mjs +42 -0
  269. package/scripts/ui/record.mjs +225 -0
  270. package/scripts/ui/seed-admin.mjs +68 -0
  271. package/scripts/ui/seed-demo.mjs +83 -0
  272. package/scripts/ui/shot-hero.mjs +25 -0
  273. package/scripts/ui/shots.mjs +75 -0
  274. package/scripts/ui/sim-ui-shot.mjs +16 -0
  275. package/scripts/ui/verify-nav.mjs +51 -0
  276. package/scripts/ui/verify-responsive.mjs +285 -0
  277. package/server/api/system/config-groups/[id].patch.ts +1 -1
  278. package/server/api/system/config-groups/index.post.ts +1 -1
  279. package/server/api/system/settings/events.get.ts +1 -1
  280. package/server/api/system/settings/index.patch.ts +1 -1
  281. package/server/api/workshop/agent-tools/invoke.post.ts +16 -2
  282. package/server/api/workshop/aml/datasets/[id].get.ts +8 -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 +2 -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 +14 -3
  299. package/server/plugins/dev-stability-guard.ts +3 -1
  300. package/server/plugins/system-config.ts +6 -1
  301. package/server/plugins-builtin/rag-bridge/index.mjs +9 -2
  302. package/server/services/system-config.ts +28 -9
  303. package/server/services/workshop/agents/adapters/one-shot-cli-agent.ts +2 -1
  304. package/server/services/workshop/agents/agent-interface.ts +8 -6
  305. package/server/services/workshop/agents/base-agent.ts +18 -4
  306. package/server/services/workshop/agents/claude-agent.ts +7 -3
  307. package/server/services/workshop/agents/codex-agent.ts +3 -3
  308. package/server/services/workshop/agents/dsh-agent.ts +3 -3
  309. package/server/services/workshop/agents/goose-agent.ts +0 -1
  310. package/server/services/workshop/agents/harness-terminal.ts +14 -1
  311. package/server/services/workshop/agents/hermes-agent.ts +4 -2
  312. package/server/services/workshop/agents/host-tool-bridge.ts +5 -1
  313. package/server/services/workshop/agents/industrial-context.ts +4 -1
  314. package/server/services/workshop/agents/industrial-tools.ts +164 -6
  315. package/server/services/workshop/agents/omp-agent.ts +15 -9
  316. package/server/services/workshop/agents/opencode-agent.ts +47 -21
  317. package/server/services/workshop/agents/qwen-agent.ts +10 -5
  318. package/server/services/workshop/aml/entity.ts +3 -1
  319. package/server/services/workshop/aml/python-runtime.ts +3 -2
  320. package/server/services/workshop/daq/bus/mqtt.adapter.ts +8 -4
  321. package/server/services/workshop/daq/daq-controller.ts +18 -3
  322. package/server/services/workshop/daq/daq-runtime.ts +5 -3
  323. package/server/services/workshop/daq/drivers.ts +63 -8
  324. package/server/services/workshop/daq/host-ports.ts +3 -2
  325. package/server/services/workshop/daq/storage/timescale.adapter.ts +3 -1
  326. package/server/services/workshop/db/channel.repo.ts +4 -0
  327. package/server/services/workshop/db/ops.repo.ts +5 -2
  328. package/server/services/workshop/db/retention.ts +8 -3
  329. package/server/services/workshop/dcw/dcw-controller.ts +143 -16
  330. package/server/services/workshop/dcw/dcw-product.repo.ts +38 -1
  331. package/server/services/workshop/dcw/dcw-runtime.ts +3 -2
  332. package/server/services/workshop/dcw/drivers.ts +5 -2
  333. package/server/services/workshop/dcw/param-conversion.ts +78 -0
  334. package/server/services/workshop/dcw/param-limits.ts +142 -0
  335. package/server/services/workshop/dcw/param-map.repo.ts +305 -0
  336. package/server/services/workshop/dcw/recipe-rollback-manager.ts +13 -7
  337. package/server/services/workshop/runtime/agent-runtime.ts +4 -0
  338. package/server/services/workshop/runtime/manager.ts +9 -2
  339. package/server/services/workshop/settings.ts +4 -2
  340. package/server/types/pg.d.ts +49 -0
  341. package/server/utils/stability-severity.ts +13 -2
  342. package/shared/config/groups.mjs +22 -1
  343. package/shared/config/home.d.mts +28 -0
  344. package/shared/dcw-protocol.ts +136 -0
  345. package/uno.config.ts +12 -1
  346. package/.output/public/_nuxt/BFkgkW8u.js +0 -4
  347. package/.output/public/_nuxt/C5gUkRwn.js +0 -1
  348. package/.output/public/_nuxt/CM12FuB42.js +0 -1
  349. package/.output/public/_nuxt/CZiw7sEV.js +0 -1
  350. package/.output/public/_nuxt/Cc_9VzD42.js +0 -1
  351. package/.output/public/_nuxt/CdPzkOMV.js +0 -1
  352. package/.output/public/_nuxt/D1YDxZpZ.js +0 -1
  353. package/.output/public/_nuxt/D20Yamr4.js +0 -1
  354. package/.output/public/_nuxt/DVsjtsvZ2.js +0 -1
  355. package/.output/public/_nuxt/DmqknNvV.js +0 -18
  356. package/.output/public/_nuxt/DnUuIR83.js +0 -1
  357. package/.output/public/_nuxt/S_fVQwJK.js +0 -1
  358. package/.output/public/_nuxt/TownView.0oLiQgTC.css +0 -1
  359. package/.output/public/_nuxt/_id_.D-SYuyZb.css +0 -1
  360. package/.output/public/_nuxt/_id_.hma_BU6T.css +0 -1
  361. package/.output/public/_nuxt/_wsId_.B12v3PhY.css +0 -1
  362. package/.output/public/_nuxt/agents.BV70ioCv.css +0 -1
  363. package/.output/public/_nuxt/ahgEJu2R.js +0 -1
  364. package/.output/public/_nuxt/aml.COEKNNqK.css +0 -1
  365. package/.output/public/_nuxt/builds/meta/44b66249-54d0-4c8a-9057-9755a32329e2.json +0 -1
  366. package/.output/public/_nuxt/channel-templates.C-M5nKcC.css +0 -1
  367. package/.output/public/_nuxt/daq.B3265ZDn.css +0 -1
  368. package/.output/public/_nuxt/dcw.DLYZqEhT.css +0 -1
  369. package/.output/public/_nuxt/default.DE_vT238.css +0 -1
  370. package/.output/public/_nuxt/entry.BB-Eeh-J.css +0 -1
  371. package/.output/public/_nuxt/logs.CqFyMrJw.css +0 -1
  372. package/.output/public/_nuxt/monitor.B--1dPzs.css +0 -1
  373. package/.output/public/_nuxt/pages.ooEzrMm9.css +0 -1
  374. package/.output/public/_nuxt/permissions.B1pjGChZ.css +0 -1
  375. package/.output/public/_nuxt/plugins.5e5chZ67.css +0 -1
  376. package/.output/public/_nuxt/pz2JDAM7.js +0 -2
  377. package/.output/public/_nuxt/settings.Dm3M0RLy.css +0 -1
  378. package/.output/public/_nuxt/teams.BC75EGnR.css +0 -1
  379. package/.output/public/_nuxt/tokens.xRb1fSPU.css +0 -1
  380. package/.output/public/_nuxt/users.CXnP2E08.css +0 -1
  381. package/.output/public/_nuxt/workshop.Jk5HxWPE.css +0 -1
  382. package/.output/server/chunks/build/TownView-jVazYOjN.mjs.map +0 -1
  383. package/.output/server/chunks/build/_id_-Hwr4rZpr.mjs.map +0 -1
  384. package/.output/server/chunks/build/agents-Bvin73QY.mjs.map +0 -1
  385. package/.output/server/chunks/build/daq-C03Uu5UE.mjs.map +0 -1
  386. package/.output/server/chunks/build/pages-BO7yZsXA.mjs.map +0 -1
  387. package/.output/server/chunks/build/settings-DoQ2Oq3P.mjs.map +0 -1
  388. package/.output/server/chunks/build/teams-2kz3CusY.mjs.map +0 -1
  389. package/.output/server/chunks/build/town-BOl6hs9B.mjs.map +0 -1
  390. package/.output/server/chunks/build/workspaces-BuydxM-3.mjs.map +0 -1
  391. /package/.output/public/_nuxt/{36oeS8_R2.js → 36oeS8_R.js} +0 -0
  392. /package/.output/public/_nuxt/{CYWVXZTS.js → CYWVXZTS2.js} +0 -0
@@ -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, b4 as notifyGrantsChanged } from '../../../_/nitro.mjs';
2
2
  import { resolveUser, requireAdmin } from './caller.mjs';
3
3
  import 'node:crypto';
4
4
  import 'node:http';
@@ -33,6 +33,8 @@ 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(),
37
39
  recipes: visible ? ctrl.listRecipes().filter((r) => inLine(r.lineId)) : ctrl.listRecipes(),
38
40
  runs: visible ? ctrl.listRuns().filter((r) => inLine(r.lineId)) : ctrl.listRuns(),
@@ -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":";;;;;;;;;;;;;;;;;;;;;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;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,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;;;;"}
@@ -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, b5 as setPluginEnabled, b6 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, b5 as setPluginEnabled, b6 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, b7 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, b7 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.bB; });
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, b8 as encodePath, b9 as buildAssetsURL, ba as publicAssetsURL, bb as defineRenderHandler, z as getQuery, n as createError, d as destr, bc as getRouteRules, bd as relative, be as joinURL, bf as getResponseStatusText, bg 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 = "BG8sCcwx.js";
233
+ const entryFileName = "Dr9v6C0f.js";
234
234
 
235
235
  //#region src/runtime/handlers/renderer.ts
236
236
  globalThis.__buildAssetsURL = buildAssetsURL;
@@ -1,5 +1,5 @@
1
1
  import process from 'node:process';globalThis._importMeta_=globalThis._importMeta_||{url:import.meta.url,env:process.env};import { getCurrentScope, ref, watchEffect, getCurrentInstance, onBeforeUnmount, onDeactivated, onActivated, shallowReactive, reactive, effectScope, hasInjectionContext, inject, toRef, customRef, defineComponent, shallowRef, h, resolveComponent, computed, unref, isRef, toValue, onServerPrefetch, nextTick, queuePostFlushCb, provide, watch, triggerRef, Fragment, isVNode, createVNode, Comment, Text, TransitionGroup, toRaw, Teleport, render, createApp, onErrorCaptured, resolveDynamicComponent, mergeProps, withCtx, defineAsyncComponent, createCommentVNode, isReadonly, Suspense, useSSRContext, isShallow, isReactive } from 'vue';
2
- import { bg as createHooks, n as createError, bh as sanitizeStatusCode, bi as klona, S as getRequestHeader, bj as isEqual$1, bk as setCookie, bl as getCookie, bm as deleteCookie, bn as $fetch, bo as baseURL, k as getRequestHeaders, bp as defu, bq as getRequestProtocol, br as appendResponseHeader } from '../_/nitro.mjs';
2
+ import { bh as createHooks, n as createError, bi as sanitizeStatusCode, bj as klona, S as getRequestHeader, bk as isEqual$1, bl as setCookie, bm as getCookie, bn as deleteCookie, bo as $fetch, bp as baseURL, k as getRequestHeaders, bq as defu, br as getRequestProtocol, bs as appendResponseHeader } from '../_/nitro.mjs';
3
3
  import { walkResolver } from 'unhead/utils';
4
4
  import { i as injectHead$1, V as VueResolver, h as headSymbol } from '../routes/renderer.mjs';
5
5
  import { START_LOCATION, useRoute as useRoute$1, RouterView, createMemoryHistory, createRouter, isNavigationFailure } from 'vue-router';
@@ -2287,6 +2287,8 @@ var usePinia = () => useNuxtApp().$pinia;
2287
2287
  var useAppStore = (0, composables_exports.defineStore)("app", () => {
2288
2288
  const isDark = ref(true);
2289
2289
  const sidebarCollapsed = ref(false);
2290
+ /** 窄屏抽屉导航是否展开(不持久化:每次进入页面都应关闭) */
2291
+ const mobileNavOpen = ref(false);
2290
2292
  /**
2291
2293
  * 用户是否在设置页/页头显式切换过明暗。
2292
2294
  * 只有"显式选择"才锁死主题,阻止服务端 theme.mode 的运行时跟随——
@@ -2305,16 +2307,35 @@ var useAppStore = (0, composables_exports.defineStore)("app", () => {
2305
2307
  function toggleSidebar() {
2306
2308
  sidebarCollapsed.value = !sidebarCollapsed.value;
2307
2309
  }
2310
+ /**
2311
+ * 抽屉式导航(窄屏,<900px)。与 sidebarCollapsed 分开的原因:
2312
+ * 折叠是**桌面用户的持久偏好**(图标轨),抽屉是**窄屏的临时浮层**——
2313
+ * 两者语义不同,共用一个状态会让"手机上开过一次抽屉"变成
2314
+ * "桌面侧栏永久收起"(实测:antd Sider 的 breakpoint 就会这么干)。
2315
+ */
2316
+ function openMobileNav() {
2317
+ mobileNavOpen.value = true;
2318
+ }
2319
+ function closeMobileNav() {
2320
+ mobileNavOpen.value = false;
2321
+ }
2322
+ function toggleMobileNav() {
2323
+ mobileNavOpen.value = !mobileNavOpen.value;
2324
+ }
2308
2325
  function setAccent(color) {
2309
2326
  accent.value = color;
2310
2327
  }
2311
2328
  return {
2312
2329
  isDark,
2313
2330
  sidebarCollapsed,
2331
+ mobileNavOpen,
2314
2332
  accent,
2315
2333
  themeTouched,
2316
2334
  toggleDark,
2317
2335
  toggleSidebar,
2336
+ openMobileNav,
2337
+ closeMobileNav,
2338
+ toggleMobileNav,
2318
2339
  setAccent
2319
2340
  };
2320
2341
  }, { persist: {
@@ -9385,85 +9406,85 @@ var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Froutes_default = [
9385
9406
  name: "workshop-w-wsId",
9386
9407
  path: "/workshop/w/:wsId()",
9387
9408
  meta: { layout: "default" },
9388
- component: () => import('../build/_wsId_-BVg3bB77.mjs')
9409
+ component: () => import('../build/_wsId_-BxlDcJHg.mjs')
9389
9410
  },
9390
9411
  {
9391
9412
  name: "workshop-agents",
9392
9413
  path: "/workshop/agents",
9393
9414
  meta: { layout: "default" },
9394
- component: () => import('../build/agents-Bvin73QY.mjs')
9415
+ component: () => import('../build/agents-CLQqJF2y.mjs')
9395
9416
  },
9396
9417
  {
9397
9418
  name: "workshop-channel-templates",
9398
9419
  path: "/workshop/channel-templates",
9399
9420
  meta: { layout: "default" },
9400
- component: () => import('../build/channel-templates-BTq8570n.mjs')
9421
+ component: () => import('../build/channel-templates-p6SZNjlM.mjs')
9401
9422
  },
9402
9423
  {
9403
9424
  name: "workshop-teams",
9404
9425
  path: "/workshop/teams",
9405
9426
  meta: { layout: "default" },
9406
- component: () => import('../build/teams-2kz3CusY.mjs')
9427
+ component: () => import('../build/teams-MEDLZdMn.mjs')
9407
9428
  },
9408
9429
  {
9409
9430
  name: "daq-id",
9410
9431
  path: "/daq/:id()",
9411
9432
  meta: { layout: "default" },
9412
- component: () => import('../build/_id_-Hwr4rZpr.mjs')
9433
+ component: () => import('../build/_id_-BYsEua57.mjs')
9413
9434
  },
9414
9435
  {
9415
9436
  name: "dcw-id",
9416
9437
  path: "/dcw/:id()",
9417
- component: () => import('../build/_id_-CfVosNg3.mjs')
9438
+ component: () => import('../build/_id_-BU1wfOID.mjs')
9418
9439
  },
9419
9440
  {
9420
9441
  name: "aml",
9421
9442
  path: "/aml",
9422
9443
  meta: { layout: "default" },
9423
- component: () => import('../build/aml-BCSJCdX7.mjs')
9444
+ component: () => import('../build/aml-_7FdFL2p.mjs')
9424
9445
  },
9425
9446
  {
9426
9447
  name: "daq",
9427
9448
  path: "/daq",
9428
9449
  meta: { layout: "default" },
9429
- component: () => import('../build/daq-C03Uu5UE.mjs')
9450
+ component: () => import('../build/daq-cgyjKmJu.mjs')
9430
9451
  },
9431
9452
  {
9432
9453
  name: "dcw",
9433
9454
  path: "/dcw",
9434
- component: () => import('../build/dcw-6vEYVeje.mjs')
9455
+ component: () => import('../build/dcw-CoTxBlAZ.mjs')
9435
9456
  },
9436
9457
  {
9437
9458
  name: "logs",
9438
9459
  path: "/logs",
9439
- component: () => import('../build/logs-B-xhuqln.mjs')
9460
+ component: () => import('../build/logs-BSOeZwwI.mjs')
9440
9461
  },
9441
9462
  {
9442
9463
  name: "monitor",
9443
9464
  path: "/monitor",
9444
9465
  meta: { layout: "default" },
9445
- component: () => import('../build/monitor-CyfDt4nR.mjs')
9466
+ component: () => import('../build/monitor-C0okQaXz.mjs')
9446
9467
  },
9447
9468
  {
9448
9469
  name: "permissions",
9449
9470
  path: "/permissions",
9450
- component: () => import('../build/permissions-B52oOmaO.mjs')
9471
+ component: () => import('../build/permissions-68SsNjex.mjs')
9451
9472
  },
9452
9473
  {
9453
9474
  name: "plugins",
9454
9475
  path: "/plugins",
9455
- component: () => import('../build/plugins-CUWmMdyt.mjs')
9476
+ component: () => import('../build/plugins-lGlUr1lj.mjs')
9456
9477
  },
9457
9478
  {
9458
9479
  name: "settings",
9459
9480
  path: "/settings",
9460
- component: () => import('../build/settings-DoQ2Oq3P.mjs')
9481
+ component: () => import('../build/settings-Ddd1qx2Z.mjs')
9461
9482
  },
9462
9483
  {
9463
9484
  name: "tokens",
9464
9485
  path: "/tokens",
9465
9486
  meta: { layout: "default" },
9466
- component: () => import('../build/tokens-BbWLqtVz.mjs')
9487
+ component: () => import('../build/tokens-C7fTM5C2.mjs')
9467
9488
  },
9468
9489
  {
9469
9490
  name: "town",
@@ -9472,23 +9493,23 @@ var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Froutes_default = [
9472
9493
  layout: "town",
9473
9494
  title: "Digital Twin"
9474
9495
  },
9475
- component: () => import('../build/town-BOl6hs9B.mjs')
9496
+ component: () => import('../build/town-qMPql9Se.mjs')
9476
9497
  },
9477
9498
  {
9478
9499
  name: "users",
9479
9500
  path: "/users",
9480
- component: () => import('../build/users-fohSmF-J.mjs')
9501
+ component: () => import('../build/users-Cfd5-l2-.mjs')
9481
9502
  },
9482
9503
  {
9483
9504
  name: "workshop",
9484
9505
  path: "/workshop",
9485
9506
  meta: { layout: "default" },
9486
- component: () => import('../build/workshop-DX5-ldc4.mjs')
9507
+ component: () => import('../build/workshop-BL5bhfs0.mjs')
9487
9508
  },
9488
9509
  {
9489
9510
  name: "index",
9490
9511
  path: "/",
9491
- component: () => import('../build/pages-BO7yZsXA.mjs')
9512
+ component: () => import('../build/pages-DFxjn9Xa.mjs')
9492
9513
  }
9493
9514
  ];
9494
9515
  //#endregion
@@ -12965,6 +12986,7 @@ var zh_CN_default$1 = {
12965
12986
  tokens: "API Token",
12966
12987
  daq: "数采中心",
12967
12988
  dcw: "产线运营",
12989
+ aml: "建模",
12968
12990
  logs: "日志管理",
12969
12991
  users: "用户管理",
12970
12992
  monitor: "运行时监控",
@@ -12975,6 +12997,8 @@ var zh_CN_default$1 = {
12975
12997
  header: {
12976
12998
  collapse: "折叠菜单",
12977
12999
  expand: "展开菜单",
13000
+ openNav: "打开导航",
13001
+ closeNav: "关闭导航",
12978
13002
  language: "语言",
12979
13003
  theme: "主题",
12980
13004
  fullscreen: "全屏",
@@ -15165,6 +15189,7 @@ var en_default = {
15165
15189
  tokens: "API Tokens",
15166
15190
  daq: "DAQ Console",
15167
15191
  dcw: "Line Ops",
15192
+ aml: "Modeling",
15168
15193
  logs: "Logs",
15169
15194
  users: "Users",
15170
15195
  monitor: "Runtime Monitor",
@@ -15175,6 +15200,8 @@ var en_default = {
15175
15200
  header: {
15176
15201
  collapse: "Collapse menu",
15177
15202
  expand: "Expand menu",
15203
+ openNav: "Open navigation",
15204
+ closeNav: "Close navigation",
15178
15205
  language: "Language",
15179
15206
  theme: "Theme",
15180
15207
  fullscreen: "Fullscreen",
@@ -18745,7 +18772,7 @@ var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Fplugins_server_default =
18745
18772
  //#endregion
18746
18773
  //#region virtual:nuxt:node_modules%2F.cache%2Fnuxt%2F.nuxt%2Flayouts.mjs
18747
18774
  var virtual_nuxt_node_modules_2F_cache_2Fnuxt_2F_nuxt_2Flayouts_default = {
18748
- default: defineAsyncComponent(() => import('../build/default-hseyOqBT.mjs').then((m) => m.default || m)),
18775
+ default: defineAsyncComponent(() => import('../build/default-BE4r0FZN.mjs').then((m) => m.default || m)),
18749
18776
  town: defineAsyncComponent(() => import('../build/town-BUqRobze.mjs').then((m) => m.default || m))
18750
18777
  };
18751
18778
  //#endregion
@@ -19381,7 +19408,7 @@ var app_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompon
19381
19408
  */
19382
19409
  const themeConfig = computed(() => {
19383
19410
  const dark = store.isDark;
19384
- const accent = dark ? mixWhite(accentBase.value, .16) : mixBlack(accentBase.value, .36);
19411
+ const accent = dark ? mixWhite(accentBase.value, .16) : mixBlack(accentBase.value, .46);
19385
19412
  const paper = dark ? "#070b13" : "#f5f5f5";
19386
19413
  const raised = dark ? "#0d1420" : "#ffffff";
19387
19414
  const elevated = dark ? "#111a2b" : "#ffffff";
@@ -19396,6 +19423,7 @@ var app_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompon
19396
19423
  token: {
19397
19424
  colorPrimary: accent,
19398
19425
  colorInfo: dark ? "#41c8f4" : "#3f6094",
19426
+ colorError: dark ? "#ff8080" : "#c0261f",
19399
19427
  colorLink: accent,
19400
19428
  borderRadius: 8,
19401
19429
  fontFamily: `'Geist Variable', -apple-system, 'PingFang SC', 'Microsoft YaHei', 'Segoe UI', sans-serif`,
@@ -19435,12 +19463,12 @@ var app_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCompon
19435
19463
  }
19436
19464
  };
19437
19465
  });
19438
- const accentStrong = computed(() => store.isDark ? mixWhite(accentBase.value, .3) : mixBlack(accentBase.value, .5));
19466
+ const accentStrong = computed(() => store.isDark ? mixWhite(accentBase.value, .3) : mixBlack(accentBase.value, .58));
19439
19467
  useHead$1({ htmlAttrs: {
19440
19468
  lang: locale,
19441
19469
  style: computed(() => [
19442
19470
  `--color-primary: ${accentBase.value}`,
19443
- `--accent: ${store.isDark ? mixWhite(accentBase.value, .16) : mixBlack(accentBase.value, .36)}`,
19471
+ `--accent: ${store.isDark ? mixWhite(accentBase.value, .16) : mixBlack(accentBase.value, .46)}`,
19444
19472
  `--accent-strong: ${accentStrong.value}`,
19445
19473
  `--on-accent: ${store.isDark ? "#08130d" : "#ffffff"}`
19446
19474
  ])
@@ -19591,5 +19619,5 @@ const entry = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
19591
19619
  default: entry_default
19592
19620
  }, Symbol.toStringTag, { value: 'Module' }));
19593
19621
 
19594
- export { useToken$1 as $, resetComponent as A, eventType as B, CloseCircleFilled as C, presetPrimaryColors as D, genFocusStyle as E, sanitizeTag as F, isValidElement as G, isFragment as H, getTransitionName as I, getStyle$1 as J, Keyframe as K, getSlot as L, getEvents as M, contains as N, hasProp as O, PropTypes as P, getComponent as Q, findDOMNode as R, useProvidePortal as S, getOptionProps as T, getMotion$1 as U, Icon as V, useInjectDisabled as W, LoadingOutlined as X, canUseDom as Y, Portal_default as Z, _plugin_vue_export_helper_default as _, useRoute as a, tuple as a0, useProviderSize as a1, useProviderDisabled as a2, useInjectGlobalForm as a3, ExclamationCircleFilled as a4, useLocaleReceiver as a5, localeValues$1 as a6, arrayType as a7, getTransitionGroupProps as a8, textEllipsis as a9, filterEmptyWithUndefined as aA, isEmptyElement as aB, vNodeType as aC, ExclamationCircleOutlined as aD, CloseCircleOutlined as aE, InfoCircleOutlined as aF, CheckCircleOutlined as aG, useAppStore as aH, useSiteConfig as aI, useRuntimeConfig as aJ, useRuntimeConfigStore as aK, theme_default as aL, composables_exports as aM, storages as aN, entry as aO, getTransitionDirection as aa, DefaultRenderEmpty as ab, resetIcon as ac, clearFix as ad, getClass as ae, capitalize$1 as af, genFocusOutline as ag, isValid as ah, skipFlattenKey as ai, TinyColor as aj, camelize as ak, toPx as al, InfoCircleFilled as am, useConfigContextInject as an, globalConfigForApi as ao, ConfigProvider as ap, getConfirmLocale as aq, $fetch$2 as ar, useNuxtApp as as, useHttp as at, appDiagnostics as au, en_US_default$1 as av, splitAttrs as aw, zh_CN_default$2 as ax, empty_default as ay, NuxtLink as az, useUserStore as b, useHead$1 as c, api$1 as d, useConfigInject_default as e, flattenChildren as f, getPropsSlot as g, _extends as h, classNames as i, _objectSpread2 as j, getTransitionProps as k, genComponentStyleHook as l, merge as m, navigateTo as n, filterEmpty as o, warning$1 as p, CloseOutlined as q, CheckCircleFilled as r, stringType as s, someType as t, useI18n as u, objectType as v, withInstall as w, anyType as x, booleanType as y, functionType as z };
19622
+ export { useToken$1 as $, resetComponent as A, eventType as B, CloseCircleFilled as C, presetPrimaryColors as D, genFocusStyle as E, sanitizeTag as F, isValidElement as G, isFragment as H, getTransitionName as I, getStyle$1 as J, Keyframe as K, getSlot as L, getEvents as M, contains as N, hasProp as O, PropTypes as P, getComponent as Q, findDOMNode as R, useProvidePortal as S, getOptionProps as T, getMotion$1 as U, Icon as V, useInjectDisabled as W, LoadingOutlined as X, canUseDom as Y, Portal_default as Z, _plugin_vue_export_helper_default as _, useRoute as a, tuple as a0, useProviderSize as a1, useProviderDisabled as a2, useInjectGlobalForm as a3, ExclamationCircleFilled as a4, useLocaleReceiver as a5, localeValues$1 as a6, arrayType as a7, getTransitionGroupProps as a8, textEllipsis as a9, filterEmptyWithUndefined as aA, isEmptyElement as aB, vNodeType as aC, ExclamationCircleOutlined as aD, CloseCircleOutlined as aE, InfoCircleOutlined as aF, CheckCircleOutlined as aG, useAppStore as aH, useSiteConfig as aI, useRuntimeConfig as aJ, useRuntimeConfigStore as aK, useCookie as aL, theme_default as aM, composables_exports as aN, storages as aO, entry as aP, getTransitionDirection as aa, DefaultRenderEmpty as ab, resetIcon as ac, clearFix as ad, getClass as ae, capitalize$1 as af, genFocusOutline as ag, isValid as ah, skipFlattenKey as ai, TinyColor as aj, camelize as ak, toPx as al, InfoCircleFilled as am, useConfigContextInject as an, globalConfigForApi as ao, ConfigProvider as ap, getConfirmLocale as aq, $fetch$2 as ar, useNuxtApp as as, useHttp as at, appDiagnostics as au, en_US_default$1 as av, splitAttrs as aw, zh_CN_default$2 as ax, empty_default as ay, NuxtLink as az, useUserStore as b, useHead$1 as c, api$1 as d, useConfigInject_default as e, flattenChildren as f, getPropsSlot as g, _extends as h, classNames as i, _objectSpread2 as j, getTransitionProps as k, genComponentStyleHook as l, merge as m, navigateTo as n, filterEmpty as o, warning$1 as p, CloseOutlined as q, CheckCircleFilled as r, stringType as s, someType as t, useI18n as u, objectType as v, withInstall as w, anyType as x, booleanType as y, functionType as z };
19595
19623
  //# sourceMappingURL=entry.mjs.map